markgojs
Version:
Interactive diagrams, charts, and graphs, such as trees, flowcharts, orgcharts, UML, BPMN, or business diagrams
120 lines • 887 kB
JavaScript
/*
* GoJS v1.8.36 JavaScript Library for HTML Diagrams
* Northwoods Software, https://www.nwoods.com/
* GoJS and Northwoods Software are registered trademarks of Northwoods Software Corporation.
* Copyright (C) 1998-2019 by Northwoods Software Corporation. All Rights Reserved.
* THIS SOFTWARE IS LICENSED. THE LICENSE AGREEMENT IS AT: https://gojs.net/1.8.36/license.html.
*/
(function(window) { var g,aa={};if(!window.document||void 0===window.document.createElement("canvas").getContext)throw window.console&&window.console.log("The HTML Canvas element is not supported in this browser,or this browser is in Compatibility mode."),Error("The HTML Canvas element is not supported in this browser,or this browser is in Compatibility mode.");if(!Object.defineProperty)throw Error("GoJS requires a newer version of JavaScript");
Function.prototype.bind||(Function.prototype.bind=function(a){function b(){return f.apply(a,e.concat(d.call(arguments)))}function c(){}var d=Array.prototype.slice,e=d.call(arguments,1),f=this;c.prototype=this.prototype;b.prototype=new c;return b});
(function(){for(var a=0,b=["ms","moz","webkit","o"],c=0;c<b.length&&!window.requestAnimationFrame;++c)window.requestAnimationFrame=window[b[c]+"RequestAnimationFrame"],window.cancelAnimationFrame=window[b[c]+"CancelAnimationFrame"]||window[b[c]+"CancelRequestAnimationFrame"];window.requestAnimationFrame||(window.requestAnimationFrame=function(b){var c=(new Date).getTime(),f=Math.max(8,16-(c-a)),h=window.setTimeout(function(){b(c+f)},f);a=c+f;return h});window.cancelAnimationFrame||(window.cancelAnimationFrame=
function(a){window.clearTimeout(a)})})();aa.Debug=null;
var w={od:1,Uc:2,ed:4,dd:8,In:void 0!==window.navigator&&0<window.navigator.userAgent.indexOf("534.30")&&0<window.navigator.userAgent.indexOf("Android"),xu:void 0!==window.navigator&&0<window.navigator.userAgent.indexOf("MSIE 9.0"),hq:void 0!==window.navigator&&0<window.navigator.userAgent.indexOf("MSIE 10.0"),iq:void 0!==window.navigator&&0<window.navigator.userAgent.indexOf("Trident/7"),VA:void 0!==window.navigator&&0<window.navigator.userAgent.indexOf("Edge/"),zh:void 0!==window.navigator&&void 0!==
window.navigator.platform&&0<=window.navigator.platform.toUpperCase().indexOf("MAC"),EF:void 0!==window.navigator&&void 0!==window.navigator.platform&&null!==window.navigator.platform.match(/(iPhone|iPod|iPad)/i),QE:function(a,b,c){var d=-1;return function(){var e=this,f=arguments;-1!==d&&w.clearTimeout(d);d=w.setTimeout(function(){d=-1;c||a.apply(e,f)},b);c&&!d&&a.apply(e,f)}},setTimeout:function(a,b){return window.setTimeout(a,b)},clearTimeout:function(a){window.clearTimeout(a)},createElement:function(a){return window.document.createElement(a)},
k:function(a){throw Error(a);},ma:function(a,b){var c="The object is frozen, so its properties cannot be set: "+a.toString();void 0!==b&&(c+=" to value: "+b);w.k(c)},G:function(a,b,c,d){a instanceof b||(c=w.getTypeName(c),void 0!==d&&(c+="."+d),w.Fd(a,b,c))},j:function(a,b,c,d){typeof a!==b&&(c=w.getTypeName(c),void 0!==d&&(c+="."+d),w.Fd(a,b,c))},Ad:function(a,b,c){"number"===typeof a&&isFinite(a)||(b=w.getTypeName(b),void 0!==c&&(b+="."+c),w.k(b+" must be a real number type, and not NaN or Infinity: "+
a))},ob:function(a,b,c,d){a instanceof da&&a.Je===b||(c=w.getTypeName(c),void 0!==d&&(c+="."+d),w.Fd(a,"a constant of class "+w.pf(b),c))},GK:function(a,b){"string"===typeof a?ea(a)||w.k('Color "'+a+'" is not a valid color string for '+b):a instanceof ga||w.k("Value for "+b+" must be a color string or a Brush, not "+a)},Fd:function(a,b,c,d){b=w.getTypeName(b);c=w.getTypeName(c);void 0!==d&&(c+="."+d);"string"===typeof a?w.k(c+" value is not an instance of "+b+': "'+a+'"'):w.k(c+" value is not an instance of "+
b+": "+a)},Fa:function(a,b,c,d){c=w.getTypeName(c);void 0!==d&&(c+="."+d);w.k(c+" is not in the range "+b+": "+a)},nd:function(a){w.k(w.pf(a)+" constructor cannot take any arguments.")},Na:function(a){w.k("Collection was modified during iteration: "+a.toString()+"\n Perhaps you should iterate over a copy of the collection,\n or you could collect items to be removed from the collection after the iteration.")},Lj:function(a,b){w.k("No property to set for this enum value: "+b+" on "+a.toString())},
trace:function(a){window.console&&window.console.log(a)},vx:{},Yt:function(a,b){!0!==w.vx[a]&&(w.vx[a]=!0,window.console&&window.console.log(a+" is deprecated in "+b+", see the GoJS change log for more information."))},Pa:function(a){return"object"===typeof a&&null!==a},isArray:function(a){return Array.isArray(a)||a instanceof NodeList||a instanceof HTMLCollection},BI:function(a){return Array.isArray(a)},mA:function(a,b,c){w.isArray(a)||w.Fd(a,"Array or NodeList or HTMLCollection",b,c)},cb:function(a){return a.length},
Vl:function(a){return Array.prototype.slice.call(a)},Ba:function(a,b){Array.isArray(a);return a[b]},GE:function(a,b,c){Array.isArray(a)?a[b]=c:w.k("Cannot replace an object in an HTMLCollection or NodeList at "+b)},Sl:function(a,b){if(Array.isArray(a))return a.indexOf(b);for(var c=a.length,d=0;d<c;d++)if(a[d]===b)return d;return-1},sh:function(a,b,c){Array.isArray(a)?b>=a.length?a.push(c):a.splice(b,0,c):w.k("Cannot insert an object into an HTMLCollection or NodeList: "+c+" at "+b)},Jg:function(a,
b){Array.isArray(a)?b>=a.length?a.pop():a.splice(b,1):w.k("Cannot remove an object from an HTMLCollection or NodeList at "+b)},Ny:[],K:function(){var a=w.Ny.pop();return void 0===a?new z:a},wb:function(a,b){var c=w.Ny.pop();if(void 0===c)return new z(a,b);c.x=a;c.y=b;return c},v:function(a){w.Ny.push(a)},fC:[],tm:function(){var a=w.fC.pop();return void 0===a?new ha:a},Lk:function(a){w.fC.push(a)},Oy:[],vf:function(){var a=w.Oy.pop();return void 0===a?new B:a},lg:function(a,b,c,d){var e=w.Oy.pop();
if(void 0===e)return new B(a,b,c,d);e.x=a;e.y=b;e.width=c;e.height=d;return e},Bb:function(a){w.Oy.push(a)},gC:[],Wg:function(){var a=w.gC.pop();return void 0===a?new ia:a},bf:function(a){w.gC.push(a)},Py:null,s:function(){var a=w.Py;return null!==a?(w.Py=null,a):new ja},q:function(a){a.reset();w.Py=a},My:[],Za:function(){var a=w.My.pop();return void 0===a?[]:a},ra:function(a){a.length=0;w.My.push(a)},no:Object.freeze([]),wm:1,oc:function(a){a.__gohashid=w.wm++},cq:function(a){var b=a.__gohashid;
void 0===b&&(b=w.wm++,a.__gohashid=b);return b},Pd:function(a){return a.__gohashid},ga:function(a,b){b.Zy=a;aa[a]=b},La:function(a,b){function c(){}c.prototype=b.prototype;a.prototype=new c;a.prototype.constructor=a},ni:function(a){a.fH=!0},defineProperty:function(a,b,c,d,e){w.j(a,"function","Util.defineProperty:classfunc");w.j(b,"object","Util.defineProperty:propobj");w.j(c,"function","Util.defineProperty:getter");w.j(d,"function","Util.defineProperty:setter");for(var f in b){b=b[f];c={get:c,set:d,
enumerable:!0};if(void 0!==e)for(var h in e)c[h]=e[h];Object.defineProperty(a.prototype,f,c);e=Object.getOwnPropertyDescriptor(a.prototype,f);b&&e&&Object.defineProperty(a.prototype,b,e);break}},dK:!1,u:function(a,b,c,d){w.j(a,"function","Util.defineReadOnlyProperty:classfunc");w.j(b,"object","Util.defineReadOnlyProperty:propobj");w.j(c,"function","Util.defineReadOnlyProperty:getter");for(var e in b){var f=b[e];b={get:c,set:function(a){w.k('The property "'+f+'" is read-only and cannot be set to '+
a)},enumerable:!0};if(void 0!==d)for(var h in d)b[h]=d[h];Object.defineProperty(a.prototype,e,b);d=Object.getOwnPropertyDescriptor(a.prototype,e);f&&d&&Object.defineProperty(a.prototype,f,d);break}},be:function(a,b){for(var c in b)b[c]=!0;a.prototype.bH=b},getTypeName:function(a){return void 0===a?"":"string"===typeof a?a:"function"===typeof a?w.pf(a):null===a?"*":""},pf:function(a){if("function"===typeof a){if(a.Zy)return a.Zy;if(a.name)return a.name;var b=a.toString(),c=b.indexOf("("),b=b.substring(9,
c).trim();if(""!==b)return a.Zy=b}else if(w.Pa(a)&&a.constructor)return w.pf(a.constructor);return typeof a},p:function(a,b,c){w.j(a,"function","Util.defineEnumValue:classfunc");w.j(b,"string","Util.defineEnumValue:name");w.j(c,"number","Util.defineEnumValue:num");c=new da(a,b,c);Object.freeze(c);a[b]=c;var d=a.jv;d instanceof ka||(d=new ka("string",da),a.jv=d);d.add(b,c);return c},vb:function(a,b){if(!a||!b)return null;var c=void 0;try{"function"===typeof b?c=b(a):"function"===typeof a.getAttribute?
(c=a.getAttribute(b),null===c&&(c=void 0)):c=a[b]}catch(d){}return c},Ma:function(a,b,c){if(a&&b)try{"function"===typeof b?b(a,c):"function"===typeof a.setAttribute?a.setAttribute(b,c):a[b]=c}catch(d){}},$u:function(a,b){w.j(a,"object","Setting properties requires Objects as arguments");w.j(b,"object","Setting properties requires Objects as arguments");var c=a instanceof D,d=a instanceof E,e;for(e in b){""===e&&w.k("Setting properties requires non-empty property names");var f=a,h=e;if(c||d){var k=
e.indexOf(".");if(0<k){var l=e.substring(0,k);if(c)f=a.Cd(l);else if(f=a[l],void 0===f||null===f)f=a.Va[l];w.Pa(f)?h=e.substr(k+1):w.k("Unable to find object named: "+l+" in "+a.toString()+" when trying to set property: "+e)}}if("_"!==h[0]&&!w.uF(f,h))if(d&&"ModelChanged"===h){a.pH(b[h]);continue}else if(d&&"Changed"===h){a.mn(b[h]);continue}else if(d&&w.uF(a.Va,h))f=a.Va;else if(d&&la(a,h)){a.ax(h,b[h]);continue}else if(a instanceof F&&"Changed"===h){a.mn(b[h]);continue}else w.k('Trying to set undefined property "'+
h+'" on object: '+f.toString());f[h]=b[e];"_"===h[0]&&f instanceof G&&f.mH(h)}},uF:function(a,b){if(a.hasOwnProperty(b))return!0;for(var c=Object.getPrototypeOf(a);c&&c!==Function;){if(c.hasOwnProperty(b))return!0;var d=c.bH;if(d&&d[b])return!0;c=Object.getPrototypeOf(c)}return!1},nJ:function(a){for(var b=[],c=0;256>c;c++)b[c]=c;for(var d=0,e=0,c=0;256>c;c++)d=(d+b[c]+119)%256,e=b[c],b[c]=b[d],b[d]=e;for(var d=c=0,f="",h=0;h<a.length;h++)c=(c+1)%256,d=(d+b[c])%256,e=b[c],b[c]=b[d],b[d]=e,f+=String.fromCharCode(a.charCodeAt(h)^
b[(b[c]+b[d])%256]);return f},pI:function(a){for(var b={},c=0;256>c;c++)b["0123456789abcdef".charAt(c>>4)+"0123456789abcdef".charAt(c&15)]=String.fromCharCode(c);a.length%2&&(a="0"+a);for(var d=[],e=0,c=0;c<a.length;c+=2)d[e++]=b[a.substr(c,2)];a=d.join("");return""===a?"0":a},Kg:function(a){return w.nJ(w.pI(a))},vm:null,adym:"7da71ca0ad381e90",vfo:"2be64efdb060",IK:"@COLOR1",JK:"@COLOR2",RE:!1,Vt:null,Wt:null};
w.vm=function(){var a=window.document.createElement("canvas"),b=a.getContext("2d");b[w.Kg("7ca11abfd022028846")]=w.Kg("398c3597c01238");for(var c=["5da73c80a36755dc038e4972187c3cae51fd22","32ab5ff3b26f42dc0ed90f224c2913b54ae6247590da4bb21c324ba3a84e385776","54a702f3e53909c447824c6706603faf4cfb236cdfda5de14c134ba1a95a2d4c7cc6f93c1387","74bf19bce72555874c86"],d=1;5>d;d++)b[w.Kg("7ca11abfd7330390")](w.Kg(c[d-1]),10,15*d+0);b[w.Kg("7ca11abfd022028846")]=w.Kg("39f046ebb36e4b");for(d=1;5>d;d++)b[w.Kg("7ca11abfd7330390")](w.Kg(c[d-
1]),10,15*d+0);if(4!==c.length||"5"!==c[0][0]||"7"!==c[3][0])w.p=function(a,b){var c=new da(a,b,2);Object.freeze(c);a[b]=c;var d=a.jv;d instanceof ka||(d=new ka("string",da),a.jv=d);d.add(b,c);return c};return a}();function da(a,b,c){w.oc(this);this.uC=a;this.Sb=b;this.jH=c}w.ga("EnumValue",da);da.prototype.toString=function(){return w.pf(this.uC)+"."+this.Sb};w.u(da,{Je:"classType"},function(){return this.uC});w.u(da,{name:"name"},function(){return this.Sb});w.u(da,{value:"value"},function(){return this.jH});
var oa;da.findName=oa=function(a,b){if(void 0===b||null===b||""===b)return null;w.j(a,"function","findName:classfunc");w.j(b,"string","EnumValue.findName:name");var c=a.jv;return c instanceof ka?c.ka(b):null};function pa(){this.sC=[]}pa.prototype.toString=function(){return this.sC.join("")};pa.prototype.add=function(a){""!==a&&this.sC.push(a)};function qa(){}
function ra(a){void 0===a&&(a=42);this.seed=a;this.Iy=48271;this.iv=2147483647;this.eC=this.iv/this.Iy;this.RG=this.iv%this.Iy;this.QG=1/this.iv;this.random()}ra.prototype.random=function(){var a=this.seed%this.eC*this.Iy-this.seed/this.eC*this.RG;this.seed=0<a?a:a+this.iv;return this.seed*this.QG};function sa(){}w.u(sa,{i:"iterator"},function(){return this});sa.prototype.reset=sa.prototype.reset=function(){};sa.prototype.next=sa.prototype.next=function(){return!1};sa.prototype.hasNext=function(){return!1};
sa.prototype.first=sa.prototype.first=function(){return null};sa.prototype.any=function(){return!1};sa.prototype.all=function(){return!0};sa.prototype.each=function(){return this};sa.prototype.map=function(){return this};sa.prototype.filter=function(){return this};sa.prototype.concat=function(a){return a.i};w.u(sa,{count:"count"},function(){return 0});sa.prototype.Nf=function(){};sa.prototype.toString=function(){return"EmptyIterator"};var ta=new sa;function ua(a){this.key=-1;this.value=a}
w.be(ua,{key:!0,value:!0});w.u(ua,{i:"iterator"},function(){return this});ua.prototype.reset=ua.prototype.reset=function(){this.key=-1};ua.prototype.next=ua.prototype.next=function(){return-1===this.key?(this.key=0,!0):!1};ua.prototype.hasNext=function(){return this.next()};ua.prototype.first=ua.prototype.first=function(){this.key=0;return this.value};ua.prototype.any=function(a){this.key=-1;return a(this.value)};ua.prototype.all=function(a){this.key=-1;return a(this.value)};
ua.prototype.each=function(a){this.key=-1;a(this.value);return this};ua.prototype.map=function(a){return new ua(a(this.value))};ua.prototype.filter=function(a){return a(this.value)?new ua(this.value):ta};ua.prototype.concat=function(a){return new va(this,a.i)};w.u(ua,{count:"count"},function(){return 1});ua.prototype.Nf=function(){this.value=null};ua.prototype.toString=function(){return"SingletonIterator("+this.value+")"};function va(a,b){this.xl=a;this.yl=b;this.kv=!1}w.be(va,{key:!0,value:!0});
w.u(va,{i:"iterator"},function(){return this});va.prototype.reset=va.prototype.reset=function(){this.xl.reset();this.yl.reset();this.kv=!1};va.prototype.next=va.prototype.next=function(){if(!this.kv){var a=this.xl;if(a.next())return this.key=a.key,this.value=a.value,!0;this.kv=!0}return this.kv&&(a=this.yl,a.next())?(this.key=a.key,this.value=a.value,!0):!1};va.prototype.hasNext=function(){return this.next()};
va.prototype.first=va.prototype.first=function(){this.reset();return this.next()?this.value:null};va.prototype.any=function(a){return this.xl.any(a)||this.yl.any(a)?!0:!1};va.prototype.all=function(a){return this.xl.all(a)&&this.yl.all(a)?!0:!1};va.prototype.each=function(a){this.xl.each(a);this.yl.each(a);return this};va.prototype.map=function(a){return new va(this.xl.map(a),this.yl.map(a))};va.prototype.filter=function(a){return new va(this.xl.filter(a),this.yl.filter(a))};
va.prototype.concat=function(a){return new va(this,a.i)};w.u(va,{count:"count"},function(){return this.xl.count+this.yl.count});va.prototype.Nf=function(){this.value=this.key=null};va.prototype.toString=function(){return"ConcatIterator()"};function wa(a){this.Cc=a;this.$h=null;a.Eb=null;this.Ta=a.F;this.Bc=-1}w.be(wa,{key:!0,value:!0});w.u(wa,{i:"iterator"},function(){return this});w.defineProperty(wa,{wq:"predicate"},function(){return this.$h},function(a){this.$h=a});
wa.prototype.reset=wa.prototype.reset=function(){var a=this.Cc;a.Eb=null;this.Ta=a.F;this.Bc=-1};wa.prototype.next=wa.prototype.next=function(){var a=this.Cc;if(a.F!==this.Ta){if(0>this.key)return!1;w.Na(a)}var a=a.n,b=a.length,c=++this.Bc,d=this.$h;if(null!==d)for(;c<b;){var e=a[c];if(d(e))return this.key=this.Bc=c,this.value=e,!0;c++}else{if(c<b)return this.key=c,this.value=a[c],!0;this.Nf()}return!1};wa.prototype.hasNext=function(){return this.next()};
wa.prototype.first=wa.prototype.first=function(){var a=this.Cc;this.Ta=a.F;this.Bc=0;var a=a.n,b=a.length,c=this.$h;if(null!==c){for(var d=0;d<b;){var e=a[d];if(c(e))return this.key=this.Bc=d,this.value=e;d++}return null}return 0<b?(e=a[0],this.key=0,this.value=e):null};wa.prototype.any=function(a){var b=this.Cc;b.Eb=null;var c=b.F;this.Bc=-1;for(var d=b.n,e=d.length,f=this.$h,h=0;h<e;h++){var k=d[h];if(null===f||f(k)){if(a(k))return!0;b.F!==c&&w.Na(b)}}return!1};
wa.prototype.all=function(a){var b=this.Cc;b.Eb=null;var c=b.F;this.Bc=-1;for(var d=b.n,e=d.length,f=this.$h,h=0;h<e;h++){var k=d[h];if(null===f||f(k)){if(!a(k))return!1;b.F!==c&&w.Na(b)}}return!0};wa.prototype.each=function(a){var b=this.Cc;b.Eb=null;var c=b.F;this.Bc=-1;for(var d=b.n,e=d.length,f=this.$h,h=0;h<e;h++){var k=d[h];if(null===f||f(k))a(k),b.F!==c&&w.Na(b)}return this};
wa.prototype.map=function(a){var b=this.Cc;b.Eb=null;var c=b.F;this.Bc=-1;for(var d=[],e=b.n,f=e.length,h=this.$h,k=0;k<f;k++){var l=e[k];if(null===h||h(l))d.push(a(l)),b.F!==c&&w.Na(b)}a=new H;a.n=d;a.Mc();return a.i};wa.prototype.filter=function(a){var b=this.Cc;b.Eb=null;var c=b.F;this.Bc=-1;for(var d=[],e=b.n,f=e.length,h=this.$h,k=0;k<f;k++){var l=e[k];if(null===h||h(l))a(l)&&d.push(l),b.F!==c&&w.Na(b)}a=new H(b.na);a.n=d;a.Mc();return a.i};
wa.prototype.concat=function(a){this.Cc.Eb=null;return new va(this,a.i)};w.u(wa,{count:"count"},function(){var a=this.$h;if(null!==a){for(var b=0,c=this.Cc.n,d=c.length,e=0;e<d;e++)a(c[e])&&b++;return b}return this.Cc.n.length});wa.prototype.Nf=function(){this.key=-1;this.value=null;this.Ta=-1;this.$h=null;this.Cc.Eb=this};wa.prototype.toString=function(){return"ListIterator@"+this.Bc+"/"+this.Cc.count};function xa(a){this.Cc=a;a.Ti=null;this.Ta=a.F;this.Bc=a.n.length}w.be(xa,{key:!0,value:!0});
w.u(xa,{i:"iterator"},function(){return this});xa.prototype.reset=xa.prototype.reset=function(){var a=this.Cc;a.Ti=null;this.Ta=a.F;this.Bc=a.n.length};xa.prototype.next=xa.prototype.next=function(){var a=this.Cc;if(a.F!==this.Ta){if(0>this.key)return!1;w.Na(a)}var b=--this.Bc;if(0<=b)return this.key=b,this.value=a.n[b],!0;this.Nf();return!1};xa.prototype.hasNext=function(){return this.next()};
xa.prototype.first=xa.prototype.first=function(){var a=this.Cc;this.Ta=a.F;var b=a.n;this.Bc=a=b.length-1;return 0<=a?(b=b[a],this.key=a,this.value=b):null};xa.prototype.any=function(a){var b=this.Cc;b.Ti=null;var c=b.F,d=b.n,e=d.length;this.Bc=e;for(e-=1;0<=e;e--){if(a(d[e]))return!0;b.F!==c&&w.Na(b)}return!1};xa.prototype.all=function(a){var b=this.Cc;b.Ti=null;var c=b.F,d=b.n,e=d.length;this.Bc=e;for(e-=1;0<=e;e--){if(!a(d[e]))return!1;b.F!==c&&w.Na(b)}return!0};
xa.prototype.each=function(a){var b=this.Cc;b.Ti=null;var c=b.F,d=b.n,e=d.length;this.Bc=e;for(e-=1;0<=e;e--)a(d[e]),b.F!==c&&w.Na(b);return this};xa.prototype.map=function(a){var b=this.Cc;b.Ti=null;var c=b.F,d=[],e=b.n,f=e.length;this.Bc=f;for(f-=1;0<=f;f--)d.push(a(e[f])),b.F!==c&&w.Na(b);a=new H;a.n=d;a.Mc();return a.i};
xa.prototype.filter=function(a){var b=this.Cc;b.Ti=null;var c=b.F,d=[],e=b.n,f=e.length;this.Bc=f;for(f-=1;0<=f;f--){var h=e[f];a(h)&&d.push(h);b.F!==c&&w.Na(b)}a=new H(b.na);a.n=d;a.Mc();return a.i};xa.prototype.concat=function(a){this.Cc.Ti=null;return new va(this,a.i)};w.u(xa,{count:"count"},function(){return this.Cc.n.length});xa.prototype.Nf=function(){this.key=-1;this.value=null;this.Ta=-1;this.Cc.Ti=this};
xa.prototype.toString=function(){return"ListIteratorBackwards("+this.Bc+"/"+this.Cc.count+")"};
function H(a){w.oc(this);this.P=!1;this.n=[];this.F=0;this.Ti=this.Eb=null;void 0===a||null===a?this.na=null:"string"===typeof a?"object"===a||"string"===a||"number"===a||"boolean"===a||"function"===a?this.na=a:w.Fa(a,"the string 'object', 'number', 'string', 'boolean', or 'function'","List constructor: type"):"function"===typeof a?this.na=a===Object?"object":a===String?"string":a===Number?"number":a===Boolean?"boolean":a===Function?"function":a:w.Fa(a,"null, a primitive type name, or a class type",
"List constructor: type")}w.ga("List",H);H.prototype.Mc=function(){var a=this.F;a++;999999999<a&&(a=0);this.F=a};H.prototype.freeze=H.prototype.freeze=function(){this.P=!0;return this};H.prototype.thaw=H.prototype.Qa=function(){this.P=!1;return this};H.prototype.toString=function(){return"List("+w.getTypeName(this.na)+")#"+w.Pd(this)};H.prototype.add=H.prototype.add=function(a){null!==a&&(this.P&&w.ma(this,a),this.n.push(a),this.Mc())};H.prototype.push=H.prototype.push=function(a){this.add(a)};
H.prototype.addAll=H.prototype.Pc=function(a){if(null===a)return this;this.P&&w.ma(this);var b=this.n;if(w.isArray(a))for(var c=w.cb(a),d=0;d<c;d++){var e=w.Ba(a,d);b.push(e)}else for(a=a.i;a.next();)e=a.value,b.push(e);this.Mc();return this};H.prototype.clear=H.prototype.clear=function(){this.P&&w.ma(this);this.n.length=0;this.Mc()};H.prototype.contains=H.prototype.contains=function(a){return null===a?!1:-1!==this.n.indexOf(a)};H.prototype.has=H.prototype.has=function(a){return this.contains(a)};
H.prototype.indexOf=H.prototype.indexOf=function(a){return null===a?-1:this.n.indexOf(a)};H.prototype.elt=H.prototype.fa=function(a){var b=this.n;(0>a||a>=b.length)&&w.Fa(a,"0 <= i < length",H,"elt:i");return b[a]};H.prototype.get=H.prototype.get=function(a){return this.fa(a)};H.prototype.setElt=H.prototype.kg=function(a,b){var c=this.n;(0>a||a>=c.length)&&w.Fa(a,"0 <= i < length",H,"setElt:i");this.P&&w.ma(this,a);c[a]=b};H.prototype.set=H.prototype.set=function(a,b){this.kg(a,b)};
H.prototype.first=H.prototype.first=function(){var a=this.n;return 0===a.length?null:a[0]};H.prototype.last=H.prototype.ie=function(){var a=this.n,b=a.length;return 0<b?a[b-1]:null};H.prototype.pop=H.prototype.pop=function(){this.P&&w.ma(this);var a=this.n;return 0<a.length?a.pop():null};H.prototype.any=function(a){for(var b=this.n,c=this.F,d=b.length,e=0;e<d;e++){if(a(b[e]))return!0;this.F!==c&&w.Na(this)}return!1};
H.prototype.all=function(a){for(var b=this.n,c=this.F,d=b.length,e=0;e<d;e++){if(!a(b[e]))return!1;this.F!==c&&w.Na(this)}return!0};H.prototype.each=function(a){for(var b=this.n,c=this.F,d=b.length,e=0;e<d;e++)a(b[e]),this.F!==c&&w.Na(this);return this};H.prototype.map=function(a){for(var b=new H,c=[],d=this.n,e=this.F,f=d.length,h=0;h<f;h++)c.push(a(d[h])),this.F!==e&&w.Na(this);b.n=c;b.Mc();return b};
H.prototype.filter=function(a){for(var b=new H(this.na),c=[],d=this.n,e=this.F,f=d.length,h=0;h<f;h++){var k=d[h];a(k)&&c.push(k);this.F!==e&&w.Na(this)}b.n=c;b.Mc();return b};H.prototype.concat=function(a){return this.copy().Pc(a)};H.prototype.insertAt=H.prototype.Rd=function(a,b){0>a&&w.Fa(a,">= 0",H,"insertAt:i");this.P&&w.ma(this,a);var c=this.n;a>=c.length?c.push(b):c.splice(a,0,b);this.Mc();return!0};
H.prototype.remove=H.prototype["delete"]=H.prototype.remove=function(a){if(null===a)return!1;this.P&&w.ma(this,a);var b=this.n;a=b.indexOf(a);if(-1===a)return!1;a===b.length-1?b.pop():b.splice(a,1);this.Mc();return!0};H.prototype.removeAt=H.prototype.cd=function(a){var b=this.n;(0>a||a>=b.length)&&w.Fa(a,"0 <= i < length",H,"removeAt:i");this.P&&w.ma(this,a);a===b.length-1?b.pop():b.splice(a,1);this.Mc()};
H.prototype.removeRange=H.prototype.removeRange=function(a,b){var c=this.n,d=c.length;if(0>a)a=0;else if(a>=d)return this;if(0>b)return this;b>=d&&(b=d-1);if(a>b)return this;this.P&&w.ma(this);for(var e=a,f=b+1;f<d;)c[e++]=c[f++];c.length=d-(b-a+1);this.Mc();return this};H.prototype.copy=function(){var a=new H(this.na),b=this.n;0<b.length&&(a.n=Array.prototype.slice.call(b));return a};H.prototype.toArray=H.prototype.yc=function(){for(var a=this.n,b=this.count,c=Array(b),d=0;d<b;d++)c[d]=a[d];return c};
H.prototype.toSet=H.prototype.GG=function(){for(var a=new I(this.na),b=this.n,c=this.count,d=0;d<c;d++)a.add(b[d]);return a};H.prototype.sort=H.prototype.sort=function(a){this.P&&w.ma(this);this.n.sort(a);this.Mc();return this};
H.prototype.sortRange=H.prototype.Jq=function(a,b,c){var d=this.n,e=d.length;void 0===b&&(b=0);void 0===c&&(c=e);this.P&&w.ma(this);var f=c-b;if(1>=f)return this;(0>b||b>=e-1)&&w.Fa(b,"0 <= from < length",H,"sortRange:from");if(2===f)return c=d[b],e=d[b+1],0<a(c,e)&&(d[b]=e,d[b+1]=c,this.Mc()),this;if(0===b)if(c>=e)d.sort(a);else for(f=d.slice(0,c),f.sort(a),a=0;a<c;a++)d[a]=f[a];else if(c>=e)for(f=d.slice(b),f.sort(a),a=b;a<e;a++)d[a]=f[a-b];else for(f=d.slice(b,c),f.sort(a),a=b;a<c;a++)d[a]=f[a-
b];this.Mc();return this};H.prototype.reverse=H.prototype.reverse=function(){this.P&&w.ma(this);this.n.reverse();this.Mc();return this};w.u(H,{count:"count"},function(){return this.n.length});w.u(H,{size:"size"},function(){return this.n.length});w.u(H,{length:"length"},function(){return this.n.length});w.u(H,{i:"iterator"},function(){if(0>=this.n.length)return ta;var a=this.Eb;return null!==a?(a.reset(),a):new wa(this)});
w.u(H,{Ln:"iteratorBackwards"},function(){if(0>=this.n.length)return ta;var a=this.Ti;return null!==a?(a.reset(),a):new xa(this)});function ya(a){this.bi=a;a.Eb=null;this.Ta=a.F;this.Wa=null}w.be(ya,{key:!0,value:!0});w.u(ya,{i:"iterator"},function(){return this});ya.prototype.reset=ya.prototype.reset=function(){var a=this.bi;a.Eb=null;this.Ta=a.F;this.Wa=null};
ya.prototype.next=ya.prototype.next=function(){var a=this.bi;if(a.F!==this.Ta){if(null===this.key)return!1;w.Na(a)}var b=this.Wa,b=null===b?a.Ea:b.$a;if(null!==b)return this.Wa=b,this.value=b.value,this.key=b.key,!0;this.Nf();return!1};ya.prototype.hasNext=function(){return this.next()};ya.prototype.first=ya.prototype.first=function(){var a=this.bi;this.Ta=a.F;a=a.Ea;if(null!==a){this.Wa=a;var b=a.value;this.key=a.key;return this.value=b}return null};
ya.prototype.any=function(a){var b=this.bi;b.Eb=null;var c=b.F;this.Wa=null;for(var d=b.Ea;null!==d;){if(a(d.value))return!0;b.F!==c&&w.Na(b);d=d.$a}return!1};ya.prototype.all=function(a){var b=this.bi;b.Eb=null;var c=b.F;this.Wa=null;for(var d=b.Ea;null!==d;){if(!a(d.value))return!1;b.F!==c&&w.Na(b);d=d.$a}return!0};ya.prototype.each=function(a){var b=this.bi;b.Eb=null;var c=b.F;this.Wa=null;for(var d=b.Ea;null!==d;)a(d.value),b.F!==c&&w.Na(b),d=d.$a;return this};
ya.prototype.map=function(a){var b=this.bi;b.Eb=null;for(var c=new H,d=b.F,e=b.Ea;null!==e;)c.add(a(e.value)),b.F!==d&&w.Na(b),e=e.$a;return c.i};ya.prototype.filter=function(a){var b=this.bi;b.Eb=null;for(var c=new H(b.na),d=b.F,e=b.Ea;null!==e;){var f=e.value;a(f)&&c.add(f);b.F!==d&&w.Na(b);e=e.$a}return c.i};ya.prototype.concat=function(a){this.bi.Eb=null;return new va(this,a.i)};w.u(ya,{count:"count"},function(){return this.bi.rd});
ya.prototype.Nf=function(){this.value=this.key=null;this.Ta=-1;this.bi.Eb=this};ya.prototype.toString=function(){return null!==this.Wa?"SetIterator@"+this.Wa.value:"SetIterator"};
function I(a){w.oc(this);this.P=!1;void 0===a||null===a?this.na=null:"string"===typeof a?"object"===a||"string"===a||"number"===a?this.na=a:w.Fa(a,"the string 'object', 'number' or 'string'","Set constructor: type"):"function"===typeof a?this.na=a===Object?"object":a===String?"string":a===Number?"number":a:w.Fa(a,"null, a primitive type name, or a class type","Set constructor: type");this.sd={};this.rd=0;this.Eb=null;this.F=0;this.Uh=this.Ea=null}w.ga("Set",I);
I.prototype.Mc=function(){var a=this.F;a++;999999999<a&&(a=0);this.F=a};I.prototype.freeze=I.prototype.freeze=function(){this.P=!0;return this};I.prototype.thaw=I.prototype.Qa=function(){this.P=!1;return this};I.prototype.toString=function(){return"Set("+w.getTypeName(this.na)+")#"+w.Pd(this)};
I.prototype.add=I.prototype.add=function(a){if(null===a)return!1;this.P&&w.ma(this,a);var b=a;w.Pa(a)&&(b=w.cq(a));return void 0===this.sd[b]?(this.rd++,a=new za(a,a),this.sd[b]=a,b=this.Uh,null===b?this.Ea=a:(a.mp=b,b.$a=a),this.Uh=a,this.Mc(),!0):!1};I.prototype.addAll=I.prototype.Pc=function(a){if(null===a)return this;this.P&&w.ma(this);if(w.isArray(a))for(var b=w.cb(a),c=0;c<b;c++)this.add(w.Ba(a,c));else for(a=a.i;a.next();)this.add(a.value);return this};
I.prototype.contains=I.prototype.contains=function(a){if(null===a)return!1;var b=a;return w.Pa(a)&&(b=w.Pd(a),void 0===b)?!1:void 0!==this.sd[b]};I.prototype.has=I.prototype.has=function(a){return this.contains(a)};I.prototype.containsAll=function(a){if(null===a)return!0;for(a=a.i;a.next();)if(!this.contains(a.value))return!1;return!0};I.prototype.containsAny=function(a){if(null===a)return!0;for(a=a.i;a.next();)if(this.contains(a.value))return!0;return!1};
I.prototype.first=I.prototype.first=function(){var a=this.Ea;return null===a?null:a.value};I.prototype.any=function(a){for(var b=this.F,c=this.Ea;null!==c;){if(a(c.value))return!0;this.F!==b&&w.Na(this);c=c.$a}return!1};I.prototype.all=function(a){for(var b=this.F,c=this.Ea;null!==c;){if(!a(c.value))return!1;this.F!==b&&w.Na(this);c=c.$a}return!0};I.prototype.each=function(a){for(var b=this.F,c=this.Ea;null!==c;)a(c.value),this.F!==b&&w.Na(this),c=c.$a;return this};
I.prototype.map=function(a){for(var b=new I,c=this.F,d=this.Ea;null!==d;)b.add(a(d.value)),this.F!==c&&w.Na(this),d=d.$a;return b};I.prototype.filter=function(a){for(var b=new I(this.na),c=this.F,d=this.Ea;null!==d;){var e=d.value;a(e)&&b.add(e);this.F!==c&&w.Na(this);d=d.$a}return b};I.prototype.concat=function(a){return this.copy().Pc(a)};
I.prototype.remove=I.prototype["delete"]=I.prototype.remove=function(a){if(null===a)return!1;this.P&&w.ma(this,a);var b=a;if(w.Pa(a)&&(b=w.Pd(a),void 0===b))return!1;a=this.sd[b];if(void 0===a)return!1;var c=a.$a,d=a.mp;null!==c&&(c.mp=d);null!==d&&(d.$a=c);this.Ea===a&&(this.Ea=c);this.Uh===a&&(this.Uh=d);delete this.sd[b];this.rd--;this.Mc();return!0};
I.prototype.removeAll=I.prototype.oy=function(a){if(null===a)return this;this.P&&w.ma(this);if(w.isArray(a))for(var b=w.cb(a),c=0;c<b;c++)this.remove(w.Ba(a,c));else for(a=a.i;a.next();)this.remove(a.value);return this};I.prototype.retainAll=function(a){if(null===a||0===this.count)return this;this.P&&w.ma(this);var b=new I(this.na);b.Pc(a);a=[];for(var c=this.i;c.next();){var d=c.value;b.contains(d)||a.push(d)}this.oy(a);return this};
I.prototype.clear=I.prototype.clear=function(){this.P&&w.ma(this);this.sd={};this.rd=0;null!==this.Eb&&this.Eb.reset();this.Uh=this.Ea=null;this.Mc()};I.prototype.copy=function(){var a=new I(this.na),b=this.sd,c;for(c in b)a.add(b[c].value);return a};I.prototype.toArray=I.prototype.yc=function(){var a=Array(this.rd),b=this.sd,c=0,d;for(d in b)a[c]=b[d].value,c++;return a};I.prototype.toList=function(){var a=new H(this.na),b=this.sd,c;for(c in b)a.add(b[c].value);return a};w.u(I,{count:"count"},function(){return this.rd});
w.u(I,{size:"size"},function(){return this.rd});w.u(I,{i:"iterator"},function(){if(0>=this.rd)return ta;var a=this.Eb;return null!==a?(a.reset(),a):new ya(this)});function Aa(a){this.Ga=a;this.Ta=a.F;this.Wa=null}w.be(Aa,{key:!0,value:!0});w.u(Aa,{i:"iterator"},function(){return this});Aa.prototype.reset=Aa.prototype.reset=function(){this.Ta=this.Ga.F;this.Wa=null};
Aa.prototype.next=Aa.prototype.next=function(){var a=this.Ga;if(a.F!==this.Ta){if(null===this.key)return!1;w.Na(a)}var b=this.Wa,b=null===b?a.Ea:b.$a;if(null!==b)return this.Wa=b,this.value=this.key=a=b.key,!0;this.Nf();return!1};Aa.prototype.hasNext=function(){return this.next()};Aa.prototype.first=Aa.prototype.first=function(){var a=this.Ga;this.Ta=a.F;a=a.Ea;return null!==a?(this.Wa=a,this.value=this.key=a=a.key):null};
Aa.prototype.any=function(a){var b=this.Ga,c=b.F;this.Wa=null;for(var d=b.Ea;null!==d;){if(a(d.key))return!0;b.F!==c&&w.Na(b);d=d.$a}return!1};Aa.prototype.all=function(a){var b=this.Ga,c=b.F;this.Wa=null;for(var d=b.Ea;null!==d;){if(!a(d.key))return!1;b.F!==c&&w.Na(b);d=d.$a}return!0};Aa.prototype.each=function(a){var b=this.Ga,c=b.F;this.Wa=null;for(var d=b.Ea;null!==d;)a(d.key),b.F!==c&&w.Na(b),d=d.$a;return this};
Aa.prototype.map=function(a){var b=this.Ga,c=b.F;this.Wa=null;for(var d=new H,e=b.Ea;null!==e;)d.add(a(e.key)),b.F!==c&&w.Na(b),e=e.$a;return d.i};Aa.prototype.filter=function(a){var b=this.Ga,c=b.F;this.Wa=null;for(var d=new H(b.Th),e=b.Ea;null!==e;){var f=e.key;a(f)&&d.add(f);b.F!==c&&w.Na(b);e=e.$a}return d.i};Aa.prototype.concat=function(a){return new va(this,a.i)};w.u(Aa,{count:"count"},function(){return this.Ga.rd});Aa.prototype.Nf=function(){this.value=this.key=null;this.Ta=-1};
Aa.prototype.toString=function(){return null!==this.Wa?"MapKeySetIterator@"+this.Wa.value:"MapKeySetIterator"};function Ba(a){w.oc(this);this.P=!0;this.Ga=a}w.La(Ba,I);Ba.prototype.freeze=function(){return this};Ba.prototype.Qa=function(){return this};Ba.prototype.toString=function(){return"MapKeySet("+this.Ga.toString()+")"};Ba.prototype.add=Ba.prototype.add=function(){w.k("This Set is read-only: "+this.toString());return!1};
Ba.prototype.set=Ba.prototype.set=function(){w.k("This Set is read-only: "+this.toString());return!1};Ba.prototype.contains=Ba.prototype.contains=function(a){return this.Ga.contains(a)};Ba.prototype.has=Ba.prototype.has=function(a){return this.contains(a)};Ba.prototype.remove=Ba.prototype["delete"]=Ba.prototype.remove=function(){w.k("This Set is read-only: "+this.toString());return!1};Ba.prototype.clear=Ba.prototype.clear=function(){w.k("This Set is read-only: "+this.toString())};
Ba.prototype.first=Ba.prototype.first=function(){var a=this.Ga.Ea;return null!==a?a.key:null};Ba.prototype.any=function(a){for(var b=this.Ga.Ea;null!==b;){if(a(b.key))return!0;b=b.$a}return!1};Ba.prototype.all=function(a){for(var b=this.Ga.Ea;null!==b;){if(!a(b.key))return!1;b=b.$a}return!0};Ba.prototype.each=function(a){for(var b=this.Ga.Ea;null!==b;)a(b.key),b=b.$a;return this};Ba.prototype.map=function(a){for(var b=new I,c=this.Ga.Ea;null!==c;)b.add(a(c.key)),c=c.$a;return b};
Ba.prototype.filter=function(a){for(var b=new I(this.Ga.Th),c=this.Ga.Ea;null!==c;){var d=c.key;a(d)&&b.add(d);c=c.$a}return b};Ba.prototype.concat=function(a){return this.GG().Pc(a)};Ba.prototype.copy=function(){return new Ba(this.Ga)};Ba.prototype.toSet=Ba.prototype.GG=function(){var a=new I(this.Ga.Th),b=this.Ga.sd,c;for(c in b)a.add(b[c].key);return a};Ba.prototype.toArray=Ba.prototype.yc=function(){var a=this.Ga.sd,b=Array(this.Ga.rd),c=0,d;for(d in a)b[c]=a[d].key,c++;return b};
Ba.prototype.toList=function(){var a=new H(this.Ga.Th),b=this.Ga.sd,c;for(c in b)a.add(b[c].key);return a};w.u(Ba,{count:"count"},function(){return this.Ga.rd});w.u(Ba,{size:"size"},function(){return this.Ga.rd});w.u(Ba,{i:"iterator"},function(){return 0>=this.Ga.rd?ta:new Aa(this.Ga)});function Da(a){this.Ga=a;a.hh=null;this.Ta=a.F;this.Wa=null}w.be(Da,{key:!0,value:!0});w.u(Da,{i:"iterator"},function(){return this});
Da.prototype.reset=Da.prototype.reset=function(){var a=this.Ga;a.hh=null;this.Ta=a.F;this.Wa=null};Da.prototype.next=Da.prototype.next=function(){var a=this.Ga;if(a.F!==this.Ta){if(null===this.key)return!1;w.Na(a)}var b=this.Wa,b=null===b?a.Ea:b.$a;if(null!==b)return this.Wa=b,this.value=b.value,this.key=b.key,!0;this.Nf();return!1};Da.prototype.hasNext=function(){return this.next()};
Da.prototype.first=Da.prototype.first=function(){var a=this.Ga;this.Ta=a.F;a=a.Ea;if(null!==a){this.Wa=a;var b=a.value;this.key=a.key;return this.value=b}return null};Da.prototype.any=function(a){var b=this.Ga;b.hh=null;var c=b.F;this.Wa=null;for(var d=b.Ea;null!==d;){if(a(d.value))return!0;b.F!==c&&w.Na(b);d=d.$a}return!1};Da.prototype.all=function(a){var b=this.Ga;b.hh=null;var c=b.F;this.Wa=null;for(var d=b.Ea;null!==d;){if(!a(d.value))return!1;b.F!==c&&w.Na(b);d=d.$a}return!0};
Da.prototype.each=function(a){var b=this.Ga;b.hh=null;var c=b.F;this.Wa=null;for(var d=b.Ea;null!==d;)a(d.value),b.F!==c&&w.Na(b),d=d.$a;return this};Da.prototype.map=function(a){var b=this.Ga;b.hh=null;var c=b.F;this.Wa=null;for(var d=new H,e=b.Ea;null!==e;)d.add(a(e.value)),b.F!==c&&w.Na(b),e=e.$a;return d.i};Da.prototype.filter=function(a){var b=this.Ga;b.hh=null;var c=b.F;this.Wa=null;for(var d=new H(b.Th),e=b.Ea;null!==e;){var f=e.value;a(f)&&d.add(f);b.F!==c&&w.Na(b);e=e.$a}return d.i};
Da.prototype.concat=function(a){this.Ga.hh=null;return new va(this,a.i)};w.u(Da,{count:"count"},function(){return this.Ga.rd});Da.prototype.Nf=function(){this.value=this.key=null;this.Ta=-1;this.Ga.hh=this};Da.prototype.toString=function(){return null!==this.Wa?"MapValueSetIterator@"+this.Wa.value:"MapValueSetIterator"};function za(a,b){this.key=a;this.value=b;this.mp=this.$a=null}w.be(za,{key:!0,value:!0});za.prototype.toString=function(){return"{"+this.key+":"+this.value+"}"};
function Fa(a){this.Ga=a;a.Eb=null;this.Ta=a.F;this.Wa=null}w.be(Fa,{key:!0,value:!0});w.u(Fa,{i:"iterator"},function(){return this});Fa.prototype.reset=Fa.prototype.reset=function(){var a=this.Ga;a.Eb=null;this.Ta=a.F;this.Wa=null};Fa.prototype.next=Fa.prototype.next=function(){var a=this.Ga;if(a.F!==this.Ta){if(null===this.key)return!1;w.Na(a)}var b=this.Wa,b=null===b?a.Ea:b.$a;if(null!==b)return this.Wa=b,this.key=b.key,this.value=b.value,!0;this.Nf();return!1};Fa.prototype.hasNext=function(){return this.next()};
Fa.prototype.first=Fa.prototype.first=function(){var a=this.Ga;this.Ta=a.F;a=a.Ea;return null!==a?(this.Wa=a,this.key=a.key,this.value=a.value,a):null};Fa.prototype.any=function(a){var b=this.Ga;b.Eb=null;var c=b.F;this.Wa=null;for(var d=b.Ea;null!==d;){if(a(d))return!0;b.F!==c&&w.Na(b);d=d.$a}return!1};Fa.prototype.all=function(a){var b=this.Ga;b.Eb=null;var c=b.F;this.Wa=null;for(var d=b.Ea;null!==d;){if(!a(d))return!1;b.F!==c&&w.Na(b);d=d.$a}return!0};
Fa.prototype.each=function(a){var b=this.Ga;b.Eb=null;var c=b.F;this.Wa=null;for(var d=b.Ea;null!==d;)a(d),b.F!==c&&w.Na(b),d=d.$a;return this};Fa.prototype.map=function(a){var b=this.Ga;b.Eb=null;var c=b.F;this.Wa=null;for(var d=new H,e=b.Ea;null!==e;)d.add(a(e)),b.F!==c&&w.Na(b),e=e.$a;return d.i};Fa.prototype.filter=function(a){var b=this.Ga;b.Eb=null;var c=b.F;this.Wa=null;for(var d=new H,e=b.Ea;null!==e;)a(e)&&d.add(e),b.F!==c&&w.Na(b),e=e.$a;return d.i};
Fa.prototype.concat=function(a){this.Ga.Eb=null;return new va(this,a.i)};w.u(Fa,{count:"count"},function(){return this.Ga.rd});Fa.prototype.Nf=function(){this.value=this.key=null;this.Ta=-1;this.Ga.Eb=this};Fa.prototype.toString=function(){return null!==this.Wa?"MapIterator@"+this.Wa:"MapIterator"};
function ka(a,b){w.oc(this);this.P=!1;void 0===a||null===a?this.Th=null:"string"===typeof a?"object"===a||"string"===a||"number"===a?this.Th=a:w.Fa(a,"the string 'object', 'number' or 'string'","Map constructor: keytype"):"function"===typeof a?this.Th=a===Object?"object":a===String?"string":a===Number?"number":a:w.Fa(a,"null, a primitive type name, or a class type","Map constructor: keytype");void 0===b||null===b?this.Jt=null:"string"===typeof b?"object"===b||"string"===b||"boolean"===b||"number"===
b||"function"===b?this.Jt=b:w.Fa(b,"the string 'object', 'number', 'string', 'boolean', or 'function'","Map constructor: valtype"):"function"===typeof b?this.Jt=b===Object?"object":b===String?"string":b===Number?"number":b===Boolean?"boolean":b===Function?"function":b:w.Fa(b,"null, a primitive type name, or a class type","Map constructor: valtype");this.sd={};this.rd=0;this.hh=this.Eb=null;this.F=0;this.Uh=this.Ea=null}w.ga("Map",ka);
ka.prototype.Mc=function(){var a=this.F;a++;999999999<a&&(a=0);this.F=a};ka.prototype.freeze=ka.prototype.freeze=function(){this.P=!0;return this};ka.prototype.thaw=ka.prototype.Qa=function(){this.P=!1;return this};ka.prototype.toString=function(){return"Map("+w.getTypeName(this.Th)+","+w.getTypeName(this.Jt)+")#"+w.Pd(this)};
ka.prototype.add=ka.prototype.add=function(a,b){this.P&&w.ma(this,a);var c=a;w.Pa(a)&&(c=w.cq(a));var d=this.sd[c];if(void 0===d)return this.rd++,d=new za(a,b),this.sd[c]=d,c=this.Uh,null===c?this.Ea=d:(d.mp=c,c.$a=d),this.Uh=d,this.Mc(),!0;d.value=b;return!1};ka.prototype.set=ka.prototype.set=function(a,b){return this.add(a,b)};
ka.prototype.addAll=ka.prototype.Pc=function(a){if(null===a)return this;if(w.isArray(a))for(var b=w.cb(a),c=0;c<b;c++){var d=w.Ba(a,c);this.add(d.key,d.value)}else for(a=a.i;a.next();)this.add(a.key,a.value);return this};ka.prototype.first=ka.prototype.first=function(){return this.Ea};ka.prototype.any=function(a){for(var b=this.F,c=this.Ea;null!==c;){if(a(c))return!0;this.F!==b&&w.Na(this);c=c.$a}return!1};
ka.prototype.all=function(a){for(var b=this.F,c=this.Ea;null!==c;){if(!a(c))return!1;this.F!==b&&w.Na(this);c=c.$a}return!0};ka.prototype.each=function(a){for(var b=this.F,c=this.Ea;null!==c;)a(c),this.F!==b&&w.Na(this),c=c.$a;return this};ka.prototype.map=function(a){for(var b=new ka(this.Th),c=this.F,d=this.Ea;null!==d;)b.add(d.key,a(d)),this.F!==c&&w.Na(this),d=d.$a;return b};
ka.prototype.filter=function(a){for(var b=new ka(this.Th,this.Jt),c=this.F,d=this.Ea;null!==d;)a(d)&&b.add(d.key,d.value),this.F!==c&&w.Na(this),d=d.$a;return b};ka.prototype.concat=function(a){return this.copy().Pc(a)};ka.prototype.contains=ka.prototype.contains=function(a){var b=a;return w.Pa(a)&&(b=w.Pd(a),void 0===b)?!1:void 0!==this.sd[b]};ka.prototype.has=ka.prototype.has=function(a){return this.contains(a)};
ka.prototype.getValue=ka.prototype.ka=function(a){var b=a;if(w.Pa(a)&&(b=w.Pd(a),void 0===b))return null;a=this.sd[b];return void 0===a?null:a.value};ka.prototype.get=ka.prototype.get=function(a){return this.ka(a)};
ka.prototype.remove=ka.prototype["delete"]=ka.prototype.remove=function(a){if(null===a)return!1;this.P&&w.ma(this,a);var b=a;if(w.Pa(a)&&(b=w.Pd(a),void 0===b))return!1;a=this.sd[b];if(void 0===a)return!1;var c=a.$a,d=a.mp;null!==c&&(c.mp=d);null!==d&&(d.$a=c);this.Ea===a&&(this.Ea=c);this.Uh===a&&(this.Uh=d);delete this.sd[b];this.rd--;this.Mc();return!0};
ka.prototype.clear=ka.prototype.clear=function(){this.P&&w.ma(this);this.sd={};this.rd=0;null!==this.Eb&&this.Eb.reset();null!==this.hh&&this.hh.reset();this.Uh=this.Ea=null;this.Mc()};ka.prototype.copy=function(){var a=new ka(this.Th,this.Jt),b=this.sd,c;for(c in b){var d=b[c];a.add(d.key,d.value)}return a};ka.prototype.toArray=ka.prototype.yc=function(){var a=this.sd,b=Array(this.rd),c=0,d;for(d in a){var e=a[d];b[c]=new za(e.key,e.value);c++}return b};ka.prototype.toKeySet=ka.prototype.Mj=function(){return new Ba(this)};
w.u(ka,{count:"count"},function(){return this.rd});w.u(ka,{size:"size"},function(){return this.rd});w.u(ka,{i:"iterator"},function(){if(0>=this.count)return ta;var a=this.Eb;return null!==a?(a.reset(),a):new Fa(this)});w.u(ka,{LF:"iteratorKeys"},function(){return 0>=this.count?ta:new Aa(this)});w.u(ka,{MF:"iteratorValues"},function(){if(0>=this.count)return ta;var a=this.hh;return null!==a?(a.reset(),a):new Da(this)});function z(a,b){void 0===a?this.y=this.x=0:(this.x=a,this.y=b)}w.ga("Point",z);
w.ni(z);w.be(z,{x:!0,y:!0});z.prototype.assign=function(a){this.x=a.x;this.y=a.y};z.prototype.setTo=z.prototype.m=function(a,b){this.x=a;this.y=b;return this};z.prototype.set=z.prototype.set=function(a){this.x=a.x;this.y=a.y;return this};z.prototype.copy=function(){var a=new z;a.x=this.x;a.y=this.y;return a};z.prototype.Ha=function(){Object.freeze(this);return this};z.prototype.S=function(){return Object.isFrozen(this)?this:this.copy().freeze()};z.prototype.freeze=function(){return this};
z.prototype.Qa=function(){Object.isFrozen(this)&&w.k("cannot thaw constant: "+this);return this};z.parse=function(a){if("string"===typeof a){a=a.split(" ");for(var b=0,c=0;""===a[b];)b++;var d=a[b++];d&&(c=parseFloat(d));for(var e=0;""===a[b];)b++;(d=a[b++])&&(e=parseFloat(d));return new z(c,e)}return new z};z.stringify=function(a){return a.x.toString()+" "+a.y.toString()};z.prototype.toString=function(){return"Point("+this.x+","+this.y+")"};
z.prototype.equals=z.prototype.L=function(a){return a instanceof z?this.x===a.x&&this.y===a.y:!1};z.prototype.equalTo=z.prototype.Bx=function(a,b){return this.x===a&&this.y===b};z.prototype.equalsApprox=z.prototype.Qc=function(a){return Ia(this.x,a.x)&&Ia(this.y,a.y)};z.prototype.add=z.prototype.add=function(a){this.x+=a.x;this.y+=a.y;return this};z.prototype.subtract=z.prototype.ui=function(a){this.x-=a.x;this.y-=a.y;return this};
z.prototype.offset=z.prototype.offset=function(a,b){this.x+=a;this.y+=b;return this};z.prototype.rotate=z.prototype.rotate=function(a){if(0===a)return this;var b=this.x,c=this.y;if(0===b&&0===c)return this;var d=0,e=0;360<=a?a-=360:0>a&&(a+=360);90===a?(d=0,e=1):180===a?(d=-1,e=0):270===a?(d=0,e=-1):(a=a*Math.PI/180,d=Math.cos(a),e=Math.sin(a));this.x=d*b-e*c;this.y=e*b+d*c;return this};z.prototype.scale=z.prototype.scale=function(a,b){this.x*=a;this.y*=b;return this};
z.prototype.distanceSquaredPoint=z.prototype.Cf=function(a){var b=a.x-this.x;a=a.y-this.y;return b*b+a*a};z.prototype.distanceSquared=z.prototype.Xf=function(a,b){var c=a-this.x,d=b-this.y;return c*c+d*d};z.prototype.normalize=z.prototype.normalize=function(){var a=this.x,b=this.y,c=Math.sqrt(a*a+b*b);0<c&&(this.x=a/c,this.y=b/c);return this};z.prototype.directionPoint=z.prototype.Qb=function(a){return Ja(a.x-this.x,a.y-this.y)};
z.prototype.direction=z.prototype.direction=function(a,b){return Ja(a-this.x,b-this.y)};function Ja(a,b){if(0===a)return 0<b?90:0>b?270:0;if(0===b)return 0<a?0:180;if(isNaN(a)||isNaN(b))return 0;var c=180*Math.atan(Math.abs(b/a))/Math.PI;0>a?c=0>b?c+180:180-c:0>b&&(c=360-c);return c}z.prototype.projectOntoLineSegment=function(a,b,c,d){La(a,b,c,d,this.x,this.y,this);return this};z.prototype.projectOntoLineSegmentPoint=function(a,b){La(a.x,a.y,b.x,b.y,this.x,this.y,this);return this};
z.prototype.snapToGrid=function(a,b,c,d){Ma(this.x,this.y,a,b,c,d,this);return this};z.prototype.snapToGridPoint=function(a,b){Ma(this.x,this.y,a.x,a.y,b.width,b.height,this);return this};z.prototype.setRectSpot=z.prototype.ao=function(a,b){this.x=a.x+b.x*a.width+b.offsetX;this.y=a.y+b.y*a.height+b.offsetY;return this};z.prototype.setSpot=z.prototype.bv=function(a,b,c,d,e){this.x=a+e.x*c+e.offsetX;this.y=b+e.y*d+e.offsetY;return this};z.prototype.transform=function(a){a.nb(this);return this};
function Na(a,b){b.xh(a);return a}var Oa;z.distanceLineSegmentSquared=Oa=function(a,b,c,d,e,f){var h=e-c,k=f-d,l=h*h+k*k;c-=a;d-=b;var m=-c*h-d*k;if(0>=m||m>=l)return h=e-a,k=f-b,Math.min(c*c+d*d,h*h+k*k);a=h*d-k*c;return a*a/l};var Pa;z.distanceSquared=Pa=function(a,b,c,d){a=c-a;b=d-b;return a*a+b*b};var Qa;
z.direction=Qa=function(a,b,c,d){a=c-a;b=d-b;if(0===a)return 0<b?90:0>b?270:0;if(0===b)return 0<a?0:180;if(isNaN(a)||isNaN(b))return 0;d=180*Math.atan(Math.abs(b/a))/Math.PI;0>a?d=0>b?d+180:180-d:0>b&&(d=360-d);return d};z.prototype.isReal=z.prototype.I=function(){return isFinite(this.x)&&isFinite(this.y)};function ha(a,b){void 0===a?this.height=this.width=0:(this.width=a,this.height=b)}w.ga("Size",ha);w.ni(ha);w.be(ha,{width:!0,height:!0});
ha.prototype.assign=function(a){this.width=a.width;this.height=a.height};ha.prototype.setTo=ha.prototype.m=function(a,b){this.width=a;this.height=b;return this};ha.prototype.set=ha.prototype.set=function(a){this.width=a.width;this.height=a.height;return this};ha.prototype.copy=function(){var a=new ha;a.width=this.width;a.height=this.height;return a};ha.prototype.Ha=function(){Object.freeze(this);return this};ha.prototype.S=function(){return Object.isFrozen(this)?this:this.copy().freeze()};
ha.prototype.freeze=function(){return this};ha.prototype.Qa=function(){Object.isFrozen(this)&&w.k("cannot thaw constant: "+this);return this};ha.parse=function(a){if("string"===typeof a){a=a.split(" ");for(var b=0,c=0;""===a[b];)b++;var d=a[b++];d&&(c=parseFloat(d));for(var e=0;""===a[b];)b++;(d=a[b++])&&(e=parseFloat(d));return new ha(c,e)}return new ha};ha.stringify=function(a){return a.width.toString()+" "+a.height.toString()};
ha.prototype.toString=function(){return"Size("+this.width+","+this.height+")"};ha.prototype.equals=ha.prototype.L=function(a){return a instanceof ha?this.width===a.width&&this.height===a.height:!1};ha.prototype.equalTo=ha.prototype.Bx=function(a,b){return this.width===a&&this.height===b};ha.prototype.equalsApprox=ha.prototype.Qc=function(a){return Ia(this.width,a.width)&&Ia(this.height,a.height)};ha.prototype.isReal=ha.prototype.I=function(){return isFinite(this.width)&&isFinite(this.height)};
function B(a,b,c,d){void 0===a?this.height=this.width=this.y=this.x=0:a instanceof z?b instanceof z?(this.x=Math.min(a.x,b.x),this.y=Math.min(a.y,b.y),this.width=Math.abs(a.x-b.x),this.height=Math.abs(a.y-b.y)):b instanceof ha?(this.x=a.x,this.y=a.y,this.width=b.width,this.height=b.height):w.k("Incorrect arguments supplied to Rect constructor"):(this.x=a,this.y=b,this.width=c,this.height=d)}w.ga("Rect",B);w.ni(B);w.be(B,{x:!0,y:!0,width:!0,height:!0});
B.prototype.assign=function(a){this.x=a.x;this.y=a.y;this.width=a.width;this.height=a.height};function Ra(a,b,c){a.width=b;a.height=c}B.prototype.setTo=B.prototype.m=function(a,b,c,d){this.x=a;this.y=b;this.width=c;this.height=d;return this};B.prototype.set=B.prototype.set=function(a){this.x=a.x;this.y=a.y;this.width=a.width;this.height=a.height;return this};B.prototype.setPoint=B.prototype.Vg=function(a){this.x=a.x;this.y=a.y;return this};
B.prototype.setSize=function(a){this.width=a.width;this.height=a.height;return this};B.prototype.copy=function(){var a=new B;a.x=this.x;a.y=this.y;a.width=this.width;a.height=this.height;return a};B.prototype.Ha=function(){Object.freeze(this);return this};B.prototype.S=function(){return Object.isFrozen(this)?this:this.copy().freeze()};B.prototype.freeze=function(){return this};B.prototype.Qa=function(){Object.isFrozen(this)&&w.k("cannot thaw constant: "+this);return this};
B.parse=function(a){if("string"===typeof a){a=a.split(" ");for(var b=0,c=0;""===a[b];)b++;var d=a[b++];d&&(c=parseFloat(d));for(var e=0;""===a[b];)b++;(d=a[b++])&&(e=parseFloat(d));for(var f=0;""===a[b];)b++;(d=a[b++])&&(f=parseFloat(d));for(var h=0;""===a[b];)b++;(d=a[b++])&&(h=parseFloat(d));return new B(c,e,f,h)}return new B};B.stringify=function(a){return a.x.toString()+" "+a.y.toString()+" "+a.width.toString()+" "+a.height.toString()};
B.prototype.toString=function(){return"Rect("+this.x+","+this.y+","+this.width+","+this.height+")"};B.prototype.equals=B.prototype.L=function(a){return a instanceof B?this.x===a.x&&this.y===a.y&&this.width===a.width&&this.height===a.height:!1};B.prototype.equalTo=B.prototype.Bx=function(a,b,c,d){return this.x===a&&this.y===b&&this.width===c&&this.height===d};B.prototype.equalsApprox=B.prototype.Qc=function(a){return Ia(this.x,a.x)&&Ia(this.y,a.y)&&Ia(this.width,a.width)&&Ia(this.height,a.height)};
function Sa(a,b){return Va(a.x,b.x)&&Va(a.y,b.y)&&Va(a.width,b.width)&&Va(a.height,b.he