@loaders.gl/potree 4.4.0-alpha.11 → 4.4.0-alpha.12

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/dist.min.js CHANGED
@@ -4,14 +4,14 @@
4
4
  else if (typeof define === 'function' && define.amd) define([], factory);
5
5
  else if (typeof exports === 'object') exports['loaders'] = factory();
6
6
  else root['loaders'] = factory();})(globalThis, function () {
7
- "use strict";var __exports__=(()=>{var gy=Object.create;var Ye=Object.defineProperty;var Ry=Object.getOwnPropertyDescriptor;var xy=Object.getOwnPropertyNames;var wy=Object.getPrototypeOf,_y=Object.prototype.hasOwnProperty;var Zy=(s,A,a)=>A in s?Ye(s,A,{enumerable:!0,configurable:!0,writable:!0,value:a}):s[A]=a;var m2=(s,A)=>()=>(A||s((A={exports:{}}).exports,A),A.exports),Fy=(s,A)=>{for(var a in A)Ye(s,a,{get:A[a],enumerable:!0})},Ei=(s,A,a,v)=>{if(A&&typeof A=="object"||typeof A=="function")for(let p of xy(A))!_y.call(s,p)&&p!==a&&Ye(s,p,{get:()=>A[p],enumerable:!(v=Ry(A,p))||v.enumerable});return s},Bi=(s,A,a)=>(Ei(s,A,"default"),a&&Ei(a,A,"default")),zf=(s,A,a)=>(a=s!=null?gy(wy(s)):{},Ei(A||!s||!s.__esModule?Ye(a,"default",{value:s,enumerable:!0}):a,s)),ky=s=>Ei(Ye({},"__esModule",{value:!0}),s);var Ef=(s,A,a)=>(Zy(s,typeof A!="symbol"?A+"":A,a),a);var v2=m2((bR,Bf)=>{Bf.exports=globalThis.loaders});var g2=m2(()=>{});var qf=m2(()=>{});var ri={};Fy(ri,{PotreeBinLoader:()=>Jf,PotreeHierarchyChunkLoader:()=>Ci,PotreeLoader:()=>Si,PotreeSource:()=>kh});Bi(ri,zf(v2(),1));var Vy="4.4.0-alpha.11",Si={dataType:null,batchType:null,name:"potree metadata",id:"potree",module:"potree",version:Vy,extensions:["js"],mimeTypes:["application/json"],testText:s=>s.indexOf("octreeDir")>=0,parse:s=>JSON.parse(new TextDecoder().decode(s)),parseTextSync:s=>JSON.parse(s),options:{potree:{}}};function p2(s){let A=Wy(s);return Ny(A)}function Wy(s,A=0){let a=new DataView(s),v=[],p={};A=Sf(a,A,p),v.push(p);let g=[p];for(;v.length>0;){let R=v.shift(),x=1;for(let F=0;F<8;F++){if(R&&R.header.childMask&x){let W={};A=Sf(a,A,W),W.name=R.name+F,v.push(W),g.push(W),R.header.childCount++}x=x*2}if(A===a.byteLength)break}return g}function Sf(s,A,a){return a.header=a.header||{},a.header.childMask=s.getUint8(A),a.header.childCount=0,a.pointCount=s.getUint32(A+1,!0),a.name="",A+=5,A}function Ny(s,A={}){A={...{spacing:100},...A};let v=s[0],p={};for(let g of s){let{name:R}=g,x=parseInt(R.charAt(R.length-1),10),F=R.substring(0,R.length-1),W=p[F],X=R.length-1;g.level=X,g.hasChildren=Boolean(g.header.childCount),g.children=[],g.childrenByIndex=new Array(8).fill(null),g.spacing=(A?.spacing||0)/Math.pow(2,X),g.type="pointcloud",g.id=g.name,W&&(W.children.push(g),W.childrenByIndex[x]=g),p[R]=g}return v}var Xy="4.4.0-alpha.11",Ci={dataType:null,batchType:null,name:"potree Hierarchy Chunk",id:"potree-hrc",module:"potree",version:Xy,extensions:["hrc"],mimeTypes:["application/octet-stream"],parse:async(s,A)=>p2(s),parseSync:(s,A)=>p2(s),options:{potree:{}},binary:!0};function Cf(s,A,a,v){return null}var Jf={dataType:null,batchType:null,name:"potree Binary Point Attributes",id:"potree",extensions:["bin"],mimeTypes:["application/octet-stream"],parseSync:Ty,binary:!0,options:{}};function Ty(s,A){let a={};return Cf(s,0,A,a),a}var sn=zf(v2(),1);function If(s,A){return Of(s||{},A)}function Of(s,A,a=0){if(a>3)return A;let v={...s};for(let[p,g]of Object.entries(A))g&&typeof g=="object"&&!Array.isArray(g)?v[p]=Of(v[p]||{},A[p],a+1):v[p]=A[p];return v}var Uy="",jf={};function He(s){for(let A in jf)if(s.startsWith(A)){let a=jf[A];s=s.replace(A,a)}return!s.startsWith("http://")&&!s.startsWith("https://")&&(s=`${Uy}${s}`),s}var M2=class{optionsType;options;data;url;loadOptions;fetch;_needsRefresh=!0;constructor(A,a,v){v?this.options=If({...v,core:M2.defaultOptions},a):this.options={...a},this.data=A,this.url=typeof A=="string"?He(A):"",this.loadOptions={...this.options.core?.loadOptions},this.fetch=Gy(this.loadOptions)}setProps(A){this.options=Object.assign(this.options,A),this.setNeedsRefresh()}setNeedsRefresh(){this._needsRefresh=!0}getNeedsRefresh(A=!0){let a=this._needsRefresh;return A&&(this._needsRefresh=!1),a}},le=M2;Ef(le,"defaultOptions",{core:{type:"auto",attributions:[],loadOptions:{},loaders:[]}});function Gy(s){let A=s?.core?.fetch;if(A&&typeof A=="function")return(v,p)=>A(v,p);let a=s?.fetch;return a&&typeof a!="function"?v=>fetch(v,a):v=>fetch(v)}var Pf={name:"LAS",id:"las",module:"las",extensions:["las","laz"],mimeTypes:["application/octet-stream"],text:!1,binary:!0,tests:["LASF"]};var zy="4.4.0-alpha.11",Yf={...Pf,dataType:null,batchType:null,version:zy,worker:!0,options:{las:{shape:"mesh",fp64:!1,skip:1,colorDepth:8}}};function Hf(s){switch(s.constructor){case Int8Array:return"int8";case Uint8Array:case Uint8ClampedArray:return"uint8";case Int16Array:return"int16";case Uint16Array:return"uint16";case Int32Array:return"int32";case Uint32Array:return"uint32";case Float32Array:return"float32";case Float64Array:return"float64";default:return"null"}}function y2(s){let A=1/0,a=1/0,v=1/0,p=-1/0,g=-1/0,R=-1/0,x=s.POSITION?s.POSITION.value:[],F=x&&x.length;for(let W=0;W<F;W+=3){let X=x[W],N=x[W+1],S=x[W+2];A=X<A?X:A,a=N<a?N:a,v=S<v?S:v,p=X>p?X:p,g=N>g?N:g,R=S>R?S:R}return[[A,a,v],[p,g,R]]}function d2(s,A={}){return{fields:Ey(s),metadata:A}}function Df(s,A,a){let v=Hf(A.value),p=a||Qf(A);return{name:s,type:{type:"fixed-size-list",listSize:A.size,children:[{name:"value",type:v}]},nullable:!1,metadata:p}}function Ey(s){let A=[];for(let a in s){let v=s[a];A.push(Df(a,v))}return A}function Qf(s){let A={};return"byteOffset"in s&&(A.byteOffset=s.byteOffset.toString(10)),"byteStride"in s&&(A.byteStride=s.byteStride.toString(10)),"normalized"in s&&(A.normalized=s.normalized.toString()),A}function Lf(s,A){let a=By(s);return d2(A,a)}function By(s){let A={};return A.las_pointsOffset=s.pointsOffset.toString(10),A.las_pointsFormatId=s.pointsFormatId.toString(10),A.las_pointsStructSize=s.pointsStructSize.toString(10),A.las_pointsCount=s.pointsCount.toString(10),A.las_scale=JSON.stringify(s.scale),A.las_offset=JSON.stringify(s.offset),s.maxs!==void 0&&(A.las_maxs=JSON.stringify(s.maxs)),s.mins!==void 0&&(A.las_mins=JSON.stringify(s.mins)),A.las_totalToRead=s.totalToRead.toString(10),A.las_pointsFortotalReadmatId=s.totalRead.toString(10),s.versionAsString!==void 0&&(A.las_versionAsString=s.versionAsString),s.isCompressed!==void 0&&(A.las_isCompressed=s.isCompressed.toString()),A}function R2(){var s=typeof s<"u"?s:{},A={},a;for(a in s)s.hasOwnProperty(a)&&(A[a]=s[a]);var v=[],p="./this.program",g=function(y,d){throw d},R=!1,x=!1,F=!1,W=!1;R=typeof window=="object",x=typeof importScripts=="function",F=typeof process=="object"&&typeof process.versions=="object"&&typeof process.versions.node=="string",W=!R&&!F&&!x;var X="";function N(y){return s.locateFile?s.locateFile(y,X):X+y}var S,H,j,q,K,r0;F?(x?X=g2().dirname(X)+"/":X=(typeof __dirname<"u"?__dirname:"")+"/",S=function(d,k){var u=lr(d);return u?k?u:u.toString():(K||(K=qf()),r0||(r0=g2()),d=r0.normalize(d),K.readFileSync(d,k?null:"utf8"))},j=function(d){var k=S(d,!0);return k.buffer||(k=new Uint8Array(k)),Hr(k.buffer),k},process.argv.length>1&&(p=process.argv[1].replace(/\\/g,"/")),v=process.argv.slice(2),typeof module<"u"&&(module.exports=s),process.on("uncaughtException",function(y){if(!(y instanceof wl))throw y}),process.on("unhandledRejection",xr),g=function(y){process.exit(y)},s.inspect=function(){return"[Emscripten Module object]"}):W?(typeof read<"u"&&(S=function(d){var k=lr(d);return k?us(k):read(d)}),j=function(d){var k;return k=lr(d),k||(typeof readbuffer=="function"?new Uint8Array(readbuffer(d)):(k=read(d,"binary"),Hr(typeof k=="object"),k))},typeof scriptArgs<"u"?v=scriptArgs:typeof arguments<"u"&&(v=arguments),typeof quit=="function"&&(g=function(y){quit(y)}),typeof print<"u"&&(typeof console>"u"&&(console={}),console.log=print,console.warn=console.error=typeof printErr<"u"?printErr:print)):(R||x)&&(x?X=self.location.href:document.currentScript&&(X=document.currentScript.src),X.indexOf("blob:")!==0?X=X.substr(0,X.lastIndexOf("/")+1):X="",S=function(d){try{var k=new XMLHttpRequest;return k.open("GET",d,!1),k.send(null),k.responseText}catch(E){var u=lr(d);if(u)return us(u);throw E}},x&&(j=function(d){try{var k=new XMLHttpRequest;return k.open("GET",d,!1),k.responseType="arraybuffer",k.send(null),new Uint8Array(k.response)}catch(E){var u=lr(d);if(u)return u;throw E}}),H=function(d,k,u){var E=new XMLHttpRequest;E.open("GET",d,!0),E.responseType="arraybuffer",E.onload=function(){if(E.status==200||E.status==0&&E.response){k(E.response);return}var Z=lr(d);if(Z){k(Z.buffer);return}u()},E.onerror=u,E.send(null)},q=function(y){document.title=y});var o0=s.print||console.log.bind(console),u0=s.printErr||console.warn.bind(console);for(a in A)A.hasOwnProperty(a)&&(s[a]=A[a]);A=null,s.arguments&&(v=s.arguments),s.thisProgram&&(p=s.thisProgram),s.quit&&(g=s.quit);var p0=16;function l0(y){var d=nt[ln>>2],k=d+y+15&-16;return nt[ln>>2]=k,d}function A0(y){switch(y){case"i1":case"i8":return 1;case"i16":return 2;case"i32":return 4;case"i64":return 8;case"float":return 4;case"double":return 8;default:{if(y[y.length-1]==="*")return 4;if(y[0]==="i"){var d=Number(y.substr(1));return Hr(d%8===0,"getNativeTypeSize invalid bits "+d+", type "+y),d/8}else return 0}}}function U0(y){U0.shown||(U0.shown={}),U0.shown[y]||(U0.shown[y]=1,u0(y))}var W0=1,wt=new Array(0),or={};function fr(y,d,k){return k&&k.length?s["dynCall_"+y].apply(null,[d].concat(k)):s["dynCall_"+y].call(null,d)}var yr=0,fn=function(y){yr=y},Vh=function(){return yr},C2=8,Wh;s.wasmBinary&&(Wh=s.wasmBinary);var J2;s.noExitRuntime&&(J2=s.noExitRuntime);function iR(y,d,k,u){switch(k=k||"i8",k.charAt(k.length-1)==="*"&&(k="i32"),k){case"i1":Ar[y>>0]=d;break;case"i8":Ar[y>>0]=d;break;case"i16":gr[y>>1]=d;break;case"i32":nt[y>>2]=d;break;case"i64":an=[d>>>0,(Dr=d,+bh(Dr)>=1?Dr>0?(e1(+r1(Dr/4294967296),4294967295)|0)>>>0:~~+t1((Dr-+(~~Dr>>>0))/4294967296)>>>0:0)],nt[y>>2]=an[0],nt[y+4>>2]=an[1];break;case"float":An[y>>2]=d;break;case"double":hn[y>>3]=d;break;default:xr("invalid type for setValue: "+k)}}var I2=!1,Nh=0;function Hr(y,d){y||xr("Assertion failed: "+d)}function Xh(y){var d=s["_"+y];return Hr(d,"Cannot call unknown function "+y+", make sure it is exported"),d}function nR(y,d,k,u,E){var r={string:function(m0){var X0=0;if(m0!=null&&m0!==0){var D0=(m0.length<<2)+1;X0=as(D0),P2(m0,X0,D0)}return X0},array:function(m0){var X0=as(m0.length);return Ih(m0,X0),X0}};function Z(m0){return d==="string"?j2(m0):d==="boolean"?Boolean(m0):m0}var C=Xh(y),D=[],Y=0;if(u)for(var z=0;z<u.length;z++){var v0=r[k[z]];v0?(Y===0&&(Y=Rl()),D[z]=v0(u[z])):D[z]=u[z]}var x0=C.apply(null,D);return x0=Z(x0),Y!==0&&gl(Y),x0}var sR=3,O2=typeof TextDecoder<"u"?new TextDecoder("utf8"):void 0;function Th(y,d,k){for(var u=d+k,E=d;y[E]&&!(E>=u);)++E;if(E-d>16&&y.subarray&&O2)return O2.decode(y.subarray(d,E));for(var r="";d<E;){var Z=y[d++];if(!(Z&128)){r+=String.fromCharCode(Z);continue}var C=y[d++]&63;if((Z&224)==192){r+=String.fromCharCode((Z&31)<<6|C);continue}var D=y[d++]&63;if((Z&240)==224?Z=(Z&15)<<12|C<<6|D:Z=(Z&7)<<18|C<<12|D<<6|y[d++]&63,Z<65536)r+=String.fromCharCode(Z);else{var Y=Z-65536;r+=String.fromCharCode(55296|Y>>10,56320|Y&1023)}}return r}function j2(y,d){return y?Th($0,y,d):""}function Uh(y,d,k,u){if(!(u>0))return 0;for(var E=k,r=k+u-1,Z=0;Z<y.length;++Z){var C=y.charCodeAt(Z);if(C>=55296&&C<=57343){var D=y.charCodeAt(++Z);C=65536+((C&1023)<<10)|D&1023}if(C<=127){if(k>=r)break;d[k++]=C}else if(C<=2047){if(k+1>=r)break;d[k++]=192|C>>6,d[k++]=128|C&63}else if(C<=65535){if(k+2>=r)break;d[k++]=224|C>>12,d[k++]=128|C>>6&63,d[k++]=128|C&63}else{if(k+3>=r)break;d[k++]=240|C>>18,d[k++]=128|C>>12&63,d[k++]=128|C>>6&63,d[k++]=128|C&63}}return d[k]=0,k-E}function P2(y,d,k){return Uh(y,$0,d,k)}function Gh(y){for(var d=0,k=0;k<y.length;++k){var u=y.charCodeAt(k);u>=55296&&u<=57343&&(u=65536+((u&1023)<<10)|y.charCodeAt(++k)&1023),u<=127?++d:u<=2047?d+=2:u<=65535?d+=3:d+=4}return d}var Y2=typeof TextDecoder<"u"?new TextDecoder("utf-16le"):void 0;function zh(y,d){for(var k=y,u=k>>1,E=u+d/2;!(u>=E)&&ei[u];)++u;if(k=u<<1,k-y>32&&Y2)return Y2.decode($0.subarray(y,k));for(var r=0,Z="";;){var C=gr[y+r*2>>1];if(C==0||r==d/2)return Z;++r,Z+=String.fromCharCode(C)}}function Eh(y,d,k){if(k===void 0&&(k=2147483647),k<2)return 0;k-=2;for(var u=d,E=k<y.length*2?k/2:y.length,r=0;r<E;++r){var Z=y.charCodeAt(r);gr[d>>1]=Z,d+=2}return gr[d>>1]=0,d-u}function Bh(y){return y.length*2}function Sh(y,d){for(var k=0,u="";!(k>=d/4);){var E=nt[y+k*4>>2];if(E==0)break;if(++k,E>=65536){var r=E-65536;u+=String.fromCharCode(55296|r>>10,56320|r&1023)}else u+=String.fromCharCode(E)}return u}function Ch(y,d,k){if(k===void 0&&(k=2147483647),k<4)return 0;for(var u=d,E=u+k-4,r=0;r<y.length;++r){var Z=y.charCodeAt(r);if(Z>=55296&&Z<=57343){var C=y.charCodeAt(++r);Z=65536+((Z&1023)<<10)|C&1023}if(nt[d>>2]=Z,d+=4,d+4>E)break}return nt[d>>2]=0,d-u}function Jh(y){for(var d=0,k=0;k<y.length;++k){var u=y.charCodeAt(k);u>=55296&&u<=57343&&++k,d+=4}return d}function Ih(y,d){Ar.set(y,d)}function oR(y,d,k){for(var u=0;u<y.length;++u)Ar[d++>>0]=y.charCodeAt(u);k||(Ar[d>>0]=0)}var dr,Ar,$0,gr,ei,nt,Yt,An,hn;function Oh(y){dr=y,s.HEAP8=Ar=new Int8Array(y),s.HEAP16=gr=new Int16Array(y),s.HEAP32=nt=new Int32Array(y),s.HEAPU8=$0=new Uint8Array(y),s.HEAPU16=ei=new Uint16Array(y),s.HEAPU32=Yt=new Uint32Array(y),s.HEAPF32=An=new Float32Array(y),s.HEAPF64=hn=new Float64Array(y)}var fR=22384,jh=5265264,ln=22176,H2=s.INITIAL_MEMORY||167772160;s.buffer?dr=s.buffer:dr=new ArrayBuffer(H2),H2=dr.byteLength,Oh(dr),nt[ln>>2]=jh;function ii(y){for(;y.length>0;){var d=y.shift();if(typeof d=="function"){d(s);continue}var k=d.func;typeof k=="number"?d.arg===void 0?s.dynCall_v(k):s.dynCall_vi(k,d.arg):k(d.arg===void 0?null:d.arg)}}var D2=[],Q2=[],Ph=[],L2=[],Yh=!1,Hh=!1;function Dh(){if(s.preRun)for(typeof s.preRun=="function"&&(s.preRun=[s.preRun]);s.preRun.length;)$h(s.preRun.shift());ii(D2)}function Qh(){Yh=!0,ii(Q2)}function Lh(){ii(Ph)}function AR(){Hh=!0}function qh(){if(s.postRun)for(typeof s.postRun=="function"&&(s.postRun=[s.postRun]);s.postRun.length;)Kh(s.postRun.shift());ii(L2)}function $h(y){D2.unshift(y)}function Kh(y){L2.unshift(y)}var bh=Math.abs,t1=Math.ceil,r1=Math.floor,e1=Math.min,Rr=0,un=null,ye=null;function i1(y){Rr++,s.monitorRunDependencies&&s.monitorRunDependencies(Rr)}function n1(y){if(Rr--,s.monitorRunDependencies&&s.monitorRunDependencies(Rr),Rr==0&&(un!==null&&(clearInterval(un),un=null),ye)){var d=ye;ye=null,d()}}s.preloadedImages={},s.preloadedAudios={};function xr(y){throw s.onAbort&&s.onAbort(y),y+="",o0(y),u0(y),I2=!0,Nh=1,y="abort("+y+"). Build with -s ASSERTIONS=1 for more info.",y}var Tt=null;function s1(y,d){return String.prototype.startsWith?y.startsWith(d):y.indexOf(d)===0}var q2="data:application/octet-stream;base64,";function $2(y){return s1(y,q2)}var hR="file://",Dr,an;Q2.push({func:function(){dl()}}),Tt="data:application/octet-stream;base64,AAAAAAAAAAAPDg0MCwoJCA4AAQMGCgoJDQECBAcLCwoMAwQFCAwMCwsGBwgJDQ0MCgoLDA0ODg0JCgsMDQ4PDggJCgsMDQ4PAAECAwQFBgcBAAECAwQFBgIBAAECAwQFAwIBAAECAwQEAwIBAAECAwUEAwIBAAECBgUEAwIBAAEHBgUEAwIBAMgPAAAoDQAAEBAAACAQAADIDwAAUA0AABAQAAAgEAAAEQAKABEREQAAAAAFAAAAAAAACQAAAAALAAAAAAAAAAARAA8KERERAwoHAAEACQsLAAAJBgsAAAsABhEAAAAREREAAAAAAAAAAAAAAAAAAAAACwAAAAAAAAAAEQAKChEREQAKAAACAAkLAAAACQALAAALAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwAAAAAAAAAAAAAAAwAAAAADAAAAAAJDAAAAAAADAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAAAAAAAAAAAAAAANAAAABA0AAAAACQ4AAAAAAA4AAA4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAADwAAAAAPAAAAAAkQAAAAAAAQAAAQAAASAAAAEhISAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABIAAAASEhIAAAAAAAAJAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAALAAAAAAAAAAAAAAAKAAAAAAoAAAAACQsAAAAAAAsAAAsAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADAAAAAAAAAAAAAAADAAAAAAMAAAAAAkMAAAAAAAMAAAMAAAwMTIzNDU2Nzg5QUJDREVGGRJEOwI/LEcUPTMwChsGRktFNw9JDo4XA0AdPGkrNh9KLRwBICUpIQgMFRYiLhA4Pgs0MRhkdHV2L0EJfzkRI0MyQomKiwUEJignDSoeNYwHGkiTE5SVAAAAAAAAAAAASWxsZWdhbCBieXRlIHNlcXVlbmNlAERvbWFpbiBlcnJvcgBSZXN1bHQgbm90IHJlcHJlc2VudGFibGUATm90IGEgdHR5AFBlcm1pc3Npb24gZGVuaWVkAE9wZXJhdGlvbiBub3QgcGVybWl0dGVkAE5vIHN1Y2ggZmlsZSBvciBkaXJlY3RvcnkATm8gc3VjaCBwcm9jZXNzAEZpbGUgZXhpc3RzAFZhbHVlIHRvbyBsYXJnZSBmb3IgZGF0YSB0eXBlAE5vIHNwYWNlIGxlZnQgb24gZGV2aWNlAE91dCBvZiBtZW1vcnkAUmVzb3VyY2UgYnVzeQBJbnRlcnJ1cHRlZCBzeXN0ZW0gY2FsbABSZXNvdXJjZSB0ZW1wb3JhcmlseSB1bmF2YWlsYWJsZQBJbnZhbGlkIHNlZWsAQ3Jvc3MtZGV2aWNlIGxpbmsAUmVhZC1vbmx5IGZpbGUgc3lzdGVtAERpcmVjdG9yeSBub3QgZW1wdHkAQ29ubmVjdGlvbiByZXNldCBieSBwZWVyAE9wZXJhdGlvbiB0aW1lZCBvdXQAQ29ubmVjdGlvbiByZWZ1c2VkAEhvc3QgaXMgZG93bgBIb3N0IGlzIHVucmVhY2hhYmxlAEFkZHJlc3MgaW4gdXNlAEJyb2tlbiBwaXBlAEkvTyBlcnJvcgBObyBzdWNoIGRldmljZSBvciBhZGRyZXNzAEJsb2NrIGRldmljZSByZXF1aXJlZABObyBzdWNoIGRldmljZQBOb3QgYSBkaXJlY3RvcnkASXMgYSBkaXJlY3RvcnkAVGV4dCBmaWxlIGJ1c3kARXhlYyBmb3JtYXQgZXJyb3IASW52YWxpZCBhcmd1bWVudABBcmd1bWVudCBsaXN0IHRvbyBsb25nAFN5bWJvbGljIGxpbmsgbG9vcABGaWxlbmFtZSB0b28gbG9uZwBUb28gbWFueSBvcGVuIGZpbGVzIGluIHN5c3RlbQBObyBmaWxlIGRlc2NyaXB0b3JzIGF2YWlsYWJsZQBCYWQgZmlsZSBkZXNjcmlwdG9yAE5vIGNoaWxkIHByb2Nlc3MAQmFkIGFkZHJlc3MARmlsZSB0b28gbGFyZ2UAVG9vIG1hbnkgbGlua3MATm8gbG9ja3MgYXZhaWxhYmxlAFJlc291cmNlIGRlYWRsb2NrIHdvdWxkIG9jY3VyAFN0YXRlIG5vdCByZWNvdmVyYWJsZQBQcmV2aW91cyBvd25lciBkaWVkAE9wZXJhdGlvbiBjYW5jZWxlZABGdW5jdGlvbiBub3QgaW1wbGVtZW50ZWQATm8gbWVzc2FnZSBvZiBkZXNpcmVkIHR5cGUASWRlbnRpZmllciByZW1vdmVkAERldmljZSBub3QgYSBzdHJlYW0ATm8gZGF0YSBhdmFpbGFibGUARGV2aWNlIHRpbWVvdXQAT3V0IG9mIHN0cmVhbXMgcmVzb3VyY2VzAExpbmsgaGFzIGJlZW4gc2V2ZXJlZABQcm90b2NvbCBlcnJvcgBCYWQgbWVzc2FnZQBGaWxlIGRlc2NyaXB0b3IgaW4gYmFkIHN0YXRlAE5vdCBhIHNvY2tldABEZXN0aW5hdGlvbiBhZGRyZXNzIHJlcXVpcmVkAE1lc3NhZ2UgdG9vIGxhcmdlAFByb3RvY29sIHdyb25nIHR5cGUgZm9yIHNvY2tldABQcm90b2NvbCBub3QgYXZhaWxhYmxlAFByb3RvY29sIG5vdCBzdXBwb3J0ZWQAU29ja2V0IHR5cGUgbm90IHN1cHBvcnRlZABOb3Qgc3VwcG9ydGVkAFByb3RvY29sIGZhbWlseSBub3Qgc3VwcG9ydGVkAEFkZHJlc3MgZmFtaWx5IG5vdCBzdXBwb3J0ZWQgYnkgcHJvdG9jb2wAQWRkcmVzcyBub3QgYXZhaWxhYmxlAE5ldHdvcmsgaXMgZG93bgBOZXR3b3JrIHVucmVhY2hhYmxlAENvbm5lY3Rpb24gcmVzZXQgYnkgbmV0d29yawBDb25uZWN0aW9uIGFib3J0ZWQATm8gYnVmZmVyIHNwYWNlIGF2YWlsYWJsZQBTb2NrZXQgaXMgY29ubmVjdGVkAFNvY2tldCBub3QgY29ubmVjdGVkAENhbm5vdCBzZW5kIGFmdGVyIHNvY2tldCBzaHV0ZG93bgBPcGVyYXRpb24gYWxyZWFkeSBpbiBwcm9ncmVzcwBPcGVyYXRpb24gaW4gcHJvZ3Jlc3MAU3RhbGUgZmlsZSBoYW5kbGUAUmVtb3RlIEkvTyBlcnJvcgBRdW90YSBleGNlZWRlZABObyBtZWRpdW0gZm91bmQAV3JvbmcgbWVkaXVtIHR5cGUATm8gZXJyb3IgaW5mb3JtYXRpb24AAAAAAADgFgAAmRgAAGAQAAAAAAAA4BYAAEIZAABgEAAAAAAAAOAWAAAqGgAASA8AAAAAAAC4FgAANBsAAOAWAACfGgAAMAoAAAAAAADgFgAAaRsAAEgPAAAAAAAA4BYAAIobAABIDwAAAAAAALgWAAAPHAAA4BYAAHwcAABIDwAAAAAAAOAWAACVHAAASA8AAAAAAADgFgAAHh0AAEgPAAAAAAAA4BYAAHcdAABIDwAAAAAAAOAWAACQHQAASA8AAAAAAADgFgAAQh4AAEgPAAAAAAAA4BYAAIceAABgEAAAAAAAAOAWAACkHwAASA8AAAAAAAC4FgAAZyAAAOAWAADkHwAA8AoAAAAAAADgFgAAjyAAAGAQAAAAAAAAuBYAAMMiAADgFgAAAiIAABgLAAAAAAAA4BYAAOEiAABgEAAAAAAAAOAWAADQJAAAGAsAAAAAAADgFgAAkSUAAGAQAAAAAAAA4BYAAIAnAAAYCwAAAAAAAOAWAAA9KAAAYBAAAAAAAADgFgAAJCoAABgLAAAAAAAA4BYAAOkqAABgEAAAAAAAAOAWAADgLAAA8AoAAAAAAADgFgAAui0AAGAQAAAAAAAA4BYAANsvAADwCgAAAAAAAOAWAADTMAAAYBAAAAAAAADgFgAAMDMAAPAKAAAAAAAA4BYAACQ0AABgEAAAAAAAAOAWAAB5NgAA8AoAAAAAAADgFgAAizcAAGAQAAAAAAAA4BYAABw6AABgEAAAAAAAAOAWAACdOgAAYBAAAAAAAADgFgAAXjsAAPAKAAAAAAAA4BYAALU7AABgEAAAAAAAAOAWAADMPAAAGAsAAAAAAADgFgAATz0AAGAQAAAAAAAA4BYAAL4+AAAYCwAAAAAAAOAWAABBPwAAYBAAAAAAAADgFgAAsEAAABgLAAAAAAAA4BYAADNBAABgEAAAAAAAAOAWAACiQgAAGAsAAAAAAADgFgAAJUMAAGAQAAAAAAAA4BYAAJREAAAYCwAAAAAAAOAWAAAXRQAAYBAAAAAAAADgFgAAhkYAABgLAAAAAAAA4BYAAAlHAABgEAAAAAAAALgWAAB4SAAAiBcAAIBIAAAAAAAAIA0AAIgXAACJSAAAAQAAACANAAC4FgAAqkgAAIgXAAC6SAAAAAAAAEgNAACIFwAAy0gAAAEAAABIDQAAuBYAABhMAAC4FgAAN0wAALgWAABWTAAAuBYAAHVMAAC4FgAAlEwAALgWAACzTAAAuBYAANJMAAC4FgAA8UwAALgWAAAQTQAAuBYAAC9NAAC4FgAATk0AALgWAABtTQAAuBYAAIxNAACkFwAAn00AAAAAAAABAAAA8A0AAAAAAAC4FgAA4U0AAKQXAAAHTgAAAAAAAAEAAADwDQAAAAAAAKQXAABJTgAAAAAAAAEAAADwDQAAAAAAAKQXAACITgAAAAAAAAEAAADwDQAAAAAAAKQXAADHTgAAAAAAAAEAAADwDQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP//////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAALgWAADNTwAA4BYAAC1QAAAADwAAAAAAAOAWAADaTwAAEA8AAAAAAAC4FgAA+08AAOAWAAAIUAAA8A4AAAAAAADgFgAAhlAAAOgOAAAAAAAA4BYAAJNQAADoDgAAAAAAAOAWAACjUAAA6A4AAAAAAADgFgAAtVAAADgPAAAAAAAA4BYAAMZQAAA4DwAAAAAAAOAWAADXUAAAAA8AAAAAAADgFgAA+VAAAHgPAAAAAAAA4BYAAB1RAAAADwAAAAAAAOAWAABCUQAAeA8AAAAAAADgFgAAjlEAAAAPAAAAAAAAbBcAALZRAABsFwAAuFEAAGwXAAC7UQAAbBcAAL1RAABsFwAAv1EAAGwXAADBUQAAbBcAAMNRAABsFwAAxVEAAGwXAADHUQAAbBcAAMlRAABsFwAAy1EAAGwXAADNUQAAbBcAAM9RAABsFwAA0VEAAOAWAADTUQAA8A4AAAAAAADgFgAARlIAAOgOAAAAAAAAuBYAAGJSAACkFwAAe1IAAAAAAAABAAAAWBAAAAAAAADgFgAA9FIAAIgQAAAAAAAA4BYAABdTAACYEAAAAAAAALgWAAAuUwAA4BYAAHBTAACIEAAAAAAAAOAWAACSUwAASA8AAAAAAAAAAAAAAAoAAAEAAAACAAAAAwAAAAEAAAAEAAAAAAAAABAKAAABAAAABQAAAAYAAAACAAAABwAAAAAAAAAgCgAACAAAAAkAAAABAAAAAAAAADgKAAAKAAAACwAAAAIAAAABAAAADAAAAA0AAAACAAAAAwAAAAMAAAAAAAAASAoAAAgAAAAOAAAAAQAAAAAAAABYCgAACAAAAA8AAAABAAAAAAAAAIAKAAAIAAAAEAAAAAEAAAAAAAAAcAoAAAgAAAARAAAAAQAAAAAAAACQCgAACAAAABIAAAABAAAAAAAAAKAKAAAIAAAAEwAAAAEAAAAAAAAAsAoAAAgAAAAUAAAAAQAAAAAAAADACgAACAAAABUAAAABAAAAAAAAANAKAAABAAAAFgAAABcAAAAEAAAAGAAAAAAAAADgCgAACAAAABkAAAABAAAAAAAAAPgKAAAFAAAAGgAAABsAAAAAAAAA8AoAAAEAAAAcAAAAHQAAAAAAAAAICwAAAQAAAB4AAAAfAAAABgAAACAAAAAAAAAAIAsAACEAAAAiAAAABwAAAAgAAAAAAAAAGAsAACMAAAAkAAAABwAAAAkAAAAAAAAAMAsAAAEAAAAlAAAAJgAAAAoAAAAnAAAAAAAAAEALAAAoAAAAKQAAAAcAAAALAAAAAAAAAFALAAABAAAAKgAAACsAAAAMAAAALAAAAAAAAABgCwAALQAAAC4AAAAHAAAADQAAAAAAAABwCwAAAQAAAC8AAAAwAAAADgAAADEAAAAAAAAAgAsAADIAAAAzAAAABwAAAA8AAAAAAAAAkAsAAAEAAAA0AAAANQAAABAAAAA2AAAAAAAAAKALAAARAAAANwAAADgAAAAAAAAAsAsAAAEAAAA5AAAAOgAAABIAAAA7AAAAAAAAAMALAAATAAAAPAAAAD0AAAAAAAAA0AsAAAEAAAA+AAAAPwAAABQAAABAAAAAAAAAAOALAAAVAAAAQQAAAEIAAAAAAAAA8AsAAAEAAABDAAAARAAAABYAAABFAAAAAAAAAAAMAAAXAAAARgAAAEcAAAAAAAAAEAwAAAEAAABIAAAASQAAABgAAABKAAAAAAAAACAMAAABAAAASwAAAEwAAAAZAAAATQAAAAAAAAAwDAAAAQAAAE4AAABPAAAAGgAAAFAAAAAAAAAAQAwAABsAAABRAAAAUgAAAAAAAABQDAAAAQAAAFMAAABUAAAAHAAAAFUAAAAAAAAAYAwAAFYAAABXAAAABwAAAB0AAAAAAAAAcAwAAAEAAABYAAAAWQAAAB4AAABaAAAAAAAAAIAMAABbAAAAXAAAAAcAAAAfAAAAAAAAAJAMAAABAAAAXQAAAF4AAAAgAAAAXwAAAAAAAACgDAAAYAAAAGEAAAAHAAAAIQAAAAAAAACwDAAAAQAAAGIAAABjAAAAIgAAAGQAAAAAAAAAwAwAAGUAAABmAAAABwAAACMAAAAAAAAA0AwAAAEAAABnAAAAaAAAACQAAABpAAAAAAAAAOAMAABqAAAAawAAAAcAAAAlAAAAAAAAAPAMAAABAAAAbAAAAG0AAAAmAAAAbgAAAAAAAAAADQAAbwAAAHAAAAAHAAAAJwAAAAAAAAAQDQAAAQAAAHEAAAByAAAAKAAAAHMAAAAoDQAAyA8AACgNAAAIEAAAEBAAACgNAABQDQAAyA8AAFANAAAgEAAAyA8AAFANAAAIEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABsVAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADwDgAAdAAAAHUAAAB2AAAAdwAAAAIAAAABAAAAAQAAAAEAAAAAAAAAGA8AAHQAAAB4AAAAdgAAAHcAAAACAAAAAgAAAAIAAAACAAAAAAAAACgPAAB5AAAAegAAAAQAAAAAAAAAOA8AAHsAAAB8AAAABQAAAAAAAABIDwAACAAAAH0AAAABAAAAAAAAAFgPAAB7AAAAfgAAAAUAAAAAAAAAaA8AAHsAAAB/AAAABQAAAAAAAAC4DwAAdAAAAIAAAAB2AAAAdwAAAAMAAAAAAAAAiA8AAHQAAACBAAAAdgAAAHcAAAAEAAAAAAAAADgQAAB0AAAAggAAAHYAAAB3AAAAAgAAAAMAAAADAAAAAwAAAAAAAABIEAAAgwAAAIQAAAAGAAAAAAAAAHgQAACFAAAAhgAAAAcAAAABAAAABQAAAAYAAAACAAAAAAAAAKAQAACFAAAAhwAAAAgAAAADAAAABQAAAAYAAAAEAAAA4BcAAAQYAAAAAAAAsBAAAIgAAACJAAAAAQAAAExBU1ppcABvcGVuAGdldFBvaW50AGdldENvdW50AER5bmFtaWNMQVNaaXAAYWRkRmllbGRGbG9hdGluZwBhZGRGaWVsZFNpZ25lZABhZGRGaWVsZFVuc2lnbmVkAE5TdDNfXzIyMF9fc2hhcmVkX3B0cl9wb2ludGVySVBONmxhc3ppcDdzdHJlYW1zMTNtZW1vcnlfc3RyZWFtRU5TXzE0ZGVmYXVsdF9kZWxldGVJUzNfRUVOU185YWxsb2NhdG9ySVMzX0VFRUUATlN0M19fMjE0ZGVmYXVsdF9kZWxldGVJTjZsYXN6aXA3c3RyZWFtczEzbWVtb3J5X3N0cmVhbUVFRQBOU3QzX18yMjBfX3NoYXJlZF9wdHJfcG9pbnRlcklQTjZsYXN6aXAyaW82cmVhZGVyMTBiYXNpY19maWxlSU5TMV83c3RyZWFtczEzbWVtb3J5X3N0cmVhbUVFRU5TXzE0ZGVmYXVsdF9kZWxldGVJUzdfRUVOU185YWxsb2NhdG9ySVM3X0VFRUUATlN0M19fMjE0ZGVmYXVsdF9kZWxldGVJTjZsYXN6aXAyaW82cmVhZGVyMTBiYXNpY19maWxlSU5TMV83c3RyZWFtczEzbWVtb3J5X3N0cmVhbUVFRUVFAExBU0YATjZsYXN6aXAxM2ludmFsaWRfbWFnaWNFAGFsbG9jYXRvcjxUPjo6YWxsb2NhdGUoc2l6ZV90IG4pICduJyBleGNlZWRzIG1heGltdW0gc3VwcG9ydGVkIHNpemUARmlsZSBtYWdpYyBpcyBub3QgdmFsaWQATlN0M19fMjEwX19mdW5jdGlvbjZfX2Z1bmNJWk42bGFzemlwMmlvNnJlYWRlcjEwYmFzaWNfZmlsZUlOUzJfN3N0cmVhbXMxM21lbW9yeV9zdHJlYW1FRTExX3ZhbGlkYXRvcnNFdkVVbFJOUzNfNmhlYWRlckVFX05TXzlhbGxvY2F0b3JJU0JfRUVGdlNBX0VFRQBOU3QzX18yMTBfX2Z1bmN0aW9uNl9fYmFzZUlGdlJONmxhc3ppcDJpbzZoZWFkZXJFRUVFAE42bGFzemlwMjFvbGRfc3R5bGVfY29tcHJlc3Npb25FAE42bGFzemlwMTRub3RfY29tcHJlc3NlZEUAVGhlIGZpbGUgc2VlbXMgdG8gaGF2ZSBvbGQgc3R5bGUgY29tcHJlc3Npb24gd2hpY2ggaXMgbm90IHN1cHBvcnRlZABUaGUgZmlsZSBkb2Vzbid0IHNlZW0gdG8gYmUgY29tcHJlc3NlZABaTjZsYXN6aXAyaW82cmVhZGVyMTBiYXNpY19maWxlSU5TXzdzdHJlYW1zMTNtZW1vcnlfc3RyZWFtRUUxMV92YWxpZGF0b3JzRXZFVWxSTlMwXzZoZWFkZXJFRV8AbGFzemlwIGVuY29kZWQATjZsYXN6aXAxM25vX2xhc3ppcF92bHJFAE42bGFzemlwMjVsYXN6aXBfZm9ybWF0X3Vuc3VwcG9ydGVkRQBPbmx5IExBU3ppcCBQT0lOVFdJU0UgQ0hVTktFRCBkZWNvbXByZXNzb3IgaXMgc3VwcG9ydGVkAE5vIExBU3ppcCBWTFIgd2FzIGZvdW5kIGluIHRoZSBWTFJzIHNlY3Rpb24ATjZsYXN6aXAyMmNodW5rX3RhYmxlX3JlYWRfZXJyb3JFAENodW5rIHRhYmxlIG9mZnNldCA9PSAtMSBpcyBub3Qgc3VwcG9ydGVkIGF0IHRoaXMgdGltZQBONmxhc3ppcDEzbm90X3N1cHBvcnRlZEUATjZsYXN6aXAyNnVua25vd25fY2h1bmtfdGFibGVfZm9ybWF0RQBjaHVua19zaXplID09IHVpbnQubWF4IGlzIG5vdCBzdXBwb3J0ZWQgYXQgdGhpcyB0aW1lLgBUaGVyZSB3YXMgYSBwcm9ibGVtIHJlYWRpbmcgdGhlIGNodW5rIHRhYmxlAFRoZSBjaHVuayB0YWJsZSB2ZXJzaW9uIG51bWJlciBpcyB1bmtub3duAE42bGFzemlwMTFlbmRfb2ZfZmlsZUUAUmVhY2hlZCBFbmQgb2YgZmlsZQBJbnZhbGlkIG51bWJlciBvZiBzeW1ib2xzAE5TdDNfXzIyMF9fc2hhcmVkX3B0cl9wb2ludGVySVBONmxhc3ppcDhkZWNvZGVyczEwYXJpdGhtZXRpY0lOUzFfMmlvMThfX2lmc3RyZWFtX3dyYXBwZXJJTlMxXzdzdHJlYW1zMTNtZW1vcnlfc3RyZWFtRUVFRUVOU18xNGRlZmF1bHRfZGVsZXRlSVM5X0VFTlNfOWFsbG9jYXRvcklTOV9FRUVFAE5TdDNfXzIxNGRlZmF1bHRfZGVsZXRlSU42bGFzemlwOGRlY29kZXJzMTBhcml0aG1ldGljSU5TMV8yaW8xOF9faWZzdHJlYW1fd3JhcHBlcklOUzFfN3N0cmVhbXMxM21lbW9yeV9zdHJlYW1FRUVFRUVFAE42bGFzemlwMTl1bmtub3duX3NjaGVtYV90eXBlRQBUaGUgTEFaIHNjaGVtYSBpcyBub3QgcmVjb2duaXplZABONmxhc3ppcDdmb3JtYXRzMjZkeW5hbWljX2ZpZWxkX2RlY29tcHJlc3NvcklOU184ZGVjb2RlcnMxMGFyaXRobWV0aWNJTlNfMmlvMThfX2lmc3RyZWFtX3dyYXBwZXJJTlNfN3N0cmVhbXMxM21lbW9yeV9zdHJlYW1FRUVFRUVFAE42bGFzemlwN2Zvcm1hdHMyMGR5bmFtaWNfZGVjb21wcmVzc29yRQBOU3QzX18yMjBfX3NoYXJlZF9wdHJfcG9pbnRlcklQTjZsYXN6aXA3Zm9ybWF0czI2ZHluYW1pY19maWVsZF9kZWNvbXByZXNzb3JJTlMxXzhkZWNvZGVyczEwYXJpdGhtZXRpY0lOUzFfMmlvMThfX2lmc3RyZWFtX3dyYXBwZXJJTlMxXzdzdHJlYW1zMTNtZW1vcnlfc3RyZWFtRUVFRUVFRU5TXzE0ZGVmYXVsdF9kZWxldGVJU0NfRUVOU185YWxsb2NhdG9ySVNDX0VFRUUATlN0M19fMjE0ZGVmYXVsdF9kZWxldGVJTjZsYXN6aXA3Zm9ybWF0czI2ZHluYW1pY19maWVsZF9kZWNvbXByZXNzb3JJTlMxXzhkZWNvZGVyczEwYXJpdGhtZXRpY0lOUzFfMmlvMThfX2lmc3RyZWFtX3dyYXBwZXJJTlMxXzdzdHJlYW1zMTNtZW1vcnlfc3RyZWFtRUVFRUVFRUVFAE42bGFzemlwN2Zvcm1hdHMyNmR5bmFtaWNfZGVjb21wcmVzc29yX2ZpZWxkSU5TXzhkZWNvZGVyczEwYXJpdGhtZXRpY0lOU18yaW8xOF9faWZzdHJlYW1fd3JhcHBlcklOU183c3RyZWFtczEzbWVtb3J5X3N0cmVhbUVFRUVFTlMwXzVmaWVsZElOUzBfM2xhczdwb2ludDEwRU5TMF8yMHN0YW5kYXJkX2RpZmZfbWV0aG9kSVNDX0VFRUVFRQBONmxhc3ppcDdmb3JtYXRzMTBiYXNlX2ZpZWxkRQBOU3QzX18yMjBfX3NoYXJlZF9wdHJfcG9pbnRlcklQTjZsYXN6aXA3Zm9ybWF0czI2ZHluYW1pY19kZWNvbXByZXNzb3JfZmllbGRJTlMxXzhkZWNvZGVyczEwYXJpdGhtZXRpY0lOUzFfMmlvMThfX2lmc3RyZWFtX3dyYXBwZXJJTlMxXzdzdHJlYW1zMTNtZW1vcnlfc3RyZWFtRUVFRUVOUzJfNWZpZWxkSU5TMl8zbGFzN3BvaW50MTBFTlMyXzIwc3RhbmRhcmRfZGlmZl9tZXRob2RJU0VfRUVFRUVFTlNfMTRkZWZhdWx0X2RlbGV0ZUlTSV9FRU5TXzlhbGxvY2F0b3JJU0lfRUVFRQBOU3QzX18yMTRkZWZhdWx0X2RlbGV0ZUlONmxhc3ppcDdmb3JtYXRzMjZkeW5hbWljX2RlY29tcHJlc3Nvcl9maWVsZElOUzFfOGRlY29kZXJzMTBhcml0aG1ldGljSU5TMV8yaW8xOF9faWZzdHJlYW1fd3JhcHBlcklOUzFfN3N0cmVhbXMxM21lbW9yeV9zdHJlYW1FRUVFRU5TMl81ZmllbGRJTlMyXzNsYXM3cG9pbnQxMEVOUzJfMjBzdGFuZGFyZF9kaWZmX21ldGhvZElTRV9FRUVFRUVFRQBONmxhc3ppcDdmb3JtYXRzMjZkeW5hbWljX2RlY29tcHJlc3Nvcl9maWVsZElOU184ZGVjb2RlcnMxMGFyaXRobWV0aWNJTlNfMmlvMThfX2lmc3RyZWFtX3dyYXBwZXJJTlNfN3N0cmVhbXMxM21lbW9yeV9zdHJlYW1FRUVFRU5TMF81ZmllbGRJTlMwXzNsYXM3Z3BzdGltZUVOUzBfMjBzdGFuZGFyZF9kaWZmX21ldGhvZElTQ19FRUVFRUUATlN0M19fMjIwX19zaGFyZWRfcHRyX3BvaW50ZXJJUE42bGFzemlwN2Zvcm1hdHMyNmR5bmFtaWNfZGVjb21wcmVzc29yX2ZpZWxkSU5TMV84ZGVjb2RlcnMxMGFyaXRobWV0aWNJTlMxXzJpbzE4X19pZnN0cmVhbV93cmFwcGVySU5TMV83c3RyZWFtczEzbWVtb3J5X3N0cmVhbUVFRUVFTlMyXzVmaWVsZElOUzJfM2xhczdncHN0aW1lRU5TMl8yMHN0YW5kYXJkX2RpZmZfbWV0aG9kSVNFX0VFRUVFRU5TXzE0ZGVmYXVsdF9kZWxldGVJU0lfRUVOU185YWxsb2NhdG9ySVNJX0VFRUUATlN0M19fMjE0ZGVmYXVsdF9kZWxldGVJTjZsYXN6aXA3Zm9ybWF0czI2ZHluYW1pY19kZWNvbXByZXNzb3JfZmllbGRJTlMxXzhkZWNvZGVyczEwYXJpdGhtZXRpY0lOUzFfMmlvMThfX2lmc3RyZWFtX3dyYXBwZXJJTlMxXzdzdHJlYW1zMTNtZW1vcnlfc3RyZWFtRUVFRUVOUzJfNWZpZWxkSU5TMl8zbGFzN2dwc3RpbWVFTlMyXzIwc3RhbmRhcmRfZGlmZl9tZXRob2RJU0VfRUVFRUVFRUUATjZsYXN6aXA3Zm9ybWF0czI2ZHluYW1pY19kZWNvbXByZXNzb3JfZmllbGRJTlNfOGRlY29kZXJzMTBhcml0aG1ldGljSU5TXzJpbzE4X19pZnN0cmVhbV93cmFwcGVySU5TXzdzdHJlYW1zMTNtZW1vcnlfc3RyZWFtRUVFRUVOUzBfNWZpZWxkSU5TMF8zbGFzM3JnYkVOUzBfMjBzdGFuZGFyZF9kaWZmX21ldGhvZElTQ19FRUVFRUUATlN0M19fMjIwX19zaGFyZWRfcHRyX3BvaW50ZXJJUE42bGFzemlwN2Zvcm1hdHMyNmR5bmFtaWNfZGVjb21wcmVzc29yX2ZpZWxkSU5TMV84ZGVjb2RlcnMxMGFyaXRobWV0aWNJTlMxXzJpbzE4X19pZnN0cmVhbV93cmFwcGVySU5TMV83c3RyZWFtczEzbWVtb3J5X3N0cmVhbUVFRUVFTlMyXzVmaWVsZElOUzJfM2xhczNyZ2JFTlMyXzIwc3RhbmRhcmRfZGlmZl9tZXRob2RJU0VfRUVFRUVFTlNfMTRkZWZhdWx0X2RlbGV0ZUlTSV9FRU5TXzlhbGxvY2F0b3JJU0lfRUVFRQBOU3QzX18yMTRkZWZhdWx0X2RlbGV0ZUlONmxhc3ppcDdmb3JtYXRzMjZkeW5hbWljX2RlY29tcHJlc3Nvcl9maWVsZElOUzFfOGRlY29kZXJzMTBhcml0aG1ldGljSU5TMV8yaW8xOF9faWZzdHJlYW1fd3JhcHBlcklOUzFfN3N0cmVhbXMxM21lbW9yeV9zdHJlYW1FRUVFRU5TMl81ZmllbGRJTlMyXzNsYXMzcmdiRU5TMl8yMHN0YW5kYXJkX2RpZmZfbWV0aG9kSVNFX0VFRUVFRUVFAE42bGFzemlwN2Zvcm1hdHMyNmR5bmFtaWNfZGVjb21wcmVzc29yX2ZpZWxkSU5TXzhkZWNvZGVyczEwYXJpdGhtZXRpY0lOU18yaW8xOF9faWZzdHJlYW1fd3JhcHBlcklOU183c3RyZWFtczEzbWVtb3J5X3N0cmVhbUVFRUVFTlMwXzVmaWVsZElOUzBfM2xhczEwZXh0cmFieXRlc0VOUzBfMjBzdGFuZGFyZF9kaWZmX21ldGhvZElTQ19FRUVFRUUATlN0M19fMjIwX19zaGFyZWRfcHRyX3BvaW50ZXJJUE42bGFzemlwN2Zvcm1hdHMyNmR5bmFtaWNfZGVjb21wcmVzc29yX2ZpZWxkSU5TMV84ZGVjb2RlcnMxMGFyaXRobWV0aWNJTlMxXzJpbzE4X19pZnN0cmVhbV93cmFwcGVySU5TMV83c3RyZWFtczEzbWVtb3J5X3N0cmVhbUVFRUVFTlMyXzVmaWVsZElOUzJfM2xhczEwZXh0cmFieXRlc0VOUzJfMjBzdGFuZGFyZF9kaWZmX21ldGhvZElTRV9FRUVFRUVOU18xNGRlZmF1bHRfZGVsZXRlSVNJX0VFTlNfOWFsbG9jYXRvcklTSV9FRUVFAE5TdDNfXzIxNGRlZmF1bHRfZGVsZXRlSU42bGFzemlwN2Zvcm1hdHMyNmR5bmFtaWNfZGVjb21wcmVzc29yX2ZpZWxkSU5TMV84ZGVjb2RlcnMxMGFyaXRobWV0aWNJTlMxXzJpbzE4X19pZnN0cmVhbV93cmFwcGVySU5TMV83c3RyZWFtczEzbWVtb3J5X3N0cmVhbUVFRUVFTlMyXzVmaWVsZElOUzJfM2xhczEwZXh0cmFieXRlc0VOUzJfMjBzdGFuZGFyZF9kaWZmX21ldGhvZElTRV9FRUVFRUVFRQBONmxhc3ppcDdmb3JtYXRzMjFkeW5hbWljX2RlY29tcHJlc3NvcjFJTlNfOGRlY29kZXJzMTBhcml0aG1ldGljSU5TXzJpbzE4X19pZnN0cmVhbV93cmFwcGVySU5TXzdzdHJlYW1zMTNtZW1vcnlfc3RyZWFtRUVFRUVOUzBfMTlyZWNvcmRfZGVjb21wcmVzc29ySUpOUzBfNWZpZWxkSU5TMF8zbGFzN3BvaW50MTBFTlMwXzIwc3RhbmRhcmRfZGlmZl9tZXRob2RJU0RfRUVFRUVFRUVFAE5TdDNfXzIyMF9fc2hhcmVkX3B0cl9wb2ludGVySVBONmxhc3ppcDdmb3JtYXRzMjFkeW5hbWljX2RlY29tcHJlc3NvcjFJTlMxXzhkZWNvZGVyczEwYXJpdGhtZXRpY0lOUzFfMmlvMThfX2lmc3RyZWFtX3dyYXBwZXJJTlMxXzdzdHJlYW1zMTNtZW1vcnlfc3RyZWFtRUVFRUVOUzJfMTlyZWNvcmRfZGVjb21wcmVzc29ySUpOUzJfNWZpZWxkSU5TMl8zbGFzN3BvaW50MTBFTlMyXzIwc3RhbmRhcmRfZGlmZl9tZXRob2RJU0ZfRUVFRUVFRUVFTlNfMTRkZWZhdWx0X2RlbGV0ZUlTS19FRU5TXzlhbGxvY2F0b3JJU0tfRUVFRQBOU3QzX18yMTRkZWZhdWx0X2RlbGV0ZUlONmxhc3ppcDdmb3JtYXRzMjFkeW5hbWljX2RlY29tcHJlc3NvcjFJTlMxXzhkZWNvZGVyczEwYXJpdGhtZXRpY0lOUzFfMmlvMThfX2lmc3RyZWFtX3dyYXBwZXJJTlMxXzdzdHJlYW1zMTNtZW1vcnlfc3RyZWFtRUVFRUVOUzJfMTlyZWNvcmRfZGVjb21wcmVzc29ySUpOUzJfNWZpZWxkSU5TMl8zbGFzN3BvaW50MTBFTlMyXzIwc3RhbmRhcmRfZGlmZl9tZXRob2RJU0ZfRUVFRUVFRUVFRUUATjZsYXN6aXA3Zm9ybWF0czIxZHluYW1pY19kZWNvbXByZXNzb3IxSU5TXzhkZWNvZGVyczEwYXJpdGhtZXRpY0lOU18yaW8xOF9faWZzdHJlYW1fd3JhcHBlcklOU183c3RyZWFtczEzbWVtb3J5X3N0cmVhbUVFRUVFTlMwXzE5cmVjb3JkX2RlY29tcHJlc3NvcklKTlMwXzVmaWVsZElOUzBfM2xhczdwb2ludDEwRU5TMF8yMHN0YW5kYXJkX2RpZmZfbWV0aG9kSVNEX0VFRUVOU0JfSU5TQ183Z3BzdGltZUVOU0VfSVNIX0VFRUVFRUVFRQBOU3QzX18yMjBfX3NoYXJlZF9wdHJfcG9pbnRlcklQTjZsYXN6aXA3Zm9ybWF0czIxZHluYW1pY19kZWNvbXByZXNzb3IxSU5TMV84ZGVjb2RlcnMxMGFyaXRobWV0aWNJTlMxXzJpbzE4X19pZnN0cmVhbV93cmFwcGVySU5TMV83c3RyZWFtczEzbWVtb3J5X3N0cmVhbUVFRUVFTlMyXzE5cmVjb3JkX2RlY29tcHJlc3NvcklKTlMyXzVmaWVsZElOUzJfM2xhczdwb2ludDEwRU5TMl8yMHN0YW5kYXJkX2RpZmZfbWV0aG9kSVNGX0VFRUVOU0RfSU5TRV83Z3BzdGltZUVOU0dfSVNKX0VFRUVFRUVFRU5TXzE0ZGVmYXVsdF9kZWxldGVJU05fRUVOU185YWxsb2NhdG9ySVNOX0VFRUUATlN0M19fMjE0ZGVmYXVsdF9kZWxldGVJTjZsYXN6aXA3Zm9ybWF0czIxZHluYW1pY19kZWNvbXByZXNzb3IxSU5TMV84ZGVjb2RlcnMxMGFyaXRobWV0aWNJTlMxXzJpbzE4X19pZnN0cmVhbV93cmFwcGVySU5TMV83c3RyZWFtczEzbWVtb3J5X3N0cmVhbUVFRUVFTlMyXzE5cmVjb3JkX2RlY29tcHJlc3NvcklKTlMyXzVmaWVsZElOUzJfM2xhczdwb2ludDEwRU5TMl8yMHN0YW5kYXJkX2RpZmZfbWV0aG9kSVNGX0VFRUVOU0RfSU5TRV83Z3BzdGltZUVOU0dfSVNKX0VFRUVFRUVFRUVFAE42bGFzemlwN2Zvcm1hdHMyMWR5bmFtaWNfZGVjb21wcmVzc29yMUlOU184ZGVjb2RlcnMxMGFyaXRobWV0aWNJTlNfMmlvMThfX2lmc3RyZWFtX3dyYXBwZXJJTlNfN3N0cmVhbXMxM21lbW9yeV9zdHJlYW1FRUVFRU5TMF8xOXJlY29yZF9kZWNvbXByZXNzb3JJSk5TMF81ZmllbGRJTlMwXzNsYXM3cG9pbnQxMEVOUzBfMjBzdGFuZGFyZF9kaWZmX21ldGhvZElTRF9FRUVFTlNCX0lOU0NfM3JnYkVOU0VfSVNIX0VFRUVFRUVFRQBOU3QzX18yMjBfX3NoYXJlZF9wdHJfcG9pbnRlcklQTjZsYXN6aXA3Zm9ybWF0czIxZHluYW1pY19kZWNvbXByZXNzb3IxSU5TMV84ZGVjb2RlcnMxMGFyaXRobWV0aWNJTlMxXzJpbzE4X19pZnN0cmVhbV93cmFwcGVySU5TMV83c3RyZWFtczEzbWVtb3J5X3N0cmVhbUVFRUVFTlMyXzE5cmVjb3JkX2RlY29tcHJlc3NvcklKTlMyXzVmaWVsZElOUzJfM2xhczdwb2ludDEwRU5TMl8yMHN0YW5kYXJkX2RpZmZfbWV0aG9kSVNGX0VFRUVOU0RfSU5TRV8zcmdiRU5TR19JU0pfRUVFRUVFRUVFTlNfMTRkZWZhdWx0X2RlbGV0ZUlTTl9FRU5TXzlhbGxvY2F0b3JJU05fRUVFRQBOU3QzX18yMTRkZWZhdWx0X2RlbGV0ZUlONmxhc3ppcDdmb3JtYXRzMjFkeW5hbWljX2RlY29tcHJlc3NvcjFJTlMxXzhkZWNvZGVyczEwYXJpdGhtZXRpY0lOUzFfMmlvMThfX2lmc3RyZWFtX3dyYXBwZXJJTlMxXzdzdHJlYW1zMTNtZW1vcnlfc3RyZWFtRUVFRUVOUzJfMTlyZWNvcmRfZGVjb21wcmVzc29ySUpOUzJfNWZpZWxkSU5TMl8zbGFzN3BvaW50MTBFTlMyXzIwc3RhbmRhcmRfZGlmZl9tZXRob2RJU0ZfRUVFRU5TRF9JTlNFXzNyZ2JFTlNHX0lTSl9FRUVFRUVFRUVFRQBONmxhc3ppcDdmb3JtYXRzMjFkeW5hbWljX2RlY29tcHJlc3NvcjFJTlNfOGRlY29kZXJzMTBhcml0aG1ldGljSU5TXzJpbzE4X19pZnN0cmVhbV93cmFwcGVySU5TXzdzdHJlYW1zMTNtZW1vcnlfc3RyZWFtRUVFRUVOUzBfMTlyZWNvcmRfZGVjb21wcmVzc29ySUpOUzBfNWZpZWxkSU5TMF8zbGFzN3BvaW50MTBFTlMwXzIwc3RhbmRhcmRfZGlmZl9tZXRob2RJU0RfRUVFRU5TQl9JTlNDXzdncHN0aW1lRU5TRV9JU0hfRUVFRU5TQl9JTlNDXzNyZ2JFTlNFX0lTS19FRUVFRUVFRUUATlN0M19fMjIwX19zaGFyZWRfcHRyX3BvaW50ZXJJUE42bGFzemlwN2Zvcm1hdHMyMWR5bmFtaWNfZGVjb21wcmVzc29yMUlOUzFfOGRlY29kZXJzMTBhcml0aG1ldGljSU5TMV8yaW8xOF9faWZzdHJlYW1fd3JhcHBlcklOUzFfN3N0cmVhbXMxM21lbW9yeV9zdHJlYW1FRUVFRU5TMl8xOXJlY29yZF9kZWNvbXByZXNzb3JJSk5TMl81ZmllbGRJTlMyXzNsYXM3cG9pbnQxMEVOUzJfMjBzdGFuZGFyZF9kaWZmX21ldGhvZElTRl9FRUVFTlNEX0lOU0VfN2dwc3RpbWVFTlNHX0lTSl9FRUVFTlNEX0lOU0VfM3JnYkVOU0dfSVNNX0VFRUVFRUVFRU5TXzE0ZGVmYXVsdF9kZWxldGVJU1FfRUVOU185YWxsb2NhdG9ySVNRX0VFRUUATlN0M19fMjE0ZGVmYXVsdF9kZWxldGVJTjZsYXN6aXA3Zm9ybWF0czIxZHluYW1pY19kZWNvbXByZXNzb3IxSU5TMV84ZGVjb2RlcnMxMGFyaXRobWV0aWNJTlMxXzJpbzE4X19pZnN0cmVhbV93cmFwcGVySU5TMV83c3RyZWFtczEzbWVtb3J5X3N0cmVhbUVFRUVFTlMyXzE5cmVjb3JkX2RlY29tcHJlc3NvcklKTlMyXzVmaWVsZElOUzJfM2xhczdwb2ludDEwRU5TMl8yMHN0YW5kYXJkX2RpZmZfbWV0aG9kSVNGX0VFRUVOU0RfSU5TRV83Z3BzdGltZUVOU0dfSVNKX0VFRUVOU0RfSU5TRV8zcmdiRU5TR19JU01fRUVFRUVFRUVFRUUATlN0M19fMjIwX19zaGFyZWRfcHRyX3BvaW50ZXJJUDEwYnVmX3N0cmVhbU5TXzE0ZGVmYXVsdF9kZWxldGVJUzFfRUVOU185YWxsb2NhdG9ySVMxX0VFRUUATlN0M19fMjE0ZGVmYXVsdF9kZWxldGVJMTBidWZfc3RyZWFtRUUATlN0M19fMjIwX19zaGFyZWRfcHRyX3BvaW50ZXJJUE42bGFzemlwOGRlY29kZXJzMTBhcml0aG1ldGljSTEwYnVmX3N0cmVhbUVFTlNfMTRkZWZhdWx0X2RlbGV0ZUlTNV9FRU5TXzlhbGxvY2F0b3JJUzVfRUVFRQBOU3QzX18yMTRkZWZhdWx0X2RlbGV0ZUlONmxhc3ppcDhkZWNvZGVyczEwYXJpdGhtZXRpY0kxMGJ1Zl9zdHJlYW1FRUVFAE42bGFzemlwN2Zvcm1hdHMyNmR5bmFtaWNfZmllbGRfZGVjb21wcmVzc29ySU5TXzhkZWNvZGVyczEwYXJpdGhtZXRpY0kxMGJ1Zl9zdHJlYW1FRUVFAE5TdDNfXzIyMF9fc2hhcmVkX3B0cl9wb2ludGVySVBONmxhc3ppcDdmb3JtYXRzMjZkeW5hbWljX2ZpZWxkX2RlY29tcHJlc3NvcklOUzFfOGRlY29kZXJzMTBhcml0aG1ldGljSTEwYnVmX3N0cmVhbUVFRUVOU18xNGRlZmF1bHRfZGVsZXRlSVM4X0VFTlNfOWFsbG9jYXRvcklTOF9FRUVFAE5TdDNfXzIxNGRlZmF1bHRfZGVsZXRlSU42bGFzemlwN2Zvcm1hdHMyNmR5bmFtaWNfZmllbGRfZGVjb21wcmVzc29ySU5TMV84ZGVjb2RlcnMxMGFyaXRobWV0aWNJMTBidWZfc3RyZWFtRUVFRUVFAE42bGFzemlwN2Zvcm1hdHMyNmR5bmFtaWNfZGVjb21wcmVzc29yX2ZpZWxkSU5TXzhkZWNvZGVyczEwYXJpdGhtZXRpY0kxMGJ1Zl9zdHJlYW1FRU5TMF81ZmllbGRJaU5TMF8yMHN0YW5kYXJkX2RpZmZfbWV0aG9kSWlFRUVFRUUATlN0M19fMjIwX19zaGFyZWRfcHRyX3BvaW50ZXJJUE42bGFzemlwN2Zvcm1hdHMyNmR5bmFtaWNfZGVjb21wcmVzc29yX2ZpZWxkSU5TMV84ZGVjb2RlcnMxMGFyaXRobWV0aWNJMTBidWZfc3RyZWFtRUVOUzJfNWZpZWxkSWlOUzJfMjBzdGFuZGFyZF9kaWZmX21ldGhvZElpRUVFRUVFTlNfMTRkZWZhdWx0X2RlbGV0ZUlTQ19FRU5TXzlhbGxvY2F0b3JJU0NfRUVFRQBOU3QzX18yMTRkZWZhdWx0X2RlbGV0ZUlONmxhc3ppcDdmb3JtYXRzMjZkeW5hbWljX2RlY29tcHJlc3Nvcl9maWVsZElOUzFfOGRlY29kZXJzMTBhcml0aG1ldGljSTEwYnVmX3N0cmVhbUVFTlMyXzVmaWVsZElpTlMyXzIwc3RhbmRhcmRfZGlmZl9tZXRob2RJaUVFRUVFRUVFAE42bGFzemlwN2Zvcm1hdHMyNmR5bmFtaWNfZGVjb21wcmVzc29yX2ZpZWxkSU5TXzhkZWNvZGVyczEwYXJpdGhtZXRpY0kxMGJ1Zl9zdHJlYW1FRU5TMF81ZmllbGRJak5TMF8yMHN0YW5kYXJkX2RpZmZfbWV0aG9kSWpFRUVFRUUATlN0M19fMjIwX19zaGFyZWRfcHRyX3BvaW50ZXJJUE42bGFzemlwN2Zvcm1hdHMyNmR5bmFtaWNfZGVjb21wcmVzc29yX2ZpZWxkSU5TMV84ZGVjb2RlcnMxMGFyaXRobWV0aWNJMTBidWZfc3RyZWFtRUVOUzJfNWZpZWxkSWpOUzJfMjBzdGFuZGFyZF9kaWZmX21ldGhvZElqRUVFRUVFTlNfMTRkZWZhdWx0X2RlbGV0ZUlTQ19FRU5TXzlhbGxvY2F0b3JJU0NfRUVFRQBOU3QzX18yMTRkZWZhdWx0X2RlbGV0ZUlONmxhc3ppcDdmb3JtYXRzMjZkeW5hbWljX2RlY29tcHJlc3Nvcl9maWVsZElOUzFfOGRlY29kZXJzMTBhcml0aG1ldGljSTEwYnVmX3N0cmVhbUVFTlMyXzVmaWVsZElqTlMyXzIwc3RhbmRhcmRfZGlmZl9tZXRob2RJakVFRUVFRUVFAE42bGFzemlwN2Zvcm1hdHMyNmR5bmFtaWNfZGVjb21wcmVzc29yX2ZpZWxkSU5TXzhkZWNvZGVyczEwYXJpdGhtZXRpY0kxMGJ1Zl9zdHJlYW1FRU5TMF81ZmllbGRJYU5TMF8yMHN0YW5kYXJkX2RpZmZfbWV0aG9kSWFFRUVFRUUATlN0M19fMjIwX19zaGFyZWRfcHRyX3BvaW50ZXJJUE42bGFzemlwN2Zvcm1hdHMyNmR5bmFtaWNfZGVjb21wcmVzc29yX2ZpZWxkSU5TMV84ZGVjb2RlcnMxMGFyaXRobWV0aWNJMTBidWZfc3RyZWFtRUVOUzJfNWZpZWxkSWFOUzJfMjBzdGFuZGFyZF9kaWZmX21ldGhvZElhRUVFRUVFTlNfMTRkZWZhdWx0X2RlbGV0ZUlTQ19FRU5TXzlhbGxvY2F0b3JJU0NfRUVFRQBOU3QzX18yMTRkZWZhdWx0X2RlbGV0ZUlONmxhc3ppcDdmb3JtYXRzMjZkeW5hbWljX2RlY29tcHJlc3Nvcl9maWVsZElOUzFfOGRlY29kZXJzMTBhcml0aG1ldGljSTEwYnVmX3N0cmVhbUVFTlMyXzVmaWVsZElhTlMyXzIwc3RhbmRhcmRfZGlmZl9tZXRob2RJYUVFRUVFRUVFAE42bGFzemlwN2Zvcm1hdHMyNmR5bmFtaWNfZGVjb21wcmVzc29yX2ZpZWxkSU5TXzhkZWNvZGVyczEwYXJpdGhtZXRpY0kxMGJ1Zl9zdHJlYW1FRU5TMF81ZmllbGRJc05TMF8yMHN0YW5kYXJkX2RpZmZfbWV0aG9kSXNFRUVFRUUATlN0M19fMjIwX19zaGFyZWRfcHRyX3BvaW50ZXJJUE42bGFzemlwN2Zvcm1hdHMyNmR5bmFtaWNfZGVjb21wcmVzc29yX2ZpZWxkSU5TMV84ZGVjb2RlcnMxMGFyaXRobWV0aWNJMTBidWZfc3RyZWFtRUVOUzJfNWZpZWxkSXNOUzJfMjBzdGFuZGFyZF9kaWZmX21ldGhvZElzRUVFRUVFTlNfMTRkZWZhdWx0X2RlbGV0ZUlTQ19FRU5TXzlhbGxvY2F0b3JJU0NfRUVFRQBOU3QzX18yMTRkZWZhdWx0X2RlbGV0ZUlONmxhc3ppcDdmb3JtYXRzMjZkeW5hbWljX2RlY29tcHJlc3Nvcl9maWVsZElOUzFfOGRlY29kZXJzMTBhcml0aG1ldGljSTEwYnVmX3N0cmVhbUVFTlMyXzVmaWVsZElzTlMyXzIwc3RhbmRhcmRfZGlmZl9tZXRob2RJc0VFRUVFRUVFAE42bGFzemlwN2Zvcm1hdHMyNmR5bmFtaWNfZGVjb21wcmVzc29yX2ZpZWxkSU5TXzhkZWNvZGVyczEwYXJpdGhtZXRpY0kxMGJ1Zl9zdHJlYW1FRU5TMF81ZmllbGRJaE5TMF8yMHN0YW5kYXJkX2RpZmZfbWV0aG9kSWhFRUVFRUUATlN0M19fMjIwX19zaGFyZWRfcHRyX3BvaW50ZXJJUE42bGFzemlwN2Zvcm1hdHMyNmR5bmFtaWNfZGVjb21wcmVzc29yX2ZpZWxkSU5TMV84ZGVjb2RlcnMxMGFyaXRobWV0aWNJMTBidWZfc3RyZWFtRUVOUzJfNWZpZWxkSWhOUzJfMjBzdGFuZGFyZF9kaWZmX21ldGhvZEloRUVFRUVFTlNfMTRkZWZhdWx0X2RlbGV0ZUlTQ19FRU5TXzlhbGxvY2F0b3JJU0NfRUVFRQBOU3QzX18yMTRkZWZhdWx0X2RlbGV0ZUlONmxhc3ppcDdmb3JtYXRzMjZkeW5hbWljX2RlY29tcHJlc3Nvcl9maWVsZElOUzFfOGRlY29kZXJzMTBhcml0aG1ldGljSTEwYnVmX3N0cmVhbUVFTlMyXzVmaWVsZEloTlMyXzIwc3RhbmRhcmRfZGlmZl9tZXRob2RJaEVFRUVFRUVFAE42bGFzemlwN2Zvcm1hdHMyNmR5bmFtaWNfZGVjb21wcmVzc29yX2ZpZWxkSU5TXzhkZWNvZGVyczEwYXJpdGhtZXRpY0kxMGJ1Zl9zdHJlYW1FRU5TMF81ZmllbGRJdE5TMF8yMHN0YW5kYXJkX2RpZmZfbWV0aG9kSXRFRUVFRUUATlN0M19fMjIwX19zaGFyZWRfcHRyX3BvaW50ZXJJUE42bGFzemlwN2Zvcm1hdHMyNmR5bmFtaWNfZGVjb21wcmVzc29yX2ZpZWxkSU5TMV84ZGVjb2RlcnMxMGFyaXRobWV0aWNJMTBidWZfc3RyZWFtRUVOUzJfNWZpZWxkSXROUzJfMjBzdGFuZGFyZF9kaWZmX21ldGhvZEl0RUVFRUVFTlNfMTRkZWZhdWx0X2RlbGV0ZUlTQ19FRU5TXzlhbGxvY2F0b3JJU0NfRUVFRQBOU3QzX18yMTRkZWZhdWx0X2RlbGV0ZUlONmxhc3ppcDdmb3JtYXRzMjZkeW5hbWljX2RlY29tcHJlc3Nvcl9maWVsZElOUzFfOGRlY29kZXJzMTBhcml0aG1ldGljSTEwYnVmX3N0cmVhbUVFTlMyXzVmaWVsZEl0TlMyXzIwc3RhbmRhcmRfZGlmZl9tZXRob2RJdEVFRUVFRUVFADZMQVNaaXAAUDZMQVNaaXAAUEs2TEFTWmlwAGlpAHYAdmkAdmlpaWkAdmlpaQBpaWkAMTNEeW5hbWljTEFTWmlwAFAxM0R5bmFtaWNMQVNaaXAAUEsxM0R5bmFtaWNMQVNaaXAAdm9pZABib29sAGNoYXIAc2lnbmVkIGNoYXIAdW5zaWduZWQgY2hhcgBzaG9ydAB1bnNpZ25lZCBzaG9ydABpbnQAdW5zaWduZWQgaW50AGxvbmcAdW5zaWduZWQgbG9uZwBmbG9hdABkb3VibGUAc3RkOjpzdHJpbmcAc3RkOjpiYXNpY19zdHJpbmc8dW5zaWduZWQgY2hhcj4Ac3RkOjp3c3RyaW5nAHN0ZDo6dTE2c3RyaW5nAHN0ZDo6dTMyc3RyaW5nAGVtc2NyaXB0ZW46OnZhbABlbXNjcmlwdGVuOjptZW1vcnlfdmlldzxjaGFyPgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzxzaWduZWQgY2hhcj4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8dW5zaWduZWQgY2hhcj4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8c2hvcnQ+AGVtc2NyaXB0ZW46Om1lbW9yeV92aWV3PHVuc2lnbmVkIHNob3J0PgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzxpbnQ+AGVtc2NyaXB0ZW46Om1lbW9yeV92aWV3PHVuc2lnbmVkIGludD4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8bG9uZz4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8dW5zaWduZWQgbG9uZz4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8aW50OF90PgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzx1aW50OF90PgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzxpbnQxNl90PgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzx1aW50MTZfdD4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8aW50MzJfdD4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8dWludDMyX3Q+AGVtc2NyaXB0ZW46Om1lbW9yeV92aWV3PGZsb2F0PgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzxkb3VibGU+AGVtc2NyaXB0ZW46Om1lbW9yeV92aWV3PGxvbmcgZG91YmxlPgBOMTBlbXNjcmlwdGVuMTFtZW1vcnlfdmlld0llRUUATjEwZW1zY3JpcHRlbjExbWVtb3J5X3ZpZXdJZEVFAE4xMGVtc2NyaXB0ZW4xMW1lbW9yeV92aWV3SWZFRQBOMTBlbXNjcmlwdGVuMTFtZW1vcnlfdmlld0ltRUUATjEwZW1zY3JpcHRlbjExbWVtb3J5X3ZpZXdJbEVFAE4xMGVtc2NyaXB0ZW4xMW1lbW9yeV92aWV3SWpFRQBOMTBlbXNjcmlwdGVuMTFtZW1vcnlfdmlld0lpRUUATjEwZW1zY3JpcHRlbjExbWVtb3J5X3ZpZXdJdEVFAE4xMGVtc2NyaXB0ZW4xMW1lbW9yeV92aWV3SXNFRQBOMTBlbXNjcmlwdGVuMTFtZW1vcnlfdmlld0loRUUATjEwZW1zY3JpcHRlbjExbWVtb3J5X3ZpZXdJYUVFAE4xMGVtc2NyaXB0ZW4xMW1lbW9yeV92aWV3SWNFRQBOMTBlbXNjcmlwdGVuM3ZhbEUATlN0M19fMjEyYmFzaWNfc3RyaW5nSURpTlNfMTFjaGFyX3RyYWl0c0lEaUVFTlNfOWFsbG9jYXRvcklEaUVFRUUATlN0M19fMjIxX19iYXNpY19zdHJpbmdfY29tbW9uSUxiMUVFRQBOU3QzX18yMTJiYXNpY19zdHJpbmdJRHNOU18xMWNoYXJfdHJhaXRzSURzRUVOU185YWxsb2NhdG9ySURzRUVFRQBOU3QzX18yMTJiYXNpY19zdHJpbmdJd05TXzExY2hhcl90cmFpdHNJd0VFTlNfOWFsbG9jYXRvckl3RUVFRQBOU3QzX18yMTJiYXNpY19zdHJpbmdJaE5TXzExY2hhcl90cmFpdHNJaEVFTlNfOWFsbG9jYXRvckloRUVFRQBOU3QzX18yMTJiYXNpY19zdHJpbmdJY05TXzExY2hhcl90cmFpdHNJY0VFTlNfOWFsbG9jYXRvckljRUVFRQAtKyAgIDBYMHgAKG51bGwpAC0wWCswWCAwWC0weCsweCAweABpbmYASU5GAG5hbgBOQU4ALgB0ZXJtaW5hdGluZyB3aXRoICVzIGV4Y2VwdGlvbiBvZiB0eXBlICVzOiAlcwB0ZXJtaW5hdGluZyB3aXRoICVzIGV4Y2VwdGlvbiBvZiB0eXBlICVzAHRlcm1pbmF0aW5nIHdpdGggJXMgZm9yZWlnbiBleGNlcHRpb24AdGVybWluYXRpbmcAdW5jYXVnaHQAU3Q5ZXhjZXB0aW9uAE4xMF9fY3h4YWJpdjExNl9fc2hpbV90eXBlX2luZm9FAFN0OXR5cGVfaW5mbwBOMTBfX2N4eGFiaXYxMjBfX3NpX2NsYXNzX3R5cGVfaW5mb0UATjEwX19jeHhhYml2MTE3X19jbGFzc190eXBlX2luZm9FAHRlcm1pbmF0ZV9oYW5kbGVyIHVuZXhwZWN0ZWRseSByZXR1cm5lZABzdGQ6OmJhZF9hbGxvYwBTdDliYWRfYWxsb2MAU3QxMWxvZ2ljX2Vycm9yAFN0MTNydW50aW1lX2Vycm9yAFN0MTJsZW5ndGhfZXJyb3IAU3QxMm91dF9vZl9yYW5nZQBOMTBfX2N4eGFiaXYxMTdfX3BiYXNlX3R5cGVfaW5mb0UATjEwX19jeHhhYml2MTE5X19wb2ludGVyX3R5cGVfaW5mb0UATjEwX19jeHhhYml2MTIwX19mdW5jdGlvbl90eXBlX2luZm9FAE4xMF9fY3h4YWJpdjEyOV9fcG9pbnRlcl90b19tZW1iZXJfdHlwZV9pbmZvRQBQdXJlIHZpcnR1YWwgZnVuY3Rpb24gY2FsbGVkIQBOMTBfX2N4eGFiaXYxMjNfX2Z1bmRhbWVudGFsX3R5cGVfaW5mb0UAdgBEbgBiAGMAaABhAHMAdABpAGoAbABtAGYAZABOMTBfX2N4eGFiaXYxMjFfX3ZtaV9jbGFzc190eXBlX2luZm9FAF9fY3hhX2d1YXJkX2FjcXVpcmUgZGV0ZWN0ZWQgcmVjdXJzaXZlIGluaXRpYWxpemF0aW9uAHN0ZDo6YmFkX2Z1bmN0aW9uX2NhbGwATlN0M19fMjE3YmFkX2Z1bmN0aW9uX2NhbGxFAE5TdDNfXzIxNF9fc2hhcmVkX2NvdW50RQBOU3QzX18yMTlfX3NoYXJlZF93ZWFrX2NvdW50RQBtdXRleCBsb2NrIGZhaWxlZABiYXNpY19zdHJpbmcAdW5zcGVjaWZpZWQgZ2VuZXJpY19jYXRlZ29yeSBlcnJvcgBVbmtub3duIGVycm9yICVkAGdlbmVyaWMATlN0M19fMjI0X19nZW5lcmljX2Vycm9yX2NhdGVnb3J5RQBOU3QzX18yMTJfX2RvX21lc3NhZ2VFAE5TdDNfXzIxNGVycm9yX2NhdGVnb3J5RQB1bnNwZWNpZmllZCBzeXN0ZW1fY2F0ZWdvcnkgZXJyb3IAc3lzdGVtAE5TdDNfXzIyM19fc3lzdGVtX2Vycm9yX2NhdGVnb3J5RQBOU3QzX18yMTJzeXN0ZW1fZXJyb3JFADogAHZlY3Rvcg==";var o1=22368;function lR(y){return y}function uR(y){var d=/\b__Z[\w\d_]+/g;return y.replace(d,function(k){var u=k;return k===u?k:u+" ["+k+"]"})}function aR(){var y=new Error;if(!y.stack){try{throw new Error}catch(d){y=d}if(!y.stack)return"(no stack trace available)"}return y.stack.toString()}function f1(y){return _n(y)}var Qr={},A1=[];function K2(y){if(y){var d=Qr[y];d.refcount++}}function b2(y){if(!y||Qr[y])return y;for(var d in Qr)for(var k=+d,u=Qr[k].adjusted,E=u.length,r=0;r<E;r++)if(u[r]===y)return k;return y}function h1(y){var d=Qr[y];return d&&!d.caught&&(d.caught=!0,_e.uncaught_exceptions--),d&&(d.rethrown=!1),A1.push(y),K2(b2(y)),y}var l1=0;function u1(y,d,k){throw Qr[y]={ptr:y,adjusted:[y],type:d,destructor:k,refcount:0,caught:!1,rethrown:!1},l1=y,"uncaught_exception"in _e?_e.uncaught_exceptions++:_e.uncaught_exceptions=1,y}function a1(){return _e.uncaught_exceptions}function c1(){}function cn(y){switch(y){case 1:return 0;case 2:return 1;case 4:return 2;case 8:return 3;default:throw new TypeError("Unknown type size: "+y)}}function m1(){for(var y=new Array(256),d=0;d<256;++d)y[d]=String.fromCharCode(d);ts=y}var ts=void 0;function ct(y){for(var d="",k=y;$0[k];)d+=ts[$0[k++]];return d}var Lr={},qr={},ni={},v1=48,p1=57;function mn(y){if(y===void 0)return"_unknown";y=y.replace(/[^a-zA-Z0-9_]/g,"$");var d=y.charCodeAt(0);return d>=v1&&d<=p1?"_"+y:y}function vn(y,d){return y=mn(y),new Function("body","return function "+y+`() {
7
+ "use strict";var __exports__=(()=>{var gy=Object.create;var Ye=Object.defineProperty;var Ry=Object.getOwnPropertyDescriptor;var xy=Object.getOwnPropertyNames;var wy=Object.getPrototypeOf,_y=Object.prototype.hasOwnProperty;var Zy=(s,A,a)=>A in s?Ye(s,A,{enumerable:!0,configurable:!0,writable:!0,value:a}):s[A]=a;var m2=(s,A)=>()=>(A||s((A={exports:{}}).exports,A),A.exports),Fy=(s,A)=>{for(var a in A)Ye(s,a,{get:A[a],enumerable:!0})},Ei=(s,A,a,v)=>{if(A&&typeof A=="object"||typeof A=="function")for(let p of xy(A))!_y.call(s,p)&&p!==a&&Ye(s,p,{get:()=>A[p],enumerable:!(v=Ry(A,p))||v.enumerable});return s},Bi=(s,A,a)=>(Ei(s,A,"default"),a&&Ei(a,A,"default")),zf=(s,A,a)=>(a=s!=null?gy(wy(s)):{},Ei(A||!s||!s.__esModule?Ye(a,"default",{value:s,enumerable:!0}):a,s)),ky=s=>Ei(Ye({},"__esModule",{value:!0}),s);var Ef=(s,A,a)=>(Zy(s,typeof A!="symbol"?A+"":A,a),a);var v2=m2((bR,Bf)=>{Bf.exports=globalThis.loaders});var g2=m2(()=>{});var qf=m2(()=>{});var ri={};Fy(ri,{PotreeBinLoader:()=>Jf,PotreeHierarchyChunkLoader:()=>Ci,PotreeLoader:()=>Si,PotreeSource:()=>kh});Bi(ri,zf(v2(),1));var Vy="4.4.0-alpha.12",Si={dataType:null,batchType:null,name:"potree metadata",id:"potree",module:"potree",version:Vy,extensions:["js"],mimeTypes:["application/json"],testText:s=>s.indexOf("octreeDir")>=0,parse:s=>JSON.parse(new TextDecoder().decode(s)),parseTextSync:s=>JSON.parse(s),options:{potree:{}}};function p2(s){let A=Wy(s);return Ny(A)}function Wy(s,A=0){let a=new DataView(s),v=[],p={};A=Sf(a,A,p),v.push(p);let g=[p];for(;v.length>0;){let R=v.shift(),x=1;for(let F=0;F<8;F++){if(R&&R.header.childMask&x){let W={};A=Sf(a,A,W),W.name=R.name+F,v.push(W),g.push(W),R.header.childCount++}x=x*2}if(A===a.byteLength)break}return g}function Sf(s,A,a){return a.header=a.header||{},a.header.childMask=s.getUint8(A),a.header.childCount=0,a.pointCount=s.getUint32(A+1,!0),a.name="",A+=5,A}function Ny(s,A={}){A={...{spacing:100},...A};let v=s[0],p={};for(let g of s){let{name:R}=g,x=parseInt(R.charAt(R.length-1),10),F=R.substring(0,R.length-1),W=p[F],X=R.length-1;g.level=X,g.hasChildren=Boolean(g.header.childCount),g.children=[],g.childrenByIndex=new Array(8).fill(null),g.spacing=(A?.spacing||0)/Math.pow(2,X),g.type="pointcloud",g.id=g.name,W&&(W.children.push(g),W.childrenByIndex[x]=g),p[R]=g}return v}var Xy="4.4.0-alpha.12",Ci={dataType:null,batchType:null,name:"potree Hierarchy Chunk",id:"potree-hrc",module:"potree",version:Xy,extensions:["hrc"],mimeTypes:["application/octet-stream"],parse:async(s,A)=>p2(s),parseSync:(s,A)=>p2(s),options:{potree:{}},binary:!0};function Cf(s,A,a,v){return null}var Jf={dataType:null,batchType:null,name:"potree Binary Point Attributes",id:"potree",extensions:["bin"],mimeTypes:["application/octet-stream"],parseSync:Ty,binary:!0,options:{}};function Ty(s,A){let a={};return Cf(s,0,A,a),a}var sn=zf(v2(),1);function If(s,A){return Of(s||{},A)}function Of(s,A,a=0){if(a>3)return A;let v={...s};for(let[p,g]of Object.entries(A))g&&typeof g=="object"&&!Array.isArray(g)?v[p]=Of(v[p]||{},A[p],a+1):v[p]=A[p];return v}var Uy="",jf={};function He(s){for(let A in jf)if(s.startsWith(A)){let a=jf[A];s=s.replace(A,a)}return!s.startsWith("http://")&&!s.startsWith("https://")&&(s=`${Uy}${s}`),s}var M2=class{optionsType;options;data;url;loadOptions;fetch;_needsRefresh=!0;constructor(A,a,v){v?this.options=If({...v,core:M2.defaultOptions},a):this.options={...a},this.data=A,this.url=typeof A=="string"?He(A):"",this.loadOptions={...this.options.core?.loadOptions},this.fetch=Gy(this.loadOptions)}setProps(A){this.options=Object.assign(this.options,A),this.setNeedsRefresh()}setNeedsRefresh(){this._needsRefresh=!0}getNeedsRefresh(A=!0){let a=this._needsRefresh;return A&&(this._needsRefresh=!1),a}},le=M2;Ef(le,"defaultOptions",{core:{type:"auto",attributions:[],loadOptions:{},loaders:[]}});function Gy(s){let A=s?.core?.fetch;if(A&&typeof A=="function")return(v,p)=>A(v,p);let a=s?.fetch;return a&&typeof a!="function"?v=>fetch(v,a):v=>fetch(v)}var Pf={name:"LAS",id:"las",module:"las",extensions:["las","laz"],mimeTypes:["application/octet-stream"],text:!1,binary:!0,tests:["LASF"]};var zy="4.4.0-alpha.12",Yf={...Pf,dataType:null,batchType:null,version:zy,worker:!0,options:{las:{shape:"mesh",fp64:!1,skip:1,colorDepth:8}}};function Hf(s){switch(s.constructor){case Int8Array:return"int8";case Uint8Array:case Uint8ClampedArray:return"uint8";case Int16Array:return"int16";case Uint16Array:return"uint16";case Int32Array:return"int32";case Uint32Array:return"uint32";case Float32Array:return"float32";case Float64Array:return"float64";default:return"null"}}function y2(s){let A=1/0,a=1/0,v=1/0,p=-1/0,g=-1/0,R=-1/0,x=s.POSITION?s.POSITION.value:[],F=x&&x.length;for(let W=0;W<F;W+=3){let X=x[W],N=x[W+1],S=x[W+2];A=X<A?X:A,a=N<a?N:a,v=S<v?S:v,p=X>p?X:p,g=N>g?N:g,R=S>R?S:R}return[[A,a,v],[p,g,R]]}function d2(s,A={}){return{fields:Ey(s),metadata:A}}function Df(s,A,a){let v=Hf(A.value),p=a||Qf(A);return{name:s,type:{type:"fixed-size-list",listSize:A.size,children:[{name:"value",type:v}]},nullable:!1,metadata:p}}function Ey(s){let A=[];for(let a in s){let v=s[a];A.push(Df(a,v))}return A}function Qf(s){let A={};return"byteOffset"in s&&(A.byteOffset=s.byteOffset.toString(10)),"byteStride"in s&&(A.byteStride=s.byteStride.toString(10)),"normalized"in s&&(A.normalized=s.normalized.toString()),A}function Lf(s,A){let a=By(s);return d2(A,a)}function By(s){let A={};return A.las_pointsOffset=s.pointsOffset.toString(10),A.las_pointsFormatId=s.pointsFormatId.toString(10),A.las_pointsStructSize=s.pointsStructSize.toString(10),A.las_pointsCount=s.pointsCount.toString(10),A.las_scale=JSON.stringify(s.scale),A.las_offset=JSON.stringify(s.offset),s.maxs!==void 0&&(A.las_maxs=JSON.stringify(s.maxs)),s.mins!==void 0&&(A.las_mins=JSON.stringify(s.mins)),A.las_totalToRead=s.totalToRead.toString(10),A.las_pointsFortotalReadmatId=s.totalRead.toString(10),s.versionAsString!==void 0&&(A.las_versionAsString=s.versionAsString),s.isCompressed!==void 0&&(A.las_isCompressed=s.isCompressed.toString()),A}function R2(){var s=typeof s<"u"?s:{},A={},a;for(a in s)s.hasOwnProperty(a)&&(A[a]=s[a]);var v=[],p="./this.program",g=function(y,d){throw d},R=!1,x=!1,F=!1,W=!1;R=typeof window=="object",x=typeof importScripts=="function",F=typeof process=="object"&&typeof process.versions=="object"&&typeof process.versions.node=="string",W=!R&&!F&&!x;var X="";function N(y){return s.locateFile?s.locateFile(y,X):X+y}var S,H,j,q,K,r0;F?(x?X=g2().dirname(X)+"/":X=(typeof __dirname<"u"?__dirname:"")+"/",S=function(d,k){var u=lr(d);return u?k?u:u.toString():(K||(K=qf()),r0||(r0=g2()),d=r0.normalize(d),K.readFileSync(d,k?null:"utf8"))},j=function(d){var k=S(d,!0);return k.buffer||(k=new Uint8Array(k)),Hr(k.buffer),k},process.argv.length>1&&(p=process.argv[1].replace(/\\/g,"/")),v=process.argv.slice(2),typeof module<"u"&&(module.exports=s),process.on("uncaughtException",function(y){if(!(y instanceof w1))throw y}),process.on("unhandledRejection",xr),g=function(y){process.exit(y)},s.inspect=function(){return"[Emscripten Module object]"}):W?(typeof read<"u"&&(S=function(d){var k=lr(d);return k?us(k):read(d)}),j=function(d){var k;return k=lr(d),k||(typeof readbuffer=="function"?new Uint8Array(readbuffer(d)):(k=read(d,"binary"),Hr(typeof k=="object"),k))},typeof scriptArgs<"u"?v=scriptArgs:typeof arguments<"u"&&(v=arguments),typeof quit=="function"&&(g=function(y){quit(y)}),typeof print<"u"&&(typeof console>"u"&&(console={}),console.log=print,console.warn=console.error=typeof printErr<"u"?printErr:print)):(R||x)&&(x?X=self.location.href:document.currentScript&&(X=document.currentScript.src),X.indexOf("blob:")!==0?X=X.substr(0,X.lastIndexOf("/")+1):X="",S=function(d){try{var k=new XMLHttpRequest;return k.open("GET",d,!1),k.send(null),k.responseText}catch(E){var u=lr(d);if(u)return us(u);throw E}},x&&(j=function(d){try{var k=new XMLHttpRequest;return k.open("GET",d,!1),k.responseType="arraybuffer",k.send(null),new Uint8Array(k.response)}catch(E){var u=lr(d);if(u)return u;throw E}}),H=function(d,k,u){var E=new XMLHttpRequest;E.open("GET",d,!0),E.responseType="arraybuffer",E.onload=function(){if(E.status==200||E.status==0&&E.response){k(E.response);return}var Z=lr(d);if(Z){k(Z.buffer);return}u()},E.onerror=u,E.send(null)},q=function(y){document.title=y});var o0=s.print||console.log.bind(console),u0=s.printErr||console.warn.bind(console);for(a in A)A.hasOwnProperty(a)&&(s[a]=A[a]);A=null,s.arguments&&(v=s.arguments),s.thisProgram&&(p=s.thisProgram),s.quit&&(g=s.quit);var p0=16;function l0(y){var d=nt[ln>>2],k=d+y+15&-16;return nt[ln>>2]=k,d}function A0(y){switch(y){case"i1":case"i8":return 1;case"i16":return 2;case"i32":return 4;case"i64":return 8;case"float":return 4;case"double":return 8;default:{if(y[y.length-1]==="*")return 4;if(y[0]==="i"){var d=Number(y.substr(1));return Hr(d%8===0,"getNativeTypeSize invalid bits "+d+", type "+y),d/8}else return 0}}}function U0(y){U0.shown||(U0.shown={}),U0.shown[y]||(U0.shown[y]=1,u0(y))}var W0=1,wt=new Array(0),or={};function fr(y,d,k){return k&&k.length?s["dynCall_"+y].apply(null,[d].concat(k)):s["dynCall_"+y].call(null,d)}var yr=0,fn=function(y){yr=y},Vh=function(){return yr},C2=8,Wh;s.wasmBinary&&(Wh=s.wasmBinary);var J2;s.noExitRuntime&&(J2=s.noExitRuntime);function iR(y,d,k,u){switch(k=k||"i8",k.charAt(k.length-1)==="*"&&(k="i32"),k){case"i1":Ar[y>>0]=d;break;case"i8":Ar[y>>0]=d;break;case"i16":gr[y>>1]=d;break;case"i32":nt[y>>2]=d;break;case"i64":an=[d>>>0,(Dr=d,+bh(Dr)>=1?Dr>0?(el(+rl(Dr/4294967296),4294967295)|0)>>>0:~~+tl((Dr-+(~~Dr>>>0))/4294967296)>>>0:0)],nt[y>>2]=an[0],nt[y+4>>2]=an[1];break;case"float":An[y>>2]=d;break;case"double":hn[y>>3]=d;break;default:xr("invalid type for setValue: "+k)}}var I2=!1,Nh=0;function Hr(y,d){y||xr("Assertion failed: "+d)}function Xh(y){var d=s["_"+y];return Hr(d,"Cannot call unknown function "+y+", make sure it is exported"),d}function nR(y,d,k,u,E){var r={string:function(m0){var X0=0;if(m0!=null&&m0!==0){var D0=(m0.length<<2)+1;X0=as(D0),P2(m0,X0,D0)}return X0},array:function(m0){var X0=as(m0.length);return Ih(m0,X0),X0}};function Z(m0){return d==="string"?j2(m0):d==="boolean"?Boolean(m0):m0}var C=Xh(y),D=[],Y=0;if(u)for(var z=0;z<u.length;z++){var v0=r[k[z]];v0?(Y===0&&(Y=R1()),D[z]=v0(u[z])):D[z]=u[z]}var x0=C.apply(null,D);return x0=Z(x0),Y!==0&&g1(Y),x0}var sR=3,O2=typeof TextDecoder<"u"?new TextDecoder("utf8"):void 0;function Th(y,d,k){for(var u=d+k,E=d;y[E]&&!(E>=u);)++E;if(E-d>16&&y.subarray&&O2)return O2.decode(y.subarray(d,E));for(var r="";d<E;){var Z=y[d++];if(!(Z&128)){r+=String.fromCharCode(Z);continue}var C=y[d++]&63;if((Z&224)==192){r+=String.fromCharCode((Z&31)<<6|C);continue}var D=y[d++]&63;if((Z&240)==224?Z=(Z&15)<<12|C<<6|D:Z=(Z&7)<<18|C<<12|D<<6|y[d++]&63,Z<65536)r+=String.fromCharCode(Z);else{var Y=Z-65536;r+=String.fromCharCode(55296|Y>>10,56320|Y&1023)}}return r}function j2(y,d){return y?Th($0,y,d):""}function Uh(y,d,k,u){if(!(u>0))return 0;for(var E=k,r=k+u-1,Z=0;Z<y.length;++Z){var C=y.charCodeAt(Z);if(C>=55296&&C<=57343){var D=y.charCodeAt(++Z);C=65536+((C&1023)<<10)|D&1023}if(C<=127){if(k>=r)break;d[k++]=C}else if(C<=2047){if(k+1>=r)break;d[k++]=192|C>>6,d[k++]=128|C&63}else if(C<=65535){if(k+2>=r)break;d[k++]=224|C>>12,d[k++]=128|C>>6&63,d[k++]=128|C&63}else{if(k+3>=r)break;d[k++]=240|C>>18,d[k++]=128|C>>12&63,d[k++]=128|C>>6&63,d[k++]=128|C&63}}return d[k]=0,k-E}function P2(y,d,k){return Uh(y,$0,d,k)}function Gh(y){for(var d=0,k=0;k<y.length;++k){var u=y.charCodeAt(k);u>=55296&&u<=57343&&(u=65536+((u&1023)<<10)|y.charCodeAt(++k)&1023),u<=127?++d:u<=2047?d+=2:u<=65535?d+=3:d+=4}return d}var Y2=typeof TextDecoder<"u"?new TextDecoder("utf-16le"):void 0;function zh(y,d){for(var k=y,u=k>>1,E=u+d/2;!(u>=E)&&ei[u];)++u;if(k=u<<1,k-y>32&&Y2)return Y2.decode($0.subarray(y,k));for(var r=0,Z="";;){var C=gr[y+r*2>>1];if(C==0||r==d/2)return Z;++r,Z+=String.fromCharCode(C)}}function Eh(y,d,k){if(k===void 0&&(k=2147483647),k<2)return 0;k-=2;for(var u=d,E=k<y.length*2?k/2:y.length,r=0;r<E;++r){var Z=y.charCodeAt(r);gr[d>>1]=Z,d+=2}return gr[d>>1]=0,d-u}function Bh(y){return y.length*2}function Sh(y,d){for(var k=0,u="";!(k>=d/4);){var E=nt[y+k*4>>2];if(E==0)break;if(++k,E>=65536){var r=E-65536;u+=String.fromCharCode(55296|r>>10,56320|r&1023)}else u+=String.fromCharCode(E)}return u}function Ch(y,d,k){if(k===void 0&&(k=2147483647),k<4)return 0;for(var u=d,E=u+k-4,r=0;r<y.length;++r){var Z=y.charCodeAt(r);if(Z>=55296&&Z<=57343){var C=y.charCodeAt(++r);Z=65536+((Z&1023)<<10)|C&1023}if(nt[d>>2]=Z,d+=4,d+4>E)break}return nt[d>>2]=0,d-u}function Jh(y){for(var d=0,k=0;k<y.length;++k){var u=y.charCodeAt(k);u>=55296&&u<=57343&&++k,d+=4}return d}function Ih(y,d){Ar.set(y,d)}function oR(y,d,k){for(var u=0;u<y.length;++u)Ar[d++>>0]=y.charCodeAt(u);k||(Ar[d>>0]=0)}var dr,Ar,$0,gr,ei,nt,Yt,An,hn;function Oh(y){dr=y,s.HEAP8=Ar=new Int8Array(y),s.HEAP16=gr=new Int16Array(y),s.HEAP32=nt=new Int32Array(y),s.HEAPU8=$0=new Uint8Array(y),s.HEAPU16=ei=new Uint16Array(y),s.HEAPU32=Yt=new Uint32Array(y),s.HEAPF32=An=new Float32Array(y),s.HEAPF64=hn=new Float64Array(y)}var fR=22384,jh=5265264,ln=22176,H2=s.INITIAL_MEMORY||167772160;s.buffer?dr=s.buffer:dr=new ArrayBuffer(H2),H2=dr.byteLength,Oh(dr),nt[ln>>2]=jh;function ii(y){for(;y.length>0;){var d=y.shift();if(typeof d=="function"){d(s);continue}var k=d.func;typeof k=="number"?d.arg===void 0?s.dynCall_v(k):s.dynCall_vi(k,d.arg):k(d.arg===void 0?null:d.arg)}}var D2=[],Q2=[],Ph=[],L2=[],Yh=!1,Hh=!1;function Dh(){if(s.preRun)for(typeof s.preRun=="function"&&(s.preRun=[s.preRun]);s.preRun.length;)$h(s.preRun.shift());ii(D2)}function Qh(){Yh=!0,ii(Q2)}function Lh(){ii(Ph)}function AR(){Hh=!0}function qh(){if(s.postRun)for(typeof s.postRun=="function"&&(s.postRun=[s.postRun]);s.postRun.length;)Kh(s.postRun.shift());ii(L2)}function $h(y){D2.unshift(y)}function Kh(y){L2.unshift(y)}var bh=Math.abs,tl=Math.ceil,rl=Math.floor,el=Math.min,Rr=0,un=null,ye=null;function il(y){Rr++,s.monitorRunDependencies&&s.monitorRunDependencies(Rr)}function nl(y){if(Rr--,s.monitorRunDependencies&&s.monitorRunDependencies(Rr),Rr==0&&(un!==null&&(clearInterval(un),un=null),ye)){var d=ye;ye=null,d()}}s.preloadedImages={},s.preloadedAudios={};function xr(y){throw s.onAbort&&s.onAbort(y),y+="",o0(y),u0(y),I2=!0,Nh=1,y="abort("+y+"). Build with -s ASSERTIONS=1 for more info.",y}var Tt=null;function sl(y,d){return String.prototype.startsWith?y.startsWith(d):y.indexOf(d)===0}var q2="data:application/octet-stream;base64,";function $2(y){return sl(y,q2)}var hR="file://",Dr,an;Q2.push({func:function(){d1()}}),Tt="data:application/octet-stream;base64,AAAAAAAAAAAPDg0MCwoJCA4AAQMGCgoJDQECBAcLCwoMAwQFCAwMCwsGBwgJDQ0MCgoLDA0ODg0JCgsMDQ4PDggJCgsMDQ4PAAECAwQFBgcBAAECAwQFBgIBAAECAwQFAwIBAAECAwQEAwIBAAECAwUEAwIBAAECBgUEAwIBAAEHBgUEAwIBAMgPAAAoDQAAEBAAACAQAADIDwAAUA0AABAQAAAgEAAAEQAKABEREQAAAAAFAAAAAAAACQAAAAALAAAAAAAAAAARAA8KERERAwoHAAEACQsLAAAJBgsAAAsABhEAAAAREREAAAAAAAAAAAAAAAAAAAAACwAAAAAAAAAAEQAKChEREQAKAAACAAkLAAAACQALAAALAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwAAAAAAAAAAAAAAAwAAAAADAAAAAAJDAAAAAAADAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAAAAAAAAAAAAAAANAAAABA0AAAAACQ4AAAAAAA4AAA4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAADwAAAAAPAAAAAAkQAAAAAAAQAAAQAAASAAAAEhISAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABIAAAASEhIAAAAAAAAJAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAALAAAAAAAAAAAAAAAKAAAAAAoAAAAACQsAAAAAAAsAAAsAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADAAAAAAAAAAAAAAADAAAAAAMAAAAAAkMAAAAAAAMAAAMAAAwMTIzNDU2Nzg5QUJDREVGGRJEOwI/LEcUPTMwChsGRktFNw9JDo4XA0AdPGkrNh9KLRwBICUpIQgMFRYiLhA4Pgs0MRhkdHV2L0EJfzkRI0MyQomKiwUEJignDSoeNYwHGkiTE5SVAAAAAAAAAAAASWxsZWdhbCBieXRlIHNlcXVlbmNlAERvbWFpbiBlcnJvcgBSZXN1bHQgbm90IHJlcHJlc2VudGFibGUATm90IGEgdHR5AFBlcm1pc3Npb24gZGVuaWVkAE9wZXJhdGlvbiBub3QgcGVybWl0dGVkAE5vIHN1Y2ggZmlsZSBvciBkaXJlY3RvcnkATm8gc3VjaCBwcm9jZXNzAEZpbGUgZXhpc3RzAFZhbHVlIHRvbyBsYXJnZSBmb3IgZGF0YSB0eXBlAE5vIHNwYWNlIGxlZnQgb24gZGV2aWNlAE91dCBvZiBtZW1vcnkAUmVzb3VyY2UgYnVzeQBJbnRlcnJ1cHRlZCBzeXN0ZW0gY2FsbABSZXNvdXJjZSB0ZW1wb3JhcmlseSB1bmF2YWlsYWJsZQBJbnZhbGlkIHNlZWsAQ3Jvc3MtZGV2aWNlIGxpbmsAUmVhZC1vbmx5IGZpbGUgc3lzdGVtAERpcmVjdG9yeSBub3QgZW1wdHkAQ29ubmVjdGlvbiByZXNldCBieSBwZWVyAE9wZXJhdGlvbiB0aW1lZCBvdXQAQ29ubmVjdGlvbiByZWZ1c2VkAEhvc3QgaXMgZG93bgBIb3N0IGlzIHVucmVhY2hhYmxlAEFkZHJlc3MgaW4gdXNlAEJyb2tlbiBwaXBlAEkvTyBlcnJvcgBObyBzdWNoIGRldmljZSBvciBhZGRyZXNzAEJsb2NrIGRldmljZSByZXF1aXJlZABObyBzdWNoIGRldmljZQBOb3QgYSBkaXJlY3RvcnkASXMgYSBkaXJlY3RvcnkAVGV4dCBmaWxlIGJ1c3kARXhlYyBmb3JtYXQgZXJyb3IASW52YWxpZCBhcmd1bWVudABBcmd1bWVudCBsaXN0IHRvbyBsb25nAFN5bWJvbGljIGxpbmsgbG9vcABGaWxlbmFtZSB0b28gbG9uZwBUb28gbWFueSBvcGVuIGZpbGVzIGluIHN5c3RlbQBObyBmaWxlIGRlc2NyaXB0b3JzIGF2YWlsYWJsZQBCYWQgZmlsZSBkZXNjcmlwdG9yAE5vIGNoaWxkIHByb2Nlc3MAQmFkIGFkZHJlc3MARmlsZSB0b28gbGFyZ2UAVG9vIG1hbnkgbGlua3MATm8gbG9ja3MgYXZhaWxhYmxlAFJlc291cmNlIGRlYWRsb2NrIHdvdWxkIG9jY3VyAFN0YXRlIG5vdCByZWNvdmVyYWJsZQBQcmV2aW91cyBvd25lciBkaWVkAE9wZXJhdGlvbiBjYW5jZWxlZABGdW5jdGlvbiBub3QgaW1wbGVtZW50ZWQATm8gbWVzc2FnZSBvZiBkZXNpcmVkIHR5cGUASWRlbnRpZmllciByZW1vdmVkAERldmljZSBub3QgYSBzdHJlYW0ATm8gZGF0YSBhdmFpbGFibGUARGV2aWNlIHRpbWVvdXQAT3V0IG9mIHN0cmVhbXMgcmVzb3VyY2VzAExpbmsgaGFzIGJlZW4gc2V2ZXJlZABQcm90b2NvbCBlcnJvcgBCYWQgbWVzc2FnZQBGaWxlIGRlc2NyaXB0b3IgaW4gYmFkIHN0YXRlAE5vdCBhIHNvY2tldABEZXN0aW5hdGlvbiBhZGRyZXNzIHJlcXVpcmVkAE1lc3NhZ2UgdG9vIGxhcmdlAFByb3RvY29sIHdyb25nIHR5cGUgZm9yIHNvY2tldABQcm90b2NvbCBub3QgYXZhaWxhYmxlAFByb3RvY29sIG5vdCBzdXBwb3J0ZWQAU29ja2V0IHR5cGUgbm90IHN1cHBvcnRlZABOb3Qgc3VwcG9ydGVkAFByb3RvY29sIGZhbWlseSBub3Qgc3VwcG9ydGVkAEFkZHJlc3MgZmFtaWx5IG5vdCBzdXBwb3J0ZWQgYnkgcHJvdG9jb2wAQWRkcmVzcyBub3QgYXZhaWxhYmxlAE5ldHdvcmsgaXMgZG93bgBOZXR3b3JrIHVucmVhY2hhYmxlAENvbm5lY3Rpb24gcmVzZXQgYnkgbmV0d29yawBDb25uZWN0aW9uIGFib3J0ZWQATm8gYnVmZmVyIHNwYWNlIGF2YWlsYWJsZQBTb2NrZXQgaXMgY29ubmVjdGVkAFNvY2tldCBub3QgY29ubmVjdGVkAENhbm5vdCBzZW5kIGFmdGVyIHNvY2tldCBzaHV0ZG93bgBPcGVyYXRpb24gYWxyZWFkeSBpbiBwcm9ncmVzcwBPcGVyYXRpb24gaW4gcHJvZ3Jlc3MAU3RhbGUgZmlsZSBoYW5kbGUAUmVtb3RlIEkvTyBlcnJvcgBRdW90YSBleGNlZWRlZABObyBtZWRpdW0gZm91bmQAV3JvbmcgbWVkaXVtIHR5cGUATm8gZXJyb3IgaW5mb3JtYXRpb24AAAAAAADgFgAAmRgAAGAQAAAAAAAA4BYAAEIZAABgEAAAAAAAAOAWAAAqGgAASA8AAAAAAAC4FgAANBsAAOAWAACfGgAAMAoAAAAAAADgFgAAaRsAAEgPAAAAAAAA4BYAAIobAABIDwAAAAAAALgWAAAPHAAA4BYAAHwcAABIDwAAAAAAAOAWAACVHAAASA8AAAAAAADgFgAAHh0AAEgPAAAAAAAA4BYAAHcdAABIDwAAAAAAAOAWAACQHQAASA8AAAAAAADgFgAAQh4AAEgPAAAAAAAA4BYAAIceAABgEAAAAAAAAOAWAACkHwAASA8AAAAAAAC4FgAAZyAAAOAWAADkHwAA8AoAAAAAAADgFgAAjyAAAGAQAAAAAAAAuBYAAMMiAADgFgAAAiIAABgLAAAAAAAA4BYAAOEiAABgEAAAAAAAAOAWAADQJAAAGAsAAAAAAADgFgAAkSUAAGAQAAAAAAAA4BYAAIAnAAAYCwAAAAAAAOAWAAA9KAAAYBAAAAAAAADgFgAAJCoAABgLAAAAAAAA4BYAAOkqAABgEAAAAAAAAOAWAADgLAAA8AoAAAAAAADgFgAAui0AAGAQAAAAAAAA4BYAANsvAADwCgAAAAAAAOAWAADTMAAAYBAAAAAAAADgFgAAMDMAAPAKAAAAAAAA4BYAACQ0AABgEAAAAAAAAOAWAAB5NgAA8AoAAAAAAADgFgAAizcAAGAQAAAAAAAA4BYAABw6AABgEAAAAAAAAOAWAACdOgAAYBAAAAAAAADgFgAAXjsAAPAKAAAAAAAA4BYAALU7AABgEAAAAAAAAOAWAADMPAAAGAsAAAAAAADgFgAATz0AAGAQAAAAAAAA4BYAAL4+AAAYCwAAAAAAAOAWAABBPwAAYBAAAAAAAADgFgAAsEAAABgLAAAAAAAA4BYAADNBAABgEAAAAAAAAOAWAACiQgAAGAsAAAAAAADgFgAAJUMAAGAQAAAAAAAA4BYAAJREAAAYCwAAAAAAAOAWAAAXRQAAYBAAAAAAAADgFgAAhkYAABgLAAAAAAAA4BYAAAlHAABgEAAAAAAAALgWAAB4SAAAiBcAAIBIAAAAAAAAIA0AAIgXAACJSAAAAQAAACANAAC4FgAAqkgAAIgXAAC6SAAAAAAAAEgNAACIFwAAy0gAAAEAAABIDQAAuBYAABhMAAC4FgAAN0wAALgWAABWTAAAuBYAAHVMAAC4FgAAlEwAALgWAACzTAAAuBYAANJMAAC4FgAA8UwAALgWAAAQTQAAuBYAAC9NAAC4FgAATk0AALgWAABtTQAAuBYAAIxNAACkFwAAn00AAAAAAAABAAAA8A0AAAAAAAC4FgAA4U0AAKQXAAAHTgAAAAAAAAEAAADwDQAAAAAAAKQXAABJTgAAAAAAAAEAAADwDQAAAAAAAKQXAACITgAAAAAAAAEAAADwDQAAAAAAAKQXAADHTgAAAAAAAAEAAADwDQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP//////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAALgWAADNTwAA4BYAAC1QAAAADwAAAAAAAOAWAADaTwAAEA8AAAAAAAC4FgAA+08AAOAWAAAIUAAA8A4AAAAAAADgFgAAhlAAAOgOAAAAAAAA4BYAAJNQAADoDgAAAAAAAOAWAACjUAAA6A4AAAAAAADgFgAAtVAAADgPAAAAAAAA4BYAAMZQAAA4DwAAAAAAAOAWAADXUAAAAA8AAAAAAADgFgAA+VAAAHgPAAAAAAAA4BYAAB1RAAAADwAAAAAAAOAWAABCUQAAeA8AAAAAAADgFgAAjlEAAAAPAAAAAAAAbBcAALZRAABsFwAAuFEAAGwXAAC7UQAAbBcAAL1RAABsFwAAv1EAAGwXAADBUQAAbBcAAMNRAABsFwAAxVEAAGwXAADHUQAAbBcAAMlRAABsFwAAy1EAAGwXAADNUQAAbBcAAM9RAABsFwAA0VEAAOAWAADTUQAA8A4AAAAAAADgFgAARlIAAOgOAAAAAAAAuBYAAGJSAACkFwAAe1IAAAAAAAABAAAAWBAAAAAAAADgFgAA9FIAAIgQAAAAAAAA4BYAABdTAACYEAAAAAAAALgWAAAuUwAA4BYAAHBTAACIEAAAAAAAAOAWAACSUwAASA8AAAAAAAAAAAAAAAoAAAEAAAACAAAAAwAAAAEAAAAEAAAAAAAAABAKAAABAAAABQAAAAYAAAACAAAABwAAAAAAAAAgCgAACAAAAAkAAAABAAAAAAAAADgKAAAKAAAACwAAAAIAAAABAAAADAAAAA0AAAACAAAAAwAAAAMAAAAAAAAASAoAAAgAAAAOAAAAAQAAAAAAAABYCgAACAAAAA8AAAABAAAAAAAAAIAKAAAIAAAAEAAAAAEAAAAAAAAAcAoAAAgAAAARAAAAAQAAAAAAAACQCgAACAAAABIAAAABAAAAAAAAAKAKAAAIAAAAEwAAAAEAAAAAAAAAsAoAAAgAAAAUAAAAAQAAAAAAAADACgAACAAAABUAAAABAAAAAAAAANAKAAABAAAAFgAAABcAAAAEAAAAGAAAAAAAAADgCgAACAAAABkAAAABAAAAAAAAAPgKAAAFAAAAGgAAABsAAAAAAAAA8AoAAAEAAAAcAAAAHQAAAAAAAAAICwAAAQAAAB4AAAAfAAAABgAAACAAAAAAAAAAIAsAACEAAAAiAAAABwAAAAgAAAAAAAAAGAsAACMAAAAkAAAABwAAAAkAAAAAAAAAMAsAAAEAAAAlAAAAJgAAAAoAAAAnAAAAAAAAAEALAAAoAAAAKQAAAAcAAAALAAAAAAAAAFALAAABAAAAKgAAACsAAAAMAAAALAAAAAAAAABgCwAALQAAAC4AAAAHAAAADQAAAAAAAABwCwAAAQAAAC8AAAAwAAAADgAAADEAAAAAAAAAgAsAADIAAAAzAAAABwAAAA8AAAAAAAAAkAsAAAEAAAA0AAAANQAAABAAAAA2AAAAAAAAAKALAAARAAAANwAAADgAAAAAAAAAsAsAAAEAAAA5AAAAOgAAABIAAAA7AAAAAAAAAMALAAATAAAAPAAAAD0AAAAAAAAA0AsAAAEAAAA+AAAAPwAAABQAAABAAAAAAAAAAOALAAAVAAAAQQAAAEIAAAAAAAAA8AsAAAEAAABDAAAARAAAABYAAABFAAAAAAAAAAAMAAAXAAAARgAAAEcAAAAAAAAAEAwAAAEAAABIAAAASQAAABgAAABKAAAAAAAAACAMAAABAAAASwAAAEwAAAAZAAAATQAAAAAAAAAwDAAAAQAAAE4AAABPAAAAGgAAAFAAAAAAAAAAQAwAABsAAABRAAAAUgAAAAAAAABQDAAAAQAAAFMAAABUAAAAHAAAAFUAAAAAAAAAYAwAAFYAAABXAAAABwAAAB0AAAAAAAAAcAwAAAEAAABYAAAAWQAAAB4AAABaAAAAAAAAAIAMAABbAAAAXAAAAAcAAAAfAAAAAAAAAJAMAAABAAAAXQAAAF4AAAAgAAAAXwAAAAAAAACgDAAAYAAAAGEAAAAHAAAAIQAAAAAAAACwDAAAAQAAAGIAAABjAAAAIgAAAGQAAAAAAAAAwAwAAGUAAABmAAAABwAAACMAAAAAAAAA0AwAAAEAAABnAAAAaAAAACQAAABpAAAAAAAAAOAMAABqAAAAawAAAAcAAAAlAAAAAAAAAPAMAAABAAAAbAAAAG0AAAAmAAAAbgAAAAAAAAAADQAAbwAAAHAAAAAHAAAAJwAAAAAAAAAQDQAAAQAAAHEAAAByAAAAKAAAAHMAAAAoDQAAyA8AACgNAAAIEAAAEBAAACgNAABQDQAAyA8AAFANAAAgEAAAyA8AAFANAAAIEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABsVAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADwDgAAdAAAAHUAAAB2AAAAdwAAAAIAAAABAAAAAQAAAAEAAAAAAAAAGA8AAHQAAAB4AAAAdgAAAHcAAAACAAAAAgAAAAIAAAACAAAAAAAAACgPAAB5AAAAegAAAAQAAAAAAAAAOA8AAHsAAAB8AAAABQAAAAAAAABIDwAACAAAAH0AAAABAAAAAAAAAFgPAAB7AAAAfgAAAAUAAAAAAAAAaA8AAHsAAAB/AAAABQAAAAAAAAC4DwAAdAAAAIAAAAB2AAAAdwAAAAMAAAAAAAAAiA8AAHQAAACBAAAAdgAAAHcAAAAEAAAAAAAAADgQAAB0AAAAggAAAHYAAAB3AAAAAgAAAAMAAAADAAAAAwAAAAAAAABIEAAAgwAAAIQAAAAGAAAAAAAAAHgQAACFAAAAhgAAAAcAAAABAAAABQAAAAYAAAACAAAAAAAAAKAQAACFAAAAhwAAAAgAAAADAAAABQAAAAYAAAAEAAAA4BcAAAQYAAAAAAAAsBAAAIgAAACJAAAAAQAAAExBU1ppcABvcGVuAGdldFBvaW50AGdldENvdW50AER5bmFtaWNMQVNaaXAAYWRkRmllbGRGbG9hdGluZwBhZGRGaWVsZFNpZ25lZABhZGRGaWVsZFVuc2lnbmVkAE5TdDNfXzIyMF9fc2hhcmVkX3B0cl9wb2ludGVySVBONmxhc3ppcDdzdHJlYW1zMTNtZW1vcnlfc3RyZWFtRU5TXzE0ZGVmYXVsdF9kZWxldGVJUzNfRUVOU185YWxsb2NhdG9ySVMzX0VFRUUATlN0M19fMjE0ZGVmYXVsdF9kZWxldGVJTjZsYXN6aXA3c3RyZWFtczEzbWVtb3J5X3N0cmVhbUVFRQBOU3QzX18yMjBfX3NoYXJlZF9wdHJfcG9pbnRlcklQTjZsYXN6aXAyaW82cmVhZGVyMTBiYXNpY19maWxlSU5TMV83c3RyZWFtczEzbWVtb3J5X3N0cmVhbUVFRU5TXzE0ZGVmYXVsdF9kZWxldGVJUzdfRUVOU185YWxsb2NhdG9ySVM3X0VFRUUATlN0M19fMjE0ZGVmYXVsdF9kZWxldGVJTjZsYXN6aXAyaW82cmVhZGVyMTBiYXNpY19maWxlSU5TMV83c3RyZWFtczEzbWVtb3J5X3N0cmVhbUVFRUVFAExBU0YATjZsYXN6aXAxM2ludmFsaWRfbWFnaWNFAGFsbG9jYXRvcjxUPjo6YWxsb2NhdGUoc2l6ZV90IG4pICduJyBleGNlZWRzIG1heGltdW0gc3VwcG9ydGVkIHNpemUARmlsZSBtYWdpYyBpcyBub3QgdmFsaWQATlN0M19fMjEwX19mdW5jdGlvbjZfX2Z1bmNJWk42bGFzemlwMmlvNnJlYWRlcjEwYmFzaWNfZmlsZUlOUzJfN3N0cmVhbXMxM21lbW9yeV9zdHJlYW1FRTExX3ZhbGlkYXRvcnNFdkVVbFJOUzNfNmhlYWRlckVFX05TXzlhbGxvY2F0b3JJU0JfRUVGdlNBX0VFRQBOU3QzX18yMTBfX2Z1bmN0aW9uNl9fYmFzZUlGdlJONmxhc3ppcDJpbzZoZWFkZXJFRUVFAE42bGFzemlwMjFvbGRfc3R5bGVfY29tcHJlc3Npb25FAE42bGFzemlwMTRub3RfY29tcHJlc3NlZEUAVGhlIGZpbGUgc2VlbXMgdG8gaGF2ZSBvbGQgc3R5bGUgY29tcHJlc3Npb24gd2hpY2ggaXMgbm90IHN1cHBvcnRlZABUaGUgZmlsZSBkb2Vzbid0IHNlZW0gdG8gYmUgY29tcHJlc3NlZABaTjZsYXN6aXAyaW82cmVhZGVyMTBiYXNpY19maWxlSU5TXzdzdHJlYW1zMTNtZW1vcnlfc3RyZWFtRUUxMV92YWxpZGF0b3JzRXZFVWxSTlMwXzZoZWFkZXJFRV8AbGFzemlwIGVuY29kZWQATjZsYXN6aXAxM25vX2xhc3ppcF92bHJFAE42bGFzemlwMjVsYXN6aXBfZm9ybWF0X3Vuc3VwcG9ydGVkRQBPbmx5IExBU3ppcCBQT0lOVFdJU0UgQ0hVTktFRCBkZWNvbXByZXNzb3IgaXMgc3VwcG9ydGVkAE5vIExBU3ppcCBWTFIgd2FzIGZvdW5kIGluIHRoZSBWTFJzIHNlY3Rpb24ATjZsYXN6aXAyMmNodW5rX3RhYmxlX3JlYWRfZXJyb3JFAENodW5rIHRhYmxlIG9mZnNldCA9PSAtMSBpcyBub3Qgc3VwcG9ydGVkIGF0IHRoaXMgdGltZQBONmxhc3ppcDEzbm90X3N1cHBvcnRlZEUATjZsYXN6aXAyNnVua25vd25fY2h1bmtfdGFibGVfZm9ybWF0RQBjaHVua19zaXplID09IHVpbnQubWF4IGlzIG5vdCBzdXBwb3J0ZWQgYXQgdGhpcyB0aW1lLgBUaGVyZSB3YXMgYSBwcm9ibGVtIHJlYWRpbmcgdGhlIGNodW5rIHRhYmxlAFRoZSBjaHVuayB0YWJsZSB2ZXJzaW9uIG51bWJlciBpcyB1bmtub3duAE42bGFzemlwMTFlbmRfb2ZfZmlsZUUAUmVhY2hlZCBFbmQgb2YgZmlsZQBJbnZhbGlkIG51bWJlciBvZiBzeW1ib2xzAE5TdDNfXzIyMF9fc2hhcmVkX3B0cl9wb2ludGVySVBONmxhc3ppcDhkZWNvZGVyczEwYXJpdGhtZXRpY0lOUzFfMmlvMThfX2lmc3RyZWFtX3dyYXBwZXJJTlMxXzdzdHJlYW1zMTNtZW1vcnlfc3RyZWFtRUVFRUVOU18xNGRlZmF1bHRfZGVsZXRlSVM5X0VFTlNfOWFsbG9jYXRvcklTOV9FRUVFAE5TdDNfXzIxNGRlZmF1bHRfZGVsZXRlSU42bGFzemlwOGRlY29kZXJzMTBhcml0aG1ldGljSU5TMV8yaW8xOF9faWZzdHJlYW1fd3JhcHBlcklOUzFfN3N0cmVhbXMxM21lbW9yeV9zdHJlYW1FRUVFRUVFAE42bGFzemlwMTl1bmtub3duX3NjaGVtYV90eXBlRQBUaGUgTEFaIHNjaGVtYSBpcyBub3QgcmVjb2duaXplZABONmxhc3ppcDdmb3JtYXRzMjZkeW5hbWljX2ZpZWxkX2RlY29tcHJlc3NvcklOU184ZGVjb2RlcnMxMGFyaXRobWV0aWNJTlNfMmlvMThfX2lmc3RyZWFtX3dyYXBwZXJJTlNfN3N0cmVhbXMxM21lbW9yeV9zdHJlYW1FRUVFRUVFAE42bGFzemlwN2Zvcm1hdHMyMGR5bmFtaWNfZGVjb21wcmVzc29yRQBOU3QzX18yMjBfX3NoYXJlZF9wdHJfcG9pbnRlcklQTjZsYXN6aXA3Zm9ybWF0czI2ZHluYW1pY19maWVsZF9kZWNvbXByZXNzb3JJTlMxXzhkZWNvZGVyczEwYXJpdGhtZXRpY0lOUzFfMmlvMThfX2lmc3RyZWFtX3dyYXBwZXJJTlMxXzdzdHJlYW1zMTNtZW1vcnlfc3RyZWFtRUVFRUVFRU5TXzE0ZGVmYXVsdF9kZWxldGVJU0NfRUVOU185YWxsb2NhdG9ySVNDX0VFRUUATlN0M19fMjE0ZGVmYXVsdF9kZWxldGVJTjZsYXN6aXA3Zm9ybWF0czI2ZHluYW1pY19maWVsZF9kZWNvbXByZXNzb3JJTlMxXzhkZWNvZGVyczEwYXJpdGhtZXRpY0lOUzFfMmlvMThfX2lmc3RyZWFtX3dyYXBwZXJJTlMxXzdzdHJlYW1zMTNtZW1vcnlfc3RyZWFtRUVFRUVFRUVFAE42bGFzemlwN2Zvcm1hdHMyNmR5bmFtaWNfZGVjb21wcmVzc29yX2ZpZWxkSU5TXzhkZWNvZGVyczEwYXJpdGhtZXRpY0lOU18yaW8xOF9faWZzdHJlYW1fd3JhcHBlcklOU183c3RyZWFtczEzbWVtb3J5X3N0cmVhbUVFRUVFTlMwXzVmaWVsZElOUzBfM2xhczdwb2ludDEwRU5TMF8yMHN0YW5kYXJkX2RpZmZfbWV0aG9kSVNDX0VFRUVFRQBONmxhc3ppcDdmb3JtYXRzMTBiYXNlX2ZpZWxkRQBOU3QzX18yMjBfX3NoYXJlZF9wdHJfcG9pbnRlcklQTjZsYXN6aXA3Zm9ybWF0czI2ZHluYW1pY19kZWNvbXByZXNzb3JfZmllbGRJTlMxXzhkZWNvZGVyczEwYXJpdGhtZXRpY0lOUzFfMmlvMThfX2lmc3RyZWFtX3dyYXBwZXJJTlMxXzdzdHJlYW1zMTNtZW1vcnlfc3RyZWFtRUVFRUVOUzJfNWZpZWxkSU5TMl8zbGFzN3BvaW50MTBFTlMyXzIwc3RhbmRhcmRfZGlmZl9tZXRob2RJU0VfRUVFRUVFTlNfMTRkZWZhdWx0X2RlbGV0ZUlTSV9FRU5TXzlhbGxvY2F0b3JJU0lfRUVFRQBOU3QzX18yMTRkZWZhdWx0X2RlbGV0ZUlONmxhc3ppcDdmb3JtYXRzMjZkeW5hbWljX2RlY29tcHJlc3Nvcl9maWVsZElOUzFfOGRlY29kZXJzMTBhcml0aG1ldGljSU5TMV8yaW8xOF9faWZzdHJlYW1fd3JhcHBlcklOUzFfN3N0cmVhbXMxM21lbW9yeV9zdHJlYW1FRUVFRU5TMl81ZmllbGRJTlMyXzNsYXM3cG9pbnQxMEVOUzJfMjBzdGFuZGFyZF9kaWZmX21ldGhvZElTRV9FRUVFRUVFRQBONmxhc3ppcDdmb3JtYXRzMjZkeW5hbWljX2RlY29tcHJlc3Nvcl9maWVsZElOU184ZGVjb2RlcnMxMGFyaXRobWV0aWNJTlNfMmlvMThfX2lmc3RyZWFtX3dyYXBwZXJJTlNfN3N0cmVhbXMxM21lbW9yeV9zdHJlYW1FRUVFRU5TMF81ZmllbGRJTlMwXzNsYXM3Z3BzdGltZUVOUzBfMjBzdGFuZGFyZF9kaWZmX21ldGhvZElTQ19FRUVFRUUATlN0M19fMjIwX19zaGFyZWRfcHRyX3BvaW50ZXJJUE42bGFzemlwN2Zvcm1hdHMyNmR5bmFtaWNfZGVjb21wcmVzc29yX2ZpZWxkSU5TMV84ZGVjb2RlcnMxMGFyaXRobWV0aWNJTlMxXzJpbzE4X19pZnN0cmVhbV93cmFwcGVySU5TMV83c3RyZWFtczEzbWVtb3J5X3N0cmVhbUVFRUVFTlMyXzVmaWVsZElOUzJfM2xhczdncHN0aW1lRU5TMl8yMHN0YW5kYXJkX2RpZmZfbWV0aG9kSVNFX0VFRUVFRU5TXzE0ZGVmYXVsdF9kZWxldGVJU0lfRUVOU185YWxsb2NhdG9ySVNJX0VFRUUATlN0M19fMjE0ZGVmYXVsdF9kZWxldGVJTjZsYXN6aXA3Zm9ybWF0czI2ZHluYW1pY19kZWNvbXByZXNzb3JfZmllbGRJTlMxXzhkZWNvZGVyczEwYXJpdGhtZXRpY0lOUzFfMmlvMThfX2lmc3RyZWFtX3dyYXBwZXJJTlMxXzdzdHJlYW1zMTNtZW1vcnlfc3RyZWFtRUVFRUVOUzJfNWZpZWxkSU5TMl8zbGFzN2dwc3RpbWVFTlMyXzIwc3RhbmRhcmRfZGlmZl9tZXRob2RJU0VfRUVFRUVFRUUATjZsYXN6aXA3Zm9ybWF0czI2ZHluYW1pY19kZWNvbXByZXNzb3JfZmllbGRJTlNfOGRlY29kZXJzMTBhcml0aG1ldGljSU5TXzJpbzE4X19pZnN0cmVhbV93cmFwcGVySU5TXzdzdHJlYW1zMTNtZW1vcnlfc3RyZWFtRUVFRUVOUzBfNWZpZWxkSU5TMF8zbGFzM3JnYkVOUzBfMjBzdGFuZGFyZF9kaWZmX21ldGhvZElTQ19FRUVFRUUATlN0M19fMjIwX19zaGFyZWRfcHRyX3BvaW50ZXJJUE42bGFzemlwN2Zvcm1hdHMyNmR5bmFtaWNfZGVjb21wcmVzc29yX2ZpZWxkSU5TMV84ZGVjb2RlcnMxMGFyaXRobWV0aWNJTlMxXzJpbzE4X19pZnN0cmVhbV93cmFwcGVySU5TMV83c3RyZWFtczEzbWVtb3J5X3N0cmVhbUVFRUVFTlMyXzVmaWVsZElOUzJfM2xhczNyZ2JFTlMyXzIwc3RhbmRhcmRfZGlmZl9tZXRob2RJU0VfRUVFRUVFTlNfMTRkZWZhdWx0X2RlbGV0ZUlTSV9FRU5TXzlhbGxvY2F0b3JJU0lfRUVFRQBOU3QzX18yMTRkZWZhdWx0X2RlbGV0ZUlONmxhc3ppcDdmb3JtYXRzMjZkeW5hbWljX2RlY29tcHJlc3Nvcl9maWVsZElOUzFfOGRlY29kZXJzMTBhcml0aG1ldGljSU5TMV8yaW8xOF9faWZzdHJlYW1fd3JhcHBlcklOUzFfN3N0cmVhbXMxM21lbW9yeV9zdHJlYW1FRUVFRU5TMl81ZmllbGRJTlMyXzNsYXMzcmdiRU5TMl8yMHN0YW5kYXJkX2RpZmZfbWV0aG9kSVNFX0VFRUVFRUVFAE42bGFzemlwN2Zvcm1hdHMyNmR5bmFtaWNfZGVjb21wcmVzc29yX2ZpZWxkSU5TXzhkZWNvZGVyczEwYXJpdGhtZXRpY0lOU18yaW8xOF9faWZzdHJlYW1fd3JhcHBlcklOU183c3RyZWFtczEzbWVtb3J5X3N0cmVhbUVFRUVFTlMwXzVmaWVsZElOUzBfM2xhczEwZXh0cmFieXRlc0VOUzBfMjBzdGFuZGFyZF9kaWZmX21ldGhvZElTQ19FRUVFRUUATlN0M19fMjIwX19zaGFyZWRfcHRyX3BvaW50ZXJJUE42bGFzemlwN2Zvcm1hdHMyNmR5bmFtaWNfZGVjb21wcmVzc29yX2ZpZWxkSU5TMV84ZGVjb2RlcnMxMGFyaXRobWV0aWNJTlMxXzJpbzE4X19pZnN0cmVhbV93cmFwcGVySU5TMV83c3RyZWFtczEzbWVtb3J5X3N0cmVhbUVFRUVFTlMyXzVmaWVsZElOUzJfM2xhczEwZXh0cmFieXRlc0VOUzJfMjBzdGFuZGFyZF9kaWZmX21ldGhvZElTRV9FRUVFRUVOU18xNGRlZmF1bHRfZGVsZXRlSVNJX0VFTlNfOWFsbG9jYXRvcklTSV9FRUVFAE5TdDNfXzIxNGRlZmF1bHRfZGVsZXRlSU42bGFzemlwN2Zvcm1hdHMyNmR5bmFtaWNfZGVjb21wcmVzc29yX2ZpZWxkSU5TMV84ZGVjb2RlcnMxMGFyaXRobWV0aWNJTlMxXzJpbzE4X19pZnN0cmVhbV93cmFwcGVySU5TMV83c3RyZWFtczEzbWVtb3J5X3N0cmVhbUVFRUVFTlMyXzVmaWVsZElOUzJfM2xhczEwZXh0cmFieXRlc0VOUzJfMjBzdGFuZGFyZF9kaWZmX21ldGhvZElTRV9FRUVFRUVFRQBONmxhc3ppcDdmb3JtYXRzMjFkeW5hbWljX2RlY29tcHJlc3NvcjFJTlNfOGRlY29kZXJzMTBhcml0aG1ldGljSU5TXzJpbzE4X19pZnN0cmVhbV93cmFwcGVySU5TXzdzdHJlYW1zMTNtZW1vcnlfc3RyZWFtRUVFRUVOUzBfMTlyZWNvcmRfZGVjb21wcmVzc29ySUpOUzBfNWZpZWxkSU5TMF8zbGFzN3BvaW50MTBFTlMwXzIwc3RhbmRhcmRfZGlmZl9tZXRob2RJU0RfRUVFRUVFRUVFAE5TdDNfXzIyMF9fc2hhcmVkX3B0cl9wb2ludGVySVBONmxhc3ppcDdmb3JtYXRzMjFkeW5hbWljX2RlY29tcHJlc3NvcjFJTlMxXzhkZWNvZGVyczEwYXJpdGhtZXRpY0lOUzFfMmlvMThfX2lmc3RyZWFtX3dyYXBwZXJJTlMxXzdzdHJlYW1zMTNtZW1vcnlfc3RyZWFtRUVFRUVOUzJfMTlyZWNvcmRfZGVjb21wcmVzc29ySUpOUzJfNWZpZWxkSU5TMl8zbGFzN3BvaW50MTBFTlMyXzIwc3RhbmRhcmRfZGlmZl9tZXRob2RJU0ZfRUVFRUVFRUVFTlNfMTRkZWZhdWx0X2RlbGV0ZUlTS19FRU5TXzlhbGxvY2F0b3JJU0tfRUVFRQBOU3QzX18yMTRkZWZhdWx0X2RlbGV0ZUlONmxhc3ppcDdmb3JtYXRzMjFkeW5hbWljX2RlY29tcHJlc3NvcjFJTlMxXzhkZWNvZGVyczEwYXJpdGhtZXRpY0lOUzFfMmlvMThfX2lmc3RyZWFtX3dyYXBwZXJJTlMxXzdzdHJlYW1zMTNtZW1vcnlfc3RyZWFtRUVFRUVOUzJfMTlyZWNvcmRfZGVjb21wcmVzc29ySUpOUzJfNWZpZWxkSU5TMl8zbGFzN3BvaW50MTBFTlMyXzIwc3RhbmRhcmRfZGlmZl9tZXRob2RJU0ZfRUVFRUVFRUVFRUUATjZsYXN6aXA3Zm9ybWF0czIxZHluYW1pY19kZWNvbXByZXNzb3IxSU5TXzhkZWNvZGVyczEwYXJpdGhtZXRpY0lOU18yaW8xOF9faWZzdHJlYW1fd3JhcHBlcklOU183c3RyZWFtczEzbWVtb3J5X3N0cmVhbUVFRUVFTlMwXzE5cmVjb3JkX2RlY29tcHJlc3NvcklKTlMwXzVmaWVsZElOUzBfM2xhczdwb2ludDEwRU5TMF8yMHN0YW5kYXJkX2RpZmZfbWV0aG9kSVNEX0VFRUVOU0JfSU5TQ183Z3BzdGltZUVOU0VfSVNIX0VFRUVFRUVFRQBOU3QzX18yMjBfX3NoYXJlZF9wdHJfcG9pbnRlcklQTjZsYXN6aXA3Zm9ybWF0czIxZHluYW1pY19kZWNvbXByZXNzb3IxSU5TMV84ZGVjb2RlcnMxMGFyaXRobWV0aWNJTlMxXzJpbzE4X19pZnN0cmVhbV93cmFwcGVySU5TMV83c3RyZWFtczEzbWVtb3J5X3N0cmVhbUVFRUVFTlMyXzE5cmVjb3JkX2RlY29tcHJlc3NvcklKTlMyXzVmaWVsZElOUzJfM2xhczdwb2ludDEwRU5TMl8yMHN0YW5kYXJkX2RpZmZfbWV0aG9kSVNGX0VFRUVOU0RfSU5TRV83Z3BzdGltZUVOU0dfSVNKX0VFRUVFRUVFRU5TXzE0ZGVmYXVsdF9kZWxldGVJU05fRUVOU185YWxsb2NhdG9ySVNOX0VFRUUATlN0M19fMjE0ZGVmYXVsdF9kZWxldGVJTjZsYXN6aXA3Zm9ybWF0czIxZHluYW1pY19kZWNvbXByZXNzb3IxSU5TMV84ZGVjb2RlcnMxMGFyaXRobWV0aWNJTlMxXzJpbzE4X19pZnN0cmVhbV93cmFwcGVySU5TMV83c3RyZWFtczEzbWVtb3J5X3N0cmVhbUVFRUVFTlMyXzE5cmVjb3JkX2RlY29tcHJlc3NvcklKTlMyXzVmaWVsZElOUzJfM2xhczdwb2ludDEwRU5TMl8yMHN0YW5kYXJkX2RpZmZfbWV0aG9kSVNGX0VFRUVOU0RfSU5TRV83Z3BzdGltZUVOU0dfSVNKX0VFRUVFRUVFRUVFAE42bGFzemlwN2Zvcm1hdHMyMWR5bmFtaWNfZGVjb21wcmVzc29yMUlOU184ZGVjb2RlcnMxMGFyaXRobWV0aWNJTlNfMmlvMThfX2lmc3RyZWFtX3dyYXBwZXJJTlNfN3N0cmVhbXMxM21lbW9yeV9zdHJlYW1FRUVFRU5TMF8xOXJlY29yZF9kZWNvbXByZXNzb3JJSk5TMF81ZmllbGRJTlMwXzNsYXM3cG9pbnQxMEVOUzBfMjBzdGFuZGFyZF9kaWZmX21ldGhvZElTRF9FRUVFTlNCX0lOU0NfM3JnYkVOU0VfSVNIX0VFRUVFRUVFRQBOU3QzX18yMjBfX3NoYXJlZF9wdHJfcG9pbnRlcklQTjZsYXN6aXA3Zm9ybWF0czIxZHluYW1pY19kZWNvbXByZXNzb3IxSU5TMV84ZGVjb2RlcnMxMGFyaXRobWV0aWNJTlMxXzJpbzE4X19pZnN0cmVhbV93cmFwcGVySU5TMV83c3RyZWFtczEzbWVtb3J5X3N0cmVhbUVFRUVFTlMyXzE5cmVjb3JkX2RlY29tcHJlc3NvcklKTlMyXzVmaWVsZElOUzJfM2xhczdwb2ludDEwRU5TMl8yMHN0YW5kYXJkX2RpZmZfbWV0aG9kSVNGX0VFRUVOU0RfSU5TRV8zcmdiRU5TR19JU0pfRUVFRUVFRUVFTlNfMTRkZWZhdWx0X2RlbGV0ZUlTTl9FRU5TXzlhbGxvY2F0b3JJU05fRUVFRQBOU3QzX18yMTRkZWZhdWx0X2RlbGV0ZUlONmxhc3ppcDdmb3JtYXRzMjFkeW5hbWljX2RlY29tcHJlc3NvcjFJTlMxXzhkZWNvZGVyczEwYXJpdGhtZXRpY0lOUzFfMmlvMThfX2lmc3RyZWFtX3dyYXBwZXJJTlMxXzdzdHJlYW1zMTNtZW1vcnlfc3RyZWFtRUVFRUVOUzJfMTlyZWNvcmRfZGVjb21wcmVzc29ySUpOUzJfNWZpZWxkSU5TMl8zbGFzN3BvaW50MTBFTlMyXzIwc3RhbmRhcmRfZGlmZl9tZXRob2RJU0ZfRUVFRU5TRF9JTlNFXzNyZ2JFTlNHX0lTSl9FRUVFRUVFRUVFRQBONmxhc3ppcDdmb3JtYXRzMjFkeW5hbWljX2RlY29tcHJlc3NvcjFJTlNfOGRlY29kZXJzMTBhcml0aG1ldGljSU5TXzJpbzE4X19pZnN0cmVhbV93cmFwcGVySU5TXzdzdHJlYW1zMTNtZW1vcnlfc3RyZWFtRUVFRUVOUzBfMTlyZWNvcmRfZGVjb21wcmVzc29ySUpOUzBfNWZpZWxkSU5TMF8zbGFzN3BvaW50MTBFTlMwXzIwc3RhbmRhcmRfZGlmZl9tZXRob2RJU0RfRUVFRU5TQl9JTlNDXzdncHN0aW1lRU5TRV9JU0hfRUVFRU5TQl9JTlNDXzNyZ2JFTlNFX0lTS19FRUVFRUVFRUUATlN0M19fMjIwX19zaGFyZWRfcHRyX3BvaW50ZXJJUE42bGFzemlwN2Zvcm1hdHMyMWR5bmFtaWNfZGVjb21wcmVzc29yMUlOUzFfOGRlY29kZXJzMTBhcml0aG1ldGljSU5TMV8yaW8xOF9faWZzdHJlYW1fd3JhcHBlcklOUzFfN3N0cmVhbXMxM21lbW9yeV9zdHJlYW1FRUVFRU5TMl8xOXJlY29yZF9kZWNvbXByZXNzb3JJSk5TMl81ZmllbGRJTlMyXzNsYXM3cG9pbnQxMEVOUzJfMjBzdGFuZGFyZF9kaWZmX21ldGhvZElTRl9FRUVFTlNEX0lOU0VfN2dwc3RpbWVFTlNHX0lTSl9FRUVFTlNEX0lOU0VfM3JnYkVOU0dfSVNNX0VFRUVFRUVFRU5TXzE0ZGVmYXVsdF9kZWxldGVJU1FfRUVOU185YWxsb2NhdG9ySVNRX0VFRUUATlN0M19fMjE0ZGVmYXVsdF9kZWxldGVJTjZsYXN6aXA3Zm9ybWF0czIxZHluYW1pY19kZWNvbXByZXNzb3IxSU5TMV84ZGVjb2RlcnMxMGFyaXRobWV0aWNJTlMxXzJpbzE4X19pZnN0cmVhbV93cmFwcGVySU5TMV83c3RyZWFtczEzbWVtb3J5X3N0cmVhbUVFRUVFTlMyXzE5cmVjb3JkX2RlY29tcHJlc3NvcklKTlMyXzVmaWVsZElOUzJfM2xhczdwb2ludDEwRU5TMl8yMHN0YW5kYXJkX2RpZmZfbWV0aG9kSVNGX0VFRUVOU0RfSU5TRV83Z3BzdGltZUVOU0dfSVNKX0VFRUVOU0RfSU5TRV8zcmdiRU5TR19JU01fRUVFRUVFRUVFRUUATlN0M19fMjIwX19zaGFyZWRfcHRyX3BvaW50ZXJJUDEwYnVmX3N0cmVhbU5TXzE0ZGVmYXVsdF9kZWxldGVJUzFfRUVOU185YWxsb2NhdG9ySVMxX0VFRUUATlN0M19fMjE0ZGVmYXVsdF9kZWxldGVJMTBidWZfc3RyZWFtRUUATlN0M19fMjIwX19zaGFyZWRfcHRyX3BvaW50ZXJJUE42bGFzemlwOGRlY29kZXJzMTBhcml0aG1ldGljSTEwYnVmX3N0cmVhbUVFTlNfMTRkZWZhdWx0X2RlbGV0ZUlTNV9FRU5TXzlhbGxvY2F0b3JJUzVfRUVFRQBOU3QzX18yMTRkZWZhdWx0X2RlbGV0ZUlONmxhc3ppcDhkZWNvZGVyczEwYXJpdGhtZXRpY0kxMGJ1Zl9zdHJlYW1FRUVFAE42bGFzemlwN2Zvcm1hdHMyNmR5bmFtaWNfZmllbGRfZGVjb21wcmVzc29ySU5TXzhkZWNvZGVyczEwYXJpdGhtZXRpY0kxMGJ1Zl9zdHJlYW1FRUVFAE5TdDNfXzIyMF9fc2hhcmVkX3B0cl9wb2ludGVySVBONmxhc3ppcDdmb3JtYXRzMjZkeW5hbWljX2ZpZWxkX2RlY29tcHJlc3NvcklOUzFfOGRlY29kZXJzMTBhcml0aG1ldGljSTEwYnVmX3N0cmVhbUVFRUVOU18xNGRlZmF1bHRfZGVsZXRlSVM4X0VFTlNfOWFsbG9jYXRvcklTOF9FRUVFAE5TdDNfXzIxNGRlZmF1bHRfZGVsZXRlSU42bGFzemlwN2Zvcm1hdHMyNmR5bmFtaWNfZmllbGRfZGVjb21wcmVzc29ySU5TMV84ZGVjb2RlcnMxMGFyaXRobWV0aWNJMTBidWZfc3RyZWFtRUVFRUVFAE42bGFzemlwN2Zvcm1hdHMyNmR5bmFtaWNfZGVjb21wcmVzc29yX2ZpZWxkSU5TXzhkZWNvZGVyczEwYXJpdGhtZXRpY0kxMGJ1Zl9zdHJlYW1FRU5TMF81ZmllbGRJaU5TMF8yMHN0YW5kYXJkX2RpZmZfbWV0aG9kSWlFRUVFRUUATlN0M19fMjIwX19zaGFyZWRfcHRyX3BvaW50ZXJJUE42bGFzemlwN2Zvcm1hdHMyNmR5bmFtaWNfZGVjb21wcmVzc29yX2ZpZWxkSU5TMV84ZGVjb2RlcnMxMGFyaXRobWV0aWNJMTBidWZfc3RyZWFtRUVOUzJfNWZpZWxkSWlOUzJfMjBzdGFuZGFyZF9kaWZmX21ldGhvZElpRUVFRUVFTlNfMTRkZWZhdWx0X2RlbGV0ZUlTQ19FRU5TXzlhbGxvY2F0b3JJU0NfRUVFRQBOU3QzX18yMTRkZWZhdWx0X2RlbGV0ZUlONmxhc3ppcDdmb3JtYXRzMjZkeW5hbWljX2RlY29tcHJlc3Nvcl9maWVsZElOUzFfOGRlY29kZXJzMTBhcml0aG1ldGljSTEwYnVmX3N0cmVhbUVFTlMyXzVmaWVsZElpTlMyXzIwc3RhbmRhcmRfZGlmZl9tZXRob2RJaUVFRUVFRUVFAE42bGFzemlwN2Zvcm1hdHMyNmR5bmFtaWNfZGVjb21wcmVzc29yX2ZpZWxkSU5TXzhkZWNvZGVyczEwYXJpdGhtZXRpY0kxMGJ1Zl9zdHJlYW1FRU5TMF81ZmllbGRJak5TMF8yMHN0YW5kYXJkX2RpZmZfbWV0aG9kSWpFRUVFRUUATlN0M19fMjIwX19zaGFyZWRfcHRyX3BvaW50ZXJJUE42bGFzemlwN2Zvcm1hdHMyNmR5bmFtaWNfZGVjb21wcmVzc29yX2ZpZWxkSU5TMV84ZGVjb2RlcnMxMGFyaXRobWV0aWNJMTBidWZfc3RyZWFtRUVOUzJfNWZpZWxkSWpOUzJfMjBzdGFuZGFyZF9kaWZmX21ldGhvZElqRUVFRUVFTlNfMTRkZWZhdWx0X2RlbGV0ZUlTQ19FRU5TXzlhbGxvY2F0b3JJU0NfRUVFRQBOU3QzX18yMTRkZWZhdWx0X2RlbGV0ZUlONmxhc3ppcDdmb3JtYXRzMjZkeW5hbWljX2RlY29tcHJlc3Nvcl9maWVsZElOUzFfOGRlY29kZXJzMTBhcml0aG1ldGljSTEwYnVmX3N0cmVhbUVFTlMyXzVmaWVsZElqTlMyXzIwc3RhbmRhcmRfZGlmZl9tZXRob2RJakVFRUVFRUVFAE42bGFzemlwN2Zvcm1hdHMyNmR5bmFtaWNfZGVjb21wcmVzc29yX2ZpZWxkSU5TXzhkZWNvZGVyczEwYXJpdGhtZXRpY0kxMGJ1Zl9zdHJlYW1FRU5TMF81ZmllbGRJYU5TMF8yMHN0YW5kYXJkX2RpZmZfbWV0aG9kSWFFRUVFRUUATlN0M19fMjIwX19zaGFyZWRfcHRyX3BvaW50ZXJJUE42bGFzemlwN2Zvcm1hdHMyNmR5bmFtaWNfZGVjb21wcmVzc29yX2ZpZWxkSU5TMV84ZGVjb2RlcnMxMGFyaXRobWV0aWNJMTBidWZfc3RyZWFtRUVOUzJfNWZpZWxkSWFOUzJfMjBzdGFuZGFyZF9kaWZmX21ldGhvZElhRUVFRUVFTlNfMTRkZWZhdWx0X2RlbGV0ZUlTQ19FRU5TXzlhbGxvY2F0b3JJU0NfRUVFRQBOU3QzX18yMTRkZWZhdWx0X2RlbGV0ZUlONmxhc3ppcDdmb3JtYXRzMjZkeW5hbWljX2RlY29tcHJlc3Nvcl9maWVsZElOUzFfOGRlY29kZXJzMTBhcml0aG1ldGljSTEwYnVmX3N0cmVhbUVFTlMyXzVmaWVsZElhTlMyXzIwc3RhbmRhcmRfZGlmZl9tZXRob2RJYUVFRUVFRUVFAE42bGFzemlwN2Zvcm1hdHMyNmR5bmFtaWNfZGVjb21wcmVzc29yX2ZpZWxkSU5TXzhkZWNvZGVyczEwYXJpdGhtZXRpY0kxMGJ1Zl9zdHJlYW1FRU5TMF81ZmllbGRJc05TMF8yMHN0YW5kYXJkX2RpZmZfbWV0aG9kSXNFRUVFRUUATlN0M19fMjIwX19zaGFyZWRfcHRyX3BvaW50ZXJJUE42bGFzemlwN2Zvcm1hdHMyNmR5bmFtaWNfZGVjb21wcmVzc29yX2ZpZWxkSU5TMV84ZGVjb2RlcnMxMGFyaXRobWV0aWNJMTBidWZfc3RyZWFtRUVOUzJfNWZpZWxkSXNOUzJfMjBzdGFuZGFyZF9kaWZmX21ldGhvZElzRUVFRUVFTlNfMTRkZWZhdWx0X2RlbGV0ZUlTQ19FRU5TXzlhbGxvY2F0b3JJU0NfRUVFRQBOU3QzX18yMTRkZWZhdWx0X2RlbGV0ZUlONmxhc3ppcDdmb3JtYXRzMjZkeW5hbWljX2RlY29tcHJlc3Nvcl9maWVsZElOUzFfOGRlY29kZXJzMTBhcml0aG1ldGljSTEwYnVmX3N0cmVhbUVFTlMyXzVmaWVsZElzTlMyXzIwc3RhbmRhcmRfZGlmZl9tZXRob2RJc0VFRUVFRUVFAE42bGFzemlwN2Zvcm1hdHMyNmR5bmFtaWNfZGVjb21wcmVzc29yX2ZpZWxkSU5TXzhkZWNvZGVyczEwYXJpdGhtZXRpY0kxMGJ1Zl9zdHJlYW1FRU5TMF81ZmllbGRJaE5TMF8yMHN0YW5kYXJkX2RpZmZfbWV0aG9kSWhFRUVFRUUATlN0M19fMjIwX19zaGFyZWRfcHRyX3BvaW50ZXJJUE42bGFzemlwN2Zvcm1hdHMyNmR5bmFtaWNfZGVjb21wcmVzc29yX2ZpZWxkSU5TMV84ZGVjb2RlcnMxMGFyaXRobWV0aWNJMTBidWZfc3RyZWFtRUVOUzJfNWZpZWxkSWhOUzJfMjBzdGFuZGFyZF9kaWZmX21ldGhvZEloRUVFRUVFTlNfMTRkZWZhdWx0X2RlbGV0ZUlTQ19FRU5TXzlhbGxvY2F0b3JJU0NfRUVFRQBOU3QzX18yMTRkZWZhdWx0X2RlbGV0ZUlONmxhc3ppcDdmb3JtYXRzMjZkeW5hbWljX2RlY29tcHJlc3Nvcl9maWVsZElOUzFfOGRlY29kZXJzMTBhcml0aG1ldGljSTEwYnVmX3N0cmVhbUVFTlMyXzVmaWVsZEloTlMyXzIwc3RhbmRhcmRfZGlmZl9tZXRob2RJaEVFRUVFRUVFAE42bGFzemlwN2Zvcm1hdHMyNmR5bmFtaWNfZGVjb21wcmVzc29yX2ZpZWxkSU5TXzhkZWNvZGVyczEwYXJpdGhtZXRpY0kxMGJ1Zl9zdHJlYW1FRU5TMF81ZmllbGRJdE5TMF8yMHN0YW5kYXJkX2RpZmZfbWV0aG9kSXRFRUVFRUUATlN0M19fMjIwX19zaGFyZWRfcHRyX3BvaW50ZXJJUE42bGFzemlwN2Zvcm1hdHMyNmR5bmFtaWNfZGVjb21wcmVzc29yX2ZpZWxkSU5TMV84ZGVjb2RlcnMxMGFyaXRobWV0aWNJMTBidWZfc3RyZWFtRUVOUzJfNWZpZWxkSXROUzJfMjBzdGFuZGFyZF9kaWZmX21ldGhvZEl0RUVFRUVFTlNfMTRkZWZhdWx0X2RlbGV0ZUlTQ19FRU5TXzlhbGxvY2F0b3JJU0NfRUVFRQBOU3QzX18yMTRkZWZhdWx0X2RlbGV0ZUlONmxhc3ppcDdmb3JtYXRzMjZkeW5hbWljX2RlY29tcHJlc3Nvcl9maWVsZElOUzFfOGRlY29kZXJzMTBhcml0aG1ldGljSTEwYnVmX3N0cmVhbUVFTlMyXzVmaWVsZEl0TlMyXzIwc3RhbmRhcmRfZGlmZl9tZXRob2RJdEVFRUVFRUVFADZMQVNaaXAAUDZMQVNaaXAAUEs2TEFTWmlwAGlpAHYAdmkAdmlpaWkAdmlpaQBpaWkAMTNEeW5hbWljTEFTWmlwAFAxM0R5bmFtaWNMQVNaaXAAUEsxM0R5bmFtaWNMQVNaaXAAdm9pZABib29sAGNoYXIAc2lnbmVkIGNoYXIAdW5zaWduZWQgY2hhcgBzaG9ydAB1bnNpZ25lZCBzaG9ydABpbnQAdW5zaWduZWQgaW50AGxvbmcAdW5zaWduZWQgbG9uZwBmbG9hdABkb3VibGUAc3RkOjpzdHJpbmcAc3RkOjpiYXNpY19zdHJpbmc8dW5zaWduZWQgY2hhcj4Ac3RkOjp3c3RyaW5nAHN0ZDo6dTE2c3RyaW5nAHN0ZDo6dTMyc3RyaW5nAGVtc2NyaXB0ZW46OnZhbABlbXNjcmlwdGVuOjptZW1vcnlfdmlldzxjaGFyPgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzxzaWduZWQgY2hhcj4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8dW5zaWduZWQgY2hhcj4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8c2hvcnQ+AGVtc2NyaXB0ZW46Om1lbW9yeV92aWV3PHVuc2lnbmVkIHNob3J0PgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzxpbnQ+AGVtc2NyaXB0ZW46Om1lbW9yeV92aWV3PHVuc2lnbmVkIGludD4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8bG9uZz4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8dW5zaWduZWQgbG9uZz4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8aW50OF90PgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzx1aW50OF90PgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzxpbnQxNl90PgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzx1aW50MTZfdD4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8aW50MzJfdD4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8dWludDMyX3Q+AGVtc2NyaXB0ZW46Om1lbW9yeV92aWV3PGZsb2F0PgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzxkb3VibGU+AGVtc2NyaXB0ZW46Om1lbW9yeV92aWV3PGxvbmcgZG91YmxlPgBOMTBlbXNjcmlwdGVuMTFtZW1vcnlfdmlld0llRUUATjEwZW1zY3JpcHRlbjExbWVtb3J5X3ZpZXdJZEVFAE4xMGVtc2NyaXB0ZW4xMW1lbW9yeV92aWV3SWZFRQBOMTBlbXNjcmlwdGVuMTFtZW1vcnlfdmlld0ltRUUATjEwZW1zY3JpcHRlbjExbWVtb3J5X3ZpZXdJbEVFAE4xMGVtc2NyaXB0ZW4xMW1lbW9yeV92aWV3SWpFRQBOMTBlbXNjcmlwdGVuMTFtZW1vcnlfdmlld0lpRUUATjEwZW1zY3JpcHRlbjExbWVtb3J5X3ZpZXdJdEVFAE4xMGVtc2NyaXB0ZW4xMW1lbW9yeV92aWV3SXNFRQBOMTBlbXNjcmlwdGVuMTFtZW1vcnlfdmlld0loRUUATjEwZW1zY3JpcHRlbjExbWVtb3J5X3ZpZXdJYUVFAE4xMGVtc2NyaXB0ZW4xMW1lbW9yeV92aWV3SWNFRQBOMTBlbXNjcmlwdGVuM3ZhbEUATlN0M19fMjEyYmFzaWNfc3RyaW5nSURpTlNfMTFjaGFyX3RyYWl0c0lEaUVFTlNfOWFsbG9jYXRvcklEaUVFRUUATlN0M19fMjIxX19iYXNpY19zdHJpbmdfY29tbW9uSUxiMUVFRQBOU3QzX18yMTJiYXNpY19zdHJpbmdJRHNOU18xMWNoYXJfdHJhaXRzSURzRUVOU185YWxsb2NhdG9ySURzRUVFRQBOU3QzX18yMTJiYXNpY19zdHJpbmdJd05TXzExY2hhcl90cmFpdHNJd0VFTlNfOWFsbG9jYXRvckl3RUVFRQBOU3QzX18yMTJiYXNpY19zdHJpbmdJaE5TXzExY2hhcl90cmFpdHNJaEVFTlNfOWFsbG9jYXRvckloRUVFRQBOU3QzX18yMTJiYXNpY19zdHJpbmdJY05TXzExY2hhcl90cmFpdHNJY0VFTlNfOWFsbG9jYXRvckljRUVFRQAtKyAgIDBYMHgAKG51bGwpAC0wWCswWCAwWC0weCsweCAweABpbmYASU5GAG5hbgBOQU4ALgB0ZXJtaW5hdGluZyB3aXRoICVzIGV4Y2VwdGlvbiBvZiB0eXBlICVzOiAlcwB0ZXJtaW5hdGluZyB3aXRoICVzIGV4Y2VwdGlvbiBvZiB0eXBlICVzAHRlcm1pbmF0aW5nIHdpdGggJXMgZm9yZWlnbiBleGNlcHRpb24AdGVybWluYXRpbmcAdW5jYXVnaHQAU3Q5ZXhjZXB0aW9uAE4xMF9fY3h4YWJpdjExNl9fc2hpbV90eXBlX2luZm9FAFN0OXR5cGVfaW5mbwBOMTBfX2N4eGFiaXYxMjBfX3NpX2NsYXNzX3R5cGVfaW5mb0UATjEwX19jeHhhYml2MTE3X19jbGFzc190eXBlX2luZm9FAHRlcm1pbmF0ZV9oYW5kbGVyIHVuZXhwZWN0ZWRseSByZXR1cm5lZABzdGQ6OmJhZF9hbGxvYwBTdDliYWRfYWxsb2MAU3QxMWxvZ2ljX2Vycm9yAFN0MTNydW50aW1lX2Vycm9yAFN0MTJsZW5ndGhfZXJyb3IAU3QxMm91dF9vZl9yYW5nZQBOMTBfX2N4eGFiaXYxMTdfX3BiYXNlX3R5cGVfaW5mb0UATjEwX19jeHhhYml2MTE5X19wb2ludGVyX3R5cGVfaW5mb0UATjEwX19jeHhhYml2MTIwX19mdW5jdGlvbl90eXBlX2luZm9FAE4xMF9fY3h4YWJpdjEyOV9fcG9pbnRlcl90b19tZW1iZXJfdHlwZV9pbmZvRQBQdXJlIHZpcnR1YWwgZnVuY3Rpb24gY2FsbGVkIQBOMTBfX2N4eGFiaXYxMjNfX2Z1bmRhbWVudGFsX3R5cGVfaW5mb0UAdgBEbgBiAGMAaABhAHMAdABpAGoAbABtAGYAZABOMTBfX2N4eGFiaXYxMjFfX3ZtaV9jbGFzc190eXBlX2luZm9FAF9fY3hhX2d1YXJkX2FjcXVpcmUgZGV0ZWN0ZWQgcmVjdXJzaXZlIGluaXRpYWxpemF0aW9uAHN0ZDo6YmFkX2Z1bmN0aW9uX2NhbGwATlN0M19fMjE3YmFkX2Z1bmN0aW9uX2NhbGxFAE5TdDNfXzIxNF9fc2hhcmVkX2NvdW50RQBOU3QzX18yMTlfX3NoYXJlZF93ZWFrX2NvdW50RQBtdXRleCBsb2NrIGZhaWxlZABiYXNpY19zdHJpbmcAdW5zcGVjaWZpZWQgZ2VuZXJpY19jYXRlZ29yeSBlcnJvcgBVbmtub3duIGVycm9yICVkAGdlbmVyaWMATlN0M19fMjI0X19nZW5lcmljX2Vycm9yX2NhdGVnb3J5RQBOU3QzX18yMTJfX2RvX21lc3NhZ2VFAE5TdDNfXzIxNGVycm9yX2NhdGVnb3J5RQB1bnNwZWNpZmllZCBzeXN0ZW1fY2F0ZWdvcnkgZXJyb3IAc3lzdGVtAE5TdDNfXzIyM19fc3lzdGVtX2Vycm9yX2NhdGVnb3J5RQBOU3QzX18yMTJzeXN0ZW1fZXJyb3JFADogAHZlY3Rvcg==";var ol=22368;function lR(y){return y}function uR(y){var d=/\b__Z[\w\d_]+/g;return y.replace(d,function(k){var u=k;return k===u?k:u+" ["+k+"]"})}function aR(){var y=new Error;if(!y.stack){try{throw new Error}catch(d){y=d}if(!y.stack)return"(no stack trace available)"}return y.stack.toString()}function fl(y){return _n(y)}var Qr={},Al=[];function K2(y){if(y){var d=Qr[y];d.refcount++}}function b2(y){if(!y||Qr[y])return y;for(var d in Qr)for(var k=+d,u=Qr[k].adjusted,E=u.length,r=0;r<E;r++)if(u[r]===y)return k;return y}function hl(y){var d=Qr[y];return d&&!d.caught&&(d.caught=!0,_e.uncaught_exceptions--),d&&(d.rethrown=!1),Al.push(y),K2(b2(y)),y}var ll=0;function ul(y,d,k){throw Qr[y]={ptr:y,adjusted:[y],type:d,destructor:k,refcount:0,caught:!1,rethrown:!1},ll=y,"uncaught_exception"in _e?_e.uncaught_exceptions++:_e.uncaught_exceptions=1,y}function al(){return _e.uncaught_exceptions}function cl(){}function cn(y){switch(y){case 1:return 0;case 2:return 1;case 4:return 2;case 8:return 3;default:throw new TypeError("Unknown type size: "+y)}}function ml(){for(var y=new Array(256),d=0;d<256;++d)y[d]=String.fromCharCode(d);ts=y}var ts=void 0;function ct(y){for(var d="",k=y;$0[k];)d+=ts[$0[k++]];return d}var Lr={},qr={},ni={},vl=48,pl=57;function mn(y){if(y===void 0)return"_unknown";y=y.replace(/[^a-zA-Z0-9_]/g,"$");var d=y.charCodeAt(0);return d>=vl&&d<=pl?"_"+y:y}function vn(y,d){return y=mn(y),new Function("body","return function "+y+`() {
8
8
  "use strict"; return body.apply(this, arguments);
9
9
  };
10
10
  `)(d)}function pn(y,d){var k=vn(d,function(u){this.name=d,this.message=u;var E=new Error(u).stack;E!==void 0&&(this.stack=this.toString()+`
11
- `+E.replace(/^Error(:[^\n]*)?\n/,""))});return k.prototype=Object.create(y.prototype),k.prototype.constructor=k,k.prototype.toString=function(){return this.message===void 0?this.name:this.name+": "+this.message},k}var $r=void 0;function R0(y){throw new $r(y)}var rs=void 0;function si(y){throw new rs(y)}function de(y,d,k){y.forEach(function(C){ni[C]=d});function u(C){var D=k(C);D.length!==y.length&&si("Mismatched type converter count");for(var Y=0;Y<y.length;++Y)Ht(y[Y],D[Y])}var E=new Array(d.length),r=[],Z=0;d.forEach(function(C,D){qr.hasOwnProperty(C)?E[D]=qr[C]:(r.push(C),Lr.hasOwnProperty(C)||(Lr[C]=[]),Lr[C].push(function(){E[D]=qr[C],++Z,Z===r.length&&u(E)}))}),r.length===0&&u(E)}function Ht(y,d,k){if(k=k||{},!("argPackAdvance"in d))throw new TypeError("registerType registeredInstance requires argPackAdvance");var u=d.name;if(y||R0('type "'+u+'" must have a positive integer typeid pointer'),qr.hasOwnProperty(y)){if(k.ignoreDuplicateRegistrations)return;R0("Cannot register type '"+u+"' twice")}if(qr[y]=d,delete ni[y],Lr.hasOwnProperty(y)){var E=Lr[y];delete Lr[y],E.forEach(function(r){r()})}}function M1(y,d,k,u,E){var r=cn(k);d=ct(d),Ht(y,{name:d,fromWireType:function(Z){return!!Z},toWireType:function(Z,C){return C?u:E},argPackAdvance:8,readValueFromPointer:function(Z){var C;if(k===1)C=Ar;else if(k===2)C=gr;else if(k===4)C=nt;else throw new TypeError("Unknown boolean type size: "+d);return this.fromWireType(C[Z>>r])},destructorFunction:null})}function y1(y){if(!(this instanceof hr)||!(y instanceof hr))return!1;for(var d=this.$$.ptrType.registeredClass,k=this.$$.ptr,u=y.$$.ptrType.registeredClass,E=y.$$.ptr;d.baseClass;)k=d.upcast(k),d=d.baseClass;for(;u.baseClass;)E=u.upcast(E),u=u.baseClass;return d===u&&k===E}function d1(y){return{count:y.count,deleteScheduled:y.deleteScheduled,preservePointerOnDelete:y.preservePointerOnDelete,ptr:y.ptr,ptrType:y.ptrType,smartPtr:y.smartPtr,smartPtrType:y.smartPtrType}}function Mn(y){function d(k){return k.$$.ptrType.registeredClass.name}R0(d(y)+" instance already deleted")}var yn=!1;function es(y){}function g1(y){y.smartPtr?y.smartPtrType.rawDestructor(y.smartPtr):y.ptrType.registeredClass.rawDestructor(y.ptr)}function is(y){y.count.value-=1;var d=y.count.value===0;d&&g1(y)}function ge(y){return typeof FinalizationGroup>"u"?(ge=function(d){return d},y):(yn=new FinalizationGroup(function(d){for(var k=d.next();!k.done;k=d.next()){var u=k.value;u.ptr?is(u):console.warn("object already deleted: "+u.ptr)}}),ge=function(d){return yn.register(d,d.$$,d.$$),d},es=function(d){yn.unregister(d.$$)},ge(y))}function R1(){if(this.$$.ptr||Mn(this),this.$$.preservePointerOnDelete)return this.$$.count.value+=1,this;var y=ge(Object.create(Object.getPrototypeOf(this),{$$:{value:d1(this.$$)}}));return y.$$.count.value+=1,y.$$.deleteScheduled=!1,y}function x1(){this.$$.ptr||Mn(this),this.$$.deleteScheduled&&!this.$$.preservePointerOnDelete&&R0("Object already scheduled for deletion"),es(this),is(this.$$),this.$$.preservePointerOnDelete||(this.$$.smartPtr=void 0,this.$$.ptr=void 0)}function w1(){return!this.$$.ptr}var Re=void 0,xe=[];function dn(){for(;xe.length;){var y=xe.pop();y.$$.deleteScheduled=!1,y.delete()}}function _1(){return this.$$.ptr||Mn(this),this.$$.deleteScheduled&&!this.$$.preservePointerOnDelete&&R0("Object already scheduled for deletion"),xe.push(this),xe.length===1&&Re&&Re(dn),this.$$.deleteScheduled=!0,this}function Z1(){hr.prototype.isAliasOf=y1,hr.prototype.clone=R1,hr.prototype.delete=x1,hr.prototype.isDeleted=w1,hr.prototype.deleteLater=_1}function hr(){}var ns={};function ss(y,d,k){if(y[d].overloadTable===void 0){var u=y[d];y[d]=function(){return y[d].overloadTable.hasOwnProperty(arguments.length)||R0("Function '"+k+"' called with an invalid number of arguments ("+arguments.length+") - expects one of ("+y[d].overloadTable+")!"),y[d].overloadTable[arguments.length].apply(this,arguments)},y[d].overloadTable=[],y[d].overloadTable[u.argCount]=u}}function F1(y,d,k){s.hasOwnProperty(y)?((k===void 0||s[y].overloadTable!==void 0&&s[y].overloadTable[k]!==void 0)&&R0("Cannot register public name '"+y+"' twice"),ss(s,y,y),s.hasOwnProperty(k)&&R0("Cannot register multiple overloads of a function with the same number of arguments ("+k+")!"),s[y].overloadTable[k]=d):(s[y]=d,k!==void 0&&(s[y].numArguments=k))}function k1(y,d,k,u,E,r,Z,C){this.name=y,this.constructor=d,this.instancePrototype=k,this.rawDestructor=u,this.baseClass=E,this.getActualType=r,this.upcast=Z,this.downcast=C,this.pureVirtualFunctions=[]}function gn(y,d,k){for(;d!==k;)d.upcast||R0("Expected null or instance of "+k.name+", got an instance of "+d.name),y=d.upcast(y),d=d.baseClass;return y}function V1(y,d){if(d===null)return this.isReference&&R0("null is not a valid "+this.name),0;d.$$||R0('Cannot pass "'+wr(d)+'" as a '+this.name),d.$$.ptr||R0("Cannot pass deleted object as a pointer of type "+this.name);var k=d.$$.ptrType.registeredClass,u=gn(d.$$.ptr,k,this.registeredClass);return u}function W1(y,d){var k;if(d===null)return this.isReference&&R0("null is not a valid "+this.name),this.isSmartPointer?(k=this.rawConstructor(),y!==null&&y.push(this.rawDestructor,k),k):0;d.$$||R0('Cannot pass "'+wr(d)+'" as a '+this.name),d.$$.ptr||R0("Cannot pass deleted object as a pointer of type "+this.name),!this.isConst&&d.$$.ptrType.isConst&&R0("Cannot convert argument of type "+(d.$$.smartPtrType?d.$$.smartPtrType.name:d.$$.ptrType.name)+" to parameter type "+this.name);var u=d.$$.ptrType.registeredClass;if(k=gn(d.$$.ptr,u,this.registeredClass),this.isSmartPointer)switch(d.$$.smartPtr===void 0&&R0("Passing raw pointer to smart pointer is illegal"),this.sharingPolicy){case 0:d.$$.smartPtrType===this?k=d.$$.smartPtr:R0("Cannot convert argument of type "+(d.$$.smartPtrType?d.$$.smartPtrType.name:d.$$.ptrType.name)+" to parameter type "+this.name);break;case 1:k=d.$$.smartPtr;break;case 2:if(d.$$.smartPtrType===this)k=d.$$.smartPtr;else{var E=d.clone();k=this.rawShare(k,wn(function(){E.delete()})),y!==null&&y.push(this.rawDestructor,k)}break;default:R0("Unsupporting sharing policy")}return k}function N1(y,d){if(d===null)return this.isReference&&R0("null is not a valid "+this.name),0;d.$$||R0('Cannot pass "'+wr(d)+'" as a '+this.name),d.$$.ptr||R0("Cannot pass deleted object as a pointer of type "+this.name),d.$$.ptrType.isConst&&R0("Cannot convert argument of type "+d.$$.ptrType.name+" to parameter type "+this.name);var k=d.$$.ptrType.registeredClass,u=gn(d.$$.ptr,k,this.registeredClass);return u}function oi(y){return this.fromWireType(Yt[y>>2])}function X1(y){return this.rawGetPointee&&(y=this.rawGetPointee(y)),y}function T1(y){this.rawDestructor&&this.rawDestructor(y)}function U1(y){y!==null&&y.delete()}function os(y,d,k){if(d===k)return y;if(k.baseClass===void 0)return null;var u=os(y,d,k.baseClass);return u===null?null:k.downcast(u)}function G1(){return Object.keys(we).length}function z1(){var y=[];for(var d in we)we.hasOwnProperty(d)&&y.push(we[d]);return y}function E1(y){Re=y,xe.length&&Re&&Re(dn)}function B1(){s.getInheritedInstanceCount=G1,s.getLiveInheritedInstances=z1,s.flushPendingDeletes=dn,s.setDelayFunction=E1}var we={};function S1(y,d){for(d===void 0&&R0("ptr should not be undefined");y.baseClass;)d=y.upcast(d),y=y.baseClass;return d}function C1(y,d){return d=S1(y,d),we[d]}function fi(y,d){(!d.ptrType||!d.ptr)&&si("makeClassHandle requires ptr and ptrType");var k=!!d.smartPtrType,u=!!d.smartPtr;return k!==u&&si("Both smartPtrType and smartPtr must be specified"),d.count={value:1},ge(Object.create(y,{$$:{value:d}}))}function J1(y){var d=this.getPointee(y);if(!d)return this.destructor(y),null;var k=C1(this.registeredClass,d);if(k!==void 0){if(k.$$.count.value===0)return k.$$.ptr=d,k.$$.smartPtr=y,k.clone();var u=k.clone();return this.destructor(y),u}function E(){return this.isSmartPointer?fi(this.registeredClass.instancePrototype,{ptrType:this.pointeeType,ptr:d,smartPtrType:this,smartPtr:y}):fi(this.registeredClass.instancePrototype,{ptrType:this,ptr:y})}var r=this.registeredClass.getActualType(d),Z=ns[r];if(!Z)return E.call(this);var C;this.isConst?C=Z.constPointerType:C=Z.pointerType;var D=os(d,this.registeredClass,C.registeredClass);return D===null?E.call(this):this.isSmartPointer?fi(C.registeredClass.instancePrototype,{ptrType:C,ptr:D,smartPtrType:this,smartPtr:y}):fi(C.registeredClass.instancePrototype,{ptrType:C,ptr:D})}function I1(){Dt.prototype.getPointee=X1,Dt.prototype.destructor=T1,Dt.prototype.argPackAdvance=8,Dt.prototype.readValueFromPointer=oi,Dt.prototype.deleteObject=U1,Dt.prototype.fromWireType=J1}function Dt(y,d,k,u,E,r,Z,C,D,Y,z){this.name=y,this.registeredClass=d,this.isReference=k,this.isConst=u,this.isSmartPointer=E,this.pointeeType=r,this.sharingPolicy=Z,this.rawGetPointee=C,this.rawConstructor=D,this.rawShare=Y,this.rawDestructor=z,!E&&d.baseClass===void 0?u?(this.toWireType=V1,this.destructorFunction=null):(this.toWireType=N1,this.destructorFunction=null):this.toWireType=W1}function O1(y,d,k){s.hasOwnProperty(y)||si("Replacing nonexistant public symbol"),s[y].overloadTable!==void 0&&k!==void 0?s[y].overloadTable[k]=d:(s[y]=d,s[y].argCount=k)}function Kr(y,d){y=ct(y);function k(r){for(var Z=[],C=1;C<y.length;++C)Z.push("a"+C);var D="dynCall_"+y+"_"+d,Y="return function "+D+"("+Z.join(", ")+`) {
11
+ `+E.replace(/^Error(:[^\n]*)?\n/,""))});return k.prototype=Object.create(y.prototype),k.prototype.constructor=k,k.prototype.toString=function(){return this.message===void 0?this.name:this.name+": "+this.message},k}var $r=void 0;function R0(y){throw new $r(y)}var rs=void 0;function si(y){throw new rs(y)}function de(y,d,k){y.forEach(function(C){ni[C]=d});function u(C){var D=k(C);D.length!==y.length&&si("Mismatched type converter count");for(var Y=0;Y<y.length;++Y)Ht(y[Y],D[Y])}var E=new Array(d.length),r=[],Z=0;d.forEach(function(C,D){qr.hasOwnProperty(C)?E[D]=qr[C]:(r.push(C),Lr.hasOwnProperty(C)||(Lr[C]=[]),Lr[C].push(function(){E[D]=qr[C],++Z,Z===r.length&&u(E)}))}),r.length===0&&u(E)}function Ht(y,d,k){if(k=k||{},!("argPackAdvance"in d))throw new TypeError("registerType registeredInstance requires argPackAdvance");var u=d.name;if(y||R0('type "'+u+'" must have a positive integer typeid pointer'),qr.hasOwnProperty(y)){if(k.ignoreDuplicateRegistrations)return;R0("Cannot register type '"+u+"' twice")}if(qr[y]=d,delete ni[y],Lr.hasOwnProperty(y)){var E=Lr[y];delete Lr[y],E.forEach(function(r){r()})}}function Ml(y,d,k,u,E){var r=cn(k);d=ct(d),Ht(y,{name:d,fromWireType:function(Z){return!!Z},toWireType:function(Z,C){return C?u:E},argPackAdvance:8,readValueFromPointer:function(Z){var C;if(k===1)C=Ar;else if(k===2)C=gr;else if(k===4)C=nt;else throw new TypeError("Unknown boolean type size: "+d);return this.fromWireType(C[Z>>r])},destructorFunction:null})}function yl(y){if(!(this instanceof hr)||!(y instanceof hr))return!1;for(var d=this.$$.ptrType.registeredClass,k=this.$$.ptr,u=y.$$.ptrType.registeredClass,E=y.$$.ptr;d.baseClass;)k=d.upcast(k),d=d.baseClass;for(;u.baseClass;)E=u.upcast(E),u=u.baseClass;return d===u&&k===E}function dl(y){return{count:y.count,deleteScheduled:y.deleteScheduled,preservePointerOnDelete:y.preservePointerOnDelete,ptr:y.ptr,ptrType:y.ptrType,smartPtr:y.smartPtr,smartPtrType:y.smartPtrType}}function Mn(y){function d(k){return k.$$.ptrType.registeredClass.name}R0(d(y)+" instance already deleted")}var yn=!1;function es(y){}function gl(y){y.smartPtr?y.smartPtrType.rawDestructor(y.smartPtr):y.ptrType.registeredClass.rawDestructor(y.ptr)}function is(y){y.count.value-=1;var d=y.count.value===0;d&&gl(y)}function ge(y){return typeof FinalizationGroup>"u"?(ge=function(d){return d},y):(yn=new FinalizationGroup(function(d){for(var k=d.next();!k.done;k=d.next()){var u=k.value;u.ptr?is(u):console.warn("object already deleted: "+u.ptr)}}),ge=function(d){return yn.register(d,d.$$,d.$$),d},es=function(d){yn.unregister(d.$$)},ge(y))}function Rl(){if(this.$$.ptr||Mn(this),this.$$.preservePointerOnDelete)return this.$$.count.value+=1,this;var y=ge(Object.create(Object.getPrototypeOf(this),{$$:{value:dl(this.$$)}}));return y.$$.count.value+=1,y.$$.deleteScheduled=!1,y}function xl(){this.$$.ptr||Mn(this),this.$$.deleteScheduled&&!this.$$.preservePointerOnDelete&&R0("Object already scheduled for deletion"),es(this),is(this.$$),this.$$.preservePointerOnDelete||(this.$$.smartPtr=void 0,this.$$.ptr=void 0)}function wl(){return!this.$$.ptr}var Re=void 0,xe=[];function dn(){for(;xe.length;){var y=xe.pop();y.$$.deleteScheduled=!1,y.delete()}}function _l(){return this.$$.ptr||Mn(this),this.$$.deleteScheduled&&!this.$$.preservePointerOnDelete&&R0("Object already scheduled for deletion"),xe.push(this),xe.length===1&&Re&&Re(dn),this.$$.deleteScheduled=!0,this}function Zl(){hr.prototype.isAliasOf=yl,hr.prototype.clone=Rl,hr.prototype.delete=xl,hr.prototype.isDeleted=wl,hr.prototype.deleteLater=_l}function hr(){}var ns={};function ss(y,d,k){if(y[d].overloadTable===void 0){var u=y[d];y[d]=function(){return y[d].overloadTable.hasOwnProperty(arguments.length)||R0("Function '"+k+"' called with an invalid number of arguments ("+arguments.length+") - expects one of ("+y[d].overloadTable+")!"),y[d].overloadTable[arguments.length].apply(this,arguments)},y[d].overloadTable=[],y[d].overloadTable[u.argCount]=u}}function Fl(y,d,k){s.hasOwnProperty(y)?((k===void 0||s[y].overloadTable!==void 0&&s[y].overloadTable[k]!==void 0)&&R0("Cannot register public name '"+y+"' twice"),ss(s,y,y),s.hasOwnProperty(k)&&R0("Cannot register multiple overloads of a function with the same number of arguments ("+k+")!"),s[y].overloadTable[k]=d):(s[y]=d,k!==void 0&&(s[y].numArguments=k))}function kl(y,d,k,u,E,r,Z,C){this.name=y,this.constructor=d,this.instancePrototype=k,this.rawDestructor=u,this.baseClass=E,this.getActualType=r,this.upcast=Z,this.downcast=C,this.pureVirtualFunctions=[]}function gn(y,d,k){for(;d!==k;)d.upcast||R0("Expected null or instance of "+k.name+", got an instance of "+d.name),y=d.upcast(y),d=d.baseClass;return y}function Vl(y,d){if(d===null)return this.isReference&&R0("null is not a valid "+this.name),0;d.$$||R0('Cannot pass "'+wr(d)+'" as a '+this.name),d.$$.ptr||R0("Cannot pass deleted object as a pointer of type "+this.name);var k=d.$$.ptrType.registeredClass,u=gn(d.$$.ptr,k,this.registeredClass);return u}function Wl(y,d){var k;if(d===null)return this.isReference&&R0("null is not a valid "+this.name),this.isSmartPointer?(k=this.rawConstructor(),y!==null&&y.push(this.rawDestructor,k),k):0;d.$$||R0('Cannot pass "'+wr(d)+'" as a '+this.name),d.$$.ptr||R0("Cannot pass deleted object as a pointer of type "+this.name),!this.isConst&&d.$$.ptrType.isConst&&R0("Cannot convert argument of type "+(d.$$.smartPtrType?d.$$.smartPtrType.name:d.$$.ptrType.name)+" to parameter type "+this.name);var u=d.$$.ptrType.registeredClass;if(k=gn(d.$$.ptr,u,this.registeredClass),this.isSmartPointer)switch(d.$$.smartPtr===void 0&&R0("Passing raw pointer to smart pointer is illegal"),this.sharingPolicy){case 0:d.$$.smartPtrType===this?k=d.$$.smartPtr:R0("Cannot convert argument of type "+(d.$$.smartPtrType?d.$$.smartPtrType.name:d.$$.ptrType.name)+" to parameter type "+this.name);break;case 1:k=d.$$.smartPtr;break;case 2:if(d.$$.smartPtrType===this)k=d.$$.smartPtr;else{var E=d.clone();k=this.rawShare(k,wn(function(){E.delete()})),y!==null&&y.push(this.rawDestructor,k)}break;default:R0("Unsupporting sharing policy")}return k}function Nl(y,d){if(d===null)return this.isReference&&R0("null is not a valid "+this.name),0;d.$$||R0('Cannot pass "'+wr(d)+'" as a '+this.name),d.$$.ptr||R0("Cannot pass deleted object as a pointer of type "+this.name),d.$$.ptrType.isConst&&R0("Cannot convert argument of type "+d.$$.ptrType.name+" to parameter type "+this.name);var k=d.$$.ptrType.registeredClass,u=gn(d.$$.ptr,k,this.registeredClass);return u}function oi(y){return this.fromWireType(Yt[y>>2])}function Xl(y){return this.rawGetPointee&&(y=this.rawGetPointee(y)),y}function Tl(y){this.rawDestructor&&this.rawDestructor(y)}function Ul(y){y!==null&&y.delete()}function os(y,d,k){if(d===k)return y;if(k.baseClass===void 0)return null;var u=os(y,d,k.baseClass);return u===null?null:k.downcast(u)}function Gl(){return Object.keys(we).length}function zl(){var y=[];for(var d in we)we.hasOwnProperty(d)&&y.push(we[d]);return y}function El(y){Re=y,xe.length&&Re&&Re(dn)}function Bl(){s.getInheritedInstanceCount=Gl,s.getLiveInheritedInstances=zl,s.flushPendingDeletes=dn,s.setDelayFunction=El}var we={};function Sl(y,d){for(d===void 0&&R0("ptr should not be undefined");y.baseClass;)d=y.upcast(d),y=y.baseClass;return d}function Cl(y,d){return d=Sl(y,d),we[d]}function fi(y,d){(!d.ptrType||!d.ptr)&&si("makeClassHandle requires ptr and ptrType");var k=!!d.smartPtrType,u=!!d.smartPtr;return k!==u&&si("Both smartPtrType and smartPtr must be specified"),d.count={value:1},ge(Object.create(y,{$$:{value:d}}))}function Jl(y){var d=this.getPointee(y);if(!d)return this.destructor(y),null;var k=Cl(this.registeredClass,d);if(k!==void 0){if(k.$$.count.value===0)return k.$$.ptr=d,k.$$.smartPtr=y,k.clone();var u=k.clone();return this.destructor(y),u}function E(){return this.isSmartPointer?fi(this.registeredClass.instancePrototype,{ptrType:this.pointeeType,ptr:d,smartPtrType:this,smartPtr:y}):fi(this.registeredClass.instancePrototype,{ptrType:this,ptr:y})}var r=this.registeredClass.getActualType(d),Z=ns[r];if(!Z)return E.call(this);var C;this.isConst?C=Z.constPointerType:C=Z.pointerType;var D=os(d,this.registeredClass,C.registeredClass);return D===null?E.call(this):this.isSmartPointer?fi(C.registeredClass.instancePrototype,{ptrType:C,ptr:D,smartPtrType:this,smartPtr:y}):fi(C.registeredClass.instancePrototype,{ptrType:C,ptr:D})}function Il(){Dt.prototype.getPointee=Xl,Dt.prototype.destructor=Tl,Dt.prototype.argPackAdvance=8,Dt.prototype.readValueFromPointer=oi,Dt.prototype.deleteObject=Ul,Dt.prototype.fromWireType=Jl}function Dt(y,d,k,u,E,r,Z,C,D,Y,z){this.name=y,this.registeredClass=d,this.isReference=k,this.isConst=u,this.isSmartPointer=E,this.pointeeType=r,this.sharingPolicy=Z,this.rawGetPointee=C,this.rawConstructor=D,this.rawShare=Y,this.rawDestructor=z,!E&&d.baseClass===void 0?u?(this.toWireType=Vl,this.destructorFunction=null):(this.toWireType=Nl,this.destructorFunction=null):this.toWireType=Wl}function Ol(y,d,k){s.hasOwnProperty(y)||si("Replacing nonexistant public symbol"),s[y].overloadTable!==void 0&&k!==void 0?s[y].overloadTable[k]=d:(s[y]=d,s[y].argCount=k)}function Kr(y,d){y=ct(y);function k(r){for(var Z=[],C=1;C<y.length;++C)Z.push("a"+C);var D="dynCall_"+y+"_"+d,Y="return function "+D+"("+Z.join(", ")+`) {
12
12
  `;return Y+=" return dynCall(rawFunction"+(Z.length?", ":"")+Z.join(", ")+`);
13
13
  `,Y+=`};
14
- `,new Function("dynCall","rawFunction",Y)(r,d)}var u=s["dynCall_"+y],E=k(u);return typeof E!="function"&&R0("unknown function pointer with signature "+y+": "+d),E}var fs=void 0;function j1(y){var d=yl(y),k=ct(d);return ur(d),k}function Rn(y,d){var k=[],u={};function E(r){if(!u[r]&&!qr[r]){if(ni[r]){ni[r].forEach(E);return}k.push(r),u[r]=!0}}throw d.forEach(E),new fs(y+": "+k.map(j1).join([", "]))}function P1(y,d,k,u,E,r,Z,C,D,Y,z,v0,x0){z=ct(z),r=Kr(E,r),C&&(C=Kr(Z,C)),Y&&(Y=Kr(D,Y)),x0=Kr(v0,x0);var m0=mn(z);F1(m0,function(){Rn("Cannot construct "+z+" due to unbound types",[u])}),de([y,d,k],u?[u]:[],function(X0){X0=X0[0];var D0,_t;u?(D0=X0.registeredClass,_t=D0.instancePrototype):_t=hr.prototype;var _r=vn(m0,function(){if(Object.getPrototypeOf(this)!==hi)throw new $r("Use 'new' to construct "+z);if(a0.constructor_body===void 0)throw new $r(z+" has no accessible constructor");var y0=a0.constructor_body[arguments.length];if(y0===void 0)throw new $r("Tried to invoke ctor of "+z+" with invalid number of parameters ("+arguments.length+") - expected ("+Object.keys(a0.constructor_body).toString()+") parameters instead!");return y0.apply(this,arguments)}),hi=Object.create(_t,{constructor:{value:_r}});_r.prototype=hi;var a0=new k1(z,_r,hi,x0,D0,r,C,Y),Qt=new Dt(z,a0,!0,!1,!1),K0=new Dt(z+"*",a0,!1,!1,!1),Z0=new Dt(z+" const*",a0,!1,!0,!1);return ns[y]={pointerType:K0,constPointerType:Z0},O1(m0,_r),[Qt,K0,Z0]})}function As(y,d){for(var k=[],u=0;u<y;u++)k.push(nt[(d>>2)+u]);return k}function hs(y){for(;y.length;){var d=y.pop(),k=y.pop();k(d)}}function Y1(y,d,k,u,E,r){Hr(d>0);var Z=As(d,k);E=Kr(u,E);var C=[r],D=[];de([],[y],function(Y){Y=Y[0];var z="constructor "+Y.name;if(Y.registeredClass.constructor_body===void 0&&(Y.registeredClass.constructor_body=[]),Y.registeredClass.constructor_body[d-1]!==void 0)throw new $r("Cannot register multiple constructors with identical number of parameters ("+(d-1)+") for class '"+Y.name+"'! Overload resolution is currently only performed using the parameter count, not actual type info!");return Y.registeredClass.constructor_body[d-1]=function(){Rn("Cannot construct "+Y.name+" due to unbound types",Z)},de([],Z,function(v0){return Y.registeredClass.constructor_body[d-1]=function(){arguments.length!==d-1&&R0(z+" called with "+arguments.length+" arguments, expected "+(d-1)),D.length=0,C.length=d;for(var m0=1;m0<d;++m0)C[m0]=v0[m0].toWireType(D,arguments[m0-1]);var X0=E.apply(null,C);return hs(D),v0[0].fromWireType(X0)},[]}),[]})}function H1(y,d){if(!(y instanceof Function))throw new TypeError("new_ called with constructor type "+typeof y+" which is not a function");var k=vn(y.name||"unknownFunctionName",function(){});k.prototype=y.prototype;var u=new k,E=y.apply(u,d);return E instanceof Object?E:u}function D1(y,d,k,u,E){var r=d.length;r<2&&R0("argTypes array size mismatch! Must at least get return value and 'this' types!");for(var Z=d[1]!==null&&k!==null,C=!1,D=1;D<d.length;++D)if(d[D]!==null&&d[D].destructorFunction===void 0){C=!0;break}for(var Y=d[0].name!=="void",z="",v0="",D=0;D<r-2;++D)z+=(D!==0?", ":"")+"arg"+D,v0+=(D!==0?", ":"")+"arg"+D+"Wired";var x0="return function "+mn(y)+"("+z+`) {
14
+ `,new Function("dynCall","rawFunction",Y)(r,d)}var u=s["dynCall_"+y],E=k(u);return typeof E!="function"&&R0("unknown function pointer with signature "+y+": "+d),E}var fs=void 0;function jl(y){var d=y1(y),k=ct(d);return ur(d),k}function Rn(y,d){var k=[],u={};function E(r){if(!u[r]&&!qr[r]){if(ni[r]){ni[r].forEach(E);return}k.push(r),u[r]=!0}}throw d.forEach(E),new fs(y+": "+k.map(jl).join([", "]))}function Pl(y,d,k,u,E,r,Z,C,D,Y,z,v0,x0){z=ct(z),r=Kr(E,r),C&&(C=Kr(Z,C)),Y&&(Y=Kr(D,Y)),x0=Kr(v0,x0);var m0=mn(z);Fl(m0,function(){Rn("Cannot construct "+z+" due to unbound types",[u])}),de([y,d,k],u?[u]:[],function(X0){X0=X0[0];var D0,_t;u?(D0=X0.registeredClass,_t=D0.instancePrototype):_t=hr.prototype;var _r=vn(m0,function(){if(Object.getPrototypeOf(this)!==hi)throw new $r("Use 'new' to construct "+z);if(a0.constructor_body===void 0)throw new $r(z+" has no accessible constructor");var y0=a0.constructor_body[arguments.length];if(y0===void 0)throw new $r("Tried to invoke ctor of "+z+" with invalid number of parameters ("+arguments.length+") - expected ("+Object.keys(a0.constructor_body).toString()+") parameters instead!");return y0.apply(this,arguments)}),hi=Object.create(_t,{constructor:{value:_r}});_r.prototype=hi;var a0=new kl(z,_r,hi,x0,D0,r,C,Y),Qt=new Dt(z,a0,!0,!1,!1),K0=new Dt(z+"*",a0,!1,!1,!1),Z0=new Dt(z+" const*",a0,!1,!0,!1);return ns[y]={pointerType:K0,constPointerType:Z0},Ol(m0,_r),[Qt,K0,Z0]})}function As(y,d){for(var k=[],u=0;u<y;u++)k.push(nt[(d>>2)+u]);return k}function hs(y){for(;y.length;){var d=y.pop(),k=y.pop();k(d)}}function Yl(y,d,k,u,E,r){Hr(d>0);var Z=As(d,k);E=Kr(u,E);var C=[r],D=[];de([],[y],function(Y){Y=Y[0];var z="constructor "+Y.name;if(Y.registeredClass.constructor_body===void 0&&(Y.registeredClass.constructor_body=[]),Y.registeredClass.constructor_body[d-1]!==void 0)throw new $r("Cannot register multiple constructors with identical number of parameters ("+(d-1)+") for class '"+Y.name+"'! Overload resolution is currently only performed using the parameter count, not actual type info!");return Y.registeredClass.constructor_body[d-1]=function(){Rn("Cannot construct "+Y.name+" due to unbound types",Z)},de([],Z,function(v0){return Y.registeredClass.constructor_body[d-1]=function(){arguments.length!==d-1&&R0(z+" called with "+arguments.length+" arguments, expected "+(d-1)),D.length=0,C.length=d;for(var m0=1;m0<d;++m0)C[m0]=v0[m0].toWireType(D,arguments[m0-1]);var X0=E.apply(null,C);return hs(D),v0[0].fromWireType(X0)},[]}),[]})}function Hl(y,d){if(!(y instanceof Function))throw new TypeError("new_ called with constructor type "+typeof y+" which is not a function");var k=vn(y.name||"unknownFunctionName",function(){});k.prototype=y.prototype;var u=new k,E=y.apply(u,d);return E instanceof Object?E:u}function Dl(y,d,k,u,E){var r=d.length;r<2&&R0("argTypes array size mismatch! Must at least get return value and 'this' types!");for(var Z=d[1]!==null&&k!==null,C=!1,D=1;D<d.length;++D)if(d[D]!==null&&d[D].destructorFunction===void 0){C=!0;break}for(var Y=d[0].name!=="void",z="",v0="",D=0;D<r-2;++D)z+=(D!==0?", ":"")+"arg"+D,v0+=(D!==0?", ":"")+"arg"+D+"Wired";var x0="return function "+mn(y)+"("+z+`) {
15
15
  if (arguments.length !== `+(r-2)+`) {
16
16
  throwBindingError('function `+y+" called with ' + arguments.length + ' arguments, expected "+(r-2)+` args!');
17
17
  }
@@ -24,7 +24,7 @@ throwBindingError('function `+y+" called with ' + arguments.length + ' arguments
24
24
  `,X0.push(_t+"_dtor"),D0.push(d[D].destructorFunction))}Y&&(x0+=`var ret = retType.fromWireType(rv);
25
25
  return ret;
26
26
  `),x0+=`}
27
- `,X0.push(x0);var _r=H1(Function,X0).apply(null,D0);return _r}function Q1(y,d,k,u,E,r,Z,C){var D=As(k,u);d=ct(d),r=Kr(E,r),de([],[y],function(Y){Y=Y[0];var z=Y.name+"."+d;C&&Y.registeredClass.pureVirtualFunctions.push(d);function v0(){Rn("Cannot call "+z+" due to unbound types",D)}var x0=Y.registeredClass.instancePrototype,m0=x0[d];return m0===void 0||m0.overloadTable===void 0&&m0.className!==Y.name&&m0.argCount===k-2?(v0.argCount=k-2,v0.className=Y.name,x0[d]=v0):(ss(x0,d,z),x0[d].overloadTable[k-2]=v0),de([],D,function(X0){var D0=D1(z,X0,Y,r,Z);return x0[d].overloadTable===void 0?(D0.argCount=k-2,x0[d]=D0):x0[d].overloadTable[k-2]=D0,[]}),[]})}var xn=[],Ut=[{},{value:void 0},{value:null},{value:!0},{value:!1}];function ls(y){y>4&&--Ut[y].refcount===0&&(Ut[y]=void 0,xn.push(y))}function L1(){for(var y=0,d=5;d<Ut.length;++d)Ut[d]!==void 0&&++y;return y}function q1(){for(var y=5;y<Ut.length;++y)if(Ut[y]!==void 0)return Ut[y];return null}function $1(){s.count_emval_handles=L1,s.get_first_emval=q1}function wn(y){switch(y){case void 0:return 1;case null:return 2;case!0:return 3;case!1:return 4;default:{var d=xn.length?xn.pop():Ut.length;return Ut[d]={refcount:1,value:y},d}}}function K1(y,d){d=ct(d),Ht(y,{name:d,fromWireType:function(k){var u=Ut[k].value;return ls(k),u},toWireType:function(k,u){return wn(u)},argPackAdvance:8,readValueFromPointer:oi,destructorFunction:null})}function wr(y){if(y===null)return"null";var d=typeof y;return d==="object"||d==="array"||d==="function"?y.toString():""+y}function b1(y,d){switch(d){case 2:return function(k){return this.fromWireType(An[k>>2])};case 3:return function(k){return this.fromWireType(hn[k>>3])};default:throw new TypeError("Unknown float type: "+y)}}function tl(y,d,k){var u=cn(k);d=ct(d),Ht(y,{name:d,fromWireType:function(E){return E},toWireType:function(E,r){if(typeof r!="number"&&typeof r!="boolean")throw new TypeError('Cannot convert "'+wr(r)+'" to '+this.name);return r},argPackAdvance:8,readValueFromPointer:b1(d,u),destructorFunction:null})}function rl(y,d,k){switch(d){case 0:return k?function(E){return Ar[E]}:function(E){return $0[E]};case 1:return k?function(E){return gr[E>>1]}:function(E){return ei[E>>1]};case 2:return k?function(E){return nt[E>>2]}:function(E){return Yt[E>>2]};default:throw new TypeError("Unknown integer type: "+y)}}function el(y,d,k,u,E){d=ct(d),E===-1&&(E=4294967295);var r=cn(k),Z=function(Y){return Y};if(u===0){var C=32-8*k;Z=function(Y){return Y<<C>>>C}}var D=d.indexOf("unsigned")!=-1;Ht(y,{name:d,fromWireType:Z,toWireType:function(Y,z){if(typeof z!="number"&&typeof z!="boolean")throw new TypeError('Cannot convert "'+wr(z)+'" to '+this.name);if(z<u||z>E)throw new TypeError('Passing a number "'+wr(z)+'" from JS side to C/C++ side to an argument of type "'+d+'", which is outside the valid range ['+u+", "+E+"]!");return D?z>>>0:z|0},argPackAdvance:8,readValueFromPointer:rl(d,r,u!==0),destructorFunction:null})}function il(y,d,k){var u=[Int8Array,Uint8Array,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array],E=u[d];function r(Z){Z=Z>>2;var C=Yt,D=C[Z],Y=C[Z+1];return new E(dr,Y,D)}k=ct(k),Ht(y,{name:k,fromWireType:r,argPackAdvance:8,readValueFromPointer:r},{ignoreDuplicateRegistrations:!0})}function nl(y,d){d=ct(d);var k=d==="std::string";Ht(y,{name:d,fromWireType:function(u){var E=Yt[u>>2],r;if(k)for(var Z=u+4,C=0;C<=E;++C){var D=u+4+C;if($0[D]==0||C==E){var Y=D-Z,z=j2(Z,Y);r===void 0?r=z:(r+=String.fromCharCode(0),r+=z),Z=D+1}}else{for(var v0=new Array(E),C=0;C<E;++C)v0[C]=String.fromCharCode($0[u+4+C]);r=v0.join("")}return ur(u),r},toWireType:function(u,E){E instanceof ArrayBuffer&&(E=new Uint8Array(E));var r,Z=typeof E=="string";Z||E instanceof Uint8Array||E instanceof Uint8ClampedArray||E instanceof Int8Array||R0("Cannot pass non-string to std::string"),k&&Z?r=function(){return Gh(E)}:r=function(){return E.length};var C=r(),D=_n(4+C+1);if(Yt[D>>2]=C,k&&Z)P2(E,D+4,C+1);else if(Z)for(var Y=0;Y<C;++Y){var z=E.charCodeAt(Y);z>255&&(ur(D),R0("String has UTF-16 code units that do not fit in 8 bits")),$0[D+4+Y]=z}else for(var Y=0;Y<C;++Y)$0[D+4+Y]=E[Y];return u!==null&&u.push(ur,D),D},argPackAdvance:8,readValueFromPointer:oi,destructorFunction:function(u){ur(u)}})}function sl(y,d,k){k=ct(k);var u,E,r,Z,C;d===2?(u=zh,E=Eh,Z=Bh,r=function(){return ei},C=1):d===4&&(u=Sh,E=Ch,Z=Jh,r=function(){return Yt},C=2),Ht(y,{name:k,fromWireType:function(D){for(var Y=Yt[D>>2],z=r(),v0,x0=D+4,m0=0;m0<=Y;++m0){var X0=D+4+m0*d;if(z[X0>>C]==0||m0==Y){var D0=X0-x0,_t=u(x0,D0);v0===void 0?v0=_t:(v0+=String.fromCharCode(0),v0+=_t),x0=X0+d}}return ur(D),v0},toWireType:function(D,Y){typeof Y!="string"&&R0("Cannot pass non-string to C++ string type "+k);var z=Z(Y),v0=_n(4+z+d);return Yt[v0>>2]=z>>C,E(Y,v0+4,z+d),D!==null&&D.push(ur,v0),v0},argPackAdvance:8,readValueFromPointer:oi,destructorFunction:function(D){ur(D)}})}function ol(y,d){d=ct(d),Ht(y,{isVoid:!0,name:d,argPackAdvance:0,fromWireType:function(){},toWireType:function(k,u){}})}function fl(){xr()}function Al(){return $0.length}function hl(y){xr("OOM")}function ll(y){y=y>>>0,hl(y)}function ul(){xr("trap!")}function al(y,d,k){$0.copyWithin(y,d,d+k)}m1(),$r=s.BindingError=pn(Error,"BindingError"),rs=s.InternalError=pn(Error,"InternalError"),Z1(),I1(),B1(),fs=s.UnboundTypeError=pn(Error,"UnboundTypeError"),$1();var cl=!1;function us(y){for(var d=[],k=0;k<y.length;k++){var u=y[k];u>255&&(cl&&Hr(!1,"Character code "+u+" ("+String.fromCharCode(u)+") at offset "+k+" not in 0x00-0xFF."),u&=255),d.push(String.fromCharCode(u))}return d.join("")}var ml=typeof atob=="function"?atob:function(y){var d="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",k="",u,E,r,Z,C,D,Y,z=0;y=y.replace(/[^A-Za-z0-9\+\/\=]/g,"");do Z=d.indexOf(y.charAt(z++)),C=d.indexOf(y.charAt(z++)),D=d.indexOf(y.charAt(z++)),Y=d.indexOf(y.charAt(z++)),u=Z<<2|C>>4,E=(C&15)<<4|D>>2,r=(D&3)<<6|Y,k=k+String.fromCharCode(u),D!==64&&(k=k+String.fromCharCode(E)),Y!==64&&(k=k+String.fromCharCode(r));while(z<y.length);return k};function vl(y){if(typeof F=="boolean"&&F){var d;try{d=Buffer.from(y,"base64")}catch{d=new Buffer(y,"base64")}return new Uint8Array(d.buffer,d.byteOffset,d.byteLength)}try{for(var k=ml(y),u=new Uint8Array(k.length),E=0;E<k.length;++E)u[E]=k.charCodeAt(E);return u}catch{throw new Error("Converting base64 string to bytes failed.")}}function lr(y){if($2(y))return vl(y.slice(q2.length))}var pl={Math,Int8Array,Int16Array,Int32Array,Uint8Array,Uint16Array,Float32Array,Float64Array},Ml={A:al,B:ll,C:ul,D:o1,a:xr,b:fn,c:Vh,d:f1,e:h1,f:u1,g:a1,h:K2,i:b2,j:c1,k:M1,l:P1,m:Y1,n:Q1,o:K1,p:tl,q:el,r:il,s:nl,t:sl,u:ol,v:ls,w:wn,x:fl,y:wr,z:Al},c0=function(y,d,k){var u=new y.Int8Array(k),E=new y.Int16Array(k),r=new y.Int32Array(k),Z=new y.Uint8Array(k),C=new y.Uint16Array(k),D=new y.Float32Array(k),Y=new y.Float64Array(k),z=d.D|0,v0=0,x0=0,m0=0,X0=0,D0=0,_t=0,_r=0,hi=0,a0=y.Math.imul,Qt=y.Math.clz32,K0=d.a,Z0=d.b,y0=d.c,F0=d.d,_l=d.e,k0=d.f,Zl=d.g,JR=d.h,IR=d.i,OR=d.j,Fl=d.k,ps=d.l,Ms=d.m,br=d.n,kl=d.o,ys=d.p,Lt=d.q,mt=d.r,ds=d.s,kn=d.t,Vl=d.u,jR=d.v,PR=d.w,Wl=d.x,YR=d.y,Nl=d.z,Xl=d.A,Tl=d.B,gs=d.C,m=22384,HR=5265264,DR=0;function Ul(){vv(),pv()}function Gl(){zl(0)}function zl(t){t=t|0;var e=0,i=0,n=0,o=0,f=0,h=0,l=0,c=0,M=0,w=0,_=0;t=m,m=m+16|0,e=t+8|0,i=t,_=L8()|0,f=q8()|0,o=Ee()|0,h=K8()|0,l=b8()|0,c=jo()|0,M=Fi()|0,w=ki()|0,n=ki()|0,ps(o|0,h|0,l|0,c|0,M|0,9,w|0,_|0,n|0,f|0,6204,Po()|0,138),o5(1),r[i>>2]=5,r[i+4>>2]=0,r[e>>2]=r[i>>2],r[e+4>>2]=r[i+4>>2],c5(6211,e),r[i>>2]=3,r[i+4>>2]=0,r[e>>2]=r[i>>2],r[e+4>>2]=r[i+4>>2],d5(6216,e),r[i>>2]=10,r[i+4>>2]=0,r[e>>2]=r[i>>2],r[e+4>>2]=r[i+4>>2],Z5(6225,e),f=G5()|0,n=z5()|0,_=Be()|0,w=B5()|0,M=S5()|0,c=jo()|0,l=Fi()|0,h=ki()|0,o=ki()|0,ps(_|0,w|0,M|0,c|0,l|0,11,h|0,f|0,o|0,n|0,6234,Po()|0,139),Y5(2),r[i>>2]=6,r[i+4>>2]=0,r[e>>2]=r[i>>2],r[e+4>>2]=r[i+4>>2],K5(6211,e),r[i>>2]=4,r[i+4>>2]=0,r[e>>2]=r[i>>2],r[e+4>>2]=r[i+4>>2],bn(6248,e),r[i>>2]=5,r[i+4>>2]=0,r[e>>2]=r[i>>2],r[e+4>>2]=r[i+4>>2],bn(6265,e),r[i>>2]=6,r[i+4>>2]=0,r[e>>2]=r[i>>2],r[e+4>>2]=r[i+4>>2],bn(6280,e),r[i>>2]=7,r[i+4>>2]=0,r[e>>2]=r[i>>2],r[e+4>>2]=r[i+4>>2],hv(6216,e),m=t}function El(t,e,i){t=t|0,e=e|0,i=i|0;var n=0,o=0,f=0,h=0,l=0;n=m,m=m+32|0,h=n+16|0,o=n+8|0,l=n,f=b(20)|0,Pl(f,e,i),r[l>>2]=0,r[h>>2]=r[l>>2],Hl(o,f,h),e=r[o>>2]|0,r[o>>2]=r[t>>2],r[t>>2]=e,e=o+4|0,i=t+4|0,f=r[e>>2]|0,r[e>>2]=r[i>>2],r[i>>2]=f,Vn(o),i=b(352)|0,Yl(i,r[t>>2]|0),f=t+8|0,r[l>>2]=0,r[h>>2]=r[l>>2],bl(o,i,h),i=r[o>>2]|0,r[o>>2]=r[f>>2],r[f>>2]=i,f=o+4|0,i=t+12|0,e=r[f>>2]|0,r[f>>2]=r[i>>2],r[i>>2]=e,Wn(o),m=n}function Bl(t,e){t=t|0,e=e|0,Na(r[t+8>>2]|0,e)}function Sl(t){return t=t|0,t=(Gm(r[t+8>>2]|0)|0)+107|0,Z[t>>0]|Z[t+1>>0]<<8|Z[t+2>>0]<<16|Z[t+3>>0]<<24|0}function Cl(t,e,i){t=t|0,e=e|0,i=i|0;var n=0,o=0,f=0,h=0,l=0;n=m,m=m+32|0,f=n+16|0,o=n+8|0,h=n,l=b(12)|0,zm(l,e,i),r[h>>2]=0,r[f>>2]=r[h>>2],Sm(o,l,f),l=r[o>>2]|0,r[o>>2]=r[t>>2],r[t>>2]=l,l=o+4|0,i=t+4|0,e=r[l>>2]|0,r[l>>2]=r[i>>2],r[i>>2]=e,Hn(o),i=t+8|0,e=b(12)|0,Em(e,r[t>>2]|0),r[h>>2]=0,r[f>>2]=r[h>>2],Pm(o,e,f),e=r[o>>2]|0,r[o>>2]=r[i>>2],r[i>>2]=e,e=o+4|0,h=t+12|0,l=r[e>>2]|0,r[e>>2]=r[h>>2],r[h>>2]=l,Go(o),Bm(o,r[i>>2]|0),i=t+16|0,h=r[o>>2]|0,l=o+4|0,e=r[l>>2]|0,r[o>>2]=0,r[l>>2]=0,r[f>>2]=r[i>>2],r[i>>2]=h,i=t+20|0,r[f+4>>2]=r[i>>2],r[i>>2]=e,ze(f),ze(o),m=n}function Jl(t,e){t=t|0,e=e|0;var i=0;t=t+16|0,i=r[t>>2]|0;t:do if(i|0)switch(e|0){case 4:{Dn(i);break t}case 8:{_i(i),_i(r[t>>2]|0);break t}default:break t}while(0)}function Il(t,e){t=t|0,e=e|0;var i=0;i=t+16|0,t=r[i>>2]|0;t:do if(t|0){switch(e|0){case 1:{S3(t);break t}case 2:{C3(t);break t}case 8:{Dn(t),t=r[i>>2]|0;break}case 4:break;default:break t}Dn(t)}while(0)}function Ol(t,e){t=t|0,e=e|0;var i=0;i=t+16|0,t=r[i>>2]|0;t:do if(t|0){switch(e|0){case 1:{y8(t);break t}case 2:{d8(t);break t}case 8:{_i(t),t=r[i>>2]|0;break}case 4:break;default:break t}_i(t)}while(0)}function jl(t,e){t=t|0,e=e|0,t=r[t+16>>2]|0,t|0&&Ie[r[r[t>>2]>>2]&63](t,e)|0}function Pl(t,e,i){t=t|0,e=e|0,i=i|0,r[t>>2]=e,r[t+4>>2]=i,r[t+8>>2]=0,u[t+12>>0]=0,u[t+13>>0]=0,r[t+16>>2]=0}function Yl(t,e){t=t|0,e=e|0,r[t>>2]=e,ws(t+4|0,e),hu(t+247|0),r[t+288>>2]=0,r[t+292>>2]=0,r[t+296>>2]=0,_s(t+300|0),e=t+312|0,r[e>>2]=0,r[e+4>>2]=0,r[e+8>>2]=0,r[e+12>>2]=0,lu(t+328|0),uu(t)}function Hl(t,e,i){t=t|0,e=e|0,i=i|0;var n=0,o=0;i=m,m=m+16|0,n=i,r[t>>2]=e,o=b(16)|0,r[o+4>>2]=0,r[o+8>>2]=0,r[o>>2]=4296,r[o+12>>2]=e,r[t+4>>2]=o,r[n>>2]=e,r[n+4>>2]=e,Dl(t,n),m=i}function Vn(t){t=t|0;var e=0,i=0;t=r[t+4>>2]|0,t|0&&(i=t+4|0,e=r[i>>2]|0,r[i>>2]=e+-1,(e|0)==0)&&(_0[r[(r[t>>2]|0)+8>>2]&255](t),qt(t))}function Dl(t,e){t=t|0,e=e|0}function QR(t){t=t|0,_l(t|0)|0,Jp()}function Ql(t){t=t|0,C0(t),$(t)}function Ll(t){t=t|0,t=r[t+12>>2]|0,t|0&&$(t)}function ql(t,e){return t=t|0,e=e|0,((r[e+4>>2]|0)==6407?t+12|0:0)|0}function $l(t){t=t|0,h0(t,16)}function h0(t,e){t=t|0,e=e|0,Kl(t)}function Kl(t){t=t|0,$(t)}function bl(t,e,i){t=t|0,e=e|0,i=i|0;var n=0,o=0;i=m,m=m+16|0,n=i,r[t>>2]=e,o=b(16)|0,r[o+4>>2]=0,r[o+8>>2]=0,r[o>>2]=4324,r[o+12>>2]=e,r[t+4>>2]=o,r[n>>2]=e,r[n+4>>2]=e,tu(t,n),m=i}function Wn(t){t=t|0;var e=0,i=0;t=r[t+4>>2]|0,t|0&&(i=t+4|0,e=r[i>>2]|0,r[i>>2]=e+-1,(e|0)==0)&&(_0[r[(r[t>>2]|0)+8>>2]&255](t),qt(t))}function tu(t,e){t=t|0,e=e|0}function ru(t){t=t|0,C0(t),$(t)}function eu(t){t=t|0,t=r[t+12>>2]|0,t|0&&(su(t),$(t))}function iu(t,e){return t=t|0,e=e|0,((r[e+4>>2]|0)==6605?t+12|0:0)|0}function nu(t){t=t|0,h0(t,16)}function su(t){t=t|0,li(t+320|0),Nn(t+312|0),Rs(t+300|0),Au(t+288|0),ou(t+247|0),xs(t+4|0)}function li(t){t=t|0;var e=0,i=0;t=r[t+4>>2]|0,t|0&&(i=t+4|0,e=r[i>>2]|0,r[i>>2]=e+-1,(e|0)==0)&&(_0[r[(r[t>>2]|0)+8>>2]&255](t),qt(t))}function Nn(t){t=t|0;var e=0,i=0;t=r[t+4>>2]|0,t|0&&(i=t+4|0,e=r[i>>2]|0,r[i>>2]=e+-1,(e|0)==0)&&(_0[r[(r[t>>2]|0)+8>>2]&255](t),qt(t))}function Rs(t){t=t|0,fu(t)}function ou(t){t=t|0,t=t+34|0,t=Z[t>>0]|Z[t+1>>0]<<8|Z[t+2>>0]<<16|Z[t+3>>0]<<24,t|0&&Rf(t)}function xs(t){t=t|0,ui(r[t+12>>2]|0)}function fu(t){t=t|0;var e=0,i=0;e=r[t>>2]|0,i=e,e|0&&(r[t+4>>2]=i,h0(e,(r[t+8>>2]|0)-i|0))}function Au(t){t=t|0;var e=0,i=0;e=r[t>>2]|0,i=e,e|0&&(r[t+4>>2]=i,h0(e,(r[t+8>>2]|0)-i|0))}function ui(t){t=t|0,f2(r[t+-4>>2]|0)}function ws(t,e){t=t|0,e=e|0,r[t>>2]=e,r[t+4>>2]=0,r[t+8>>2]=0,r[t+12>>2]=Zr(1048576)|0}function hu(t){t=t|0;var e=0;e=t+32|0,u[e>>0]=0,u[e+1>>0]=0,t=t+34|0,u[t>>0]=0,u[t+1>>0]=0,u[t+2>>0]=0,u[t+3>>0]=0}function _s(t){t=t|0,r[t>>2]=0,r[t+4>>2]=0,r[t+8>>2]=0}function lu(t){t=t|0,r[t>>2]=0,r[t+4>>2]=0,r[t+8>>2]=0,r[t+12>>2]=0,t=t+16|0,r[t>>2]=-1,r[t+4>>2]=-1}function uu(t){t=t|0;var e=0,i=0,n=0,o=0,f=0,h=0;if(h=m,m=m+64|0,o=h+32|0,i=h+56|0,e=h+16|0,f=h,Fr(r[t>>2]|0,i,4),Ru(o,i,i+4|0),i=te(6693)|0,n=u[o+11>>0]|0,(i|0)==((n<<24>>24<0?r[o+4>>2]|0:n&255)|0)){if(n=(GM(o,0,-1,6693,i)|0)==0,Je(o),n){if(i=r[t>>2]|0,r[e>>2]=0,r[e+4>>2]=0,r[e+8>>2]=0,r[e+12>>2]=0,r[o>>2]=r[e>>2],r[o+4>>2]=r[e+4>>2],r[o+8>>2]=r[e+8>>2],r[o+12>>2]=r[e+12>>2],Ze(i,o),i=t+20|0,Fr(r[t>>2]|0,i,227),cu(t,i),n=mu()|0,e=r[n>>2]|0,n=r[n+4>>2]|0,(e|0)!=(n|0))do vu(o,e),pu(o,i),Xn(o),e=e+24|0;while((e|0)!=(n|0));Mu(t),yu(t),du(r[t>>2]|0),n=r[t>>2]|0,e=(r[t+116>>2]|0)+8|0,i=f,r[i>>2]=0,r[i+4>>2]=0,i=f+8|0,r[i>>2]=e,r[i+4>>2]=0,r[o>>2]=r[f>>2],r[o+4>>2]=r[f+4>>2],r[o+8>>2]=r[f+8>>2],r[o+12>>2]=r[f+12>>2],Ze(n,o),gu(t+4|0),m=h;return}}else Je(o);h=F0(8)|0,au(h),k0(h|0,2592,8)}function Zr(t){t=t|0;var e=0;return e=Ti(t+68|0)|0,t=e+68&-64,r[t+-4>>2]=e,t|0}function Fr(t,e,i){t=t|0,e=e|0,i=i|0;var n=0,o=0,f=0,h=0,l=0,c=0;h=t+13|0,u[h>>0]|0?u[t+12>>0]=1:(f=t+4|0,n=r[f>>2]|0,l=t+8|0,o=r[l>>2]|0,c=n-o|0,i=(c|0)<(i|0)?c:i,i&&(dt(e|0,(r[t>>2]|0)+o|0,i|0)|0,o=r[l>>2]|0,n=r[f>>2]|0),c=o+i|0,r[l>>2]=c,r[t+16>>2]=i,(c|0)>=(n|0)&&(u[h>>0]=1))}function au(t){t=t|0,Zt(t,6791),r[t>>2]=4352}function Ze(t,e){t=t|0,e=e|0;var i=0,n=0,o=0;o=e+8|0,e=r[o>>2]|0,o=r[o+4>>2]|0,i=r[t+4>>2]|0,n=((i|0)<0)<<31>>31,(o|0)<(n|0)|(o|0)==(n|0)&e>>>0<i>>>0?r[t+8>>2]=e:u[t+12>>0]=1}function cu(t,e){t=t|0,e=e|0;var i=0,n=0,o=0,f=0,h=0,l=0,c=0,M=0,w=0,_=0;w=e+179|0,u[z>>0]=u[w>>0],u[z+1>>0]=u[w+1>>0],u[z+2>>0]=u[w+2>>0],u[z+3>>0]=u[w+3>>0],u[z+4>>0]=u[w+4>>0],u[z+5>>0]=u[w+5>>0],u[z+6>>0]=u[w+6>>0],u[z+7>>0]=u[w+7>>0],M=+Y[z>>3],h=e+187|0,u[z>>0]=u[h>>0],u[z+1>>0]=u[h+1>>0],u[z+2>>0]=u[h+2>>0],u[z+3>>0]=u[h+3>>0],u[z+4>>0]=u[h+4>>0],u[z+5>>0]=u[h+5>>0],u[z+6>>0]=u[h+6>>0],u[z+7>>0]=u[h+7>>0],_=+Y[z>>3],t=e+195|0,u[z>>0]=u[t>>0],u[z+1>>0]=u[t+1>>0],u[z+2>>0]=u[t+2>>0],u[z+3>>0]=u[t+3>>0],u[z+4>>0]=u[t+4>>0],u[z+5>>0]=u[t+5>>0],u[z+6>>0]=u[t+6>>0],u[z+7>>0]=u[t+7>>0],f=+Y[z>>3],c=e+203|0,u[z>>0]=u[c>>0],u[z+1>>0]=u[c+1>>0],u[z+2>>0]=u[c+2>>0],u[z+3>>0]=u[c+3>>0],u[z+4>>0]=u[c+4>>0],u[z+5>>0]=u[c+5>>0],u[z+6>>0]=u[c+6>>0],u[z+7>>0]=u[c+7>>0],l=+Y[z>>3],o=e+211|0,u[z>>0]=u[o>>0],u[z+1>>0]=u[o+1>>0],u[z+2>>0]=u[o+2>>0],u[z+3>>0]=u[o+3>>0],u[z+4>>0]=u[o+4>>0],u[z+5>>0]=u[o+5>>0],u[z+6>>0]=u[o+6>>0],u[z+7>>0]=u[o+7>>0],i=+Y[z>>3],e=e+219|0,u[z>>0]=u[e>>0],u[z+1>>0]=u[e+1>>0],u[z+2>>0]=u[e+2>>0],u[z+3>>0]=u[e+3>>0],u[z+4>>0]=u[e+4>>0],u[z+5>>0]=u[e+5>>0],u[z+6>>0]=u[e+6>>0],u[z+7>>0]=u[e+7>>0],n=+Y[z>>3],Y[z>>3]=_,u[w>>0]=u[z>>0],u[w+1>>0]=u[z+1>>0],u[w+2>>0]=u[z+2>>0],u[w+3>>0]=u[z+3>>0],u[w+4>>0]=u[z+4>>0],u[w+5>>0]=u[z+5>>0],u[w+6>>0]=u[z+6>>0],u[w+7>>0]=u[z+7>>0],Y[z>>3]=M,u[c>>0]=u[z>>0],u[c+1>>0]=u[z+1>>0],u[c+2>>0]=u[z+2>>0],u[c+3>>0]=u[z+3>>0],u[c+4>>0]=u[z+4>>0],u[c+5>>0]=u[z+5>>0],u[c+6>>0]=u[z+6>>0],u[c+7>>0]=u[z+7>>0],Y[z>>3]=l,u[h>>0]=u[z>>0],u[h+1>>0]=u[z+1>>0],u[h+2>>0]=u[z+2>>0],u[h+3>>0]=u[z+3>>0],u[h+4>>0]=u[z+4>>0],u[h+5>>0]=u[z+5>>0],u[h+6>>0]=u[z+6>>0],u[h+7>>0]=u[z+7>>0],Y[z>>3]=f,u[o>>0]=u[z>>0],u[o+1>>0]=u[z+1>>0],u[o+2>>0]=u[z+2>>0],u[o+3>>0]=u[z+3>>0],u[o+4>>0]=u[z+4>>0],u[o+5>>0]=u[z+5>>0],u[o+6>>0]=u[z+6>>0],u[o+7>>0]=u[z+7>>0],Y[z>>3]=n,u[t>>0]=u[z>>0],u[t+1>>0]=u[z+1>>0],u[t+2>>0]=u[z+2>>0],u[t+3>>0]=u[z+3>>0],u[t+4>>0]=u[z+4>>0],u[t+5>>0]=u[z+5>>0],u[t+6>>0]=u[z+6>>0],u[t+7>>0]=u[z+7>>0],Y[z>>3]=i,u[e>>0]=u[z>>0],u[e+1>>0]=u[z+1>>0],u[e+2>>0]=u[z+2>>0],u[e+3>>0]=u[z+3>>0],u[e+4>>0]=u[z+4>>0],u[e+5>>0]=u[z+5>>0],u[e+6>>0]=u[z+6>>0],u[e+7>>0]=u[z+7>>0]}function mu(){var t=0,e=0,i=0,n=0,o=0,f=0,h=0,l=0;if(o=m,m=m+48|0,i=o+24|0,n=o,t=o+44|0,!(u[21440]|0)&&Gr(21440)|0&&(r[5374]=0,r[5375]=0,r[5376]=0,zr(21440)),!(u[21448]|0)&&Gr(21448)|0&&zr(21448),(r[5374]|0)==(r[5375]|0)){if(FM(21508),(r[5374]|0)==(r[5375]|0)){u[i>>0]=u[t>>0]|0,wu(n,i),t=r[5375]|0;do if(t>>>0>=(r[5376]|0)>>>0)if(t=((t-(r[5374]|0)|0)/24|0)+1|0,e=Wu(21496)|0,e>>>0<t>>>0)L0(21496);else{f=r[5374]|0,l=((r[5376]|0)-f|0)/24|0,h=l<<1,Fu(i,l>>>0<e>>>1>>>0?h>>>0<t>>>0?t:h:e,((r[5375]|0)-f|0)/24|0,21504),e=i+8|0,Tn(r[e>>2]|0,n),r[e>>2]=(r[e>>2]|0)+24,ku(21496,i),Vu(i);break}else _u(i,21496,1),l=i+4|0,Tn(r[l>>2]|0,n),r[l>>2]=(r[l>>2]|0)+24,Zu(i);while(0);Xn(n)}kM(21508)}return m=o,21496}function vu(t,e){t=t|0,e=e|0;var i=0,n=0;i=e+16|0,n=r[i>>2]|0;do if(n)if((e|0)==(n|0)){n=Zs(t)|0,r[t+16>>2]=n,i=r[i>>2]|0,vr[r[(r[i>>2]|0)+12>>2]&15](i,n);break}else{r[t+16>>2]=Gi[r[(r[n>>2]|0)+8>>2]&15](n)|0;break}else r[t+16>>2]=0;while(0)}function pu(t,e){if(t=t|0,e=e|0,t=r[t+16>>2]|0,!t)e=F0(4)|0,r[e>>2]=0,Yu(e),k0(e|0,4168,131);else{vr[r[(r[t>>2]|0)+24>>2]&15](t,e);return}}function Xn(t){t=t|0;var e=0;e=r[t+16>>2]|0,(t|0)!=(e|0)?e|0&&_0[r[(r[e>>2]|0)+20>>2]&255](e):_0[r[(r[e>>2]|0)+16>>2]&255](e)}function Mu(t){t=t|0;var e=0,i=0,n=0,o=0,f=0,h=0,l=0,c=0,M=0,w=0,_=0,V=0;V=m,m=m+96|0,o=V+16|0,w=V,l=V+72|0,f=r[t>>2]|0,c=C[t+114>>1]|0,M=w,r[M>>2]=0,r[M+4>>2]=0,M=w+8|0,r[M>>2]=c,r[M+4>>2]=0,r[o>>2]=r[w>>2],r[o+4>>2]=r[w+4>>2],r[o+8>>2]=r[w+8>>2],r[o+12>>2]=r[w+12>>2],Ze(f,o),f=t+120|0;t:do if(r[f>>2]|0){for(h=o+2|0,c=o+16|0,M=o+20|0,w=o+18|0,i=0;;){if(!(ai(r[t>>2]|0)|0)||Hu(r[t>>2]|0)|0)break t;for(Fr(r[t>>2]|0,o,54),e=7277,n=h;(u[n>>0]|0)==(u[e>>0]|0);)if(n=n+1|0,(n|0)==(c|0)){_=8;break}else e=e+1|0;if((_|0)==8&&(_=0,(Z[w>>0]|Z[w+1>>0]<<8)<<16>>16==22204))break;if(Qu(r[t>>2]|0,(Z[M>>0]|Z[M+1>>0]<<8)&65535,0,1),i=i+1|0,i>>>0>=(r[f>>2]|0)>>>0)break t}w=(Z[M>>0]|Z[M+1>>0]<<8)&65535,_=gf(w)|0,Fr(r[t>>2]|0,_,w),Du(t,_),$(_),_=t+125|0,qu(l,t+247|0,(Z[_>>0]|Z[_+1>>0]<<8)&65535),$u(t+300|0,l)|0,Rs(l),m=V;return}while(0);V=F0(8)|0,Lu(V),k0(V|0,2672,8)}function yu(t){t=t|0;var e=0,i=0,n=0,o=0,f=0,h=0,l=0,c=0,M=0,w=0,_=0,V=0;if(_=m,m=m+176|0,o=_+40|0,f=_+24|0,e=_+16|0,n=_,c=_+152|0,M=_+136|0,w=_+56|0,l=r[t>>2]|0,h=t+116|0,V=r[h>>2]|0,i=f,r[i>>2]=0,r[i+4>>2]=0,i=f+8|0,r[i>>2]=V,r[i+4>>2]=0,r[o>>2]=r[f>>2],r[o+4>>2]=r[f+4>>2],r[o+8>>2]=r[f+8>>2],r[o+12>>2]=r[f+12>>2],Ze(l,o),l=e,r[l>>2]=0,r[l+4>>2]=0,Fr(r[t>>2]|0,e,8),ai(r[t>>2]|0)|0||(V=F0(8)|0,Un(V),k0(V|0,2704,8)),i=e,e=r[i>>2]|0,i=r[i+4>>2]|0,(e|0)==-1&(i|0)==-1&&(V=F0(8)|0,Vs(V,7488),k0(V|0,2720,8)),V=r[t>>2]|0,l=n,r[l>>2]=0,r[l+4>>2]=0,l=n+8|0,r[l>>2]=e,r[l+4>>2]=i,r[o>>2]=r[n>>2],r[o+4>>2]=r[n+4>>2],r[o+8>>2]=r[n+8>>2],r[o+12>>2]=r[n+12>>2],Ze(V,o),ai(r[t>>2]|0)|0||(V=F0(8)|0,Un(V),k0(V|0,2704,8)),Fr(r[t>>2]|0,o,8),ai(r[t>>2]|0)|0||(V=F0(8)|0,Un(V),k0(V|0,2704,8)),r[o>>2]|0&&(V=F0(8)|0,ha(V),k0(V|0,2736,8)),f=t+288|0,l=t+292|0,r[l>>2]=r[f>>2],V=t+259|0,(Z[V>>0]|Z[V+1>>0]<<8|Z[V+2>>0]<<16|Z[V+3>>0]<<24|0)==-1&&(V=F0(8)|0,Vs(V,7606),k0(V|0,2720,8)),n=o+4|0,la(f,(r[n>>2]|0)+1|0),V=r[f>>2]|0,r[V>>2]=(r[h>>2]|0)+8,r[V+4>>2]=0,(r[n>>2]|0)>>>0>1){if(ws(c,r[t>>2]|0),Ws(M,c),st(w,32,2,8,0),Gn(M),ot(w),!(r[n>>2]|0))f=r[f>>2]|0,i=f;else{i=1;do i>>>0>1?e=r[(r[f>>2]|0)+(i+-1<<3)>>2]|0:e=0,h=Q0(w,M,e,1)|0,e=r[f>>2]|0,V=e+(i<<3)|0,r[V>>2]=h,r[V+4>>2]=((h|0)<0)<<31>>31,i=i+1|0;while(i>>>0<=(r[n>>2]|0)>>>0);i=e,f=e}if(e=r[l>>2]|0,e-i>>3>>>0>1){o=e-f>>3,n=f,e=1,i=r[n>>2]|0,n=r[n+4>>2]|0;do V=f+(e<<3)|0,l=V,i=yt(r[l>>2]|0,r[l+4>>2]|0,i|0,n|0)|0,n=y0()|0,r[V>>2]=i,r[V+4>>2]=n,e=e+1|0;while(e>>>0<o>>>0)}ft(w),Ns(M),xs(c)}m=_}function du(t){t=t|0,u[t+12>>0]=0,u[t+13>>0]=0}function gu(t){t=t|0,r[t+8>>2]=0,r[t+4>>2]=0}function te(t){return t=t|0,Vi(t)|0}function Ru(t,e,i){t=t|0,e=e|0,i=i|0;var n=0,o=0,f=0,h=0,l=0,c=0;if(h=m,m=m+16|0,o=e,f=h,n=i-o|0,n>>>0>4294967279&&o2(t),n>>>0<11?u[t+11>>0]=n:(c=n+16&-16,l=b(c)|0,r[t>>2]=l,r[t+8>>2]=c|-2147483648,r[t+4>>2]=n,t=l),(e|0)!=(i|0)){for(o=i-o|0,n=t;Fe(n,e),e=e+1|0,(e|0)!=(i|0);)n=n+1|0;t=t+o|0}u[f>>0]=0,Fe(t,f),m=h}function Fe(t,e){t=t|0,e=e|0,u[t>>0]=u[e>>0]|0}function xu(t){t=t|0,ht(t),$(t)}function wu(t,e){t=t|0,e=e|0,r[t>>2]=4372,r[t+16>>2]=t}function _u(t,e,i){t=t|0,e=e|0,i=i|0,r[t>>2]=e,e=r[e+4>>2]|0,r[t+4>>2]=e,r[t+8>>2]=e+(i*24|0)}function Zu(t){t=t|0,r[(r[t>>2]|0)+4>>2]=r[t+4>>2]}function Tn(t,e){t=t|0,e=e|0;var i=0,n=0;i=e+16|0,n=r[i>>2]|0;do if(n)if((e|0)==(n|0)){n=Zs(t)|0,r[t+16>>2]=n,i=r[i>>2]|0,vr[r[(r[i>>2]|0)+12>>2]&15](i,n);break}else{r[t+16>>2]=n,r[i>>2]=0;break}else r[t+16>>2]=0;while(0)}function Zs(t){return t=t|0,t|0}function Fu(t,e,i,n){t=t|0,e=e|0,i=i|0,n=n|0;var o=0;o=t+12|0,r[o>>2]=0,r[t+16>>2]=n;do if(e)if(e>>>0>178956970)o=F0(8)|0,$t(o,6723),r[o>>2]=5956,k0(o|0,3928,123);else{n=b(e*24|0)|0;break}else n=0;while(0);r[t>>2]=n,i=n+(i*24|0)|0,r[t+8>>2]=i,r[t+4>>2]=i,r[o>>2]=n+(e*24|0)}function ku(t,e){t=t|0,e=e|0;var i=0,n=0,o=0,f=0,h=0,l=0,c=0;if(l=r[t>>2]|0,c=t+4|0,i=r[c>>2]|0,h=e+4|0,(i|0)==(l|0))o=h,f=t,n=r[h>>2]|0,i=l;else{n=r[h>>2]|0;do i=i+-24|0,Tn(n+-24|0,i),n=(r[h>>2]|0)+-24|0,r[h>>2]=n;while((i|0)!=(l|0));o=h,f=t,i=r[t>>2]|0}r[f>>2]=n,r[o>>2]=i,l=e+8|0,h=r[c>>2]|0,r[c>>2]=r[l>>2],r[l>>2]=h,l=t+8|0,c=e+12|0,t=r[l>>2]|0,r[l>>2]=r[c>>2],r[c>>2]=t,r[e>>2]=r[o>>2]}function Vu(t){t=t|0;var e=0,i=0,n=0,o=0;if(i=r[t+4>>2]|0,n=t+8|0,e=r[n>>2]|0,(e|0)!=(i|0))do o=e+-24|0,r[n>>2]=o,Xn(o),e=r[n>>2]|0;while((e|0)!=(i|0));e=r[t>>2]|0,e|0&&h0(e,(r[t+12>>2]|0)-e|0)}function Wu(t){return t=t|0,178956970}function Nu(t){t=t|0,$(t)}function Xu(t){return t=t|0,t=b(8)|0,r[t>>2]=4372,t|0}function Tu(t,e){t=t|0,e=e|0,r[e>>2]=4372}function Uu(t){t=t|0}function Gu(t){t=t|0,h0(t,8)}function zu(t,e){t=t|0,e=e|0,Cu(t+4|0,e)}function Eu(t,e){return t=t|0,e=e|0,((r[e+4>>2]|0)==7183?t+4|0:0)|0}function Bu(t){return t=t|0,2664}function Su(t){t=t|0}function Cu(t,e){t=t|0,e=e|0,Ju(t,e)}function Ju(t,e){t=t|0,e=e|0;var i=0,n=0;if(t=e+104|0,e=Z[t>>0]|0,i=e>>>7,n=e>>>6&1,(i|0)==1&(n|0)!=0&&(n=F0(8)|0,Iu(n),k0(n|0,2632,8)),(i|0)==(n|0))n=F0(8)|0,Ou(n),k0(n|0,2648,8);else{u[t>>0]=e&63;return}}function Iu(t){t=t|0,Zt(t,7076),r[t>>2]=4416}function Ou(t){t=t|0,Zt(t,7144),r[t>>2]=4436}function ju(t){t=t|0,ht(t),$(t)}function Pu(t){t=t|0,ht(t),$(t)}function Yu(t){t=t|0,r[t>>2]=6092}function ai(t){t=t|0;var e=0;return e=t+12|0,t=(u[e>>0]|0)==0,u[e>>0]=0,t|0}function Hu(t){return t=t|0,(u[t+13>>0]|0)!=0|0}function Du(t,e){t=t|0,e=e|0,t=t+247|0,Ku(t,e),(Z[t>>0]|Z[t+1>>0]<<8)<<16>>16!=2&&(e=F0(8)|0,Fs(e),k0(e|0,2688,8))}function Qu(t,e,i,n){t=t|0,e=e|0,i=i|0,n=n|0;var o=0,f=0;switch(n|0){case 0:break;case 2:{n=r[t+4>>2]|0,e=yt(yt(e|0,i|0,-1,-1)|0,y0()|0,n|0,((n|0)<0)<<31>>31|0)|0,i=y0()|0;break}case 1:{n=r[t+8>>2]|0,e=yt(n|0,((n|0)<0)<<31>>31|0,e|0,i|0)|0,i=y0()|0;break}default:i=0,e=0}o=r[t+4>>2]|0,f=((o|0)<0)<<31>>31,n=t+12|0,(i|0)<0|((i|0)>(f|0)|(i|0)==(f|0)&e>>>0>=o>>>0)?u[n>>0]=1:(u[n>>0]=0,r[t+8>>2]=e)}function Lu(t){t=t|0,Zt(t,7410),r[t>>2]=4476}function qu(t,e,i){t=t|0,e=e|0,i=i|0;var n=0,o=0,f=0,h=0,l=0,c=0,M=0;if(h=m,m=m+16|0,f=h,_s(t),o=e+32|0,(Z[o>>0]|Z[o+1>>0]<<8)<<16>>16){n=e+34|0,e=0;do c=Z[n>>0]|Z[n+1>>0]<<8|Z[n+2>>0]<<16|Z[n+3>>0]<<24,M=c+(e*6|0)|0,l=c+(e*6|0)+2|0,c=c+(e*6|0)+4|0,ke(f,(Z[M>>0]|Z[M+1>>0]<<8)&65535,(Z[l>>0]|Z[l+1>>0]<<8)&65535,(Z[c>>0]|Z[c+1>>0]<<8)&65535),ks(t,f),i=i-((Z[l>>0]|Z[l+1>>0]<<8)&65535)|0,e=e+1|0;while(e>>>0<((Z[o>>0]|Z[o+1>>0]<<8)&65535)>>>0)}(i|0)<0&&(M=F0(8)|0,Fs(M),k0(M|0,2688,8)),i|0&&(ke(f,0,i,2),ks(t,f)),m=h}function $u(t,e){t=t|0,e=e|0;var i=0,n=0;return i=m,m=m+16|0,n=i+1|0,u[n>>0]=u[i>>0]|0,fa(t,e,n),m=i,t|0}function Ku(t,e){t=t|0,e=e|0;var i=0,n=0,o=0,f=0,h=0,l=0,c=0;if(n=e+2|0,f=Z[e>>0]|Z[e+1>>0]<<8,u[t>>0]=f,u[t+1>>0]=f>>8,f=t+2|0,n=Z[n>>0]|Z[n+1>>0]<<8,u[f>>0]=n,u[f+1>>0]=n>>8,u[t+4>>0]=u[e+4>>0]|0,f=e+6|0,u[t+5>>0]=u[e+5>>0]|0,n=e+8|0,i=t+6|0,f=Z[f>>0]|Z[f+1>>0]<<8,u[i>>0]=f,u[i+1>>0]=f>>8,i=e+12|0,f=t+8|0,n=Z[n>>0]|Z[n+1>>0]<<8|Z[n+2>>0]<<16|Z[n+3>>0]<<24,u[f>>0]=n,u[f+1>>0]=n>>8,u[f+2>>0]=n>>16,u[f+3>>0]=n>>24,f=t+12|0,i=Z[i>>0]|Z[i+1>>0]<<8|Z[i+2>>0]<<16|Z[i+3>>0]<<24,u[f>>0]=i,u[f+1>>0]=i>>8,u[f+2>>0]=i>>16,u[f+3>>0]=i>>24,f=e+16|0,i=f,i=Z[i>>0]|Z[i+1>>0]<<8|Z[i+2>>0]<<16|Z[i+3>>0]<<24,f=f+4|0,f=Z[f>>0]|Z[f+1>>0]<<8|Z[f+2>>0]<<16|Z[f+3>>0]<<24,n=t+16|0,h=n,u[h>>0]=i,u[h+1>>0]=i>>8,u[h+2>>0]=i>>16,u[h+3>>0]=i>>24,n=n+4|0,u[n>>0]=f,u[n+1>>0]=f>>8,u[n+2>>0]=f>>16,u[n+3>>0]=f>>24,n=e+32|0,f=e+24|0,h=f,h=Z[h>>0]|Z[h+1>>0]<<8|Z[h+2>>0]<<16|Z[h+3>>0]<<24,f=f+4|0,f=Z[f>>0]|Z[f+1>>0]<<8|Z[f+2>>0]<<16|Z[f+3>>0]<<24,i=t+24|0,o=i,u[o>>0]=h,u[o+1>>0]=h>>8,u[o+2>>0]=h>>16,u[o+3>>0]=h>>24,i=i+4|0,u[i>>0]=f,u[i+1>>0]=f>>8,u[i+2>>0]=f>>16,u[i+3>>0]=f>>24,i=e+34|0,f=t+32|0,n=Z[n>>0]|Z[n+1>>0]<<8,u[f>>0]=n,u[f+1>>0]=n>>8,o=t+34|0,t=Z[o>>0]|Z[o+1>>0]<<8|Z[o+2>>0]<<16|Z[o+3>>0]<<24,t?(Rf(t),t=Z[f>>0]|Z[f+1>>0]<<8):t=n,n=gf((t&65535)*6|0)|0,u[o>>0]=n,u[o+1>>0]=n>>8,u[o+2>>0]=n>>16,u[o+3>>0]=n>>24,t<<16>>16&&(t=e+36|0,h=Z[i>>0]|Z[i+1>>0]<<8,u[n>>0]=h,u[n+1>>0]=h>>8,e=e+38|0,h=n+2|0,t=Z[t>>0]|Z[t+1>>0]<<8,u[h>>0]=t,u[h+1>>0]=t>>8,h=n+4|0,e=Z[e>>0]|Z[e+1>>0]<<8,u[h>>0]=e,u[h+1>>0]=e>>8,((Z[f>>0]|Z[f+1>>0]<<8)&65535)>1)){t=1;do e=i,i=i+6|0,h=Z[o>>0]|Z[o+1>>0]<<8|Z[o+2>>0]<<16|Z[o+3>>0]<<24,l=e+8|0,n=h+(t*6|0)|0,c=Z[i>>0]|Z[i+1>>0]<<8,u[n>>0]=c,u[n+1>>0]=c>>8,e=e+10|0,n=h+(t*6|0)+2|0,l=Z[l>>0]|Z[l+1>>0]<<8,u[n>>0]=l,u[n+1>>0]=l>>8,h=h+(t*6|0)+4|0,e=Z[e>>0]|Z[e+1>>0]<<8,u[h>>0]=e,u[h+1>>0]=e>>8,t=t+1|0;while(t>>>0<((Z[f>>0]|Z[f+1>>0]<<8)&65535)>>>0)}}function Fs(t){t=t|0,Zt(t,7354),r[t>>2]=4456}function bu(t){t=t|0,ht(t),$(t)}function ta(t){t=t|0,ht(t),$(t)}function ks(t,e){t=t|0,e=e|0;var i=0,n=0,o=0,f=0,h=0,l=0,c=0,M=0;l=m,m=m+32|0,o=l,f=t+4|0,i=r[f>>2]|0,h=t+8|0;do if((i|0)==(r[h>>2]|0))if(i=((i-(r[t>>2]|0)|0)/12|0)+1|0,n=oa(t)|0,n>>>0<i>>>0)L0(t);else{c=r[t>>2]|0,M=((r[h>>2]|0)-c|0)/12|0,h=M<<1,ia(o,M>>>0<n>>>1>>>0?h>>>0<i>>>0?i:h:n,((r[f>>2]|0)-c|0)/12|0,t+8|0),h=o+8|0,f=r[h>>2]|0,r[f>>2]=r[e>>2],r[f+4>>2]=r[e+4>>2],r[f+8>>2]=r[e+8>>2],r[h>>2]=(r[h>>2]|0)+12,na(t,o),sa(o);break}else ra(o,t,1),M=o+4|0,c=r[M>>2]|0,r[c>>2]=r[e>>2],r[c+4>>2]=r[e+4>>2],r[c+8>>2]=r[e+8>>2],r[M>>2]=(r[M>>2]|0)+12,ea(o);while(0);m=l}function ke(t,e,i,n){t=t|0,e=e|0,i=i|0,n=n|0,r[t>>2]=e,r[t+4>>2]=i,r[t+8>>2]=n}function ra(t,e,i){t=t|0,e=e|0,i=i|0,r[t>>2]=e,e=r[e+4>>2]|0,r[t+4>>2]=e,r[t+8>>2]=e+(i*12|0)}function ea(t){t=t|0,r[(r[t>>2]|0)+4>>2]=r[t+4>>2]}function ia(t,e,i,n){t=t|0,e=e|0,i=i|0,n=n|0;var o=0;o=t+12|0,r[o>>2]=0,r[t+16>>2]=n;do if(e)if(e>>>0>357913941)o=F0(8)|0,$t(o,6723),r[o>>2]=5956,k0(o|0,3928,123);else{n=b(e*12|0)|0;break}else n=0;while(0);r[t>>2]=n,i=n+(i*12|0)|0,r[t+8>>2]=i,r[t+4>>2]=i,r[o>>2]=n+(e*12|0)}function na(t,e){t=t|0,e=e|0;var i=0,n=0,o=0,f=0,h=0;n=r[t>>2]|0,h=t+4|0,f=e+4|0,o=(r[h>>2]|0)-n|0,i=(r[f>>2]|0)+(((o|0)/-12|0)*12|0)|0,r[f>>2]=i,(o|0)>0?(lt(i|0,n|0,o|0)|0,n=f,i=r[f>>2]|0):n=f,f=r[t>>2]|0,r[t>>2]=i,r[n>>2]=f,f=e+8|0,o=r[h>>2]|0,r[h>>2]=r[f>>2],r[f>>2]=o,f=t+8|0,h=e+12|0,t=r[f>>2]|0,r[f>>2]=r[h>>2],r[h>>2]=t,r[e>>2]=r[n>>2]}function sa(t){t=t|0;var e=0,i=0,n=0;e=r[t+4>>2]|0,i=t+8|0,n=r[i>>2]|0,(n|0)!=(e|0)&&(r[i>>2]=n+(~(((n+-12-e|0)>>>0)/12|0)*12|0)),e=r[t>>2]|0,e|0&&h0(e,(r[t+12>>2]|0)-e|0)}function oa(t){return t=t|0,357913941}function fa(t,e,i){t=t|0,e=e|0,i=i|0;var n=0;Aa(t),r[t>>2]=r[e>>2],i=e+4|0,r[t+4>>2]=r[i>>2],n=e+8|0,r[t+8>>2]=r[n>>2],r[n>>2]=0,r[i>>2]=0,r[e>>2]=0}function Aa(t){t=t|0;var e=0,i=0,n=0,o=0;e=r[t>>2]|0,i=e,e|0&&(n=t+4|0,r[n>>2]=i,o=t+8|0,h0(e,(r[o>>2]|0)-i|0),r[o>>2]=0,r[n>>2]=0,r[t>>2]=0)}function Un(t){t=t|0,Zt(t,7660),r[t>>2]=4496}function Vs(t,e){t=t|0,e=e|0,Zt(t,e),r[t>>2]=4516}function ha(t){t=t|0,Zt(t,7704),r[t>>2]=4536}function la(t,e){t=t|0,e=e|0;var i=0,n=0,o=0;i=t+4|0,o=r[t>>2]|0,n=(r[i>>2]|0)-o>>3,n>>>0>=e>>>0?n>>>0>e>>>0&&(r[i>>2]=o+(e<<3)):ma(t,e-n|0)}function Ws(t,e){t=t|0,e=e|0,r[t>>2]=e,r[t+4>>2]=0,r[t+8>>2]=-1}function st(t,e,i,n,o){t=t|0,e=e|0,i=i|0,n=n|0,o=o|0;var f=0;r[t+4>>2]=e,r[t+8>>2]=i,r[t+12>>2]=n,r[t+16>>2]=o,r[t+36>>2]=0,r[t+40>>2]=0,r[t+44>>2]=0,Xs(t+48|0),r[t+68>>2]=0,r[t+72>>2]=0,r[t+76>>2]=0;do if(o){for(n=t+20|0,r[n>>2]=0,r[t+24>>2]=o,i=o,f=0;i=i>>>1,e=f+1|0,i;)f=e;r[n>>2]=(1<<f|0)==(o|0)?f:e,i=o>>>1,r[t+28>>2]=0-i,i=o+-1-i|0}else if(i=t+20|0,(e+-1|0)>>>0<31){r[i>>2]=e,o=1<<e,r[t+24>>2]=o,i=o>>>1,r[t+28>>2]=0-i,i=o+-1-i|0;break}else{r[i>>2]=32,r[t+24>>2]=0,r[t+28>>2]=-2147483648,i=2147483647;break}while(0);r[t+32>>2]=i,r[t>>2]=0}function Gn(t){t=t|0;var e=0;e=((Ve(r[t>>2]|0)|0)&255)<<24,e=((Ve(r[t>>2]|0)|0)&255)<<16|e,e=e|((Ve(r[t>>2]|0)|0)&255)<<8,r[t+4>>2]=e|(Ve(r[t>>2]|0)|0)&255}function ot(t){t=t|0;var e=0,i=0,n=0,o=0,f=0,h=0,l=0,c=0,M=0,w=0,_=0,V=0,U=0,G=0,T=0,e0=0,P=0,I=0;T=m,m=m+64|0,U=T+44|0,G=T,M=t+36|0,w=t+40|0;t:do if((r[M>>2]|0)==(r[w>>2]|0)){_=t+8|0;r:do if(!(r[_>>2]|0))V=t+20|0;else{for(o=t+20|0,f=t+44|0,h=U+4|0,l=t+44|0,c=U+8|0,n=0;;){if(P0(G,(r[o>>2]|0)+1|0,0,0),e=r[w>>2]|0,e>>>0<(r[f>>2]|0)>>>0)Us(U,M,1),mi(r[h>>2]|0,G),r[h>>2]=(r[h>>2]|0)+44,Gs(U);else{if(e=((e-(r[M>>2]|0)|0)/44|0)+1|0,i=Ss(M)|0,i>>>0<e>>>0)break;e0=r[M>>2]|0,I=((r[f>>2]|0)-e0|0)/44|0,P=I<<1,zs(U,I>>>0<i>>>1>>>0?P>>>0<e>>>0?e:P:i,((r[w>>2]|0)-e0|0)/44|0,l),mi(r[c>>2]|0,G),r[c>>2]=(r[c>>2]|0)+44,Es(M,U),Bs(U)}if(G0(G),n=n+1|0,n>>>0>=(r[_>>2]|0)>>>0){V=o;break r}}L0(M)}while(0);if(r[V>>2]|0){for(h=t+12|0,l=t+68|0,c=t+72|0,M=t+76|0,w=U+4|0,o=t+76|0,f=U+8|0,n=1;;){if(e=r[h>>2]|0,P0(G,1<<(n>>>0>e>>>0?e:n),0,0),e=r[c>>2]|0,e>>>0<(r[M>>2]|0)>>>0)Us(U,l,1),mi(r[w>>2]|0,G),r[w>>2]=(r[w>>2]|0)+44,Gs(U);else{if(e=((e-(r[l>>2]|0)|0)/44|0)+1|0,i=Ss(l)|0,i>>>0<e>>>0)break;I=r[l>>2]|0,e0=((r[M>>2]|0)-I|0)/44|0,P=e0<<1,zs(U,e0>>>0<i>>>1>>>0?P>>>0<e>>>0?e:P:i,((r[c>>2]|0)-I|0)/44|0,o),mi(r[f>>2]|0,G),r[f>>2]=(r[f>>2]|0)+44,Es(l,U),Bs(U)}if(G0(G),n=n+1|0,n>>>0>(r[V>>2]|0)>>>0)break t}L0(l)}}while(0);m=T}function Q0(t,e,i,n){return t=t|0,e=e|0,i=i|0,n=n|0,i=(Va(t,e,(r[t+36>>2]|0)+(n*44|0)|0)|0)+i|0,e=r[t+24>>2]|0,(i|0)<0?i+e|0:i-(i>>>0<e>>>0?0:e)|0}function ft(t){t=t|0,ci(t+68|0),ci(t+36|0)}function Ns(t){t=t|0}function ua(t){t=t|0,ht(t),$(t)}function aa(t){t=t|0,ht(t),$(t)}function ca(t){t=t|0,ht(t),$(t)}function ma(t,e){t=t|0,e=e|0;var i=0,n=0,o=0,f=0,h=0,l=0,c=0,M=0;l=m,m=m+32|0,o=l,f=t+8|0,h=t+4|0,i=r[h>>2]|0;do if((r[f>>2]|0)-i>>3>>>0<e>>>0)if(i=(i-(r[t>>2]|0)>>3)+e|0,n=xa(t)|0,n>>>0<i>>>0)L0(t);else{c=r[t>>2]|0,M=(r[f>>2]|0)-c|0,f=M>>2,pa(o,M>>3>>>0<n>>>1>>>0?f>>>0<i>>>0?i:f:n,(r[h>>2]|0)-c>>3,t+8|0),Ma(o,e),ya(t,o),da(o);break}else va(t,e);while(0);m=l}function va(t,e){t=t|0,e=e|0;var i=0,n=0,o=0;o=m,m=m+16|0,n=o,ga(n,t,e),t=n+4|0,e=r[t>>2]|0,i=r[n+8>>2]|0,(e|0)!=(i|0)&&(i=i+-8-e|0,Br(e|0,0,i+8&-8|0)|0,r[t>>2]=e+((i>>>3)+1<<3)),Ra(n),m=o}function pa(t,e,i,n){t=t|0,e=e|0,i=i|0,n=n|0;var o=0;o=t+12|0,r[o>>2]=0,r[t+16>>2]=n;do if(e)if(e>>>0>536870911)o=F0(8)|0,$t(o,6723),r[o>>2]=5956,k0(o|0,3928,123);else{n=b(e<<3)|0;break}else n=0;while(0);r[t>>2]=n,i=n+(i<<3)|0,r[t+8>>2]=i,r[t+4>>2]=i,r[o>>2]=n+(e<<3)}function Ma(t,e){t=t|0,e=e|0;var i=0,n=0;n=m,m=m+16|0,i=n,wa(i,t+8|0,e),t=r[i>>2]|0,e=r[i+4>>2]|0,(t|0)!=(e|0)&&(e=e+-8-t|0,Br(t|0,0,e+8&-8|0)|0,r[i>>2]=t+((e>>>3)+1<<3)),_a(i),m=n}function ya(t,e){t=t|0,e=e|0;var i=0,n=0,o=0,f=0,h=0;n=r[t>>2]|0,h=t+4|0,f=e+4|0,o=(r[h>>2]|0)-n|0,i=(r[f>>2]|0)+(0-(o>>3)<<3)|0,r[f>>2]=i,(o|0)>0?(lt(i|0,n|0,o|0)|0,n=f,i=r[f>>2]|0):n=f,f=r[t>>2]|0,r[t>>2]=i,r[n>>2]=f,f=e+8|0,o=r[h>>2]|0,r[h>>2]=r[f>>2],r[f>>2]=o,f=t+8|0,h=e+12|0,t=r[f>>2]|0,r[f>>2]=r[h>>2],r[h>>2]=t,r[e>>2]=r[n>>2]}function da(t){t=t|0;var e=0,i=0,n=0;e=r[t+4>>2]|0,i=t+8|0,n=r[i>>2]|0,(n|0)!=(e|0)&&(r[i>>2]=n+(~((n+-8-e|0)>>>3)<<3)),e=r[t>>2]|0,e|0&&h0(e,(r[t+12>>2]|0)-e|0)}function ga(t,e,i){t=t|0,e=e|0,i=i|0,r[t>>2]=e,e=r[e+4>>2]|0,r[t+4>>2]=e,r[t+8>>2]=e+(i<<3)}function Ra(t){t=t|0,r[(r[t>>2]|0)+4>>2]=r[t+4>>2]}function xa(t){return t=t|0,536870911}function wa(t,e,i){t=t|0,e=e|0,i=i|0,r[t>>2]=r[e>>2],r[t+4>>2]=(r[e>>2]|0)+(i<<3),r[t+8>>2]=e}function _a(t){t=t|0,r[r[t+8>>2]>>2]=r[t>>2]}function Xs(t){t=t|0,r[t+12>>2]=1,r[t+16>>2]=2,r[t+8>>2]=4096,r[t+4>>2]=4,r[t>>2]=4}function ci(t){t=t|0;var e=0,i=0,n=0;if(i=r[t>>2]|0,i|0){if(n=t+4|0,e=r[n>>2]|0,(e|0)==(i|0))e=i;else{do e=e+-44|0,G0(e);while((e|0)!=(i|0));e=r[t>>2]|0}r[n>>2]=i,h0(e,(r[t+8>>2]|0)-e|0)}}function G0(t){t=t|0;var e=0;e=r[t+8>>2]|0,e|0&&ui(e),e=r[t+12>>2]|0,e|0&&ui(e),e=r[t+16>>2]|0,e|0&&ui(e)}function Ve(t){t=t|0;var e=0,i=0;return i=t+4|0,e=r[i>>2]|0,(e|0)>=(r[t+8>>2]|0)&&(Ts(t),e=r[i>>2]|0),t=r[t+12>>2]|0,r[i>>2]=e+1,u[t+e>>0]|0}function Ts(t){t=t|0;var e=0;if(r[t+4>>2]=0,Fr(r[t>>2]|0,r[t+12>>2]|0,1048576),e=Za(r[t>>2]|0)|0,r[t+8>>2]=e,!e)e=F0(8)|0,Fa(e),k0(e|0,2752,8);else return}function Za(t){return t=t|0,r[t+16>>2]|0}function Fa(t){t=t|0,Zt(t,7769),r[t>>2]=4556}function ka(t){t=t|0,ht(t),$(t)}function P0(t,e,i,n){t=t|0,e=e|0,i=i|0,n=n|0;var o=0,f=0,h=0;if(r[t>>2]=e,u[t+4>>0]=i&1,f=t+8|0,r[f>>2]=0,h=t+12|0,r[h>>2]=0,o=t+16|0,r[o>>2]=0,(e+-2|0)>>>0>2046&&(t=F0(8)|0,Zt(t,7789),k0(t|0,3912,8)),r[t+32>>2]=e+-1,e>>>0>16&(i^1)){for(i=3;1<<i+2>>>0<e>>>0;)i=i+1|0;e=1<<i,r[t+36>>2]=e,r[t+40>>2]=15-i,r[o>>2]=Zr((e<<2)+8|0)|0,e=r[t>>2]|0}else r[o>>2]=0,r[t+40>>2]=0,r[t+36>>2]=0;if(r[f>>2]=Zr(e<<2)|0,o=Zr(r[t>>2]<<2)|0,r[h>>2]=o,r[t+20>>2]=0,e=r[t>>2]|0,i=t+24|0,r[i>>2]=e,e=(e|0)!=0,n){if(e){e=0;do r[o+(e<<2)>>2]=r[n+(e<<2)>>2],e=e+1|0;while(e>>>0<(r[t>>2]|0)>>>0)}}else if(e){e=0;do r[o+(e<<2)>>2]=1,e=e+1|0;while(e>>>0<(r[t>>2]|0)>>>0)}En(t),n=((r[t>>2]|0)+6|0)>>>1,r[i>>2]=n,r[t+28>>2]=n}function Us(t,e,i){t=t|0,e=e|0,i=i|0,r[t>>2]=e,e=r[e+4>>2]|0,r[t+4>>2]=e,r[t+8>>2]=e+(i*44|0)}function Gs(t){t=t|0,r[(r[t>>2]|0)+4>>2]=r[t+4>>2]}function mi(t,e){t=t|0,e=e|0;var i=0;r[t>>2]=r[e>>2],u[t+4>>0]=u[e+4>>0]|0,i=e+8|0,r[t+8>>2]=r[i>>2],r[t+12>>2]=r[e+12>>2],r[t+16>>2]=r[e+16>>2],r[t+20>>2]=r[e+20>>2],r[t+24>>2]=r[e+24>>2],r[t+28>>2]=r[e+28>>2],r[t+32>>2]=r[e+32>>2],r[t+36>>2]=r[e+36>>2],r[t+40>>2]=r[e+40>>2],r[i>>2]=0,r[i+4>>2]=0,r[i+8>>2]=0}function zs(t,e,i,n){t=t|0,e=e|0,i=i|0,n=n|0;var o=0;o=t+12|0,r[o>>2]=0,r[t+16>>2]=n;do if(e)if(e>>>0>97612893)o=F0(8)|0,$t(o,6723),r[o>>2]=5956,k0(o|0,3928,123);else{n=b(e*44|0)|0;break}else n=0;while(0);r[t>>2]=n,i=n+(i*44|0)|0,r[t+8>>2]=i,r[t+4>>2]=i,r[o>>2]=n+(e*44|0)}function Es(t,e){t=t|0,e=e|0;var i=0,n=0,o=0,f=0,h=0,l=0,c=0;if(l=r[t>>2]|0,c=t+4|0,i=r[c>>2]|0,h=e+4|0,(i|0)==(l|0))o=h,f=t,n=r[h>>2]|0,i=l;else{n=r[h>>2]|0;do i=i+-44|0,zn(n+-44|0,i),n=(r[h>>2]|0)+-44|0,r[h>>2]=n;while((i|0)!=(l|0));o=h,f=t,i=r[t>>2]|0}r[f>>2]=n,r[o>>2]=i,l=e+8|0,h=r[c>>2]|0,r[c>>2]=r[l>>2],r[l>>2]=h,l=t+8|0,c=e+12|0,t=r[l>>2]|0,r[l>>2]=r[c>>2],r[c>>2]=t,r[e>>2]=r[o>>2]}function Bs(t){t=t|0;var e=0,i=0,n=0,o=0;if(i=r[t+4>>2]|0,n=t+8|0,e=r[n>>2]|0,(e|0)!=(i|0))do o=e+-44|0,r[n>>2]=o,G0(o),e=r[n>>2]|0;while((e|0)!=(i|0));e=r[t>>2]|0,e|0&&h0(e,(r[t+12>>2]|0)-e|0)}function Ss(t){return t=t|0,97612893}function zn(t,e){t=t|0,e=e|0;var i=0,n=0,o=0,f=0;i=r[e>>2]|0,r[t>>2]=i,u[t+4>>0]=u[e+4>>0]|0,r[t+20>>2]=r[e+20>>2],r[t+24>>2]=r[e+24>>2],r[t+28>>2]=r[e+28>>2],r[t+32>>2]=r[e+32>>2],f=t+36|0,r[f>>2]=r[e+36>>2],r[t+40>>2]=r[e+40>>2],i=i<<2,n=Zr(i)|0,r[t+8>>2]=n,o=r[t>>2]|0,o|0&&dt(n|0,r[e+8>>2]|0,o<<2|0)|0,i=Zr(i)|0,r[t+12>>2]=i,n=r[t>>2]|0,n|0&&dt(i|0,r[e+12>>2]|0,n<<2|0)|0,i=r[f>>2]|0,i?(n=Zr((i<<2)+8|0)|0,r[t+16>>2]=n,i=(r[f>>2]<<2)+8|0,i|0&&dt(n|0,r[e+16>>2]|0,i|0)|0):r[t+16>>2]=0}function En(t){t=t|0;var e=0,i=0,n=0,o=0,f=0,h=0,l=0,c=0,M=0,w=0,_=0,V=0,U=0,G=0;if(G=t+24|0,o=t+20|0,e=(r[o>>2]|0)+(r[G>>2]|0)|0,r[o>>2]=e,e>>>0>32768)if(r[o>>2]=0,!(r[t>>2]|0))e=0;else{n=r[t+12>>2]|0,i=0;do _=n+(i<<2)|0,e=((r[_>>2]|0)+1|0)>>>1,r[_>>2]=e,e=(r[o>>2]|0)+e|0,r[o>>2]=e,i=i+1|0;while(i>>>0<(r[t>>2]|0)>>>0)}_=2147483648/(e>>>0)|0;do if(!(u[t+4>>0]|0)&&(V=t+36|0,(r[V>>2]|0)!=0)){if(r[t>>2]|0){l=r[t+8>>2]|0,c=r[t+12>>2]|0,M=t+40|0,w=t+16|0,e=0,f=0,h=0;do{if(i=(a0(f,_)|0)>>>16,r[l+(h<<2)>>2]=i,f=(r[c+(h<<2)>>2]|0)+f|0,i=i>>>(r[M>>2]|0),e>>>0<i>>>0){n=h+-1|0,o=r[w>>2]|0;do e=e+1|0,r[o+(e<<2)>>2]=n;while((e|0)!=(i|0));e=i}h=h+1|0}while(h>>>0<(r[t>>2]|0)>>>0);if(i=r[w>>2]|0,r[i>>2]=0,e>>>0>(r[V>>2]|0)>>>0){e=t;break}}else i=r[t+16>>2]|0,r[i>>2]=0,e=0;do e=e+1|0,r[i+(e<<2)>>2]=(r[t>>2]|0)+-1;while(e>>>0<=(r[V>>2]|0)>>>0);e=t}else U=7;while(0);if((U|0)==7)if(!(r[t>>2]|0))e=t;else{n=r[t+8>>2]|0,o=r[t+12>>2]|0,e=0,i=0;do r[n+(e<<2)>>2]=(a0(i,_)|0)>>>16,i=(r[o+(e<<2)>>2]|0)+i|0,e=e+1|0;while(e>>>0<(r[t>>2]|0)>>>0);e=t}U=((r[G>>2]|0)*5|0)>>>2,V=(r[e>>2]<<3)+48|0,U=U>>>0>V>>>0?V:U,r[G>>2]=U,r[t+28>>2]=U}function Va(t,e,i){t=t|0,e=e|0,i=i|0;var n=0;i=Y0(e,i)|0,r[t>>2]=i;do if(i){if(i>>>0>=32){i=r[t+28>>2]|0;break}if(n=r[t+12>>2]|0,i>>>0>n>>>0?(n=i-n|0,i=Y0(e,(r[t+68>>2]|0)+((i+-1|0)*44|0)|0)|0,n=i<<n|(Cs(e,n)|0)):n=Y0(e,(r[t+68>>2]|0)+((i+-1|0)*44|0)|0)|0,i=r[t>>2]|0,(n|0)<(1<<i+-1|0)){i=n+1+(-1<<i)|0;break}else{i=n+1|0;break}}else i=Wa(e,t+48|0)|0;while(0);return i|0}function Y0(t,e){t=t|0,e=e|0;var i=0,n=0,o=0,f=0,h=0,l=0,c=0,M=0,w=0,_=0,V=0,U=0;if(V=t+8|0,_=r[V>>2]|0,o=r[e+16>>2]|0,o){if(n=t+4|0,i=r[n>>2]|0,w=_>>>15,r[V>>2]=w,c=(i>>>0)/(w>>>0)|0,l=c>>>(r[e+40>>2]|0),f=r[o+(l<<2)>>2]|0,l=(r[o+(l+1<<2)>>2]|0)+1|0,h=f+1|0,M=r[e+8>>2]|0,l>>>0>h>>>0){o=f,f=l;do h=(f+o|0)>>>1,l=(r[M+(h<<2)>>2]|0)>>>0>c>>>0,o=l?o:h,f=l?h:f,h=o+1|0;while(f>>>0>h>>>0);f=o}o=a0(r[M+(f<<2)>>2]|0,w)|0,(f|0)==(r[e+32>>2]|0)?h=_:h=a0(r[M+(h<<2)>>2]|0,w)|0}else{M=_>>>15,r[V>>2]=M,l=r[e>>2]|0,w=r[e+8>>2]|0,n=t+4|0,i=r[n>>2]|0,c=l>>>1,o=0,h=_,f=0;do U=a0(r[w+(c<<2)>>2]|0,M)|0,_=U>>>0>i>>>0,h=_?U:h,o=_?o:U,f=_?f:c,l=_?c:l,c=(f+l|0)>>>1;while((c|0)!=(f|0))}return r[n>>2]=i-o,U=h-o|0,r[V>>2]=U,U>>>0<16777216&&vi(t),V=(r[e+12>>2]|0)+(f<<2)|0,r[V>>2]=(r[V>>2]|0)+1,V=e+28|0,U=(r[V>>2]|0)+-1|0,r[V>>2]=U,U||En(e),f|0}function Cs(t,e){t=t|0,e=e|0;var i=0,n=0,o=0,f=0;return e>>>0>19?(i=(Bn(t)|0)&65535,(Cs(t,e+-16|0)|0)<<16|i|0):(n=t+4|0,o=r[n>>2]|0,f=t+8|0,i=(r[f>>2]|0)>>>e,r[f>>2]=i,e=(o>>>0)/(i>>>0)|0,r[n>>2]=o-(a0(e,i)|0),i>>>0<16777216&&vi(t),e|0)}function Wa(t,e){t=t|0,e=e|0;var i=0,n=0,o=0,f=0,h=0,l=0;return n=t+8|0,o=r[n>>2]|0,i=a0(o>>>13,r[e+8>>2]|0)|0,f=t+4|0,h=r[f>>2]|0,l=h>>>0>=i>>>0,l?(r[f>>2]=h-i,i=o-i|0,r[n>>2]=i):(r[n>>2]=i,h=e+12|0,r[h>>2]=(r[h>>2]|0)+1),i>>>0<16777216&&vi(t),h=e+4|0,t=(r[h>>2]|0)+-1|0,r[h>>2]=t,t||Js(e),l&1|0}function vi(t){t=t|0;var e=0,i=0,n=0,o=0;e=t+4|0,i=t+8|0,n=r[e>>2]|0;do n=n<<8|(Ve(r[t>>2]|0)|0)&255,r[e>>2]=n,o=r[i>>2]<<8,r[i>>2]=o;while(o>>>0<16777216)}function Bn(t){t=t|0;var e=0,i=0,n=0,o=0;return i=t+4|0,o=r[i>>2]|0,e=t+8|0,n=(r[e>>2]|0)>>>16,r[e>>2]=n,e=(o>>>0)/(n>>>0)|0,r[i>>2]=o-(a0(e,n)|0),vi(t),e&65535|0}function Js(t){t=t|0;var e=0,i=0,n=0,o=0,f=0;o=r[t>>2]|0,i=t+16|0,e=(r[i>>2]|0)+o|0,r[i>>2]=e,e>>>0>8192?(n=(e+1|0)>>>1,r[i>>2]=n,f=t+12|0,e=((r[f>>2]|0)+1|0)>>>1,r[f>>2]=e,(e|0)==(n|0)?(e=n+1|0,r[i>>2]=e,i=e,e=n):i=n):(i=e,e=r[t+12>>2]|0),r[t+8>>2]=(a0(e,2147483648/(i>>>0)|0)|0)>>>18,f=o*5|0,f=f>>>0>259?64:f>>>2,r[t>>2]=f,r[t+4>>2]=f}function Na(t,e){t=t|0,e=e|0;var i=0,n=0,o=0,f=0,h=0,l=0,c=0,M=0,w=0,_=0,V=0;w=m,m=m+32|0,f=w+16|0,h=w+8|0,l=w,c=t+336|0,n=c,o=t+259|0,!(r[n+4>>2]|0)&&(r[n>>2]|0)==(Z[o>>0]|Z[o+1>>0]<<8|Z[o+2>>0]<<16|Z[o+3>>0]<<24|0)?(n=t+320|0,i=r[t+320>>2]|0,M=5):(n=t+320|0,i=r[n>>2]|0,o=i,i|0&&r[t+312>>2]|0||(i=o,M=5)),(M|0)==5&&(M=t+320|0,r[f>>2]=i,r[M>>2]=0,i=t+324|0,r[f+4>>2]=r[i>>2],r[i>>2]=0,li(f),o=t+312|0,r[f>>2]=r[o>>2],r[o>>2]=0,_=t+316|0,r[f+4>>2]=r[_>>2],r[_>>2]=0,Nn(f),V=b(12)|0,Ws(V,t+4|0),r[l>>2]=0,r[f>>2]=r[l>>2],Ta(h,V,f),V=r[h>>2]|0,r[h>>2]=r[o>>2],r[o>>2]=V,V=h+4|0,l=r[V>>2]|0,r[V>>2]=r[_>>2],r[_>>2]=l,Nn(h),Xa(h,r[o>>2]|0,t+300|0),o=r[h>>2]|0,_=h+4|0,l=r[_>>2]|0,r[h>>2]=0,r[_>>2]=0,r[f>>2]=r[M>>2],r[M>>2]=o,r[f+4>>2]=r[i>>2],r[i>>2]=l,li(f),li(h),i=t+328|0,l=i,l=yt(r[l>>2]|0,r[l+4>>2]|0,1,0)|0,M=y0()|0,r[i>>2]=l,r[i+4>>2]=M,i=c,r[i>>2]=0,r[i+4>>2]=0,i=r[n>>2]|0),Ie[r[r[i>>2]>>2]&63](i,e)|0,M=c,M=yt(r[M>>2]|0,r[M+4>>2]|0,1,0)|0,_=y0()|0,V=c,r[V>>2]=M,r[V+4>>2]=_,m=w}function Xa(t,e,i){t=t|0,e=e|0,i=i|0;var n=0,o=0,f=0,h=0;h=m,m=m+64|0,n=h+56|0,o=h,f=Sa(i)|0,(f|0)==-1&&(h=F0(8)|0,Ca(h),k0(h|0,2784,8)),i=Is(i)|0;t:do if(i)Ja(n,e),Ia(r[n>>2]|0),(f|2|0)==3&&Oa(r[n>>2]|0),(f|1|0)==3&&ja(r[n>>2]|0),f=r[n>>2]|0,Ya(o,i),Pa(f,o),Os(o),r[t>>2]=r[n>>2],f=n+4|0,r[t+4>>2]=r[f>>2],r[n>>2]=0,r[f>>2]=0,Ha(n);else switch(f|0){case 0:{f=b(4788)|0,Qa(f),Da(t,e,f);break t}case 1:{f=b(5116)|0,qa(f),La(t,e,f);break t}case 2:{f=b(5104)|0,Ka(f),$a(t,e,f);break t}case 3:{f=b(5432)|0,tc(f),ba(t,e,f);break t}default:{r[t>>2]=0,r[t+4>>2]=0;break t}}while(0);m=h}function Ta(t,e,i){t=t|0,e=e|0,i=i|0;var n=0,o=0;i=m,m=m+16|0,n=i,r[t>>2]=e,o=b(16)|0,r[o+4>>2]=0,r[o+8>>2]=0,r[o>>2]=4576,r[o+12>>2]=e,r[t+4>>2]=o,r[n>>2]=e,r[n+4>>2]=e,Ua(t,n),m=i}function Ua(t,e){t=t|0,e=e|0}function Ga(t){t=t|0,C0(t),$(t)}function za(t){t=t|0,t=r[t+12>>2]|0,t|0&&(Ns(t),$(t))}function Ea(t,e){return t=t|0,e=e|0,((r[e+4>>2]|0)==7983?t+12|0:0)|0}function Ba(t){t=t|0,h0(t,16)}function Sa(t){t=t|0;var e=0,i=0;e=(r[t+4>>2]|0)-(r[t>>2]|0)|0;t:do if(e|0&&(i=((e|0)/12|0)+(((Is(t)|0)!=0)<<31>>31)|0,(i|0)!=0)&&(e=r[t>>2]|0,!(rc(e,ec()|0)|0))){switch(i|0){case 1:{t=0;break t}case 2:{if(We((r[t>>2]|0)+12|0,js()|0)|0){t=1;break t}if(We((r[t>>2]|0)+12|0,Ps()|0)|0){t=2;break t}break}case 3:{if(We((r[t>>2]|0)+12|0,js()|0)|0&&(i=(r[t>>2]|0)+24|0,We(i,Ps()|0)|0)){t=3;break t}break}default:}t=-1}else t=-1;while(0);return t|0}function Ca(t){t=t|0,Zt(t,8131),r[t>>2]=4604}function Is(t){t=t|0;var e=0,i=0;return e=r[t+4>>2]|0,(e|0)!=(r[t>>2]|0)&&(i=e,(r[i+-12>>2]|0)==0)&&(r[i+-4>>2]|0)==2?t=r[i+-8>>2]|0:t=0,t|0}function Ja(t,e){t=t|0,e=e|0;var i=0,n=0,o=0,f=0;i=m,m=m+16|0,n=i+4|0,f=i,o=b(24)|0,nc(o,e),r[f>>2]=0,r[n>>2]=r[f>>2],sc(t,o,n),m=i}function Ia(t){t=t|0;var e=0,i=0,n=0,o=0,f=0,h=0,l=0,c=0,M=0,w=0;c=m,m=m+32|0,n=c+12|0,o=c,e=c+8|0,h=b(4792)|0,mc(h,r[t+4>>2]|0),f=t+8|0,r[e>>2]=0,r[n>>2]=r[e>>2],vc(o,h,n),h=t+12|0,e=r[h>>2]|0,l=t+16|0;do if(e>>>0>=(r[l>>2]|0)>>>0)if(e=(e-(r[f>>2]|0)>>3)+1|0,i=Ct(f)|0,i>>>0<e>>>0)L0(f);else{M=r[f>>2]|0,w=(r[l>>2]|0)-M|0,l=w>>2,Et(n,w>>3>>>0<i>>>1>>>0?l>>>0<e>>>0?e:l:i,(r[h>>2]|0)-M>>3,t+16|0),l=n+8|0,h=r[l>>2]|0,r[h>>2]=r[o>>2],t=o+4|0,r[h+4>>2]=r[t>>2],r[o>>2]=0,r[t>>2]=0,r[l>>2]=h+8,Bt(f,n),St(n);break}else Gt(n,f,1),w=n+4|0,M=r[w>>2]|0,r[M>>2]=r[o>>2],l=o+4|0,r[M+4>>2]=r[l>>2],r[o>>2]=0,r[l>>2]=0,r[w>>2]=M+8,zt(n);while(0);rt(o),m=c}function Oa(t){t=t|0;var e=0,i=0,n=0,o=0,f=0,h=0,l=0,c=0,M=0,w=0;c=m,m=m+32|0,n=c+12|0,o=c,e=c+8|0,h=b(336)|0,Ec(h,r[t+4>>2]|0),f=t+8|0,r[e>>2]=0,r[n>>2]=r[e>>2],Bc(o,h,n),h=t+12|0,e=r[h>>2]|0,l=t+16|0;do if(e>>>0>=(r[l>>2]|0)>>>0)if(e=(e-(r[f>>2]|0)>>3)+1|0,i=Ct(f)|0,i>>>0<e>>>0)L0(f);else{M=r[f>>2]|0,w=(r[l>>2]|0)-M|0,l=w>>2,Et(n,w>>3>>>0<i>>>1>>>0?l>>>0<e>>>0?e:l:i,(r[h>>2]|0)-M>>3,t+16|0),l=n+8|0,h=r[l>>2]|0,r[h>>2]=r[o>>2],t=o+4|0,r[h+4>>2]=r[t>>2],r[o>>2]=0,r[t>>2]=0,r[l>>2]=h+8,Bt(f,n),St(n);break}else Gt(n,f,1),w=n+4|0,M=r[w>>2]|0,r[M>>2]=r[o>>2],l=o+4|0,r[M+4>>2]=r[l>>2],r[o>>2]=0,r[l>>2]=0,r[w>>2]=M+8,zt(n);while(0);rt(o),m=c}function ja(t){t=t|0;var e=0,i=0,n=0,o=0,f=0,h=0,l=0,c=0,M=0,w=0;c=m,m=m+32|0,n=c+12|0,o=c,e=c+8|0,h=b(324)|0,r4(h,r[t+4>>2]|0),f=t+8|0,r[e>>2]=0,r[n>>2]=r[e>>2],e4(o,h,n),h=t+12|0,e=r[h>>2]|0,l=t+16|0;do if(e>>>0>=(r[l>>2]|0)>>>0)if(e=(e-(r[f>>2]|0)>>3)+1|0,i=Ct(f)|0,i>>>0<e>>>0)L0(f);else{M=r[f>>2]|0,w=(r[l>>2]|0)-M|0,l=w>>2,Et(n,w>>3>>>0<i>>>1>>>0?l>>>0<e>>>0?e:l:i,(r[h>>2]|0)-M>>3,t+16|0),l=n+8|0,h=r[l>>2]|0,r[h>>2]=r[o>>2],t=o+4|0,r[h+4>>2]=r[t>>2],r[o>>2]=0,r[t>>2]=0,r[l>>2]=h+8,Bt(f,n),St(n);break}else Gt(n,f,1),w=n+4|0,M=r[w>>2]|0,r[M>>2]=r[o>>2],l=o+4|0,r[M+4>>2]=r[l>>2],r[o>>2]=0,r[l>>2]=0,r[w>>2]=M+8,zt(n);while(0);rt(o),m=c}function Pa(t,e){t=t|0,e=e|0;var i=0,n=0,o=0,f=0,h=0,l=0,c=0,M=0,w=0;c=m,m=m+32|0,h=c+12|0,l=c,n=c+8|0,f=b(64)|0,a4(f,r[t+4>>2]|0,e),o=t+8|0,r[n>>2]=0,r[h>>2]=r[n>>2],c4(l,f,h),f=t+12|0,e=r[f>>2]|0,n=t+16|0;do if(e>>>0>=(r[n>>2]|0)>>>0)if(e=(e-(r[o>>2]|0)>>3)+1|0,i=Ct(o)|0,i>>>0<e>>>0)L0(o);else{M=r[o>>2]|0,w=(r[n>>2]|0)-M|0,n=w>>2,Et(h,w>>3>>>0<i>>>1>>>0?n>>>0<e>>>0?e:n:i,(r[f>>2]|0)-M>>3,t+16|0),t=h+8|0,f=r[t>>2]|0,r[f>>2]=r[l>>2],n=l+4|0,r[f+4>>2]=r[n>>2],r[l>>2]=0,r[n>>2]=0,r[t>>2]=f+8,Bt(o,h),St(h);break}else Gt(h,o,1),w=h+4|0,M=r[w>>2]|0,r[M>>2]=r[l>>2],t=l+4|0,r[M+4>>2]=r[t>>2],r[l>>2]=0,r[t>>2]=0,r[w>>2]=M+8,zt(h);while(0);rt(l),m=c}function Ya(t,e){t=t|0,e=e|0;var i=0,n=0;i=m,m=m+48|0,n=i,r[t>>2]=e,u[t+4>>0]=0,Fo(t+8|0,e),Fo(t+20|0,e),P0(n,256,0,0),S4(t+32|0,e,n),G0(n),m=i}function Os(t){t=t|0,I4(t+32|0),co(t+20|0),co(t+8|0)}function Ha(t){t=t|0;var e=0,i=0;t=r[t+4>>2]|0,t|0&&(i=t+4|0,e=r[i>>2]|0,r[i>>2]=e+-1,(e|0)==0)&&(_0[r[(r[t>>2]|0)+8>>2]&255](t),qt(t))}function Da(t,e,i){t=t|0,e=e|0,i=i|0;var n=0,o=0,f=0,h=0;n=m,m=m+16|0,o=n+4|0,h=n,f=b(12)|0,O4(f,e,i),r[h>>2]=0,r[o>>2]=r[h>>2],j4(t,f,o),m=n}function Qa(t){t=t|0,Ne(t),Yn(t+4784|0)}function La(t,e,i){t=t|0,e=e|0,i=i|0;var n=0,o=0,f=0,h=0;n=m,m=m+16|0,o=n+4|0,h=n,f=b(12)|0,K4(f,e,i),r[h>>2]=0,r[o>>2]=r[h>>2],b4(t,f,o),m=n}function qa(t){t=t|0,Ne(t),lm(t+4784|0)}function $a(t,e,i){t=t|0,e=e|0,i=i|0;var n=0,o=0,f=0,h=0;n=m,m=m+16|0,o=n+4|0,h=n,f=b(12)|0,um(f,e,i),r[h>>2]=0,r[o>>2]=r[h>>2],am(t,f,o),m=n}function Ka(t){t=t|0,Ne(t),To(t+4784|0)}function ba(t,e,i){t=t|0,e=e|0,i=i|0;var n=0,o=0,f=0,h=0;n=m,m=m+16|0,o=n+4|0,h=n,f=b(12)|0,Rm(f,e,i),r[h>>2]=0,r[o>>2]=r[h>>2],xm(t,f,o),m=n}function tc(t){t=t|0,Ne(t),Um(t+4784|0)}function rc(t,e){return t=t|0,e=e|0,(We(t,e)|0)^1|0}function ec(){return!(u[21456]|0)&&Gr(21456)|0&&(ke(21536,6,20,2),zr(21456)),21536}function We(t,e){return t=t|0,e=e|0,(r[t>>2]|0)==(r[e>>2]|0)&&(r[t+8>>2]|0)==(r[e+8>>2]|0)?t=(r[t+4>>2]|0)==(r[e+4>>2]|0):t=0,t|0}function js(){return!(u[21464]|0)&&Gr(21464)|0&&(ke(21548,7,8,2),zr(21464)),21548}function Ps(){return!(u[21472]|0)&&Gr(21472)|0&&(ke(21560,8,6,2),zr(21472)),21560}function ic(t){t=t|0,ht(t),$(t)}function nc(t,e){t=t|0,e=e|0,re(t),r[t>>2]=4624,r[t+4>>2]=e,r[t+8>>2]=0,r[t+12>>2]=0,r[t+16>>2]=0,u[t+20>>0]=1}function sc(t,e,i){t=t|0,e=e|0,i=i|0;var n=0,o=0;i=m,m=m+16|0,n=i,r[t>>2]=e,o=b(16)|0,r[o+4>>2]=0,r[o+8>>2]=0,r[o>>2]=4664,r[o+12>>2]=e,r[t+4>>2]=o,r[n>>2]=e,r[n+4>>2]=e,hc(t,n),m=i}function re(t){t=t|0,r[t>>2]=4644}function oc(t,e){t=t|0,e=e|0;var i=0,n=0,o=0,f=0,h=0,l=0,c=0;if(c=m,m=m+16|0,f=c,i=r[t+8>>2]|0,h=r[t+12>>2]|0,(i|0)!=(h|0)){l=f+4|0;do n=r[i>>2]|0,r[f>>2]=n,o=r[i+4>>2]|0,r[l>>2]=o,o|0&&(o=o+4|0,r[o>>2]=(r[o>>2]|0)+1),e=Ie[r[(r[n>>2]|0)+12>>2]&63](n,e)|0,rt(f),i=i+8|0;while((i|0)!=(h|0))}return i=t+20|0,u[i>>0]|0&&(u[i>>0]=0,Gn(r[t+4>>2]|0)),m=c,e|0}function Ys(t){t=t|0,r[t>>2]=4624,Hs(t+8|0),kr(t)}function fc(t){t=t|0,Ys(t),$(t)}function kr(t){t=t|0}function Ac(t){t=t|0,gs()}function rt(t){t=t|0;var e=0,i=0;t=r[t+4>>2]|0,t|0&&(i=t+4|0,e=r[i>>2]|0,r[i>>2]=e+-1,(e|0)==0)&&(_0[r[(r[t>>2]|0)+8>>2]&255](t),qt(t))}function Hs(t){t=t|0;var e=0,i=0,n=0;if(i=r[t>>2]|0,i|0){if(n=t+4|0,e=r[n>>2]|0,(e|0)==(i|0))e=i;else{do e=e+-8|0,rt(e);while((e|0)!=(i|0));e=r[t>>2]|0}r[n>>2]=i,h0(e,(r[t+8>>2]|0)-e|0)}}function hc(t,e){t=t|0,e=e|0}function lc(t){t=t|0,C0(t),$(t)}function uc(t){t=t|0,t=r[t+12>>2]|0,t|0&&_0[r[(r[t>>2]|0)+8>>2]&255](t)}function ac(t,e){return t=t|0,e=e|0,((r[e+4>>2]|0)==8546?t+12|0:0)|0}function cc(t){t=t|0,h0(t,16)}function mc(t,e){t=t|0,e=e|0,Jt(t),r[t>>2]=4692,r[t+4>>2]=e,Ne(t+8|0)}function vc(t,e,i){t=t|0,e=e|0,i=i|0;var n=0,o=0;i=m,m=m+16|0,n=i,r[t>>2]=e,o=b(16)|0,r[o+4>>2]=0,r[o+8>>2]=0,r[o>>2]=4740,r[o+12>>2]=e,r[t+4>>2]=o,r[n>>2]=e,r[n+4>>2]=e,It(t,n),m=i}function Gt(t,e,i){t=t|0,e=e|0,i=i|0,r[t>>2]=e,e=r[e+4>>2]|0,r[t+4>>2]=e,r[t+8>>2]=e+(i<<3)}function zt(t){t=t|0,r[(r[t>>2]|0)+4>>2]=r[t+4>>2]}function Et(t,e,i,n){t=t|0,e=e|0,i=i|0,n=n|0;var o=0;o=t+12|0,r[o>>2]=0,r[t+16>>2]=n;do if(e)if(e>>>0>536870911)o=F0(8)|0,$t(o,6723),r[o>>2]=5956,k0(o|0,3928,123);else{n=b(e<<3)|0;break}else n=0;while(0);r[t>>2]=n,i=n+(i<<3)|0,r[t+8>>2]=i,r[t+4>>2]=i,r[o>>2]=n+(e<<3)}function Bt(t,e){t=t|0,e=e|0;var i=0,n=0,o=0,f=0,h=0,l=0,c=0;if(l=r[t>>2]|0,c=t+4|0,i=r[c>>2]|0,h=e+4|0,(i|0)==(l|0))o=h,f=t,n=r[h>>2]|0,i=l;else{n=r[h>>2]|0;do f=i,i=i+-8|0,r[n+-8>>2]=r[i>>2],f=f+-4|0,r[n+-4>>2]=r[f>>2],r[i>>2]=0,r[f>>2]=0,n=(r[h>>2]|0)+-8|0,r[h>>2]=n;while((i|0)!=(l|0));o=h,f=t,i=r[t>>2]|0}r[f>>2]=n,r[o>>2]=i,l=e+8|0,h=r[c>>2]|0,r[c>>2]=r[l>>2],r[l>>2]=h,l=t+8|0,c=e+12|0,t=r[l>>2]|0,r[l>>2]=r[c>>2],r[c>>2]=t,r[e>>2]=r[o>>2]}function St(t){t=t|0;var e=0,i=0,n=0,o=0;if(i=r[t+4>>2]|0,n=t+8|0,e=r[n>>2]|0,(e|0)!=(i|0))do o=e+-8|0,r[n>>2]=o,rt(o),e=r[n>>2]|0;while((e|0)!=(i|0));e=r[t>>2]|0,e|0&&h0(e,(r[t+12>>2]|0)-e|0)}function Ct(t){return t=t|0,536870911}function Jt(t){t=t|0,r[t>>2]=4716}function Ne(t){t=t|0,Rc(t),xc(t+3980|0),wc(t+4380|0),u[t+4780>>0]=0,u[t+4781>>0]=0}function Ds(t){t=t|0,r[t>>2]=4692,Xe(t+8|0),vt(t)}function pc(t){t=t|0,Ds(t),$(t)}function Mc(t,e){return t=t|0,e=e|0,e|0}function yc(t,e){return t=t|0,e=e|0,Te(t+8|0,r[t+4>>2]|0,e)|0}function vt(t){t=t|0}function dc(t){t=t|0,vt(t),$(t)}function gc(t,e){return t=t|0,e=e|0,e|0}function Rc(t){t=t|0;var e=0,i=0;Qs(t),Ls(t+52|0),Ls(t+436|0),P0(t+852|0,64,0,0),u[t+3976>>0]=0,e=t+20|0,i=e+32|0;do E[e>>1]=0,e=e+2|0;while((e|0)<(i|0));e=b(44)|0,P0(e,256,0,0),r[t+896>>2]=e,e=b(44)|0,P0(e,256,0,0),r[t+900>>2]=e,e=t+820|0,r[e>>2]=0,r[e+4>>2]=0,r[e+8>>2]=0,r[e+12>>2]=0,r[e+16>>2]=0,r[e+20>>2]=0,r[e+24>>2]=0,r[e+28>>2]=0,e=0;do i=b(44)|0,P0(i,256,0,0),r[t+904+(e<<2)>>2]=i,i=b(44)|0,P0(i,256,0,0),r[t+1928+(e<<2)>>2]=i,i=b(44)|0,P0(i,256,0,0),r[t+2952+(e<<2)>>2]=i,e=e+1|0;while(e>>>0<256)}function xc(t){t=t|0,pt(t,16,4,8,0),pt(t+80|0,16,1,8,0),pt(t+160|0,32,2,8,0),pt(t+240|0,32,22,8,0),pt(t+320|0,32,20,8,0)}function wc(t){t=t|0,st(t,16,4,8,0),st(t+80|0,16,1,8,0),st(t+160|0,32,2,8,0),st(t+240|0,32,22,8,0),st(t+320|0,32,20,8,0)}function _c(t){t=t|0,Mt(t+320|0),Mt(t+240|0),Mt(t+160|0),Mt(t+80|0),Mt(t)}function Zc(t){t=t|0;var e=0,i=0;e=r[t+896>>2]|0,e|0&&(G0(e),$(e)),e=r[t+900>>2]|0,e|0&&(G0(e),$(e)),i=0;do e=r[t+904+(i<<2)>>2]|0,e|0&&(G0(e),$(e)),e=r[t+1928+(i<<2)>>2]|0,e|0&&(G0(e),$(e)),e=r[t+2952+(i<<2)>>2]|0,e|0&&(G0(e),$(e)),i=i+1|0;while((i|0)!=256);G0(t+852|0)}function Qs(t){t=t|0;var e=0;u[t>>0]=0,u[t+1>>0]=0,u[t+2>>0]=0,u[t+3>>0]=0,e=t+4|0,u[e>>0]=0,u[e+1>>0]=0,u[e+2>>0]=0,u[e+3>>0]=0,t=t+12|0,e=t,u[e>>0]=0,u[e+1>>0]=0,u[e+2>>0]=0,u[e+3>>0]=0,t=t+4|0,u[t>>0]=0,u[t+1>>0]=0,u[t+2>>0]=0,u[t+3>>0]=0}function Ls(t){t=t|0;var e=0;e=t+384|0;do Fc(t),t=t+24|0;while((t|0)!=(e|0))}function Fc(t){t=t|0,kc(t)}function kc(t){t=t|0,r[t>>2]=0,r[t+4>>2]=0,r[t+8>>2]=0,r[t+12>>2]=0,r[t+16>>2]=0,u[t+20>>0]=1}function pt(t,e,i,n,o){t=t|0,e=e|0,i=i|0,n=n|0,o=o|0;var f=0;r[t+4>>2]=e,r[t+8>>2]=i,r[t+12>>2]=n,r[t+16>>2]=o,r[t+36>>2]=0,r[t+40>>2]=0,r[t+44>>2]=0,Xs(t+48|0),r[t+68>>2]=0,r[t+72>>2]=0,r[t+76>>2]=0;do if(o){for(n=t+20|0,r[n>>2]=0,r[t+24>>2]=o,i=o,f=0;i=i>>>1,e=f+1|0,i;)f=e;r[n>>2]=(1<<f|0)==(o|0)?f:e,i=o>>>1,r[t+28>>2]=0-i,i=o+-1-i|0}else if(i=t+20|0,(e+-1|0)>>>0<31){r[i>>2]=e,o=1<<e,r[t+24>>2]=o,i=o>>>1,r[t+28>>2]=0-i,i=o+-1-i|0;break}else{r[i>>2]=32,r[t+24>>2]=0,r[t+28>>2]=-2147483648,i=2147483647;break}while(0);r[t+32>>2]=i,r[t>>2]=0}function Mt(t){t=t|0;var e=0,i=0,n=0,o=0,f=0;if(f=t+36|0,i=r[f>>2]|0,n=t+40|0,e=r[n>>2]|0,(e|0)!=(i|0))do e=e+-44|0,G0(e);while((e|0)!=(i|0));if(r[n>>2]=i,n=t+68|0,o=r[n>>2]|0,i=t+72|0,e=r[i>>2]|0,(e|0)!=(o|0))do e=e+-44|0,G0(e);while((e|0)!=(o|0));r[i>>2]=o,ci(n),ci(f)}function Xe(t){t=t|0,Vc(t+4380|0),_c(t+3980|0),Zc(t)}function Vc(t){t=t|0,ft(t+320|0),ft(t+240|0),ft(t+160|0),ft(t+80|0),ft(t)}function Te(t,e,i){t=t|0,e=e|0,i=i|0;var n=0,o=0,f=0,h=0,l=0,c=0,M=0,w=0,_=0;if(w=m,m=m+32|0,M=w,n=t+4781|0,u[n>>0]|0||(Wc(t+4380|0),u[n>>0]=1),n=t+3976|0,u[n>>0]|0)l=Y0(e,t+852|0)|0,l?(l&32|0&&$s((Y0(e,r[t+904+(((qs(t)|0)&255)<<2)>>2]|0)|0)&255,t),c=t+14|0,f=u[c>>0]|0,n=f&7,f=(f&255)>>>3&7,o=Z[16+(f<<3)+n>>0]|0,n=Z[80+(f<<3)+n>>0]|0,l&16?(_=t+20+(o<<1)|0,h=(Q0(t+4380|0,e,C[_>>1]|0,o>>>0<3?o:3)|0)&65535,E[_>>1]=h):h=E[t+20+(o<<1)>>1]|0,E[t+12>>1]=h,l&8|0&&(_=t+15|0,u[_>>0]=Y0(e,r[t+1928+(Z[_>>0]<<2)>>2]|0)|0),l&4|0&&(c=Y0(e,r[t+896+(((Z[c>>0]|0)>>>6&1)<<2)>>2]|0)|0,_=t+16|0,u[_>>0]=Vr(c+(u[_>>0]|0)|0)|0),l&2|0&&(_=t+17|0,u[_>>0]=Y0(e,r[t+2952+(Z[_>>0]<<2)>>2]|0)|0),l&1&&(_=t+18|0,E[_>>1]=Q0(t+4460|0,e,C[_>>1]|0,0)|0)):(_=u[t+14>>0]|0,n=_&7,_=(_&255)>>>3&7,f=_,o=Z[16+(_<<3)+n>>0]|0,n=Z[80+(_<<3)+n>>0]|0),h=t+52+(o*24|0)|0,l=t+4540|0,c=(f|0)==1&1,f=Q0(l,e,Ks(h)|0,c)|0,r[M>>2]=f,r[t>>2]=(r[t>>2]|0)+f,bs(h,M),h=t+436+(o*24|0)|0,f=Ks(h)|0,o=Sn(l)|0,_=t+4620|0,o=Q0(_,e,f,(o>>>0<20?o&-2:20)|c)|0,r[M>>2]=o,f=t+4|0,r[f>>2]=(r[f>>2]|0)+o,bs(h,M),M=Sn(l)|0,M=(Sn(_)|0)+M|0,_=t+820+(n<<2)|0,M=Q0(t+4700|0,e,r[_>>2]|0,(M>>>0<36?M>>>1&2147483646:18)|c)|0,r[t+8>>2]=M,r[_>>2]=M,Xc(t,i);else{u[n>>0]=1,Mi(pi(e)|0,i,20),Nc(M,i),f=t,n=M,o=f+20|0;do u[f>>0]=u[n>>0]|0,f=f+1|0,n=n+1|0;while((f|0)<(o|0));E[t+12>>1]=0}return m=w,i+20|0}function Wc(t){t=t|0,ot(t),ot(t+80|0),ot(t+160|0),ot(t+240|0),ot(t+320|0)}function pi(t){return t=t|0,r[t>>2]|0}function Mi(t,e,i){t=t|0,e=e|0,i=i|0;var n=0,o=0,f=0,h=0,l=0,c=0;if(c=t+4|0,n=r[c>>2]|0,l=(r[t+8>>2]|0)-n|0,l=l>>>0>i>>>0?i:l,h=t+12|0,o=(r[h>>2]|0)+n|0,f=o+l|0,l){for(n=o,o=e;u[o>>0]=u[n>>0]|0,n=n+1|0,(n|0)!=(f|0);)o=o+1|0;n=r[c>>2]|0}if(r[c>>2]=n+l,i=i-l|0,i|0){for(Ts(t),o=(r[h>>2]|0)+(r[c>>2]|0)|0,f=o+i|0,n=e+l|0;u[n>>0]=u[o>>0]|0,o=o+1|0,(o|0)!=(f|0);)n=n+1|0;r[c>>2]=(r[c>>2]|0)+i}}function Nc(t,e){t=t|0,e=e|0,Qs(t),r[t>>2]=yi(e)|0,r[t+4>>2]=yi(e+4|0)|0,r[t+8>>2]=yi(e+8|0)|0,E[t+12>>1]=Wr(e+12|0)|0,$s(Cn(e+14|0)|0,t),u[t+15>>0]=Cn(e+15|0)|0,u[t+16>>0]=to(e+16|0)|0,u[t+17>>0]=to(e+17|0)|0,E[t+18>>1]=Wr(e+18|0)|0}function qs(t){return t=t|0,u[t+14>>0]|0}function $s(t,e){t=t|0,e=e|0,u[e+14>>0]=t}function Vr(t){return t=t|0,t&255|0}function Ks(t){return t=t|0,r[t+8>>2]|0}function bs(t,e){t=t|0,e=e|0;var i=0,n=0,o=0,f=0,h=0,l=0,c=0;c=t+20|0;do if(u[c>>0]|0){if(o=r[e>>2]|0,h=t+8|0,i=r[h>>2]|0,f=t+12|0,n=r[f>>2]|0,(o|0)>=(i|0)){i=t+16|0,(o|0)<(n|0)?(r[i>>2]=n,r[f>>2]=r[e>>2]):r[i>>2]=o,u[c>>0]=0;break}if(r[t+16>>2]=n,r[f>>2]=i,i=r[e>>2]|0,n=r[t>>2]|0,o=t+4|0,f=r[o>>2]|0,(i|0)<(n|0)){r[h>>2]=f,r[o>>2]=n,r[t>>2]=r[e>>2];break}if((i|0)<(f|0)){r[h>>2]=f,r[o>>2]=r[e>>2];break}else{r[h>>2]=i;break}}else{if(l=t+8|0,i=r[l>>2]|0,n=r[e>>2]|0,o=t+4|0,f=r[o>>2]|0,(i|0)>=(n|0)){(f|0)<(n|0)?(r[t>>2]=f,r[o>>2]=r[e>>2]):r[t>>2]=n,u[c>>0]=1;break}if(r[t>>2]=f,r[o>>2]=i,o=t+16|0,f=r[o>>2]|0,h=r[e>>2]|0,i=t+12|0,n=r[i>>2]|0,(f|0)<(h|0)){r[l>>2]=n,r[i>>2]=f,r[o>>2]=r[e>>2];break}if((n|0)<(h|0)){r[l>>2]=n,r[i>>2]=r[e>>2];break}else{r[l>>2]=h;break}}while(0)}function Sn(t){return t=t|0,r[t>>2]|0}function Xc(t,e){t=t|0,e=e|0;var i=0;gi(Z[t>>0]|Z[t+1>>0]<<8|Z[t+2>>0]<<16|Z[t+3>>0]<<24,e),i=t+4|0,gi(Z[i>>0]|Z[i+1>>0]<<8|Z[i+2>>0]<<16|Z[i+3>>0]<<24,e+4|0),i=t+8|0,gi(Z[i>>0]|Z[i+1>>0]<<8|Z[i+2>>0]<<16|Z[i+3>>0]<<24,e+8|0),i=t+12|0,Nr(Z[i>>0]|Z[i+1>>0]<<8,e+12|0),Jn(qs(t)|0,e+14|0),Jn(u[t+15>>0]|0,e+15|0),ro(u[t+16>>0]|0,e+16|0),ro(u[t+17>>0]|0,e+17|0),t=t+18|0,Nr(Z[t>>0]|Z[t+1>>0]<<8,e+18|0)}function yi(t){return t=t|0,di(t)|0}function Wr(t){return t=t|0,(u[t+1>>0]<<8|Z[t>>0])&65535|0}function Cn(t){return t=t|0,u[t>>0]|0}function to(t){return t=t|0,u[t>>0]|0}function di(t){return t=t|0,(Z[t+1>>0]|0)<<8|(Z[t>>0]|0)|(Z[t+2>>0]|0)<<16|(Z[t+3>>0]|0)<<24|0}function gi(t,e){t=t|0,e=e|0,Ri(t,e)}function Nr(t,e){t=t|0,e=e|0,u[e+1>>0]=(t&65535)>>>8,u[e>>0]=t}function Jn(t,e){t=t|0,e=e|0,u[e>>0]=t}function ro(t,e){t=t|0,e=e|0,u[e>>0]=t}function Ri(t,e){t=t|0,e=e|0,u[e+3>>0]=t>>>24,u[e+2>>0]=t>>>16,u[e+1>>0]=t>>>8,u[e>>0]=t}function It(t,e){t=t|0,e=e|0}function Tc(t){t=t|0,C0(t),$(t)}function Uc(t){t=t|0,t=r[t+12>>2]|0,t|0&&_0[r[(r[t>>2]|0)+4>>2]&255](t)}function Gc(t,e){return t=t|0,e=e|0,((r[e+4>>2]|0)==9202?t+12|0:0)|0}function zc(t){t=t|0,h0(t,16)}function Ec(t,e){t=t|0,e=e|0,Jt(t),r[t>>2]=4768,r[t+4>>2]=e,In(t+8|0)}function Bc(t,e,i){t=t|0,e=e|0,i=i|0;var n=0,o=0;i=m,m=m+16|0,n=i,r[t>>2]=e,o=b(16)|0,r[o+4>>2]=0,r[o+8>>2]=0,r[o>>2]=4792,r[o+12>>2]=e,r[t+4>>2]=o,r[n>>2]=e,r[n+4>>2]=e,It(t,n),m=i}function In(t){t=t|0,Jc(t),Ic(t+164|0),Oc(t+244|0),u[t+324>>0]=0,u[t+325>>0]=0}function eo(t){t=t|0,r[t>>2]=4768,On(t+8|0),vt(t)}function Sc(t){t=t|0,eo(t),$(t)}function Cc(t,e){return t=t|0,e=e|0,Ue(t+8|0,r[t+4>>2]|0,e)|0}function Jc(t){t=t|0;var e=0,i=0,n=0,o=0,f=0,h=0,l=0;for(f=m,m=m+16|0,n=f,u[t>>0]=0,P0(t+4|0,516,0,0),P0(t+48|0,6,0,0),r[t+92>>2]=0,r[t+96>>2]=0,i=t+100|0,Yc(i),io(n),o=r[n>>2]|0,n=r[n+4>>2]|0,e=4;h=i,l=h,u[l>>0]=o,u[l+1>>0]=o>>8,u[l+2>>0]=o>>16,u[l+3>>0]=o>>24,h=h+4|0,u[h>>0]=n,u[h+1>>0]=n>>8,u[h+2>>0]=n>>16,u[h+3>>0]=n>>24,e=e+-1|0,e;)i=i+8|0;l=t+132|0,r[l>>2]=0,r[l+4>>2]=0,r[l+8>>2]=0,r[l+12>>2]=0,r[l+16>>2]=0,r[l+20>>2]=0,r[l+24>>2]=0,r[l+28>>2]=0,m=f}function Ic(t){t=t|0,pt(t,32,9,8,0)}function Oc(t){t=t|0,st(t,32,9,8,0)}function jc(t){t=t|0,Mt(t)}function Pc(t){t=t|0,G0(t+48|0),G0(t+4|0)}function Yc(t){t=t|0;var e=0;e=t+32|0;do io(t),t=t+8|0;while((t|0)!=(e|0))}function io(t){t=t|0;var e=0;e=t,u[e>>0]=0,u[e+1>>0]=0,u[e+2>>0]=0,u[e+3>>0]=0,t=t+4|0,u[t>>0]=0,u[t+1>>0]=0,u[t+2>>0]=0,u[t+3>>0]=0}function On(t){t=t|0,Hc(t+244|0),jc(t+164|0),Pc(t)}function Hc(t){t=t|0,ft(t)}function Ue(t,e,i){t=t|0,e=e|0,i=i|0;var n=0,o=0,f=0,h=0,l=0;if(n=t+325|0,u[n>>0]|0||(Dc(t+244|0),u[n>>0]=1),!(u[t>>0]|0))u[t>>0]=1,Mi(pi(e)|0,i,8),f=Qc(i)|0,h=y0()|0,t=t+100|0,e=t,u[e>>0]=f,u[e+1>>0]=f>>8,u[e+2>>0]=f>>16,u[e+3>>0]=f>>24,t=t+4|0,u[t>>0]=h,u[t+1>>0]=h>>8,u[t+2>>0]=h>>16,u[t+3>>0]=h>>24;else{h=t+92|0;t:do if(r[t+132+(r[h>>2]<<2)>>2]|0){if(f=Y0(e,t+4|0)|0,(f|0)==1){n=Q0(t+244|0,e,r[t+132+(r[h>>2]<<2)>>2]|0,1)|0,l=r[h>>2]|0,e=t+100+(l<<3)|0,f=e,o=f,f=f+4|0,n=yt(Z[o>>0]|Z[o+1>>0]<<8|Z[o+2>>0]<<16|Z[o+3>>0]<<24|0,Z[f>>0]|Z[f+1>>0]<<8|Z[f+2>>0]<<16|Z[f+3>>0]<<24|0,n|0,((n|0)<0)<<31>>31|0)|0,f=y0()|0,o=e,u[o>>0]=n,u[o+1>>0]=n>>8,u[o+2>>0]=n>>16,u[o+3>>0]=n>>24,e=e+4|0,u[e>>0]=f,u[e+1>>0]=f>>8,u[e+2>>0]=f>>16,u[e+3>>0]=f>>24,r[t+148+(l<<2)>>2]=0;break}if((f|0)>=511){if((f|0)==512){l=t+96|0,r[l>>2]=(r[l>>2]|0)+1&3,f=t+100+(r[h>>2]<<3)+4|0,f=Q0(t+244|0,e,Z[f>>0]|Z[f+1>>0]<<8|Z[f+2>>0]<<16|Z[f+3>>0]<<24,8)|0,n=t+100+(r[l>>2]<<3)|0,o=n,u[o>>0]=0,u[o+1>>0]=0,u[o+2>>0]=0,u[o+3>>0]=0,n=n+4|0,u[n>>0]=f,u[n+1>>0]=f>>8,u[n+2>>0]=f>>16,u[n+3>>0]=f>>24,n=no(e)|0,l=r[l>>2]|0,e=t+100+(l<<3)|0,f=e,o=f,f=f+4|0,f=Z[f>>0]|Z[f+1>>0]<<8|Z[f+2>>0]<<16|Z[f+3>>0]<<24,n=Z[o>>0]|Z[o+1>>0]<<8|Z[o+2>>0]<<16|Z[o+3>>0]<<24|n,o=e,u[o>>0]=n,u[o+1>>0]=n>>8,u[o+2>>0]=n>>16,u[o+3>>0]=n>>24,e=e+4|0,u[e>>0]=f,u[e+1>>0]=f>>8,u[e+2>>0]=f>>16,u[e+3>>0]=f>>24,r[h>>2]=l,r[t+132+(l<<2)>>2]=0,r[t+148+(r[h>>2]<<2)>>2]=0;break}if((f|0)<=511)break;r[h>>2]=(r[h>>2]|0)+f&3,Ue(t,e,i)|0;break}do if(!f)n=Q0(t+244|0,e,0,7)|0,o=t+148+(r[h>>2]<<2)|0,r[o>>2]=(r[o>>2]|0)+1,o=r[h>>2]|0,(r[t+148+(o<<2)>>2]|0)>3&&(r[t+132+(o<<2)>>2]=n,r[t+148+(r[h>>2]<<2)>>2]=0);else{if((f|0)<500)if(n=t+244|0,o=a0(r[t+132+(r[h>>2]<<2)>>2]|0,f)|0,(f|0)<10){n=Q0(n,e,o,2)|0;break}else{n=Q0(n,e,o,3)|0;break}if((f|0)==500){if(n=Q0(t+244|0,e,(r[t+132+(r[h>>2]<<2)>>2]|0)*500|0,4)|0,o=t+148+(r[h>>2]<<2)|0,r[o>>2]=(r[o>>2]|0)+1,o=r[h>>2]|0,(r[t+148+(o<<2)>>2]|0)<=3)break;r[t+132+(o<<2)>>2]=n,r[t+148+(r[h>>2]<<2)>>2]=0;break}if(n=500-f|0,o=t+244|0,f=r[t+132+(r[h>>2]<<2)>>2]|0,(n|0)>-10){n=Q0(o,e,a0(f,n)|0,5)|0;break}n=Q0(o,e,a0(f,-10)|0,6)|0,o=t+148+(r[h>>2]<<2)|0,r[o>>2]=(r[o>>2]|0)+1,o=r[h>>2]|0,(r[t+148+(o<<2)>>2]|0)>3&&(r[t+132+(o<<2)>>2]=n,r[t+148+(r[h>>2]<<2)>>2]=0)}while(0);l=t+100+(r[h>>2]<<3)|0,o=l,e=o,o=o+4|0,o=yt(Z[e>>0]|Z[e+1>>0]<<8|Z[e+2>>0]<<16|Z[e+3>>0]<<24|0,Z[o>>0]|Z[o+1>>0]<<8|Z[o+2>>0]<<16|Z[o+3>>0]<<24|0,n|0,((n|0)<0)<<31>>31|0)|0,e=y0()|0,f=l,u[f>>0]=o,u[f+1>>0]=o>>8,u[f+2>>0]=o>>16,u[f+3>>0]=o>>24,l=l+4|0,u[l>>0]=e,u[l+1>>0]=e>>8,u[l+2>>0]=e>>16,u[l+3>>0]=e>>24}else switch(n=Y0(e,t+48|0)|0,n|0){case 1:{e=Q0(t+244|0,e,0,0)|0,r[t+132+(r[h>>2]<<2)>>2]=e,e=r[h>>2]|0,l=r[t+132+(e<<2)>>2]|0,f=t+100+(e<<3)|0,o=f,n=o,o=o+4|0,l=yt(Z[n>>0]|Z[n+1>>0]<<8|Z[n+2>>0]<<16|Z[n+3>>0]<<24|0,Z[o>>0]|Z[o+1>>0]<<8|Z[o+2>>0]<<16|Z[o+3>>0]<<24|0,l|0,((l|0)<0)<<31>>31|0)|0,o=y0()|0,n=f,u[n>>0]=l,u[n+1>>0]=l>>8,u[n+2>>0]=l>>16,u[n+3>>0]=l>>24,f=f+4|0,u[f>>0]=o,u[f+1>>0]=o>>8,u[f+2>>0]=o>>16,u[f+3>>0]=o>>24,r[t+148+(e<<2)>>2]=0;break t}case 2:{l=t+96|0,r[l>>2]=(r[l>>2]|0)+1&3,f=t+100+(r[h>>2]<<3)+4|0,f=Q0(t+244|0,e,Z[f>>0]|Z[f+1>>0]<<8|Z[f+2>>0]<<16|Z[f+3>>0]<<24,8)|0,n=t+100+(r[l>>2]<<3)|0,o=n,u[o>>0]=0,u[o+1>>0]=0,u[o+2>>0]=0,u[o+3>>0]=0,n=n+4|0,u[n>>0]=f,u[n+1>>0]=f>>8,u[n+2>>0]=f>>16,u[n+3>>0]=f>>24,n=no(e)|0,l=r[l>>2]|0,e=t+100+(l<<3)|0,f=e,o=f,f=f+4|0,f=Z[f>>0]|Z[f+1>>0]<<8|Z[f+2>>0]<<16|Z[f+3>>0]<<24,n=Z[o>>0]|Z[o+1>>0]<<8|Z[o+2>>0]<<16|Z[o+3>>0]<<24|n,o=e,u[o>>0]=n,u[o+1>>0]=n>>8,u[o+2>>0]=n>>16,u[o+3>>0]=n>>24,e=e+4|0,u[e>>0]=f,u[e+1>>0]=f>>8,u[e+2>>0]=f>>16,u[e+3>>0]=f>>24,r[h>>2]=l,r[t+132+(l<<2)>>2]=0,r[t+148+(r[h>>2]<<2)>>2]=0;break t}default:{if((n|0)<=2)break t;r[h>>2]=n+2+(r[h>>2]|0)&3,Ue(t,e,i)|0;break t}}while(0);Lc(t+100+(r[h>>2]<<3)|0,i)}return i+8|0}function Dc(t){t=t|0,ot(t)}function Qc(t){t=t|0;var e=0,i=0,n=0;return e=m,m=m+16|0,i=e,n=di(t)|0,qc(i,n,di(t+4|0)|0),t=r[i>>2]|0,Z0(r[i+4>>2]|0),m=e,t|0}function no(t){t=t|0;var e=0;return e=(Bn(t)|0)&65535,((Bn(t)|0)&65535)<<16|e|0}function Lc(t,e){t=t|0,e=e|0;var i=0;i=t,Ri(Z[i>>0]|Z[i+1>>0]<<8|Z[i+2>>0]<<16|Z[i+3>>0]<<24,e),t=t+4|0,Ri(Z[t>>0]|Z[t+1>>0]<<8|Z[t+2>>0]<<16|Z[t+3>>0]<<24,e+4|0)}function qc(t,e,i){t=t|0,e=e|0,i=i|0;var n=0;n=t,u[n>>0]=e,u[n+1>>0]=e>>8,u[n+2>>0]=e>>16,u[n+3>>0]=e>>24,e=t+4|0,u[e>>0]=i,u[e+1>>0]=i>>8,u[e+2>>0]=i>>16,u[e+3>>0]=i>>24}function $c(t){t=t|0,C0(t),$(t)}function Kc(t){t=t|0,t=r[t+12>>2]|0,t|0&&_0[r[(r[t>>2]|0)+4>>2]&255](t)}function bc(t,e){return t=t|0,e=e|0,((r[e+4>>2]|0)==9890?t+12|0:0)|0}function t4(t){t=t|0,h0(t,16)}function r4(t,e){t=t|0,e=e|0,Jt(t),r[t>>2]=4820,r[t+4>>2]=e,so(t+8|0)}function e4(t,e,i){t=t|0,e=e|0,i=i|0;var n=0,o=0;i=m,m=m+16|0,n=i,r[t>>2]=e,o=b(16)|0,r[o+4>>2]=0,r[o+8>>2]=0,r[o>>2]=4844,r[o+12>>2]=e,r[t+4>>2]=o,r[n>>2]=e,r[n+4>>2]=e,It(t,n),m=i}function so(t){t=t|0,u[t>>0]=0,fo(t+1|0),P0(t+8|0,128,0,0),P0(t+52|0,256,0,0),P0(t+96|0,256,0,0),P0(t+140|0,256,0,0),P0(t+184|0,256,0,0),P0(t+228|0,256,0,0),P0(t+272|0,256,0,0)}function oo(t){t=t|0,r[t>>2]=4820,Ao(t+8|0),vt(t)}function i4(t){t=t|0,oo(t),$(t)}function n4(t,e){return t=t|0,e=e|0,ho(t+8|0,r[t+4>>2]|0,e)|0}function fo(t){t=t|0;var e=0;u[t>>0]=0,u[t+1>>0]=0,e=t+2|0,u[e>>0]=0,u[e+1>>0]=0,t=t+4|0,u[t>>0]=0,u[t+1>>0]=0}function Ao(t){t=t|0,G0(t+272|0),G0(t+228|0),G0(t+184|0),G0(t+140|0),G0(t+96|0),G0(t+52|0),G0(t+8|0)}function ho(t,e,i){t=t|0,e=e|0,i=i|0;var n=0,o=0,f=0,h=0,l=0,c=0,M=0,w=0,_=0;if(w=m,m=m+16|0,c=w,!(u[t>>0]|0))u[t>>0]=1,Mi(pi(e)|0,i,6),s4(c,i),M=t+1|0,u[M>>0]=u[c>>0]|0,u[M+1>>0]=u[c+1>>0]|0,u[M+2>>0]=u[c+2>>0]|0,u[M+3>>0]=u[c+3>>0]|0,u[M+4>>0]=u[c+4>>0]|0,u[M+5>>0]=u[c+5>>0]|0;else{M=Y0(e,t+8|0)|0,fo(c),M&1?(l=(Y0(e,t+52|0)|0)&255,n=t+1|0,n=(Vr(l+((Z[n>>0]|Z[n+1>>0]<<8)&255)|0)|0)&255):(n=t+1|0,n=(Z[n>>0]|Z[n+1>>0]<<8)&255),E[c>>1]=n,M&2?(n=(Y0(e,t+96|0)|0)&255,l=t+1|0,n=((Vr((((Z[l>>0]|Z[l+1>>0]<<8)&65535)>>>8)+n|0)|0)&255)<<8,n=(n|C[c>>1])&65535):(l=t+1|0,n=n|(Z[l>>0]|Z[l+1>>0]<<8)&-256),E[c>>1]=n;do if(M&64)if(h=t+1|0,o=(n&255)-((Z[h>>0]|Z[h+1>>0]<<8)&255)|0,M&4?(n=(Y0(e,t+140|0)|0)&255,l=t+3|0,l=o+((Z[l>>0]|Z[l+1>>0]<<8)&255)|0,n=(Vr(((l|0)<1?0:(l|0)>254?255:l&255)+n|0)|0)&255):(n=t+3|0,n=(Z[n>>0]|Z[n+1>>0]<<8)&255),l=c+2|0,E[l>>1]=n,M&16?(n=Y0(e,t+228|0)|0,_=t+3|0,f=t+5|0,f=((o+(E[l>>1]&255)-((Z[_>>0]|Z[_+1>>0]<<8)&255)|0)/2|0)+((Z[f>>0]|Z[f+1>>0]<<8)&255)|0,n=(Vr(((f|0)<1?0:(f|0)>254?255:f&255)+(n&255)|0)|0)&255):(n=t+5|0,n=(Z[n>>0]|Z[n+1>>0]<<8)&255),f=c+4|0,E[f>>1]=n,n=((C[c>>1]|0)>>>8)-(((Z[h>>0]|Z[h+1>>0]<<8)&65535)>>>8)|0,M&8?(o=(Y0(e,t+184|0)|0)&255,_=t+3|0,_=(((Z[_>>0]|Z[_+1>>0]<<8)&65535)>>>8)+n|0,o=((Vr(((_|0)<1?0:(_|0)>254?255:_&255)+o|0)|0)&255)<<8,o=(o|C[l>>1])&65535):(o=t+3|0,o=E[l>>1]|(Z[o>>0]|Z[o+1>>0]<<8)&-256),E[l>>1]=o,M&32){_=Y0(e,t+272|0)|0,e=t+3|0,M=t+5|0,M=((((C[l>>1]|0)>>>8)+n-(((Z[e>>0]|Z[e+1>>0]<<8)&65535)>>>8)|0)/2|0)+(((Z[M>>0]|Z[M+1>>0]<<8)&65535)>>>8)|0,_=((Vr(((M|0)<1?0:(M|0)>254?255:M&255)+(_&255)|0)|0)&255)<<8,E[f>>1]=_|C[f>>1];break}else{_=t+5|0,E[f>>1]=E[f>>1]|(Z[_>>0]|Z[_+1>>0]<<8)&-256;break}else E[c+2>>1]=n,E[c+4>>1]=n;while(0);_=t+1|0,u[_>>0]=u[c>>0]|0,u[_+1>>0]=u[c+1>>0]|0,u[_+2>>0]=u[c+2>>0]|0,u[_+3>>0]=u[c+3>>0]|0,u[_+4>>0]=u[c+4>>0]|0,u[_+5>>0]=u[c+5>>0]|0,o4(_,i)}return m=w,i+6|0}function s4(t,e){t=t|0,e=e|0;var i=0,n=0;n=Wr(e)|0,i=Wr(e+2|0)|0,f4(t,n,i,Wr(e+4|0)|0)}function o4(t,e){t=t|0,e=e|0;var i=0;Nr(Z[t>>0]|Z[t+1>>0]<<8,e),i=t+2|0,Nr(Z[i>>0]|Z[i+1>>0]<<8,e+2|0),t=t+4|0,Nr(Z[t>>0]|Z[t+1>>0]<<8,e+4|0)}function f4(t,e,i,n){t=t|0,e=e|0,i=i|0,n=n|0,u[t>>0]=e,u[t+1>>0]=e>>8,e=t+2|0,u[e>>0]=i,u[e+1>>0]=i>>8,i=t+4|0,u[i>>0]=n,u[i+1>>0]=n>>8}function A4(t){t=t|0,C0(t),$(t)}function h4(t){t=t|0,t=r[t+12>>2]|0,t|0&&_0[r[(r[t>>2]|0)+4>>2]&255](t)}function l4(t,e){return t=t|0,e=e|0,((r[e+4>>2]|0)==10570?t+12|0:0)|0}function u4(t){t=t|0,h0(t,16)}function a4(t,e,i){t=t|0,e=e|0,i=i|0,Jt(t),r[t>>2]=4872,r[t+4>>2]=e,m4(t+8|0,i)}function c4(t,e,i){t=t|0,e=e|0,i=i|0;var n=0,o=0;i=m,m=m+16|0,n=i,r[t>>2]=e,o=b(16)|0,r[o+4>>2]=0,r[o+8>>2]=0,r[o>>2]=4896,r[o+12>>2]=e,r[t+4>>2]=o,r[n>>2]=e,r[n+4>>2]=e,It(t,n),m=i}function m4(t,e){t=t|0,e=e|0,r[t>>2]=r[e>>2],u[t+4>>0]=u[e+4>>0]|0,uo(t+8|0,e+8|0),uo(t+20|0,e+20|0),M4(t+32|0,e+32|0)}function lo(t){t=t|0,r[t>>2]=4872,Os(t+8|0),vt(t)}function v4(t){t=t|0,lo(t),$(t)}function p4(t,e){return t=t|0,e=e|0,T4(t+8|0,r[t+4>>2]|0,e)|0}function uo(t,e){t=t|0,e=e|0;var i=0,n=0;r[t>>2]=0,r[t+4>>2]=0,r[t+8>>2]=0,i=e+4|0,n=(r[i>>2]|0)-(r[e>>2]|0)|0,n|0&&(ao(t,n),y4(t,r[e>>2]|0,r[i>>2]|0,n))}function M4(t,e){t=t|0,e=e|0;var i=0,n=0,o=0,f=0,h=0;i=m,m=m+32|0,n=i+24|0,o=i+16|0,h=i+8|0,f=i,r[t>>2]=0,r[t+4>>2]=0,r[t+8>>2]=0,r[t+12>>2]=0,r[t+16>>2]=0,r[t+20>>2]=0,W4(h,e),N4(f,e),r[o>>2]=r[h>>2],r[o+4>>2]=r[h+4>>2],r[n>>2]=r[f>>2],r[n+4>>2]=r[f+4>>2],g4(t,o,n,0),m=i}function ao(t,e){t=t|0,e=e|0;var i=0;if((d4(t)|0)>>>0<e>>>0)L0(t);else{i=b(e)|0,r[t+4>>2]=i,r[t>>2]=i,r[t+8>>2]=i+e;return}}function y4(t,e,i,n){t=t|0,e=e|0,i=i|0,n=n|0;var o=0,f=0;f=m,m=m+16|0,o=f,mo(o,t,n),n=o+4|0,t=i-e|0,(t|0)>0&&(lt(r[n>>2]|0,e|0,t|0)|0,r[n>>2]=(r[n>>2]|0)+t),vo(o),m=f}function co(t){t=t|0;var e=0,i=0;e=r[t>>2]|0,i=e,e|0&&(r[t+4>>2]=i,h0(e,(r[t+8>>2]|0)-i|0))}function d4(t){return t=t|0,2147483647}function mo(t,e,i){t=t|0,e=e|0,i=i|0,r[t>>2]=e,e=r[e+4>>2]|0,r[t+4>>2]=e,r[t+8>>2]=e+i}function vo(t){t=t|0,r[(r[t>>2]|0)+4>>2]=r[t+4>>2]}function g4(t,e,i,n){t=t|0,e=e|0,i=i|0,n=n|0;var o=0,f=0,h=0,l=0,c=0,M=0,w=0,_=0,V=0,U=0,G=0,T=0;if(T=m,m=m+96|0,G=T+80|0,_=T+64|0,c=T+48|0,M=T+40|0,w=T+8|0,l=T,V=T+32|0,U=T+16|0,h=e,f=r[h>>2]|0,h=r[h+4>>2]|0,o=i,i=r[o>>2]|0,o=r[o+4>>2]|0,n=f,(o|0)==(h|0)?h=0:h=((o-(r[i>>2]|0)|0)/44|0)+((i-f>>2)*93|0)+((h-(r[f>>2]|0)|0)/-44|0)|0,i=(r[t+8>>2]|0)-(r[t+4>>2]|0)|0,i=(i|0?((i>>2)*93|0)+-1|0:0)-((r[t+20>>2]|0)+(r[t+16>>2]|0))|0,h>>>0>i>>>0&&po(t,h-i|0),Ge(M,t),Ge(l,t),o=l,i=r[o>>2]|0,o=r[o+4>>2]|0,f=w,r[f>>2]=i,r[f+4>>2]=o,f=i,h|0&&(i=((o-(r[i>>2]|0)|0)/44|0)+h|0,(i|0)>0?(l=(i>>>0)/93|0,h=f+(l<<2)|0,r[w>>2]=h,i=(r[h>>2]|0)+((i-(l*93|0)|0)*44|0)|0):(i=92-i|0,l=f+(((i|0)/-93|0)<<2)|0,r[w>>2]=l,i=(r[l>>2]|0)+((92-((i|0)%93|0)|0)*44|0)|0),r[w+4>>2]=i),r[_>>2]=r[M>>2],r[_+4>>2]=r[M+4>>2],r[G>>2]=r[w>>2],r[G+4>>2]=r[w+4>>2],jn(c,_,G),Mo(G,c),yo(_,c),xi(G,_)|0){f=U+4|0,h=e+4|0;do{if(go(V,G),Ro(U,t,V),i=r[U>>2]|0,(i|0)!=(r[f>>2]|0)){o=r[h>>2]|0;do zn(i,o),i=(r[U>>2]|0)+44|0,r[U>>2]=i,o=o+44|0,r[h>>2]=o,(o-(r[n>>2]|0)|0)==4092&&(n=n+4|0,r[e>>2]=n,o=r[n>>2]|0,r[h>>2]=o);while((i|0)!=(r[f>>2]|0))}xo(U),wo(G)|0}while(xi(G,_)|0)}m=T}function R4(t){t=t|0;var e=0,i=0,n=0;e=r[t+4>>2]|0,i=t+8|0,n=r[i>>2]|0,(n|0)!=(e|0)&&(r[i>>2]=n+(~((n+-4-e|0)>>>2)<<2)),e=r[t>>2]|0,e|0&&h0(e,(r[t+12>>2]|0)-e|0)}function po(t,e){t=t|0,e=e|0;var i=0,n=0,o=0,f=0,h=0,l=0,c=0,M=0,w=0,_=0,V=0,U=0,G=0,T=0,e0=0,P=0,I=0,t0=0,B=0,d0=0,N0=0,g0=0,f0=0,V0=0,i0=0;V0=m,m=m+64|0,t0=V0+52|0,I=V0+48|0,B=V0+28|0,d0=V0+24|0,N0=V0+20|0,G=V0,g0=t+8|0,i=r[g0>>2]|0,f0=t+4|0,c=r[f0>>2]|0,e0=((i|0)==(c|0)&1)+e|0,h=(e0>>>0)/93|0,h=h+((e0-(h*93|0)|0)!=0&1)|0,e0=t+16|0,n=r[e0>>2]|0,l=(n>>>0)/93|0,T=h>>>0<l>>>0?h:l,e=h-T|0,f=i;t:do if(e)if(P=t+12|0,n=r[P>>2]|0,o=n-(r[t>>2]|0)|0,i=f-c>>2,e>>>0>((o>>2)-i|0)>>>0){U=o>>1,V=i+e|0,ar(G,U>>>0<V>>>0?V:U,i-T|0,t+12|0);do r[t0>>2]=b(4092)|0,_4(G,t0),e=e+-1|0;while(e|0);if(!T)i=r[f0>>2]|0;else{l=G+8|0,c=G+12|0,M=G+4|0,w=G+16|0,_=B+4|0,V=B+8|0,U=B+12|0,h=T,e=r[l>>2]|0,i=r[f0>>2]|0;do{f=r[c>>2]|0,n=f;do if((e|0)==(f|0)){if(o=r[M>>2]|0,f=r[G>>2]|0,e=f,o>>>0<=f>>>0){e=n-e|0,e=e|0?e>>1:1,ar(B,e,e>>>2,r[w>>2]|0),r[d0>>2]=r[M>>2],r[N0>>2]=r[l>>2],r[I>>2]=r[d0>>2],r[t0>>2]=r[N0>>2],Xr(B,I,t0),e=r[G>>2]|0,r[G>>2]=r[B>>2],r[B>>2]=e,e=r[M>>2]|0,r[M>>2]=r[_>>2],r[_>>2]=e,e=r[l>>2]|0,r[l>>2]=r[V>>2],r[V>>2]=e,e=r[c>>2]|0,r[c>>2]=r[U>>2],r[U>>2]=e,cr(B),e=r[l>>2]|0;break}i0=o,e=((i0-e>>2)+1|0)/-2|0,f=o+(e<<2)|0,n=n-i0|0,n?(dt(f|0,o|0,n|0)|0,e=(r[M>>2]|0)+(e<<2)|0):e=f,i0=f+(n>>2<<2)|0,r[l>>2]=i0,r[M>>2]=e,e=i0}while(0);r[e>>2]=r[i>>2],e=(r[l>>2]|0)+4|0,r[l>>2]=e,i=(r[f0>>2]|0)+4|0,r[f0>>2]=i,h=h+-1|0}while(h|0)}if(e=r[g0>>2]|0,(e|0)!=(i|0)){do e=e+-4|0,Z4(G,e),i=r[f0>>2]|0;while((e|0)!=(i|0));e=r[g0>>2]|0}i0=r[t>>2]|0,r[t>>2]=r[G>>2],r[G>>2]=i0,i0=G+4|0,r[f0>>2]=r[i0>>2],r[i0>>2]=i,i0=G+8|0,r[g0>>2]=r[i0>>2],r[i0>>2]=e,i0=G+12|0,f0=r[P>>2]|0,r[P>>2]=r[i0>>2],r[i0>>2]=f0,r[e0>>2]=(r[e0>>2]|0)+(a0(T,-93)|0),cr(G);break}else{r:do if((n|0)==(f|0))M=18;else{for(;r[t0>>2]=b(4092)|0,x4(t,t0),e=e+-1|0,!!e;)if((r[P>>2]|0)==(r[g0>>2]|0)){M=18;break r}i=T,e=r[e0>>2]|0}while(0);if((M|0)==18){n=~(h>>>0>l>>>0?l:h),i=e;do r[t0>>2]=b(4092)|0,w4(t,t0),i=i+-1|0,o=(((r[g0>>2]|0)-(r[f0>>2]|0)|0)==4?92:93)+(r[e0>>2]|0)|0,r[e0>>2]=o;while(i|0);i=e+-1-n|0,e=o}if(r[e0>>2]=e+(a0(i,-93)|0),!i)break;l=t+12|0,c=B+4|0,M=B+8|0,w=B+12|0,e=r[g0>>2]|0;do{f=r[f0>>2]|0,h=r[f>>2]|0,f=f+4|0,r[f0>>2]=f,i0=r[P>>2]|0,n=i0;do if((e|0)==(i0|0)){if(i0=r[t>>2]|0,e=i0,f>>>0<=i0>>>0){e=n-e|0,e=e|0?e>>1:1,ar(B,e,e>>>2,l),r[d0>>2]=r[f0>>2],r[N0>>2]=r[g0>>2],r[I>>2]=r[d0>>2],r[t0>>2]=r[N0>>2],Xr(B,I,t0),e=r[t>>2]|0,r[t>>2]=r[B>>2],r[B>>2]=e,e=r[f0>>2]|0,r[f0>>2]=r[c>>2],r[c>>2]=e,e=r[g0>>2]|0,r[g0>>2]=r[M>>2],r[M>>2]=e,e=r[P>>2]|0,r[P>>2]=r[w>>2],r[w>>2]=e,cr(B),e=r[g0>>2]|0;break}i0=f,e=((i0-e>>2)+1|0)/-2|0,o=f+(e<<2)|0,n=n-i0|0,n?(dt(o|0,f|0,n|0)|0,e=(r[f0>>2]|0)+(e<<2)|0):e=o,i0=o+(n>>2<<2)|0,r[g0>>2]=i0,r[f0>>2]=e,e=i0}while(0);r[e>>2]=h,e=(r[g0>>2]|0)+4|0,r[g0>>2]=e,i=i+-1|0}while(i|0)}else if(r[e0>>2]=(a0(T,-93)|0)+n,T|0)for(l=t+12|0,M=t+12|0,w=B+4|0,_=B+8|0,V=B+12|0,e=T,n=c;;){h=r[n>>2]|0,f=n+4|0,r[f0>>2]=f,P=r[l>>2]|0,n=P;do if((i|0)==(P|0)){if(P=r[t>>2]|0,i=P,f>>>0<=P>>>0){i=n-i|0,i=i|0?i>>1:1,ar(B,i,i>>>2,M),r[d0>>2]=r[f0>>2],r[N0>>2]=r[g0>>2],r[I>>2]=r[d0>>2],r[t0>>2]=r[N0>>2],Xr(B,I,t0),i=r[t>>2]|0,r[t>>2]=r[B>>2],r[B>>2]=i,i=r[f0>>2]|0,r[f0>>2]=r[w>>2],r[w>>2]=i,i=r[g0>>2]|0,r[g0>>2]=r[_>>2],r[_>>2]=i,i=r[l>>2]|0,r[l>>2]=r[V>>2],r[V>>2]=i,cr(B),i=r[g0>>2]|0;break}P=f,i=((P-i>>2)+1|0)/-2|0,o=f+(i<<2)|0,n=n-P|0,n?(dt(o|0,f|0,n|0)|0,i=(r[f0>>2]|0)+(i<<2)|0):i=o,P=o+(n>>2<<2)|0,r[g0>>2]=P,r[f0>>2]=i,i=P}while(0);if(r[i>>2]=h,i=(r[g0>>2]|0)+4|0,r[g0>>2]=i,e=e+-1|0,!e)break t;n=r[f0>>2]|0}while(0);m=V0}function Ge(t,e){t=t|0,e=e|0;var i=0,n=0,o=0,f=0;i=(r[e+16>>2]|0)+(r[e+20>>2]|0)|0,f=r[e+4>>2]|0,n=(i>>>0)/93|0,o=f+(n<<2)|0,(r[e+8>>2]|0)==(f|0)?e=0:e=(r[o>>2]|0)+((i-(n*93|0)|0)*44|0)|0,r[t>>2]=o,r[t+4>>2]=e}function jn(t,e,i){t=t|0,e=e|0,i=i|0;var n=0,o=0;o=e,e=r[o+4>>2]|0,n=t,r[n>>2]=r[o>>2],r[n+4>>2]=e,n=i,e=r[n+4>>2]|0,i=t+8|0,r[i>>2]=r[n>>2],r[i+4>>2]=e}function Mo(t,e){t=t|0,e=e|0,r[t>>2]=r[e>>2],r[t+4>>2]=r[e+4>>2],r[t+8>>2]=r[e+8>>2],r[t+12>>2]=r[e+12>>2]}function yo(t,e){t=t|0,e=e|0;var i=0,n=0,o=0,f=0,h=0,l=0,c=0;i=m,m=m+32|0,n=i+24|0,o=i+16|0,h=i+8|0,f=i,l=e+8|0,c=r[l>>2]|0,l=r[l+4>>2]|0,e=h,r[e>>2]=c,r[e+4>>2]=l,e=f,r[e>>2]=c,r[e+4>>2]=l,r[o>>2]=r[h>>2],r[o+4>>2]=r[h+4>>2],r[n>>2]=r[f>>2],r[n+4>>2]=r[f+4>>2],jn(t,o,n),m=i}function xi(t,e){return t=t|0,e=e|0,(V4(t,e)|0)^1|0}function go(t,e){t=t|0,e=e|0;var i=0,n=0;i=r[e>>2]|0,n=r[e+4>>2]|0,(i|0)==(r[e+8>>2]|0)?_o(t,n,r[e+12>>2]|0):_o(t,n,(r[i>>2]|0)+4092|0)}function Ro(t,e,i){t=t|0,e=e|0,i=i|0;var n=0;n=r[i>>2]|0,r[t>>2]=n,r[t+4>>2]=r[i+4>>2],r[t+8>>2]=n,r[t+12>>2]=e}function xo(t){t=t|0;var e=0;e=(r[t+12>>2]|0)+20|0,r[e>>2]=(r[e>>2]|0)+(((r[t>>2]|0)-(r[t+8>>2]|0)|0)/44|0)}function wo(t){t=t|0;var e=0,i=0,n=0;return e=r[t>>2]|0,i=t+8|0,(e|0)==(r[i>>2]|0)?(n=i,e=r[n+4>>2]|0,i=t,r[i>>2]=r[n>>2],r[i+4>>2]=e):(n=e+4|0,r[t>>2]=n,r[t+4>>2]=r[n>>2]),t|0}function x4(t,e){t=t|0,e=e|0;var i=0,n=0,o=0,f=0,h=0,l=0,c=0,M=0,w=0,_=0,V=0,U=0,G=0,T=0;G=m,m=m+48|0,o=G+32|0,n=G+28|0,l=G+8|0,c=G+4|0,M=G,U=t+8|0,i=r[U>>2]|0,w=t+12|0,V=r[w>>2]|0,f=V;do if((i|0)==(V|0)){if(V=t+4|0,_=r[V>>2]|0,T=r[t>>2]|0,h=T,_>>>0<=T>>>0){i=f-h|0,i=i|0?i>>1:1,ar(l,i,i>>>2,t+12|0),r[c>>2]=r[V>>2],r[M>>2]=r[U>>2],r[n>>2]=r[c>>2],r[o>>2]=r[M>>2],Xr(l,n,o),i=r[t>>2]|0,r[t>>2]=r[l>>2],r[l>>2]=i,i=l+4|0,T=r[V>>2]|0,r[V>>2]=r[i>>2],r[i>>2]=T,i=l+8|0,T=r[U>>2]|0,r[U>>2]=r[i>>2],r[i>>2]=T,i=l+12|0,T=r[w>>2]|0,r[w>>2]=r[i>>2],r[i>>2]=T,cr(l),i=r[U>>2]|0;break}o=_,n=((o-h>>2)+1|0)/-2|0,t=_+(n<<2)|0,o=i-o|0,o?(dt(t|0,_|0,o|0)|0,i=(r[V>>2]|0)+(n<<2)|0):i=t,T=t+(o>>2<<2)|0,r[U>>2]=T,r[V>>2]=i,i=T}while(0);r[i>>2]=r[e>>2],r[U>>2]=(r[U>>2]|0)+4,m=G}function w4(t,e){t=t|0,e=e|0;var i=0,n=0,o=0,f=0,h=0,l=0,c=0,M=0,w=0,_=0,V=0,U=0,G=0,T=0;G=m,m=m+48|0,n=G+32|0,i=G+28|0,h=G+8|0,l=G+4|0,c=G,U=t+4|0,_=r[U>>2]|0,V=r[t>>2]|0,M=V;do if((_|0)==(V|0)){if(V=t+8|0,w=r[V>>2]|0,f=t+12|0,T=r[f>>2]|0,o=T,w>>>0>=T>>>0){T=o-M|0,T=T|0?T>>1:1,ar(h,T,(T+3|0)>>>2,t+12|0),r[l>>2]=r[U>>2],r[c>>2]=r[V>>2],r[i>>2]=r[l>>2],r[n>>2]=r[c>>2],Xr(h,i,n),i=r[t>>2]|0,r[t>>2]=r[h>>2],r[h>>2]=i,i=h+4|0,T=r[U>>2]|0,r[U>>2]=r[i>>2],r[i>>2]=T,i=h+8|0,T=r[V>>2]|0,r[V>>2]=r[i>>2],r[i>>2]=T,i=h+12|0,T=r[f>>2]|0,r[f>>2]=r[i>>2],r[i>>2]=T,cr(h),i=r[U>>2]|0;break}n=w,t=((o-n>>2)+1|0)/2|0,o=w+(t<<2)|0,n=n-_|0,i=o+(0-(n>>2)<<2)|0,n?(dt(i|0,_|0,n|0)|0,n=(r[V>>2]|0)+(t<<2)|0):(i=o,n=o),r[U>>2]=i,r[V>>2]=n}else i=_;while(0);r[i+-4>>2]=r[e>>2],r[U>>2]=(r[U>>2]|0)+-4,m=G}function ar(t,e,i,n){t=t|0,e=e|0,i=i|0,n=n|0;var o=0;o=t+12|0,r[o>>2]=0,r[t+16>>2]=n;do if(e)if(e>>>0>1073741823)o=F0(8)|0,$t(o,6723),r[o>>2]=5956,k0(o|0,3928,123);else{n=b(e<<2)|0;break}else n=0;while(0);r[t>>2]=n,i=n+(i<<2)|0,r[t+8>>2]=i,r[t+4>>2]=i,r[o>>2]=n+(e<<2)}function _4(t,e){t=t|0,e=e|0;var i=0,n=0,o=0,f=0,h=0,l=0,c=0,M=0,w=0,_=0,V=0,U=0,G=0,T=0;G=m,m=m+48|0,o=G+32|0,n=G+28|0,l=G+8|0,c=G+4|0,M=G,U=t+8|0,i=r[U>>2]|0,w=t+12|0,V=r[w>>2]|0,f=V;do if((i|0)==(V|0)){if(V=t+4|0,_=r[V>>2]|0,T=r[t>>2]|0,h=T,_>>>0<=T>>>0){i=f-h|0,i=i|0?i>>1:1,ar(l,i,i>>>2,r[t+16>>2]|0),r[c>>2]=r[V>>2],r[M>>2]=r[U>>2],r[n>>2]=r[c>>2],r[o>>2]=r[M>>2],Xr(l,n,o),i=r[t>>2]|0,r[t>>2]=r[l>>2],r[l>>2]=i,i=l+4|0,T=r[V>>2]|0,r[V>>2]=r[i>>2],r[i>>2]=T,i=l+8|0,T=r[U>>2]|0,r[U>>2]=r[i>>2],r[i>>2]=T,i=l+12|0,T=r[w>>2]|0,r[w>>2]=r[i>>2],r[i>>2]=T,cr(l),i=r[U>>2]|0;break}o=_,n=((o-h>>2)+1|0)/-2|0,t=_+(n<<2)|0,o=i-o|0,o?(dt(t|0,_|0,o|0)|0,i=(r[V>>2]|0)+(n<<2)|0):i=t,T=t+(o>>2<<2)|0,r[U>>2]=T,r[V>>2]=i,i=T}while(0);r[i>>2]=r[e>>2],r[U>>2]=(r[U>>2]|0)+4,m=G}function Z4(t,e){t=t|0,e=e|0;var i=0,n=0,o=0,f=0,h=0,l=0,c=0,M=0,w=0,_=0,V=0,U=0,G=0,T=0;G=m,m=m+48|0,n=G+32|0,i=G+28|0,h=G+8|0,l=G+4|0,c=G,U=t+4|0,_=r[U>>2]|0,V=r[t>>2]|0,M=V;do if((_|0)==(V|0)){if(V=t+8|0,w=r[V>>2]|0,f=t+12|0,T=r[f>>2]|0,o=T,w>>>0>=T>>>0){T=o-M|0,T=T|0?T>>1:1,ar(h,T,(T+3|0)>>>2,r[t+16>>2]|0),r[l>>2]=r[U>>2],r[c>>2]=r[V>>2],r[i>>2]=r[l>>2],r[n>>2]=r[c>>2],Xr(h,i,n),i=r[t>>2]|0,r[t>>2]=r[h>>2],r[h>>2]=i,i=h+4|0,T=r[U>>2]|0,r[U>>2]=r[i>>2],r[i>>2]=T,i=h+8|0,T=r[V>>2]|0,r[V>>2]=r[i>>2],r[i>>2]=T,i=h+12|0,T=r[f>>2]|0,r[f>>2]=r[i>>2],r[i>>2]=T,cr(h),i=r[U>>2]|0;break}n=w,t=((o-n>>2)+1|0)/2|0,o=w+(t<<2)|0,n=n-_|0,i=o+(0-(n>>2)<<2)|0,n?(dt(i|0,_|0,n|0)|0,n=(r[V>>2]|0)+(t<<2)|0):(i=o,n=o),r[U>>2]=i,r[V>>2]=n}else i=_;while(0);r[i+-4>>2]=r[e>>2],r[U>>2]=(r[U>>2]|0)+-4,m=G}function cr(t){t=t|0;var e=0,i=0,n=0;e=r[t+4>>2]|0,i=t+8|0,n=r[i>>2]|0,(n|0)!=(e|0)&&(r[i>>2]=n+(~((n+-4-e|0)>>>2)<<2)),e=r[t>>2]|0,e|0&&h0(e,(r[t+12>>2]|0)-e|0)}function Xr(t,e,i){t=t|0,e=e|0,i=i|0;var n=0,o=0,f=0,h=0;if(h=m,m=m+16|0,f=h,o=r[e>>2]|0,F4(f,t+8|0,(r[i>>2]|0)-o>>2),t=r[f>>2]|0,n=f+4|0,(t|0)!=(r[n>>2]|0)){i=o;do r[t>>2]=r[i>>2],t=(r[f>>2]|0)+4|0,r[f>>2]=t,i=i+4|0;while((t|0)!=(r[n>>2]|0));r[e>>2]=i}k4(f),m=h}function F4(t,e,i){t=t|0,e=e|0,i=i|0,r[t>>2]=r[e>>2],r[t+4>>2]=(r[e>>2]|0)+(i<<2),r[t+8>>2]=e}function k4(t){t=t|0,r[r[t+8>>2]>>2]=r[t>>2]}function V4(t,e){return t=t|0,e=e|0,(r[t+4>>2]|0)==(r[e+4>>2]|0)|0}function _o(t,e,i){t=t|0,e=e|0,i=i|0,r[t>>2]=e,r[t+4>>2]=i}function W4(t,e){t=t|0,e=e|0;var i=0,n=0,o=0,f=0;f=r[e+4>>2]|0,i=r[e+16>>2]|0,n=(i>>>0)/93|0,o=f+(n<<2)|0,(r[e+8>>2]|0)==(f|0)?e=0:e=(r[o>>2]|0)+((i-(n*93|0)|0)*44|0)|0,r[t>>2]=o,r[t+4>>2]=e}function N4(t,e){t=t|0,e=e|0;var i=0,n=0,o=0,f=0;i=(r[e+16>>2]|0)+(r[e+20>>2]|0)|0,f=r[e+4>>2]|0,n=(i>>>0)/93|0,o=f+(n<<2)|0,(r[e+8>>2]|0)==(f|0)?e=0:e=(r[o>>2]|0)+((i-(n*93|0)|0)*44|0)|0,r[t>>2]=o,r[t+4>>2]=e}function X4(t){t=t|0;var e=0,i=0,n=0,o=0,f=0,h=0,l=0;if(l=m,m=m+16|0,n=l+8|0,f=l,Zo(n,t),Ge(f,t),o=n+4|0,e=r[o>>2]|0,f=f+4|0,(e|0)!=(r[f>>2]|0))do G0(e),e=(r[o>>2]|0)+44|0,r[o>>2]=e,i=r[n>>2]|0,(e-(r[i>>2]|0)|0)==4092&&(e=i+4|0,r[n>>2]=e,e=r[e>>2]|0,r[o>>2]=e);while((e|0)!=(r[f>>2]|0));if(r[t+20>>2]=0,o=t+8|0,n=t+4|0,i=r[n>>2]|0,e=(r[o>>2]|0)-i>>2,e>>>0>2)do h0(r[i>>2]|0,4092),i=(r[n>>2]|0)+4|0,r[n>>2]=i,e=(r[o>>2]|0)-i>>2;while(e>>>0>2);switch(e|0){case 1:{e=46,h=11;break}case 2:{e=93,h=11;break}default:}(h|0)==11&&(r[t+16>>2]=e),m=l}function Zo(t,e){t=t|0,e=e|0;var i=0,n=0,o=0,f=0;f=r[e+4>>2]|0,i=r[e+16>>2]|0,n=(i>>>0)/93|0,o=f+(n<<2)|0,(r[e+8>>2]|0)==(f|0)?e=0:e=(r[o>>2]|0)+((i-(n*93|0)|0)*44|0)|0,r[t>>2]=o,r[t+4>>2]=e}function T4(t,e,i){t=t|0,e=e|0,i=i|0;var n=0,o=0,f=0,h=0,l=0,c=0,M=0;if(M=m,m=m+16|0,c=M,h=t+4|0,u[h>>0]|0){if(o=r[t+20>>2]|0,n=r[t+8>>2]|0,Zo(c,t+32|0),t=t+12|0,(n|0)!=(r[t>>2]|0))for(l=c+4|0,h=n,f=o,n=r[l>>2]|0;o=Z[h>>0]|0,o=U4((Y0(e,n)|0)+o|0)|0,u[f>>0]=o,u[i>>0]=o,u[h>>0]=o,h=h+1|0,i=i+1|0,o=r[c>>2]|0,n=(r[l>>2]|0)+44|0,r[l>>2]=n,(n-(r[o>>2]|0)|0)==4092&&(n=o+4|0,r[c>>2]=n,n=r[n>>2]|0,r[l>>2]=n),(h|0)!=(r[t>>2]|0);)f=f+1|0}else{if(c=pi(e)|0,Mi(c,i,r[t>>2]|0),c=r[t>>2]|0,f=i+c|0,!c)n=0;else{for(n=i,o=r[t+8>>2]|0;u[o>>0]=u[n>>0]|0,n=n+1|0,(n|0)!=(f|0);)o=o+1|0;n=r[t>>2]|0}u[h>>0]=1,i=i+n|0}return m=M,i|0}function U4(t){return t=t|0,t&255|0}function G4(t){t=t|0,C0(t),$(t)}function z4(t){t=t|0,t=r[t+12>>2]|0,t|0&&_0[r[(r[t>>2]|0)+4>>2]&255](t)}function E4(t,e){return t=t|0,e=e|0,((r[e+4>>2]|0)==11262?t+12|0:0)|0}function B4(t){t=t|0,h0(t,16)}function Fo(t,e){t=t|0,e=e|0,r[t>>2]=0,r[t+4>>2]=0,r[t+8>>2]=0,e|0&&(ao(t,e),C4(t,e))}function S4(t,e,i){t=t|0,e=e|0,i=i|0,r[t>>2]=0,r[t+4>>2]=0,r[t+8>>2]=0,r[t+12>>2]=0,r[t+16>>2]=0,r[t+20>>2]=0,e|0&&J4(t,e,i)}function C4(t,e){t=t|0,e=e|0;var i=0,n=0,o=0;if(o=m,m=m+16|0,n=o,mo(n,t,e),e=n+4|0,t=r[e>>2]|0,i=n+8|0,(t|0)!=(r[i>>2]|0))do u[t>>0]=0,t=(r[e>>2]|0)+1|0,r[e>>2]=t;while((t|0)!=(r[i>>2]|0));vo(n),m=o}function J4(t,e,i){t=t|0,e=e|0,i=i|0;var n=0,o=0,f=0,h=0,l=0,c=0,M=0,w=0,_=0,V=0,U=0;if(U=m,m=m+96|0,V=U+80|0,M=U+64|0,h=U+48|0,l=U+40|0,c=U+8|0,o=U,w=U+32|0,_=U+16|0,n=(r[t+8>>2]|0)-(r[t+4>>2]|0)|0,n=(n|0?((n>>2)*93|0)+-1|0:0)-((r[t+20>>2]|0)+(r[t+16>>2]|0))|0,n>>>0<e>>>0&&po(t,e-n|0),Ge(l,t),Ge(o,t),n=r[o>>2]|0,o=r[o+4>>2]|0,f=c,r[f>>2]=n,r[f+4>>2]=o,f=n,e|0&&(n=((o-(r[n>>2]|0)|0)/44|0)+e|0,(n|0)>0?(e=(n>>>0)/93|0,f=f+(e<<2)|0,r[c>>2]=f,n=(r[f>>2]|0)+((n-(e*93|0)|0)*44|0)|0):(n=92-n|0,e=f+(((n|0)/-93|0)<<2)|0,r[c>>2]=e,n=(r[e>>2]|0)+((92-((n|0)%93|0)|0)*44|0)|0),r[c+4>>2]=n),r[M>>2]=r[l>>2],r[M+4>>2]=r[l+4>>2],r[V>>2]=r[c>>2],r[V+4>>2]=r[c+4>>2],jn(h,M,V),Mo(V,h),yo(M,h),xi(V,M)|0){o=_+4|0;do{if(go(w,V),Ro(_,t,w),n=r[_>>2]|0,(n|0)!=(r[o>>2]|0))do zn(n,i),n=(r[_>>2]|0)+44|0,r[_>>2]=n;while((n|0)!=(r[o>>2]|0));xo(_),wo(V)|0}while(xi(V,M)|0)}m=U}function I4(t){t=t|0;var e=0,i=0;if(X4(t),e=r[t+4>>2]|0,i=r[t+8>>2]|0,(e|0)!=(i|0))do h0(r[e>>2]|0,4092),e=e+4|0;while((e|0)!=(i|0));R4(t)}function O4(t,e,i){t=t|0,e=e|0,i=i|0,re(t),r[t>>2]=4924,r[t+4>>2]=e,r[t+8>>2]=i}function j4(t,e,i){t=t|0,e=e|0,i=i|0;var n=0,o=0;i=m,m=m+16|0,n=i,r[t>>2]=e,o=b(16)|0,r[o+4>>2]=0,r[o+8>>2]=0,r[o>>2]=4944,r[o+12>>2]=e,r[t+4>>2]=o,r[n>>2]=e,r[n+4>>2]=e,wi(t,n),m=i}function P4(t,e){return t=t|0,e=e|0,H4(r[t+8>>2]|0,r[t+4>>2]|0,e)|0}function ko(t){t=t|0;var e=0,i=0;r[t>>2]=4924,i=t+8|0,e=r[i>>2]|0,r[i>>2]=0,e|0&&(D4(e),$(e)),kr(t)}function Y4(t){t=t|0,ko(t),$(t)}function H4(t,e,i){return t=t|0,e=e|0,i=i|0,Pn(t+4784|0,e,Te(t,e,i)|0)|0}function Pn(t,e,i){return t=t|0,e=e|0,i=i|0,u[t>>0]|0&&(Gn(e),u[t>>0]=0),i|0}function D4(t){t=t|0,Xe(t)}function wi(t,e){t=t|0,e=e|0}function Q4(t){t=t|0,C0(t),$(t)}function L4(t){t=t|0,t=r[t+12>>2]|0,t|0&&_0[r[(r[t>>2]|0)+8>>2]&255](t)}function q4(t,e){return t=t|0,e=e|0,((r[e+4>>2]|0)==12004?t+12|0:0)|0}function $4(t){t=t|0,h0(t,16)}function Yn(t){t=t|0,u[t>>0]=1}function K4(t,e,i){t=t|0,e=e|0,i=i|0,re(t),r[t>>2]=4972,r[t+4>>2]=e,r[t+8>>2]=i}function b4(t,e,i){t=t|0,e=e|0,i=i|0;var n=0,o=0;i=m,m=m+16|0,n=i,r[t>>2]=e,o=b(16)|0,r[o+4>>2]=0,r[o+8>>2]=0,r[o>>2]=4992,r[o+12>>2]=e,r[t+4>>2]=o,r[n>>2]=e,r[n+4>>2]=e,wi(t,n),m=i}function tm(t,e){return t=t|0,e=e|0,em(r[t+8>>2]|0,r[t+4>>2]|0,e)|0}function Vo(t){t=t|0;var e=0,i=0;r[t>>2]=4972,i=t+8|0,e=r[i>>2]|0,r[i>>2]=0,e|0&&(nm(e),$(e)),kr(t)}function rm(t){t=t|0,Vo(t),$(t)}function em(t,e,i){return t=t|0,e=e|0,i=i|0,im(t+4784|0,e,Te(t,e,i)|0)|0}function im(t,e,i){return t=t|0,e=e|0,i=i|0,Pn(t+328|0,e,Ue(t,e,i)|0)|0}function nm(t){t=t|0,sm(t+4784|0),Xe(t)}function sm(t){t=t|0,On(t)}function om(t){t=t|0,C0(t),$(t)}function fm(t){t=t|0,t=r[t+12>>2]|0,t|0&&_0[r[(r[t>>2]|0)+8>>2]&255](t)}function Am(t,e){return t=t|0,e=e|0,((r[e+4>>2]|0)==12827?t+12|0:0)|0}function hm(t){t=t|0,h0(t,16)}function lm(t){t=t|0,In(t),Yn(t+328|0)}function um(t,e,i){t=t|0,e=e|0,i=i|0,re(t),r[t>>2]=5020,r[t+4>>2]=e,r[t+8>>2]=i}function am(t,e,i){t=t|0,e=e|0,i=i|0;var n=0,o=0;i=m,m=m+16|0,n=i,r[t>>2]=e,o=b(16)|0,r[o+4>>2]=0,r[o+8>>2]=0,r[o>>2]=5040,r[o+12>>2]=e,r[t+4>>2]=o,r[n>>2]=e,r[n+4>>2]=e,wi(t,n),m=i}function cm(t,e){return t=t|0,e=e|0,vm(r[t+8>>2]|0,r[t+4>>2]|0,e)|0}function Wo(t){t=t|0;var e=0,i=0;r[t>>2]=5020,i=t+8|0,e=r[i>>2]|0,r[i>>2]=0,e|0&&(pm(e),$(e)),kr(t)}function mm(t){t=t|0,Wo(t),$(t)}function vm(t,e,i){return t=t|0,e=e|0,i=i|0,No(t+4784|0,e,Te(t,e,i)|0)|0}function No(t,e,i){return t=t|0,e=e|0,i=i|0,Pn(t+316|0,e,ho(t,e,i)|0)|0}function pm(t){t=t|0,Xo(t+4784|0),Xe(t)}function Xo(t){t=t|0,Ao(t)}function Mm(t){t=t|0,C0(t),$(t)}function ym(t){t=t|0,t=r[t+12>>2]|0,t|0&&_0[r[(r[t>>2]|0)+8>>2]&255](t)}function dm(t,e){return t=t|0,e=e|0,((r[e+4>>2]|0)==13672?t+12|0:0)|0}function gm(t){t=t|0,h0(t,16)}function To(t){t=t|0,so(t),Yn(t+316|0)}function Rm(t,e,i){t=t|0,e=e|0,i=i|0,re(t),r[t>>2]=5068,r[t+4>>2]=e,r[t+8>>2]=i}function xm(t,e,i){t=t|0,e=e|0,i=i|0;var n=0,o=0;i=m,m=m+16|0,n=i,r[t>>2]=e,o=b(16)|0,r[o+4>>2]=0,r[o+8>>2]=0,r[o>>2]=5088,r[o+12>>2]=e,r[t+4>>2]=o,r[n>>2]=e,r[n+4>>2]=e,wi(t,n),m=i}function wm(t,e){return t=t|0,e=e|0,Zm(r[t+8>>2]|0,r[t+4>>2]|0,e)|0}function Uo(t){t=t|0;var e=0,i=0;r[t>>2]=5068,i=t+8|0,e=r[i>>2]|0,r[i>>2]=0,e|0&&(km(e),$(e)),kr(t)}function _m(t){t=t|0,Uo(t),$(t)}function Zm(t,e,i){return t=t|0,e=e|0,i=i|0,Fm(t+4784|0,e,Te(t,e,i)|0)|0}function Fm(t,e,i){return t=t|0,e=e|0,i=i|0,No(t+328|0,e,Ue(t,e,i)|0)|0}function km(t){t=t|0,Vm(t+4784|0),Xe(t)}function Vm(t){t=t|0,Xo(t+328|0),On(t)}function Wm(t){t=t|0,C0(t),$(t)}function Nm(t){t=t|0,t=r[t+12>>2]|0,t|0&&_0[r[(r[t>>2]|0)+8>>2]&255](t)}function Xm(t,e){return t=t|0,e=e|0,((r[e+4>>2]|0)==14573?t+12|0:0)|0}function Tm(t){t=t|0,h0(t,16)}function Um(t){t=t|0,In(t),To(t+328|0)}function Gm(t){return t=t|0,t+20|0}function zm(t,e,i){t=t|0,e=e|0,i=i|0,r[t>>2]=e,r[t+4>>2]=i,r[t+8>>2]=0}function Em(t,e){t=t|0,e=e|0,r[t>>2]=e,r[t+4>>2]=0,r[t+8>>2]=-1}function Bm(t,e){t=t|0,e=e|0;var i=0,n=0,o=0,f=0;i=m,m=m+16|0,n=i+4|0,f=i,o=b(24)|0,$m(o,e),r[f>>2]=0,r[n>>2]=r[f>>2],Km(t,o,n),m=i}function ze(t){t=t|0;var e=0,i=0;t=r[t+4>>2]|0,t|0&&(i=t+4|0,e=r[i>>2]|0,r[i>>2]=e+-1,(e|0)==0)&&(_0[r[(r[t>>2]|0)+8>>2]&255](t),qt(t))}function Sm(t,e,i){t=t|0,e=e|0,i=i|0;var n=0,o=0;i=m,m=m+16|0,n=i,r[t>>2]=e,o=b(16)|0,r[o+4>>2]=0,r[o+8>>2]=0,r[o>>2]=5116,r[o+12>>2]=e,r[t+4>>2]=o,r[n>>2]=e,r[n+4>>2]=e,Cm(t,n),m=i}function Hn(t){t=t|0;var e=0,i=0;t=r[t+4>>2]|0,t|0&&(i=t+4|0,e=r[i>>2]|0,r[i>>2]=e+-1,(e|0)==0)&&(_0[r[(r[t>>2]|0)+8>>2]&255](t),qt(t))}function Cm(t,e){t=t|0,e=e|0}function Jm(t){t=t|0,C0(t),$(t)}function Im(t){t=t|0,t=r[t+12>>2]|0,t|0&&$(t)}function Om(t,e){return t=t|0,e=e|0,((r[e+4>>2]|0)==14966?t+12|0:0)|0}function jm(t){t=t|0,h0(t,16)}function Pm(t,e,i){t=t|0,e=e|0,i=i|0;var n=0,o=0;i=m,m=m+16|0,n=i,r[t>>2]=e,o=b(16)|0,r[o+4>>2]=0,r[o+8>>2]=0,r[o>>2]=5144,r[o+12>>2]=e,r[t+4>>2]=o,r[n>>2]=e,r[n+4>>2]=e,Ym(t,n),m=i}function Go(t){t=t|0;var e=0,i=0;t=r[t+4>>2]|0,t|0&&(i=t+4|0,e=r[i>>2]|0,r[i>>2]=e+-1,(e|0)==0)&&(_0[r[(r[t>>2]|0)+8>>2]&255](t),qt(t))}function Ym(t,e){t=t|0,e=e|0}function Hm(t){t=t|0,C0(t),$(t)}function Dm(t){t=t|0,t=r[t+12>>2]|0,t|0&&(qm(t),$(t))}function Qm(t,e){return t=t|0,e=e|0,((r[e+4>>2]|0)==15127?t+12|0:0)|0}function Lm(t){t=t|0,h0(t,16)}function qm(t){t=t|0}function $m(t,e){t=t|0,e=e|0,re(t),r[t>>2]=5172,r[t+4>>2]=e,r[t+8>>2]=0,r[t+12>>2]=0,r[t+16>>2]=0,u[t+20>>0]=1}function Km(t,e,i){t=t|0,e=e|0,i=i|0;var n=0,o=0;i=m,m=m+16|0,n=i,r[t>>2]=e,o=b(16)|0,r[o+4>>2]=0,r[o+8>>2]=0,r[o>>2]=5192,r[o+12>>2]=e,r[t+4>>2]=o,r[n>>2]=e,r[n+4>>2]=e,e3(t,n),m=i}function bm(t,e){t=t|0,e=e|0;var i=0,n=0,o=0,f=0,h=0,l=0,c=0;if(c=m,m=m+16|0,f=c,i=r[t+8>>2]|0,h=r[t+12>>2]|0,(i|0)!=(h|0)){l=f+4|0;do n=r[i>>2]|0,r[f>>2]=n,o=r[i+4>>2]|0,r[l>>2]=o,o|0&&(o=o+4|0,r[o>>2]=(r[o>>2]|0)+1),e=Ie[r[(r[n>>2]|0)+12>>2]&63](n,e)|0,rt(f),i=i+8|0;while((i|0)!=(h|0))}return i=t+20|0,u[i>>0]|0&&(u[i>>0]=0,r3(r[t+4>>2]|0)),m=c,e|0}function zo(t){t=t|0,r[t>>2]=5172,Hs(t+8|0),kr(t)}function t3(t){t=t|0,zo(t),$(t)}function r3(t){t=t|0;var e=0;e=((ee(r[t>>2]|0)|0)&255)<<24,e=((ee(r[t>>2]|0)|0)&255)<<16|e,e=e|((ee(r[t>>2]|0)|0)&255)<<8,r[t+4>>2]=e|(ee(r[t>>2]|0)|0)&255}function ee(t){t=t|0;var e=0,i=0;return e=r[t>>2]|0,i=t+8|0,t=r[i>>2]|0,r[i>>2]=t+1,u[e+t>>0]|0}function e3(t,e){t=t|0,e=e|0}function i3(t){t=t|0,C0(t),$(t)}function n3(t){t=t|0,t=r[t+12>>2]|0,t|0&&_0[r[(r[t>>2]|0)+8>>2]&255](t)}function s3(t,e){return t=t|0,e=e|0,((r[e+4>>2]|0)==15450?t+12|0:0)|0}function o3(t){t=t|0,h0(t,16)}function Dn(t){t=t|0;var e=0,i=0,n=0,o=0,f=0,h=0,l=0,c=0,M=0,w=0;c=m,m=m+32|0,n=c+12|0,o=c,e=c+8|0,h=b(180)|0,f3(h,r[t+4>>2]|0),f=t+8|0,r[e>>2]=0,r[n>>2]=r[e>>2],A3(o,h,n),h=t+12|0,e=r[h>>2]|0,l=t+16|0;do if(e>>>0>=(r[l>>2]|0)>>>0)if(e=(e-(r[f>>2]|0)>>3)+1|0,i=Ct(f)|0,i>>>0<e>>>0)L0(f);else{M=r[f>>2]|0,w=(r[l>>2]|0)-M|0,l=w>>2,Et(n,w>>3>>>0<i>>>1>>>0?l>>>0<e>>>0?e:l:i,(r[h>>2]|0)-M>>3,t+16|0),l=n+8|0,h=r[l>>2]|0,r[h>>2]=r[o>>2],t=o+4|0,r[h+4>>2]=r[t>>2],r[o>>2]=0,r[t>>2]=0,r[l>>2]=h+8,Bt(f,n),St(n);break}else Gt(n,f,1),w=n+4|0,M=r[w>>2]|0,r[M>>2]=r[o>>2],l=o+4|0,r[M+4>>2]=r[l>>2],r[o>>2]=0,r[l>>2]=0,r[w>>2]=M+8,zt(n);while(0);rt(o),m=c}function _i(t){t=t|0;var e=0,i=0,n=0,o=0,f=0,h=0,l=0,c=0,M=0,w=0;c=m,m=m+32|0,n=c+12|0,o=c,e=c+8|0,h=b(180)|0,_3(h,r[t+4>>2]|0),f=t+8|0,r[e>>2]=0,r[n>>2]=r[e>>2],Z3(o,h,n),h=t+12|0,e=r[h>>2]|0,l=t+16|0;do if(e>>>0>=(r[l>>2]|0)>>>0)if(e=(e-(r[f>>2]|0)>>3)+1|0,i=Ct(f)|0,i>>>0<e>>>0)L0(f);else{M=r[f>>2]|0,w=(r[l>>2]|0)-M|0,l=w>>2,Et(n,w>>3>>>0<i>>>1>>>0?l>>>0<e>>>0?e:l:i,(r[h>>2]|0)-M>>3,t+16|0),l=n+8|0,h=r[l>>2]|0,r[h>>2]=r[o>>2],t=o+4|0,r[h+4>>2]=r[t>>2],r[o>>2]=0,r[t>>2]=0,r[l>>2]=h+8,Bt(f,n),St(n);break}else Gt(n,f,1),w=n+4|0,M=r[w>>2]|0,r[M>>2]=r[o>>2],l=o+4|0,r[M+4>>2]=r[l>>2],r[o>>2]=0,r[l>>2]=0,r[w>>2]=M+8,zt(n);while(0);rt(o),m=c}function f3(t,e){t=t|0,e=e|0,Jt(t),r[t>>2]=5220,r[t+4>>2]=e,h3(t+8|0)}function A3(t,e,i){t=t|0,e=e|0,i=i|0;var n=0,o=0;i=m,m=m+16|0,n=i,r[t>>2]=e,o=b(16)|0,r[o+4>>2]=0,r[o+8>>2]=0,r[o>>2]=5244,r[o+12>>2]=e,r[t+4>>2]=o,r[n>>2]=e,r[n+4>>2]=e,It(t,n),m=i}function h3(t){t=t|0,pt(t,32,1,8,0),st(t+80|0,32,1,8,0),u[t+160>>0]=0,u[t+161>>0]=0,a3(t+164|0)}function Eo(t){t=t|0,r[t>>2]=5220,c3(t+8|0),vt(t)}function l3(t){t=t|0,Eo(t),$(t)}function u3(t,e){return t=t|0,e=e|0,m3(t+8|0,r[t+4>>2]|0,e)|0}function a3(t){t=t|0,u[t+4>>0]=0}function c3(t){t=t|0,ft(t+80|0),Mt(t)}function m3(t,e,i){t=t|0,e=e|0,i=i|0;var n=0,o=0,f=0;return f=m,m=m+16|0,n=f,u[t+161>>0]|0||ot(t+80|0),o=t+164|0,v3(o)|0?(e=ie(t+80|0,e,r[o>>2]|0,0)|0,r[n>>2]=e,gi(e,i)):(se(ne(e)|0,i,4),r[n>>2]=yi(i)|0),p3(o,n),m=f,i+4|0}function v3(t){return t=t|0,(u[t+4>>0]|0)!=0|0}function ie(t,e,i,n){return t=t|0,e=e|0,i=i|0,n=n|0,i=(M3(t,e,(r[t+36>>2]|0)+(n*44|0)|0)|0)+i|0,e=r[t+24>>2]|0,(i|0)<0?i+e|0:i-(i>>>0<e>>>0?0:e)|0}function ne(t){return t=t|0,r[t>>2]|0}function se(t,e,i){t=t|0,e=e|0,i=i|0;var n=0;if((i|0)>0){n=0;do u[e+n>>0]=ee(t)|0,n=n+1|0;while((n|0)!=(i|0))}}function p3(t,e){t=t|0,e=e|0;var i=0;i=t+4|0,u[i>>0]|0||(u[i>>0]=1),r[t>>2]=r[e>>2]}function M3(t,e,i){t=t|0,e=e|0,i=i|0;var n=0;i=Qn(e,i)|0,r[t>>2]=i;do if(i){if(i>>>0>=32){i=r[t+28>>2]|0;break}if(n=r[t+12>>2]|0,i>>>0>n>>>0?(n=i-n|0,i=Qn(e,(r[t+68>>2]|0)+((i+-1|0)*44|0)|0)|0,n=i<<n|(Bo(e,n)|0)):n=Qn(e,(r[t+68>>2]|0)+((i+-1|0)*44|0)|0)|0,i=r[t>>2]|0,(n|0)<(1<<i+-1|0)){i=n+1+(-1<<i)|0;break}else{i=n+1|0;break}}else i=y3(e,t+48|0)|0;while(0);return i|0}function Qn(t,e){t=t|0,e=e|0;var i=0,n=0,o=0,f=0,h=0,l=0,c=0,M=0,w=0,_=0,V=0,U=0;if(V=t+8|0,_=r[V>>2]|0,o=r[e+16>>2]|0,o){if(n=t+4|0,i=r[n>>2]|0,w=_>>>15,r[V>>2]=w,c=(i>>>0)/(w>>>0)|0,l=c>>>(r[e+40>>2]|0),f=r[o+(l<<2)>>2]|0,l=(r[o+(l+1<<2)>>2]|0)+1|0,h=f+1|0,M=r[e+8>>2]|0,l>>>0>h>>>0){o=f,f=l;do h=(f+o|0)>>>1,l=(r[M+(h<<2)>>2]|0)>>>0>c>>>0,o=l?o:h,f=l?h:f,h=o+1|0;while(f>>>0>h>>>0);f=o}o=a0(r[M+(f<<2)>>2]|0,w)|0,(f|0)==(r[e+32>>2]|0)?h=_:h=a0(r[M+(h<<2)>>2]|0,w)|0}else{M=_>>>15,r[V>>2]=M,l=r[e>>2]|0,w=r[e+8>>2]|0,n=t+4|0,i=r[n>>2]|0,c=l>>>1,o=0,h=_,f=0;do U=a0(r[w+(c<<2)>>2]|0,M)|0,_=U>>>0>i>>>0,h=_?U:h,o=_?o:U,f=_?f:c,l=_?c:l,c=(f+l|0)>>>1;while((c|0)!=(f|0))}return r[n>>2]=i-o,U=h-o|0,r[V>>2]=U,U>>>0<16777216&&Zi(t),V=(r[e+12>>2]|0)+(f<<2)|0,r[V>>2]=(r[V>>2]|0)+1,V=e+28|0,U=(r[V>>2]|0)+-1|0,r[V>>2]=U,U||En(e),f|0}function Bo(t,e){t=t|0,e=e|0;var i=0,n=0,o=0,f=0;return e>>>0>19?(i=(d3(t)|0)&65535,(Bo(t,e+-16|0)|0)<<16|i|0):(n=t+4|0,o=r[n>>2]|0,f=t+8|0,i=(r[f>>2]|0)>>>e,r[f>>2]=i,e=(o>>>0)/(i>>>0)|0,r[n>>2]=o-(a0(e,i)|0),i>>>0<16777216&&Zi(t),e|0)}function y3(t,e){t=t|0,e=e|0;var i=0,n=0,o=0,f=0,h=0,l=0;return n=t+8|0,o=r[n>>2]|0,i=a0(o>>>13,r[e+8>>2]|0)|0,f=t+4|0,h=r[f>>2]|0,l=h>>>0>=i>>>0,l?(r[f>>2]=h-i,i=o-i|0,r[n>>2]=i):(r[n>>2]=i,h=e+12|0,r[h>>2]=(r[h>>2]|0)+1),i>>>0<16777216&&Zi(t),h=e+4|0,t=(r[h>>2]|0)+-1|0,r[h>>2]=t,t||Js(e),l&1|0}function Zi(t){t=t|0;var e=0,i=0,n=0,o=0;e=t+4|0,i=t+8|0,n=r[e>>2]|0;do n=n<<8|(ee(r[t>>2]|0)|0)&255,r[e>>2]=n,o=r[i>>2]<<8,r[i>>2]=o;while(o>>>0<16777216)}function d3(t){t=t|0;var e=0,i=0,n=0,o=0;return i=t+4|0,o=r[i>>2]|0,e=t+8|0,n=(r[e>>2]|0)>>>16,r[e>>2]=n,e=(o>>>0)/(n>>>0)|0,r[i>>2]=o-(a0(e,n)|0),Zi(t),e&65535|0}function g3(t){t=t|0,C0(t),$(t)}function R3(t){t=t|0,t=r[t+12>>2]|0,t|0&&_0[r[(r[t>>2]|0)+4>>2]&255](t)}function x3(t,e){return t=t|0,e=e|0,((r[e+4>>2]|0)==15904?t+12|0:0)|0}function w3(t){t=t|0,h0(t,16)}function _3(t,e){t=t|0,e=e|0,Jt(t),r[t>>2]=5272,r[t+4>>2]=e,F3(t+8|0)}function Z3(t,e,i){t=t|0,e=e|0,i=i|0;var n=0,o=0;i=m,m=m+16|0,n=i,r[t>>2]=e,o=b(16)|0,r[o+4>>2]=0,r[o+8>>2]=0,r[o>>2]=5296,r[o+12>>2]=e,r[t+4>>2]=o,r[n>>2]=e,r[n+4>>2]=e,It(t,n),m=i}function F3(t){t=t|0,pt(t,32,1,8,0),st(t+80|0,32,1,8,0),u[t+160>>0]=0,u[t+161>>0]=0,W3(t+164|0)}function So(t){t=t|0,r[t>>2]=5272,N3(t+8|0),vt(t)}function k3(t){t=t|0,So(t),$(t)}function V3(t,e){return t=t|0,e=e|0,X3(t+8|0,r[t+4>>2]|0,e)|0}function W3(t){t=t|0,u[t+4>>0]=0}function N3(t){t=t|0,ft(t+80|0),Mt(t)}function X3(t,e,i){t=t|0,e=e|0,i=i|0;var n=0,o=0,f=0;return f=m,m=m+16|0,n=f,u[t+161>>0]|0||ot(t+80|0),o=t+164|0,T3(o)|0?(e=ie(t+80|0,e,r[o>>2]|0,0)|0,r[n>>2]=e,Ri(e,i)):(se(ne(e)|0,i,4),r[n>>2]=di(i)|0),U3(o,n),m=f,i+4|0}function T3(t){return t=t|0,(u[t+4>>0]|0)!=0|0}function U3(t,e){t=t|0,e=e|0;var i=0;i=t+4|0,u[i>>0]|0||(u[i>>0]=1),r[t>>2]=r[e>>2]}function G3(t){t=t|0,C0(t),$(t)}function z3(t){t=t|0,t=r[t+12>>2]|0,t|0&&_0[r[(r[t>>2]|0)+4>>2]&255](t)}function E3(t,e){return t=t|0,e=e|0,((r[e+4>>2]|0)==16402?t+12|0:0)|0}function B3(t){t=t|0,h0(t,16)}function S3(t){t=t|0;var e=0,i=0,n=0,o=0,f=0,h=0,l=0,c=0,M=0,w=0;c=m,m=m+32|0,n=c+12|0,o=c,e=c+8|0,h=b(172)|0,J3(h,r[t+4>>2]|0),f=t+8|0,r[e>>2]=0,r[n>>2]=r[e>>2],I3(o,h,n),h=t+12|0,e=r[h>>2]|0,l=t+16|0;do if(e>>>0>=(r[l>>2]|0)>>>0)if(e=(e-(r[f>>2]|0)>>3)+1|0,i=Ct(f)|0,i>>>0<e>>>0)L0(f);else{M=r[f>>2]|0,w=(r[l>>2]|0)-M|0,l=w>>2,Et(n,w>>3>>>0<i>>>1>>>0?l>>>0<e>>>0?e:l:i,(r[h>>2]|0)-M>>3,t+16|0),l=n+8|0,h=r[l>>2]|0,r[h>>2]=r[o>>2],t=o+4|0,r[h+4>>2]=r[t>>2],r[o>>2]=0,r[t>>2]=0,r[l>>2]=h+8,Bt(f,n),St(n);break}else Gt(n,f,1),w=n+4|0,M=r[w>>2]|0,r[M>>2]=r[o>>2],l=o+4|0,r[M+4>>2]=r[l>>2],r[o>>2]=0,r[l>>2]=0,r[w>>2]=M+8,zt(n);while(0);rt(o),m=c}function C3(t){t=t|0;var e=0,i=0,n=0,o=0,f=0,h=0,l=0,c=0,M=0,w=0;c=m,m=m+32|0,n=c+12|0,o=c,e=c+8|0,h=b(176)|0,e8(h,r[t+4>>2]|0),f=t+8|0,r[e>>2]=0,r[n>>2]=r[e>>2],i8(o,h,n),h=t+12|0,e=r[h>>2]|0,l=t+16|0;do if(e>>>0>=(r[l>>2]|0)>>>0)if(e=(e-(r[f>>2]|0)>>3)+1|0,i=Ct(f)|0,i>>>0<e>>>0)L0(f);else{M=r[f>>2]|0,w=(r[l>>2]|0)-M|0,l=w>>2,Et(n,w>>3>>>0<i>>>1>>>0?l>>>0<e>>>0?e:l:i,(r[h>>2]|0)-M>>3,t+16|0),l=n+8|0,h=r[l>>2]|0,r[h>>2]=r[o>>2],t=o+4|0,r[h+4>>2]=r[t>>2],r[o>>2]=0,r[t>>2]=0,r[l>>2]=h+8,Bt(f,n),St(n);break}else Gt(n,f,1),w=n+4|0,M=r[w>>2]|0,r[M>>2]=r[o>>2],l=o+4|0,r[M+4>>2]=r[l>>2],r[o>>2]=0,r[l>>2]=0,r[w>>2]=M+8,zt(n);while(0);rt(o),m=c}function J3(t,e){t=t|0,e=e|0,Jt(t),r[t>>2]=5324,r[t+4>>2]=e,O3(t+8|0)}function I3(t,e,i){t=t|0,e=e|0,i=i|0;var n=0,o=0;i=m,m=m+16|0,n=i,r[t>>2]=e,o=b(16)|0,r[o+4>>2]=0,r[o+8>>2]=0,r[o>>2]=5348,r[o+12>>2]=e,r[t+4>>2]=o,r[n>>2]=e,r[n+4>>2]=e,It(t,n),m=i}function O3(t){t=t|0,pt(t,8,1,8,0),st(t+80|0,8,1,8,0),u[t+160>>0]=0,u[t+161>>0]=0,Y3(t+162|0)}function Co(t){t=t|0,r[t>>2]=5324,H3(t+8|0),vt(t)}function j3(t){t=t|0,Co(t),$(t)}function P3(t,e){return t=t|0,e=e|0,D3(t+8|0,r[t+4>>2]|0,e)|0}function Y3(t){t=t|0,u[t+1>>0]=0}function H3(t){t=t|0,ft(t+80|0),Mt(t)}function D3(t,e,i){t=t|0,e=e|0,i=i|0;var n=0,o=0,f=0;return f=m,m=m+16|0,n=f,u[t+161>>0]|0||ot(t+80|0),o=t+162|0,Q3(o)|0?(e=(ie(t+80|0,e,u[o>>0]|0,0)|0)&255,u[n>>0]=e,L3(e,i)):(se(ne(e)|0,i,1),u[n>>0]=q3(i)|0),$3(o,n),m=f,i+1|0}function Q3(t){return t=t|0,(u[t+1>>0]|0)!=0|0}function L3(t,e){t=t|0,e=e|0,u[e>>0]=t}function q3(t){return t=t|0,u[t>>0]|0}function $3(t,e){t=t|0,e=e|0;var i=0;i=t+1|0,u[i>>0]|0||(u[i>>0]=1),u[t>>0]=u[e>>0]|0}function K3(t){t=t|0,C0(t),$(t)}function b3(t){t=t|0,t=r[t+12>>2]|0,t|0&&_0[r[(r[t>>2]|0)+4>>2]&255](t)}function t8(t,e){return t=t|0,e=e|0,((r[e+4>>2]|0)==16900?t+12|0:0)|0}function r8(t){t=t|0,h0(t,16)}function e8(t,e){t=t|0,e=e|0,Jt(t),r[t>>2]=5376,r[t+4>>2]=e,n8(t+8|0)}function i8(t,e,i){t=t|0,e=e|0,i=i|0;var n=0,o=0;i=m,m=m+16|0,n=i,r[t>>2]=e,o=b(16)|0,r[o+4>>2]=0,r[o+8>>2]=0,r[o>>2]=5400,r[o+12>>2]=e,r[t+4>>2]=o,r[n>>2]=e,r[n+4>>2]=e,It(t,n),m=i}function n8(t){t=t|0,pt(t,16,1,8,0),st(t+80|0,16,1,8,0),u[t+160>>0]=0,u[t+161>>0]=0,f8(t+162|0)}function Jo(t){t=t|0,r[t>>2]=5376,A8(t+8|0),vt(t)}function s8(t){t=t|0,Jo(t),$(t)}function o8(t,e){return t=t|0,e=e|0,h8(t+8|0,r[t+4>>2]|0,e)|0}function f8(t){t=t|0,u[t+2>>0]=0}function A8(t){t=t|0,ft(t+80|0),Mt(t)}function h8(t,e,i){t=t|0,e=e|0,i=i|0;var n=0,o=0,f=0;return f=m,m=m+16|0,n=f,u[t+161>>0]|0||ot(t+80|0),o=t+162|0,l8(o)|0?(e=(ie(t+80|0,e,E[o>>1]|0,0)|0)&65535,E[n>>1]=e,u8(e,i)):(se(ne(e)|0,i,2),E[n>>1]=a8(i)|0),c8(o,n),m=f,i+2|0}function l8(t){return t=t|0,(u[t+2>>0]|0)!=0|0}function u8(t,e){t=t|0,e=e|0,Nr(t,e)}function a8(t){return t=t|0,Wr(t)|0}function c8(t,e){t=t|0,e=e|0;var i=0;i=t+2|0,u[i>>0]|0||(u[i>>0]=1),E[t>>1]=E[e>>1]|0}function m8(t){t=t|0,C0(t),$(t)}function v8(t){t=t|0,t=r[t+12>>2]|0,t|0&&_0[r[(r[t>>2]|0)+4>>2]&255](t)}function p8(t,e){return t=t|0,e=e|0,((r[e+4>>2]|0)==17398?t+12|0:0)|0}function M8(t){t=t|0,h0(t,16)}function y8(t){t=t|0;var e=0,i=0,n=0,o=0,f=0,h=0,l=0,c=0,M=0,w=0;c=m,m=m+32|0,n=c+12|0,o=c,e=c+8|0,h=b(172)|0,g8(h,r[t+4>>2]|0),f=t+8|0,r[e>>2]=0,r[n>>2]=r[e>>2],R8(o,h,n),h=t+12|0,e=r[h>>2]|0,l=t+16|0;do if(e>>>0>=(r[l>>2]|0)>>>0)if(e=(e-(r[f>>2]|0)>>3)+1|0,i=Ct(f)|0,i>>>0<e>>>0)L0(f);else{M=r[f>>2]|0,w=(r[l>>2]|0)-M|0,l=w>>2,Et(n,w>>3>>>0<i>>>1>>>0?l>>>0<e>>>0?e:l:i,(r[h>>2]|0)-M>>3,t+16|0),l=n+8|0,h=r[l>>2]|0,r[h>>2]=r[o>>2],t=o+4|0,r[h+4>>2]=r[t>>2],r[o>>2]=0,r[t>>2]=0,r[l>>2]=h+8,Bt(f,n),St(n);break}else Gt(n,f,1),w=n+4|0,M=r[w>>2]|0,r[M>>2]=r[o>>2],l=o+4|0,r[M+4>>2]=r[l>>2],r[o>>2]=0,r[l>>2]=0,r[w>>2]=M+8,zt(n);while(0);rt(o),m=c}function d8(t){t=t|0;var e=0,i=0,n=0,o=0,f=0,h=0,l=0,c=0,M=0,w=0;c=m,m=m+32|0,n=c+12|0,o=c,e=c+8|0,h=b(176)|0,G8(h,r[t+4>>2]|0),f=t+8|0,r[e>>2]=0,r[n>>2]=r[e>>2],z8(o,h,n),h=t+12|0,e=r[h>>2]|0,l=t+16|0;do if(e>>>0>=(r[l>>2]|0)>>>0)if(e=(e-(r[f>>2]|0)>>3)+1|0,i=Ct(f)|0,i>>>0<e>>>0)L0(f);else{M=r[f>>2]|0,w=(r[l>>2]|0)-M|0,l=w>>2,Et(n,w>>3>>>0<i>>>1>>>0?l>>>0<e>>>0?e:l:i,(r[h>>2]|0)-M>>3,t+16|0),l=n+8|0,h=r[l>>2]|0,r[h>>2]=r[o>>2],t=o+4|0,r[h+4>>2]=r[t>>2],r[o>>2]=0,r[t>>2]=0,r[l>>2]=h+8,Bt(f,n),St(n);break}else Gt(n,f,1),w=n+4|0,M=r[w>>2]|0,r[M>>2]=r[o>>2],l=o+4|0,r[M+4>>2]=r[l>>2],r[o>>2]=0,r[l>>2]=0,r[w>>2]=M+8,zt(n);while(0);rt(o),m=c}function g8(t,e){t=t|0,e=e|0,Jt(t),r[t>>2]=5428,r[t+4>>2]=e,x8(t+8|0)}function R8(t,e,i){t=t|0,e=e|0,i=i|0;var n=0,o=0;i=m,m=m+16|0,n=i,r[t>>2]=e,o=b(16)|0,r[o+4>>2]=0,r[o+8>>2]=0,r[o>>2]=5452,r[o+12>>2]=e,r[t+4>>2]=o,r[n>>2]=e,r[n+4>>2]=e,It(t,n),m=i}function x8(t){t=t|0,pt(t,8,1,8,0),st(t+80|0,8,1,8,0),u[t+160>>0]=0,u[t+161>>0]=0,Z8(t+162|0)}function Io(t){t=t|0,r[t>>2]=5428,F8(t+8|0),vt(t)}function w8(t){t=t|0,Io(t),$(t)}function _8(t,e){return t=t|0,e=e|0,k8(t+8|0,r[t+4>>2]|0,e)|0}function Z8(t){t=t|0,u[t+1>>0]=0}function F8(t){t=t|0,ft(t+80|0),Mt(t)}function k8(t,e,i){t=t|0,e=e|0,i=i|0;var n=0,o=0,f=0;return f=m,m=m+16|0,n=f,u[t+161>>0]|0||ot(t+80|0),o=t+162|0,V8(o)|0?(e=(ie(t+80|0,e,Z[o>>0]|0,0)|0)&255,u[n>>0]=e,Jn(e,i)):(se(ne(e)|0,i,1),u[n>>0]=Cn(i)|0),W8(o,n),m=f,i+1|0}function V8(t){return t=t|0,(u[t+1>>0]|0)!=0|0}function W8(t,e){t=t|0,e=e|0;var i=0;i=t+1|0,u[i>>0]|0||(u[i>>0]=1),u[t>>0]=u[e>>0]|0}function N8(t){t=t|0,C0(t),$(t)}function X8(t){t=t|0,t=r[t+12>>2]|0,t|0&&_0[r[(r[t>>2]|0)+4>>2]&255](t)}function T8(t,e){return t=t|0,e=e|0,((r[e+4>>2]|0)==17896?t+12|0:0)|0}function U8(t){t=t|0,h0(t,16)}function G8(t,e){t=t|0,e=e|0,Jt(t),r[t>>2]=5480,r[t+4>>2]=e,E8(t+8|0)}function z8(t,e,i){t=t|0,e=e|0,i=i|0;var n=0,o=0;i=m,m=m+16|0,n=i,r[t>>2]=e,o=b(16)|0,r[o+4>>2]=0,r[o+8>>2]=0,r[o>>2]=5504,r[o+12>>2]=e,r[t+4>>2]=o,r[n>>2]=e,r[n+4>>2]=e,It(t,n),m=i}function E8(t){t=t|0,pt(t,16,1,8,0),st(t+80|0,16,1,8,0),u[t+160>>0]=0,u[t+161>>0]=0,C8(t+162|0)}function Oo(t){t=t|0,r[t>>2]=5480,J8(t+8|0),vt(t)}function B8(t){t=t|0,Oo(t),$(t)}function S8(t,e){return t=t|0,e=e|0,I8(t+8|0,r[t+4>>2]|0,e)|0}function C8(t){t=t|0,u[t+2>>0]=0}function J8(t){t=t|0,ft(t+80|0),Mt(t)}function I8(t,e,i){t=t|0,e=e|0,i=i|0;var n=0,o=0,f=0;return f=m,m=m+16|0,n=f,u[t+161>>0]|0||ot(t+80|0),o=t+162|0,O8(o)|0?(e=(ie(t+80|0,e,C[o>>1]|0,0)|0)&65535,E[n>>1]=e,Nr(e,i)):(se(ne(e)|0,i,2),E[n>>1]=Wr(i)|0),j8(o,n),m=f,i+2|0}function O8(t){return t=t|0,(u[t+2>>0]|0)!=0|0}function j8(t,e){t=t|0,e=e|0;var i=0;i=t+2|0,u[i>>0]|0||(u[i>>0]=1),E[t>>1]=E[e>>1]|0}function P8(t){t=t|0,C0(t),$(t)}function Y8(t){t=t|0,t=r[t+12>>2]|0,t|0&&_0[r[(r[t>>2]|0)+4>>2]&255](t)}function H8(t,e){return t=t|0,e=e|0,((r[e+4>>2]|0)==18394?t+12|0:0)|0}function D8(t){t=t|0,h0(t,16)}function LR(){}function Q8(t){return t=t|0,t5(t)|0}function L8(){return 0}function q8(){return 0}function $8(t){t=t|0,t|0&&(r5(t),$(t))}function Ee(){return e5()|0}function K8(){return i5()|0}function b8(){return n5()|0}function jo(){return 0}function t5(t){return t=t|0,3360}function r5(t){t=t|0;var e=0,i=0,n=0,o=0;e=m,m=m+16|0,n=e,r[n>>2]=r[t>>2],r[t>>2]=0,i=t+4|0,r[n+4>>2]=r[i>>2],r[i>>2]=0,Vn(n),i=t+8|0,r[n>>2]=r[i>>2],r[i>>2]=0,o=t+12|0,r[n+4>>2]=r[o>>2],r[o>>2]=0,Wn(n),Wn(i),Vn(t),m=e}function e5(){return 3360}function i5(){return 3368}function n5(){return 3384}function Fi(){return 18579}function ki(){return 18582}function Po(){return 18584}function s5(){var t=0;return t=b(16)|0,a5(t),t|0}function o5(t){t=t|0;var e=0,i=0,n=0,o=0;e=m,m=m+16|0,i=e,o=Ee()|0,n=A5(i)|0,i=h5(i)|0,Ms(o|0,n|0,i|0,Fi()|0,12,t|0),m=e}function f5(t){return t=t|0,l5(a2[t&3]()|0)|0}function A5(t){return t=t|0,1}function h5(t){return t=t|0,u5()|0}function l5(t){return t=t|0,t|0}function u5(){return 5524}function a5(t){t=t|0,r[t>>2]=0,r[t+4>>2]=0,r[t+8>>2]=0,r[t+12>>2]=0}function c5(t,e){t=t|0,e=e|0;var i=0,n=0,o=0,f=0,h=0;i=m,m=m+16|0,n=i,o=i+8|0,h=r[e+4>>2]|0,r[n>>2]=r[e>>2],r[n+4>>2]=h,h=Ee()|0,f=v5(o)|0,o=p5(o)|0,e=Ho()|0,br(h|0,t|0,f|0,o|0,e|0,4,M5(n)|0,0),m=i}function m5(t,e,i,n){t=t|0,e=e|0,i=i|0,n=n|0;var o=0,f=0;f=Ln(e)|0,e=r[t>>2]|0,o=r[t+4>>2]|0,t=f+(o>>1)|0,o&1&&(e=r[(r[t>>2]|0)+e>>2]|0),o=Yo(i)|0,f=qn(n)|0,Oe[e&15](t,o,f)}function v5(t){return t=t|0,4}function p5(t){return t=t|0,y5()|0}function M5(t){t=t|0;var e=0,i=0;return e=b(8)|0,i=r[t+4>>2]|0,r[e>>2]=r[t>>2],r[e+4>>2]=i,e|0}function Ln(t){return t=t|0,t|0}function Yo(t){return t=t|0,t|0}function qn(t){return t=t|0,t|0}function y5(){return 144}function Ho(){return 18587}function d5(t,e){t=t|0,e=e|0;var i=0,n=0,o=0,f=0,h=0;i=m,m=m+16|0,n=i,o=i+8|0,h=r[e+4>>2]|0,r[n>>2]=r[e>>2],r[n+4>>2]=h,h=Ee()|0,f=R5(o)|0,o=x5(o)|0,e=$n()|0,br(h|0,t|0,f|0,o|0,e|0,7,w5(n)|0,0),m=i}function g5(t,e,i){t=t|0,e=e|0,i=i|0;var n=0,o=0;o=Ln(e)|0,e=r[t>>2]|0,n=r[t+4>>2]|0,t=o+(n>>1)|0,n&1&&(e=r[(r[t>>2]|0)+e>>2]|0),o=Do(i)|0,vr[e&15](t,o)}function R5(t){return t=t|0,3}function x5(t){return t=t|0,_5()|0}function w5(t){t=t|0;var e=0,i=0;return e=b(8)|0,i=r[t+4>>2]|0,r[e>>2]=r[t>>2],r[e+4>>2]=i,e|0}function Do(t){return t=t|0,t|0}function _5(){return 5528}function $n(){return 18593}function Z5(t,e){t=t|0,e=e|0;var i=0,n=0,o=0,f=0,h=0;i=m,m=m+16|0,n=i,o=i+8|0,h=r[e+4>>2]|0,r[n>>2]=r[e>>2],r[n+4>>2]=h,h=Ee()|0,f=k5(o)|0,o=V5(o)|0,e=T5()|0,br(h|0,t|0,f|0,o|0,e|0,41,W5(n)|0,0),m=i}function F5(t,e){t=t|0,e=e|0;var i=0,n=0,o=0,f=0;return n=m,m=m+16|0,i=n,f=Ln(e)|0,e=r[t>>2]|0,o=r[t+4>>2]|0,t=f+(o>>1)|0,o&1&&(e=r[(r[t>>2]|0)+e>>2]|0),r[i>>2]=Gi[e&15](t)|0,f=N5(i)|0,m=n,f|0}function k5(t){return t=t|0,2}function V5(t){return t=t|0,X5()|0}function W5(t){t=t|0;var e=0,i=0;return e=b(8)|0,i=r[t+4>>2]|0,r[e>>2]=r[t>>2],r[e+4>>2]=i,e|0}function N5(t){return t=t|0,r[t>>2]|0}function X5(){return 5540}function T5(){return 18598}function qR(){}function U5(t){return t=t|0,C5(t)|0}function G5(){return 0}function z5(){return 0}function E5(t){t=t|0,t|0&&(J5(t),$(t))}function Be(){return I5()|0}function B5(){return O5()|0}function S5(){return j5()|0}function C5(t){return t=t|0,3400}function J5(t){t=t|0;var e=0,i=0,n=0,o=0;e=m,m=m+16|0,n=e,r[n>>2]=r[t>>2],r[t>>2]=0,i=t+4|0,r[n+4>>2]=r[i>>2],r[i>>2]=0,Hn(n),i=t+16|0,r[n>>2]=r[i>>2],r[i>>2]=0,o=t+20|0,r[n+4>>2]=r[o>>2],r[o>>2]=0,ze(n),r[n>>2]=r[i>>2],r[i>>2]=0,r[n+4>>2]=r[o>>2],r[o>>2]=0,ze(n),ze(i),Go(t+8|0),Hn(t),m=e}function I5(){return 3400}function O5(){return 3408}function j5(){return 3424}function P5(){var t=0;return t=b(24)|0,$5(t),t|0}function Y5(t){t=t|0;var e=0,i=0,n=0,o=0;e=m,m=m+16|0,i=e,o=Be()|0,n=D5(i)|0,i=Q5(i)|0,Ms(o|0,n|0,i|0,Fi()|0,13,t|0),m=e}function H5(t){return t=t|0,L5(a2[t&3]()|0)|0}function D5(t){return t=t|0,1}function Q5(t){return t=t|0,q5()|0}function L5(t){return t=t|0,t|0}function q5(){return 5548}function $5(t){t=t|0,r[t>>2]=0,r[t+4>>2]=0,r[t+8>>2]=0,r[t+12>>2]=0,r[t+16>>2]=0,r[t+20>>2]=0}function K5(t,e){t=t|0,e=e|0;var i=0,n=0,o=0,f=0,h=0;i=m,m=m+16|0,n=i,o=i+8|0,h=r[e+4>>2]|0,r[n>>2]=r[e>>2],r[n+4>>2]=h,h=Be()|0,f=tv(o)|0,o=rv(o)|0,e=Ho()|0,br(h|0,t|0,f|0,o|0,e|0,5,ev(n)|0,0),m=i}function b5(t,e,i,n){t=t|0,e=e|0,i=i|0,n=n|0;var o=0,f=0;f=Kn(e)|0,e=r[t>>2]|0,o=r[t+4>>2]|0,t=f+(o>>1)|0,o&1&&(e=r[(r[t>>2]|0)+e>>2]|0),o=Yo(i)|0,f=qn(n)|0,Oe[e&15](t,o,f)}function tv(t){return t=t|0,4}function rv(t){return t=t|0,iv()|0}function ev(t){t=t|0;var e=0,i=0;return e=b(8)|0,i=r[t+4>>2]|0,r[e>>2]=r[t>>2],r[e+4>>2]=i,e|0}function Kn(t){return t=t|0,t|0}function iv(){return 160}function bn(t,e){t=t|0,e=e|0;var i=0,n=0,o=0,f=0,h=0;i=m,m=m+16|0,n=i,o=i+8|0,h=r[e+4>>2]|0,r[n>>2]=r[e>>2],r[n+4>>2]=h,h=Be()|0,f=sv(o)|0,o=ov(o)|0,e=$n()|0,br(h|0,t|0,f|0,o|0,e|0,8,fv(n)|0,0),m=i}function nv(t,e,i){t=t|0,e=e|0,i=i|0;var n=0,o=0;o=Kn(e)|0,e=r[t>>2]|0,n=r[t+4>>2]|0,t=o+(n>>1)|0,n&1&&(e=r[(r[t>>2]|0)+e>>2]|0),o=qn(i)|0,vr[e&15](t,o)}function sv(t){return t=t|0,3}function ov(t){return t=t|0,Av()|0}function fv(t){t=t|0;var e=0,i=0;return e=b(8)|0,i=r[t+4>>2]|0,r[e>>2]=r[t>>2],r[e+4>>2]=i,e|0}function Av(){return 5552}function hv(t,e){t=t|0,e=e|0;var i=0,n=0,o=0,f=0,h=0;i=m,m=m+16|0,n=i,o=i+8|0,h=r[e+4>>2]|0,r[n>>2]=r[e>>2],r[n+4>>2]=h,h=Be()|0,f=uv(o)|0,o=av(o)|0,e=$n()|0,br(h|0,t|0,f|0,o|0,e|0,9,cv(n)|0,0),m=i}function lv(t,e,i){t=t|0,e=e|0,i=i|0;var n=0,o=0;o=Kn(e)|0,e=r[t>>2]|0,n=r[t+4>>2]|0,t=o+(n>>1)|0,n&1&&(e=r[(r[t>>2]|0)+e>>2]|0),o=Do(i)|0,vr[e&15](t,o)}function uv(t){return t=t|0,3}function av(t){return t=t|0,mv()|0}function cv(t){t=t|0;var e=0,i=0;return e=b(8)|0,i=r[t+4>>2]|0,r[e>>2]=r[t>>2],r[e+4>>2]=i,e|0}function mv(){return 5564}function vv(){Gl()}function pv(){Mv()}function Mv(){yv(22144)}function yv(t){t=t|0;var e=0;e=m,m=m+16|0,r[e>>2]=t,Qo(),m=e}function Qo(){Vl(dv()|0,18653),Fl(gv()|0,18658,1,1,0),Rv(18663),xv(18668),wv(18680),_v(18694),Zv(18700),Fv(18715),kv(18719),Vv(18732),Wv(18737),Nv(18751),Xv(18757),ds(Tv()|0,18764),ds(Uv()|0,18776),kn(Gv()|0,4,18809),kn(zv()|0,2,18822),kn(Ev()|0,4,18837),kl(Bv()|0,18852),Sv(18868),Lo(18898),qo(18935),$o(18974),Ko(19005),bo(19045),tf(19074),Cv(19112),Jv(19142),Lo(19181),qo(19213),$o(19246),Ko(19279),bo(19313),tf(19346),Iv(19380),Ov(19411),jv(19443)}function dv(){return rp()|0}function gv(){return tp()|0}function Rv(t){t=t|0;var e=0,i=0;e=m,m=m+16|0,i=e,r[i>>2]=t,t=K6()|0,Lt(t|0,r[i>>2]|0,1,-128<<24>>24|0,127<<24>>24|0),m=e}function xv(t){t=t|0;var e=0,i=0;e=m,m=m+16|0,i=e,r[i>>2]=t,t=q6()|0,Lt(t|0,r[i>>2]|0,1,-128<<24>>24|0,127<<24>>24|0),m=e}function wv(t){t=t|0;var e=0,i=0;e=m,m=m+16|0,i=e,r[i>>2]=t,t=Q6()|0,Lt(t|0,r[i>>2]|0,1,0,255),m=e}function _v(t){t=t|0;var e=0,i=0;e=m,m=m+16|0,i=e,r[i>>2]=t,t=H6()|0,Lt(t|0,r[i>>2]|0,2,-32768<<16>>16|0,32767<<16>>16|0),m=e}function Zv(t){t=t|0;var e=0,i=0;e=m,m=m+16|0,i=e,r[i>>2]=t,t=P6()|0,Lt(t|0,r[i>>2]|0,2,0,65535),m=e}function Fv(t){t=t|0;var e=0,i=0;e=m,m=m+16|0,i=e,r[i>>2]=t,t=O6()|0,Lt(t|0,r[i>>2]|0,4,-2147483648,2147483647),m=e}function kv(t){t=t|0;var e=0,i=0;e=m,m=m+16|0,i=e,r[i>>2]=t,t=J6()|0,Lt(t|0,r[i>>2]|0,4,0,-1),m=e}function Vv(t){t=t|0;var e=0,i=0;e=m,m=m+16|0,i=e,r[i>>2]=t,t=S6()|0,Lt(t|0,r[i>>2]|0,4,-2147483648,2147483647),m=e}function Wv(t){t=t|0;var e=0,i=0;e=m,m=m+16|0,i=e,r[i>>2]=t,t=E6()|0,Lt(t|0,r[i>>2]|0,4,0,-1),m=e}function Nv(t){t=t|0;var e=0,i=0;e=m,m=m+16|0,i=e,r[i>>2]=t,t=G6()|0,ys(t|0,r[i>>2]|0,4),m=e}function Xv(t){t=t|0;var e=0,i=0;e=m,m=m+16|0,i=e,r[i>>2]=t,t=T6()|0,ys(t|0,r[i>>2]|0,8),m=e}function Tv(){return X6()|0}function Uv(){return N6()|0}function Gv(){return W6()|0}function zv(){return V6()|0}function Ev(){return k6()|0}function Bv(){return F6()|0}function Sv(t){t=t|0;var e=0,i=0,n=0;e=m,m=m+16|0,i=e,r[i>>2]=t,n=w6()|0,t=_6()|0,mt(n|0,t|0,r[i>>2]|0),m=e}function Lo(t){t=t|0;var e=0,i=0,n=0;e=m,m=m+16|0,i=e,r[i>>2]=t,n=g6()|0,t=R6()|0,mt(n|0,t|0,r[i>>2]|0),m=e}function qo(t){t=t|0;var e=0,i=0,n=0;e=m,m=m+16|0,i=e,r[i>>2]=t,n=M6()|0,t=y6()|0,mt(n|0,t|0,r[i>>2]|0),m=e}function $o(t){t=t|0;var e=0,i=0,n=0;e=m,m=m+16|0,i=e,r[i>>2]=t,n=m6()|0,t=v6()|0,mt(n|0,t|0,r[i>>2]|0),m=e}function Ko(t){t=t|0;var e=0,i=0,n=0;e=m,m=m+16|0,i=e,r[i>>2]=t,n=u6()|0,t=a6()|0,mt(n|0,t|0,r[i>>2]|0),m=e}function bo(t){t=t|0;var e=0,i=0,n=0;e=m,m=m+16|0,i=e,r[i>>2]=t,n=A6()|0,t=h6()|0,mt(n|0,t|0,r[i>>2]|0),m=e}function tf(t){t=t|0;var e=0,i=0,n=0;e=m,m=m+16|0,i=e,r[i>>2]=t,n=s6()|0,t=o6()|0,mt(n|0,t|0,r[i>>2]|0),m=e}function Cv(t){t=t|0;var e=0,i=0,n=0;e=m,m=m+16|0,i=e,r[i>>2]=t,n=e6()|0,t=i6()|0,mt(n|0,t|0,r[i>>2]|0),m=e}function Jv(t){t=t|0;var e=0,i=0,n=0;e=m,m=m+16|0,i=e,r[i>>2]=t,n=bv()|0,t=t6()|0,mt(n|0,t|0,r[i>>2]|0),m=e}function Iv(t){t=t|0;var e=0,i=0,n=0;e=m,m=m+16|0,i=e,r[i>>2]=t,n=qv()|0,t=$v()|0,mt(n|0,t|0,r[i>>2]|0),m=e}function Ov(t){t=t|0;var e=0,i=0,n=0;e=m,m=m+16|0,i=e,r[i>>2]=t,n=Dv()|0,t=Qv()|0,mt(n|0,t|0,r[i>>2]|0),m=e}function jv(t){t=t|0;var e=0,i=0,n=0;e=m,m=m+16|0,i=e,r[i>>2]=t,n=Pv()|0,t=Yv()|0,mt(n|0,t|0,r[i>>2]|0),m=e}function Pv(){return Hv()|0}function Yv(){return 7}function Hv(){return 3440}function Dv(){return Lv()|0}function Qv(){return 7}function Lv(){return 3448}function qv(){return Kv()|0}function $v(){return 6}function Kv(){return 3456}function bv(){return r6()|0}function t6(){return 5}function r6(){return 3464}function e6(){return n6()|0}function i6(){return 4}function n6(){return 3472}function s6(){return f6()|0}function o6(){return 5}function f6(){return 3480}function A6(){return l6()|0}function h6(){return 4}function l6(){return 3488}function u6(){return c6()|0}function a6(){return 3}function c6(){return 3496}function m6(){return p6()|0}function v6(){return 2}function p6(){return 3504}function M6(){return d6()|0}function y6(){return 1}function d6(){return 3512}function g6(){return x6()|0}function R6(){return 0}function x6(){return 3520}function w6(){return Z6()|0}function _6(){return 0}function Z6(){return 3528}function F6(){return 3536}function k6(){return 3544}function V6(){return 3576}function W6(){return 3600}function N6(){return 3624}function X6(){return 3648}function T6(){return U6()|0}function U6(){return 4144}function G6(){return z6()|0}function z6(){return 4136}function E6(){return B6()|0}function B6(){return 4128}function S6(){return C6()|0}function C6(){return 4120}function J6(){return I6()|0}function I6(){return 4112}function O6(){return j6()|0}function j6(){return 4104}function P6(){return Y6()|0}function Y6(){return 4096}function H6(){return D6()|0}function D6(){return 4088}function Q6(){return L6()|0}function L6(){return 4072}function q6(){return $6()|0}function $6(){return 4080}function K6(){return b6()|0}function b6(){return 4064}function tp(){return 4056}function rp(){return 4040}function ep(t){t=t|0;var e=0,i=0,n=0,o=0;return e=m,m=m+16|0,i=e+8|0,n=e+4|0,o=e,r[o>>2]=t,r[n>>2]=r[o>>2],r[i>>2]=r[(r[n>>2]|0)+4>>2],t=xp(r[i>>2]|0)|0,m=e,t|0}function Ot(){return 21636}function Se(t){return t=t|0,(t+-48|0)>>>0<10|0}function rf(){return 5576}function ef(t,e){t=t|0,e=e|0;var i=0,n=0;if(i=u[t>>0]|0,n=u[e>>0]|0,!(i<<24>>24)||i<<24>>24!=n<<24>>24)t=n;else{do t=t+1|0,e=e+1|0,i=u[t>>0]|0,n=u[e>>0]|0;while(!(!(i<<24>>24)||i<<24>>24!=n<<24>>24));t=n}return(i&255)-(t&255)|0}function Vi(t){t=t|0;var e=0,i=0,n=0;n=t;t:do if(!(n&3))i=5;else for(e=n;;){if(!(u[t>>0]|0)){t=e;break t}if(t=t+1|0,e=t,!(e&3)){i=5;break}}while(0);if((i|0)==5){for(;e=r[t>>2]|0,!((e&-2139062144^-2139062144)&e+-16843009);)t=t+4|0;if((e&255)<<24>>24)do t=t+1|0;while(u[t>>0]|0)}return t-n|0}function ip(t){t=t|0}function np(t){return t=t|0,1}function sp(t){t=t|0;var e=0,i=0;return e=t+74|0,i=u[e>>0]|0,u[e>>0]=i+255|i,e=r[t>>2]|0,e&8?(r[t>>2]=e|32,t=-1):(r[t+8>>2]=0,r[t+4>>2]=0,i=r[t+44>>2]|0,r[t+28>>2]=i,r[t+20>>2]=i,r[t+16>>2]=i+(r[t+48>>2]|0),t=0),t|0}function op(t,e,i){t=t|0,e=e|0,i=i|0;var n=0,o=0,f=0,h=0,l=0;n=i+16|0,o=r[n>>2]|0,o?f=5:sp(i)|0?n=0:(o=r[n>>2]|0,f=5);t:do if((f|0)==5){if(l=i+20|0,h=r[l>>2]|0,n=h,(o-h|0)>>>0<e>>>0){n=he[r[i+36>>2]&7](i,t,e)|0;break}r:do if((u[i+75>>0]|0)<0|(e|0)==0)f=0,o=t;else{for(h=e;o=h+-1|0,(u[t+o>>0]|0)!=10;)if(o)h=o;else{f=0,o=t;break r}if(n=he[r[i+36>>2]&7](i,t,h)|0,n>>>0<h>>>0)break t;f=h,o=t+h|0,e=e-h|0,n=r[l>>2]|0}while(0);lt(n|0,o|0,e|0)|0,r[l>>2]=(r[l>>2]|0)+e,n=f+e|0}while(0);return n|0}function fp(t,e){return t=t|0,e=e|0,e?e=Ap(r[e>>2]|0,r[e+4>>2]|0,t)|0:e=0,(e|0?e:t)|0}function Ap(t,e,i){t=t|0,e=e|0,i=i|0;var n=0,o=0,f=0,h=0,l=0,c=0,M=0,w=0,_=0,V=0;V=(r[t>>2]|0)+1794895138|0,f=Tr(r[t+8>>2]|0,V)|0,n=Tr(r[t+12>>2]|0,V)|0,o=Tr(r[t+16>>2]|0,V)|0;t:do if(f>>>0<e>>>2>>>0&&(_=e-(f<<2)|0,n>>>0<_>>>0&o>>>0<_>>>0)&&!((o|n)&3|0)){for(_=n>>>2,w=o>>>2,M=0;;){if(l=f>>>1,c=M+l|0,h=c<<1,o=h+_|0,n=Tr(r[t+(o<<2)>>2]|0,V)|0,o=Tr(r[t+(o+1<<2)>>2]|0,V)|0,!(o>>>0<e>>>0&n>>>0<(e-o|0)>>>0)){n=0;break t}if(u[t+(o+n)>>0]|0){n=0;break t}if(n=ef(i,t+o|0)|0,!n)break;if(n=(n|0)<0,(f|0)==1){n=0;break t}M=n?M:c,f=n?l:f-l|0}n=h+w|0,o=Tr(r[t+(n<<2)>>2]|0,V)|0,n=Tr(r[t+(n+1<<2)>>2]|0,V)|0,n>>>0<e>>>0&o>>>0<(e-n|0)>>>0?n=u[t+(n+o)>>0]|0?0:t+n|0:n=0}else n=0;while(0);return n|0}function Tr(t,e){t=t|0,e=e|0;var i=0;return i=Nf(t|0)|0,(e|0?i:t)|0}function hp(t,e,i){t=t|0,e=e|0,i=i|0;var n=0,o=0,f=0;f=e&255,n=(i|0)!=0;t:do if(n&(t&3|0)!=0)for(o=e&255;;){if((u[t>>0]|0)==o<<24>>24){o=6;break t}if(t=t+1|0,i=i+-1|0,n=(i|0)!=0,!(n&(t&3|0)!=0)){o=5;break}}else o=5;while(0);(o|0)==5&&(n?o=6:t=0);t:do if((o|0)==6){if((u[t>>0]|0)!=(e&255)<<24>>24){n=a0(f,16843009)|0;r:do if(i>>>0>3)do{if(f=r[t>>2]^n,(f&-2139062144^-2139062144)&f+-16843009|0)break r;t=t+4|0,i=i+-4|0}while(i>>>0>3);while(0)}if(!i)t=0;else for(n=e&255;;){if((u[t>>0]|0)==n<<24>>24)break t;if(i=i+-1|0,i)t=t+1|0;else{t=0;break}}}while(0);return t|0}function lp(t,e,i){return t=t|0,e=e|0,i=i|0,cp(t,e,i,1,8)|0}function up(t,e,i,n,o,f){t=t|0,e=+e,i=i|0,n=n|0,o=o|0,f=f|0;var h=0,l=0,c=0,M=0,w=0,_=0,V=0,U=0,G=0,T=0,e0=0,P=0,I=0,t0=0,B=0,d0=0,N0=0,g0=0,f0=0,V0=0,i0=0,n0=0,Ft=0;Ft=m,m=m+560|0,c=Ft+32|0,P=Ft+536|0,n0=Ft,i0=n0,M=Ft+540|0,r[P>>2]=0,V0=M+12|0,ff(e)|0,h=y0()|0,(h|0)<0?(e=-e,ff(e)|0,f0=1,g0=20247,h=y0()|0):(f0=(o&2049|0)!=0&1,g0=o&2048|0?20250:o&1|0?20253:20248);do if(!0&(h&2146435072|0)==2146435072)n0=(f&32|0)!=0,h=f0+3|0,H0(t,32,i,h,o&-65537),J0(t,g0,f0),J0(t,e!=e|!1?n0?20274:20278:n0?20266:20270,3),H0(t,32,i,h,o^8192);else{if(U=+Af(e,P)*2,h=U!=0,h&&(r[P>>2]=(r[P>>2]|0)+-1),e0=f|32,(e0|0)==97){_=f&32,G=_|0?g0+9|0:g0,V=f0|2,h=12-n|0;do if(n>>>0>11|(h|0)==0)e=U;else{e=8;do h=h+-1|0,e=e*16;while(h|0);if((u[G>>0]|0)==45){e=-(e+(-U-e));break}else{e=U+e-e;break}}while(0);l=r[P>>2]|0,h=(l|0)<0?0-l|0:l,h=oe(h,((h|0)<0)<<31>>31,V0)|0,(h|0)==(V0|0)&&(h=M+11|0,u[h>>0]=48),u[h+-1>>0]=(l>>31&2)+43,w=h+-2|0,u[w>>0]=f+15,l=(n|0)<1,c=(o&8|0)==0,M=n0;do f0=~~e,h=M+1|0,u[M>>0]=_|Z[640+f0>>0],e=(e-+(f0|0))*16,(h-i0|0)==1&&!(c&(l&e==0))?(u[h>>0]=46,M=M+2|0):M=h;while(e!=0);n|0&&(-2-i0+M|0)<(n|0)?(l=V0,c=w,h=n+2+l-c|0):(l=V0,c=w,h=l-i0-c+M|0),V0=h+V|0,H0(t,32,i,V0,o),J0(t,G,V),H0(t,48,i,V0,o^65536),i0=M-i0|0,J0(t,n0,i0),n0=l-c|0,H0(t,48,h-(i0+n0)|0,0,0),J0(t,w,n0),H0(t,32,i,V0,o^8192),h=V0;break}l=(n|0)<0?6:n,h?(h=(r[P>>2]|0)+-28|0,r[P>>2]=h,e=U*268435456):(e=U,h=r[P>>2]|0),N0=(h|0)<0?c:c+288|0,c=N0;do B=~~e>>>0,r[c>>2]=B,c=c+4|0,e=(e-+(B>>>0))*1e9;while(e!=0);if(B=N0,(h|0)>0)for(_=N0;;){if(w=(h|0)<29?h:29,h=c+-4|0,h>>>0>=_>>>0){M=0;do T=Vf(r[h>>2]|0,0,w|0)|0,T=yt(T|0,y0()|0,M|0,0)|0,I=y0()|0,M=h2(T|0,I|0,1e9,0)|0,t0=A2(M|0,y0()|0,1e9,0)|0,t0=Ae(T|0,I|0,t0|0,y0()|0)|0,y0()|0,r[h>>2]=t0,h=h+-4|0;while(h>>>0>=_>>>0);M?(t0=_+-4|0,r[t0>>2]=M,M=t0):M=_}else M=_;t:do if(c>>>0>M>>>0)for(h=c;;){if(c=h+-4|0,r[c>>2]|0){c=h;break t}if(c>>>0>M>>>0)h=c;else break}while(0);if(h=(r[P>>2]|0)-w|0,r[P>>2]=h,(h|0)>0)_=M;else break}else M=N0;if((h|0)<0){n=((l+25|0)/9|0)+1|0,T=(e0|0)==102;do{if(G=0-h|0,G=(G|0)<9?G:9,M>>>0<c>>>0){w=(1<<G)+-1|0,_=1e9>>>G,V=0,h=M;do t0=r[h>>2]|0,r[h>>2]=(t0>>>G)+V,V=a0(t0&w,_)|0,h=h+4|0;while(h>>>0<c>>>0);M=r[M>>2]|0?M:M+4|0,V&&(r[c>>2]=V,c=c+4|0)}else M=r[M>>2]|0?M:M+4|0;h=T?N0:M,c=(c-h>>2|0)>(n|0)?h+(n<<2)|0:c,h=(r[P>>2]|0)+G|0,r[P>>2]=h}while((h|0)<0);T=M}else T=M;if(T>>>0<c>>>0){if(h=(B-T>>2)*9|0,w=r[T>>2]|0,w>>>0>=10){M=10;do M=M*10|0,h=h+1|0;while(w>>>0>=M>>>0)}}else h=0;if(I=(e0|0)==103,t0=(l|0)!=0,M=l-((e0|0)==102?0:h)+((t0&I)<<31>>31)|0,(M|0)<(((c-B>>2)*9|0)+-9|0)){if(P=M+9216|0,M=(P|0)/9|0,n=N0+4+(M+-1024<<2)|0,M=P-(M*9|0)|0,(M|0)<8)for(w=10;w=w*10|0,(M|0)<7;)M=M+1|0;else w=10;if(V=r[n>>2]|0,M=(V>>>0)/(w>>>0)|0,G=V-(a0(M,w)|0)|0,_=(n+4|0)==(c|0),_&(G|0)==0)M=n,w=T;else if(U=M&1|0?9007199254740994:9007199254740992,P=w>>>1,e=G>>>0<P>>>0?.5:_&(G|0)==(P|0)?1:1.5,f0&&(P=(u[g0>>0]|0)==45,e=P?-e:e,U=P?-U:U),M=V-G|0,r[n>>2]=M,U+e!=U){if(P=M+w|0,r[n>>2]=P,P>>>0>999999999)for(w=n,h=T;;)if(M=w+-4|0,r[w>>2]=0,M>>>0<h>>>0&&(h=h+-4|0,r[h>>2]=0),P=(r[M>>2]|0)+1|0,r[M>>2]=P,P>>>0>999999999)w=M;else{w=h;break}else M=n,w=T;if(h=(B-w>>2)*9|0,V=r[w>>2]|0,V>>>0>=10){_=10;do _=_*10|0,h=h+1|0;while(V>>>0>=_>>>0)}}else M=n,w=T;P=M+4|0,c=c>>>0>P>>>0?P:c}else w=T;n=0-h|0;t:do if(c>>>0>w>>>0)for(;;){if(M=c+-4|0,r[M>>2]|0){P=c,e0=1;break t}if(M>>>0>w>>>0)c=M;else{P=M,e0=0;break}}else P=c,e0=0;while(0);do if(I){if(l=l+((t0^1)&1)|0,(l|0)>(h|0)&(h|0)>-5?(_=f+-1|0,l=l+-1-h|0):(_=f+-2|0,l=l+-1|0),!(o&8)){if(e0&&(d0=r[P+-4>>2]|0,(d0|0)!=0))if((d0>>>0)%10|0)M=0;else{M=0,c=10;do c=c*10|0,M=M+1|0;while(!((d0>>>0)%(c>>>0)|0|0))}else M=9;if(c=((P-B>>2)*9|0)+-9|0,(_|32|0)==102){f=c-M|0,f=(f|0)>0?f:0,l=(l|0)<(f|0)?l:f;break}else{f=c+h-M|0,f=(f|0)>0?f:0,l=(l|0)<(f|0)?l:f;break}}}else _=f;while(0);if(T=(l|0)!=0,V=T?1:o>>>3&1,G=(_|32|0)==102,G)I=0,h=(h|0)>0?h:0;else{if(c=(h|0)<0?n:h,c=oe(c,((c|0)<0)<<31>>31,V0)|0,M=V0,(M-c|0)<2)do c=c+-1|0,u[c>>0]=48;while((M-c|0)<2);u[c+-1>>0]=(h>>31&2)+43,h=c+-2|0,u[h>>0]=_,I=h,h=M-h|0}if(h=f0+1+l+V+h|0,H0(t,32,i,h,o),J0(t,g0,f0),H0(t,48,i,h,o^65536),G){V=w>>>0>N0>>>0?N0:w,G=n0+9|0,w=G,_=n0+8|0,M=V;do{if(c=oe(r[M>>2]|0,0,G)|0,(M|0)==(V|0))(c|0)==(G|0)&&(u[_>>0]=48,c=_);else if(c>>>0>n0>>>0){Br(n0|0,48,c-i0|0)|0;do c=c+-1|0;while(c>>>0>n0>>>0)}J0(t,c,w-c|0),M=M+4|0}while(M>>>0<=N0>>>0);if((o&8|0)==0&(T^1)||J0(t,20282,1),M>>>0<P>>>0&(l|0)>0)for(;;){if(c=oe(r[M>>2]|0,0,G)|0,c>>>0>n0>>>0){Br(n0|0,48,c-i0|0)|0;do c=c+-1|0;while(c>>>0>n0>>>0)}if(J0(t,c,(l|0)<9?l:9),M=M+4|0,c=l+-9|0,M>>>0<P>>>0&(l|0)>9)l=c;else{l=c;break}}H0(t,48,l+9|0,9,0)}else{if(P=e0?P:w+4|0,w>>>0<P>>>0&(l|0)>-1){n=n0+9|0,T=(o&8|0)==0,e0=n,V=0-i0|0,G=n0+8|0,_=w;do{c=oe(r[_>>2]|0,0,n)|0,(c|0)==(n|0)&&(u[G>>0]=48,c=G);do if((_|0)==(w|0)){if(M=c+1|0,J0(t,c,1),T&(l|0)<1){c=M;break}J0(t,20282,1),c=M}else{if(c>>>0<=n0>>>0)break;Br(n0|0,48,c+V|0)|0;do c=c+-1|0;while(c>>>0>n0>>>0)}while(0);i0=e0-c|0,J0(t,c,(l|0)>(i0|0)?i0:l),l=l-i0|0,_=_+4|0}while(_>>>0<P>>>0&(l|0)>-1)}H0(t,48,l+18|0,18,0),J0(t,I,V0-I|0)}H0(t,32,i,h,o^8192)}while(0);return m=Ft,((h|0)<(i|0)?i:h)|0}function ap(t,e){t=t|0,e=e|0;var i=0,n=0;n=(r[e>>2]|0)+(8-1)&~(8-1),i=+Y[n>>3],r[e>>2]=n+8,Y[t>>3]=i}function cp(t,e,i,n,o){t=t|0,e=e|0,i=i|0,n=n|0,o=o|0;var f=0,h=0,l=0,c=0,M=0,w=0,_=0,V=0,U=0,G=0,T=0,e0=0,P=0;P=m,m=m+224|0,U=P+208|0,G=P+160|0,T=P+80|0,e0=P,f=G,h=f+40|0;do r[f>>2]=0,f=f+4|0;while((f|0)<(h|0));return r[U>>2]=r[i>>2],(t2(0,e,U,T,G,n,o)|0)<0?i=-1:((r[t+76>>2]|0)>-1?V=np(t)|0:V=0,i=r[t>>2]|0,_=i&32,(u[t+74>>0]|0)<1&&(r[t>>2]=i&-33),f=t+48|0,r[f>>2]|0?i=t2(t,e,U,T,G,n,o)|0:(h=t+44|0,l=r[h>>2]|0,r[h>>2]=e0,c=t+28|0,r[c>>2]=e0,M=t+20|0,r[M>>2]=e0,r[f>>2]=80,w=t+16|0,r[w>>2]=e0+80,i=t2(t,e,U,T,G,n,o)|0,l&&(he[r[t+36>>2]&7](t,0,0)|0,i=r[M>>2]|0?i:-1,r[h>>2]=l,r[f>>2]=0,r[w>>2]=0,r[c>>2]=0,r[M>>2]=0)),f=r[t>>2]|0,r[t>>2]=f|_,V|0&&ip(t),i=f&32|0?-1:i),m=P,i|0}function t2(t,e,i,n,o,f,h){t=t|0,e=e|0,i=i|0,n=n|0,o=o|0,f=f|0,h=h|0;var l=0,c=0,M=0,w=0,_=0,V=0,U=0,G=0,T=0,e0=0,P=0,I=0,t0=0,B=0,d0=0,N0=0,g0=0,f0=0,V0=0,i0=0,n0=0,Ft=0,T0=0,Cr=0,gt=0;Cr=m,m=m+64|0,n0=Cr+56|0,T0=Cr+40|0,N0=Cr,f0=Cr+48|0,V0=Cr+60|0,r[n0>>2]=e,t0=(t|0)!=0,B=N0+40|0,d0=B,N0=N0+39|0,g0=f0+4|0,l=0,e=0,M=0;t:for(;;){do{do if((e|0)>-1)if((l|0)>(2147483647-e|0)){r[(Ot()|0)>>2]=61,e=-1;break}else{e=l+e|0;break}while(0);if(U=r[n0>>2]|0,l=u[U>>0]|0,!(l<<24>>24)){I=92;break t}c=U;r:for(;;){switch(l<<24>>24){case 37:{I=10;break r}case 0:{l=c;break r}default:}P=c+1|0,r[n0>>2]=P,l=u[P>>0]|0,c=P}r:do if((I|0)==10){I=0,l=c;do{if((u[c+1>>0]|0)!=37)break r;l=l+1|0,c=c+2|0,r[n0>>2]=c}while((u[c>>0]|0)==37)}while(0);l=l-U|0,t0&&J0(t,U,l)}while(l|0);if(P=(Se(u[(r[n0>>2]|0)+1>>0]|0)|0)==0,c=r[n0>>2]|0,!P&&(u[c+2>>0]|0)==36?(T=(u[c+1>>0]|0)+-48|0,_=1,l=3):(T=-1,_=M,l=1),l=c+l|0,r[n0>>2]=l,c=u[l>>0]|0,M=(c<<24>>24)+-32|0,M>>>0>31|(1<<M&75913|0)==0)w=0;else{w=0;do w=1<<M|w,l=l+1|0,r[n0>>2]=l,c=u[l>>0]|0,M=(c<<24>>24)+-32|0;while(!(M>>>0>31|(1<<M&75913|0)==0))}if(c<<24>>24==42){if(Se(u[l+1>>0]|0)|0&&(Ft=r[n0>>2]|0,(u[Ft+2>>0]|0)==36))l=Ft+1|0,r[o+((u[l>>0]|0)+-48<<2)>>2]=10,l=r[n+((u[l>>0]|0)+-48<<3)>>2]|0,M=1,c=Ft+3|0;else{if(_|0){e=-1;break}t0?(P=(r[i>>2]|0)+(4-1)&~(4-1),l=r[P>>2]|0,r[i>>2]=P+4):l=0,M=0,c=(r[n0>>2]|0)+1|0}r[n0>>2]=c,P=(l|0)<0,e0=P?0-l|0:l,w=P?w|8192:w,P=M}else{if(l=nf(n0)|0,(l|0)<0){e=-1;break}e0=l,P=_,c=r[n0>>2]|0}do if((u[c>>0]|0)==46){if(l=c+1|0,(u[l>>0]|0)!=42){r[n0>>2]=l,l=nf(n0)|0,c=r[n0>>2]|0;break}if(Se(u[c+2>>0]|0)|0&&(i0=r[n0>>2]|0,(u[i0+3>>0]|0)==36)){l=i0+2|0,r[o+((u[l>>0]|0)+-48<<2)>>2]=10,l=r[n+((u[l>>0]|0)+-48<<3)>>2]|0,c=i0+4|0,r[n0>>2]=c;break}if(P|0){e=-1;break t}t0?(G=(r[i>>2]|0)+(4-1)&~(4-1),l=r[G>>2]|0,r[i>>2]=G+4):l=0,c=(r[n0>>2]|0)+2|0,r[n0>>2]=c}else l=-1;while(0);for(G=0;;){if(((u[c>>0]|0)+-65|0)>>>0>57){e=-1;break t}if(M=c,c=c+1|0,r[n0>>2]=c,M=u[(u[M>>0]|0)+-65+(176+(G*58|0))>>0]|0,_=M&255,(_+-1|0)>>>0>=8)break;G=_}if(!(M<<24>>24)){e=-1;break}V=(T|0)>-1;do if(M<<24>>24==19)if(V){e=-1;break t}else I=54;else{if(V){r[o+(T<<2)>>2]=_,V=n+(T<<3)|0,T=r[V+4>>2]|0,I=T0,r[I>>2]=r[V>>2],r[I+4>>2]=T,I=54;break}if(!t0){e=0;break t}sf(T0,_,i,h),c=r[n0>>2]|0,I=55}while(0);(I|0)==54&&(I=0,t0?I=55:l=0);r:do if((I|0)==55){I=0,c=u[c+-1>>0]|0,c=(G|0)!=0&(c&15|0)==3?c&-33:c,M=w&-65537,T=w&8192|0?M:w;e:do switch(c|0){case 110:switch((G&255)<<24>>24){case 0:{r[r[T0>>2]>>2]=e,l=0;break r}case 1:{r[r[T0>>2]>>2]=e,l=0;break r}case 2:{l=r[T0>>2]|0,r[l>>2]=e,r[l+4>>2]=((e|0)<0)<<31>>31,l=0;break r}case 3:{E[r[T0>>2]>>1]=e,l=0;break r}case 4:{u[r[T0>>2]>>0]=e,l=0;break r}case 6:{r[r[T0>>2]>>2]=e,l=0;break r}case 7:{l=r[T0>>2]|0,r[l>>2]=e,r[l+4>>2]=((e|0)<0)<<31>>31,l=0;break r}default:{l=0;break r}}case 112:{c=120,l=l>>>0>8?l:8,M=T|8,I=67;break}case 88:case 120:{M=T,I=67;break}case 111:{V=T0,V=vp(r[V>>2]|0,r[V+4>>2]|0,B)|0,M=d0-V|0,w=0,_=20230,l=(T&8|0)==0|(l|0)>(M|0)?l:M+1|0,M=T,I=73;break}case 105:case 100:if(M=T0,c=r[M>>2]|0,M=r[M+4>>2]|0,(M|0)<0){c=Ae(0,0,c|0,M|0)|0,M=y0()|0,w=T0,r[w>>2]=c,r[w+4>>2]=M,w=1,_=20230,I=72;break e}else{w=(T&2049|0)!=0&1,_=T&2048|0?20231:T&1|0?20232:20230,I=72;break e}case 117:{M=T0,w=0,_=20230,c=r[M>>2]|0,M=r[M+4>>2]|0,I=72;break}case 99:{u[N0>>0]=r[T0>>2],U=N0,w=0,_=20230,V=1,c=M,l=d0;break}case 115:{G=r[T0>>2]|0,G=G|0?G:20240,T=hp(G,0,l)|0,gt=(T|0)==0,U=G,w=0,_=20230,V=gt?l:T-G|0,c=M,l=gt?G+l|0:T;break}case 67:{r[f0>>2]=r[T0>>2],r[g0>>2]=0,r[T0>>2]=f0,_=-1,I=79;break}case 83:{l?(_=l,I=79):(H0(t,32,e0,0,T),l=0,I=89);break}case 65:case 71:case 70:case 69:case 97:case 103:case 102:case 101:{l=Gf[f&1](t,+Y[T0>>3],e0,l,T,c)|0;break r}default:w=0,_=20230,V=l,c=T,l=d0}while(0);e:do if((I|0)==67)V=T0,V=mp(r[V>>2]|0,r[V+4>>2]|0,B,c&32)|0,_=T0,_=(M&8|0)==0|(r[_>>2]|0)==0&(r[_+4>>2]|0)==0,w=_?0:2,_=_?20230:20230+(c>>>4)|0,I=73;else if((I|0)==72)V=oe(c,M,B)|0,M=T,I=73;else if((I|0)==79){for(I=0,w=r[T0>>2]|0,l=0;c=r[w>>2]|0,!!c;){if(c=of(V0,c)|0,M=(c|0)<0,M|c>>>0>(_-l|0)>>>0){I=83;break}if(l=c+l|0,_>>>0>l>>>0)w=w+4|0;else break}if((I|0)==83&&(I=0,M)){e=-1;break t}if(H0(t,32,e0,l,T),!l)l=0,I=89;else for(M=r[T0>>2]|0,w=0;;){if(c=r[M>>2]|0,!c){I=89;break e}if(c=of(V0,c)|0,w=c+w|0,(w|0)>(l|0)){I=89;break e}if(J0(t,V0,c),w>>>0>=l>>>0){I=89;break}else M=M+4|0}}while(0);if((I|0)==73)I=0,c=T0,c=(r[c>>2]|0)!=0|(r[c+4>>2]|0)!=0,gt=(l|0)!=0|c,c=d0-V+((c^1)&1)|0,U=gt?V:B,V=gt?(l|0)>(c|0)?l:c:0,c=(l|0)>-1?M&-65537:M,l=d0;else if((I|0)==89){I=0,H0(t,32,e0,l,T^8192),l=(e0|0)>(l|0)?e0:l;break}T=l-U|0,G=(V|0)<(T|0)?T:V,gt=G+w|0,l=(e0|0)<(gt|0)?gt:e0,H0(t,32,l,gt,c),J0(t,_,w),H0(t,48,l,gt,c^65536),H0(t,48,G,T,0),J0(t,U,T),H0(t,32,l,gt,c^8192)}while(0);M=P}t:do if((I|0)==92&&!t)if(!M)e=0;else{for(e=1;l=r[o+(e<<2)>>2]|0,!!l;)if(sf(n+(e<<3)|0,l,i,h),e=e+1|0,e>>>0>=10){e=1;break t}for(;;){if(r[o+(e<<2)>>2]|0){e=-1;break t}if(e=e+1|0,e>>>0>=10){e=1;break}}}while(0);return m=Cr,e|0}function J0(t,e,i){t=t|0,e=e|0,i=i|0,r[t>>2]&32||op(e,i,t)|0}function nf(t){t=t|0;var e=0,i=0;if(!(Se(u[r[t>>2]>>0]|0)|0))e=0;else{e=0;do i=r[t>>2]|0,e=(e*10|0)+-48+(u[i>>0]|0)|0,i=i+1|0,r[t>>2]=i;while(Se(u[i>>0]|0)|0)}return e|0}function sf(t,e,i,n){t=t|0,e=e|0,i=i|0,n=n|0;var o=0,f=0;t:do if(e>>>0<=20)do switch(e|0){case 9:{e=(r[i>>2]|0)+(4-1)&~(4-1),n=r[e>>2]|0,r[i>>2]=e+4,r[t>>2]=n;break t}case 10:{n=(r[i>>2]|0)+(4-1)&~(4-1),e=r[n>>2]|0,r[i>>2]=n+4,n=t,r[n>>2]=e,r[n+4>>2]=((e|0)<0)<<31>>31;break t}case 11:{n=(r[i>>2]|0)+(4-1)&~(4-1),e=r[n>>2]|0,r[i>>2]=n+4,n=t,r[n>>2]=e,r[n+4>>2]=0;break t}case 12:{n=(r[i>>2]|0)+(8-1)&~(8-1),e=n,o=r[e>>2]|0,e=r[e+4>>2]|0,r[i>>2]=n+8,n=t,r[n>>2]=o,r[n+4>>2]=e;break t}case 13:{o=(r[i>>2]|0)+(4-1)&~(4-1),n=r[o>>2]|0,r[i>>2]=o+4,n=(n&65535)<<16>>16,o=t,r[o>>2]=n,r[o+4>>2]=((n|0)<0)<<31>>31;break t}case 14:{o=(r[i>>2]|0)+(4-1)&~(4-1),n=r[o>>2]|0,r[i>>2]=o+4,o=t,r[o>>2]=n&65535,r[o+4>>2]=0;break t}case 15:{o=(r[i>>2]|0)+(4-1)&~(4-1),n=r[o>>2]|0,r[i>>2]=o+4,n=(n&255)<<24>>24,o=t,r[o>>2]=n,r[o+4>>2]=((n|0)<0)<<31>>31;break t}case 16:{o=(r[i>>2]|0)+(4-1)&~(4-1),n=r[o>>2]|0,r[i>>2]=o+4,o=t,r[o>>2]=n&255,r[o+4>>2]=0;break t}case 17:{o=(r[i>>2]|0)+(8-1)&~(8-1),f=+Y[o>>3],r[i>>2]=o+8,Y[t>>3]=f;break t}case 18:{vr[n&15](t,i);break t}default:break t}while(0);while(0)}function mp(t,e,i,n){if(t=t|0,e=e|0,i=i|0,n=n|0,!((t|0)==0&(e|0)==0))do i=i+-1|0,u[i>>0]=Z[640+(t&15)>>0]|0|n,t=Ui(t|0,e|0,4)|0,e=y0()|0;while(!((t|0)==0&(e|0)==0));return i|0}function vp(t,e,i){if(t=t|0,e=e|0,i=i|0,!((t|0)==0&(e|0)==0))do i=i+-1|0,u[i>>0]=t&7|48,t=Ui(t|0,e|0,3)|0,e=y0()|0;while(!((t|0)==0&(e|0)==0));return i|0}function oe(t,e,i){t=t|0,e=e|0,i=i|0;var n=0,o=0,f=0;if(e>>>0>0|(e|0)==0&t>>>0>4294967295){do n=t,t=h2(t|0,e|0,10,0)|0,o=e,e=y0()|0,f=A2(t|0,e|0,10,0)|0,f=Ae(n|0,o|0,f|0,y0()|0)|0,y0()|0,i=i+-1|0,u[i>>0]=f&255|48;while(o>>>0>9|(o|0)==9&n>>>0>4294967295);e=t}else e=t;if(e)do f=e,e=(e>>>0)/10|0,i=i+-1|0,u[i>>0]=f-(e*10|0)|48;while(f>>>0>=10);return i|0}function H0(t,e,i,n,o){t=t|0,e=e|0,i=i|0,n=n|0,o=o|0;var f=0,h=0;if(h=m,m=m+256|0,f=h,(i|0)>(n|0)&(o&73728|0)==0){if(o=i-n|0,Br(f|0,e<<24>>24|0,(o>>>0<256?o:256)|0)|0,o>>>0>255){e=i-n|0;do J0(t,f,256),o=o+-256|0;while(o>>>0>255);o=e&255}J0(t,f,o)}m=h}function of(t,e){return t=t|0,e=e|0,t?t=pp(t,e,0)|0:t=0,t|0}function pp(t,e,i){t=t|0,e=e|0,i=i|0;do if(t){if(e>>>0<128){u[t>>0]=e,t=1;break}if(!(r[r[(Mp()|0)+176>>2]>>2]|0))if((e&-128|0)==57216){u[t>>0]=e,t=1;break}else{r[(Ot()|0)>>2]=25,t=-1;break}if(e>>>0<2048){u[t>>0]=e>>>6|192,u[t+1>>0]=e&63|128,t=2;break}if(e>>>0<55296|(e&-8192|0)==57344){u[t>>0]=e>>>12|224,u[t+1>>0]=e>>>6&63|128,u[t+2>>0]=e&63|128,t=3;break}if((e+-65536|0)>>>0<1048576){u[t>>0]=e>>>18|240,u[t+1>>0]=e>>>12&63|128,u[t+2>>0]=e>>>6&63|128,u[t+3>>0]=e&63|128,t=4;break}else{r[(Ot()|0)>>2]=25,t=-1;break}}else t=1;while(0);return t|0}function Mp(){return rf()|0}function ff(t){t=+t;var e=0;return Y[z>>3]=t,e=r[z>>2]|0,Z0(r[z+4>>2]|0),e|0}function Af(t,e){t=+t,e=e|0;var i=0,n=0,o=0;switch(Y[z>>3]=t,i=r[z>>2]|0,n=r[z+4>>2]|0,o=Ui(i|0,n|0,52)|0,y0()|0,o&2047){case 0:{t!=0?(t=+Af(t*18446744073709552e3,e),i=(r[e>>2]|0)+-64|0):i=0,r[e>>2]=i;break}case 2047:break;default:r[e>>2]=(o&2047)+-1022,r[z>>2]=i,r[z+4>>2]=n&-2146435073|1071644672,t=+Y[z>>3]}return+t}function yp(t,e,i){t=t|0,e=e|0,i=i|0;var n=0,o=0;t:do if(!i)t=0;else{for(;n=u[t>>0]|0,o=u[e>>0]|0,n<<24>>24==o<<24>>24;)if(i=i+-1|0,i)t=t+1|0,e=e+1|0;else{t=0;break t}t=(n&255)-(o&255)|0}while(0);return t|0}function dp(t,e,i,n){t=t|0,e=e|0,i=i|0,n=n|0;var o=0,f=0;return o=m,m=m+16|0,f=o,r[f>>2]=n,n=gp(t,e,i,f)|0,m=o,n|0}function gp(t,e,i,n){t=t|0,e=e|0,i=i|0,n=n|0;var o=0,f=0,h=0,l=0;return l=m,m=m+160|0,o=l+144|0,h=l,lt(h|0,3672,144)|0,(e+-1|0)>>>0>2147483646?e?(r[(Ot()|0)>>2]=61,e=-1):(t=o,e=1,f=4):f=4,(f|0)==4&&(f=-2-t|0,f=e>>>0>f>>>0?f:e,r[h+48>>2]=f,o=h+20|0,r[o>>2]=t,r[h+44>>2]=t,e=t+f|0,t=h+16|0,r[t>>2]=e,r[h+28>>2]=e,e=lp(h,i,n)|0,f&&(h=r[o>>2]|0,u[h+(((h|0)==(r[t>>2]|0))<<31>>31)>>0]=0)),m=l,e|0}function Rp(t,e,i){t=t|0,e=e|0,i=i|0;var n=0,o=0;return n=t+20|0,o=r[n>>2]|0,t=(r[t+16>>2]|0)-o|0,t=t>>>0>i>>>0?i:t,lt(o|0,e|0,t|0)|0,r[n>>2]=(r[n>>2]|0)+t,i|0}function xp(t){t=t|0;var e=0,i=0;return e=(Vi(t)|0)+1|0,i=Ti(e)|0,i?t=lt(i|0,t|0,e|0)|0:t=0,t|0}function wp(t,e){t=t|0,e=e|0;var i=0,n=0;for(i=0;;){if((Z[656+i>>0]|0)==(t|0)){n=4;break}if(i=i+1|0,(i|0)==87){t=87,n=5;break}}if((n|0)==4&&(i?(t=i,n=5):i=752),(n|0)==5){i=752;do{do n=i,i=i+1|0;while(u[n>>0]|0);t=t+-1|0}while(t|0)}return _p(i,r[e+20>>2]|0)|0}function _p(t,e){return t=t|0,e=e|0,fp(t,e)|0}function Zp(t){return t=t|0,wp(t,r[(Fp()|0)+176>>2]|0)|0}function Fp(){return rf()|0}function kp(t,e,i){t=t|0,e=e|0,i=i|0;var n=0;return n=Zp(t)|0,t=Vi(n)|0,t>>>0>=i>>>0?(t=i+-1|0,i&&(lt(e|0,n|0,t|0)|0,u[e+t>>0]=0),t=68):(lt(e|0,n|0,t+1|0)|0,t=0),t|0}function Vp(){var t=0,e=0,i=0,n=0,o=0,f=0,h=0;n=m,m=m+48|0,f=n+32|0,e=n+24|0,h=n+16|0,o=n,n=n+36|0,t=hf()|0,t|0&&(i=r[t>>2]|0,i|0)&&(t=i+48|0,lf(t)|0||(r[e>>2]=20420,Ur(20370,e)),e=uf(t)|0,(e|0)==1126902529&(y0()|0)==1129074247?t=r[i+44>>2]|0:t=i+80|0,r[n>>2]=t,i=r[i>>2]|0,t=r[i+4>>2]|0,he[r[(r[954]|0)+16>>2]&7](3816,i,n)|0?(h=r[n>>2]|0,h=Gi[r[(r[h>>2]|0)+8>>2]&15](h)|0,r[o>>2]=20420,r[o+4>>2]=t,r[o+8>>2]=h,Ur(20284,o)):(r[h>>2]=20420,r[h+4>>2]=t,Ur(20329,h))),Ur(20408,f)}function hf(){return 21640}function lf(t){return t=t|0,t=uf(t)|0,(t&-256|0)==1126902528&(y0()|0)==1129074247|0}function uf(t){t=t|0;var e=0;return e=t,t=r[e>>2]|0,Z0(r[e+4>>2]|0),t|0}function Ur(t,e){t=t|0,e=e|0,gs()}function fe(t){t=t|0}function Wp(t){t=t|0,fe(t),$(t)}function Np(t){t=t|0}function Xp(t){t=t|0}function Tp(t,e,i){t=t|0,e=e|0,i=i|0;var n=0,o=0,f=0,h=0,l=0,c=0;if(c=m,m=m+64|0,h=c,S0(t,e,0)|0)t=1;else if(e|0&&(l=At(e,3840,3824,0)|0,(l|0)!=0)){r[h>>2]=l,r[h+4>>2]=0,r[h+8>>2]=t,r[h+12>>2]=-1,t=h+16|0,e=h+24|0,n=h+48|0,o=t,f=o+36|0;do r[o>>2]=0,o=o+4|0;while((o|0)<(f|0));E[t+36>>1]=0,u[t+38>>0]=0,r[n>>2]=1,je[r[(r[l>>2]|0)+28>>2]&7](l,h,r[i>>2]|0,1),(r[e>>2]|0)==1?(r[i>>2]=r[t>>2],t=1):t=0}else t=0;return m=c,t|0}function Up(t,e,i,n,o,f){t=t|0,e=e|0,i=i|0,n=n|0,o=o|0,f=f|0,S0(t,r[e+8>>2]|0,f)|0&&i2(0,e,i,n,o)}function Gp(t,e,i,n,o){t=t|0,e=e|0,i=i|0,n=n|0,o=o|0;var f=0;do if(S0(t,r[e+8>>2]|0,o)|0)e2(0,e,i,n);else if(S0(t,r[e>>2]|0,o)|0){if((r[e+16>>2]|0)!=(i|0)&&(f=e+20|0,(r[f>>2]|0)!=(i|0))){r[e+32>>2]=n,r[f>>2]=i,o=e+40|0,r[o>>2]=(r[o>>2]|0)+1,(r[e+36>>2]|0)==1&&(r[e+24>>2]|0)==2&&(u[e+54>>0]=1),r[e+44>>2]=4;break}(n|0)==1&&(r[e+32>>2]=1)}while(0)}function zp(t,e,i,n){t=t|0,e=e|0,i=i|0,n=n|0,S0(t,r[e+8>>2]|0,0)|0&&r2(0,e,i,n)}function S0(t,e,i){return t=t|0,e=e|0,i=i|0,i?(t|0)==(e|0)?t=1:t=(ef(r[t+4>>2]|0,r[e+4>>2]|0)|0)==0:t=(r[t+4>>2]|0)==(r[e+4>>2]|0),t|0}function r2(t,e,i,n){t=t|0,e=e|0,i=i|0,n=n|0;var o=0;t=e+16|0,o=r[t>>2]|0;do if(o){if((o|0)!=(i|0)){n=e+36|0,r[n>>2]=(r[n>>2]|0)+1,r[e+24>>2]=2,u[e+54>>0]=1;break}t=e+24|0,(r[t>>2]|0)==2&&(r[t>>2]=n)}else r[t>>2]=i,r[e+24>>2]=n,r[e+36>>2]=1;while(0)}function e2(t,e,i,n){t=t|0,e=e|0,i=i|0,n=n|0;var o=0;(r[e+4>>2]|0)==(i|0)&&(o=e+28|0,(r[o>>2]|0)!=1)&&(r[o>>2]=n)}function i2(t,e,i,n,o){t=t|0,e=e|0,i=i|0,n=n|0,o=o|0,u[e+53>>0]=1;do if((r[e+4>>2]|0)==(n|0)){if(u[e+52>>0]=1,t=e+16|0,n=r[t>>2]|0,!n){if(r[t>>2]=i,r[e+24>>2]=o,r[e+36>>2]=1,!((o|0)==1&&(r[e+48>>2]|0)==1))break;u[e+54>>0]=1;break}if((n|0)!=(i|0)){o=e+36|0,r[o>>2]=(r[o>>2]|0)+1,u[e+54>>0]=1;break}n=e+24|0,t=r[n>>2]|0,(t|0)==2&&(r[n>>2]=o,t=o),(t|0)==1&&(r[e+48>>2]|0)==1&&(u[e+54>>0]=1)}while(0)}function At(t,e,i,n){t=t|0,e=e|0,i=i|0,n=n|0;var o=0,f=0,h=0,l=0,c=0,M=0,w=0,_=0,V=0;V=m,m=m+64|0,w=V,M=r[t>>2]|0,_=t+(r[M+-8>>2]|0)|0,M=r[M+-4>>2]|0,r[w>>2]=i,r[w+4>>2]=t,r[w+8>>2]=e,r[w+12>>2]=n,t=w+16|0,e=w+20|0,n=w+24|0,o=w+28|0,f=w+32|0,h=w+40|0,l=t,c=l+36|0;do r[l>>2]=0,l=l+4|0;while((l|0)<(c|0));E[t+36>>1]=0,u[t+38>>0]=0;t:do if(S0(M,i,0)|0)r[w+48>>2]=1,Pe[r[(r[M>>2]|0)+20>>2]&3](M,w,_,_,1,0),t=(r[n>>2]|0)==1?_:0;else{switch(zi[r[(r[M>>2]|0)+24>>2]&3](M,w,_,1,0),r[w+36>>2]|0){case 0:{t=(r[h>>2]|0)==1&(r[o>>2]|0)==1&(r[f>>2]|0)==1?r[e>>2]|0:0;break t}case 1:break;default:{t=0;break t}}if((r[n>>2]|0)!=1&&!((r[h>>2]|0)==0&(r[o>>2]|0)==1&(r[f>>2]|0)==1)){t=0;break}t=r[t>>2]|0}while(0);return m=V,t|0}function Ep(t){t=t|0,fe(t),$(t)}function Bp(t,e,i,n,o,f){t=t|0,e=e|0,i=i|0,n=n|0,o=o|0,f=f|0,S0(t,r[e+8>>2]|0,f)|0?i2(0,e,i,n,o):(t=r[t+8>>2]|0,Pe[r[(r[t>>2]|0)+20>>2]&3](t,e,i,n,o,f))}function Sp(t,e,i,n,o){t=t|0,e=e|0,i=i|0,n=n|0,o=o|0;var f=0,h=0,l=0;t:do if(S0(t,r[e+8>>2]|0,o)|0)e2(0,e,i,n);else{if(!(S0(t,r[e>>2]|0,o)|0)){h=r[t+8>>2]|0,zi[r[(r[h>>2]|0)+24>>2]&3](h,e,i,n,o);break}if((r[e+16>>2]|0)!=(i|0)&&(h=e+20|0,(r[h>>2]|0)!=(i|0))){r[e+32>>2]=n,n=e+44|0;do if((r[n>>2]|0)!=4)if(f=e+52|0,u[f>>0]=0,l=e+53|0,u[l>>0]=0,t=r[t+8>>2]|0,Pe[r[(r[t>>2]|0)+20>>2]&3](t,e,i,i,1,o),u[l>>0]|0){if(l=(u[f>>0]|0)==0,r[n>>2]=3,l)break;break t}else{r[n>>2]=4;break}while(0);if(r[h>>2]=i,l=e+40|0,r[l>>2]=(r[l>>2]|0)+1,(r[e+36>>2]|0)!=1||(r[e+24>>2]|0)!=2)break;u[e+54>>0]=1;break}(n|0)==1&&(r[e+32>>2]=1)}while(0)}function Cp(t,e,i,n){t=t|0,e=e|0,i=i|0,n=n|0,S0(t,r[e+8>>2]|0,0)|0?r2(0,e,i,n):(t=r[t+8>>2]|0,je[r[(r[t>>2]|0)+28>>2]&7](t,e,i,n))}function $(t){t=t|0,f2(t)}function $R(t){t=t|0}function Jp(){var t=0,e=0;t=hf()|0,t|0&&(e=r[t>>2]|0,e|0)&&lf(e+48|0)|0&&af(r[e+12>>2]|0),af(Ip()|0)}function af(t){t=t|0;var e=0;e=m,m=m+16|0,c2[t&3](),Ur(20559,e)}function Ip(){return 2}function Op(t){t=t|0}function jp(t){t=t|0,$(t)}function Pp(t){return t=t|0,20599}function Wi(t){t=t|0,r[t>>2]=5916,mf(t+4|0)}function Yp(t){t=t|0,Wi(t),$(t)}function Hp(t){return t=t|0,cf(t+4|0)|0}function cf(t){return t=t|0,r[t>>2]|0}function mf(t){t=t|0;var e=0,i=0;Dp(t)|0&&(e=Qp(r[t>>2]|0)|0,i=e+8|0,t=r[i>>2]|0,r[i>>2]=t+-1,(t|0)<1)&&$(e)}function Dp(t){return t=t|0,1}function Qp(t){return t=t|0,t+-12|0}function ht(t){t=t|0,r[t>>2]=5936,mf(t+4|0)}function Lp(t){t=t|0,ht(t),$(t)}function qp(t){return t=t|0,cf(t+4|0)|0}function $p(t){t=t|0,Wi(t),$(t)}function Kp(t){t=t|0,Wi(t),$(t)}function bp(){var t=0;t=m,m=m+16|0,Ur(20848,t)}function tM(t){t=t|0,fe(t),$(t)}function rM(t,e,i){return t=t|0,e=e|0,i=i|0,S0(t,e,0)|0}function eM(t){t=t|0,fe(t),$(t)}function iM(t,e,i){t=t|0,e=e|0,i=i|0;var n=0,o=0,f=0,h=0,l=0,c=0,M=0,w=0;w=m,m=m+64|0,c=w;do if(S0(e,4048,0)|0)r[i>>2]=0,e=1;else{if(nM(t,e,0)|0){if(e=r[i>>2]|0,!e){e=1;break}r[i>>2]=r[e>>2],e=1;break}if(e|0&&(n=At(e,3840,3976,0)|0,(n|0)!=0))if(e=r[i>>2]|0,e|0&&(r[i>>2]=r[e>>2]),e=r[n+8>>2]|0,f=t+8|0,o=r[f>>2]|0,!(e&7&(o^7)|0)&&!((e&96^96)&o|0))if(o=t+12|0,t=r[o>>2]|0,n=n+12|0,e=r[n>>2]|0,S0(t,e,0)|0)e=1;else{if(S0(t,4040,0)|0){if(!e){e=1;break}e=(At(e,3840,3992,0)|0)==0;break}if(t){if(e=At(t,3840,3976,0)|0,e|0){if(!(r[f>>2]&1)){e=0;break}e=sM(e,r[n>>2]|0)|0;break}if(e=r[o>>2]|0,e){if(e=At(e,3840,4008,0)|0,e|0){if(!(r[f>>2]&1)){e=0;break}e=vf(e,r[n>>2]|0)|0;break}if(e=r[o>>2]|0,e|0&&(h=At(e,3840,3824,0)|0,(h|0)!=0)&&(l=r[n>>2]|0,(l|0)!=0)&&(M=At(l,3840,3824,0)|0,(M|0)!=0)){r[c>>2]=M,r[c+4>>2]=0,r[c+8>>2]=h,r[c+12>>2]=-1,e=c+16|0,t=c+24|0,n=c+48|0,o=e,f=o+36|0;do r[o>>2]=0,o=o+4|0;while((o|0)<(f|0));E[e+36>>1]=0,u[e+38>>0]=0,r[n>>2]=1,je[r[(r[M>>2]|0)+28>>2]&7](M,c,r[i>>2]|0,1);do if((r[t>>2]|0)==1){if(!(r[i>>2]|0)){e=1;break}r[i>>2]=r[e>>2],e=1}else e=0;while(0)}else e=0}else e=0}else e=0}else e=0;else e=0}while(0);return m=w,e|0}function nM(t,e,i){t=t|0,e=e|0,i=i|0;var n=0,o=0;return r[t+8>>2]&24?(i=1,o=5):e|0&&(n=At(e,3840,3960,0)|0,(n|0)!=0)?(i=(r[n+8>>2]&24|0)!=0,o=5):i=0,(o|0)==5&&(i=S0(t,e,i)|0),i|0}function sM(t,e){t=t|0,e=e|0;for(var i=0,n=0,o=0,f=0,h=0;;){if(!e){e=0;break}if(i=At(e,3840,3976,0)|0,!i){e=0;break}if(o=r[t+8>>2]|0,r[i+8>>2]&~o|0){e=0;break}if(n=t+12|0,e=r[n>>2]|0,i=i+12|0,S0(e,r[i>>2]|0,0)|0){e=1;break}if((o&1|0)==0|(e|0)==0){e=0;break}if(t=At(e,3840,3976,0)|0,!t){h=9;break}e=r[i>>2]|0}return(h|0)==9&&(e=r[n>>2]|0,e|0&&(f=At(e,3840,4008,0)|0,(f|0)!=0)?e=vf(f,r[i>>2]|0)|0:e=0),e|0}function vf(t,e){t=t|0,e=e|0;var i=0;return e|0&&(i=At(e,3840,4008,0)|0,(i|0)!=0)&&!(r[i+8>>2]&~r[t+8>>2]|0)&&S0(r[t+12>>2]|0,r[i+12>>2]|0,0)|0?t=S0(r[t+16>>2]|0,r[i+16>>2]|0,0)|0:t=0,t|0}function oM(t){t=t|0,fe(t),$(t)}function fM(t,e,i,n,o,f){t=t|0,e=e|0,i=i|0,n=n|0,o=o|0,f=f|0;var h=0,l=0,c=0,M=0,w=0,_=0,V=0,U=0,G=0,T=0;if(S0(t,r[e+8>>2]|0,f)|0)i2(0,e,i,n,o);else{T=e+52|0,l=u[T>>0]|0,G=e+53|0,h=u[G>>0]|0,U=r[t+12>>2]|0,w=t+16+(U<<3)|0,u[T>>0]=0,u[G>>0]=0,n2(t+16|0,e,i,n,o,f),c=u[T>>0]|0,l=c|l,M=u[G>>0]|0,h=M|h;t:do if((U|0)>1){_=e+24|0,V=t+8|0,U=e+54|0,t=t+24|0;do{if(h=h&1,l=l&1,u[U>>0]|0)break t;if(c<<24>>24){if((r[_>>2]|0)==1||!(r[V>>2]&2))break t}else if(M<<24>>24&&!(r[V>>2]&1|0))break t;u[T>>0]=0,u[G>>0]=0,n2(t,e,i,n,o,f),c=u[T>>0]|0,l=c|l,M=u[G>>0]|0,h=M|h,t=t+8|0}while(t>>>0<w>>>0)}while(0);u[T>>0]=l<<24>>24!=0&1,u[G>>0]=h<<24>>24!=0&1}}function AM(t,e,i,n,o){t=t|0,e=e|0,i=i|0,n=n|0,o=o|0;var f=0,h=0,l=0,c=0,M=0,w=0,_=0,V=0,U=0;t:do if(S0(t,r[e+8>>2]|0,o)|0)e2(0,e,i,n);else{if(!(S0(t,r[e>>2]|0,o)|0)){if(U=r[t+12>>2]|0,c=t+16+(U<<3)|0,Ni(t+16|0,e,i,n,o),f=t+24|0,(U|0)<=1)break;if(t=r[t+8>>2]|0,!(t&2|0)&&(l=e+36|0,(r[l>>2]|0)!=1)){if(!(t&1)){for(t=e+54|0;;)if(u[t>>0]|0||(r[l>>2]|0)==1||(Ni(f,e,i,n,o),f=f+8|0,f>>>0>=c>>>0))break t}for(t=e+24|0,h=e+54|0;;)if(u[h>>0]|0||(r[l>>2]|0)==1&&(r[t>>2]|0)==1||(Ni(f,e,i,n,o),f=f+8|0,f>>>0>=c>>>0))break t}for(t=e+54|0;;)if(u[t>>0]|0||(Ni(f,e,i,n,o),f=f+8|0,f>>>0>=c>>>0))break t}if((r[e+16>>2]|0)!=(i|0)&&(U=e+20|0,(r[U>>2]|0)!=(i|0))){if(r[e+32>>2]=n,V=e+44|0,(r[V>>2]|0)!=4){l=t+16+(r[t+12>>2]<<3)|0,c=e+52|0,n=e+53|0,M=e+54|0,w=t+8|0,_=e+24|0,f=0,h=t+16|0,t=0;r:for(;;){if(h>>>0>=l>>>0){h=18;break}if(u[c>>0]=0,u[n>>0]=0,n2(h,e,i,i,1,o),u[M>>0]|0){h=18;break}do if(u[n>>0]|0){if(!(u[c>>0]|0))if(r[w>>2]&1){t=1;break}else{h=19;break r}if((r[_>>2]|0)==1){f=1,h=19;break r}if(r[w>>2]&2)f=1,t=1;else{f=1,h=19;break r}}while(0);h=h+8|0}if((h|0)==18&&(t?h=19:t=4),(h|0)==19&&(t=3),r[V>>2]=t,f&1)break}if(r[U>>2]=i,i=e+40|0,r[i>>2]=(r[i>>2]|0)+1,(r[e+36>>2]|0)!=1||(r[e+24>>2]|0)!=2)break;u[e+54>>0]=1;break}(n|0)==1&&(r[e+32>>2]=1)}while(0)}function hM(t,e,i,n){t=t|0,e=e|0,i=i|0,n=n|0;var o=0,f=0;t:do if(S0(t,r[e+8>>2]|0,0)|0)r2(0,e,i,n);else if(f=r[t+12>>2]|0,o=t+16+(f<<3)|0,pf(t+16|0,e,i,n),(f|0)>1){f=e+54|0,t=t+24|0;do{if(pf(t,e,i,n),u[f>>0]|0)break t;t=t+8|0}while(t>>>0<o>>>0)}while(0)}function pf(t,e,i,n){t=t|0,e=e|0,i=i|0,n=n|0;var o=0,f=0;f=r[t+4>>2]|0,i?(o=f>>8,f&1&&(o=r[(r[i>>2]|0)+o>>2]|0)):o=0,t=r[t>>2]|0,je[r[(r[t>>2]|0)+28>>2]&7](t,e,i+o|0,f&2|0?n:2)}function n2(t,e,i,n,o,f){t=t|0,e=e|0,i=i|0,n=n|0,o=o|0,f=f|0;var h=0,l=0;l=r[t+4>>2]|0,h=l>>8,l&1&&(h=r[(r[n>>2]|0)+h>>2]|0),t=r[t>>2]|0,Pe[r[(r[t>>2]|0)+20>>2]&3](t,e,i,n+h|0,l&2|0?o:2,f)}function Ni(t,e,i,n,o){t=t|0,e=e|0,i=i|0,n=n|0,o=o|0;var f=0,h=0;h=r[t+4>>2]|0,f=h>>8,h&1&&(f=r[(r[i>>2]|0)+f>>2]|0),t=r[t>>2]|0,zi[r[(r[t>>2]|0)+24>>2]&3](t,e,i+f|0,h&2|0?n:2,o)}function lM(t){t=t|0,r[t>>2]=5896}function Gr(t){t=t|0;var e=0,i=0;return e=m,m=m+16|0,i=e,Mf(i,t),t=uM(i)|0,m=e,t|0}function Mf(t,e){t=t|0,e=e|0,mM(t,e)}function uM(t){t=t|0;var e=0,i=0;return e=m,m=m+16|0,i=e,yf(i,r[t+4>>2]|0),(aM(i)|0)<<24>>24?t=0:t=cM(df(t)|0)|0,m=e,t|0}function yf(t,e){t=t|0,e=e|0,r[t>>2]=e}function aM(t){return t=t|0,u[r[t>>2]>>0]|0}function df(t){return t=t|0,t|0}function cM(t){t=t|0;var e=0,i=0,n=0,o=0;o=m,m=m+16|0,n=o,t=r[t+8>>2]|0,e=u[t>>0]|0;do if(e<<24>>24!=1)if(e&2)Ur(20985,n);else{u[t>>0]=2,i=1;break}else i=0;while(0);return m=o,i|0}function mM(t,e){t=t|0,e=e|0,r[t>>2]=e,r[t+4>>2]=e,r[t+8>>2]=e+1,r[t+12>>2]=0}function zr(t){t=t|0;var e=0,i=0;e=m,m=m+16|0,i=e,Mf(i,t),vM(i),m=e}function vM(t){t=t|0;var e=0,i=0;e=m,m=m+16|0,i=e,yf(i,r[t+4>>2]|0),pM(i),MM(df(t)|0),m=e}function pM(t){t=t|0,u[r[t>>2]>>0]=1}function MM(t){t=t|0,u[r[t+8>>2]>>0]=1}function yM(){return 0}function b(t){t=t|0;var e=0,i=0;for(i=t|0?t:1;;){if(e=Ti(i)|0,e|0){t=6;break}if(t=yM()|0,!t){t=5;break}c2[t&3]()}if((t|0)==5)i=F0(4)|0,lM(i),k0(i|0,3880,121);else if((t|0)==6)return e|0;return 0}function gf(t){return t=t|0,b(t)|0}function Rf(t){t=t|0,$(t)}function dM(t,e,i){t=t|0,e=e|0,i=i|0;var n=0,o=0;return o=m,m=m+16|0,n=o,r[n>>2]=r[i>>2],t=he[r[(r[t>>2]|0)+16>>2]&7](t,e,n)|0,t&&(r[i>>2]=r[n>>2]),m=o,t&1|0}function gM(t){return t=t|0,t?t=(At(t,3840,3976,0)|0)!=0&1:t=0,t|0}function RM(t){return t=t|0,0}function xM(){return(wM()|0)>0|0}function wM(){return Zl()|0}function xf(t){t=t|0}function _M(t){t=t|0,xf(t),$(t)}function ZM(t){return t=t|0,21039}function C0(t){t=t|0}function qt(t){t=t|0;var e=0,i=0;e=t+8|0,r[e>>2]|0&&(i=r[e>>2]|0,r[e>>2]=i+-1,(i|0)!=0)||_0[r[(r[t>>2]|0)+16>>2]&255](t)}function FM(t){if(t=t|0,t=RM(t)|0,t)bM(t,21145);else return}function kM(t){t=t|0}function s2(t,e){t=t|0,e=e|0;var i=0,n=0;n=Vi(e)|0,i=b(n+13|0)|0,r[i>>2]=n,r[i+4>>2]=n,r[i+8>>2]=0,i=VM(i)|0,lt(i|0,e|0,n+1|0)|0,r[t>>2]=i}function VM(t){return t=t|0,t+12|0}function $t(t,e){t=t|0,e=e|0,r[t>>2]=5916,s2(t+4|0,e)}function WM(t,e){t=t|0,e=e|0,r[t>>2]=5936,s2(t+4|0,(u[e+11>>0]|0)<0?r[e>>2]|0:e)}function Zt(t,e){t=t|0,e=e|0,r[t>>2]=5936,s2(t+4|0,e)}function o2(t){t=t|0,t=F0(8)|0,$t(t,21163),r[t>>2]=5956,k0(t|0,3928,123)}function NM(t){t=t|0,t=F0(8)|0,$t(t,21163),r[t>>2]=5976,k0(t|0,3944,123)}function Xi(t,e,i){t=t|0,e=e|0,i=i|0;var n=0,o=0,f=0,h=0;o=m,m=m+16|0,n=o,i>>>0>4294967279&&o2(t),i>>>0<11?u[t+11>>0]=i:(h=i+16&-16,f=b(h)|0,r[t>>2]=f,r[t+8>>2]=h|-2147483648,r[t+4>>2]=i,t=f),Ce(t,e,i)|0,u[n>>0]=0,Fe(t+i|0,n),m=o}function Ce(t,e,i){return t=t|0,e=e|0,i=i|0,i|0&&lt(t|0,e|0,i|0)|0,t|0}function Je(t){t=t|0,(u[t+11>>0]|0)<0&&h0(r[t>>2]|0,r[t+8>>2]&2147483647)}function XM(t,e,i,n,o,f,h,l){t=t|0,e=e|0,i=i|0,n=n|0,o=o|0,f=f|0,h=h|0,l=l|0;var c=0,M=0,w=0,_=0,V=0;V=m,m=m+16|0,_=V,(-18-e|0)>>>0<i>>>0&&o2(t),(u[t+11>>0]|0)<0?w=r[t>>2]|0:w=t,e>>>0<2147483623?(c=i+e|0,M=e<<1,c=c>>>0<M>>>0?M:c,c=c>>>0<11?11:c+16&-16):c=-17,M=b(c)|0,o|0&&Ce(M,w,o)|0,h|0&&Ce(M+o|0,l,h)|0,n=n-f|0,i=n-o|0,i|0&&Ce(M+o+h|0,w+o+f|0,i)|0,i=e+1|0,(i|0)!=11&&h0(w,i),r[t>>2]=M,r[t+8>>2]=c|-2147483648,h=n+h|0,r[t+4>>2]=h,u[_>>0]=0,Fe(M+h|0,_),m=V}function wf(t,e,i){t=t|0,e=e|0,i=i|0;var n=0,o=0,f=0,h=0,l=0,c=0;return c=m,m=m+16|0,h=c,l=t+11|0,n=u[l>>0]|0,f=n<<24>>24<0,f?(o=(r[t+8>>2]&2147483647)+-1|0,n=r[t+4>>2]|0):(o=10,n=n&255),(o-n|0)>>>0>=i>>>0?i|0&&(f?o=r[t>>2]|0:o=t,Ce(o+n|0,e,i)|0,n=n+i|0,(u[l>>0]|0)<0?r[t+4>>2]=n:u[l>>0]=n,u[h>>0]=0,Fe(o+n|0,h)):XM(t,o,n+i-o|0,n,n,0,i,e),m=c,t|0}function TM(t,e){return t=t|0,e=e|0,wf(t,e,te(e)|0)|0}function UM(t,e,i){return t=t|0,e=e|0,i=i|0,i?t=yp(t,e,i)|0:t=0,t|0}function GM(t,e,i,n,o){t=t|0,e=e|0,i=i|0,n=n|0,o=o|0;var f=0,h=0;return f=u[t+11>>0]|0,h=f<<24>>24<0,h?f=r[t+4>>2]|0:f=f&255,(o|0)==-1|f>>>0<e>>>0&&NM(t),f=f-e|0,i=f>>>0<i>>>0?f:i,h&&(t=r[t>>2]|0),f=i>>>0>o>>>0,t=UM(t+e|0,n,f?o:i)|0,t?t|0:(i>>>0<o>>>0?-1:f&1)|0}function zM(t){t=t|0}function EM(t){t=t|0,$(t)}function BM(t){return t=t|0,21228}function SM(t,e,i){t=t|0,e=e|0,i=i|0,r[t>>2]=i,r[t+4>>2]=e}function CM(t,e,i){t=t|0,e=e|0,i=i|0;var n=0,o=0;return o=m,m=m+16|0,n=o,Oe[r[(r[t>>2]|0)+12>>2]&15](n,t,e),(r[n+4>>2]|0)==(r[i+4>>2]|0)?t=(r[n>>2]|0)==(r[i>>2]|0):t=0,m=o,t|0}function JM(t,e,i){return t=t|0,e=e|0,i=i|0,((r[e>>2]|0)==(i|0)?(r[e+4>>2]|0)==(t|0):0)|0}function IM(t,e,i){t=t|0,e=e|0,i=i|0,(i|0)>256?Xi(t,21176,te(21176)|0):_f(t,0,i)}function _f(t,e,i){t=t|0,e=e|0,i=i|0,OM(t,i)}function OM(t,e){t=t|0,e=e|0;var i=0,n=0,o=0,f=0,h=0;h=m,m=m+1040|0,o=h+1024|0,i=h,f=r[(Ot()|0)>>2]|0,n=jM(kp(e,i,1024)|0,i)|0,u[n>>0]|0?i=n:(r[o>>2]=e,dp(i,1024,21211,o)|0),r[(Ot()|0)>>2]=f,Xi(t,i,te(i)|0),m=h}function jM(t,e){t=t|0,e=e|0;var i=0,n=0;switch(t|0){case 0:{i=e;break}case-1:{t=r[(Ot()|0)>>2]|0,n=3;break}default:n=3}return(n|0)==3&&((t|0)==28?i=22145:Wl()),i|0}function PM(t){t=t|0,$(t)}function YM(t){return t=t|0,21353}function HM(t,e,i){t=t|0,e=e|0,i=i|0,(i|0)>256?(Zf()|0,e=6180):(QM()|0,e=6176),r[t>>2]=i,r[t+4>>2]=e}function DM(t,e,i){t=t|0,e=e|0,i=i|0,(i|0)>256?Xi(t,21319,te(21319)|0):_f(t,0,i)}function Zf(){return!(u[21488]|0)&&Gr(21488)|0&&zr(21488),6180}function QM(){return!(u[21480]|0)&&Gr(21480)|0&&zr(21480),6176}function Ff(t){t=t|0,ht(t)}function LM(t){t=t|0,Ff(t),$(t)}function qM(t,e){t=t|0,e=e|0;var i=0;i=r[e+4>>2]|0,Oe[r[(r[i>>2]|0)+24>>2]&15](t,i,r[e>>2]|0)}function $M(t,e,i){t=t|0,e=e|0,i=i|0;var n=0,o=0,f=0;for(f=m,m=m+16|0,o=f,r[e>>2]|0&&(n=u[i+11>>0]|0,n<<24>>24<0?n=r[i+4>>2]|0:n=n&255,n|0&&TM(i,21417)|0,qM(o,e),e=u[o+11>>0]|0,n=e<<24>>24<0,wf(i,n?r[o>>2]|0:o,n?r[o+4>>2]|0:e&255)|0,Je(o)),r[t>>2]=r[i>>2],r[t+4>>2]=r[i+4>>2],r[t+8>>2]=r[i+8>>2],n=0;(n|0)!=3;)r[i+(n<<2)>>2]=0,n=n+1|0;m=f}function KM(t,e,i){t=t|0,e=e|0,i=i|0;var n=0,o=0,f=0;n=m,m=m+32|0,f=n+12|0,o=n,Xi(o,i,te(i)|0),$M(f,e,o),WM(t,f),Je(f),Je(o),r[t>>2]=6192,o=e,e=r[o+4>>2]|0,i=t+8|0,r[i>>2]=r[o>>2],r[i+4>>2]=e,m=n}function bM(t,e){t=t|0,e=e|0;var i=0,n=0,o=0;o=m,m=m+16|0,n=o+8|0,i=F0(16)|0,Zf()|0,r[o>>2]=t,r[o+4>>2]=6180,r[n>>2]=r[o>>2],r[n+4>>2]=r[o+4>>2],KM(i,n,e),k0(i|0,4272,136)}function L0(t){t=t|0,t=F0(8)|0,$t(t,21420),r[t>>2]=5956,k0(t|0,3928,123)}function Ti(t){t=t|0;var e=0,i=0,n=0,o=0,f=0,h=0,l=0,c=0,M=0,w=0,_=0,V=0,U=0,G=0,T=0,e0=0,P=0,I=0,t0=0,B=0,d0=0;d0=m,m=m+16|0,V=d0;do if(t>>>0<245){if(M=t>>>0<11?16:t+11&-8,t=M>>>3,_=r[5412]|0,i=_>>>t,i&3|0)return e=(i&1^1)+t|0,t=21688+(e<<1<<2)|0,i=t+8|0,n=r[i>>2]|0,o=n+8|0,f=r[o>>2]|0,(f|0)==(t|0)?r[5412]=_&~(1<<e):(r[f+12>>2]=t,r[i>>2]=f),B=e<<3,r[n+4>>2]=B|3,B=n+B+4|0,r[B>>2]=r[B>>2]|1,B=o,m=d0,B|0;if(w=r[5414]|0,M>>>0>w>>>0){if(i|0)return e=2<<t,e=i<<t&(e|0-e),e=(e&0-e)+-1|0,l=e>>>12&16,e=e>>>l,i=e>>>5&8,e=e>>>i,f=e>>>2&4,e=e>>>f,t=e>>>1&2,e=e>>>t,n=e>>>1&1,n=(i|l|f|t|n)+(e>>>n)|0,e=21688+(n<<1<<2)|0,t=e+8|0,f=r[t>>2]|0,l=f+8|0,i=r[l>>2]|0,(i|0)==(e|0)?(t=_&~(1<<n),r[5412]=t):(r[i+12>>2]=e,r[t>>2]=i,t=_),B=n<<3,h=B-M|0,r[f+4>>2]=M|3,o=f+M|0,r[o+4>>2]=h|1,r[f+B>>2]=h,w|0&&(n=r[5417]|0,e=w>>>3,i=21688+(e<<1<<2)|0,e=1<<e,t&e?(t=i+8|0,e=r[t>>2]|0):(r[5412]=t|e,e=i,t=i+8|0),r[t>>2]=n,r[e+12>>2]=n,r[n+8>>2]=e,r[n+12>>2]=i),r[5414]=h,r[5417]=o,B=l,m=d0,B|0;if(f=r[5413]|0,f){for(i=(f&0-f)+-1|0,o=i>>>12&16,i=i>>>o,n=i>>>5&8,i=i>>>n,h=i>>>2&4,i=i>>>h,l=i>>>1&2,i=i>>>l,c=i>>>1&1,c=r[21952+((n|o|h|l|c)+(i>>>c)<<2)>>2]|0,i=c,l=c,c=(r[c+4>>2]&-8)-M|0;t=r[i+16>>2]|0,!(!t&&(t=r[i+20>>2]|0,!t));)h=(r[t+4>>2]&-8)-M|0,o=h>>>0<c>>>0,i=t,l=o?t:l,c=o?h:c;if(h=l+M|0,h>>>0>l>>>0){o=r[l+24>>2]|0,e=r[l+12>>2]|0;do if((e|0)==(l|0)){if(t=l+20|0,e=r[t>>2]|0,!e&&(t=l+16|0,e=r[t>>2]|0,!e)){i=0;break}for(;;)if(n=e+20|0,i=r[n>>2]|0,i)e=i,t=n;else if(n=e+16|0,i=r[n>>2]|0,i)e=i,t=n;else break;r[t>>2]=0,i=e}else i=r[l+8>>2]|0,r[i+12>>2]=e,r[e+8>>2]=i,i=e;while(0);do if(o|0){if(e=r[l+28>>2]|0,t=21952+(e<<2)|0,(l|0)==(r[t>>2]|0)){if(r[t>>2]=i,!i){r[5413]=f&~(1<<e);break}}else if(B=o+16|0,r[((r[B>>2]|0)==(l|0)?B:o+20|0)>>2]=i,!i)break;r[i+24>>2]=o,e=r[l+16>>2]|0,e|0&&(r[i+16>>2]=e,r[e+24>>2]=i),e=r[l+20>>2]|0,e|0&&(r[i+20>>2]=e,r[e+24>>2]=i)}while(0);return c>>>0<16?(B=c+M|0,r[l+4>>2]=B|3,B=l+B+4|0,r[B>>2]=r[B>>2]|1):(r[l+4>>2]=M|3,r[h+4>>2]=c|1,r[h+c>>2]=c,w|0&&(n=r[5417]|0,e=w>>>3,i=21688+(e<<1<<2)|0,e=1<<e,e&_?(t=i+8|0,e=r[t>>2]|0):(r[5412]=e|_,e=i,t=i+8|0),r[t>>2]=n,r[e+12>>2]=n,r[n+8>>2]=e,r[n+12>>2]=i),r[5414]=c,r[5417]=h),B=l+8|0,m=d0,B|0}else _=M}else _=M}else _=M}else if(t>>>0<=4294967231)if(t=t+11|0,M=t&-8,n=r[5413]|0,n){o=0-M|0,t=t>>>8,t?M>>>0>16777215?c=31:(_=(t+1048320|0)>>>16&8,T=t<<_,l=(T+520192|0)>>>16&4,T=T<<l,c=(T+245760|0)>>>16&2,c=14-(l|_|c)+(T<<c>>>15)|0,c=M>>>(c+7|0)&1|c<<1):c=0,i=r[21952+(c<<2)>>2]|0;t:do if(!i)i=0,t=0,T=61;else for(t=0,l=M<<((c|0)==31?0:25-(c>>>1)|0),f=0;;){if(h=(r[i+4>>2]&-8)-M|0,h>>>0<o>>>0)if(h)t=i,o=h;else{t=i,o=0,T=65;break t}if(T=r[i+20>>2]|0,i=r[i+16+(l>>>31<<2)>>2]|0,f=(T|0)==0|(T|0)==(i|0)?f:T,i)l=l<<1;else{i=f,T=61;break}}while(0);if((T|0)==61){if((i|0)==0&(t|0)==0){if(t=2<<c,t=(t|0-t)&n,!t){_=M;break}_=(t&0-t)+-1|0,h=_>>>12&16,_=_>>>h,f=_>>>5&8,_=_>>>f,l=_>>>2&4,_=_>>>l,c=_>>>1&2,_=_>>>c,i=_>>>1&1,t=0,i=r[21952+((f|h|l|c|i)+(_>>>i)<<2)>>2]|0}i?T=65:(l=t,h=o)}if((T|0)==65)for(f=i;;)if(_=(r[f+4>>2]&-8)-M|0,i=_>>>0<o>>>0,o=i?_:o,t=i?f:t,i=r[f+16>>2]|0,i||(i=r[f+20>>2]|0),i)f=i;else{l=t,h=o;break}if(l|0&&h>>>0<((r[5414]|0)-M|0)>>>0&&(w=l+M|0,w>>>0>l>>>0)){f=r[l+24>>2]|0,e=r[l+12>>2]|0;do if((e|0)==(l|0)){if(t=l+20|0,e=r[t>>2]|0,!e&&(t=l+16|0,e=r[t>>2]|0,!e)){e=0;break}for(;;)if(o=e+20|0,i=r[o>>2]|0,i)e=i,t=o;else if(o=e+16|0,i=r[o>>2]|0,i)e=i,t=o;else break;r[t>>2]=0}else B=r[l+8>>2]|0,r[B+12>>2]=e,r[e+8>>2]=B;while(0);do if(f){if(t=r[l+28>>2]|0,i=21952+(t<<2)|0,(l|0)==(r[i>>2]|0)){if(r[i>>2]=e,!e){n=n&~(1<<t),r[5413]=n;break}}else if(B=f+16|0,r[((r[B>>2]|0)==(l|0)?B:f+20|0)>>2]=e,!e)break;r[e+24>>2]=f,t=r[l+16>>2]|0,t|0&&(r[e+16>>2]=t,r[t+24>>2]=e),t=r[l+20>>2]|0,t&&(r[e+20>>2]=t,r[t+24>>2]=e)}while(0);t:do if(h>>>0<16)B=h+M|0,r[l+4>>2]=B|3,B=l+B+4|0,r[B>>2]=r[B>>2]|1;else{if(r[l+4>>2]=M|3,r[w+4>>2]=h|1,r[w+h>>2]=h,e=h>>>3,h>>>0<256){i=21688+(e<<1<<2)|0,t=r[5412]|0,e=1<<e,t&e?(t=i+8|0,e=r[t>>2]|0):(r[5412]=t|e,e=i,t=i+8|0),r[t>>2]=w,r[e+12>>2]=w,r[w+8>>2]=e,r[w+12>>2]=i;break}if(e=h>>>8,e?h>>>0>16777215?i=31:(t0=(e+1048320|0)>>>16&8,B=e<<t0,I=(B+520192|0)>>>16&4,B=B<<I,i=(B+245760|0)>>>16&2,i=14-(I|t0|i)+(B<<i>>>15)|0,i=h>>>(i+7|0)&1|i<<1):i=0,e=21952+(i<<2)|0,r[w+28>>2]=i,t=w+16|0,r[t+4>>2]=0,r[t>>2]=0,t=1<<i,!(n&t)){r[5413]=n|t,r[e>>2]=w,r[w+24>>2]=e,r[w+12>>2]=w,r[w+8>>2]=w;break}e=r[e>>2]|0;r:do if((r[e+4>>2]&-8|0)!=(h|0)){for(n=h<<((i|0)==31?0:25-(i>>>1)|0);i=e+16+(n>>>31<<2)|0,t=r[i>>2]|0,!!t;)if((r[t+4>>2]&-8|0)==(h|0)){e=t;break r}else n=n<<1,e=t;r[i>>2]=w,r[w+24>>2]=e,r[w+12>>2]=w,r[w+8>>2]=w;break t}while(0);t0=e+8|0,B=r[t0>>2]|0,r[B+12>>2]=w,r[t0>>2]=w,r[w+8>>2]=B,r[w+12>>2]=e,r[w+24>>2]=0}while(0);return B=l+8|0,m=d0,B|0}else _=M}else _=M;else _=-1;while(0);if(i=r[5414]|0,i>>>0>=_>>>0)return e=i-_|0,t=r[5417]|0,e>>>0>15?(B=t+_|0,r[5417]=B,r[5414]=e,r[B+4>>2]=e|1,r[t+i>>2]=e,r[t+4>>2]=_|3):(r[5414]=0,r[5417]=0,r[t+4>>2]=i|3,B=t+i+4|0,r[B>>2]=r[B>>2]|1),B=t+8|0,m=d0,B|0;if(h=r[5415]|0,h>>>0>_>>>0)return I=h-_|0,r[5415]=I,B=r[5418]|0,t0=B+_|0,r[5418]=t0,r[t0+4>>2]=I|1,r[B+4>>2]=_|3,B=B+8|0,m=d0,B|0;if(r[5530]|0?t=r[5532]|0:(r[5532]=4096,r[5531]=4096,r[5533]=-1,r[5534]=-1,r[5535]=0,r[5523]=0,r[5530]=V&-16^1431655768,t=4096),l=_+48|0,c=_+47|0,f=t+c|0,o=0-t|0,M=f&o,M>>>0<=_>>>0||(t=r[5522]|0,t|0&&(w=r[5520]|0,V=w+M|0,V>>>0<=w>>>0|V>>>0>t>>>0)))return B=0,m=d0,B|0;t:do if(r[5523]&4)e=0,T=143;else{i=r[5418]|0;r:do if(i){for(n=22096;V=r[n>>2]|0,!(V>>>0<=i>>>0&&(V+(r[n+4>>2]|0)|0)>>>0>i>>>0);)if(t=r[n+8>>2]|0,t)n=t;else{T=128;break r}if(e=f-h&o,e>>>0<2147483647)if(t=Er(e)|0,(t|0)==((r[n>>2]|0)+(r[n+4>>2]|0)|0)){if((t|0)!=-1){h=e,f=t,T=145;break t}}else n=t,T=136;else e=0}else T=128;while(0);do if((T|0)==128)if(i=Er(0)|0,(i|0)!=-1&&(e=i,U=r[5531]|0,G=U+-1|0,e=(G&e|0?(G+e&0-U)-e|0:0)+M|0,U=r[5520]|0,G=e+U|0,e>>>0>_>>>0&e>>>0<2147483647)){if(V=r[5522]|0,V|0&&G>>>0<=U>>>0|G>>>0>V>>>0){e=0;break}if(t=Er(e)|0,(t|0)==(i|0)){h=e,f=i,T=145;break t}else n=t,T=136}else e=0;while(0);do if((T|0)==136){if(i=0-e|0,!(l>>>0>e>>>0&(e>>>0<2147483647&(n|0)!=-1)))if((n|0)==-1){e=0;break}else{h=e,f=n,T=145;break t}if(t=r[5532]|0,t=c-e+t&0-t,t>>>0>=2147483647){h=e,f=n,T=145;break t}if((Er(t)|0)==-1){Er(i)|0,e=0;break}else{h=t+e|0,f=n,T=145;break t}}while(0);r[5523]=r[5523]|4,T=143}while(0);if((T|0)==143&&M>>>0<2147483647&&(I=Er(M)|0,G=Er(0)|0,e0=G-I|0,P=e0>>>0>(_+40|0)>>>0,!((I|0)==-1|P^1|I>>>0<G>>>0&((I|0)!=-1&(G|0)!=-1)^1))&&(h=P?e0:e,f=I,T=145),(T|0)==145){e=(r[5520]|0)+h|0,r[5520]=e,e>>>0>(r[5521]|0)>>>0&&(r[5521]=e),c=r[5418]|0;t:do if(c){for(e=22096;;){if(t=r[e>>2]|0,i=r[e+4>>2]|0,(f|0)==(t+i|0)){T=154;break}if(n=r[e+8>>2]|0,n)e=n;else break}if((T|0)==154&&(t0=e+4|0,(r[e+12>>2]&8|0)==0)&&f>>>0>c>>>0&t>>>0<=c>>>0){r[t0>>2]=i+h,B=(r[5415]|0)+h|0,I=c+8|0,I=I&7|0?0-I&7:0,t0=c+I|0,I=B-I|0,r[5418]=t0,r[5415]=I,r[t0+4>>2]=I|1,r[c+B+4>>2]=40,r[5419]=r[5534];break}for(f>>>0<(r[5416]|0)>>>0&&(r[5416]=f),i=f+h|0,e=22096;;){if((r[e>>2]|0)==(i|0)){T=162;break}if(t=r[e+8>>2]|0,t)e=t;else break}if((T|0)==162&&!(r[e+12>>2]&8|0)){r[e>>2]=f,w=e+4|0,r[w>>2]=(r[w>>2]|0)+h,w=f+8|0,w=f+(w&7|0?0-w&7:0)|0,e=i+8|0,e=i+(e&7|0?0-e&7:0)|0,M=w+_|0,l=e-w-_|0,r[w+4>>2]=_|3;r:do if((c|0)==(e|0))B=(r[5415]|0)+l|0,r[5415]=B,r[5418]=M,r[M+4>>2]=B|1;else{if((r[5417]|0)==(e|0)){B=(r[5414]|0)+l|0,r[5414]=B,r[5417]=M,r[M+4>>2]=B|1,r[M+B>>2]=B;break}if(t=r[e+4>>2]|0,(t&3|0)==1){h=t&-8,n=t>>>3;e:do if(t>>>0<256)if(t=r[e+8>>2]|0,i=r[e+12>>2]|0,(i|0)==(t|0)){r[5412]=r[5412]&~(1<<n);break}else{r[t+12>>2]=i,r[i+8>>2]=t;break}else{f=r[e+24>>2]|0,t=r[e+12>>2]|0;do if((t|0)==(e|0)){if(i=e+16|0,n=i+4|0,t=r[n>>2]|0,t)i=n;else if(t=r[i>>2]|0,!t){t=0;break}for(;;)if(o=t+20|0,n=r[o>>2]|0,n)t=n,i=o;else if(o=t+16|0,n=r[o>>2]|0,n)t=n,i=o;else break;r[i>>2]=0}else B=r[e+8>>2]|0,r[B+12>>2]=t,r[t+8>>2]=B;while(0);if(!f)break;i=r[e+28>>2]|0,n=21952+(i<<2)|0;do if((r[n>>2]|0)!=(e|0)){if(B=f+16|0,r[((r[B>>2]|0)==(e|0)?B:f+20|0)>>2]=t,!t)break e}else{if(r[n>>2]=t,t|0)break;r[5413]=r[5413]&~(1<<i);break e}while(0);if(r[t+24>>2]=f,i=e+16|0,n=r[i>>2]|0,n|0&&(r[t+16>>2]=n,r[n+24>>2]=t),i=r[i+4>>2]|0,!i)break;r[t+20>>2]=i,r[i+24>>2]=t}while(0);e=e+h|0,o=h+l|0}else o=l;if(e=e+4|0,r[e>>2]=r[e>>2]&-2,r[M+4>>2]=o|1,r[M+o>>2]=o,e=o>>>3,o>>>0<256){i=21688+(e<<1<<2)|0,t=r[5412]|0,e=1<<e,t&e?(t=i+8|0,e=r[t>>2]|0):(r[5412]=t|e,e=i,t=i+8|0),r[t>>2]=M,r[e+12>>2]=M,r[M+8>>2]=e,r[M+12>>2]=i;break}e=o>>>8;do if(!e)n=0;else{if(o>>>0>16777215){n=31;break}t0=(e+1048320|0)>>>16&8,B=e<<t0,I=(B+520192|0)>>>16&4,B=B<<I,n=(B+245760|0)>>>16&2,n=14-(I|t0|n)+(B<<n>>>15)|0,n=o>>>(n+7|0)&1|n<<1}while(0);if(e=21952+(n<<2)|0,r[M+28>>2]=n,t=M+16|0,r[t+4>>2]=0,r[t>>2]=0,t=r[5413]|0,i=1<<n,!(t&i)){r[5413]=t|i,r[e>>2]=M,r[M+24>>2]=e,r[M+12>>2]=M,r[M+8>>2]=M;break}e=r[e>>2]|0;e:do if((r[e+4>>2]&-8|0)!=(o|0)){for(n=o<<((n|0)==31?0:25-(n>>>1)|0);i=e+16+(n>>>31<<2)|0,t=r[i>>2]|0,!!t;)if((r[t+4>>2]&-8|0)==(o|0)){e=t;break e}else n=n<<1,e=t;r[i>>2]=M,r[M+24>>2]=e,r[M+12>>2]=M,r[M+8>>2]=M;break r}while(0);t0=e+8|0,B=r[t0>>2]|0,r[B+12>>2]=M,r[t0>>2]=M,r[M+8>>2]=B,r[M+12>>2]=e,r[M+24>>2]=0}while(0);return B=w+8|0,m=d0,B|0}for(e=22096;t=r[e>>2]|0,!(t>>>0<=c>>>0&&(B=t+(r[e+4>>2]|0)|0,B>>>0>c>>>0));)e=r[e+8>>2]|0;o=B+-47|0,t=o+8|0,t=o+(t&7|0?0-t&7:0)|0,o=c+16|0,t=t>>>0<o>>>0?c:t,e=t+8|0,i=h+-40|0,I=f+8|0,I=I&7|0?0-I&7:0,t0=f+I|0,I=i-I|0,r[5418]=t0,r[5415]=I,r[t0+4>>2]=I|1,r[f+i+4>>2]=40,r[5419]=r[5534],i=t+4|0,r[i>>2]=27,r[e>>2]=r[5524],r[e+4>>2]=r[5525],r[e+8>>2]=r[5526],r[e+12>>2]=r[5527],r[5524]=f,r[5525]=h,r[5527]=0,r[5526]=e,e=t+24|0;do t0=e,e=e+4|0,r[e>>2]=7;while((t0+8|0)>>>0<B>>>0);if((t|0)!=(c|0)){if(f=t-c|0,r[i>>2]=r[i>>2]&-2,r[c+4>>2]=f|1,r[t>>2]=f,e=f>>>3,f>>>0<256){i=21688+(e<<1<<2)|0,t=r[5412]|0,e=1<<e,t&e?(t=i+8|0,e=r[t>>2]|0):(r[5412]=t|e,e=i,t=i+8|0),r[t>>2]=c,r[e+12>>2]=c,r[c+8>>2]=e,r[c+12>>2]=i;break}if(e=f>>>8,e?f>>>0>16777215?n=31:(t0=(e+1048320|0)>>>16&8,B=e<<t0,I=(B+520192|0)>>>16&4,B=B<<I,n=(B+245760|0)>>>16&2,n=14-(I|t0|n)+(B<<n>>>15)|0,n=f>>>(n+7|0)&1|n<<1):n=0,i=21952+(n<<2)|0,r[c+28>>2]=n,r[c+20>>2]=0,r[o>>2]=0,e=r[5413]|0,t=1<<n,!(e&t)){r[5413]=e|t,r[i>>2]=c,r[c+24>>2]=i,r[c+12>>2]=c,r[c+8>>2]=c;break}e=r[i>>2]|0;r:do if((r[e+4>>2]&-8|0)!=(f|0)){for(n=f<<((n|0)==31?0:25-(n>>>1)|0);i=e+16+(n>>>31<<2)|0,t=r[i>>2]|0,!!t;)if((r[t+4>>2]&-8|0)==(f|0)){e=t;break r}else n=n<<1,e=t;r[i>>2]=c,r[c+24>>2]=e,r[c+12>>2]=c,r[c+8>>2]=c;break t}while(0);t0=e+8|0,B=r[t0>>2]|0,r[B+12>>2]=c,r[t0>>2]=c,r[c+8>>2]=B,r[c+12>>2]=e,r[c+24>>2]=0}}else B=r[5416]|0,(B|0)==0|f>>>0<B>>>0&&(r[5416]=f),r[5524]=f,r[5525]=h,r[5527]=0,r[5421]=r[5530],r[5420]=-1,r[5425]=21688,r[5424]=21688,r[5427]=21696,r[5426]=21696,r[5429]=21704,r[5428]=21704,r[5431]=21712,r[5430]=21712,r[5433]=21720,r[5432]=21720,r[5435]=21728,r[5434]=21728,r[5437]=21736,r[5436]=21736,r[5439]=21744,r[5438]=21744,r[5441]=21752,r[5440]=21752,r[5443]=21760,r[5442]=21760,r[5445]=21768,r[5444]=21768,r[5447]=21776,r[5446]=21776,r[5449]=21784,r[5448]=21784,r[5451]=21792,r[5450]=21792,r[5453]=21800,r[5452]=21800,r[5455]=21808,r[5454]=21808,r[5457]=21816,r[5456]=21816,r[5459]=21824,r[5458]=21824,r[5461]=21832,r[5460]=21832,r[5463]=21840,r[5462]=21840,r[5465]=21848,r[5464]=21848,r[5467]=21856,r[5466]=21856,r[5469]=21864,r[5468]=21864,r[5471]=21872,r[5470]=21872,r[5473]=21880,r[5472]=21880,r[5475]=21888,r[5474]=21888,r[5477]=21896,r[5476]=21896,r[5479]=21904,r[5478]=21904,r[5481]=21912,r[5480]=21912,r[5483]=21920,r[5482]=21920,r[5485]=21928,r[5484]=21928,r[5487]=21936,r[5486]=21936,B=h+-40|0,I=f+8|0,I=I&7|0?0-I&7:0,t0=f+I|0,I=B-I|0,r[5418]=t0,r[5415]=I,r[t0+4>>2]=I|1,r[f+B+4>>2]=40,r[5419]=r[5534];while(0);if(e=r[5415]|0,e>>>0>_>>>0)return I=e-_|0,r[5415]=I,B=r[5418]|0,t0=B+_|0,r[5418]=t0,r[t0+4>>2]=I|1,r[B+4>>2]=_|3,B=B+8|0,m=d0,B|0}return r[(Ot()|0)>>2]=48,B=0,m=d0,B|0}function f2(t){t=t|0;var e=0,i=0,n=0,o=0,f=0,h=0,l=0,c=0;if(!t)return;i=t+-8|0,o=r[5416]|0,t=r[t+-4>>2]|0,e=t&-8,c=i+e|0;do if(t&1)l=i,h=i;else{if(n=r[i>>2]|0,!(t&3)||(h=i+(0-n)|0,f=n+e|0,h>>>0<o>>>0))return;if((r[5417]|0)==(h|0)){if(t=c+4|0,e=r[t>>2]|0,(e&3|0)!=3){l=h,e=f;break}r[5414]=f,r[t>>2]=e&-2,r[h+4>>2]=f|1,r[h+f>>2]=f;return}if(i=n>>>3,n>>>0<256)if(t=r[h+8>>2]|0,e=r[h+12>>2]|0,(e|0)==(t|0)){r[5412]=r[5412]&~(1<<i),l=h,e=f;break}else{r[t+12>>2]=e,r[e+8>>2]=t,l=h,e=f;break}o=r[h+24>>2]|0,t=r[h+12>>2]|0;do if((t|0)==(h|0)){if(e=h+16|0,i=e+4|0,t=r[i>>2]|0,t)e=i;else if(t=r[e>>2]|0,!t){t=0;break}for(;;)if(n=t+20|0,i=r[n>>2]|0,i)t=i,e=n;else if(n=t+16|0,i=r[n>>2]|0,i)t=i,e=n;else break;r[e>>2]=0}else l=r[h+8>>2]|0,r[l+12>>2]=t,r[t+8>>2]=l;while(0);if(o){if(e=r[h+28>>2]|0,i=21952+(e<<2)|0,(r[i>>2]|0)==(h|0)){if(r[i>>2]=t,!t){r[5413]=r[5413]&~(1<<e),l=h,e=f;break}}else if(l=o+16|0,r[((r[l>>2]|0)==(h|0)?l:o+20|0)>>2]=t,!t){l=h,e=f;break}r[t+24>>2]=o,e=h+16|0,i=r[e>>2]|0,i|0&&(r[t+16>>2]=i,r[i+24>>2]=t),e=r[e+4>>2]|0,e?(r[t+20>>2]=e,r[e+24>>2]=t,l=h,e=f):(l=h,e=f)}else l=h,e=f}while(0);if(h>>>0>=c>>>0||(t=c+4|0,n=r[t>>2]|0,!(n&1)))return;if(n&2)r[t>>2]=n&-2,r[l+4>>2]=e|1,r[h+e>>2]=e,o=e;else{if((r[5418]|0)==(c|0)){if(c=(r[5415]|0)+e|0,r[5415]=c,r[5418]=l,r[l+4>>2]=c|1,(l|0)!=(r[5417]|0))return;r[5417]=0,r[5414]=0;return}if((r[5417]|0)==(c|0)){c=(r[5414]|0)+e|0,r[5414]=c,r[5417]=h,r[l+4>>2]=c|1,r[h+c>>2]=c;return}o=(n&-8)+e|0,i=n>>>3;do if(n>>>0<256)if(e=r[c+8>>2]|0,t=r[c+12>>2]|0,(t|0)==(e|0)){r[5412]=r[5412]&~(1<<i);break}else{r[e+12>>2]=t,r[t+8>>2]=e;break}else{f=r[c+24>>2]|0,t=r[c+12>>2]|0;do if((t|0)==(c|0)){if(e=c+16|0,i=e+4|0,t=r[i>>2]|0,t)e=i;else if(t=r[e>>2]|0,!t){i=0;break}for(;;)if(n=t+20|0,i=r[n>>2]|0,i)t=i,e=n;else if(n=t+16|0,i=r[n>>2]|0,i)t=i,e=n;else break;r[e>>2]=0,i=t}else i=r[c+8>>2]|0,r[i+12>>2]=t,r[t+8>>2]=i,i=t;while(0);if(f|0){if(t=r[c+28>>2]|0,e=21952+(t<<2)|0,(r[e>>2]|0)==(c|0)){if(r[e>>2]=i,!i){r[5413]=r[5413]&~(1<<t);break}}else if(n=f+16|0,r[((r[n>>2]|0)==(c|0)?n:f+20|0)>>2]=i,!i)break;r[i+24>>2]=f,t=c+16|0,e=r[t>>2]|0,e|0&&(r[i+16>>2]=e,r[e+24>>2]=i),t=r[t+4>>2]|0,t|0&&(r[i+20>>2]=t,r[t+24>>2]=i)}}while(0);if(r[l+4>>2]=o|1,r[h+o>>2]=o,(l|0)==(r[5417]|0)){r[5414]=o;return}}if(t=o>>>3,o>>>0<256){i=21688+(t<<1<<2)|0,e=r[5412]|0,t=1<<t,e&t?(e=i+8|0,t=r[e>>2]|0):(r[5412]=e|t,t=i,e=i+8|0),r[e>>2]=l,r[t+12>>2]=l,r[l+8>>2]=t,r[l+12>>2]=i;return}t=o>>>8,t?o>>>0>16777215?n=31:(h=(t+1048320|0)>>>16&8,c=t<<h,f=(c+520192|0)>>>16&4,c=c<<f,n=(c+245760|0)>>>16&2,n=14-(f|h|n)+(c<<n>>>15)|0,n=o>>>(n+7|0)&1|n<<1):n=0,t=21952+(n<<2)|0,r[l+28>>2]=n,r[l+20>>2]=0,r[l+16>>2]=0,e=r[5413]|0,i=1<<n;t:do if(!(e&i))r[5413]=e|i,r[t>>2]=l,r[l+24>>2]=t,r[l+12>>2]=l,r[l+8>>2]=l;else{t=r[t>>2]|0;r:do if((r[t+4>>2]&-8|0)!=(o|0)){for(n=o<<((n|0)==31?0:25-(n>>>1)|0);i=t+16+(n>>>31<<2)|0,e=r[i>>2]|0,!!e;)if((r[e+4>>2]&-8|0)==(o|0)){t=e;break r}else n=n<<1,t=e;r[i>>2]=l,r[l+24>>2]=t,r[l+12>>2]=l,r[l+8>>2]=l;break t}while(0);h=t+8|0,c=r[h>>2]|0,r[c+12>>2]=l,r[h>>2]=l,r[l+8>>2]=c,r[l+12>>2]=t,r[l+24>>2]=0}while(0);if(c=(r[5420]|0)+-1|0,r[5420]=c,!(c|0)){for(t=22104;t=r[t>>2]|0,t;)t=t+8|0;r[5420]=-1}}function Er(t){t=t|0;var e=0,i=0,n=0;n=t+3&-4,t=Wf()|0,e=r[t>>2]|0,i=e+n|0;do if((n|0)<1|i>>>0>e>>>0){if(i>>>0>(Nl()|0)>>>0&&!(Tl(i|0)|0))break;return r[t>>2]=i,n=e,n|0}while(0);return r[(Ot()|0)>>2]=48,n=-1,n|0}function ty(t){t=t|0;var e=0;return e=m,m=m+t|0,m=m+15&-16,e|0}function ry(t){t=t|0,m=t}function ey(){return m|0}function iy(t,e){t=t|0,e=e|0;var i=0,n=0,o=0,f=0;return f=t&65535,o=e&65535,i=a0(o,f)|0,n=t>>>16,t=(i>>>16)+(a0(o,n)|0)|0,o=e>>>16,e=a0(o,f)|0,Z0((t>>>16)+(a0(o,n)|0)+(((t&65535)+e|0)>>>16)|0),t+e<<16|i&65535|0|0}function A2(t,e,i,n){t=t|0,e=e|0,i=i|0,n=n|0;var o=0,f=0;return o=t,f=i,i=iy(o,f)|0,t=y0()|0,Z0((a0(e,f)|0)+(a0(n,o)|0)+t|t&0|0),i|0|0|0}function yt(t,e,i,n){return t=t|0,e=e|0,i=i|0,n=n|0,i=t+i>>>0,Z0(e+n+(i>>>0<t>>>0|0)>>>0|0),i|0|0}function Ae(t,e,i,n){return t=t|0,e=e|0,i=i|0,n=n|0,n=e-n-(i>>>0>t>>>0|0)>>>0,Z0(n|0),t-i>>>0|0|0}function kf(t){return t=t|0,(t?31-(Qt(t^t-1)|0)|0:32)|0}function ny(t,e,i,n,o){t=t|0,e=e|0,i=i|0,n=n|0,o=o|0;var f=0,h=0,l=0,c=0,M=0,w=0,_=0,V=0,U=0,G=0;if(w=t,c=e,M=c,h=i,V=n,l=V,!M)return f=(o|0)!=0,l?f?(r[o>>2]=t|0,r[o+4>>2]=e&0,V=0,o=0,Z0(V|0),o|0):(V=0,o=0,Z0(V|0),o|0):(f&&(r[o>>2]=(w>>>0)%(h>>>0),r[o+4>>2]=0),V=0,o=(w>>>0)/(h>>>0)>>>0,Z0(V|0),o|0);f=(l|0)==0;do if(h){if(!f){if(f=(Qt(l|0)|0)-(Qt(M|0)|0)|0,f>>>0<=31){_=f+1|0,l=31-f|0,e=f-31>>31,h=_,t=w>>>(_>>>0)&e|M<<l,e=M>>>(_>>>0)&e,f=0,l=w<<l;break}return o?(r[o>>2]=t|0,r[o+4>>2]=c|e&0,V=0,o=0,Z0(V|0),o|0):(V=0,o=0,Z0(V|0),o|0)}if(f=h-1|0,f&h|0){l=(Qt(h|0)|0)+33-(Qt(M|0)|0)|0,G=64-l|0,_=32-l|0,c=_>>31,U=l-32|0,e=U>>31,h=l,t=_-1>>31&M>>>(U>>>0)|(M<<_|w>>>(l>>>0))&e,e=e&M>>>(l>>>0),f=w<<G&c,l=(M<<G|w>>>(U>>>0))&c|w<<_&l-33>>31;break}return o|0&&(r[o>>2]=f&w,r[o+4>>2]=0),(h|0)==1?(U=c|e&0,G=t|0|0,Z0(U|0),G|0):(G=kf(h|0)|0,U=M>>>(G>>>0)|0,G=M<<32-G|w>>>(G>>>0)|0,Z0(U|0),G|0)}else{if(f)return o|0&&(r[o>>2]=(M>>>0)%(h>>>0),r[o+4>>2]=0),U=0,G=(M>>>0)/(h>>>0)>>>0,Z0(U|0),G|0;if(!w)return o|0&&(r[o>>2]=0,r[o+4>>2]=(M>>>0)%(l>>>0)),U=0,G=(M>>>0)/(l>>>0)>>>0,Z0(U|0),G|0;if(f=l-1|0,!(f&l))return o|0&&(r[o>>2]=t|0,r[o+4>>2]=f&M|e&0),U=0,G=M>>>((kf(l|0)|0)>>>0),Z0(U|0),G|0;if(f=(Qt(l|0)|0)-(Qt(M|0)|0)|0,f>>>0<=30){e=f+1|0,l=31-f|0,h=e,t=M<<l|w>>>(e>>>0),e=M>>>(e>>>0),f=0,l=w<<l;break}return o?(r[o>>2]=t|0,r[o+4>>2]=c|e&0,U=0,G=0,Z0(U|0),G|0):(U=0,G=0,Z0(U|0),G|0)}while(0);if(!h)M=l,c=0,l=0;else{_=i|0|0,w=V|n&0,M=yt(_|0,w|0,-1,-1)|0,i=y0()|0,c=l,l=0;do n=c,c=f>>>31|c<<1,f=l|f<<1,n=t<<1|n>>>31|0,V=t>>>31|e<<1|0,Ae(M|0,i|0,n|0,V|0)|0,G=y0()|0,U=G>>31|((G|0)<0?-1:0)<<1,l=U&1,t=Ae(n|0,V|0,U&_|0,(((G|0)<0?-1:0)>>31|((G|0)<0?-1:0)<<1)&w|0)|0,e=y0()|0,h=h-1|0;while(h|0);M=c,c=0}return h=0,o|0&&(r[o>>2]=t,r[o+4>>2]=e),U=(f|0)>>>31|(M|h)<<1|(h<<1|f>>>31)&0|c,G=(f<<1|0>>>31)&-2|l,Z0(U|0),G|0}function h2(t,e,i,n){return t=t|0,e=e|0,i=i|0,n=n|0,ny(t,e,i,n,0)|0}function Ui(t,e,i){return t=t|0,e=e|0,i=i|0,(i|0)<32?(Z0(e>>>i|0),t>>>i|(e&(1<<i)-1)<<32-i):(Z0(0),e>>>i-32|0)}function Vf(t,e,i){return t=t|0,e=e|0,i=i|0,(i|0)<32?(Z0(e<<i|(t&(1<<i)-1<<32-i)>>>32-i|0),t<<i):(Z0(t<<i-32|0),0)}function Wf(){return 22176}function Nf(t){return t=t|0,(t&255)<<24|(t>>8&255)<<16|(t>>16&255)<<8|t>>>24|0}function lt(t,e,i){t=t|0,e=e|0,i=i|0;var n=0,o=0,f=0;if((i|0)>=512)return Xl(t|0,e|0,i|0)|0,t|0;if(f=t|0,o=t+i|0,(t&3)==(e&3)){for(;t&3;){if(!i)return f|0;u[t>>0]=u[e>>0]|0,t=t+1|0,e=e+1|0,i=i-1|0}for(i=o&-4|0,n=i-64|0;(t|0)<=(n|0);)r[t>>2]=r[e>>2],r[t+4>>2]=r[e+4>>2],r[t+8>>2]=r[e+8>>2],r[t+12>>2]=r[e+12>>2],r[t+16>>2]=r[e+16>>2],r[t+20>>2]=r[e+20>>2],r[t+24>>2]=r[e+24>>2],r[t+28>>2]=r[e+28>>2],r[t+32>>2]=r[e+32>>2],r[t+36>>2]=r[e+36>>2],r[t+40>>2]=r[e+40>>2],r[t+44>>2]=r[e+44>>2],r[t+48>>2]=r[e+48>>2],r[t+52>>2]=r[e+52>>2],r[t+56>>2]=r[e+56>>2],r[t+60>>2]=r[e+60>>2],t=t+64|0,e=e+64|0;for(;(t|0)<(i|0);)r[t>>2]=r[e>>2],t=t+4|0,e=e+4|0}else for(i=o-4|0;(t|0)<(i|0);)u[t>>0]=u[e>>0]|0,u[t+1>>0]=u[e+1>>0]|0,u[t+2>>0]=u[e+2>>0]|0,u[t+3>>0]=u[e+3>>0]|0,t=t+4|0,e=e+4|0;for(;(t|0)<(o|0);)u[t>>0]=u[e>>0]|0,t=t+1|0,e=e+1|0;return f|0}function dt(t,e,i){t=t|0,e=e|0,i=i|0;var n=0;if((e|0)<(t|0)&(t|0)<(e+i|0)){for(n=t,e=e+i|0,t=t+i|0;(i|0)>0;)t=t-1|0,e=e-1|0,i=i-1|0,u[t>>0]=u[e>>0]|0;t=n}else lt(t,e,i)|0;return t|0}function Br(t,e,i){t=t|0,e=e|0,i=i|0;var n=0,o=0,f=0,h=0;if(f=t+i|0,e=e&255,(i|0)>=67){for(;t&3;)u[t>>0]=e,t=t+1|0;for(n=f&-4|0,h=e|e<<8|e<<16|e<<24,o=n-64|0;(t|0)<=(o|0);)r[t>>2]=h,r[t+4>>2]=h,r[t+8>>2]=h,r[t+12>>2]=h,r[t+16>>2]=h,r[t+20>>2]=h,r[t+24>>2]=h,r[t+28>>2]=h,r[t+32>>2]=h,r[t+36>>2]=h,r[t+40>>2]=h,r[t+44>>2]=h,r[t+48>>2]=h,r[t+52>>2]=h,r[t+56>>2]=h,r[t+60>>2]=h,t=t+64|0;for(;(t|0)<(n|0);)r[t>>2]=h,t=t+4|0}for(;(t|0)<(f|0);)u[t>>0]=e,t=t+1|0;return f-i|0}function sy(t){return t=t|0,a2[t&3]()|0}function oy(t,e){return t=t|0,e=e|0,Gi[t&15](e|0)|0}function fy(t,e,i,n,o,f,h){return t=t|0,e=e|0,i=+i,n=n|0,o=o|0,f=f|0,h=h|0,Gf[t&1](e|0,+i,n|0,o|0,f|0,h|0)|0}function Ay(t,e,i){return t=t|0,e=e|0,i=i|0,Ie[t&63](e|0,i|0)|0}function hy(t,e,i,n){return t=t|0,e=e|0,i=i|0,n=n|0,he[t&7](e|0,i|0,n|0)|0}function ly(t){t=t|0,c2[t&3]()}function uy(t,e){t=t|0,e=e|0,_0[t&255](e|0)}function ay(t,e,i){t=t|0,e=e|0,i=i|0,vr[t&15](e|0,i|0)}function cy(t,e,i,n){t=t|0,e=e|0,i=i|0,n=n|0,Oe[t&15](e|0,i|0,n|0)}function my(t,e,i,n,o){t=t|0,e=e|0,i=i|0,n=n|0,o=o|0,je[t&7](e|0,i|0,n|0,o|0)}function vy(t,e,i,n,o,f){t=t|0,e=e|0,i=i|0,n=n|0,o=o|0,f=f|0,zi[t&3](e|0,i|0,n|0,o|0,f|0)}function py(t,e,i,n,o,f,h){t=t|0,e=e|0,i=i|0,n=n|0,o=o|0,f=f|0,h=h|0,Pe[t&3](e|0,i|0,n|0,o|0,f|0,h|0)}function Xf(){return K0(0),0}function l2(t){return t=t|0,K0(1),0}function My(t,e,i,n,o,f){return t=t|0,e=+e,i=i|0,n=n|0,o=o|0,f=f|0,K0(2),0}function z0(t,e){return t=t|0,e=e|0,K0(3),0}function Tf(t,e,i){return t=t|0,e=e|0,i=i|0,K0(4),0}function Uf(){K0(5)}function J(t){t=t|0,K0(6)}function mr(t,e){t=t|0,e=e|0,K0(7)}function Sr(t,e,i){t=t|0,e=e|0,i=i|0,K0(8)}function u2(t,e,i,n){t=t|0,e=e|0,i=i|0,n=n|0,K0(9)}function yy(t,e,i,n,o){t=t|0,e=e|0,i=i|0,n=n|0,o=o|0,K0(10)}function dy(t,e,i,n,o,f){t=t|0,e=e|0,i=i|0,n=n|0,o=o|0,f=f|0,K0(11)}var a2=[Xf,s5,P5,Xf],Gi=[l2,qp,Xu,Bu,Pp,Hp,ZM,BM,YM,Q8,Sl,U5,f5,H5,l2,l2],Gf=[My,up],Ie=[z0,ql,iu,Eu,Ea,oc,ac,Mc,yc,gc,Gc,Cc,bc,n4,l4,p4,E4,P4,q4,tm,Am,cm,dm,wm,Xm,Om,Qm,bm,s3,u3,x3,V3,E3,P3,t8,o8,p8,_8,T8,S8,H8,F5,z0,z0,z0,z0,z0,z0,z0,z0,z0,z0,z0,z0,z0,z0,z0,z0,z0,z0,z0,z0,z0,z0],he=[Tf,Rp,Tp,rM,iM,CM,JM,Tf],c2=[Uf,bp,Vp,Uf],_0=[J,C0,Ql,Ll,$l,ru,eu,nu,ht,xu,Su,Nu,Uu,Gu,ju,Pu,bu,ta,ua,aa,ca,ka,Ga,za,Ba,ic,Ys,fc,kr,Ac,lc,uc,cc,Ds,pc,vt,dc,Tc,Uc,zc,eo,Sc,$c,Kc,t4,oo,i4,A4,h4,u4,lo,v4,G4,z4,B4,ko,Y4,Q4,L4,$4,Vo,rm,om,fm,hm,Wo,mm,Mm,ym,gm,Uo,_m,Wm,Nm,Tm,Jm,Im,jm,Hm,Dm,Lm,zo,t3,i3,n3,o3,Eo,l3,g3,R3,w3,So,k3,G3,z3,B3,Co,j3,K3,b3,r8,Jo,s8,m8,v8,M8,Io,w8,N8,X8,U8,Oo,B8,P8,Y8,D8,fe,Wp,Np,Xp,Ep,Op,jp,Wi,Yp,Lp,$p,Kp,tM,eM,oM,xf,_M,zM,EM,PM,Ff,LM,$8,E5,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J],vr=[mr,Tu,zu,Bl,Jl,Il,Ol,jl,ap,mr,mr,mr,mr,mr,mr,mr],Oe=[Sr,SM,IM,HM,DM,El,Cl,g5,nv,lv,Sr,Sr,Sr,Sr,Sr,Sr],je=[u2,zp,Cp,hM,m5,b5,u2,u2],zi=[yy,Gp,Sp,AM],Pe=[dy,Up,Bp,fM];return{__ZSt18uncaught_exceptionv:xM,___cxa_can_catch:dM,___cxa_is_pointer_type:gM,___embind_register_native_and_builtin_types:Qo,___errno_location:Ot,___getTypeName:ep,___muldi3:A2,___udivdi3:h2,_bitshift64Lshr:Ui,_bitshift64Shl:Vf,_emscripten_get_sbrk_ptr:Wf,_free:f2,_i64Add:yt,_i64Subtract:Ae,_llvm_bswap_i32:Nf,_malloc:Ti,_memcpy:lt,_memmove:dt,_memset:Br,dynCall_i:sy,dynCall_ii:oy,dynCall_iidiiii:fy,dynCall_iii:Ay,dynCall_iiii:hy,dynCall_v:ly,dynCall_vi:uy,dynCall_vii:ay,dynCall_viii:cy,dynCall_viiii:my,dynCall_viiiii:vy,dynCall_viiiiii:py,globalCtors:Ul,stackAlloc:ty,stackRestore:ry,stackSave:ey}}(pl,Ml,dr),_e=s.__ZSt18uncaught_exceptionv=c0.__ZSt18uncaught_exceptionv,cR=s.___cxa_can_catch=c0.___cxa_can_catch,mR=s.___cxa_is_pointer_type=c0.___cxa_is_pointer_type,vR=s.___embind_register_native_and_builtin_types=c0.___embind_register_native_and_builtin_types,pR=s.___errno_location=c0.___errno_location,yl=s.___getTypeName=c0.___getTypeName,MR=s.___muldi3=c0.___muldi3,yR=s.___udivdi3=c0.___udivdi3,dR=s._bitshift64Lshr=c0._bitshift64Lshr,gR=s._bitshift64Shl=c0._bitshift64Shl,RR=s._emscripten_get_sbrk_ptr=c0._emscripten_get_sbrk_ptr,ur=s._free=c0._free,xR=s._i64Add=c0._i64Add,wR=s._i64Subtract=c0._i64Subtract,_R=s._llvm_bswap_i32=c0._llvm_bswap_i32,_n=s._malloc=c0._malloc,ZR=s._memcpy=c0._memcpy,FR=s._memmove=c0._memmove,kR=s._memset=c0._memset,dl=s.globalCtors=c0.globalCtors,as=s.stackAlloc=c0.stackAlloc,gl=s.stackRestore=c0.stackRestore,Rl=s.stackSave=c0.stackSave,VR=s.dynCall_i=c0.dynCall_i,WR=s.dynCall_ii=c0.dynCall_ii,NR=s.dynCall_iidiiii=c0.dynCall_iidiiii,XR=s.dynCall_iii=c0.dynCall_iii,TR=s.dynCall_iiii=c0.dynCall_iiii,UR=s.dynCall_v=c0.dynCall_v,GR=s.dynCall_vi=c0.dynCall_vi,zR=s.dynCall_vii=c0.dynCall_vii,ER=s.dynCall_viii=c0.dynCall_viii,BR=s.dynCall_viiii=c0.dynCall_viiii,SR=s.dynCall_viiiii=c0.dynCall_viiiii,CR=s.dynCall_viiiiii=c0.dynCall_viiiiii;if(s.asm=c0,Tt)if($2(Tt)||(Tt=N(Tt)),F||W){var xl=j(Tt);$0.set(xl,C2)}else{i1("memory initializer");var Zn=function(y){y.byteLength&&(y=new Uint8Array(y)),$0.set(y,C2),s.memoryInitializerRequest&&delete s.memoryInitializerRequest.response,n1("memory initializer")},cs=function(){H(Tt,Zn,function(){var y=new Error("could not load memory initializer "+Tt);throw y})},ms=lr(Tt);if(ms)Zn(ms.buffer);else if(s.memoryInitializerRequest){var vs=function(){var y=s.memoryInitializerRequest,d=y.response;if(y.status!==200&&y.status!==0){var k=lr(s.memoryInitializerRequestURL);if(k)d=k.buffer;else{console.warn("a problem seems to have happened with Module.memoryInitializerRequest, status: "+y.status+", retrying "+Tt),cs();return}}Zn(d)};s.memoryInitializerRequest.response?setTimeout(vs,0):s.memoryInitializerRequest.addEventListener("load",vs)}else cs()}var Ai;function wl(y){this.name="ExitStatus",this.message="Program terminated with exit("+y+")",this.status=y}ye=function y(){Ai||Fn(),Ai||(ye=y)};function Fn(y){if(y=y||v,Rr>0||(Dh(),Rr>0))return;function d(){Ai||(Ai=!0,s.calledRun=!0,!I2&&(Qh(),Lh(),s.onRuntimeInitialized&&s.onRuntimeInitialized(),qh()))}s.setStatus?(s.setStatus("Running..."),setTimeout(function(){setTimeout(function(){s.setStatus("")},1),d()},1)):d()}if(s.run=Fn,s.preInit)for(typeof s.preInit=="function"&&(s.preInit=[s.preInit]);s.preInit.length>0;)s.preInit.pop()();return J2=!0,Fn(),s}var Kt=null,$f={0:s=>({position:[s.getInt32(0,!0),s.getInt32(4,!0),s.getInt32(8,!0)],intensity:s.getUint16(12,!0),classification:s.getUint8(15)}),1:s=>({position:[s.getInt32(0,!0),s.getInt32(4,!0),s.getInt32(8,!0)],intensity:s.getUint16(12,!0),classification:s.getUint8(15)}),2:s=>({position:[s.getInt32(0,!0),s.getInt32(4,!0),s.getInt32(8,!0)],intensity:s.getUint16(12,!0),classification:s.getUint8(15),color:[s.getUint16(20,!0),s.getUint16(22,!0),s.getUint16(24,!0)]}),3:s=>({position:[s.getInt32(0,!0),s.getInt32(4,!0),s.getInt32(8,!0)],intensity:s.getUint16(12,!0),classification:s.getUint8(15),color:[s.getUint16(28,!0),s.getUint16(30,!0),s.getUint16(32,!0)]})};function pr(s,A={},a,v){v=v===void 0||v===0?1:v;let p=s.slice(a,a+A.BYTES_PER_ELEMENT*v),g=new A(p);if(v===1)return g[0];let R=[];for(let x=0;x<v;x++)R.push(g[x]);return R}function Kf(s){let A=131,a={pointsOffset:pr(s,Uint32Array,32*3),pointsFormatId:pr(s,Uint8Array,32*3+8),pointsStructSize:pr(s,Uint16Array,32*3+8+1),pointsCount:pr(s,Uint32Array,32*3+11),scale:pr(s,Float64Array,A,3)};A+=24,a.offset=pr(s,Float64Array,A,3),A+=24;let v=pr(s,Float64Array,A,6);return A+=48,a.maxs=[v[0],v[2],v[4]],a.mins=[v[1],v[3],v[5]],a}var x2=class{arraybuffer;readOffset=0;header={pointsOffset:0,pointsFormatId:0,pointsStructSize:0,pointsCount:0,scale:[0,0,0],offset:[0,0,0],maxs:[0],mins:[0],totalToRead:0,totalRead:0,versionAsString:"",isCompressed:!0,hasColor:!1};constructor(A){this.arraybuffer=A}open(){return!0}getHeader(){return this.header=Kf(this.arraybuffer),this.header}readData(A,a){let{header:v,arraybuffer:p}=this;if(!v)throw new Error("Cannot start reading data till a header request is issued");let{readOffset:g}=this,R;if(a<=1){A=Math.min(A,v.pointsCount-g),R=v.pointsOffset+g*v.pointsStructSize;let N=R+A*v.pointsStructSize;return g+=A,this.readOffset=g,{buffer:p.slice(R,N),count:A,hasMoreData:g<v.pointsCount}}let x=Math.min(A*a,v.pointsCount-g),F=Math.ceil(x/a),W=0,X=new Uint8Array(F*v.pointsStructSize);for(let N=0;N<x;N++){if(N%a===0){R=v.pointsOffset+g*v.pointsStructSize;let S=new Uint8Array(p,R,v.pointsStructSize);X.set(S,W*v.pointsStructSize),W++}g++}return this.readOffset=g,{buffer:X.buffer,count:W,hasMoreData:g<v.pointsCount}}close(){return this.arraybuffer=null,!0}},w2=class{arraybuffer;instance=null;header=null;constructor(A){this.arraybuffer=A,Kt||(Kt=R2())}open(){try{let{arraybuffer:A}=this;this.instance=new Kt.LASZip;let a=new Uint8Array(A),v=Kt._malloc(A.byteLength);return this.instance.arraybuffer=A,this.instance.buf=v,Kt.HEAPU8.set(a,v),this.instance.open(v,A.byteLength),this.instance.readOffset=0,!0}catch(A){throw new Error(`Failed to open file: ${A.message}`)}}getHeader(){if(!this.instance)throw new Error("You need to open the file before trying to read header");try{let A=Kf(this.instance.arraybuffer);return A.pointsFormatId&=63,this.header=A,A}catch(A){throw new Error(`Failed to get header: ${A.message}`)}}readData(A,a,v){if(!this.instance)throw new Error("You need to open the file before trying to read stuff");let{header:p,instance:g}=this;if(!p)throw new Error("You need to query header before reading, I maintain state that way, sorry :(");try{let R=Math.min(A*v,p.pointsCount-g.readOffset),x=Math.ceil(R/v),F=0,W=new Uint8Array(x*p.pointsStructSize),X=Kt._malloc(p.pointsStructSize);for(let N=0;N<R;N++){if(g.getPoint(X),N%v===0){let S=new Uint8Array(Kt.HEAPU8.buffer,X,p.pointsStructSize);W.set(S,F*p.pointsStructSize),F++}g.readOffset++}return Kt._free(X),{buffer:W.buffer,count:F,hasMoreData:g.readOffset<p.pointsCount}}catch(R){throw new Error(`Failed to read data: ${R.message}`)}}close(){try{return this.instance!==null&&(Kt._free(this.instance.buf),this.instance.delete(),this.instance=null),!0}catch(A){throw new Error(`Failed to close file: ${A.message}`)}}},_2=class{arrayb;decoder;pointsCount;pointSize;scale;offset;mins;maxs;constructor(A,a,v){this.arrayb=A,this.decoder=$f[v.pointsFormatId],this.pointsCount=a,this.pointSize=v.pointsStructSize,this.scale=v.scale,this.offset=v.offset,this.mins=v.mins,this.maxs=v.maxs}getPoint(A){if(A<0||A>=this.pointsCount)throw new Error("Point index out of range");let a=new DataView(this.arrayb,A*this.pointSize,this.pointSize);return this.decoder(a)}},Ji=class{arraybuffer;formatId=0;loader;isCompressed=!0;isOpen=!1;version=0;versionAsString="";constructor(A){if(this.arraybuffer=A,this.determineVersion()>13)throw new Error("Only file versions <= 1.3 are supported at this time");if(this.determineFormat(),$f[this.formatId]===void 0)throw new Error("The point format ID is not supported");this.loader=this.isCompressed?new w2(this.arraybuffer):new x2(this.arraybuffer)}determineFormat(){let A=pr(this.arraybuffer,Uint8Array,104),a=(A&128)>>7,v=(A&64)>>6;if(a===1&&v===1)throw new Error("Old style compression not supported");this.formatId=A&63,this.isCompressed=a===1||v===1}determineVersion(){let A=new Int8Array(this.arraybuffer,24,2);return this.version=A[0]*10+A[1],this.versionAsString=`${A[0]}.${A[1]}`,this.version}open(){this.loader.open()&&(this.isOpen=!0)}getHeader(){return this.loader.getHeader()}readData(A,a,v){return this.loader.readData(A,a,v)}close(){this.loader.close()&&(this.isOpen=!1)}getUnpacker(){return _2}};function Z2(s,A){return Sy(s,A)}function Sy(s,A={}){let a=0,v,p,g,R,x,F={loader:"las",loaderData:{},schema:{fields:[],metadata:{}},header:{vertexCount:0,boundingBox:[[0,0,0],[0,0,0]]},attributes:{},topology:"point-list",mode:0};return Cy(s,A.las?.skip,(W={},X)=>{if(!x){x=X;let p0=X.totalToRead,l0=A.las?.fp64?Float64Array:Float32Array;v=new l0(p0*3),p=X.hasColor?new Uint8Array(p0*4):null,g=new Uint16Array(p0),R=new Uint8Array(p0),F.loaderData=X,F.attributes={POSITION:{value:v,size:3},intensity:{value:g,size:1},classification:{value:R,size:1}},p&&(F.attributes.COLOR_0={value:p,size:4})}let N=W.pointsCount,{scale:[S,H,j],offset:[q,K,r0]}=X,o0=Jy(W,N,A.las?.colorDepth);for(let p0=0;p0<N;p0++){let{position:l0,color:A0,intensity:U0,classification:W0}=W.getPoint(p0);v[a*3]=l0[0]*S+q,v[a*3+1]=l0[1]*H+K,v[a*3+2]=l0[2]*j+r0,A0&&p&&(o0?(p[a*4]=A0[0]/256,p[a*4+1]=A0[1]/256,p[a*4+2]=A0[2]/256):(p[a*4]=A0[0],p[a*4+1]=A0[1],p[a*4+2]=A0[2]),p[a*4+3]=255),g[a]=U0,R[a]=W0,a++}let u0={...F,header:{vertexCount:X.totalRead},progress:X.totalRead/X.totalToRead};A?.onProgress?.(u0)}),F.header={vertexCount:x.totalToRead,boundingBox:y2(F?.attributes||{})},F&&(F.schema=Lf(F.loaderData,F.attributes)),F}function Cy(s,A,a={}){let v=new Ji(s);try{v.open();let p=v.getHeader(),g=v.getUnpacker(),R=Math.ceil(p.pointsCount/Math.max(1,A));p.totalToRead=R;let x=0;for(;;){let F=v.readData(1e5,A);x+=F.count,p.totalRead=x;let W=new g(F.buffer,F.count,p);if(a(W,p),!F.hasMoreData||x>=R)break}}catch(p){throw p}finally{v.close()}}function Jy(s={},A,a){let v=!1;switch(a){case 8:v=!1;break;case 16:v=!0;break;case"auto":if(s.getPoint(0).color)for(let p=0;p<A;p++){let{color:g}=s.getPoint(p);(g[0]>255||g[1]>255||g[2]>255)&&(v=!0)}break;default:console.warn("las: illegal value for options.las.colorDepth");break}return v}var F2={...Yf,parse:async(s,A)=>Z2(s,A),parseSync:(s,A)=>Z2(s,A)};function bf(s){let A=s.split(".").map(Number);return{major:A[0],minor:A[1]}}function tA(s){s("EPSG:4326","+title=WGS 84 (long/lat) +proj=longlat +ellps=WGS84 +datum=WGS84 +units=degrees"),s("EPSG:4269","+title=NAD83 (long/lat) +proj=longlat +a=6378137.0 +b=6356752.31414036 +ellps=GRS80 +datum=NAD83 +units=degrees"),s("EPSG:3857","+title=WGS 84 / Pseudo-Mercator +proj=merc +a=6378137 +b=6378137 +lat_ts=0.0 +lon_0=0.0 +x_0=0.0 +y_0=0 +k=1.0 +units=m +nadgrids=@null +no_defs"),s.WGS84=s["EPSG:4326"],s["EPSG:3785"]=s["EPSG:3857"],s.GOOGLE=s["EPSG:3857"],s["EPSG:900913"]=s["EPSG:3857"],s["EPSG:102113"]=s["EPSG:3857"]}var kt=1,Vt=2,rA=4,De=5,Jr=484813681109536e-20,O=Math.PI/2,eA=.16666666666666666,iA=.04722222222222222,nA=.022156084656084655,Q=1e-10,I0=.017453292519943295,Wt=57.29577951308232,M0=Math.PI/4,Qe=Math.PI*2,E0=3.14159265359;var b0={};b0.greenwich=0;b0.lisbon=-9.131906111111;b0.paris=2.337229166667;b0.bogota=-74.080916666667;b0.madrid=-3.687938888889;b0.rome=12.452333333333;b0.bern=7.439583333333;b0.jakarta=106.807719444444;b0.ferro=-17.666666666667;b0.brussels=4.367975;b0.stockholm=18.058277777778;b0.athens=23.7163375;b0.oslo=10.722916666667;var sA={ft:{to_meter:.3048},"us-ft":{to_meter:1200/3937}};var oA=/[\s_\-\/\(\)]/g;function ut(s,A){if(s[A])return s[A];for(var a=Object.keys(s),v=A.toLowerCase().replace(oA,""),p=-1,g,R;++p<a.length;)if(g=a[p],R=g.toLowerCase().replace(oA,""),R===v)return s[g]}function Le(s){var A={},a=s.split("+").map(function(x){return x.trim()}).filter(function(x){return x}).reduce(function(x,F){var W=F.split("=");return W.push(!0),x[W[0].toLowerCase()]=W[1],x},{}),v,p,g,R={proj:"projName",datum:"datumCode",rf:function(x){A.rf=parseFloat(x)},lat_0:function(x){A.lat0=x*I0},lat_1:function(x){A.lat1=x*I0},lat_2:function(x){A.lat2=x*I0},lat_ts:function(x){A.lat_ts=x*I0},lon_0:function(x){A.long0=x*I0},lon_1:function(x){A.long1=x*I0},lon_2:function(x){A.long2=x*I0},alpha:function(x){A.alpha=parseFloat(x)*I0},lonc:function(x){A.longc=x*I0},x_0:function(x){A.x0=parseFloat(x)},y_0:function(x){A.y0=parseFloat(x)},k_0:function(x){A.k0=parseFloat(x)},k:function(x){A.k0=parseFloat(x)},a:function(x){A.a=parseFloat(x)},b:function(x){A.b=parseFloat(x)},r_a:function(){A.R_A=!0},zone:function(x){A.zone=parseInt(x,10)},south:function(){A.utmSouth=!0},towgs84:function(x){A.datum_params=x.split(",").map(function(F){return parseFloat(F)})},to_meter:function(x){A.to_meter=parseFloat(x)},units:function(x){A.units=x;var F=ut(sA,x);F&&(A.to_meter=F.to_meter)},from_greenwich:function(x){A.from_greenwich=x*I0},pm:function(x){var F=ut(b0,x);A.from_greenwich=(F||parseFloat(x))*I0},nadgrids:function(x){x==="@null"?A.datumCode="none":A.nadgrids=x},axis:function(x){var F="ewnsud";x.length===3&&F.indexOf(x.substr(0,1))!==-1&&F.indexOf(x.substr(1,1))!==-1&&F.indexOf(x.substr(2,1))!==-1&&(A.axis=x)}};for(v in a)p=a[v],v in R?(g=R[v],typeof g=="function"?g(p):A[g]=p):A[v]=p;return typeof A.datumCode=="string"&&A.datumCode!=="WGS84"&&(A.datumCode=A.datumCode.toLowerCase()),A}var fA=Py,qe=1,AA=2,hA=3,Ii=4,lA=5,k2=-1,Iy=/\s/,Oy=/[A-Za-z]/,jy=/[A-Za-z84_]/,Oi=/[,\]]/,uA=/[\d\.E\-\+]/;function bt(s){if(typeof s!="string")throw new Error("not a string");this.text=s.trim(),this.level=0,this.place=0,this.root=null,this.stack=[],this.currentObject=null,this.state=qe}bt.prototype.readCharicter=function(){var s=this.text[this.place++];if(this.state!==Ii)for(;Iy.test(s);){if(this.place>=this.text.length)return;s=this.text[this.place++]}switch(this.state){case qe:return this.neutral(s);case AA:return this.keyword(s);case Ii:return this.quoted(s);case lA:return this.afterquote(s);case hA:return this.number(s);case k2:return}};bt.prototype.afterquote=function(s){if(s==='"'){this.word+='"',this.state=Ii;return}if(Oi.test(s)){this.word=this.word.trim(),this.afterItem(s);return}throw new Error(`havn't handled "`+s+'" in afterquote yet, index '+this.place)};bt.prototype.afterItem=function(s){if(s===","){this.word!==null&&this.currentObject.push(this.word),this.word=null,this.state=qe;return}if(s==="]"){this.level--,this.word!==null&&(this.currentObject.push(this.word),this.word=null),this.state=qe,this.currentObject=this.stack.pop(),this.currentObject||(this.state=k2);return}};bt.prototype.number=function(s){if(uA.test(s)){this.word+=s;return}if(Oi.test(s)){this.word=parseFloat(this.word),this.afterItem(s);return}throw new Error(`havn't handled "`+s+'" in number yet, index '+this.place)};bt.prototype.quoted=function(s){if(s==='"'){this.state=lA;return}this.word+=s};bt.prototype.keyword=function(s){if(jy.test(s)){this.word+=s;return}if(s==="["){var A=[];A.push(this.word),this.level++,this.root===null?this.root=A:this.currentObject.push(A),this.stack.push(this.currentObject),this.currentObject=A,this.state=qe;return}if(Oi.test(s)){this.afterItem(s);return}throw new Error(`havn't handled "`+s+'" in keyword yet, index '+this.place)};bt.prototype.neutral=function(s){if(Oy.test(s)){this.word=s,this.state=AA;return}if(s==='"'){this.word="",this.state=Ii;return}if(uA.test(s)){this.word=s,this.state=hA;return}if(Oi.test(s)){this.afterItem(s);return}throw new Error(`havn't handled "`+s+'" in neutral yet, index '+this.place)};bt.prototype.output=function(){for(;this.place<this.text.length;)this.readCharicter();if(this.state===k2)return this.root;throw new Error('unable to parse string "'+this.text+'". State is '+this.state)};function Py(s){var A=new bt(s);return A.output()}function aA(s,A,a){Array.isArray(A)&&(a.unshift(A),A=null);var v=A?{}:s,p=a.reduce(function(g,R){return Ir(R,g),g},v);A&&(s[A]=p)}function Ir(s,A){if(!Array.isArray(s)){A[s]=!0;return}var a=s.shift();if(a==="PARAMETER"&&(a=s.shift()),s.length===1){if(Array.isArray(s[0])){A[a]={},Ir(s[0],A[a]);return}A[a]=s[0];return}if(!s.length){A[a]=!0;return}if(a==="TOWGS84"){A[a]=s;return}if(a==="AXIS"){a in A||(A[a]=[]),A[a].push(s);return}Array.isArray(a)||(A[a]={});var v;switch(a){case"UNIT":case"PRIMEM":case"VERT_DATUM":A[a]={name:s[0].toLowerCase(),convert:s[1]},s.length===3&&Ir(s[2],A[a]);return;case"SPHEROID":case"ELLIPSOID":A[a]={name:s[0],a:s[1],rf:s[2]},s.length===4&&Ir(s[3],A[a]);return;case"PROJECTEDCRS":case"PROJCRS":case"GEOGCS":case"GEOCCS":case"PROJCS":case"LOCAL_CS":case"GEODCRS":case"GEODETICCRS":case"GEODETICDATUM":case"EDATUM":case"ENGINEERINGDATUM":case"VERT_CS":case"VERTCRS":case"VERTICALCRS":case"COMPD_CS":case"COMPOUNDCRS":case"ENGINEERINGCRS":case"ENGCRS":case"FITTED_CS":case"LOCAL_DATUM":case"DATUM":s[0]=["name",s[0]],aA(A,a,s);return;default:for(v=-1;++v<s.length;)if(!Array.isArray(s[v]))return Ir(s,A[a]);return aA(A,a,s)}}var Yy=.017453292519943295;function Hy(s,A){var a=A[0],v=A[1];!(a in s)&&v in s&&(s[a]=s[v],A.length===3&&(s[a]=A[2](s[a])))}function jt(s){return s*Yy}function Dy(s){if(s.type==="GEOGCS"?s.projName="longlat":s.type==="LOCAL_CS"?(s.projName="identity",s.local=!0):typeof s.PROJECTION=="object"?s.projName=Object.keys(s.PROJECTION)[0]:s.projName=s.PROJECTION,s.AXIS){for(var A="",a=0,v=s.AXIS.length;a<v;++a){var p=[s.AXIS[a][0].toLowerCase(),s.AXIS[a][1].toLowerCase()];p[0].indexOf("north")!==-1||(p[0]==="y"||p[0]==="lat")&&p[1]==="north"?A+="n":p[0].indexOf("south")!==-1||(p[0]==="y"||p[0]==="lat")&&p[1]==="south"?A+="s":p[0].indexOf("east")!==-1||(p[0]==="x"||p[0]==="lon")&&p[1]==="east"?A+="e":(p[0].indexOf("west")!==-1||(p[0]==="x"||p[0]==="lon")&&p[1]==="west")&&(A+="w")}A.length===2&&(A+="u"),A.length===3&&(s.axis=A)}s.UNIT&&(s.units=s.UNIT.name.toLowerCase(),s.units==="metre"&&(s.units="meter"),s.UNIT.convert&&(s.type==="GEOGCS"?s.DATUM&&s.DATUM.SPHEROID&&(s.to_meter=s.UNIT.convert*s.DATUM.SPHEROID.a):s.to_meter=s.UNIT.convert));var g=s.GEOGCS;s.type==="GEOGCS"&&(g=s),g&&(g.DATUM?s.datumCode=g.DATUM.name.toLowerCase():s.datumCode=g.name.toLowerCase(),s.datumCode.slice(0,2)==="d_"&&(s.datumCode=s.datumCode.slice(2)),(s.datumCode==="new_zealand_geodetic_datum_1949"||s.datumCode==="new_zealand_1949")&&(s.datumCode="nzgd49"),(s.datumCode==="wgs_1984"||s.datumCode==="world_geodetic_system_1984")&&(s.PROJECTION==="Mercator_Auxiliary_Sphere"&&(s.sphere=!0),s.datumCode="wgs84"),s.datumCode.slice(-6)==="_ferro"&&(s.datumCode=s.datumCode.slice(0,-6)),s.datumCode.slice(-8)==="_jakarta"&&(s.datumCode=s.datumCode.slice(0,-8)),~s.datumCode.indexOf("belge")&&(s.datumCode="rnb72"),g.DATUM&&g.DATUM.SPHEROID&&(s.ellps=g.DATUM.SPHEROID.name.replace("_19","").replace(/[Cc]larke\_18/,"clrk"),s.ellps.toLowerCase().slice(0,13)==="international"&&(s.ellps="intl"),s.a=g.DATUM.SPHEROID.a,s.rf=parseFloat(g.DATUM.SPHEROID.rf,10)),g.DATUM&&g.DATUM.TOWGS84&&(s.datum_params=g.DATUM.TOWGS84),~s.datumCode.indexOf("osgb_1936")&&(s.datumCode="osgb36"),~s.datumCode.indexOf("osni_1952")&&(s.datumCode="osni52"),(~s.datumCode.indexOf("tm65")||~s.datumCode.indexOf("geodetic_datum_of_1965"))&&(s.datumCode="ire65"),s.datumCode==="ch1903+"&&(s.datumCode="ch1903"),~s.datumCode.indexOf("israel")&&(s.datumCode="isr93")),s.b&&!isFinite(s.b)&&(s.b=s.a);function R(W){var X=s.to_meter||1;return W*X}var x=function(W){return Hy(s,W)},F=[["standard_parallel_1","Standard_Parallel_1"],["standard_parallel_1","Latitude of 1st standard parallel"],["standard_parallel_2","Standard_Parallel_2"],["standard_parallel_2","Latitude of 2nd standard parallel"],["false_easting","False_Easting"],["false_easting","False easting"],["false-easting","Easting at false origin"],["false_northing","False_Northing"],["false_northing","False northing"],["false_northing","Northing at false origin"],["central_meridian","Central_Meridian"],["central_meridian","Longitude of natural origin"],["central_meridian","Longitude of false origin"],["latitude_of_origin","Latitude_Of_Origin"],["latitude_of_origin","Central_Parallel"],["latitude_of_origin","Latitude of natural origin"],["latitude_of_origin","Latitude of false origin"],["scale_factor","Scale_Factor"],["k0","scale_factor"],["latitude_of_center","Latitude_Of_Center"],["latitude_of_center","Latitude_of_center"],["lat0","latitude_of_center",jt],["longitude_of_center","Longitude_Of_Center"],["longitude_of_center","Longitude_of_center"],["longc","longitude_of_center",jt],["x0","false_easting",R],["y0","false_northing",R],["long0","central_meridian",jt],["lat0","latitude_of_origin",jt],["lat0","standard_parallel_1",jt],["lat1","standard_parallel_1",jt],["lat2","standard_parallel_2",jt],["azimuth","Azimuth"],["alpha","azimuth",jt],["srsCode","name"]];F.forEach(x),!s.long0&&s.longc&&(s.projName==="Albers_Conic_Equal_Area"||s.projName==="Lambert_Azimuthal_Equal_Area")&&(s.long0=s.longc),!s.lat_ts&&s.lat1&&(s.projName==="Stereographic_South_Pole"||s.projName==="Polar Stereographic (variant B)")?(s.lat0=jt(s.lat1>0?90:-90),s.lat_ts=s.lat1):!s.lat_ts&&s.lat0&&s.projName==="Polar_Stereographic"&&(s.lat_ts=s.lat0,s.lat0=jt(s.lat0>0?90:-90))}function ji(s){var A=fA(s),a=A.shift(),v=A.shift();A.unshift(["name",v]),A.unshift(["type",a]);var p={};return Ir(A,p),Dy(p),p}function Rt(s){var A=this;if(arguments.length===2){var a=arguments[1];typeof a=="string"?a.charAt(0)==="+"?Rt[s]=Le(arguments[1]):Rt[s]=ji(arguments[1]):Rt[s]=a}else if(arguments.length===1){if(Array.isArray(s))return s.map(function(v){Array.isArray(v)?Rt.apply(A,v):Rt(v)});if(typeof s=="string"){if(s in Rt)return Rt[s]}else"EPSG"in s?Rt["EPSG:"+s.EPSG]=s:"ESRI"in s?Rt["ESRI:"+s.ESRI]=s:"IAU2000"in s?Rt["IAU2000:"+s.IAU2000]=s:console.log(s);return}}tA(Rt);var ue=Rt;function Qy(s){return typeof s=="string"}function Ly(s){return s in ue}var qy=["PROJECTEDCRS","PROJCRS","GEOGCS","GEOCCS","PROJCS","LOCAL_CS","GEODCRS","GEODETICCRS","GEODETICDATUM","ENGCRS","ENGINEERINGCRS"];function $y(s){return qy.some(function(A){return s.indexOf(A)>-1})}var Ky=["3857","900913","3785","102113"];function by(s){var A=ut(s,"authority");if(A){var a=ut(A,"epsg");return a&&Ky.indexOf(a)>-1}}function td(s){var A=ut(s,"extension");if(A)return ut(A,"proj4")}function rd(s){return s[0]==="+"}function ed(s){if(Qy(s)){if(Ly(s))return ue[s];if($y(s)){var A=ji(s);if(by(A))return ue["EPSG:3857"];var a=td(A);return a?Le(a):A}if(rd(s))return Le(s)}else return s}var cA=ed;function V2(s,A){s=s||{};var a,v;if(!A)return s;for(v in A)a=A[v],a!==void 0&&(s[v]=a);return s}function q0(s,A,a){var v=s*A;return a/Math.sqrt(1-v*v)}function Pt(s){return s<0?-1:1}function L(s){return Math.abs(s)<=E0?s:s-Pt(s)*Qe}function tt(s,A,a){var v=s*a,p=.5*s;return v=Math.pow((1-v)/(1+v),p),Math.tan(.5*(O-A))/v}function tr(s,A){for(var a=.5*s,v,p,g=O-2*Math.atan(A),R=0;R<=15;R++)if(v=s*Math.sin(g),p=O-2*Math.atan(A*Math.pow((1-v)/(1+v),a))-g,g+=p,Math.abs(p)<=1e-10)return g;return-9999}function id(){var s=this.b/this.a;this.es=1-s*s,"x0"in this||(this.x0=0),"y0"in this||(this.y0=0),this.e=Math.sqrt(this.es),this.lat_ts?this.sphere?this.k0=Math.cos(this.lat_ts):this.k0=q0(this.e,Math.sin(this.lat_ts),Math.cos(this.lat_ts)):this.k0||(this.k?this.k0=this.k:this.k0=1)}function nd(s){var A=s.x,a=s.y;if(a*Wt>90&&a*Wt<-90&&A*Wt>180&&A*Wt<-180)return null;var v,p;if(Math.abs(Math.abs(a)-O)<=Q)return null;if(this.sphere)v=this.x0+this.a*this.k0*L(A-this.long0),p=this.y0+this.a*this.k0*Math.log(Math.tan(M0+.5*a));else{var g=Math.sin(a),R=tt(this.e,a,g);v=this.x0+this.a*this.k0*L(A-this.long0),p=this.y0-this.a*this.k0*Math.log(R)}return s.x=v,s.y=p,s}function sd(s){var A=s.x-this.x0,a=s.y-this.y0,v,p;if(this.sphere)p=O-2*Math.atan(Math.exp(-a/(this.a*this.k0)));else{var g=Math.exp(-a/(this.a*this.k0));if(p=tr(this.e,g),p===-9999)return null}return v=L(this.long0+A/(this.a*this.k0)),s.x=v,s.y=p,s}var od=["Mercator","Popular Visualisation Pseudo Mercator","Mercator_1SP","Mercator_Auxiliary_Sphere","merc"],mA={init:id,forward:nd,inverse:sd,names:od};function fd(){}function vA(s){return s}var Ad=["longlat","identity"],pA={init:fd,forward:vA,inverse:vA,names:Ad};var hd=[mA,pA],Pi={},Yi=[];function MA(s,A){var a=Yi.length;return s.names?(Yi[a]=s,s.names.forEach(function(v){Pi[v.toLowerCase()]=a}),this):(console.log(A),!0)}function ld(s){if(!s)return!1;var A=s.toLowerCase();if(typeof Pi[A]<"u"&&Yi[Pi[A]])return Yi[Pi[A]]}function ud(){hd.forEach(MA)}var yA={start:ud,add:MA,get:ld};var s0={};s0.MERIT={a:6378137,rf:298.257,ellipseName:"MERIT 1983"};s0.SGS85={a:6378136,rf:298.257,ellipseName:"Soviet Geodetic System 85"};s0.GRS80={a:6378137,rf:298.257222101,ellipseName:"GRS 1980(IUGG, 1980)"};s0.IAU76={a:6378140,rf:298.257,ellipseName:"IAU 1976"};s0.airy={a:6377563396e-3,b:635625691e-2,ellipseName:"Airy 1830"};s0.APL4={a:6378137,rf:298.25,ellipseName:"Appl. Physics. 1965"};s0.NWL9D={a:6378145,rf:298.25,ellipseName:"Naval Weapons Lab., 1965"};s0.mod_airy={a:6377340189e-3,b:6356034446e-3,ellipseName:"Modified Airy"};s0.andrae={a:637710443e-2,rf:300,ellipseName:"Andrae 1876 (Den., Iclnd.)"};s0.aust_SA={a:6378160,rf:298.25,ellipseName:"Australian Natl & S. Amer. 1969"};s0.GRS67={a:6378160,rf:298.247167427,ellipseName:"GRS 67(IUGG 1967)"};s0.bessel={a:6377397155e-3,rf:299.1528128,ellipseName:"Bessel 1841"};s0.bess_nam={a:6377483865e-3,rf:299.1528128,ellipseName:"Bessel 1841 (Namibia)"};s0.clrk66={a:63782064e-1,b:63565838e-1,ellipseName:"Clarke 1866"};s0.clrk80={a:6378249145e-3,rf:293.4663,ellipseName:"Clarke 1880 mod."};s0.clrk58={a:6378293645208759e-9,rf:294.2606763692654,ellipseName:"Clarke 1858"};s0.CPM={a:63757387e-1,rf:334.29,ellipseName:"Comm. des Poids et Mesures 1799"};s0.delmbr={a:6376428,rf:311.5,ellipseName:"Delambre 1810 (Belgium)"};s0.engelis={a:637813605e-2,rf:298.2566,ellipseName:"Engelis 1985"};s0.evrst30={a:6377276345e-3,rf:300.8017,ellipseName:"Everest 1830"};s0.evrst48={a:6377304063e-3,rf:300.8017,ellipseName:"Everest 1948"};s0.evrst56={a:6377301243e-3,rf:300.8017,ellipseName:"Everest 1956"};s0.evrst69={a:6377295664e-3,rf:300.8017,ellipseName:"Everest 1969"};s0.evrstSS={a:6377298556e-3,rf:300.8017,ellipseName:"Everest (Sabah & Sarawak)"};s0.fschr60={a:6378166,rf:298.3,ellipseName:"Fischer (Mercury Datum) 1960"};s0.fschr60m={a:6378155,rf:298.3,ellipseName:"Fischer 1960"};s0.fschr68={a:6378150,rf:298.3,ellipseName:"Fischer 1968"};s0.helmert={a:6378200,rf:298.3,ellipseName:"Helmert 1906"};s0.hough={a:6378270,rf:297,ellipseName:"Hough"};s0.intl={a:6378388,rf:297,ellipseName:"International 1909 (Hayford)"};s0.kaula={a:6378163,rf:298.24,ellipseName:"Kaula 1961"};s0.lerch={a:6378139,rf:298.257,ellipseName:"Lerch 1979"};s0.mprts={a:6397300,rf:191,ellipseName:"Maupertius 1738"};s0.new_intl={a:63781575e-1,b:63567722e-1,ellipseName:"New International 1967"};s0.plessis={a:6376523,rf:6355863,ellipseName:"Plessis 1817 (France)"};s0.krass={a:6378245,rf:298.3,ellipseName:"Krassovsky, 1942"};s0.SEasia={a:6378155,b:63567733205e-4,ellipseName:"Southeast Asia"};s0.walbeck={a:6376896,b:63558348467e-4,ellipseName:"Walbeck"};s0.WGS60={a:6378165,rf:298.3,ellipseName:"WGS 60"};s0.WGS66={a:6378145,rf:298.25,ellipseName:"WGS 66"};s0.WGS7={a:6378135,rf:298.26,ellipseName:"WGS 72"};var dA=s0.WGS84={a:6378137,rf:298.257223563,ellipseName:"WGS 84"};s0.sphere={a:6370997,b:6370997,ellipseName:"Normal Sphere (r=6370997)"};function gA(s,A,a,v){var p=s*s,g=A*A,R=(p-g)/p,x=0;v?(s*=1-R*(eA+R*(iA+R*nA)),p=s*s,R=0):x=Math.sqrt(R);var F=(p-g)/g;return{es:R,e:x,ep2:F}}function RA(s,A,a,v,p){if(!s){var g=ut(s0,v);g||(g=dA),s=g.a,A=g.b,a=g.rf}return a&&!A&&(A=(1-1/a)*s),(a===0||Math.abs(s-A)<Q)&&(p=!0,A=s),{a:s,b:A,rf:a,sphere:p}}var O0={};O0.wgs84={towgs84:"0,0,0",ellipse:"WGS84",datumName:"WGS84"};O0.ch1903={towgs84:"674.374,15.056,405.346",ellipse:"bessel",datumName:"swiss"};O0.ggrs87={towgs84:"-199.87,74.79,246.62",ellipse:"GRS80",datumName:"Greek_Geodetic_Reference_System_1987"};O0.nad83={towgs84:"0,0,0",ellipse:"GRS80",datumName:"North_American_Datum_1983"};O0.nad27={nadgrids:"@conus,@alaska,@ntv2_0.gsb,@ntv1_can.dat",ellipse:"clrk66",datumName:"North_American_Datum_1927"};O0.potsdam={towgs84:"606.0,23.0,413.0",ellipse:"bessel",datumName:"Potsdam Rauenberg 1950 DHDN"};O0.carthage={towgs84:"-263.0,6.0,431.0",ellipse:"clark80",datumName:"Carthage 1934 Tunisia"};O0.hermannskogel={towgs84:"653.0,-212.0,449.0",ellipse:"bessel",datumName:"Hermannskogel"};O0.osni52={towgs84:"482.530,-130.596,564.557,-1.042,-0.214,-0.631,8.15",ellipse:"airy",datumName:"Irish National"};O0.ire65={towgs84:"482.530,-130.596,564.557,-1.042,-0.214,-0.631,8.15",ellipse:"mod_airy",datumName:"Ireland 1965"};O0.rassadiran={towgs84:"-133.63,-157.5,-158.62",ellipse:"intl",datumName:"Rassadiran"};O0.nzgd49={towgs84:"59.47,-5.04,187.44,0.47,-0.1,1.024,-4.5993",ellipse:"intl",datumName:"New Zealand Geodetic Datum 1949"};O0.osgb36={towgs84:"446.448,-125.157,542.060,0.1502,0.2470,0.8421,-20.4894",ellipse:"airy",datumName:"Airy 1830"};O0.s_jtsk={towgs84:"589,76,480",ellipse:"bessel",datumName:"S-JTSK (Ferro)"};O0.beduaram={towgs84:"-106,-87,188",ellipse:"clrk80",datumName:"Beduaram"};O0.gunung_segara={towgs84:"-403,684,41",ellipse:"bessel",datumName:"Gunung Segara Jakarta"};O0.rnb72={towgs84:"106.869,-52.2978,103.724,-0.33657,0.456955,-1.84218,1",ellipse:"intl",datumName:"Reseau National Belge 1972"};function ad(s,A,a,v,p,g){var R={};return s===void 0||s==="none"?R.datum_type=De:R.datum_type=rA,A&&(R.datum_params=A.map(parseFloat),(R.datum_params[0]!==0||R.datum_params[1]!==0||R.datum_params[2]!==0)&&(R.datum_type=kt),R.datum_params.length>3&&(R.datum_params[3]!==0||R.datum_params[4]!==0||R.datum_params[5]!==0||R.datum_params[6]!==0)&&(R.datum_type=Vt,R.datum_params[3]*=Jr,R.datum_params[4]*=Jr,R.datum_params[5]*=Jr,R.datum_params[6]=R.datum_params[6]/1e6+1)),R.a=a,R.b=v,R.es=p,R.ep2=g,R}var xA=ad;function ae(s,A){if(!(this instanceof ae))return new ae(s);A=A||function(F){if(F)throw F};var a=cA(s);if(typeof a!="object"){A(s);return}var v=ae.projections.get(a.projName);if(!v){A(s);return}if(a.datumCode&&a.datumCode!=="none"){var p=ut(O0,a.datumCode);p&&(a.datum_params=p.towgs84?p.towgs84.split(","):null,a.ellps=p.ellipse,a.datumName=p.datumName?p.datumName:a.datumCode)}a.k0=a.k0||1,a.axis=a.axis||"enu",a.ellps=a.ellps||"wgs84";var g=RA(a.a,a.b,a.rf,a.ellps,a.sphere),R=gA(g.a,g.b,g.rf,a.R_A),x=a.datum||xA(a.datumCode,a.datum_params,g.a,g.b,R.es,R.ep2);V2(this,a),V2(this,v),this.a=g.a,this.b=g.b,this.rf=g.rf,this.sphere=g.sphere,this.es=R.es,this.e=R.e,this.ep2=R.ep2,this.datum=x,this.init(),A(null,this)}ae.projections=yA;ae.projections.start();var Mr=ae;function wA(s,A){return s.datum_type!==A.datum_type||s.a!==A.a||Math.abs(s.es-A.es)>5e-11?!1:s.datum_type===kt?s.datum_params[0]===A.datum_params[0]&&s.datum_params[1]===A.datum_params[1]&&s.datum_params[2]===A.datum_params[2]:s.datum_type===Vt?s.datum_params[0]===A.datum_params[0]&&s.datum_params[1]===A.datum_params[1]&&s.datum_params[2]===A.datum_params[2]&&s.datum_params[3]===A.datum_params[3]&&s.datum_params[4]===A.datum_params[4]&&s.datum_params[5]===A.datum_params[5]&&s.datum_params[6]===A.datum_params[6]:!0}function Hi(s,A,a){var v=s.x,p=s.y,g=s.z?s.z:0,R,x,F,W;if(p<-O&&p>-1.001*O)p=-O;else if(p>O&&p<1.001*O)p=O;else{if(p<-O)return{x:-1/0,y:-1/0,z:s.z};if(p>O)return{x:1/0,y:1/0,z:s.z}}return v>Math.PI&&(v-=2*Math.PI),x=Math.sin(p),W=Math.cos(p),F=x*x,R=a/Math.sqrt(1-A*F),{x:(R+g)*W*Math.cos(v),y:(R+g)*W*Math.sin(v),z:(R*(1-A)+g)*x}}function Di(s,A,a,v){var p=1e-12,g=p*p,R=30,x,F,W,X,N,S,H,j,q,K,r0,o0,u0,p0=s.x,l0=s.y,A0=s.z?s.z:0,U0,W0,wt;if(x=Math.sqrt(p0*p0+l0*l0),F=Math.sqrt(p0*p0+l0*l0+A0*A0),x/a<p){if(U0=0,F/a<p)return W0=O,wt=-v,{x:s.x,y:s.y,z:s.z}}else U0=Math.atan2(l0,p0);W=A0/F,X=x/F,N=1/Math.sqrt(1-A*(2-A)*X*X),j=X*(1-A)*N,q=W*N,u0=0;do u0++,H=a/Math.sqrt(1-A*q*q),wt=x*j+A0*q-H*(1-A*q*q),S=A*H/(H+wt),N=1/Math.sqrt(1-S*(2-S)*X*X),K=X*(1-S)*N,r0=W*N,o0=r0*j-K*q,j=K,q=r0;while(o0*o0>g&&u0<R);return W0=Math.atan(r0/Math.abs(K)),{x:U0,y:W0,z:wt}}function _A(s,A,a){if(A===kt)return{x:s.x+a[0],y:s.y+a[1],z:s.z+a[2]};if(A===Vt){var v=a[0],p=a[1],g=a[2],R=a[3],x=a[4],F=a[5],W=a[6];return{x:W*(s.x-F*s.y+x*s.z)+v,y:W*(F*s.x+s.y-R*s.z)+p,z:W*(-x*s.x+R*s.y+s.z)+g}}}function ZA(s,A,a){if(A===kt)return{x:s.x-a[0],y:s.y-a[1],z:s.z-a[2]};if(A===Vt){var v=a[0],p=a[1],g=a[2],R=a[3],x=a[4],F=a[5],W=a[6],X=(s.x-v)/W,N=(s.y-p)/W,S=(s.z-g)/W;return{x:X+F*N-x*S,y:-F*X+N+R*S,z:x*X-R*N+S}}}function Qi(s){return s===kt||s===Vt}function FA(s,A,a){return wA(s,A)||s.datum_type===De||A.datum_type===De||s.es===A.es&&s.a===A.a&&!Qi(s.datum_type)&&!Qi(A.datum_type)?a:(a=Hi(a,s.es,s.a),Qi(s.datum_type)&&(a=_A(a,s.datum_type,s.datum_params)),Qi(A.datum_type)&&(a=ZA(a,A.datum_type,A.datum_params)),Di(a,A.es,A.a,A.b))}function W2(s,A,a){var v=a.x,p=a.y,g=a.z||0,R,x,F,W={};for(F=0;F<3;F++)if(!(A&&F===2&&a.z===void 0))switch(F===0?(R=v,"ew".indexOf(s.axis[F])!==-1?x="x":x="y"):F===1?(R=p,"ns".indexOf(s.axis[F])!==-1?x="y":x="x"):(R=g,x="z"),s.axis[F]){case"e":case"w":case"n":case"s":W[x]=R;break;case"u":a[x]!==void 0&&(W.z=R);break;case"d":a[x]!==void 0&&(W.z=-R);break;default:return null}return W}function Li(s){var A={x:s[0],y:s[1]};return s.length>2&&(A.z=s[2]),s.length>3&&(A.m=s[3]),A}function VA(s){kA(s.x),kA(s.y)}function kA(s){if(typeof Number.isFinite=="function"){if(Number.isFinite(s))return;throw new TypeError("coordinates must be finite numbers")}if(typeof s!="number"||s!==s||!isFinite(s))throw new TypeError("coordinates must be finite numbers")}function cd(s,A){return(s.datum.datum_type===kt||s.datum.datum_type===Vt)&&A.datumCode!=="WGS84"||(A.datum.datum_type===kt||A.datum.datum_type===Vt)&&s.datumCode!=="WGS84"}function Or(s,A,a){var v;if(Array.isArray(a)&&(a=Li(a)),VA(a),s.datum&&A.datum&&cd(s,A)&&(v=new Mr("WGS84"),a=Or(s,v,a),s=v),s.axis!=="enu"&&(a=W2(s,!1,a)),s.projName==="longlat")a={x:a.x*I0,y:a.y*I0,z:a.z||0};else if(s.to_meter&&(a={x:a.x*s.to_meter,y:a.y*s.to_meter,z:a.z||0}),a=s.inverse(a),!a)return;return s.from_greenwich&&(a.x+=s.from_greenwich),a=FA(s.datum,A.datum,a),A.from_greenwich&&(a={x:a.x-A.from_greenwich,y:a.y,z:a.z||0}),A.projName==="longlat"?a={x:a.x*Wt,y:a.y*Wt,z:a.z||0}:(a=A.forward(a),A.to_meter&&(a={x:a.x/A.to_meter,y:a.y/A.to_meter,z:a.z||0})),A.axis!=="enu"?W2(A,!0,a):a}var WA=Mr("WGS84");function N2(s,A,a){var v,p,g;return Array.isArray(a)?(v=Or(s,A,a)||{x:NaN,y:NaN},a.length>2?typeof s.name<"u"&&s.name==="geocent"||typeof A.name<"u"&&A.name==="geocent"?typeof v.z=="number"?[v.x,v.y,v.z].concat(a.splice(3)):[v.x,v.y,a[2]].concat(a.splice(3)):[v.x,v.y].concat(a.splice(2)):[v.x,v.y]):(p=Or(s,A,a),g=Object.keys(a),g.length===2||g.forEach(function(R){if(typeof s.name<"u"&&s.name==="geocent"||typeof A.name<"u"&&A.name==="geocent"){if(R==="x"||R==="y"||R==="z")return}else if(R==="x"||R==="y")return;p[R]=a[R]}),p)}function NA(s){return s instanceof Mr?s:s.oProj?s.oProj:Mr(s)}function md(s,A,a){s=NA(s);var v=!1,p;return typeof A>"u"?(A=s,s=WA,v=!0):(typeof A.x<"u"||Array.isArray(A))&&(a=A,A=s,s=WA,v=!0),A=NA(A),a?N2(s,A,a):(p={forward:function(g){return N2(s,A,g)},inverse:function(g){return N2(A,s,g)}},v&&(p.oProj=A),p)}var at=md;var XA=6,UA="AJSAJS",GA="AFAFAF",ce=65,et=73,xt=79,$e=86,Ke=90,zA={forward:T2,inverse:vd,toPoint:U2};function T2(s,A){return A=A||5,yd(pd({lat:s[1],lon:s[0]}),A)}function vd(s){var A=G2(BA(s.toUpperCase()));return A.lat&&A.lon?[A.lon,A.lat,A.lon,A.lat]:[A.left,A.bottom,A.right,A.top]}function U2(s){var A=G2(BA(s.toUpperCase()));return A.lat&&A.lon?[A.lon,A.lat]:[(A.left+A.right)/2,(A.top+A.bottom)/2]}function X2(s){return s*(Math.PI/180)}function TA(s){return 180*(s/Math.PI)}function pd(s){var A=s.lat,a=s.lon,v=6378137,p=.00669438,g=.9996,R,x,F,W,X,N,S,H=X2(A),j=X2(a),q,K;K=Math.floor((a+180)/6)+1,a===180&&(K=60),A>=56&&A<64&&a>=3&&a<12&&(K=32),A>=72&&A<84&&(a>=0&&a<9?K=31:a>=9&&a<21?K=33:a>=21&&a<33?K=35:a>=33&&a<42&&(K=37)),R=(K-1)*6-180+3,q=X2(R),x=p/(1-p),F=v/Math.sqrt(1-p*Math.sin(H)*Math.sin(H)),W=Math.tan(H)*Math.tan(H),X=x*Math.cos(H)*Math.cos(H),N=Math.cos(H)*(j-q),S=v*((1-p/4-3*p*p/64-5*p*p*p/256)*H-(3*p/8+3*p*p/32+45*p*p*p/1024)*Math.sin(2*H)+(15*p*p/256+45*p*p*p/1024)*Math.sin(4*H)-35*p*p*p/3072*Math.sin(6*H));var r0=g*F*(N+(1-W+X)*N*N*N/6+(5-18*W+W*W+72*X-58*x)*N*N*N*N*N/120)+5e5,o0=g*(S+F*Math.tan(H)*(N*N/2+(5-W+9*X+4*X*X)*N*N*N*N/24+(61-58*W+W*W+600*X-330*x)*N*N*N*N*N*N/720));return A<0&&(o0+=1e7),{northing:Math.round(o0),easting:Math.round(r0),zoneNumber:K,zoneLetter:Md(A)}}function G2(s){var A=s.northing,a=s.easting,v=s.zoneLetter,p=s.zoneNumber;if(p<0||p>60)return null;var g=.9996,R=6378137,x=.00669438,F,W=(1-Math.sqrt(1-x))/(1+Math.sqrt(1-x)),X,N,S,H,j,q,K,r0,o0,u0=a-5e5,p0=A;v<"N"&&(p0-=1e7),K=(p-1)*6-180+3,F=x/(1-x),q=p0/g,r0=q/(R*(1-x/4-3*x*x/64-5*x*x*x/256)),o0=r0+(3*W/2-27*W*W*W/32)*Math.sin(2*r0)+(21*W*W/16-55*W*W*W*W/32)*Math.sin(4*r0)+151*W*W*W/96*Math.sin(6*r0),X=R/Math.sqrt(1-x*Math.sin(o0)*Math.sin(o0)),N=Math.tan(o0)*Math.tan(o0),S=F*Math.cos(o0)*Math.cos(o0),H=R*(1-x)/Math.pow(1-x*Math.sin(o0)*Math.sin(o0),1.5),j=u0/(X*g);var l0=o0-X*Math.tan(o0)/H*(j*j/2-(5+3*N+10*S-4*S*S-9*F)*j*j*j*j/24+(61+90*N+298*S+45*N*N-252*F-3*S*S)*j*j*j*j*j*j/720);l0=TA(l0);var A0=(j-(1+2*N+S)*j*j*j/6+(5-2*S+28*N-3*S*S+8*F+24*N*N)*j*j*j*j*j/120)/Math.cos(o0);A0=K+TA(A0);var U0;if(s.accuracy){var W0=G2({northing:s.northing+s.accuracy,easting:s.easting+s.accuracy,zoneLetter:s.zoneLetter,zoneNumber:s.zoneNumber});U0={top:W0.lat,right:W0.lon,bottom:l0,left:A0}}else U0={lat:l0,lon:A0};return U0}function Md(s){var A="Z";return 84>=s&&s>=72?A="X":72>s&&s>=64?A="W":64>s&&s>=56?A="V":56>s&&s>=48?A="U":48>s&&s>=40?A="T":40>s&&s>=32?A="S":32>s&&s>=24?A="R":24>s&&s>=16?A="Q":16>s&&s>=8?A="P":8>s&&s>=0?A="N":0>s&&s>=-8?A="M":-8>s&&s>=-16?A="L":-16>s&&s>=-24?A="K":-24>s&&s>=-32?A="J":-32>s&&s>=-40?A="H":-40>s&&s>=-48?A="G":-48>s&&s>=-56?A="F":-56>s&&s>=-64?A="E":-64>s&&s>=-72?A="D":-72>s&&s>=-80&&(A="C"),A}function yd(s,A){var a="00000"+s.easting,v="00000"+s.northing;return s.zoneNumber+s.zoneLetter+dd(s.easting,s.northing,s.zoneNumber)+a.substr(a.length-5,A)+v.substr(v.length-5,A)}function dd(s,A,a){var v=EA(a),p=Math.floor(s/1e5),g=Math.floor(A/1e5)%20;return gd(p,g,v)}function EA(s){var A=s%XA;return A===0&&(A=XA),A}function gd(s,A,a){var v=a-1,p=UA.charCodeAt(v),g=GA.charCodeAt(v),R=p+s-1,x=g+A,F=!1;R>Ke&&(R=R-Ke+ce-1,F=!0),(R===et||p<et&&R>et||(R>et||p<et)&&F)&&R++,(R===xt||p<xt&&R>xt||(R>xt||p<xt)&&F)&&(R++,R===et&&R++),R>Ke&&(R=R-Ke+ce-1),x>$e?(x=x-$e+ce-1,F=!0):F=!1,(x===et||g<et&&x>et||(x>et||g<et)&&F)&&x++,(x===xt||g<xt&&x>xt||(x>xt||g<xt)&&F)&&(x++,x===et&&x++),x>$e&&(x=x-$e+ce-1);var W=String.fromCharCode(R)+String.fromCharCode(x);return W}function BA(s){if(s&&s.length===0)throw"MGRSPoint coverting from nothing";for(var A=s.length,a=null,v="",p,g=0;!/[A-Z]/.test(p=s.charAt(g));){if(g>=2)throw"MGRSPoint bad conversion from: "+s;v+=p,g++}var R=parseInt(v,10);if(g===0||g+3>A)throw"MGRSPoint bad conversion from: "+s;var x=s.charAt(g++);if(x<="A"||x==="B"||x==="Y"||x>="Z"||x==="I"||x==="O")throw"MGRSPoint zone letter "+x+" not handled: "+s;a=s.substring(g,g+=2);for(var F=EA(R),W=Rd(a.charAt(0),F),X=xd(a.charAt(1),F);X<wd(x);)X+=2e6;var N=A-g;if(N%2!==0)throw`MGRSPoint has to have an even number
27
+ `,X0.push(x0);var _r=Hl(Function,X0).apply(null,D0);return _r}function Ql(y,d,k,u,E,r,Z,C){var D=As(k,u);d=ct(d),r=Kr(E,r),de([],[y],function(Y){Y=Y[0];var z=Y.name+"."+d;C&&Y.registeredClass.pureVirtualFunctions.push(d);function v0(){Rn("Cannot call "+z+" due to unbound types",D)}var x0=Y.registeredClass.instancePrototype,m0=x0[d];return m0===void 0||m0.overloadTable===void 0&&m0.className!==Y.name&&m0.argCount===k-2?(v0.argCount=k-2,v0.className=Y.name,x0[d]=v0):(ss(x0,d,z),x0[d].overloadTable[k-2]=v0),de([],D,function(X0){var D0=Dl(z,X0,Y,r,Z);return x0[d].overloadTable===void 0?(D0.argCount=k-2,x0[d]=D0):x0[d].overloadTable[k-2]=D0,[]}),[]})}var xn=[],Ut=[{},{value:void 0},{value:null},{value:!0},{value:!1}];function ls(y){y>4&&--Ut[y].refcount===0&&(Ut[y]=void 0,xn.push(y))}function Ll(){for(var y=0,d=5;d<Ut.length;++d)Ut[d]!==void 0&&++y;return y}function ql(){for(var y=5;y<Ut.length;++y)if(Ut[y]!==void 0)return Ut[y];return null}function $l(){s.count_emval_handles=Ll,s.get_first_emval=ql}function wn(y){switch(y){case void 0:return 1;case null:return 2;case!0:return 3;case!1:return 4;default:{var d=xn.length?xn.pop():Ut.length;return Ut[d]={refcount:1,value:y},d}}}function Kl(y,d){d=ct(d),Ht(y,{name:d,fromWireType:function(k){var u=Ut[k].value;return ls(k),u},toWireType:function(k,u){return wn(u)},argPackAdvance:8,readValueFromPointer:oi,destructorFunction:null})}function wr(y){if(y===null)return"null";var d=typeof y;return d==="object"||d==="array"||d==="function"?y.toString():""+y}function bl(y,d){switch(d){case 2:return function(k){return this.fromWireType(An[k>>2])};case 3:return function(k){return this.fromWireType(hn[k>>3])};default:throw new TypeError("Unknown float type: "+y)}}function t1(y,d,k){var u=cn(k);d=ct(d),Ht(y,{name:d,fromWireType:function(E){return E},toWireType:function(E,r){if(typeof r!="number"&&typeof r!="boolean")throw new TypeError('Cannot convert "'+wr(r)+'" to '+this.name);return r},argPackAdvance:8,readValueFromPointer:bl(d,u),destructorFunction:null})}function r1(y,d,k){switch(d){case 0:return k?function(E){return Ar[E]}:function(E){return $0[E]};case 1:return k?function(E){return gr[E>>1]}:function(E){return ei[E>>1]};case 2:return k?function(E){return nt[E>>2]}:function(E){return Yt[E>>2]};default:throw new TypeError("Unknown integer type: "+y)}}function e1(y,d,k,u,E){d=ct(d),E===-1&&(E=4294967295);var r=cn(k),Z=function(Y){return Y};if(u===0){var C=32-8*k;Z=function(Y){return Y<<C>>>C}}var D=d.indexOf("unsigned")!=-1;Ht(y,{name:d,fromWireType:Z,toWireType:function(Y,z){if(typeof z!="number"&&typeof z!="boolean")throw new TypeError('Cannot convert "'+wr(z)+'" to '+this.name);if(z<u||z>E)throw new TypeError('Passing a number "'+wr(z)+'" from JS side to C/C++ side to an argument of type "'+d+'", which is outside the valid range ['+u+", "+E+"]!");return D?z>>>0:z|0},argPackAdvance:8,readValueFromPointer:r1(d,r,u!==0),destructorFunction:null})}function i1(y,d,k){var u=[Int8Array,Uint8Array,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array],E=u[d];function r(Z){Z=Z>>2;var C=Yt,D=C[Z],Y=C[Z+1];return new E(dr,Y,D)}k=ct(k),Ht(y,{name:k,fromWireType:r,argPackAdvance:8,readValueFromPointer:r},{ignoreDuplicateRegistrations:!0})}function n1(y,d){d=ct(d);var k=d==="std::string";Ht(y,{name:d,fromWireType:function(u){var E=Yt[u>>2],r;if(k)for(var Z=u+4,C=0;C<=E;++C){var D=u+4+C;if($0[D]==0||C==E){var Y=D-Z,z=j2(Z,Y);r===void 0?r=z:(r+=String.fromCharCode(0),r+=z),Z=D+1}}else{for(var v0=new Array(E),C=0;C<E;++C)v0[C]=String.fromCharCode($0[u+4+C]);r=v0.join("")}return ur(u),r},toWireType:function(u,E){E instanceof ArrayBuffer&&(E=new Uint8Array(E));var r,Z=typeof E=="string";Z||E instanceof Uint8Array||E instanceof Uint8ClampedArray||E instanceof Int8Array||R0("Cannot pass non-string to std::string"),k&&Z?r=function(){return Gh(E)}:r=function(){return E.length};var C=r(),D=_n(4+C+1);if(Yt[D>>2]=C,k&&Z)P2(E,D+4,C+1);else if(Z)for(var Y=0;Y<C;++Y){var z=E.charCodeAt(Y);z>255&&(ur(D),R0("String has UTF-16 code units that do not fit in 8 bits")),$0[D+4+Y]=z}else for(var Y=0;Y<C;++Y)$0[D+4+Y]=E[Y];return u!==null&&u.push(ur,D),D},argPackAdvance:8,readValueFromPointer:oi,destructorFunction:function(u){ur(u)}})}function s1(y,d,k){k=ct(k);var u,E,r,Z,C;d===2?(u=zh,E=Eh,Z=Bh,r=function(){return ei},C=1):d===4&&(u=Sh,E=Ch,Z=Jh,r=function(){return Yt},C=2),Ht(y,{name:k,fromWireType:function(D){for(var Y=Yt[D>>2],z=r(),v0,x0=D+4,m0=0;m0<=Y;++m0){var X0=D+4+m0*d;if(z[X0>>C]==0||m0==Y){var D0=X0-x0,_t=u(x0,D0);v0===void 0?v0=_t:(v0+=String.fromCharCode(0),v0+=_t),x0=X0+d}}return ur(D),v0},toWireType:function(D,Y){typeof Y!="string"&&R0("Cannot pass non-string to C++ string type "+k);var z=Z(Y),v0=_n(4+z+d);return Yt[v0>>2]=z>>C,E(Y,v0+4,z+d),D!==null&&D.push(ur,v0),v0},argPackAdvance:8,readValueFromPointer:oi,destructorFunction:function(D){ur(D)}})}function o1(y,d){d=ct(d),Ht(y,{isVoid:!0,name:d,argPackAdvance:0,fromWireType:function(){},toWireType:function(k,u){}})}function f1(){xr()}function A1(){return $0.length}function h1(y){xr("OOM")}function l1(y){y=y>>>0,h1(y)}function u1(){xr("trap!")}function a1(y,d,k){$0.copyWithin(y,d,d+k)}ml(),$r=s.BindingError=pn(Error,"BindingError"),rs=s.InternalError=pn(Error,"InternalError"),Zl(),Il(),Bl(),fs=s.UnboundTypeError=pn(Error,"UnboundTypeError"),$l();var c1=!1;function us(y){for(var d=[],k=0;k<y.length;k++){var u=y[k];u>255&&(c1&&Hr(!1,"Character code "+u+" ("+String.fromCharCode(u)+") at offset "+k+" not in 0x00-0xFF."),u&=255),d.push(String.fromCharCode(u))}return d.join("")}var m1=typeof atob=="function"?atob:function(y){var d="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",k="",u,E,r,Z,C,D,Y,z=0;y=y.replace(/[^A-Za-z0-9\+\/\=]/g,"");do Z=d.indexOf(y.charAt(z++)),C=d.indexOf(y.charAt(z++)),D=d.indexOf(y.charAt(z++)),Y=d.indexOf(y.charAt(z++)),u=Z<<2|C>>4,E=(C&15)<<4|D>>2,r=(D&3)<<6|Y,k=k+String.fromCharCode(u),D!==64&&(k=k+String.fromCharCode(E)),Y!==64&&(k=k+String.fromCharCode(r));while(z<y.length);return k};function v1(y){if(typeof F=="boolean"&&F){var d;try{d=Buffer.from(y,"base64")}catch{d=new Buffer(y,"base64")}return new Uint8Array(d.buffer,d.byteOffset,d.byteLength)}try{for(var k=m1(y),u=new Uint8Array(k.length),E=0;E<k.length;++E)u[E]=k.charCodeAt(E);return u}catch{throw new Error("Converting base64 string to bytes failed.")}}function lr(y){if($2(y))return v1(y.slice(q2.length))}var p1={Math,Int8Array,Int16Array,Int32Array,Uint8Array,Uint16Array,Float32Array,Float64Array},M1={A:a1,B:l1,C:u1,D:ol,a:xr,b:fn,c:Vh,d:fl,e:hl,f:ul,g:al,h:K2,i:b2,j:cl,k:Ml,l:Pl,m:Yl,n:Ql,o:Kl,p:t1,q:e1,r:i1,s:n1,t:s1,u:o1,v:ls,w:wn,x:f1,y:wr,z:A1},c0=function(y,d,k){var u=new y.Int8Array(k),E=new y.Int16Array(k),r=new y.Int32Array(k),Z=new y.Uint8Array(k),C=new y.Uint16Array(k),D=new y.Float32Array(k),Y=new y.Float64Array(k),z=d.D|0,v0=0,x0=0,m0=0,X0=0,D0=0,_t=0,_r=0,hi=0,a0=y.Math.imul,Qt=y.Math.clz32,K0=d.a,Z0=d.b,y0=d.c,F0=d.d,_1=d.e,k0=d.f,Z1=d.g,JR=d.h,IR=d.i,OR=d.j,F1=d.k,ps=d.l,Ms=d.m,br=d.n,k1=d.o,ys=d.p,Lt=d.q,mt=d.r,ds=d.s,kn=d.t,V1=d.u,jR=d.v,PR=d.w,W1=d.x,YR=d.y,N1=d.z,X1=d.A,T1=d.B,gs=d.C,m=22384,HR=5265264,DR=0;function U1(){vv(),pv()}function G1(){z1(0)}function z1(t){t=t|0;var e=0,i=0,n=0,o=0,f=0,h=0,l=0,c=0,M=0,w=0,_=0;t=m,m=m+16|0,e=t+8|0,i=t,_=L8()|0,f=q8()|0,o=Ee()|0,h=K8()|0,l=b8()|0,c=jo()|0,M=Fi()|0,w=ki()|0,n=ki()|0,ps(o|0,h|0,l|0,c|0,M|0,9,w|0,_|0,n|0,f|0,6204,Po()|0,138),o5(1),r[i>>2]=5,r[i+4>>2]=0,r[e>>2]=r[i>>2],r[e+4>>2]=r[i+4>>2],c5(6211,e),r[i>>2]=3,r[i+4>>2]=0,r[e>>2]=r[i>>2],r[e+4>>2]=r[i+4>>2],d5(6216,e),r[i>>2]=10,r[i+4>>2]=0,r[e>>2]=r[i>>2],r[e+4>>2]=r[i+4>>2],Z5(6225,e),f=G5()|0,n=z5()|0,_=Be()|0,w=B5()|0,M=S5()|0,c=jo()|0,l=Fi()|0,h=ki()|0,o=ki()|0,ps(_|0,w|0,M|0,c|0,l|0,11,h|0,f|0,o|0,n|0,6234,Po()|0,139),Y5(2),r[i>>2]=6,r[i+4>>2]=0,r[e>>2]=r[i>>2],r[e+4>>2]=r[i+4>>2],K5(6211,e),r[i>>2]=4,r[i+4>>2]=0,r[e>>2]=r[i>>2],r[e+4>>2]=r[i+4>>2],bn(6248,e),r[i>>2]=5,r[i+4>>2]=0,r[e>>2]=r[i>>2],r[e+4>>2]=r[i+4>>2],bn(6265,e),r[i>>2]=6,r[i+4>>2]=0,r[e>>2]=r[i>>2],r[e+4>>2]=r[i+4>>2],bn(6280,e),r[i>>2]=7,r[i+4>>2]=0,r[e>>2]=r[i>>2],r[e+4>>2]=r[i+4>>2],hv(6216,e),m=t}function E1(t,e,i){t=t|0,e=e|0,i=i|0;var n=0,o=0,f=0,h=0,l=0;n=m,m=m+32|0,h=n+16|0,o=n+8|0,l=n,f=b(20)|0,P1(f,e,i),r[l>>2]=0,r[h>>2]=r[l>>2],H1(o,f,h),e=r[o>>2]|0,r[o>>2]=r[t>>2],r[t>>2]=e,e=o+4|0,i=t+4|0,f=r[e>>2]|0,r[e>>2]=r[i>>2],r[i>>2]=f,Vn(o),i=b(352)|0,Y1(i,r[t>>2]|0),f=t+8|0,r[l>>2]=0,r[h>>2]=r[l>>2],b1(o,i,h),i=r[o>>2]|0,r[o>>2]=r[f>>2],r[f>>2]=i,f=o+4|0,i=t+12|0,e=r[f>>2]|0,r[f>>2]=r[i>>2],r[i>>2]=e,Wn(o),m=n}function B1(t,e){t=t|0,e=e|0,Na(r[t+8>>2]|0,e)}function S1(t){return t=t|0,t=(Gm(r[t+8>>2]|0)|0)+107|0,Z[t>>0]|Z[t+1>>0]<<8|Z[t+2>>0]<<16|Z[t+3>>0]<<24|0}function C1(t,e,i){t=t|0,e=e|0,i=i|0;var n=0,o=0,f=0,h=0,l=0;n=m,m=m+32|0,f=n+16|0,o=n+8|0,h=n,l=b(12)|0,zm(l,e,i),r[h>>2]=0,r[f>>2]=r[h>>2],Sm(o,l,f),l=r[o>>2]|0,r[o>>2]=r[t>>2],r[t>>2]=l,l=o+4|0,i=t+4|0,e=r[l>>2]|0,r[l>>2]=r[i>>2],r[i>>2]=e,Hn(o),i=t+8|0,e=b(12)|0,Em(e,r[t>>2]|0),r[h>>2]=0,r[f>>2]=r[h>>2],Pm(o,e,f),e=r[o>>2]|0,r[o>>2]=r[i>>2],r[i>>2]=e,e=o+4|0,h=t+12|0,l=r[e>>2]|0,r[e>>2]=r[h>>2],r[h>>2]=l,Go(o),Bm(o,r[i>>2]|0),i=t+16|0,h=r[o>>2]|0,l=o+4|0,e=r[l>>2]|0,r[o>>2]=0,r[l>>2]=0,r[f>>2]=r[i>>2],r[i>>2]=h,i=t+20|0,r[f+4>>2]=r[i>>2],r[i>>2]=e,ze(f),ze(o),m=n}function J1(t,e){t=t|0,e=e|0;var i=0;t=t+16|0,i=r[t>>2]|0;t:do if(i|0)switch(e|0){case 4:{Dn(i);break t}case 8:{_i(i),_i(r[t>>2]|0);break t}default:break t}while(0)}function I1(t,e){t=t|0,e=e|0;var i=0;i=t+16|0,t=r[i>>2]|0;t:do if(t|0){switch(e|0){case 1:{S3(t);break t}case 2:{C3(t);break t}case 8:{Dn(t),t=r[i>>2]|0;break}case 4:break;default:break t}Dn(t)}while(0)}function O1(t,e){t=t|0,e=e|0;var i=0;i=t+16|0,t=r[i>>2]|0;t:do if(t|0){switch(e|0){case 1:{y8(t);break t}case 2:{d8(t);break t}case 8:{_i(t),t=r[i>>2]|0;break}case 4:break;default:break t}_i(t)}while(0)}function j1(t,e){t=t|0,e=e|0,t=r[t+16>>2]|0,t|0&&Ie[r[r[t>>2]>>2]&63](t,e)|0}function P1(t,e,i){t=t|0,e=e|0,i=i|0,r[t>>2]=e,r[t+4>>2]=i,r[t+8>>2]=0,u[t+12>>0]=0,u[t+13>>0]=0,r[t+16>>2]=0}function Y1(t,e){t=t|0,e=e|0,r[t>>2]=e,ws(t+4|0,e),hu(t+247|0),r[t+288>>2]=0,r[t+292>>2]=0,r[t+296>>2]=0,_s(t+300|0),e=t+312|0,r[e>>2]=0,r[e+4>>2]=0,r[e+8>>2]=0,r[e+12>>2]=0,lu(t+328|0),uu(t)}function H1(t,e,i){t=t|0,e=e|0,i=i|0;var n=0,o=0;i=m,m=m+16|0,n=i,r[t>>2]=e,o=b(16)|0,r[o+4>>2]=0,r[o+8>>2]=0,r[o>>2]=4296,r[o+12>>2]=e,r[t+4>>2]=o,r[n>>2]=e,r[n+4>>2]=e,D1(t,n),m=i}function Vn(t){t=t|0;var e=0,i=0;t=r[t+4>>2]|0,t|0&&(i=t+4|0,e=r[i>>2]|0,r[i>>2]=e+-1,(e|0)==0)&&(_0[r[(r[t>>2]|0)+8>>2]&255](t),qt(t))}function D1(t,e){t=t|0,e=e|0}function QR(t){t=t|0,_1(t|0)|0,Jp()}function Q1(t){t=t|0,C0(t),$(t)}function L1(t){t=t|0,t=r[t+12>>2]|0,t|0&&$(t)}function q1(t,e){return t=t|0,e=e|0,((r[e+4>>2]|0)==6407?t+12|0:0)|0}function $1(t){t=t|0,h0(t,16)}function h0(t,e){t=t|0,e=e|0,K1(t)}function K1(t){t=t|0,$(t)}function b1(t,e,i){t=t|0,e=e|0,i=i|0;var n=0,o=0;i=m,m=m+16|0,n=i,r[t>>2]=e,o=b(16)|0,r[o+4>>2]=0,r[o+8>>2]=0,r[o>>2]=4324,r[o+12>>2]=e,r[t+4>>2]=o,r[n>>2]=e,r[n+4>>2]=e,tu(t,n),m=i}function Wn(t){t=t|0;var e=0,i=0;t=r[t+4>>2]|0,t|0&&(i=t+4|0,e=r[i>>2]|0,r[i>>2]=e+-1,(e|0)==0)&&(_0[r[(r[t>>2]|0)+8>>2]&255](t),qt(t))}function tu(t,e){t=t|0,e=e|0}function ru(t){t=t|0,C0(t),$(t)}function eu(t){t=t|0,t=r[t+12>>2]|0,t|0&&(su(t),$(t))}function iu(t,e){return t=t|0,e=e|0,((r[e+4>>2]|0)==6605?t+12|0:0)|0}function nu(t){t=t|0,h0(t,16)}function su(t){t=t|0,li(t+320|0),Nn(t+312|0),Rs(t+300|0),Au(t+288|0),ou(t+247|0),xs(t+4|0)}function li(t){t=t|0;var e=0,i=0;t=r[t+4>>2]|0,t|0&&(i=t+4|0,e=r[i>>2]|0,r[i>>2]=e+-1,(e|0)==0)&&(_0[r[(r[t>>2]|0)+8>>2]&255](t),qt(t))}function Nn(t){t=t|0;var e=0,i=0;t=r[t+4>>2]|0,t|0&&(i=t+4|0,e=r[i>>2]|0,r[i>>2]=e+-1,(e|0)==0)&&(_0[r[(r[t>>2]|0)+8>>2]&255](t),qt(t))}function Rs(t){t=t|0,fu(t)}function ou(t){t=t|0,t=t+34|0,t=Z[t>>0]|Z[t+1>>0]<<8|Z[t+2>>0]<<16|Z[t+3>>0]<<24,t|0&&Rf(t)}function xs(t){t=t|0,ui(r[t+12>>2]|0)}function fu(t){t=t|0;var e=0,i=0;e=r[t>>2]|0,i=e,e|0&&(r[t+4>>2]=i,h0(e,(r[t+8>>2]|0)-i|0))}function Au(t){t=t|0;var e=0,i=0;e=r[t>>2]|0,i=e,e|0&&(r[t+4>>2]=i,h0(e,(r[t+8>>2]|0)-i|0))}function ui(t){t=t|0,f2(r[t+-4>>2]|0)}function ws(t,e){t=t|0,e=e|0,r[t>>2]=e,r[t+4>>2]=0,r[t+8>>2]=0,r[t+12>>2]=Zr(1048576)|0}function hu(t){t=t|0;var e=0;e=t+32|0,u[e>>0]=0,u[e+1>>0]=0,t=t+34|0,u[t>>0]=0,u[t+1>>0]=0,u[t+2>>0]=0,u[t+3>>0]=0}function _s(t){t=t|0,r[t>>2]=0,r[t+4>>2]=0,r[t+8>>2]=0}function lu(t){t=t|0,r[t>>2]=0,r[t+4>>2]=0,r[t+8>>2]=0,r[t+12>>2]=0,t=t+16|0,r[t>>2]=-1,r[t+4>>2]=-1}function uu(t){t=t|0;var e=0,i=0,n=0,o=0,f=0,h=0;if(h=m,m=m+64|0,o=h+32|0,i=h+56|0,e=h+16|0,f=h,Fr(r[t>>2]|0,i,4),Ru(o,i,i+4|0),i=te(6693)|0,n=u[o+11>>0]|0,(i|0)==((n<<24>>24<0?r[o+4>>2]|0:n&255)|0)){if(n=(GM(o,0,-1,6693,i)|0)==0,Je(o),n){if(i=r[t>>2]|0,r[e>>2]=0,r[e+4>>2]=0,r[e+8>>2]=0,r[e+12>>2]=0,r[o>>2]=r[e>>2],r[o+4>>2]=r[e+4>>2],r[o+8>>2]=r[e+8>>2],r[o+12>>2]=r[e+12>>2],Ze(i,o),i=t+20|0,Fr(r[t>>2]|0,i,227),cu(t,i),n=mu()|0,e=r[n>>2]|0,n=r[n+4>>2]|0,(e|0)!=(n|0))do vu(o,e),pu(o,i),Xn(o),e=e+24|0;while((e|0)!=(n|0));Mu(t),yu(t),du(r[t>>2]|0),n=r[t>>2]|0,e=(r[t+116>>2]|0)+8|0,i=f,r[i>>2]=0,r[i+4>>2]=0,i=f+8|0,r[i>>2]=e,r[i+4>>2]=0,r[o>>2]=r[f>>2],r[o+4>>2]=r[f+4>>2],r[o+8>>2]=r[f+8>>2],r[o+12>>2]=r[f+12>>2],Ze(n,o),gu(t+4|0),m=h;return}}else Je(o);h=F0(8)|0,au(h),k0(h|0,2592,8)}function Zr(t){t=t|0;var e=0;return e=Ti(t+68|0)|0,t=e+68&-64,r[t+-4>>2]=e,t|0}function Fr(t,e,i){t=t|0,e=e|0,i=i|0;var n=0,o=0,f=0,h=0,l=0,c=0;h=t+13|0,u[h>>0]|0?u[t+12>>0]=1:(f=t+4|0,n=r[f>>2]|0,l=t+8|0,o=r[l>>2]|0,c=n-o|0,i=(c|0)<(i|0)?c:i,i&&(dt(e|0,(r[t>>2]|0)+o|0,i|0)|0,o=r[l>>2]|0,n=r[f>>2]|0),c=o+i|0,r[l>>2]=c,r[t+16>>2]=i,(c|0)>=(n|0)&&(u[h>>0]=1))}function au(t){t=t|0,Zt(t,6791),r[t>>2]=4352}function Ze(t,e){t=t|0,e=e|0;var i=0,n=0,o=0;o=e+8|0,e=r[o>>2]|0,o=r[o+4>>2]|0,i=r[t+4>>2]|0,n=((i|0)<0)<<31>>31,(o|0)<(n|0)|(o|0)==(n|0)&e>>>0<i>>>0?r[t+8>>2]=e:u[t+12>>0]=1}function cu(t,e){t=t|0,e=e|0;var i=0,n=0,o=0,f=0,h=0,l=0,c=0,M=0,w=0,_=0;w=e+179|0,u[z>>0]=u[w>>0],u[z+1>>0]=u[w+1>>0],u[z+2>>0]=u[w+2>>0],u[z+3>>0]=u[w+3>>0],u[z+4>>0]=u[w+4>>0],u[z+5>>0]=u[w+5>>0],u[z+6>>0]=u[w+6>>0],u[z+7>>0]=u[w+7>>0],M=+Y[z>>3],h=e+187|0,u[z>>0]=u[h>>0],u[z+1>>0]=u[h+1>>0],u[z+2>>0]=u[h+2>>0],u[z+3>>0]=u[h+3>>0],u[z+4>>0]=u[h+4>>0],u[z+5>>0]=u[h+5>>0],u[z+6>>0]=u[h+6>>0],u[z+7>>0]=u[h+7>>0],_=+Y[z>>3],t=e+195|0,u[z>>0]=u[t>>0],u[z+1>>0]=u[t+1>>0],u[z+2>>0]=u[t+2>>0],u[z+3>>0]=u[t+3>>0],u[z+4>>0]=u[t+4>>0],u[z+5>>0]=u[t+5>>0],u[z+6>>0]=u[t+6>>0],u[z+7>>0]=u[t+7>>0],f=+Y[z>>3],c=e+203|0,u[z>>0]=u[c>>0],u[z+1>>0]=u[c+1>>0],u[z+2>>0]=u[c+2>>0],u[z+3>>0]=u[c+3>>0],u[z+4>>0]=u[c+4>>0],u[z+5>>0]=u[c+5>>0],u[z+6>>0]=u[c+6>>0],u[z+7>>0]=u[c+7>>0],l=+Y[z>>3],o=e+211|0,u[z>>0]=u[o>>0],u[z+1>>0]=u[o+1>>0],u[z+2>>0]=u[o+2>>0],u[z+3>>0]=u[o+3>>0],u[z+4>>0]=u[o+4>>0],u[z+5>>0]=u[o+5>>0],u[z+6>>0]=u[o+6>>0],u[z+7>>0]=u[o+7>>0],i=+Y[z>>3],e=e+219|0,u[z>>0]=u[e>>0],u[z+1>>0]=u[e+1>>0],u[z+2>>0]=u[e+2>>0],u[z+3>>0]=u[e+3>>0],u[z+4>>0]=u[e+4>>0],u[z+5>>0]=u[e+5>>0],u[z+6>>0]=u[e+6>>0],u[z+7>>0]=u[e+7>>0],n=+Y[z>>3],Y[z>>3]=_,u[w>>0]=u[z>>0],u[w+1>>0]=u[z+1>>0],u[w+2>>0]=u[z+2>>0],u[w+3>>0]=u[z+3>>0],u[w+4>>0]=u[z+4>>0],u[w+5>>0]=u[z+5>>0],u[w+6>>0]=u[z+6>>0],u[w+7>>0]=u[z+7>>0],Y[z>>3]=M,u[c>>0]=u[z>>0],u[c+1>>0]=u[z+1>>0],u[c+2>>0]=u[z+2>>0],u[c+3>>0]=u[z+3>>0],u[c+4>>0]=u[z+4>>0],u[c+5>>0]=u[z+5>>0],u[c+6>>0]=u[z+6>>0],u[c+7>>0]=u[z+7>>0],Y[z>>3]=l,u[h>>0]=u[z>>0],u[h+1>>0]=u[z+1>>0],u[h+2>>0]=u[z+2>>0],u[h+3>>0]=u[z+3>>0],u[h+4>>0]=u[z+4>>0],u[h+5>>0]=u[z+5>>0],u[h+6>>0]=u[z+6>>0],u[h+7>>0]=u[z+7>>0],Y[z>>3]=f,u[o>>0]=u[z>>0],u[o+1>>0]=u[z+1>>0],u[o+2>>0]=u[z+2>>0],u[o+3>>0]=u[z+3>>0],u[o+4>>0]=u[z+4>>0],u[o+5>>0]=u[z+5>>0],u[o+6>>0]=u[z+6>>0],u[o+7>>0]=u[z+7>>0],Y[z>>3]=n,u[t>>0]=u[z>>0],u[t+1>>0]=u[z+1>>0],u[t+2>>0]=u[z+2>>0],u[t+3>>0]=u[z+3>>0],u[t+4>>0]=u[z+4>>0],u[t+5>>0]=u[z+5>>0],u[t+6>>0]=u[z+6>>0],u[t+7>>0]=u[z+7>>0],Y[z>>3]=i,u[e>>0]=u[z>>0],u[e+1>>0]=u[z+1>>0],u[e+2>>0]=u[z+2>>0],u[e+3>>0]=u[z+3>>0],u[e+4>>0]=u[z+4>>0],u[e+5>>0]=u[z+5>>0],u[e+6>>0]=u[z+6>>0],u[e+7>>0]=u[z+7>>0]}function mu(){var t=0,e=0,i=0,n=0,o=0,f=0,h=0,l=0;if(o=m,m=m+48|0,i=o+24|0,n=o,t=o+44|0,!(u[21440]|0)&&Gr(21440)|0&&(r[5374]=0,r[5375]=0,r[5376]=0,zr(21440)),!(u[21448]|0)&&Gr(21448)|0&&zr(21448),(r[5374]|0)==(r[5375]|0)){if(FM(21508),(r[5374]|0)==(r[5375]|0)){u[i>>0]=u[t>>0]|0,wu(n,i),t=r[5375]|0;do if(t>>>0>=(r[5376]|0)>>>0)if(t=((t-(r[5374]|0)|0)/24|0)+1|0,e=Wu(21496)|0,e>>>0<t>>>0)L0(21496);else{f=r[5374]|0,l=((r[5376]|0)-f|0)/24|0,h=l<<1,Fu(i,l>>>0<e>>>1>>>0?h>>>0<t>>>0?t:h:e,((r[5375]|0)-f|0)/24|0,21504),e=i+8|0,Tn(r[e>>2]|0,n),r[e>>2]=(r[e>>2]|0)+24,ku(21496,i),Vu(i);break}else _u(i,21496,1),l=i+4|0,Tn(r[l>>2]|0,n),r[l>>2]=(r[l>>2]|0)+24,Zu(i);while(0);Xn(n)}kM(21508)}return m=o,21496}function vu(t,e){t=t|0,e=e|0;var i=0,n=0;i=e+16|0,n=r[i>>2]|0;do if(n)if((e|0)==(n|0)){n=Zs(t)|0,r[t+16>>2]=n,i=r[i>>2]|0,vr[r[(r[i>>2]|0)+12>>2]&15](i,n);break}else{r[t+16>>2]=Gi[r[(r[n>>2]|0)+8>>2]&15](n)|0;break}else r[t+16>>2]=0;while(0)}function pu(t,e){if(t=t|0,e=e|0,t=r[t+16>>2]|0,!t)e=F0(4)|0,r[e>>2]=0,Yu(e),k0(e|0,4168,131);else{vr[r[(r[t>>2]|0)+24>>2]&15](t,e);return}}function Xn(t){t=t|0;var e=0;e=r[t+16>>2]|0,(t|0)!=(e|0)?e|0&&_0[r[(r[e>>2]|0)+20>>2]&255](e):_0[r[(r[e>>2]|0)+16>>2]&255](e)}function Mu(t){t=t|0;var e=0,i=0,n=0,o=0,f=0,h=0,l=0,c=0,M=0,w=0,_=0,V=0;V=m,m=m+96|0,o=V+16|0,w=V,l=V+72|0,f=r[t>>2]|0,c=C[t+114>>1]|0,M=w,r[M>>2]=0,r[M+4>>2]=0,M=w+8|0,r[M>>2]=c,r[M+4>>2]=0,r[o>>2]=r[w>>2],r[o+4>>2]=r[w+4>>2],r[o+8>>2]=r[w+8>>2],r[o+12>>2]=r[w+12>>2],Ze(f,o),f=t+120|0;t:do if(r[f>>2]|0){for(h=o+2|0,c=o+16|0,M=o+20|0,w=o+18|0,i=0;;){if(!(ai(r[t>>2]|0)|0)||Hu(r[t>>2]|0)|0)break t;for(Fr(r[t>>2]|0,o,54),e=7277,n=h;(u[n>>0]|0)==(u[e>>0]|0);)if(n=n+1|0,(n|0)==(c|0)){_=8;break}else e=e+1|0;if((_|0)==8&&(_=0,(Z[w>>0]|Z[w+1>>0]<<8)<<16>>16==22204))break;if(Qu(r[t>>2]|0,(Z[M>>0]|Z[M+1>>0]<<8)&65535,0,1),i=i+1|0,i>>>0>=(r[f>>2]|0)>>>0)break t}w=(Z[M>>0]|Z[M+1>>0]<<8)&65535,_=gf(w)|0,Fr(r[t>>2]|0,_,w),Du(t,_),$(_),_=t+125|0,qu(l,t+247|0,(Z[_>>0]|Z[_+1>>0]<<8)&65535),$u(t+300|0,l)|0,Rs(l),m=V;return}while(0);V=F0(8)|0,Lu(V),k0(V|0,2672,8)}function yu(t){t=t|0;var e=0,i=0,n=0,o=0,f=0,h=0,l=0,c=0,M=0,w=0,_=0,V=0;if(_=m,m=m+176|0,o=_+40|0,f=_+24|0,e=_+16|0,n=_,c=_+152|0,M=_+136|0,w=_+56|0,l=r[t>>2]|0,h=t+116|0,V=r[h>>2]|0,i=f,r[i>>2]=0,r[i+4>>2]=0,i=f+8|0,r[i>>2]=V,r[i+4>>2]=0,r[o>>2]=r[f>>2],r[o+4>>2]=r[f+4>>2],r[o+8>>2]=r[f+8>>2],r[o+12>>2]=r[f+12>>2],Ze(l,o),l=e,r[l>>2]=0,r[l+4>>2]=0,Fr(r[t>>2]|0,e,8),ai(r[t>>2]|0)|0||(V=F0(8)|0,Un(V),k0(V|0,2704,8)),i=e,e=r[i>>2]|0,i=r[i+4>>2]|0,(e|0)==-1&(i|0)==-1&&(V=F0(8)|0,Vs(V,7488),k0(V|0,2720,8)),V=r[t>>2]|0,l=n,r[l>>2]=0,r[l+4>>2]=0,l=n+8|0,r[l>>2]=e,r[l+4>>2]=i,r[o>>2]=r[n>>2],r[o+4>>2]=r[n+4>>2],r[o+8>>2]=r[n+8>>2],r[o+12>>2]=r[n+12>>2],Ze(V,o),ai(r[t>>2]|0)|0||(V=F0(8)|0,Un(V),k0(V|0,2704,8)),Fr(r[t>>2]|0,o,8),ai(r[t>>2]|0)|0||(V=F0(8)|0,Un(V),k0(V|0,2704,8)),r[o>>2]|0&&(V=F0(8)|0,ha(V),k0(V|0,2736,8)),f=t+288|0,l=t+292|0,r[l>>2]=r[f>>2],V=t+259|0,(Z[V>>0]|Z[V+1>>0]<<8|Z[V+2>>0]<<16|Z[V+3>>0]<<24|0)==-1&&(V=F0(8)|0,Vs(V,7606),k0(V|0,2720,8)),n=o+4|0,la(f,(r[n>>2]|0)+1|0),V=r[f>>2]|0,r[V>>2]=(r[h>>2]|0)+8,r[V+4>>2]=0,(r[n>>2]|0)>>>0>1){if(ws(c,r[t>>2]|0),Ws(M,c),st(w,32,2,8,0),Gn(M),ot(w),!(r[n>>2]|0))f=r[f>>2]|0,i=f;else{i=1;do i>>>0>1?e=r[(r[f>>2]|0)+(i+-1<<3)>>2]|0:e=0,h=Q0(w,M,e,1)|0,e=r[f>>2]|0,V=e+(i<<3)|0,r[V>>2]=h,r[V+4>>2]=((h|0)<0)<<31>>31,i=i+1|0;while(i>>>0<=(r[n>>2]|0)>>>0);i=e,f=e}if(e=r[l>>2]|0,e-i>>3>>>0>1){o=e-f>>3,n=f,e=1,i=r[n>>2]|0,n=r[n+4>>2]|0;do V=f+(e<<3)|0,l=V,i=yt(r[l>>2]|0,r[l+4>>2]|0,i|0,n|0)|0,n=y0()|0,r[V>>2]=i,r[V+4>>2]=n,e=e+1|0;while(e>>>0<o>>>0)}ft(w),Ns(M),xs(c)}m=_}function du(t){t=t|0,u[t+12>>0]=0,u[t+13>>0]=0}function gu(t){t=t|0,r[t+8>>2]=0,r[t+4>>2]=0}function te(t){return t=t|0,Vi(t)|0}function Ru(t,e,i){t=t|0,e=e|0,i=i|0;var n=0,o=0,f=0,h=0,l=0,c=0;if(h=m,m=m+16|0,o=e,f=h,n=i-o|0,n>>>0>4294967279&&o2(t),n>>>0<11?u[t+11>>0]=n:(c=n+16&-16,l=b(c)|0,r[t>>2]=l,r[t+8>>2]=c|-2147483648,r[t+4>>2]=n,t=l),(e|0)!=(i|0)){for(o=i-o|0,n=t;Fe(n,e),e=e+1|0,(e|0)!=(i|0);)n=n+1|0;t=t+o|0}u[f>>0]=0,Fe(t,f),m=h}function Fe(t,e){t=t|0,e=e|0,u[t>>0]=u[e>>0]|0}function xu(t){t=t|0,ht(t),$(t)}function wu(t,e){t=t|0,e=e|0,r[t>>2]=4372,r[t+16>>2]=t}function _u(t,e,i){t=t|0,e=e|0,i=i|0,r[t>>2]=e,e=r[e+4>>2]|0,r[t+4>>2]=e,r[t+8>>2]=e+(i*24|0)}function Zu(t){t=t|0,r[(r[t>>2]|0)+4>>2]=r[t+4>>2]}function Tn(t,e){t=t|0,e=e|0;var i=0,n=0;i=e+16|0,n=r[i>>2]|0;do if(n)if((e|0)==(n|0)){n=Zs(t)|0,r[t+16>>2]=n,i=r[i>>2]|0,vr[r[(r[i>>2]|0)+12>>2]&15](i,n);break}else{r[t+16>>2]=n,r[i>>2]=0;break}else r[t+16>>2]=0;while(0)}function Zs(t){return t=t|0,t|0}function Fu(t,e,i,n){t=t|0,e=e|0,i=i|0,n=n|0;var o=0;o=t+12|0,r[o>>2]=0,r[t+16>>2]=n;do if(e)if(e>>>0>178956970)o=F0(8)|0,$t(o,6723),r[o>>2]=5956,k0(o|0,3928,123);else{n=b(e*24|0)|0;break}else n=0;while(0);r[t>>2]=n,i=n+(i*24|0)|0,r[t+8>>2]=i,r[t+4>>2]=i,r[o>>2]=n+(e*24|0)}function ku(t,e){t=t|0,e=e|0;var i=0,n=0,o=0,f=0,h=0,l=0,c=0;if(l=r[t>>2]|0,c=t+4|0,i=r[c>>2]|0,h=e+4|0,(i|0)==(l|0))o=h,f=t,n=r[h>>2]|0,i=l;else{n=r[h>>2]|0;do i=i+-24|0,Tn(n+-24|0,i),n=(r[h>>2]|0)+-24|0,r[h>>2]=n;while((i|0)!=(l|0));o=h,f=t,i=r[t>>2]|0}r[f>>2]=n,r[o>>2]=i,l=e+8|0,h=r[c>>2]|0,r[c>>2]=r[l>>2],r[l>>2]=h,l=t+8|0,c=e+12|0,t=r[l>>2]|0,r[l>>2]=r[c>>2],r[c>>2]=t,r[e>>2]=r[o>>2]}function Vu(t){t=t|0;var e=0,i=0,n=0,o=0;if(i=r[t+4>>2]|0,n=t+8|0,e=r[n>>2]|0,(e|0)!=(i|0))do o=e+-24|0,r[n>>2]=o,Xn(o),e=r[n>>2]|0;while((e|0)!=(i|0));e=r[t>>2]|0,e|0&&h0(e,(r[t+12>>2]|0)-e|0)}function Wu(t){return t=t|0,178956970}function Nu(t){t=t|0,$(t)}function Xu(t){return t=t|0,t=b(8)|0,r[t>>2]=4372,t|0}function Tu(t,e){t=t|0,e=e|0,r[e>>2]=4372}function Uu(t){t=t|0}function Gu(t){t=t|0,h0(t,8)}function zu(t,e){t=t|0,e=e|0,Cu(t+4|0,e)}function Eu(t,e){return t=t|0,e=e|0,((r[e+4>>2]|0)==7183?t+4|0:0)|0}function Bu(t){return t=t|0,2664}function Su(t){t=t|0}function Cu(t,e){t=t|0,e=e|0,Ju(t,e)}function Ju(t,e){t=t|0,e=e|0;var i=0,n=0;if(t=e+104|0,e=Z[t>>0]|0,i=e>>>7,n=e>>>6&1,(i|0)==1&(n|0)!=0&&(n=F0(8)|0,Iu(n),k0(n|0,2632,8)),(i|0)==(n|0))n=F0(8)|0,Ou(n),k0(n|0,2648,8);else{u[t>>0]=e&63;return}}function Iu(t){t=t|0,Zt(t,7076),r[t>>2]=4416}function Ou(t){t=t|0,Zt(t,7144),r[t>>2]=4436}function ju(t){t=t|0,ht(t),$(t)}function Pu(t){t=t|0,ht(t),$(t)}function Yu(t){t=t|0,r[t>>2]=6092}function ai(t){t=t|0;var e=0;return e=t+12|0,t=(u[e>>0]|0)==0,u[e>>0]=0,t|0}function Hu(t){return t=t|0,(u[t+13>>0]|0)!=0|0}function Du(t,e){t=t|0,e=e|0,t=t+247|0,Ku(t,e),(Z[t>>0]|Z[t+1>>0]<<8)<<16>>16!=2&&(e=F0(8)|0,Fs(e),k0(e|0,2688,8))}function Qu(t,e,i,n){t=t|0,e=e|0,i=i|0,n=n|0;var o=0,f=0;switch(n|0){case 0:break;case 2:{n=r[t+4>>2]|0,e=yt(yt(e|0,i|0,-1,-1)|0,y0()|0,n|0,((n|0)<0)<<31>>31|0)|0,i=y0()|0;break}case 1:{n=r[t+8>>2]|0,e=yt(n|0,((n|0)<0)<<31>>31|0,e|0,i|0)|0,i=y0()|0;break}default:i=0,e=0}o=r[t+4>>2]|0,f=((o|0)<0)<<31>>31,n=t+12|0,(i|0)<0|((i|0)>(f|0)|(i|0)==(f|0)&e>>>0>=o>>>0)?u[n>>0]=1:(u[n>>0]=0,r[t+8>>2]=e)}function Lu(t){t=t|0,Zt(t,7410),r[t>>2]=4476}function qu(t,e,i){t=t|0,e=e|0,i=i|0;var n=0,o=0,f=0,h=0,l=0,c=0,M=0;if(h=m,m=m+16|0,f=h,_s(t),o=e+32|0,(Z[o>>0]|Z[o+1>>0]<<8)<<16>>16){n=e+34|0,e=0;do c=Z[n>>0]|Z[n+1>>0]<<8|Z[n+2>>0]<<16|Z[n+3>>0]<<24,M=c+(e*6|0)|0,l=c+(e*6|0)+2|0,c=c+(e*6|0)+4|0,ke(f,(Z[M>>0]|Z[M+1>>0]<<8)&65535,(Z[l>>0]|Z[l+1>>0]<<8)&65535,(Z[c>>0]|Z[c+1>>0]<<8)&65535),ks(t,f),i=i-((Z[l>>0]|Z[l+1>>0]<<8)&65535)|0,e=e+1|0;while(e>>>0<((Z[o>>0]|Z[o+1>>0]<<8)&65535)>>>0)}(i|0)<0&&(M=F0(8)|0,Fs(M),k0(M|0,2688,8)),i|0&&(ke(f,0,i,2),ks(t,f)),m=h}function $u(t,e){t=t|0,e=e|0;var i=0,n=0;return i=m,m=m+16|0,n=i+1|0,u[n>>0]=u[i>>0]|0,fa(t,e,n),m=i,t|0}function Ku(t,e){t=t|0,e=e|0;var i=0,n=0,o=0,f=0,h=0,l=0,c=0;if(n=e+2|0,f=Z[e>>0]|Z[e+1>>0]<<8,u[t>>0]=f,u[t+1>>0]=f>>8,f=t+2|0,n=Z[n>>0]|Z[n+1>>0]<<8,u[f>>0]=n,u[f+1>>0]=n>>8,u[t+4>>0]=u[e+4>>0]|0,f=e+6|0,u[t+5>>0]=u[e+5>>0]|0,n=e+8|0,i=t+6|0,f=Z[f>>0]|Z[f+1>>0]<<8,u[i>>0]=f,u[i+1>>0]=f>>8,i=e+12|0,f=t+8|0,n=Z[n>>0]|Z[n+1>>0]<<8|Z[n+2>>0]<<16|Z[n+3>>0]<<24,u[f>>0]=n,u[f+1>>0]=n>>8,u[f+2>>0]=n>>16,u[f+3>>0]=n>>24,f=t+12|0,i=Z[i>>0]|Z[i+1>>0]<<8|Z[i+2>>0]<<16|Z[i+3>>0]<<24,u[f>>0]=i,u[f+1>>0]=i>>8,u[f+2>>0]=i>>16,u[f+3>>0]=i>>24,f=e+16|0,i=f,i=Z[i>>0]|Z[i+1>>0]<<8|Z[i+2>>0]<<16|Z[i+3>>0]<<24,f=f+4|0,f=Z[f>>0]|Z[f+1>>0]<<8|Z[f+2>>0]<<16|Z[f+3>>0]<<24,n=t+16|0,h=n,u[h>>0]=i,u[h+1>>0]=i>>8,u[h+2>>0]=i>>16,u[h+3>>0]=i>>24,n=n+4|0,u[n>>0]=f,u[n+1>>0]=f>>8,u[n+2>>0]=f>>16,u[n+3>>0]=f>>24,n=e+32|0,f=e+24|0,h=f,h=Z[h>>0]|Z[h+1>>0]<<8|Z[h+2>>0]<<16|Z[h+3>>0]<<24,f=f+4|0,f=Z[f>>0]|Z[f+1>>0]<<8|Z[f+2>>0]<<16|Z[f+3>>0]<<24,i=t+24|0,o=i,u[o>>0]=h,u[o+1>>0]=h>>8,u[o+2>>0]=h>>16,u[o+3>>0]=h>>24,i=i+4|0,u[i>>0]=f,u[i+1>>0]=f>>8,u[i+2>>0]=f>>16,u[i+3>>0]=f>>24,i=e+34|0,f=t+32|0,n=Z[n>>0]|Z[n+1>>0]<<8,u[f>>0]=n,u[f+1>>0]=n>>8,o=t+34|0,t=Z[o>>0]|Z[o+1>>0]<<8|Z[o+2>>0]<<16|Z[o+3>>0]<<24,t?(Rf(t),t=Z[f>>0]|Z[f+1>>0]<<8):t=n,n=gf((t&65535)*6|0)|0,u[o>>0]=n,u[o+1>>0]=n>>8,u[o+2>>0]=n>>16,u[o+3>>0]=n>>24,t<<16>>16&&(t=e+36|0,h=Z[i>>0]|Z[i+1>>0]<<8,u[n>>0]=h,u[n+1>>0]=h>>8,e=e+38|0,h=n+2|0,t=Z[t>>0]|Z[t+1>>0]<<8,u[h>>0]=t,u[h+1>>0]=t>>8,h=n+4|0,e=Z[e>>0]|Z[e+1>>0]<<8,u[h>>0]=e,u[h+1>>0]=e>>8,((Z[f>>0]|Z[f+1>>0]<<8)&65535)>1)){t=1;do e=i,i=i+6|0,h=Z[o>>0]|Z[o+1>>0]<<8|Z[o+2>>0]<<16|Z[o+3>>0]<<24,l=e+8|0,n=h+(t*6|0)|0,c=Z[i>>0]|Z[i+1>>0]<<8,u[n>>0]=c,u[n+1>>0]=c>>8,e=e+10|0,n=h+(t*6|0)+2|0,l=Z[l>>0]|Z[l+1>>0]<<8,u[n>>0]=l,u[n+1>>0]=l>>8,h=h+(t*6|0)+4|0,e=Z[e>>0]|Z[e+1>>0]<<8,u[h>>0]=e,u[h+1>>0]=e>>8,t=t+1|0;while(t>>>0<((Z[f>>0]|Z[f+1>>0]<<8)&65535)>>>0)}}function Fs(t){t=t|0,Zt(t,7354),r[t>>2]=4456}function bu(t){t=t|0,ht(t),$(t)}function ta(t){t=t|0,ht(t),$(t)}function ks(t,e){t=t|0,e=e|0;var i=0,n=0,o=0,f=0,h=0,l=0,c=0,M=0;l=m,m=m+32|0,o=l,f=t+4|0,i=r[f>>2]|0,h=t+8|0;do if((i|0)==(r[h>>2]|0))if(i=((i-(r[t>>2]|0)|0)/12|0)+1|0,n=oa(t)|0,n>>>0<i>>>0)L0(t);else{c=r[t>>2]|0,M=((r[h>>2]|0)-c|0)/12|0,h=M<<1,ia(o,M>>>0<n>>>1>>>0?h>>>0<i>>>0?i:h:n,((r[f>>2]|0)-c|0)/12|0,t+8|0),h=o+8|0,f=r[h>>2]|0,r[f>>2]=r[e>>2],r[f+4>>2]=r[e+4>>2],r[f+8>>2]=r[e+8>>2],r[h>>2]=(r[h>>2]|0)+12,na(t,o),sa(o);break}else ra(o,t,1),M=o+4|0,c=r[M>>2]|0,r[c>>2]=r[e>>2],r[c+4>>2]=r[e+4>>2],r[c+8>>2]=r[e+8>>2],r[M>>2]=(r[M>>2]|0)+12,ea(o);while(0);m=l}function ke(t,e,i,n){t=t|0,e=e|0,i=i|0,n=n|0,r[t>>2]=e,r[t+4>>2]=i,r[t+8>>2]=n}function ra(t,e,i){t=t|0,e=e|0,i=i|0,r[t>>2]=e,e=r[e+4>>2]|0,r[t+4>>2]=e,r[t+8>>2]=e+(i*12|0)}function ea(t){t=t|0,r[(r[t>>2]|0)+4>>2]=r[t+4>>2]}function ia(t,e,i,n){t=t|0,e=e|0,i=i|0,n=n|0;var o=0;o=t+12|0,r[o>>2]=0,r[t+16>>2]=n;do if(e)if(e>>>0>357913941)o=F0(8)|0,$t(o,6723),r[o>>2]=5956,k0(o|0,3928,123);else{n=b(e*12|0)|0;break}else n=0;while(0);r[t>>2]=n,i=n+(i*12|0)|0,r[t+8>>2]=i,r[t+4>>2]=i,r[o>>2]=n+(e*12|0)}function na(t,e){t=t|0,e=e|0;var i=0,n=0,o=0,f=0,h=0;n=r[t>>2]|0,h=t+4|0,f=e+4|0,o=(r[h>>2]|0)-n|0,i=(r[f>>2]|0)+(((o|0)/-12|0)*12|0)|0,r[f>>2]=i,(o|0)>0?(lt(i|0,n|0,o|0)|0,n=f,i=r[f>>2]|0):n=f,f=r[t>>2]|0,r[t>>2]=i,r[n>>2]=f,f=e+8|0,o=r[h>>2]|0,r[h>>2]=r[f>>2],r[f>>2]=o,f=t+8|0,h=e+12|0,t=r[f>>2]|0,r[f>>2]=r[h>>2],r[h>>2]=t,r[e>>2]=r[n>>2]}function sa(t){t=t|0;var e=0,i=0,n=0;e=r[t+4>>2]|0,i=t+8|0,n=r[i>>2]|0,(n|0)!=(e|0)&&(r[i>>2]=n+(~(((n+-12-e|0)>>>0)/12|0)*12|0)),e=r[t>>2]|0,e|0&&h0(e,(r[t+12>>2]|0)-e|0)}function oa(t){return t=t|0,357913941}function fa(t,e,i){t=t|0,e=e|0,i=i|0;var n=0;Aa(t),r[t>>2]=r[e>>2],i=e+4|0,r[t+4>>2]=r[i>>2],n=e+8|0,r[t+8>>2]=r[n>>2],r[n>>2]=0,r[i>>2]=0,r[e>>2]=0}function Aa(t){t=t|0;var e=0,i=0,n=0,o=0;e=r[t>>2]|0,i=e,e|0&&(n=t+4|0,r[n>>2]=i,o=t+8|0,h0(e,(r[o>>2]|0)-i|0),r[o>>2]=0,r[n>>2]=0,r[t>>2]=0)}function Un(t){t=t|0,Zt(t,7660),r[t>>2]=4496}function Vs(t,e){t=t|0,e=e|0,Zt(t,e),r[t>>2]=4516}function ha(t){t=t|0,Zt(t,7704),r[t>>2]=4536}function la(t,e){t=t|0,e=e|0;var i=0,n=0,o=0;i=t+4|0,o=r[t>>2]|0,n=(r[i>>2]|0)-o>>3,n>>>0>=e>>>0?n>>>0>e>>>0&&(r[i>>2]=o+(e<<3)):ma(t,e-n|0)}function Ws(t,e){t=t|0,e=e|0,r[t>>2]=e,r[t+4>>2]=0,r[t+8>>2]=-1}function st(t,e,i,n,o){t=t|0,e=e|0,i=i|0,n=n|0,o=o|0;var f=0;r[t+4>>2]=e,r[t+8>>2]=i,r[t+12>>2]=n,r[t+16>>2]=o,r[t+36>>2]=0,r[t+40>>2]=0,r[t+44>>2]=0,Xs(t+48|0),r[t+68>>2]=0,r[t+72>>2]=0,r[t+76>>2]=0;do if(o){for(n=t+20|0,r[n>>2]=0,r[t+24>>2]=o,i=o,f=0;i=i>>>1,e=f+1|0,i;)f=e;r[n>>2]=(1<<f|0)==(o|0)?f:e,i=o>>>1,r[t+28>>2]=0-i,i=o+-1-i|0}else if(i=t+20|0,(e+-1|0)>>>0<31){r[i>>2]=e,o=1<<e,r[t+24>>2]=o,i=o>>>1,r[t+28>>2]=0-i,i=o+-1-i|0;break}else{r[i>>2]=32,r[t+24>>2]=0,r[t+28>>2]=-2147483648,i=2147483647;break}while(0);r[t+32>>2]=i,r[t>>2]=0}function Gn(t){t=t|0;var e=0;e=((Ve(r[t>>2]|0)|0)&255)<<24,e=((Ve(r[t>>2]|0)|0)&255)<<16|e,e=e|((Ve(r[t>>2]|0)|0)&255)<<8,r[t+4>>2]=e|(Ve(r[t>>2]|0)|0)&255}function ot(t){t=t|0;var e=0,i=0,n=0,o=0,f=0,h=0,l=0,c=0,M=0,w=0,_=0,V=0,U=0,G=0,T=0,e0=0,P=0,I=0;T=m,m=m+64|0,U=T+44|0,G=T,M=t+36|0,w=t+40|0;t:do if((r[M>>2]|0)==(r[w>>2]|0)){_=t+8|0;r:do if(!(r[_>>2]|0))V=t+20|0;else{for(o=t+20|0,f=t+44|0,h=U+4|0,l=t+44|0,c=U+8|0,n=0;;){if(P0(G,(r[o>>2]|0)+1|0,0,0),e=r[w>>2]|0,e>>>0<(r[f>>2]|0)>>>0)Us(U,M,1),mi(r[h>>2]|0,G),r[h>>2]=(r[h>>2]|0)+44,Gs(U);else{if(e=((e-(r[M>>2]|0)|0)/44|0)+1|0,i=Ss(M)|0,i>>>0<e>>>0)break;e0=r[M>>2]|0,I=((r[f>>2]|0)-e0|0)/44|0,P=I<<1,zs(U,I>>>0<i>>>1>>>0?P>>>0<e>>>0?e:P:i,((r[w>>2]|0)-e0|0)/44|0,l),mi(r[c>>2]|0,G),r[c>>2]=(r[c>>2]|0)+44,Es(M,U),Bs(U)}if(G0(G),n=n+1|0,n>>>0>=(r[_>>2]|0)>>>0){V=o;break r}}L0(M)}while(0);if(r[V>>2]|0){for(h=t+12|0,l=t+68|0,c=t+72|0,M=t+76|0,w=U+4|0,o=t+76|0,f=U+8|0,n=1;;){if(e=r[h>>2]|0,P0(G,1<<(n>>>0>e>>>0?e:n),0,0),e=r[c>>2]|0,e>>>0<(r[M>>2]|0)>>>0)Us(U,l,1),mi(r[w>>2]|0,G),r[w>>2]=(r[w>>2]|0)+44,Gs(U);else{if(e=((e-(r[l>>2]|0)|0)/44|0)+1|0,i=Ss(l)|0,i>>>0<e>>>0)break;I=r[l>>2]|0,e0=((r[M>>2]|0)-I|0)/44|0,P=e0<<1,zs(U,e0>>>0<i>>>1>>>0?P>>>0<e>>>0?e:P:i,((r[c>>2]|0)-I|0)/44|0,o),mi(r[f>>2]|0,G),r[f>>2]=(r[f>>2]|0)+44,Es(l,U),Bs(U)}if(G0(G),n=n+1|0,n>>>0>(r[V>>2]|0)>>>0)break t}L0(l)}}while(0);m=T}function Q0(t,e,i,n){return t=t|0,e=e|0,i=i|0,n=n|0,i=(Va(t,e,(r[t+36>>2]|0)+(n*44|0)|0)|0)+i|0,e=r[t+24>>2]|0,(i|0)<0?i+e|0:i-(i>>>0<e>>>0?0:e)|0}function ft(t){t=t|0,ci(t+68|0),ci(t+36|0)}function Ns(t){t=t|0}function ua(t){t=t|0,ht(t),$(t)}function aa(t){t=t|0,ht(t),$(t)}function ca(t){t=t|0,ht(t),$(t)}function ma(t,e){t=t|0,e=e|0;var i=0,n=0,o=0,f=0,h=0,l=0,c=0,M=0;l=m,m=m+32|0,o=l,f=t+8|0,h=t+4|0,i=r[h>>2]|0;do if((r[f>>2]|0)-i>>3>>>0<e>>>0)if(i=(i-(r[t>>2]|0)>>3)+e|0,n=xa(t)|0,n>>>0<i>>>0)L0(t);else{c=r[t>>2]|0,M=(r[f>>2]|0)-c|0,f=M>>2,pa(o,M>>3>>>0<n>>>1>>>0?f>>>0<i>>>0?i:f:n,(r[h>>2]|0)-c>>3,t+8|0),Ma(o,e),ya(t,o),da(o);break}else va(t,e);while(0);m=l}function va(t,e){t=t|0,e=e|0;var i=0,n=0,o=0;o=m,m=m+16|0,n=o,ga(n,t,e),t=n+4|0,e=r[t>>2]|0,i=r[n+8>>2]|0,(e|0)!=(i|0)&&(i=i+-8-e|0,Br(e|0,0,i+8&-8|0)|0,r[t>>2]=e+((i>>>3)+1<<3)),Ra(n),m=o}function pa(t,e,i,n){t=t|0,e=e|0,i=i|0,n=n|0;var o=0;o=t+12|0,r[o>>2]=0,r[t+16>>2]=n;do if(e)if(e>>>0>536870911)o=F0(8)|0,$t(o,6723),r[o>>2]=5956,k0(o|0,3928,123);else{n=b(e<<3)|0;break}else n=0;while(0);r[t>>2]=n,i=n+(i<<3)|0,r[t+8>>2]=i,r[t+4>>2]=i,r[o>>2]=n+(e<<3)}function Ma(t,e){t=t|0,e=e|0;var i=0,n=0;n=m,m=m+16|0,i=n,wa(i,t+8|0,e),t=r[i>>2]|0,e=r[i+4>>2]|0,(t|0)!=(e|0)&&(e=e+-8-t|0,Br(t|0,0,e+8&-8|0)|0,r[i>>2]=t+((e>>>3)+1<<3)),_a(i),m=n}function ya(t,e){t=t|0,e=e|0;var i=0,n=0,o=0,f=0,h=0;n=r[t>>2]|0,h=t+4|0,f=e+4|0,o=(r[h>>2]|0)-n|0,i=(r[f>>2]|0)+(0-(o>>3)<<3)|0,r[f>>2]=i,(o|0)>0?(lt(i|0,n|0,o|0)|0,n=f,i=r[f>>2]|0):n=f,f=r[t>>2]|0,r[t>>2]=i,r[n>>2]=f,f=e+8|0,o=r[h>>2]|0,r[h>>2]=r[f>>2],r[f>>2]=o,f=t+8|0,h=e+12|0,t=r[f>>2]|0,r[f>>2]=r[h>>2],r[h>>2]=t,r[e>>2]=r[n>>2]}function da(t){t=t|0;var e=0,i=0,n=0;e=r[t+4>>2]|0,i=t+8|0,n=r[i>>2]|0,(n|0)!=(e|0)&&(r[i>>2]=n+(~((n+-8-e|0)>>>3)<<3)),e=r[t>>2]|0,e|0&&h0(e,(r[t+12>>2]|0)-e|0)}function ga(t,e,i){t=t|0,e=e|0,i=i|0,r[t>>2]=e,e=r[e+4>>2]|0,r[t+4>>2]=e,r[t+8>>2]=e+(i<<3)}function Ra(t){t=t|0,r[(r[t>>2]|0)+4>>2]=r[t+4>>2]}function xa(t){return t=t|0,536870911}function wa(t,e,i){t=t|0,e=e|0,i=i|0,r[t>>2]=r[e>>2],r[t+4>>2]=(r[e>>2]|0)+(i<<3),r[t+8>>2]=e}function _a(t){t=t|0,r[r[t+8>>2]>>2]=r[t>>2]}function Xs(t){t=t|0,r[t+12>>2]=1,r[t+16>>2]=2,r[t+8>>2]=4096,r[t+4>>2]=4,r[t>>2]=4}function ci(t){t=t|0;var e=0,i=0,n=0;if(i=r[t>>2]|0,i|0){if(n=t+4|0,e=r[n>>2]|0,(e|0)==(i|0))e=i;else{do e=e+-44|0,G0(e);while((e|0)!=(i|0));e=r[t>>2]|0}r[n>>2]=i,h0(e,(r[t+8>>2]|0)-e|0)}}function G0(t){t=t|0;var e=0;e=r[t+8>>2]|0,e|0&&ui(e),e=r[t+12>>2]|0,e|0&&ui(e),e=r[t+16>>2]|0,e|0&&ui(e)}function Ve(t){t=t|0;var e=0,i=0;return i=t+4|0,e=r[i>>2]|0,(e|0)>=(r[t+8>>2]|0)&&(Ts(t),e=r[i>>2]|0),t=r[t+12>>2]|0,r[i>>2]=e+1,u[t+e>>0]|0}function Ts(t){t=t|0;var e=0;if(r[t+4>>2]=0,Fr(r[t>>2]|0,r[t+12>>2]|0,1048576),e=Za(r[t>>2]|0)|0,r[t+8>>2]=e,!e)e=F0(8)|0,Fa(e),k0(e|0,2752,8);else return}function Za(t){return t=t|0,r[t+16>>2]|0}function Fa(t){t=t|0,Zt(t,7769),r[t>>2]=4556}function ka(t){t=t|0,ht(t),$(t)}function P0(t,e,i,n){t=t|0,e=e|0,i=i|0,n=n|0;var o=0,f=0,h=0;if(r[t>>2]=e,u[t+4>>0]=i&1,f=t+8|0,r[f>>2]=0,h=t+12|0,r[h>>2]=0,o=t+16|0,r[o>>2]=0,(e+-2|0)>>>0>2046&&(t=F0(8)|0,Zt(t,7789),k0(t|0,3912,8)),r[t+32>>2]=e+-1,e>>>0>16&(i^1)){for(i=3;1<<i+2>>>0<e>>>0;)i=i+1|0;e=1<<i,r[t+36>>2]=e,r[t+40>>2]=15-i,r[o>>2]=Zr((e<<2)+8|0)|0,e=r[t>>2]|0}else r[o>>2]=0,r[t+40>>2]=0,r[t+36>>2]=0;if(r[f>>2]=Zr(e<<2)|0,o=Zr(r[t>>2]<<2)|0,r[h>>2]=o,r[t+20>>2]=0,e=r[t>>2]|0,i=t+24|0,r[i>>2]=e,e=(e|0)!=0,n){if(e){e=0;do r[o+(e<<2)>>2]=r[n+(e<<2)>>2],e=e+1|0;while(e>>>0<(r[t>>2]|0)>>>0)}}else if(e){e=0;do r[o+(e<<2)>>2]=1,e=e+1|0;while(e>>>0<(r[t>>2]|0)>>>0)}En(t),n=((r[t>>2]|0)+6|0)>>>1,r[i>>2]=n,r[t+28>>2]=n}function Us(t,e,i){t=t|0,e=e|0,i=i|0,r[t>>2]=e,e=r[e+4>>2]|0,r[t+4>>2]=e,r[t+8>>2]=e+(i*44|0)}function Gs(t){t=t|0,r[(r[t>>2]|0)+4>>2]=r[t+4>>2]}function mi(t,e){t=t|0,e=e|0;var i=0;r[t>>2]=r[e>>2],u[t+4>>0]=u[e+4>>0]|0,i=e+8|0,r[t+8>>2]=r[i>>2],r[t+12>>2]=r[e+12>>2],r[t+16>>2]=r[e+16>>2],r[t+20>>2]=r[e+20>>2],r[t+24>>2]=r[e+24>>2],r[t+28>>2]=r[e+28>>2],r[t+32>>2]=r[e+32>>2],r[t+36>>2]=r[e+36>>2],r[t+40>>2]=r[e+40>>2],r[i>>2]=0,r[i+4>>2]=0,r[i+8>>2]=0}function zs(t,e,i,n){t=t|0,e=e|0,i=i|0,n=n|0;var o=0;o=t+12|0,r[o>>2]=0,r[t+16>>2]=n;do if(e)if(e>>>0>97612893)o=F0(8)|0,$t(o,6723),r[o>>2]=5956,k0(o|0,3928,123);else{n=b(e*44|0)|0;break}else n=0;while(0);r[t>>2]=n,i=n+(i*44|0)|0,r[t+8>>2]=i,r[t+4>>2]=i,r[o>>2]=n+(e*44|0)}function Es(t,e){t=t|0,e=e|0;var i=0,n=0,o=0,f=0,h=0,l=0,c=0;if(l=r[t>>2]|0,c=t+4|0,i=r[c>>2]|0,h=e+4|0,(i|0)==(l|0))o=h,f=t,n=r[h>>2]|0,i=l;else{n=r[h>>2]|0;do i=i+-44|0,zn(n+-44|0,i),n=(r[h>>2]|0)+-44|0,r[h>>2]=n;while((i|0)!=(l|0));o=h,f=t,i=r[t>>2]|0}r[f>>2]=n,r[o>>2]=i,l=e+8|0,h=r[c>>2]|0,r[c>>2]=r[l>>2],r[l>>2]=h,l=t+8|0,c=e+12|0,t=r[l>>2]|0,r[l>>2]=r[c>>2],r[c>>2]=t,r[e>>2]=r[o>>2]}function Bs(t){t=t|0;var e=0,i=0,n=0,o=0;if(i=r[t+4>>2]|0,n=t+8|0,e=r[n>>2]|0,(e|0)!=(i|0))do o=e+-44|0,r[n>>2]=o,G0(o),e=r[n>>2]|0;while((e|0)!=(i|0));e=r[t>>2]|0,e|0&&h0(e,(r[t+12>>2]|0)-e|0)}function Ss(t){return t=t|0,97612893}function zn(t,e){t=t|0,e=e|0;var i=0,n=0,o=0,f=0;i=r[e>>2]|0,r[t>>2]=i,u[t+4>>0]=u[e+4>>0]|0,r[t+20>>2]=r[e+20>>2],r[t+24>>2]=r[e+24>>2],r[t+28>>2]=r[e+28>>2],r[t+32>>2]=r[e+32>>2],f=t+36|0,r[f>>2]=r[e+36>>2],r[t+40>>2]=r[e+40>>2],i=i<<2,n=Zr(i)|0,r[t+8>>2]=n,o=r[t>>2]|0,o|0&&dt(n|0,r[e+8>>2]|0,o<<2|0)|0,i=Zr(i)|0,r[t+12>>2]=i,n=r[t>>2]|0,n|0&&dt(i|0,r[e+12>>2]|0,n<<2|0)|0,i=r[f>>2]|0,i?(n=Zr((i<<2)+8|0)|0,r[t+16>>2]=n,i=(r[f>>2]<<2)+8|0,i|0&&dt(n|0,r[e+16>>2]|0,i|0)|0):r[t+16>>2]=0}function En(t){t=t|0;var e=0,i=0,n=0,o=0,f=0,h=0,l=0,c=0,M=0,w=0,_=0,V=0,U=0,G=0;if(G=t+24|0,o=t+20|0,e=(r[o>>2]|0)+(r[G>>2]|0)|0,r[o>>2]=e,e>>>0>32768)if(r[o>>2]=0,!(r[t>>2]|0))e=0;else{n=r[t+12>>2]|0,i=0;do _=n+(i<<2)|0,e=((r[_>>2]|0)+1|0)>>>1,r[_>>2]=e,e=(r[o>>2]|0)+e|0,r[o>>2]=e,i=i+1|0;while(i>>>0<(r[t>>2]|0)>>>0)}_=2147483648/(e>>>0)|0;do if(!(u[t+4>>0]|0)&&(V=t+36|0,(r[V>>2]|0)!=0)){if(r[t>>2]|0){l=r[t+8>>2]|0,c=r[t+12>>2]|0,M=t+40|0,w=t+16|0,e=0,f=0,h=0;do{if(i=(a0(f,_)|0)>>>16,r[l+(h<<2)>>2]=i,f=(r[c+(h<<2)>>2]|0)+f|0,i=i>>>(r[M>>2]|0),e>>>0<i>>>0){n=h+-1|0,o=r[w>>2]|0;do e=e+1|0,r[o+(e<<2)>>2]=n;while((e|0)!=(i|0));e=i}h=h+1|0}while(h>>>0<(r[t>>2]|0)>>>0);if(i=r[w>>2]|0,r[i>>2]=0,e>>>0>(r[V>>2]|0)>>>0){e=t;break}}else i=r[t+16>>2]|0,r[i>>2]=0,e=0;do e=e+1|0,r[i+(e<<2)>>2]=(r[t>>2]|0)+-1;while(e>>>0<=(r[V>>2]|0)>>>0);e=t}else U=7;while(0);if((U|0)==7)if(!(r[t>>2]|0))e=t;else{n=r[t+8>>2]|0,o=r[t+12>>2]|0,e=0,i=0;do r[n+(e<<2)>>2]=(a0(i,_)|0)>>>16,i=(r[o+(e<<2)>>2]|0)+i|0,e=e+1|0;while(e>>>0<(r[t>>2]|0)>>>0);e=t}U=((r[G>>2]|0)*5|0)>>>2,V=(r[e>>2]<<3)+48|0,U=U>>>0>V>>>0?V:U,r[G>>2]=U,r[t+28>>2]=U}function Va(t,e,i){t=t|0,e=e|0,i=i|0;var n=0;i=Y0(e,i)|0,r[t>>2]=i;do if(i){if(i>>>0>=32){i=r[t+28>>2]|0;break}if(n=r[t+12>>2]|0,i>>>0>n>>>0?(n=i-n|0,i=Y0(e,(r[t+68>>2]|0)+((i+-1|0)*44|0)|0)|0,n=i<<n|(Cs(e,n)|0)):n=Y0(e,(r[t+68>>2]|0)+((i+-1|0)*44|0)|0)|0,i=r[t>>2]|0,(n|0)<(1<<i+-1|0)){i=n+1+(-1<<i)|0;break}else{i=n+1|0;break}}else i=Wa(e,t+48|0)|0;while(0);return i|0}function Y0(t,e){t=t|0,e=e|0;var i=0,n=0,o=0,f=0,h=0,l=0,c=0,M=0,w=0,_=0,V=0,U=0;if(V=t+8|0,_=r[V>>2]|0,o=r[e+16>>2]|0,o){if(n=t+4|0,i=r[n>>2]|0,w=_>>>15,r[V>>2]=w,c=(i>>>0)/(w>>>0)|0,l=c>>>(r[e+40>>2]|0),f=r[o+(l<<2)>>2]|0,l=(r[o+(l+1<<2)>>2]|0)+1|0,h=f+1|0,M=r[e+8>>2]|0,l>>>0>h>>>0){o=f,f=l;do h=(f+o|0)>>>1,l=(r[M+(h<<2)>>2]|0)>>>0>c>>>0,o=l?o:h,f=l?h:f,h=o+1|0;while(f>>>0>h>>>0);f=o}o=a0(r[M+(f<<2)>>2]|0,w)|0,(f|0)==(r[e+32>>2]|0)?h=_:h=a0(r[M+(h<<2)>>2]|0,w)|0}else{M=_>>>15,r[V>>2]=M,l=r[e>>2]|0,w=r[e+8>>2]|0,n=t+4|0,i=r[n>>2]|0,c=l>>>1,o=0,h=_,f=0;do U=a0(r[w+(c<<2)>>2]|0,M)|0,_=U>>>0>i>>>0,h=_?U:h,o=_?o:U,f=_?f:c,l=_?c:l,c=(f+l|0)>>>1;while((c|0)!=(f|0))}return r[n>>2]=i-o,U=h-o|0,r[V>>2]=U,U>>>0<16777216&&vi(t),V=(r[e+12>>2]|0)+(f<<2)|0,r[V>>2]=(r[V>>2]|0)+1,V=e+28|0,U=(r[V>>2]|0)+-1|0,r[V>>2]=U,U||En(e),f|0}function Cs(t,e){t=t|0,e=e|0;var i=0,n=0,o=0,f=0;return e>>>0>19?(i=(Bn(t)|0)&65535,(Cs(t,e+-16|0)|0)<<16|i|0):(n=t+4|0,o=r[n>>2]|0,f=t+8|0,i=(r[f>>2]|0)>>>e,r[f>>2]=i,e=(o>>>0)/(i>>>0)|0,r[n>>2]=o-(a0(e,i)|0),i>>>0<16777216&&vi(t),e|0)}function Wa(t,e){t=t|0,e=e|0;var i=0,n=0,o=0,f=0,h=0,l=0;return n=t+8|0,o=r[n>>2]|0,i=a0(o>>>13,r[e+8>>2]|0)|0,f=t+4|0,h=r[f>>2]|0,l=h>>>0>=i>>>0,l?(r[f>>2]=h-i,i=o-i|0,r[n>>2]=i):(r[n>>2]=i,h=e+12|0,r[h>>2]=(r[h>>2]|0)+1),i>>>0<16777216&&vi(t),h=e+4|0,t=(r[h>>2]|0)+-1|0,r[h>>2]=t,t||Js(e),l&1|0}function vi(t){t=t|0;var e=0,i=0,n=0,o=0;e=t+4|0,i=t+8|0,n=r[e>>2]|0;do n=n<<8|(Ve(r[t>>2]|0)|0)&255,r[e>>2]=n,o=r[i>>2]<<8,r[i>>2]=o;while(o>>>0<16777216)}function Bn(t){t=t|0;var e=0,i=0,n=0,o=0;return i=t+4|0,o=r[i>>2]|0,e=t+8|0,n=(r[e>>2]|0)>>>16,r[e>>2]=n,e=(o>>>0)/(n>>>0)|0,r[i>>2]=o-(a0(e,n)|0),vi(t),e&65535|0}function Js(t){t=t|0;var e=0,i=0,n=0,o=0,f=0;o=r[t>>2]|0,i=t+16|0,e=(r[i>>2]|0)+o|0,r[i>>2]=e,e>>>0>8192?(n=(e+1|0)>>>1,r[i>>2]=n,f=t+12|0,e=((r[f>>2]|0)+1|0)>>>1,r[f>>2]=e,(e|0)==(n|0)?(e=n+1|0,r[i>>2]=e,i=e,e=n):i=n):(i=e,e=r[t+12>>2]|0),r[t+8>>2]=(a0(e,2147483648/(i>>>0)|0)|0)>>>18,f=o*5|0,f=f>>>0>259?64:f>>>2,r[t>>2]=f,r[t+4>>2]=f}function Na(t,e){t=t|0,e=e|0;var i=0,n=0,o=0,f=0,h=0,l=0,c=0,M=0,w=0,_=0,V=0;w=m,m=m+32|0,f=w+16|0,h=w+8|0,l=w,c=t+336|0,n=c,o=t+259|0,!(r[n+4>>2]|0)&&(r[n>>2]|0)==(Z[o>>0]|Z[o+1>>0]<<8|Z[o+2>>0]<<16|Z[o+3>>0]<<24|0)?(n=t+320|0,i=r[t+320>>2]|0,M=5):(n=t+320|0,i=r[n>>2]|0,o=i,i|0&&r[t+312>>2]|0||(i=o,M=5)),(M|0)==5&&(M=t+320|0,r[f>>2]=i,r[M>>2]=0,i=t+324|0,r[f+4>>2]=r[i>>2],r[i>>2]=0,li(f),o=t+312|0,r[f>>2]=r[o>>2],r[o>>2]=0,_=t+316|0,r[f+4>>2]=r[_>>2],r[_>>2]=0,Nn(f),V=b(12)|0,Ws(V,t+4|0),r[l>>2]=0,r[f>>2]=r[l>>2],Ta(h,V,f),V=r[h>>2]|0,r[h>>2]=r[o>>2],r[o>>2]=V,V=h+4|0,l=r[V>>2]|0,r[V>>2]=r[_>>2],r[_>>2]=l,Nn(h),Xa(h,r[o>>2]|0,t+300|0),o=r[h>>2]|0,_=h+4|0,l=r[_>>2]|0,r[h>>2]=0,r[_>>2]=0,r[f>>2]=r[M>>2],r[M>>2]=o,r[f+4>>2]=r[i>>2],r[i>>2]=l,li(f),li(h),i=t+328|0,l=i,l=yt(r[l>>2]|0,r[l+4>>2]|0,1,0)|0,M=y0()|0,r[i>>2]=l,r[i+4>>2]=M,i=c,r[i>>2]=0,r[i+4>>2]=0,i=r[n>>2]|0),Ie[r[r[i>>2]>>2]&63](i,e)|0,M=c,M=yt(r[M>>2]|0,r[M+4>>2]|0,1,0)|0,_=y0()|0,V=c,r[V>>2]=M,r[V+4>>2]=_,m=w}function Xa(t,e,i){t=t|0,e=e|0,i=i|0;var n=0,o=0,f=0,h=0;h=m,m=m+64|0,n=h+56|0,o=h,f=Sa(i)|0,(f|0)==-1&&(h=F0(8)|0,Ca(h),k0(h|0,2784,8)),i=Is(i)|0;t:do if(i)Ja(n,e),Ia(r[n>>2]|0),(f|2|0)==3&&Oa(r[n>>2]|0),(f|1|0)==3&&ja(r[n>>2]|0),f=r[n>>2]|0,Ya(o,i),Pa(f,o),Os(o),r[t>>2]=r[n>>2],f=n+4|0,r[t+4>>2]=r[f>>2],r[n>>2]=0,r[f>>2]=0,Ha(n);else switch(f|0){case 0:{f=b(4788)|0,Qa(f),Da(t,e,f);break t}case 1:{f=b(5116)|0,qa(f),La(t,e,f);break t}case 2:{f=b(5104)|0,Ka(f),$a(t,e,f);break t}case 3:{f=b(5432)|0,tc(f),ba(t,e,f);break t}default:{r[t>>2]=0,r[t+4>>2]=0;break t}}while(0);m=h}function Ta(t,e,i){t=t|0,e=e|0,i=i|0;var n=0,o=0;i=m,m=m+16|0,n=i,r[t>>2]=e,o=b(16)|0,r[o+4>>2]=0,r[o+8>>2]=0,r[o>>2]=4576,r[o+12>>2]=e,r[t+4>>2]=o,r[n>>2]=e,r[n+4>>2]=e,Ua(t,n),m=i}function Ua(t,e){t=t|0,e=e|0}function Ga(t){t=t|0,C0(t),$(t)}function za(t){t=t|0,t=r[t+12>>2]|0,t|0&&(Ns(t),$(t))}function Ea(t,e){return t=t|0,e=e|0,((r[e+4>>2]|0)==7983?t+12|0:0)|0}function Ba(t){t=t|0,h0(t,16)}function Sa(t){t=t|0;var e=0,i=0;e=(r[t+4>>2]|0)-(r[t>>2]|0)|0;t:do if(e|0&&(i=((e|0)/12|0)+(((Is(t)|0)!=0)<<31>>31)|0,(i|0)!=0)&&(e=r[t>>2]|0,!(rc(e,ec()|0)|0))){switch(i|0){case 1:{t=0;break t}case 2:{if(We((r[t>>2]|0)+12|0,js()|0)|0){t=1;break t}if(We((r[t>>2]|0)+12|0,Ps()|0)|0){t=2;break t}break}case 3:{if(We((r[t>>2]|0)+12|0,js()|0)|0&&(i=(r[t>>2]|0)+24|0,We(i,Ps()|0)|0)){t=3;break t}break}default:}t=-1}else t=-1;while(0);return t|0}function Ca(t){t=t|0,Zt(t,8131),r[t>>2]=4604}function Is(t){t=t|0;var e=0,i=0;return e=r[t+4>>2]|0,(e|0)!=(r[t>>2]|0)&&(i=e,(r[i+-12>>2]|0)==0)&&(r[i+-4>>2]|0)==2?t=r[i+-8>>2]|0:t=0,t|0}function Ja(t,e){t=t|0,e=e|0;var i=0,n=0,o=0,f=0;i=m,m=m+16|0,n=i+4|0,f=i,o=b(24)|0,nc(o,e),r[f>>2]=0,r[n>>2]=r[f>>2],sc(t,o,n),m=i}function Ia(t){t=t|0;var e=0,i=0,n=0,o=0,f=0,h=0,l=0,c=0,M=0,w=0;c=m,m=m+32|0,n=c+12|0,o=c,e=c+8|0,h=b(4792)|0,mc(h,r[t+4>>2]|0),f=t+8|0,r[e>>2]=0,r[n>>2]=r[e>>2],vc(o,h,n),h=t+12|0,e=r[h>>2]|0,l=t+16|0;do if(e>>>0>=(r[l>>2]|0)>>>0)if(e=(e-(r[f>>2]|0)>>3)+1|0,i=Ct(f)|0,i>>>0<e>>>0)L0(f);else{M=r[f>>2]|0,w=(r[l>>2]|0)-M|0,l=w>>2,Et(n,w>>3>>>0<i>>>1>>>0?l>>>0<e>>>0?e:l:i,(r[h>>2]|0)-M>>3,t+16|0),l=n+8|0,h=r[l>>2]|0,r[h>>2]=r[o>>2],t=o+4|0,r[h+4>>2]=r[t>>2],r[o>>2]=0,r[t>>2]=0,r[l>>2]=h+8,Bt(f,n),St(n);break}else Gt(n,f,1),w=n+4|0,M=r[w>>2]|0,r[M>>2]=r[o>>2],l=o+4|0,r[M+4>>2]=r[l>>2],r[o>>2]=0,r[l>>2]=0,r[w>>2]=M+8,zt(n);while(0);rt(o),m=c}function Oa(t){t=t|0;var e=0,i=0,n=0,o=0,f=0,h=0,l=0,c=0,M=0,w=0;c=m,m=m+32|0,n=c+12|0,o=c,e=c+8|0,h=b(336)|0,Ec(h,r[t+4>>2]|0),f=t+8|0,r[e>>2]=0,r[n>>2]=r[e>>2],Bc(o,h,n),h=t+12|0,e=r[h>>2]|0,l=t+16|0;do if(e>>>0>=(r[l>>2]|0)>>>0)if(e=(e-(r[f>>2]|0)>>3)+1|0,i=Ct(f)|0,i>>>0<e>>>0)L0(f);else{M=r[f>>2]|0,w=(r[l>>2]|0)-M|0,l=w>>2,Et(n,w>>3>>>0<i>>>1>>>0?l>>>0<e>>>0?e:l:i,(r[h>>2]|0)-M>>3,t+16|0),l=n+8|0,h=r[l>>2]|0,r[h>>2]=r[o>>2],t=o+4|0,r[h+4>>2]=r[t>>2],r[o>>2]=0,r[t>>2]=0,r[l>>2]=h+8,Bt(f,n),St(n);break}else Gt(n,f,1),w=n+4|0,M=r[w>>2]|0,r[M>>2]=r[o>>2],l=o+4|0,r[M+4>>2]=r[l>>2],r[o>>2]=0,r[l>>2]=0,r[w>>2]=M+8,zt(n);while(0);rt(o),m=c}function ja(t){t=t|0;var e=0,i=0,n=0,o=0,f=0,h=0,l=0,c=0,M=0,w=0;c=m,m=m+32|0,n=c+12|0,o=c,e=c+8|0,h=b(324)|0,r4(h,r[t+4>>2]|0),f=t+8|0,r[e>>2]=0,r[n>>2]=r[e>>2],e4(o,h,n),h=t+12|0,e=r[h>>2]|0,l=t+16|0;do if(e>>>0>=(r[l>>2]|0)>>>0)if(e=(e-(r[f>>2]|0)>>3)+1|0,i=Ct(f)|0,i>>>0<e>>>0)L0(f);else{M=r[f>>2]|0,w=(r[l>>2]|0)-M|0,l=w>>2,Et(n,w>>3>>>0<i>>>1>>>0?l>>>0<e>>>0?e:l:i,(r[h>>2]|0)-M>>3,t+16|0),l=n+8|0,h=r[l>>2]|0,r[h>>2]=r[o>>2],t=o+4|0,r[h+4>>2]=r[t>>2],r[o>>2]=0,r[t>>2]=0,r[l>>2]=h+8,Bt(f,n),St(n);break}else Gt(n,f,1),w=n+4|0,M=r[w>>2]|0,r[M>>2]=r[o>>2],l=o+4|0,r[M+4>>2]=r[l>>2],r[o>>2]=0,r[l>>2]=0,r[w>>2]=M+8,zt(n);while(0);rt(o),m=c}function Pa(t,e){t=t|0,e=e|0;var i=0,n=0,o=0,f=0,h=0,l=0,c=0,M=0,w=0;c=m,m=m+32|0,h=c+12|0,l=c,n=c+8|0,f=b(64)|0,a4(f,r[t+4>>2]|0,e),o=t+8|0,r[n>>2]=0,r[h>>2]=r[n>>2],c4(l,f,h),f=t+12|0,e=r[f>>2]|0,n=t+16|0;do if(e>>>0>=(r[n>>2]|0)>>>0)if(e=(e-(r[o>>2]|0)>>3)+1|0,i=Ct(o)|0,i>>>0<e>>>0)L0(o);else{M=r[o>>2]|0,w=(r[n>>2]|0)-M|0,n=w>>2,Et(h,w>>3>>>0<i>>>1>>>0?n>>>0<e>>>0?e:n:i,(r[f>>2]|0)-M>>3,t+16|0),t=h+8|0,f=r[t>>2]|0,r[f>>2]=r[l>>2],n=l+4|0,r[f+4>>2]=r[n>>2],r[l>>2]=0,r[n>>2]=0,r[t>>2]=f+8,Bt(o,h),St(h);break}else Gt(h,o,1),w=h+4|0,M=r[w>>2]|0,r[M>>2]=r[l>>2],t=l+4|0,r[M+4>>2]=r[t>>2],r[l>>2]=0,r[t>>2]=0,r[w>>2]=M+8,zt(h);while(0);rt(l),m=c}function Ya(t,e){t=t|0,e=e|0;var i=0,n=0;i=m,m=m+48|0,n=i,r[t>>2]=e,u[t+4>>0]=0,Fo(t+8|0,e),Fo(t+20|0,e),P0(n,256,0,0),S4(t+32|0,e,n),G0(n),m=i}function Os(t){t=t|0,I4(t+32|0),co(t+20|0),co(t+8|0)}function Ha(t){t=t|0;var e=0,i=0;t=r[t+4>>2]|0,t|0&&(i=t+4|0,e=r[i>>2]|0,r[i>>2]=e+-1,(e|0)==0)&&(_0[r[(r[t>>2]|0)+8>>2]&255](t),qt(t))}function Da(t,e,i){t=t|0,e=e|0,i=i|0;var n=0,o=0,f=0,h=0;n=m,m=m+16|0,o=n+4|0,h=n,f=b(12)|0,O4(f,e,i),r[h>>2]=0,r[o>>2]=r[h>>2],j4(t,f,o),m=n}function Qa(t){t=t|0,Ne(t),Yn(t+4784|0)}function La(t,e,i){t=t|0,e=e|0,i=i|0;var n=0,o=0,f=0,h=0;n=m,m=m+16|0,o=n+4|0,h=n,f=b(12)|0,K4(f,e,i),r[h>>2]=0,r[o>>2]=r[h>>2],b4(t,f,o),m=n}function qa(t){t=t|0,Ne(t),lm(t+4784|0)}function $a(t,e,i){t=t|0,e=e|0,i=i|0;var n=0,o=0,f=0,h=0;n=m,m=m+16|0,o=n+4|0,h=n,f=b(12)|0,um(f,e,i),r[h>>2]=0,r[o>>2]=r[h>>2],am(t,f,o),m=n}function Ka(t){t=t|0,Ne(t),To(t+4784|0)}function ba(t,e,i){t=t|0,e=e|0,i=i|0;var n=0,o=0,f=0,h=0;n=m,m=m+16|0,o=n+4|0,h=n,f=b(12)|0,Rm(f,e,i),r[h>>2]=0,r[o>>2]=r[h>>2],xm(t,f,o),m=n}function tc(t){t=t|0,Ne(t),Um(t+4784|0)}function rc(t,e){return t=t|0,e=e|0,(We(t,e)|0)^1|0}function ec(){return!(u[21456]|0)&&Gr(21456)|0&&(ke(21536,6,20,2),zr(21456)),21536}function We(t,e){return t=t|0,e=e|0,(r[t>>2]|0)==(r[e>>2]|0)&&(r[t+8>>2]|0)==(r[e+8>>2]|0)?t=(r[t+4>>2]|0)==(r[e+4>>2]|0):t=0,t|0}function js(){return!(u[21464]|0)&&Gr(21464)|0&&(ke(21548,7,8,2),zr(21464)),21548}function Ps(){return!(u[21472]|0)&&Gr(21472)|0&&(ke(21560,8,6,2),zr(21472)),21560}function ic(t){t=t|0,ht(t),$(t)}function nc(t,e){t=t|0,e=e|0,re(t),r[t>>2]=4624,r[t+4>>2]=e,r[t+8>>2]=0,r[t+12>>2]=0,r[t+16>>2]=0,u[t+20>>0]=1}function sc(t,e,i){t=t|0,e=e|0,i=i|0;var n=0,o=0;i=m,m=m+16|0,n=i,r[t>>2]=e,o=b(16)|0,r[o+4>>2]=0,r[o+8>>2]=0,r[o>>2]=4664,r[o+12>>2]=e,r[t+4>>2]=o,r[n>>2]=e,r[n+4>>2]=e,hc(t,n),m=i}function re(t){t=t|0,r[t>>2]=4644}function oc(t,e){t=t|0,e=e|0;var i=0,n=0,o=0,f=0,h=0,l=0,c=0;if(c=m,m=m+16|0,f=c,i=r[t+8>>2]|0,h=r[t+12>>2]|0,(i|0)!=(h|0)){l=f+4|0;do n=r[i>>2]|0,r[f>>2]=n,o=r[i+4>>2]|0,r[l>>2]=o,o|0&&(o=o+4|0,r[o>>2]=(r[o>>2]|0)+1),e=Ie[r[(r[n>>2]|0)+12>>2]&63](n,e)|0,rt(f),i=i+8|0;while((i|0)!=(h|0))}return i=t+20|0,u[i>>0]|0&&(u[i>>0]=0,Gn(r[t+4>>2]|0)),m=c,e|0}function Ys(t){t=t|0,r[t>>2]=4624,Hs(t+8|0),kr(t)}function fc(t){t=t|0,Ys(t),$(t)}function kr(t){t=t|0}function Ac(t){t=t|0,gs()}function rt(t){t=t|0;var e=0,i=0;t=r[t+4>>2]|0,t|0&&(i=t+4|0,e=r[i>>2]|0,r[i>>2]=e+-1,(e|0)==0)&&(_0[r[(r[t>>2]|0)+8>>2]&255](t),qt(t))}function Hs(t){t=t|0;var e=0,i=0,n=0;if(i=r[t>>2]|0,i|0){if(n=t+4|0,e=r[n>>2]|0,(e|0)==(i|0))e=i;else{do e=e+-8|0,rt(e);while((e|0)!=(i|0));e=r[t>>2]|0}r[n>>2]=i,h0(e,(r[t+8>>2]|0)-e|0)}}function hc(t,e){t=t|0,e=e|0}function lc(t){t=t|0,C0(t),$(t)}function uc(t){t=t|0,t=r[t+12>>2]|0,t|0&&_0[r[(r[t>>2]|0)+8>>2]&255](t)}function ac(t,e){return t=t|0,e=e|0,((r[e+4>>2]|0)==8546?t+12|0:0)|0}function cc(t){t=t|0,h0(t,16)}function mc(t,e){t=t|0,e=e|0,Jt(t),r[t>>2]=4692,r[t+4>>2]=e,Ne(t+8|0)}function vc(t,e,i){t=t|0,e=e|0,i=i|0;var n=0,o=0;i=m,m=m+16|0,n=i,r[t>>2]=e,o=b(16)|0,r[o+4>>2]=0,r[o+8>>2]=0,r[o>>2]=4740,r[o+12>>2]=e,r[t+4>>2]=o,r[n>>2]=e,r[n+4>>2]=e,It(t,n),m=i}function Gt(t,e,i){t=t|0,e=e|0,i=i|0,r[t>>2]=e,e=r[e+4>>2]|0,r[t+4>>2]=e,r[t+8>>2]=e+(i<<3)}function zt(t){t=t|0,r[(r[t>>2]|0)+4>>2]=r[t+4>>2]}function Et(t,e,i,n){t=t|0,e=e|0,i=i|0,n=n|0;var o=0;o=t+12|0,r[o>>2]=0,r[t+16>>2]=n;do if(e)if(e>>>0>536870911)o=F0(8)|0,$t(o,6723),r[o>>2]=5956,k0(o|0,3928,123);else{n=b(e<<3)|0;break}else n=0;while(0);r[t>>2]=n,i=n+(i<<3)|0,r[t+8>>2]=i,r[t+4>>2]=i,r[o>>2]=n+(e<<3)}function Bt(t,e){t=t|0,e=e|0;var i=0,n=0,o=0,f=0,h=0,l=0,c=0;if(l=r[t>>2]|0,c=t+4|0,i=r[c>>2]|0,h=e+4|0,(i|0)==(l|0))o=h,f=t,n=r[h>>2]|0,i=l;else{n=r[h>>2]|0;do f=i,i=i+-8|0,r[n+-8>>2]=r[i>>2],f=f+-4|0,r[n+-4>>2]=r[f>>2],r[i>>2]=0,r[f>>2]=0,n=(r[h>>2]|0)+-8|0,r[h>>2]=n;while((i|0)!=(l|0));o=h,f=t,i=r[t>>2]|0}r[f>>2]=n,r[o>>2]=i,l=e+8|0,h=r[c>>2]|0,r[c>>2]=r[l>>2],r[l>>2]=h,l=t+8|0,c=e+12|0,t=r[l>>2]|0,r[l>>2]=r[c>>2],r[c>>2]=t,r[e>>2]=r[o>>2]}function St(t){t=t|0;var e=0,i=0,n=0,o=0;if(i=r[t+4>>2]|0,n=t+8|0,e=r[n>>2]|0,(e|0)!=(i|0))do o=e+-8|0,r[n>>2]=o,rt(o),e=r[n>>2]|0;while((e|0)!=(i|0));e=r[t>>2]|0,e|0&&h0(e,(r[t+12>>2]|0)-e|0)}function Ct(t){return t=t|0,536870911}function Jt(t){t=t|0,r[t>>2]=4716}function Ne(t){t=t|0,Rc(t),xc(t+3980|0),wc(t+4380|0),u[t+4780>>0]=0,u[t+4781>>0]=0}function Ds(t){t=t|0,r[t>>2]=4692,Xe(t+8|0),vt(t)}function pc(t){t=t|0,Ds(t),$(t)}function Mc(t,e){return t=t|0,e=e|0,e|0}function yc(t,e){return t=t|0,e=e|0,Te(t+8|0,r[t+4>>2]|0,e)|0}function vt(t){t=t|0}function dc(t){t=t|0,vt(t),$(t)}function gc(t,e){return t=t|0,e=e|0,e|0}function Rc(t){t=t|0;var e=0,i=0;Qs(t),Ls(t+52|0),Ls(t+436|0),P0(t+852|0,64,0,0),u[t+3976>>0]=0,e=t+20|0,i=e+32|0;do E[e>>1]=0,e=e+2|0;while((e|0)<(i|0));e=b(44)|0,P0(e,256,0,0),r[t+896>>2]=e,e=b(44)|0,P0(e,256,0,0),r[t+900>>2]=e,e=t+820|0,r[e>>2]=0,r[e+4>>2]=0,r[e+8>>2]=0,r[e+12>>2]=0,r[e+16>>2]=0,r[e+20>>2]=0,r[e+24>>2]=0,r[e+28>>2]=0,e=0;do i=b(44)|0,P0(i,256,0,0),r[t+904+(e<<2)>>2]=i,i=b(44)|0,P0(i,256,0,0),r[t+1928+(e<<2)>>2]=i,i=b(44)|0,P0(i,256,0,0),r[t+2952+(e<<2)>>2]=i,e=e+1|0;while(e>>>0<256)}function xc(t){t=t|0,pt(t,16,4,8,0),pt(t+80|0,16,1,8,0),pt(t+160|0,32,2,8,0),pt(t+240|0,32,22,8,0),pt(t+320|0,32,20,8,0)}function wc(t){t=t|0,st(t,16,4,8,0),st(t+80|0,16,1,8,0),st(t+160|0,32,2,8,0),st(t+240|0,32,22,8,0),st(t+320|0,32,20,8,0)}function _c(t){t=t|0,Mt(t+320|0),Mt(t+240|0),Mt(t+160|0),Mt(t+80|0),Mt(t)}function Zc(t){t=t|0;var e=0,i=0;e=r[t+896>>2]|0,e|0&&(G0(e),$(e)),e=r[t+900>>2]|0,e|0&&(G0(e),$(e)),i=0;do e=r[t+904+(i<<2)>>2]|0,e|0&&(G0(e),$(e)),e=r[t+1928+(i<<2)>>2]|0,e|0&&(G0(e),$(e)),e=r[t+2952+(i<<2)>>2]|0,e|0&&(G0(e),$(e)),i=i+1|0;while((i|0)!=256);G0(t+852|0)}function Qs(t){t=t|0;var e=0;u[t>>0]=0,u[t+1>>0]=0,u[t+2>>0]=0,u[t+3>>0]=0,e=t+4|0,u[e>>0]=0,u[e+1>>0]=0,u[e+2>>0]=0,u[e+3>>0]=0,t=t+12|0,e=t,u[e>>0]=0,u[e+1>>0]=0,u[e+2>>0]=0,u[e+3>>0]=0,t=t+4|0,u[t>>0]=0,u[t+1>>0]=0,u[t+2>>0]=0,u[t+3>>0]=0}function Ls(t){t=t|0;var e=0;e=t+384|0;do Fc(t),t=t+24|0;while((t|0)!=(e|0))}function Fc(t){t=t|0,kc(t)}function kc(t){t=t|0,r[t>>2]=0,r[t+4>>2]=0,r[t+8>>2]=0,r[t+12>>2]=0,r[t+16>>2]=0,u[t+20>>0]=1}function pt(t,e,i,n,o){t=t|0,e=e|0,i=i|0,n=n|0,o=o|0;var f=0;r[t+4>>2]=e,r[t+8>>2]=i,r[t+12>>2]=n,r[t+16>>2]=o,r[t+36>>2]=0,r[t+40>>2]=0,r[t+44>>2]=0,Xs(t+48|0),r[t+68>>2]=0,r[t+72>>2]=0,r[t+76>>2]=0;do if(o){for(n=t+20|0,r[n>>2]=0,r[t+24>>2]=o,i=o,f=0;i=i>>>1,e=f+1|0,i;)f=e;r[n>>2]=(1<<f|0)==(o|0)?f:e,i=o>>>1,r[t+28>>2]=0-i,i=o+-1-i|0}else if(i=t+20|0,(e+-1|0)>>>0<31){r[i>>2]=e,o=1<<e,r[t+24>>2]=o,i=o>>>1,r[t+28>>2]=0-i,i=o+-1-i|0;break}else{r[i>>2]=32,r[t+24>>2]=0,r[t+28>>2]=-2147483648,i=2147483647;break}while(0);r[t+32>>2]=i,r[t>>2]=0}function Mt(t){t=t|0;var e=0,i=0,n=0,o=0,f=0;if(f=t+36|0,i=r[f>>2]|0,n=t+40|0,e=r[n>>2]|0,(e|0)!=(i|0))do e=e+-44|0,G0(e);while((e|0)!=(i|0));if(r[n>>2]=i,n=t+68|0,o=r[n>>2]|0,i=t+72|0,e=r[i>>2]|0,(e|0)!=(o|0))do e=e+-44|0,G0(e);while((e|0)!=(o|0));r[i>>2]=o,ci(n),ci(f)}function Xe(t){t=t|0,Vc(t+4380|0),_c(t+3980|0),Zc(t)}function Vc(t){t=t|0,ft(t+320|0),ft(t+240|0),ft(t+160|0),ft(t+80|0),ft(t)}function Te(t,e,i){t=t|0,e=e|0,i=i|0;var n=0,o=0,f=0,h=0,l=0,c=0,M=0,w=0,_=0;if(w=m,m=m+32|0,M=w,n=t+4781|0,u[n>>0]|0||(Wc(t+4380|0),u[n>>0]=1),n=t+3976|0,u[n>>0]|0)l=Y0(e,t+852|0)|0,l?(l&32|0&&$s((Y0(e,r[t+904+(((qs(t)|0)&255)<<2)>>2]|0)|0)&255,t),c=t+14|0,f=u[c>>0]|0,n=f&7,f=(f&255)>>>3&7,o=Z[16+(f<<3)+n>>0]|0,n=Z[80+(f<<3)+n>>0]|0,l&16?(_=t+20+(o<<1)|0,h=(Q0(t+4380|0,e,C[_>>1]|0,o>>>0<3?o:3)|0)&65535,E[_>>1]=h):h=E[t+20+(o<<1)>>1]|0,E[t+12>>1]=h,l&8|0&&(_=t+15|0,u[_>>0]=Y0(e,r[t+1928+(Z[_>>0]<<2)>>2]|0)|0),l&4|0&&(c=Y0(e,r[t+896+(((Z[c>>0]|0)>>>6&1)<<2)>>2]|0)|0,_=t+16|0,u[_>>0]=Vr(c+(u[_>>0]|0)|0)|0),l&2|0&&(_=t+17|0,u[_>>0]=Y0(e,r[t+2952+(Z[_>>0]<<2)>>2]|0)|0),l&1&&(_=t+18|0,E[_>>1]=Q0(t+4460|0,e,C[_>>1]|0,0)|0)):(_=u[t+14>>0]|0,n=_&7,_=(_&255)>>>3&7,f=_,o=Z[16+(_<<3)+n>>0]|0,n=Z[80+(_<<3)+n>>0]|0),h=t+52+(o*24|0)|0,l=t+4540|0,c=(f|0)==1&1,f=Q0(l,e,Ks(h)|0,c)|0,r[M>>2]=f,r[t>>2]=(r[t>>2]|0)+f,bs(h,M),h=t+436+(o*24|0)|0,f=Ks(h)|0,o=Sn(l)|0,_=t+4620|0,o=Q0(_,e,f,(o>>>0<20?o&-2:20)|c)|0,r[M>>2]=o,f=t+4|0,r[f>>2]=(r[f>>2]|0)+o,bs(h,M),M=Sn(l)|0,M=(Sn(_)|0)+M|0,_=t+820+(n<<2)|0,M=Q0(t+4700|0,e,r[_>>2]|0,(M>>>0<36?M>>>1&2147483646:18)|c)|0,r[t+8>>2]=M,r[_>>2]=M,Xc(t,i);else{u[n>>0]=1,Mi(pi(e)|0,i,20),Nc(M,i),f=t,n=M,o=f+20|0;do u[f>>0]=u[n>>0]|0,f=f+1|0,n=n+1|0;while((f|0)<(o|0));E[t+12>>1]=0}return m=w,i+20|0}function Wc(t){t=t|0,ot(t),ot(t+80|0),ot(t+160|0),ot(t+240|0),ot(t+320|0)}function pi(t){return t=t|0,r[t>>2]|0}function Mi(t,e,i){t=t|0,e=e|0,i=i|0;var n=0,o=0,f=0,h=0,l=0,c=0;if(c=t+4|0,n=r[c>>2]|0,l=(r[t+8>>2]|0)-n|0,l=l>>>0>i>>>0?i:l,h=t+12|0,o=(r[h>>2]|0)+n|0,f=o+l|0,l){for(n=o,o=e;u[o>>0]=u[n>>0]|0,n=n+1|0,(n|0)!=(f|0);)o=o+1|0;n=r[c>>2]|0}if(r[c>>2]=n+l,i=i-l|0,i|0){for(Ts(t),o=(r[h>>2]|0)+(r[c>>2]|0)|0,f=o+i|0,n=e+l|0;u[n>>0]=u[o>>0]|0,o=o+1|0,(o|0)!=(f|0);)n=n+1|0;r[c>>2]=(r[c>>2]|0)+i}}function Nc(t,e){t=t|0,e=e|0,Qs(t),r[t>>2]=yi(e)|0,r[t+4>>2]=yi(e+4|0)|0,r[t+8>>2]=yi(e+8|0)|0,E[t+12>>1]=Wr(e+12|0)|0,$s(Cn(e+14|0)|0,t),u[t+15>>0]=Cn(e+15|0)|0,u[t+16>>0]=to(e+16|0)|0,u[t+17>>0]=to(e+17|0)|0,E[t+18>>1]=Wr(e+18|0)|0}function qs(t){return t=t|0,u[t+14>>0]|0}function $s(t,e){t=t|0,e=e|0,u[e+14>>0]=t}function Vr(t){return t=t|0,t&255|0}function Ks(t){return t=t|0,r[t+8>>2]|0}function bs(t,e){t=t|0,e=e|0;var i=0,n=0,o=0,f=0,h=0,l=0,c=0;c=t+20|0;do if(u[c>>0]|0){if(o=r[e>>2]|0,h=t+8|0,i=r[h>>2]|0,f=t+12|0,n=r[f>>2]|0,(o|0)>=(i|0)){i=t+16|0,(o|0)<(n|0)?(r[i>>2]=n,r[f>>2]=r[e>>2]):r[i>>2]=o,u[c>>0]=0;break}if(r[t+16>>2]=n,r[f>>2]=i,i=r[e>>2]|0,n=r[t>>2]|0,o=t+4|0,f=r[o>>2]|0,(i|0)<(n|0)){r[h>>2]=f,r[o>>2]=n,r[t>>2]=r[e>>2];break}if((i|0)<(f|0)){r[h>>2]=f,r[o>>2]=r[e>>2];break}else{r[h>>2]=i;break}}else{if(l=t+8|0,i=r[l>>2]|0,n=r[e>>2]|0,o=t+4|0,f=r[o>>2]|0,(i|0)>=(n|0)){(f|0)<(n|0)?(r[t>>2]=f,r[o>>2]=r[e>>2]):r[t>>2]=n,u[c>>0]=1;break}if(r[t>>2]=f,r[o>>2]=i,o=t+16|0,f=r[o>>2]|0,h=r[e>>2]|0,i=t+12|0,n=r[i>>2]|0,(f|0)<(h|0)){r[l>>2]=n,r[i>>2]=f,r[o>>2]=r[e>>2];break}if((n|0)<(h|0)){r[l>>2]=n,r[i>>2]=r[e>>2];break}else{r[l>>2]=h;break}}while(0)}function Sn(t){return t=t|0,r[t>>2]|0}function Xc(t,e){t=t|0,e=e|0;var i=0;gi(Z[t>>0]|Z[t+1>>0]<<8|Z[t+2>>0]<<16|Z[t+3>>0]<<24,e),i=t+4|0,gi(Z[i>>0]|Z[i+1>>0]<<8|Z[i+2>>0]<<16|Z[i+3>>0]<<24,e+4|0),i=t+8|0,gi(Z[i>>0]|Z[i+1>>0]<<8|Z[i+2>>0]<<16|Z[i+3>>0]<<24,e+8|0),i=t+12|0,Nr(Z[i>>0]|Z[i+1>>0]<<8,e+12|0),Jn(qs(t)|0,e+14|0),Jn(u[t+15>>0]|0,e+15|0),ro(u[t+16>>0]|0,e+16|0),ro(u[t+17>>0]|0,e+17|0),t=t+18|0,Nr(Z[t>>0]|Z[t+1>>0]<<8,e+18|0)}function yi(t){return t=t|0,di(t)|0}function Wr(t){return t=t|0,(u[t+1>>0]<<8|Z[t>>0])&65535|0}function Cn(t){return t=t|0,u[t>>0]|0}function to(t){return t=t|0,u[t>>0]|0}function di(t){return t=t|0,(Z[t+1>>0]|0)<<8|(Z[t>>0]|0)|(Z[t+2>>0]|0)<<16|(Z[t+3>>0]|0)<<24|0}function gi(t,e){t=t|0,e=e|0,Ri(t,e)}function Nr(t,e){t=t|0,e=e|0,u[e+1>>0]=(t&65535)>>>8,u[e>>0]=t}function Jn(t,e){t=t|0,e=e|0,u[e>>0]=t}function ro(t,e){t=t|0,e=e|0,u[e>>0]=t}function Ri(t,e){t=t|0,e=e|0,u[e+3>>0]=t>>>24,u[e+2>>0]=t>>>16,u[e+1>>0]=t>>>8,u[e>>0]=t}function It(t,e){t=t|0,e=e|0}function Tc(t){t=t|0,C0(t),$(t)}function Uc(t){t=t|0,t=r[t+12>>2]|0,t|0&&_0[r[(r[t>>2]|0)+4>>2]&255](t)}function Gc(t,e){return t=t|0,e=e|0,((r[e+4>>2]|0)==9202?t+12|0:0)|0}function zc(t){t=t|0,h0(t,16)}function Ec(t,e){t=t|0,e=e|0,Jt(t),r[t>>2]=4768,r[t+4>>2]=e,In(t+8|0)}function Bc(t,e,i){t=t|0,e=e|0,i=i|0;var n=0,o=0;i=m,m=m+16|0,n=i,r[t>>2]=e,o=b(16)|0,r[o+4>>2]=0,r[o+8>>2]=0,r[o>>2]=4792,r[o+12>>2]=e,r[t+4>>2]=o,r[n>>2]=e,r[n+4>>2]=e,It(t,n),m=i}function In(t){t=t|0,Jc(t),Ic(t+164|0),Oc(t+244|0),u[t+324>>0]=0,u[t+325>>0]=0}function eo(t){t=t|0,r[t>>2]=4768,On(t+8|0),vt(t)}function Sc(t){t=t|0,eo(t),$(t)}function Cc(t,e){return t=t|0,e=e|0,Ue(t+8|0,r[t+4>>2]|0,e)|0}function Jc(t){t=t|0;var e=0,i=0,n=0,o=0,f=0,h=0,l=0;for(f=m,m=m+16|0,n=f,u[t>>0]=0,P0(t+4|0,516,0,0),P0(t+48|0,6,0,0),r[t+92>>2]=0,r[t+96>>2]=0,i=t+100|0,Yc(i),io(n),o=r[n>>2]|0,n=r[n+4>>2]|0,e=4;h=i,l=h,u[l>>0]=o,u[l+1>>0]=o>>8,u[l+2>>0]=o>>16,u[l+3>>0]=o>>24,h=h+4|0,u[h>>0]=n,u[h+1>>0]=n>>8,u[h+2>>0]=n>>16,u[h+3>>0]=n>>24,e=e+-1|0,e;)i=i+8|0;l=t+132|0,r[l>>2]=0,r[l+4>>2]=0,r[l+8>>2]=0,r[l+12>>2]=0,r[l+16>>2]=0,r[l+20>>2]=0,r[l+24>>2]=0,r[l+28>>2]=0,m=f}function Ic(t){t=t|0,pt(t,32,9,8,0)}function Oc(t){t=t|0,st(t,32,9,8,0)}function jc(t){t=t|0,Mt(t)}function Pc(t){t=t|0,G0(t+48|0),G0(t+4|0)}function Yc(t){t=t|0;var e=0;e=t+32|0;do io(t),t=t+8|0;while((t|0)!=(e|0))}function io(t){t=t|0;var e=0;e=t,u[e>>0]=0,u[e+1>>0]=0,u[e+2>>0]=0,u[e+3>>0]=0,t=t+4|0,u[t>>0]=0,u[t+1>>0]=0,u[t+2>>0]=0,u[t+3>>0]=0}function On(t){t=t|0,Hc(t+244|0),jc(t+164|0),Pc(t)}function Hc(t){t=t|0,ft(t)}function Ue(t,e,i){t=t|0,e=e|0,i=i|0;var n=0,o=0,f=0,h=0,l=0;if(n=t+325|0,u[n>>0]|0||(Dc(t+244|0),u[n>>0]=1),!(u[t>>0]|0))u[t>>0]=1,Mi(pi(e)|0,i,8),f=Qc(i)|0,h=y0()|0,t=t+100|0,e=t,u[e>>0]=f,u[e+1>>0]=f>>8,u[e+2>>0]=f>>16,u[e+3>>0]=f>>24,t=t+4|0,u[t>>0]=h,u[t+1>>0]=h>>8,u[t+2>>0]=h>>16,u[t+3>>0]=h>>24;else{h=t+92|0;t:do if(r[t+132+(r[h>>2]<<2)>>2]|0){if(f=Y0(e,t+4|0)|0,(f|0)==1){n=Q0(t+244|0,e,r[t+132+(r[h>>2]<<2)>>2]|0,1)|0,l=r[h>>2]|0,e=t+100+(l<<3)|0,f=e,o=f,f=f+4|0,n=yt(Z[o>>0]|Z[o+1>>0]<<8|Z[o+2>>0]<<16|Z[o+3>>0]<<24|0,Z[f>>0]|Z[f+1>>0]<<8|Z[f+2>>0]<<16|Z[f+3>>0]<<24|0,n|0,((n|0)<0)<<31>>31|0)|0,f=y0()|0,o=e,u[o>>0]=n,u[o+1>>0]=n>>8,u[o+2>>0]=n>>16,u[o+3>>0]=n>>24,e=e+4|0,u[e>>0]=f,u[e+1>>0]=f>>8,u[e+2>>0]=f>>16,u[e+3>>0]=f>>24,r[t+148+(l<<2)>>2]=0;break}if((f|0)>=511){if((f|0)==512){l=t+96|0,r[l>>2]=(r[l>>2]|0)+1&3,f=t+100+(r[h>>2]<<3)+4|0,f=Q0(t+244|0,e,Z[f>>0]|Z[f+1>>0]<<8|Z[f+2>>0]<<16|Z[f+3>>0]<<24,8)|0,n=t+100+(r[l>>2]<<3)|0,o=n,u[o>>0]=0,u[o+1>>0]=0,u[o+2>>0]=0,u[o+3>>0]=0,n=n+4|0,u[n>>0]=f,u[n+1>>0]=f>>8,u[n+2>>0]=f>>16,u[n+3>>0]=f>>24,n=no(e)|0,l=r[l>>2]|0,e=t+100+(l<<3)|0,f=e,o=f,f=f+4|0,f=Z[f>>0]|Z[f+1>>0]<<8|Z[f+2>>0]<<16|Z[f+3>>0]<<24,n=Z[o>>0]|Z[o+1>>0]<<8|Z[o+2>>0]<<16|Z[o+3>>0]<<24|n,o=e,u[o>>0]=n,u[o+1>>0]=n>>8,u[o+2>>0]=n>>16,u[o+3>>0]=n>>24,e=e+4|0,u[e>>0]=f,u[e+1>>0]=f>>8,u[e+2>>0]=f>>16,u[e+3>>0]=f>>24,r[h>>2]=l,r[t+132+(l<<2)>>2]=0,r[t+148+(r[h>>2]<<2)>>2]=0;break}if((f|0)<=511)break;r[h>>2]=(r[h>>2]|0)+f&3,Ue(t,e,i)|0;break}do if(!f)n=Q0(t+244|0,e,0,7)|0,o=t+148+(r[h>>2]<<2)|0,r[o>>2]=(r[o>>2]|0)+1,o=r[h>>2]|0,(r[t+148+(o<<2)>>2]|0)>3&&(r[t+132+(o<<2)>>2]=n,r[t+148+(r[h>>2]<<2)>>2]=0);else{if((f|0)<500)if(n=t+244|0,o=a0(r[t+132+(r[h>>2]<<2)>>2]|0,f)|0,(f|0)<10){n=Q0(n,e,o,2)|0;break}else{n=Q0(n,e,o,3)|0;break}if((f|0)==500){if(n=Q0(t+244|0,e,(r[t+132+(r[h>>2]<<2)>>2]|0)*500|0,4)|0,o=t+148+(r[h>>2]<<2)|0,r[o>>2]=(r[o>>2]|0)+1,o=r[h>>2]|0,(r[t+148+(o<<2)>>2]|0)<=3)break;r[t+132+(o<<2)>>2]=n,r[t+148+(r[h>>2]<<2)>>2]=0;break}if(n=500-f|0,o=t+244|0,f=r[t+132+(r[h>>2]<<2)>>2]|0,(n|0)>-10){n=Q0(o,e,a0(f,n)|0,5)|0;break}n=Q0(o,e,a0(f,-10)|0,6)|0,o=t+148+(r[h>>2]<<2)|0,r[o>>2]=(r[o>>2]|0)+1,o=r[h>>2]|0,(r[t+148+(o<<2)>>2]|0)>3&&(r[t+132+(o<<2)>>2]=n,r[t+148+(r[h>>2]<<2)>>2]=0)}while(0);l=t+100+(r[h>>2]<<3)|0,o=l,e=o,o=o+4|0,o=yt(Z[e>>0]|Z[e+1>>0]<<8|Z[e+2>>0]<<16|Z[e+3>>0]<<24|0,Z[o>>0]|Z[o+1>>0]<<8|Z[o+2>>0]<<16|Z[o+3>>0]<<24|0,n|0,((n|0)<0)<<31>>31|0)|0,e=y0()|0,f=l,u[f>>0]=o,u[f+1>>0]=o>>8,u[f+2>>0]=o>>16,u[f+3>>0]=o>>24,l=l+4|0,u[l>>0]=e,u[l+1>>0]=e>>8,u[l+2>>0]=e>>16,u[l+3>>0]=e>>24}else switch(n=Y0(e,t+48|0)|0,n|0){case 1:{e=Q0(t+244|0,e,0,0)|0,r[t+132+(r[h>>2]<<2)>>2]=e,e=r[h>>2]|0,l=r[t+132+(e<<2)>>2]|0,f=t+100+(e<<3)|0,o=f,n=o,o=o+4|0,l=yt(Z[n>>0]|Z[n+1>>0]<<8|Z[n+2>>0]<<16|Z[n+3>>0]<<24|0,Z[o>>0]|Z[o+1>>0]<<8|Z[o+2>>0]<<16|Z[o+3>>0]<<24|0,l|0,((l|0)<0)<<31>>31|0)|0,o=y0()|0,n=f,u[n>>0]=l,u[n+1>>0]=l>>8,u[n+2>>0]=l>>16,u[n+3>>0]=l>>24,f=f+4|0,u[f>>0]=o,u[f+1>>0]=o>>8,u[f+2>>0]=o>>16,u[f+3>>0]=o>>24,r[t+148+(e<<2)>>2]=0;break t}case 2:{l=t+96|0,r[l>>2]=(r[l>>2]|0)+1&3,f=t+100+(r[h>>2]<<3)+4|0,f=Q0(t+244|0,e,Z[f>>0]|Z[f+1>>0]<<8|Z[f+2>>0]<<16|Z[f+3>>0]<<24,8)|0,n=t+100+(r[l>>2]<<3)|0,o=n,u[o>>0]=0,u[o+1>>0]=0,u[o+2>>0]=0,u[o+3>>0]=0,n=n+4|0,u[n>>0]=f,u[n+1>>0]=f>>8,u[n+2>>0]=f>>16,u[n+3>>0]=f>>24,n=no(e)|0,l=r[l>>2]|0,e=t+100+(l<<3)|0,f=e,o=f,f=f+4|0,f=Z[f>>0]|Z[f+1>>0]<<8|Z[f+2>>0]<<16|Z[f+3>>0]<<24,n=Z[o>>0]|Z[o+1>>0]<<8|Z[o+2>>0]<<16|Z[o+3>>0]<<24|n,o=e,u[o>>0]=n,u[o+1>>0]=n>>8,u[o+2>>0]=n>>16,u[o+3>>0]=n>>24,e=e+4|0,u[e>>0]=f,u[e+1>>0]=f>>8,u[e+2>>0]=f>>16,u[e+3>>0]=f>>24,r[h>>2]=l,r[t+132+(l<<2)>>2]=0,r[t+148+(r[h>>2]<<2)>>2]=0;break t}default:{if((n|0)<=2)break t;r[h>>2]=n+2+(r[h>>2]|0)&3,Ue(t,e,i)|0;break t}}while(0);Lc(t+100+(r[h>>2]<<3)|0,i)}return i+8|0}function Dc(t){t=t|0,ot(t)}function Qc(t){t=t|0;var e=0,i=0,n=0;return e=m,m=m+16|0,i=e,n=di(t)|0,qc(i,n,di(t+4|0)|0),t=r[i>>2]|0,Z0(r[i+4>>2]|0),m=e,t|0}function no(t){t=t|0;var e=0;return e=(Bn(t)|0)&65535,((Bn(t)|0)&65535)<<16|e|0}function Lc(t,e){t=t|0,e=e|0;var i=0;i=t,Ri(Z[i>>0]|Z[i+1>>0]<<8|Z[i+2>>0]<<16|Z[i+3>>0]<<24,e),t=t+4|0,Ri(Z[t>>0]|Z[t+1>>0]<<8|Z[t+2>>0]<<16|Z[t+3>>0]<<24,e+4|0)}function qc(t,e,i){t=t|0,e=e|0,i=i|0;var n=0;n=t,u[n>>0]=e,u[n+1>>0]=e>>8,u[n+2>>0]=e>>16,u[n+3>>0]=e>>24,e=t+4|0,u[e>>0]=i,u[e+1>>0]=i>>8,u[e+2>>0]=i>>16,u[e+3>>0]=i>>24}function $c(t){t=t|0,C0(t),$(t)}function Kc(t){t=t|0,t=r[t+12>>2]|0,t|0&&_0[r[(r[t>>2]|0)+4>>2]&255](t)}function bc(t,e){return t=t|0,e=e|0,((r[e+4>>2]|0)==9890?t+12|0:0)|0}function t4(t){t=t|0,h0(t,16)}function r4(t,e){t=t|0,e=e|0,Jt(t),r[t>>2]=4820,r[t+4>>2]=e,so(t+8|0)}function e4(t,e,i){t=t|0,e=e|0,i=i|0;var n=0,o=0;i=m,m=m+16|0,n=i,r[t>>2]=e,o=b(16)|0,r[o+4>>2]=0,r[o+8>>2]=0,r[o>>2]=4844,r[o+12>>2]=e,r[t+4>>2]=o,r[n>>2]=e,r[n+4>>2]=e,It(t,n),m=i}function so(t){t=t|0,u[t>>0]=0,fo(t+1|0),P0(t+8|0,128,0,0),P0(t+52|0,256,0,0),P0(t+96|0,256,0,0),P0(t+140|0,256,0,0),P0(t+184|0,256,0,0),P0(t+228|0,256,0,0),P0(t+272|0,256,0,0)}function oo(t){t=t|0,r[t>>2]=4820,Ao(t+8|0),vt(t)}function i4(t){t=t|0,oo(t),$(t)}function n4(t,e){return t=t|0,e=e|0,ho(t+8|0,r[t+4>>2]|0,e)|0}function fo(t){t=t|0;var e=0;u[t>>0]=0,u[t+1>>0]=0,e=t+2|0,u[e>>0]=0,u[e+1>>0]=0,t=t+4|0,u[t>>0]=0,u[t+1>>0]=0}function Ao(t){t=t|0,G0(t+272|0),G0(t+228|0),G0(t+184|0),G0(t+140|0),G0(t+96|0),G0(t+52|0),G0(t+8|0)}function ho(t,e,i){t=t|0,e=e|0,i=i|0;var n=0,o=0,f=0,h=0,l=0,c=0,M=0,w=0,_=0;if(w=m,m=m+16|0,c=w,!(u[t>>0]|0))u[t>>0]=1,Mi(pi(e)|0,i,6),s4(c,i),M=t+1|0,u[M>>0]=u[c>>0]|0,u[M+1>>0]=u[c+1>>0]|0,u[M+2>>0]=u[c+2>>0]|0,u[M+3>>0]=u[c+3>>0]|0,u[M+4>>0]=u[c+4>>0]|0,u[M+5>>0]=u[c+5>>0]|0;else{M=Y0(e,t+8|0)|0,fo(c),M&1?(l=(Y0(e,t+52|0)|0)&255,n=t+1|0,n=(Vr(l+((Z[n>>0]|Z[n+1>>0]<<8)&255)|0)|0)&255):(n=t+1|0,n=(Z[n>>0]|Z[n+1>>0]<<8)&255),E[c>>1]=n,M&2?(n=(Y0(e,t+96|0)|0)&255,l=t+1|0,n=((Vr((((Z[l>>0]|Z[l+1>>0]<<8)&65535)>>>8)+n|0)|0)&255)<<8,n=(n|C[c>>1])&65535):(l=t+1|0,n=n|(Z[l>>0]|Z[l+1>>0]<<8)&-256),E[c>>1]=n;do if(M&64)if(h=t+1|0,o=(n&255)-((Z[h>>0]|Z[h+1>>0]<<8)&255)|0,M&4?(n=(Y0(e,t+140|0)|0)&255,l=t+3|0,l=o+((Z[l>>0]|Z[l+1>>0]<<8)&255)|0,n=(Vr(((l|0)<1?0:(l|0)>254?255:l&255)+n|0)|0)&255):(n=t+3|0,n=(Z[n>>0]|Z[n+1>>0]<<8)&255),l=c+2|0,E[l>>1]=n,M&16?(n=Y0(e,t+228|0)|0,_=t+3|0,f=t+5|0,f=((o+(E[l>>1]&255)-((Z[_>>0]|Z[_+1>>0]<<8)&255)|0)/2|0)+((Z[f>>0]|Z[f+1>>0]<<8)&255)|0,n=(Vr(((f|0)<1?0:(f|0)>254?255:f&255)+(n&255)|0)|0)&255):(n=t+5|0,n=(Z[n>>0]|Z[n+1>>0]<<8)&255),f=c+4|0,E[f>>1]=n,n=((C[c>>1]|0)>>>8)-(((Z[h>>0]|Z[h+1>>0]<<8)&65535)>>>8)|0,M&8?(o=(Y0(e,t+184|0)|0)&255,_=t+3|0,_=(((Z[_>>0]|Z[_+1>>0]<<8)&65535)>>>8)+n|0,o=((Vr(((_|0)<1?0:(_|0)>254?255:_&255)+o|0)|0)&255)<<8,o=(o|C[l>>1])&65535):(o=t+3|0,o=E[l>>1]|(Z[o>>0]|Z[o+1>>0]<<8)&-256),E[l>>1]=o,M&32){_=Y0(e,t+272|0)|0,e=t+3|0,M=t+5|0,M=((((C[l>>1]|0)>>>8)+n-(((Z[e>>0]|Z[e+1>>0]<<8)&65535)>>>8)|0)/2|0)+(((Z[M>>0]|Z[M+1>>0]<<8)&65535)>>>8)|0,_=((Vr(((M|0)<1?0:(M|0)>254?255:M&255)+(_&255)|0)|0)&255)<<8,E[f>>1]=_|C[f>>1];break}else{_=t+5|0,E[f>>1]=E[f>>1]|(Z[_>>0]|Z[_+1>>0]<<8)&-256;break}else E[c+2>>1]=n,E[c+4>>1]=n;while(0);_=t+1|0,u[_>>0]=u[c>>0]|0,u[_+1>>0]=u[c+1>>0]|0,u[_+2>>0]=u[c+2>>0]|0,u[_+3>>0]=u[c+3>>0]|0,u[_+4>>0]=u[c+4>>0]|0,u[_+5>>0]=u[c+5>>0]|0,o4(_,i)}return m=w,i+6|0}function s4(t,e){t=t|0,e=e|0;var i=0,n=0;n=Wr(e)|0,i=Wr(e+2|0)|0,f4(t,n,i,Wr(e+4|0)|0)}function o4(t,e){t=t|0,e=e|0;var i=0;Nr(Z[t>>0]|Z[t+1>>0]<<8,e),i=t+2|0,Nr(Z[i>>0]|Z[i+1>>0]<<8,e+2|0),t=t+4|0,Nr(Z[t>>0]|Z[t+1>>0]<<8,e+4|0)}function f4(t,e,i,n){t=t|0,e=e|0,i=i|0,n=n|0,u[t>>0]=e,u[t+1>>0]=e>>8,e=t+2|0,u[e>>0]=i,u[e+1>>0]=i>>8,i=t+4|0,u[i>>0]=n,u[i+1>>0]=n>>8}function A4(t){t=t|0,C0(t),$(t)}function h4(t){t=t|0,t=r[t+12>>2]|0,t|0&&_0[r[(r[t>>2]|0)+4>>2]&255](t)}function l4(t,e){return t=t|0,e=e|0,((r[e+4>>2]|0)==10570?t+12|0:0)|0}function u4(t){t=t|0,h0(t,16)}function a4(t,e,i){t=t|0,e=e|0,i=i|0,Jt(t),r[t>>2]=4872,r[t+4>>2]=e,m4(t+8|0,i)}function c4(t,e,i){t=t|0,e=e|0,i=i|0;var n=0,o=0;i=m,m=m+16|0,n=i,r[t>>2]=e,o=b(16)|0,r[o+4>>2]=0,r[o+8>>2]=0,r[o>>2]=4896,r[o+12>>2]=e,r[t+4>>2]=o,r[n>>2]=e,r[n+4>>2]=e,It(t,n),m=i}function m4(t,e){t=t|0,e=e|0,r[t>>2]=r[e>>2],u[t+4>>0]=u[e+4>>0]|0,uo(t+8|0,e+8|0),uo(t+20|0,e+20|0),M4(t+32|0,e+32|0)}function lo(t){t=t|0,r[t>>2]=4872,Os(t+8|0),vt(t)}function v4(t){t=t|0,lo(t),$(t)}function p4(t,e){return t=t|0,e=e|0,T4(t+8|0,r[t+4>>2]|0,e)|0}function uo(t,e){t=t|0,e=e|0;var i=0,n=0;r[t>>2]=0,r[t+4>>2]=0,r[t+8>>2]=0,i=e+4|0,n=(r[i>>2]|0)-(r[e>>2]|0)|0,n|0&&(ao(t,n),y4(t,r[e>>2]|0,r[i>>2]|0,n))}function M4(t,e){t=t|0,e=e|0;var i=0,n=0,o=0,f=0,h=0;i=m,m=m+32|0,n=i+24|0,o=i+16|0,h=i+8|0,f=i,r[t>>2]=0,r[t+4>>2]=0,r[t+8>>2]=0,r[t+12>>2]=0,r[t+16>>2]=0,r[t+20>>2]=0,W4(h,e),N4(f,e),r[o>>2]=r[h>>2],r[o+4>>2]=r[h+4>>2],r[n>>2]=r[f>>2],r[n+4>>2]=r[f+4>>2],g4(t,o,n,0),m=i}function ao(t,e){t=t|0,e=e|0;var i=0;if((d4(t)|0)>>>0<e>>>0)L0(t);else{i=b(e)|0,r[t+4>>2]=i,r[t>>2]=i,r[t+8>>2]=i+e;return}}function y4(t,e,i,n){t=t|0,e=e|0,i=i|0,n=n|0;var o=0,f=0;f=m,m=m+16|0,o=f,mo(o,t,n),n=o+4|0,t=i-e|0,(t|0)>0&&(lt(r[n>>2]|0,e|0,t|0)|0,r[n>>2]=(r[n>>2]|0)+t),vo(o),m=f}function co(t){t=t|0;var e=0,i=0;e=r[t>>2]|0,i=e,e|0&&(r[t+4>>2]=i,h0(e,(r[t+8>>2]|0)-i|0))}function d4(t){return t=t|0,2147483647}function mo(t,e,i){t=t|0,e=e|0,i=i|0,r[t>>2]=e,e=r[e+4>>2]|0,r[t+4>>2]=e,r[t+8>>2]=e+i}function vo(t){t=t|0,r[(r[t>>2]|0)+4>>2]=r[t+4>>2]}function g4(t,e,i,n){t=t|0,e=e|0,i=i|0,n=n|0;var o=0,f=0,h=0,l=0,c=0,M=0,w=0,_=0,V=0,U=0,G=0,T=0;if(T=m,m=m+96|0,G=T+80|0,_=T+64|0,c=T+48|0,M=T+40|0,w=T+8|0,l=T,V=T+32|0,U=T+16|0,h=e,f=r[h>>2]|0,h=r[h+4>>2]|0,o=i,i=r[o>>2]|0,o=r[o+4>>2]|0,n=f,(o|0)==(h|0)?h=0:h=((o-(r[i>>2]|0)|0)/44|0)+((i-f>>2)*93|0)+((h-(r[f>>2]|0)|0)/-44|0)|0,i=(r[t+8>>2]|0)-(r[t+4>>2]|0)|0,i=(i|0?((i>>2)*93|0)+-1|0:0)-((r[t+20>>2]|0)+(r[t+16>>2]|0))|0,h>>>0>i>>>0&&po(t,h-i|0),Ge(M,t),Ge(l,t),o=l,i=r[o>>2]|0,o=r[o+4>>2]|0,f=w,r[f>>2]=i,r[f+4>>2]=o,f=i,h|0&&(i=((o-(r[i>>2]|0)|0)/44|0)+h|0,(i|0)>0?(l=(i>>>0)/93|0,h=f+(l<<2)|0,r[w>>2]=h,i=(r[h>>2]|0)+((i-(l*93|0)|0)*44|0)|0):(i=92-i|0,l=f+(((i|0)/-93|0)<<2)|0,r[w>>2]=l,i=(r[l>>2]|0)+((92-((i|0)%93|0)|0)*44|0)|0),r[w+4>>2]=i),r[_>>2]=r[M>>2],r[_+4>>2]=r[M+4>>2],r[G>>2]=r[w>>2],r[G+4>>2]=r[w+4>>2],jn(c,_,G),Mo(G,c),yo(_,c),xi(G,_)|0){f=U+4|0,h=e+4|0;do{if(go(V,G),Ro(U,t,V),i=r[U>>2]|0,(i|0)!=(r[f>>2]|0)){o=r[h>>2]|0;do zn(i,o),i=(r[U>>2]|0)+44|0,r[U>>2]=i,o=o+44|0,r[h>>2]=o,(o-(r[n>>2]|0)|0)==4092&&(n=n+4|0,r[e>>2]=n,o=r[n>>2]|0,r[h>>2]=o);while((i|0)!=(r[f>>2]|0))}xo(U),wo(G)|0}while(xi(G,_)|0)}m=T}function R4(t){t=t|0;var e=0,i=0,n=0;e=r[t+4>>2]|0,i=t+8|0,n=r[i>>2]|0,(n|0)!=(e|0)&&(r[i>>2]=n+(~((n+-4-e|0)>>>2)<<2)),e=r[t>>2]|0,e|0&&h0(e,(r[t+12>>2]|0)-e|0)}function po(t,e){t=t|0,e=e|0;var i=0,n=0,o=0,f=0,h=0,l=0,c=0,M=0,w=0,_=0,V=0,U=0,G=0,T=0,e0=0,P=0,I=0,t0=0,B=0,d0=0,N0=0,g0=0,f0=0,V0=0,i0=0;V0=m,m=m+64|0,t0=V0+52|0,I=V0+48|0,B=V0+28|0,d0=V0+24|0,N0=V0+20|0,G=V0,g0=t+8|0,i=r[g0>>2]|0,f0=t+4|0,c=r[f0>>2]|0,e0=((i|0)==(c|0)&1)+e|0,h=(e0>>>0)/93|0,h=h+((e0-(h*93|0)|0)!=0&1)|0,e0=t+16|0,n=r[e0>>2]|0,l=(n>>>0)/93|0,T=h>>>0<l>>>0?h:l,e=h-T|0,f=i;t:do if(e)if(P=t+12|0,n=r[P>>2]|0,o=n-(r[t>>2]|0)|0,i=f-c>>2,e>>>0>((o>>2)-i|0)>>>0){U=o>>1,V=i+e|0,ar(G,U>>>0<V>>>0?V:U,i-T|0,t+12|0);do r[t0>>2]=b(4092)|0,_4(G,t0),e=e+-1|0;while(e|0);if(!T)i=r[f0>>2]|0;else{l=G+8|0,c=G+12|0,M=G+4|0,w=G+16|0,_=B+4|0,V=B+8|0,U=B+12|0,h=T,e=r[l>>2]|0,i=r[f0>>2]|0;do{f=r[c>>2]|0,n=f;do if((e|0)==(f|0)){if(o=r[M>>2]|0,f=r[G>>2]|0,e=f,o>>>0<=f>>>0){e=n-e|0,e=e|0?e>>1:1,ar(B,e,e>>>2,r[w>>2]|0),r[d0>>2]=r[M>>2],r[N0>>2]=r[l>>2],r[I>>2]=r[d0>>2],r[t0>>2]=r[N0>>2],Xr(B,I,t0),e=r[G>>2]|0,r[G>>2]=r[B>>2],r[B>>2]=e,e=r[M>>2]|0,r[M>>2]=r[_>>2],r[_>>2]=e,e=r[l>>2]|0,r[l>>2]=r[V>>2],r[V>>2]=e,e=r[c>>2]|0,r[c>>2]=r[U>>2],r[U>>2]=e,cr(B),e=r[l>>2]|0;break}i0=o,e=((i0-e>>2)+1|0)/-2|0,f=o+(e<<2)|0,n=n-i0|0,n?(dt(f|0,o|0,n|0)|0,e=(r[M>>2]|0)+(e<<2)|0):e=f,i0=f+(n>>2<<2)|0,r[l>>2]=i0,r[M>>2]=e,e=i0}while(0);r[e>>2]=r[i>>2],e=(r[l>>2]|0)+4|0,r[l>>2]=e,i=(r[f0>>2]|0)+4|0,r[f0>>2]=i,h=h+-1|0}while(h|0)}if(e=r[g0>>2]|0,(e|0)!=(i|0)){do e=e+-4|0,Z4(G,e),i=r[f0>>2]|0;while((e|0)!=(i|0));e=r[g0>>2]|0}i0=r[t>>2]|0,r[t>>2]=r[G>>2],r[G>>2]=i0,i0=G+4|0,r[f0>>2]=r[i0>>2],r[i0>>2]=i,i0=G+8|0,r[g0>>2]=r[i0>>2],r[i0>>2]=e,i0=G+12|0,f0=r[P>>2]|0,r[P>>2]=r[i0>>2],r[i0>>2]=f0,r[e0>>2]=(r[e0>>2]|0)+(a0(T,-93)|0),cr(G);break}else{r:do if((n|0)==(f|0))M=18;else{for(;r[t0>>2]=b(4092)|0,x4(t,t0),e=e+-1|0,!!e;)if((r[P>>2]|0)==(r[g0>>2]|0)){M=18;break r}i=T,e=r[e0>>2]|0}while(0);if((M|0)==18){n=~(h>>>0>l>>>0?l:h),i=e;do r[t0>>2]=b(4092)|0,w4(t,t0),i=i+-1|0,o=(((r[g0>>2]|0)-(r[f0>>2]|0)|0)==4?92:93)+(r[e0>>2]|0)|0,r[e0>>2]=o;while(i|0);i=e+-1-n|0,e=o}if(r[e0>>2]=e+(a0(i,-93)|0),!i)break;l=t+12|0,c=B+4|0,M=B+8|0,w=B+12|0,e=r[g0>>2]|0;do{f=r[f0>>2]|0,h=r[f>>2]|0,f=f+4|0,r[f0>>2]=f,i0=r[P>>2]|0,n=i0;do if((e|0)==(i0|0)){if(i0=r[t>>2]|0,e=i0,f>>>0<=i0>>>0){e=n-e|0,e=e|0?e>>1:1,ar(B,e,e>>>2,l),r[d0>>2]=r[f0>>2],r[N0>>2]=r[g0>>2],r[I>>2]=r[d0>>2],r[t0>>2]=r[N0>>2],Xr(B,I,t0),e=r[t>>2]|0,r[t>>2]=r[B>>2],r[B>>2]=e,e=r[f0>>2]|0,r[f0>>2]=r[c>>2],r[c>>2]=e,e=r[g0>>2]|0,r[g0>>2]=r[M>>2],r[M>>2]=e,e=r[P>>2]|0,r[P>>2]=r[w>>2],r[w>>2]=e,cr(B),e=r[g0>>2]|0;break}i0=f,e=((i0-e>>2)+1|0)/-2|0,o=f+(e<<2)|0,n=n-i0|0,n?(dt(o|0,f|0,n|0)|0,e=(r[f0>>2]|0)+(e<<2)|0):e=o,i0=o+(n>>2<<2)|0,r[g0>>2]=i0,r[f0>>2]=e,e=i0}while(0);r[e>>2]=h,e=(r[g0>>2]|0)+4|0,r[g0>>2]=e,i=i+-1|0}while(i|0)}else if(r[e0>>2]=(a0(T,-93)|0)+n,T|0)for(l=t+12|0,M=t+12|0,w=B+4|0,_=B+8|0,V=B+12|0,e=T,n=c;;){h=r[n>>2]|0,f=n+4|0,r[f0>>2]=f,P=r[l>>2]|0,n=P;do if((i|0)==(P|0)){if(P=r[t>>2]|0,i=P,f>>>0<=P>>>0){i=n-i|0,i=i|0?i>>1:1,ar(B,i,i>>>2,M),r[d0>>2]=r[f0>>2],r[N0>>2]=r[g0>>2],r[I>>2]=r[d0>>2],r[t0>>2]=r[N0>>2],Xr(B,I,t0),i=r[t>>2]|0,r[t>>2]=r[B>>2],r[B>>2]=i,i=r[f0>>2]|0,r[f0>>2]=r[w>>2],r[w>>2]=i,i=r[g0>>2]|0,r[g0>>2]=r[_>>2],r[_>>2]=i,i=r[l>>2]|0,r[l>>2]=r[V>>2],r[V>>2]=i,cr(B),i=r[g0>>2]|0;break}P=f,i=((P-i>>2)+1|0)/-2|0,o=f+(i<<2)|0,n=n-P|0,n?(dt(o|0,f|0,n|0)|0,i=(r[f0>>2]|0)+(i<<2)|0):i=o,P=o+(n>>2<<2)|0,r[g0>>2]=P,r[f0>>2]=i,i=P}while(0);if(r[i>>2]=h,i=(r[g0>>2]|0)+4|0,r[g0>>2]=i,e=e+-1|0,!e)break t;n=r[f0>>2]|0}while(0);m=V0}function Ge(t,e){t=t|0,e=e|0;var i=0,n=0,o=0,f=0;i=(r[e+16>>2]|0)+(r[e+20>>2]|0)|0,f=r[e+4>>2]|0,n=(i>>>0)/93|0,o=f+(n<<2)|0,(r[e+8>>2]|0)==(f|0)?e=0:e=(r[o>>2]|0)+((i-(n*93|0)|0)*44|0)|0,r[t>>2]=o,r[t+4>>2]=e}function jn(t,e,i){t=t|0,e=e|0,i=i|0;var n=0,o=0;o=e,e=r[o+4>>2]|0,n=t,r[n>>2]=r[o>>2],r[n+4>>2]=e,n=i,e=r[n+4>>2]|0,i=t+8|0,r[i>>2]=r[n>>2],r[i+4>>2]=e}function Mo(t,e){t=t|0,e=e|0,r[t>>2]=r[e>>2],r[t+4>>2]=r[e+4>>2],r[t+8>>2]=r[e+8>>2],r[t+12>>2]=r[e+12>>2]}function yo(t,e){t=t|0,e=e|0;var i=0,n=0,o=0,f=0,h=0,l=0,c=0;i=m,m=m+32|0,n=i+24|0,o=i+16|0,h=i+8|0,f=i,l=e+8|0,c=r[l>>2]|0,l=r[l+4>>2]|0,e=h,r[e>>2]=c,r[e+4>>2]=l,e=f,r[e>>2]=c,r[e+4>>2]=l,r[o>>2]=r[h>>2],r[o+4>>2]=r[h+4>>2],r[n>>2]=r[f>>2],r[n+4>>2]=r[f+4>>2],jn(t,o,n),m=i}function xi(t,e){return t=t|0,e=e|0,(V4(t,e)|0)^1|0}function go(t,e){t=t|0,e=e|0;var i=0,n=0;i=r[e>>2]|0,n=r[e+4>>2]|0,(i|0)==(r[e+8>>2]|0)?_o(t,n,r[e+12>>2]|0):_o(t,n,(r[i>>2]|0)+4092|0)}function Ro(t,e,i){t=t|0,e=e|0,i=i|0;var n=0;n=r[i>>2]|0,r[t>>2]=n,r[t+4>>2]=r[i+4>>2],r[t+8>>2]=n,r[t+12>>2]=e}function xo(t){t=t|0;var e=0;e=(r[t+12>>2]|0)+20|0,r[e>>2]=(r[e>>2]|0)+(((r[t>>2]|0)-(r[t+8>>2]|0)|0)/44|0)}function wo(t){t=t|0;var e=0,i=0,n=0;return e=r[t>>2]|0,i=t+8|0,(e|0)==(r[i>>2]|0)?(n=i,e=r[n+4>>2]|0,i=t,r[i>>2]=r[n>>2],r[i+4>>2]=e):(n=e+4|0,r[t>>2]=n,r[t+4>>2]=r[n>>2]),t|0}function x4(t,e){t=t|0,e=e|0;var i=0,n=0,o=0,f=0,h=0,l=0,c=0,M=0,w=0,_=0,V=0,U=0,G=0,T=0;G=m,m=m+48|0,o=G+32|0,n=G+28|0,l=G+8|0,c=G+4|0,M=G,U=t+8|0,i=r[U>>2]|0,w=t+12|0,V=r[w>>2]|0,f=V;do if((i|0)==(V|0)){if(V=t+4|0,_=r[V>>2]|0,T=r[t>>2]|0,h=T,_>>>0<=T>>>0){i=f-h|0,i=i|0?i>>1:1,ar(l,i,i>>>2,t+12|0),r[c>>2]=r[V>>2],r[M>>2]=r[U>>2],r[n>>2]=r[c>>2],r[o>>2]=r[M>>2],Xr(l,n,o),i=r[t>>2]|0,r[t>>2]=r[l>>2],r[l>>2]=i,i=l+4|0,T=r[V>>2]|0,r[V>>2]=r[i>>2],r[i>>2]=T,i=l+8|0,T=r[U>>2]|0,r[U>>2]=r[i>>2],r[i>>2]=T,i=l+12|0,T=r[w>>2]|0,r[w>>2]=r[i>>2],r[i>>2]=T,cr(l),i=r[U>>2]|0;break}o=_,n=((o-h>>2)+1|0)/-2|0,t=_+(n<<2)|0,o=i-o|0,o?(dt(t|0,_|0,o|0)|0,i=(r[V>>2]|0)+(n<<2)|0):i=t,T=t+(o>>2<<2)|0,r[U>>2]=T,r[V>>2]=i,i=T}while(0);r[i>>2]=r[e>>2],r[U>>2]=(r[U>>2]|0)+4,m=G}function w4(t,e){t=t|0,e=e|0;var i=0,n=0,o=0,f=0,h=0,l=0,c=0,M=0,w=0,_=0,V=0,U=0,G=0,T=0;G=m,m=m+48|0,n=G+32|0,i=G+28|0,h=G+8|0,l=G+4|0,c=G,U=t+4|0,_=r[U>>2]|0,V=r[t>>2]|0,M=V;do if((_|0)==(V|0)){if(V=t+8|0,w=r[V>>2]|0,f=t+12|0,T=r[f>>2]|0,o=T,w>>>0>=T>>>0){T=o-M|0,T=T|0?T>>1:1,ar(h,T,(T+3|0)>>>2,t+12|0),r[l>>2]=r[U>>2],r[c>>2]=r[V>>2],r[i>>2]=r[l>>2],r[n>>2]=r[c>>2],Xr(h,i,n),i=r[t>>2]|0,r[t>>2]=r[h>>2],r[h>>2]=i,i=h+4|0,T=r[U>>2]|0,r[U>>2]=r[i>>2],r[i>>2]=T,i=h+8|0,T=r[V>>2]|0,r[V>>2]=r[i>>2],r[i>>2]=T,i=h+12|0,T=r[f>>2]|0,r[f>>2]=r[i>>2],r[i>>2]=T,cr(h),i=r[U>>2]|0;break}n=w,t=((o-n>>2)+1|0)/2|0,o=w+(t<<2)|0,n=n-_|0,i=o+(0-(n>>2)<<2)|0,n?(dt(i|0,_|0,n|0)|0,n=(r[V>>2]|0)+(t<<2)|0):(i=o,n=o),r[U>>2]=i,r[V>>2]=n}else i=_;while(0);r[i+-4>>2]=r[e>>2],r[U>>2]=(r[U>>2]|0)+-4,m=G}function ar(t,e,i,n){t=t|0,e=e|0,i=i|0,n=n|0;var o=0;o=t+12|0,r[o>>2]=0,r[t+16>>2]=n;do if(e)if(e>>>0>1073741823)o=F0(8)|0,$t(o,6723),r[o>>2]=5956,k0(o|0,3928,123);else{n=b(e<<2)|0;break}else n=0;while(0);r[t>>2]=n,i=n+(i<<2)|0,r[t+8>>2]=i,r[t+4>>2]=i,r[o>>2]=n+(e<<2)}function _4(t,e){t=t|0,e=e|0;var i=0,n=0,o=0,f=0,h=0,l=0,c=0,M=0,w=0,_=0,V=0,U=0,G=0,T=0;G=m,m=m+48|0,o=G+32|0,n=G+28|0,l=G+8|0,c=G+4|0,M=G,U=t+8|0,i=r[U>>2]|0,w=t+12|0,V=r[w>>2]|0,f=V;do if((i|0)==(V|0)){if(V=t+4|0,_=r[V>>2]|0,T=r[t>>2]|0,h=T,_>>>0<=T>>>0){i=f-h|0,i=i|0?i>>1:1,ar(l,i,i>>>2,r[t+16>>2]|0),r[c>>2]=r[V>>2],r[M>>2]=r[U>>2],r[n>>2]=r[c>>2],r[o>>2]=r[M>>2],Xr(l,n,o),i=r[t>>2]|0,r[t>>2]=r[l>>2],r[l>>2]=i,i=l+4|0,T=r[V>>2]|0,r[V>>2]=r[i>>2],r[i>>2]=T,i=l+8|0,T=r[U>>2]|0,r[U>>2]=r[i>>2],r[i>>2]=T,i=l+12|0,T=r[w>>2]|0,r[w>>2]=r[i>>2],r[i>>2]=T,cr(l),i=r[U>>2]|0;break}o=_,n=((o-h>>2)+1|0)/-2|0,t=_+(n<<2)|0,o=i-o|0,o?(dt(t|0,_|0,o|0)|0,i=(r[V>>2]|0)+(n<<2)|0):i=t,T=t+(o>>2<<2)|0,r[U>>2]=T,r[V>>2]=i,i=T}while(0);r[i>>2]=r[e>>2],r[U>>2]=(r[U>>2]|0)+4,m=G}function Z4(t,e){t=t|0,e=e|0;var i=0,n=0,o=0,f=0,h=0,l=0,c=0,M=0,w=0,_=0,V=0,U=0,G=0,T=0;G=m,m=m+48|0,n=G+32|0,i=G+28|0,h=G+8|0,l=G+4|0,c=G,U=t+4|0,_=r[U>>2]|0,V=r[t>>2]|0,M=V;do if((_|0)==(V|0)){if(V=t+8|0,w=r[V>>2]|0,f=t+12|0,T=r[f>>2]|0,o=T,w>>>0>=T>>>0){T=o-M|0,T=T|0?T>>1:1,ar(h,T,(T+3|0)>>>2,r[t+16>>2]|0),r[l>>2]=r[U>>2],r[c>>2]=r[V>>2],r[i>>2]=r[l>>2],r[n>>2]=r[c>>2],Xr(h,i,n),i=r[t>>2]|0,r[t>>2]=r[h>>2],r[h>>2]=i,i=h+4|0,T=r[U>>2]|0,r[U>>2]=r[i>>2],r[i>>2]=T,i=h+8|0,T=r[V>>2]|0,r[V>>2]=r[i>>2],r[i>>2]=T,i=h+12|0,T=r[f>>2]|0,r[f>>2]=r[i>>2],r[i>>2]=T,cr(h),i=r[U>>2]|0;break}n=w,t=((o-n>>2)+1|0)/2|0,o=w+(t<<2)|0,n=n-_|0,i=o+(0-(n>>2)<<2)|0,n?(dt(i|0,_|0,n|0)|0,n=(r[V>>2]|0)+(t<<2)|0):(i=o,n=o),r[U>>2]=i,r[V>>2]=n}else i=_;while(0);r[i+-4>>2]=r[e>>2],r[U>>2]=(r[U>>2]|0)+-4,m=G}function cr(t){t=t|0;var e=0,i=0,n=0;e=r[t+4>>2]|0,i=t+8|0,n=r[i>>2]|0,(n|0)!=(e|0)&&(r[i>>2]=n+(~((n+-4-e|0)>>>2)<<2)),e=r[t>>2]|0,e|0&&h0(e,(r[t+12>>2]|0)-e|0)}function Xr(t,e,i){t=t|0,e=e|0,i=i|0;var n=0,o=0,f=0,h=0;if(h=m,m=m+16|0,f=h,o=r[e>>2]|0,F4(f,t+8|0,(r[i>>2]|0)-o>>2),t=r[f>>2]|0,n=f+4|0,(t|0)!=(r[n>>2]|0)){i=o;do r[t>>2]=r[i>>2],t=(r[f>>2]|0)+4|0,r[f>>2]=t,i=i+4|0;while((t|0)!=(r[n>>2]|0));r[e>>2]=i}k4(f),m=h}function F4(t,e,i){t=t|0,e=e|0,i=i|0,r[t>>2]=r[e>>2],r[t+4>>2]=(r[e>>2]|0)+(i<<2),r[t+8>>2]=e}function k4(t){t=t|0,r[r[t+8>>2]>>2]=r[t>>2]}function V4(t,e){return t=t|0,e=e|0,(r[t+4>>2]|0)==(r[e+4>>2]|0)|0}function _o(t,e,i){t=t|0,e=e|0,i=i|0,r[t>>2]=e,r[t+4>>2]=i}function W4(t,e){t=t|0,e=e|0;var i=0,n=0,o=0,f=0;f=r[e+4>>2]|0,i=r[e+16>>2]|0,n=(i>>>0)/93|0,o=f+(n<<2)|0,(r[e+8>>2]|0)==(f|0)?e=0:e=(r[o>>2]|0)+((i-(n*93|0)|0)*44|0)|0,r[t>>2]=o,r[t+4>>2]=e}function N4(t,e){t=t|0,e=e|0;var i=0,n=0,o=0,f=0;i=(r[e+16>>2]|0)+(r[e+20>>2]|0)|0,f=r[e+4>>2]|0,n=(i>>>0)/93|0,o=f+(n<<2)|0,(r[e+8>>2]|0)==(f|0)?e=0:e=(r[o>>2]|0)+((i-(n*93|0)|0)*44|0)|0,r[t>>2]=o,r[t+4>>2]=e}function X4(t){t=t|0;var e=0,i=0,n=0,o=0,f=0,h=0,l=0;if(l=m,m=m+16|0,n=l+8|0,f=l,Zo(n,t),Ge(f,t),o=n+4|0,e=r[o>>2]|0,f=f+4|0,(e|0)!=(r[f>>2]|0))do G0(e),e=(r[o>>2]|0)+44|0,r[o>>2]=e,i=r[n>>2]|0,(e-(r[i>>2]|0)|0)==4092&&(e=i+4|0,r[n>>2]=e,e=r[e>>2]|0,r[o>>2]=e);while((e|0)!=(r[f>>2]|0));if(r[t+20>>2]=0,o=t+8|0,n=t+4|0,i=r[n>>2]|0,e=(r[o>>2]|0)-i>>2,e>>>0>2)do h0(r[i>>2]|0,4092),i=(r[n>>2]|0)+4|0,r[n>>2]=i,e=(r[o>>2]|0)-i>>2;while(e>>>0>2);switch(e|0){case 1:{e=46,h=11;break}case 2:{e=93,h=11;break}default:}(h|0)==11&&(r[t+16>>2]=e),m=l}function Zo(t,e){t=t|0,e=e|0;var i=0,n=0,o=0,f=0;f=r[e+4>>2]|0,i=r[e+16>>2]|0,n=(i>>>0)/93|0,o=f+(n<<2)|0,(r[e+8>>2]|0)==(f|0)?e=0:e=(r[o>>2]|0)+((i-(n*93|0)|0)*44|0)|0,r[t>>2]=o,r[t+4>>2]=e}function T4(t,e,i){t=t|0,e=e|0,i=i|0;var n=0,o=0,f=0,h=0,l=0,c=0,M=0;if(M=m,m=m+16|0,c=M,h=t+4|0,u[h>>0]|0){if(o=r[t+20>>2]|0,n=r[t+8>>2]|0,Zo(c,t+32|0),t=t+12|0,(n|0)!=(r[t>>2]|0))for(l=c+4|0,h=n,f=o,n=r[l>>2]|0;o=Z[h>>0]|0,o=U4((Y0(e,n)|0)+o|0)|0,u[f>>0]=o,u[i>>0]=o,u[h>>0]=o,h=h+1|0,i=i+1|0,o=r[c>>2]|0,n=(r[l>>2]|0)+44|0,r[l>>2]=n,(n-(r[o>>2]|0)|0)==4092&&(n=o+4|0,r[c>>2]=n,n=r[n>>2]|0,r[l>>2]=n),(h|0)!=(r[t>>2]|0);)f=f+1|0}else{if(c=pi(e)|0,Mi(c,i,r[t>>2]|0),c=r[t>>2]|0,f=i+c|0,!c)n=0;else{for(n=i,o=r[t+8>>2]|0;u[o>>0]=u[n>>0]|0,n=n+1|0,(n|0)!=(f|0);)o=o+1|0;n=r[t>>2]|0}u[h>>0]=1,i=i+n|0}return m=M,i|0}function U4(t){return t=t|0,t&255|0}function G4(t){t=t|0,C0(t),$(t)}function z4(t){t=t|0,t=r[t+12>>2]|0,t|0&&_0[r[(r[t>>2]|0)+4>>2]&255](t)}function E4(t,e){return t=t|0,e=e|0,((r[e+4>>2]|0)==11262?t+12|0:0)|0}function B4(t){t=t|0,h0(t,16)}function Fo(t,e){t=t|0,e=e|0,r[t>>2]=0,r[t+4>>2]=0,r[t+8>>2]=0,e|0&&(ao(t,e),C4(t,e))}function S4(t,e,i){t=t|0,e=e|0,i=i|0,r[t>>2]=0,r[t+4>>2]=0,r[t+8>>2]=0,r[t+12>>2]=0,r[t+16>>2]=0,r[t+20>>2]=0,e|0&&J4(t,e,i)}function C4(t,e){t=t|0,e=e|0;var i=0,n=0,o=0;if(o=m,m=m+16|0,n=o,mo(n,t,e),e=n+4|0,t=r[e>>2]|0,i=n+8|0,(t|0)!=(r[i>>2]|0))do u[t>>0]=0,t=(r[e>>2]|0)+1|0,r[e>>2]=t;while((t|0)!=(r[i>>2]|0));vo(n),m=o}function J4(t,e,i){t=t|0,e=e|0,i=i|0;var n=0,o=0,f=0,h=0,l=0,c=0,M=0,w=0,_=0,V=0,U=0;if(U=m,m=m+96|0,V=U+80|0,M=U+64|0,h=U+48|0,l=U+40|0,c=U+8|0,o=U,w=U+32|0,_=U+16|0,n=(r[t+8>>2]|0)-(r[t+4>>2]|0)|0,n=(n|0?((n>>2)*93|0)+-1|0:0)-((r[t+20>>2]|0)+(r[t+16>>2]|0))|0,n>>>0<e>>>0&&po(t,e-n|0),Ge(l,t),Ge(o,t),n=r[o>>2]|0,o=r[o+4>>2]|0,f=c,r[f>>2]=n,r[f+4>>2]=o,f=n,e|0&&(n=((o-(r[n>>2]|0)|0)/44|0)+e|0,(n|0)>0?(e=(n>>>0)/93|0,f=f+(e<<2)|0,r[c>>2]=f,n=(r[f>>2]|0)+((n-(e*93|0)|0)*44|0)|0):(n=92-n|0,e=f+(((n|0)/-93|0)<<2)|0,r[c>>2]=e,n=(r[e>>2]|0)+((92-((n|0)%93|0)|0)*44|0)|0),r[c+4>>2]=n),r[M>>2]=r[l>>2],r[M+4>>2]=r[l+4>>2],r[V>>2]=r[c>>2],r[V+4>>2]=r[c+4>>2],jn(h,M,V),Mo(V,h),yo(M,h),xi(V,M)|0){o=_+4|0;do{if(go(w,V),Ro(_,t,w),n=r[_>>2]|0,(n|0)!=(r[o>>2]|0))do zn(n,i),n=(r[_>>2]|0)+44|0,r[_>>2]=n;while((n|0)!=(r[o>>2]|0));xo(_),wo(V)|0}while(xi(V,M)|0)}m=U}function I4(t){t=t|0;var e=0,i=0;if(X4(t),e=r[t+4>>2]|0,i=r[t+8>>2]|0,(e|0)!=(i|0))do h0(r[e>>2]|0,4092),e=e+4|0;while((e|0)!=(i|0));R4(t)}function O4(t,e,i){t=t|0,e=e|0,i=i|0,re(t),r[t>>2]=4924,r[t+4>>2]=e,r[t+8>>2]=i}function j4(t,e,i){t=t|0,e=e|0,i=i|0;var n=0,o=0;i=m,m=m+16|0,n=i,r[t>>2]=e,o=b(16)|0,r[o+4>>2]=0,r[o+8>>2]=0,r[o>>2]=4944,r[o+12>>2]=e,r[t+4>>2]=o,r[n>>2]=e,r[n+4>>2]=e,wi(t,n),m=i}function P4(t,e){return t=t|0,e=e|0,H4(r[t+8>>2]|0,r[t+4>>2]|0,e)|0}function ko(t){t=t|0;var e=0,i=0;r[t>>2]=4924,i=t+8|0,e=r[i>>2]|0,r[i>>2]=0,e|0&&(D4(e),$(e)),kr(t)}function Y4(t){t=t|0,ko(t),$(t)}function H4(t,e,i){return t=t|0,e=e|0,i=i|0,Pn(t+4784|0,e,Te(t,e,i)|0)|0}function Pn(t,e,i){return t=t|0,e=e|0,i=i|0,u[t>>0]|0&&(Gn(e),u[t>>0]=0),i|0}function D4(t){t=t|0,Xe(t)}function wi(t,e){t=t|0,e=e|0}function Q4(t){t=t|0,C0(t),$(t)}function L4(t){t=t|0,t=r[t+12>>2]|0,t|0&&_0[r[(r[t>>2]|0)+8>>2]&255](t)}function q4(t,e){return t=t|0,e=e|0,((r[e+4>>2]|0)==12004?t+12|0:0)|0}function $4(t){t=t|0,h0(t,16)}function Yn(t){t=t|0,u[t>>0]=1}function K4(t,e,i){t=t|0,e=e|0,i=i|0,re(t),r[t>>2]=4972,r[t+4>>2]=e,r[t+8>>2]=i}function b4(t,e,i){t=t|0,e=e|0,i=i|0;var n=0,o=0;i=m,m=m+16|0,n=i,r[t>>2]=e,o=b(16)|0,r[o+4>>2]=0,r[o+8>>2]=0,r[o>>2]=4992,r[o+12>>2]=e,r[t+4>>2]=o,r[n>>2]=e,r[n+4>>2]=e,wi(t,n),m=i}function tm(t,e){return t=t|0,e=e|0,em(r[t+8>>2]|0,r[t+4>>2]|0,e)|0}function Vo(t){t=t|0;var e=0,i=0;r[t>>2]=4972,i=t+8|0,e=r[i>>2]|0,r[i>>2]=0,e|0&&(nm(e),$(e)),kr(t)}function rm(t){t=t|0,Vo(t),$(t)}function em(t,e,i){return t=t|0,e=e|0,i=i|0,im(t+4784|0,e,Te(t,e,i)|0)|0}function im(t,e,i){return t=t|0,e=e|0,i=i|0,Pn(t+328|0,e,Ue(t,e,i)|0)|0}function nm(t){t=t|0,sm(t+4784|0),Xe(t)}function sm(t){t=t|0,On(t)}function om(t){t=t|0,C0(t),$(t)}function fm(t){t=t|0,t=r[t+12>>2]|0,t|0&&_0[r[(r[t>>2]|0)+8>>2]&255](t)}function Am(t,e){return t=t|0,e=e|0,((r[e+4>>2]|0)==12827?t+12|0:0)|0}function hm(t){t=t|0,h0(t,16)}function lm(t){t=t|0,In(t),Yn(t+328|0)}function um(t,e,i){t=t|0,e=e|0,i=i|0,re(t),r[t>>2]=5020,r[t+4>>2]=e,r[t+8>>2]=i}function am(t,e,i){t=t|0,e=e|0,i=i|0;var n=0,o=0;i=m,m=m+16|0,n=i,r[t>>2]=e,o=b(16)|0,r[o+4>>2]=0,r[o+8>>2]=0,r[o>>2]=5040,r[o+12>>2]=e,r[t+4>>2]=o,r[n>>2]=e,r[n+4>>2]=e,wi(t,n),m=i}function cm(t,e){return t=t|0,e=e|0,vm(r[t+8>>2]|0,r[t+4>>2]|0,e)|0}function Wo(t){t=t|0;var e=0,i=0;r[t>>2]=5020,i=t+8|0,e=r[i>>2]|0,r[i>>2]=0,e|0&&(pm(e),$(e)),kr(t)}function mm(t){t=t|0,Wo(t),$(t)}function vm(t,e,i){return t=t|0,e=e|0,i=i|0,No(t+4784|0,e,Te(t,e,i)|0)|0}function No(t,e,i){return t=t|0,e=e|0,i=i|0,Pn(t+316|0,e,ho(t,e,i)|0)|0}function pm(t){t=t|0,Xo(t+4784|0),Xe(t)}function Xo(t){t=t|0,Ao(t)}function Mm(t){t=t|0,C0(t),$(t)}function ym(t){t=t|0,t=r[t+12>>2]|0,t|0&&_0[r[(r[t>>2]|0)+8>>2]&255](t)}function dm(t,e){return t=t|0,e=e|0,((r[e+4>>2]|0)==13672?t+12|0:0)|0}function gm(t){t=t|0,h0(t,16)}function To(t){t=t|0,so(t),Yn(t+316|0)}function Rm(t,e,i){t=t|0,e=e|0,i=i|0,re(t),r[t>>2]=5068,r[t+4>>2]=e,r[t+8>>2]=i}function xm(t,e,i){t=t|0,e=e|0,i=i|0;var n=0,o=0;i=m,m=m+16|0,n=i,r[t>>2]=e,o=b(16)|0,r[o+4>>2]=0,r[o+8>>2]=0,r[o>>2]=5088,r[o+12>>2]=e,r[t+4>>2]=o,r[n>>2]=e,r[n+4>>2]=e,wi(t,n),m=i}function wm(t,e){return t=t|0,e=e|0,Zm(r[t+8>>2]|0,r[t+4>>2]|0,e)|0}function Uo(t){t=t|0;var e=0,i=0;r[t>>2]=5068,i=t+8|0,e=r[i>>2]|0,r[i>>2]=0,e|0&&(km(e),$(e)),kr(t)}function _m(t){t=t|0,Uo(t),$(t)}function Zm(t,e,i){return t=t|0,e=e|0,i=i|0,Fm(t+4784|0,e,Te(t,e,i)|0)|0}function Fm(t,e,i){return t=t|0,e=e|0,i=i|0,No(t+328|0,e,Ue(t,e,i)|0)|0}function km(t){t=t|0,Vm(t+4784|0),Xe(t)}function Vm(t){t=t|0,Xo(t+328|0),On(t)}function Wm(t){t=t|0,C0(t),$(t)}function Nm(t){t=t|0,t=r[t+12>>2]|0,t|0&&_0[r[(r[t>>2]|0)+8>>2]&255](t)}function Xm(t,e){return t=t|0,e=e|0,((r[e+4>>2]|0)==14573?t+12|0:0)|0}function Tm(t){t=t|0,h0(t,16)}function Um(t){t=t|0,In(t),To(t+328|0)}function Gm(t){return t=t|0,t+20|0}function zm(t,e,i){t=t|0,e=e|0,i=i|0,r[t>>2]=e,r[t+4>>2]=i,r[t+8>>2]=0}function Em(t,e){t=t|0,e=e|0,r[t>>2]=e,r[t+4>>2]=0,r[t+8>>2]=-1}function Bm(t,e){t=t|0,e=e|0;var i=0,n=0,o=0,f=0;i=m,m=m+16|0,n=i+4|0,f=i,o=b(24)|0,$m(o,e),r[f>>2]=0,r[n>>2]=r[f>>2],Km(t,o,n),m=i}function ze(t){t=t|0;var e=0,i=0;t=r[t+4>>2]|0,t|0&&(i=t+4|0,e=r[i>>2]|0,r[i>>2]=e+-1,(e|0)==0)&&(_0[r[(r[t>>2]|0)+8>>2]&255](t),qt(t))}function Sm(t,e,i){t=t|0,e=e|0,i=i|0;var n=0,o=0;i=m,m=m+16|0,n=i,r[t>>2]=e,o=b(16)|0,r[o+4>>2]=0,r[o+8>>2]=0,r[o>>2]=5116,r[o+12>>2]=e,r[t+4>>2]=o,r[n>>2]=e,r[n+4>>2]=e,Cm(t,n),m=i}function Hn(t){t=t|0;var e=0,i=0;t=r[t+4>>2]|0,t|0&&(i=t+4|0,e=r[i>>2]|0,r[i>>2]=e+-1,(e|0)==0)&&(_0[r[(r[t>>2]|0)+8>>2]&255](t),qt(t))}function Cm(t,e){t=t|0,e=e|0}function Jm(t){t=t|0,C0(t),$(t)}function Im(t){t=t|0,t=r[t+12>>2]|0,t|0&&$(t)}function Om(t,e){return t=t|0,e=e|0,((r[e+4>>2]|0)==14966?t+12|0:0)|0}function jm(t){t=t|0,h0(t,16)}function Pm(t,e,i){t=t|0,e=e|0,i=i|0;var n=0,o=0;i=m,m=m+16|0,n=i,r[t>>2]=e,o=b(16)|0,r[o+4>>2]=0,r[o+8>>2]=0,r[o>>2]=5144,r[o+12>>2]=e,r[t+4>>2]=o,r[n>>2]=e,r[n+4>>2]=e,Ym(t,n),m=i}function Go(t){t=t|0;var e=0,i=0;t=r[t+4>>2]|0,t|0&&(i=t+4|0,e=r[i>>2]|0,r[i>>2]=e+-1,(e|0)==0)&&(_0[r[(r[t>>2]|0)+8>>2]&255](t),qt(t))}function Ym(t,e){t=t|0,e=e|0}function Hm(t){t=t|0,C0(t),$(t)}function Dm(t){t=t|0,t=r[t+12>>2]|0,t|0&&(qm(t),$(t))}function Qm(t,e){return t=t|0,e=e|0,((r[e+4>>2]|0)==15127?t+12|0:0)|0}function Lm(t){t=t|0,h0(t,16)}function qm(t){t=t|0}function $m(t,e){t=t|0,e=e|0,re(t),r[t>>2]=5172,r[t+4>>2]=e,r[t+8>>2]=0,r[t+12>>2]=0,r[t+16>>2]=0,u[t+20>>0]=1}function Km(t,e,i){t=t|0,e=e|0,i=i|0;var n=0,o=0;i=m,m=m+16|0,n=i,r[t>>2]=e,o=b(16)|0,r[o+4>>2]=0,r[o+8>>2]=0,r[o>>2]=5192,r[o+12>>2]=e,r[t+4>>2]=o,r[n>>2]=e,r[n+4>>2]=e,e3(t,n),m=i}function bm(t,e){t=t|0,e=e|0;var i=0,n=0,o=0,f=0,h=0,l=0,c=0;if(c=m,m=m+16|0,f=c,i=r[t+8>>2]|0,h=r[t+12>>2]|0,(i|0)!=(h|0)){l=f+4|0;do n=r[i>>2]|0,r[f>>2]=n,o=r[i+4>>2]|0,r[l>>2]=o,o|0&&(o=o+4|0,r[o>>2]=(r[o>>2]|0)+1),e=Ie[r[(r[n>>2]|0)+12>>2]&63](n,e)|0,rt(f),i=i+8|0;while((i|0)!=(h|0))}return i=t+20|0,u[i>>0]|0&&(u[i>>0]=0,r3(r[t+4>>2]|0)),m=c,e|0}function zo(t){t=t|0,r[t>>2]=5172,Hs(t+8|0),kr(t)}function t3(t){t=t|0,zo(t),$(t)}function r3(t){t=t|0;var e=0;e=((ee(r[t>>2]|0)|0)&255)<<24,e=((ee(r[t>>2]|0)|0)&255)<<16|e,e=e|((ee(r[t>>2]|0)|0)&255)<<8,r[t+4>>2]=e|(ee(r[t>>2]|0)|0)&255}function ee(t){t=t|0;var e=0,i=0;return e=r[t>>2]|0,i=t+8|0,t=r[i>>2]|0,r[i>>2]=t+1,u[e+t>>0]|0}function e3(t,e){t=t|0,e=e|0}function i3(t){t=t|0,C0(t),$(t)}function n3(t){t=t|0,t=r[t+12>>2]|0,t|0&&_0[r[(r[t>>2]|0)+8>>2]&255](t)}function s3(t,e){return t=t|0,e=e|0,((r[e+4>>2]|0)==15450?t+12|0:0)|0}function o3(t){t=t|0,h0(t,16)}function Dn(t){t=t|0;var e=0,i=0,n=0,o=0,f=0,h=0,l=0,c=0,M=0,w=0;c=m,m=m+32|0,n=c+12|0,o=c,e=c+8|0,h=b(180)|0,f3(h,r[t+4>>2]|0),f=t+8|0,r[e>>2]=0,r[n>>2]=r[e>>2],A3(o,h,n),h=t+12|0,e=r[h>>2]|0,l=t+16|0;do if(e>>>0>=(r[l>>2]|0)>>>0)if(e=(e-(r[f>>2]|0)>>3)+1|0,i=Ct(f)|0,i>>>0<e>>>0)L0(f);else{M=r[f>>2]|0,w=(r[l>>2]|0)-M|0,l=w>>2,Et(n,w>>3>>>0<i>>>1>>>0?l>>>0<e>>>0?e:l:i,(r[h>>2]|0)-M>>3,t+16|0),l=n+8|0,h=r[l>>2]|0,r[h>>2]=r[o>>2],t=o+4|0,r[h+4>>2]=r[t>>2],r[o>>2]=0,r[t>>2]=0,r[l>>2]=h+8,Bt(f,n),St(n);break}else Gt(n,f,1),w=n+4|0,M=r[w>>2]|0,r[M>>2]=r[o>>2],l=o+4|0,r[M+4>>2]=r[l>>2],r[o>>2]=0,r[l>>2]=0,r[w>>2]=M+8,zt(n);while(0);rt(o),m=c}function _i(t){t=t|0;var e=0,i=0,n=0,o=0,f=0,h=0,l=0,c=0,M=0,w=0;c=m,m=m+32|0,n=c+12|0,o=c,e=c+8|0,h=b(180)|0,_3(h,r[t+4>>2]|0),f=t+8|0,r[e>>2]=0,r[n>>2]=r[e>>2],Z3(o,h,n),h=t+12|0,e=r[h>>2]|0,l=t+16|0;do if(e>>>0>=(r[l>>2]|0)>>>0)if(e=(e-(r[f>>2]|0)>>3)+1|0,i=Ct(f)|0,i>>>0<e>>>0)L0(f);else{M=r[f>>2]|0,w=(r[l>>2]|0)-M|0,l=w>>2,Et(n,w>>3>>>0<i>>>1>>>0?l>>>0<e>>>0?e:l:i,(r[h>>2]|0)-M>>3,t+16|0),l=n+8|0,h=r[l>>2]|0,r[h>>2]=r[o>>2],t=o+4|0,r[h+4>>2]=r[t>>2],r[o>>2]=0,r[t>>2]=0,r[l>>2]=h+8,Bt(f,n),St(n);break}else Gt(n,f,1),w=n+4|0,M=r[w>>2]|0,r[M>>2]=r[o>>2],l=o+4|0,r[M+4>>2]=r[l>>2],r[o>>2]=0,r[l>>2]=0,r[w>>2]=M+8,zt(n);while(0);rt(o),m=c}function f3(t,e){t=t|0,e=e|0,Jt(t),r[t>>2]=5220,r[t+4>>2]=e,h3(t+8|0)}function A3(t,e,i){t=t|0,e=e|0,i=i|0;var n=0,o=0;i=m,m=m+16|0,n=i,r[t>>2]=e,o=b(16)|0,r[o+4>>2]=0,r[o+8>>2]=0,r[o>>2]=5244,r[o+12>>2]=e,r[t+4>>2]=o,r[n>>2]=e,r[n+4>>2]=e,It(t,n),m=i}function h3(t){t=t|0,pt(t,32,1,8,0),st(t+80|0,32,1,8,0),u[t+160>>0]=0,u[t+161>>0]=0,a3(t+164|0)}function Eo(t){t=t|0,r[t>>2]=5220,c3(t+8|0),vt(t)}function l3(t){t=t|0,Eo(t),$(t)}function u3(t,e){return t=t|0,e=e|0,m3(t+8|0,r[t+4>>2]|0,e)|0}function a3(t){t=t|0,u[t+4>>0]=0}function c3(t){t=t|0,ft(t+80|0),Mt(t)}function m3(t,e,i){t=t|0,e=e|0,i=i|0;var n=0,o=0,f=0;return f=m,m=m+16|0,n=f,u[t+161>>0]|0||ot(t+80|0),o=t+164|0,v3(o)|0?(e=ie(t+80|0,e,r[o>>2]|0,0)|0,r[n>>2]=e,gi(e,i)):(se(ne(e)|0,i,4),r[n>>2]=yi(i)|0),p3(o,n),m=f,i+4|0}function v3(t){return t=t|0,(u[t+4>>0]|0)!=0|0}function ie(t,e,i,n){return t=t|0,e=e|0,i=i|0,n=n|0,i=(M3(t,e,(r[t+36>>2]|0)+(n*44|0)|0)|0)+i|0,e=r[t+24>>2]|0,(i|0)<0?i+e|0:i-(i>>>0<e>>>0?0:e)|0}function ne(t){return t=t|0,r[t>>2]|0}function se(t,e,i){t=t|0,e=e|0,i=i|0;var n=0;if((i|0)>0){n=0;do u[e+n>>0]=ee(t)|0,n=n+1|0;while((n|0)!=(i|0))}}function p3(t,e){t=t|0,e=e|0;var i=0;i=t+4|0,u[i>>0]|0||(u[i>>0]=1),r[t>>2]=r[e>>2]}function M3(t,e,i){t=t|0,e=e|0,i=i|0;var n=0;i=Qn(e,i)|0,r[t>>2]=i;do if(i){if(i>>>0>=32){i=r[t+28>>2]|0;break}if(n=r[t+12>>2]|0,i>>>0>n>>>0?(n=i-n|0,i=Qn(e,(r[t+68>>2]|0)+((i+-1|0)*44|0)|0)|0,n=i<<n|(Bo(e,n)|0)):n=Qn(e,(r[t+68>>2]|0)+((i+-1|0)*44|0)|0)|0,i=r[t>>2]|0,(n|0)<(1<<i+-1|0)){i=n+1+(-1<<i)|0;break}else{i=n+1|0;break}}else i=y3(e,t+48|0)|0;while(0);return i|0}function Qn(t,e){t=t|0,e=e|0;var i=0,n=0,o=0,f=0,h=0,l=0,c=0,M=0,w=0,_=0,V=0,U=0;if(V=t+8|0,_=r[V>>2]|0,o=r[e+16>>2]|0,o){if(n=t+4|0,i=r[n>>2]|0,w=_>>>15,r[V>>2]=w,c=(i>>>0)/(w>>>0)|0,l=c>>>(r[e+40>>2]|0),f=r[o+(l<<2)>>2]|0,l=(r[o+(l+1<<2)>>2]|0)+1|0,h=f+1|0,M=r[e+8>>2]|0,l>>>0>h>>>0){o=f,f=l;do h=(f+o|0)>>>1,l=(r[M+(h<<2)>>2]|0)>>>0>c>>>0,o=l?o:h,f=l?h:f,h=o+1|0;while(f>>>0>h>>>0);f=o}o=a0(r[M+(f<<2)>>2]|0,w)|0,(f|0)==(r[e+32>>2]|0)?h=_:h=a0(r[M+(h<<2)>>2]|0,w)|0}else{M=_>>>15,r[V>>2]=M,l=r[e>>2]|0,w=r[e+8>>2]|0,n=t+4|0,i=r[n>>2]|0,c=l>>>1,o=0,h=_,f=0;do U=a0(r[w+(c<<2)>>2]|0,M)|0,_=U>>>0>i>>>0,h=_?U:h,o=_?o:U,f=_?f:c,l=_?c:l,c=(f+l|0)>>>1;while((c|0)!=(f|0))}return r[n>>2]=i-o,U=h-o|0,r[V>>2]=U,U>>>0<16777216&&Zi(t),V=(r[e+12>>2]|0)+(f<<2)|0,r[V>>2]=(r[V>>2]|0)+1,V=e+28|0,U=(r[V>>2]|0)+-1|0,r[V>>2]=U,U||En(e),f|0}function Bo(t,e){t=t|0,e=e|0;var i=0,n=0,o=0,f=0;return e>>>0>19?(i=(d3(t)|0)&65535,(Bo(t,e+-16|0)|0)<<16|i|0):(n=t+4|0,o=r[n>>2]|0,f=t+8|0,i=(r[f>>2]|0)>>>e,r[f>>2]=i,e=(o>>>0)/(i>>>0)|0,r[n>>2]=o-(a0(e,i)|0),i>>>0<16777216&&Zi(t),e|0)}function y3(t,e){t=t|0,e=e|0;var i=0,n=0,o=0,f=0,h=0,l=0;return n=t+8|0,o=r[n>>2]|0,i=a0(o>>>13,r[e+8>>2]|0)|0,f=t+4|0,h=r[f>>2]|0,l=h>>>0>=i>>>0,l?(r[f>>2]=h-i,i=o-i|0,r[n>>2]=i):(r[n>>2]=i,h=e+12|0,r[h>>2]=(r[h>>2]|0)+1),i>>>0<16777216&&Zi(t),h=e+4|0,t=(r[h>>2]|0)+-1|0,r[h>>2]=t,t||Js(e),l&1|0}function Zi(t){t=t|0;var e=0,i=0,n=0,o=0;e=t+4|0,i=t+8|0,n=r[e>>2]|0;do n=n<<8|(ee(r[t>>2]|0)|0)&255,r[e>>2]=n,o=r[i>>2]<<8,r[i>>2]=o;while(o>>>0<16777216)}function d3(t){t=t|0;var e=0,i=0,n=0,o=0;return i=t+4|0,o=r[i>>2]|0,e=t+8|0,n=(r[e>>2]|0)>>>16,r[e>>2]=n,e=(o>>>0)/(n>>>0)|0,r[i>>2]=o-(a0(e,n)|0),Zi(t),e&65535|0}function g3(t){t=t|0,C0(t),$(t)}function R3(t){t=t|0,t=r[t+12>>2]|0,t|0&&_0[r[(r[t>>2]|0)+4>>2]&255](t)}function x3(t,e){return t=t|0,e=e|0,((r[e+4>>2]|0)==15904?t+12|0:0)|0}function w3(t){t=t|0,h0(t,16)}function _3(t,e){t=t|0,e=e|0,Jt(t),r[t>>2]=5272,r[t+4>>2]=e,F3(t+8|0)}function Z3(t,e,i){t=t|0,e=e|0,i=i|0;var n=0,o=0;i=m,m=m+16|0,n=i,r[t>>2]=e,o=b(16)|0,r[o+4>>2]=0,r[o+8>>2]=0,r[o>>2]=5296,r[o+12>>2]=e,r[t+4>>2]=o,r[n>>2]=e,r[n+4>>2]=e,It(t,n),m=i}function F3(t){t=t|0,pt(t,32,1,8,0),st(t+80|0,32,1,8,0),u[t+160>>0]=0,u[t+161>>0]=0,W3(t+164|0)}function So(t){t=t|0,r[t>>2]=5272,N3(t+8|0),vt(t)}function k3(t){t=t|0,So(t),$(t)}function V3(t,e){return t=t|0,e=e|0,X3(t+8|0,r[t+4>>2]|0,e)|0}function W3(t){t=t|0,u[t+4>>0]=0}function N3(t){t=t|0,ft(t+80|0),Mt(t)}function X3(t,e,i){t=t|0,e=e|0,i=i|0;var n=0,o=0,f=0;return f=m,m=m+16|0,n=f,u[t+161>>0]|0||ot(t+80|0),o=t+164|0,T3(o)|0?(e=ie(t+80|0,e,r[o>>2]|0,0)|0,r[n>>2]=e,Ri(e,i)):(se(ne(e)|0,i,4),r[n>>2]=di(i)|0),U3(o,n),m=f,i+4|0}function T3(t){return t=t|0,(u[t+4>>0]|0)!=0|0}function U3(t,e){t=t|0,e=e|0;var i=0;i=t+4|0,u[i>>0]|0||(u[i>>0]=1),r[t>>2]=r[e>>2]}function G3(t){t=t|0,C0(t),$(t)}function z3(t){t=t|0,t=r[t+12>>2]|0,t|0&&_0[r[(r[t>>2]|0)+4>>2]&255](t)}function E3(t,e){return t=t|0,e=e|0,((r[e+4>>2]|0)==16402?t+12|0:0)|0}function B3(t){t=t|0,h0(t,16)}function S3(t){t=t|0;var e=0,i=0,n=0,o=0,f=0,h=0,l=0,c=0,M=0,w=0;c=m,m=m+32|0,n=c+12|0,o=c,e=c+8|0,h=b(172)|0,J3(h,r[t+4>>2]|0),f=t+8|0,r[e>>2]=0,r[n>>2]=r[e>>2],I3(o,h,n),h=t+12|0,e=r[h>>2]|0,l=t+16|0;do if(e>>>0>=(r[l>>2]|0)>>>0)if(e=(e-(r[f>>2]|0)>>3)+1|0,i=Ct(f)|0,i>>>0<e>>>0)L0(f);else{M=r[f>>2]|0,w=(r[l>>2]|0)-M|0,l=w>>2,Et(n,w>>3>>>0<i>>>1>>>0?l>>>0<e>>>0?e:l:i,(r[h>>2]|0)-M>>3,t+16|0),l=n+8|0,h=r[l>>2]|0,r[h>>2]=r[o>>2],t=o+4|0,r[h+4>>2]=r[t>>2],r[o>>2]=0,r[t>>2]=0,r[l>>2]=h+8,Bt(f,n),St(n);break}else Gt(n,f,1),w=n+4|0,M=r[w>>2]|0,r[M>>2]=r[o>>2],l=o+4|0,r[M+4>>2]=r[l>>2],r[o>>2]=0,r[l>>2]=0,r[w>>2]=M+8,zt(n);while(0);rt(o),m=c}function C3(t){t=t|0;var e=0,i=0,n=0,o=0,f=0,h=0,l=0,c=0,M=0,w=0;c=m,m=m+32|0,n=c+12|0,o=c,e=c+8|0,h=b(176)|0,e8(h,r[t+4>>2]|0),f=t+8|0,r[e>>2]=0,r[n>>2]=r[e>>2],i8(o,h,n),h=t+12|0,e=r[h>>2]|0,l=t+16|0;do if(e>>>0>=(r[l>>2]|0)>>>0)if(e=(e-(r[f>>2]|0)>>3)+1|0,i=Ct(f)|0,i>>>0<e>>>0)L0(f);else{M=r[f>>2]|0,w=(r[l>>2]|0)-M|0,l=w>>2,Et(n,w>>3>>>0<i>>>1>>>0?l>>>0<e>>>0?e:l:i,(r[h>>2]|0)-M>>3,t+16|0),l=n+8|0,h=r[l>>2]|0,r[h>>2]=r[o>>2],t=o+4|0,r[h+4>>2]=r[t>>2],r[o>>2]=0,r[t>>2]=0,r[l>>2]=h+8,Bt(f,n),St(n);break}else Gt(n,f,1),w=n+4|0,M=r[w>>2]|0,r[M>>2]=r[o>>2],l=o+4|0,r[M+4>>2]=r[l>>2],r[o>>2]=0,r[l>>2]=0,r[w>>2]=M+8,zt(n);while(0);rt(o),m=c}function J3(t,e){t=t|0,e=e|0,Jt(t),r[t>>2]=5324,r[t+4>>2]=e,O3(t+8|0)}function I3(t,e,i){t=t|0,e=e|0,i=i|0;var n=0,o=0;i=m,m=m+16|0,n=i,r[t>>2]=e,o=b(16)|0,r[o+4>>2]=0,r[o+8>>2]=0,r[o>>2]=5348,r[o+12>>2]=e,r[t+4>>2]=o,r[n>>2]=e,r[n+4>>2]=e,It(t,n),m=i}function O3(t){t=t|0,pt(t,8,1,8,0),st(t+80|0,8,1,8,0),u[t+160>>0]=0,u[t+161>>0]=0,Y3(t+162|0)}function Co(t){t=t|0,r[t>>2]=5324,H3(t+8|0),vt(t)}function j3(t){t=t|0,Co(t),$(t)}function P3(t,e){return t=t|0,e=e|0,D3(t+8|0,r[t+4>>2]|0,e)|0}function Y3(t){t=t|0,u[t+1>>0]=0}function H3(t){t=t|0,ft(t+80|0),Mt(t)}function D3(t,e,i){t=t|0,e=e|0,i=i|0;var n=0,o=0,f=0;return f=m,m=m+16|0,n=f,u[t+161>>0]|0||ot(t+80|0),o=t+162|0,Q3(o)|0?(e=(ie(t+80|0,e,u[o>>0]|0,0)|0)&255,u[n>>0]=e,L3(e,i)):(se(ne(e)|0,i,1),u[n>>0]=q3(i)|0),$3(o,n),m=f,i+1|0}function Q3(t){return t=t|0,(u[t+1>>0]|0)!=0|0}function L3(t,e){t=t|0,e=e|0,u[e>>0]=t}function q3(t){return t=t|0,u[t>>0]|0}function $3(t,e){t=t|0,e=e|0;var i=0;i=t+1|0,u[i>>0]|0||(u[i>>0]=1),u[t>>0]=u[e>>0]|0}function K3(t){t=t|0,C0(t),$(t)}function b3(t){t=t|0,t=r[t+12>>2]|0,t|0&&_0[r[(r[t>>2]|0)+4>>2]&255](t)}function t8(t,e){return t=t|0,e=e|0,((r[e+4>>2]|0)==16900?t+12|0:0)|0}function r8(t){t=t|0,h0(t,16)}function e8(t,e){t=t|0,e=e|0,Jt(t),r[t>>2]=5376,r[t+4>>2]=e,n8(t+8|0)}function i8(t,e,i){t=t|0,e=e|0,i=i|0;var n=0,o=0;i=m,m=m+16|0,n=i,r[t>>2]=e,o=b(16)|0,r[o+4>>2]=0,r[o+8>>2]=0,r[o>>2]=5400,r[o+12>>2]=e,r[t+4>>2]=o,r[n>>2]=e,r[n+4>>2]=e,It(t,n),m=i}function n8(t){t=t|0,pt(t,16,1,8,0),st(t+80|0,16,1,8,0),u[t+160>>0]=0,u[t+161>>0]=0,f8(t+162|0)}function Jo(t){t=t|0,r[t>>2]=5376,A8(t+8|0),vt(t)}function s8(t){t=t|0,Jo(t),$(t)}function o8(t,e){return t=t|0,e=e|0,h8(t+8|0,r[t+4>>2]|0,e)|0}function f8(t){t=t|0,u[t+2>>0]=0}function A8(t){t=t|0,ft(t+80|0),Mt(t)}function h8(t,e,i){t=t|0,e=e|0,i=i|0;var n=0,o=0,f=0;return f=m,m=m+16|0,n=f,u[t+161>>0]|0||ot(t+80|0),o=t+162|0,l8(o)|0?(e=(ie(t+80|0,e,E[o>>1]|0,0)|0)&65535,E[n>>1]=e,u8(e,i)):(se(ne(e)|0,i,2),E[n>>1]=a8(i)|0),c8(o,n),m=f,i+2|0}function l8(t){return t=t|0,(u[t+2>>0]|0)!=0|0}function u8(t,e){t=t|0,e=e|0,Nr(t,e)}function a8(t){return t=t|0,Wr(t)|0}function c8(t,e){t=t|0,e=e|0;var i=0;i=t+2|0,u[i>>0]|0||(u[i>>0]=1),E[t>>1]=E[e>>1]|0}function m8(t){t=t|0,C0(t),$(t)}function v8(t){t=t|0,t=r[t+12>>2]|0,t|0&&_0[r[(r[t>>2]|0)+4>>2]&255](t)}function p8(t,e){return t=t|0,e=e|0,((r[e+4>>2]|0)==17398?t+12|0:0)|0}function M8(t){t=t|0,h0(t,16)}function y8(t){t=t|0;var e=0,i=0,n=0,o=0,f=0,h=0,l=0,c=0,M=0,w=0;c=m,m=m+32|0,n=c+12|0,o=c,e=c+8|0,h=b(172)|0,g8(h,r[t+4>>2]|0),f=t+8|0,r[e>>2]=0,r[n>>2]=r[e>>2],R8(o,h,n),h=t+12|0,e=r[h>>2]|0,l=t+16|0;do if(e>>>0>=(r[l>>2]|0)>>>0)if(e=(e-(r[f>>2]|0)>>3)+1|0,i=Ct(f)|0,i>>>0<e>>>0)L0(f);else{M=r[f>>2]|0,w=(r[l>>2]|0)-M|0,l=w>>2,Et(n,w>>3>>>0<i>>>1>>>0?l>>>0<e>>>0?e:l:i,(r[h>>2]|0)-M>>3,t+16|0),l=n+8|0,h=r[l>>2]|0,r[h>>2]=r[o>>2],t=o+4|0,r[h+4>>2]=r[t>>2],r[o>>2]=0,r[t>>2]=0,r[l>>2]=h+8,Bt(f,n),St(n);break}else Gt(n,f,1),w=n+4|0,M=r[w>>2]|0,r[M>>2]=r[o>>2],l=o+4|0,r[M+4>>2]=r[l>>2],r[o>>2]=0,r[l>>2]=0,r[w>>2]=M+8,zt(n);while(0);rt(o),m=c}function d8(t){t=t|0;var e=0,i=0,n=0,o=0,f=0,h=0,l=0,c=0,M=0,w=0;c=m,m=m+32|0,n=c+12|0,o=c,e=c+8|0,h=b(176)|0,G8(h,r[t+4>>2]|0),f=t+8|0,r[e>>2]=0,r[n>>2]=r[e>>2],z8(o,h,n),h=t+12|0,e=r[h>>2]|0,l=t+16|0;do if(e>>>0>=(r[l>>2]|0)>>>0)if(e=(e-(r[f>>2]|0)>>3)+1|0,i=Ct(f)|0,i>>>0<e>>>0)L0(f);else{M=r[f>>2]|0,w=(r[l>>2]|0)-M|0,l=w>>2,Et(n,w>>3>>>0<i>>>1>>>0?l>>>0<e>>>0?e:l:i,(r[h>>2]|0)-M>>3,t+16|0),l=n+8|0,h=r[l>>2]|0,r[h>>2]=r[o>>2],t=o+4|0,r[h+4>>2]=r[t>>2],r[o>>2]=0,r[t>>2]=0,r[l>>2]=h+8,Bt(f,n),St(n);break}else Gt(n,f,1),w=n+4|0,M=r[w>>2]|0,r[M>>2]=r[o>>2],l=o+4|0,r[M+4>>2]=r[l>>2],r[o>>2]=0,r[l>>2]=0,r[w>>2]=M+8,zt(n);while(0);rt(o),m=c}function g8(t,e){t=t|0,e=e|0,Jt(t),r[t>>2]=5428,r[t+4>>2]=e,x8(t+8|0)}function R8(t,e,i){t=t|0,e=e|0,i=i|0;var n=0,o=0;i=m,m=m+16|0,n=i,r[t>>2]=e,o=b(16)|0,r[o+4>>2]=0,r[o+8>>2]=0,r[o>>2]=5452,r[o+12>>2]=e,r[t+4>>2]=o,r[n>>2]=e,r[n+4>>2]=e,It(t,n),m=i}function x8(t){t=t|0,pt(t,8,1,8,0),st(t+80|0,8,1,8,0),u[t+160>>0]=0,u[t+161>>0]=0,Z8(t+162|0)}function Io(t){t=t|0,r[t>>2]=5428,F8(t+8|0),vt(t)}function w8(t){t=t|0,Io(t),$(t)}function _8(t,e){return t=t|0,e=e|0,k8(t+8|0,r[t+4>>2]|0,e)|0}function Z8(t){t=t|0,u[t+1>>0]=0}function F8(t){t=t|0,ft(t+80|0),Mt(t)}function k8(t,e,i){t=t|0,e=e|0,i=i|0;var n=0,o=0,f=0;return f=m,m=m+16|0,n=f,u[t+161>>0]|0||ot(t+80|0),o=t+162|0,V8(o)|0?(e=(ie(t+80|0,e,Z[o>>0]|0,0)|0)&255,u[n>>0]=e,Jn(e,i)):(se(ne(e)|0,i,1),u[n>>0]=Cn(i)|0),W8(o,n),m=f,i+1|0}function V8(t){return t=t|0,(u[t+1>>0]|0)!=0|0}function W8(t,e){t=t|0,e=e|0;var i=0;i=t+1|0,u[i>>0]|0||(u[i>>0]=1),u[t>>0]=u[e>>0]|0}function N8(t){t=t|0,C0(t),$(t)}function X8(t){t=t|0,t=r[t+12>>2]|0,t|0&&_0[r[(r[t>>2]|0)+4>>2]&255](t)}function T8(t,e){return t=t|0,e=e|0,((r[e+4>>2]|0)==17896?t+12|0:0)|0}function U8(t){t=t|0,h0(t,16)}function G8(t,e){t=t|0,e=e|0,Jt(t),r[t>>2]=5480,r[t+4>>2]=e,E8(t+8|0)}function z8(t,e,i){t=t|0,e=e|0,i=i|0;var n=0,o=0;i=m,m=m+16|0,n=i,r[t>>2]=e,o=b(16)|0,r[o+4>>2]=0,r[o+8>>2]=0,r[o>>2]=5504,r[o+12>>2]=e,r[t+4>>2]=o,r[n>>2]=e,r[n+4>>2]=e,It(t,n),m=i}function E8(t){t=t|0,pt(t,16,1,8,0),st(t+80|0,16,1,8,0),u[t+160>>0]=0,u[t+161>>0]=0,C8(t+162|0)}function Oo(t){t=t|0,r[t>>2]=5480,J8(t+8|0),vt(t)}function B8(t){t=t|0,Oo(t),$(t)}function S8(t,e){return t=t|0,e=e|0,I8(t+8|0,r[t+4>>2]|0,e)|0}function C8(t){t=t|0,u[t+2>>0]=0}function J8(t){t=t|0,ft(t+80|0),Mt(t)}function I8(t,e,i){t=t|0,e=e|0,i=i|0;var n=0,o=0,f=0;return f=m,m=m+16|0,n=f,u[t+161>>0]|0||ot(t+80|0),o=t+162|0,O8(o)|0?(e=(ie(t+80|0,e,C[o>>1]|0,0)|0)&65535,E[n>>1]=e,Nr(e,i)):(se(ne(e)|0,i,2),E[n>>1]=Wr(i)|0),j8(o,n),m=f,i+2|0}function O8(t){return t=t|0,(u[t+2>>0]|0)!=0|0}function j8(t,e){t=t|0,e=e|0;var i=0;i=t+2|0,u[i>>0]|0||(u[i>>0]=1),E[t>>1]=E[e>>1]|0}function P8(t){t=t|0,C0(t),$(t)}function Y8(t){t=t|0,t=r[t+12>>2]|0,t|0&&_0[r[(r[t>>2]|0)+4>>2]&255](t)}function H8(t,e){return t=t|0,e=e|0,((r[e+4>>2]|0)==18394?t+12|0:0)|0}function D8(t){t=t|0,h0(t,16)}function LR(){}function Q8(t){return t=t|0,t5(t)|0}function L8(){return 0}function q8(){return 0}function $8(t){t=t|0,t|0&&(r5(t),$(t))}function Ee(){return e5()|0}function K8(){return i5()|0}function b8(){return n5()|0}function jo(){return 0}function t5(t){return t=t|0,3360}function r5(t){t=t|0;var e=0,i=0,n=0,o=0;e=m,m=m+16|0,n=e,r[n>>2]=r[t>>2],r[t>>2]=0,i=t+4|0,r[n+4>>2]=r[i>>2],r[i>>2]=0,Vn(n),i=t+8|0,r[n>>2]=r[i>>2],r[i>>2]=0,o=t+12|0,r[n+4>>2]=r[o>>2],r[o>>2]=0,Wn(n),Wn(i),Vn(t),m=e}function e5(){return 3360}function i5(){return 3368}function n5(){return 3384}function Fi(){return 18579}function ki(){return 18582}function Po(){return 18584}function s5(){var t=0;return t=b(16)|0,a5(t),t|0}function o5(t){t=t|0;var e=0,i=0,n=0,o=0;e=m,m=m+16|0,i=e,o=Ee()|0,n=A5(i)|0,i=h5(i)|0,Ms(o|0,n|0,i|0,Fi()|0,12,t|0),m=e}function f5(t){return t=t|0,l5(a2[t&3]()|0)|0}function A5(t){return t=t|0,1}function h5(t){return t=t|0,u5()|0}function l5(t){return t=t|0,t|0}function u5(){return 5524}function a5(t){t=t|0,r[t>>2]=0,r[t+4>>2]=0,r[t+8>>2]=0,r[t+12>>2]=0}function c5(t,e){t=t|0,e=e|0;var i=0,n=0,o=0,f=0,h=0;i=m,m=m+16|0,n=i,o=i+8|0,h=r[e+4>>2]|0,r[n>>2]=r[e>>2],r[n+4>>2]=h,h=Ee()|0,f=v5(o)|0,o=p5(o)|0,e=Ho()|0,br(h|0,t|0,f|0,o|0,e|0,4,M5(n)|0,0),m=i}function m5(t,e,i,n){t=t|0,e=e|0,i=i|0,n=n|0;var o=0,f=0;f=Ln(e)|0,e=r[t>>2]|0,o=r[t+4>>2]|0,t=f+(o>>1)|0,o&1&&(e=r[(r[t>>2]|0)+e>>2]|0),o=Yo(i)|0,f=qn(n)|0,Oe[e&15](t,o,f)}function v5(t){return t=t|0,4}function p5(t){return t=t|0,y5()|0}function M5(t){t=t|0;var e=0,i=0;return e=b(8)|0,i=r[t+4>>2]|0,r[e>>2]=r[t>>2],r[e+4>>2]=i,e|0}function Ln(t){return t=t|0,t|0}function Yo(t){return t=t|0,t|0}function qn(t){return t=t|0,t|0}function y5(){return 144}function Ho(){return 18587}function d5(t,e){t=t|0,e=e|0;var i=0,n=0,o=0,f=0,h=0;i=m,m=m+16|0,n=i,o=i+8|0,h=r[e+4>>2]|0,r[n>>2]=r[e>>2],r[n+4>>2]=h,h=Ee()|0,f=R5(o)|0,o=x5(o)|0,e=$n()|0,br(h|0,t|0,f|0,o|0,e|0,7,w5(n)|0,0),m=i}function g5(t,e,i){t=t|0,e=e|0,i=i|0;var n=0,o=0;o=Ln(e)|0,e=r[t>>2]|0,n=r[t+4>>2]|0,t=o+(n>>1)|0,n&1&&(e=r[(r[t>>2]|0)+e>>2]|0),o=Do(i)|0,vr[e&15](t,o)}function R5(t){return t=t|0,3}function x5(t){return t=t|0,_5()|0}function w5(t){t=t|0;var e=0,i=0;return e=b(8)|0,i=r[t+4>>2]|0,r[e>>2]=r[t>>2],r[e+4>>2]=i,e|0}function Do(t){return t=t|0,t|0}function _5(){return 5528}function $n(){return 18593}function Z5(t,e){t=t|0,e=e|0;var i=0,n=0,o=0,f=0,h=0;i=m,m=m+16|0,n=i,o=i+8|0,h=r[e+4>>2]|0,r[n>>2]=r[e>>2],r[n+4>>2]=h,h=Ee()|0,f=k5(o)|0,o=V5(o)|0,e=T5()|0,br(h|0,t|0,f|0,o|0,e|0,41,W5(n)|0,0),m=i}function F5(t,e){t=t|0,e=e|0;var i=0,n=0,o=0,f=0;return n=m,m=m+16|0,i=n,f=Ln(e)|0,e=r[t>>2]|0,o=r[t+4>>2]|0,t=f+(o>>1)|0,o&1&&(e=r[(r[t>>2]|0)+e>>2]|0),r[i>>2]=Gi[e&15](t)|0,f=N5(i)|0,m=n,f|0}function k5(t){return t=t|0,2}function V5(t){return t=t|0,X5()|0}function W5(t){t=t|0;var e=0,i=0;return e=b(8)|0,i=r[t+4>>2]|0,r[e>>2]=r[t>>2],r[e+4>>2]=i,e|0}function N5(t){return t=t|0,r[t>>2]|0}function X5(){return 5540}function T5(){return 18598}function qR(){}function U5(t){return t=t|0,C5(t)|0}function G5(){return 0}function z5(){return 0}function E5(t){t=t|0,t|0&&(J5(t),$(t))}function Be(){return I5()|0}function B5(){return O5()|0}function S5(){return j5()|0}function C5(t){return t=t|0,3400}function J5(t){t=t|0;var e=0,i=0,n=0,o=0;e=m,m=m+16|0,n=e,r[n>>2]=r[t>>2],r[t>>2]=0,i=t+4|0,r[n+4>>2]=r[i>>2],r[i>>2]=0,Hn(n),i=t+16|0,r[n>>2]=r[i>>2],r[i>>2]=0,o=t+20|0,r[n+4>>2]=r[o>>2],r[o>>2]=0,ze(n),r[n>>2]=r[i>>2],r[i>>2]=0,r[n+4>>2]=r[o>>2],r[o>>2]=0,ze(n),ze(i),Go(t+8|0),Hn(t),m=e}function I5(){return 3400}function O5(){return 3408}function j5(){return 3424}function P5(){var t=0;return t=b(24)|0,$5(t),t|0}function Y5(t){t=t|0;var e=0,i=0,n=0,o=0;e=m,m=m+16|0,i=e,o=Be()|0,n=D5(i)|0,i=Q5(i)|0,Ms(o|0,n|0,i|0,Fi()|0,13,t|0),m=e}function H5(t){return t=t|0,L5(a2[t&3]()|0)|0}function D5(t){return t=t|0,1}function Q5(t){return t=t|0,q5()|0}function L5(t){return t=t|0,t|0}function q5(){return 5548}function $5(t){t=t|0,r[t>>2]=0,r[t+4>>2]=0,r[t+8>>2]=0,r[t+12>>2]=0,r[t+16>>2]=0,r[t+20>>2]=0}function K5(t,e){t=t|0,e=e|0;var i=0,n=0,o=0,f=0,h=0;i=m,m=m+16|0,n=i,o=i+8|0,h=r[e+4>>2]|0,r[n>>2]=r[e>>2],r[n+4>>2]=h,h=Be()|0,f=tv(o)|0,o=rv(o)|0,e=Ho()|0,br(h|0,t|0,f|0,o|0,e|0,5,ev(n)|0,0),m=i}function b5(t,e,i,n){t=t|0,e=e|0,i=i|0,n=n|0;var o=0,f=0;f=Kn(e)|0,e=r[t>>2]|0,o=r[t+4>>2]|0,t=f+(o>>1)|0,o&1&&(e=r[(r[t>>2]|0)+e>>2]|0),o=Yo(i)|0,f=qn(n)|0,Oe[e&15](t,o,f)}function tv(t){return t=t|0,4}function rv(t){return t=t|0,iv()|0}function ev(t){t=t|0;var e=0,i=0;return e=b(8)|0,i=r[t+4>>2]|0,r[e>>2]=r[t>>2],r[e+4>>2]=i,e|0}function Kn(t){return t=t|0,t|0}function iv(){return 160}function bn(t,e){t=t|0,e=e|0;var i=0,n=0,o=0,f=0,h=0;i=m,m=m+16|0,n=i,o=i+8|0,h=r[e+4>>2]|0,r[n>>2]=r[e>>2],r[n+4>>2]=h,h=Be()|0,f=sv(o)|0,o=ov(o)|0,e=$n()|0,br(h|0,t|0,f|0,o|0,e|0,8,fv(n)|0,0),m=i}function nv(t,e,i){t=t|0,e=e|0,i=i|0;var n=0,o=0;o=Kn(e)|0,e=r[t>>2]|0,n=r[t+4>>2]|0,t=o+(n>>1)|0,n&1&&(e=r[(r[t>>2]|0)+e>>2]|0),o=qn(i)|0,vr[e&15](t,o)}function sv(t){return t=t|0,3}function ov(t){return t=t|0,Av()|0}function fv(t){t=t|0;var e=0,i=0;return e=b(8)|0,i=r[t+4>>2]|0,r[e>>2]=r[t>>2],r[e+4>>2]=i,e|0}function Av(){return 5552}function hv(t,e){t=t|0,e=e|0;var i=0,n=0,o=0,f=0,h=0;i=m,m=m+16|0,n=i,o=i+8|0,h=r[e+4>>2]|0,r[n>>2]=r[e>>2],r[n+4>>2]=h,h=Be()|0,f=uv(o)|0,o=av(o)|0,e=$n()|0,br(h|0,t|0,f|0,o|0,e|0,9,cv(n)|0,0),m=i}function lv(t,e,i){t=t|0,e=e|0,i=i|0;var n=0,o=0;o=Kn(e)|0,e=r[t>>2]|0,n=r[t+4>>2]|0,t=o+(n>>1)|0,n&1&&(e=r[(r[t>>2]|0)+e>>2]|0),o=Do(i)|0,vr[e&15](t,o)}function uv(t){return t=t|0,3}function av(t){return t=t|0,mv()|0}function cv(t){t=t|0;var e=0,i=0;return e=b(8)|0,i=r[t+4>>2]|0,r[e>>2]=r[t>>2],r[e+4>>2]=i,e|0}function mv(){return 5564}function vv(){G1()}function pv(){Mv()}function Mv(){yv(22144)}function yv(t){t=t|0;var e=0;e=m,m=m+16|0,r[e>>2]=t,Qo(),m=e}function Qo(){V1(dv()|0,18653),F1(gv()|0,18658,1,1,0),Rv(18663),xv(18668),wv(18680),_v(18694),Zv(18700),Fv(18715),kv(18719),Vv(18732),Wv(18737),Nv(18751),Xv(18757),ds(Tv()|0,18764),ds(Uv()|0,18776),kn(Gv()|0,4,18809),kn(zv()|0,2,18822),kn(Ev()|0,4,18837),k1(Bv()|0,18852),Sv(18868),Lo(18898),qo(18935),$o(18974),Ko(19005),bo(19045),tf(19074),Cv(19112),Jv(19142),Lo(19181),qo(19213),$o(19246),Ko(19279),bo(19313),tf(19346),Iv(19380),Ov(19411),jv(19443)}function dv(){return rp()|0}function gv(){return tp()|0}function Rv(t){t=t|0;var e=0,i=0;e=m,m=m+16|0,i=e,r[i>>2]=t,t=K6()|0,Lt(t|0,r[i>>2]|0,1,-128<<24>>24|0,127<<24>>24|0),m=e}function xv(t){t=t|0;var e=0,i=0;e=m,m=m+16|0,i=e,r[i>>2]=t,t=q6()|0,Lt(t|0,r[i>>2]|0,1,-128<<24>>24|0,127<<24>>24|0),m=e}function wv(t){t=t|0;var e=0,i=0;e=m,m=m+16|0,i=e,r[i>>2]=t,t=Q6()|0,Lt(t|0,r[i>>2]|0,1,0,255),m=e}function _v(t){t=t|0;var e=0,i=0;e=m,m=m+16|0,i=e,r[i>>2]=t,t=H6()|0,Lt(t|0,r[i>>2]|0,2,-32768<<16>>16|0,32767<<16>>16|0),m=e}function Zv(t){t=t|0;var e=0,i=0;e=m,m=m+16|0,i=e,r[i>>2]=t,t=P6()|0,Lt(t|0,r[i>>2]|0,2,0,65535),m=e}function Fv(t){t=t|0;var e=0,i=0;e=m,m=m+16|0,i=e,r[i>>2]=t,t=O6()|0,Lt(t|0,r[i>>2]|0,4,-2147483648,2147483647),m=e}function kv(t){t=t|0;var e=0,i=0;e=m,m=m+16|0,i=e,r[i>>2]=t,t=J6()|0,Lt(t|0,r[i>>2]|0,4,0,-1),m=e}function Vv(t){t=t|0;var e=0,i=0;e=m,m=m+16|0,i=e,r[i>>2]=t,t=S6()|0,Lt(t|0,r[i>>2]|0,4,-2147483648,2147483647),m=e}function Wv(t){t=t|0;var e=0,i=0;e=m,m=m+16|0,i=e,r[i>>2]=t,t=E6()|0,Lt(t|0,r[i>>2]|0,4,0,-1),m=e}function Nv(t){t=t|0;var e=0,i=0;e=m,m=m+16|0,i=e,r[i>>2]=t,t=G6()|0,ys(t|0,r[i>>2]|0,4),m=e}function Xv(t){t=t|0;var e=0,i=0;e=m,m=m+16|0,i=e,r[i>>2]=t,t=T6()|0,ys(t|0,r[i>>2]|0,8),m=e}function Tv(){return X6()|0}function Uv(){return N6()|0}function Gv(){return W6()|0}function zv(){return V6()|0}function Ev(){return k6()|0}function Bv(){return F6()|0}function Sv(t){t=t|0;var e=0,i=0,n=0;e=m,m=m+16|0,i=e,r[i>>2]=t,n=w6()|0,t=_6()|0,mt(n|0,t|0,r[i>>2]|0),m=e}function Lo(t){t=t|0;var e=0,i=0,n=0;e=m,m=m+16|0,i=e,r[i>>2]=t,n=g6()|0,t=R6()|0,mt(n|0,t|0,r[i>>2]|0),m=e}function qo(t){t=t|0;var e=0,i=0,n=0;e=m,m=m+16|0,i=e,r[i>>2]=t,n=M6()|0,t=y6()|0,mt(n|0,t|0,r[i>>2]|0),m=e}function $o(t){t=t|0;var e=0,i=0,n=0;e=m,m=m+16|0,i=e,r[i>>2]=t,n=m6()|0,t=v6()|0,mt(n|0,t|0,r[i>>2]|0),m=e}function Ko(t){t=t|0;var e=0,i=0,n=0;e=m,m=m+16|0,i=e,r[i>>2]=t,n=u6()|0,t=a6()|0,mt(n|0,t|0,r[i>>2]|0),m=e}function bo(t){t=t|0;var e=0,i=0,n=0;e=m,m=m+16|0,i=e,r[i>>2]=t,n=A6()|0,t=h6()|0,mt(n|0,t|0,r[i>>2]|0),m=e}function tf(t){t=t|0;var e=0,i=0,n=0;e=m,m=m+16|0,i=e,r[i>>2]=t,n=s6()|0,t=o6()|0,mt(n|0,t|0,r[i>>2]|0),m=e}function Cv(t){t=t|0;var e=0,i=0,n=0;e=m,m=m+16|0,i=e,r[i>>2]=t,n=e6()|0,t=i6()|0,mt(n|0,t|0,r[i>>2]|0),m=e}function Jv(t){t=t|0;var e=0,i=0,n=0;e=m,m=m+16|0,i=e,r[i>>2]=t,n=bv()|0,t=t6()|0,mt(n|0,t|0,r[i>>2]|0),m=e}function Iv(t){t=t|0;var e=0,i=0,n=0;e=m,m=m+16|0,i=e,r[i>>2]=t,n=qv()|0,t=$v()|0,mt(n|0,t|0,r[i>>2]|0),m=e}function Ov(t){t=t|0;var e=0,i=0,n=0;e=m,m=m+16|0,i=e,r[i>>2]=t,n=Dv()|0,t=Qv()|0,mt(n|0,t|0,r[i>>2]|0),m=e}function jv(t){t=t|0;var e=0,i=0,n=0;e=m,m=m+16|0,i=e,r[i>>2]=t,n=Pv()|0,t=Yv()|0,mt(n|0,t|0,r[i>>2]|0),m=e}function Pv(){return Hv()|0}function Yv(){return 7}function Hv(){return 3440}function Dv(){return Lv()|0}function Qv(){return 7}function Lv(){return 3448}function qv(){return Kv()|0}function $v(){return 6}function Kv(){return 3456}function bv(){return r6()|0}function t6(){return 5}function r6(){return 3464}function e6(){return n6()|0}function i6(){return 4}function n6(){return 3472}function s6(){return f6()|0}function o6(){return 5}function f6(){return 3480}function A6(){return l6()|0}function h6(){return 4}function l6(){return 3488}function u6(){return c6()|0}function a6(){return 3}function c6(){return 3496}function m6(){return p6()|0}function v6(){return 2}function p6(){return 3504}function M6(){return d6()|0}function y6(){return 1}function d6(){return 3512}function g6(){return x6()|0}function R6(){return 0}function x6(){return 3520}function w6(){return Z6()|0}function _6(){return 0}function Z6(){return 3528}function F6(){return 3536}function k6(){return 3544}function V6(){return 3576}function W6(){return 3600}function N6(){return 3624}function X6(){return 3648}function T6(){return U6()|0}function U6(){return 4144}function G6(){return z6()|0}function z6(){return 4136}function E6(){return B6()|0}function B6(){return 4128}function S6(){return C6()|0}function C6(){return 4120}function J6(){return I6()|0}function I6(){return 4112}function O6(){return j6()|0}function j6(){return 4104}function P6(){return Y6()|0}function Y6(){return 4096}function H6(){return D6()|0}function D6(){return 4088}function Q6(){return L6()|0}function L6(){return 4072}function q6(){return $6()|0}function $6(){return 4080}function K6(){return b6()|0}function b6(){return 4064}function tp(){return 4056}function rp(){return 4040}function ep(t){t=t|0;var e=0,i=0,n=0,o=0;return e=m,m=m+16|0,i=e+8|0,n=e+4|0,o=e,r[o>>2]=t,r[n>>2]=r[o>>2],r[i>>2]=r[(r[n>>2]|0)+4>>2],t=xp(r[i>>2]|0)|0,m=e,t|0}function Ot(){return 21636}function Se(t){return t=t|0,(t+-48|0)>>>0<10|0}function rf(){return 5576}function ef(t,e){t=t|0,e=e|0;var i=0,n=0;if(i=u[t>>0]|0,n=u[e>>0]|0,!(i<<24>>24)||i<<24>>24!=n<<24>>24)t=n;else{do t=t+1|0,e=e+1|0,i=u[t>>0]|0,n=u[e>>0]|0;while(!(!(i<<24>>24)||i<<24>>24!=n<<24>>24));t=n}return(i&255)-(t&255)|0}function Vi(t){t=t|0;var e=0,i=0,n=0;n=t;t:do if(!(n&3))i=5;else for(e=n;;){if(!(u[t>>0]|0)){t=e;break t}if(t=t+1|0,e=t,!(e&3)){i=5;break}}while(0);if((i|0)==5){for(;e=r[t>>2]|0,!((e&-2139062144^-2139062144)&e+-16843009);)t=t+4|0;if((e&255)<<24>>24)do t=t+1|0;while(u[t>>0]|0)}return t-n|0}function ip(t){t=t|0}function np(t){return t=t|0,1}function sp(t){t=t|0;var e=0,i=0;return e=t+74|0,i=u[e>>0]|0,u[e>>0]=i+255|i,e=r[t>>2]|0,e&8?(r[t>>2]=e|32,t=-1):(r[t+8>>2]=0,r[t+4>>2]=0,i=r[t+44>>2]|0,r[t+28>>2]=i,r[t+20>>2]=i,r[t+16>>2]=i+(r[t+48>>2]|0),t=0),t|0}function op(t,e,i){t=t|0,e=e|0,i=i|0;var n=0,o=0,f=0,h=0,l=0;n=i+16|0,o=r[n>>2]|0,o?f=5:sp(i)|0?n=0:(o=r[n>>2]|0,f=5);t:do if((f|0)==5){if(l=i+20|0,h=r[l>>2]|0,n=h,(o-h|0)>>>0<e>>>0){n=he[r[i+36>>2]&7](i,t,e)|0;break}r:do if((u[i+75>>0]|0)<0|(e|0)==0)f=0,o=t;else{for(h=e;o=h+-1|0,(u[t+o>>0]|0)!=10;)if(o)h=o;else{f=0,o=t;break r}if(n=he[r[i+36>>2]&7](i,t,h)|0,n>>>0<h>>>0)break t;f=h,o=t+h|0,e=e-h|0,n=r[l>>2]|0}while(0);lt(n|0,o|0,e|0)|0,r[l>>2]=(r[l>>2]|0)+e,n=f+e|0}while(0);return n|0}function fp(t,e){return t=t|0,e=e|0,e?e=Ap(r[e>>2]|0,r[e+4>>2]|0,t)|0:e=0,(e|0?e:t)|0}function Ap(t,e,i){t=t|0,e=e|0,i=i|0;var n=0,o=0,f=0,h=0,l=0,c=0,M=0,w=0,_=0,V=0;V=(r[t>>2]|0)+1794895138|0,f=Tr(r[t+8>>2]|0,V)|0,n=Tr(r[t+12>>2]|0,V)|0,o=Tr(r[t+16>>2]|0,V)|0;t:do if(f>>>0<e>>>2>>>0&&(_=e-(f<<2)|0,n>>>0<_>>>0&o>>>0<_>>>0)&&!((o|n)&3|0)){for(_=n>>>2,w=o>>>2,M=0;;){if(l=f>>>1,c=M+l|0,h=c<<1,o=h+_|0,n=Tr(r[t+(o<<2)>>2]|0,V)|0,o=Tr(r[t+(o+1<<2)>>2]|0,V)|0,!(o>>>0<e>>>0&n>>>0<(e-o|0)>>>0)){n=0;break t}if(u[t+(o+n)>>0]|0){n=0;break t}if(n=ef(i,t+o|0)|0,!n)break;if(n=(n|0)<0,(f|0)==1){n=0;break t}M=n?M:c,f=n?l:f-l|0}n=h+w|0,o=Tr(r[t+(n<<2)>>2]|0,V)|0,n=Tr(r[t+(n+1<<2)>>2]|0,V)|0,n>>>0<e>>>0&o>>>0<(e-n|0)>>>0?n=u[t+(n+o)>>0]|0?0:t+n|0:n=0}else n=0;while(0);return n|0}function Tr(t,e){t=t|0,e=e|0;var i=0;return i=Nf(t|0)|0,(e|0?i:t)|0}function hp(t,e,i){t=t|0,e=e|0,i=i|0;var n=0,o=0,f=0;f=e&255,n=(i|0)!=0;t:do if(n&(t&3|0)!=0)for(o=e&255;;){if((u[t>>0]|0)==o<<24>>24){o=6;break t}if(t=t+1|0,i=i+-1|0,n=(i|0)!=0,!(n&(t&3|0)!=0)){o=5;break}}else o=5;while(0);(o|0)==5&&(n?o=6:t=0);t:do if((o|0)==6){if((u[t>>0]|0)!=(e&255)<<24>>24){n=a0(f,16843009)|0;r:do if(i>>>0>3)do{if(f=r[t>>2]^n,(f&-2139062144^-2139062144)&f+-16843009|0)break r;t=t+4|0,i=i+-4|0}while(i>>>0>3);while(0)}if(!i)t=0;else for(n=e&255;;){if((u[t>>0]|0)==n<<24>>24)break t;if(i=i+-1|0,i)t=t+1|0;else{t=0;break}}}while(0);return t|0}function lp(t,e,i){return t=t|0,e=e|0,i=i|0,cp(t,e,i,1,8)|0}function up(t,e,i,n,o,f){t=t|0,e=+e,i=i|0,n=n|0,o=o|0,f=f|0;var h=0,l=0,c=0,M=0,w=0,_=0,V=0,U=0,G=0,T=0,e0=0,P=0,I=0,t0=0,B=0,d0=0,N0=0,g0=0,f0=0,V0=0,i0=0,n0=0,Ft=0;Ft=m,m=m+560|0,c=Ft+32|0,P=Ft+536|0,n0=Ft,i0=n0,M=Ft+540|0,r[P>>2]=0,V0=M+12|0,ff(e)|0,h=y0()|0,(h|0)<0?(e=-e,ff(e)|0,f0=1,g0=20247,h=y0()|0):(f0=(o&2049|0)!=0&1,g0=o&2048|0?20250:o&1|0?20253:20248);do if(!0&(h&2146435072|0)==2146435072)n0=(f&32|0)!=0,h=f0+3|0,H0(t,32,i,h,o&-65537),J0(t,g0,f0),J0(t,e!=e|!1?n0?20274:20278:n0?20266:20270,3),H0(t,32,i,h,o^8192);else{if(U=+Af(e,P)*2,h=U!=0,h&&(r[P>>2]=(r[P>>2]|0)+-1),e0=f|32,(e0|0)==97){_=f&32,G=_|0?g0+9|0:g0,V=f0|2,h=12-n|0;do if(n>>>0>11|(h|0)==0)e=U;else{e=8;do h=h+-1|0,e=e*16;while(h|0);if((u[G>>0]|0)==45){e=-(e+(-U-e));break}else{e=U+e-e;break}}while(0);l=r[P>>2]|0,h=(l|0)<0?0-l|0:l,h=oe(h,((h|0)<0)<<31>>31,V0)|0,(h|0)==(V0|0)&&(h=M+11|0,u[h>>0]=48),u[h+-1>>0]=(l>>31&2)+43,w=h+-2|0,u[w>>0]=f+15,l=(n|0)<1,c=(o&8|0)==0,M=n0;do f0=~~e,h=M+1|0,u[M>>0]=_|Z[640+f0>>0],e=(e-+(f0|0))*16,(h-i0|0)==1&&!(c&(l&e==0))?(u[h>>0]=46,M=M+2|0):M=h;while(e!=0);n|0&&(-2-i0+M|0)<(n|0)?(l=V0,c=w,h=n+2+l-c|0):(l=V0,c=w,h=l-i0-c+M|0),V0=h+V|0,H0(t,32,i,V0,o),J0(t,G,V),H0(t,48,i,V0,o^65536),i0=M-i0|0,J0(t,n0,i0),n0=l-c|0,H0(t,48,h-(i0+n0)|0,0,0),J0(t,w,n0),H0(t,32,i,V0,o^8192),h=V0;break}l=(n|0)<0?6:n,h?(h=(r[P>>2]|0)+-28|0,r[P>>2]=h,e=U*268435456):(e=U,h=r[P>>2]|0),N0=(h|0)<0?c:c+288|0,c=N0;do B=~~e>>>0,r[c>>2]=B,c=c+4|0,e=(e-+(B>>>0))*1e9;while(e!=0);if(B=N0,(h|0)>0)for(_=N0;;){if(w=(h|0)<29?h:29,h=c+-4|0,h>>>0>=_>>>0){M=0;do T=Vf(r[h>>2]|0,0,w|0)|0,T=yt(T|0,y0()|0,M|0,0)|0,I=y0()|0,M=h2(T|0,I|0,1e9,0)|0,t0=A2(M|0,y0()|0,1e9,0)|0,t0=Ae(T|0,I|0,t0|0,y0()|0)|0,y0()|0,r[h>>2]=t0,h=h+-4|0;while(h>>>0>=_>>>0);M?(t0=_+-4|0,r[t0>>2]=M,M=t0):M=_}else M=_;t:do if(c>>>0>M>>>0)for(h=c;;){if(c=h+-4|0,r[c>>2]|0){c=h;break t}if(c>>>0>M>>>0)h=c;else break}while(0);if(h=(r[P>>2]|0)-w|0,r[P>>2]=h,(h|0)>0)_=M;else break}else M=N0;if((h|0)<0){n=((l+25|0)/9|0)+1|0,T=(e0|0)==102;do{if(G=0-h|0,G=(G|0)<9?G:9,M>>>0<c>>>0){w=(1<<G)+-1|0,_=1e9>>>G,V=0,h=M;do t0=r[h>>2]|0,r[h>>2]=(t0>>>G)+V,V=a0(t0&w,_)|0,h=h+4|0;while(h>>>0<c>>>0);M=r[M>>2]|0?M:M+4|0,V&&(r[c>>2]=V,c=c+4|0)}else M=r[M>>2]|0?M:M+4|0;h=T?N0:M,c=(c-h>>2|0)>(n|0)?h+(n<<2)|0:c,h=(r[P>>2]|0)+G|0,r[P>>2]=h}while((h|0)<0);T=M}else T=M;if(T>>>0<c>>>0){if(h=(B-T>>2)*9|0,w=r[T>>2]|0,w>>>0>=10){M=10;do M=M*10|0,h=h+1|0;while(w>>>0>=M>>>0)}}else h=0;if(I=(e0|0)==103,t0=(l|0)!=0,M=l-((e0|0)==102?0:h)+((t0&I)<<31>>31)|0,(M|0)<(((c-B>>2)*9|0)+-9|0)){if(P=M+9216|0,M=(P|0)/9|0,n=N0+4+(M+-1024<<2)|0,M=P-(M*9|0)|0,(M|0)<8)for(w=10;w=w*10|0,(M|0)<7;)M=M+1|0;else w=10;if(V=r[n>>2]|0,M=(V>>>0)/(w>>>0)|0,G=V-(a0(M,w)|0)|0,_=(n+4|0)==(c|0),_&(G|0)==0)M=n,w=T;else if(U=M&1|0?9007199254740994:9007199254740992,P=w>>>1,e=G>>>0<P>>>0?.5:_&(G|0)==(P|0)?1:1.5,f0&&(P=(u[g0>>0]|0)==45,e=P?-e:e,U=P?-U:U),M=V-G|0,r[n>>2]=M,U+e!=U){if(P=M+w|0,r[n>>2]=P,P>>>0>999999999)for(w=n,h=T;;)if(M=w+-4|0,r[w>>2]=0,M>>>0<h>>>0&&(h=h+-4|0,r[h>>2]=0),P=(r[M>>2]|0)+1|0,r[M>>2]=P,P>>>0>999999999)w=M;else{w=h;break}else M=n,w=T;if(h=(B-w>>2)*9|0,V=r[w>>2]|0,V>>>0>=10){_=10;do _=_*10|0,h=h+1|0;while(V>>>0>=_>>>0)}}else M=n,w=T;P=M+4|0,c=c>>>0>P>>>0?P:c}else w=T;n=0-h|0;t:do if(c>>>0>w>>>0)for(;;){if(M=c+-4|0,r[M>>2]|0){P=c,e0=1;break t}if(M>>>0>w>>>0)c=M;else{P=M,e0=0;break}}else P=c,e0=0;while(0);do if(I){if(l=l+((t0^1)&1)|0,(l|0)>(h|0)&(h|0)>-5?(_=f+-1|0,l=l+-1-h|0):(_=f+-2|0,l=l+-1|0),!(o&8)){if(e0&&(d0=r[P+-4>>2]|0,(d0|0)!=0))if((d0>>>0)%10|0)M=0;else{M=0,c=10;do c=c*10|0,M=M+1|0;while(!((d0>>>0)%(c>>>0)|0|0))}else M=9;if(c=((P-B>>2)*9|0)+-9|0,(_|32|0)==102){f=c-M|0,f=(f|0)>0?f:0,l=(l|0)<(f|0)?l:f;break}else{f=c+h-M|0,f=(f|0)>0?f:0,l=(l|0)<(f|0)?l:f;break}}}else _=f;while(0);if(T=(l|0)!=0,V=T?1:o>>>3&1,G=(_|32|0)==102,G)I=0,h=(h|0)>0?h:0;else{if(c=(h|0)<0?n:h,c=oe(c,((c|0)<0)<<31>>31,V0)|0,M=V0,(M-c|0)<2)do c=c+-1|0,u[c>>0]=48;while((M-c|0)<2);u[c+-1>>0]=(h>>31&2)+43,h=c+-2|0,u[h>>0]=_,I=h,h=M-h|0}if(h=f0+1+l+V+h|0,H0(t,32,i,h,o),J0(t,g0,f0),H0(t,48,i,h,o^65536),G){V=w>>>0>N0>>>0?N0:w,G=n0+9|0,w=G,_=n0+8|0,M=V;do{if(c=oe(r[M>>2]|0,0,G)|0,(M|0)==(V|0))(c|0)==(G|0)&&(u[_>>0]=48,c=_);else if(c>>>0>n0>>>0){Br(n0|0,48,c-i0|0)|0;do c=c+-1|0;while(c>>>0>n0>>>0)}J0(t,c,w-c|0),M=M+4|0}while(M>>>0<=N0>>>0);if((o&8|0)==0&(T^1)||J0(t,20282,1),M>>>0<P>>>0&(l|0)>0)for(;;){if(c=oe(r[M>>2]|0,0,G)|0,c>>>0>n0>>>0){Br(n0|0,48,c-i0|0)|0;do c=c+-1|0;while(c>>>0>n0>>>0)}if(J0(t,c,(l|0)<9?l:9),M=M+4|0,c=l+-9|0,M>>>0<P>>>0&(l|0)>9)l=c;else{l=c;break}}H0(t,48,l+9|0,9,0)}else{if(P=e0?P:w+4|0,w>>>0<P>>>0&(l|0)>-1){n=n0+9|0,T=(o&8|0)==0,e0=n,V=0-i0|0,G=n0+8|0,_=w;do{c=oe(r[_>>2]|0,0,n)|0,(c|0)==(n|0)&&(u[G>>0]=48,c=G);do if((_|0)==(w|0)){if(M=c+1|0,J0(t,c,1),T&(l|0)<1){c=M;break}J0(t,20282,1),c=M}else{if(c>>>0<=n0>>>0)break;Br(n0|0,48,c+V|0)|0;do c=c+-1|0;while(c>>>0>n0>>>0)}while(0);i0=e0-c|0,J0(t,c,(l|0)>(i0|0)?i0:l),l=l-i0|0,_=_+4|0}while(_>>>0<P>>>0&(l|0)>-1)}H0(t,48,l+18|0,18,0),J0(t,I,V0-I|0)}H0(t,32,i,h,o^8192)}while(0);return m=Ft,((h|0)<(i|0)?i:h)|0}function ap(t,e){t=t|0,e=e|0;var i=0,n=0;n=(r[e>>2]|0)+(8-1)&~(8-1),i=+Y[n>>3],r[e>>2]=n+8,Y[t>>3]=i}function cp(t,e,i,n,o){t=t|0,e=e|0,i=i|0,n=n|0,o=o|0;var f=0,h=0,l=0,c=0,M=0,w=0,_=0,V=0,U=0,G=0,T=0,e0=0,P=0;P=m,m=m+224|0,U=P+208|0,G=P+160|0,T=P+80|0,e0=P,f=G,h=f+40|0;do r[f>>2]=0,f=f+4|0;while((f|0)<(h|0));return r[U>>2]=r[i>>2],(t2(0,e,U,T,G,n,o)|0)<0?i=-1:((r[t+76>>2]|0)>-1?V=np(t)|0:V=0,i=r[t>>2]|0,_=i&32,(u[t+74>>0]|0)<1&&(r[t>>2]=i&-33),f=t+48|0,r[f>>2]|0?i=t2(t,e,U,T,G,n,o)|0:(h=t+44|0,l=r[h>>2]|0,r[h>>2]=e0,c=t+28|0,r[c>>2]=e0,M=t+20|0,r[M>>2]=e0,r[f>>2]=80,w=t+16|0,r[w>>2]=e0+80,i=t2(t,e,U,T,G,n,o)|0,l&&(he[r[t+36>>2]&7](t,0,0)|0,i=r[M>>2]|0?i:-1,r[h>>2]=l,r[f>>2]=0,r[w>>2]=0,r[c>>2]=0,r[M>>2]=0)),f=r[t>>2]|0,r[t>>2]=f|_,V|0&&ip(t),i=f&32|0?-1:i),m=P,i|0}function t2(t,e,i,n,o,f,h){t=t|0,e=e|0,i=i|0,n=n|0,o=o|0,f=f|0,h=h|0;var l=0,c=0,M=0,w=0,_=0,V=0,U=0,G=0,T=0,e0=0,P=0,I=0,t0=0,B=0,d0=0,N0=0,g0=0,f0=0,V0=0,i0=0,n0=0,Ft=0,T0=0,Cr=0,gt=0;Cr=m,m=m+64|0,n0=Cr+56|0,T0=Cr+40|0,N0=Cr,f0=Cr+48|0,V0=Cr+60|0,r[n0>>2]=e,t0=(t|0)!=0,B=N0+40|0,d0=B,N0=N0+39|0,g0=f0+4|0,l=0,e=0,M=0;t:for(;;){do{do if((e|0)>-1)if((l|0)>(2147483647-e|0)){r[(Ot()|0)>>2]=61,e=-1;break}else{e=l+e|0;break}while(0);if(U=r[n0>>2]|0,l=u[U>>0]|0,!(l<<24>>24)){I=92;break t}c=U;r:for(;;){switch(l<<24>>24){case 37:{I=10;break r}case 0:{l=c;break r}default:}P=c+1|0,r[n0>>2]=P,l=u[P>>0]|0,c=P}r:do if((I|0)==10){I=0,l=c;do{if((u[c+1>>0]|0)!=37)break r;l=l+1|0,c=c+2|0,r[n0>>2]=c}while((u[c>>0]|0)==37)}while(0);l=l-U|0,t0&&J0(t,U,l)}while(l|0);if(P=(Se(u[(r[n0>>2]|0)+1>>0]|0)|0)==0,c=r[n0>>2]|0,!P&&(u[c+2>>0]|0)==36?(T=(u[c+1>>0]|0)+-48|0,_=1,l=3):(T=-1,_=M,l=1),l=c+l|0,r[n0>>2]=l,c=u[l>>0]|0,M=(c<<24>>24)+-32|0,M>>>0>31|(1<<M&75913|0)==0)w=0;else{w=0;do w=1<<M|w,l=l+1|0,r[n0>>2]=l,c=u[l>>0]|0,M=(c<<24>>24)+-32|0;while(!(M>>>0>31|(1<<M&75913|0)==0))}if(c<<24>>24==42){if(Se(u[l+1>>0]|0)|0&&(Ft=r[n0>>2]|0,(u[Ft+2>>0]|0)==36))l=Ft+1|0,r[o+((u[l>>0]|0)+-48<<2)>>2]=10,l=r[n+((u[l>>0]|0)+-48<<3)>>2]|0,M=1,c=Ft+3|0;else{if(_|0){e=-1;break}t0?(P=(r[i>>2]|0)+(4-1)&~(4-1),l=r[P>>2]|0,r[i>>2]=P+4):l=0,M=0,c=(r[n0>>2]|0)+1|0}r[n0>>2]=c,P=(l|0)<0,e0=P?0-l|0:l,w=P?w|8192:w,P=M}else{if(l=nf(n0)|0,(l|0)<0){e=-1;break}e0=l,P=_,c=r[n0>>2]|0}do if((u[c>>0]|0)==46){if(l=c+1|0,(u[l>>0]|0)!=42){r[n0>>2]=l,l=nf(n0)|0,c=r[n0>>2]|0;break}if(Se(u[c+2>>0]|0)|0&&(i0=r[n0>>2]|0,(u[i0+3>>0]|0)==36)){l=i0+2|0,r[o+((u[l>>0]|0)+-48<<2)>>2]=10,l=r[n+((u[l>>0]|0)+-48<<3)>>2]|0,c=i0+4|0,r[n0>>2]=c;break}if(P|0){e=-1;break t}t0?(G=(r[i>>2]|0)+(4-1)&~(4-1),l=r[G>>2]|0,r[i>>2]=G+4):l=0,c=(r[n0>>2]|0)+2|0,r[n0>>2]=c}else l=-1;while(0);for(G=0;;){if(((u[c>>0]|0)+-65|0)>>>0>57){e=-1;break t}if(M=c,c=c+1|0,r[n0>>2]=c,M=u[(u[M>>0]|0)+-65+(176+(G*58|0))>>0]|0,_=M&255,(_+-1|0)>>>0>=8)break;G=_}if(!(M<<24>>24)){e=-1;break}V=(T|0)>-1;do if(M<<24>>24==19)if(V){e=-1;break t}else I=54;else{if(V){r[o+(T<<2)>>2]=_,V=n+(T<<3)|0,T=r[V+4>>2]|0,I=T0,r[I>>2]=r[V>>2],r[I+4>>2]=T,I=54;break}if(!t0){e=0;break t}sf(T0,_,i,h),c=r[n0>>2]|0,I=55}while(0);(I|0)==54&&(I=0,t0?I=55:l=0);r:do if((I|0)==55){I=0,c=u[c+-1>>0]|0,c=(G|0)!=0&(c&15|0)==3?c&-33:c,M=w&-65537,T=w&8192|0?M:w;e:do switch(c|0){case 110:switch((G&255)<<24>>24){case 0:{r[r[T0>>2]>>2]=e,l=0;break r}case 1:{r[r[T0>>2]>>2]=e,l=0;break r}case 2:{l=r[T0>>2]|0,r[l>>2]=e,r[l+4>>2]=((e|0)<0)<<31>>31,l=0;break r}case 3:{E[r[T0>>2]>>1]=e,l=0;break r}case 4:{u[r[T0>>2]>>0]=e,l=0;break r}case 6:{r[r[T0>>2]>>2]=e,l=0;break r}case 7:{l=r[T0>>2]|0,r[l>>2]=e,r[l+4>>2]=((e|0)<0)<<31>>31,l=0;break r}default:{l=0;break r}}case 112:{c=120,l=l>>>0>8?l:8,M=T|8,I=67;break}case 88:case 120:{M=T,I=67;break}case 111:{V=T0,V=vp(r[V>>2]|0,r[V+4>>2]|0,B)|0,M=d0-V|0,w=0,_=20230,l=(T&8|0)==0|(l|0)>(M|0)?l:M+1|0,M=T,I=73;break}case 105:case 100:if(M=T0,c=r[M>>2]|0,M=r[M+4>>2]|0,(M|0)<0){c=Ae(0,0,c|0,M|0)|0,M=y0()|0,w=T0,r[w>>2]=c,r[w+4>>2]=M,w=1,_=20230,I=72;break e}else{w=(T&2049|0)!=0&1,_=T&2048|0?20231:T&1|0?20232:20230,I=72;break e}case 117:{M=T0,w=0,_=20230,c=r[M>>2]|0,M=r[M+4>>2]|0,I=72;break}case 99:{u[N0>>0]=r[T0>>2],U=N0,w=0,_=20230,V=1,c=M,l=d0;break}case 115:{G=r[T0>>2]|0,G=G|0?G:20240,T=hp(G,0,l)|0,gt=(T|0)==0,U=G,w=0,_=20230,V=gt?l:T-G|0,c=M,l=gt?G+l|0:T;break}case 67:{r[f0>>2]=r[T0>>2],r[g0>>2]=0,r[T0>>2]=f0,_=-1,I=79;break}case 83:{l?(_=l,I=79):(H0(t,32,e0,0,T),l=0,I=89);break}case 65:case 71:case 70:case 69:case 97:case 103:case 102:case 101:{l=Gf[f&1](t,+Y[T0>>3],e0,l,T,c)|0;break r}default:w=0,_=20230,V=l,c=T,l=d0}while(0);e:do if((I|0)==67)V=T0,V=mp(r[V>>2]|0,r[V+4>>2]|0,B,c&32)|0,_=T0,_=(M&8|0)==0|(r[_>>2]|0)==0&(r[_+4>>2]|0)==0,w=_?0:2,_=_?20230:20230+(c>>>4)|0,I=73;else if((I|0)==72)V=oe(c,M,B)|0,M=T,I=73;else if((I|0)==79){for(I=0,w=r[T0>>2]|0,l=0;c=r[w>>2]|0,!!c;){if(c=of(V0,c)|0,M=(c|0)<0,M|c>>>0>(_-l|0)>>>0){I=83;break}if(l=c+l|0,_>>>0>l>>>0)w=w+4|0;else break}if((I|0)==83&&(I=0,M)){e=-1;break t}if(H0(t,32,e0,l,T),!l)l=0,I=89;else for(M=r[T0>>2]|0,w=0;;){if(c=r[M>>2]|0,!c){I=89;break e}if(c=of(V0,c)|0,w=c+w|0,(w|0)>(l|0)){I=89;break e}if(J0(t,V0,c),w>>>0>=l>>>0){I=89;break}else M=M+4|0}}while(0);if((I|0)==73)I=0,c=T0,c=(r[c>>2]|0)!=0|(r[c+4>>2]|0)!=0,gt=(l|0)!=0|c,c=d0-V+((c^1)&1)|0,U=gt?V:B,V=gt?(l|0)>(c|0)?l:c:0,c=(l|0)>-1?M&-65537:M,l=d0;else if((I|0)==89){I=0,H0(t,32,e0,l,T^8192),l=(e0|0)>(l|0)?e0:l;break}T=l-U|0,G=(V|0)<(T|0)?T:V,gt=G+w|0,l=(e0|0)<(gt|0)?gt:e0,H0(t,32,l,gt,c),J0(t,_,w),H0(t,48,l,gt,c^65536),H0(t,48,G,T,0),J0(t,U,T),H0(t,32,l,gt,c^8192)}while(0);M=P}t:do if((I|0)==92&&!t)if(!M)e=0;else{for(e=1;l=r[o+(e<<2)>>2]|0,!!l;)if(sf(n+(e<<3)|0,l,i,h),e=e+1|0,e>>>0>=10){e=1;break t}for(;;){if(r[o+(e<<2)>>2]|0){e=-1;break t}if(e=e+1|0,e>>>0>=10){e=1;break}}}while(0);return m=Cr,e|0}function J0(t,e,i){t=t|0,e=e|0,i=i|0,r[t>>2]&32||op(e,i,t)|0}function nf(t){t=t|0;var e=0,i=0;if(!(Se(u[r[t>>2]>>0]|0)|0))e=0;else{e=0;do i=r[t>>2]|0,e=(e*10|0)+-48+(u[i>>0]|0)|0,i=i+1|0,r[t>>2]=i;while(Se(u[i>>0]|0)|0)}return e|0}function sf(t,e,i,n){t=t|0,e=e|0,i=i|0,n=n|0;var o=0,f=0;t:do if(e>>>0<=20)do switch(e|0){case 9:{e=(r[i>>2]|0)+(4-1)&~(4-1),n=r[e>>2]|0,r[i>>2]=e+4,r[t>>2]=n;break t}case 10:{n=(r[i>>2]|0)+(4-1)&~(4-1),e=r[n>>2]|0,r[i>>2]=n+4,n=t,r[n>>2]=e,r[n+4>>2]=((e|0)<0)<<31>>31;break t}case 11:{n=(r[i>>2]|0)+(4-1)&~(4-1),e=r[n>>2]|0,r[i>>2]=n+4,n=t,r[n>>2]=e,r[n+4>>2]=0;break t}case 12:{n=(r[i>>2]|0)+(8-1)&~(8-1),e=n,o=r[e>>2]|0,e=r[e+4>>2]|0,r[i>>2]=n+8,n=t,r[n>>2]=o,r[n+4>>2]=e;break t}case 13:{o=(r[i>>2]|0)+(4-1)&~(4-1),n=r[o>>2]|0,r[i>>2]=o+4,n=(n&65535)<<16>>16,o=t,r[o>>2]=n,r[o+4>>2]=((n|0)<0)<<31>>31;break t}case 14:{o=(r[i>>2]|0)+(4-1)&~(4-1),n=r[o>>2]|0,r[i>>2]=o+4,o=t,r[o>>2]=n&65535,r[o+4>>2]=0;break t}case 15:{o=(r[i>>2]|0)+(4-1)&~(4-1),n=r[o>>2]|0,r[i>>2]=o+4,n=(n&255)<<24>>24,o=t,r[o>>2]=n,r[o+4>>2]=((n|0)<0)<<31>>31;break t}case 16:{o=(r[i>>2]|0)+(4-1)&~(4-1),n=r[o>>2]|0,r[i>>2]=o+4,o=t,r[o>>2]=n&255,r[o+4>>2]=0;break t}case 17:{o=(r[i>>2]|0)+(8-1)&~(8-1),f=+Y[o>>3],r[i>>2]=o+8,Y[t>>3]=f;break t}case 18:{vr[n&15](t,i);break t}default:break t}while(0);while(0)}function mp(t,e,i,n){if(t=t|0,e=e|0,i=i|0,n=n|0,!((t|0)==0&(e|0)==0))do i=i+-1|0,u[i>>0]=Z[640+(t&15)>>0]|0|n,t=Ui(t|0,e|0,4)|0,e=y0()|0;while(!((t|0)==0&(e|0)==0));return i|0}function vp(t,e,i){if(t=t|0,e=e|0,i=i|0,!((t|0)==0&(e|0)==0))do i=i+-1|0,u[i>>0]=t&7|48,t=Ui(t|0,e|0,3)|0,e=y0()|0;while(!((t|0)==0&(e|0)==0));return i|0}function oe(t,e,i){t=t|0,e=e|0,i=i|0;var n=0,o=0,f=0;if(e>>>0>0|(e|0)==0&t>>>0>4294967295){do n=t,t=h2(t|0,e|0,10,0)|0,o=e,e=y0()|0,f=A2(t|0,e|0,10,0)|0,f=Ae(n|0,o|0,f|0,y0()|0)|0,y0()|0,i=i+-1|0,u[i>>0]=f&255|48;while(o>>>0>9|(o|0)==9&n>>>0>4294967295);e=t}else e=t;if(e)do f=e,e=(e>>>0)/10|0,i=i+-1|0,u[i>>0]=f-(e*10|0)|48;while(f>>>0>=10);return i|0}function H0(t,e,i,n,o){t=t|0,e=e|0,i=i|0,n=n|0,o=o|0;var f=0,h=0;if(h=m,m=m+256|0,f=h,(i|0)>(n|0)&(o&73728|0)==0){if(o=i-n|0,Br(f|0,e<<24>>24|0,(o>>>0<256?o:256)|0)|0,o>>>0>255){e=i-n|0;do J0(t,f,256),o=o+-256|0;while(o>>>0>255);o=e&255}J0(t,f,o)}m=h}function of(t,e){return t=t|0,e=e|0,t?t=pp(t,e,0)|0:t=0,t|0}function pp(t,e,i){t=t|0,e=e|0,i=i|0;do if(t){if(e>>>0<128){u[t>>0]=e,t=1;break}if(!(r[r[(Mp()|0)+176>>2]>>2]|0))if((e&-128|0)==57216){u[t>>0]=e,t=1;break}else{r[(Ot()|0)>>2]=25,t=-1;break}if(e>>>0<2048){u[t>>0]=e>>>6|192,u[t+1>>0]=e&63|128,t=2;break}if(e>>>0<55296|(e&-8192|0)==57344){u[t>>0]=e>>>12|224,u[t+1>>0]=e>>>6&63|128,u[t+2>>0]=e&63|128,t=3;break}if((e+-65536|0)>>>0<1048576){u[t>>0]=e>>>18|240,u[t+1>>0]=e>>>12&63|128,u[t+2>>0]=e>>>6&63|128,u[t+3>>0]=e&63|128,t=4;break}else{r[(Ot()|0)>>2]=25,t=-1;break}}else t=1;while(0);return t|0}function Mp(){return rf()|0}function ff(t){t=+t;var e=0;return Y[z>>3]=t,e=r[z>>2]|0,Z0(r[z+4>>2]|0),e|0}function Af(t,e){t=+t,e=e|0;var i=0,n=0,o=0;switch(Y[z>>3]=t,i=r[z>>2]|0,n=r[z+4>>2]|0,o=Ui(i|0,n|0,52)|0,y0()|0,o&2047){case 0:{t!=0?(t=+Af(t*18446744073709552e3,e),i=(r[e>>2]|0)+-64|0):i=0,r[e>>2]=i;break}case 2047:break;default:r[e>>2]=(o&2047)+-1022,r[z>>2]=i,r[z+4>>2]=n&-2146435073|1071644672,t=+Y[z>>3]}return+t}function yp(t,e,i){t=t|0,e=e|0,i=i|0;var n=0,o=0;t:do if(!i)t=0;else{for(;n=u[t>>0]|0,o=u[e>>0]|0,n<<24>>24==o<<24>>24;)if(i=i+-1|0,i)t=t+1|0,e=e+1|0;else{t=0;break t}t=(n&255)-(o&255)|0}while(0);return t|0}function dp(t,e,i,n){t=t|0,e=e|0,i=i|0,n=n|0;var o=0,f=0;return o=m,m=m+16|0,f=o,r[f>>2]=n,n=gp(t,e,i,f)|0,m=o,n|0}function gp(t,e,i,n){t=t|0,e=e|0,i=i|0,n=n|0;var o=0,f=0,h=0,l=0;return l=m,m=m+160|0,o=l+144|0,h=l,lt(h|0,3672,144)|0,(e+-1|0)>>>0>2147483646?e?(r[(Ot()|0)>>2]=61,e=-1):(t=o,e=1,f=4):f=4,(f|0)==4&&(f=-2-t|0,f=e>>>0>f>>>0?f:e,r[h+48>>2]=f,o=h+20|0,r[o>>2]=t,r[h+44>>2]=t,e=t+f|0,t=h+16|0,r[t>>2]=e,r[h+28>>2]=e,e=lp(h,i,n)|0,f&&(h=r[o>>2]|0,u[h+(((h|0)==(r[t>>2]|0))<<31>>31)>>0]=0)),m=l,e|0}function Rp(t,e,i){t=t|0,e=e|0,i=i|0;var n=0,o=0;return n=t+20|0,o=r[n>>2]|0,t=(r[t+16>>2]|0)-o|0,t=t>>>0>i>>>0?i:t,lt(o|0,e|0,t|0)|0,r[n>>2]=(r[n>>2]|0)+t,i|0}function xp(t){t=t|0;var e=0,i=0;return e=(Vi(t)|0)+1|0,i=Ti(e)|0,i?t=lt(i|0,t|0,e|0)|0:t=0,t|0}function wp(t,e){t=t|0,e=e|0;var i=0,n=0;for(i=0;;){if((Z[656+i>>0]|0)==(t|0)){n=4;break}if(i=i+1|0,(i|0)==87){t=87,n=5;break}}if((n|0)==4&&(i?(t=i,n=5):i=752),(n|0)==5){i=752;do{do n=i,i=i+1|0;while(u[n>>0]|0);t=t+-1|0}while(t|0)}return _p(i,r[e+20>>2]|0)|0}function _p(t,e){return t=t|0,e=e|0,fp(t,e)|0}function Zp(t){return t=t|0,wp(t,r[(Fp()|0)+176>>2]|0)|0}function Fp(){return rf()|0}function kp(t,e,i){t=t|0,e=e|0,i=i|0;var n=0;return n=Zp(t)|0,t=Vi(n)|0,t>>>0>=i>>>0?(t=i+-1|0,i&&(lt(e|0,n|0,t|0)|0,u[e+t>>0]=0),t=68):(lt(e|0,n|0,t+1|0)|0,t=0),t|0}function Vp(){var t=0,e=0,i=0,n=0,o=0,f=0,h=0;n=m,m=m+48|0,f=n+32|0,e=n+24|0,h=n+16|0,o=n,n=n+36|0,t=hf()|0,t|0&&(i=r[t>>2]|0,i|0)&&(t=i+48|0,lf(t)|0||(r[e>>2]=20420,Ur(20370,e)),e=uf(t)|0,(e|0)==1126902529&(y0()|0)==1129074247?t=r[i+44>>2]|0:t=i+80|0,r[n>>2]=t,i=r[i>>2]|0,t=r[i+4>>2]|0,he[r[(r[954]|0)+16>>2]&7](3816,i,n)|0?(h=r[n>>2]|0,h=Gi[r[(r[h>>2]|0)+8>>2]&15](h)|0,r[o>>2]=20420,r[o+4>>2]=t,r[o+8>>2]=h,Ur(20284,o)):(r[h>>2]=20420,r[h+4>>2]=t,Ur(20329,h))),Ur(20408,f)}function hf(){return 21640}function lf(t){return t=t|0,t=uf(t)|0,(t&-256|0)==1126902528&(y0()|0)==1129074247|0}function uf(t){t=t|0;var e=0;return e=t,t=r[e>>2]|0,Z0(r[e+4>>2]|0),t|0}function Ur(t,e){t=t|0,e=e|0,gs()}function fe(t){t=t|0}function Wp(t){t=t|0,fe(t),$(t)}function Np(t){t=t|0}function Xp(t){t=t|0}function Tp(t,e,i){t=t|0,e=e|0,i=i|0;var n=0,o=0,f=0,h=0,l=0,c=0;if(c=m,m=m+64|0,h=c,S0(t,e,0)|0)t=1;else if(e|0&&(l=At(e,3840,3824,0)|0,(l|0)!=0)){r[h>>2]=l,r[h+4>>2]=0,r[h+8>>2]=t,r[h+12>>2]=-1,t=h+16|0,e=h+24|0,n=h+48|0,o=t,f=o+36|0;do r[o>>2]=0,o=o+4|0;while((o|0)<(f|0));E[t+36>>1]=0,u[t+38>>0]=0,r[n>>2]=1,je[r[(r[l>>2]|0)+28>>2]&7](l,h,r[i>>2]|0,1),(r[e>>2]|0)==1?(r[i>>2]=r[t>>2],t=1):t=0}else t=0;return m=c,t|0}function Up(t,e,i,n,o,f){t=t|0,e=e|0,i=i|0,n=n|0,o=o|0,f=f|0,S0(t,r[e+8>>2]|0,f)|0&&i2(0,e,i,n,o)}function Gp(t,e,i,n,o){t=t|0,e=e|0,i=i|0,n=n|0,o=o|0;var f=0;do if(S0(t,r[e+8>>2]|0,o)|0)e2(0,e,i,n);else if(S0(t,r[e>>2]|0,o)|0){if((r[e+16>>2]|0)!=(i|0)&&(f=e+20|0,(r[f>>2]|0)!=(i|0))){r[e+32>>2]=n,r[f>>2]=i,o=e+40|0,r[o>>2]=(r[o>>2]|0)+1,(r[e+36>>2]|0)==1&&(r[e+24>>2]|0)==2&&(u[e+54>>0]=1),r[e+44>>2]=4;break}(n|0)==1&&(r[e+32>>2]=1)}while(0)}function zp(t,e,i,n){t=t|0,e=e|0,i=i|0,n=n|0,S0(t,r[e+8>>2]|0,0)|0&&r2(0,e,i,n)}function S0(t,e,i){return t=t|0,e=e|0,i=i|0,i?(t|0)==(e|0)?t=1:t=(ef(r[t+4>>2]|0,r[e+4>>2]|0)|0)==0:t=(r[t+4>>2]|0)==(r[e+4>>2]|0),t|0}function r2(t,e,i,n){t=t|0,e=e|0,i=i|0,n=n|0;var o=0;t=e+16|0,o=r[t>>2]|0;do if(o){if((o|0)!=(i|0)){n=e+36|0,r[n>>2]=(r[n>>2]|0)+1,r[e+24>>2]=2,u[e+54>>0]=1;break}t=e+24|0,(r[t>>2]|0)==2&&(r[t>>2]=n)}else r[t>>2]=i,r[e+24>>2]=n,r[e+36>>2]=1;while(0)}function e2(t,e,i,n){t=t|0,e=e|0,i=i|0,n=n|0;var o=0;(r[e+4>>2]|0)==(i|0)&&(o=e+28|0,(r[o>>2]|0)!=1)&&(r[o>>2]=n)}function i2(t,e,i,n,o){t=t|0,e=e|0,i=i|0,n=n|0,o=o|0,u[e+53>>0]=1;do if((r[e+4>>2]|0)==(n|0)){if(u[e+52>>0]=1,t=e+16|0,n=r[t>>2]|0,!n){if(r[t>>2]=i,r[e+24>>2]=o,r[e+36>>2]=1,!((o|0)==1&&(r[e+48>>2]|0)==1))break;u[e+54>>0]=1;break}if((n|0)!=(i|0)){o=e+36|0,r[o>>2]=(r[o>>2]|0)+1,u[e+54>>0]=1;break}n=e+24|0,t=r[n>>2]|0,(t|0)==2&&(r[n>>2]=o,t=o),(t|0)==1&&(r[e+48>>2]|0)==1&&(u[e+54>>0]=1)}while(0)}function At(t,e,i,n){t=t|0,e=e|0,i=i|0,n=n|0;var o=0,f=0,h=0,l=0,c=0,M=0,w=0,_=0,V=0;V=m,m=m+64|0,w=V,M=r[t>>2]|0,_=t+(r[M+-8>>2]|0)|0,M=r[M+-4>>2]|0,r[w>>2]=i,r[w+4>>2]=t,r[w+8>>2]=e,r[w+12>>2]=n,t=w+16|0,e=w+20|0,n=w+24|0,o=w+28|0,f=w+32|0,h=w+40|0,l=t,c=l+36|0;do r[l>>2]=0,l=l+4|0;while((l|0)<(c|0));E[t+36>>1]=0,u[t+38>>0]=0;t:do if(S0(M,i,0)|0)r[w+48>>2]=1,Pe[r[(r[M>>2]|0)+20>>2]&3](M,w,_,_,1,0),t=(r[n>>2]|0)==1?_:0;else{switch(zi[r[(r[M>>2]|0)+24>>2]&3](M,w,_,1,0),r[w+36>>2]|0){case 0:{t=(r[h>>2]|0)==1&(r[o>>2]|0)==1&(r[f>>2]|0)==1?r[e>>2]|0:0;break t}case 1:break;default:{t=0;break t}}if((r[n>>2]|0)!=1&&!((r[h>>2]|0)==0&(r[o>>2]|0)==1&(r[f>>2]|0)==1)){t=0;break}t=r[t>>2]|0}while(0);return m=V,t|0}function Ep(t){t=t|0,fe(t),$(t)}function Bp(t,e,i,n,o,f){t=t|0,e=e|0,i=i|0,n=n|0,o=o|0,f=f|0,S0(t,r[e+8>>2]|0,f)|0?i2(0,e,i,n,o):(t=r[t+8>>2]|0,Pe[r[(r[t>>2]|0)+20>>2]&3](t,e,i,n,o,f))}function Sp(t,e,i,n,o){t=t|0,e=e|0,i=i|0,n=n|0,o=o|0;var f=0,h=0,l=0;t:do if(S0(t,r[e+8>>2]|0,o)|0)e2(0,e,i,n);else{if(!(S0(t,r[e>>2]|0,o)|0)){h=r[t+8>>2]|0,zi[r[(r[h>>2]|0)+24>>2]&3](h,e,i,n,o);break}if((r[e+16>>2]|0)!=(i|0)&&(h=e+20|0,(r[h>>2]|0)!=(i|0))){r[e+32>>2]=n,n=e+44|0;do if((r[n>>2]|0)!=4)if(f=e+52|0,u[f>>0]=0,l=e+53|0,u[l>>0]=0,t=r[t+8>>2]|0,Pe[r[(r[t>>2]|0)+20>>2]&3](t,e,i,i,1,o),u[l>>0]|0){if(l=(u[f>>0]|0)==0,r[n>>2]=3,l)break;break t}else{r[n>>2]=4;break}while(0);if(r[h>>2]=i,l=e+40|0,r[l>>2]=(r[l>>2]|0)+1,(r[e+36>>2]|0)!=1||(r[e+24>>2]|0)!=2)break;u[e+54>>0]=1;break}(n|0)==1&&(r[e+32>>2]=1)}while(0)}function Cp(t,e,i,n){t=t|0,e=e|0,i=i|0,n=n|0,S0(t,r[e+8>>2]|0,0)|0?r2(0,e,i,n):(t=r[t+8>>2]|0,je[r[(r[t>>2]|0)+28>>2]&7](t,e,i,n))}function $(t){t=t|0,f2(t)}function $R(t){t=t|0}function Jp(){var t=0,e=0;t=hf()|0,t|0&&(e=r[t>>2]|0,e|0)&&lf(e+48|0)|0&&af(r[e+12>>2]|0),af(Ip()|0)}function af(t){t=t|0;var e=0;e=m,m=m+16|0,c2[t&3](),Ur(20559,e)}function Ip(){return 2}function Op(t){t=t|0}function jp(t){t=t|0,$(t)}function Pp(t){return t=t|0,20599}function Wi(t){t=t|0,r[t>>2]=5916,mf(t+4|0)}function Yp(t){t=t|0,Wi(t),$(t)}function Hp(t){return t=t|0,cf(t+4|0)|0}function cf(t){return t=t|0,r[t>>2]|0}function mf(t){t=t|0;var e=0,i=0;Dp(t)|0&&(e=Qp(r[t>>2]|0)|0,i=e+8|0,t=r[i>>2]|0,r[i>>2]=t+-1,(t|0)<1)&&$(e)}function Dp(t){return t=t|0,1}function Qp(t){return t=t|0,t+-12|0}function ht(t){t=t|0,r[t>>2]=5936,mf(t+4|0)}function Lp(t){t=t|0,ht(t),$(t)}function qp(t){return t=t|0,cf(t+4|0)|0}function $p(t){t=t|0,Wi(t),$(t)}function Kp(t){t=t|0,Wi(t),$(t)}function bp(){var t=0;t=m,m=m+16|0,Ur(20848,t)}function tM(t){t=t|0,fe(t),$(t)}function rM(t,e,i){return t=t|0,e=e|0,i=i|0,S0(t,e,0)|0}function eM(t){t=t|0,fe(t),$(t)}function iM(t,e,i){t=t|0,e=e|0,i=i|0;var n=0,o=0,f=0,h=0,l=0,c=0,M=0,w=0;w=m,m=m+64|0,c=w;do if(S0(e,4048,0)|0)r[i>>2]=0,e=1;else{if(nM(t,e,0)|0){if(e=r[i>>2]|0,!e){e=1;break}r[i>>2]=r[e>>2],e=1;break}if(e|0&&(n=At(e,3840,3976,0)|0,(n|0)!=0))if(e=r[i>>2]|0,e|0&&(r[i>>2]=r[e>>2]),e=r[n+8>>2]|0,f=t+8|0,o=r[f>>2]|0,!(e&7&(o^7)|0)&&!((e&96^96)&o|0))if(o=t+12|0,t=r[o>>2]|0,n=n+12|0,e=r[n>>2]|0,S0(t,e,0)|0)e=1;else{if(S0(t,4040,0)|0){if(!e){e=1;break}e=(At(e,3840,3992,0)|0)==0;break}if(t){if(e=At(t,3840,3976,0)|0,e|0){if(!(r[f>>2]&1)){e=0;break}e=sM(e,r[n>>2]|0)|0;break}if(e=r[o>>2]|0,e){if(e=At(e,3840,4008,0)|0,e|0){if(!(r[f>>2]&1)){e=0;break}e=vf(e,r[n>>2]|0)|0;break}if(e=r[o>>2]|0,e|0&&(h=At(e,3840,3824,0)|0,(h|0)!=0)&&(l=r[n>>2]|0,(l|0)!=0)&&(M=At(l,3840,3824,0)|0,(M|0)!=0)){r[c>>2]=M,r[c+4>>2]=0,r[c+8>>2]=h,r[c+12>>2]=-1,e=c+16|0,t=c+24|0,n=c+48|0,o=e,f=o+36|0;do r[o>>2]=0,o=o+4|0;while((o|0)<(f|0));E[e+36>>1]=0,u[e+38>>0]=0,r[n>>2]=1,je[r[(r[M>>2]|0)+28>>2]&7](M,c,r[i>>2]|0,1);do if((r[t>>2]|0)==1){if(!(r[i>>2]|0)){e=1;break}r[i>>2]=r[e>>2],e=1}else e=0;while(0)}else e=0}else e=0}else e=0}else e=0;else e=0}while(0);return m=w,e|0}function nM(t,e,i){t=t|0,e=e|0,i=i|0;var n=0,o=0;return r[t+8>>2]&24?(i=1,o=5):e|0&&(n=At(e,3840,3960,0)|0,(n|0)!=0)?(i=(r[n+8>>2]&24|0)!=0,o=5):i=0,(o|0)==5&&(i=S0(t,e,i)|0),i|0}function sM(t,e){t=t|0,e=e|0;for(var i=0,n=0,o=0,f=0,h=0;;){if(!e){e=0;break}if(i=At(e,3840,3976,0)|0,!i){e=0;break}if(o=r[t+8>>2]|0,r[i+8>>2]&~o|0){e=0;break}if(n=t+12|0,e=r[n>>2]|0,i=i+12|0,S0(e,r[i>>2]|0,0)|0){e=1;break}if((o&1|0)==0|(e|0)==0){e=0;break}if(t=At(e,3840,3976,0)|0,!t){h=9;break}e=r[i>>2]|0}return(h|0)==9&&(e=r[n>>2]|0,e|0&&(f=At(e,3840,4008,0)|0,(f|0)!=0)?e=vf(f,r[i>>2]|0)|0:e=0),e|0}function vf(t,e){t=t|0,e=e|0;var i=0;return e|0&&(i=At(e,3840,4008,0)|0,(i|0)!=0)&&!(r[i+8>>2]&~r[t+8>>2]|0)&&S0(r[t+12>>2]|0,r[i+12>>2]|0,0)|0?t=S0(r[t+16>>2]|0,r[i+16>>2]|0,0)|0:t=0,t|0}function oM(t){t=t|0,fe(t),$(t)}function fM(t,e,i,n,o,f){t=t|0,e=e|0,i=i|0,n=n|0,o=o|0,f=f|0;var h=0,l=0,c=0,M=0,w=0,_=0,V=0,U=0,G=0,T=0;if(S0(t,r[e+8>>2]|0,f)|0)i2(0,e,i,n,o);else{T=e+52|0,l=u[T>>0]|0,G=e+53|0,h=u[G>>0]|0,U=r[t+12>>2]|0,w=t+16+(U<<3)|0,u[T>>0]=0,u[G>>0]=0,n2(t+16|0,e,i,n,o,f),c=u[T>>0]|0,l=c|l,M=u[G>>0]|0,h=M|h;t:do if((U|0)>1){_=e+24|0,V=t+8|0,U=e+54|0,t=t+24|0;do{if(h=h&1,l=l&1,u[U>>0]|0)break t;if(c<<24>>24){if((r[_>>2]|0)==1||!(r[V>>2]&2))break t}else if(M<<24>>24&&!(r[V>>2]&1|0))break t;u[T>>0]=0,u[G>>0]=0,n2(t,e,i,n,o,f),c=u[T>>0]|0,l=c|l,M=u[G>>0]|0,h=M|h,t=t+8|0}while(t>>>0<w>>>0)}while(0);u[T>>0]=l<<24>>24!=0&1,u[G>>0]=h<<24>>24!=0&1}}function AM(t,e,i,n,o){t=t|0,e=e|0,i=i|0,n=n|0,o=o|0;var f=0,h=0,l=0,c=0,M=0,w=0,_=0,V=0,U=0;t:do if(S0(t,r[e+8>>2]|0,o)|0)e2(0,e,i,n);else{if(!(S0(t,r[e>>2]|0,o)|0)){if(U=r[t+12>>2]|0,c=t+16+(U<<3)|0,Ni(t+16|0,e,i,n,o),f=t+24|0,(U|0)<=1)break;if(t=r[t+8>>2]|0,!(t&2|0)&&(l=e+36|0,(r[l>>2]|0)!=1)){if(!(t&1)){for(t=e+54|0;;)if(u[t>>0]|0||(r[l>>2]|0)==1||(Ni(f,e,i,n,o),f=f+8|0,f>>>0>=c>>>0))break t}for(t=e+24|0,h=e+54|0;;)if(u[h>>0]|0||(r[l>>2]|0)==1&&(r[t>>2]|0)==1||(Ni(f,e,i,n,o),f=f+8|0,f>>>0>=c>>>0))break t}for(t=e+54|0;;)if(u[t>>0]|0||(Ni(f,e,i,n,o),f=f+8|0,f>>>0>=c>>>0))break t}if((r[e+16>>2]|0)!=(i|0)&&(U=e+20|0,(r[U>>2]|0)!=(i|0))){if(r[e+32>>2]=n,V=e+44|0,(r[V>>2]|0)!=4){l=t+16+(r[t+12>>2]<<3)|0,c=e+52|0,n=e+53|0,M=e+54|0,w=t+8|0,_=e+24|0,f=0,h=t+16|0,t=0;r:for(;;){if(h>>>0>=l>>>0){h=18;break}if(u[c>>0]=0,u[n>>0]=0,n2(h,e,i,i,1,o),u[M>>0]|0){h=18;break}do if(u[n>>0]|0){if(!(u[c>>0]|0))if(r[w>>2]&1){t=1;break}else{h=19;break r}if((r[_>>2]|0)==1){f=1,h=19;break r}if(r[w>>2]&2)f=1,t=1;else{f=1,h=19;break r}}while(0);h=h+8|0}if((h|0)==18&&(t?h=19:t=4),(h|0)==19&&(t=3),r[V>>2]=t,f&1)break}if(r[U>>2]=i,i=e+40|0,r[i>>2]=(r[i>>2]|0)+1,(r[e+36>>2]|0)!=1||(r[e+24>>2]|0)!=2)break;u[e+54>>0]=1;break}(n|0)==1&&(r[e+32>>2]=1)}while(0)}function hM(t,e,i,n){t=t|0,e=e|0,i=i|0,n=n|0;var o=0,f=0;t:do if(S0(t,r[e+8>>2]|0,0)|0)r2(0,e,i,n);else if(f=r[t+12>>2]|0,o=t+16+(f<<3)|0,pf(t+16|0,e,i,n),(f|0)>1){f=e+54|0,t=t+24|0;do{if(pf(t,e,i,n),u[f>>0]|0)break t;t=t+8|0}while(t>>>0<o>>>0)}while(0)}function pf(t,e,i,n){t=t|0,e=e|0,i=i|0,n=n|0;var o=0,f=0;f=r[t+4>>2]|0,i?(o=f>>8,f&1&&(o=r[(r[i>>2]|0)+o>>2]|0)):o=0,t=r[t>>2]|0,je[r[(r[t>>2]|0)+28>>2]&7](t,e,i+o|0,f&2|0?n:2)}function n2(t,e,i,n,o,f){t=t|0,e=e|0,i=i|0,n=n|0,o=o|0,f=f|0;var h=0,l=0;l=r[t+4>>2]|0,h=l>>8,l&1&&(h=r[(r[n>>2]|0)+h>>2]|0),t=r[t>>2]|0,Pe[r[(r[t>>2]|0)+20>>2]&3](t,e,i,n+h|0,l&2|0?o:2,f)}function Ni(t,e,i,n,o){t=t|0,e=e|0,i=i|0,n=n|0,o=o|0;var f=0,h=0;h=r[t+4>>2]|0,f=h>>8,h&1&&(f=r[(r[i>>2]|0)+f>>2]|0),t=r[t>>2]|0,zi[r[(r[t>>2]|0)+24>>2]&3](t,e,i+f|0,h&2|0?n:2,o)}function lM(t){t=t|0,r[t>>2]=5896}function Gr(t){t=t|0;var e=0,i=0;return e=m,m=m+16|0,i=e,Mf(i,t),t=uM(i)|0,m=e,t|0}function Mf(t,e){t=t|0,e=e|0,mM(t,e)}function uM(t){t=t|0;var e=0,i=0;return e=m,m=m+16|0,i=e,yf(i,r[t+4>>2]|0),(aM(i)|0)<<24>>24?t=0:t=cM(df(t)|0)|0,m=e,t|0}function yf(t,e){t=t|0,e=e|0,r[t>>2]=e}function aM(t){return t=t|0,u[r[t>>2]>>0]|0}function df(t){return t=t|0,t|0}function cM(t){t=t|0;var e=0,i=0,n=0,o=0;o=m,m=m+16|0,n=o,t=r[t+8>>2]|0,e=u[t>>0]|0;do if(e<<24>>24!=1)if(e&2)Ur(20985,n);else{u[t>>0]=2,i=1;break}else i=0;while(0);return m=o,i|0}function mM(t,e){t=t|0,e=e|0,r[t>>2]=e,r[t+4>>2]=e,r[t+8>>2]=e+1,r[t+12>>2]=0}function zr(t){t=t|0;var e=0,i=0;e=m,m=m+16|0,i=e,Mf(i,t),vM(i),m=e}function vM(t){t=t|0;var e=0,i=0;e=m,m=m+16|0,i=e,yf(i,r[t+4>>2]|0),pM(i),MM(df(t)|0),m=e}function pM(t){t=t|0,u[r[t>>2]>>0]=1}function MM(t){t=t|0,u[r[t+8>>2]>>0]=1}function yM(){return 0}function b(t){t=t|0;var e=0,i=0;for(i=t|0?t:1;;){if(e=Ti(i)|0,e|0){t=6;break}if(t=yM()|0,!t){t=5;break}c2[t&3]()}if((t|0)==5)i=F0(4)|0,lM(i),k0(i|0,3880,121);else if((t|0)==6)return e|0;return 0}function gf(t){return t=t|0,b(t)|0}function Rf(t){t=t|0,$(t)}function dM(t,e,i){t=t|0,e=e|0,i=i|0;var n=0,o=0;return o=m,m=m+16|0,n=o,r[n>>2]=r[i>>2],t=he[r[(r[t>>2]|0)+16>>2]&7](t,e,n)|0,t&&(r[i>>2]=r[n>>2]),m=o,t&1|0}function gM(t){return t=t|0,t?t=(At(t,3840,3976,0)|0)!=0&1:t=0,t|0}function RM(t){return t=t|0,0}function xM(){return(wM()|0)>0|0}function wM(){return Z1()|0}function xf(t){t=t|0}function _M(t){t=t|0,xf(t),$(t)}function ZM(t){return t=t|0,21039}function C0(t){t=t|0}function qt(t){t=t|0;var e=0,i=0;e=t+8|0,r[e>>2]|0&&(i=r[e>>2]|0,r[e>>2]=i+-1,(i|0)!=0)||_0[r[(r[t>>2]|0)+16>>2]&255](t)}function FM(t){if(t=t|0,t=RM(t)|0,t)bM(t,21145);else return}function kM(t){t=t|0}function s2(t,e){t=t|0,e=e|0;var i=0,n=0;n=Vi(e)|0,i=b(n+13|0)|0,r[i>>2]=n,r[i+4>>2]=n,r[i+8>>2]=0,i=VM(i)|0,lt(i|0,e|0,n+1|0)|0,r[t>>2]=i}function VM(t){return t=t|0,t+12|0}function $t(t,e){t=t|0,e=e|0,r[t>>2]=5916,s2(t+4|0,e)}function WM(t,e){t=t|0,e=e|0,r[t>>2]=5936,s2(t+4|0,(u[e+11>>0]|0)<0?r[e>>2]|0:e)}function Zt(t,e){t=t|0,e=e|0,r[t>>2]=5936,s2(t+4|0,e)}function o2(t){t=t|0,t=F0(8)|0,$t(t,21163),r[t>>2]=5956,k0(t|0,3928,123)}function NM(t){t=t|0,t=F0(8)|0,$t(t,21163),r[t>>2]=5976,k0(t|0,3944,123)}function Xi(t,e,i){t=t|0,e=e|0,i=i|0;var n=0,o=0,f=0,h=0;o=m,m=m+16|0,n=o,i>>>0>4294967279&&o2(t),i>>>0<11?u[t+11>>0]=i:(h=i+16&-16,f=b(h)|0,r[t>>2]=f,r[t+8>>2]=h|-2147483648,r[t+4>>2]=i,t=f),Ce(t,e,i)|0,u[n>>0]=0,Fe(t+i|0,n),m=o}function Ce(t,e,i){return t=t|0,e=e|0,i=i|0,i|0&&lt(t|0,e|0,i|0)|0,t|0}function Je(t){t=t|0,(u[t+11>>0]|0)<0&&h0(r[t>>2]|0,r[t+8>>2]&2147483647)}function XM(t,e,i,n,o,f,h,l){t=t|0,e=e|0,i=i|0,n=n|0,o=o|0,f=f|0,h=h|0,l=l|0;var c=0,M=0,w=0,_=0,V=0;V=m,m=m+16|0,_=V,(-18-e|0)>>>0<i>>>0&&o2(t),(u[t+11>>0]|0)<0?w=r[t>>2]|0:w=t,e>>>0<2147483623?(c=i+e|0,M=e<<1,c=c>>>0<M>>>0?M:c,c=c>>>0<11?11:c+16&-16):c=-17,M=b(c)|0,o|0&&Ce(M,w,o)|0,h|0&&Ce(M+o|0,l,h)|0,n=n-f|0,i=n-o|0,i|0&&Ce(M+o+h|0,w+o+f|0,i)|0,i=e+1|0,(i|0)!=11&&h0(w,i),r[t>>2]=M,r[t+8>>2]=c|-2147483648,h=n+h|0,r[t+4>>2]=h,u[_>>0]=0,Fe(M+h|0,_),m=V}function wf(t,e,i){t=t|0,e=e|0,i=i|0;var n=0,o=0,f=0,h=0,l=0,c=0;return c=m,m=m+16|0,h=c,l=t+11|0,n=u[l>>0]|0,f=n<<24>>24<0,f?(o=(r[t+8>>2]&2147483647)+-1|0,n=r[t+4>>2]|0):(o=10,n=n&255),(o-n|0)>>>0>=i>>>0?i|0&&(f?o=r[t>>2]|0:o=t,Ce(o+n|0,e,i)|0,n=n+i|0,(u[l>>0]|0)<0?r[t+4>>2]=n:u[l>>0]=n,u[h>>0]=0,Fe(o+n|0,h)):XM(t,o,n+i-o|0,n,n,0,i,e),m=c,t|0}function TM(t,e){return t=t|0,e=e|0,wf(t,e,te(e)|0)|0}function UM(t,e,i){return t=t|0,e=e|0,i=i|0,i?t=yp(t,e,i)|0:t=0,t|0}function GM(t,e,i,n,o){t=t|0,e=e|0,i=i|0,n=n|0,o=o|0;var f=0,h=0;return f=u[t+11>>0]|0,h=f<<24>>24<0,h?f=r[t+4>>2]|0:f=f&255,(o|0)==-1|f>>>0<e>>>0&&NM(t),f=f-e|0,i=f>>>0<i>>>0?f:i,h&&(t=r[t>>2]|0),f=i>>>0>o>>>0,t=UM(t+e|0,n,f?o:i)|0,t?t|0:(i>>>0<o>>>0?-1:f&1)|0}function zM(t){t=t|0}function EM(t){t=t|0,$(t)}function BM(t){return t=t|0,21228}function SM(t,e,i){t=t|0,e=e|0,i=i|0,r[t>>2]=i,r[t+4>>2]=e}function CM(t,e,i){t=t|0,e=e|0,i=i|0;var n=0,o=0;return o=m,m=m+16|0,n=o,Oe[r[(r[t>>2]|0)+12>>2]&15](n,t,e),(r[n+4>>2]|0)==(r[i+4>>2]|0)?t=(r[n>>2]|0)==(r[i>>2]|0):t=0,m=o,t|0}function JM(t,e,i){return t=t|0,e=e|0,i=i|0,((r[e>>2]|0)==(i|0)?(r[e+4>>2]|0)==(t|0):0)|0}function IM(t,e,i){t=t|0,e=e|0,i=i|0,(i|0)>256?Xi(t,21176,te(21176)|0):_f(t,0,i)}function _f(t,e,i){t=t|0,e=e|0,i=i|0,OM(t,i)}function OM(t,e){t=t|0,e=e|0;var i=0,n=0,o=0,f=0,h=0;h=m,m=m+1040|0,o=h+1024|0,i=h,f=r[(Ot()|0)>>2]|0,n=jM(kp(e,i,1024)|0,i)|0,u[n>>0]|0?i=n:(r[o>>2]=e,dp(i,1024,21211,o)|0),r[(Ot()|0)>>2]=f,Xi(t,i,te(i)|0),m=h}function jM(t,e){t=t|0,e=e|0;var i=0,n=0;switch(t|0){case 0:{i=e;break}case-1:{t=r[(Ot()|0)>>2]|0,n=3;break}default:n=3}return(n|0)==3&&((t|0)==28?i=22145:W1()),i|0}function PM(t){t=t|0,$(t)}function YM(t){return t=t|0,21353}function HM(t,e,i){t=t|0,e=e|0,i=i|0,(i|0)>256?(Zf()|0,e=6180):(QM()|0,e=6176),r[t>>2]=i,r[t+4>>2]=e}function DM(t,e,i){t=t|0,e=e|0,i=i|0,(i|0)>256?Xi(t,21319,te(21319)|0):_f(t,0,i)}function Zf(){return!(u[21488]|0)&&Gr(21488)|0&&zr(21488),6180}function QM(){return!(u[21480]|0)&&Gr(21480)|0&&zr(21480),6176}function Ff(t){t=t|0,ht(t)}function LM(t){t=t|0,Ff(t),$(t)}function qM(t,e){t=t|0,e=e|0;var i=0;i=r[e+4>>2]|0,Oe[r[(r[i>>2]|0)+24>>2]&15](t,i,r[e>>2]|0)}function $M(t,e,i){t=t|0,e=e|0,i=i|0;var n=0,o=0,f=0;for(f=m,m=m+16|0,o=f,r[e>>2]|0&&(n=u[i+11>>0]|0,n<<24>>24<0?n=r[i+4>>2]|0:n=n&255,n|0&&TM(i,21417)|0,qM(o,e),e=u[o+11>>0]|0,n=e<<24>>24<0,wf(i,n?r[o>>2]|0:o,n?r[o+4>>2]|0:e&255)|0,Je(o)),r[t>>2]=r[i>>2],r[t+4>>2]=r[i+4>>2],r[t+8>>2]=r[i+8>>2],n=0;(n|0)!=3;)r[i+(n<<2)>>2]=0,n=n+1|0;m=f}function KM(t,e,i){t=t|0,e=e|0,i=i|0;var n=0,o=0,f=0;n=m,m=m+32|0,f=n+12|0,o=n,Xi(o,i,te(i)|0),$M(f,e,o),WM(t,f),Je(f),Je(o),r[t>>2]=6192,o=e,e=r[o+4>>2]|0,i=t+8|0,r[i>>2]=r[o>>2],r[i+4>>2]=e,m=n}function bM(t,e){t=t|0,e=e|0;var i=0,n=0,o=0;o=m,m=m+16|0,n=o+8|0,i=F0(16)|0,Zf()|0,r[o>>2]=t,r[o+4>>2]=6180,r[n>>2]=r[o>>2],r[n+4>>2]=r[o+4>>2],KM(i,n,e),k0(i|0,4272,136)}function L0(t){t=t|0,t=F0(8)|0,$t(t,21420),r[t>>2]=5956,k0(t|0,3928,123)}function Ti(t){t=t|0;var e=0,i=0,n=0,o=0,f=0,h=0,l=0,c=0,M=0,w=0,_=0,V=0,U=0,G=0,T=0,e0=0,P=0,I=0,t0=0,B=0,d0=0;d0=m,m=m+16|0,V=d0;do if(t>>>0<245){if(M=t>>>0<11?16:t+11&-8,t=M>>>3,_=r[5412]|0,i=_>>>t,i&3|0)return e=(i&1^1)+t|0,t=21688+(e<<1<<2)|0,i=t+8|0,n=r[i>>2]|0,o=n+8|0,f=r[o>>2]|0,(f|0)==(t|0)?r[5412]=_&~(1<<e):(r[f+12>>2]=t,r[i>>2]=f),B=e<<3,r[n+4>>2]=B|3,B=n+B+4|0,r[B>>2]=r[B>>2]|1,B=o,m=d0,B|0;if(w=r[5414]|0,M>>>0>w>>>0){if(i|0)return e=2<<t,e=i<<t&(e|0-e),e=(e&0-e)+-1|0,l=e>>>12&16,e=e>>>l,i=e>>>5&8,e=e>>>i,f=e>>>2&4,e=e>>>f,t=e>>>1&2,e=e>>>t,n=e>>>1&1,n=(i|l|f|t|n)+(e>>>n)|0,e=21688+(n<<1<<2)|0,t=e+8|0,f=r[t>>2]|0,l=f+8|0,i=r[l>>2]|0,(i|0)==(e|0)?(t=_&~(1<<n),r[5412]=t):(r[i+12>>2]=e,r[t>>2]=i,t=_),B=n<<3,h=B-M|0,r[f+4>>2]=M|3,o=f+M|0,r[o+4>>2]=h|1,r[f+B>>2]=h,w|0&&(n=r[5417]|0,e=w>>>3,i=21688+(e<<1<<2)|0,e=1<<e,t&e?(t=i+8|0,e=r[t>>2]|0):(r[5412]=t|e,e=i,t=i+8|0),r[t>>2]=n,r[e+12>>2]=n,r[n+8>>2]=e,r[n+12>>2]=i),r[5414]=h,r[5417]=o,B=l,m=d0,B|0;if(f=r[5413]|0,f){for(i=(f&0-f)+-1|0,o=i>>>12&16,i=i>>>o,n=i>>>5&8,i=i>>>n,h=i>>>2&4,i=i>>>h,l=i>>>1&2,i=i>>>l,c=i>>>1&1,c=r[21952+((n|o|h|l|c)+(i>>>c)<<2)>>2]|0,i=c,l=c,c=(r[c+4>>2]&-8)-M|0;t=r[i+16>>2]|0,!(!t&&(t=r[i+20>>2]|0,!t));)h=(r[t+4>>2]&-8)-M|0,o=h>>>0<c>>>0,i=t,l=o?t:l,c=o?h:c;if(h=l+M|0,h>>>0>l>>>0){o=r[l+24>>2]|0,e=r[l+12>>2]|0;do if((e|0)==(l|0)){if(t=l+20|0,e=r[t>>2]|0,!e&&(t=l+16|0,e=r[t>>2]|0,!e)){i=0;break}for(;;)if(n=e+20|0,i=r[n>>2]|0,i)e=i,t=n;else if(n=e+16|0,i=r[n>>2]|0,i)e=i,t=n;else break;r[t>>2]=0,i=e}else i=r[l+8>>2]|0,r[i+12>>2]=e,r[e+8>>2]=i,i=e;while(0);do if(o|0){if(e=r[l+28>>2]|0,t=21952+(e<<2)|0,(l|0)==(r[t>>2]|0)){if(r[t>>2]=i,!i){r[5413]=f&~(1<<e);break}}else if(B=o+16|0,r[((r[B>>2]|0)==(l|0)?B:o+20|0)>>2]=i,!i)break;r[i+24>>2]=o,e=r[l+16>>2]|0,e|0&&(r[i+16>>2]=e,r[e+24>>2]=i),e=r[l+20>>2]|0,e|0&&(r[i+20>>2]=e,r[e+24>>2]=i)}while(0);return c>>>0<16?(B=c+M|0,r[l+4>>2]=B|3,B=l+B+4|0,r[B>>2]=r[B>>2]|1):(r[l+4>>2]=M|3,r[h+4>>2]=c|1,r[h+c>>2]=c,w|0&&(n=r[5417]|0,e=w>>>3,i=21688+(e<<1<<2)|0,e=1<<e,e&_?(t=i+8|0,e=r[t>>2]|0):(r[5412]=e|_,e=i,t=i+8|0),r[t>>2]=n,r[e+12>>2]=n,r[n+8>>2]=e,r[n+12>>2]=i),r[5414]=c,r[5417]=h),B=l+8|0,m=d0,B|0}else _=M}else _=M}else _=M}else if(t>>>0<=4294967231)if(t=t+11|0,M=t&-8,n=r[5413]|0,n){o=0-M|0,t=t>>>8,t?M>>>0>16777215?c=31:(_=(t+1048320|0)>>>16&8,T=t<<_,l=(T+520192|0)>>>16&4,T=T<<l,c=(T+245760|0)>>>16&2,c=14-(l|_|c)+(T<<c>>>15)|0,c=M>>>(c+7|0)&1|c<<1):c=0,i=r[21952+(c<<2)>>2]|0;t:do if(!i)i=0,t=0,T=61;else for(t=0,l=M<<((c|0)==31?0:25-(c>>>1)|0),f=0;;){if(h=(r[i+4>>2]&-8)-M|0,h>>>0<o>>>0)if(h)t=i,o=h;else{t=i,o=0,T=65;break t}if(T=r[i+20>>2]|0,i=r[i+16+(l>>>31<<2)>>2]|0,f=(T|0)==0|(T|0)==(i|0)?f:T,i)l=l<<1;else{i=f,T=61;break}}while(0);if((T|0)==61){if((i|0)==0&(t|0)==0){if(t=2<<c,t=(t|0-t)&n,!t){_=M;break}_=(t&0-t)+-1|0,h=_>>>12&16,_=_>>>h,f=_>>>5&8,_=_>>>f,l=_>>>2&4,_=_>>>l,c=_>>>1&2,_=_>>>c,i=_>>>1&1,t=0,i=r[21952+((f|h|l|c|i)+(_>>>i)<<2)>>2]|0}i?T=65:(l=t,h=o)}if((T|0)==65)for(f=i;;)if(_=(r[f+4>>2]&-8)-M|0,i=_>>>0<o>>>0,o=i?_:o,t=i?f:t,i=r[f+16>>2]|0,i||(i=r[f+20>>2]|0),i)f=i;else{l=t,h=o;break}if(l|0&&h>>>0<((r[5414]|0)-M|0)>>>0&&(w=l+M|0,w>>>0>l>>>0)){f=r[l+24>>2]|0,e=r[l+12>>2]|0;do if((e|0)==(l|0)){if(t=l+20|0,e=r[t>>2]|0,!e&&(t=l+16|0,e=r[t>>2]|0,!e)){e=0;break}for(;;)if(o=e+20|0,i=r[o>>2]|0,i)e=i,t=o;else if(o=e+16|0,i=r[o>>2]|0,i)e=i,t=o;else break;r[t>>2]=0}else B=r[l+8>>2]|0,r[B+12>>2]=e,r[e+8>>2]=B;while(0);do if(f){if(t=r[l+28>>2]|0,i=21952+(t<<2)|0,(l|0)==(r[i>>2]|0)){if(r[i>>2]=e,!e){n=n&~(1<<t),r[5413]=n;break}}else if(B=f+16|0,r[((r[B>>2]|0)==(l|0)?B:f+20|0)>>2]=e,!e)break;r[e+24>>2]=f,t=r[l+16>>2]|0,t|0&&(r[e+16>>2]=t,r[t+24>>2]=e),t=r[l+20>>2]|0,t&&(r[e+20>>2]=t,r[t+24>>2]=e)}while(0);t:do if(h>>>0<16)B=h+M|0,r[l+4>>2]=B|3,B=l+B+4|0,r[B>>2]=r[B>>2]|1;else{if(r[l+4>>2]=M|3,r[w+4>>2]=h|1,r[w+h>>2]=h,e=h>>>3,h>>>0<256){i=21688+(e<<1<<2)|0,t=r[5412]|0,e=1<<e,t&e?(t=i+8|0,e=r[t>>2]|0):(r[5412]=t|e,e=i,t=i+8|0),r[t>>2]=w,r[e+12>>2]=w,r[w+8>>2]=e,r[w+12>>2]=i;break}if(e=h>>>8,e?h>>>0>16777215?i=31:(t0=(e+1048320|0)>>>16&8,B=e<<t0,I=(B+520192|0)>>>16&4,B=B<<I,i=(B+245760|0)>>>16&2,i=14-(I|t0|i)+(B<<i>>>15)|0,i=h>>>(i+7|0)&1|i<<1):i=0,e=21952+(i<<2)|0,r[w+28>>2]=i,t=w+16|0,r[t+4>>2]=0,r[t>>2]=0,t=1<<i,!(n&t)){r[5413]=n|t,r[e>>2]=w,r[w+24>>2]=e,r[w+12>>2]=w,r[w+8>>2]=w;break}e=r[e>>2]|0;r:do if((r[e+4>>2]&-8|0)!=(h|0)){for(n=h<<((i|0)==31?0:25-(i>>>1)|0);i=e+16+(n>>>31<<2)|0,t=r[i>>2]|0,!!t;)if((r[t+4>>2]&-8|0)==(h|0)){e=t;break r}else n=n<<1,e=t;r[i>>2]=w,r[w+24>>2]=e,r[w+12>>2]=w,r[w+8>>2]=w;break t}while(0);t0=e+8|0,B=r[t0>>2]|0,r[B+12>>2]=w,r[t0>>2]=w,r[w+8>>2]=B,r[w+12>>2]=e,r[w+24>>2]=0}while(0);return B=l+8|0,m=d0,B|0}else _=M}else _=M;else _=-1;while(0);if(i=r[5414]|0,i>>>0>=_>>>0)return e=i-_|0,t=r[5417]|0,e>>>0>15?(B=t+_|0,r[5417]=B,r[5414]=e,r[B+4>>2]=e|1,r[t+i>>2]=e,r[t+4>>2]=_|3):(r[5414]=0,r[5417]=0,r[t+4>>2]=i|3,B=t+i+4|0,r[B>>2]=r[B>>2]|1),B=t+8|0,m=d0,B|0;if(h=r[5415]|0,h>>>0>_>>>0)return I=h-_|0,r[5415]=I,B=r[5418]|0,t0=B+_|0,r[5418]=t0,r[t0+4>>2]=I|1,r[B+4>>2]=_|3,B=B+8|0,m=d0,B|0;if(r[5530]|0?t=r[5532]|0:(r[5532]=4096,r[5531]=4096,r[5533]=-1,r[5534]=-1,r[5535]=0,r[5523]=0,r[5530]=V&-16^1431655768,t=4096),l=_+48|0,c=_+47|0,f=t+c|0,o=0-t|0,M=f&o,M>>>0<=_>>>0||(t=r[5522]|0,t|0&&(w=r[5520]|0,V=w+M|0,V>>>0<=w>>>0|V>>>0>t>>>0)))return B=0,m=d0,B|0;t:do if(r[5523]&4)e=0,T=143;else{i=r[5418]|0;r:do if(i){for(n=22096;V=r[n>>2]|0,!(V>>>0<=i>>>0&&(V+(r[n+4>>2]|0)|0)>>>0>i>>>0);)if(t=r[n+8>>2]|0,t)n=t;else{T=128;break r}if(e=f-h&o,e>>>0<2147483647)if(t=Er(e)|0,(t|0)==((r[n>>2]|0)+(r[n+4>>2]|0)|0)){if((t|0)!=-1){h=e,f=t,T=145;break t}}else n=t,T=136;else e=0}else T=128;while(0);do if((T|0)==128)if(i=Er(0)|0,(i|0)!=-1&&(e=i,U=r[5531]|0,G=U+-1|0,e=(G&e|0?(G+e&0-U)-e|0:0)+M|0,U=r[5520]|0,G=e+U|0,e>>>0>_>>>0&e>>>0<2147483647)){if(V=r[5522]|0,V|0&&G>>>0<=U>>>0|G>>>0>V>>>0){e=0;break}if(t=Er(e)|0,(t|0)==(i|0)){h=e,f=i,T=145;break t}else n=t,T=136}else e=0;while(0);do if((T|0)==136){if(i=0-e|0,!(l>>>0>e>>>0&(e>>>0<2147483647&(n|0)!=-1)))if((n|0)==-1){e=0;break}else{h=e,f=n,T=145;break t}if(t=r[5532]|0,t=c-e+t&0-t,t>>>0>=2147483647){h=e,f=n,T=145;break t}if((Er(t)|0)==-1){Er(i)|0,e=0;break}else{h=t+e|0,f=n,T=145;break t}}while(0);r[5523]=r[5523]|4,T=143}while(0);if((T|0)==143&&M>>>0<2147483647&&(I=Er(M)|0,G=Er(0)|0,e0=G-I|0,P=e0>>>0>(_+40|0)>>>0,!((I|0)==-1|P^1|I>>>0<G>>>0&((I|0)!=-1&(G|0)!=-1)^1))&&(h=P?e0:e,f=I,T=145),(T|0)==145){e=(r[5520]|0)+h|0,r[5520]=e,e>>>0>(r[5521]|0)>>>0&&(r[5521]=e),c=r[5418]|0;t:do if(c){for(e=22096;;){if(t=r[e>>2]|0,i=r[e+4>>2]|0,(f|0)==(t+i|0)){T=154;break}if(n=r[e+8>>2]|0,n)e=n;else break}if((T|0)==154&&(t0=e+4|0,(r[e+12>>2]&8|0)==0)&&f>>>0>c>>>0&t>>>0<=c>>>0){r[t0>>2]=i+h,B=(r[5415]|0)+h|0,I=c+8|0,I=I&7|0?0-I&7:0,t0=c+I|0,I=B-I|0,r[5418]=t0,r[5415]=I,r[t0+4>>2]=I|1,r[c+B+4>>2]=40,r[5419]=r[5534];break}for(f>>>0<(r[5416]|0)>>>0&&(r[5416]=f),i=f+h|0,e=22096;;){if((r[e>>2]|0)==(i|0)){T=162;break}if(t=r[e+8>>2]|0,t)e=t;else break}if((T|0)==162&&!(r[e+12>>2]&8|0)){r[e>>2]=f,w=e+4|0,r[w>>2]=(r[w>>2]|0)+h,w=f+8|0,w=f+(w&7|0?0-w&7:0)|0,e=i+8|0,e=i+(e&7|0?0-e&7:0)|0,M=w+_|0,l=e-w-_|0,r[w+4>>2]=_|3;r:do if((c|0)==(e|0))B=(r[5415]|0)+l|0,r[5415]=B,r[5418]=M,r[M+4>>2]=B|1;else{if((r[5417]|0)==(e|0)){B=(r[5414]|0)+l|0,r[5414]=B,r[5417]=M,r[M+4>>2]=B|1,r[M+B>>2]=B;break}if(t=r[e+4>>2]|0,(t&3|0)==1){h=t&-8,n=t>>>3;e:do if(t>>>0<256)if(t=r[e+8>>2]|0,i=r[e+12>>2]|0,(i|0)==(t|0)){r[5412]=r[5412]&~(1<<n);break}else{r[t+12>>2]=i,r[i+8>>2]=t;break}else{f=r[e+24>>2]|0,t=r[e+12>>2]|0;do if((t|0)==(e|0)){if(i=e+16|0,n=i+4|0,t=r[n>>2]|0,t)i=n;else if(t=r[i>>2]|0,!t){t=0;break}for(;;)if(o=t+20|0,n=r[o>>2]|0,n)t=n,i=o;else if(o=t+16|0,n=r[o>>2]|0,n)t=n,i=o;else break;r[i>>2]=0}else B=r[e+8>>2]|0,r[B+12>>2]=t,r[t+8>>2]=B;while(0);if(!f)break;i=r[e+28>>2]|0,n=21952+(i<<2)|0;do if((r[n>>2]|0)!=(e|0)){if(B=f+16|0,r[((r[B>>2]|0)==(e|0)?B:f+20|0)>>2]=t,!t)break e}else{if(r[n>>2]=t,t|0)break;r[5413]=r[5413]&~(1<<i);break e}while(0);if(r[t+24>>2]=f,i=e+16|0,n=r[i>>2]|0,n|0&&(r[t+16>>2]=n,r[n+24>>2]=t),i=r[i+4>>2]|0,!i)break;r[t+20>>2]=i,r[i+24>>2]=t}while(0);e=e+h|0,o=h+l|0}else o=l;if(e=e+4|0,r[e>>2]=r[e>>2]&-2,r[M+4>>2]=o|1,r[M+o>>2]=o,e=o>>>3,o>>>0<256){i=21688+(e<<1<<2)|0,t=r[5412]|0,e=1<<e,t&e?(t=i+8|0,e=r[t>>2]|0):(r[5412]=t|e,e=i,t=i+8|0),r[t>>2]=M,r[e+12>>2]=M,r[M+8>>2]=e,r[M+12>>2]=i;break}e=o>>>8;do if(!e)n=0;else{if(o>>>0>16777215){n=31;break}t0=(e+1048320|0)>>>16&8,B=e<<t0,I=(B+520192|0)>>>16&4,B=B<<I,n=(B+245760|0)>>>16&2,n=14-(I|t0|n)+(B<<n>>>15)|0,n=o>>>(n+7|0)&1|n<<1}while(0);if(e=21952+(n<<2)|0,r[M+28>>2]=n,t=M+16|0,r[t+4>>2]=0,r[t>>2]=0,t=r[5413]|0,i=1<<n,!(t&i)){r[5413]=t|i,r[e>>2]=M,r[M+24>>2]=e,r[M+12>>2]=M,r[M+8>>2]=M;break}e=r[e>>2]|0;e:do if((r[e+4>>2]&-8|0)!=(o|0)){for(n=o<<((n|0)==31?0:25-(n>>>1)|0);i=e+16+(n>>>31<<2)|0,t=r[i>>2]|0,!!t;)if((r[t+4>>2]&-8|0)==(o|0)){e=t;break e}else n=n<<1,e=t;r[i>>2]=M,r[M+24>>2]=e,r[M+12>>2]=M,r[M+8>>2]=M;break r}while(0);t0=e+8|0,B=r[t0>>2]|0,r[B+12>>2]=M,r[t0>>2]=M,r[M+8>>2]=B,r[M+12>>2]=e,r[M+24>>2]=0}while(0);return B=w+8|0,m=d0,B|0}for(e=22096;t=r[e>>2]|0,!(t>>>0<=c>>>0&&(B=t+(r[e+4>>2]|0)|0,B>>>0>c>>>0));)e=r[e+8>>2]|0;o=B+-47|0,t=o+8|0,t=o+(t&7|0?0-t&7:0)|0,o=c+16|0,t=t>>>0<o>>>0?c:t,e=t+8|0,i=h+-40|0,I=f+8|0,I=I&7|0?0-I&7:0,t0=f+I|0,I=i-I|0,r[5418]=t0,r[5415]=I,r[t0+4>>2]=I|1,r[f+i+4>>2]=40,r[5419]=r[5534],i=t+4|0,r[i>>2]=27,r[e>>2]=r[5524],r[e+4>>2]=r[5525],r[e+8>>2]=r[5526],r[e+12>>2]=r[5527],r[5524]=f,r[5525]=h,r[5527]=0,r[5526]=e,e=t+24|0;do t0=e,e=e+4|0,r[e>>2]=7;while((t0+8|0)>>>0<B>>>0);if((t|0)!=(c|0)){if(f=t-c|0,r[i>>2]=r[i>>2]&-2,r[c+4>>2]=f|1,r[t>>2]=f,e=f>>>3,f>>>0<256){i=21688+(e<<1<<2)|0,t=r[5412]|0,e=1<<e,t&e?(t=i+8|0,e=r[t>>2]|0):(r[5412]=t|e,e=i,t=i+8|0),r[t>>2]=c,r[e+12>>2]=c,r[c+8>>2]=e,r[c+12>>2]=i;break}if(e=f>>>8,e?f>>>0>16777215?n=31:(t0=(e+1048320|0)>>>16&8,B=e<<t0,I=(B+520192|0)>>>16&4,B=B<<I,n=(B+245760|0)>>>16&2,n=14-(I|t0|n)+(B<<n>>>15)|0,n=f>>>(n+7|0)&1|n<<1):n=0,i=21952+(n<<2)|0,r[c+28>>2]=n,r[c+20>>2]=0,r[o>>2]=0,e=r[5413]|0,t=1<<n,!(e&t)){r[5413]=e|t,r[i>>2]=c,r[c+24>>2]=i,r[c+12>>2]=c,r[c+8>>2]=c;break}e=r[i>>2]|0;r:do if((r[e+4>>2]&-8|0)!=(f|0)){for(n=f<<((n|0)==31?0:25-(n>>>1)|0);i=e+16+(n>>>31<<2)|0,t=r[i>>2]|0,!!t;)if((r[t+4>>2]&-8|0)==(f|0)){e=t;break r}else n=n<<1,e=t;r[i>>2]=c,r[c+24>>2]=e,r[c+12>>2]=c,r[c+8>>2]=c;break t}while(0);t0=e+8|0,B=r[t0>>2]|0,r[B+12>>2]=c,r[t0>>2]=c,r[c+8>>2]=B,r[c+12>>2]=e,r[c+24>>2]=0}}else B=r[5416]|0,(B|0)==0|f>>>0<B>>>0&&(r[5416]=f),r[5524]=f,r[5525]=h,r[5527]=0,r[5421]=r[5530],r[5420]=-1,r[5425]=21688,r[5424]=21688,r[5427]=21696,r[5426]=21696,r[5429]=21704,r[5428]=21704,r[5431]=21712,r[5430]=21712,r[5433]=21720,r[5432]=21720,r[5435]=21728,r[5434]=21728,r[5437]=21736,r[5436]=21736,r[5439]=21744,r[5438]=21744,r[5441]=21752,r[5440]=21752,r[5443]=21760,r[5442]=21760,r[5445]=21768,r[5444]=21768,r[5447]=21776,r[5446]=21776,r[5449]=21784,r[5448]=21784,r[5451]=21792,r[5450]=21792,r[5453]=21800,r[5452]=21800,r[5455]=21808,r[5454]=21808,r[5457]=21816,r[5456]=21816,r[5459]=21824,r[5458]=21824,r[5461]=21832,r[5460]=21832,r[5463]=21840,r[5462]=21840,r[5465]=21848,r[5464]=21848,r[5467]=21856,r[5466]=21856,r[5469]=21864,r[5468]=21864,r[5471]=21872,r[5470]=21872,r[5473]=21880,r[5472]=21880,r[5475]=21888,r[5474]=21888,r[5477]=21896,r[5476]=21896,r[5479]=21904,r[5478]=21904,r[5481]=21912,r[5480]=21912,r[5483]=21920,r[5482]=21920,r[5485]=21928,r[5484]=21928,r[5487]=21936,r[5486]=21936,B=h+-40|0,I=f+8|0,I=I&7|0?0-I&7:0,t0=f+I|0,I=B-I|0,r[5418]=t0,r[5415]=I,r[t0+4>>2]=I|1,r[f+B+4>>2]=40,r[5419]=r[5534];while(0);if(e=r[5415]|0,e>>>0>_>>>0)return I=e-_|0,r[5415]=I,B=r[5418]|0,t0=B+_|0,r[5418]=t0,r[t0+4>>2]=I|1,r[B+4>>2]=_|3,B=B+8|0,m=d0,B|0}return r[(Ot()|0)>>2]=48,B=0,m=d0,B|0}function f2(t){t=t|0;var e=0,i=0,n=0,o=0,f=0,h=0,l=0,c=0;if(!t)return;i=t+-8|0,o=r[5416]|0,t=r[t+-4>>2]|0,e=t&-8,c=i+e|0;do if(t&1)l=i,h=i;else{if(n=r[i>>2]|0,!(t&3)||(h=i+(0-n)|0,f=n+e|0,h>>>0<o>>>0))return;if((r[5417]|0)==(h|0)){if(t=c+4|0,e=r[t>>2]|0,(e&3|0)!=3){l=h,e=f;break}r[5414]=f,r[t>>2]=e&-2,r[h+4>>2]=f|1,r[h+f>>2]=f;return}if(i=n>>>3,n>>>0<256)if(t=r[h+8>>2]|0,e=r[h+12>>2]|0,(e|0)==(t|0)){r[5412]=r[5412]&~(1<<i),l=h,e=f;break}else{r[t+12>>2]=e,r[e+8>>2]=t,l=h,e=f;break}o=r[h+24>>2]|0,t=r[h+12>>2]|0;do if((t|0)==(h|0)){if(e=h+16|0,i=e+4|0,t=r[i>>2]|0,t)e=i;else if(t=r[e>>2]|0,!t){t=0;break}for(;;)if(n=t+20|0,i=r[n>>2]|0,i)t=i,e=n;else if(n=t+16|0,i=r[n>>2]|0,i)t=i,e=n;else break;r[e>>2]=0}else l=r[h+8>>2]|0,r[l+12>>2]=t,r[t+8>>2]=l;while(0);if(o){if(e=r[h+28>>2]|0,i=21952+(e<<2)|0,(r[i>>2]|0)==(h|0)){if(r[i>>2]=t,!t){r[5413]=r[5413]&~(1<<e),l=h,e=f;break}}else if(l=o+16|0,r[((r[l>>2]|0)==(h|0)?l:o+20|0)>>2]=t,!t){l=h,e=f;break}r[t+24>>2]=o,e=h+16|0,i=r[e>>2]|0,i|0&&(r[t+16>>2]=i,r[i+24>>2]=t),e=r[e+4>>2]|0,e?(r[t+20>>2]=e,r[e+24>>2]=t,l=h,e=f):(l=h,e=f)}else l=h,e=f}while(0);if(h>>>0>=c>>>0||(t=c+4|0,n=r[t>>2]|0,!(n&1)))return;if(n&2)r[t>>2]=n&-2,r[l+4>>2]=e|1,r[h+e>>2]=e,o=e;else{if((r[5418]|0)==(c|0)){if(c=(r[5415]|0)+e|0,r[5415]=c,r[5418]=l,r[l+4>>2]=c|1,(l|0)!=(r[5417]|0))return;r[5417]=0,r[5414]=0;return}if((r[5417]|0)==(c|0)){c=(r[5414]|0)+e|0,r[5414]=c,r[5417]=h,r[l+4>>2]=c|1,r[h+c>>2]=c;return}o=(n&-8)+e|0,i=n>>>3;do if(n>>>0<256)if(e=r[c+8>>2]|0,t=r[c+12>>2]|0,(t|0)==(e|0)){r[5412]=r[5412]&~(1<<i);break}else{r[e+12>>2]=t,r[t+8>>2]=e;break}else{f=r[c+24>>2]|0,t=r[c+12>>2]|0;do if((t|0)==(c|0)){if(e=c+16|0,i=e+4|0,t=r[i>>2]|0,t)e=i;else if(t=r[e>>2]|0,!t){i=0;break}for(;;)if(n=t+20|0,i=r[n>>2]|0,i)t=i,e=n;else if(n=t+16|0,i=r[n>>2]|0,i)t=i,e=n;else break;r[e>>2]=0,i=t}else i=r[c+8>>2]|0,r[i+12>>2]=t,r[t+8>>2]=i,i=t;while(0);if(f|0){if(t=r[c+28>>2]|0,e=21952+(t<<2)|0,(r[e>>2]|0)==(c|0)){if(r[e>>2]=i,!i){r[5413]=r[5413]&~(1<<t);break}}else if(n=f+16|0,r[((r[n>>2]|0)==(c|0)?n:f+20|0)>>2]=i,!i)break;r[i+24>>2]=f,t=c+16|0,e=r[t>>2]|0,e|0&&(r[i+16>>2]=e,r[e+24>>2]=i),t=r[t+4>>2]|0,t|0&&(r[i+20>>2]=t,r[t+24>>2]=i)}}while(0);if(r[l+4>>2]=o|1,r[h+o>>2]=o,(l|0)==(r[5417]|0)){r[5414]=o;return}}if(t=o>>>3,o>>>0<256){i=21688+(t<<1<<2)|0,e=r[5412]|0,t=1<<t,e&t?(e=i+8|0,t=r[e>>2]|0):(r[5412]=e|t,t=i,e=i+8|0),r[e>>2]=l,r[t+12>>2]=l,r[l+8>>2]=t,r[l+12>>2]=i;return}t=o>>>8,t?o>>>0>16777215?n=31:(h=(t+1048320|0)>>>16&8,c=t<<h,f=(c+520192|0)>>>16&4,c=c<<f,n=(c+245760|0)>>>16&2,n=14-(f|h|n)+(c<<n>>>15)|0,n=o>>>(n+7|0)&1|n<<1):n=0,t=21952+(n<<2)|0,r[l+28>>2]=n,r[l+20>>2]=0,r[l+16>>2]=0,e=r[5413]|0,i=1<<n;t:do if(!(e&i))r[5413]=e|i,r[t>>2]=l,r[l+24>>2]=t,r[l+12>>2]=l,r[l+8>>2]=l;else{t=r[t>>2]|0;r:do if((r[t+4>>2]&-8|0)!=(o|0)){for(n=o<<((n|0)==31?0:25-(n>>>1)|0);i=t+16+(n>>>31<<2)|0,e=r[i>>2]|0,!!e;)if((r[e+4>>2]&-8|0)==(o|0)){t=e;break r}else n=n<<1,t=e;r[i>>2]=l,r[l+24>>2]=t,r[l+12>>2]=l,r[l+8>>2]=l;break t}while(0);h=t+8|0,c=r[h>>2]|0,r[c+12>>2]=l,r[h>>2]=l,r[l+8>>2]=c,r[l+12>>2]=t,r[l+24>>2]=0}while(0);if(c=(r[5420]|0)+-1|0,r[5420]=c,!(c|0)){for(t=22104;t=r[t>>2]|0,t;)t=t+8|0;r[5420]=-1}}function Er(t){t=t|0;var e=0,i=0,n=0;n=t+3&-4,t=Wf()|0,e=r[t>>2]|0,i=e+n|0;do if((n|0)<1|i>>>0>e>>>0){if(i>>>0>(N1()|0)>>>0&&!(T1(i|0)|0))break;return r[t>>2]=i,n=e,n|0}while(0);return r[(Ot()|0)>>2]=48,n=-1,n|0}function ty(t){t=t|0;var e=0;return e=m,m=m+t|0,m=m+15&-16,e|0}function ry(t){t=t|0,m=t}function ey(){return m|0}function iy(t,e){t=t|0,e=e|0;var i=0,n=0,o=0,f=0;return f=t&65535,o=e&65535,i=a0(o,f)|0,n=t>>>16,t=(i>>>16)+(a0(o,n)|0)|0,o=e>>>16,e=a0(o,f)|0,Z0((t>>>16)+(a0(o,n)|0)+(((t&65535)+e|0)>>>16)|0),t+e<<16|i&65535|0|0}function A2(t,e,i,n){t=t|0,e=e|0,i=i|0,n=n|0;var o=0,f=0;return o=t,f=i,i=iy(o,f)|0,t=y0()|0,Z0((a0(e,f)|0)+(a0(n,o)|0)+t|t&0|0),i|0|0|0}function yt(t,e,i,n){return t=t|0,e=e|0,i=i|0,n=n|0,i=t+i>>>0,Z0(e+n+(i>>>0<t>>>0|0)>>>0|0),i|0|0}function Ae(t,e,i,n){return t=t|0,e=e|0,i=i|0,n=n|0,n=e-n-(i>>>0>t>>>0|0)>>>0,Z0(n|0),t-i>>>0|0|0}function kf(t){return t=t|0,(t?31-(Qt(t^t-1)|0)|0:32)|0}function ny(t,e,i,n,o){t=t|0,e=e|0,i=i|0,n=n|0,o=o|0;var f=0,h=0,l=0,c=0,M=0,w=0,_=0,V=0,U=0,G=0;if(w=t,c=e,M=c,h=i,V=n,l=V,!M)return f=(o|0)!=0,l?f?(r[o>>2]=t|0,r[o+4>>2]=e&0,V=0,o=0,Z0(V|0),o|0):(V=0,o=0,Z0(V|0),o|0):(f&&(r[o>>2]=(w>>>0)%(h>>>0),r[o+4>>2]=0),V=0,o=(w>>>0)/(h>>>0)>>>0,Z0(V|0),o|0);f=(l|0)==0;do if(h){if(!f){if(f=(Qt(l|0)|0)-(Qt(M|0)|0)|0,f>>>0<=31){_=f+1|0,l=31-f|0,e=f-31>>31,h=_,t=w>>>(_>>>0)&e|M<<l,e=M>>>(_>>>0)&e,f=0,l=w<<l;break}return o?(r[o>>2]=t|0,r[o+4>>2]=c|e&0,V=0,o=0,Z0(V|0),o|0):(V=0,o=0,Z0(V|0),o|0)}if(f=h-1|0,f&h|0){l=(Qt(h|0)|0)+33-(Qt(M|0)|0)|0,G=64-l|0,_=32-l|0,c=_>>31,U=l-32|0,e=U>>31,h=l,t=_-1>>31&M>>>(U>>>0)|(M<<_|w>>>(l>>>0))&e,e=e&M>>>(l>>>0),f=w<<G&c,l=(M<<G|w>>>(U>>>0))&c|w<<_&l-33>>31;break}return o|0&&(r[o>>2]=f&w,r[o+4>>2]=0),(h|0)==1?(U=c|e&0,G=t|0|0,Z0(U|0),G|0):(G=kf(h|0)|0,U=M>>>(G>>>0)|0,G=M<<32-G|w>>>(G>>>0)|0,Z0(U|0),G|0)}else{if(f)return o|0&&(r[o>>2]=(M>>>0)%(h>>>0),r[o+4>>2]=0),U=0,G=(M>>>0)/(h>>>0)>>>0,Z0(U|0),G|0;if(!w)return o|0&&(r[o>>2]=0,r[o+4>>2]=(M>>>0)%(l>>>0)),U=0,G=(M>>>0)/(l>>>0)>>>0,Z0(U|0),G|0;if(f=l-1|0,!(f&l))return o|0&&(r[o>>2]=t|0,r[o+4>>2]=f&M|e&0),U=0,G=M>>>((kf(l|0)|0)>>>0),Z0(U|0),G|0;if(f=(Qt(l|0)|0)-(Qt(M|0)|0)|0,f>>>0<=30){e=f+1|0,l=31-f|0,h=e,t=M<<l|w>>>(e>>>0),e=M>>>(e>>>0),f=0,l=w<<l;break}return o?(r[o>>2]=t|0,r[o+4>>2]=c|e&0,U=0,G=0,Z0(U|0),G|0):(U=0,G=0,Z0(U|0),G|0)}while(0);if(!h)M=l,c=0,l=0;else{_=i|0|0,w=V|n&0,M=yt(_|0,w|0,-1,-1)|0,i=y0()|0,c=l,l=0;do n=c,c=f>>>31|c<<1,f=l|f<<1,n=t<<1|n>>>31|0,V=t>>>31|e<<1|0,Ae(M|0,i|0,n|0,V|0)|0,G=y0()|0,U=G>>31|((G|0)<0?-1:0)<<1,l=U&1,t=Ae(n|0,V|0,U&_|0,(((G|0)<0?-1:0)>>31|((G|0)<0?-1:0)<<1)&w|0)|0,e=y0()|0,h=h-1|0;while(h|0);M=c,c=0}return h=0,o|0&&(r[o>>2]=t,r[o+4>>2]=e),U=(f|0)>>>31|(M|h)<<1|(h<<1|f>>>31)&0|c,G=(f<<1|0>>>31)&-2|l,Z0(U|0),G|0}function h2(t,e,i,n){return t=t|0,e=e|0,i=i|0,n=n|0,ny(t,e,i,n,0)|0}function Ui(t,e,i){return t=t|0,e=e|0,i=i|0,(i|0)<32?(Z0(e>>>i|0),t>>>i|(e&(1<<i)-1)<<32-i):(Z0(0),e>>>i-32|0)}function Vf(t,e,i){return t=t|0,e=e|0,i=i|0,(i|0)<32?(Z0(e<<i|(t&(1<<i)-1<<32-i)>>>32-i|0),t<<i):(Z0(t<<i-32|0),0)}function Wf(){return 22176}function Nf(t){return t=t|0,(t&255)<<24|(t>>8&255)<<16|(t>>16&255)<<8|t>>>24|0}function lt(t,e,i){t=t|0,e=e|0,i=i|0;var n=0,o=0,f=0;if((i|0)>=512)return X1(t|0,e|0,i|0)|0,t|0;if(f=t|0,o=t+i|0,(t&3)==(e&3)){for(;t&3;){if(!i)return f|0;u[t>>0]=u[e>>0]|0,t=t+1|0,e=e+1|0,i=i-1|0}for(i=o&-4|0,n=i-64|0;(t|0)<=(n|0);)r[t>>2]=r[e>>2],r[t+4>>2]=r[e+4>>2],r[t+8>>2]=r[e+8>>2],r[t+12>>2]=r[e+12>>2],r[t+16>>2]=r[e+16>>2],r[t+20>>2]=r[e+20>>2],r[t+24>>2]=r[e+24>>2],r[t+28>>2]=r[e+28>>2],r[t+32>>2]=r[e+32>>2],r[t+36>>2]=r[e+36>>2],r[t+40>>2]=r[e+40>>2],r[t+44>>2]=r[e+44>>2],r[t+48>>2]=r[e+48>>2],r[t+52>>2]=r[e+52>>2],r[t+56>>2]=r[e+56>>2],r[t+60>>2]=r[e+60>>2],t=t+64|0,e=e+64|0;for(;(t|0)<(i|0);)r[t>>2]=r[e>>2],t=t+4|0,e=e+4|0}else for(i=o-4|0;(t|0)<(i|0);)u[t>>0]=u[e>>0]|0,u[t+1>>0]=u[e+1>>0]|0,u[t+2>>0]=u[e+2>>0]|0,u[t+3>>0]=u[e+3>>0]|0,t=t+4|0,e=e+4|0;for(;(t|0)<(o|0);)u[t>>0]=u[e>>0]|0,t=t+1|0,e=e+1|0;return f|0}function dt(t,e,i){t=t|0,e=e|0,i=i|0;var n=0;if((e|0)<(t|0)&(t|0)<(e+i|0)){for(n=t,e=e+i|0,t=t+i|0;(i|0)>0;)t=t-1|0,e=e-1|0,i=i-1|0,u[t>>0]=u[e>>0]|0;t=n}else lt(t,e,i)|0;return t|0}function Br(t,e,i){t=t|0,e=e|0,i=i|0;var n=0,o=0,f=0,h=0;if(f=t+i|0,e=e&255,(i|0)>=67){for(;t&3;)u[t>>0]=e,t=t+1|0;for(n=f&-4|0,h=e|e<<8|e<<16|e<<24,o=n-64|0;(t|0)<=(o|0);)r[t>>2]=h,r[t+4>>2]=h,r[t+8>>2]=h,r[t+12>>2]=h,r[t+16>>2]=h,r[t+20>>2]=h,r[t+24>>2]=h,r[t+28>>2]=h,r[t+32>>2]=h,r[t+36>>2]=h,r[t+40>>2]=h,r[t+44>>2]=h,r[t+48>>2]=h,r[t+52>>2]=h,r[t+56>>2]=h,r[t+60>>2]=h,t=t+64|0;for(;(t|0)<(n|0);)r[t>>2]=h,t=t+4|0}for(;(t|0)<(f|0);)u[t>>0]=e,t=t+1|0;return f-i|0}function sy(t){return t=t|0,a2[t&3]()|0}function oy(t,e){return t=t|0,e=e|0,Gi[t&15](e|0)|0}function fy(t,e,i,n,o,f,h){return t=t|0,e=e|0,i=+i,n=n|0,o=o|0,f=f|0,h=h|0,Gf[t&1](e|0,+i,n|0,o|0,f|0,h|0)|0}function Ay(t,e,i){return t=t|0,e=e|0,i=i|0,Ie[t&63](e|0,i|0)|0}function hy(t,e,i,n){return t=t|0,e=e|0,i=i|0,n=n|0,he[t&7](e|0,i|0,n|0)|0}function ly(t){t=t|0,c2[t&3]()}function uy(t,e){t=t|0,e=e|0,_0[t&255](e|0)}function ay(t,e,i){t=t|0,e=e|0,i=i|0,vr[t&15](e|0,i|0)}function cy(t,e,i,n){t=t|0,e=e|0,i=i|0,n=n|0,Oe[t&15](e|0,i|0,n|0)}function my(t,e,i,n,o){t=t|0,e=e|0,i=i|0,n=n|0,o=o|0,je[t&7](e|0,i|0,n|0,o|0)}function vy(t,e,i,n,o,f){t=t|0,e=e|0,i=i|0,n=n|0,o=o|0,f=f|0,zi[t&3](e|0,i|0,n|0,o|0,f|0)}function py(t,e,i,n,o,f,h){t=t|0,e=e|0,i=i|0,n=n|0,o=o|0,f=f|0,h=h|0,Pe[t&3](e|0,i|0,n|0,o|0,f|0,h|0)}function Xf(){return K0(0),0}function l2(t){return t=t|0,K0(1),0}function My(t,e,i,n,o,f){return t=t|0,e=+e,i=i|0,n=n|0,o=o|0,f=f|0,K0(2),0}function z0(t,e){return t=t|0,e=e|0,K0(3),0}function Tf(t,e,i){return t=t|0,e=e|0,i=i|0,K0(4),0}function Uf(){K0(5)}function J(t){t=t|0,K0(6)}function mr(t,e){t=t|0,e=e|0,K0(7)}function Sr(t,e,i){t=t|0,e=e|0,i=i|0,K0(8)}function u2(t,e,i,n){t=t|0,e=e|0,i=i|0,n=n|0,K0(9)}function yy(t,e,i,n,o){t=t|0,e=e|0,i=i|0,n=n|0,o=o|0,K0(10)}function dy(t,e,i,n,o,f){t=t|0,e=e|0,i=i|0,n=n|0,o=o|0,f=f|0,K0(11)}var a2=[Xf,s5,P5,Xf],Gi=[l2,qp,Xu,Bu,Pp,Hp,ZM,BM,YM,Q8,S1,U5,f5,H5,l2,l2],Gf=[My,up],Ie=[z0,q1,iu,Eu,Ea,oc,ac,Mc,yc,gc,Gc,Cc,bc,n4,l4,p4,E4,P4,q4,tm,Am,cm,dm,wm,Xm,Om,Qm,bm,s3,u3,x3,V3,E3,P3,t8,o8,p8,_8,T8,S8,H8,F5,z0,z0,z0,z0,z0,z0,z0,z0,z0,z0,z0,z0,z0,z0,z0,z0,z0,z0,z0,z0,z0,z0],he=[Tf,Rp,Tp,rM,iM,CM,JM,Tf],c2=[Uf,bp,Vp,Uf],_0=[J,C0,Q1,L1,$1,ru,eu,nu,ht,xu,Su,Nu,Uu,Gu,ju,Pu,bu,ta,ua,aa,ca,ka,Ga,za,Ba,ic,Ys,fc,kr,Ac,lc,uc,cc,Ds,pc,vt,dc,Tc,Uc,zc,eo,Sc,$c,Kc,t4,oo,i4,A4,h4,u4,lo,v4,G4,z4,B4,ko,Y4,Q4,L4,$4,Vo,rm,om,fm,hm,Wo,mm,Mm,ym,gm,Uo,_m,Wm,Nm,Tm,Jm,Im,jm,Hm,Dm,Lm,zo,t3,i3,n3,o3,Eo,l3,g3,R3,w3,So,k3,G3,z3,B3,Co,j3,K3,b3,r8,Jo,s8,m8,v8,M8,Io,w8,N8,X8,U8,Oo,B8,P8,Y8,D8,fe,Wp,Np,Xp,Ep,Op,jp,Wi,Yp,Lp,$p,Kp,tM,eM,oM,xf,_M,zM,EM,PM,Ff,LM,$8,E5,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J],vr=[mr,Tu,zu,B1,J1,I1,O1,j1,ap,mr,mr,mr,mr,mr,mr,mr],Oe=[Sr,SM,IM,HM,DM,E1,C1,g5,nv,lv,Sr,Sr,Sr,Sr,Sr,Sr],je=[u2,zp,Cp,hM,m5,b5,u2,u2],zi=[yy,Gp,Sp,AM],Pe=[dy,Up,Bp,fM];return{__ZSt18uncaught_exceptionv:xM,___cxa_can_catch:dM,___cxa_is_pointer_type:gM,___embind_register_native_and_builtin_types:Qo,___errno_location:Ot,___getTypeName:ep,___muldi3:A2,___udivdi3:h2,_bitshift64Lshr:Ui,_bitshift64Shl:Vf,_emscripten_get_sbrk_ptr:Wf,_free:f2,_i64Add:yt,_i64Subtract:Ae,_llvm_bswap_i32:Nf,_malloc:Ti,_memcpy:lt,_memmove:dt,_memset:Br,dynCall_i:sy,dynCall_ii:oy,dynCall_iidiiii:fy,dynCall_iii:Ay,dynCall_iiii:hy,dynCall_v:ly,dynCall_vi:uy,dynCall_vii:ay,dynCall_viii:cy,dynCall_viiii:my,dynCall_viiiii:vy,dynCall_viiiiii:py,globalCtors:U1,stackAlloc:ty,stackRestore:ry,stackSave:ey}}(p1,M1,dr),_e=s.__ZSt18uncaught_exceptionv=c0.__ZSt18uncaught_exceptionv,cR=s.___cxa_can_catch=c0.___cxa_can_catch,mR=s.___cxa_is_pointer_type=c0.___cxa_is_pointer_type,vR=s.___embind_register_native_and_builtin_types=c0.___embind_register_native_and_builtin_types,pR=s.___errno_location=c0.___errno_location,y1=s.___getTypeName=c0.___getTypeName,MR=s.___muldi3=c0.___muldi3,yR=s.___udivdi3=c0.___udivdi3,dR=s._bitshift64Lshr=c0._bitshift64Lshr,gR=s._bitshift64Shl=c0._bitshift64Shl,RR=s._emscripten_get_sbrk_ptr=c0._emscripten_get_sbrk_ptr,ur=s._free=c0._free,xR=s._i64Add=c0._i64Add,wR=s._i64Subtract=c0._i64Subtract,_R=s._llvm_bswap_i32=c0._llvm_bswap_i32,_n=s._malloc=c0._malloc,ZR=s._memcpy=c0._memcpy,FR=s._memmove=c0._memmove,kR=s._memset=c0._memset,d1=s.globalCtors=c0.globalCtors,as=s.stackAlloc=c0.stackAlloc,g1=s.stackRestore=c0.stackRestore,R1=s.stackSave=c0.stackSave,VR=s.dynCall_i=c0.dynCall_i,WR=s.dynCall_ii=c0.dynCall_ii,NR=s.dynCall_iidiiii=c0.dynCall_iidiiii,XR=s.dynCall_iii=c0.dynCall_iii,TR=s.dynCall_iiii=c0.dynCall_iiii,UR=s.dynCall_v=c0.dynCall_v,GR=s.dynCall_vi=c0.dynCall_vi,zR=s.dynCall_vii=c0.dynCall_vii,ER=s.dynCall_viii=c0.dynCall_viii,BR=s.dynCall_viiii=c0.dynCall_viiii,SR=s.dynCall_viiiii=c0.dynCall_viiiii,CR=s.dynCall_viiiiii=c0.dynCall_viiiiii;if(s.asm=c0,Tt)if($2(Tt)||(Tt=N(Tt)),F||W){var x1=j(Tt);$0.set(x1,C2)}else{il("memory initializer");var Zn=function(y){y.byteLength&&(y=new Uint8Array(y)),$0.set(y,C2),s.memoryInitializerRequest&&delete s.memoryInitializerRequest.response,nl("memory initializer")},cs=function(){H(Tt,Zn,function(){var y=new Error("could not load memory initializer "+Tt);throw y})},ms=lr(Tt);if(ms)Zn(ms.buffer);else if(s.memoryInitializerRequest){var vs=function(){var y=s.memoryInitializerRequest,d=y.response;if(y.status!==200&&y.status!==0){var k=lr(s.memoryInitializerRequestURL);if(k)d=k.buffer;else{console.warn("a problem seems to have happened with Module.memoryInitializerRequest, status: "+y.status+", retrying "+Tt),cs();return}}Zn(d)};s.memoryInitializerRequest.response?setTimeout(vs,0):s.memoryInitializerRequest.addEventListener("load",vs)}else cs()}var Ai;function w1(y){this.name="ExitStatus",this.message="Program terminated with exit("+y+")",this.status=y}ye=function y(){Ai||Fn(),Ai||(ye=y)};function Fn(y){if(y=y||v,Rr>0||(Dh(),Rr>0))return;function d(){Ai||(Ai=!0,s.calledRun=!0,!I2&&(Qh(),Lh(),s.onRuntimeInitialized&&s.onRuntimeInitialized(),qh()))}s.setStatus?(s.setStatus("Running..."),setTimeout(function(){setTimeout(function(){s.setStatus("")},1),d()},1)):d()}if(s.run=Fn,s.preInit)for(typeof s.preInit=="function"&&(s.preInit=[s.preInit]);s.preInit.length>0;)s.preInit.pop()();return J2=!0,Fn(),s}var Kt=null,$f={0:s=>({position:[s.getInt32(0,!0),s.getInt32(4,!0),s.getInt32(8,!0)],intensity:s.getUint16(12,!0),classification:s.getUint8(15)}),1:s=>({position:[s.getInt32(0,!0),s.getInt32(4,!0),s.getInt32(8,!0)],intensity:s.getUint16(12,!0),classification:s.getUint8(15)}),2:s=>({position:[s.getInt32(0,!0),s.getInt32(4,!0),s.getInt32(8,!0)],intensity:s.getUint16(12,!0),classification:s.getUint8(15),color:[s.getUint16(20,!0),s.getUint16(22,!0),s.getUint16(24,!0)]}),3:s=>({position:[s.getInt32(0,!0),s.getInt32(4,!0),s.getInt32(8,!0)],intensity:s.getUint16(12,!0),classification:s.getUint8(15),color:[s.getUint16(28,!0),s.getUint16(30,!0),s.getUint16(32,!0)]})};function pr(s,A={},a,v){v=v===void 0||v===0?1:v;let p=s.slice(a,a+A.BYTES_PER_ELEMENT*v),g=new A(p);if(v===1)return g[0];let R=[];for(let x=0;x<v;x++)R.push(g[x]);return R}function Kf(s){let A=131,a={pointsOffset:pr(s,Uint32Array,32*3),pointsFormatId:pr(s,Uint8Array,32*3+8),pointsStructSize:pr(s,Uint16Array,32*3+8+1),pointsCount:pr(s,Uint32Array,32*3+11),scale:pr(s,Float64Array,A,3)};A+=24,a.offset=pr(s,Float64Array,A,3),A+=24;let v=pr(s,Float64Array,A,6);return A+=48,a.maxs=[v[0],v[2],v[4]],a.mins=[v[1],v[3],v[5]],a}var x2=class{arraybuffer;readOffset=0;header={pointsOffset:0,pointsFormatId:0,pointsStructSize:0,pointsCount:0,scale:[0,0,0],offset:[0,0,0],maxs:[0],mins:[0],totalToRead:0,totalRead:0,versionAsString:"",isCompressed:!0,hasColor:!1};constructor(A){this.arraybuffer=A}open(){return!0}getHeader(){return this.header=Kf(this.arraybuffer),this.header}readData(A,a){let{header:v,arraybuffer:p}=this;if(!v)throw new Error("Cannot start reading data till a header request is issued");let{readOffset:g}=this,R;if(a<=1){A=Math.min(A,v.pointsCount-g),R=v.pointsOffset+g*v.pointsStructSize;let N=R+A*v.pointsStructSize;return g+=A,this.readOffset=g,{buffer:p.slice(R,N),count:A,hasMoreData:g<v.pointsCount}}let x=Math.min(A*a,v.pointsCount-g),F=Math.ceil(x/a),W=0,X=new Uint8Array(F*v.pointsStructSize);for(let N=0;N<x;N++){if(N%a===0){R=v.pointsOffset+g*v.pointsStructSize;let S=new Uint8Array(p,R,v.pointsStructSize);X.set(S,W*v.pointsStructSize),W++}g++}return this.readOffset=g,{buffer:X.buffer,count:W,hasMoreData:g<v.pointsCount}}close(){return this.arraybuffer=null,!0}},w2=class{arraybuffer;instance=null;header=null;constructor(A){this.arraybuffer=A,Kt||(Kt=R2())}open(){try{let{arraybuffer:A}=this;this.instance=new Kt.LASZip;let a=new Uint8Array(A),v=Kt._malloc(A.byteLength);return this.instance.arraybuffer=A,this.instance.buf=v,Kt.HEAPU8.set(a,v),this.instance.open(v,A.byteLength),this.instance.readOffset=0,!0}catch(A){throw new Error(`Failed to open file: ${A.message}`)}}getHeader(){if(!this.instance)throw new Error("You need to open the file before trying to read header");try{let A=Kf(this.instance.arraybuffer);return A.pointsFormatId&=63,this.header=A,A}catch(A){throw new Error(`Failed to get header: ${A.message}`)}}readData(A,a,v){if(!this.instance)throw new Error("You need to open the file before trying to read stuff");let{header:p,instance:g}=this;if(!p)throw new Error("You need to query header before reading, I maintain state that way, sorry :(");try{let R=Math.min(A*v,p.pointsCount-g.readOffset),x=Math.ceil(R/v),F=0,W=new Uint8Array(x*p.pointsStructSize),X=Kt._malloc(p.pointsStructSize);for(let N=0;N<R;N++){if(g.getPoint(X),N%v===0){let S=new Uint8Array(Kt.HEAPU8.buffer,X,p.pointsStructSize);W.set(S,F*p.pointsStructSize),F++}g.readOffset++}return Kt._free(X),{buffer:W.buffer,count:F,hasMoreData:g.readOffset<p.pointsCount}}catch(R){throw new Error(`Failed to read data: ${R.message}`)}}close(){try{return this.instance!==null&&(Kt._free(this.instance.buf),this.instance.delete(),this.instance=null),!0}catch(A){throw new Error(`Failed to close file: ${A.message}`)}}},_2=class{arrayb;decoder;pointsCount;pointSize;scale;offset;mins;maxs;constructor(A,a,v){this.arrayb=A,this.decoder=$f[v.pointsFormatId],this.pointsCount=a,this.pointSize=v.pointsStructSize,this.scale=v.scale,this.offset=v.offset,this.mins=v.mins,this.maxs=v.maxs}getPoint(A){if(A<0||A>=this.pointsCount)throw new Error("Point index out of range");let a=new DataView(this.arrayb,A*this.pointSize,this.pointSize);return this.decoder(a)}},Ji=class{arraybuffer;formatId=0;loader;isCompressed=!0;isOpen=!1;version=0;versionAsString="";constructor(A){if(this.arraybuffer=A,this.determineVersion()>13)throw new Error("Only file versions <= 1.3 are supported at this time");if(this.determineFormat(),$f[this.formatId]===void 0)throw new Error("The point format ID is not supported");this.loader=this.isCompressed?new w2(this.arraybuffer):new x2(this.arraybuffer)}determineFormat(){let A=pr(this.arraybuffer,Uint8Array,104),a=(A&128)>>7,v=(A&64)>>6;if(a===1&&v===1)throw new Error("Old style compression not supported");this.formatId=A&63,this.isCompressed=a===1||v===1}determineVersion(){let A=new Int8Array(this.arraybuffer,24,2);return this.version=A[0]*10+A[1],this.versionAsString=`${A[0]}.${A[1]}`,this.version}open(){this.loader.open()&&(this.isOpen=!0)}getHeader(){return this.loader.getHeader()}readData(A,a,v){return this.loader.readData(A,a,v)}close(){this.loader.close()&&(this.isOpen=!1)}getUnpacker(){return _2}};function Z2(s,A){return Sy(s,A)}function Sy(s,A={}){let a=0,v,p,g,R,x,F={loader:"las",loaderData:{},schema:{fields:[],metadata:{}},header:{vertexCount:0,boundingBox:[[0,0,0],[0,0,0]]},attributes:{},topology:"point-list",mode:0};return Cy(s,A.las?.skip,(W={},X)=>{if(!x){x=X;let p0=X.totalToRead,l0=A.las?.fp64?Float64Array:Float32Array;v=new l0(p0*3),p=X.hasColor?new Uint8Array(p0*4):null,g=new Uint16Array(p0),R=new Uint8Array(p0),F.loaderData=X,F.attributes={POSITION:{value:v,size:3},intensity:{value:g,size:1},classification:{value:R,size:1}},p&&(F.attributes.COLOR_0={value:p,size:4})}let N=W.pointsCount,{scale:[S,H,j],offset:[q,K,r0]}=X,o0=Jy(W,N,A.las?.colorDepth);for(let p0=0;p0<N;p0++){let{position:l0,color:A0,intensity:U0,classification:W0}=W.getPoint(p0);v[a*3]=l0[0]*S+q,v[a*3+1]=l0[1]*H+K,v[a*3+2]=l0[2]*j+r0,A0&&p&&(o0?(p[a*4]=A0[0]/256,p[a*4+1]=A0[1]/256,p[a*4+2]=A0[2]/256):(p[a*4]=A0[0],p[a*4+1]=A0[1],p[a*4+2]=A0[2]),p[a*4+3]=255),g[a]=U0,R[a]=W0,a++}let u0={...F,header:{vertexCount:X.totalRead},progress:X.totalRead/X.totalToRead};A?.onProgress?.(u0)}),F.header={vertexCount:x.totalToRead,boundingBox:y2(F?.attributes||{})},F&&(F.schema=Lf(F.loaderData,F.attributes)),F}function Cy(s,A,a={}){let v=new Ji(s);try{v.open();let p=v.getHeader(),g=v.getUnpacker(),R=Math.ceil(p.pointsCount/Math.max(1,A));p.totalToRead=R;let x=0;for(;;){let F=v.readData(1e5,A);x+=F.count,p.totalRead=x;let W=new g(F.buffer,F.count,p);if(a(W,p),!F.hasMoreData||x>=R)break}}catch(p){throw p}finally{v.close()}}function Jy(s={},A,a){let v=!1;switch(a){case 8:v=!1;break;case 16:v=!0;break;case"auto":if(s.getPoint(0).color)for(let p=0;p<A;p++){let{color:g}=s.getPoint(p);(g[0]>255||g[1]>255||g[2]>255)&&(v=!0)}break;default:console.warn("las: illegal value for options.las.colorDepth");break}return v}var F2={...Yf,parse:async(s,A)=>Z2(s,A),parseSync:(s,A)=>Z2(s,A)};function bf(s){let A=s.split(".").map(Number);return{major:A[0],minor:A[1]}}function tA(s){s("EPSG:4326","+title=WGS 84 (long/lat) +proj=longlat +ellps=WGS84 +datum=WGS84 +units=degrees"),s("EPSG:4269","+title=NAD83 (long/lat) +proj=longlat +a=6378137.0 +b=6356752.31414036 +ellps=GRS80 +datum=NAD83 +units=degrees"),s("EPSG:3857","+title=WGS 84 / Pseudo-Mercator +proj=merc +a=6378137 +b=6378137 +lat_ts=0.0 +lon_0=0.0 +x_0=0.0 +y_0=0 +k=1.0 +units=m +nadgrids=@null +no_defs"),s.WGS84=s["EPSG:4326"],s["EPSG:3785"]=s["EPSG:3857"],s.GOOGLE=s["EPSG:3857"],s["EPSG:900913"]=s["EPSG:3857"],s["EPSG:102113"]=s["EPSG:3857"]}var kt=1,Vt=2,rA=4,De=5,Jr=484813681109536e-20,O=Math.PI/2,eA=.16666666666666666,iA=.04722222222222222,nA=.022156084656084655,Q=1e-10,I0=.017453292519943295,Wt=57.29577951308232,M0=Math.PI/4,Qe=Math.PI*2,E0=3.14159265359;var b0={};b0.greenwich=0;b0.lisbon=-9.131906111111;b0.paris=2.337229166667;b0.bogota=-74.080916666667;b0.madrid=-3.687938888889;b0.rome=12.452333333333;b0.bern=7.439583333333;b0.jakarta=106.807719444444;b0.ferro=-17.666666666667;b0.brussels=4.367975;b0.stockholm=18.058277777778;b0.athens=23.7163375;b0.oslo=10.722916666667;var sA={ft:{to_meter:.3048},"us-ft":{to_meter:1200/3937}};var oA=/[\s_\-\/\(\)]/g;function ut(s,A){if(s[A])return s[A];for(var a=Object.keys(s),v=A.toLowerCase().replace(oA,""),p=-1,g,R;++p<a.length;)if(g=a[p],R=g.toLowerCase().replace(oA,""),R===v)return s[g]}function Le(s){var A={},a=s.split("+").map(function(x){return x.trim()}).filter(function(x){return x}).reduce(function(x,F){var W=F.split("=");return W.push(!0),x[W[0].toLowerCase()]=W[1],x},{}),v,p,g,R={proj:"projName",datum:"datumCode",rf:function(x){A.rf=parseFloat(x)},lat_0:function(x){A.lat0=x*I0},lat_1:function(x){A.lat1=x*I0},lat_2:function(x){A.lat2=x*I0},lat_ts:function(x){A.lat_ts=x*I0},lon_0:function(x){A.long0=x*I0},lon_1:function(x){A.long1=x*I0},lon_2:function(x){A.long2=x*I0},alpha:function(x){A.alpha=parseFloat(x)*I0},lonc:function(x){A.longc=x*I0},x_0:function(x){A.x0=parseFloat(x)},y_0:function(x){A.y0=parseFloat(x)},k_0:function(x){A.k0=parseFloat(x)},k:function(x){A.k0=parseFloat(x)},a:function(x){A.a=parseFloat(x)},b:function(x){A.b=parseFloat(x)},r_a:function(){A.R_A=!0},zone:function(x){A.zone=parseInt(x,10)},south:function(){A.utmSouth=!0},towgs84:function(x){A.datum_params=x.split(",").map(function(F){return parseFloat(F)})},to_meter:function(x){A.to_meter=parseFloat(x)},units:function(x){A.units=x;var F=ut(sA,x);F&&(A.to_meter=F.to_meter)},from_greenwich:function(x){A.from_greenwich=x*I0},pm:function(x){var F=ut(b0,x);A.from_greenwich=(F||parseFloat(x))*I0},nadgrids:function(x){x==="@null"?A.datumCode="none":A.nadgrids=x},axis:function(x){var F="ewnsud";x.length===3&&F.indexOf(x.substr(0,1))!==-1&&F.indexOf(x.substr(1,1))!==-1&&F.indexOf(x.substr(2,1))!==-1&&(A.axis=x)}};for(v in a)p=a[v],v in R?(g=R[v],typeof g=="function"?g(p):A[g]=p):A[v]=p;return typeof A.datumCode=="string"&&A.datumCode!=="WGS84"&&(A.datumCode=A.datumCode.toLowerCase()),A}var fA=Py,qe=1,AA=2,hA=3,Ii=4,lA=5,k2=-1,Iy=/\s/,Oy=/[A-Za-z]/,jy=/[A-Za-z84_]/,Oi=/[,\]]/,uA=/[\d\.E\-\+]/;function bt(s){if(typeof s!="string")throw new Error("not a string");this.text=s.trim(),this.level=0,this.place=0,this.root=null,this.stack=[],this.currentObject=null,this.state=qe}bt.prototype.readCharicter=function(){var s=this.text[this.place++];if(this.state!==Ii)for(;Iy.test(s);){if(this.place>=this.text.length)return;s=this.text[this.place++]}switch(this.state){case qe:return this.neutral(s);case AA:return this.keyword(s);case Ii:return this.quoted(s);case lA:return this.afterquote(s);case hA:return this.number(s);case k2:return}};bt.prototype.afterquote=function(s){if(s==='"'){this.word+='"',this.state=Ii;return}if(Oi.test(s)){this.word=this.word.trim(),this.afterItem(s);return}throw new Error(`havn't handled "`+s+'" in afterquote yet, index '+this.place)};bt.prototype.afterItem=function(s){if(s===","){this.word!==null&&this.currentObject.push(this.word),this.word=null,this.state=qe;return}if(s==="]"){this.level--,this.word!==null&&(this.currentObject.push(this.word),this.word=null),this.state=qe,this.currentObject=this.stack.pop(),this.currentObject||(this.state=k2);return}};bt.prototype.number=function(s){if(uA.test(s)){this.word+=s;return}if(Oi.test(s)){this.word=parseFloat(this.word),this.afterItem(s);return}throw new Error(`havn't handled "`+s+'" in number yet, index '+this.place)};bt.prototype.quoted=function(s){if(s==='"'){this.state=lA;return}this.word+=s};bt.prototype.keyword=function(s){if(jy.test(s)){this.word+=s;return}if(s==="["){var A=[];A.push(this.word),this.level++,this.root===null?this.root=A:this.currentObject.push(A),this.stack.push(this.currentObject),this.currentObject=A,this.state=qe;return}if(Oi.test(s)){this.afterItem(s);return}throw new Error(`havn't handled "`+s+'" in keyword yet, index '+this.place)};bt.prototype.neutral=function(s){if(Oy.test(s)){this.word=s,this.state=AA;return}if(s==='"'){this.word="",this.state=Ii;return}if(uA.test(s)){this.word=s,this.state=hA;return}if(Oi.test(s)){this.afterItem(s);return}throw new Error(`havn't handled "`+s+'" in neutral yet, index '+this.place)};bt.prototype.output=function(){for(;this.place<this.text.length;)this.readCharicter();if(this.state===k2)return this.root;throw new Error('unable to parse string "'+this.text+'". State is '+this.state)};function Py(s){var A=new bt(s);return A.output()}function aA(s,A,a){Array.isArray(A)&&(a.unshift(A),A=null);var v=A?{}:s,p=a.reduce(function(g,R){return Ir(R,g),g},v);A&&(s[A]=p)}function Ir(s,A){if(!Array.isArray(s)){A[s]=!0;return}var a=s.shift();if(a==="PARAMETER"&&(a=s.shift()),s.length===1){if(Array.isArray(s[0])){A[a]={},Ir(s[0],A[a]);return}A[a]=s[0];return}if(!s.length){A[a]=!0;return}if(a==="TOWGS84"){A[a]=s;return}if(a==="AXIS"){a in A||(A[a]=[]),A[a].push(s);return}Array.isArray(a)||(A[a]={});var v;switch(a){case"UNIT":case"PRIMEM":case"VERT_DATUM":A[a]={name:s[0].toLowerCase(),convert:s[1]},s.length===3&&Ir(s[2],A[a]);return;case"SPHEROID":case"ELLIPSOID":A[a]={name:s[0],a:s[1],rf:s[2]},s.length===4&&Ir(s[3],A[a]);return;case"PROJECTEDCRS":case"PROJCRS":case"GEOGCS":case"GEOCCS":case"PROJCS":case"LOCAL_CS":case"GEODCRS":case"GEODETICCRS":case"GEODETICDATUM":case"EDATUM":case"ENGINEERINGDATUM":case"VERT_CS":case"VERTCRS":case"VERTICALCRS":case"COMPD_CS":case"COMPOUNDCRS":case"ENGINEERINGCRS":case"ENGCRS":case"FITTED_CS":case"LOCAL_DATUM":case"DATUM":s[0]=["name",s[0]],aA(A,a,s);return;default:for(v=-1;++v<s.length;)if(!Array.isArray(s[v]))return Ir(s,A[a]);return aA(A,a,s)}}var Yy=.017453292519943295;function Hy(s,A){var a=A[0],v=A[1];!(a in s)&&v in s&&(s[a]=s[v],A.length===3&&(s[a]=A[2](s[a])))}function jt(s){return s*Yy}function Dy(s){if(s.type==="GEOGCS"?s.projName="longlat":s.type==="LOCAL_CS"?(s.projName="identity",s.local=!0):typeof s.PROJECTION=="object"?s.projName=Object.keys(s.PROJECTION)[0]:s.projName=s.PROJECTION,s.AXIS){for(var A="",a=0,v=s.AXIS.length;a<v;++a){var p=[s.AXIS[a][0].toLowerCase(),s.AXIS[a][1].toLowerCase()];p[0].indexOf("north")!==-1||(p[0]==="y"||p[0]==="lat")&&p[1]==="north"?A+="n":p[0].indexOf("south")!==-1||(p[0]==="y"||p[0]==="lat")&&p[1]==="south"?A+="s":p[0].indexOf("east")!==-1||(p[0]==="x"||p[0]==="lon")&&p[1]==="east"?A+="e":(p[0].indexOf("west")!==-1||(p[0]==="x"||p[0]==="lon")&&p[1]==="west")&&(A+="w")}A.length===2&&(A+="u"),A.length===3&&(s.axis=A)}s.UNIT&&(s.units=s.UNIT.name.toLowerCase(),s.units==="metre"&&(s.units="meter"),s.UNIT.convert&&(s.type==="GEOGCS"?s.DATUM&&s.DATUM.SPHEROID&&(s.to_meter=s.UNIT.convert*s.DATUM.SPHEROID.a):s.to_meter=s.UNIT.convert));var g=s.GEOGCS;s.type==="GEOGCS"&&(g=s),g&&(g.DATUM?s.datumCode=g.DATUM.name.toLowerCase():s.datumCode=g.name.toLowerCase(),s.datumCode.slice(0,2)==="d_"&&(s.datumCode=s.datumCode.slice(2)),(s.datumCode==="new_zealand_geodetic_datum_1949"||s.datumCode==="new_zealand_1949")&&(s.datumCode="nzgd49"),(s.datumCode==="wgs_1984"||s.datumCode==="world_geodetic_system_1984")&&(s.PROJECTION==="Mercator_Auxiliary_Sphere"&&(s.sphere=!0),s.datumCode="wgs84"),s.datumCode.slice(-6)==="_ferro"&&(s.datumCode=s.datumCode.slice(0,-6)),s.datumCode.slice(-8)==="_jakarta"&&(s.datumCode=s.datumCode.slice(0,-8)),~s.datumCode.indexOf("belge")&&(s.datumCode="rnb72"),g.DATUM&&g.DATUM.SPHEROID&&(s.ellps=g.DATUM.SPHEROID.name.replace("_19","").replace(/[Cc]larke\_18/,"clrk"),s.ellps.toLowerCase().slice(0,13)==="international"&&(s.ellps="intl"),s.a=g.DATUM.SPHEROID.a,s.rf=parseFloat(g.DATUM.SPHEROID.rf,10)),g.DATUM&&g.DATUM.TOWGS84&&(s.datum_params=g.DATUM.TOWGS84),~s.datumCode.indexOf("osgb_1936")&&(s.datumCode="osgb36"),~s.datumCode.indexOf("osni_1952")&&(s.datumCode="osni52"),(~s.datumCode.indexOf("tm65")||~s.datumCode.indexOf("geodetic_datum_of_1965"))&&(s.datumCode="ire65"),s.datumCode==="ch1903+"&&(s.datumCode="ch1903"),~s.datumCode.indexOf("israel")&&(s.datumCode="isr93")),s.b&&!isFinite(s.b)&&(s.b=s.a);function R(W){var X=s.to_meter||1;return W*X}var x=function(W){return Hy(s,W)},F=[["standard_parallel_1","Standard_Parallel_1"],["standard_parallel_1","Latitude of 1st standard parallel"],["standard_parallel_2","Standard_Parallel_2"],["standard_parallel_2","Latitude of 2nd standard parallel"],["false_easting","False_Easting"],["false_easting","False easting"],["false-easting","Easting at false origin"],["false_northing","False_Northing"],["false_northing","False northing"],["false_northing","Northing at false origin"],["central_meridian","Central_Meridian"],["central_meridian","Longitude of natural origin"],["central_meridian","Longitude of false origin"],["latitude_of_origin","Latitude_Of_Origin"],["latitude_of_origin","Central_Parallel"],["latitude_of_origin","Latitude of natural origin"],["latitude_of_origin","Latitude of false origin"],["scale_factor","Scale_Factor"],["k0","scale_factor"],["latitude_of_center","Latitude_Of_Center"],["latitude_of_center","Latitude_of_center"],["lat0","latitude_of_center",jt],["longitude_of_center","Longitude_Of_Center"],["longitude_of_center","Longitude_of_center"],["longc","longitude_of_center",jt],["x0","false_easting",R],["y0","false_northing",R],["long0","central_meridian",jt],["lat0","latitude_of_origin",jt],["lat0","standard_parallel_1",jt],["lat1","standard_parallel_1",jt],["lat2","standard_parallel_2",jt],["azimuth","Azimuth"],["alpha","azimuth",jt],["srsCode","name"]];F.forEach(x),!s.long0&&s.longc&&(s.projName==="Albers_Conic_Equal_Area"||s.projName==="Lambert_Azimuthal_Equal_Area")&&(s.long0=s.longc),!s.lat_ts&&s.lat1&&(s.projName==="Stereographic_South_Pole"||s.projName==="Polar Stereographic (variant B)")?(s.lat0=jt(s.lat1>0?90:-90),s.lat_ts=s.lat1):!s.lat_ts&&s.lat0&&s.projName==="Polar_Stereographic"&&(s.lat_ts=s.lat0,s.lat0=jt(s.lat0>0?90:-90))}function ji(s){var A=fA(s),a=A.shift(),v=A.shift();A.unshift(["name",v]),A.unshift(["type",a]);var p={};return Ir(A,p),Dy(p),p}function Rt(s){var A=this;if(arguments.length===2){var a=arguments[1];typeof a=="string"?a.charAt(0)==="+"?Rt[s]=Le(arguments[1]):Rt[s]=ji(arguments[1]):Rt[s]=a}else if(arguments.length===1){if(Array.isArray(s))return s.map(function(v){Array.isArray(v)?Rt.apply(A,v):Rt(v)});if(typeof s=="string"){if(s in Rt)return Rt[s]}else"EPSG"in s?Rt["EPSG:"+s.EPSG]=s:"ESRI"in s?Rt["ESRI:"+s.ESRI]=s:"IAU2000"in s?Rt["IAU2000:"+s.IAU2000]=s:console.log(s);return}}tA(Rt);var ue=Rt;function Qy(s){return typeof s=="string"}function Ly(s){return s in ue}var qy=["PROJECTEDCRS","PROJCRS","GEOGCS","GEOCCS","PROJCS","LOCAL_CS","GEODCRS","GEODETICCRS","GEODETICDATUM","ENGCRS","ENGINEERINGCRS"];function $y(s){return qy.some(function(A){return s.indexOf(A)>-1})}var Ky=["3857","900913","3785","102113"];function by(s){var A=ut(s,"authority");if(A){var a=ut(A,"epsg");return a&&Ky.indexOf(a)>-1}}function td(s){var A=ut(s,"extension");if(A)return ut(A,"proj4")}function rd(s){return s[0]==="+"}function ed(s){if(Qy(s)){if(Ly(s))return ue[s];if($y(s)){var A=ji(s);if(by(A))return ue["EPSG:3857"];var a=td(A);return a?Le(a):A}if(rd(s))return Le(s)}else return s}var cA=ed;function V2(s,A){s=s||{};var a,v;if(!A)return s;for(v in A)a=A[v],a!==void 0&&(s[v]=a);return s}function q0(s,A,a){var v=s*A;return a/Math.sqrt(1-v*v)}function Pt(s){return s<0?-1:1}function L(s){return Math.abs(s)<=E0?s:s-Pt(s)*Qe}function tt(s,A,a){var v=s*a,p=.5*s;return v=Math.pow((1-v)/(1+v),p),Math.tan(.5*(O-A))/v}function tr(s,A){for(var a=.5*s,v,p,g=O-2*Math.atan(A),R=0;R<=15;R++)if(v=s*Math.sin(g),p=O-2*Math.atan(A*Math.pow((1-v)/(1+v),a))-g,g+=p,Math.abs(p)<=1e-10)return g;return-9999}function id(){var s=this.b/this.a;this.es=1-s*s,"x0"in this||(this.x0=0),"y0"in this||(this.y0=0),this.e=Math.sqrt(this.es),this.lat_ts?this.sphere?this.k0=Math.cos(this.lat_ts):this.k0=q0(this.e,Math.sin(this.lat_ts),Math.cos(this.lat_ts)):this.k0||(this.k?this.k0=this.k:this.k0=1)}function nd(s){var A=s.x,a=s.y;if(a*Wt>90&&a*Wt<-90&&A*Wt>180&&A*Wt<-180)return null;var v,p;if(Math.abs(Math.abs(a)-O)<=Q)return null;if(this.sphere)v=this.x0+this.a*this.k0*L(A-this.long0),p=this.y0+this.a*this.k0*Math.log(Math.tan(M0+.5*a));else{var g=Math.sin(a),R=tt(this.e,a,g);v=this.x0+this.a*this.k0*L(A-this.long0),p=this.y0-this.a*this.k0*Math.log(R)}return s.x=v,s.y=p,s}function sd(s){var A=s.x-this.x0,a=s.y-this.y0,v,p;if(this.sphere)p=O-2*Math.atan(Math.exp(-a/(this.a*this.k0)));else{var g=Math.exp(-a/(this.a*this.k0));if(p=tr(this.e,g),p===-9999)return null}return v=L(this.long0+A/(this.a*this.k0)),s.x=v,s.y=p,s}var od=["Mercator","Popular Visualisation Pseudo Mercator","Mercator_1SP","Mercator_Auxiliary_Sphere","merc"],mA={init:id,forward:nd,inverse:sd,names:od};function fd(){}function vA(s){return s}var Ad=["longlat","identity"],pA={init:fd,forward:vA,inverse:vA,names:Ad};var hd=[mA,pA],Pi={},Yi=[];function MA(s,A){var a=Yi.length;return s.names?(Yi[a]=s,s.names.forEach(function(v){Pi[v.toLowerCase()]=a}),this):(console.log(A),!0)}function ld(s){if(!s)return!1;var A=s.toLowerCase();if(typeof Pi[A]<"u"&&Yi[Pi[A]])return Yi[Pi[A]]}function ud(){hd.forEach(MA)}var yA={start:ud,add:MA,get:ld};var s0={};s0.MERIT={a:6378137,rf:298.257,ellipseName:"MERIT 1983"};s0.SGS85={a:6378136,rf:298.257,ellipseName:"Soviet Geodetic System 85"};s0.GRS80={a:6378137,rf:298.257222101,ellipseName:"GRS 1980(IUGG, 1980)"};s0.IAU76={a:6378140,rf:298.257,ellipseName:"IAU 1976"};s0.airy={a:6377563396e-3,b:635625691e-2,ellipseName:"Airy 1830"};s0.APL4={a:6378137,rf:298.25,ellipseName:"Appl. Physics. 1965"};s0.NWL9D={a:6378145,rf:298.25,ellipseName:"Naval Weapons Lab., 1965"};s0.mod_airy={a:6377340189e-3,b:6356034446e-3,ellipseName:"Modified Airy"};s0.andrae={a:637710443e-2,rf:300,ellipseName:"Andrae 1876 (Den., Iclnd.)"};s0.aust_SA={a:6378160,rf:298.25,ellipseName:"Australian Natl & S. Amer. 1969"};s0.GRS67={a:6378160,rf:298.247167427,ellipseName:"GRS 67(IUGG 1967)"};s0.bessel={a:6377397155e-3,rf:299.1528128,ellipseName:"Bessel 1841"};s0.bess_nam={a:6377483865e-3,rf:299.1528128,ellipseName:"Bessel 1841 (Namibia)"};s0.clrk66={a:63782064e-1,b:63565838e-1,ellipseName:"Clarke 1866"};s0.clrk80={a:6378249145e-3,rf:293.4663,ellipseName:"Clarke 1880 mod."};s0.clrk58={a:6378293645208759e-9,rf:294.2606763692654,ellipseName:"Clarke 1858"};s0.CPM={a:63757387e-1,rf:334.29,ellipseName:"Comm. des Poids et Mesures 1799"};s0.delmbr={a:6376428,rf:311.5,ellipseName:"Delambre 1810 (Belgium)"};s0.engelis={a:637813605e-2,rf:298.2566,ellipseName:"Engelis 1985"};s0.evrst30={a:6377276345e-3,rf:300.8017,ellipseName:"Everest 1830"};s0.evrst48={a:6377304063e-3,rf:300.8017,ellipseName:"Everest 1948"};s0.evrst56={a:6377301243e-3,rf:300.8017,ellipseName:"Everest 1956"};s0.evrst69={a:6377295664e-3,rf:300.8017,ellipseName:"Everest 1969"};s0.evrstSS={a:6377298556e-3,rf:300.8017,ellipseName:"Everest (Sabah & Sarawak)"};s0.fschr60={a:6378166,rf:298.3,ellipseName:"Fischer (Mercury Datum) 1960"};s0.fschr60m={a:6378155,rf:298.3,ellipseName:"Fischer 1960"};s0.fschr68={a:6378150,rf:298.3,ellipseName:"Fischer 1968"};s0.helmert={a:6378200,rf:298.3,ellipseName:"Helmert 1906"};s0.hough={a:6378270,rf:297,ellipseName:"Hough"};s0.intl={a:6378388,rf:297,ellipseName:"International 1909 (Hayford)"};s0.kaula={a:6378163,rf:298.24,ellipseName:"Kaula 1961"};s0.lerch={a:6378139,rf:298.257,ellipseName:"Lerch 1979"};s0.mprts={a:6397300,rf:191,ellipseName:"Maupertius 1738"};s0.new_intl={a:63781575e-1,b:63567722e-1,ellipseName:"New International 1967"};s0.plessis={a:6376523,rf:6355863,ellipseName:"Plessis 1817 (France)"};s0.krass={a:6378245,rf:298.3,ellipseName:"Krassovsky, 1942"};s0.SEasia={a:6378155,b:63567733205e-4,ellipseName:"Southeast Asia"};s0.walbeck={a:6376896,b:63558348467e-4,ellipseName:"Walbeck"};s0.WGS60={a:6378165,rf:298.3,ellipseName:"WGS 60"};s0.WGS66={a:6378145,rf:298.25,ellipseName:"WGS 66"};s0.WGS7={a:6378135,rf:298.26,ellipseName:"WGS 72"};var dA=s0.WGS84={a:6378137,rf:298.257223563,ellipseName:"WGS 84"};s0.sphere={a:6370997,b:6370997,ellipseName:"Normal Sphere (r=6370997)"};function gA(s,A,a,v){var p=s*s,g=A*A,R=(p-g)/p,x=0;v?(s*=1-R*(eA+R*(iA+R*nA)),p=s*s,R=0):x=Math.sqrt(R);var F=(p-g)/g;return{es:R,e:x,ep2:F}}function RA(s,A,a,v,p){if(!s){var g=ut(s0,v);g||(g=dA),s=g.a,A=g.b,a=g.rf}return a&&!A&&(A=(1-1/a)*s),(a===0||Math.abs(s-A)<Q)&&(p=!0,A=s),{a:s,b:A,rf:a,sphere:p}}var O0={};O0.wgs84={towgs84:"0,0,0",ellipse:"WGS84",datumName:"WGS84"};O0.ch1903={towgs84:"674.374,15.056,405.346",ellipse:"bessel",datumName:"swiss"};O0.ggrs87={towgs84:"-199.87,74.79,246.62",ellipse:"GRS80",datumName:"Greek_Geodetic_Reference_System_1987"};O0.nad83={towgs84:"0,0,0",ellipse:"GRS80",datumName:"North_American_Datum_1983"};O0.nad27={nadgrids:"@conus,@alaska,@ntv2_0.gsb,@ntv1_can.dat",ellipse:"clrk66",datumName:"North_American_Datum_1927"};O0.potsdam={towgs84:"606.0,23.0,413.0",ellipse:"bessel",datumName:"Potsdam Rauenberg 1950 DHDN"};O0.carthage={towgs84:"-263.0,6.0,431.0",ellipse:"clark80",datumName:"Carthage 1934 Tunisia"};O0.hermannskogel={towgs84:"653.0,-212.0,449.0",ellipse:"bessel",datumName:"Hermannskogel"};O0.osni52={towgs84:"482.530,-130.596,564.557,-1.042,-0.214,-0.631,8.15",ellipse:"airy",datumName:"Irish National"};O0.ire65={towgs84:"482.530,-130.596,564.557,-1.042,-0.214,-0.631,8.15",ellipse:"mod_airy",datumName:"Ireland 1965"};O0.rassadiran={towgs84:"-133.63,-157.5,-158.62",ellipse:"intl",datumName:"Rassadiran"};O0.nzgd49={towgs84:"59.47,-5.04,187.44,0.47,-0.1,1.024,-4.5993",ellipse:"intl",datumName:"New Zealand Geodetic Datum 1949"};O0.osgb36={towgs84:"446.448,-125.157,542.060,0.1502,0.2470,0.8421,-20.4894",ellipse:"airy",datumName:"Airy 1830"};O0.s_jtsk={towgs84:"589,76,480",ellipse:"bessel",datumName:"S-JTSK (Ferro)"};O0.beduaram={towgs84:"-106,-87,188",ellipse:"clrk80",datumName:"Beduaram"};O0.gunung_segara={towgs84:"-403,684,41",ellipse:"bessel",datumName:"Gunung Segara Jakarta"};O0.rnb72={towgs84:"106.869,-52.2978,103.724,-0.33657,0.456955,-1.84218,1",ellipse:"intl",datumName:"Reseau National Belge 1972"};function ad(s,A,a,v,p,g){var R={};return s===void 0||s==="none"?R.datum_type=De:R.datum_type=rA,A&&(R.datum_params=A.map(parseFloat),(R.datum_params[0]!==0||R.datum_params[1]!==0||R.datum_params[2]!==0)&&(R.datum_type=kt),R.datum_params.length>3&&(R.datum_params[3]!==0||R.datum_params[4]!==0||R.datum_params[5]!==0||R.datum_params[6]!==0)&&(R.datum_type=Vt,R.datum_params[3]*=Jr,R.datum_params[4]*=Jr,R.datum_params[5]*=Jr,R.datum_params[6]=R.datum_params[6]/1e6+1)),R.a=a,R.b=v,R.es=p,R.ep2=g,R}var xA=ad;function ae(s,A){if(!(this instanceof ae))return new ae(s);A=A||function(F){if(F)throw F};var a=cA(s);if(typeof a!="object"){A(s);return}var v=ae.projections.get(a.projName);if(!v){A(s);return}if(a.datumCode&&a.datumCode!=="none"){var p=ut(O0,a.datumCode);p&&(a.datum_params=p.towgs84?p.towgs84.split(","):null,a.ellps=p.ellipse,a.datumName=p.datumName?p.datumName:a.datumCode)}a.k0=a.k0||1,a.axis=a.axis||"enu",a.ellps=a.ellps||"wgs84";var g=RA(a.a,a.b,a.rf,a.ellps,a.sphere),R=gA(g.a,g.b,g.rf,a.R_A),x=a.datum||xA(a.datumCode,a.datum_params,g.a,g.b,R.es,R.ep2);V2(this,a),V2(this,v),this.a=g.a,this.b=g.b,this.rf=g.rf,this.sphere=g.sphere,this.es=R.es,this.e=R.e,this.ep2=R.ep2,this.datum=x,this.init(),A(null,this)}ae.projections=yA;ae.projections.start();var Mr=ae;function wA(s,A){return s.datum_type!==A.datum_type||s.a!==A.a||Math.abs(s.es-A.es)>5e-11?!1:s.datum_type===kt?s.datum_params[0]===A.datum_params[0]&&s.datum_params[1]===A.datum_params[1]&&s.datum_params[2]===A.datum_params[2]:s.datum_type===Vt?s.datum_params[0]===A.datum_params[0]&&s.datum_params[1]===A.datum_params[1]&&s.datum_params[2]===A.datum_params[2]&&s.datum_params[3]===A.datum_params[3]&&s.datum_params[4]===A.datum_params[4]&&s.datum_params[5]===A.datum_params[5]&&s.datum_params[6]===A.datum_params[6]:!0}function Hi(s,A,a){var v=s.x,p=s.y,g=s.z?s.z:0,R,x,F,W;if(p<-O&&p>-1.001*O)p=-O;else if(p>O&&p<1.001*O)p=O;else{if(p<-O)return{x:-1/0,y:-1/0,z:s.z};if(p>O)return{x:1/0,y:1/0,z:s.z}}return v>Math.PI&&(v-=2*Math.PI),x=Math.sin(p),W=Math.cos(p),F=x*x,R=a/Math.sqrt(1-A*F),{x:(R+g)*W*Math.cos(v),y:(R+g)*W*Math.sin(v),z:(R*(1-A)+g)*x}}function Di(s,A,a,v){var p=1e-12,g=p*p,R=30,x,F,W,X,N,S,H,j,q,K,r0,o0,u0,p0=s.x,l0=s.y,A0=s.z?s.z:0,U0,W0,wt;if(x=Math.sqrt(p0*p0+l0*l0),F=Math.sqrt(p0*p0+l0*l0+A0*A0),x/a<p){if(U0=0,F/a<p)return W0=O,wt=-v,{x:s.x,y:s.y,z:s.z}}else U0=Math.atan2(l0,p0);W=A0/F,X=x/F,N=1/Math.sqrt(1-A*(2-A)*X*X),j=X*(1-A)*N,q=W*N,u0=0;do u0++,H=a/Math.sqrt(1-A*q*q),wt=x*j+A0*q-H*(1-A*q*q),S=A*H/(H+wt),N=1/Math.sqrt(1-S*(2-S)*X*X),K=X*(1-S)*N,r0=W*N,o0=r0*j-K*q,j=K,q=r0;while(o0*o0>g&&u0<R);return W0=Math.atan(r0/Math.abs(K)),{x:U0,y:W0,z:wt}}function _A(s,A,a){if(A===kt)return{x:s.x+a[0],y:s.y+a[1],z:s.z+a[2]};if(A===Vt){var v=a[0],p=a[1],g=a[2],R=a[3],x=a[4],F=a[5],W=a[6];return{x:W*(s.x-F*s.y+x*s.z)+v,y:W*(F*s.x+s.y-R*s.z)+p,z:W*(-x*s.x+R*s.y+s.z)+g}}}function ZA(s,A,a){if(A===kt)return{x:s.x-a[0],y:s.y-a[1],z:s.z-a[2]};if(A===Vt){var v=a[0],p=a[1],g=a[2],R=a[3],x=a[4],F=a[5],W=a[6],X=(s.x-v)/W,N=(s.y-p)/W,S=(s.z-g)/W;return{x:X+F*N-x*S,y:-F*X+N+R*S,z:x*X-R*N+S}}}function Qi(s){return s===kt||s===Vt}function FA(s,A,a){return wA(s,A)||s.datum_type===De||A.datum_type===De||s.es===A.es&&s.a===A.a&&!Qi(s.datum_type)&&!Qi(A.datum_type)?a:(a=Hi(a,s.es,s.a),Qi(s.datum_type)&&(a=_A(a,s.datum_type,s.datum_params)),Qi(A.datum_type)&&(a=ZA(a,A.datum_type,A.datum_params)),Di(a,A.es,A.a,A.b))}function W2(s,A,a){var v=a.x,p=a.y,g=a.z||0,R,x,F,W={};for(F=0;F<3;F++)if(!(A&&F===2&&a.z===void 0))switch(F===0?(R=v,"ew".indexOf(s.axis[F])!==-1?x="x":x="y"):F===1?(R=p,"ns".indexOf(s.axis[F])!==-1?x="y":x="x"):(R=g,x="z"),s.axis[F]){case"e":case"w":case"n":case"s":W[x]=R;break;case"u":a[x]!==void 0&&(W.z=R);break;case"d":a[x]!==void 0&&(W.z=-R);break;default:return null}return W}function Li(s){var A={x:s[0],y:s[1]};return s.length>2&&(A.z=s[2]),s.length>3&&(A.m=s[3]),A}function VA(s){kA(s.x),kA(s.y)}function kA(s){if(typeof Number.isFinite=="function"){if(Number.isFinite(s))return;throw new TypeError("coordinates must be finite numbers")}if(typeof s!="number"||s!==s||!isFinite(s))throw new TypeError("coordinates must be finite numbers")}function cd(s,A){return(s.datum.datum_type===kt||s.datum.datum_type===Vt)&&A.datumCode!=="WGS84"||(A.datum.datum_type===kt||A.datum.datum_type===Vt)&&s.datumCode!=="WGS84"}function Or(s,A,a){var v;if(Array.isArray(a)&&(a=Li(a)),VA(a),s.datum&&A.datum&&cd(s,A)&&(v=new Mr("WGS84"),a=Or(s,v,a),s=v),s.axis!=="enu"&&(a=W2(s,!1,a)),s.projName==="longlat")a={x:a.x*I0,y:a.y*I0,z:a.z||0};else if(s.to_meter&&(a={x:a.x*s.to_meter,y:a.y*s.to_meter,z:a.z||0}),a=s.inverse(a),!a)return;return s.from_greenwich&&(a.x+=s.from_greenwich),a=FA(s.datum,A.datum,a),A.from_greenwich&&(a={x:a.x-A.from_greenwich,y:a.y,z:a.z||0}),A.projName==="longlat"?a={x:a.x*Wt,y:a.y*Wt,z:a.z||0}:(a=A.forward(a),A.to_meter&&(a={x:a.x/A.to_meter,y:a.y/A.to_meter,z:a.z||0})),A.axis!=="enu"?W2(A,!0,a):a}var WA=Mr("WGS84");function N2(s,A,a){var v,p,g;return Array.isArray(a)?(v=Or(s,A,a)||{x:NaN,y:NaN},a.length>2?typeof s.name<"u"&&s.name==="geocent"||typeof A.name<"u"&&A.name==="geocent"?typeof v.z=="number"?[v.x,v.y,v.z].concat(a.splice(3)):[v.x,v.y,a[2]].concat(a.splice(3)):[v.x,v.y].concat(a.splice(2)):[v.x,v.y]):(p=Or(s,A,a),g=Object.keys(a),g.length===2||g.forEach(function(R){if(typeof s.name<"u"&&s.name==="geocent"||typeof A.name<"u"&&A.name==="geocent"){if(R==="x"||R==="y"||R==="z")return}else if(R==="x"||R==="y")return;p[R]=a[R]}),p)}function NA(s){return s instanceof Mr?s:s.oProj?s.oProj:Mr(s)}function md(s,A,a){s=NA(s);var v=!1,p;return typeof A>"u"?(A=s,s=WA,v=!0):(typeof A.x<"u"||Array.isArray(A))&&(a=A,A=s,s=WA,v=!0),A=NA(A),a?N2(s,A,a):(p={forward:function(g){return N2(s,A,g)},inverse:function(g){return N2(A,s,g)}},v&&(p.oProj=A),p)}var at=md;var XA=6,UA="AJSAJS",GA="AFAFAF",ce=65,et=73,xt=79,$e=86,Ke=90,zA={forward:T2,inverse:vd,toPoint:U2};function T2(s,A){return A=A||5,yd(pd({lat:s[1],lon:s[0]}),A)}function vd(s){var A=G2(BA(s.toUpperCase()));return A.lat&&A.lon?[A.lon,A.lat,A.lon,A.lat]:[A.left,A.bottom,A.right,A.top]}function U2(s){var A=G2(BA(s.toUpperCase()));return A.lat&&A.lon?[A.lon,A.lat]:[(A.left+A.right)/2,(A.top+A.bottom)/2]}function X2(s){return s*(Math.PI/180)}function TA(s){return 180*(s/Math.PI)}function pd(s){var A=s.lat,a=s.lon,v=6378137,p=.00669438,g=.9996,R,x,F,W,X,N,S,H=X2(A),j=X2(a),q,K;K=Math.floor((a+180)/6)+1,a===180&&(K=60),A>=56&&A<64&&a>=3&&a<12&&(K=32),A>=72&&A<84&&(a>=0&&a<9?K=31:a>=9&&a<21?K=33:a>=21&&a<33?K=35:a>=33&&a<42&&(K=37)),R=(K-1)*6-180+3,q=X2(R),x=p/(1-p),F=v/Math.sqrt(1-p*Math.sin(H)*Math.sin(H)),W=Math.tan(H)*Math.tan(H),X=x*Math.cos(H)*Math.cos(H),N=Math.cos(H)*(j-q),S=v*((1-p/4-3*p*p/64-5*p*p*p/256)*H-(3*p/8+3*p*p/32+45*p*p*p/1024)*Math.sin(2*H)+(15*p*p/256+45*p*p*p/1024)*Math.sin(4*H)-35*p*p*p/3072*Math.sin(6*H));var r0=g*F*(N+(1-W+X)*N*N*N/6+(5-18*W+W*W+72*X-58*x)*N*N*N*N*N/120)+5e5,o0=g*(S+F*Math.tan(H)*(N*N/2+(5-W+9*X+4*X*X)*N*N*N*N/24+(61-58*W+W*W+600*X-330*x)*N*N*N*N*N*N/720));return A<0&&(o0+=1e7),{northing:Math.round(o0),easting:Math.round(r0),zoneNumber:K,zoneLetter:Md(A)}}function G2(s){var A=s.northing,a=s.easting,v=s.zoneLetter,p=s.zoneNumber;if(p<0||p>60)return null;var g=.9996,R=6378137,x=.00669438,F,W=(1-Math.sqrt(1-x))/(1+Math.sqrt(1-x)),X,N,S,H,j,q,K,r0,o0,u0=a-5e5,p0=A;v<"N"&&(p0-=1e7),K=(p-1)*6-180+3,F=x/(1-x),q=p0/g,r0=q/(R*(1-x/4-3*x*x/64-5*x*x*x/256)),o0=r0+(3*W/2-27*W*W*W/32)*Math.sin(2*r0)+(21*W*W/16-55*W*W*W*W/32)*Math.sin(4*r0)+151*W*W*W/96*Math.sin(6*r0),X=R/Math.sqrt(1-x*Math.sin(o0)*Math.sin(o0)),N=Math.tan(o0)*Math.tan(o0),S=F*Math.cos(o0)*Math.cos(o0),H=R*(1-x)/Math.pow(1-x*Math.sin(o0)*Math.sin(o0),1.5),j=u0/(X*g);var l0=o0-X*Math.tan(o0)/H*(j*j/2-(5+3*N+10*S-4*S*S-9*F)*j*j*j*j/24+(61+90*N+298*S+45*N*N-252*F-3*S*S)*j*j*j*j*j*j/720);l0=TA(l0);var A0=(j-(1+2*N+S)*j*j*j/6+(5-2*S+28*N-3*S*S+8*F+24*N*N)*j*j*j*j*j/120)/Math.cos(o0);A0=K+TA(A0);var U0;if(s.accuracy){var W0=G2({northing:s.northing+s.accuracy,easting:s.easting+s.accuracy,zoneLetter:s.zoneLetter,zoneNumber:s.zoneNumber});U0={top:W0.lat,right:W0.lon,bottom:l0,left:A0}}else U0={lat:l0,lon:A0};return U0}function Md(s){var A="Z";return 84>=s&&s>=72?A="X":72>s&&s>=64?A="W":64>s&&s>=56?A="V":56>s&&s>=48?A="U":48>s&&s>=40?A="T":40>s&&s>=32?A="S":32>s&&s>=24?A="R":24>s&&s>=16?A="Q":16>s&&s>=8?A="P":8>s&&s>=0?A="N":0>s&&s>=-8?A="M":-8>s&&s>=-16?A="L":-16>s&&s>=-24?A="K":-24>s&&s>=-32?A="J":-32>s&&s>=-40?A="H":-40>s&&s>=-48?A="G":-48>s&&s>=-56?A="F":-56>s&&s>=-64?A="E":-64>s&&s>=-72?A="D":-72>s&&s>=-80&&(A="C"),A}function yd(s,A){var a="00000"+s.easting,v="00000"+s.northing;return s.zoneNumber+s.zoneLetter+dd(s.easting,s.northing,s.zoneNumber)+a.substr(a.length-5,A)+v.substr(v.length-5,A)}function dd(s,A,a){var v=EA(a),p=Math.floor(s/1e5),g=Math.floor(A/1e5)%20;return gd(p,g,v)}function EA(s){var A=s%XA;return A===0&&(A=XA),A}function gd(s,A,a){var v=a-1,p=UA.charCodeAt(v),g=GA.charCodeAt(v),R=p+s-1,x=g+A,F=!1;R>Ke&&(R=R-Ke+ce-1,F=!0),(R===et||p<et&&R>et||(R>et||p<et)&&F)&&R++,(R===xt||p<xt&&R>xt||(R>xt||p<xt)&&F)&&(R++,R===et&&R++),R>Ke&&(R=R-Ke+ce-1),x>$e?(x=x-$e+ce-1,F=!0):F=!1,(x===et||g<et&&x>et||(x>et||g<et)&&F)&&x++,(x===xt||g<xt&&x>xt||(x>xt||g<xt)&&F)&&(x++,x===et&&x++),x>$e&&(x=x-$e+ce-1);var W=String.fromCharCode(R)+String.fromCharCode(x);return W}function BA(s){if(s&&s.length===0)throw"MGRSPoint coverting from nothing";for(var A=s.length,a=null,v="",p,g=0;!/[A-Z]/.test(p=s.charAt(g));){if(g>=2)throw"MGRSPoint bad conversion from: "+s;v+=p,g++}var R=parseInt(v,10);if(g===0||g+3>A)throw"MGRSPoint bad conversion from: "+s;var x=s.charAt(g++);if(x<="A"||x==="B"||x==="Y"||x>="Z"||x==="I"||x==="O")throw"MGRSPoint zone letter "+x+" not handled: "+s;a=s.substring(g,g+=2);for(var F=EA(R),W=Rd(a.charAt(0),F),X=xd(a.charAt(1),F);X<wd(x);)X+=2e6;var N=A-g;if(N%2!==0)throw`MGRSPoint has to have an even number
28
28
  of digits after the zone letter and two 100km letters - front
29
29
  half for easting meters, second half for
30
30
  northing meters`+s;var S=N/2,H=0,j=0,q,K,r0,o0,u0;return S>0&&(q=1e5/Math.pow(10,S),K=s.substring(g,g+S),H=parseFloat(K)*q,r0=s.substring(g+S),j=parseFloat(r0)*q),o0=H+W,u0=j+X,{easting:o0,northing:u0,zoneLetter:x,zoneNumber:R,accuracy:q}}function Rd(s,A){for(var a=UA.charCodeAt(A-1),v=1e5,p=!1;a!==s.charCodeAt(0);){if(a++,a===et&&a++,a===xt&&a++,a>Ke){if(p)throw"Bad character: "+s;a=ce,p=!0}v+=1e5}return v}function xd(s,A){if(s>"V")throw"MGRSPoint given invalid Northing "+s;for(var a=GA.charCodeAt(A-1),v=0,p=!1;a!==s.charCodeAt(0);){if(a++,a===et&&a++,a===xt&&a++,a>$e){if(p)throw"Bad character: "+s;a=ce,p=!0}v+=1e5}return v}function wd(s){var A;switch(s){case"C":A=11e5;break;case"D":A=2e6;break;case"E":A=28e5;break;case"F":A=37e5;break;case"G":A=46e5;break;case"H":A=55e5;break;case"J":A=64e5;break;case"K":A=73e5;break;case"L":A=82e5;break;case"M":A=91e5;break;case"N":A=0;break;case"P":A=8e5;break;case"Q":A=17e5;break;case"R":A=26e5;break;case"S":A=35e5;break;case"T":A=44e5;break;case"U":A=53e5;break;case"V":A=62e5;break;case"W":A=7e6;break;case"X":A=79e5;break;default:A=-1}if(A>=0)return A;throw"Invalid zone letter: "+s}function me(s,A,a){if(!(this instanceof me))return new me(s,A,a);if(Array.isArray(s))this.x=s[0],this.y=s[1],this.z=s[2]||0;else if(typeof s=="object")this.x=s.x,this.y=s.y,this.z=s.z||0;else if(typeof s=="string"&&typeof A>"u"){var v=s.split(",");this.x=parseFloat(v[0],10),this.y=parseFloat(v[1],10),this.z=parseFloat(v[2],10)||0}else this.x=s,this.y=A,this.z=a||0;console.warn("proj4.Point will be removed in version 3, use proj4.toPoint")}me.fromMGRS=function(s){return new me(U2(s))};me.prototype.toMGRS=function(s){return T2([this.x,this.y],s)};var SA=me;var _d=1,Zd=.25,CA=.046875,JA=.01953125,IA=.01068115234375,Fd=.75,kd=.46875,Vd=.013020833333333334,Wd=.007120768229166667,Nd=.3645833333333333,Xd=.005696614583333333,Td=.3076171875;function qi(s){var A=[];A[0]=_d-s*(Zd+s*(CA+s*(JA+s*IA))),A[1]=s*(Fd-s*(CA+s*(JA+s*IA)));var a=s*s;return A[2]=a*(kd-s*(Vd+s*Wd)),a*=s,A[3]=a*(Nd-s*Xd),A[4]=a*s*Td,A}function jr(s,A,a,v){return a*=A,A*=A,v[0]*s-a*(v[1]+A*(v[2]+A*(v[3]+A*v[4])))}var Ud=20;function $i(s,A,a){for(var v=1/(1-A),p=s,g=Ud;g;--g){var R=Math.sin(p),x=1-A*R*R;if(x=(jr(p,R,Math.cos(p),a)-s)*(x*Math.sqrt(x))*v,p-=x,Math.abs(x)<Q)return p}return p}function Gd(){this.x0=this.x0!==void 0?this.x0:0,this.y0=this.y0!==void 0?this.y0:0,this.long0=this.long0!==void 0?this.long0:0,this.lat0=this.lat0!==void 0?this.lat0:0,this.es&&(this.en=qi(this.es),this.ml0=jr(this.lat0,Math.sin(this.lat0),Math.cos(this.lat0),this.en))}function zd(s){var A=s.x,a=s.y,v=L(A-this.long0),p,g,R,x=Math.sin(a),F=Math.cos(a);if(this.es){var X=F*v,N=Math.pow(X,2),S=this.ep2*Math.pow(F,2),H=Math.pow(S,2),j=Math.abs(F)>Q?Math.tan(a):0,q=Math.pow(j,2),K=Math.pow(q,2);p=1-this.es*Math.pow(x,2),X=X/Math.sqrt(p);var r0=jr(a,x,F,this.en);g=this.a*(this.k0*X*(1+N/6*(1-q+S+N/20*(5-18*q+K+14*S-58*q*S+N/42*(61+179*K-K*q-479*q)))))+this.x0,R=this.a*(this.k0*(r0-this.ml0+x*v*X/2*(1+N/12*(5-q+9*S+4*H+N/30*(61+K-58*q+270*S-330*q*S+N/56*(1385+543*K-K*q-3111*q))))))+this.y0}else{var W=F*Math.sin(v);if(Math.abs(Math.abs(W)-1)<Q)return 93;if(g=.5*this.a*this.k0*Math.log((1+W)/(1-W))+this.x0,R=F*Math.cos(v)/Math.sqrt(1-Math.pow(W,2)),W=Math.abs(R),W>=1){if(W-1>Q)return 93;R=0}else R=Math.acos(R);a<0&&(R=-R),R=this.a*this.k0*(R-this.lat0)+this.y0}return s.x=g,s.y=R,s}function Ed(s){var A,a,v,p,g=(s.x-this.x0)*(1/this.a),R=(s.y-this.y0)*(1/this.a);if(this.es)if(A=this.ml0+R/this.k0,a=$i(A,this.es,this.en),Math.abs(a)<O){var N=Math.sin(a),S=Math.cos(a),H=Math.abs(S)>Q?Math.tan(a):0,j=this.ep2*Math.pow(S,2),q=Math.pow(j,2),K=Math.pow(H,2),r0=Math.pow(K,2);A=1-this.es*Math.pow(N,2);var o0=g*Math.sqrt(A)/this.k0,u0=Math.pow(o0,2);A=A*H,v=a-A*u0/(1-this.es)*.5*(1-u0/12*(5+3*K-9*j*K+j-4*q-u0/30*(61+90*K-252*j*K+45*r0+46*j-u0/56*(1385+3633*K+4095*r0+1574*r0*K)))),p=L(this.long0+o0*(1-u0/6*(1+2*K+j-u0/20*(5+28*K+24*r0+8*j*K+6*j-u0/42*(61+662*K+1320*r0+720*r0*K))))/S)}else v=O*Pt(R),p=0;else{var x=Math.exp(g/this.k0),F=.5*(x-1/x),W=this.lat0+R/this.k0,X=Math.cos(W);A=Math.sqrt((1-Math.pow(X,2))/(1+Math.pow(F,2))),v=Math.asin(A),R<0&&(v=-v),F===0&&X===0?p=0:p=L(Math.atan2(F,X)+this.long0)}return s.x=p,s.y=v,s}var Bd=["Transverse_Mercator","Transverse Mercator","tmerc"],OA={init:Gd,forward:zd,inverse:Ed,names:Bd};function Ki(s){var A=Math.exp(s);return A=(A-1/A)/2,A}function be(s,A){s=Math.abs(s),A=Math.abs(A);var a=Math.max(s,A),v=Math.min(s,A)/(a||1);return a*Math.sqrt(1+Math.pow(v,2))}function jA(s){var A=1+s,a=A-1;return a===0?s:s*Math.log(A)/a}function PA(s){var A=Math.abs(s);return A=jA(A*(1+A/(be(1,A)+1))),s<0?-A:A}function bi(s,A){for(var a=2*Math.cos(2*A),v=s.length-1,p=s[v],g=0,R;--v>=0;)R=-g+a*p+s[v],g=p,p=R;return A+R*Math.sin(2*A)}function YA(s,A){for(var a=2*Math.cos(A),v=s.length-1,p=s[v],g=0,R;--v>=0;)R=-g+a*p+s[v],g=p,p=R;return Math.sin(A)*R}function HA(s){var A=Math.exp(s);return A=(A+1/A)/2,A}function z2(s,A,a){for(var v=Math.sin(A),p=Math.cos(A),g=Ki(a),R=HA(a),x=2*p*R,F=-2*v*g,W=s.length-1,X=s[W],N=0,S=0,H=0,j,q;--W>=0;)j=S,q=N,S=X,N=H,X=-j+x*S-F*N+s[W],H=-q+F*S+x*N;return x=v*R,F=p*g,[x*X-F*H,x*H+F*X]}function Sd(){if(this.es===void 0||this.es<=0)throw new Error("incorrect elliptical usage");this.x0=this.x0!==void 0?this.x0:0,this.y0=this.y0!==void 0?this.y0:0,this.long0=this.long0!==void 0?this.long0:0,this.lat0=this.lat0!==void 0?this.lat0:0,this.cgb=[],this.cbg=[],this.utg=[],this.gtu=[];var s=this.es/(1+Math.sqrt(1-this.es)),A=s/(2-s),a=A;this.cgb[0]=A*(2+A*(-2/3+A*(-2+A*(116/45+A*(26/45+A*(-2854/675)))))),this.cbg[0]=A*(-2+A*(2/3+A*(4/3+A*(-82/45+A*(32/45+A*(4642/4725)))))),a=a*A,this.cgb[1]=a*(7/3+A*(-8/5+A*(-227/45+A*(2704/315+A*(2323/945))))),this.cbg[1]=a*(5/3+A*(-16/15+A*(-13/9+A*(904/315+A*(-1522/945))))),a=a*A,this.cgb[2]=a*(56/15+A*(-136/35+A*(-1262/105+A*(73814/2835)))),this.cbg[2]=a*(-26/15+A*(34/21+A*(8/5+A*(-12686/2835)))),a=a*A,this.cgb[3]=a*(4279/630+A*(-332/35+A*(-399572/14175))),this.cbg[3]=a*(1237/630+A*(-12/5+A*(-24832/14175))),a=a*A,this.cgb[4]=a*(4174/315+A*(-144838/6237)),this.cbg[4]=a*(-734/315+A*(109598/31185)),a=a*A,this.cgb[5]=a*(601676/22275),this.cbg[5]=a*(444337/155925),a=Math.pow(A,2),this.Qn=this.k0/(1+A)*(1+a*(1/4+a*(1/64+a/256))),this.utg[0]=A*(-.5+A*(2/3+A*(-37/96+A*(1/360+A*(81/512+A*(-96199/604800)))))),this.gtu[0]=A*(.5+A*(-2/3+A*(5/16+A*(41/180+A*(-127/288+A*(7891/37800)))))),this.utg[1]=a*(-1/48+A*(-1/15+A*(437/1440+A*(-46/105+A*(1118711/3870720))))),this.gtu[1]=a*(13/48+A*(-3/5+A*(557/1440+A*(281/630+A*(-1983433/1935360))))),a=a*A,this.utg[2]=a*(-17/480+A*(37/840+A*(209/4480+A*(-5569/90720)))),this.gtu[2]=a*(61/240+A*(-103/140+A*(15061/26880+A*(167603/181440)))),a=a*A,this.utg[3]=a*(-4397/161280+A*(11/504+A*(830251/7257600))),this.gtu[3]=a*(49561/161280+A*(-179/168+A*(6601661/7257600))),a=a*A,this.utg[4]=a*(-4583/161280+A*(108847/3991680)),this.gtu[4]=a*(34729/80640+A*(-3418889/1995840)),a=a*A,this.utg[5]=a*(-20648693/638668800),this.gtu[5]=a*(212378941/319334400);var v=bi(this.cbg,this.lat0);this.Zb=-this.Qn*(v+YA(this.gtu,2*v))}function Cd(s){var A=L(s.x-this.long0),a=s.y;a=bi(this.cbg,a);var v=Math.sin(a),p=Math.cos(a),g=Math.sin(A),R=Math.cos(A);a=Math.atan2(v,R*p),A=Math.atan2(g*p,be(v,p*R)),A=PA(Math.tan(A));var x=z2(this.gtu,2*a,2*A);a=a+x[0],A=A+x[1];var F,W;return Math.abs(A)<=2.623395162778?(F=this.a*(this.Qn*A)+this.x0,W=this.a*(this.Qn*a+this.Zb)+this.y0):(F=1/0,W=1/0),s.x=F,s.y=W,s}function Jd(s){var A=(s.x-this.x0)*(1/this.a),a=(s.y-this.y0)*(1/this.a);a=(a-this.Zb)/this.Qn,A=A/this.Qn;var v,p;if(Math.abs(A)<=2.623395162778){var g=z2(this.utg,2*a,2*A);a=a+g[0],A=A+g[1],A=Math.atan(Ki(A));var R=Math.sin(a),x=Math.cos(a),F=Math.sin(A),W=Math.cos(A);a=Math.atan2(R*W,be(F,W*x)),A=Math.atan2(F,W*x),v=L(A+this.long0),p=bi(this.cgb,a)}else v=1/0,p=1/0;return s.x=v,s.y=p,s}var Id=["Extended_Transverse_Mercator","Extended Transverse Mercator","etmerc"],ve={init:Sd,forward:Cd,inverse:Jd,names:Id};function DA(s,A){if(s===void 0){if(s=Math.floor((L(A)+Math.PI)*30/Math.PI)+1,s<0)return 0;if(s>60)return 60}return s}var Od="etmerc";function jd(){var s=DA(this.zone,this.long0);if(s===void 0)throw new Error("unknown utm zone");this.lat0=0,this.long0=(6*Math.abs(s)-183)*I0,this.x0=5e5,this.y0=this.utmSouth?1e7:0,this.k0=.9996,ve.init.apply(this),this.forward=ve.forward,this.inverse=ve.inverse}var Pd=["Universal Transverse Mercator System","utm"],QA={init:jd,names:Pd,dependsOn:Od};function tn(s,A){return Math.pow((1-s)/(1+s),A)}var Yd=20;function Hd(){var s=Math.sin(this.lat0),A=Math.cos(this.lat0);A*=A,this.rc=Math.sqrt(1-this.es)/(1-this.es*s*s),this.C=Math.sqrt(1+this.es*A*A/(1-this.es)),this.phic0=Math.asin(s/this.C),this.ratexp=.5*this.C*this.e,this.K=Math.tan(.5*this.phic0+M0)/(Math.pow(Math.tan(.5*this.lat0+M0),this.C)*tn(this.e*s,this.ratexp))}function Dd(s){var A=s.x,a=s.y;return s.y=2*Math.atan(this.K*Math.pow(Math.tan(.5*a+M0),this.C)*tn(this.e*Math.sin(a),this.ratexp))-O,s.x=this.C*A,s}function Qd(s){for(var A=1e-14,a=s.x/this.C,v=s.y,p=Math.pow(Math.tan(.5*v+M0)/this.K,1/this.C),g=Yd;g>0&&(v=2*Math.atan(p*tn(this.e*Math.sin(s.y),-.5*this.e))-O,!(Math.abs(v-s.y)<A));--g)s.y=v;return g?(s.x=a,s.y=v,s):null}var Ld=["gauss"],rn={init:Hd,forward:Dd,inverse:Qd,names:Ld};function qd(){rn.init.apply(this),this.rc&&(this.sinc0=Math.sin(this.phic0),this.cosc0=Math.cos(this.phic0),this.R2=2*this.rc,this.title||(this.title="Oblique Stereographic Alternative"))}function $d(s){var A,a,v,p;return s.x=L(s.x-this.long0),rn.forward.apply(this,[s]),A=Math.sin(s.y),a=Math.cos(s.y),v=Math.cos(s.x),p=this.k0*this.R2/(1+this.sinc0*A+this.cosc0*a*v),s.x=p*a*Math.sin(s.x),s.y=p*(this.cosc0*A-this.sinc0*a*v),s.x=this.a*s.x+this.x0,s.y=this.a*s.y+this.y0,s}function Kd(s){var A,a,v,p,g;if(s.x=(s.x-this.x0)/this.a,s.y=(s.y-this.y0)/this.a,s.x/=this.k0,s.y/=this.k0,g=Math.sqrt(s.x*s.x+s.y*s.y)){var R=2*Math.atan2(g,this.R2);A=Math.sin(R),a=Math.cos(R),p=Math.asin(a*this.sinc0+s.y*A*this.cosc0/g),v=Math.atan2(s.x*A,g*this.cosc0*a-s.y*this.sinc0*A)}else p=this.phic0,v=0;return s.x=v,s.y=p,rn.inverse.apply(this,[s]),s.x=L(s.x+this.long0),s}var bd=["Stereographic_North_Pole","Oblique_Stereographic","Polar_Stereographic","sterea","Oblique Stereographic Alternative","Double_Stereographic"],LA={init:qd,forward:$d,inverse:Kd,names:bd};function tg(s,A,a){return A*=a,Math.tan(.5*(O+s))*Math.pow((1-A)/(1+A),.5*a)}function rg(){this.coslat0=Math.cos(this.lat0),this.sinlat0=Math.sin(this.lat0),this.sphere?this.k0===1&&!isNaN(this.lat_ts)&&Math.abs(this.coslat0)<=Q&&(this.k0=.5*(1+Pt(this.lat0)*Math.sin(this.lat_ts))):(Math.abs(this.coslat0)<=Q&&(this.lat0>0?this.con=1:this.con=-1),this.cons=Math.sqrt(Math.pow(1+this.e,1+this.e)*Math.pow(1-this.e,1-this.e)),this.k0===1&&!isNaN(this.lat_ts)&&Math.abs(this.coslat0)<=Q&&(this.k0=.5*this.cons*q0(this.e,Math.sin(this.lat_ts),Math.cos(this.lat_ts))/tt(this.e,this.con*this.lat_ts,this.con*Math.sin(this.lat_ts))),this.ms1=q0(this.e,this.sinlat0,this.coslat0),this.X0=2*Math.atan(this.ssfn_(this.lat0,this.sinlat0,this.e))-O,this.cosX0=Math.cos(this.X0),this.sinX0=Math.sin(this.X0))}function eg(s){var A=s.x,a=s.y,v=Math.sin(a),p=Math.cos(a),g,R,x,F,W,X,N=L(A-this.long0);return Math.abs(Math.abs(A-this.long0)-Math.PI)<=Q&&Math.abs(a+this.lat0)<=Q?(s.x=NaN,s.y=NaN,s):this.sphere?(g=2*this.k0/(1+this.sinlat0*v+this.coslat0*p*Math.cos(N)),s.x=this.a*g*p*Math.sin(N)+this.x0,s.y=this.a*g*(this.coslat0*v-this.sinlat0*p*Math.cos(N))+this.y0,s):(R=2*Math.atan(this.ssfn_(a,v,this.e))-O,F=Math.cos(R),x=Math.sin(R),Math.abs(this.coslat0)<=Q?(W=tt(this.e,a*this.con,this.con*v),X=2*this.a*this.k0*W/this.cons,s.x=this.x0+X*Math.sin(A-this.long0),s.y=this.y0-this.con*X*Math.cos(A-this.long0),s):(Math.abs(this.sinlat0)<Q?(g=2*this.a*this.k0/(1+F*Math.cos(N)),s.y=g*x):(g=2*this.a*this.k0*this.ms1/(this.cosX0*(1+this.sinX0*x+this.cosX0*F*Math.cos(N))),s.y=g*(this.cosX0*x-this.sinX0*F*Math.cos(N))+this.y0),s.x=g*F*Math.sin(N)+this.x0,s))}function ig(s){s.x-=this.x0,s.y-=this.y0;var A,a,v,p,g,R=Math.sqrt(s.x*s.x+s.y*s.y);if(this.sphere){var x=2*Math.atan(R/(2*this.a*this.k0));return A=this.long0,a=this.lat0,R<=Q?(s.x=A,s.y=a,s):(a=Math.asin(Math.cos(x)*this.sinlat0+s.y*Math.sin(x)*this.coslat0/R),Math.abs(this.coslat0)<Q?this.lat0>0?A=L(this.long0+Math.atan2(s.x,-1*s.y)):A=L(this.long0+Math.atan2(s.x,s.y)):A=L(this.long0+Math.atan2(s.x*Math.sin(x),R*this.coslat0*Math.cos(x)-s.y*this.sinlat0*Math.sin(x))),s.x=A,s.y=a,s)}else if(Math.abs(this.coslat0)<=Q){if(R<=Q)return a=this.lat0,A=this.long0,s.x=A,s.y=a,s;s.x*=this.con,s.y*=this.con,v=R*this.cons/(2*this.a*this.k0),a=this.con*tr(this.e,v),A=this.con*L(this.con*this.long0+Math.atan2(s.x,-1*s.y))}else p=2*Math.atan(R*this.cosX0/(2*this.a*this.k0*this.ms1)),A=this.long0,R<=Q?g=this.X0:(g=Math.asin(Math.cos(p)*this.sinX0+s.y*Math.sin(p)*this.cosX0/R),A=L(this.long0+Math.atan2(s.x*Math.sin(p),R*this.cosX0*Math.cos(p)-s.y*this.sinX0*Math.sin(p)))),a=-1*tr(this.e,Math.tan(.5*(O+g)));return s.x=A,s.y=a,s}var ng=["stere","Stereographic_South_Pole","Polar Stereographic (variant B)"],qA={init:rg,forward:eg,inverse:ig,names:ng,ssfn_:tg};function sg(){var s=this.lat0;this.lambda0=this.long0;var A=Math.sin(s),a=this.a,v=this.rf,p=1/v,g=2*p-Math.pow(p,2),R=this.e=Math.sqrt(g);this.R=this.k0*a*Math.sqrt(1-g)/(1-g*Math.pow(A,2)),this.alpha=Math.sqrt(1+g/(1-g)*Math.pow(Math.cos(s),4)),this.b0=Math.asin(A/this.alpha);var x=Math.log(Math.tan(Math.PI/4+this.b0/2)),F=Math.log(Math.tan(Math.PI/4+s/2)),W=Math.log((1+R*A)/(1-R*A));this.K=x-this.alpha*F+this.alpha*R/2*W}function og(s){var A=Math.log(Math.tan(Math.PI/4-s.y/2)),a=this.e/2*Math.log((1+this.e*Math.sin(s.y))/(1-this.e*Math.sin(s.y))),v=-this.alpha*(A+a)+this.K,p=2*(Math.atan(Math.exp(v))-Math.PI/4),g=this.alpha*(s.x-this.lambda0),R=Math.atan(Math.sin(g)/(Math.sin(this.b0)*Math.tan(p)+Math.cos(this.b0)*Math.cos(g))),x=Math.asin(Math.cos(this.b0)*Math.sin(p)-Math.sin(this.b0)*Math.cos(p)*Math.cos(g));return s.y=this.R/2*Math.log((1+Math.sin(x))/(1-Math.sin(x)))+this.y0,s.x=this.R*R+this.x0,s}function fg(s){for(var A=s.x-this.x0,a=s.y-this.y0,v=A/this.R,p=2*(Math.atan(Math.exp(a/this.R))-Math.PI/4),g=Math.asin(Math.cos(this.b0)*Math.sin(p)+Math.sin(this.b0)*Math.cos(p)*Math.cos(v)),R=Math.atan(Math.sin(v)/(Math.cos(this.b0)*Math.cos(v)-Math.sin(this.b0)*Math.tan(p))),x=this.lambda0+R/this.alpha,F=0,W=g,X=-1e3,N=0;Math.abs(W-X)>1e-7;){if(++N>20)return;F=1/this.alpha*(Math.log(Math.tan(Math.PI/4+g/2))-this.K)+this.e*Math.log(Math.tan(Math.PI/4+Math.asin(this.e*Math.sin(W))/2)),X=W,W=2*Math.atan(Math.exp(F))-Math.PI/2}return s.x=x,s.y=W,s}var Ag=["somerc"],$A={init:sg,forward:og,inverse:fg,names:Ag};function hg(){this.no_off=this.no_off||!1,this.no_rot=this.no_rot||!1,isNaN(this.k0)&&(this.k0=1);var s=Math.sin(this.lat0),A=Math.cos(this.lat0),a=this.e*s;this.bl=Math.sqrt(1+this.es/(1-this.es)*Math.pow(A,4)),this.al=this.a*this.bl*this.k0*Math.sqrt(1-this.es)/(1-a*a);var v=tt(this.e,this.lat0,s),p=this.bl/A*Math.sqrt((1-this.es)/(1-a*a));p*p<1&&(p=1);var g,R;if(!isNaN(this.longc))this.lat0>=0?g=p+Math.sqrt(p*p-1):g=p-Math.sqrt(p*p-1),this.el=g*Math.pow(v,this.bl),R=.5*(g-1/g),this.gamma0=Math.asin(Math.sin(this.alpha)/p),this.long0=this.longc-Math.asin(R*Math.tan(this.gamma0))/this.bl;else{var x=tt(this.e,this.lat1,Math.sin(this.lat1)),F=tt(this.e,this.lat2,Math.sin(this.lat2));this.lat0>=0?this.el=(p+Math.sqrt(p*p-1))*Math.pow(v,this.bl):this.el=(p-Math.sqrt(p*p-1))*Math.pow(v,this.bl);var W=Math.pow(x,this.bl),X=Math.pow(F,this.bl);g=this.el/W,R=.5*(g-1/g);var N=(this.el*this.el-X*W)/(this.el*this.el+X*W),S=(X-W)/(X+W),H=L(this.long1-this.long2);this.long0=.5*(this.long1+this.long2)-Math.atan(N*Math.tan(.5*this.bl*H)/S)/this.bl,this.long0=L(this.long0);var j=L(this.long1-this.long0);this.gamma0=Math.atan(Math.sin(this.bl*j)/R),this.alpha=Math.asin(p*Math.sin(this.gamma0))}this.no_off?this.uc=0:this.lat0>=0?this.uc=this.al/this.bl*Math.atan2(Math.sqrt(p*p-1),Math.cos(this.alpha)):this.uc=-1*this.al/this.bl*Math.atan2(Math.sqrt(p*p-1),Math.cos(this.alpha))}function lg(s){var A=s.x,a=s.y,v=L(A-this.long0),p,g,R;if(Math.abs(Math.abs(a)-O)<=Q)a>0?R=-1:R=1,g=this.al/this.bl*Math.log(Math.tan(M0+R*this.gamma0*.5)),p=-1*R*O*this.al/this.bl;else{var x=tt(this.e,a,Math.sin(a)),F=this.el/Math.pow(x,this.bl),W=.5*(F-1/F),X=.5*(F+1/F),N=Math.sin(this.bl*v),S=(W*Math.sin(this.gamma0)-N*Math.cos(this.gamma0))/X;Math.abs(Math.abs(S)-1)<=Q?g=Number.POSITIVE_INFINITY:g=.5*this.al*Math.log((1-S)/(1+S))/this.bl,Math.abs(Math.cos(this.bl*v))<=Q?p=this.al*this.bl*v:p=this.al*Math.atan2(W*Math.cos(this.gamma0)+N*Math.sin(this.gamma0),Math.cos(this.bl*v))/this.bl}return this.no_rot?(s.x=this.x0+p,s.y=this.y0+g):(p-=this.uc,s.x=this.x0+g*Math.cos(this.alpha)+p*Math.sin(this.alpha),s.y=this.y0+p*Math.cos(this.alpha)-g*Math.sin(this.alpha)),s}function ug(s){var A,a;this.no_rot?(a=s.y-this.y0,A=s.x-this.x0):(a=(s.x-this.x0)*Math.cos(this.alpha)-(s.y-this.y0)*Math.sin(this.alpha),A=(s.y-this.y0)*Math.cos(this.alpha)+(s.x-this.x0)*Math.sin(this.alpha),A+=this.uc);var v=Math.exp(-1*this.bl*a/this.al),p=.5*(v-1/v),g=.5*(v+1/v),R=Math.sin(this.bl*A/this.al),x=(R*Math.cos(this.gamma0)+p*Math.sin(this.gamma0))/g,F=Math.pow(this.el/Math.sqrt((1+x)/(1-x)),1/this.bl);return Math.abs(x-1)<Q?(s.x=this.long0,s.y=O):Math.abs(x+1)<Q?(s.x=this.long0,s.y=-1*O):(s.y=tr(this.e,F),s.x=L(this.long0-Math.atan2(p*Math.cos(this.gamma0)-R*Math.sin(this.gamma0),Math.cos(this.bl*A/this.al))/this.bl)),s}var ag=["Hotine_Oblique_Mercator","Hotine Oblique Mercator","Hotine_Oblique_Mercator_Azimuth_Natural_Origin","Hotine_Oblique_Mercator_Azimuth_Center","omerc"],KA={init:hg,forward:lg,inverse:ug,names:ag};function cg(){if(this.lat2||(this.lat2=this.lat1),this.k0||(this.k0=1),this.x0=this.x0||0,this.y0=this.y0||0,!(Math.abs(this.lat1+this.lat2)<Q)){var s=this.b/this.a;this.e=Math.sqrt(1-s*s);var A=Math.sin(this.lat1),a=Math.cos(this.lat1),v=q0(this.e,A,a),p=tt(this.e,this.lat1,A),g=Math.sin(this.lat2),R=Math.cos(this.lat2),x=q0(this.e,g,R),F=tt(this.e,this.lat2,g),W=tt(this.e,this.lat0,Math.sin(this.lat0));Math.abs(this.lat1-this.lat2)>Q?this.ns=Math.log(v/x)/Math.log(p/F):this.ns=A,isNaN(this.ns)&&(this.ns=A),this.f0=v/(this.ns*Math.pow(p,this.ns)),this.rh=this.a*this.f0*Math.pow(W,this.ns),this.title||(this.title="Lambert Conformal Conic")}}function mg(s){var A=s.x,a=s.y;Math.abs(2*Math.abs(a)-Math.PI)<=Q&&(a=Pt(a)*(O-2*Q));var v=Math.abs(Math.abs(a)-O),p,g;if(v>Q)p=tt(this.e,a,Math.sin(a)),g=this.a*this.f0*Math.pow(p,this.ns);else{if(v=a*this.ns,v<=0)return null;g=0}var R=this.ns*L(A-this.long0);return s.x=this.k0*(g*Math.sin(R))+this.x0,s.y=this.k0*(this.rh-g*Math.cos(R))+this.y0,s}function vg(s){var A,a,v,p,g,R=(s.x-this.x0)/this.k0,x=this.rh-(s.y-this.y0)/this.k0;this.ns>0?(A=Math.sqrt(R*R+x*x),a=1):(A=-Math.sqrt(R*R+x*x),a=-1);var F=0;if(A!==0&&(F=Math.atan2(a*R,a*x)),A!==0||this.ns>0){if(a=1/this.ns,v=Math.pow(A/(this.a*this.f0),a),p=tr(this.e,v),p===-9999)return null}else p=-O;return g=L(F/this.ns+this.long0),s.x=g,s.y=p,s}var pg=["Lambert Tangential Conformal Conic Projection","Lambert_Conformal_Conic","Lambert_Conformal_Conic_2SP","lcc"],bA={init:cg,forward:mg,inverse:vg,names:pg};function Mg(){this.a=6377397155e-3,this.es=.006674372230614,this.e=Math.sqrt(this.es),this.lat0||(this.lat0=.863937979737193),this.long0||(this.long0=.7417649320975901-.308341501185665),this.k0||(this.k0=.9999),this.s45=.785398163397448,this.s90=2*this.s45,this.fi0=this.lat0,this.e2=this.es,this.e=Math.sqrt(this.e2),this.alfa=Math.sqrt(1+this.e2*Math.pow(Math.cos(this.fi0),4)/(1-this.e2)),this.uq=1.04216856380474,this.u0=Math.asin(Math.sin(this.fi0)/this.alfa),this.g=Math.pow((1+this.e*Math.sin(this.fi0))/(1-this.e*Math.sin(this.fi0)),this.alfa*this.e/2),this.k=Math.tan(this.u0/2+this.s45)/Math.pow(Math.tan(this.fi0/2+this.s45),this.alfa)*this.g,this.k1=this.k0,this.n0=this.a*Math.sqrt(1-this.e2)/(1-this.e2*Math.pow(Math.sin(this.fi0),2)),this.s0=1.37008346281555,this.n=Math.sin(this.s0),this.ro0=this.k1*this.n0/Math.tan(this.s0),this.ad=this.s90-this.uq}function yg(s){var A,a,v,p,g,R,x,F=s.x,W=s.y,X=L(F-this.long0);return A=Math.pow((1+this.e*Math.sin(W))/(1-this.e*Math.sin(W)),this.alfa*this.e/2),a=2*(Math.atan(this.k*Math.pow(Math.tan(W/2+this.s45),this.alfa)/A)-this.s45),v=-X*this.alfa,p=Math.asin(Math.cos(this.ad)*Math.sin(a)+Math.sin(this.ad)*Math.cos(a)*Math.cos(v)),g=Math.asin(Math.cos(a)*Math.sin(v)/Math.cos(p)),R=this.n*g,x=this.ro0*Math.pow(Math.tan(this.s0/2+this.s45),this.n)/Math.pow(Math.tan(p/2+this.s45),this.n),s.y=x*Math.cos(R)/1,s.x=x*Math.sin(R)/1,this.czech||(s.y*=-1,s.x*=-1),s}function dg(s){var A,a,v,p,g,R,x,F,W=s.x;s.x=s.y,s.y=W,this.czech||(s.y*=-1,s.x*=-1),R=Math.sqrt(s.x*s.x+s.y*s.y),g=Math.atan2(s.y,s.x),p=g/Math.sin(this.s0),v=2*(Math.atan(Math.pow(this.ro0/R,1/this.n)*Math.tan(this.s0/2+this.s45))-this.s45),A=Math.asin(Math.cos(this.ad)*Math.sin(v)-Math.sin(this.ad)*Math.cos(v)*Math.cos(p)),a=Math.asin(Math.cos(v)*Math.sin(p)/Math.cos(A)),s.x=this.long0-a/this.alfa,x=A,F=0;var X=0;do s.y=2*(Math.atan(Math.pow(this.k,-1/this.alfa)*Math.pow(Math.tan(A/2+this.s45),1/this.alfa)*Math.pow((1+this.e*Math.sin(x))/(1-this.e*Math.sin(x)),this.e/2))-this.s45),Math.abs(x-s.y)<1e-10&&(F=1),x=s.y,X+=1;while(F===0&&X<15);return X>=15?null:s}var gg=["Krovak","krovak"],th={init:Mg,forward:yg,inverse:dg,names:gg};function j0(s,A,a,v,p){return s*p-A*Math.sin(2*p)+a*Math.sin(4*p)-v*Math.sin(6*p)}function rr(s){return 1-.25*s*(1+s/16*(3+1.25*s))}function er(s){return .375*s*(1+.25*s*(1+.46875*s))}function ir(s){return .05859375*s*s*(1+.75*s)}function nr(s){return s*s*s*(35/3072)}function sr(s,A,a){var v=A*a;return s/Math.sqrt(1-v*v)}function Nt(s){return Math.abs(s)<O?s:s-Pt(s)*Math.PI}function Pr(s,A,a,v,p){var g,R;g=s/A;for(var x=0;x<15;x++)if(R=(s-(A*g-a*Math.sin(2*g)+v*Math.sin(4*g)-p*Math.sin(6*g)))/(A-2*a*Math.cos(2*g)+4*v*Math.cos(4*g)-6*p*Math.cos(6*g)),g+=R,Math.abs(R)<=1e-10)return g;return NaN}function Rg(){this.sphere||(this.e0=rr(this.es),this.e1=er(this.es),this.e2=ir(this.es),this.e3=nr(this.es),this.ml0=this.a*j0(this.e0,this.e1,this.e2,this.e3,this.lat0))}function xg(s){var A,a,v=s.x,p=s.y;if(v=L(v-this.long0),this.sphere)A=this.a*Math.asin(Math.cos(p)*Math.sin(v)),a=this.a*(Math.atan2(Math.tan(p),Math.cos(v))-this.lat0);else{var g=Math.sin(p),R=Math.cos(p),x=sr(this.a,this.e,g),F=Math.tan(p)*Math.tan(p),W=v*Math.cos(p),X=W*W,N=this.es*R*R/(1-this.es),S=this.a*j0(this.e0,this.e1,this.e2,this.e3,p);A=x*W*(1-X*F*(1/6-(8-F+8*N)*X/120)),a=S-this.ml0+x*g/R*X*(.5+(5-F+6*N)*X/24)}return s.x=A+this.x0,s.y=a+this.y0,s}function wg(s){s.x-=this.x0,s.y-=this.y0;var A=s.x/this.a,a=s.y/this.a,v,p;if(this.sphere){var g=a+this.lat0;v=Math.asin(Math.sin(g)*Math.cos(A)),p=Math.atan2(Math.tan(A),Math.cos(g))}else{var R=this.ml0/this.a+a,x=Pr(R,this.e0,this.e1,this.e2,this.e3);if(Math.abs(Math.abs(x)-O)<=Q)return s.x=this.long0,s.y=O,a<0&&(s.y*=-1),s;var F=sr(this.a,this.e,Math.sin(x)),W=F*F*F/this.a/this.a*(1-this.es),X=Math.pow(Math.tan(x),2),N=A*this.a/F,S=N*N;v=x-F*Math.tan(x)/W*N*N*(.5-(1+3*X)*N*N/24),p=N*(1-S*(X/3+(1+3*X)*X*S/15))/Math.cos(x)}return s.x=L(p+this.long0),s.y=Nt(v),s}var _g=["Cassini","Cassini_Soldner","cass"],rh={init:Rg,forward:xg,inverse:wg,names:_g};function Xt(s,A){var a;return s>1e-7?(a=s*A,(1-s*s)*(A/(1-a*a)-.5/s*Math.log((1-a)/(1+a)))):2*A}var Zg=1,Fg=2,kg=3,Vg=4;function Wg(){var s=Math.abs(this.lat0);if(Math.abs(s-O)<Q?this.mode=this.lat0<0?this.S_POLE:this.N_POLE:Math.abs(s)<Q?this.mode=this.EQUIT:this.mode=this.OBLIQ,this.es>0){var A;switch(this.qp=Xt(this.e,1),this.mmf=.5/(1-this.es),this.apa=Sg(this.es),this.mode){case this.N_POLE:this.dd=1;break;case this.S_POLE:this.dd=1;break;case this.EQUIT:this.rq=Math.sqrt(.5*this.qp),this.dd=1/this.rq,this.xmf=1,this.ymf=.5*this.qp;break;case this.OBLIQ:this.rq=Math.sqrt(.5*this.qp),A=Math.sin(this.lat0),this.sinb1=Xt(this.e,A)/this.qp,this.cosb1=Math.sqrt(1-this.sinb1*this.sinb1),this.dd=Math.cos(this.lat0)/(Math.sqrt(1-this.es*A*A)*this.rq*this.cosb1),this.ymf=(this.xmf=this.rq)/this.dd,this.xmf*=this.dd;break}}else this.mode===this.OBLIQ&&(this.sinph0=Math.sin(this.lat0),this.cosph0=Math.cos(this.lat0))}function Ng(s){var A,a,v,p,g,R,x,F,W,X,N=s.x,S=s.y;if(N=L(N-this.long0),this.sphere){if(g=Math.sin(S),X=Math.cos(S),v=Math.cos(N),this.mode===this.OBLIQ||this.mode===this.EQUIT){if(a=this.mode===this.EQUIT?1+X*v:1+this.sinph0*g+this.cosph0*X*v,a<=Q)return null;a=Math.sqrt(2/a),A=a*X*Math.sin(N),a*=this.mode===this.EQUIT?g:this.cosph0*g-this.sinph0*X*v}else if(this.mode===this.N_POLE||this.mode===this.S_POLE){if(this.mode===this.N_POLE&&(v=-v),Math.abs(S+this.lat0)<Q)return null;a=M0-S*.5,a=2*(this.mode===this.S_POLE?Math.cos(a):Math.sin(a)),A=a*Math.sin(N),a*=v}}else{switch(x=0,F=0,W=0,v=Math.cos(N),p=Math.sin(N),g=Math.sin(S),R=Xt(this.e,g),(this.mode===this.OBLIQ||this.mode===this.EQUIT)&&(x=R/this.qp,F=Math.sqrt(1-x*x)),this.mode){case this.OBLIQ:W=1+this.sinb1*x+this.cosb1*F*v;break;case this.EQUIT:W=1+F*v;break;case this.N_POLE:W=O+S,R=this.qp-R;break;case this.S_POLE:W=S-O,R=this.qp+R;break}if(Math.abs(W)<Q)return null;switch(this.mode){case this.OBLIQ:case this.EQUIT:W=Math.sqrt(2/W),this.mode===this.OBLIQ?a=this.ymf*W*(this.cosb1*x-this.sinb1*F*v):a=(W=Math.sqrt(2/(1+F*v)))*x*this.ymf,A=this.xmf*W*F*p;break;case this.N_POLE:case this.S_POLE:R>=0?(A=(W=Math.sqrt(R))*p,a=v*(this.mode===this.S_POLE?W:-W)):A=a=0;break}}return s.x=this.a*A+this.x0,s.y=this.a*a+this.y0,s}function Xg(s){s.x-=this.x0,s.y-=this.y0;var A=s.x/this.a,a=s.y/this.a,v,p,g,R,x,F,W;if(this.sphere){var X=0,N,S=0;if(N=Math.sqrt(A*A+a*a),p=N*.5,p>1)return null;switch(p=2*Math.asin(p),(this.mode===this.OBLIQ||this.mode===this.EQUIT)&&(S=Math.sin(p),X=Math.cos(p)),this.mode){case this.EQUIT:p=Math.abs(N)<=Q?0:Math.asin(a*S/N),A*=S,a=X*N;break;case this.OBLIQ:p=Math.abs(N)<=Q?this.lat0:Math.asin(X*this.sinph0+a*S*this.cosph0/N),A*=S*this.cosph0,a=(X-Math.sin(p)*this.sinph0)*N;break;case this.N_POLE:a=-a,p=O-p;break;case this.S_POLE:p-=O;break}v=a===0&&(this.mode===this.EQUIT||this.mode===this.OBLIQ)?0:Math.atan2(A,a)}else{if(W=0,this.mode===this.OBLIQ||this.mode===this.EQUIT){if(A/=this.dd,a*=this.dd,F=Math.sqrt(A*A+a*a),F<Q)return s.x=this.long0,s.y=this.lat0,s;R=2*Math.asin(.5*F/this.rq),g=Math.cos(R),A*=R=Math.sin(R),this.mode===this.OBLIQ?(W=g*this.sinb1+a*R*this.cosb1/F,x=this.qp*W,a=F*this.cosb1*g-a*this.sinb1*R):(W=a*R/F,x=this.qp*W,a=F*g)}else if(this.mode===this.N_POLE||this.mode===this.S_POLE){if(this.mode===this.N_POLE&&(a=-a),x=A*A+a*a,!x)return s.x=this.long0,s.y=this.lat0,s;W=1-x/this.qp,this.mode===this.S_POLE&&(W=-W)}v=Math.atan2(A,a),p=Cg(Math.asin(W),this.apa)}return s.x=L(this.long0+v),s.y=p,s}var Tg=.3333333333333333,Ug=.17222222222222222,Gg=.10257936507936508,zg=.06388888888888888,Eg=.0664021164021164,Bg=.016415012942191543;function Sg(s){var A,a=[];return a[0]=s*Tg,A=s*s,a[0]+=A*Ug,a[1]=A*zg,A*=s,a[0]+=A*Gg,a[1]+=A*Eg,a[2]=A*Bg,a}function Cg(s,A){var a=s+s;return s+A[0]*Math.sin(a)+A[1]*Math.sin(a+a)+A[2]*Math.sin(a+a+a)}var Jg=["Lambert Azimuthal Equal Area","Lambert_Azimuthal_Equal_Area","laea"],eh={init:Wg,forward:Ng,inverse:Xg,names:Jg,S_POLE:Zg,N_POLE:Fg,EQUIT:kg,OBLIQ:Vg};function it(s){return Math.abs(s)>1&&(s=s>1?1:-1),Math.asin(s)}function Ig(){Math.abs(this.lat1+this.lat2)<Q||(this.temp=this.b/this.a,this.es=1-Math.pow(this.temp,2),this.e3=Math.sqrt(this.es),this.sin_po=Math.sin(this.lat1),this.cos_po=Math.cos(this.lat1),this.t1=this.sin_po,this.con=this.sin_po,this.ms1=q0(this.e3,this.sin_po,this.cos_po),this.qs1=Xt(this.e3,this.sin_po,this.cos_po),this.sin_po=Math.sin(this.lat2),this.cos_po=Math.cos(this.lat2),this.t2=this.sin_po,this.ms2=q0(this.e3,this.sin_po,this.cos_po),this.qs2=Xt(this.e3,this.sin_po,this.cos_po),this.sin_po=Math.sin(this.lat0),this.cos_po=Math.cos(this.lat0),this.t3=this.sin_po,this.qs0=Xt(this.e3,this.sin_po,this.cos_po),Math.abs(this.lat1-this.lat2)>Q?this.ns0=(this.ms1*this.ms1-this.ms2*this.ms2)/(this.qs2-this.qs1):this.ns0=this.con,this.c=this.ms1*this.ms1+this.ns0*this.qs1,this.rh=this.a*Math.sqrt(this.c-this.ns0*this.qs0)/this.ns0)}function Og(s){var A=s.x,a=s.y;this.sin_phi=Math.sin(a),this.cos_phi=Math.cos(a);var v=Xt(this.e3,this.sin_phi,this.cos_phi),p=this.a*Math.sqrt(this.c-this.ns0*v)/this.ns0,g=this.ns0*L(A-this.long0),R=p*Math.sin(g)+this.x0,x=this.rh-p*Math.cos(g)+this.y0;return s.x=R,s.y=x,s}function jg(s){var A,a,v,p,g,R;return s.x-=this.x0,s.y=this.rh-s.y+this.y0,this.ns0>=0?(A=Math.sqrt(s.x*s.x+s.y*s.y),v=1):(A=-Math.sqrt(s.x*s.x+s.y*s.y),v=-1),p=0,A!==0&&(p=Math.atan2(v*s.x,v*s.y)),v=A*this.ns0/this.a,this.sphere?R=Math.asin((this.c-v*v)/(2*this.ns0)):(a=(this.c-v*v)/this.ns0,R=this.phi1z(this.e3,a)),g=L(p/this.ns0+this.long0),s.x=g,s.y=R,s}function Pg(s,A){var a,v,p,g,R,x=it(.5*A);if(s<Q)return x;for(var F=s*s,W=1;W<=25;W++)if(a=Math.sin(x),v=Math.cos(x),p=s*a,g=1-p*p,R=.5*g*g/v*(A/(1-F)-a/g+.5/s*Math.log((1-p)/(1+p))),x=x+R,Math.abs(R)<=1e-7)return x;return null}var Yg=["Albers_Conic_Equal_Area","Albers","aea"],ih={init:Ig,forward:Og,inverse:jg,names:Yg,phi1z:Pg};function Hg(){this.sin_p14=Math.sin(this.lat0),this.cos_p14=Math.cos(this.lat0),this.infinity_dist=1e3*this.a,this.rc=1}function Dg(s){var A,a,v,p,g,R,x,F,W=s.x,X=s.y;return v=L(W-this.long0),A=Math.sin(X),a=Math.cos(X),p=Math.cos(v),R=this.sin_p14*A+this.cos_p14*a*p,g=1,R>0||Math.abs(R)<=Q?(x=this.x0+this.a*g*a*Math.sin(v)/R,F=this.y0+this.a*g*(this.cos_p14*A-this.sin_p14*a*p)/R):(x=this.x0+this.infinity_dist*a*Math.sin(v),F=this.y0+this.infinity_dist*(this.cos_p14*A-this.sin_p14*a*p)),s.x=x,s.y=F,s}function Qg(s){var A,a,v,p,g,R;return s.x=(s.x-this.x0)/this.a,s.y=(s.y-this.y0)/this.a,s.x/=this.k0,s.y/=this.k0,(A=Math.sqrt(s.x*s.x+s.y*s.y))?(p=Math.atan2(A,this.rc),a=Math.sin(p),v=Math.cos(p),R=it(v*this.sin_p14+s.y*a*this.cos_p14/A),g=Math.atan2(s.x*a,A*this.cos_p14*v-s.y*this.sin_p14*a),g=L(this.long0+g)):(R=this.phic0,g=0),s.x=g,s.y=R,s}var Lg=["gnom"],nh={init:Hg,forward:Dg,inverse:Qg,names:Lg};function sh(s,A){var a=1-(1-s*s)/(2*s)*Math.log((1-s)/(1+s));if(Math.abs(Math.abs(A)-a)<1e-6)return A<0?-1*O:O;for(var v=Math.asin(.5*A),p,g,R,x,F=0;F<30;F++)if(g=Math.sin(v),R=Math.cos(v),x=s*g,p=Math.pow(1-x*x,2)/(2*R)*(A/(1-s*s)-g/(1-x*x)+.5/s*Math.log((1-x)/(1+x))),v+=p,Math.abs(p)<=1e-10)return v;return NaN}function qg(){this.sphere||(this.k0=q0(this.e,Math.sin(this.lat_ts),Math.cos(this.lat_ts)))}function $g(s){var A=s.x,a=s.y,v,p,g=L(A-this.long0);if(this.sphere)v=this.x0+this.a*g*Math.cos(this.lat_ts),p=this.y0+this.a*Math.sin(a)/Math.cos(this.lat_ts);else{var R=Xt(this.e,Math.sin(a));v=this.x0+this.a*this.k0*g,p=this.y0+this.a*R*.5/this.k0}return s.x=v,s.y=p,s}function Kg(s){s.x-=this.x0,s.y-=this.y0;var A,a;return this.sphere?(A=L(this.long0+s.x/this.a/Math.cos(this.lat_ts)),a=Math.asin(s.y/this.a*Math.cos(this.lat_ts))):(a=sh(this.e,2*s.y*this.k0/this.a),A=L(this.long0+s.x/(this.a*this.k0))),s.x=A,s.y=a,s}var bg=["cea"],oh={init:qg,forward:$g,inverse:Kg,names:bg};function t9(){this.x0=this.x0||0,this.y0=this.y0||0,this.lat0=this.lat0||0,this.long0=this.long0||0,this.lat_ts=this.lat_ts||0,this.title=this.title||"Equidistant Cylindrical (Plate Carre)",this.rc=Math.cos(this.lat_ts)}function r9(s){var A=s.x,a=s.y,v=L(A-this.long0),p=Nt(a-this.lat0);return s.x=this.x0+this.a*v*this.rc,s.y=this.y0+this.a*p,s}function e9(s){var A=s.x,a=s.y;return s.x=L(this.long0+(A-this.x0)/(this.a*this.rc)),s.y=Nt(this.lat0+(a-this.y0)/this.a),s}var i9=["Equirectangular","Equidistant_Cylindrical","eqc"],fh={init:t9,forward:r9,inverse:e9,names:i9};var Ah=20;function n9(){this.temp=this.b/this.a,this.es=1-Math.pow(this.temp,2),this.e=Math.sqrt(this.es),this.e0=rr(this.es),this.e1=er(this.es),this.e2=ir(this.es),this.e3=nr(this.es),this.ml0=this.a*j0(this.e0,this.e1,this.e2,this.e3,this.lat0)}function s9(s){var A=s.x,a=s.y,v,p,g,R=L(A-this.long0);if(g=R*Math.sin(a),this.sphere)Math.abs(a)<=Q?(v=this.a*R,p=-1*this.a*this.lat0):(v=this.a*Math.sin(g)/Math.tan(a),p=this.a*(Nt(a-this.lat0)+(1-Math.cos(g))/Math.tan(a)));else if(Math.abs(a)<=Q)v=this.a*R,p=-1*this.ml0;else{var x=sr(this.a,this.e,Math.sin(a))/Math.tan(a);v=x*Math.sin(g),p=this.a*j0(this.e0,this.e1,this.e2,this.e3,a)-this.ml0+x*(1-Math.cos(g))}return s.x=v+this.x0,s.y=p+this.y0,s}function o9(s){var A,a,v,p,g,R,x,F,W;if(v=s.x-this.x0,p=s.y-this.y0,this.sphere)if(Math.abs(p+this.a*this.lat0)<=Q)A=L(v/this.a+this.long0),a=0;else{R=this.lat0+p/this.a,x=v*v/this.a/this.a+R*R,F=R;var X;for(g=Ah;g;--g)if(X=Math.tan(F),W=-1*(R*(F*X+1)-F-.5*(F*F+x)*X)/((F-R)/X-1),F+=W,Math.abs(W)<=Q){a=F;break}A=L(this.long0+Math.asin(v*Math.tan(F)/this.a)/Math.sin(a))}else if(Math.abs(p+this.ml0)<=Q)a=0,A=L(this.long0+v/this.a);else{R=(this.ml0+p)/this.a,x=v*v/this.a/this.a+R*R,F=R;var N,S,H,j,q;for(g=Ah;g;--g)if(q=this.e*Math.sin(F),N=Math.sqrt(1-q*q)*Math.tan(F),S=this.a*j0(this.e0,this.e1,this.e2,this.e3,F),H=this.e0-2*this.e1*Math.cos(2*F)+4*this.e2*Math.cos(4*F)-6*this.e3*Math.cos(6*F),j=S/this.a,W=(R*(N*j+1)-j-.5*N*(j*j+x))/(this.es*Math.sin(2*F)*(j*j+x-2*R*j)/(4*N)+(R-j)*(N*H-2/Math.sin(2*F))-H),F-=W,Math.abs(W)<=Q){a=F;break}N=Math.sqrt(1-this.es*Math.pow(Math.sin(a),2))*Math.tan(a),A=L(this.long0+Math.asin(v*N/this.a)/Math.sin(a))}return s.x=A,s.y=a,s}var f9=["Polyconic","poly"],hh={init:n9,forward:s9,inverse:o9,names:f9};function A9(){this.A=[],this.A[1]=.6399175073,this.A[2]=-.1358797613,this.A[3]=.063294409,this.A[4]=-.02526853,this.A[5]=.0117879,this.A[6]=-.0055161,this.A[7]=.0026906,this.A[8]=-.001333,this.A[9]=67e-5,this.A[10]=-34e-5,this.B_re=[],this.B_im=[],this.B_re[1]=.7557853228,this.B_im[1]=0,this.B_re[2]=.249204646,this.B_im[2]=.003371507,this.B_re[3]=-.001541739,this.B_im[3]=.04105856,this.B_re[4]=-.10162907,this.B_im[4]=.01727609,this.B_re[5]=-.26623489,this.B_im[5]=-.36249218,this.B_re[6]=-.6870983,this.B_im[6]=-1.1651967,this.C_re=[],this.C_im=[],this.C_re[1]=1.3231270439,this.C_im[1]=0,this.C_re[2]=-.577245789,this.C_im[2]=-.007809598,this.C_re[3]=.508307513,this.C_im[3]=-.112208952,this.C_re[4]=-.15094762,this.C_im[4]=.18200602,this.C_re[5]=1.01418179,this.C_im[5]=1.64497696,this.C_re[6]=1.9660549,this.C_im[6]=2.5127645,this.D=[],this.D[1]=1.5627014243,this.D[2]=.5185406398,this.D[3]=-.03333098,this.D[4]=-.1052906,this.D[5]=-.0368594,this.D[6]=.007317,this.D[7]=.0122,this.D[8]=.00394,this.D[9]=-.0013}function h9(s){var A,a=s.x,v=s.y,p=v-this.lat0,g=a-this.long0,R=p/Jr*1e-5,x=g,F=1,W=0;for(A=1;A<=10;A++)F=F*R,W=W+this.A[A]*F;var X=W,N=x,S=1,H=0,j,q,K=0,r0=0;for(A=1;A<=6;A++)j=S*X-H*N,q=H*X+S*N,S=j,H=q,K=K+this.B_re[A]*S-this.B_im[A]*H,r0=r0+this.B_im[A]*S+this.B_re[A]*H;return s.x=r0*this.a+this.x0,s.y=K*this.a+this.y0,s}function l9(s){var A,a=s.x,v=s.y,p=a-this.x0,g=v-this.y0,R=g/this.a,x=p/this.a,F=1,W=0,X,N,S=0,H=0;for(A=1;A<=6;A++)X=F*R-W*x,N=W*R+F*x,F=X,W=N,S=S+this.C_re[A]*F-this.C_im[A]*W,H=H+this.C_im[A]*F+this.C_re[A]*W;for(var j=0;j<this.iterations;j++){var q=S,K=H,r0,o0,u0=R,p0=x;for(A=2;A<=6;A++)r0=q*S-K*H,o0=K*S+q*H,q=r0,K=o0,u0=u0+(A-1)*(this.B_re[A]*q-this.B_im[A]*K),p0=p0+(A-1)*(this.B_im[A]*q+this.B_re[A]*K);q=1,K=0;var l0=this.B_re[1],A0=this.B_im[1];for(A=2;A<=6;A++)r0=q*S-K*H,o0=K*S+q*H,q=r0,K=o0,l0=l0+A*(this.B_re[A]*q-this.B_im[A]*K),A0=A0+A*(this.B_im[A]*q+this.B_re[A]*K);var U0=l0*l0+A0*A0;S=(u0*l0+p0*A0)/U0,H=(p0*l0-u0*A0)/U0}var W0=S,wt=H,or=1,fr=0;for(A=1;A<=9;A++)or=or*W0,fr=fr+this.D[A]*or;var yr=this.lat0+fr*Jr*1e5,fn=this.long0+wt;return s.x=fn,s.y=yr,s}var u9=["New_Zealand_Map_Grid","nzmg"],lh={init:A9,forward:h9,inverse:l9,names:u9};function a9(){}function c9(s){var A=s.x,a=s.y,v=L(A-this.long0),p=this.x0+this.a*v,g=this.y0+this.a*Math.log(Math.tan(Math.PI/4+a/2.5))*1.25;return s.x=p,s.y=g,s}function m9(s){s.x-=this.x0,s.y-=this.y0;var A=L(this.long0+s.x/this.a),a=2.5*(Math.atan(Math.exp(.8*s.y/this.a))-Math.PI/4);return s.x=A,s.y=a,s}var v9=["Miller_Cylindrical","mill"],uh={init:a9,forward:c9,inverse:m9,names:v9};var p9=20;function M9(){this.sphere?(this.n=1,this.m=0,this.es=0,this.C_y=Math.sqrt((this.m+1)/this.n),this.C_x=this.C_y/(this.m+1)):this.en=qi(this.es)}function y9(s){var A,a,v=s.x,p=s.y;if(v=L(v-this.long0),this.sphere){if(!this.m)p=this.n!==1?Math.asin(this.n*Math.sin(p)):p;else for(var g=this.n*Math.sin(p),R=p9;R;--R){var x=(this.m*p+Math.sin(p)-g)/(this.m+Math.cos(p));if(p-=x,Math.abs(x)<Q)break}A=this.a*this.C_x*v*(this.m+Math.cos(p)),a=this.a*this.C_y*p}else{var F=Math.sin(p),W=Math.cos(p);a=this.a*jr(p,F,W,this.en),A=this.a*v*W/Math.sqrt(1-this.es*F*F)}return s.x=A,s.y=a,s}function d9(s){var A,a,v,p;return s.x-=this.x0,v=s.x/this.a,s.y-=this.y0,A=s.y/this.a,this.sphere?(A/=this.C_y,v=v/(this.C_x*(this.m+Math.cos(A))),this.m?A=it((this.m*A+Math.sin(A))/this.n):this.n!==1&&(A=it(Math.sin(A)/this.n)),v=L(v+this.long0),A=Nt(A)):(A=$i(s.y/this.a,this.es,this.en),p=Math.abs(A),p<O?(p=Math.sin(A),a=this.long0+s.x*Math.sqrt(1-this.es*p*p)/(this.a*Math.cos(A)),v=L(a)):p-Q<O&&(v=this.long0)),s.x=v,s.y=A,s}var g9=["Sinusoidal","sinu"],ah={init:M9,forward:y9,inverse:d9,names:g9};function R9(){}function x9(s){for(var A=s.x,a=s.y,v=L(A-this.long0),p=a,g=Math.PI*Math.sin(a);;){var R=-(p+Math.sin(p)-g)/(1+Math.cos(p));if(p+=R,Math.abs(R)<Q)break}p/=2,Math.PI/2-Math.abs(a)<Q&&(v=0);var x=.900316316158*this.a*v*Math.cos(p)+this.x0,F=1.4142135623731*this.a*Math.sin(p)+this.y0;return s.x=x,s.y=F,s}function w9(s){var A,a;s.x-=this.x0,s.y-=this.y0,a=s.y/(1.4142135623731*this.a),Math.abs(a)>.999999999999&&(a=.999999999999),A=Math.asin(a);var v=L(this.long0+s.x/(.900316316158*this.a*Math.cos(A)));v<-Math.PI&&(v=-Math.PI),v>Math.PI&&(v=Math.PI),a=(2*A+Math.sin(2*A))/Math.PI,Math.abs(a)>1&&(a=1);var p=Math.asin(a);return s.x=v,s.y=p,s}var _9=["Mollweide","moll"],ch={init:R9,forward:x9,inverse:w9,names:_9};function Z9(){Math.abs(this.lat1+this.lat2)<Q||(this.lat2=this.lat2||this.lat1,this.temp=this.b/this.a,this.es=1-Math.pow(this.temp,2),this.e=Math.sqrt(this.es),this.e0=rr(this.es),this.e1=er(this.es),this.e2=ir(this.es),this.e3=nr(this.es),this.sinphi=Math.sin(this.lat1),this.cosphi=Math.cos(this.lat1),this.ms1=q0(this.e,this.sinphi,this.cosphi),this.ml1=j0(this.e0,this.e1,this.e2,this.e3,this.lat1),Math.abs(this.lat1-this.lat2)<Q?this.ns=this.sinphi:(this.sinphi=Math.sin(this.lat2),this.cosphi=Math.cos(this.lat2),this.ms2=q0(this.e,this.sinphi,this.cosphi),this.ml2=j0(this.e0,this.e1,this.e2,this.e3,this.lat2),this.ns=(this.ms1-this.ms2)/(this.ml2-this.ml1)),this.g=this.ml1+this.ms1/this.ns,this.ml0=j0(this.e0,this.e1,this.e2,this.e3,this.lat0),this.rh=this.a*(this.g-this.ml0))}function F9(s){var A=s.x,a=s.y,v;if(this.sphere)v=this.a*(this.g-a);else{var p=j0(this.e0,this.e1,this.e2,this.e3,a);v=this.a*(this.g-p)}var g=this.ns*L(A-this.long0),R=this.x0+v*Math.sin(g),x=this.y0+this.rh-v*Math.cos(g);return s.x=R,s.y=x,s}function k9(s){s.x-=this.x0,s.y=this.rh-s.y+this.y0;var A,a,v,p;this.ns>=0?(a=Math.sqrt(s.x*s.x+s.y*s.y),A=1):(a=-Math.sqrt(s.x*s.x+s.y*s.y),A=-1);var g=0;if(a!==0&&(g=Math.atan2(A*s.x,A*s.y)),this.sphere)return p=L(this.long0+g/this.ns),v=Nt(this.g-a/this.a),s.x=p,s.y=v,s;var R=this.g-a/this.a;return v=Pr(R,this.e0,this.e1,this.e2,this.e3),p=L(this.long0+g/this.ns),s.x=p,s.y=v,s}var V9=["Equidistant_Conic","eqdc"],mh={init:Z9,forward:F9,inverse:k9,names:V9};function W9(){this.R=this.a}function N9(s){var A=s.x,a=s.y,v=L(A-this.long0),p,g;Math.abs(a)<=Q&&(p=this.x0+this.R*v,g=this.y0);var R=it(2*Math.abs(a/Math.PI));(Math.abs(v)<=Q||Math.abs(Math.abs(a)-O)<=Q)&&(p=this.x0,a>=0?g=this.y0+Math.PI*this.R*Math.tan(.5*R):g=this.y0+Math.PI*this.R*-Math.tan(.5*R));var x=.5*Math.abs(Math.PI/v-v/Math.PI),F=x*x,W=Math.sin(R),X=Math.cos(R),N=X/(W+X-1),S=N*N,H=N*(2/W-1),j=H*H,q=Math.PI*this.R*(x*(N-j)+Math.sqrt(F*(N-j)*(N-j)-(j+F)*(S-j)))/(j+F);v<0&&(q=-q),p=this.x0+q;var K=F+N;return q=Math.PI*this.R*(H*K-x*Math.sqrt((j+F)*(F+1)-K*K))/(j+F),a>=0?g=this.y0+q:g=this.y0-q,s.x=p,s.y=g,s}function X9(s){var A,a,v,p,g,R,x,F,W,X,N,S,H;return s.x-=this.x0,s.y-=this.y0,N=Math.PI*this.R,v=s.x/N,p=s.y/N,g=v*v+p*p,R=-Math.abs(p)*(1+g),x=R-2*p*p+v*v,F=-2*R+1+2*p*p+g*g,H=p*p/F+(2*x*x*x/F/F/F-9*R*x/F/F)/27,W=(R-x*x/3/F)/F,X=2*Math.sqrt(-W/3),N=3*H/W/X,Math.abs(N)>1&&(N>=0?N=1:N=-1),S=Math.acos(N)/3,s.y>=0?a=(-X*Math.cos(S+Math.PI/3)-x/3/F)*Math.PI:a=-(-X*Math.cos(S+Math.PI/3)-x/3/F)*Math.PI,Math.abs(v)<Q?A=this.long0:A=L(this.long0+Math.PI*(g-1+Math.sqrt(1+2*(v*v-p*p)+g*g))/2/v),s.x=A,s.y=a,s}var T9=["Van_der_Grinten_I","VanDerGrinten","vandg"],vh={init:W9,forward:N9,inverse:X9,names:T9};function U9(){this.sin_p12=Math.sin(this.lat0),this.cos_p12=Math.cos(this.lat0)}function G9(s){var A=s.x,a=s.y,v=Math.sin(s.y),p=Math.cos(s.y),g=L(A-this.long0),R,x,F,W,X,N,S,H,j,q,K,r0,o0,u0,p0,l0,A0,U0,W0,wt,or,fr,yr;return this.sphere?Math.abs(this.sin_p12-1)<=Q?(s.x=this.x0+this.a*(O-a)*Math.sin(g),s.y=this.y0-this.a*(O-a)*Math.cos(g),s):Math.abs(this.sin_p12+1)<=Q?(s.x=this.x0+this.a*(O+a)*Math.sin(g),s.y=this.y0+this.a*(O+a)*Math.cos(g),s):(U0=this.sin_p12*v+this.cos_p12*p*Math.cos(g),l0=Math.acos(U0),A0=l0?l0/Math.sin(l0):1,s.x=this.x0+this.a*A0*p*Math.sin(g),s.y=this.y0+this.a*A0*(this.cos_p12*v-this.sin_p12*p*Math.cos(g)),s):(R=rr(this.es),x=er(this.es),F=ir(this.es),W=nr(this.es),Math.abs(this.sin_p12-1)<=Q?(X=this.a*j0(R,x,F,W,O),N=this.a*j0(R,x,F,W,a),s.x=this.x0+(X-N)*Math.sin(g),s.y=this.y0-(X-N)*Math.cos(g),s):Math.abs(this.sin_p12+1)<=Q?(X=this.a*j0(R,x,F,W,O),N=this.a*j0(R,x,F,W,a),s.x=this.x0+(X+N)*Math.sin(g),s.y=this.y0+(X+N)*Math.cos(g),s):(S=v/p,H=sr(this.a,this.e,this.sin_p12),j=sr(this.a,this.e,v),q=Math.atan((1-this.es)*S+this.es*H*this.sin_p12/(j*p)),K=Math.atan2(Math.sin(g),this.cos_p12*Math.tan(q)-this.sin_p12*Math.cos(g)),K===0?W0=Math.asin(this.cos_p12*Math.sin(q)-this.sin_p12*Math.cos(q)):Math.abs(Math.abs(K)-Math.PI)<=Q?W0=-Math.asin(this.cos_p12*Math.sin(q)-this.sin_p12*Math.cos(q)):W0=Math.asin(Math.sin(g)*Math.cos(q)/Math.sin(K)),r0=this.e*this.sin_p12/Math.sqrt(1-this.es),o0=this.e*this.cos_p12*Math.cos(K)/Math.sqrt(1-this.es),u0=r0*o0,p0=o0*o0,wt=W0*W0,or=wt*W0,fr=or*W0,yr=fr*W0,l0=H*W0*(1-wt*p0*(1-p0)/6+or/8*u0*(1-2*p0)+fr/120*(p0*(4-7*p0)-3*r0*r0*(1-7*p0))-yr/48*u0),s.x=this.x0+l0*Math.sin(K),s.y=this.y0+l0*Math.cos(K),s))}function z9(s){s.x-=this.x0,s.y-=this.y0;var A,a,v,p,g,R,x,F,W,X,N,S,H,j,q,K,r0,o0,u0,p0,l0,A0,U0,W0;return this.sphere?(A=Math.sqrt(s.x*s.x+s.y*s.y),A>2*O*this.a?void 0:(a=A/this.a,v=Math.sin(a),p=Math.cos(a),g=this.long0,Math.abs(A)<=Q?R=this.lat0:(R=it(p*this.sin_p12+s.y*v*this.cos_p12/A),x=Math.abs(this.lat0)-O,Math.abs(x)<=Q?this.lat0>=0?g=L(this.long0+Math.atan2(s.x,-s.y)):g=L(this.long0-Math.atan2(-s.x,s.y)):g=L(this.long0+Math.atan2(s.x*v,A*this.cos_p12*p-s.y*this.sin_p12*v))),s.x=g,s.y=R,s)):(F=rr(this.es),W=er(this.es),X=ir(this.es),N=nr(this.es),Math.abs(this.sin_p12-1)<=Q?(S=this.a*j0(F,W,X,N,O),A=Math.sqrt(s.x*s.x+s.y*s.y),H=S-A,R=Pr(H/this.a,F,W,X,N),g=L(this.long0+Math.atan2(s.x,-1*s.y)),s.x=g,s.y=R,s):Math.abs(this.sin_p12+1)<=Q?(S=this.a*j0(F,W,X,N,O),A=Math.sqrt(s.x*s.x+s.y*s.y),H=A-S,R=Pr(H/this.a,F,W,X,N),g=L(this.long0+Math.atan2(s.x,s.y)),s.x=g,s.y=R,s):(A=Math.sqrt(s.x*s.x+s.y*s.y),K=Math.atan2(s.x,s.y),j=sr(this.a,this.e,this.sin_p12),r0=Math.cos(K),o0=this.e*this.cos_p12*r0,u0=-o0*o0/(1-this.es),p0=3*this.es*(1-u0)*this.sin_p12*this.cos_p12*r0/(1-this.es),l0=A/j,A0=l0-u0*(1+u0)*Math.pow(l0,3)/6-p0*(1+3*u0)*Math.pow(l0,4)/24,U0=1-u0*A0*A0/2-l0*A0*A0*A0/6,q=Math.asin(this.sin_p12*Math.cos(A0)+this.cos_p12*Math.sin(A0)*r0),g=L(this.long0+Math.asin(Math.sin(K)*Math.sin(A0)/Math.cos(q))),W0=Math.sin(q),R=Math.atan2((W0-this.es*U0*this.sin_p12)*Math.tan(q),W0*(1-this.es)),s.x=g,s.y=R,s))}var E9=["Azimuthal_Equidistant","aeqd"],ph={init:U9,forward:G9,inverse:z9,names:E9};function B9(){this.sin_p14=Math.sin(this.lat0),this.cos_p14=Math.cos(this.lat0)}function S9(s){var A,a,v,p,g,R,x,F,W=s.x,X=s.y;return v=L(W-this.long0),A=Math.sin(X),a=Math.cos(X),p=Math.cos(v),R=this.sin_p14*A+this.cos_p14*a*p,g=1,(R>0||Math.abs(R)<=Q)&&(x=this.a*g*a*Math.sin(v),F=this.y0+this.a*g*(this.cos_p14*A-this.sin_p14*a*p)),s.x=x,s.y=F,s}function C9(s){var A,a,v,p,g,R,x;return s.x-=this.x0,s.y-=this.y0,A=Math.sqrt(s.x*s.x+s.y*s.y),a=it(A/this.a),v=Math.sin(a),p=Math.cos(a),R=this.long0,Math.abs(A)<=Q?(x=this.lat0,s.x=R,s.y=x,s):(x=it(p*this.sin_p14+s.y*v*this.cos_p14/A),g=Math.abs(this.lat0)-O,Math.abs(g)<=Q?(this.lat0>=0?R=L(this.long0+Math.atan2(s.x,-s.y)):R=L(this.long0-Math.atan2(-s.x,s.y)),s.x=R,s.y=x,s):(R=L(this.long0+Math.atan2(s.x*v,A*this.cos_p14*p-s.y*this.sin_p14*v)),s.x=R,s.y=x,s))}var J9=["ortho"],Mh={init:B9,forward:S9,inverse:C9,names:J9};var B0={FRONT:1,RIGHT:2,BACK:3,LEFT:4,TOP:5,BOTTOM:6},w0={AREA_0:1,AREA_1:2,AREA_2:3,AREA_3:4};function I9(){this.x0=this.x0||0,this.y0=this.y0||0,this.lat0=this.lat0||0,this.long0=this.long0||0,this.lat_ts=this.lat_ts||0,this.title=this.title||"Quadrilateralized Spherical Cube",this.lat0>=O-M0/2?this.face=B0.TOP:this.lat0<=-(O-M0/2)?this.face=B0.BOTTOM:Math.abs(this.long0)<=M0?this.face=B0.FRONT:Math.abs(this.long0)<=O+M0?this.face=this.long0>0?B0.RIGHT:B0.LEFT:this.face=B0.BACK,this.es!==0&&(this.one_minus_f=1-(this.a-this.b)/this.a,this.one_minus_f_squared=this.one_minus_f*this.one_minus_f)}function O9(s){var A={x:0,y:0},a,v,p,g,R,x,F={value:0};if(s.x-=this.long0,this.es!==0?a=Math.atan(this.one_minus_f_squared*Math.tan(s.y)):a=s.y,v=s.x,this.face===B0.TOP)g=O-a,v>=M0&&v<=O+M0?(F.value=w0.AREA_0,p=v-O):v>O+M0||v<=-(O+M0)?(F.value=w0.AREA_1,p=v>0?v-E0:v+E0):v>-(O+M0)&&v<=-M0?(F.value=w0.AREA_2,p=v+O):(F.value=w0.AREA_3,p=v);else if(this.face===B0.BOTTOM)g=O+a,v>=M0&&v<=O+M0?(F.value=w0.AREA_0,p=-v+O):v<M0&&v>=-M0?(F.value=w0.AREA_1,p=-v):v<-M0&&v>=-(O+M0)?(F.value=w0.AREA_2,p=-v-O):(F.value=w0.AREA_3,p=v>0?-v+E0:-v-E0);else{var W,X,N,S,H,j,q;this.face===B0.RIGHT?v=pe(v,+O):this.face===B0.BACK?v=pe(v,+E0):this.face===B0.LEFT&&(v=pe(v,-O)),S=Math.sin(a),H=Math.cos(a),j=Math.sin(v),q=Math.cos(v),W=H*q,X=H*j,N=S,this.face===B0.FRONT?(g=Math.acos(W),p=en(g,N,X,F)):this.face===B0.RIGHT?(g=Math.acos(X),p=en(g,N,-W,F)):this.face===B0.BACK?(g=Math.acos(-W),p=en(g,N,-X,F)):this.face===B0.LEFT?(g=Math.acos(-X),p=en(g,N,W,F)):(g=p=0,F.value=w0.AREA_0)}return x=Math.atan(12/E0*(p+Math.acos(Math.sin(p)*Math.cos(M0))-O)),R=Math.sqrt((1-Math.cos(g))/(Math.cos(x)*Math.cos(x))/(1-Math.cos(Math.atan(1/Math.cos(p))))),F.value===w0.AREA_1?x+=O:F.value===w0.AREA_2?x+=E0:F.value===w0.AREA_3&&(x+=1.5*E0),A.x=R*Math.cos(x),A.y=R*Math.sin(x),A.x=A.x*this.a+this.x0,A.y=A.y*this.a+this.y0,s.x=A.x,s.y=A.y,s}function j9(s){var A={lam:0,phi:0},a,v,p,g,R,x,F,W,X,N={value:0};if(s.x=(s.x-this.x0)/this.a,s.y=(s.y-this.y0)/this.a,v=Math.atan(Math.sqrt(s.x*s.x+s.y*s.y)),a=Math.atan2(s.y,s.x),s.x>=0&&s.x>=Math.abs(s.y)?N.value=w0.AREA_0:s.y>=0&&s.y>=Math.abs(s.x)?(N.value=w0.AREA_1,a-=O):s.x<0&&-s.x>=Math.abs(s.y)?(N.value=w0.AREA_2,a=a<0?a+E0:a-E0):(N.value=w0.AREA_3,a+=O),X=E0/12*Math.tan(a),R=Math.sin(X)/(Math.cos(X)-1/Math.sqrt(2)),x=Math.atan(R),p=Math.cos(a),g=Math.tan(v),F=1-p*p*g*g*(1-Math.cos(Math.atan(1/Math.cos(x)))),F<-1?F=-1:F>1&&(F=1),this.face===B0.TOP)W=Math.acos(F),A.phi=O-W,N.value===w0.AREA_0?A.lam=x+O:N.value===w0.AREA_1?A.lam=x<0?x+E0:x-E0:N.value===w0.AREA_2?A.lam=x-O:A.lam=x;else if(this.face===B0.BOTTOM)W=Math.acos(F),A.phi=W-O,N.value===w0.AREA_0?A.lam=-x+O:N.value===w0.AREA_1?A.lam=-x:N.value===w0.AREA_2?A.lam=-x-O:A.lam=x<0?-x-E0:-x+E0;else{var S,H,j;S=F,X=S*S,X>=1?j=0:j=Math.sqrt(1-X)*Math.sin(x),X+=j*j,X>=1?H=0:H=Math.sqrt(1-X),N.value===w0.AREA_1?(X=H,H=-j,j=X):N.value===w0.AREA_2?(H=-H,j=-j):N.value===w0.AREA_3&&(X=H,H=j,j=-X),this.face===B0.RIGHT?(X=S,S=-H,H=X):this.face===B0.BACK?(S=-S,H=-H):this.face===B0.LEFT&&(X=S,S=H,H=-X),A.phi=Math.acos(-j)-O,A.lam=Math.atan2(H,S),this.face===B0.RIGHT?A.lam=pe(A.lam,-O):this.face===B0.BACK?A.lam=pe(A.lam,-E0):this.face===B0.LEFT&&(A.lam=pe(A.lam,+O))}if(this.es!==0){var q,K,r0;q=A.phi<0?1:0,K=Math.tan(A.phi),r0=this.b/Math.sqrt(K*K+this.one_minus_f_squared),A.phi=Math.atan(Math.sqrt(this.a*this.a-r0*r0)/(this.one_minus_f*r0)),q&&(A.phi=-A.phi)}return A.lam+=this.long0,s.x=A.lam,s.y=A.phi,s}function en(s,A,a,v){var p;return s<Q?(v.value=w0.AREA_0,p=0):(p=Math.atan2(A,a),Math.abs(p)<=M0?v.value=w0.AREA_0:p>M0&&p<=O+M0?(v.value=w0.AREA_1,p-=O):p>O+M0||p<=-(O+M0)?(v.value=w0.AREA_2,p=p>=0?p-E0:p+E0):(v.value=w0.AREA_3,p+=O)),p}function pe(s,A){var a=s+A;return a<-E0?a+=Qe:a>+E0&&(a-=Qe),a}var P9=["Quadrilateralized Spherical Cube","Quadrilateralized_Spherical_Cube","qsc"],yh={init:I9,forward:O9,inverse:j9,names:P9};var E2=[[1,22199e-21,-715515e-10,31103e-10],[.9986,-482243e-9,-24897e-9,-13309e-10],[.9954,-83103e-8,-448605e-10,-986701e-12],[.99,-.00135364,-59661e-9,36777e-10],[.9822,-.00167442,-449547e-11,-572411e-11],[.973,-.00214868,-903571e-10,18736e-12],[.96,-.00305085,-900761e-10,164917e-11],[.9427,-.00382792,-653386e-10,-26154e-10],[.9216,-.00467746,-10457e-8,481243e-11],[.8962,-.00536223,-323831e-10,-543432e-11],[.8679,-.00609363,-113898e-9,332484e-11],[.835,-.00698325,-640253e-10,934959e-12],[.7986,-.00755338,-500009e-10,935324e-12],[.7597,-.00798324,-35971e-9,-227626e-11],[.7186,-.00851367,-701149e-10,-86303e-10],[.6732,-.00986209,-199569e-9,191974e-10],[.6213,-.010418,883923e-10,624051e-11],[.5722,-.00906601,182e-6,624051e-11],[.5322,-.00677797,275608e-9,624051e-11]],ti=[[-520417e-23,.0124,121431e-23,-845284e-16],[.062,.0124,-126793e-14,422642e-15],[.124,.0124,507171e-14,-160604e-14],[.186,.0123999,-190189e-13,600152e-14],[.248,.0124002,710039e-13,-224e-10],[.31,.0123992,-264997e-12,835986e-13],[.372,.0124029,988983e-12,-311994e-12],[.434,.0123893,-369093e-11,-435621e-12],[.4958,.0123198,-102252e-10,-345523e-12],[.5571,.0121916,-154081e-10,-582288e-12],[.6176,.0119938,-241424e-10,-525327e-12],[.6769,.011713,-320223e-10,-516405e-12],[.7346,.0113541,-397684e-10,-609052e-12],[.7903,.0109107,-489042e-10,-104739e-11],[.8435,.0103431,-64615e-9,-140374e-14],[.8936,.00969686,-64636e-9,-8547e-9],[.9394,.00840947,-192841e-9,-42106e-10],[.9761,.00616527,-256e-6,-42106e-10],[1,.00328947,-319159e-9,-42106e-10]],dh=.8487,gh=1.3523,Rh=Wt/5,Y9=1/Rh,Me=18,nn=function(s,A){return s[0]+A*(s[1]+A*(s[2]+A*s[3]))},H9=function(s,A){return s[1]+A*(2*s[2]+A*3*s[3])};function D9(s,A,a,v){for(var p=A;v;--v){var g=s(p);if(p-=g,Math.abs(g)<a)break}return p}function Q9(){this.x0=this.x0||0,this.y0=this.y0||0,this.long0=this.long0||0,this.es=0,this.title=this.title||"Robinson"}function L9(s){var A=L(s.x-this.long0),a=Math.abs(s.y),v=Math.floor(a*Rh);v<0?v=0:v>=Me&&(v=Me-1),a=Wt*(a-Y9*v);var p={x:nn(E2[v],a)*A,y:nn(ti[v],a)};return s.y<0&&(p.y=-p.y),p.x=p.x*this.a*dh+this.x0,p.y=p.y*this.a*gh+this.y0,p}function q9(s){var A={x:(s.x-this.x0)/(this.a*dh),y:Math.abs(s.y-this.y0)/(this.a*gh)};if(A.y>=1)A.x/=E2[Me][0],A.y=s.y<0?-O:O;else{var a=Math.floor(A.y*Me);for(a<0?a=0:a>=Me&&(a=Me-1);;)if(ti[a][0]>A.y)--a;else if(ti[a+1][0]<=A.y)++a;else break;var v=ti[a],p=5*(A.y-v[0])/(ti[a+1][0]-v[0]);p=D9(function(g){return(nn(v,g)-A.y)/H9(v,g)},p,Q,100),A.x/=nn(E2[a],p),A.y=(5*a+p)*I0,s.y<0&&(A.y=-A.y)}return A.x=L(A.x+this.long0),A}var $9=["Robinson","robin"],xh={init:Q9,forward:L9,inverse:q9,names:$9};function K9(){this.name="geocent"}function b9(s){var A=Hi(s,this.es,this.a);return A}function tR(s){var A=Di(s,this.es,this.a,this.b);return A}var rR=["Geocentric","geocentric","geocent","Geocent"],wh={init:K9,forward:b9,inverse:tR,names:rR};function _h(s){s.Proj.projections.add(OA),s.Proj.projections.add(ve),s.Proj.projections.add(QA),s.Proj.projections.add(LA),s.Proj.projections.add(qA),s.Proj.projections.add($A),s.Proj.projections.add(KA),s.Proj.projections.add(bA),s.Proj.projections.add(th),s.Proj.projections.add(rh),s.Proj.projections.add(eh),s.Proj.projections.add(ih),s.Proj.projections.add(nh),s.Proj.projections.add(oh),s.Proj.projections.add(fh),s.Proj.projections.add(hh),s.Proj.projections.add(lh),s.Proj.projections.add(uh),s.Proj.projections.add(ah),s.Proj.projections.add(ch),s.Proj.projections.add(mh),s.Proj.projections.add(vh),s.Proj.projections.add(ph),s.Proj.projections.add(Mh),s.Proj.projections.add(yh),s.Proj.projections.add(xh),s.Proj.projections.add(wh)}at.defaultDatum="WGS84";at.Proj=Mr;at.WGS84=new at.Proj("WGS84");at.Point=SA;at.toPoint=Li;at.defs=ue;at.transform=Or;at.mgrs=zA;at.version="__VERSION__";_h(at);var B2=at;var Yr=class{static defineProjectionAliases(A){let a=[];for(let v in A)a.push([v,A[v]]);B2.defs(a)}constructor({from:A="WGS84",to:a="WGS84"}){if(this._projection=B2(A,a),!this._projection)throw new Error("Invalid projection");this.project=this.project.bind(this),this.unproject=this.unproject.bind(this)}project(A){return this._projection.forward(A)}unproject(A){return this._projection.inverse(A)}};var Zh=s=>s?new Yr({from:s,to:"WGS84"}):null;var Fh=(s,A)=>{if(!A)return[0,0,0];let[a,v,p]=A[0],[g,R,x]=A[1],F=a,W=v,X=g,N=R;return s&&([F,W]=s.project([F,W]),[X,N]=s.project([X,N])),[F+(X-F)/2,W+(N-W)/2,p+(x-p)/2]};var S2;(function(s){s[s.DEFAULT=-1]="DEFAULT",s[s.LNGLAT=1]="LNGLAT",s[s.METER_OFFSETS=2]="METER_OFFSETS",s[s.LNGLAT_OFFSETS=3]="LNGLAT_OFFSETS",s[s.CARTESIAN=0]="CARTESIAN"})(S2||(S2={}));var on=class extends le{baseUrl="";metadata=null;root=null;isReady=!1;projection=null;boundingBox;initPromise=null;constructor(A,a){super(A,a),this.makeBaseUrl(this.data),this.initPromise=this.init()}async init(){if(this.initPromise){await this.initPromise;return}this.metadata=await(0,sn.load)(`${this.baseUrl}/cloud.js`,Si),this.projection=Zh(this.metadata?.projection),this.parseBoundingVolume(),await this.loadHierarchy(),this.isReady=!0}isSupported(){let{minor:A,major:a}=bf(this.metadata?.version??"");return this.isReady&&a===1&&A<=8&&typeof this.metadata?.pointAttributes=="string"&&["LAS","LAZ"].includes(this.metadata?.pointAttributes)}getContentExtension(){if(!this.isReady)return null;switch(this.metadata?.pointAttributes){case"LAS":return"las";case"LAZ":return"laz";default:return"bin"}}async loadNodeContent(A){if(await this.initPromise,!this.isSupported())return null;if(await this.isNodeAvailable(A)){let v=await(0,sn.load)(`${this.baseUrl}/${this.metadata?.octreeDir}/r/r${A}.${this.getContentExtension()}`,F2);if(v){v.cartographicOrigin=Fh(this.projection,v.header?.boundingBox);let p=v.attributes.POSITION.value;for(let g=0;g<(v.header?.vertexCount??0);g++){let R=p.slice(g*3,g*3+2);this.projection&&(R=this.projection.project(Array.from(R)));let x=[R[0]-v.cartographicOrigin[0],R[1]-v.cartographicOrigin[1],p[g*3+2]-v.cartographicOrigin[2]];p.set(x,g*3)}return v.attributes.positions=v.attributes.POSITION,v.attributes.colors=v.attributes.COLOR_0,v.attributes.normals=v.attributes.NORMAL,v.coordinateSystem=S2.LNGLAT_OFFSETS,v}}return null}async isNodeAvailable(A){if(this.metadata?.hierarchy)return this.metadata.hierarchy.findIndex(g=>g[0]===`r${A}`)!==-1;if(!this.root)return!1;let a=this.root,v="",p=!0;for(let g of A){let R=`${v}${g}`,x=a.children.find(F=>F.name===R);if(x)a=x,v=R;else{p=!1;break}}return p}async loadHierarchy(){this.root=await(0,sn.load)(`${this.baseUrl}/${this.metadata?.octreeDir}/r/r.hrc`,Ci)}makeBaseUrl(A){this.baseUrl=typeof A=="string"?He(A):"",this.baseUrl.endsWith("cloud.js")&&(this.baseUrl=this.baseUrl.substring(0,-8)),this.baseUrl.endsWith("/")&&(this.baseUrl=this.baseUrl.substring(0,-1))}parseBoundingVolume(){if(this.metadata?.projection&&this.metadata.tightBoundingBox){let A=new Yr({from:this.metadata.projection,to:"WGS84"}),{lx:a,ly:v,ux:p,uy:g}=this.metadata.tightBoundingBox,R=[a,v],x=A.project(R),F=[p,g],W=A.project(F);this.boundingBox={...this.metadata.tightBoundingBox,lx:x[0],ly:x[1],ux:W[0],uy:W[1]}}else this.boundingBox=this.metadata?.tightBoundingBox}};var eR="1.7",kh={name:"Potree",id:"potree",module:"potree",version:eR,extensions:["bin","las","laz"],mimeTypes:["application/octet-stream"],type:"potree",fromUrl:!0,fromBlob:!0,defaultOptions:{potree:{}},testURL:s=>s.endsWith(".js"),createDataSource:(s,A)=>new on(s,A)};return ky(ri);})();