| // 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 Isolate() {} |
| init(); |
| |
| var $ = Isolate.$isolateProperties; |
| var $$ = {}; |
| |
| // Classes |
| $$.ListIterable = {"": "IterableBase;", |
| get$iterator: function(_) { |
| return $.ListIterator$(this); |
| }, |
| forEach$1: function(_, action) { |
| var $length, i; |
| $length = this.get$length(this); |
| if (typeof $length !== "number") |
| return this.forEach$1$bailout1(1, action, $length); |
| for (i = 0; i < $length; ++i) { |
| action.call$1(this.elementAt$1(this, i)); |
| if ($length !== this.get$length(this)) |
| throw $.wrapException($.ConcurrentModificationError$(this)); |
| } |
| }, |
| forEach$1$bailout1: function(state0, action, $length) { |
| var t1, i; |
| for (t1 = $.getInterceptor($length), i = 0; $.JSNumber_methods.$lt(i, $length); ++i) { |
| action.call$1(this.elementAt$1(this, i)); |
| if (t1.$eq($length, this.get$length(this)) !== true) |
| throw $.wrapException($.ConcurrentModificationError$(this)); |
| } |
| }, |
| get$isEmpty: function(_) { |
| return $.$eq(this.get$length(this), 0); |
| }, |
| skip$1: function(_, count) { |
| return $.SubListIterable$(this, count, null); |
| }, |
| toList$1$growable: function(_, growable) { |
| var result, i, t1; |
| if (growable === true) { |
| result = $.List_List($); |
| $.JSArray_methods.set$length(result, this.get$length(this)); |
| } else |
| result = $.List_List(this.get$length(this)); |
| for (i = 0; $.JSNumber_methods.$lt(i, this.get$length(this)); ++i) { |
| t1 = this.elementAt$1(this, i); |
| if (i >= result.length) |
| throw $.ioore(i); |
| result[i] = t1; |
| } |
| return result; |
| }, |
| toList$0: function($receiver) { |
| return this.toList$1$growable($receiver, true); |
| }, |
| $asIterable: function() { |
| return null; |
| } |
| }; |
| |
| $$.SubListIterable = {"": "ListIterable;_iterable,_start,_endOrLength", |
| get$_endIndex: function() { |
| var $length, t1; |
| $length = $.get$length$asx(this._iterable); |
| t1 = this._endOrLength; |
| if (t1 == null || $.JSNull_methods.$gt(t1, $length)) |
| return $length; |
| return t1; |
| }, |
| get$_startIndex: function() { |
| var $length, t1; |
| $length = $.get$length$asx(this._iterable); |
| t1 = this._start; |
| if ($.JSNumber_methods.$gt(t1, $length)) |
| return $length; |
| return t1; |
| }, |
| get$length: function(_) { |
| var $length, t1, t2; |
| $length = $.get$length$asx(this._iterable); |
| if (typeof $length !== "number") |
| return this.get$length$bailout2(1, $length); |
| t1 = this._start; |
| if (t1 >= $length) |
| return 0; |
| t2 = this._endOrLength; |
| if (t2 == null || $.JSNull_methods.$ge(t2, $length)) |
| return $length - t1; |
| return $.JSNull_methods.$sub(t2, t1); |
| }, |
| get$length$bailout2: function(state0, $length) { |
| var t1, t2; |
| t1 = this._start; |
| if ($.JSNumber_methods.$ge(t1, $length)) |
| return 0; |
| t2 = this._endOrLength; |
| if (t2 == null || $.JSNull_methods.$ge(t2, $length)) |
| return $.$sub$n($length, t1); |
| return $.JSNull_methods.$sub(t2, t1); |
| }, |
| elementAt$1: function(_, index) { |
| var t1, realIndex; |
| if (typeof index !== "number") |
| return this.elementAt$1$bailout2(1, index); |
| t1 = this.get$_startIndex(); |
| if (typeof t1 !== "number") |
| return this.elementAt$1$bailout2(2, index, t1); |
| realIndex = t1 + index; |
| if (!(index < 0)) { |
| t1 = this.get$_endIndex(); |
| if (typeof t1 !== "number") |
| return this.elementAt$1$bailout2(3, index, t1, realIndex); |
| t1 = realIndex >= t1; |
| } else |
| t1 = true; |
| if (t1) |
| throw $.wrapException($.RangeError$range(index, 0, this.get$length(this))); |
| return $.elementAt$1$ax(this._iterable, realIndex); |
| }, |
| elementAt$1$bailout2: function(state0, index, t1, realIndex) { |
| switch (state0) { |
| case 0: |
| case 1: |
| state0 = 0; |
| t1 = this.get$_startIndex(); |
| case 2: |
| state0 = 0; |
| realIndex = $.$add$ns(t1, index); |
| case 3: |
| if (state0 === 3 || state0 === 0 && !$.$lt$n(index, 0)) |
| switch (state0) { |
| case 0: |
| t1 = this.get$_endIndex(); |
| case 3: |
| state0 = 0; |
| t1 = $.$ge$n(realIndex, t1); |
| } |
| else |
| t1 = true; |
| if (t1) |
| throw $.wrapException($.RangeError$range(index, 0, this.get$length(this))); |
| return $.elementAt$1$ax(this._iterable, realIndex); |
| } |
| }, |
| skip$1: function(_, count) { |
| if (count < 0) |
| throw $.wrapException($.ArgumentError$(count)); |
| return $.SubListIterable$(this._iterable, this._start + count, this._endOrLength); |
| }, |
| $asIterable: function() { |
| return null; |
| } |
| }; |
| |
| $$.ListIterator = {"": "Object;_iterable,_liblib$_length,_index,_liblib$_current", |
| get$current: function() { |
| return this._liblib$_current; |
| }, |
| moveNext$0: function() { |
| var t1, t2, t3; |
| t1 = this._liblib$_length; |
| t2 = this._iterable; |
| if ($.$eq(t1, $.get$length$asx(t2)) !== true) |
| throw $.wrapException($.ConcurrentModificationError$(t2)); |
| t3 = this._index; |
| if (t3 === t1) { |
| this._liblib$_current = null; |
| return false; |
| } |
| this._liblib$_current = $.elementAt$1$ax(t2, t3); |
| this._index = this._index + 1; |
| return true; |
| } |
| }; |
| |
| $$.MappedIterable = {"": "IterableBase;_iterable,_f", |
| _f$1: function(arg0) { |
| return this._f.call$1(arg0); |
| }, |
| get$iterator: function(_) { |
| var t1 = this._iterable; |
| return $.MappedIterator$(t1.get$iterator(t1), this._f); |
| }, |
| get$length: function(_) { |
| var t1 = this._iterable; |
| return t1.get$length(t1); |
| }, |
| get$isEmpty: function(_) { |
| var t1 = this._iterable; |
| return t1.get$isEmpty(t1); |
| }, |
| elementAt$1: function(_, index) { |
| var t1 = this._iterable; |
| return this._f$1(t1.elementAt$1(t1, index)); |
| }, |
| $asIterable: function() { |
| return function (S, T) { return [T]; }; |
| } |
| }; |
| |
| $$.MappedIterator = {"": "Iterator;_liblib$_current,_iterator,_f", |
| _f$1: function(arg0) { |
| return this._f.call$1(arg0); |
| }, |
| moveNext$0: function() { |
| var t1 = this._iterator; |
| if (t1.moveNext$0() === true) { |
| this._liblib$_current = this._f$1(t1.get$current()); |
| return true; |
| } |
| this._liblib$_current = null; |
| return false; |
| }, |
| get$current: function() { |
| return this._liblib$_current; |
| } |
| }; |
| |
| $$.WhereIterable = {"": "IterableBase;_iterable,_f", |
| get$iterator: function(_) { |
| var t1 = this._iterable; |
| return $.WhereIterator$(t1.get$iterator(t1), this._f); |
| }, |
| $asIterable: function() { |
| return 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() === true;) |
| if (this._f$1(t1.get$current()) === true) |
| return true; |
| return false; |
| }, |
| get$current: function() { |
| return this._iterator.get$current(); |
| } |
| }; |
| |
| $$.SkipIterable = {"": "IterableBase;_iterable,_skipCount", |
| skip$1: function(_, n) { |
| if (typeof n !== "number" || Math.floor(n) !== n || n < 0) |
| throw $.wrapException($.ArgumentError$(n)); |
| return $.SkipIterable$(this._iterable, $.$add$ns(this._skipCount, n)); |
| }, |
| get$iterator: function(_) { |
| return $.SkipIterator$($.get$iterator$ax(this._iterable), this._skipCount); |
| }, |
| SkipIterable$2: function(_iterable, _skipCount) { |
| var t1 = this._skipCount; |
| if (typeof t1 !== "number" || Math.floor(t1) !== t1 || $.$lt$n(t1, 0)) |
| throw $.wrapException($.ArgumentError$(t1)); |
| }, |
| $asIterable: function() { |
| return null; |
| } |
| }; |
| |
| $$.SkipIterator = {"": "Iterator;_iterator,_skipCount", |
| moveNext$0: function() { |
| var t1, i, t2; |
| t1 = this._iterator; |
| i = 0; |
| while (true) { |
| t2 = this._skipCount; |
| if (typeof t2 !== "number") |
| return this.moveNext$0$bailout1(1, t1, i, t2); |
| if (!(i < t2)) |
| break; |
| t1.moveNext$0(); |
| ++i; |
| } |
| this._skipCount = 0; |
| return t1.moveNext$0(); |
| }, |
| moveNext$0$bailout1: function(state0, t1, i, t2) { |
| switch (state0) { |
| case 0: |
| t1 = this._iterator; |
| i = 0; |
| case 1: |
| L0: |
| while (true) |
| switch (state0) { |
| case 0: |
| t2 = this._skipCount; |
| case 1: |
| state0 = 0; |
| if (!$.JSNumber_methods.$lt(i, t2)) |
| break L0; |
| t1.moveNext$0(); |
| ++i; |
| } |
| this._skipCount = 0; |
| return t1.moveNext$0(); |
| } |
| }, |
| get$current: function() { |
| return this._iterator.get$current(); |
| }, |
| SkipIterator$2: function(_iterator, _skipCount) { |
| } |
| }; |
| |
| $$.ToString__emitPair_anon = {"": "Closure;box_0,result_1,visiting_2", |
| call$2: function(k, v) { |
| var t1, t2; |
| t1 = this.box_0; |
| if (!t1.first_0) |
| this.result_1.write$1(", "); |
| t1.first_0 = false; |
| t1 = this.result_1; |
| t2 = this.visiting_2; |
| $.ToString__emitObject(k, t1, t2); |
| t1.write$1(": "); |
| $.ToString__emitObject(v, t1, t2); |
| } |
| }; |
| |
| $$.HashMap_values_anon = {"": "Closure;this_0", |
| call$1: function(each) { |
| return $.$index$asx(this.this_0, each); |
| } |
| }; |
| |
| $$.HashMap_addAll_anon = {"": "Closure;this_0", |
| call$2: function(key, value) { |
| $.$indexSet$ax(this.this_0, key, value); |
| } |
| }; |
| |
| $$.HashMapKeyIterable = {"": "IterableBase;_map", |
| get$length: function(_) { |
| return this._map._liblib0$_length; |
| }, |
| get$isEmpty: function(_) { |
| return this._map._liblib0$_length === 0; |
| }, |
| get$iterator: function(_) { |
| var t1 = this._map; |
| return $.HashMapKeyIterator$(t1, t1._computeKeys$0()); |
| }, |
| forEach$1: function(_, f) { |
| var t1, keys, $length, i; |
| t1 = this._map; |
| keys = t1._computeKeys$0(); |
| for ($length = keys.length, i = 0; i < $length; ++i) { |
| f.call$1(keys[i]); |
| if (keys !== t1._keys) |
| throw $.wrapException($.ConcurrentModificationError$(t1)); |
| } |
| }, |
| $asIterable: function() { |
| return null; |
| } |
| }; |
| |
| $$.HashMapKeyIterator = {"": "Object;_map,_keys,_offset,_liblib0$_current", |
| get$current: function() { |
| return this._liblib0$_current; |
| }, |
| moveNext$0: function() { |
| var keys, offset, t1; |
| keys = this._keys; |
| offset = this._offset; |
| t1 = this._map; |
| if (keys !== t1._keys) |
| throw $.wrapException($.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_values_anon = {"": "Closure;this_0", |
| call$1: function(each) { |
| return $.$index$asx(this.this_0, each); |
| } |
| }; |
| |
| $$.LinkedHashMap_addAll_anon = {"": "Closure;this_0", |
| call$2: function(key, value) { |
| $.$indexSet$ax(this.this_0, key, value); |
| } |
| }; |
| |
| $$.LinkedHashMapCell = {"": "Object;_key<,_value@,_next@,_previous@"}; |
| |
| $$.LinkedHashMapKeyIterable = {"": "IterableBase;_map", |
| get$length: function(_) { |
| return this._map._liblib0$_length; |
| }, |
| get$isEmpty: function(_) { |
| return this._map._liblib0$_length === 0; |
| }, |
| get$iterator: function(_) { |
| var t1 = this._map; |
| return $.LinkedHashMapKeyIterator$(t1, t1._modifications); |
| }, |
| forEach$1: function(_, f) { |
| var t1, cell, modifications; |
| t1 = this._map; |
| cell = t1._first; |
| modifications = t1._modifications; |
| for (; cell != null;) { |
| f.call$1(cell.get$_key()); |
| if (modifications !== t1._modifications) |
| throw $.wrapException($.ConcurrentModificationError$(t1)); |
| cell = cell.get$_next(); |
| } |
| }, |
| $asIterable: function() { |
| return null; |
| } |
| }; |
| |
| $$.LinkedHashMapKeyIterator = {"": "Object;_map,_modifications,_cell,_liblib0$_current", |
| get$current: function() { |
| return this._liblib0$_current; |
| }, |
| moveNext$0: function() { |
| var t1 = this._map; |
| if (this._modifications !== t1._modifications) |
| throw $.wrapException($.ConcurrentModificationError$(t1)); |
| else { |
| t1 = this._cell; |
| if (t1 == null) { |
| this._liblib0$_current = null; |
| return false; |
| } else { |
| this._liblib0$_current = t1.get$_key(); |
| this._cell = this._cell.get$_next(); |
| return true; |
| } |
| } |
| }, |
| LinkedHashMapKeyIterator$2: function(_map, _modifications) { |
| this._cell = this._map._first; |
| } |
| }; |
| |
| $$.LinkedHashSetCell = {"": "Object;_element<,_next@,_previous@"}; |
| |
| $$.LinkedHashSetIterator = {"": "Object;_set,_modifications,_cell,_liblib0$_current", |
| get$current: function() { |
| return this._liblib0$_current; |
| }, |
| moveNext$0: function() { |
| var t1 = this._set; |
| if (this._modifications !== t1._modifications) |
| throw $.wrapException($.ConcurrentModificationError$(t1)); |
| else { |
| t1 = this._cell; |
| if (t1 == null) { |
| this._liblib0$_current = null; |
| return false; |
| } else { |
| this._liblib0$_current = t1.get$_element(); |
| this._cell = this._cell.get$_next(); |
| return true; |
| } |
| } |
| }, |
| LinkedHashSetIterator$2: function(_set, _modifications) { |
| this._cell = this._set._first; |
| } |
| }; |
| |
| $$.Function__toMangledNames_anon = {"": "Closure;result_0", |
| call$2: function(symbol, value) { |
| var t1 = this.result_0; |
| t1.$indexSet(t1, symbol.get$_name(), value); |
| } |
| }; |
| |
| $$.NoSuchMethodError_toString_anon = {"": "Closure;box_0", |
| call$2: function(key, value) { |
| var t1 = this.box_0; |
| if ($.$gt$n(t1.i_1, 0)) |
| t1.sb_0.write$1(", "); |
| t1.sb_0.write$1(key); |
| t1.sb_0.write$1(": "); |
| t1.sb_0.write$1($.Error_safeToString(value)); |
| t1.i_1 = $.$add$ns(t1.i_1, 1); |
| } |
| }; |
| |
| $$.Interceptor = {"": "Object;", |
| $eq: function(receiver, other) { |
| return receiver === other; |
| }, |
| get$hashCode: function(receiver) { |
| return $.Primitives_objectHashCode(receiver); |
| }, |
| toString$0: function(receiver) { |
| return "Instance of '" + $.S($.Primitives_objectTypeName(receiver)) + "'"; |
| } |
| }; |
| |
| $$.JSFunction = {"": "Interceptor;", |
| toString$0: function(receiver) { |
| return "Closure"; |
| } |
| }; |
| |
| $$.JSBool = {"": "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; |
| } |
| }; |
| |
| $$.CloseToken = {"": "Object;", $isCloseToken: true}; |
| |
| $$.JsIsolateSink = {"": "EventSink;_isClosed,_port<", |
| add$1: function(_, message) { |
| $.send$1$x(this._port, message); |
| }, |
| $eq: function(_, other) { |
| if (other == null) |
| return false; |
| return typeof other === "object" && other !== null && !!$.getInterceptor(other).$isIsolateSink && $.$eq(this._port, other.get$_port()) === true; |
| }, |
| get$hashCode: function(_) { |
| return $.$add$ns($.get$hashCode$(this._port), 499); |
| }, |
| $isJsIsolateSink: true, |
| $asIsolateSink: null, |
| $isIsolateSink: true |
| }; |
| |
| $$._Manager = {"": "Object;nextIsolateId@,currentManagerId,nextManagerId,currentContext<,rootContext,topEventLoop<,fromCommandLine,isWorker<,supportsWorkers,isolates,mainManager,managers", |
| get$useWorkers: function() { |
| return this.supportsWorkers; |
| }, |
| get$needSerialization: function() { |
| return this.get$useWorkers(); |
| }, |
| _nativeDetectEnvironment$0: function() { |
| var t1, t2; |
| t1 = $.get$globalWindow() == null; |
| this.isWorker = t1 && $.get$globalPostMessageDefined() === true; |
| if (this.isWorker !== true) |
| t2 = $.get$globalWorker() != null && $.get$IsolateNatives_thisScript() != null; |
| else |
| t2 = true; |
| this.supportsWorkers = t2; |
| this.fromCommandLine = t1 && this.isWorker !== true; |
| }, |
| _nativeInitWorkerMessageHandler$0: function() { |
| var $function = function (e) { $.IsolateNatives__processWorkerMessage.call$2(this.mainManager, e); }; |
| $.get$globalThis().onmessage = $function; |
| $.get$globalThis().dartPrint = function (object) {}; |
| }, |
| maybeCloseWorker$0: function() { |
| if (this.isWorker === true) { |
| var t1 = this.isolates; |
| t1 = t1.get$isEmpty(t1) && this.topEventLoop.activeTimerCount === 0; |
| } else |
| t1 = false; |
| if (t1) { |
| t1 = this.mainManager; |
| t1.postMessage$1(t1, $._serializeMessage($.makeLiteralMap(["command", "close"]))); |
| } |
| }, |
| _Manager$0: function() { |
| this._nativeDetectEnvironment$0(); |
| this.topEventLoop = $._EventLoop$(); |
| this.isolates = $.Map_Map(); |
| this.managers = $.Map_Map(); |
| if (this.isWorker === true) { |
| this.mainManager = $._MainManagerStub$(); |
| this._nativeInitWorkerMessageHandler$0(); |
| } |
| } |
| }; |
| |
| $$._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._setGlobals$0(); |
| } |
| return result; |
| }, |
| _setGlobals$0: function() { |
| $ = this.isolateStatics; |
| }, |
| 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) === true) |
| throw $.wrapException($._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); |
| t1 = this.ports; |
| if (t1.get$isEmpty(t1)) { |
| t1 = $globalState.isolates; |
| t1.remove$1(t1, this.id); |
| } |
| }, |
| _IsolateContext$0: function() { |
| var t1, t2; |
| t1 = $._globalState(); |
| t2 = t1.get$nextIsolateId(); |
| t1.set$nextIsolateId(t2 + 1); |
| this.id = t2; |
| this.ports = $.Map_Map(); |
| this.isolateStatics = new Isolate(); |
| } |
| }; |
| |
| $$._EventLoop = {"": "Object;events,activeTimerCount", |
| enqueue$3: function(isolate, fn, msg) { |
| this.events.addLast$1($._IsolateEvent$(isolate, fn, msg)); |
| }, |
| dequeue$0: function() { |
| var t1 = this.events; |
| if (t1.get$isEmpty(t1)) |
| return; |
| return t1.removeFirst$0(); |
| }, |
| checkOpenReceivePortsFromCommandLine$0: function() { |
| if ($globalState.rootContext != null) |
| if ($globalState.isolates.containsKey$1($globalState.rootContext.id) === true) |
| if ($globalState.fromCommandLine === true) { |
| var t1 = $globalState.rootContext.ports; |
| t1 = t1.get$isEmpty(t1); |
| } else |
| t1 = false; |
| else |
| t1 = false; |
| else |
| t1 = false; |
| if (t1) |
| throw $.wrapException($._ExceptionImplementation$("Program exited with open ReceivePorts.")); |
| }, |
| runIteration$0: function() { |
| var $event = this.dequeue$0(); |
| if ($event == null) { |
| this.checkOpenReceivePortsFromCommandLine$0(); |
| $globalState.maybeCloseWorker$0(); |
| return false; |
| } |
| $event.process$0(); |
| return true; |
| }, |
| _runHelper$0: function() { |
| if ($.get$globalWindow() != null) |
| new $._EventLoop__runHelper_next(this).call$0(); |
| else |
| for (; this.runIteration$0();) |
| ; |
| }, |
| run$0: function() { |
| var e, trace, exception, t1; |
| if ($globalState.isWorker !== true) |
| this._runHelper$0(); |
| else |
| try { |
| this._runHelper$0(); |
| } catch (exception) { |
| t1 = $.unwrapException(exception); |
| e = t1; |
| trace = $.getTraceFromException(exception); |
| t1 = $globalState.mainManager; |
| t1.postMessage$1(t1, $._serializeMessage($.makeLiteralMap(["command", "error", "msg", $.S(e) + "\n" + $.S(trace)]))); |
| } |
| |
| } |
| }; |
| |
| $$._EventLoop__runHelper_next = {"": "Closure;this_0", |
| call$0: function() { |
| if (!this.this_0.runIteration$0()) |
| return; |
| $.Timer_run(this); |
| } |
| }; |
| |
| $$._IsolateEvent = {"": "Object;isolate,fn,message", |
| process$0: function() { |
| this.isolate.eval$1(this.fn); |
| } |
| }; |
| |
| $$._MainManagerStub = {"": "Object;", |
| get$id: function(_) { |
| return 0; |
| }, |
| set$id: function(_, i) { |
| throw $.wrapException($.UnimplementedError$(null)); |
| }, |
| postMessage$1: function(_, msg) { |
| $.get$globalThis().postMessage(msg); |
| }, |
| terminate$0: function(_) { |
| } |
| }; |
| |
| $$.IsolateNatives__processWorkerMessage_anon = {"": "Closure;entryPoint_0,replyTo_1", |
| call$0: function() { |
| var t1, t2; |
| t1 = this.entryPoint_0; |
| t2 = this.replyTo_1; |
| $.lazyPort = $.ReceivePortImpl$(); |
| $.send$2$x(t2, "spawned", $._Isolate_port().toSendPort$0()); |
| t1.call$0(); |
| } |
| }; |
| |
| $$._BaseSendPort = {"": "Object;_isolateId<", |
| _checkReplyTo$1: function(replyTo) { |
| if (replyTo != null && (typeof replyTo !== "object" || replyTo === null || !$.getInterceptor(replyTo).$is_NativeJsSendPort) && (typeof replyTo !== "object" || replyTo === null || !$.getInterceptor(replyTo).$is_WorkerSendPort) && true) |
| throw $.wrapException($._ExceptionImplementation$("SendPort.send: Illegal replyTo port type")); |
| }, |
| call$1: function(message) { |
| var completer, port; |
| completer = $._CompleterImpl$(); |
| port = $.ReceivePortImpl$(); |
| this.send$2(this, message, port.toSendPort$0()); |
| port.receive$1(new $._BaseSendPort_call_anon(completer, port)); |
| return completer.future; |
| }, |
| $isSendPort: true |
| }; |
| |
| $$._BaseSendPort_call_anon = {"": "Closure;completer_0,port_1", |
| call$2: function(value, ignoreReplyTo) { |
| var t1 = this.port_1; |
| t1.close$0(t1); |
| t1 = this.completer_0; |
| if (typeof value === "object" && value !== null && !!$.getInterceptor(value).$isException) |
| t1.completeError$1(value); |
| else |
| t1.complete$1(t1, value); |
| } |
| }; |
| |
| $$._NativeJsSendPort = {"": "_BaseSendPort;_receivePort<,_isolateId", |
| send$2: function(_, message, replyTo) { |
| $._waitForPendingPorts([message, replyTo], new $._NativeJsSendPort_send_anon(this, message, replyTo)); |
| }, |
| send$1: function($receiver, message) { |
| return this.send$2($receiver, message, null); |
| }, |
| $eq: function(_, other) { |
| if (other == null) |
| return false; |
| return typeof other === "object" && other !== null && !!$.getInterceptor(other).$is_NativeJsSendPort && $.$eq(this._receivePort, other._receivePort) === true; |
| }, |
| get$hashCode: function(_) { |
| return this._receivePort.get$_id(); |
| }, |
| $is_NativeJsSendPort: true, |
| $isSendPort: true |
| }; |
| |
| $$._NativeJsSendPort_send_anon = {"": "Closure;this_1,message_2,replyTo_3", |
| call$0: function() { |
| var t1, t2, t3, t4, isolate, shouldSerialize, msg; |
| t1 = {}; |
| t2 = this.this_1; |
| t3 = this.replyTo_3; |
| t2._checkReplyTo$1(t3); |
| t4 = $globalState.isolates; |
| isolate = t4.$index(t4, t2.get$_isolateId()); |
| if (isolate == null) |
| return; |
| if (t2.get$_receivePort().get$_callback() == null) |
| return; |
| shouldSerialize = $globalState.currentContext != null && $.$eq($.get$id$x($globalState.currentContext), t2.get$_isolateId()) !== true; |
| msg = this.message_2; |
| t1.msg_0 = msg; |
| t1.reply_1 = t3; |
| if (shouldSerialize) { |
| t1.msg_0 = $._serializeMessage(t1.msg_0); |
| t1.reply_1 = $._serializeMessage(t1.reply_1); |
| } |
| $globalState.topEventLoop.enqueue$3(isolate, new $._NativeJsSendPort_send__anon(t1, t2, shouldSerialize), "receive " + $.S(msg)); |
| } |
| }; |
| |
| $$._NativeJsSendPort_send__anon = {"": "Closure;box_0,this_4,shouldSerialize_5", |
| call$0: function() { |
| var t1, t2; |
| t1 = this.this_4; |
| if (t1.get$_receivePort().get$_callback() != null) { |
| if (this.shouldSerialize_5) { |
| t2 = this.box_0; |
| t2.msg_0 = $._deserializeMessage(t2.msg_0); |
| t2.reply_1 = $._deserializeMessage(t2.reply_1); |
| } |
| t1 = t1.get$_receivePort(); |
| t2 = this.box_0; |
| t1._callback$2(t2.msg_0, t2.reply_1); |
| } |
| } |
| }; |
| |
| $$._WorkerSendPort = {"": "_BaseSendPort;_workerId<,_receivePortId,_isolateId", |
| send$2: function(_, message, replyTo) { |
| $._waitForPendingPorts([message, replyTo], new $._WorkerSendPort_send_anon(this, message, replyTo)); |
| }, |
| send$1: function($receiver, message) { |
| return this.send$2($receiver, message, null); |
| }, |
| $eq: function(_, other) { |
| var t1; |
| if (other == null) |
| return false; |
| if (typeof other === "object" && other !== null && !!$.getInterceptor(other).$is_WorkerSendPort) |
| t1 = $.$eq(this._workerId, other._workerId) === true && $.$eq(this._isolateId, other._isolateId) === true && $.$eq(this._receivePortId, other._receivePortId) === true; |
| else |
| t1 = false; |
| return t1; |
| }, |
| get$hashCode: function(_) { |
| var t1, t2, t3; |
| t1 = $.$shl$n(this._workerId, 16); |
| t2 = $.$shl$n(this._isolateId, 8); |
| t3 = this._receivePortId; |
| if (typeof t3 !== "number") |
| throw $.iae(t3); |
| return (t1 ^ t2 ^ t3) >>> 0; |
| }, |
| $is_WorkerSendPort: true, |
| $isSendPort: true |
| }; |
| |
| $$._WorkerSendPort_send_anon = {"": "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 = $._serializeMessage($.makeLiteralMap(["command", "message", "port", t1, "msg", this.message_1, "replyTo", t2])); |
| if ($globalState.isWorker === true) { |
| t1 = $globalState.mainManager; |
| t1.postMessage$1(t1, workerMessage); |
| } else { |
| t2 = $globalState.managers; |
| manager = t2.$index(t2, t1.get$_workerId()); |
| if (manager != null) |
| $.postMessage$1$x(manager, workerMessage); |
| } |
| } |
| }; |
| |
| $$.ReceivePortImpl = {"": "Object;_id<,_callback<", |
| _callback$2: function(arg0, arg1) { |
| return this._callback.call$2(arg0, arg1); |
| }, |
| receive$1: function(onMessage) { |
| this._callback = onMessage; |
| }, |
| close$0: function(_) { |
| this._callback = null; |
| $globalState.currentContext.unregister$1(this._id); |
| }, |
| toSendPort$0: function() { |
| return $._NativeJsSendPort$(this, $.get$id$x($globalState.currentContext)); |
| }, |
| ReceivePortImpl$0: function() { |
| $.register$2$x($._globalState().get$currentContext(), this._id, this); |
| } |
| }; |
| |
| $$._waitForPendingPorts_anon = {"": "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); |
| $.forEach$1$ax(list, new $._PendingSendPortFinder_visitList_anon(this)); |
| }, |
| visitMap$1: function(map) { |
| var t1 = this._visited; |
| if (t1.$index(t1, map) != null) |
| return; |
| t1 = this._visited; |
| t1.$indexSet(t1, map, true); |
| $.forEach$1$ax(map.get$values(map), new $._PendingSendPortFinder_visitMap_anon(this)); |
| }, |
| visitSendPort$1: function(port) { |
| if (false) |
| this.ports.push(port.get$_futurePort()); |
| }, |
| visitIsolateSink$1: function(sink) { |
| var t1 = sink._port; |
| if (false) |
| this.ports.push(t1.get$_futurePort()); |
| }, |
| visitCloseToken$1: function(token) { |
| }, |
| _PendingSendPortFinder$0: function() { |
| this._visited = $._JsVisitedMap$(); |
| } |
| }; |
| |
| $$._PendingSendPortFinder_visitList_anon = {"": "Closure;this_0", |
| call$1: function(e) { |
| return this.this_0._dispatch$1(e); |
| } |
| }; |
| |
| $$._PendingSendPortFinder_visitMap_anon = {"": "Closure;this_0", |
| call$1: function(e) { |
| return this.this_0._dispatch$1(e); |
| } |
| }; |
| |
| $$._JsSerializer = {"": "_Serializer;_nextFreeRefId,_visited", |
| visitSendPort$1: function(x) { |
| if (typeof x === "object" && x !== null && !!$.getInterceptor(x).$is_NativeJsSendPort) |
| return ["sendport", $globalState.currentManagerId, x._isolateId, x._receivePort.get$_id()]; |
| if (typeof x === "object" && x !== null && !!$.getInterceptor(x).$is_WorkerSendPort) |
| return ["sendport", x._workerId, x._isolateId, x._receivePortId]; |
| throw $.wrapException("Illegal underlying port " + $.S(x)); |
| }, |
| visitIsolateSink$1: function(sink) { |
| var isClosed = sink._isClosed; |
| return ["isolateSink", this.visitSendPort$1(sink._port), isClosed]; |
| }, |
| visitCloseToken$1: function(token) { |
| return ["closeToken"]; |
| }, |
| _JsSerializer$0: function() { |
| this._visited = $._JsVisitedMap$(); |
| } |
| }; |
| |
| $$._JsCopier = {"": "_Copier;_visited", |
| visitSendPort$1: function(x) { |
| if (typeof x === "object" && x !== null && !!$.getInterceptor(x).$is_NativeJsSendPort) |
| return $._NativeJsSendPort$(x._receivePort, x._isolateId); |
| if (typeof x === "object" && x !== null && !!$.getInterceptor(x).$is_WorkerSendPort) |
| return $._WorkerSendPort$(x._workerId, x._isolateId, x._receivePortId); |
| throw $.wrapException("Illegal underlying port " + $.S(this.get$p())); |
| }, |
| visitIsolateSink$1: function(sink) { |
| var isClosed, result; |
| isClosed = sink._isClosed; |
| result = $.JsIsolateSink$fromPort(this.visitSendPort$1(sink._port)); |
| result._isClosed = isClosed; |
| return result; |
| }, |
| visitCloseToken$1: function(token) { |
| return token; |
| }, |
| _JsCopier$0: function() { |
| this._visited = $._JsVisitedMap$(); |
| } |
| }; |
| |
| $$._JsDeserializer = {"": "_Deserializer;_deserialized", |
| deserializeSendPort$1: function(list) { |
| var t1, managerId, isolateId, receivePortId, isolate, receivePort; |
| t1 = $.getInterceptor$asx(list); |
| managerId = t1.$index(list, 1); |
| isolateId = t1.$index(list, 2); |
| receivePortId = t1.$index(list, 3); |
| if ($.$eq(managerId, $globalState.currentManagerId) === true) { |
| t1 = $globalState.isolates; |
| isolate = t1.$index(t1, isolateId); |
| if (isolate == null) |
| return; |
| receivePort = isolate.lookup$1(receivePortId); |
| if (receivePort == null) |
| return; |
| return $._NativeJsSendPort$(receivePort, isolateId); |
| } else |
| return $._WorkerSendPort$(managerId, isolateId, receivePortId); |
| }, |
| deserializeIsolateSink$1: function(list) { |
| var t1, port, isClosed, result; |
| t1 = $.getInterceptor$asx(list); |
| port = this.deserializeSendPort$1(t1.$index(list, 1)); |
| isClosed = t1.$index(list, 2); |
| result = $.JsIsolateSink$fromPort(port); |
| result._isClosed = isClosed; |
| return result; |
| }, |
| deserializeCloseToken$1: function(list) { |
| return $.C_CloseToken; |
| } |
| }; |
| |
| $$._JsVisitedMap = {"": "Object;tagged", |
| $index: function(_, object) { |
| return object.__MessageTraverser__attached_info__; |
| }, |
| $indexSet: function(_, object, info) { |
| $.add$1$ax(this.tagged, object); |
| object.__MessageTraverser__attached_info__ = info; |
| }, |
| reset$0: function(_) { |
| this.tagged = $.List_List($); |
| }, |
| cleanup$0: function() { |
| var $length, i; |
| for ($length = $.get$length$asx(this.tagged), i = 0; i < $length; ++i) |
| $.$index$asx(this.tagged, 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; |
| t1 = x; |
| if (t1 == null || typeof t1 === "string" || typeof t1 === "number" || typeof t1 === "boolean") |
| 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) { |
| if (x == null || typeof x === "string" || typeof x === "number" || typeof x === "boolean") |
| return this.visitPrimitive$1(x); |
| if (typeof x === "object" && x !== null && (x.constructor === Array || $.getInterceptor(x).$isList())) |
| return this.visitList$1(x); |
| if (typeof x === "object" && x !== null && !!$.getInterceptor(x).$isMap) |
| return this.visitMap$1(x); |
| if (typeof x === "object" && x !== null && !!$.getInterceptor(x).$isSendPort) |
| return this.visitSendPort$1(x); |
| if (typeof x === "object" && x !== null && !!$.getInterceptor(x).$isJsIsolateSink) |
| return this.visitIsolateSink$1(x); |
| if (typeof x === "object" && x !== null && !!$.getInterceptor(x).$isCloseToken) |
| return this.visitCloseToken$1(x); |
| $.throwExpression("Message serialization: Illegal value " + $.S(x) + " passed"); |
| return; |
| } |
| }; |
| |
| $$._Copier = {"": "_MessageTraverser;", |
| visitPrimitive$1: function(x) { |
| return x; |
| }, |
| visitList$1: function(list) { |
| var t1, copy, len, i; |
| if (typeof list !== "string" && (typeof list !== "object" || list === null || list.constructor !== Array && !$.getInterceptor(list).$isJavaScriptIndexingBehavior())) |
| return this.visitList$1$bailout1(1, list); |
| t1 = this._visited; |
| copy = t1.$index(t1, list); |
| if (copy != null) |
| return copy; |
| len = list.length; |
| copy = $.List_List(len); |
| t1 = this._visited; |
| t1.$indexSet(t1, list, copy); |
| for (i = 0; i < len; ++i) { |
| if (i >= list.length) |
| throw $.ioore(i); |
| copy[i] = this._dispatch$1(list[i]); |
| } |
| 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 = $.getInterceptor$asx(list); |
| len = t1.get$length(list); |
| copy = $.List_List(len); |
| t2 = this._visited; |
| t2.$indexSet(t2, list, copy); |
| for (t2 = copy.length, i = 0; $.JSNumber_methods.$lt(i, len); ++i) { |
| t3 = this._dispatch$1(t1.$index(list, i)); |
| if (i >= t2) |
| throw $.ioore(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 = $.HashMap$(); |
| t2 = this._visited; |
| t2.$indexSet(t2, map, t1.copy_0); |
| map.forEach$1(map, new $._Copier_visitMap_anon(t1, this)); |
| return t1.copy_0; |
| } |
| }; |
| |
| $$._Copier_visitMap_anon = {"": "Closure;box_0,this_1", |
| call$2: function(key, val) { |
| var t1, t2; |
| t1 = this.box_0.copy_0; |
| t2 = this.this_1; |
| $.$indexSet$ax(t1, t2._dispatch$1(key), t2._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; |
| 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); |
| return ["map", id, this._serializeList$1($.toList$0$ax(map.get$keys())), this._serializeList$1($.toList$0$ax(map.get$values(map)))]; |
| }, |
| _serializeList$1: function(list) { |
| var len, result, i; |
| if (typeof list !== "string" && (typeof list !== "object" || list === null || list.constructor !== Array && !$.getInterceptor(list).$isJavaScriptIndexingBehavior())) |
| return this._serializeList$1$bailout(1, list); |
| len = list.length; |
| result = $.List_List(len); |
| for (i = 0; i < len; ++i) { |
| if (i >= list.length) |
| throw $.ioore(i); |
| result[i] = this._dispatch$1(list[i]); |
| } |
| return result; |
| }, |
| _serializeList$1$bailout: function(state0, list) { |
| var t1, len, result, t2, i, t3; |
| t1 = $.getInterceptor$asx(list); |
| len = t1.get$length(list); |
| result = $.List_List(len); |
| for (t2 = result.length, i = 0; $.JSNumber_methods.$lt(i, len); ++i) { |
| t3 = this._dispatch$1(t1.$index(list, i)); |
| if (i >= t2) |
| throw $.ioore(i); |
| result[i] = t3; |
| } |
| return result; |
| } |
| }; |
| |
| $$._Deserializer = {"": "Object;", |
| deserialize$1: function(x) { |
| if (x == null || typeof x === "string" || typeof x === "number" || typeof x === "boolean") |
| return x; |
| this._deserialized = $.HashMap$(); |
| return this._deserializeHelper$1(x); |
| }, |
| _deserializeHelper$1: function(x) { |
| var t1, id; |
| t1 = $.getInterceptor(x); |
| if (x == null || typeof x === "string" || typeof x === "number" || typeof x === "boolean") |
| return 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: |
| $.throwExpression("Unexpected serialized object"); |
| return; |
| } |
| }, |
| _deserializeList$1: function(x) { |
| var t1, id, dartList, t2, len, i; |
| t1 = $.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) && !$.getInterceptor(dartList).$isJavaScriptIndexingBehavior()) |
| return this._deserializeList$1$bailout(1, dartList, id); |
| t2 = this._deserialized; |
| t2.$indexSet(t2, id, dartList); |
| len = dartList.length; |
| for (i = 0; i < len; ++i) { |
| if (i >= dartList.length) |
| throw $.ioore(i); |
| t1 = this._deserializeHelper$1(dartList[i]); |
| if (i >= dartList.length) |
| throw $.ioore(i); |
| dartList[i] = t1; |
| } |
| return dartList; |
| }, |
| _deserializeList$1$bailout: function(state0, dartList, id) { |
| var t2, len, i; |
| t2 = this._deserialized; |
| t2.$indexSet(t2, id, dartList); |
| t2 = $.getInterceptor$asx(dartList); |
| len = t2.get$length(dartList); |
| for (i = 0; $.JSNumber_methods.$lt(i, len); ++i) |
| t2.$indexSet(dartList, i, this._deserializeHelper$1(t2.$index(dartList, i))); |
| return dartList; |
| }, |
| _deserializeMap$1: function(x) { |
| var result, t1, id, t2, keys, values, len, i, key; |
| result = $.HashMap$(); |
| t1 = $.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 && !$.getInterceptor(keys).$isJavaScriptIndexingBehavior())) |
| return this._deserializeMap$1$bailout(1, x, result, keys, t1); |
| values = t1.$index(x, 3); |
| if (typeof values !== "string" && (typeof values !== "object" || values === null || values.constructor !== Array && !$.getInterceptor(values).$isJavaScriptIndexingBehavior())) |
| return this._deserializeMap$1$bailout(2, 0, result, keys, 0, values); |
| len = keys.length; |
| for (i = 0; i < len; ++i) { |
| if (i >= keys.length) |
| throw $.ioore(i); |
| key = this._deserializeHelper$1(keys[i]); |
| if (i >= values.length) |
| throw $.ioore(i); |
| result.$indexSet(result, key, this._deserializeHelper$1(values[i])); |
| } |
| return result; |
| }, |
| _deserializeMap$1$bailout: function(state0, x, result, keys, t1, values) { |
| switch (state0) { |
| case 0: |
| result = $.HashMap$(); |
| t1 = $.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, t3, len, i; |
| state0 = 0; |
| t3 = $.getInterceptor$asx(keys); |
| len = t3.get$length(keys); |
| for (t1 = $.getInterceptor$asx(values), i = 0; $.JSNumber_methods.$lt(i, len); ++i) |
| result.$indexSet(result, this._deserializeHelper$1(t3.$index(keys, i)), this._deserializeHelper$1(t1.$index(values, i))); |
| return result; |
| } |
| } |
| }; |
| |
| $$.TimerImpl = {"": "Object;_once,_inEventLoop,_handle?", |
| cancel$0: function() { |
| if ($.get$globalThis().setTimeout != null) { |
| if (this._inEventLoop) |
| throw $.wrapException($.UnsupportedError$("Timer in event loop cannot be canceled.")); |
| if (this._handle == null) |
| return; |
| var t1 = $globalState.topEventLoop; |
| t1.activeTimerCount = t1.activeTimerCount - 1; |
| if (this._once) |
| $.get$globalThis().clearTimeout(this._handle); |
| else |
| $.get$globalThis().clearInterval(this._handle); |
| this._handle = null; |
| } else |
| throw $.wrapException($.UnsupportedError$("Canceling a timer.")); |
| }, |
| TimerImpl$2: function(milliseconds, callback) { |
| var t1; |
| if (milliseconds === 0) |
| t1 = $.hasTimer() !== true || $._globalState().get$isWorker() === true; |
| else |
| t1 = false; |
| if (t1) { |
| $._globalState().get$topEventLoop().enqueue$3($._globalState().get$currentContext(), callback, "timer"); |
| this._inEventLoop = true; |
| } else if ($.hasTimer() === true) { |
| t1 = $._globalState().get$topEventLoop(); |
| t1.activeTimerCount = t1.activeTimerCount + 1; |
| t1 = new $.internalCallback(this, callback); |
| this._handle = $.get$globalThis().setTimeout($.convertDartClosureToJS(t1, 0), milliseconds); |
| } else |
| throw $.wrapException($.UnsupportedError$("Timer greater than 0.")); |
| }, |
| TimerImpl$periodic$2: function(milliseconds, callback) { |
| var t1; |
| if ($.hasTimer() === true) { |
| t1 = $._globalState().get$topEventLoop(); |
| t1.activeTimerCount = t1.activeTimerCount + 1; |
| this._handle = $.get$globalThis().setInterval($.convertDartClosureToJS(new $.anon(this, callback), 0), milliseconds); |
| } else |
| throw $.wrapException($.UnsupportedError$("Periodic timer.")); |
| } |
| }; |
| |
| $$.internalCallback = {"": "Closure;this_0,callback_1", |
| call$0: function() { |
| this.callback_1.call$0(); |
| this.this_0.set$_handle(null); |
| var t1 = $globalState.topEventLoop; |
| t1.activeTimerCount = t1.activeTimerCount - 1; |
| } |
| }; |
| |
| $$.anon = {"": "Closure;this_0,callback_1", |
| call$0: function() { |
| this.callback_1.call$1(this.this_0); |
| } |
| }; |
| |
| $$.JSArray = {"": "Interceptor;", |
| add$1: function(receiver, value) { |
| if (!!receiver.fixed$length) |
| $.throwExpression($.UnsupportedError$("add")); |
| receiver.push(value); |
| }, |
| removeLast$0: function(receiver) { |
| if (!!receiver.fixed$length) |
| $.throwExpression($.UnsupportedError$("removeLast")); |
| if (receiver.length === 0) |
| throw $.wrapException($.RangeError$value(-1)); |
| return receiver.pop(); |
| }, |
| remove$1: function(receiver, element) { |
| var i; |
| if (!!receiver.fixed$length) |
| $.throwExpression($.UnsupportedError$("remove")); |
| for (i = 0; i < receiver.length; ++i) { |
| if (i >= receiver.length || false) |
| $.throwExpression($.RangeError$value(i)); |
| if ($.$eq(receiver[i], element) === true) { |
| receiver.splice(i, 1); |
| return; |
| } |
| } |
| }, |
| addAll$1: function(receiver, collection) { |
| var t1, t2; |
| for (t1 = $.get$iterator$ax(collection); t1.moveNext$0() === true;) { |
| t2 = t1.get$current(); |
| if (!!receiver.fixed$length) |
| $.throwExpression($.UnsupportedError$("add")); |
| receiver.push(t2); |
| } |
| }, |
| forEach$1: function(receiver, f) { |
| var t1; |
| for (t1 = this.get$iterator(receiver); t1.moveNext$0();) |
| f.call$1(t1.get$current()); |
| return; |
| }, |
| join$1: function(receiver, separator) { |
| var t1, list, i, t2; |
| t1 = receiver.length; |
| list = $.List_List(t1); |
| for (i = 0; i < receiver.length; ++i) { |
| if (i >= receiver.length || false) |
| $.throwExpression($.RangeError$value(i)); |
| t2 = $.S(receiver[i]); |
| if (i >= t1) |
| throw $.ioore(i); |
| list[i] = t2; |
| } |
| return list.join(separator); |
| }, |
| skip$1: function(receiver, n) { |
| return $.SubListIterable$(receiver, n, null); |
| }, |
| fold$2: function(receiver, initialValue, combine) { |
| var t1; |
| for (t1 = this.get$iterator(receiver); t1.moveNext$0();) |
| initialValue = combine.call$2(initialValue, t1.get$current()); |
| return initialValue; |
| }, |
| elementAt$1: function(receiver, index) { |
| var t1; |
| if (typeof index !== "number" || Math.floor(index) !== index) |
| $.throwExpression($.ArgumentError$(index)); |
| t1 = $.getInterceptor$n(index); |
| if (t1.$ge(index, receiver.length) || t1.$lt(index, 0)) |
| $.throwExpression($.RangeError$value(index)); |
| return receiver[index]; |
| }, |
| sublist$2: function(receiver, start, end) { |
| if (typeof end !== "number") |
| return this.sublist$2$bailout(1, start, end, receiver); |
| if (start == null) |
| $.throwExpression($.ArgumentError$(null)); |
| if (typeof start !== "number" || Math.floor(start) !== start) |
| throw $.wrapException($.ArgumentError$(start)); |
| if (start < 0 || start > receiver.length) |
| throw $.wrapException($.RangeError$range(start, 0, receiver.length)); |
| if (typeof end !== "number" || Math.floor(end) !== end) |
| throw $.wrapException($.ArgumentError$(end)); |
| if (end < start || end > receiver.length) |
| throw $.wrapException($.RangeError$range(end, start, receiver.length)); |
| if (start === end) |
| return []; |
| return receiver.slice(start, end); |
| }, |
| sublist$2$bailout: function(state0, start, end, receiver) { |
| if (start == null) |
| $.throwExpression($.ArgumentError$(null)); |
| if (typeof start !== "number" || Math.floor(start) !== start) |
| throw $.wrapException($.ArgumentError$(start)); |
| if (start < 0 || start > receiver.length) |
| throw $.wrapException($.RangeError$range(start, 0, receiver.length)); |
| if (end == null) |
| end = receiver.length; |
| else { |
| if (typeof end !== "number" || Math.floor(end) !== end) |
| throw $.wrapException($.ArgumentError$(end)); |
| if (end < start || end > receiver.length) |
| throw $.wrapException($.RangeError$range(end, start, receiver.length)); |
| } |
| if (start === end) |
| return []; |
| return receiver.slice(start, end); |
| }, |
| sublist$1: function($receiver, start) { |
| return this.sublist$2($receiver, start, null); |
| }, |
| get$first: function(receiver) { |
| if (receiver.length > 0) |
| return receiver[0]; |
| throw $.wrapException($.StateError$("No elements")); |
| }, |
| get$last: function(receiver) { |
| var t1 = receiver.length; |
| if (t1 > 0) |
| return receiver[t1 - 1]; |
| throw $.wrapException($.StateError$("No elements")); |
| }, |
| setRange$4: function(receiver, start, end, iterable, skipCount) { |
| if (!!receiver.immutable$list) |
| $.throwExpression($.UnsupportedError$("set range")); |
| $.IterableMixinWorkaround_setRangeList(receiver, start, end, iterable, skipCount); |
| }, |
| get$isEmpty: function(receiver) { |
| return receiver.length === 0; |
| }, |
| toString$0: function(receiver) { |
| var result = $.StringBuffer$(""); |
| $.ToString__emitValue(receiver, result, $.List_List($)); |
| return result.toString$0(result); |
| }, |
| toList$1$growable: function(receiver, growable) { |
| return $.List_List$from(receiver, growable); |
| }, |
| toList$0: function($receiver) { |
| return this.toList$1$growable($receiver, true); |
| }, |
| get$iterator: function(receiver) { |
| return $.ListIterator$(receiver); |
| }, |
| get$hashCode: function(receiver) { |
| return $.Primitives_objectHashCode(receiver); |
| }, |
| get$length: function(receiver) { |
| return receiver.length; |
| }, |
| set$length: function(receiver, newLength) { |
| if (typeof newLength !== "number" || Math.floor(newLength) !== newLength) |
| throw $.wrapException($.ArgumentError$(newLength)); |
| if (newLength < 0) |
| throw $.wrapException($.RangeError$value(newLength)); |
| $.checkGrowable(receiver, "set length"); |
| receiver.length = newLength; |
| }, |
| $index: function(receiver, index) { |
| if (typeof index !== "number" || Math.floor(index) !== index) |
| throw $.wrapException($.ArgumentError$(index)); |
| if (index >= receiver.length || index < 0) |
| throw $.wrapException($.RangeError$value(index)); |
| return receiver[index]; |
| }, |
| $indexSet: function(receiver, index, value) { |
| if (!!receiver.immutable$list) |
| $.throwExpression($.UnsupportedError$("indexed set")); |
| if (typeof index !== "number" || Math.floor(index) !== index) |
| throw $.wrapException($.ArgumentError$(index)); |
| if (index >= receiver.length || index < 0) |
| throw $.wrapException($.RangeError$value(index)); |
| receiver[index] = value; |
| }, |
| $asList: function() { |
| return null; |
| }, |
| $asIterable: function() { |
| return null; |
| }, |
| $isList: function() { |
| return true; |
| }, |
| $isIterable: function() { |
| return true; |
| } |
| }; |
| |
| $$.JSMutableArray = {"": "JSArray;", |
| $asList: function() { |
| return function () { return [null]; }; |
| }, |
| $asIterable: function() { |
| return function () { return [null]; }; |
| } |
| }; |
| |
| $$.JSFixedArray = {"": "JSMutableArray;"}; |
| |
| $$.JSExtendableArray = {"": "JSMutableArray;"}; |
| |
| $$.Primitives_applyFunction_anon = {"": "Closure;namedArguments_0,buffer_1,arguments_2", |
| call$1: function($name) { |
| var t1, t2; |
| this.buffer_1.write$1("$" + $.S($name)); |
| t1 = this.arguments_2; |
| t2 = this.namedArguments_0; |
| t1.push(t2.$index(t2, $name)); |
| } |
| }; |
| |
| $$.DartError = {"": "Object;", |
| get$stack: function() { |
| return this.stack; |
| }, |
| toString$0: function(_) { |
| var dartException = this.dartException; |
| if (!!Error.captureStackTrace || this.get$stack() == null) |
| return $.toString$0(dartException); |
| else |
| return $.S(dartException) + "\n" + $.S(this.get$stack()); |
| }, |
| DartError$1: function(dartException) { |
| this.dartException = dartException; |
| this.toString = $.DartError_toStringWrapper.call$0; |
| } |
| }; |
| |
| $$._StackTrace = {"": "Object;_stack", |
| toString$0: function(_) { |
| var t1 = this._stack; |
| return t1 != null ? t1 : ""; |
| } |
| }; |
| |
| $$.invokeClosure_anon = {"": "Closure;closure_0", |
| call$0: function() { |
| return this.closure_0.call$0(); |
| } |
| }; |
| |
| $$.invokeClosure_anon0 = {"": "Closure;closure_1,arg1_2", |
| call$0: function() { |
| return this.closure_1.call$1(this.arg1_2); |
| } |
| }; |
| |
| $$.invokeClosure_anon1 = {"": "Closure;closure_3,arg1_4,arg2_5", |
| call$0: function() { |
| return this.closure_3.call$2(this.arg1_4, this.arg2_5); |
| } |
| }; |
| |
| $$.Closure = {"": "Object;", |
| toString$0: function(_) { |
| return "Closure"; |
| } |
| }; |
| |
| $$.Null = {"": "Object;"}; |
| |
| $$.JSNumber = {"": "Interceptor;", |
| get$isNaN: function(receiver) { |
| return isNaN(receiver); |
| }, |
| get$isInfinite: function(receiver) { |
| return receiver == Infinity || receiver == -Infinity; |
| }, |
| remainder$1: function(receiver, b) { |
| return receiver % b; |
| }, |
| abs$0: function(receiver) { |
| return Math.abs(receiver); |
| }, |
| toInt$0: function(receiver) { |
| var truncated; |
| if (this.get$isNaN(receiver)) |
| throw $.wrapException($.UnsupportedError$("NaN")); |
| if (this.get$isInfinite(receiver)) |
| throw $.wrapException($.UnsupportedError$("Infinity")); |
| truncated = receiver < 0 ? Math.ceil(receiver) : Math.floor(receiver); |
| return truncated == -0.0 ? 0 : truncated; |
| }, |
| truncate$0: function(receiver) { |
| var truncated; |
| if (this.get$isNaN(receiver)) |
| $.throwExpression($.UnsupportedError$("NaN")); |
| if (this.get$isInfinite(receiver)) |
| $.throwExpression($.UnsupportedError$("Infinity")); |
| truncated = receiver < 0 ? Math.ceil(receiver) : Math.floor(receiver); |
| return truncated == -0.0 ? 0 : truncated; |
| }, |
| ceil$0: function(receiver) { |
| return this.toInt$0(Math.ceil(receiver)); |
| }, |
| floor$0: function(receiver) { |
| return this.toInt$0(Math.floor(receiver)); |
| }, |
| round$0: function(receiver) { |
| return this.toInt$0(this.roundToDouble$0(receiver)); |
| }, |
| roundToDouble$0: function(receiver) { |
| if (receiver < 0) |
| return -Math.round(-receiver); |
| else |
| return Math.round(receiver); |
| }, |
| toString$0: function(receiver) { |
| if (receiver === 0 && 1 / receiver < 0) |
| return "-0.0"; |
| else |
| return "" + receiver; |
| }, |
| get$hashCode: function(receiver) { |
| return receiver & 0x1FFFFFFF; |
| }, |
| $add: function(receiver, other) { |
| if (typeof other !== "number") |
| throw $.wrapException($.ArgumentError$(other)); |
| return receiver + other; |
| }, |
| $sub: function(receiver, other) { |
| if (typeof other !== "number") |
| throw $.wrapException($.ArgumentError$(other)); |
| return receiver - other; |
| }, |
| $div: function(receiver, other) { |
| if (typeof other !== "number") |
| throw $.wrapException($.ArgumentError$(other)); |
| return receiver / other; |
| }, |
| $mul: function(receiver, other) { |
| return receiver * other; |
| }, |
| $tdiv: function(receiver, other) { |
| return this.truncate$0(receiver / other); |
| }, |
| $shl: function(receiver, other) { |
| if (other < 0) |
| throw $.wrapException($.ArgumentError$(other)); |
| if (other > 31) |
| return 0; |
| return receiver << other >>> 0; |
| }, |
| $and: function(receiver, other) { |
| return (receiver & other) >>> 0; |
| }, |
| $lt: function(receiver, other) { |
| if (typeof other !== "number") |
| throw $.wrapException($.ArgumentError$(other)); |
| return receiver < other; |
| }, |
| $gt: function(receiver, other) { |
| if (typeof other !== "number") |
| throw $.wrapException($.ArgumentError$(other)); |
| return receiver > other; |
| }, |
| $le: function(receiver, other) { |
| if (typeof other !== "number") |
| throw $.wrapException($.ArgumentError$(other)); |
| return receiver <= other; |
| }, |
| $ge: function(receiver, other) { |
| if (typeof other !== "number") |
| throw $.wrapException($.ArgumentError$(other)); |
| return receiver >= other; |
| }, |
| $isnum: true |
| }; |
| |
| $$.JSInt = {"": "JSNumber;", $isint: true, $isnum: true}; |
| |
| $$.JSDouble = {"": "JSNumber;", $isdouble: true, $isnum: true}; |
| |
| $$.JSString = {"": "Interceptor;", |
| codeUnitAt$1: function(receiver, index) { |
| if (index < 0) |
| throw $.wrapException($.RangeError$value(index)); |
| if (index >= receiver.length) |
| throw $.wrapException($.RangeError$value(index)); |
| return receiver.charCodeAt(index); |
| }, |
| allMatches$1: function(receiver, str) { |
| return $.allMatchesInStringUnchecked(receiver, str); |
| }, |
| $add: function(receiver, other) { |
| if (typeof other !== "string") |
| throw $.wrapException($.ArgumentError$(other)); |
| return receiver + other; |
| }, |
| endsWith$1: function(receiver, other) { |
| var otherLength, t1; |
| otherLength = other.length; |
| t1 = receiver.length; |
| if (otherLength > t1) |
| return false; |
| return other === this.substring$1(receiver, t1 - otherLength); |
| }, |
| replaceAll$2: function(receiver, from, to) { |
| return $.stringReplaceAllUnchecked(receiver, from, to); |
| }, |
| split$1: function(receiver, pattern) { |
| return receiver.split(pattern); |
| }, |
| substring$2: function(receiver, startIndex, endIndex) { |
| if (endIndex == null) |
| endIndex = receiver.length; |
| if (typeof endIndex !== "number") |
| $.throwExpression($.ArgumentError$(endIndex)); |
| if (startIndex < 0) |
| throw $.wrapException($.RangeError$value(startIndex)); |
| if ($.JSNumber_methods.$gt(startIndex, endIndex)) |
| throw $.wrapException($.RangeError$value(startIndex)); |
| if ($.$gt$n(endIndex, receiver.length)) |
| throw $.wrapException($.RangeError$value(endIndex)); |
| return receiver.substring(startIndex, endIndex); |
| }, |
| substring$1: function($receiver, startIndex) { |
| return this.substring$2($receiver, startIndex, null); |
| }, |
| trim$0: function(receiver) { |
| return receiver.trim(); |
| }, |
| indexOf$2: function(receiver, other, start) { |
| if (other == null) |
| $.throwExpression($.ArgumentError$(null)); |
| if (typeof start !== "number" || Math.floor(start) !== start) |
| throw $.wrapException($.ArgumentError$(start)); |
| if (typeof other !== "string") |
| throw $.wrapException($.ArgumentError$(other)); |
| if (start < 0) |
| return -1; |
| return receiver.indexOf(other, start); |
| }, |
| contains$2: function(receiver, other, startIndex) { |
| if (other == null) |
| $.throwExpression($.ArgumentError$(null)); |
| return $.stringContainsUnchecked(receiver, other, startIndex); |
| }, |
| get$isEmpty: function(receiver) { |
| return receiver.length === 0; |
| }, |
| toString$0: function(receiver) { |
| return receiver; |
| }, |
| get$hashCode: function(receiver) { |
| var hash, i; |
| for (hash = 0, i = 0; i < receiver.length; ++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 $.wrapException($.ArgumentError$(index)); |
| if (index >= receiver.length || index < 0) |
| throw $.wrapException($.RangeError$value(index)); |
| return receiver[index]; |
| }, |
| $isString: true |
| }; |
| |
| $$._convertJsonToDart_anon = {"": "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 = $.makeLiteralMap([]); |
| 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; |
| } |
| }; |
| |
| $$.StringMatch = {"": "Object;start,str,pattern", |
| $index: function(_, g) { |
| if ($.$eq(g, 0) !== true) |
| $.throwExpression($.RangeError$value(g)); |
| return this.pattern; |
| } |
| }; |
| |
| $$._CompleterImpl = {"": "Object;future,_isComplete", |
| complete$1: function(_, value) { |
| if (this._isComplete) |
| throw $.wrapException($.StateError$("Future already completed")); |
| this._isComplete = true; |
| this.future._setValue$1(value); |
| }, |
| completeError$2: function(error, stackTrace) { |
| if (this._isComplete) |
| throw $.wrapException($.StateError$("Future already completed")); |
| this._isComplete = true; |
| if (stackTrace != null) |
| $._attachStackTrace(error, stackTrace); |
| this.future._setError$1(error); |
| }, |
| completeError$1: function(error) { |
| return this.completeError$2(error, null); |
| } |
| }; |
| |
| $$._FutureListenerWrapper = {"": "Object;future,_nextListener@", |
| _sendValue$1: function(value) { |
| this.future._setValue$1(value); |
| }, |
| _sendError$1: function(error) { |
| this.future._setError$1(error); |
| } |
| }; |
| |
| $$._FutureImpl = {"": "Object;_state@,_resultOrListeners<", |
| get$_isComplete: function() { |
| return this._state !== 0; |
| }, |
| get$_hasValue: function() { |
| return this._state === 1; |
| }, |
| get$_hasError: function() { |
| return (this._state & 2) !== 0; |
| }, |
| get$_hasUnhandledError: function() { |
| return (this._state & 4) !== 0; |
| }, |
| then$2$onError: function(f, onError) { |
| var t1; |
| if (!this.get$_isComplete()) { |
| if (onError == null) { |
| t1 = $._ThenFuture$(f); |
| t1._subscribeTo$1(this); |
| return t1; |
| } |
| t1 = $._SubscribeFuture$(f, onError); |
| t1._subscribeTo$1(this); |
| return t1; |
| } |
| if (this.get$_hasError()) { |
| if (onError != null) |
| return this._handleError$2(onError, null); |
| return $._FutureWrapper$(this); |
| } else |
| return this._handleValue$1(f); |
| }, |
| then$1: function(f) { |
| return this.then$2$onError(f, null); |
| }, |
| catchError$2$test: function(f, test) { |
| var t1; |
| if (this.get$_hasValue()) |
| return $._FutureWrapper$(this); |
| if (!this.get$_isComplete()) { |
| t1 = $._CatchErrorFuture$(f, test); |
| t1._subscribeTo$1(this); |
| return t1; |
| } else |
| return this._handleError$2(f, test); |
| }, |
| catchError$1: function(f) { |
| return this.catchError$2$test(f, null); |
| }, |
| _handleValue$1: function(onValue) { |
| var thenFuture = $._ThenFuture$(onValue); |
| $.Timer_run(new $._FutureImpl__handleValue_anon(thenFuture, this._resultOrListeners)); |
| return thenFuture; |
| }, |
| _handleError$2: function(onError, test) { |
| var error, errorFuture; |
| this._state = (this._state & 4294967291) >>> 0; |
| error = this._resultOrListeners; |
| errorFuture = $._CatchErrorFuture$(onError, test); |
| $.Timer_run(new $._FutureImpl__handleError_anon(error, errorFuture)); |
| return errorFuture; |
| }, |
| _setValue$1: function(value) { |
| var listeners, listeners0; |
| if (this.get$_isComplete()) |
| throw $.wrapException($.StateError$("Future already completed")); |
| listeners = this._removeListeners$0(); |
| this._state = 1; |
| this._resultOrListeners = value; |
| for (; listeners != null; listeners = listeners0) { |
| listeners0 = listeners.get$_nextListener(); |
| listeners.set$_nextListener(null); |
| listeners._sendValue$1(value); |
| } |
| }, |
| get$_setValue: function() { |
| return new $.BoundClosure$1(this, "_setValue$1"); |
| }, |
| _setError$1: function(error) { |
| var listeners, listeners0; |
| if (this.get$_isComplete()) |
| throw $.wrapException($.StateError$("Future already completed")); |
| listeners = this._removeListeners$0(); |
| this._state = 2; |
| this._resultOrListeners = error; |
| if (listeners == null) { |
| this._scheduleUnhandledError$0(); |
| return; |
| } |
| do { |
| listeners0 = listeners.get$_nextListener(); |
| listeners.set$_nextListener(null); |
| listeners._sendError$1(error); |
| if (listeners0 != null) { |
| listeners = listeners0; |
| continue; |
| } else |
| break; |
| } while (true); |
| }, |
| get$_setError: function() { |
| return new $.BoundClosure$1(this, "_setError$1"); |
| }, |
| _scheduleUnhandledError$0: function() { |
| this._state = (this._state | 4) >>> 0; |
| $.Timer_run(new $._FutureImpl__scheduleUnhandledError_anon(this)); |
| }, |
| _addListener$1: function(listener) { |
| 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; |
| }, |
| _chain$1: function(future) { |
| var t1; |
| if (!this.get$_isComplete()) { |
| t1 = future._asListener$0(); |
| t1._nextListener = this._resultOrListeners; |
| this._resultOrListeners = t1; |
| } else if (this.get$_hasValue()) |
| future._setValue$1(this._resultOrListeners); |
| else { |
| this._state = (this._state & 4294967291) >>> 0; |
| future._setError$1(this._resultOrListeners); |
| } |
| }, |
| _setOrChainValue$1: function(result) { |
| if (typeof result === "object" && result !== null && !!$.getInterceptor(result).$isFuture) |
| if (!!$.getInterceptor(result).$is_FutureImpl) { |
| result._chain$1(this); |
| return; |
| } else { |
| result.then$2$onError(this.get$_setValue(), this.get$_setError()); |
| return; |
| } |
| else |
| this._setValue$1(result); |
| }, |
| _asListener$0: function() { |
| return $._FutureListenerWrapper$(this); |
| }, |
| _FutureImpl$immediate$1: function(value) { |
| this._state = 1; |
| this._resultOrListeners = value; |
| }, |
| $is_FutureImpl: true, |
| $isFuture: true |
| }; |
| |
| $$._FutureImpl__FutureImpl$wait_handleError = {"": "Closure;box_0", |
| call$1: function(error) { |
| var t1 = this.box_0; |
| if (t1.values_1 != null) { |
| t1.values_1 = null; |
| t1.completer_0.completeError$1(error); |
| } |
| } |
| }; |
| |
| $$._FutureImpl__FutureImpl$wait_anon = {"": "Closure;box_0,pos_1", |
| call$1: function(value) { |
| var t1, t2; |
| t1 = this.box_0; |
| t2 = t1.values_1; |
| if (t2 == null) |
| return; |
| $.$indexSet$ax(t2, this.pos_1, value); |
| t1.remaining_2 = $.$sub$n(t1.remaining_2, 1); |
| if ($.$eq(t1.remaining_2, 0)) { |
| t2 = t1.completer_0; |
| t2.complete$1(t2, t1.values_1); |
| } |
| } |
| }; |
| |
| $$._FutureImpl__handleValue_anon = {"": "Closure;thenFuture_0,value_1", |
| call$0: function() { |
| this.thenFuture_0._sendValue$1(this.value_1); |
| } |
| }; |
| |
| $$._FutureImpl__handleError_anon = {"": "Closure;error_0,errorFuture_1", |
| call$0: function() { |
| this.errorFuture_1._sendError$1(this.error_0); |
| } |
| }; |
| |
| $$._FutureImpl__scheduleUnhandledError_anon = {"": "Closure;this_0", |
| call$0: function() { |
| var t1, error, trace; |
| t1 = this.this_0; |
| if (t1.get$_hasUnhandledError()) { |
| t1.set$_state((t1.get$_state() & 4294967291) >>> 0); |
| error = t1.get$_resultOrListeners(); |
| $.Primitives_printString("Uncaught Error: " + $.S(error)); |
| trace = $.getAttachedStackTrace(error); |
| if (trace != null) |
| $.Primitives_printString("Stack Trace:\n" + $.S(trace) + "\n"); |
| throw $.wrapException(error); |
| } |
| } |
| }; |
| |
| $$._TransformFuture = {"": "_FutureImpl;_nextListener@", |
| _subscribeTo$1: function(future) { |
| future._addListener$1(this); |
| }, |
| $as_FutureImpl: function (S, T) { return [T]; }, |
| $asFuture: function (S, T) { return [T]; } |
| }; |
| |
| $$._ThenFuture = {"": "_TransformFuture;_onValue,_nextListener,_state,_resultOrListeners", |
| _onValue$1: function(arg0) { |
| return this._onValue.call$1(arg0); |
| }, |
| _sendValue$1: function(value) { |
| var result, e, s, exception, t1; |
| result = null; |
| try { |
| result = this._onValue$1(value); |
| } catch (exception) { |
| t1 = $.unwrapException(exception); |
| e = t1; |
| s = $.getTraceFromException(exception); |
| this._setError$1($._asyncError(e, s)); |
| return; |
| } |
| |
| this._setOrChainValue$1(result); |
| }, |
| _sendError$1: function(error) { |
| this._setError$1(error); |
| }, |
| $as_FutureImpl: function (S, T) { return [T]; }, |
| $asFuture: function (S, T) { return [T]; } |
| }; |
| |
| $$._CatchErrorFuture = {"": "_TransformFuture;_test,_onError,_nextListener,_state,_resultOrListeners", |
| _test$1: function(arg0) { |
| return this._test.call$1(arg0); |
| }, |
| _onError$1: function(arg0) { |
| return this._onError.call$1(arg0); |
| }, |
| _sendValue$1: function(value) { |
| this._setValue$1(value); |
| }, |
| _sendError$1: function(error) { |
| var matchesTest, e, s, result, e0, s0, exception, t1; |
| if (this._test != null) { |
| matchesTest = null; |
| try { |
| matchesTest = this._test$1(error); |
| } catch (exception) { |
| t1 = $.unwrapException(exception); |
| e = t1; |
| s = $.getTraceFromException(exception); |
| this._setError$1($._asyncError(e, s)); |
| return; |
| } |
| |
| if (matchesTest !== true) { |
| this._setError$1(error); |
| return; |
| } |
| } |
| result = null; |
| try { |
| result = this._onError$1(error); |
| } catch (exception) { |
| t1 = $.unwrapException(exception); |
| e0 = t1; |
| s0 = $.getTraceFromException(exception); |
| this._setError$1($._asyncError(e0, s0)); |
| return; |
| } |
| |
| this._setOrChainValue$1(result); |
| }, |
| $as_FutureImpl: null, |
| $asFuture: null |
| }; |
| |
| $$._SubscribeFuture = {"": "_ThenFuture;_onError,_onValue,_nextListener,_state,_resultOrListeners", |
| _onError$1: function(arg0) { |
| return this._onError.call$1(arg0); |
| }, |
| _sendError$1: function(error) { |
| var result, e, s, exception, t1; |
| result = null; |
| try { |
| result = this._onError$1(error); |
| } catch (exception) { |
| t1 = $.unwrapException(exception); |
| e = t1; |
| s = $.getTraceFromException(exception); |
| this._setError$1($._asyncError(e, s)); |
| return; |
| } |
| |
| this._setOrChainValue$1(result); |
| }, |
| $as_FutureImpl: function (S, T) { return [T]; }, |
| $asFuture: function (S, T) { return [T]; } |
| }; |
| |
| $$._FutureWrapper = {"": "Object;_future", |
| then$2$onError: function($function, onError) { |
| return this._future.then$2$onError($function, onError); |
| }, |
| then$1: function($function) { |
| return this.then$2$onError($function, null); |
| }, |
| catchError$2$test: function($function, test) { |
| return this._future.catchError$2$test($function, test); |
| }, |
| catchError$1: function($function) { |
| return this.catchError$2$test($function, null); |
| }, |
| $isFuture: true |
| }; |
| |
| $$.Stream = {"": "Object;", |
| get$length: function(_) { |
| var t1, future, t2, t3; |
| t1 = {}; |
| future = $._FutureImpl$(); |
| t1.count_0 = 0; |
| t2 = new $.Stream_length_anon(t1); |
| t3 = future.get$_setError(); |
| this.listen$4$cancelOnError$onDone$onError(t2, true, new $.Stream_length_anon0(t1, future), t3); |
| return future; |
| }, |
| get$isEmpty: function(_) { |
| var t1, future, t2, t3; |
| t1 = {}; |
| future = $._FutureImpl$(); |
| t1.subscription_0 = null; |
| t2 = new $.Stream_isEmpty_anon(t1, future); |
| t3 = future.get$_setError(); |
| t1.subscription_0 = this.listen$4$cancelOnError$onDone$onError(t2, true, new $.Stream_isEmpty_anon0(future), t3); |
| return future; |
| }, |
| skip$1: function(_, count) { |
| return $._SkipStream$(this, count); |
| } |
| }; |
| |
| $$.Stream_length_anon = {"": "Closure;box_0", |
| call$1: function(_) { |
| var t1 = this.box_0; |
| t1.count_0 = $.$add$ns(t1.count_0, 1); |
| } |
| }; |
| |
| $$.Stream_length_anon0 = {"": "Closure;box_0,future_1", |
| call$0: function() { |
| this.future_1._setValue$1(this.box_0.count_0); |
| } |
| }; |
| |
| $$.Stream_isEmpty_anon = {"": "Closure;box_0,future_1", |
| call$1: function(_) { |
| this.box_0.subscription_0.cancel$0(); |
| this.future_1._setValue$1(false); |
| } |
| }; |
| |
| $$.Stream_isEmpty_anon0 = {"": "Closure;future_2", |
| call$0: function() { |
| this.future_2._setValue$1(true); |
| } |
| }; |
| |
| $$.StreamSubscription = {"": "Object;"}; |
| |
| $$.EventSink = {"": "Object;"}; |
| |
| $$._throwDelayed_anon = {"": "Closure;error_0,stackTrace_1", |
| call$0: function() { |
| var t1, t2, trace, t3; |
| t1 = this.stackTrace_1; |
| if (t1 != null) |
| $.Primitives_printString($.JSNull_methods.toString$0(t1)); |
| t2 = this.error_0; |
| trace = $.getAttachedStackTrace(t2); |
| t3 = $.getInterceptor(trace); |
| if (trace != null && t3.$eq(trace, t1) !== true) |
| $.Primitives_printString(t3.toString$0(trace)); |
| throw $.wrapException(t2); |
| } |
| }; |
| |
| $$._ForwardingStream = {"": "Stream;", |
| listen$4$cancelOnError$onDone$onError: function(onData, cancelOnError, onDone, onError) { |
| if (onData == null) |
| onData = $._nullDataHandler; |
| if (onError == null) |
| onError = $._nullErrorHandler; |
| if (onDone == null) |
| onDone = $._nullDoneHandler; |
| return $._ForwardingStreamSubscription$(this, onData, onError, onDone, true === cancelOnError); |
| }, |
| 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._sendData$1(data); |
| }, |
| _handleError$2: function(error, sink) { |
| sink._sendError$1(error); |
| }, |
| _handleDone$1: function(sink) { |
| sink._sendDone$0(); |
| } |
| }; |
| |
| $$._BaseStreamSubscription = {"": "Object;", |
| _onData$1: function(arg0) { |
| return this._onData.call$1(arg0); |
| }, |
| _onError$1: function(arg0) { |
| return this._onError.call$1(arg0); |
| }, |
| _onDone$0: function() { |
| return this._onDone.call$0(); |
| }, |
| _BaseStreamSubscription$3: function(_onData, _onError, _onDone) { |
| if (this._onData == null) |
| this._onData = $._nullDataHandler; |
| if (this._onError == null) |
| this._onError = $._nullErrorHandler; |
| if (this._onDone == null) |
| this._onDone = $._nullDoneHandler; |
| } |
| }; |
| |
| $$._ForwardingStreamSubscription = {"": "_BaseStreamSubscription;_stream,_cancelOnError,_subscription,_onData,_onError,_onDone", |
| cancel$0: function() { |
| var t1 = this._subscription; |
| if (t1 != null) { |
| t1.cancel$0(); |
| this._subscription = null; |
| } |
| }, |
| _sendData$1: function(data) { |
| this._onData$1(data); |
| }, |
| _sendError$1: function(error) { |
| this._onError$1(error); |
| if (this._cancelOnError) { |
| this._subscription.cancel$0(); |
| this._subscription = null; |
| } |
| }, |
| _sendDone$0: function() { |
| var t1 = this._subscription; |
| if (t1 != null) { |
| t1.cancel$0(); |
| this._subscription = null; |
| } |
| this._onDone$0(); |
| }, |
| _handleData$1: function(data) { |
| this._stream._handleData$2(data, this); |
| }, |
| get$_handleData: function() { |
| return new $.BoundClosure$1(this, "_handleData$1"); |
| }, |
| _handleError$1: function(error) { |
| this._stream._handleError$2(error, this); |
| }, |
| get$_handleError: function() { |
| return new $.BoundClosure$1(this, "_handleError$1"); |
| }, |
| _handleDone$0: function() { |
| this._subscription = null; |
| this._stream._handleDone$1(this); |
| }, |
| get$_handleDone: function() { |
| return new $.BoundClosure$0(this, "_handleDone$0"); |
| }, |
| _ForwardingStreamSubscription$5: function(_stream, onData, onError, onDone, _cancelOnError) { |
| var t1, t2; |
| t1 = this.get$_handleData(); |
| t2 = this.get$_handleError(); |
| this._subscription = this._stream._source.listen$3$onDone$onError(t1, this.get$_handleDone(), t2); |
| } |
| }; |
| |
| $$._SkipStream = {"": "_ForwardingStream;_remaining,_source", |
| _handleData$2: function(inputEvent, sink) { |
| var t1 = this._remaining; |
| if (t1 > 0) { |
| this._remaining = t1 - 1; |
| return; |
| } |
| return sink._sendData$1(inputEvent); |
| }, |
| _SkipStream$2: function(source, count) { |
| if (typeof count !== "number" || Math.floor(count) !== count || count < 0) |
| throw $.wrapException($.ArgumentError$(count)); |
| } |
| }; |
| |
| $$.Timer_run_anon = {"": "Closure;", |
| call$0: function() { |
| var runCallbacks, i, callback, newCallbacks, exception; |
| runCallbacks = $.get$Timer__runCallbacks(); |
| $.Timer__runCallbacks = []; |
| for (i = 0; $.$lt$n(i, $.get$length$asx(runCallbacks)); i = $.$add$ns(i, 1)) { |
| callback = $.$index$asx(runCallbacks, i); |
| try { |
| callback.call$0(); |
| } catch (exception) { |
| $.unwrapException(exception); |
| newCallbacks = $.get$Timer__runCallbacks(); |
| $.Timer__runCallbacks = []; |
| i = $.$add$ns(i, 1); |
| $.addAll$1$ax($.get$Timer__runCallbacks(), $.sublist$1$ax(runCallbacks, i)); |
| $.addAll$1$ax($.get$Timer__runCallbacks(), newCallbacks); |
| throw exception; |
| } |
| |
| } |
| } |
| }; |
| |
| $$.HashMap = {"": "Object;_liblib0$_length,_strings,_nums,_rest,_keys", |
| get$length: function(_) { |
| return this._liblib0$_length; |
| }, |
| get$isEmpty: function(_) { |
| return this._liblib0$_length === 0; |
| }, |
| get$keys: function() { |
| return $.HashMapKeyIterable$(this); |
| }, |
| get$values: function(_) { |
| var t1 = this.get$keys(); |
| return t1.map$1(t1, new $.HashMap_values_anon(this)); |
| }, |
| 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 $.HashMap__findBucketIndex(rest[$.get$hashCode$(key) & 0x3ffffff], key) >= 0; |
| } |
| }, |
| addAll$1: function(_, other) { |
| $.forEach$1$ax(other, new $.HashMap_addAll_anon(this)); |
| }, |
| $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[$.get$hashCode$(key) & 0x3ffffff]; |
| index = $.HashMap__findBucketIndex(bucket, key); |
| return index < 0 ? null : bucket[index + 1]; |
| } |
| }, |
| $indexSet: function(_, key, value) { |
| var strings, table, nums, rest, hash, bucket, index; |
| if (typeof key === "string" && key !== "__proto__") { |
| strings = this._strings; |
| if (strings == null) { |
| table = Object.create(null); |
| if (table == null) |
| ; |
| table["<non-identifier-key>"] = table; |
| delete table["<non-identifier-key>"]; |
| this._strings = table; |
| strings = table; |
| } |
| if (strings[key] == null) { |
| this._liblib0$_length = this._liblib0$_length + 1; |
| this._keys = null; |
| } |
| if (value == null) |
| value = strings; |
| strings[key] = value; |
| } else if (typeof key === "number" && (key & 0x3ffffff) === key) { |
| nums = this._nums; |
| if (nums == null) { |
| table = Object.create(null); |
| if (table == null) |
| ; |
| table["<non-identifier-key>"] = table; |
| delete table["<non-identifier-key>"]; |
| this._nums = table; |
| nums = table; |
| } |
| if (nums[key] == null) { |
| this._liblib0$_length = this._liblib0$_length + 1; |
| this._keys = null; |
| } |
| if (value == null) |
| value = nums; |
| nums[key] = value; |
| } else { |
| rest = this._rest; |
| if (rest == null) { |
| table = Object.create(null); |
| if (table == null) |
| ; |
| table["<non-identifier-key>"] = table; |
| delete table["<non-identifier-key>"]; |
| this._rest = table; |
| rest = table; |
| } |
| hash = $.get$hashCode$(key) & 0x3ffffff; |
| bucket = rest[hash]; |
| if (bucket == null) { |
| value = [key, value]; |
| if (value == null) |
| value = rest; |
| rest[hash] = value; |
| this._liblib0$_length = this._liblib0$_length + 1; |
| this._keys = null; |
| } else { |
| index = $.HashMap__findBucketIndex(bucket, key); |
| if (index >= 0) |
| bucket[index + 1] = value; |
| else { |
| bucket.push(key, value); |
| this._liblib0$_length = this._liblib0$_length + 1; |
| this._keys = null; |
| } |
| } |
| } |
| }, |
| remove$1: function(_, key) { |
| var rest, bucket, index; |
| 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[$.get$hashCode$(key) & 0x3ffffff]; |
| index = $.HashMap__findBucketIndex(bucket, key); |
| if (index < 0) |
| return; |
| this._liblib0$_length = this._liblib0$_length - 1; |
| this._keys = null; |
| return bucket.splice(index, 2)[1]; |
| } |
| }, |
| forEach$1: function(_, action) { |
| var keys, $length, i, key; |
| keys = this._computeKeys$0(); |
| for ($length = $.get$length$asx(keys), i = 0; i < $length; ++i) { |
| key = keys[i]; |
| action.call$2(key, this.$index(this, key)); |
| if (keys !== this._keys) |
| throw $.wrapException($.ConcurrentModificationError$(this)); |
| } |
| }, |
| toString$0: function(_) { |
| var result = $.StringBuffer$(""); |
| $.ToString__emitPair(this, result, $.List_List($)); |
| return result.toString$0(result); |
| }, |
| _computeKeys$0: function() { |
| var t1, result, strings, names, entries, index, i, nums, rest, bucket, $length, i0; |
| t1 = this._keys; |
| if (t1 != null) |
| return t1; |
| result = $.List_List(this._liblib0$_length); |
| 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._keys = result; |
| return result; |
| }, |
| _removeHashTableEntry$2: function(table, key) { |
| var entry, value; |
| if (table != null && table[key] != null) { |
| entry = table[key]; |
| value = entry === table ? null : entry; |
| delete table[key]; |
| this._liblib0$_length = this._liblib0$_length - 1; |
| this._keys = null; |
| return value; |
| } else |
| return; |
| }, |
| $isMap: true |
| }; |
| |
| $$._HashSetBase = {"": "IterableBase;", |
| toString$0: function(_) { |
| var result = $.StringBuffer$(""); |
| $.ToString__emitValue(this, result, $.List_List($)); |
| return result.toString$0(result); |
| }, |
| $asIterable: function() { |
| return null; |
| }, |
| $isIterable: function() { |
| return true; |
| } |
| }; |
| |
| $$.IterableBase = {"": "Object;", |
| map$1: function(_, f) { |
| return $.MappedIterable$(this, f); |
| }, |
| forEach$1: function(_, f) { |
| var t1; |
| for (t1 = this.get$iterator(this); t1.moveNext$0() === true;) |
| f.call$1(t1.get$current()); |
| }, |
| join$1: function(_, separator) { |
| var iterator, buffer; |
| if (typeof separator !== "string") |
| return this.join$1$bailout(1, separator); |
| iterator = this.get$iterator(this); |
| if (iterator.moveNext$0() !== true) |
| return ""; |
| buffer = $.StringBuffer$(""); |
| if (separator === "") |
| do |
| buffer.write$1($.S(iterator.get$current())); |
| while (iterator.moveNext$0() === true); |
| else { |
| buffer.write$1($.S(iterator.get$current())); |
| for (; iterator.moveNext$0() === true;) { |
| buffer.write$1(separator); |
| buffer.write$1($.S(iterator.get$current())); |
| } |
| } |
| return buffer.toString$0(buffer); |
| }, |
| join$1$bailout: function(state0, separator) { |
| var iterator, buffer; |
| iterator = this.get$iterator(this); |
| if (iterator.moveNext$0() !== true) |
| return ""; |
| buffer = $.StringBuffer$(""); |
| if (separator == null || $.$eq(separator, "") === true) |
| do |
| buffer.write$1($.S(iterator.get$current())); |
| while (iterator.moveNext$0() === true); |
| else { |
| buffer.write$1($.S(iterator.get$current())); |
| for (; iterator.moveNext$0() === true;) { |
| buffer.write$1(separator); |
| buffer.write$1($.S(iterator.get$current())); |
| } |
| } |
| return buffer.toString$0(buffer); |
| }, |
| toList$1$growable: function(_, growable) { |
| return $.List_List$from(this, growable); |
| }, |
| 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() === true;) |
| ++count; |
| return count; |
| }, |
| get$isEmpty: function(_) { |
| return this.get$iterator(this).moveNext$0() !== true; |
| }, |
| skip$1: function(_, n) { |
| return $.SkipIterable$(this, n); |
| }, |
| elementAt$1: function(_, index) { |
| var t1, remaining, t2; |
| if (typeof index !== "number") |
| return this.elementAt$1$bailout(1, index); |
| if (typeof index !== "number" || Math.floor(index) !== index || index < 0) |
| throw $.wrapException($.RangeError$value(index)); |
| for (t1 = this.get$iterator(this), remaining = index; t1.moveNext$0() === true;) { |
| t2 = t1.get$current(); |
| if (remaining === 0) |
| return t2; |
| --remaining; |
| } |
| throw $.wrapException($.RangeError$value(index)); |
| }, |
| elementAt$1$bailout: function(state0, index) { |
| var t1, remaining, t2, t3; |
| if (typeof index !== "number" || Math.floor(index) !== index || index < 0) |
| throw $.wrapException($.RangeError$value(index)); |
| for (t1 = this.get$iterator(this), remaining = index; t1.moveNext$0() === true;) { |
| t2 = t1.get$current(); |
| t3 = $.getInterceptor(remaining); |
| if (t3.$eq(remaining, 0)) |
| return t2; |
| remaining = t3.$sub(remaining, 1); |
| } |
| throw $.wrapException($.RangeError$value(index)); |
| }, |
| $isIterable: function() { |
| return true; |
| }, |
| $asIterable: function() { |
| return null; |
| } |
| }; |
| |
| $$.LinkedHashMap = {"": "Object;_liblib0$_length,_strings,_nums,_rest,_first,_last,_modifications", |
| addAll$1: function(_, other) { |
| $.forEach$1$ax(other, new $.LinkedHashMap_addAll_anon(this)); |
| }, |
| $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$_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$_value(); |
| } else { |
| rest = this._rest; |
| if (rest == null) |
| return; |
| bucket = rest[$.get$hashCode$(key) & 0x3ffffff]; |
| index = $.LinkedHashMap__findBucketIndex(bucket, key); |
| if (index < 0) |
| return; |
| return bucket[index].get$_value(); |
| } |
| }, |
| $indexSet: function(_, key, value) { |
| var strings, table, nums, rest, hash, bucket, index; |
| if (typeof key === "string" && key !== "__proto__") { |
| strings = this._strings; |
| if (strings == null) { |
| table = Object.create(null); |
| table["<non-identifier-key>"] = table; |
| delete table["<non-identifier-key>"]; |
| this._strings = table; |
| strings = table; |
| } |
| this._addHashTableEntry$3(strings, key, value); |
| } else if (typeof key === "number" && (key & 0x3ffffff) === key) { |
| nums = this._nums; |
| if (nums == null) { |
| table = Object.create(null); |
| table["<non-identifier-key>"] = table; |
| delete table["<non-identifier-key>"]; |
| this._nums = table; |
| nums = table; |
| } |
| this._addHashTableEntry$3(nums, key, value); |
| } else { |
| rest = this._rest; |
| if (rest == null) { |
| table = Object.create(null); |
| table["<non-identifier-key>"] = table; |
| delete table["<non-identifier-key>"]; |
| this._rest = table; |
| rest = table; |
| } |
| hash = $.get$hashCode$(key) & 0x3ffffff; |
| bucket = rest[hash]; |
| if (bucket == null) |
| rest[hash] = [this._newLinkedCell$2(key, value)]; |
| else { |
| index = $.LinkedHashMap__findBucketIndex(bucket, key); |
| if (index >= 0) |
| bucket[index].set$_value(value); |
| else |
| bucket.push(this._newLinkedCell$2(key, value)); |
| } |
| } |
| }, |
| forEach$1: function(_, action) { |
| var cell, modifications; |
| cell = this._first; |
| modifications = this._modifications; |
| for (; cell != null;) { |
| action.call$2(cell.get$_key(), cell.get$_value()); |
| if (modifications !== this._modifications) |
| throw $.wrapException($.ConcurrentModificationError$(this)); |
| cell = cell.get$_next(); |
| } |
| }, |
| get$keys: function() { |
| return $.LinkedHashMapKeyIterable$(this); |
| }, |
| get$values: function(_) { |
| var t1 = this.get$keys(); |
| return t1.map$1(t1, new $.LinkedHashMap_values_anon(this)); |
| }, |
| get$length: function(_) { |
| return this._liblib0$_length; |
| }, |
| get$isEmpty: function(_) { |
| return this._liblib0$_length === 0; |
| }, |
| toString$0: function(_) { |
| var result = $.StringBuffer$(""); |
| $.ToString__emitPair(this, result, $.List_List($)); |
| return result.toString$0(result); |
| }, |
| _addHashTableEntry$3: function(table, key, value) { |
| var cell = table[key]; |
| if (cell == null) |
| table[key] = this._newLinkedCell$2(key, value); |
| else |
| cell.set$_value(value); |
| }, |
| _newLinkedCell$2: function(key, value) { |
| var cell, last; |
| cell = $.LinkedHashMapCell$(key, value); |
| 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; |
| }, |
| $isMap: true |
| }; |
| |
| $$.LinkedHashSet = {"": "_HashSetBase;_liblib0$_length,_strings,_nums,_rest,_first,_last,_modifications", |
| get$iterator: function(_) { |
| return $.LinkedHashSetIterator$(this, this._modifications); |
| }, |
| get$length: function(_) { |
| return this._liblib0$_length; |
| }, |
| get$isEmpty: function(_) { |
| return this._liblib0$_length === 0; |
| }, |
| contains$1: function(_, object) { |
| var strings, nums, rest; |
| if (object !== "__proto__") { |
| strings = this._strings; |
| if (strings == null) |
| return false; |
| return strings[object] != null; |
| } else if (false) { |
| nums = this._nums; |
| if (nums == null) |
| return false; |
| return nums[object] != null; |
| } else { |
| rest = this._rest; |
| if (rest == null) |
| return false; |
| return $.LinkedHashSet__findBucketIndex(rest[$.JSString_methods.get$hashCode(object) & 0x3ffffff], object) >= 0; |
| } |
| }, |
| forEach$1: function(_, action) { |
| var cell, modifications; |
| cell = this._first; |
| modifications = this._modifications; |
| for (; cell != null;) { |
| action.call$1(cell.get$_element()); |
| if (modifications !== this._modifications) |
| throw $.wrapException($.ConcurrentModificationError$(this)); |
| cell = cell.get$_next(); |
| } |
| }, |
| add$1: function(_, element) { |
| var strings, table, nums, rest, hash, bucket; |
| if (typeof element === "string" && element !== "__proto__") { |
| strings = this._strings; |
| if (strings == null) { |
| table = Object.create(null); |
| table["<non-identifier-key>"] = table; |
| delete table["<non-identifier-key>"]; |
| this._strings = table; |
| strings = table; |
| } |
| this._addHashTableEntry$2(strings, element); |
| } else if (typeof element === "number" && (element & 0x3ffffff) === element) { |
| nums = this._nums; |
| if (nums == null) { |
| table = Object.create(null); |
| table["<non-identifier-key>"] = table; |
| delete table["<non-identifier-key>"]; |
| this._nums = table; |
| nums = table; |
| } |
| this._addHashTableEntry$2(nums, element); |
| } else { |
| rest = this._rest; |
| if (rest == null) { |
| table = Object.create(null); |
| table["<non-identifier-key>"] = table; |
| delete table["<non-identifier-key>"]; |
| this._rest = table; |
| rest = table; |
| } |
| hash = $.get$hashCode$(element) & 0x3ffffff; |
| bucket = rest[hash]; |
| if (bucket == null) |
| rest[hash] = [this._newLinkedCell$1(element)]; |
| else { |
| if ($.LinkedHashSet__findBucketIndex(bucket, element) >= 0) |
| return; |
| bucket.push(this._newLinkedCell$1(element)); |
| } |
| } |
| }, |
| addAll$1: function(_, objects) { |
| var t1; |
| for (t1 = $.get$iterator$ax(objects); t1.moveNext$0() === true;) |
| this.add$1(this, t1.get$current()); |
| }, |
| remove$1: function(_, object) { |
| var rest, bucket, index; |
| if (object !== "__proto__") |
| return this._removeHashTableEntry$2(this._strings, object); |
| else if (false) |
| return this._removeHashTableEntry$2(this._nums, object); |
| else { |
| rest = this._rest; |
| if (rest == null) |
| return false; |
| bucket = rest[$.JSString_methods.get$hashCode(object) & 0x3ffffff]; |
| index = $.LinkedHashSet__findBucketIndex(bucket, object); |
| if (index < 0) |
| return false; |
| this._unlinkCell$1(bucket.splice(index, 1)[0]); |
| return true; |
| } |
| }, |
| _addHashTableEntry$2: function(table, element) { |
| if (table[element] != null) |
| return; |
| table[element] = this._newLinkedCell$1(element); |
| }, |
| _removeHashTableEntry$2: function(table, element) { |
| var cell; |
| if (table == null) |
| return false; |
| cell = table[element]; |
| if (cell == null) |
| return false; |
| this._unlinkCell$1(cell); |
| delete table[element]; |
| return true; |
| }, |
| _newLinkedCell$1: function(element) { |
| var cell, last; |
| cell = $.LinkedHashSetCell$(element); |
| if (this._first == null) { |
| this._last = cell; |
| this._first = cell; |
| } else { |
| last = this._last; |
| cell._previous = last; |
| last.set$_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.set$_next(next); |
| if (next == null) |
| this._last = previous; |
| else |
| next.set$_previous(previous); |
| this._liblib0$_length = this._liblib0$_length - 1; |
| this._modifications = this._modifications + 1 & 67108863; |
| }, |
| $asIterable: function() { |
| return null; |
| } |
| }; |
| |
| $$.ListBase = {"": "Object;", |
| get$iterator: function(_) { |
| return $.ListIterator$(this); |
| }, |
| elementAt$1: function(_, index) { |
| return this.$index(this, index); |
| }, |
| forEach$1: function(_, action) { |
| var $length, i; |
| $length = this.get$length(this); |
| if (typeof $length !== "number") |
| return this.forEach$1$bailout(1, action, $length); |
| for (i = 0; i < $length; ++i) { |
| action.call$1(this.$index(this, i)); |
| if ($length !== this.get$length(this)) |
| throw $.wrapException($.ConcurrentModificationError$(this)); |
| } |
| }, |
| forEach$1$bailout: function(state0, action, $length) { |
| var t1, i; |
| for (t1 = $.getInterceptor($length), i = 0; $.JSNumber_methods.$lt(i, $length); ++i) { |
| action.call$1(this.$index(this, i)); |
| if (t1.$eq($length, this.get$length(this)) !== true) |
| throw $.wrapException($.ConcurrentModificationError$(this)); |
| } |
| }, |
| get$isEmpty: function(_) { |
| return $.$eq(this.get$length(this), 0); |
| }, |
| where$1: function(_, test) { |
| return $.WhereIterable$(this, test); |
| }, |
| skip$1: function(_, count) { |
| return $.SubListIterable$(this, count, null); |
| }, |
| toList$1$growable: function(_, growable) { |
| var result, i, t1; |
| if (growable === true) { |
| result = $.List_List($); |
| $.JSArray_methods.set$length(result, this.get$length(this)); |
| } else |
| result = $.List_List(this.get$length(this)); |
| for (i = 0; $.JSNumber_methods.$lt(i, this.get$length(this)); ++i) { |
| t1 = this.$index(this, i); |
| if (i >= result.length) |
| throw $.ioore(i); |
| result[i] = t1; |
| } |
| return result; |
| }, |
| toList$0: function($receiver) { |
| return this.toList$1$growable($receiver, true); |
| }, |
| add$1: function(_, element) { |
| var t1 = this.get$length(this); |
| if (typeof t1 !== "number") |
| return this.add$1$bailout(1, element, t1); |
| this.set$length(this, t1 + 1); |
| this.$indexSet(this, t1, element); |
| }, |
| add$1$bailout: function(state0, element, t1) { |
| this.set$length(this, $.$add$ns(t1, 1)); |
| this.$indexSet(this, t1, element); |
| }, |
| addAll$1: function(_, iterable) { |
| var t1, t2, t3; |
| for (t1 = $.get$iterator$ax(iterable); t1.moveNext$0() === true;) { |
| t2 = t1.get$current(); |
| t3 = this.get$length(this); |
| this.set$length(this, $.$add$ns(t3, 1)); |
| this.$indexSet(this, t3, t2); |
| } |
| }, |
| clear$0: function(_) { |
| this.set$length(this, 0); |
| }, |
| removeLast$0: function(_) { |
| var result; |
| if ($.$eq(this.get$length(this), 0) === true) |
| throw $.wrapException($.StateError$("No elements")); |
| result = this.$index(this, $.$sub$n(this.get$length(this), 1)); |
| this.set$length(this, $.$sub$n(this.get$length(this), 1)); |
| return result; |
| }, |
| sublist$2: function(_, start, end) { |
| var t1, $length, result, i; |
| if (typeof start !== "number") |
| return this.sublist$2$bailout(1, start, end); |
| if (end == null) |
| end = this.get$length(this); |
| if (start < 0 || $.JSNumber_methods.$gt(start, this.get$length(this))) |
| $.throwExpression($.RangeError$range(start, 0, this.get$length(this))); |
| t1 = $.getInterceptor$n(end); |
| if (t1.$lt(end, start) || t1.$gt(end, this.get$length(this))) |
| $.throwExpression($.RangeError$range(end, start, this.get$length(this))); |
| $length = t1.$sub(end, start); |
| if (typeof $length !== "number") |
| return this.sublist$2$bailout(2, start, 0, $.JSNumber_methods, $length); |
| result = $.List_List($); |
| $.JSArray_methods.set$length(result, $length); |
| for (i = 0; i < $length; ++i) { |
| t1 = this.$index(this, start + i); |
| if (i >= result.length) |
| throw $.ioore(i); |
| result[i] = t1; |
| } |
| return result; |
| }, |
| sublist$2$bailout: function(state0, start, end, t1, $length) { |
| switch (state0) { |
| case 0: |
| case 1: |
| state0 = 0; |
| if (end == null) |
| end = this.get$length(this); |
| t1 = $.getInterceptor$n(start); |
| if (t1.$lt(start, 0) || t1.$gt(start, this.get$length(this))) |
| $.throwExpression($.RangeError$range(start, 0, this.get$length(this))); |
| t2 = $.getInterceptor$n(end); |
| if (t2.$lt(end, start) || t2.$gt(end, this.get$length(this))) |
| $.throwExpression($.RangeError$range(end, start, this.get$length(this))); |
| $length = t2.$sub(end, start); |
| case 2: |
| var t2, result, i; |
| state0 = 0; |
| result = $.List_List($); |
| $.JSArray_methods.set$length(result, $length); |
| for (i = 0; $.JSNumber_methods.$lt(i, $length); ++i) { |
| t2 = this.$index(this, t1.$add(start, i)); |
| if (i >= result.length) |
| throw $.ioore(i); |
| result[i] = t2; |
| } |
| return result; |
| } |
| }, |
| sublist$1: function($receiver, start) { |
| return this.sublist$2($receiver, start, null); |
| }, |
| toString$0: function(_) { |
| var result = $.StringBuffer$(""); |
| $.ToString__emitValue(this, result, $.List_List($)); |
| return result.toString$0(result); |
| }, |
| $isList: function() { |
| return true; |
| }, |
| $asList: function() { |
| return null; |
| }, |
| $isIterable: function() { |
| return true; |
| }, |
| $asIterable: function() { |
| return null; |
| } |
| }; |
| |
| $$.ListQueue = {"": "IterableBase;_table,_head,_tail,_modificationCount", |
| get$iterator: function(_) { |
| return $._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 $.ioore(i); |
| action.call$1(t1[i]); |
| if (modificationCount !== this._modificationCount) |
| $.throwExpression($.ConcurrentModificationError$(this)); |
| } |
| }, |
| get$isEmpty: function(_) { |
| return this._head === this._tail; |
| }, |
| get$length: function(_) { |
| return $.$and$n($.$sub$n(this._tail, this._head), this._table.length - 1); |
| }, |
| elementAt$1: function(_, index) { |
| var t1, t2, t3; |
| t1 = $.getInterceptor$n(index); |
| if (t1.$lt(index, 0) || t1.$gt(index, this.get$length(this))) |
| throw $.wrapException($.RangeError$range(index, 0, this.get$length(this))); |
| t1 = this._table; |
| t2 = this._head; |
| if (typeof index !== "number") |
| throw $.iae(index); |
| t3 = t1.length; |
| t2 = (t2 + index & t3 - 1) >>> 0; |
| if (t2 < 0 || t2 >= t3) |
| throw $.ioore(t2); |
| return t1[t2]; |
| }, |
| toList$1$growable: function(_, growable) { |
| var list; |
| if (growable === true) { |
| list = $.List_List($); |
| $.JSArray_methods.set$length(list, this.get$length(this)); |
| } else |
| list = $.List_List(this.get$length(this)); |
| this._writeToList$1(list); |
| return list; |
| }, |
| toList$0: function($receiver) { |
| return this.toList$1$growable($receiver, true); |
| }, |
| add$1: function(_, element) { |
| this._add$1(element); |
| }, |
| addAll$1: function(_, elements) { |
| var addCount, $length, t1, t2, t3, endSpace, preSpace; |
| if (typeof elements === "object" && elements !== null && (elements.constructor === Array || $.getInterceptor(elements).$isList())) { |
| addCount = $.get$length$asx(elements); |
| $length = this.get$length(this); |
| if (typeof addCount !== "number") |
| throw $.iae(addCount); |
| t1 = $length + addCount; |
| t2 = this._table; |
| t3 = t2.length; |
| if (t1 >= t3) { |
| this._preGrow$1(t1); |
| $.JSArray_methods.setRange$4(this._table, $length, t1, elements, 0); |
| this._tail = $.$add$ns(this._tail, addCount); |
| } else { |
| t1 = this._tail; |
| if (typeof t1 !== "number") |
| throw $.iae(t1); |
| endSpace = t3 - t1; |
| if (addCount < endSpace) { |
| $.JSArray_methods.setRange$4(t2, t1, t1 + addCount, elements, 0); |
| this._tail = $.$add$ns(this._tail, addCount); |
| } else { |
| preSpace = addCount - endSpace; |
| $.JSArray_methods.setRange$4(t2, t1, t1 + endSpace, elements, 0); |
| $.JSArray_methods.setRange$4(this._table, 0, preSpace, elements, endSpace); |
| this._tail = preSpace; |
| } |
| } |
| this._modificationCount = this._modificationCount + 1; |
| } else |
| for (t1 = $.get$iterator$ax(elements); t1.moveNext$0() === true;) |
| this._add$1(t1.get$current()); |
| }, |
| toString$0: function(_) { |
| var result = $.StringBuffer$(""); |
| $.ToString__emitValue(this, result, $.List_List($)); |
| return result.toString$0(result); |
| }, |
| addLast$1: function(element) { |
| this._add$1(element); |
| }, |
| removeFirst$0: function() { |
| var t1, t2, t3, result; |
| if (this._head === this._tail) |
| throw $.wrapException($.StateError$("No elements")); |
| this._modificationCount = this._modificationCount + 1; |
| t1 = this._table; |
| t2 = this._head; |
| t3 = t1.length; |
| if (t2 < 0 || t2 >= t3) |
| throw $.ioore(t2); |
| result = t1[t2]; |
| this._head = (t2 + 1 & t3 - 1) >>> 0; |
| return result; |
| }, |
| removeLast$0: function(_) { |
| var t1, t2; |
| if (this._head === this._tail) |
| throw $.wrapException($.StateError$("No elements")); |
| this._modificationCount = this._modificationCount + 1; |
| this._tail = $.$and$n($.$sub$n(this._tail, 1), this._table.length - 1); |
| t1 = this._table; |
| t2 = this._tail; |
| if (t2 !== (t2 | 0)) |
| throw $.iae(t2); |
| if (t2 < 0 || t2 >= t1.length) |
| throw $.ioore(t2); |
| return t1[t2]; |
| }, |
| _checkModification$1: function(expectedModificationCount) { |
| if (typeof expectedModificationCount !== "number") |
| return this._checkModification$1$bailout(1, expectedModificationCount); |
| if (expectedModificationCount !== this._modificationCount) |
| throw $.wrapException($.ConcurrentModificationError$(this)); |
| }, |
| _checkModification$1$bailout: function(state0, expectedModificationCount) { |
| if ($.$eq(expectedModificationCount, this._modificationCount) !== true) |
| throw $.wrapException($.ConcurrentModificationError$(this)); |
| }, |
| _add$1: function(element) { |
| var t1, t2; |
| t1 = this._table; |
| t2 = this._tail; |
| if (t2 !== (t2 | 0)) |
| throw $.iae(t2); |
| if (t2 < 0 || t2 >= t1.length) |
| throw $.ioore(t2); |
| t1[t2] = element; |
| this._tail = $.$and$n(t2 + 1, this._table.length - 1); |
| if (this._head === this._tail) |
| this._grow$0(); |
| this._modificationCount = this._modificationCount + 1; |
| }, |
| _grow$0: function() { |
| var newTable, t1, t2, split; |
| newTable = $.List_List(this._table.length * 2); |
| t1 = this._table; |
| t2 = this._head; |
| split = t1.length - t2; |
| $.JSArray_methods.setRange$4(newTable, 0, split, t1, t2); |
| $.JSArray_methods.setRange$4(newTable, split, split + this._head, this._table, 0); |
| this._head = 0; |
| this._tail = this._table.length; |
| this._table = newTable; |
| }, |
| _writeToList$1: function(target) { |
| var t1, t2, $length, firstPartSize; |
| t1 = $.JSInt_methods.$le(this._head, this._tail); |
| t2 = this._head; |
| if (t1) { |
| $length = $.$sub$n(this._tail, t2); |
| $.JSArray_methods.setRange$4(target, 0, $length, this._table, this._head); |
| return $length; |
| } else { |
| t1 = this._table; |
| firstPartSize = t1.length - t2; |
| $.JSArray_methods.setRange$4(target, 0, firstPartSize, t1, t2); |
| t2 = this._tail; |
| if (typeof t2 !== "number") |
| throw $.iae(t2); |
| $.JSArray_methods.setRange$4(target, firstPartSize, firstPartSize + t2, this._table, 0); |
| return $.$add$ns(this._tail, firstPartSize); |
| } |
| }, |
| _preGrow$1: function(newElementCount) { |
| var newTable = $.List_List($.ListQueue__nextPowerOf2(newElementCount)); |
| this._tail = this._writeToList$1(newTable); |
| this._table = newTable; |
| this._head = 0; |
| }, |
| ListQueue$1: function(initialCapacity) { |
| if (initialCapacity == null || $.JSNull_methods.$lt(initialCapacity, 8)) |
| initialCapacity = 8; |
| else if (!$.ListQueue__isPowerOf2(initialCapacity)) |
| initialCapacity = $.ListQueue__nextPowerOf2(initialCapacity); |
| this._table = $.List_List(initialCapacity); |
| }, |
| $asIterable: function() { |
| return null; |
| }, |
| $isIterable: function() { |
| return true; |
| } |
| }; |
| |
| $$._ListQueueIterator = {"": "Object;_queue,_end,_modificationCount,_liblib0$_position,_liblib0$_current", |
| get$current: function() { |
| return this._liblib0$_current; |
| }, |
| moveNext$0: function() { |
| var t1, t2, t3; |
| t1 = this._queue; |
| t1._checkModification$1(this._modificationCount); |
| t2 = this._liblib0$_position; |
| if (t2 === this._end) { |
| this._liblib0$_current = null; |
| return false; |
| } |
| t3 = t1._table; |
| if (t2 < 0 || t2 >= t3.length) |
| throw $.ioore(t2); |
| this._liblib0$_current = t3[t2]; |
| this._liblib0$_position = (this._liblib0$_position + 1 & t1._table.length - 1) >>> 0; |
| return true; |
| } |
| }; |
| |
| $$.Duration = {"": "Object;_duration<", |
| $add: function(_, other) { |
| return $.Duration$(0, 0, this._duration + other.get$_duration(), 0, 0, 0); |
| }, |
| $sub: function(_, other) { |
| return $.Duration$(0, 0, this._duration - other.get$_duration(), 0, 0, 0); |
| }, |
| $mul: function(_, factor) { |
| return $.Duration$(0, 0, this._duration * factor, 0, 0, 0); |
| }, |
| $tdiv: function(_, quotient) { |
| if (quotient === 0) |
| throw $.wrapException($.IntegerDivisionByZeroException$()); |
| return $.Duration$(0, 0, $.JSNumber_methods.$tdiv(this._duration, quotient), 0, 0, 0); |
| }, |
| $lt: function(_, other) { |
| return this._duration < other.get$_duration(); |
| }, |
| $gt: function(_, other) { |
| return this._duration > other.get$_duration(); |
| }, |
| $ge: function(_, other) { |
| return this._duration >= other.get$_duration(); |
| }, |
| get$inHours: function() { |
| return $.JSNumber_methods.$tdiv(this._duration, 3600000000); |
| }, |
| get$inMinutes: function() { |
| return $.JSNumber_methods.$tdiv(this._duration, 60000000); |
| }, |
| get$inSeconds: function() { |
| return $.JSNumber_methods.$tdiv(this._duration, 1000000); |
| }, |
| get$inMilliseconds: function() { |
| return $.JSNumber_methods.$tdiv(this._duration, 1000); |
| }, |
| get$inMicroseconds: function() { |
| return this._duration; |
| }, |
| $eq: function(_, other) { |
| if (other == null) |
| return false; |
| if (typeof other !== "object" || other === null || !$.getInterceptor(other).$isDuration) |
| return false; |
| return this._duration === other._duration; |
| }, |
| get$hashCode: function(_) { |
| return $.JSNumber_methods.get$hashCode(this._duration); |
| }, |
| toString$0: function(_) { |
| var t1, t2, twoDigitMinutes, twoDigitSeconds, sixDigitUs; |
| t1 = new $.Duration_toString_sixDigits(); |
| t2 = new $.Duration_toString_twoDigits(); |
| if (this.get$inMicroseconds() < 0) |
| return "-" + $.S($.Duration$(0, 0, -this.get$inMicroseconds(), 0, 0, 0)); |
| twoDigitMinutes = t2.call$1($.JSNumber_methods.remainder$1(this.get$inMinutes(), 60)); |
| twoDigitSeconds = t2.call$1($.JSNumber_methods.remainder$1(this.get$inSeconds(), 60)); |
| sixDigitUs = t1.call$1($.JSNumber_methods.remainder$1(this.get$inMicroseconds(), 1000000)); |
| return $.S(this.get$inHours()) + ":" + $.S(twoDigitMinutes) + ":" + $.S(twoDigitSeconds) + "." + $.S(sixDigitUs); |
| }, |
| $isDuration: true |
| }; |
| |
| $$.Duration_toString_sixDigits = {"": "Closure;", |
| call$1: function(n) { |
| var t1 = $.getInterceptor$n(n); |
| if (t1.$ge(n, 100000)) |
| return $.S(n); |
| if (t1.$ge(n, 10000)) |
| return "0" + $.S(n); |
| if (t1.$ge(n, 1000)) |
| return "00" + $.S(n); |
| if (t1.$ge(n, 100)) |
| return "000" + $.S(n); |
| if (t1.$gt(n, 10)) |
| return "0000" + $.S(n); |
| return "00000" + $.S(n); |
| } |
| }; |
| |
| $$.Duration_toString_twoDigits = {"": "Closure;", |
| call$1: function(n) { |
| if ($.$ge$n(n, 10)) |
| return $.S(n); |
| return "0" + $.S(n); |
| } |
| }; |
| |
| $$.NullThrownError = {"": "Object;", |
| toString$0: function(_) { |
| return "Throw of null."; |
| } |
| }; |
| |
| $$.ArgumentError = {"": "Object;message", |
| toString$0: function(_) { |
| var t1 = this.message; |
| if (t1 != null) |
| return "Illegal argument(s): " + $.S(t1); |
| return "Illegal argument(s)"; |
| } |
| }; |
| |
| $$.RangeError = {"": "ArgumentError;message", |
| toString$0: function(_) { |
| return "RangeError: " + $.S(this.message); |
| } |
| }; |
| |
| $$.NoSuchMethodError = {"": "Object;_receiver,_memberName,_arguments,_namedArguments,_existingArgumentNames", |
| toString$0: function(_) { |
| var t1, t2, t3, t4, actualParameters, i, formalParameters; |
| t1 = {}; |
| t1.sb_0 = $.StringBuffer$(""); |
| t1.i_1 = 0; |
| t2 = this._arguments; |
| for (; $.$lt$n(t1.i_1, t2.length); t1.i_1 = $.$add$ns(t1.i_1, 1)) { |
| if ($.$gt$n(t1.i_1, 0)) |
| t1.sb_0.write$1(", "); |
| t3 = t1.sb_0; |
| t4 = t1.i_1; |
| if (t4 !== (t4 | 0)) |
| throw $.iae(t4); |
| if (t4 < 0 || t4 >= t2.length) |
| throw $.ioore(t4); |
| t3.write$1($.Error_safeToString(t2[t4])); |
| } |
| t2 = this._namedArguments; |
| t2.forEach$1(t2, new $.NoSuchMethodError_toString_anon(t1)); |
| t2 = this._existingArgumentNames; |
| if (t2 == null) |
| return "NoSuchMethodError : method not found: '" + $.S(this._memberName) + "'\nReceiver: " + $.S($.Error_safeToString(this._receiver)) + "\nArguments: [" + $.S(t1.sb_0) + "]"; |
| else { |
| t3 = t1.sb_0; |
| actualParameters = t3.toString$0(t3); |
| t1.sb_0 = $.StringBuffer$(""); |
| for (i = 0; $.JSNumber_methods.$lt(i, $.JSNull_methods.get$length(t2)); ++i) { |
| if (i > 0) |
| t1.sb_0.write$1(", "); |
| t1.sb_0.write$1($.JSNull_methods.$index(t2, i)); |
| } |
| t1 = t1.sb_0; |
| formalParameters = t1.toString$0(t1); |
| t1 = this._memberName; |
| return "NoSuchMethodError: incorrect number of arguments passed to method named '" + $.S(t1) + "'\nReceiver: " + $.S($.Error_safeToString(this._receiver)) + "\nTried calling: " + $.S(t1) + "(" + actualParameters + ")\nFound: " + $.S(t1) + "(" + formalParameters + ")"; |
| } |
| } |
| }; |
| |
| $$.UnsupportedError = {"": "Object;message", |
| toString$0: function(_) { |
| return "Unsupported operation: " + this.message; |
| } |
| }; |
| |
| $$.UnimplementedError = {"": "Object;message", |
| toString$0: function(_) { |
| var t1 = this.message; |
| return t1 != null ? "UnimplementedError: " + $.S(t1) : "UnimplementedError"; |
| } |
| }; |
| |
| $$.StateError = {"": "Object;message", |
| toString$0: function(_) { |
| return "Bad state: " + this.message; |
| } |
| }; |
| |
| $$.ConcurrentModificationError = {"": "Object;modifiedObject", |
| toString$0: function(_) { |
| var t1 = this.modifiedObject; |
| if (t1 == null) |
| return "Concurrent modification during iteration."; |
| return "Concurrent modification during iteration: " + $.S($.Error_safeToString(t1)) + "."; |
| } |
| }; |
| |
| $$.StackOverflowError = {"": "Object;", |
| toString$0: function(_) { |
| return "Stack Overflow"; |
| } |
| }; |
| |
| $$.RuntimeError = {"": "Object;message", |
| toString$0: function(_) { |
| return "RuntimeError: " + this.message; |
| } |
| }; |
| |
| $$._ExceptionImplementation = {"": "Object;message", |
| toString$0: function(_) { |
| var t1 = this.message; |
| if (t1 == null) |
| return "Exception"; |
| return "Exception: " + $.S(t1); |
| }, |
| $isException: true |
| }; |
| |
| $$.FormatException = {"": "Object;message", |
| toString$0: function(_) { |
| return "FormatException: " + this.message; |
| }, |
| $isException: true |
| }; |
| |
| $$.IntegerDivisionByZeroException = {"": "Object;", |
| toString$0: function(_) { |
| return "IntegerDivisionByZeroException"; |
| }, |
| $isException: true |
| }; |
| |
| $$.Expando = {"": "Object;name>", |
| toString$0: function(_) { |
| return "Expando:" + this.name; |
| }, |
| $index: function(_, object) { |
| var values = $.Primitives_getProperty(object, "expando$values"); |
| return values == null ? null : $.Primitives_getProperty(values, this._getKey$0()); |
| }, |
| $indexSet: function(_, object, value) { |
| var values = $.Primitives_getProperty(object, "expando$values"); |
| if (values == null) { |
| values = $.Object$(); |
| $.Primitives_setProperty(object, "expando$values", values); |
| } |
| $.Primitives_setProperty(values, this._getKey$0(), value); |
| }, |
| _getKey$0: function() { |
| var key, t1; |
| key = $.Primitives_getProperty(this, "expando$key"); |
| if (key == null) { |
| t1 = $.Expando__keyCount; |
| $.Expando__keyCount = $.$add$ns(t1, 1); |
| key = "expando$key$" + $.S(t1); |
| $.Primitives_setProperty(this, "expando$key", key); |
| } |
| return key; |
| } |
| }; |
| |
| $$.Iterator = {"": "Object;"}; |
| |
| $$.Object = {"": ";", |
| $eq: function(_, other) { |
| return this === other; |
| }, |
| get$hashCode: function(_) { |
| return $.Primitives_objectHashCode(this); |
| }, |
| toString$0: function(_) { |
| return "Instance of '" + $.S($.Primitives_objectTypeName(this)) + "'"; |
| } |
| }; |
| |
| $$.StringBuffer = {"": "Object;_contents", |
| get$length: function(_) { |
| return this._contents.length; |
| }, |
| get$isEmpty: function(_) { |
| return this.get$length(this) === 0; |
| }, |
| 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 : $.S(obj); |
| this._contents = this._contents + str; |
| }, |
| writeAll$2: function(objects, separator) { |
| var iterator, str; |
| if (typeof separator !== "string") |
| return this.writeAll$2$bailout(1, objects, separator); |
| iterator = $.get$iterator$ax(objects); |
| if (iterator.moveNext$0() !== true) |
| return; |
| if ($.JSString_methods.get$isEmpty(separator)) |
| do { |
| str = iterator.get$current(); |
| str = typeof str === "string" ? str : $.S(str); |
| this._contents = this._contents + str; |
| } while (iterator.moveNext$0() === true); |
| else { |
| str = iterator.get$current(); |
| str = typeof str === "string" ? str : $.S(str); |
| this._contents = this._contents + str; |
| for (; iterator.moveNext$0() === true;) { |
| this._contents = this._contents + separator; |
| str = iterator.get$current(); |
| str = typeof str === "string" ? str : $.S(str); |
| this._contents = this._contents + str; |
| } |
| } |
| }, |
| writeAll$2$bailout: function(state0, objects, separator) { |
| var iterator, str, t1; |
| iterator = $.get$iterator$ax(objects); |
| if (iterator.moveNext$0() !== true) |
| return; |
| if ($.get$isEmpty$asx(separator) === true) |
| do { |
| str = iterator.get$current(); |
| str = typeof str === "string" ? str : $.S(str); |
| this._contents = this._contents + str; |
| } while (iterator.moveNext$0() === true); |
| else { |
| str = iterator.get$current(); |
| str = typeof str === "string" ? str : $.S(str); |
| this._contents = this._contents + str; |
| for (t1 = typeof separator === "string"; iterator.moveNext$0() === true;) { |
| str = t1 ? separator : $.S(separator); |
| this._contents = this._contents + str; |
| str = iterator.get$current(); |
| str = typeof str === "string" ? str : $.S(str); |
| this._contents = this._contents + str; |
| } |
| } |
| }, |
| toString$0: function(_) { |
| return this._contents; |
| }, |
| StringBuffer$1: function($content) { |
| this._contents = $content; |
| } |
| }; |
| |
| $$._ChildrenElementList = {"": "ListBase;_liblib1$_element,_childElements", |
| toList$1$growable: function(_, growable) { |
| var t1, output, len, t2, i, t3; |
| t1 = this._childElements; |
| if (growable === true) { |
| output = []; |
| $.JSArray_methods.set$length(output, $.get$length$asx(t1)); |
| } else |
| output = $.List_List($.get$length$asx(t1)); |
| for (t1 = this._childElements, len = $.get$length$asx(t1), t2 = $.getInterceptor$asx(t1), i = 0; i < len; ++i) { |
| t3 = t2.$index(t1, i); |
| if (i >= output.length) |
| throw $.ioore(i); |
| output[i] = t3; |
| } |
| return output; |
| }, |
| toList$0: function($receiver) { |
| return this.toList$1$growable($receiver, true); |
| }, |
| forEach$1: function(_, f) { |
| var t1; |
| for (t1 = $.get$iterator$ax(this._childElements); t1.moveNext$0();) |
| f.call$1(t1.get$current()); |
| }, |
| get$isEmpty: function(_) { |
| return this._liblib1$_element.firstElementChild == null; |
| }, |
| skip$1: function(_, n) { |
| return $.skip$1$ax(this._childElements, n); |
| }, |
| elementAt$1: function(_, index) { |
| return $.$index$asx(this._childElements, index); |
| }, |
| get$length: function(_) { |
| return $.get$length$asx(this._childElements); |
| }, |
| $index: function(_, index) { |
| return $.$index$asx(this._childElements, index); |
| }, |
| $indexSet: function(_, index, value) { |
| this._liblib1$_element.replaceChild(value, $.$index$asx(this._childElements, index)); |
| }, |
| set$length: function(_, newLength) { |
| throw $.wrapException($.UnsupportedError$("")); |
| }, |
| add$1: function(_, value) { |
| this._liblib1$_element.appendChild(value); |
| return value; |
| }, |
| get$iterator: function(_) { |
| return $.JSArray_methods.get$iterator(this.toList$0(this)); |
| }, |
| addAll$1: function(_, iterable) { |
| var t1, t2; |
| if (typeof iterable === "object" && iterable !== null && !!$.getInterceptor(iterable).$is_ChildNodeListLazy) |
| iterable = $.List_List$from(iterable, true); |
| for (t1 = $.get$iterator$ax(iterable), t2 = this._liblib1$_element; t1.moveNext$0() === true;) |
| t2.appendChild(t1.get$current()); |
| }, |
| sublist$2: function(_, start, end) { |
| if (end == null) |
| end = this.get$length(this); |
| return $._FrozenElementList$_wrap($.Lists_getRange(this, start, end, [])); |
| }, |
| sublist$1: function($receiver, start) { |
| return this.sublist$2($receiver, start, null); |
| }, |
| clear$0: function(_) { |
| this._liblib1$_element.textContent = ""; |
| }, |
| removeLast$0: function(_) { |
| var result = this.get$last(this); |
| if (result != null) |
| this._liblib1$_element.removeChild(result); |
| return result; |
| }, |
| get$last: function(_) { |
| var result = this._liblib1$_element.lastElementChild; |
| if (result == null) |
| throw $.wrapException($.StateError$("No elements")); |
| return result; |
| }, |
| toString$0: function(_) { |
| var buffer = $.StringBuffer$("["); |
| buffer.writeAll$2(this, ", "); |
| buffer.write$1("]"); |
| return buffer.toString$0(buffer); |
| }, |
| $asList: function() { |
| return function () { return [$.Element]; }; |
| }, |
| $asIterable: function() { |
| return function () { return [$.Element]; }; |
| } |
| }; |
| |
| $$._FrozenElementList = {"": "ListBase;_nodeList", |
| get$length: function(_) { |
| return $.get$length$asx(this._nodeList); |
| }, |
| $index: function(_, index) { |
| var t1 = this._nodeList; |
| if (typeof t1 !== "string" && (typeof t1 !== "object" || t1 === null || t1.constructor !== Array && !$.getInterceptor(t1).$isJavaScriptIndexingBehavior())) |
| return this.$$index$bailout(1, index, t1); |
| if (index !== (index | 0)) |
| throw $.iae(index); |
| if (index < 0 || index >= t1.length) |
| throw $.ioore(index); |
| return t1[index]; |
| }, |
| $$index$bailout: function(state0, index, t1) { |
| return $.$index$asx(t1, index); |
| }, |
| $indexSet: function(_, index, value) { |
| throw $.wrapException($.UnsupportedError$("")); |
| }, |
| set$length: function(_, newLength) { |
| $.set$length$asx(this._nodeList, newLength); |
| }, |
| add$1: function(_, value) { |
| throw $.wrapException($.UnsupportedError$("")); |
| }, |
| addAll$1: function(_, iterable) { |
| throw $.wrapException($.UnsupportedError$("")); |
| }, |
| sublist$2: function(_, start, end) { |
| return $._FrozenElementList$_wrap($.sublist$2$ax(this._nodeList, start, end)); |
| }, |
| sublist$1: function($receiver, start) { |
| return this.sublist$2($receiver, start, null); |
| }, |
| clear$0: function(_) { |
| throw $.wrapException($.UnsupportedError$("")); |
| }, |
| removeLast$0: function(_) { |
| throw $.wrapException($.UnsupportedError$("")); |
| }, |
| toString$0: function(_) { |
| var buffer = $.StringBuffer$("["); |
| buffer.writeAll$2(this, ", "); |
| buffer.write$1("]"); |
| return buffer.toString$0(buffer); |
| }, |
| $asList: function() { |
| return function () { return [null]; }; |
| }, |
| $asIterable: function() { |
| return function () { return [null]; }; |
| } |
| }; |
| |
| $$._ElementCssClassSet = {"": "CssClassSet;_liblib1$_element", |
| readClasses$0: function() { |
| var s, t1, trimmed; |
| s = $.LinkedHashSet$(); |
| for (t1 = $.JSArray_methods.get$iterator($.split$1$s(this._liblib1$_element.className, " ")); t1.moveNext$0();) { |
| trimmed = $.trim$0$s(t1.get$current()); |
| if (!$.JSString_methods.get$isEmpty(trimmed)) |
| s.add$1(s, trimmed); |
| } |
| return s; |
| }, |
| writeClasses$1: function(s) { |
| $.List_List$from(s, true); |
| this._liblib1$_element.className = s.join$1(s, " "); |
| } |
| }; |
| |
| $$.HttpRequest_getString_anon = {"": "Closure;", |
| call$1: function(xhr) { |
| return $.get$responseText$x(xhr); |
| } |
| }; |
| |
| $$.HttpRequest_request_anon = {"": "Closure;completer_0,xhr_1", |
| call$1: function(e) { |
| var t1, t2, t3; |
| t1 = this.xhr_1; |
| if (!($.$ge$n(t1.status, 200) && $.$lt$n(t1.status, 300))) { |
| t2 = t1.status; |
| t2 = t2 === 0 || t2 === 304; |
| } else |
| t2 = true; |
| t3 = this.completer_0; |
| if (t2) |
| t3.complete$1(t3, t1); |
| else |
| t3.completeError$1(e); |
| } |
| }; |
| |
| $$.HttpRequest_request_anon0 = {"": "Closure;completer_2", |
| call$1: function(e) { |
| this.completer_2.completeError$1(e); |
| } |
| }; |
| |
| $$._ChildNodeListLazy = {"": "ListBase;_this", |
| get$last: function(_) { |
| var result = this._this.lastChild; |
| if (result == null) |
| throw $.wrapException($.StateError$("No elements")); |
| return result; |
| }, |
| add$1: function(_, value) { |
| this._this.appendChild(value); |
| }, |
| addAll$1: function(_, iterable) { |
| var t1, len, i, t2; |
| if (typeof iterable === "object" && iterable !== null && !!$.getInterceptor(iterable).$is_ChildNodeListLazy) { |
| t1 = this._this; |
| if (iterable._this !== t1) { |
| len = iterable.get$length(iterable); |
| if (typeof len !== "number") |
| return this.addAll$1$bailout1(1, iterable, len, t1); |
| i = 0; |
| for (; i < len; ++i) |
| t1.appendChild(iterable.$index(iterable, 0)); |
| } |
| return; |
| } |
| for (t1 = $.get$iterator$ax(iterable), t2 = this._this; t1.moveNext$0() === true;) |
| t2.appendChild(t1.get$current()); |
| }, |
| addAll$1$bailout1: function(state0, iterable, len, t1) { |
| switch (state0) { |
| case 0: |
| case 1: |
| var i, t2; |
| if (state0 === 1 || state0 === 0 && typeof iterable === "object" && iterable !== null && !!$.getInterceptor(iterable).$is_ChildNodeListLazy) |
| switch (state0) { |
| case 0: |
| t1 = this._this; |
| case 1: |
| if (state0 === 1 || state0 === 0 && iterable._this !== t1) |
| switch (state0) { |
| case 0: |
| len = iterable.get$length(iterable); |
| case 1: |
| state0 = 0; |
| i = 0; |
| for (; $.JSNumber_methods.$lt(i, len); ++i) |
| t1.appendChild(iterable.$index(iterable, 0)); |
| } |
| return; |
| } |
| for (t1 = $.get$iterator$ax(iterable), t2 = this._this; t1.moveNext$0() === true;) |
| t2.appendChild(t1.get$current()); |
| } |
| }, |
| removeLast$0: function(_) { |
| var result = this.get$last(this); |
| if (result != null) |
| this._this.removeChild(result); |
| return result; |
| }, |
| clear$0: function(_) { |
| this._this.textContent = ""; |
| }, |
| $indexSet: function(_, index, value) { |
| var t1, t2; |
| t1 = this._this; |
| t2 = t1.childNodes; |
| if (typeof t2 !== "string" && (typeof t2 !== "object" || t2 === null || t2.constructor !== Array && !$.getInterceptor(t2).$isJavaScriptIndexingBehavior())) |
| return this.$$indexSet$bailout(1, t1, value, t2, index); |
| if (index !== (index | 0)) |
| throw $.iae(index); |
| if (index < 0 || index >= t2.length) |
| throw $.ioore(index); |
| t1.replaceChild(value, t2[index]); |
| }, |
| $$indexSet$bailout: function(state0, t1, value, t2, index) { |
| t1.replaceChild(value, $.$index$asx(t2, index)); |
| }, |
| get$iterator: function(_) { |
| return $.get$iterator$ax(this._this.childNodes); |
| }, |
| toList$1$growable: function(_, growable) { |
| return $.List_List$from(this, growable); |
| }, |
| toList$0: function($receiver) { |
| return this.toList$1$growable($receiver, true); |
| }, |
| get$isEmpty: function(_) { |
| return $.$eq(this.get$length(this), 0); |
| }, |
| sublist$2: function(_, start, end) { |
| if (end == null) |
| $.$eq(end, this.get$length(this)); |
| return $.Lists_getRange(this, start, end, []); |
| }, |
| sublist$1: function($receiver, start) { |
| return this.sublist$2($receiver, start, null); |
| }, |
| toString$0: function(_) { |
| var buffer = $.StringBuffer$("["); |
| buffer.writeAll$2(this, ", "); |
| buffer.write$1("]"); |
| return buffer.toString$0(buffer); |
| }, |
| get$length: function(_) { |
| return $.get$length$asx(this._this.childNodes); |
| }, |
| set$length: function(_, value) { |
| throw $.wrapException($.UnsupportedError$("Cannot set length on immutable List.")); |
| }, |
| $index: function(_, index) { |
| var t1 = this._this.childNodes; |
| if (typeof t1 !== "string" && (typeof t1 !== "object" || t1 === null || t1.constructor !== Array && !$.getInterceptor(t1).$isJavaScriptIndexingBehavior())) |
| return this.$$index$bailout(1, index, t1); |
| if (index !== (index | 0)) |
| throw $.iae(index); |
| if (index < 0 || index >= t1.length) |
| throw $.ioore(index); |
| return t1[index]; |
| }, |
| $$index$bailout: function(state0, index, t1) { |
| return $.$index$asx(t1, index); |
| }, |
| $is_ChildNodeListLazy: true, |
| $asList: function() { |
| return function () { return [$.Node]; }; |
| }, |
| $asIterable: function() { |
| return function () { return [$.Node]; }; |
| } |
| }; |
| |
| $$._AttributeMap = {"": "Object;", |
| forEach$1: function(_, f) { |
| var t1, t2; |
| for (t1 = $.JSArray_methods.get$iterator(this.get$keys()); t1.moveNext$0();) { |
| t2 = t1.get$current(); |
| f.call$2(t2, this.$index(this, t2)); |
| } |
| }, |
| get$keys: function() { |
| var attributes, keys, t1, len, i; |
| attributes = this._liblib1$_element.attributes; |
| keys = $.List_List($); |
| for (t1 = $.getInterceptor$asx(attributes), len = t1.get$length(attributes), i = 0; i < len; ++i) |
| if (this._matches$1(t1.$index(attributes, i))) |
| keys.push(t1.$index(attributes, i).localName); |
| return keys; |
| }, |
| get$values: function(_) { |
| var attributes, values, t1, len, i; |
| attributes = this._liblib1$_element.attributes; |
| values = $.List_List($); |
| for (t1 = $.getInterceptor$asx(attributes), len = t1.get$length(attributes), i = 0; i < len; ++i) |
| if (this._matches$1(t1.$index(attributes, i))) |
| values.push($.get$value$x(t1.$index(attributes, i))); |
| return values; |
| }, |
| get$isEmpty: function(_) { |
| return this.get$length(this) === 0; |
| }, |
| $isMap: true, |
| $asMap: function () { return [$.String, $.String]; } |
| }; |
| |
| $$._ElementAttributeMap = {"": "_AttributeMap;_liblib1$_element", |
| $index: function(_, key) { |
| return this._liblib1$_element.getAttribute(key); |
| }, |
| $indexSet: function(_, key, value) { |
| this._liblib1$_element.setAttribute(key, value); |
| }, |
| get$length: function(_) { |
| return this.get$keys().length; |
| }, |
| _matches$1: function(node) { |
| return node.namespaceURI == null; |
| } |
| }; |
| |
| $$.CssClassSet = {"": "Object;", |
| toString$0: function(_) { |
| var t1 = this.readClasses$0(); |
| return t1.join$1(t1, " "); |
| }, |
| toggle$1: function(value) { |
| var s, result; |
| s = this.readClasses$0(); |
| if (s.contains$1(s, value) === true) { |
| s.remove$1(s, value); |
| result = false; |
| } else { |
| s.add$1(s, value); |
| result = true; |
| } |
| this.writeClasses$1(s); |
| return result; |
| }, |
| get$iterator: function(_) { |
| var t1 = this.readClasses$0(); |
| return t1.get$iterator(t1); |
| }, |
| forEach$1: function(_, f) { |
| var t1 = this.readClasses$0(); |
| t1.forEach$1(t1, f); |
| }, |
| get$isEmpty: function(_) { |
| var t1 = this.readClasses$0(); |
| return t1.get$isEmpty(t1); |
| }, |
| get$length: function(_) { |
| var t1 = this.readClasses$0(); |
| return t1.get$length(t1); |
| }, |
| add$1: function(_, value) { |
| var t1, s; |
| t1 = new $.CssClassSet_add_anon(value); |
| s = this.readClasses$0(); |
| t1.call$1(s); |
| this.writeClasses$1(s); |
| }, |
| addAll$1: function(_, iterable) { |
| var t1, s; |
| t1 = new $.CssClassSet_addAll_anon(iterable); |
| s = this.readClasses$0(); |
| t1.call$1(s); |
| this.writeClasses$1(s); |
| }, |
| toList$1$growable: function(_, growable) { |
| var t1 = this.readClasses$0(); |
| return t1.toList$1$growable(t1, growable); |
| }, |
| toList$0: function($receiver) { |
| return this.toList$1$growable($receiver, true); |
| }, |
| skip$1: function(_, n) { |
| var t1 = this.readClasses$0(); |
| return t1.skip$1(t1, n); |
| }, |
| elementAt$1: function(_, index) { |
| var t1 = this.readClasses$0(); |
| return t1.elementAt$1(t1, index); |
| }, |
| $isIterable: function() { |
| return true; |
| }, |
| $asIterable: function() { |
| return function () { return [$.String]; }; |
| } |
| }; |
| |
| $$.CssClassSet_add_anon = {"": "Closure;value_0", |
| call$1: function(s) { |
| return $.add$1$ax(s, this.value_0); |
| } |
| }; |
| |
| $$.CssClassSet_addAll_anon = {"": "Closure;iterable_0", |
| call$1: function(s) { |
| return $.addAll$1$ax(s, this.iterable_0); |
| } |
| }; |
| |
| $$._EventStream = {"": "Stream;_target,_eventType,_useCapture", |
| listen$4$cancelOnError$onDone$onError: function(onData, cancelOnError, onDone, onError) { |
| return $._EventStreamSubscription$(this._target, this._eventType, onData, this._useCapture); |
| }, |
| listen$1: function(onData) { |
| return this.listen$4$cancelOnError$onDone$onError(onData, null, null, null); |
| }, |
| listen$3$onDone$onError: function(onData, onDone, onError) { |
| return this.listen$4$cancelOnError$onDone$onError(onData, null, onDone, onError); |
| } |
| }; |
| |
| $$._EventStreamSubscription = {"": "StreamSubscription;_pauseCount,_target,_eventType,_liblib1$_onData,_useCapture", |
| cancel$0: function() { |
| if (this.get$_canceled()) |
| return; |
| var t1 = this._liblib1$_onData; |
| if (t1 != null) |
| $.$$dom_removeEventListener$3$x(this._target, this._eventType, t1, this._useCapture); |
| this._target = null; |
| this._liblib1$_onData = null; |
| }, |
| get$_canceled: function() { |
| return this._target == null; |
| }, |
| get$_paused: function() { |
| return this._pauseCount > 0; |
| }, |
| _tryResume$0: function() { |
| if (this._liblib1$_onData != null && !this.get$_paused()) |
| $.$$dom_addEventListener$3$x(this._target, this._eventType, this._liblib1$_onData, this._useCapture); |
| }, |
| _EventStreamSubscription$4: function(_target, _eventType, _onData, _useCapture) { |
| this._tryResume$0(); |
| } |
| }; |
| |
| $$.EventStreamProvider = {"": "Object;_eventType", |
| forTarget$2$useCapture: function(e, useCapture) { |
| return $._EventStream$(e, this._eventType, useCapture); |
| }, |
| forTarget$1: function(e) { |
| return this.forTarget$2$useCapture(e, false); |
| } |
| }; |
| |
| $$.FixedSizeListIterator = {"": "Object;_array,_length,_position,_current", |
| moveNext$0: function() { |
| var t1, nextPosition; |
| t1 = this._position; |
| if (typeof t1 !== "number") |
| return this.moveNext$0$bailout(1, t1); |
| nextPosition = t1 + 1; |
| t1 = this._length; |
| if (nextPosition < t1) { |
| this._current = $.$index$asx(this._array, nextPosition); |
| this._position = nextPosition; |
| return true; |
| } |
| this._current = null; |
| this._position = t1; |
| return false; |
| }, |
| moveNext$0$bailout: function(state0, t1) { |
| var nextPosition = $.$add$ns(t1, 1); |
| t1 = this._length; |
| if ($.$lt$n(nextPosition, t1)) { |
| this._current = $.$index$asx(this._array, nextPosition); |
| this._position = nextPosition; |
| return true; |
| } |
| this._current = null; |
| this._position = t1; |
| return false; |
| }, |
| get$current: function() { |
| return this._current; |
| } |
| }; |
| |
| $$.convertDartToNative_Dictionary_anon = {"": "Closure;object_0", |
| call$2: function(key, value) { |
| this.object_0[key] = value; |
| } |
| }; |
| |
| $$.FilteredElementList = {"": "ListBase;_node,_childNodes", |
| get$_filtered: function() { |
| var t1 = this._childNodes; |
| return $.List_List$from(t1.where$1(t1, new $.FilteredElementList__filtered_anon()), true); |
| }, |
| forEach$1: function(_, f) { |
| $.JSArray_methods.forEach$1(this.get$_filtered(), f); |
| }, |
| $indexSet: function(_, index, value) { |
| var t1 = this.get$_filtered(); |
| if (index !== (index | 0)) |
| throw $.iae(index); |
| if (index < 0 || index >= t1.length) |
| throw $.ioore(index); |
| $.replaceWith$1$x(t1[index], value); |
| }, |
| set$length: function(_, newLength) { |
| var len; |
| if (typeof newLength !== "number") |
| return this.set$length$bailout(1, newLength); |
| len = this.get$length(this); |
| if (newLength >= len) |
| return; |
| else if (newLength < 0) |
| throw $.wrapException($.ArgumentError$("Invalid list length")); |
| this.removeRange$2(this, newLength, len); |
| }, |
| set$length$bailout: function(state0, newLength) { |
| var len, t1; |
| len = this.get$length(this); |
| t1 = $.getInterceptor$n(newLength); |
| if (t1.$ge(newLength, len)) |
| return; |
| else if (t1.$lt(newLength, 0)) |
| throw $.wrapException($.ArgumentError$("Invalid list length")); |
| this.removeRange$2(this, newLength, len); |
| }, |
| add$1: function(_, value) { |
| var t1 = this._childNodes; |
| t1.add$1(t1, value); |
| }, |
| addAll$1: function(_, iterable) { |
| var t1, t2; |
| for (t1 = $.get$iterator$ax(iterable), t2 = this._childNodes; t1.moveNext$0() === true;) |
| t2.add$1(t2, t1.get$current()); |
| }, |
| removeRange$2: function(_, start, end) { |
| $.JSArray_methods.forEach$1($.JSArray_methods.sublist$2(this.get$_filtered(), start, end), new $.FilteredElementList_removeRange_anon()); |
| }, |
| clear$0: function(_) { |
| var t1 = this._childNodes; |
| t1.clear$0(t1); |
| }, |
| removeLast$0: function(_) { |
| var result = this.get$last(this); |
| if (result != null) |
| $.remove$0$ax(result); |
| return result; |
| }, |
| toList$1$growable: function(_, growable) { |
| return $.List_List$from(this, growable); |
| }, |
| toList$0: function($receiver) { |
| return this.toList$1$growable($receiver, true); |
| }, |
| elementAt$1: function(_, index) { |
| var t1 = this.get$_filtered(); |
| if (index !== (index | 0)) |
| throw $.iae(index); |
| if (index < 0 || index >= t1.length) |
| throw $.ioore(index); |
| return t1[index]; |
| }, |
| get$isEmpty: function(_) { |
| return $.JSArray_methods.get$isEmpty(this.get$_filtered()); |
| }, |
| get$length: function(_) { |
| return this.get$_filtered().length; |
| }, |
| $index: function(_, index) { |
| var t1 = this.get$_filtered(); |
| if (index !== (index | 0)) |
| throw $.iae(index); |
| if (index < 0 || index >= t1.length) |
| throw $.ioore(index); |
| return t1[index]; |
| }, |
| get$iterator: function(_) { |
| return $.JSArray_methods.get$iterator(this.get$_filtered()); |
| }, |
| sublist$2: function(_, start, end) { |
| return $.JSArray_methods.sublist$2(this.get$_filtered(), start, end); |
| }, |
| sublist$1: function($receiver, start) { |
| return this.sublist$2($receiver, start, null); |
| }, |
| skip$1: function(_, n) { |
| return this.get$IterableMixinWorkaround().skipList$2(this, n); |
| }, |
| get$last: function(_) { |
| return $.JSArray_methods.get$last(this.get$_filtered()); |
| }, |
| $asList: function() { |
| return function () { return [$.Element]; }; |
| }, |
| $asIterable: function() { |
| return function () { return [$.Element]; }; |
| } |
| }; |
| |
| $$.FilteredElementList__filtered_anon = {"": "Closure;", |
| call$1: function(n) { |
| return typeof n === "object" && n !== null && $.getInterceptor(n).$isElement(); |
| } |
| }; |
| |
| $$.FilteredElementList_removeRange_anon = {"": "Closure;", |
| call$1: function(el) { |
| return $.remove$0$ax(el); |
| } |
| }; |
| |
| $$._AttributeClassSet = {"": "CssClassSet;_liblib2$_element", |
| readClasses$0: function() { |
| var t1, classname, s, trimmed; |
| t1 = $.get$attributes$x(this._liblib2$_element); |
| classname = t1.$index(t1, "class"); |
| s = $.LinkedHashSet$(); |
| if (classname == null) |
| return s; |
| for (t1 = $.JSArray_methods.get$iterator($.split$1$s(classname, " ")); t1.moveNext$0();) { |
| trimmed = $.trim$0$s(t1.get$current()); |
| if (!$.JSString_methods.get$isEmpty(trimmed)) |
| s.add$1(s, trimmed); |
| } |
| return s; |
| }, |
| writeClasses$1: function(s) { |
| var t1 = $.get$attributes$x(this._liblib2$_element); |
| t1.$indexSet(t1, "class", s.join$1(s, " ")); |
| } |
| }; |
| |
| $$.BarGraph = {"": "Object;_canvas,_model,_elements,scaleHeight", |
| addSample$1: function(segments) { |
| if (segments.length !== this._elements.length) |
| throw $.wrapException($.RuntimeError$("invalid sample size for graph")); |
| this._model.addSample$1(segments); |
| }, |
| drawBarGraph$0: function() { |
| var t1, context, t2, x, i, y; |
| t1 = this._canvas; |
| $.Primitives_printString("drawBarGraph: _canvas=" + $.S(t1)); |
| context = $.get$context2D$x(t1); |
| context.beginPath(); |
| context.strokeStyle = "black"; |
| t2 = $.getInterceptor$x(t1); |
| context.strokeRect(48, 1, $.$add$ns($.$sub$n($.$sub$n(t2.get$width(t1), 50), 150), 2), $.$sub$n(t2.get$height(t1), 2), 1); |
| x = $.$sub$n(t2.get$width(t1), 130); |
| if (typeof x !== "number") |
| return this.drawBarGraph$0$bailout(1, context, x); |
| context.font = "14px sans-serif"; |
| for (t1 = this._elements, i = t1.length - 1, t2 = x + 30, y = 20; i >= 0; --i) { |
| if (i >= t1.length) |
| throw $.ioore(i); |
| context.fillStyle = $.get$color$x(t1[i]); |
| context.fillRect(x, y, 20, 20); |
| context.fillStyle = "black"; |
| if (i >= t1.length) |
| throw $.ioore(i); |
| context.fillText($.get$name$x(t1[i]), t2, y + 15); |
| y += 30; |
| } |
| }, |
| drawBarGraph$0$bailout: function(state0, context, x) { |
| var t1, i, t2, y; |
| context.font = "14px sans-serif"; |
| for (t1 = this._elements, i = t1.length - 1, t2 = $.getInterceptor$ns(x), y = 20; i >= 0; --i) { |
| if (i >= t1.length) |
| throw $.ioore(i); |
| context.fillStyle = $.get$color$x(t1[i]); |
| context.fillRect(x, y, 20, 20); |
| context.fillStyle = "black"; |
| if (i >= t1.length) |
| throw $.ioore(i); |
| context.fillText($.get$name$x(t1[i]), t2.$add(x, 30), y + 15); |
| y += 30; |
| } |
| }, |
| drawGraph$1: function(model) { |
| var graphHeight, t1, height, scale; |
| graphHeight = model.get$maxTotal(); |
| t1 = this._canvas; |
| t1.clientWidth; |
| height = t1.clientHeight; |
| t1 = $.getInterceptor$n(graphHeight); |
| if (t1.$ge(graphHeight, this.scaleHeight)) { |
| this.scaleHeight = t1.$mul(graphHeight, 1.2); |
| this.scaleHeight = $.JSNumber_methods.ceil$0($.$div$n(this.scaleHeight, 100)) * 100; |
| } |
| scale = $.$div$n(height, this.scaleHeight); |
| this.drawValues$2(this.scaleHeight, scale); |
| this.drawChart$2(this.scaleHeight, scale); |
| }, |
| get$drawGraph: function() { |
| return new $.BoundClosure$1(this, "drawGraph$1"); |
| }, |
| drawChart$2: function(maxHeight, scale) { |
| var t1, dividerHeight, t3, context, height, scaledY, t2, scaledY0, i; |
| t1 = $.getInterceptor$n(maxHeight); |
| dividerHeight = t1.$tdiv(maxHeight, 5); |
| if (typeof dividerHeight !== "number") |
| return this.drawChart$2$bailout(1, maxHeight, scale, t1, dividerHeight); |
| t3 = this._canvas; |
| context = $.get$context2D$x(t3); |
| context.beginPath(); |
| height = t1.toInt$0(maxHeight); |
| scaledY = dividerHeight * scale; |
| context.clearRect(0, 0, 48, maxHeight); |
| for (t1 = $.getInterceptor$x(t3), t2 = $.JSNumber_methods.$tdiv(dividerHeight, 100) * 100, scaledY0 = scaledY, i = 1; i < 5; ++i) { |
| height -= t2; |
| context.font = "14px sans-serif"; |
| context.fillStyle = "black"; |
| context.textAlign = "right"; |
| context.textBaseline = "middle"; |
| context.fillText($.JSNumber_methods.toString$0(height), 40, scaledY0); |
| context.moveTo(48, scaledY0); |
| context.strokeStyle = "grey"; |
| context.lineWidth = 0.5; |
| context.lineTo($.$sub$n(t1.get$width(t3), 150), scaledY0); |
| context.stroke(); |
| scaledY0 += scaledY; |
| } |
| }, |
| drawChart$2$bailout: function(state0, maxHeight, scale, t1, dividerHeight) { |
| var t3, context, height, scaledY, t2, i, t4; |
| t3 = this._canvas; |
| context = $.get$context2D$x(t3); |
| context.beginPath(); |
| height = t1.toInt$0(maxHeight); |
| t1 = $.getInterceptor$n(dividerHeight); |
| scaledY = t1.$mul(dividerHeight, scale); |
| context.clearRect(0, 0, 48, maxHeight); |
| for (t2 = $.getInterceptor$x(t3), i = 1; i < 5; ++i) { |
| t4 = $.$mul$n(t1.$tdiv(dividerHeight, 100), 100); |
| if (typeof t4 !== "number") |
| throw $.iae(t4); |
| height -= t4; |
| context.font = "14px sans-serif"; |
| context.fillStyle = "black"; |
| context.textAlign = "right"; |
| context.textBaseline = "middle"; |
| context.fillText($.JSNumber_methods.toString$0(height), 40, scaledY); |
| context.moveTo(48, scaledY); |
| context.strokeStyle = "grey"; |
| context.lineWidth = 0.5; |
| context.lineTo($.$sub$n(t2.get$width(t3), 150), scaledY); |
| context.stroke(); |
| scaledY = $.$add$ns(scaledY, t1.$mul(dividerHeight, scale)); |
| } |
| }, |
| drawValues$2: function(maxHeight, scale) { |
| var t1, iterator, w, t2, x, s, blankHeight, y, i, h, t3; |
| if (typeof maxHeight !== "number") |
| return this.drawValues$2$bailout(1, maxHeight, scale); |
| t1 = this._model; |
| iterator = t1.get$iterator(t1); |
| t1 = this._canvas; |
| w = $.$sub$n($.$sub$n($.$sub$n($.get$width$x(t1), 50), 150), 2); |
| t2 = $.JSNumber_methods.ceil$0(maxHeight * scale); |
| $.get$context2D$x(t1).clearRect(52, 2, w, t2 - 4); |
| for (t1 = this._elements, x = 52; iterator.moveNext$0();) { |
| s = iterator.get$current(); |
| t2 = $.getInterceptor(s); |
| if (s != null) { |
| blankHeight = $.$sub$n(this.scaleHeight, t2.total$0(s)); |
| this.drawVerticalSegment$6(x, 2, 5, blankHeight, "white", scale); |
| if (typeof blankHeight !== "number") |
| throw $.iae(blankHeight); |
| y = 2 + blankHeight; |
| i = $.$sub$n(t2.get$length(s), 1); |
| if (i !== (i | 0)) |
| return this.drawValues$2$bailout(2, maxHeight, scale, t2, t1, iterator, x, y, i, s); |
| for (; i >= 0; --i) { |
| h = t2.$index(s, i); |
| if (i >= t1.length) |
| throw $.ioore(i); |
| this.drawVerticalSegment$6(x, y, 5, h, $.get$color$x(t1[i]), scale); |
| t3 = t2.$index(s, i); |
| if (typeof t3 !== "number") |
| throw $.iae(t3); |
| y += t3; |
| } |
| } else |
| this.drawVerticalSegment$6(x, 2, 5, maxHeight, "white", scale); |
| x += 5; |
| } |
| }, |
| drawValues$2$bailout: function(state0, maxHeight, scale, t2, t1, iterator, x, y, i, s) { |
| switch (state0) { |
| case 0: |
| case 1: |
| state0 = 0; |
| t1 = this._model; |
| iterator = t1.get$iterator(t1); |
| t1 = this._canvas; |
| w = $.$sub$n($.$sub$n($.$sub$n($.get$width$x(t1), 50), 150), 2); |
| t2 = $.ceil$0$n($.$mul$n(maxHeight, scale)); |
| $.get$context2D$x(t1).clearRect(52, 2, w, t2 - 4); |
| t1 = this._elements; |
| x = 52; |
| case 2: |
| var w, blankHeight, h, t3; |
| L0: |
| while (true) |
| switch (state0) { |
| case 0: |
| if (!iterator.moveNext$0()) |
| break L0; |
| s = iterator.get$current(); |
| t2 = $.getInterceptor(s); |
| case 2: |
| if (state0 === 2 || state0 === 0 && s != null) |
| switch (state0) { |
| case 0: |
| blankHeight = $.$sub$n(this.scaleHeight, t2.total$0(s)); |
| this.drawVerticalSegment$6(x, 2, 5, blankHeight, "white", scale); |
| if (typeof blankHeight !== "number") |
| throw $.iae(blankHeight); |
| y = 2 + blankHeight; |
| i = $.$sub$n(t2.get$length(s), 1); |
| case 2: |
| state0 = 0; |
| for (; $.$ge$n(i, 0); --i) { |
| h = t2.$index(s, i); |
| if (i !== (i | 0)) |
| throw $.iae(i); |
| if (i < 0 || i >= t1.length) |
| throw $.ioore(i); |
| this.drawVerticalSegment$6(x, y, 5, h, $.get$color$x(t1[i]), scale); |
| t3 = t2.$index(s, i); |
| if (typeof t3 !== "number") |
| throw $.iae(t3); |
| y += t3; |
| } |
| } |
| else |
| this.drawVerticalSegment$6(x, 2, 5, maxHeight, "white", scale); |
| x += 5; |
| } |
| } |
| }, |
| drawVerticalSegment$6: function(x, y, w, h, color, scale) { |
| var t1, context, max; |
| if (typeof h !== "number") |
| return this.drawVerticalSegment$6$bailout(1, x, y, w, h, color, scale); |
| t1 = this._canvas; |
| context = $.get$context2D$x(t1); |
| y = $.JSNumber_methods.floor$0(y * scale); |
| h = $.JSNumber_methods.ceil$0(h * scale); |
| context.beginPath(); |
| context.lineWidth = w; |
| context.fillStyle = color; |
| context.strokeStyle = color; |
| if (x < 2) |
| x = 2; |
| if (y < 2) |
| y = 2; |
| t1 = $.get$height$x(t1); |
| if (typeof t1 !== "number") |
| return this.drawVerticalSegment$6$bailout(2, x, y, 0, h, 0, 0, context, t1); |
| max = t1 - 2; |
| if (y + h > max) |
| h = max - y; |
| context.moveTo(x, y); |
| context.lineTo(x, y + h); |
| context.stroke(); |
| }, |
| drawVerticalSegment$6$bailout: function(state0, x, y, w, h, color, scale, context, t1) { |
| switch (state0) { |
| case 0: |
| case 1: |
| state0 = 0; |
| t1 = this._canvas; |
| context = $.get$context2D$x(t1); |
| y = $.JSNumber_methods.floor$0(y * scale); |
| h = $.ceil$0$n($.$mul$n(h, scale)); |
| context.beginPath(); |
| context.lineWidth = w; |
| context.fillStyle = color; |
| context.strokeStyle = color; |
| if (x < 2) |
| x = 2; |
| if (y < 2) |
| y = 2; |
| t1 = $.get$height$x(t1); |
| case 2: |
| var max; |
| state0 = 0; |
| max = $.$sub$n(t1, 2); |
| if ($.JSNumber_methods.$gt(y + h, max)) |
| h = $.$sub$n(max, y); |
| context.moveTo(x, y); |
| if (typeof h !== "number") |
| throw $.iae(h); |
| context.lineTo(x, y + h); |
| context.stroke(); |
| } |
| }, |
| BarGraph$2: function(_canvas, _elements) { |
| this._model = $.GraphModel$($.$tdiv$n($.$sub$n($.$sub$n($.get$width$x(this._canvas), 50), 150), 5)); |
| this._model.addListener$2(this.get$drawGraph(), null); |
| this.drawBarGraph$0(); |
| } |
| }; |
| |
| $$.GraphModel = {"": "ObservableModel;_samples,_maxSize,_listeners", |
| addSample$1: function(segments) { |
| var t1 = this._samples; |
| if ($.JSInt_methods.$ge(t1.length, this._maxSize)) |
| $.JSArray_methods.remove$1(t1, $.JSArray_methods.get$first(t1)); |
| t1.push($.Sample$(segments)); |
| this.notifySuccess$0(); |
| }, |
| get$iterator: function(_) { |
| return $.JSArray_methods.get$iterator(this._samples); |
| }, |
| $index: function(_, i) { |
| var t1 = this._samples; |
| if (i !== (i | 0)) |
| throw $.iae(i); |
| if (i < 0 || i >= t1.length) |
| throw $.ioore(i); |
| return t1[i]; |
| }, |
| get$maxTotal: function() { |
| var t1 = {}; |
| t1.max_0 = 1; |
| $.JSArray_methods.forEach$1(this._samples, new $.GraphModel_maxTotal_anon(t1)); |
| return t1.max_0; |
| } |
| }; |
| |
| $$.GraphModel_maxTotal_anon = {"": "Closure;box_0", |
| call$1: function(s) { |
| var t1, t2, t3, max; |
| t1 = $.getInterceptor$x(s); |
| t2 = t1.total$0(s); |
| t3 = this.box_0; |
| max = $.$gt$n(t2, t3.max_0) ? t1.total$0(s) : t3.max_0; |
| t3.max_0 = max; |
| return max; |
| } |
| }; |
| |
| $$.Element0 = {"": "Object;name>,color>"}; |
| |
| $$.Sample = {"": "Object;_segments", |
| get$length: function(_) { |
| return this._segments.length; |
| }, |
| $index: function(_, i) { |
| var t1 = this._segments; |
| if (i !== (i | 0)) |
| throw $.iae(i); |
| if (i < 0 || i >= t1.length) |
| throw $.ioore(i); |
| return t1[i]; |
| }, |
| get$iterator: function(_) { |
| return $.JSArray_methods.get$iterator(this._segments); |
| }, |
| total$0: function(_) { |
| return $.JSArray_methods.fold$2(this._segments, 0, new $.Sample_total_anon()); |
| } |
| }; |
| |
| $$.Sample_total_anon = {"": "Closure;", |
| call$2: function(prev, element) { |
| return $.$add$ns(prev, element); |
| } |
| }; |
| |
| $$.IsolateList = {"": "Object;_isolateTable", |
| updateList$1: function(model) { |
| var iterator, t1, t2, t3, isolate, t4, isolateId, t5, detailsCell, basicData, details, stacktraceCell, stacktrace; |
| iterator = $.get$iterator$ax(model); |
| for (t1 = this._isolateTable, t2 = $.getInterceptor$x(t1); iterator.moveNext$0() === true;) { |
| t3 = {}; |
| isolate = iterator.get$current(); |
| t4 = $.getInterceptor$x(isolate); |
| isolateId = "isolate-" + $.S(t4.get$port(isolate)); |
| t3.isolateRow_0 = t1.querySelector("#" + isolateId); |
| t5 = t3.isolateRow_0; |
| if (t5 != null) |
| this.updateIsolateDetails$2(isolate, t5); |
| else { |
| t3.isolateRow_0 = document.createElement("tr"); |
| $.set$$$dom_className$x(t3.isolateRow_0, "isolate_row"); |
| $.set$id$x(t3.isolateRow_0, isolateId); |
| t5 = t2.get$children(t1); |
| t5.add$1(t5, t3.isolateRow_0); |
| detailsCell = document.createElement("td"); |
| t5 = $.getInterceptor$x(detailsCell); |
| detailsCell.className = "isolate_details_column"; |
| $.add$1$ax($.get$children$x(t3.isolateRow_0), detailsCell); |
| basicData = document.createElement("div"); |
| basicData.textContent = $.JSString_methods.replaceAll$2($.replaceAll$2$s(t4.get$name(isolate), "$", ": "), "-", " "); |
| t4 = t5.get$children(detailsCell); |
| t4.add$1(t4, basicData); |
| details = document.createElement("div"); |
| t4 = $.get$classes$x(details); |
| t4.addAll$1(t4, ["isolate_details", "hidden"]); |
| t5 = t5.get$children(detailsCell); |
| t5.add$1(t5, details); |
| stacktraceCell = document.createElement("td"); |
| t5 = $.getInterceptor$x(stacktraceCell); |
| t4 = t5.get$classes(stacktraceCell); |
| t4.addAll$1(t4, ["isolate_stacktrace_column", "hidden"]); |
| $.add$1$ax($.get$children$x(t3.isolateRow_0), stacktraceCell); |
| stacktrace = document.createElement("div"); |
| t4 = $.get$classes$x(stacktrace); |
| t4.addAll$1(t4, ["stack_trace", "hidden"]); |
| t5 = t5.get$children(stacktraceCell); |
| t5.add$1(t5, stacktrace); |
| $.get$onClick$x(t3.isolateRow_0).listen$1(new $.IsolateList_updateList_anon(t3, this)); |
| this.updateIsolateDetails$2(isolate, t3.isolateRow_0); |
| } |
| } |
| }, |
| setStacktrace$2: function(element, json) { |
| var t1, t2, response, title, t3, stackIterator, i, frame, $frameElement, text, noStack; |
| t1 = $.getInterceptor$x(element); |
| t2 = t1.get$children(element); |
| t2.clear$0(t2); |
| response = $.parse(json, null); |
| t2 = $.getInterceptor$asx(response); |
| t1.set$id(element, t2.$index(response, "handle")); |
| title = document.createElement("div"); |
| title.className = "stack_trace_title"; |
| title.textContent = "Stack Trace"; |
| t3 = t1.get$children(element); |
| t3.add$1(t3, title); |
| if ($.$gt$n($.get$length$asx(t2.$index(response, "stacktrace")), 0)) { |
| stackIterator = $.get$iterator$ax(t2.$index(response, "stacktrace")); |
| for (i = 0; stackIterator.moveNext$0() === true;) { |
| ++i; |
| frame = stackIterator.get$current(); |
| $frameElement = document.createElement("div"); |
| t2 = $.getInterceptor$asx(frame); |
| text = "" + i + ": " + $.S(t2.$index(frame, "url")) + ":" + $.S(t2.$index(frame, "line")) + ": " + $.S(t2.$index(frame, "function")); |
| $frameElement.textContent = $.$index$asx(t2.$index(frame, "code"), "optimized") === true ? text + " (optimized)" : text; |
| $frameElement.className = "stack_frame"; |
| t2 = t1.get$children(element); |
| t2.add$1(t2, $frameElement); |
| } |
| } else { |
| noStack = document.createElement("div"); |
| noStack.className = "empty_stack_frame"; |
| noStack.textContent = "<no stack>"; |
| t1 = t1.get$children(element); |
| t1.add$1(t1, noStack); |
| } |
| }, |
| findOrAddChild$2: function($parent, className) { |
| var child, t1; |
| child = $parent.querySelector("." + className); |
| if (child == null) { |
| child = document.createElement("div"); |
| child.className = className; |
| t1 = $.get$children$x($parent); |
| t1.add$1(t1, child); |
| } |
| return child; |
| }, |
| updateIsolateDetails$2: function(isolate, row) { |
| var details, stackTrace; |
| details = row.querySelector(".isolate_details"); |
| this.findOrAddChild$2(details, "new_space").textContent = "New space: " + $.S(isolate.get$newSpace().used) + "K"; |
| this.findOrAddChild$2(details, "old_space").textContent = "Old space: " + $.S(isolate.get$oldSpace().used) + "K"; |
| this.findOrAddChild$2(details, "stack_limit").textContent = "Stack limit: " + $.S($.JSDouble_methods.round$0($.abs$0$n(isolate.get$stackLimit()) / 1000000)) + "M"; |
| stackTrace = this.findOrAddChild$2(row, "isolate_stacktrace_column"); |
| $.HttpRequest_getString("/isolate/" + $.S(isolate.get$handle()) + "/stacktrace", null, null).then$1(new $.IsolateList_updateIsolateDetails_anon(this, stackTrace)); |
| } |
| }; |
| |
| $$.IsolateList_updateList_anon = {"": "Closure;box_0,this_1", |
| call$1: function(e) { |
| var t1, t2, t3, t4; |
| t1 = this.box_0.isolateRow_0; |
| t2 = $.getInterceptor$x(t1); |
| t3 = t2.query$1(t1, ".isolate_details"); |
| t4 = $.getInterceptor$x(t3); |
| t4.get$classes(t3).toggle$1("visible"); |
| t4.get$classes(t3).toggle$1("hidden"); |
| t1 = t2.query$1(t1, ".isolate_stacktrace_column"); |
| t2 = $.getInterceptor$x(t1); |
| t2.get$classes(t1).toggle$1("visible"); |
| t2.get$classes(t1).toggle$1("hidden"); |
| return; |
| } |
| }; |
| |
| $$.IsolateList_updateIsolateDetails_anon = {"": "Closure;this_0,stackTrace_1", |
| call$1: function(response) { |
| return this.this_0.setStacktrace$2(this.stackTrace_1, response); |
| } |
| }; |
| |
| $$.ObservableModel = {"": "Object;", |
| addListener$2: function(onUpdate, onFailure) { |
| this._listeners.push($.ModelListener$(onUpdate, onFailure)); |
| }, |
| removeListener$1: function(onUpdate) { |
| var t1, iterator; |
| t1 = this._listeners; |
| iterator = $.JSArray_methods.get$iterator(t1); |
| for (; iterator.moveNext$0();) |
| if (iterator.get$current().get$_onUpdate() === onUpdate) { |
| $.JSArray_methods.remove$1(t1, iterator.get$current()); |
| return; |
| } |
| }, |
| notifySuccess$0: function() { |
| $.JSArray_methods.forEach$1(this._listeners, new $.ObservableModel_notifySuccess_anon(this)); |
| }, |
| notifyFailure$0: function() { |
| $.JSArray_methods.forEach$1(this._listeners, new $.ObservableModel_notifyFailure_anon()); |
| } |
| }; |
| |
| $$.ObservableModel_notifySuccess_anon = {"": "Closure;this_0", |
| call$1: function(listener) { |
| return listener.changed$1(this.this_0); |
| } |
| }; |
| |
| $$.ObservableModel_notifyFailure_anon = {"": "Closure;", |
| call$1: function(listener) { |
| return listener.failed$0(); |
| } |
| }; |
| |
| $$.ModelListener = {"": "Object;_onUpdate<,_onFailure", |
| _onUpdate$1: function(arg0) { |
| return this._onUpdate.call$1(arg0); |
| }, |
| changed$1: function(model) { |
| return $.Primitives_applyFunction(this._onUpdate, [model], $.Function__toMangledNames(null)); |
| }, |
| failed$0: function() { |
| return $.Primitives_applyFunction(this._onFailure, [], $.Function__toMangledNames(null)); |
| } |
| }; |
| |
| $$.IsolateListModel = {"": "ObservableModel;_isolates,_listeners", |
| update$0: function() { |
| $.HttpRequest_getString("/isolates", null, null).then$2$onError(new $.IsolateListModel_update_anon(this), new $.IsolateListModel_update_anon0(this)); |
| }, |
| _onUpdate$1: function(isolateMap) { |
| var list, i; |
| this._isolates = []; |
| list = $.$index$asx(isolateMap, "isolates"); |
| if (typeof list !== "string" && (typeof list !== "object" || list === null || list.constructor !== Array && !$.getInterceptor(list).$isJavaScriptIndexingBehavior())) |
| return this._onUpdate$1$bailout(1, list); |
| for (i = 0; i < list.length; ++i) |
| this._isolates.push($.Isolate$(list[i])); |
| this.notifySuccess$0(); |
| }, |
| _onUpdate$1$bailout: function(state0, list) { |
| var t1, i; |
| for (t1 = $.getInterceptor$asx(list), i = 0; $.JSNumber_methods.$lt(i, t1.get$length(list)); ++i) |
| this._isolates.push($.Isolate$(t1.$index(list, i))); |
| this.notifySuccess$0(); |
| }, |
| get$_onUpdate: function() { |
| return new $.BoundClosure$1(this, "_onUpdate$1"); |
| }, |
| toString$0: function(_) { |
| return $.JSArray_methods.join$1(this._isolates, ", "); |
| }, |
| forEach$1: function(_, f) { |
| return $.JSArray_methods.forEach$1(this._isolates, f); |
| }, |
| isEmpty$0: function(_) { |
| return $.JSArray_methods.get$isEmpty(this._isolates); |
| }, |
| get$isEmpty: function(receiver) { |
| return new $.BoundClosure$i0(this, "isEmpty$0", receiver); |
| }, |
| get$iterator: function(_) { |
| return $.JSArray_methods.get$iterator(this._isolates); |
| }, |
| get$length: function(_) { |
| return this._isolates.length; |
| }, |
| $index: function(_, index) { |
| var t1 = this._isolates; |
| if (index !== (index | 0)) |
| throw $.iae(index); |
| if (index < 0 || index >= t1.length) |
| throw $.ioore(index); |
| return t1[index]; |
| } |
| }; |
| |
| $$.IsolateListModel_update_anon = {"": "Closure;this_0", |
| call$1: function(response) { |
| return this.this_0._onUpdate$1($.parse(response, null)); |
| } |
| }; |
| |
| $$.IsolateListModel_update_anon0 = {"": "Closure;this_1", |
| call$1: function(e) { |
| return this.this_1.notifyFailure$0(); |
| } |
| }; |
| |
| $$.Isolate = {"": "Object;handle<,name>,port>,startTime,stackLimit<,newSpace<,oldSpace<", |
| toString$0: function(_) { |
| return $.S(this.name) + ": " + $.S($.$add$ns(this.newSpace.used, this.oldSpace.used)) + "K"; |
| } |
| }; |
| |
| $$.Space = {"": "Object;used,capacity", |
| toString$0: function(_) { |
| return "used: " + $.S(this.used) + " capacity: " + $.S(this.capacity); |
| } |
| }; |
| |
| $$.main_anon = {"": "Closure;", |
| call$1: function(timer) { |
| return $._isolates.update$0(); |
| } |
| }; |
| |
| $$.onUpdateStatus_anon = {"": "Closure;box_0", |
| call$1: function(element) { |
| var t1 = this.box_0; |
| t1.oldSpace_0 = $.$add$ns(t1.oldSpace_0, element.get$oldSpace().used); |
| t1.newSpace_1 = $.$add$ns(t1.newSpace_1, element.get$newSpace().used); |
| } |
| }; |
| |
| // Native classes |
| $$._WorkerStub = {"": "Interceptor;", |
| get$id: function(receiver) { |
| return receiver.id; |
| }, |
| set$id: function(receiver, i) { |
| receiver.id = i; |
| }, |
| set$onmessage: function(receiver, f) { |
| receiver.onmessage = f; |
| }, |
| postMessage$1: function(receiver, msg) { |
| receiver.postMessage(msg); |
| }, |
| terminate$0: function(receiver) { |
| receiver.terminate(); |
| } |
| }; |
| |
| $$._HTMLElement = {"": "Element;"}; |
| |
| $$.AnchorElement = {"": "Element;name=,port=", |
| toString$0: function(receiver) { |
| return receiver.toString(); |
| } |
| }; |
| |
| $$.AnimationEvent = {"": "Event;"}; |
| |
| $$.AreaElement = {"": "Element;port="}; |
| |
| $$.ArrayBuffer = {"": "Interceptor;"}; |
| |
| $$.ArrayBufferView = {"": "Interceptor;"}; |
| |
| $$.Attr = {"": "Node;"}; |
| |
| $$.AudioElement = {"": "MediaElement;"}; |
| |
| $$.AutocompleteErrorEvent = {"": "Event;"}; |
| |
| $$.BRElement = {"": "Element;"}; |
| |
| $$.BaseElement = {"": "Element;"}; |
| |
| $$.BeforeLoadEvent = {"": "Event;"}; |
| |
| $$.Blob = {"": "Interceptor;"}; |
| |
| $$.BodyElement = {"": "Element;"}; |
| |
| $$.ButtonElement = {"": "Element;name=,value="}; |
| |
| $$.CDataSection = {"": "Text;"}; |
| |
| $$.CanvasElement = {"": "Element;height=,width=", |
| get$context2D: function(receiver) { |
| return receiver.getContext("2d"); |
| } |
| }; |
| |
| $$.CanvasGradient = {"": "Interceptor;"}; |
| |
| $$.CanvasPattern = {"": "Interceptor;"}; |
| |
| $$.CanvasRenderingContext = {"": "Interceptor;"}; |
| |
| $$.CanvasRenderingContext2D = {"": "CanvasRenderingContext;"}; |
| |
| $$.CharacterData = {"": "Node;length="}; |
| |
| $$.CloseEvent = {"": "Event;"}; |
| |
| $$.Comment = {"": "CharacterData;"}; |
| |
| $$.CompositionEvent = {"": "UIEvent;"}; |
| |
| $$.ContentElement = {"": "Element;"}; |
| |
| $$.CssFontFaceLoadEvent = {"": "Event;"}; |
| |
| $$.CssStyleDeclaration = {"": "Interceptor;length=", |
| getPropertyValue$1: function(receiver, propertyName) { |
| var propValue = receiver.getPropertyValue(propertyName); |
| return propValue != null ? propValue : ""; |
| }, |
| get$color: function(receiver) { |
| return this.getPropertyValue$1(receiver, "color"); |
| } |
| }; |
| |
| $$.CustomElementConstructor = {"": "Interceptor;"}; |
| |
| $$.CustomEvent = {"": "Event;"}; |
| |
| $$.DListElement = {"": "Element;"}; |
| |
| $$.DataListElement = {"": "Element;"}; |
| |
| $$.DetailsElement = {"": "Element;"}; |
| |
| $$.DeviceMotionEvent = {"": "Event;"}; |
| |
| $$.DeviceOrientationEvent = {"": "Event;"}; |
| |
| $$.DialogElement = {"": "Element;"}; |
| |
| $$.DivElement = {"": "Element;"}; |
| |
| $$.Document = {"": "Node;", |
| query$1: function(receiver, selectors) { |
| return receiver.querySelector(selectors); |
| }, |
| register$2: function(receiver, $name, options) { |
| var t1 = $ === options; |
| if (t1) |
| options = null; |
| if (!t1) |
| return receiver.webkitRegister($name, $.convertDartToNative_Dictionary(options)); |
| return receiver.webkitRegister($name); |
| }, |
| get$onClick: function(receiver) { |
| return $.EventStreamProvider_click.forTarget$1(receiver); |
| } |
| }; |
| |
| $$.DocumentFragment = {"": "Node;", |
| get$children: function(receiver) { |
| if (receiver._children == null) |
| receiver._children = $.FilteredElementList$(receiver); |
| return receiver._children; |
| }, |
| query$1: function(receiver, selectors) { |
| return receiver.querySelector(selectors); |
| } |
| }; |
| |
| $$.DocumentType = {"": "Node;"}; |
| |
| $$.DomError = {"": "Interceptor;name="}; |
| |
| $$.DomException = {"": "Interceptor;", |
| get$name: function(receiver) { |
| var errorName = receiver.name; |
| if ($.Device_isWebKit() === true && errorName === "SECURITY_ERR") |
| return "SecurityError"; |
| if ($.Device_isWebKit() === true && errorName === "SYNTAX_ERR") |
| return "SyntaxError"; |
| return errorName; |
| }, |
| toString$0: function(receiver) { |
| return receiver.toString(); |
| } |
| }; |
| |
| $$.Element = {"": "Node;$$dom_children:children=,id%,$$dom_className:className}", |
| get$attributes: function(receiver) { |
| return $._ElementAttributeMap$(receiver); |
| }, |
| get$children: function(receiver) { |
| return $._ChildrenElementList$_wrap(receiver); |
| }, |
| get$classes: function(receiver) { |
| return $._ElementCssClassSet$(receiver); |
| }, |
| query$1: function(receiver, selectors) { |
| return receiver.querySelector(selectors); |
| }, |
| get$onClick: function(receiver) { |
| return $.EventStreamProvider_click.forTarget$1(receiver); |
| }, |
| $isElement: function() { |
| return true; |
| }, |
| $asElement: function() { |
| return null; |
| } |
| }; |
| |
| $$.EmbedElement = {"": "Element;height=,name=,width="}; |
| |
| $$.EntityReference = {"": "Node;"}; |
| |
| $$.ErrorEvent = {"": "Event;"}; |
| |
| $$.Event = {"": "Interceptor;"}; |
| |
| $$.EventException = {"": "Interceptor;name=", |
| toString$0: function(receiver) { |
| return receiver.toString(); |
| } |
| }; |
| |
| $$.EventTarget = {"": "Interceptor;", |
| $$dom_addEventListener$3: function(receiver, type, listener, useCapture) { |
| return receiver.addEventListener(type, $.convertDartClosureToJS(listener, 1), useCapture); |
| }, |
| $$dom_removeEventListener$3: function(receiver, type, listener, useCapture) { |
| return receiver.removeEventListener(type, $.convertDartClosureToJS(listener, 1), useCapture); |
| } |
| }; |
| |
| $$.FieldSetElement = {"": "Element;name="}; |
| |
| $$.File = {"": "Blob;name="}; |
| |
| $$.FileError = {"": "Interceptor;"}; |
| |
| $$.FileException = {"": "Interceptor;name=", |
| toString$0: function(receiver) { |
| return receiver.toString(); |
| } |
| }; |
| |
| $$.FocusEvent = {"": "UIEvent;"}; |
| |
| $$.FormElement = {"": "Element;length=,name="}; |
| |
| $$.HRElement = {"": "Element;"}; |
| |
| $$.HashChangeEvent = {"": "Event;"}; |
| |
| $$.HeadElement = {"": "Element;"}; |
| |
| $$.HeadingElement = {"": "Element;"}; |
| |
| $$.HtmlCollection = {"": "Interceptor;", |
| get$length: function(receiver) { |
| return receiver.length; |
| }, |
| $index: function(receiver, index) { |
| return receiver[index]; |
| }, |
| $indexSet: function(receiver, index, value) { |
| throw $.wrapException($.UnsupportedError$("Cannot assign element of immutable List.")); |
| }, |
| get$iterator: function(receiver) { |
| return $.FixedSizeListIterator$(receiver); |
| }, |
| forEach$1: function(receiver, f) { |
| var t1; |
| for (t1 = this.get$iterator(receiver); t1.moveNext$0();) |
| f.call$1(t1.get$current()); |
| return; |
| }, |
| toList$1$growable: function(receiver, growable) { |
| return $.List_List$from(receiver, growable); |
| }, |
| toList$0: function($receiver) { |
| return this.toList$1$growable($receiver, true); |
| }, |
| get$isEmpty: function(receiver) { |
| return this.get$length(receiver) === 0; |
| }, |
| skip$1: function(receiver, n) { |
| return $.SubListIterable$(receiver, n, null); |
| }, |
| elementAt$1: function(receiver, index) { |
| return receiver[index]; |
| }, |
| add$1: function(receiver, value) { |
| throw $.wrapException($.UnsupportedError$("Cannot add to immutable List.")); |
| }, |
| addAll$1: function(receiver, iterable) { |
| throw $.wrapException($.UnsupportedError$("Cannot add to immutable List.")); |
| }, |
| set$length: function(receiver, value) { |
| throw $.wrapException($.UnsupportedError$("Cannot resize immutable List.")); |
| }, |
| removeLast$0: function(receiver) { |
| throw $.wrapException($.UnsupportedError$("Cannot remove from immutable List.")); |
| }, |
| sublist$2: function(receiver, start, end) { |
| if (end == null) |
| end = this.get$length(receiver); |
| return $.Lists_getRange(receiver, start, end, []); |
| }, |
| sublist$1: function($receiver, start) { |
| return this.sublist$2($receiver, start, null); |
| }, |
| toString$0: function(receiver) { |
| var buffer = $.StringBuffer$("["); |
| buffer.writeAll$2(receiver, ", "); |
| buffer.write$1("]"); |
| return buffer.toString$0(buffer); |
| }, |
| $isList: function() { |
| return true; |
| }, |
| $asList: function() { |
| return function () { return [$.Node]; }; |
| }, |
| $isIterable: function() { |
| return true; |
| }, |
| $asIterable: function() { |
| return function () { return [$.Node]; }; |
| }, |
| $isJavaScriptIndexingBehavior: function() { |
| return true; |
| }, |
| $asJavaScriptIndexingBehavior: function() { |
| return null; |
| } |
| }; |
| |
| $$.HtmlDocument = {"": "Document;"}; |
| |
| $$.HtmlElement = {"": "Element;"}; |
| |
| $$.HtmlFormControlsCollection = {"": "HtmlCollection;"}; |
| |
| $$.HtmlOptionsCollection = {"": "HtmlCollection;"}; |
| |
| $$.HttpRequest = {"": "EventTarget;responseText=", |
| $$dom_addEventListener$3: function(receiver, type, listener, useCapture) { |
| return receiver.addEventListener(type, $.convertDartClosureToJS(listener, 1), useCapture); |
| }, |
| 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); |
| }, |
| $$dom_removeEventListener$3: function(receiver, type, listener, useCapture) { |
| return receiver.removeEventListener(type, $.convertDartClosureToJS(listener, 1), useCapture); |
| }, |
| send$1: function(receiver, data) { |
| return receiver.send(data); |
| }, |
| get$onError: function(receiver) { |
| return $.EventStreamProvider_error.forTarget$1(receiver); |
| }, |
| get$onLoad: function(receiver) { |
| return $.EventStreamProvider_load.forTarget$1(receiver); |
| }, |
| get$onProgress: function(receiver) { |
| return $.EventStreamProvider_progress.forTarget$1(receiver); |
| } |
| }; |
| |
| $$.HttpRequestException = {"": "Interceptor;name=", |
| toString$0: function(receiver) { |
| return receiver.toString(); |
| } |
| }; |
| |
| $$.HttpRequestProgressEvent = {"": "ProgressEvent;"}; |
| |
| $$.HttpRequestUpload = {"": "EventTarget;", |
| $$dom_addEventListener$3: function(receiver, type, listener, useCapture) { |
| return receiver.addEventListener(type, $.convertDartClosureToJS(listener, 1), useCapture); |
| }, |
| $$dom_removeEventListener$3: function(receiver, type, listener, useCapture) { |
| return receiver.removeEventListener(type, $.convertDartClosureToJS(listener, 1), useCapture); |
| } |
| }; |
| |
| $$.IFrameElement = {"": "Element;height=,name=,width="}; |
| |
| $$.ImageElement = {"": "Element;height=,width="}; |
| |
| $$.InputElement = {"": "Element;height=,name=,value=,width=", |
| $isElement: function() { |
| return true; |
| }, |
| $asElement: function() { |
| return null; |
| } |
| }; |
| |
| $$.KeyboardEvent = {"": "UIEvent;"}; |
| |
| $$.KeygenElement = {"": "Element;name="}; |
| |
| $$.LIElement = {"": "Element;value="}; |
| |
| $$.LabelElement = {"": "Element;"}; |
| |
| $$.LegendElement = {"": "Element;"}; |
| |
| $$.LinkElement = {"": "Element;"}; |
| |
| $$.MapElement = {"": "Element;name="}; |
| |
| $$.MediaElement = {"": "Element;"}; |
| |
| $$.MediaError = {"": "Interceptor;"}; |
| |
| $$.MediaKeyError = {"": "Interceptor;"}; |
| |
| $$.MediaKeyEvent = {"": "Event;"}; |
| |
| $$.MediaStreamEvent = {"": "Event;"}; |
| |
| $$.MediaStreamTrackEvent = {"": "Event;"}; |
| |
| $$.MenuElement = {"": "Element;"}; |
| |
| $$.MessageEvent = {"": "Event;"}; |
| |
| $$.MetaElement = {"": "Element;name="}; |
| |
| $$.MeterElement = {"": "Element;value="}; |
| |
| $$.ModElement = {"": "Element;"}; |
| |
| $$.MouseEvent = {"": "UIEvent;"}; |
| |
| $$.MutationEvent = {"": "Event;"}; |
| |
| $$.Navigator = {"": "Interceptor;"}; |
| |
| $$.NavigatorUserMediaError = {"": "Interceptor;"}; |
| |
| $$.Node = {"": "EventTarget;text:textContent}", |
| get$nodes: function(receiver) { |
| return $._ChildNodeListLazy$(receiver); |
| }, |
| remove$0: function(receiver) { |
| var t1 = receiver.parentNode; |
| if (t1 != null) |
| t1.removeChild(receiver); |
| }, |
| replaceWith$1: function(receiver, otherNode) { |
| var $parent, exception; |
| try { |
| $parent = receiver.parentNode; |
| $.$$dom_replaceChild$2$x($parent, otherNode, receiver); |
| } catch (exception) { |
| $.unwrapException(exception); |
| } |
| |
| return receiver; |
| }, |
| toString$0: function(receiver) { |
| var t1 = receiver.localName; |
| if (t1 == null) { |
| t1 = receiver.nodeValue; |
| if (t1 == null) |
| t1 = $.Object.prototype.toString$0.call(receiver, receiver); |
| } |
| return t1; |
| }, |
| $$dom_addEventListener$3: function(receiver, type, listener, useCapture) { |
| return receiver.addEventListener(type, $.convertDartClosureToJS(listener, 1), useCapture); |
| }, |
| $$dom_removeEventListener$3: function(receiver, type, listener, useCapture) { |
| return receiver.removeEventListener(type, $.convertDartClosureToJS(listener, 1), useCapture); |
| }, |
| $$dom_replaceChild$2: function(receiver, newChild, oldChild) { |
| return receiver.replaceChild(newChild, oldChild); |
| } |
| }; |
| |
| $$.NodeList = {"": "Interceptor;", |
| get$length: function(receiver) { |
| return receiver.length; |
| }, |
| $index: function(receiver, index) { |
| return receiver[index]; |
| }, |
| $indexSet: function(receiver, index, value) { |
| throw $.wrapException($.UnsupportedError$("Cannot assign element of immutable List.")); |
| }, |
| get$iterator: function(receiver) { |
| return $.FixedSizeListIterator$(receiver); |
| }, |
| forEach$1: function(receiver, f) { |
| var t1; |
| for (t1 = this.get$iterator(receiver); t1.moveNext$0();) |
| f.call$1(t1.get$current()); |
| return; |
| }, |
| toList$1$growable: function(receiver, growable) { |
| return $.List_List$from(receiver, growable); |
| }, |
| toList$0: function($receiver) { |
| return this.toList$1$growable($receiver, true); |
| }, |
| get$isEmpty: function(receiver) { |
| return this.get$length(receiver) === 0; |
| }, |
| skip$1: function(receiver, n) { |
| return $.SubListIterable$(receiver, n, null); |
| }, |
| elementAt$1: function(receiver, index) { |
| return receiver[index]; |
| }, |
| add$1: function(receiver, value) { |
| throw $.wrapException($.UnsupportedError$("Cannot add to immutable List.")); |
| }, |
| addAll$1: function(receiver, iterable) { |
| throw $.wrapException($.UnsupportedError$("Cannot add to immutable List.")); |
| }, |
| set$length: function(receiver, value) { |
| throw $.wrapException($.UnsupportedError$("Cannot resize immutable List.")); |
| }, |
| removeLast$0: function(receiver) { |
| throw $.wrapException($.UnsupportedError$("Cannot remove from immutable List.")); |
| }, |
| sublist$2: function(receiver, start, end) { |
| if (end == null) |
| end = this.get$length(receiver); |
| return $.Lists_getRange(receiver, start, end, []); |
| }, |
| sublist$1: function($receiver, start) { |
| return this.sublist$2($receiver, start, null); |
| }, |
| toString$0: function(receiver) { |
| var buffer = $.StringBuffer$("["); |
| buffer.writeAll$2(receiver, ", "); |
| buffer.write$1("]"); |
| return buffer.toString$0(buffer); |
| }, |
| $isList: function() { |
| return true; |
| }, |
| $asList: function() { |
| return function () { return [$.Node]; }; |
| }, |
| $isIterable: function() { |
| return true; |
| }, |
| $asIterable: function() { |
| return function () { return [$.Node]; }; |
| }, |
| $isJavaScriptIndexingBehavior: function() { |
| return true; |
| }, |
| $asJavaScriptIndexingBehavior: function() { |
| return null; |
| } |
| }; |
| |
| $$.Notation = {"": "Node;"}; |
| |
| $$.OListElement = {"": "Element;"}; |
| |
| $$.ObjectElement = {"": "Element;height=,name=,width="}; |
| |
| $$.OptGroupElement = {"": "Element;"}; |
| |
| $$.OptionElement = {"": "Element;value="}; |
| |
| $$.OutputElement = {"": "Element;name=,value="}; |
| |
| $$.OverflowEvent = {"": "Event;"}; |
| |
| $$.PageTransitionEvent = {"": "Event;"}; |
| |
| $$.ParagraphElement = {"": "Element;"}; |
| |
| $$.ParamElement = {"": "Element;name=,value="}; |
| |
| $$.PopStateEvent = {"": "Event;"}; |
| |
| $$.PositionError = {"": "Interceptor;"}; |
| |
| $$.PreElement = {"": "Element;"}; |
| |
| $$.ProcessingInstruction = {"": "Node;"}; |
| |
| $$.ProgressElement = {"": "Element;value="}; |
| |
| $$.ProgressEvent = {"": "Event;", |
| total$0: function($receiver) { |
| return this.total.call$0(); |
| } |
| }; |
| |
| $$.QuoteElement = {"": "Element;"}; |
| |
| $$.RadioNodeList = {"": "NodeList;"}; |
| |
| $$.RangeException = {"": "Interceptor;name=", |
| toString$0: function(receiver) { |
| return receiver.toString(); |
| } |
| }; |
| |
| $$.RtcDataChannelEvent = {"": "Event;"}; |
| |
| $$.RtcDtmfToneChangeEvent = {"": "Event;"}; |
| |
| $$.RtcIceCandidateEvent = {"": "Event;"}; |
| |
| $$.ScriptElement = {"": "Element;"}; |
| |
| $$.SecurityPolicyViolationEvent = {"": "Event;"}; |
| |
| $$.SelectElement = {"": "Element;length%,name=,value="}; |
| |
| $$.ShadowElement = {"": "Element;"}; |
| |
| $$.ShadowRoot = {"": "DocumentFragment;"}; |
| |
| $$.SourceElement = {"": "Element;"}; |
| |
| $$.SpanElement = {"": "Element;"}; |
| |
| $$.SpeechInputEvent = {"": "Event;"}; |
| |
| $$.SpeechRecognitionError = {"": "Event;"}; |
| |
| $$.SpeechRecognitionEvent = {"": "Event;"}; |
| |
| $$.StorageEvent = {"": "Event;"}; |
| |
| $$.StyleElement = {"": "Element;"}; |
| |
| $$.TableCaptionElement = {"": "Element;"}; |
| |
| $$.TableCellElement = {"": "Element;"}; |
| |
| $$.TableColElement = {"": "Element;"}; |
| |
| $$.TableElement = {"": "Element;"}; |
| |
| $$.TableRowElement = {"": "Element;"}; |
| |
| $$.TableSectionElement = {"": "Element;"}; |
| |
| $$.TemplateElement = {"": "Element;"}; |
| |
| $$.Text = {"": "CharacterData;"}; |
| |
| $$.TextAreaElement = {"": "Element;name=,value="}; |
| |
| $$.TextEvent = {"": "UIEvent;"}; |
| |
| $$.TitleElement = {"": "Element;"}; |
| |
| $$.TouchEvent = {"": "UIEvent;"}; |
| |
| $$.TrackElement = {"": "Element;"}; |
| |
| $$.TrackEvent = {"": "Event;"}; |
| |
| $$.TransitionEvent = {"": "Event;"}; |
| |
| $$.UIEvent = {"": "Event;"}; |
| |
| $$.UListElement = {"": "Element;"}; |
| |
| $$.Uint8Array = {"": "ArrayBufferView;", |
| get$length: function(receiver) { |
| return receiver.length; |
| }, |
| $index: function(receiver, index) { |
| return receiver[index]; |
| }, |
| $indexSet: function(receiver, index, value) { |
| receiver[index] = value; |
| }, |
| get$iterator: function(receiver) { |
| return $.FixedSizeListIterator$(receiver); |
| }, |
| forEach$1: function(receiver, f) { |
| var t1; |
| for (t1 = this.get$iterator(receiver); t1.moveNext$0();) |
| f.call$1(t1.get$current()); |
| return; |
| }, |
| toList$1$growable: function(receiver, growable) { |
| return $.List_List$from(receiver, growable); |
| }, |
| toList$0: function($receiver) { |
| return this.toList$1$growable($receiver, true); |
| }, |
| get$isEmpty: function(receiver) { |
| return this.get$length(receiver) === 0; |
| }, |
| skip$1: function(receiver, n) { |
| return $.SubListIterable$(receiver, n, null); |
| }, |
| elementAt$1: function(receiver, index) { |
| return this.$index(receiver, index); |
| }, |
| add$1: function(receiver, value) { |
| throw $.wrapException($.UnsupportedError$("Cannot add to immutable List.")); |
| }, |
| addAll$1: function(receiver, iterable) { |
| throw $.wrapException($.UnsupportedError$("Cannot add to immutable List.")); |
| }, |
| set$length: function(receiver, value) { |
| throw $.wrapException($.UnsupportedError$("Cannot resize immutable List.")); |
| }, |
| removeLast$0: function(receiver) { |
| throw $.wrapException($.UnsupportedError$("Cannot remove from immutable List.")); |
| }, |
| sublist$2: function(receiver, start, end) { |
| if (end == null) |
| end = this.get$length(receiver); |
| return $.Lists_getRange(receiver, start, end, []); |
| }, |
| sublist$1: function($receiver, start) { |
| return this.sublist$2($receiver, start, null); |
| }, |
| toString$0: function(receiver) { |
| var buffer = $.StringBuffer$("["); |
| buffer.writeAll$2(receiver, ", "); |
| buffer.write$1("]"); |
| return buffer.toString$0(buffer); |
| }, |
| $isList: function() { |
| return true; |
| }, |
| $asList: function() { |
| return function () { return [$.$int]; }; |
| }, |
| $isIterable: function() { |
| return true; |
| }, |
| $asIterable: function() { |
| return function () { return [$.$int]; }; |
| }, |
| $isJavaScriptIndexingBehavior: function() { |
| return true; |
| }, |
| $asJavaScriptIndexingBehavior: function() { |
| return null; |
| } |
| }; |
| |
| $$.Uint8ClampedArray = {"": "Uint8Array;", |
| $index: function(receiver, index) { |
| return receiver[index]; |
| }, |
| $indexSet: function(receiver, index, value) { |
| receiver[index] = value; |
| }, |
| get$iterator: function(receiver) { |
| return $.FixedSizeListIterator$(receiver); |
| }, |
| forEach$1: function(receiver, f) { |
| var t1; |
| for (t1 = this.get$iterator(receiver); t1.moveNext$0();) |
| f.call$1(t1.get$current()); |
| return; |
| }, |
| toList$1$growable: function(receiver, growable) { |
| return $.List_List$from(receiver, growable); |
| }, |
| toList$0: function($receiver) { |
| return this.toList$1$growable($receiver, true); |
| }, |
| get$isEmpty: function(receiver) { |
| return this.get$length(receiver) === 0; |
| }, |
| skip$1: function(receiver, n) { |
| return $.SubListIterable$(receiver, n, null); |
| }, |
| elementAt$1: function(receiver, index) { |
| return receiver[index]; |
| }, |
| add$1: function(receiver, value) { |
| throw $.wrapException($.UnsupportedError$("Cannot add to immutable List.")); |
| }, |
| addAll$1: function(receiver, iterable) { |
| throw $.wrapException($.UnsupportedError$("Cannot add to immutable List.")); |
| }, |
| set$length: function(receiver, value) { |
| throw $.wrapException($.UnsupportedError$("Cannot resize immutable List.")); |
| }, |
| removeLast$0: function(receiver) { |
| throw $.wrapException($.UnsupportedError$("Cannot remove from immutable List.")); |
| }, |
| sublist$2: function(receiver, start, end) { |
| if (end == null) |
| end = this.get$length(receiver); |
| return $.Lists_getRange(receiver, start, end, []); |
| }, |
| sublist$1: function($receiver, start) { |
| return this.sublist$2($receiver, start, null); |
| }, |
| toString$0: function(receiver) { |
| var buffer = $.StringBuffer$("["); |
| buffer.writeAll$2(receiver, ", "); |
| buffer.write$1("]"); |
| return buffer.toString$0(buffer); |
| }, |
| $isList: function() { |
| return true; |
| }, |
| $asList: function() { |
| return function () { return [$.$int]; }; |
| }, |
| $isIterable: function() { |
| return true; |
| }, |
| $asIterable: function() { |
| return function () { return [$.$int]; }; |
| }, |
| $isJavaScriptIndexingBehavior: function() { |
| return true; |
| }, |
| $asJavaScriptIndexingBehavior: function() { |
| return null; |
| } |
| }; |
| |
| $$.UnknownElement = {"": "Element;"}; |
| |
| $$.VideoElement = {"": "MediaElement;height=,width="}; |
| |
| $$.WheelEvent = {"": "MouseEvent;"}; |
| |
| $$.Window = {"": "EventTarget;name=,navigator=", |
| $$dom_addEventListener$3: function(receiver, type, listener, useCapture) { |
| return receiver.addEventListener(type, $.convertDartClosureToJS(listener, 1), useCapture); |
| }, |
| $$dom_removeEventListener$3: function(receiver, type, listener, useCapture) { |
| return receiver.removeEventListener(type, $.convertDartClosureToJS(listener, 1), useCapture); |
| }, |
| get$onClick: function(receiver) { |
| return $.EventStreamProvider_click.forTarget$1(receiver); |
| } |
| }; |
| |
| $$.XPathException = {"": "Interceptor;name=", |
| toString$0: function(receiver) { |
| return receiver.toString(); |
| } |
| }; |
| |
| $$._NamedNodeMap = {"": "Interceptor;", |
| get$length: function(receiver) { |
| return receiver.length; |
| }, |
| $index: function(receiver, index) { |
| return receiver[index]; |
| }, |
| $indexSet: function(receiver, index, value) { |
| throw $.wrapException($.UnsupportedError$("Cannot assign element of immutable List.")); |
| }, |
| get$iterator: function(receiver) { |
| return $.FixedSizeListIterator$(receiver); |
| }, |
| forEach$1: function(receiver, f) { |
| var t1; |
| for (t1 = this.get$iterator(receiver); t1.moveNext$0();) |
| f.call$1(t1.get$current()); |
| return; |
| }, |
| toList$1$growable: function(receiver, growable) { |
| return $.List_List$from(receiver, growable); |
| }, |
| toList$0: function($receiver) { |
| return this.toList$1$growable($receiver, true); |
| }, |
| get$isEmpty: function(receiver) { |
| return this.get$length(receiver) === 0; |
| }, |
| skip$1: function(receiver, n) { |
| return $.SubListIterable$(receiver, n, null); |
| }, |
| elementAt$1: function(receiver, index) { |
| return receiver[index]; |
| }, |
| add$1: function(receiver, value) { |
| throw $.wrapException($.UnsupportedError$("Cannot add to immutable List.")); |
| }, |
| addAll$1: function(receiver, iterable) { |
| throw $.wrapException($.UnsupportedError$("Cannot add to immutable List.")); |
| }, |
| set$length: function(receiver, value) { |
| throw $.wrapException($.UnsupportedError$("Cannot resize immutable List.")); |
| }, |
| removeLast$0: function(receiver) { |
| throw $.wrapException($.UnsupportedError$("Cannot remove from immutable List.")); |
| }, |
| sublist$2: function(receiver, start, end) { |
| if (end == null) |
| end = this.get$length(receiver); |
| return $.Lists_getRange(receiver, start, end, []); |
| }, |
| sublist$1: function($receiver, start) { |
| return this.sublist$2($receiver, start, null); |
| }, |
| toString$0: function(receiver) { |
| var buffer = $.StringBuffer$("["); |
| buffer.writeAll$2(receiver, ", "); |
| buffer.write$1("]"); |
| return buffer.toString$0(buffer); |
| }, |
| $isList: function() { |
| return true; |
| }, |
| $asList: function() { |
| return function () { return [$.Node]; }; |
| }, |
| $isIterable: function() { |
| return true; |
| }, |
| $asIterable: function() { |
| return function () { return [$.Node]; }; |
| }, |
| $isJavaScriptIndexingBehavior: function() { |
| return true; |
| }, |
| $asJavaScriptIndexingBehavior: function() { |
| return null; |
| } |
| }; |
| |
| $$._WebKitTransitionEvent = {"": "Event;"}; |
| |
| $$.VersionChangeEvent = {"": "Event;"}; |
| |
| $$.AElement = {"": "StyledElement;"}; |
| |
| $$.AltGlyphElement = {"": "TextPositioningElement;"}; |
| |
| $$.AnimateElement = {"": "AnimationElement;"}; |
| |
| $$.AnimateMotionElement = {"": "AnimationElement;"}; |
| |
| $$.AnimateTransformElement = {"": "AnimationElement;"}; |
| |
| $$.AnimatedLength = {"": "Interceptor;"}; |
| |
| $$.AnimatedNumberList = {"": "Interceptor;"}; |
| |
| $$.AnimationElement = {"": "SvgElement;"}; |
| |
| $$.CircleElement = {"": "StyledElement;"}; |
| |
| $$.ClipPathElement = {"": "StyledElement;"}; |
| |
| $$.DefsElement = {"": "StyledElement;"}; |
| |
| $$.DescElement = {"": "StyledElement;"}; |
| |
| $$.EllipseElement = {"": "StyledElement;"}; |
| |
| $$.FEBlendElement = {"": "StyledElement;height=,width="}; |
| |
| $$.FEColorMatrixElement = {"": "StyledElement;height=,width="}; |
| |
| $$.FEComponentTransferElement = {"": "StyledElement;height=,width="}; |
| |
| $$.FECompositeElement = {"": "StyledElement;height=,width="}; |
| |
| $$.FEConvolveMatrixElement = {"": "StyledElement;height=,width="}; |
| |
| $$.FEDiffuseLightingElement = {"": "StyledElement;height=,width="}; |
| |
| $$.FEDisplacementMapElement = {"": "StyledElement;height=,width="}; |
| |
| $$.FEDistantLightElement = {"": "SvgElement;"}; |
| |
| $$.FEFloodElement = {"": "StyledElement;height=,width="}; |
| |
| $$.FEFuncAElement = {"": "_SVGComponentTransferFunctionElement;"}; |
| |
| $$.FEFuncBElement = {"": "_SVGComponentTransferFunctionElement;"}; |
| |
| $$.FEFuncGElement = {"": "_SVGComponentTransferFunctionElement;"}; |
| |
| $$.FEFuncRElement = {"": "_SVGComponentTransferFunctionElement;"}; |
| |
| $$.FEGaussianBlurElement = {"": "StyledElement;height=,width="}; |
| |
| $$.FEImageElement = {"": "StyledElement;height=,width="}; |
| |
| $$.FEMergeElement = {"": "StyledElement;height=,width="}; |
| |
| $$.FEMergeNodeElement = {"": "SvgElement;"}; |
| |
| $$.FEMorphologyElement = {"": "StyledElement;height=,width="}; |
| |
| $$.FEOffsetElement = {"": "StyledElement;height=,width="}; |
| |
| $$.FEPointLightElement = {"": "SvgElement;"}; |
| |
| $$.FESpecularLightingElement = {"": "StyledElement;height=,width="}; |
| |
| $$.FESpotLightElement = {"": "SvgElement;"}; |
| |
| $$.FETileElement = {"": "StyledElement;height=,width="}; |
| |
| $$.FETurbulenceElement = {"": "StyledElement;height=,width="}; |
| |
| $$.FilterElement = {"": "StyledElement;height=,width="}; |
| |
| $$.ForeignObjectElement = {"": "StyledElement;height=,width="}; |
| |
| $$.GElement = {"": "StyledElement;"}; |
| |
| $$.ImageElement0 = {"": "StyledElement;height=,width="}; |
| |
| $$.LineElement = {"": "StyledElement;"}; |
| |
| $$.LinearGradientElement = {"": "_GradientElement;"}; |
| |
| $$.MarkerElement = {"": "StyledElement;"}; |
| |
| $$.MaskElement = {"": "StyledElement;height=,width="}; |
| |
| $$.MetadataElement = {"": "SvgElement;"}; |
| |
| $$.PathElement = {"": "StyledElement;"}; |
| |
| $$.PatternElement = {"": "StyledElement;height=,width="}; |
| |
| $$.PolygonElement = {"": "StyledElement;"}; |
| |
| $$.PolylineElement = {"": "StyledElement;"}; |
| |
| $$.RadialGradientElement = {"": "_GradientElement;"}; |
| |
| $$.RectElement = {"": "StyledElement;height=,width="}; |
| |
| $$.ScriptElement0 = {"": "SvgElement;"}; |
| |
| $$.SetElement = {"": "AnimationElement;"}; |
| |
| $$.StopElement = {"": "StyledElement;"}; |
| |
| $$.StyleElement0 = {"": "SvgElement;"}; |
| |
| $$.StyledElement = {"": "SvgElement;"}; |
| |
| $$.SvgDocument = {"": "Document;"}; |
| |
| $$.SvgElement = {"": "Element;", |
| get$classes: function(receiver) { |
| if (receiver._cssClassSet == null) |
| receiver._cssClassSet = $._AttributeClassSet$(receiver); |
| return receiver._cssClassSet; |
| }, |
| get$children: function(receiver) { |
| return $.FilteredElementList$(receiver); |
| }, |
| get$$$dom_children: function(receiver) { |
| throw $.wrapException($.UnsupportedError$("Cannot get dom_children on SVG.")); |
| }, |
| get$id: function(receiver) { |
| return receiver.id; |
| }, |
| set$id: function(receiver, value) { |
| receiver.id = value; |
| } |
| }; |
| |
| $$.SvgException = {"": "Interceptor;name=", |
| toString$0: function(receiver) { |
| return receiver.toString(); |
| } |
| }; |
| |
| $$.SvgSvgElement = {"": "StyledElement;height=,width="}; |
| |
| $$.SwitchElement = {"": "StyledElement;"}; |
| |
| $$.SymbolElement = {"": "StyledElement;"}; |
| |
| $$.TSpanElement = {"": "TextPositioningElement;"}; |
| |
| $$.TextContentElement = {"": "StyledElement;"}; |
| |
| $$.TextElement = {"": "TextPositioningElement;"}; |
| |
| $$.TextPathElement = {"": "TextContentElement;"}; |
| |
| $$.TextPositioningElement = {"": "TextContentElement;"}; |
| |
| $$.TitleElement0 = {"": "StyledElement;"}; |
| |
| $$.UseElement = {"": "StyledElement;height=,width="}; |
| |
| $$.ViewElement = {"": "SvgElement;"}; |
| |
| $$.ZoomEvent = {"": "UIEvent;"}; |
| |
| $$._GradientElement = {"": "StyledElement;"}; |
| |
| $$._SVGComponentTransferFunctionElement = {"": "SvgElement;"}; |
| |
| $$.AudioProcessingEvent = {"": "Event;"}; |
| |
| $$.OfflineAudioCompletionEvent = {"": "Event;"}; |
| |
| $$.ContextEvent = {"": "Event;"}; |
| |
| $$.SqlError = {"": "Interceptor;"}; |
| |
| $$.SqlException = {"": "Interceptor;"}; |
| |
| $$.Closure = {"": "Object;", |
| toString$0: function(_) { |
| return "Closure"; |
| } |
| }; |
| |
| // Bound closures |
| $$.BoundClosure$1 = {"": "Closure;self,target", |
| call$1: function(p0) { |
| return this.self[this.target](p0); |
| } |
| }; |
| |
| $$.BoundClosure$0 = {"": "Closure;self,target", |
| call$0: function() { |
| return this.self[this.target](); |
| } |
| }; |
| |
| $$.BoundClosure$i0 = {"": "Closure;self,target,receiver", |
| call$0: function() { |
| return this.self[this.target](this.receiver); |
| } |
| }; |
| |
| Isolate.$finishClasses($$, $, null); |
| $$ = null; |
| |
| $.Arrays_copy = function(src, srcStart, dst, dstStart, count) { |
| var i, j, t1, t2, t3; |
| if (typeof src !== "string" && (typeof src !== "object" || src === null || src.constructor !== Array && !$.getInterceptor(src).$isJavaScriptIndexingBehavior())) |
| return $.Arrays_copy$bailout(1, src, srcStart, dst, dstStart, count); |
| if (typeof dst !== "object" || dst === null || (dst.constructor !== Array || !!dst.immutable$list) && !$.getInterceptor(dst).$isJavaScriptIndexingBehavior()) |
| return $.Arrays_copy$bailout(1, src, srcStart, dst, dstStart, count); |
| if (typeof dstStart !== "number") |
| return $.Arrays_copy$bailout(1, src, srcStart, dst, 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 !== (i | 0)) |
| throw $.iae(i); |
| if (i < 0 || i >= t1) |
| throw $.ioore(i); |
| t3 = src[i]; |
| if (j !== (j | 0)) |
| throw $.iae(j); |
| if (j < 0 || j >= t2) |
| throw $.ioore(j); |
| dst[j] = t3; |
| } |
| else |
| for (t1 = src.length, t2 = dst.length, j = dstStart, i = srcStart; i < srcStart + count; ++i, ++j) { |
| if (i !== (i | 0)) |
| throw $.iae(i); |
| if (i < 0 || i >= t1) |
| throw $.ioore(i); |
| t3 = src[i]; |
| if (j !== (j | 0)) |
| throw $.iae(j); |
| if (j < 0 || j >= t2) |
| throw $.ioore(j); |
| dst[j] = t3; |
| } |
| }; |
| |
| $.Arrays_copy$bailout = function(state0, src, srcStart, dst, dstStart, count) { |
| var i, j, t1; |
| if ($.JSNumber_methods.$lt(srcStart, dstStart)) |
| for (i = srcStart + count - 1, j = $.$sub$n($.$add$ns(dstStart, count), 1), t1 = $.getInterceptor$asx(src); i >= srcStart; --i, j = $.$sub$n(j, 1)) |
| $.JSArray_methods.$indexSet(dst, j, t1.$index(src, i)); |
| else |
| for (t1 = $.getInterceptor$asx(src), j = dstStart, i = srcStart; i < srcStart + count; ++i, j = $.$add$ns(j, 1)) |
| $.JSArray_methods.$indexSet(dst, j, t1.$index(src, i)); |
| }; |
| |
| $.SubListIterable$ = function(_iterable, _start, _endOrLength) { |
| return new $.SubListIterable(_iterable, _start, _endOrLength); |
| }; |
| |
| $.ListIterator$ = function(iterable) { |
| return new $.ListIterator(iterable, $.get$length$asx(iterable), 0, null); |
| }; |
| |
| $.MappedIterable$ = function(_iterable, _f) { |
| return new $.MappedIterable(_iterable, _f); |
| }; |
| |
| $.MappedIterator$ = function(_iterator, _f) { |
| return new $.MappedIterator(null, _iterator, _f); |
| }; |
| |
| $.WhereIterable$ = function(_iterable, _f) { |
| return new $.WhereIterable(_iterable, _f); |
| }; |
| |
| $.WhereIterator$ = function(_iterator, _f) { |
| return new $.WhereIterator(_iterator, _f); |
| }; |
| |
| $.SkipIterable$ = function(_iterable, _skipCount) { |
| var t1 = new $.SkipIterable(_iterable, _skipCount); |
| t1.SkipIterable$2(_iterable, _skipCount); |
| return t1; |
| }; |
| |
| $.SkipIterator$ = function(_iterator, _skipCount) { |
| var t1 = new $.SkipIterator(_iterator, _skipCount); |
| t1.SkipIterator$2(_iterator, _skipCount); |
| return t1; |
| }; |
| |
| $.IterableMixinWorkaround__rangeCheck = function(list, start, end) { |
| var t1 = $.getInterceptor$n(start); |
| if (t1.$lt(start, 0) || t1.$gt(start, list.length)) |
| throw $.wrapException($.RangeError$range(start, 0, list.length)); |
| t1 = $.getInterceptor$n(end); |
| if (t1.$lt(end, start) || t1.$gt(end, list.length)) |
| throw $.wrapException($.RangeError$range(end, start, list.length)); |
| }; |
| |
| $.IterableMixinWorkaround_setRangeList = function(list, start, end, from, skipCount) { |
| var $length, otherStart, otherList; |
| $.IterableMixinWorkaround__rangeCheck(list, start, end); |
| $length = $.$sub$n(end, start); |
| if ($.$eq($length, 0)) |
| return; |
| if (skipCount < 0) |
| throw $.wrapException($.ArgumentError$(skipCount)); |
| if (typeof from === "object" && from !== null && (from.constructor === Array || $.getInterceptor(from).$isList())) { |
| otherStart = skipCount; |
| otherList = from; |
| } else { |
| otherList = $.toList$1$growable$ax($.skip$1$ax(from, skipCount), false); |
| otherStart = 0; |
| } |
| if (typeof $length !== "number") |
| throw $.iae($length); |
| if ($.JSNumber_methods.$gt(otherStart + $length, $.get$length$asx(otherList))) |
| throw $.wrapException($.StateError$("Not enough elements")); |
| $.Arrays_copy(otherList, otherStart, list, start, $length); |
| }; |
| |
| $.ToString__emitValue = function(i, result, visiting) { |
| var t1, isList, t2, first, t3; |
| t1 = $.getInterceptor$ax(visiting); |
| t1.add$1(visiting, i); |
| isList = typeof i === "object" && i !== null && (i.constructor === Array || $.getInterceptor(i).$isList()); |
| result.write$1(isList ? "[" : "{"); |
| for (t2 = $.get$iterator$ax(i), first = true; t2.moveNext$0() === true; first = false) { |
| t3 = t2.get$current(); |
| if (!first) |
| result.write$1(", "); |
| $.ToString__emitObject(t3, result, visiting); |
| } |
| result.write$1(isList ? "]" : "}"); |
| t1.removeLast$0(visiting); |
| }; |
| |
| $.ToString__emitObject = function(o, result, visiting) { |
| if (typeof o === "object" && o !== null && (o.constructor === Array || $.getInterceptor(o).$isIterable())) |
| if ($.ToString__containsRef(visiting, o)) |
| result.write$1(typeof o === "object" && o !== null && (o.constructor === Array || $.getInterceptor(o).$isList()) ? "[...]" : "{...}"); |
| else |
| $.ToString__emitValue(o, result, visiting); |
| else if (typeof o === "object" && o !== null && !!$.getInterceptor(o).$isMap) |
| if ($.ToString__containsRef(visiting, o)) |
| result.write$1("{...}"); |
| else |
| $.ToString__emitPair(o, result, visiting); |
| else |
| result.write$1(o); |
| }; |
| |
| $.ToString__containsRef = function(i, ref) { |
| var t1; |
| for (t1 = $.get$iterator$ax(i); t1.moveNext$0() === true;) |
| if (t1.get$current() === ref) |
| return true; |
| return false; |
| }; |
| |
| $.ToString__emitPair = function(m, result, visiting) { |
| var t1, t2; |
| t1 = {}; |
| t2 = $.getInterceptor$ax(visiting); |
| t2.add$1(visiting, m); |
| result.write$1("{"); |
| t1.first_0 = true; |
| m.forEach$1(m, new $.ToString__emitPair_anon(t1, result, visiting)); |
| result.write$1("}"); |
| t2.removeLast$0(visiting); |
| }; |
| |
| $.HashMap__findBucketIndex = function(bucket, key) { |
| var $length, i; |
| if (bucket == null) |
| return -1; |
| $length = bucket.length; |
| for (i = 0; i < $length; i += 2) |
| if ($.$eq(bucket[i], key) === true) |
| return i; |
| return -1; |
| }; |
| |
| $.HashMapKeyIterable$ = function(_map) { |
| return new $.HashMapKeyIterable(_map); |
| }; |
| |
| $.HashMapKeyIterator$ = function(_map, _keys) { |
| return new $.HashMapKeyIterator(_map, _keys, 0, null); |
| }; |
| |
| $.LinkedHashMap__findBucketIndex = function(bucket, key) { |
| var $length, i; |
| if (bucket == null) |
| return -1; |
| $length = bucket.length; |
| for (i = 0; i < $length; ++i) |
| if ($.$eq(bucket[i].get$_key(), key) === true) |
| return i; |
| return -1; |
| }; |
| |
| $.LinkedHashMapCell$ = function(_key, _value) { |
| return new $.LinkedHashMapCell(_key, _value, null, null); |
| }; |
| |
| $.LinkedHashMapKeyIterable$ = function(_map) { |
| return new $.LinkedHashMapKeyIterable(_map); |
| }; |
| |
| $.LinkedHashMapKeyIterator$ = function(_map, _modifications) { |
| var t1 = new $.LinkedHashMapKeyIterator(_map, _modifications, null, null); |
| t1.LinkedHashMapKeyIterator$2(_map, _modifications); |
| return t1; |
| }; |
| |
| $.LinkedHashSet__findBucketIndex = function(bucket, element) { |
| var $length, i; |
| if (bucket == null) |
| return -1; |
| $length = bucket.length; |
| for (i = 0; i < $length; ++i) |
| if ($.$eq(bucket[i].get$_element(), element) === true) |
| return i; |
| return -1; |
| }; |
| |
| $.LinkedHashSetCell$ = function(_element) { |
| return new $.LinkedHashSetCell(_element, null, null); |
| }; |
| |
| $.LinkedHashSetIterator$ = function(_set, _modifications) { |
| var t1 = new $.LinkedHashSetIterator(_set, _modifications, null, null); |
| t1.LinkedHashSetIterator$2(_set, _modifications); |
| return t1; |
| }; |
| |
| $.Function__toMangledNames = function(namedArguments) { |
| var result; |
| if (namedArguments == null) |
| return; |
| result = $.makeLiteralMap([]); |
| $.JSNull_methods.forEach$1(namedArguments, new $.Function__toMangledNames_anon(result)); |
| return result; |
| }; |
| |
| $.getDispatchProperty = function(object) { |
| return object[$.dispatchPropertyName]; |
| }; |
| |
| $.setDispatchProperty = function(object, value) { |
| object[$.dispatchPropertyName] = value; |
| }; |
| |
| $.getNativeInterceptor = function(object) { |
| var record, proto, objectProto; |
| record = $.getDispatchProperty(object); |
| 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 = $.lookupDispatchRecord(object); |
| $.setDispatchProperty(Object.getPrototypeOf(object), record); |
| return $.getNativeInterceptor(object); |
| }; |
| |
| $.JsIsolateSink$fromPort = function(_port) { |
| return new $.JsIsolateSink(false, _port); |
| }; |
| |
| $._callInIsolate = function(isolate, $function) { |
| var result = isolate.eval$1($function); |
| $globalState.topEventLoop.run$0(); |
| return result; |
| }; |
| |
| $._currentIsolate = function() { |
| return $globalState.currentContext; |
| }; |
| |
| $.startRootIsolate = function(entry) { |
| var t1, rootContext; |
| t1 = $._Manager$(); |
| $._globalState0(t1); |
| if ($globalState.isWorker === true) |
| return; |
| rootContext = $._IsolateContext$(); |
| $globalState.rootContext = rootContext; |
| $globalState.currentContext = rootContext; |
| rootContext.eval$1(entry); |
| $globalState.topEventLoop.run$0(); |
| }; |
| |
| $._globalState = function() { |
| return $globalState; |
| }; |
| |
| $._globalState0 = function(val) { |
| $globalState = val; |
| }; |
| |
| $._Manager$ = function() { |
| var t1 = new $._Manager(0, 0, 1, null, null, null, null, null, null, null, null, null); |
| t1._Manager$0(); |
| return t1; |
| }; |
| |
| $._IsolateContext$ = function() { |
| var t1 = new $._IsolateContext(null, null, null); |
| t1._IsolateContext$0(); |
| return t1; |
| }; |
| |
| $._EventLoop$ = function() { |
| return new $._EventLoop($.Queue_Queue(), 0); |
| }; |
| |
| $._IsolateEvent$ = function(isolate, fn, message) { |
| return new $._IsolateEvent(isolate, fn, message); |
| }; |
| |
| $._MainManagerStub$ = function() { |
| return new $._MainManagerStub(); |
| }; |
| |
| $.IsolateNatives_computeThisScript = function() { |
| var currentScript, stack, matches; |
| currentScript = $.$currentScript; |
| if (currentScript != null) |
| return String(currentScript.src); |
| stack = new Error().stack; |
| if (stack == null) |
| stack = (function() {try { throw new Error() } catch(e) { return e.stack }})(); |
| 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 $.wrapException($.UnsupportedError$("Cannot extract URI from \"" + $.S(stack) + "\"")); |
| }; |
| |
| $.IsolateNatives_computeGlobalThis = function() { |
| return function() { return this; }(); |
| }; |
| |
| $.IsolateNatives__processWorkerMessage = function(sender, e) { |
| var msg, t1, entryPoint, replyTo, context, t2; |
| msg = $._deserializeMessage(e.data); |
| t1 = $.getInterceptor$asx(msg); |
| switch (t1.$index(msg, "command")) { |
| case "start": |
| $globalState.currentManagerId = t1.$index(msg, "id"); |
| entryPoint = $[t1.$index(msg, "functionName")]; |
| replyTo = $._deserializeMessage(t1.$index(msg, "replyTo")); |
| context = $._IsolateContext$(); |
| $globalState.topEventLoop.enqueue$3(context, new $.IsolateNatives__processWorkerMessage_anon(entryPoint, replyTo), "worker-start"); |
| $globalState.currentContext = context; |
| $globalState.topEventLoop.run$0(); |
| break; |
| case "spawn-worker": |
| $.IsolateNatives__spawnWorker(t1.$index(msg, "functionName"), t1.$index(msg, "uri"), t1.$index(msg, "replyPort")); |
| break; |
| case "message": |
| if (t1.$index(msg, "port") != null) |
| $.send$2$x(t1.$index(msg, "port"), t1.$index(msg, "msg"), t1.$index(msg, "replyTo")); |
| $globalState.topEventLoop.run$0(); |
| break; |
| case "close": |
| $.IsolateNatives__log("Closing Worker"); |
| t1 = $globalState.managers; |
| t2 = $.getInterceptor$x(sender); |
| t1.remove$1(t1, t2.get$id(sender)); |
| t2.terminate$0(sender); |
| $globalState.topEventLoop.run$0(); |
| break; |
| case "log": |
| $.IsolateNatives__log(t1.$index(msg, "msg")); |
| break; |
| case "print": |
| if ($globalState.isWorker === true) { |
| t1 = $globalState.mainManager; |
| t1.postMessage$1(t1, $._serializeMessage($.makeLiteralMap(["command", "print", "msg", msg]))); |
| } else |
| $.Primitives_printString($.toString$0(t1.$index(msg, "msg"))); |
| break; |
| case "error": |
| throw $.wrapException(t1.$index(msg, "msg")); |
| } |
| }; |
| |
| $.IsolateNatives__log = function(msg) { |
| var trace, t1, exception; |
| if ($globalState.isWorker === true) { |
| t1 = $globalState.mainManager; |
| t1.postMessage$1(t1, $._serializeMessage($.makeLiteralMap(["command", "log", "msg", msg]))); |
| } else |
| try { |
| $.get$globalThis().console.log(msg); |
| } catch (exception) { |
| $.unwrapException(exception); |
| trace = $.getTraceFromException(exception); |
| throw $.wrapException($._ExceptionImplementation$(trace)); |
| } |
| |
| }; |
| |
| $.IsolateNatives__spawnWorker = function(functionName, uri, replyPort) { |
| var worker, t1, t2, workerId; |
| if (functionName == null) |
| functionName = "main"; |
| if (uri == null) |
| uri = $.get$IsolateNatives_thisScript(); |
| worker = new Worker(uri); |
| t1 = $.getInterceptor$x(worker); |
| t1.set$onmessage(worker, function(e) { $.IsolateNatives__processWorkerMessage.call$2(worker, e); }); |
| t2 = $globalState; |
| workerId = t2.nextManagerId; |
| t2.nextManagerId = workerId + 1; |
| t1.set$id(worker, workerId); |
| t2 = $globalState.managers; |
| t2.$indexSet(t2, workerId, worker); |
| t1.postMessage$1(worker, $._serializeMessage($.makeLiteralMap(["command", "start", "id", workerId, "replyTo", $._serializeMessage(replyPort), "functionName", functionName]))); |
| }; |
| |
| $._NativeJsSendPort$ = function(_receivePort, isolateId) { |
| return new $._NativeJsSendPort(_receivePort, isolateId); |
| }; |
| |
| $._WorkerSendPort$ = function(_workerId, isolateId, _receivePortId) { |
| return new $._WorkerSendPort(_workerId, _receivePortId, isolateId); |
| }; |
| |
| $.ReceivePortImpl$ = function() { |
| var t1 = $.ReceivePortImpl__nextFreeId; |
| $.ReceivePortImpl__nextFreeId = $.$add$ns(t1, 1); |
| t1 = new $.ReceivePortImpl(t1, null); |
| t1.ReceivePortImpl$0(); |
| return t1; |
| }; |
| |
| $._waitForPendingPorts = function(message, callback) { |
| var finder = $._PendingSendPortFinder$(); |
| finder.traverse$1(message); |
| $._FutureImpl__FutureImpl$wait(finder.ports).then$1(new $._waitForPendingPorts_anon(callback)); |
| }; |
| |
| $._PendingSendPortFinder$ = function() { |
| var t1 = new $._PendingSendPortFinder([], $._MessageTraverserVisitedMap$()); |
| t1._PendingSendPortFinder$0(); |
| return t1; |
| }; |
| |
| $._serializeMessage = function(message) { |
| if ($globalState.get$needSerialization() === true) |
| return $._JsSerializer$().traverse$1(message); |
| else |
| return $._JsCopier$().traverse$1(message); |
| }; |
| |
| $._deserializeMessage = function(message) { |
| if ($globalState.get$needSerialization() === true) |
| return $._JsDeserializer$().deserialize$1(message); |
| else |
| return message; |
| }; |
| |
| $._JsSerializer$ = function() { |
| var t1 = new $._JsSerializer(0, $._MessageTraverserVisitedMap$()); |
| t1._JsSerializer$0(); |
| return t1; |
| }; |
| |
| $._JsCopier$ = function() { |
| var t1 = new $._JsCopier($._MessageTraverserVisitedMap$()); |
| t1._JsCopier$0(); |
| return t1; |
| }; |
| |
| $._JsDeserializer$ = function() { |
| return new $._JsDeserializer(null); |
| }; |
| |
| $._JsVisitedMap$ = function() { |
| return new $._JsVisitedMap(null); |
| }; |
| |
| $._MessageTraverserVisitedMap$ = function() { |
| return new $._MessageTraverserVisitedMap(); |
| }; |
| |
| $.TimerImpl$ = function(milliseconds, callback) { |
| var t1 = new $.TimerImpl(true, false, null); |
| t1.TimerImpl$2(milliseconds, callback); |
| return t1; |
| }; |
| |
| $.TimerImpl$periodic = function(milliseconds, callback) { |
| var t1 = new $.TimerImpl(false, false, null); |
| t1.TimerImpl$periodic$2(milliseconds, callback); |
| return t1; |
| }; |
| |
| $.hasTimer = function() { |
| return $.get$globalThis().setTimeout != null; |
| }; |
| |
| $.checkGrowable = function(list, reason) { |
| if (!!list.fixed$length) |
| throw $.wrapException($.UnsupportedError$(reason)); |
| }; |
| |
| $.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 = $.toString$0(value); |
| if (typeof res !== "string") |
| throw $.wrapException($.ArgumentError$(value)); |
| return res; |
| }; |
| |
| $.Primitives_objectHashCode = function(object) { |
| var hash = object.$identityHash; |
| if (hash == null) { |
| hash = $.$add$ns($.Primitives_hashCodeSeed, 1); |
| $.Primitives_hashCodeSeed = hash; |
| object.$identityHash = hash; |
| } |
| return hash; |
| }; |
| |
| $.Primitives_printString = function(string) { |
| if (typeof dartPrint == "function") { |
| dartPrint(string); |
| return; |
| } |
| if (typeof window == "object") { |
| if (typeof console == "object") |
| console.log(string); |
| return; |
| } |
| if (typeof print == "function") { |
| print(string); |
| return; |
| } |
| throw "Unable to print message: " + String(string); |
| }; |
| |
| $.Primitives_objectTypeName = function(object) { |
| var $name, decompiled, t1; |
| $name = $.constructorNameFallback(object); |
| if ($.$eq($name, "Object") === true) { |
| decompiled = String(object.constructor).match(/^\s*function\s*(\S*)\s*\(/)[1]; |
| if (typeof decompiled === "string") |
| $name = decompiled; |
| } |
| t1 = $.getInterceptor$s($name); |
| return t1.codeUnitAt$1($name, 0) === 36 ? t1.substring$1($name, 1) : $name; |
| }; |
| |
| $.Primitives_getProperty = function(object, key) { |
| if (object == null || typeof object === "boolean" || typeof object === "number" || typeof object === "string") |
| throw $.wrapException($.ArgumentError$(object)); |
| return object[key]; |
| }; |
| |
| $.Primitives_setProperty = function(object, key, value) { |
| if (object == null || typeof object === "boolean" || typeof object === "number" || typeof object === "string") |
| throw $.wrapException($.ArgumentError$(object)); |
| object[key] = value; |
| }; |
| |
| $.Primitives_applyFunction = function($function, positionalArguments, namedArguments) { |
| var buffer, $arguments, argumentCount, listOfNamedArguments, selectorName, jsFunction; |
| buffer = $.StringBuffer$(""); |
| $arguments = []; |
| argumentCount = 0 + positionalArguments.length; |
| $.JSArray_methods.addAll$1($arguments, positionalArguments); |
| if (namedArguments != null && !namedArguments.get$isEmpty(namedArguments)) { |
| listOfNamedArguments = $.List_List$from(namedArguments.get$keys(), true); |
| argumentCount += namedArguments.get$length(namedArguments); |
| listOfNamedArguments.sort(); |
| $.forEach$1$ax(listOfNamedArguments, new $.Primitives_applyFunction_anon(namedArguments, buffer, $arguments)); |
| } |
| selectorName = "call$" + $.S(argumentCount) + $.S(buffer); |
| jsFunction = $function[selectorName]; |
| if (jsFunction == null) |
| throw $.wrapException($.NoSuchMethodError$($function, selectorName, $arguments, $.makeLiteralMap([]), null)); |
| return jsFunction.apply($function, $arguments); |
| }; |
| |
| $.iae = function(argument) { |
| throw $.wrapException($.ArgumentError$(argument)); |
| }; |
| |
| $.ioore = function(index) { |
| throw $.wrapException($.RangeError$value(index)); |
| }; |
| |
| $.wrapException = function(ex) { |
| var wrapper; |
| if (ex == null) |
| ex = $.C_NullThrownError; |
| wrapper = $.DartError$(ex); |
| if (!!Error.captureStackTrace) |
| Error.captureStackTrace(wrapper, $.wrapException); |
| else |
| wrapper.stack = new Error().stack; |
| return wrapper; |
| }; |
| |
| $.throwExpression = function(ex) { |
| throw $.wrapException(ex); |
| }; |
| |
| $.DartError$ = function(dartException) { |
| var t1 = new $.DartError(); |
| t1.DartError$1(dartException); |
| return t1; |
| }; |
| |
| $.DartError_toStringWrapper = function() { |
| return $.toString$0(this); |
| }; |
| |
| $.unwrapException = function(ex) { |
| var message, type, $name, t1, ieErrorCode, ieFacilityNumber, t2; |
| if ("dartException" in ex) |
| return ex.dartException; |
| message = ex.message; |
| if (ex instanceof TypeError) { |
| type = ex.type; |
| $name = ex.arguments ? ex.arguments[0] : ""; |
| if (message.indexOf("JSNull") === -1) { |
| t1 = $.getInterceptor(type); |
| t1 = t1.$eq(type, "property_not_function") === true || t1.$eq(type, "called_non_callable") === true || t1.$eq(type, "non_object_property_call") === true || t1.$eq(type, "non_object_property_load") === true; |
| } else |
| t1 = true; |
| if (t1) |
| return $.NoSuchMethodError$(null, $name, [], $.makeLiteralMap([]), null); |
| else if ($.$eq(type, "undefined_method") === true) |
| return $.NoSuchMethodError$("", $name, [], $.makeLiteralMap([]), null); |
| ieErrorCode = ex.number & 0xffff; |
| ieFacilityNumber = ex.number >> 16 & 0x1FFF; |
| t1 = typeof message === "string"; |
| if (t1) |
| if (message === "null has no properties" || message === "'null' is not an object" || message === "'undefined' is not an object" || $.JSString_methods.endsWith$1(message, "is null") || $.JSString_methods.endsWith$1(message, "is undefined") || $.JSString_methods.endsWith$1(message, "is null or undefined") || $.JSString_methods.endsWith$1(message, "of undefined") || $.JSString_methods.endsWith$1(message, "of null")) |
| return $.NoSuchMethodError$(null, "<unknown>", [], $.makeLiteralMap([]), null); |
| else { |
| if (message.indexOf(" has no method ") === -1) |
| if (message.indexOf(" is not a function") === -1) |
| t2 = ieErrorCode === 438 && ieFacilityNumber === 10; |
| else |
| t2 = true; |
| else |
| t2 = true; |
| if (t2) |
| return $.NoSuchMethodError$("", "<unknown>", [], $.makeLiteralMap([]), null); |
| } |
| t1 = t1 ? message : ""; |
| return $._ExceptionImplementation$(t1); |
| } |
| if (ex instanceof RangeError) { |
| if (typeof message === "string" && message.indexOf("call stack") !== -1) |
| return $.StackOverflowError$(); |
| return $.ArgumentError$(null); |
| } |
| if (typeof InternalError == "function" && ex instanceof InternalError) |
| if (typeof message === "string" && message === "too much recursion") |
| return $.StackOverflowError$(); |
| return ex; |
| }; |
| |
| $.getTraceFromException = function(exception) { |
| return $._StackTrace$(exception.stack); |
| }; |
| |
| $._StackTrace$ = function(_stack) { |
| return new $._StackTrace(_stack); |
| }; |
| |
| $.makeLiteralMap = function(keyValuePairs) { |
| var iterator, result, key; |
| iterator = $.JSArray_methods.get$iterator(keyValuePairs); |
| result = $.LinkedHashMap$(); |
| for (; iterator.moveNext$0();) { |
| key = iterator.get$current(); |
| iterator.moveNext$0(); |
| result.$indexSet(result, key, iterator.get$current()); |
| } |
| return result; |
| }; |
| |
| $.invokeClosure = function(closure, isolate, numberOfArguments, arg1, arg2) { |
| var t1 = $.getInterceptor(numberOfArguments); |
| if (t1.$eq(numberOfArguments, 0) === true) |
| return $._callInIsolate(isolate, new $.invokeClosure_anon(closure)); |
| else if (t1.$eq(numberOfArguments, 1) === true) |
| return $._callInIsolate(isolate, new $.invokeClosure_anon0(closure, arg1)); |
| else if (t1.$eq(numberOfArguments, 2) === true) |
| return $._callInIsolate(isolate, new $.invokeClosure_anon1(closure, arg1, arg2)); |
| else |
| throw $.wrapException($._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) }})($._currentIsolate(), $.invokeClosure.call$5); |
| closure.$identity = $function; |
| return $function; |
| }; |
| |
| $.throwCyclicInit = function(staticName) { |
| throw $.wrapException($.RuntimeError$("Cyclic initialization for static " + $.S(staticName))); |
| }; |
| |
| $._convertJsonToDart = function(json, reviver) { |
| var revive = reviver == null ? new $._convertJsonToDart_anon() : reviver; |
| return revive.call$2("", new $._convertJsonToDart_walk(revive).call$1(json)); |
| }; |
| |
| $.typeNameInChrome = function(obj) { |
| return $.typeNameInWebKitCommon(obj.constructor.name); |
| }; |
| |
| $.typeNameInSafari = function(obj) { |
| return $.typeNameInWebKitCommon($.constructorNameFallback(obj)); |
| }; |
| |
| $.typeNameInWebKitCommon = function(tag) { |
| var $name = tag; |
| if ($name === "Window") |
| return "DOMWindow"; |
| if ($name === "CanvasPixelArray") |
| return "Uint8ClampedArray"; |
| if ($name === "WebKitMutationObserver") |
| return "MutationObserver"; |
| if ($name === "AudioChannelMerger") |
| return "ChannelMergerNode"; |
| if ($name === "AudioChannelSplitter") |
| return "ChannelSplitterNode"; |
| if ($name === "AudioGainNode") |
| return "GainNode"; |
| if ($name === "AudioPannerNode") |
| return "PannerNode"; |
| if ($name === "JavaScriptAudioNode") |
| return "ScriptProcessorNode"; |
| if ($name === "Oscillator") |
| return "OscillatorNode"; |
| if ($name === "RealtimeAnalyserNode") |
| return "AnalyserNode"; |
| if ($name === "IDBVersionChangeRequest") |
| return "IDBOpenDBRequest"; |
| return $name; |
| }; |
| |
| $.typeNameInOpera = function(obj) { |
| var $name = $.constructorNameFallback(obj); |
| if ($name === "Window") |
| return "DOMWindow"; |
| if ($name === "ApplicationCache") |
| return "DOMApplicationCache"; |
| return $name; |
| }; |
| |
| $.typeNameInFirefox = function(obj) { |
| var $name = $.constructorNameFallback(obj); |
| if ($name === "Window") |
| return "DOMWindow"; |
| if ($name === "BeforeUnloadEvent") |
| return "Event"; |
| if ($name === "CSS2Properties") |
| return "CSSStyleDeclaration"; |
| if ($name === "DataTransfer") |
| return "Clipboard"; |
| if ($name === "DragEvent") |
| return "MouseEvent"; |
| if ($name === "GeoGeolocation") |
| return "Geolocation"; |
| if ($name === "MouseScrollEvent") |
| return "WheelEvent"; |
| if ($name === "OfflineResourceList") |
| return "DOMApplicationCache"; |
| if ($name === "WorkerMessageEvent") |
| return "MessageEvent"; |
| if ($name === "XMLDocument") |
| return "Document"; |
| return $name; |
| }; |
| |
| $.typeNameInIE = function(obj) { |
| var $name = $.constructorNameFallback(obj); |
| if ($name === "Window") |
| return "DOMWindow"; |
| if ($name === "Document") { |
| if (!!obj.xmlVersion) |
| return "Document"; |
| return "HTMLDocument"; |
| } |
| if ($name === "ApplicationCache") |
| return "DOMApplicationCache"; |
| if ($name === "BeforeUnloadEvent") |
| return "Event"; |
| if ($name === "CanvasPixelArray") |
| return "Uint8ClampedArray"; |
| if ($name === "DataTransfer") |
| return "Clipboard"; |
| if ($name === "DragEvent") |
| return "MouseEvent"; |
| if ($name === "HTMLDDElement") |
| return "HTMLElement"; |
| if ($name === "HTMLDTElement") |
| return "HTMLElement"; |
| if ($name === "HTMLTableDataCellElement") |
| return "HTMLTableCellElement"; |
| if ($name === "HTMLTableHeaderCellElement") |
| return "HTMLTableCellElement"; |
| if ($name === "HTMLPhraseElement") |
| return "HTMLElement"; |
| if ($name === "MSStyleCSSProperties") |
| return "CSSStyleDeclaration"; |
| if ($name === "MouseWheelEvent") |
| return "WheelEvent"; |
| 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.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() { |
| if (typeof navigator !== "object") |
| return $.typeNameInChrome; |
| var userAgent = navigator.userAgent; |
| if (userAgent.indexOf("Chrome") !== -1 || userAgent.indexOf("DumpRenderTree") !== -1) |
| return $.typeNameInChrome; |
| else if (userAgent.indexOf("Firefox") !== -1) |
| return $.typeNameInFirefox; |
| else if (userAgent.indexOf("MSIE") !== -1) |
| return $.typeNameInIE; |
| else if (userAgent.indexOf("Opera") !== -1) |
| return $.typeNameInOpera; |
| else if (userAgent.indexOf("AppleWebKit") !== -1) |
| return $.typeNameInSafari; |
| else |
| return $.constructorNameFallback; |
| }; |
| |
| $.toStringForNativeObject = function(obj) { |
| if ($._getTypeNameOf == null) |
| $._getTypeNameOf = $.getFunctionForTypeNameOf(); |
| return "Instance of " + $._getTypeNameOf.call$1(obj); |
| }; |
| |
| $.hashCodeForNativeObject = function(object) { |
| return $.Primitives_objectHashCode(object); |
| }; |
| |
| $.defineProperty = function(obj, property, value) { |
| Object.defineProperty(obj, property, {value: value, enumerable: false, writable: true, configurable: true}); |
| }; |
| |
| $.defineNativeMethods = function(tags, interceptorClass) { |
| $.defineNativeMethodsCommon(tags, interceptorClass, true); |
| }; |
| |
| $.defineNativeMethodsNonleaf = function(tags, interceptorClass) { |
| $.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() { |
| }; |
| |
| $.lookupDispatchRecord = function(obj) { |
| var hasOwnPropertyFunction, tag, map, interceptor, secondTag; |
| hasOwnPropertyFunction = Object.prototype.hasOwnProperty; |
| if ($._getTypeNameOf == null) |
| $._getTypeNameOf = $.getFunctionForTypeNameOf(); |
| tag = $._getTypeNameOf.call$1(obj); |
| map = $.interceptorsByTag; |
| interceptor = hasOwnPropertyFunction.call(map, tag) ? map[tag] : null; |
| if (interceptor == null) { |
| secondTag = $.alternateTag(obj, tag); |
| if (secondTag != null) { |
| map = $.interceptorsByTag; |
| interceptor = hasOwnPropertyFunction.call(map, secondTag) ? map[secondTag] : null; |
| } |
| } |
| if (interceptor == null) |
| interceptor = {__what: "interceptor not found", __tag: tag}; |
| if (true === $.leafTags[tag]) |
| return {i: interceptor, p: false, e: null}; |
| else |
| return {i: interceptor, p: Object.getPrototypeOf(obj), e: null}; |
| }; |
| |
| $.StringMatch$ = function(start, str, pattern) { |
| return new $.StringMatch(start, str, pattern); |
| }; |
| |
| $.allMatchesInStringUnchecked = function(needle, haystack) { |
| var result, $length, patternLength, startIndex, position, endIndex; |
| result = $.List_List($); |
| $length = haystack.length; |
| patternLength = needle.length; |
| for (startIndex = 0; true;) { |
| position = $.JSString_methods.indexOf$2(haystack, needle, startIndex); |
| if (position === -1) |
| break; |
| result.push($.StringMatch$(position, haystack, needle)); |
| endIndex = position + patternLength; |
| if (endIndex === $length) |
| break; |
| else |
| startIndex = position === endIndex ? startIndex + 1 : endIndex; |
| } |
| return result; |
| }; |
| |
| $.stringContainsUnchecked = function(receiver, other, startIndex) { |
| if (typeof other === "string") |
| return $.JSString_methods.indexOf$2(receiver, other, startIndex) !== -1; |
| else if (typeof other === "object" && other !== null && !!$.getInterceptor(other).$isJSSyntaxRegExp) |
| return other.hasMatch$1($.JSString_methods.substring$1(receiver, startIndex)); |
| else |
| return $.get$iterator$ax($.allMatches$1$s(other, $.JSString_methods.substring$1(receiver, startIndex))).moveNext$0(); |
| }; |
| |
| $.stringReplaceAllUnchecked = function(receiver, from, to) { |
| var result, $length, i; |
| if (from === "") |
| if (receiver === "") |
| return to; |
| else { |
| result = $.StringBuffer$(""); |
| $length = receiver.length; |
| result.write$1(to); |
| for (i = 0; i < $length; ++i) { |
| result.write$1(receiver[i]); |
| result.write$1(to); |
| } |
| return result.toString$0(result); |
| } |
| else |
| return receiver.replace(new RegExp(from.replace(new RegExp("[-[\\]{}()*+?.,\\\\^$|#\\s]", 'g'), "\\$&"), 'g'), to.replace("$", "$$$$")); |
| }; |
| |
| $._attachStackTrace = function(o, st) { |
| if (o == null || typeof o === "boolean" || typeof o === "number" || typeof o === "string") |
| return; |
| $.$indexSet$ax($.get$_stackTraceExpando(), o, st); |
| }; |
| |
| $.getAttachedStackTrace = function(o) { |
| if (o == null || typeof o === "boolean" || typeof o === "number" || typeof o === "string") |
| return; |
| return $.$index$asx($.get$_stackTraceExpando(), o); |
| }; |
| |
| $._asyncRunCallback = function() { |
| var callbacks, i, callback, remainingCallbacks, newCallbacks, exception; |
| for (; $.get$isEmpty$asx($.get$_asyncCallbacks()) !== true;) { |
| callbacks = $.get$_asyncCallbacks(); |
| $._asyncCallbacks = []; |
| for (i = 0; $.$lt$n(i, $.get$length$asx(callbacks)); i = $.$add$ns(i, 1)) { |
| callback = $.$index$asx(callbacks, i); |
| $.$indexSet$ax(callbacks, i, null); |
| try { |
| callback.call$0(); |
| } catch (exception) { |
| $.unwrapException(exception); |
| i = $.$add$ns(i, 1); |
| remainingCallbacks = $.sublist$1$ax(callbacks, i); |
| newCallbacks = $.get$_asyncCallbacks(); |
| $._asyncCallbacks = []; |
| $.addAll$1$ax($.get$_asyncCallbacks(), remainingCallbacks); |
| $.addAll$1$ax($.get$_asyncCallbacks(), newCallbacks); |
| $.Timer_run($._asyncRunCallback); |
| throw exception; |
| } |
| |
| } |
| } |
| $._callbacksAreEnqueued = false; |
| }; |
| |
| $._CompleterImpl$ = function() { |
| return new $._CompleterImpl($._FutureImpl$(), false); |
| }; |
| |
| $._FutureListenerWrapper$ = function(future) { |
| return new $._FutureListenerWrapper(future, null); |
| }; |
| |
| $._FutureImpl$ = function() { |
| return new $._FutureImpl(0, null); |
| }; |
| |
| $._FutureImpl$immediate = function(value) { |
| var t1 = new $._FutureImpl(0, null); |
| t1._FutureImpl$immediate$1(value); |
| return t1; |
| }; |
| |
| $._FutureImpl__FutureImpl$wait = function(futures) { |
| var t1, t2, t3, t4, pos; |
| t1 = {}; |
| t1.completer_0 = null; |
| t1.values_1 = null; |
| t2 = new $._FutureImpl__FutureImpl$wait_handleError(t1); |
| t1.remaining_2 = 0; |
| for (t3 = $.JSArray_methods.get$iterator(futures); t3.moveNext$0();) { |
| t4 = t3.get$current(); |
| pos = t1.remaining_2; |
| t1.remaining_2 = $.$add$ns(pos, 1); |
| t4.catchError$1(t2).then$1(new $._FutureImpl__FutureImpl$wait_anon(t1, pos)); |
| } |
| if ($.$eq(t1.remaining_2, 0)) |
| return $._FutureImpl$immediate($.List_empty); |
| t1.values_1 = $.List_List(t1.remaining_2); |
| t1.completer_0 = $._CompleterImpl$(); |
| return t1.completer_0.future; |
| }; |
| |
| $._ThenFuture$ = function(_onValue) { |
| return new $._ThenFuture(_onValue, null, 0, null); |
| }; |
| |
| $._CatchErrorFuture$ = function(_onError, _test) { |
| return new $._CatchErrorFuture(_test, _onError, null, 0, null); |
| }; |
| |
| $._SubscribeFuture$ = function(onValue, _onError) { |
| return new $._SubscribeFuture(_onError, onValue, null, 0, null); |
| }; |
| |
| $._FutureWrapper$ = function(_future) { |
| return new $._FutureWrapper(_future); |
| }; |
| |
| $._throwDelayed = function(error, stackTrace) { |
| var t1 = new $._throwDelayed_anon(error, stackTrace); |
| $.add$1$ax($.get$_asyncCallbacks(), t1); |
| if ($._callbacksAreEnqueued !== true) { |
| $.Timer_run($._asyncRunCallback); |
| $._callbacksAreEnqueued = true; |
| } |
| }; |
| |
| $._nullDataHandler = function(value) { |
| }; |
| |
| $._nullErrorHandler = function(error) { |
| $._throwDelayed(error, null); |
| }; |
| |
| $._nullDoneHandler = function() { |
| }; |
| |
| $._asyncError = function(error, stackTrace) { |
| if (stackTrace == null) |
| return error; |
| if ($.getAttachedStackTrace(error) != null) |
| return error; |
| $._attachStackTrace(error, stackTrace); |
| return error; |
| }; |
| |
| $._ForwardingStreamSubscription$ = function(_stream, onData, onError, onDone, _cancelOnError) { |
| var t1 = new $._ForwardingStreamSubscription(_stream, _cancelOnError, null, onData, onError, onDone); |
| t1._BaseStreamSubscription$3(onData, onError, onDone); |
| t1._ForwardingStreamSubscription$5(_stream, onData, onError, onDone, _cancelOnError); |
| return t1; |
| }; |
| |
| $._SkipStream$ = function(source, count) { |
| var t1 = new $._SkipStream(count, source); |
| t1._SkipStream$2(source, count); |
| return t1; |
| }; |
| |
| $.Timer_run = function(callback) { |
| var t1, milliseconds; |
| $.add$1$ax($.get$Timer__runCallbacks(), callback); |
| if ($.$eq($.get$length$asx($.get$Timer__runCallbacks()), 1) === true) { |
| t1 = new $.Timer_run_anon(); |
| milliseconds = $.Duration_0.get$inMilliseconds(); |
| if (milliseconds < 0) |
| milliseconds = 0; |
| $.TimerImpl$(milliseconds, t1); |
| } |
| }; |
| |
| $.HashMap$ = function() { |
| return new $.HashMap(0, null, null, null, null); |
| }; |
| |
| $.LinkedHashMap$ = function() { |
| return new $.LinkedHashMap(0, null, null, null, null, null, 0); |
| }; |
| |
| $.LinkedHashSet$ = function() { |
| return new $.LinkedHashSet(0, null, null, null, null, null, 0); |
| }; |
| |
| $.Queue_Queue = function() { |
| return $.ListQueue$(null); |
| }; |
| |
| $.ListQueue$ = function(initialCapacity) { |
| var t1 = new $.ListQueue(null, 0, 0, 0); |
| t1.ListQueue$1(initialCapacity); |
| return t1; |
| }; |
| |
| $.ListQueue__isPowerOf2 = function(number) { |
| return $.JSNull_methods.$and(number, $.JSNull_methods.$sub(number, 1)) === 0; |
| }; |
| |
| $.ListQueue__nextPowerOf2 = function(number) { |
| var nextNumber; |
| number = $.$shl$n(number, 2) - 1; |
| for (; true; number = nextNumber) { |
| nextNumber = (number & number - 1) >>> 0; |
| if (nextNumber === 0) |
| return number; |
| } |
| }; |
| |
| $._ListQueueIterator$ = function(queue) { |
| return new $._ListQueueIterator(queue, queue._tail, queue._modificationCount, queue._head, null); |
| }; |
| |
| $.Duration$ = function(days, hours, microseconds, milliseconds, minutes, seconds) { |
| if (typeof microseconds !== "number") |
| throw $.iae(microseconds); |
| return new $.Duration(days * 86400000000 + hours * 3600000000 + minutes * 60000000 + seconds * 1000000 + milliseconds * 1000 + microseconds); |
| }; |
| |
| $.Error_safeToString = function(object) { |
| if (typeof object === "number" && Math.floor(object) === object || typeof object === "number" || typeof object === "boolean" || null == object) |
| return $.toString$0(object); |
| if (typeof object === "string") |
| return "\"" + $.JSString_methods.replaceAll$2($.JSString_methods.replaceAll$2($.JSString_methods.replaceAll$2($.JSString_methods.replaceAll$2(object, "\\", "\\\\"), "\n", "\\n"), "\r", "\\r"), "\"", "\\\"") + "\""; |
| return "Instance of '" + $.S($.Primitives_objectTypeName(object)) + "'"; |
| }; |
| |
| $.ArgumentError$ = function(message) { |
| return new $.ArgumentError(message); |
| }; |
| |
| $.RangeError$value = function(value) { |
| return new $.RangeError("value " + $.S(value)); |
| }; |
| |
| $.RangeError$range = function(value, start, end) { |
| return new $.RangeError("value " + $.S(value) + " not in range " + $.S(start) + ".." + $.S(end)); |
| }; |
| |
| $.NoSuchMethodError$ = function(_receiver, _memberName, _arguments, _namedArguments, existingArgumentNames) { |
| return new $.NoSuchMethodError(_receiver, _memberName, _arguments, _namedArguments, existingArgumentNames); |
| }; |
| |
| $.UnsupportedError$ = function(message) { |
| return new $.UnsupportedError(message); |
| }; |
| |
| $.UnimplementedError$ = function(message) { |
| return new $.UnimplementedError(message); |
| }; |
| |
| $.StateError$ = function(message) { |
| return new $.StateError(message); |
| }; |
| |
| $.ConcurrentModificationError$ = function(modifiedObject) { |
| return new $.ConcurrentModificationError(modifiedObject); |
| }; |
| |
| $.StackOverflowError$ = function() { |
| return new $.StackOverflowError(); |
| }; |
| |
| $.RuntimeError$ = function(message) { |
| return new $.RuntimeError(message); |
| }; |
| |
| $._ExceptionImplementation$ = function(message) { |
| return new $._ExceptionImplementation(message); |
| }; |
| |
| $.FormatException$ = function(message) { |
| return new $.FormatException(message); |
| }; |
| |
| $.IntegerDivisionByZeroException$ = function() { |
| return new $.IntegerDivisionByZeroException(); |
| }; |
| |
| $.Expando$ = function($name) { |
| return new $.Expando($name); |
| }; |
| |
| $.List_List = function($length) { |
| var t1, result; |
| t1 = $ === $length; |
| if (t1) |
| $length = null; |
| if (t1) |
| return new Array(0); |
| if (typeof $length !== "number" || Math.floor($length) !== $length || $length < 0) |
| throw $.wrapException($.ArgumentError$("Length must be a positive integer: " + $.S($length) + ".")); |
| result = new Array($length); |
| result.fixed$length = true; |
| return result; |
| }; |
| |
| $.List_List$from = function(other, growable) { |
| var list, t1, $length, fixedList, i; |
| list = $.List_List($); |
| for (t1 = $.get$iterator$ax(other); t1.moveNext$0() === true;) |
| list.push(t1.get$current()); |
| if (growable === true) |
| return list; |
| $length = list.length; |
| fixedList = $.List_List($length); |
| for (t1 = list.length, i = 0; i < $length; ++i) { |
| if (i >= t1) |
| throw $.ioore(i); |
| fixedList[i] = list[i]; |
| } |
| return fixedList; |
| }; |
| |
| $.Map_Map = function() { |
| return $.HashMap$(); |
| }; |
| |
| $.Object$ = function() { |
| return new $.Object(); |
| }; |
| |
| $.StringBuffer$ = function($content) { |
| var t1 = new $.StringBuffer(""); |
| t1.StringBuffer$1($content); |
| return t1; |
| }; |
| |
| $.window = function() { |
| return window; |
| }; |
| |
| $._ChildrenElementList$_wrap = function(element) { |
| return new $._ChildrenElementList(element, $.get$$$dom_children$x(element)); |
| }; |
| |
| $._FrozenElementList$_wrap = function(_nodeList) { |
| return new $._FrozenElementList(_nodeList); |
| }; |
| |
| $._ElementCssClassSet$ = function(_element) { |
| return new $._ElementCssClassSet(_element); |
| }; |
| |
| $.HttpRequest_getString = function(url, onProgress, withCredentials) { |
| return $.HttpRequest_request(url, null, onProgress, null, null, withCredentials).then$1(new $.HttpRequest_getString_anon()); |
| }; |
| |
| $.HttpRequest_request = function(url, method, onProgress, responseType, sendData, withCredentials) { |
| var completer, xhr, t1; |
| completer = $._CompleterImpl$(); |
| xhr = new XMLHttpRequest(); |
| if (method == null) |
| method = "GET"; |
| t1 = $.getInterceptor$x(xhr); |
| t1.open$3$async(xhr, method, url, true); |
| if (withCredentials != null) |
| xhr.withCredentials = withCredentials; |
| if (responseType != null) |
| xhr.responseType = responseType; |
| if (onProgress != null) |
| t1.get$onProgress(xhr).listen$1(onProgress); |
| t1.get$onLoad(xhr).listen$1(new $.HttpRequest_request_anon(completer, xhr)); |
| t1.get$onError(xhr).listen$1(new $.HttpRequest_request_anon0(completer)); |
| if (sendData != null) |
| xhr.send(sendData); |
| else |
| xhr.send(); |
| return completer.future; |
| }; |
| |
| $._ChildNodeListLazy$ = function(_this) { |
| return new $._ChildNodeListLazy(_this); |
| }; |
| |
| $._ElementAttributeMap$ = function(element) { |
| return new $._ElementAttributeMap(element); |
| }; |
| |
| $._EventStream$ = function(_target, _eventType, _useCapture) { |
| return new $._EventStream(_target, _eventType, _useCapture); |
| }; |
| |
| $._EventStreamSubscription$ = function(_target, _eventType, _onData, _useCapture) { |
| var t1 = new $._EventStreamSubscription(0, _target, _eventType, _onData, _useCapture); |
| t1._EventStreamSubscription$4(_target, _eventType, _onData, _useCapture); |
| return t1; |
| }; |
| |
| $.FixedSizeListIterator$ = function(array) { |
| return new $.FixedSizeListIterator(array, $.get$length$asx(array), -1, null); |
| }; |
| |
| $.convertDartToNative_Dictionary = function(dict) { |
| var object; |
| if (dict == null) |
| return; |
| object = {}; |
| dict.forEach$1(dict, new $.convertDartToNative_Dictionary_anon(object)); |
| return object; |
| }; |
| |
| $.Device_userAgent = function() { |
| return $.get$navigator$x($.window()).userAgent; |
| }; |
| |
| $.Device_isOpera = function() { |
| if ($.Device__isOpera == null) |
| $.Device__isOpera = $.contains$2$asx($.Device_userAgent(), "Opera", 0); |
| return $.Device__isOpera; |
| }; |
| |
| $.Device_isWebKit = function() { |
| if ($.Device__isWebKit == null) |
| $.Device__isWebKit = $.Device_isOpera() !== true && $.contains$2$asx($.Device_userAgent(), "WebKit", 0) === true; |
| return $.Device__isWebKit; |
| }; |
| |
| $.FilteredElementList$ = function(node) { |
| return new $.FilteredElementList(node, $.get$nodes$x(node)); |
| }; |
| |
| $.Lists_getRange = function(a, start, end, accumulator) { |
| var i; |
| if (typeof a !== "string" && (typeof a !== "object" || a === null || a.constructor !== Array && !$.getInterceptor(a).$isJavaScriptIndexingBehavior())) |
| return $.Lists_getRange$bailout(1, a, start, end, accumulator); |
| if (typeof start !== "number") |
| return $.Lists_getRange$bailout(1, a, start, end, accumulator); |
| if (typeof end !== "number") |
| return $.Lists_getRange$bailout(1, a, start, end, accumulator); |
| if (start < 0) |
| throw $.wrapException($.RangeError$value(start)); |
| if (end < start) |
| throw $.wrapException($.RangeError$value(end)); |
| if (end > a.length) |
| throw $.wrapException($.RangeError$value(end)); |
| for (i = start; i < end; ++i) { |
| if (i !== (i | 0)) |
| throw $.iae(i); |
| if (i < 0 || i >= a.length) |
| throw $.ioore(i); |
| accumulator.push(a[i]); |
| } |
| return accumulator; |
| }; |
| |
| $.Lists_getRange$bailout = function(state0, a, start, end, accumulator) { |
| var t1, t2, i; |
| if ($.$lt$n(start, 0)) |
| throw $.wrapException($.RangeError$value(start)); |
| t1 = $.getInterceptor$n(end); |
| if (t1.$lt(end, start)) |
| throw $.wrapException($.RangeError$value(end)); |
| t2 = $.getInterceptor$asx(a); |
| if (t1.$gt(end, t2.get$length(a))) |
| throw $.wrapException($.RangeError$value(end)); |
| for (i = start; t1 = $.getInterceptor$n(i), t1.$lt(i, end); i = t1.$add(i, 1)) |
| accumulator.push(t2.$index(a, i)); |
| return accumulator; |
| }; |
| |
| $.ReceivePort_ReceivePort = function() { |
| return $.ReceivePortImpl$(); |
| }; |
| |
| $._Isolate_port = function() { |
| if ($.lazyPort == null) |
| $.lazyPort = $.ReceivePort_ReceivePort(); |
| return $.lazyPort; |
| }; |
| |
| $.parse = function(json, reviver) { |
| var parsed, e, t1, exception; |
| t1 = json; |
| if (typeof t1 !== "string") |
| throw $.wrapException($.ArgumentError$(json)); |
| parsed = null; |
| try { |
| parsed = JSON.parse(json); |
| } catch (exception) { |
| t1 = $.unwrapException(exception); |
| e = t1; |
| throw $.wrapException($.FormatException$(String(e))); |
| } |
| |
| return $._convertJsonToDart(parsed, reviver); |
| }; |
| |
| $._AttributeClassSet$ = function(_element) { |
| return new $._AttributeClassSet(_element); |
| }; |
| |
| $.BarGraph$ = function(_canvas, _elements) { |
| var t1 = new $.BarGraph(_canvas, null, _elements, 0); |
| t1.BarGraph$2(_canvas, _elements); |
| return t1; |
| }; |
| |
| $.GraphModel$ = function(_maxSize) { |
| return new $.GraphModel($.List_List($), _maxSize, []); |
| }; |
| |
| $.Element$ = function($name, color) { |
| return new $.Element0($name, color); |
| }; |
| |
| $.Sample$ = function(_segments) { |
| return new $.Sample(_segments); |
| }; |
| |
| $.IsolateList$ = function(_isolateTable) { |
| return new $.IsolateList(_isolateTable); |
| }; |
| |
| $.ModelListener$ = function(_onUpdate, _onFailure) { |
| return new $.ModelListener(_onUpdate, _onFailure); |
| }; |
| |
| $.IsolateListModel$ = function() { |
| return new $.IsolateListModel([], []); |
| }; |
| |
| $.Isolate$ = function(raw) { |
| var t1 = $.getInterceptor$asx(raw); |
| return new $.Isolate(t1.$index(raw, "handle"), t1.$index(raw, "name"), t1.$index(raw, "port"), t1.$index(raw, "starttime"), t1.$index(raw, "stacklimit"), $.Space$(t1.$index(raw, "newspace")), $.Space$(t1.$index(raw, "oldspace"))); |
| }; |
| |
| $.Space$ = function(raw) { |
| var t1 = $.getInterceptor$asx(raw); |
| return new $.Space(t1.$index(raw, "used"), t1.$index(raw, "capacity")); |
| }; |
| |
| $.main = function() { |
| var t1, milliseconds; |
| document.querySelector("#dashboard"); |
| $._graph = $.BarGraph$(document.querySelector("#graph"), [$.Element$("Old Space", "#97FFFF"), $.Element$("New Space", "#00EE76")]); |
| $._isolateList = $.IsolateList$(document.querySelector("#isolateList")); |
| $._statusText = document.querySelector("#statusText"); |
| $._isolates = $.IsolateListModel$(); |
| $._isolates.addListener$2($.onUpdateStatus, $.onRequestFailed); |
| $._isolates.update$0(); |
| t1 = new $.main_anon(); |
| milliseconds = $.Duration_3000000.get$inMilliseconds(); |
| if (milliseconds < 0) |
| milliseconds = 0; |
| $._updater = $.TimerImpl$periodic(milliseconds, t1); |
| }; |
| |
| $.onUpdateStatus = function(model) { |
| var t1 = {}; |
| t1.oldSpace_0 = 0; |
| t1.newSpace_1 = 0; |
| $.forEach$1$ax(model, new $.onUpdateStatus_anon(t1)); |
| $._graph.addSample$1([t1.oldSpace_0, t1.newSpace_1]); |
| $._isolateList.updateList$1(model); |
| $.set$text$x($._statusText, "Running ..."); |
| }; |
| |
| $.onRequestFailed = function() { |
| $._updater.cancel$0(); |
| $._isolates.removeListener$1($.onUpdateStatus); |
| $.set$text$x($._statusText, "Server closed"); |
| }; |
| |
| $.IsolateNatives__processWorkerMessage.call$2 = $.IsolateNatives__processWorkerMessage; |
| $.IsolateNatives__processWorkerMessage.$name = "IsolateNatives__processWorkerMessage"; |
| $.wrapException.call$1 = $.wrapException; |
| $.wrapException.$name = "wrapException"; |
| $.DartError_toStringWrapper.call$0 = $.DartError_toStringWrapper; |
| $.DartError_toStringWrapper.$name = "DartError_toStringWrapper"; |
| $.invokeClosure.call$5 = $.invokeClosure; |
| $.invokeClosure.$name = "invokeClosure"; |
| $.typeNameInChrome.call$1 = $.typeNameInChrome; |
| $.typeNameInChrome.$name = "typeNameInChrome"; |
| $.typeNameInSafari.call$1 = $.typeNameInSafari; |
| $.typeNameInSafari.$name = "typeNameInSafari"; |
| $.typeNameInOpera.call$1 = $.typeNameInOpera; |
| $.typeNameInOpera.$name = "typeNameInOpera"; |
| $.typeNameInFirefox.call$1 = $.typeNameInFirefox; |
| $.typeNameInFirefox.$name = "typeNameInFirefox"; |
| $.typeNameInIE.call$1 = $.typeNameInIE; |
| $.typeNameInIE.$name = "typeNameInIE"; |
| $.constructorNameFallback.call$1 = $.constructorNameFallback; |
| $.constructorNameFallback.$name = "constructorNameFallback"; |
| $._asyncRunCallback.call$0 = $._asyncRunCallback; |
| $._asyncRunCallback.$name = "_asyncRunCallback"; |
| $._nullDataHandler.call$1 = $._nullDataHandler; |
| $._nullDataHandler.$name = "_nullDataHandler"; |
| $._nullErrorHandler.call$1 = $._nullErrorHandler; |
| $._nullErrorHandler.$name = "_nullErrorHandler"; |
| $._nullDoneHandler.call$0 = $._nullDoneHandler; |
| $._nullDoneHandler.$name = "_nullDoneHandler"; |
| $.onUpdateStatus.call$1 = $.onUpdateStatus; |
| $.onUpdateStatus.$name = "onUpdateStatus"; |
| $.onRequestFailed.call$0 = $.onRequestFailed; |
| $.onRequestFailed.$name = "onRequestFailed"; |
| $.String = {builtin$cls: "String"}; |
| $.ReceivePort = {builtin$cls: "ReceivePort"}; |
| $.$int = {builtin$cls: "int"}; |
| $.bool = {builtin$cls: "bool"}; |
| $._ManagerStub = {builtin$cls: "_ManagerStub"}; |
| $.List = {builtin$cls: "List"}; |
| $.num = {builtin$cls: "num"}; |
| $.Match = {builtin$cls: "Match"}; |
| $.C_NullThrownError = new $.NullThrownError(); |
| Isolate.makeConstantList = function(list) { |
| list.immutable$list = true; |
| list.fixed$length = true; |
| return list; |
| }; |
| $.List_empty = Isolate.makeConstantList([]); |
| $.JSDouble_methods = $.JSDouble.prototype; |
| $.EventStreamProvider_click = new $.EventStreamProvider("click"); |
| $.JSNull_methods = $.JSNull.prototype; |
| $.JSNumber_methods = $.JSNumber.prototype; |
| $.JSString_methods = $.JSString.prototype; |
| $.EventStreamProvider_progress = new $.EventStreamProvider("progress"); |
| $.JSArray_methods = $.JSArray.prototype; |
| $.EventStreamProvider_error = new $.EventStreamProvider("error"); |
| $.C_CloseToken = new $.CloseToken(); |
| $.EventStreamProvider_load = new $.EventStreamProvider("load"); |
| $.JSInt_methods = $.JSInt.prototype; |
| $.Duration_0 = new $.Duration(0); |
| $.Duration_3000000 = new $.Duration(3000000); |
| $.Expando__keyCount = 0; |
| $.dispatchPropertyName = "_zzyzx"; |
| $.lazyPort = null; |
| $.ReceivePortImpl__nextFreeId = 1; |
| $.Primitives_hashCodeSeed = 0; |
| $._getTypeNameOf = null; |
| $.interceptorsByTag = null; |
| $.leafTags = null; |
| $._callbacksAreEnqueued = false; |
| $.Device__isOpera = null; |
| $.Device__isWebKit = null; |
| $._graph = null; |
| $._isolateList = null; |
| $._statusText = null; |
| $._isolates = null; |
| $._updater = null; |
| $.$$dom_addEventListener$3$x = function(receiver, a0, a1, a2) { |
| return $.getInterceptor$x(receiver).$$dom_addEventListener$3(receiver, a0, a1, a2); |
| }; |
| $.$$dom_removeEventListener$3$x = function(receiver, a0, a1, a2) { |
| return $.getInterceptor$x(receiver).$$dom_removeEventListener$3(receiver, a0, a1, a2); |
| }; |
| $.$$dom_replaceChild$2$x = function(receiver, a0, a1) { |
| return $.getInterceptor$x(receiver).$$dom_replaceChild$2(receiver, a0, a1); |
| }; |
| $.$add$ns = function(receiver, a0) { |
| if (typeof receiver == "number" && typeof a0 == "number") |
| return receiver + a0; |
| return $.getInterceptor$ns(receiver).$add(receiver, a0); |
| }; |
| $.$and$n = function(receiver, a0) { |
| if (typeof receiver == "number" && typeof a0 == "number") |
| return (receiver & a0) >>> 0; |
| return $.getInterceptor$n(receiver).$and(receiver, a0); |
| }; |
| $.$div$n = function(receiver, a0) { |
| if (typeof receiver == "number" && typeof a0 == "number") |
| return receiver / a0; |
| return $.getInterceptor$n(receiver).$div(receiver, a0); |
| }; |
| $.$eq = function(receiver, a0) { |
| if (receiver == null) |
| return a0 == null; |
| if (typeof receiver != "object") |
| return a0 != null && receiver === a0; |
| return $.getInterceptor(receiver).$eq(receiver, a0); |
| }; |
| $.$ge$n = function(receiver, a0) { |
| if (typeof receiver == "number" && typeof a0 == "number") |
| return receiver >= a0; |
| return $.getInterceptor$n(receiver).$ge(receiver, a0); |
| }; |
| $.$gt$n = function(receiver, a0) { |
| if (typeof receiver == "number" && typeof a0 == "number") |
| return receiver > a0; |
| return $.getInterceptor$n(receiver).$gt(receiver, a0); |
| }; |
| $.$index$asx = function(receiver, a0) { |
| if (receiver.constructor == Array || typeof receiver == "string") |
| if (a0 >>> 0 === a0 && a0 < receiver.length) |
| return receiver[a0]; |
| return $.getInterceptor$asx(receiver).$index(receiver, a0); |
| }; |
| $.$indexSet$ax = function(receiver, a0, a1) { |
| if (receiver.constructor == Array && !receiver.immutable$list && a0 >>> 0 === a0 && a0 < receiver.length) |
| return receiver[a0] = a1; |
| return $.getInterceptor$ax(receiver).$indexSet(receiver, a0, a1); |
| }; |
| $.$lt$n = function(receiver, a0) { |
| if (typeof receiver == "number" && typeof a0 == "number") |
| return receiver < a0; |
| return $.getInterceptor$n(receiver).$lt(receiver, a0); |
| }; |
| $.$mul$n = function(receiver, a0) { |
| if (typeof receiver == "number" && typeof a0 == "number") |
| return receiver * a0; |
| return $.getInterceptor$n(receiver).$mul(receiver, a0); |
| }; |
| $.$shl$n = function(receiver, a0) { |
| return $.getInterceptor$n(receiver).$shl(receiver, a0); |
| }; |
| $.$sub$n = function(receiver, a0) { |
| if (typeof receiver == "number" && typeof a0 == "number") |
| return receiver - a0; |
| return $.getInterceptor$n(receiver).$sub(receiver, a0); |
| }; |
| $.$tdiv$n = function(receiver, a0) { |
| return $.getInterceptor$n(receiver).$tdiv(receiver, a0); |
| }; |
| $.abs$0$n = function(receiver) { |
| return $.getInterceptor$n(receiver).abs$0(receiver); |
| }; |
| $.add$1$ax = function(receiver, a0) { |
| return $.getInterceptor$ax(receiver).add$1(receiver, a0); |
| }; |
| $.addAll$1$ax = function(receiver, a0) { |
| return $.getInterceptor$ax(receiver).addAll$1(receiver, a0); |
| }; |
| $.allMatches$1$s = function(receiver, a0) { |
| return $.getInterceptor$s(receiver).allMatches$1(receiver, a0); |
| }; |
| $.ceil$0$n = function(receiver) { |
| return $.getInterceptor$n(receiver).ceil$0(receiver); |
| }; |
| $.contains$2$asx = function(receiver, a0, a1) { |
| return $.getInterceptor$asx(receiver).contains$2(receiver, a0, a1); |
| }; |
| $.elementAt$1$ax = function(receiver, a0) { |
| return $.getInterceptor$ax(receiver).elementAt$1(receiver, a0); |
| }; |
| $.forEach$1$ax = function(receiver, a0) { |
| return $.getInterceptor$ax(receiver).forEach$1(receiver, a0); |
| }; |
| $.get$$$dom_children$x = function(receiver) { |
| return $.getInterceptor$x(receiver).get$$$dom_children(receiver); |
| }; |
| $.get$attributes$x = function(receiver) { |
| return $.getInterceptor$x(receiver).get$attributes(receiver); |
| }; |
| $.get$children$x = function(receiver) { |
| return $.getInterceptor$x(receiver).get$children(receiver); |
| }; |
| $.get$classes$x = function(receiver) { |
| return $.getInterceptor$x(receiver).get$classes(receiver); |
| }; |
| $.get$color$x = function(receiver) { |
| return $.getInterceptor$x(receiver).get$color(receiver); |
| }; |
| $.get$context2D$x = function(receiver) { |
| return $.getInterceptor$x(receiver).get$context2D(receiver); |
| }; |
| $.get$hashCode$ = function(receiver) { |
| return $.getInterceptor(receiver).get$hashCode(receiver); |
| }; |
| $.get$height$x = function(receiver) { |
| return $.getInterceptor$x(receiver).get$height(receiver); |
| }; |
| $.get$id$x = function(receiver) { |
| return $.getInterceptor$x(receiver).get$id(receiver); |
| }; |
| $.get$isEmpty$asx = function(receiver) { |
| return $.getInterceptor$asx(receiver).get$isEmpty(receiver); |
| }; |
| $.get$iterator$ax = function(receiver) { |
| return $.getInterceptor$ax(receiver).get$iterator(receiver); |
| }; |
| $.get$length$asx = function(receiver) { |
| return $.getInterceptor$asx(receiver).get$length(receiver); |
| }; |
| $.get$name$x = function(receiver) { |
| return $.getInterceptor$x(receiver).get$name(receiver); |
| }; |
| $.get$navigator$x = function(receiver) { |
| return $.getInterceptor$x(receiver).get$navigator(receiver); |
| }; |
| $.get$nodes$x = function(receiver) { |
| return $.getInterceptor$x(receiver).get$nodes(receiver); |
| }; |
| $.get$onClick$x = function(receiver) { |
| return $.getInterceptor$x(receiver).get$onClick(receiver); |
| }; |
| $.get$responseText$x = function(receiver) { |
| return $.getInterceptor$x(receiver).get$responseText(receiver); |
| }; |
| $.get$value$x = function(receiver) { |
| return $.getInterceptor$x(receiver).get$value(receiver); |
| }; |
| $.get$width$x = function(receiver) { |
| return $.getInterceptor$x(receiver).get$width(receiver); |
| }; |
| $.postMessage$1$x = function(receiver, a0) { |
| return $.getInterceptor$x(receiver).postMessage$1(receiver, a0); |
| }; |
| $.register$2$x = function(receiver, a0, a1) { |
| return $.getInterceptor$x(receiver).register$2(receiver, a0, a1); |
| }; |
| $.remove$0$ax = function(receiver) { |
| return $.getInterceptor$ax(receiver).remove$0(receiver); |
| }; |
| $.replaceAll$2$s = function(receiver, a0, a1) { |
| return $.getInterceptor$s(receiver).replaceAll$2(receiver, a0, a1); |
| }; |
| $.replaceWith$1$x = function(receiver, a0) { |
| return $.getInterceptor$x(receiver).replaceWith$1(receiver, a0); |
| }; |
| $.send$1$x = function(receiver, a0) { |
| return $.getInterceptor$x(receiver).send$1(receiver, a0); |
| }; |
| $.send$2$x = function(receiver, a0, a1) { |
| return $.getInterceptor$x(receiver).send$2(receiver, a0, a1); |
| }; |
| $.set$$$dom_className$x = function(receiver, value) { |
| return $.getInterceptor$x(receiver).set$$$dom_className(receiver, value); |
| }; |
| $.set$id$x = function(receiver, value) { |
| return $.getInterceptor$x(receiver).set$id(receiver, value); |
| }; |
| $.set$length$asx = function(receiver, value) { |
| return $.getInterceptor$asx(receiver).set$length(receiver, value); |
| }; |
| $.set$text$x = function(receiver, value) { |
| return $.getInterceptor$x(receiver).set$text(receiver, value); |
| }; |
| $.skip$1$ax = function(receiver, a0) { |
| return $.getInterceptor$ax(receiver).skip$1(receiver, a0); |
| }; |
| $.split$1$s = function(receiver, a0) { |
| return $.getInterceptor$s(receiver).split$1(receiver, a0); |
| }; |
| $.sublist$1$ax = function(receiver, a0) { |
| return $.getInterceptor$ax(receiver).sublist$1(receiver, a0); |
| }; |
| $.sublist$2$ax = function(receiver, a0, a1) { |
| return $.getInterceptor$ax(receiver).sublist$2(receiver, a0, a1); |
| }; |
| $.toList$0$ax = function(receiver) { |
| return $.getInterceptor$ax(receiver).toList$0(receiver); |
| }; |
| $.toList$1$growable$ax = function(receiver, a0) { |
| return $.getInterceptor$ax(receiver).toList$1$growable(receiver, a0); |
| }; |
| $.toString$0 = function(receiver) { |
| return $.getInterceptor(receiver).toString$0(receiver); |
| }; |
| $.trim$0$s = function(receiver) { |
| return $.getInterceptor$s(receiver).trim$0(receiver); |
| }; |
| $.getInterceptor = function(receiver) { |
| if (typeof receiver == "number") { |
| if (Math.floor(receiver) == receiver) |
| return $.JSInt.prototype; |
| return $.JSDouble.prototype; |
| } |
| if (typeof receiver == "string") |
| return $.JSString.prototype; |
| if (receiver == null) |
| return $.JSNull.prototype; |
| if (typeof receiver == "function") |
| return $.JSFunction.prototype; |
| if (typeof receiver == "boolean") |
| return $.JSBool.prototype; |
| if (receiver.constructor == Array) |
| return $.JSArray.prototype; |
| if (typeof receiver != "object") |
| return receiver; |
| if (receiver instanceof $.Object) |
| return receiver; |
| if (Object.getPrototypeOf(receiver) === Object.prototype) |
| return $.Interceptor.prototype; |
| return $.getNativeInterceptor(receiver); |
| }; |
| $.getInterceptor$asx = function(receiver) { |
| if (typeof receiver == "string") |
| return $.JSString.prototype; |
| if (receiver == null) |
| return receiver; |
| if (receiver.constructor == Array) |
| return $.JSArray.prototype; |
| if (typeof receiver != "object") |
| return receiver; |
| if (receiver instanceof $.Object) |
| return receiver; |
| if (Object.getPrototypeOf(receiver) === Object.prototype) |
| return $.Interceptor.prototype; |
| return $.getNativeInterceptor(receiver); |
| }; |
| $.getInterceptor$ax = function(receiver) { |
| if (receiver == null) |
| return receiver; |
| if (receiver.constructor == Array) |
| return $.JSArray.prototype; |
| if (typeof receiver != "object") |
| return receiver; |
| if (receiver instanceof $.Object) |
| return receiver; |
| if (Object.getPrototypeOf(receiver) === Object.prototype) |
| return $.Interceptor.prototype; |
| return $.getNativeInterceptor(receiver); |
| }; |
| $.getInterceptor$n = function(receiver) { |
| if (typeof receiver == "number") |
| return $.JSNumber.prototype; |
| if (receiver == null) |
| return receiver; |
| return receiver; |
| }; |
| $.getInterceptor$ns = function(receiver) { |
| if (typeof receiver == "number") |
| return $.JSNumber.prototype; |
| if (typeof receiver == "string") |
| return $.JSString.prototype; |
| if (receiver == null) |
| return receiver; |
| return receiver; |
| }; |
| $.getInterceptor$s = function(receiver) { |
| if (typeof receiver == "string") |
| return $.JSString.prototype; |
| if (receiver == null) |
| return receiver; |
| return receiver; |
| }; |
| $.getInterceptor$x = function(receiver) { |
| if (receiver == null) |
| return receiver; |
| if (typeof receiver != "object") |
| return receiver; |
| if (receiver instanceof $.Object) |
| return receiver; |
| if (Object.getPrototypeOf(receiver) === Object.prototype) |
| return $.Interceptor.prototype; |
| return $.getNativeInterceptor(receiver); |
| }; |
| Isolate.$lazy($, "globalThis", "globalThis", "get$globalThis", function() { |
| return $.IsolateNatives_computeGlobalThis(); |
| }); |
| 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 $.IsolateNatives_computeThisScript(); |
| }); |
| Isolate.$lazy($, "_stackTraceExpando", "_stackTraceExpando", "get$_stackTraceExpando", function() { |
| return $.Expando$("asynchronous error"); |
| }); |
| Isolate.$lazy($, "_asyncCallbacks", "_asyncCallbacks", "get$_asyncCallbacks", function() { |
| return []; |
| }); |
| Isolate.$lazy($, "_runCallbacks", "Timer__runCallbacks", "get$Timer__runCallbacks", function() { |
| return []; |
| }); |
| // Native classes |
| (function(table) { |
| for (var key in table) |
| $.defineProperty(Object.prototype, key, table[key]); |
| })({ |
| $isJavaScriptIndexingBehavior: function() { |
| return false; |
| }, |
| $asJavaScriptIndexingBehavior: function() { |
| return null; |
| }, |
| $isIterable: function() { |
| return false; |
| }, |
| $asIterable: function() { |
| return null; |
| }, |
| $isList: function() { |
| return false; |
| }, |
| $asList: function() { |
| return null; |
| }, |
| $isElement: function() { |
| return false; |
| }, |
| $asElement: function() { |
| return null; |
| } |
| }); |
| |
| $.defineNativeMethods("Worker", $._WorkerStub); |
| |
| $.defineNativeMethodsNonleaf("HTMLElement", $._HTMLElement); |
| |
| $.defineNativeMethods("HTMLAnchorElement", $.AnchorElement); |
| |
| $.defineNativeMethods("WebKitAnimationEvent", $.AnimationEvent); |
| |
| $.defineNativeMethods("HTMLAreaElement", $.AreaElement); |
| |
| $.defineNativeMethods("ArrayBuffer", $.ArrayBuffer); |
| |
| $.defineNativeMethodsNonleaf("ArrayBufferView", $.ArrayBufferView); |
| |
| $.defineNativeMethods("Attr", $.Attr); |
| |
| $.defineNativeMethods("HTMLAudioElement", $.AudioElement); |
| |
| $.defineNativeMethods("AutocompleteErrorEvent", $.AutocompleteErrorEvent); |
| |
| $.defineNativeMethods("HTMLBRElement", $.BRElement); |
| |
| $.defineNativeMethods("HTMLBaseElement", $.BaseElement); |
| |
| $.defineNativeMethods("BeforeLoadEvent", $.BeforeLoadEvent); |
| |
| $.defineNativeMethodsNonleaf("Blob", $.Blob); |
| |
| $.defineNativeMethods("HTMLBodyElement", $.BodyElement); |
| |
| $.defineNativeMethods("HTMLButtonElement", $.ButtonElement); |
| |
| $.defineNativeMethods("CDATASection", $.CDataSection); |
| |
| $.defineNativeMethods("HTMLCanvasElement", $.CanvasElement); |
| |
| $.defineNativeMethods("CanvasGradient", $.CanvasGradient); |
| |
| $.defineNativeMethods("CanvasPattern", $.CanvasPattern); |
| |
| $.defineNativeMethodsNonleaf("CanvasRenderingContext", $.CanvasRenderingContext); |
| |
| $.defineNativeMethods("CanvasRenderingContext2D", $.CanvasRenderingContext2D); |
| |
| $.defineNativeMethodsNonleaf("CharacterData", $.CharacterData); |
| |
| $.defineNativeMethods("CloseEvent", $.CloseEvent); |
| |
| $.defineNativeMethods("Comment", $.Comment); |
| |
| $.defineNativeMethods("CompositionEvent", $.CompositionEvent); |
| |
| $.defineNativeMethods("HTMLContentElement", $.ContentElement); |
| |
| $.defineNativeMethods("CSSFontFaceLoadEvent", $.CssFontFaceLoadEvent); |
| |
| $.defineNativeMethods("CSSStyleDeclaration", $.CssStyleDeclaration); |
| |
| $.defineNativeMethods("CustomElementConstructor", $.CustomElementConstructor); |
| |
| $.defineNativeMethods("CustomEvent", $.CustomEvent); |
| |
| $.defineNativeMethods("HTMLDListElement", $.DListElement); |
| |
| $.defineNativeMethods("HTMLDataListElement", $.DataListElement); |
| |
| $.defineNativeMethods("HTMLDetailsElement", $.DetailsElement); |
| |
| $.defineNativeMethods("DeviceMotionEvent", $.DeviceMotionEvent); |
| |
| $.defineNativeMethods("DeviceOrientationEvent", $.DeviceOrientationEvent); |
| |
| $.defineNativeMethods("HTMLDialogElement", $.DialogElement); |
| |
| $.defineNativeMethods("HTMLDivElement", $.DivElement); |
| |
| $.defineNativeMethodsNonleaf("Document", $.Document); |
| |
| $.defineNativeMethodsNonleaf("DocumentFragment", $.DocumentFragment); |
| |
| $.defineNativeMethods("DocumentType", $.DocumentType); |
| |
| $.defineNativeMethods("DOMError", $.DomError); |
| |
| $.defineNativeMethods("DOMException", $.DomException); |
| |
| $.defineNativeMethodsNonleaf("Element", $.Element); |
| |
| $.defineNativeMethods("HTMLEmbedElement", $.EmbedElement); |
| |
| $.defineNativeMethods("EntityReference", $.EntityReference); |
| |
| $.defineNativeMethods("ErrorEvent", $.ErrorEvent); |
| |
| $.defineNativeMethodsNonleaf("Event", $.Event); |
| |
| $.defineNativeMethods("EventException", $.EventException); |
| |
| $.defineNativeMethodsNonleaf("EventTarget", $.EventTarget); |
| |
| $.defineNativeMethods("HTMLFieldSetElement", $.FieldSetElement); |
| |
| $.defineNativeMethods("File", $.File); |
| |
| $.defineNativeMethods("FileError", $.FileError); |
| |
| $.defineNativeMethods("FileException", $.FileException); |
| |
| $.defineNativeMethods("FocusEvent", $.FocusEvent); |
| |
| $.defineNativeMethods("HTMLFormElement", $.FormElement); |
| |
| $.defineNativeMethods("HTMLHRElement", $.HRElement); |
| |
| $.defineNativeMethods("HashChangeEvent", $.HashChangeEvent); |
| |
| $.defineNativeMethods("HTMLHeadElement", $.HeadElement); |
| |
| $.defineNativeMethods("HTMLHeadingElement", $.HeadingElement); |
| |
| $.defineNativeMethodsNonleaf("HTMLCollection", $.HtmlCollection); |
| |
| $.defineNativeMethods("HTMLDocument", $.HtmlDocument); |
| |
| $.defineNativeMethods("HTMLHtmlElement", $.HtmlElement); |
| |
| $.defineNativeMethods("HTMLFormControlsCollection", $.HtmlFormControlsCollection); |
| |
| $.defineNativeMethods("HTMLOptionsCollection", $.HtmlOptionsCollection); |
| |
| $.defineNativeMethods("XMLHttpRequest", $.HttpRequest); |
| |
| $.defineNativeMethods("XMLHttpRequestException", $.HttpRequestException); |
| |
| $.defineNativeMethods("XMLHttpRequestProgressEvent", $.HttpRequestProgressEvent); |
| |
| $.defineNativeMethods("XMLHttpRequestUpload", $.HttpRequestUpload); |
| |
| $.defineNativeMethods("HTMLIFrameElement", $.IFrameElement); |
| |
| $.defineNativeMethods("HTMLImageElement", $.ImageElement); |
| |
| $.defineNativeMethods("HTMLInputElement", $.InputElement); |
| |
| $.defineNativeMethods("KeyboardEvent", $.KeyboardEvent); |
| |
| $.defineNativeMethods("HTMLKeygenElement", $.KeygenElement); |
| |
| $.defineNativeMethods("HTMLLIElement", $.LIElement); |
| |
| $.defineNativeMethods("HTMLLabelElement", $.LabelElement); |
| |
| $.defineNativeMethods("HTMLLegendElement", $.LegendElement); |
| |
| $.defineNativeMethods("HTMLLinkElement", $.LinkElement); |
| |
| $.defineNativeMethods("HTMLMapElement", $.MapElement); |
| |
| $.defineNativeMethodsNonleaf("HTMLMediaElement", $.MediaElement); |
| |
| $.defineNativeMethods("MediaError", $.MediaError); |
| |
| $.defineNativeMethods("MediaKeyError", $.MediaKeyError); |
| |
| $.defineNativeMethods("MediaKeyEvent", $.MediaKeyEvent); |
| |
| $.defineNativeMethods("MediaStreamEvent", $.MediaStreamEvent); |
| |
| $.defineNativeMethods("MediaStreamTrackEvent", $.MediaStreamTrackEvent); |
| |
| $.defineNativeMethods("HTMLMenuElement", $.MenuElement); |
| |
| $.defineNativeMethods("MessageEvent", $.MessageEvent); |
| |
| $.defineNativeMethods("HTMLMetaElement", $.MetaElement); |
| |
| $.defineNativeMethods("HTMLMeterElement", $.MeterElement); |
| |
| $.defineNativeMethods("HTMLModElement", $.ModElement); |
| |
| $.defineNativeMethodsNonleaf("MouseEvent", $.MouseEvent); |
| |
| $.defineNativeMethods("MutationEvent", $.MutationEvent); |
| |
| $.defineNativeMethods("Navigator", $.Navigator); |
| |
| $.defineNativeMethods("NavigatorUserMediaError", $.NavigatorUserMediaError); |
| |
| $.defineNativeMethodsNonleaf("Node", $.Node); |
| |
| $.defineNativeMethodsNonleaf("NodeList", $.NodeList); |
| |
| $.defineNativeMethods("Notation", $.Notation); |
| |
| $.defineNativeMethods("HTMLOListElement", $.OListElement); |
| |
| $.defineNativeMethods("HTMLObjectElement", $.ObjectElement); |
| |
| $.defineNativeMethods("HTMLOptGroupElement", $.OptGroupElement); |
| |
| $.defineNativeMethods("HTMLOptionElement", $.OptionElement); |
| |
| $.defineNativeMethods("HTMLOutputElement", $.OutputElement); |
| |
| $.defineNativeMethods("OverflowEvent", $.OverflowEvent); |
| |
| $.defineNativeMethods("PageTransitionEvent", $.PageTransitionEvent); |
| |
| $.defineNativeMethods("HTMLParagraphElement", $.ParagraphElement); |
| |
| $.defineNativeMethods("HTMLParamElement", $.ParamElement); |
| |
| $.defineNativeMethods("PopStateEvent", $.PopStateEvent); |
| |
| $.defineNativeMethods("PositionError", $.PositionError); |
| |
| $.defineNativeMethods("HTMLPreElement", $.PreElement); |
| |
| $.defineNativeMethods("ProcessingInstruction", $.ProcessingInstruction); |
| |
| $.defineNativeMethods("HTMLProgressElement", $.ProgressElement); |
| |
| $.defineNativeMethodsNonleaf("ProgressEvent", $.ProgressEvent); |
| |
| $.defineNativeMethods("HTMLQuoteElement", $.QuoteElement); |
| |
| $.defineNativeMethods("RadioNodeList", $.RadioNodeList); |
| |
| $.defineNativeMethods("RangeException", $.RangeException); |
| |
| $.defineNativeMethods("RTCDataChannelEvent", $.RtcDataChannelEvent); |
| |
| $.defineNativeMethods("RTCDTMFToneChangeEvent", $.RtcDtmfToneChangeEvent); |
| |
| $.defineNativeMethods("RTCIceCandidateEvent", $.RtcIceCandidateEvent); |
| |
| $.defineNativeMethods("HTMLScriptElement", $.ScriptElement); |
| |
| $.defineNativeMethods("SecurityPolicyViolationEvent", $.SecurityPolicyViolationEvent); |
| |
| $.defineNativeMethods("HTMLSelectElement", $.SelectElement); |
| |
| $.defineNativeMethods("HTMLShadowElement", $.ShadowElement); |
| |
| $.defineNativeMethods("ShadowRoot", $.ShadowRoot); |
| |
| $.defineNativeMethods("HTMLSourceElement", $.SourceElement); |
| |
| $.defineNativeMethods("HTMLSpanElement", $.SpanElement); |
| |
| $.defineNativeMethods("SpeechInputEvent", $.SpeechInputEvent); |
| |
| $.defineNativeMethods("SpeechRecognitionError", $.SpeechRecognitionError); |
| |
| $.defineNativeMethods("SpeechRecognitionEvent", $.SpeechRecognitionEvent); |
| |
| $.defineNativeMethods("StorageEvent", $.StorageEvent); |
| |
| $.defineNativeMethods("HTMLStyleElement", $.StyleElement); |
| |
| $.defineNativeMethods("HTMLTableCaptionElement", $.TableCaptionElement); |
| |
| $.defineNativeMethods("HTMLTableCellElement", $.TableCellElement); |
| |
| $.defineNativeMethods("HTMLTableColElement", $.TableColElement); |
| |
| $.defineNativeMethods("HTMLTableElement", $.TableElement); |
| |
| $.defineNativeMethods("HTMLTableRowElement", $.TableRowElement); |
| |
| $.defineNativeMethods("HTMLTableSectionElement", $.TableSectionElement); |
| |
| $.defineNativeMethods("HTMLTemplateElement", $.TemplateElement); |
| |
| $.defineNativeMethodsNonleaf("Text", $.Text); |
| |
| $.defineNativeMethods("HTMLTextAreaElement", $.TextAreaElement); |
| |
| $.defineNativeMethods("TextEvent", $.TextEvent); |
| |
| $.defineNativeMethods("HTMLTitleElement", $.TitleElement); |
| |
| $.defineNativeMethods("TouchEvent", $.TouchEvent); |
| |
| $.defineNativeMethods("HTMLTrackElement", $.TrackElement); |
| |
| $.defineNativeMethods("TrackEvent", $.TrackEvent); |
| |
| $.defineNativeMethods("TransitionEvent", $.TransitionEvent); |
| |
| $.defineNativeMethodsNonleaf("UIEvent", $.UIEvent); |
| |
| $.defineNativeMethods("HTMLUListElement", $.UListElement); |
| |
| $.defineNativeMethodsNonleaf("Uint8Array", $.Uint8Array); |
| |
| $.defineNativeMethods("Uint8ClampedArray", $.Uint8ClampedArray); |
| |
| $.defineNativeMethods("HTMLUnknownElement", $.UnknownElement); |
| |
| $.defineNativeMethods("HTMLVideoElement", $.VideoElement); |
| |
| $.defineNativeMethods("WheelEvent", $.WheelEvent); |
| |
| $.defineNativeMethods("DOMWindow", $.Window); |
| |
| $.defineNativeMethods("XPathException", $.XPathException); |
| |
| $.defineNativeMethods("NamedNodeMap", $._NamedNodeMap); |
| |
| $.defineNativeMethods("WebKitTransitionEvent", $._WebKitTransitionEvent); |
| |
| $.defineNativeMethods("IDBVersionChangeEvent", $.VersionChangeEvent); |
| |
| $.defineNativeMethods("SVGAElement", $.AElement); |
| |
| $.defineNativeMethods("SVGAltGlyphElement", $.AltGlyphElement); |
| |
| $.defineNativeMethods("SVGAnimateElement", $.AnimateElement); |
| |
| $.defineNativeMethods("SVGAnimateMotionElement", $.AnimateMotionElement); |
| |
| $.defineNativeMethods("SVGAnimateTransformElement", $.AnimateTransformElement); |
| |
| $.defineNativeMethods("SVGAnimatedLength", $.AnimatedLength); |
| |
| $.defineNativeMethods("SVGAnimatedNumberList", $.AnimatedNumberList); |
| |
| $.defineNativeMethodsNonleaf("SVGAnimationElement", $.AnimationElement); |
| |
| $.defineNativeMethods("SVGCircleElement", $.CircleElement); |
| |
| $.defineNativeMethods("SVGClipPathElement", $.ClipPathElement); |
| |
| $.defineNativeMethods("SVGDefsElement", $.DefsElement); |
| |
| $.defineNativeMethods("SVGDescElement", $.DescElement); |
| |
| $.defineNativeMethods("SVGEllipseElement", $.EllipseElement); |
| |
| $.defineNativeMethods("SVGFEBlendElement", $.FEBlendElement); |
| |
| $.defineNativeMethods("SVGFEColorMatrixElement", $.FEColorMatrixElement); |
| |
| $.defineNativeMethods("SVGFEComponentTransferElement", $.FEComponentTransferElement); |
| |
| $.defineNativeMethods("SVGFECompositeElement", $.FECompositeElement); |
| |
| $.defineNativeMethods("SVGFEConvolveMatrixElement", $.FEConvolveMatrixElement); |
| |
| $.defineNativeMethods("SVGFEDiffuseLightingElement", $.FEDiffuseLightingElement); |
| |
| $.defineNativeMethods("SVGFEDisplacementMapElement", $.FEDisplacementMapElement); |
| |
| $.defineNativeMethods("SVGFEDistantLightElement", $.FEDistantLightElement); |
| |
| $.defineNativeMethods("SVGFEFloodElement", $.FEFloodElement); |
| |
| $.defineNativeMethods("SVGFEFuncAElement", $.FEFuncAElement); |
| |
| $.defineNativeMethods("SVGFEFuncBElement", $.FEFuncBElement); |
| |
| $.defineNativeMethods("SVGFEFuncGElement", $.FEFuncGElement); |
| |
| $.defineNativeMethods("SVGFEFuncRElement", $.FEFuncRElement); |
| |
| $.defineNativeMethods("SVGFEGaussianBlurElement", $.FEGaussianBlurElement); |
| |
| $.defineNativeMethods("SVGFEImageElement", $.FEImageElement); |
| |
| $.defineNativeMethods("SVGFEMergeElement", $.FEMergeElement); |
| |
| $.defineNativeMethods("SVGFEMergeNodeElement", $.FEMergeNodeElement); |
| |
| $.defineNativeMethods("SVGFEMorphologyElement", $.FEMorphologyElement); |
| |
| $.defineNativeMethods("SVGFEOffsetElement", $.FEOffsetElement); |
| |
| $.defineNativeMethods("SVGFEPointLightElement", $.FEPointLightElement); |
| |
| $.defineNativeMethods("SVGFESpecularLightingElement", $.FESpecularLightingElement); |
| |
| $.defineNativeMethods("SVGFESpotLightElement", $.FESpotLightElement); |
| |
| $.defineNativeMethods("SVGFETileElement", $.FETileElement); |
| |
| $.defineNativeMethods("SVGFETurbulenceElement", $.FETurbulenceElement); |
| |
| $.defineNativeMethods("SVGFilterElement", $.FilterElement); |
| |
| $.defineNativeMethods("SVGForeignObjectElement", $.ForeignObjectElement); |
| |
| $.defineNativeMethods("SVGGElement", $.GElement); |
| |
| $.defineNativeMethods("SVGImageElement", $.ImageElement0); |
| |
| $.defineNativeMethods("SVGLineElement", $.LineElement); |
| |
| $.defineNativeMethods("SVGLinearGradientElement", $.LinearGradientElement); |
| |
| $.defineNativeMethods("SVGMarkerElement", $.MarkerElement); |
| |
| $.defineNativeMethods("SVGMaskElement", $.MaskElement); |
| |
| $.defineNativeMethods("SVGMetadataElement", $.MetadataElement); |
| |
| $.defineNativeMethods("SVGPathElement", $.PathElement); |
| |
| $.defineNativeMethods("SVGPatternElement", $.PatternElement); |
| |
| $.defineNativeMethods("SVGPolygonElement", $.PolygonElement); |
| |
| $.defineNativeMethods("SVGPolylineElement", $.PolylineElement); |
| |
| $.defineNativeMethods("SVGRadialGradientElement", $.RadialGradientElement); |
| |
| $.defineNativeMethods("SVGRectElement", $.RectElement); |
| |
| $.defineNativeMethods("SVGScriptElement", $.ScriptElement0); |
| |
| $.defineNativeMethods("SVGSetElement", $.SetElement); |
| |
| $.defineNativeMethods("SVGStopElement", $.StopElement); |
| |
| $.defineNativeMethods("SVGStyleElement", $.StyleElement0); |
| |
| $.defineNativeMethodsNonleaf("SVGStyledElement", $.StyledElement); |
| |
| $.defineNativeMethods("SVGDocument", $.SvgDocument); |
| |
| $.defineNativeMethodsNonleaf("SVGElement", $.SvgElement); |
| |
| $.defineNativeMethods("SVGException", $.SvgException); |
| |
| $.defineNativeMethods("SVGSVGElement", $.SvgSvgElement); |
| |
| $.defineNativeMethods("SVGSwitchElement", $.SwitchElement); |
| |
| $.defineNativeMethods("SVGSymbolElement", $.SymbolElement); |
| |
| $.defineNativeMethods("SVGTSpanElement", $.TSpanElement); |
| |
| $.defineNativeMethodsNonleaf("SVGTextContentElement", $.TextContentElement); |
| |
| $.defineNativeMethods("SVGTextElement", $.TextElement); |
| |
| $.defineNativeMethods("SVGTextPathElement", $.TextPathElement); |
| |
| $.defineNativeMethodsNonleaf("SVGTextPositioningElement", $.TextPositioningElement); |
| |
| $.defineNativeMethods("SVGTitleElement", $.TitleElement0); |
| |
| $.defineNativeMethods("SVGUseElement", $.UseElement); |
| |
| $.defineNativeMethods("SVGViewElement", $.ViewElement); |
| |
| $.defineNativeMethods("SVGZoomEvent", $.ZoomEvent); |
| |
| $.defineNativeMethodsNonleaf("SVGGradientElement", $._GradientElement); |
| |
| $.defineNativeMethodsNonleaf("SVGComponentTransferFunctionElement", $._SVGComponentTransferFunctionElement); |
| |
| $.defineNativeMethods("AudioProcessingEvent", $.AudioProcessingEvent); |
| |
| $.defineNativeMethods("OfflineAudioCompletionEvent", $.OfflineAudioCompletionEvent); |
| |
| $.defineNativeMethods("WebGLContextEvent", $.ContextEvent); |
| |
| $.defineNativeMethods("SQLError", $.SqlError); |
| |
| $.defineNativeMethods("SQLException", $.SqlException); |
| |
| |
| var $ = null; |
| Isolate = Isolate.$finishIsolateConstructor(Isolate); |
| var $ = new Isolate(); |
| $.main.call$0 = $.main; |
| // BEGIN invoke [main]. |
| if (typeof document !== "undefined" && document.readyState !== "complete") { |
| document.addEventListener("readystatechange", function () { |
| if (document.readyState == "complete") { |
| if (typeof dartMainRunner === "function") { |
| dartMainRunner(function() { $.startRootIsolate($.main); }); |
| } else { |
| $.startRootIsolate($.main); |
| } |
| } |
| }, false); |
| } else { |
| if (typeof dartMainRunner === "function") { |
| dartMainRunner(function() { $.startRootIsolate($.main); }); |
| } else { |
| $.startRootIsolate($.main); |
| } |
| } |
| // END invoke [main]. |
| function init() { |
| Isolate.$isolateProperties = {}; |
| function generateAccessor(field, prototype) { |
| var len = field.length; |
| var code = field.charCodeAt(len - 1); |
| 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; |
| prototype["get$" + accessorName] = new Function(args, body); |
| } |
| if (setterCode) { |
| var args = setterCode & 2 ? "receiver, value" : "value"; |
| var receiver = setterCode & 1 ? "this" : "receiver"; |
| var body = receiver + "." + field + " = value"; |
| prototype["set$" + accessorName] = new Function(args, body); |
| } |
| } |
| return field; |
| } |
| Isolate.$isolateProperties.$generateAccessor = generateAccessor; |
| function defineClass(cls, fields, prototype) { |
| var constructor; |
| if (typeof fields == "function") { |
| constructor = fields; |
| } else { |
| var str = "function " + cls + "("; |
| var body = ""; |
| for (var i = 0; i < fields.length; i++) { |
| if (i != 0) |
| str += ", "; |
| var field = fields[i]; |
| field = generateAccessor(field, prototype); |
| str += field; |
| body += "this." + field + " = " + field + ";\n"; |
| } |
| str += ") {" + body + "}\nreturn " + cls; |
| constructor = new Function(str)(); |
| } |
| constructor.prototype = prototype; |
| constructor.builtin$cls = cls; |
| return constructor; |
| } |
| var supportsProto = false; |
| var tmp = defineClass("c", ["f?"], {}).prototype; |
| if (tmp.__proto__) { |
| tmp.__proto__ = {}; |
| if (typeof tmp.get$f != "undefined") |
| supportsProto = true; |
| } |
| Isolate.$finishClasses = function(collectedClasses, isolateProperties, existingIsolateProperties) { |
| var pendingClasses = {}; |
| var hasOwnProperty = Object.prototype.hasOwnProperty; |
| for (var cls in collectedClasses) { |
| if (hasOwnProperty.call(collectedClasses, cls)) { |
| var desc = collectedClasses[cls]; |
| var fields = desc[""], supr; |
| if (typeof fields == "string") { |
| var s = fields.split(";"); |
| supr = s[0]; |
| fields = s[1] == "" ? [] : s[1].split(","); |
| } else { |
| supr = desc.super; |
| } |
| isolateProperties[cls] = defineClass(cls, fields, desc); |
| if (supr) |
| pendingClasses[cls] = supr; |
| } |
| } |
| 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 = isolateProperties[cls]; |
| var superConstructor = isolateProperties[superclass]; |
| if (!superConstructor) |
| superConstructor = existingIsolateProperties[superclass]; |
| var prototype = constructor.prototype; |
| if (supportsProto) { |
| prototype.__proto__ = superConstructor.prototype; |
| prototype.constructor = constructor; |
| } else { |
| function tmp() { |
| } |
| tmp.prototype = superConstructor.prototype; |
| var newPrototype = new tmp(); |
| constructor.prototype = newPrototype; |
| newPrototype.constructor = constructor; |
| for (var member in prototype) { |
| if (!member) |
| continue; |
| if (hasOwnProperty.call(prototype, member)) { |
| newPrototype[member] = prototype[member]; |
| } |
| } |
| } |
| } |
| for (var cls in pendingClasses) |
| finishClass(cls); |
| }; |
| Isolate.$lazy = function(prototype, staticName, fieldName, getterName, lazyValue) { |
| var getter = new Function("{ return $." + fieldName + ";}"); |
| 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) |
| $.throwCyclicInit(staticName); |
| } |
| return result; |
| } finally { |
| $[getterName] = getter; |
| } |
| }; |
| }; |
| Isolate.$finishIsolateConstructor = function(oldIsolate) { |
| var isolateProperties = oldIsolate.$isolateProperties; |
| isolateProperties.$currentScript = typeof document == "object" ? document.currentScript || document.scripts[document.scripts.length - 1] : null; |
| var isolatePrototype = oldIsolate.prototype; |
| var str = "{\n"; |
| str += "var properties = Isolate.$isolateProperties;\n"; |
| var hasOwnProperty = Object.prototype.hasOwnProperty; |
| for (var staticName in isolateProperties) { |
| if (hasOwnProperty.call(isolateProperties, staticName)) { |
| str += "this." + staticName + "= properties." + staticName + ";\n"; |
| } |
| } |
| str += "}\n"; |
| var newIsolate = new Function(str); |
| newIsolate.prototype = isolatePrototype; |
| isolatePrototype.constructor = newIsolate; |
| newIsolate.$isolateProperties = isolateProperties; |
| newIsolate.$finishClasses = oldIsolate.$finishClasses; |
| return newIsolate; |
| }; |
| } |
| //@ sourceMappingURL=vmstats.dart.js.map |