diff --git a/dart-js/out.js b/dart-js/out.js index 8995ffb..60e1807 100644 --- a/dart-js/out.js +++ b/dart-js/out.js @@ -1,4 +1,4 @@ -// Generated by dart2js (NullSafetyMode.sound, csp, intern-composite-values), the Dart to JavaScript compiler version: 3.3.0. +// Generated by dart2js (fast startup emitter, strong), the Dart to JavaScript compiler version: 2.12.3. // The code supports the following hooks: // dartPrint(message): // if this function is defined it is called instead of the Dart [print] @@ -9,22 +9,11 @@ // directly. Instead, a closure that will invoke [main], and its arguments // [args] is passed to [dartMainRunner]. // -// dartDeferredLibraryLoader(uri, successCallback, errorCallback, loadId, loadPriority): +// dartDeferredLibraryLoader(uri, successCallback, errorCallback): // 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). -// dartDeferredLibraryMultiLoader(uris, successCallback, errorCallback, loadId, loadPriority): -// if this function is defined, it will be called when a deferred library -// is loaded. It should load and eval the javascript of every URI in `uris`, -// and call successCallback. If it fails to do so, it should call -// errorCallback with an error. The loadId argument is the deferred import -// that resulted in this uri being loaded. The loadPriority argument is the -// priority the library should be loaded with as specified in the code via -// the load-priority annotation (0: normal, 1: high). +// an error. // // dartCallInstrumentation(id, qualifiedName): // if this function is defined, it will be called at each entry of a @@ -38,24 +27,20 @@ to[key] = from[key]; } } - function mixinPropertiesHard(from, to) { + function mixinProperties(from, to) { var keys = Object.keys(from); for (var i = 0; i < keys.length; i++) { var key = keys[i]; - if (!to.hasOwnProperty(key)) { + if (!to.hasOwnProperty(key)) to[key] = from[key]; - } } } - function mixinPropertiesEasy(from, to) { - 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)) + if (!(object.__proto__ && object.__proto__.p === cls.prototype.p)) return false; try { if (typeof navigator != "undefined" && typeof navigator.userAgent == "string" && navigator.userAgent.indexOf("Chrome/") >= 0) @@ -69,12 +54,29 @@ } return false; }(); + function setFunctionNamesIfNecessary(holders) { + function t() { + } + ; + if (typeof t.name == "string") + return; + for (var i = 0; i < holders.length; i++) { + var holder = holders[i]; + var keys = Object.keys(holder); + for (var j = 0; j < keys.length; j++) { + var key = keys[j]; + var f = holder[key]; + if (typeof f == "function") + f.name = key; + } + } + } 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); + cls.prototype.__proto__ = sup.prototype; return; } var clsPrototype = Object.create(sup.prototype); @@ -83,16 +85,11 @@ } } function inheritMany(sup, classes) { - for (var i = 0; i < classes.length; i++) { + for (var i = 0; i < classes.length; i++) inherit(classes[i], sup); - } } - function mixinEasy(cls, mixin) { - mixinPropertiesEasy(mixin.prototype, cls.prototype); - cls.prototype.constructor = cls; - } - function mixinHard(cls, mixin) { - mixinPropertiesHard(mixin.prototype, cls.prototype); + function mixin(cls, mixin) { + mixinProperties(mixin.prototype, cls.prototype); cls.prototype.constructor = cls; } function lazyOld(holder, name, getterName, initializer) { @@ -100,7 +97,7 @@ holder[name] = uninitializedSentinel; holder[getterName] = function () { holder[getterName] = function () { - A.throwCyclicInit(name); + H.throwCyclicInit(name); }; var result; var sentinelInProgress = initializer; @@ -108,13 +105,11 @@ if (holder[name] === uninitializedSentinel) { result = holder[name] = sentinelInProgress; result = holder[name] = initializer(); - } else { + } else result = holder[name]; - } } finally { - if (result === sentinelInProgress) { + if (result === sentinelInProgress) holder[name] = null; - } holder[getterName] = function () { return this[name]; }; @@ -126,9 +121,8 @@ var uninitializedSentinel = holder; holder[name] = uninitializedSentinel; holder[getterName] = function () { - if (holder[name] === uninitializedSentinel) { + if (holder[name] === uninitializedSentinel) holder[name] = initializer(); - } holder[getterName] = function () { return this[name]; }; @@ -141,16 +135,14 @@ holder[getterName] = function () { if (holder[name] === uninitializedSentinel) { var value = initializer(); - if (holder[name] !== uninitializedSentinel) { - A.throwLateFieldADI(name); - } + if (holder[name] !== uninitializedSentinel) + H.throwLateInitializationError(name); holder[name] = value; } - var finalValue = holder[name]; holder[getterName] = function () { - return finalValue; + return this[name]; }; - return finalValue; + return holder[name]; }; } function makeConstList(list) { @@ -166,48 +158,49 @@ return properties; } function convertAllToFastObject(arrayOfObjects) { - for (var i = 0; i < arrayOfObjects.length; ++i) { + for (var i = 0; i < arrayOfObjects.length; ++i) convertToFastObject(arrayOfObjects[i]); - } } var functionCounter = 0; - function instanceTearOffGetter(isIntercepted, parameters) { - 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 tearOffGetter(funcs, applyTrampolineIndex, reflectionInfo, name, isIntercepted) { + return isIntercepted ? new Function("funcs", "applyTrampolineIndex", "reflectionInfo", "name", "H", "c", "return function tearOff_" + name + functionCounter++ + "(receiver) {" + "if (c === null) c = " + "H.closureFromTearOff" + "(" + "this, funcs, applyTrampolineIndex, reflectionInfo, false, true, name);" + "return new c(this, funcs[0], receiver, name);" + "}")(funcs, applyTrampolineIndex, reflectionInfo, name, H, null) : new Function("funcs", "applyTrampolineIndex", "reflectionInfo", "name", "H", "c", "return function tearOff_" + name + functionCounter++ + "() {" + "if (c === null) c = " + "H.closureFromTearOff" + "(" + "this, funcs, applyTrampolineIndex, reflectionInfo, false, false, name);" + "return new c(this, funcs[0], null, name);" + "}")(funcs, applyTrampolineIndex, reflectionInfo, name, H, null); } - function staticTearOffGetter(parameters) { + function tearOff(funcs, applyTrampolineIndex, reflectionInfo, isStatic, name, isIntercepted) { var cache = null; - return function () { + return isStatic ? function () { if (cache === null) - cache = A.closureFromTearOff(parameters).prototype; + cache = H.closureFromTearOff(this, funcs, applyTrampolineIndex, reflectionInfo, true, false, name).prototype; return cache; - }; + } : tearOffGetter(funcs, applyTrampolineIndex, reflectionInfo, name, isIntercepted); } var typesOffset = 0; - function tearOffParameters(container, isStatic, isIntercepted, requiredParameterCount, optionalParameterDefaultValues, callNames, funsOrNames, funType, applyIndex, needsDirectAccess) { - if (typeof funType == "number") { - funType += typesOffset; + function installTearOff(container, getterName, isStatic, isIntercepted, requiredParameterCount, optionalParameterDefaultValues, callNames, funsOrNames, funType, applyIndex) { + var funs = []; + for (var i = 0; i < funsOrNames.length; i++) { + var fun = funsOrNames[i]; + if (typeof fun == "string") + fun = container[fun]; + fun.$callName = callNames[i]; + funs.push(fun); } - return { co: container, iS: isStatic, iI: isIntercepted, rC: requiredParameterCount, dV: optionalParameterDefaultValues, cs: callNames, fs: funsOrNames, fT: funType, aI: applyIndex || 0, nDA: needsDirectAccess }; + var fun = funs[0]; + fun.$requiredArgCount = requiredParameterCount; + fun.$defaultValues = optionalParameterDefaultValues; + var reflectionInfo = funType; + if (typeof reflectionInfo == "number") + reflectionInfo += typesOffset; + var name = funsOrNames[0]; + fun.$stubName = name; + var getterFunction = tearOff(funs, applyIndex || 0, reflectionInfo, isStatic, name, isIntercepted); + container[getterName] = getterFunction; + if (isStatic) + fun.$tearOff = getterFunction; } - 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 installStaticTearOff(container, getterName, requiredParameterCount, optionalParameterDefaultValues, callNames, funsOrNames, funType, applyIndex) { + return installTearOff(container, getterName, true, false, requiredParameterCount, optionalParameterDefaultValues, callNames, funsOrNames, funType, applyIndex); } - 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 installInstanceTearOff(container, getterName, isIntercepted, requiredParameterCount, optionalParameterDefaultValues, callNames, funsOrNames, funType, applyIndex) { + return installTearOff(container, getterName, false, isIntercepted, requiredParameterCount, optionalParameterDefaultValues, callNames, funsOrNames, funType, applyIndex); } function setOrUpdateInterceptorsByTag(newTags) { var tags = init.interceptorsByTag; @@ -238,7 +231,7 @@ 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); + return installInstanceTearOff(container, getterName, isIntercepted, requiredParameterCount, optionalParameterDefaultValues, callNames, [name], funType, applyIndex); }; }, mkStatic = function (requiredParameterCount, optionalParameterDefaultValues, callNames, applyIndex) { @@ -246,203 +239,26 @@ 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 }; + return { inherit: inherit, inheritMany: inheritMany, mixin: mixin, 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, setFunctionNamesIfNecessary: setFunctionNamesIfNecessary, updateTypes: updateTypes, setOrUpdateInterceptorsByTag: setOrUpdateInterceptorsByTag, setOrUpdateLeafTags: setOrUpdateLeafTags }; }(); function initializeDeferredHunk(hunk) { typesOffset = init.types.length; hunk(hunkHelpers, init, holders, $); } - var 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; - }, - 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 (Array.isArray(receiver)) - return J.JSArray.prototype; - if (typeof receiver != "object") { - if (typeof receiver == "function") - return J.JavaScriptFunction.prototype; - if (typeof receiver == "symbol") - return J.JavaScriptSymbol.prototype; - if (typeof receiver == "bigint") - return J.JavaScriptBigInt.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 (Array.isArray(receiver)) - return J.JSArray.prototype; - if (typeof receiver != "object") { - if (typeof receiver == "function") - return J.JavaScriptFunction.prototype; - if (typeof receiver == "symbol") - return J.JavaScriptSymbol.prototype; - if (typeof receiver == "bigint") - return J.JavaScriptBigInt.prototype; - return receiver; - } - if (receiver instanceof A.Object) - return receiver; - return J.getNativeInterceptor(receiver); - }, - getInterceptor$ax(receiver) { - if (receiver == null) - return receiver; - if (Array.isArray(receiver)) - return J.JSArray.prototype; - if (typeof receiver != "object") { - if (typeof receiver == "function") - return J.JavaScriptFunction.prototype; - if (typeof receiver == "symbol") - return J.JavaScriptSymbol.prototype; - if (typeof receiver == "bigint") - return J.JavaScriptBigInt.prototype; - return receiver; - } - if (receiver instanceof A.Object) - return receiver; - return J.getNativeInterceptor(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$runtimeType$(receiver) { - return J.getInterceptor$(receiver).get$runtimeType(receiver); - }, - 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() { - }, - JavaScriptBigInt: function JavaScriptBigInt() { - }, - JavaScriptSymbol: function JavaScriptSymbol() { - }, - JSArray: function JSArray(t0) { - this.$ti = t0; - }, - JSUnmodifiableArray: function JSUnmodifiableArray(t0) { - this.$ti = t0; - }, - ArrayIterator: function ArrayIterator(t0, t1, t2) { - var _ = this; - _._iterable = t0; - _._length = t1; - _._index = 0; - _._current = null; - _.$ti = t2; - }, - JSNumber: function JSNumber() { - }, - JSInt: function JSInt() { - }, - JSNumNotInt: function JSNumNotInt() { - }, - JSString: function JSString() { + function getGlobalFromName(name) { + for (var i = 0; i < holders.length; i++) { + if (holders[i] == C) + continue; + if (holders[i][name]) + return holders[i][name]; } - }, - A = { + } + var C = {}, + H = { JS_CONST: function JS_CONST() { - }, - 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; - }, - LateError: function LateError(t0) { + }, LateError: function LateError(t0) { this._message = t0; - }, - ListIterator: function ListIterator(t0, t1, t2) { + }, ListIterator: function ListIterator(t0, t1, t2) { var _ = this; _.__internal$_iterable = t0; _.__internal$_length = t1; @@ -450,13 +266,13 @@ _.__internal$_current = null; _.$ti = t2; }, - unminifyOrTag(rawClassName) { - var preserved = init.mangledGlobalNames[rawClassName]; + unminifyOrTag: function (rawClassName) { + var preserved = H.unmangleGlobalNameIfPreservedAnyways(rawClassName); if (preserved != null) return preserved; return rawClassName; }, - isJsIndexable(object, record) { + isJsIndexable: function (object, record) { var result; if (record != null) { result = record.x; @@ -465,8 +281,8 @@ } return type$.JavaScriptIndexingBehavior_dynamic._is(object); }, - S(value) { - var result; + S: function (value) { + var res; if (typeof value == "string") return value; if (typeof value == "number") { @@ -478,62 +294,54 @@ return "false"; else if (value == null) return "null"; - result = J.toString$0$(value); - return result; + res = J.toString$0$(value); + return res; }, - Primitives_objectTypeName(object) { - return A.Primitives__objectTypeNameNewRti(object); + Primitives_objectTypeName: function (object) { + return H.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 !== "") + Primitives__objectTypeNameNewRti: function (object) { + var dispatchName, $constructor, constructorName; + if (object instanceof P.Object) + return H._rtiToString(H.instanceType(object), null); + if (J.getInterceptor$(object) === C.Interceptor_methods || type$.UnknownJavaScriptObject._is(object)) { + dispatchName = C.C_JS_CONST(object); + if (H.Primitives__saneNativeClassName(dispatchName)) return dispatchName; $constructor = object.constructor; if (typeof $constructor == "function") { constructorName = $constructor.name; - if (typeof constructorName == "string" && constructorName !== "Object" && constructorName !== "") + if (typeof constructorName == "string" && H.Primitives__saneNativeClassName(constructorName)) return constructorName; } } - return A._rtiToString(A.instanceType(object), null); + return H._rtiToString(H.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__saneNativeClassName: function ($name) { + var t1 = $name !== "Object" && $name !== ""; + return t1; }, - ioore(receiver, index) { + ioore: function (receiver, index) { if (receiver == null) J.get$length$asx(receiver); - throw A.wrapException(A.diagnoseIndexError(receiver, index)); + throw H.wrapException(H.diagnoseIndexError(receiver, index)); }, - diagnoseIndexError(indexable, index) { + diagnoseIndexError: function (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 (!H._isInt(index)) + return new P.ArgumentError(true, index, _s5_, null); + $length = H._asInt(J.get$length$asx(indexable)); if (index < 0 || index >= $length) - return A.IndexError$withLength(index, $length, indexable, _s5_); - return new A.RangeError(null, null, true, index, _s5_, "Value not in range"); + return P.IndexError$(index, indexable, _s5_, null, $length); + return P.RangeError$value(index, _s5_); }, - wrapException(ex) { - return A.initializeExceptionWrapper(new Error(), ex); - }, - initializeExceptionWrapper(wrapper, ex) { - var t1; + wrapException: function (ex) { + var wrapper, t1; if (ex == null) - ex = new A.TypeError(); + ex = new P.NullThrownError(); + wrapper = new Error(); wrapper.dartException = ex; - t1 = A.toStringWrapper; + t1 = H.toStringWrapper; if ("defineProperty" in Object) { Object.defineProperty(wrapper, "message", { get: t1 }); wrapper.name = ""; @@ -541,32 +349,29 @@ wrapper.toString = t1; return wrapper; }, - toStringWrapper() { + toStringWrapper: function () { return J.toString$0$(this.dartException); }, - throwExpression(ex) { - throw A.wrapException(ex); + throwExpression: function (ex) { + throw H.wrapException(ex); }, - throwExpressionWithWrapper(ex, wrapper) { - throw A.initializeExceptionWrapper(wrapper, ex); + throwConcurrentModificationError: function (collection) { + throw H.wrapException(P.ConcurrentModificationError$(collection)); }, - throwConcurrentModificationError(collection) { - throw A.wrapException(A.ConcurrentModificationError$(collection)); - }, - TypeErrorDecoder_extractPattern(message) { + TypeErrorDecoder_extractPattern: function (message) { var match, $arguments, argumentsExpr, expr, method, receiver; - message = A.quoteStringForRegExp(message.replace(String({}), "$receiver$")); + message = H.quoteStringForRegExp(message.replace(String({}), "$receiver$")); match = message.match(/\\\$[a-zA-Z]+\\\$/g); if (match == null) - match = A._setArrayType([], type$.JSArray_String); + match = H.setRuntimeTypeInfo([], 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); + return new H.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) { + TypeErrorDecoder_provokeCallErrorOn: function (expression) { return function ($expr$) { var $argumentsExpr$ = "$arguments$"; try { @@ -576,7 +381,7 @@ } }(expression); }, - TypeErrorDecoder_provokePropertyErrorOn(expression) { + TypeErrorDecoder_provokePropertyErrorOn: function (expression) { return function ($expr$) { try { $expr$.$method$; @@ -585,42 +390,44 @@ } }(expression); }, - JsNoSuchMethodError$(_message, match) { + NullError$: function (_message, match) { + return new H.NullError(_message, match == null ? null : match.method); + }, + JsNoSuchMethodError$: function (_message, match) { var t1 = match == null, t2 = t1 ? null : match.method; - return new A.JsNoSuchMethodError(_message, t2, t1 ? null : match.receiver); + return new H.JsNoSuchMethodError(_message, t2, t1 ? null : match.receiver); }, - unwrapException(ex) { + unwrapException: function (ex) { if (ex == null) - return new A.NullThrownFromJavaScriptException(ex); + return new H.NullThrownFromJavaScriptException(ex); if (typeof ex !== "object") return ex; if ("dartException" in ex) - return A.saveStackTrace(ex, ex.dartException); - return A._unwrapNonDartException(ex); + return H.saveStackTrace(ex, ex.dartException); + return H._unwrapNonDartException(ex); }, - saveStackTrace(ex, error) { + saveStackTrace: function (ex, error) { if (type$.Error._is(error)) if (error.$thrownJsError == null) error.$thrownJsError = ex; return error; }, - _unwrapNonDartException(ex) { - var message, number, ieErrorCode, nsme, notClosure, nullCall, nullLiteralCall, undefCall, undefLiteralCall, nullProperty, undefProperty, undefLiteralProperty, match; + _unwrapNonDartException: function (ex) { + var message, number, ieErrorCode, nsme, notClosure, nullCall, nullLiteralCall, undefCall, undefLiteralCall, nullProperty, undefProperty, undefLiteralProperty, match, t1, _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) + if ((C.JSInt_methods._shrOtherPositive$1(number, 16) & 8191) === 10) switch (ieErrorCode) { case 438: - return A.saveStackTrace(ex, A.JsNoSuchMethodError$(A.S(message) + " (Error " + ieErrorCode + ")", null)); + return H.saveStackTrace(ex, H.JsNoSuchMethodError$(H.S(message) + " (Error " + ieErrorCode + ")", _null)); case 445: case 5007: - A.S(message); - return A.saveStackTrace(ex, new A.NullError()); + return H.saveStackTrace(ex, H.NullError$(H.S(message) + " (Error " + ieErrorCode + ")", _null)); } } if (ex instanceof TypeError) { @@ -636,22 +443,52 @@ undefLiteralProperty = $.$get$TypeErrorDecoder_undefinedLiteralPropertyPattern(); match = nsme.matchTypeError$1(message); if (match != null) - return A.saveStackTrace(ex, A.JsNoSuchMethodError$(A._asString(message), match)); + return H.saveStackTrace(ex, H.JsNoSuchMethodError$(H._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 if (nullCall.matchTypeError$1(message) != null || nullLiteralCall.matchTypeError$1(message) != null || undefCall.matchTypeError$1(message) != null || undefLiteralCall.matchTypeError$1(message) != null || nullProperty.matchTypeError$1(message) != null || nullLiteralCall.matchTypeError$1(message) != null || undefProperty.matchTypeError$1(message) != null || undefLiteralProperty.matchTypeError$1(message) != null) { - A._asString(message); - return A.saveStackTrace(ex, new A.NullError()); + return H.saveStackTrace(ex, H.JsNoSuchMethodError$(H._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) + return H.saveStackTrace(ex, H.NullError$(H._asString(message), match)); } } - return A.saveStackTrace(ex, new A.UnknownJsTypeError(typeof message == "string" ? message : "")); + return H.saveStackTrace(ex, new H.UnknownJsTypeError(typeof message == "string" ? message : "")); } if (ex instanceof RangeError) { if (typeof message == "string" && message.indexOf("call stack") !== -1) - return new A.StackOverflowError(); + return new P.StackOverflowError(); message = function (ex) { try { return String(ex); @@ -659,28 +496,25 @@ } return null; }(ex); - return A.saveStackTrace(ex, new A.ArgumentError(false, null, null, typeof message == "string" ? message.replace(/^RangeError:\s*/, "") : message)); + return H.saveStackTrace(ex, new P.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 new P.StackOverflowError(); return ex; }, - getTraceFromException(exception) { + getTraceFromException: function (exception) { var trace; if (exception == null) - return new A._StackTrace(exception); + return new H._StackTrace(exception); trace = exception.$cachedTrace; if (trace != null) return trace; - trace = new A._StackTrace(exception); - if (typeof exception === "object") - exception.$cachedTrace = trace; - return trace; + return exception.$cachedTrace = new H._StackTrace(exception); }, - _invokeClosure(closure, numberOfArguments, arg1, arg2, arg3, arg4) { + invokeClosure: function (closure, numberOfArguments, arg1, arg2, arg3, arg4) { type$.Function._as(closure); - switch (A._asInt(numberOfArguments)) { + switch (H._asInt(numberOfArguments)) { case 0: return closure.call$0(); case 1: @@ -692,266 +526,287 @@ case 4: return closure.call$4(arg1, arg2, arg3, arg4); } - throw A.wrapException(new A._Exception("Unsupported number of arguments for wrapped closure")); + throw H.wrapException(new P._Exception("Unsupported number of arguments for wrapped closure")); }, - convertDartClosureToJS(closure, arity) { + convertDartClosureToJS: function (closure, arity) { var $function = closure.$identity; if (!!$function) return $function; - $function = A.convertDartClosureToJSUncached(closure, arity); - closure.$identity = $function; - return $function; - }, - convertDartClosureToJSUncached(closure, arity) { - var entry; - switch (arity) { - case 0: - entry = closure.call$0; - break; - case 1: - entry = closure.call$1; - break; - case 2: - entry = closure.call$2; - break; - case 3: - entry = closure.call$3; - break; - case 4: - entry = closure.call$4; - break; - default: - entry = null; - } - if (entry != null) - return entry.bind(closure); - return function (closure, arity, invoke) { + $function = function (closure, arity, invoke) { return function (a1, a2, a3, a4) { return invoke(closure, arity, a1, a2, a3, a4); }; - }(closure, arity, A._invokeClosure); + }(closure, arity, H.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); + Closure_fromTearOff: function (receiver, functions, applyTrampolineIndex, reflectionInfo, isStatic, isIntercepted, propertyName) { + var $constructor, t1, trampoline, applyTrampoline, i, stub, stubCallName, + $function = functions[0], + callName = $function.$callName, + $prototype = isStatic ? Object.create(new H.StaticClosure().constructor.prototype) : Object.create(new H.BoundClosure(null, null, null, "").constructor.prototype); $prototype.$initialize = $prototype.constructor; - $constructor = isStatic ? function static_tear_off() { - this.$initialize(); - } : function tear_off(a, b) { - this.$initialize(a, b); - }; + if (isStatic) + $constructor = function static_tear_off() { + this.$initialize(); + }; + else { + t1 = $.Closure_functionCounter; + if (typeof t1 !== "number") + return t1.$add(); + $.Closure_functionCounter = t1 + 1; + t1 = new Function("a,b,c,d" + t1, "this.$initialize(a,b,c,d" + t1 + ")"); + $constructor = t1; + } $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; + if (!isStatic) { + trampoline = H.Closure_forwardCallTo(receiver, $function, isIntercepted); + trampoline.$reflectionInfo = reflectionInfo; + } else { + $prototype.$static_name = propertyName; trampoline = $function; } - $prototype.$signature = A.Closure__computeSignatureFunctionNewRti(t1, isStatic, isIntercepted); + type$.Object._as(reflectionInfo); + $prototype.$signature = H.Closure__computeSignatureFunctionNewRti(reflectionInfo, 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]; + for (applyTrampoline = trampoline, i = 1; i < functions.length; ++i) { + stub = functions[i]; + stubCallName = stub.$callName; if (stubCallName != null) { - if (t2) - stub = A.Closure_forwardCallTo(stubName, stub, isIntercepted, needsDirectAccess); + stub = isStatic ? stub : H.Closure_forwardCallTo(receiver, stub, isIntercepted); $prototype[stubCallName] = stub; } - if (i === applyTrampolineIndex) + if (i === applyTrampolineIndex) { + stub.$reflectionInfo = reflectionInfo; applyTrampoline = stub; + } } $prototype["call*"] = applyTrampoline; - $prototype.$requiredArgCount = parameters.rC; - $prototype.$defaultValues = parameters.dV; + $prototype.$requiredArgCount = $function.$requiredArgCount; + $prototype.$defaultValues = $function.$defaultValues; return $constructor; }, - Closure__computeSignatureFunctionNewRti(functionType, isStatic, isIntercepted) { + Closure__computeSignatureFunctionNewRti: function (functionType, isStatic, isIntercepted) { + var typeEvalMethod; if (typeof functionType == "number") - return functionType; + return function (getType, t) { + return function () { + return getType(t); + }; + }(H.getTypeFromTypesTable, functionType); if (typeof functionType == "string") { if (isStatic) - throw A.wrapException("Cannot compute signature for static tearoff."); + throw H.wrapException("Cannot compute signature for static tearoff."); + typeEvalMethod = isIntercepted ? H.BoundClosure_evalRecipeIntercepted : H.BoundClosure_evalRecipe; return function (recipe, evalOnReceiver) { return function () { return evalOnReceiver(this, recipe); }; - }(functionType, A.BoundClosure_evalRecipe); + }(functionType, typeEvalMethod); } - throw A.wrapException("Error in functionType of tearoff"); + throw H.wrapException("Error in functionType of tearoff"); }, - Closure_cspForwardCall(arity, needsDirectAccess, stubName, $function) { - var getReceiver = A.BoundClosure_receiverOf; - switch (needsDirectAccess ? -1 : arity) { + Closure_cspForwardCall: function (arity, isSuperCall, stubName, $function) { + var getSelf = H.BoundClosure_selfOf; + switch (isSuperCall ? -1 : arity) { case 0: - return function (entry, receiverOf) { + return function (n, S) { return function () { - return receiverOf(this)[entry](); + return S(this)[n](); }; - }(stubName, getReceiver); + }(stubName, getSelf); case 1: - return function (entry, receiverOf) { + return function (n, S) { return function (a) { - return receiverOf(this)[entry](a); + return S(this)[n](a); }; - }(stubName, getReceiver); + }(stubName, getSelf); case 2: - return function (entry, receiverOf) { + return function (n, S) { return function (a, b) { - return receiverOf(this)[entry](a, b); + return S(this)[n](a, b); }; - }(stubName, getReceiver); + }(stubName, getSelf); case 3: - return function (entry, receiverOf) { + return function (n, S) { return function (a, b, c) { - return receiverOf(this)[entry](a, b, c); + return S(this)[n](a, b, c); }; - }(stubName, getReceiver); + }(stubName, getSelf); case 4: - return function (entry, receiverOf) { + return function (n, S) { return function (a, b, c, d) { - return receiverOf(this)[entry](a, b, c, d); + return S(this)[n](a, b, c, d); }; - }(stubName, getReceiver); + }(stubName, getSelf); case 5: - return function (entry, receiverOf) { + return function (n, S) { return function (a, b, c, d, e) { - return receiverOf(this)[entry](a, b, c, d, e); + return S(this)[n](a, b, c, d, e); }; - }(stubName, getReceiver); + }(stubName, getSelf); default: - return function (f, receiverOf) { + return function (f, s) { return function () { - return f.apply(receiverOf(this), arguments); + return f.apply(s(this), arguments); }; - }($function, getReceiver); + }($function, getSelf); } }, - Closure_forwardCallTo(stubName, $function, isIntercepted, needsDirectAccess) { + Closure_forwardCallTo: function (receiver, $function, isIntercepted) { + var stubName, arity, lookedUpFunction, t1, t2, selfName, $arguments; if (isIntercepted) - return A.Closure_forwardInterceptedCallTo(stubName, $function, needsDirectAccess); - return A.Closure_cspForwardCall($function.length, needsDirectAccess, stubName, $function); + return H.Closure_forwardInterceptedCallTo(receiver, $function); + stubName = $function.$stubName; + arity = $function.length; + lookedUpFunction = receiver[stubName]; + t1 = $function == null ? lookedUpFunction == null : $function === lookedUpFunction; + t2 = !t1 || arity >= 27; + if (t2) + return H.Closure_cspForwardCall(arity, !t1, stubName, $function); + if (arity === 0) { + t1 = $.Closure_functionCounter; + if (typeof t1 !== "number") + return t1.$add(); + $.Closure_functionCounter = t1 + 1; + selfName = "self" + t1; + return new Function("return function(){var " + selfName + " = this." + H.BoundClosure_selfFieldName() + ";return " + selfName + "." + H.S(stubName) + "();}")(); + } + $arguments = "abcdefghijklmnopqrstuvwxyz".split("").splice(0, arity).join(","); + t1 = $.Closure_functionCounter; + if (typeof t1 !== "number") + return t1.$add(); + $.Closure_functionCounter = t1 + 1; + $arguments += t1; + return new Function("return function(" + $arguments + "){return this." + H.BoundClosure_selfFieldName() + "." + H.S(stubName) + "(" + $arguments + ");}")(); }, - Closure_cspForwardInterceptedCall(arity, needsDirectAccess, stubName, $function) { - var getReceiver = A.BoundClosure_receiverOf, - getInterceptor = A.BoundClosure_interceptorOf; - switch (needsDirectAccess ? -1 : arity) { + Closure_cspForwardInterceptedCall: function (arity, isSuperCall, $name, $function) { + var getSelf = H.BoundClosure_selfOf, + getReceiver = H.BoundClosure_receiverOf; + switch (isSuperCall ? -1 : arity) { case 0: - throw A.wrapException(new A.RuntimeError("Intercepted function with no arguments.")); + throw H.wrapException(new H.RuntimeError("Intercepted function with no arguments.")); case 1: - return function (entry, interceptorOf, receiverOf) { + return function (n, s, r) { return function () { - return interceptorOf(this)[entry](receiverOf(this)); + return s(this)[n](r(this)); }; - }(stubName, getInterceptor, getReceiver); + }($name, getSelf, getReceiver); case 2: - return function (entry, interceptorOf, receiverOf) { + return function (n, s, r) { return function (a) { - return interceptorOf(this)[entry](receiverOf(this), a); + return s(this)[n](r(this), a); }; - }(stubName, getInterceptor, getReceiver); + }($name, getSelf, getReceiver); case 3: - return function (entry, interceptorOf, receiverOf) { + return function (n, s, r) { return function (a, b) { - return interceptorOf(this)[entry](receiverOf(this), a, b); + return s(this)[n](r(this), a, b); }; - }(stubName, getInterceptor, getReceiver); + }($name, getSelf, getReceiver); case 4: - return function (entry, interceptorOf, receiverOf) { + return function (n, s, r) { return function (a, b, c) { - return interceptorOf(this)[entry](receiverOf(this), a, b, c); + return s(this)[n](r(this), a, b, c); }; - }(stubName, getInterceptor, getReceiver); + }($name, getSelf, getReceiver); case 5: - return function (entry, interceptorOf, receiverOf) { + return function (n, s, r) { return function (a, b, c, d) { - return interceptorOf(this)[entry](receiverOf(this), a, b, c, d); + return s(this)[n](r(this), a, b, c, d); }; - }(stubName, getInterceptor, getReceiver); + }($name, getSelf, getReceiver); case 6: - return function (entry, interceptorOf, receiverOf) { + return function (n, s, r) { return function (a, b, c, d, e) { - return interceptorOf(this)[entry](receiverOf(this), a, b, c, d, e); + return s(this)[n](r(this), a, b, c, d, e); }; - }(stubName, getInterceptor, getReceiver); + }($name, getSelf, getReceiver); default: - return function (f, interceptorOf, receiverOf) { + return function (f, s, r, a) { return function () { - var a = [receiverOf(this)]; + a = [r(this)]; Array.prototype.push.apply(a, arguments); - return f.apply(interceptorOf(this), a); + return f.apply(s(this), a); }; - }($function, getInterceptor, getReceiver); + }($function, getSelf, 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"); + Closure_forwardInterceptedCallTo: function (receiver, $function) { + var stubName, arity, lookedUpFunction, t1, t2, $arguments, + selfField = H.BoundClosure_selfFieldName(), + receiverField = $.BoundClosure_receiverFieldNameCache; + if (receiverField == null) + receiverField = $.BoundClosure_receiverFieldNameCache = H.BoundClosure_computeFieldNamed("receiver"); + stubName = $function.$stubName; arity = $function.length; - t1 = A.Closure_cspForwardInterceptedCall(arity, needsDirectAccess, stubName, $function); - return t1; + lookedUpFunction = receiver[stubName]; + t1 = $function == null ? lookedUpFunction == null : $function === lookedUpFunction; + t2 = !t1 || arity >= 28; + if (t2) + return H.Closure_cspForwardInterceptedCall(arity, !t1, stubName, $function); + if (arity === 1) { + t1 = "return function(){return this." + selfField + "." + H.S(stubName) + "(this." + receiverField + ");"; + t2 = $.Closure_functionCounter; + if (typeof t2 !== "number") + return t2.$add(); + $.Closure_functionCounter = t2 + 1; + return new Function(t1 + t2 + "}")(); + } + $arguments = "abcdefghijklmnopqrstuvwxyz".split("").splice(0, arity - 1).join(","); + t1 = "return function(" + $arguments + "){return this." + selfField + "." + H.S(stubName) + "(this." + receiverField + ", " + $arguments + ");"; + t2 = $.Closure_functionCounter; + if (typeof t2 !== "number") + return t2.$add(); + $.Closure_functionCounter = t2 + 1; + return new Function(t1 + t2 + "}")(); }, - closureFromTearOff(parameters) { - return A.Closure_fromTearOff(parameters); + closureFromTearOff: function (receiver, functions, applyTrampolineIndex, reflectionInfo, isStatic, isIntercepted, $name) { + return H.Closure_fromTearOff(receiver, functions, applyTrampolineIndex, reflectionInfo, !!isStatic, !!isIntercepted, $name); }, - BoundClosure_evalRecipe(closure, recipe) { - return A._Universe_evalInEnvironment(init.typeUniverse, A.instanceType(closure._receiver), recipe); + BoundClosure_evalRecipe: function (closure, recipe) { + return H._Universe_evalInEnvironment(init.typeUniverse, H.instanceType(closure._self), recipe); }, - BoundClosure_receiverOf(closure) { + BoundClosure_evalRecipeIntercepted: function (closure, recipe) { + return H._Universe_evalInEnvironment(init.typeUniverse, H.instanceType(closure._receiver), recipe); + }, + BoundClosure_selfOf: function (closure) { + return closure._self; + }, + BoundClosure_receiverOf: function (closure) { return closure._receiver; }, - BoundClosure_interceptorOf(closure) { - return closure._interceptor; + BoundClosure_selfFieldName: function () { + var t1 = $.BoundClosure_selfFieldNameCache; + return t1 == null ? $.BoundClosure_selfFieldNameCache = H.BoundClosure_computeFieldNamed("self") : t1; }, - BoundClosure__computeFieldNamed(fieldName) { - var names, i, $name, - template = new A.BoundClosure("receiver", "interceptor"), - t1 = Object.getOwnPropertyNames(template); - t1.fixed$length = Array; - names = t1; + BoundClosure_computeFieldNamed: function (fieldName) { + var t1, i, $name, + template = new H.BoundClosure("self", "target", "receiver", "name"), + 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)); + throw H.wrapException(P.ArgumentError$("Field name " + fieldName + " not found.")); }, - throwCyclicInit(staticName) { - throw A.wrapException(new A._CyclicInitializationError(staticName)); + throwCyclicInit: function (staticName) { + throw H.wrapException(new P.CyclicInitializationError(staticName)); }, - getIsolateAffinityTag($name) { + getIsolateAffinityTag: function ($name) { return init.getIsolateTag($name); }, - defineProperty(obj, property, value) { + throwLateInitializationError: function ($name) { + return H.throwExpression(new H.LateError($name)); + }, + defineProperty: function (obj, property, value) { Object.defineProperty(obj, property, { value: value, enumerable: false, writable: true, configurable: true }); }, - lookupAndCacheInterceptor(obj) { + lookupAndCacheInterceptor: function (obj) { var interceptor, interceptorClass, altTag, mark, t1, - tag = A._asString($.getTagFunction.call$1(obj)), + tag = H._asString($.getTagFunction.call$1(obj)), record = $.dispatchRecordsForInstanceTags[tag]; if (record != null) { Object.defineProperty(obj, init.dispatchPropertyName, { value: record, enumerable: false, writable: true, configurable: true }); @@ -962,7 +817,7 @@ return interceptor; interceptorClass = init.interceptorsByTag[tag]; if (interceptorClass == null) { - altTag = A._asStringQ($.alternateTagFunction.call$2(obj, tag)); + altTag = H._asStringQ($.alternateTagFunction.call$2(obj, tag)); if (altTag != null) { record = $.dispatchRecordsForInstanceTags[altTag]; if (record != null) { @@ -981,7 +836,7 @@ interceptor = interceptorClass.prototype; mark = tag[0]; if (mark === "!") { - record = A.makeLeafDispatchRecord(interceptor); + record = H.makeLeafDispatchRecord(interceptor); $.dispatchRecordsForInstanceTags[tag] = record; Object.defineProperty(obj, init.dispatchPropertyName, { value: record, enumerable: false, writable: true, configurable: true }); return record.i; @@ -991,47 +846,47 @@ return interceptor; } if (mark === "-") { - t1 = A.makeLeafDispatchRecord(interceptor); + t1 = H.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); + return H.patchInteriorProto(obj, interceptor); if (mark === "*") - throw A.wrapException(A.UnimplementedError$(tag)); + throw H.wrapException(P.UnimplementedError$(tag)); if (init.leafTags[tag] === true) { - t1 = A.makeLeafDispatchRecord(interceptor); + t1 = H.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); + return H.patchInteriorProto(obj, interceptor); }, - patchInteriorProto(obj, interceptor) { + patchInteriorProto: function (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) { + makeLeafDispatchRecord: function (interceptor) { return J.makeDispatchRecord(interceptor, false, null, !!interceptor.$isJavaScriptIndexingBehavior); }, - makeDefaultDispatchRecord(tag, interceptorClass, proto) { + makeDefaultDispatchRecord: function (tag, interceptorClass, proto) { var interceptor = interceptorClass.prototype; if (init.leafTags[tag] === true) - return A.makeLeafDispatchRecord(interceptor); + return H.makeLeafDispatchRecord(interceptor); else return J.makeDispatchRecord(interceptor, proto, null, null); }, - initNativeDispatch() { + initNativeDispatch: function () { if (true === $.initNativeDispatchFlag) return; $.initNativeDispatchFlag = true; - A.initNativeDispatchContinue(); + H.initNativeDispatchContinue(); }, - initNativeDispatchContinue() { + initNativeDispatchContinue: function () { var map, tags, fun, i, tag, proto, record, interceptorClass; $.dispatchRecordsForInstanceTags = Object.create(null); $.interceptorsForUncacheableTags = Object.create(null); - A.initHooks(); + H.initHooks(); map = init.interceptorsByTag; tags = Object.getOwnPropertyNames(map); if (typeof window != "undefined") { @@ -1042,7 +897,7 @@ tag = tags[i]; proto = $.prototypeForTagFunction.call$1(tag); if (proto != null) { - record = A.makeDefaultDispatchRecord(tag, map[tag], proto); + record = H.makeDefaultDispatchRecord(tag, map[tag], proto); if (record != null) { Object.defineProperty(proto, init.dispatchPropertyName, { value: record, enumerable: false, writable: true, configurable: true }); fun.prototype = proto; @@ -1062,15 +917,15 @@ } } }, - initHooks() { + initHooks: function () { 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))))))); + hooks = C.C_JS_CONST0(); + hooks = H.applyHooksTransformer(C.C_JS_CONST1, H.applyHooksTransformer(C.C_JS_CONST2, H.applyHooksTransformer(C.C_JS_CONST3, H.applyHooksTransformer(C.C_JS_CONST3, H.applyHooksTransformer(C.C_JS_CONST4, H.applyHooksTransformer(C.C_JS_CONST5, H.applyHooksTransformer(C.C_JS_CONST6(C.C_JS_CONST), hooks))))))); if (typeof dartNativeDispatchHooksTransformer != "undefined") { transformers = dartNativeDispatchHooksTransformer; if (typeof transformers == "function") transformers = [transformers]; - if (Array.isArray(transformers)) + if (transformers.constructor == Array) for (i = 0; i < transformers.length; ++i) { transformer = transformers[i]; if (typeof transformer == "function") @@ -1080,25 +935,14 @@ 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); + $.getTagFunction = new H.initHooks_closure(getTag); + $.alternateTagFunction = new H.initHooks_closure0(getUnknownTag); + $.prototypeForTagFunction = new H.initHooks_closure1(prototypeForTag); }, - applyHooksTransformer(transformer, hooks) { + applyHooksTransformer: function (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) { + quoteStringForRegExp: function (string) { if (/[[\]{}()*+?.\\^$|]/.test(string)) return string.replace(/[[\]{}()*+?.\\^$|]/g, "\\$&"); return string; @@ -1112,7 +956,9 @@ _._method = t4; _._receiver = t5; }, - NullError: function NullError() { + NullError: function NullError(t0, t1) { + this.__js_helper$_message = t0; + this._method = t1; }, JsNoSuchMethodError: function JsNoSuchMethodError(t0, t1, t2) { this.__js_helper$_message = t0; @@ -1131,20 +977,16 @@ }, 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; + BoundClosure: function BoundClosure(t0, t1, t2, t3) { + var _ = this; + _._self = t0; + _._target = t1; + _._receiver = t2; + _._name = t3; }, RuntimeError: function RuntimeError(t0) { this.message = t0; @@ -1158,28 +1000,28 @@ initHooks_closure1: function initHooks_closure1(t0) { this.prototypeForTag = t0; }, - Rti__getQuestionFromStar(universe, rti) { + Rti__getQuestionFromStar: function (universe, rti) { var question = rti._precomputed1; - return question == null ? rti._precomputed1 = A._Universe__lookupQuestionRti(universe, rti._primary, true) : question; + return question == null ? rti._precomputed1 = H._Universe__lookupQuestionRti(universe, rti._primary, true) : question; }, - Rti__getFutureFromFutureOr(universe, rti) { + Rti__getFutureFromFutureOr: function (universe, rti) { var future = rti._precomputed1; - return future == null ? rti._precomputed1 = A._Universe__lookupInterfaceRti(universe, "Future", [rti._primary]) : future; + return future == null ? rti._precomputed1 = H._Universe__lookupInterfaceRti(universe, "Future", [rti._primary]) : future; }, - Rti__isUnionOfFunctionType(rti) { + Rti__isUnionOfFunctionType: function (rti) { var kind = rti._kind; if (kind === 6 || kind === 7 || kind === 8) - return A.Rti__isUnionOfFunctionType(rti._primary); - return kind === 12 || kind === 13; + return H.Rti__isUnionOfFunctionType(rti._primary); + return kind === 11 || kind === 12; }, - Rti__getCanonicalRecipe(rti) { + Rti__getCanonicalRecipe: function (rti) { return rti._canonicalRecipe; }, - findType(recipe) { - return A._Universe_eval(init.typeUniverse, recipe, false); + findType: function (recipe) { + return H._Universe_eval(init.typeUniverse, recipe, false); }, - _substitute(universe, rti, typeArguments, depth) { - var baseType, substitutedBaseType, interfaceTypeArguments, substitutedInterfaceTypeArguments, base, substitutedBase, $arguments, substitutedArguments, t1, fields, substitutedFields, returnType, substitutedReturnType, functionParameters, substitutedFunctionParameters, bounds, substitutedBounds, index, argument, + _substitute: function (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: @@ -1190,61 +1032,54 @@ return rti; case 6: baseType = rti._primary; - substitutedBaseType = A._substitute(universe, baseType, typeArguments, depth); + substitutedBaseType = H._substitute(universe, baseType, typeArguments, depth); if (substitutedBaseType === baseType) return rti; - return A._Universe__lookupStarRti(universe, substitutedBaseType, true); + return H._Universe__lookupStarRti(universe, substitutedBaseType, true); case 7: baseType = rti._primary; - substitutedBaseType = A._substitute(universe, baseType, typeArguments, depth); + substitutedBaseType = H._substitute(universe, baseType, typeArguments, depth); if (substitutedBaseType === baseType) return rti; - return A._Universe__lookupQuestionRti(universe, substitutedBaseType, true); + return H._Universe__lookupQuestionRti(universe, substitutedBaseType, true); case 8: baseType = rti._primary; - substitutedBaseType = A._substitute(universe, baseType, typeArguments, depth); + substitutedBaseType = H._substitute(universe, baseType, typeArguments, depth); if (substitutedBaseType === baseType) return rti; - return A._Universe__lookupFutureOrRti(universe, substitutedBaseType, true); + return H._Universe__lookupFutureOrRti(universe, substitutedBaseType, true); case 9: interfaceTypeArguments = rti._rest; - substitutedInterfaceTypeArguments = A._substituteArray(universe, interfaceTypeArguments, typeArguments, depth); + substitutedInterfaceTypeArguments = H._substituteArray(universe, interfaceTypeArguments, typeArguments, depth); if (substitutedInterfaceTypeArguments === interfaceTypeArguments) return rti; - return A._Universe__lookupInterfaceRti(universe, rti._primary, substitutedInterfaceTypeArguments); + return H._Universe__lookupInterfaceRti(universe, rti._primary, substitutedInterfaceTypeArguments); case 10: base = rti._primary; - substitutedBase = A._substitute(universe, base, typeArguments, depth); + substitutedBase = H._substitute(universe, base, typeArguments, depth); $arguments = rti._rest; - substitutedArguments = A._substituteArray(universe, $arguments, typeArguments, depth); + substitutedArguments = H._substituteArray(universe, $arguments, typeArguments, depth); if (substitutedBase === base && substitutedArguments === $arguments) return rti; - return A._Universe__lookupBindingRti(universe, substitutedBase, substitutedArguments); + return H._Universe__lookupBindingRti(universe, substitutedBase, substitutedArguments); case 11: - t1 = rti._primary; - fields = rti._rest; - substitutedFields = A._substituteArray(universe, fields, typeArguments, depth); - if (substitutedFields === fields) - return rti; - return A._Universe__lookupRecordRti(universe, t1, substitutedFields); - case 12: returnType = rti._primary; - substitutedReturnType = A._substitute(universe, returnType, typeArguments, depth); + substitutedReturnType = H._substitute(universe, returnType, typeArguments, depth); functionParameters = rti._rest; - substitutedFunctionParameters = A._substituteFunctionParameters(universe, functionParameters, typeArguments, depth); + substitutedFunctionParameters = H._substituteFunctionParameters(universe, functionParameters, typeArguments, depth); if (substitutedReturnType === returnType && substitutedFunctionParameters === functionParameters) return rti; - return A._Universe__lookupFunctionRti(universe, substitutedReturnType, substitutedFunctionParameters); - case 13: + return H._Universe__lookupFunctionRti(universe, substitutedReturnType, substitutedFunctionParameters); + case 12: bounds = rti._rest; depth += bounds.length; - substitutedBounds = A._substituteArray(universe, bounds, typeArguments, depth); + substitutedBounds = H._substituteArray(universe, bounds, typeArguments, depth); base = rti._primary; - substitutedBase = A._substitute(universe, base, typeArguments, depth); + substitutedBase = H._substitute(universe, base, typeArguments, depth); if (substitutedBounds === bounds && substitutedBase === base) return rti; - return A._Universe__lookupGenericFunctionRti(universe, substitutedBase, substitutedBounds, true); - case 14: + return H._Universe__lookupGenericFunctionRti(universe, substitutedBase, substitutedBounds, true); + case 13: index = rti._primary; if (index < depth) return rti; @@ -1253,84 +1088,89 @@ return rti; return argument; default: - throw A.wrapException(A.AssertionError$("Attempted to substitute unexpected RTI kind " + kind)); + throw H.wrapException(P.AssertionError$("Attempted to substitute unexpected RTI kind " + kind)); } }, - _substituteArray(universe, rtiArray, typeArguments, depth) { + _substituteArray: function (universe, rtiArray, typeArguments, depth) { var changed, i, rti, substitutedRti, $length = rtiArray.length, - result = A._Utils_newArrayOrEmpty($length); + result = []; for (changed = false, i = 0; i < $length; ++i) { rti = rtiArray[i]; - substitutedRti = A._substitute(universe, rti, typeArguments, depth); + substitutedRti = H._substitute(universe, rti, typeArguments, depth); if (substitutedRti !== rti) changed = true; - result[i] = substitutedRti; + result.push(substitutedRti); } return changed ? result : rtiArray; }, - _substituteNamed(universe, namedArray, typeArguments, depth) { + _substituteNamed: function (universe, namedArray, typeArguments, depth) { var changed, i, t1, t2, rti, substitutedRti, $length = namedArray.length, - result = A._Utils_newArrayOrEmpty($length); + result = []; 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); + substitutedRti = H._substitute(universe, rti, typeArguments, depth); if (substitutedRti !== rti) changed = true; - result.splice(i, 3, t1, t2, substitutedRti); + result.push(t1); + result.push(t2); + result.push(substitutedRti); } return changed ? result : namedArray; }, - _substituteFunctionParameters(universe, functionParameters, typeArguments, depth) { + _substituteFunctionParameters: function (universe, functionParameters, typeArguments, depth) { var result, requiredPositional = functionParameters._requiredPositional, - substitutedRequiredPositional = A._substituteArray(universe, requiredPositional, typeArguments, depth), + substitutedRequiredPositional = H._substituteArray(universe, requiredPositional, typeArguments, depth), optionalPositional = functionParameters._optionalPositional, - substitutedOptionalPositional = A._substituteArray(universe, optionalPositional, typeArguments, depth), + substitutedOptionalPositional = H._substituteArray(universe, optionalPositional, typeArguments, depth), named = functionParameters._named, - substitutedNamed = A._substituteNamed(universe, named, typeArguments, depth); + substitutedNamed = H._substituteNamed(universe, named, typeArguments, depth); if (substitutedRequiredPositional === requiredPositional && substitutedOptionalPositional === optionalPositional && substitutedNamed === named) return functionParameters; - result = new A._FunctionParameters(); + result = new H._FunctionParameters(); result._requiredPositional = substitutedRequiredPositional; result._optionalPositional = substitutedOptionalPositional; result._named = substitutedNamed; return result; }, - _setArrayType(target, rti) { + setRuntimeTypeInfo: function (target, rti) { target[init.arrayRti] = rti; return target; }, - closureFunctionType(closure) { + closureFunctionType: function (closure) { var signature = closure.$signature; if (signature != null) { if (typeof signature == "number") - return A.getTypeFromTypesTable(signature); + return H.getTypeFromTypesTable(signature); return closure.$signature(); } return null; }, - instanceOrFunctionType(object, testRti) { + instanceOrFunctionType: function (object, testRti) { var rti; - if (A.Rti__isUnionOfFunctionType(testRti)) - if (object instanceof A.Closure) { - rti = A.closureFunctionType(object); + if (H.Rti__isUnionOfFunctionType(testRti)) + if (object instanceof H.Closure) { + rti = H.closureFunctionType(object); if (rti != null) return rti; } - return A.instanceType(object); + return H.instanceType(object); }, - instanceType(object) { - if (object instanceof A.Object) - return A._instanceType(object); + instanceType: function (object) { + var rti; + if (object instanceof P.Object) { + rti = object.$ti; + return rti != null ? rti : H._instanceTypeFromConstructor(object); + } if (Array.isArray(object)) - return A._arrayInstanceType(object); - return A._instanceTypeFromConstructor(J.getInterceptor$(object)); + return H._arrayInstanceType(object); + return H._instanceTypeFromConstructor(J.getInterceptor$(object)); }, - _arrayInstanceType(object) { + _arrayInstanceType: function (object) { var rti = object[init.arrayRti], defaultRti = type$.JSArray_dynamic; if (rti == null) @@ -1339,66 +1179,40 @@ return defaultRti; return rti; }, - _instanceType(object) { + _instanceType: function (object) { var rti = object.$ti; - return rti != null ? rti : A._instanceTypeFromConstructor(object); + return rti != null ? rti : H._instanceTypeFromConstructor(object); }, - _instanceTypeFromConstructor(instance) { + _instanceTypeFromConstructor: function (instance) { var $constructor = instance.constructor, probe = $constructor.$ccache; if (probe != null) return probe; - return A._instanceTypeFromConstructorMiss(instance, $constructor); + return H._instanceTypeFromConstructorMiss(instance, $constructor); }, - _instanceTypeFromConstructorMiss(instance, $constructor) { - var effectiveConstructor = instance instanceof A.Closure ? Object.getPrototypeOf(Object.getPrototypeOf(instance)).constructor : $constructor, - rti = A._Universe_findErasedType(init.typeUniverse, effectiveConstructor.name); + _instanceTypeFromConstructorMiss: function (instance, $constructor) { + var effectiveConstructor = instance instanceof H.Closure ? instance.__proto__.__proto__.constructor : $constructor, + rti = H._Universe_findErasedType(init.typeUniverse, effectiveConstructor.name); $constructor.$ccache = rti; return rti; }, - getTypeFromTypesTable(index) { - var rti, - table = init.types, - type = table[index]; + getTypeFromTypesTable: function (index) { + var table, type, rti; + H._asInt(index); + table = init.types; + type = table[index]; if (typeof type == "string") { - rti = A._Universe_eval(init.typeUniverse, type, false); + rti = H._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; - }, - _installSpecializedIsTest(object) { - var t1, unstarred, unstarredKind, isFn, $name, predicate, testRti = this; + _installSpecializedIsTest: function (object) { + var t1, unstarred, isFn, testRti = this; if (testRti === type$.Object) - return A._finishIsFn(testRti, object, A._isObject); - if (!A.isSoundTopType(testRti)) + return H._finishIsFn(testRti, object, H._isObject); + if (!H.isStrongTopType(testRti)) if (!(testRti === type$.legacy_Object)) t1 = false; else @@ -1406,48 +1220,37 @@ else t1 = true; if (t1) - return A._finishIsFn(testRti, object, A._isTop); + return H._finishIsFn(testRti, object, H._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; - unstarredKind = unstarred._kind; - if (unstarredKind === 8) - return A._finishIsFn(testRti, object, A._isFutureOr); if (unstarred === type$.int) - isFn = A._isInt; + isFn = H._isInt; else if (unstarred === type$.double || unstarred === type$.num) - isFn = A._isNum; + isFn = H._isNum; else if (unstarred === type$.String) - isFn = A._isString; + isFn = H._isString; else - isFn = unstarred === type$.bool ? A._isBool : null; + isFn = unstarred === type$.bool ? H._isBool : null; if (isFn != null) - return A._finishIsFn(testRti, object, isFn); - if (unstarredKind === 9) { - $name = unstarred._primary; - if (unstarred._rest.every(A.isDefinitelyTopType)) { - testRti._specializedTestResource = "$is" + $name; - if ($name === "List") - return A._finishIsFn(testRti, object, A._isListTestViaProperty); - return A._finishIsFn(testRti, object, A._isTestViaProperty); + return H._finishIsFn(testRti, object, isFn); + if (unstarred._kind === 9) { + t1 = unstarred._primary; + if (unstarred._rest.every(H.isTopType)) { + testRti._specializedTestResource = "$is" + t1; + return H._finishIsFn(testRti, object, H._isTestViaProperty); } - } else if (unstarredKind === 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); + } else if (t1 === 7) + return H._finishIsFn(testRti, object, H._generalNullableIsTestImplementation); + return H._finishIsFn(testRti, object, H._generalIsTestImplementation); }, - _finishIsFn(testRti, object, isFn) { + _finishIsFn: function (testRti, object, isFn) { testRti._is = isFn; return testRti._is(object); }, - _installSpecializedAsCheck(object) { + _installSpecializedAsCheck: function (object) { var t1, testRti = this, - asFn = A._generalAsCheckImplementation; - if (!A.isSoundTopType(testRti)) + asFn = H._generalAsCheckImplementation; + if (!H.isStrongTopType(testRti)) if (!(testRti === type$.legacy_Object)) t1 = false; else @@ -1455,28 +1258,25 @@ else t1 = true; if (t1) - asFn = A._asTop; + asFn = H._asTop; else if (testRti === type$.Object) - asFn = A._asObject; + asFn = H._asObject; else { - t1 = A.isNullable(testRti); + t1 = H.isNullable(testRti); if (t1) - asFn = A._generalNullableAsCheckImplementation; + asFn = H._generalNullableAsCheckImplementation; } testRti._as = asFn; return testRti._as(object); }, - _nullIs(testRti) { + _nullIs: function (testRti) { var t1, kind = testRti._kind; - if (!A.isSoundTopType(testRti)) + if (!H.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; + t1 = kind === 8 && H._nullIs(testRti._primary) || testRti === type$.Null || testRti === type$.JSNull; else t1 = true; else @@ -1487,252 +1287,216 @@ t1 = true; return t1; }, - _generalIsTestImplementation(object) { + _generalIsTestImplementation: function (object) { var testRti = this; if (object == null) - return A._nullIs(testRti); - return A.isSubtype(init.typeUniverse, A.instanceOrFunctionType(object, testRti), testRti); + return H._nullIs(testRti); + return H._isSubtype(init.typeUniverse, H.instanceOrFunctionType(object, testRti), null, testRti, null); }, - _generalNullableIsTestImplementation(object) { + _generalNullableIsTestImplementation: function (object) { if (object == null) return true; return this._primary._is(object); }, - _isTestViaProperty(object) { + _isTestViaProperty: function (object) { var tag, testRti = this; if (object == null) - return A._nullIs(testRti); + return H._nullIs(testRti); tag = testRti._specializedTestResource; - if (object instanceof A.Object) + if (object instanceof P.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 testRti = this; + _generalAsCheckImplementation: function (object) { + var t1, testRti = this; if (object == null) { - if (A.isNullable(testRti)) + t1 = H.isNullable(testRti); + if (t1) return object; } else if (testRti._is(object)) return object; - A._failedAsCheck(object, testRti); + H._failedAsCheck(object, testRti); }, - _generalNullableAsCheckImplementation(object) { + _generalNullableAsCheckImplementation: function (object) { var testRti = this; if (object == null) return object; else if (testRti._is(object)) return object; - A._failedAsCheck(object, testRti); + H._failedAsCheck(object, testRti); }, - _failedAsCheck(object, testRti) { - throw A.wrapException(A._TypeError$fromMessage(A._Error_compose(object, A._rtiToString(testRti, null)))); + _failedAsCheck: function (object, testRti) { + throw H.wrapException(H._TypeError$fromMessage(H._Error_compose(object, H.instanceOrFunctionType(object, testRti), H._rtiToString(testRti, null)))); }, - checkTypeBound(type, bound, variable, methodName) { - if (A.isSubtype(init.typeUniverse, type, bound)) + checkTypeBound: function (type, bound, variable, methodName) { + var _null = null; + if (H._isSubtype(init.typeUniverse, type, _null, bound, _null)) return type; - throw A.wrapException(A._TypeError$fromMessage("The type argument '" + A._rtiToString(type, null) + "' is not a subtype of the type variable bound '" + A._rtiToString(bound, null) + "' of type variable '" + variable + "' in '" + methodName + "'.")); + throw H.wrapException(H._TypeError$fromMessage("The type argument '" + H._rtiToString(type, _null) + "' is not a subtype of the type variable bound '" + H._rtiToString(bound, _null) + "' of type variable '" + variable + "' in '" + methodName + "'.")); }, - _Error_compose(object, checkedTypeDescription) { - return A.Error_safeToString(object) + ": type '" + A._rtiToString(A._structuralTypeOf(object), null) + "' is not a subtype of type '" + checkedTypeDescription + "'"; + _Error_compose: function (object, objectRti, checkedTypeDescription) { + var objectDescription = P.Error_safeToString(object), + objectTypeDescription = H._rtiToString(objectRti == null ? H.instanceType(object) : objectRti, null); + return objectDescription + ": type '" + objectTypeDescription + "' is not a subtype of type '" + checkedTypeDescription + "'"; }, - _TypeError$fromMessage(message) { - return new A._TypeError("TypeError: " + message); + _TypeError$fromMessage: function (message) { + return new H._TypeError("TypeError: " + message); }, - _TypeError__TypeError$forType(object, type) { - return new A._TypeError("TypeError: " + A._Error_compose(object, type)); + _TypeError__TypeError$forType: function (object, type) { + return new H._TypeError("TypeError: " + H._Error_compose(object, null, type)); }, - _isFutureOr(object) { - var testRti = this, - unstarred = testRti._kind === 6 ? testRti._primary : testRti; - return unstarred._primary._is(object) || A.Rti__getFutureFromFutureOr(init.typeUniverse, unstarred)._is(object); - }, - _isObject(object) { + _isObject: function (object) { return object != null; }, - _asObject(object) { + _asObject: function (object) { if (object != null) return object; - throw A.wrapException(A._TypeError__TypeError$forType(object, "Object")); + throw H.wrapException(H._TypeError__TypeError$forType(object, "Object")); }, - _isTop(object) { + _isTop: function (object) { return true; }, - _asTop(object) { + _asTop: function (object) { return object; }, - _isNever(object) { - return false; - }, - _isBool(object) { + _isBool: function (object) { return true === object || false === object; }, - _asBool(object) { + _asBool: function (object) { if (true === object) return true; if (false === object) return false; - throw A.wrapException(A._TypeError__TypeError$forType(object, "bool")); + throw H.wrapException(H._TypeError__TypeError$forType(object, "bool")); }, - _asBoolS(object) { + _asBoolS: function (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")); + throw H.wrapException(H._TypeError__TypeError$forType(object, "bool")); }, - _asBoolQ(object) { + _asBoolQ: function (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?")); + throw H.wrapException(H._TypeError__TypeError$forType(object, "bool?")); }, - _asDouble(object) { + _asDouble: function (object) { if (typeof object == "number") return object; - throw A.wrapException(A._TypeError__TypeError$forType(object, "double")); + throw H.wrapException(H._TypeError__TypeError$forType(object, "double")); }, - _asDoubleS(object) { + _asDoubleS: function (object) { if (typeof object == "number") return object; if (object == null) return object; - throw A.wrapException(A._TypeError__TypeError$forType(object, "double")); + throw H.wrapException(H._TypeError__TypeError$forType(object, "double")); }, - _asDoubleQ(object) { + _asDoubleQ: function (object) { if (typeof object == "number") return object; if (object == null) return object; - throw A.wrapException(A._TypeError__TypeError$forType(object, "double?")); + throw H.wrapException(H._TypeError__TypeError$forType(object, "double?")); }, - _isInt(object) { + _isInt: function (object) { return typeof object == "number" && Math.floor(object) === object; }, - _asInt(object) { + _asInt: function (object) { if (typeof object == "number" && Math.floor(object) === object) return object; - throw A.wrapException(A._TypeError__TypeError$forType(object, "int")); + throw H.wrapException(H._TypeError__TypeError$forType(object, "int")); }, - _asIntS(object) { + _asIntS: function (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")); + throw H.wrapException(H._TypeError__TypeError$forType(object, "int")); }, - _asIntQ(object) { + _asIntQ: function (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?")); + throw H.wrapException(H._TypeError__TypeError$forType(object, "int?")); }, - _isNum(object) { + _isNum: function (object) { return typeof object == "number"; }, - _asNum(object) { + _asNum: function (object) { if (typeof object == "number") return object; - throw A.wrapException(A._TypeError__TypeError$forType(object, "num")); + throw H.wrapException(H._TypeError__TypeError$forType(object, "num")); }, - _asNumS(object) { + _asNumS: function (object) { if (typeof object == "number") return object; if (object == null) return object; - throw A.wrapException(A._TypeError__TypeError$forType(object, "num")); + throw H.wrapException(H._TypeError__TypeError$forType(object, "num")); }, - _asNumQ(object) { + _asNumQ: function (object) { if (typeof object == "number") return object; if (object == null) return object; - throw A.wrapException(A._TypeError__TypeError$forType(object, "num?")); + throw H.wrapException(H._TypeError__TypeError$forType(object, "num?")); }, - _isString(object) { + _isString: function (object) { return typeof object == "string"; }, - _asString(object) { + _asString: function (object) { if (typeof object == "string") return object; - throw A.wrapException(A._TypeError__TypeError$forType(object, "String")); + throw H.wrapException(H._TypeError__TypeError$forType(object, "String")); }, - _asStringS(object) { + _asStringS: function (object) { if (typeof object == "string") return object; if (object == null) return object; - throw A.wrapException(A._TypeError__TypeError$forType(object, "String")); + throw H.wrapException(H._TypeError__TypeError$forType(object, "String")); }, - _asStringQ(object) { + _asStringQ: function (object) { if (typeof object == "string") return object; if (object == null) return object; - throw A.wrapException(A._TypeError__TypeError$forType(object, "String?")); + throw H.wrapException(H._TypeError__TypeError$forType(object, "String?")); }, - _rtiArrayToString(array, genericContext) { + _rtiArrayToString: function (array, genericContext) { var s, sep, i; for (s = "", sep = "", i = 0; i < array.length; ++i, sep = ", ") - s += sep + A._rtiToString(array[i], genericContext); + s += sep + H._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) { + _functionRtiToString: function (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); + genericContext = H.setRuntimeTypeInfo([], 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)); + C.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_) { + typeParametersText += typeSep; t3 = genericContext.length; t4 = t3 - 1 - i; - if (!(t4 >= 0)) - return A.ioore(genericContext, t4); - typeParametersText = B.JSString_methods.$add(typeParametersText + typeSep, genericContext[t4]); + if (t4 < 0) + return H.ioore(genericContext, t4); + typeParametersText = C.JSString_methods.$add(typeParametersText, genericContext[t4]); boundRti = bounds[i]; kind = boundRti._kind; if (!(kind === 2 || kind === 3 || kind === 4 || kind === 5 || boundRti === t1)) @@ -1743,7 +1507,7 @@ else t3 = true; if (!t3) - typeParametersText += " extends " + A._rtiToString(boundRti, genericContext); + typeParametersText += " extends " + H._rtiToString(boundRti, genericContext); } typeParametersText += ">"; } else { @@ -1758,13 +1522,13 @@ optionalPositionalLength = optionalPositional.length; named = parameters._named; namedLength = named.length; - returnTypeText = A._rtiToString(t1, genericContext); + returnTypeText = H._rtiToString(t1, genericContext); for (argumentsText = "", sep = "", i = 0; i < requiredPositionalLength; ++i, sep = _s2_) - argumentsText += sep + A._rtiToString(requiredPositional[i], genericContext); + argumentsText += sep + H._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 += sep + H._rtiToString(optionalPositional[i], genericContext); argumentsText += "]"; } if (namedLength > 0) { @@ -1773,7 +1537,7 @@ argumentsText += sep; if (named[i + 1]) argumentsText += "required "; - argumentsText += A._rtiToString(named[i + 2], genericContext) + " " + named[i]; + argumentsText += H._rtiToString(named[i + 2], genericContext) + " " + named[i]; } argumentsText += "}"; } @@ -1783,8 +1547,8 @@ } return typeParametersText + "(" + argumentsText + ") => " + returnTypeText; }, - _rtiToString(rti, genericContext) { - var questionArgument, s, argumentKind, $name, $arguments, t1, t2, + _rtiToString: function (rti, genericContext) { + var s, questionArgument, argumentKind, $name, $arguments, t1, t2, kind = rti._kind; if (kind === 5) return "erased"; @@ -1796,84 +1560,84 @@ return "Never"; if (kind === 4) return "any"; - if (kind === 6) - return A._rtiToString(rti._primary, genericContext); + if (kind === 6) { + s = H._rtiToString(rti._primary, genericContext); + return s; + } if (kind === 7) { questionArgument = rti._primary; - s = A._rtiToString(questionArgument, genericContext); + s = H._rtiToString(questionArgument, genericContext); argumentKind = questionArgument._kind; - return (argumentKind === 12 || argumentKind === 13 ? "(" + s + ")" : s) + "?"; + return (argumentKind === 11 || argumentKind === 12 ? "(" + s + ")" : s) + "?"; } if (kind === 8) - return "FutureOr<" + A._rtiToString(rti._primary, genericContext) + ">"; + return "FutureOr<" + H._rtiToString(rti._primary, genericContext) + ">"; if (kind === 9) { - $name = A._unminifyOrTag(rti._primary); + $name = H._unminifyOrTag(rti._primary); $arguments = rti._rest; - return $arguments.length > 0 ? $name + ("<" + A._rtiArrayToString($arguments, genericContext) + ">") : $name; + return $arguments.length !== 0 ? $name + ("<" + H._rtiArrayToString($arguments, genericContext) + ">") : $name; } if (kind === 11) - return A._recordRtiToString(rti, genericContext); + return H._functionRtiToString(rti, genericContext, null); if (kind === 12) - return A._functionRtiToString(rti, genericContext, null); - if (kind === 13) - return A._functionRtiToString(rti._primary, genericContext, rti._rest); - if (kind === 14) { + return H._functionRtiToString(rti._primary, genericContext, rti._rest); + if (kind === 13) { t1 = rti._primary; t2 = genericContext.length; t1 = t2 - 1 - t1; - if (!(t1 >= 0 && t1 < t2)) - return A.ioore(genericContext, t1); + if (t1 < 0 || t1 >= t2) + return H.ioore(genericContext, t1); return genericContext[t1]; } return "?"; }, - _unminifyOrTag(rawClassName) { - var preserved = init.mangledGlobalNames[rawClassName]; + _unminifyOrTag: function (rawClassName) { + var preserved = H.unmangleGlobalNameIfPreservedAnyways(rawClassName); if (preserved != null) return preserved; return rawClassName; }, - _Universe_findRule(universe, targetType) { + _Universe_findRule: function (universe, targetType) { var rule = universe.tR[targetType]; for (; typeof rule == "string";) rule = universe.tR[rule]; return rule; }, - _Universe_findErasedType(universe, cls) { + _Universe_findErasedType: function (universe, cls) { var $length, erased, $arguments, i, $interface, t1 = universe.eT, probe = t1[cls]; if (probe == null) - return A._Universe_eval(universe, cls, false); + return H._Universe_eval(universe, cls, false); else if (typeof probe == "number") { $length = probe; - erased = A._Universe__lookupTerminalRti(universe, 5, "#"); - $arguments = A._Utils_newArrayOrEmpty($length); + erased = H._Universe__lookupTerminalRti(universe, 5, "#"); + $arguments = []; for (i = 0; i < $length; ++i) - $arguments[i] = erased; - $interface = A._Universe__lookupInterfaceRti(universe, cls, $arguments); + $arguments.push(erased); + $interface = H._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_addRules: function (universe, rules) { + return H._Utils_objectAssign(universe.tR, rules); }, - _Universe_addErasedTypes(universe, types) { - return A._Utils_objectAssign(universe.eT, types); + _Universe_addErasedTypes: function (universe, types) { + return H._Utils_objectAssign(universe.eT, types); }, - _Universe_eval(universe, recipe, normalize) { + _Universe_eval: function (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)); + rti = H._Parser_parse(H._Parser_create(universe, null, recipe, normalize)); t1.set(recipe, rti); return rti; }, - _Universe_evalInEnvironment(universe, environment, recipe) { + _Universe_evalInEnvironment: function (universe, environment, recipe) { var probe, rti, cache = environment._evalCache; if (cache == null) @@ -1881,11 +1645,11 @@ probe = cache.get(recipe); if (probe != null) return probe; - rti = A._Parser_parse(A._Parser_create(universe, environment, recipe, true)); + rti = H._Parser_parse(H._Parser_create(universe, environment, recipe, true)); cache.set(recipe, rti); return rti; }, - _Universe_bind(universe, environment, argumentsRti) { + _Universe_bind: function (universe, environment, argumentsRti) { var argumentsRecipe, probe, rti, cache = environment._bindCache; if (cache == null) @@ -1894,72 +1658,72 @@ probe = cache.get(argumentsRecipe); if (probe != null) return probe; - rti = A._Universe__lookupBindingRti(universe, environment, argumentsRti._kind === 10 ? argumentsRti._rest : [argumentsRti]); + rti = H._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; + _Universe__installTypeTests: function (universe, rti) { + rti._as = H._installSpecializedAsCheck; + rti._is = H._installSpecializedIsTest; return rti; }, - _Universe__lookupTerminalRti(universe, kind, key) { + _Universe__lookupTerminalRti: function (universe, kind, key) { var rti, t1, probe = universe.eC.get(key); if (probe != null) return probe; - rti = new A.Rti(null, null); + rti = new H.Rti(null, null); rti._kind = kind; rti._canonicalRecipe = key; - t1 = A._Universe__installTypeTests(universe, rti); + t1 = H._Universe__installTypeTests(universe, rti); universe.eC.set(key, t1); return t1; }, - _Universe__lookupStarRti(universe, baseType, normalize) { + _Universe__lookupStarRti: function (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); + t1 = H._Universe__createStarRti(universe, baseType, key, normalize); universe.eC.set(key, t1); return t1; }, - _Universe__createStarRti(universe, baseType, key, normalize) { + _Universe__createStarRti: function (universe, baseType, key, normalize) { var baseKind, t1, rti; if (normalize) { baseKind = baseType._kind; - if (!A.isSoundTopType(baseType)) + if (!H.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 = new H.Rti(null, null); rti._kind = 6; rti._primary = baseType; rti._canonicalRecipe = key; - return A._Universe__installTypeTests(universe, rti); + return H._Universe__installTypeTests(universe, rti); }, - _Universe__lookupQuestionRti(universe, baseType, normalize) { + _Universe__lookupQuestionRti: function (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); + t1 = H._Universe__createQuestionRti(universe, baseType, key, normalize); universe.eC.set(key, t1); return t1; }, - _Universe__createQuestionRti(universe, baseType, key, normalize) { + _Universe__createQuestionRti: function (universe, baseType, key, normalize) { var baseKind, t1, starArgument, rti; if (normalize) { baseKind = baseType._kind; - if (!A.isSoundTopType(baseType)) + if (!H.isStrongTopType(baseType)) if (!(baseType === type$.Null || baseType === type$.JSNull)) if (baseKind !== 7) - t1 = baseKind === 8 && A.isNullable(baseType._primary); + t1 = baseKind === 8 && H.isNullable(baseType._primary); else t1 = true; else @@ -1972,96 +1736,104 @@ return type$.Null; else if (baseKind === 6) { starArgument = baseType._primary; - if (starArgument._kind === 8 && A.isNullable(starArgument._primary)) + if (starArgument._kind === 8 && H.isNullable(starArgument._primary)) return starArgument; else - return A.Rti__getQuestionFromStar(universe, baseType); + return H.Rti__getQuestionFromStar(universe, baseType); } } - rti = new A.Rti(null, null); + rti = new H.Rti(null, null); rti._kind = 7; rti._primary = baseType; rti._canonicalRecipe = key; - return A._Universe__installTypeTests(universe, rti); + return H._Universe__installTypeTests(universe, rti); }, - _Universe__lookupFutureOrRti(universe, baseType, normalize) { + _Universe__lookupFutureOrRti: function (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); + t1 = H._Universe__createFutureOrRti(universe, baseType, key, normalize); universe.eC.set(key, t1); return t1; }, - _Universe__createFutureOrRti(universe, baseType, key, normalize) { - var t1, rti; + _Universe__createFutureOrRti: function (universe, baseType, key, normalize) { + var t1, t2, rti; if (normalize) { t1 = baseType._kind; - if (A.isSoundTopType(baseType) || baseType === type$.Object || baseType === type$.legacy_Object) + if (!H.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]); + return H._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 = new H.Rti(null, null); rti._kind = 8; rti._primary = baseType; rti._canonicalRecipe = key; - return A._Universe__installTypeTests(universe, rti); + return H._Universe__installTypeTests(universe, rti); }, - _Universe__lookupGenericFunctionParameterRti(universe, index) { + _Universe__lookupGenericFunctionParameterRti: function (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 = new H.Rti(null, null); + rti._kind = 13; rti._primary = index; rti._canonicalRecipe = key; - t1 = A._Universe__installTypeTests(universe, rti); + t1 = H._Universe__installTypeTests(universe, rti); universe.eC.set(key, t1); return t1; }, - _Universe__canonicalRecipeJoin($arguments) { + _Universe__canonicalRecipeJoin: function ($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, + _Universe__canonicalRecipeJoinNamed: function ($arguments) { + var s, sep, i, t1, nameSep, s0, $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; + s0 = $arguments[i + 2]._canonicalRecipe; + s += sep + t1 + nameSep + s0; } return s; }, - _Universe__lookupInterfaceRti(universe, $name, $arguments) { + _Universe__lookupInterfaceRti: function (universe, $name, $arguments) { var probe, rti, t1, s = $name; - if ($arguments.length > 0) - s += "<" + A._Universe__canonicalRecipeJoin($arguments) + ">"; + if ($arguments.length !== 0) + s += "<" + H._Universe__canonicalRecipeJoin($arguments) + ">"; probe = universe.eC.get(s); if (probe != null) return probe; - rti = new A.Rti(null, null); + rti = new H.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); + t1 = H._Universe__installTypeTests(universe, rti); universe.eC.set(s, t1); return t1; }, - _Universe__lookupBindingRti(universe, base, $arguments) { + _Universe__lookupBindingRti: function (universe, base, $arguments) { var newBase, newArguments, key, probe, rti, t1; if (base._kind === 10) { newBase = base._primary; @@ -2070,36 +1842,21 @@ newArguments = $arguments; newBase = base; } - key = newBase._canonicalRecipe + (";<" + A._Universe__canonicalRecipeJoin(newArguments) + ">"); + key = newBase._canonicalRecipe + (";<" + H._Universe__canonicalRecipeJoin(newArguments) + ">"); probe = universe.eC.get(key); if (probe != null) return probe; - rti = new A.Rti(null, null); + rti = new H.Rti(null, null); rti._kind = 10; rti._primary = newBase; rti._rest = newArguments; rti._canonicalRecipe = key; - t1 = A._Universe__installTypeTests(universe, rti); + t1 = H._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, + _Universe__lookupFunctionRti: function (universe, returnType, parameters) { + var sep, t1, key, probe, rti, s = returnType._canonicalRecipe, requiredPositional = parameters._requiredPositional, requiredPositionalLength = requiredPositional.length, @@ -2107,43 +1864,45 @@ optionalPositionalLength = optionalPositional.length, named = parameters._named, namedLength = named.length, - recipe = "(" + A._Universe__canonicalRecipeJoin(requiredPositional); + recipe = "(" + H._Universe__canonicalRecipeJoin(requiredPositional); if (optionalPositionalLength > 0) { sep = requiredPositionalLength > 0 ? "," : ""; - recipe += sep + "[" + A._Universe__canonicalRecipeJoin(optionalPositional) + "]"; + t1 = H._Universe__canonicalRecipeJoin(optionalPositional); + recipe += sep + "[" + t1 + "]"; } if (namedLength > 0) { sep = requiredPositionalLength > 0 ? "," : ""; - recipe += sep + "{" + A._Universe__canonicalRecipeJoinNamed(named) + "}"; + t1 = H._Universe__canonicalRecipeJoinNamed(named); + recipe += sep + "{" + t1 + "}"; } key = s + (recipe + ")"); probe = universe.eC.get(key); if (probe != null) return probe; - rti = new A.Rti(null, null); - rti._kind = 12; + rti = new H.Rti(null, null); + rti._kind = 11; rti._primary = returnType; rti._rest = parameters; rti._canonicalRecipe = key; - t1 = A._Universe__installTypeTests(universe, rti); + t1 = H._Universe__installTypeTests(universe, rti); universe.eC.set(key, t1); return t1; }, - _Universe__lookupGenericFunctionRti(universe, baseFunctionType, bounds, normalize) { + _Universe__lookupGenericFunctionRti: function (universe, baseFunctionType, bounds, normalize) { var t1, - key = baseFunctionType._canonicalRecipe + ("<" + A._Universe__canonicalRecipeJoin(bounds) + ">"), + key = baseFunctionType._canonicalRecipe + ("<" + H._Universe__canonicalRecipeJoin(bounds) + ">"), probe = universe.eC.get(key); if (probe != null) return probe; - t1 = A._Universe__createGenericFunctionRti(universe, baseFunctionType, bounds, key, normalize); + t1 = H._Universe__createGenericFunctionRti(universe, baseFunctionType, bounds, key, normalize); universe.eC.set(key, t1); return t1; }, - _Universe__createGenericFunctionRti(universe, baseFunctionType, bounds, key, normalize) { + _Universe__createGenericFunctionRti: function (universe, baseFunctionType, bounds, key, normalize) { var $length, typeArguments, count, i, bound, substitutedBase, substitutedBounds, rti; if (normalize) { $length = bounds.length; - typeArguments = A._Utils_newArrayOrEmpty($length); + typeArguments = new Array($length); for (count = 0, i = 0; i < $length; ++i) { bound = bounds[i]; if (bound._kind === 1) { @@ -2152,33 +1911,33 @@ } } 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); + substitutedBase = H._substitute(universe, baseFunctionType, typeArguments, 0); + substitutedBounds = H._substituteArray(universe, bounds, typeArguments, 0); + return H._Universe__lookupGenericFunctionRti(universe, substitutedBase, substitutedBounds, bounds !== substitutedBounds); } } - rti = new A.Rti(null, null); - rti._kind = 13; + rti = new H.Rti(null, null); + rti._kind = 12; rti._primary = baseFunctionType; rti._rest = bounds; rti._canonicalRecipe = key; - return A._Universe__installTypeTests(universe, rti); + return H._Universe__installTypeTests(universe, rti); }, - _Parser_create(universe, environment, recipe, normalize) { + _Parser_create: function (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, + _Parser_parse: function (parser) { + var t2, i, ch, t3, array, head, base, parameters, optionalPositional, named, 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); + i = H._Parser_handleDigit(i + 1, ch, source, t1); + else if ((((ch | 32) >>> 0) - 97 & 65535) < 26 || ch === 95 || ch === 36) + i = H._Parser_handleIdentifier(parser, i, source, t1, false); else if (ch === 46) - i = A._Parser_handleIdentifier(parser, i, source, t1, true); + i = H._Parser_handleIdentifier(parser, i, source, t1, true); else { ++i; switch (ch) { @@ -2191,49 +1950,90 @@ t1.push(true); break; case 59: - t1.push(A._Parser_toType(parser.u, parser.e, t1.pop())); + t1.push(H._Parser_toType(parser.u, parser.e, t1.pop())); break; case 94: - t1.push(A._Universe__lookupGenericFunctionParameterRti(parser.u, t1.pop())); + t1.push(H._Universe__lookupGenericFunctionParameterRti(parser.u, t1.pop())); break; case 35: - t1.push(A._Universe__lookupTerminalRti(parser.u, 5, "#")); + t1.push(H._Universe__lookupTerminalRti(parser.u, 5, "#")); break; case 64: - t1.push(A._Universe__lookupTerminalRti(parser.u, 2, "@")); + t1.push(H._Universe__lookupTerminalRti(parser.u, 2, "@")); break; case 126: - t1.push(A._Universe__lookupTerminalRti(parser.u, 3, "~")); + t1.push(H._Universe__lookupTerminalRti(parser.u, 3, "~")); break; case 60: t1.push(parser.p); parser.p = t1.length; break; case 62: - A._Parser_handleTypeArguments(parser, t1); + t3 = parser.u; + array = t1.splice(parser.p); + H._Parser_toTypes(parser.u, parser.e, array); + parser.p = t1.pop(); + head = t1.pop(); + if (typeof head == "string") + t1.push(H._Universe__lookupInterfaceRti(t3, head, array)); + else { + base = H._Parser_toType(t3, parser.e, head); + switch (base._kind) { + case 11: + t1.push(H._Universe__lookupGenericFunctionRti(t3, base, array, parser.n)); + break; + default: + t1.push(H._Universe__lookupBindingRti(t3, base, array)); + break; + } + } break; case 38: - A._Parser_handleExtendedOperations(parser, t1); + H._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)); + t1.push(H._Universe__lookupStarRti(t3, H._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)); + t1.push(H._Universe__lookupQuestionRti(t3, H._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)); + t1.push(H._Universe__lookupFutureOrRti(t3, H._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); + t3 = parser.u; + parameters = new H._FunctionParameters(); + optionalPositional = t3.sEA; + named = t3.sEA; + head = t1.pop(); + if (typeof head == "number") + switch (head) { + case -1: + optionalPositional = t1.pop(); + break; + case -2: + named = t1.pop(); + break; + default: + t1.push(head); + break; + } + else + t1.push(head); + array = t1.splice(parser.p); + H._Parser_toTypes(parser.u, parser.e, array); + parser.p = t1.pop(); + parameters._requiredPositional = array; + parameters._optionalPositional = optionalPositional; + parameters._named = named; + t1.push(H._Universe__lookupFunctionRti(t3, H._Parser_toType(t3, parser.e, t1.pop()), parameters)); break; case 91: t1.push(parser.p); @@ -2241,7 +2041,7 @@ break; case 93: array = t1.splice(parser.p); - A._Parser_toTypes(parser.u, parser.e, array); + H._Parser_toTypes(parser.u, parser.e, array); parser.p = t1.pop(); t1.push(array); t1.push(-1); @@ -2252,28 +2052,20 @@ break; case 125: array = t1.splice(parser.p); - A._Parser_toTypesNamed(parser.u, parser.e, array); + H._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); + return H._Parser_toType(parser.u, parser.e, item); }, - _Parser_handleDigit(i, digit, source, stack) { + _Parser_handleDigit: function (i, digit, source, stack) { var t1, ch, value = digit - 48; for (t1 = source.length; i < t1; ++i) { @@ -2285,7 +2077,7 @@ stack.push(value); return i; }, - _Parser_handleIdentifier(parser, start, source, stack, hasPeriod) { + _Parser_handleIdentifier: function (parser, start, source, stack, hasPeriod) { var t1, ch, t2, string, environment, recipe, i = start + 1; for (t1 = source.length; i < t1; ++i) { @@ -2295,7 +2087,7 @@ break; hasPeriod = true; } else { - if (!((((ch | 32) >>> 0) - 97 & 65535) < 26 || ch === 95 || ch === 36 || ch === 124)) + if (!((((ch | 32) >>> 0) - 97 & 65535) < 26 || ch === 95 || ch === 36)) t2 = ch >= 48 && ch <= 57; else t2 = true; @@ -2309,121 +2101,47 @@ environment = parser.e; if (environment._kind === 10) environment = environment._primary; - recipe = A._Universe_findRule(t1, environment._primary)[string]; + recipe = H._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)); + H.throwExpression('No "' + string + '" in "' + H.Rti__getCanonicalRecipe(environment) + '"'); + stack.push(H._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) { + _Parser_handleExtendedOperations: function (parser, stack) { var $top = stack.pop(); if (0 === $top) { - stack.push(A._Universe__lookupTerminalRti(parser.u, 1, "0&")); + stack.push(H._Universe__lookupTerminalRti(parser.u, 1, "0&")); return; } if (1 === $top) { - stack.push(A._Universe__lookupTerminalRti(parser.u, 4, "1&")); + stack.push(H._Universe__lookupTerminalRti(parser.u, 4, "1&")); return; } - throw A.wrapException(A.AssertionError$("Unexpected extended operation " + A.S($top))); + throw H.wrapException(P.AssertionError$("Unexpected extended operation " + H.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) { + _Parser_toType: function (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 H._Universe__lookupInterfaceRti(universe, item, universe.sEA); + else if (typeof item == "number") + return H._Parser_indexToType(universe, environment, item); + else return item; }, - _Parser_toTypes(universe, environment, items) { + _Parser_toTypes: function (universe, environment, items) { var i, $length = items.length; for (i = 0; i < $length; ++i) - items[i] = A._Parser_toType(universe, environment, items[i]); + items[i] = H._Parser_toType(universe, environment, items[i]); }, - _Parser_toTypesNamed(universe, environment, items) { + _Parser_toTypesNamed: function (universe, environment, items) { var i, $length = items.length; for (i = 2; i < $length; i += 3) - items[i] = A._Parser_toType(universe, environment, items[i]); + items[i] = H._Parser_toType(universe, environment, items[i]); }, - _Parser_indexToType(universe, environment, index) { + _Parser_indexToType: function (universe, environment, index) { var typeArguments, len, kind = environment._kind; if (kind === 10) { @@ -2439,33 +2157,17 @@ } else if (index === 0) return environment; if (kind !== 9) - throw A.wrapException(A.AssertionError$("Indexed base must be an interface type")); + throw H.wrapException(P.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))); + throw H.wrapException(P.AssertionError$("Bad index " + index + " for " + environment.toString$0(0))); }, - isSubtype(universe, s, t) { - var result, - sCache = s._isSubtypeCache; - if (sCache == null) - sCache = s._isSubtypeCache = new Map(); - result = sCache.get(t); - if (result == null) { - result = A._isSubtype(universe, s, null, t, null, false) ? 1 : 0; - sCache.set(t, result); - } - if (0 === result) - return false; - if (1 === result) - return true; - return true; - }, - _isSubtype(universe, s, sEnv, t, tEnv, isLegacy) { - var t1, sKind, leftTypeVariable, tKind, t2, sBounds, tBounds, sLength, i, sBound, tBound; + _isSubtype: function (universe, s, sEnv, t, tEnv) { + var t1, sKind, leftTypeVariable, tKind, sBounds, tBounds, sLength, i, sBound, tBound; if (s === t) return true; - if (!A.isSoundTopType(t)) + if (!H.isStrongTopType(t)) if (!(t === type$.legacy_Object)) t1 = false; else @@ -2477,7 +2179,7 @@ sKind = s._kind; if (sKind === 4) return true; - if (A.isSoundTopType(s)) + if (H.isStrongTopType(s)) return false; if (s._kind !== 1) t1 = false; @@ -2485,60 +2187,57 @@ t1 = true; if (t1) return true; - leftTypeVariable = sKind === 14; + leftTypeVariable = sKind === 13; if (leftTypeVariable) - if (A._isSubtype(universe, sEnv[s._primary], sEnv, t, tEnv, false)) + if (H._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, false); + return H._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, false); + return H._isSubtype(universe, s._primary, sEnv, t, tEnv); if (sKind === 6) - return A._isSubtype(universe, s._primary, sEnv, t, tEnv, false); + return H._isSubtype(universe, s._primary, sEnv, t, tEnv); return sKind !== 7; } if (sKind === 6) - return A._isSubtype(universe, s._primary, sEnv, t, tEnv, false); + return H._isSubtype(universe, s._primary, sEnv, t, tEnv); if (tKind === 6) { - t1 = A.Rti__getQuestionFromStar(universe, t); - return A._isSubtype(universe, s, sEnv, t1, tEnv, false); + t1 = H.Rti__getQuestionFromStar(universe, t); + return H._isSubtype(universe, s, sEnv, t1, tEnv); } if (sKind === 8) { - if (!A._isSubtype(universe, s._primary, sEnv, t, tEnv, false)) + if (!H._isSubtype(universe, s._primary, sEnv, t, tEnv)) return false; - return A._isSubtype(universe, A.Rti__getFutureFromFutureOr(universe, s), sEnv, t, tEnv, false); + return H._isSubtype(universe, H.Rti__getFutureFromFutureOr(universe, s), sEnv, t, tEnv); } if (sKind === 7) { - t1 = A._isSubtype(universe, type$.Null, sEnv, t, tEnv, false); - return t1 && A._isSubtype(universe, s._primary, sEnv, t, tEnv, false); + t1 = H._isSubtype(universe, type$.Null, sEnv, t, tEnv); + return t1 && H._isSubtype(universe, s._primary, sEnv, t, tEnv); } if (tKind === 8) { - if (A._isSubtype(universe, s, sEnv, t._primary, tEnv, false)) + if (H._isSubtype(universe, s, sEnv, t._primary, tEnv)) return true; - return A._isSubtype(universe, s, sEnv, A.Rti__getFutureFromFutureOr(universe, t), tEnv, false); + return H._isSubtype(universe, s, sEnv, H.Rti__getFutureFromFutureOr(universe, t), tEnv); } if (tKind === 7) { - t1 = A._isSubtype(universe, s, sEnv, type$.Null, tEnv, false); - return t1 || A._isSubtype(universe, s, sEnv, t._primary, tEnv, false); + t1 = H._isSubtype(universe, s, sEnv, type$.Null, tEnv); + return t1 || H._isSubtype(universe, s, sEnv, t._primary, tEnv); } if (leftTypeVariable) return false; - t1 = sKind !== 12; - if ((!t1 || sKind === 13) && t === type$.Function) + t1 = sKind !== 11; + if ((!t1 || sKind === 12) && t === type$.Function) return true; - t2 = sKind === 11; - if (t2 && t === type$.Record) - return true; - if (tKind === 13) { + if (tKind === 12) { if (s === type$.JavaScriptFunction) return true; - if (sKind !== 13) + if (sKind !== 12) return false; sBounds = s._rest; tBounds = t._rest; @@ -2550,30 +2249,28 @@ for (i = 0; i < sLength; ++i) { sBound = sBounds[i]; tBound = tBounds[i]; - if (!A._isSubtype(universe, sBound, sEnv, tBound, tEnv, false) || !A._isSubtype(universe, tBound, tEnv, sBound, sEnv, false)) + if (!H._isSubtype(universe, sBound, sEnv, tBound, tEnv) || !H._isSubtype(universe, tBound, tEnv, sBound, sEnv)) return false; } - return A._isFunctionSubtype(universe, s._primary, sEnv, t._primary, tEnv, false); + return H._isFunctionSubtype(universe, s._primary, sEnv, t._primary, tEnv); } - if (tKind === 12) { + if (tKind === 11) { if (s === type$.JavaScriptFunction) return true; if (t1) return false; - return A._isFunctionSubtype(universe, s, sEnv, t, tEnv, false); + return H._isFunctionSubtype(universe, s, sEnv, t, tEnv); } if (sKind === 9) { if (tKind !== 9) return false; - return A._isInterfaceSubtype(universe, s, sEnv, t, tEnv, false); + return H._isInterfaceSubtype(universe, s, sEnv, t, tEnv); } - if (t2 && tKind === 11) - return A._isRecordSubtype(universe, s, sEnv, t, tEnv, false); return false; }, - _isFunctionSubtype(universe, s, sEnv, t, tEnv, isLegacy) { + _isFunctionSubtype: function (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, false)) + if (!H._isSubtype(universe, s._primary, sEnv, t._primary, tEnv)) return false; sParameters = s._rest; tParameters = t._rest; @@ -2592,17 +2289,17 @@ return false; for (i = 0; i < sRequiredPositionalLength; ++i) { t1 = sRequiredPositional[i]; - if (!A._isSubtype(universe, tRequiredPositional[i], tEnv, t1, sEnv, false)) + if (!H._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, false)) + if (!H._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, false)) + if (!H._isSubtype(universe, tOptionalPositional[i], tEnv, t1, sEnv)) return false; } sNamed = sParameters._named; @@ -2628,7 +2325,7 @@ if (sIsRequired && !t1) return false; t1 = sNamed[sIndex - 1]; - if (!A._isSubtype(universe, tNamed[tIndex + 2], tEnv, t1, sEnv, false)) + if (!H._isSubtype(universe, tNamed[tIndex + 2], tEnv, t1, sEnv)) return false; break; } @@ -2640,59 +2337,45 @@ } return true; }, - _isInterfaceSubtype(universe, s, sEnv, t, tEnv, isLegacy) { - var rule, recipes, $length, supertypeArgs, i, + _isInterfaceSubtype: function (universe, s, sEnv, t, tEnv) { + var sArgs, tArgs, $length, i, t1, t2, rule, supertypeArgs, 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, false); - } - return A._areArgumentsSubtypes(universe, s._rest, null, sEnv, t._rest, tEnv, false); - }, - _areArgumentsSubtypes(universe, sArgs, sVariances, sEnv, tArgs, tEnv, isLegacy) { - var i, + if (sName === tName) { + sArgs = s._rest; + tArgs = t._rest; $length = sArgs.length; + for (i = 0; i < $length; ++i) { + t1 = sArgs[i]; + t2 = tArgs[i]; + if (!H._isSubtype(universe, t1, sEnv, t2, tEnv)) + return false; + } + return true; + } + if (t === type$.Object) + return true; + rule = H._Universe_findRule(universe, sName); + if (rule == null) + return false; + supertypeArgs = rule[tName]; + if (supertypeArgs == null) + return false; + $length = supertypeArgs.length; + tArgs = t._rest; for (i = 0; i < $length; ++i) - if (!A._isSubtype(universe, sArgs[i], sEnv, tArgs[i], tEnv, false)) + if (!H._isSubtype(universe, H._Universe_evalInEnvironment(universe, s, supertypeArgs[i]), sEnv, tArgs[i], tEnv)) return false; return true; }, - _isRecordSubtype(universe, s, sEnv, t, tEnv, isLegacy) { - 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, false)) - return false; - return true; - }, - isNullable(t) { + isNullable: function (t) { var t1, kind = t._kind; if (!(t === type$.Null || t === type$.JSNull)) - if (!A.isSoundTopType(t)) + if (!H.isStrongTopType(t)) if (kind !== 7) - if (!(kind === 6 && A.isNullable(t._primary))) - t1 = kind === 8 && A.isNullable(t._primary); + if (!(kind === 6 && H.isNullable(t._primary))) + t1 = kind === 8 && H.isNullable(t._primary); else t1 = true; else @@ -2703,9 +2386,9 @@ t1 = true; return t1; }, - isDefinitelyTopType(t) { + isTopType: function (t) { var t1; - if (!A.isSoundTopType(t)) + if (!H.isStrongTopType(t)) if (!(t === type$.legacy_Object)) t1 = false; else @@ -2714,11 +2397,11 @@ t1 = true; return t1; }, - isSoundTopType(t) { + isStrongTopType: function (t) { var kind = t._kind; return kind === 2 || kind === 3 || kind === 4 || kind === 5 || t === type$.nullable_Object; }, - _Utils_objectAssign(o, other) { + _Utils_objectAssign: function (o, other) { var i, key, keys = Object.keys(other), $length = keys.length; @@ -2727,109 +2410,274 @@ 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 = _._isSubtypeCache = _._precomputed1 = null; + _._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() { + unmangleGlobalNameIfPreservedAnyways: function ($name) { + return init.mangledGlobalNames[$name]; + }, + printString: function (string) { + if (typeof dartPrint == "function") { + dartPrint(string); + return; + } + if (typeof console == "object" && typeof console.log != "undefined") { + console.log(string); + return; + } + if (typeof window == "object") + return; + if (typeof print == "function") { + print(string); + return; + } + throw "Unable to print message: " + String(string); + } + }, + J = { + makeDispatchRecord: function (interceptor, proto, extension, indexability) { + return { i: interceptor, p: proto, e: extension, x: indexability }; + }, + getNativeInterceptor: function (object) { + var proto, objectProto, $constructor, interceptor, + record = object[init.dispatchPropertyName]; + if (record == null) + if ($.initNativeDispatchFlag == null) { + H.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 H.wrapException(P.UnimplementedError$("Return interceptor for " + H.S(proto(object, record)))); + } + $constructor = object.constructor; + interceptor = $constructor == null ? null : $constructor[J.JS_INTEROP_INTERCEPTOR_TAG()]; + if (interceptor != null) + return interceptor; + interceptor = H.lookupAndCacheInterceptor(object); + if (interceptor != null) + return interceptor; + if (typeof object == "function") + return C.JavaScriptFunction_methods; + proto = Object.getPrototypeOf(object); + if (proto == null) + return C.PlainJavaScriptObject_methods; + if (proto === Object.prototype) + return C.PlainJavaScriptObject_methods; + if (typeof $constructor == "function") { + Object.defineProperty($constructor, J.JS_INTEROP_INTERCEPTOR_TAG(), { value: C.UnknownJavaScriptObject_methods, enumerable: false, writable: true, configurable: true }); + return C.UnknownJavaScriptObject_methods; + } + return C.UnknownJavaScriptObject_methods; + }, + JS_INTEROP_INTERCEPTOR_TAG: function () { + var t1 = $._JS_INTEROP_INTERCEPTOR_TAG; + return t1 == null ? $._JS_INTEROP_INTERCEPTOR_TAG = init.getIsolateTag("_$dart_js") : t1; + }, + JSArray_markFixedList: function (list, $T) { + list.fixed$length = Array; + return list; + }, + getInterceptor$: function (receiver) { + if (typeof receiver == "number") { + if (Math.floor(receiver) == receiver) + return J.JSInt.prototype; + return J.JSDouble.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 P.Object) + return receiver; + return J.getNativeInterceptor(receiver); + }, + getInterceptor$asx: function (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 P.Object) + return receiver; + return J.getNativeInterceptor(receiver); + }, + getInterceptor$ax: function (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 P.Object) + return receiver; + return J.getNativeInterceptor(receiver); + }, + get$iterator$ax: function (receiver) { + return J.getInterceptor$ax(receiver).get$iterator(receiver); + }, + get$length$asx: function (receiver) { + return J.getInterceptor$asx(receiver).get$length(receiver); + }, + toString$0$: function (receiver) { + return J.getInterceptor$(receiver).toString$0(receiver); + }, + Interceptor: function Interceptor() { + }, + JSBool: function JSBool() { + }, + JSNull: function JSNull() { + }, + JavaScriptObject: function JavaScriptObject() { + }, + 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; + _._length = t1; + _._index = 0; + _._current = null; + _.$ti = t2; + }, + JSNumber: function JSNumber() { + }, + JSInt: function JSInt() { + }, + JSDouble: function JSDouble() { + }, + JSString: function JSString() { + } + }, + P = { + _AsyncRun__initializeScheduleImmediate: function () { var div, span, t1 = {}; if (self.scheduleImmediate != null) - return A.async__AsyncRun__scheduleImmediateJsOverride$closure(); + return P.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); + new self.MutationObserver(H.convertDartClosureToJS(new P._AsyncRun__initializeScheduleImmediate_internalCallback(t1), 1)).observe(div, { childList: true }); + return new P._AsyncRun__initializeScheduleImmediate_closure(t1, div, span); } else if (self.setImmediate != null) - return A.async__AsyncRun__scheduleImmediateWithSetImmediate$closure(); - return A.async__AsyncRun__scheduleImmediateWithTimer$closure(); + return P.async__AsyncRun__scheduleImmediateWithSetImmediate$closure(); + return P.async__AsyncRun__scheduleImmediateWithTimer$closure(); }, - _AsyncRun__scheduleImmediateJsOverride(callback) { - self.scheduleImmediate(A.convertDartClosureToJS(new A._AsyncRun__scheduleImmediateJsOverride_internalCallback(type$.void_Function._as(callback)), 0)); + _AsyncRun__scheduleImmediateJsOverride: function (callback) { + self.scheduleImmediate(H.convertDartClosureToJS(new P._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__scheduleImmediateWithSetImmediate: function (callback) { + self.setImmediate(H.convertDartClosureToJS(new P._AsyncRun__scheduleImmediateWithSetImmediate_internalCallback(type$.void_Function._as(callback)), 0)); }, - _AsyncRun__scheduleImmediateWithTimer(callback) { - A.Timer__createTimer(B.Duration_0, type$.void_Function._as(callback)); + _AsyncRun__scheduleImmediateWithTimer: function (callback) { + P.Timer__createTimer(C.Duration_0, type$.void_Function._as(callback)); }, - Timer__createTimer(duration, callback) { - var milliseconds = B.JSInt_methods._tdivFast$1(duration._duration, 1000); - return A._TimerImpl$(milliseconds, callback); + Timer__createTimer: function (duration, callback) { + var milliseconds = C.JSInt_methods._tdivFast$1(duration._duration, 1000); + return P._TimerImpl$(milliseconds < 0 ? 0 : milliseconds, callback); }, - _TimerImpl$(milliseconds, callback) { - var t1 = new A._TimerImpl(); + _TimerImpl$: function (milliseconds, callback) { + var t1 = new P._TimerImpl(); t1._TimerImpl$2(milliseconds, callback); return t1; }, - AsyncError$(error, stackTrace) { - var t1 = A.checkNotNullable(error, "error", type$.Object); - return new A.AsyncError(t1, stackTrace == null ? A.AsyncError_defaultStackTrace(error) : stackTrace); + AsyncError$: function (error, stackTrace) { + return new P.AsyncError(error, stackTrace == null ? P.AsyncError_defaultStackTrace(error) : stackTrace); }, - AsyncError_defaultStackTrace(error) { + AsyncError_defaultStackTrace: function (error) { var stackTrace; if (type$.Error._is(error)) { stackTrace = error.get$stackTrace(); if (stackTrace != null) return stackTrace; } - return B.C__StringStackTrace; + return C.C__StringStackTrace; }, - Future_Future$delayed(duration, $T) { + Future_Future$delayed: function (duration, $T) { var result, t1 = !$T._is(null); if (t1) - throw A.wrapException(A.ArgumentError$value(null, "computation", "The type parameter is not nullable")); - result = new A._Future($.Zone__current, $T._eval$1("_Future<0>")); - A.Timer_Timer(duration, new A.Future_Future$delayed_closure(null, result, $T)); + throw H.wrapException(P.ArgumentError$value(null, "computation", "The type parameter is not nullable")); + result = new P._Future($.Zone__current, $T._eval$1("_Future<0>")); + P.Timer_Timer(duration, new P.Future_Future$delayed_closure(null, result, $T)); return result; }, - _Future__chainCoreFutureSync(source, target) { + _Future__chainCoreFuture: function (source, target) { var t1, t2, listeners; - for (t1 = type$._Future_dynamic; t2 = source._state, (t2 & 4) !== 0;) + for (t1 = type$._Future_dynamic; t2 = source._state, t2 === 2;) source = t1._as(source._resultOrListeners); - if ((t2 & 24) !== 0) { + if (t2 >= 4) { listeners = target._removeListeners$0(); - target._cloneResult$1(source); - A._Future__propagateToListeners(target, listeners); + target._state = source._state; + target._resultOrListeners = source._resultOrListeners; + P._Future__propagateToListeners(target, listeners); } else { listeners = type$.nullable__FutureListener_dynamic_dynamic._as(target._resultOrListeners); - target._state = target._state & 1 | 4; + target._state = 2; 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 = {}, + _Future__propagateToListeners: function (source, listeners) { + var t2, t3, t4, _box_0, hasError, asyncError, nextListener, nextListener0, t5, sourceResult, t6, t7, zone, oldZone, result, current, _null = null, _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; + hasError = t1._state === 8; if (listeners == null) { - if (hasError && (t5 & 1) === 0) { + if (hasError) { asyncError = t2._as(t1._resultOrListeners); - A._rootHandleError(asyncError.error, asyncError.stackTrace); + P._rootHandleUncaughtError(_null, _null, t1._zone, asyncError.error, asyncError.stackTrace); } return; } @@ -2837,7 +2685,7 @@ nextListener = listeners._nextListener; for (t1 = listeners; nextListener != null; t1 = nextListener, nextListener = nextListener0) { t1._nextListener = null; - A._Future__propagateToListeners(_box_1.source, t1); + P._Future__propagateToListeners(_box_1.source, t1); _box_0.listener = nextListener; nextListener0 = nextListener._nextListener; } @@ -2845,6 +2693,7 @@ sourceResult = t5._resultOrListeners; _box_0.listenerHasError = hasError; _box_0.listenerValueOrError = sourceResult; + t6 = !hasError; if (t6) { t7 = t1.state; t7 = (t7 & 1) !== 0 || (t7 & 15) === 8; @@ -2853,32 +2702,32 @@ if (t7) { zone = t1.result._zone; if (hasError) { - t5 = t5._zone === zone; - t5 = !(t5 || t5); + t7 = t5._zone === zone; + t7 = !(t7 || t7); } else - t5 = false; - if (t5) { + t7 = false; + if (t7) { t2._as(sourceResult); - A._rootHandleError(sourceResult.error, sourceResult.stackTrace); + P._rootHandleUncaughtError(_null, _null, t5._zone, sourceResult.error, sourceResult.stackTrace); return; } oldZone = $.Zone__current; if (oldZone !== zone) $.Zone__current = zone; else - oldZone = null; + oldZone = _null; t1 = t1.state; if ((t1 & 15) === 8) - new A._Future__propagateToListeners_handleWhenCompleteCallback(_box_0, _box_1, hasError).call$0(); + new P._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(); + new P._Future__propagateToListeners_handleValueCallback(_box_0, sourceResult).call$0(); } else if ((t1 & 2) !== 0) - new A._Future__propagateToListeners_handleError(_box_1, _box_0).call$0(); + new P._Future__propagateToListeners_handleError(_box_1, _box_0).call$0(); if (oldZone != null) $.Zone__current = oldZone; t1 = _box_0.listenerValueOrError; - if (t1 instanceof A._Future) { + if (t4._is(t1)) { t5 = _box_0.listener.$ti; t5 = t5._eval$1("Future<2>")._is(t1) || !t5._rest[1]._is(t1); } else @@ -2886,16 +2735,16 @@ if (t5) { t4._as(t1); result = _box_0.listener.result; - if ((t1._state & 24) !== 0) { + if (t1._state >= 4) { current = t3._as(result._resultOrListeners); result._resultOrListeners = null; listeners = result._reverseListeners$1(current); - result._state = t1._state & 30 | result._state & 1; + result._state = t1._state; result._resultOrListeners = t1._resultOrListeners; _box_1.source = t1; continue; } else - A._Future__chainCoreFutureSync(t1, result); + P._Future__chainCoreFuture(t1, result); return; } } @@ -2907,27 +2756,27 @@ t5 = _box_0.listenerValueOrError; if (!t1) { result.$ti._precomputed1._as(t5); - result._state = 8; + result._state = 4; result._resultOrListeners = t5; } else { t2._as(t5); - result._state = result._state & 1 | 16; + result._state = 8; result._resultOrListeners = t5; } _box_1.source = result; t1 = result; } }, - _registerErrorHandler(errorHandler, zone) { + _registerErrorHandler: function (errorHandler, zone) { var t1 = type$.dynamic_Function_Object_StackTrace; if (t1._is(errorHandler)) return t1._as(errorHandler); t1 = type$.dynamic_Function_Object; if (t1._is(errorHandler)) return t1._as(errorHandler); - throw A.wrapException(A.ArgumentError$value(errorHandler, "onError", string$.Error_)); + throw H.wrapException(P.ArgumentError$value(errorHandler, "onError", "Error handler must accept one Object or one Object and a StackTrace as arguments, and return a valid result")); }, - _microtaskLoop() { + _microtaskLoop: function () { var entry, next; for (entry = $._nextCallback; entry != null; entry = $._nextCallback) { $._lastPriorityCallback = null; @@ -2938,36 +2787,36 @@ entry.callback.call$0(); } }, - _startMicrotaskLoop() { + _startMicrotaskLoop: function () { $._isInCallbackLoop = true; try { - A._microtaskLoop(); + P._microtaskLoop(); } finally { $._lastPriorityCallback = null; $._isInCallbackLoop = false; if ($._nextCallback != null) - $.$get$_AsyncRun__scheduleImmediateClosure().call$1(A.async___startMicrotaskLoop$closure()); + $.$get$_AsyncRun__scheduleImmediateClosure().call$1(P.async___startMicrotaskLoop$closure()); } }, - _scheduleAsyncCallback(callback) { - var newEntry = new A._AsyncCallbackEntry(callback), + _scheduleAsyncCallback: function (callback) { + var newEntry = new P._AsyncCallbackEntry(callback), lastCallback = $._lastCallback; if (lastCallback == null) { $._nextCallback = $._lastCallback = newEntry; if (!$._isInCallbackLoop) - $.$get$_AsyncRun__scheduleImmediateClosure().call$1(A.async___startMicrotaskLoop$closure()); + $.$get$_AsyncRun__scheduleImmediateClosure().call$1(P.async___startMicrotaskLoop$closure()); } else $._lastCallback = lastCallback.next = newEntry; }, - _schedulePriorityAsyncCallback(callback) { + _schedulePriorityAsyncCallback: function (callback) { var entry, lastPriorityCallback, next, t1 = $._nextCallback; if (t1 == null) { - A._scheduleAsyncCallback(callback); + P._scheduleAsyncCallback(callback); $._lastPriorityCallback = $._lastCallback; return; } - entry = new A._AsyncCallbackEntry(callback); + entry = new P._AsyncCallbackEntry(callback); lastPriorityCallback = $._lastPriorityCallback; if (lastPriorityCallback == null) { entry.next = t1; @@ -2980,30 +2829,25 @@ $._lastCallback = entry; } }, - scheduleMicrotask(callback) { - var t1, _null = null, + scheduleMicrotask: function (callback) { + var _null = null, currentZone = $.Zone__current; - if (B.C__RootZone === currentZone) { - A._rootScheduleMicrotask(_null, _null, B.C__RootZone, callback); + if (C.C__RootZone === currentZone) { + P._rootScheduleMicrotask(_null, _null, C.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))); + P._rootScheduleMicrotask(_null, _null, currentZone, type$.void_Function._as(currentZone.bindCallbackGuarded$1(callback))); }, - Timer_Timer(duration, callback) { + Timer_Timer: function (duration, callback) { var t1 = $.Zone__current; - if (t1 === B.C__RootZone) - return A.Timer__createTimer(duration, type$.void_Function._as(callback)); - return A.Timer__createTimer(duration, type$.void_Function._as(t1.bindCallbackGuarded$1(callback))); + if (t1 === C.C__RootZone) + return P.Timer__createTimer(duration, type$.void_Function._as(callback)); + return P.Timer__createTimer(duration, type$.void_Function._as(t1.bindCallbackGuarded$1(callback))); }, - _rootHandleError(error, stackTrace) { - A._schedulePriorityAsyncCallback(new A._rootHandleError_closure(error, stackTrace)); + _rootHandleUncaughtError: function ($self, $parent, zone, error, stackTrace) { + P._schedulePriorityAsyncCallback(new P._rootHandleUncaughtError_closure(error, stackTrace)); }, - _rootRun($self, $parent, zone, f, $R) { + _rootRun: function ($self, $parent, zone, f, $R) { var old, t1 = $.Zone__current; if (t1 === zone) @@ -3017,7 +2861,7 @@ $.Zone__current = old; } }, - _rootRunUnary($self, $parent, zone, f, arg, $R, $T) { + _rootRunUnary: function ($self, $parent, zone, f, arg, $R, $T) { var old, t1 = $.Zone__current; if (t1 === zone) @@ -3031,7 +2875,7 @@ $.Zone__current = old; } }, - _rootRunBinary($self, $parent, zone, f, arg1, arg2, $R, T1, T2) { + _rootRunBinary: function ($self, $parent, zone, f, arg1, arg2, $R, T1, T2) { var old, t1 = $.Zone__current; if (t1 === zone) @@ -3045,11 +2889,13 @@ $.Zone__current = old; } }, - _rootScheduleMicrotask($self, $parent, zone, f) { + _rootScheduleMicrotask: function ($self, $parent, zone, f) { + var t1; type$.void_Function._as(f); - if (B.C__RootZone !== zone) - f = zone.bindCallbackGuarded$1(f); - A._scheduleAsyncCallback(f); + t1 = C.C__RootZone !== zone; + if (t1) + f = !(!t1 || false) ? zone.bindCallbackGuarded$1(f) : zone.bindCallback$1$1(f, type$.void); + P._scheduleAsyncCallback(f); }, _AsyncRun__initializeScheduleImmediate_internalCallback: function _AsyncRun__initializeScheduleImmediate_internalCallback(t0) { this._box_0 = t0; @@ -3137,98 +2983,114 @@ }, _Zone: function _Zone() { }, - _rootHandleError_closure: function _rootHandleError_closure(t0, t1) { + _rootHandleUncaughtError_closure: function _rootHandleUncaughtError_closure(t0, t1) { this.error = t0; this.stackTrace = t1; }, _RootZone: function _RootZone() { }, + _RootZone_bindCallback_closure: function _RootZone_bindCallback_closure(t0, t1, t2) { + this.$this = t0; + this.f = t1; + this.R = t2; + }, _RootZone_bindCallbackGuarded_closure: function _RootZone_bindCallbackGuarded_closure(t0, t1) { this.$this = t0; this.f = t1; }, - ListBase: function ListBase() { - }, - 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"); - }, - 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()); - while (iterator.moveNext$0()); - } else { - string += A.S(iterator.get$current()); - for (; iterator.moveNext$0();) - string = string + separator + A.S(iterator.get$current()); - } - return string; - }, - 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); - }, - Error_throwWithStackTrace(error, stackTrace) { - A.checkNotNullable(error, "error", type$.Object); - A.checkNotNullable(stackTrace, "stackTrace", type$.StackTrace); - A.Error__throw(error, stackTrace); - }, - 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); - }, - 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); - }, - ConcurrentModificationError$(modifiedObject) { - return new A.ConcurrentModificationError(modifiedObject); - }, - Iterable_iterableToFullString(iterable, leftDelimiter, rightDelimiter) { + IterableBase_iterableToFullString: function (iterable, leftDelimiter, rightDelimiter) { var buffer, t1; - if (A.isToStringVisiting(iterable)) + if (P._isToStringVisiting(iterable)) return leftDelimiter + "..." + rightDelimiter; - buffer = new A.StringBuffer(leftDelimiter); - B.JSArray_methods.add$1($.toStringVisiting, iterable); + buffer = new P.StringBuffer(leftDelimiter); + C.JSArray_methods.add$1($._toStringVisiting, iterable); try { t1 = buffer; - t1._contents = A.StringBuffer__writeAll(t1._contents, iterable, ", "); + t1._contents = P.StringBuffer__writeAll(t1._contents, iterable, ", "); } finally { - if (0 >= $.toStringVisiting.length) - return A.ioore($.toStringVisiting, -1); - $.toStringVisiting.pop(); + if (0 >= $._toStringVisiting.length) + return H.ioore($._toStringVisiting, -1); + $._toStringVisiting.pop(); } buffer._contents += rightDelimiter; t1 = buffer._contents; return t1.charCodeAt(0) == 0 ? t1 : t1; }, - print(object) { - A.printString(A.S(object)); + _isToStringVisiting: function (o) { + var t1, i; + for (t1 = $._toStringVisiting.length, i = 0; i < t1; ++i) + if (o === $._toStringVisiting[i]) + return true; + return false; + }, + ListBase: function ListBase() { + }, + ListMixin: function ListMixin() { + }, + _ListBase_Object_ListMixin: function _ListBase_Object_ListMixin() { + }, + Error__objectToString: function (object) { + if (object instanceof H.Closure) + return object.toString$0(0); + return "Instance of '" + H.Primitives_objectTypeName(object) + "'"; + }, + StringBuffer__writeAll: function (string, objects, separator) { + var iterator = J.get$iterator$ax(objects); + if (!iterator.moveNext$0()) + return string; + if (separator.length === 0) { + do + string += H.S(iterator.get$current()); + while (iterator.moveNext$0()); + } else { + string += H.S(iterator.get$current()); + for (; iterator.moveNext$0();) + string = string + separator + H.S(iterator.get$current()); + } + return string; + }, + Error_safeToString: function (object) { + if (typeof object == "number" || H._isBool(object) || null == object) + return J.toString$0$(object); + if (typeof object == "string") + return JSON.stringify(object); + return P.Error__objectToString(object); + }, + AssertionError$: function (message) { + return new P.AssertionError(message); + }, + ArgumentError$: function (message) { + return new P.ArgumentError(false, null, null, message); + }, + ArgumentError$value: function (value, $name, message) { + return new P.ArgumentError(true, value, $name, message); + }, + RangeError$value: function (value, $name) { + return new P.RangeError(null, null, true, value, $name, "Value not in range"); + }, + IndexError$: function (invalidValue, indexable, $name, message, $length) { + var t1 = H._asInt($length == null ? J.get$length$asx(indexable) : $length); + return new P.IndexError(t1, true, invalidValue, $name, "Index out of range"); + }, + UnsupportedError$: function (message) { + return new P.UnsupportedError(message); + }, + UnimplementedError$: function (message) { + return new P.UnimplementedError(message); + }, + ConcurrentModificationError$: function (modifiedObject) { + return new P.ConcurrentModificationError(modifiedObject); + }, + print: function (object) { + H.printString(J.toString$0$(object)); }, Duration: function Duration(t0) { this._duration = t0; }, + Duration_toString_sixDigits: function Duration_toString_sixDigits() { + }, + Duration_toString_twoDigits: function Duration_toString_twoDigits() { + }, Error: function Error() { }, AssertionError: function AssertionError(t0) { @@ -3236,6 +3098,8 @@ }, TypeError: function TypeError() { }, + NullThrownError: function NullThrownError() { + }, ArgumentError: function ArgumentError(t0, t1, t2, t3) { var _ = this; _._hasValue = t0; @@ -3269,10 +3133,11 @@ ConcurrentModificationError: function ConcurrentModificationError(t0) { this.modifiedObject = t0; }, - OutOfMemoryError: function OutOfMemoryError() { - }, StackOverflowError: function StackOverflowError() { }, + CyclicInitializationError: function CyclicInitializationError(t0) { + this.variableName = t0; + }, _Exception: function _Exception(t0) { this.message = t0; }, @@ -3284,59 +3149,43 @@ }, StringBuffer: function StringBuffer(t0) { this._contents = t0; - }, + } + }, + W = { HtmlElement: function HtmlElement() { - }, - AnchorElement: function AnchorElement() { - }, - AreaElement: function AreaElement() { - }, - CharacterData: function CharacterData() { - }, - CssStyleDeclaration: function CssStyleDeclaration() { - }, - CssStyleDeclarationBase: function CssStyleDeclarationBase() { - }, - DivElement: function DivElement() { - }, - DomException: function DomException() { - }, - _FrozenElementList: function _FrozenElementList(t0, t1) { + }, AnchorElement: function AnchorElement() { + }, AreaElement: function AreaElement() { + }, CharacterData: function CharacterData() { + }, CssStyleDeclaration: function CssStyleDeclaration() { + }, CssStyleDeclarationBase: function CssStyleDeclarationBase() { + }, DivElement: function DivElement() { + }, DomException: function DomException() { + }, _FrozenElementList: function _FrozenElementList(t0, t1) { this._nodeList = t0; this.$ti = t1; - }, - Element: function Element() { - }, - EventTarget: function EventTarget() { - }, - FormElement: function FormElement() { - }, - Node: function Node() { - }, - NodeList: function NodeList() { - }, - SelectElement: function SelectElement() { - }, - TableCellElement: function TableCellElement() { - }, - ImmutableListMixin: function ImmutableListMixin() { - }, - FixedSizeListIterator: function FixedSizeListIterator(t0, t1, t2) { + }, Element: function Element() { + }, EventTarget: function EventTarget() { + }, FormElement: function FormElement() { + }, Node: function Node() { + }, NodeList: function NodeList() { + }, SelectElement: function SelectElement() { + }, TableCellElement: function TableCellElement() { + }, 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() { - }, - _NodeList_JavaScriptObject_ListMixin: function _NodeList_JavaScriptObject_ListMixin() { - }, - _NodeList_JavaScriptObject_ListMixin_ImmutableListMixin: function _NodeList_JavaScriptObject_ListMixin_ImmutableListMixin() { - }, - main() { - var t3, t4, t5, t6, a, i, b, + }, _CssStyleDeclaration_Interceptor_CssStyleDeclarationBase: function _CssStyleDeclaration_Interceptor_CssStyleDeclarationBase() { + }, _NodeList_Interceptor_ListMixin: function _NodeList_Interceptor_ListMixin() { + }, _NodeList_Interceptor_ListMixin_ImmutableListMixin: function _NodeList_Interceptor_ListMixin_ImmutableListMixin() { + } + }, + V = { + main: function () { + var t3, t4, tr, td, t5, a, i, b, _s13_ = "Hello, World!", t1 = document, t2 = t1.querySelector("#an-id"); @@ -3344,132 +3193,91 @@ t3 = t1.querySelector(".a-class"); t3.toString; t4 = type$.Element; - A.checkTypeBound(t4, t4, "T", "querySelectorAll"); + H.checkTypeBound(t4, t4, "T", "querySelectorAll"); t4 = t1.querySelectorAll("div"); - t4.toString; - t5 = t1.createElement("tr"); - t5.toString; - t6 = t1.createElement("td"); - t6.toString; - t5.appendChild(t6).toString; - B.TableCellElement_methods.set$text(t6, "\u51fb\u6740"); - t6 = t6.style; - t6.width = "44px"; - t6 = t1.createElement("td"); - t6.toString; - t5.appendChild(t6).toString; - B.TableCellElement_methods.set$text(t6, "\u81f4\u547d\u4e00\u51fb"); - t6 = t6.style; - t6.minWidth = "112px"; + tr = t1.createElement("tr"); + td = t1.createElement("td"); + tr.appendChild(td); + C.TableCellElement_methods.set$text(td, "\u51fb\u6740"); + t5 = td.style; + t5.width = "44px"; + td = t1.createElement("td"); + tr.appendChild(td); + C.TableCellElement_methods.set$text(td, "\u81f4\u547d\u4e00\u51fb"); + t5 = td.style; + t5.minWidth = "112px"; t5 = type$.DivElement; t5._as(t1.querySelector(".plist")); t5._as(t1.querySelector(".pbody")); - A.print(t2); - A.print(t3); - A.print(new A._FrozenElementList(t4, type$._FrozenElementList_Element)); - t1.querySelector("#inputs").appendChild(t2).toString; - A.print(_s13_); + P.print(t2); + P.print(t3); + P.print(new W._FrozenElementList(t4, type$._FrozenElementList_Element)); + t1.querySelector("#inputs").appendChild(t2); + P.print(_s13_); for (a = _s13_, i = 0; i < 10; ++i) - a += " " + B.JSInt_methods.toString$0(i); + a += " " + C.JSInt_methods.toString$0(i); for (b = 124242424, i = 0; i < 10; ++i) b += b * i; - A.Future_Future$delayed(new A.Duration(1000000), type$.dynamic).then$1$1(new A.main_closure(), type$.Null); - new A.main_closure0().call$0(); - A.print(a); + P.Future_Future$delayed(new P.Duration(1000000), type$.dynamic).then$1$1(new V.main_closure(), type$.Null); + new V.main_closure0().call$0(); + P.print(a); }, main_closure: function main_closure() { }, main_closure0: function main_closure0() { - }, - 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); - }, - throwLateFieldADI(fieldName) { - A.throwExpressionWithWrapper(new A.LateError("Field '" + fieldName + "' has been assigned during initialization."), new Error()); } - }, - B = {}; - var holders = [A, J, B]; + }; + var holders = [C, H, J, P, W, V]; + hunkHelpers.setFunctionNamesIfNecessary(holders); var $ = {}; - A.JS_CONST.prototype = {}; + H.JS_CONST.prototype = {}; J.Interceptor.prototype = { - toString$0(receiver) { - return "Instance of '" + A.Primitives_objectTypeName(receiver) + "'"; - }, - get$runtimeType(receiver) { - return A.createRuntimeType(A._instanceTypeFromConstructor(this)); + toString$0: function (receiver) { + return "Instance of '" + H.Primitives_objectTypeName(receiver) + "'"; } }; J.JSBool.prototype = { - toString$0(receiver) { + toString$0: function (receiver) { return String(receiver); }, - get$runtimeType(receiver) { - return A.createRuntimeType(type$.bool); - }, - $isTrustedGetRuntimeType: 1, $isbool: 1 }; J.JSNull.prototype = { - toString$0(receiver) { + toString$0: function (receiver) { return "null"; }, - $isTrustedGetRuntimeType: 1, $isNull: 1 }; - J.JavaScriptObject.prototype = {}; - J.LegacyJavaScriptObject.prototype = { - toString$0(receiver) { + J.JavaScriptObject.prototype = { + toString$0: function (receiver) { return String(receiver); } }; J.PlainJavaScriptObject.prototype = {}; J.UnknownJavaScriptObject.prototype = {}; J.JavaScriptFunction.prototype = { - toString$0(receiver) { + toString$0: function (receiver) { var dartClosure = receiver[$.$get$DART_CLOSURE_PROPERTY_NAME()]; if (dartClosure == null) - return this.super$LegacyJavaScriptObject$toString(receiver); + return this.super$JavaScriptObject$toString(receiver); return "JavaScript function for " + J.toString$0$(dartClosure); }, $isFunction: 1 }; - J.JavaScriptBigInt.prototype = { - toString$0(receiver) { - return String(receiver); - } - }; - J.JavaScriptSymbol.prototype = { - toString$0(receiver) { - return String(receiver); - } - }; J.JSArray.prototype = { - add$1(receiver, value) { - A._arrayInstanceType(receiver)._precomputed1._as(value); + add$1: function (receiver, value) { + H._arrayInstanceType(receiver)._precomputed1._as(value); if (!!receiver.fixed$length) - A.throwExpression(A.UnsupportedError$("add")); + H.throwExpression(P.UnsupportedError$("add")); receiver.push(value); }, - toString$0(receiver) { - return A.Iterable_iterableToFullString(receiver, "[", "]"); + toString$0: function (receiver) { + return P.IterableBase_iterableToFullString(receiver, "[", "]"); }, - get$iterator(receiver) { - return new J.ArrayIterator(receiver, receiver.length, A._arrayInstanceType(receiver)._eval$1("ArrayIterator<1>")); + get$iterator: function (receiver) { + return new J.ArrayIterator(receiver, receiver.length, H._arrayInstanceType(receiver)._eval$1("ArrayIterator<1>")); }, - get$length(receiver) { + get$length: function (receiver) { return receiver.length; }, $isIterable: 1, @@ -3477,18 +3285,15 @@ }; J.JSUnmodifiableArray.prototype = {}; J.ArrayIterator.prototype = { - get$current() { - var t1 = this._current; - return t1 == null ? this.$ti._precomputed1._as(t1) : t1; + get$current: function () { + return this.$ti._precomputed1._as(this._current); }, - moveNext$0() { + moveNext$0: function () { var t2, _this = this, t1 = _this._iterable, $length = t1.length; - if (_this._length !== $length) { - t1 = A.throwConcurrentModificationError(t1); - throw A.wrapException(t1); - } + if (_this._length !== $length) + throw H.wrapException(H.throwConcurrentModificationError(t1)); t2 = _this._index; if (t2 >= $length) { _this.set$_current(null); @@ -3498,21 +3303,21 @@ ++_this._index; return true; }, - set$_current(_current) { + set$_current: function (_current) { this._current = this.$ti._eval$1("1?")._as(_current); } }; J.JSNumber.prototype = { - toString$0(receiver) { + toString$0: function (receiver) { if (receiver === 0 && 1 / receiver < 0) return "-0.0"; else return "" + receiver; }, - _tdivFast$1(receiver, other) { + _tdivFast$1: function (receiver, other) { return (receiver | 0) === receiver ? receiver / other | 0 : this._tdivSlow$1(receiver, other); }, - _tdivSlow$1(receiver, other) { + _tdivSlow$1: function (receiver, other) { var quotient = receiver / other; if (quotient >= -2147483648 && quotient <= 2147483647) return quotient | 0; @@ -3521,9 +3326,9 @@ 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)); + throw H.wrapException(P.UnsupportedError$("Result of truncating division is " + H.S(quotient) + ": " + H.S(receiver) + " ~/ " + other)); }, - _shrOtherPositive$1(receiver, other) { + _shrOtherPositive$1: function (receiver, other) { var t1; if (receiver > 0) t1 = this._shrBothPositive$1(receiver, other); @@ -3533,84 +3338,42 @@ } return t1; }, - _shrBothPositive$1(receiver, other) { + _shrBothPositive$1: function (receiver, other) { return other > 31 ? 0 : receiver >>> other; }, - get$runtimeType(receiver) { - return A.createRuntimeType(type$.num); - }, $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.JSInt.prototype = { $isint: 1 }; + J.JSDouble.prototype = {}; J.JSString.prototype = { - $add(receiver, other) { + $add: function (receiver, other) { return receiver + other; }, - $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; - }, - padLeft$2(receiver, width, padding) { - var delta = width - receiver.length; - if (delta <= 0) - return receiver; - return this.$mul(padding, delta) + receiver; - }, - toString$0(receiver) { + toString$0: function (receiver) { return receiver; }, - get$runtimeType(receiver) { - return A.createRuntimeType(type$.String); - }, - get$length(receiver) { + get$length: function (receiver) { return receiver.length; }, - $isTrustedGetRuntimeType: 1, $isString: 1 }; - A.LateError.prototype = { - toString$0(_) { - return "LateInitializationError: " + this._message; + H.LateError.prototype = { + toString$0: function (_) { + var t1 = "LateInitializationError: " + this._message; + return t1; } }; - A.ListIterator.prototype = { - get$current() { - var t1 = this.__internal$_current; - return t1 == null ? this.$ti._precomputed1._as(t1) : t1; + H.ListIterator.prototype = { + get$current: function () { + return this.$ti._precomputed1._as(this.__internal$_current); }, - moveNext$0() { + moveNext$0: function () { 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)); + throw H.wrapException(P.ConcurrentModificationError$(t1)); t3 = _this.__internal$_index; if (t3 >= $length) { _this.set$__internal$_current(null); @@ -3620,12 +3383,12 @@ ++_this.__internal$_index; return true; }, - set$__internal$_current(_current) { + set$__internal$_current: function (_current) { this.__internal$_current = this.$ti._eval$1("1?")._as(_current); } }; - A.TypeErrorDecoder.prototype = { - matchTypeError$1(message) { + H.TypeErrorDecoder.prototype = { + matchTypeError$1: function (message) { var result, t1, _this = this, match = new RegExp(_this._pattern).exec(message); if (match == null) @@ -3649,13 +3412,16 @@ return result; } }; - A.NullError.prototype = { - toString$0(_) { - return "Null check operator used on a null value"; + H.NullError.prototype = { + toString$0: function (_) { + 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(_) { + H.JsNoSuchMethodError.prototype = { + toString$0: function (_) { var t2, _this = this, _s38_ = "NoSuchMethodError: method not found: '", t1 = _this._method; @@ -3667,19 +3433,19 @@ return _s38_ + t1 + "' on '" + t2 + "' (" + _this.__js_helper$_message + ")"; } }; - A.UnknownJsTypeError.prototype = { - toString$0(_) { + H.UnknownJsTypeError.prototype = { + toString$0: function (_) { var t1 = this.__js_helper$_message; return t1.length === 0 ? "Error" : "Error: " + t1; } }; - A.NullThrownFromJavaScriptException.prototype = { - toString$0(_) { + H.NullThrownFromJavaScriptException.prototype = { + toString$0: function (_) { return "Throw of null ('" + (this._irritant === null ? "null" : "undefined") + "' from JavaScript)"; } }; - A._StackTrace.prototype = { - toString$0(_) { + H._StackTrace.prototype = { + toString$0: function (_) { var trace, t1 = this._trace; if (t1 != null) @@ -3690,86 +3456,77 @@ }, $isStackTrace: 1 }; - A.Closure.prototype = { - toString$0(_) { + H.Closure.prototype = { + toString$0: function (_) { var $constructor = this.constructor, $name = $constructor == null ? null : $constructor.name; - return "Closure '" + A.unminifyOrTag($name == null ? "unknown" : $name) + "'"; + return "Closure '" + H.unminifyOrTag($name == null ? "unknown" : $name) + "'"; }, $isFunction: 1, - get$$call() { + get$$call: function () { 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(_) { + H.TearOffClosure.prototype = {}; + H.StaticClosure.prototype = { + toString$0: function (_) { var $name = this.$static_name; if ($name == null) return "Closure of unknown static method"; - return "Closure '" + A.unminifyOrTag($name) + "'"; + return "Closure '" + H.unminifyOrTag($name) + "'"; } }; - A.BoundClosure.prototype = { - toString$0(_) { - return "Closure '" + this.$_name + "' of " + ("Instance of '" + A.Primitives_objectTypeName(this._receiver) + "'"); + H.BoundClosure.prototype = { + toString$0: function (_) { + var receiver = this._receiver; + if (receiver == null) + receiver = this._self; + return "Closure '" + H.S(this._name) + "' of " + ("Instance of '" + H.Primitives_objectTypeName(type$.Object._as(receiver)) + "'"); } }; - A._CyclicInitializationError.prototype = { - toString$0(_) { - return "Reading static variable '" + this.variableName + "' during its initialization"; - } - }; - A.RuntimeError.prototype = { - toString$0(_) { + H.RuntimeError.prototype = { + toString$0: function (_) { return "RuntimeError: " + this.message; } }; - A.initHooks_closure.prototype = { - call$1(o) { + H.initHooks_closure.prototype = { + call$1: function (o) { return this.getTag(o); }, - $signature: 4 - }; - A.initHooks_closure0.prototype = { - call$2(o, tag) { - return this.getUnknownTag(o, tag); - }, $signature: 5 }; - A.initHooks_closure1.prototype = { - call$1(tag) { - return this.prototypeForTag(A._asString(tag)); + H.initHooks_closure0.prototype = { + call$2: function (o, tag) { + return this.getUnknownTag(o, tag); }, $signature: 6 }; - A.Rti.prototype = { - _eval$1(recipe) { - return A._Universe_evalInEnvironment(init.typeUniverse, this, recipe); + H.initHooks_closure1.prototype = { + call$1: function (tag) { + return this.prototypeForTag(H._asString(tag)); }, - _bind$1(typeOrTuple) { - return A._Universe_bind(init.typeUniverse, this, typeOrTuple); + $signature: 7 + }; + H.Rti.prototype = { + _eval$1: function (recipe) { + return H._Universe_evalInEnvironment(init.typeUniverse, this, recipe); + }, + _bind$1: function (typeOrTuple) { + return H._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(_) { + H._FunctionParameters.prototype = {}; + H._Error.prototype = { + toString$0: function (_) { return this.__rti$_message; } }; - A._TypeError.prototype = { $isTypeError: 1 }; - A._AsyncRun__initializeScheduleImmediate_internalCallback.prototype = { - call$1(_) { + H._TypeError.prototype = {}; + P._AsyncRun__initializeScheduleImmediate_internalCallback.prototype = { + call$1: function (_) { var t1 = this._box_0, f = t1.storedCallback; t1.storedCallback = null; @@ -3777,144 +3534,122 @@ }, $signature: 1 }; - A._AsyncRun__initializeScheduleImmediate_closure.prototype = { - call$1(callback) { + P._AsyncRun__initializeScheduleImmediate_closure.prototype = { + call$1: function (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: 7 + $signature: 8 }; - A._AsyncRun__scheduleImmediateJsOverride_internalCallback.prototype = { - call$0() { + P._AsyncRun__scheduleImmediateJsOverride_internalCallback.prototype = { + call$0: function () { this.callback.call$0(); }, $signature: 2 }; - A._AsyncRun__scheduleImmediateWithSetImmediate_internalCallback.prototype = { - call$0() { + P._AsyncRun__scheduleImmediateWithSetImmediate_internalCallback.prototype = { + call$0: function () { this.callback.call$0(); }, $signature: 2 }; - A._TimerImpl.prototype = { - _TimerImpl$2(milliseconds, callback) { + P._TimerImpl.prototype = { + _TimerImpl$2: function (milliseconds, callback) { if (self.setTimeout != null) - self.setTimeout(A.convertDartClosureToJS(new A._TimerImpl_internalCallback(this, callback), 0), milliseconds); + self.setTimeout(H.convertDartClosureToJS(new P._TimerImpl_internalCallback(this, callback), 0), milliseconds); else - throw A.wrapException(A.UnsupportedError$("`setTimeout()` not found.")); + throw H.wrapException(P.UnsupportedError$("`setTimeout()` not found.")); } }; - A._TimerImpl_internalCallback.prototype = { - call$0() { + P._TimerImpl_internalCallback.prototype = { + call$0: function () { this.callback.call$0(); }, $signature: 0 }; - A.AsyncError.prototype = { - toString$0(_) { - return A.S(this.error); + P.AsyncError.prototype = { + toString$0: function (_) { + return H.S(this.error); }, $isError: 1, - get$stackTrace() { + get$stackTrace: function () { return this.stackTrace; } }; - A.Future_Future$delayed_closure.prototype = { - call$0() { - this.T._as(null); - this.result._complete$1(null); + P.Future_Future$delayed_closure.prototype = { + call$0: function () { + this.result._complete$1(this.T._as(null)); }, $signature: 0 }; - A._FutureListener.prototype = { - matchesErrorTest$1(asyncError) { + P._FutureListener.prototype = { + matchesErrorTest$1: function (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, + handleError$1: function (asyncError) { + var errorCallback = this.errorCallback, t1 = type$.dynamic, t2 = type$.Object, t3 = asyncError.error, - t4 = _this.result._zone; + t4 = this.$ti._eval$1("2/"), + t5 = this.result._zone; if (type$.dynamic_Function_Object_StackTrace._is(errorCallback)) - result = t4.runBinary$3$3(errorCallback, t3, asyncError.stackTrace, t1, t2, type$.StackTrace); + return t4._as(t5.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; - } + return t4._as(t5.runUnary$2$2(type$.dynamic_Function_Object._as(errorCallback), t3, t1, t2)); } }; - A._Future.prototype = { - then$1$2$onError(f, onError, $R) { + P._Future.prototype = { + then$1$2$onError: function (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 { + if (currentZone !== C.C__RootZone) { $R._eval$1("@<0/>")._bind$1(t1._precomputed1)._eval$1("1(2)")._as(f); if (onError != null) - onError = A._registerErrorHandler(onError, currentZone); + onError = P._registerErrorHandler(onError, currentZone); } - result = new A._Future(currentZone, $R._eval$1("_Future<0>")); + result = new P._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>"))); + this._addListener$1(new P._FutureListener(result, t2, f, onError, t1._eval$1("@<1>")._bind$1($R)._eval$1("_FutureListener<1,2>"))); return result; }, - then$1$1(f, $R) { + then$1$1: function (f, $R) { return this.then$1$2$onError(f, null, $R); }, - _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) { + _addListener$1: function (listener) { var source, _this = this, t1 = _this._state; - if (t1 <= 3) { + if (t1 <= 1) { listener._nextListener = type$.nullable__FutureListener_dynamic_dynamic._as(_this._resultOrListeners); _this._resultOrListeners = listener; } else { - if ((t1 & 4) !== 0) { + if (t1 === 2) { source = type$._Future_dynamic._as(_this._resultOrListeners); - if ((source._state & 24) === 0) { + t1 = source._state; + if (t1 < 4) { source._addListener$1(listener); return; } - _this._cloneResult$1(source); + _this._state = t1; + _this._resultOrListeners = source._resultOrListeners; } - A._rootScheduleMicrotask(null, null, _this._zone, type$.void_Function._as(new A._Future__addListener_closure(_this, listener))); + P._rootScheduleMicrotask(null, null, _this._zone, type$.void_Function._as(new P._Future__addListener_closure(_this, listener))); } }, - _prependListeners$1(listeners) { + _prependListeners$1: function (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) { + if (t1 <= 1) { existingListeners = type$.nullable__FutureListener_dynamic_dynamic._as(_this._resultOrListeners); _this._resultOrListeners = listeners; if (existingListeners != null) { @@ -3924,24 +3659,26 @@ cursor._nextListener = existingListeners; } } else { - if ((t1 & 4) !== 0) { + if (t1 === 2) { source = type$._Future_dynamic._as(_this._resultOrListeners); - if ((source._state & 24) === 0) { + t1 = source._state; + if (t1 < 4) { source._prependListeners$1(listeners); return; } - _this._cloneResult$1(source); + _this._state = t1; + _this._resultOrListeners = source._resultOrListeners; } _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))); + P._rootScheduleMicrotask(null, null, _this._zone, type$.void_Function._as(new P._Future__prependListeners_closure(_box_0, _this))); } }, - _removeListeners$0() { + _removeListeners$0: function () { var current = type$.nullable__FutureListener_dynamic_dynamic._as(this._resultOrListeners); this._resultOrListeners = null; return this._reverseListeners$1(current); }, - _reverseListeners$1(listeners) { + _reverseListeners$1: function (listeners) { var current, prev, next; for (current = listeners, prev = null; current != null; prev = current, current = next) { next = current._nextListener; @@ -3949,18 +3686,18 @@ } return prev; }, - _chainForeignFuture$1(source) { + _chainForeignFuture$1: function (source) { var e, s, exception, _this = this; - _this._state ^= 2; + _this._state = 1; try { - source.then$1$2$onError(new A._Future__chainForeignFuture_closure(_this), new A._Future__chainForeignFuture_closure0(_this), type$.Null); + source.then$1$2$onError(new P._Future__chainForeignFuture_closure(_this), new P._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)); + e = H.unwrapException(exception); + s = H.getTraceFromException(exception); + P.scheduleMicrotask(new P._Future__chainForeignFuture_closure1(_this, e, s)); } }, - _complete$1(value) { + _complete$1: function (value) { var listeners, _this = this, t1 = _this.$ti; t1._eval$1("1/")._as(value); @@ -3969,107 +3706,109 @@ else { listeners = _this._removeListeners$0(); t1._precomputed1._as(value); - _this._state = 8; + _this._state = 4; _this._resultOrListeners = value; - A._Future__propagateToListeners(_this, listeners); + P._Future__propagateToListeners(_this, listeners); } }, - _completeError$2(error, stackTrace) { - var listeners; + _completeError$2: function (error, stackTrace) { + var listeners, t1, _this = this; type$.StackTrace._as(stackTrace); - listeners = this._removeListeners$0(); - this._setErrorObject$1(A.AsyncError$(error, stackTrace)); - A._Future__propagateToListeners(this, listeners); + listeners = _this._removeListeners$0(); + t1 = P.AsyncError$(error, stackTrace); + _this._state = 8; + _this._resultOrListeners = t1; + P._Future__propagateToListeners(_this, listeners); }, $isFuture: 1 }; - A._Future__addListener_closure.prototype = { - call$0() { - A._Future__propagateToListeners(this.$this, this.listener); + P._Future__addListener_closure.prototype = { + call$0: function () { + P._Future__propagateToListeners(this.$this, this.listener); }, $signature: 0 }; - A._Future__prependListeners_closure.prototype = { - call$0() { - A._Future__propagateToListeners(this.$this, this._box_0.listeners); + P._Future__prependListeners_closure.prototype = { + call$0: function () { + P._Future__propagateToListeners(this.$this, this._box_0.listeners); }, $signature: 0 }; - A._Future__chainForeignFuture_closure.prototype = { - call$1(value) { + P._Future__chainForeignFuture_closure.prototype = { + call$1: function (value) { var error, stackTrace, t2, listeners, exception, t1 = this.$this; - t1._state ^= 2; + t1._state = 0; try { t2 = t1.$ti._precomputed1; value = t2._as(t2._as(value)); listeners = t1._removeListeners$0(); - t1._state = 8; + t1._state = 4; t1._resultOrListeners = value; - A._Future__propagateToListeners(t1, listeners); + P._Future__propagateToListeners(t1, listeners); } catch (exception) { - error = A.unwrapException(exception); - stackTrace = A.getTraceFromException(exception); + error = H.unwrapException(exception); + stackTrace = H.getTraceFromException(exception); t1._completeError$2(error, stackTrace); } }, $signature: 1 }; - A._Future__chainForeignFuture_closure0.prototype = { - call$2(error, stackTrace) { + P._Future__chainForeignFuture_closure0.prototype = { + call$2: function (error, stackTrace) { this.$this._completeError$2(type$.Object._as(error), type$.StackTrace._as(stackTrace)); }, - $signature: 8 + $signature: 9 }; - A._Future__chainForeignFuture_closure1.prototype = { - call$0() { + P._Future__chainForeignFuture_closure1.prototype = { + call$0: function () { this.$this._completeError$2(this.e, this.s); }, $signature: 0 }; - A._Future__propagateToListeners_handleWhenCompleteCallback.prototype = { - call$0() { + P._Future__propagateToListeners_handleWhenCompleteCallback.prototype = { + call$0: function () { 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); + e = H.unwrapException(exception); + s = H.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.listenerValueOrError = P.AsyncError$(e, s); t2.listenerHasError = true; return; } - if (completeResult instanceof A._Future && (completeResult._state & 24) !== 0) { - if ((completeResult._state & 16) !== 0) { + if (completeResult instanceof P._Future && completeResult._state >= 4) { + if (completeResult._state === 8) { t1 = _this._box_0; t1.listenerValueOrError = type$.AsyncError._as(completeResult._resultOrListeners); t1.listenerHasError = true; } return; } - if (completeResult instanceof A._Future) { + 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.listenerValueOrError = completeResult.then$1$1(new P._Future__propagateToListeners_handleWhenCompleteCallback_closure(originalSource), type$.dynamic); t1.listenerHasError = false; } }, $signature: 0 }; - A._Future__propagateToListeners_handleWhenCompleteCallback_closure.prototype = { - call$1(_) { + P._Future__propagateToListeners_handleWhenCompleteCallback_closure.prototype = { + call$1: function (_) { return this.originalSource; }, - $signature: 9 + $signature: 10 }; - A._Future__propagateToListeners_handleValueCallback.prototype = { - call$0() { + P._Future__propagateToListeners_handleValueCallback.prototype = { + call$0: function () { var e, s, t1, t2, t3, t4, t5, exception; try { t1 = this._box_0; @@ -4079,17 +3818,17 @@ 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); + e = H.unwrapException(exception); + s = H.getTraceFromException(exception); t1 = this._box_0; - t1.listenerValueOrError = A.AsyncError$(e, s); + t1.listenerValueOrError = P.AsyncError$(e, s); t1.listenerHasError = true; } }, $signature: 0 }; - A._Future__propagateToListeners_handleError.prototype = { - call$0() { + P._Future__propagateToListeners_handleError.prototype = { + call$0: function () { var asyncError, e, s, t1, exception, t2, _this = this; try { asyncError = type$.AsyncError._as(_this._box_1.source._resultOrListeners); @@ -4099,124 +3838,165 @@ t1.listenerHasError = false; } } catch (exception) { - e = A.unwrapException(exception); - s = A.getTraceFromException(exception); + e = H.unwrapException(exception); + s = H.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.listenerValueOrError = P.AsyncError$(e, s); t2.listenerHasError = true; } }, $signature: 0 }; - A._AsyncCallbackEntry.prototype = {}; - A._Zone.prototype = { $isZone: 1 }; - A._rootHandleError_closure.prototype = { - call$0() { - A.Error_throwWithStackTrace(this.error, this.stackTrace); + P._AsyncCallbackEntry.prototype = {}; + P._Zone.prototype = { $isZone: 1 }; + P._rootHandleUncaughtError_closure.prototype = { + call$0: function () { + var error = type$.Object._as(H.wrapException(this.error)); + error.stack = this.stackTrace.toString$0(0); + throw error; }, $signature: 0 }; - A._RootZone.prototype = { - runGuarded$1(f) { - var e, s, exception; + P._RootZone.prototype = { + runGuarded$1: function (f) { + var e, s, exception, _null = null; type$.void_Function._as(f); try { - if (B.C__RootZone === $.Zone__current) { + if (C.C__RootZone === $.Zone__current) { f.call$0(); return; } - A._rootRun(null, null, this, f, type$.void); + P._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)); + e = H.unwrapException(exception); + s = H.getTraceFromException(exception); + P._rootHandleUncaughtError(_null, _null, this, type$.Object._as(e), type$.StackTrace._as(s)); } }, - bindCallbackGuarded$1(f) { - return new A._RootZone_bindCallbackGuarded_closure(this, type$.void_Function._as(f)); + bindCallback$1$1: function (f, $R) { + return new P._RootZone_bindCallback_closure(this, $R._eval$1("0()")._as(f), $R); }, - run$1$1(f, $R) { + bindCallbackGuarded$1: function (f) { + return new P._RootZone_bindCallbackGuarded_closure(this, type$.void_Function._as(f)); + }, + run$1$1: function (f, $R) { $R._eval$1("0()")._as(f); - if ($.Zone__current === B.C__RootZone) + if ($.Zone__current === C.C__RootZone) return f.call$0(); - return A._rootRun(null, null, this, f, $R); + return P._rootRun(null, null, this, f, $R); }, - runUnary$2$2(f, arg, $R, $T) { + runUnary$2$2: function (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) + if ($.Zone__current === C.C__RootZone) return f.call$1(arg); - return A._rootRunUnary(null, null, this, f, arg, $R, $T); + return P._rootRunUnary(null, null, this, f, arg, $R, $T); }, - runBinary$3$3(f, arg1, arg2, $R, T1, T2) { + runBinary$3$3: function (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) + if ($.Zone__current === C.C__RootZone) return f.call$2(arg1, arg2); - return A._rootRunBinary(null, null, this, f, arg1, arg2, $R, T1, T2); + return P._rootRunBinary(null, null, this, f, arg1, arg2, $R, T1, T2); } }; - A._RootZone_bindCallbackGuarded_closure.prototype = { - call$0() { + P._RootZone_bindCallback_closure.prototype = { + call$0: function () { + return this.$this.run$1$1(this.f, this.R); + }, + $signature: function () { + return this.R._eval$1("0()"); + } + }; + P._RootZone_bindCallbackGuarded_closure.prototype = { + call$0: function () { return this.$this.runGuarded$1(this.f); }, $signature: 0 }; - A.ListBase.prototype = { - get$iterator(receiver) { - return new A.ListIterator(receiver, this.get$length(receiver), A.instanceType(receiver)._eval$1("ListIterator")); + P.ListBase.prototype = { $isIterable: 1, $isList: 1 }; + P.ListMixin.prototype = { + get$iterator: function (receiver) { + return new H.ListIterator(receiver, this.get$length(receiver), H.instanceType(receiver)._eval$1("ListIterator")); }, - elementAt$1(receiver, index) { + elementAt$1: function (receiver, index) { return this.$index(receiver, index); }, - toString$0(receiver) { - return A.Iterable_iterableToFullString(receiver, "[", "]"); + toString$0: function (receiver) { + return P.IterableBase_iterableToFullString(receiver, "[", "]"); + } + }; + P._ListBase_Object_ListMixin.prototype = {}; + P.Duration.prototype = { + toString$0: function (_) { + var twoDigitMinutes, twoDigitSeconds, sixDigitUs, + t1 = new P.Duration_toString_twoDigits(), + t2 = this._duration; + if (t2 < 0) + return "-" + new P.Duration(0 - t2).toString$0(0); + twoDigitMinutes = t1.call$1(C.JSInt_methods._tdivFast$1(t2, 60000000) % 60); + twoDigitSeconds = t1.call$1(C.JSInt_methods._tdivFast$1(t2, 1000000) % 60); + sixDigitUs = new P.Duration_toString_sixDigits().call$1(t2 % 1000000); + return "" + C.JSInt_methods._tdivFast$1(t2, 3600000000) + ":" + twoDigitMinutes + ":" + twoDigitSeconds + "." + sixDigitUs; + } + }; + P.Duration_toString_sixDigits.prototype = { + call$1: function (n) { + if (n >= 100000) + return "" + n; + if (n >= 10000) + return "0" + n; + if (n >= 1000) + return "00" + n; + if (n >= 100) + return "000" + n; + if (n >= 10) + return "0000" + n; + return "00000" + n; }, - $isIterable: 1, - $isList: 1 + $signature: 4 }; - A.Duration.prototype = { - toString$0(_) { - var minutes, minutesPadding, seconds, secondsPadding, - microseconds = this._duration, - hours = B.JSInt_methods._tdivFast$1(microseconds, 3600000000); - microseconds %= 3600000000; - minutes = B.JSInt_methods._tdivFast$1(microseconds, 60000000); - microseconds %= 60000000; - minutesPadding = minutes < 10 ? "0" : ""; - seconds = B.JSInt_methods._tdivFast$1(microseconds, 1000000); - secondsPadding = seconds < 10 ? "0" : ""; - return "" + hours + ":" + minutesPadding + minutes + ":" + secondsPadding + seconds + "." + B.JSString_methods.padLeft$2(B.JSInt_methods.toString$0(microseconds % 1000000), 6, "0"); + P.Duration_toString_twoDigits.prototype = { + call$1: function (n) { + if (n >= 10) + return "" + n; + return "0" + n; + }, + $signature: 4 + }; + P.Error.prototype = { + get$stackTrace: function () { + return H.getTraceFromException(this.$thrownJsError); } }; - A.Error.prototype = { - get$stackTrace() { - return A.getTraceFromException(this.$thrownJsError); - } - }; - A.AssertionError.prototype = { - toString$0(_) { + P.AssertionError.prototype = { + toString$0: function (_) { var t1 = this.message; if (t1 != null) - return "Assertion failed: " + A.Error_safeToString(t1); + return "Assertion failed: " + P.Error_safeToString(t1); return "Assertion failed"; } }; - A.TypeError.prototype = {}; - A.ArgumentError.prototype = { - get$_errorName() { + P.TypeError.prototype = {}; + P.NullThrownError.prototype = { + toString$0: function (_) { + return "Throw of null."; + } + }; + P.ArgumentError.prototype = { + get$_errorName: function () { return "Invalid argument" + (!this._hasValue ? "(s)" : ""); }, - get$_errorExplanation() { + get$_errorExplanation: function () { return ""; }, - toString$0(_) { - var _this = this, + toString$0: function (_) { + var explanation, errorValue, _this = this, $name = _this.name, nameString = $name == null ? "" : " (" + $name + ")", message = _this.message, @@ -4224,239 +4004,213 @@ 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; + explanation = _this.get$_errorExplanation(); + errorValue = P.Error_safeToString(_this.invalidValue); + return prefix + explanation + ": " + errorValue; } }; - A.RangeError.prototype = { - get$invalidValue() { - return A._asNumQ(this.invalidValue); - }, - get$_errorName() { + P.RangeError.prototype = { + get$_errorName: function () { return "RangeError"; }, - get$_errorExplanation() { + get$_errorExplanation: function () { var explanation, start = this.start, end = this.end; if (start == null) - explanation = end != null ? ": Not less than or equal to " + A.S(end) : ""; + explanation = end != null ? ": Not less than or equal to " + H.S(end) : ""; else if (end == null) - explanation = ": Not greater than or equal to " + A.S(start); + explanation = ": Not greater than or equal to " + H.S(start); else if (end > start) - explanation = ": Not in inclusive range " + A.S(start) + ".." + A.S(end); + explanation = ": Not in inclusive range " + H.S(start) + ".." + H.S(end); else - explanation = end < start ? ": Valid value range is empty" : ": Only valid value is " + A.S(start); + explanation = end < start ? ": Valid value range is empty" : ": Only valid value is " + H.S(start); return explanation; } }; - A.IndexError.prototype = { - get$invalidValue() { - return A._asInt(this.invalidValue); - }, - get$_errorName() { + P.IndexError.prototype = { + get$_errorName: function () { return "RangeError"; }, - get$_errorExplanation() { - if (A._asInt(this.invalidValue) < 0) + get$_errorExplanation: function () { + if (H._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) { + get$length: function (receiver) { return this.length; } }; - A.UnsupportedError.prototype = { - toString$0(_) { + P.UnsupportedError.prototype = { + toString$0: function (_) { return "Unsupported operation: " + this.message; } }; - A.UnimplementedError.prototype = { - toString$0(_) { - return "UnimplementedError: " + this.message; + P.UnimplementedError.prototype = { + toString$0: function (_) { + var t1 = "UnimplementedError: " + this.message; + return t1; } }; - A.ConcurrentModificationError.prototype = { - toString$0(_) { - return "Concurrent modification during iteration: " + A.Error_safeToString(this.modifiedObject) + "."; + P.ConcurrentModificationError.prototype = { + toString$0: function (_) { + var t1 = this.modifiedObject; + if (t1 == null) + return "Concurrent modification during iteration."; + return "Concurrent modification during iteration: " + P.Error_safeToString(t1) + "."; } }; - A.OutOfMemoryError.prototype = { - toString$0(_) { - return "Out of Memory"; - }, - get$stackTrace() { - return null; - }, - $isError: 1 - }; - A.StackOverflowError.prototype = { - toString$0(_) { + P.StackOverflowError.prototype = { + toString$0: function (_) { return "Stack Overflow"; }, - get$stackTrace() { + get$stackTrace: function () { return null; }, $isError: 1 }; - A._Exception.prototype = { - toString$0(_) { + P.CyclicInitializationError.prototype = { + toString$0: function (_) { + var t1 = "Reading static variable '" + this.variableName + "' during its initialization"; + return t1; + } + }; + P._Exception.prototype = { + toString$0: function (_) { return "Exception: " + this.message; } }; - A.Null.prototype = { - toString$0(_) { + P.Null.prototype = { + toString$0: function (_) { return "null"; } }; - A.Object.prototype = { - $isObject: 1, - toString$0(_) { - return "Instance of '" + A.Primitives_objectTypeName(this) + "'"; + P.Object.prototype = { + constructor: P.Object, $isObject: 1, + toString$0: function (_) { + return "Instance of '" + H.Primitives_objectTypeName(this) + "'"; }, - get$runtimeType(_) { - return A.getRuntimeTypeOfDartObject(this); - }, - toString() { + toString: function () { return this.toString$0(this); } }; - A._StringStackTrace.prototype = { - toString$0(_) { + P._StringStackTrace.prototype = { + toString$0: function (_) { return ""; }, $isStackTrace: 1 }; - A.StringBuffer.prototype = { - get$length(_) { + P.StringBuffer.prototype = { + get$length: function (_) { return this._contents.length; }, - toString$0(_) { + toString$0: function (_) { var t1 = this._contents; return t1.charCodeAt(0) == 0 ? t1 : t1; } }; - A.HtmlElement.prototype = {}; - A.AnchorElement.prototype = { - toString$0(receiver) { - var t1 = String(receiver); - t1.toString; - return t1; + W.HtmlElement.prototype = {}; + W.AnchorElement.prototype = { + toString$0: function (receiver) { + return String(receiver); } }; - A.AreaElement.prototype = { - toString$0(receiver) { - var t1 = String(receiver); - t1.toString; - return t1; + W.AreaElement.prototype = { + toString$0: function (receiver) { + return String(receiver); } }; - A.CharacterData.prototype = { - get$length(receiver) { + W.CharacterData.prototype = { + get$length: function (receiver) { return receiver.length; } }; - A.CssStyleDeclaration.prototype = { - get$length(receiver) { - var t1 = receiver.length; - t1.toString; - return t1; + W.CssStyleDeclaration.prototype = { + get$length: function (receiver) { + return receiver.length; } }; - A.CssStyleDeclarationBase.prototype = {}; - A.DivElement.prototype = { $isDivElement: 1 }; - A.DomException.prototype = { - toString$0(receiver) { - var t1 = String(receiver); - t1.toString; - return t1; + W.CssStyleDeclarationBase.prototype = {}; + W.DivElement.prototype = { $isDivElement: 1 }; + W.DomException.prototype = { + toString$0: function (receiver) { + return String(receiver); } }; - A._FrozenElementList.prototype = { - get$length(_) { + W._FrozenElementList.prototype = { + get$length: function (_) { return this._nodeList.length; }, - $index(_, index) { + $index: function (_, index) { var t1 = this._nodeList; - if (!(index >= 0 && index < t1.length)) - return A.ioore(t1, index); + if (index < 0 || index >= t1.length) + return H.ioore(t1, index); return this.$ti._precomputed1._as(t1[index]); } }; - A.Element.prototype = { - toString$0(receiver) { - var t1 = receiver.localName; - t1.toString; - return t1; + W.Element.prototype = { + toString$0: function (receiver) { + return receiver.localName; }, $isElement: 1 }; - A.EventTarget.prototype = {}; - A.FormElement.prototype = { - get$length(receiver) { + W.EventTarget.prototype = {}; + W.FormElement.prototype = { + get$length: function (receiver) { return receiver.length; } }; - A.Node.prototype = { - toString$0(receiver) { + W.Node.prototype = { + toString$0: function (receiver) { var value = receiver.nodeValue; return value == null ? this.super$Interceptor$toString(receiver) : value; }, - set$text(receiver, value) { + set$text: function (receiver, value) { receiver.textContent = value; }, $isNode: 1 }; - A.NodeList.prototype = { - get$length(receiver) { - var t1 = receiver.length; - t1.toString; - return t1; + W.NodeList.prototype = { + get$length: function (receiver) { + return receiver.length; }, - $index(receiver, index) { - var 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; + $index: function (receiver, index) { + if (index >>> 0 !== index || index >= receiver.length) + throw H.wrapException(P.IndexError$(index, receiver, null, null, null)); + return receiver[index]; }, - elementAt$1(receiver, index) { - if (!(index < receiver.length)) - return A.ioore(receiver, index); + elementAt$1: function (receiver, index) { + if (index >= receiver.length) + return H.ioore(receiver, index); return receiver[index]; }, $isJavaScriptIndexingBehavior: 1, $isIterable: 1, $isList: 1 }; - A.SelectElement.prototype = { - get$length(receiver) { + W.SelectElement.prototype = { + get$length: function (receiver) { return receiver.length; } }; - A.TableCellElement.prototype = {}; - A.ImmutableListMixin.prototype = { - get$iterator(receiver) { - return new A.FixedSizeListIterator(receiver, receiver.length, A.instanceType(receiver)._eval$1("FixedSizeListIterator")); + W.TableCellElement.prototype = {}; + W.ImmutableListMixin.prototype = { + get$iterator: function (receiver) { + return new W.FixedSizeListIterator(receiver, receiver.length, H.instanceType(receiver)._eval$1("FixedSizeListIterator")); } }; - A.FixedSizeListIterator.prototype = { - moveNext$0() { + W.FixedSizeListIterator.prototype = { + moveNext$0: function () { var _this = this, nextPosition = _this._position + 1, t1 = _this._html$_length; if (nextPosition < t1) { t1 = _this._array; - if (!(nextPosition >= 0 && nextPosition < t1.length)) - return A.ioore(t1, nextPosition); + if (nextPosition < 0 || nextPosition >= t1.length) + return H.ioore(t1, nextPosition); _this.set$_html$_current(t1[nextPosition]); _this._position = nextPosition; return true; @@ -4465,91 +4219,90 @@ _this._position = t1; return false; }, - get$current() { - var t1 = this._html$_current; - return t1 == null ? this.$ti._precomputed1._as(t1) : t1; + get$current: function () { + return this.$ti._precomputed1._as(this._html$_current); }, - set$_html$_current(_current) { + set$_html$_current: function (_current) { this._html$_current = this.$ti._eval$1("1?")._as(_current); } }; - A._CssStyleDeclaration_JavaScriptObject_CssStyleDeclarationBase.prototype = {}; - A._NodeList_JavaScriptObject_ListMixin.prototype = {}; - A._NodeList_JavaScriptObject_ListMixin_ImmutableListMixin.prototype = {}; - A.main_closure.prototype = { - call$1(value) { - A.print("\u5ef6\u65f61\u79d2\u6267\u884c then "); - A.print(value); + W._CssStyleDeclaration_Interceptor_CssStyleDeclarationBase.prototype = {}; + W._NodeList_Interceptor_ListMixin.prototype = {}; + W._NodeList_Interceptor_ListMixin_ImmutableListMixin.prototype = {}; + V.main_closure.prototype = { + call$1: function (value) { + P.print("\u5ef6\u65f61\u79d2\u6267\u884c then "); + P.print(value); }, $signature: 1 }; - A.main_closure0.prototype = { - call$0() { - A.print("closuer"); + V.main_closure0.prototype = { + call$0: function () { + P.print("closuer"); }, $signature: 2 }; (function aliases() { var _ = J.Interceptor.prototype; _.super$Interceptor$toString = _.toString$0; - _ = J.LegacyJavaScriptObject.prototype; - _.super$LegacyJavaScriptObject$toString = _.toString$0; + _ = J.JavaScriptObject.prototype; + _.super$JavaScriptObject$toString = _.toString$0; })(); (function installTearOffs() { var _static_1 = hunkHelpers._static_1, _static_0 = hunkHelpers._static_0; - _static_1(A, "async__AsyncRun__scheduleImmediateJsOverride$closure", "_AsyncRun__scheduleImmediateJsOverride", 3); - _static_1(A, "async__AsyncRun__scheduleImmediateWithSetImmediate$closure", "_AsyncRun__scheduleImmediateWithSetImmediate", 3); - _static_1(A, "async__AsyncRun__scheduleImmediateWithTimer$closure", "_AsyncRun__scheduleImmediateWithTimer", 3); - _static_0(A, "async___startMicrotaskLoop$closure", "_startMicrotaskLoop", 0); + _static_1(P, "async__AsyncRun__scheduleImmediateJsOverride$closure", "_AsyncRun__scheduleImmediateJsOverride", 3); + _static_1(P, "async__AsyncRun__scheduleImmediateWithSetImmediate$closure", "_AsyncRun__scheduleImmediateWithSetImmediate", 3); + _static_1(P, "async__AsyncRun__scheduleImmediateWithTimer$closure", "_AsyncRun__scheduleImmediateWithTimer", 3); + _static_0(P, "async___startMicrotaskLoop$closure", "_startMicrotaskLoop", 0); })(); (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.Error, A.ListIterator, A.TypeErrorDecoder, A.NullThrownFromJavaScriptException, A._StackTrace, A.Closure, A.Rti, A._FunctionParameters, A._Type, A._TimerImpl, A.AsyncError, A._FutureListener, A._Future, A._AsyncCallbackEntry, A._Zone, A.ListBase, A.Duration, A.OutOfMemoryError, A.StackOverflowError, A._Exception, A.Null, A._StringStackTrace, A.StringBuffer, A.CssStyleDeclarationBase, A.ImmutableListMixin, A.FixedSizeListIterator]); - _inheritMany(J.Interceptor, [J.JSBool, J.JSNull, J.JavaScriptObject, J.JavaScriptBigInt, J.JavaScriptSymbol, J.JSNumber, J.JSString]); - _inheritMany(J.JavaScriptObject, [J.LegacyJavaScriptObject, J.JSArray, A.EventTarget, A._CssStyleDeclaration_JavaScriptObject_CssStyleDeclarationBase, A.DomException, A._NodeList_JavaScriptObject_ListMixin]); - _inheritMany(J.LegacyJavaScriptObject, [J.PlainJavaScriptObject, J.UnknownJavaScriptObject, J.JavaScriptFunction]); + _inherit(P.Object, null); + _inheritMany(P.Object, [H.JS_CONST, J.Interceptor, J.ArrayIterator, P.Error, H.ListIterator, H.TypeErrorDecoder, H.NullThrownFromJavaScriptException, H._StackTrace, H.Closure, H.Rti, H._FunctionParameters, P._TimerImpl, P.AsyncError, P._FutureListener, P._Future, P._AsyncCallbackEntry, P._Zone, P._ListBase_Object_ListMixin, P.ListMixin, P.Duration, P.StackOverflowError, P._Exception, P.Null, P._StringStackTrace, P.StringBuffer, W.CssStyleDeclarationBase, W.ImmutableListMixin, W.FixedSizeListIterator]); + _inheritMany(J.Interceptor, [J.JSBool, J.JSNull, J.JavaScriptObject, J.JSArray, J.JSNumber, J.JSString, W.EventTarget, W._CssStyleDeclaration_Interceptor_CssStyleDeclarationBase, W.DomException, W._NodeList_Interceptor_ListMixin]); + _inheritMany(J.JavaScriptObject, [J.PlainJavaScriptObject, J.UnknownJavaScriptObject, J.JavaScriptFunction]); _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._Error, A.AssertionError, A.ArgumentError, A.UnsupportedError, A.UnimplementedError, A.ConcurrentModificationError]); - _inherit(A.NullError, A.TypeError); - _inheritMany(A.Closure, [A.Closure0Args, A.Closure2Args, A.TearOffClosure, A.initHooks_closure, A.initHooks_closure1, A._AsyncRun__initializeScheduleImmediate_internalCallback, A._AsyncRun__initializeScheduleImmediate_closure, A._Future__chainForeignFuture_closure, A._Future__propagateToListeners_handleWhenCompleteCallback_closure, A.main_closure]); - _inheritMany(A.TearOffClosure, [A.StaticClosure, A.BoundClosure]); - _inheritMany(A.Closure2Args, [A.initHooks_closure0, A._Future__chainForeignFuture_closure0]); - _inherit(A._TypeError, A._Error); - _inheritMany(A.Closure0Args, [A._AsyncRun__scheduleImmediateJsOverride_internalCallback, A._AsyncRun__scheduleImmediateWithSetImmediate_internalCallback, A._TimerImpl_internalCallback, A.Future_Future$delayed_closure, A._Future__addListener_closure, A._Future__prependListeners_closure, A._Future__chainForeignFuture_closure1, A._Future__propagateToListeners_handleWhenCompleteCallback, A._Future__propagateToListeners_handleValueCallback, A._Future__propagateToListeners_handleError, A._rootHandleError_closure, A._RootZone_bindCallbackGuarded_closure, A.main_closure0]); - _inherit(A._RootZone, A._Zone); - _inheritMany(A.ArgumentError, [A.RangeError, A.IndexError]); - _inherit(A.Node, A.EventTarget); - _inheritMany(A.Node, [A.Element, A.CharacterData]); - _inherit(A.HtmlElement, A.Element); - _inheritMany(A.HtmlElement, [A.AnchorElement, A.AreaElement, A.DivElement, A.FormElement, A.SelectElement, A.TableCellElement]); - _inherit(A.CssStyleDeclaration, A._CssStyleDeclaration_JavaScriptObject_CssStyleDeclarationBase); - _inherit(A._FrozenElementList, A.ListBase); - _inherit(A._NodeList_JavaScriptObject_ListMixin_ImmutableListMixin, A._NodeList_JavaScriptObject_ListMixin); - _inherit(A.NodeList, A._NodeList_JavaScriptObject_ListMixin_ImmutableListMixin); - _mixin(A._CssStyleDeclaration_JavaScriptObject_CssStyleDeclarationBase, A.CssStyleDeclarationBase); - _mixin(A._NodeList_JavaScriptObject_ListMixin, A.ListBase); - _mixin(A._NodeList_JavaScriptObject_ListMixin_ImmutableListMixin, A.ImmutableListMixin); + _inheritMany(J.JSNumber, [J.JSInt, J.JSDouble]); + _inheritMany(P.Error, [H.LateError, P.TypeError, H.JsNoSuchMethodError, H.UnknownJsTypeError, H.RuntimeError, H._Error, P.AssertionError, P.NullThrownError, P.ArgumentError, P.UnsupportedError, P.UnimplementedError, P.ConcurrentModificationError, P.CyclicInitializationError]); + _inherit(H.NullError, P.TypeError); + _inheritMany(H.Closure, [H.TearOffClosure, H.initHooks_closure, H.initHooks_closure0, H.initHooks_closure1, P._AsyncRun__initializeScheduleImmediate_internalCallback, P._AsyncRun__initializeScheduleImmediate_closure, P._AsyncRun__scheduleImmediateJsOverride_internalCallback, P._AsyncRun__scheduleImmediateWithSetImmediate_internalCallback, P._TimerImpl_internalCallback, P.Future_Future$delayed_closure, P._Future__addListener_closure, P._Future__prependListeners_closure, P._Future__chainForeignFuture_closure, P._Future__chainForeignFuture_closure0, P._Future__chainForeignFuture_closure1, P._Future__propagateToListeners_handleWhenCompleteCallback, P._Future__propagateToListeners_handleWhenCompleteCallback_closure, P._Future__propagateToListeners_handleValueCallback, P._Future__propagateToListeners_handleError, P._rootHandleUncaughtError_closure, P._RootZone_bindCallback_closure, P._RootZone_bindCallbackGuarded_closure, P.Duration_toString_sixDigits, P.Duration_toString_twoDigits, V.main_closure, V.main_closure0]); + _inheritMany(H.TearOffClosure, [H.StaticClosure, H.BoundClosure]); + _inherit(H._TypeError, H._Error); + _inherit(P._RootZone, P._Zone); + _inherit(P.ListBase, P._ListBase_Object_ListMixin); + _inheritMany(P.ArgumentError, [P.RangeError, P.IndexError]); + _inherit(W.Node, W.EventTarget); + _inheritMany(W.Node, [W.Element, W.CharacterData]); + _inherit(W.HtmlElement, W.Element); + _inheritMany(W.HtmlElement, [W.AnchorElement, W.AreaElement, W.DivElement, W.FormElement, W.SelectElement, W.TableCellElement]); + _inherit(W.CssStyleDeclaration, W._CssStyleDeclaration_Interceptor_CssStyleDeclarationBase); + _inherit(W._FrozenElementList, P.ListBase); + _inherit(W._NodeList_Interceptor_ListMixin_ImmutableListMixin, W._NodeList_Interceptor_ListMixin); + _inherit(W.NodeList, W._NodeList_Interceptor_ListMixin_ImmutableListMixin); + _mixin(P._ListBase_Object_ListMixin, P.ListMixin); + _mixin(W._CssStyleDeclaration_Interceptor_CssStyleDeclarationBase, W.CssStyleDeclarationBase); + _mixin(W._NodeList_Interceptor_ListMixin, P.ListMixin); + _mixin(W._NodeList_Interceptor_ListMixin_ImmutableListMixin, W.ImmutableListMixin); })(); 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", Object: "Object", Map: "Map" }, + mangledGlobalNames: { int: "int", double: "double", num: "num", String: "String", bool: "bool", Null: "Null", List: "List" }, mangledNames: {}, - types: ["~()", "Null(@)", "Null()", "~(~())", "@(@)", "@(@,String)", "@(String)", "Null(~())", "Null(Object,StackTrace)", "_Future<@>(@)"], + getTypeFromName: getGlobalFromName, + metadata: [], + types: ["~()", "Null(@)", "Null()", "~(~())", "String(int)", "@(@)", "@(@,String)", "@(String)", "Null(~())", "Null(Object,StackTrace)", "_Future<@>(@)"], interceptorsByTag: null, leafTags: null, - arrayRti: Symbol("$ti") - }; - A._Universe_addRules(init.typeUniverse, JSON.parse('{"PlainJavaScriptObject":"LegacyJavaScriptObject","UnknownJavaScriptObject":"LegacyJavaScriptObject","JavaScriptFunction":"LegacyJavaScriptObject","MathMLElement":"Element","AudioElement":"HtmlElement","MediaElement":"HtmlElement","HtmlDocument":"Node","Document":"Node","CDataSection":"CharacterData","Text":"CharacterData","JSBool":{"bool":[],"TrustedGetRuntimeType":[]},"JSNull":{"Null":[],"TrustedGetRuntimeType":[]},"JSArray":{"List":["1"],"Iterable":["1"]},"JSUnmodifiableArray":{"JSArray":["1"],"List":["1"],"Iterable":["1"]},"JSNumber":{"num":[]},"JSInt":{"int":[],"num":[],"TrustedGetRuntimeType":[]},"JSNumNotInt":{"num":[],"TrustedGetRuntimeType":[]},"JSString":{"String":[],"TrustedGetRuntimeType":[]},"LateError":{"Error":[]},"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":[]},"_Error":{"Error":[]},"_TypeError":{"TypeError":[],"Error":[]},"_Future":{"Future":["1"]},"AsyncError":{"Error":[]},"_Zone":{"Zone":[]},"_RootZone":{"_Zone":[],"Zone":[]},"ListBase":{"List":["1"],"Iterable":["1"]},"AssertionError":{"Error":[]},"TypeError":{"Error":[]},"ArgumentError":{"Error":[]},"RangeError":{"Error":[]},"IndexError":{"Error":[]},"UnsupportedError":{"Error":[]},"UnimplementedError":{"Error":[]},"ConcurrentModificationError":{"Error":[]},"OutOfMemoryError":{"Error":[]},"StackOverflowError":{"Error":[]},"_StringStackTrace":{"StackTrace":[]},"Element":{"Node":[]},"HtmlElement":{"Element":[],"Node":[]},"AnchorElement":{"Element":[],"Node":[]},"AreaElement":{"Element":[],"Node":[]},"CharacterData":{"Node":[]},"DivElement":{"Element":[],"Node":[]},"_FrozenElementList":{"ListBase":["1"],"List":["1"],"Iterable":["1"],"ListBase.E":"1"},"FormElement":{"Element":[],"Node":[]},"NodeList":{"ListBase":["Node"],"ImmutableListMixin":["Node"],"List":["Node"],"JavaScriptIndexingBehavior":["Node"],"Iterable":["Node"],"ListBase.E":"Node","ImmutableListMixin.E":"Node"},"SelectElement":{"Element":[],"Node":[]},"TableCellElement":{"Element":[],"Node":[]}}')); - 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" + arrayRti: typeof Symbol == "function" && typeof Symbol() == "symbol" ? Symbol("$ti") : "$ti" }; + H._Universe_addRules(init.typeUniverse, JSON.parse('{"PlainJavaScriptObject":"JavaScriptObject","UnknownJavaScriptObject":"JavaScriptObject","JavaScriptFunction":"JavaScriptObject","AElement":"Element","GraphicsElement":"Element","SvgElement":"Element","AudioElement":"HtmlElement","MediaElement":"HtmlElement","HtmlDocument":"Node","Document":"Node","CDataSection":"CharacterData","Text":"CharacterData","JSBool":{"bool":[]},"JSNull":{"Null":[]},"JavaScriptObject":{"Function":[]},"JSArray":{"List":["1"],"Iterable":["1"]},"JSUnmodifiableArray":{"JSArray":["1"],"List":["1"],"Iterable":["1"]},"JSNumber":{"num":[]},"JSInt":{"int":[],"num":[]},"JSDouble":{"num":[]},"JSString":{"String":[]},"LateError":{"Error":[]},"NullError":{"Error":[]},"JsNoSuchMethodError":{"Error":[]},"UnknownJsTypeError":{"Error":[]},"_StackTrace":{"StackTrace":[]},"Closure":{"Function":[]},"TearOffClosure":{"Function":[]},"StaticClosure":{"Function":[]},"BoundClosure":{"Function":[]},"RuntimeError":{"Error":[]},"_Error":{"Error":[]},"_TypeError":{"Error":[]},"AsyncError":{"Error":[]},"_Future":{"Future":["1"]},"_Zone":{"Zone":[]},"_RootZone":{"_Zone":[],"Zone":[]},"ListBase":{"ListMixin":["1"],"List":["1"],"Iterable":["1"]},"int":{"num":[]},"AssertionError":{"Error":[]},"TypeError":{"Error":[]},"NullThrownError":{"Error":[]},"ArgumentError":{"Error":[]},"RangeError":{"Error":[]},"IndexError":{"Error":[]},"UnsupportedError":{"Error":[]},"UnimplementedError":{"Error":[]},"ConcurrentModificationError":{"Error":[]},"StackOverflowError":{"Error":[]},"CyclicInitializationError":{"Error":[]},"_StringStackTrace":{"StackTrace":[]},"HtmlElement":{"Element":[],"Node":[]},"AnchorElement":{"Element":[],"Node":[]},"AreaElement":{"Element":[],"Node":[]},"CharacterData":{"Node":[]},"DivElement":{"Element":[],"Node":[]},"_FrozenElementList":{"ListMixin":["1"],"List":["1"],"Iterable":["1"],"ListMixin.E":"1"},"Element":{"Node":[]},"FormElement":{"Element":[],"Node":[]},"NodeList":{"ListMixin":["Node"],"ImmutableListMixin":["Node"],"List":["Node"],"JavaScriptIndexingBehavior":["Node"],"Iterable":["Node"],"ListMixin.E":"Node","ImmutableListMixin.E":"Node"},"SelectElement":{"Element":[],"Node":[]},"TableCellElement":{"Element":[],"Node":[]}}')); + H._Universe_addErasedTypes(init.typeUniverse, JSON.parse('{"ListBase":1,"_ListBase_Object_ListMixin":1}')); + 0; var type$ = (function rtii() { - var findType = A.findType; + var findType = H.findType; return { AsyncError: findType("AsyncError"), DivElement: findType("DivElement"), @@ -4564,11 +4317,8 @@ JavaScriptIndexingBehavior_dynamic: findType("JavaScriptIndexingBehavior<@>"), Null: findType("Null"), Object: findType("Object"), - Record: findType("Record"), StackTrace: findType("StackTrace"), String: findType("String"), - TrustedGetRuntimeType: findType("TrustedGetRuntimeType"), - TypeError: findType("TypeError"), UnknownJavaScriptObject: findType("UnknownJavaScriptObject"), _FrozenElementList_Element: findType("_FrozenElementList"), _Future_dynamic: findType("_Future<@>"), @@ -4591,20 +4341,19 @@ }; })(); (function constants() { - B.Interceptor_methods = J.Interceptor.prototype; - B.JSArray_methods = J.JSArray.prototype; - B.JSInt_methods = J.JSInt.prototype; - B.JSString_methods = J.JSString.prototype; - B.JavaScriptFunction_methods = J.JavaScriptFunction.prototype; - B.JavaScriptObject_methods = J.JavaScriptObject.prototype; - B.PlainJavaScriptObject_methods = J.PlainJavaScriptObject.prototype; - B.TableCellElement_methods = A.TableCellElement.prototype; - B.UnknownJavaScriptObject_methods = J.UnknownJavaScriptObject.prototype; - B.C_JS_CONST = function getTagFallback(o) { + C.Interceptor_methods = J.Interceptor.prototype; + C.JSArray_methods = J.JSArray.prototype; + C.JSInt_methods = J.JSInt.prototype; + C.JSString_methods = J.JSString.prototype; + C.JavaScriptFunction_methods = J.JavaScriptFunction.prototype; + C.PlainJavaScriptObject_methods = J.PlainJavaScriptObject.prototype; + C.TableCellElement_methods = W.TableCellElement.prototype; + C.UnknownJavaScriptObject_methods = J.UnknownJavaScriptObject.prototype; + C.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 () { + C.C_JS_CONST0 = function () { var toStringFunction = Object.prototype.toString; function getTag(o) { var s = toStringFunction.call(o); @@ -4618,7 +4367,7 @@ } } function getUnknownTagGenericBrowser(object, tag) { - if (object instanceof HTMLElement) return "HTMLElement"; + if (self.HTMLElement && object instanceof HTMLElement) return "HTMLElement"; return getUnknownTag(object, tag); } function prototypeForTag(tag) { @@ -4629,7 +4378,7 @@ return constructor.prototype; } function discriminator(tag) { return null; } - var isBrowser = typeof HTMLElement == "function"; + var isBrowser = typeof navigator == "object"; return { getTag: getTag, getUnknownTag: isBrowser ? getUnknownTagGenericBrowser : getUnknownTag, @@ -4637,13 +4386,12 @@ discriminator: discriminator }; }; - B.C_JS_CONST6 = function (getTagFallback) { + C.C_JS_CONST6 = function (getTagFallback) { return function (hooks) { if (typeof navigator != "object") return hooks; - var userAgent = navigator.userAgent; - if (typeof userAgent != "string") return hooks; - if (userAgent.indexOf("DumpRenderTree") >= 0) return hooks; - if (userAgent.indexOf("Chrome") >= 0) { + 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; } @@ -4652,14 +4400,30 @@ hooks.getTag = getTagFallback; }; }; - B.C_JS_CONST1 = function (hooks) { + C.C_JS_CONST1 = function (hooks) { if (typeof dartExperimentalFixupGetTag != "function") return hooks; hooks.getTag = dartExperimentalFixupGetTag(hooks.getTag); }; - B.C_JS_CONST5 = function (hooks) { - if (typeof navigator != "object") return hooks; - var userAgent = navigator.userAgent; - if (typeof userAgent != "string") return hooks; + C.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; + }; + C.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 = { @@ -4676,10 +4440,8 @@ } hooks.getTag = getTagFirefox; }; - B.C_JS_CONST4 = function (hooks) { - if (typeof navigator != "object") return hooks; - var userAgent = navigator.userAgent; - if (typeof userAgent != "string") return hooks; + C.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 = { @@ -4707,36 +4469,17 @@ hooks.getTag = getTagIE; hooks.prototypeForTag = prototypeForTagIE; }; - 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_CONST3 = function (hooks) { return hooks; } + C.C_JS_CONST3 = function (hooks) { return hooks; } ; - B.C_OutOfMemoryError = new A.OutOfMemoryError(); - B.C__RootZone = new A._RootZone(); - B.C__StringStackTrace = new A._StringStackTrace(); - B.Duration_0 = new A.Duration(0); + C.C__RootZone = new P._RootZone(); + C.C__StringStackTrace = new P._StringStackTrace(); + C.Duration_0 = new P.Duration(0); })(); (function staticFields() { $._JS_INTEROP_INTERCEPTOR_TAG = null; - $.toStringVisiting = A._setArrayType([], A.findType("JSArray")); - $.BoundClosure__receiverFieldNameCache = null; - $.BoundClosure__interceptorFieldNameCache = null; + $.Closure_functionCounter = 0; + $.BoundClosure_selfFieldNameCache = null; + $.BoundClosure_receiverFieldNameCache = null; $.getTagFunction = null; $.alternateTagFunction = null; $.prototypeForTagFunction = null; @@ -4747,57 +4490,82 @@ $._lastCallback = null; $._lastPriorityCallback = null; $._isInCallbackLoop = false; - $.Zone__current = B.C__RootZone; + $.Zone__current = C.C__RootZone; + $._toStringVisiting = H.setRuntimeTypeInfo([], H.findType("JSArray")); })(); (function lazyInitializers() { var _lazyFinal = hunkHelpers.lazyFinal; - _lazyFinal($, "DART_CLOSURE_PROPERTY_NAME", "$get$DART_CLOSURE_PROPERTY_NAME", () => A.getIsolateAffinityTag("_$dart_dartClosure")); - _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($, "DART_CLOSURE_PROPERTY_NAME", "$get$DART_CLOSURE_PROPERTY_NAME", function () { + return H.getIsolateAffinityTag("_$dart_dartClosure"); + }); + _lazyFinal($, "TypeErrorDecoder_noSuchMethodPattern", "$get$TypeErrorDecoder_noSuchMethodPattern", function () { + return H.TypeErrorDecoder_extractPattern(H.TypeErrorDecoder_provokeCallErrorOn({ + toString: function () { + return "$receiver$"; + } + })); + }); + _lazyFinal($, "TypeErrorDecoder_notClosurePattern", "$get$TypeErrorDecoder_notClosurePattern", function () { + return H.TypeErrorDecoder_extractPattern(H.TypeErrorDecoder_provokeCallErrorOn({ + $method$: null, + toString: function () { + return "$receiver$"; + } + })); + }); + _lazyFinal($, "TypeErrorDecoder_nullCallPattern", "$get$TypeErrorDecoder_nullCallPattern", function () { + return H.TypeErrorDecoder_extractPattern(H.TypeErrorDecoder_provokeCallErrorOn(null)); + }); + _lazyFinal($, "TypeErrorDecoder_nullLiteralCallPattern", "$get$TypeErrorDecoder_nullLiteralCallPattern", function () { + return H.TypeErrorDecoder_extractPattern(function () { + var $argumentsExpr$ = "$arguments$"; + try { + null.$method$($argumentsExpr$); + } catch (e) { + return e.message; + } + }()); + }); + _lazyFinal($, "TypeErrorDecoder_undefinedCallPattern", "$get$TypeErrorDecoder_undefinedCallPattern", function () { + return H.TypeErrorDecoder_extractPattern(H.TypeErrorDecoder_provokeCallErrorOn(void 0)); + }); + _lazyFinal($, "TypeErrorDecoder_undefinedLiteralCallPattern", "$get$TypeErrorDecoder_undefinedLiteralCallPattern", function () { + return H.TypeErrorDecoder_extractPattern(function () { + var $argumentsExpr$ = "$arguments$"; + try { + (void 0).$method$($argumentsExpr$); + } catch (e) { + return e.message; + } + }()); + }); + _lazyFinal($, "TypeErrorDecoder_nullPropertyPattern", "$get$TypeErrorDecoder_nullPropertyPattern", function () { + return H.TypeErrorDecoder_extractPattern(H.TypeErrorDecoder_provokePropertyErrorOn(null)); + }); + _lazyFinal($, "TypeErrorDecoder_nullLiteralPropertyPattern", "$get$TypeErrorDecoder_nullLiteralPropertyPattern", function () { + return H.TypeErrorDecoder_extractPattern(function () { + try { + null.$method$; + } catch (e) { + return e.message; + } + }()); + }); + _lazyFinal($, "TypeErrorDecoder_undefinedPropertyPattern", "$get$TypeErrorDecoder_undefinedPropertyPattern", function () { + return H.TypeErrorDecoder_extractPattern(H.TypeErrorDecoder_provokePropertyErrorOn(void 0)); + }); + _lazyFinal($, "TypeErrorDecoder_undefinedLiteralPropertyPattern", "$get$TypeErrorDecoder_undefinedLiteralPropertyPattern", function () { + return H.TypeErrorDecoder_extractPattern(function () { + try { + (void 0).$method$; + } catch (e) { + return e.message; + } + }()); + }); + _lazyFinal($, "_AsyncRun__scheduleImmediateClosure", "$get$_AsyncRun__scheduleImmediateClosure", function () { + return P._AsyncRun__initializeScheduleImmediate(); + }); })(); (function nativeSupport() { !function () { @@ -4822,27 +4590,9 @@ } init.dispatchPropertyName = init.getIsolateTag("dispatch_record"); }(); - hunkHelpers.setOrUpdateInterceptorsByTag({ ApplicationCacheErrorEvent: J.JavaScriptObject, DOMError: J.JavaScriptObject, ErrorEvent: J.JavaScriptObject, Event: J.JavaScriptObject, InputEvent: J.JavaScriptObject, SubmitEvent: J.JavaScriptObject, MediaError: J.JavaScriptObject, Navigator: J.JavaScriptObject, NavigatorConcurrentHardware: J.JavaScriptObject, NavigatorUserMediaError: J.JavaScriptObject, OverconstrainedError: J.JavaScriptObject, PositionError: J.JavaScriptObject, GeolocationPositionError: J.JavaScriptObject, SensorErrorEvent: J.JavaScriptObject, SpeechRecognitionError: J.JavaScriptObject, 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, 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, HTMLTableColElement: A.HtmlElement, HTMLTableElement: A.HtmlElement, HTMLTableRowElement: A.HtmlElement, HTMLTableSectionElement: A.HtmlElement, HTMLTemplateElement: A.HtmlElement, HTMLTextAreaElement: A.HtmlElement, HTMLTimeElement: A.HtmlElement, HTMLTitleElement: A.HtmlElement, HTMLTrackElement: A.HtmlElement, HTMLUListElement: A.HtmlElement, HTMLUnknownElement: A.HtmlElement, HTMLVideoElement: A.HtmlElement, HTMLDirectoryElement: A.HtmlElement, HTMLFontElement: A.HtmlElement, HTMLFrameElement: A.HtmlElement, HTMLFrameSetElement: A.HtmlElement, HTMLMarqueeElement: A.HtmlElement, HTMLElement: A.HtmlElement, HTMLAnchorElement: A.AnchorElement, HTMLAreaElement: A.AreaElement, CDATASection: A.CharacterData, CharacterData: A.CharacterData, Comment: A.CharacterData, ProcessingInstruction: A.CharacterData, Text: A.CharacterData, CSSStyleDeclaration: A.CssStyleDeclaration, MSStyleCSSProperties: A.CssStyleDeclaration, CSS2Properties: A.CssStyleDeclaration, HTMLDivElement: A.DivElement, DOMException: A.DomException, 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, Window: A.EventTarget, DOMWindow: A.EventTarget, EventTarget: A.EventTarget, HTMLFormElement: A.FormElement, 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, HTMLSelectElement: A.SelectElement, HTMLTableCellElement: A.TableCellElement, HTMLTableDataCellElement: A.TableCellElement, HTMLTableHeaderCellElement: A.TableCellElement }); - hunkHelpers.setOrUpdateLeafTags({ ApplicationCacheErrorEvent: true, DOMError: true, ErrorEvent: true, Event: true, InputEvent: true, SubmitEvent: true, MediaError: true, Navigator: true, NavigatorConcurrentHardware: true, NavigatorUserMediaError: true, OverconstrainedError: true, PositionError: true, GeolocationPositionError: true, SensorErrorEvent: true, SpeechRecognitionError: true, HTMLAudioElement: true, HTMLBRElement: true, HTMLBaseElement: true, HTMLBodyElement: true, HTMLButtonElement: true, HTMLCanvasElement: true, HTMLContentElement: true, HTMLDListElement: true, HTMLDataElement: true, HTMLDataListElement: true, HTMLDetailsElement: true, HTMLDialogElement: 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, HTMLTableColElement: true, HTMLTableElement: true, HTMLTableRowElement: true, HTMLTableSectionElement: true, HTMLTemplateElement: true, HTMLTextAreaElement: true, HTMLTimeElement: true, HTMLTitleElement: true, HTMLTrackElement: true, HTMLUListElement: true, HTMLUnknownElement: true, HTMLVideoElement: true, HTMLDirectoryElement: true, HTMLFontElement: true, HTMLFrameElement: true, HTMLFrameSetElement: true, HTMLMarqueeElement: true, HTMLElement: false, HTMLAnchorElement: true, HTMLAreaElement: true, CDATASection: true, CharacterData: true, Comment: true, ProcessingInstruction: true, Text: true, CSSStyleDeclaration: true, MSStyleCSSProperties: true, CSS2Properties: true, HTMLDivElement: true, DOMException: 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, Window: true, DOMWindow: true, EventTarget: false, HTMLFormElement: true, Document: true, DocumentFragment: true, HTMLDocument: true, ShadowRoot: true, XMLDocument: true, Attr: true, DocumentType: true, Node: false, NodeList: true, RadioNodeList: true, HTMLSelectElement: true, HTMLTableCellElement: true, HTMLTableDataCellElement: true, HTMLTableHeaderCellElement: true }); + hunkHelpers.setOrUpdateInterceptorsByTag({ ApplicationCacheErrorEvent: J.Interceptor, DOMError: J.Interceptor, ErrorEvent: J.Interceptor, Event: J.Interceptor, InputEvent: J.Interceptor, SubmitEvent: J.Interceptor, MediaError: J.Interceptor, Navigator: J.Interceptor, NavigatorConcurrentHardware: J.Interceptor, NavigatorUserMediaError: J.Interceptor, OverconstrainedError: J.Interceptor, PositionError: J.Interceptor, SensorErrorEvent: J.Interceptor, SpeechRecognitionError: J.Interceptor, SQLError: J.Interceptor, HTMLAudioElement: W.HtmlElement, HTMLBRElement: W.HtmlElement, HTMLBaseElement: W.HtmlElement, HTMLBodyElement: W.HtmlElement, HTMLButtonElement: W.HtmlElement, HTMLCanvasElement: W.HtmlElement, HTMLContentElement: W.HtmlElement, HTMLDListElement: W.HtmlElement, HTMLDataElement: W.HtmlElement, HTMLDataListElement: W.HtmlElement, HTMLDetailsElement: W.HtmlElement, HTMLDialogElement: W.HtmlElement, HTMLEmbedElement: W.HtmlElement, HTMLFieldSetElement: W.HtmlElement, HTMLHRElement: W.HtmlElement, HTMLHeadElement: W.HtmlElement, HTMLHeadingElement: W.HtmlElement, HTMLHtmlElement: W.HtmlElement, HTMLIFrameElement: W.HtmlElement, HTMLImageElement: W.HtmlElement, HTMLInputElement: W.HtmlElement, HTMLLIElement: W.HtmlElement, HTMLLabelElement: W.HtmlElement, HTMLLegendElement: W.HtmlElement, HTMLLinkElement: W.HtmlElement, HTMLMapElement: W.HtmlElement, HTMLMediaElement: W.HtmlElement, HTMLMenuElement: W.HtmlElement, HTMLMetaElement: W.HtmlElement, HTMLMeterElement: W.HtmlElement, HTMLModElement: W.HtmlElement, HTMLOListElement: W.HtmlElement, HTMLObjectElement: W.HtmlElement, HTMLOptGroupElement: W.HtmlElement, HTMLOptionElement: W.HtmlElement, HTMLOutputElement: W.HtmlElement, HTMLParagraphElement: W.HtmlElement, HTMLParamElement: W.HtmlElement, HTMLPictureElement: W.HtmlElement, HTMLPreElement: W.HtmlElement, HTMLProgressElement: W.HtmlElement, HTMLQuoteElement: W.HtmlElement, HTMLScriptElement: W.HtmlElement, HTMLShadowElement: W.HtmlElement, HTMLSlotElement: W.HtmlElement, HTMLSourceElement: W.HtmlElement, HTMLSpanElement: W.HtmlElement, HTMLStyleElement: W.HtmlElement, HTMLTableCaptionElement: W.HtmlElement, HTMLTableColElement: W.HtmlElement, HTMLTableElement: W.HtmlElement, HTMLTableRowElement: W.HtmlElement, HTMLTableSectionElement: W.HtmlElement, HTMLTemplateElement: W.HtmlElement, HTMLTextAreaElement: W.HtmlElement, HTMLTimeElement: W.HtmlElement, HTMLTitleElement: W.HtmlElement, HTMLTrackElement: W.HtmlElement, HTMLUListElement: W.HtmlElement, HTMLUnknownElement: W.HtmlElement, HTMLVideoElement: W.HtmlElement, HTMLDirectoryElement: W.HtmlElement, HTMLFontElement: W.HtmlElement, HTMLFrameElement: W.HtmlElement, HTMLFrameSetElement: W.HtmlElement, HTMLMarqueeElement: W.HtmlElement, HTMLElement: W.HtmlElement, HTMLAnchorElement: W.AnchorElement, HTMLAreaElement: W.AreaElement, CDATASection: W.CharacterData, CharacterData: W.CharacterData, Comment: W.CharacterData, ProcessingInstruction: W.CharacterData, Text: W.CharacterData, CSSStyleDeclaration: W.CssStyleDeclaration, MSStyleCSSProperties: W.CssStyleDeclaration, CSS2Properties: W.CssStyleDeclaration, HTMLDivElement: W.DivElement, DOMException: W.DomException, SVGAElement: W.Element, SVGAnimateElement: W.Element, SVGAnimateMotionElement: W.Element, SVGAnimateTransformElement: W.Element, SVGAnimationElement: W.Element, SVGCircleElement: W.Element, SVGClipPathElement: W.Element, SVGDefsElement: W.Element, SVGDescElement: W.Element, SVGDiscardElement: W.Element, SVGEllipseElement: W.Element, SVGFEBlendElement: W.Element, SVGFEColorMatrixElement: W.Element, SVGFEComponentTransferElement: W.Element, SVGFECompositeElement: W.Element, SVGFEConvolveMatrixElement: W.Element, SVGFEDiffuseLightingElement: W.Element, SVGFEDisplacementMapElement: W.Element, SVGFEDistantLightElement: W.Element, SVGFEFloodElement: W.Element, SVGFEFuncAElement: W.Element, SVGFEFuncBElement: W.Element, SVGFEFuncGElement: W.Element, SVGFEFuncRElement: W.Element, SVGFEGaussianBlurElement: W.Element, SVGFEImageElement: W.Element, SVGFEMergeElement: W.Element, SVGFEMergeNodeElement: W.Element, SVGFEMorphologyElement: W.Element, SVGFEOffsetElement: W.Element, SVGFEPointLightElement: W.Element, SVGFESpecularLightingElement: W.Element, SVGFESpotLightElement: W.Element, SVGFETileElement: W.Element, SVGFETurbulenceElement: W.Element, SVGFilterElement: W.Element, SVGForeignObjectElement: W.Element, SVGGElement: W.Element, SVGGeometryElement: W.Element, SVGGraphicsElement: W.Element, SVGImageElement: W.Element, SVGLineElement: W.Element, SVGLinearGradientElement: W.Element, SVGMarkerElement: W.Element, SVGMaskElement: W.Element, SVGMetadataElement: W.Element, SVGPathElement: W.Element, SVGPatternElement: W.Element, SVGPolygonElement: W.Element, SVGPolylineElement: W.Element, SVGRadialGradientElement: W.Element, SVGRectElement: W.Element, SVGScriptElement: W.Element, SVGSetElement: W.Element, SVGStopElement: W.Element, SVGStyleElement: W.Element, SVGElement: W.Element, SVGSVGElement: W.Element, SVGSwitchElement: W.Element, SVGSymbolElement: W.Element, SVGTSpanElement: W.Element, SVGTextContentElement: W.Element, SVGTextElement: W.Element, SVGTextPathElement: W.Element, SVGTextPositioningElement: W.Element, SVGTitleElement: W.Element, SVGUseElement: W.Element, SVGViewElement: W.Element, SVGGradientElement: W.Element, SVGComponentTransferFunctionElement: W.Element, SVGFEDropShadowElement: W.Element, SVGMPathElement: W.Element, Element: W.Element, Window: W.EventTarget, DOMWindow: W.EventTarget, EventTarget: W.EventTarget, HTMLFormElement: W.FormElement, Document: W.Node, DocumentFragment: W.Node, HTMLDocument: W.Node, ShadowRoot: W.Node, XMLDocument: W.Node, Attr: W.Node, DocumentType: W.Node, Node: W.Node, NodeList: W.NodeList, RadioNodeList: W.NodeList, HTMLSelectElement: W.SelectElement, HTMLTableCellElement: W.TableCellElement, HTMLTableDataCellElement: W.TableCellElement, HTMLTableHeaderCellElement: W.TableCellElement }); + hunkHelpers.setOrUpdateLeafTags({ ApplicationCacheErrorEvent: true, DOMError: true, ErrorEvent: true, Event: true, InputEvent: true, SubmitEvent: true, MediaError: true, Navigator: true, NavigatorConcurrentHardware: true, NavigatorUserMediaError: true, OverconstrainedError: true, PositionError: true, SensorErrorEvent: true, SpeechRecognitionError: true, SQLError: true, HTMLAudioElement: true, HTMLBRElement: true, HTMLBaseElement: true, HTMLBodyElement: true, HTMLButtonElement: true, HTMLCanvasElement: true, HTMLContentElement: true, HTMLDListElement: true, HTMLDataElement: true, HTMLDataListElement: true, HTMLDetailsElement: true, HTMLDialogElement: 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, HTMLTableColElement: true, HTMLTableElement: true, HTMLTableRowElement: true, HTMLTableSectionElement: true, HTMLTemplateElement: true, HTMLTextAreaElement: true, HTMLTimeElement: true, HTMLTitleElement: true, HTMLTrackElement: true, HTMLUListElement: true, HTMLUnknownElement: true, HTMLVideoElement: true, HTMLDirectoryElement: true, HTMLFontElement: true, HTMLFrameElement: true, HTMLFrameSetElement: true, HTMLMarqueeElement: true, HTMLElement: false, HTMLAnchorElement: true, HTMLAreaElement: true, CDATASection: true, CharacterData: true, Comment: true, ProcessingInstruction: true, Text: true, CSSStyleDeclaration: true, MSStyleCSSProperties: true, CSS2Properties: true, HTMLDivElement: true, DOMException: 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, Window: true, DOMWindow: true, EventTarget: false, HTMLFormElement: true, Document: true, DocumentFragment: true, HTMLDocument: true, ShadowRoot: true, XMLDocument: true, Attr: true, DocumentType: true, Node: false, NodeList: true, RadioNodeList: true, HTMLSelectElement: true, HTMLTableCellElement: true, HTMLTableDataCellElement: true, HTMLTableHeaderCellElement: true }); })(); - Function.prototype.call$1$1 = function (a) { - return this(a); - }; - Function.prototype.call$0 = function () { - return this(); - }; - Function.prototype.call$1 = function (a) { - return this(a); - }; - Function.prototype.call$2 = function (a, b) { - return this(a, b); - }; - 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); - }; convertAllToFastObject(holders); convertToFastObject($); (function (callback) { @@ -4856,22 +4606,19 @@ } var scripts = document.scripts; function onLoad(event) { - for (var i = 0; i < scripts.length; ++i) { + for (var i = 0; i < scripts.length; ++i) scripts[i].removeEventListener("load", onLoad, false); - } callback(event.target); } - for (var i = 0; i < scripts.length; ++i) { + for (var i = 0; i < scripts.length; ++i) scripts[i].addEventListener("load", onLoad, false); - } })(function (currentScript) { init.currentScript = currentScript; - var callMain = A.main; - if (typeof dartMainRunner === "function") { + var callMain = V.main; + if (typeof dartMainRunner === "function") dartMainRunner(callMain, []); - } else { + else callMain([]); - } }); })();