Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(360)

Unified Diff: src/site/docs/tutorials/fetchdata/examples/portmanteaux_simple/portmanteaux_simple.dart.js

Issue 26542002: edit pass on T3,4,5, updated images (Closed) Base URL: https://github.com/dart-lang/dartlang.org.git@master
Patch Set: merging with master Created 7 years, 2 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: src/site/docs/tutorials/fetchdata/examples/portmanteaux_simple/portmanteaux_simple.dart.js
diff --git a/src/site/docs/tutorials/fetchdata/examples/portmanteaux_simple/portmanteaux_simple.dart.js b/src/site/docs/tutorials/fetchdata/examples/portmanteaux_simple/portmanteaux_simple.dart.js
new file mode 100644
index 0000000000000000000000000000000000000000..86b7b0017c7cc0627599fe96e61af37b564afca4
--- /dev/null
+++ b/src/site/docs/tutorials/fetchdata/examples/portmanteaux_simple/portmanteaux_simple.dart.js
@@ -0,0 +1,6817 @@
+// Generated by dart2js, the Dart to JavaScript compiler.
+// The code supports the following hooks:
+// dartPrint(message) - if this function is defined it is called
+// instead of the Dart [print] method.
+// dartMainRunner(main) - if this function is defined, the Dart [main]
+// method will not be invoked directly.
+// Instead, a closure that will invoke [main] is
+// passed to [dartMainRunner].
+(function($) {
+var A = {};
+delete A.x;
+var B = {};
+delete B.x;
+var C = {};
+delete C.x;
+var D = {};
+delete D.x;
+var E = {};
+delete E.x;
+var F = {};
+delete F.x;
+var G = {};
+delete G.x;
+var H = {};
+delete H.x;
+var J = {};
+delete J.x;
+var K = {};
+delete K.x;
+var L = {};
+delete L.x;
+var M = {};
+delete M.x;
+var N = {};
+delete N.x;
+var O = {};
+delete O.x;
+var P = {};
+delete P.x;
+var Q = {};
+delete Q.x;
+var R = {};
+delete R.x;
+var S = {};
+delete S.x;
+var T = {};
+delete T.x;
+var U = {};
+delete U.x;
+var V = {};
+delete V.x;
+var W = {};
+delete W.x;
+var X = {};
+delete X.x;
+var Y = {};
+delete Y.x;
+var Z = {};
+delete Z.x;
+function Isolate() {}
+init();
+
+$ = Isolate.$isolateProperties;
+var $$ = {};
+
+// Native classes
+// Bound closures
+$$.Bound__completeError__Future = [P, {"": "BoundClosure;_self,_liblib1$_target,_receiver,_liblib1$_name",
+ call$2: function(p0, p1) {
+ return this._liblib1$_target.call(this._self, p0, p1);
+ },
+ call$1: function(error) {
+ return this.call$2(error, null);
+ }
+}];
+
+$$.Bound__onPause__BufferingStreamSubscription = [P, {"": "BoundClosure;_self,_liblib1$_target,_receiver,_liblib1$_name",
+ call$0: function() {
+ return this._liblib1$_target.call(this._self);
+ },
+ $is_void_: true
+}];
+
+$$.Bound__onResume__BufferingStreamSubscription = [P, {"": "BoundClosure;_self,_liblib1$_target,_receiver,_liblib1$_name",
+ call$0: function() {
+ return this._liblib1$_target.call(this._self);
+ },
+ $is_void_: true
+}];
+
+$$.Bound__onPause__ForwardingStreamSubscription = [P, {"": "BoundClosure;_self,_liblib1$_target,_receiver,_liblib1$_name",
+ call$0: function() {
+ return this._liblib1$_target.call(this._self);
+ },
+ $is_void_: true
+}];
+
+$$.Bound__onResume__ForwardingStreamSubscription = [P, {"": "BoundClosure;_self,_liblib1$_target,_receiver,_liblib1$_name",
+ call$0: function() {
+ return this._liblib1$_target.call(this._self);
+ },
+ $is_void_: true
+}];
+
+$$.BoundClosure$1 = [P, {"": "BoundClosure;_self,_liblib1$_target,_receiver,_liblib1$_name",
+ call$1: function(p0) {
+ return this._liblib1$_target.call(this._self, p0);
+ }
+}];
+
+$$.Bound__handleDone__ForwardingStreamSubscription = [P, {"": "BoundClosure;_self,_liblib1$_target,_receiver,_liblib1$_name",
+ call$0: function() {
+ return this._liblib1$_target.call(this._self);
+ },
+ $is_void_: true
+}];
+
+$$.Closure$_processWorkerMessage = [H, {"": "Closure;call$2,$name"}];
+
+$$.Closure$toStringWrapper = [H, {"": "Closure;call$0,$name", $is_void_: true}];
+
+$$.Closure$invokeClosure = [H, {"": "Closure;call$5,$name"}];
+
+$$.Closure$isAssignable = [H, {"": "Closure;call$2,$name"}];
+
+$$.Closure$typeNameInChrome = [H, {"": "Closure;call$1,$name"}];
+
+$$.Closure$typeNameInSafari = [H, {"": "Closure;call$1,$name"}];
+
+$$.Closure$typeNameInOpera = [H, {"": "Closure;call$1,$name"}];
+
+$$.Closure$typeNameInFirefox = [H, {"": "Closure;call$1,$name"}];
+
+$$.Closure$typeNameInIE = [H, {"": "Closure;call$1,$name"}];
+
+$$.Closure$constructorNameFallback = [H, {"": "Closure;call$1,$name"}];
+
+$$.Closure$callDartFunctionWith1Arg = [H, {"": "Closure;call$2,$name"}];
+
+$$.Closure$_asyncRunCallback = [P, {"": "Closure;call$0,$name", $is_void_: true}];
+
+$$.Closure$_nullDataHandler = [P, {"": "Closure;call$1,$name"}];
+
+$$.Closure$_nullErrorHandler = [P, {"": "Closure;call$1,$name"}];
+
+$$.Closure$_nullDoneHandler = [P, {"": "Closure;call$0,$name", $is_void_: true}];
+
+$$.Closure$_rootHandleUncaughtError = [P, {"": "Closure;call$4,$name"}];
+
+$$.Closure$_rootRun = [P, {"": "Closure;call$4,$name"}];
+
+$$.Closure$_rootRunUnary = [P, {"": "Closure;call$5,$name"}];
+
+$$.Closure$_rootRegisterCallback = [P, {"": "Closure;call$4,$name"}];
+
+$$.Closure$_rootRegisterUnaryCallback = [P, {"": "Closure;call$4,$name"}];
+
+$$.Closure$_rootScheduleMicrotask = [P, {"": "Closure;call$4,$name"}];
+
+$$.Closure$_rootCreateTimer = [P, {"": "Closure;call$5,$name"}];
+
+$$.Closure$_rootCreatePeriodicTimer = [P, {"": "Closure;call$5,$name"}];
+
+$$.Closure$_rootFork = [P, {"": "Closure;call$5,$name"}];
+
+$$.Closure$_defaultEquals = [P, {"": "Closure;call$2,$name"}];
+
+$$.Closure$_defaultHashCode = [P, {"": "Closure;call$1,$name"}];
+
+$$.Closure$identical = [P, {"": "Closure;call$2,$name"}];
+
+$$.Closure$identityHashCode = [P, {"": "Closure;call$1,$name"}];
+
+$$.Closure$main = [O, {"": "Closure;call$0,$name", $is_void_: true}];
+
+$$.Closure$makeRequest = [O, {"": "Closure;call$1,$name"}];
+
+$$.Closure$processString = [O, {"": "Closure;call$1,$name"}];
+
+$$.Closure$handleError = [O, {"": "Closure;call$1,$name"}];
+
+(function (reflectionData) {
+ function map(x){x={x:x};delete x.x;return x}
+ if (!init.libraries) init.libraries = [];
+ if (!init.mangledNames) init.mangledNames = map();
+ if (!init.mangledGlobalNames) init.mangledGlobalNames = map();
+ if (!init.statics) init.statics = map();
+ if (!init.interfaces) init.interfaces = map();
+ if (!init.globalFunctions) init.globalFunctions = map();
+ var libraries = init.libraries;
+ var mangledNames = init.mangledNames;
+ var mangledGlobalNames = init.mangledGlobalNames;
+ var hasOwnProperty = Object.prototype.hasOwnProperty;
+ var length = reflectionData.length;
+ for (var i = 0; i < length; i++) {
+ var data = reflectionData[i];
+ var name = data[0];
+ var uri = data[1];
+ var metadata = data[2];
+ var globalObject = data[3];
+ var descriptor = data[4];
+ var isRoot = !!data[5];
+ var fields = descriptor && descriptor[""];
+ var classes = [];
+ var functions = [];
+ function processStatics(descriptor) {
+ for (var property in descriptor) {
+ if (!hasOwnProperty.call(descriptor, property)) continue;
+ if (property === "") continue;
+ var element = descriptor[property];
+ var firstChar = property.substring(0, 1);
+ var previousProperty;
+ if (firstChar === "+") {
+ mangledGlobalNames[previousProperty] = property.substring(1);
+ if (descriptor[property] == 1) descriptor[previousProperty].$reflectable = 1;
+ if (element && element.length) init.interfaces[previousProperty] = element;
+ } else if (firstChar === "@") {
+ property = property.substring(1);
+ $[property]["@"] = element;
+ } else if (firstChar === "*") {
+ globalObject[previousProperty].$defaultValues = element;
+ var optionalMethods = descriptor.$methodsWithOptionalArguments;
+ if (!optionalMethods) {
+ descriptor.$methodsWithOptionalArguments = optionalMethods = {}
+ }
+ optionalMethods[property] = previousProperty;
+ } else if (typeof element === "function") {
+ globalObject[previousProperty = property] = element;
+ functions.push(property);
+ init.globalFunctions[property] = element;
+ } else {
+ previousProperty = property;
+ var newDesc = {};
+ var previousProp;
+ for (var prop in element) {
+ if (!hasOwnProperty.call(element, prop)) continue;
+ firstChar = prop.substring(0, 1);
+ if (prop === "static") {
+ processStatics(init.statics[property] = element[prop]);
+ } else if (firstChar === "+") {
+ mangledNames[previousProp] = prop.substring(1);
+ if (element[prop] == 1) element[previousProp].$reflectable = 1;
+ } else if (firstChar === "@" && prop !== "@") {
+ newDesc[prop.substring(1)]["@"] = element[prop];
+ } else if (firstChar === "*") {
+ newDesc[previousProp].$defaultValues = element[prop];
+ var optionalMethods = newDesc.$methodsWithOptionalArguments;
+ if (!optionalMethods) {
+ newDesc.$methodsWithOptionalArguments = optionalMethods={}
+ }
+ optionalMethods[prop] = previousProp;
+ } else {
+ newDesc[previousProp = prop] = element[prop];
+ }
+ }
+ $$[property] = [globalObject, newDesc];
+ classes.push(property);
+ }
+ }
+ }
+ processStatics(descriptor);
+ libraries.push([name, uri, classes, functions, metadata, fields, isRoot,
+ globalObject]);
+ }
+})([
+["_foreign_helper", "dart:_foreign_helper", , H, {
+JS_CONST: {"": "Object;code"}}],
+["_interceptors", "dart:_interceptors", , J, {
+getInterceptor: function(object) {
+ return void 0;
+},
+
+makeDispatchRecord: function(interceptor, proto, extension, indexability) {
+ return {i: interceptor, p: proto, e: extension, x: indexability};
+},
+
+getNativeInterceptor: function(object) {
+ var record, proto, objectProto;
+ 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)
+ return proto(object, record);
+ }
+ record = H.lookupDispatchRecord(object);
+ if (record == null)
+ return C.C_UnknownJavaScriptObject;
+ Object.defineProperty(Object.getPrototypeOf(object), init.dispatchPropertyName, {value: record, enumerable: false, writable: true, configurable: true});
+ return J.getNativeInterceptor(object);
+},
+
+Interceptor: {"": "Object;",
+ $eq: function(receiver, other) {
+ return receiver === other;
+ },
+ get$hashCode: function(receiver) {
+ return H.Primitives_objectHashCode(receiver);
+ },
+ toString$0: function(receiver) {
+ return H.Primitives_objectToString(receiver);
+ }
+},
+
+JSBool: {"": "bool/Interceptor;",
+ toString$0: function(receiver) {
+ return String(receiver);
+ },
+ get$hashCode: function(receiver) {
+ return receiver ? 519018 : 218159;
+ },
+ $isbool: true
+},
+
+JSNull: {"": "Interceptor;",
+ $eq: function(receiver, other) {
+ return null == other;
+ },
+ toString$0: function(receiver) {
+ return "null";
+ },
+ get$hashCode: function(receiver) {
+ return 0;
+ }
+},
+
+JavaScriptObject: {"": "Interceptor;",
+ get$hashCode: function(_) {
+ return 0;
+ }
+},
+
+PlainJavaScriptObject: {"": "JavaScriptObject;"},
+
+UnknownJavaScriptObject: {"": "JavaScriptObject;"},
+
+JSArray: {"": "List/Interceptor;",
+ forEach$1: function(receiver, f) {
+ return H.IterableMixinWorkaround_forEach(receiver, f);
+ },
+ map$1: function(receiver, f) {
+ var t1 = new H.MappedListIterable(receiver, f);
+ H.setRuntimeTypeInfo(t1, [null, null]);
+ return t1;
+ },
+ elementAt$1: function(receiver, index) {
+ if (index < 0 || index >= receiver.length)
+ throw H.ioore(receiver, index);
+ return receiver[index];
+ },
+ toString$0: function(receiver) {
+ return H.IterableMixinWorkaround_toStringIterable(receiver, "[", "]");
+ },
+ get$iterator: function(receiver) {
+ return new H.ListIterator(receiver, receiver.length, 0, null);
+ },
+ get$hashCode: function(receiver) {
+ return H.Primitives_objectHashCode(receiver);
+ },
+ get$length: function(receiver) {
+ return receiver.length;
+ },
+ set$length: function(receiver, newLength) {
+ if (newLength < 0)
+ throw H.wrapException(new P.RangeError("value " + newLength));
+ if (!!receiver.fixed$length)
+ H.throwExpression(new P.UnsupportedError("set length"));
+ receiver.length = newLength;
+ },
+ $index: function(receiver, index) {
+ if (typeof index !== "number" || Math.floor(index) !== index)
+ throw H.wrapException(new P.ArgumentError(index));
+ if (index >= receiver.length || index < 0)
+ throw H.wrapException(new P.RangeError("value " + H.S(index)));
+ return receiver[index];
+ },
+ $indexSet: function(receiver, index, value) {
+ if (!!receiver.immutable$list)
+ H.throwExpression(new P.UnsupportedError("indexed set"));
+ if (typeof index !== "number" || Math.floor(index) !== index)
+ throw H.wrapException(new P.ArgumentError(index));
+ if (index >= receiver.length || index < 0)
+ throw H.wrapException(new P.RangeError("value " + H.S(index)));
+ receiver[index] = value;
+ },
+ $isList: true,
+ $asList: null,
+ $isList: true
+},
+
+JSMutableArray: {"": "JSArray;", $isJSMutableArray: true,
+ $asJSArray: function() {
+ return [null];
+ },
+ $asList: function() {
+ return [null];
+ }
+},
+
+JSFixedArray: {"": "JSMutableArray;"},
+
+JSExtendableArray: {"": "JSMutableArray;", $isJSExtendableArray: true},
+
+JSNumber: {"": "num/Interceptor;",
+ remainder$1: function(receiver, b) {
+ return receiver % b;
+ },
+ toInt$0: function(receiver) {
+ var truncated;
+ if (isNaN(receiver))
+ throw H.wrapException(new P.UnsupportedError("NaN"));
+ if (receiver == Infinity || receiver == -Infinity)
+ throw H.wrapException(new P.UnsupportedError("Infinity"));
+ truncated = receiver < 0 ? Math.ceil(receiver) : Math.floor(receiver);
+ return truncated == -0.0 ? 0 : truncated;
+ },
+ toString$0: function(receiver) {
+ if (receiver === 0 && 1 / receiver < 0)
+ return "-0.0";
+ else
+ return "" + receiver;
+ },
+ get$hashCode: function(receiver) {
+ return receiver & 0x1FFFFFFF;
+ },
+ $tdiv: function(receiver, other) {
+ return this.toInt$0(receiver / other);
+ },
+ $shr: function(receiver, other) {
+ if (other < 0)
+ throw H.wrapException(new P.ArgumentError(other));
+ if (receiver > 0) {
+ if (other > 31)
+ return 0;
+ return receiver >>> other;
+ }
+ if (other > 31)
+ other = 31;
+ return receiver >> other >>> 0;
+ },
+ $lt: function(receiver, other) {
+ if (typeof other !== "number")
+ throw H.wrapException(new P.ArgumentError(other));
+ return receiver < other;
+ },
+ $gt: function(receiver, other) {
+ if (typeof other !== "number")
+ throw H.wrapException(new P.ArgumentError(other));
+ return receiver > other;
+ },
+ $ge: function(receiver, other) {
+ if (typeof other !== "number")
+ throw H.wrapException(new P.ArgumentError(other));
+ return receiver >= other;
+ },
+ $isnum: true
+},
+
+JSInt: {"": "int/JSNumber;", $isdouble: true, $isnum: true, $isint: true},
+
+JSDouble: {"": "double/JSNumber;", $isdouble: true, $isnum: true},
+
+JSString: {"": "String/Interceptor;",
+ codeUnitAt$1: function(receiver, index) {
+ if (index < 0)
+ throw H.wrapException(new P.RangeError("value " + H.S(index)));
+ if (index >= receiver.length)
+ throw H.wrapException(new P.RangeError("value " + H.S(index)));
+ return receiver.charCodeAt(index);
+ },
+ substring$2: function(receiver, startIndex, endIndex) {
+ if (endIndex == null)
+ endIndex = receiver.length;
+ if (typeof endIndex !== "number")
+ H.throwExpression(new P.ArgumentError(endIndex));
+ if (startIndex < 0)
+ throw H.wrapException(new P.RangeError("value " + startIndex));
+ if (typeof endIndex !== "number")
+ throw H.iae(endIndex);
+ if (startIndex > endIndex)
+ throw H.wrapException(new P.RangeError("value " + startIndex));
+ if (endIndex > receiver.length)
+ throw H.wrapException(new P.RangeError("value " + H.S(endIndex)));
+ return receiver.substring(startIndex, endIndex);
+ },
+ substring$1: function($receiver, startIndex) {
+ return this.substring$2($receiver, startIndex, null);
+ },
+ get$isEmpty: function(receiver) {
+ return receiver.length === 0;
+ },
+ toString$0: function(receiver) {
+ return receiver;
+ },
+ get$hashCode: function(receiver) {
+ var t1, hash, i;
+ for (t1 = receiver.length, hash = 0, i = 0; i < t1; ++i) {
+ hash = 536870911 & hash + receiver.charCodeAt(i);
+ hash = 536870911 & hash + ((524287 & hash) << 10 >>> 0);
+ hash ^= hash >> 6;
+ }
+ hash = 536870911 & hash + ((67108863 & hash) << 3 >>> 0);
+ hash ^= hash >> 11;
+ return 536870911 & hash + ((16383 & hash) << 15 >>> 0);
+ },
+ get$length: function(receiver) {
+ return receiver.length;
+ },
+ $index: function(receiver, index) {
+ if (typeof index !== "number" || Math.floor(index) !== index)
+ throw H.wrapException(new P.ArgumentError(index));
+ if (index >= receiver.length || index < 0)
+ throw H.wrapException(new P.RangeError("value " + H.S(index)));
+ return receiver[index];
+ },
+ $isString: true
+}}],
+["_isolate_helper", "dart:_isolate_helper", , H, {
+_callInIsolate: function(isolate, $function) {
+ var result = isolate.eval$1($function);
+ $globalState.topEventLoop.run$0();
+ return result;
+},
+
+startRootIsolate: function(entry) {
+ var rootContext;
+ $globalState = H._Manager$(entry);
+ if ($globalState.isWorker === true)
+ return;
+ rootContext = H._IsolateContext$();
+ $globalState.rootContext = rootContext;
+ $globalState.currentContext = rootContext;
+ rootContext.eval$1(entry);
+ $globalState.topEventLoop.run$0();
+},
+
+IsolateNatives_computeThisScript: function() {
+ var currentScript = init.currentScript;
+ if (currentScript != null)
+ return String(currentScript.src);
+ if (typeof version == "function" && typeof os == "object" && "system" in os)
+ return H.IsolateNatives_computeThisScriptD8();
+ if (typeof version == "function" && typeof system == "function")
+ return thisFilename();
+ return;
+},
+
+IsolateNatives_computeThisScriptD8: function() {
+ var stack, matches;
+ stack = new Error().stack;
+ if (stack == null) {
+ stack = (function() {try { throw new Error() } catch(e) { return e.stack }})();
+ if (stack == null)
+ throw H.wrapException(new P.UnsupportedError("No stack trace"));
+ }
+ matches = stack.match(new RegExp("^ *at [^(]*\\((.*):[0-9]*:[0-9]*\\)$", "m"));
+ if (matches != null)
+ return matches[1];
+ matches = stack.match(new RegExp("^[^@]*@(.*):[0-9]*$", "m"));
+ if (matches != null)
+ return matches[1];
+ throw H.wrapException(new P.UnsupportedError("Cannot extract URI from \"" + stack + "\""));
+},
+
+IsolateNatives__processWorkerMessage: function(sender, e) {
+ var msg, t1, functionName, entryPoint, replyTo, context, t2;
+ msg = H._deserializeMessage(e.data);
+ t1 = J.getInterceptor$asx(msg);
+ switch (t1.$index(msg, "command")) {
+ case "start":
+ $globalState.currentManagerId = t1.$index(msg, "id");
+ functionName = t1.$index(msg, "functionName");
+ entryPoint = functionName == null ? $globalState.entry : init.globalFunctions[functionName];
+ replyTo = H._deserializeMessage(t1.$index(msg, "replyTo"));
+ context = H._IsolateContext$();
+ $globalState.topEventLoop.events._add$1(new H._IsolateEvent(context, new H.IsolateNatives__processWorkerMessage_closure(entryPoint, replyTo), "worker-start"));
+ $globalState.currentContext = context;
+ $globalState.topEventLoop.run$0();
+ break;
+ case "spawn-worker":
+ H.IsolateNatives__spawnWorker(t1.$index(msg, "functionName"), t1.$index(msg, "uri"), t1.$index(msg, "replyPort"));
+ break;
+ case "message":
+ if (t1.$index(msg, "port") != null)
+ J.send$2$x(t1.$index(msg, "port"), t1.$index(msg, "msg"), t1.$index(msg, "replyTo"));
+ $globalState.topEventLoop.run$0();
+ break;
+ case "close":
+ t1 = $globalState.managers;
+ t2 = $.get$IsolateNatives_workerIds();
+ t1.remove$1(t1, t2.$index(t2, sender));
+ sender.terminate();
+ $globalState.topEventLoop.run$0();
+ break;
+ case "log":
+ H.IsolateNatives__log(t1.$index(msg, "msg"));
+ break;
+ case "print":
+ if ($globalState.isWorker === true) {
+ t1 = $globalState.mainManager;
+ t2 = H._serializeMessage(H.fillLiteralMap(["command", "print", "msg", msg], P.LinkedHashMap_LinkedHashMap(null, null, null, null, null)));
+ t1.postMessage$1;
+ self.postMessage(t2);
+ } else
+ H.Primitives_printString(J.toString$0(t1.$index(msg, "msg")));
+ break;
+ case "error":
+ throw H.wrapException(t1.$index(msg, "msg"));
+ default:
+ }
+},
+
+IsolateNatives__log: function(msg) {
+ var trace, t1, t2, exception;
+ if ($globalState.isWorker === true) {
+ t1 = $globalState.mainManager;
+ t2 = H._serializeMessage(H.fillLiteralMap(["command", "log", "msg", msg], P.LinkedHashMap_LinkedHashMap(null, null, null, null, null)));
+ t1.postMessage$1;
+ self.postMessage(t2);
+ } else
+ try {
+ $.get$globalThis().console.log(msg);
+ } catch (exception) {
+ H.unwrapException(exception);
+ trace = new H._StackTrace(exception, null);
+ throw H.wrapException(new P._ExceptionImplementation(trace));
+ }
+
+},
+
+IsolateNatives__startIsolate: function(topLevel, replyTo) {
+ var t1;
+ H.Primitives_initializeStatics($globalState.currentContext.id);
+ $.lazyPort = H.ReceivePortImpl$();
+ t1 = P._Isolate_port();
+ t1.toSendPort$0;
+ J.send$2$x(replyTo, "spawned", new H._NativeJsSendPort(t1, $globalState.currentContext.id));
+ topLevel.call$0();
+},
+
+IsolateNatives__spawnWorker: function(functionName, uri, replyPort) {
+ var worker, t1, workerId;
+ if (uri == null)
+ uri = $.get$IsolateNatives_thisScript();
+ worker = new Worker(uri);
+ worker.onmessage = function(e) { H.IsolateNatives__processWorkerMessage$closure.call$2(worker, e); };
+ t1 = $globalState;
+ workerId = t1.nextManagerId;
+ t1.nextManagerId = workerId + 1;
+ t1 = $.get$IsolateNatives_workerIds();
+ t1.$indexSet(t1, worker, workerId);
+ t1 = $globalState.managers;
+ t1.$indexSet(t1, workerId, worker);
+ worker.postMessage(H._serializeMessage(H.fillLiteralMap(["command", "start", "id", workerId, "replyTo", H._serializeMessage(replyPort), "functionName", functionName], P.LinkedHashMap_LinkedHashMap(null, null, null, null, null))));
+},
+
+_waitForPendingPorts: function(message, callback) {
+ var finder = H._PendingSendPortFinder$();
+ finder.traverse$1(message);
+ P.Future_wait(finder.ports).then$1(new H._waitForPendingPorts_closure(callback));
+},
+
+_serializeMessage: function(message) {
+ var t1;
+ if ($globalState.supportsWorkers === true) {
+ t1 = new H._JsSerializer(0, new H._MessageTraverserVisitedMap());
+ t1._visited = new H._JsVisitedMap(null);
+ return t1.traverse$1(message);
+ } else {
+ t1 = new H._JsCopier(new H._MessageTraverserVisitedMap());
+ t1._visited = new H._JsVisitedMap(null);
+ return t1.traverse$1(message);
+ }
+},
+
+_deserializeMessage: function(message) {
+ if ($globalState.supportsWorkers === true)
+ return new H._JsDeserializer(null).deserialize$1(message);
+ else
+ return message;
+},
+
+_MessageTraverser_isPrimitive: function(x) {
+ return x == null || typeof x === "string" || typeof x === "number" || typeof x === "boolean";
+},
+
+_Deserializer_isPrimitive: function(x) {
+ return x == null || typeof x === "string" || typeof x === "number" || typeof x === "boolean";
+},
+
+CloseToken: {"": "Object;", $isCloseToken: true},
+
+JsIsolateSink: {"": "EventSink;_isClosed,_port<",
+ $eq: function(_, other) {
+ var t1;
+ if (other == null)
+ return false;
+ t1 = J.getInterceptor(other);
+ return typeof other === "object" && other !== null && !!t1.$isIsolateSink && J.$eq(this._port, other.get$_port());
+ },
+ get$hashCode: function(_) {
+ return J.get$hashCode$(this._port) + 499;
+ },
+ $isJsIsolateSink: true,
+ $isIsolateSink: true
+},
+
+_Manager: {"": "Object;nextIsolateId,currentManagerId,nextManagerId,currentContext,rootContext,topEventLoop,fromCommandLine,isWorker,supportsWorkers,isolates,mainManager,managers,entry",
+ _nativeDetectEnvironment$0: function() {
+ var t1, t2;
+ t1 = $.get$globalWindow() == null;
+ t2 = $.get$globalWorker();
+ this.isWorker = t1 && $.get$globalPostMessageDefined() === true;
+ if (this.isWorker !== true)
+ t2 = t2 != null && $.get$IsolateNatives_thisScript() != null;
+ else
+ t2 = true;
+ this.supportsWorkers = t2;
+ this.fromCommandLine = t1 && this.isWorker !== true;
+ },
+ _nativeInitWorkerMessageHandler$0: function() {
+ var $function = function (e) { H.IsolateNatives__processWorkerMessage$closure.call$2(this.mainManager, e); };
+ $.get$globalThis().onmessage = $function;
+ $.get$globalThis().dartPrint = function (object) {};
+ },
+ _Manager$1: function(entry) {
+ this._nativeDetectEnvironment$0();
+ this.topEventLoop = new H._EventLoop(P.ListQueue$(null, H._IsolateEvent), 0);
+ this.isolates = P.LinkedHashMap_LinkedHashMap(null, null, null, J.JSInt, H._IsolateContext);
+ this.managers = P.LinkedHashMap_LinkedHashMap(null, null, null, J.JSInt, null);
+ if (this.isWorker === true) {
+ this.mainManager = new H._MainManagerStub();
+ this._nativeInitWorkerMessageHandler$0();
+ }
+ },
+ static: {
+_Manager$: function(entry) {
+ var t1 = new H._Manager(0, 0, 1, null, null, null, null, null, null, null, null, null, entry);
+ t1._Manager$1(entry);
+ return t1;
+}}
+
+},
+
+_IsolateContext: {"": "Object;id,ports,isolateStatics<",
+ eval$1: function(code) {
+ var old, result;
+ old = $globalState.currentContext;
+ $globalState.currentContext = this;
+ $ = this.isolateStatics;
+ result = null;
+ try {
+ result = code.call$0();
+ } finally {
+ $globalState.currentContext = old;
+ if (old != null)
+ $ = old.get$isolateStatics();
+ }
+ return result;
+ },
+ lookup$1: function(portId) {
+ var t1 = this.ports;
+ return t1.$index(t1, portId);
+ },
+ register$2: function(_, portId, port) {
+ var t1;
+ if (this.ports.containsKey$1(portId))
+ throw H.wrapException(new P._ExceptionImplementation("Registry: ports must be registered only once."));
+ t1 = this.ports;
+ t1.$indexSet(t1, portId, port);
+ t1 = $globalState.isolates;
+ t1.$indexSet(t1, this.id, this);
+ },
+ unregister$1: function(portId) {
+ var t1 = this.ports;
+ t1.remove$1(t1, portId);
+ if (this.ports._liblib0$_length === 0) {
+ t1 = $globalState.isolates;
+ t1.remove$1(t1, this.id);
+ }
+ },
+ _IsolateContext$0: function() {
+ var t1, t2;
+ t1 = $globalState;
+ t2 = t1.nextIsolateId;
+ t1.nextIsolateId = t2 + 1;
+ this.id = t2;
+ this.ports = P.LinkedHashMap_LinkedHashMap(null, null, null, J.JSInt, P.ReceivePort);
+ this.isolateStatics = new Isolate();
+ },
+ $is_IsolateContext: true,
+ static: {
+_IsolateContext$: function() {
+ var t1 = new H._IsolateContext(null, null, null);
+ t1._IsolateContext$0();
+ return t1;
+}}
+
+},
+
+_EventLoop: {"": "Object;events,activeTimerCount",
+ dequeue$0: function() {
+ var t1 = this.events;
+ if (t1._head === t1._tail)
+ return;
+ return t1.removeFirst$0();
+ },
+ checkOpenReceivePortsFromCommandLine$0: function() {
+ if ($globalState.rootContext != null && $globalState.isolates.containsKey$1($globalState.rootContext.id) && $globalState.fromCommandLine === true && $globalState.rootContext.ports._liblib0$_length === 0)
+ throw H.wrapException(new P._ExceptionImplementation("Program exited with open ReceivePorts."));
+ },
+ runIteration$0: function() {
+ var $event, t1, t2;
+ $event = this.dequeue$0();
+ if ($event == null) {
+ this.checkOpenReceivePortsFromCommandLine$0();
+ t1 = $globalState;
+ if (t1.isWorker === true && t1.isolates._liblib0$_length === 0 && t1.topEventLoop.activeTimerCount === 0) {
+ t1 = t1.mainManager;
+ t2 = H._serializeMessage(H.fillLiteralMap(["command", "close"], P.LinkedHashMap_LinkedHashMap(null, null, null, null, null)));
+ t1.postMessage$1;
+ self.postMessage(t2);
+ }
+ return false;
+ }
+ $event.process$0();
+ return true;
+ },
+ _runHelper$0: function() {
+ if ($.get$globalWindow() != null)
+ new H._EventLoop__runHelper_next(this).call$0();
+ else
+ for (; this.runIteration$0();)
+ ;
+ },
+ run$0: function() {
+ var e, trace, exception, t1, t2;
+ if ($globalState.isWorker !== true)
+ this._runHelper$0();
+ else
+ try {
+ this._runHelper$0();
+ } catch (exception) {
+ t1 = H.unwrapException(exception);
+ e = t1;
+ trace = new H._StackTrace(exception, null);
+ t1 = $globalState.mainManager;
+ t2 = H._serializeMessage(H.fillLiteralMap(["command", "error", "msg", H.S(e) + "\n" + H.S(trace)], P.LinkedHashMap_LinkedHashMap(null, null, null, null, null)));
+ t1.postMessage$1;
+ self.postMessage(t2);
+ }
+
+ }
+},
+
+_EventLoop__runHelper_next: {"": "Closure;this_0",
+ call$0: function() {
+ if (!this.this_0.runIteration$0())
+ return;
+ P.Timer_Timer(C.Duration_0, this);
+ },
+ $is_void_: true
+},
+
+_IsolateEvent: {"": "Object;isolate,fn,message",
+ process$0: function() {
+ this.isolate.eval$1(this.fn);
+ },
+ $is_IsolateEvent: true
+},
+
+_MainManagerStub: {"": "Object;"},
+
+IsolateNatives__processWorkerMessage_closure: {"": "Closure;entryPoint_0,replyTo_1",
+ call$0: function() {
+ H.IsolateNatives__startIsolate(this.entryPoint_0, this.replyTo_1);
+ },
+ $is_void_: true
+},
+
+_BaseSendPort: {"": "Object;",
+ _checkReplyTo$1: function(replyTo) {
+ var t1;
+ if (replyTo != null) {
+ t1 = J.getInterceptor(replyTo);
+ t1 = (typeof replyTo !== "object" || replyTo === null || !t1.$is_NativeJsSendPort) && (typeof replyTo !== "object" || replyTo === null || !t1.$is_WorkerSendPort) && true;
+ } else
+ t1 = false;
+ if (t1)
+ throw H.wrapException(new P._ExceptionImplementation("SendPort.send: Illegal replyTo port type"));
+ },
+ call$1: function(message) {
+ var t1, completer, port;
+ t1 = null;
+ completer = new P._AsyncCompleter(P._Future$(t1));
+ H.setRuntimeTypeInfo(completer, [t1]);
+ port = H.ReceivePortImpl$();
+ this.send$2(this, message, new H._NativeJsSendPort(port, $globalState.currentContext.id));
+ port._callback = new H._BaseSendPort_call_closure(completer, port);
+ return completer.future;
+ },
+ $isSendPort: true
+},
+
+_BaseSendPort_call_closure: {"": "Closure;completer_0,port_1",
+ call$2: function(value, ignoreReplyTo) {
+ var t1, t2;
+ t1 = this.port_1;
+ t1._callback = null;
+ $globalState.currentContext.unregister$1(t1._id);
+ t1 = J.getInterceptor(value);
+ t2 = this.completer_0;
+ if (typeof value === "object" && value !== null && !!t1.$isException) {
+ t1 = t2.future;
+ if (t1._state !== 0)
+ H.throwExpression(new P.StateError("Future already completed"));
+ t1._asyncCompleteError$2(value, null);
+ } else {
+ t1 = t2.future;
+ if (t1._state !== 0)
+ H.throwExpression(new P.StateError("Future already completed"));
+ t1._asyncComplete$1(value);
+ }
+ }
+},
+
+_NativeJsSendPort: {"": "_BaseSendPort;_receivePort,_isolateId",
+ send$2: function(_, message, replyTo) {
+ H._waitForPendingPorts([message, replyTo], new H._NativeJsSendPort_send_closure(this, message, replyTo));
+ },
+ $eq: function(_, other) {
+ var t1;
+ if (other == null)
+ return false;
+ t1 = J.getInterceptor(other);
+ return typeof other === "object" && other !== null && !!t1.$is_NativeJsSendPort && J.$eq(this._receivePort, other._receivePort);
+ },
+ get$hashCode: function(_) {
+ return this._receivePort.get$_id();
+ },
+ $is_NativeJsSendPort: true,
+ $isSendPort: true
+},
+
+_NativeJsSendPort_send_closure: {"": "Closure;this_1,message_2,replyTo_3",
+ call$0: function() {
+ var t1, t2, t3, t4, t5, isolate, shouldSerialize, msg;
+ t1 = {};
+ t2 = this.this_1;
+ t3 = this.replyTo_3;
+ t2._checkReplyTo$1(t3);
+ t4 = $globalState.isolates;
+ t5 = t2._isolateId;
+ isolate = t4.$index(t4, t5);
+ if (isolate == null)
+ return;
+ if (t2._receivePort.get$_callback() == null)
+ return;
+ shouldSerialize = $globalState.currentContext != null && $globalState.currentContext.id !== t5;
+ msg = this.message_2;
+ t1.msg_0 = msg;
+ t1.reply_1 = t3;
+ if (shouldSerialize) {
+ t1.msg_0 = H._serializeMessage(t1.msg_0);
+ t1.reply_1 = H._serializeMessage(t1.reply_1);
+ }
+ t3 = $globalState.topEventLoop;
+ t4 = "receive " + H.S(msg);
+ t3.events._add$1(new H._IsolateEvent(isolate, new H._NativeJsSendPort_send__closure(t1, t2, shouldSerialize), t4));
+ },
+ $is_void_: true
+},
+
+_NativeJsSendPort_send__closure: {"": "Closure;box_0,this_4,shouldSerialize_5",
+ call$0: function() {
+ var t1, t2;
+ t1 = this.this_4._receivePort;
+ if (t1.get$_callback() != null) {
+ if (this.shouldSerialize_5) {
+ t2 = this.box_0;
+ t2.msg_0 = H._deserializeMessage(t2.msg_0);
+ t2.reply_1 = H._deserializeMessage(t2.reply_1);
+ }
+ t2 = this.box_0;
+ t1._callback$2(t2.msg_0, t2.reply_1);
+ }
+ },
+ $is_void_: true
+},
+
+_WorkerSendPort: {"": "_BaseSendPort;_workerId,_receivePortId,_isolateId",
+ send$2: function(_, message, replyTo) {
+ H._waitForPendingPorts([message, replyTo], new H._WorkerSendPort_send_closure(this, message, replyTo));
+ },
+ $eq: function(_, other) {
+ var t1;
+ if (other == null)
+ return false;
+ t1 = J.getInterceptor(other);
+ if (typeof other === "object" && other !== null && !!t1.$is_WorkerSendPort)
+ t1 = J.$eq(this._workerId, other._workerId) && J.$eq(this._isolateId, other._isolateId) && J.$eq(this._receivePortId, other._receivePortId);
+ else
+ t1 = false;
+ return t1;
+ },
+ get$hashCode: function(_) {
+ var t1, t2, t3;
+ t1 = this._workerId;
+ if (typeof t1 !== "number")
+ throw t1.$shl();
+ t2 = this._isolateId;
+ if (typeof t2 !== "number")
+ throw t2.$shl();
+ t3 = this._receivePortId;
+ if (typeof t3 !== "number")
+ throw H.iae(t3);
+ return (t1 << 16 ^ t2 << 8 ^ t3) >>> 0;
+ },
+ $is_WorkerSendPort: true,
+ $isSendPort: true
+},
+
+_WorkerSendPort_send_closure: {"": "Closure;this_0,message_1,replyTo_2",
+ call$0: function() {
+ var t1, t2, workerMessage, manager;
+ t1 = this.this_0;
+ t2 = this.replyTo_2;
+ t1._checkReplyTo$1(t2);
+ workerMessage = H._serializeMessage(H.fillLiteralMap(["command", "message", "port", t1, "msg", this.message_1, "replyTo", t2], P.LinkedHashMap_LinkedHashMap(null, null, null, null, null)));
+ if ($globalState.isWorker === true) {
+ $globalState.mainManager.postMessage$1;
+ self.postMessage(workerMessage);
+ } else {
+ t2 = $globalState.managers;
+ manager = t2.$index(t2, t1._workerId);
+ if (manager != null)
+ manager.postMessage(workerMessage);
+ }
+ },
+ $is_void_: true
+},
+
+ReceivePortImpl: {"": "Object;_id<,_callback<",
+ _callback$2: function(arg0, arg1) {
+ return this._callback.call$2(arg0, arg1);
+ },
+ ReceivePortImpl$0: function() {
+ var t1 = $globalState.currentContext;
+ t1.register$2(t1, this._id, this);
+ },
+ $isReceivePort: true,
+ static: {
+"": "ReceivePortImpl__nextFreeId",
+ReceivePortImpl$: function() {
+ var t1 = $.ReceivePortImpl__nextFreeId;
+ $.ReceivePortImpl__nextFreeId = t1 + 1;
+ t1 = new H.ReceivePortImpl(t1, null);
+ t1.ReceivePortImpl$0();
+ return t1;
+}}
+
+},
+
+_waitForPendingPorts_closure: {"": "Closure;callback_0",
+ call$1: function(_) {
+ return this.callback_0.call$0();
+ }
+},
+
+_PendingSendPortFinder: {"": "_MessageTraverser;ports,_visited",
+ visitPrimitive$1: function(x) {
+ },
+ visitList$1: function(list) {
+ var t1 = this._visited;
+ if (t1.$index(t1, list) != null)
+ return;
+ t1 = this._visited;
+ t1.$indexSet(t1, list, true);
+ J.forEach$1$ax(list, new H._PendingSendPortFinder_visitList_closure(this));
+ },
+ visitMap$1: function(map) {
+ var t1 = this._visited;
+ if (t1.$index(t1, map) != null)
+ return;
+ t1 = this._visited;
+ t1.$indexSet(t1, map, true);
+ t1 = map.get$values(map);
+ t1.forEach$1(t1, new H._PendingSendPortFinder_visitMap_closure(this));
+ },
+ visitSendPort$1: function(port) {
+ },
+ visitIsolateSink$1: function(sink) {
+ this.visitSendPort$1(sink._port);
+ },
+ visitCloseToken$1: function(token) {
+ },
+ _PendingSendPortFinder$0: function() {
+ this._visited = new H._JsVisitedMap(null);
+ },
+ static: {
+_PendingSendPortFinder$: function() {
+ var t1 = new H._PendingSendPortFinder([], new H._MessageTraverserVisitedMap());
+ t1._PendingSendPortFinder$0();
+ return t1;
+}}
+
+},
+
+_PendingSendPortFinder_visitList_closure: {"": "Closure;this_0",
+ call$1: function(e) {
+ return this.this_0._dispatch$1(e);
+ }
+},
+
+_PendingSendPortFinder_visitMap_closure: {"": "Closure;this_0",
+ call$1: function(e) {
+ return this.this_0._dispatch$1(e);
+ }
+},
+
+_JsSerializer: {"": "_Serializer;_nextFreeRefId,_visited",
+ visitSendPort$1: function(x) {
+ var t1 = J.getInterceptor(x);
+ if (typeof x === "object" && x !== null && !!t1.$is_NativeJsSendPort)
+ return ["sendport", $globalState.currentManagerId, x._isolateId, x._receivePort.get$_id()];
+ if (typeof x === "object" && x !== null && !!t1.$is_WorkerSendPort)
+ return ["sendport", x._workerId, x._isolateId, x._receivePortId];
+ throw H.wrapException("Illegal underlying port " + H.S(x));
+ },
+ visitIsolateSink$1: function(sink) {
+ var isClosed = sink._isClosed;
+ return ["isolateSink", this.visitSendPort$1(sink._port), isClosed];
+ },
+ visitCloseToken$1: function(token) {
+ return ["closeToken"];
+ }
+},
+
+_JsCopier: {"": "_Copier;_visited",
+ visitSendPort$1: function(x) {
+ var t1 = J.getInterceptor(x);
+ if (typeof x === "object" && x !== null && !!t1.$is_NativeJsSendPort)
+ return new H._NativeJsSendPort(x._receivePort, x._isolateId);
+ if (typeof x === "object" && x !== null && !!t1.$is_WorkerSendPort)
+ return new H._WorkerSendPort(x._workerId, x._receivePortId, x._isolateId);
+ throw H.wrapException("Illegal underlying port " + H.S(x));
+ },
+ visitIsolateSink$1: function(sink) {
+ var result = new H.JsIsolateSink(false, this.visitSendPort$1(sink._port));
+ result._isClosed = sink._isClosed;
+ return result;
+ },
+ visitCloseToken$1: function(token) {
+ return token;
+ }
+},
+
+_JsDeserializer: {"": "_Deserializer;_deserialized",
+ deserializeSendPort$1: function(list) {
+ var t1, managerId, isolateId, receivePortId, isolate, receivePort;
+ t1 = J.getInterceptor$asx(list);
+ managerId = t1.$index(list, 1);
+ isolateId = t1.$index(list, 2);
+ receivePortId = t1.$index(list, 3);
+ if (J.$eq(managerId, $globalState.currentManagerId)) {
+ t1 = $globalState.isolates;
+ isolate = t1.$index(t1, isolateId);
+ if (isolate == null)
+ return;
+ receivePort = isolate.lookup$1(receivePortId);
+ if (receivePort == null)
+ return;
+ return new H._NativeJsSendPort(receivePort, isolateId);
+ } else
+ return new H._WorkerSendPort(managerId, receivePortId, isolateId);
+ },
+ deserializeIsolateSink$1: function(list) {
+ var t1, port, result;
+ t1 = J.getInterceptor$asx(list);
+ port = this.deserializeSendPort$1(t1.$index(list, 1));
+ result = new H.JsIsolateSink(false, port);
+ result._isClosed = t1.$index(list, 2);
+ return result;
+ },
+ deserializeCloseToken$1: function(list) {
+ return C.C_CloseToken;
+ }
+},
+
+_JsVisitedMap: {"": "Object;tagged",
+ $index: function(_, object) {
+ return object.__MessageTraverser__attached_info__;
+ },
+ $indexSet: function(_, object, info) {
+ this.tagged.push(object);
+ object.__MessageTraverser__attached_info__ = info;
+ },
+ reset$0: function(_) {
+ this.tagged = P.List_List(null, null);
+ },
+ cleanup$0: function() {
+ var $length, i, t1;
+ for ($length = this.tagged.length, i = 0; i < $length; ++i) {
+ t1 = this.tagged;
+ if (i >= t1.length)
+ throw H.ioore(t1, i);
+ t1[i].__MessageTraverser__attached_info__ = null;
+ }
+ this.tagged = null;
+ }
+},
+
+_MessageTraverserVisitedMap: {"": "Object;",
+ $index: function(_, object) {
+ return;
+ },
+ $indexSet: function(_, object, info) {
+ },
+ reset$0: function(_) {
+ },
+ cleanup$0: function() {
+ }
+},
+
+_MessageTraverser: {"": "Object;",
+ traverse$1: function(x) {
+ var result, t1;
+ if (H._MessageTraverser_isPrimitive(x))
+ return this.visitPrimitive$1(x);
+ t1 = this._visited;
+ t1.reset$0(t1);
+ result = null;
+ try {
+ result = this._dispatch$1(x);
+ } finally {
+ this._visited.cleanup$0();
+ }
+ return result;
+ },
+ _dispatch$1: function(x) {
+ var t1;
+ if (x == null || typeof x === "string" || typeof x === "number" || typeof x === "boolean")
+ return this.visitPrimitive$1(x);
+ t1 = J.getInterceptor(x);
+ if (typeof x === "object" && x !== null && (x.constructor === Array || !!t1.$isList))
+ return this.visitList$1(x);
+ if (typeof x === "object" && x !== null && !!t1.$isMap)
+ return this.visitMap$1(x);
+ if (typeof x === "object" && x !== null && !!t1.$isSendPort)
+ return this.visitSendPort$1(x);
+ if (typeof x === "object" && x !== null && !!t1.$isJsIsolateSink)
+ return this.visitIsolateSink$1(x);
+ if (typeof x === "object" && x !== null && !!t1.$isCloseToken)
+ return this.visitCloseToken$1(x);
+ return this.visitObject$1(x);
+ },
+ visitObject$1: function(x) {
+ throw H.wrapException("Message serialization: Illegal value " + H.S(x) + " passed");
+ }
+},
+
+_Copier: {"": "_MessageTraverser;",
+ visitPrimitive$1: function(x) {
+ return x;
+ },
+ visitList$1: function(list) {
+ var t1, copy, len, i, t2;
+ if (typeof list !== "string" && (typeof list !== "object" || list === null || list.constructor !== Array && !H.isJsIndexable(list, list[init.dispatchPropertyName])))
+ return this.visitList$1$bailout1(1, list);
+ t1 = this._visited;
+ copy = t1.$index(t1, list);
+ if (copy != null)
+ return copy;
+ len = list.length;
+ copy = P.List_List(len, null);
+ t1 = this._visited;
+ t1.$indexSet(t1, list, copy);
+ for (t1 = copy.length, i = 0; i < len; ++i) {
+ if (i >= list.length)
+ throw H.ioore(list, i);
+ t2 = this._dispatch$1(list[i]);
+ if (i >= t1)
+ throw H.ioore(copy, i);
+ copy[i] = t2;
+ }
+ return copy;
+ },
+ visitList$1$bailout1: function(state0, list) {
+ var t1, copy, len, t2, i, t3;
+ t1 = this._visited;
+ copy = t1.$index(t1, list);
+ if (copy != null)
+ return copy;
+ t1 = J.getInterceptor$asx(list);
+ len = t1.get$length(list);
+ copy = P.List_List(len, null);
+ t2 = this._visited;
+ t2.$indexSet(t2, list, copy);
+ for (t2 = copy.length, i = 0; i < len; ++i) {
+ t3 = this._dispatch$1(t1.$index(list, i));
+ if (i >= t2)
+ throw H.ioore(copy, i);
+ copy[i] = t3;
+ }
+ return copy;
+ },
+ visitMap$1: function(map) {
+ var t1, t2;
+ t1 = {};
+ t2 = this._visited;
+ t1.copy_0 = t2.$index(t2, map);
+ t2 = t1.copy_0;
+ if (t2 != null)
+ return t2;
+ t1.copy_0 = P.LinkedHashMap_LinkedHashMap(null, null, null, null, null);
+ t2 = this._visited;
+ t2.$indexSet(t2, map, t1.copy_0);
+ map.forEach$1(map, new H._Copier_visitMap_closure(t1, this));
+ return t1.copy_0;
+ }
+},
+
+_Copier_visitMap_closure: {"": "Closure;box_0,this_1",
+ call$2: function(key, val) {
+ var t1 = this.this_1;
+ J.$indexSet$ax(this.box_0.copy_0, t1._dispatch$1(key), t1._dispatch$1(val));
+ }
+},
+
+_Serializer: {"": "_MessageTraverser;",
+ visitPrimitive$1: function(x) {
+ return x;
+ },
+ visitList$1: function(list) {
+ var t1, copyId, id;
+ t1 = this._visited;
+ copyId = t1.$index(t1, list);
+ if (copyId != null)
+ return ["ref", copyId];
+ id = this._nextFreeRefId;
+ this._nextFreeRefId = id + 1;
+ t1 = this._visited;
+ t1.$indexSet(t1, list, id);
+ return ["list", id, this._serializeList$1(list)];
+ },
+ visitMap$1: function(map) {
+ var t1, copyId, id, keys;
+ t1 = this._visited;
+ copyId = t1.$index(t1, map);
+ if (copyId != null)
+ return ["ref", copyId];
+ id = this._nextFreeRefId;
+ this._nextFreeRefId = id + 1;
+ t1 = this._visited;
+ t1.$indexSet(t1, map, id);
+ t1 = map.get$keys();
+ keys = this._serializeList$1(P.List_List$from(t1, true, H.getRuntimeTypeArgument(t1, "IterableBase", 0)));
+ t1 = map.get$values(map);
+ return ["map", id, keys, this._serializeList$1(t1.toList$0(t1))];
+ },
+ _serializeList$1: function(list) {
+ var len, result, t1, i, t2;
+ if (typeof list !== "string" && (typeof list !== "object" || list === null || list.constructor !== Array && !H.isJsIndexable(list, list[init.dispatchPropertyName])))
+ return this._serializeList$1$bailout(1, list);
+ len = list.length;
+ result = P.List_List(len, null);
+ for (t1 = result.length, i = 0; i < len; ++i) {
+ if (i >= list.length)
+ throw H.ioore(list, i);
+ t2 = this._dispatch$1(list[i]);
+ if (i >= t1)
+ throw H.ioore(result, i);
+ result[i] = t2;
+ }
+ return result;
+ },
+ _serializeList$1$bailout: function(state0, list) {
+ var t1, len, result, t2, i, t3;
+ t1 = J.getInterceptor$asx(list);
+ len = t1.get$length(list);
+ result = P.List_List(len, null);
+ for (t2 = result.length, i = 0; i < len; ++i) {
+ t3 = this._dispatch$1(t1.$index(list, i));
+ if (i >= t2)
+ throw H.ioore(result, i);
+ result[i] = t3;
+ }
+ return result;
+ }
+},
+
+_Deserializer: {"": "Object;",
+ deserialize$1: function(x) {
+ if (H._Deserializer_isPrimitive(x))
+ return x;
+ this._deserialized = P.HashMap_HashMap(null, null, null, null, null);
+ return this._deserializeHelper$1(x);
+ },
+ _deserializeHelper$1: function(x) {
+ var t1, id;
+ if (x == null || typeof x === "string" || typeof x === "number" || typeof x === "boolean")
+ return x;
+ t1 = J.getInterceptor$asx(x);
+ switch (t1.$index(x, 0)) {
+ case "ref":
+ id = t1.$index(x, 1);
+ t1 = this._deserialized;
+ return t1.$index(t1, id);
+ case "list":
+ return this._deserializeList$1(x);
+ case "map":
+ return this._deserializeMap$1(x);
+ case "sendport":
+ return this.deserializeSendPort$1(x);
+ case "isolateSink":
+ return this.deserializeIsolateSink$1(x);
+ case "closeToken":
+ return this.deserializeCloseToken$1(x);
+ default:
+ return this.deserializeObject$1(x);
+ }
+ },
+ _deserializeList$1: function(x) {
+ var t1, id, dartList, len, i;
+ t1 = J.getInterceptor$asx(x);
+ id = t1.$index(x, 1);
+ dartList = t1.$index(x, 2);
+ if (typeof dartList !== "object" || dartList === null || (dartList.constructor !== Array || !!dartList.immutable$list) && !H.isJsIndexable(dartList, dartList[init.dispatchPropertyName]))
+ return this._deserializeList$1$bailout(1, dartList, id);
+ t1 = this._deserialized;
+ t1.$indexSet(t1, id, dartList);
+ len = dartList.length;
+ for (i = 0; i < len; ++i) {
+ if (i >= dartList.length)
+ throw H.ioore(dartList, i);
+ t1 = this._deserializeHelper$1(dartList[i]);
+ if (i >= dartList.length)
+ throw H.ioore(dartList, i);
+ dartList[i] = t1;
+ }
+ return dartList;
+ },
+ _deserializeList$1$bailout: function(state0, dartList, id) {
+ var t1, len, i;
+ t1 = this._deserialized;
+ t1.$indexSet(t1, id, dartList);
+ t1 = J.getInterceptor$asx(dartList);
+ len = t1.get$length(dartList);
+ if (typeof len !== "number")
+ throw H.iae(len);
+ i = 0;
+ for (; i < len; ++i)
+ t1.$indexSet(dartList, i, this._deserializeHelper$1(t1.$index(dartList, i)));
+ return dartList;
+ },
+ _deserializeMap$1: function(x) {
+ var result, t1, id, t2, keys, values, len, i, key;
+ result = P.LinkedHashMap_LinkedHashMap(null, null, null, null, null);
+ t1 = J.getInterceptor$asx(x);
+ id = t1.$index(x, 1);
+ t2 = this._deserialized;
+ t2.$indexSet(t2, id, result);
+ keys = t1.$index(x, 2);
+ if (typeof keys !== "string" && (typeof keys !== "object" || keys === null || keys.constructor !== Array && !H.isJsIndexable(keys, keys[init.dispatchPropertyName])))
+ return this._deserializeMap$1$bailout(1, result, keys, t1, x);
+ values = t1.$index(x, 3);
+ if (typeof values !== "string" && (typeof values !== "object" || values === null || values.constructor !== Array && !H.isJsIndexable(values, values[init.dispatchPropertyName])))
+ return this._deserializeMap$1$bailout(2, result, keys, 0, 0, values);
+ len = keys.length;
+ for (i = 0; i < len; ++i) {
+ if (i >= keys.length)
+ throw H.ioore(keys, i);
+ key = this._deserializeHelper$1(keys[i]);
+ if (i >= values.length)
+ throw H.ioore(values, i);
+ result.$indexSet(result, key, this._deserializeHelper$1(values[i]));
+ }
+ return result;
+ },
+ _deserializeMap$1$bailout: function(state0, result, keys, t1, x, values) {
+ switch (state0) {
+ case 0:
+ result = P.LinkedHashMap_LinkedHashMap(null, null, null, null, null);
+ t1 = J.getInterceptor$asx(x);
+ id = t1.$index(x, 1);
+ t2 = this._deserialized;
+ t2.$indexSet(t2, id, result);
+ keys = t1.$index(x, 2);
+ case 1:
+ state0 = 0;
+ values = t1.$index(x, 3);
+ case 2:
+ var id, t2, len, i;
+ state0 = 0;
+ t1 = J.getInterceptor$asx(keys);
+ len = t1.get$length(keys);
+ if (typeof len !== "number")
+ throw H.iae(len);
+ t2 = J.getInterceptor$asx(values);
+ i = 0;
+ for (; i < len; ++i)
+ result.$indexSet(result, this._deserializeHelper$1(t1.$index(keys, i)), this._deserializeHelper$1(t2.$index(values, i)));
+ return result;
+ }
+ },
+ deserializeObject$1: function(x) {
+ throw H.wrapException("Unexpected serialized object");
+ }
+},
+
+TimerImpl: {"": "Object;_once,_inEventLoop,_handle",
+ TimerImpl$2: function(milliseconds, callback) {
+ var t1, t2;
+ if (milliseconds === 0)
+ t1 = $.get$globalThis().setTimeout == null || $globalState.isWorker === true;
+ else
+ t1 = false;
+ if (t1) {
+ this._handle = 1;
+ t1 = $globalState.topEventLoop;
+ t2 = $globalState.currentContext;
+ t1.events._add$1(new H._IsolateEvent(t2, new H.TimerImpl_internalCallback(this, callback), "timer"));
+ this._inEventLoop = true;
+ } else if ($.get$globalThis().setTimeout != null) {
+ t1 = $globalState.topEventLoop;
+ t1.activeTimerCount = t1.activeTimerCount + 1;
+ this._handle = $.get$globalThis().setTimeout(H.convertDartClosureToJS(new H.TimerImpl_internalCallback0(this, callback), 0), milliseconds);
+ } else
+ throw H.wrapException(new P.UnsupportedError("Timer greater than 0."));
+ },
+ TimerImpl$periodic$2: function(milliseconds, callback) {
+ var t1;
+ if ($.get$globalThis().setTimeout != null) {
+ t1 = $globalState.topEventLoop;
+ t1.activeTimerCount = t1.activeTimerCount + 1;
+ this._handle = $.get$globalThis().setInterval(H.convertDartClosureToJS(new H.TimerImpl$periodic_closure(this, callback), 0), milliseconds);
+ } else
+ throw H.wrapException(new P.UnsupportedError("Periodic timer."));
+ },
+ static: {
+TimerImpl$: function(milliseconds, callback) {
+ var t1 = new H.TimerImpl(true, false, null);
+ t1.TimerImpl$2(milliseconds, callback);
+ return t1;
+},
+
+TimerImpl$periodic: function(milliseconds, callback) {
+ var t1 = new H.TimerImpl(false, false, null);
+ t1.TimerImpl$periodic$2(milliseconds, callback);
+ return t1;
+}}
+
+},
+
+TimerImpl_internalCallback: {"": "Closure;this_0,callback_1",
+ call$0: function() {
+ this.this_0._handle = null;
+ this.callback_1.call$0();
+ },
+ $is_void_: true
+},
+
+TimerImpl_internalCallback0: {"": "Closure;this_2,callback_3",
+ call$0: function() {
+ this.this_2._handle = null;
+ var t1 = $globalState.topEventLoop;
+ t1.activeTimerCount = t1.activeTimerCount - 1;
+ this.callback_3.call$0();
+ },
+ $is_void_: true
+},
+
+TimerImpl$periodic_closure: {"": "Closure;this_0,callback_1",
+ call$0: function() {
+ this.callback_1.call$1(this.this_0);
+ },
+ $is_void_: true
+}}],
+["_js_helper", "dart:_js_helper", , H, {
+isJsIndexable: function(object, record) {
+ var result, t1;
+ if (record != null) {
+ result = record.x;
+ if (result != null)
+ return result;
+ }
+ t1 = J.getInterceptor(object);
+ return typeof object === "object" && object !== null && !!t1.$isJavaScriptIndexingBehavior;
+},
+
+S: function(value) {
+ var res;
+ if (typeof value === "string")
+ return value;
+ if (typeof value === "number") {
+ if (value !== 0)
+ return "" + value;
+ } else if (true === value)
+ return "true";
+ else if (false === value)
+ return "false";
+ else if (value == null)
+ return "null";
+ res = J.toString$0(value);
+ if (typeof res !== "string")
+ throw H.wrapException(new P.ArgumentError(value));
+ return res;
+},
+
+Primitives_initializeStatics: function(id) {
+ $.Primitives_mirrorFunctionCacheName = $.Primitives_mirrorFunctionCacheName + ("_" + H.S(id));
+ $.Primitives_mirrorInvokeCacheName = $.Primitives_mirrorInvokeCacheName + ("_" + H.S(id));
+},
+
+Primitives_objectHashCode: function(object) {
+ var hash = object.$identityHash;
+ if (hash == null) {
+ hash = Math.random() * 0x3fffffff | 0;
+ object.$identityHash = hash;
+ }
+ return hash;
+},
+
+Primitives_printString: function(string) {
+ if (typeof dartPrint == "function") {
+ dartPrint(string);
+ return;
+ }
+ if (typeof console == "object" && typeof console.log == "function") {
+ console.log(string);
+ return;
+ }
+ if (typeof window == "object")
+ return;
+ if (typeof print == "function") {
+ print(string);
+ return;
+ }
+ throw "Unable to print message: " + String(string);
+},
+
+Primitives_objectTypeName: function(object) {
+ var $name, decompiled, t1;
+ $name = H.constructorNameFallback(J.getInterceptor(object));
+ if (J.$eq($name, "Object")) {
+ decompiled = String(object.constructor).match(/^\s*function\s*(\S*)\s*\(/)[1];
+ if (typeof decompiled === "string")
+ $name = decompiled;
+ }
+ t1 = J.getInterceptor$s($name);
+ if (t1.codeUnitAt$1($name, 0) === 36)
+ $name = t1.substring$1($name, 1);
+ t1 = H.getRuntimeTypeInfo(object);
+ return H.S($name) + H.joinArguments(t1, 0);
+},
+
+Primitives_objectToString: function(object) {
+ return "Instance of '" + H.Primitives_objectTypeName(object) + "'";
+},
+
+Primitives_newFixedList: function($length) {
+ var result = new Array($length);
+ result.fixed$length = true;
+ return result;
+},
+
+Primitives__fromCharCodeApply: function(array) {
+ var end, t1, result, i, subarray, t2;
+ end = array.length;
+ for (t1 = end <= 500, result = "", i = 0; i < end; i += 500) {
+ if (t1)
+ subarray = array;
+ else {
+ t2 = i + 500;
+ t2 = t2 < end ? t2 : end;
+ subarray = array.slice(i, t2);
+ }
+ result += String.fromCharCode.apply(null, subarray);
+ }
+ return result;
+},
+
+Primitives_stringFromCodePoints: function(codePoints) {
+ var a, t1, i;
+ a = [];
+ for (t1 = new H.ListIterator(codePoints, codePoints.length, 0, null); t1.moveNext$0();) {
+ i = t1._current;
+ if (typeof i !== "number" || Math.floor(i) !== i)
+ throw H.wrapException(new P.ArgumentError(i));
+ if (i <= 65535)
+ a.push(i);
+ else if (i <= 1114111) {
+ a.push(55296 + (C.JSNumber_methods.$shr(i - 65536, 10) & 1023));
+ a.push(56320 + (i & 1023));
+ } else
+ throw H.wrapException(new P.ArgumentError(i));
+ }
+ return H.Primitives__fromCharCodeApply(a);
+},
+
+Primitives_stringFromCharCodes: function(charCodes) {
+ var t1, i;
+ for (t1 = new H.ListIterator(charCodes, charCodes.length, 0, null); t1.moveNext$0();) {
+ i = t1._current;
+ if (typeof i !== "number" || Math.floor(i) !== i)
+ throw H.wrapException(new P.ArgumentError(i));
+ if (i < 0)
+ throw H.wrapException(new P.ArgumentError(i));
+ if (i > 65535)
+ return H.Primitives_stringFromCodePoints(charCodes);
+ }
+ return H.Primitives__fromCharCodeApply(charCodes);
+},
+
+Primitives_getProperty: function(object, key) {
+ if (object == null || typeof object === "boolean" || typeof object === "number" || typeof object === "string")
+ throw H.wrapException(new P.ArgumentError(object));
+ return object[key];
+},
+
+Primitives_setProperty: function(object, key, value) {
+ if (object == null || typeof object === "boolean" || typeof object === "number" || typeof object === "string")
+ throw H.wrapException(new P.ArgumentError(object));
+ object[key] = value;
+},
+
+iae: function(argument) {
+ throw H.wrapException(new P.ArgumentError(argument));
+},
+
+ioore: function(receiver, index) {
+ if (receiver == null)
+ J.get$length$asx(receiver);
+ if (typeof index !== "number" || Math.floor(index) !== index)
+ H.iae(index);
+ throw H.wrapException(new P.RangeError("value " + H.S(index)));
+},
+
+wrapException: function(ex) {
+ var wrapper;
+ if (ex == null)
+ ex = new P.NullThrownError();
+ wrapper = new Error();
+ wrapper.dartException = ex;
+ if ("defineProperty" in Object) {
+ Object.defineProperty(wrapper, "message", { get: H.toStringWrapper$closure.call$0 });
+ wrapper.name = "";
+ } else
+ wrapper.toString = H.toStringWrapper$closure.call$0;
+ return wrapper;
+},
+
+toStringWrapper: function() {
+ return J.toString$0(this.dartException);
+},
+
+throwExpression: function(ex) {
+ throw H.wrapException(ex);
+},
+
+unwrapException: function(ex) {
+ var t1, message, number, ieErrorCode, t2, t3, t4, nullLiteralCall, t5, t6, t7, t8, t9, match;
+ t1 = new H.unwrapException_saveStackTrace(ex);
+ if (ex == null)
+ return;
+ if (typeof ex !== "object")
+ return ex;
+ if ("dartException" in ex)
+ return t1.call$1(ex.dartException);
+ else if (!("message" in ex))
+ return ex;
+ message = ex.message;
+ if ("number" in ex && typeof ex.number == "number") {
+ number = ex.number;
+ ieErrorCode = number & 65535;
+ if ((C.JSInt_methods.$shr(number, 16) & 8191) === 10)
+ switch (ieErrorCode) {
+ case 438:
+ return t1.call$1(H.JsNoSuchMethodError$(H.S(message) + " (Error " + ieErrorCode + ")", null));
+ case 445:
+ case 5007:
+ t2 = H.S(message) + " (Error " + ieErrorCode + ")";
+ return t1.call$1(new H.NullError(t2, null));
+ default:
+ }
+ }
+ if (ex instanceof TypeError) {
+ t2 = $.get$TypeErrorDecoder_noSuchMethodPattern();
+ t3 = $.get$TypeErrorDecoder_notClosurePattern();
+ t4 = $.get$TypeErrorDecoder_nullCallPattern();
+ nullLiteralCall = $.get$TypeErrorDecoder_nullLiteralCallPattern();
+ t5 = $.get$TypeErrorDecoder_undefinedCallPattern();
+ t6 = $.get$TypeErrorDecoder_undefinedLiteralCallPattern();
+ t7 = $.get$TypeErrorDecoder_nullPropertyPattern();
+ $.get$TypeErrorDecoder_nullLiteralPropertyPattern();
+ t8 = $.get$TypeErrorDecoder_undefinedPropertyPattern();
+ t9 = $.get$TypeErrorDecoder_undefinedLiteralPropertyPattern();
+ match = t2.matchTypeError$1(message);
+ if (match != null)
+ return t1.call$1(H.JsNoSuchMethodError$(message, match));
+ else {
+ match = t3.matchTypeError$1(message);
+ if (match != null) {
+ match.method = "call";
+ return t1.call$1(H.JsNoSuchMethodError$(message, match));
+ } else {
+ match = t4.matchTypeError$1(message);
+ if (match == null) {
+ match = nullLiteralCall.matchTypeError$1(message);
+ if (match == null) {
+ match = t5.matchTypeError$1(message);
+ if (match == null) {
+ match = t6.matchTypeError$1(message);
+ if (match == null) {
+ match = t7.matchTypeError$1(message);
+ if (match == null) {
+ match = nullLiteralCall.matchTypeError$1(message);
+ if (match == null) {
+ match = t8.matchTypeError$1(message);
+ if (match == null) {
+ match = t9.matchTypeError$1(message);
+ t2 = match != null;
+ } else
+ t2 = true;
+ } else
+ t2 = true;
+ } else
+ t2 = true;
+ } else
+ t2 = true;
+ } else
+ t2 = true;
+ } else
+ t2 = true;
+ } else
+ t2 = true;
+ if (t2) {
+ t2 = match == null ? null : match.method;
+ return t1.call$1(new H.NullError(message, t2));
+ }
+ }
+ }
+ t2 = typeof message === "string" ? message : "";
+ return t1.call$1(new H.UnknownJsTypeError(t2));
+ }
+ if (ex instanceof RangeError) {
+ if (typeof message === "string" && message.indexOf("call stack") !== -1)
+ return new P.StackOverflowError();
+ return t1.call$1(new P.ArgumentError(null));
+ }
+ if (typeof InternalError == "function" && ex instanceof InternalError)
+ if (typeof message === "string" && message === "too much recursion")
+ return new P.StackOverflowError();
+ return ex;
+},
+
+objectHashCode: function(object) {
+ if (object == null || typeof object != 'object')
+ return J.get$hashCode$(object);
+ else
+ return H.Primitives_objectHashCode(object);
+},
+
+fillLiteralMap: function(keyValuePairs, result) {
+ var $length, index, index0, index1;
+ $length = keyValuePairs.length;
+ for (index = 0; index < $length; index = index1) {
+ index0 = index + 1;
+ index1 = index0 + 1;
+ result.$indexSet(result, keyValuePairs[index], keyValuePairs[index0]);
+ }
+ return result;
+},
+
+invokeClosure: function(closure, isolate, numberOfArguments, arg1, arg2) {
+ var t1 = J.getInterceptor(numberOfArguments);
+ if (t1.$eq(numberOfArguments, 0))
+ return H._callInIsolate(isolate, new H.invokeClosure_closure(closure));
+ else if (t1.$eq(numberOfArguments, 1))
+ return H._callInIsolate(isolate, new H.invokeClosure_closure0(closure, arg1));
+ else if (t1.$eq(numberOfArguments, 2))
+ return H._callInIsolate(isolate, new H.invokeClosure_closure1(closure, arg1, arg2));
+ else
+ throw H.wrapException(new P._ExceptionImplementation("Unsupported number of arguments for wrapped closure"));
+},
+
+convertDartClosureToJS: function(closure, arity) {
+ var $function;
+ if (closure == null)
+ return;
+ $function = closure.$identity;
+ if (!!$function)
+ return $function;
+ $function = (function ($2, $3) { return function($0, $1) { return $3(closure, $2, arity, $0, $1) }})($globalState.currentContext, H.invokeClosure$closure.call$5);
+ closure.$identity = $function;
+ return $function;
+},
+
+throwCyclicInit: function(staticName) {
+ throw H.wrapException(new P.CyclicInitializationError("Cyclic initialization for static " + H.S(staticName)));
+},
+
+setRuntimeTypeInfo: function(target, typeInfo) {
+ if (target != null)
+ target.$builtinTypeInfo = typeInfo;
+ return target;
+},
+
+getRuntimeTypeInfo: function(target) {
+ if (target == null)
+ return;
+ return target.$builtinTypeInfo;
+},
+
+getRuntimeTypeArguments: function(target, substitutionName) {
+ return H.substitute(target["$as" + H.S(substitutionName)], H.getRuntimeTypeInfo(target));
+},
+
+getRuntimeTypeArgument: function(target, substitutionName, index) {
+ var $arguments = H.getRuntimeTypeArguments(target, substitutionName);
+ return $arguments == null ? null : $arguments[index];
+},
+
+runtimeTypeToString: function(type) {
+ if (type == null)
+ return "dynamic";
+ else if (typeof type === "object" && type !== null && type.constructor === Array)
+ return type[0].builtin$cls + H.joinArguments(type, 1);
+ else if (typeof type == "function")
+ return type.builtin$cls;
+ else
+ return;
+},
+
+joinArguments: function(types, startIndex) {
+ var buffer, index, firstArgument, allDynamic, argument, str;
+ if (types == null)
+ return "";
+ buffer = P.StringBuffer$("");
+ for (index = startIndex, firstArgument = true, allDynamic = true; index < types.length; ++index) {
+ if (firstArgument)
+ firstArgument = false;
+ else
+ buffer._contents = buffer._contents + ", ";
+ argument = types[index];
+ if (argument != null)
+ allDynamic = false;
+ str = H.runtimeTypeToString(argument);
+ str = typeof str === "string" ? str : str;
+ buffer._contents = buffer._contents + str;
+ }
+ return allDynamic ? "" : "<" + H.S(buffer) + ">";
+},
+
+substitute: function(substitution, $arguments) {
+ if (typeof substitution === "object" && substitution !== null && substitution.constructor === Array)
+ $arguments = substitution;
+ else if (typeof substitution == "function") {
+ substitution = H.invokeOn(substitution, null, $arguments);
+ if (typeof substitution === "object" && substitution !== null && substitution.constructor === Array)
+ $arguments = substitution;
+ else if (typeof substitution == "function")
+ $arguments = H.invokeOn(substitution, null, $arguments);
+ }
+ return $arguments;
+},
+
+areSubtypes: function(s, t) {
+ var len, i;
+ if (s == null || t == null)
+ return true;
+ len = s.length;
+ for (i = 0; i < len; ++i)
+ if (!H.isSubtype(s[i], t[i]))
+ return false;
+ return true;
+},
+
+isSupertypeOfNull: function(type) {
+ return type == null || type.builtin$cls === "Object" || type.builtin$cls === "Null";
+},
+
+checkSubtypeOfRuntimeType: function(o, t) {
+ var rti, type;
+ if (o == null)
+ return H.isSupertypeOfNull(t);
+ if (t == null)
+ return true;
+ rti = H.getRuntimeTypeInfo(o);
+ o = J.getInterceptor(o);
+ if (rti != null) {
+ type = rti.slice();
+ type.splice(0, 0, o);
+ } else
+ type = o;
+ return H.isSubtype(type, t);
+},
+
+isSubtype: function(s, t) {
+ var targetSignatureFunction, t1, typeOfS, t2, typeOfT, substitution;
+ if (s === t)
+ return true;
+ if (s == null || t == null)
+ return true;
+ if ("func" in t) {
+ if (!("func" in s)) {
+ if ("$is_" + H.S(t.func) in s)
+ return true;
+ targetSignatureFunction = s.$signature;
+ if (targetSignatureFunction == null)
+ return false;
+ s = targetSignatureFunction.apply(s, null);
+ }
+ return H.isFunctionSubtype(s, t);
+ }
+ if (t.builtin$cls === "Function" && "func" in s)
+ return true;
+ t1 = typeof s === "object" && s !== null && s.constructor === Array;
+ typeOfS = t1 ? s[0] : s;
+ t2 = typeof t === "object" && t !== null && t.constructor === Array;
+ typeOfT = t2 ? t[0] : t;
+ if (!("$is" + H.runtimeTypeToString(typeOfT) in typeOfS))
+ return false;
+ substitution = typeOfT !== typeOfS ? typeOfS["$as" + H.runtimeTypeToString(typeOfT)] : null;
+ if (!t1 && substitution == null || !t2)
+ return true;
+ t1 = t1 ? s.slice(1) : null;
+ t2 = t2 ? t.slice(1) : null;
+ return H.areSubtypes(H.substitute(substitution, t1), t2);
+},
+
+isAssignable: function(s, t) {
+ return H.isSubtype(s, t) || H.isSubtype(t, s);
+},
+
+areAssignable: function(s, t, allowShorter) {
+ var sLength, tLength, i, t1, t2;
+ if (t == null && s == null)
+ return true;
+ if (t == null)
+ return allowShorter;
+ if (s == null)
+ return false;
+ sLength = s.length;
+ tLength = t.length;
+ if (allowShorter) {
+ if (sLength < tLength)
+ return false;
+ } else if (sLength !== tLength)
+ return false;
+ for (i = 0; i < tLength; ++i) {
+ t1 = s[i];
+ t2 = t[i];
+ if (!(H.isSubtype(t1, t2) || H.isSubtype(t2, t1)))
+ return false;
+ }
+ return true;
+},
+
+areAssignableMaps: function(s, t) {
+ if (t == null)
+ return true;
+ if (s == null)
+ return false;
+ return function (t, s, isAssignable) {
+ for (var $name in t) {
+ if (!s.hasOwnProperty($name)) {
+ return false;
+ }
+ var tType = t[$name];
+ var sType = s[$name];
+ if (!isAssignable.call$2(sType, tType)) {
+ return false;
+ }
+ }
+ return true;
+ }(t, s, H.isAssignable$closure)
+ ;
+},
+
+isFunctionSubtype: function(s, t) {
+ var sReturnType, tReturnType, sParameterTypes, tParameterTypes, sOptionalParameterTypes, tOptionalParameterTypes, sParametersLen, tParametersLen, sOptionalParametersLen, tOptionalParametersLen, pos, t1, t2, tPos, sPos;
+ if (!("func" in s))
+ return false;
+ if ("void" in s) {
+ if (!("void" in t) && "ret" in t)
+ return false;
+ } else if (!("void" in t)) {
+ sReturnType = s.ret;
+ tReturnType = t.ret;
+ if (!(H.isSubtype(sReturnType, tReturnType) || H.isSubtype(tReturnType, sReturnType)))
+ return false;
+ }
+ sParameterTypes = s.args;
+ tParameterTypes = t.args;
+ sOptionalParameterTypes = s.opt;
+ tOptionalParameterTypes = t.opt;
+ sParametersLen = sParameterTypes != null ? sParameterTypes.length : 0;
+ tParametersLen = tParameterTypes != null ? tParameterTypes.length : 0;
+ sOptionalParametersLen = sOptionalParameterTypes != null ? sOptionalParameterTypes.length : 0;
+ tOptionalParametersLen = tOptionalParameterTypes != null ? tOptionalParameterTypes.length : 0;
+ if (sParametersLen > tParametersLen)
+ return false;
+ if (sParametersLen + sOptionalParametersLen < tParametersLen + tOptionalParametersLen)
+ return false;
+ if (sParametersLen === tParametersLen) {
+ if (!H.areAssignable(sParameterTypes, tParameterTypes, false))
+ return false;
+ if (!H.areAssignable(sOptionalParameterTypes, tOptionalParameterTypes, true))
+ return false;
+ } else {
+ for (pos = 0; pos < sParametersLen; ++pos) {
+ t1 = sParameterTypes[pos];
+ t2 = tParameterTypes[pos];
+ if (!(H.isSubtype(t1, t2) || H.isSubtype(t2, t1)))
+ return false;
+ }
+ for (tPos = pos, sPos = 0; tPos < tParametersLen; ++sPos, ++tPos) {
+ t1 = sOptionalParameterTypes[sPos];
+ t2 = tParameterTypes[tPos];
+ if (!(H.isSubtype(t1, t2) || H.isSubtype(t2, t1)))
+ return false;
+ }
+ for (sPos = 0; tPos < tOptionalParametersLen; ++sPos, ++tPos) {
+ t1 = tOptionalParameterTypes[sPos];
+ t2 = tOptionalParameterTypes[tPos];
+ if (!(H.isSubtype(t1, t2) || H.isSubtype(t2, t1)))
+ return false;
+ }
+ }
+ return H.areAssignableMaps(s.named, t.named);
+},
+
+invokeOn: function($function, receiver, $arguments) {
+ return $function.apply(receiver, $arguments);
+},
+
+typeNameInChrome: function(obj) {
+ return obj.constructor.name;
+},
+
+typeNameInSafari: function(obj) {
+ return H.constructorNameFallback(obj);
+},
+
+typeNameInOpera: function(obj) {
+ return H.constructorNameFallback(obj);
+},
+
+typeNameInFirefox: function(obj) {
+ var $name = H.constructorNameFallback(obj);
+ if ($name === "BeforeUnloadEvent")
+ return "Event";
+ if ($name === "DataTransfer")
+ return "Clipboard";
+ if ($name === "GeoGeolocation")
+ return "Geolocation";
+ if ($name === "WorkerMessageEvent")
+ return "MessageEvent";
+ if ($name === "XMLDocument")
+ return "Document";
+ return $name;
+},
+
+typeNameInIE: function(obj) {
+ var $name = H.constructorNameFallback(obj);
+ if ($name === "Document") {
+ if (!!obj.xmlVersion)
+ return "Document";
+ return "HTMLDocument";
+ }
+ if ($name === "BeforeUnloadEvent")
+ return "Event";
+ if ($name === "DataTransfer")
+ return "Clipboard";
+ if ($name === "HTMLDDElement")
+ return "HTMLElement";
+ if ($name === "HTMLDTElement")
+ return "HTMLElement";
+ if ($name === "HTMLPhraseElement")
+ return "HTMLElement";
+ if ($name === "Position")
+ return "Geoposition";
+ if ($name === "Object")
+ if (window.DataView && obj instanceof window.DataView)
+ return "DataView";
+ return $name;
+},
+
+constructorNameFallback: function(object) {
+ var $constructor, $name, t1, string;
+ if (object == null)
+ return "Null";
+ $constructor = object.constructor;
+ if (typeof $constructor === "function") {
+ $name = $constructor.builtin$cls;
+ if ($name != null)
+ return $name;
+ $name = $constructor.name;
+ if (typeof $name === "string")
+ t1 = $name !== "" && $name !== "Object" && $name !== "Function.prototype";
+ else
+ t1 = false;
+ if (t1)
+ return $name;
+ }
+ string = Object.prototype.toString.call(object);
+ return string.substring(8, string.length - 1);
+},
+
+alternateTag: function(object, tag) {
+ if (!!/^HTML[A-Z].*Element$/.test(tag)) {
+ if (Object.prototype.toString.call(object) === "[object Object]")
+ return;
+ return "HTMLElement";
+ }
+ return;
+},
+
+getFunctionForTypeNameOf: function() {
+ var getTagFunction = H.getBaseFunctionForTypeNameOf();
+ if (typeof dartExperimentalFixupGetTag == "function")
+ return H.applyExperimentalFixup(dartExperimentalFixupGetTag, getTagFunction);
+ return getTagFunction;
+},
+
+getBaseFunctionForTypeNameOf: function() {
+ if (typeof navigator !== "object")
+ return H.typeNameInChrome$closure;
+ var userAgent = navigator.userAgent;
+ if (userAgent.indexOf("Chrome") !== -1 || userAgent.indexOf("DumpRenderTree") !== -1)
+ return H.typeNameInChrome$closure;
+ else if (userAgent.indexOf("Firefox") !== -1)
+ return H.typeNameInFirefox$closure;
+ else if (userAgent.indexOf("Trident/") !== -1)
+ return H.typeNameInIE$closure;
+ else if (userAgent.indexOf("Opera") !== -1)
+ return H.typeNameInOpera$closure;
+ else if (userAgent.indexOf("AppleWebKit") !== -1)
+ return H.typeNameInSafari$closure;
+ else
+ return H.constructorNameFallback$closure;
+},
+
+applyExperimentalFixup: function(fixupJSFunction, originalGetTagDartFunction) {
+ return new H.applyExperimentalFixup_newGetTagDartFunction(fixupJSFunction((function(invoke, closure){return function(arg){ return invoke(closure, arg); };})(H.callDartFunctionWith1Arg$closure.call$2, originalGetTagDartFunction)));
+},
+
+callDartFunctionWith1Arg: function(fn, arg) {
+ return fn.call$1(arg);
+},
+
+toStringForNativeObject: function(obj) {
+ return "Instance of " + $.get$getTypeNameOf().call$1(obj);
+},
+
+hashCodeForNativeObject: function(object) {
+ return H.Primitives_objectHashCode(object);
+},
+
+defineProperty: function(obj, property, value) {
+ Object.defineProperty(obj, property, {value: value, enumerable: false, writable: true, configurable: true});
+},
+
+defineNativeMethods: function(tags, interceptorClass) {
+ H.defineNativeMethodsCommon(tags, interceptorClass, true);
+},
+
+defineNativeMethodsNonleaf: function(tags, interceptorClass) {
+ H.defineNativeMethodsCommon(tags, interceptorClass, false);
+},
+
+defineNativeMethodsExtended: function(tags, interceptorClass, subclassInterceptorClasses) {
+ var classes, t1, i;
+ if ($.interceptorToTag == null)
+ $.interceptorToTag = [];
+ classes = subclassInterceptorClasses;
+ for (t1 = classes.length, i = 0; i < t1; ++i) {
+ $.interceptorToTag.push(classes[i]);
+ $.interceptorToTag.push(tags);
+ }
+ H.defineNativeMethodsCommon(tags, interceptorClass, false);
+},
+
+defineNativeMethodsCommon: function(tags, interceptorClass, isLeaf) {
+ var methods, tagsList, i, tag;
+ methods = interceptorClass.prototype;
+ if ($.interceptorsByTag == null)
+ $.interceptorsByTag = {};
+ if ($.leafTags == null)
+ $.leafTags = {};
+ tagsList = tags.split("|");
+ for (i = 0; i < tagsList.length; ++i) {
+ tag = tagsList[i];
+ $.interceptorsByTag[tag] = methods;
+ $.leafTags[tag] = isLeaf;
+ }
+},
+
+defineNativeMethodsFinish: function() {
+},
+
+lookupInterceptor: function(hasOwnPropertyFunction, tag) {
+ var map = $.interceptorsByTag;
+ if (map == null)
+ return;
+ return hasOwnPropertyFunction.call(map, tag) ? map[tag] : null;
+},
+
+lookupDispatchRecord: function(obj) {
+ var hasOwnPropertyFunction, tag, interceptor, secondTag, t1;
+ hasOwnPropertyFunction = Object.prototype.hasOwnProperty;
+ tag = $.get$getTypeNameOf().call$1(obj);
+ interceptor = H.lookupInterceptor(hasOwnPropertyFunction, tag);
+ if (interceptor == null) {
+ secondTag = H.alternateTag(obj, tag);
+ if (secondTag != null)
+ interceptor = H.lookupInterceptor(hasOwnPropertyFunction, secondTag);
+ }
+ if (interceptor == null)
+ return;
+ t1 = $.leafTags;
+ if (t1 != null && t1[tag] === true)
+ return H.makeLeafDispatchRecord(interceptor);
+ else
+ return J.makeDispatchRecord(interceptor, Object.getPrototypeOf(obj), null, null);
+},
+
+makeLeafDispatchRecord: function(interceptor) {
+ return J.makeDispatchRecord(interceptor, false, null, !!interceptor.$isJavaScriptIndexingBehavior);
+},
+
+ConstantMap: {"": "Object;",
+ toString$0: function(_) {
+ return P.Maps_mapToString(this);
+ },
+ _throwUnmodifiable$0: function() {
+ throw H.wrapException(new P.UnsupportedError("Cannot modify unmodifiable Map"));
+ },
+ $indexSet: function(_, key, val) {
+ return this._throwUnmodifiable$0();
+ },
+ $isMap: true
+},
+
+ConstantStringMap: {"": "ConstantMap;length>,_jsObject,_keys",
+ containsKey$1: function(key) {
+ if (typeof key !== "string")
+ return false;
+ if (key === "__proto__")
+ return false;
+ return this._jsObject.hasOwnProperty(key);
+ },
+ $index: function(_, key) {
+ if (typeof key !== "string")
+ return;
+ if (!this.containsKey$1(key))
+ return;
+ return this._jsObject[key];
+ },
+ forEach$1: function(_, f) {
+ J.forEach$1$ax(this._keys, new H.ConstantStringMap_forEach_closure(this, f));
+ },
+ get$keys: function() {
+ var t1 = new H._ConstantMapKeyIterable(this);
+ H.setRuntimeTypeInfo(t1, [H.getRuntimeTypeArgument(this, "ConstantStringMap", 0)]);
+ return t1;
+ },
+ get$values: function(_) {
+ return J.map$1$ax(this._keys, new H.ConstantStringMap_values_closure(this));
+ },
+ $asConstantMap: null,
+ $asMap: null
+},
+
+ConstantStringMap_forEach_closure: {"": "Closure;this_0,f_1",
+ call$1: function(key) {
+ var t1 = this.this_0;
+ return this.f_1.call$2(key, t1.$index(t1, key));
+ }
+},
+
+ConstantStringMap_values_closure: {"": "Closure;this_0",
+ call$1: function(key) {
+ var t1 = this.this_0;
+ return t1.$index(t1, key);
+ }
+},
+
+_ConstantMapKeyIterable: {"": "IterableBase;_liblib1$_map",
+ get$iterator: function(_) {
+ return J.get$iterator$ax(this._liblib1$_map._keys);
+ },
+ $asIterableBase: null
+},
+
+TypeErrorDecoder: {"": "Object;_pattern,_arguments,_argumentsExpr,_expr,_method,_receiver",
+ matchTypeError$1: function(message) {
+ var match, result, t1;
+ match = new RegExp(this._pattern).exec(message);
+ if (match == null)
+ return;
+ result = {};
+ t1 = this._arguments;
+ if (t1 !== -1)
+ result.arguments = match[t1 + 1];
+ t1 = this._argumentsExpr;
+ if (t1 !== -1)
+ result.argumentsExpr = match[t1 + 1];
+ t1 = this._expr;
+ if (t1 !== -1)
+ result.expr = match[t1 + 1];
+ t1 = this._method;
+ if (t1 !== -1)
+ result.method = match[t1 + 1];
+ t1 = this._receiver;
+ if (t1 !== -1)
+ result.receiver = match[t1 + 1];
+ return result;
+ },
+ static: {
+"": "TypeErrorDecoder_noSuchMethodPattern,TypeErrorDecoder_notClosurePattern,TypeErrorDecoder_nullCallPattern,TypeErrorDecoder_nullLiteralCallPattern,TypeErrorDecoder_undefinedCallPattern,TypeErrorDecoder_undefinedLiteralCallPattern,TypeErrorDecoder_nullPropertyPattern,TypeErrorDecoder_nullLiteralPropertyPattern,TypeErrorDecoder_undefinedPropertyPattern,TypeErrorDecoder_undefinedLiteralPropertyPattern",
+TypeErrorDecoder_extractPattern: function(message) {
+ var match, $arguments, argumentsExpr, expr, method, receiver;
+ message = message.replace(String({}), '$receiver$').replace(new RegExp("[[\\]{}()*+?.\\\\^$|]", 'g'), '\\$&');
+ match = message.match(/\\\$[a-zA-Z]+\\\$/g);
+ if (match == null)
+ match = [];
+ $arguments = match.indexOf("\\$arguments\\$");
+ argumentsExpr = match.indexOf("\\$argumentsExpr\\$");
+ expr = match.indexOf("\\$expr\\$");
+ method = match.indexOf("\\$method\\$");
+ receiver = match.indexOf("\\$receiver\\$");
+ return new H.TypeErrorDecoder(message.replace('\\$arguments\\$', '((?:x|[^x])*)').replace('\\$argumentsExpr\\$', '((?:x|[^x])*)').replace('\\$expr\\$', '((?:x|[^x])*)').replace('\\$method\\$', '((?:x|[^x])*)').replace('\\$receiver\\$', '((?:x|[^x])*)'), $arguments, argumentsExpr, expr, method, receiver);
+},
+
+TypeErrorDecoder_provokeCallErrorOn: function(expression) {
+ return function($expr$) {
+ var $argumentsExpr$ = '$arguments$'
+ try {
+ $expr$.$method$($argumentsExpr$);
+ } catch (e) {
+ return e.message;
+ }
+}(expression);
+},
+
+TypeErrorDecoder_provokeCallErrorOnNull: function() {
+ return function() {
+ var $argumentsExpr$ = '$arguments$'
+ try {
+ null.$method$($argumentsExpr$);
+ } catch (e) {
+ return e.message;
+ }
+}();
+},
+
+TypeErrorDecoder_provokeCallErrorOnUndefined: function() {
+ return function() {
+ var $argumentsExpr$ = '$arguments$'
+ try {
+ (void 0).$method$($argumentsExpr$);
+ } catch (e) {
+ return e.message;
+ }
+}();
+},
+
+TypeErrorDecoder_provokePropertyErrorOn: function(expression) {
+ return function($expr$) {
+ try {
+ $expr$.$method$;
+ } catch (e) {
+ return e.message;
+ }
+}(expression);
+},
+
+TypeErrorDecoder_provokePropertyErrorOnNull: function() {
+ return function() {
+ try {
+ null.$method$;
+ } catch (e) {
+ return e.message;
+ }
+}();
+},
+
+TypeErrorDecoder_provokePropertyErrorOnUndefined: function() {
+ return function() {
+ try {
+ (void 0).$method$;
+ } catch (e) {
+ return e.message;
+ }
+}();
+}}
+
+},
+
+NullError: {"": "Error;_message,_method",
+ toString$0: function(_) {
+ var t1 = this._method;
+ if (t1 == null)
+ return "NullError: " + H.S(this._message);
+ return "NullError: Cannot call \"" + H.S(t1) + "\" on null";
+ },
+ $isError: true
+},
+
+JsNoSuchMethodError: {"": "Error;_message,_method,_receiver",
+ toString$0: function(_) {
+ var t1, t2;
+ t1 = this._method;
+ if (t1 == null)
+ return "NoSuchMethodError: " + H.S(this._message);
+ t2 = this._receiver;
+ if (t2 == null)
+ return "NoSuchMethodError: Cannot call \"" + t1 + "\" (" + H.S(this._message) + ")";
+ return "NoSuchMethodError: Cannot call \"" + t1 + "\" on \"" + t2 + "\" (" + H.S(this._message) + ")";
+ },
+ $isError: true,
+ static: {
+JsNoSuchMethodError$: function(_message, match) {
+ var t1, t2;
+ t1 = match == null;
+ t2 = t1 ? null : match.method;
+ t1 = t1 ? null : match.receiver;
+ return new H.JsNoSuchMethodError(_message, t2, t1);
+}}
+
+},
+
+UnknownJsTypeError: {"": "Error;_message",
+ toString$0: function(_) {
+ var t1 = this._message;
+ return C.JSString_methods.get$isEmpty(t1) ? "Error" : "Error: " + t1;
+ }
+},
+
+unwrapException_saveStackTrace: {"": "Closure;ex_0",
+ call$1: function(error) {
+ var t1 = J.getInterceptor(error);
+ if (typeof error === "object" && error !== null && !!t1.$isError)
+ if (error.$thrownJsError == null)
+ error.$thrownJsError = this.ex_0;
+ return error;
+ }
+},
+
+_StackTrace: {"": "Object;_exception,_trace",
+ toString$0: function(_) {
+ var t1, trace;
+ t1 = this._trace;
+ if (t1 != null)
+ return t1;
+ t1 = this._exception;
+ trace = typeof t1 === "object" ? t1.stack : null;
+ t1 = trace == null ? "" : trace;
+ this._trace = t1;
+ return t1;
+ }
+},
+
+invokeClosure_closure: {"": "Closure;closure_0",
+ call$0: function() {
+ return this.closure_0.call$0();
+ },
+ $is_void_: true
+},
+
+invokeClosure_closure0: {"": "Closure;closure_1,arg1_2",
+ call$0: function() {
+ return this.closure_1.call$1(this.arg1_2);
+ },
+ $is_void_: true
+},
+
+invokeClosure_closure1: {"": "Closure;closure_3,arg1_4,arg2_5",
+ call$0: function() {
+ return this.closure_3.call$2(this.arg1_4, this.arg2_5);
+ },
+ $is_void_: true
+},
+
+Closure: {"": "Object;",
+ toString$0: function(_) {
+ return "Closure";
+ }
+},
+
+BoundClosure: {"": "Closure;_self,_liblib1$_target,_receiver,_liblib1$_name",
+ $eq: function(_, other) {
+ var t1;
+ if (other == null)
+ return false;
+ if (this === other)
+ return true;
+ t1 = J.getInterceptor(other);
+ if (typeof other !== "object" || other === null || !t1.$isBoundClosure)
+ return false;
+ return this._self === other._self && this._liblib1$_target === other._liblib1$_target && this._receiver === other._receiver;
+ },
+ get$hashCode: function(_) {
+ var t1, receiverHashCode;
+ t1 = this._receiver;
+ if (t1 == null)
+ receiverHashCode = H.Primitives_objectHashCode(this._self);
+ else
+ receiverHashCode = typeof t1 !== "object" ? J.get$hashCode$(t1) : H.Primitives_objectHashCode(t1);
+ return (receiverHashCode ^ H.Primitives_objectHashCode(this._liblib1$_target)) >>> 0;
+ },
+ $isBoundClosure: true
+},
+
+TypeImpl: {"": "Object;_typeName,_unmangledName",
+ toString$0: function(_) {
+ var t1, unmangledName, unmangledName0;
+ t1 = this._unmangledName;
+ if (t1 != null)
+ return t1;
+ unmangledName = this._typeName;
+ unmangledName0 = H.unmangleGlobalNameIfPreservedAnyways(unmangledName);
+ unmangledName = unmangledName0 == null ? unmangledName : unmangledName0;
+ this._unmangledName = unmangledName;
+ return unmangledName;
+ },
+ get$hashCode: function(_) {
+ return J.get$hashCode$(this._typeName);
+ },
+ $eq: function(_, other) {
+ var t1;
+ if (other == null)
+ return false;
+ t1 = J.getInterceptor(other);
+ return typeof other === "object" && other !== null && !!t1.$isTypeImpl && J.$eq(this._typeName, other._typeName);
+ },
+ $isTypeImpl: true
+},
+
+applyExperimentalFixup_newGetTagDartFunction: {"": "Closure;newGetTagJSFunction_0",
+ call$1: function(object) {
+ return this.newGetTagJSFunction_0(object);
+ }
+}}],
+["dart._collection.dev", "dart:_collection-dev", , H, {
+Arrays_copy: function(src, srcStart, dst, dstStart, count) {
+ var i, j, t1, t2, t3, t4;
+ if (typeof dst !== "object" || dst === null || (dst.constructor !== Array || !!dst.immutable$list) && !H.isJsIndexable(dst, dst[init.dispatchPropertyName]))
+ return H.Arrays_copy$bailout(1, dst, src, srcStart, dstStart, count);
+ if (srcStart < dstStart)
+ for (i = srcStart + count - 1, j = dstStart + count - 1, t1 = src.length, t2 = dst.length; i >= srcStart; --i, --j) {
+ if (i < 0 || i >= t1)
+ throw H.ioore(src, i);
+ t3 = src[i];
+ if (j < 0 || j >= t2)
+ throw H.ioore(dst, j);
+ dst[j] = t3;
+ }
+ else
+ for (t1 = srcStart + count, t2 = src.length, t3 = dst.length, j = dstStart, i = srcStart; i < t1; ++i, ++j) {
+ if (i < 0 || i >= t2)
+ throw H.ioore(src, i);
+ t4 = src[i];
+ if (j < 0 || j >= t3)
+ throw H.ioore(dst, j);
+ dst[j] = t4;
+ }
+},
+
+Arrays_copy$bailout: function(state0, dst, src, srcStart, dstStart, count) {
+ var i, j, t1;
+ if (srcStart < dstStart)
+ for (i = srcStart + count - 1, j = dstStart + count - 1; i >= srcStart; --i, --j) {
+ if (i < 0 || i >= src.length)
+ throw H.ioore(src, i);
+ C.JSArray_methods.$indexSet(dst, j, src[i]);
+ }
+ else
+ for (t1 = srcStart + count, j = dstStart, i = srcStart; i < t1; ++i, ++j) {
+ if (i < 0 || i >= src.length)
+ throw H.ioore(src, i);
+ C.JSArray_methods.$indexSet(dst, j, src[i]);
+ }
+},
+
+IterableMixinWorkaround_forEach: function(iterable, f) {
+ var t1;
+ for (t1 = new H.ListIterator(iterable, iterable.length, 0, null); t1.moveNext$0();)
+ f.call$1(t1._current);
+},
+
+IterableMixinWorkaround_toStringIterable: function(iterable, leftDelimiter, rightDelimiter) {
+ var result, i, t1;
+ for (i = 0; i < $.get$IterableMixinWorkaround__toStringList().length; ++i) {
+ t1 = $.get$IterableMixinWorkaround__toStringList();
+ if (i >= t1.length)
+ throw H.ioore(t1, i);
+ if (t1[i] === iterable)
+ return H.S(leftDelimiter) + "..." + H.S(rightDelimiter);
+ }
+ result = P.StringBuffer$("");
+ try {
+ $.get$IterableMixinWorkaround__toStringList().push(iterable);
+ result.write$1(leftDelimiter);
+ result.writeAll$2(iterable, ", ");
+ result.write$1(rightDelimiter);
+ } finally {
+ t1 = $.get$IterableMixinWorkaround__toStringList();
+ if (0 >= t1.length)
+ throw H.ioore(t1, 0);
+ t1.pop();
+ }
+ return result.get$_contents();
+},
+
+IterableMixinWorkaround__rangeCheck: function(list, start, end) {
+ var t1;
+ if (start < 0 || start > list.length) {
+ t1 = list.length;
+ throw H.wrapException(new P.RangeError("value " + start + " not in range 0.." + t1));
+ }
+ if (end < start || end > list.length) {
+ t1 = list.length;
+ throw H.wrapException(new P.RangeError("value " + end + " not in range " + start + ".." + t1));
+ }
+},
+
+IterableMixinWorkaround_setRangeList: function(list, start, end, from, skipCount) {
+ var $length;
+ H.IterableMixinWorkaround__rangeCheck(list, start, end);
+ $length = end - start;
+ if ($length === 0)
+ return;
+ if (skipCount < 0)
+ throw H.wrapException(new P.ArgumentError(skipCount));
+ if (skipCount + $length > from.length)
+ throw H.wrapException(new P.StateError("Not enough elements"));
+ H.Arrays_copy(from, skipCount, list, start, $length);
+},
+
+Symbol_getName: function(symbol) {
+ return symbol.get$_name();
+},
+
+ListIterable: {"": "IterableBase;",
+ get$iterator: function(_) {
+ return new H.ListIterator(this, this.get$length(this), 0, null);
+ },
+ forEach$1: function(_, action) {
+ var $length, i;
+ $length = this.get$length(this);
+ for (i = 0; i < $length; ++i) {
+ action.call$1(this.elementAt$1(this, i));
+ if ($length !== this.get$length(this))
+ throw H.wrapException(new P.ConcurrentModificationError(this));
+ }
+ },
+ map$1: function(_, f) {
+ var t1 = new H.MappedListIterable(this, f);
+ H.setRuntimeTypeInfo(t1, [null, null]);
+ return t1;
+ },
+ toList$1$growable: function(_, growable) {
+ var result, i, t1;
+ if (growable) {
+ result = P.List_List(null, H.getRuntimeTypeArgument(this, "ListIterable", 0));
+ H.setRuntimeTypeInfo(result, [H.getRuntimeTypeArgument(this, "ListIterable", 0)]);
+ C.JSArray_methods.set$length(result, this.get$length(this));
+ } else {
+ result = P.List_List(this.get$length(this), H.getRuntimeTypeArgument(this, "ListIterable", 0));
+ H.setRuntimeTypeInfo(result, [H.getRuntimeTypeArgument(this, "ListIterable", 0)]);
+ }
+ for (i = 0; i < this.get$length(this); ++i) {
+ t1 = this.elementAt$1(this, i);
+ if (i >= result.length)
+ throw H.ioore(result, i);
+ result[i] = t1;
+ }
+ return result;
+ },
+ toList$0: function($receiver) {
+ return this.toList$1$growable($receiver, true);
+ },
+ $asIterableBase: null
+},
+
+ListIterator: {"": "Object;_iterable,_length,_index,_current",
+ get$current: function() {
+ return this._current;
+ },
+ moveNext$0: function() {
+ var t1, t2, $length, t3;
+ t1 = this._iterable;
+ t2 = J.getInterceptor$asx(t1);
+ $length = t2.get$length(t1);
+ if (this._length !== $length)
+ throw H.wrapException(new P.ConcurrentModificationError(t1));
+ t3 = this._index;
+ if (t3 >= $length) {
+ this._current = null;
+ return false;
+ }
+ this._current = t2.elementAt$1(t1, t3);
+ this._index = this._index + 1;
+ return true;
+ }
+},
+
+MappedIterable: {"": "IterableBase;_iterable,_f",
+ get$iterator: function(_) {
+ var t1 = this._iterable;
+ t1 = t1.get$iterator(t1);
+ t1 = new H.MappedIterator(null, t1, this._f);
+ H.setRuntimeTypeInfo(t1, [H.getRuntimeTypeArgument(this, "MappedIterable", 0), H.getRuntimeTypeArgument(this, "MappedIterable", 1)]);
+ return t1;
+ },
+ get$length: function(_) {
+ var t1 = this._iterable;
+ return t1.get$length(t1);
+ },
+ $asIterableBase: function($S, $T) {
+ return [$T];
+ }
+},
+
+MappedIterator: {"": "Iterator;_current,_iterator,_f",
+ _f$1: function(arg0) {
+ return this._f.call$1(arg0);
+ },
+ moveNext$0: function() {
+ var t1 = this._iterator;
+ if (t1.moveNext$0()) {
+ this._current = this._f$1(t1.get$current());
+ return true;
+ }
+ this._current = null;
+ return false;
+ },
+ get$current: function() {
+ return this._current;
+ },
+ $asIterator: function($S, $T) {
+ return [$T];
+ }
+},
+
+MappedListIterable: {"": "ListIterable;_source,_f",
+ _f$1: function(arg0) {
+ return this._f.call$1(arg0);
+ },
+ get$length: function(_) {
+ return J.get$length$asx(this._source);
+ },
+ elementAt$1: function(_, index) {
+ return this._f$1(J.elementAt$1$ax(this._source, index));
+ },
+ $asListIterable: function($S, $T) {
+ return [$T];
+ }
+},
+
+WhereIterable: {"": "IterableBase;_iterable,_f",
+ get$iterator: function(_) {
+ var t1 = J.get$iterator$ax(this._iterable);
+ t1 = new H.WhereIterator(t1, this._f);
+ H.setRuntimeTypeInfo(t1, [H.getRuntimeTypeArgument(this, "WhereIterable", 0)]);
+ return t1;
+ },
+ $asIterableBase: null
+},
+
+WhereIterator: {"": "Iterator;_iterator,_f",
+ _f$1: function(arg0) {
+ return this._f.call$1(arg0);
+ },
+ moveNext$0: function() {
+ for (var t1 = this._iterator; t1.moveNext$0();)
+ if (this._f$1(t1.get$current()) === true)
+ return true;
+ return false;
+ },
+ get$current: function() {
+ return this._iterator.get$current();
+ },
+ $asIterator: null
+},
+
+FixedLengthListMixin: {"": "Object;"}}],
+["dart._js_names", "dart:_js_names", , H, {
+unmangleGlobalNameIfPreservedAnyways: function($name) {
+ return init.mangledGlobalNames[$name];
+}}],
+["dart.async", "dart:async", , P, {
+_attachStackTrace: function(o, st) {
+ var t1;
+ if (o == null || typeof o === "boolean" || typeof o === "number" || typeof o === "string")
+ return;
+ t1 = $.get$_stackTraceExpando();
+ t1.$indexSet(t1, o, st);
+},
+
+getAttachedStackTrace: function(o) {
+ var t1;
+ if (o == null || typeof o === "boolean" || typeof o === "number" || typeof o === "string")
+ return;
+ t1 = $.get$_stackTraceExpando();
+ return t1.$index(t1, o);
+},
+
+_asyncRunCallback: function() {
+ var callback, t1, exception, milliseconds;
+ for (; t1 = $.get$_asyncCallbacks(), t1._head !== t1._tail;) {
+ callback = $.get$_asyncCallbacks().removeFirst$0();
+ try {
+ callback.call$0();
+ } catch (exception) {
+ H.unwrapException(exception);
+ milliseconds = C.Duration_0.get$inMilliseconds();
+ H.TimerImpl$(milliseconds < 0 ? 0 : milliseconds, P._asyncRunCallback$closure);
+ throw exception;
+ }
+
+ }
+ $._callbacksAreEnqueued = false;
+},
+
+_scheduleAsyncCallback: function(callback) {
+ $.get$_asyncCallbacks()._add$1(callback);
+ if (!$._callbacksAreEnqueued) {
+ P._createTimer(C.Duration_0, P._asyncRunCallback$closure);
+ $._callbacksAreEnqueued = true;
+ }
+},
+
+runAsync: function(callback) {
+ var t1;
+ if (J.$eq($.Zone__current, C._CustomizedZone_WYN)) {
+ $.Zone__current.scheduleMicrotask$1(callback);
+ return;
+ }
+ t1 = $.Zone__current;
+ t1.scheduleMicrotask$1(t1.bindCallback$2$runGuarded(callback, true));
+},
+
+Future_wait: function(futures) {
+ var t1, t2, t3, future, pos, t4, t5, result, completer;
+ t1 = {};
+ t1.completer_0 = null;
+ t1.values_1 = null;
+ t2 = new P.Future_wait_handleError(t1);
+ t1.remaining_2 = 0;
+ for (t3 = new H.ListIterator(futures, futures.length, 0, null); t3.moveNext$0();) {
+ future = t3._current;
+ pos = t1.remaining_2;
+ t1.remaining_2 = pos + 1;
+ t4 = future.catchError$1(t2);
+ t5 = $.Zone__current;
+ result = new P._Future(0, t5, null, null, t5.registerUnaryCallback$1(new P.Future_wait_closure(t1, pos)), null, $.Zone__current.registerUnaryCallback$1(null), null);
+ result.$builtinTypeInfo = [null];
+ t4._addListener$1(result);
+ }
+ t2 = t1.remaining_2;
+ if (t2 === 0)
+ return P._Future$immediate(C.List_empty, null);
+ t1.values_1 = P.List_List(t2, null);
+ t2 = J.JSArray;
+ completer = new P._AsyncCompleter(P._Future$(t2));
+ H.setRuntimeTypeInfo(completer, [t2]);
+ t1.completer_0 = completer;
+ return t1.completer_0.future;
+},
+
+_nullDataHandler: function(value) {
+},
+
+_nullErrorHandler: function(error) {
+ $.Zone__current.handleUncaughtError$1(error);
+},
+
+_nullDoneHandler: function() {
+},
+
+_asyncError: function(error, stackTrace) {
+ if (stackTrace == null)
+ return error;
+ if (P.getAttachedStackTrace(error) != null)
+ return error;
+ P._attachStackTrace(error, stackTrace);
+ return error;
+},
+
+_runUserCode: function(userCode, onSuccess, onError) {
+ var e, s, exception, t1;
+ try {
+ onSuccess.call$1(userCode.call$0());
+ } catch (exception) {
+ t1 = H.unwrapException(exception);
+ e = t1;
+ s = new H._StackTrace(exception, null);
+ onError.call$1(P._asyncError(e, s));
+ }
+
+},
+
+_cancelAndError: function(subscription, future) {
+ return new P._cancelAndError_closure(subscription, future);
+},
+
+Timer_Timer: function(duration, callback) {
+ var t1;
+ if (J.$eq($.Zone__current, C._CustomizedZone_WYN))
+ return $.Zone__current.createTimer$2(duration, callback);
+ t1 = $.Zone__current;
+ return t1.createTimer$2(duration, t1.bindCallback$2$runGuarded(callback, true));
+},
+
+_createTimer: function(duration, callback) {
+ var milliseconds = duration.get$inMilliseconds();
+ return H.TimerImpl$(milliseconds < 0 ? 0 : milliseconds, callback);
+},
+
+_createPeriodicTimer: function(duration, callback) {
+ var milliseconds = duration.get$inMilliseconds();
+ return H.TimerImpl$periodic(milliseconds < 0 ? 0 : milliseconds, callback);
+},
+
+_rootHandleUncaughtError: function($self, $parent, zone, error) {
+ P._scheduleAsyncCallback(new P._rootHandleUncaughtError_closure(error));
+},
+
+_rootRun: function($self, $parent, zone, f) {
+ var old, t1;
+ if (J.$eq($.Zone__current, zone))
+ return f.call$0();
+ old = $.Zone__current;
+ try {
+ $.Zone__current = zone;
+ t1 = f.call$0();
+ return t1;
+ } finally {
+ $.Zone__current = old;
+ }
+},
+
+_rootRunUnary: function($self, $parent, zone, f, arg) {
+ var old, t1;
+ if (J.$eq($.Zone__current, zone))
+ return f.call$1(arg);
+ old = $.Zone__current;
+ try {
+ $.Zone__current = zone;
+ t1 = f.call$1(arg);
+ return t1;
+ } finally {
+ $.Zone__current = old;
+ }
+},
+
+_rootRegisterCallback: function($self, $parent, zone, f) {
+ return f;
+},
+
+_rootRegisterUnaryCallback: function($self, $parent, zone, f) {
+ return f;
+},
+
+_rootScheduleMicrotask: function($self, $parent, zone, f) {
+ P._scheduleAsyncCallback(f);
+},
+
+_rootCreateTimer: function($self, $parent, zone, duration, callback) {
+ return P._createTimer(duration, callback);
+},
+
+_rootCreatePeriodicTimer: function($self, $parent, zone, duration, callback) {
+ return P._createPeriodicTimer(duration, callback);
+},
+
+_rootFork: function($self, $parent, zone, specification, zoneValues) {
+ var t1, copiedMap;
+ if (specification == null)
+ specification = C._ZoneSpecification_eLJ;
+ else {
+ t1 = J.getInterceptor(specification);
+ if (typeof specification !== "object" || specification === null || !t1.$is_ZoneSpecification)
+ throw H.wrapException(new P.ArgumentError("ZoneSpecifications must be instantiated with the provided constructor."));
+ }
+ copiedMap = P.HashMap_HashMap(null, null, null, null, null);
+ if (zoneValues != null)
+ J.forEach$1$ax(zoneValues, new P._rootFork_closure(copiedMap));
+ return new P._CustomizedZone(zone, specification, copiedMap);
+},
+
+Future: {"": "Object;", $isFuture: true},
+
+Future_wait_handleError: {"": "Closure;box_0",
+ call$1: function(error) {
+ var t1 = this.box_0;
+ if (t1.values_1 != null) {
+ t1.values_1 = null;
+ t1 = t1.completer_0;
+ t1.completeError$2;
+ t1 = t1.future;
+ if (t1._state !== 0)
+ H.throwExpression(new P.StateError("Future already completed"));
+ t1._asyncCompleteError$2(error, null);
+ }
+ return;
+ }
+},
+
+Future_wait_closure: {"": "Closure;box_0,pos_1",
+ call$1: function(value) {
+ var t1, t2, t3;
+ t1 = this.box_0;
+ t2 = t1.values_1;
+ if (t2 == null)
+ return;
+ t3 = this.pos_1;
+ if (t3 < 0 || t3 >= t2.length)
+ throw H.ioore(t2, t3);
+ t2[t3] = value;
+ t1.remaining_2 = t1.remaining_2 - 1;
+ if (t1.remaining_2 === 0) {
+ t2 = t1.completer_0;
+ t1 = t1.values_1;
+ t2.complete$1;
+ t2 = t2.future;
+ if (t2._state !== 0)
+ H.throwExpression(new P.StateError("Future already completed"));
+ t2._asyncComplete$1(t1);
+ }
+ }
+},
+
+_Completer: {"": "Object;"},
+
+_AsyncCompleter: {"": "_Completer;future", $as_Completer: null},
+
+_Future: {"": "Object;_state,_zone<,_resultOrListeners,_nextListener@,_onValueCallback,_errorTestCallback,_onErrorCallback,_whenCompleteActionCallback",
+ get$_isComplete: function() {
+ return this._state >= 4;
+ },
+ get$_hasError: function() {
+ return this._state === 8;
+ },
+ set$_isChained: function(value) {
+ if (value)
+ this._state = 2;
+ else
+ this._state = 0;
+ },
+ get$_onValue: function() {
+ return this._state === 2 ? null : this._onValueCallback;
+ },
+ _onValue$1: function(arg0) {
+ return this.get$_onValue().call$1(arg0);
+ },
+ get$_onError: function() {
+ return this._state === 2 ? null : this._onErrorCallback;
+ },
+ _onError$1: function(arg0) {
+ return this.get$_onError().call$1(arg0);
+ },
+ get$_whenCompleteAction: function() {
+ return this._state === 2 ? null : this._whenCompleteActionCallback;
+ },
+ _whenCompleteAction$0: function() {
+ return this.get$_whenCompleteAction().call$0();
+ },
+ then$2$onError: function(f, onError) {
+ var result = P._Future$_then(f, onError, null);
+ this._addListener$1(result);
+ return result;
+ },
+ then$1: function(f) {
+ return this.then$2$onError(f, null);
+ },
+ catchError$2$test: function(f, test) {
+ var result = P._Future$_catchError(f, test, null);
+ this._addListener$1(result);
+ return result;
+ },
+ catchError$1: function(f) {
+ return this.catchError$2$test(f, null);
+ },
+ get$_value: function() {
+ return this._resultOrListeners;
+ },
+ get$_error: function() {
+ return this._resultOrListeners;
+ },
+ _setValue$1: function(value) {
+ this._state = 4;
+ this._resultOrListeners = value;
+ },
+ _setError$1: function(error) {
+ this._state = 8;
+ this._resultOrListeners = error;
+ },
+ _addListener$1: function(listener) {
+ if (this._state >= 4)
+ this._zone.scheduleMicrotask$1(new P._Future__addListener_closure(this, listener));
+ else {
+ listener._nextListener = this._resultOrListeners;
+ this._resultOrListeners = listener;
+ }
+ },
+ _removeListeners$0: function() {
+ var current, prev, next;
+ current = this._resultOrListeners;
+ this._resultOrListeners = null;
+ for (prev = null; current != null; prev = current, current = next) {
+ next = current.get$_nextListener();
+ current.set$_nextListener(prev);
+ }
+ return prev;
+ },
+ _complete$1: function(value) {
+ var t1, listeners;
+ t1 = J.getInterceptor(value);
+ if (typeof value === "object" && value !== null && !!t1.$isFuture) {
+ P._Future__chainFutures(value, this);
+ return;
+ }
+ listeners = this._removeListeners$0();
+ this._setValue$1(value);
+ P._Future__propagateToListeners(this, listeners);
+ },
+ _completeError$2: function(error, stackTrace) {
+ var listeners;
+ if (stackTrace != null)
+ P._attachStackTrace(error, stackTrace);
+ listeners = this._state === 2 ? null : this._removeListeners$0();
+ this._setError$1(error);
+ P._Future__propagateToListeners(this, listeners);
+ },
+ _completeError$1: function(error) {
+ return this._completeError$2(error, null);
+ },
+ get$_completeError: function() {
+ return new P.Bound__completeError__Future(this, P._Future.prototype._completeError$2, null, "_completeError$2");
+ },
+ _asyncComplete$1: function(value) {
+ var t1, t2;
+ t1 = J.getInterceptor(value);
+ t2 = typeof value === "object" && value !== null && !!t1.$isFuture;
+ if (t2)
+ ;
+ if (t2)
+ t1 = !t1.$is_Future || value._state < 4;
+ else
+ t1 = false;
+ if (t1) {
+ this._complete$1(value);
+ return;
+ }
+ if (this._state !== 0)
+ H.throwExpression(new P.StateError("Future already completed"));
+ this._state = 1;
+ this._zone.scheduleMicrotask$1(new P._Future__asyncComplete_closure(this, value));
+ },
+ _asyncCompleteError$2: function(error, stackTrace) {
+ if (this._state !== 0)
+ H.throwExpression(new P.StateError("Future already completed"));
+ this._state = 1;
+ this._zone.scheduleMicrotask$1(new P._Future__asyncCompleteError_closure(this, error, stackTrace));
+ },
+ _Future$immediate$1: function(value, $T) {
+ this._asyncComplete$1(value);
+ },
+ $is_Future: true,
+ $isFuture: true,
+ static: {
+"": "_Future__INCOMPLETE,_Future__PENDING_COMPLETE,_Future__CHAINED,_Future__VALUE,_Future__ERROR",
+_Future$: function($T) {
+ var t1 = new P._Future(0, $.Zone__current, null, null, null, null, null, null);
+ H.setRuntimeTypeInfo(t1, [$T]);
+ return t1;
+},
+
+_Future$immediate: function(value, $T) {
+ var t1 = new P._Future(0, $.Zone__current, null, null, null, null, null, null);
+ H.setRuntimeTypeInfo(t1, [$T]);
+ t1._Future$immediate$1(value, $T);
+ return t1;
+},
+
+_Future$_then: function(onValueCallback, onErrorCallback, $T) {
+ var t1 = $.Zone__current;
+ t1 = new P._Future(0, t1, null, null, t1.registerUnaryCallback$1(onValueCallback), null, $.Zone__current.registerUnaryCallback$1(onErrorCallback), null);
+ H.setRuntimeTypeInfo(t1, [$T]);
+ return t1;
+},
+
+_Future$_catchError: function(onErrorCallback, errorTestCallback, $T) {
+ var t1, t2;
+ t1 = $.Zone__current;
+ t2 = t1.registerUnaryCallback$1(onErrorCallback);
+ t2 = new P._Future(0, t1, null, null, null, $.Zone__current.registerUnaryCallback$1(errorTestCallback), t2, null);
+ H.setRuntimeTypeInfo(t2, [$T]);
+ return t2;
+},
+
+_Future__chainFutures: function(source, target) {
+ var t1;
+ target._state = 2;
+ t1 = J.getInterceptor(source);
+ if (typeof source === "object" && source !== null && !!t1.$is_Future)
+ if (source._state >= 4)
+ P._Future__propagateToListeners(source, target);
+ else
+ source._addListener$1(target);
+ else
+ source.then$2$onError(new P._Future__chainFutures_closure(target), new P._Future__chainFutures_closure0(target));
+},
+
+_Future__propagateMultipleListeners: function(source, listeners) {
+ var listeners0;
+ do {
+ listeners0 = listeners.get$_nextListener();
+ listeners.set$_nextListener(null);
+ P._Future__propagateToListeners(source, listeners);
+ if (listeners0 != null) {
+ listeners = listeners0;
+ continue;
+ } else
+ break;
+ } while (true);
+},
+
+_Future__propagateToListeners: function(source, listeners) {
+ var t1, t2, hasError, t3, t4, t5, chainSource, listeners0;
+ t1 = {};
+ t1.source_4 = source;
+ for (; true;) {
+ t2 = {};
+ if (!t1.source_4.get$_isComplete())
+ return;
+ hasError = t1.source_4.get$_hasError();
+ if (hasError && listeners == null) {
+ t1.source_4.get$_zone().handleUncaughtError$1(t1.source_4.get$_error());
+ return;
+ }
+ if (listeners == null)
+ return;
+ if (listeners._nextListener != null) {
+ P._Future__propagateMultipleListeners(t1.source_4, listeners);
+ return;
+ }
+ if (hasError && !t1.source_4.get$_zone().inSameErrorZone$1(listeners._zone)) {
+ t1.source_4.get$_zone().handleUncaughtError$1(t1.source_4.get$_error());
+ return;
+ }
+ t3 = $.Zone__current;
+ t4 = listeners._zone;
+ if (t3 == null ? t4 != null : t3 !== t4) {
+ t4.run$1(new P._Future__propagateToListeners_closure(t1, listeners));
+ return;
+ }
+ t2.listenerHasValue_1 = null;
+ t2.listenerValueOrError_2 = null;
+ t2.isPropagationAborted_3 = false;
+ t4.run$1(new P._Future__propagateToListeners_closure0(t1, t2, hasError, listeners));
+ if (t2.isPropagationAborted_3)
+ return;
+ t3 = t2.listenerHasValue_1 === true;
+ if (t3) {
+ t4 = t2.listenerValueOrError_2;
+ t5 = J.getInterceptor(t4);
+ t5 = typeof t4 === "object" && t4 !== null && !!t5.$isFuture;
+ t4 = t5;
+ } else
+ t4 = false;
+ if (t4) {
+ chainSource = t2.listenerValueOrError_2;
+ t2 = J.getInterceptor(chainSource);
+ if (typeof chainSource === "object" && chainSource !== null && !!t2.$is_Future && chainSource._state >= 4) {
+ listeners._state = 2;
+ t1.source_4 = chainSource;
+ continue;
+ }
+ P._Future__chainFutures(chainSource, listeners);
+ return;
+ }
+ if (t3) {
+ listeners0 = listeners._removeListeners$0();
+ t2 = t2.listenerValueOrError_2;
+ listeners._state = 4;
+ listeners._resultOrListeners = t2;
+ } else {
+ listeners0 = listeners._removeListeners$0();
+ t2 = t2.listenerValueOrError_2;
+ listeners._state = 8;
+ listeners._resultOrListeners = t2;
+ }
+ t1.source_4 = listeners;
+ listeners = listeners0;
+ }
+}}
+
+},
+
+_Future__addListener_closure: {"": "Closure;this_0,listener_1",
+ call$0: function() {
+ P._Future__propagateToListeners(this.this_0, this.listener_1);
+ },
+ $is_void_: true
+},
+
+_Future__chainFutures_closure: {"": "Closure;target_0",
+ call$1: function(value) {
+ this.target_0._complete$1(value);
+ }
+},
+
+_Future__chainFutures_closure0: {"": "Closure;target_1",
+ call$1: function(error) {
+ this.target_1._completeError$1(error);
+ }
+},
+
+_Future__asyncComplete_closure: {"": "Closure;this_0,value_1",
+ call$0: function() {
+ this.this_0._complete$1(this.value_1);
+ },
+ $is_void_: true
+},
+
+_Future__asyncCompleteError_closure: {"": "Closure;this_0,error_1,stackTrace_2",
+ call$0: function() {
+ this.this_0._completeError$2(this.error_1, this.stackTrace_2);
+ },
+ $is_void_: true
+},
+
+_Future__propagateToListeners_closure: {"": "Closure;box_2,listener_3",
+ call$0: function() {
+ P._Future__propagateToListeners(this.box_2.source_4, this.listener_3);
+ },
+ $is_void_: true
+},
+
+_Future__propagateToListeners_closure0: {"": "Closure;box_2,box_1,hasError_4,listener_5",
+ call$0: function() {
+ var t1, value, error, test, matchesTest, e, s, t2, t3, t4, exception;
+ t1 = {};
+ try {
+ t2 = this.box_2;
+ if (!this.hasError_4) {
+ value = t2.source_4.get$_value();
+ t2 = this.listener_5;
+ t3 = t2._state === 2 ? null : t2._onValueCallback;
+ t4 = this.box_1;
+ if (t3 != null) {
+ t4.listenerValueOrError_2 = t2._onValue$1(value);
+ t4.listenerHasValue_1 = true;
+ } else {
+ t4.listenerValueOrError_2 = value;
+ t4.listenerHasValue_1 = true;
+ }
+ } else {
+ error = t2.source_4.get$_error();
+ t2 = this.listener_5;
+ test = t2._state === 2 ? null : t2._errorTestCallback;
+ matchesTest = true;
+ if (test != null)
+ matchesTest = test.call$1(error);
+ if (matchesTest === true)
+ t3 = (t2._state === 2 ? null : t2._onErrorCallback) != null;
+ else
+ t3 = false;
+ t4 = this.box_1;
+ if (t3) {
+ t4.listenerValueOrError_2 = t2._onError$1(error);
+ t4.listenerHasValue_1 = true;
+ } else {
+ t4.listenerValueOrError_2 = error;
+ t4.listenerHasValue_1 = false;
+ }
+ }
+ t2 = this.listener_5;
+ if ((t2._state === 2 ? null : t2._whenCompleteActionCallback) != null) {
+ t1.completeResult_0 = t2._whenCompleteAction$0();
+ t3 = t1.completeResult_0;
+ t4 = J.getInterceptor(t3);
+ if (typeof t3 === "object" && t3 !== null && !!t4.$isFuture) {
+ t2.set$_isChained(true);
+ t1.completeResult_0.then$2$onError(new P._Future__propagateToListeners__closure(this.box_2, t2), new P._Future__propagateToListeners__closure0(t1, t2));
+ this.box_1.isPropagationAborted_3 = true;
+ }
+ }
+ } catch (exception) {
+ t1 = H.unwrapException(exception);
+ e = t1;
+ s = new H._StackTrace(exception, null);
+ t1 = this.box_1;
+ t1.listenerValueOrError_2 = P._asyncError(e, s);
+ t1.listenerHasValue_1 = false;
+ }
+
+ },
+ $is_void_: true
+},
+
+_Future__propagateToListeners__closure: {"": "Closure;box_2,listener_6",
+ call$1: function(ignored) {
+ P._Future__propagateToListeners(this.box_2.source_4, this.listener_6);
+ }
+},
+
+_Future__propagateToListeners__closure0: {"": "Closure;box_0,listener_7",
+ call$1: function(error) {
+ var t1, t2, t3;
+ t1 = this.box_0;
+ t2 = t1.completeResult_0;
+ t3 = J.getInterceptor(t2);
+ if (typeof t2 !== "object" || t2 === null || !t3.$is_Future) {
+ t1.completeResult_0 = P._Future$(null);
+ t1.completeResult_0._setError$1(error);
+ }
+ P._Future__propagateToListeners(t1.completeResult_0, this.listener_7);
+ }
+},
+
+Stream: {"": "Object;",
+ map$1: function(_, convert) {
+ var t1 = new P._MapStream(convert, this);
+ H.setRuntimeTypeInfo(t1, [H.getRuntimeTypeArgument(this, "Stream", 0), null]);
+ return t1;
+ },
+ forEach$1: function(_, action) {
+ var t1, future;
+ t1 = {};
+ future = P._Future$(null);
+ t1.subscription_0 = null;
+ t1.subscription_0 = this.listen$4$cancelOnError$onDone$onError(new P.Stream_forEach_closure(t1, this, action, future), true, new P.Stream_forEach_closure0(future), future.get$_completeError());
+ return future;
+ },
+ get$length: function(_) {
+ var t1, future;
+ t1 = {};
+ future = P._Future$(J.JSInt);
+ t1.count_0 = 0;
+ this.listen$4$cancelOnError$onDone$onError(new P.Stream_length_closure(t1), true, new P.Stream_length_closure0(t1, future), future.get$_completeError());
+ return future;
+ },
+ toList$0: function(_) {
+ var result, future;
+ result = [];
+ future = P._Future$([J.JSArray, H.getRuntimeTypeArgument(this, "Stream", 0)]);
+ this.listen$4$cancelOnError$onDone$onError(new P.Stream_toList_closure(this, result), true, new P.Stream_toList_closure0(result, future), future.get$_completeError());
+ return future;
+ }
+},
+
+Stream_forEach_closure: {"": "Closure;box_0,this_1,action_2,future_3",
+ call$1: function(element) {
+ P._runUserCode(new P.Stream_forEach__closure(this.action_2, element), new P.Stream_forEach__closure0(), P._cancelAndError(this.box_0.subscription_0, this.future_3));
+ }
+},
+
+Stream_forEach__closure: {"": "Closure;action_4,element_5",
+ call$0: function() {
+ return this.action_4.call$1(this.element_5);
+ },
+ $is_void_: true
+},
+
+Stream_forEach__closure0: {"": "Closure;",
+ call$1: function(_) {
+ }
+},
+
+Stream_forEach_closure0: {"": "Closure;future_6",
+ call$0: function() {
+ this.future_6._complete$1(null);
+ },
+ $is_void_: true
+},
+
+Stream_length_closure: {"": "Closure;box_0",
+ call$1: function(_) {
+ var t1 = this.box_0;
+ t1.count_0 = t1.count_0 + 1;
+ }
+},
+
+Stream_length_closure0: {"": "Closure;box_0,future_1",
+ call$0: function() {
+ this.future_1._complete$1(this.box_0.count_0);
+ },
+ $is_void_: true
+},
+
+Stream_toList_closure: {"": "Closure;this_0,result_1",
+ call$1: function(data) {
+ this.result_1.push(data);
+ }
+},
+
+Stream_toList_closure0: {"": "Closure;result_2,future_3",
+ call$0: function() {
+ this.future_3._complete$1(this.result_2);
+ },
+ $is_void_: true
+},
+
+StreamSubscription: {"": "Object;"},
+
+EventSink: {"": "Object;"},
+
+_EventSink: {"": "Object;"},
+
+_BufferingStreamSubscription: {"": "Object;_zone<",
+ pause$1: function(_, resumeSignal) {
+ var t1, t2;
+ t1 = this._state;
+ if ((t1 & 8) !== 0)
+ return;
+ this._state = (t1 + 64 | 4) >>> 0;
+ if (t1 < 64 && this._pending != null) {
+ t2 = this._pending;
+ t2.cancelSchedule$0;
+ if (t2._state === 1)
+ t2._state = 3;
+ }
+ if ((t1 & 4) === 0 && (this._state & 16) === 0)
+ this._guardCallback$1(this.get$_onPause());
+ },
+ pause$0: function($receiver) {
+ return this.pause$1($receiver, null);
+ },
+ resume$0: function() {
+ var t1 = this._state;
+ if ((t1 & 8) !== 0)
+ return;
+ if (t1 >= 64) {
+ this._state = t1 - 64;
+ t1 = this._state;
+ if (t1 < 64)
+ if ((t1 & 32) !== 0 && this._pending.lastPendingEvent != null)
+ this._pending.schedule$1(this);
+ else {
+ this._state = (t1 & 4294967291) >>> 0;
+ if ((this._state & 16) === 0)
+ this._guardCallback$1(this.get$_onResume());
+ }
+ }
+ },
+ cancel$0: function() {
+ if ((this._state & 8) !== 0)
+ return;
+ this._cancel$0();
+ var t1 = this._state;
+ if ((t1 & 16) === 0) {
+ this._state = (t1 | 16) >>> 0;
+ this._onCancel$0();
+ this._pending = null;
+ this._state = (this._state & 4294967279) >>> 0;
+ }
+ },
+ get$_mayResumeInput: function() {
+ if (this._state < 64) {
+ var t1 = this._pending;
+ t1 = t1 == null || t1.lastPendingEvent == null;
+ } else
+ t1 = false;
+ return t1;
+ },
+ _cancel$0: function() {
+ this._state = (this._state | 8) >>> 0;
+ if ((this._state & 32) !== 0) {
+ var t1 = this._pending;
+ t1.cancelSchedule$0;
+ if (t1._state === 1)
+ t1._state = 3;
+ }
+ },
+ _liblib3$_add$1: function(data) {
+ var t1 = this._state;
+ if ((t1 & 8) !== 0)
+ return;
+ if (t1 < 16)
+ this._sendData$1(data);
+ else
+ this._addPending$1(new P._DelayedData(data, null));
+ },
+ _addError$1: function(error) {
+ var t1 = this._state;
+ if ((t1 & 8) !== 0)
+ return;
+ if (t1 < 16)
+ this._sendError$1(error);
+ else
+ this._addPending$1(new P._DelayedError(error, null));
+ },
+ _close$0: function() {
+ var t1 = this._state;
+ if ((t1 & 8) !== 0)
+ return;
+ this._state = (t1 | 2) >>> 0;
+ if (this._state < 16)
+ this._sendDone$0();
+ else
+ this._addPending$1(C.C__DelayedDone);
+ },
+ _onPause$0: function() {
+ },
+ get$_onPause: function() {
+ return new P.Bound__onPause__BufferingStreamSubscription(this, P._BufferingStreamSubscription.prototype._onPause$0, null, "_onPause$0");
+ },
+ _onResume$0: function() {
+ },
+ get$_onResume: function() {
+ return new P.Bound__onResume__BufferingStreamSubscription(this, P._BufferingStreamSubscription.prototype._onResume$0, null, "_onResume$0");
+ },
+ _onCancel$0: function() {
+ },
+ _addPending$1: function($event) {
+ var pending, t1;
+ pending = this._pending;
+ if (pending == null) {
+ pending = new P._StreamImplEvents(null, null, 0);
+ this._pending = pending;
+ }
+ pending.add$1(pending, $event);
+ t1 = this._state;
+ if ((t1 & 32) === 0) {
+ this._state = (t1 | 32) >>> 0;
+ if (this._state < 64)
+ this._pending.schedule$1(this);
+ }
+ },
+ _sendData$1: function(data) {
+ var t1 = this._state;
+ this._state = (t1 | 16) >>> 0;
+ this._zone.runUnaryGuarded$2(this._liblib3$_onData, data);
+ this._state = (this._state & 4294967279) >>> 0;
+ this._checkState$1((t1 & 4) !== 0);
+ },
+ _sendError$1: function(error) {
+ var t1, t2;
+ t1 = this._state;
+ this._state = (t1 | 16) >>> 0;
+ t2 = this._zone;
+ if (!t2.inSameErrorZone$1($.Zone__current))
+ $.Zone__current.handleUncaughtError$1(error);
+ else
+ t2.runUnaryGuarded$2(this._onError, error);
+ this._state = (this._state & 4294967279) >>> 0;
+ if ((this._state & 1) !== 0)
+ this._cancel$0();
+ this._checkState$1((t1 & 4) !== 0);
+ },
+ _sendDone$0: function() {
+ this._state = (this._state | 26) >>> 0;
+ this._zone.runGuarded$1(this._onDone);
+ this._onCancel$0();
+ this._state = (this._state & 4294967279) >>> 0;
+ },
+ _guardCallback$1: function(callback) {
+ var t1 = this._state;
+ this._state = (t1 | 16) >>> 0;
+ callback.call$0();
+ this._state = (this._state & 4294967279) >>> 0;
+ this._checkState$1((t1 & 4) !== 0);
+ },
+ _checkState$1: function(wasInputPaused) {
+ var t1, isInputPaused;
+ t1 = this._state;
+ if ((t1 & 32) !== 0 && this._pending.lastPendingEvent == null) {
+ this._state = (t1 & 4294967263) >>> 0;
+ if ((this._state & 4) !== 0 && this.get$_mayResumeInput())
+ this._state = (this._state & 4294967291) >>> 0;
+ }
+ for (; true; wasInputPaused = isInputPaused) {
+ t1 = this._state;
+ if ((t1 & 8) !== 0) {
+ this._onCancel$0();
+ this._pending = null;
+ return;
+ }
+ isInputPaused = (t1 & 4) !== 0;
+ if (wasInputPaused === isInputPaused)
+ break;
+ this._state = (t1 ^ 16) >>> 0;
+ if (isInputPaused)
+ this._onPause$0();
+ else
+ this._onResume$0();
+ this._state = (this._state & 4294967279) >>> 0;
+ }
+ t1 = this._state;
+ if ((t1 & 32) !== 0 && t1 < 64)
+ this._pending.schedule$1(this);
+ },
+ _BufferingStreamSubscription$4: function(onData, onError, onDone, cancelOnError) {
+ }
+},
+
+_DelayedEvent: {"": "Object;next@"},
+
+_DelayedData: {"": "_DelayedEvent;value,next",
+ perform$1: function(dispatch) {
+ dispatch._sendData$1(this.value);
+ }
+},
+
+_DelayedError: {"": "_DelayedEvent;error,next",
+ perform$1: function(dispatch) {
+ dispatch._sendError$1(this.error);
+ }
+},
+
+_DelayedDone: {"": "Object;",
+ perform$1: function(dispatch) {
+ dispatch._sendDone$0();
+ },
+ get$next: function() {
+ return;
+ },
+ set$next: function(_) {
+ throw H.wrapException(new P.StateError("No events after a done."));
+ }
+},
+
+_PendingEvents: {"": "Object;",
+ schedule$1: function(dispatch) {
+ var t1 = this._state;
+ if (t1 === 1)
+ return;
+ if (t1 >= 1) {
+ this._state = 1;
+ return;
+ }
+ P.runAsync(new P._PendingEvents_schedule_closure(this, dispatch));
+ this._state = 1;
+ }
+},
+
+_PendingEvents_schedule_closure: {"": "Closure;this_0,dispatch_1",
+ call$0: function() {
+ var t1, oldState;
+ t1 = this.this_0;
+ oldState = t1._state;
+ t1._state = 0;
+ if (oldState === 3)
+ return;
+ t1.handleNext$1(this.dispatch_1);
+ },
+ $is_void_: true
+},
+
+_StreamImplEvents: {"": "_PendingEvents;firstPendingEvent,lastPendingEvent,_state",
+ add$1: function(_, $event) {
+ var t1 = this.lastPendingEvent;
+ if (t1 == null) {
+ this.lastPendingEvent = $event;
+ this.firstPendingEvent = $event;
+ } else {
+ t1.set$next($event);
+ this.lastPendingEvent = $event;
+ }
+ },
+ handleNext$1: function(dispatch) {
+ var $event = this.firstPendingEvent;
+ this.firstPendingEvent = $event.get$next();
+ if (this.firstPendingEvent == null)
+ this.lastPendingEvent = null;
+ $event.perform$1(dispatch);
+ }
+},
+
+_cancelAndError_closure: {"": "Closure;subscription_0,future_1",
+ call$1: function(error) {
+ this.subscription_0.cancel$0();
+ this.future_1._completeError$1(error);
+ }
+},
+
+_ForwardingStream: {"": "Stream;",
+ listen$4$cancelOnError$onDone$onError: function(onData, cancelOnError, onDone, onError) {
+ return P._ForwardingStreamSubscription$(this, onData, onError, onDone, true === cancelOnError, H.getRuntimeTypeArgument(this, "_ForwardingStream", 0), H.getRuntimeTypeArgument(this, "_ForwardingStream", 1));
+ },
+ listen$3$onDone$onError: function(onData, onDone, onError) {
+ return this.listen$4$cancelOnError$onDone$onError(onData, null, onDone, onError);
+ },
+ _handleData$2: function(data, sink) {
+ sink._liblib3$_add$1(data);
+ },
+ $asStream: function($S, $T) {
+ return [$T];
+ }
+},
+
+_ForwardingStreamSubscription: {"": "_BufferingStreamSubscription;_stream,_subscription,_liblib3$_onData,_onError,_onDone,_zone,_state,_pending",
+ _liblib3$_add$1: function(data) {
+ if ((this._state & 2) !== 0)
+ return;
+ P._BufferingStreamSubscription.prototype._liblib3$_add$1.call(this, data);
+ },
+ _addError$1: function(error) {
+ if ((this._state & 2) !== 0)
+ return;
+ P._BufferingStreamSubscription.prototype._addError$1.call(this, error);
+ },
+ _onPause$0: function() {
+ var t1 = this._subscription;
+ if (t1 == null)
+ return;
+ t1.pause$0(t1);
+ },
+ get$_onPause: function() {
+ return new P.Bound__onPause__ForwardingStreamSubscription(this, P._ForwardingStreamSubscription.prototype._onPause$0, null, "_onPause$0");
+ },
+ _onResume$0: function() {
+ var t1 = this._subscription;
+ if (t1 == null)
+ return;
+ t1.resume$0();
+ },
+ get$_onResume: function() {
+ return new P.Bound__onResume__ForwardingStreamSubscription(this, P._ForwardingStreamSubscription.prototype._onResume$0, null, "_onResume$0");
+ },
+ _onCancel$0: function() {
+ var t1 = this._subscription;
+ if (t1 != null) {
+ this._subscription = null;
+ t1.cancel$0();
+ }
+ },
+ _handleData$1: function(data) {
+ this._stream._handleData$2(data, this);
+ },
+ get$_handleData: function() {
+ return new P.BoundClosure$1(this, P._ForwardingStreamSubscription.prototype._handleData$1, null, "_handleData$1");
+ },
+ _handleError$1: function(error) {
+ this._addError$1(error);
+ },
+ get$_handleError: function() {
+ return new P.BoundClosure$1(this, P._ForwardingStreamSubscription.prototype._handleError$1, null, "_handleError$1");
+ },
+ _handleDone$0: function() {
+ this._close$0();
+ },
+ get$_handleDone: function() {
+ return new P.Bound__handleDone__ForwardingStreamSubscription(this, P._ForwardingStreamSubscription.prototype._handleDone$0, null, "_handleDone$0");
+ },
+ _ForwardingStreamSubscription$5: function(_stream, onData, onError, onDone, cancelOnError, $S, $T) {
+ var t1, t2;
+ t1 = this.get$_handleData();
+ t2 = this.get$_handleError();
+ this._subscription = this._stream._liblib3$_source.listen$3$onDone$onError(t1, this.get$_handleDone(), t2);
+ },
+ $as_BufferingStreamSubscription: function($S, $T) {
+ return [$T];
+ },
+ static: {
+_ForwardingStreamSubscription$: function(_stream, onData, onError, onDone, cancelOnError, $S, $T) {
+ var t1, t2, t3, t4, t5;
+ t1 = $.Zone__current;
+ t2 = t1.registerUnaryCallback$1(onData);
+ t3 = $.Zone__current.registerUnaryCallback$1(onError);
+ t4 = $.Zone__current.registerCallback$1(onDone);
+ t5 = cancelOnError ? 1 : 0;
+ t5 = new P._ForwardingStreamSubscription(_stream, null, t2, t3, t4, t1, t5, null);
+ H.setRuntimeTypeInfo(t5, [$S, $T]);
+ t5._BufferingStreamSubscription$4(onData, onError, onDone, cancelOnError);
+ t5._ForwardingStreamSubscription$5(_stream, onData, onError, onDone, cancelOnError, $S, $T);
+ return t5;
+}}
+
+},
+
+_MapStream: {"": "_ForwardingStream;_transform,_liblib3$_source",
+ _transform$1: function(arg0) {
+ return this._transform.call$1(arg0);
+ },
+ _handleData$2: function(inputEvent, sink) {
+ var outputEvent, e, s, exception, t1;
+ outputEvent = null;
+ try {
+ outputEvent = this._transform$1(inputEvent);
+ } catch (exception) {
+ t1 = H.unwrapException(exception);
+ e = t1;
+ s = new H._StackTrace(exception, null);
+ sink._addError$1(P._asyncError(e, s));
+ return;
+ }
+
+ sink._liblib3$_add$1(outputEvent);
+ },
+ $as_ForwardingStream: null
+},
+
+Timer: {"": "Object;"},
+
+ZoneSpecification: {"": "Object;"},
+
+_ZoneSpecification: {"": "Object;handleUncaughtError,run,runUnary,registerCallback,registerUnaryCallback,scheduleMicrotask,createTimer,createPeriodicTimer,fork",
+ handleUncaughtError$1: function(arg0) {
+ return this.handleUncaughtError.call$1(arg0);
+ },
+ run$1: function(arg0) {
+ return this.run.call$1(arg0);
+ },
+ registerCallback$1: function(arg0) {
+ return this.registerCallback.call$1(arg0);
+ },
+ registerUnaryCallback$1: function(arg0) {
+ return this.registerUnaryCallback.call$1(arg0);
+ },
+ scheduleMicrotask$1: function(arg0) {
+ return this.scheduleMicrotask.call$1(arg0);
+ },
+ createTimer$2: function(arg0, arg1) {
+ return this.createTimer.call$2(arg0, arg1);
+ },
+ $is_ZoneSpecification: true
+},
+
+ZoneDelegate: {"": "Object;"},
+
+Zone: {"": "Object;"},
+
+_ZoneDelegate: {"": "Object;_degelationTarget",
+ get$_zone: function() {
+ return this._degelationTarget;
+ },
+ handleUncaughtError$2: function(zone, e) {
+ var $parent, t1, t2;
+ $parent = this._degelationTarget;
+ for (; t1 = $parent.get$_specification().handleUncaughtError, t2 = J.getInterceptor$x($parent), t1 == null;)
+ $parent = t2.get$parent($parent);
+ return t1.call$4($parent, new P._ZoneDelegate(t2.get$parent($parent)), zone, e);
+ },
+ run$2: function(zone, f) {
+ var $parent, t1, t2;
+ $parent = this._degelationTarget;
+ for (; t1 = $parent.get$_specification().run, t2 = J.getInterceptor$x($parent), t1 == null;)
+ $parent = t2.get$parent($parent);
+ return t1.call$4($parent, new P._ZoneDelegate(t2.get$parent($parent)), zone, f);
+ },
+ runUnary$3: function(zone, f, arg) {
+ var $parent, t1, t2;
+ $parent = this._degelationTarget;
+ for (; t1 = $parent.get$_specification().runUnary, t2 = J.getInterceptor$x($parent), t1 == null;)
+ $parent = t2.get$parent($parent);
+ return t1.call$5($parent, new P._ZoneDelegate(t2.get$parent($parent)), zone, f, arg);
+ },
+ registerCallback$2: function(zone, f) {
+ var $parent, t1, t2;
+ $parent = this._degelationTarget;
+ for (; t1 = $parent.get$_specification().registerCallback, t2 = J.getInterceptor$x($parent), t1 == null;)
+ $parent = t2.get$parent($parent);
+ return t1.call$4($parent, new P._ZoneDelegate(t2.get$parent($parent)), zone, f);
+ },
+ registerUnaryCallback$2: function(zone, f) {
+ var $parent, t1, t2;
+ $parent = this._degelationTarget;
+ for (; t1 = $parent.get$_specification().registerUnaryCallback, t2 = J.getInterceptor$x($parent), t1 == null;)
+ $parent = t2.get$parent($parent);
+ return t1.call$4($parent, new P._ZoneDelegate(t2.get$parent($parent)), zone, f);
+ },
+ scheduleMicrotask$2: function(zone, f) {
+ var $parent, t1;
+ $parent = this._degelationTarget;
+ for (; t1 = J.getInterceptor$x($parent), $parent.get$_specification().scheduleMicrotask == null;)
+ $parent = t1.get$parent($parent);
+ t1 = t1.get$parent($parent);
+ $parent.get$_specification().scheduleMicrotask.call$4($parent, new P._ZoneDelegate(t1), zone, f);
+ },
+ createTimer$3: function(zone, duration, f) {
+ var $parent, t1, t2;
+ $parent = this._degelationTarget;
+ for (; t1 = $parent.get$_specification().createTimer, t2 = J.getInterceptor$x($parent), t1 == null;)
+ $parent = t2.get$parent($parent);
+ return t1.call$5($parent, new P._ZoneDelegate(t2.get$parent($parent)), zone, duration, f);
+ }
+},
+
+_CustomizedZone: {"": "Object;parent>,_specification<,_map",
+ get$_errorZone: function() {
+ if (this._specification.handleUncaughtError != null)
+ return this;
+ return this.parent.get$_errorZone();
+ },
+ inSameErrorZone$1: function(otherZone) {
+ return this.get$_errorZone() === otherZone.get$_errorZone();
+ },
+ runGuarded$1: function(f) {
+ var e, s, t1, exception;
+ try {
+ t1 = new P._ZoneDelegate(this).run$2(this, f);
+ return t1;
+ } catch (exception) {
+ t1 = H.unwrapException(exception);
+ e = t1;
+ s = new H._StackTrace(exception, null);
+ return new P._ZoneDelegate(this).handleUncaughtError$2(this, P._asyncError(e, s));
+ }
+
+ },
+ runUnaryGuarded$2: function(f, arg) {
+ var e, s, t1, exception;
+ try {
+ t1 = new P._ZoneDelegate(this).runUnary$3(this, f, arg);
+ return t1;
+ } catch (exception) {
+ t1 = H.unwrapException(exception);
+ e = t1;
+ s = new H._StackTrace(exception, null);
+ return new P._ZoneDelegate(this).handleUncaughtError$2(this, P._asyncError(e, s));
+ }
+
+ },
+ bindCallback$2$runGuarded: function(f, runGuarded) {
+ var registered = new P._ZoneDelegate(this).registerCallback$2(this, f);
+ if (runGuarded)
+ return new P._CustomizedZone_bindCallback_closure(this, registered);
+ else
+ return new P._CustomizedZone_bindCallback_closure0(this, registered);
+ },
+ bindUnaryCallback$2$runGuarded: function(f, runGuarded) {
+ var registered = new P._ZoneDelegate(this).registerUnaryCallback$2(this, f);
+ if (runGuarded)
+ return new P._CustomizedZone_bindUnaryCallback_closure(this, registered);
+ else
+ return new P._CustomizedZone_bindUnaryCallback_closure0(this, registered);
+ },
+ $index: function(_, key) {
+ var t1, result;
+ t1 = this._map;
+ result = t1.$index(t1, key);
+ if (result != null || t1.containsKey$1(key))
+ return result;
+ t1 = this.parent;
+ if (t1 != null)
+ return J.$index$asx(t1, key);
+ return;
+ },
+ handleUncaughtError$1: function(error) {
+ return new P._ZoneDelegate(this).handleUncaughtError$2(this, error);
+ },
+ run$1: function(f) {
+ return new P._ZoneDelegate(this).run$2(this, f);
+ },
+ registerCallback$1: function(f) {
+ return new P._ZoneDelegate(this).registerCallback$2(this, f);
+ },
+ registerUnaryCallback$1: function(f) {
+ return new P._ZoneDelegate(this).registerUnaryCallback$2(this, f);
+ },
+ scheduleMicrotask$1: function(f) {
+ new P._ZoneDelegate(this).scheduleMicrotask$2(this, f);
+ },
+ createTimer$2: function(duration, f) {
+ return new P._ZoneDelegate(this).createTimer$3(this, duration, f);
+ }
+},
+
+_CustomizedZone_bindCallback_closure: {"": "Closure;this_0,registered_1",
+ call$0: function() {
+ return this.this_0.runGuarded$1(this.registered_1);
+ },
+ $is_void_: true
+},
+
+_CustomizedZone_bindCallback_closure0: {"": "Closure;this_2,registered_3",
+ call$0: function() {
+ var t1 = this.this_2;
+ return new P._ZoneDelegate(t1).run$2(t1, this.registered_3);
+ },
+ $is_void_: true
+},
+
+_CustomizedZone_bindUnaryCallback_closure: {"": "Closure;this_0,registered_1",
+ call$1: function(arg) {
+ return this.this_0.runUnaryGuarded$2(this.registered_1, arg);
+ }
+},
+
+_CustomizedZone_bindUnaryCallback_closure0: {"": "Closure;this_2,registered_3",
+ call$1: function(arg) {
+ var t1 = this.this_2;
+ return new P._ZoneDelegate(t1).runUnary$3(t1, this.registered_3, arg);
+ }
+},
+
+_rootHandleUncaughtError_closure: {"": "Closure;error_0",
+ call$0: function() {
+ var t1, trace;
+ t1 = this.error_0;
+ H.Primitives_printString("Uncaught Error: " + H.S(t1));
+ trace = P.getAttachedStackTrace(t1);
+ P._attachStackTrace(t1, null);
+ if (trace != null)
+ H.Primitives_printString("Stack Trace:\n" + H.S(trace) + "\n");
+ throw H.wrapException(t1);
+ },
+ $is_void_: true
+},
+
+_rootFork_closure: {"": "Closure;copiedMap_0",
+ call$2: function(key, value) {
+ var t1;
+ if (key == null)
+ throw H.wrapException(new P.ArgumentError("ZoneValue key must not be null"));
+ t1 = this.copiedMap_0;
+ t1.$indexSet(t1, key, value);
+ }
+}}],
+["dart.collection", "dart:collection", , P, {
+_defaultEquals: function(a, b) {
+ return J.$eq(a, b);
+},
+
+_defaultHashCode: function(a) {
+ return J.get$hashCode$(a);
+},
+
+HashMap_HashMap: function(equals, hashCode, isValidKey, $K, $V) {
+ var t1 = new P._HashMap(0, null, null, null, null);
+ H.setRuntimeTypeInfo(t1, [$K, $V]);
+ return t1;
+},
+
+LinkedHashMap_LinkedHashMap: function(equals, hashCode, isValidKey, $K, $V) {
+ var t1;
+ if (hashCode == null) {
+ if (equals == null) {
+ t1 = new P._LinkedHashMap(0, null, null, null, null, null, 0);
+ H.setRuntimeTypeInfo(t1, [$K, $V]);
+ return t1;
+ }
+ hashCode = P._defaultHashCode$closure;
+ } else {
+ if ((P.identityHashCode$closure == null ? hashCode == null : P.identityHashCode$closure === hashCode) && (P.identical$closure == null ? equals == null : P.identical$closure === equals)) {
+ t1 = new P._LinkedIdentityHashMap(0, null, null, null, null, null, 0);
+ H.setRuntimeTypeInfo(t1, [$K, $V]);
+ return t1;
+ }
+ if (equals == null)
+ equals = P._defaultEquals$closure;
+ }
+ return P._LinkedCustomHashMap$(equals, hashCode, isValidKey, $K, $V);
+},
+
+Maps_mapToString: function(m) {
+ var t1, result, i, t2;
+ t1 = {};
+ for (i = 0; i < $.get$Maps__toStringList().length; ++i) {
+ t2 = $.get$Maps__toStringList();
+ if (i >= t2.length)
+ throw H.ioore(t2, i);
+ if (t2[i] === m)
+ return "{...}";
+ }
+ result = P.StringBuffer$("");
+ try {
+ $.get$Maps__toStringList().push(m);
+ result.write$1("{");
+ t1.first_0 = true;
+ J.forEach$1$ax(m, new P.Maps_mapToString_closure(t1, result));
+ result.write$1("}");
+ } finally {
+ t1 = $.get$Maps__toStringList();
+ if (0 >= t1.length)
+ throw H.ioore(t1, 0);
+ t1.pop();
+ }
+ return result.get$_contents();
+},
+
+_HashMap: {"": "Object;_liblib0$_length,_strings,_nums,_rest,_liblib0$_keys",
+ get$length: function(_) {
+ return this._liblib0$_length;
+ },
+ get$keys: function() {
+ var t1 = new P.HashMapKeyIterable(this);
+ H.setRuntimeTypeInfo(t1, [H.getRuntimeTypeArgument(this, "_HashMap", 0)]);
+ return t1;
+ },
+ get$values: function(_) {
+ var t1, t2;
+ t1 = new P.HashMapKeyIterable(this);
+ H.setRuntimeTypeInfo(t1, [H.getRuntimeTypeArgument(this, "_HashMap", 0)]);
+ t2 = new H.MappedIterable(t1, new P._HashMap_values_closure(this));
+ H.setRuntimeTypeInfo(t2, [H.getRuntimeTypeArgument(t1, "IterableBase", 0), null]);
+ return t2;
+ },
+ containsKey$1: function(key) {
+ var strings, nums, rest;
+ if (typeof key === "string" && key !== "__proto__") {
+ strings = this._strings;
+ return strings == null ? false : strings[key] != null;
+ } else if (typeof key === "number" && (key & 0x3ffffff) === key) {
+ nums = this._nums;
+ return nums == null ? false : nums[key] != null;
+ } else {
+ rest = this._rest;
+ if (rest == null)
+ return false;
+ return this._findBucketIndex$2(rest[this._computeHashCode$1(key)], key) >= 0;
+ }
+ },
+ $index: function(_, key) {
+ var strings, t1, entry, nums, rest, bucket, index;
+ if (typeof key === "string" && key !== "__proto__") {
+ strings = this._strings;
+ if (strings == null)
+ t1 = null;
+ else {
+ entry = strings[key];
+ t1 = entry === strings ? null : entry;
+ }
+ return t1;
+ } else if (typeof key === "number" && (key & 0x3ffffff) === key) {
+ nums = this._nums;
+ if (nums == null)
+ t1 = null;
+ else {
+ entry = nums[key];
+ t1 = entry === nums ? null : entry;
+ }
+ return t1;
+ } else {
+ rest = this._rest;
+ if (rest == null)
+ return;
+ bucket = rest[this._computeHashCode$1(key)];
+ index = this._findBucketIndex$2(bucket, key);
+ return index < 0 ? null : bucket[index + 1];
+ }
+ },
+ $indexSet: function(_, key, value) {
+ var strings, nums, rest, hash, bucket, index;
+ if (typeof key === "string" && key !== "__proto__") {
+ strings = this._strings;
+ if (strings == null) {
+ strings = P._HashMap__newHashTable();
+ this._strings = strings;
+ }
+ this._addHashTableEntry$3(strings, key, value);
+ } else if (typeof key === "number" && (key & 0x3ffffff) === key) {
+ nums = this._nums;
+ if (nums == null) {
+ nums = P._HashMap__newHashTable();
+ this._nums = nums;
+ }
+ this._addHashTableEntry$3(nums, key, value);
+ } else {
+ rest = this._rest;
+ if (rest == null) {
+ rest = P._HashMap__newHashTable();
+ this._rest = rest;
+ }
+ hash = this._computeHashCode$1(key);
+ bucket = rest[hash];
+ if (bucket == null) {
+ P._HashMap__setTableEntry(rest, hash, [key, value]);
+ this._liblib0$_length = this._liblib0$_length + 1;
+ this._liblib0$_keys = null;
+ } else {
+ index = this._findBucketIndex$2(bucket, key);
+ if (index >= 0)
+ bucket[index + 1] = value;
+ else {
+ bucket.push(key, value);
+ this._liblib0$_length = this._liblib0$_length + 1;
+ this._liblib0$_keys = null;
+ }
+ }
+ }
+ },
+ forEach$1: function(_, action) {
+ var keys, $length, i, key;
+ keys = this._computeKeys$0();
+ for ($length = keys.length, i = 0; i < $length; ++i) {
+ key = keys[i];
+ action.call$2(key, this.$index(this, key));
+ if (keys !== this._liblib0$_keys)
+ throw H.wrapException(new P.ConcurrentModificationError(this));
+ }
+ },
+ _computeKeys$0: function() {
+ var t1, result, strings, names, entries, index, i, nums, rest, bucket, $length, i0;
+ t1 = this._liblib0$_keys;
+ if (t1 != null)
+ return t1;
+ result = P.List_List(this._liblib0$_length, null);
+ strings = this._strings;
+ if (strings != null) {
+ names = Object.getOwnPropertyNames(strings);
+ entries = names.length;
+ for (index = 0, i = 0; i < entries; ++i) {
+ result[index] = names[i];
+ ++index;
+ }
+ } else
+ index = 0;
+ nums = this._nums;
+ if (nums != null) {
+ names = Object.getOwnPropertyNames(nums);
+ entries = names.length;
+ for (i = 0; i < entries; ++i) {
+ result[index] = +names[i];
+ ++index;
+ }
+ }
+ rest = this._rest;
+ if (rest != null) {
+ names = Object.getOwnPropertyNames(rest);
+ entries = names.length;
+ for (i = 0; i < entries; ++i) {
+ bucket = rest[names[i]];
+ $length = bucket.length;
+ for (i0 = 0; i0 < $length; i0 += 2) {
+ result[index] = bucket[i0];
+ ++index;
+ }
+ }
+ }
+ this._liblib0$_keys = result;
+ return result;
+ },
+ _addHashTableEntry$3: function(table, key, value) {
+ if (table[key] == null) {
+ this._liblib0$_length = this._liblib0$_length + 1;
+ this._liblib0$_keys = null;
+ }
+ P._HashMap__setTableEntry(table, key, value);
+ },
+ _computeHashCode$1: function(key) {
+ return J.get$hashCode$(key) & 0x3ffffff;
+ },
+ _findBucketIndex$2: function(bucket, key) {
+ var $length, i;
+ if (bucket == null)
+ return -1;
+ $length = bucket.length;
+ for (i = 0; i < $length; i += 2)
+ if (J.$eq(bucket[i], key))
+ return i;
+ return -1;
+ },
+ $isMap: true,
+ static: {
+_HashMap__setTableEntry: function(table, key, value) {
+ if (value == null)
+ table[key] = table;
+ else
+ table[key] = value;
+},
+
+_HashMap__newHashTable: function() {
+ var table = Object.create(null);
+ P._HashMap__setTableEntry(table, "<non-identifier-key>", table);
+ delete table["<non-identifier-key>"];
+ return table;
+}}
+
+},
+
+_HashMap_values_closure: {"": "Closure;this_0",
+ call$1: function(each) {
+ var t1 = this.this_0;
+ return t1.$index(t1, each);
+ }
+},
+
+HashMapKeyIterable: {"": "IterableBase;_liblib0$_map",
+ get$length: function(_) {
+ return this._liblib0$_map._liblib0$_length;
+ },
+ get$iterator: function(_) {
+ var t1 = this._liblib0$_map;
+ return new P.HashMapKeyIterator(t1, t1._computeKeys$0(), 0, null);
+ },
+ forEach$1: function(_, f) {
+ var t1, keys, $length, i;
+ t1 = this._liblib0$_map;
+ keys = t1._computeKeys$0();
+ for ($length = keys.length, i = 0; i < $length; ++i) {
+ f.call$1(keys[i]);
+ if (keys !== t1._liblib0$_keys)
+ throw H.wrapException(new P.ConcurrentModificationError(t1));
+ }
+ },
+ $asIterableBase: null
+},
+
+HashMapKeyIterator: {"": "Object;_liblib0$_map,_liblib0$_keys,_offset,_liblib0$_current",
+ get$current: function() {
+ return this._liblib0$_current;
+ },
+ moveNext$0: function() {
+ var keys, offset, t1;
+ keys = this._liblib0$_keys;
+ offset = this._offset;
+ t1 = this._liblib0$_map;
+ if (keys !== t1._liblib0$_keys)
+ throw H.wrapException(new P.ConcurrentModificationError(t1));
+ else if (offset >= keys.length) {
+ this._liblib0$_current = null;
+ return false;
+ } else {
+ this._liblib0$_current = keys[offset];
+ this._offset = offset + 1;
+ return true;
+ }
+ }
+},
+
+_LinkedHashMap: {"": "Object;_liblib0$_length,_strings,_nums,_rest,_first,_last,_modifications",
+ get$length: function(_) {
+ return this._liblib0$_length;
+ },
+ get$keys: function() {
+ var t1 = new P.LinkedHashMapKeyIterable(this);
+ H.setRuntimeTypeInfo(t1, [H.getRuntimeTypeArgument(this, "_LinkedHashMap", 0)]);
+ return t1;
+ },
+ get$values: function(_) {
+ var t1, t2;
+ t1 = new P.LinkedHashMapKeyIterable(this);
+ H.setRuntimeTypeInfo(t1, [H.getRuntimeTypeArgument(this, "_LinkedHashMap", 0)]);
+ t2 = new H.MappedIterable(t1, new P._LinkedHashMap_values_closure(this));
+ H.setRuntimeTypeInfo(t2, [H.getRuntimeTypeArgument(t1, "IterableBase", 0), null]);
+ return t2;
+ },
+ containsKey$1: function(key) {
+ var strings, nums, rest;
+ if (typeof key === "string" && key !== "__proto__") {
+ strings = this._strings;
+ if (strings == null)
+ return false;
+ return strings[key] != null;
+ } else if (typeof key === "number" && (key & 0x3ffffff) === key) {
+ nums = this._nums;
+ if (nums == null)
+ return false;
+ return nums[key] != null;
+ } else {
+ rest = this._rest;
+ if (rest == null)
+ return false;
+ return this._findBucketIndex$2(rest[this._computeHashCode$1(key)], key) >= 0;
+ }
+ },
+ $index: function(_, key) {
+ var strings, cell, nums, rest, bucket, index;
+ if (typeof key === "string" && key !== "__proto__") {
+ strings = this._strings;
+ if (strings == null)
+ return;
+ cell = strings[key];
+ return cell == null ? null : cell.get$_liblib0$_value();
+ } else if (typeof key === "number" && (key & 0x3ffffff) === key) {
+ nums = this._nums;
+ if (nums == null)
+ return;
+ cell = nums[key];
+ return cell == null ? null : cell.get$_liblib0$_value();
+ } else {
+ rest = this._rest;
+ if (rest == null)
+ return;
+ bucket = rest[this._computeHashCode$1(key)];
+ index = this._findBucketIndex$2(bucket, key);
+ if (index < 0)
+ return;
+ return bucket[index].get$_liblib0$_value();
+ }
+ },
+ $indexSet: function(_, key, value) {
+ var strings, nums, rest, hash, bucket, index;
+ if (typeof key === "string" && key !== "__proto__") {
+ strings = this._strings;
+ if (strings == null) {
+ strings = P._LinkedHashMap__newHashTable();
+ this._strings = strings;
+ }
+ this._addHashTableEntry$3(strings, key, value);
+ } else if (typeof key === "number" && (key & 0x3ffffff) === key) {
+ nums = this._nums;
+ if (nums == null) {
+ nums = P._LinkedHashMap__newHashTable();
+ this._nums = nums;
+ }
+ this._addHashTableEntry$3(nums, key, value);
+ } else {
+ rest = this._rest;
+ if (rest == null) {
+ rest = P._LinkedHashMap__newHashTable();
+ this._rest = rest;
+ }
+ hash = this._computeHashCode$1(key);
+ bucket = rest[hash];
+ if (bucket == null)
+ rest[hash] = [this._newLinkedCell$2(key, value)];
+ else {
+ index = this._findBucketIndex$2(bucket, key);
+ if (index >= 0)
+ bucket[index].set$_liblib0$_value(value);
+ else
+ bucket.push(this._newLinkedCell$2(key, value));
+ }
+ }
+ },
+ remove$1: function(_, key) {
+ var rest, bucket, index, cell;
+ if (typeof key === "string" && key !== "__proto__")
+ return this._removeHashTableEntry$2(this._strings, key);
+ else if (typeof key === "number" && (key & 0x3ffffff) === key)
+ return this._removeHashTableEntry$2(this._nums, key);
+ else {
+ rest = this._rest;
+ if (rest == null)
+ return;
+ bucket = rest[this._computeHashCode$1(key)];
+ index = this._findBucketIndex$2(bucket, key);
+ if (index < 0)
+ return;
+ cell = bucket.splice(index, 1)[0];
+ this._unlinkCell$1(cell);
+ return cell.get$_liblib0$_value();
+ }
+ },
+ forEach$1: function(_, action) {
+ var cell, modifications;
+ cell = this._first;
+ modifications = this._modifications;
+ for (; cell != null;) {
+ action.call$2(cell._key, cell._liblib0$_value);
+ if (modifications !== this._modifications)
+ throw H.wrapException(new P.ConcurrentModificationError(this));
+ cell = cell._next;
+ }
+ },
+ _addHashTableEntry$3: function(table, key, value) {
+ var cell = table[key];
+ if (cell == null)
+ table[key] = this._newLinkedCell$2(key, value);
+ else
+ cell.set$_liblib0$_value(value);
+ },
+ _removeHashTableEntry$2: function(table, key) {
+ var cell;
+ if (table == null)
+ return;
+ cell = table[key];
+ if (cell == null)
+ return;
+ this._unlinkCell$1(cell);
+ delete table[key];
+ return cell.get$_liblib0$_value();
+ },
+ _newLinkedCell$2: function(key, value) {
+ var cell, last;
+ cell = new P.LinkedHashMapCell(key, value, null, null);
+ if (this._first == null) {
+ this._last = cell;
+ this._first = cell;
+ } else {
+ last = this._last;
+ cell._previous = last;
+ last._next = cell;
+ this._last = cell;
+ }
+ this._liblib0$_length = this._liblib0$_length + 1;
+ this._modifications = this._modifications + 1 & 67108863;
+ return cell;
+ },
+ _unlinkCell$1: function(cell) {
+ var previous, next;
+ previous = cell.get$_previous();
+ next = cell.get$_next();
+ if (previous == null)
+ this._first = next;
+ else
+ previous._next = next;
+ if (next == null)
+ this._last = previous;
+ else
+ next._previous = previous;
+ this._liblib0$_length = this._liblib0$_length - 1;
+ this._modifications = this._modifications + 1 & 67108863;
+ },
+ _computeHashCode$1: function(key) {
+ return J.get$hashCode$(key) & 0x3ffffff;
+ },
+ _findBucketIndex$2: function(bucket, key) {
+ var $length, i;
+ if (bucket == null)
+ return -1;
+ $length = bucket.length;
+ for (i = 0; i < $length; ++i)
+ if (J.$eq(bucket[i].get$_key(), key))
+ return i;
+ return -1;
+ },
+ toString$0: function(_) {
+ return P.Maps_mapToString(this);
+ },
+ $isMap: true,
+ static: {
+_LinkedHashMap__newHashTable: function() {
+ var table = Object.create(null);
+ table["<non-identifier-key>"] = table;
+ delete table["<non-identifier-key>"];
+ return table;
+}}
+
+},
+
+_LinkedHashMap_values_closure: {"": "Closure;this_0",
+ call$1: function(each) {
+ var t1 = this.this_0;
+ return t1.$index(t1, each);
+ }
+},
+
+_LinkedIdentityHashMap: {"": "_LinkedHashMap;_liblib0$_length,_strings,_nums,_rest,_first,_last,_modifications",
+ _computeHashCode$1: function(key) {
+ return H.objectHashCode(key) & 0x3ffffff;
+ },
+ _findBucketIndex$2: function(bucket, key) {
+ var $length, i, t1;
+ if (bucket == null)
+ return -1;
+ $length = bucket.length;
+ for (i = 0; i < $length; ++i) {
+ t1 = bucket[i].get$_key();
+ if (t1 == null ? key == null : t1 === key)
+ return i;
+ }
+ return -1;
+ },
+ $as_LinkedHashMap: null,
+ $asMap: null
+},
+
+_LinkedCustomHashMap: {"": "_LinkedHashMap;_equals,_hashCode,_validKey,_liblib0$_length,_strings,_nums,_rest,_first,_last,_modifications",
+ _equals$2: function(arg0, arg1) {
+ return this._equals.call$2(arg0, arg1);
+ },
+ _hashCode$1: function(arg0) {
+ return this._hashCode.call$1(arg0);
+ },
+ _validKey$1: function(arg0) {
+ return this._validKey.call$1(arg0);
+ },
+ $index: function(_, key) {
+ if (this._validKey$1(key) !== true)
+ return;
+ return P._LinkedHashMap.prototype.$index.call(this, this, key);
+ },
+ containsKey$1: function(key) {
+ if (this._validKey$1(key) !== true)
+ return false;
+ return P._LinkedHashMap.prototype.containsKey$1.call(this, key);
+ },
+ remove$1: function(_, key) {
+ if (this._validKey$1(key) !== true)
+ return;
+ return P._LinkedHashMap.prototype.remove$1.call(this, this, key);
+ },
+ _computeHashCode$1: function(key) {
+ return this._hashCode$1(key) & 0x3ffffff;
+ },
+ _findBucketIndex$2: function(bucket, key) {
+ var $length, i;
+ if (bucket == null)
+ return -1;
+ $length = bucket.length;
+ for (i = 0; i < $length; ++i)
+ if (this._equals$2(bucket[i].get$_key(), key) === true)
+ return i;
+ return -1;
+ },
+ $as_LinkedHashMap: null,
+ $asMap: null,
+ static: {
+_LinkedCustomHashMap$: function(_equals, _hashCode, validKey, $K, $V) {
+ var t1 = new P._LinkedCustomHashMap_closure($K);
+ t1 = new P._LinkedCustomHashMap(_equals, _hashCode, t1, 0, null, null, null, null, null, 0);
+ H.setRuntimeTypeInfo(t1, [$K, $V]);
+ return t1;
+}}
+
+},
+
+_LinkedCustomHashMap_closure: {"": "Closure;K_0",
+ call$1: function(v) {
+ var t1 = H.checkSubtypeOfRuntimeType(v, this.K_0);
+ return t1;
+ }
+},
+
+LinkedHashMapCell: {"": "Object;_key<,_liblib0$_value@,_next<,_previous<"},
+
+LinkedHashMapKeyIterable: {"": "IterableBase;_liblib0$_map",
+ get$length: function(_) {
+ return this._liblib0$_map._liblib0$_length;
+ },
+ get$iterator: function(_) {
+ var t1 = this._liblib0$_map;
+ t1 = new P.LinkedHashMapKeyIterator(t1, t1._modifications, null, null);
+ t1._cell = t1._liblib0$_map._first;
+ return t1;
+ },
+ forEach$1: function(_, f) {
+ var t1, cell, modifications;
+ t1 = this._liblib0$_map;
+ cell = t1._first;
+ modifications = t1._modifications;
+ for (; cell != null;) {
+ f.call$1(cell._key);
+ if (modifications !== t1._modifications)
+ throw H.wrapException(new P.ConcurrentModificationError(t1));
+ cell = cell._next;
+ }
+ },
+ $asIterableBase: null
+},
+
+LinkedHashMapKeyIterator: {"": "Object;_liblib0$_map,_modifications,_cell,_liblib0$_current",
+ get$current: function() {
+ return this._liblib0$_current;
+ },
+ moveNext$0: function() {
+ var t1 = this._liblib0$_map;
+ if (this._modifications !== t1._modifications)
+ throw H.wrapException(new P.ConcurrentModificationError(t1));
+ else {
+ t1 = this._cell;
+ if (t1 == null) {
+ this._liblib0$_current = null;
+ return false;
+ } else {
+ this._liblib0$_current = t1._key;
+ this._cell = this._cell._next;
+ return true;
+ }
+ }
+ }
+},
+
+IterableBase: {"": "Object;",
+ map$1: function(_, f) {
+ var t1 = new H.MappedIterable(this, f);
+ H.setRuntimeTypeInfo(t1, [H.getRuntimeTypeArgument(this, "IterableBase", 0), null]);
+ return t1;
+ },
+ forEach$1: function(_, f) {
+ var t1;
+ for (t1 = this.get$iterator(this); t1.moveNext$0();)
+ f.call$1(t1.get$current());
+ },
+ toList$1$growable: function(_, growable) {
+ return P.List_List$from(this, growable, H.getRuntimeTypeArgument(this, "IterableBase", 0));
+ },
+ toList$0: function($receiver) {
+ return this.toList$1$growable($receiver, true);
+ },
+ get$length: function(_) {
+ var it, count;
+ it = this.get$iterator(this);
+ for (count = 0; it.moveNext$0();)
+ ++count;
+ return count;
+ },
+ elementAt$1: function(_, index) {
+ var t1, remaining, element;
+ if (index < 0)
+ throw H.wrapException(new P.RangeError("value " + index));
+ for (t1 = this.get$iterator(this), remaining = index; t1.moveNext$0();) {
+ element = t1.get$current();
+ if (remaining === 0)
+ return element;
+ --remaining;
+ }
+ throw H.wrapException(new P.RangeError("value " + index));
+ }
+},
+
+ListBase: {"": "Object+ListMixin;", $isList: true, $asList: null},
+
+ListMixin: {"": "Object;",
+ get$iterator: function(receiver) {
+ return new H.ListIterator(receiver, this.get$length(receiver), 0, null);
+ },
+ elementAt$1: function(receiver, index) {
+ return this.$index(receiver, index);
+ },
+ forEach$1: function(receiver, action) {
+ var $length, i;
+ if (typeof receiver !== "string" && (typeof receiver !== "object" || receiver === null || receiver.constructor !== Array && !H.isJsIndexable(receiver, receiver[init.dispatchPropertyName])))
+ return this.forEach$1$bailout(1, receiver, action);
+ $length = receiver.length;
+ for (i = 0; i < $length; ++i) {
+ if (i >= receiver.length)
+ throw H.ioore(receiver, i);
+ action.call$1(receiver[i]);
+ if ($length !== receiver.length)
+ throw H.wrapException(new P.ConcurrentModificationError(receiver));
+ }
+ },
+ forEach$1$bailout: function(state0, receiver, action) {
+ var $length, i;
+ $length = this.get$length(receiver);
+ for (i = 0; i < $length; ++i) {
+ action.call$1(this.$index(receiver, i));
+ if ($length !== this.get$length(receiver))
+ throw H.wrapException(new P.ConcurrentModificationError(receiver));
+ }
+ },
+ where$1: function(receiver, test) {
+ var t1 = new H.WhereIterable(receiver, test);
+ H.setRuntimeTypeInfo(t1, [H.getRuntimeTypeArgument(receiver, "ListMixin", 0)]);
+ return t1;
+ },
+ map$1: function(receiver, f) {
+ var t1 = new H.MappedListIterable(receiver, f);
+ H.setRuntimeTypeInfo(t1, [null, null]);
+ return t1;
+ },
+ toList$1$growable: function(receiver, growable) {
+ var result, t1, t2, i, t3;
+ if (typeof receiver !== "string" && (typeof receiver !== "object" || receiver === null || receiver.constructor !== Array && !H.isJsIndexable(receiver, receiver[init.dispatchPropertyName])))
+ return this.toList$1$growable$bailout(1, receiver, growable);
+ if (growable) {
+ result = P.List_List(null, H.getRuntimeTypeArgument(receiver, "ListMixin", 0));
+ H.setRuntimeTypeInfo(result, [H.getRuntimeTypeArgument(receiver, "ListMixin", 0)]);
+ C.JSArray_methods.set$length(result, receiver.length);
+ } else {
+ result = P.List_List(receiver.length, H.getRuntimeTypeArgument(receiver, "ListMixin", 0));
+ H.setRuntimeTypeInfo(result, [H.getRuntimeTypeArgument(receiver, "ListMixin", 0)]);
+ }
+ for (t1 = receiver.length, t2 = result.length, i = 0; i < t1; ++i) {
+ t3 = receiver[i];
+ if (i >= t2)
+ throw H.ioore(result, i);
+ result[i] = t3;
+ }
+ return result;
+ },
+ toList$1$growable$bailout: function(state0, receiver, growable) {
+ var result, i, t1;
+ if (growable) {
+ result = P.List_List(null, H.getRuntimeTypeArgument(receiver, "ListMixin", 0));
+ H.setRuntimeTypeInfo(result, [H.getRuntimeTypeArgument(receiver, "ListMixin", 0)]);
+ C.JSArray_methods.set$length(result, this.get$length(receiver));
+ } else {
+ result = P.List_List(this.get$length(receiver), H.getRuntimeTypeArgument(receiver, "ListMixin", 0));
+ H.setRuntimeTypeInfo(result, [H.getRuntimeTypeArgument(receiver, "ListMixin", 0)]);
+ }
+ for (i = 0; i < this.get$length(receiver); ++i) {
+ t1 = this.$index(receiver, i);
+ if (i >= result.length)
+ throw H.ioore(result, i);
+ result[i] = t1;
+ }
+ return result;
+ },
+ toList$0: function($receiver) {
+ return this.toList$1$growable($receiver, true);
+ },
+ toString$0: function(receiver) {
+ var result, i, t1;
+ for (i = 0; i < $.get$ListMixin__toStringList().length; ++i) {
+ t1 = $.get$ListMixin__toStringList();
+ if (i >= t1.length)
+ throw H.ioore(t1, i);
+ if (t1[i] === receiver)
+ return "[...]";
+ }
+ result = P.StringBuffer$("");
+ try {
+ $.get$ListMixin__toStringList().push(receiver);
+ result.write$1("[");
+ result.writeAll$2(receiver, ", ");
+ result.write$1("]");
+ } finally {
+ t1 = $.get$ListMixin__toStringList();
+ if (0 >= t1.length)
+ throw H.ioore(t1, 0);
+ t1.pop();
+ }
+ return result.get$_contents();
+ },
+ $isList: true,
+ $asList: null
+},
+
+Maps_mapToString_closure: {"": "Closure;box_0,result_1",
+ call$2: function(k, v) {
+ var t1 = this.box_0;
+ if (!t1.first_0)
+ this.result_1.write$1(", ");
+ t1.first_0 = false;
+ t1 = this.result_1;
+ t1.write$1(k);
+ t1.write$1(": ");
+ t1.write$1(v);
+ }
+},
+
+ListQueue: {"": "IterableBase;_table,_head,_tail,_modificationCount",
+ get$iterator: function(_) {
+ return P._ListQueueIterator$(this);
+ },
+ forEach$1: function(_, action) {
+ var modificationCount, i, t1;
+ modificationCount = this._modificationCount;
+ for (i = this._head; i !== this._tail; i = (i + 1 & this._table.length - 1) >>> 0) {
+ t1 = this._table;
+ if (i < 0 || i >= t1.length)
+ throw H.ioore(t1, i);
+ action.call$1(t1[i]);
+ if (modificationCount !== this._modificationCount)
+ H.throwExpression(new P.ConcurrentModificationError(this));
+ }
+ },
+ get$length: function(_) {
+ return (this._tail - this._head & this._table.length - 1) >>> 0;
+ },
+ toString$0: function(_) {
+ return H.IterableMixinWorkaround_toStringIterable(this, "{", "}");
+ },
+ removeFirst$0: function() {
+ var t1, t2, t3, result;
+ if (this._head === this._tail)
+ throw H.wrapException(new P.StateError("No elements"));
+ this._modificationCount = this._modificationCount + 1;
+ t1 = this._table;
+ t2 = this._head;
+ t3 = t1.length;
+ if (t2 < 0 || t2 >= t3)
+ throw H.ioore(t1, t2);
+ result = t1[t2];
+ this._head = (t2 + 1 & t3 - 1) >>> 0;
+ return result;
+ },
+ _add$1: function(element) {
+ var t1, t2, t3;
+ t1 = this._table;
+ t2 = this._tail;
+ t3 = t1.length;
+ if (t2 < 0 || t2 >= t3)
+ throw H.ioore(t1, t2);
+ t1[t2] = element;
+ this._tail = (t2 + 1 & t3 - 1) >>> 0;
+ if (this._head === this._tail)
+ this._grow$0();
+ this._modificationCount = this._modificationCount + 1;
+ },
+ _grow$0: function() {
+ var newTable, t1, t2, split;
+ newTable = P.List_List(this._table.length * 2, H.getRuntimeTypeArgument(this, "ListQueue", 0));
+ H.setRuntimeTypeInfo(newTable, [H.getRuntimeTypeArgument(this, "ListQueue", 0)]);
+ t1 = this._table;
+ t2 = this._head;
+ split = t1.length - t2;
+ H.IterableMixinWorkaround_setRangeList(newTable, 0, split, t1, t2);
+ t1 = this._head;
+ t2 = this._table;
+ H.IterableMixinWorkaround_setRangeList(newTable, split, split + t1, t2, 0);
+ this._head = 0;
+ this._tail = this._table.length;
+ this._table = newTable;
+ },
+ ListQueue$1: function(initialCapacity, $E) {
+ var t1 = P.List_List(8, $E);
+ H.setRuntimeTypeInfo(t1, [$E]);
+ this._table = t1;
+ },
+ $asIterableBase: null,
+ static: {
+"": "ListQueue__INITIAL_CAPACITY",
+ListQueue$: function(initialCapacity, $E) {
+ var t1 = new P.ListQueue(null, 0, 0, 0);
+ H.setRuntimeTypeInfo(t1, [$E]);
+ t1.ListQueue$1(initialCapacity, $E);
+ return t1;
+}}
+
+},
+
+_ListQueueIterator: {"": "Object;_queue,_end,_modificationCount,_position,_liblib0$_current",
+ get$current: function() {
+ return this._liblib0$_current;
+ },
+ moveNext$0: function() {
+ var t1, t2, t3;
+ t1 = this._queue;
+ if (this._modificationCount !== t1._modificationCount)
+ H.throwExpression(new P.ConcurrentModificationError(t1));
+ t2 = this._position;
+ if (t2 === this._end) {
+ this._liblib0$_current = null;
+ return false;
+ }
+ t3 = t1._table;
+ if (t2 < 0 || t2 >= t3.length)
+ throw H.ioore(t3, t2);
+ this._liblib0$_current = t3[t2];
+ this._position = (this._position + 1 & t1._table.length - 1) >>> 0;
+ return true;
+ },
+ static: {
+_ListQueueIterator$: function(queue) {
+ return new P._ListQueueIterator(queue, queue._tail, queue._modificationCount, queue._head, null);
+}}
+
+}}],
+["dart.convert", "dart:convert", , P, {
+_convertJsonToDart: function(json, reviver) {
+ var revive = reviver == null ? new P._convertJsonToDart_closure() : reviver;
+ return revive.call$2(null, new P._convertJsonToDart_walk(revive).call$1(json));
+},
+
+_parseJson: function(source, reviver) {
+ var parsed, e, t1, exception;
+ t1 = source;
+ if (typeof t1 !== "string")
+ throw H.wrapException(new P.ArgumentError(source));
+ parsed = null;
+ try {
+ parsed = JSON.parse(source);
+ } catch (exception) {
+ t1 = H.unwrapException(exception);
+ e = t1;
+ throw H.wrapException(new P.FormatException(String(e)));
+ }
+
+ return P._convertJsonToDart(parsed, reviver);
+},
+
+_convertJsonToDart_closure: {"": "Closure;",
+ call$2: function(key, value) {
+ return value;
+ }
+},
+
+_convertJsonToDart_walk: {"": "Closure;revive_0",
+ call$1: function(e) {
+ var list, t1, i, keys, map, key, proto;
+ if (e == null || typeof e != "object")
+ return e;
+ if (Object.getPrototypeOf(e) === Array.prototype) {
+ list = e;
+ for (t1 = this.revive_0, i = 0; i < list.length; ++i)
+ list[i] = t1.call$2(i, this.call$1(list[i]));
+ return list;
+ }
+ keys = Object.keys(e);
+ map = H.fillLiteralMap([], P.LinkedHashMap_LinkedHashMap(null, null, null, null, null));
+ for (t1 = this.revive_0, i = 0; i < keys.length; ++i) {
+ key = keys[i];
+ map.$indexSet(map, key, t1.call$2(key, this.call$1(e[key])));
+ }
+ proto = e.__proto__;
+ if (typeof proto !== "undefined" && proto !== Object.prototype)
+ map.$indexSet(map, "__proto__", t1.call$2("__proto__", this.call$1(proto)));
+ return map;
+ }
+},
+
+Codec: {"": "Object;"},
+
+Converter: {"": "Object;"},
+
+JsonCodec: {"": "Codec;"},
+
+JsonDecoder: {"": "Converter;_reviver"}}],
+["dart.core", "dart:core", , P, {
+_symbolToString: function(symbol) {
+ return H.Symbol_getName(symbol);
+},
+
+Error_safeToString: function(object) {
+ var buffer, t1, i, codeUnit, t2, charCodes;
+ if (typeof object === "number" && Math.floor(object) === object || typeof object === "number" || typeof object === "boolean" || null == object)
+ return J.toString$0(object);
+ if (typeof object === "string") {
+ buffer = new P.StringBuffer("");
+ buffer._contents = "\"";
+ for (t1 = object.length, i = 0; i < t1; ++i) {
+ codeUnit = C.JSString_methods.codeUnitAt$1(object, i);
+ if (codeUnit <= 31)
+ if (codeUnit === 10)
+ buffer._contents = buffer._contents + "\\n";
+ else if (codeUnit === 13)
+ buffer._contents = buffer._contents + "\\r";
+ else if (codeUnit === 9)
+ buffer._contents = buffer._contents + "\\t";
+ else {
+ buffer._contents = buffer._contents + "\\x";
+ if (codeUnit < 16)
+ buffer._contents = buffer._contents + "0";
+ else {
+ buffer._contents = buffer._contents + "1";
+ codeUnit -= 16;
+ }
+ t2 = codeUnit < 10 ? 48 + codeUnit : 87 + codeUnit;
+ charCodes = P.List_List$filled(1, t2, J.JSInt);
+ charCodes.$builtinTypeInfo = [J.JSInt];
+ t2 = H.Primitives_stringFromCharCodes(charCodes);
+ buffer._contents = buffer._contents + t2;
+ }
+ else if (codeUnit === 92)
+ buffer._contents = buffer._contents + "\\\\";
+ else if (codeUnit === 34)
+ buffer._contents = buffer._contents + "\\\"";
+ else {
+ charCodes = P.List_List$filled(1, codeUnit, J.JSInt);
+ charCodes.$builtinTypeInfo = [J.JSInt];
+ t2 = H.Primitives_stringFromCharCodes(charCodes);
+ buffer._contents = buffer._contents + t2;
+ }
+ }
+ buffer._contents = buffer._contents + "\"";
+ return buffer._contents;
+ }
+ return "Instance of '" + H.Primitives_objectTypeName(object) + "'";
+},
+
+identical: function(a, b) {
+ return a == null ? b == null : a === b;
+},
+
+identityHashCode: function(object) {
+ return H.objectHashCode(object);
+},
+
+List_List: function($length, $E) {
+ if ($length == null)
+ return new Array(0);
+ if (typeof $length !== "number" || Math.floor($length) !== $length || $length < 0)
+ throw H.wrapException(new P.ArgumentError("Length must be a positive integer: " + H.S($length) + "."));
+ return H.Primitives_newFixedList($length);
+},
+
+List_List$filled: function($length, fill, $E) {
+ var result, t1, i;
+ if ($length < 0)
+ throw H.wrapException(new P.ArgumentError("Length must be a positive integer: " + $length + "."));
+ result = H.Primitives_newFixedList($length);
+ if ($length !== 0 && true)
+ for (t1 = result.length, i = 0; i < t1; ++i)
+ result[i] = fill;
+ return result;
+},
+
+List_List$from: function(other, growable, $E) {
+ var list, t1, $length, fixedList, t2, i, t3;
+ list = P.List_List(null, $E);
+ H.setRuntimeTypeInfo(list, [$E]);
+ for (t1 = J.get$iterator$ax(other); t1.moveNext$0();)
+ list.push(t1.get$current());
+ if (growable)
+ return list;
+ $length = list.length;
+ fixedList = P.List_List($length, $E);
+ H.setRuntimeTypeInfo(fixedList, [$E]);
+ for (t1 = list.length, t2 = fixedList.length, i = 0; i < $length; ++i) {
+ if (i >= t1)
+ throw H.ioore(list, i);
+ t3 = list[i];
+ if (i >= t2)
+ throw H.ioore(fixedList, i);
+ fixedList[i] = t3;
+ }
+ return fixedList;
+},
+
+NoSuchMethodError_toString_closure: {"": "Closure;box_0",
+ call$2: function(key, value) {
+ var t1 = this.box_0;
+ if (t1.i_1 > 0)
+ t1.sb_0.write$1(", ");
+ t1.sb_0.write$1(P._symbolToString(key));
+ }
+},
+
+Duration: {"": "Object;_duration",
+ $lt: function(_, other) {
+ var t1 = other.get$_duration();
+ if (typeof t1 !== "number")
+ throw H.iae(t1);
+ return C.JSNumber_methods.$lt(this._duration, t1);
+ },
+ $gt: function(_, other) {
+ var t1 = other.get$_duration();
+ if (typeof t1 !== "number")
+ throw H.iae(t1);
+ return C.JSNumber_methods.$gt(this._duration, t1);
+ },
+ $ge: function(_, other) {
+ var t1 = other.get$_duration();
+ if (typeof t1 !== "number")
+ throw H.iae(t1);
+ return C.JSNumber_methods.$ge(this._duration, t1);
+ },
+ get$inMilliseconds: function() {
+ return C.JSNumber_methods.$tdiv(this._duration, 1000);
+ },
+ $eq: function(_, other) {
+ var t1;
+ if (other == null)
+ return false;
+ t1 = J.getInterceptor(other);
+ if (typeof other !== "object" || other === null || !t1.$isDuration)
+ return false;
+ return this._duration === other._duration;
+ },
+ get$hashCode: function(_) {
+ return this._duration & 0x1FFFFFFF;
+ },
+ toString$0: function(_) {
+ var t1, t2, twoDigitMinutes, twoDigitSeconds, sixDigitUs;
+ t1 = new P.Duration_toString_twoDigits();
+ t2 = this._duration;
+ if (t2 < 0)
+ return "-" + H.S(P.Duration$(0, 0, -t2, 0, 0, 0));
+ twoDigitMinutes = t1.call$1(C.JSNumber_methods.remainder$1(C.JSNumber_methods.$tdiv(t2, 60000000), 60));
+ twoDigitSeconds = t1.call$1(C.JSNumber_methods.remainder$1(C.JSNumber_methods.$tdiv(t2, 1000000), 60));
+ sixDigitUs = new P.Duration_toString_sixDigits().call$1(C.JSNumber_methods.remainder$1(t2, 1000000));
+ return H.S(C.JSNumber_methods.$tdiv(t2, 3600000000)) + ":" + H.S(twoDigitMinutes) + ":" + H.S(twoDigitSeconds) + "." + H.S(sixDigitUs);
+ },
+ $isDuration: true,
+ static: {
+"": "Duration_MICROSECONDS_PER_MILLISECOND,Duration_MILLISECONDS_PER_SECOND,Duration_SECONDS_PER_MINUTE,Duration_MINUTES_PER_HOUR,Duration_HOURS_PER_DAY,Duration_MICROSECONDS_PER_SECOND,Duration_MICROSECONDS_PER_MINUTE,Duration_MICROSECONDS_PER_HOUR,Duration_MICROSECONDS_PER_DAY,Duration_MILLISECONDS_PER_MINUTE,Duration_MILLISECONDS_PER_HOUR,Duration_MILLISECONDS_PER_DAY,Duration_SECONDS_PER_HOUR,Duration_SECONDS_PER_DAY,Duration_MINUTES_PER_DAY,Duration_ZERO",
+Duration$: function(days, hours, microseconds, milliseconds, minutes, seconds) {
+ return new P.Duration(days * 86400000000 + hours * 3600000000 + minutes * 60000000 + seconds * 1000000 + milliseconds * 1000 + microseconds);
+}}
+
+},
+
+Duration_toString_sixDigits: {"": "Closure;",
+ call$1: function(n) {
+ var t1 = J.getInterceptor$n(n);
+ if (t1.$ge(n, 100000))
+ return H.S(n);
+ if (t1.$ge(n, 10000))
+ return "0" + H.S(n);
+ if (t1.$ge(n, 1000))
+ return "00" + H.S(n);
+ if (t1.$ge(n, 100))
+ return "000" + H.S(n);
+ if (t1.$gt(n, 10))
+ return "0000" + H.S(n);
+ return "00000" + H.S(n);
+ }
+},
+
+Duration_toString_twoDigits: {"": "Closure;",
+ call$1: function(n) {
+ if (J.$ge$n(n, 10))
+ return H.S(n);
+ return "0" + H.S(n);
+ }
+},
+
+Error: {"": "Object;", $isError: true},
+
+NullThrownError: {"": "Error;",
+ toString$0: function(_) {
+ return "Throw of null.";
+ }
+},
+
+ArgumentError: {"": "Error;message",
+ toString$0: function(_) {
+ var t1 = this.message;
+ if (t1 != null)
+ return "Illegal argument(s): " + H.S(t1);
+ return "Illegal argument(s)";
+ }
+},
+
+RangeError: {"": "ArgumentError;message",
+ toString$0: function(_) {
+ return "RangeError: " + H.S(this.message);
+ }
+},
+
+UnsupportedError: {"": "Error;message",
+ toString$0: function(_) {
+ return "Unsupported operation: " + this.message;
+ }
+},
+
+StateError: {"": "Error;message",
+ toString$0: function(_) {
+ return "Bad state: " + this.message;
+ }
+},
+
+ConcurrentModificationError: {"": "Error;modifiedObject",
+ toString$0: function(_) {
+ var t1 = this.modifiedObject;
+ if (t1 == null)
+ return "Concurrent modification during iteration.";
+ return "Concurrent modification during iteration: " + H.S(P.Error_safeToString(t1)) + ".";
+ }
+},
+
+StackOverflowError: {"": "Object;",
+ toString$0: function(_) {
+ return "Stack Overflow";
+ },
+ $isError: true
+},
+
+CyclicInitializationError: {"": "Error;variableName",
+ toString$0: function(_) {
+ return "Reading static variable '" + this.variableName + "' during its initialization";
+ }
+},
+
+_ExceptionImplementation: {"": "Object;message",
+ toString$0: function(_) {
+ var t1 = this.message;
+ if (t1 == null)
+ return "Exception";
+ return "Exception: " + H.S(t1);
+ },
+ $isException: true
+},
+
+FormatException: {"": "Object;message",
+ toString$0: function(_) {
+ return "FormatException: " + this.message;
+ },
+ $isException: true
+},
+
+Expando: {"": "Object;name",
+ toString$0: function(_) {
+ return "Expando:" + this.name;
+ },
+ $index: function(_, object) {
+ var values = H.Primitives_getProperty(object, "expando$values");
+ return values == null ? null : H.Primitives_getProperty(values, this._getKey$0());
+ },
+ $indexSet: function(_, object, value) {
+ var values = H.Primitives_getProperty(object, "expando$values");
+ if (values == null) {
+ values = new P.Object();
+ H.Primitives_setProperty(object, "expando$values", values);
+ }
+ H.Primitives_setProperty(values, this._getKey$0(), value);
+ },
+ _getKey$0: function() {
+ var key, t1;
+ key = H.Primitives_getProperty(this, "expando$key");
+ if (key == null) {
+ t1 = $.Expando__keyCount;
+ $.Expando__keyCount = t1 + 1;
+ key = "expando$key$" + t1;
+ H.Primitives_setProperty(this, "expando$key", key);
+ }
+ return key;
+ },
+ static: {
+"": "Expando__KEY_PROPERTY_NAME,Expando__EXPANDO_PROPERTY_NAME,Expando__keyCount",
+}
+
+},
+
+Function: {"": "Object;"},
+
+Iterator: {"": "Object;"},
+
+Map: {"": "Object;", $isMap: true},
+
+Null: {"": "Object;",
+ toString$0: function(_) {
+ return "null";
+ }
+},
+
+Object: {"": ";",
+ $eq: function(_, other) {
+ return this === other;
+ },
+ get$hashCode: function(_) {
+ return H.Primitives_objectHashCode(this);
+ },
+ toString$0: function(_) {
+ return H.Primitives_objectToString(this);
+ },
+ $isObject: true
+},
+
+StackTrace: {"": "Object;"},
+
+StringBuffer: {"": "Object;_contents<",
+ get$length: function(_) {
+ return this._contents.length;
+ },
+ write$1: function(obj) {
+ if (typeof obj !== "string")
+ return this.write$1$bailout(1, obj);
+ this._contents = this._contents + obj;
+ },
+ write$1$bailout: function(state0, obj) {
+ var str = typeof obj === "string" ? obj : H.S(obj);
+ this._contents = this._contents + str;
+ },
+ writeAll$2: function(objects, separator) {
+ var iterator, str;
+ iterator = J.get$iterator$ax(objects);
+ if (!iterator.moveNext$0())
+ return;
+ if (separator.length === 0)
+ do {
+ str = iterator.get$current();
+ str = typeof str === "string" ? str : H.S(str);
+ this._contents = this._contents + str;
+ } while (iterator.moveNext$0());
+ else {
+ this.write$1(iterator.get$current());
+ for (; iterator.moveNext$0();) {
+ this._contents = this._contents + separator;
+ str = iterator.get$current();
+ str = typeof str === "string" ? str : H.S(str);
+ this._contents = this._contents + str;
+ }
+ }
+ },
+ toString$0: function(_) {
+ return this._contents;
+ },
+ StringBuffer$1: function($content) {
+ this._contents = $content;
+ },
+ static: {
+StringBuffer$: function($content) {
+ var t1 = new P.StringBuffer("");
+ t1.StringBuffer$1($content);
+ return t1;
+}}
+
+},
+
+Symbol: {"": "Object;", $isSymbol: true}}],
+["dart.dom.html", "dart:html", , W, {
+HttpRequest_getString: function(url, onProgress, withCredentials) {
+ return W.HttpRequest_request(url, null, null, onProgress, null, null, null, withCredentials).then$1(new W.HttpRequest_getString_closure());
+},
+
+HttpRequest_request: function(url, method, mimeType, onProgress, requestHeaders, responseType, sendData, withCredentials) {
+ var t1, completer, xhr, t2;
+ t1 = W.HttpRequest;
+ completer = new P._AsyncCompleter(P._Future$(t1));
+ H.setRuntimeTypeInfo(completer, [t1]);
+ xhr = new XMLHttpRequest();
+ C.HttpRequest_methods.open$3$async(xhr, "GET", url, true);
+ t1 = new W._EventStream(xhr, C.EventStreamProvider_load._eventType, false);
+ H.setRuntimeTypeInfo(t1, [null]);
+ t2 = new W._EventStreamSubscription(0, t1._target, t1._eventType, W._EventStreamSubscription__wrapZone(new W.HttpRequest_request_closure(completer, xhr)), t1._useCapture);
+ H.setRuntimeTypeInfo(t2, [H.getRuntimeTypeArgument(t1, "_EventStream", 0)]);
+ t2._tryResume$0();
+ t2 = new W._EventStream(xhr, C.EventStreamProvider_error._eventType, false);
+ H.setRuntimeTypeInfo(t2, [null]);
+ t1 = new W._EventStreamSubscription(0, t2._target, t2._eventType, W._EventStreamSubscription__wrapZone(new W.HttpRequest_request_closure0(completer)), t2._useCapture);
+ H.setRuntimeTypeInfo(t1, [H.getRuntimeTypeArgument(t2, "_EventStream", 0)]);
+ t1._tryResume$0();
+ xhr.send();
+ return completer.future;
+},
+
+_convertNativeToDart_Window: function(win) {
+ if (win == null)
+ return;
+ return W._DOMWindowCrossFrame__createSafe(win);
+},
+
+_ChildrenElementList: {"": "ListBase;_element,_childElements",
+ get$length: function(_) {
+ return this._childElements.length;
+ },
+ $index: function(_, index) {
+ var t1 = this._childElements;
+ if (index >>> 0 !== index || index >= t1.length)
+ throw H.ioore(t1, index);
+ return t1[index];
+ },
+ $indexSet: function(_, index, value) {
+ var t1 = this._childElements;
+ if (index >>> 0 !== index || index >= t1.length)
+ throw H.ioore(t1, index);
+ this._element.replaceChild(value, t1[index]);
+ },
+ add$1: function(_, value) {
+ this._element.appendChild(value);
+ return value;
+ },
+ get$iterator: function(_) {
+ var t1 = this.toList$0(this);
+ return new H.ListIterator(t1, t1.length, 0, null);
+ },
+ $asList: function() {
+ return [W.Element];
+ }
+},
+
+Interceptor_ListMixin: {"": "Interceptor+ListMixin;", $isList: true, $asList: null},
+
+Interceptor_ListMixin_ImmutableListMixin: {"": "Interceptor_ListMixin+ImmutableListMixin;", $asList: null, $isList: true},
+
+HttpRequest_getString_closure: {"": "Closure;",
+ call$1: function(xhr) {
+ return J.get$responseText$x(xhr);
+ }
+},
+
+HttpRequest_request_closure1: {"": "Closure;xhr_0",
+ call$2: function(header, value) {
+ this.xhr_0.setRequestHeader(header, value);
+ }
+},
+
+HttpRequest_request_closure: {"": "Closure;completer_1,xhr_2",
+ call$1: function(e) {
+ var t1, t2, t3;
+ t1 = this.xhr_2;
+ t2 = t1.status;
+ if (t2 == null)
+ throw t2.$ge();
+ t2 = t2 >= 200 && t2 < 300 || t2 === 0 || t2 === 304;
+ t3 = this.completer_1;
+ if (t2) {
+ t2 = t3.future;
+ if (t2._state !== 0)
+ H.throwExpression(new P.StateError("Future already completed"));
+ t2._asyncComplete$1(t1);
+ } else {
+ t1 = t3.future;
+ if (t1._state !== 0)
+ H.throwExpression(new P.StateError("Future already completed"));
+ t1._asyncCompleteError$2(e, null);
+ }
+ }
+},
+
+HttpRequest_request_closure0: {"": "Closure;completer_3",
+ call$1: function(e) {
+ var t1 = this.completer_3.future;
+ if (t1._state !== 0)
+ H.throwExpression(new P.StateError("Future already completed"));
+ t1._asyncCompleteError$2(e, null);
+ }
+},
+
+_ChildNodeListLazy: {"": "ListBase;_this",
+ $indexSet: function(_, index, value) {
+ var t1, t2;
+ t1 = this._this;
+ t2 = t1.childNodes;
+ if (index >>> 0 !== index || index >= t2.length)
+ throw H.ioore(t2, index);
+ t1.replaceChild(value, t2[index]);
+ },
+ get$iterator: function(_) {
+ return C.NodeList_methods.get$iterator(this._this.childNodes);
+ },
+ get$length: function(_) {
+ return this._this.childNodes.length;
+ },
+ $index: function(_, index) {
+ var t1 = this._this.childNodes;
+ if (index >>> 0 !== index || index >= t1.length)
+ throw H.ioore(t1, index);
+ return t1[index];
+ },
+ $asList: function() {
+ return [W.Node];
+ }
+},
+
+Interceptor_ListMixin0: {"": "Interceptor+ListMixin;", $isList: true, $asList: null},
+
+Interceptor_ListMixin_ImmutableListMixin0: {"": "Interceptor_ListMixin0+ImmutableListMixin;", $asList: null, $isList: true},
+
+_EventStream: {"": "Stream;_target,_eventType,_useCapture",
+ listen$4$cancelOnError$onDone$onError: function(onData, cancelOnError, onDone, onError) {
+ var t1 = new W._EventStreamSubscription(0, this._target, this._eventType, W._EventStreamSubscription__wrapZone(onData), this._useCapture);
+ H.setRuntimeTypeInfo(t1, [H.getRuntimeTypeArgument(this, "_EventStream", 0)]);
+ t1._tryResume$0();
+ return t1;
+ },
+ listen$3$onDone$onError: function(onData, onDone, onError) {
+ return this.listen$4$cancelOnError$onDone$onError(onData, null, onDone, onError);
+ },
+ $asStream: null
+},
+
+_ElementEventStreamImpl: {"": "_EventStream;_target,_eventType,_useCapture", $as_EventStream: null},
+
+_EventStreamSubscription: {"": "StreamSubscription;_pauseCount,_target,_eventType,_onData,_useCapture",
+ cancel$0: function() {
+ if (this._target == null)
+ return;
+ this._unlisten$0();
+ this._target = null;
+ this._onData = null;
+ },
+ pause$1: function(_, resumeSignal) {
+ if (this._target == null)
+ return;
+ this._pauseCount = this._pauseCount + 1;
+ this._unlisten$0();
+ },
+ pause$0: function($receiver) {
+ return this.pause$1($receiver, null);
+ },
+ resume$0: function() {
+ if (this._target == null || this._pauseCount <= 0)
+ return;
+ this._pauseCount = this._pauseCount - 1;
+ this._tryResume$0();
+ },
+ _tryResume$0: function() {
+ var t1 = this._onData;
+ if (t1 != null && this._pauseCount <= 0)
+ J.$$dom_addEventListener$3$x(this._target, this._eventType, t1, this._useCapture);
+ },
+ _unlisten$0: function() {
+ var t1 = this._onData;
+ if (t1 != null)
+ J.$$dom_removeEventListener$3$x(this._target, this._eventType, t1, this._useCapture);
+ },
+ $asStreamSubscription: null,
+ static: {
+_EventStreamSubscription__wrapZone: function(callback) {
+ if (J.$eq($.Zone__current, C._CustomizedZone_WYN))
+ return callback;
+ return $.Zone__current.bindUnaryCallback$2$runGuarded(callback, true);
+}}
+
+},
+
+EventStreamProvider: {"": "Object;_eventType"},
+
+ImmutableListMixin: {"": "Object;",
+ get$iterator: function(receiver) {
+ return W.FixedSizeListIterator$(receiver);
+ },
+ $isList: true,
+ $asList: null
+},
+
+FixedSizeListIterator: {"": "Object;_array,_liblib2$_length,_liblib2$_position,_liblib2$_current",
+ moveNext$0: function() {
+ var nextPosition, t1;
+ nextPosition = this._liblib2$_position + 1;
+ t1 = this._liblib2$_length;
+ if (nextPosition < t1) {
+ this._liblib2$_current = J.$index$asx(this._array, nextPosition);
+ this._liblib2$_position = nextPosition;
+ return true;
+ }
+ this._liblib2$_current = null;
+ this._liblib2$_position = t1;
+ return false;
+ },
+ get$current: function() {
+ return this._liblib2$_current;
+ },
+ static: {
+FixedSizeListIterator$: function(array) {
+ return new W.FixedSizeListIterator(array, J.get$length$asx(array), -1, null);
+}}
+
+},
+
+_DOMWindowCrossFrame: {"": "Object;_window",
+ get$parent: function(_) {
+ return W._DOMWindowCrossFrame__createSafe(this._window.parent);
+ },
+ static: {
+_DOMWindowCrossFrame__createSafe: function(w) {
+ if (w === window)
+ return w;
+ else
+ return new W._DOMWindowCrossFrame(w);
+}}
+
+},
+
+HtmlElement: {"": "Element;"},
+
+AnchorElement: {"": "HtmlElement;",
+ toString$0: function(receiver) {
+ return receiver.toString();
+ }
+},
+
+CharacterData: {"": "Node;length="},
+
+DomException: {"": "Interceptor;",
+ toString$0: function(receiver) {
+ return receiver.toString();
+ }
+},
+
+Element: {"": "Node;",
+ get$children: function(receiver) {
+ return new W._ChildrenElementList(receiver, receiver.children);
+ },
+ toString$0: function(receiver) {
+ return receiver.localName;
+ },
+ $isElement: true
+},
+
+Event: {"": "Interceptor;"},
+
+EventTarget: {"": "Interceptor;",
+ $$dom_addEventListener$3: function(receiver, type, listener, useCapture) {
+ return receiver.addEventListener(type, H.convertDartClosureToJS(listener, 1), useCapture);
+ },
+ $$dom_removeEventListener$3: function(receiver, type, listener, useCapture) {
+ return receiver.removeEventListener(type, H.convertDartClosureToJS(listener, 1), useCapture);
+ }
+},
+
+FormElement: {"": "HtmlElement;length="},
+
+HtmlCollection: {"": "Interceptor_ListMixin_ImmutableListMixin;",
+ get$length: function(receiver) {
+ return receiver.length;
+ },
+ $index: function(receiver, index) {
+ var t1 = receiver.length;
+ if (index >>> 0 !== index || index >= t1)
+ throw H.wrapException(new P.RangeError("value " + H.S(index) + " not in range 0.." + t1));
+ return receiver[index];
+ },
+ $indexSet: function(receiver, index, value) {
+ throw H.wrapException(new P.UnsupportedError("Cannot assign element of immutable List."));
+ },
+ elementAt$1: function(receiver, index) {
+ if (index < 0 || index >= receiver.length)
+ throw H.ioore(receiver, index);
+ return receiver[index];
+ },
+ $asList: function() {
+ return [W.Node];
+ },
+ $isList: true,
+ $isJavaScriptIndexingBehavior: true
+},
+
+HttpRequest: {"": "XmlHttpRequestEventTarget;responseText=",
+ open$5$async$password$user: function(receiver, method, url, async, password, user) {
+ return receiver.open(method, url, async, user, password);
+ },
+ open$3$async: function($receiver, method, url, async) {
+ return $receiver.open(method, url, async);
+ },
+ $isHttpRequest: true
+},
+
+InputElement: {"": "HtmlElement;", $isElement: true, $isNode: true},
+
+MouseEvent: {"": "UIEvent;", $isMouseEvent: true},
+
+Node: {"": "EventTarget;parent:parentElement=",
+ replaceWith$1: function(receiver, otherNode) {
+ var $parent, exception;
+ try {
+ $parent = receiver.parentNode;
+ J._replaceChild$2$x($parent, otherNode, receiver);
+ } catch (exception) {
+ H.unwrapException(exception);
+ }
+
+ return receiver;
+ },
+ toString$0: function(receiver) {
+ var t1 = receiver.nodeValue;
+ return t1 == null ? J.Interceptor.prototype.toString$0.call(this, receiver) : t1;
+ },
+ _replaceChild$2: function(receiver, newChild, oldChild) {
+ return receiver.replaceChild(newChild, oldChild);
+ },
+ $isNode: true
+},
+
+NodeList: {"": "Interceptor_ListMixin_ImmutableListMixin0;",
+ get$length: function(receiver) {
+ return receiver.length;
+ },
+ $index: function(receiver, index) {
+ var t1 = receiver.length;
+ if (index >>> 0 !== index || index >= t1)
+ throw H.wrapException(new P.RangeError("value " + H.S(index) + " not in range 0.." + t1));
+ return receiver[index];
+ },
+ $indexSet: function(receiver, index, value) {
+ throw H.wrapException(new P.UnsupportedError("Cannot assign element of immutable List."));
+ },
+ elementAt$1: function(receiver, index) {
+ if (index < 0 || index >= receiver.length)
+ throw H.ioore(receiver, index);
+ return receiver[index];
+ },
+ $asList: function() {
+ return [W.Node];
+ },
+ $isList: true,
+ $isJavaScriptIndexingBehavior: true
+},
+
+ProgressEvent: {"": "Event;", $isProgressEvent: true},
+
+SelectElement: {"": "HtmlElement;length="},
+
+UIEvent: {"": "Event;"},
+
+Window: {"": "EventTarget;",
+ get$parent: function(receiver) {
+ return W._convertNativeToDart_Window(receiver.parent);
+ },
+ toString$0: function(receiver) {
+ return receiver.toString();
+ }
+},
+
+XmlHttpRequestEventTarget: {"": "EventTarget;"}}],
+["dart.dom.svg", "dart:svg", , P, {
+SvgElement: {"": "Element;",
+ get$children: function(receiver) {
+ var t1 = new P.FilteredElementList(receiver, new W._ChildNodeListLazy(receiver));
+ H.setRuntimeTypeInfo(t1, [W.Element]);
+ return t1;
+ }
+}}],
+["dart.isolate", "dart:isolate", , P, {
+_Isolate_port: function() {
+ if ($.lazyPort == null)
+ $.lazyPort = H.ReceivePortImpl$();
+ return $.lazyPort;
+},
+
+ReceivePort: {"": "Object;", $isReceivePort: true}}],
+["dart.json", "dart:json", , P, {
+parse: function(json, reviver) {
+ return P._parseJson(json, new P.JsonDecoder(reviver)._reviver);
+},
+
+parse_closure: {"": "Closure;original_0",
+ call$2: function(key, value) {
+ var t1 = key == null ? "" : key;
+ return this.original_0.call$2(t1, value);
+ }
+}}],
+["dart.typed_data", "dart:typed_data", , P, {
+TypedData_ListMixin: {"": "TypedData+ListMixin;", $isList: true, $asList: null},
+
+TypedData_ListMixin_FixedLengthListMixin: {"": "TypedData_ListMixin+FixedLengthListMixin;", $asList: null},
+
+TypedData: {"": "Interceptor;",
+ _invalidIndex$2: function(receiver, index, $length) {
+ var t1 = J.getInterceptor$n(index);
+ if (t1.$lt(index, 0) || t1.$ge(index, $length))
+ throw H.wrapException(new P.RangeError("value " + H.S(index) + " not in range 0.." + $length));
+ else
+ throw H.wrapException(new P.ArgumentError("Invalid list index " + H.S(index)));
+ }
+},
+
+Uint8List: {"": "TypedData_ListMixin_FixedLengthListMixin;",
+ get$length: function(receiver) {
+ return C.JS_CONST_ZYJ(receiver);
+ },
+ $index: function(receiver, index) {
+ var t1;
+ if (typeof index !== "number")
+ return this.$$index$bailout(1, receiver, index);
+ t1 = C.JS_CONST_ZYJ(receiver);
+ if (index >>> 0 != index || index >= t1)
+ this._invalidIndex$2(receiver, index, t1);
+ return receiver[index];
+ },
+ $$index$bailout: function(state0, receiver, index) {
+ var t1 = C.JS_CONST_ZYJ(receiver);
+ if (index >>> 0 != index || J.$ge$n(index, t1))
+ this._invalidIndex$2(receiver, index, t1);
+ return receiver[index];
+ },
+ $indexSet: function(receiver, index, value) {
+ var t1;
+ if (typeof index !== "number")
+ return this.$$indexSet$bailout(1, receiver, index, value);
+ t1 = C.JS_CONST_ZYJ(receiver);
+ if (index >>> 0 != index || index >= t1)
+ this._invalidIndex$2(receiver, index, t1);
+ receiver[index] = value;
+ },
+ $$indexSet$bailout: function(state0, receiver, index, value) {
+ var t1 = C.JS_CONST_ZYJ(receiver);
+ if (index >>> 0 != index || J.$ge$n(index, t1))
+ this._invalidIndex$2(receiver, index, t1);
+ receiver[index] = value;
+ },
+ $asList: function() {
+ return [J.JSInt];
+ },
+ $isList: true,
+ $isJavaScriptIndexingBehavior: true
+}}],
+["html_common", "dart:html_common", , P, {
+FilteredElementList: {"": "ListBase;_node,_childNodes",
+ get$_filtered: function() {
+ var t1 = this._childNodes;
+ return P.List_List$from(t1.where$1(t1, new P.FilteredElementList__filtered_closure()), true, W.Element);
+ },
+ forEach$1: function(_, f) {
+ H.IterableMixinWorkaround_forEach(this.get$_filtered(), f);
+ },
+ $indexSet: function(_, index, value) {
+ var t1 = this.get$_filtered();
+ if (index >>> 0 !== index || index >= t1.length)
+ throw H.ioore(t1, index);
+ J.replaceWith$1$x(t1[index], value);
+ },
+ add$1: function(_, value) {
+ this._childNodes._this.appendChild(value);
+ },
+ get$length: function(_) {
+ return this.get$_filtered().length;
+ },
+ $index: function(_, index) {
+ var t1 = this.get$_filtered();
+ if (index >>> 0 !== index || index >= t1.length)
+ throw H.ioore(t1, index);
+ return t1[index];
+ },
+ get$iterator: function(_) {
+ var t1 = this.get$_filtered();
+ return new H.ListIterator(t1, t1.length, 0, null);
+ },
+ $asListBase: null,
+ $asList: null
+},
+
+FilteredElementList__filtered_closure: {"": "Closure;",
+ call$1: function(n) {
+ var t1 = J.getInterceptor(n);
+ return typeof n === "object" && n !== null && !!t1.$isElement;
+ }
+}}],
+["portmanteaux_simple.dart", "portmanteaux_simple.dart", , O, {
+main: function() {
+ var t1, t2;
+ t1 = document.querySelector("#getWords");
+ t1.get$onClick;
+ t1 = new W._ElementEventStreamImpl(t1, C.EventStreamProvider_click._eventType, false);
+ H.setRuntimeTypeInfo(t1, [null]);
+ t2 = new W._EventStreamSubscription(0, t1._target, t1._eventType, W._EventStreamSubscription__wrapZone(O.makeRequest$closure), t1._useCapture);
+ H.setRuntimeTypeInfo(t2, [H.getRuntimeTypeArgument(t1, "_EventStream", 0)]);
+ t2._tryResume$0();
+ $.wordList = document.querySelector("#wordList");
+},
+
+makeRequest: function(e) {
+ W.HttpRequest_getString("portmanteaux_simple.json", null, null).then$1(O.processString$closure).catchError$1(O.handleError$closure);
+},
+
+processString: function(jsonString) {
+ var portmanteaux, i, t1, t2;
+ portmanteaux = P.parse(jsonString, null);
+ if (typeof portmanteaux !== "string" && (typeof portmanteaux !== "object" || portmanteaux === null || portmanteaux.constructor !== Array && !H.isJsIndexable(portmanteaux, portmanteaux[init.dispatchPropertyName])))
+ return O.processString$bailout(1, portmanteaux);
+ for (i = 0; i < portmanteaux.length; ++i) {
+ t1 = J.get$children$x($.wordList);
+ t2 = document.createElement("li", null);
+ if (i >= portmanteaux.length)
+ throw H.ioore(portmanteaux, i);
+ t2.textContent = portmanteaux[i];
+ t1.add$1(t1, t2);
+ }
+},
+
+processString$bailout: function(state0, portmanteaux) {
+ var t1, i, t2, t3;
+ t1 = J.getInterceptor$asx(portmanteaux);
+ i = 0;
+ while (true) {
+ t2 = t1.get$length(portmanteaux);
+ if (typeof t2 !== "number")
+ throw H.iae(t2);
+ if (!(i < t2))
+ break;
+ t2 = J.get$children$x($.wordList);
+ t3 = document.createElement("li", null);
+ t3.textContent = t1.$index(portmanteaux, i);
+ t2.add$1(t2, t3);
+ ++i;
+ }
+},
+
+handleError: function(error) {
+ var t1, t2;
+ t1 = J.get$children$x($.wordList);
+ t2 = document.createElement("li", null);
+ t2.textContent = "Request failed.";
+ t1.add$1(t1, t2);
+}},
+1],
+]);
+Isolate.$finishClasses($$, $, null);
+$$ = null;
+
+// Static function getters
+init.globalFunctions.IsolateNatives__processWorkerMessage$closure = H.IsolateNatives__processWorkerMessage$closure = new H.Closure$_processWorkerMessage(H.IsolateNatives__processWorkerMessage, "IsolateNatives__processWorkerMessage$closure");
+init.globalFunctions.toStringWrapper$closure = H.toStringWrapper$closure = new H.Closure$toStringWrapper(H.toStringWrapper, "toStringWrapper$closure");
+init.globalFunctions.invokeClosure$closure = H.invokeClosure$closure = new H.Closure$invokeClosure(H.invokeClosure, "invokeClosure$closure");
+init.globalFunctions.isAssignable$closure = H.isAssignable$closure = new H.Closure$isAssignable(H.isAssignable, "isAssignable$closure");
+init.globalFunctions.typeNameInChrome$closure = H.typeNameInChrome$closure = new H.Closure$typeNameInChrome(H.typeNameInChrome, "typeNameInChrome$closure");
+init.globalFunctions.typeNameInSafari$closure = H.typeNameInSafari$closure = new H.Closure$typeNameInSafari(H.typeNameInSafari, "typeNameInSafari$closure");
+init.globalFunctions.typeNameInOpera$closure = H.typeNameInOpera$closure = new H.Closure$typeNameInOpera(H.typeNameInOpera, "typeNameInOpera$closure");
+init.globalFunctions.typeNameInFirefox$closure = H.typeNameInFirefox$closure = new H.Closure$typeNameInFirefox(H.typeNameInFirefox, "typeNameInFirefox$closure");
+init.globalFunctions.typeNameInIE$closure = H.typeNameInIE$closure = new H.Closure$typeNameInIE(H.typeNameInIE, "typeNameInIE$closure");
+init.globalFunctions.constructorNameFallback$closure = H.constructorNameFallback$closure = new H.Closure$constructorNameFallback(H.constructorNameFallback, "constructorNameFallback$closure");
+init.globalFunctions.callDartFunctionWith1Arg$closure = H.callDartFunctionWith1Arg$closure = new H.Closure$callDartFunctionWith1Arg(H.callDartFunctionWith1Arg, "callDartFunctionWith1Arg$closure");
+init.globalFunctions._asyncRunCallback$closure = P._asyncRunCallback$closure = new P.Closure$_asyncRunCallback(P._asyncRunCallback, "_asyncRunCallback$closure");
+init.globalFunctions._nullDataHandler$closure = P._nullDataHandler$closure = new P.Closure$_nullDataHandler(P._nullDataHandler, "_nullDataHandler$closure");
+init.globalFunctions._nullErrorHandler$closure = P._nullErrorHandler$closure = new P.Closure$_nullErrorHandler(P._nullErrorHandler, "_nullErrorHandler$closure");
+init.globalFunctions._nullDoneHandler$closure = P._nullDoneHandler$closure = new P.Closure$_nullDoneHandler(P._nullDoneHandler, "_nullDoneHandler$closure");
+init.globalFunctions._rootHandleUncaughtError$closure = P._rootHandleUncaughtError$closure = new P.Closure$_rootHandleUncaughtError(P._rootHandleUncaughtError, "_rootHandleUncaughtError$closure");
+init.globalFunctions._rootRun$closure = P._rootRun$closure = new P.Closure$_rootRun(P._rootRun, "_rootRun$closure");
+init.globalFunctions._rootRunUnary$closure = P._rootRunUnary$closure = new P.Closure$_rootRunUnary(P._rootRunUnary, "_rootRunUnary$closure");
+init.globalFunctions._rootRegisterCallback$closure = P._rootRegisterCallback$closure = new P.Closure$_rootRegisterCallback(P._rootRegisterCallback, "_rootRegisterCallback$closure");
+init.globalFunctions._rootRegisterUnaryCallback$closure = P._rootRegisterUnaryCallback$closure = new P.Closure$_rootRegisterUnaryCallback(P._rootRegisterUnaryCallback, "_rootRegisterUnaryCallback$closure");
+init.globalFunctions._rootScheduleMicrotask$closure = P._rootScheduleMicrotask$closure = new P.Closure$_rootScheduleMicrotask(P._rootScheduleMicrotask, "_rootScheduleMicrotask$closure");
+init.globalFunctions._rootCreateTimer$closure = P._rootCreateTimer$closure = new P.Closure$_rootCreateTimer(P._rootCreateTimer, "_rootCreateTimer$closure");
+init.globalFunctions._rootCreatePeriodicTimer$closure = P._rootCreatePeriodicTimer$closure = new P.Closure$_rootCreatePeriodicTimer(P._rootCreatePeriodicTimer, "_rootCreatePeriodicTimer$closure");
+init.globalFunctions._rootFork$closure = P._rootFork$closure = new P.Closure$_rootFork(P._rootFork, "_rootFork$closure");
+init.globalFunctions._defaultEquals$closure = P._defaultEquals$closure = new P.Closure$_defaultEquals(P._defaultEquals, "_defaultEquals$closure");
+init.globalFunctions._defaultHashCode$closure = P._defaultHashCode$closure = new P.Closure$_defaultHashCode(P._defaultHashCode, "_defaultHashCode$closure");
+init.globalFunctions.identical$closure = P.identical$closure = new P.Closure$identical(P.identical, "identical$closure");
+init.globalFunctions.identityHashCode$closure = P.identityHashCode$closure = new P.Closure$identityHashCode(P.identityHashCode, "identityHashCode$closure");
+init.globalFunctions.main$closure = O.main$closure = new O.Closure$main(O.main, "main$closure");
+init.globalFunctions.makeRequest$closure = O.makeRequest$closure = new O.Closure$makeRequest(O.makeRequest, "makeRequest$closure");
+init.globalFunctions.processString$closure = O.processString$closure = new O.Closure$processString(O.processString, "processString$closure");
+init.globalFunctions.handleError$closure = O.handleError$closure = new O.Closure$handleError(O.handleError, "handleError$closure");
+// Runtime type support
+J.JSInt.$isint = true;
+J.JSInt.$isObject = true;
+W.Node.$isObject = true;
+J.JSString.$isString = true;
+J.JSString.$isObject = true;
+J.JSNumber.$isObject = true;
+P.Duration.$isDuration = true;
+P.Duration.$isObject = true;
+W.Element.$isObject = true;
+P.Object.$isObject = true;
+W.MouseEvent.$isEvent = true;
+W.MouseEvent.$isObject = true;
+P.Symbol.$isSymbol = true;
+P.Symbol.$isObject = true;
+W.ProgressEvent.$isEvent = true;
+W.ProgressEvent.$isObject = true;
+W.HttpRequest.$isObject = true;
+P.ReceivePort.$isObject = true;
+H._IsolateEvent.$isObject = true;
+H._IsolateContext.$isObject = true;
+J.JSArray.$isObject = true;
+P.Future.$isFuture = true;
+P.Future.$isObject = true;
+W.Event.$isEvent = true;
+W.Event.$isObject = true;
+P.Zone.$isZone = true;
+P.Zone.$isObject = true;
+P.ZoneDelegate.$isZoneDelegate = true;
+P.ZoneDelegate.$isObject = true;
+P.Timer.$isTimer = true;
+P.Timer.$isObject = true;
+P.ZoneSpecification.$isZoneSpecification = true;
+P.ZoneSpecification.$isObject = true;
+P.Map.$isMap = true;
+P.Map.$isObject = true;
+P.Function.$isFunction = true;
+P.Function.$isObject = true;
+J.JSBool.$isbool = true;
+J.JSBool.$isObject = true;
+P.Error.$isError = true;
+P.Error.$isObject = true;
+P.StackTrace.$isStackTrace = true;
+P.StackTrace.$isObject = true;
+P._EventSink.$is_EventSink = true;
+P._EventSink.$isObject = true;
+// getInterceptor methods
+J.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")
+ return receiver;
+ if (receiver instanceof P.Object)
+ return receiver;
+ return J.getNativeInterceptor(receiver);
+};
+J.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")
+ return receiver;
+ if (receiver instanceof P.Object)
+ return receiver;
+ return J.getNativeInterceptor(receiver);
+};
+J.getInterceptor$ax = function(receiver) {
+ if (receiver == null)
+ return receiver;
+ if (receiver.constructor == Array)
+ return J.JSArray.prototype;
+ if (typeof receiver != "object")
+ return receiver;
+ if (receiver instanceof P.Object)
+ return receiver;
+ return J.getNativeInterceptor(receiver);
+};
+J.getInterceptor$n = function(receiver) {
+ if (typeof receiver == "number")
+ return J.JSNumber.prototype;
+ if (receiver == null)
+ return receiver;
+ if (!(receiver instanceof P.Object))
+ return J.UnknownJavaScriptObject.prototype;
+ return receiver;
+};
+J.getInterceptor$s = function(receiver) {
+ if (typeof receiver == "string")
+ return J.JSString.prototype;
+ if (receiver == null)
+ return receiver;
+ if (!(receiver instanceof P.Object))
+ return J.UnknownJavaScriptObject.prototype;
+ return receiver;
+};
+J.getInterceptor$x = function(receiver) {
+ if (receiver == null)
+ return receiver;
+ if (typeof receiver != "object")
+ return receiver;
+ if (receiver instanceof P.Object)
+ return receiver;
+ return J.getNativeInterceptor(receiver);
+};
+C.C_CloseToken = new H.CloseToken();
+C.C_JsonCodec = new P.JsonCodec();
+C.C_UnknownJavaScriptObject = new J.UnknownJavaScriptObject();
+C.C__DelayedDone = new P._DelayedDone();
+C.Duration_0 = new P.Duration(0);
+C.EventStreamProvider_click = new W.EventStreamProvider("click");
+C.EventStreamProvider_error = new W.EventStreamProvider("error");
+C.EventStreamProvider_load = new W.EventStreamProvider("load");
+C.EventStreamProvider_progress = new W.EventStreamProvider("progress");
+C.HttpRequest_methods = W.HttpRequest.prototype;
+C.JSArray_methods = J.JSArray.prototype;
+C.JSInt_methods = J.JSInt.prototype;
+C.JSNumber_methods = J.JSNumber.prototype;
+C.JSString_methods = J.JSString.prototype;
+C.JS_CONST_ZYJ = ((typeof version == "function" && typeof os == "object" && "system" in os)
+ || (typeof navigator == "object"
+ && navigator.userAgent.indexOf('Chrome') != -1))
+ ? function(x) { return x.$dartCachedLength || x.length; }
+ : function(x) { return x.length; };
+;
+Isolate.makeConstantList = function(list) {
+ list.immutable$list = true;
+ list.fixed$length = true;
+ return list;
+};
+C.List_empty = Isolate.makeConstantList([]);
+C.List_empty0 = H.setRuntimeTypeInfo(Isolate.makeConstantList([]), [J.JSString]);
+C.Map_empty = H.setRuntimeTypeInfo(new H.ConstantStringMap(0, {}, C.List_empty0), [P.Symbol, null]);
+C.NodeList_methods = W.NodeList.prototype;
+C._ZoneSpecification_eDx = new P._ZoneSpecification(P._rootHandleUncaughtError$closure, P._rootRun$closure, P._rootRunUnary$closure, P._rootRegisterCallback$closure, P._rootRegisterUnaryCallback$closure, P._rootScheduleMicrotask$closure, P._rootCreateTimer$closure, P._rootCreatePeriodicTimer$closure, P._rootFork$closure);
+C._CustomizedZone_WYN = new P._CustomizedZone(null, C._ZoneSpecification_eDx, C.Map_empty);
+C._ZoneSpecification_eLJ = new P._ZoneSpecification(null, null, null, null, null, null, null, null, null);
+$.lazyPort = null;
+$.ReceivePortImpl__nextFreeId = 1;
+$.Primitives_mirrorFunctionCacheName = "$cachedFunction";
+$.Primitives_mirrorInvokeCacheName = "$cachedInvocation";
+$.interceptorsByTag = null;
+$.leafTags = null;
+$.interceptorToTag = null;
+$._callbacksAreEnqueued = false;
+$.Zone__current = C._CustomizedZone_WYN;
+$.Expando__keyCount = 0;
+$.wordList = null;
+J.$$dom_addEventListener$3$x = function(receiver, a0, a1, a2) {
+ return J.getInterceptor$x(receiver).$$dom_addEventListener$3(receiver, a0, a1, a2);
+};
+J.$$dom_removeEventListener$3$x = function(receiver, a0, a1, a2) {
+ return J.getInterceptor$x(receiver).$$dom_removeEventListener$3(receiver, a0, a1, a2);
+};
+J.$eq = function(receiver, a0) {
+ if (receiver == null)
+ return a0 == null;
+ if (typeof receiver != "object")
+ return a0 != null && receiver === a0;
+ return J.getInterceptor(receiver).$eq(receiver, a0);
+};
+J.$ge$n = function(receiver, a0) {
+ if (typeof receiver == "number" && typeof a0 == "number")
+ return receiver >= a0;
+ return J.getInterceptor$n(receiver).$ge(receiver, a0);
+};
+J.$index$asx = function(receiver, a0) {
+ if (receiver.constructor == Array || typeof receiver == "string" || H.isJsIndexable(receiver, receiver[init.dispatchPropertyName]))
+ if (a0 >>> 0 === a0 && a0 < receiver.length)
+ return receiver[a0];
+ return J.getInterceptor$asx(receiver).$index(receiver, a0);
+};
+J.$indexSet$ax = function(receiver, a0, a1) {
+ if ((receiver.constructor == Array || H.isJsIndexable(receiver, receiver[init.dispatchPropertyName])) && !receiver.immutable$list && a0 >>> 0 === a0 && a0 < receiver.length)
+ return receiver[a0] = a1;
+ return J.getInterceptor$ax(receiver).$indexSet(receiver, a0, a1);
+};
+J._replaceChild$2$x = function(receiver, a0, a1) {
+ return J.getInterceptor$x(receiver)._replaceChild$2(receiver, a0, a1);
+};
+J.elementAt$1$ax = function(receiver, a0) {
+ return J.getInterceptor$ax(receiver).elementAt$1(receiver, a0);
+};
+J.forEach$1$ax = function(receiver, a0) {
+ return J.getInterceptor$ax(receiver).forEach$1(receiver, a0);
+};
+J.get$children$x = function(receiver) {
+ return J.getInterceptor$x(receiver).get$children(receiver);
+};
+J.get$hashCode$ = function(receiver) {
+ return J.getInterceptor(receiver).get$hashCode(receiver);
+};
+J.get$iterator$ax = function(receiver) {
+ return J.getInterceptor$ax(receiver).get$iterator(receiver);
+};
+J.get$length$asx = function(receiver) {
+ return J.getInterceptor$asx(receiver).get$length(receiver);
+};
+J.get$responseText$x = function(receiver) {
+ return J.getInterceptor$x(receiver).get$responseText(receiver);
+};
+J.map$1$ax = function(receiver, a0) {
+ return J.getInterceptor$ax(receiver).map$1(receiver, a0);
+};
+J.replaceWith$1$x = function(receiver, a0) {
+ return J.getInterceptor$x(receiver).replaceWith$1(receiver, a0);
+};
+J.send$2$x = function(receiver, a0, a1) {
+ return J.getInterceptor$x(receiver).send$2(receiver, a0, a1);
+};
+J.toString$0 = function(receiver) {
+ return J.getInterceptor(receiver).toString$0(receiver);
+};
+$.mapTypeToInterceptor = [];
+Isolate.$lazy($, "globalThis", "globalThis", "get$globalThis", function() {
+ return function() { return this; }();
+});
+Isolate.$lazy($, "globalWindow", "globalWindow", "get$globalWindow", function() {
+ return $.get$globalThis().window;
+});
+Isolate.$lazy($, "globalWorker", "globalWorker", "get$globalWorker", function() {
+ return $.get$globalThis().Worker;
+});
+Isolate.$lazy($, "globalPostMessageDefined", "globalPostMessageDefined", "get$globalPostMessageDefined", function() {
+ return $.get$globalThis().postMessage !== void 0;
+});
+Isolate.$lazy($, "thisScript", "IsolateNatives_thisScript", "get$IsolateNatives_thisScript", function() {
+ return H.IsolateNatives_computeThisScript();
+});
+Isolate.$lazy($, "workerIds", "IsolateNatives_workerIds", "get$IsolateNatives_workerIds", function() {
+ return new P.Expando(null);
+});
+Isolate.$lazy($, "noSuchMethodPattern", "TypeErrorDecoder_noSuchMethodPattern", "get$TypeErrorDecoder_noSuchMethodPattern", function() {
+ return H.TypeErrorDecoder_extractPattern(H.TypeErrorDecoder_provokeCallErrorOn({ toString: function() { return "$receiver$"; } }));
+});
+Isolate.$lazy($, "notClosurePattern", "TypeErrorDecoder_notClosurePattern", "get$TypeErrorDecoder_notClosurePattern", function() {
+ return H.TypeErrorDecoder_extractPattern(H.TypeErrorDecoder_provokeCallErrorOn({ $method$: null, toString: function() { return "$receiver$"; } }));
+});
+Isolate.$lazy($, "nullCallPattern", "TypeErrorDecoder_nullCallPattern", "get$TypeErrorDecoder_nullCallPattern", function() {
+ return H.TypeErrorDecoder_extractPattern(H.TypeErrorDecoder_provokeCallErrorOn(null));
+});
+Isolate.$lazy($, "nullLiteralCallPattern", "TypeErrorDecoder_nullLiteralCallPattern", "get$TypeErrorDecoder_nullLiteralCallPattern", function() {
+ return H.TypeErrorDecoder_extractPattern(H.TypeErrorDecoder_provokeCallErrorOnNull());
+});
+Isolate.$lazy($, "undefinedCallPattern", "TypeErrorDecoder_undefinedCallPattern", "get$TypeErrorDecoder_undefinedCallPattern", function() {
+ return H.TypeErrorDecoder_extractPattern(H.TypeErrorDecoder_provokeCallErrorOn(void 0));
+});
+Isolate.$lazy($, "undefinedLiteralCallPattern", "TypeErrorDecoder_undefinedLiteralCallPattern", "get$TypeErrorDecoder_undefinedLiteralCallPattern", function() {
+ return H.TypeErrorDecoder_extractPattern(H.TypeErrorDecoder_provokeCallErrorOnUndefined());
+});
+Isolate.$lazy($, "nullPropertyPattern", "TypeErrorDecoder_nullPropertyPattern", "get$TypeErrorDecoder_nullPropertyPattern", function() {
+ return H.TypeErrorDecoder_extractPattern(H.TypeErrorDecoder_provokePropertyErrorOn(null));
+});
+Isolate.$lazy($, "nullLiteralPropertyPattern", "TypeErrorDecoder_nullLiteralPropertyPattern", "get$TypeErrorDecoder_nullLiteralPropertyPattern", function() {
+ return H.TypeErrorDecoder_extractPattern(H.TypeErrorDecoder_provokePropertyErrorOnNull());
+});
+Isolate.$lazy($, "undefinedPropertyPattern", "TypeErrorDecoder_undefinedPropertyPattern", "get$TypeErrorDecoder_undefinedPropertyPattern", function() {
+ return H.TypeErrorDecoder_extractPattern(H.TypeErrorDecoder_provokePropertyErrorOn(void 0));
+});
+Isolate.$lazy($, "undefinedLiteralPropertyPattern", "TypeErrorDecoder_undefinedLiteralPropertyPattern", "get$TypeErrorDecoder_undefinedLiteralPropertyPattern", function() {
+ return H.TypeErrorDecoder_extractPattern(H.TypeErrorDecoder_provokePropertyErrorOnUndefined());
+});
+Isolate.$lazy($, "getTypeNameOf", "getTypeNameOf", "get$getTypeNameOf", function() {
+ return H.getFunctionForTypeNameOf();
+});
+Isolate.$lazy($, "_toStringList", "IterableMixinWorkaround__toStringList", "get$IterableMixinWorkaround__toStringList", function() {
+ return P.List_List(null, null);
+});
+Isolate.$lazy($, "_stackTraceExpando", "_stackTraceExpando", "get$_stackTraceExpando", function() {
+ return new P.Expando("asynchronous error");
+});
+Isolate.$lazy($, "_asyncCallbacks", "_asyncCallbacks", "get$_asyncCallbacks", function() {
+ return P.ListQueue$(null, {func: "void_", void: true});
+});
+Isolate.$lazy($, "_toStringList", "ListMixin__toStringList", "get$ListMixin__toStringList", function() {
+ return P.List_List(null, null);
+});
+Isolate.$lazy($, "_toStringList", "Maps__toStringList", "get$Maps__toStringList", function() {
+ return P.List_List(null, null);
+});
+// Native classes
+H.defineNativeMethods("DOMError|FileError|MediaError|MediaKeyError|Navigator|NavigatorUserMediaError|PositionError|SQLError|SVGAnimatedNumberList", J.Interceptor);
+
+H.defineNativeMethods("HTMLAppletElement|HTMLAreaElement|HTMLAudioElement|HTMLBRElement|HTMLBaseElement|HTMLBaseFontElement|HTMLBodyElement|HTMLButtonElement|HTMLCanvasElement|HTMLContentElement|HTMLDListElement|HTMLDataListElement|HTMLDetailsElement|HTMLDialogElement|HTMLDirectoryElement|HTMLDivElement|HTMLEmbedElement|HTMLFieldSetElement|HTMLFontElement|HTMLFrameElement|HTMLFrameSetElement|HTMLHRElement|HTMLHeadElement|HTMLHeadingElement|HTMLHtmlElement|HTMLIFrameElement|HTMLImageElement|HTMLKeygenElement|HTMLLIElement|HTMLLabelElement|HTMLLegendElement|HTMLLinkElement|HTMLMapElement|HTMLMarqueeElement|HTMLMediaElement|HTMLMenuElement|HTMLMetaElement|HTMLMeterElement|HTMLModElement|HTMLOListElement|HTMLObjectElement|HTMLOptGroupElement|HTMLOptionElement|HTMLOutputElement|HTMLParagraphElement|HTMLParamElement|HTMLPreElement|HTMLProgressElement|HTMLQuoteElement|HTMLScriptElement|HTMLShadowElement|HTMLSourceElement|HTMLSpanElement|HTMLStyleElement|HTMLTableCaptionElement|HTMLTableCellElement|HTMLTableColElement|HTMLTableDataCellElement|HTMLTableElement|HTMLTableHeaderCellElement|HTMLTableRowElement|HTMLTableSectionElement|HTMLTemplateElement|HTMLTextAreaElement|HTMLTitleElement|HTMLTrackElement|HTMLUListElement|HTMLUnknownElement|HTMLVideoElement", W.HtmlElement);
+
+H.defineNativeMethodsNonleaf("HTMLElement", W.HtmlElement);
+
+H.defineNativeMethods("HTMLAnchorElement", W.AnchorElement);
+
+H.defineNativeMethods("CDATASection|CharacterData|Comment|ProcessingInstruction|Text", W.CharacterData);
+
+H.defineNativeMethods("DOMException", W.DomException);
+
+H.defineNativeMethodsNonleaf("Element", W.Element);
+
+H.defineNativeMethods("AudioProcessingEvent|AutocompleteErrorEvent|BeforeLoadEvent|CSSFontFaceLoadEvent|CloseEvent|CustomEvent|DeviceMotionEvent|DeviceOrientationEvent|ErrorEvent|HashChangeEvent|IDBVersionChangeEvent|MIDIConnectionEvent|MIDIMessageEvent|MediaKeyEvent|MediaKeyMessageEvent|MediaKeyNeededEvent|MediaStreamEvent|MediaStreamTrackEvent|MessageEvent|MutationEvent|OfflineAudioCompletionEvent|OverflowEvent|PageTransitionEvent|PopStateEvent|RTCDTMFToneChangeEvent|RTCDataChannelEvent|RTCIceCandidateEvent|SecurityPolicyViolationEvent|SpeechInputEvent|SpeechRecognitionError|SpeechRecognitionEvent|SpeechSynthesisEvent|StorageEvent|TrackEvent|TransitionEvent|WebGLContextEvent|WebKitAnimationEvent|WebKitTransitionEvent", W.Event);
+
+H.defineNativeMethodsNonleaf("Event", W.Event);
+
+H.defineNativeMethodsNonleaf("EventTarget", W.EventTarget);
+
+H.defineNativeMethods("HTMLFormElement", W.FormElement);
+
+H.defineNativeMethods("HTMLCollection|HTMLFormControlsCollection|HTMLOptionsCollection", W.HtmlCollection);
+
+H.defineNativeMethods("XMLHttpRequest", W.HttpRequest);
+
+H.defineNativeMethods("HTMLInputElement", W.InputElement);
+
+H.defineNativeMethods("DragEvent|MSPointerEvent|MouseEvent|MouseScrollEvent|MouseWheelEvent|PointerEvent|WheelEvent", W.MouseEvent);
+
+H.defineNativeMethods("Attr|Document|DocumentFragment|DocumentType|Entity|HTMLDocument|Notation|SVGDocument|ShadowRoot", W.Node);
+
+H.defineNativeMethodsNonleaf("Node", W.Node);
+
+H.defineNativeMethods("NodeList|RadioNodeList", W.NodeList);
+
+H.defineNativeMethods("ProgressEvent|ResourceProgressEvent|XMLHttpRequestProgressEvent", W.ProgressEvent);
+
+H.defineNativeMethods("HTMLSelectElement", W.SelectElement);
+
+H.defineNativeMethods("CompositionEvent|FocusEvent|KeyboardEvent|SVGZoomEvent|TextEvent|TouchEvent", W.UIEvent);
+
+H.defineNativeMethodsNonleaf("UIEvent", W.UIEvent);
+
+H.defineNativeMethods("DOMWindow|Window", W.Window);
+
+H.defineNativeMethodsNonleaf("XMLHttpRequestEventTarget", W.XmlHttpRequestEventTarget);
+
+H.defineNativeMethods("SVGAElement|SVGAltGlyphDefElement|SVGAltGlyphElement|SVGAltGlyphItemElement|SVGAnimateColorElement|SVGAnimateElement|SVGAnimateMotionElement|SVGAnimateTransformElement|SVGAnimationElement|SVGCircleElement|SVGClipPathElement|SVGComponentTransferFunctionElement|SVGCursorElement|SVGDefsElement|SVGDescElement|SVGElement|SVGEllipseElement|SVGFEBlendElement|SVGFEColorMatrixElement|SVGFEComponentTransferElement|SVGFECompositeElement|SVGFEConvolveMatrixElement|SVGFEDiffuseLightingElement|SVGFEDisplacementMapElement|SVGFEDistantLightElement|SVGFEDropShadowElement|SVGFEFloodElement|SVGFEFuncAElement|SVGFEFuncBElement|SVGFEFuncGElement|SVGFEFuncRElement|SVGFEGaussianBlurElement|SVGFEImageElement|SVGFEMergeElement|SVGFEMergeNodeElement|SVGFEMorphologyElement|SVGFEOffsetElement|SVGFEPointLightElement|SVGFESpecularLightingElement|SVGFESpotLightElement|SVGFETileElement|SVGFETurbulenceElement|SVGFilterElement|SVGFontElement|SVGFontFaceElement|SVGFontFaceFormatElement|SVGFontFaceNameElement|SVGFontFaceSrcElement|SVGFontFaceUriElement|SVGForeignObjectElement|SVGGElement|SVGGlyphElement|SVGGlyphRefElement|SVGGradientElement|SVGGraphicsElement|SVGHKernElement|SVGImageElement|SVGLineElement|SVGLinearGradientElement|SVGMPathElement|SVGMarkerElement|SVGMaskElement|SVGMetadataElement|SVGMissingGlyphElement|SVGPathElement|SVGPatternElement|SVGPolygonElement|SVGPolylineElement|SVGRadialGradientElement|SVGRectElement|SVGSVGElement|SVGScriptElement|SVGSetElement|SVGStopElement|SVGStyleElement|SVGSwitchElement|SVGSymbolElement|SVGTRefElement|SVGTSpanElement|SVGTextContentElement|SVGTextElement|SVGTextPathElement|SVGTextPositioningElement|SVGTitleElement|SVGUseElement|SVGVKernElement|SVGViewElement", P.SvgElement);
+
+H.defineNativeMethodsExtended("ArrayBufferView", P.TypedData, [P.TypedData_ListMixin, P.TypedData_ListMixin_FixedLengthListMixin]);
+
+H.defineNativeMethodsNonleaf("Uint8Array", P.Uint8List);
+
+
+init.functionAliases = {};
+;
+init.metadata = [];
+$ = null;
+Isolate = Isolate.$finishIsolateConstructor(Isolate);
+$ = new Isolate();
+function convertToFastObject(properties) {
+ function MyClass() {};
+ MyClass.prototype = properties;
+ new MyClass();
+ return properties;
+}
+A = convertToFastObject(A);
+B = convertToFastObject(B);
+C = convertToFastObject(C);
+D = convertToFastObject(D);
+E = convertToFastObject(E);
+F = convertToFastObject(F);
+G = convertToFastObject(G);
+H = convertToFastObject(H);
+J = convertToFastObject(J);
+K = convertToFastObject(K);
+L = convertToFastObject(L);
+M = convertToFastObject(M);
+N = convertToFastObject(N);
+O = convertToFastObject(O);
+P = convertToFastObject(P);
+Q = convertToFastObject(Q);
+R = convertToFastObject(R);
+S = convertToFastObject(S);
+T = convertToFastObject(T);
+U = convertToFastObject(U);
+V = convertToFastObject(V);
+W = convertToFastObject(W);
+X = convertToFastObject(X);
+Y = convertToFastObject(Y);
+Z = convertToFastObject(Z);
+!function() {
+ var objectProto = Object.prototype;
+ for (var i = 0;; i++) {
+ var property = "___dart_dispatch_record_ZxYxX_0_";
+ if (i > 0)
+ property = rootProperty + "_" + i;
+ if (!(property in objectProto))
+ return init.dispatchPropertyName = property;
+ }
+}();
+// BEGIN invoke [main].
+;(function (callback) {
+ if (typeof document === "undefined") {
+ callback(null);
+ return;
+ }
+ if (document.currentScript) {
+ callback(document.currentScript);
+ return;
+ }
+
+ var scripts = document.scripts;
+ function onLoad(event) {
+ for (var i = 0; i < scripts.length; ++i) {
+ scripts[i].removeEventListener("load", onLoad, false);
+ }
+ callback(event.target);
+ }
+ for (var i = 0; i < scripts.length; ++i) {
+ scripts[i].addEventListener("load", onLoad, false);
+ }
+})(function(currentScript) {
+ init.currentScript = currentScript;
+
+ if (typeof dartMainRunner === "function") {
+ dartMainRunner(function() { H.startRootIsolate(O.main$closure); });
+ } else {
+ H.startRootIsolate(O.main$closure);
+ }
+});
+// END invoke [main].
+function init() {
+ Isolate.$isolateProperties = {};
+ function generateAccessor(field, accessors, cls) {
+ var len = field.length;
+ var code = field.charCodeAt(len - 1);
+ var reflectable = false;
+ if (code == 45) {
+ len--;
+ code = field.charCodeAt(len - 1);
+ field = field.substring(0, len);
+ reflectable = true;
+ }
+ code = code >= 60 && code <= 64 ? code - 59 : code >= 123 && code <= 126 ? code - 117 : code >= 37 && code <= 43 ? code - 27 : 0;
+ if (code) {
+ var getterCode = code & 3;
+ var setterCode = code >> 2;
+ var accessorName = field = field.substring(0, len - 1);
+ var divider = field.indexOf(":");
+ if (divider > 0) {
+ accessorName = field.substring(0, divider);
+ field = field.substring(divider + 1);
+ }
+ if (getterCode) {
+ var args = getterCode & 2 ? "receiver" : "";
+ var receiver = getterCode & 1 ? "this" : "receiver";
+ var body = "return " + receiver + "." + field;
+ var property = cls + ".prototype.get$" + accessorName + "=";
+ var fn = "function(" + args + "){" + body + "}";
+ if (reflectable)
+ accessors.push(property + "$reflectable(" + fn + ");\n");
+ else
+ accessors.push(property + fn + ";\n");
+ }
+ if (setterCode) {
+ var args = setterCode & 2 ? "receiver, value" : "value";
+ var receiver = setterCode & 1 ? "this" : "receiver";
+ var body = receiver + "." + field + " = value";
+ var property = cls + ".prototype.set$" + accessorName + "=";
+ var fn = "function(" + args + "){" + body + "}";
+ if (reflectable)
+ accessors.push(property + "$reflectable(" + fn + ");\n");
+ else
+ accessors.push(property + fn + ";\n");
+ }
+ }
+ return field;
+ }
+ Isolate.$isolateProperties.$generateAccessor = generateAccessor;
+ function defineClass(name, cls, fields) {
+ var accessors = [];
+ var str = "function " + cls + "(";
+ var body = "";
+ for (var i = 0; i < fields.length; i++) {
+ if (i != 0)
+ str += ", ";
+ var field = generateAccessor(fields[i], accessors, cls);
+ var parameter = "parameter_" + field;
+ str += parameter;
+ body += "this." + field + " = " + parameter + ";\n";
+ }
+ str += ") {\n" + body + "}\n";
+ str += cls + ".builtin$cls=\"" + name + "\";\n";
+ str += "$desc=$collectedClasses." + cls + ";\n";
+ str += "if($desc instanceof Array) $desc = $desc[1];\n";
+ str += cls + ".prototype = $desc;\n";
+ if (typeof defineClass.name != "string") {
+ str += cls + ".name=\"" + cls + "\";\n";
+ }
+ str += accessors.join("");
+ return str;
+ }
+ var inheritFrom = function() {
+ function tmp() {
+ }
+ var hasOwnProperty = Object.prototype.hasOwnProperty;
+ return function(constructor, superConstructor) {
+ tmp.prototype = superConstructor.prototype;
+ var object = new tmp();
+ var properties = constructor.prototype;
+ for (var member in properties)
+ if (hasOwnProperty.call(properties, member))
+ object[member] = properties[member];
+ object.constructor = constructor;
+ constructor.prototype = object;
+ return object;
+ };
+ }();
+ Isolate.$finishClasses = function(collectedClasses, isolateProperties, existingIsolateProperties) {
+ var pendingClasses = {};
+ if (!init.allClasses)
+ init.allClasses = {};
+ var allClasses = init.allClasses;
+ var hasOwnProperty = Object.prototype.hasOwnProperty;
+ if (typeof dart_precompiled == "function") {
+ var constructors = dart_precompiled(collectedClasses);
+ } else {
+ var combinedConstructorFunction = "function $reflectable(fn){fn.$reflectable=1;return fn};\n" + "var $desc;\n";
+ var constructorsList = [];
+ }
+ for (var cls in collectedClasses) {
+ if (hasOwnProperty.call(collectedClasses, cls)) {
+ var desc = collectedClasses[cls];
+ if (desc instanceof Array)
+ desc = desc[1];
+ var classData = desc[""], supr, name = cls, fields = classData;
+ if (typeof classData == "string") {
+ var split = classData.split("/");
+ if (split.length == 2) {
+ name = split[0];
+ fields = split[1];
+ }
+ }
+ var s = fields.split(";");
+ fields = s[1] == "" ? [] : s[1].split(",");
+ supr = s[0];
+ if (supr && supr.indexOf("+") > 0) {
+ s = supr.split("+");
+ supr = s[0];
+ var mixin = collectedClasses[s[1]];
+ if (mixin instanceof Array)
+ mixin = mixin[1];
+ for (var d in mixin) {
+ if (hasOwnProperty.call(mixin, d) && !hasOwnProperty.call(desc, d))
+ desc[d] = mixin[d];
+ }
+ }
+ if (typeof dart_precompiled != "function") {
+ combinedConstructorFunction += defineClass(name, cls, fields);
+ constructorsList.push(cls);
+ }
+ if (supr)
+ pendingClasses[cls] = supr;
+ }
+ }
+ if (typeof dart_precompiled != "function") {
+ combinedConstructorFunction += "return [\n " + constructorsList.join(",\n ") + "\n]";
+ var constructors = new Function("$collectedClasses", combinedConstructorFunction)(collectedClasses);
+ combinedConstructorFunction = null;
+ }
+ for (var i = 0; i < constructors.length; i++) {
+ var constructor = constructors[i];
+ var cls = constructor.name;
+ var desc = collectedClasses[cls];
+ var globalObject = isolateProperties;
+ if (desc instanceof Array) {
+ globalObject = desc[0] || isolateProperties;
+ desc = desc[1];
+ }
+ allClasses[cls] = constructor;
+ globalObject[cls] = constructor;
+ }
+ constructors = null;
+ var finishedClasses = {};
+ function finishClass(cls) {
+ var hasOwnProperty = Object.prototype.hasOwnProperty;
+ if (hasOwnProperty.call(finishedClasses, cls))
+ return;
+ finishedClasses[cls] = true;
+ var superclass = pendingClasses[cls];
+ if (!superclass || typeof superclass != "string")
+ return;
+ finishClass(superclass);
+ var constructor = allClasses[cls];
+ var superConstructor = allClasses[superclass];
+ if (!superConstructor)
+ superConstructor = existingIsolateProperties[superclass];
+ prototype = inheritFrom(constructor, superConstructor);
+ }
+ for (var cls in pendingClasses)
+ finishClass(cls);
+ };
+ Isolate.$lazy = function(prototype, staticName, fieldName, getterName, lazyValue) {
+ var sentinelUndefined = {};
+ var sentinelInProgress = {};
+ prototype[fieldName] = sentinelUndefined;
+ prototype[getterName] = function() {
+ var result = $[fieldName];
+ try {
+ if (result === sentinelUndefined) {
+ $[fieldName] = sentinelInProgress;
+ try {
+ result = $[fieldName] = lazyValue();
+ } finally {
+ if (result === sentinelUndefined) {
+ if ($[fieldName] === sentinelInProgress) {
+ $[fieldName] = null;
+ }
+ }
+ }
+ } else {
+ if (result === sentinelInProgress)
+ H.throwCyclicInit(staticName);
+ }
+ return result;
+ } finally {
+ $[getterName] = function() {
+ return this[fieldName];
+ };
+ }
+ };
+ };
+ Isolate.$finishIsolateConstructor = function(oldIsolate) {
+ var isolateProperties = oldIsolate.$isolateProperties;
+ function Isolate() {
+ var hasOwnProperty = Object.prototype.hasOwnProperty;
+ for (var staticName in isolateProperties)
+ if (hasOwnProperty.call(isolateProperties, staticName))
+ this[staticName] = isolateProperties[staticName];
+ function ForceEfficientMap() {
+ }
+ ForceEfficientMap.prototype = this;
+ new ForceEfficientMap();
+ }
+ Isolate.prototype = oldIsolate.prototype;
+ Isolate.prototype.constructor = Isolate;
+ Isolate.$isolateProperties = isolateProperties;
+ Isolate.$finishClasses = oldIsolate.$finishClasses;
+ Isolate.makeConstantList = oldIsolate.makeConstantList;
+ return Isolate;
+ };
+}
+})()
+
+//# sourceMappingURL=portmanteaux_simple.dart.js.map
+//@ sourceMappingURL=portmanteaux_simple.dart.js.map

Powered by Google App Engine
This is Rietveld 408576698