@loaders.gl/potree 4.4.0 → 4.4.1

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 Ey=Object.getOwnPropertyDescriptor;var zy=Object.getOwnPropertyNames;var By=Object.getPrototypeOf,Sy=Object.prototype.hasOwnProperty;var Cy=(s,f,h)=>f in s?Ye(s,f,{enumerable:!0,configurable:!0,writable:!0,value:h}):s[f]=h;var d2=(s,f)=>()=>(f||s((f={exports:{}}).exports,f),f.exports),Iy=(s,f)=>{for(var h in f)Ye(s,h,{get:f[h],enumerable:!0})},Bi=(s,f,h,m)=>{if(f&&typeof f=="object"||typeof f=="function")for(let p of zy(f))!Sy.call(s,p)&&p!==h&&Ye(s,p,{get:()=>f[p],enumerable:!(m=Ey(f,p))||m.enumerable});return s},Si=(s,f,h)=>(Bi(s,f,"default"),h&&Bi(h,f,"default")),Jf=(s,f,h)=>(h=s!=null?Gy(By(s)):{},Bi(f||!s||!s.__esModule?Ye(h,"default",{value:s,enumerable:!0}):h,s)),Oy=s=>Bi(Ye({},"__esModule",{value:!0}),s);var Pf=(s,f,h)=>(Cy(s,typeof f!="symbol"?f+"":f,h),h);var y2=d2((pR,jf)=>{jf.exports=globalThis.loaders});var x2=d2(()=>{});var ia=d2(()=>{});var ei={};Iy(ei,{PotreeBinLoader:()=>Hf,PotreeHierarchyChunkLoader:()=>Ii,PotreeLoader:()=>Ci,PotreeSource:()=>OA});Si(ei,Jf(y2(),1));var Jy="4.4.0",Ci={dataType:null,batchType:null,name:"potree metadata",id:"potree",module:"potree",version:Jy,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 M2(s){let f=Py(s);return jy(f)}function Py(s,f=0){let h=new DataView(s),m=[],p={};f=Yf(h,f,p),m.push(p);let y=[p];for(;m.length>0;){let _=m.shift(),R=1;for(let F=0;F<8;F++){if(_&&_.header.childMask&R){let V={};f=Yf(h,f,V),V.name=_.name+F,m.push(V),y.push(V),_.header.childCount++}R=R*2}if(f===h.byteLength)break}return y}function Yf(s,f,h){return h.header=h.header||{},h.header.childMask=s.getUint8(f),h.header.childCount=0,h.pointCount=s.getUint32(f+1,!0),h.name="",f+=5,f}function jy(s,f={}){f={...{spacing:100},...f};let m=s[0],p={};for(let y of s){let{name:_}=y,R=parseInt(_.charAt(_.length-1),10),F=_.substring(0,_.length-1),V=p[F],X=_.length-1;y.level=X,y.hasChildren=Boolean(y.header.childCount),y.children=[],y.childrenByIndex=new Array(8).fill(null),y.spacing=(f?.spacing||0)/Math.pow(2,X),y.type="pointcloud",y.id=y.name,V&&(V.children.push(y),V.childrenByIndex[R]=y),p[_]=y}return m}var Yy="4.4.0",Ii={dataType:null,batchType:null,name:"potree Hierarchy Chunk",id:"potree-hrc",module:"potree",version:Yy,extensions:["hrc"],mimeTypes:["application/octet-stream"],parse:async(s,f)=>M2(s),parseSync:(s,f)=>M2(s),options:{potree:{}},binary:!0};function Df(s,f,h,m){return null}var Hf={dataType:null,batchType:null,name:"potree Binary Point Attributes",id:"potree",extensions:["bin"],mimeTypes:["application/octet-stream"],parseSync:Dy,binary:!0,options:{}};function Dy(s,f){let h={};return Df(s,0,f,h),h}var an=Jf(y2(),1);function Lf(s,f){return Qf(s||{},f)}function Qf(s,f,h=0){if(h>3)return f;let m={...s};for(let[p,y]of Object.entries(f))y&&typeof y=="object"&&!Array.isArray(y)?m[p]=Qf(m[p]||{},f[p],h+1):m[p]=f[p];return m}var Hy="",qf={};function De(s){for(let f in qf)if(s.startsWith(f)){let h=qf[f];s=s.replace(f,h)}return!s.startsWith("http://")&&!s.startsWith("https://")&&(s=`${Hy}${s}`),s}var g2=class{optionsType;options;data;url;loadOptions;fetch;_needsRefresh=!0;constructor(f,h,m){m?this.options=Lf({...m,core:g2.defaultOptions},h):this.options={...h},this.data=f,this.url=typeof f=="string"?De(f):"",this.loadOptions=Qy(this.options.core?.loadOptions),this.fetch=Ly(this.loadOptions)}setProps(f){this.options=Object.assign(this.options,f),this.setNeedsRefresh()}setNeedsRefresh(){this._needsRefresh=!0}getNeedsRefresh(f=!0){let h=this._needsRefresh;return f&&(this._needsRefresh=!1),h}},he=g2;Pf(he,"defaultOptions",{core:{type:"auto",attributions:[],loadOptions:{},loaders:[]}});function Ly(s){let f=s?.core?.fetch;if(f&&typeof f=="function")return(m,p)=>f(m,p);let h=s?.fetch;return h&&typeof h!="function"?m=>fetch(m,h):m=>fetch(m)}function Qy(s){let f={...s};s?.core&&(f.core={...s.core});let h=typeof f.baseUri=="string"?f.baseUri:void 0,m=typeof f.baseUrl=="string"?f.baseUrl:void 0;return(h!==void 0||m!==void 0)&&(f.core||={},f.core.baseUrl===void 0&&(f.core.baseUrl=m??h),delete f.baseUri,delete f.baseUrl),f}var $f={name:"LAS",id:"las",module:"las",extensions:["las","laz"],mimeTypes:["application/octet-stream"],text:!1,binary:!0,tests:["LASF"]};var qy="4.4.0",Kf={...$f,dataType:null,batchType:null,version:qy,worker:!0,options:{las:{shape:"mesh",fp64:!1,skip:1,colorDepth:8}}};function bf(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 _2(s){let f=1/0,h=1/0,m=1/0,p=-1/0,y=-1/0,_=-1/0,R=s.POSITION?s.POSITION.value:[],F=R&&R.length;for(let V=0;V<F;V+=3){let X=R[V],T=R[V+1],C=R[V+2];f=X<f?X:f,h=T<h?T:h,m=C<m?C:m,p=X>p?X:p,y=T>y?T:y,_=C>_?C:_}return[[f,h,m],[p,y,_]]}function R2(s,f={}){return{fields:$y(s),metadata:f}}function ta(s,f,h){let m=bf(f.value),p=h||ra(f);return{name:s,type:{type:"fixed-size-list",listSize:f.size,children:[{name:"value",type:m}]},nullable:!1,metadata:p}}function $y(s){let f=[];for(let h in s){let m=s[h];f.push(ta(h,m))}return f}function ra(s){let f={};return"byteOffset"in s&&(f.byteOffset=s.byteOffset.toString(10)),"byteStride"in s&&(f.byteStride=s.byteStride.toString(10)),"normalized"in s&&(f.normalized=s.normalized.toString()),f}function ea(s,f){let h=Ky(s);return R2(f,h)}function Ky(s){let f={};return f.las_pointsOffset=s.pointsOffset.toString(10),f.las_pointsFormatId=s.pointsFormatId.toString(10),f.las_pointsStructSize=s.pointsStructSize.toString(10),f.las_pointsCount=s.pointsCount.toString(10),f.las_scale=JSON.stringify(s.scale),f.las_offset=JSON.stringify(s.offset),s.maxs!==void 0&&(f.las_maxs=JSON.stringify(s.maxs)),s.mins!==void 0&&(f.las_mins=JSON.stringify(s.mins)),f.las_totalToRead=s.totalToRead.toString(10),f.las_pointsFortotalReadmatId=s.totalRead.toString(10),s.versionAsString!==void 0&&(f.las_versionAsString=s.versionAsString),s.isCompressed!==void 0&&(f.las_isCompressed=s.isCompressed.toString()),f}function w2(){var s=typeof s<"u"?s:{},f={},h;for(h in s)s.hasOwnProperty(h)&&(f[h]=s[h]);var m=[],p="./this.program",y=function(M,g){throw g},_=!1,R=!1,F=!1,V=!1;_=typeof window=="object",R=typeof importScripts=="function",F=typeof process=="object"&&typeof process.versions=="object"&&typeof process.versions.node=="string",V=!_&&!F&&!R;var X="";function T(M){return s.locateFile?s.locateFile(M,X):X+M}var C,W,P,q,K,r0;F?(R?X=x2().dirname(X)+"/":X=(typeof __dirname<"u"?__dirname:"")+"/",C=function(g,k){var u=hr(g);return u?k?u:u.toString():(K||(K=ia()),r0||(r0=x2()),g=r0.normalize(g),K.readFileSync(g,k?null:"utf8"))},P=function(g){var k=C(g,!0);return k.buffer||(k=new Uint8Array(k)),Dr(k.buffer),k},process.argv.length>1&&(p=process.argv[1].replace(/\\/g,"/")),m=process.argv.slice(2),typeof module<"u"&&(module.exports=s),process.on("uncaughtException",function(M){if(!(M instanceof Bl))throw M}),process.on("unhandledRejection",Rr),y=function(M){process.exit(M)},s.inspect=function(){return"[Emscripten Module object]"}):V?(typeof read<"u"&&(C=function(g){var k=hr(g);return k?ys(k):read(g)}),P=function(g){var k;return k=hr(g),k||(typeof readbuffer=="function"?new Uint8Array(readbuffer(g)):(k=read(g,"binary"),Dr(typeof k=="object"),k))},typeof scriptArgs<"u"?m=scriptArgs:typeof arguments<"u"&&(m=arguments),typeof quit=="function"&&(y=function(M){quit(M)}),typeof print<"u"&&(typeof console>"u"&&(console={}),console.log=print,console.warn=console.error=typeof printErr<"u"?printErr:print)):(_||R)&&(R?X=self.location.href:document.currentScript&&(X=document.currentScript.src),X.indexOf("blob:")!==0?X=X.substr(0,X.lastIndexOf("/")+1):X="",C=function(g){try{var k=new XMLHttpRequest;return k.open("GET",g,!1),k.send(null),k.responseText}catch(B){var u=hr(g);if(u)return ys(u);throw B}},R&&(P=function(g){try{var k=new XMLHttpRequest;return k.open("GET",g,!1),k.responseType="arraybuffer",k.send(null),new Uint8Array(k.response)}catch(B){var u=hr(g);if(u)return u;throw B}}),W=function(g,k,u){var B=new XMLHttpRequest;B.open("GET",g,!0),B.responseType="arraybuffer",B.onload=function(){if(B.status==200||B.status==0&&B.response){k(B.response);return}var Z=hr(g);if(Z){k(Z.buffer);return}u()},B.onerror=u,B.send(null)},q=function(M){document.title=M});var o0=s.print||console.log.bind(console),l0=s.printErr||console.warn.bind(console);for(h in f)f.hasOwnProperty(h)&&(s[h]=f[h]);f=null,s.arguments&&(m=s.arguments),s.thisProgram&&(p=s.thisProgram),s.quit&&(y=s.quit);var p0=16;function h0(M){var g=nt[cn>>2],k=g+M+15&-16;return nt[cn>>2]=k,g}function a0(M){switch(M){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(M[M.length-1]==="*")return 4;if(M[0]==="i"){var g=Number(M.substr(1));return Dr(g%8===0,"getNativeTypeSize invalid bits "+g+", type "+M),g/8}else return 0}}}function U0(M){U0.shown||(U0.shown={}),U0.shown[M]||(U0.shown[M]=1,l0(M))}var V0=1,wt=new Array(0),or={};function fr(M,g,k){return k&&k.length?s["dynCall_"+M].apply(null,[g].concat(k)):s["dynCall_"+M].call(null,g)}var yr=0,hn=function(M){yr=M},JA=function(){return yr},D2=8,PA;s.wasmBinary&&(PA=s.wasmBinary);var H2;s.noExitRuntime&&(H2=s.noExitRuntime);function g9(M,g,k,u){switch(k=k||"i8",k.charAt(k.length-1)==="*"&&(k="i32"),k){case"i1":ar[M>>0]=g;break;case"i8":ar[M>>0]=g;break;case"i16":gr[M>>1]=g;break;case"i32":nt[M>>2]=g;break;case"i64":vn=[g>>>0,(Hr=g,+ch(Hr)>=1?Hr>0?(ph(+vh(Hr/4294967296),4294967295)|0)>>>0:~~+mh((Hr-+(~~Hr>>>0))/4294967296)>>>0:0)],nt[M>>2]=vn[0],nt[M+4>>2]=vn[1];break;case"float":ln[M>>2]=g;break;case"double":un[M>>3]=g;break;default:Rr("invalid type for setValue: "+k)}}var L2=!1,jA=0;function Dr(M,g){M||Rr("Assertion failed: "+g)}function YA(M){var g=s["_"+M];return Dr(g,"Cannot call unknown function "+M+", make sure it is exported"),g}function _9(M,g,k,u,B){var r={string:function(m0){var T0=0;if(m0!=null&&m0!==0){var H0=(m0.length<<2)+1;T0=Ms(H0),$2(m0,T0,H0)}return T0},array:function(m0){var T0=Ms(m0.length);return rh(m0,T0),T0}};function Z(m0){return g==="string"?q2(m0):g==="boolean"?Boolean(m0):m0}var I=YA(M),H=[],D=0;if(u)for(var z=0;z<u.length;z++){var v0=r[k[z]];v0?(D===0&&(D=El()),H[z]=v0(u[z])):H[z]=u[z]}var R0=I.apply(null,H);return R0=Z(R0),D!==0&&Gl(D),R0}var R9=3,Q2=typeof TextDecoder<"u"?new TextDecoder("utf8"):void 0;function DA(M,g,k){for(var u=g+k,B=g;M[B]&&!(B>=u);)++B;if(B-g>16&&M.subarray&&Q2)return Q2.decode(M.subarray(g,B));for(var r="";g<B;){var Z=M[g++];if(!(Z&128)){r+=String.fromCharCode(Z);continue}var I=M[g++]&63;if((Z&224)==192){r+=String.fromCharCode((Z&31)<<6|I);continue}var H=M[g++]&63;if((Z&240)==224?Z=(Z&15)<<12|I<<6|H:Z=(Z&7)<<18|I<<12|H<<6|M[g++]&63,Z<65536)r+=String.fromCharCode(Z);else{var D=Z-65536;r+=String.fromCharCode(55296|D>>10,56320|D&1023)}}return r}function q2(M,g){return M?DA($0,M,g):""}function HA(M,g,k,u){if(!(u>0))return 0;for(var B=k,r=k+u-1,Z=0;Z<M.length;++Z){var I=M.charCodeAt(Z);if(I>=55296&&I<=57343){var H=M.charCodeAt(++Z);I=65536+((I&1023)<<10)|H&1023}if(I<=127){if(k>=r)break;g[k++]=I}else if(I<=2047){if(k+1>=r)break;g[k++]=192|I>>6,g[k++]=128|I&63}else if(I<=65535){if(k+2>=r)break;g[k++]=224|I>>12,g[k++]=128|I>>6&63,g[k++]=128|I&63}else{if(k+3>=r)break;g[k++]=240|I>>18,g[k++]=128|I>>12&63,g[k++]=128|I>>6&63,g[k++]=128|I&63}}return g[k]=0,k-B}function $2(M,g,k){return HA(M,$0,g,k)}function LA(M){for(var g=0,k=0;k<M.length;++k){var u=M.charCodeAt(k);u>=55296&&u<=57343&&(u=65536+((u&1023)<<10)|M.charCodeAt(++k)&1023),u<=127?++g:u<=2047?g+=2:u<=65535?g+=3:g+=4}return g}var K2=typeof TextDecoder<"u"?new TextDecoder("utf-16le"):void 0;function QA(M,g){for(var k=M,u=k>>1,B=u+g/2;!(u>=B)&&ii[u];)++u;if(k=u<<1,k-M>32&&K2)return K2.decode($0.subarray(M,k));for(var r=0,Z="";;){var I=gr[M+r*2>>1];if(I==0||r==g/2)return Z;++r,Z+=String.fromCharCode(I)}}function qA(M,g,k){if(k===void 0&&(k=2147483647),k<2)return 0;k-=2;for(var u=g,B=k<M.length*2?k/2:M.length,r=0;r<B;++r){var Z=M.charCodeAt(r);gr[g>>1]=Z,g+=2}return gr[g>>1]=0,g-u}function $A(M){return M.length*2}function KA(M,g){for(var k=0,u="";!(k>=g/4);){var B=nt[M+k*4>>2];if(B==0)break;if(++k,B>=65536){var r=B-65536;u+=String.fromCharCode(55296|r>>10,56320|r&1023)}else u+=String.fromCharCode(B)}return u}function bA(M,g,k){if(k===void 0&&(k=2147483647),k<4)return 0;for(var u=g,B=u+k-4,r=0;r<M.length;++r){var Z=M.charCodeAt(r);if(Z>=55296&&Z<=57343){var I=M.charCodeAt(++r);Z=65536+((Z&1023)<<10)|I&1023}if(nt[g>>2]=Z,g+=4,g+4>B)break}return nt[g>>2]=0,g-u}function th(M){for(var g=0,k=0;k<M.length;++k){var u=M.charCodeAt(k);u>=55296&&u<=57343&&++k,g+=4}return g}function rh(M,g){ar.set(M,g)}function x9(M,g,k){for(var u=0;u<M.length;++u)ar[g++>>0]=M.charCodeAt(u);k||(ar[g>>0]=0)}var Mr,ar,$0,gr,ii,nt,Yt,ln,un;function eh(M){Mr=M,s.HEAP8=ar=new Int8Array(M),s.HEAP16=gr=new Int16Array(M),s.HEAP32=nt=new Int32Array(M),s.HEAPU8=$0=new Uint8Array(M),s.HEAPU16=ii=new Uint16Array(M),s.HEAPU32=Yt=new Uint32Array(M),s.HEAPF32=ln=new Float32Array(M),s.HEAPF64=un=new Float64Array(M)}var w9=22384,ih=5265264,cn=22176,b2=s.INITIAL_MEMORY||167772160;s.buffer?Mr=s.buffer:Mr=new ArrayBuffer(b2),b2=Mr.byteLength,eh(Mr),nt[cn>>2]=ih;function ni(M){for(;M.length>0;){var g=M.shift();if(typeof g=="function"){g(s);continue}var k=g.func;typeof k=="number"?g.arg===void 0?s.dynCall_v(k):s.dynCall_vi(k,g.arg):k(g.arg===void 0?null:g.arg)}}var ts=[],rs=[],nh=[],es=[],sh=!1,oh=!1;function fh(){if(s.preRun)for(typeof s.preRun=="function"&&(s.preRun=[s.preRun]);s.preRun.length;)lh(s.preRun.shift());ni(ts)}function ah(){sh=!0,ni(rs)}function Ah(){ni(nh)}function Z9(){oh=!0}function hh(){if(s.postRun)for(typeof s.postRun=="function"&&(s.postRun=[s.postRun]);s.postRun.length;)uh(s.postRun.shift());ni(es)}function lh(M){ts.unshift(M)}function uh(M){es.unshift(M)}var ch=Math.abs,mh=Math.ceil,vh=Math.floor,ph=Math.min,_r=0,mn=null,ye=null;function dh(M){_r++,s.monitorRunDependencies&&s.monitorRunDependencies(_r)}function yh(M){if(_r--,s.monitorRunDependencies&&s.monitorRunDependencies(_r),_r==0&&(mn!==null&&(clearInterval(mn),mn=null),ye)){var g=ye;ye=null,g()}}s.preloadedImages={},s.preloadedAudios={};function Rr(M){throw s.onAbort&&s.onAbort(M),M+="",o0(M),l0(M),L2=!0,jA=1,M="abort("+M+"). Build with -s ASSERTIONS=1 for more info.",M}var Ut=null;function Mh(M,g){return String.prototype.startsWith?M.startsWith(g):M.indexOf(g)===0}var is="data:application/octet-stream;base64,";function ns(M){return Mh(M,is)}var F9="file://",Hr,vn;rs.push({func:function(){Ul()}}),Ut="data:application/octet-stream;base64,AAAAAAAAAAAPDg0MCwoJCA4AAQMGCgoJDQECBAcLCwoMAwQFCAwMCwsGBwgJDQ0MCgoLDA0ODg0JCgsMDQ4PDggJCgsMDQ4PAAECAwQFBgcBAAECAwQFBgIBAAECAwQFAwIBAAECAwQEAwIBAAECAwUEAwIBAAECBgUEAwIBAAEHBgUEAwIBAMgPAAAoDQAAEBAAACAQAADIDwAAUA0AABAQAAAgEAAAEQAKABEREQAAAAAFAAAAAAAACQAAAAALAAAAAAAAAAARAA8KERERAwoHAAEACQsLAAAJBgsAAAsABhEAAAAREREAAAAAAAAAAAAAAAAAAAAACwAAAAAAAAAAEQAKChEREQAKAAACAAkLAAAACQALAAALAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwAAAAAAAAAAAAAAAwAAAAADAAAAAAJDAAAAAAADAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAAAAAAAAAAAAAAANAAAABA0AAAAACQ4AAAAAAA4AAA4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAADwAAAAAPAAAAAAkQAAAAAAAQAAAQAAASAAAAEhISAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABIAAAASEhIAAAAAAAAJAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAALAAAAAAAAAAAAAAAKAAAAAAoAAAAACQsAAAAAAAsAAAsAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADAAAAAAAAAAAAAAADAAAAAAMAAAAAAkMAAAAAAAMAAAMAAAwMTIzNDU2Nzg5QUJDREVGGRJEOwI/LEcUPTMwChsGRktFNw9JDo4XA0AdPGkrNh9KLRwBICUpIQgMFRYiLhA4Pgs0MRhkdHV2L0EJfzkRI0MyQomKiwUEJignDSoeNYwHGkiTE5SVAAAAAAAAAAAASWxsZWdhbCBieXRlIHNlcXVlbmNlAERvbWFpbiBlcnJvcgBSZXN1bHQgbm90IHJlcHJlc2VudGFibGUATm90IGEgdHR5AFBlcm1pc3Npb24gZGVuaWVkAE9wZXJhdGlvbiBub3QgcGVybWl0dGVkAE5vIHN1Y2ggZmlsZSBvciBkaXJlY3RvcnkATm8gc3VjaCBwcm9jZXNzAEZpbGUgZXhpc3RzAFZhbHVlIHRvbyBsYXJnZSBmb3IgZGF0YSB0eXBlAE5vIHNwYWNlIGxlZnQgb24gZGV2aWNlAE91dCBvZiBtZW1vcnkAUmVzb3VyY2UgYnVzeQBJbnRlcnJ1cHRlZCBzeXN0ZW0gY2FsbABSZXNvdXJjZSB0ZW1wb3JhcmlseSB1bmF2YWlsYWJsZQBJbnZhbGlkIHNlZWsAQ3Jvc3MtZGV2aWNlIGxpbmsAUmVhZC1vbmx5IGZpbGUgc3lzdGVtAERpcmVjdG9yeSBub3QgZW1wdHkAQ29ubmVjdGlvbiByZXNldCBieSBwZWVyAE9wZXJhdGlvbiB0aW1lZCBvdXQAQ29ubmVjdGlvbiByZWZ1c2VkAEhvc3QgaXMgZG93bgBIb3N0IGlzIHVucmVhY2hhYmxlAEFkZHJlc3MgaW4gdXNlAEJyb2tlbiBwaXBlAEkvTyBlcnJvcgBObyBzdWNoIGRldmljZSBvciBhZGRyZXNzAEJsb2NrIGRldmljZSByZXF1aXJlZABObyBzdWNoIGRldmljZQBOb3QgYSBkaXJlY3RvcnkASXMgYSBkaXJlY3RvcnkAVGV4dCBmaWxlIGJ1c3kARXhlYyBmb3JtYXQgZXJyb3IASW52YWxpZCBhcmd1bWVudABBcmd1bWVudCBsaXN0IHRvbyBsb25nAFN5bWJvbGljIGxpbmsgbG9vcABGaWxlbmFtZSB0b28gbG9uZwBUb28gbWFueSBvcGVuIGZpbGVzIGluIHN5c3RlbQBObyBmaWxlIGRlc2NyaXB0b3JzIGF2YWlsYWJsZQBCYWQgZmlsZSBkZXNjcmlwdG9yAE5vIGNoaWxkIHByb2Nlc3MAQmFkIGFkZHJlc3MARmlsZSB0b28gbGFyZ2UAVG9vIG1hbnkgbGlua3MATm8gbG9ja3MgYXZhaWxhYmxlAFJlc291cmNlIGRlYWRsb2NrIHdvdWxkIG9jY3VyAFN0YXRlIG5vdCByZWNvdmVyYWJsZQBQcmV2aW91cyBvd25lciBkaWVkAE9wZXJhdGlvbiBjYW5jZWxlZABGdW5jdGlvbiBub3QgaW1wbGVtZW50ZWQATm8gbWVzc2FnZSBvZiBkZXNpcmVkIHR5cGUASWRlbnRpZmllciByZW1vdmVkAERldmljZSBub3QgYSBzdHJlYW0ATm8gZGF0YSBhdmFpbGFibGUARGV2aWNlIHRpbWVvdXQAT3V0IG9mIHN0cmVhbXMgcmVzb3VyY2VzAExpbmsgaGFzIGJlZW4gc2V2ZXJlZABQcm90b2NvbCBlcnJvcgBCYWQgbWVzc2FnZQBGaWxlIGRlc2NyaXB0b3IgaW4gYmFkIHN0YXRlAE5vdCBhIHNvY2tldABEZXN0aW5hdGlvbiBhZGRyZXNzIHJlcXVpcmVkAE1lc3NhZ2UgdG9vIGxhcmdlAFByb3RvY29sIHdyb25nIHR5cGUgZm9yIHNvY2tldABQcm90b2NvbCBub3QgYXZhaWxhYmxlAFByb3RvY29sIG5vdCBzdXBwb3J0ZWQAU29ja2V0IHR5cGUgbm90IHN1cHBvcnRlZABOb3Qgc3VwcG9ydGVkAFByb3RvY29sIGZhbWlseSBub3Qgc3VwcG9ydGVkAEFkZHJlc3MgZmFtaWx5IG5vdCBzdXBwb3J0ZWQgYnkgcHJvdG9jb2wAQWRkcmVzcyBub3QgYXZhaWxhYmxlAE5ldHdvcmsgaXMgZG93bgBOZXR3b3JrIHVucmVhY2hhYmxlAENvbm5lY3Rpb24gcmVzZXQgYnkgbmV0d29yawBDb25uZWN0aW9uIGFib3J0ZWQATm8gYnVmZmVyIHNwYWNlIGF2YWlsYWJsZQBTb2NrZXQgaXMgY29ubmVjdGVkAFNvY2tldCBub3QgY29ubmVjdGVkAENhbm5vdCBzZW5kIGFmdGVyIHNvY2tldCBzaHV0ZG93bgBPcGVyYXRpb24gYWxyZWFkeSBpbiBwcm9ncmVzcwBPcGVyYXRpb24gaW4gcHJvZ3Jlc3MAU3RhbGUgZmlsZSBoYW5kbGUAUmVtb3RlIEkvTyBlcnJvcgBRdW90YSBleGNlZWRlZABObyBtZWRpdW0gZm91bmQAV3JvbmcgbWVkaXVtIHR5cGUATm8gZXJyb3IgaW5mb3JtYXRpb24AAAAAAADgFgAAmRgAAGAQAAAAAAAA4BYAAEIZAABgEAAAAAAAAOAWAAAqGgAASA8AAAAAAAC4FgAANBsAAOAWAACfGgAAMAoAAAAAAADgFgAAaRsAAEgPAAAAAAAA4BYAAIobAABIDwAAAAAAALgWAAAPHAAA4BYAAHwcAABIDwAAAAAAAOAWAACVHAAASA8AAAAAAADgFgAAHh0AAEgPAAAAAAAA4BYAAHcdAABIDwAAAAAAAOAWAACQHQAASA8AAAAAAADgFgAAQh4AAEgPAAAAAAAA4BYAAIceAABgEAAAAAAAAOAWAACkHwAASA8AAAAAAAC4FgAAZyAAAOAWAADkHwAA8AoAAAAAAADgFgAAjyAAAGAQAAAAAAAAuBYAAMMiAADgFgAAAiIAABgLAAAAAAAA4BYAAOEiAABgEAAAAAAAAOAWAADQJAAAGAsAAAAAAADgFgAAkSUAAGAQAAAAAAAA4BYAAIAnAAAYCwAAAAAAAOAWAAA9KAAAYBAAAAAAAADgFgAAJCoAABgLAAAAAAAA4BYAAOkqAABgEAAAAAAAAOAWAADgLAAA8AoAAAAAAADgFgAAui0AAGAQAAAAAAAA4BYAANsvAADwCgAAAAAAAOAWAADTMAAAYBAAAAAAAADgFgAAMDMAAPAKAAAAAAAA4BYAACQ0AABgEAAAAAAAAOAWAAB5NgAA8AoAAAAAAADgFgAAizcAAGAQAAAAAAAA4BYAABw6AABgEAAAAAAAAOAWAACdOgAAYBAAAAAAAADgFgAAXjsAAPAKAAAAAAAA4BYAALU7AABgEAAAAAAAAOAWAADMPAAAGAsAAAAAAADgFgAATz0AAGAQAAAAAAAA4BYAAL4+AAAYCwAAAAAAAOAWAABBPwAAYBAAAAAAAADgFgAAsEAAABgLAAAAAAAA4BYAADNBAABgEAAAAAAAAOAWAACiQgAAGAsAAAAAAADgFgAAJUMAAGAQAAAAAAAA4BYAAJREAAAYCwAAAAAAAOAWAAAXRQAAYBAAAAAAAADgFgAAhkYAABgLAAAAAAAA4BYAAAlHAABgEAAAAAAAALgWAAB4SAAAiBcAAIBIAAAAAAAAIA0AAIgXAACJSAAAAQAAACANAAC4FgAAqkgAAIgXAAC6SAAAAAAAAEgNAACIFwAAy0gAAAEAAABIDQAAuBYAABhMAAC4FgAAN0wAALgWAABWTAAAuBYAAHVMAAC4FgAAlEwAALgWAACzTAAAuBYAANJMAAC4FgAA8UwAALgWAAAQTQAAuBYAAC9NAAC4FgAATk0AALgWAABtTQAAuBYAAIxNAACkFwAAn00AAAAAAAABAAAA8A0AAAAAAAC4FgAA4U0AAKQXAAAHTgAAAAAAAAEAAADwDQAAAAAAAKQXAABJTgAAAAAAAAEAAADwDQAAAAAAAKQXAACITgAAAAAAAAEAAADwDQAAAAAAAKQXAADHTgAAAAAAAAEAAADwDQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP//////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAALgWAADNTwAA4BYAAC1QAAAADwAAAAAAAOAWAADaTwAAEA8AAAAAAAC4FgAA+08AAOAWAAAIUAAA8A4AAAAAAADgFgAAhlAAAOgOAAAAAAAA4BYAAJNQAADoDgAAAAAAAOAWAACjUAAA6A4AAAAAAADgFgAAtVAAADgPAAAAAAAA4BYAAMZQAAA4DwAAAAAAAOAWAADXUAAAAA8AAAAAAADgFgAA+VAAAHgPAAAAAAAA4BYAAB1RAAAADwAAAAAAAOAWAABCUQAAeA8AAAAAAADgFgAAjlEAAAAPAAAAAAAAbBcAALZRAABsFwAAuFEAAGwXAAC7UQAAbBcAAL1RAABsFwAAv1EAAGwXAADBUQAAbBcAAMNRAABsFwAAxVEAAGwXAADHUQAAbBcAAMlRAABsFwAAy1EAAGwXAADNUQAAbBcAAM9RAABsFwAA0VEAAOAWAADTUQAA8A4AAAAAAADgFgAARlIAAOgOAAAAAAAAuBYAAGJSAACkFwAAe1IAAAAAAAABAAAAWBAAAAAAAADgFgAA9FIAAIgQAAAAAAAA4BYAABdTAACYEAAAAAAAALgWAAAuUwAA4BYAAHBTAACIEAAAAAAAAOAWAACSUwAASA8AAAAAAAAAAAAAAAoAAAEAAAACAAAAAwAAAAEAAAAEAAAAAAAAABAKAAABAAAABQAAAAYAAAACAAAABwAAAAAAAAAgCgAACAAAAAkAAAABAAAAAAAAADgKAAAKAAAACwAAAAIAAAABAAAADAAAAA0AAAACAAAAAwAAAAMAAAAAAAAASAoAAAgAAAAOAAAAAQAAAAAAAABYCgAACAAAAA8AAAABAAAAAAAAAIAKAAAIAAAAEAAAAAEAAAAAAAAAcAoAAAgAAAARAAAAAQAAAAAAAACQCgAACAAAABIAAAABAAAAAAAAAKAKAAAIAAAAEwAAAAEAAAAAAAAAsAoAAAgAAAAUAAAAAQAAAAAAAADACgAACAAAABUAAAABAAAAAAAAANAKAAABAAAAFgAAABcAAAAEAAAAGAAAAAAAAADgCgAACAAAABkAAAABAAAAAAAAAPgKAAAFAAAAGgAAABsAAAAAAAAA8AoAAAEAAAAcAAAAHQAAAAAAAAAICwAAAQAAAB4AAAAfAAAABgAAACAAAAAAAAAAIAsAACEAAAAiAAAABwAAAAgAAAAAAAAAGAsAACMAAAAkAAAABwAAAAkAAAAAAAAAMAsAAAEAAAAlAAAAJgAAAAoAAAAnAAAAAAAAAEALAAAoAAAAKQAAAAcAAAALAAAAAAAAAFALAAABAAAAKgAAACsAAAAMAAAALAAAAAAAAABgCwAALQAAAC4AAAAHAAAADQAAAAAAAABwCwAAAQAAAC8AAAAwAAAADgAAADEAAAAAAAAAgAsAADIAAAAzAAAABwAAAA8AAAAAAAAAkAsAAAEAAAA0AAAANQAAABAAAAA2AAAAAAAAAKALAAARAAAANwAAADgAAAAAAAAAsAsAAAEAAAA5AAAAOgAAABIAAAA7AAAAAAAAAMALAAATAAAAPAAAAD0AAAAAAAAA0AsAAAEAAAA+AAAAPwAAABQAAABAAAAAAAAAAOALAAAVAAAAQQAAAEIAAAAAAAAA8AsAAAEAAABDAAAARAAAABYAAABFAAAAAAAAAAAMAAAXAAAARgAAAEcAAAAAAAAAEAwAAAEAAABIAAAASQAAABgAAABKAAAAAAAAACAMAAABAAAASwAAAEwAAAAZAAAATQAAAAAAAAAwDAAAAQAAAE4AAABPAAAAGgAAAFAAAAAAAAAAQAwAABsAAABRAAAAUgAAAAAAAABQDAAAAQAAAFMAAABUAAAAHAAAAFUAAAAAAAAAYAwAAFYAAABXAAAABwAAAB0AAAAAAAAAcAwAAAEAAABYAAAAWQAAAB4AAABaAAAAAAAAAIAMAABbAAAAXAAAAAcAAAAfAAAAAAAAAJAMAAABAAAAXQAAAF4AAAAgAAAAXwAAAAAAAACgDAAAYAAAAGEAAAAHAAAAIQAAAAAAAACwDAAAAQAAAGIAAABjAAAAIgAAAGQAAAAAAAAAwAwAAGUAAABmAAAABwAAACMAAAAAAAAA0AwAAAEAAABnAAAAaAAAACQAAABpAAAAAAAAAOAMAABqAAAAawAAAAcAAAAlAAAAAAAAAPAMAAABAAAAbAAAAG0AAAAmAAAAbgAAAAAAAAAADQAAbwAAAHAAAAAHAAAAJwAAAAAAAAAQDQAAAQAAAHEAAAByAAAAKAAAAHMAAAAoDQAAyA8AACgNAAAIEAAAEBAAACgNAABQDQAAyA8AAFANAAAgEAAAyA8AAFANAAAIEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABsVAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADwDgAAdAAAAHUAAAB2AAAAdwAAAAIAAAABAAAAAQAAAAEAAAAAAAAAGA8AAHQAAAB4AAAAdgAAAHcAAAACAAAAAgAAAAIAAAACAAAAAAAAACgPAAB5AAAAegAAAAQAAAAAAAAAOA8AAHsAAAB8AAAABQAAAAAAAABIDwAACAAAAH0AAAABAAAAAAAAAFgPAAB7AAAAfgAAAAUAAAAAAAAAaA8AAHsAAAB/AAAABQAAAAAAAAC4DwAAdAAAAIAAAAB2AAAAdwAAAAMAAAAAAAAAiA8AAHQAAACBAAAAdgAAAHcAAAAEAAAAAAAAADgQAAB0AAAAggAAAHYAAAB3AAAAAgAAAAMAAAADAAAAAwAAAAAAAABIEAAAgwAAAIQAAAAGAAAAAAAAAHgQAACFAAAAhgAAAAcAAAABAAAABQAAAAYAAAACAAAAAAAAAKAQAACFAAAAhwAAAAgAAAADAAAABQAAAAYAAAAEAAAA4BcAAAQYAAAAAAAAsBAAAIgAAACJAAAAAQAAAExBU1ppcABvcGVuAGdldFBvaW50AGdldENvdW50AER5bmFtaWNMQVNaaXAAYWRkRmllbGRGbG9hdGluZwBhZGRGaWVsZFNpZ25lZABhZGRGaWVsZFVuc2lnbmVkAE5TdDNfXzIyMF9fc2hhcmVkX3B0cl9wb2ludGVySVBONmxhc3ppcDdzdHJlYW1zMTNtZW1vcnlfc3RyZWFtRU5TXzE0ZGVmYXVsdF9kZWxldGVJUzNfRUVOU185YWxsb2NhdG9ySVMzX0VFRUUATlN0M19fMjE0ZGVmYXVsdF9kZWxldGVJTjZsYXN6aXA3c3RyZWFtczEzbWVtb3J5X3N0cmVhbUVFRQBOU3QzX18yMjBfX3NoYXJlZF9wdHJfcG9pbnRlcklQTjZsYXN6aXAyaW82cmVhZGVyMTBiYXNpY19maWxlSU5TMV83c3RyZWFtczEzbWVtb3J5X3N0cmVhbUVFRU5TXzE0ZGVmYXVsdF9kZWxldGVJUzdfRUVOU185YWxsb2NhdG9ySVM3X0VFRUUATlN0M19fMjE0ZGVmYXVsdF9kZWxldGVJTjZsYXN6aXAyaW82cmVhZGVyMTBiYXNpY19maWxlSU5TMV83c3RyZWFtczEzbWVtb3J5X3N0cmVhbUVFRUVFAExBU0YATjZsYXN6aXAxM2ludmFsaWRfbWFnaWNFAGFsbG9jYXRvcjxUPjo6YWxsb2NhdGUoc2l6ZV90IG4pICduJyBleGNlZWRzIG1heGltdW0gc3VwcG9ydGVkIHNpemUARmlsZSBtYWdpYyBpcyBub3QgdmFsaWQATlN0M19fMjEwX19mdW5jdGlvbjZfX2Z1bmNJWk42bGFzemlwMmlvNnJlYWRlcjEwYmFzaWNfZmlsZUlOUzJfN3N0cmVhbXMxM21lbW9yeV9zdHJlYW1FRTExX3ZhbGlkYXRvcnNFdkVVbFJOUzNfNmhlYWRlckVFX05TXzlhbGxvY2F0b3JJU0JfRUVGdlNBX0VFRQBOU3QzX18yMTBfX2Z1bmN0aW9uNl9fYmFzZUlGdlJONmxhc3ppcDJpbzZoZWFkZXJFRUVFAE42bGFzemlwMjFvbGRfc3R5bGVfY29tcHJlc3Npb25FAE42bGFzemlwMTRub3RfY29tcHJlc3NlZEUAVGhlIGZpbGUgc2VlbXMgdG8gaGF2ZSBvbGQgc3R5bGUgY29tcHJlc3Npb24gd2hpY2ggaXMgbm90IHN1cHBvcnRlZABUaGUgZmlsZSBkb2Vzbid0IHNlZW0gdG8gYmUgY29tcHJlc3NlZABaTjZsYXN6aXAyaW82cmVhZGVyMTBiYXNpY19maWxlSU5TXzdzdHJlYW1zMTNtZW1vcnlfc3RyZWFtRUUxMV92YWxpZGF0b3JzRXZFVWxSTlMwXzZoZWFkZXJFRV8AbGFzemlwIGVuY29kZWQATjZsYXN6aXAxM25vX2xhc3ppcF92bHJFAE42bGFzemlwMjVsYXN6aXBfZm9ybWF0X3Vuc3VwcG9ydGVkRQBPbmx5IExBU3ppcCBQT0lOVFdJU0UgQ0hVTktFRCBkZWNvbXByZXNzb3IgaXMgc3VwcG9ydGVkAE5vIExBU3ppcCBWTFIgd2FzIGZvdW5kIGluIHRoZSBWTFJzIHNlY3Rpb24ATjZsYXN6aXAyMmNodW5rX3RhYmxlX3JlYWRfZXJyb3JFAENodW5rIHRhYmxlIG9mZnNldCA9PSAtMSBpcyBub3Qgc3VwcG9ydGVkIGF0IHRoaXMgdGltZQBONmxhc3ppcDEzbm90X3N1cHBvcnRlZEUATjZsYXN6aXAyNnVua25vd25fY2h1bmtfdGFibGVfZm9ybWF0RQBjaHVua19zaXplID09IHVpbnQubWF4IGlzIG5vdCBzdXBwb3J0ZWQgYXQgdGhpcyB0aW1lLgBUaGVyZSB3YXMgYSBwcm9ibGVtIHJlYWRpbmcgdGhlIGNodW5rIHRhYmxlAFRoZSBjaHVuayB0YWJsZSB2ZXJzaW9uIG51bWJlciBpcyB1bmtub3duAE42bGFzemlwMTFlbmRfb2ZfZmlsZUUAUmVhY2hlZCBFbmQgb2YgZmlsZQBJbnZhbGlkIG51bWJlciBvZiBzeW1ib2xzAE5TdDNfXzIyMF9fc2hhcmVkX3B0cl9wb2ludGVySVBONmxhc3ppcDhkZWNvZGVyczEwYXJpdGhtZXRpY0lOUzFfMmlvMThfX2lmc3RyZWFtX3dyYXBwZXJJTlMxXzdzdHJlYW1zMTNtZW1vcnlfc3RyZWFtRUVFRUVOU18xNGRlZmF1bHRfZGVsZXRlSVM5X0VFTlNfOWFsbG9jYXRvcklTOV9FRUVFAE5TdDNfXzIxNGRlZmF1bHRfZGVsZXRlSU42bGFzemlwOGRlY29kZXJzMTBhcml0aG1ldGljSU5TMV8yaW8xOF9faWZzdHJlYW1fd3JhcHBlcklOUzFfN3N0cmVhbXMxM21lbW9yeV9zdHJlYW1FRUVFRUVFAE42bGFzemlwMTl1bmtub3duX3NjaGVtYV90eXBlRQBUaGUgTEFaIHNjaGVtYSBpcyBub3QgcmVjb2duaXplZABONmxhc3ppcDdmb3JtYXRzMjZkeW5hbWljX2ZpZWxkX2RlY29tcHJlc3NvcklOU184ZGVjb2RlcnMxMGFyaXRobWV0aWNJTlNfMmlvMThfX2lmc3RyZWFtX3dyYXBwZXJJTlNfN3N0cmVhbXMxM21lbW9yeV9zdHJlYW1FRUVFRUVFAE42bGFzemlwN2Zvcm1hdHMyMGR5bmFtaWNfZGVjb21wcmVzc29yRQBOU3QzX18yMjBfX3NoYXJlZF9wdHJfcG9pbnRlcklQTjZsYXN6aXA3Zm9ybWF0czI2ZHluYW1pY19maWVsZF9kZWNvbXByZXNzb3JJTlMxXzhkZWNvZGVyczEwYXJpdGhtZXRpY0lOUzFfMmlvMThfX2lmc3RyZWFtX3dyYXBwZXJJTlMxXzdzdHJlYW1zMTNtZW1vcnlfc3RyZWFtRUVFRUVFRU5TXzE0ZGVmYXVsdF9kZWxldGVJU0NfRUVOU185YWxsb2NhdG9ySVNDX0VFRUUATlN0M19fMjE0ZGVmYXVsdF9kZWxldGVJTjZsYXN6aXA3Zm9ybWF0czI2ZHluYW1pY19maWVsZF9kZWNvbXByZXNzb3JJTlMxXzhkZWNvZGVyczEwYXJpdGhtZXRpY0lOUzFfMmlvMThfX2lmc3RyZWFtX3dyYXBwZXJJTlMxXzdzdHJlYW1zMTNtZW1vcnlfc3RyZWFtRUVFRUVFRUVFAE42bGFzemlwN2Zvcm1hdHMyNmR5bmFtaWNfZGVjb21wcmVzc29yX2ZpZWxkSU5TXzhkZWNvZGVyczEwYXJpdGhtZXRpY0lOU18yaW8xOF9faWZzdHJlYW1fd3JhcHBlcklOU183c3RyZWFtczEzbWVtb3J5X3N0cmVhbUVFRUVFTlMwXzVmaWVsZElOUzBfM2xhczdwb2ludDEwRU5TMF8yMHN0YW5kYXJkX2RpZmZfbWV0aG9kSVNDX0VFRUVFRQBONmxhc3ppcDdmb3JtYXRzMTBiYXNlX2ZpZWxkRQBOU3QzX18yMjBfX3NoYXJlZF9wdHJfcG9pbnRlcklQTjZsYXN6aXA3Zm9ybWF0czI2ZHluYW1pY19kZWNvbXByZXNzb3JfZmllbGRJTlMxXzhkZWNvZGVyczEwYXJpdGhtZXRpY0lOUzFfMmlvMThfX2lmc3RyZWFtX3dyYXBwZXJJTlMxXzdzdHJlYW1zMTNtZW1vcnlfc3RyZWFtRUVFRUVOUzJfNWZpZWxkSU5TMl8zbGFzN3BvaW50MTBFTlMyXzIwc3RhbmRhcmRfZGlmZl9tZXRob2RJU0VfRUVFRUVFTlNfMTRkZWZhdWx0X2RlbGV0ZUlTSV9FRU5TXzlhbGxvY2F0b3JJU0lfRUVFRQBOU3QzX18yMTRkZWZhdWx0X2RlbGV0ZUlONmxhc3ppcDdmb3JtYXRzMjZkeW5hbWljX2RlY29tcHJlc3Nvcl9maWVsZElOUzFfOGRlY29kZXJzMTBhcml0aG1ldGljSU5TMV8yaW8xOF9faWZzdHJlYW1fd3JhcHBlcklOUzFfN3N0cmVhbXMxM21lbW9yeV9zdHJlYW1FRUVFRU5TMl81ZmllbGRJTlMyXzNsYXM3cG9pbnQxMEVOUzJfMjBzdGFuZGFyZF9kaWZmX21ldGhvZElTRV9FRUVFRUVFRQBONmxhc3ppcDdmb3JtYXRzMjZkeW5hbWljX2RlY29tcHJlc3Nvcl9maWVsZElOU184ZGVjb2RlcnMxMGFyaXRobWV0aWNJTlNfMmlvMThfX2lmc3RyZWFtX3dyYXBwZXJJTlNfN3N0cmVhbXMxM21lbW9yeV9zdHJlYW1FRUVFRU5TMF81ZmllbGRJTlMwXzNsYXM3Z3BzdGltZUVOUzBfMjBzdGFuZGFyZF9kaWZmX21ldGhvZElTQ19FRUVFRUUATlN0M19fMjIwX19zaGFyZWRfcHRyX3BvaW50ZXJJUE42bGFzemlwN2Zvcm1hdHMyNmR5bmFtaWNfZGVjb21wcmVzc29yX2ZpZWxkSU5TMV84ZGVjb2RlcnMxMGFyaXRobWV0aWNJTlMxXzJpbzE4X19pZnN0cmVhbV93cmFwcGVySU5TMV83c3RyZWFtczEzbWVtb3J5X3N0cmVhbUVFRUVFTlMyXzVmaWVsZElOUzJfM2xhczdncHN0aW1lRU5TMl8yMHN0YW5kYXJkX2RpZmZfbWV0aG9kSVNFX0VFRUVFRU5TXzE0ZGVmYXVsdF9kZWxldGVJU0lfRUVOU185YWxsb2NhdG9ySVNJX0VFRUUATlN0M19fMjE0ZGVmYXVsdF9kZWxldGVJTjZsYXN6aXA3Zm9ybWF0czI2ZHluYW1pY19kZWNvbXByZXNzb3JfZmllbGRJTlMxXzhkZWNvZGVyczEwYXJpdGhtZXRpY0lOUzFfMmlvMThfX2lmc3RyZWFtX3dyYXBwZXJJTlMxXzdzdHJlYW1zMTNtZW1vcnlfc3RyZWFtRUVFRUVOUzJfNWZpZWxkSU5TMl8zbGFzN2dwc3RpbWVFTlMyXzIwc3RhbmRhcmRfZGlmZl9tZXRob2RJU0VfRUVFRUVFRUUATjZsYXN6aXA3Zm9ybWF0czI2ZHluYW1pY19kZWNvbXByZXNzb3JfZmllbGRJTlNfOGRlY29kZXJzMTBhcml0aG1ldGljSU5TXzJpbzE4X19pZnN0cmVhbV93cmFwcGVySU5TXzdzdHJlYW1zMTNtZW1vcnlfc3RyZWFtRUVFRUVOUzBfNWZpZWxkSU5TMF8zbGFzM3JnYkVOUzBfMjBzdGFuZGFyZF9kaWZmX21ldGhvZElTQ19FRUVFRUUATlN0M19fMjIwX19zaGFyZWRfcHRyX3BvaW50ZXJJUE42bGFzemlwN2Zvcm1hdHMyNmR5bmFtaWNfZGVjb21wcmVzc29yX2ZpZWxkSU5TMV84ZGVjb2RlcnMxMGFyaXRobWV0aWNJTlMxXzJpbzE4X19pZnN0cmVhbV93cmFwcGVySU5TMV83c3RyZWFtczEzbWVtb3J5X3N0cmVhbUVFRUVFTlMyXzVmaWVsZElOUzJfM2xhczNyZ2JFTlMyXzIwc3RhbmRhcmRfZGlmZl9tZXRob2RJU0VfRUVFRUVFTlNfMTRkZWZhdWx0X2RlbGV0ZUlTSV9FRU5TXzlhbGxvY2F0b3JJU0lfRUVFRQBOU3QzX18yMTRkZWZhdWx0X2RlbGV0ZUlONmxhc3ppcDdmb3JtYXRzMjZkeW5hbWljX2RlY29tcHJlc3Nvcl9maWVsZElOUzFfOGRlY29kZXJzMTBhcml0aG1ldGljSU5TMV8yaW8xOF9faWZzdHJlYW1fd3JhcHBlcklOUzFfN3N0cmVhbXMxM21lbW9yeV9zdHJlYW1FRUVFRU5TMl81ZmllbGRJTlMyXzNsYXMzcmdiRU5TMl8yMHN0YW5kYXJkX2RpZmZfbWV0aG9kSVNFX0VFRUVFRUVFAE42bGFzemlwN2Zvcm1hdHMyNmR5bmFtaWNfZGVjb21wcmVzc29yX2ZpZWxkSU5TXzhkZWNvZGVyczEwYXJpdGhtZXRpY0lOU18yaW8xOF9faWZzdHJlYW1fd3JhcHBlcklOU183c3RyZWFtczEzbWVtb3J5X3N0cmVhbUVFRUVFTlMwXzVmaWVsZElOUzBfM2xhczEwZXh0cmFieXRlc0VOUzBfMjBzdGFuZGFyZF9kaWZmX21ldGhvZElTQ19FRUVFRUUATlN0M19fMjIwX19zaGFyZWRfcHRyX3BvaW50ZXJJUE42bGFzemlwN2Zvcm1hdHMyNmR5bmFtaWNfZGVjb21wcmVzc29yX2ZpZWxkSU5TMV84ZGVjb2RlcnMxMGFyaXRobWV0aWNJTlMxXzJpbzE4X19pZnN0cmVhbV93cmFwcGVySU5TMV83c3RyZWFtczEzbWVtb3J5X3N0cmVhbUVFRUVFTlMyXzVmaWVsZElOUzJfM2xhczEwZXh0cmFieXRlc0VOUzJfMjBzdGFuZGFyZF9kaWZmX21ldGhvZElTRV9FRUVFRUVOU18xNGRlZmF1bHRfZGVsZXRlSVNJX0VFTlNfOWFsbG9jYXRvcklTSV9FRUVFAE5TdDNfXzIxNGRlZmF1bHRfZGVsZXRlSU42bGFzemlwN2Zvcm1hdHMyNmR5bmFtaWNfZGVjb21wcmVzc29yX2ZpZWxkSU5TMV84ZGVjb2RlcnMxMGFyaXRobWV0aWNJTlMxXzJpbzE4X19pZnN0cmVhbV93cmFwcGVySU5TMV83c3RyZWFtczEzbWVtb3J5X3N0cmVhbUVFRUVFTlMyXzVmaWVsZElOUzJfM2xhczEwZXh0cmFieXRlc0VOUzJfMjBzdGFuZGFyZF9kaWZmX21ldGhvZElTRV9FRUVFRUVFRQBONmxhc3ppcDdmb3JtYXRzMjFkeW5hbWljX2RlY29tcHJlc3NvcjFJTlNfOGRlY29kZXJzMTBhcml0aG1ldGljSU5TXzJpbzE4X19pZnN0cmVhbV93cmFwcGVySU5TXzdzdHJlYW1zMTNtZW1vcnlfc3RyZWFtRUVFRUVOUzBfMTlyZWNvcmRfZGVjb21wcmVzc29ySUpOUzBfNWZpZWxkSU5TMF8zbGFzN3BvaW50MTBFTlMwXzIwc3RhbmRhcmRfZGlmZl9tZXRob2RJU0RfRUVFRUVFRUVFAE5TdDNfXzIyMF9fc2hhcmVkX3B0cl9wb2ludGVySVBONmxhc3ppcDdmb3JtYXRzMjFkeW5hbWljX2RlY29tcHJlc3NvcjFJTlMxXzhkZWNvZGVyczEwYXJpdGhtZXRpY0lOUzFfMmlvMThfX2lmc3RyZWFtX3dyYXBwZXJJTlMxXzdzdHJlYW1zMTNtZW1vcnlfc3RyZWFtRUVFRUVOUzJfMTlyZWNvcmRfZGVjb21wcmVzc29ySUpOUzJfNWZpZWxkSU5TMl8zbGFzN3BvaW50MTBFTlMyXzIwc3RhbmRhcmRfZGlmZl9tZXRob2RJU0ZfRUVFRUVFRUVFTlNfMTRkZWZhdWx0X2RlbGV0ZUlTS19FRU5TXzlhbGxvY2F0b3JJU0tfRUVFRQBOU3QzX18yMTRkZWZhdWx0X2RlbGV0ZUlONmxhc3ppcDdmb3JtYXRzMjFkeW5hbWljX2RlY29tcHJlc3NvcjFJTlMxXzhkZWNvZGVyczEwYXJpdGhtZXRpY0lOUzFfMmlvMThfX2lmc3RyZWFtX3dyYXBwZXJJTlMxXzdzdHJlYW1zMTNtZW1vcnlfc3RyZWFtRUVFRUVOUzJfMTlyZWNvcmRfZGVjb21wcmVzc29ySUpOUzJfNWZpZWxkSU5TMl8zbGFzN3BvaW50MTBFTlMyXzIwc3RhbmRhcmRfZGlmZl9tZXRob2RJU0ZfRUVFRUVFRUVFRUUATjZsYXN6aXA3Zm9ybWF0czIxZHluYW1pY19kZWNvbXByZXNzb3IxSU5TXzhkZWNvZGVyczEwYXJpdGhtZXRpY0lOU18yaW8xOF9faWZzdHJlYW1fd3JhcHBlcklOU183c3RyZWFtczEzbWVtb3J5X3N0cmVhbUVFRUVFTlMwXzE5cmVjb3JkX2RlY29tcHJlc3NvcklKTlMwXzVmaWVsZElOUzBfM2xhczdwb2ludDEwRU5TMF8yMHN0YW5kYXJkX2RpZmZfbWV0aG9kSVNEX0VFRUVOU0JfSU5TQ183Z3BzdGltZUVOU0VfSVNIX0VFRUVFRUVFRQBOU3QzX18yMjBfX3NoYXJlZF9wdHJfcG9pbnRlcklQTjZsYXN6aXA3Zm9ybWF0czIxZHluYW1pY19kZWNvbXByZXNzb3IxSU5TMV84ZGVjb2RlcnMxMGFyaXRobWV0aWNJTlMxXzJpbzE4X19pZnN0cmVhbV93cmFwcGVySU5TMV83c3RyZWFtczEzbWVtb3J5X3N0cmVhbUVFRUVFTlMyXzE5cmVjb3JkX2RlY29tcHJlc3NvcklKTlMyXzVmaWVsZElOUzJfM2xhczdwb2ludDEwRU5TMl8yMHN0YW5kYXJkX2RpZmZfbWV0aG9kSVNGX0VFRUVOU0RfSU5TRV83Z3BzdGltZUVOU0dfSVNKX0VFRUVFRUVFRU5TXzE0ZGVmYXVsdF9kZWxldGVJU05fRUVOU185YWxsb2NhdG9ySVNOX0VFRUUATlN0M19fMjE0ZGVmYXVsdF9kZWxldGVJTjZsYXN6aXA3Zm9ybWF0czIxZHluYW1pY19kZWNvbXByZXNzb3IxSU5TMV84ZGVjb2RlcnMxMGFyaXRobWV0aWNJTlMxXzJpbzE4X19pZnN0cmVhbV93cmFwcGVySU5TMV83c3RyZWFtczEzbWVtb3J5X3N0cmVhbUVFRUVFTlMyXzE5cmVjb3JkX2RlY29tcHJlc3NvcklKTlMyXzVmaWVsZElOUzJfM2xhczdwb2ludDEwRU5TMl8yMHN0YW5kYXJkX2RpZmZfbWV0aG9kSVNGX0VFRUVOU0RfSU5TRV83Z3BzdGltZUVOU0dfSVNKX0VFRUVFRUVFRUVFAE42bGFzemlwN2Zvcm1hdHMyMWR5bmFtaWNfZGVjb21wcmVzc29yMUlOU184ZGVjb2RlcnMxMGFyaXRobWV0aWNJTlNfMmlvMThfX2lmc3RyZWFtX3dyYXBwZXJJTlNfN3N0cmVhbXMxM21lbW9yeV9zdHJlYW1FRUVFRU5TMF8xOXJlY29yZF9kZWNvbXByZXNzb3JJSk5TMF81ZmllbGRJTlMwXzNsYXM3cG9pbnQxMEVOUzBfMjBzdGFuZGFyZF9kaWZmX21ldGhvZElTRF9FRUVFTlNCX0lOU0NfM3JnYkVOU0VfSVNIX0VFRUVFRUVFRQBOU3QzX18yMjBfX3NoYXJlZF9wdHJfcG9pbnRlcklQTjZsYXN6aXA3Zm9ybWF0czIxZHluYW1pY19kZWNvbXByZXNzb3IxSU5TMV84ZGVjb2RlcnMxMGFyaXRobWV0aWNJTlMxXzJpbzE4X19pZnN0cmVhbV93cmFwcGVySU5TMV83c3RyZWFtczEzbWVtb3J5X3N0cmVhbUVFRUVFTlMyXzE5cmVjb3JkX2RlY29tcHJlc3NvcklKTlMyXzVmaWVsZElOUzJfM2xhczdwb2ludDEwRU5TMl8yMHN0YW5kYXJkX2RpZmZfbWV0aG9kSVNGX0VFRUVOU0RfSU5TRV8zcmdiRU5TR19JU0pfRUVFRUVFRUVFTlNfMTRkZWZhdWx0X2RlbGV0ZUlTTl9FRU5TXzlhbGxvY2F0b3JJU05fRUVFRQBOU3QzX18yMTRkZWZhdWx0X2RlbGV0ZUlONmxhc3ppcDdmb3JtYXRzMjFkeW5hbWljX2RlY29tcHJlc3NvcjFJTlMxXzhkZWNvZGVyczEwYXJpdGhtZXRpY0lOUzFfMmlvMThfX2lmc3RyZWFtX3dyYXBwZXJJTlMxXzdzdHJlYW1zMTNtZW1vcnlfc3RyZWFtRUVFRUVOUzJfMTlyZWNvcmRfZGVjb21wcmVzc29ySUpOUzJfNWZpZWxkSU5TMl8zbGFzN3BvaW50MTBFTlMyXzIwc3RhbmRhcmRfZGlmZl9tZXRob2RJU0ZfRUVFRU5TRF9JTlNFXzNyZ2JFTlNHX0lTSl9FRUVFRUVFRUVFRQBONmxhc3ppcDdmb3JtYXRzMjFkeW5hbWljX2RlY29tcHJlc3NvcjFJTlNfOGRlY29kZXJzMTBhcml0aG1ldGljSU5TXzJpbzE4X19pZnN0cmVhbV93cmFwcGVySU5TXzdzdHJlYW1zMTNtZW1vcnlfc3RyZWFtRUVFRUVOUzBfMTlyZWNvcmRfZGVjb21wcmVzc29ySUpOUzBfNWZpZWxkSU5TMF8zbGFzN3BvaW50MTBFTlMwXzIwc3RhbmRhcmRfZGlmZl9tZXRob2RJU0RfRUVFRU5TQl9JTlNDXzdncHN0aW1lRU5TRV9JU0hfRUVFRU5TQl9JTlNDXzNyZ2JFTlNFX0lTS19FRUVFRUVFRUUATlN0M19fMjIwX19zaGFyZWRfcHRyX3BvaW50ZXJJUE42bGFzemlwN2Zvcm1hdHMyMWR5bmFtaWNfZGVjb21wcmVzc29yMUlOUzFfOGRlY29kZXJzMTBhcml0aG1ldGljSU5TMV8yaW8xOF9faWZzdHJlYW1fd3JhcHBlcklOUzFfN3N0cmVhbXMxM21lbW9yeV9zdHJlYW1FRUVFRU5TMl8xOXJlY29yZF9kZWNvbXByZXNzb3JJSk5TMl81ZmllbGRJTlMyXzNsYXM3cG9pbnQxMEVOUzJfMjBzdGFuZGFyZF9kaWZmX21ldGhvZElTRl9FRUVFTlNEX0lOU0VfN2dwc3RpbWVFTlNHX0lTSl9FRUVFTlNEX0lOU0VfM3JnYkVOU0dfSVNNX0VFRUVFRUVFRU5TXzE0ZGVmYXVsdF9kZWxldGVJU1FfRUVOU185YWxsb2NhdG9ySVNRX0VFRUUATlN0M19fMjE0ZGVmYXVsdF9kZWxldGVJTjZsYXN6aXA3Zm9ybWF0czIxZHluYW1pY19kZWNvbXByZXNzb3IxSU5TMV84ZGVjb2RlcnMxMGFyaXRobWV0aWNJTlMxXzJpbzE4X19pZnN0cmVhbV93cmFwcGVySU5TMV83c3RyZWFtczEzbWVtb3J5X3N0cmVhbUVFRUVFTlMyXzE5cmVjb3JkX2RlY29tcHJlc3NvcklKTlMyXzVmaWVsZElOUzJfM2xhczdwb2ludDEwRU5TMl8yMHN0YW5kYXJkX2RpZmZfbWV0aG9kSVNGX0VFRUVOU0RfSU5TRV83Z3BzdGltZUVOU0dfSVNKX0VFRUVOU0RfSU5TRV8zcmdiRU5TR19JU01fRUVFRUVFRUVFRUUATlN0M19fMjIwX19zaGFyZWRfcHRyX3BvaW50ZXJJUDEwYnVmX3N0cmVhbU5TXzE0ZGVmYXVsdF9kZWxldGVJUzFfRUVOU185YWxsb2NhdG9ySVMxX0VFRUUATlN0M19fMjE0ZGVmYXVsdF9kZWxldGVJMTBidWZfc3RyZWFtRUUATlN0M19fMjIwX19zaGFyZWRfcHRyX3BvaW50ZXJJUE42bGFzemlwOGRlY29kZXJzMTBhcml0aG1ldGljSTEwYnVmX3N0cmVhbUVFTlNfMTRkZWZhdWx0X2RlbGV0ZUlTNV9FRU5TXzlhbGxvY2F0b3JJUzVfRUVFRQBOU3QzX18yMTRkZWZhdWx0X2RlbGV0ZUlONmxhc3ppcDhkZWNvZGVyczEwYXJpdGhtZXRpY0kxMGJ1Zl9zdHJlYW1FRUVFAE42bGFzemlwN2Zvcm1hdHMyNmR5bmFtaWNfZmllbGRfZGVjb21wcmVzc29ySU5TXzhkZWNvZGVyczEwYXJpdGhtZXRpY0kxMGJ1Zl9zdHJlYW1FRUVFAE5TdDNfXzIyMF9fc2hhcmVkX3B0cl9wb2ludGVySVBONmxhc3ppcDdmb3JtYXRzMjZkeW5hbWljX2ZpZWxkX2RlY29tcHJlc3NvcklOUzFfOGRlY29kZXJzMTBhcml0aG1ldGljSTEwYnVmX3N0cmVhbUVFRUVOU18xNGRlZmF1bHRfZGVsZXRlSVM4X0VFTlNfOWFsbG9jYXRvcklTOF9FRUVFAE5TdDNfXzIxNGRlZmF1bHRfZGVsZXRlSU42bGFzemlwN2Zvcm1hdHMyNmR5bmFtaWNfZmllbGRfZGVjb21wcmVzc29ySU5TMV84ZGVjb2RlcnMxMGFyaXRobWV0aWNJMTBidWZfc3RyZWFtRUVFRUVFAE42bGFzemlwN2Zvcm1hdHMyNmR5bmFtaWNfZGVjb21wcmVzc29yX2ZpZWxkSU5TXzhkZWNvZGVyczEwYXJpdGhtZXRpY0kxMGJ1Zl9zdHJlYW1FRU5TMF81ZmllbGRJaU5TMF8yMHN0YW5kYXJkX2RpZmZfbWV0aG9kSWlFRUVFRUUATlN0M19fMjIwX19zaGFyZWRfcHRyX3BvaW50ZXJJUE42bGFzemlwN2Zvcm1hdHMyNmR5bmFtaWNfZGVjb21wcmVzc29yX2ZpZWxkSU5TMV84ZGVjb2RlcnMxMGFyaXRobWV0aWNJMTBidWZfc3RyZWFtRUVOUzJfNWZpZWxkSWlOUzJfMjBzdGFuZGFyZF9kaWZmX21ldGhvZElpRUVFRUVFTlNfMTRkZWZhdWx0X2RlbGV0ZUlTQ19FRU5TXzlhbGxvY2F0b3JJU0NfRUVFRQBOU3QzX18yMTRkZWZhdWx0X2RlbGV0ZUlONmxhc3ppcDdmb3JtYXRzMjZkeW5hbWljX2RlY29tcHJlc3Nvcl9maWVsZElOUzFfOGRlY29kZXJzMTBhcml0aG1ldGljSTEwYnVmX3N0cmVhbUVFTlMyXzVmaWVsZElpTlMyXzIwc3RhbmRhcmRfZGlmZl9tZXRob2RJaUVFRUVFRUVFAE42bGFzemlwN2Zvcm1hdHMyNmR5bmFtaWNfZGVjb21wcmVzc29yX2ZpZWxkSU5TXzhkZWNvZGVyczEwYXJpdGhtZXRpY0kxMGJ1Zl9zdHJlYW1FRU5TMF81ZmllbGRJak5TMF8yMHN0YW5kYXJkX2RpZmZfbWV0aG9kSWpFRUVFRUUATlN0M19fMjIwX19zaGFyZWRfcHRyX3BvaW50ZXJJUE42bGFzemlwN2Zvcm1hdHMyNmR5bmFtaWNfZGVjb21wcmVzc29yX2ZpZWxkSU5TMV84ZGVjb2RlcnMxMGFyaXRobWV0aWNJMTBidWZfc3RyZWFtRUVOUzJfNWZpZWxkSWpOUzJfMjBzdGFuZGFyZF9kaWZmX21ldGhvZElqRUVFRUVFTlNfMTRkZWZhdWx0X2RlbGV0ZUlTQ19FRU5TXzlhbGxvY2F0b3JJU0NfRUVFRQBOU3QzX18yMTRkZWZhdWx0X2RlbGV0ZUlONmxhc3ppcDdmb3JtYXRzMjZkeW5hbWljX2RlY29tcHJlc3Nvcl9maWVsZElOUzFfOGRlY29kZXJzMTBhcml0aG1ldGljSTEwYnVmX3N0cmVhbUVFTlMyXzVmaWVsZElqTlMyXzIwc3RhbmRhcmRfZGlmZl9tZXRob2RJakVFRUVFRUVFAE42bGFzemlwN2Zvcm1hdHMyNmR5bmFtaWNfZGVjb21wcmVzc29yX2ZpZWxkSU5TXzhkZWNvZGVyczEwYXJpdGhtZXRpY0kxMGJ1Zl9zdHJlYW1FRU5TMF81ZmllbGRJYU5TMF8yMHN0YW5kYXJkX2RpZmZfbWV0aG9kSWFFRUVFRUUATlN0M19fMjIwX19zaGFyZWRfcHRyX3BvaW50ZXJJUE42bGFzemlwN2Zvcm1hdHMyNmR5bmFtaWNfZGVjb21wcmVzc29yX2ZpZWxkSU5TMV84ZGVjb2RlcnMxMGFyaXRobWV0aWNJMTBidWZfc3RyZWFtRUVOUzJfNWZpZWxkSWFOUzJfMjBzdGFuZGFyZF9kaWZmX21ldGhvZElhRUVFRUVFTlNfMTRkZWZhdWx0X2RlbGV0ZUlTQ19FRU5TXzlhbGxvY2F0b3JJU0NfRUVFRQBOU3QzX18yMTRkZWZhdWx0X2RlbGV0ZUlONmxhc3ppcDdmb3JtYXRzMjZkeW5hbWljX2RlY29tcHJlc3Nvcl9maWVsZElOUzFfOGRlY29kZXJzMTBhcml0aG1ldGljSTEwYnVmX3N0cmVhbUVFTlMyXzVmaWVsZElhTlMyXzIwc3RhbmRhcmRfZGlmZl9tZXRob2RJYUVFRUVFRUVFAE42bGFzemlwN2Zvcm1hdHMyNmR5bmFtaWNfZGVjb21wcmVzc29yX2ZpZWxkSU5TXzhkZWNvZGVyczEwYXJpdGhtZXRpY0kxMGJ1Zl9zdHJlYW1FRU5TMF81ZmllbGRJc05TMF8yMHN0YW5kYXJkX2RpZmZfbWV0aG9kSXNFRUVFRUUATlN0M19fMjIwX19zaGFyZWRfcHRyX3BvaW50ZXJJUE42bGFzemlwN2Zvcm1hdHMyNmR5bmFtaWNfZGVjb21wcmVzc29yX2ZpZWxkSU5TMV84ZGVjb2RlcnMxMGFyaXRobWV0aWNJMTBidWZfc3RyZWFtRUVOUzJfNWZpZWxkSXNOUzJfMjBzdGFuZGFyZF9kaWZmX21ldGhvZElzRUVFRUVFTlNfMTRkZWZhdWx0X2RlbGV0ZUlTQ19FRU5TXzlhbGxvY2F0b3JJU0NfRUVFRQBOU3QzX18yMTRkZWZhdWx0X2RlbGV0ZUlONmxhc3ppcDdmb3JtYXRzMjZkeW5hbWljX2RlY29tcHJlc3Nvcl9maWVsZElOUzFfOGRlY29kZXJzMTBhcml0aG1ldGljSTEwYnVmX3N0cmVhbUVFTlMyXzVmaWVsZElzTlMyXzIwc3RhbmRhcmRfZGlmZl9tZXRob2RJc0VFRUVFRUVFAE42bGFzemlwN2Zvcm1hdHMyNmR5bmFtaWNfZGVjb21wcmVzc29yX2ZpZWxkSU5TXzhkZWNvZGVyczEwYXJpdGhtZXRpY0kxMGJ1Zl9zdHJlYW1FRU5TMF81ZmllbGRJaE5TMF8yMHN0YW5kYXJkX2RpZmZfbWV0aG9kSWhFRUVFRUUATlN0M19fMjIwX19zaGFyZWRfcHRyX3BvaW50ZXJJUE42bGFzemlwN2Zvcm1hdHMyNmR5bmFtaWNfZGVjb21wcmVzc29yX2ZpZWxkSU5TMV84ZGVjb2RlcnMxMGFyaXRobWV0aWNJMTBidWZfc3RyZWFtRUVOUzJfNWZpZWxkSWhOUzJfMjBzdGFuZGFyZF9kaWZmX21ldGhvZEloRUVFRUVFTlNfMTRkZWZhdWx0X2RlbGV0ZUlTQ19FRU5TXzlhbGxvY2F0b3JJU0NfRUVFRQBOU3QzX18yMTRkZWZhdWx0X2RlbGV0ZUlONmxhc3ppcDdmb3JtYXRzMjZkeW5hbWljX2RlY29tcHJlc3Nvcl9maWVsZElOUzFfOGRlY29kZXJzMTBhcml0aG1ldGljSTEwYnVmX3N0cmVhbUVFTlMyXzVmaWVsZEloTlMyXzIwc3RhbmRhcmRfZGlmZl9tZXRob2RJaEVFRUVFRUVFAE42bGFzemlwN2Zvcm1hdHMyNmR5bmFtaWNfZGVjb21wcmVzc29yX2ZpZWxkSU5TXzhkZWNvZGVyczEwYXJpdGhtZXRpY0kxMGJ1Zl9zdHJlYW1FRU5TMF81ZmllbGRJdE5TMF8yMHN0YW5kYXJkX2RpZmZfbWV0aG9kSXRFRUVFRUUATlN0M19fMjIwX19zaGFyZWRfcHRyX3BvaW50ZXJJUE42bGFzemlwN2Zvcm1hdHMyNmR5bmFtaWNfZGVjb21wcmVzc29yX2ZpZWxkSU5TMV84ZGVjb2RlcnMxMGFyaXRobWV0aWNJMTBidWZfc3RyZWFtRUVOUzJfNWZpZWxkSXROUzJfMjBzdGFuZGFyZF9kaWZmX21ldGhvZEl0RUVFRUVFTlNfMTRkZWZhdWx0X2RlbGV0ZUlTQ19FRU5TXzlhbGxvY2F0b3JJU0NfRUVFRQBOU3QzX18yMTRkZWZhdWx0X2RlbGV0ZUlONmxhc3ppcDdmb3JtYXRzMjZkeW5hbWljX2RlY29tcHJlc3Nvcl9maWVsZElOUzFfOGRlY29kZXJzMTBhcml0aG1ldGljSTEwYnVmX3N0cmVhbUVFTlMyXzVmaWVsZEl0TlMyXzIwc3RhbmRhcmRfZGlmZl9tZXRob2RJdEVFRUVFRUVFADZMQVNaaXAAUDZMQVNaaXAAUEs2TEFTWmlwAGlpAHYAdmkAdmlpaWkAdmlpaQBpaWkAMTNEeW5hbWljTEFTWmlwAFAxM0R5bmFtaWNMQVNaaXAAUEsxM0R5bmFtaWNMQVNaaXAAdm9pZABib29sAGNoYXIAc2lnbmVkIGNoYXIAdW5zaWduZWQgY2hhcgBzaG9ydAB1bnNpZ25lZCBzaG9ydABpbnQAdW5zaWduZWQgaW50AGxvbmcAdW5zaWduZWQgbG9uZwBmbG9hdABkb3VibGUAc3RkOjpzdHJpbmcAc3RkOjpiYXNpY19zdHJpbmc8dW5zaWduZWQgY2hhcj4Ac3RkOjp3c3RyaW5nAHN0ZDo6dTE2c3RyaW5nAHN0ZDo6dTMyc3RyaW5nAGVtc2NyaXB0ZW46OnZhbABlbXNjcmlwdGVuOjptZW1vcnlfdmlldzxjaGFyPgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzxzaWduZWQgY2hhcj4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8dW5zaWduZWQgY2hhcj4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8c2hvcnQ+AGVtc2NyaXB0ZW46Om1lbW9yeV92aWV3PHVuc2lnbmVkIHNob3J0PgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzxpbnQ+AGVtc2NyaXB0ZW46Om1lbW9yeV92aWV3PHVuc2lnbmVkIGludD4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8bG9uZz4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8dW5zaWduZWQgbG9uZz4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8aW50OF90PgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzx1aW50OF90PgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzxpbnQxNl90PgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzx1aW50MTZfdD4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8aW50MzJfdD4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8dWludDMyX3Q+AGVtc2NyaXB0ZW46Om1lbW9yeV92aWV3PGZsb2F0PgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzxkb3VibGU+AGVtc2NyaXB0ZW46Om1lbW9yeV92aWV3PGxvbmcgZG91YmxlPgBOMTBlbXNjcmlwdGVuMTFtZW1vcnlfdmlld0llRUUATjEwZW1zY3JpcHRlbjExbWVtb3J5X3ZpZXdJZEVFAE4xMGVtc2NyaXB0ZW4xMW1lbW9yeV92aWV3SWZFRQBOMTBlbXNjcmlwdGVuMTFtZW1vcnlfdmlld0ltRUUATjEwZW1zY3JpcHRlbjExbWVtb3J5X3ZpZXdJbEVFAE4xMGVtc2NyaXB0ZW4xMW1lbW9yeV92aWV3SWpFRQBOMTBlbXNjcmlwdGVuMTFtZW1vcnlfdmlld0lpRUUATjEwZW1zY3JpcHRlbjExbWVtb3J5X3ZpZXdJdEVFAE4xMGVtc2NyaXB0ZW4xMW1lbW9yeV92aWV3SXNFRQBOMTBlbXNjcmlwdGVuMTFtZW1vcnlfdmlld0loRUUATjEwZW1zY3JpcHRlbjExbWVtb3J5X3ZpZXdJYUVFAE4xMGVtc2NyaXB0ZW4xMW1lbW9yeV92aWV3SWNFRQBOMTBlbXNjcmlwdGVuM3ZhbEUATlN0M19fMjEyYmFzaWNfc3RyaW5nSURpTlNfMTFjaGFyX3RyYWl0c0lEaUVFTlNfOWFsbG9jYXRvcklEaUVFRUUATlN0M19fMjIxX19iYXNpY19zdHJpbmdfY29tbW9uSUxiMUVFRQBOU3QzX18yMTJiYXNpY19zdHJpbmdJRHNOU18xMWNoYXJfdHJhaXRzSURzRUVOU185YWxsb2NhdG9ySURzRUVFRQBOU3QzX18yMTJiYXNpY19zdHJpbmdJd05TXzExY2hhcl90cmFpdHNJd0VFTlNfOWFsbG9jYXRvckl3RUVFRQBOU3QzX18yMTJiYXNpY19zdHJpbmdJaE5TXzExY2hhcl90cmFpdHNJaEVFTlNfOWFsbG9jYXRvckloRUVFRQBOU3QzX18yMTJiYXNpY19zdHJpbmdJY05TXzExY2hhcl90cmFpdHNJY0VFTlNfOWFsbG9jYXRvckljRUVFRQAtKyAgIDBYMHgAKG51bGwpAC0wWCswWCAwWC0weCsweCAweABpbmYASU5GAG5hbgBOQU4ALgB0ZXJtaW5hdGluZyB3aXRoICVzIGV4Y2VwdGlvbiBvZiB0eXBlICVzOiAlcwB0ZXJtaW5hdGluZyB3aXRoICVzIGV4Y2VwdGlvbiBvZiB0eXBlICVzAHRlcm1pbmF0aW5nIHdpdGggJXMgZm9yZWlnbiBleGNlcHRpb24AdGVybWluYXRpbmcAdW5jYXVnaHQAU3Q5ZXhjZXB0aW9uAE4xMF9fY3h4YWJpdjExNl9fc2hpbV90eXBlX2luZm9FAFN0OXR5cGVfaW5mbwBOMTBfX2N4eGFiaXYxMjBfX3NpX2NsYXNzX3R5cGVfaW5mb0UATjEwX19jeHhhYml2MTE3X19jbGFzc190eXBlX2luZm9FAHRlcm1pbmF0ZV9oYW5kbGVyIHVuZXhwZWN0ZWRseSByZXR1cm5lZABzdGQ6OmJhZF9hbGxvYwBTdDliYWRfYWxsb2MAU3QxMWxvZ2ljX2Vycm9yAFN0MTNydW50aW1lX2Vycm9yAFN0MTJsZW5ndGhfZXJyb3IAU3QxMm91dF9vZl9yYW5nZQBOMTBfX2N4eGFiaXYxMTdfX3BiYXNlX3R5cGVfaW5mb0UATjEwX19jeHhhYml2MTE5X19wb2ludGVyX3R5cGVfaW5mb0UATjEwX19jeHhhYml2MTIwX19mdW5jdGlvbl90eXBlX2luZm9FAE4xMF9fY3h4YWJpdjEyOV9fcG9pbnRlcl90b19tZW1iZXJfdHlwZV9pbmZvRQBQdXJlIHZpcnR1YWwgZnVuY3Rpb24gY2FsbGVkIQBOMTBfX2N4eGFiaXYxMjNfX2Z1bmRhbWVudGFsX3R5cGVfaW5mb0UAdgBEbgBiAGMAaABhAHMAdABpAGoAbABtAGYAZABOMTBfX2N4eGFiaXYxMjFfX3ZtaV9jbGFzc190eXBlX2luZm9FAF9fY3hhX2d1YXJkX2FjcXVpcmUgZGV0ZWN0ZWQgcmVjdXJzaXZlIGluaXRpYWxpemF0aW9uAHN0ZDo6YmFkX2Z1bmN0aW9uX2NhbGwATlN0M19fMjE3YmFkX2Z1bmN0aW9uX2NhbGxFAE5TdDNfXzIxNF9fc2hhcmVkX2NvdW50RQBOU3QzX18yMTlfX3NoYXJlZF93ZWFrX2NvdW50RQBtdXRleCBsb2NrIGZhaWxlZABiYXNpY19zdHJpbmcAdW5zcGVjaWZpZWQgZ2VuZXJpY19jYXRlZ29yeSBlcnJvcgBVbmtub3duIGVycm9yICVkAGdlbmVyaWMATlN0M19fMjI0X19nZW5lcmljX2Vycm9yX2NhdGVnb3J5RQBOU3QzX18yMTJfX2RvX21lc3NhZ2VFAE5TdDNfXzIxNGVycm9yX2NhdGVnb3J5RQB1bnNwZWNpZmllZCBzeXN0ZW1fY2F0ZWdvcnkgZXJyb3IAc3lzdGVtAE5TdDNfXzIyM19fc3lzdGVtX2Vycm9yX2NhdGVnb3J5RQBOU3QzX18yMTJzeXN0ZW1fZXJyb3JFADogAHZlY3Rvcg==";var gh=22368;function k9(M){return M}function N9(M){var g=/\b__Z[\w\d_]+/g;return M.replace(g,function(k){var u=k;return k===u?k:u+" ["+k+"]"})}function V9(){var M=new Error;if(!M.stack){try{throw new Error}catch(g){M=g}if(!M.stack)return"(no stack trace available)"}return M.stack.toString()}function _h(M){return kn(M)}var Lr={},Rh=[];function ss(M){if(M){var g=Lr[M];g.refcount++}}function os(M){if(!M||Lr[M])return M;for(var g in Lr)for(var k=+g,u=Lr[k].adjusted,B=u.length,r=0;r<B;r++)if(u[r]===M)return k;return M}function xh(M){var g=Lr[M];return g&&!g.caught&&(g.caught=!0,we.uncaught_exceptions--),g&&(g.rethrown=!1),Rh.push(M),ss(os(M)),M}var wh=0;function Zh(M,g,k){throw Lr[M]={ptr:M,adjusted:[M],type:g,destructor:k,refcount:0,caught:!1,rethrown:!1},wh=M,"uncaught_exception"in we?we.uncaught_exceptions++:we.uncaught_exceptions=1,M}function Fh(){return we.uncaught_exceptions}function kh(){}function pn(M){switch(M){case 1:return 0;case 2:return 1;case 4:return 2;case 8:return 3;default:throw new TypeError("Unknown type size: "+M)}}function Nh(){for(var M=new Array(256),g=0;g<256;++g)M[g]=String.fromCharCode(g);fs=M}var fs=void 0;function ct(M){for(var g="",k=M;$0[k];)g+=fs[$0[k++]];return g}var Qr={},qr={},si={},Vh=48,Wh=57;function dn(M){if(M===void 0)return"_unknown";M=M.replace(/[^a-zA-Z0-9_]/g,"$");var g=M.charCodeAt(0);return g>=Vh&&g<=Wh?"_"+M:M}function yn(M,g){return M=dn(M),new Function("body","return function "+M+`() {
7
+ "use strict";var __exports__=(()=>{var Gy=Object.create;var Ye=Object.defineProperty;var Ey=Object.getOwnPropertyDescriptor;var zy=Object.getOwnPropertyNames;var By=Object.getPrototypeOf,Sy=Object.prototype.hasOwnProperty;var Cy=(s,f,h)=>f in s?Ye(s,f,{enumerable:!0,configurable:!0,writable:!0,value:h}):s[f]=h;var d2=(s,f)=>()=>(f||s((f={exports:{}}).exports,f),f.exports),Iy=(s,f)=>{for(var h in f)Ye(s,h,{get:f[h],enumerable:!0})},Bi=(s,f,h,m)=>{if(f&&typeof f=="object"||typeof f=="function")for(let p of zy(f))!Sy.call(s,p)&&p!==h&&Ye(s,p,{get:()=>f[p],enumerable:!(m=Ey(f,p))||m.enumerable});return s},Si=(s,f,h)=>(Bi(s,f,"default"),h&&Bi(h,f,"default")),Jf=(s,f,h)=>(h=s!=null?Gy(By(s)):{},Bi(f||!s||!s.__esModule?Ye(h,"default",{value:s,enumerable:!0}):h,s)),Oy=s=>Bi(Ye({},"__esModule",{value:!0}),s);var Pf=(s,f,h)=>(Cy(s,typeof f!="symbol"?f+"":f,h),h);var y2=d2((pR,jf)=>{jf.exports=globalThis.loaders});var x2=d2(()=>{});var ia=d2(()=>{});var ei={};Iy(ei,{PotreeBinLoader:()=>Hf,PotreeHierarchyChunkLoader:()=>Ii,PotreeLoader:()=>Ci,PotreeSource:()=>OA});Si(ei,Jf(y2(),1));var Jy="4.4.1",Ci={dataType:null,batchType:null,name:"potree metadata",id:"potree",module:"potree",version:Jy,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 M2(s){let f=Py(s);return jy(f)}function Py(s,f=0){let h=new DataView(s),m=[],p={};f=Yf(h,f,p),m.push(p);let y=[p];for(;m.length>0;){let _=m.shift(),R=1;for(let F=0;F<8;F++){if(_&&_.header.childMask&R){let V={};f=Yf(h,f,V),V.name=_.name+F,m.push(V),y.push(V),_.header.childCount++}R=R*2}if(f===h.byteLength)break}return y}function Yf(s,f,h){return h.header=h.header||{},h.header.childMask=s.getUint8(f),h.header.childCount=0,h.pointCount=s.getUint32(f+1,!0),h.name="",f+=5,f}function jy(s,f={}){f={...{spacing:100},...f};let m=s[0],p={};for(let y of s){let{name:_}=y,R=parseInt(_.charAt(_.length-1),10),F=_.substring(0,_.length-1),V=p[F],X=_.length-1;y.level=X,y.hasChildren=Boolean(y.header.childCount),y.children=[],y.childrenByIndex=new Array(8).fill(null),y.spacing=(f?.spacing||0)/Math.pow(2,X),y.type="pointcloud",y.id=y.name,V&&(V.children.push(y),V.childrenByIndex[R]=y),p[_]=y}return m}var Yy="4.4.1",Ii={dataType:null,batchType:null,name:"potree Hierarchy Chunk",id:"potree-hrc",module:"potree",version:Yy,extensions:["hrc"],mimeTypes:["application/octet-stream"],parse:async(s,f)=>M2(s),parseSync:(s,f)=>M2(s),options:{potree:{}},binary:!0};function Df(s,f,h,m){return null}var Hf={dataType:null,batchType:null,name:"potree Binary Point Attributes",id:"potree",extensions:["bin"],mimeTypes:["application/octet-stream"],parseSync:Dy,binary:!0,options:{}};function Dy(s,f){let h={};return Df(s,0,f,h),h}var an=Jf(y2(),1);function Lf(s,f){return Qf(s||{},f)}function Qf(s,f,h=0){if(h>3)return f;let m={...s};for(let[p,y]of Object.entries(f))y&&typeof y=="object"&&!Array.isArray(y)?m[p]=Qf(m[p]||{},f[p],h+1):m[p]=f[p];return m}var Hy="",qf={};function De(s){for(let f in qf)if(s.startsWith(f)){let h=qf[f];s=s.replace(f,h)}return!s.startsWith("http://")&&!s.startsWith("https://")&&(s=`${Hy}${s}`),s}var g2=class{optionsType;options;data;url;loadOptions;fetch;_needsRefresh=!0;constructor(f,h,m){m?this.options=Lf({...m,core:g2.defaultOptions},h):this.options={...h},this.data=f,this.url=typeof f=="string"?De(f):"",this.loadOptions=Qy(this.options.core?.loadOptions),this.fetch=Ly(this.loadOptions)}setProps(f){this.options=Object.assign(this.options,f),this.setNeedsRefresh()}setNeedsRefresh(){this._needsRefresh=!0}getNeedsRefresh(f=!0){let h=this._needsRefresh;return f&&(this._needsRefresh=!1),h}},he=g2;Pf(he,"defaultOptions",{core:{type:"auto",attributions:[],loadOptions:{},loaders:[]}});function Ly(s){let f=s?.core?.fetch;if(f&&typeof f=="function")return(m,p)=>f(m,p);let h=s?.fetch;return h&&typeof h!="function"?m=>fetch(m,h):m=>fetch(m)}function Qy(s){let f={...s};s?.core&&(f.core={...s.core});let h=typeof f.baseUri=="string"?f.baseUri:void 0,m=typeof f.baseUrl=="string"?f.baseUrl:void 0;return(h!==void 0||m!==void 0)&&(f.core||={},f.core.baseUrl===void 0&&(f.core.baseUrl=m??h),delete f.baseUri,delete f.baseUrl),f}var $f={name:"LAS",id:"las",module:"las",extensions:["las","laz"],mimeTypes:["application/octet-stream"],text:!1,binary:!0,tests:["LASF"]};var qy="4.4.1",Kf={...$f,dataType:null,batchType:null,version:qy,worker:!0,options:{las:{shape:"mesh",fp64:!1,skip:1,colorDepth:8}}};function bf(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 _2(s){let f=1/0,h=1/0,m=1/0,p=-1/0,y=-1/0,_=-1/0,R=s.POSITION?s.POSITION.value:[],F=R&&R.length;for(let V=0;V<F;V+=3){let X=R[V],T=R[V+1],C=R[V+2];f=X<f?X:f,h=T<h?T:h,m=C<m?C:m,p=X>p?X:p,y=T>y?T:y,_=C>_?C:_}return[[f,h,m],[p,y,_]]}function R2(s,f={}){return{fields:$y(s),metadata:f}}function ta(s,f,h){let m=bf(f.value),p=h||ra(f);return{name:s,type:{type:"fixed-size-list",listSize:f.size,children:[{name:"value",type:m}]},nullable:!1,metadata:p}}function $y(s){let f=[];for(let h in s){let m=s[h];f.push(ta(h,m))}return f}function ra(s){let f={};return"byteOffset"in s&&(f.byteOffset=s.byteOffset.toString(10)),"byteStride"in s&&(f.byteStride=s.byteStride.toString(10)),"normalized"in s&&(f.normalized=s.normalized.toString()),f}function ea(s,f){let h=Ky(s);return R2(f,h)}function Ky(s){let f={};return f.las_pointsOffset=s.pointsOffset.toString(10),f.las_pointsFormatId=s.pointsFormatId.toString(10),f.las_pointsStructSize=s.pointsStructSize.toString(10),f.las_pointsCount=s.pointsCount.toString(10),f.las_scale=JSON.stringify(s.scale),f.las_offset=JSON.stringify(s.offset),s.maxs!==void 0&&(f.las_maxs=JSON.stringify(s.maxs)),s.mins!==void 0&&(f.las_mins=JSON.stringify(s.mins)),f.las_totalToRead=s.totalToRead.toString(10),f.las_pointsFortotalReadmatId=s.totalRead.toString(10),s.versionAsString!==void 0&&(f.las_versionAsString=s.versionAsString),s.isCompressed!==void 0&&(f.las_isCompressed=s.isCompressed.toString()),f}function w2(){var s=typeof s<"u"?s:{},f={},h;for(h in s)s.hasOwnProperty(h)&&(f[h]=s[h]);var m=[],p="./this.program",y=function(M,g){throw g},_=!1,R=!1,F=!1,V=!1;_=typeof window=="object",R=typeof importScripts=="function",F=typeof process=="object"&&typeof process.versions=="object"&&typeof process.versions.node=="string",V=!_&&!F&&!R;var X="";function T(M){return s.locateFile?s.locateFile(M,X):X+M}var C,W,P,q,K,r0;F?(R?X=x2().dirname(X)+"/":X=(typeof __dirname<"u"?__dirname:"")+"/",C=function(g,k){var u=hr(g);return u?k?u:u.toString():(K||(K=ia()),r0||(r0=x2()),g=r0.normalize(g),K.readFileSync(g,k?null:"utf8"))},P=function(g){var k=C(g,!0);return k.buffer||(k=new Uint8Array(k)),Dr(k.buffer),k},process.argv.length>1&&(p=process.argv[1].replace(/\\/g,"/")),m=process.argv.slice(2),typeof module<"u"&&(module.exports=s),process.on("uncaughtException",function(M){if(!(M instanceof B1))throw M}),process.on("unhandledRejection",Rr),y=function(M){process.exit(M)},s.inspect=function(){return"[Emscripten Module object]"}):V?(typeof read<"u"&&(C=function(g){var k=hr(g);return k?ys(k):read(g)}),P=function(g){var k;return k=hr(g),k||(typeof readbuffer=="function"?new Uint8Array(readbuffer(g)):(k=read(g,"binary"),Dr(typeof k=="object"),k))},typeof scriptArgs<"u"?m=scriptArgs:typeof arguments<"u"&&(m=arguments),typeof quit=="function"&&(y=function(M){quit(M)}),typeof print<"u"&&(typeof console>"u"&&(console={}),console.log=print,console.warn=console.error=typeof printErr<"u"?printErr:print)):(_||R)&&(R?X=self.location.href:document.currentScript&&(X=document.currentScript.src),X.indexOf("blob:")!==0?X=X.substr(0,X.lastIndexOf("/")+1):X="",C=function(g){try{var k=new XMLHttpRequest;return k.open("GET",g,!1),k.send(null),k.responseText}catch(B){var u=hr(g);if(u)return ys(u);throw B}},R&&(P=function(g){try{var k=new XMLHttpRequest;return k.open("GET",g,!1),k.responseType="arraybuffer",k.send(null),new Uint8Array(k.response)}catch(B){var u=hr(g);if(u)return u;throw B}}),W=function(g,k,u){var B=new XMLHttpRequest;B.open("GET",g,!0),B.responseType="arraybuffer",B.onload=function(){if(B.status==200||B.status==0&&B.response){k(B.response);return}var Z=hr(g);if(Z){k(Z.buffer);return}u()},B.onerror=u,B.send(null)},q=function(M){document.title=M});var o0=s.print||console.log.bind(console),l0=s.printErr||console.warn.bind(console);for(h in f)f.hasOwnProperty(h)&&(s[h]=f[h]);f=null,s.arguments&&(m=s.arguments),s.thisProgram&&(p=s.thisProgram),s.quit&&(y=s.quit);var p0=16;function h0(M){var g=nt[cn>>2],k=g+M+15&-16;return nt[cn>>2]=k,g}function a0(M){switch(M){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(M[M.length-1]==="*")return 4;if(M[0]==="i"){var g=Number(M.substr(1));return Dr(g%8===0,"getNativeTypeSize invalid bits "+g+", type "+M),g/8}else return 0}}}function U0(M){U0.shown||(U0.shown={}),U0.shown[M]||(U0.shown[M]=1,l0(M))}var V0=1,wt=new Array(0),or={};function fr(M,g,k){return k&&k.length?s["dynCall_"+M].apply(null,[g].concat(k)):s["dynCall_"+M].call(null,g)}var yr=0,hn=function(M){yr=M},JA=function(){return yr},D2=8,PA;s.wasmBinary&&(PA=s.wasmBinary);var H2;s.noExitRuntime&&(H2=s.noExitRuntime);function g9(M,g,k,u){switch(k=k||"i8",k.charAt(k.length-1)==="*"&&(k="i32"),k){case"i1":ar[M>>0]=g;break;case"i8":ar[M>>0]=g;break;case"i16":gr[M>>1]=g;break;case"i32":nt[M>>2]=g;break;case"i64":vn=[g>>>0,(Hr=g,+ch(Hr)>=1?Hr>0?(ph(+vh(Hr/4294967296),4294967295)|0)>>>0:~~+mh((Hr-+(~~Hr>>>0))/4294967296)>>>0:0)],nt[M>>2]=vn[0],nt[M+4>>2]=vn[1];break;case"float":ln[M>>2]=g;break;case"double":un[M>>3]=g;break;default:Rr("invalid type for setValue: "+k)}}var L2=!1,jA=0;function Dr(M,g){M||Rr("Assertion failed: "+g)}function YA(M){var g=s["_"+M];return Dr(g,"Cannot call unknown function "+M+", make sure it is exported"),g}function _9(M,g,k,u,B){var r={string:function(m0){var T0=0;if(m0!=null&&m0!==0){var H0=(m0.length<<2)+1;T0=Ms(H0),$2(m0,T0,H0)}return T0},array:function(m0){var T0=Ms(m0.length);return rh(m0,T0),T0}};function Z(m0){return g==="string"?q2(m0):g==="boolean"?Boolean(m0):m0}var I=YA(M),H=[],D=0;if(u)for(var z=0;z<u.length;z++){var v0=r[k[z]];v0?(D===0&&(D=E1()),H[z]=v0(u[z])):H[z]=u[z]}var R0=I.apply(null,H);return R0=Z(R0),D!==0&&G1(D),R0}var R9=3,Q2=typeof TextDecoder<"u"?new TextDecoder("utf8"):void 0;function DA(M,g,k){for(var u=g+k,B=g;M[B]&&!(B>=u);)++B;if(B-g>16&&M.subarray&&Q2)return Q2.decode(M.subarray(g,B));for(var r="";g<B;){var Z=M[g++];if(!(Z&128)){r+=String.fromCharCode(Z);continue}var I=M[g++]&63;if((Z&224)==192){r+=String.fromCharCode((Z&31)<<6|I);continue}var H=M[g++]&63;if((Z&240)==224?Z=(Z&15)<<12|I<<6|H:Z=(Z&7)<<18|I<<12|H<<6|M[g++]&63,Z<65536)r+=String.fromCharCode(Z);else{var D=Z-65536;r+=String.fromCharCode(55296|D>>10,56320|D&1023)}}return r}function q2(M,g){return M?DA($0,M,g):""}function HA(M,g,k,u){if(!(u>0))return 0;for(var B=k,r=k+u-1,Z=0;Z<M.length;++Z){var I=M.charCodeAt(Z);if(I>=55296&&I<=57343){var H=M.charCodeAt(++Z);I=65536+((I&1023)<<10)|H&1023}if(I<=127){if(k>=r)break;g[k++]=I}else if(I<=2047){if(k+1>=r)break;g[k++]=192|I>>6,g[k++]=128|I&63}else if(I<=65535){if(k+2>=r)break;g[k++]=224|I>>12,g[k++]=128|I>>6&63,g[k++]=128|I&63}else{if(k+3>=r)break;g[k++]=240|I>>18,g[k++]=128|I>>12&63,g[k++]=128|I>>6&63,g[k++]=128|I&63}}return g[k]=0,k-B}function $2(M,g,k){return HA(M,$0,g,k)}function LA(M){for(var g=0,k=0;k<M.length;++k){var u=M.charCodeAt(k);u>=55296&&u<=57343&&(u=65536+((u&1023)<<10)|M.charCodeAt(++k)&1023),u<=127?++g:u<=2047?g+=2:u<=65535?g+=3:g+=4}return g}var K2=typeof TextDecoder<"u"?new TextDecoder("utf-16le"):void 0;function QA(M,g){for(var k=M,u=k>>1,B=u+g/2;!(u>=B)&&ii[u];)++u;if(k=u<<1,k-M>32&&K2)return K2.decode($0.subarray(M,k));for(var r=0,Z="";;){var I=gr[M+r*2>>1];if(I==0||r==g/2)return Z;++r,Z+=String.fromCharCode(I)}}function qA(M,g,k){if(k===void 0&&(k=2147483647),k<2)return 0;k-=2;for(var u=g,B=k<M.length*2?k/2:M.length,r=0;r<B;++r){var Z=M.charCodeAt(r);gr[g>>1]=Z,g+=2}return gr[g>>1]=0,g-u}function $A(M){return M.length*2}function KA(M,g){for(var k=0,u="";!(k>=g/4);){var B=nt[M+k*4>>2];if(B==0)break;if(++k,B>=65536){var r=B-65536;u+=String.fromCharCode(55296|r>>10,56320|r&1023)}else u+=String.fromCharCode(B)}return u}function bA(M,g,k){if(k===void 0&&(k=2147483647),k<4)return 0;for(var u=g,B=u+k-4,r=0;r<M.length;++r){var Z=M.charCodeAt(r);if(Z>=55296&&Z<=57343){var I=M.charCodeAt(++r);Z=65536+((Z&1023)<<10)|I&1023}if(nt[g>>2]=Z,g+=4,g+4>B)break}return nt[g>>2]=0,g-u}function th(M){for(var g=0,k=0;k<M.length;++k){var u=M.charCodeAt(k);u>=55296&&u<=57343&&++k,g+=4}return g}function rh(M,g){ar.set(M,g)}function x9(M,g,k){for(var u=0;u<M.length;++u)ar[g++>>0]=M.charCodeAt(u);k||(ar[g>>0]=0)}var Mr,ar,$0,gr,ii,nt,Yt,ln,un;function eh(M){Mr=M,s.HEAP8=ar=new Int8Array(M),s.HEAP16=gr=new Int16Array(M),s.HEAP32=nt=new Int32Array(M),s.HEAPU8=$0=new Uint8Array(M),s.HEAPU16=ii=new Uint16Array(M),s.HEAPU32=Yt=new Uint32Array(M),s.HEAPF32=ln=new Float32Array(M),s.HEAPF64=un=new Float64Array(M)}var w9=22384,ih=5265264,cn=22176,b2=s.INITIAL_MEMORY||167772160;s.buffer?Mr=s.buffer:Mr=new ArrayBuffer(b2),b2=Mr.byteLength,eh(Mr),nt[cn>>2]=ih;function ni(M){for(;M.length>0;){var g=M.shift();if(typeof g=="function"){g(s);continue}var k=g.func;typeof k=="number"?g.arg===void 0?s.dynCall_v(k):s.dynCall_vi(k,g.arg):k(g.arg===void 0?null:g.arg)}}var ts=[],rs=[],nh=[],es=[],sh=!1,oh=!1;function fh(){if(s.preRun)for(typeof s.preRun=="function"&&(s.preRun=[s.preRun]);s.preRun.length;)lh(s.preRun.shift());ni(ts)}function ah(){sh=!0,ni(rs)}function Ah(){ni(nh)}function Z9(){oh=!0}function hh(){if(s.postRun)for(typeof s.postRun=="function"&&(s.postRun=[s.postRun]);s.postRun.length;)uh(s.postRun.shift());ni(es)}function lh(M){ts.unshift(M)}function uh(M){es.unshift(M)}var ch=Math.abs,mh=Math.ceil,vh=Math.floor,ph=Math.min,_r=0,mn=null,ye=null;function dh(M){_r++,s.monitorRunDependencies&&s.monitorRunDependencies(_r)}function yh(M){if(_r--,s.monitorRunDependencies&&s.monitorRunDependencies(_r),_r==0&&(mn!==null&&(clearInterval(mn),mn=null),ye)){var g=ye;ye=null,g()}}s.preloadedImages={},s.preloadedAudios={};function Rr(M){throw s.onAbort&&s.onAbort(M),M+="",o0(M),l0(M),L2=!0,jA=1,M="abort("+M+"). Build with -s ASSERTIONS=1 for more info.",M}var Ut=null;function Mh(M,g){return String.prototype.startsWith?M.startsWith(g):M.indexOf(g)===0}var is="data:application/octet-stream;base64,";function ns(M){return Mh(M,is)}var F9="file://",Hr,vn;rs.push({func:function(){U1()}}),Ut="data:application/octet-stream;base64,AAAAAAAAAAAPDg0MCwoJCA4AAQMGCgoJDQECBAcLCwoMAwQFCAwMCwsGBwgJDQ0MCgoLDA0ODg0JCgsMDQ4PDggJCgsMDQ4PAAECAwQFBgcBAAECAwQFBgIBAAECAwQFAwIBAAECAwQEAwIBAAECAwUEAwIBAAECBgUEAwIBAAEHBgUEAwIBAMgPAAAoDQAAEBAAACAQAADIDwAAUA0AABAQAAAgEAAAEQAKABEREQAAAAAFAAAAAAAACQAAAAALAAAAAAAAAAARAA8KERERAwoHAAEACQsLAAAJBgsAAAsABhEAAAAREREAAAAAAAAAAAAAAAAAAAAACwAAAAAAAAAAEQAKChEREQAKAAACAAkLAAAACQALAAALAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwAAAAAAAAAAAAAAAwAAAAADAAAAAAJDAAAAAAADAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAAAAAAAAAAAAAAANAAAABA0AAAAACQ4AAAAAAA4AAA4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAADwAAAAAPAAAAAAkQAAAAAAAQAAAQAAASAAAAEhISAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABIAAAASEhIAAAAAAAAJAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAALAAAAAAAAAAAAAAAKAAAAAAoAAAAACQsAAAAAAAsAAAsAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADAAAAAAAAAAAAAAADAAAAAAMAAAAAAkMAAAAAAAMAAAMAAAwMTIzNDU2Nzg5QUJDREVGGRJEOwI/LEcUPTMwChsGRktFNw9JDo4XA0AdPGkrNh9KLRwBICUpIQgMFRYiLhA4Pgs0MRhkdHV2L0EJfzkRI0MyQomKiwUEJignDSoeNYwHGkiTE5SVAAAAAAAAAAAASWxsZWdhbCBieXRlIHNlcXVlbmNlAERvbWFpbiBlcnJvcgBSZXN1bHQgbm90IHJlcHJlc2VudGFibGUATm90IGEgdHR5AFBlcm1pc3Npb24gZGVuaWVkAE9wZXJhdGlvbiBub3QgcGVybWl0dGVkAE5vIHN1Y2ggZmlsZSBvciBkaXJlY3RvcnkATm8gc3VjaCBwcm9jZXNzAEZpbGUgZXhpc3RzAFZhbHVlIHRvbyBsYXJnZSBmb3IgZGF0YSB0eXBlAE5vIHNwYWNlIGxlZnQgb24gZGV2aWNlAE91dCBvZiBtZW1vcnkAUmVzb3VyY2UgYnVzeQBJbnRlcnJ1cHRlZCBzeXN0ZW0gY2FsbABSZXNvdXJjZSB0ZW1wb3JhcmlseSB1bmF2YWlsYWJsZQBJbnZhbGlkIHNlZWsAQ3Jvc3MtZGV2aWNlIGxpbmsAUmVhZC1vbmx5IGZpbGUgc3lzdGVtAERpcmVjdG9yeSBub3QgZW1wdHkAQ29ubmVjdGlvbiByZXNldCBieSBwZWVyAE9wZXJhdGlvbiB0aW1lZCBvdXQAQ29ubmVjdGlvbiByZWZ1c2VkAEhvc3QgaXMgZG93bgBIb3N0IGlzIHVucmVhY2hhYmxlAEFkZHJlc3MgaW4gdXNlAEJyb2tlbiBwaXBlAEkvTyBlcnJvcgBObyBzdWNoIGRldmljZSBvciBhZGRyZXNzAEJsb2NrIGRldmljZSByZXF1aXJlZABObyBzdWNoIGRldmljZQBOb3QgYSBkaXJlY3RvcnkASXMgYSBkaXJlY3RvcnkAVGV4dCBmaWxlIGJ1c3kARXhlYyBmb3JtYXQgZXJyb3IASW52YWxpZCBhcmd1bWVudABBcmd1bWVudCBsaXN0IHRvbyBsb25nAFN5bWJvbGljIGxpbmsgbG9vcABGaWxlbmFtZSB0b28gbG9uZwBUb28gbWFueSBvcGVuIGZpbGVzIGluIHN5c3RlbQBObyBmaWxlIGRlc2NyaXB0b3JzIGF2YWlsYWJsZQBCYWQgZmlsZSBkZXNjcmlwdG9yAE5vIGNoaWxkIHByb2Nlc3MAQmFkIGFkZHJlc3MARmlsZSB0b28gbGFyZ2UAVG9vIG1hbnkgbGlua3MATm8gbG9ja3MgYXZhaWxhYmxlAFJlc291cmNlIGRlYWRsb2NrIHdvdWxkIG9jY3VyAFN0YXRlIG5vdCByZWNvdmVyYWJsZQBQcmV2aW91cyBvd25lciBkaWVkAE9wZXJhdGlvbiBjYW5jZWxlZABGdW5jdGlvbiBub3QgaW1wbGVtZW50ZWQATm8gbWVzc2FnZSBvZiBkZXNpcmVkIHR5cGUASWRlbnRpZmllciByZW1vdmVkAERldmljZSBub3QgYSBzdHJlYW0ATm8gZGF0YSBhdmFpbGFibGUARGV2aWNlIHRpbWVvdXQAT3V0IG9mIHN0cmVhbXMgcmVzb3VyY2VzAExpbmsgaGFzIGJlZW4gc2V2ZXJlZABQcm90b2NvbCBlcnJvcgBCYWQgbWVzc2FnZQBGaWxlIGRlc2NyaXB0b3IgaW4gYmFkIHN0YXRlAE5vdCBhIHNvY2tldABEZXN0aW5hdGlvbiBhZGRyZXNzIHJlcXVpcmVkAE1lc3NhZ2UgdG9vIGxhcmdlAFByb3RvY29sIHdyb25nIHR5cGUgZm9yIHNvY2tldABQcm90b2NvbCBub3QgYXZhaWxhYmxlAFByb3RvY29sIG5vdCBzdXBwb3J0ZWQAU29ja2V0IHR5cGUgbm90IHN1cHBvcnRlZABOb3Qgc3VwcG9ydGVkAFByb3RvY29sIGZhbWlseSBub3Qgc3VwcG9ydGVkAEFkZHJlc3MgZmFtaWx5IG5vdCBzdXBwb3J0ZWQgYnkgcHJvdG9jb2wAQWRkcmVzcyBub3QgYXZhaWxhYmxlAE5ldHdvcmsgaXMgZG93bgBOZXR3b3JrIHVucmVhY2hhYmxlAENvbm5lY3Rpb24gcmVzZXQgYnkgbmV0d29yawBDb25uZWN0aW9uIGFib3J0ZWQATm8gYnVmZmVyIHNwYWNlIGF2YWlsYWJsZQBTb2NrZXQgaXMgY29ubmVjdGVkAFNvY2tldCBub3QgY29ubmVjdGVkAENhbm5vdCBzZW5kIGFmdGVyIHNvY2tldCBzaHV0ZG93bgBPcGVyYXRpb24gYWxyZWFkeSBpbiBwcm9ncmVzcwBPcGVyYXRpb24gaW4gcHJvZ3Jlc3MAU3RhbGUgZmlsZSBoYW5kbGUAUmVtb3RlIEkvTyBlcnJvcgBRdW90YSBleGNlZWRlZABObyBtZWRpdW0gZm91bmQAV3JvbmcgbWVkaXVtIHR5cGUATm8gZXJyb3IgaW5mb3JtYXRpb24AAAAAAADgFgAAmRgAAGAQAAAAAAAA4BYAAEIZAABgEAAAAAAAAOAWAAAqGgAASA8AAAAAAAC4FgAANBsAAOAWAACfGgAAMAoAAAAAAADgFgAAaRsAAEgPAAAAAAAA4BYAAIobAABIDwAAAAAAALgWAAAPHAAA4BYAAHwcAABIDwAAAAAAAOAWAACVHAAASA8AAAAAAADgFgAAHh0AAEgPAAAAAAAA4BYAAHcdAABIDwAAAAAAAOAWAACQHQAASA8AAAAAAADgFgAAQh4AAEgPAAAAAAAA4BYAAIceAABgEAAAAAAAAOAWAACkHwAASA8AAAAAAAC4FgAAZyAAAOAWAADkHwAA8AoAAAAAAADgFgAAjyAAAGAQAAAAAAAAuBYAAMMiAADgFgAAAiIAABgLAAAAAAAA4BYAAOEiAABgEAAAAAAAAOAWAADQJAAAGAsAAAAAAADgFgAAkSUAAGAQAAAAAAAA4BYAAIAnAAAYCwAAAAAAAOAWAAA9KAAAYBAAAAAAAADgFgAAJCoAABgLAAAAAAAA4BYAAOkqAABgEAAAAAAAAOAWAADgLAAA8AoAAAAAAADgFgAAui0AAGAQAAAAAAAA4BYAANsvAADwCgAAAAAAAOAWAADTMAAAYBAAAAAAAADgFgAAMDMAAPAKAAAAAAAA4BYAACQ0AABgEAAAAAAAAOAWAAB5NgAA8AoAAAAAAADgFgAAizcAAGAQAAAAAAAA4BYAABw6AABgEAAAAAAAAOAWAACdOgAAYBAAAAAAAADgFgAAXjsAAPAKAAAAAAAA4BYAALU7AABgEAAAAAAAAOAWAADMPAAAGAsAAAAAAADgFgAATz0AAGAQAAAAAAAA4BYAAL4+AAAYCwAAAAAAAOAWAABBPwAAYBAAAAAAAADgFgAAsEAAABgLAAAAAAAA4BYAADNBAABgEAAAAAAAAOAWAACiQgAAGAsAAAAAAADgFgAAJUMAAGAQAAAAAAAA4BYAAJREAAAYCwAAAAAAAOAWAAAXRQAAYBAAAAAAAADgFgAAhkYAABgLAAAAAAAA4BYAAAlHAABgEAAAAAAAALgWAAB4SAAAiBcAAIBIAAAAAAAAIA0AAIgXAACJSAAAAQAAACANAAC4FgAAqkgAAIgXAAC6SAAAAAAAAEgNAACIFwAAy0gAAAEAAABIDQAAuBYAABhMAAC4FgAAN0wAALgWAABWTAAAuBYAAHVMAAC4FgAAlEwAALgWAACzTAAAuBYAANJMAAC4FgAA8UwAALgWAAAQTQAAuBYAAC9NAAC4FgAATk0AALgWAABtTQAAuBYAAIxNAACkFwAAn00AAAAAAAABAAAA8A0AAAAAAAC4FgAA4U0AAKQXAAAHTgAAAAAAAAEAAADwDQAAAAAAAKQXAABJTgAAAAAAAAEAAADwDQAAAAAAAKQXAACITgAAAAAAAAEAAADwDQAAAAAAAKQXAADHTgAAAAAAAAEAAADwDQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP//////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAALgWAADNTwAA4BYAAC1QAAAADwAAAAAAAOAWAADaTwAAEA8AAAAAAAC4FgAA+08AAOAWAAAIUAAA8A4AAAAAAADgFgAAhlAAAOgOAAAAAAAA4BYAAJNQAADoDgAAAAAAAOAWAACjUAAA6A4AAAAAAADgFgAAtVAAADgPAAAAAAAA4BYAAMZQAAA4DwAAAAAAAOAWAADXUAAAAA8AAAAAAADgFgAA+VAAAHgPAAAAAAAA4BYAAB1RAAAADwAAAAAAAOAWAABCUQAAeA8AAAAAAADgFgAAjlEAAAAPAAAAAAAAbBcAALZRAABsFwAAuFEAAGwXAAC7UQAAbBcAAL1RAABsFwAAv1EAAGwXAADBUQAAbBcAAMNRAABsFwAAxVEAAGwXAADHUQAAbBcAAMlRAABsFwAAy1EAAGwXAADNUQAAbBcAAM9RAABsFwAA0VEAAOAWAADTUQAA8A4AAAAAAADgFgAARlIAAOgOAAAAAAAAuBYAAGJSAACkFwAAe1IAAAAAAAABAAAAWBAAAAAAAADgFgAA9FIAAIgQAAAAAAAA4BYAABdTAACYEAAAAAAAALgWAAAuUwAA4BYAAHBTAACIEAAAAAAAAOAWAACSUwAASA8AAAAAAAAAAAAAAAoAAAEAAAACAAAAAwAAAAEAAAAEAAAAAAAAABAKAAABAAAABQAAAAYAAAACAAAABwAAAAAAAAAgCgAACAAAAAkAAAABAAAAAAAAADgKAAAKAAAACwAAAAIAAAABAAAADAAAAA0AAAACAAAAAwAAAAMAAAAAAAAASAoAAAgAAAAOAAAAAQAAAAAAAABYCgAACAAAAA8AAAABAAAAAAAAAIAKAAAIAAAAEAAAAAEAAAAAAAAAcAoAAAgAAAARAAAAAQAAAAAAAACQCgAACAAAABIAAAABAAAAAAAAAKAKAAAIAAAAEwAAAAEAAAAAAAAAsAoAAAgAAAAUAAAAAQAAAAAAAADACgAACAAAABUAAAABAAAAAAAAANAKAAABAAAAFgAAABcAAAAEAAAAGAAAAAAAAADgCgAACAAAABkAAAABAAAAAAAAAPgKAAAFAAAAGgAAABsAAAAAAAAA8AoAAAEAAAAcAAAAHQAAAAAAAAAICwAAAQAAAB4AAAAfAAAABgAAACAAAAAAAAAAIAsAACEAAAAiAAAABwAAAAgAAAAAAAAAGAsAACMAAAAkAAAABwAAAAkAAAAAAAAAMAsAAAEAAAAlAAAAJgAAAAoAAAAnAAAAAAAAAEALAAAoAAAAKQAAAAcAAAALAAAAAAAAAFALAAABAAAAKgAAACsAAAAMAAAALAAAAAAAAABgCwAALQAAAC4AAAAHAAAADQAAAAAAAABwCwAAAQAAAC8AAAAwAAAADgAAADEAAAAAAAAAgAsAADIAAAAzAAAABwAAAA8AAAAAAAAAkAsAAAEAAAA0AAAANQAAABAAAAA2AAAAAAAAAKALAAARAAAANwAAADgAAAAAAAAAsAsAAAEAAAA5AAAAOgAAABIAAAA7AAAAAAAAAMALAAATAAAAPAAAAD0AAAAAAAAA0AsAAAEAAAA+AAAAPwAAABQAAABAAAAAAAAAAOALAAAVAAAAQQAAAEIAAAAAAAAA8AsAAAEAAABDAAAARAAAABYAAABFAAAAAAAAAAAMAAAXAAAARgAAAEcAAAAAAAAAEAwAAAEAAABIAAAASQAAABgAAABKAAAAAAAAACAMAAABAAAASwAAAEwAAAAZAAAATQAAAAAAAAAwDAAAAQAAAE4AAABPAAAAGgAAAFAAAAAAAAAAQAwAABsAAABRAAAAUgAAAAAAAABQDAAAAQAAAFMAAABUAAAAHAAAAFUAAAAAAAAAYAwAAFYAAABXAAAABwAAAB0AAAAAAAAAcAwAAAEAAABYAAAAWQAAAB4AAABaAAAAAAAAAIAMAABbAAAAXAAAAAcAAAAfAAAAAAAAAJAMAAABAAAAXQAAAF4AAAAgAAAAXwAAAAAAAACgDAAAYAAAAGEAAAAHAAAAIQAAAAAAAACwDAAAAQAAAGIAAABjAAAAIgAAAGQAAAAAAAAAwAwAAGUAAABmAAAABwAAACMAAAAAAAAA0AwAAAEAAABnAAAAaAAAACQAAABpAAAAAAAAAOAMAABqAAAAawAAAAcAAAAlAAAAAAAAAPAMAAABAAAAbAAAAG0AAAAmAAAAbgAAAAAAAAAADQAAbwAAAHAAAAAHAAAAJwAAAAAAAAAQDQAAAQAAAHEAAAByAAAAKAAAAHMAAAAoDQAAyA8AACgNAAAIEAAAEBAAACgNAABQDQAAyA8AAFANAAAgEAAAyA8AAFANAAAIEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABsVAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADwDgAAdAAAAHUAAAB2AAAAdwAAAAIAAAABAAAAAQAAAAEAAAAAAAAAGA8AAHQAAAB4AAAAdgAAAHcAAAACAAAAAgAAAAIAAAACAAAAAAAAACgPAAB5AAAAegAAAAQAAAAAAAAAOA8AAHsAAAB8AAAABQAAAAAAAABIDwAACAAAAH0AAAABAAAAAAAAAFgPAAB7AAAAfgAAAAUAAAAAAAAAaA8AAHsAAAB/AAAABQAAAAAAAAC4DwAAdAAAAIAAAAB2AAAAdwAAAAMAAAAAAAAAiA8AAHQAAACBAAAAdgAAAHcAAAAEAAAAAAAAADgQAAB0AAAAggAAAHYAAAB3AAAAAgAAAAMAAAADAAAAAwAAAAAAAABIEAAAgwAAAIQAAAAGAAAAAAAAAHgQAACFAAAAhgAAAAcAAAABAAAABQAAAAYAAAACAAAAAAAAAKAQAACFAAAAhwAAAAgAAAADAAAABQAAAAYAAAAEAAAA4BcAAAQYAAAAAAAAsBAAAIgAAACJAAAAAQAAAExBU1ppcABvcGVuAGdldFBvaW50AGdldENvdW50AER5bmFtaWNMQVNaaXAAYWRkRmllbGRGbG9hdGluZwBhZGRGaWVsZFNpZ25lZABhZGRGaWVsZFVuc2lnbmVkAE5TdDNfXzIyMF9fc2hhcmVkX3B0cl9wb2ludGVySVBONmxhc3ppcDdzdHJlYW1zMTNtZW1vcnlfc3RyZWFtRU5TXzE0ZGVmYXVsdF9kZWxldGVJUzNfRUVOU185YWxsb2NhdG9ySVMzX0VFRUUATlN0M19fMjE0ZGVmYXVsdF9kZWxldGVJTjZsYXN6aXA3c3RyZWFtczEzbWVtb3J5X3N0cmVhbUVFRQBOU3QzX18yMjBfX3NoYXJlZF9wdHJfcG9pbnRlcklQTjZsYXN6aXAyaW82cmVhZGVyMTBiYXNpY19maWxlSU5TMV83c3RyZWFtczEzbWVtb3J5X3N0cmVhbUVFRU5TXzE0ZGVmYXVsdF9kZWxldGVJUzdfRUVOU185YWxsb2NhdG9ySVM3X0VFRUUATlN0M19fMjE0ZGVmYXVsdF9kZWxldGVJTjZsYXN6aXAyaW82cmVhZGVyMTBiYXNpY19maWxlSU5TMV83c3RyZWFtczEzbWVtb3J5X3N0cmVhbUVFRUVFAExBU0YATjZsYXN6aXAxM2ludmFsaWRfbWFnaWNFAGFsbG9jYXRvcjxUPjo6YWxsb2NhdGUoc2l6ZV90IG4pICduJyBleGNlZWRzIG1heGltdW0gc3VwcG9ydGVkIHNpemUARmlsZSBtYWdpYyBpcyBub3QgdmFsaWQATlN0M19fMjEwX19mdW5jdGlvbjZfX2Z1bmNJWk42bGFzemlwMmlvNnJlYWRlcjEwYmFzaWNfZmlsZUlOUzJfN3N0cmVhbXMxM21lbW9yeV9zdHJlYW1FRTExX3ZhbGlkYXRvcnNFdkVVbFJOUzNfNmhlYWRlckVFX05TXzlhbGxvY2F0b3JJU0JfRUVGdlNBX0VFRQBOU3QzX18yMTBfX2Z1bmN0aW9uNl9fYmFzZUlGdlJONmxhc3ppcDJpbzZoZWFkZXJFRUVFAE42bGFzemlwMjFvbGRfc3R5bGVfY29tcHJlc3Npb25FAE42bGFzemlwMTRub3RfY29tcHJlc3NlZEUAVGhlIGZpbGUgc2VlbXMgdG8gaGF2ZSBvbGQgc3R5bGUgY29tcHJlc3Npb24gd2hpY2ggaXMgbm90IHN1cHBvcnRlZABUaGUgZmlsZSBkb2Vzbid0IHNlZW0gdG8gYmUgY29tcHJlc3NlZABaTjZsYXN6aXAyaW82cmVhZGVyMTBiYXNpY19maWxlSU5TXzdzdHJlYW1zMTNtZW1vcnlfc3RyZWFtRUUxMV92YWxpZGF0b3JzRXZFVWxSTlMwXzZoZWFkZXJFRV8AbGFzemlwIGVuY29kZWQATjZsYXN6aXAxM25vX2xhc3ppcF92bHJFAE42bGFzemlwMjVsYXN6aXBfZm9ybWF0X3Vuc3VwcG9ydGVkRQBPbmx5IExBU3ppcCBQT0lOVFdJU0UgQ0hVTktFRCBkZWNvbXByZXNzb3IgaXMgc3VwcG9ydGVkAE5vIExBU3ppcCBWTFIgd2FzIGZvdW5kIGluIHRoZSBWTFJzIHNlY3Rpb24ATjZsYXN6aXAyMmNodW5rX3RhYmxlX3JlYWRfZXJyb3JFAENodW5rIHRhYmxlIG9mZnNldCA9PSAtMSBpcyBub3Qgc3VwcG9ydGVkIGF0IHRoaXMgdGltZQBONmxhc3ppcDEzbm90X3N1cHBvcnRlZEUATjZsYXN6aXAyNnVua25vd25fY2h1bmtfdGFibGVfZm9ybWF0RQBjaHVua19zaXplID09IHVpbnQubWF4IGlzIG5vdCBzdXBwb3J0ZWQgYXQgdGhpcyB0aW1lLgBUaGVyZSB3YXMgYSBwcm9ibGVtIHJlYWRpbmcgdGhlIGNodW5rIHRhYmxlAFRoZSBjaHVuayB0YWJsZSB2ZXJzaW9uIG51bWJlciBpcyB1bmtub3duAE42bGFzemlwMTFlbmRfb2ZfZmlsZUUAUmVhY2hlZCBFbmQgb2YgZmlsZQBJbnZhbGlkIG51bWJlciBvZiBzeW1ib2xzAE5TdDNfXzIyMF9fc2hhcmVkX3B0cl9wb2ludGVySVBONmxhc3ppcDhkZWNvZGVyczEwYXJpdGhtZXRpY0lOUzFfMmlvMThfX2lmc3RyZWFtX3dyYXBwZXJJTlMxXzdzdHJlYW1zMTNtZW1vcnlfc3RyZWFtRUVFRUVOU18xNGRlZmF1bHRfZGVsZXRlSVM5X0VFTlNfOWFsbG9jYXRvcklTOV9FRUVFAE5TdDNfXzIxNGRlZmF1bHRfZGVsZXRlSU42bGFzemlwOGRlY29kZXJzMTBhcml0aG1ldGljSU5TMV8yaW8xOF9faWZzdHJlYW1fd3JhcHBlcklOUzFfN3N0cmVhbXMxM21lbW9yeV9zdHJlYW1FRUVFRUVFAE42bGFzemlwMTl1bmtub3duX3NjaGVtYV90eXBlRQBUaGUgTEFaIHNjaGVtYSBpcyBub3QgcmVjb2duaXplZABONmxhc3ppcDdmb3JtYXRzMjZkeW5hbWljX2ZpZWxkX2RlY29tcHJlc3NvcklOU184ZGVjb2RlcnMxMGFyaXRobWV0aWNJTlNfMmlvMThfX2lmc3RyZWFtX3dyYXBwZXJJTlNfN3N0cmVhbXMxM21lbW9yeV9zdHJlYW1FRUVFRUVFAE42bGFzemlwN2Zvcm1hdHMyMGR5bmFtaWNfZGVjb21wcmVzc29yRQBOU3QzX18yMjBfX3NoYXJlZF9wdHJfcG9pbnRlcklQTjZsYXN6aXA3Zm9ybWF0czI2ZHluYW1pY19maWVsZF9kZWNvbXByZXNzb3JJTlMxXzhkZWNvZGVyczEwYXJpdGhtZXRpY0lOUzFfMmlvMThfX2lmc3RyZWFtX3dyYXBwZXJJTlMxXzdzdHJlYW1zMTNtZW1vcnlfc3RyZWFtRUVFRUVFRU5TXzE0ZGVmYXVsdF9kZWxldGVJU0NfRUVOU185YWxsb2NhdG9ySVNDX0VFRUUATlN0M19fMjE0ZGVmYXVsdF9kZWxldGVJTjZsYXN6aXA3Zm9ybWF0czI2ZHluYW1pY19maWVsZF9kZWNvbXByZXNzb3JJTlMxXzhkZWNvZGVyczEwYXJpdGhtZXRpY0lOUzFfMmlvMThfX2lmc3RyZWFtX3dyYXBwZXJJTlMxXzdzdHJlYW1zMTNtZW1vcnlfc3RyZWFtRUVFRUVFRUVFAE42bGFzemlwN2Zvcm1hdHMyNmR5bmFtaWNfZGVjb21wcmVzc29yX2ZpZWxkSU5TXzhkZWNvZGVyczEwYXJpdGhtZXRpY0lOU18yaW8xOF9faWZzdHJlYW1fd3JhcHBlcklOU183c3RyZWFtczEzbWVtb3J5X3N0cmVhbUVFRUVFTlMwXzVmaWVsZElOUzBfM2xhczdwb2ludDEwRU5TMF8yMHN0YW5kYXJkX2RpZmZfbWV0aG9kSVNDX0VFRUVFRQBONmxhc3ppcDdmb3JtYXRzMTBiYXNlX2ZpZWxkRQBOU3QzX18yMjBfX3NoYXJlZF9wdHJfcG9pbnRlcklQTjZsYXN6aXA3Zm9ybWF0czI2ZHluYW1pY19kZWNvbXByZXNzb3JfZmllbGRJTlMxXzhkZWNvZGVyczEwYXJpdGhtZXRpY0lOUzFfMmlvMThfX2lmc3RyZWFtX3dyYXBwZXJJTlMxXzdzdHJlYW1zMTNtZW1vcnlfc3RyZWFtRUVFRUVOUzJfNWZpZWxkSU5TMl8zbGFzN3BvaW50MTBFTlMyXzIwc3RhbmRhcmRfZGlmZl9tZXRob2RJU0VfRUVFRUVFTlNfMTRkZWZhdWx0X2RlbGV0ZUlTSV9FRU5TXzlhbGxvY2F0b3JJU0lfRUVFRQBOU3QzX18yMTRkZWZhdWx0X2RlbGV0ZUlONmxhc3ppcDdmb3JtYXRzMjZkeW5hbWljX2RlY29tcHJlc3Nvcl9maWVsZElOUzFfOGRlY29kZXJzMTBhcml0aG1ldGljSU5TMV8yaW8xOF9faWZzdHJlYW1fd3JhcHBlcklOUzFfN3N0cmVhbXMxM21lbW9yeV9zdHJlYW1FRUVFRU5TMl81ZmllbGRJTlMyXzNsYXM3cG9pbnQxMEVOUzJfMjBzdGFuZGFyZF9kaWZmX21ldGhvZElTRV9FRUVFRUVFRQBONmxhc3ppcDdmb3JtYXRzMjZkeW5hbWljX2RlY29tcHJlc3Nvcl9maWVsZElOU184ZGVjb2RlcnMxMGFyaXRobWV0aWNJTlNfMmlvMThfX2lmc3RyZWFtX3dyYXBwZXJJTlNfN3N0cmVhbXMxM21lbW9yeV9zdHJlYW1FRUVFRU5TMF81ZmllbGRJTlMwXzNsYXM3Z3BzdGltZUVOUzBfMjBzdGFuZGFyZF9kaWZmX21ldGhvZElTQ19FRUVFRUUATlN0M19fMjIwX19zaGFyZWRfcHRyX3BvaW50ZXJJUE42bGFzemlwN2Zvcm1hdHMyNmR5bmFtaWNfZGVjb21wcmVzc29yX2ZpZWxkSU5TMV84ZGVjb2RlcnMxMGFyaXRobWV0aWNJTlMxXzJpbzE4X19pZnN0cmVhbV93cmFwcGVySU5TMV83c3RyZWFtczEzbWVtb3J5X3N0cmVhbUVFRUVFTlMyXzVmaWVsZElOUzJfM2xhczdncHN0aW1lRU5TMl8yMHN0YW5kYXJkX2RpZmZfbWV0aG9kSVNFX0VFRUVFRU5TXzE0ZGVmYXVsdF9kZWxldGVJU0lfRUVOU185YWxsb2NhdG9ySVNJX0VFRUUATlN0M19fMjE0ZGVmYXVsdF9kZWxldGVJTjZsYXN6aXA3Zm9ybWF0czI2ZHluYW1pY19kZWNvbXByZXNzb3JfZmllbGRJTlMxXzhkZWNvZGVyczEwYXJpdGhtZXRpY0lOUzFfMmlvMThfX2lmc3RyZWFtX3dyYXBwZXJJTlMxXzdzdHJlYW1zMTNtZW1vcnlfc3RyZWFtRUVFRUVOUzJfNWZpZWxkSU5TMl8zbGFzN2dwc3RpbWVFTlMyXzIwc3RhbmRhcmRfZGlmZl9tZXRob2RJU0VfRUVFRUVFRUUATjZsYXN6aXA3Zm9ybWF0czI2ZHluYW1pY19kZWNvbXByZXNzb3JfZmllbGRJTlNfOGRlY29kZXJzMTBhcml0aG1ldGljSU5TXzJpbzE4X19pZnN0cmVhbV93cmFwcGVySU5TXzdzdHJlYW1zMTNtZW1vcnlfc3RyZWFtRUVFRUVOUzBfNWZpZWxkSU5TMF8zbGFzM3JnYkVOUzBfMjBzdGFuZGFyZF9kaWZmX21ldGhvZElTQ19FRUVFRUUATlN0M19fMjIwX19zaGFyZWRfcHRyX3BvaW50ZXJJUE42bGFzemlwN2Zvcm1hdHMyNmR5bmFtaWNfZGVjb21wcmVzc29yX2ZpZWxkSU5TMV84ZGVjb2RlcnMxMGFyaXRobWV0aWNJTlMxXzJpbzE4X19pZnN0cmVhbV93cmFwcGVySU5TMV83c3RyZWFtczEzbWVtb3J5X3N0cmVhbUVFRUVFTlMyXzVmaWVsZElOUzJfM2xhczNyZ2JFTlMyXzIwc3RhbmRhcmRfZGlmZl9tZXRob2RJU0VfRUVFRUVFTlNfMTRkZWZhdWx0X2RlbGV0ZUlTSV9FRU5TXzlhbGxvY2F0b3JJU0lfRUVFRQBOU3QzX18yMTRkZWZhdWx0X2RlbGV0ZUlONmxhc3ppcDdmb3JtYXRzMjZkeW5hbWljX2RlY29tcHJlc3Nvcl9maWVsZElOUzFfOGRlY29kZXJzMTBhcml0aG1ldGljSU5TMV8yaW8xOF9faWZzdHJlYW1fd3JhcHBlcklOUzFfN3N0cmVhbXMxM21lbW9yeV9zdHJlYW1FRUVFRU5TMl81ZmllbGRJTlMyXzNsYXMzcmdiRU5TMl8yMHN0YW5kYXJkX2RpZmZfbWV0aG9kSVNFX0VFRUVFRUVFAE42bGFzemlwN2Zvcm1hdHMyNmR5bmFtaWNfZGVjb21wcmVzc29yX2ZpZWxkSU5TXzhkZWNvZGVyczEwYXJpdGhtZXRpY0lOU18yaW8xOF9faWZzdHJlYW1fd3JhcHBlcklOU183c3RyZWFtczEzbWVtb3J5X3N0cmVhbUVFRUVFTlMwXzVmaWVsZElOUzBfM2xhczEwZXh0cmFieXRlc0VOUzBfMjBzdGFuZGFyZF9kaWZmX21ldGhvZElTQ19FRUVFRUUATlN0M19fMjIwX19zaGFyZWRfcHRyX3BvaW50ZXJJUE42bGFzemlwN2Zvcm1hdHMyNmR5bmFtaWNfZGVjb21wcmVzc29yX2ZpZWxkSU5TMV84ZGVjb2RlcnMxMGFyaXRobWV0aWNJTlMxXzJpbzE4X19pZnN0cmVhbV93cmFwcGVySU5TMV83c3RyZWFtczEzbWVtb3J5X3N0cmVhbUVFRUVFTlMyXzVmaWVsZElOUzJfM2xhczEwZXh0cmFieXRlc0VOUzJfMjBzdGFuZGFyZF9kaWZmX21ldGhvZElTRV9FRUVFRUVOU18xNGRlZmF1bHRfZGVsZXRlSVNJX0VFTlNfOWFsbG9jYXRvcklTSV9FRUVFAE5TdDNfXzIxNGRlZmF1bHRfZGVsZXRlSU42bGFzemlwN2Zvcm1hdHMyNmR5bmFtaWNfZGVjb21wcmVzc29yX2ZpZWxkSU5TMV84ZGVjb2RlcnMxMGFyaXRobWV0aWNJTlMxXzJpbzE4X19pZnN0cmVhbV93cmFwcGVySU5TMV83c3RyZWFtczEzbWVtb3J5X3N0cmVhbUVFRUVFTlMyXzVmaWVsZElOUzJfM2xhczEwZXh0cmFieXRlc0VOUzJfMjBzdGFuZGFyZF9kaWZmX21ldGhvZElTRV9FRUVFRUVFRQBONmxhc3ppcDdmb3JtYXRzMjFkeW5hbWljX2RlY29tcHJlc3NvcjFJTlNfOGRlY29kZXJzMTBhcml0aG1ldGljSU5TXzJpbzE4X19pZnN0cmVhbV93cmFwcGVySU5TXzdzdHJlYW1zMTNtZW1vcnlfc3RyZWFtRUVFRUVOUzBfMTlyZWNvcmRfZGVjb21wcmVzc29ySUpOUzBfNWZpZWxkSU5TMF8zbGFzN3BvaW50MTBFTlMwXzIwc3RhbmRhcmRfZGlmZl9tZXRob2RJU0RfRUVFRUVFRUVFAE5TdDNfXzIyMF9fc2hhcmVkX3B0cl9wb2ludGVySVBONmxhc3ppcDdmb3JtYXRzMjFkeW5hbWljX2RlY29tcHJlc3NvcjFJTlMxXzhkZWNvZGVyczEwYXJpdGhtZXRpY0lOUzFfMmlvMThfX2lmc3RyZWFtX3dyYXBwZXJJTlMxXzdzdHJlYW1zMTNtZW1vcnlfc3RyZWFtRUVFRUVOUzJfMTlyZWNvcmRfZGVjb21wcmVzc29ySUpOUzJfNWZpZWxkSU5TMl8zbGFzN3BvaW50MTBFTlMyXzIwc3RhbmRhcmRfZGlmZl9tZXRob2RJU0ZfRUVFRUVFRUVFTlNfMTRkZWZhdWx0X2RlbGV0ZUlTS19FRU5TXzlhbGxvY2F0b3JJU0tfRUVFRQBOU3QzX18yMTRkZWZhdWx0X2RlbGV0ZUlONmxhc3ppcDdmb3JtYXRzMjFkeW5hbWljX2RlY29tcHJlc3NvcjFJTlMxXzhkZWNvZGVyczEwYXJpdGhtZXRpY0lOUzFfMmlvMThfX2lmc3RyZWFtX3dyYXBwZXJJTlMxXzdzdHJlYW1zMTNtZW1vcnlfc3RyZWFtRUVFRUVOUzJfMTlyZWNvcmRfZGVjb21wcmVzc29ySUpOUzJfNWZpZWxkSU5TMl8zbGFzN3BvaW50MTBFTlMyXzIwc3RhbmRhcmRfZGlmZl9tZXRob2RJU0ZfRUVFRUVFRUVFRUUATjZsYXN6aXA3Zm9ybWF0czIxZHluYW1pY19kZWNvbXByZXNzb3IxSU5TXzhkZWNvZGVyczEwYXJpdGhtZXRpY0lOU18yaW8xOF9faWZzdHJlYW1fd3JhcHBlcklOU183c3RyZWFtczEzbWVtb3J5X3N0cmVhbUVFRUVFTlMwXzE5cmVjb3JkX2RlY29tcHJlc3NvcklKTlMwXzVmaWVsZElOUzBfM2xhczdwb2ludDEwRU5TMF8yMHN0YW5kYXJkX2RpZmZfbWV0aG9kSVNEX0VFRUVOU0JfSU5TQ183Z3BzdGltZUVOU0VfSVNIX0VFRUVFRUVFRQBOU3QzX18yMjBfX3NoYXJlZF9wdHJfcG9pbnRlcklQTjZsYXN6aXA3Zm9ybWF0czIxZHluYW1pY19kZWNvbXByZXNzb3IxSU5TMV84ZGVjb2RlcnMxMGFyaXRobWV0aWNJTlMxXzJpbzE4X19pZnN0cmVhbV93cmFwcGVySU5TMV83c3RyZWFtczEzbWVtb3J5X3N0cmVhbUVFRUVFTlMyXzE5cmVjb3JkX2RlY29tcHJlc3NvcklKTlMyXzVmaWVsZElOUzJfM2xhczdwb2ludDEwRU5TMl8yMHN0YW5kYXJkX2RpZmZfbWV0aG9kSVNGX0VFRUVOU0RfSU5TRV83Z3BzdGltZUVOU0dfSVNKX0VFRUVFRUVFRU5TXzE0ZGVmYXVsdF9kZWxldGVJU05fRUVOU185YWxsb2NhdG9ySVNOX0VFRUUATlN0M19fMjE0ZGVmYXVsdF9kZWxldGVJTjZsYXN6aXA3Zm9ybWF0czIxZHluYW1pY19kZWNvbXByZXNzb3IxSU5TMV84ZGVjb2RlcnMxMGFyaXRobWV0aWNJTlMxXzJpbzE4X19pZnN0cmVhbV93cmFwcGVySU5TMV83c3RyZWFtczEzbWVtb3J5X3N0cmVhbUVFRUVFTlMyXzE5cmVjb3JkX2RlY29tcHJlc3NvcklKTlMyXzVmaWVsZElOUzJfM2xhczdwb2ludDEwRU5TMl8yMHN0YW5kYXJkX2RpZmZfbWV0aG9kSVNGX0VFRUVOU0RfSU5TRV83Z3BzdGltZUVOU0dfSVNKX0VFRUVFRUVFRUVFAE42bGFzemlwN2Zvcm1hdHMyMWR5bmFtaWNfZGVjb21wcmVzc29yMUlOU184ZGVjb2RlcnMxMGFyaXRobWV0aWNJTlNfMmlvMThfX2lmc3RyZWFtX3dyYXBwZXJJTlNfN3N0cmVhbXMxM21lbW9yeV9zdHJlYW1FRUVFRU5TMF8xOXJlY29yZF9kZWNvbXByZXNzb3JJSk5TMF81ZmllbGRJTlMwXzNsYXM3cG9pbnQxMEVOUzBfMjBzdGFuZGFyZF9kaWZmX21ldGhvZElTRF9FRUVFTlNCX0lOU0NfM3JnYkVOU0VfSVNIX0VFRUVFRUVFRQBOU3QzX18yMjBfX3NoYXJlZF9wdHJfcG9pbnRlcklQTjZsYXN6aXA3Zm9ybWF0czIxZHluYW1pY19kZWNvbXByZXNzb3IxSU5TMV84ZGVjb2RlcnMxMGFyaXRobWV0aWNJTlMxXzJpbzE4X19pZnN0cmVhbV93cmFwcGVySU5TMV83c3RyZWFtczEzbWVtb3J5X3N0cmVhbUVFRUVFTlMyXzE5cmVjb3JkX2RlY29tcHJlc3NvcklKTlMyXzVmaWVsZElOUzJfM2xhczdwb2ludDEwRU5TMl8yMHN0YW5kYXJkX2RpZmZfbWV0aG9kSVNGX0VFRUVOU0RfSU5TRV8zcmdiRU5TR19JU0pfRUVFRUVFRUVFTlNfMTRkZWZhdWx0X2RlbGV0ZUlTTl9FRU5TXzlhbGxvY2F0b3JJU05fRUVFRQBOU3QzX18yMTRkZWZhdWx0X2RlbGV0ZUlONmxhc3ppcDdmb3JtYXRzMjFkeW5hbWljX2RlY29tcHJlc3NvcjFJTlMxXzhkZWNvZGVyczEwYXJpdGhtZXRpY0lOUzFfMmlvMThfX2lmc3RyZWFtX3dyYXBwZXJJTlMxXzdzdHJlYW1zMTNtZW1vcnlfc3RyZWFtRUVFRUVOUzJfMTlyZWNvcmRfZGVjb21wcmVzc29ySUpOUzJfNWZpZWxkSU5TMl8zbGFzN3BvaW50MTBFTlMyXzIwc3RhbmRhcmRfZGlmZl9tZXRob2RJU0ZfRUVFRU5TRF9JTlNFXzNyZ2JFTlNHX0lTSl9FRUVFRUVFRUVFRQBONmxhc3ppcDdmb3JtYXRzMjFkeW5hbWljX2RlY29tcHJlc3NvcjFJTlNfOGRlY29kZXJzMTBhcml0aG1ldGljSU5TXzJpbzE4X19pZnN0cmVhbV93cmFwcGVySU5TXzdzdHJlYW1zMTNtZW1vcnlfc3RyZWFtRUVFRUVOUzBfMTlyZWNvcmRfZGVjb21wcmVzc29ySUpOUzBfNWZpZWxkSU5TMF8zbGFzN3BvaW50MTBFTlMwXzIwc3RhbmRhcmRfZGlmZl9tZXRob2RJU0RfRUVFRU5TQl9JTlNDXzdncHN0aW1lRU5TRV9JU0hfRUVFRU5TQl9JTlNDXzNyZ2JFTlNFX0lTS19FRUVFRUVFRUUATlN0M19fMjIwX19zaGFyZWRfcHRyX3BvaW50ZXJJUE42bGFzemlwN2Zvcm1hdHMyMWR5bmFtaWNfZGVjb21wcmVzc29yMUlOUzFfOGRlY29kZXJzMTBhcml0aG1ldGljSU5TMV8yaW8xOF9faWZzdHJlYW1fd3JhcHBlcklOUzFfN3N0cmVhbXMxM21lbW9yeV9zdHJlYW1FRUVFRU5TMl8xOXJlY29yZF9kZWNvbXByZXNzb3JJSk5TMl81ZmllbGRJTlMyXzNsYXM3cG9pbnQxMEVOUzJfMjBzdGFuZGFyZF9kaWZmX21ldGhvZElTRl9FRUVFTlNEX0lOU0VfN2dwc3RpbWVFTlNHX0lTSl9FRUVFTlNEX0lOU0VfM3JnYkVOU0dfSVNNX0VFRUVFRUVFRU5TXzE0ZGVmYXVsdF9kZWxldGVJU1FfRUVOU185YWxsb2NhdG9ySVNRX0VFRUUATlN0M19fMjE0ZGVmYXVsdF9kZWxldGVJTjZsYXN6aXA3Zm9ybWF0czIxZHluYW1pY19kZWNvbXByZXNzb3IxSU5TMV84ZGVjb2RlcnMxMGFyaXRobWV0aWNJTlMxXzJpbzE4X19pZnN0cmVhbV93cmFwcGVySU5TMV83c3RyZWFtczEzbWVtb3J5X3N0cmVhbUVFRUVFTlMyXzE5cmVjb3JkX2RlY29tcHJlc3NvcklKTlMyXzVmaWVsZElOUzJfM2xhczdwb2ludDEwRU5TMl8yMHN0YW5kYXJkX2RpZmZfbWV0aG9kSVNGX0VFRUVOU0RfSU5TRV83Z3BzdGltZUVOU0dfSVNKX0VFRUVOU0RfSU5TRV8zcmdiRU5TR19JU01fRUVFRUVFRUVFRUUATlN0M19fMjIwX19zaGFyZWRfcHRyX3BvaW50ZXJJUDEwYnVmX3N0cmVhbU5TXzE0ZGVmYXVsdF9kZWxldGVJUzFfRUVOU185YWxsb2NhdG9ySVMxX0VFRUUATlN0M19fMjE0ZGVmYXVsdF9kZWxldGVJMTBidWZfc3RyZWFtRUUATlN0M19fMjIwX19zaGFyZWRfcHRyX3BvaW50ZXJJUE42bGFzemlwOGRlY29kZXJzMTBhcml0aG1ldGljSTEwYnVmX3N0cmVhbUVFTlNfMTRkZWZhdWx0X2RlbGV0ZUlTNV9FRU5TXzlhbGxvY2F0b3JJUzVfRUVFRQBOU3QzX18yMTRkZWZhdWx0X2RlbGV0ZUlONmxhc3ppcDhkZWNvZGVyczEwYXJpdGhtZXRpY0kxMGJ1Zl9zdHJlYW1FRUVFAE42bGFzemlwN2Zvcm1hdHMyNmR5bmFtaWNfZmllbGRfZGVjb21wcmVzc29ySU5TXzhkZWNvZGVyczEwYXJpdGhtZXRpY0kxMGJ1Zl9zdHJlYW1FRUVFAE5TdDNfXzIyMF9fc2hhcmVkX3B0cl9wb2ludGVySVBONmxhc3ppcDdmb3JtYXRzMjZkeW5hbWljX2ZpZWxkX2RlY29tcHJlc3NvcklOUzFfOGRlY29kZXJzMTBhcml0aG1ldGljSTEwYnVmX3N0cmVhbUVFRUVOU18xNGRlZmF1bHRfZGVsZXRlSVM4X0VFTlNfOWFsbG9jYXRvcklTOF9FRUVFAE5TdDNfXzIxNGRlZmF1bHRfZGVsZXRlSU42bGFzemlwN2Zvcm1hdHMyNmR5bmFtaWNfZmllbGRfZGVjb21wcmVzc29ySU5TMV84ZGVjb2RlcnMxMGFyaXRobWV0aWNJMTBidWZfc3RyZWFtRUVFRUVFAE42bGFzemlwN2Zvcm1hdHMyNmR5bmFtaWNfZGVjb21wcmVzc29yX2ZpZWxkSU5TXzhkZWNvZGVyczEwYXJpdGhtZXRpY0kxMGJ1Zl9zdHJlYW1FRU5TMF81ZmllbGRJaU5TMF8yMHN0YW5kYXJkX2RpZmZfbWV0aG9kSWlFRUVFRUUATlN0M19fMjIwX19zaGFyZWRfcHRyX3BvaW50ZXJJUE42bGFzemlwN2Zvcm1hdHMyNmR5bmFtaWNfZGVjb21wcmVzc29yX2ZpZWxkSU5TMV84ZGVjb2RlcnMxMGFyaXRobWV0aWNJMTBidWZfc3RyZWFtRUVOUzJfNWZpZWxkSWlOUzJfMjBzdGFuZGFyZF9kaWZmX21ldGhvZElpRUVFRUVFTlNfMTRkZWZhdWx0X2RlbGV0ZUlTQ19FRU5TXzlhbGxvY2F0b3JJU0NfRUVFRQBOU3QzX18yMTRkZWZhdWx0X2RlbGV0ZUlONmxhc3ppcDdmb3JtYXRzMjZkeW5hbWljX2RlY29tcHJlc3Nvcl9maWVsZElOUzFfOGRlY29kZXJzMTBhcml0aG1ldGljSTEwYnVmX3N0cmVhbUVFTlMyXzVmaWVsZElpTlMyXzIwc3RhbmRhcmRfZGlmZl9tZXRob2RJaUVFRUVFRUVFAE42bGFzemlwN2Zvcm1hdHMyNmR5bmFtaWNfZGVjb21wcmVzc29yX2ZpZWxkSU5TXzhkZWNvZGVyczEwYXJpdGhtZXRpY0kxMGJ1Zl9zdHJlYW1FRU5TMF81ZmllbGRJak5TMF8yMHN0YW5kYXJkX2RpZmZfbWV0aG9kSWpFRUVFRUUATlN0M19fMjIwX19zaGFyZWRfcHRyX3BvaW50ZXJJUE42bGFzemlwN2Zvcm1hdHMyNmR5bmFtaWNfZGVjb21wcmVzc29yX2ZpZWxkSU5TMV84ZGVjb2RlcnMxMGFyaXRobWV0aWNJMTBidWZfc3RyZWFtRUVOUzJfNWZpZWxkSWpOUzJfMjBzdGFuZGFyZF9kaWZmX21ldGhvZElqRUVFRUVFTlNfMTRkZWZhdWx0X2RlbGV0ZUlTQ19FRU5TXzlhbGxvY2F0b3JJU0NfRUVFRQBOU3QzX18yMTRkZWZhdWx0X2RlbGV0ZUlONmxhc3ppcDdmb3JtYXRzMjZkeW5hbWljX2RlY29tcHJlc3Nvcl9maWVsZElOUzFfOGRlY29kZXJzMTBhcml0aG1ldGljSTEwYnVmX3N0cmVhbUVFTlMyXzVmaWVsZElqTlMyXzIwc3RhbmRhcmRfZGlmZl9tZXRob2RJakVFRUVFRUVFAE42bGFzemlwN2Zvcm1hdHMyNmR5bmFtaWNfZGVjb21wcmVzc29yX2ZpZWxkSU5TXzhkZWNvZGVyczEwYXJpdGhtZXRpY0kxMGJ1Zl9zdHJlYW1FRU5TMF81ZmllbGRJYU5TMF8yMHN0YW5kYXJkX2RpZmZfbWV0aG9kSWFFRUVFRUUATlN0M19fMjIwX19zaGFyZWRfcHRyX3BvaW50ZXJJUE42bGFzemlwN2Zvcm1hdHMyNmR5bmFtaWNfZGVjb21wcmVzc29yX2ZpZWxkSU5TMV84ZGVjb2RlcnMxMGFyaXRobWV0aWNJMTBidWZfc3RyZWFtRUVOUzJfNWZpZWxkSWFOUzJfMjBzdGFuZGFyZF9kaWZmX21ldGhvZElhRUVFRUVFTlNfMTRkZWZhdWx0X2RlbGV0ZUlTQ19FRU5TXzlhbGxvY2F0b3JJU0NfRUVFRQBOU3QzX18yMTRkZWZhdWx0X2RlbGV0ZUlONmxhc3ppcDdmb3JtYXRzMjZkeW5hbWljX2RlY29tcHJlc3Nvcl9maWVsZElOUzFfOGRlY29kZXJzMTBhcml0aG1ldGljSTEwYnVmX3N0cmVhbUVFTlMyXzVmaWVsZElhTlMyXzIwc3RhbmRhcmRfZGlmZl9tZXRob2RJYUVFRUVFRUVFAE42bGFzemlwN2Zvcm1hdHMyNmR5bmFtaWNfZGVjb21wcmVzc29yX2ZpZWxkSU5TXzhkZWNvZGVyczEwYXJpdGhtZXRpY0kxMGJ1Zl9zdHJlYW1FRU5TMF81ZmllbGRJc05TMF8yMHN0YW5kYXJkX2RpZmZfbWV0aG9kSXNFRUVFRUUATlN0M19fMjIwX19zaGFyZWRfcHRyX3BvaW50ZXJJUE42bGFzemlwN2Zvcm1hdHMyNmR5bmFtaWNfZGVjb21wcmVzc29yX2ZpZWxkSU5TMV84ZGVjb2RlcnMxMGFyaXRobWV0aWNJMTBidWZfc3RyZWFtRUVOUzJfNWZpZWxkSXNOUzJfMjBzdGFuZGFyZF9kaWZmX21ldGhvZElzRUVFRUVFTlNfMTRkZWZhdWx0X2RlbGV0ZUlTQ19FRU5TXzlhbGxvY2F0b3JJU0NfRUVFRQBOU3QzX18yMTRkZWZhdWx0X2RlbGV0ZUlONmxhc3ppcDdmb3JtYXRzMjZkeW5hbWljX2RlY29tcHJlc3Nvcl9maWVsZElOUzFfOGRlY29kZXJzMTBhcml0aG1ldGljSTEwYnVmX3N0cmVhbUVFTlMyXzVmaWVsZElzTlMyXzIwc3RhbmRhcmRfZGlmZl9tZXRob2RJc0VFRUVFRUVFAE42bGFzemlwN2Zvcm1hdHMyNmR5bmFtaWNfZGVjb21wcmVzc29yX2ZpZWxkSU5TXzhkZWNvZGVyczEwYXJpdGhtZXRpY0kxMGJ1Zl9zdHJlYW1FRU5TMF81ZmllbGRJaE5TMF8yMHN0YW5kYXJkX2RpZmZfbWV0aG9kSWhFRUVFRUUATlN0M19fMjIwX19zaGFyZWRfcHRyX3BvaW50ZXJJUE42bGFzemlwN2Zvcm1hdHMyNmR5bmFtaWNfZGVjb21wcmVzc29yX2ZpZWxkSU5TMV84ZGVjb2RlcnMxMGFyaXRobWV0aWNJMTBidWZfc3RyZWFtRUVOUzJfNWZpZWxkSWhOUzJfMjBzdGFuZGFyZF9kaWZmX21ldGhvZEloRUVFRUVFTlNfMTRkZWZhdWx0X2RlbGV0ZUlTQ19FRU5TXzlhbGxvY2F0b3JJU0NfRUVFRQBOU3QzX18yMTRkZWZhdWx0X2RlbGV0ZUlONmxhc3ppcDdmb3JtYXRzMjZkeW5hbWljX2RlY29tcHJlc3Nvcl9maWVsZElOUzFfOGRlY29kZXJzMTBhcml0aG1ldGljSTEwYnVmX3N0cmVhbUVFTlMyXzVmaWVsZEloTlMyXzIwc3RhbmRhcmRfZGlmZl9tZXRob2RJaEVFRUVFRUVFAE42bGFzemlwN2Zvcm1hdHMyNmR5bmFtaWNfZGVjb21wcmVzc29yX2ZpZWxkSU5TXzhkZWNvZGVyczEwYXJpdGhtZXRpY0kxMGJ1Zl9zdHJlYW1FRU5TMF81ZmllbGRJdE5TMF8yMHN0YW5kYXJkX2RpZmZfbWV0aG9kSXRFRUVFRUUATlN0M19fMjIwX19zaGFyZWRfcHRyX3BvaW50ZXJJUE42bGFzemlwN2Zvcm1hdHMyNmR5bmFtaWNfZGVjb21wcmVzc29yX2ZpZWxkSU5TMV84ZGVjb2RlcnMxMGFyaXRobWV0aWNJMTBidWZfc3RyZWFtRUVOUzJfNWZpZWxkSXROUzJfMjBzdGFuZGFyZF9kaWZmX21ldGhvZEl0RUVFRUVFTlNfMTRkZWZhdWx0X2RlbGV0ZUlTQ19FRU5TXzlhbGxvY2F0b3JJU0NfRUVFRQBOU3QzX18yMTRkZWZhdWx0X2RlbGV0ZUlONmxhc3ppcDdmb3JtYXRzMjZkeW5hbWljX2RlY29tcHJlc3Nvcl9maWVsZElOUzFfOGRlY29kZXJzMTBhcml0aG1ldGljSTEwYnVmX3N0cmVhbUVFTlMyXzVmaWVsZEl0TlMyXzIwc3RhbmRhcmRfZGlmZl9tZXRob2RJdEVFRUVFRUVFADZMQVNaaXAAUDZMQVNaaXAAUEs2TEFTWmlwAGlpAHYAdmkAdmlpaWkAdmlpaQBpaWkAMTNEeW5hbWljTEFTWmlwAFAxM0R5bmFtaWNMQVNaaXAAUEsxM0R5bmFtaWNMQVNaaXAAdm9pZABib29sAGNoYXIAc2lnbmVkIGNoYXIAdW5zaWduZWQgY2hhcgBzaG9ydAB1bnNpZ25lZCBzaG9ydABpbnQAdW5zaWduZWQgaW50AGxvbmcAdW5zaWduZWQgbG9uZwBmbG9hdABkb3VibGUAc3RkOjpzdHJpbmcAc3RkOjpiYXNpY19zdHJpbmc8dW5zaWduZWQgY2hhcj4Ac3RkOjp3c3RyaW5nAHN0ZDo6dTE2c3RyaW5nAHN0ZDo6dTMyc3RyaW5nAGVtc2NyaXB0ZW46OnZhbABlbXNjcmlwdGVuOjptZW1vcnlfdmlldzxjaGFyPgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzxzaWduZWQgY2hhcj4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8dW5zaWduZWQgY2hhcj4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8c2hvcnQ+AGVtc2NyaXB0ZW46Om1lbW9yeV92aWV3PHVuc2lnbmVkIHNob3J0PgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzxpbnQ+AGVtc2NyaXB0ZW46Om1lbW9yeV92aWV3PHVuc2lnbmVkIGludD4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8bG9uZz4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8dW5zaWduZWQgbG9uZz4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8aW50OF90PgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzx1aW50OF90PgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzxpbnQxNl90PgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzx1aW50MTZfdD4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8aW50MzJfdD4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8dWludDMyX3Q+AGVtc2NyaXB0ZW46Om1lbW9yeV92aWV3PGZsb2F0PgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzxkb3VibGU+AGVtc2NyaXB0ZW46Om1lbW9yeV92aWV3PGxvbmcgZG91YmxlPgBOMTBlbXNjcmlwdGVuMTFtZW1vcnlfdmlld0llRUUATjEwZW1zY3JpcHRlbjExbWVtb3J5X3ZpZXdJZEVFAE4xMGVtc2NyaXB0ZW4xMW1lbW9yeV92aWV3SWZFRQBOMTBlbXNjcmlwdGVuMTFtZW1vcnlfdmlld0ltRUUATjEwZW1zY3JpcHRlbjExbWVtb3J5X3ZpZXdJbEVFAE4xMGVtc2NyaXB0ZW4xMW1lbW9yeV92aWV3SWpFRQBOMTBlbXNjcmlwdGVuMTFtZW1vcnlfdmlld0lpRUUATjEwZW1zY3JpcHRlbjExbWVtb3J5X3ZpZXdJdEVFAE4xMGVtc2NyaXB0ZW4xMW1lbW9yeV92aWV3SXNFRQBOMTBlbXNjcmlwdGVuMTFtZW1vcnlfdmlld0loRUUATjEwZW1zY3JpcHRlbjExbWVtb3J5X3ZpZXdJYUVFAE4xMGVtc2NyaXB0ZW4xMW1lbW9yeV92aWV3SWNFRQBOMTBlbXNjcmlwdGVuM3ZhbEUATlN0M19fMjEyYmFzaWNfc3RyaW5nSURpTlNfMTFjaGFyX3RyYWl0c0lEaUVFTlNfOWFsbG9jYXRvcklEaUVFRUUATlN0M19fMjIxX19iYXNpY19zdHJpbmdfY29tbW9uSUxiMUVFRQBOU3QzX18yMTJiYXNpY19zdHJpbmdJRHNOU18xMWNoYXJfdHJhaXRzSURzRUVOU185YWxsb2NhdG9ySURzRUVFRQBOU3QzX18yMTJiYXNpY19zdHJpbmdJd05TXzExY2hhcl90cmFpdHNJd0VFTlNfOWFsbG9jYXRvckl3RUVFRQBOU3QzX18yMTJiYXNpY19zdHJpbmdJaE5TXzExY2hhcl90cmFpdHNJaEVFTlNfOWFsbG9jYXRvckloRUVFRQBOU3QzX18yMTJiYXNpY19zdHJpbmdJY05TXzExY2hhcl90cmFpdHNJY0VFTlNfOWFsbG9jYXRvckljRUVFRQAtKyAgIDBYMHgAKG51bGwpAC0wWCswWCAwWC0weCsweCAweABpbmYASU5GAG5hbgBOQU4ALgB0ZXJtaW5hdGluZyB3aXRoICVzIGV4Y2VwdGlvbiBvZiB0eXBlICVzOiAlcwB0ZXJtaW5hdGluZyB3aXRoICVzIGV4Y2VwdGlvbiBvZiB0eXBlICVzAHRlcm1pbmF0aW5nIHdpdGggJXMgZm9yZWlnbiBleGNlcHRpb24AdGVybWluYXRpbmcAdW5jYXVnaHQAU3Q5ZXhjZXB0aW9uAE4xMF9fY3h4YWJpdjExNl9fc2hpbV90eXBlX2luZm9FAFN0OXR5cGVfaW5mbwBOMTBfX2N4eGFiaXYxMjBfX3NpX2NsYXNzX3R5cGVfaW5mb0UATjEwX19jeHhhYml2MTE3X19jbGFzc190eXBlX2luZm9FAHRlcm1pbmF0ZV9oYW5kbGVyIHVuZXhwZWN0ZWRseSByZXR1cm5lZABzdGQ6OmJhZF9hbGxvYwBTdDliYWRfYWxsb2MAU3QxMWxvZ2ljX2Vycm9yAFN0MTNydW50aW1lX2Vycm9yAFN0MTJsZW5ndGhfZXJyb3IAU3QxMm91dF9vZl9yYW5nZQBOMTBfX2N4eGFiaXYxMTdfX3BiYXNlX3R5cGVfaW5mb0UATjEwX19jeHhhYml2MTE5X19wb2ludGVyX3R5cGVfaW5mb0UATjEwX19jeHhhYml2MTIwX19mdW5jdGlvbl90eXBlX2luZm9FAE4xMF9fY3h4YWJpdjEyOV9fcG9pbnRlcl90b19tZW1iZXJfdHlwZV9pbmZvRQBQdXJlIHZpcnR1YWwgZnVuY3Rpb24gY2FsbGVkIQBOMTBfX2N4eGFiaXYxMjNfX2Z1bmRhbWVudGFsX3R5cGVfaW5mb0UAdgBEbgBiAGMAaABhAHMAdABpAGoAbABtAGYAZABOMTBfX2N4eGFiaXYxMjFfX3ZtaV9jbGFzc190eXBlX2luZm9FAF9fY3hhX2d1YXJkX2FjcXVpcmUgZGV0ZWN0ZWQgcmVjdXJzaXZlIGluaXRpYWxpemF0aW9uAHN0ZDo6YmFkX2Z1bmN0aW9uX2NhbGwATlN0M19fMjE3YmFkX2Z1bmN0aW9uX2NhbGxFAE5TdDNfXzIxNF9fc2hhcmVkX2NvdW50RQBOU3QzX18yMTlfX3NoYXJlZF93ZWFrX2NvdW50RQBtdXRleCBsb2NrIGZhaWxlZABiYXNpY19zdHJpbmcAdW5zcGVjaWZpZWQgZ2VuZXJpY19jYXRlZ29yeSBlcnJvcgBVbmtub3duIGVycm9yICVkAGdlbmVyaWMATlN0M19fMjI0X19nZW5lcmljX2Vycm9yX2NhdGVnb3J5RQBOU3QzX18yMTJfX2RvX21lc3NhZ2VFAE5TdDNfXzIxNGVycm9yX2NhdGVnb3J5RQB1bnNwZWNpZmllZCBzeXN0ZW1fY2F0ZWdvcnkgZXJyb3IAc3lzdGVtAE5TdDNfXzIyM19fc3lzdGVtX2Vycm9yX2NhdGVnb3J5RQBOU3QzX18yMTJzeXN0ZW1fZXJyb3JFADogAHZlY3Rvcg==";var gh=22368;function k9(M){return M}function N9(M){var g=/\b__Z[\w\d_]+/g;return M.replace(g,function(k){var u=k;return k===u?k:u+" ["+k+"]"})}function V9(){var M=new Error;if(!M.stack){try{throw new Error}catch(g){M=g}if(!M.stack)return"(no stack trace available)"}return M.stack.toString()}function _h(M){return kn(M)}var Lr={},Rh=[];function ss(M){if(M){var g=Lr[M];g.refcount++}}function os(M){if(!M||Lr[M])return M;for(var g in Lr)for(var k=+g,u=Lr[k].adjusted,B=u.length,r=0;r<B;r++)if(u[r]===M)return k;return M}function xh(M){var g=Lr[M];return g&&!g.caught&&(g.caught=!0,we.uncaught_exceptions--),g&&(g.rethrown=!1),Rh.push(M),ss(os(M)),M}var wh=0;function Zh(M,g,k){throw Lr[M]={ptr:M,adjusted:[M],type:g,destructor:k,refcount:0,caught:!1,rethrown:!1},wh=M,"uncaught_exception"in we?we.uncaught_exceptions++:we.uncaught_exceptions=1,M}function Fh(){return we.uncaught_exceptions}function kh(){}function pn(M){switch(M){case 1:return 0;case 2:return 1;case 4:return 2;case 8:return 3;default:throw new TypeError("Unknown type size: "+M)}}function Nh(){for(var M=new Array(256),g=0;g<256;++g)M[g]=String.fromCharCode(g);fs=M}var fs=void 0;function ct(M){for(var g="",k=M;$0[k];)g+=fs[$0[k++]];return g}var Qr={},qr={},si={},Vh=48,Wh=57;function dn(M){if(M===void 0)return"_unknown";M=M.replace(/[^a-zA-Z0-9_]/g,"$");var g=M.charCodeAt(0);return g>=Vh&&g<=Wh?"_"+M:M}function yn(M,g){return M=dn(M),new Function("body","return function "+M+`() {
8
8
  "use strict"; return body.apply(this, arguments);
9
9
  };
10
10
  `)(g)}function Mn(M,g){var k=yn(g,function(u){this.name=g,this.message=u;var B=new Error(u).stack;B!==void 0&&(this.stack=this.toString()+`
11
- `+B.replace(/^Error(:[^\n]*)?\n/,""))});return k.prototype=Object.create(M.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 _0(M){throw new $r(M)}var as=void 0;function oi(M){throw new as(M)}function Me(M,g,k){M.forEach(function(I){si[I]=g});function u(I){var H=k(I);H.length!==M.length&&oi("Mismatched type converter count");for(var D=0;D<M.length;++D)Dt(M[D],H[D])}var B=new Array(g.length),r=[],Z=0;g.forEach(function(I,H){qr.hasOwnProperty(I)?B[H]=qr[I]:(r.push(I),Qr.hasOwnProperty(I)||(Qr[I]=[]),Qr[I].push(function(){B[H]=qr[I],++Z,Z===r.length&&u(B)}))}),r.length===0&&u(B)}function Dt(M,g,k){if(k=k||{},!("argPackAdvance"in g))throw new TypeError("registerType registeredInstance requires argPackAdvance");var u=g.name;if(M||_0('type "'+u+'" must have a positive integer typeid pointer'),qr.hasOwnProperty(M)){if(k.ignoreDuplicateRegistrations)return;_0("Cannot register type '"+u+"' twice")}if(qr[M]=g,delete si[M],Qr.hasOwnProperty(M)){var B=Qr[M];delete Qr[M],B.forEach(function(r){r()})}}function Th(M,g,k,u,B){var r=pn(k);g=ct(g),Dt(M,{name:g,fromWireType:function(Z){return!!Z},toWireType:function(Z,I){return I?u:B},argPackAdvance:8,readValueFromPointer:function(Z){var I;if(k===1)I=ar;else if(k===2)I=gr;else if(k===4)I=nt;else throw new TypeError("Unknown boolean type size: "+g);return this.fromWireType(I[Z>>r])},destructorFunction:null})}function Xh(M){if(!(this instanceof Ar)||!(M instanceof Ar))return!1;for(var g=this.$$.ptrType.registeredClass,k=this.$$.ptr,u=M.$$.ptrType.registeredClass,B=M.$$.ptr;g.baseClass;)k=g.upcast(k),g=g.baseClass;for(;u.baseClass;)B=u.upcast(B),u=u.baseClass;return g===u&&k===B}function Uh(M){return{count:M.count,deleteScheduled:M.deleteScheduled,preservePointerOnDelete:M.preservePointerOnDelete,ptr:M.ptr,ptrType:M.ptrType,smartPtr:M.smartPtr,smartPtrType:M.smartPtrType}}function gn(M){function g(k){return k.$$.ptrType.registeredClass.name}_0(g(M)+" instance already deleted")}var _n=!1;function As(M){}function Gh(M){M.smartPtr?M.smartPtrType.rawDestructor(M.smartPtr):M.ptrType.registeredClass.rawDestructor(M.ptr)}function hs(M){M.count.value-=1;var g=M.count.value===0;g&&Gh(M)}function ge(M){return typeof FinalizationGroup>"u"?(ge=function(g){return g},M):(_n=new FinalizationGroup(function(g){for(var k=g.next();!k.done;k=g.next()){var u=k.value;u.ptr?hs(u):console.warn("object already deleted: "+u.ptr)}}),ge=function(g){return _n.register(g,g.$$,g.$$),g},As=function(g){_n.unregister(g.$$)},ge(M))}function Eh(){if(this.$$.ptr||gn(this),this.$$.preservePointerOnDelete)return this.$$.count.value+=1,this;var M=ge(Object.create(Object.getPrototypeOf(this),{$$:{value:Uh(this.$$)}}));return M.$$.count.value+=1,M.$$.deleteScheduled=!1,M}function zh(){this.$$.ptr||gn(this),this.$$.deleteScheduled&&!this.$$.preservePointerOnDelete&&_0("Object already scheduled for deletion"),As(this),hs(this.$$),this.$$.preservePointerOnDelete||(this.$$.smartPtr=void 0,this.$$.ptr=void 0)}function Bh(){return!this.$$.ptr}var _e=void 0,Re=[];function Rn(){for(;Re.length;){var M=Re.pop();M.$$.deleteScheduled=!1,M.delete()}}function Sh(){return this.$$.ptr||gn(this),this.$$.deleteScheduled&&!this.$$.preservePointerOnDelete&&_0("Object already scheduled for deletion"),Re.push(this),Re.length===1&&_e&&_e(Rn),this.$$.deleteScheduled=!0,this}function Ch(){Ar.prototype.isAliasOf=Xh,Ar.prototype.clone=Eh,Ar.prototype.delete=zh,Ar.prototype.isDeleted=Bh,Ar.prototype.deleteLater=Sh}function Ar(){}var ls={};function us(M,g,k){if(M[g].overloadTable===void 0){var u=M[g];M[g]=function(){return M[g].overloadTable.hasOwnProperty(arguments.length)||_0("Function '"+k+"' called with an invalid number of arguments ("+arguments.length+") - expects one of ("+M[g].overloadTable+")!"),M[g].overloadTable[arguments.length].apply(this,arguments)},M[g].overloadTable=[],M[g].overloadTable[u.argCount]=u}}function Ih(M,g,k){s.hasOwnProperty(M)?((k===void 0||s[M].overloadTable!==void 0&&s[M].overloadTable[k]!==void 0)&&_0("Cannot register public name '"+M+"' twice"),us(s,M,M),s.hasOwnProperty(k)&&_0("Cannot register multiple overloads of a function with the same number of arguments ("+k+")!"),s[M].overloadTable[k]=g):(s[M]=g,k!==void 0&&(s[M].numArguments=k))}function Oh(M,g,k,u,B,r,Z,I){this.name=M,this.constructor=g,this.instancePrototype=k,this.rawDestructor=u,this.baseClass=B,this.getActualType=r,this.upcast=Z,this.downcast=I,this.pureVirtualFunctions=[]}function xn(M,g,k){for(;g!==k;)g.upcast||_0("Expected null or instance of "+k.name+", got an instance of "+g.name),M=g.upcast(M),g=g.baseClass;return M}function Jh(M,g){if(g===null)return this.isReference&&_0("null is not a valid "+this.name),0;g.$$||_0('Cannot pass "'+xr(g)+'" as a '+this.name),g.$$.ptr||_0("Cannot pass deleted object as a pointer of type "+this.name);var k=g.$$.ptrType.registeredClass,u=xn(g.$$.ptr,k,this.registeredClass);return u}function Ph(M,g){var k;if(g===null)return this.isReference&&_0("null is not a valid "+this.name),this.isSmartPointer?(k=this.rawConstructor(),M!==null&&M.push(this.rawDestructor,k),k):0;g.$$||_0('Cannot pass "'+xr(g)+'" as a '+this.name),g.$$.ptr||_0("Cannot pass deleted object as a pointer of type "+this.name),!this.isConst&&g.$$.ptrType.isConst&&_0("Cannot convert argument of type "+(g.$$.smartPtrType?g.$$.smartPtrType.name:g.$$.ptrType.name)+" to parameter type "+this.name);var u=g.$$.ptrType.registeredClass;if(k=xn(g.$$.ptr,u,this.registeredClass),this.isSmartPointer)switch(g.$$.smartPtr===void 0&&_0("Passing raw pointer to smart pointer is illegal"),this.sharingPolicy){case 0:g.$$.smartPtrType===this?k=g.$$.smartPtr:_0("Cannot convert argument of type "+(g.$$.smartPtrType?g.$$.smartPtrType.name:g.$$.ptrType.name)+" to parameter type "+this.name);break;case 1:k=g.$$.smartPtr;break;case 2:if(g.$$.smartPtrType===this)k=g.$$.smartPtr;else{var B=g.clone();k=this.rawShare(k,Fn(function(){B.delete()})),M!==null&&M.push(this.rawDestructor,k)}break;default:_0("Unsupporting sharing policy")}return k}function jh(M,g){if(g===null)return this.isReference&&_0("null is not a valid "+this.name),0;g.$$||_0('Cannot pass "'+xr(g)+'" as a '+this.name),g.$$.ptr||_0("Cannot pass deleted object as a pointer of type "+this.name),g.$$.ptrType.isConst&&_0("Cannot convert argument of type "+g.$$.ptrType.name+" to parameter type "+this.name);var k=g.$$.ptrType.registeredClass,u=xn(g.$$.ptr,k,this.registeredClass);return u}function fi(M){return this.fromWireType(Yt[M>>2])}function Yh(M){return this.rawGetPointee&&(M=this.rawGetPointee(M)),M}function Dh(M){this.rawDestructor&&this.rawDestructor(M)}function Hh(M){M!==null&&M.delete()}function cs(M,g,k){if(g===k)return M;if(k.baseClass===void 0)return null;var u=cs(M,g,k.baseClass);return u===null?null:k.downcast(u)}function Lh(){return Object.keys(xe).length}function Qh(){var M=[];for(var g in xe)xe.hasOwnProperty(g)&&M.push(xe[g]);return M}function qh(M){_e=M,Re.length&&_e&&_e(Rn)}function $h(){s.getInheritedInstanceCount=Lh,s.getLiveInheritedInstances=Qh,s.flushPendingDeletes=Rn,s.setDelayFunction=qh}var xe={};function Kh(M,g){for(g===void 0&&_0("ptr should not be undefined");M.baseClass;)g=M.upcast(g),M=M.baseClass;return g}function bh(M,g){return g=Kh(M,g),xe[g]}function ai(M,g){(!g.ptrType||!g.ptr)&&oi("makeClassHandle requires ptr and ptrType");var k=!!g.smartPtrType,u=!!g.smartPtr;return k!==u&&oi("Both smartPtrType and smartPtr must be specified"),g.count={value:1},ge(Object.create(M,{$$:{value:g}}))}function tl(M){var g=this.getPointee(M);if(!g)return this.destructor(M),null;var k=bh(this.registeredClass,g);if(k!==void 0){if(k.$$.count.value===0)return k.$$.ptr=g,k.$$.smartPtr=M,k.clone();var u=k.clone();return this.destructor(M),u}function B(){return this.isSmartPointer?ai(this.registeredClass.instancePrototype,{ptrType:this.pointeeType,ptr:g,smartPtrType:this,smartPtr:M}):ai(this.registeredClass.instancePrototype,{ptrType:this,ptr:M})}var r=this.registeredClass.getActualType(g),Z=ls[r];if(!Z)return B.call(this);var I;this.isConst?I=Z.constPointerType:I=Z.pointerType;var H=cs(g,this.registeredClass,I.registeredClass);return H===null?B.call(this):this.isSmartPointer?ai(I.registeredClass.instancePrototype,{ptrType:I,ptr:H,smartPtrType:this,smartPtr:M}):ai(I.registeredClass.instancePrototype,{ptrType:I,ptr:H})}function rl(){Ht.prototype.getPointee=Yh,Ht.prototype.destructor=Dh,Ht.prototype.argPackAdvance=8,Ht.prototype.readValueFromPointer=fi,Ht.prototype.deleteObject=Hh,Ht.prototype.fromWireType=tl}function Ht(M,g,k,u,B,r,Z,I,H,D,z){this.name=M,this.registeredClass=g,this.isReference=k,this.isConst=u,this.isSmartPointer=B,this.pointeeType=r,this.sharingPolicy=Z,this.rawGetPointee=I,this.rawConstructor=H,this.rawShare=D,this.rawDestructor=z,!B&&g.baseClass===void 0?u?(this.toWireType=Jh,this.destructorFunction=null):(this.toWireType=jh,this.destructorFunction=null):this.toWireType=Ph}function el(M,g,k){s.hasOwnProperty(M)||oi("Replacing nonexistant public symbol"),s[M].overloadTable!==void 0&&k!==void 0?s[M].overloadTable[k]=g:(s[M]=g,s[M].argCount=k)}function Kr(M,g){M=ct(M);function k(r){for(var Z=[],I=1;I<M.length;++I)Z.push("a"+I);var H="dynCall_"+M+"_"+g,D="return function "+H+"("+Z.join(", ")+`) {
11
+ `+B.replace(/^Error(:[^\n]*)?\n/,""))});return k.prototype=Object.create(M.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 _0(M){throw new $r(M)}var as=void 0;function oi(M){throw new as(M)}function Me(M,g,k){M.forEach(function(I){si[I]=g});function u(I){var H=k(I);H.length!==M.length&&oi("Mismatched type converter count");for(var D=0;D<M.length;++D)Dt(M[D],H[D])}var B=new Array(g.length),r=[],Z=0;g.forEach(function(I,H){qr.hasOwnProperty(I)?B[H]=qr[I]:(r.push(I),Qr.hasOwnProperty(I)||(Qr[I]=[]),Qr[I].push(function(){B[H]=qr[I],++Z,Z===r.length&&u(B)}))}),r.length===0&&u(B)}function Dt(M,g,k){if(k=k||{},!("argPackAdvance"in g))throw new TypeError("registerType registeredInstance requires argPackAdvance");var u=g.name;if(M||_0('type "'+u+'" must have a positive integer typeid pointer'),qr.hasOwnProperty(M)){if(k.ignoreDuplicateRegistrations)return;_0("Cannot register type '"+u+"' twice")}if(qr[M]=g,delete si[M],Qr.hasOwnProperty(M)){var B=Qr[M];delete Qr[M],B.forEach(function(r){r()})}}function Th(M,g,k,u,B){var r=pn(k);g=ct(g),Dt(M,{name:g,fromWireType:function(Z){return!!Z},toWireType:function(Z,I){return I?u:B},argPackAdvance:8,readValueFromPointer:function(Z){var I;if(k===1)I=ar;else if(k===2)I=gr;else if(k===4)I=nt;else throw new TypeError("Unknown boolean type size: "+g);return this.fromWireType(I[Z>>r])},destructorFunction:null})}function Xh(M){if(!(this instanceof Ar)||!(M instanceof Ar))return!1;for(var g=this.$$.ptrType.registeredClass,k=this.$$.ptr,u=M.$$.ptrType.registeredClass,B=M.$$.ptr;g.baseClass;)k=g.upcast(k),g=g.baseClass;for(;u.baseClass;)B=u.upcast(B),u=u.baseClass;return g===u&&k===B}function Uh(M){return{count:M.count,deleteScheduled:M.deleteScheduled,preservePointerOnDelete:M.preservePointerOnDelete,ptr:M.ptr,ptrType:M.ptrType,smartPtr:M.smartPtr,smartPtrType:M.smartPtrType}}function gn(M){function g(k){return k.$$.ptrType.registeredClass.name}_0(g(M)+" instance already deleted")}var _n=!1;function As(M){}function Gh(M){M.smartPtr?M.smartPtrType.rawDestructor(M.smartPtr):M.ptrType.registeredClass.rawDestructor(M.ptr)}function hs(M){M.count.value-=1;var g=M.count.value===0;g&&Gh(M)}function ge(M){return typeof FinalizationGroup>"u"?(ge=function(g){return g},M):(_n=new FinalizationGroup(function(g){for(var k=g.next();!k.done;k=g.next()){var u=k.value;u.ptr?hs(u):console.warn("object already deleted: "+u.ptr)}}),ge=function(g){return _n.register(g,g.$$,g.$$),g},As=function(g){_n.unregister(g.$$)},ge(M))}function Eh(){if(this.$$.ptr||gn(this),this.$$.preservePointerOnDelete)return this.$$.count.value+=1,this;var M=ge(Object.create(Object.getPrototypeOf(this),{$$:{value:Uh(this.$$)}}));return M.$$.count.value+=1,M.$$.deleteScheduled=!1,M}function zh(){this.$$.ptr||gn(this),this.$$.deleteScheduled&&!this.$$.preservePointerOnDelete&&_0("Object already scheduled for deletion"),As(this),hs(this.$$),this.$$.preservePointerOnDelete||(this.$$.smartPtr=void 0,this.$$.ptr=void 0)}function Bh(){return!this.$$.ptr}var _e=void 0,Re=[];function Rn(){for(;Re.length;){var M=Re.pop();M.$$.deleteScheduled=!1,M.delete()}}function Sh(){return this.$$.ptr||gn(this),this.$$.deleteScheduled&&!this.$$.preservePointerOnDelete&&_0("Object already scheduled for deletion"),Re.push(this),Re.length===1&&_e&&_e(Rn),this.$$.deleteScheduled=!0,this}function Ch(){Ar.prototype.isAliasOf=Xh,Ar.prototype.clone=Eh,Ar.prototype.delete=zh,Ar.prototype.isDeleted=Bh,Ar.prototype.deleteLater=Sh}function Ar(){}var ls={};function us(M,g,k){if(M[g].overloadTable===void 0){var u=M[g];M[g]=function(){return M[g].overloadTable.hasOwnProperty(arguments.length)||_0("Function '"+k+"' called with an invalid number of arguments ("+arguments.length+") - expects one of ("+M[g].overloadTable+")!"),M[g].overloadTable[arguments.length].apply(this,arguments)},M[g].overloadTable=[],M[g].overloadTable[u.argCount]=u}}function Ih(M,g,k){s.hasOwnProperty(M)?((k===void 0||s[M].overloadTable!==void 0&&s[M].overloadTable[k]!==void 0)&&_0("Cannot register public name '"+M+"' twice"),us(s,M,M),s.hasOwnProperty(k)&&_0("Cannot register multiple overloads of a function with the same number of arguments ("+k+")!"),s[M].overloadTable[k]=g):(s[M]=g,k!==void 0&&(s[M].numArguments=k))}function Oh(M,g,k,u,B,r,Z,I){this.name=M,this.constructor=g,this.instancePrototype=k,this.rawDestructor=u,this.baseClass=B,this.getActualType=r,this.upcast=Z,this.downcast=I,this.pureVirtualFunctions=[]}function xn(M,g,k){for(;g!==k;)g.upcast||_0("Expected null or instance of "+k.name+", got an instance of "+g.name),M=g.upcast(M),g=g.baseClass;return M}function Jh(M,g){if(g===null)return this.isReference&&_0("null is not a valid "+this.name),0;g.$$||_0('Cannot pass "'+xr(g)+'" as a '+this.name),g.$$.ptr||_0("Cannot pass deleted object as a pointer of type "+this.name);var k=g.$$.ptrType.registeredClass,u=xn(g.$$.ptr,k,this.registeredClass);return u}function Ph(M,g){var k;if(g===null)return this.isReference&&_0("null is not a valid "+this.name),this.isSmartPointer?(k=this.rawConstructor(),M!==null&&M.push(this.rawDestructor,k),k):0;g.$$||_0('Cannot pass "'+xr(g)+'" as a '+this.name),g.$$.ptr||_0("Cannot pass deleted object as a pointer of type "+this.name),!this.isConst&&g.$$.ptrType.isConst&&_0("Cannot convert argument of type "+(g.$$.smartPtrType?g.$$.smartPtrType.name:g.$$.ptrType.name)+" to parameter type "+this.name);var u=g.$$.ptrType.registeredClass;if(k=xn(g.$$.ptr,u,this.registeredClass),this.isSmartPointer)switch(g.$$.smartPtr===void 0&&_0("Passing raw pointer to smart pointer is illegal"),this.sharingPolicy){case 0:g.$$.smartPtrType===this?k=g.$$.smartPtr:_0("Cannot convert argument of type "+(g.$$.smartPtrType?g.$$.smartPtrType.name:g.$$.ptrType.name)+" to parameter type "+this.name);break;case 1:k=g.$$.smartPtr;break;case 2:if(g.$$.smartPtrType===this)k=g.$$.smartPtr;else{var B=g.clone();k=this.rawShare(k,Fn(function(){B.delete()})),M!==null&&M.push(this.rawDestructor,k)}break;default:_0("Unsupporting sharing policy")}return k}function jh(M,g){if(g===null)return this.isReference&&_0("null is not a valid "+this.name),0;g.$$||_0('Cannot pass "'+xr(g)+'" as a '+this.name),g.$$.ptr||_0("Cannot pass deleted object as a pointer of type "+this.name),g.$$.ptrType.isConst&&_0("Cannot convert argument of type "+g.$$.ptrType.name+" to parameter type "+this.name);var k=g.$$.ptrType.registeredClass,u=xn(g.$$.ptr,k,this.registeredClass);return u}function fi(M){return this.fromWireType(Yt[M>>2])}function Yh(M){return this.rawGetPointee&&(M=this.rawGetPointee(M)),M}function Dh(M){this.rawDestructor&&this.rawDestructor(M)}function Hh(M){M!==null&&M.delete()}function cs(M,g,k){if(g===k)return M;if(k.baseClass===void 0)return null;var u=cs(M,g,k.baseClass);return u===null?null:k.downcast(u)}function Lh(){return Object.keys(xe).length}function Qh(){var M=[];for(var g in xe)xe.hasOwnProperty(g)&&M.push(xe[g]);return M}function qh(M){_e=M,Re.length&&_e&&_e(Rn)}function $h(){s.getInheritedInstanceCount=Lh,s.getLiveInheritedInstances=Qh,s.flushPendingDeletes=Rn,s.setDelayFunction=qh}var xe={};function Kh(M,g){for(g===void 0&&_0("ptr should not be undefined");M.baseClass;)g=M.upcast(g),M=M.baseClass;return g}function bh(M,g){return g=Kh(M,g),xe[g]}function ai(M,g){(!g.ptrType||!g.ptr)&&oi("makeClassHandle requires ptr and ptrType");var k=!!g.smartPtrType,u=!!g.smartPtr;return k!==u&&oi("Both smartPtrType and smartPtr must be specified"),g.count={value:1},ge(Object.create(M,{$$:{value:g}}))}function t1(M){var g=this.getPointee(M);if(!g)return this.destructor(M),null;var k=bh(this.registeredClass,g);if(k!==void 0){if(k.$$.count.value===0)return k.$$.ptr=g,k.$$.smartPtr=M,k.clone();var u=k.clone();return this.destructor(M),u}function B(){return this.isSmartPointer?ai(this.registeredClass.instancePrototype,{ptrType:this.pointeeType,ptr:g,smartPtrType:this,smartPtr:M}):ai(this.registeredClass.instancePrototype,{ptrType:this,ptr:M})}var r=this.registeredClass.getActualType(g),Z=ls[r];if(!Z)return B.call(this);var I;this.isConst?I=Z.constPointerType:I=Z.pointerType;var H=cs(g,this.registeredClass,I.registeredClass);return H===null?B.call(this):this.isSmartPointer?ai(I.registeredClass.instancePrototype,{ptrType:I,ptr:H,smartPtrType:this,smartPtr:M}):ai(I.registeredClass.instancePrototype,{ptrType:I,ptr:H})}function r1(){Ht.prototype.getPointee=Yh,Ht.prototype.destructor=Dh,Ht.prototype.argPackAdvance=8,Ht.prototype.readValueFromPointer=fi,Ht.prototype.deleteObject=Hh,Ht.prototype.fromWireType=t1}function Ht(M,g,k,u,B,r,Z,I,H,D,z){this.name=M,this.registeredClass=g,this.isReference=k,this.isConst=u,this.isSmartPointer=B,this.pointeeType=r,this.sharingPolicy=Z,this.rawGetPointee=I,this.rawConstructor=H,this.rawShare=D,this.rawDestructor=z,!B&&g.baseClass===void 0?u?(this.toWireType=Jh,this.destructorFunction=null):(this.toWireType=jh,this.destructorFunction=null):this.toWireType=Ph}function e1(M,g,k){s.hasOwnProperty(M)||oi("Replacing nonexistant public symbol"),s[M].overloadTable!==void 0&&k!==void 0?s[M].overloadTable[k]=g:(s[M]=g,s[M].argCount=k)}function Kr(M,g){M=ct(M);function k(r){for(var Z=[],I=1;I<M.length;++I)Z.push("a"+I);var H="dynCall_"+M+"_"+g,D="return function "+H+"("+Z.join(", ")+`) {
12
12
  `;return D+=" return dynCall(rawFunction"+(Z.length?", ":"")+Z.join(", ")+`);
13
13
  `,D+=`};
14
- `,new Function("dynCall","rawFunction",D)(r,g)}var u=s["dynCall_"+M],B=k(u);return typeof B!="function"&&_0("unknown function pointer with signature "+M+": "+g),B}var ms=void 0;function il(M){var g=Xl(M),k=ct(g);return lr(g),k}function wn(M,g){var k=[],u={};function B(r){if(!u[r]&&!qr[r]){if(si[r]){si[r].forEach(B);return}k.push(r),u[r]=!0}}throw g.forEach(B),new ms(M+": "+k.map(il).join([", "]))}function nl(M,g,k,u,B,r,Z,I,H,D,z,v0,R0){z=ct(z),r=Kr(B,r),I&&(I=Kr(Z,I)),D&&(D=Kr(H,D)),R0=Kr(v0,R0);var m0=dn(z);Ih(m0,function(){wn("Cannot construct "+z+" due to unbound types",[u])}),Me([M,g,k],u?[u]:[],function(T0){T0=T0[0];var H0,Zt;u?(H0=T0.registeredClass,Zt=H0.instancePrototype):Zt=Ar.prototype;var wr=yn(m0,function(){if(Object.getPrototypeOf(this)!==hi)throw new $r("Use 'new' to construct "+z);if(u0.constructor_body===void 0)throw new $r(z+" has no accessible constructor");var y0=u0.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(u0.constructor_body).toString()+") parameters instead!");return y0.apply(this,arguments)}),hi=Object.create(Zt,{constructor:{value:wr}});wr.prototype=hi;var u0=new Oh(z,wr,hi,R0,H0,r,I,D),Lt=new Ht(z,u0,!0,!1,!1),K0=new Ht(z+"*",u0,!1,!1,!1),Z0=new Ht(z+" const*",u0,!1,!0,!1);return ls[M]={pointerType:K0,constPointerType:Z0},el(m0,wr),[Lt,K0,Z0]})}function vs(M,g){for(var k=[],u=0;u<M;u++)k.push(nt[(g>>2)+u]);return k}function ps(M){for(;M.length;){var g=M.pop(),k=M.pop();k(g)}}function sl(M,g,k,u,B,r){Dr(g>0);var Z=vs(g,k);B=Kr(u,B);var I=[r],H=[];Me([],[M],function(D){D=D[0];var z="constructor "+D.name;if(D.registeredClass.constructor_body===void 0&&(D.registeredClass.constructor_body=[]),D.registeredClass.constructor_body[g-1]!==void 0)throw new $r("Cannot register multiple constructors with identical number of parameters ("+(g-1)+") for class '"+D.name+"'! Overload resolution is currently only performed using the parameter count, not actual type info!");return D.registeredClass.constructor_body[g-1]=function(){wn("Cannot construct "+D.name+" due to unbound types",Z)},Me([],Z,function(v0){return D.registeredClass.constructor_body[g-1]=function(){arguments.length!==g-1&&_0(z+" called with "+arguments.length+" arguments, expected "+(g-1)),H.length=0,I.length=g;for(var m0=1;m0<g;++m0)I[m0]=v0[m0].toWireType(H,arguments[m0-1]);var T0=B.apply(null,I);return ps(H),v0[0].fromWireType(T0)},[]}),[]})}function ol(M,g){if(!(M instanceof Function))throw new TypeError("new_ called with constructor type "+typeof M+" which is not a function");var k=yn(M.name||"unknownFunctionName",function(){});k.prototype=M.prototype;var u=new k,B=M.apply(u,g);return B instanceof Object?B:u}function fl(M,g,k,u,B){var r=g.length;r<2&&_0("argTypes array size mismatch! Must at least get return value and 'this' types!");for(var Z=g[1]!==null&&k!==null,I=!1,H=1;H<g.length;++H)if(g[H]!==null&&g[H].destructorFunction===void 0){I=!0;break}for(var D=g[0].name!=="void",z="",v0="",H=0;H<r-2;++H)z+=(H!==0?", ":"")+"arg"+H,v0+=(H!==0?", ":"")+"arg"+H+"Wired";var R0="return function "+dn(M)+"("+z+`) {
14
+ `,new Function("dynCall","rawFunction",D)(r,g)}var u=s["dynCall_"+M],B=k(u);return typeof B!="function"&&_0("unknown function pointer with signature "+M+": "+g),B}var ms=void 0;function i1(M){var g=X1(M),k=ct(g);return lr(g),k}function wn(M,g){var k=[],u={};function B(r){if(!u[r]&&!qr[r]){if(si[r]){si[r].forEach(B);return}k.push(r),u[r]=!0}}throw g.forEach(B),new ms(M+": "+k.map(i1).join([", "]))}function n1(M,g,k,u,B,r,Z,I,H,D,z,v0,R0){z=ct(z),r=Kr(B,r),I&&(I=Kr(Z,I)),D&&(D=Kr(H,D)),R0=Kr(v0,R0);var m0=dn(z);Ih(m0,function(){wn("Cannot construct "+z+" due to unbound types",[u])}),Me([M,g,k],u?[u]:[],function(T0){T0=T0[0];var H0,Zt;u?(H0=T0.registeredClass,Zt=H0.instancePrototype):Zt=Ar.prototype;var wr=yn(m0,function(){if(Object.getPrototypeOf(this)!==hi)throw new $r("Use 'new' to construct "+z);if(u0.constructor_body===void 0)throw new $r(z+" has no accessible constructor");var y0=u0.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(u0.constructor_body).toString()+") parameters instead!");return y0.apply(this,arguments)}),hi=Object.create(Zt,{constructor:{value:wr}});wr.prototype=hi;var u0=new Oh(z,wr,hi,R0,H0,r,I,D),Lt=new Ht(z,u0,!0,!1,!1),K0=new Ht(z+"*",u0,!1,!1,!1),Z0=new Ht(z+" const*",u0,!1,!0,!1);return ls[M]={pointerType:K0,constPointerType:Z0},e1(m0,wr),[Lt,K0,Z0]})}function vs(M,g){for(var k=[],u=0;u<M;u++)k.push(nt[(g>>2)+u]);return k}function ps(M){for(;M.length;){var g=M.pop(),k=M.pop();k(g)}}function s1(M,g,k,u,B,r){Dr(g>0);var Z=vs(g,k);B=Kr(u,B);var I=[r],H=[];Me([],[M],function(D){D=D[0];var z="constructor "+D.name;if(D.registeredClass.constructor_body===void 0&&(D.registeredClass.constructor_body=[]),D.registeredClass.constructor_body[g-1]!==void 0)throw new $r("Cannot register multiple constructors with identical number of parameters ("+(g-1)+") for class '"+D.name+"'! Overload resolution is currently only performed using the parameter count, not actual type info!");return D.registeredClass.constructor_body[g-1]=function(){wn("Cannot construct "+D.name+" due to unbound types",Z)},Me([],Z,function(v0){return D.registeredClass.constructor_body[g-1]=function(){arguments.length!==g-1&&_0(z+" called with "+arguments.length+" arguments, expected "+(g-1)),H.length=0,I.length=g;for(var m0=1;m0<g;++m0)I[m0]=v0[m0].toWireType(H,arguments[m0-1]);var T0=B.apply(null,I);return ps(H),v0[0].fromWireType(T0)},[]}),[]})}function o1(M,g){if(!(M instanceof Function))throw new TypeError("new_ called with constructor type "+typeof M+" which is not a function");var k=yn(M.name||"unknownFunctionName",function(){});k.prototype=M.prototype;var u=new k,B=M.apply(u,g);return B instanceof Object?B:u}function f1(M,g,k,u,B){var r=g.length;r<2&&_0("argTypes array size mismatch! Must at least get return value and 'this' types!");for(var Z=g[1]!==null&&k!==null,I=!1,H=1;H<g.length;++H)if(g[H]!==null&&g[H].destructorFunction===void 0){I=!0;break}for(var D=g[0].name!=="void",z="",v0="",H=0;H<r-2;++H)z+=(H!==0?", ":"")+"arg"+H,v0+=(H!==0?", ":"")+"arg"+H+"Wired";var R0="return function "+dn(M)+"("+z+`) {
15
15
  if (arguments.length !== `+(r-2)+`) {
16
16
  throwBindingError('function `+M+" called with ' + arguments.length + ' arguments, expected "+(r-2)+` args!');
17
17
  }
@@ -24,7 +24,7 @@ throwBindingError('function `+M+" called with ' + arguments.length + ' arguments
24
24
  `,T0.push(Zt+"_dtor"),H0.push(g[H].destructorFunction))}D&&(R0+=`var ret = retType.fromWireType(rv);
25
25
  return ret;
26
26
  `),R0+=`}
27
- `,T0.push(R0);var wr=ol(Function,T0).apply(null,H0);return wr}function al(M,g,k,u,B,r,Z,I){var H=vs(k,u);g=ct(g),r=Kr(B,r),Me([],[M],function(D){D=D[0];var z=D.name+"."+g;I&&D.registeredClass.pureVirtualFunctions.push(g);function v0(){wn("Cannot call "+z+" due to unbound types",H)}var R0=D.registeredClass.instancePrototype,m0=R0[g];return m0===void 0||m0.overloadTable===void 0&&m0.className!==D.name&&m0.argCount===k-2?(v0.argCount=k-2,v0.className=D.name,R0[g]=v0):(us(R0,g,z),R0[g].overloadTable[k-2]=v0),Me([],H,function(T0){var H0=fl(z,T0,D,r,Z);return R0[g].overloadTable===void 0?(H0.argCount=k-2,R0[g]=H0):R0[g].overloadTable[k-2]=H0,[]}),[]})}var Zn=[],Gt=[{},{value:void 0},{value:null},{value:!0},{value:!1}];function ds(M){M>4&&--Gt[M].refcount===0&&(Gt[M]=void 0,Zn.push(M))}function Al(){for(var M=0,g=5;g<Gt.length;++g)Gt[g]!==void 0&&++M;return M}function hl(){for(var M=5;M<Gt.length;++M)if(Gt[M]!==void 0)return Gt[M];return null}function ll(){s.count_emval_handles=Al,s.get_first_emval=hl}function Fn(M){switch(M){case void 0:return 1;case null:return 2;case!0:return 3;case!1:return 4;default:{var g=Zn.length?Zn.pop():Gt.length;return Gt[g]={refcount:1,value:M},g}}}function ul(M,g){g=ct(g),Dt(M,{name:g,fromWireType:function(k){var u=Gt[k].value;return ds(k),u},toWireType:function(k,u){return Fn(u)},argPackAdvance:8,readValueFromPointer:fi,destructorFunction:null})}function xr(M){if(M===null)return"null";var g=typeof M;return g==="object"||g==="array"||g==="function"?M.toString():""+M}function cl(M,g){switch(g){case 2:return function(k){return this.fromWireType(ln[k>>2])};case 3:return function(k){return this.fromWireType(un[k>>3])};default:throw new TypeError("Unknown float type: "+M)}}function ml(M,g,k){var u=pn(k);g=ct(g),Dt(M,{name:g,fromWireType:function(B){return B},toWireType:function(B,r){if(typeof r!="number"&&typeof r!="boolean")throw new TypeError('Cannot convert "'+xr(r)+'" to '+this.name);return r},argPackAdvance:8,readValueFromPointer:cl(g,u),destructorFunction:null})}function vl(M,g,k){switch(g){case 0:return k?function(B){return ar[B]}:function(B){return $0[B]};case 1:return k?function(B){return gr[B>>1]}:function(B){return ii[B>>1]};case 2:return k?function(B){return nt[B>>2]}:function(B){return Yt[B>>2]};default:throw new TypeError("Unknown integer type: "+M)}}function pl(M,g,k,u,B){g=ct(g),B===-1&&(B=4294967295);var r=pn(k),Z=function(D){return D};if(u===0){var I=32-8*k;Z=function(D){return D<<I>>>I}}var H=g.indexOf("unsigned")!=-1;Dt(M,{name:g,fromWireType:Z,toWireType:function(D,z){if(typeof z!="number"&&typeof z!="boolean")throw new TypeError('Cannot convert "'+xr(z)+'" to '+this.name);if(z<u||z>B)throw new TypeError('Passing a number "'+xr(z)+'" from JS side to C/C++ side to an argument of type "'+g+'", which is outside the valid range ['+u+", "+B+"]!");return H?z>>>0:z|0},argPackAdvance:8,readValueFromPointer:vl(g,r,u!==0),destructorFunction:null})}function dl(M,g,k){var u=[Int8Array,Uint8Array,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array],B=u[g];function r(Z){Z=Z>>2;var I=Yt,H=I[Z],D=I[Z+1];return new B(Mr,D,H)}k=ct(k),Dt(M,{name:k,fromWireType:r,argPackAdvance:8,readValueFromPointer:r},{ignoreDuplicateRegistrations:!0})}function yl(M,g){g=ct(g);var k=g==="std::string";Dt(M,{name:g,fromWireType:function(u){var B=Yt[u>>2],r;if(k)for(var Z=u+4,I=0;I<=B;++I){var H=u+4+I;if($0[H]==0||I==B){var D=H-Z,z=q2(Z,D);r===void 0?r=z:(r+=String.fromCharCode(0),r+=z),Z=H+1}}else{for(var v0=new Array(B),I=0;I<B;++I)v0[I]=String.fromCharCode($0[u+4+I]);r=v0.join("")}return lr(u),r},toWireType:function(u,B){B instanceof ArrayBuffer&&(B=new Uint8Array(B));var r,Z=typeof B=="string";Z||B instanceof Uint8Array||B instanceof Uint8ClampedArray||B instanceof Int8Array||_0("Cannot pass non-string to std::string"),k&&Z?r=function(){return LA(B)}:r=function(){return B.length};var I=r(),H=kn(4+I+1);if(Yt[H>>2]=I,k&&Z)$2(B,H+4,I+1);else if(Z)for(var D=0;D<I;++D){var z=B.charCodeAt(D);z>255&&(lr(H),_0("String has UTF-16 code units that do not fit in 8 bits")),$0[H+4+D]=z}else for(var D=0;D<I;++D)$0[H+4+D]=B[D];return u!==null&&u.push(lr,H),H},argPackAdvance:8,readValueFromPointer:fi,destructorFunction:function(u){lr(u)}})}function Ml(M,g,k){k=ct(k);var u,B,r,Z,I;g===2?(u=QA,B=qA,Z=$A,r=function(){return ii},I=1):g===4&&(u=KA,B=bA,Z=th,r=function(){return Yt},I=2),Dt(M,{name:k,fromWireType:function(H){for(var D=Yt[H>>2],z=r(),v0,R0=H+4,m0=0;m0<=D;++m0){var T0=H+4+m0*g;if(z[T0>>I]==0||m0==D){var H0=T0-R0,Zt=u(R0,H0);v0===void 0?v0=Zt:(v0+=String.fromCharCode(0),v0+=Zt),R0=T0+g}}return lr(H),v0},toWireType:function(H,D){typeof D!="string"&&_0("Cannot pass non-string to C++ string type "+k);var z=Z(D),v0=kn(4+z+g);return Yt[v0>>2]=z>>I,B(D,v0+4,z+g),H!==null&&H.push(lr,v0),v0},argPackAdvance:8,readValueFromPointer:fi,destructorFunction:function(H){lr(H)}})}function gl(M,g){g=ct(g),Dt(M,{isVoid:!0,name:g,argPackAdvance:0,fromWireType:function(){},toWireType:function(k,u){}})}function _l(){Rr()}function Rl(){return $0.length}function xl(M){Rr("OOM")}function wl(M){M=M>>>0,xl(M)}function Zl(){Rr("trap!")}function Fl(M,g,k){$0.copyWithin(M,g,g+k)}Nh(),$r=s.BindingError=Mn(Error,"BindingError"),as=s.InternalError=Mn(Error,"InternalError"),Ch(),rl(),$h(),ms=s.UnboundTypeError=Mn(Error,"UnboundTypeError"),ll();var kl=!1;function ys(M){for(var g=[],k=0;k<M.length;k++){var u=M[k];u>255&&(kl&&Dr(!1,"Character code "+u+" ("+String.fromCharCode(u)+") at offset "+k+" not in 0x00-0xFF."),u&=255),g.push(String.fromCharCode(u))}return g.join("")}var Nl=typeof atob=="function"?atob:function(M){var g="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",k="",u,B,r,Z,I,H,D,z=0;M=M.replace(/[^A-Za-z0-9\+\/\=]/g,"");do Z=g.indexOf(M.charAt(z++)),I=g.indexOf(M.charAt(z++)),H=g.indexOf(M.charAt(z++)),D=g.indexOf(M.charAt(z++)),u=Z<<2|I>>4,B=(I&15)<<4|H>>2,r=(H&3)<<6|D,k=k+String.fromCharCode(u),H!==64&&(k=k+String.fromCharCode(B)),D!==64&&(k=k+String.fromCharCode(r));while(z<M.length);return k};function Vl(M){if(typeof F=="boolean"&&F){var g;try{g=Buffer.from(M,"base64")}catch{g=new Buffer(M,"base64")}return new Uint8Array(g.buffer,g.byteOffset,g.byteLength)}try{for(var k=Nl(M),u=new Uint8Array(k.length),B=0;B<k.length;++B)u[B]=k.charCodeAt(B);return u}catch{throw new Error("Converting base64 string to bytes failed.")}}function hr(M){if(ns(M))return Vl(M.slice(is.length))}var Wl={Math,Int8Array,Int16Array,Int32Array,Uint8Array,Uint16Array,Float32Array,Float64Array},Tl={A:Fl,B:wl,C:Zl,D:gh,a:Rr,b:hn,c:JA,d:_h,e:xh,f:Zh,g:Fh,h:ss,i:os,j:kh,k:Th,l:nl,m:sl,n:al,o:ul,p:ml,q:pl,r:dl,s:yl,t:Ml,u:gl,v:ds,w:Fn,x:_l,y:xr,z:Rl},c0=function(M,g,k){var u=new M.Int8Array(k),B=new M.Int16Array(k),r=new M.Int32Array(k),Z=new M.Uint8Array(k),I=new M.Uint16Array(k),H=new M.Float32Array(k),D=new M.Float64Array(k),z=g.D|0,v0=0,R0=0,m0=0,T0=0,H0=0,Zt=0,wr=0,hi=0,u0=M.Math.imul,Lt=M.Math.clz32,K0=g.a,Z0=g.b,y0=g.c,F0=g.d,Sl=g.e,k0=g.f,Cl=g.g,iR=g.h,nR=g.i,sR=g.j,Il=g.k,xs=g.l,ws=g.m,br=g.n,Ol=g.o,Zs=g.p,Qt=g.q,mt=g.r,Fs=g.s,Wn=g.t,Jl=g.u,oR=g.v,fR=g.w,Pl=g.x,aR=g.y,jl=g.z,Yl=g.A,Dl=g.B,ks=g.C,v=22384,AR=5265264,hR=0;function Hl(){V5(),W5()}function Ll(){Ql(0)}function Ql(t){t=t|0;var e=0,i=0,n=0,o=0,a=0,A=0,l=0,c=0,d=0,x=0,w=0;t=v,v=v+16|0,e=t+8|0,i=t,w=Av()|0,a=hv()|0,o=ze()|0,A=uv()|0,l=cv()|0,c=qo()|0,d=ki()|0,x=Ni()|0,n=Ni()|0,xs(o|0,A|0,l|0,c|0,d|0,9,x|0,w|0,n|0,a|0,6204,$o()|0,138),gv(1),r[i>>2]=5,r[i+4>>2]=0,r[e>>2]=r[i>>2],r[e+4>>2]=r[i+4>>2],kv(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],Uv(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],Cv(6225,e),a=Lv()|0,n=Qv()|0,w=Be()|0,x=$v()|0,d=Kv()|0,c=qo()|0,l=ki()|0,A=Ni()|0,o=Ni()|0,xs(w|0,x|0,d|0,c|0,l|0,11,A|0,a|0,o|0,n|0,6234,$o()|0,139),s5(2),r[i>>2]=6,r[i+4>>2]=0,r[e>>2]=r[i>>2],r[e+4>>2]=r[i+4>>2],u5(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],e2(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],e2(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],e2(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],x5(6216,e),v=t}function ql(t,e,i){t=t|0,e=e|0,i=i|0;var n=0,o=0,a=0,A=0,l=0;n=v,v=v+32|0,A=n+16|0,o=n+8|0,l=n,a=b(20)|0,n1(a,e,i),r[l>>2]=0,r[A>>2]=r[l>>2],o1(o,a,A),e=r[o>>2]|0,r[o>>2]=r[t>>2],r[t>>2]=e,e=o+4|0,i=t+4|0,a=r[e>>2]|0,r[e>>2]=r[i>>2],r[i>>2]=a,Tn(o),i=b(352)|0,s1(i,r[t>>2]|0),a=t+8|0,r[l>>2]=0,r[A>>2]=r[l>>2],c1(o,i,A),i=r[o>>2]|0,r[o>>2]=r[a>>2],r[a>>2]=i,a=o+4|0,i=t+12|0,e=r[a>>2]|0,r[a>>2]=r[i>>2],r[i>>2]=e,Xn(o),v=n}function $l(t,e){t=t|0,e=e|0,ju(r[t+8>>2]|0,e)}function Kl(t){return t=t|0,t=(Lm(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 bl(t,e,i){t=t|0,e=e|0,i=i|0;var n=0,o=0,a=0,A=0,l=0;n=v,v=v+32|0,a=n+16|0,o=n+8|0,A=n,l=b(12)|0,Qm(l,e,i),r[A>>2]=0,r[a>>2]=r[A>>2],Km(o,l,a),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,Qn(o),i=t+8|0,e=b(12)|0,qm(e,r[t>>2]|0),r[A>>2]=0,r[a>>2]=r[A>>2],n3(o,e,a),e=r[o>>2]|0,r[o>>2]=r[i>>2],r[i>>2]=e,e=o+4|0,A=t+12|0,l=r[e>>2]|0,r[e>>2]=r[A>>2],r[A>>2]=l,Oo(o),$m(o,r[i>>2]|0),i=t+16|0,A=r[o>>2]|0,l=o+4|0,e=r[l>>2]|0,r[o>>2]=0,r[l>>2]=0,r[a>>2]=r[i>>2],r[i>>2]=A,i=t+20|0,r[a+4>>2]=r[i>>2],r[i>>2]=e,Ee(a),Ee(o),v=n}function t1(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:{qn(i);break t}case 8:{Zi(i),Zi(r[t>>2]|0);break t}default:break t}while(0)}function r1(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:{K3(t);break t}case 2:{b3(t);break t}case 8:{qn(t),t=r[i>>2]|0;break}case 4:break;default:break t}qn(t)}while(0)}function e1(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:{X8(t);break t}case 2:{U8(t);break t}case 8:{Zi(t),t=r[i>>2]|0;break}case 4:break;default:break t}Zi(t)}while(0)}function i1(t,e){t=t|0,e=e|0,t=r[t+16>>2]|0,t|0&&Oe[r[r[t>>2]>>2]&63](t,e)|0}function n1(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 s1(t,e){t=t|0,e=e|0,r[t>>2]=e,Ws(t+4|0,e),x1(t+247|0),r[t+288>>2]=0,r[t+292>>2]=0,r[t+296>>2]=0,Ts(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,w1(t+328|0),Z1(t)}function o1(t,e,i){t=t|0,e=e|0,i=i|0;var n=0,o=0;i=v,v=v+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,f1(t,n),v=i}function Tn(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)&&(w0[r[(r[t>>2]|0)+8>>2]&255](t),qt(t))}function f1(t,e){t=t|0,e=e|0}function lR(t){t=t|0,Sl(t|0)|0,td()}function a1(t){t=t|0,C0(t),$(t)}function A1(t){t=t|0,t=r[t+12>>2]|0,t|0&&$(t)}function h1(t,e){return t=t|0,e=e|0,((r[e+4>>2]|0)==6407?t+12|0:0)|0}function l1(t){t=t|0,A0(t,16)}function A0(t,e){t=t|0,e=e|0,u1(t)}function u1(t){t=t|0,$(t)}function c1(t,e,i){t=t|0,e=e|0,i=i|0;var n=0,o=0;i=v,v=v+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,m1(t,n),v=i}function Xn(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)&&(w0[r[(r[t>>2]|0)+8>>2]&255](t),qt(t))}function m1(t,e){t=t|0,e=e|0}function v1(t){t=t|0,C0(t),$(t)}function p1(t){t=t|0,t=r[t+12>>2]|0,t|0&&(M1(t),$(t))}function d1(t,e){return t=t|0,e=e|0,((r[e+4>>2]|0)==6605?t+12|0:0)|0}function y1(t){t=t|0,A0(t,16)}function M1(t){t=t|0,li(t+320|0),Un(t+312|0),Ns(t+300|0),R1(t+288|0),g1(t+247|0),Vs(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)&&(w0[r[(r[t>>2]|0)+8>>2]&255](t),qt(t))}function Un(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)&&(w0[r[(r[t>>2]|0)+8>>2]&255](t),qt(t))}function Ns(t){t=t|0,_1(t)}function g1(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&&Nf(t)}function Vs(t){t=t|0,ui(r[t+12>>2]|0)}function _1(t){t=t|0;var e=0,i=0;e=r[t>>2]|0,i=e,e|0&&(r[t+4>>2]=i,A0(e,(r[t+8>>2]|0)-i|0))}function R1(t){t=t|0;var e=0,i=0;e=r[t>>2]|0,i=e,e|0&&(r[t+4>>2]=i,A0(e,(r[t+8>>2]|0)-i|0))}function ui(t){t=t|0,h2(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 x1(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 Ts(t){t=t|0,r[t>>2]=0,r[t+4>>2]=0,r[t+8>>2]=0}function w1(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 Z1(t){t=t|0;var e=0,i=0,n=0,o=0,a=0,A=0;if(A=v,v=v+64|0,o=A+32|0,i=A+56|0,e=A+16|0,a=A,Fr(r[t>>2]|0,i,4),E1(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=(Ld(o,0,-1,6693,i)|0)==0,Ie(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),k1(t,i),n=N1()|0,e=r[n>>2]|0,n=r[n+4>>2]|0,(e|0)!=(n|0))do V1(o,e),W1(o,i),Gn(o),e=e+24|0;while((e|0)!=(n|0));T1(t),X1(t),U1(r[t>>2]|0),n=r[t>>2]|0,e=(r[t+116>>2]|0)+8|0,i=a,r[i>>2]=0,r[i+4>>2]=0,i=a+8|0,r[i>>2]=e,r[i+4>>2]=0,r[o>>2]=r[a>>2],r[o+4>>2]=r[a+4>>2],r[o+8>>2]=r[a+8>>2],r[o+12>>2]=r[a+12>>2],Ze(n,o),G1(t+4|0),v=A;return}}else Ie(o);A=F0(8)|0,F1(A),k0(A|0,2592,8)}function Zr(t){t=t|0;var e=0;return e=Ui(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,a=0,A=0,l=0,c=0;A=t+13|0,u[A>>0]|0?u[t+12>>0]=1:(a=t+4|0,n=r[a>>2]|0,l=t+8|0,o=r[l>>2]|0,c=n-o|0,i=(c|0)<(i|0)?c:i,i&&(Mt(e|0,(r[t>>2]|0)+o|0,i|0)|0,o=r[l>>2]|0,n=r[a>>2]|0),c=o+i|0,r[l>>2]=c,r[t+16>>2]=i,(c|0)>=(n|0)&&(u[A>>0]=1))}function F1(t){t=t|0,Ft(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 k1(t,e){t=t|0,e=e|0;var i=0,n=0,o=0,a=0,A=0,l=0,c=0,d=0,x=0,w=0;x=e+179|0,u[z>>0]=u[x>>0],u[z+1>>0]=u[x+1>>0],u[z+2>>0]=u[x+2>>0],u[z+3>>0]=u[x+3>>0],u[z+4>>0]=u[x+4>>0],u[z+5>>0]=u[x+5>>0],u[z+6>>0]=u[x+6>>0],u[z+7>>0]=u[x+7>>0],d=+D[z>>3],A=e+187|0,u[z>>0]=u[A>>0],u[z+1>>0]=u[A+1>>0],u[z+2>>0]=u[A+2>>0],u[z+3>>0]=u[A+3>>0],u[z+4>>0]=u[A+4>>0],u[z+5>>0]=u[A+5>>0],u[z+6>>0]=u[A+6>>0],u[z+7>>0]=u[A+7>>0],w=+D[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],a=+D[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=+D[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=+D[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=+D[z>>3],D[z>>3]=w,u[x>>0]=u[z>>0],u[x+1>>0]=u[z+1>>0],u[x+2>>0]=u[z+2>>0],u[x+3>>0]=u[z+3>>0],u[x+4>>0]=u[z+4>>0],u[x+5>>0]=u[z+5>>0],u[x+6>>0]=u[z+6>>0],u[x+7>>0]=u[z+7>>0],D[z>>3]=d,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],D[z>>3]=l,u[A>>0]=u[z>>0],u[A+1>>0]=u[z+1>>0],u[A+2>>0]=u[z+2>>0],u[A+3>>0]=u[z+3>>0],u[A+4>>0]=u[z+4>>0],u[A+5>>0]=u[z+5>>0],u[A+6>>0]=u[z+6>>0],u[A+7>>0]=u[z+7>>0],D[z>>3]=a,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],D[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],D[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 N1(){var t=0,e=0,i=0,n=0,o=0,a=0,A=0,l=0;if(o=v,v=v+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,Er(21440)),!(u[21448]|0)&&Gr(21448)|0&&Er(21448),(r[5374]|0)==(r[5375]|0)){if(Id(21508),(r[5374]|0)==(r[5375]|0)){u[i>>0]=u[t>>0]|0,B1(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=P1(21496)|0,e>>>0<t>>>0)Q0(21496);else{a=r[5374]|0,l=((r[5376]|0)-a|0)/24|0,A=l<<1,I1(i,l>>>0<e>>>1>>>0?A>>>0<t>>>0?t:A:e,((r[5375]|0)-a|0)/24|0,21504),e=i+8|0,En(r[e>>2]|0,n),r[e>>2]=(r[e>>2]|0)+24,O1(21496,i),J1(i);break}else S1(i,21496,1),l=i+4|0,En(r[l>>2]|0,n),r[l>>2]=(r[l>>2]|0)+24,C1(i);while(0);Gn(n)}Od(21508)}return v=o,21496}function V1(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=Xs(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]=Ei[r[(r[n>>2]|0)+8>>2]&15](n)|0;break}else r[t+16>>2]=0;while(0)}function W1(t,e){if(t=t|0,e=e|0,t=r[t+16>>2]|0,!t)e=F0(4)|0,r[e>>2]=0,su(e),k0(e|0,4168,131);else{vr[r[(r[t>>2]|0)+24>>2]&15](t,e);return}}function Gn(t){t=t|0;var e=0;e=r[t+16>>2]|0,(t|0)!=(e|0)?e|0&&w0[r[(r[e>>2]|0)+20>>2]&255](e):w0[r[(r[e>>2]|0)+16>>2]&255](e)}function T1(t){t=t|0;var e=0,i=0,n=0,o=0,a=0,A=0,l=0,c=0,d=0,x=0,w=0,N=0;N=v,v=v+96|0,o=N+16|0,x=N,l=N+72|0,a=r[t>>2]|0,c=I[t+114>>1]|0,d=x,r[d>>2]=0,r[d+4>>2]=0,d=x+8|0,r[d>>2]=c,r[d+4>>2]=0,r[o>>2]=r[x>>2],r[o+4>>2]=r[x+4>>2],r[o+8>>2]=r[x+8>>2],r[o+12>>2]=r[x+12>>2],Ze(a,o),a=t+120|0;t:do if(r[a>>2]|0){for(A=o+2|0,c=o+16|0,d=o+20|0,x=o+18|0,i=0;;){if(!(ci(r[t>>2]|0)|0)||ou(r[t>>2]|0)|0)break t;for(Fr(r[t>>2]|0,o,54),e=7277,n=A;(u[n>>0]|0)==(u[e>>0]|0);)if(n=n+1|0,(n|0)==(c|0)){w=8;break}else e=e+1|0;if((w|0)==8&&(w=0,(Z[x>>0]|Z[x+1>>0]<<8)<<16>>16==22204))break;if(au(r[t>>2]|0,(Z[d>>0]|Z[d+1>>0]<<8)&65535,0,1),i=i+1|0,i>>>0>=(r[a>>2]|0)>>>0)break t}x=(Z[d>>0]|Z[d+1>>0]<<8)&65535,w=kf(x)|0,Fr(r[t>>2]|0,w,x),fu(t,w),$(w),w=t+125|0,hu(l,t+247|0,(Z[w>>0]|Z[w+1>>0]<<8)&65535),lu(t+300|0,l)|0,Ns(l),v=N;return}while(0);N=F0(8)|0,Au(N),k0(N|0,2672,8)}function X1(t){t=t|0;var e=0,i=0,n=0,o=0,a=0,A=0,l=0,c=0,d=0,x=0,w=0,N=0;if(w=v,v=v+176|0,o=w+40|0,a=w+24|0,e=w+16|0,n=w,c=w+152|0,d=w+136|0,x=w+56|0,l=r[t>>2]|0,A=t+116|0,N=r[A>>2]|0,i=a,r[i>>2]=0,r[i+4>>2]=0,i=a+8|0,r[i>>2]=N,r[i+4>>2]=0,r[o>>2]=r[a>>2],r[o+4>>2]=r[a+4>>2],r[o+8>>2]=r[a+8>>2],r[o+12>>2]=r[a+12>>2],Ze(l,o),l=e,r[l>>2]=0,r[l+4>>2]=0,Fr(r[t>>2]|0,e,8),ci(r[t>>2]|0)|0||(N=F0(8)|0,zn(N),k0(N|0,2704,8)),i=e,e=r[i>>2]|0,i=r[i+4>>2]|0,(e|0)==-1&(i|0)==-1&&(N=F0(8)|0,Es(N,7488),k0(N|0,2720,8)),N=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(N,o),ci(r[t>>2]|0)|0||(N=F0(8)|0,zn(N),k0(N|0,2704,8)),Fr(r[t>>2]|0,o,8),ci(r[t>>2]|0)|0||(N=F0(8)|0,zn(N),k0(N|0,2704,8)),r[o>>2]|0&&(N=F0(8)|0,xu(N),k0(N|0,2736,8)),a=t+288|0,l=t+292|0,r[l>>2]=r[a>>2],N=t+259|0,(Z[N>>0]|Z[N+1>>0]<<8|Z[N+2>>0]<<16|Z[N+3>>0]<<24|0)==-1&&(N=F0(8)|0,Es(N,7606),k0(N|0,2720,8)),n=o+4|0,wu(a,(r[n>>2]|0)+1|0),N=r[a>>2]|0,r[N>>2]=(r[A>>2]|0)+8,r[N+4>>2]=0,(r[n>>2]|0)>>>0>1){if(Ws(c,r[t>>2]|0),zs(d,c),st(x,32,2,8,0),Bn(d),ot(x),!(r[n>>2]|0))a=r[a>>2]|0,i=a;else{i=1;do i>>>0>1?e=r[(r[a>>2]|0)+(i+-1<<3)>>2]|0:e=0,A=L0(x,d,e,1)|0,e=r[a>>2]|0,N=e+(i<<3)|0,r[N>>2]=A,r[N+4>>2]=((A|0)<0)<<31>>31,i=i+1|0;while(i>>>0<=(r[n>>2]|0)>>>0);i=e,a=e}if(e=r[l>>2]|0,e-i>>3>>>0>1){o=e-a>>3,n=a,e=1,i=r[n>>2]|0,n=r[n+4>>2]|0;do N=a+(e<<3)|0,l=N,i=yt(r[l>>2]|0,r[l+4>>2]|0,i|0,n|0)|0,n=y0()|0,r[N>>2]=i,r[N+4>>2]=n,e=e+1|0;while(e>>>0<o>>>0)}ft(x),Bs(d),Vs(c)}v=w}function U1(t){t=t|0,u[t+12>>0]=0,u[t+13>>0]=0}function G1(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 E1(t,e,i){t=t|0,e=e|0,i=i|0;var n=0,o=0,a=0,A=0,l=0,c=0;if(A=v,v=v+16|0,o=e,a=A,n=i-o|0,n>>>0>4294967279&&A2(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[a>>0]=0,Fe(t,a),v=A}function Fe(t,e){t=t|0,e=e|0,u[t>>0]=u[e>>0]|0}function z1(t){t=t|0,At(t),$(t)}function B1(t,e){t=t|0,e=e|0,r[t>>2]=4372,r[t+16>>2]=t}function S1(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 C1(t){t=t|0,r[(r[t>>2]|0)+4>>2]=r[t+4>>2]}function En(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=Xs(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 Xs(t){return t=t|0,t|0}function I1(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 O1(t,e){t=t|0,e=e|0;var i=0,n=0,o=0,a=0,A=0,l=0,c=0;if(l=r[t>>2]|0,c=t+4|0,i=r[c>>2]|0,A=e+4|0,(i|0)==(l|0))o=A,a=t,n=r[A>>2]|0,i=l;else{n=r[A>>2]|0;do i=i+-24|0,En(n+-24|0,i),n=(r[A>>2]|0)+-24|0,r[A>>2]=n;while((i|0)!=(l|0));o=A,a=t,i=r[t>>2]|0}r[a>>2]=n,r[o>>2]=i,l=e+8|0,A=r[c>>2]|0,r[c>>2]=r[l>>2],r[l>>2]=A,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 J1(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,Gn(o),e=r[n>>2]|0;while((e|0)!=(i|0));e=r[t>>2]|0,e|0&&A0(e,(r[t+12>>2]|0)-e|0)}function P1(t){return t=t|0,178956970}function j1(t){t=t|0,$(t)}function Y1(t){return t=t|0,t=b(8)|0,r[t>>2]=4372,t|0}function D1(t,e){t=t|0,e=e|0,r[e>>2]=4372}function H1(t){t=t|0}function L1(t){t=t|0,A0(t,8)}function Q1(t,e){t=t|0,e=e|0,b1(t+4|0,e)}function q1(t,e){return t=t|0,e=e|0,((r[e+4>>2]|0)==7183?t+4|0:0)|0}function $1(t){return t=t|0,2664}function K1(t){t=t|0}function b1(t,e){t=t|0,e=e|0,tu(t,e)}function tu(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,ru(n),k0(n|0,2632,8)),(i|0)==(n|0))n=F0(8)|0,eu(n),k0(n|0,2648,8);else{u[t>>0]=e&63;return}}function ru(t){t=t|0,Ft(t,7076),r[t>>2]=4416}function eu(t){t=t|0,Ft(t,7144),r[t>>2]=4436}function iu(t){t=t|0,At(t),$(t)}function nu(t){t=t|0,At(t),$(t)}function su(t){t=t|0,r[t>>2]=6092}function ci(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 ou(t){return t=t|0,(u[t+13>>0]|0)!=0|0}function fu(t,e){t=t|0,e=e|0,t=t+247|0,uu(t,e),(Z[t>>0]|Z[t+1>>0]<<8)<<16>>16!=2&&(e=F0(8)|0,Us(e),k0(e|0,2688,8))}function au(t,e,i,n){t=t|0,e=e|0,i=i|0,n=n|0;var o=0,a=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,a=((o|0)<0)<<31>>31,n=t+12|0,(i|0)<0|((i|0)>(a|0)|(i|0)==(a|0)&e>>>0>=o>>>0)?u[n>>0]=1:(u[n>>0]=0,r[t+8>>2]=e)}function Au(t){t=t|0,Ft(t,7410),r[t>>2]=4476}function hu(t,e,i){t=t|0,e=e|0,i=i|0;var n=0,o=0,a=0,A=0,l=0,c=0,d=0;if(A=v,v=v+16|0,a=A,Ts(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,d=c+(e*6|0)|0,l=c+(e*6|0)+2|0,c=c+(e*6|0)+4|0,ke(a,(Z[d>>0]|Z[d+1>>0]<<8)&65535,(Z[l>>0]|Z[l+1>>0]<<8)&65535,(Z[c>>0]|Z[c+1>>0]<<8)&65535),Gs(t,a),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&&(d=F0(8)|0,Us(d),k0(d|0,2688,8)),i|0&&(ke(a,0,i,2),Gs(t,a)),v=A}function lu(t,e){t=t|0,e=e|0;var i=0,n=0;return i=v,v=v+16|0,n=i+1|0,u[n>>0]=u[i>>0]|0,_u(t,e,n),v=i,t|0}function uu(t,e){t=t|0,e=e|0;var i=0,n=0,o=0,a=0,A=0,l=0,c=0;if(n=e+2|0,a=Z[e>>0]|Z[e+1>>0]<<8,u[t>>0]=a,u[t+1>>0]=a>>8,a=t+2|0,n=Z[n>>0]|Z[n+1>>0]<<8,u[a>>0]=n,u[a+1>>0]=n>>8,u[t+4>>0]=u[e+4>>0]|0,a=e+6|0,u[t+5>>0]=u[e+5>>0]|0,n=e+8|0,i=t+6|0,a=Z[a>>0]|Z[a+1>>0]<<8,u[i>>0]=a,u[i+1>>0]=a>>8,i=e+12|0,a=t+8|0,n=Z[n>>0]|Z[n+1>>0]<<8|Z[n+2>>0]<<16|Z[n+3>>0]<<24,u[a>>0]=n,u[a+1>>0]=n>>8,u[a+2>>0]=n>>16,u[a+3>>0]=n>>24,a=t+12|0,i=Z[i>>0]|Z[i+1>>0]<<8|Z[i+2>>0]<<16|Z[i+3>>0]<<24,u[a>>0]=i,u[a+1>>0]=i>>8,u[a+2>>0]=i>>16,u[a+3>>0]=i>>24,a=e+16|0,i=a,i=Z[i>>0]|Z[i+1>>0]<<8|Z[i+2>>0]<<16|Z[i+3>>0]<<24,a=a+4|0,a=Z[a>>0]|Z[a+1>>0]<<8|Z[a+2>>0]<<16|Z[a+3>>0]<<24,n=t+16|0,A=n,u[A>>0]=i,u[A+1>>0]=i>>8,u[A+2>>0]=i>>16,u[A+3>>0]=i>>24,n=n+4|0,u[n>>0]=a,u[n+1>>0]=a>>8,u[n+2>>0]=a>>16,u[n+3>>0]=a>>24,n=e+32|0,a=e+24|0,A=a,A=Z[A>>0]|Z[A+1>>0]<<8|Z[A+2>>0]<<16|Z[A+3>>0]<<24,a=a+4|0,a=Z[a>>0]|Z[a+1>>0]<<8|Z[a+2>>0]<<16|Z[a+3>>0]<<24,i=t+24|0,o=i,u[o>>0]=A,u[o+1>>0]=A>>8,u[o+2>>0]=A>>16,u[o+3>>0]=A>>24,i=i+4|0,u[i>>0]=a,u[i+1>>0]=a>>8,u[i+2>>0]=a>>16,u[i+3>>0]=a>>24,i=e+34|0,a=t+32|0,n=Z[n>>0]|Z[n+1>>0]<<8,u[a>>0]=n,u[a+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?(Nf(t),t=Z[a>>0]|Z[a+1>>0]<<8):t=n,n=kf((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,A=Z[i>>0]|Z[i+1>>0]<<8,u[n>>0]=A,u[n+1>>0]=A>>8,e=e+38|0,A=n+2|0,t=Z[t>>0]|Z[t+1>>0]<<8,u[A>>0]=t,u[A+1>>0]=t>>8,A=n+4|0,e=Z[e>>0]|Z[e+1>>0]<<8,u[A>>0]=e,u[A+1>>0]=e>>8,((Z[a>>0]|Z[a+1>>0]<<8)&65535)>1)){t=1;do e=i,i=i+6|0,A=Z[o>>0]|Z[o+1>>0]<<8|Z[o+2>>0]<<16|Z[o+3>>0]<<24,l=e+8|0,n=A+(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=A+(t*6|0)+2|0,l=Z[l>>0]|Z[l+1>>0]<<8,u[n>>0]=l,u[n+1>>0]=l>>8,A=A+(t*6|0)+4|0,e=Z[e>>0]|Z[e+1>>0]<<8,u[A>>0]=e,u[A+1>>0]=e>>8,t=t+1|0;while(t>>>0<((Z[a>>0]|Z[a+1>>0]<<8)&65535)>>>0)}}function Us(t){t=t|0,Ft(t,7354),r[t>>2]=4456}function cu(t){t=t|0,At(t),$(t)}function mu(t){t=t|0,At(t),$(t)}function Gs(t,e){t=t|0,e=e|0;var i=0,n=0,o=0,a=0,A=0,l=0,c=0,d=0;l=v,v=v+32|0,o=l,a=t+4|0,i=r[a>>2]|0,A=t+8|0;do if((i|0)==(r[A>>2]|0))if(i=((i-(r[t>>2]|0)|0)/12|0)+1|0,n=gu(t)|0,n>>>0<i>>>0)Q0(t);else{c=r[t>>2]|0,d=((r[A>>2]|0)-c|0)/12|0,A=d<<1,du(o,d>>>0<n>>>1>>>0?A>>>0<i>>>0?i:A:n,((r[a>>2]|0)-c|0)/12|0,t+8|0),A=o+8|0,a=r[A>>2]|0,r[a>>2]=r[e>>2],r[a+4>>2]=r[e+4>>2],r[a+8>>2]=r[e+8>>2],r[A>>2]=(r[A>>2]|0)+12,yu(t,o),Mu(o);break}else vu(o,t,1),d=o+4|0,c=r[d>>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[d>>2]=(r[d>>2]|0)+12,pu(o);while(0);v=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 vu(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 pu(t){t=t|0,r[(r[t>>2]|0)+4>>2]=r[t+4>>2]}function du(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 yu(t,e){t=t|0,e=e|0;var i=0,n=0,o=0,a=0,A=0;n=r[t>>2]|0,A=t+4|0,a=e+4|0,o=(r[A>>2]|0)-n|0,i=(r[a>>2]|0)+(((o|0)/-12|0)*12|0)|0,r[a>>2]=i,(o|0)>0?(ht(i|0,n|0,o|0)|0,n=a,i=r[a>>2]|0):n=a,a=r[t>>2]|0,r[t>>2]=i,r[n>>2]=a,a=e+8|0,o=r[A>>2]|0,r[A>>2]=r[a>>2],r[a>>2]=o,a=t+8|0,A=e+12|0,t=r[a>>2]|0,r[a>>2]=r[A>>2],r[A>>2]=t,r[e>>2]=r[n>>2]}function Mu(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&&A0(e,(r[t+12>>2]|0)-e|0)}function gu(t){return t=t|0,357913941}function _u(t,e,i){t=t|0,e=e|0,i=i|0;var n=0;Ru(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 Ru(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,A0(e,(r[o>>2]|0)-i|0),r[o>>2]=0,r[n>>2]=0,r[t>>2]=0)}function zn(t){t=t|0,Ft(t,7660),r[t>>2]=4496}function Es(t,e){t=t|0,e=e|0,Ft(t,e),r[t>>2]=4516}function xu(t){t=t|0,Ft(t,7704),r[t>>2]=4536}function wu(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)):Nu(t,e-n|0)}function zs(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 a=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,Ss(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,a=0;i=i>>>1,e=a+1|0,i;)a=e;r[n>>2]=(1<<a|0)==(o|0)?a: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 Bn(t){t=t|0;var e=0;e=((Ne(r[t>>2]|0)|0)&255)<<24,e=((Ne(r[t>>2]|0)|0)&255)<<16|e,e=e|((Ne(r[t>>2]|0)|0)&255)<<8,r[t+4>>2]=e|(Ne(r[t>>2]|0)|0)&255}function ot(t){t=t|0;var e=0,i=0,n=0,o=0,a=0,A=0,l=0,c=0,d=0,x=0,w=0,N=0,G=0,E=0,U=0,e0=0,Y=0,J=0;U=v,v=v+64|0,G=U+44|0,E=U,d=t+36|0,x=t+40|0;t:do if((r[d>>2]|0)==(r[x>>2]|0)){w=t+8|0;r:do if(!(r[w>>2]|0))N=t+20|0;else{for(o=t+20|0,a=t+44|0,A=G+4|0,l=t+44|0,c=G+8|0,n=0;;){if(j0(E,(r[o>>2]|0)+1|0,0,0),e=r[x>>2]|0,e>>>0<(r[a>>2]|0)>>>0)Is(G,d,1),vi(r[A>>2]|0,E),r[A>>2]=(r[A>>2]|0)+44,Os(G);else{if(e=((e-(r[d>>2]|0)|0)/44|0)+1|0,i=Ys(d)|0,i>>>0<e>>>0)break;e0=r[d>>2]|0,J=((r[a>>2]|0)-e0|0)/44|0,Y=J<<1,Js(G,J>>>0<i>>>1>>>0?Y>>>0<e>>>0?e:Y:i,((r[x>>2]|0)-e0|0)/44|0,l),vi(r[c>>2]|0,E),r[c>>2]=(r[c>>2]|0)+44,Ps(d,G),js(G)}if(G0(E),n=n+1|0,n>>>0>=(r[w>>2]|0)>>>0){N=o;break r}}Q0(d)}while(0);if(r[N>>2]|0){for(A=t+12|0,l=t+68|0,c=t+72|0,d=t+76|0,x=G+4|0,o=t+76|0,a=G+8|0,n=1;;){if(e=r[A>>2]|0,j0(E,1<<(n>>>0>e>>>0?e:n),0,0),e=r[c>>2]|0,e>>>0<(r[d>>2]|0)>>>0)Is(G,l,1),vi(r[x>>2]|0,E),r[x>>2]=(r[x>>2]|0)+44,Os(G);else{if(e=((e-(r[l>>2]|0)|0)/44|0)+1|0,i=Ys(l)|0,i>>>0<e>>>0)break;J=r[l>>2]|0,e0=((r[d>>2]|0)-J|0)/44|0,Y=e0<<1,Js(G,e0>>>0<i>>>1>>>0?Y>>>0<e>>>0?e:Y:i,((r[c>>2]|0)-J|0)/44|0,o),vi(r[a>>2]|0,E),r[a>>2]=(r[a>>2]|0)+44,Ps(l,G),js(G)}if(G0(E),n=n+1|0,n>>>0>(r[N>>2]|0)>>>0)break t}Q0(l)}}while(0);v=U}function L0(t,e,i,n){return t=t|0,e=e|0,i=i|0,n=n|0,i=(Ju(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,mi(t+68|0),mi(t+36|0)}function Bs(t){t=t|0}function Zu(t){t=t|0,At(t),$(t)}function Fu(t){t=t|0,At(t),$(t)}function ku(t){t=t|0,At(t),$(t)}function Nu(t,e){t=t|0,e=e|0;var i=0,n=0,o=0,a=0,A=0,l=0,c=0,d=0;l=v,v=v+32|0,o=l,a=t+8|0,A=t+4|0,i=r[A>>2]|0;do if((r[a>>2]|0)-i>>3>>>0<e>>>0)if(i=(i-(r[t>>2]|0)>>3)+e|0,n=zu(t)|0,n>>>0<i>>>0)Q0(t);else{c=r[t>>2]|0,d=(r[a>>2]|0)-c|0,a=d>>2,Wu(o,d>>3>>>0<n>>>1>>>0?a>>>0<i>>>0?i:a:n,(r[A>>2]|0)-c>>3,t+8|0),Tu(o,e),Xu(t,o),Uu(o);break}else Vu(t,e);while(0);v=l}function Vu(t,e){t=t|0,e=e|0;var i=0,n=0,o=0;o=v,v=v+16|0,n=o,Gu(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)),Eu(n),v=o}function Wu(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 Tu(t,e){t=t|0,e=e|0;var i=0,n=0;n=v,v=v+16|0,i=n,Bu(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)),Su(i),v=n}function Xu(t,e){t=t|0,e=e|0;var i=0,n=0,o=0,a=0,A=0;n=r[t>>2]|0,A=t+4|0,a=e+4|0,o=(r[A>>2]|0)-n|0,i=(r[a>>2]|0)+(0-(o>>3)<<3)|0,r[a>>2]=i,(o|0)>0?(ht(i|0,n|0,o|0)|0,n=a,i=r[a>>2]|0):n=a,a=r[t>>2]|0,r[t>>2]=i,r[n>>2]=a,a=e+8|0,o=r[A>>2]|0,r[A>>2]=r[a>>2],r[a>>2]=o,a=t+8|0,A=e+12|0,t=r[a>>2]|0,r[a>>2]=r[A>>2],r[A>>2]=t,r[e>>2]=r[n>>2]}function Uu(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&&A0(e,(r[t+12>>2]|0)-e|0)}function Gu(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 Eu(t){t=t|0,r[(r[t>>2]|0)+4>>2]=r[t+4>>2]}function zu(t){return t=t|0,536870911}function Bu(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 Su(t){t=t|0,r[r[t+8>>2]>>2]=r[t>>2]}function Ss(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 mi(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,A0(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 Ne(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)&&(Cs(t),e=r[i>>2]|0),t=r[t+12>>2]|0,r[i>>2]=e+1,u[t+e>>0]|0}function Cs(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=Cu(r[t>>2]|0)|0,r[t+8>>2]=e,!e)e=F0(8)|0,Iu(e),k0(e|0,2752,8);else return}function Cu(t){return t=t|0,r[t+16>>2]|0}function Iu(t){t=t|0,Ft(t,7769),r[t>>2]=4556}function Ou(t){t=t|0,At(t),$(t)}function j0(t,e,i,n){t=t|0,e=e|0,i=i|0,n=n|0;var o=0,a=0,A=0;if(r[t>>2]=e,u[t+4>>0]=i&1,a=t+8|0,r[a>>2]=0,A=t+12|0,r[A>>2]=0,o=t+16|0,r[o>>2]=0,(e+-2|0)>>>0>2046&&(t=F0(8)|0,Ft(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[a>>2]=Zr(e<<2)|0,o=Zr(r[t>>2]<<2)|0,r[A>>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)}Cn(t),n=((r[t>>2]|0)+6|0)>>>1,r[i>>2]=n,r[t+28>>2]=n}function Is(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 Os(t){t=t|0,r[(r[t>>2]|0)+4>>2]=r[t+4>>2]}function vi(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 Js(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 Ps(t,e){t=t|0,e=e|0;var i=0,n=0,o=0,a=0,A=0,l=0,c=0;if(l=r[t>>2]|0,c=t+4|0,i=r[c>>2]|0,A=e+4|0,(i|0)==(l|0))o=A,a=t,n=r[A>>2]|0,i=l;else{n=r[A>>2]|0;do i=i+-44|0,Sn(n+-44|0,i),n=(r[A>>2]|0)+-44|0,r[A>>2]=n;while((i|0)!=(l|0));o=A,a=t,i=r[t>>2]|0}r[a>>2]=n,r[o>>2]=i,l=e+8|0,A=r[c>>2]|0,r[c>>2]=r[l>>2],r[l>>2]=A,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 js(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&&A0(e,(r[t+12>>2]|0)-e|0)}function Ys(t){return t=t|0,97612893}function Sn(t,e){t=t|0,e=e|0;var i=0,n=0,o=0,a=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],a=t+36|0,r[a>>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&&Mt(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&&Mt(i|0,r[e+12>>2]|0,n<<2|0)|0,i=r[a>>2]|0,i?(n=Zr((i<<2)+8|0)|0,r[t+16>>2]=n,i=(r[a>>2]<<2)+8|0,i|0&&Mt(n|0,r[e+16>>2]|0,i|0)|0):r[t+16>>2]=0}function Cn(t){t=t|0;var e=0,i=0,n=0,o=0,a=0,A=0,l=0,c=0,d=0,x=0,w=0,N=0,G=0,E=0;if(E=t+24|0,o=t+20|0,e=(r[o>>2]|0)+(r[E>>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 w=n+(i<<2)|0,e=((r[w>>2]|0)+1|0)>>>1,r[w>>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)}w=2147483648/(e>>>0)|0;do if(!(u[t+4>>0]|0)&&(N=t+36|0,(r[N>>2]|0)!=0)){if(r[t>>2]|0){l=r[t+8>>2]|0,c=r[t+12>>2]|0,d=t+40|0,x=t+16|0,e=0,a=0,A=0;do{if(i=(u0(a,w)|0)>>>16,r[l+(A<<2)>>2]=i,a=(r[c+(A<<2)>>2]|0)+a|0,i=i>>>(r[d>>2]|0),e>>>0<i>>>0){n=A+-1|0,o=r[x>>2]|0;do e=e+1|0,r[o+(e<<2)>>2]=n;while((e|0)!=(i|0));e=i}A=A+1|0}while(A>>>0<(r[t>>2]|0)>>>0);if(i=r[x>>2]|0,r[i>>2]=0,e>>>0>(r[N>>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[N>>2]|0)>>>0);e=t}else G=7;while(0);if((G|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]=(u0(i,w)|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}G=((r[E>>2]|0)*5|0)>>>2,N=(r[e>>2]<<3)+48|0,G=G>>>0>N>>>0?N:G,r[E>>2]=G,r[t+28>>2]=G}function Ju(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|(Ds(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=Pu(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,a=0,A=0,l=0,c=0,d=0,x=0,w=0,N=0,G=0;if(N=t+8|0,w=r[N>>2]|0,o=r[e+16>>2]|0,o){if(n=t+4|0,i=r[n>>2]|0,x=w>>>15,r[N>>2]=x,c=(i>>>0)/(x>>>0)|0,l=c>>>(r[e+40>>2]|0),a=r[o+(l<<2)>>2]|0,l=(r[o+(l+1<<2)>>2]|0)+1|0,A=a+1|0,d=r[e+8>>2]|0,l>>>0>A>>>0){o=a,a=l;do A=(a+o|0)>>>1,l=(r[d+(A<<2)>>2]|0)>>>0>c>>>0,o=l?o:A,a=l?A:a,A=o+1|0;while(a>>>0>A>>>0);a=o}o=u0(r[d+(a<<2)>>2]|0,x)|0,(a|0)==(r[e+32>>2]|0)?A=w:A=u0(r[d+(A<<2)>>2]|0,x)|0}else{d=w>>>15,r[N>>2]=d,l=r[e>>2]|0,x=r[e+8>>2]|0,n=t+4|0,i=r[n>>2]|0,c=l>>>1,o=0,A=w,a=0;do G=u0(r[x+(c<<2)>>2]|0,d)|0,w=G>>>0>i>>>0,A=w?G:A,o=w?o:G,a=w?a:c,l=w?c:l,c=(a+l|0)>>>1;while((c|0)!=(a|0))}return r[n>>2]=i-o,G=A-o|0,r[N>>2]=G,G>>>0<16777216&&pi(t),N=(r[e+12>>2]|0)+(a<<2)|0,r[N>>2]=(r[N>>2]|0)+1,N=e+28|0,G=(r[N>>2]|0)+-1|0,r[N>>2]=G,G||Cn(e),a|0}function Ds(t,e){t=t|0,e=e|0;var i=0,n=0,o=0,a=0;return e>>>0>19?(i=(In(t)|0)&65535,(Ds(t,e+-16|0)|0)<<16|i|0):(n=t+4|0,o=r[n>>2]|0,a=t+8|0,i=(r[a>>2]|0)>>>e,r[a>>2]=i,e=(o>>>0)/(i>>>0)|0,r[n>>2]=o-(u0(e,i)|0),i>>>0<16777216&&pi(t),e|0)}function Pu(t,e){t=t|0,e=e|0;var i=0,n=0,o=0,a=0,A=0,l=0;return n=t+8|0,o=r[n>>2]|0,i=u0(o>>>13,r[e+8>>2]|0)|0,a=t+4|0,A=r[a>>2]|0,l=A>>>0>=i>>>0,l?(r[a>>2]=A-i,i=o-i|0,r[n>>2]=i):(r[n>>2]=i,A=e+12|0,r[A>>2]=(r[A>>2]|0)+1),i>>>0<16777216&&pi(t),A=e+4|0,t=(r[A>>2]|0)+-1|0,r[A>>2]=t,t||Hs(e),l&1|0}function pi(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|(Ne(r[t>>2]|0)|0)&255,r[e>>2]=n,o=r[i>>2]<<8,r[i>>2]=o;while(o>>>0<16777216)}function In(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-(u0(e,n)|0),pi(t),e&65535|0}function Hs(t){t=t|0;var e=0,i=0,n=0,o=0,a=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,a=t+12|0,e=((r[a>>2]|0)+1|0)>>>1,r[a>>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]=(u0(e,2147483648/(i>>>0)|0)|0)>>>18,a=o*5|0,a=a>>>0>259?64:a>>>2,r[t>>2]=a,r[t+4>>2]=a}function ju(t,e){t=t|0,e=e|0;var i=0,n=0,o=0,a=0,A=0,l=0,c=0,d=0,x=0,w=0,N=0;x=v,v=v+32|0,a=x+16|0,A=x+8|0,l=x,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,d=5):(n=t+320|0,i=r[n>>2]|0,o=i,i|0&&r[t+312>>2]|0||(i=o,d=5)),(d|0)==5&&(d=t+320|0,r[a>>2]=i,r[d>>2]=0,i=t+324|0,r[a+4>>2]=r[i>>2],r[i>>2]=0,li(a),o=t+312|0,r[a>>2]=r[o>>2],r[o>>2]=0,w=t+316|0,r[a+4>>2]=r[w>>2],r[w>>2]=0,Un(a),N=b(12)|0,zs(N,t+4|0),r[l>>2]=0,r[a>>2]=r[l>>2],Du(A,N,a),N=r[A>>2]|0,r[A>>2]=r[o>>2],r[o>>2]=N,N=A+4|0,l=r[N>>2]|0,r[N>>2]=r[w>>2],r[w>>2]=l,Un(A),Yu(A,r[o>>2]|0,t+300|0),o=r[A>>2]|0,w=A+4|0,l=r[w>>2]|0,r[A>>2]=0,r[w>>2]=0,r[a>>2]=r[d>>2],r[d>>2]=o,r[a+4>>2]=r[i>>2],r[i>>2]=l,li(a),li(A),i=t+328|0,l=i,l=yt(r[l>>2]|0,r[l+4>>2]|0,1,0)|0,d=y0()|0,r[i>>2]=l,r[i+4>>2]=d,i=c,r[i>>2]=0,r[i+4>>2]=0,i=r[n>>2]|0),Oe[r[r[i>>2]>>2]&63](i,e)|0,d=c,d=yt(r[d>>2]|0,r[d+4>>2]|0,1,0)|0,w=y0()|0,N=c,r[N>>2]=d,r[N+4>>2]=w,v=x}function Yu(t,e,i){t=t|0,e=e|0,i=i|0;var n=0,o=0,a=0,A=0;A=v,v=v+64|0,n=A+56|0,o=A,a=Ku(i)|0,(a|0)==-1&&(A=F0(8)|0,bu(A),k0(A|0,2784,8)),i=Ls(i)|0;t:do if(i)tc(n,e),rc(r[n>>2]|0),(a|2|0)==3&&ec(r[n>>2]|0),(a|1|0)==3&&ic(r[n>>2]|0),a=r[n>>2]|0,sc(o,i),nc(a,o),Qs(o),r[t>>2]=r[n>>2],a=n+4|0,r[t+4>>2]=r[a>>2],r[n>>2]=0,r[a>>2]=0,oc(n);else switch(a|0){case 0:{a=b(4788)|0,ac(a),fc(t,e,a);break t}case 1:{a=b(5116)|0,hc(a),Ac(t,e,a);break t}case 2:{a=b(5104)|0,uc(a),lc(t,e,a);break t}case 3:{a=b(5432)|0,mc(a),cc(t,e,a);break t}default:{r[t>>2]=0,r[t+4>>2]=0;break t}}while(0);v=A}function Du(t,e,i){t=t|0,e=e|0,i=i|0;var n=0,o=0;i=v,v=v+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,Hu(t,n),v=i}function Hu(t,e){t=t|0,e=e|0}function Lu(t){t=t|0,C0(t),$(t)}function Qu(t){t=t|0,t=r[t+12>>2]|0,t|0&&(Bs(t),$(t))}function qu(t,e){return t=t|0,e=e|0,((r[e+4>>2]|0)==7983?t+12|0:0)|0}function $u(t){t=t|0,A0(t,16)}function Ku(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)+(((Ls(t)|0)!=0)<<31>>31)|0,(i|0)!=0)&&(e=r[t>>2]|0,!(vc(e,pc()|0)|0))){switch(i|0){case 1:{t=0;break t}case 2:{if(Ve((r[t>>2]|0)+12|0,qs()|0)|0){t=1;break t}if(Ve((r[t>>2]|0)+12|0,$s()|0)|0){t=2;break t}break}case 3:{if(Ve((r[t>>2]|0)+12|0,qs()|0)|0&&(i=(r[t>>2]|0)+24|0,Ve(i,$s()|0)|0)){t=3;break t}break}default:}t=-1}else t=-1;while(0);return t|0}function bu(t){t=t|0,Ft(t,8131),r[t>>2]=4604}function Ls(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 tc(t,e){t=t|0,e=e|0;var i=0,n=0,o=0,a=0;i=v,v=v+16|0,n=i+4|0,a=i,o=b(24)|0,yc(o,e),r[a>>2]=0,r[n>>2]=r[a>>2],Mc(t,o,n),v=i}function rc(t){t=t|0;var e=0,i=0,n=0,o=0,a=0,A=0,l=0,c=0,d=0,x=0;c=v,v=v+32|0,n=c+12|0,o=c,e=c+8|0,A=b(4792)|0,Nc(A,r[t+4>>2]|0),a=t+8|0,r[e>>2]=0,r[n>>2]=r[e>>2],Vc(o,A,n),A=t+12|0,e=r[A>>2]|0,l=t+16|0;do if(e>>>0>=(r[l>>2]|0)>>>0)if(e=(e-(r[a>>2]|0)>>3)+1|0,i=It(a)|0,i>>>0<e>>>0)Q0(a);else{d=r[a>>2]|0,x=(r[l>>2]|0)-d|0,l=x>>2,Bt(n,x>>3>>>0<i>>>1>>>0?l>>>0<e>>>0?e:l:i,(r[A>>2]|0)-d>>3,t+16|0),l=n+8|0,A=r[l>>2]|0,r[A>>2]=r[o>>2],t=o+4|0,r[A+4>>2]=r[t>>2],r[o>>2]=0,r[t>>2]=0,r[l>>2]=A+8,St(a,n),Ct(n);break}else Et(n,a,1),x=n+4|0,d=r[x>>2]|0,r[d>>2]=r[o>>2],l=o+4|0,r[d+4>>2]=r[l>>2],r[o>>2]=0,r[l>>2]=0,r[x>>2]=d+8,zt(n);while(0);rt(o),v=c}function ec(t){t=t|0;var e=0,i=0,n=0,o=0,a=0,A=0,l=0,c=0,d=0,x=0;c=v,v=v+32|0,n=c+12|0,o=c,e=c+8|0,A=b(336)|0,qc(A,r[t+4>>2]|0),a=t+8|0,r[e>>2]=0,r[n>>2]=r[e>>2],$c(o,A,n),A=t+12|0,e=r[A>>2]|0,l=t+16|0;do if(e>>>0>=(r[l>>2]|0)>>>0)if(e=(e-(r[a>>2]|0)>>3)+1|0,i=It(a)|0,i>>>0<e>>>0)Q0(a);else{d=r[a>>2]|0,x=(r[l>>2]|0)-d|0,l=x>>2,Bt(n,x>>3>>>0<i>>>1>>>0?l>>>0<e>>>0?e:l:i,(r[A>>2]|0)-d>>3,t+16|0),l=n+8|0,A=r[l>>2]|0,r[A>>2]=r[o>>2],t=o+4|0,r[A+4>>2]=r[t>>2],r[o>>2]=0,r[t>>2]=0,r[l>>2]=A+8,St(a,n),Ct(n);break}else Et(n,a,1),x=n+4|0,d=r[x>>2]|0,r[d>>2]=r[o>>2],l=o+4|0,r[d+4>>2]=r[l>>2],r[o>>2]=0,r[l>>2]=0,r[x>>2]=d+8,zt(n);while(0);rt(o),v=c}function ic(t){t=t|0;var e=0,i=0,n=0,o=0,a=0,A=0,l=0,c=0,d=0,x=0;c=v,v=v+32|0,n=c+12|0,o=c,e=c+8|0,A=b(324)|0,v4(A,r[t+4>>2]|0),a=t+8|0,r[e>>2]=0,r[n>>2]=r[e>>2],p4(o,A,n),A=t+12|0,e=r[A>>2]|0,l=t+16|0;do if(e>>>0>=(r[l>>2]|0)>>>0)if(e=(e-(r[a>>2]|0)>>3)+1|0,i=It(a)|0,i>>>0<e>>>0)Q0(a);else{d=r[a>>2]|0,x=(r[l>>2]|0)-d|0,l=x>>2,Bt(n,x>>3>>>0<i>>>1>>>0?l>>>0<e>>>0?e:l:i,(r[A>>2]|0)-d>>3,t+16|0),l=n+8|0,A=r[l>>2]|0,r[A>>2]=r[o>>2],t=o+4|0,r[A+4>>2]=r[t>>2],r[o>>2]=0,r[t>>2]=0,r[l>>2]=A+8,St(a,n),Ct(n);break}else Et(n,a,1),x=n+4|0,d=r[x>>2]|0,r[d>>2]=r[o>>2],l=o+4|0,r[d+4>>2]=r[l>>2],r[o>>2]=0,r[l>>2]=0,r[x>>2]=d+8,zt(n);while(0);rt(o),v=c}function nc(t,e){t=t|0,e=e|0;var i=0,n=0,o=0,a=0,A=0,l=0,c=0,d=0,x=0;c=v,v=v+32|0,A=c+12|0,l=c,n=c+8|0,a=b(64)|0,F4(a,r[t+4>>2]|0,e),o=t+8|0,r[n>>2]=0,r[A>>2]=r[n>>2],k4(l,a,A),a=t+12|0,e=r[a>>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=It(o)|0,i>>>0<e>>>0)Q0(o);else{d=r[o>>2]|0,x=(r[n>>2]|0)-d|0,n=x>>2,Bt(A,x>>3>>>0<i>>>1>>>0?n>>>0<e>>>0?e:n:i,(r[a>>2]|0)-d>>3,t+16|0),t=A+8|0,a=r[t>>2]|0,r[a>>2]=r[l>>2],n=l+4|0,r[a+4>>2]=r[n>>2],r[l>>2]=0,r[n>>2]=0,r[t>>2]=a+8,St(o,A),Ct(A);break}else Et(A,o,1),x=A+4|0,d=r[x>>2]|0,r[d>>2]=r[l>>2],t=l+4|0,r[d+4>>2]=r[t>>2],r[l>>2]=0,r[t>>2]=0,r[x>>2]=d+8,zt(A);while(0);rt(l),v=c}function sc(t,e){t=t|0,e=e|0;var i=0,n=0;i=v,v=v+48|0,n=i,r[t>>2]=e,u[t+4>>0]=0,Uo(t+8|0,e),Uo(t+20|0,e),j0(n,256,0,0),K4(t+32|0,e,n),G0(n),v=i}function Qs(t){t=t|0,rm(t+32|0),_o(t+20|0),_o(t+8|0)}function oc(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)&&(w0[r[(r[t>>2]|0)+8>>2]&255](t),qt(t))}function fc(t,e,i){t=t|0,e=e|0,i=i|0;var n=0,o=0,a=0,A=0;n=v,v=v+16|0,o=n+4|0,A=n,a=b(12)|0,em(a,e,i),r[A>>2]=0,r[o>>2]=r[A>>2],im(t,a,o),v=n}function ac(t){t=t|0,We(t),Ln(t+4784|0)}function Ac(t,e,i){t=t|0,e=e|0,i=i|0;var n=0,o=0,a=0,A=0;n=v,v=v+16|0,o=n+4|0,A=n,a=b(12)|0,um(a,e,i),r[A>>2]=0,r[o>>2]=r[A>>2],cm(t,a,o),v=n}function hc(t){t=t|0,We(t),wm(t+4784|0)}function lc(t,e,i){t=t|0,e=e|0,i=i|0;var n=0,o=0,a=0,A=0;n=v,v=v+16|0,o=n+4|0,A=n,a=b(12)|0,Zm(a,e,i),r[A>>2]=0,r[o>>2]=r[A>>2],Fm(t,a,o),v=n}function uc(t){t=t|0,We(t),Co(t+4784|0)}function cc(t,e,i){t=t|0,e=e|0,i=i|0;var n=0,o=0,a=0,A=0;n=v,v=v+16|0,o=n+4|0,A=n,a=b(12)|0,Em(a,e,i),r[A>>2]=0,r[o>>2]=r[A>>2],zm(t,a,o),v=n}function mc(t){t=t|0,We(t),Hm(t+4784|0)}function vc(t,e){return t=t|0,e=e|0,(Ve(t,e)|0)^1|0}function pc(){return!(u[21456]|0)&&Gr(21456)|0&&(ke(21536,6,20,2),Er(21456)),21536}function Ve(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 qs(){return!(u[21464]|0)&&Gr(21464)|0&&(ke(21548,7,8,2),Er(21464)),21548}function $s(){return!(u[21472]|0)&&Gr(21472)|0&&(ke(21560,8,6,2),Er(21472)),21560}function dc(t){t=t|0,At(t),$(t)}function yc(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 Mc(t,e,i){t=t|0,e=e|0,i=i|0;var n=0,o=0;i=v,v=v+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,xc(t,n),v=i}function re(t){t=t|0,r[t>>2]=4644}function gc(t,e){t=t|0,e=e|0;var i=0,n=0,o=0,a=0,A=0,l=0,c=0;if(c=v,v=v+16|0,a=c,i=r[t+8>>2]|0,A=r[t+12>>2]|0,(i|0)!=(A|0)){l=a+4|0;do n=r[i>>2]|0,r[a>>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=Oe[r[(r[n>>2]|0)+12>>2]&63](n,e)|0,rt(a),i=i+8|0;while((i|0)!=(A|0))}return i=t+20|0,u[i>>0]|0&&(u[i>>0]=0,Bn(r[t+4>>2]|0)),v=c,e|0}function Ks(t){t=t|0,r[t>>2]=4624,bs(t+8|0),kr(t)}function _c(t){t=t|0,Ks(t),$(t)}function kr(t){t=t|0}function Rc(t){t=t|0,ks()}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)&&(w0[r[(r[t>>2]|0)+8>>2]&255](t),qt(t))}function bs(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,A0(e,(r[t+8>>2]|0)-e|0)}}function xc(t,e){t=t|0,e=e|0}function wc(t){t=t|0,C0(t),$(t)}function Zc(t){t=t|0,t=r[t+12>>2]|0,t|0&&w0[r[(r[t>>2]|0)+8>>2]&255](t)}function Fc(t,e){return t=t|0,e=e|0,((r[e+4>>2]|0)==8546?t+12|0:0)|0}function kc(t){t=t|0,A0(t,16)}function Nc(t,e){t=t|0,e=e|0,Ot(t),r[t>>2]=4692,r[t+4>>2]=e,We(t+8|0)}function Vc(t,e,i){t=t|0,e=e|0,i=i|0;var n=0,o=0;i=v,v=v+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,Jt(t,n),v=i}function Et(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 Bt(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 St(t,e){t=t|0,e=e|0;var i=0,n=0,o=0,a=0,A=0,l=0,c=0;if(l=r[t>>2]|0,c=t+4|0,i=r[c>>2]|0,A=e+4|0,(i|0)==(l|0))o=A,a=t,n=r[A>>2]|0,i=l;else{n=r[A>>2]|0;do a=i,i=i+-8|0,r[n+-8>>2]=r[i>>2],a=a+-4|0,r[n+-4>>2]=r[a>>2],r[i>>2]=0,r[a>>2]=0,n=(r[A>>2]|0)+-8|0,r[A>>2]=n;while((i|0)!=(l|0));o=A,a=t,i=r[t>>2]|0}r[a>>2]=n,r[o>>2]=i,l=e+8|0,A=r[c>>2]|0,r[c>>2]=r[l>>2],r[l>>2]=A,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 Ct(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&&A0(e,(r[t+12>>2]|0)-e|0)}function It(t){return t=t|0,536870911}function Ot(t){t=t|0,r[t>>2]=4716}function We(t){t=t|0,Ec(t),zc(t+3980|0),Bc(t+4380|0),u[t+4780>>0]=0,u[t+4781>>0]=0}function to(t){t=t|0,r[t>>2]=4692,Te(t+8|0),vt(t)}function Wc(t){t=t|0,to(t),$(t)}function Tc(t,e){return t=t|0,e=e|0,e|0}function Xc(t,e){return t=t|0,e=e|0,Xe(t+8|0,r[t+4>>2]|0,e)|0}function vt(t){t=t|0}function Uc(t){t=t|0,vt(t),$(t)}function Gc(t,e){return t=t|0,e=e|0,e|0}function Ec(t){t=t|0;var e=0,i=0;ro(t),eo(t+52|0),eo(t+436|0),j0(t+852|0,64,0,0),u[t+3976>>0]=0,e=t+20|0,i=e+32|0;do B[e>>1]=0,e=e+2|0;while((e|0)<(i|0));e=b(44)|0,j0(e,256,0,0),r[t+896>>2]=e,e=b(44)|0,j0(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,j0(i,256,0,0),r[t+904+(e<<2)>>2]=i,i=b(44)|0,j0(i,256,0,0),r[t+1928+(e<<2)>>2]=i,i=b(44)|0,j0(i,256,0,0),r[t+2952+(e<<2)>>2]=i,e=e+1|0;while(e>>>0<256)}function zc(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 Bc(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 Sc(t){t=t|0,dt(t+320|0),dt(t+240|0),dt(t+160|0),dt(t+80|0),dt(t)}function Cc(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 ro(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 eo(t){t=t|0;var e=0;e=t+384|0;do Ic(t),t=t+24|0;while((t|0)!=(e|0))}function Ic(t){t=t|0,Oc(t)}function Oc(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 a=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,Ss(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,a=0;i=i>>>1,e=a+1|0,i;)a=e;r[n>>2]=(1<<a|0)==(o|0)?a: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 dt(t){t=t|0;var e=0,i=0,n=0,o=0,a=0;if(a=t+36|0,i=r[a>>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,mi(n),mi(a)}function Te(t){t=t|0,Jc(t+4380|0),Sc(t+3980|0),Cc(t)}function Jc(t){t=t|0,ft(t+320|0),ft(t+240|0),ft(t+160|0),ft(t+80|0),ft(t)}function Xe(t,e,i){t=t|0,e=e|0,i=i|0;var n=0,o=0,a=0,A=0,l=0,c=0,d=0,x=0,w=0;if(x=v,v=v+32|0,d=x,n=t+4781|0,u[n>>0]|0||(Pc(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&&no((Y0(e,r[t+904+(((io(t)|0)&255)<<2)>>2]|0)|0)&255,t),c=t+14|0,a=u[c>>0]|0,n=a&7,a=(a&255)>>>3&7,o=Z[16+(a<<3)+n>>0]|0,n=Z[80+(a<<3)+n>>0]|0,l&16?(w=t+20+(o<<1)|0,A=(L0(t+4380|0,e,I[w>>1]|0,o>>>0<3?o:3)|0)&65535,B[w>>1]=A):A=B[t+20+(o<<1)>>1]|0,B[t+12>>1]=A,l&8|0&&(w=t+15|0,u[w>>0]=Y0(e,r[t+1928+(Z[w>>0]<<2)>>2]|0)|0),l&4|0&&(c=Y0(e,r[t+896+(((Z[c>>0]|0)>>>6&1)<<2)>>2]|0)|0,w=t+16|0,u[w>>0]=Nr(c+(u[w>>0]|0)|0)|0),l&2|0&&(w=t+17|0,u[w>>0]=Y0(e,r[t+2952+(Z[w>>0]<<2)>>2]|0)|0),l&1&&(w=t+18|0,B[w>>1]=L0(t+4460|0,e,I[w>>1]|0,0)|0)):(w=u[t+14>>0]|0,n=w&7,w=(w&255)>>>3&7,a=w,o=Z[16+(w<<3)+n>>0]|0,n=Z[80+(w<<3)+n>>0]|0),A=t+52+(o*24|0)|0,l=t+4540|0,c=(a|0)==1&1,a=L0(l,e,so(A)|0,c)|0,r[d>>2]=a,r[t>>2]=(r[t>>2]|0)+a,oo(A,d),A=t+436+(o*24|0)|0,a=so(A)|0,o=On(l)|0,w=t+4620|0,o=L0(w,e,a,(o>>>0<20?o&-2:20)|c)|0,r[d>>2]=o,a=t+4|0,r[a>>2]=(r[a>>2]|0)+o,oo(A,d),d=On(l)|0,d=(On(w)|0)+d|0,w=t+820+(n<<2)|0,d=L0(t+4700|0,e,r[w>>2]|0,(d>>>0<36?d>>>1&2147483646:18)|c)|0,r[t+8>>2]=d,r[w>>2]=d,Yc(t,i);else{u[n>>0]=1,yi(di(e)|0,i,20),jc(d,i),a=t,n=d,o=a+20|0;do u[a>>0]=u[n>>0]|0,a=a+1|0,n=n+1|0;while((a|0)<(o|0));B[t+12>>1]=0}return v=x,i+20|0}function Pc(t){t=t|0,ot(t),ot(t+80|0),ot(t+160|0),ot(t+240|0),ot(t+320|0)}function di(t){return t=t|0,r[t>>2]|0}function yi(t,e,i){t=t|0,e=e|0,i=i|0;var n=0,o=0,a=0,A=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,A=t+12|0,o=(r[A>>2]|0)+n|0,a=o+l|0,l){for(n=o,o=e;u[o>>0]=u[n>>0]|0,n=n+1|0,(n|0)!=(a|0);)o=o+1|0;n=r[c>>2]|0}if(r[c>>2]=n+l,i=i-l|0,i|0){for(Cs(t),o=(r[A>>2]|0)+(r[c>>2]|0)|0,a=o+i|0,n=e+l|0;u[n>>0]=u[o>>0]|0,o=o+1|0,(o|0)!=(a|0);)n=n+1|0;r[c>>2]=(r[c>>2]|0)+i}}function jc(t,e){t=t|0,e=e|0,ro(t),r[t>>2]=Mi(e)|0,r[t+4>>2]=Mi(e+4|0)|0,r[t+8>>2]=Mi(e+8|0)|0,B[t+12>>1]=Vr(e+12|0)|0,no(Jn(e+14|0)|0,t),u[t+15>>0]=Jn(e+15|0)|0,u[t+16>>0]=fo(e+16|0)|0,u[t+17>>0]=fo(e+17|0)|0,B[t+18>>1]=Vr(e+18|0)|0}function io(t){return t=t|0,u[t+14>>0]|0}function no(t,e){t=t|0,e=e|0,u[e+14>>0]=t}function Nr(t){return t=t|0,t&255|0}function so(t){return t=t|0,r[t+8>>2]|0}function oo(t,e){t=t|0,e=e|0;var i=0,n=0,o=0,a=0,A=0,l=0,c=0;c=t+20|0;do if(u[c>>0]|0){if(o=r[e>>2]|0,A=t+8|0,i=r[A>>2]|0,a=t+12|0,n=r[a>>2]|0,(o|0)>=(i|0)){i=t+16|0,(o|0)<(n|0)?(r[i>>2]=n,r[a>>2]=r[e>>2]):r[i>>2]=o,u[c>>0]=0;break}if(r[t+16>>2]=n,r[a>>2]=i,i=r[e>>2]|0,n=r[t>>2]|0,o=t+4|0,a=r[o>>2]|0,(i|0)<(n|0)){r[A>>2]=a,r[o>>2]=n,r[t>>2]=r[e>>2];break}if((i|0)<(a|0)){r[A>>2]=a,r[o>>2]=r[e>>2];break}else{r[A>>2]=i;break}}else{if(l=t+8|0,i=r[l>>2]|0,n=r[e>>2]|0,o=t+4|0,a=r[o>>2]|0,(i|0)>=(n|0)){(a|0)<(n|0)?(r[t>>2]=a,r[o>>2]=r[e>>2]):r[t>>2]=n,u[c>>0]=1;break}if(r[t>>2]=a,r[o>>2]=i,o=t+16|0,a=r[o>>2]|0,A=r[e>>2]|0,i=t+12|0,n=r[i>>2]|0,(a|0)<(A|0)){r[l>>2]=n,r[i>>2]=a,r[o>>2]=r[e>>2];break}if((n|0)<(A|0)){r[l>>2]=n,r[i>>2]=r[e>>2];break}else{r[l>>2]=A;break}}while(0)}function On(t){return t=t|0,r[t>>2]|0}function Yc(t,e){t=t|0,e=e|0;var i=0;_i(Z[t>>0]|Z[t+1>>0]<<8|Z[t+2>>0]<<16|Z[t+3>>0]<<24,e),i=t+4|0,_i(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,_i(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,Wr(Z[i>>0]|Z[i+1>>0]<<8,e+12|0),Pn(io(t)|0,e+14|0),Pn(u[t+15>>0]|0,e+15|0),ao(u[t+16>>0]|0,e+16|0),ao(u[t+17>>0]|0,e+17|0),t=t+18|0,Wr(Z[t>>0]|Z[t+1>>0]<<8,e+18|0)}function Mi(t){return t=t|0,gi(t)|0}function Vr(t){return t=t|0,(u[t+1>>0]<<8|Z[t>>0])&65535|0}function Jn(t){return t=t|0,u[t>>0]|0}function fo(t){return t=t|0,u[t>>0]|0}function gi(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 _i(t,e){t=t|0,e=e|0,Ri(t,e)}function Wr(t,e){t=t|0,e=e|0,u[e+1>>0]=(t&65535)>>>8,u[e>>0]=t}function Pn(t,e){t=t|0,e=e|0,u[e>>0]=t}function ao(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 Jt(t,e){t=t|0,e=e|0}function Dc(t){t=t|0,C0(t),$(t)}function Hc(t){t=t|0,t=r[t+12>>2]|0,t|0&&w0[r[(r[t>>2]|0)+4>>2]&255](t)}function Lc(t,e){return t=t|0,e=e|0,((r[e+4>>2]|0)==9202?t+12|0:0)|0}function Qc(t){t=t|0,A0(t,16)}function qc(t,e){t=t|0,e=e|0,Ot(t),r[t>>2]=4768,r[t+4>>2]=e,jn(t+8|0)}function $c(t,e,i){t=t|0,e=e|0,i=i|0;var n=0,o=0;i=v,v=v+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,Jt(t,n),v=i}function jn(t){t=t|0,t4(t),r4(t+164|0),e4(t+244|0),u[t+324>>0]=0,u[t+325>>0]=0}function Ao(t){t=t|0,r[t>>2]=4768,Yn(t+8|0),vt(t)}function Kc(t){t=t|0,Ao(t),$(t)}function bc(t,e){return t=t|0,e=e|0,Ue(t+8|0,r[t+4>>2]|0,e)|0}function t4(t){t=t|0;var e=0,i=0,n=0,o=0,a=0,A=0,l=0;for(a=v,v=v+16|0,n=a,u[t>>0]=0,j0(t+4|0,516,0,0),j0(t+48|0,6,0,0),r[t+92>>2]=0,r[t+96>>2]=0,i=t+100|0,s4(i),ho(n),o=r[n>>2]|0,n=r[n+4>>2]|0,e=4;A=i,l=A,u[l>>0]=o,u[l+1>>0]=o>>8,u[l+2>>0]=o>>16,u[l+3>>0]=o>>24,A=A+4|0,u[A>>0]=n,u[A+1>>0]=n>>8,u[A+2>>0]=n>>16,u[A+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,v=a}function r4(t){t=t|0,pt(t,32,9,8,0)}function e4(t){t=t|0,st(t,32,9,8,0)}function i4(t){t=t|0,dt(t)}function n4(t){t=t|0,G0(t+48|0),G0(t+4|0)}function s4(t){t=t|0;var e=0;e=t+32|0;do ho(t),t=t+8|0;while((t|0)!=(e|0))}function ho(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 Yn(t){t=t|0,o4(t+244|0),i4(t+164|0),n4(t)}function o4(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,a=0,A=0,l=0;if(n=t+325|0,u[n>>0]|0||(f4(t+244|0),u[n>>0]=1),!(u[t>>0]|0))u[t>>0]=1,yi(di(e)|0,i,8),a=a4(i)|0,A=y0()|0,t=t+100|0,e=t,u[e>>0]=a,u[e+1>>0]=a>>8,u[e+2>>0]=a>>16,u[e+3>>0]=a>>24,t=t+4|0,u[t>>0]=A,u[t+1>>0]=A>>8,u[t+2>>0]=A>>16,u[t+3>>0]=A>>24;else{A=t+92|0;t:do if(r[t+132+(r[A>>2]<<2)>>2]|0){if(a=Y0(e,t+4|0)|0,(a|0)==1){n=L0(t+244|0,e,r[t+132+(r[A>>2]<<2)>>2]|0,1)|0,l=r[A>>2]|0,e=t+100+(l<<3)|0,a=e,o=a,a=a+4|0,n=yt(Z[o>>0]|Z[o+1>>0]<<8|Z[o+2>>0]<<16|Z[o+3>>0]<<24|0,Z[a>>0]|Z[a+1>>0]<<8|Z[a+2>>0]<<16|Z[a+3>>0]<<24|0,n|0,((n|0)<0)<<31>>31|0)|0,a=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]=a,u[e+1>>0]=a>>8,u[e+2>>0]=a>>16,u[e+3>>0]=a>>24,r[t+148+(l<<2)>>2]=0;break}if((a|0)>=511){if((a|0)==512){l=t+96|0,r[l>>2]=(r[l>>2]|0)+1&3,a=t+100+(r[A>>2]<<3)+4|0,a=L0(t+244|0,e,Z[a>>0]|Z[a+1>>0]<<8|Z[a+2>>0]<<16|Z[a+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]=a,u[n+1>>0]=a>>8,u[n+2>>0]=a>>16,u[n+3>>0]=a>>24,n=lo(e)|0,l=r[l>>2]|0,e=t+100+(l<<3)|0,a=e,o=a,a=a+4|0,a=Z[a>>0]|Z[a+1>>0]<<8|Z[a+2>>0]<<16|Z[a+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]=a,u[e+1>>0]=a>>8,u[e+2>>0]=a>>16,u[e+3>>0]=a>>24,r[A>>2]=l,r[t+132+(l<<2)>>2]=0,r[t+148+(r[A>>2]<<2)>>2]=0;break}if((a|0)<=511)break;r[A>>2]=(r[A>>2]|0)+a&3,Ue(t,e,i)|0;break}do if(!a)n=L0(t+244|0,e,0,7)|0,o=t+148+(r[A>>2]<<2)|0,r[o>>2]=(r[o>>2]|0)+1,o=r[A>>2]|0,(r[t+148+(o<<2)>>2]|0)>3&&(r[t+132+(o<<2)>>2]=n,r[t+148+(r[A>>2]<<2)>>2]=0);else{if((a|0)<500)if(n=t+244|0,o=u0(r[t+132+(r[A>>2]<<2)>>2]|0,a)|0,(a|0)<10){n=L0(n,e,o,2)|0;break}else{n=L0(n,e,o,3)|0;break}if((a|0)==500){if(n=L0(t+244|0,e,(r[t+132+(r[A>>2]<<2)>>2]|0)*500|0,4)|0,o=t+148+(r[A>>2]<<2)|0,r[o>>2]=(r[o>>2]|0)+1,o=r[A>>2]|0,(r[t+148+(o<<2)>>2]|0)<=3)break;r[t+132+(o<<2)>>2]=n,r[t+148+(r[A>>2]<<2)>>2]=0;break}if(n=500-a|0,o=t+244|0,a=r[t+132+(r[A>>2]<<2)>>2]|0,(n|0)>-10){n=L0(o,e,u0(a,n)|0,5)|0;break}n=L0(o,e,u0(a,-10)|0,6)|0,o=t+148+(r[A>>2]<<2)|0,r[o>>2]=(r[o>>2]|0)+1,o=r[A>>2]|0,(r[t+148+(o<<2)>>2]|0)>3&&(r[t+132+(o<<2)>>2]=n,r[t+148+(r[A>>2]<<2)>>2]=0)}while(0);l=t+100+(r[A>>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,a=l,u[a>>0]=o,u[a+1>>0]=o>>8,u[a+2>>0]=o>>16,u[a+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=L0(t+244|0,e,0,0)|0,r[t+132+(r[A>>2]<<2)>>2]=e,e=r[A>>2]|0,l=r[t+132+(e<<2)>>2]|0,a=t+100+(e<<3)|0,o=a,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=a,u[n>>0]=l,u[n+1>>0]=l>>8,u[n+2>>0]=l>>16,u[n+3>>0]=l>>24,a=a+4|0,u[a>>0]=o,u[a+1>>0]=o>>8,u[a+2>>0]=o>>16,u[a+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,a=t+100+(r[A>>2]<<3)+4|0,a=L0(t+244|0,e,Z[a>>0]|Z[a+1>>0]<<8|Z[a+2>>0]<<16|Z[a+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]=a,u[n+1>>0]=a>>8,u[n+2>>0]=a>>16,u[n+3>>0]=a>>24,n=lo(e)|0,l=r[l>>2]|0,e=t+100+(l<<3)|0,a=e,o=a,a=a+4|0,a=Z[a>>0]|Z[a+1>>0]<<8|Z[a+2>>0]<<16|Z[a+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]=a,u[e+1>>0]=a>>8,u[e+2>>0]=a>>16,u[e+3>>0]=a>>24,r[A>>2]=l,r[t+132+(l<<2)>>2]=0,r[t+148+(r[A>>2]<<2)>>2]=0;break t}default:{if((n|0)<=2)break t;r[A>>2]=n+2+(r[A>>2]|0)&3,Ue(t,e,i)|0;break t}}while(0);A4(t+100+(r[A>>2]<<3)|0,i)}return i+8|0}function f4(t){t=t|0,ot(t)}function a4(t){t=t|0;var e=0,i=0,n=0;return e=v,v=v+16|0,i=e,n=gi(t)|0,h4(i,n,gi(t+4|0)|0),t=r[i>>2]|0,Z0(r[i+4>>2]|0),v=e,t|0}function lo(t){t=t|0;var e=0;return e=(In(t)|0)&65535,((In(t)|0)&65535)<<16|e|0}function A4(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 h4(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 l4(t){t=t|0,C0(t),$(t)}function u4(t){t=t|0,t=r[t+12>>2]|0,t|0&&w0[r[(r[t>>2]|0)+4>>2]&255](t)}function c4(t,e){return t=t|0,e=e|0,((r[e+4>>2]|0)==9890?t+12|0:0)|0}function m4(t){t=t|0,A0(t,16)}function v4(t,e){t=t|0,e=e|0,Ot(t),r[t>>2]=4820,r[t+4>>2]=e,uo(t+8|0)}function p4(t,e,i){t=t|0,e=e|0,i=i|0;var n=0,o=0;i=v,v=v+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,Jt(t,n),v=i}function uo(t){t=t|0,u[t>>0]=0,mo(t+1|0),j0(t+8|0,128,0,0),j0(t+52|0,256,0,0),j0(t+96|0,256,0,0),j0(t+140|0,256,0,0),j0(t+184|0,256,0,0),j0(t+228|0,256,0,0),j0(t+272|0,256,0,0)}function co(t){t=t|0,r[t>>2]=4820,vo(t+8|0),vt(t)}function d4(t){t=t|0,co(t),$(t)}function y4(t,e){return t=t|0,e=e|0,po(t+8|0,r[t+4>>2]|0,e)|0}function mo(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 vo(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 po(t,e,i){t=t|0,e=e|0,i=i|0;var n=0,o=0,a=0,A=0,l=0,c=0,d=0,x=0,w=0;if(x=v,v=v+16|0,c=x,!(u[t>>0]|0))u[t>>0]=1,yi(di(e)|0,i,6),M4(c,i),d=t+1|0,u[d>>0]=u[c>>0]|0,u[d+1>>0]=u[c+1>>0]|0,u[d+2>>0]=u[c+2>>0]|0,u[d+3>>0]=u[c+3>>0]|0,u[d+4>>0]=u[c+4>>0]|0,u[d+5>>0]=u[c+5>>0]|0;else{d=Y0(e,t+8|0)|0,mo(c),d&1?(l=(Y0(e,t+52|0)|0)&255,n=t+1|0,n=(Nr(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),B[c>>1]=n,d&2?(n=(Y0(e,t+96|0)|0)&255,l=t+1|0,n=((Nr((((Z[l>>0]|Z[l+1>>0]<<8)&65535)>>>8)+n|0)|0)&255)<<8,n=(n|I[c>>1])&65535):(l=t+1|0,n=n|(Z[l>>0]|Z[l+1>>0]<<8)&-256),B[c>>1]=n;do if(d&64)if(A=t+1|0,o=(n&255)-((Z[A>>0]|Z[A+1>>0]<<8)&255)|0,d&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=(Nr(((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,B[l>>1]=n,d&16?(n=Y0(e,t+228|0)|0,w=t+3|0,a=t+5|0,a=((o+(B[l>>1]&255)-((Z[w>>0]|Z[w+1>>0]<<8)&255)|0)/2|0)+((Z[a>>0]|Z[a+1>>0]<<8)&255)|0,n=(Nr(((a|0)<1?0:(a|0)>254?255:a&255)+(n&255)|0)|0)&255):(n=t+5|0,n=(Z[n>>0]|Z[n+1>>0]<<8)&255),a=c+4|0,B[a>>1]=n,n=((I[c>>1]|0)>>>8)-(((Z[A>>0]|Z[A+1>>0]<<8)&65535)>>>8)|0,d&8?(o=(Y0(e,t+184|0)|0)&255,w=t+3|0,w=(((Z[w>>0]|Z[w+1>>0]<<8)&65535)>>>8)+n|0,o=((Nr(((w|0)<1?0:(w|0)>254?255:w&255)+o|0)|0)&255)<<8,o=(o|I[l>>1])&65535):(o=t+3|0,o=B[l>>1]|(Z[o>>0]|Z[o+1>>0]<<8)&-256),B[l>>1]=o,d&32){w=Y0(e,t+272|0)|0,e=t+3|0,d=t+5|0,d=((((I[l>>1]|0)>>>8)+n-(((Z[e>>0]|Z[e+1>>0]<<8)&65535)>>>8)|0)/2|0)+(((Z[d>>0]|Z[d+1>>0]<<8)&65535)>>>8)|0,w=((Nr(((d|0)<1?0:(d|0)>254?255:d&255)+(w&255)|0)|0)&255)<<8,B[a>>1]=w|I[a>>1];break}else{w=t+5|0,B[a>>1]=B[a>>1]|(Z[w>>0]|Z[w+1>>0]<<8)&-256;break}else B[c+2>>1]=n,B[c+4>>1]=n;while(0);w=t+1|0,u[w>>0]=u[c>>0]|0,u[w+1>>0]=u[c+1>>0]|0,u[w+2>>0]=u[c+2>>0]|0,u[w+3>>0]=u[c+3>>0]|0,u[w+4>>0]=u[c+4>>0]|0,u[w+5>>0]=u[c+5>>0]|0,g4(w,i)}return v=x,i+6|0}function M4(t,e){t=t|0,e=e|0;var i=0,n=0;n=Vr(e)|0,i=Vr(e+2|0)|0,_4(t,n,i,Vr(e+4|0)|0)}function g4(t,e){t=t|0,e=e|0;var i=0;Wr(Z[t>>0]|Z[t+1>>0]<<8,e),i=t+2|0,Wr(Z[i>>0]|Z[i+1>>0]<<8,e+2|0),t=t+4|0,Wr(Z[t>>0]|Z[t+1>>0]<<8,e+4|0)}function _4(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 R4(t){t=t|0,C0(t),$(t)}function x4(t){t=t|0,t=r[t+12>>2]|0,t|0&&w0[r[(r[t>>2]|0)+4>>2]&255](t)}function w4(t,e){return t=t|0,e=e|0,((r[e+4>>2]|0)==10570?t+12|0:0)|0}function Z4(t){t=t|0,A0(t,16)}function F4(t,e,i){t=t|0,e=e|0,i=i|0,Ot(t),r[t>>2]=4872,r[t+4>>2]=e,N4(t+8|0,i)}function k4(t,e,i){t=t|0,e=e|0,i=i|0;var n=0,o=0;i=v,v=v+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,Jt(t,n),v=i}function N4(t,e){t=t|0,e=e|0,r[t>>2]=r[e>>2],u[t+4>>0]=u[e+4>>0]|0,Mo(t+8|0,e+8|0),Mo(t+20|0,e+20|0),T4(t+32|0,e+32|0)}function yo(t){t=t|0,r[t>>2]=4872,Qs(t+8|0),vt(t)}function V4(t){t=t|0,yo(t),$(t)}function W4(t,e){return t=t|0,e=e|0,D4(t+8|0,r[t+4>>2]|0,e)|0}function Mo(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&&(go(t,n),X4(t,r[e>>2]|0,r[i>>2]|0,n))}function T4(t,e){t=t|0,e=e|0;var i=0,n=0,o=0,a=0,A=0;i=v,v=v+32|0,n=i+24|0,o=i+16|0,A=i+8|0,a=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,P4(A,e),j4(a,e),r[o>>2]=r[A>>2],r[o+4>>2]=r[A+4>>2],r[n>>2]=r[a>>2],r[n+4>>2]=r[a+4>>2],G4(t,o,n,0),v=i}function go(t,e){t=t|0,e=e|0;var i=0;if((U4(t)|0)>>>0<e>>>0)Q0(t);else{i=b(e)|0,r[t+4>>2]=i,r[t>>2]=i,r[t+8>>2]=i+e;return}}function X4(t,e,i,n){t=t|0,e=e|0,i=i|0,n=n|0;var o=0,a=0;a=v,v=v+16|0,o=a,Ro(o,t,n),n=o+4|0,t=i-e|0,(t|0)>0&&(ht(r[n>>2]|0,e|0,t|0)|0,r[n>>2]=(r[n>>2]|0)+t),xo(o),v=a}function _o(t){t=t|0;var e=0,i=0;e=r[t>>2]|0,i=e,e|0&&(r[t+4>>2]=i,A0(e,(r[t+8>>2]|0)-i|0))}function U4(t){return t=t|0,2147483647}function Ro(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 xo(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,a=0,A=0,l=0,c=0,d=0,x=0,w=0,N=0,G=0,E=0,U=0;if(U=v,v=v+96|0,E=U+80|0,w=U+64|0,c=U+48|0,d=U+40|0,x=U+8|0,l=U,N=U+32|0,G=U+16|0,A=e,a=r[A>>2]|0,A=r[A+4>>2]|0,o=i,i=r[o>>2]|0,o=r[o+4>>2]|0,n=a,(o|0)==(A|0)?A=0:A=((o-(r[i>>2]|0)|0)/44|0)+((i-a>>2)*93|0)+((A-(r[a>>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,A>>>0>i>>>0&&wo(t,A-i|0),Ge(d,t),Ge(l,t),o=l,i=r[o>>2]|0,o=r[o+4>>2]|0,a=x,r[a>>2]=i,r[a+4>>2]=o,a=i,A|0&&(i=((o-(r[i>>2]|0)|0)/44|0)+A|0,(i|0)>0?(l=(i>>>0)/93|0,A=a+(l<<2)|0,r[x>>2]=A,i=(r[A>>2]|0)+((i-(l*93|0)|0)*44|0)|0):(i=92-i|0,l=a+(((i|0)/-93|0)<<2)|0,r[x>>2]=l,i=(r[l>>2]|0)+((92-((i|0)%93|0)|0)*44|0)|0),r[x+4>>2]=i),r[w>>2]=r[d>>2],r[w+4>>2]=r[d+4>>2],r[E>>2]=r[x>>2],r[E+4>>2]=r[x+4>>2],Dn(c,w,E),Zo(E,c),Fo(w,c),xi(E,w)|0){a=G+4|0,A=e+4|0;do{if(ko(N,E),No(G,t,N),i=r[G>>2]|0,(i|0)!=(r[a>>2]|0)){o=r[A>>2]|0;do Sn(i,o),i=(r[G>>2]|0)+44|0,r[G>>2]=i,o=o+44|0,r[A>>2]=o,(o-(r[n>>2]|0)|0)==4092&&(n=n+4|0,r[e>>2]=n,o=r[n>>2]|0,r[A>>2]=o);while((i|0)!=(r[a>>2]|0))}Vo(G),Wo(E)|0}while(xi(E,w)|0)}v=U}function E4(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&&A0(e,(r[t+12>>2]|0)-e|0)}function wo(t,e){t=t|0,e=e|0;var i=0,n=0,o=0,a=0,A=0,l=0,c=0,d=0,x=0,w=0,N=0,G=0,E=0,U=0,e0=0,Y=0,J=0,t0=0,S=0,M0=0,W0=0,g0=0,f0=0,N0=0,i0=0;N0=v,v=v+64|0,t0=N0+52|0,J=N0+48|0,S=N0+28|0,M0=N0+24|0,W0=N0+20|0,E=N0,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,A=(e0>>>0)/93|0,A=A+((e0-(A*93|0)|0)!=0&1)|0,e0=t+16|0,n=r[e0>>2]|0,l=(n>>>0)/93|0,U=A>>>0<l>>>0?A:l,e=A-U|0,a=i;t:do if(e)if(Y=t+12|0,n=r[Y>>2]|0,o=n-(r[t>>2]|0)|0,i=a-c>>2,e>>>0>((o>>2)-i|0)>>>0){G=o>>1,N=i+e|0,ur(E,G>>>0<N>>>0?N:G,i-U|0,t+12|0);do r[t0>>2]=b(4092)|0,S4(E,t0),e=e+-1|0;while(e|0);if(!U)i=r[f0>>2]|0;else{l=E+8|0,c=E+12|0,d=E+4|0,x=E+16|0,w=S+4|0,N=S+8|0,G=S+12|0,A=U,e=r[l>>2]|0,i=r[f0>>2]|0;do{a=r[c>>2]|0,n=a;do if((e|0)==(a|0)){if(o=r[d>>2]|0,a=r[E>>2]|0,e=a,o>>>0<=a>>>0){e=n-e|0,e=e|0?e>>1:1,ur(S,e,e>>>2,r[x>>2]|0),r[M0>>2]=r[d>>2],r[W0>>2]=r[l>>2],r[J>>2]=r[M0>>2],r[t0>>2]=r[W0>>2],Tr(S,J,t0),e=r[E>>2]|0,r[E>>2]=r[S>>2],r[S>>2]=e,e=r[d>>2]|0,r[d>>2]=r[w>>2],r[w>>2]=e,e=r[l>>2]|0,r[l>>2]=r[N>>2],r[N>>2]=e,e=r[c>>2]|0,r[c>>2]=r[G>>2],r[G>>2]=e,cr(S),e=r[l>>2]|0;break}i0=o,e=((i0-e>>2)+1|0)/-2|0,a=o+(e<<2)|0,n=n-i0|0,n?(Mt(a|0,o|0,n|0)|0,e=(r[d>>2]|0)+(e<<2)|0):e=a,i0=a+(n>>2<<2)|0,r[l>>2]=i0,r[d>>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,A=A+-1|0}while(A|0)}if(e=r[g0>>2]|0,(e|0)!=(i|0)){do e=e+-4|0,C4(E,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[E>>2],r[E>>2]=i0,i0=E+4|0,r[f0>>2]=r[i0>>2],r[i0>>2]=i,i0=E+8|0,r[g0>>2]=r[i0>>2],r[i0>>2]=e,i0=E+12|0,f0=r[Y>>2]|0,r[Y>>2]=r[i0>>2],r[i0>>2]=f0,r[e0>>2]=(r[e0>>2]|0)+(u0(U,-93)|0),cr(E);break}else{r:do if((n|0)==(a|0))d=18;else{for(;r[t0>>2]=b(4092)|0,z4(t,t0),e=e+-1|0,!!e;)if((r[Y>>2]|0)==(r[g0>>2]|0)){d=18;break r}i=U,e=r[e0>>2]|0}while(0);if((d|0)==18){n=~(A>>>0>l>>>0?l:A),i=e;do r[t0>>2]=b(4092)|0,B4(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+(u0(i,-93)|0),!i)break;l=t+12|0,c=S+4|0,d=S+8|0,x=S+12|0,e=r[g0>>2]|0;do{a=r[f0>>2]|0,A=r[a>>2]|0,a=a+4|0,r[f0>>2]=a,i0=r[Y>>2]|0,n=i0;do if((e|0)==(i0|0)){if(i0=r[t>>2]|0,e=i0,a>>>0<=i0>>>0){e=n-e|0,e=e|0?e>>1:1,ur(S,e,e>>>2,l),r[M0>>2]=r[f0>>2],r[W0>>2]=r[g0>>2],r[J>>2]=r[M0>>2],r[t0>>2]=r[W0>>2],Tr(S,J,t0),e=r[t>>2]|0,r[t>>2]=r[S>>2],r[S>>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[d>>2],r[d>>2]=e,e=r[Y>>2]|0,r[Y>>2]=r[x>>2],r[x>>2]=e,cr(S),e=r[g0>>2]|0;break}i0=a,e=((i0-e>>2)+1|0)/-2|0,o=a+(e<<2)|0,n=n-i0|0,n?(Mt(o|0,a|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]=A,e=(r[g0>>2]|0)+4|0,r[g0>>2]=e,i=i+-1|0}while(i|0)}else if(r[e0>>2]=(u0(U,-93)|0)+n,U|0)for(l=t+12|0,d=t+12|0,x=S+4|0,w=S+8|0,N=S+12|0,e=U,n=c;;){A=r[n>>2]|0,a=n+4|0,r[f0>>2]=a,Y=r[l>>2]|0,n=Y;do if((i|0)==(Y|0)){if(Y=r[t>>2]|0,i=Y,a>>>0<=Y>>>0){i=n-i|0,i=i|0?i>>1:1,ur(S,i,i>>>2,d),r[M0>>2]=r[f0>>2],r[W0>>2]=r[g0>>2],r[J>>2]=r[M0>>2],r[t0>>2]=r[W0>>2],Tr(S,J,t0),i=r[t>>2]|0,r[t>>2]=r[S>>2],r[S>>2]=i,i=r[f0>>2]|0,r[f0>>2]=r[x>>2],r[x>>2]=i,i=r[g0>>2]|0,r[g0>>2]=r[w>>2],r[w>>2]=i,i=r[l>>2]|0,r[l>>2]=r[N>>2],r[N>>2]=i,cr(S),i=r[g0>>2]|0;break}Y=a,i=((Y-i>>2)+1|0)/-2|0,o=a+(i<<2)|0,n=n-Y|0,n?(Mt(o|0,a|0,n|0)|0,i=(r[f0>>2]|0)+(i<<2)|0):i=o,Y=o+(n>>2<<2)|0,r[g0>>2]=Y,r[f0>>2]=i,i=Y}while(0);if(r[i>>2]=A,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);v=N0}function Ge(t,e){t=t|0,e=e|0;var i=0,n=0,o=0,a=0;i=(r[e+16>>2]|0)+(r[e+20>>2]|0)|0,a=r[e+4>>2]|0,n=(i>>>0)/93|0,o=a+(n<<2)|0,(r[e+8>>2]|0)==(a|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 Dn(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 Zo(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 Fo(t,e){t=t|0,e=e|0;var i=0,n=0,o=0,a=0,A=0,l=0,c=0;i=v,v=v+32|0,n=i+24|0,o=i+16|0,A=i+8|0,a=i,l=e+8|0,c=r[l>>2]|0,l=r[l+4>>2]|0,e=A,r[e>>2]=c,r[e+4>>2]=l,e=a,r[e>>2]=c,r[e+4>>2]=l,r[o>>2]=r[A>>2],r[o+4>>2]=r[A+4>>2],r[n>>2]=r[a>>2],r[n+4>>2]=r[a+4>>2],Dn(t,o,n),v=i}function xi(t,e){return t=t|0,e=e|0,(J4(t,e)|0)^1|0}function ko(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)?To(t,n,r[e+12>>2]|0):To(t,n,(r[i>>2]|0)+4092|0)}function No(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 Vo(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 z4(t,e){t=t|0,e=e|0;var i=0,n=0,o=0,a=0,A=0,l=0,c=0,d=0,x=0,w=0,N=0,G=0,E=0,U=0;E=v,v=v+48|0,o=E+32|0,n=E+28|0,l=E+8|0,c=E+4|0,d=E,G=t+8|0,i=r[G>>2]|0,x=t+12|0,N=r[x>>2]|0,a=N;do if((i|0)==(N|0)){if(N=t+4|0,w=r[N>>2]|0,U=r[t>>2]|0,A=U,w>>>0<=U>>>0){i=a-A|0,i=i|0?i>>1:1,ur(l,i,i>>>2,t+12|0),r[c>>2]=r[N>>2],r[d>>2]=r[G>>2],r[n>>2]=r[c>>2],r[o>>2]=r[d>>2],Tr(l,n,o),i=r[t>>2]|0,r[t>>2]=r[l>>2],r[l>>2]=i,i=l+4|0,U=r[N>>2]|0,r[N>>2]=r[i>>2],r[i>>2]=U,i=l+8|0,U=r[G>>2]|0,r[G>>2]=r[i>>2],r[i>>2]=U,i=l+12|0,U=r[x>>2]|0,r[x>>2]=r[i>>2],r[i>>2]=U,cr(l),i=r[G>>2]|0;break}o=w,n=((o-A>>2)+1|0)/-2|0,t=w+(n<<2)|0,o=i-o|0,o?(Mt(t|0,w|0,o|0)|0,i=(r[N>>2]|0)+(n<<2)|0):i=t,U=t+(o>>2<<2)|0,r[G>>2]=U,r[N>>2]=i,i=U}while(0);r[i>>2]=r[e>>2],r[G>>2]=(r[G>>2]|0)+4,v=E}function B4(t,e){t=t|0,e=e|0;var i=0,n=0,o=0,a=0,A=0,l=0,c=0,d=0,x=0,w=0,N=0,G=0,E=0,U=0;E=v,v=v+48|0,n=E+32|0,i=E+28|0,A=E+8|0,l=E+4|0,c=E,G=t+4|0,w=r[G>>2]|0,N=r[t>>2]|0,d=N;do if((w|0)==(N|0)){if(N=t+8|0,x=r[N>>2]|0,a=t+12|0,U=r[a>>2]|0,o=U,x>>>0>=U>>>0){U=o-d|0,U=U|0?U>>1:1,ur(A,U,(U+3|0)>>>2,t+12|0),r[l>>2]=r[G>>2],r[c>>2]=r[N>>2],r[i>>2]=r[l>>2],r[n>>2]=r[c>>2],Tr(A,i,n),i=r[t>>2]|0,r[t>>2]=r[A>>2],r[A>>2]=i,i=A+4|0,U=r[G>>2]|0,r[G>>2]=r[i>>2],r[i>>2]=U,i=A+8|0,U=r[N>>2]|0,r[N>>2]=r[i>>2],r[i>>2]=U,i=A+12|0,U=r[a>>2]|0,r[a>>2]=r[i>>2],r[i>>2]=U,cr(A),i=r[G>>2]|0;break}n=x,t=((o-n>>2)+1|0)/2|0,o=x+(t<<2)|0,n=n-w|0,i=o+(0-(n>>2)<<2)|0,n?(Mt(i|0,w|0,n|0)|0,n=(r[N>>2]|0)+(t<<2)|0):(i=o,n=o),r[G>>2]=i,r[N>>2]=n}else i=w;while(0);r[i+-4>>2]=r[e>>2],r[G>>2]=(r[G>>2]|0)+-4,v=E}function ur(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 S4(t,e){t=t|0,e=e|0;var i=0,n=0,o=0,a=0,A=0,l=0,c=0,d=0,x=0,w=0,N=0,G=0,E=0,U=0;E=v,v=v+48|0,o=E+32|0,n=E+28|0,l=E+8|0,c=E+4|0,d=E,G=t+8|0,i=r[G>>2]|0,x=t+12|0,N=r[x>>2]|0,a=N;do if((i|0)==(N|0)){if(N=t+4|0,w=r[N>>2]|0,U=r[t>>2]|0,A=U,w>>>0<=U>>>0){i=a-A|0,i=i|0?i>>1:1,ur(l,i,i>>>2,r[t+16>>2]|0),r[c>>2]=r[N>>2],r[d>>2]=r[G>>2],r[n>>2]=r[c>>2],r[o>>2]=r[d>>2],Tr(l,n,o),i=r[t>>2]|0,r[t>>2]=r[l>>2],r[l>>2]=i,i=l+4|0,U=r[N>>2]|0,r[N>>2]=r[i>>2],r[i>>2]=U,i=l+8|0,U=r[G>>2]|0,r[G>>2]=r[i>>2],r[i>>2]=U,i=l+12|0,U=r[x>>2]|0,r[x>>2]=r[i>>2],r[i>>2]=U,cr(l),i=r[G>>2]|0;break}o=w,n=((o-A>>2)+1|0)/-2|0,t=w+(n<<2)|0,o=i-o|0,o?(Mt(t|0,w|0,o|0)|0,i=(r[N>>2]|0)+(n<<2)|0):i=t,U=t+(o>>2<<2)|0,r[G>>2]=U,r[N>>2]=i,i=U}while(0);r[i>>2]=r[e>>2],r[G>>2]=(r[G>>2]|0)+4,v=E}function C4(t,e){t=t|0,e=e|0;var i=0,n=0,o=0,a=0,A=0,l=0,c=0,d=0,x=0,w=0,N=0,G=0,E=0,U=0;E=v,v=v+48|0,n=E+32|0,i=E+28|0,A=E+8|0,l=E+4|0,c=E,G=t+4|0,w=r[G>>2]|0,N=r[t>>2]|0,d=N;do if((w|0)==(N|0)){if(N=t+8|0,x=r[N>>2]|0,a=t+12|0,U=r[a>>2]|0,o=U,x>>>0>=U>>>0){U=o-d|0,U=U|0?U>>1:1,ur(A,U,(U+3|0)>>>2,r[t+16>>2]|0),r[l>>2]=r[G>>2],r[c>>2]=r[N>>2],r[i>>2]=r[l>>2],r[n>>2]=r[c>>2],Tr(A,i,n),i=r[t>>2]|0,r[t>>2]=r[A>>2],r[A>>2]=i,i=A+4|0,U=r[G>>2]|0,r[G>>2]=r[i>>2],r[i>>2]=U,i=A+8|0,U=r[N>>2]|0,r[N>>2]=r[i>>2],r[i>>2]=U,i=A+12|0,U=r[a>>2]|0,r[a>>2]=r[i>>2],r[i>>2]=U,cr(A),i=r[G>>2]|0;break}n=x,t=((o-n>>2)+1|0)/2|0,o=x+(t<<2)|0,n=n-w|0,i=o+(0-(n>>2)<<2)|0,n?(Mt(i|0,w|0,n|0)|0,n=(r[N>>2]|0)+(t<<2)|0):(i=o,n=o),r[G>>2]=i,r[N>>2]=n}else i=w;while(0);r[i+-4>>2]=r[e>>2],r[G>>2]=(r[G>>2]|0)+-4,v=E}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&&A0(e,(r[t+12>>2]|0)-e|0)}function Tr(t,e,i){t=t|0,e=e|0,i=i|0;var n=0,o=0,a=0,A=0;if(A=v,v=v+16|0,a=A,o=r[e>>2]|0,I4(a,t+8|0,(r[i>>2]|0)-o>>2),t=r[a>>2]|0,n=a+4|0,(t|0)!=(r[n>>2]|0)){i=o;do r[t>>2]=r[i>>2],t=(r[a>>2]|0)+4|0,r[a>>2]=t,i=i+4|0;while((t|0)!=(r[n>>2]|0));r[e>>2]=i}O4(a),v=A}function I4(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 O4(t){t=t|0,r[r[t+8>>2]>>2]=r[t>>2]}function J4(t,e){return t=t|0,e=e|0,(r[t+4>>2]|0)==(r[e+4>>2]|0)|0}function To(t,e,i){t=t|0,e=e|0,i=i|0,r[t>>2]=e,r[t+4>>2]=i}function P4(t,e){t=t|0,e=e|0;var i=0,n=0,o=0,a=0;a=r[e+4>>2]|0,i=r[e+16>>2]|0,n=(i>>>0)/93|0,o=a+(n<<2)|0,(r[e+8>>2]|0)==(a|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 j4(t,e){t=t|0,e=e|0;var i=0,n=0,o=0,a=0;i=(r[e+16>>2]|0)+(r[e+20>>2]|0)|0,a=r[e+4>>2]|0,n=(i>>>0)/93|0,o=a+(n<<2)|0,(r[e+8>>2]|0)==(a|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 Y4(t){t=t|0;var e=0,i=0,n=0,o=0,a=0,A=0,l=0;if(l=v,v=v+16|0,n=l+8|0,a=l,Xo(n,t),Ge(a,t),o=n+4|0,e=r[o>>2]|0,a=a+4|0,(e|0)!=(r[a>>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[a>>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 A0(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,A=11;break}case 2:{e=93,A=11;break}default:}(A|0)==11&&(r[t+16>>2]=e),v=l}function Xo(t,e){t=t|0,e=e|0;var i=0,n=0,o=0,a=0;a=r[e+4>>2]|0,i=r[e+16>>2]|0,n=(i>>>0)/93|0,o=a+(n<<2)|0,(r[e+8>>2]|0)==(a|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 D4(t,e,i){t=t|0,e=e|0,i=i|0;var n=0,o=0,a=0,A=0,l=0,c=0,d=0;if(d=v,v=v+16|0,c=d,A=t+4|0,u[A>>0]|0){if(o=r[t+20>>2]|0,n=r[t+8>>2]|0,Xo(c,t+32|0),t=t+12|0,(n|0)!=(r[t>>2]|0))for(l=c+4|0,A=n,a=o,n=r[l>>2]|0;o=Z[A>>0]|0,o=H4((Y0(e,n)|0)+o|0)|0,u[a>>0]=o,u[i>>0]=o,u[A>>0]=o,A=A+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),(A|0)!=(r[t>>2]|0);)a=a+1|0}else{if(c=di(e)|0,yi(c,i,r[t>>2]|0),c=r[t>>2]|0,a=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)!=(a|0);)o=o+1|0;n=r[t>>2]|0}u[A>>0]=1,i=i+n|0}return v=d,i|0}function H4(t){return t=t|0,t&255|0}function L4(t){t=t|0,C0(t),$(t)}function Q4(t){t=t|0,t=r[t+12>>2]|0,t|0&&w0[r[(r[t>>2]|0)+4>>2]&255](t)}function q4(t,e){return t=t|0,e=e|0,((r[e+4>>2]|0)==11262?t+12|0:0)|0}function $4(t){t=t|0,A0(t,16)}function Uo(t,e){t=t|0,e=e|0,r[t>>2]=0,r[t+4>>2]=0,r[t+8>>2]=0,e|0&&(go(t,e),b4(t,e))}function K4(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&&tm(t,e,i)}function b4(t,e){t=t|0,e=e|0;var i=0,n=0,o=0;if(o=v,v=v+16|0,n=o,Ro(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));xo(n),v=o}function tm(t,e,i){t=t|0,e=e|0,i=i|0;var n=0,o=0,a=0,A=0,l=0,c=0,d=0,x=0,w=0,N=0,G=0;if(G=v,v=v+96|0,N=G+80|0,d=G+64|0,A=G+48|0,l=G+40|0,c=G+8|0,o=G,x=G+32|0,w=G+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&&wo(t,e-n|0),Ge(l,t),Ge(o,t),n=r[o>>2]|0,o=r[o+4>>2]|0,a=c,r[a>>2]=n,r[a+4>>2]=o,a=n,e|0&&(n=((o-(r[n>>2]|0)|0)/44|0)+e|0,(n|0)>0?(e=(n>>>0)/93|0,a=a+(e<<2)|0,r[c>>2]=a,n=(r[a>>2]|0)+((n-(e*93|0)|0)*44|0)|0):(n=92-n|0,e=a+(((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[d>>2]=r[l>>2],r[d+4>>2]=r[l+4>>2],r[N>>2]=r[c>>2],r[N+4>>2]=r[c+4>>2],Dn(A,d,N),Zo(N,A),Fo(d,A),xi(N,d)|0){o=w+4|0;do{if(ko(x,N),No(w,t,x),n=r[w>>2]|0,(n|0)!=(r[o>>2]|0))do Sn(n,i),n=(r[w>>2]|0)+44|0,r[w>>2]=n;while((n|0)!=(r[o>>2]|0));Vo(w),Wo(N)|0}while(xi(N,d)|0)}v=G}function rm(t){t=t|0;var e=0,i=0;if(Y4(t),e=r[t+4>>2]|0,i=r[t+8>>2]|0,(e|0)!=(i|0))do A0(r[e>>2]|0,4092),e=e+4|0;while((e|0)!=(i|0));E4(t)}function em(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 im(t,e,i){t=t|0,e=e|0,i=i|0;var n=0,o=0;i=v,v=v+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),v=i}function nm(t,e){return t=t|0,e=e|0,om(r[t+8>>2]|0,r[t+4>>2]|0,e)|0}function Go(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&&(fm(e),$(e)),kr(t)}function sm(t){t=t|0,Go(t),$(t)}function om(t,e,i){return t=t|0,e=e|0,i=i|0,Hn(t+4784|0,e,Xe(t,e,i)|0)|0}function Hn(t,e,i){return t=t|0,e=e|0,i=i|0,u[t>>0]|0&&(Bn(e),u[t>>0]=0),i|0}function fm(t){t=t|0,Te(t)}function wi(t,e){t=t|0,e=e|0}function am(t){t=t|0,C0(t),$(t)}function Am(t){t=t|0,t=r[t+12>>2]|0,t|0&&w0[r[(r[t>>2]|0)+8>>2]&255](t)}function hm(t,e){return t=t|0,e=e|0,((r[e+4>>2]|0)==12004?t+12|0:0)|0}function lm(t){t=t|0,A0(t,16)}function Ln(t){t=t|0,u[t>>0]=1}function um(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 cm(t,e,i){t=t|0,e=e|0,i=i|0;var n=0,o=0;i=v,v=v+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),v=i}function mm(t,e){return t=t|0,e=e|0,pm(r[t+8>>2]|0,r[t+4>>2]|0,e)|0}function Eo(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&&(ym(e),$(e)),kr(t)}function vm(t){t=t|0,Eo(t),$(t)}function pm(t,e,i){return t=t|0,e=e|0,i=i|0,dm(t+4784|0,e,Xe(t,e,i)|0)|0}function dm(t,e,i){return t=t|0,e=e|0,i=i|0,Hn(t+328|0,e,Ue(t,e,i)|0)|0}function ym(t){t=t|0,Mm(t+4784|0),Te(t)}function Mm(t){t=t|0,Yn(t)}function gm(t){t=t|0,C0(t),$(t)}function _m(t){t=t|0,t=r[t+12>>2]|0,t|0&&w0[r[(r[t>>2]|0)+8>>2]&255](t)}function Rm(t,e){return t=t|0,e=e|0,((r[e+4>>2]|0)==12827?t+12|0:0)|0}function xm(t){t=t|0,A0(t,16)}function wm(t){t=t|0,jn(t),Ln(t+328|0)}function Zm(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 Fm(t,e,i){t=t|0,e=e|0,i=i|0;var n=0,o=0;i=v,v=v+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),v=i}function km(t,e){return t=t|0,e=e|0,Vm(r[t+8>>2]|0,r[t+4>>2]|0,e)|0}function zo(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&&(Wm(e),$(e)),kr(t)}function Nm(t){t=t|0,zo(t),$(t)}function Vm(t,e,i){return t=t|0,e=e|0,i=i|0,Bo(t+4784|0,e,Xe(t,e,i)|0)|0}function Bo(t,e,i){return t=t|0,e=e|0,i=i|0,Hn(t+316|0,e,po(t,e,i)|0)|0}function Wm(t){t=t|0,So(t+4784|0),Te(t)}function So(t){t=t|0,vo(t)}function Tm(t){t=t|0,C0(t),$(t)}function Xm(t){t=t|0,t=r[t+12>>2]|0,t|0&&w0[r[(r[t>>2]|0)+8>>2]&255](t)}function Um(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,A0(t,16)}function Co(t){t=t|0,uo(t),Ln(t+316|0)}function Em(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 zm(t,e,i){t=t|0,e=e|0,i=i|0;var n=0,o=0;i=v,v=v+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),v=i}function Bm(t,e){return t=t|0,e=e|0,Cm(r[t+8>>2]|0,r[t+4>>2]|0,e)|0}function Io(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&&(Om(e),$(e)),kr(t)}function Sm(t){t=t|0,Io(t),$(t)}function Cm(t,e,i){return t=t|0,e=e|0,i=i|0,Im(t+4784|0,e,Xe(t,e,i)|0)|0}function Im(t,e,i){return t=t|0,e=e|0,i=i|0,Bo(t+328|0,e,Ue(t,e,i)|0)|0}function Om(t){t=t|0,Jm(t+4784|0),Te(t)}function Jm(t){t=t|0,So(t+328|0),Yn(t)}function Pm(t){t=t|0,C0(t),$(t)}function jm(t){t=t|0,t=r[t+12>>2]|0,t|0&&w0[r[(r[t>>2]|0)+8>>2]&255](t)}function Ym(t,e){return t=t|0,e=e|0,((r[e+4>>2]|0)==14573?t+12|0:0)|0}function Dm(t){t=t|0,A0(t,16)}function Hm(t){t=t|0,jn(t),Co(t+328|0)}function Lm(t){return t=t|0,t+20|0}function Qm(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 qm(t,e){t=t|0,e=e|0,r[t>>2]=e,r[t+4>>2]=0,r[t+8>>2]=-1}function $m(t,e){t=t|0,e=e|0;var i=0,n=0,o=0,a=0;i=v,v=v+16|0,n=i+4|0,a=i,o=b(24)|0,l3(o,e),r[a>>2]=0,r[n>>2]=r[a>>2],u3(t,o,n),v=i}function Ee(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)&&(w0[r[(r[t>>2]|0)+8>>2]&255](t),qt(t))}function Km(t,e,i){t=t|0,e=e|0,i=i|0;var n=0,o=0;i=v,v=v+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,bm(t,n),v=i}function Qn(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)&&(w0[r[(r[t>>2]|0)+8>>2]&255](t),qt(t))}function bm(t,e){t=t|0,e=e|0}function t3(t){t=t|0,C0(t),$(t)}function r3(t){t=t|0,t=r[t+12>>2]|0,t|0&&$(t)}function e3(t,e){return t=t|0,e=e|0,((r[e+4>>2]|0)==14966?t+12|0:0)|0}function i3(t){t=t|0,A0(t,16)}function n3(t,e,i){t=t|0,e=e|0,i=i|0;var n=0,o=0;i=v,v=v+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,s3(t,n),v=i}function Oo(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)&&(w0[r[(r[t>>2]|0)+8>>2]&255](t),qt(t))}function s3(t,e){t=t|0,e=e|0}function o3(t){t=t|0,C0(t),$(t)}function f3(t){t=t|0,t=r[t+12>>2]|0,t|0&&(h3(t),$(t))}function a3(t,e){return t=t|0,e=e|0,((r[e+4>>2]|0)==15127?t+12|0:0)|0}function A3(t){t=t|0,A0(t,16)}function h3(t){t=t|0}function l3(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 u3(t,e,i){t=t|0,e=e|0,i=i|0;var n=0,o=0;i=v,v=v+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,p3(t,n),v=i}function c3(t,e){t=t|0,e=e|0;var i=0,n=0,o=0,a=0,A=0,l=0,c=0;if(c=v,v=v+16|0,a=c,i=r[t+8>>2]|0,A=r[t+12>>2]|0,(i|0)!=(A|0)){l=a+4|0;do n=r[i>>2]|0,r[a>>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=Oe[r[(r[n>>2]|0)+12>>2]&63](n,e)|0,rt(a),i=i+8|0;while((i|0)!=(A|0))}return i=t+20|0,u[i>>0]|0&&(u[i>>0]=0,v3(r[t+4>>2]|0)),v=c,e|0}function Jo(t){t=t|0,r[t>>2]=5172,bs(t+8|0),kr(t)}function m3(t){t=t|0,Jo(t),$(t)}function v3(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 p3(t,e){t=t|0,e=e|0}function d3(t){t=t|0,C0(t),$(t)}function y3(t){t=t|0,t=r[t+12>>2]|0,t|0&&w0[r[(r[t>>2]|0)+8>>2]&255](t)}function M3(t,e){return t=t|0,e=e|0,((r[e+4>>2]|0)==15450?t+12|0:0)|0}function g3(t){t=t|0,A0(t,16)}function qn(t){t=t|0;var e=0,i=0,n=0,o=0,a=0,A=0,l=0,c=0,d=0,x=0;c=v,v=v+32|0,n=c+12|0,o=c,e=c+8|0,A=b(180)|0,_3(A,r[t+4>>2]|0),a=t+8|0,r[e>>2]=0,r[n>>2]=r[e>>2],R3(o,A,n),A=t+12|0,e=r[A>>2]|0,l=t+16|0;do if(e>>>0>=(r[l>>2]|0)>>>0)if(e=(e-(r[a>>2]|0)>>3)+1|0,i=It(a)|0,i>>>0<e>>>0)Q0(a);else{d=r[a>>2]|0,x=(r[l>>2]|0)-d|0,l=x>>2,Bt(n,x>>3>>>0<i>>>1>>>0?l>>>0<e>>>0?e:l:i,(r[A>>2]|0)-d>>3,t+16|0),l=n+8|0,A=r[l>>2]|0,r[A>>2]=r[o>>2],t=o+4|0,r[A+4>>2]=r[t>>2],r[o>>2]=0,r[t>>2]=0,r[l>>2]=A+8,St(a,n),Ct(n);break}else Et(n,a,1),x=n+4|0,d=r[x>>2]|0,r[d>>2]=r[o>>2],l=o+4|0,r[d+4>>2]=r[l>>2],r[o>>2]=0,r[l>>2]=0,r[x>>2]=d+8,zt(n);while(0);rt(o),v=c}function Zi(t){t=t|0;var e=0,i=0,n=0,o=0,a=0,A=0,l=0,c=0,d=0,x=0;c=v,v=v+32|0,n=c+12|0,o=c,e=c+8|0,A=b(180)|0,S3(A,r[t+4>>2]|0),a=t+8|0,r[e>>2]=0,r[n>>2]=r[e>>2],C3(o,A,n),A=t+12|0,e=r[A>>2]|0,l=t+16|0;do if(e>>>0>=(r[l>>2]|0)>>>0)if(e=(e-(r[a>>2]|0)>>3)+1|0,i=It(a)|0,i>>>0<e>>>0)Q0(a);else{d=r[a>>2]|0,x=(r[l>>2]|0)-d|0,l=x>>2,Bt(n,x>>3>>>0<i>>>1>>>0?l>>>0<e>>>0?e:l:i,(r[A>>2]|0)-d>>3,t+16|0),l=n+8|0,A=r[l>>2]|0,r[A>>2]=r[o>>2],t=o+4|0,r[A+4>>2]=r[t>>2],r[o>>2]=0,r[t>>2]=0,r[l>>2]=A+8,St(a,n),Ct(n);break}else Et(n,a,1),x=n+4|0,d=r[x>>2]|0,r[d>>2]=r[o>>2],l=o+4|0,r[d+4>>2]=r[l>>2],r[o>>2]=0,r[l>>2]=0,r[x>>2]=d+8,zt(n);while(0);rt(o),v=c}function _3(t,e){t=t|0,e=e|0,Ot(t),r[t>>2]=5220,r[t+4>>2]=e,x3(t+8|0)}function R3(t,e,i){t=t|0,e=e|0,i=i|0;var n=0,o=0;i=v,v=v+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,Jt(t,n),v=i}function x3(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,F3(t+164|0)}function Po(t){t=t|0,r[t>>2]=5220,k3(t+8|0),vt(t)}function w3(t){t=t|0,Po(t),$(t)}function Z3(t,e){return t=t|0,e=e|0,N3(t+8|0,r[t+4>>2]|0,e)|0}function F3(t){t=t|0,u[t+4>>0]=0}function k3(t){t=t|0,ft(t+80|0),dt(t)}function N3(t,e,i){t=t|0,e=e|0,i=i|0;var n=0,o=0,a=0;return a=v,v=v+16|0,n=a,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,_i(e,i)):(se(ne(e)|0,i,4),r[n>>2]=Mi(i)|0),W3(o,n),v=a,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=(T3(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 W3(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 T3(t,e,i){t=t|0,e=e|0,i=i|0;var n=0;i=$n(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=$n(e,(r[t+68>>2]|0)+((i+-1|0)*44|0)|0)|0,n=i<<n|(jo(e,n)|0)):n=$n(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=X3(e,t+48|0)|0;while(0);return i|0}function $n(t,e){t=t|0,e=e|0;var i=0,n=0,o=0,a=0,A=0,l=0,c=0,d=0,x=0,w=0,N=0,G=0;if(N=t+8|0,w=r[N>>2]|0,o=r[e+16>>2]|0,o){if(n=t+4|0,i=r[n>>2]|0,x=w>>>15,r[N>>2]=x,c=(i>>>0)/(x>>>0)|0,l=c>>>(r[e+40>>2]|0),a=r[o+(l<<2)>>2]|0,l=(r[o+(l+1<<2)>>2]|0)+1|0,A=a+1|0,d=r[e+8>>2]|0,l>>>0>A>>>0){o=a,a=l;do A=(a+o|0)>>>1,l=(r[d+(A<<2)>>2]|0)>>>0>c>>>0,o=l?o:A,a=l?A:a,A=o+1|0;while(a>>>0>A>>>0);a=o}o=u0(r[d+(a<<2)>>2]|0,x)|0,(a|0)==(r[e+32>>2]|0)?A=w:A=u0(r[d+(A<<2)>>2]|0,x)|0}else{d=w>>>15,r[N>>2]=d,l=r[e>>2]|0,x=r[e+8>>2]|0,n=t+4|0,i=r[n>>2]|0,c=l>>>1,o=0,A=w,a=0;do G=u0(r[x+(c<<2)>>2]|0,d)|0,w=G>>>0>i>>>0,A=w?G:A,o=w?o:G,a=w?a:c,l=w?c:l,c=(a+l|0)>>>1;while((c|0)!=(a|0))}return r[n>>2]=i-o,G=A-o|0,r[N>>2]=G,G>>>0<16777216&&Fi(t),N=(r[e+12>>2]|0)+(a<<2)|0,r[N>>2]=(r[N>>2]|0)+1,N=e+28|0,G=(r[N>>2]|0)+-1|0,r[N>>2]=G,G||Cn(e),a|0}function jo(t,e){t=t|0,e=e|0;var i=0,n=0,o=0,a=0;return e>>>0>19?(i=(U3(t)|0)&65535,(jo(t,e+-16|0)|0)<<16|i|0):(n=t+4|0,o=r[n>>2]|0,a=t+8|0,i=(r[a>>2]|0)>>>e,r[a>>2]=i,e=(o>>>0)/(i>>>0)|0,r[n>>2]=o-(u0(e,i)|0),i>>>0<16777216&&Fi(t),e|0)}function X3(t,e){t=t|0,e=e|0;var i=0,n=0,o=0,a=0,A=0,l=0;return n=t+8|0,o=r[n>>2]|0,i=u0(o>>>13,r[e+8>>2]|0)|0,a=t+4|0,A=r[a>>2]|0,l=A>>>0>=i>>>0,l?(r[a>>2]=A-i,i=o-i|0,r[n>>2]=i):(r[n>>2]=i,A=e+12|0,r[A>>2]=(r[A>>2]|0)+1),i>>>0<16777216&&Fi(t),A=e+4|0,t=(r[A>>2]|0)+-1|0,r[A>>2]=t,t||Hs(e),l&1|0}function Fi(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 U3(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-(u0(e,n)|0),Fi(t),e&65535|0}function G3(t){t=t|0,C0(t),$(t)}function E3(t){t=t|0,t=r[t+12>>2]|0,t|0&&w0[r[(r[t>>2]|0)+4>>2]&255](t)}function z3(t,e){return t=t|0,e=e|0,((r[e+4>>2]|0)==15904?t+12|0:0)|0}function B3(t){t=t|0,A0(t,16)}function S3(t,e){t=t|0,e=e|0,Ot(t),r[t>>2]=5272,r[t+4>>2]=e,I3(t+8|0)}function C3(t,e,i){t=t|0,e=e|0,i=i|0;var n=0,o=0;i=v,v=v+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,Jt(t,n),v=i}function I3(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,P3(t+164|0)}function Yo(t){t=t|0,r[t>>2]=5272,j3(t+8|0),vt(t)}function O3(t){t=t|0,Yo(t),$(t)}function J3(t,e){return t=t|0,e=e|0,Y3(t+8|0,r[t+4>>2]|0,e)|0}function P3(t){t=t|0,u[t+4>>0]=0}function j3(t){t=t|0,ft(t+80|0),dt(t)}function Y3(t,e,i){t=t|0,e=e|0,i=i|0;var n=0,o=0,a=0;return a=v,v=v+16|0,n=a,u[t+161>>0]|0||ot(t+80|0),o=t+164|0,D3(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]=gi(i)|0),H3(o,n),v=a,i+4|0}function D3(t){return t=t|0,(u[t+4>>0]|0)!=0|0}function H3(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 L3(t){t=t|0,C0(t),$(t)}function Q3(t){t=t|0,t=r[t+12>>2]|0,t|0&&w0[r[(r[t>>2]|0)+4>>2]&255](t)}function q3(t,e){return t=t|0,e=e|0,((r[e+4>>2]|0)==16402?t+12|0:0)|0}function $3(t){t=t|0,A0(t,16)}function K3(t){t=t|0;var e=0,i=0,n=0,o=0,a=0,A=0,l=0,c=0,d=0,x=0;c=v,v=v+32|0,n=c+12|0,o=c,e=c+8|0,A=b(172)|0,t8(A,r[t+4>>2]|0),a=t+8|0,r[e>>2]=0,r[n>>2]=r[e>>2],r8(o,A,n),A=t+12|0,e=r[A>>2]|0,l=t+16|0;do if(e>>>0>=(r[l>>2]|0)>>>0)if(e=(e-(r[a>>2]|0)>>3)+1|0,i=It(a)|0,i>>>0<e>>>0)Q0(a);else{d=r[a>>2]|0,x=(r[l>>2]|0)-d|0,l=x>>2,Bt(n,x>>3>>>0<i>>>1>>>0?l>>>0<e>>>0?e:l:i,(r[A>>2]|0)-d>>3,t+16|0),l=n+8|0,A=r[l>>2]|0,r[A>>2]=r[o>>2],t=o+4|0,r[A+4>>2]=r[t>>2],r[o>>2]=0,r[t>>2]=0,r[l>>2]=A+8,St(a,n),Ct(n);break}else Et(n,a,1),x=n+4|0,d=r[x>>2]|0,r[d>>2]=r[o>>2],l=o+4|0,r[d+4>>2]=r[l>>2],r[o>>2]=0,r[l>>2]=0,r[x>>2]=d+8,zt(n);while(0);rt(o),v=c}function b3(t){t=t|0;var e=0,i=0,n=0,o=0,a=0,A=0,l=0,c=0,d=0,x=0;c=v,v=v+32|0,n=c+12|0,o=c,e=c+8|0,A=b(176)|0,p8(A,r[t+4>>2]|0),a=t+8|0,r[e>>2]=0,r[n>>2]=r[e>>2],d8(o,A,n),A=t+12|0,e=r[A>>2]|0,l=t+16|0;do if(e>>>0>=(r[l>>2]|0)>>>0)if(e=(e-(r[a>>2]|0)>>3)+1|0,i=It(a)|0,i>>>0<e>>>0)Q0(a);else{d=r[a>>2]|0,x=(r[l>>2]|0)-d|0,l=x>>2,Bt(n,x>>3>>>0<i>>>1>>>0?l>>>0<e>>>0?e:l:i,(r[A>>2]|0)-d>>3,t+16|0),l=n+8|0,A=r[l>>2]|0,r[A>>2]=r[o>>2],t=o+4|0,r[A+4>>2]=r[t>>2],r[o>>2]=0,r[t>>2]=0,r[l>>2]=A+8,St(a,n),Ct(n);break}else Et(n,a,1),x=n+4|0,d=r[x>>2]|0,r[d>>2]=r[o>>2],l=o+4|0,r[d+4>>2]=r[l>>2],r[o>>2]=0,r[l>>2]=0,r[x>>2]=d+8,zt(n);while(0);rt(o),v=c}function t8(t,e){t=t|0,e=e|0,Ot(t),r[t>>2]=5324,r[t+4>>2]=e,e8(t+8|0)}function r8(t,e,i){t=t|0,e=e|0,i=i|0;var n=0,o=0;i=v,v=v+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,Jt(t,n),v=i}function e8(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,s8(t+162|0)}function Do(t){t=t|0,r[t>>2]=5324,o8(t+8|0),vt(t)}function i8(t){t=t|0,Do(t),$(t)}function n8(t,e){return t=t|0,e=e|0,f8(t+8|0,r[t+4>>2]|0,e)|0}function s8(t){t=t|0,u[t+1>>0]=0}function o8(t){t=t|0,ft(t+80|0),dt(t)}function f8(t,e,i){t=t|0,e=e|0,i=i|0;var n=0,o=0,a=0;return a=v,v=v+16|0,n=a,u[t+161>>0]|0||ot(t+80|0),o=t+162|0,a8(o)|0?(e=(ie(t+80|0,e,u[o>>0]|0,0)|0)&255,u[n>>0]=e,A8(e,i)):(se(ne(e)|0,i,1),u[n>>0]=h8(i)|0),l8(o,n),v=a,i+1|0}function a8(t){return t=t|0,(u[t+1>>0]|0)!=0|0}function A8(t,e){t=t|0,e=e|0,u[e>>0]=t}function h8(t){return t=t|0,u[t>>0]|0}function l8(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 u8(t){t=t|0,C0(t),$(t)}function c8(t){t=t|0,t=r[t+12>>2]|0,t|0&&w0[r[(r[t>>2]|0)+4>>2]&255](t)}function m8(t,e){return t=t|0,e=e|0,((r[e+4>>2]|0)==16900?t+12|0:0)|0}function v8(t){t=t|0,A0(t,16)}function p8(t,e){t=t|0,e=e|0,Ot(t),r[t>>2]=5376,r[t+4>>2]=e,y8(t+8|0)}function d8(t,e,i){t=t|0,e=e|0,i=i|0;var n=0,o=0;i=v,v=v+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,Jt(t,n),v=i}function y8(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,_8(t+162|0)}function Ho(t){t=t|0,r[t>>2]=5376,R8(t+8|0),vt(t)}function M8(t){t=t|0,Ho(t),$(t)}function g8(t,e){return t=t|0,e=e|0,x8(t+8|0,r[t+4>>2]|0,e)|0}function _8(t){t=t|0,u[t+2>>0]=0}function R8(t){t=t|0,ft(t+80|0),dt(t)}function x8(t,e,i){t=t|0,e=e|0,i=i|0;var n=0,o=0,a=0;return a=v,v=v+16|0,n=a,u[t+161>>0]|0||ot(t+80|0),o=t+162|0,w8(o)|0?(e=(ie(t+80|0,e,B[o>>1]|0,0)|0)&65535,B[n>>1]=e,Z8(e,i)):(se(ne(e)|0,i,2),B[n>>1]=F8(i)|0),k8(o,n),v=a,i+2|0}function w8(t){return t=t|0,(u[t+2>>0]|0)!=0|0}function Z8(t,e){t=t|0,e=e|0,Wr(t,e)}function F8(t){return t=t|0,Vr(t)|0}function k8(t,e){t=t|0,e=e|0;var i=0;i=t+2|0,u[i>>0]|0||(u[i>>0]=1),B[t>>1]=B[e>>1]|0}function N8(t){t=t|0,C0(t),$(t)}function V8(t){t=t|0,t=r[t+12>>2]|0,t|0&&w0[r[(r[t>>2]|0)+4>>2]&255](t)}function W8(t,e){return t=t|0,e=e|0,((r[e+4>>2]|0)==17398?t+12|0:0)|0}function T8(t){t=t|0,A0(t,16)}function X8(t){t=t|0;var e=0,i=0,n=0,o=0,a=0,A=0,l=0,c=0,d=0,x=0;c=v,v=v+32|0,n=c+12|0,o=c,e=c+8|0,A=b(172)|0,G8(A,r[t+4>>2]|0),a=t+8|0,r[e>>2]=0,r[n>>2]=r[e>>2],E8(o,A,n),A=t+12|0,e=r[A>>2]|0,l=t+16|0;do if(e>>>0>=(r[l>>2]|0)>>>0)if(e=(e-(r[a>>2]|0)>>3)+1|0,i=It(a)|0,i>>>0<e>>>0)Q0(a);else{d=r[a>>2]|0,x=(r[l>>2]|0)-d|0,l=x>>2,Bt(n,x>>3>>>0<i>>>1>>>0?l>>>0<e>>>0?e:l:i,(r[A>>2]|0)-d>>3,t+16|0),l=n+8|0,A=r[l>>2]|0,r[A>>2]=r[o>>2],t=o+4|0,r[A+4>>2]=r[t>>2],r[o>>2]=0,r[t>>2]=0,r[l>>2]=A+8,St(a,n),Ct(n);break}else Et(n,a,1),x=n+4|0,d=r[x>>2]|0,r[d>>2]=r[o>>2],l=o+4|0,r[d+4>>2]=r[l>>2],r[o>>2]=0,r[l>>2]=0,r[x>>2]=d+8,zt(n);while(0);rt(o),v=c}function U8(t){t=t|0;var e=0,i=0,n=0,o=0,a=0,A=0,l=0,c=0,d=0,x=0;c=v,v=v+32|0,n=c+12|0,o=c,e=c+8|0,A=b(176)|0,L8(A,r[t+4>>2]|0),a=t+8|0,r[e>>2]=0,r[n>>2]=r[e>>2],Q8(o,A,n),A=t+12|0,e=r[A>>2]|0,l=t+16|0;do if(e>>>0>=(r[l>>2]|0)>>>0)if(e=(e-(r[a>>2]|0)>>3)+1|0,i=It(a)|0,i>>>0<e>>>0)Q0(a);else{d=r[a>>2]|0,x=(r[l>>2]|0)-d|0,l=x>>2,Bt(n,x>>3>>>0<i>>>1>>>0?l>>>0<e>>>0?e:l:i,(r[A>>2]|0)-d>>3,t+16|0),l=n+8|0,A=r[l>>2]|0,r[A>>2]=r[o>>2],t=o+4|0,r[A+4>>2]=r[t>>2],r[o>>2]=0,r[t>>2]=0,r[l>>2]=A+8,St(a,n),Ct(n);break}else Et(n,a,1),x=n+4|0,d=r[x>>2]|0,r[d>>2]=r[o>>2],l=o+4|0,r[d+4>>2]=r[l>>2],r[o>>2]=0,r[l>>2]=0,r[x>>2]=d+8,zt(n);while(0);rt(o),v=c}function G8(t,e){t=t|0,e=e|0,Ot(t),r[t>>2]=5428,r[t+4>>2]=e,z8(t+8|0)}function E8(t,e,i){t=t|0,e=e|0,i=i|0;var n=0,o=0;i=v,v=v+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,Jt(t,n),v=i}function z8(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,C8(t+162|0)}function Lo(t){t=t|0,r[t>>2]=5428,I8(t+8|0),vt(t)}function B8(t){t=t|0,Lo(t),$(t)}function S8(t,e){return t=t|0,e=e|0,O8(t+8|0,r[t+4>>2]|0,e)|0}function C8(t){t=t|0,u[t+1>>0]=0}function I8(t){t=t|0,ft(t+80|0),dt(t)}function O8(t,e,i){t=t|0,e=e|0,i=i|0;var n=0,o=0,a=0;return a=v,v=v+16|0,n=a,u[t+161>>0]|0||ot(t+80|0),o=t+162|0,J8(o)|0?(e=(ie(t+80|0,e,Z[o>>0]|0,0)|0)&255,u[n>>0]=e,Pn(e,i)):(se(ne(e)|0,i,1),u[n>>0]=Jn(i)|0),P8(o,n),v=a,i+1|0}function J8(t){return t=t|0,(u[t+1>>0]|0)!=0|0}function P8(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 j8(t){t=t|0,C0(t),$(t)}function Y8(t){t=t|0,t=r[t+12>>2]|0,t|0&&w0[r[(r[t>>2]|0)+4>>2]&255](t)}function D8(t,e){return t=t|0,e=e|0,((r[e+4>>2]|0)==17896?t+12|0:0)|0}function H8(t){t=t|0,A0(t,16)}function L8(t,e){t=t|0,e=e|0,Ot(t),r[t>>2]=5480,r[t+4>>2]=e,q8(t+8|0)}function Q8(t,e,i){t=t|0,e=e|0,i=i|0;var n=0,o=0;i=v,v=v+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,Jt(t,n),v=i}function q8(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,b8(t+162|0)}function Qo(t){t=t|0,r[t>>2]=5480,tv(t+8|0),vt(t)}function $8(t){t=t|0,Qo(t),$(t)}function K8(t,e){return t=t|0,e=e|0,rv(t+8|0,r[t+4>>2]|0,e)|0}function b8(t){t=t|0,u[t+2>>0]=0}function tv(t){t=t|0,ft(t+80|0),dt(t)}function rv(t,e,i){t=t|0,e=e|0,i=i|0;var n=0,o=0,a=0;return a=v,v=v+16|0,n=a,u[t+161>>0]|0||ot(t+80|0),o=t+162|0,ev(o)|0?(e=(ie(t+80|0,e,I[o>>1]|0,0)|0)&65535,B[n>>1]=e,Wr(e,i)):(se(ne(e)|0,i,2),B[n>>1]=Vr(i)|0),iv(o,n),v=a,i+2|0}function ev(t){return t=t|0,(u[t+2>>0]|0)!=0|0}function iv(t,e){t=t|0,e=e|0;var i=0;i=t+2|0,u[i>>0]|0||(u[i>>0]=1),B[t>>1]=B[e>>1]|0}function nv(t){t=t|0,C0(t),$(t)}function sv(t){t=t|0,t=r[t+12>>2]|0,t|0&&w0[r[(r[t>>2]|0)+4>>2]&255](t)}function ov(t,e){return t=t|0,e=e|0,((r[e+4>>2]|0)==18394?t+12|0:0)|0}function fv(t){t=t|0,A0(t,16)}function uR(){}function av(t){return t=t|0,mv(t)|0}function Av(){return 0}function hv(){return 0}function lv(t){t=t|0,t|0&&(vv(t),$(t))}function ze(){return pv()|0}function uv(){return dv()|0}function cv(){return yv()|0}function qo(){return 0}function mv(t){return t=t|0,3360}function vv(t){t=t|0;var e=0,i=0,n=0,o=0;e=v,v=v+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,Tn(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,Xn(n),Xn(i),Tn(t),v=e}function pv(){return 3360}function dv(){return 3368}function yv(){return 3384}function ki(){return 18579}function Ni(){return 18582}function $o(){return 18584}function Mv(){var t=0;return t=b(16)|0,Fv(t),t|0}function gv(t){t=t|0;var e=0,i=0,n=0,o=0;e=v,v=v+16|0,i=e,o=ze()|0,n=Rv(i)|0,i=xv(i)|0,ws(o|0,n|0,i|0,ki()|0,12,t|0),v=e}function _v(t){return t=t|0,wv(v2[t&3]()|0)|0}function Rv(t){return t=t|0,1}function xv(t){return t=t|0,Zv()|0}function wv(t){return t=t|0,t|0}function Zv(){return 5524}function Fv(t){t=t|0,r[t>>2]=0,r[t+4>>2]=0,r[t+8>>2]=0,r[t+12>>2]=0}function kv(t,e){t=t|0,e=e|0;var i=0,n=0,o=0,a=0,A=0;i=v,v=v+16|0,n=i,o=i+8|0,A=r[e+4>>2]|0,r[n>>2]=r[e>>2],r[n+4>>2]=A,A=ze()|0,a=Vv(o)|0,o=Wv(o)|0,e=bo()|0,br(A|0,t|0,a|0,o|0,e|0,4,Tv(n)|0,0),v=i}function Nv(t,e,i,n){t=t|0,e=e|0,i=i|0,n=n|0;var o=0,a=0;a=Kn(e)|0,e=r[t>>2]|0,o=r[t+4>>2]|0,t=a+(o>>1)|0,o&1&&(e=r[(r[t>>2]|0)+e>>2]|0),o=Ko(i)|0,a=bn(n)|0,Je[e&15](t,o,a)}function Vv(t){return t=t|0,4}function Wv(t){return t=t|0,Xv()|0}function Tv(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 Ko(t){return t=t|0,t|0}function bn(t){return t=t|0,t|0}function Xv(){return 144}function bo(){return 18587}function Uv(t,e){t=t|0,e=e|0;var i=0,n=0,o=0,a=0,A=0;i=v,v=v+16|0,n=i,o=i+8|0,A=r[e+4>>2]|0,r[n>>2]=r[e>>2],r[n+4>>2]=A,A=ze()|0,a=Ev(o)|0,o=zv(o)|0,e=t2()|0,br(A|0,t|0,a|0,o|0,e|0,7,Bv(n)|0,0),v=i}function Gv(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=tf(i)|0,vr[e&15](t,o)}function Ev(t){return t=t|0,3}function zv(t){return t=t|0,Sv()|0}function Bv(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 tf(t){return t=t|0,t|0}function Sv(){return 5528}function t2(){return 18593}function Cv(t,e){t=t|0,e=e|0;var i=0,n=0,o=0,a=0,A=0;i=v,v=v+16|0,n=i,o=i+8|0,A=r[e+4>>2]|0,r[n>>2]=r[e>>2],r[n+4>>2]=A,A=ze()|0,a=Ov(o)|0,o=Jv(o)|0,e=Dv()|0,br(A|0,t|0,a|0,o|0,e|0,41,Pv(n)|0,0),v=i}function Iv(t,e){t=t|0,e=e|0;var i=0,n=0,o=0,a=0;return n=v,v=v+16|0,i=n,a=Kn(e)|0,e=r[t>>2]|0,o=r[t+4>>2]|0,t=a+(o>>1)|0,o&1&&(e=r[(r[t>>2]|0)+e>>2]|0),r[i>>2]=Ei[e&15](t)|0,a=jv(i)|0,v=n,a|0}function Ov(t){return t=t|0,2}function Jv(t){return t=t|0,Yv()|0}function Pv(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 jv(t){return t=t|0,r[t>>2]|0}function Yv(){return 5540}function Dv(){return 18598}function cR(){}function Hv(t){return t=t|0,bv(t)|0}function Lv(){return 0}function Qv(){return 0}function qv(t){t=t|0,t|0&&(t5(t),$(t))}function Be(){return r5()|0}function $v(){return e5()|0}function Kv(){return i5()|0}function bv(t){return t=t|0,3400}function t5(t){t=t|0;var e=0,i=0,n=0,o=0;e=v,v=v+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,Qn(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,Ee(n),r[n>>2]=r[i>>2],r[i>>2]=0,r[n+4>>2]=r[o>>2],r[o>>2]=0,Ee(n),Ee(i),Oo(t+8|0),Qn(t),v=e}function r5(){return 3400}function e5(){return 3408}function i5(){return 3424}function n5(){var t=0;return t=b(24)|0,l5(t),t|0}function s5(t){t=t|0;var e=0,i=0,n=0,o=0;e=v,v=v+16|0,i=e,o=Be()|0,n=f5(i)|0,i=a5(i)|0,ws(o|0,n|0,i|0,ki()|0,13,t|0),v=e}function o5(t){return t=t|0,A5(v2[t&3]()|0)|0}function f5(t){return t=t|0,1}function a5(t){return t=t|0,h5()|0}function A5(t){return t=t|0,t|0}function h5(){return 5548}function l5(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 u5(t,e){t=t|0,e=e|0;var i=0,n=0,o=0,a=0,A=0;i=v,v=v+16|0,n=i,o=i+8|0,A=r[e+4>>2]|0,r[n>>2]=r[e>>2],r[n+4>>2]=A,A=Be()|0,a=m5(o)|0,o=v5(o)|0,e=bo()|0,br(A|0,t|0,a|0,o|0,e|0,5,p5(n)|0,0),v=i}function c5(t,e,i,n){t=t|0,e=e|0,i=i|0,n=n|0;var o=0,a=0;a=r2(e)|0,e=r[t>>2]|0,o=r[t+4>>2]|0,t=a+(o>>1)|0,o&1&&(e=r[(r[t>>2]|0)+e>>2]|0),o=Ko(i)|0,a=bn(n)|0,Je[e&15](t,o,a)}function m5(t){return t=t|0,4}function v5(t){return t=t|0,d5()|0}function p5(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 r2(t){return t=t|0,t|0}function d5(){return 160}function e2(t,e){t=t|0,e=e|0;var i=0,n=0,o=0,a=0,A=0;i=v,v=v+16|0,n=i,o=i+8|0,A=r[e+4>>2]|0,r[n>>2]=r[e>>2],r[n+4>>2]=A,A=Be()|0,a=M5(o)|0,o=g5(o)|0,e=t2()|0,br(A|0,t|0,a|0,o|0,e|0,8,_5(n)|0,0),v=i}function y5(t,e,i){t=t|0,e=e|0,i=i|0;var n=0,o=0;o=r2(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=bn(i)|0,vr[e&15](t,o)}function M5(t){return t=t|0,3}function g5(t){return t=t|0,R5()|0}function _5(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 R5(){return 5552}function x5(t,e){t=t|0,e=e|0;var i=0,n=0,o=0,a=0,A=0;i=v,v=v+16|0,n=i,o=i+8|0,A=r[e+4>>2]|0,r[n>>2]=r[e>>2],r[n+4>>2]=A,A=Be()|0,a=Z5(o)|0,o=F5(o)|0,e=t2()|0,br(A|0,t|0,a|0,o|0,e|0,9,k5(n)|0,0),v=i}function w5(t,e,i){t=t|0,e=e|0,i=i|0;var n=0,o=0;o=r2(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=tf(i)|0,vr[e&15](t,o)}function Z5(t){return t=t|0,3}function F5(t){return t=t|0,N5()|0}function k5(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(){return 5564}function V5(){Ll()}function W5(){T5()}function T5(){X5(22144)}function X5(t){t=t|0;var e=0;e=v,v=v+16|0,r[e>>2]=t,rf(),v=e}function rf(){Jl(U5()|0,18653),Il(G5()|0,18658,1,1,0),E5(18663),z5(18668),B5(18680),S5(18694),C5(18700),I5(18715),O5(18719),J5(18732),P5(18737),j5(18751),Y5(18757),Fs(D5()|0,18764),Fs(H5()|0,18776),Wn(L5()|0,4,18809),Wn(Q5()|0,2,18822),Wn(q5()|0,4,18837),Ol($5()|0,18852),K5(18868),ef(18898),nf(18935),sf(18974),of(19005),ff(19045),af(19074),b5(19112),tp(19142),ef(19181),nf(19213),sf(19246),of(19279),ff(19313),af(19346),rp(19380),ep(19411),ip(19443)}function U5(){return v6()|0}function G5(){return m6()|0}function E5(t){t=t|0;var e=0,i=0;e=v,v=v+16|0,i=e,r[i>>2]=t,t=u6()|0,Qt(t|0,r[i>>2]|0,1,-128<<24>>24|0,127<<24>>24|0),v=e}function z5(t){t=t|0;var e=0,i=0;e=v,v=v+16|0,i=e,r[i>>2]=t,t=h6()|0,Qt(t|0,r[i>>2]|0,1,-128<<24>>24|0,127<<24>>24|0),v=e}function B5(t){t=t|0;var e=0,i=0;e=v,v=v+16|0,i=e,r[i>>2]=t,t=a6()|0,Qt(t|0,r[i>>2]|0,1,0,255),v=e}function S5(t){t=t|0;var e=0,i=0;e=v,v=v+16|0,i=e,r[i>>2]=t,t=o6()|0,Qt(t|0,r[i>>2]|0,2,-32768<<16>>16|0,32767<<16>>16|0),v=e}function C5(t){t=t|0;var e=0,i=0;e=v,v=v+16|0,i=e,r[i>>2]=t,t=n6()|0,Qt(t|0,r[i>>2]|0,2,0,65535),v=e}function I5(t){t=t|0;var e=0,i=0;e=v,v=v+16|0,i=e,r[i>>2]=t,t=e6()|0,Qt(t|0,r[i>>2]|0,4,-2147483648,2147483647),v=e}function O5(t){t=t|0;var e=0,i=0;e=v,v=v+16|0,i=e,r[i>>2]=t,t=t6()|0,Qt(t|0,r[i>>2]|0,4,0,-1),v=e}function J5(t){t=t|0;var e=0,i=0;e=v,v=v+16|0,i=e,r[i>>2]=t,t=Kp()|0,Qt(t|0,r[i>>2]|0,4,-2147483648,2147483647),v=e}function P5(t){t=t|0;var e=0,i=0;e=v,v=v+16|0,i=e,r[i>>2]=t,t=qp()|0,Qt(t|0,r[i>>2]|0,4,0,-1),v=e}function j5(t){t=t|0;var e=0,i=0;e=v,v=v+16|0,i=e,r[i>>2]=t,t=Lp()|0,Zs(t|0,r[i>>2]|0,4),v=e}function Y5(t){t=t|0;var e=0,i=0;e=v,v=v+16|0,i=e,r[i>>2]=t,t=Dp()|0,Zs(t|0,r[i>>2]|0,8),v=e}function D5(){return Yp()|0}function H5(){return jp()|0}function L5(){return Pp()|0}function Q5(){return Jp()|0}function q5(){return Op()|0}function $5(){return Ip()|0}function K5(t){t=t|0;var e=0,i=0,n=0;e=v,v=v+16|0,i=e,r[i>>2]=t,n=Bp()|0,t=Sp()|0,mt(n|0,t|0,r[i>>2]|0),v=e}function ef(t){t=t|0;var e=0,i=0,n=0;e=v,v=v+16|0,i=e,r[i>>2]=t,n=Gp()|0,t=Ep()|0,mt(n|0,t|0,r[i>>2]|0),v=e}function nf(t){t=t|0;var e=0,i=0,n=0;e=v,v=v+16|0,i=e,r[i>>2]=t,n=Tp()|0,t=Xp()|0,mt(n|0,t|0,r[i>>2]|0),v=e}function sf(t){t=t|0;var e=0,i=0,n=0;e=v,v=v+16|0,i=e,r[i>>2]=t,n=Np()|0,t=Vp()|0,mt(n|0,t|0,r[i>>2]|0),v=e}function of(t){t=t|0;var e=0,i=0,n=0;e=v,v=v+16|0,i=e,r[i>>2]=t,n=Zp()|0,t=Fp()|0,mt(n|0,t|0,r[i>>2]|0),v=e}function ff(t){t=t|0;var e=0,i=0,n=0;e=v,v=v+16|0,i=e,r[i>>2]=t,n=Rp()|0,t=xp()|0,mt(n|0,t|0,r[i>>2]|0),v=e}function af(t){t=t|0;var e=0,i=0,n=0;e=v,v=v+16|0,i=e,r[i>>2]=t,n=Mp()|0,t=gp()|0,mt(n|0,t|0,r[i>>2]|0),v=e}function b5(t){t=t|0;var e=0,i=0,n=0;e=v,v=v+16|0,i=e,r[i>>2]=t,n=pp()|0,t=dp()|0,mt(n|0,t|0,r[i>>2]|0),v=e}function tp(t){t=t|0;var e=0,i=0,n=0;e=v,v=v+16|0,i=e,r[i>>2]=t,n=cp()|0,t=mp()|0,mt(n|0,t|0,r[i>>2]|0),v=e}function rp(t){t=t|0;var e=0,i=0,n=0;e=v,v=v+16|0,i=e,r[i>>2]=t,n=hp()|0,t=lp()|0,mt(n|0,t|0,r[i>>2]|0),v=e}function ep(t){t=t|0;var e=0,i=0,n=0;e=v,v=v+16|0,i=e,r[i>>2]=t,n=fp()|0,t=ap()|0,mt(n|0,t|0,r[i>>2]|0),v=e}function ip(t){t=t|0;var e=0,i=0,n=0;e=v,v=v+16|0,i=e,r[i>>2]=t,n=np()|0,t=sp()|0,mt(n|0,t|0,r[i>>2]|0),v=e}function np(){return op()|0}function sp(){return 7}function op(){return 3440}function fp(){return Ap()|0}function ap(){return 7}function Ap(){return 3448}function hp(){return up()|0}function lp(){return 6}function up(){return 3456}function cp(){return vp()|0}function mp(){return 5}function vp(){return 3464}function pp(){return yp()|0}function dp(){return 4}function yp(){return 3472}function Mp(){return _p()|0}function gp(){return 5}function _p(){return 3480}function Rp(){return wp()|0}function xp(){return 4}function wp(){return 3488}function Zp(){return kp()|0}function Fp(){return 3}function kp(){return 3496}function Np(){return Wp()|0}function Vp(){return 2}function Wp(){return 3504}function Tp(){return Up()|0}function Xp(){return 1}function Up(){return 3512}function Gp(){return zp()|0}function Ep(){return 0}function zp(){return 3520}function Bp(){return Cp()|0}function Sp(){return 0}function Cp(){return 3528}function Ip(){return 3536}function Op(){return 3544}function Jp(){return 3576}function Pp(){return 3600}function jp(){return 3624}function Yp(){return 3648}function Dp(){return Hp()|0}function Hp(){return 4144}function Lp(){return Qp()|0}function Qp(){return 4136}function qp(){return $p()|0}function $p(){return 4128}function Kp(){return bp()|0}function bp(){return 4120}function t6(){return r6()|0}function r6(){return 4112}function e6(){return i6()|0}function i6(){return 4104}function n6(){return s6()|0}function s6(){return 4096}function o6(){return f6()|0}function f6(){return 4088}function a6(){return A6()|0}function A6(){return 4072}function h6(){return l6()|0}function l6(){return 4080}function u6(){return c6()|0}function c6(){return 4064}function m6(){return 4056}function v6(){return 4040}function p6(t){t=t|0;var e=0,i=0,n=0,o=0;return e=v,v=v+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=z6(r[i>>2]|0)|0,v=e,t|0}function Pt(){return 21636}function Se(t){return t=t|0,(t+-48|0)>>>0<10|0}function Af(){return 5576}function hf(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 d6(t){t=t|0}function y6(t){return t=t|0,1}function M6(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 g6(t,e,i){t=t|0,e=e|0,i=i|0;var n=0,o=0,a=0,A=0,l=0;n=i+16|0,o=r[n>>2]|0,o?a=5:M6(i)|0?n=0:(o=r[n>>2]|0,a=5);t:do if((a|0)==5){if(l=i+20|0,A=r[l>>2]|0,n=A,(o-A|0)>>>0<e>>>0){n=Ae[r[i+36>>2]&7](i,t,e)|0;break}r:do if((u[i+75>>0]|0)<0|(e|0)==0)a=0,o=t;else{for(A=e;o=A+-1|0,(u[t+o>>0]|0)!=10;)if(o)A=o;else{a=0,o=t;break r}if(n=Ae[r[i+36>>2]&7](i,t,A)|0,n>>>0<A>>>0)break t;a=A,o=t+A|0,e=e-A|0,n=r[l>>2]|0}while(0);ht(n|0,o|0,e|0)|0,r[l>>2]=(r[l>>2]|0)+e,n=a+e|0}while(0);return n|0}function _6(t,e){return t=t|0,e=e|0,e?e=R6(r[e>>2]|0,r[e+4>>2]|0,t)|0:e=0,(e|0?e:t)|0}function R6(t,e,i){t=t|0,e=e|0,i=i|0;var n=0,o=0,a=0,A=0,l=0,c=0,d=0,x=0,w=0,N=0;N=(r[t>>2]|0)+1794895138|0,a=Xr(r[t+8>>2]|0,N)|0,n=Xr(r[t+12>>2]|0,N)|0,o=Xr(r[t+16>>2]|0,N)|0;t:do if(a>>>0<e>>>2>>>0&&(w=e-(a<<2)|0,n>>>0<w>>>0&o>>>0<w>>>0)&&!((o|n)&3|0)){for(w=n>>>2,x=o>>>2,d=0;;){if(l=a>>>1,c=d+l|0,A=c<<1,o=A+w|0,n=Xr(r[t+(o<<2)>>2]|0,N)|0,o=Xr(r[t+(o+1<<2)>>2]|0,N)|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=hf(i,t+o|0)|0,!n)break;if(n=(n|0)<0,(a|0)==1){n=0;break t}d=n?d:c,a=n?l:a-l|0}n=A+x|0,o=Xr(r[t+(n<<2)>>2]|0,N)|0,n=Xr(r[t+(n+1<<2)>>2]|0,N)|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 Xr(t,e){t=t|0,e=e|0;var i=0;return i=Bf(t|0)|0,(e|0?i:t)|0}function x6(t,e,i){t=t|0,e=e|0,i=i|0;var n=0,o=0,a=0;a=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=u0(a,16843009)|0;r:do if(i>>>0>3)do{if(a=r[t>>2]^n,(a&-2139062144^-2139062144)&a+-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 w6(t,e,i){return t=t|0,e=e|0,i=i|0,k6(t,e,i,1,8)|0}function Z6(t,e,i,n,o,a){t=t|0,e=+e,i=i|0,n=n|0,o=o|0,a=a|0;var A=0,l=0,c=0,d=0,x=0,w=0,N=0,G=0,E=0,U=0,e0=0,Y=0,J=0,t0=0,S=0,M0=0,W0=0,g0=0,f0=0,N0=0,i0=0,n0=0,kt=0;kt=v,v=v+560|0,c=kt+32|0,Y=kt+536|0,n0=kt,i0=n0,d=kt+540|0,r[Y>>2]=0,N0=d+12|0,mf(e)|0,A=y0()|0,(A|0)<0?(e=-e,mf(e)|0,f0=1,g0=20247,A=y0()|0):(f0=(o&2049|0)!=0&1,g0=o&2048|0?20250:o&1|0?20253:20248);do if(!0&(A&2146435072|0)==2146435072)n0=(a&32|0)!=0,A=f0+3|0,D0(t,32,i,A,o&-65537),I0(t,g0,f0),I0(t,e!=e|!1?n0?20274:20278:n0?20266:20270,3),D0(t,32,i,A,o^8192);else{if(G=+vf(e,Y)*2,A=G!=0,A&&(r[Y>>2]=(r[Y>>2]|0)+-1),e0=a|32,(e0|0)==97){w=a&32,E=w|0?g0+9|0:g0,N=f0|2,A=12-n|0;do if(n>>>0>11|(A|0)==0)e=G;else{e=8;do A=A+-1|0,e=e*16;while(A|0);if((u[E>>0]|0)==45){e=-(e+(-G-e));break}else{e=G+e-e;break}}while(0);l=r[Y>>2]|0,A=(l|0)<0?0-l|0:l,A=oe(A,((A|0)<0)<<31>>31,N0)|0,(A|0)==(N0|0)&&(A=d+11|0,u[A>>0]=48),u[A+-1>>0]=(l>>31&2)+43,x=A+-2|0,u[x>>0]=a+15,l=(n|0)<1,c=(o&8|0)==0,d=n0;do f0=~~e,A=d+1|0,u[d>>0]=w|Z[640+f0>>0],e=(e-+(f0|0))*16,(A-i0|0)==1&&!(c&(l&e==0))?(u[A>>0]=46,d=d+2|0):d=A;while(e!=0);n|0&&(-2-i0+d|0)<(n|0)?(l=N0,c=x,A=n+2+l-c|0):(l=N0,c=x,A=l-i0-c+d|0),N0=A+N|0,D0(t,32,i,N0,o),I0(t,E,N),D0(t,48,i,N0,o^65536),i0=d-i0|0,I0(t,n0,i0),n0=l-c|0,D0(t,48,A-(i0+n0)|0,0,0),I0(t,x,n0),D0(t,32,i,N0,o^8192),A=N0;break}l=(n|0)<0?6:n,A?(A=(r[Y>>2]|0)+-28|0,r[Y>>2]=A,e=G*268435456):(e=G,A=r[Y>>2]|0),W0=(A|0)<0?c:c+288|0,c=W0;do S=~~e>>>0,r[c>>2]=S,c=c+4|0,e=(e-+(S>>>0))*1e9;while(e!=0);if(S=W0,(A|0)>0)for(w=W0;;){if(x=(A|0)<29?A:29,A=c+-4|0,A>>>0>=w>>>0){d=0;do U=Ef(r[A>>2]|0,0,x|0)|0,U=yt(U|0,y0()|0,d|0,0)|0,J=y0()|0,d=u2(U|0,J|0,1e9,0)|0,t0=l2(d|0,y0()|0,1e9,0)|0,t0=ae(U|0,J|0,t0|0,y0()|0)|0,y0()|0,r[A>>2]=t0,A=A+-4|0;while(A>>>0>=w>>>0);d?(t0=w+-4|0,r[t0>>2]=d,d=t0):d=w}else d=w;t:do if(c>>>0>d>>>0)for(A=c;;){if(c=A+-4|0,r[c>>2]|0){c=A;break t}if(c>>>0>d>>>0)A=c;else break}while(0);if(A=(r[Y>>2]|0)-x|0,r[Y>>2]=A,(A|0)>0)w=d;else break}else d=W0;if((A|0)<0){n=((l+25|0)/9|0)+1|0,U=(e0|0)==102;do{if(E=0-A|0,E=(E|0)<9?E:9,d>>>0<c>>>0){x=(1<<E)+-1|0,w=1e9>>>E,N=0,A=d;do t0=r[A>>2]|0,r[A>>2]=(t0>>>E)+N,N=u0(t0&x,w)|0,A=A+4|0;while(A>>>0<c>>>0);d=r[d>>2]|0?d:d+4|0,N&&(r[c>>2]=N,c=c+4|0)}else d=r[d>>2]|0?d:d+4|0;A=U?W0:d,c=(c-A>>2|0)>(n|0)?A+(n<<2)|0:c,A=(r[Y>>2]|0)+E|0,r[Y>>2]=A}while((A|0)<0);U=d}else U=d;if(U>>>0<c>>>0){if(A=(S-U>>2)*9|0,x=r[U>>2]|0,x>>>0>=10){d=10;do d=d*10|0,A=A+1|0;while(x>>>0>=d>>>0)}}else A=0;if(J=(e0|0)==103,t0=(l|0)!=0,d=l-((e0|0)==102?0:A)+((t0&J)<<31>>31)|0,(d|0)<(((c-S>>2)*9|0)+-9|0)){if(Y=d+9216|0,d=(Y|0)/9|0,n=W0+4+(d+-1024<<2)|0,d=Y-(d*9|0)|0,(d|0)<8)for(x=10;x=x*10|0,(d|0)<7;)d=d+1|0;else x=10;if(N=r[n>>2]|0,d=(N>>>0)/(x>>>0)|0,E=N-(u0(d,x)|0)|0,w=(n+4|0)==(c|0),w&(E|0)==0)d=n,x=U;else if(G=d&1|0?9007199254740994:9007199254740992,Y=x>>>1,e=E>>>0<Y>>>0?.5:w&(E|0)==(Y|0)?1:1.5,f0&&(Y=(u[g0>>0]|0)==45,e=Y?-e:e,G=Y?-G:G),d=N-E|0,r[n>>2]=d,G+e!=G){if(Y=d+x|0,r[n>>2]=Y,Y>>>0>999999999)for(x=n,A=U;;)if(d=x+-4|0,r[x>>2]=0,d>>>0<A>>>0&&(A=A+-4|0,r[A>>2]=0),Y=(r[d>>2]|0)+1|0,r[d>>2]=Y,Y>>>0>999999999)x=d;else{x=A;break}else d=n,x=U;if(A=(S-x>>2)*9|0,N=r[x>>2]|0,N>>>0>=10){w=10;do w=w*10|0,A=A+1|0;while(N>>>0>=w>>>0)}}else d=n,x=U;Y=d+4|0,c=c>>>0>Y>>>0?Y:c}else x=U;n=0-A|0;t:do if(c>>>0>x>>>0)for(;;){if(d=c+-4|0,r[d>>2]|0){Y=c,e0=1;break t}if(d>>>0>x>>>0)c=d;else{Y=d,e0=0;break}}else Y=c,e0=0;while(0);do if(J){if(l=l+((t0^1)&1)|0,(l|0)>(A|0)&(A|0)>-5?(w=a+-1|0,l=l+-1-A|0):(w=a+-2|0,l=l+-1|0),!(o&8)){if(e0&&(M0=r[Y+-4>>2]|0,(M0|0)!=0))if((M0>>>0)%10|0)d=0;else{d=0,c=10;do c=c*10|0,d=d+1|0;while(!((M0>>>0)%(c>>>0)|0|0))}else d=9;if(c=((Y-S>>2)*9|0)+-9|0,(w|32|0)==102){a=c-d|0,a=(a|0)>0?a:0,l=(l|0)<(a|0)?l:a;break}else{a=c+A-d|0,a=(a|0)>0?a:0,l=(l|0)<(a|0)?l:a;break}}}else w=a;while(0);if(U=(l|0)!=0,N=U?1:o>>>3&1,E=(w|32|0)==102,E)J=0,A=(A|0)>0?A:0;else{if(c=(A|0)<0?n:A,c=oe(c,((c|0)<0)<<31>>31,N0)|0,d=N0,(d-c|0)<2)do c=c+-1|0,u[c>>0]=48;while((d-c|0)<2);u[c+-1>>0]=(A>>31&2)+43,A=c+-2|0,u[A>>0]=w,J=A,A=d-A|0}if(A=f0+1+l+N+A|0,D0(t,32,i,A,o),I0(t,g0,f0),D0(t,48,i,A,o^65536),E){N=x>>>0>W0>>>0?W0:x,E=n0+9|0,x=E,w=n0+8|0,d=N;do{if(c=oe(r[d>>2]|0,0,E)|0,(d|0)==(N|0))(c|0)==(E|0)&&(u[w>>0]=48,c=w);else if(c>>>0>n0>>>0){Br(n0|0,48,c-i0|0)|0;do c=c+-1|0;while(c>>>0>n0>>>0)}I0(t,c,x-c|0),d=d+4|0}while(d>>>0<=W0>>>0);if((o&8|0)==0&(U^1)||I0(t,20282,1),d>>>0<Y>>>0&(l|0)>0)for(;;){if(c=oe(r[d>>2]|0,0,E)|0,c>>>0>n0>>>0){Br(n0|0,48,c-i0|0)|0;do c=c+-1|0;while(c>>>0>n0>>>0)}if(I0(t,c,(l|0)<9?l:9),d=d+4|0,c=l+-9|0,d>>>0<Y>>>0&(l|0)>9)l=c;else{l=c;break}}D0(t,48,l+9|0,9,0)}else{if(Y=e0?Y:x+4|0,x>>>0<Y>>>0&(l|0)>-1){n=n0+9|0,U=(o&8|0)==0,e0=n,N=0-i0|0,E=n0+8|0,w=x;do{c=oe(r[w>>2]|0,0,n)|0,(c|0)==(n|0)&&(u[E>>0]=48,c=E);do if((w|0)==(x|0)){if(d=c+1|0,I0(t,c,1),U&(l|0)<1){c=d;break}I0(t,20282,1),c=d}else{if(c>>>0<=n0>>>0)break;Br(n0|0,48,c+N|0)|0;do c=c+-1|0;while(c>>>0>n0>>>0)}while(0);i0=e0-c|0,I0(t,c,(l|0)>(i0|0)?i0:l),l=l-i0|0,w=w+4|0}while(w>>>0<Y>>>0&(l|0)>-1)}D0(t,48,l+18|0,18,0),I0(t,J,N0-J|0)}D0(t,32,i,A,o^8192)}while(0);return v=kt,((A|0)<(i|0)?i:A)|0}function F6(t,e){t=t|0,e=e|0;var i=0,n=0;n=(r[e>>2]|0)+(8-1)&~(8-1),i=+D[n>>3],r[e>>2]=n+8,D[t>>3]=i}function k6(t,e,i,n,o){t=t|0,e=e|0,i=i|0,n=n|0,o=o|0;var a=0,A=0,l=0,c=0,d=0,x=0,w=0,N=0,G=0,E=0,U=0,e0=0,Y=0;Y=v,v=v+224|0,G=Y+208|0,E=Y+160|0,U=Y+80|0,e0=Y,a=E,A=a+40|0;do r[a>>2]=0,a=a+4|0;while((a|0)<(A|0));return r[G>>2]=r[i>>2],(i2(0,e,G,U,E,n,o)|0)<0?i=-1:((r[t+76>>2]|0)>-1?N=y6(t)|0:N=0,i=r[t>>2]|0,w=i&32,(u[t+74>>0]|0)<1&&(r[t>>2]=i&-33),a=t+48|0,r[a>>2]|0?i=i2(t,e,G,U,E,n,o)|0:(A=t+44|0,l=r[A>>2]|0,r[A>>2]=e0,c=t+28|0,r[c>>2]=e0,d=t+20|0,r[d>>2]=e0,r[a>>2]=80,x=t+16|0,r[x>>2]=e0+80,i=i2(t,e,G,U,E,n,o)|0,l&&(Ae[r[t+36>>2]&7](t,0,0)|0,i=r[d>>2]|0?i:-1,r[A>>2]=l,r[a>>2]=0,r[x>>2]=0,r[c>>2]=0,r[d>>2]=0)),a=r[t>>2]|0,r[t>>2]=a|w,N|0&&d6(t),i=a&32|0?-1:i),v=Y,i|0}function i2(t,e,i,n,o,a,A){t=t|0,e=e|0,i=i|0,n=n|0,o=o|0,a=a|0,A=A|0;var l=0,c=0,d=0,x=0,w=0,N=0,G=0,E=0,U=0,e0=0,Y=0,J=0,t0=0,S=0,M0=0,W0=0,g0=0,f0=0,N0=0,i0=0,n0=0,kt=0,X0=0,Cr=0,gt=0;Cr=v,v=v+64|0,n0=Cr+56|0,X0=Cr+40|0,W0=Cr,f0=Cr+48|0,N0=Cr+60|0,r[n0>>2]=e,t0=(t|0)!=0,S=W0+40|0,M0=S,W0=W0+39|0,g0=f0+4|0,l=0,e=0,d=0;t:for(;;){do{do if((e|0)>-1)if((l|0)>(2147483647-e|0)){r[(Pt()|0)>>2]=61,e=-1;break}else{e=l+e|0;break}while(0);if(G=r[n0>>2]|0,l=u[G>>0]|0,!(l<<24>>24)){J=92;break t}c=G;r:for(;;){switch(l<<24>>24){case 37:{J=10;break r}case 0:{l=c;break r}default:}Y=c+1|0,r[n0>>2]=Y,l=u[Y>>0]|0,c=Y}r:do if((J|0)==10){J=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-G|0,t0&&I0(t,G,l)}while(l|0);if(Y=(Se(u[(r[n0>>2]|0)+1>>0]|0)|0)==0,c=r[n0>>2]|0,!Y&&(u[c+2>>0]|0)==36?(U=(u[c+1>>0]|0)+-48|0,w=1,l=3):(U=-1,w=d,l=1),l=c+l|0,r[n0>>2]=l,c=u[l>>0]|0,d=(c<<24>>24)+-32|0,d>>>0>31|(1<<d&75913|0)==0)x=0;else{x=0;do x=1<<d|x,l=l+1|0,r[n0>>2]=l,c=u[l>>0]|0,d=(c<<24>>24)+-32|0;while(!(d>>>0>31|(1<<d&75913|0)==0))}if(c<<24>>24==42){if(Se(u[l+1>>0]|0)|0&&(kt=r[n0>>2]|0,(u[kt+2>>0]|0)==36))l=kt+1|0,r[o+((u[l>>0]|0)+-48<<2)>>2]=10,l=r[n+((u[l>>0]|0)+-48<<3)>>2]|0,d=1,c=kt+3|0;else{if(w|0){e=-1;break}t0?(Y=(r[i>>2]|0)+(4-1)&~(4-1),l=r[Y>>2]|0,r[i>>2]=Y+4):l=0,d=0,c=(r[n0>>2]|0)+1|0}r[n0>>2]=c,Y=(l|0)<0,e0=Y?0-l|0:l,x=Y?x|8192:x,Y=d}else{if(l=lf(n0)|0,(l|0)<0){e=-1;break}e0=l,Y=w,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=lf(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(Y|0){e=-1;break t}t0?(E=(r[i>>2]|0)+(4-1)&~(4-1),l=r[E>>2]|0,r[i>>2]=E+4):l=0,c=(r[n0>>2]|0)+2|0,r[n0>>2]=c}else l=-1;while(0);for(E=0;;){if(((u[c>>0]|0)+-65|0)>>>0>57){e=-1;break t}if(d=c,c=c+1|0,r[n0>>2]=c,d=u[(u[d>>0]|0)+-65+(176+(E*58|0))>>0]|0,w=d&255,(w+-1|0)>>>0>=8)break;E=w}if(!(d<<24>>24)){e=-1;break}N=(U|0)>-1;do if(d<<24>>24==19)if(N){e=-1;break t}else J=54;else{if(N){r[o+(U<<2)>>2]=w,N=n+(U<<3)|0,U=r[N+4>>2]|0,J=X0,r[J>>2]=r[N>>2],r[J+4>>2]=U,J=54;break}if(!t0){e=0;break t}uf(X0,w,i,A),c=r[n0>>2]|0,J=55}while(0);(J|0)==54&&(J=0,t0?J=55:l=0);r:do if((J|0)==55){J=0,c=u[c+-1>>0]|0,c=(E|0)!=0&(c&15|0)==3?c&-33:c,d=x&-65537,U=x&8192|0?d:x;e:do switch(c|0){case 110:switch((E&255)<<24>>24){case 0:{r[r[X0>>2]>>2]=e,l=0;break r}case 1:{r[r[X0>>2]>>2]=e,l=0;break r}case 2:{l=r[X0>>2]|0,r[l>>2]=e,r[l+4>>2]=((e|0)<0)<<31>>31,l=0;break r}case 3:{B[r[X0>>2]>>1]=e,l=0;break r}case 4:{u[r[X0>>2]>>0]=e,l=0;break r}case 6:{r[r[X0>>2]>>2]=e,l=0;break r}case 7:{l=r[X0>>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,d=U|8,J=67;break}case 88:case 120:{d=U,J=67;break}case 111:{N=X0,N=V6(r[N>>2]|0,r[N+4>>2]|0,S)|0,d=M0-N|0,x=0,w=20230,l=(U&8|0)==0|(l|0)>(d|0)?l:d+1|0,d=U,J=73;break}case 105:case 100:if(d=X0,c=r[d>>2]|0,d=r[d+4>>2]|0,(d|0)<0){c=ae(0,0,c|0,d|0)|0,d=y0()|0,x=X0,r[x>>2]=c,r[x+4>>2]=d,x=1,w=20230,J=72;break e}else{x=(U&2049|0)!=0&1,w=U&2048|0?20231:U&1|0?20232:20230,J=72;break e}case 117:{d=X0,x=0,w=20230,c=r[d>>2]|0,d=r[d+4>>2]|0,J=72;break}case 99:{u[W0>>0]=r[X0>>2],G=W0,x=0,w=20230,N=1,c=d,l=M0;break}case 115:{E=r[X0>>2]|0,E=E|0?E:20240,U=x6(E,0,l)|0,gt=(U|0)==0,G=E,x=0,w=20230,N=gt?l:U-E|0,c=d,l=gt?E+l|0:U;break}case 67:{r[f0>>2]=r[X0>>2],r[g0>>2]=0,r[X0>>2]=f0,w=-1,J=79;break}case 83:{l?(w=l,J=79):(D0(t,32,e0,0,U),l=0,J=89);break}case 65:case 71:case 70:case 69:case 97:case 103:case 102:case 101:{l=Of[a&1](t,+D[X0>>3],e0,l,U,c)|0;break r}default:x=0,w=20230,N=l,c=U,l=M0}while(0);e:do if((J|0)==67)N=X0,N=N6(r[N>>2]|0,r[N+4>>2]|0,S,c&32)|0,w=X0,w=(d&8|0)==0|(r[w>>2]|0)==0&(r[w+4>>2]|0)==0,x=w?0:2,w=w?20230:20230+(c>>>4)|0,J=73;else if((J|0)==72)N=oe(c,d,S)|0,d=U,J=73;else if((J|0)==79){for(J=0,x=r[X0>>2]|0,l=0;c=r[x>>2]|0,!!c;){if(c=cf(N0,c)|0,d=(c|0)<0,d|c>>>0>(w-l|0)>>>0){J=83;break}if(l=c+l|0,w>>>0>l>>>0)x=x+4|0;else break}if((J|0)==83&&(J=0,d)){e=-1;break t}if(D0(t,32,e0,l,U),!l)l=0,J=89;else for(d=r[X0>>2]|0,x=0;;){if(c=r[d>>2]|0,!c){J=89;break e}if(c=cf(N0,c)|0,x=c+x|0,(x|0)>(l|0)){J=89;break e}if(I0(t,N0,c),x>>>0>=l>>>0){J=89;break}else d=d+4|0}}while(0);if((J|0)==73)J=0,c=X0,c=(r[c>>2]|0)!=0|(r[c+4>>2]|0)!=0,gt=(l|0)!=0|c,c=M0-N+((c^1)&1)|0,G=gt?N:S,N=gt?(l|0)>(c|0)?l:c:0,c=(l|0)>-1?d&-65537:d,l=M0;else if((J|0)==89){J=0,D0(t,32,e0,l,U^8192),l=(e0|0)>(l|0)?e0:l;break}U=l-G|0,E=(N|0)<(U|0)?U:N,gt=E+x|0,l=(e0|0)<(gt|0)?gt:e0,D0(t,32,l,gt,c),I0(t,w,x),D0(t,48,l,gt,c^65536),D0(t,48,E,U,0),I0(t,G,U),D0(t,32,l,gt,c^8192)}while(0);d=Y}t:do if((J|0)==92&&!t)if(!d)e=0;else{for(e=1;l=r[o+(e<<2)>>2]|0,!!l;)if(uf(n+(e<<3)|0,l,i,A),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 v=Cr,e|0}function I0(t,e,i){t=t|0,e=e|0,i=i|0,r[t>>2]&32||g6(e,i,t)|0}function lf(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 uf(t,e,i,n){t=t|0,e=e|0,i=i|0,n=n|0;var o=0,a=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),a=+D[o>>3],r[i>>2]=o+8,D[t>>3]=a;break t}case 18:{vr[n&15](t,i);break t}default:break t}while(0);while(0)}function N6(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=Gi(t|0,e|0,4)|0,e=y0()|0;while(!((t|0)==0&(e|0)==0));return i|0}function V6(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=Gi(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,a=0;if(e>>>0>0|(e|0)==0&t>>>0>4294967295){do n=t,t=u2(t|0,e|0,10,0)|0,o=e,e=y0()|0,a=l2(t|0,e|0,10,0)|0,a=ae(n|0,o|0,a|0,y0()|0)|0,y0()|0,i=i+-1|0,u[i>>0]=a&255|48;while(o>>>0>9|(o|0)==9&n>>>0>4294967295);e=t}else e=t;if(e)do a=e,e=(e>>>0)/10|0,i=i+-1|0,u[i>>0]=a-(e*10|0)|48;while(a>>>0>=10);return i|0}function D0(t,e,i,n,o){t=t|0,e=e|0,i=i|0,n=n|0,o=o|0;var a=0,A=0;if(A=v,v=v+256|0,a=A,(i|0)>(n|0)&(o&73728|0)==0){if(o=i-n|0,Br(a|0,e<<24>>24|0,(o>>>0<256?o:256)|0)|0,o>>>0>255){e=i-n|0;do I0(t,a,256),o=o+-256|0;while(o>>>0>255);o=e&255}I0(t,a,o)}v=A}function cf(t,e){return t=t|0,e=e|0,t?t=W6(t,e,0)|0:t=0,t|0}function W6(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[(T6()|0)+176>>2]>>2]|0))if((e&-128|0)==57216){u[t>>0]=e,t=1;break}else{r[(Pt()|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[(Pt()|0)>>2]=25,t=-1;break}}else t=1;while(0);return t|0}function T6(){return Af()|0}function mf(t){t=+t;var e=0;return D[z>>3]=t,e=r[z>>2]|0,Z0(r[z+4>>2]|0),e|0}function vf(t,e){t=+t,e=e|0;var i=0,n=0,o=0;switch(D[z>>3]=t,i=r[z>>2]|0,n=r[z+4>>2]|0,o=Gi(i|0,n|0,52)|0,y0()|0,o&2047){case 0:{t!=0?(t=+vf(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=+D[z>>3]}return+t}function X6(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 U6(t,e,i,n){t=t|0,e=e|0,i=i|0,n=n|0;var o=0,a=0;return o=v,v=v+16|0,a=o,r[a>>2]=n,n=G6(t,e,i,a)|0,v=o,n|0}function G6(t,e,i,n){t=t|0,e=e|0,i=i|0,n=n|0;var o=0,a=0,A=0,l=0;return l=v,v=v+160|0,o=l+144|0,A=l,ht(A|0,3672,144)|0,(e+-1|0)>>>0>2147483646?e?(r[(Pt()|0)>>2]=61,e=-1):(t=o,e=1,a=4):a=4,(a|0)==4&&(a=-2-t|0,a=e>>>0>a>>>0?a:e,r[A+48>>2]=a,o=A+20|0,r[o>>2]=t,r[A+44>>2]=t,e=t+a|0,t=A+16|0,r[t>>2]=e,r[A+28>>2]=e,e=w6(A,i,n)|0,a&&(A=r[o>>2]|0,u[A+(((A|0)==(r[t>>2]|0))<<31>>31)>>0]=0)),v=l,e|0}function E6(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,ht(o|0,e|0,t|0)|0,r[n>>2]=(r[n>>2]|0)+t,i|0}function z6(t){t=t|0;var e=0,i=0;return e=(Vi(t)|0)+1|0,i=Ui(e)|0,i?t=ht(i|0,t|0,e|0)|0:t=0,t|0}function B6(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 S6(i,r[e+20>>2]|0)|0}function S6(t,e){return t=t|0,e=e|0,_6(t,e)|0}function C6(t){return t=t|0,B6(t,r[(I6()|0)+176>>2]|0)|0}function I6(){return Af()|0}function O6(t,e,i){t=t|0,e=e|0,i=i|0;var n=0;return n=C6(t)|0,t=Vi(n)|0,t>>>0>=i>>>0?(t=i+-1|0,i&&(ht(e|0,n|0,t|0)|0,u[e+t>>0]=0),t=68):(ht(e|0,n|0,t+1|0)|0,t=0),t|0}function J6(){var t=0,e=0,i=0,n=0,o=0,a=0,A=0;n=v,v=v+48|0,a=n+32|0,e=n+24|0,A=n+16|0,o=n,n=n+36|0,t=pf()|0,t|0&&(i=r[t>>2]|0,i|0)&&(t=i+48|0,df(t)|0||(r[e>>2]=20420,Ur(20370,e)),e=yf(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,Ae[r[(r[954]|0)+16>>2]&7](3816,i,n)|0?(A=r[n>>2]|0,A=Ei[r[(r[A>>2]|0)+8>>2]&15](A)|0,r[o>>2]=20420,r[o+4>>2]=t,r[o+8>>2]=A,Ur(20284,o)):(r[A>>2]=20420,r[A+4>>2]=t,Ur(20329,A))),Ur(20408,a)}function pf(){return 21640}function df(t){return t=t|0,t=yf(t)|0,(t&-256|0)==1126902528&(y0()|0)==1129074247|0}function yf(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,ks()}function fe(t){t=t|0}function P6(t){t=t|0,fe(t),$(t)}function j6(t){t=t|0}function Y6(t){t=t|0}function D6(t,e,i){t=t|0,e=e|0,i=i|0;var n=0,o=0,a=0,A=0,l=0,c=0;if(c=v,v=v+64|0,A=c,S0(t,e,0)|0)t=1;else if(e|0&&(l=at(e,3840,3824,0)|0,(l|0)!=0)){r[A>>2]=l,r[A+4>>2]=0,r[A+8>>2]=t,r[A+12>>2]=-1,t=A+16|0,e=A+24|0,n=A+48|0,o=t,a=o+36|0;do r[o>>2]=0,o=o+4|0;while((o|0)<(a|0));B[t+36>>1]=0,u[t+38>>0]=0,r[n>>2]=1,Pe[r[(r[l>>2]|0)+28>>2]&7](l,A,r[i>>2]|0,1),(r[e>>2]|0)==1?(r[i>>2]=r[t>>2],t=1):t=0}else t=0;return v=c,t|0}function H6(t,e,i,n,o,a){t=t|0,e=e|0,i=i|0,n=n|0,o=o|0,a=a|0,S0(t,r[e+8>>2]|0,a)|0&&o2(0,e,i,n,o)}function L6(t,e,i,n,o){t=t|0,e=e|0,i=i|0,n=n|0,o=o|0;var a=0;do if(S0(t,r[e+8>>2]|0,o)|0)s2(0,e,i,n);else if(S0(t,r[e>>2]|0,o)|0){if((r[e+16>>2]|0)!=(i|0)&&(a=e+20|0,(r[a>>2]|0)!=(i|0))){r[e+32>>2]=n,r[a>>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 Q6(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&&n2(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=(hf(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 n2(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 s2(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 o2(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,a=0,A=0,l=0,c=0,d=0,x=0,w=0,N=0;N=v,v=v+64|0,x=N,d=r[t>>2]|0,w=t+(r[d+-8>>2]|0)|0,d=r[d+-4>>2]|0,r[x>>2]=i,r[x+4>>2]=t,r[x+8>>2]=e,r[x+12>>2]=n,t=x+16|0,e=x+20|0,n=x+24|0,o=x+28|0,a=x+32|0,A=x+40|0,l=t,c=l+36|0;do r[l>>2]=0,l=l+4|0;while((l|0)<(c|0));B[t+36>>1]=0,u[t+38>>0]=0;t:do if(S0(d,i,0)|0)r[x+48>>2]=1,je[r[(r[d>>2]|0)+20>>2]&3](d,x,w,w,1,0),t=(r[n>>2]|0)==1?w:0;else{switch(zi[r[(r[d>>2]|0)+24>>2]&3](d,x,w,1,0),r[x+36>>2]|0){case 0:{t=(r[A>>2]|0)==1&(r[o>>2]|0)==1&(r[a>>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[A>>2]|0)==0&(r[o>>2]|0)==1&(r[a>>2]|0)==1)){t=0;break}t=r[t>>2]|0}while(0);return v=N,t|0}function q6(t){t=t|0,fe(t),$(t)}function $6(t,e,i,n,o,a){t=t|0,e=e|0,i=i|0,n=n|0,o=o|0,a=a|0,S0(t,r[e+8>>2]|0,a)|0?o2(0,e,i,n,o):(t=r[t+8>>2]|0,je[r[(r[t>>2]|0)+20>>2]&3](t,e,i,n,o,a))}function K6(t,e,i,n,o){t=t|0,e=e|0,i=i|0,n=n|0,o=o|0;var a=0,A=0,l=0;t:do if(S0(t,r[e+8>>2]|0,o)|0)s2(0,e,i,n);else{if(!(S0(t,r[e>>2]|0,o)|0)){A=r[t+8>>2]|0,zi[r[(r[A>>2]|0)+24>>2]&3](A,e,i,n,o);break}if((r[e+16>>2]|0)!=(i|0)&&(A=e+20|0,(r[A>>2]|0)!=(i|0))){r[e+32>>2]=n,n=e+44|0;do if((r[n>>2]|0)!=4)if(a=e+52|0,u[a>>0]=0,l=e+53|0,u[l>>0]=0,t=r[t+8>>2]|0,je[r[(r[t>>2]|0)+20>>2]&3](t,e,i,i,1,o),u[l>>0]|0){if(l=(u[a>>0]|0)==0,r[n>>2]=3,l)break;break t}else{r[n>>2]=4;break}while(0);if(r[A>>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 b6(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?n2(0,e,i,n):(t=r[t+8>>2]|0,Pe[r[(r[t>>2]|0)+28>>2]&7](t,e,i,n))}function $(t){t=t|0,h2(t)}function mR(t){t=t|0}function td(){var t=0,e=0;t=pf()|0,t|0&&(e=r[t>>2]|0,e|0)&&df(e+48|0)|0&&Mf(r[e+12>>2]|0),Mf(rd()|0)}function Mf(t){t=t|0;var e=0;e=v,v=v+16|0,p2[t&3](),Ur(20559,e)}function rd(){return 2}function ed(t){t=t|0}function id(t){t=t|0,$(t)}function nd(t){return t=t|0,20599}function Wi(t){t=t|0,r[t>>2]=5916,_f(t+4|0)}function sd(t){t=t|0,Wi(t),$(t)}function od(t){return t=t|0,gf(t+4|0)|0}function gf(t){return t=t|0,r[t>>2]|0}function _f(t){t=t|0;var e=0,i=0;fd(t)|0&&(e=ad(r[t>>2]|0)|0,i=e+8|0,t=r[i>>2]|0,r[i>>2]=t+-1,(t|0)<1)&&$(e)}function fd(t){return t=t|0,1}function ad(t){return t=t|0,t+-12|0}function At(t){t=t|0,r[t>>2]=5936,_f(t+4|0)}function Ad(t){t=t|0,At(t),$(t)}function hd(t){return t=t|0,gf(t+4|0)|0}function ld(t){t=t|0,Wi(t),$(t)}function ud(t){t=t|0,Wi(t),$(t)}function cd(){var t=0;t=v,v=v+16|0,Ur(20848,t)}function md(t){t=t|0,fe(t),$(t)}function vd(t,e,i){return t=t|0,e=e|0,i=i|0,S0(t,e,0)|0}function pd(t){t=t|0,fe(t),$(t)}function dd(t,e,i){t=t|0,e=e|0,i=i|0;var n=0,o=0,a=0,A=0,l=0,c=0,d=0,x=0;x=v,v=v+64|0,c=x;do if(S0(e,4048,0)|0)r[i>>2]=0,e=1;else{if(yd(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,a=t+8|0,o=r[a>>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[a>>2]&1)){e=0;break}e=Md(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[a>>2]&1)){e=0;break}e=Rf(e,r[n>>2]|0)|0;break}if(e=r[o>>2]|0,e|0&&(A=at(e,3840,3824,0)|0,(A|0)!=0)&&(l=r[n>>2]|0,(l|0)!=0)&&(d=at(l,3840,3824,0)|0,(d|0)!=0)){r[c>>2]=d,r[c+4>>2]=0,r[c+8>>2]=A,r[c+12>>2]=-1,e=c+16|0,t=c+24|0,n=c+48|0,o=e,a=o+36|0;do r[o>>2]=0,o=o+4|0;while((o|0)<(a|0));B[e+36>>1]=0,u[e+38>>0]=0,r[n>>2]=1,Pe[r[(r[d>>2]|0)+28>>2]&7](d,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 v=x,e|0}function yd(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 Md(t,e){t=t|0,e=e|0;for(var i=0,n=0,o=0,a=0,A=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){A=9;break}e=r[i>>2]|0}return(A|0)==9&&(e=r[n>>2]|0,e|0&&(a=at(e,3840,4008,0)|0,(a|0)!=0)?e=Rf(a,r[i>>2]|0)|0:e=0),e|0}function Rf(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 gd(t){t=t|0,fe(t),$(t)}function _d(t,e,i,n,o,a){t=t|0,e=e|0,i=i|0,n=n|0,o=o|0,a=a|0;var A=0,l=0,c=0,d=0,x=0,w=0,N=0,G=0,E=0,U=0;if(S0(t,r[e+8>>2]|0,a)|0)o2(0,e,i,n,o);else{U=e+52|0,l=u[U>>0]|0,E=e+53|0,A=u[E>>0]|0,G=r[t+12>>2]|0,x=t+16+(G<<3)|0,u[U>>0]=0,u[E>>0]=0,f2(t+16|0,e,i,n,o,a),c=u[U>>0]|0,l=c|l,d=u[E>>0]|0,A=d|A;t:do if((G|0)>1){w=e+24|0,N=t+8|0,G=e+54|0,t=t+24|0;do{if(A=A&1,l=l&1,u[G>>0]|0)break t;if(c<<24>>24){if((r[w>>2]|0)==1||!(r[N>>2]&2))break t}else if(d<<24>>24&&!(r[N>>2]&1|0))break t;u[U>>0]=0,u[E>>0]=0,f2(t,e,i,n,o,a),c=u[U>>0]|0,l=c|l,d=u[E>>0]|0,A=d|A,t=t+8|0}while(t>>>0<x>>>0)}while(0);u[U>>0]=l<<24>>24!=0&1,u[E>>0]=A<<24>>24!=0&1}}function Rd(t,e,i,n,o){t=t|0,e=e|0,i=i|0,n=n|0,o=o|0;var a=0,A=0,l=0,c=0,d=0,x=0,w=0,N=0,G=0;t:do if(S0(t,r[e+8>>2]|0,o)|0)s2(0,e,i,n);else{if(!(S0(t,r[e>>2]|0,o)|0)){if(G=r[t+12>>2]|0,c=t+16+(G<<3)|0,Ti(t+16|0,e,i,n,o),a=t+24|0,(G|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||(Ti(a,e,i,n,o),a=a+8|0,a>>>0>=c>>>0))break t}for(t=e+24|0,A=e+54|0;;)if(u[A>>0]|0||(r[l>>2]|0)==1&&(r[t>>2]|0)==1||(Ti(a,e,i,n,o),a=a+8|0,a>>>0>=c>>>0))break t}for(t=e+54|0;;)if(u[t>>0]|0||(Ti(a,e,i,n,o),a=a+8|0,a>>>0>=c>>>0))break t}if((r[e+16>>2]|0)!=(i|0)&&(G=e+20|0,(r[G>>2]|0)!=(i|0))){if(r[e+32>>2]=n,N=e+44|0,(r[N>>2]|0)!=4){l=t+16+(r[t+12>>2]<<3)|0,c=e+52|0,n=e+53|0,d=e+54|0,x=t+8|0,w=e+24|0,a=0,A=t+16|0,t=0;r:for(;;){if(A>>>0>=l>>>0){A=18;break}if(u[c>>0]=0,u[n>>0]=0,f2(A,e,i,i,1,o),u[d>>0]|0){A=18;break}do if(u[n>>0]|0){if(!(u[c>>0]|0))if(r[x>>2]&1){t=1;break}else{A=19;break r}if((r[w>>2]|0)==1){a=1,A=19;break r}if(r[x>>2]&2)a=1,t=1;else{a=1,A=19;break r}}while(0);A=A+8|0}if((A|0)==18&&(t?A=19:t=4),(A|0)==19&&(t=3),r[N>>2]=t,a&1)break}if(r[G>>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 xd(t,e,i,n){t=t|0,e=e|0,i=i|0,n=n|0;var o=0,a=0;t:do if(S0(t,r[e+8>>2]|0,0)|0)n2(0,e,i,n);else if(a=r[t+12>>2]|0,o=t+16+(a<<3)|0,xf(t+16|0,e,i,n),(a|0)>1){a=e+54|0,t=t+24|0;do{if(xf(t,e,i,n),u[a>>0]|0)break t;t=t+8|0}while(t>>>0<o>>>0)}while(0)}function xf(t,e,i,n){t=t|0,e=e|0,i=i|0,n=n|0;var o=0,a=0;a=r[t+4>>2]|0,i?(o=a>>8,a&1&&(o=r[(r[i>>2]|0)+o>>2]|0)):o=0,t=r[t>>2]|0,Pe[r[(r[t>>2]|0)+28>>2]&7](t,e,i+o|0,a&2|0?n:2)}function f2(t,e,i,n,o,a){t=t|0,e=e|0,i=i|0,n=n|0,o=o|0,a=a|0;var A=0,l=0;l=r[t+4>>2]|0,A=l>>8,l&1&&(A=r[(r[n>>2]|0)+A>>2]|0),t=r[t>>2]|0,je[r[(r[t>>2]|0)+20>>2]&3](t,e,i,n+A|0,l&2|0?o:2,a)}function Ti(t,e,i,n,o){t=t|0,e=e|0,i=i|0,n=n|0,o=o|0;var a=0,A=0;A=r[t+4>>2]|0,a=A>>8,A&1&&(a=r[(r[i>>2]|0)+a>>2]|0),t=r[t>>2]|0,zi[r[(r[t>>2]|0)+24>>2]&3](t,e,i+a|0,A&2|0?n:2,o)}function wd(t){t=t|0,r[t>>2]=5896}function Gr(t){t=t|0;var e=0,i=0;return e=v,v=v+16|0,i=e,wf(i,t),t=Zd(i)|0,v=e,t|0}function wf(t,e){t=t|0,e=e|0,Nd(t,e)}function Zd(t){t=t|0;var e=0,i=0;return e=v,v=v+16|0,i=e,Zf(i,r[t+4>>2]|0),(Fd(i)|0)<<24>>24?t=0:t=kd(Ff(t)|0)|0,v=e,t|0}function Zf(t,e){t=t|0,e=e|0,r[t>>2]=e}function Fd(t){return t=t|0,u[r[t>>2]>>0]|0}function Ff(t){return t=t|0,t|0}function kd(t){t=t|0;var e=0,i=0,n=0,o=0;o=v,v=v+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 v=o,i|0}function Nd(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 Er(t){t=t|0;var e=0,i=0;e=v,v=v+16|0,i=e,wf(i,t),Vd(i),v=e}function Vd(t){t=t|0;var e=0,i=0;e=v,v=v+16|0,i=e,Zf(i,r[t+4>>2]|0),Wd(i),Td(Ff(t)|0),v=e}function Wd(t){t=t|0,u[r[t>>2]>>0]=1}function Td(t){t=t|0,u[r[t+8>>2]>>0]=1}function Xd(){return 0}function b(t){t=t|0;var e=0,i=0;for(i=t|0?t:1;;){if(e=Ui(i)|0,e|0){t=6;break}if(t=Xd()|0,!t){t=5;break}p2[t&3]()}if((t|0)==5)i=F0(4)|0,wd(i),k0(i|0,3880,121);else if((t|0)==6)return e|0;return 0}function kf(t){return t=t|0,b(t)|0}function Nf(t){t=t|0,$(t)}function Ud(t,e,i){t=t|0,e=e|0,i=i|0;var n=0,o=0;return o=v,v=v+16|0,n=o,r[n>>2]=r[i>>2],t=Ae[r[(r[t>>2]|0)+16>>2]&7](t,e,n)|0,t&&(r[i>>2]=r[n>>2]),v=o,t&1|0}function Gd(t){return t=t|0,t?t=(at(t,3840,3976,0)|0)!=0&1:t=0,t|0}function Ed(t){return t=t|0,0}function zd(){return(Bd()|0)>0|0}function Bd(){return Cl()|0}function Vf(t){t=t|0}function Sd(t){t=t|0,Vf(t),$(t)}function Cd(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)||w0[r[(r[t>>2]|0)+16>>2]&255](t)}function Id(t){if(t=t|0,t=Ed(t)|0,t)cy(t,21145);else return}function Od(t){t=t|0}function a2(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=Jd(i)|0,ht(i|0,e|0,n+1|0)|0,r[t>>2]=i}function Jd(t){return t=t|0,t+12|0}function $t(t,e){t=t|0,e=e|0,r[t>>2]=5916,a2(t+4|0,e)}function Pd(t,e){t=t|0,e=e|0,r[t>>2]=5936,a2(t+4|0,(u[e+11>>0]|0)<0?r[e>>2]|0:e)}function Ft(t,e){t=t|0,e=e|0,r[t>>2]=5936,a2(t+4|0,e)}function A2(t){t=t|0,t=F0(8)|0,$t(t,21163),r[t>>2]=5956,k0(t|0,3928,123)}function jd(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,a=0,A=0;o=v,v=v+16|0,n=o,i>>>0>4294967279&&A2(t),i>>>0<11?u[t+11>>0]=i:(A=i+16&-16,a=b(A)|0,r[t>>2]=a,r[t+8>>2]=A|-2147483648,r[t+4>>2]=i,t=a),Ce(t,e,i)|0,u[n>>0]=0,Fe(t+i|0,n),v=o}function Ce(t,e,i){return t=t|0,e=e|0,i=i|0,i|0&&ht(t|0,e|0,i|0)|0,t|0}function Ie(t){t=t|0,(u[t+11>>0]|0)<0&&A0(r[t>>2]|0,r[t+8>>2]&2147483647)}function Yd(t,e,i,n,o,a,A,l){t=t|0,e=e|0,i=i|0,n=n|0,o=o|0,a=a|0,A=A|0,l=l|0;var c=0,d=0,x=0,w=0,N=0;N=v,v=v+16|0,w=N,(-18-e|0)>>>0<i>>>0&&A2(t),(u[t+11>>0]|0)<0?x=r[t>>2]|0:x=t,e>>>0<2147483623?(c=i+e|0,d=e<<1,c=c>>>0<d>>>0?d:c,c=c>>>0<11?11:c+16&-16):c=-17,d=b(c)|0,o|0&&Ce(d,x,o)|0,A|0&&Ce(d+o|0,l,A)|0,n=n-a|0,i=n-o|0,i|0&&Ce(d+o+A|0,x+o+a|0,i)|0,i=e+1|0,(i|0)!=11&&A0(x,i),r[t>>2]=d,r[t+8>>2]=c|-2147483648,A=n+A|0,r[t+4>>2]=A,u[w>>0]=0,Fe(d+A|0,w),v=N}function Wf(t,e,i){t=t|0,e=e|0,i=i|0;var n=0,o=0,a=0,A=0,l=0,c=0;return c=v,v=v+16|0,A=c,l=t+11|0,n=u[l>>0]|0,a=n<<24>>24<0,a?(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&&(a?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[A>>0]=0,Fe(o+n|0,A)):Yd(t,o,n+i-o|0,n,n,0,i,e),v=c,t|0}function Dd(t,e){return t=t|0,e=e|0,Wf(t,e,te(e)|0)|0}function Hd(t,e,i){return t=t|0,e=e|0,i=i|0,i?t=X6(t,e,i)|0:t=0,t|0}function Ld(t,e,i,n,o){t=t|0,e=e|0,i=i|0,n=n|0,o=o|0;var a=0,A=0;return a=u[t+11>>0]|0,A=a<<24>>24<0,A?a=r[t+4>>2]|0:a=a&255,(o|0)==-1|a>>>0<e>>>0&&jd(t),a=a-e|0,i=a>>>0<i>>>0?a:i,A&&(t=r[t>>2]|0),a=i>>>0>o>>>0,t=Hd(t+e|0,n,a?o:i)|0,t?t|0:(i>>>0<o>>>0?-1:a&1)|0}function Qd(t){t=t|0}function qd(t){t=t|0,$(t)}function $d(t){return t=t|0,21228}function Kd(t,e,i){t=t|0,e=e|0,i=i|0,r[t>>2]=i,r[t+4>>2]=e}function bd(t,e,i){t=t|0,e=e|0,i=i|0;var n=0,o=0;return o=v,v=v+16|0,n=o,Je[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,v=o,t|0}function ty(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 ry(t,e,i){t=t|0,e=e|0,i=i|0,(i|0)>256?Xi(t,21176,te(21176)|0):Tf(t,0,i)}function Tf(t,e,i){t=t|0,e=e|0,i=i|0,ey(t,i)}function ey(t,e){t=t|0,e=e|0;var i=0,n=0,o=0,a=0,A=0;A=v,v=v+1040|0,o=A+1024|0,i=A,a=r[(Pt()|0)>>2]|0,n=iy(O6(e,i,1024)|0,i)|0,u[n>>0]|0?i=n:(r[o>>2]=e,U6(i,1024,21211,o)|0),r[(Pt()|0)>>2]=a,Xi(t,i,te(i)|0),v=A}function iy(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[(Pt()|0)>>2]|0,n=3;break}default:n=3}return(n|0)==3&&((t|0)==28?i=22145:Pl()),i|0}function ny(t){t=t|0,$(t)}function sy(t){return t=t|0,21353}function oy(t,e,i){t=t|0,e=e|0,i=i|0,(i|0)>256?(Xf()|0,e=6180):(ay()|0,e=6176),r[t>>2]=i,r[t+4>>2]=e}function fy(t,e,i){t=t|0,e=e|0,i=i|0,(i|0)>256?Xi(t,21319,te(21319)|0):Tf(t,0,i)}function Xf(){return!(u[21488]|0)&&Gr(21488)|0&&Er(21488),6180}function ay(){return!(u[21480]|0)&&Gr(21480)|0&&Er(21480),6176}function Uf(t){t=t|0,At(t)}function Ay(t){t=t|0,Uf(t),$(t)}function hy(t,e){t=t|0,e=e|0;var i=0;i=r[e+4>>2]|0,Je[r[(r[i>>2]|0)+24>>2]&15](t,i,r[e>>2]|0)}function ly(t,e,i){t=t|0,e=e|0,i=i|0;var n=0,o=0,a=0;for(a=v,v=v+16|0,o=a,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&&Dd(i,21417)|0,hy(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,Ie(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;v=a}function uy(t,e,i){t=t|0,e=e|0,i=i|0;var n=0,o=0,a=0;n=v,v=v+32|0,a=n+12|0,o=n,Xi(o,i,te(i)|0),ly(a,e,o),Pd(t,a),Ie(a),Ie(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,v=n}function cy(t,e){t=t|0,e=e|0;var i=0,n=0,o=0;o=v,v=v+16|0,n=o+8|0,i=F0(16)|0,Xf()|0,r[o>>2]=t,r[o+4>>2]=6180,r[n>>2]=r[o>>2],r[n+4>>2]=r[o+4>>2],uy(i,n,e),k0(i|0,4272,136)}function Q0(t){t=t|0,t=F0(8)|0,$t(t,21420),r[t>>2]=5956,k0(t|0,3928,123)}function Ui(t){t=t|0;var e=0,i=0,n=0,o=0,a=0,A=0,l=0,c=0,d=0,x=0,w=0,N=0,G=0,E=0,U=0,e0=0,Y=0,J=0,t0=0,S=0,M0=0;M0=v,v=v+16|0,N=M0;do if(t>>>0<245){if(d=t>>>0<11?16:t+11&-8,t=d>>>3,w=r[5412]|0,i=w>>>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,a=r[o>>2]|0,(a|0)==(t|0)?r[5412]=w&~(1<<e):(r[a+12>>2]=t,r[i>>2]=a),S=e<<3,r[n+4>>2]=S|3,S=n+S+4|0,r[S>>2]=r[S>>2]|1,S=o,v=M0,S|0;if(x=r[5414]|0,d>>>0>x>>>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,a=e>>>2&4,e=e>>>a,t=e>>>1&2,e=e>>>t,n=e>>>1&1,n=(i|l|a|t|n)+(e>>>n)|0,e=21688+(n<<1<<2)|0,t=e+8|0,a=r[t>>2]|0,l=a+8|0,i=r[l>>2]|0,(i|0)==(e|0)?(t=w&~(1<<n),r[5412]=t):(r[i+12>>2]=e,r[t>>2]=i,t=w),S=n<<3,A=S-d|0,r[a+4>>2]=d|3,o=a+d|0,r[o+4>>2]=A|1,r[a+S>>2]=A,x|0&&(n=r[5417]|0,e=x>>>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]=A,r[5417]=o,S=l,v=M0,S|0;if(a=r[5413]|0,a){for(i=(a&0-a)+-1|0,o=i>>>12&16,i=i>>>o,n=i>>>5&8,i=i>>>n,A=i>>>2&4,i=i>>>A,l=i>>>1&2,i=i>>>l,c=i>>>1&1,c=r[21952+((n|o|A|l|c)+(i>>>c)<<2)>>2]|0,i=c,l=c,c=(r[c+4>>2]&-8)-d|0;t=r[i+16>>2]|0,!(!t&&(t=r[i+20>>2]|0,!t));)A=(r[t+4>>2]&-8)-d|0,o=A>>>0<c>>>0,i=t,l=o?t:l,c=o?A:c;if(A=l+d|0,A>>>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]=a&~(1<<e);break}}else if(S=o+16|0,r[((r[S>>2]|0)==(l|0)?S: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?(S=c+d|0,r[l+4>>2]=S|3,S=l+S+4|0,r[S>>2]=r[S>>2]|1):(r[l+4>>2]=d|3,r[A+4>>2]=c|1,r[A+c>>2]=c,x|0&&(n=r[5417]|0,e=x>>>3,i=21688+(e<<1<<2)|0,e=1<<e,e&w?(t=i+8|0,e=r[t>>2]|0):(r[5412]=e|w,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]=A),S=l+8|0,v=M0,S|0}else w=d}else w=d}else w=d}else if(t>>>0<=4294967231)if(t=t+11|0,d=t&-8,n=r[5413]|0,n){o=0-d|0,t=t>>>8,t?d>>>0>16777215?c=31:(w=(t+1048320|0)>>>16&8,U=t<<w,l=(U+520192|0)>>>16&4,U=U<<l,c=(U+245760|0)>>>16&2,c=14-(l|w|c)+(U<<c>>>15)|0,c=d>>>(c+7|0)&1|c<<1):c=0,i=r[21952+(c<<2)>>2]|0;t:do if(!i)i=0,t=0,U=61;else for(t=0,l=d<<((c|0)==31?0:25-(c>>>1)|0),a=0;;){if(A=(r[i+4>>2]&-8)-d|0,A>>>0<o>>>0)if(A)t=i,o=A;else{t=i,o=0,U=65;break t}if(U=r[i+20>>2]|0,i=r[i+16+(l>>>31<<2)>>2]|0,a=(U|0)==0|(U|0)==(i|0)?a:U,i)l=l<<1;else{i=a,U=61;break}}while(0);if((U|0)==61){if((i|0)==0&(t|0)==0){if(t=2<<c,t=(t|0-t)&n,!t){w=d;break}w=(t&0-t)+-1|0,A=w>>>12&16,w=w>>>A,a=w>>>5&8,w=w>>>a,l=w>>>2&4,w=w>>>l,c=w>>>1&2,w=w>>>c,i=w>>>1&1,t=0,i=r[21952+((a|A|l|c|i)+(w>>>i)<<2)>>2]|0}i?U=65:(l=t,A=o)}if((U|0)==65)for(a=i;;)if(w=(r[a+4>>2]&-8)-d|0,i=w>>>0<o>>>0,o=i?w:o,t=i?a:t,i=r[a+16>>2]|0,i||(i=r[a+20>>2]|0),i)a=i;else{l=t,A=o;break}if(l|0&&A>>>0<((r[5414]|0)-d|0)>>>0&&(x=l+d|0,x>>>0>l>>>0)){a=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 S=r[l+8>>2]|0,r[S+12>>2]=e,r[e+8>>2]=S;while(0);do if(a){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(S=a+16|0,r[((r[S>>2]|0)==(l|0)?S:a+20|0)>>2]=e,!e)break;r[e+24>>2]=a,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(A>>>0<16)S=A+d|0,r[l+4>>2]=S|3,S=l+S+4|0,r[S>>2]=r[S>>2]|1;else{if(r[l+4>>2]=d|3,r[x+4>>2]=A|1,r[x+A>>2]=A,e=A>>>3,A>>>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]=x,r[e+12>>2]=x,r[x+8>>2]=e,r[x+12>>2]=i;break}if(e=A>>>8,e?A>>>0>16777215?i=31:(t0=(e+1048320|0)>>>16&8,S=e<<t0,J=(S+520192|0)>>>16&4,S=S<<J,i=(S+245760|0)>>>16&2,i=14-(J|t0|i)+(S<<i>>>15)|0,i=A>>>(i+7|0)&1|i<<1):i=0,e=21952+(i<<2)|0,r[x+28>>2]=i,t=x+16|0,r[t+4>>2]=0,r[t>>2]=0,t=1<<i,!(n&t)){r[5413]=n|t,r[e>>2]=x,r[x+24>>2]=e,r[x+12>>2]=x,r[x+8>>2]=x;break}e=r[e>>2]|0;r:do if((r[e+4>>2]&-8|0)!=(A|0)){for(n=A<<((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)==(A|0)){e=t;break r}else n=n<<1,e=t;r[i>>2]=x,r[x+24>>2]=e,r[x+12>>2]=x,r[x+8>>2]=x;break t}while(0);t0=e+8|0,S=r[t0>>2]|0,r[S+12>>2]=x,r[t0>>2]=x,r[x+8>>2]=S,r[x+12>>2]=e,r[x+24>>2]=0}while(0);return S=l+8|0,v=M0,S|0}else w=d}else w=d;else w=-1;while(0);if(i=r[5414]|0,i>>>0>=w>>>0)return e=i-w|0,t=r[5417]|0,e>>>0>15?(S=t+w|0,r[5417]=S,r[5414]=e,r[S+4>>2]=e|1,r[t+i>>2]=e,r[t+4>>2]=w|3):(r[5414]=0,r[5417]=0,r[t+4>>2]=i|3,S=t+i+4|0,r[S>>2]=r[S>>2]|1),S=t+8|0,v=M0,S|0;if(A=r[5415]|0,A>>>0>w>>>0)return J=A-w|0,r[5415]=J,S=r[5418]|0,t0=S+w|0,r[5418]=t0,r[t0+4>>2]=J|1,r[S+4>>2]=w|3,S=S+8|0,v=M0,S|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]=N&-16^1431655768,t=4096),l=w+48|0,c=w+47|0,a=t+c|0,o=0-t|0,d=a&o,d>>>0<=w>>>0||(t=r[5522]|0,t|0&&(x=r[5520]|0,N=x+d|0,N>>>0<=x>>>0|N>>>0>t>>>0)))return S=0,v=M0,S|0;t:do if(r[5523]&4)e=0,U=143;else{i=r[5418]|0;r:do if(i){for(n=22096;N=r[n>>2]|0,!(N>>>0<=i>>>0&&(N+(r[n+4>>2]|0)|0)>>>0>i>>>0);)if(t=r[n+8>>2]|0,t)n=t;else{U=128;break r}if(e=a-A&o,e>>>0<2147483647)if(t=zr(e)|0,(t|0)==((r[n>>2]|0)+(r[n+4>>2]|0)|0)){if((t|0)!=-1){A=e,a=t,U=145;break t}}else n=t,U=136;else e=0}else U=128;while(0);do if((U|0)==128)if(i=zr(0)|0,(i|0)!=-1&&(e=i,G=r[5531]|0,E=G+-1|0,e=(E&e|0?(E+e&0-G)-e|0:0)+d|0,G=r[5520]|0,E=e+G|0,e>>>0>w>>>0&e>>>0<2147483647)){if(N=r[5522]|0,N|0&&E>>>0<=G>>>0|E>>>0>N>>>0){e=0;break}if(t=zr(e)|0,(t|0)==(i|0)){A=e,a=i,U=145;break t}else n=t,U=136}else e=0;while(0);do if((U|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{A=e,a=n,U=145;break t}if(t=r[5532]|0,t=c-e+t&0-t,t>>>0>=2147483647){A=e,a=n,U=145;break t}if((zr(t)|0)==-1){zr(i)|0,e=0;break}else{A=t+e|0,a=n,U=145;break t}}while(0);r[5523]=r[5523]|4,U=143}while(0);if((U|0)==143&&d>>>0<2147483647&&(J=zr(d)|0,E=zr(0)|0,e0=E-J|0,Y=e0>>>0>(w+40|0)>>>0,!((J|0)==-1|Y^1|J>>>0<E>>>0&((J|0)!=-1&(E|0)!=-1)^1))&&(A=Y?e0:e,a=J,U=145),(U|0)==145){e=(r[5520]|0)+A|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,(a|0)==(t+i|0)){U=154;break}if(n=r[e+8>>2]|0,n)e=n;else break}if((U|0)==154&&(t0=e+4|0,(r[e+12>>2]&8|0)==0)&&a>>>0>c>>>0&t>>>0<=c>>>0){r[t0>>2]=i+A,S=(r[5415]|0)+A|0,J=c+8|0,J=J&7|0?0-J&7:0,t0=c+J|0,J=S-J|0,r[5418]=t0,r[5415]=J,r[t0+4>>2]=J|1,r[c+S+4>>2]=40,r[5419]=r[5534];break}for(a>>>0<(r[5416]|0)>>>0&&(r[5416]=a),i=a+A|0,e=22096;;){if((r[e>>2]|0)==(i|0)){U=162;break}if(t=r[e+8>>2]|0,t)e=t;else break}if((U|0)==162&&!(r[e+12>>2]&8|0)){r[e>>2]=a,x=e+4|0,r[x>>2]=(r[x>>2]|0)+A,x=a+8|0,x=a+(x&7|0?0-x&7:0)|0,e=i+8|0,e=i+(e&7|0?0-e&7:0)|0,d=x+w|0,l=e-x-w|0,r[x+4>>2]=w|3;r:do if((c|0)==(e|0))S=(r[5415]|0)+l|0,r[5415]=S,r[5418]=d,r[d+4>>2]=S|1;else{if((r[5417]|0)==(e|0)){S=(r[5414]|0)+l|0,r[5414]=S,r[5417]=d,r[d+4>>2]=S|1,r[d+S>>2]=S;break}if(t=r[e+4>>2]|0,(t&3|0)==1){A=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{a=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 S=r[e+8>>2]|0,r[S+12>>2]=t,r[t+8>>2]=S;while(0);if(!a)break;i=r[e+28>>2]|0,n=21952+(i<<2)|0;do if((r[n>>2]|0)!=(e|0)){if(S=a+16|0,r[((r[S>>2]|0)==(e|0)?S:a+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]=a,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+A|0,o=A+l|0}else o=l;if(e=e+4|0,r[e>>2]=r[e>>2]&-2,r[d+4>>2]=o|1,r[d+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]=d,r[e+12>>2]=d,r[d+8>>2]=e,r[d+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,S=e<<t0,J=(S+520192|0)>>>16&4,S=S<<J,n=(S+245760|0)>>>16&2,n=14-(J|t0|n)+(S<<n>>>15)|0,n=o>>>(n+7|0)&1|n<<1}while(0);if(e=21952+(n<<2)|0,r[d+28>>2]=n,t=d+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]=d,r[d+24>>2]=e,r[d+12>>2]=d,r[d+8>>2]=d;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]=d,r[d+24>>2]=e,r[d+12>>2]=d,r[d+8>>2]=d;break r}while(0);t0=e+8|0,S=r[t0>>2]|0,r[S+12>>2]=d,r[t0>>2]=d,r[d+8>>2]=S,r[d+12>>2]=e,r[d+24>>2]=0}while(0);return S=x+8|0,v=M0,S|0}for(e=22096;t=r[e>>2]|0,!(t>>>0<=c>>>0&&(S=t+(r[e+4>>2]|0)|0,S>>>0>c>>>0));)e=r[e+8>>2]|0;o=S+-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=A+-40|0,J=a+8|0,J=J&7|0?0-J&7:0,t0=a+J|0,J=i-J|0,r[5418]=t0,r[5415]=J,r[t0+4>>2]=J|1,r[a+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]=a,r[5525]=A,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<S>>>0);if((t|0)!=(c|0)){if(a=t-c|0,r[i>>2]=r[i>>2]&-2,r[c+4>>2]=a|1,r[t>>2]=a,e=a>>>3,a>>>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=a>>>8,e?a>>>0>16777215?n=31:(t0=(e+1048320|0)>>>16&8,S=e<<t0,J=(S+520192|0)>>>16&4,S=S<<J,n=(S+245760|0)>>>16&2,n=14-(J|t0|n)+(S<<n>>>15)|0,n=a>>>(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)!=(a|0)){for(n=a<<((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)==(a|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,S=r[t0>>2]|0,r[S+12>>2]=c,r[t0>>2]=c,r[c+8>>2]=S,r[c+12>>2]=e,r[c+24>>2]=0}}else S=r[5416]|0,(S|0)==0|a>>>0<S>>>0&&(r[5416]=a),r[5524]=a,r[5525]=A,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,S=A+-40|0,J=a+8|0,J=J&7|0?0-J&7:0,t0=a+J|0,J=S-J|0,r[5418]=t0,r[5415]=J,r[t0+4>>2]=J|1,r[a+S+4>>2]=40,r[5419]=r[5534];while(0);if(e=r[5415]|0,e>>>0>w>>>0)return J=e-w|0,r[5415]=J,S=r[5418]|0,t0=S+w|0,r[5418]=t0,r[t0+4>>2]=J|1,r[S+4>>2]=w|3,S=S+8|0,v=M0,S|0}return r[(Pt()|0)>>2]=48,S=0,v=M0,S|0}function h2(t){t=t|0;var e=0,i=0,n=0,o=0,a=0,A=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,A=i;else{if(n=r[i>>2]|0,!(t&3)||(A=i+(0-n)|0,a=n+e|0,A>>>0<o>>>0))return;if((r[5417]|0)==(A|0)){if(t=c+4|0,e=r[t>>2]|0,(e&3|0)!=3){l=A,e=a;break}r[5414]=a,r[t>>2]=e&-2,r[A+4>>2]=a|1,r[A+a>>2]=a;return}if(i=n>>>3,n>>>0<256)if(t=r[A+8>>2]|0,e=r[A+12>>2]|0,(e|0)==(t|0)){r[5412]=r[5412]&~(1<<i),l=A,e=a;break}else{r[t+12>>2]=e,r[e+8>>2]=t,l=A,e=a;break}o=r[A+24>>2]|0,t=r[A+12>>2]|0;do if((t|0)==(A|0)){if(e=A+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[A+8>>2]|0,r[l+12>>2]=t,r[t+8>>2]=l;while(0);if(o){if(e=r[A+28>>2]|0,i=21952+(e<<2)|0,(r[i>>2]|0)==(A|0)){if(r[i>>2]=t,!t){r[5413]=r[5413]&~(1<<e),l=A,e=a;break}}else if(l=o+16|0,r[((r[l>>2]|0)==(A|0)?l:o+20|0)>>2]=t,!t){l=A,e=a;break}r[t+24>>2]=o,e=A+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=A,e=a):(l=A,e=a)}else l=A,e=a}while(0);if(A>>>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[A+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]=A,r[l+4>>2]=c|1,r[A+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{a=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(a|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=a+16|0,r[((r[n>>2]|0)==(c|0)?n:a+20|0)>>2]=i,!i)break;r[i+24>>2]=a,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[A+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:(A=(t+1048320|0)>>>16&8,c=t<<A,a=(c+520192|0)>>>16&4,c=c<<a,n=(c+245760|0)>>>16&2,n=14-(a|A|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);A=t+8|0,c=r[A>>2]|0,r[c+12>>2]=l,r[A>>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 zr(t){t=t|0;var e=0,i=0,n=0;n=t+3&-4,t=zf()|0,e=r[t>>2]|0,i=e+n|0;do if((n|0)<1|i>>>0>e>>>0){if(i>>>0>(jl()|0)>>>0&&!(Dl(i|0)|0))break;return r[t>>2]=i,n=e,n|0}while(0);return r[(Pt()|0)>>2]=48,n=-1,n|0}function my(t){t=t|0;var e=0;return e=v,v=v+t|0,v=v+15&-16,e|0}function vy(t){t=t|0,v=t}function py(){return v|0}function dy(t,e){t=t|0,e=e|0;var i=0,n=0,o=0,a=0;return a=t&65535,o=e&65535,i=u0(o,a)|0,n=t>>>16,t=(i>>>16)+(u0(o,n)|0)|0,o=e>>>16,e=u0(o,a)|0,Z0((t>>>16)+(u0(o,n)|0)+(((t&65535)+e|0)>>>16)|0),t+e<<16|i&65535|0|0}function l2(t,e,i,n){t=t|0,e=e|0,i=i|0,n=n|0;var o=0,a=0;return o=t,a=i,i=dy(o,a)|0,t=y0()|0,Z0((u0(e,a)|0)+(u0(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 Gf(t){return t=t|0,(t?31-(Lt(t^t-1)|0)|0:32)|0}function yy(t,e,i,n,o){t=t|0,e=e|0,i=i|0,n=n|0,o=o|0;var a=0,A=0,l=0,c=0,d=0,x=0,w=0,N=0,G=0,E=0;if(x=t,c=e,d=c,A=i,N=n,l=N,!d)return a=(o|0)!=0,l?a?(r[o>>2]=t|0,r[o+4>>2]=e&0,N=0,o=0,Z0(N|0),o|0):(N=0,o=0,Z0(N|0),o|0):(a&&(r[o>>2]=(x>>>0)%(A>>>0),r[o+4>>2]=0),N=0,o=(x>>>0)/(A>>>0)>>>0,Z0(N|0),o|0);a=(l|0)==0;do if(A){if(!a){if(a=(Lt(l|0)|0)-(Lt(d|0)|0)|0,a>>>0<=31){w=a+1|0,l=31-a|0,e=a-31>>31,A=w,t=x>>>(w>>>0)&e|d<<l,e=d>>>(w>>>0)&e,a=0,l=x<<l;break}return o?(r[o>>2]=t|0,r[o+4>>2]=c|e&0,N=0,o=0,Z0(N|0),o|0):(N=0,o=0,Z0(N|0),o|0)}if(a=A-1|0,a&A|0){l=(Lt(A|0)|0)+33-(Lt(d|0)|0)|0,E=64-l|0,w=32-l|0,c=w>>31,G=l-32|0,e=G>>31,A=l,t=w-1>>31&d>>>(G>>>0)|(d<<w|x>>>(l>>>0))&e,e=e&d>>>(l>>>0),a=x<<E&c,l=(d<<E|x>>>(G>>>0))&c|x<<w&l-33>>31;break}return o|0&&(r[o>>2]=a&x,r[o+4>>2]=0),(A|0)==1?(G=c|e&0,E=t|0|0,Z0(G|0),E|0):(E=Gf(A|0)|0,G=d>>>(E>>>0)|0,E=d<<32-E|x>>>(E>>>0)|0,Z0(G|0),E|0)}else{if(a)return o|0&&(r[o>>2]=(d>>>0)%(A>>>0),r[o+4>>2]=0),G=0,E=(d>>>0)/(A>>>0)>>>0,Z0(G|0),E|0;if(!x)return o|0&&(r[o>>2]=0,r[o+4>>2]=(d>>>0)%(l>>>0)),G=0,E=(d>>>0)/(l>>>0)>>>0,Z0(G|0),E|0;if(a=l-1|0,!(a&l))return o|0&&(r[o>>2]=t|0,r[o+4>>2]=a&d|e&0),G=0,E=d>>>((Gf(l|0)|0)>>>0),Z0(G|0),E|0;if(a=(Lt(l|0)|0)-(Lt(d|0)|0)|0,a>>>0<=30){e=a+1|0,l=31-a|0,A=e,t=d<<l|x>>>(e>>>0),e=d>>>(e>>>0),a=0,l=x<<l;break}return o?(r[o>>2]=t|0,r[o+4>>2]=c|e&0,G=0,E=0,Z0(G|0),E|0):(G=0,E=0,Z0(G|0),E|0)}while(0);if(!A)d=l,c=0,l=0;else{w=i|0|0,x=N|n&0,d=yt(w|0,x|0,-1,-1)|0,i=y0()|0,c=l,l=0;do n=c,c=a>>>31|c<<1,a=l|a<<1,n=t<<1|n>>>31|0,N=t>>>31|e<<1|0,ae(d|0,i|0,n|0,N|0)|0,E=y0()|0,G=E>>31|((E|0)<0?-1:0)<<1,l=G&1,t=ae(n|0,N|0,G&w|0,(((E|0)<0?-1:0)>>31|((E|0)<0?-1:0)<<1)&x|0)|0,e=y0()|0,A=A-1|0;while(A|0);d=c,c=0}return A=0,o|0&&(r[o>>2]=t,r[o+4>>2]=e),G=(a|0)>>>31|(d|A)<<1|(A<<1|a>>>31)&0|c,E=(a<<1|0>>>31)&-2|l,Z0(G|0),E|0}function u2(t,e,i,n){return t=t|0,e=e|0,i=i|0,n=n|0,yy(t,e,i,n,0)|0}function Gi(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 Ef(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 zf(){return 22176}function Bf(t){return t=t|0,(t&255)<<24|(t>>8&255)<<16|(t>>16&255)<<8|t>>>24|0}function ht(t,e,i){t=t|0,e=e|0,i=i|0;var n=0,o=0,a=0;if((i|0)>=512)return Yl(t|0,e|0,i|0)|0,t|0;if(a=t|0,o=t+i|0,(t&3)==(e&3)){for(;t&3;){if(!i)return a|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 a|0}function Mt(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 ht(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,a=0,A=0;if(a=t+i|0,e=e&255,(i|0)>=67){for(;t&3;)u[t>>0]=e,t=t+1|0;for(n=a&-4|0,A=e|e<<8|e<<16|e<<24,o=n-64|0;(t|0)<=(o|0);)r[t>>2]=A,r[t+4>>2]=A,r[t+8>>2]=A,r[t+12>>2]=A,r[t+16>>2]=A,r[t+20>>2]=A,r[t+24>>2]=A,r[t+28>>2]=A,r[t+32>>2]=A,r[t+36>>2]=A,r[t+40>>2]=A,r[t+44>>2]=A,r[t+48>>2]=A,r[t+52>>2]=A,r[t+56>>2]=A,r[t+60>>2]=A,t=t+64|0;for(;(t|0)<(n|0);)r[t>>2]=A,t=t+4|0}for(;(t|0)<(a|0);)u[t>>0]=e,t=t+1|0;return a-i|0}function My(t){return t=t|0,v2[t&3]()|0}function gy(t,e){return t=t|0,e=e|0,Ei[t&15](e|0)|0}function _y(t,e,i,n,o,a,A){return t=t|0,e=e|0,i=+i,n=n|0,o=o|0,a=a|0,A=A|0,Of[t&1](e|0,+i,n|0,o|0,a|0,A|0)|0}function Ry(t,e,i){return t=t|0,e=e|0,i=i|0,Oe[t&63](e|0,i|0)|0}function xy(t,e,i,n){return t=t|0,e=e|0,i=i|0,n=n|0,Ae[t&7](e|0,i|0,n|0)|0}function wy(t){t=t|0,p2[t&3]()}function Zy(t,e){t=t|0,e=e|0,w0[t&255](e|0)}function Fy(t,e,i){t=t|0,e=e|0,i=i|0,vr[t&15](e|0,i|0)}function ky(t,e,i,n){t=t|0,e=e|0,i=i|0,n=n|0,Je[t&15](e|0,i|0,n|0)}function Ny(t,e,i,n,o){t=t|0,e=e|0,i=i|0,n=n|0,o=o|0,Pe[t&7](e|0,i|0,n|0,o|0)}function Vy(t,e,i,n,o,a){t=t|0,e=e|0,i=i|0,n=n|0,o=o|0,a=a|0,zi[t&3](e|0,i|0,n|0,o|0,a|0)}function Wy(t,e,i,n,o,a,A){t=t|0,e=e|0,i=i|0,n=n|0,o=o|0,a=a|0,A=A|0,je[t&3](e|0,i|0,n|0,o|0,a|0,A|0)}function Sf(){return K0(0),0}function c2(t){return t=t|0,K0(1),0}function Ty(t,e,i,n,o,a){return t=t|0,e=+e,i=i|0,n=n|0,o=o|0,a=a|0,K0(2),0}function E0(t,e){return t=t|0,e=e|0,K0(3),0}function Cf(t,e,i){return t=t|0,e=e|0,i=i|0,K0(4),0}function If(){K0(5)}function O(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 m2(t,e,i,n){t=t|0,e=e|0,i=i|0,n=n|0,K0(9)}function Xy(t,e,i,n,o){t=t|0,e=e|0,i=i|0,n=n|0,o=o|0,K0(10)}function Uy(t,e,i,n,o,a){t=t|0,e=e|0,i=i|0,n=n|0,o=o|0,a=a|0,K0(11)}var v2=[Sf,Mv,n5,Sf],Ei=[c2,hd,Y1,$1,nd,od,Cd,$d,sy,av,Kl,Hv,_v,o5,c2,c2],Of=[Ty,Z6],Oe=[E0,h1,d1,q1,qu,gc,Fc,Tc,Xc,Gc,Lc,bc,c4,y4,w4,W4,q4,nm,hm,mm,Rm,km,Um,Bm,Ym,e3,a3,c3,M3,Z3,z3,J3,q3,n8,m8,g8,W8,S8,D8,K8,ov,Iv,E0,E0,E0,E0,E0,E0,E0,E0,E0,E0,E0,E0,E0,E0,E0,E0,E0,E0,E0,E0,E0,E0],Ae=[Cf,E6,D6,vd,dd,bd,ty,Cf],p2=[If,cd,J6,If],w0=[O,C0,a1,A1,l1,v1,p1,y1,At,z1,K1,j1,H1,L1,iu,nu,cu,mu,Zu,Fu,ku,Ou,Lu,Qu,$u,dc,Ks,_c,kr,Rc,wc,Zc,kc,to,Wc,vt,Uc,Dc,Hc,Qc,Ao,Kc,l4,u4,m4,co,d4,R4,x4,Z4,yo,V4,L4,Q4,$4,Go,sm,am,Am,lm,Eo,vm,gm,_m,xm,zo,Nm,Tm,Xm,Gm,Io,Sm,Pm,jm,Dm,t3,r3,i3,o3,f3,A3,Jo,m3,d3,y3,g3,Po,w3,G3,E3,B3,Yo,O3,L3,Q3,$3,Do,i8,u8,c8,v8,Ho,M8,N8,V8,T8,Lo,B8,j8,Y8,H8,Qo,$8,nv,sv,fv,fe,P6,j6,Y6,q6,ed,id,Wi,sd,Ad,ld,ud,md,pd,gd,Vf,Sd,Qd,qd,ny,Uf,Ay,lv,qv,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O],vr=[mr,D1,Q1,$l,t1,r1,e1,i1,F6,mr,mr,mr,mr,mr,mr,mr],Je=[Sr,Kd,ry,oy,fy,ql,bl,Gv,y5,w5,Sr,Sr,Sr,Sr,Sr,Sr],Pe=[m2,Q6,b6,xd,Nv,c5,m2,m2],zi=[Xy,L6,K6,Rd],je=[Uy,H6,$6,_d];return{__ZSt18uncaught_exceptionv:zd,___cxa_can_catch:Ud,___cxa_is_pointer_type:Gd,___embind_register_native_and_builtin_types:rf,___errno_location:Pt,___getTypeName:p6,___muldi3:l2,___udivdi3:u2,_bitshift64Lshr:Gi,_bitshift64Shl:Ef,_emscripten_get_sbrk_ptr:zf,_free:h2,_i64Add:yt,_i64Subtract:ae,_llvm_bswap_i32:Bf,_malloc:Ui,_memcpy:ht,_memmove:Mt,_memset:Br,dynCall_i:My,dynCall_ii:gy,dynCall_iidiiii:_y,dynCall_iii:Ry,dynCall_iiii:xy,dynCall_v:wy,dynCall_vi:Zy,dynCall_vii:Fy,dynCall_viii:ky,dynCall_viiii:Ny,dynCall_viiiii:Vy,dynCall_viiiiii:Wy,globalCtors:Hl,stackAlloc:my,stackRestore:vy,stackSave:py}}(Wl,Tl,Mr),we=s.__ZSt18uncaught_exceptionv=c0.__ZSt18uncaught_exceptionv,W9=s.___cxa_can_catch=c0.___cxa_can_catch,T9=s.___cxa_is_pointer_type=c0.___cxa_is_pointer_type,X9=s.___embind_register_native_and_builtin_types=c0.___embind_register_native_and_builtin_types,U9=s.___errno_location=c0.___errno_location,Xl=s.___getTypeName=c0.___getTypeName,G9=s.___muldi3=c0.___muldi3,E9=s.___udivdi3=c0.___udivdi3,z9=s._bitshift64Lshr=c0._bitshift64Lshr,B9=s._bitshift64Shl=c0._bitshift64Shl,S9=s._emscripten_get_sbrk_ptr=c0._emscripten_get_sbrk_ptr,lr=s._free=c0._free,C9=s._i64Add=c0._i64Add,I9=s._i64Subtract=c0._i64Subtract,O9=s._llvm_bswap_i32=c0._llvm_bswap_i32,kn=s._malloc=c0._malloc,J9=s._memcpy=c0._memcpy,P9=s._memmove=c0._memmove,j9=s._memset=c0._memset,Ul=s.globalCtors=c0.globalCtors,Ms=s.stackAlloc=c0.stackAlloc,Gl=s.stackRestore=c0.stackRestore,El=s.stackSave=c0.stackSave,Y9=s.dynCall_i=c0.dynCall_i,D9=s.dynCall_ii=c0.dynCall_ii,H9=s.dynCall_iidiiii=c0.dynCall_iidiiii,L9=s.dynCall_iii=c0.dynCall_iii,Q9=s.dynCall_iiii=c0.dynCall_iiii,q9=s.dynCall_v=c0.dynCall_v,$9=s.dynCall_vi=c0.dynCall_vi,K9=s.dynCall_vii=c0.dynCall_vii,b9=s.dynCall_viii=c0.dynCall_viii,tR=s.dynCall_viiii=c0.dynCall_viiii,rR=s.dynCall_viiiii=c0.dynCall_viiiii,eR=s.dynCall_viiiiii=c0.dynCall_viiiiii;if(s.asm=c0,Ut)if(ns(Ut)||(Ut=T(Ut)),F||V){var zl=P(Ut);$0.set(zl,D2)}else{dh("memory initializer");var Nn=function(M){M.byteLength&&(M=new Uint8Array(M)),$0.set(M,D2),s.memoryInitializerRequest&&delete s.memoryInitializerRequest.response,yh("memory initializer")},gs=function(){W(Ut,Nn,function(){var M=new Error("could not load memory initializer "+Ut);throw M})},_s=hr(Ut);if(_s)Nn(_s.buffer);else if(s.memoryInitializerRequest){var Rs=function(){var M=s.memoryInitializerRequest,g=M.response;if(M.status!==200&&M.status!==0){var k=hr(s.memoryInitializerRequestURL);if(k)g=k.buffer;else{console.warn("a problem seems to have happened with Module.memoryInitializerRequest, status: "+M.status+", retrying "+Ut),gs();return}}Nn(g)};s.memoryInitializerRequest.response?setTimeout(Rs,0):s.memoryInitializerRequest.addEventListener("load",Rs)}else gs()}var Ai;function Bl(M){this.name="ExitStatus",this.message="Program terminated with exit("+M+")",this.status=M}ye=function M(){Ai||Vn(),Ai||(ye=M)};function Vn(M){if(M=M||m,_r>0||(fh(),_r>0))return;function g(){Ai||(Ai=!0,s.calledRun=!0,!L2&&(ah(),Ah(),s.onRuntimeInitialized&&s.onRuntimeInitialized(),hh()))}s.setStatus?(s.setStatus("Running..."),setTimeout(function(){setTimeout(function(){s.setStatus("")},1),g()},1)):g()}if(s.run=Vn,s.preInit)for(typeof s.preInit=="function"&&(s.preInit=[s.preInit]);s.preInit.length>0;)s.preInit.pop()();return H2=!0,Vn(),s}var Kt=null,na={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,f={},h,m){m=m===void 0||m===0?1:m;let p=s.slice(h,h+f.BYTES_PER_ELEMENT*m),y=new f(p);if(m===1)return y[0];let _=[];for(let R=0;R<m;R++)_.push(y[R]);return _}function sa(s){let f=131,h={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,f,3)};f+=24,h.offset=pr(s,Float64Array,f,3),f+=24;let m=pr(s,Float64Array,f,6);f+=48,h.maxs=[m[0],m[2],m[4]],h.mins=[m[1],m[3],m[5]];let p=new Set([2,3]);return h.hasColor=p.has(h.pointsFormatId&63),h}var Z2=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(f){this.arraybuffer=f}open(){return!0}getHeader(){return this.header=sa(this.arraybuffer),this.header}readData(f,h){let{header:m,arraybuffer:p}=this;if(!m)throw new Error("Cannot start reading data till a header request is issued");let{readOffset:y}=this,_;if(h<=1){f=Math.min(f,m.pointsCount-y),_=m.pointsOffset+y*m.pointsStructSize;let T=_+f*m.pointsStructSize;return y+=f,this.readOffset=y,{buffer:p.slice(_,T),count:f,hasMoreData:y<m.pointsCount}}let R=Math.min(f*h,m.pointsCount-y),F=Math.ceil(R/h),V=0,X=new Uint8Array(F*m.pointsStructSize);for(let T=0;T<R;T++){if(T%h===0){_=m.pointsOffset+y*m.pointsStructSize;let C=new Uint8Array(p,_,m.pointsStructSize);X.set(C,V*m.pointsStructSize),V++}y++}return this.readOffset=y,{buffer:X.buffer,count:V,hasMoreData:y<m.pointsCount}}close(){return this.arraybuffer=null,!0}},F2=class{arraybuffer;instance=null;header=null;constructor(f){this.arraybuffer=f,Kt||(Kt=w2())}open(){try{let{arraybuffer:f}=this;this.instance=new Kt.LASZip;let h=new Uint8Array(f),m=Kt._malloc(f.byteLength);return this.instance.arraybuffer=f,this.instance.buf=m,Kt.HEAPU8.set(h,m),this.instance.open(m,f.byteLength),this.instance.readOffset=0,!0}catch(f){throw new Error(`Failed to open file: ${f.message}`)}}getHeader(){if(!this.instance)throw new Error("You need to open the file before trying to read header");try{let f=sa(this.instance.arraybuffer);return f.pointsFormatId&=63,this.header=f,f}catch(f){throw new Error(`Failed to get header: ${f.message}`)}}readData(f,h){if(!this.instance)throw new Error("You need to open the file before trying to read stuff");let{header:m,instance:p}=this;if(!m)throw new Error("You need to query header before reading, I maintain state that way, sorry :(");try{let y=Math.min(f*h,m.pointsCount-p.readOffset),_=Math.ceil(y/h),R=0,F=new Uint8Array(_*m.pointsStructSize),V=Kt._malloc(m.pointsStructSize);for(let X=0;X<y;X++){if(p.getPoint(V),X%h===0){let T=new Uint8Array(Kt.HEAPU8.buffer,V,m.pointsStructSize);F.set(T,R*m.pointsStructSize),R++}p.readOffset++}return Kt._free(V),{buffer:F.buffer,count:R,hasMoreData:p.readOffset<m.pointsCount}}catch(y){throw new Error(`Failed to read data: ${y.message}`)}}close(){try{return this.instance!==null&&(Kt._free(this.instance.buf),this.instance.delete(),this.instance=null),!0}catch(f){throw new Error(`Failed to close file: ${f.message}`)}}},k2=class{arrayb;decoder;pointsCount;pointSize;scale;offset;mins;maxs;constructor(f,h,m){this.arrayb=f,this.decoder=na[m.pointsFormatId],this.pointsCount=h,this.pointSize=m.pointsStructSize,this.scale=m.scale,this.offset=m.offset,this.mins=m.mins,this.maxs=m.maxs}getPoint(f){if(f<0||f>=this.pointsCount)throw new Error("Point index out of range");let h=new DataView(this.arrayb,f*this.pointSize,this.pointSize);return this.decoder(h)}},Oi=class{arraybuffer;formatId=0;loader;isCompressed=!0;isOpen=!1;version=0;versionAsString="";constructor(f){if(this.arraybuffer=f,this.determineVersion()>13)throw new Error("Only file versions <= 1.3 are supported at this time");if(this.determineFormat(),na[this.formatId]===void 0)throw new Error("The point format ID is not supported");this.loader=this.isCompressed?new F2(this.arraybuffer):new Z2(this.arraybuffer)}determineFormat(){let f=pr(this.arraybuffer,Uint8Array,104),h=(f&128)>>7,m=(f&64)>>6;if(h===1&&m===1)throw new Error("Old style compression not supported");this.formatId=f&63,this.isCompressed=h===1||m===1}determineVersion(){let f=new Int8Array(this.arraybuffer,24,2);return this.version=f[0]*10+f[1],this.versionAsString=`${f[0]}.${f[1]}`,this.version}open(){this.loader.open()&&(this.isOpen=!0)}getHeader(){return this.loader.getHeader()}readData(f,h){return this.loader.readData(f,h)}close(){this.loader.close()&&(this.isOpen=!1)}getUnpacker(){return k2}};function N2(s,f){return by(s,f)}function by(s,f={}){let h=0,m,p,y,_,R,F={loader:"las",loaderData:{},schema:{fields:[],metadata:{}},header:{vertexCount:0,boundingBox:[[0,0,0],[0,0,0]]},attributes:{},topology:"point-list",mode:0};return tM(s,f.las?.skip,(V={},X)=>{if(!R){R=X;let p0=X.totalToRead,h0=f.las?.fp64?Float64Array:Float32Array;m=new h0(p0*3),p=X.hasColor?new Uint8Array(p0*4):null,y=new Uint16Array(p0),_=new Uint8Array(p0),F.loaderData=X,F.attributes={POSITION:{value:m,size:3},intensity:{value:y,size:1},classification:{value:_,size:1}},p&&(F.attributes.COLOR_0={value:p,size:4})}let T=V.pointsCount,{scale:[C,W,P],offset:[q,K,r0]}=X,o0=rM(V,T,f.las?.colorDepth);for(let p0=0;p0<T;p0++){let{position:h0,color:a0,intensity:U0,classification:V0}=V.getPoint(p0);m[h*3]=h0[0]*C+q,m[h*3+1]=h0[1]*W+K,m[h*3+2]=h0[2]*P+r0,a0&&p&&(o0?(p[h*4]=a0[0]/256,p[h*4+1]=a0[1]/256,p[h*4+2]=a0[2]/256):(p[h*4]=a0[0],p[h*4+1]=a0[1],p[h*4+2]=a0[2]),p[h*4+3]=255),y[h]=U0,_[h]=V0,h++}let l0={...F,header:{vertexCount:X.totalRead},progress:X.totalRead/X.totalToRead};f?.onProgress?.(l0)}),F.header={vertexCount:R.totalToRead,boundingBox:_2(F?.attributes||{})},F&&(F.schema=ea(F.loaderData,F.attributes)),F}function tM(s,f,h={}){let m=new Oi(s);try{m.open();let p=m.getHeader(),y=m.getUnpacker(),_=Math.ceil(p.pointsCount/Math.max(1,f));p.totalToRead=_;let R=0;for(;;){let F=m.readData(1e5,f);R+=F.count,p.totalRead=R;let V=new y(F.buffer,F.count,p);if(h(V,p),!F.hasMoreData||R>=_)break}}catch(p){throw p}finally{m.close()}}function rM(s={},f,h){let m=!1;switch(h){case 8:m=!1;break;case 16:m=!0;break;case"auto":if(s.getPoint(0).color)for(let p=0;p<f;p++){let{color:y}=s.getPoint(p);(y[0]>255||y[1]>255||y[2]>255)&&(m=!0)}break;default:console.warn("las: illegal value for options.las.colorDepth");break}return m}var V2={...Kf,parse:async(s,f)=>N2(s,f),parseSync:(s,f)=>N2(s,f)};function oa(s){let f=s.split(".").map(Number);return{major:f[0],minor:f[1]}}function fa(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 Nt=1,Vt=2,aa=4,He=5,Ir=484813681109536e-20,j=Math.PI/2,Aa=.16666666666666666,ha=.04722222222222222,la=.022156084656084655,L=1e-10,O0=.017453292519943295,Wt=57.29577951308232,d0=Math.PI/4,Le=Math.PI*2,z0=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 ua={ft:{to_meter:.3048},"us-ft":{to_meter:1200/3937}};var ca=/[\s_\-\/\(\)]/g;function lt(s,f){if(s[f])return s[f];for(var h=Object.keys(s),m=f.toLowerCase().replace(ca,""),p=-1,y,_;++p<h.length;)if(y=h[p],_=y.toLowerCase().replace(ca,""),_===m)return s[y]}function Qe(s){var f={},h=s.split("+").map(function(R){return R.trim()}).filter(function(R){return R}).reduce(function(R,F){var V=F.split("=");return V.push(!0),R[V[0].toLowerCase()]=V[1],R},{}),m,p,y,_={proj:"projName",datum:"datumCode",rf:function(R){f.rf=parseFloat(R)},lat_0:function(R){f.lat0=R*O0},lat_1:function(R){f.lat1=R*O0},lat_2:function(R){f.lat2=R*O0},lat_ts:function(R){f.lat_ts=R*O0},lon_0:function(R){f.long0=R*O0},lon_1:function(R){f.long1=R*O0},lon_2:function(R){f.long2=R*O0},alpha:function(R){f.alpha=parseFloat(R)*O0},lonc:function(R){f.longc=R*O0},x_0:function(R){f.x0=parseFloat(R)},y_0:function(R){f.y0=parseFloat(R)},k_0:function(R){f.k0=parseFloat(R)},k:function(R){f.k0=parseFloat(R)},a:function(R){f.a=parseFloat(R)},b:function(R){f.b=parseFloat(R)},r_a:function(){f.R_A=!0},zone:function(R){f.zone=parseInt(R,10)},south:function(){f.utmSouth=!0},towgs84:function(R){f.datum_params=R.split(",").map(function(F){return parseFloat(F)})},to_meter:function(R){f.to_meter=parseFloat(R)},units:function(R){f.units=R;var F=lt(ua,R);F&&(f.to_meter=F.to_meter)},from_greenwich:function(R){f.from_greenwich=R*O0},pm:function(R){var F=lt(b0,R);f.from_greenwich=(F||parseFloat(R))*O0},nadgrids:function(R){R==="@null"?f.datumCode="none":f.nadgrids=R},axis:function(R){var F="ewnsud";R.length===3&&F.indexOf(R.substr(0,1))!==-1&&F.indexOf(R.substr(1,1))!==-1&&F.indexOf(R.substr(2,1))!==-1&&(f.axis=R)}};for(m in h)p=h[m],m in _?(y=_[m],typeof y=="function"?y(p):f[y]=p):f[m]=p;return typeof f.datumCode=="string"&&f.datumCode!=="WGS84"&&(f.datumCode=f.datumCode.toLowerCase()),f}var W2=class{static getId(f){let h=f.find(m=>Array.isArray(m)&&m[0]==="ID");return h&&h.length>=3?{authority:h[1],code:parseInt(h[2],10)}:null}static convertUnit(f,h="unit"){if(!f||f.length<3)return{type:h,name:"unknown",conversion_factor:null};let m=f[1],p=parseFloat(f[2])||null,y=f.find(R=>Array.isArray(R)&&R[0]==="ID"),_=y?{authority:y[1],code:parseInt(y[2],10)}:null;return{type:h,name:m,conversion_factor:p,id:_}}static convertAxis(f){let h=f[1]||"Unknown",m,p=h.match(/^\((.)\)$/);if(p){let V=p[1].toUpperCase();if(V==="E")m="east";else if(V==="N")m="north";else if(V==="U")m="up";else throw new Error(`Unknown axis abbreviation: ${V}`)}else m=f[2]?f[2].toLowerCase():"unknown";let y=f.find(V=>Array.isArray(V)&&V[0]==="ORDER"),_=y?parseInt(y[1],10):null,R=f.find(V=>Array.isArray(V)&&(V[0]==="LENGTHUNIT"||V[0]==="ANGLEUNIT"||V[0]==="SCALEUNIT")),F=this.convertUnit(R);return{name:h,direction:m,unit:F,order:_}}static extractAxes(f){return f.filter(h=>Array.isArray(h)&&h[0]==="AXIS").map(h=>this.convertAxis(h)).sort((h,m)=>(h.order||0)-(m.order||0))}static convert(f,h={}){switch(f[0]){case"PROJCRS":h.type="ProjectedCRS",h.name=f[1],h.base_crs=f.find(W=>Array.isArray(W)&&W[0]==="BASEGEOGCRS")?this.convert(f.find(W=>Array.isArray(W)&&W[0]==="BASEGEOGCRS")):null,h.conversion=f.find(W=>Array.isArray(W)&&W[0]==="CONVERSION")?this.convert(f.find(W=>Array.isArray(W)&&W[0]==="CONVERSION")):null;let m=f.find(W=>Array.isArray(W)&&W[0]==="CS");m&&(h.coordinate_system={type:m[1],axis:this.extractAxes(f)});let p=f.find(W=>Array.isArray(W)&&W[0]==="LENGTHUNIT");if(p){let W=this.convertUnit(p);h.coordinate_system.unit=W}h.id=this.getId(f);break;case"BASEGEOGCRS":case"GEOGCRS":h.type="GeographicCRS",h.name=f[1];let y=f.find(W=>Array.isArray(W)&&(W[0]==="DATUM"||W[0]==="ENSEMBLE"));if(y){let W=this.convert(y);y[0]==="ENSEMBLE"?h.datum_ensemble=W:h.datum=W;let P=f.find(q=>Array.isArray(q)&&q[0]==="PRIMEM");P&&P[1]!=="Greenwich"&&(W.prime_meridian={name:P[1],longitude:parseFloat(P[2])})}h.coordinate_system={type:"ellipsoidal",axis:this.extractAxes(f)},h.id=this.getId(f);break;case"DATUM":h.type="GeodeticReferenceFrame",h.name=f[1],h.ellipsoid=f.find(W=>Array.isArray(W)&&W[0]==="ELLIPSOID")?this.convert(f.find(W=>Array.isArray(W)&&W[0]==="ELLIPSOID")):null;break;case"ENSEMBLE":h.type="DatumEnsemble",h.name=f[1],h.members=f.filter(W=>Array.isArray(W)&&W[0]==="MEMBER").map(W=>({type:"DatumEnsembleMember",name:W[1],id:this.getId(W)}));let _=f.find(W=>Array.isArray(W)&&W[0]==="ENSEMBLEACCURACY");_&&(h.accuracy=parseFloat(_[1]));let R=f.find(W=>Array.isArray(W)&&W[0]==="ELLIPSOID");R&&(h.ellipsoid=this.convert(R)),h.id=this.getId(f);break;case"ELLIPSOID":h.type="Ellipsoid",h.name=f[1],h.semi_major_axis=parseFloat(f[2]),h.inverse_flattening=parseFloat(f[3]);let F=f.find(W=>Array.isArray(W)&&W[0]==="LENGTHUNIT")?this.convert(f.find(W=>Array.isArray(W)&&W[0]==="LENGTHUNIT"),h):null;break;case"CONVERSION":h.type="Conversion",h.name=f[1],h.method=f.find(W=>Array.isArray(W)&&W[0]==="METHOD")?this.convert(f.find(W=>Array.isArray(W)&&W[0]==="METHOD")):null,h.parameters=f.filter(W=>Array.isArray(W)&&W[0]==="PARAMETER").map(W=>this.convert(W));break;case"METHOD":h.type="Method",h.name=f[1],h.id=this.getId(f);break;case"PARAMETER":h.type="Parameter",h.name=f[1],h.value=parseFloat(f[2]),h.unit=this.convertUnit(f.find(W=>Array.isArray(W)&&(W[0]==="LENGTHUNIT"||W[0]==="ANGLEUNIT"||W[0]==="SCALEUNIT"))),h.id=this.getId(f);break;case"BOUNDCRS":h.type="BoundCRS";let V=f.find(W=>Array.isArray(W)&&W[0]==="SOURCECRS");if(V){let W=V.find(P=>Array.isArray(P));h.source_crs=W?this.convert(W):null}let X=f.find(W=>Array.isArray(W)&&W[0]==="TARGETCRS");if(X){let W=X.find(P=>Array.isArray(P));h.target_crs=W?this.convert(W):null}let T=f.find(W=>Array.isArray(W)&&W[0]==="ABRIDGEDTRANSFORMATION");T?h.transformation=this.convert(T):h.transformation=null;break;case"ABRIDGEDTRANSFORMATION":if(h.type="Transformation",h.name=f[1],h.method=f.find(W=>Array.isArray(W)&&W[0]==="METHOD")?this.convert(f.find(W=>Array.isArray(W)&&W[0]==="METHOD")):null,h.parameters=f.filter(W=>Array.isArray(W)&&(W[0]==="PARAMETER"||W[0]==="PARAMETERFILE")).map(W=>{if(W[0]==="PARAMETER")return this.convert(W);if(W[0]==="PARAMETERFILE")return{name:W[1],value:W[2],id:{authority:"EPSG",code:8656}}}),h.parameters.length===7){let W=h.parameters[6];W.name==="Scale difference"&&(W.value=Math.round((W.value-1)*1e12)/1e6)}h.id=this.getId(f);break;case"AXIS":h.coordinate_system||(h.coordinate_system={type:"unspecified",axis:[]}),h.coordinate_system.axis.push(this.convertAxis(f));break;case"LENGTHUNIT":let C=this.convertUnit(f,"LinearUnit");h.coordinate_system&&h.coordinate_system.axis&&h.coordinate_system.axis.forEach(W=>{W.unit||(W.unit=C)}),C.conversion_factor&&C.conversion_factor!==1&&h.semi_major_axis&&(h.semi_major_axis={value:h.semi_major_axis,unit:C});break;default:h.keyword=f[0];break}return h}},Ji=W2;var T2=class extends Ji{static convert(f,h={}){return super.convert(f,h),h.coordinate_system&&h.coordinate_system.subtype==="Cartesian"&&delete h.coordinate_system,h.usage&&delete h.usage,h}},ma=T2;var X2=class extends Ji{static convert(f,h={}){super.convert(f,h);let m=f.find(y=>Array.isArray(y)&&y[0]==="CS");m&&(h.coordinate_system={subtype:m[1],axis:this.extractAxes(f)});let p=f.find(y=>Array.isArray(y)&&y[0]==="USAGE");if(p){let y=p.find(F=>Array.isArray(F)&&F[0]==="SCOPE"),_=p.find(F=>Array.isArray(F)&&F[0]==="AREA"),R=p.find(F=>Array.isArray(F)&&F[0]==="BBOX");h.usage={},y&&(h.usage.scope=y[1]),_&&(h.usage.area=_[1]),R&&(h.usage.bbox=R.slice(1))}return h}},va=X2;function eM(s){return s.find(f=>Array.isArray(f)&&f[0]==="USAGE")?"2019":(s.find(f=>Array.isArray(f)&&f[0]==="CS")||s[0]==="BOUNDCRS"||s[0]==="PROJCRS"||s[0]==="GEOGCRS","2015")}function pa(s){return(eM(s)==="2019"?va:ma).convert(s)}function da(s){let f=s.toUpperCase();return f.includes("PROJCRS")||f.includes("GEOGCRS")||f.includes("BOUNDCRS")||f.includes("VERTCRS")||f.includes("LENGTHUNIT")||f.includes("ANGLEUNIT")||f.includes("SCALEUNIT")?"WKT2":(f.includes("PROJCS")||f.includes("GEOGCS")||f.includes("LOCAL_CS")||f.includes("VERT_CS")||f.includes("UNIT"),"WKT1")}var ya=oM,qe=1,Ma=2,ga=3,Pi=4,_a=5,U2=-1,iM=/\s/,nM=/[A-Za-z]/,sM=/[A-Za-z84_]/,ji=/[,\]]/,Ra=/[\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!==Pi)for(;iM.test(s);){if(this.place>=this.text.length)return;s=this.text[this.place++]}switch(this.state){case qe:return this.neutral(s);case Ma:return this.keyword(s);case Pi:return this.quoted(s);case _a:return this.afterquote(s);case ga:return this.number(s);case U2:return}};bt.prototype.afterquote=function(s){if(s==='"'){this.word+='"',this.state=Pi;return}if(ji.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=U2);return}};bt.prototype.number=function(s){if(Ra.test(s)){this.word+=s;return}if(ji.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=_a;return}this.word+=s};bt.prototype.keyword=function(s){if(sM.test(s)){this.word+=s;return}if(s==="["){var f=[];f.push(this.word),this.level++,this.root===null?this.root=f:this.currentObject.push(f),this.stack.push(this.currentObject),this.currentObject=f,this.state=qe;return}if(ji.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(nM.test(s)){this.word=s,this.state=Ma;return}if(s==='"'){this.word="",this.state=Pi;return}if(Ra.test(s)){this.word=s,this.state=ga;return}if(ji.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===U2)return this.root;throw new Error('unable to parse string "'+this.text+'". State is '+this.state)};function oM(s){var f=new bt(s);return f.output()}function G2(s,f,h){Array.isArray(f)&&(h.unshift(f),f=null);var m=f?{}:s,p=h.reduce(function(y,_){return Or(_,y),y},m);f&&(s[f]=p)}function Or(s,f){if(!Array.isArray(s)){f[s]=!0;return}var h=s.shift();if(h==="PARAMETER"&&(h=s.shift()),s.length===1){if(Array.isArray(s[0])){f[h]={},Or(s[0],f[h]);return}f[h]=s[0];return}if(!s.length){f[h]=!0;return}if(h==="TOWGS84"){f[h]=s;return}if(h==="AXIS"){h in f||(f[h]=[]),f[h].push(s);return}Array.isArray(h)||(f[h]={});var m;switch(h){case"UNIT":case"PRIMEM":case"VERT_DATUM":f[h]={name:s[0].toLowerCase(),convert:s[1]},s.length===3&&Or(s[2],f[h]);return;case"SPHEROID":case"ELLIPSOID":f[h]={name:s[0],a:s[1],rf:s[2]},s.length===4&&Or(s[3],f[h]);return;case"EDATUM":case"ENGINEERINGDATUM":case"LOCAL_DATUM":case"DATUM":case"VERT_CS":case"VERTCRS":case"VERTICALCRS":s[0]=["name",s[0]],G2(f,h,s);return;case"COMPD_CS":case"COMPOUNDCRS":case"FITTED_CS":case"PROJECTEDCRS":case"PROJCRS":case"GEOGCS":case"GEOCCS":case"PROJCS":case"LOCAL_CS":case"GEODCRS":case"GEODETICCRS":case"GEODETICDATUM":case"ENGCRS":case"ENGINEERINGCRS":s[0]=["name",s[0]],G2(f,h,s),f[h].type=h;return;default:for(m=-1;++m<s.length;)if(!Array.isArray(s[m]))return Or(s,f[h]);return G2(f,h,s)}}var fM=.017453292519943295;function _t(s){return s*fM}function Yi(s){let f=(s.projName||"").toLowerCase().replace(/_/g," ");!s.long0&&s.longc&&(f==="albers conic equal area"||f==="lambert azimuthal equal area")&&(s.long0=s.longc),!s.lat_ts&&s.lat1&&(f==="stereographic south pole"||f==="polar stereographic (variant b)")?(s.lat0=_t(s.lat1>0?90:-90),s.lat_ts=s.lat1,delete s.lat1):!s.lat_ts&&s.lat0&&(f==="polar stereographic"||f==="polar stereographic (variant a)")&&(s.lat_ts=s.lat0,s.lat0=_t(s.lat0>0?90:-90),delete s.lat1)}function xa(s){let f={units:null,to_meter:void 0};return typeof s=="string"?(f.units=s.toLowerCase(),f.units==="metre"&&(f.units="meter"),f.units==="meter"&&(f.to_meter=1)):s&&s.name&&(f.units=s.name.toLowerCase(),f.units==="metre"&&(f.units="meter"),f.to_meter=s.conversion_factor),f}function wa(s){return typeof s=="object"?s.value*s.unit.conversion_factor:s}function Za(s,f){s.ellipsoid.radius?(f.a=s.ellipsoid.radius,f.rf=0):(f.a=wa(s.ellipsoid.semi_major_axis),s.ellipsoid.inverse_flattening!==void 0?f.rf=s.ellipsoid.inverse_flattening:s.ellipsoid.semi_major_axis!==void 0&&s.ellipsoid.semi_minor_axis!==void 0&&(f.rf=f.a/(f.a-wa(s.ellipsoid.semi_minor_axis))))}function $e(s,f={}){return!s||typeof s!="object"?s:s.type==="BoundCRS"?($e(s.source_crs,f),s.transformation&&(s.transformation.method&&s.transformation.method.name==="NTv2"?f.nadgrids=s.transformation.parameters[0].value:f.datum_params=s.transformation.parameters.map(h=>h.value)),f):(Object.keys(s).forEach(h=>{let m=s[h];if(m!==null)switch(h){case"name":if(f.srsCode)break;f.name=m,f.srsCode=m;break;case"type":m==="GeographicCRS"?f.projName="longlat":m==="ProjectedCRS"&&s.conversion&&s.conversion.method&&(f.projName=s.conversion.method.name);break;case"datum":case"datum_ensemble":m.ellipsoid&&(f.ellps=m.ellipsoid.name,Za(m,f)),m.prime_meridian&&(f.from_greenwich=m.prime_meridian.longitude*Math.PI/180);break;case"ellipsoid":f.ellps=m.name,Za(m,f);break;case"prime_meridian":f.long0=(m.longitude||0)*Math.PI/180;break;case"coordinate_system":if(m.axis){if(f.axis=m.axis.map(p=>{let y=p.direction;if(y==="east")return"e";if(y==="north")return"n";if(y==="west")return"w";if(y==="south")return"s";throw new Error(`Unknown axis direction: ${y}`)}).join("")+"u",m.unit){let{units:p,to_meter:y}=xa(m.unit);f.units=p,f.to_meter=y}else if(m.axis[0]&&m.axis[0].unit){let{units:p,to_meter:y}=xa(m.axis[0].unit);f.units=p,f.to_meter=y}}break;case"id":m.authority&&m.code&&(f.title=m.authority+":"+m.code);break;case"conversion":m.method&&m.method.name&&(f.projName=m.method.name),m.parameters&&m.parameters.forEach(p=>{let y=p.name.toLowerCase().replace(/\s+/g,"_"),_=p.value;p.unit&&p.unit.conversion_factor?f[y]=_*p.unit.conversion_factor:p.unit==="degree"?f[y]=_*Math.PI/180:f[y]=_});break;case"unit":m.name&&(f.units=m.name.toLowerCase(),f.units==="metre"&&(f.units="meter")),m.conversion_factor&&(f.to_meter=m.conversion_factor);break;case"base_crs":$e(m,f),f.datumCode=m.id?m.id.authority+"_"+m.id.code:m.name;break;default:break}}),f.latitude_of_false_origin!==void 0&&(f.lat0=f.latitude_of_false_origin),f.longitude_of_false_origin!==void 0&&(f.long0=f.longitude_of_false_origin),f.latitude_of_standard_parallel!==void 0&&(f.lat0=f.latitude_of_standard_parallel,f.lat1=f.latitude_of_standard_parallel),f.latitude_of_1st_standard_parallel!==void 0&&(f.lat1=f.latitude_of_1st_standard_parallel),f.latitude_of_2nd_standard_parallel!==void 0&&(f.lat2=f.latitude_of_2nd_standard_parallel),f.latitude_of_projection_centre!==void 0&&(f.lat0=f.latitude_of_projection_centre),f.longitude_of_projection_centre!==void 0&&(f.longc=f.longitude_of_projection_centre),f.easting_at_false_origin!==void 0&&(f.x0=f.easting_at_false_origin),f.northing_at_false_origin!==void 0&&(f.y0=f.northing_at_false_origin),f.latitude_of_natural_origin!==void 0&&(f.lat0=f.latitude_of_natural_origin),f.longitude_of_natural_origin!==void 0&&(f.long0=f.longitude_of_natural_origin),f.longitude_of_origin!==void 0&&(f.long0=f.longitude_of_origin),f.false_easting!==void 0&&(f.x0=f.false_easting),f.easting_at_projection_centre&&(f.x0=f.easting_at_projection_centre),f.false_northing!==void 0&&(f.y0=f.false_northing),f.northing_at_projection_centre&&(f.y0=f.northing_at_projection_centre),f.standard_parallel_1!==void 0&&(f.lat1=f.standard_parallel_1),f.standard_parallel_2!==void 0&&(f.lat2=f.standard_parallel_2),f.scale_factor_at_natural_origin!==void 0&&(f.k0=f.scale_factor_at_natural_origin),f.scale_factor_at_projection_centre!==void 0&&(f.k0=f.scale_factor_at_projection_centre),f.scale_factor_on_pseudo_standard_parallel!==void 0&&(f.k0=f.scale_factor_on_pseudo_standard_parallel),f.azimuth!==void 0&&(f.alpha=f.azimuth),f.azimuth_at_projection_centre!==void 0&&(f.alpha=f.azimuth_at_projection_centre),f.angle_from_rectified_to_skew_grid&&(f.rectified_grid_angle=f.angle_from_rectified_to_skew_grid),Yi(f),f)}var aM=["PROJECTEDCRS","PROJCRS","GEOGCS","GEOCCS","PROJCS","LOCAL_CS","GEODCRS","GEODETICCRS","GEODETICDATUM","ENGCRS","ENGINEERINGCRS"];function AM(s,f){var h=f[0],m=f[1];!(h in s)&&m in s&&(s[h]=s[m],f.length===3&&(s[h]=f[2](s[h])))}function Fa(s){for(var f=Object.keys(s),h=0,m=f.length;h<m;++h){var p=f[h];aM.indexOf(p)!==-1&&hM(s[p]),typeof s[p]=="object"&&Fa(s[p])}}function hM(s){if(s.AUTHORITY){var f=Object.keys(s.AUTHORITY)[0];f&&f in s.AUTHORITY&&(s.title=f+":"+s.AUTHORITY[f])}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 h="",m=0,p=s.AXIS.length;m<p;++m){var y=[s.AXIS[m][0].toLowerCase(),s.AXIS[m][1].toLowerCase()];y[0].indexOf("north")!==-1||(y[0]==="y"||y[0]==="lat")&&y[1]==="north"?h+="n":y[0].indexOf("south")!==-1||(y[0]==="y"||y[0]==="lat")&&y[1]==="south"?h+="s":y[0].indexOf("east")!==-1||(y[0]==="x"||y[0]==="lon")&&y[1]==="east"?h+="e":(y[0].indexOf("west")!==-1||(y[0]==="x"||y[0]==="lon")&&y[1]==="west")&&(h+="w")}h.length===2&&(h+="u"),h.length===3&&(s.axis=h)}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 _=s.GEOGCS;s.type==="GEOGCS"&&(_=s),_&&(_.DATUM?s.datumCode=_.DATUM.name.toLowerCase():s.datumCode=_.name.toLowerCase(),s.datumCode.slice(0,2)==="d_"&&(s.datumCode=s.datumCode.slice(2)),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==="belge_1972"&&(s.datumCode="rnb72"),_.DATUM&&_.DATUM.SPHEROID&&(s.ellps=_.DATUM.SPHEROID.name.replace("_19","").replace(/[Cc]larke\_18/,"clrk"),s.ellps.toLowerCase().slice(0,13)==="international"&&(s.ellps="intl"),s.a=_.DATUM.SPHEROID.a,s.rf=parseFloat(_.DATUM.SPHEROID.rf,10)),_.DATUM&&_.DATUM.TOWGS84&&(s.datum_params=_.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),s.rectified_grid_angle&&(s.rectified_grid_angle=_t(s.rectified_grid_angle));function R(X){var T=s.to_meter||1;return X*T}var F=function(X){return AM(s,X)},V=[["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",_t],["longitude_of_center","Longitude_Of_Center"],["longitude_of_center","Longitude_of_center"],["longc","longitude_of_center",_t],["x0","false_easting",R],["y0","false_northing",R],["long0","central_meridian",_t],["lat0","latitude_of_origin",_t],["lat0","standard_parallel_1",_t],["lat1","standard_parallel_1",_t],["lat2","standard_parallel_2",_t],["azimuth","Azimuth"],["alpha","azimuth",_t],["srsCode","name"]];V.forEach(F),Yi(s)}function Di(s){if(typeof s=="object")return $e(s);let f=da(s);var h=ya(s);if(f==="WKT2"){let y=pa(h);return $e(y)}var m=h[0],p={};return Or(h,p),Fa(p),p[m]}function Rt(s){var f=this;if(arguments.length===2){var h=arguments[1];typeof h=="string"?h.charAt(0)==="+"?Rt[s]=Qe(arguments[1]):Rt[s]=Di(arguments[1]):Rt[s]=h}else if(arguments.length===1){if(Array.isArray(s))return s.map(function(m){Array.isArray(m)?Rt.apply(f,m):Rt(m)});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}}fa(Rt);var le=Rt;function lM(s){return typeof s=="string"}function uM(s){return s in le}var cM=["PROJECTEDCRS","PROJCRS","GEOGCS","GEOCCS","PROJCS","LOCAL_CS","GEODCRS","GEODETICCRS","GEODETICDATUM","ENGCRS","ENGINEERINGCRS"];function mM(s){return cM.some(function(f){return s.indexOf(f)>-1})}var vM=["3857","900913","3785","102113"];function pM(s){var f=lt(s,"authority");if(f){var h=lt(f,"epsg");return h&&vM.indexOf(h)>-1}}function dM(s){var f=lt(s,"extension");if(f)return lt(f,"proj4")}function yM(s){return s[0]==="+"}function MM(s){if(lM(s)){if(uM(s))return le[s];if(mM(s)){var f=Di(s);if(pM(f))return le["EPSG:3857"];var h=dM(f);return h?Qe(h):f}if(yM(s))return Qe(s)}else return s}var ka=MM;function E2(s,f){s=s||{};var h,m;if(!f)return s;for(m in f)h=f[m],h!==void 0&&(s[m]=h);return s}function q0(s,f,h){var m=s*f;return h/Math.sqrt(1-m*m)}function jt(s){return s<0?-1:1}function Q(s){return Math.abs(s)<=z0?s:s-jt(s)*Le}function tt(s,f,h){var m=s*h,p=.5*s;return m=Math.pow((1-m)/(1+m),p),Math.tan(.5*(j-f))/m}function tr(s,f){for(var h=.5*s,m,p,y=j-2*Math.atan(f),_=0;_<=15;_++)if(m=s*Math.sin(y),p=j-2*Math.atan(f*Math.pow((1-m)/(1+m),h))-y,y+=p,Math.abs(p)<=1e-10)return y;return-9999}function gM(){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 _M(s){var f=s.x,h=s.y;if(h*Wt>90&&h*Wt<-90&&f*Wt>180&&f*Wt<-180)return null;var m,p;if(Math.abs(Math.abs(h)-j)<=L)return null;if(this.sphere)m=this.x0+this.a*this.k0*Q(f-this.long0),p=this.y0+this.a*this.k0*Math.log(Math.tan(d0+.5*h));else{var y=Math.sin(h),_=tt(this.e,h,y);m=this.x0+this.a*this.k0*Q(f-this.long0),p=this.y0-this.a*this.k0*Math.log(_)}return s.x=m,s.y=p,s}function RM(s){var f=s.x-this.x0,h=s.y-this.y0,m,p;if(this.sphere)p=j-2*Math.atan(Math.exp(-h/(this.a*this.k0)));else{var y=Math.exp(-h/(this.a*this.k0));if(p=tr(this.e,y),p===-9999)return null}return m=Q(this.long0+f/(this.a*this.k0)),s.x=m,s.y=p,s}var xM=["Mercator","Popular Visualisation Pseudo Mercator","Mercator_1SP","Mercator_Auxiliary_Sphere","merc"],Na={init:gM,forward:_M,inverse:RM,names:xM};function wM(){}function Va(s){return s}var ZM=["longlat","identity"],Wa={init:wM,forward:Va,inverse:Va,names:ZM};var FM=[Na,Wa],Hi={},Li=[];function Ta(s,f){var h=Li.length;return s.names?(Li[h]=s,s.names.forEach(function(m){Hi[m.toLowerCase()]=h}),this):(console.log(f),!0)}function kM(s){if(!s)return!1;var f=s.toLowerCase();if(typeof Hi[f]<"u"&&Li[Hi[f]])return Li[Hi[f]]}function NM(){FM.forEach(Ta)}var Xa={start:NM,add:Ta,get:kM};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 Ua=s0.WGS84={a:6378137,rf:298.257223563,ellipseName:"WGS 84"};s0.sphere={a:6370997,b:6370997,ellipseName:"Normal Sphere (r=6370997)"};function Ga(s,f,h,m){var p=s*s,y=f*f,_=(p-y)/p,R=0;m?(s*=1-_*(Aa+_*(ha+_*la)),p=s*s,_=0):R=Math.sqrt(_);var F=(p-y)/y;return{es:_,e:R,ep2:F}}function Ea(s,f,h,m,p){if(!s){var y=lt(s0,m);y||(y=Ua),s=y.a,f=y.b,h=y.rf}return h&&!f&&(f=(1-1/h)*s),(h===0||Math.abs(s-f)<L)&&(p=!0,f=s),{a:s,b:f,rf:h,sphere:p}}var J0={};J0.wgs84={towgs84:"0,0,0",ellipse:"WGS84",datumName:"WGS84"};J0.ch1903={towgs84:"674.374,15.056,405.346",ellipse:"bessel",datumName:"swiss"};J0.ggrs87={towgs84:"-199.87,74.79,246.62",ellipse:"GRS80",datumName:"Greek_Geodetic_Reference_System_1987"};J0.nad83={towgs84:"0,0,0",ellipse:"GRS80",datumName:"North_American_Datum_1983"};J0.nad27={nadgrids:"@conus,@alaska,@ntv2_0.gsb,@ntv1_can.dat",ellipse:"clrk66",datumName:"North_American_Datum_1927"};J0.potsdam={towgs84:"606.0,23.0,413.0",ellipse:"bessel",datumName:"Potsdam Rauenberg 1950 DHDN"};J0.carthage={towgs84:"-263.0,6.0,431.0",ellipse:"clark80",datumName:"Carthage 1934 Tunisia"};J0.hermannskogel={towgs84:"653.0,-212.0,449.0",ellipse:"bessel",datumName:"Hermannskogel"};J0.osni52={towgs84:"482.530,-130.596,564.557,-1.042,-0.214,-0.631,8.15",ellipse:"airy",datumName:"Irish National"};J0.ire65={towgs84:"482.530,-130.596,564.557,-1.042,-0.214,-0.631,8.15",ellipse:"mod_airy",datumName:"Ireland 1965"};J0.rassadiran={towgs84:"-133.63,-157.5,-158.62",ellipse:"intl",datumName:"Rassadiran"};J0.nzgd49={towgs84:"59.47,-5.04,187.44,0.47,-0.1,1.024,-4.5993",ellipse:"intl",datumName:"New Zealand Geodetic Datum 1949"};J0.osgb36={towgs84:"446.448,-125.157,542.060,0.1502,0.2470,0.8421,-20.4894",ellipse:"airy",datumName:"Airy 1830"};J0.s_jtsk={towgs84:"589,76,480",ellipse:"bessel",datumName:"S-JTSK (Ferro)"};J0.beduaram={towgs84:"-106,-87,188",ellipse:"clrk80",datumName:"Beduaram"};J0.gunung_segara={towgs84:"-403,684,41",ellipse:"bessel",datumName:"Gunung Segara Jakarta"};J0.rnb72={towgs84:"106.869,-52.2978,103.724,-0.33657,0.456955,-1.84218,1",ellipse:"intl",datumName:"Reseau National Belge 1972"};function VM(s,f,h,m,p,y){var _={};return s===void 0||s==="none"?_.datum_type=He:_.datum_type=aa,f&&(_.datum_params=f.map(parseFloat),(_.datum_params[0]!==0||_.datum_params[1]!==0||_.datum_params[2]!==0)&&(_.datum_type=Nt),_.datum_params.length>3&&(_.datum_params[3]!==0||_.datum_params[4]!==0||_.datum_params[5]!==0||_.datum_params[6]!==0)&&(_.datum_type=Vt,_.datum_params[3]*=Ir,_.datum_params[4]*=Ir,_.datum_params[5]*=Ir,_.datum_params[6]=_.datum_params[6]/1e6+1)),_.a=h,_.b=m,_.es=p,_.ep2=y,_}var za=VM;function ue(s,f){if(!(this instanceof ue))return new ue(s);f=f||function(F){if(F)throw F};var h=ka(s);if(typeof h!="object"){f(s);return}var m=ue.projections.get(h.projName);if(!m){f(s);return}if(h.datumCode&&h.datumCode!=="none"){var p=lt(J0,h.datumCode);p&&(h.datum_params=p.towgs84?p.towgs84.split(","):null,h.ellps=p.ellipse,h.datumName=p.datumName?p.datumName:h.datumCode)}h.k0=h.k0||1,h.axis=h.axis||"enu",h.ellps=h.ellps||"wgs84";var y=Ea(h.a,h.b,h.rf,h.ellps,h.sphere),_=Ga(y.a,y.b,y.rf,h.R_A),R=h.datum||za(h.datumCode,h.datum_params,y.a,y.b,_.es,_.ep2);E2(this,h),E2(this,m),this.a=y.a,this.b=y.b,this.rf=y.rf,this.sphere=y.sphere,this.es=_.es,this.e=_.e,this.ep2=_.ep2,this.datum=R,this.init(),f(null,this)}ue.projections=Xa;ue.projections.start();var dr=ue;function Ba(s,f){return s.datum_type!==f.datum_type||s.a!==f.a||Math.abs(s.es-f.es)>5e-11?!1:s.datum_type===Nt?s.datum_params[0]===f.datum_params[0]&&s.datum_params[1]===f.datum_params[1]&&s.datum_params[2]===f.datum_params[2]:s.datum_type===Vt?s.datum_params[0]===f.datum_params[0]&&s.datum_params[1]===f.datum_params[1]&&s.datum_params[2]===f.datum_params[2]&&s.datum_params[3]===f.datum_params[3]&&s.datum_params[4]===f.datum_params[4]&&s.datum_params[5]===f.datum_params[5]&&s.datum_params[6]===f.datum_params[6]:!0}function Qi(s,f,h){var m=s.x,p=s.y,y=s.z?s.z:0,_,R,F,V;if(p<-j&&p>-1.001*j)p=-j;else if(p>j&&p<1.001*j)p=j;else{if(p<-j)return{x:-1/0,y:-1/0,z:s.z};if(p>j)return{x:1/0,y:1/0,z:s.z}}return m>Math.PI&&(m-=2*Math.PI),R=Math.sin(p),V=Math.cos(p),F=R*R,_=h/Math.sqrt(1-f*F),{x:(_+y)*V*Math.cos(m),y:(_+y)*V*Math.sin(m),z:(_*(1-f)+y)*R}}function qi(s,f,h,m){var p=1e-12,y=p*p,_=30,R,F,V,X,T,C,W,P,q,K,r0,o0,l0,p0=s.x,h0=s.y,a0=s.z?s.z:0,U0,V0,wt;if(R=Math.sqrt(p0*p0+h0*h0),F=Math.sqrt(p0*p0+h0*h0+a0*a0),R/h<p){if(U0=0,F/h<p)return V0=j,wt=-m,{x:s.x,y:s.y,z:s.z}}else U0=Math.atan2(h0,p0);V=a0/F,X=R/F,T=1/Math.sqrt(1-f*(2-f)*X*X),P=X*(1-f)*T,q=V*T,l0=0;do l0++,W=h/Math.sqrt(1-f*q*q),wt=R*P+a0*q-W*(1-f*q*q),C=f*W/(W+wt),T=1/Math.sqrt(1-C*(2-C)*X*X),K=X*(1-C)*T,r0=V*T,o0=r0*P-K*q,P=K,q=r0;while(o0*o0>y&&l0<_);return V0=Math.atan(r0/Math.abs(K)),{x:U0,y:V0,z:wt}}function Sa(s,f,h){if(f===Nt)return{x:s.x+h[0],y:s.y+h[1],z:s.z+h[2]};if(f===Vt){var m=h[0],p=h[1],y=h[2],_=h[3],R=h[4],F=h[5],V=h[6];return{x:V*(s.x-F*s.y+R*s.z)+m,y:V*(F*s.x+s.y-_*s.z)+p,z:V*(-R*s.x+_*s.y+s.z)+y}}}function Ca(s,f,h){if(f===Nt)return{x:s.x-h[0],y:s.y-h[1],z:s.z-h[2]};if(f===Vt){var m=h[0],p=h[1],y=h[2],_=h[3],R=h[4],F=h[5],V=h[6],X=(s.x-m)/V,T=(s.y-p)/V,C=(s.z-y)/V;return{x:X+F*T-R*C,y:-F*X+T+_*C,z:R*X-_*T+C}}}function $i(s){return s===Nt||s===Vt}function Ia(s,f,h){return Ba(s,f)||s.datum_type===He||f.datum_type===He||s.es===f.es&&s.a===f.a&&!$i(s.datum_type)&&!$i(f.datum_type)?h:(h=Qi(h,s.es,s.a),$i(s.datum_type)&&(h=Sa(h,s.datum_type,s.datum_params)),$i(f.datum_type)&&(h=Ca(h,f.datum_type,f.datum_params)),qi(h,f.es,f.a,f.b))}function z2(s,f,h){var m=h.x,p=h.y,y=h.z||0,_,R,F,V={};for(F=0;F<3;F++)if(!(f&&F===2&&h.z===void 0))switch(F===0?(_=m,"ew".indexOf(s.axis[F])!==-1?R="x":R="y"):F===1?(_=p,"ns".indexOf(s.axis[F])!==-1?R="y":R="x"):(_=y,R="z"),s.axis[F]){case"e":case"w":case"n":case"s":V[R]=_;break;case"u":h[R]!==void 0&&(V.z=_);break;case"d":h[R]!==void 0&&(V.z=-_);break;default:return null}return V}function Ki(s){var f={x:s[0],y:s[1]};return s.length>2&&(f.z=s[2]),s.length>3&&(f.m=s[3]),f}function Ja(s){Oa(s.x),Oa(s.y)}function Oa(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 WM(s,f){return(s.datum.datum_type===Nt||s.datum.datum_type===Vt)&&f.datumCode!=="WGS84"||(f.datum.datum_type===Nt||f.datum.datum_type===Vt)&&s.datumCode!=="WGS84"}function Jr(s,f,h){var m;if(Array.isArray(h)&&(h=Ki(h)),Ja(h),s.datum&&f.datum&&WM(s,f)&&(m=new dr("WGS84"),h=Jr(s,m,h),s=m),s.axis!=="enu"&&(h=z2(s,!1,h)),s.projName==="longlat")h={x:h.x*O0,y:h.y*O0,z:h.z||0};else if(s.to_meter&&(h={x:h.x*s.to_meter,y:h.y*s.to_meter,z:h.z||0}),h=s.inverse(h),!h)return;return s.from_greenwich&&(h.x+=s.from_greenwich),h=Ia(s.datum,f.datum,h),f.from_greenwich&&(h={x:h.x-f.from_greenwich,y:h.y,z:h.z||0}),f.projName==="longlat"?h={x:h.x*Wt,y:h.y*Wt,z:h.z||0}:(h=f.forward(h),f.to_meter&&(h={x:h.x/f.to_meter,y:h.y/f.to_meter,z:h.z||0})),f.axis!=="enu"?z2(f,!0,h):h}var Pa=dr("WGS84");function B2(s,f,h){var m,p,y;return Array.isArray(h)?(m=Jr(s,f,h)||{x:NaN,y:NaN},h.length>2?typeof s.name<"u"&&s.name==="geocent"||typeof f.name<"u"&&f.name==="geocent"?typeof m.z=="number"?[m.x,m.y,m.z].concat(h.splice(3)):[m.x,m.y,h[2]].concat(h.splice(3)):[m.x,m.y].concat(h.splice(2)):[m.x,m.y]):(p=Jr(s,f,h),y=Object.keys(h),y.length===2||y.forEach(function(_){if(typeof s.name<"u"&&s.name==="geocent"||typeof f.name<"u"&&f.name==="geocent"){if(_==="x"||_==="y"||_==="z")return}else if(_==="x"||_==="y")return;p[_]=h[_]}),p)}function ja(s){return s instanceof dr?s:s.oProj?s.oProj:dr(s)}function TM(s,f,h){s=ja(s);var m=!1,p;return typeof f>"u"?(f=s,s=Pa,m=!0):(typeof f.x<"u"||Array.isArray(f))&&(h=f,f=s,s=Pa,m=!0),f=ja(f),h?B2(s,f,h):(p={forward:function(y){return B2(s,f,y)},inverse:function(y){return B2(f,s,y)}},m&&(p.oProj=f),p)}var ut=TM;var Ya=6,Ha="AJSAJS",La="AFAFAF",ce=65,et=73,xt=79,Ke=86,be=90,Qa={forward:C2,inverse:XM,toPoint:I2};function C2(s,f){return f=f||5,EM(UM({lat:s[1],lon:s[0]}),f)}function XM(s){var f=O2($a(s.toUpperCase()));return f.lat&&f.lon?[f.lon,f.lat,f.lon,f.lat]:[f.left,f.bottom,f.right,f.top]}function I2(s){var f=O2($a(s.toUpperCase()));return f.lat&&f.lon?[f.lon,f.lat]:[(f.left+f.right)/2,(f.top+f.bottom)/2]}function S2(s){return s*(Math.PI/180)}function Da(s){return 180*(s/Math.PI)}function UM(s){var f=s.lat,h=s.lon,m=6378137,p=.00669438,y=.9996,_,R,F,V,X,T,C,W=S2(f),P=S2(h),q,K;K=Math.floor((h+180)/6)+1,h===180&&(K=60),f>=56&&f<64&&h>=3&&h<12&&(K=32),f>=72&&f<84&&(h>=0&&h<9?K=31:h>=9&&h<21?K=33:h>=21&&h<33?K=35:h>=33&&h<42&&(K=37)),_=(K-1)*6-180+3,q=S2(_),R=p/(1-p),F=m/Math.sqrt(1-p*Math.sin(W)*Math.sin(W)),V=Math.tan(W)*Math.tan(W),X=R*Math.cos(W)*Math.cos(W),T=Math.cos(W)*(P-q),C=m*((1-p/4-3*p*p/64-5*p*p*p/256)*W-(3*p/8+3*p*p/32+45*p*p*p/1024)*Math.sin(2*W)+(15*p*p/256+45*p*p*p/1024)*Math.sin(4*W)-35*p*p*p/3072*Math.sin(6*W));var r0=y*F*(T+(1-V+X)*T*T*T/6+(5-18*V+V*V+72*X-58*R)*T*T*T*T*T/120)+5e5,o0=y*(C+F*Math.tan(W)*(T*T/2+(5-V+9*X+4*X*X)*T*T*T*T/24+(61-58*V+V*V+600*X-330*R)*T*T*T*T*T*T/720));return f<0&&(o0+=1e7),{northing:Math.round(o0),easting:Math.round(r0),zoneNumber:K,zoneLetter:GM(f)}}function O2(s){var f=s.northing,h=s.easting,m=s.zoneLetter,p=s.zoneNumber;if(p<0||p>60)return null;var y=.9996,_=6378137,R=.00669438,F,V=(1-Math.sqrt(1-R))/(1+Math.sqrt(1-R)),X,T,C,W,P,q,K,r0,o0,l0=h-5e5,p0=f;m<"N"&&(p0-=1e7),K=(p-1)*6-180+3,F=R/(1-R),q=p0/y,r0=q/(_*(1-R/4-3*R*R/64-5*R*R*R/256)),o0=r0+(3*V/2-27*V*V*V/32)*Math.sin(2*r0)+(21*V*V/16-55*V*V*V*V/32)*Math.sin(4*r0)+151*V*V*V/96*Math.sin(6*r0),X=_/Math.sqrt(1-R*Math.sin(o0)*Math.sin(o0)),T=Math.tan(o0)*Math.tan(o0),C=F*Math.cos(o0)*Math.cos(o0),W=_*(1-R)/Math.pow(1-R*Math.sin(o0)*Math.sin(o0),1.5),P=l0/(X*y);var h0=o0-X*Math.tan(o0)/W*(P*P/2-(5+3*T+10*C-4*C*C-9*F)*P*P*P*P/24+(61+90*T+298*C+45*T*T-252*F-3*C*C)*P*P*P*P*P*P/720);h0=Da(h0);var a0=(P-(1+2*T+C)*P*P*P/6+(5-2*C+28*T-3*C*C+8*F+24*T*T)*P*P*P*P*P/120)/Math.cos(o0);a0=K+Da(a0);var U0;if(s.accuracy){var V0=O2({northing:s.northing+s.accuracy,easting:s.easting+s.accuracy,zoneLetter:s.zoneLetter,zoneNumber:s.zoneNumber});U0={top:V0.lat,right:V0.lon,bottom:h0,left:a0}}else U0={lat:h0,lon:a0};return U0}function GM(s){var f="Z";return 84>=s&&s>=72?f="X":72>s&&s>=64?f="W":64>s&&s>=56?f="V":56>s&&s>=48?f="U":48>s&&s>=40?f="T":40>s&&s>=32?f="S":32>s&&s>=24?f="R":24>s&&s>=16?f="Q":16>s&&s>=8?f="P":8>s&&s>=0?f="N":0>s&&s>=-8?f="M":-8>s&&s>=-16?f="L":-16>s&&s>=-24?f="K":-24>s&&s>=-32?f="J":-32>s&&s>=-40?f="H":-40>s&&s>=-48?f="G":-48>s&&s>=-56?f="F":-56>s&&s>=-64?f="E":-64>s&&s>=-72?f="D":-72>s&&s>=-80&&(f="C"),f}function EM(s,f){var h="00000"+s.easting,m="00000"+s.northing;return s.zoneNumber+s.zoneLetter+zM(s.easting,s.northing,s.zoneNumber)+h.substr(h.length-5,f)+m.substr(m.length-5,f)}function zM(s,f,h){var m=qa(h),p=Math.floor(s/1e5),y=Math.floor(f/1e5)%20;return BM(p,y,m)}function qa(s){var f=s%Ya;return f===0&&(f=Ya),f}function BM(s,f,h){var m=h-1,p=Ha.charCodeAt(m),y=La.charCodeAt(m),_=p+s-1,R=y+f,F=!1;_>be&&(_=_-be+ce-1,F=!0),(_===et||p<et&&_>et||(_>et||p<et)&&F)&&_++,(_===xt||p<xt&&_>xt||(_>xt||p<xt)&&F)&&(_++,_===et&&_++),_>be&&(_=_-be+ce-1),R>Ke?(R=R-Ke+ce-1,F=!0):F=!1,(R===et||y<et&&R>et||(R>et||y<et)&&F)&&R++,(R===xt||y<xt&&R>xt||(R>xt||y<xt)&&F)&&(R++,R===et&&R++),R>Ke&&(R=R-Ke+ce-1);var V=String.fromCharCode(_)+String.fromCharCode(R);return V}function $a(s){if(s&&s.length===0)throw"MGRSPoint coverting from nothing";for(var f=s.length,h=null,m="",p,y=0;!/[A-Z]/.test(p=s.charAt(y));){if(y>=2)throw"MGRSPoint bad conversion from: "+s;m+=p,y++}var _=parseInt(m,10);if(y===0||y+3>f)throw"MGRSPoint bad conversion from: "+s;var R=s.charAt(y++);if(R<="A"||R==="B"||R==="Y"||R>="Z"||R==="I"||R==="O")throw"MGRSPoint zone letter "+R+" not handled: "+s;h=s.substring(y,y+=2);for(var F=qa(_),V=SM(h.charAt(0),F),X=CM(h.charAt(1),F);X<IM(R);)X+=2e6;var T=f-y;if(T%2!==0)throw`MGRSPoint has to have an even number
27
+ `,T0.push(R0);var wr=o1(Function,T0).apply(null,H0);return wr}function a1(M,g,k,u,B,r,Z,I){var H=vs(k,u);g=ct(g),r=Kr(B,r),Me([],[M],function(D){D=D[0];var z=D.name+"."+g;I&&D.registeredClass.pureVirtualFunctions.push(g);function v0(){wn("Cannot call "+z+" due to unbound types",H)}var R0=D.registeredClass.instancePrototype,m0=R0[g];return m0===void 0||m0.overloadTable===void 0&&m0.className!==D.name&&m0.argCount===k-2?(v0.argCount=k-2,v0.className=D.name,R0[g]=v0):(us(R0,g,z),R0[g].overloadTable[k-2]=v0),Me([],H,function(T0){var H0=f1(z,T0,D,r,Z);return R0[g].overloadTable===void 0?(H0.argCount=k-2,R0[g]=H0):R0[g].overloadTable[k-2]=H0,[]}),[]})}var Zn=[],Gt=[{},{value:void 0},{value:null},{value:!0},{value:!1}];function ds(M){M>4&&--Gt[M].refcount===0&&(Gt[M]=void 0,Zn.push(M))}function A1(){for(var M=0,g=5;g<Gt.length;++g)Gt[g]!==void 0&&++M;return M}function h1(){for(var M=5;M<Gt.length;++M)if(Gt[M]!==void 0)return Gt[M];return null}function l1(){s.count_emval_handles=A1,s.get_first_emval=h1}function Fn(M){switch(M){case void 0:return 1;case null:return 2;case!0:return 3;case!1:return 4;default:{var g=Zn.length?Zn.pop():Gt.length;return Gt[g]={refcount:1,value:M},g}}}function u1(M,g){g=ct(g),Dt(M,{name:g,fromWireType:function(k){var u=Gt[k].value;return ds(k),u},toWireType:function(k,u){return Fn(u)},argPackAdvance:8,readValueFromPointer:fi,destructorFunction:null})}function xr(M){if(M===null)return"null";var g=typeof M;return g==="object"||g==="array"||g==="function"?M.toString():""+M}function c1(M,g){switch(g){case 2:return function(k){return this.fromWireType(ln[k>>2])};case 3:return function(k){return this.fromWireType(un[k>>3])};default:throw new TypeError("Unknown float type: "+M)}}function m1(M,g,k){var u=pn(k);g=ct(g),Dt(M,{name:g,fromWireType:function(B){return B},toWireType:function(B,r){if(typeof r!="number"&&typeof r!="boolean")throw new TypeError('Cannot convert "'+xr(r)+'" to '+this.name);return r},argPackAdvance:8,readValueFromPointer:c1(g,u),destructorFunction:null})}function v1(M,g,k){switch(g){case 0:return k?function(B){return ar[B]}:function(B){return $0[B]};case 1:return k?function(B){return gr[B>>1]}:function(B){return ii[B>>1]};case 2:return k?function(B){return nt[B>>2]}:function(B){return Yt[B>>2]};default:throw new TypeError("Unknown integer type: "+M)}}function p1(M,g,k,u,B){g=ct(g),B===-1&&(B=4294967295);var r=pn(k),Z=function(D){return D};if(u===0){var I=32-8*k;Z=function(D){return D<<I>>>I}}var H=g.indexOf("unsigned")!=-1;Dt(M,{name:g,fromWireType:Z,toWireType:function(D,z){if(typeof z!="number"&&typeof z!="boolean")throw new TypeError('Cannot convert "'+xr(z)+'" to '+this.name);if(z<u||z>B)throw new TypeError('Passing a number "'+xr(z)+'" from JS side to C/C++ side to an argument of type "'+g+'", which is outside the valid range ['+u+", "+B+"]!");return H?z>>>0:z|0},argPackAdvance:8,readValueFromPointer:v1(g,r,u!==0),destructorFunction:null})}function d1(M,g,k){var u=[Int8Array,Uint8Array,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array],B=u[g];function r(Z){Z=Z>>2;var I=Yt,H=I[Z],D=I[Z+1];return new B(Mr,D,H)}k=ct(k),Dt(M,{name:k,fromWireType:r,argPackAdvance:8,readValueFromPointer:r},{ignoreDuplicateRegistrations:!0})}function y1(M,g){g=ct(g);var k=g==="std::string";Dt(M,{name:g,fromWireType:function(u){var B=Yt[u>>2],r;if(k)for(var Z=u+4,I=0;I<=B;++I){var H=u+4+I;if($0[H]==0||I==B){var D=H-Z,z=q2(Z,D);r===void 0?r=z:(r+=String.fromCharCode(0),r+=z),Z=H+1}}else{for(var v0=new Array(B),I=0;I<B;++I)v0[I]=String.fromCharCode($0[u+4+I]);r=v0.join("")}return lr(u),r},toWireType:function(u,B){B instanceof ArrayBuffer&&(B=new Uint8Array(B));var r,Z=typeof B=="string";Z||B instanceof Uint8Array||B instanceof Uint8ClampedArray||B instanceof Int8Array||_0("Cannot pass non-string to std::string"),k&&Z?r=function(){return LA(B)}:r=function(){return B.length};var I=r(),H=kn(4+I+1);if(Yt[H>>2]=I,k&&Z)$2(B,H+4,I+1);else if(Z)for(var D=0;D<I;++D){var z=B.charCodeAt(D);z>255&&(lr(H),_0("String has UTF-16 code units that do not fit in 8 bits")),$0[H+4+D]=z}else for(var D=0;D<I;++D)$0[H+4+D]=B[D];return u!==null&&u.push(lr,H),H},argPackAdvance:8,readValueFromPointer:fi,destructorFunction:function(u){lr(u)}})}function M1(M,g,k){k=ct(k);var u,B,r,Z,I;g===2?(u=QA,B=qA,Z=$A,r=function(){return ii},I=1):g===4&&(u=KA,B=bA,Z=th,r=function(){return Yt},I=2),Dt(M,{name:k,fromWireType:function(H){for(var D=Yt[H>>2],z=r(),v0,R0=H+4,m0=0;m0<=D;++m0){var T0=H+4+m0*g;if(z[T0>>I]==0||m0==D){var H0=T0-R0,Zt=u(R0,H0);v0===void 0?v0=Zt:(v0+=String.fromCharCode(0),v0+=Zt),R0=T0+g}}return lr(H),v0},toWireType:function(H,D){typeof D!="string"&&_0("Cannot pass non-string to C++ string type "+k);var z=Z(D),v0=kn(4+z+g);return Yt[v0>>2]=z>>I,B(D,v0+4,z+g),H!==null&&H.push(lr,v0),v0},argPackAdvance:8,readValueFromPointer:fi,destructorFunction:function(H){lr(H)}})}function g1(M,g){g=ct(g),Dt(M,{isVoid:!0,name:g,argPackAdvance:0,fromWireType:function(){},toWireType:function(k,u){}})}function _1(){Rr()}function R1(){return $0.length}function x1(M){Rr("OOM")}function w1(M){M=M>>>0,x1(M)}function Z1(){Rr("trap!")}function F1(M,g,k){$0.copyWithin(M,g,g+k)}Nh(),$r=s.BindingError=Mn(Error,"BindingError"),as=s.InternalError=Mn(Error,"InternalError"),Ch(),r1(),$h(),ms=s.UnboundTypeError=Mn(Error,"UnboundTypeError"),l1();var k1=!1;function ys(M){for(var g=[],k=0;k<M.length;k++){var u=M[k];u>255&&(k1&&Dr(!1,"Character code "+u+" ("+String.fromCharCode(u)+") at offset "+k+" not in 0x00-0xFF."),u&=255),g.push(String.fromCharCode(u))}return g.join("")}var N1=typeof atob=="function"?atob:function(M){var g="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",k="",u,B,r,Z,I,H,D,z=0;M=M.replace(/[^A-Za-z0-9\+\/\=]/g,"");do Z=g.indexOf(M.charAt(z++)),I=g.indexOf(M.charAt(z++)),H=g.indexOf(M.charAt(z++)),D=g.indexOf(M.charAt(z++)),u=Z<<2|I>>4,B=(I&15)<<4|H>>2,r=(H&3)<<6|D,k=k+String.fromCharCode(u),H!==64&&(k=k+String.fromCharCode(B)),D!==64&&(k=k+String.fromCharCode(r));while(z<M.length);return k};function V1(M){if(typeof F=="boolean"&&F){var g;try{g=Buffer.from(M,"base64")}catch{g=new Buffer(M,"base64")}return new Uint8Array(g.buffer,g.byteOffset,g.byteLength)}try{for(var k=N1(M),u=new Uint8Array(k.length),B=0;B<k.length;++B)u[B]=k.charCodeAt(B);return u}catch{throw new Error("Converting base64 string to bytes failed.")}}function hr(M){if(ns(M))return V1(M.slice(is.length))}var W1={Math,Int8Array,Int16Array,Int32Array,Uint8Array,Uint16Array,Float32Array,Float64Array},T1={A:F1,B:w1,C:Z1,D:gh,a:Rr,b:hn,c:JA,d:_h,e:xh,f:Zh,g:Fh,h:ss,i:os,j:kh,k:Th,l:n1,m:s1,n:a1,o:u1,p:m1,q:p1,r:d1,s:y1,t:M1,u:g1,v:ds,w:Fn,x:_1,y:xr,z:R1},c0=function(M,g,k){var u=new M.Int8Array(k),B=new M.Int16Array(k),r=new M.Int32Array(k),Z=new M.Uint8Array(k),I=new M.Uint16Array(k),H=new M.Float32Array(k),D=new M.Float64Array(k),z=g.D|0,v0=0,R0=0,m0=0,T0=0,H0=0,Zt=0,wr=0,hi=0,u0=M.Math.imul,Lt=M.Math.clz32,K0=g.a,Z0=g.b,y0=g.c,F0=g.d,S1=g.e,k0=g.f,C1=g.g,iR=g.h,nR=g.i,sR=g.j,I1=g.k,xs=g.l,ws=g.m,br=g.n,O1=g.o,Zs=g.p,Qt=g.q,mt=g.r,Fs=g.s,Wn=g.t,J1=g.u,oR=g.v,fR=g.w,P1=g.x,aR=g.y,j1=g.z,Y1=g.A,D1=g.B,ks=g.C,v=22384,AR=5265264,hR=0;function H1(){V5(),W5()}function L1(){Q1(0)}function Q1(t){t=t|0;var e=0,i=0,n=0,o=0,a=0,A=0,l=0,c=0,d=0,x=0,w=0;t=v,v=v+16|0,e=t+8|0,i=t,w=Av()|0,a=hv()|0,o=ze()|0,A=uv()|0,l=cv()|0,c=qo()|0,d=ki()|0,x=Ni()|0,n=Ni()|0,xs(o|0,A|0,l|0,c|0,d|0,9,x|0,w|0,n|0,a|0,6204,$o()|0,138),gv(1),r[i>>2]=5,r[i+4>>2]=0,r[e>>2]=r[i>>2],r[e+4>>2]=r[i+4>>2],kv(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],Uv(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],Cv(6225,e),a=Lv()|0,n=Qv()|0,w=Be()|0,x=$v()|0,d=Kv()|0,c=qo()|0,l=ki()|0,A=Ni()|0,o=Ni()|0,xs(w|0,x|0,d|0,c|0,l|0,11,A|0,a|0,o|0,n|0,6234,$o()|0,139),s5(2),r[i>>2]=6,r[i+4>>2]=0,r[e>>2]=r[i>>2],r[e+4>>2]=r[i+4>>2],u5(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],e2(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],e2(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],e2(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],x5(6216,e),v=t}function q1(t,e,i){t=t|0,e=e|0,i=i|0;var n=0,o=0,a=0,A=0,l=0;n=v,v=v+32|0,A=n+16|0,o=n+8|0,l=n,a=b(20)|0,nl(a,e,i),r[l>>2]=0,r[A>>2]=r[l>>2],ol(o,a,A),e=r[o>>2]|0,r[o>>2]=r[t>>2],r[t>>2]=e,e=o+4|0,i=t+4|0,a=r[e>>2]|0,r[e>>2]=r[i>>2],r[i>>2]=a,Tn(o),i=b(352)|0,sl(i,r[t>>2]|0),a=t+8|0,r[l>>2]=0,r[A>>2]=r[l>>2],cl(o,i,A),i=r[o>>2]|0,r[o>>2]=r[a>>2],r[a>>2]=i,a=o+4|0,i=t+12|0,e=r[a>>2]|0,r[a>>2]=r[i>>2],r[i>>2]=e,Xn(o),v=n}function $1(t,e){t=t|0,e=e|0,ju(r[t+8>>2]|0,e)}function K1(t){return t=t|0,t=(Lm(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 b1(t,e,i){t=t|0,e=e|0,i=i|0;var n=0,o=0,a=0,A=0,l=0;n=v,v=v+32|0,a=n+16|0,o=n+8|0,A=n,l=b(12)|0,Qm(l,e,i),r[A>>2]=0,r[a>>2]=r[A>>2],Km(o,l,a),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,Qn(o),i=t+8|0,e=b(12)|0,qm(e,r[t>>2]|0),r[A>>2]=0,r[a>>2]=r[A>>2],n3(o,e,a),e=r[o>>2]|0,r[o>>2]=r[i>>2],r[i>>2]=e,e=o+4|0,A=t+12|0,l=r[e>>2]|0,r[e>>2]=r[A>>2],r[A>>2]=l,Oo(o),$m(o,r[i>>2]|0),i=t+16|0,A=r[o>>2]|0,l=o+4|0,e=r[l>>2]|0,r[o>>2]=0,r[l>>2]=0,r[a>>2]=r[i>>2],r[i>>2]=A,i=t+20|0,r[a+4>>2]=r[i>>2],r[i>>2]=e,Ee(a),Ee(o),v=n}function tl(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:{qn(i);break t}case 8:{Zi(i),Zi(r[t>>2]|0);break t}default:break t}while(0)}function rl(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:{K3(t);break t}case 2:{b3(t);break t}case 8:{qn(t),t=r[i>>2]|0;break}case 4:break;default:break t}qn(t)}while(0)}function el(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:{X8(t);break t}case 2:{U8(t);break t}case 8:{Zi(t),t=r[i>>2]|0;break}case 4:break;default:break t}Zi(t)}while(0)}function il(t,e){t=t|0,e=e|0,t=r[t+16>>2]|0,t|0&&Oe[r[r[t>>2]>>2]&63](t,e)|0}function nl(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 sl(t,e){t=t|0,e=e|0,r[t>>2]=e,Ws(t+4|0,e),xl(t+247|0),r[t+288>>2]=0,r[t+292>>2]=0,r[t+296>>2]=0,Ts(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,wl(t+328|0),Zl(t)}function ol(t,e,i){t=t|0,e=e|0,i=i|0;var n=0,o=0;i=v,v=v+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,fl(t,n),v=i}function Tn(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)&&(w0[r[(r[t>>2]|0)+8>>2]&255](t),qt(t))}function fl(t,e){t=t|0,e=e|0}function lR(t){t=t|0,S1(t|0)|0,td()}function al(t){t=t|0,C0(t),$(t)}function Al(t){t=t|0,t=r[t+12>>2]|0,t|0&&$(t)}function hl(t,e){return t=t|0,e=e|0,((r[e+4>>2]|0)==6407?t+12|0:0)|0}function ll(t){t=t|0,A0(t,16)}function A0(t,e){t=t|0,e=e|0,ul(t)}function ul(t){t=t|0,$(t)}function cl(t,e,i){t=t|0,e=e|0,i=i|0;var n=0,o=0;i=v,v=v+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,ml(t,n),v=i}function Xn(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)&&(w0[r[(r[t>>2]|0)+8>>2]&255](t),qt(t))}function ml(t,e){t=t|0,e=e|0}function vl(t){t=t|0,C0(t),$(t)}function pl(t){t=t|0,t=r[t+12>>2]|0,t|0&&(Ml(t),$(t))}function dl(t,e){return t=t|0,e=e|0,((r[e+4>>2]|0)==6605?t+12|0:0)|0}function yl(t){t=t|0,A0(t,16)}function Ml(t){t=t|0,li(t+320|0),Un(t+312|0),Ns(t+300|0),Rl(t+288|0),gl(t+247|0),Vs(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)&&(w0[r[(r[t>>2]|0)+8>>2]&255](t),qt(t))}function Un(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)&&(w0[r[(r[t>>2]|0)+8>>2]&255](t),qt(t))}function Ns(t){t=t|0,_l(t)}function gl(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&&Nf(t)}function Vs(t){t=t|0,ui(r[t+12>>2]|0)}function _l(t){t=t|0;var e=0,i=0;e=r[t>>2]|0,i=e,e|0&&(r[t+4>>2]=i,A0(e,(r[t+8>>2]|0)-i|0))}function Rl(t){t=t|0;var e=0,i=0;e=r[t>>2]|0,i=e,e|0&&(r[t+4>>2]=i,A0(e,(r[t+8>>2]|0)-i|0))}function ui(t){t=t|0,h2(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 xl(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 Ts(t){t=t|0,r[t>>2]=0,r[t+4>>2]=0,r[t+8>>2]=0}function wl(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 Zl(t){t=t|0;var e=0,i=0,n=0,o=0,a=0,A=0;if(A=v,v=v+64|0,o=A+32|0,i=A+56|0,e=A+16|0,a=A,Fr(r[t>>2]|0,i,4),El(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=(Ld(o,0,-1,6693,i)|0)==0,Ie(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),kl(t,i),n=Nl()|0,e=r[n>>2]|0,n=r[n+4>>2]|0,(e|0)!=(n|0))do Vl(o,e),Wl(o,i),Gn(o),e=e+24|0;while((e|0)!=(n|0));Tl(t),Xl(t),Ul(r[t>>2]|0),n=r[t>>2]|0,e=(r[t+116>>2]|0)+8|0,i=a,r[i>>2]=0,r[i+4>>2]=0,i=a+8|0,r[i>>2]=e,r[i+4>>2]=0,r[o>>2]=r[a>>2],r[o+4>>2]=r[a+4>>2],r[o+8>>2]=r[a+8>>2],r[o+12>>2]=r[a+12>>2],Ze(n,o),Gl(t+4|0),v=A;return}}else Ie(o);A=F0(8)|0,Fl(A),k0(A|0,2592,8)}function Zr(t){t=t|0;var e=0;return e=Ui(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,a=0,A=0,l=0,c=0;A=t+13|0,u[A>>0]|0?u[t+12>>0]=1:(a=t+4|0,n=r[a>>2]|0,l=t+8|0,o=r[l>>2]|0,c=n-o|0,i=(c|0)<(i|0)?c:i,i&&(Mt(e|0,(r[t>>2]|0)+o|0,i|0)|0,o=r[l>>2]|0,n=r[a>>2]|0),c=o+i|0,r[l>>2]=c,r[t+16>>2]=i,(c|0)>=(n|0)&&(u[A>>0]=1))}function Fl(t){t=t|0,Ft(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 kl(t,e){t=t|0,e=e|0;var i=0,n=0,o=0,a=0,A=0,l=0,c=0,d=0,x=0,w=0;x=e+179|0,u[z>>0]=u[x>>0],u[z+1>>0]=u[x+1>>0],u[z+2>>0]=u[x+2>>0],u[z+3>>0]=u[x+3>>0],u[z+4>>0]=u[x+4>>0],u[z+5>>0]=u[x+5>>0],u[z+6>>0]=u[x+6>>0],u[z+7>>0]=u[x+7>>0],d=+D[z>>3],A=e+187|0,u[z>>0]=u[A>>0],u[z+1>>0]=u[A+1>>0],u[z+2>>0]=u[A+2>>0],u[z+3>>0]=u[A+3>>0],u[z+4>>0]=u[A+4>>0],u[z+5>>0]=u[A+5>>0],u[z+6>>0]=u[A+6>>0],u[z+7>>0]=u[A+7>>0],w=+D[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],a=+D[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=+D[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=+D[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=+D[z>>3],D[z>>3]=w,u[x>>0]=u[z>>0],u[x+1>>0]=u[z+1>>0],u[x+2>>0]=u[z+2>>0],u[x+3>>0]=u[z+3>>0],u[x+4>>0]=u[z+4>>0],u[x+5>>0]=u[z+5>>0],u[x+6>>0]=u[z+6>>0],u[x+7>>0]=u[z+7>>0],D[z>>3]=d,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],D[z>>3]=l,u[A>>0]=u[z>>0],u[A+1>>0]=u[z+1>>0],u[A+2>>0]=u[z+2>>0],u[A+3>>0]=u[z+3>>0],u[A+4>>0]=u[z+4>>0],u[A+5>>0]=u[z+5>>0],u[A+6>>0]=u[z+6>>0],u[A+7>>0]=u[z+7>>0],D[z>>3]=a,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],D[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],D[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 Nl(){var t=0,e=0,i=0,n=0,o=0,a=0,A=0,l=0;if(o=v,v=v+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,Er(21440)),!(u[21448]|0)&&Gr(21448)|0&&Er(21448),(r[5374]|0)==(r[5375]|0)){if(Id(21508),(r[5374]|0)==(r[5375]|0)){u[i>>0]=u[t>>0]|0,Bl(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=Pl(21496)|0,e>>>0<t>>>0)Q0(21496);else{a=r[5374]|0,l=((r[5376]|0)-a|0)/24|0,A=l<<1,Il(i,l>>>0<e>>>1>>>0?A>>>0<t>>>0?t:A:e,((r[5375]|0)-a|0)/24|0,21504),e=i+8|0,En(r[e>>2]|0,n),r[e>>2]=(r[e>>2]|0)+24,Ol(21496,i),Jl(i);break}else Sl(i,21496,1),l=i+4|0,En(r[l>>2]|0,n),r[l>>2]=(r[l>>2]|0)+24,Cl(i);while(0);Gn(n)}Od(21508)}return v=o,21496}function Vl(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=Xs(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]=Ei[r[(r[n>>2]|0)+8>>2]&15](n)|0;break}else r[t+16>>2]=0;while(0)}function Wl(t,e){if(t=t|0,e=e|0,t=r[t+16>>2]|0,!t)e=F0(4)|0,r[e>>2]=0,su(e),k0(e|0,4168,131);else{vr[r[(r[t>>2]|0)+24>>2]&15](t,e);return}}function Gn(t){t=t|0;var e=0;e=r[t+16>>2]|0,(t|0)!=(e|0)?e|0&&w0[r[(r[e>>2]|0)+20>>2]&255](e):w0[r[(r[e>>2]|0)+16>>2]&255](e)}function Tl(t){t=t|0;var e=0,i=0,n=0,o=0,a=0,A=0,l=0,c=0,d=0,x=0,w=0,N=0;N=v,v=v+96|0,o=N+16|0,x=N,l=N+72|0,a=r[t>>2]|0,c=I[t+114>>1]|0,d=x,r[d>>2]=0,r[d+4>>2]=0,d=x+8|0,r[d>>2]=c,r[d+4>>2]=0,r[o>>2]=r[x>>2],r[o+4>>2]=r[x+4>>2],r[o+8>>2]=r[x+8>>2],r[o+12>>2]=r[x+12>>2],Ze(a,o),a=t+120|0;t:do if(r[a>>2]|0){for(A=o+2|0,c=o+16|0,d=o+20|0,x=o+18|0,i=0;;){if(!(ci(r[t>>2]|0)|0)||ou(r[t>>2]|0)|0)break t;for(Fr(r[t>>2]|0,o,54),e=7277,n=A;(u[n>>0]|0)==(u[e>>0]|0);)if(n=n+1|0,(n|0)==(c|0)){w=8;break}else e=e+1|0;if((w|0)==8&&(w=0,(Z[x>>0]|Z[x+1>>0]<<8)<<16>>16==22204))break;if(au(r[t>>2]|0,(Z[d>>0]|Z[d+1>>0]<<8)&65535,0,1),i=i+1|0,i>>>0>=(r[a>>2]|0)>>>0)break t}x=(Z[d>>0]|Z[d+1>>0]<<8)&65535,w=kf(x)|0,Fr(r[t>>2]|0,w,x),fu(t,w),$(w),w=t+125|0,hu(l,t+247|0,(Z[w>>0]|Z[w+1>>0]<<8)&65535),lu(t+300|0,l)|0,Ns(l),v=N;return}while(0);N=F0(8)|0,Au(N),k0(N|0,2672,8)}function Xl(t){t=t|0;var e=0,i=0,n=0,o=0,a=0,A=0,l=0,c=0,d=0,x=0,w=0,N=0;if(w=v,v=v+176|0,o=w+40|0,a=w+24|0,e=w+16|0,n=w,c=w+152|0,d=w+136|0,x=w+56|0,l=r[t>>2]|0,A=t+116|0,N=r[A>>2]|0,i=a,r[i>>2]=0,r[i+4>>2]=0,i=a+8|0,r[i>>2]=N,r[i+4>>2]=0,r[o>>2]=r[a>>2],r[o+4>>2]=r[a+4>>2],r[o+8>>2]=r[a+8>>2],r[o+12>>2]=r[a+12>>2],Ze(l,o),l=e,r[l>>2]=0,r[l+4>>2]=0,Fr(r[t>>2]|0,e,8),ci(r[t>>2]|0)|0||(N=F0(8)|0,zn(N),k0(N|0,2704,8)),i=e,e=r[i>>2]|0,i=r[i+4>>2]|0,(e|0)==-1&(i|0)==-1&&(N=F0(8)|0,Es(N,7488),k0(N|0,2720,8)),N=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(N,o),ci(r[t>>2]|0)|0||(N=F0(8)|0,zn(N),k0(N|0,2704,8)),Fr(r[t>>2]|0,o,8),ci(r[t>>2]|0)|0||(N=F0(8)|0,zn(N),k0(N|0,2704,8)),r[o>>2]|0&&(N=F0(8)|0,xu(N),k0(N|0,2736,8)),a=t+288|0,l=t+292|0,r[l>>2]=r[a>>2],N=t+259|0,(Z[N>>0]|Z[N+1>>0]<<8|Z[N+2>>0]<<16|Z[N+3>>0]<<24|0)==-1&&(N=F0(8)|0,Es(N,7606),k0(N|0,2720,8)),n=o+4|0,wu(a,(r[n>>2]|0)+1|0),N=r[a>>2]|0,r[N>>2]=(r[A>>2]|0)+8,r[N+4>>2]=0,(r[n>>2]|0)>>>0>1){if(Ws(c,r[t>>2]|0),zs(d,c),st(x,32,2,8,0),Bn(d),ot(x),!(r[n>>2]|0))a=r[a>>2]|0,i=a;else{i=1;do i>>>0>1?e=r[(r[a>>2]|0)+(i+-1<<3)>>2]|0:e=0,A=L0(x,d,e,1)|0,e=r[a>>2]|0,N=e+(i<<3)|0,r[N>>2]=A,r[N+4>>2]=((A|0)<0)<<31>>31,i=i+1|0;while(i>>>0<=(r[n>>2]|0)>>>0);i=e,a=e}if(e=r[l>>2]|0,e-i>>3>>>0>1){o=e-a>>3,n=a,e=1,i=r[n>>2]|0,n=r[n+4>>2]|0;do N=a+(e<<3)|0,l=N,i=yt(r[l>>2]|0,r[l+4>>2]|0,i|0,n|0)|0,n=y0()|0,r[N>>2]=i,r[N+4>>2]=n,e=e+1|0;while(e>>>0<o>>>0)}ft(x),Bs(d),Vs(c)}v=w}function Ul(t){t=t|0,u[t+12>>0]=0,u[t+13>>0]=0}function Gl(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 El(t,e,i){t=t|0,e=e|0,i=i|0;var n=0,o=0,a=0,A=0,l=0,c=0;if(A=v,v=v+16|0,o=e,a=A,n=i-o|0,n>>>0>4294967279&&A2(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[a>>0]=0,Fe(t,a),v=A}function Fe(t,e){t=t|0,e=e|0,u[t>>0]=u[e>>0]|0}function zl(t){t=t|0,At(t),$(t)}function Bl(t,e){t=t|0,e=e|0,r[t>>2]=4372,r[t+16>>2]=t}function Sl(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 Cl(t){t=t|0,r[(r[t>>2]|0)+4>>2]=r[t+4>>2]}function En(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=Xs(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 Xs(t){return t=t|0,t|0}function Il(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 Ol(t,e){t=t|0,e=e|0;var i=0,n=0,o=0,a=0,A=0,l=0,c=0;if(l=r[t>>2]|0,c=t+4|0,i=r[c>>2]|0,A=e+4|0,(i|0)==(l|0))o=A,a=t,n=r[A>>2]|0,i=l;else{n=r[A>>2]|0;do i=i+-24|0,En(n+-24|0,i),n=(r[A>>2]|0)+-24|0,r[A>>2]=n;while((i|0)!=(l|0));o=A,a=t,i=r[t>>2]|0}r[a>>2]=n,r[o>>2]=i,l=e+8|0,A=r[c>>2]|0,r[c>>2]=r[l>>2],r[l>>2]=A,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 Jl(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,Gn(o),e=r[n>>2]|0;while((e|0)!=(i|0));e=r[t>>2]|0,e|0&&A0(e,(r[t+12>>2]|0)-e|0)}function Pl(t){return t=t|0,178956970}function jl(t){t=t|0,$(t)}function Yl(t){return t=t|0,t=b(8)|0,r[t>>2]=4372,t|0}function Dl(t,e){t=t|0,e=e|0,r[e>>2]=4372}function Hl(t){t=t|0}function Ll(t){t=t|0,A0(t,8)}function Ql(t,e){t=t|0,e=e|0,bl(t+4|0,e)}function ql(t,e){return t=t|0,e=e|0,((r[e+4>>2]|0)==7183?t+4|0:0)|0}function $l(t){return t=t|0,2664}function Kl(t){t=t|0}function bl(t,e){t=t|0,e=e|0,tu(t,e)}function tu(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,ru(n),k0(n|0,2632,8)),(i|0)==(n|0))n=F0(8)|0,eu(n),k0(n|0,2648,8);else{u[t>>0]=e&63;return}}function ru(t){t=t|0,Ft(t,7076),r[t>>2]=4416}function eu(t){t=t|0,Ft(t,7144),r[t>>2]=4436}function iu(t){t=t|0,At(t),$(t)}function nu(t){t=t|0,At(t),$(t)}function su(t){t=t|0,r[t>>2]=6092}function ci(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 ou(t){return t=t|0,(u[t+13>>0]|0)!=0|0}function fu(t,e){t=t|0,e=e|0,t=t+247|0,uu(t,e),(Z[t>>0]|Z[t+1>>0]<<8)<<16>>16!=2&&(e=F0(8)|0,Us(e),k0(e|0,2688,8))}function au(t,e,i,n){t=t|0,e=e|0,i=i|0,n=n|0;var o=0,a=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,a=((o|0)<0)<<31>>31,n=t+12|0,(i|0)<0|((i|0)>(a|0)|(i|0)==(a|0)&e>>>0>=o>>>0)?u[n>>0]=1:(u[n>>0]=0,r[t+8>>2]=e)}function Au(t){t=t|0,Ft(t,7410),r[t>>2]=4476}function hu(t,e,i){t=t|0,e=e|0,i=i|0;var n=0,o=0,a=0,A=0,l=0,c=0,d=0;if(A=v,v=v+16|0,a=A,Ts(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,d=c+(e*6|0)|0,l=c+(e*6|0)+2|0,c=c+(e*6|0)+4|0,ke(a,(Z[d>>0]|Z[d+1>>0]<<8)&65535,(Z[l>>0]|Z[l+1>>0]<<8)&65535,(Z[c>>0]|Z[c+1>>0]<<8)&65535),Gs(t,a),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&&(d=F0(8)|0,Us(d),k0(d|0,2688,8)),i|0&&(ke(a,0,i,2),Gs(t,a)),v=A}function lu(t,e){t=t|0,e=e|0;var i=0,n=0;return i=v,v=v+16|0,n=i+1|0,u[n>>0]=u[i>>0]|0,_u(t,e,n),v=i,t|0}function uu(t,e){t=t|0,e=e|0;var i=0,n=0,o=0,a=0,A=0,l=0,c=0;if(n=e+2|0,a=Z[e>>0]|Z[e+1>>0]<<8,u[t>>0]=a,u[t+1>>0]=a>>8,a=t+2|0,n=Z[n>>0]|Z[n+1>>0]<<8,u[a>>0]=n,u[a+1>>0]=n>>8,u[t+4>>0]=u[e+4>>0]|0,a=e+6|0,u[t+5>>0]=u[e+5>>0]|0,n=e+8|0,i=t+6|0,a=Z[a>>0]|Z[a+1>>0]<<8,u[i>>0]=a,u[i+1>>0]=a>>8,i=e+12|0,a=t+8|0,n=Z[n>>0]|Z[n+1>>0]<<8|Z[n+2>>0]<<16|Z[n+3>>0]<<24,u[a>>0]=n,u[a+1>>0]=n>>8,u[a+2>>0]=n>>16,u[a+3>>0]=n>>24,a=t+12|0,i=Z[i>>0]|Z[i+1>>0]<<8|Z[i+2>>0]<<16|Z[i+3>>0]<<24,u[a>>0]=i,u[a+1>>0]=i>>8,u[a+2>>0]=i>>16,u[a+3>>0]=i>>24,a=e+16|0,i=a,i=Z[i>>0]|Z[i+1>>0]<<8|Z[i+2>>0]<<16|Z[i+3>>0]<<24,a=a+4|0,a=Z[a>>0]|Z[a+1>>0]<<8|Z[a+2>>0]<<16|Z[a+3>>0]<<24,n=t+16|0,A=n,u[A>>0]=i,u[A+1>>0]=i>>8,u[A+2>>0]=i>>16,u[A+3>>0]=i>>24,n=n+4|0,u[n>>0]=a,u[n+1>>0]=a>>8,u[n+2>>0]=a>>16,u[n+3>>0]=a>>24,n=e+32|0,a=e+24|0,A=a,A=Z[A>>0]|Z[A+1>>0]<<8|Z[A+2>>0]<<16|Z[A+3>>0]<<24,a=a+4|0,a=Z[a>>0]|Z[a+1>>0]<<8|Z[a+2>>0]<<16|Z[a+3>>0]<<24,i=t+24|0,o=i,u[o>>0]=A,u[o+1>>0]=A>>8,u[o+2>>0]=A>>16,u[o+3>>0]=A>>24,i=i+4|0,u[i>>0]=a,u[i+1>>0]=a>>8,u[i+2>>0]=a>>16,u[i+3>>0]=a>>24,i=e+34|0,a=t+32|0,n=Z[n>>0]|Z[n+1>>0]<<8,u[a>>0]=n,u[a+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?(Nf(t),t=Z[a>>0]|Z[a+1>>0]<<8):t=n,n=kf((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,A=Z[i>>0]|Z[i+1>>0]<<8,u[n>>0]=A,u[n+1>>0]=A>>8,e=e+38|0,A=n+2|0,t=Z[t>>0]|Z[t+1>>0]<<8,u[A>>0]=t,u[A+1>>0]=t>>8,A=n+4|0,e=Z[e>>0]|Z[e+1>>0]<<8,u[A>>0]=e,u[A+1>>0]=e>>8,((Z[a>>0]|Z[a+1>>0]<<8)&65535)>1)){t=1;do e=i,i=i+6|0,A=Z[o>>0]|Z[o+1>>0]<<8|Z[o+2>>0]<<16|Z[o+3>>0]<<24,l=e+8|0,n=A+(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=A+(t*6|0)+2|0,l=Z[l>>0]|Z[l+1>>0]<<8,u[n>>0]=l,u[n+1>>0]=l>>8,A=A+(t*6|0)+4|0,e=Z[e>>0]|Z[e+1>>0]<<8,u[A>>0]=e,u[A+1>>0]=e>>8,t=t+1|0;while(t>>>0<((Z[a>>0]|Z[a+1>>0]<<8)&65535)>>>0)}}function Us(t){t=t|0,Ft(t,7354),r[t>>2]=4456}function cu(t){t=t|0,At(t),$(t)}function mu(t){t=t|0,At(t),$(t)}function Gs(t,e){t=t|0,e=e|0;var i=0,n=0,o=0,a=0,A=0,l=0,c=0,d=0;l=v,v=v+32|0,o=l,a=t+4|0,i=r[a>>2]|0,A=t+8|0;do if((i|0)==(r[A>>2]|0))if(i=((i-(r[t>>2]|0)|0)/12|0)+1|0,n=gu(t)|0,n>>>0<i>>>0)Q0(t);else{c=r[t>>2]|0,d=((r[A>>2]|0)-c|0)/12|0,A=d<<1,du(o,d>>>0<n>>>1>>>0?A>>>0<i>>>0?i:A:n,((r[a>>2]|0)-c|0)/12|0,t+8|0),A=o+8|0,a=r[A>>2]|0,r[a>>2]=r[e>>2],r[a+4>>2]=r[e+4>>2],r[a+8>>2]=r[e+8>>2],r[A>>2]=(r[A>>2]|0)+12,yu(t,o),Mu(o);break}else vu(o,t,1),d=o+4|0,c=r[d>>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[d>>2]=(r[d>>2]|0)+12,pu(o);while(0);v=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 vu(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 pu(t){t=t|0,r[(r[t>>2]|0)+4>>2]=r[t+4>>2]}function du(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 yu(t,e){t=t|0,e=e|0;var i=0,n=0,o=0,a=0,A=0;n=r[t>>2]|0,A=t+4|0,a=e+4|0,o=(r[A>>2]|0)-n|0,i=(r[a>>2]|0)+(((o|0)/-12|0)*12|0)|0,r[a>>2]=i,(o|0)>0?(ht(i|0,n|0,o|0)|0,n=a,i=r[a>>2]|0):n=a,a=r[t>>2]|0,r[t>>2]=i,r[n>>2]=a,a=e+8|0,o=r[A>>2]|0,r[A>>2]=r[a>>2],r[a>>2]=o,a=t+8|0,A=e+12|0,t=r[a>>2]|0,r[a>>2]=r[A>>2],r[A>>2]=t,r[e>>2]=r[n>>2]}function Mu(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&&A0(e,(r[t+12>>2]|0)-e|0)}function gu(t){return t=t|0,357913941}function _u(t,e,i){t=t|0,e=e|0,i=i|0;var n=0;Ru(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 Ru(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,A0(e,(r[o>>2]|0)-i|0),r[o>>2]=0,r[n>>2]=0,r[t>>2]=0)}function zn(t){t=t|0,Ft(t,7660),r[t>>2]=4496}function Es(t,e){t=t|0,e=e|0,Ft(t,e),r[t>>2]=4516}function xu(t){t=t|0,Ft(t,7704),r[t>>2]=4536}function wu(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)):Nu(t,e-n|0)}function zs(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 a=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,Ss(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,a=0;i=i>>>1,e=a+1|0,i;)a=e;r[n>>2]=(1<<a|0)==(o|0)?a: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 Bn(t){t=t|0;var e=0;e=((Ne(r[t>>2]|0)|0)&255)<<24,e=((Ne(r[t>>2]|0)|0)&255)<<16|e,e=e|((Ne(r[t>>2]|0)|0)&255)<<8,r[t+4>>2]=e|(Ne(r[t>>2]|0)|0)&255}function ot(t){t=t|0;var e=0,i=0,n=0,o=0,a=0,A=0,l=0,c=0,d=0,x=0,w=0,N=0,G=0,E=0,U=0,e0=0,Y=0,J=0;U=v,v=v+64|0,G=U+44|0,E=U,d=t+36|0,x=t+40|0;t:do if((r[d>>2]|0)==(r[x>>2]|0)){w=t+8|0;r:do if(!(r[w>>2]|0))N=t+20|0;else{for(o=t+20|0,a=t+44|0,A=G+4|0,l=t+44|0,c=G+8|0,n=0;;){if(j0(E,(r[o>>2]|0)+1|0,0,0),e=r[x>>2]|0,e>>>0<(r[a>>2]|0)>>>0)Is(G,d,1),vi(r[A>>2]|0,E),r[A>>2]=(r[A>>2]|0)+44,Os(G);else{if(e=((e-(r[d>>2]|0)|0)/44|0)+1|0,i=Ys(d)|0,i>>>0<e>>>0)break;e0=r[d>>2]|0,J=((r[a>>2]|0)-e0|0)/44|0,Y=J<<1,Js(G,J>>>0<i>>>1>>>0?Y>>>0<e>>>0?e:Y:i,((r[x>>2]|0)-e0|0)/44|0,l),vi(r[c>>2]|0,E),r[c>>2]=(r[c>>2]|0)+44,Ps(d,G),js(G)}if(G0(E),n=n+1|0,n>>>0>=(r[w>>2]|0)>>>0){N=o;break r}}Q0(d)}while(0);if(r[N>>2]|0){for(A=t+12|0,l=t+68|0,c=t+72|0,d=t+76|0,x=G+4|0,o=t+76|0,a=G+8|0,n=1;;){if(e=r[A>>2]|0,j0(E,1<<(n>>>0>e>>>0?e:n),0,0),e=r[c>>2]|0,e>>>0<(r[d>>2]|0)>>>0)Is(G,l,1),vi(r[x>>2]|0,E),r[x>>2]=(r[x>>2]|0)+44,Os(G);else{if(e=((e-(r[l>>2]|0)|0)/44|0)+1|0,i=Ys(l)|0,i>>>0<e>>>0)break;J=r[l>>2]|0,e0=((r[d>>2]|0)-J|0)/44|0,Y=e0<<1,Js(G,e0>>>0<i>>>1>>>0?Y>>>0<e>>>0?e:Y:i,((r[c>>2]|0)-J|0)/44|0,o),vi(r[a>>2]|0,E),r[a>>2]=(r[a>>2]|0)+44,Ps(l,G),js(G)}if(G0(E),n=n+1|0,n>>>0>(r[N>>2]|0)>>>0)break t}Q0(l)}}while(0);v=U}function L0(t,e,i,n){return t=t|0,e=e|0,i=i|0,n=n|0,i=(Ju(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,mi(t+68|0),mi(t+36|0)}function Bs(t){t=t|0}function Zu(t){t=t|0,At(t),$(t)}function Fu(t){t=t|0,At(t),$(t)}function ku(t){t=t|0,At(t),$(t)}function Nu(t,e){t=t|0,e=e|0;var i=0,n=0,o=0,a=0,A=0,l=0,c=0,d=0;l=v,v=v+32|0,o=l,a=t+8|0,A=t+4|0,i=r[A>>2]|0;do if((r[a>>2]|0)-i>>3>>>0<e>>>0)if(i=(i-(r[t>>2]|0)>>3)+e|0,n=zu(t)|0,n>>>0<i>>>0)Q0(t);else{c=r[t>>2]|0,d=(r[a>>2]|0)-c|0,a=d>>2,Wu(o,d>>3>>>0<n>>>1>>>0?a>>>0<i>>>0?i:a:n,(r[A>>2]|0)-c>>3,t+8|0),Tu(o,e),Xu(t,o),Uu(o);break}else Vu(t,e);while(0);v=l}function Vu(t,e){t=t|0,e=e|0;var i=0,n=0,o=0;o=v,v=v+16|0,n=o,Gu(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)),Eu(n),v=o}function Wu(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 Tu(t,e){t=t|0,e=e|0;var i=0,n=0;n=v,v=v+16|0,i=n,Bu(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)),Su(i),v=n}function Xu(t,e){t=t|0,e=e|0;var i=0,n=0,o=0,a=0,A=0;n=r[t>>2]|0,A=t+4|0,a=e+4|0,o=(r[A>>2]|0)-n|0,i=(r[a>>2]|0)+(0-(o>>3)<<3)|0,r[a>>2]=i,(o|0)>0?(ht(i|0,n|0,o|0)|0,n=a,i=r[a>>2]|0):n=a,a=r[t>>2]|0,r[t>>2]=i,r[n>>2]=a,a=e+8|0,o=r[A>>2]|0,r[A>>2]=r[a>>2],r[a>>2]=o,a=t+8|0,A=e+12|0,t=r[a>>2]|0,r[a>>2]=r[A>>2],r[A>>2]=t,r[e>>2]=r[n>>2]}function Uu(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&&A0(e,(r[t+12>>2]|0)-e|0)}function Gu(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 Eu(t){t=t|0,r[(r[t>>2]|0)+4>>2]=r[t+4>>2]}function zu(t){return t=t|0,536870911}function Bu(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 Su(t){t=t|0,r[r[t+8>>2]>>2]=r[t>>2]}function Ss(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 mi(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,A0(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 Ne(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)&&(Cs(t),e=r[i>>2]|0),t=r[t+12>>2]|0,r[i>>2]=e+1,u[t+e>>0]|0}function Cs(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=Cu(r[t>>2]|0)|0,r[t+8>>2]=e,!e)e=F0(8)|0,Iu(e),k0(e|0,2752,8);else return}function Cu(t){return t=t|0,r[t+16>>2]|0}function Iu(t){t=t|0,Ft(t,7769),r[t>>2]=4556}function Ou(t){t=t|0,At(t),$(t)}function j0(t,e,i,n){t=t|0,e=e|0,i=i|0,n=n|0;var o=0,a=0,A=0;if(r[t>>2]=e,u[t+4>>0]=i&1,a=t+8|0,r[a>>2]=0,A=t+12|0,r[A>>2]=0,o=t+16|0,r[o>>2]=0,(e+-2|0)>>>0>2046&&(t=F0(8)|0,Ft(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[a>>2]=Zr(e<<2)|0,o=Zr(r[t>>2]<<2)|0,r[A>>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)}Cn(t),n=((r[t>>2]|0)+6|0)>>>1,r[i>>2]=n,r[t+28>>2]=n}function Is(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 Os(t){t=t|0,r[(r[t>>2]|0)+4>>2]=r[t+4>>2]}function vi(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 Js(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 Ps(t,e){t=t|0,e=e|0;var i=0,n=0,o=0,a=0,A=0,l=0,c=0;if(l=r[t>>2]|0,c=t+4|0,i=r[c>>2]|0,A=e+4|0,(i|0)==(l|0))o=A,a=t,n=r[A>>2]|0,i=l;else{n=r[A>>2]|0;do i=i+-44|0,Sn(n+-44|0,i),n=(r[A>>2]|0)+-44|0,r[A>>2]=n;while((i|0)!=(l|0));o=A,a=t,i=r[t>>2]|0}r[a>>2]=n,r[o>>2]=i,l=e+8|0,A=r[c>>2]|0,r[c>>2]=r[l>>2],r[l>>2]=A,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 js(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&&A0(e,(r[t+12>>2]|0)-e|0)}function Ys(t){return t=t|0,97612893}function Sn(t,e){t=t|0,e=e|0;var i=0,n=0,o=0,a=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],a=t+36|0,r[a>>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&&Mt(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&&Mt(i|0,r[e+12>>2]|0,n<<2|0)|0,i=r[a>>2]|0,i?(n=Zr((i<<2)+8|0)|0,r[t+16>>2]=n,i=(r[a>>2]<<2)+8|0,i|0&&Mt(n|0,r[e+16>>2]|0,i|0)|0):r[t+16>>2]=0}function Cn(t){t=t|0;var e=0,i=0,n=0,o=0,a=0,A=0,l=0,c=0,d=0,x=0,w=0,N=0,G=0,E=0;if(E=t+24|0,o=t+20|0,e=(r[o>>2]|0)+(r[E>>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 w=n+(i<<2)|0,e=((r[w>>2]|0)+1|0)>>>1,r[w>>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)}w=2147483648/(e>>>0)|0;do if(!(u[t+4>>0]|0)&&(N=t+36|0,(r[N>>2]|0)!=0)){if(r[t>>2]|0){l=r[t+8>>2]|0,c=r[t+12>>2]|0,d=t+40|0,x=t+16|0,e=0,a=0,A=0;do{if(i=(u0(a,w)|0)>>>16,r[l+(A<<2)>>2]=i,a=(r[c+(A<<2)>>2]|0)+a|0,i=i>>>(r[d>>2]|0),e>>>0<i>>>0){n=A+-1|0,o=r[x>>2]|0;do e=e+1|0,r[o+(e<<2)>>2]=n;while((e|0)!=(i|0));e=i}A=A+1|0}while(A>>>0<(r[t>>2]|0)>>>0);if(i=r[x>>2]|0,r[i>>2]=0,e>>>0>(r[N>>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[N>>2]|0)>>>0);e=t}else G=7;while(0);if((G|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]=(u0(i,w)|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}G=((r[E>>2]|0)*5|0)>>>2,N=(r[e>>2]<<3)+48|0,G=G>>>0>N>>>0?N:G,r[E>>2]=G,r[t+28>>2]=G}function Ju(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|(Ds(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=Pu(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,a=0,A=0,l=0,c=0,d=0,x=0,w=0,N=0,G=0;if(N=t+8|0,w=r[N>>2]|0,o=r[e+16>>2]|0,o){if(n=t+4|0,i=r[n>>2]|0,x=w>>>15,r[N>>2]=x,c=(i>>>0)/(x>>>0)|0,l=c>>>(r[e+40>>2]|0),a=r[o+(l<<2)>>2]|0,l=(r[o+(l+1<<2)>>2]|0)+1|0,A=a+1|0,d=r[e+8>>2]|0,l>>>0>A>>>0){o=a,a=l;do A=(a+o|0)>>>1,l=(r[d+(A<<2)>>2]|0)>>>0>c>>>0,o=l?o:A,a=l?A:a,A=o+1|0;while(a>>>0>A>>>0);a=o}o=u0(r[d+(a<<2)>>2]|0,x)|0,(a|0)==(r[e+32>>2]|0)?A=w:A=u0(r[d+(A<<2)>>2]|0,x)|0}else{d=w>>>15,r[N>>2]=d,l=r[e>>2]|0,x=r[e+8>>2]|0,n=t+4|0,i=r[n>>2]|0,c=l>>>1,o=0,A=w,a=0;do G=u0(r[x+(c<<2)>>2]|0,d)|0,w=G>>>0>i>>>0,A=w?G:A,o=w?o:G,a=w?a:c,l=w?c:l,c=(a+l|0)>>>1;while((c|0)!=(a|0))}return r[n>>2]=i-o,G=A-o|0,r[N>>2]=G,G>>>0<16777216&&pi(t),N=(r[e+12>>2]|0)+(a<<2)|0,r[N>>2]=(r[N>>2]|0)+1,N=e+28|0,G=(r[N>>2]|0)+-1|0,r[N>>2]=G,G||Cn(e),a|0}function Ds(t,e){t=t|0,e=e|0;var i=0,n=0,o=0,a=0;return e>>>0>19?(i=(In(t)|0)&65535,(Ds(t,e+-16|0)|0)<<16|i|0):(n=t+4|0,o=r[n>>2]|0,a=t+8|0,i=(r[a>>2]|0)>>>e,r[a>>2]=i,e=(o>>>0)/(i>>>0)|0,r[n>>2]=o-(u0(e,i)|0),i>>>0<16777216&&pi(t),e|0)}function Pu(t,e){t=t|0,e=e|0;var i=0,n=0,o=0,a=0,A=0,l=0;return n=t+8|0,o=r[n>>2]|0,i=u0(o>>>13,r[e+8>>2]|0)|0,a=t+4|0,A=r[a>>2]|0,l=A>>>0>=i>>>0,l?(r[a>>2]=A-i,i=o-i|0,r[n>>2]=i):(r[n>>2]=i,A=e+12|0,r[A>>2]=(r[A>>2]|0)+1),i>>>0<16777216&&pi(t),A=e+4|0,t=(r[A>>2]|0)+-1|0,r[A>>2]=t,t||Hs(e),l&1|0}function pi(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|(Ne(r[t>>2]|0)|0)&255,r[e>>2]=n,o=r[i>>2]<<8,r[i>>2]=o;while(o>>>0<16777216)}function In(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-(u0(e,n)|0),pi(t),e&65535|0}function Hs(t){t=t|0;var e=0,i=0,n=0,o=0,a=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,a=t+12|0,e=((r[a>>2]|0)+1|0)>>>1,r[a>>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]=(u0(e,2147483648/(i>>>0)|0)|0)>>>18,a=o*5|0,a=a>>>0>259?64:a>>>2,r[t>>2]=a,r[t+4>>2]=a}function ju(t,e){t=t|0,e=e|0;var i=0,n=0,o=0,a=0,A=0,l=0,c=0,d=0,x=0,w=0,N=0;x=v,v=v+32|0,a=x+16|0,A=x+8|0,l=x,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,d=5):(n=t+320|0,i=r[n>>2]|0,o=i,i|0&&r[t+312>>2]|0||(i=o,d=5)),(d|0)==5&&(d=t+320|0,r[a>>2]=i,r[d>>2]=0,i=t+324|0,r[a+4>>2]=r[i>>2],r[i>>2]=0,li(a),o=t+312|0,r[a>>2]=r[o>>2],r[o>>2]=0,w=t+316|0,r[a+4>>2]=r[w>>2],r[w>>2]=0,Un(a),N=b(12)|0,zs(N,t+4|0),r[l>>2]=0,r[a>>2]=r[l>>2],Du(A,N,a),N=r[A>>2]|0,r[A>>2]=r[o>>2],r[o>>2]=N,N=A+4|0,l=r[N>>2]|0,r[N>>2]=r[w>>2],r[w>>2]=l,Un(A),Yu(A,r[o>>2]|0,t+300|0),o=r[A>>2]|0,w=A+4|0,l=r[w>>2]|0,r[A>>2]=0,r[w>>2]=0,r[a>>2]=r[d>>2],r[d>>2]=o,r[a+4>>2]=r[i>>2],r[i>>2]=l,li(a),li(A),i=t+328|0,l=i,l=yt(r[l>>2]|0,r[l+4>>2]|0,1,0)|0,d=y0()|0,r[i>>2]=l,r[i+4>>2]=d,i=c,r[i>>2]=0,r[i+4>>2]=0,i=r[n>>2]|0),Oe[r[r[i>>2]>>2]&63](i,e)|0,d=c,d=yt(r[d>>2]|0,r[d+4>>2]|0,1,0)|0,w=y0()|0,N=c,r[N>>2]=d,r[N+4>>2]=w,v=x}function Yu(t,e,i){t=t|0,e=e|0,i=i|0;var n=0,o=0,a=0,A=0;A=v,v=v+64|0,n=A+56|0,o=A,a=Ku(i)|0,(a|0)==-1&&(A=F0(8)|0,bu(A),k0(A|0,2784,8)),i=Ls(i)|0;t:do if(i)tc(n,e),rc(r[n>>2]|0),(a|2|0)==3&&ec(r[n>>2]|0),(a|1|0)==3&&ic(r[n>>2]|0),a=r[n>>2]|0,sc(o,i),nc(a,o),Qs(o),r[t>>2]=r[n>>2],a=n+4|0,r[t+4>>2]=r[a>>2],r[n>>2]=0,r[a>>2]=0,oc(n);else switch(a|0){case 0:{a=b(4788)|0,ac(a),fc(t,e,a);break t}case 1:{a=b(5116)|0,hc(a),Ac(t,e,a);break t}case 2:{a=b(5104)|0,uc(a),lc(t,e,a);break t}case 3:{a=b(5432)|0,mc(a),cc(t,e,a);break t}default:{r[t>>2]=0,r[t+4>>2]=0;break t}}while(0);v=A}function Du(t,e,i){t=t|0,e=e|0,i=i|0;var n=0,o=0;i=v,v=v+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,Hu(t,n),v=i}function Hu(t,e){t=t|0,e=e|0}function Lu(t){t=t|0,C0(t),$(t)}function Qu(t){t=t|0,t=r[t+12>>2]|0,t|0&&(Bs(t),$(t))}function qu(t,e){return t=t|0,e=e|0,((r[e+4>>2]|0)==7983?t+12|0:0)|0}function $u(t){t=t|0,A0(t,16)}function Ku(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)+(((Ls(t)|0)!=0)<<31>>31)|0,(i|0)!=0)&&(e=r[t>>2]|0,!(vc(e,pc()|0)|0))){switch(i|0){case 1:{t=0;break t}case 2:{if(Ve((r[t>>2]|0)+12|0,qs()|0)|0){t=1;break t}if(Ve((r[t>>2]|0)+12|0,$s()|0)|0){t=2;break t}break}case 3:{if(Ve((r[t>>2]|0)+12|0,qs()|0)|0&&(i=(r[t>>2]|0)+24|0,Ve(i,$s()|0)|0)){t=3;break t}break}default:}t=-1}else t=-1;while(0);return t|0}function bu(t){t=t|0,Ft(t,8131),r[t>>2]=4604}function Ls(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 tc(t,e){t=t|0,e=e|0;var i=0,n=0,o=0,a=0;i=v,v=v+16|0,n=i+4|0,a=i,o=b(24)|0,yc(o,e),r[a>>2]=0,r[n>>2]=r[a>>2],Mc(t,o,n),v=i}function rc(t){t=t|0;var e=0,i=0,n=0,o=0,a=0,A=0,l=0,c=0,d=0,x=0;c=v,v=v+32|0,n=c+12|0,o=c,e=c+8|0,A=b(4792)|0,Nc(A,r[t+4>>2]|0),a=t+8|0,r[e>>2]=0,r[n>>2]=r[e>>2],Vc(o,A,n),A=t+12|0,e=r[A>>2]|0,l=t+16|0;do if(e>>>0>=(r[l>>2]|0)>>>0)if(e=(e-(r[a>>2]|0)>>3)+1|0,i=It(a)|0,i>>>0<e>>>0)Q0(a);else{d=r[a>>2]|0,x=(r[l>>2]|0)-d|0,l=x>>2,Bt(n,x>>3>>>0<i>>>1>>>0?l>>>0<e>>>0?e:l:i,(r[A>>2]|0)-d>>3,t+16|0),l=n+8|0,A=r[l>>2]|0,r[A>>2]=r[o>>2],t=o+4|0,r[A+4>>2]=r[t>>2],r[o>>2]=0,r[t>>2]=0,r[l>>2]=A+8,St(a,n),Ct(n);break}else Et(n,a,1),x=n+4|0,d=r[x>>2]|0,r[d>>2]=r[o>>2],l=o+4|0,r[d+4>>2]=r[l>>2],r[o>>2]=0,r[l>>2]=0,r[x>>2]=d+8,zt(n);while(0);rt(o),v=c}function ec(t){t=t|0;var e=0,i=0,n=0,o=0,a=0,A=0,l=0,c=0,d=0,x=0;c=v,v=v+32|0,n=c+12|0,o=c,e=c+8|0,A=b(336)|0,qc(A,r[t+4>>2]|0),a=t+8|0,r[e>>2]=0,r[n>>2]=r[e>>2],$c(o,A,n),A=t+12|0,e=r[A>>2]|0,l=t+16|0;do if(e>>>0>=(r[l>>2]|0)>>>0)if(e=(e-(r[a>>2]|0)>>3)+1|0,i=It(a)|0,i>>>0<e>>>0)Q0(a);else{d=r[a>>2]|0,x=(r[l>>2]|0)-d|0,l=x>>2,Bt(n,x>>3>>>0<i>>>1>>>0?l>>>0<e>>>0?e:l:i,(r[A>>2]|0)-d>>3,t+16|0),l=n+8|0,A=r[l>>2]|0,r[A>>2]=r[o>>2],t=o+4|0,r[A+4>>2]=r[t>>2],r[o>>2]=0,r[t>>2]=0,r[l>>2]=A+8,St(a,n),Ct(n);break}else Et(n,a,1),x=n+4|0,d=r[x>>2]|0,r[d>>2]=r[o>>2],l=o+4|0,r[d+4>>2]=r[l>>2],r[o>>2]=0,r[l>>2]=0,r[x>>2]=d+8,zt(n);while(0);rt(o),v=c}function ic(t){t=t|0;var e=0,i=0,n=0,o=0,a=0,A=0,l=0,c=0,d=0,x=0;c=v,v=v+32|0,n=c+12|0,o=c,e=c+8|0,A=b(324)|0,v4(A,r[t+4>>2]|0),a=t+8|0,r[e>>2]=0,r[n>>2]=r[e>>2],p4(o,A,n),A=t+12|0,e=r[A>>2]|0,l=t+16|0;do if(e>>>0>=(r[l>>2]|0)>>>0)if(e=(e-(r[a>>2]|0)>>3)+1|0,i=It(a)|0,i>>>0<e>>>0)Q0(a);else{d=r[a>>2]|0,x=(r[l>>2]|0)-d|0,l=x>>2,Bt(n,x>>3>>>0<i>>>1>>>0?l>>>0<e>>>0?e:l:i,(r[A>>2]|0)-d>>3,t+16|0),l=n+8|0,A=r[l>>2]|0,r[A>>2]=r[o>>2],t=o+4|0,r[A+4>>2]=r[t>>2],r[o>>2]=0,r[t>>2]=0,r[l>>2]=A+8,St(a,n),Ct(n);break}else Et(n,a,1),x=n+4|0,d=r[x>>2]|0,r[d>>2]=r[o>>2],l=o+4|0,r[d+4>>2]=r[l>>2],r[o>>2]=0,r[l>>2]=0,r[x>>2]=d+8,zt(n);while(0);rt(o),v=c}function nc(t,e){t=t|0,e=e|0;var i=0,n=0,o=0,a=0,A=0,l=0,c=0,d=0,x=0;c=v,v=v+32|0,A=c+12|0,l=c,n=c+8|0,a=b(64)|0,F4(a,r[t+4>>2]|0,e),o=t+8|0,r[n>>2]=0,r[A>>2]=r[n>>2],k4(l,a,A),a=t+12|0,e=r[a>>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=It(o)|0,i>>>0<e>>>0)Q0(o);else{d=r[o>>2]|0,x=(r[n>>2]|0)-d|0,n=x>>2,Bt(A,x>>3>>>0<i>>>1>>>0?n>>>0<e>>>0?e:n:i,(r[a>>2]|0)-d>>3,t+16|0),t=A+8|0,a=r[t>>2]|0,r[a>>2]=r[l>>2],n=l+4|0,r[a+4>>2]=r[n>>2],r[l>>2]=0,r[n>>2]=0,r[t>>2]=a+8,St(o,A),Ct(A);break}else Et(A,o,1),x=A+4|0,d=r[x>>2]|0,r[d>>2]=r[l>>2],t=l+4|0,r[d+4>>2]=r[t>>2],r[l>>2]=0,r[t>>2]=0,r[x>>2]=d+8,zt(A);while(0);rt(l),v=c}function sc(t,e){t=t|0,e=e|0;var i=0,n=0;i=v,v=v+48|0,n=i,r[t>>2]=e,u[t+4>>0]=0,Uo(t+8|0,e),Uo(t+20|0,e),j0(n,256,0,0),K4(t+32|0,e,n),G0(n),v=i}function Qs(t){t=t|0,rm(t+32|0),_o(t+20|0),_o(t+8|0)}function oc(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)&&(w0[r[(r[t>>2]|0)+8>>2]&255](t),qt(t))}function fc(t,e,i){t=t|0,e=e|0,i=i|0;var n=0,o=0,a=0,A=0;n=v,v=v+16|0,o=n+4|0,A=n,a=b(12)|0,em(a,e,i),r[A>>2]=0,r[o>>2]=r[A>>2],im(t,a,o),v=n}function ac(t){t=t|0,We(t),Ln(t+4784|0)}function Ac(t,e,i){t=t|0,e=e|0,i=i|0;var n=0,o=0,a=0,A=0;n=v,v=v+16|0,o=n+4|0,A=n,a=b(12)|0,um(a,e,i),r[A>>2]=0,r[o>>2]=r[A>>2],cm(t,a,o),v=n}function hc(t){t=t|0,We(t),wm(t+4784|0)}function lc(t,e,i){t=t|0,e=e|0,i=i|0;var n=0,o=0,a=0,A=0;n=v,v=v+16|0,o=n+4|0,A=n,a=b(12)|0,Zm(a,e,i),r[A>>2]=0,r[o>>2]=r[A>>2],Fm(t,a,o),v=n}function uc(t){t=t|0,We(t),Co(t+4784|0)}function cc(t,e,i){t=t|0,e=e|0,i=i|0;var n=0,o=0,a=0,A=0;n=v,v=v+16|0,o=n+4|0,A=n,a=b(12)|0,Em(a,e,i),r[A>>2]=0,r[o>>2]=r[A>>2],zm(t,a,o),v=n}function mc(t){t=t|0,We(t),Hm(t+4784|0)}function vc(t,e){return t=t|0,e=e|0,(Ve(t,e)|0)^1|0}function pc(){return!(u[21456]|0)&&Gr(21456)|0&&(ke(21536,6,20,2),Er(21456)),21536}function Ve(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 qs(){return!(u[21464]|0)&&Gr(21464)|0&&(ke(21548,7,8,2),Er(21464)),21548}function $s(){return!(u[21472]|0)&&Gr(21472)|0&&(ke(21560,8,6,2),Er(21472)),21560}function dc(t){t=t|0,At(t),$(t)}function yc(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 Mc(t,e,i){t=t|0,e=e|0,i=i|0;var n=0,o=0;i=v,v=v+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,xc(t,n),v=i}function re(t){t=t|0,r[t>>2]=4644}function gc(t,e){t=t|0,e=e|0;var i=0,n=0,o=0,a=0,A=0,l=0,c=0;if(c=v,v=v+16|0,a=c,i=r[t+8>>2]|0,A=r[t+12>>2]|0,(i|0)!=(A|0)){l=a+4|0;do n=r[i>>2]|0,r[a>>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=Oe[r[(r[n>>2]|0)+12>>2]&63](n,e)|0,rt(a),i=i+8|0;while((i|0)!=(A|0))}return i=t+20|0,u[i>>0]|0&&(u[i>>0]=0,Bn(r[t+4>>2]|0)),v=c,e|0}function Ks(t){t=t|0,r[t>>2]=4624,bs(t+8|0),kr(t)}function _c(t){t=t|0,Ks(t),$(t)}function kr(t){t=t|0}function Rc(t){t=t|0,ks()}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)&&(w0[r[(r[t>>2]|0)+8>>2]&255](t),qt(t))}function bs(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,A0(e,(r[t+8>>2]|0)-e|0)}}function xc(t,e){t=t|0,e=e|0}function wc(t){t=t|0,C0(t),$(t)}function Zc(t){t=t|0,t=r[t+12>>2]|0,t|0&&w0[r[(r[t>>2]|0)+8>>2]&255](t)}function Fc(t,e){return t=t|0,e=e|0,((r[e+4>>2]|0)==8546?t+12|0:0)|0}function kc(t){t=t|0,A0(t,16)}function Nc(t,e){t=t|0,e=e|0,Ot(t),r[t>>2]=4692,r[t+4>>2]=e,We(t+8|0)}function Vc(t,e,i){t=t|0,e=e|0,i=i|0;var n=0,o=0;i=v,v=v+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,Jt(t,n),v=i}function Et(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 Bt(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 St(t,e){t=t|0,e=e|0;var i=0,n=0,o=0,a=0,A=0,l=0,c=0;if(l=r[t>>2]|0,c=t+4|0,i=r[c>>2]|0,A=e+4|0,(i|0)==(l|0))o=A,a=t,n=r[A>>2]|0,i=l;else{n=r[A>>2]|0;do a=i,i=i+-8|0,r[n+-8>>2]=r[i>>2],a=a+-4|0,r[n+-4>>2]=r[a>>2],r[i>>2]=0,r[a>>2]=0,n=(r[A>>2]|0)+-8|0,r[A>>2]=n;while((i|0)!=(l|0));o=A,a=t,i=r[t>>2]|0}r[a>>2]=n,r[o>>2]=i,l=e+8|0,A=r[c>>2]|0,r[c>>2]=r[l>>2],r[l>>2]=A,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 Ct(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&&A0(e,(r[t+12>>2]|0)-e|0)}function It(t){return t=t|0,536870911}function Ot(t){t=t|0,r[t>>2]=4716}function We(t){t=t|0,Ec(t),zc(t+3980|0),Bc(t+4380|0),u[t+4780>>0]=0,u[t+4781>>0]=0}function to(t){t=t|0,r[t>>2]=4692,Te(t+8|0),vt(t)}function Wc(t){t=t|0,to(t),$(t)}function Tc(t,e){return t=t|0,e=e|0,e|0}function Xc(t,e){return t=t|0,e=e|0,Xe(t+8|0,r[t+4>>2]|0,e)|0}function vt(t){t=t|0}function Uc(t){t=t|0,vt(t),$(t)}function Gc(t,e){return t=t|0,e=e|0,e|0}function Ec(t){t=t|0;var e=0,i=0;ro(t),eo(t+52|0),eo(t+436|0),j0(t+852|0,64,0,0),u[t+3976>>0]=0,e=t+20|0,i=e+32|0;do B[e>>1]=0,e=e+2|0;while((e|0)<(i|0));e=b(44)|0,j0(e,256,0,0),r[t+896>>2]=e,e=b(44)|0,j0(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,j0(i,256,0,0),r[t+904+(e<<2)>>2]=i,i=b(44)|0,j0(i,256,0,0),r[t+1928+(e<<2)>>2]=i,i=b(44)|0,j0(i,256,0,0),r[t+2952+(e<<2)>>2]=i,e=e+1|0;while(e>>>0<256)}function zc(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 Bc(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 Sc(t){t=t|0,dt(t+320|0),dt(t+240|0),dt(t+160|0),dt(t+80|0),dt(t)}function Cc(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 ro(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 eo(t){t=t|0;var e=0;e=t+384|0;do Ic(t),t=t+24|0;while((t|0)!=(e|0))}function Ic(t){t=t|0,Oc(t)}function Oc(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 a=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,Ss(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,a=0;i=i>>>1,e=a+1|0,i;)a=e;r[n>>2]=(1<<a|0)==(o|0)?a: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 dt(t){t=t|0;var e=0,i=0,n=0,o=0,a=0;if(a=t+36|0,i=r[a>>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,mi(n),mi(a)}function Te(t){t=t|0,Jc(t+4380|0),Sc(t+3980|0),Cc(t)}function Jc(t){t=t|0,ft(t+320|0),ft(t+240|0),ft(t+160|0),ft(t+80|0),ft(t)}function Xe(t,e,i){t=t|0,e=e|0,i=i|0;var n=0,o=0,a=0,A=0,l=0,c=0,d=0,x=0,w=0;if(x=v,v=v+32|0,d=x,n=t+4781|0,u[n>>0]|0||(Pc(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&&no((Y0(e,r[t+904+(((io(t)|0)&255)<<2)>>2]|0)|0)&255,t),c=t+14|0,a=u[c>>0]|0,n=a&7,a=(a&255)>>>3&7,o=Z[16+(a<<3)+n>>0]|0,n=Z[80+(a<<3)+n>>0]|0,l&16?(w=t+20+(o<<1)|0,A=(L0(t+4380|0,e,I[w>>1]|0,o>>>0<3?o:3)|0)&65535,B[w>>1]=A):A=B[t+20+(o<<1)>>1]|0,B[t+12>>1]=A,l&8|0&&(w=t+15|0,u[w>>0]=Y0(e,r[t+1928+(Z[w>>0]<<2)>>2]|0)|0),l&4|0&&(c=Y0(e,r[t+896+(((Z[c>>0]|0)>>>6&1)<<2)>>2]|0)|0,w=t+16|0,u[w>>0]=Nr(c+(u[w>>0]|0)|0)|0),l&2|0&&(w=t+17|0,u[w>>0]=Y0(e,r[t+2952+(Z[w>>0]<<2)>>2]|0)|0),l&1&&(w=t+18|0,B[w>>1]=L0(t+4460|0,e,I[w>>1]|0,0)|0)):(w=u[t+14>>0]|0,n=w&7,w=(w&255)>>>3&7,a=w,o=Z[16+(w<<3)+n>>0]|0,n=Z[80+(w<<3)+n>>0]|0),A=t+52+(o*24|0)|0,l=t+4540|0,c=(a|0)==1&1,a=L0(l,e,so(A)|0,c)|0,r[d>>2]=a,r[t>>2]=(r[t>>2]|0)+a,oo(A,d),A=t+436+(o*24|0)|0,a=so(A)|0,o=On(l)|0,w=t+4620|0,o=L0(w,e,a,(o>>>0<20?o&-2:20)|c)|0,r[d>>2]=o,a=t+4|0,r[a>>2]=(r[a>>2]|0)+o,oo(A,d),d=On(l)|0,d=(On(w)|0)+d|0,w=t+820+(n<<2)|0,d=L0(t+4700|0,e,r[w>>2]|0,(d>>>0<36?d>>>1&2147483646:18)|c)|0,r[t+8>>2]=d,r[w>>2]=d,Yc(t,i);else{u[n>>0]=1,yi(di(e)|0,i,20),jc(d,i),a=t,n=d,o=a+20|0;do u[a>>0]=u[n>>0]|0,a=a+1|0,n=n+1|0;while((a|0)<(o|0));B[t+12>>1]=0}return v=x,i+20|0}function Pc(t){t=t|0,ot(t),ot(t+80|0),ot(t+160|0),ot(t+240|0),ot(t+320|0)}function di(t){return t=t|0,r[t>>2]|0}function yi(t,e,i){t=t|0,e=e|0,i=i|0;var n=0,o=0,a=0,A=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,A=t+12|0,o=(r[A>>2]|0)+n|0,a=o+l|0,l){for(n=o,o=e;u[o>>0]=u[n>>0]|0,n=n+1|0,(n|0)!=(a|0);)o=o+1|0;n=r[c>>2]|0}if(r[c>>2]=n+l,i=i-l|0,i|0){for(Cs(t),o=(r[A>>2]|0)+(r[c>>2]|0)|0,a=o+i|0,n=e+l|0;u[n>>0]=u[o>>0]|0,o=o+1|0,(o|0)!=(a|0);)n=n+1|0;r[c>>2]=(r[c>>2]|0)+i}}function jc(t,e){t=t|0,e=e|0,ro(t),r[t>>2]=Mi(e)|0,r[t+4>>2]=Mi(e+4|0)|0,r[t+8>>2]=Mi(e+8|0)|0,B[t+12>>1]=Vr(e+12|0)|0,no(Jn(e+14|0)|0,t),u[t+15>>0]=Jn(e+15|0)|0,u[t+16>>0]=fo(e+16|0)|0,u[t+17>>0]=fo(e+17|0)|0,B[t+18>>1]=Vr(e+18|0)|0}function io(t){return t=t|0,u[t+14>>0]|0}function no(t,e){t=t|0,e=e|0,u[e+14>>0]=t}function Nr(t){return t=t|0,t&255|0}function so(t){return t=t|0,r[t+8>>2]|0}function oo(t,e){t=t|0,e=e|0;var i=0,n=0,o=0,a=0,A=0,l=0,c=0;c=t+20|0;do if(u[c>>0]|0){if(o=r[e>>2]|0,A=t+8|0,i=r[A>>2]|0,a=t+12|0,n=r[a>>2]|0,(o|0)>=(i|0)){i=t+16|0,(o|0)<(n|0)?(r[i>>2]=n,r[a>>2]=r[e>>2]):r[i>>2]=o,u[c>>0]=0;break}if(r[t+16>>2]=n,r[a>>2]=i,i=r[e>>2]|0,n=r[t>>2]|0,o=t+4|0,a=r[o>>2]|0,(i|0)<(n|0)){r[A>>2]=a,r[o>>2]=n,r[t>>2]=r[e>>2];break}if((i|0)<(a|0)){r[A>>2]=a,r[o>>2]=r[e>>2];break}else{r[A>>2]=i;break}}else{if(l=t+8|0,i=r[l>>2]|0,n=r[e>>2]|0,o=t+4|0,a=r[o>>2]|0,(i|0)>=(n|0)){(a|0)<(n|0)?(r[t>>2]=a,r[o>>2]=r[e>>2]):r[t>>2]=n,u[c>>0]=1;break}if(r[t>>2]=a,r[o>>2]=i,o=t+16|0,a=r[o>>2]|0,A=r[e>>2]|0,i=t+12|0,n=r[i>>2]|0,(a|0)<(A|0)){r[l>>2]=n,r[i>>2]=a,r[o>>2]=r[e>>2];break}if((n|0)<(A|0)){r[l>>2]=n,r[i>>2]=r[e>>2];break}else{r[l>>2]=A;break}}while(0)}function On(t){return t=t|0,r[t>>2]|0}function Yc(t,e){t=t|0,e=e|0;var i=0;_i(Z[t>>0]|Z[t+1>>0]<<8|Z[t+2>>0]<<16|Z[t+3>>0]<<24,e),i=t+4|0,_i(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,_i(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,Wr(Z[i>>0]|Z[i+1>>0]<<8,e+12|0),Pn(io(t)|0,e+14|0),Pn(u[t+15>>0]|0,e+15|0),ao(u[t+16>>0]|0,e+16|0),ao(u[t+17>>0]|0,e+17|0),t=t+18|0,Wr(Z[t>>0]|Z[t+1>>0]<<8,e+18|0)}function Mi(t){return t=t|0,gi(t)|0}function Vr(t){return t=t|0,(u[t+1>>0]<<8|Z[t>>0])&65535|0}function Jn(t){return t=t|0,u[t>>0]|0}function fo(t){return t=t|0,u[t>>0]|0}function gi(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 _i(t,e){t=t|0,e=e|0,Ri(t,e)}function Wr(t,e){t=t|0,e=e|0,u[e+1>>0]=(t&65535)>>>8,u[e>>0]=t}function Pn(t,e){t=t|0,e=e|0,u[e>>0]=t}function ao(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 Jt(t,e){t=t|0,e=e|0}function Dc(t){t=t|0,C0(t),$(t)}function Hc(t){t=t|0,t=r[t+12>>2]|0,t|0&&w0[r[(r[t>>2]|0)+4>>2]&255](t)}function Lc(t,e){return t=t|0,e=e|0,((r[e+4>>2]|0)==9202?t+12|0:0)|0}function Qc(t){t=t|0,A0(t,16)}function qc(t,e){t=t|0,e=e|0,Ot(t),r[t>>2]=4768,r[t+4>>2]=e,jn(t+8|0)}function $c(t,e,i){t=t|0,e=e|0,i=i|0;var n=0,o=0;i=v,v=v+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,Jt(t,n),v=i}function jn(t){t=t|0,t4(t),r4(t+164|0),e4(t+244|0),u[t+324>>0]=0,u[t+325>>0]=0}function Ao(t){t=t|0,r[t>>2]=4768,Yn(t+8|0),vt(t)}function Kc(t){t=t|0,Ao(t),$(t)}function bc(t,e){return t=t|0,e=e|0,Ue(t+8|0,r[t+4>>2]|0,e)|0}function t4(t){t=t|0;var e=0,i=0,n=0,o=0,a=0,A=0,l=0;for(a=v,v=v+16|0,n=a,u[t>>0]=0,j0(t+4|0,516,0,0),j0(t+48|0,6,0,0),r[t+92>>2]=0,r[t+96>>2]=0,i=t+100|0,s4(i),ho(n),o=r[n>>2]|0,n=r[n+4>>2]|0,e=4;A=i,l=A,u[l>>0]=o,u[l+1>>0]=o>>8,u[l+2>>0]=o>>16,u[l+3>>0]=o>>24,A=A+4|0,u[A>>0]=n,u[A+1>>0]=n>>8,u[A+2>>0]=n>>16,u[A+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,v=a}function r4(t){t=t|0,pt(t,32,9,8,0)}function e4(t){t=t|0,st(t,32,9,8,0)}function i4(t){t=t|0,dt(t)}function n4(t){t=t|0,G0(t+48|0),G0(t+4|0)}function s4(t){t=t|0;var e=0;e=t+32|0;do ho(t),t=t+8|0;while((t|0)!=(e|0))}function ho(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 Yn(t){t=t|0,o4(t+244|0),i4(t+164|0),n4(t)}function o4(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,a=0,A=0,l=0;if(n=t+325|0,u[n>>0]|0||(f4(t+244|0),u[n>>0]=1),!(u[t>>0]|0))u[t>>0]=1,yi(di(e)|0,i,8),a=a4(i)|0,A=y0()|0,t=t+100|0,e=t,u[e>>0]=a,u[e+1>>0]=a>>8,u[e+2>>0]=a>>16,u[e+3>>0]=a>>24,t=t+4|0,u[t>>0]=A,u[t+1>>0]=A>>8,u[t+2>>0]=A>>16,u[t+3>>0]=A>>24;else{A=t+92|0;t:do if(r[t+132+(r[A>>2]<<2)>>2]|0){if(a=Y0(e,t+4|0)|0,(a|0)==1){n=L0(t+244|0,e,r[t+132+(r[A>>2]<<2)>>2]|0,1)|0,l=r[A>>2]|0,e=t+100+(l<<3)|0,a=e,o=a,a=a+4|0,n=yt(Z[o>>0]|Z[o+1>>0]<<8|Z[o+2>>0]<<16|Z[o+3>>0]<<24|0,Z[a>>0]|Z[a+1>>0]<<8|Z[a+2>>0]<<16|Z[a+3>>0]<<24|0,n|0,((n|0)<0)<<31>>31|0)|0,a=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]=a,u[e+1>>0]=a>>8,u[e+2>>0]=a>>16,u[e+3>>0]=a>>24,r[t+148+(l<<2)>>2]=0;break}if((a|0)>=511){if((a|0)==512){l=t+96|0,r[l>>2]=(r[l>>2]|0)+1&3,a=t+100+(r[A>>2]<<3)+4|0,a=L0(t+244|0,e,Z[a>>0]|Z[a+1>>0]<<8|Z[a+2>>0]<<16|Z[a+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]=a,u[n+1>>0]=a>>8,u[n+2>>0]=a>>16,u[n+3>>0]=a>>24,n=lo(e)|0,l=r[l>>2]|0,e=t+100+(l<<3)|0,a=e,o=a,a=a+4|0,a=Z[a>>0]|Z[a+1>>0]<<8|Z[a+2>>0]<<16|Z[a+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]=a,u[e+1>>0]=a>>8,u[e+2>>0]=a>>16,u[e+3>>0]=a>>24,r[A>>2]=l,r[t+132+(l<<2)>>2]=0,r[t+148+(r[A>>2]<<2)>>2]=0;break}if((a|0)<=511)break;r[A>>2]=(r[A>>2]|0)+a&3,Ue(t,e,i)|0;break}do if(!a)n=L0(t+244|0,e,0,7)|0,o=t+148+(r[A>>2]<<2)|0,r[o>>2]=(r[o>>2]|0)+1,o=r[A>>2]|0,(r[t+148+(o<<2)>>2]|0)>3&&(r[t+132+(o<<2)>>2]=n,r[t+148+(r[A>>2]<<2)>>2]=0);else{if((a|0)<500)if(n=t+244|0,o=u0(r[t+132+(r[A>>2]<<2)>>2]|0,a)|0,(a|0)<10){n=L0(n,e,o,2)|0;break}else{n=L0(n,e,o,3)|0;break}if((a|0)==500){if(n=L0(t+244|0,e,(r[t+132+(r[A>>2]<<2)>>2]|0)*500|0,4)|0,o=t+148+(r[A>>2]<<2)|0,r[o>>2]=(r[o>>2]|0)+1,o=r[A>>2]|0,(r[t+148+(o<<2)>>2]|0)<=3)break;r[t+132+(o<<2)>>2]=n,r[t+148+(r[A>>2]<<2)>>2]=0;break}if(n=500-a|0,o=t+244|0,a=r[t+132+(r[A>>2]<<2)>>2]|0,(n|0)>-10){n=L0(o,e,u0(a,n)|0,5)|0;break}n=L0(o,e,u0(a,-10)|0,6)|0,o=t+148+(r[A>>2]<<2)|0,r[o>>2]=(r[o>>2]|0)+1,o=r[A>>2]|0,(r[t+148+(o<<2)>>2]|0)>3&&(r[t+132+(o<<2)>>2]=n,r[t+148+(r[A>>2]<<2)>>2]=0)}while(0);l=t+100+(r[A>>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,a=l,u[a>>0]=o,u[a+1>>0]=o>>8,u[a+2>>0]=o>>16,u[a+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=L0(t+244|0,e,0,0)|0,r[t+132+(r[A>>2]<<2)>>2]=e,e=r[A>>2]|0,l=r[t+132+(e<<2)>>2]|0,a=t+100+(e<<3)|0,o=a,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=a,u[n>>0]=l,u[n+1>>0]=l>>8,u[n+2>>0]=l>>16,u[n+3>>0]=l>>24,a=a+4|0,u[a>>0]=o,u[a+1>>0]=o>>8,u[a+2>>0]=o>>16,u[a+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,a=t+100+(r[A>>2]<<3)+4|0,a=L0(t+244|0,e,Z[a>>0]|Z[a+1>>0]<<8|Z[a+2>>0]<<16|Z[a+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]=a,u[n+1>>0]=a>>8,u[n+2>>0]=a>>16,u[n+3>>0]=a>>24,n=lo(e)|0,l=r[l>>2]|0,e=t+100+(l<<3)|0,a=e,o=a,a=a+4|0,a=Z[a>>0]|Z[a+1>>0]<<8|Z[a+2>>0]<<16|Z[a+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]=a,u[e+1>>0]=a>>8,u[e+2>>0]=a>>16,u[e+3>>0]=a>>24,r[A>>2]=l,r[t+132+(l<<2)>>2]=0,r[t+148+(r[A>>2]<<2)>>2]=0;break t}default:{if((n|0)<=2)break t;r[A>>2]=n+2+(r[A>>2]|0)&3,Ue(t,e,i)|0;break t}}while(0);A4(t+100+(r[A>>2]<<3)|0,i)}return i+8|0}function f4(t){t=t|0,ot(t)}function a4(t){t=t|0;var e=0,i=0,n=0;return e=v,v=v+16|0,i=e,n=gi(t)|0,h4(i,n,gi(t+4|0)|0),t=r[i>>2]|0,Z0(r[i+4>>2]|0),v=e,t|0}function lo(t){t=t|0;var e=0;return e=(In(t)|0)&65535,((In(t)|0)&65535)<<16|e|0}function A4(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 h4(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 l4(t){t=t|0,C0(t),$(t)}function u4(t){t=t|0,t=r[t+12>>2]|0,t|0&&w0[r[(r[t>>2]|0)+4>>2]&255](t)}function c4(t,e){return t=t|0,e=e|0,((r[e+4>>2]|0)==9890?t+12|0:0)|0}function m4(t){t=t|0,A0(t,16)}function v4(t,e){t=t|0,e=e|0,Ot(t),r[t>>2]=4820,r[t+4>>2]=e,uo(t+8|0)}function p4(t,e,i){t=t|0,e=e|0,i=i|0;var n=0,o=0;i=v,v=v+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,Jt(t,n),v=i}function uo(t){t=t|0,u[t>>0]=0,mo(t+1|0),j0(t+8|0,128,0,0),j0(t+52|0,256,0,0),j0(t+96|0,256,0,0),j0(t+140|0,256,0,0),j0(t+184|0,256,0,0),j0(t+228|0,256,0,0),j0(t+272|0,256,0,0)}function co(t){t=t|0,r[t>>2]=4820,vo(t+8|0),vt(t)}function d4(t){t=t|0,co(t),$(t)}function y4(t,e){return t=t|0,e=e|0,po(t+8|0,r[t+4>>2]|0,e)|0}function mo(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 vo(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 po(t,e,i){t=t|0,e=e|0,i=i|0;var n=0,o=0,a=0,A=0,l=0,c=0,d=0,x=0,w=0;if(x=v,v=v+16|0,c=x,!(u[t>>0]|0))u[t>>0]=1,yi(di(e)|0,i,6),M4(c,i),d=t+1|0,u[d>>0]=u[c>>0]|0,u[d+1>>0]=u[c+1>>0]|0,u[d+2>>0]=u[c+2>>0]|0,u[d+3>>0]=u[c+3>>0]|0,u[d+4>>0]=u[c+4>>0]|0,u[d+5>>0]=u[c+5>>0]|0;else{d=Y0(e,t+8|0)|0,mo(c),d&1?(l=(Y0(e,t+52|0)|0)&255,n=t+1|0,n=(Nr(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),B[c>>1]=n,d&2?(n=(Y0(e,t+96|0)|0)&255,l=t+1|0,n=((Nr((((Z[l>>0]|Z[l+1>>0]<<8)&65535)>>>8)+n|0)|0)&255)<<8,n=(n|I[c>>1])&65535):(l=t+1|0,n=n|(Z[l>>0]|Z[l+1>>0]<<8)&-256),B[c>>1]=n;do if(d&64)if(A=t+1|0,o=(n&255)-((Z[A>>0]|Z[A+1>>0]<<8)&255)|0,d&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=(Nr(((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,B[l>>1]=n,d&16?(n=Y0(e,t+228|0)|0,w=t+3|0,a=t+5|0,a=((o+(B[l>>1]&255)-((Z[w>>0]|Z[w+1>>0]<<8)&255)|0)/2|0)+((Z[a>>0]|Z[a+1>>0]<<8)&255)|0,n=(Nr(((a|0)<1?0:(a|0)>254?255:a&255)+(n&255)|0)|0)&255):(n=t+5|0,n=(Z[n>>0]|Z[n+1>>0]<<8)&255),a=c+4|0,B[a>>1]=n,n=((I[c>>1]|0)>>>8)-(((Z[A>>0]|Z[A+1>>0]<<8)&65535)>>>8)|0,d&8?(o=(Y0(e,t+184|0)|0)&255,w=t+3|0,w=(((Z[w>>0]|Z[w+1>>0]<<8)&65535)>>>8)+n|0,o=((Nr(((w|0)<1?0:(w|0)>254?255:w&255)+o|0)|0)&255)<<8,o=(o|I[l>>1])&65535):(o=t+3|0,o=B[l>>1]|(Z[o>>0]|Z[o+1>>0]<<8)&-256),B[l>>1]=o,d&32){w=Y0(e,t+272|0)|0,e=t+3|0,d=t+5|0,d=((((I[l>>1]|0)>>>8)+n-(((Z[e>>0]|Z[e+1>>0]<<8)&65535)>>>8)|0)/2|0)+(((Z[d>>0]|Z[d+1>>0]<<8)&65535)>>>8)|0,w=((Nr(((d|0)<1?0:(d|0)>254?255:d&255)+(w&255)|0)|0)&255)<<8,B[a>>1]=w|I[a>>1];break}else{w=t+5|0,B[a>>1]=B[a>>1]|(Z[w>>0]|Z[w+1>>0]<<8)&-256;break}else B[c+2>>1]=n,B[c+4>>1]=n;while(0);w=t+1|0,u[w>>0]=u[c>>0]|0,u[w+1>>0]=u[c+1>>0]|0,u[w+2>>0]=u[c+2>>0]|0,u[w+3>>0]=u[c+3>>0]|0,u[w+4>>0]=u[c+4>>0]|0,u[w+5>>0]=u[c+5>>0]|0,g4(w,i)}return v=x,i+6|0}function M4(t,e){t=t|0,e=e|0;var i=0,n=0;n=Vr(e)|0,i=Vr(e+2|0)|0,_4(t,n,i,Vr(e+4|0)|0)}function g4(t,e){t=t|0,e=e|0;var i=0;Wr(Z[t>>0]|Z[t+1>>0]<<8,e),i=t+2|0,Wr(Z[i>>0]|Z[i+1>>0]<<8,e+2|0),t=t+4|0,Wr(Z[t>>0]|Z[t+1>>0]<<8,e+4|0)}function _4(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 R4(t){t=t|0,C0(t),$(t)}function x4(t){t=t|0,t=r[t+12>>2]|0,t|0&&w0[r[(r[t>>2]|0)+4>>2]&255](t)}function w4(t,e){return t=t|0,e=e|0,((r[e+4>>2]|0)==10570?t+12|0:0)|0}function Z4(t){t=t|0,A0(t,16)}function F4(t,e,i){t=t|0,e=e|0,i=i|0,Ot(t),r[t>>2]=4872,r[t+4>>2]=e,N4(t+8|0,i)}function k4(t,e,i){t=t|0,e=e|0,i=i|0;var n=0,o=0;i=v,v=v+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,Jt(t,n),v=i}function N4(t,e){t=t|0,e=e|0,r[t>>2]=r[e>>2],u[t+4>>0]=u[e+4>>0]|0,Mo(t+8|0,e+8|0),Mo(t+20|0,e+20|0),T4(t+32|0,e+32|0)}function yo(t){t=t|0,r[t>>2]=4872,Qs(t+8|0),vt(t)}function V4(t){t=t|0,yo(t),$(t)}function W4(t,e){return t=t|0,e=e|0,D4(t+8|0,r[t+4>>2]|0,e)|0}function Mo(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&&(go(t,n),X4(t,r[e>>2]|0,r[i>>2]|0,n))}function T4(t,e){t=t|0,e=e|0;var i=0,n=0,o=0,a=0,A=0;i=v,v=v+32|0,n=i+24|0,o=i+16|0,A=i+8|0,a=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,P4(A,e),j4(a,e),r[o>>2]=r[A>>2],r[o+4>>2]=r[A+4>>2],r[n>>2]=r[a>>2],r[n+4>>2]=r[a+4>>2],G4(t,o,n,0),v=i}function go(t,e){t=t|0,e=e|0;var i=0;if((U4(t)|0)>>>0<e>>>0)Q0(t);else{i=b(e)|0,r[t+4>>2]=i,r[t>>2]=i,r[t+8>>2]=i+e;return}}function X4(t,e,i,n){t=t|0,e=e|0,i=i|0,n=n|0;var o=0,a=0;a=v,v=v+16|0,o=a,Ro(o,t,n),n=o+4|0,t=i-e|0,(t|0)>0&&(ht(r[n>>2]|0,e|0,t|0)|0,r[n>>2]=(r[n>>2]|0)+t),xo(o),v=a}function _o(t){t=t|0;var e=0,i=0;e=r[t>>2]|0,i=e,e|0&&(r[t+4>>2]=i,A0(e,(r[t+8>>2]|0)-i|0))}function U4(t){return t=t|0,2147483647}function Ro(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 xo(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,a=0,A=0,l=0,c=0,d=0,x=0,w=0,N=0,G=0,E=0,U=0;if(U=v,v=v+96|0,E=U+80|0,w=U+64|0,c=U+48|0,d=U+40|0,x=U+8|0,l=U,N=U+32|0,G=U+16|0,A=e,a=r[A>>2]|0,A=r[A+4>>2]|0,o=i,i=r[o>>2]|0,o=r[o+4>>2]|0,n=a,(o|0)==(A|0)?A=0:A=((o-(r[i>>2]|0)|0)/44|0)+((i-a>>2)*93|0)+((A-(r[a>>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,A>>>0>i>>>0&&wo(t,A-i|0),Ge(d,t),Ge(l,t),o=l,i=r[o>>2]|0,o=r[o+4>>2]|0,a=x,r[a>>2]=i,r[a+4>>2]=o,a=i,A|0&&(i=((o-(r[i>>2]|0)|0)/44|0)+A|0,(i|0)>0?(l=(i>>>0)/93|0,A=a+(l<<2)|0,r[x>>2]=A,i=(r[A>>2]|0)+((i-(l*93|0)|0)*44|0)|0):(i=92-i|0,l=a+(((i|0)/-93|0)<<2)|0,r[x>>2]=l,i=(r[l>>2]|0)+((92-((i|0)%93|0)|0)*44|0)|0),r[x+4>>2]=i),r[w>>2]=r[d>>2],r[w+4>>2]=r[d+4>>2],r[E>>2]=r[x>>2],r[E+4>>2]=r[x+4>>2],Dn(c,w,E),Zo(E,c),Fo(w,c),xi(E,w)|0){a=G+4|0,A=e+4|0;do{if(ko(N,E),No(G,t,N),i=r[G>>2]|0,(i|0)!=(r[a>>2]|0)){o=r[A>>2]|0;do Sn(i,o),i=(r[G>>2]|0)+44|0,r[G>>2]=i,o=o+44|0,r[A>>2]=o,(o-(r[n>>2]|0)|0)==4092&&(n=n+4|0,r[e>>2]=n,o=r[n>>2]|0,r[A>>2]=o);while((i|0)!=(r[a>>2]|0))}Vo(G),Wo(E)|0}while(xi(E,w)|0)}v=U}function E4(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&&A0(e,(r[t+12>>2]|0)-e|0)}function wo(t,e){t=t|0,e=e|0;var i=0,n=0,o=0,a=0,A=0,l=0,c=0,d=0,x=0,w=0,N=0,G=0,E=0,U=0,e0=0,Y=0,J=0,t0=0,S=0,M0=0,W0=0,g0=0,f0=0,N0=0,i0=0;N0=v,v=v+64|0,t0=N0+52|0,J=N0+48|0,S=N0+28|0,M0=N0+24|0,W0=N0+20|0,E=N0,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,A=(e0>>>0)/93|0,A=A+((e0-(A*93|0)|0)!=0&1)|0,e0=t+16|0,n=r[e0>>2]|0,l=(n>>>0)/93|0,U=A>>>0<l>>>0?A:l,e=A-U|0,a=i;t:do if(e)if(Y=t+12|0,n=r[Y>>2]|0,o=n-(r[t>>2]|0)|0,i=a-c>>2,e>>>0>((o>>2)-i|0)>>>0){G=o>>1,N=i+e|0,ur(E,G>>>0<N>>>0?N:G,i-U|0,t+12|0);do r[t0>>2]=b(4092)|0,S4(E,t0),e=e+-1|0;while(e|0);if(!U)i=r[f0>>2]|0;else{l=E+8|0,c=E+12|0,d=E+4|0,x=E+16|0,w=S+4|0,N=S+8|0,G=S+12|0,A=U,e=r[l>>2]|0,i=r[f0>>2]|0;do{a=r[c>>2]|0,n=a;do if((e|0)==(a|0)){if(o=r[d>>2]|0,a=r[E>>2]|0,e=a,o>>>0<=a>>>0){e=n-e|0,e=e|0?e>>1:1,ur(S,e,e>>>2,r[x>>2]|0),r[M0>>2]=r[d>>2],r[W0>>2]=r[l>>2],r[J>>2]=r[M0>>2],r[t0>>2]=r[W0>>2],Tr(S,J,t0),e=r[E>>2]|0,r[E>>2]=r[S>>2],r[S>>2]=e,e=r[d>>2]|0,r[d>>2]=r[w>>2],r[w>>2]=e,e=r[l>>2]|0,r[l>>2]=r[N>>2],r[N>>2]=e,e=r[c>>2]|0,r[c>>2]=r[G>>2],r[G>>2]=e,cr(S),e=r[l>>2]|0;break}i0=o,e=((i0-e>>2)+1|0)/-2|0,a=o+(e<<2)|0,n=n-i0|0,n?(Mt(a|0,o|0,n|0)|0,e=(r[d>>2]|0)+(e<<2)|0):e=a,i0=a+(n>>2<<2)|0,r[l>>2]=i0,r[d>>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,A=A+-1|0}while(A|0)}if(e=r[g0>>2]|0,(e|0)!=(i|0)){do e=e+-4|0,C4(E,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[E>>2],r[E>>2]=i0,i0=E+4|0,r[f0>>2]=r[i0>>2],r[i0>>2]=i,i0=E+8|0,r[g0>>2]=r[i0>>2],r[i0>>2]=e,i0=E+12|0,f0=r[Y>>2]|0,r[Y>>2]=r[i0>>2],r[i0>>2]=f0,r[e0>>2]=(r[e0>>2]|0)+(u0(U,-93)|0),cr(E);break}else{r:do if((n|0)==(a|0))d=18;else{for(;r[t0>>2]=b(4092)|0,z4(t,t0),e=e+-1|0,!!e;)if((r[Y>>2]|0)==(r[g0>>2]|0)){d=18;break r}i=U,e=r[e0>>2]|0}while(0);if((d|0)==18){n=~(A>>>0>l>>>0?l:A),i=e;do r[t0>>2]=b(4092)|0,B4(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+(u0(i,-93)|0),!i)break;l=t+12|0,c=S+4|0,d=S+8|0,x=S+12|0,e=r[g0>>2]|0;do{a=r[f0>>2]|0,A=r[a>>2]|0,a=a+4|0,r[f0>>2]=a,i0=r[Y>>2]|0,n=i0;do if((e|0)==(i0|0)){if(i0=r[t>>2]|0,e=i0,a>>>0<=i0>>>0){e=n-e|0,e=e|0?e>>1:1,ur(S,e,e>>>2,l),r[M0>>2]=r[f0>>2],r[W0>>2]=r[g0>>2],r[J>>2]=r[M0>>2],r[t0>>2]=r[W0>>2],Tr(S,J,t0),e=r[t>>2]|0,r[t>>2]=r[S>>2],r[S>>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[d>>2],r[d>>2]=e,e=r[Y>>2]|0,r[Y>>2]=r[x>>2],r[x>>2]=e,cr(S),e=r[g0>>2]|0;break}i0=a,e=((i0-e>>2)+1|0)/-2|0,o=a+(e<<2)|0,n=n-i0|0,n?(Mt(o|0,a|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]=A,e=(r[g0>>2]|0)+4|0,r[g0>>2]=e,i=i+-1|0}while(i|0)}else if(r[e0>>2]=(u0(U,-93)|0)+n,U|0)for(l=t+12|0,d=t+12|0,x=S+4|0,w=S+8|0,N=S+12|0,e=U,n=c;;){A=r[n>>2]|0,a=n+4|0,r[f0>>2]=a,Y=r[l>>2]|0,n=Y;do if((i|0)==(Y|0)){if(Y=r[t>>2]|0,i=Y,a>>>0<=Y>>>0){i=n-i|0,i=i|0?i>>1:1,ur(S,i,i>>>2,d),r[M0>>2]=r[f0>>2],r[W0>>2]=r[g0>>2],r[J>>2]=r[M0>>2],r[t0>>2]=r[W0>>2],Tr(S,J,t0),i=r[t>>2]|0,r[t>>2]=r[S>>2],r[S>>2]=i,i=r[f0>>2]|0,r[f0>>2]=r[x>>2],r[x>>2]=i,i=r[g0>>2]|0,r[g0>>2]=r[w>>2],r[w>>2]=i,i=r[l>>2]|0,r[l>>2]=r[N>>2],r[N>>2]=i,cr(S),i=r[g0>>2]|0;break}Y=a,i=((Y-i>>2)+1|0)/-2|0,o=a+(i<<2)|0,n=n-Y|0,n?(Mt(o|0,a|0,n|0)|0,i=(r[f0>>2]|0)+(i<<2)|0):i=o,Y=o+(n>>2<<2)|0,r[g0>>2]=Y,r[f0>>2]=i,i=Y}while(0);if(r[i>>2]=A,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);v=N0}function Ge(t,e){t=t|0,e=e|0;var i=0,n=0,o=0,a=0;i=(r[e+16>>2]|0)+(r[e+20>>2]|0)|0,a=r[e+4>>2]|0,n=(i>>>0)/93|0,o=a+(n<<2)|0,(r[e+8>>2]|0)==(a|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 Dn(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 Zo(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 Fo(t,e){t=t|0,e=e|0;var i=0,n=0,o=0,a=0,A=0,l=0,c=0;i=v,v=v+32|0,n=i+24|0,o=i+16|0,A=i+8|0,a=i,l=e+8|0,c=r[l>>2]|0,l=r[l+4>>2]|0,e=A,r[e>>2]=c,r[e+4>>2]=l,e=a,r[e>>2]=c,r[e+4>>2]=l,r[o>>2]=r[A>>2],r[o+4>>2]=r[A+4>>2],r[n>>2]=r[a>>2],r[n+4>>2]=r[a+4>>2],Dn(t,o,n),v=i}function xi(t,e){return t=t|0,e=e|0,(J4(t,e)|0)^1|0}function ko(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)?To(t,n,r[e+12>>2]|0):To(t,n,(r[i>>2]|0)+4092|0)}function No(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 Vo(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 z4(t,e){t=t|0,e=e|0;var i=0,n=0,o=0,a=0,A=0,l=0,c=0,d=0,x=0,w=0,N=0,G=0,E=0,U=0;E=v,v=v+48|0,o=E+32|0,n=E+28|0,l=E+8|0,c=E+4|0,d=E,G=t+8|0,i=r[G>>2]|0,x=t+12|0,N=r[x>>2]|0,a=N;do if((i|0)==(N|0)){if(N=t+4|0,w=r[N>>2]|0,U=r[t>>2]|0,A=U,w>>>0<=U>>>0){i=a-A|0,i=i|0?i>>1:1,ur(l,i,i>>>2,t+12|0),r[c>>2]=r[N>>2],r[d>>2]=r[G>>2],r[n>>2]=r[c>>2],r[o>>2]=r[d>>2],Tr(l,n,o),i=r[t>>2]|0,r[t>>2]=r[l>>2],r[l>>2]=i,i=l+4|0,U=r[N>>2]|0,r[N>>2]=r[i>>2],r[i>>2]=U,i=l+8|0,U=r[G>>2]|0,r[G>>2]=r[i>>2],r[i>>2]=U,i=l+12|0,U=r[x>>2]|0,r[x>>2]=r[i>>2],r[i>>2]=U,cr(l),i=r[G>>2]|0;break}o=w,n=((o-A>>2)+1|0)/-2|0,t=w+(n<<2)|0,o=i-o|0,o?(Mt(t|0,w|0,o|0)|0,i=(r[N>>2]|0)+(n<<2)|0):i=t,U=t+(o>>2<<2)|0,r[G>>2]=U,r[N>>2]=i,i=U}while(0);r[i>>2]=r[e>>2],r[G>>2]=(r[G>>2]|0)+4,v=E}function B4(t,e){t=t|0,e=e|0;var i=0,n=0,o=0,a=0,A=0,l=0,c=0,d=0,x=0,w=0,N=0,G=0,E=0,U=0;E=v,v=v+48|0,n=E+32|0,i=E+28|0,A=E+8|0,l=E+4|0,c=E,G=t+4|0,w=r[G>>2]|0,N=r[t>>2]|0,d=N;do if((w|0)==(N|0)){if(N=t+8|0,x=r[N>>2]|0,a=t+12|0,U=r[a>>2]|0,o=U,x>>>0>=U>>>0){U=o-d|0,U=U|0?U>>1:1,ur(A,U,(U+3|0)>>>2,t+12|0),r[l>>2]=r[G>>2],r[c>>2]=r[N>>2],r[i>>2]=r[l>>2],r[n>>2]=r[c>>2],Tr(A,i,n),i=r[t>>2]|0,r[t>>2]=r[A>>2],r[A>>2]=i,i=A+4|0,U=r[G>>2]|0,r[G>>2]=r[i>>2],r[i>>2]=U,i=A+8|0,U=r[N>>2]|0,r[N>>2]=r[i>>2],r[i>>2]=U,i=A+12|0,U=r[a>>2]|0,r[a>>2]=r[i>>2],r[i>>2]=U,cr(A),i=r[G>>2]|0;break}n=x,t=((o-n>>2)+1|0)/2|0,o=x+(t<<2)|0,n=n-w|0,i=o+(0-(n>>2)<<2)|0,n?(Mt(i|0,w|0,n|0)|0,n=(r[N>>2]|0)+(t<<2)|0):(i=o,n=o),r[G>>2]=i,r[N>>2]=n}else i=w;while(0);r[i+-4>>2]=r[e>>2],r[G>>2]=(r[G>>2]|0)+-4,v=E}function ur(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 S4(t,e){t=t|0,e=e|0;var i=0,n=0,o=0,a=0,A=0,l=0,c=0,d=0,x=0,w=0,N=0,G=0,E=0,U=0;E=v,v=v+48|0,o=E+32|0,n=E+28|0,l=E+8|0,c=E+4|0,d=E,G=t+8|0,i=r[G>>2]|0,x=t+12|0,N=r[x>>2]|0,a=N;do if((i|0)==(N|0)){if(N=t+4|0,w=r[N>>2]|0,U=r[t>>2]|0,A=U,w>>>0<=U>>>0){i=a-A|0,i=i|0?i>>1:1,ur(l,i,i>>>2,r[t+16>>2]|0),r[c>>2]=r[N>>2],r[d>>2]=r[G>>2],r[n>>2]=r[c>>2],r[o>>2]=r[d>>2],Tr(l,n,o),i=r[t>>2]|0,r[t>>2]=r[l>>2],r[l>>2]=i,i=l+4|0,U=r[N>>2]|0,r[N>>2]=r[i>>2],r[i>>2]=U,i=l+8|0,U=r[G>>2]|0,r[G>>2]=r[i>>2],r[i>>2]=U,i=l+12|0,U=r[x>>2]|0,r[x>>2]=r[i>>2],r[i>>2]=U,cr(l),i=r[G>>2]|0;break}o=w,n=((o-A>>2)+1|0)/-2|0,t=w+(n<<2)|0,o=i-o|0,o?(Mt(t|0,w|0,o|0)|0,i=(r[N>>2]|0)+(n<<2)|0):i=t,U=t+(o>>2<<2)|0,r[G>>2]=U,r[N>>2]=i,i=U}while(0);r[i>>2]=r[e>>2],r[G>>2]=(r[G>>2]|0)+4,v=E}function C4(t,e){t=t|0,e=e|0;var i=0,n=0,o=0,a=0,A=0,l=0,c=0,d=0,x=0,w=0,N=0,G=0,E=0,U=0;E=v,v=v+48|0,n=E+32|0,i=E+28|0,A=E+8|0,l=E+4|0,c=E,G=t+4|0,w=r[G>>2]|0,N=r[t>>2]|0,d=N;do if((w|0)==(N|0)){if(N=t+8|0,x=r[N>>2]|0,a=t+12|0,U=r[a>>2]|0,o=U,x>>>0>=U>>>0){U=o-d|0,U=U|0?U>>1:1,ur(A,U,(U+3|0)>>>2,r[t+16>>2]|0),r[l>>2]=r[G>>2],r[c>>2]=r[N>>2],r[i>>2]=r[l>>2],r[n>>2]=r[c>>2],Tr(A,i,n),i=r[t>>2]|0,r[t>>2]=r[A>>2],r[A>>2]=i,i=A+4|0,U=r[G>>2]|0,r[G>>2]=r[i>>2],r[i>>2]=U,i=A+8|0,U=r[N>>2]|0,r[N>>2]=r[i>>2],r[i>>2]=U,i=A+12|0,U=r[a>>2]|0,r[a>>2]=r[i>>2],r[i>>2]=U,cr(A),i=r[G>>2]|0;break}n=x,t=((o-n>>2)+1|0)/2|0,o=x+(t<<2)|0,n=n-w|0,i=o+(0-(n>>2)<<2)|0,n?(Mt(i|0,w|0,n|0)|0,n=(r[N>>2]|0)+(t<<2)|0):(i=o,n=o),r[G>>2]=i,r[N>>2]=n}else i=w;while(0);r[i+-4>>2]=r[e>>2],r[G>>2]=(r[G>>2]|0)+-4,v=E}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&&A0(e,(r[t+12>>2]|0)-e|0)}function Tr(t,e,i){t=t|0,e=e|0,i=i|0;var n=0,o=0,a=0,A=0;if(A=v,v=v+16|0,a=A,o=r[e>>2]|0,I4(a,t+8|0,(r[i>>2]|0)-o>>2),t=r[a>>2]|0,n=a+4|0,(t|0)!=(r[n>>2]|0)){i=o;do r[t>>2]=r[i>>2],t=(r[a>>2]|0)+4|0,r[a>>2]=t,i=i+4|0;while((t|0)!=(r[n>>2]|0));r[e>>2]=i}O4(a),v=A}function I4(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 O4(t){t=t|0,r[r[t+8>>2]>>2]=r[t>>2]}function J4(t,e){return t=t|0,e=e|0,(r[t+4>>2]|0)==(r[e+4>>2]|0)|0}function To(t,e,i){t=t|0,e=e|0,i=i|0,r[t>>2]=e,r[t+4>>2]=i}function P4(t,e){t=t|0,e=e|0;var i=0,n=0,o=0,a=0;a=r[e+4>>2]|0,i=r[e+16>>2]|0,n=(i>>>0)/93|0,o=a+(n<<2)|0,(r[e+8>>2]|0)==(a|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 j4(t,e){t=t|0,e=e|0;var i=0,n=0,o=0,a=0;i=(r[e+16>>2]|0)+(r[e+20>>2]|0)|0,a=r[e+4>>2]|0,n=(i>>>0)/93|0,o=a+(n<<2)|0,(r[e+8>>2]|0)==(a|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 Y4(t){t=t|0;var e=0,i=0,n=0,o=0,a=0,A=0,l=0;if(l=v,v=v+16|0,n=l+8|0,a=l,Xo(n,t),Ge(a,t),o=n+4|0,e=r[o>>2]|0,a=a+4|0,(e|0)!=(r[a>>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[a>>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 A0(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,A=11;break}case 2:{e=93,A=11;break}default:}(A|0)==11&&(r[t+16>>2]=e),v=l}function Xo(t,e){t=t|0,e=e|0;var i=0,n=0,o=0,a=0;a=r[e+4>>2]|0,i=r[e+16>>2]|0,n=(i>>>0)/93|0,o=a+(n<<2)|0,(r[e+8>>2]|0)==(a|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 D4(t,e,i){t=t|0,e=e|0,i=i|0;var n=0,o=0,a=0,A=0,l=0,c=0,d=0;if(d=v,v=v+16|0,c=d,A=t+4|0,u[A>>0]|0){if(o=r[t+20>>2]|0,n=r[t+8>>2]|0,Xo(c,t+32|0),t=t+12|0,(n|0)!=(r[t>>2]|0))for(l=c+4|0,A=n,a=o,n=r[l>>2]|0;o=Z[A>>0]|0,o=H4((Y0(e,n)|0)+o|0)|0,u[a>>0]=o,u[i>>0]=o,u[A>>0]=o,A=A+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),(A|0)!=(r[t>>2]|0);)a=a+1|0}else{if(c=di(e)|0,yi(c,i,r[t>>2]|0),c=r[t>>2]|0,a=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)!=(a|0);)o=o+1|0;n=r[t>>2]|0}u[A>>0]=1,i=i+n|0}return v=d,i|0}function H4(t){return t=t|0,t&255|0}function L4(t){t=t|0,C0(t),$(t)}function Q4(t){t=t|0,t=r[t+12>>2]|0,t|0&&w0[r[(r[t>>2]|0)+4>>2]&255](t)}function q4(t,e){return t=t|0,e=e|0,((r[e+4>>2]|0)==11262?t+12|0:0)|0}function $4(t){t=t|0,A0(t,16)}function Uo(t,e){t=t|0,e=e|0,r[t>>2]=0,r[t+4>>2]=0,r[t+8>>2]=0,e|0&&(go(t,e),b4(t,e))}function K4(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&&tm(t,e,i)}function b4(t,e){t=t|0,e=e|0;var i=0,n=0,o=0;if(o=v,v=v+16|0,n=o,Ro(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));xo(n),v=o}function tm(t,e,i){t=t|0,e=e|0,i=i|0;var n=0,o=0,a=0,A=0,l=0,c=0,d=0,x=0,w=0,N=0,G=0;if(G=v,v=v+96|0,N=G+80|0,d=G+64|0,A=G+48|0,l=G+40|0,c=G+8|0,o=G,x=G+32|0,w=G+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&&wo(t,e-n|0),Ge(l,t),Ge(o,t),n=r[o>>2]|0,o=r[o+4>>2]|0,a=c,r[a>>2]=n,r[a+4>>2]=o,a=n,e|0&&(n=((o-(r[n>>2]|0)|0)/44|0)+e|0,(n|0)>0?(e=(n>>>0)/93|0,a=a+(e<<2)|0,r[c>>2]=a,n=(r[a>>2]|0)+((n-(e*93|0)|0)*44|0)|0):(n=92-n|0,e=a+(((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[d>>2]=r[l>>2],r[d+4>>2]=r[l+4>>2],r[N>>2]=r[c>>2],r[N+4>>2]=r[c+4>>2],Dn(A,d,N),Zo(N,A),Fo(d,A),xi(N,d)|0){o=w+4|0;do{if(ko(x,N),No(w,t,x),n=r[w>>2]|0,(n|0)!=(r[o>>2]|0))do Sn(n,i),n=(r[w>>2]|0)+44|0,r[w>>2]=n;while((n|0)!=(r[o>>2]|0));Vo(w),Wo(N)|0}while(xi(N,d)|0)}v=G}function rm(t){t=t|0;var e=0,i=0;if(Y4(t),e=r[t+4>>2]|0,i=r[t+8>>2]|0,(e|0)!=(i|0))do A0(r[e>>2]|0,4092),e=e+4|0;while((e|0)!=(i|0));E4(t)}function em(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 im(t,e,i){t=t|0,e=e|0,i=i|0;var n=0,o=0;i=v,v=v+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),v=i}function nm(t,e){return t=t|0,e=e|0,om(r[t+8>>2]|0,r[t+4>>2]|0,e)|0}function Go(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&&(fm(e),$(e)),kr(t)}function sm(t){t=t|0,Go(t),$(t)}function om(t,e,i){return t=t|0,e=e|0,i=i|0,Hn(t+4784|0,e,Xe(t,e,i)|0)|0}function Hn(t,e,i){return t=t|0,e=e|0,i=i|0,u[t>>0]|0&&(Bn(e),u[t>>0]=0),i|0}function fm(t){t=t|0,Te(t)}function wi(t,e){t=t|0,e=e|0}function am(t){t=t|0,C0(t),$(t)}function Am(t){t=t|0,t=r[t+12>>2]|0,t|0&&w0[r[(r[t>>2]|0)+8>>2]&255](t)}function hm(t,e){return t=t|0,e=e|0,((r[e+4>>2]|0)==12004?t+12|0:0)|0}function lm(t){t=t|0,A0(t,16)}function Ln(t){t=t|0,u[t>>0]=1}function um(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 cm(t,e,i){t=t|0,e=e|0,i=i|0;var n=0,o=0;i=v,v=v+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),v=i}function mm(t,e){return t=t|0,e=e|0,pm(r[t+8>>2]|0,r[t+4>>2]|0,e)|0}function Eo(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&&(ym(e),$(e)),kr(t)}function vm(t){t=t|0,Eo(t),$(t)}function pm(t,e,i){return t=t|0,e=e|0,i=i|0,dm(t+4784|0,e,Xe(t,e,i)|0)|0}function dm(t,e,i){return t=t|0,e=e|0,i=i|0,Hn(t+328|0,e,Ue(t,e,i)|0)|0}function ym(t){t=t|0,Mm(t+4784|0),Te(t)}function Mm(t){t=t|0,Yn(t)}function gm(t){t=t|0,C0(t),$(t)}function _m(t){t=t|0,t=r[t+12>>2]|0,t|0&&w0[r[(r[t>>2]|0)+8>>2]&255](t)}function Rm(t,e){return t=t|0,e=e|0,((r[e+4>>2]|0)==12827?t+12|0:0)|0}function xm(t){t=t|0,A0(t,16)}function wm(t){t=t|0,jn(t),Ln(t+328|0)}function Zm(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 Fm(t,e,i){t=t|0,e=e|0,i=i|0;var n=0,o=0;i=v,v=v+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),v=i}function km(t,e){return t=t|0,e=e|0,Vm(r[t+8>>2]|0,r[t+4>>2]|0,e)|0}function zo(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&&(Wm(e),$(e)),kr(t)}function Nm(t){t=t|0,zo(t),$(t)}function Vm(t,e,i){return t=t|0,e=e|0,i=i|0,Bo(t+4784|0,e,Xe(t,e,i)|0)|0}function Bo(t,e,i){return t=t|0,e=e|0,i=i|0,Hn(t+316|0,e,po(t,e,i)|0)|0}function Wm(t){t=t|0,So(t+4784|0),Te(t)}function So(t){t=t|0,vo(t)}function Tm(t){t=t|0,C0(t),$(t)}function Xm(t){t=t|0,t=r[t+12>>2]|0,t|0&&w0[r[(r[t>>2]|0)+8>>2]&255](t)}function Um(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,A0(t,16)}function Co(t){t=t|0,uo(t),Ln(t+316|0)}function Em(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 zm(t,e,i){t=t|0,e=e|0,i=i|0;var n=0,o=0;i=v,v=v+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),v=i}function Bm(t,e){return t=t|0,e=e|0,Cm(r[t+8>>2]|0,r[t+4>>2]|0,e)|0}function Io(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&&(Om(e),$(e)),kr(t)}function Sm(t){t=t|0,Io(t),$(t)}function Cm(t,e,i){return t=t|0,e=e|0,i=i|0,Im(t+4784|0,e,Xe(t,e,i)|0)|0}function Im(t,e,i){return t=t|0,e=e|0,i=i|0,Bo(t+328|0,e,Ue(t,e,i)|0)|0}function Om(t){t=t|0,Jm(t+4784|0),Te(t)}function Jm(t){t=t|0,So(t+328|0),Yn(t)}function Pm(t){t=t|0,C0(t),$(t)}function jm(t){t=t|0,t=r[t+12>>2]|0,t|0&&w0[r[(r[t>>2]|0)+8>>2]&255](t)}function Ym(t,e){return t=t|0,e=e|0,((r[e+4>>2]|0)==14573?t+12|0:0)|0}function Dm(t){t=t|0,A0(t,16)}function Hm(t){t=t|0,jn(t),Co(t+328|0)}function Lm(t){return t=t|0,t+20|0}function Qm(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 qm(t,e){t=t|0,e=e|0,r[t>>2]=e,r[t+4>>2]=0,r[t+8>>2]=-1}function $m(t,e){t=t|0,e=e|0;var i=0,n=0,o=0,a=0;i=v,v=v+16|0,n=i+4|0,a=i,o=b(24)|0,l3(o,e),r[a>>2]=0,r[n>>2]=r[a>>2],u3(t,o,n),v=i}function Ee(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)&&(w0[r[(r[t>>2]|0)+8>>2]&255](t),qt(t))}function Km(t,e,i){t=t|0,e=e|0,i=i|0;var n=0,o=0;i=v,v=v+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,bm(t,n),v=i}function Qn(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)&&(w0[r[(r[t>>2]|0)+8>>2]&255](t),qt(t))}function bm(t,e){t=t|0,e=e|0}function t3(t){t=t|0,C0(t),$(t)}function r3(t){t=t|0,t=r[t+12>>2]|0,t|0&&$(t)}function e3(t,e){return t=t|0,e=e|0,((r[e+4>>2]|0)==14966?t+12|0:0)|0}function i3(t){t=t|0,A0(t,16)}function n3(t,e,i){t=t|0,e=e|0,i=i|0;var n=0,o=0;i=v,v=v+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,s3(t,n),v=i}function Oo(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)&&(w0[r[(r[t>>2]|0)+8>>2]&255](t),qt(t))}function s3(t,e){t=t|0,e=e|0}function o3(t){t=t|0,C0(t),$(t)}function f3(t){t=t|0,t=r[t+12>>2]|0,t|0&&(h3(t),$(t))}function a3(t,e){return t=t|0,e=e|0,((r[e+4>>2]|0)==15127?t+12|0:0)|0}function A3(t){t=t|0,A0(t,16)}function h3(t){t=t|0}function l3(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 u3(t,e,i){t=t|0,e=e|0,i=i|0;var n=0,o=0;i=v,v=v+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,p3(t,n),v=i}function c3(t,e){t=t|0,e=e|0;var i=0,n=0,o=0,a=0,A=0,l=0,c=0;if(c=v,v=v+16|0,a=c,i=r[t+8>>2]|0,A=r[t+12>>2]|0,(i|0)!=(A|0)){l=a+4|0;do n=r[i>>2]|0,r[a>>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=Oe[r[(r[n>>2]|0)+12>>2]&63](n,e)|0,rt(a),i=i+8|0;while((i|0)!=(A|0))}return i=t+20|0,u[i>>0]|0&&(u[i>>0]=0,v3(r[t+4>>2]|0)),v=c,e|0}function Jo(t){t=t|0,r[t>>2]=5172,bs(t+8|0),kr(t)}function m3(t){t=t|0,Jo(t),$(t)}function v3(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 p3(t,e){t=t|0,e=e|0}function d3(t){t=t|0,C0(t),$(t)}function y3(t){t=t|0,t=r[t+12>>2]|0,t|0&&w0[r[(r[t>>2]|0)+8>>2]&255](t)}function M3(t,e){return t=t|0,e=e|0,((r[e+4>>2]|0)==15450?t+12|0:0)|0}function g3(t){t=t|0,A0(t,16)}function qn(t){t=t|0;var e=0,i=0,n=0,o=0,a=0,A=0,l=0,c=0,d=0,x=0;c=v,v=v+32|0,n=c+12|0,o=c,e=c+8|0,A=b(180)|0,_3(A,r[t+4>>2]|0),a=t+8|0,r[e>>2]=0,r[n>>2]=r[e>>2],R3(o,A,n),A=t+12|0,e=r[A>>2]|0,l=t+16|0;do if(e>>>0>=(r[l>>2]|0)>>>0)if(e=(e-(r[a>>2]|0)>>3)+1|0,i=It(a)|0,i>>>0<e>>>0)Q0(a);else{d=r[a>>2]|0,x=(r[l>>2]|0)-d|0,l=x>>2,Bt(n,x>>3>>>0<i>>>1>>>0?l>>>0<e>>>0?e:l:i,(r[A>>2]|0)-d>>3,t+16|0),l=n+8|0,A=r[l>>2]|0,r[A>>2]=r[o>>2],t=o+4|0,r[A+4>>2]=r[t>>2],r[o>>2]=0,r[t>>2]=0,r[l>>2]=A+8,St(a,n),Ct(n);break}else Et(n,a,1),x=n+4|0,d=r[x>>2]|0,r[d>>2]=r[o>>2],l=o+4|0,r[d+4>>2]=r[l>>2],r[o>>2]=0,r[l>>2]=0,r[x>>2]=d+8,zt(n);while(0);rt(o),v=c}function Zi(t){t=t|0;var e=0,i=0,n=0,o=0,a=0,A=0,l=0,c=0,d=0,x=0;c=v,v=v+32|0,n=c+12|0,o=c,e=c+8|0,A=b(180)|0,S3(A,r[t+4>>2]|0),a=t+8|0,r[e>>2]=0,r[n>>2]=r[e>>2],C3(o,A,n),A=t+12|0,e=r[A>>2]|0,l=t+16|0;do if(e>>>0>=(r[l>>2]|0)>>>0)if(e=(e-(r[a>>2]|0)>>3)+1|0,i=It(a)|0,i>>>0<e>>>0)Q0(a);else{d=r[a>>2]|0,x=(r[l>>2]|0)-d|0,l=x>>2,Bt(n,x>>3>>>0<i>>>1>>>0?l>>>0<e>>>0?e:l:i,(r[A>>2]|0)-d>>3,t+16|0),l=n+8|0,A=r[l>>2]|0,r[A>>2]=r[o>>2],t=o+4|0,r[A+4>>2]=r[t>>2],r[o>>2]=0,r[t>>2]=0,r[l>>2]=A+8,St(a,n),Ct(n);break}else Et(n,a,1),x=n+4|0,d=r[x>>2]|0,r[d>>2]=r[o>>2],l=o+4|0,r[d+4>>2]=r[l>>2],r[o>>2]=0,r[l>>2]=0,r[x>>2]=d+8,zt(n);while(0);rt(o),v=c}function _3(t,e){t=t|0,e=e|0,Ot(t),r[t>>2]=5220,r[t+4>>2]=e,x3(t+8|0)}function R3(t,e,i){t=t|0,e=e|0,i=i|0;var n=0,o=0;i=v,v=v+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,Jt(t,n),v=i}function x3(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,F3(t+164|0)}function Po(t){t=t|0,r[t>>2]=5220,k3(t+8|0),vt(t)}function w3(t){t=t|0,Po(t),$(t)}function Z3(t,e){return t=t|0,e=e|0,N3(t+8|0,r[t+4>>2]|0,e)|0}function F3(t){t=t|0,u[t+4>>0]=0}function k3(t){t=t|0,ft(t+80|0),dt(t)}function N3(t,e,i){t=t|0,e=e|0,i=i|0;var n=0,o=0,a=0;return a=v,v=v+16|0,n=a,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,_i(e,i)):(se(ne(e)|0,i,4),r[n>>2]=Mi(i)|0),W3(o,n),v=a,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=(T3(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 W3(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 T3(t,e,i){t=t|0,e=e|0,i=i|0;var n=0;i=$n(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=$n(e,(r[t+68>>2]|0)+((i+-1|0)*44|0)|0)|0,n=i<<n|(jo(e,n)|0)):n=$n(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=X3(e,t+48|0)|0;while(0);return i|0}function $n(t,e){t=t|0,e=e|0;var i=0,n=0,o=0,a=0,A=0,l=0,c=0,d=0,x=0,w=0,N=0,G=0;if(N=t+8|0,w=r[N>>2]|0,o=r[e+16>>2]|0,o){if(n=t+4|0,i=r[n>>2]|0,x=w>>>15,r[N>>2]=x,c=(i>>>0)/(x>>>0)|0,l=c>>>(r[e+40>>2]|0),a=r[o+(l<<2)>>2]|0,l=(r[o+(l+1<<2)>>2]|0)+1|0,A=a+1|0,d=r[e+8>>2]|0,l>>>0>A>>>0){o=a,a=l;do A=(a+o|0)>>>1,l=(r[d+(A<<2)>>2]|0)>>>0>c>>>0,o=l?o:A,a=l?A:a,A=o+1|0;while(a>>>0>A>>>0);a=o}o=u0(r[d+(a<<2)>>2]|0,x)|0,(a|0)==(r[e+32>>2]|0)?A=w:A=u0(r[d+(A<<2)>>2]|0,x)|0}else{d=w>>>15,r[N>>2]=d,l=r[e>>2]|0,x=r[e+8>>2]|0,n=t+4|0,i=r[n>>2]|0,c=l>>>1,o=0,A=w,a=0;do G=u0(r[x+(c<<2)>>2]|0,d)|0,w=G>>>0>i>>>0,A=w?G:A,o=w?o:G,a=w?a:c,l=w?c:l,c=(a+l|0)>>>1;while((c|0)!=(a|0))}return r[n>>2]=i-o,G=A-o|0,r[N>>2]=G,G>>>0<16777216&&Fi(t),N=(r[e+12>>2]|0)+(a<<2)|0,r[N>>2]=(r[N>>2]|0)+1,N=e+28|0,G=(r[N>>2]|0)+-1|0,r[N>>2]=G,G||Cn(e),a|0}function jo(t,e){t=t|0,e=e|0;var i=0,n=0,o=0,a=0;return e>>>0>19?(i=(U3(t)|0)&65535,(jo(t,e+-16|0)|0)<<16|i|0):(n=t+4|0,o=r[n>>2]|0,a=t+8|0,i=(r[a>>2]|0)>>>e,r[a>>2]=i,e=(o>>>0)/(i>>>0)|0,r[n>>2]=o-(u0(e,i)|0),i>>>0<16777216&&Fi(t),e|0)}function X3(t,e){t=t|0,e=e|0;var i=0,n=0,o=0,a=0,A=0,l=0;return n=t+8|0,o=r[n>>2]|0,i=u0(o>>>13,r[e+8>>2]|0)|0,a=t+4|0,A=r[a>>2]|0,l=A>>>0>=i>>>0,l?(r[a>>2]=A-i,i=o-i|0,r[n>>2]=i):(r[n>>2]=i,A=e+12|0,r[A>>2]=(r[A>>2]|0)+1),i>>>0<16777216&&Fi(t),A=e+4|0,t=(r[A>>2]|0)+-1|0,r[A>>2]=t,t||Hs(e),l&1|0}function Fi(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 U3(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-(u0(e,n)|0),Fi(t),e&65535|0}function G3(t){t=t|0,C0(t),$(t)}function E3(t){t=t|0,t=r[t+12>>2]|0,t|0&&w0[r[(r[t>>2]|0)+4>>2]&255](t)}function z3(t,e){return t=t|0,e=e|0,((r[e+4>>2]|0)==15904?t+12|0:0)|0}function B3(t){t=t|0,A0(t,16)}function S3(t,e){t=t|0,e=e|0,Ot(t),r[t>>2]=5272,r[t+4>>2]=e,I3(t+8|0)}function C3(t,e,i){t=t|0,e=e|0,i=i|0;var n=0,o=0;i=v,v=v+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,Jt(t,n),v=i}function I3(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,P3(t+164|0)}function Yo(t){t=t|0,r[t>>2]=5272,j3(t+8|0),vt(t)}function O3(t){t=t|0,Yo(t),$(t)}function J3(t,e){return t=t|0,e=e|0,Y3(t+8|0,r[t+4>>2]|0,e)|0}function P3(t){t=t|0,u[t+4>>0]=0}function j3(t){t=t|0,ft(t+80|0),dt(t)}function Y3(t,e,i){t=t|0,e=e|0,i=i|0;var n=0,o=0,a=0;return a=v,v=v+16|0,n=a,u[t+161>>0]|0||ot(t+80|0),o=t+164|0,D3(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]=gi(i)|0),H3(o,n),v=a,i+4|0}function D3(t){return t=t|0,(u[t+4>>0]|0)!=0|0}function H3(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 L3(t){t=t|0,C0(t),$(t)}function Q3(t){t=t|0,t=r[t+12>>2]|0,t|0&&w0[r[(r[t>>2]|0)+4>>2]&255](t)}function q3(t,e){return t=t|0,e=e|0,((r[e+4>>2]|0)==16402?t+12|0:0)|0}function $3(t){t=t|0,A0(t,16)}function K3(t){t=t|0;var e=0,i=0,n=0,o=0,a=0,A=0,l=0,c=0,d=0,x=0;c=v,v=v+32|0,n=c+12|0,o=c,e=c+8|0,A=b(172)|0,t8(A,r[t+4>>2]|0),a=t+8|0,r[e>>2]=0,r[n>>2]=r[e>>2],r8(o,A,n),A=t+12|0,e=r[A>>2]|0,l=t+16|0;do if(e>>>0>=(r[l>>2]|0)>>>0)if(e=(e-(r[a>>2]|0)>>3)+1|0,i=It(a)|0,i>>>0<e>>>0)Q0(a);else{d=r[a>>2]|0,x=(r[l>>2]|0)-d|0,l=x>>2,Bt(n,x>>3>>>0<i>>>1>>>0?l>>>0<e>>>0?e:l:i,(r[A>>2]|0)-d>>3,t+16|0),l=n+8|0,A=r[l>>2]|0,r[A>>2]=r[o>>2],t=o+4|0,r[A+4>>2]=r[t>>2],r[o>>2]=0,r[t>>2]=0,r[l>>2]=A+8,St(a,n),Ct(n);break}else Et(n,a,1),x=n+4|0,d=r[x>>2]|0,r[d>>2]=r[o>>2],l=o+4|0,r[d+4>>2]=r[l>>2],r[o>>2]=0,r[l>>2]=0,r[x>>2]=d+8,zt(n);while(0);rt(o),v=c}function b3(t){t=t|0;var e=0,i=0,n=0,o=0,a=0,A=0,l=0,c=0,d=0,x=0;c=v,v=v+32|0,n=c+12|0,o=c,e=c+8|0,A=b(176)|0,p8(A,r[t+4>>2]|0),a=t+8|0,r[e>>2]=0,r[n>>2]=r[e>>2],d8(o,A,n),A=t+12|0,e=r[A>>2]|0,l=t+16|0;do if(e>>>0>=(r[l>>2]|0)>>>0)if(e=(e-(r[a>>2]|0)>>3)+1|0,i=It(a)|0,i>>>0<e>>>0)Q0(a);else{d=r[a>>2]|0,x=(r[l>>2]|0)-d|0,l=x>>2,Bt(n,x>>3>>>0<i>>>1>>>0?l>>>0<e>>>0?e:l:i,(r[A>>2]|0)-d>>3,t+16|0),l=n+8|0,A=r[l>>2]|0,r[A>>2]=r[o>>2],t=o+4|0,r[A+4>>2]=r[t>>2],r[o>>2]=0,r[t>>2]=0,r[l>>2]=A+8,St(a,n),Ct(n);break}else Et(n,a,1),x=n+4|0,d=r[x>>2]|0,r[d>>2]=r[o>>2],l=o+4|0,r[d+4>>2]=r[l>>2],r[o>>2]=0,r[l>>2]=0,r[x>>2]=d+8,zt(n);while(0);rt(o),v=c}function t8(t,e){t=t|0,e=e|0,Ot(t),r[t>>2]=5324,r[t+4>>2]=e,e8(t+8|0)}function r8(t,e,i){t=t|0,e=e|0,i=i|0;var n=0,o=0;i=v,v=v+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,Jt(t,n),v=i}function e8(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,s8(t+162|0)}function Do(t){t=t|0,r[t>>2]=5324,o8(t+8|0),vt(t)}function i8(t){t=t|0,Do(t),$(t)}function n8(t,e){return t=t|0,e=e|0,f8(t+8|0,r[t+4>>2]|0,e)|0}function s8(t){t=t|0,u[t+1>>0]=0}function o8(t){t=t|0,ft(t+80|0),dt(t)}function f8(t,e,i){t=t|0,e=e|0,i=i|0;var n=0,o=0,a=0;return a=v,v=v+16|0,n=a,u[t+161>>0]|0||ot(t+80|0),o=t+162|0,a8(o)|0?(e=(ie(t+80|0,e,u[o>>0]|0,0)|0)&255,u[n>>0]=e,A8(e,i)):(se(ne(e)|0,i,1),u[n>>0]=h8(i)|0),l8(o,n),v=a,i+1|0}function a8(t){return t=t|0,(u[t+1>>0]|0)!=0|0}function A8(t,e){t=t|0,e=e|0,u[e>>0]=t}function h8(t){return t=t|0,u[t>>0]|0}function l8(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 u8(t){t=t|0,C0(t),$(t)}function c8(t){t=t|0,t=r[t+12>>2]|0,t|0&&w0[r[(r[t>>2]|0)+4>>2]&255](t)}function m8(t,e){return t=t|0,e=e|0,((r[e+4>>2]|0)==16900?t+12|0:0)|0}function v8(t){t=t|0,A0(t,16)}function p8(t,e){t=t|0,e=e|0,Ot(t),r[t>>2]=5376,r[t+4>>2]=e,y8(t+8|0)}function d8(t,e,i){t=t|0,e=e|0,i=i|0;var n=0,o=0;i=v,v=v+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,Jt(t,n),v=i}function y8(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,_8(t+162|0)}function Ho(t){t=t|0,r[t>>2]=5376,R8(t+8|0),vt(t)}function M8(t){t=t|0,Ho(t),$(t)}function g8(t,e){return t=t|0,e=e|0,x8(t+8|0,r[t+4>>2]|0,e)|0}function _8(t){t=t|0,u[t+2>>0]=0}function R8(t){t=t|0,ft(t+80|0),dt(t)}function x8(t,e,i){t=t|0,e=e|0,i=i|0;var n=0,o=0,a=0;return a=v,v=v+16|0,n=a,u[t+161>>0]|0||ot(t+80|0),o=t+162|0,w8(o)|0?(e=(ie(t+80|0,e,B[o>>1]|0,0)|0)&65535,B[n>>1]=e,Z8(e,i)):(se(ne(e)|0,i,2),B[n>>1]=F8(i)|0),k8(o,n),v=a,i+2|0}function w8(t){return t=t|0,(u[t+2>>0]|0)!=0|0}function Z8(t,e){t=t|0,e=e|0,Wr(t,e)}function F8(t){return t=t|0,Vr(t)|0}function k8(t,e){t=t|0,e=e|0;var i=0;i=t+2|0,u[i>>0]|0||(u[i>>0]=1),B[t>>1]=B[e>>1]|0}function N8(t){t=t|0,C0(t),$(t)}function V8(t){t=t|0,t=r[t+12>>2]|0,t|0&&w0[r[(r[t>>2]|0)+4>>2]&255](t)}function W8(t,e){return t=t|0,e=e|0,((r[e+4>>2]|0)==17398?t+12|0:0)|0}function T8(t){t=t|0,A0(t,16)}function X8(t){t=t|0;var e=0,i=0,n=0,o=0,a=0,A=0,l=0,c=0,d=0,x=0;c=v,v=v+32|0,n=c+12|0,o=c,e=c+8|0,A=b(172)|0,G8(A,r[t+4>>2]|0),a=t+8|0,r[e>>2]=0,r[n>>2]=r[e>>2],E8(o,A,n),A=t+12|0,e=r[A>>2]|0,l=t+16|0;do if(e>>>0>=(r[l>>2]|0)>>>0)if(e=(e-(r[a>>2]|0)>>3)+1|0,i=It(a)|0,i>>>0<e>>>0)Q0(a);else{d=r[a>>2]|0,x=(r[l>>2]|0)-d|0,l=x>>2,Bt(n,x>>3>>>0<i>>>1>>>0?l>>>0<e>>>0?e:l:i,(r[A>>2]|0)-d>>3,t+16|0),l=n+8|0,A=r[l>>2]|0,r[A>>2]=r[o>>2],t=o+4|0,r[A+4>>2]=r[t>>2],r[o>>2]=0,r[t>>2]=0,r[l>>2]=A+8,St(a,n),Ct(n);break}else Et(n,a,1),x=n+4|0,d=r[x>>2]|0,r[d>>2]=r[o>>2],l=o+4|0,r[d+4>>2]=r[l>>2],r[o>>2]=0,r[l>>2]=0,r[x>>2]=d+8,zt(n);while(0);rt(o),v=c}function U8(t){t=t|0;var e=0,i=0,n=0,o=0,a=0,A=0,l=0,c=0,d=0,x=0;c=v,v=v+32|0,n=c+12|0,o=c,e=c+8|0,A=b(176)|0,L8(A,r[t+4>>2]|0),a=t+8|0,r[e>>2]=0,r[n>>2]=r[e>>2],Q8(o,A,n),A=t+12|0,e=r[A>>2]|0,l=t+16|0;do if(e>>>0>=(r[l>>2]|0)>>>0)if(e=(e-(r[a>>2]|0)>>3)+1|0,i=It(a)|0,i>>>0<e>>>0)Q0(a);else{d=r[a>>2]|0,x=(r[l>>2]|0)-d|0,l=x>>2,Bt(n,x>>3>>>0<i>>>1>>>0?l>>>0<e>>>0?e:l:i,(r[A>>2]|0)-d>>3,t+16|0),l=n+8|0,A=r[l>>2]|0,r[A>>2]=r[o>>2],t=o+4|0,r[A+4>>2]=r[t>>2],r[o>>2]=0,r[t>>2]=0,r[l>>2]=A+8,St(a,n),Ct(n);break}else Et(n,a,1),x=n+4|0,d=r[x>>2]|0,r[d>>2]=r[o>>2],l=o+4|0,r[d+4>>2]=r[l>>2],r[o>>2]=0,r[l>>2]=0,r[x>>2]=d+8,zt(n);while(0);rt(o),v=c}function G8(t,e){t=t|0,e=e|0,Ot(t),r[t>>2]=5428,r[t+4>>2]=e,z8(t+8|0)}function E8(t,e,i){t=t|0,e=e|0,i=i|0;var n=0,o=0;i=v,v=v+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,Jt(t,n),v=i}function z8(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,C8(t+162|0)}function Lo(t){t=t|0,r[t>>2]=5428,I8(t+8|0),vt(t)}function B8(t){t=t|0,Lo(t),$(t)}function S8(t,e){return t=t|0,e=e|0,O8(t+8|0,r[t+4>>2]|0,e)|0}function C8(t){t=t|0,u[t+1>>0]=0}function I8(t){t=t|0,ft(t+80|0),dt(t)}function O8(t,e,i){t=t|0,e=e|0,i=i|0;var n=0,o=0,a=0;return a=v,v=v+16|0,n=a,u[t+161>>0]|0||ot(t+80|0),o=t+162|0,J8(o)|0?(e=(ie(t+80|0,e,Z[o>>0]|0,0)|0)&255,u[n>>0]=e,Pn(e,i)):(se(ne(e)|0,i,1),u[n>>0]=Jn(i)|0),P8(o,n),v=a,i+1|0}function J8(t){return t=t|0,(u[t+1>>0]|0)!=0|0}function P8(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 j8(t){t=t|0,C0(t),$(t)}function Y8(t){t=t|0,t=r[t+12>>2]|0,t|0&&w0[r[(r[t>>2]|0)+4>>2]&255](t)}function D8(t,e){return t=t|0,e=e|0,((r[e+4>>2]|0)==17896?t+12|0:0)|0}function H8(t){t=t|0,A0(t,16)}function L8(t,e){t=t|0,e=e|0,Ot(t),r[t>>2]=5480,r[t+4>>2]=e,q8(t+8|0)}function Q8(t,e,i){t=t|0,e=e|0,i=i|0;var n=0,o=0;i=v,v=v+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,Jt(t,n),v=i}function q8(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,b8(t+162|0)}function Qo(t){t=t|0,r[t>>2]=5480,tv(t+8|0),vt(t)}function $8(t){t=t|0,Qo(t),$(t)}function K8(t,e){return t=t|0,e=e|0,rv(t+8|0,r[t+4>>2]|0,e)|0}function b8(t){t=t|0,u[t+2>>0]=0}function tv(t){t=t|0,ft(t+80|0),dt(t)}function rv(t,e,i){t=t|0,e=e|0,i=i|0;var n=0,o=0,a=0;return a=v,v=v+16|0,n=a,u[t+161>>0]|0||ot(t+80|0),o=t+162|0,ev(o)|0?(e=(ie(t+80|0,e,I[o>>1]|0,0)|0)&65535,B[n>>1]=e,Wr(e,i)):(se(ne(e)|0,i,2),B[n>>1]=Vr(i)|0),iv(o,n),v=a,i+2|0}function ev(t){return t=t|0,(u[t+2>>0]|0)!=0|0}function iv(t,e){t=t|0,e=e|0;var i=0;i=t+2|0,u[i>>0]|0||(u[i>>0]=1),B[t>>1]=B[e>>1]|0}function nv(t){t=t|0,C0(t),$(t)}function sv(t){t=t|0,t=r[t+12>>2]|0,t|0&&w0[r[(r[t>>2]|0)+4>>2]&255](t)}function ov(t,e){return t=t|0,e=e|0,((r[e+4>>2]|0)==18394?t+12|0:0)|0}function fv(t){t=t|0,A0(t,16)}function uR(){}function av(t){return t=t|0,mv(t)|0}function Av(){return 0}function hv(){return 0}function lv(t){t=t|0,t|0&&(vv(t),$(t))}function ze(){return pv()|0}function uv(){return dv()|0}function cv(){return yv()|0}function qo(){return 0}function mv(t){return t=t|0,3360}function vv(t){t=t|0;var e=0,i=0,n=0,o=0;e=v,v=v+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,Tn(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,Xn(n),Xn(i),Tn(t),v=e}function pv(){return 3360}function dv(){return 3368}function yv(){return 3384}function ki(){return 18579}function Ni(){return 18582}function $o(){return 18584}function Mv(){var t=0;return t=b(16)|0,Fv(t),t|0}function gv(t){t=t|0;var e=0,i=0,n=0,o=0;e=v,v=v+16|0,i=e,o=ze()|0,n=Rv(i)|0,i=xv(i)|0,ws(o|0,n|0,i|0,ki()|0,12,t|0),v=e}function _v(t){return t=t|0,wv(v2[t&3]()|0)|0}function Rv(t){return t=t|0,1}function xv(t){return t=t|0,Zv()|0}function wv(t){return t=t|0,t|0}function Zv(){return 5524}function Fv(t){t=t|0,r[t>>2]=0,r[t+4>>2]=0,r[t+8>>2]=0,r[t+12>>2]=0}function kv(t,e){t=t|0,e=e|0;var i=0,n=0,o=0,a=0,A=0;i=v,v=v+16|0,n=i,o=i+8|0,A=r[e+4>>2]|0,r[n>>2]=r[e>>2],r[n+4>>2]=A,A=ze()|0,a=Vv(o)|0,o=Wv(o)|0,e=bo()|0,br(A|0,t|0,a|0,o|0,e|0,4,Tv(n)|0,0),v=i}function Nv(t,e,i,n){t=t|0,e=e|0,i=i|0,n=n|0;var o=0,a=0;a=Kn(e)|0,e=r[t>>2]|0,o=r[t+4>>2]|0,t=a+(o>>1)|0,o&1&&(e=r[(r[t>>2]|0)+e>>2]|0),o=Ko(i)|0,a=bn(n)|0,Je[e&15](t,o,a)}function Vv(t){return t=t|0,4}function Wv(t){return t=t|0,Xv()|0}function Tv(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 Ko(t){return t=t|0,t|0}function bn(t){return t=t|0,t|0}function Xv(){return 144}function bo(){return 18587}function Uv(t,e){t=t|0,e=e|0;var i=0,n=0,o=0,a=0,A=0;i=v,v=v+16|0,n=i,o=i+8|0,A=r[e+4>>2]|0,r[n>>2]=r[e>>2],r[n+4>>2]=A,A=ze()|0,a=Ev(o)|0,o=zv(o)|0,e=t2()|0,br(A|0,t|0,a|0,o|0,e|0,7,Bv(n)|0,0),v=i}function Gv(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=tf(i)|0,vr[e&15](t,o)}function Ev(t){return t=t|0,3}function zv(t){return t=t|0,Sv()|0}function Bv(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 tf(t){return t=t|0,t|0}function Sv(){return 5528}function t2(){return 18593}function Cv(t,e){t=t|0,e=e|0;var i=0,n=0,o=0,a=0,A=0;i=v,v=v+16|0,n=i,o=i+8|0,A=r[e+4>>2]|0,r[n>>2]=r[e>>2],r[n+4>>2]=A,A=ze()|0,a=Ov(o)|0,o=Jv(o)|0,e=Dv()|0,br(A|0,t|0,a|0,o|0,e|0,41,Pv(n)|0,0),v=i}function Iv(t,e){t=t|0,e=e|0;var i=0,n=0,o=0,a=0;return n=v,v=v+16|0,i=n,a=Kn(e)|0,e=r[t>>2]|0,o=r[t+4>>2]|0,t=a+(o>>1)|0,o&1&&(e=r[(r[t>>2]|0)+e>>2]|0),r[i>>2]=Ei[e&15](t)|0,a=jv(i)|0,v=n,a|0}function Ov(t){return t=t|0,2}function Jv(t){return t=t|0,Yv()|0}function Pv(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 jv(t){return t=t|0,r[t>>2]|0}function Yv(){return 5540}function Dv(){return 18598}function cR(){}function Hv(t){return t=t|0,bv(t)|0}function Lv(){return 0}function Qv(){return 0}function qv(t){t=t|0,t|0&&(t5(t),$(t))}function Be(){return r5()|0}function $v(){return e5()|0}function Kv(){return i5()|0}function bv(t){return t=t|0,3400}function t5(t){t=t|0;var e=0,i=0,n=0,o=0;e=v,v=v+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,Qn(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,Ee(n),r[n>>2]=r[i>>2],r[i>>2]=0,r[n+4>>2]=r[o>>2],r[o>>2]=0,Ee(n),Ee(i),Oo(t+8|0),Qn(t),v=e}function r5(){return 3400}function e5(){return 3408}function i5(){return 3424}function n5(){var t=0;return t=b(24)|0,l5(t),t|0}function s5(t){t=t|0;var e=0,i=0,n=0,o=0;e=v,v=v+16|0,i=e,o=Be()|0,n=f5(i)|0,i=a5(i)|0,ws(o|0,n|0,i|0,ki()|0,13,t|0),v=e}function o5(t){return t=t|0,A5(v2[t&3]()|0)|0}function f5(t){return t=t|0,1}function a5(t){return t=t|0,h5()|0}function A5(t){return t=t|0,t|0}function h5(){return 5548}function l5(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 u5(t,e){t=t|0,e=e|0;var i=0,n=0,o=0,a=0,A=0;i=v,v=v+16|0,n=i,o=i+8|0,A=r[e+4>>2]|0,r[n>>2]=r[e>>2],r[n+4>>2]=A,A=Be()|0,a=m5(o)|0,o=v5(o)|0,e=bo()|0,br(A|0,t|0,a|0,o|0,e|0,5,p5(n)|0,0),v=i}function c5(t,e,i,n){t=t|0,e=e|0,i=i|0,n=n|0;var o=0,a=0;a=r2(e)|0,e=r[t>>2]|0,o=r[t+4>>2]|0,t=a+(o>>1)|0,o&1&&(e=r[(r[t>>2]|0)+e>>2]|0),o=Ko(i)|0,a=bn(n)|0,Je[e&15](t,o,a)}function m5(t){return t=t|0,4}function v5(t){return t=t|0,d5()|0}function p5(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 r2(t){return t=t|0,t|0}function d5(){return 160}function e2(t,e){t=t|0,e=e|0;var i=0,n=0,o=0,a=0,A=0;i=v,v=v+16|0,n=i,o=i+8|0,A=r[e+4>>2]|0,r[n>>2]=r[e>>2],r[n+4>>2]=A,A=Be()|0,a=M5(o)|0,o=g5(o)|0,e=t2()|0,br(A|0,t|0,a|0,o|0,e|0,8,_5(n)|0,0),v=i}function y5(t,e,i){t=t|0,e=e|0,i=i|0;var n=0,o=0;o=r2(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=bn(i)|0,vr[e&15](t,o)}function M5(t){return t=t|0,3}function g5(t){return t=t|0,R5()|0}function _5(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 R5(){return 5552}function x5(t,e){t=t|0,e=e|0;var i=0,n=0,o=0,a=0,A=0;i=v,v=v+16|0,n=i,o=i+8|0,A=r[e+4>>2]|0,r[n>>2]=r[e>>2],r[n+4>>2]=A,A=Be()|0,a=Z5(o)|0,o=F5(o)|0,e=t2()|0,br(A|0,t|0,a|0,o|0,e|0,9,k5(n)|0,0),v=i}function w5(t,e,i){t=t|0,e=e|0,i=i|0;var n=0,o=0;o=r2(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=tf(i)|0,vr[e&15](t,o)}function Z5(t){return t=t|0,3}function F5(t){return t=t|0,N5()|0}function k5(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(){return 5564}function V5(){L1()}function W5(){T5()}function T5(){X5(22144)}function X5(t){t=t|0;var e=0;e=v,v=v+16|0,r[e>>2]=t,rf(),v=e}function rf(){J1(U5()|0,18653),I1(G5()|0,18658,1,1,0),E5(18663),z5(18668),B5(18680),S5(18694),C5(18700),I5(18715),O5(18719),J5(18732),P5(18737),j5(18751),Y5(18757),Fs(D5()|0,18764),Fs(H5()|0,18776),Wn(L5()|0,4,18809),Wn(Q5()|0,2,18822),Wn(q5()|0,4,18837),O1($5()|0,18852),K5(18868),ef(18898),nf(18935),sf(18974),of(19005),ff(19045),af(19074),b5(19112),tp(19142),ef(19181),nf(19213),sf(19246),of(19279),ff(19313),af(19346),rp(19380),ep(19411),ip(19443)}function U5(){return v6()|0}function G5(){return m6()|0}function E5(t){t=t|0;var e=0,i=0;e=v,v=v+16|0,i=e,r[i>>2]=t,t=u6()|0,Qt(t|0,r[i>>2]|0,1,-128<<24>>24|0,127<<24>>24|0),v=e}function z5(t){t=t|0;var e=0,i=0;e=v,v=v+16|0,i=e,r[i>>2]=t,t=h6()|0,Qt(t|0,r[i>>2]|0,1,-128<<24>>24|0,127<<24>>24|0),v=e}function B5(t){t=t|0;var e=0,i=0;e=v,v=v+16|0,i=e,r[i>>2]=t,t=a6()|0,Qt(t|0,r[i>>2]|0,1,0,255),v=e}function S5(t){t=t|0;var e=0,i=0;e=v,v=v+16|0,i=e,r[i>>2]=t,t=o6()|0,Qt(t|0,r[i>>2]|0,2,-32768<<16>>16|0,32767<<16>>16|0),v=e}function C5(t){t=t|0;var e=0,i=0;e=v,v=v+16|0,i=e,r[i>>2]=t,t=n6()|0,Qt(t|0,r[i>>2]|0,2,0,65535),v=e}function I5(t){t=t|0;var e=0,i=0;e=v,v=v+16|0,i=e,r[i>>2]=t,t=e6()|0,Qt(t|0,r[i>>2]|0,4,-2147483648,2147483647),v=e}function O5(t){t=t|0;var e=0,i=0;e=v,v=v+16|0,i=e,r[i>>2]=t,t=t6()|0,Qt(t|0,r[i>>2]|0,4,0,-1),v=e}function J5(t){t=t|0;var e=0,i=0;e=v,v=v+16|0,i=e,r[i>>2]=t,t=Kp()|0,Qt(t|0,r[i>>2]|0,4,-2147483648,2147483647),v=e}function P5(t){t=t|0;var e=0,i=0;e=v,v=v+16|0,i=e,r[i>>2]=t,t=qp()|0,Qt(t|0,r[i>>2]|0,4,0,-1),v=e}function j5(t){t=t|0;var e=0,i=0;e=v,v=v+16|0,i=e,r[i>>2]=t,t=Lp()|0,Zs(t|0,r[i>>2]|0,4),v=e}function Y5(t){t=t|0;var e=0,i=0;e=v,v=v+16|0,i=e,r[i>>2]=t,t=Dp()|0,Zs(t|0,r[i>>2]|0,8),v=e}function D5(){return Yp()|0}function H5(){return jp()|0}function L5(){return Pp()|0}function Q5(){return Jp()|0}function q5(){return Op()|0}function $5(){return Ip()|0}function K5(t){t=t|0;var e=0,i=0,n=0;e=v,v=v+16|0,i=e,r[i>>2]=t,n=Bp()|0,t=Sp()|0,mt(n|0,t|0,r[i>>2]|0),v=e}function ef(t){t=t|0;var e=0,i=0,n=0;e=v,v=v+16|0,i=e,r[i>>2]=t,n=Gp()|0,t=Ep()|0,mt(n|0,t|0,r[i>>2]|0),v=e}function nf(t){t=t|0;var e=0,i=0,n=0;e=v,v=v+16|0,i=e,r[i>>2]=t,n=Tp()|0,t=Xp()|0,mt(n|0,t|0,r[i>>2]|0),v=e}function sf(t){t=t|0;var e=0,i=0,n=0;e=v,v=v+16|0,i=e,r[i>>2]=t,n=Np()|0,t=Vp()|0,mt(n|0,t|0,r[i>>2]|0),v=e}function of(t){t=t|0;var e=0,i=0,n=0;e=v,v=v+16|0,i=e,r[i>>2]=t,n=Zp()|0,t=Fp()|0,mt(n|0,t|0,r[i>>2]|0),v=e}function ff(t){t=t|0;var e=0,i=0,n=0;e=v,v=v+16|0,i=e,r[i>>2]=t,n=Rp()|0,t=xp()|0,mt(n|0,t|0,r[i>>2]|0),v=e}function af(t){t=t|0;var e=0,i=0,n=0;e=v,v=v+16|0,i=e,r[i>>2]=t,n=Mp()|0,t=gp()|0,mt(n|0,t|0,r[i>>2]|0),v=e}function b5(t){t=t|0;var e=0,i=0,n=0;e=v,v=v+16|0,i=e,r[i>>2]=t,n=pp()|0,t=dp()|0,mt(n|0,t|0,r[i>>2]|0),v=e}function tp(t){t=t|0;var e=0,i=0,n=0;e=v,v=v+16|0,i=e,r[i>>2]=t,n=cp()|0,t=mp()|0,mt(n|0,t|0,r[i>>2]|0),v=e}function rp(t){t=t|0;var e=0,i=0,n=0;e=v,v=v+16|0,i=e,r[i>>2]=t,n=hp()|0,t=lp()|0,mt(n|0,t|0,r[i>>2]|0),v=e}function ep(t){t=t|0;var e=0,i=0,n=0;e=v,v=v+16|0,i=e,r[i>>2]=t,n=fp()|0,t=ap()|0,mt(n|0,t|0,r[i>>2]|0),v=e}function ip(t){t=t|0;var e=0,i=0,n=0;e=v,v=v+16|0,i=e,r[i>>2]=t,n=np()|0,t=sp()|0,mt(n|0,t|0,r[i>>2]|0),v=e}function np(){return op()|0}function sp(){return 7}function op(){return 3440}function fp(){return Ap()|0}function ap(){return 7}function Ap(){return 3448}function hp(){return up()|0}function lp(){return 6}function up(){return 3456}function cp(){return vp()|0}function mp(){return 5}function vp(){return 3464}function pp(){return yp()|0}function dp(){return 4}function yp(){return 3472}function Mp(){return _p()|0}function gp(){return 5}function _p(){return 3480}function Rp(){return wp()|0}function xp(){return 4}function wp(){return 3488}function Zp(){return kp()|0}function Fp(){return 3}function kp(){return 3496}function Np(){return Wp()|0}function Vp(){return 2}function Wp(){return 3504}function Tp(){return Up()|0}function Xp(){return 1}function Up(){return 3512}function Gp(){return zp()|0}function Ep(){return 0}function zp(){return 3520}function Bp(){return Cp()|0}function Sp(){return 0}function Cp(){return 3528}function Ip(){return 3536}function Op(){return 3544}function Jp(){return 3576}function Pp(){return 3600}function jp(){return 3624}function Yp(){return 3648}function Dp(){return Hp()|0}function Hp(){return 4144}function Lp(){return Qp()|0}function Qp(){return 4136}function qp(){return $p()|0}function $p(){return 4128}function Kp(){return bp()|0}function bp(){return 4120}function t6(){return r6()|0}function r6(){return 4112}function e6(){return i6()|0}function i6(){return 4104}function n6(){return s6()|0}function s6(){return 4096}function o6(){return f6()|0}function f6(){return 4088}function a6(){return A6()|0}function A6(){return 4072}function h6(){return l6()|0}function l6(){return 4080}function u6(){return c6()|0}function c6(){return 4064}function m6(){return 4056}function v6(){return 4040}function p6(t){t=t|0;var e=0,i=0,n=0,o=0;return e=v,v=v+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=z6(r[i>>2]|0)|0,v=e,t|0}function Pt(){return 21636}function Se(t){return t=t|0,(t+-48|0)>>>0<10|0}function Af(){return 5576}function hf(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 d6(t){t=t|0}function y6(t){return t=t|0,1}function M6(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 g6(t,e,i){t=t|0,e=e|0,i=i|0;var n=0,o=0,a=0,A=0,l=0;n=i+16|0,o=r[n>>2]|0,o?a=5:M6(i)|0?n=0:(o=r[n>>2]|0,a=5);t:do if((a|0)==5){if(l=i+20|0,A=r[l>>2]|0,n=A,(o-A|0)>>>0<e>>>0){n=Ae[r[i+36>>2]&7](i,t,e)|0;break}r:do if((u[i+75>>0]|0)<0|(e|0)==0)a=0,o=t;else{for(A=e;o=A+-1|0,(u[t+o>>0]|0)!=10;)if(o)A=o;else{a=0,o=t;break r}if(n=Ae[r[i+36>>2]&7](i,t,A)|0,n>>>0<A>>>0)break t;a=A,o=t+A|0,e=e-A|0,n=r[l>>2]|0}while(0);ht(n|0,o|0,e|0)|0,r[l>>2]=(r[l>>2]|0)+e,n=a+e|0}while(0);return n|0}function _6(t,e){return t=t|0,e=e|0,e?e=R6(r[e>>2]|0,r[e+4>>2]|0,t)|0:e=0,(e|0?e:t)|0}function R6(t,e,i){t=t|0,e=e|0,i=i|0;var n=0,o=0,a=0,A=0,l=0,c=0,d=0,x=0,w=0,N=0;N=(r[t>>2]|0)+1794895138|0,a=Xr(r[t+8>>2]|0,N)|0,n=Xr(r[t+12>>2]|0,N)|0,o=Xr(r[t+16>>2]|0,N)|0;t:do if(a>>>0<e>>>2>>>0&&(w=e-(a<<2)|0,n>>>0<w>>>0&o>>>0<w>>>0)&&!((o|n)&3|0)){for(w=n>>>2,x=o>>>2,d=0;;){if(l=a>>>1,c=d+l|0,A=c<<1,o=A+w|0,n=Xr(r[t+(o<<2)>>2]|0,N)|0,o=Xr(r[t+(o+1<<2)>>2]|0,N)|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=hf(i,t+o|0)|0,!n)break;if(n=(n|0)<0,(a|0)==1){n=0;break t}d=n?d:c,a=n?l:a-l|0}n=A+x|0,o=Xr(r[t+(n<<2)>>2]|0,N)|0,n=Xr(r[t+(n+1<<2)>>2]|0,N)|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 Xr(t,e){t=t|0,e=e|0;var i=0;return i=Bf(t|0)|0,(e|0?i:t)|0}function x6(t,e,i){t=t|0,e=e|0,i=i|0;var n=0,o=0,a=0;a=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=u0(a,16843009)|0;r:do if(i>>>0>3)do{if(a=r[t>>2]^n,(a&-2139062144^-2139062144)&a+-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 w6(t,e,i){return t=t|0,e=e|0,i=i|0,k6(t,e,i,1,8)|0}function Z6(t,e,i,n,o,a){t=t|0,e=+e,i=i|0,n=n|0,o=o|0,a=a|0;var A=0,l=0,c=0,d=0,x=0,w=0,N=0,G=0,E=0,U=0,e0=0,Y=0,J=0,t0=0,S=0,M0=0,W0=0,g0=0,f0=0,N0=0,i0=0,n0=0,kt=0;kt=v,v=v+560|0,c=kt+32|0,Y=kt+536|0,n0=kt,i0=n0,d=kt+540|0,r[Y>>2]=0,N0=d+12|0,mf(e)|0,A=y0()|0,(A|0)<0?(e=-e,mf(e)|0,f0=1,g0=20247,A=y0()|0):(f0=(o&2049|0)!=0&1,g0=o&2048|0?20250:o&1|0?20253:20248);do if(!0&(A&2146435072|0)==2146435072)n0=(a&32|0)!=0,A=f0+3|0,D0(t,32,i,A,o&-65537),I0(t,g0,f0),I0(t,e!=e|!1?n0?20274:20278:n0?20266:20270,3),D0(t,32,i,A,o^8192);else{if(G=+vf(e,Y)*2,A=G!=0,A&&(r[Y>>2]=(r[Y>>2]|0)+-1),e0=a|32,(e0|0)==97){w=a&32,E=w|0?g0+9|0:g0,N=f0|2,A=12-n|0;do if(n>>>0>11|(A|0)==0)e=G;else{e=8;do A=A+-1|0,e=e*16;while(A|0);if((u[E>>0]|0)==45){e=-(e+(-G-e));break}else{e=G+e-e;break}}while(0);l=r[Y>>2]|0,A=(l|0)<0?0-l|0:l,A=oe(A,((A|0)<0)<<31>>31,N0)|0,(A|0)==(N0|0)&&(A=d+11|0,u[A>>0]=48),u[A+-1>>0]=(l>>31&2)+43,x=A+-2|0,u[x>>0]=a+15,l=(n|0)<1,c=(o&8|0)==0,d=n0;do f0=~~e,A=d+1|0,u[d>>0]=w|Z[640+f0>>0],e=(e-+(f0|0))*16,(A-i0|0)==1&&!(c&(l&e==0))?(u[A>>0]=46,d=d+2|0):d=A;while(e!=0);n|0&&(-2-i0+d|0)<(n|0)?(l=N0,c=x,A=n+2+l-c|0):(l=N0,c=x,A=l-i0-c+d|0),N0=A+N|0,D0(t,32,i,N0,o),I0(t,E,N),D0(t,48,i,N0,o^65536),i0=d-i0|0,I0(t,n0,i0),n0=l-c|0,D0(t,48,A-(i0+n0)|0,0,0),I0(t,x,n0),D0(t,32,i,N0,o^8192),A=N0;break}l=(n|0)<0?6:n,A?(A=(r[Y>>2]|0)+-28|0,r[Y>>2]=A,e=G*268435456):(e=G,A=r[Y>>2]|0),W0=(A|0)<0?c:c+288|0,c=W0;do S=~~e>>>0,r[c>>2]=S,c=c+4|0,e=(e-+(S>>>0))*1e9;while(e!=0);if(S=W0,(A|0)>0)for(w=W0;;){if(x=(A|0)<29?A:29,A=c+-4|0,A>>>0>=w>>>0){d=0;do U=Ef(r[A>>2]|0,0,x|0)|0,U=yt(U|0,y0()|0,d|0,0)|0,J=y0()|0,d=u2(U|0,J|0,1e9,0)|0,t0=l2(d|0,y0()|0,1e9,0)|0,t0=ae(U|0,J|0,t0|0,y0()|0)|0,y0()|0,r[A>>2]=t0,A=A+-4|0;while(A>>>0>=w>>>0);d?(t0=w+-4|0,r[t0>>2]=d,d=t0):d=w}else d=w;t:do if(c>>>0>d>>>0)for(A=c;;){if(c=A+-4|0,r[c>>2]|0){c=A;break t}if(c>>>0>d>>>0)A=c;else break}while(0);if(A=(r[Y>>2]|0)-x|0,r[Y>>2]=A,(A|0)>0)w=d;else break}else d=W0;if((A|0)<0){n=((l+25|0)/9|0)+1|0,U=(e0|0)==102;do{if(E=0-A|0,E=(E|0)<9?E:9,d>>>0<c>>>0){x=(1<<E)+-1|0,w=1e9>>>E,N=0,A=d;do t0=r[A>>2]|0,r[A>>2]=(t0>>>E)+N,N=u0(t0&x,w)|0,A=A+4|0;while(A>>>0<c>>>0);d=r[d>>2]|0?d:d+4|0,N&&(r[c>>2]=N,c=c+4|0)}else d=r[d>>2]|0?d:d+4|0;A=U?W0:d,c=(c-A>>2|0)>(n|0)?A+(n<<2)|0:c,A=(r[Y>>2]|0)+E|0,r[Y>>2]=A}while((A|0)<0);U=d}else U=d;if(U>>>0<c>>>0){if(A=(S-U>>2)*9|0,x=r[U>>2]|0,x>>>0>=10){d=10;do d=d*10|0,A=A+1|0;while(x>>>0>=d>>>0)}}else A=0;if(J=(e0|0)==103,t0=(l|0)!=0,d=l-((e0|0)==102?0:A)+((t0&J)<<31>>31)|0,(d|0)<(((c-S>>2)*9|0)+-9|0)){if(Y=d+9216|0,d=(Y|0)/9|0,n=W0+4+(d+-1024<<2)|0,d=Y-(d*9|0)|0,(d|0)<8)for(x=10;x=x*10|0,(d|0)<7;)d=d+1|0;else x=10;if(N=r[n>>2]|0,d=(N>>>0)/(x>>>0)|0,E=N-(u0(d,x)|0)|0,w=(n+4|0)==(c|0),w&(E|0)==0)d=n,x=U;else if(G=d&1|0?9007199254740994:9007199254740992,Y=x>>>1,e=E>>>0<Y>>>0?.5:w&(E|0)==(Y|0)?1:1.5,f0&&(Y=(u[g0>>0]|0)==45,e=Y?-e:e,G=Y?-G:G),d=N-E|0,r[n>>2]=d,G+e!=G){if(Y=d+x|0,r[n>>2]=Y,Y>>>0>999999999)for(x=n,A=U;;)if(d=x+-4|0,r[x>>2]=0,d>>>0<A>>>0&&(A=A+-4|0,r[A>>2]=0),Y=(r[d>>2]|0)+1|0,r[d>>2]=Y,Y>>>0>999999999)x=d;else{x=A;break}else d=n,x=U;if(A=(S-x>>2)*9|0,N=r[x>>2]|0,N>>>0>=10){w=10;do w=w*10|0,A=A+1|0;while(N>>>0>=w>>>0)}}else d=n,x=U;Y=d+4|0,c=c>>>0>Y>>>0?Y:c}else x=U;n=0-A|0;t:do if(c>>>0>x>>>0)for(;;){if(d=c+-4|0,r[d>>2]|0){Y=c,e0=1;break t}if(d>>>0>x>>>0)c=d;else{Y=d,e0=0;break}}else Y=c,e0=0;while(0);do if(J){if(l=l+((t0^1)&1)|0,(l|0)>(A|0)&(A|0)>-5?(w=a+-1|0,l=l+-1-A|0):(w=a+-2|0,l=l+-1|0),!(o&8)){if(e0&&(M0=r[Y+-4>>2]|0,(M0|0)!=0))if((M0>>>0)%10|0)d=0;else{d=0,c=10;do c=c*10|0,d=d+1|0;while(!((M0>>>0)%(c>>>0)|0|0))}else d=9;if(c=((Y-S>>2)*9|0)+-9|0,(w|32|0)==102){a=c-d|0,a=(a|0)>0?a:0,l=(l|0)<(a|0)?l:a;break}else{a=c+A-d|0,a=(a|0)>0?a:0,l=(l|0)<(a|0)?l:a;break}}}else w=a;while(0);if(U=(l|0)!=0,N=U?1:o>>>3&1,E=(w|32|0)==102,E)J=0,A=(A|0)>0?A:0;else{if(c=(A|0)<0?n:A,c=oe(c,((c|0)<0)<<31>>31,N0)|0,d=N0,(d-c|0)<2)do c=c+-1|0,u[c>>0]=48;while((d-c|0)<2);u[c+-1>>0]=(A>>31&2)+43,A=c+-2|0,u[A>>0]=w,J=A,A=d-A|0}if(A=f0+1+l+N+A|0,D0(t,32,i,A,o),I0(t,g0,f0),D0(t,48,i,A,o^65536),E){N=x>>>0>W0>>>0?W0:x,E=n0+9|0,x=E,w=n0+8|0,d=N;do{if(c=oe(r[d>>2]|0,0,E)|0,(d|0)==(N|0))(c|0)==(E|0)&&(u[w>>0]=48,c=w);else if(c>>>0>n0>>>0){Br(n0|0,48,c-i0|0)|0;do c=c+-1|0;while(c>>>0>n0>>>0)}I0(t,c,x-c|0),d=d+4|0}while(d>>>0<=W0>>>0);if((o&8|0)==0&(U^1)||I0(t,20282,1),d>>>0<Y>>>0&(l|0)>0)for(;;){if(c=oe(r[d>>2]|0,0,E)|0,c>>>0>n0>>>0){Br(n0|0,48,c-i0|0)|0;do c=c+-1|0;while(c>>>0>n0>>>0)}if(I0(t,c,(l|0)<9?l:9),d=d+4|0,c=l+-9|0,d>>>0<Y>>>0&(l|0)>9)l=c;else{l=c;break}}D0(t,48,l+9|0,9,0)}else{if(Y=e0?Y:x+4|0,x>>>0<Y>>>0&(l|0)>-1){n=n0+9|0,U=(o&8|0)==0,e0=n,N=0-i0|0,E=n0+8|0,w=x;do{c=oe(r[w>>2]|0,0,n)|0,(c|0)==(n|0)&&(u[E>>0]=48,c=E);do if((w|0)==(x|0)){if(d=c+1|0,I0(t,c,1),U&(l|0)<1){c=d;break}I0(t,20282,1),c=d}else{if(c>>>0<=n0>>>0)break;Br(n0|0,48,c+N|0)|0;do c=c+-1|0;while(c>>>0>n0>>>0)}while(0);i0=e0-c|0,I0(t,c,(l|0)>(i0|0)?i0:l),l=l-i0|0,w=w+4|0}while(w>>>0<Y>>>0&(l|0)>-1)}D0(t,48,l+18|0,18,0),I0(t,J,N0-J|0)}D0(t,32,i,A,o^8192)}while(0);return v=kt,((A|0)<(i|0)?i:A)|0}function F6(t,e){t=t|0,e=e|0;var i=0,n=0;n=(r[e>>2]|0)+(8-1)&~(8-1),i=+D[n>>3],r[e>>2]=n+8,D[t>>3]=i}function k6(t,e,i,n,o){t=t|0,e=e|0,i=i|0,n=n|0,o=o|0;var a=0,A=0,l=0,c=0,d=0,x=0,w=0,N=0,G=0,E=0,U=0,e0=0,Y=0;Y=v,v=v+224|0,G=Y+208|0,E=Y+160|0,U=Y+80|0,e0=Y,a=E,A=a+40|0;do r[a>>2]=0,a=a+4|0;while((a|0)<(A|0));return r[G>>2]=r[i>>2],(i2(0,e,G,U,E,n,o)|0)<0?i=-1:((r[t+76>>2]|0)>-1?N=y6(t)|0:N=0,i=r[t>>2]|0,w=i&32,(u[t+74>>0]|0)<1&&(r[t>>2]=i&-33),a=t+48|0,r[a>>2]|0?i=i2(t,e,G,U,E,n,o)|0:(A=t+44|0,l=r[A>>2]|0,r[A>>2]=e0,c=t+28|0,r[c>>2]=e0,d=t+20|0,r[d>>2]=e0,r[a>>2]=80,x=t+16|0,r[x>>2]=e0+80,i=i2(t,e,G,U,E,n,o)|0,l&&(Ae[r[t+36>>2]&7](t,0,0)|0,i=r[d>>2]|0?i:-1,r[A>>2]=l,r[a>>2]=0,r[x>>2]=0,r[c>>2]=0,r[d>>2]=0)),a=r[t>>2]|0,r[t>>2]=a|w,N|0&&d6(t),i=a&32|0?-1:i),v=Y,i|0}function i2(t,e,i,n,o,a,A){t=t|0,e=e|0,i=i|0,n=n|0,o=o|0,a=a|0,A=A|0;var l=0,c=0,d=0,x=0,w=0,N=0,G=0,E=0,U=0,e0=0,Y=0,J=0,t0=0,S=0,M0=0,W0=0,g0=0,f0=0,N0=0,i0=0,n0=0,kt=0,X0=0,Cr=0,gt=0;Cr=v,v=v+64|0,n0=Cr+56|0,X0=Cr+40|0,W0=Cr,f0=Cr+48|0,N0=Cr+60|0,r[n0>>2]=e,t0=(t|0)!=0,S=W0+40|0,M0=S,W0=W0+39|0,g0=f0+4|0,l=0,e=0,d=0;t:for(;;){do{do if((e|0)>-1)if((l|0)>(2147483647-e|0)){r[(Pt()|0)>>2]=61,e=-1;break}else{e=l+e|0;break}while(0);if(G=r[n0>>2]|0,l=u[G>>0]|0,!(l<<24>>24)){J=92;break t}c=G;r:for(;;){switch(l<<24>>24){case 37:{J=10;break r}case 0:{l=c;break r}default:}Y=c+1|0,r[n0>>2]=Y,l=u[Y>>0]|0,c=Y}r:do if((J|0)==10){J=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-G|0,t0&&I0(t,G,l)}while(l|0);if(Y=(Se(u[(r[n0>>2]|0)+1>>0]|0)|0)==0,c=r[n0>>2]|0,!Y&&(u[c+2>>0]|0)==36?(U=(u[c+1>>0]|0)+-48|0,w=1,l=3):(U=-1,w=d,l=1),l=c+l|0,r[n0>>2]=l,c=u[l>>0]|0,d=(c<<24>>24)+-32|0,d>>>0>31|(1<<d&75913|0)==0)x=0;else{x=0;do x=1<<d|x,l=l+1|0,r[n0>>2]=l,c=u[l>>0]|0,d=(c<<24>>24)+-32|0;while(!(d>>>0>31|(1<<d&75913|0)==0))}if(c<<24>>24==42){if(Se(u[l+1>>0]|0)|0&&(kt=r[n0>>2]|0,(u[kt+2>>0]|0)==36))l=kt+1|0,r[o+((u[l>>0]|0)+-48<<2)>>2]=10,l=r[n+((u[l>>0]|0)+-48<<3)>>2]|0,d=1,c=kt+3|0;else{if(w|0){e=-1;break}t0?(Y=(r[i>>2]|0)+(4-1)&~(4-1),l=r[Y>>2]|0,r[i>>2]=Y+4):l=0,d=0,c=(r[n0>>2]|0)+1|0}r[n0>>2]=c,Y=(l|0)<0,e0=Y?0-l|0:l,x=Y?x|8192:x,Y=d}else{if(l=lf(n0)|0,(l|0)<0){e=-1;break}e0=l,Y=w,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=lf(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(Y|0){e=-1;break t}t0?(E=(r[i>>2]|0)+(4-1)&~(4-1),l=r[E>>2]|0,r[i>>2]=E+4):l=0,c=(r[n0>>2]|0)+2|0,r[n0>>2]=c}else l=-1;while(0);for(E=0;;){if(((u[c>>0]|0)+-65|0)>>>0>57){e=-1;break t}if(d=c,c=c+1|0,r[n0>>2]=c,d=u[(u[d>>0]|0)+-65+(176+(E*58|0))>>0]|0,w=d&255,(w+-1|0)>>>0>=8)break;E=w}if(!(d<<24>>24)){e=-1;break}N=(U|0)>-1;do if(d<<24>>24==19)if(N){e=-1;break t}else J=54;else{if(N){r[o+(U<<2)>>2]=w,N=n+(U<<3)|0,U=r[N+4>>2]|0,J=X0,r[J>>2]=r[N>>2],r[J+4>>2]=U,J=54;break}if(!t0){e=0;break t}uf(X0,w,i,A),c=r[n0>>2]|0,J=55}while(0);(J|0)==54&&(J=0,t0?J=55:l=0);r:do if((J|0)==55){J=0,c=u[c+-1>>0]|0,c=(E|0)!=0&(c&15|0)==3?c&-33:c,d=x&-65537,U=x&8192|0?d:x;e:do switch(c|0){case 110:switch((E&255)<<24>>24){case 0:{r[r[X0>>2]>>2]=e,l=0;break r}case 1:{r[r[X0>>2]>>2]=e,l=0;break r}case 2:{l=r[X0>>2]|0,r[l>>2]=e,r[l+4>>2]=((e|0)<0)<<31>>31,l=0;break r}case 3:{B[r[X0>>2]>>1]=e,l=0;break r}case 4:{u[r[X0>>2]>>0]=e,l=0;break r}case 6:{r[r[X0>>2]>>2]=e,l=0;break r}case 7:{l=r[X0>>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,d=U|8,J=67;break}case 88:case 120:{d=U,J=67;break}case 111:{N=X0,N=V6(r[N>>2]|0,r[N+4>>2]|0,S)|0,d=M0-N|0,x=0,w=20230,l=(U&8|0)==0|(l|0)>(d|0)?l:d+1|0,d=U,J=73;break}case 105:case 100:if(d=X0,c=r[d>>2]|0,d=r[d+4>>2]|0,(d|0)<0){c=ae(0,0,c|0,d|0)|0,d=y0()|0,x=X0,r[x>>2]=c,r[x+4>>2]=d,x=1,w=20230,J=72;break e}else{x=(U&2049|0)!=0&1,w=U&2048|0?20231:U&1|0?20232:20230,J=72;break e}case 117:{d=X0,x=0,w=20230,c=r[d>>2]|0,d=r[d+4>>2]|0,J=72;break}case 99:{u[W0>>0]=r[X0>>2],G=W0,x=0,w=20230,N=1,c=d,l=M0;break}case 115:{E=r[X0>>2]|0,E=E|0?E:20240,U=x6(E,0,l)|0,gt=(U|0)==0,G=E,x=0,w=20230,N=gt?l:U-E|0,c=d,l=gt?E+l|0:U;break}case 67:{r[f0>>2]=r[X0>>2],r[g0>>2]=0,r[X0>>2]=f0,w=-1,J=79;break}case 83:{l?(w=l,J=79):(D0(t,32,e0,0,U),l=0,J=89);break}case 65:case 71:case 70:case 69:case 97:case 103:case 102:case 101:{l=Of[a&1](t,+D[X0>>3],e0,l,U,c)|0;break r}default:x=0,w=20230,N=l,c=U,l=M0}while(0);e:do if((J|0)==67)N=X0,N=N6(r[N>>2]|0,r[N+4>>2]|0,S,c&32)|0,w=X0,w=(d&8|0)==0|(r[w>>2]|0)==0&(r[w+4>>2]|0)==0,x=w?0:2,w=w?20230:20230+(c>>>4)|0,J=73;else if((J|0)==72)N=oe(c,d,S)|0,d=U,J=73;else if((J|0)==79){for(J=0,x=r[X0>>2]|0,l=0;c=r[x>>2]|0,!!c;){if(c=cf(N0,c)|0,d=(c|0)<0,d|c>>>0>(w-l|0)>>>0){J=83;break}if(l=c+l|0,w>>>0>l>>>0)x=x+4|0;else break}if((J|0)==83&&(J=0,d)){e=-1;break t}if(D0(t,32,e0,l,U),!l)l=0,J=89;else for(d=r[X0>>2]|0,x=0;;){if(c=r[d>>2]|0,!c){J=89;break e}if(c=cf(N0,c)|0,x=c+x|0,(x|0)>(l|0)){J=89;break e}if(I0(t,N0,c),x>>>0>=l>>>0){J=89;break}else d=d+4|0}}while(0);if((J|0)==73)J=0,c=X0,c=(r[c>>2]|0)!=0|(r[c+4>>2]|0)!=0,gt=(l|0)!=0|c,c=M0-N+((c^1)&1)|0,G=gt?N:S,N=gt?(l|0)>(c|0)?l:c:0,c=(l|0)>-1?d&-65537:d,l=M0;else if((J|0)==89){J=0,D0(t,32,e0,l,U^8192),l=(e0|0)>(l|0)?e0:l;break}U=l-G|0,E=(N|0)<(U|0)?U:N,gt=E+x|0,l=(e0|0)<(gt|0)?gt:e0,D0(t,32,l,gt,c),I0(t,w,x),D0(t,48,l,gt,c^65536),D0(t,48,E,U,0),I0(t,G,U),D0(t,32,l,gt,c^8192)}while(0);d=Y}t:do if((J|0)==92&&!t)if(!d)e=0;else{for(e=1;l=r[o+(e<<2)>>2]|0,!!l;)if(uf(n+(e<<3)|0,l,i,A),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 v=Cr,e|0}function I0(t,e,i){t=t|0,e=e|0,i=i|0,r[t>>2]&32||g6(e,i,t)|0}function lf(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 uf(t,e,i,n){t=t|0,e=e|0,i=i|0,n=n|0;var o=0,a=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),a=+D[o>>3],r[i>>2]=o+8,D[t>>3]=a;break t}case 18:{vr[n&15](t,i);break t}default:break t}while(0);while(0)}function N6(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=Gi(t|0,e|0,4)|0,e=y0()|0;while(!((t|0)==0&(e|0)==0));return i|0}function V6(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=Gi(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,a=0;if(e>>>0>0|(e|0)==0&t>>>0>4294967295){do n=t,t=u2(t|0,e|0,10,0)|0,o=e,e=y0()|0,a=l2(t|0,e|0,10,0)|0,a=ae(n|0,o|0,a|0,y0()|0)|0,y0()|0,i=i+-1|0,u[i>>0]=a&255|48;while(o>>>0>9|(o|0)==9&n>>>0>4294967295);e=t}else e=t;if(e)do a=e,e=(e>>>0)/10|0,i=i+-1|0,u[i>>0]=a-(e*10|0)|48;while(a>>>0>=10);return i|0}function D0(t,e,i,n,o){t=t|0,e=e|0,i=i|0,n=n|0,o=o|0;var a=0,A=0;if(A=v,v=v+256|0,a=A,(i|0)>(n|0)&(o&73728|0)==0){if(o=i-n|0,Br(a|0,e<<24>>24|0,(o>>>0<256?o:256)|0)|0,o>>>0>255){e=i-n|0;do I0(t,a,256),o=o+-256|0;while(o>>>0>255);o=e&255}I0(t,a,o)}v=A}function cf(t,e){return t=t|0,e=e|0,t?t=W6(t,e,0)|0:t=0,t|0}function W6(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[(T6()|0)+176>>2]>>2]|0))if((e&-128|0)==57216){u[t>>0]=e,t=1;break}else{r[(Pt()|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[(Pt()|0)>>2]=25,t=-1;break}}else t=1;while(0);return t|0}function T6(){return Af()|0}function mf(t){t=+t;var e=0;return D[z>>3]=t,e=r[z>>2]|0,Z0(r[z+4>>2]|0),e|0}function vf(t,e){t=+t,e=e|0;var i=0,n=0,o=0;switch(D[z>>3]=t,i=r[z>>2]|0,n=r[z+4>>2]|0,o=Gi(i|0,n|0,52)|0,y0()|0,o&2047){case 0:{t!=0?(t=+vf(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=+D[z>>3]}return+t}function X6(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 U6(t,e,i,n){t=t|0,e=e|0,i=i|0,n=n|0;var o=0,a=0;return o=v,v=v+16|0,a=o,r[a>>2]=n,n=G6(t,e,i,a)|0,v=o,n|0}function G6(t,e,i,n){t=t|0,e=e|0,i=i|0,n=n|0;var o=0,a=0,A=0,l=0;return l=v,v=v+160|0,o=l+144|0,A=l,ht(A|0,3672,144)|0,(e+-1|0)>>>0>2147483646?e?(r[(Pt()|0)>>2]=61,e=-1):(t=o,e=1,a=4):a=4,(a|0)==4&&(a=-2-t|0,a=e>>>0>a>>>0?a:e,r[A+48>>2]=a,o=A+20|0,r[o>>2]=t,r[A+44>>2]=t,e=t+a|0,t=A+16|0,r[t>>2]=e,r[A+28>>2]=e,e=w6(A,i,n)|0,a&&(A=r[o>>2]|0,u[A+(((A|0)==(r[t>>2]|0))<<31>>31)>>0]=0)),v=l,e|0}function E6(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,ht(o|0,e|0,t|0)|0,r[n>>2]=(r[n>>2]|0)+t,i|0}function z6(t){t=t|0;var e=0,i=0;return e=(Vi(t)|0)+1|0,i=Ui(e)|0,i?t=ht(i|0,t|0,e|0)|0:t=0,t|0}function B6(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 S6(i,r[e+20>>2]|0)|0}function S6(t,e){return t=t|0,e=e|0,_6(t,e)|0}function C6(t){return t=t|0,B6(t,r[(I6()|0)+176>>2]|0)|0}function I6(){return Af()|0}function O6(t,e,i){t=t|0,e=e|0,i=i|0;var n=0;return n=C6(t)|0,t=Vi(n)|0,t>>>0>=i>>>0?(t=i+-1|0,i&&(ht(e|0,n|0,t|0)|0,u[e+t>>0]=0),t=68):(ht(e|0,n|0,t+1|0)|0,t=0),t|0}function J6(){var t=0,e=0,i=0,n=0,o=0,a=0,A=0;n=v,v=v+48|0,a=n+32|0,e=n+24|0,A=n+16|0,o=n,n=n+36|0,t=pf()|0,t|0&&(i=r[t>>2]|0,i|0)&&(t=i+48|0,df(t)|0||(r[e>>2]=20420,Ur(20370,e)),e=yf(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,Ae[r[(r[954]|0)+16>>2]&7](3816,i,n)|0?(A=r[n>>2]|0,A=Ei[r[(r[A>>2]|0)+8>>2]&15](A)|0,r[o>>2]=20420,r[o+4>>2]=t,r[o+8>>2]=A,Ur(20284,o)):(r[A>>2]=20420,r[A+4>>2]=t,Ur(20329,A))),Ur(20408,a)}function pf(){return 21640}function df(t){return t=t|0,t=yf(t)|0,(t&-256|0)==1126902528&(y0()|0)==1129074247|0}function yf(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,ks()}function fe(t){t=t|0}function P6(t){t=t|0,fe(t),$(t)}function j6(t){t=t|0}function Y6(t){t=t|0}function D6(t,e,i){t=t|0,e=e|0,i=i|0;var n=0,o=0,a=0,A=0,l=0,c=0;if(c=v,v=v+64|0,A=c,S0(t,e,0)|0)t=1;else if(e|0&&(l=at(e,3840,3824,0)|0,(l|0)!=0)){r[A>>2]=l,r[A+4>>2]=0,r[A+8>>2]=t,r[A+12>>2]=-1,t=A+16|0,e=A+24|0,n=A+48|0,o=t,a=o+36|0;do r[o>>2]=0,o=o+4|0;while((o|0)<(a|0));B[t+36>>1]=0,u[t+38>>0]=0,r[n>>2]=1,Pe[r[(r[l>>2]|0)+28>>2]&7](l,A,r[i>>2]|0,1),(r[e>>2]|0)==1?(r[i>>2]=r[t>>2],t=1):t=0}else t=0;return v=c,t|0}function H6(t,e,i,n,o,a){t=t|0,e=e|0,i=i|0,n=n|0,o=o|0,a=a|0,S0(t,r[e+8>>2]|0,a)|0&&o2(0,e,i,n,o)}function L6(t,e,i,n,o){t=t|0,e=e|0,i=i|0,n=n|0,o=o|0;var a=0;do if(S0(t,r[e+8>>2]|0,o)|0)s2(0,e,i,n);else if(S0(t,r[e>>2]|0,o)|0){if((r[e+16>>2]|0)!=(i|0)&&(a=e+20|0,(r[a>>2]|0)!=(i|0))){r[e+32>>2]=n,r[a>>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 Q6(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&&n2(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=(hf(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 n2(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 s2(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 o2(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,a=0,A=0,l=0,c=0,d=0,x=0,w=0,N=0;N=v,v=v+64|0,x=N,d=r[t>>2]|0,w=t+(r[d+-8>>2]|0)|0,d=r[d+-4>>2]|0,r[x>>2]=i,r[x+4>>2]=t,r[x+8>>2]=e,r[x+12>>2]=n,t=x+16|0,e=x+20|0,n=x+24|0,o=x+28|0,a=x+32|0,A=x+40|0,l=t,c=l+36|0;do r[l>>2]=0,l=l+4|0;while((l|0)<(c|0));B[t+36>>1]=0,u[t+38>>0]=0;t:do if(S0(d,i,0)|0)r[x+48>>2]=1,je[r[(r[d>>2]|0)+20>>2]&3](d,x,w,w,1,0),t=(r[n>>2]|0)==1?w:0;else{switch(zi[r[(r[d>>2]|0)+24>>2]&3](d,x,w,1,0),r[x+36>>2]|0){case 0:{t=(r[A>>2]|0)==1&(r[o>>2]|0)==1&(r[a>>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[A>>2]|0)==0&(r[o>>2]|0)==1&(r[a>>2]|0)==1)){t=0;break}t=r[t>>2]|0}while(0);return v=N,t|0}function q6(t){t=t|0,fe(t),$(t)}function $6(t,e,i,n,o,a){t=t|0,e=e|0,i=i|0,n=n|0,o=o|0,a=a|0,S0(t,r[e+8>>2]|0,a)|0?o2(0,e,i,n,o):(t=r[t+8>>2]|0,je[r[(r[t>>2]|0)+20>>2]&3](t,e,i,n,o,a))}function K6(t,e,i,n,o){t=t|0,e=e|0,i=i|0,n=n|0,o=o|0;var a=0,A=0,l=0;t:do if(S0(t,r[e+8>>2]|0,o)|0)s2(0,e,i,n);else{if(!(S0(t,r[e>>2]|0,o)|0)){A=r[t+8>>2]|0,zi[r[(r[A>>2]|0)+24>>2]&3](A,e,i,n,o);break}if((r[e+16>>2]|0)!=(i|0)&&(A=e+20|0,(r[A>>2]|0)!=(i|0))){r[e+32>>2]=n,n=e+44|0;do if((r[n>>2]|0)!=4)if(a=e+52|0,u[a>>0]=0,l=e+53|0,u[l>>0]=0,t=r[t+8>>2]|0,je[r[(r[t>>2]|0)+20>>2]&3](t,e,i,i,1,o),u[l>>0]|0){if(l=(u[a>>0]|0)==0,r[n>>2]=3,l)break;break t}else{r[n>>2]=4;break}while(0);if(r[A>>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 b6(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?n2(0,e,i,n):(t=r[t+8>>2]|0,Pe[r[(r[t>>2]|0)+28>>2]&7](t,e,i,n))}function $(t){t=t|0,h2(t)}function mR(t){t=t|0}function td(){var t=0,e=0;t=pf()|0,t|0&&(e=r[t>>2]|0,e|0)&&df(e+48|0)|0&&Mf(r[e+12>>2]|0),Mf(rd()|0)}function Mf(t){t=t|0;var e=0;e=v,v=v+16|0,p2[t&3](),Ur(20559,e)}function rd(){return 2}function ed(t){t=t|0}function id(t){t=t|0,$(t)}function nd(t){return t=t|0,20599}function Wi(t){t=t|0,r[t>>2]=5916,_f(t+4|0)}function sd(t){t=t|0,Wi(t),$(t)}function od(t){return t=t|0,gf(t+4|0)|0}function gf(t){return t=t|0,r[t>>2]|0}function _f(t){t=t|0;var e=0,i=0;fd(t)|0&&(e=ad(r[t>>2]|0)|0,i=e+8|0,t=r[i>>2]|0,r[i>>2]=t+-1,(t|0)<1)&&$(e)}function fd(t){return t=t|0,1}function ad(t){return t=t|0,t+-12|0}function At(t){t=t|0,r[t>>2]=5936,_f(t+4|0)}function Ad(t){t=t|0,At(t),$(t)}function hd(t){return t=t|0,gf(t+4|0)|0}function ld(t){t=t|0,Wi(t),$(t)}function ud(t){t=t|0,Wi(t),$(t)}function cd(){var t=0;t=v,v=v+16|0,Ur(20848,t)}function md(t){t=t|0,fe(t),$(t)}function vd(t,e,i){return t=t|0,e=e|0,i=i|0,S0(t,e,0)|0}function pd(t){t=t|0,fe(t),$(t)}function dd(t,e,i){t=t|0,e=e|0,i=i|0;var n=0,o=0,a=0,A=0,l=0,c=0,d=0,x=0;x=v,v=v+64|0,c=x;do if(S0(e,4048,0)|0)r[i>>2]=0,e=1;else{if(yd(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,a=t+8|0,o=r[a>>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[a>>2]&1)){e=0;break}e=Md(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[a>>2]&1)){e=0;break}e=Rf(e,r[n>>2]|0)|0;break}if(e=r[o>>2]|0,e|0&&(A=at(e,3840,3824,0)|0,(A|0)!=0)&&(l=r[n>>2]|0,(l|0)!=0)&&(d=at(l,3840,3824,0)|0,(d|0)!=0)){r[c>>2]=d,r[c+4>>2]=0,r[c+8>>2]=A,r[c+12>>2]=-1,e=c+16|0,t=c+24|0,n=c+48|0,o=e,a=o+36|0;do r[o>>2]=0,o=o+4|0;while((o|0)<(a|0));B[e+36>>1]=0,u[e+38>>0]=0,r[n>>2]=1,Pe[r[(r[d>>2]|0)+28>>2]&7](d,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 v=x,e|0}function yd(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 Md(t,e){t=t|0,e=e|0;for(var i=0,n=0,o=0,a=0,A=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){A=9;break}e=r[i>>2]|0}return(A|0)==9&&(e=r[n>>2]|0,e|0&&(a=at(e,3840,4008,0)|0,(a|0)!=0)?e=Rf(a,r[i>>2]|0)|0:e=0),e|0}function Rf(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 gd(t){t=t|0,fe(t),$(t)}function _d(t,e,i,n,o,a){t=t|0,e=e|0,i=i|0,n=n|0,o=o|0,a=a|0;var A=0,l=0,c=0,d=0,x=0,w=0,N=0,G=0,E=0,U=0;if(S0(t,r[e+8>>2]|0,a)|0)o2(0,e,i,n,o);else{U=e+52|0,l=u[U>>0]|0,E=e+53|0,A=u[E>>0]|0,G=r[t+12>>2]|0,x=t+16+(G<<3)|0,u[U>>0]=0,u[E>>0]=0,f2(t+16|0,e,i,n,o,a),c=u[U>>0]|0,l=c|l,d=u[E>>0]|0,A=d|A;t:do if((G|0)>1){w=e+24|0,N=t+8|0,G=e+54|0,t=t+24|0;do{if(A=A&1,l=l&1,u[G>>0]|0)break t;if(c<<24>>24){if((r[w>>2]|0)==1||!(r[N>>2]&2))break t}else if(d<<24>>24&&!(r[N>>2]&1|0))break t;u[U>>0]=0,u[E>>0]=0,f2(t,e,i,n,o,a),c=u[U>>0]|0,l=c|l,d=u[E>>0]|0,A=d|A,t=t+8|0}while(t>>>0<x>>>0)}while(0);u[U>>0]=l<<24>>24!=0&1,u[E>>0]=A<<24>>24!=0&1}}function Rd(t,e,i,n,o){t=t|0,e=e|0,i=i|0,n=n|0,o=o|0;var a=0,A=0,l=0,c=0,d=0,x=0,w=0,N=0,G=0;t:do if(S0(t,r[e+8>>2]|0,o)|0)s2(0,e,i,n);else{if(!(S0(t,r[e>>2]|0,o)|0)){if(G=r[t+12>>2]|0,c=t+16+(G<<3)|0,Ti(t+16|0,e,i,n,o),a=t+24|0,(G|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||(Ti(a,e,i,n,o),a=a+8|0,a>>>0>=c>>>0))break t}for(t=e+24|0,A=e+54|0;;)if(u[A>>0]|0||(r[l>>2]|0)==1&&(r[t>>2]|0)==1||(Ti(a,e,i,n,o),a=a+8|0,a>>>0>=c>>>0))break t}for(t=e+54|0;;)if(u[t>>0]|0||(Ti(a,e,i,n,o),a=a+8|0,a>>>0>=c>>>0))break t}if((r[e+16>>2]|0)!=(i|0)&&(G=e+20|0,(r[G>>2]|0)!=(i|0))){if(r[e+32>>2]=n,N=e+44|0,(r[N>>2]|0)!=4){l=t+16+(r[t+12>>2]<<3)|0,c=e+52|0,n=e+53|0,d=e+54|0,x=t+8|0,w=e+24|0,a=0,A=t+16|0,t=0;r:for(;;){if(A>>>0>=l>>>0){A=18;break}if(u[c>>0]=0,u[n>>0]=0,f2(A,e,i,i,1,o),u[d>>0]|0){A=18;break}do if(u[n>>0]|0){if(!(u[c>>0]|0))if(r[x>>2]&1){t=1;break}else{A=19;break r}if((r[w>>2]|0)==1){a=1,A=19;break r}if(r[x>>2]&2)a=1,t=1;else{a=1,A=19;break r}}while(0);A=A+8|0}if((A|0)==18&&(t?A=19:t=4),(A|0)==19&&(t=3),r[N>>2]=t,a&1)break}if(r[G>>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 xd(t,e,i,n){t=t|0,e=e|0,i=i|0,n=n|0;var o=0,a=0;t:do if(S0(t,r[e+8>>2]|0,0)|0)n2(0,e,i,n);else if(a=r[t+12>>2]|0,o=t+16+(a<<3)|0,xf(t+16|0,e,i,n),(a|0)>1){a=e+54|0,t=t+24|0;do{if(xf(t,e,i,n),u[a>>0]|0)break t;t=t+8|0}while(t>>>0<o>>>0)}while(0)}function xf(t,e,i,n){t=t|0,e=e|0,i=i|0,n=n|0;var o=0,a=0;a=r[t+4>>2]|0,i?(o=a>>8,a&1&&(o=r[(r[i>>2]|0)+o>>2]|0)):o=0,t=r[t>>2]|0,Pe[r[(r[t>>2]|0)+28>>2]&7](t,e,i+o|0,a&2|0?n:2)}function f2(t,e,i,n,o,a){t=t|0,e=e|0,i=i|0,n=n|0,o=o|0,a=a|0;var A=0,l=0;l=r[t+4>>2]|0,A=l>>8,l&1&&(A=r[(r[n>>2]|0)+A>>2]|0),t=r[t>>2]|0,je[r[(r[t>>2]|0)+20>>2]&3](t,e,i,n+A|0,l&2|0?o:2,a)}function Ti(t,e,i,n,o){t=t|0,e=e|0,i=i|0,n=n|0,o=o|0;var a=0,A=0;A=r[t+4>>2]|0,a=A>>8,A&1&&(a=r[(r[i>>2]|0)+a>>2]|0),t=r[t>>2]|0,zi[r[(r[t>>2]|0)+24>>2]&3](t,e,i+a|0,A&2|0?n:2,o)}function wd(t){t=t|0,r[t>>2]=5896}function Gr(t){t=t|0;var e=0,i=0;return e=v,v=v+16|0,i=e,wf(i,t),t=Zd(i)|0,v=e,t|0}function wf(t,e){t=t|0,e=e|0,Nd(t,e)}function Zd(t){t=t|0;var e=0,i=0;return e=v,v=v+16|0,i=e,Zf(i,r[t+4>>2]|0),(Fd(i)|0)<<24>>24?t=0:t=kd(Ff(t)|0)|0,v=e,t|0}function Zf(t,e){t=t|0,e=e|0,r[t>>2]=e}function Fd(t){return t=t|0,u[r[t>>2]>>0]|0}function Ff(t){return t=t|0,t|0}function kd(t){t=t|0;var e=0,i=0,n=0,o=0;o=v,v=v+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 v=o,i|0}function Nd(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 Er(t){t=t|0;var e=0,i=0;e=v,v=v+16|0,i=e,wf(i,t),Vd(i),v=e}function Vd(t){t=t|0;var e=0,i=0;e=v,v=v+16|0,i=e,Zf(i,r[t+4>>2]|0),Wd(i),Td(Ff(t)|0),v=e}function Wd(t){t=t|0,u[r[t>>2]>>0]=1}function Td(t){t=t|0,u[r[t+8>>2]>>0]=1}function Xd(){return 0}function b(t){t=t|0;var e=0,i=0;for(i=t|0?t:1;;){if(e=Ui(i)|0,e|0){t=6;break}if(t=Xd()|0,!t){t=5;break}p2[t&3]()}if((t|0)==5)i=F0(4)|0,wd(i),k0(i|0,3880,121);else if((t|0)==6)return e|0;return 0}function kf(t){return t=t|0,b(t)|0}function Nf(t){t=t|0,$(t)}function Ud(t,e,i){t=t|0,e=e|0,i=i|0;var n=0,o=0;return o=v,v=v+16|0,n=o,r[n>>2]=r[i>>2],t=Ae[r[(r[t>>2]|0)+16>>2]&7](t,e,n)|0,t&&(r[i>>2]=r[n>>2]),v=o,t&1|0}function Gd(t){return t=t|0,t?t=(at(t,3840,3976,0)|0)!=0&1:t=0,t|0}function Ed(t){return t=t|0,0}function zd(){return(Bd()|0)>0|0}function Bd(){return C1()|0}function Vf(t){t=t|0}function Sd(t){t=t|0,Vf(t),$(t)}function Cd(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)||w0[r[(r[t>>2]|0)+16>>2]&255](t)}function Id(t){if(t=t|0,t=Ed(t)|0,t)cy(t,21145);else return}function Od(t){t=t|0}function a2(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=Jd(i)|0,ht(i|0,e|0,n+1|0)|0,r[t>>2]=i}function Jd(t){return t=t|0,t+12|0}function $t(t,e){t=t|0,e=e|0,r[t>>2]=5916,a2(t+4|0,e)}function Pd(t,e){t=t|0,e=e|0,r[t>>2]=5936,a2(t+4|0,(u[e+11>>0]|0)<0?r[e>>2]|0:e)}function Ft(t,e){t=t|0,e=e|0,r[t>>2]=5936,a2(t+4|0,e)}function A2(t){t=t|0,t=F0(8)|0,$t(t,21163),r[t>>2]=5956,k0(t|0,3928,123)}function jd(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,a=0,A=0;o=v,v=v+16|0,n=o,i>>>0>4294967279&&A2(t),i>>>0<11?u[t+11>>0]=i:(A=i+16&-16,a=b(A)|0,r[t>>2]=a,r[t+8>>2]=A|-2147483648,r[t+4>>2]=i,t=a),Ce(t,e,i)|0,u[n>>0]=0,Fe(t+i|0,n),v=o}function Ce(t,e,i){return t=t|0,e=e|0,i=i|0,i|0&&ht(t|0,e|0,i|0)|0,t|0}function Ie(t){t=t|0,(u[t+11>>0]|0)<0&&A0(r[t>>2]|0,r[t+8>>2]&2147483647)}function Yd(t,e,i,n,o,a,A,l){t=t|0,e=e|0,i=i|0,n=n|0,o=o|0,a=a|0,A=A|0,l=l|0;var c=0,d=0,x=0,w=0,N=0;N=v,v=v+16|0,w=N,(-18-e|0)>>>0<i>>>0&&A2(t),(u[t+11>>0]|0)<0?x=r[t>>2]|0:x=t,e>>>0<2147483623?(c=i+e|0,d=e<<1,c=c>>>0<d>>>0?d:c,c=c>>>0<11?11:c+16&-16):c=-17,d=b(c)|0,o|0&&Ce(d,x,o)|0,A|0&&Ce(d+o|0,l,A)|0,n=n-a|0,i=n-o|0,i|0&&Ce(d+o+A|0,x+o+a|0,i)|0,i=e+1|0,(i|0)!=11&&A0(x,i),r[t>>2]=d,r[t+8>>2]=c|-2147483648,A=n+A|0,r[t+4>>2]=A,u[w>>0]=0,Fe(d+A|0,w),v=N}function Wf(t,e,i){t=t|0,e=e|0,i=i|0;var n=0,o=0,a=0,A=0,l=0,c=0;return c=v,v=v+16|0,A=c,l=t+11|0,n=u[l>>0]|0,a=n<<24>>24<0,a?(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&&(a?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[A>>0]=0,Fe(o+n|0,A)):Yd(t,o,n+i-o|0,n,n,0,i,e),v=c,t|0}function Dd(t,e){return t=t|0,e=e|0,Wf(t,e,te(e)|0)|0}function Hd(t,e,i){return t=t|0,e=e|0,i=i|0,i?t=X6(t,e,i)|0:t=0,t|0}function Ld(t,e,i,n,o){t=t|0,e=e|0,i=i|0,n=n|0,o=o|0;var a=0,A=0;return a=u[t+11>>0]|0,A=a<<24>>24<0,A?a=r[t+4>>2]|0:a=a&255,(o|0)==-1|a>>>0<e>>>0&&jd(t),a=a-e|0,i=a>>>0<i>>>0?a:i,A&&(t=r[t>>2]|0),a=i>>>0>o>>>0,t=Hd(t+e|0,n,a?o:i)|0,t?t|0:(i>>>0<o>>>0?-1:a&1)|0}function Qd(t){t=t|0}function qd(t){t=t|0,$(t)}function $d(t){return t=t|0,21228}function Kd(t,e,i){t=t|0,e=e|0,i=i|0,r[t>>2]=i,r[t+4>>2]=e}function bd(t,e,i){t=t|0,e=e|0,i=i|0;var n=0,o=0;return o=v,v=v+16|0,n=o,Je[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,v=o,t|0}function ty(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 ry(t,e,i){t=t|0,e=e|0,i=i|0,(i|0)>256?Xi(t,21176,te(21176)|0):Tf(t,0,i)}function Tf(t,e,i){t=t|0,e=e|0,i=i|0,ey(t,i)}function ey(t,e){t=t|0,e=e|0;var i=0,n=0,o=0,a=0,A=0;A=v,v=v+1040|0,o=A+1024|0,i=A,a=r[(Pt()|0)>>2]|0,n=iy(O6(e,i,1024)|0,i)|0,u[n>>0]|0?i=n:(r[o>>2]=e,U6(i,1024,21211,o)|0),r[(Pt()|0)>>2]=a,Xi(t,i,te(i)|0),v=A}function iy(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[(Pt()|0)>>2]|0,n=3;break}default:n=3}return(n|0)==3&&((t|0)==28?i=22145:P1()),i|0}function ny(t){t=t|0,$(t)}function sy(t){return t=t|0,21353}function oy(t,e,i){t=t|0,e=e|0,i=i|0,(i|0)>256?(Xf()|0,e=6180):(ay()|0,e=6176),r[t>>2]=i,r[t+4>>2]=e}function fy(t,e,i){t=t|0,e=e|0,i=i|0,(i|0)>256?Xi(t,21319,te(21319)|0):Tf(t,0,i)}function Xf(){return!(u[21488]|0)&&Gr(21488)|0&&Er(21488),6180}function ay(){return!(u[21480]|0)&&Gr(21480)|0&&Er(21480),6176}function Uf(t){t=t|0,At(t)}function Ay(t){t=t|0,Uf(t),$(t)}function hy(t,e){t=t|0,e=e|0;var i=0;i=r[e+4>>2]|0,Je[r[(r[i>>2]|0)+24>>2]&15](t,i,r[e>>2]|0)}function ly(t,e,i){t=t|0,e=e|0,i=i|0;var n=0,o=0,a=0;for(a=v,v=v+16|0,o=a,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&&Dd(i,21417)|0,hy(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,Ie(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;v=a}function uy(t,e,i){t=t|0,e=e|0,i=i|0;var n=0,o=0,a=0;n=v,v=v+32|0,a=n+12|0,o=n,Xi(o,i,te(i)|0),ly(a,e,o),Pd(t,a),Ie(a),Ie(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,v=n}function cy(t,e){t=t|0,e=e|0;var i=0,n=0,o=0;o=v,v=v+16|0,n=o+8|0,i=F0(16)|0,Xf()|0,r[o>>2]=t,r[o+4>>2]=6180,r[n>>2]=r[o>>2],r[n+4>>2]=r[o+4>>2],uy(i,n,e),k0(i|0,4272,136)}function Q0(t){t=t|0,t=F0(8)|0,$t(t,21420),r[t>>2]=5956,k0(t|0,3928,123)}function Ui(t){t=t|0;var e=0,i=0,n=0,o=0,a=0,A=0,l=0,c=0,d=0,x=0,w=0,N=0,G=0,E=0,U=0,e0=0,Y=0,J=0,t0=0,S=0,M0=0;M0=v,v=v+16|0,N=M0;do if(t>>>0<245){if(d=t>>>0<11?16:t+11&-8,t=d>>>3,w=r[5412]|0,i=w>>>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,a=r[o>>2]|0,(a|0)==(t|0)?r[5412]=w&~(1<<e):(r[a+12>>2]=t,r[i>>2]=a),S=e<<3,r[n+4>>2]=S|3,S=n+S+4|0,r[S>>2]=r[S>>2]|1,S=o,v=M0,S|0;if(x=r[5414]|0,d>>>0>x>>>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,a=e>>>2&4,e=e>>>a,t=e>>>1&2,e=e>>>t,n=e>>>1&1,n=(i|l|a|t|n)+(e>>>n)|0,e=21688+(n<<1<<2)|0,t=e+8|0,a=r[t>>2]|0,l=a+8|0,i=r[l>>2]|0,(i|0)==(e|0)?(t=w&~(1<<n),r[5412]=t):(r[i+12>>2]=e,r[t>>2]=i,t=w),S=n<<3,A=S-d|0,r[a+4>>2]=d|3,o=a+d|0,r[o+4>>2]=A|1,r[a+S>>2]=A,x|0&&(n=r[5417]|0,e=x>>>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]=A,r[5417]=o,S=l,v=M0,S|0;if(a=r[5413]|0,a){for(i=(a&0-a)+-1|0,o=i>>>12&16,i=i>>>o,n=i>>>5&8,i=i>>>n,A=i>>>2&4,i=i>>>A,l=i>>>1&2,i=i>>>l,c=i>>>1&1,c=r[21952+((n|o|A|l|c)+(i>>>c)<<2)>>2]|0,i=c,l=c,c=(r[c+4>>2]&-8)-d|0;t=r[i+16>>2]|0,!(!t&&(t=r[i+20>>2]|0,!t));)A=(r[t+4>>2]&-8)-d|0,o=A>>>0<c>>>0,i=t,l=o?t:l,c=o?A:c;if(A=l+d|0,A>>>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]=a&~(1<<e);break}}else if(S=o+16|0,r[((r[S>>2]|0)==(l|0)?S: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?(S=c+d|0,r[l+4>>2]=S|3,S=l+S+4|0,r[S>>2]=r[S>>2]|1):(r[l+4>>2]=d|3,r[A+4>>2]=c|1,r[A+c>>2]=c,x|0&&(n=r[5417]|0,e=x>>>3,i=21688+(e<<1<<2)|0,e=1<<e,e&w?(t=i+8|0,e=r[t>>2]|0):(r[5412]=e|w,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]=A),S=l+8|0,v=M0,S|0}else w=d}else w=d}else w=d}else if(t>>>0<=4294967231)if(t=t+11|0,d=t&-8,n=r[5413]|0,n){o=0-d|0,t=t>>>8,t?d>>>0>16777215?c=31:(w=(t+1048320|0)>>>16&8,U=t<<w,l=(U+520192|0)>>>16&4,U=U<<l,c=(U+245760|0)>>>16&2,c=14-(l|w|c)+(U<<c>>>15)|0,c=d>>>(c+7|0)&1|c<<1):c=0,i=r[21952+(c<<2)>>2]|0;t:do if(!i)i=0,t=0,U=61;else for(t=0,l=d<<((c|0)==31?0:25-(c>>>1)|0),a=0;;){if(A=(r[i+4>>2]&-8)-d|0,A>>>0<o>>>0)if(A)t=i,o=A;else{t=i,o=0,U=65;break t}if(U=r[i+20>>2]|0,i=r[i+16+(l>>>31<<2)>>2]|0,a=(U|0)==0|(U|0)==(i|0)?a:U,i)l=l<<1;else{i=a,U=61;break}}while(0);if((U|0)==61){if((i|0)==0&(t|0)==0){if(t=2<<c,t=(t|0-t)&n,!t){w=d;break}w=(t&0-t)+-1|0,A=w>>>12&16,w=w>>>A,a=w>>>5&8,w=w>>>a,l=w>>>2&4,w=w>>>l,c=w>>>1&2,w=w>>>c,i=w>>>1&1,t=0,i=r[21952+((a|A|l|c|i)+(w>>>i)<<2)>>2]|0}i?U=65:(l=t,A=o)}if((U|0)==65)for(a=i;;)if(w=(r[a+4>>2]&-8)-d|0,i=w>>>0<o>>>0,o=i?w:o,t=i?a:t,i=r[a+16>>2]|0,i||(i=r[a+20>>2]|0),i)a=i;else{l=t,A=o;break}if(l|0&&A>>>0<((r[5414]|0)-d|0)>>>0&&(x=l+d|0,x>>>0>l>>>0)){a=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 S=r[l+8>>2]|0,r[S+12>>2]=e,r[e+8>>2]=S;while(0);do if(a){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(S=a+16|0,r[((r[S>>2]|0)==(l|0)?S:a+20|0)>>2]=e,!e)break;r[e+24>>2]=a,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(A>>>0<16)S=A+d|0,r[l+4>>2]=S|3,S=l+S+4|0,r[S>>2]=r[S>>2]|1;else{if(r[l+4>>2]=d|3,r[x+4>>2]=A|1,r[x+A>>2]=A,e=A>>>3,A>>>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]=x,r[e+12>>2]=x,r[x+8>>2]=e,r[x+12>>2]=i;break}if(e=A>>>8,e?A>>>0>16777215?i=31:(t0=(e+1048320|0)>>>16&8,S=e<<t0,J=(S+520192|0)>>>16&4,S=S<<J,i=(S+245760|0)>>>16&2,i=14-(J|t0|i)+(S<<i>>>15)|0,i=A>>>(i+7|0)&1|i<<1):i=0,e=21952+(i<<2)|0,r[x+28>>2]=i,t=x+16|0,r[t+4>>2]=0,r[t>>2]=0,t=1<<i,!(n&t)){r[5413]=n|t,r[e>>2]=x,r[x+24>>2]=e,r[x+12>>2]=x,r[x+8>>2]=x;break}e=r[e>>2]|0;r:do if((r[e+4>>2]&-8|0)!=(A|0)){for(n=A<<((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)==(A|0)){e=t;break r}else n=n<<1,e=t;r[i>>2]=x,r[x+24>>2]=e,r[x+12>>2]=x,r[x+8>>2]=x;break t}while(0);t0=e+8|0,S=r[t0>>2]|0,r[S+12>>2]=x,r[t0>>2]=x,r[x+8>>2]=S,r[x+12>>2]=e,r[x+24>>2]=0}while(0);return S=l+8|0,v=M0,S|0}else w=d}else w=d;else w=-1;while(0);if(i=r[5414]|0,i>>>0>=w>>>0)return e=i-w|0,t=r[5417]|0,e>>>0>15?(S=t+w|0,r[5417]=S,r[5414]=e,r[S+4>>2]=e|1,r[t+i>>2]=e,r[t+4>>2]=w|3):(r[5414]=0,r[5417]=0,r[t+4>>2]=i|3,S=t+i+4|0,r[S>>2]=r[S>>2]|1),S=t+8|0,v=M0,S|0;if(A=r[5415]|0,A>>>0>w>>>0)return J=A-w|0,r[5415]=J,S=r[5418]|0,t0=S+w|0,r[5418]=t0,r[t0+4>>2]=J|1,r[S+4>>2]=w|3,S=S+8|0,v=M0,S|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]=N&-16^1431655768,t=4096),l=w+48|0,c=w+47|0,a=t+c|0,o=0-t|0,d=a&o,d>>>0<=w>>>0||(t=r[5522]|0,t|0&&(x=r[5520]|0,N=x+d|0,N>>>0<=x>>>0|N>>>0>t>>>0)))return S=0,v=M0,S|0;t:do if(r[5523]&4)e=0,U=143;else{i=r[5418]|0;r:do if(i){for(n=22096;N=r[n>>2]|0,!(N>>>0<=i>>>0&&(N+(r[n+4>>2]|0)|0)>>>0>i>>>0);)if(t=r[n+8>>2]|0,t)n=t;else{U=128;break r}if(e=a-A&o,e>>>0<2147483647)if(t=zr(e)|0,(t|0)==((r[n>>2]|0)+(r[n+4>>2]|0)|0)){if((t|0)!=-1){A=e,a=t,U=145;break t}}else n=t,U=136;else e=0}else U=128;while(0);do if((U|0)==128)if(i=zr(0)|0,(i|0)!=-1&&(e=i,G=r[5531]|0,E=G+-1|0,e=(E&e|0?(E+e&0-G)-e|0:0)+d|0,G=r[5520]|0,E=e+G|0,e>>>0>w>>>0&e>>>0<2147483647)){if(N=r[5522]|0,N|0&&E>>>0<=G>>>0|E>>>0>N>>>0){e=0;break}if(t=zr(e)|0,(t|0)==(i|0)){A=e,a=i,U=145;break t}else n=t,U=136}else e=0;while(0);do if((U|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{A=e,a=n,U=145;break t}if(t=r[5532]|0,t=c-e+t&0-t,t>>>0>=2147483647){A=e,a=n,U=145;break t}if((zr(t)|0)==-1){zr(i)|0,e=0;break}else{A=t+e|0,a=n,U=145;break t}}while(0);r[5523]=r[5523]|4,U=143}while(0);if((U|0)==143&&d>>>0<2147483647&&(J=zr(d)|0,E=zr(0)|0,e0=E-J|0,Y=e0>>>0>(w+40|0)>>>0,!((J|0)==-1|Y^1|J>>>0<E>>>0&((J|0)!=-1&(E|0)!=-1)^1))&&(A=Y?e0:e,a=J,U=145),(U|0)==145){e=(r[5520]|0)+A|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,(a|0)==(t+i|0)){U=154;break}if(n=r[e+8>>2]|0,n)e=n;else break}if((U|0)==154&&(t0=e+4|0,(r[e+12>>2]&8|0)==0)&&a>>>0>c>>>0&t>>>0<=c>>>0){r[t0>>2]=i+A,S=(r[5415]|0)+A|0,J=c+8|0,J=J&7|0?0-J&7:0,t0=c+J|0,J=S-J|0,r[5418]=t0,r[5415]=J,r[t0+4>>2]=J|1,r[c+S+4>>2]=40,r[5419]=r[5534];break}for(a>>>0<(r[5416]|0)>>>0&&(r[5416]=a),i=a+A|0,e=22096;;){if((r[e>>2]|0)==(i|0)){U=162;break}if(t=r[e+8>>2]|0,t)e=t;else break}if((U|0)==162&&!(r[e+12>>2]&8|0)){r[e>>2]=a,x=e+4|0,r[x>>2]=(r[x>>2]|0)+A,x=a+8|0,x=a+(x&7|0?0-x&7:0)|0,e=i+8|0,e=i+(e&7|0?0-e&7:0)|0,d=x+w|0,l=e-x-w|0,r[x+4>>2]=w|3;r:do if((c|0)==(e|0))S=(r[5415]|0)+l|0,r[5415]=S,r[5418]=d,r[d+4>>2]=S|1;else{if((r[5417]|0)==(e|0)){S=(r[5414]|0)+l|0,r[5414]=S,r[5417]=d,r[d+4>>2]=S|1,r[d+S>>2]=S;break}if(t=r[e+4>>2]|0,(t&3|0)==1){A=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{a=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 S=r[e+8>>2]|0,r[S+12>>2]=t,r[t+8>>2]=S;while(0);if(!a)break;i=r[e+28>>2]|0,n=21952+(i<<2)|0;do if((r[n>>2]|0)!=(e|0)){if(S=a+16|0,r[((r[S>>2]|0)==(e|0)?S:a+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]=a,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+A|0,o=A+l|0}else o=l;if(e=e+4|0,r[e>>2]=r[e>>2]&-2,r[d+4>>2]=o|1,r[d+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]=d,r[e+12>>2]=d,r[d+8>>2]=e,r[d+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,S=e<<t0,J=(S+520192|0)>>>16&4,S=S<<J,n=(S+245760|0)>>>16&2,n=14-(J|t0|n)+(S<<n>>>15)|0,n=o>>>(n+7|0)&1|n<<1}while(0);if(e=21952+(n<<2)|0,r[d+28>>2]=n,t=d+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]=d,r[d+24>>2]=e,r[d+12>>2]=d,r[d+8>>2]=d;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]=d,r[d+24>>2]=e,r[d+12>>2]=d,r[d+8>>2]=d;break r}while(0);t0=e+8|0,S=r[t0>>2]|0,r[S+12>>2]=d,r[t0>>2]=d,r[d+8>>2]=S,r[d+12>>2]=e,r[d+24>>2]=0}while(0);return S=x+8|0,v=M0,S|0}for(e=22096;t=r[e>>2]|0,!(t>>>0<=c>>>0&&(S=t+(r[e+4>>2]|0)|0,S>>>0>c>>>0));)e=r[e+8>>2]|0;o=S+-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=A+-40|0,J=a+8|0,J=J&7|0?0-J&7:0,t0=a+J|0,J=i-J|0,r[5418]=t0,r[5415]=J,r[t0+4>>2]=J|1,r[a+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]=a,r[5525]=A,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<S>>>0);if((t|0)!=(c|0)){if(a=t-c|0,r[i>>2]=r[i>>2]&-2,r[c+4>>2]=a|1,r[t>>2]=a,e=a>>>3,a>>>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=a>>>8,e?a>>>0>16777215?n=31:(t0=(e+1048320|0)>>>16&8,S=e<<t0,J=(S+520192|0)>>>16&4,S=S<<J,n=(S+245760|0)>>>16&2,n=14-(J|t0|n)+(S<<n>>>15)|0,n=a>>>(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)!=(a|0)){for(n=a<<((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)==(a|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,S=r[t0>>2]|0,r[S+12>>2]=c,r[t0>>2]=c,r[c+8>>2]=S,r[c+12>>2]=e,r[c+24>>2]=0}}else S=r[5416]|0,(S|0)==0|a>>>0<S>>>0&&(r[5416]=a),r[5524]=a,r[5525]=A,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,S=A+-40|0,J=a+8|0,J=J&7|0?0-J&7:0,t0=a+J|0,J=S-J|0,r[5418]=t0,r[5415]=J,r[t0+4>>2]=J|1,r[a+S+4>>2]=40,r[5419]=r[5534];while(0);if(e=r[5415]|0,e>>>0>w>>>0)return J=e-w|0,r[5415]=J,S=r[5418]|0,t0=S+w|0,r[5418]=t0,r[t0+4>>2]=J|1,r[S+4>>2]=w|3,S=S+8|0,v=M0,S|0}return r[(Pt()|0)>>2]=48,S=0,v=M0,S|0}function h2(t){t=t|0;var e=0,i=0,n=0,o=0,a=0,A=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,A=i;else{if(n=r[i>>2]|0,!(t&3)||(A=i+(0-n)|0,a=n+e|0,A>>>0<o>>>0))return;if((r[5417]|0)==(A|0)){if(t=c+4|0,e=r[t>>2]|0,(e&3|0)!=3){l=A,e=a;break}r[5414]=a,r[t>>2]=e&-2,r[A+4>>2]=a|1,r[A+a>>2]=a;return}if(i=n>>>3,n>>>0<256)if(t=r[A+8>>2]|0,e=r[A+12>>2]|0,(e|0)==(t|0)){r[5412]=r[5412]&~(1<<i),l=A,e=a;break}else{r[t+12>>2]=e,r[e+8>>2]=t,l=A,e=a;break}o=r[A+24>>2]|0,t=r[A+12>>2]|0;do if((t|0)==(A|0)){if(e=A+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[A+8>>2]|0,r[l+12>>2]=t,r[t+8>>2]=l;while(0);if(o){if(e=r[A+28>>2]|0,i=21952+(e<<2)|0,(r[i>>2]|0)==(A|0)){if(r[i>>2]=t,!t){r[5413]=r[5413]&~(1<<e),l=A,e=a;break}}else if(l=o+16|0,r[((r[l>>2]|0)==(A|0)?l:o+20|0)>>2]=t,!t){l=A,e=a;break}r[t+24>>2]=o,e=A+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=A,e=a):(l=A,e=a)}else l=A,e=a}while(0);if(A>>>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[A+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]=A,r[l+4>>2]=c|1,r[A+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{a=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(a|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=a+16|0,r[((r[n>>2]|0)==(c|0)?n:a+20|0)>>2]=i,!i)break;r[i+24>>2]=a,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[A+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:(A=(t+1048320|0)>>>16&8,c=t<<A,a=(c+520192|0)>>>16&4,c=c<<a,n=(c+245760|0)>>>16&2,n=14-(a|A|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);A=t+8|0,c=r[A>>2]|0,r[c+12>>2]=l,r[A>>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 zr(t){t=t|0;var e=0,i=0,n=0;n=t+3&-4,t=zf()|0,e=r[t>>2]|0,i=e+n|0;do if((n|0)<1|i>>>0>e>>>0){if(i>>>0>(j1()|0)>>>0&&!(D1(i|0)|0))break;return r[t>>2]=i,n=e,n|0}while(0);return r[(Pt()|0)>>2]=48,n=-1,n|0}function my(t){t=t|0;var e=0;return e=v,v=v+t|0,v=v+15&-16,e|0}function vy(t){t=t|0,v=t}function py(){return v|0}function dy(t,e){t=t|0,e=e|0;var i=0,n=0,o=0,a=0;return a=t&65535,o=e&65535,i=u0(o,a)|0,n=t>>>16,t=(i>>>16)+(u0(o,n)|0)|0,o=e>>>16,e=u0(o,a)|0,Z0((t>>>16)+(u0(o,n)|0)+(((t&65535)+e|0)>>>16)|0),t+e<<16|i&65535|0|0}function l2(t,e,i,n){t=t|0,e=e|0,i=i|0,n=n|0;var o=0,a=0;return o=t,a=i,i=dy(o,a)|0,t=y0()|0,Z0((u0(e,a)|0)+(u0(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 Gf(t){return t=t|0,(t?31-(Lt(t^t-1)|0)|0:32)|0}function yy(t,e,i,n,o){t=t|0,e=e|0,i=i|0,n=n|0,o=o|0;var a=0,A=0,l=0,c=0,d=0,x=0,w=0,N=0,G=0,E=0;if(x=t,c=e,d=c,A=i,N=n,l=N,!d)return a=(o|0)!=0,l?a?(r[o>>2]=t|0,r[o+4>>2]=e&0,N=0,o=0,Z0(N|0),o|0):(N=0,o=0,Z0(N|0),o|0):(a&&(r[o>>2]=(x>>>0)%(A>>>0),r[o+4>>2]=0),N=0,o=(x>>>0)/(A>>>0)>>>0,Z0(N|0),o|0);a=(l|0)==0;do if(A){if(!a){if(a=(Lt(l|0)|0)-(Lt(d|0)|0)|0,a>>>0<=31){w=a+1|0,l=31-a|0,e=a-31>>31,A=w,t=x>>>(w>>>0)&e|d<<l,e=d>>>(w>>>0)&e,a=0,l=x<<l;break}return o?(r[o>>2]=t|0,r[o+4>>2]=c|e&0,N=0,o=0,Z0(N|0),o|0):(N=0,o=0,Z0(N|0),o|0)}if(a=A-1|0,a&A|0){l=(Lt(A|0)|0)+33-(Lt(d|0)|0)|0,E=64-l|0,w=32-l|0,c=w>>31,G=l-32|0,e=G>>31,A=l,t=w-1>>31&d>>>(G>>>0)|(d<<w|x>>>(l>>>0))&e,e=e&d>>>(l>>>0),a=x<<E&c,l=(d<<E|x>>>(G>>>0))&c|x<<w&l-33>>31;break}return o|0&&(r[o>>2]=a&x,r[o+4>>2]=0),(A|0)==1?(G=c|e&0,E=t|0|0,Z0(G|0),E|0):(E=Gf(A|0)|0,G=d>>>(E>>>0)|0,E=d<<32-E|x>>>(E>>>0)|0,Z0(G|0),E|0)}else{if(a)return o|0&&(r[o>>2]=(d>>>0)%(A>>>0),r[o+4>>2]=0),G=0,E=(d>>>0)/(A>>>0)>>>0,Z0(G|0),E|0;if(!x)return o|0&&(r[o>>2]=0,r[o+4>>2]=(d>>>0)%(l>>>0)),G=0,E=(d>>>0)/(l>>>0)>>>0,Z0(G|0),E|0;if(a=l-1|0,!(a&l))return o|0&&(r[o>>2]=t|0,r[o+4>>2]=a&d|e&0),G=0,E=d>>>((Gf(l|0)|0)>>>0),Z0(G|0),E|0;if(a=(Lt(l|0)|0)-(Lt(d|0)|0)|0,a>>>0<=30){e=a+1|0,l=31-a|0,A=e,t=d<<l|x>>>(e>>>0),e=d>>>(e>>>0),a=0,l=x<<l;break}return o?(r[o>>2]=t|0,r[o+4>>2]=c|e&0,G=0,E=0,Z0(G|0),E|0):(G=0,E=0,Z0(G|0),E|0)}while(0);if(!A)d=l,c=0,l=0;else{w=i|0|0,x=N|n&0,d=yt(w|0,x|0,-1,-1)|0,i=y0()|0,c=l,l=0;do n=c,c=a>>>31|c<<1,a=l|a<<1,n=t<<1|n>>>31|0,N=t>>>31|e<<1|0,ae(d|0,i|0,n|0,N|0)|0,E=y0()|0,G=E>>31|((E|0)<0?-1:0)<<1,l=G&1,t=ae(n|0,N|0,G&w|0,(((E|0)<0?-1:0)>>31|((E|0)<0?-1:0)<<1)&x|0)|0,e=y0()|0,A=A-1|0;while(A|0);d=c,c=0}return A=0,o|0&&(r[o>>2]=t,r[o+4>>2]=e),G=(a|0)>>>31|(d|A)<<1|(A<<1|a>>>31)&0|c,E=(a<<1|0>>>31)&-2|l,Z0(G|0),E|0}function u2(t,e,i,n){return t=t|0,e=e|0,i=i|0,n=n|0,yy(t,e,i,n,0)|0}function Gi(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 Ef(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 zf(){return 22176}function Bf(t){return t=t|0,(t&255)<<24|(t>>8&255)<<16|(t>>16&255)<<8|t>>>24|0}function ht(t,e,i){t=t|0,e=e|0,i=i|0;var n=0,o=0,a=0;if((i|0)>=512)return Y1(t|0,e|0,i|0)|0,t|0;if(a=t|0,o=t+i|0,(t&3)==(e&3)){for(;t&3;){if(!i)return a|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 a|0}function Mt(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 ht(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,a=0,A=0;if(a=t+i|0,e=e&255,(i|0)>=67){for(;t&3;)u[t>>0]=e,t=t+1|0;for(n=a&-4|0,A=e|e<<8|e<<16|e<<24,o=n-64|0;(t|0)<=(o|0);)r[t>>2]=A,r[t+4>>2]=A,r[t+8>>2]=A,r[t+12>>2]=A,r[t+16>>2]=A,r[t+20>>2]=A,r[t+24>>2]=A,r[t+28>>2]=A,r[t+32>>2]=A,r[t+36>>2]=A,r[t+40>>2]=A,r[t+44>>2]=A,r[t+48>>2]=A,r[t+52>>2]=A,r[t+56>>2]=A,r[t+60>>2]=A,t=t+64|0;for(;(t|0)<(n|0);)r[t>>2]=A,t=t+4|0}for(;(t|0)<(a|0);)u[t>>0]=e,t=t+1|0;return a-i|0}function My(t){return t=t|0,v2[t&3]()|0}function gy(t,e){return t=t|0,e=e|0,Ei[t&15](e|0)|0}function _y(t,e,i,n,o,a,A){return t=t|0,e=e|0,i=+i,n=n|0,o=o|0,a=a|0,A=A|0,Of[t&1](e|0,+i,n|0,o|0,a|0,A|0)|0}function Ry(t,e,i){return t=t|0,e=e|0,i=i|0,Oe[t&63](e|0,i|0)|0}function xy(t,e,i,n){return t=t|0,e=e|0,i=i|0,n=n|0,Ae[t&7](e|0,i|0,n|0)|0}function wy(t){t=t|0,p2[t&3]()}function Zy(t,e){t=t|0,e=e|0,w0[t&255](e|0)}function Fy(t,e,i){t=t|0,e=e|0,i=i|0,vr[t&15](e|0,i|0)}function ky(t,e,i,n){t=t|0,e=e|0,i=i|0,n=n|0,Je[t&15](e|0,i|0,n|0)}function Ny(t,e,i,n,o){t=t|0,e=e|0,i=i|0,n=n|0,o=o|0,Pe[t&7](e|0,i|0,n|0,o|0)}function Vy(t,e,i,n,o,a){t=t|0,e=e|0,i=i|0,n=n|0,o=o|0,a=a|0,zi[t&3](e|0,i|0,n|0,o|0,a|0)}function Wy(t,e,i,n,o,a,A){t=t|0,e=e|0,i=i|0,n=n|0,o=o|0,a=a|0,A=A|0,je[t&3](e|0,i|0,n|0,o|0,a|0,A|0)}function Sf(){return K0(0),0}function c2(t){return t=t|0,K0(1),0}function Ty(t,e,i,n,o,a){return t=t|0,e=+e,i=i|0,n=n|0,o=o|0,a=a|0,K0(2),0}function E0(t,e){return t=t|0,e=e|0,K0(3),0}function Cf(t,e,i){return t=t|0,e=e|0,i=i|0,K0(4),0}function If(){K0(5)}function O(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 m2(t,e,i,n){t=t|0,e=e|0,i=i|0,n=n|0,K0(9)}function Xy(t,e,i,n,o){t=t|0,e=e|0,i=i|0,n=n|0,o=o|0,K0(10)}function Uy(t,e,i,n,o,a){t=t|0,e=e|0,i=i|0,n=n|0,o=o|0,a=a|0,K0(11)}var v2=[Sf,Mv,n5,Sf],Ei=[c2,hd,Yl,$l,nd,od,Cd,$d,sy,av,K1,Hv,_v,o5,c2,c2],Of=[Ty,Z6],Oe=[E0,hl,dl,ql,qu,gc,Fc,Tc,Xc,Gc,Lc,bc,c4,y4,w4,W4,q4,nm,hm,mm,Rm,km,Um,Bm,Ym,e3,a3,c3,M3,Z3,z3,J3,q3,n8,m8,g8,W8,S8,D8,K8,ov,Iv,E0,E0,E0,E0,E0,E0,E0,E0,E0,E0,E0,E0,E0,E0,E0,E0,E0,E0,E0,E0,E0,E0],Ae=[Cf,E6,D6,vd,dd,bd,ty,Cf],p2=[If,cd,J6,If],w0=[O,C0,al,Al,ll,vl,pl,yl,At,zl,Kl,jl,Hl,Ll,iu,nu,cu,mu,Zu,Fu,ku,Ou,Lu,Qu,$u,dc,Ks,_c,kr,Rc,wc,Zc,kc,to,Wc,vt,Uc,Dc,Hc,Qc,Ao,Kc,l4,u4,m4,co,d4,R4,x4,Z4,yo,V4,L4,Q4,$4,Go,sm,am,Am,lm,Eo,vm,gm,_m,xm,zo,Nm,Tm,Xm,Gm,Io,Sm,Pm,jm,Dm,t3,r3,i3,o3,f3,A3,Jo,m3,d3,y3,g3,Po,w3,G3,E3,B3,Yo,O3,L3,Q3,$3,Do,i8,u8,c8,v8,Ho,M8,N8,V8,T8,Lo,B8,j8,Y8,H8,Qo,$8,nv,sv,fv,fe,P6,j6,Y6,q6,ed,id,Wi,sd,Ad,ld,ud,md,pd,gd,Vf,Sd,Qd,qd,ny,Uf,Ay,lv,qv,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O],vr=[mr,Dl,Ql,$1,tl,rl,el,il,F6,mr,mr,mr,mr,mr,mr,mr],Je=[Sr,Kd,ry,oy,fy,q1,b1,Gv,y5,w5,Sr,Sr,Sr,Sr,Sr,Sr],Pe=[m2,Q6,b6,xd,Nv,c5,m2,m2],zi=[Xy,L6,K6,Rd],je=[Uy,H6,$6,_d];return{__ZSt18uncaught_exceptionv:zd,___cxa_can_catch:Ud,___cxa_is_pointer_type:Gd,___embind_register_native_and_builtin_types:rf,___errno_location:Pt,___getTypeName:p6,___muldi3:l2,___udivdi3:u2,_bitshift64Lshr:Gi,_bitshift64Shl:Ef,_emscripten_get_sbrk_ptr:zf,_free:h2,_i64Add:yt,_i64Subtract:ae,_llvm_bswap_i32:Bf,_malloc:Ui,_memcpy:ht,_memmove:Mt,_memset:Br,dynCall_i:My,dynCall_ii:gy,dynCall_iidiiii:_y,dynCall_iii:Ry,dynCall_iiii:xy,dynCall_v:wy,dynCall_vi:Zy,dynCall_vii:Fy,dynCall_viii:ky,dynCall_viiii:Ny,dynCall_viiiii:Vy,dynCall_viiiiii:Wy,globalCtors:H1,stackAlloc:my,stackRestore:vy,stackSave:py}}(W1,T1,Mr),we=s.__ZSt18uncaught_exceptionv=c0.__ZSt18uncaught_exceptionv,W9=s.___cxa_can_catch=c0.___cxa_can_catch,T9=s.___cxa_is_pointer_type=c0.___cxa_is_pointer_type,X9=s.___embind_register_native_and_builtin_types=c0.___embind_register_native_and_builtin_types,U9=s.___errno_location=c0.___errno_location,X1=s.___getTypeName=c0.___getTypeName,G9=s.___muldi3=c0.___muldi3,E9=s.___udivdi3=c0.___udivdi3,z9=s._bitshift64Lshr=c0._bitshift64Lshr,B9=s._bitshift64Shl=c0._bitshift64Shl,S9=s._emscripten_get_sbrk_ptr=c0._emscripten_get_sbrk_ptr,lr=s._free=c0._free,C9=s._i64Add=c0._i64Add,I9=s._i64Subtract=c0._i64Subtract,O9=s._llvm_bswap_i32=c0._llvm_bswap_i32,kn=s._malloc=c0._malloc,J9=s._memcpy=c0._memcpy,P9=s._memmove=c0._memmove,j9=s._memset=c0._memset,U1=s.globalCtors=c0.globalCtors,Ms=s.stackAlloc=c0.stackAlloc,G1=s.stackRestore=c0.stackRestore,E1=s.stackSave=c0.stackSave,Y9=s.dynCall_i=c0.dynCall_i,D9=s.dynCall_ii=c0.dynCall_ii,H9=s.dynCall_iidiiii=c0.dynCall_iidiiii,L9=s.dynCall_iii=c0.dynCall_iii,Q9=s.dynCall_iiii=c0.dynCall_iiii,q9=s.dynCall_v=c0.dynCall_v,$9=s.dynCall_vi=c0.dynCall_vi,K9=s.dynCall_vii=c0.dynCall_vii,b9=s.dynCall_viii=c0.dynCall_viii,tR=s.dynCall_viiii=c0.dynCall_viiii,rR=s.dynCall_viiiii=c0.dynCall_viiiii,eR=s.dynCall_viiiiii=c0.dynCall_viiiiii;if(s.asm=c0,Ut)if(ns(Ut)||(Ut=T(Ut)),F||V){var z1=P(Ut);$0.set(z1,D2)}else{dh("memory initializer");var Nn=function(M){M.byteLength&&(M=new Uint8Array(M)),$0.set(M,D2),s.memoryInitializerRequest&&delete s.memoryInitializerRequest.response,yh("memory initializer")},gs=function(){W(Ut,Nn,function(){var M=new Error("could not load memory initializer "+Ut);throw M})},_s=hr(Ut);if(_s)Nn(_s.buffer);else if(s.memoryInitializerRequest){var Rs=function(){var M=s.memoryInitializerRequest,g=M.response;if(M.status!==200&&M.status!==0){var k=hr(s.memoryInitializerRequestURL);if(k)g=k.buffer;else{console.warn("a problem seems to have happened with Module.memoryInitializerRequest, status: "+M.status+", retrying "+Ut),gs();return}}Nn(g)};s.memoryInitializerRequest.response?setTimeout(Rs,0):s.memoryInitializerRequest.addEventListener("load",Rs)}else gs()}var Ai;function B1(M){this.name="ExitStatus",this.message="Program terminated with exit("+M+")",this.status=M}ye=function M(){Ai||Vn(),Ai||(ye=M)};function Vn(M){if(M=M||m,_r>0||(fh(),_r>0))return;function g(){Ai||(Ai=!0,s.calledRun=!0,!L2&&(ah(),Ah(),s.onRuntimeInitialized&&s.onRuntimeInitialized(),hh()))}s.setStatus?(s.setStatus("Running..."),setTimeout(function(){setTimeout(function(){s.setStatus("")},1),g()},1)):g()}if(s.run=Vn,s.preInit)for(typeof s.preInit=="function"&&(s.preInit=[s.preInit]);s.preInit.length>0;)s.preInit.pop()();return H2=!0,Vn(),s}var Kt=null,na={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,f={},h,m){m=m===void 0||m===0?1:m;let p=s.slice(h,h+f.BYTES_PER_ELEMENT*m),y=new f(p);if(m===1)return y[0];let _=[];for(let R=0;R<m;R++)_.push(y[R]);return _}function sa(s){let f=131,h={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,f,3)};f+=24,h.offset=pr(s,Float64Array,f,3),f+=24;let m=pr(s,Float64Array,f,6);f+=48,h.maxs=[m[0],m[2],m[4]],h.mins=[m[1],m[3],m[5]];let p=new Set([2,3]);return h.hasColor=p.has(h.pointsFormatId&63),h}var Z2=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(f){this.arraybuffer=f}open(){return!0}getHeader(){return this.header=sa(this.arraybuffer),this.header}readData(f,h){let{header:m,arraybuffer:p}=this;if(!m)throw new Error("Cannot start reading data till a header request is issued");let{readOffset:y}=this,_;if(h<=1){f=Math.min(f,m.pointsCount-y),_=m.pointsOffset+y*m.pointsStructSize;let T=_+f*m.pointsStructSize;return y+=f,this.readOffset=y,{buffer:p.slice(_,T),count:f,hasMoreData:y<m.pointsCount}}let R=Math.min(f*h,m.pointsCount-y),F=Math.ceil(R/h),V=0,X=new Uint8Array(F*m.pointsStructSize);for(let T=0;T<R;T++){if(T%h===0){_=m.pointsOffset+y*m.pointsStructSize;let C=new Uint8Array(p,_,m.pointsStructSize);X.set(C,V*m.pointsStructSize),V++}y++}return this.readOffset=y,{buffer:X.buffer,count:V,hasMoreData:y<m.pointsCount}}close(){return this.arraybuffer=null,!0}},F2=class{arraybuffer;instance=null;header=null;constructor(f){this.arraybuffer=f,Kt||(Kt=w2())}open(){try{let{arraybuffer:f}=this;this.instance=new Kt.LASZip;let h=new Uint8Array(f),m=Kt._malloc(f.byteLength);return this.instance.arraybuffer=f,this.instance.buf=m,Kt.HEAPU8.set(h,m),this.instance.open(m,f.byteLength),this.instance.readOffset=0,!0}catch(f){throw new Error(`Failed to open file: ${f.message}`)}}getHeader(){if(!this.instance)throw new Error("You need to open the file before trying to read header");try{let f=sa(this.instance.arraybuffer);return f.pointsFormatId&=63,this.header=f,f}catch(f){throw new Error(`Failed to get header: ${f.message}`)}}readData(f,h){if(!this.instance)throw new Error("You need to open the file before trying to read stuff");let{header:m,instance:p}=this;if(!m)throw new Error("You need to query header before reading, I maintain state that way, sorry :(");try{let y=Math.min(f*h,m.pointsCount-p.readOffset),_=Math.ceil(y/h),R=0,F=new Uint8Array(_*m.pointsStructSize),V=Kt._malloc(m.pointsStructSize);for(let X=0;X<y;X++){if(p.getPoint(V),X%h===0){let T=new Uint8Array(Kt.HEAPU8.buffer,V,m.pointsStructSize);F.set(T,R*m.pointsStructSize),R++}p.readOffset++}return Kt._free(V),{buffer:F.buffer,count:R,hasMoreData:p.readOffset<m.pointsCount}}catch(y){throw new Error(`Failed to read data: ${y.message}`)}}close(){try{return this.instance!==null&&(Kt._free(this.instance.buf),this.instance.delete(),this.instance=null),!0}catch(f){throw new Error(`Failed to close file: ${f.message}`)}}},k2=class{arrayb;decoder;pointsCount;pointSize;scale;offset;mins;maxs;constructor(f,h,m){this.arrayb=f,this.decoder=na[m.pointsFormatId],this.pointsCount=h,this.pointSize=m.pointsStructSize,this.scale=m.scale,this.offset=m.offset,this.mins=m.mins,this.maxs=m.maxs}getPoint(f){if(f<0||f>=this.pointsCount)throw new Error("Point index out of range");let h=new DataView(this.arrayb,f*this.pointSize,this.pointSize);return this.decoder(h)}},Oi=class{arraybuffer;formatId=0;loader;isCompressed=!0;isOpen=!1;version=0;versionAsString="";constructor(f){if(this.arraybuffer=f,this.determineVersion()>13)throw new Error("Only file versions <= 1.3 are supported at this time");if(this.determineFormat(),na[this.formatId]===void 0)throw new Error("The point format ID is not supported");this.loader=this.isCompressed?new F2(this.arraybuffer):new Z2(this.arraybuffer)}determineFormat(){let f=pr(this.arraybuffer,Uint8Array,104),h=(f&128)>>7,m=(f&64)>>6;if(h===1&&m===1)throw new Error("Old style compression not supported");this.formatId=f&63,this.isCompressed=h===1||m===1}determineVersion(){let f=new Int8Array(this.arraybuffer,24,2);return this.version=f[0]*10+f[1],this.versionAsString=`${f[0]}.${f[1]}`,this.version}open(){this.loader.open()&&(this.isOpen=!0)}getHeader(){return this.loader.getHeader()}readData(f,h){return this.loader.readData(f,h)}close(){this.loader.close()&&(this.isOpen=!1)}getUnpacker(){return k2}};function N2(s,f){return by(s,f)}function by(s,f={}){let h=0,m,p,y,_,R,F={loader:"las",loaderData:{},schema:{fields:[],metadata:{}},header:{vertexCount:0,boundingBox:[[0,0,0],[0,0,0]]},attributes:{},topology:"point-list",mode:0};return tM(s,f.las?.skip,(V={},X)=>{if(!R){R=X;let p0=X.totalToRead,h0=f.las?.fp64?Float64Array:Float32Array;m=new h0(p0*3),p=X.hasColor?new Uint8Array(p0*4):null,y=new Uint16Array(p0),_=new Uint8Array(p0),F.loaderData=X,F.attributes={POSITION:{value:m,size:3},intensity:{value:y,size:1},classification:{value:_,size:1}},p&&(F.attributes.COLOR_0={value:p,size:4})}let T=V.pointsCount,{scale:[C,W,P],offset:[q,K,r0]}=X,o0=rM(V,T,f.las?.colorDepth);for(let p0=0;p0<T;p0++){let{position:h0,color:a0,intensity:U0,classification:V0}=V.getPoint(p0);m[h*3]=h0[0]*C+q,m[h*3+1]=h0[1]*W+K,m[h*3+2]=h0[2]*P+r0,a0&&p&&(o0?(p[h*4]=a0[0]/256,p[h*4+1]=a0[1]/256,p[h*4+2]=a0[2]/256):(p[h*4]=a0[0],p[h*4+1]=a0[1],p[h*4+2]=a0[2]),p[h*4+3]=255),y[h]=U0,_[h]=V0,h++}let l0={...F,header:{vertexCount:X.totalRead},progress:X.totalRead/X.totalToRead};f?.onProgress?.(l0)}),F.header={vertexCount:R.totalToRead,boundingBox:_2(F?.attributes||{})},F&&(F.schema=ea(F.loaderData,F.attributes)),F}function tM(s,f,h={}){let m=new Oi(s);try{m.open();let p=m.getHeader(),y=m.getUnpacker(),_=Math.ceil(p.pointsCount/Math.max(1,f));p.totalToRead=_;let R=0;for(;;){let F=m.readData(1e5,f);R+=F.count,p.totalRead=R;let V=new y(F.buffer,F.count,p);if(h(V,p),!F.hasMoreData||R>=_)break}}catch(p){throw p}finally{m.close()}}function rM(s={},f,h){let m=!1;switch(h){case 8:m=!1;break;case 16:m=!0;break;case"auto":if(s.getPoint(0).color)for(let p=0;p<f;p++){let{color:y}=s.getPoint(p);(y[0]>255||y[1]>255||y[2]>255)&&(m=!0)}break;default:console.warn("las: illegal value for options.las.colorDepth");break}return m}var V2={...Kf,parse:async(s,f)=>N2(s,f),parseSync:(s,f)=>N2(s,f)};function oa(s){let f=s.split(".").map(Number);return{major:f[0],minor:f[1]}}function fa(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 Nt=1,Vt=2,aa=4,He=5,Ir=484813681109536e-20,j=Math.PI/2,Aa=.16666666666666666,ha=.04722222222222222,la=.022156084656084655,L=1e-10,O0=.017453292519943295,Wt=57.29577951308232,d0=Math.PI/4,Le=Math.PI*2,z0=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 ua={ft:{to_meter:.3048},"us-ft":{to_meter:1200/3937}};var ca=/[\s_\-\/\(\)]/g;function lt(s,f){if(s[f])return s[f];for(var h=Object.keys(s),m=f.toLowerCase().replace(ca,""),p=-1,y,_;++p<h.length;)if(y=h[p],_=y.toLowerCase().replace(ca,""),_===m)return s[y]}function Qe(s){var f={},h=s.split("+").map(function(R){return R.trim()}).filter(function(R){return R}).reduce(function(R,F){var V=F.split("=");return V.push(!0),R[V[0].toLowerCase()]=V[1],R},{}),m,p,y,_={proj:"projName",datum:"datumCode",rf:function(R){f.rf=parseFloat(R)},lat_0:function(R){f.lat0=R*O0},lat_1:function(R){f.lat1=R*O0},lat_2:function(R){f.lat2=R*O0},lat_ts:function(R){f.lat_ts=R*O0},lon_0:function(R){f.long0=R*O0},lon_1:function(R){f.long1=R*O0},lon_2:function(R){f.long2=R*O0},alpha:function(R){f.alpha=parseFloat(R)*O0},lonc:function(R){f.longc=R*O0},x_0:function(R){f.x0=parseFloat(R)},y_0:function(R){f.y0=parseFloat(R)},k_0:function(R){f.k0=parseFloat(R)},k:function(R){f.k0=parseFloat(R)},a:function(R){f.a=parseFloat(R)},b:function(R){f.b=parseFloat(R)},r_a:function(){f.R_A=!0},zone:function(R){f.zone=parseInt(R,10)},south:function(){f.utmSouth=!0},towgs84:function(R){f.datum_params=R.split(",").map(function(F){return parseFloat(F)})},to_meter:function(R){f.to_meter=parseFloat(R)},units:function(R){f.units=R;var F=lt(ua,R);F&&(f.to_meter=F.to_meter)},from_greenwich:function(R){f.from_greenwich=R*O0},pm:function(R){var F=lt(b0,R);f.from_greenwich=(F||parseFloat(R))*O0},nadgrids:function(R){R==="@null"?f.datumCode="none":f.nadgrids=R},axis:function(R){var F="ewnsud";R.length===3&&F.indexOf(R.substr(0,1))!==-1&&F.indexOf(R.substr(1,1))!==-1&&F.indexOf(R.substr(2,1))!==-1&&(f.axis=R)}};for(m in h)p=h[m],m in _?(y=_[m],typeof y=="function"?y(p):f[y]=p):f[m]=p;return typeof f.datumCode=="string"&&f.datumCode!=="WGS84"&&(f.datumCode=f.datumCode.toLowerCase()),f}var W2=class{static getId(f){let h=f.find(m=>Array.isArray(m)&&m[0]==="ID");return h&&h.length>=3?{authority:h[1],code:parseInt(h[2],10)}:null}static convertUnit(f,h="unit"){if(!f||f.length<3)return{type:h,name:"unknown",conversion_factor:null};let m=f[1],p=parseFloat(f[2])||null,y=f.find(R=>Array.isArray(R)&&R[0]==="ID"),_=y?{authority:y[1],code:parseInt(y[2],10)}:null;return{type:h,name:m,conversion_factor:p,id:_}}static convertAxis(f){let h=f[1]||"Unknown",m,p=h.match(/^\((.)\)$/);if(p){let V=p[1].toUpperCase();if(V==="E")m="east";else if(V==="N")m="north";else if(V==="U")m="up";else throw new Error(`Unknown axis abbreviation: ${V}`)}else m=f[2]?f[2].toLowerCase():"unknown";let y=f.find(V=>Array.isArray(V)&&V[0]==="ORDER"),_=y?parseInt(y[1],10):null,R=f.find(V=>Array.isArray(V)&&(V[0]==="LENGTHUNIT"||V[0]==="ANGLEUNIT"||V[0]==="SCALEUNIT")),F=this.convertUnit(R);return{name:h,direction:m,unit:F,order:_}}static extractAxes(f){return f.filter(h=>Array.isArray(h)&&h[0]==="AXIS").map(h=>this.convertAxis(h)).sort((h,m)=>(h.order||0)-(m.order||0))}static convert(f,h={}){switch(f[0]){case"PROJCRS":h.type="ProjectedCRS",h.name=f[1],h.base_crs=f.find(W=>Array.isArray(W)&&W[0]==="BASEGEOGCRS")?this.convert(f.find(W=>Array.isArray(W)&&W[0]==="BASEGEOGCRS")):null,h.conversion=f.find(W=>Array.isArray(W)&&W[0]==="CONVERSION")?this.convert(f.find(W=>Array.isArray(W)&&W[0]==="CONVERSION")):null;let m=f.find(W=>Array.isArray(W)&&W[0]==="CS");m&&(h.coordinate_system={type:m[1],axis:this.extractAxes(f)});let p=f.find(W=>Array.isArray(W)&&W[0]==="LENGTHUNIT");if(p){let W=this.convertUnit(p);h.coordinate_system.unit=W}h.id=this.getId(f);break;case"BASEGEOGCRS":case"GEOGCRS":h.type="GeographicCRS",h.name=f[1];let y=f.find(W=>Array.isArray(W)&&(W[0]==="DATUM"||W[0]==="ENSEMBLE"));if(y){let W=this.convert(y);y[0]==="ENSEMBLE"?h.datum_ensemble=W:h.datum=W;let P=f.find(q=>Array.isArray(q)&&q[0]==="PRIMEM");P&&P[1]!=="Greenwich"&&(W.prime_meridian={name:P[1],longitude:parseFloat(P[2])})}h.coordinate_system={type:"ellipsoidal",axis:this.extractAxes(f)},h.id=this.getId(f);break;case"DATUM":h.type="GeodeticReferenceFrame",h.name=f[1],h.ellipsoid=f.find(W=>Array.isArray(W)&&W[0]==="ELLIPSOID")?this.convert(f.find(W=>Array.isArray(W)&&W[0]==="ELLIPSOID")):null;break;case"ENSEMBLE":h.type="DatumEnsemble",h.name=f[1],h.members=f.filter(W=>Array.isArray(W)&&W[0]==="MEMBER").map(W=>({type:"DatumEnsembleMember",name:W[1],id:this.getId(W)}));let _=f.find(W=>Array.isArray(W)&&W[0]==="ENSEMBLEACCURACY");_&&(h.accuracy=parseFloat(_[1]));let R=f.find(W=>Array.isArray(W)&&W[0]==="ELLIPSOID");R&&(h.ellipsoid=this.convert(R)),h.id=this.getId(f);break;case"ELLIPSOID":h.type="Ellipsoid",h.name=f[1],h.semi_major_axis=parseFloat(f[2]),h.inverse_flattening=parseFloat(f[3]);let F=f.find(W=>Array.isArray(W)&&W[0]==="LENGTHUNIT")?this.convert(f.find(W=>Array.isArray(W)&&W[0]==="LENGTHUNIT"),h):null;break;case"CONVERSION":h.type="Conversion",h.name=f[1],h.method=f.find(W=>Array.isArray(W)&&W[0]==="METHOD")?this.convert(f.find(W=>Array.isArray(W)&&W[0]==="METHOD")):null,h.parameters=f.filter(W=>Array.isArray(W)&&W[0]==="PARAMETER").map(W=>this.convert(W));break;case"METHOD":h.type="Method",h.name=f[1],h.id=this.getId(f);break;case"PARAMETER":h.type="Parameter",h.name=f[1],h.value=parseFloat(f[2]),h.unit=this.convertUnit(f.find(W=>Array.isArray(W)&&(W[0]==="LENGTHUNIT"||W[0]==="ANGLEUNIT"||W[0]==="SCALEUNIT"))),h.id=this.getId(f);break;case"BOUNDCRS":h.type="BoundCRS";let V=f.find(W=>Array.isArray(W)&&W[0]==="SOURCECRS");if(V){let W=V.find(P=>Array.isArray(P));h.source_crs=W?this.convert(W):null}let X=f.find(W=>Array.isArray(W)&&W[0]==="TARGETCRS");if(X){let W=X.find(P=>Array.isArray(P));h.target_crs=W?this.convert(W):null}let T=f.find(W=>Array.isArray(W)&&W[0]==="ABRIDGEDTRANSFORMATION");T?h.transformation=this.convert(T):h.transformation=null;break;case"ABRIDGEDTRANSFORMATION":if(h.type="Transformation",h.name=f[1],h.method=f.find(W=>Array.isArray(W)&&W[0]==="METHOD")?this.convert(f.find(W=>Array.isArray(W)&&W[0]==="METHOD")):null,h.parameters=f.filter(W=>Array.isArray(W)&&(W[0]==="PARAMETER"||W[0]==="PARAMETERFILE")).map(W=>{if(W[0]==="PARAMETER")return this.convert(W);if(W[0]==="PARAMETERFILE")return{name:W[1],value:W[2],id:{authority:"EPSG",code:8656}}}),h.parameters.length===7){let W=h.parameters[6];W.name==="Scale difference"&&(W.value=Math.round((W.value-1)*1e12)/1e6)}h.id=this.getId(f);break;case"AXIS":h.coordinate_system||(h.coordinate_system={type:"unspecified",axis:[]}),h.coordinate_system.axis.push(this.convertAxis(f));break;case"LENGTHUNIT":let C=this.convertUnit(f,"LinearUnit");h.coordinate_system&&h.coordinate_system.axis&&h.coordinate_system.axis.forEach(W=>{W.unit||(W.unit=C)}),C.conversion_factor&&C.conversion_factor!==1&&h.semi_major_axis&&(h.semi_major_axis={value:h.semi_major_axis,unit:C});break;default:h.keyword=f[0];break}return h}},Ji=W2;var T2=class extends Ji{static convert(f,h={}){return super.convert(f,h),h.coordinate_system&&h.coordinate_system.subtype==="Cartesian"&&delete h.coordinate_system,h.usage&&delete h.usage,h}},ma=T2;var X2=class extends Ji{static convert(f,h={}){super.convert(f,h);let m=f.find(y=>Array.isArray(y)&&y[0]==="CS");m&&(h.coordinate_system={subtype:m[1],axis:this.extractAxes(f)});let p=f.find(y=>Array.isArray(y)&&y[0]==="USAGE");if(p){let y=p.find(F=>Array.isArray(F)&&F[0]==="SCOPE"),_=p.find(F=>Array.isArray(F)&&F[0]==="AREA"),R=p.find(F=>Array.isArray(F)&&F[0]==="BBOX");h.usage={},y&&(h.usage.scope=y[1]),_&&(h.usage.area=_[1]),R&&(h.usage.bbox=R.slice(1))}return h}},va=X2;function eM(s){return s.find(f=>Array.isArray(f)&&f[0]==="USAGE")?"2019":(s.find(f=>Array.isArray(f)&&f[0]==="CS")||s[0]==="BOUNDCRS"||s[0]==="PROJCRS"||s[0]==="GEOGCRS","2015")}function pa(s){return(eM(s)==="2019"?va:ma).convert(s)}function da(s){let f=s.toUpperCase();return f.includes("PROJCRS")||f.includes("GEOGCRS")||f.includes("BOUNDCRS")||f.includes("VERTCRS")||f.includes("LENGTHUNIT")||f.includes("ANGLEUNIT")||f.includes("SCALEUNIT")?"WKT2":(f.includes("PROJCS")||f.includes("GEOGCS")||f.includes("LOCAL_CS")||f.includes("VERT_CS")||f.includes("UNIT"),"WKT1")}var ya=oM,qe=1,Ma=2,ga=3,Pi=4,_a=5,U2=-1,iM=/\s/,nM=/[A-Za-z]/,sM=/[A-Za-z84_]/,ji=/[,\]]/,Ra=/[\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!==Pi)for(;iM.test(s);){if(this.place>=this.text.length)return;s=this.text[this.place++]}switch(this.state){case qe:return this.neutral(s);case Ma:return this.keyword(s);case Pi:return this.quoted(s);case _a:return this.afterquote(s);case ga:return this.number(s);case U2:return}};bt.prototype.afterquote=function(s){if(s==='"'){this.word+='"',this.state=Pi;return}if(ji.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=U2);return}};bt.prototype.number=function(s){if(Ra.test(s)){this.word+=s;return}if(ji.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=_a;return}this.word+=s};bt.prototype.keyword=function(s){if(sM.test(s)){this.word+=s;return}if(s==="["){var f=[];f.push(this.word),this.level++,this.root===null?this.root=f:this.currentObject.push(f),this.stack.push(this.currentObject),this.currentObject=f,this.state=qe;return}if(ji.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(nM.test(s)){this.word=s,this.state=Ma;return}if(s==='"'){this.word="",this.state=Pi;return}if(Ra.test(s)){this.word=s,this.state=ga;return}if(ji.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===U2)return this.root;throw new Error('unable to parse string "'+this.text+'". State is '+this.state)};function oM(s){var f=new bt(s);return f.output()}function G2(s,f,h){Array.isArray(f)&&(h.unshift(f),f=null);var m=f?{}:s,p=h.reduce(function(y,_){return Or(_,y),y},m);f&&(s[f]=p)}function Or(s,f){if(!Array.isArray(s)){f[s]=!0;return}var h=s.shift();if(h==="PARAMETER"&&(h=s.shift()),s.length===1){if(Array.isArray(s[0])){f[h]={},Or(s[0],f[h]);return}f[h]=s[0];return}if(!s.length){f[h]=!0;return}if(h==="TOWGS84"){f[h]=s;return}if(h==="AXIS"){h in f||(f[h]=[]),f[h].push(s);return}Array.isArray(h)||(f[h]={});var m;switch(h){case"UNIT":case"PRIMEM":case"VERT_DATUM":f[h]={name:s[0].toLowerCase(),convert:s[1]},s.length===3&&Or(s[2],f[h]);return;case"SPHEROID":case"ELLIPSOID":f[h]={name:s[0],a:s[1],rf:s[2]},s.length===4&&Or(s[3],f[h]);return;case"EDATUM":case"ENGINEERINGDATUM":case"LOCAL_DATUM":case"DATUM":case"VERT_CS":case"VERTCRS":case"VERTICALCRS":s[0]=["name",s[0]],G2(f,h,s);return;case"COMPD_CS":case"COMPOUNDCRS":case"FITTED_CS":case"PROJECTEDCRS":case"PROJCRS":case"GEOGCS":case"GEOCCS":case"PROJCS":case"LOCAL_CS":case"GEODCRS":case"GEODETICCRS":case"GEODETICDATUM":case"ENGCRS":case"ENGINEERINGCRS":s[0]=["name",s[0]],G2(f,h,s),f[h].type=h;return;default:for(m=-1;++m<s.length;)if(!Array.isArray(s[m]))return Or(s,f[h]);return G2(f,h,s)}}var fM=.017453292519943295;function _t(s){return s*fM}function Yi(s){let f=(s.projName||"").toLowerCase().replace(/_/g," ");!s.long0&&s.longc&&(f==="albers conic equal area"||f==="lambert azimuthal equal area")&&(s.long0=s.longc),!s.lat_ts&&s.lat1&&(f==="stereographic south pole"||f==="polar stereographic (variant b)")?(s.lat0=_t(s.lat1>0?90:-90),s.lat_ts=s.lat1,delete s.lat1):!s.lat_ts&&s.lat0&&(f==="polar stereographic"||f==="polar stereographic (variant a)")&&(s.lat_ts=s.lat0,s.lat0=_t(s.lat0>0?90:-90),delete s.lat1)}function xa(s){let f={units:null,to_meter:void 0};return typeof s=="string"?(f.units=s.toLowerCase(),f.units==="metre"&&(f.units="meter"),f.units==="meter"&&(f.to_meter=1)):s&&s.name&&(f.units=s.name.toLowerCase(),f.units==="metre"&&(f.units="meter"),f.to_meter=s.conversion_factor),f}function wa(s){return typeof s=="object"?s.value*s.unit.conversion_factor:s}function Za(s,f){s.ellipsoid.radius?(f.a=s.ellipsoid.radius,f.rf=0):(f.a=wa(s.ellipsoid.semi_major_axis),s.ellipsoid.inverse_flattening!==void 0?f.rf=s.ellipsoid.inverse_flattening:s.ellipsoid.semi_major_axis!==void 0&&s.ellipsoid.semi_minor_axis!==void 0&&(f.rf=f.a/(f.a-wa(s.ellipsoid.semi_minor_axis))))}function $e(s,f={}){return!s||typeof s!="object"?s:s.type==="BoundCRS"?($e(s.source_crs,f),s.transformation&&(s.transformation.method&&s.transformation.method.name==="NTv2"?f.nadgrids=s.transformation.parameters[0].value:f.datum_params=s.transformation.parameters.map(h=>h.value)),f):(Object.keys(s).forEach(h=>{let m=s[h];if(m!==null)switch(h){case"name":if(f.srsCode)break;f.name=m,f.srsCode=m;break;case"type":m==="GeographicCRS"?f.projName="longlat":m==="ProjectedCRS"&&s.conversion&&s.conversion.method&&(f.projName=s.conversion.method.name);break;case"datum":case"datum_ensemble":m.ellipsoid&&(f.ellps=m.ellipsoid.name,Za(m,f)),m.prime_meridian&&(f.from_greenwich=m.prime_meridian.longitude*Math.PI/180);break;case"ellipsoid":f.ellps=m.name,Za(m,f);break;case"prime_meridian":f.long0=(m.longitude||0)*Math.PI/180;break;case"coordinate_system":if(m.axis){if(f.axis=m.axis.map(p=>{let y=p.direction;if(y==="east")return"e";if(y==="north")return"n";if(y==="west")return"w";if(y==="south")return"s";throw new Error(`Unknown axis direction: ${y}`)}).join("")+"u",m.unit){let{units:p,to_meter:y}=xa(m.unit);f.units=p,f.to_meter=y}else if(m.axis[0]&&m.axis[0].unit){let{units:p,to_meter:y}=xa(m.axis[0].unit);f.units=p,f.to_meter=y}}break;case"id":m.authority&&m.code&&(f.title=m.authority+":"+m.code);break;case"conversion":m.method&&m.method.name&&(f.projName=m.method.name),m.parameters&&m.parameters.forEach(p=>{let y=p.name.toLowerCase().replace(/\s+/g,"_"),_=p.value;p.unit&&p.unit.conversion_factor?f[y]=_*p.unit.conversion_factor:p.unit==="degree"?f[y]=_*Math.PI/180:f[y]=_});break;case"unit":m.name&&(f.units=m.name.toLowerCase(),f.units==="metre"&&(f.units="meter")),m.conversion_factor&&(f.to_meter=m.conversion_factor);break;case"base_crs":$e(m,f),f.datumCode=m.id?m.id.authority+"_"+m.id.code:m.name;break;default:break}}),f.latitude_of_false_origin!==void 0&&(f.lat0=f.latitude_of_false_origin),f.longitude_of_false_origin!==void 0&&(f.long0=f.longitude_of_false_origin),f.latitude_of_standard_parallel!==void 0&&(f.lat0=f.latitude_of_standard_parallel,f.lat1=f.latitude_of_standard_parallel),f.latitude_of_1st_standard_parallel!==void 0&&(f.lat1=f.latitude_of_1st_standard_parallel),f.latitude_of_2nd_standard_parallel!==void 0&&(f.lat2=f.latitude_of_2nd_standard_parallel),f.latitude_of_projection_centre!==void 0&&(f.lat0=f.latitude_of_projection_centre),f.longitude_of_projection_centre!==void 0&&(f.longc=f.longitude_of_projection_centre),f.easting_at_false_origin!==void 0&&(f.x0=f.easting_at_false_origin),f.northing_at_false_origin!==void 0&&(f.y0=f.northing_at_false_origin),f.latitude_of_natural_origin!==void 0&&(f.lat0=f.latitude_of_natural_origin),f.longitude_of_natural_origin!==void 0&&(f.long0=f.longitude_of_natural_origin),f.longitude_of_origin!==void 0&&(f.long0=f.longitude_of_origin),f.false_easting!==void 0&&(f.x0=f.false_easting),f.easting_at_projection_centre&&(f.x0=f.easting_at_projection_centre),f.false_northing!==void 0&&(f.y0=f.false_northing),f.northing_at_projection_centre&&(f.y0=f.northing_at_projection_centre),f.standard_parallel_1!==void 0&&(f.lat1=f.standard_parallel_1),f.standard_parallel_2!==void 0&&(f.lat2=f.standard_parallel_2),f.scale_factor_at_natural_origin!==void 0&&(f.k0=f.scale_factor_at_natural_origin),f.scale_factor_at_projection_centre!==void 0&&(f.k0=f.scale_factor_at_projection_centre),f.scale_factor_on_pseudo_standard_parallel!==void 0&&(f.k0=f.scale_factor_on_pseudo_standard_parallel),f.azimuth!==void 0&&(f.alpha=f.azimuth),f.azimuth_at_projection_centre!==void 0&&(f.alpha=f.azimuth_at_projection_centre),f.angle_from_rectified_to_skew_grid&&(f.rectified_grid_angle=f.angle_from_rectified_to_skew_grid),Yi(f),f)}var aM=["PROJECTEDCRS","PROJCRS","GEOGCS","GEOCCS","PROJCS","LOCAL_CS","GEODCRS","GEODETICCRS","GEODETICDATUM","ENGCRS","ENGINEERINGCRS"];function AM(s,f){var h=f[0],m=f[1];!(h in s)&&m in s&&(s[h]=s[m],f.length===3&&(s[h]=f[2](s[h])))}function Fa(s){for(var f=Object.keys(s),h=0,m=f.length;h<m;++h){var p=f[h];aM.indexOf(p)!==-1&&hM(s[p]),typeof s[p]=="object"&&Fa(s[p])}}function hM(s){if(s.AUTHORITY){var f=Object.keys(s.AUTHORITY)[0];f&&f in s.AUTHORITY&&(s.title=f+":"+s.AUTHORITY[f])}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 h="",m=0,p=s.AXIS.length;m<p;++m){var y=[s.AXIS[m][0].toLowerCase(),s.AXIS[m][1].toLowerCase()];y[0].indexOf("north")!==-1||(y[0]==="y"||y[0]==="lat")&&y[1]==="north"?h+="n":y[0].indexOf("south")!==-1||(y[0]==="y"||y[0]==="lat")&&y[1]==="south"?h+="s":y[0].indexOf("east")!==-1||(y[0]==="x"||y[0]==="lon")&&y[1]==="east"?h+="e":(y[0].indexOf("west")!==-1||(y[0]==="x"||y[0]==="lon")&&y[1]==="west")&&(h+="w")}h.length===2&&(h+="u"),h.length===3&&(s.axis=h)}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 _=s.GEOGCS;s.type==="GEOGCS"&&(_=s),_&&(_.DATUM?s.datumCode=_.DATUM.name.toLowerCase():s.datumCode=_.name.toLowerCase(),s.datumCode.slice(0,2)==="d_"&&(s.datumCode=s.datumCode.slice(2)),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==="belge_1972"&&(s.datumCode="rnb72"),_.DATUM&&_.DATUM.SPHEROID&&(s.ellps=_.DATUM.SPHEROID.name.replace("_19","").replace(/[Cc]larke\_18/,"clrk"),s.ellps.toLowerCase().slice(0,13)==="international"&&(s.ellps="intl"),s.a=_.DATUM.SPHEROID.a,s.rf=parseFloat(_.DATUM.SPHEROID.rf,10)),_.DATUM&&_.DATUM.TOWGS84&&(s.datum_params=_.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),s.rectified_grid_angle&&(s.rectified_grid_angle=_t(s.rectified_grid_angle));function R(X){var T=s.to_meter||1;return X*T}var F=function(X){return AM(s,X)},V=[["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",_t],["longitude_of_center","Longitude_Of_Center"],["longitude_of_center","Longitude_of_center"],["longc","longitude_of_center",_t],["x0","false_easting",R],["y0","false_northing",R],["long0","central_meridian",_t],["lat0","latitude_of_origin",_t],["lat0","standard_parallel_1",_t],["lat1","standard_parallel_1",_t],["lat2","standard_parallel_2",_t],["azimuth","Azimuth"],["alpha","azimuth",_t],["srsCode","name"]];V.forEach(F),Yi(s)}function Di(s){if(typeof s=="object")return $e(s);let f=da(s);var h=ya(s);if(f==="WKT2"){let y=pa(h);return $e(y)}var m=h[0],p={};return Or(h,p),Fa(p),p[m]}function Rt(s){var f=this;if(arguments.length===2){var h=arguments[1];typeof h=="string"?h.charAt(0)==="+"?Rt[s]=Qe(arguments[1]):Rt[s]=Di(arguments[1]):Rt[s]=h}else if(arguments.length===1){if(Array.isArray(s))return s.map(function(m){Array.isArray(m)?Rt.apply(f,m):Rt(m)});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}}fa(Rt);var le=Rt;function lM(s){return typeof s=="string"}function uM(s){return s in le}var cM=["PROJECTEDCRS","PROJCRS","GEOGCS","GEOCCS","PROJCS","LOCAL_CS","GEODCRS","GEODETICCRS","GEODETICDATUM","ENGCRS","ENGINEERINGCRS"];function mM(s){return cM.some(function(f){return s.indexOf(f)>-1})}var vM=["3857","900913","3785","102113"];function pM(s){var f=lt(s,"authority");if(f){var h=lt(f,"epsg");return h&&vM.indexOf(h)>-1}}function dM(s){var f=lt(s,"extension");if(f)return lt(f,"proj4")}function yM(s){return s[0]==="+"}function MM(s){if(lM(s)){if(uM(s))return le[s];if(mM(s)){var f=Di(s);if(pM(f))return le["EPSG:3857"];var h=dM(f);return h?Qe(h):f}if(yM(s))return Qe(s)}else return s}var ka=MM;function E2(s,f){s=s||{};var h,m;if(!f)return s;for(m in f)h=f[m],h!==void 0&&(s[m]=h);return s}function q0(s,f,h){var m=s*f;return h/Math.sqrt(1-m*m)}function jt(s){return s<0?-1:1}function Q(s){return Math.abs(s)<=z0?s:s-jt(s)*Le}function tt(s,f,h){var m=s*h,p=.5*s;return m=Math.pow((1-m)/(1+m),p),Math.tan(.5*(j-f))/m}function tr(s,f){for(var h=.5*s,m,p,y=j-2*Math.atan(f),_=0;_<=15;_++)if(m=s*Math.sin(y),p=j-2*Math.atan(f*Math.pow((1-m)/(1+m),h))-y,y+=p,Math.abs(p)<=1e-10)return y;return-9999}function gM(){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 _M(s){var f=s.x,h=s.y;if(h*Wt>90&&h*Wt<-90&&f*Wt>180&&f*Wt<-180)return null;var m,p;if(Math.abs(Math.abs(h)-j)<=L)return null;if(this.sphere)m=this.x0+this.a*this.k0*Q(f-this.long0),p=this.y0+this.a*this.k0*Math.log(Math.tan(d0+.5*h));else{var y=Math.sin(h),_=tt(this.e,h,y);m=this.x0+this.a*this.k0*Q(f-this.long0),p=this.y0-this.a*this.k0*Math.log(_)}return s.x=m,s.y=p,s}function RM(s){var f=s.x-this.x0,h=s.y-this.y0,m,p;if(this.sphere)p=j-2*Math.atan(Math.exp(-h/(this.a*this.k0)));else{var y=Math.exp(-h/(this.a*this.k0));if(p=tr(this.e,y),p===-9999)return null}return m=Q(this.long0+f/(this.a*this.k0)),s.x=m,s.y=p,s}var xM=["Mercator","Popular Visualisation Pseudo Mercator","Mercator_1SP","Mercator_Auxiliary_Sphere","merc"],Na={init:gM,forward:_M,inverse:RM,names:xM};function wM(){}function Va(s){return s}var ZM=["longlat","identity"],Wa={init:wM,forward:Va,inverse:Va,names:ZM};var FM=[Na,Wa],Hi={},Li=[];function Ta(s,f){var h=Li.length;return s.names?(Li[h]=s,s.names.forEach(function(m){Hi[m.toLowerCase()]=h}),this):(console.log(f),!0)}function kM(s){if(!s)return!1;var f=s.toLowerCase();if(typeof Hi[f]<"u"&&Li[Hi[f]])return Li[Hi[f]]}function NM(){FM.forEach(Ta)}var Xa={start:NM,add:Ta,get:kM};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 Ua=s0.WGS84={a:6378137,rf:298.257223563,ellipseName:"WGS 84"};s0.sphere={a:6370997,b:6370997,ellipseName:"Normal Sphere (r=6370997)"};function Ga(s,f,h,m){var p=s*s,y=f*f,_=(p-y)/p,R=0;m?(s*=1-_*(Aa+_*(ha+_*la)),p=s*s,_=0):R=Math.sqrt(_);var F=(p-y)/y;return{es:_,e:R,ep2:F}}function Ea(s,f,h,m,p){if(!s){var y=lt(s0,m);y||(y=Ua),s=y.a,f=y.b,h=y.rf}return h&&!f&&(f=(1-1/h)*s),(h===0||Math.abs(s-f)<L)&&(p=!0,f=s),{a:s,b:f,rf:h,sphere:p}}var J0={};J0.wgs84={towgs84:"0,0,0",ellipse:"WGS84",datumName:"WGS84"};J0.ch1903={towgs84:"674.374,15.056,405.346",ellipse:"bessel",datumName:"swiss"};J0.ggrs87={towgs84:"-199.87,74.79,246.62",ellipse:"GRS80",datumName:"Greek_Geodetic_Reference_System_1987"};J0.nad83={towgs84:"0,0,0",ellipse:"GRS80",datumName:"North_American_Datum_1983"};J0.nad27={nadgrids:"@conus,@alaska,@ntv2_0.gsb,@ntv1_can.dat",ellipse:"clrk66",datumName:"North_American_Datum_1927"};J0.potsdam={towgs84:"606.0,23.0,413.0",ellipse:"bessel",datumName:"Potsdam Rauenberg 1950 DHDN"};J0.carthage={towgs84:"-263.0,6.0,431.0",ellipse:"clark80",datumName:"Carthage 1934 Tunisia"};J0.hermannskogel={towgs84:"653.0,-212.0,449.0",ellipse:"bessel",datumName:"Hermannskogel"};J0.osni52={towgs84:"482.530,-130.596,564.557,-1.042,-0.214,-0.631,8.15",ellipse:"airy",datumName:"Irish National"};J0.ire65={towgs84:"482.530,-130.596,564.557,-1.042,-0.214,-0.631,8.15",ellipse:"mod_airy",datumName:"Ireland 1965"};J0.rassadiran={towgs84:"-133.63,-157.5,-158.62",ellipse:"intl",datumName:"Rassadiran"};J0.nzgd49={towgs84:"59.47,-5.04,187.44,0.47,-0.1,1.024,-4.5993",ellipse:"intl",datumName:"New Zealand Geodetic Datum 1949"};J0.osgb36={towgs84:"446.448,-125.157,542.060,0.1502,0.2470,0.8421,-20.4894",ellipse:"airy",datumName:"Airy 1830"};J0.s_jtsk={towgs84:"589,76,480",ellipse:"bessel",datumName:"S-JTSK (Ferro)"};J0.beduaram={towgs84:"-106,-87,188",ellipse:"clrk80",datumName:"Beduaram"};J0.gunung_segara={towgs84:"-403,684,41",ellipse:"bessel",datumName:"Gunung Segara Jakarta"};J0.rnb72={towgs84:"106.869,-52.2978,103.724,-0.33657,0.456955,-1.84218,1",ellipse:"intl",datumName:"Reseau National Belge 1972"};function VM(s,f,h,m,p,y){var _={};return s===void 0||s==="none"?_.datum_type=He:_.datum_type=aa,f&&(_.datum_params=f.map(parseFloat),(_.datum_params[0]!==0||_.datum_params[1]!==0||_.datum_params[2]!==0)&&(_.datum_type=Nt),_.datum_params.length>3&&(_.datum_params[3]!==0||_.datum_params[4]!==0||_.datum_params[5]!==0||_.datum_params[6]!==0)&&(_.datum_type=Vt,_.datum_params[3]*=Ir,_.datum_params[4]*=Ir,_.datum_params[5]*=Ir,_.datum_params[6]=_.datum_params[6]/1e6+1)),_.a=h,_.b=m,_.es=p,_.ep2=y,_}var za=VM;function ue(s,f){if(!(this instanceof ue))return new ue(s);f=f||function(F){if(F)throw F};var h=ka(s);if(typeof h!="object"){f(s);return}var m=ue.projections.get(h.projName);if(!m){f(s);return}if(h.datumCode&&h.datumCode!=="none"){var p=lt(J0,h.datumCode);p&&(h.datum_params=p.towgs84?p.towgs84.split(","):null,h.ellps=p.ellipse,h.datumName=p.datumName?p.datumName:h.datumCode)}h.k0=h.k0||1,h.axis=h.axis||"enu",h.ellps=h.ellps||"wgs84";var y=Ea(h.a,h.b,h.rf,h.ellps,h.sphere),_=Ga(y.a,y.b,y.rf,h.R_A),R=h.datum||za(h.datumCode,h.datum_params,y.a,y.b,_.es,_.ep2);E2(this,h),E2(this,m),this.a=y.a,this.b=y.b,this.rf=y.rf,this.sphere=y.sphere,this.es=_.es,this.e=_.e,this.ep2=_.ep2,this.datum=R,this.init(),f(null,this)}ue.projections=Xa;ue.projections.start();var dr=ue;function Ba(s,f){return s.datum_type!==f.datum_type||s.a!==f.a||Math.abs(s.es-f.es)>5e-11?!1:s.datum_type===Nt?s.datum_params[0]===f.datum_params[0]&&s.datum_params[1]===f.datum_params[1]&&s.datum_params[2]===f.datum_params[2]:s.datum_type===Vt?s.datum_params[0]===f.datum_params[0]&&s.datum_params[1]===f.datum_params[1]&&s.datum_params[2]===f.datum_params[2]&&s.datum_params[3]===f.datum_params[3]&&s.datum_params[4]===f.datum_params[4]&&s.datum_params[5]===f.datum_params[5]&&s.datum_params[6]===f.datum_params[6]:!0}function Qi(s,f,h){var m=s.x,p=s.y,y=s.z?s.z:0,_,R,F,V;if(p<-j&&p>-1.001*j)p=-j;else if(p>j&&p<1.001*j)p=j;else{if(p<-j)return{x:-1/0,y:-1/0,z:s.z};if(p>j)return{x:1/0,y:1/0,z:s.z}}return m>Math.PI&&(m-=2*Math.PI),R=Math.sin(p),V=Math.cos(p),F=R*R,_=h/Math.sqrt(1-f*F),{x:(_+y)*V*Math.cos(m),y:(_+y)*V*Math.sin(m),z:(_*(1-f)+y)*R}}function qi(s,f,h,m){var p=1e-12,y=p*p,_=30,R,F,V,X,T,C,W,P,q,K,r0,o0,l0,p0=s.x,h0=s.y,a0=s.z?s.z:0,U0,V0,wt;if(R=Math.sqrt(p0*p0+h0*h0),F=Math.sqrt(p0*p0+h0*h0+a0*a0),R/h<p){if(U0=0,F/h<p)return V0=j,wt=-m,{x:s.x,y:s.y,z:s.z}}else U0=Math.atan2(h0,p0);V=a0/F,X=R/F,T=1/Math.sqrt(1-f*(2-f)*X*X),P=X*(1-f)*T,q=V*T,l0=0;do l0++,W=h/Math.sqrt(1-f*q*q),wt=R*P+a0*q-W*(1-f*q*q),C=f*W/(W+wt),T=1/Math.sqrt(1-C*(2-C)*X*X),K=X*(1-C)*T,r0=V*T,o0=r0*P-K*q,P=K,q=r0;while(o0*o0>y&&l0<_);return V0=Math.atan(r0/Math.abs(K)),{x:U0,y:V0,z:wt}}function Sa(s,f,h){if(f===Nt)return{x:s.x+h[0],y:s.y+h[1],z:s.z+h[2]};if(f===Vt){var m=h[0],p=h[1],y=h[2],_=h[3],R=h[4],F=h[5],V=h[6];return{x:V*(s.x-F*s.y+R*s.z)+m,y:V*(F*s.x+s.y-_*s.z)+p,z:V*(-R*s.x+_*s.y+s.z)+y}}}function Ca(s,f,h){if(f===Nt)return{x:s.x-h[0],y:s.y-h[1],z:s.z-h[2]};if(f===Vt){var m=h[0],p=h[1],y=h[2],_=h[3],R=h[4],F=h[5],V=h[6],X=(s.x-m)/V,T=(s.y-p)/V,C=(s.z-y)/V;return{x:X+F*T-R*C,y:-F*X+T+_*C,z:R*X-_*T+C}}}function $i(s){return s===Nt||s===Vt}function Ia(s,f,h){return Ba(s,f)||s.datum_type===He||f.datum_type===He||s.es===f.es&&s.a===f.a&&!$i(s.datum_type)&&!$i(f.datum_type)?h:(h=Qi(h,s.es,s.a),$i(s.datum_type)&&(h=Sa(h,s.datum_type,s.datum_params)),$i(f.datum_type)&&(h=Ca(h,f.datum_type,f.datum_params)),qi(h,f.es,f.a,f.b))}function z2(s,f,h){var m=h.x,p=h.y,y=h.z||0,_,R,F,V={};for(F=0;F<3;F++)if(!(f&&F===2&&h.z===void 0))switch(F===0?(_=m,"ew".indexOf(s.axis[F])!==-1?R="x":R="y"):F===1?(_=p,"ns".indexOf(s.axis[F])!==-1?R="y":R="x"):(_=y,R="z"),s.axis[F]){case"e":case"w":case"n":case"s":V[R]=_;break;case"u":h[R]!==void 0&&(V.z=_);break;case"d":h[R]!==void 0&&(V.z=-_);break;default:return null}return V}function Ki(s){var f={x:s[0],y:s[1]};return s.length>2&&(f.z=s[2]),s.length>3&&(f.m=s[3]),f}function Ja(s){Oa(s.x),Oa(s.y)}function Oa(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 WM(s,f){return(s.datum.datum_type===Nt||s.datum.datum_type===Vt)&&f.datumCode!=="WGS84"||(f.datum.datum_type===Nt||f.datum.datum_type===Vt)&&s.datumCode!=="WGS84"}function Jr(s,f,h){var m;if(Array.isArray(h)&&(h=Ki(h)),Ja(h),s.datum&&f.datum&&WM(s,f)&&(m=new dr("WGS84"),h=Jr(s,m,h),s=m),s.axis!=="enu"&&(h=z2(s,!1,h)),s.projName==="longlat")h={x:h.x*O0,y:h.y*O0,z:h.z||0};else if(s.to_meter&&(h={x:h.x*s.to_meter,y:h.y*s.to_meter,z:h.z||0}),h=s.inverse(h),!h)return;return s.from_greenwich&&(h.x+=s.from_greenwich),h=Ia(s.datum,f.datum,h),f.from_greenwich&&(h={x:h.x-f.from_greenwich,y:h.y,z:h.z||0}),f.projName==="longlat"?h={x:h.x*Wt,y:h.y*Wt,z:h.z||0}:(h=f.forward(h),f.to_meter&&(h={x:h.x/f.to_meter,y:h.y/f.to_meter,z:h.z||0})),f.axis!=="enu"?z2(f,!0,h):h}var Pa=dr("WGS84");function B2(s,f,h){var m,p,y;return Array.isArray(h)?(m=Jr(s,f,h)||{x:NaN,y:NaN},h.length>2?typeof s.name<"u"&&s.name==="geocent"||typeof f.name<"u"&&f.name==="geocent"?typeof m.z=="number"?[m.x,m.y,m.z].concat(h.splice(3)):[m.x,m.y,h[2]].concat(h.splice(3)):[m.x,m.y].concat(h.splice(2)):[m.x,m.y]):(p=Jr(s,f,h),y=Object.keys(h),y.length===2||y.forEach(function(_){if(typeof s.name<"u"&&s.name==="geocent"||typeof f.name<"u"&&f.name==="geocent"){if(_==="x"||_==="y"||_==="z")return}else if(_==="x"||_==="y")return;p[_]=h[_]}),p)}function ja(s){return s instanceof dr?s:s.oProj?s.oProj:dr(s)}function TM(s,f,h){s=ja(s);var m=!1,p;return typeof f>"u"?(f=s,s=Pa,m=!0):(typeof f.x<"u"||Array.isArray(f))&&(h=f,f=s,s=Pa,m=!0),f=ja(f),h?B2(s,f,h):(p={forward:function(y){return B2(s,f,y)},inverse:function(y){return B2(f,s,y)}},m&&(p.oProj=f),p)}var ut=TM;var Ya=6,Ha="AJSAJS",La="AFAFAF",ce=65,et=73,xt=79,Ke=86,be=90,Qa={forward:C2,inverse:XM,toPoint:I2};function C2(s,f){return f=f||5,EM(UM({lat:s[1],lon:s[0]}),f)}function XM(s){var f=O2($a(s.toUpperCase()));return f.lat&&f.lon?[f.lon,f.lat,f.lon,f.lat]:[f.left,f.bottom,f.right,f.top]}function I2(s){var f=O2($a(s.toUpperCase()));return f.lat&&f.lon?[f.lon,f.lat]:[(f.left+f.right)/2,(f.top+f.bottom)/2]}function S2(s){return s*(Math.PI/180)}function Da(s){return 180*(s/Math.PI)}function UM(s){var f=s.lat,h=s.lon,m=6378137,p=.00669438,y=.9996,_,R,F,V,X,T,C,W=S2(f),P=S2(h),q,K;K=Math.floor((h+180)/6)+1,h===180&&(K=60),f>=56&&f<64&&h>=3&&h<12&&(K=32),f>=72&&f<84&&(h>=0&&h<9?K=31:h>=9&&h<21?K=33:h>=21&&h<33?K=35:h>=33&&h<42&&(K=37)),_=(K-1)*6-180+3,q=S2(_),R=p/(1-p),F=m/Math.sqrt(1-p*Math.sin(W)*Math.sin(W)),V=Math.tan(W)*Math.tan(W),X=R*Math.cos(W)*Math.cos(W),T=Math.cos(W)*(P-q),C=m*((1-p/4-3*p*p/64-5*p*p*p/256)*W-(3*p/8+3*p*p/32+45*p*p*p/1024)*Math.sin(2*W)+(15*p*p/256+45*p*p*p/1024)*Math.sin(4*W)-35*p*p*p/3072*Math.sin(6*W));var r0=y*F*(T+(1-V+X)*T*T*T/6+(5-18*V+V*V+72*X-58*R)*T*T*T*T*T/120)+5e5,o0=y*(C+F*Math.tan(W)*(T*T/2+(5-V+9*X+4*X*X)*T*T*T*T/24+(61-58*V+V*V+600*X-330*R)*T*T*T*T*T*T/720));return f<0&&(o0+=1e7),{northing:Math.round(o0),easting:Math.round(r0),zoneNumber:K,zoneLetter:GM(f)}}function O2(s){var f=s.northing,h=s.easting,m=s.zoneLetter,p=s.zoneNumber;if(p<0||p>60)return null;var y=.9996,_=6378137,R=.00669438,F,V=(1-Math.sqrt(1-R))/(1+Math.sqrt(1-R)),X,T,C,W,P,q,K,r0,o0,l0=h-5e5,p0=f;m<"N"&&(p0-=1e7),K=(p-1)*6-180+3,F=R/(1-R),q=p0/y,r0=q/(_*(1-R/4-3*R*R/64-5*R*R*R/256)),o0=r0+(3*V/2-27*V*V*V/32)*Math.sin(2*r0)+(21*V*V/16-55*V*V*V*V/32)*Math.sin(4*r0)+151*V*V*V/96*Math.sin(6*r0),X=_/Math.sqrt(1-R*Math.sin(o0)*Math.sin(o0)),T=Math.tan(o0)*Math.tan(o0),C=F*Math.cos(o0)*Math.cos(o0),W=_*(1-R)/Math.pow(1-R*Math.sin(o0)*Math.sin(o0),1.5),P=l0/(X*y);var h0=o0-X*Math.tan(o0)/W*(P*P/2-(5+3*T+10*C-4*C*C-9*F)*P*P*P*P/24+(61+90*T+298*C+45*T*T-252*F-3*C*C)*P*P*P*P*P*P/720);h0=Da(h0);var a0=(P-(1+2*T+C)*P*P*P/6+(5-2*C+28*T-3*C*C+8*F+24*T*T)*P*P*P*P*P/120)/Math.cos(o0);a0=K+Da(a0);var U0;if(s.accuracy){var V0=O2({northing:s.northing+s.accuracy,easting:s.easting+s.accuracy,zoneLetter:s.zoneLetter,zoneNumber:s.zoneNumber});U0={top:V0.lat,right:V0.lon,bottom:h0,left:a0}}else U0={lat:h0,lon:a0};return U0}function GM(s){var f="Z";return 84>=s&&s>=72?f="X":72>s&&s>=64?f="W":64>s&&s>=56?f="V":56>s&&s>=48?f="U":48>s&&s>=40?f="T":40>s&&s>=32?f="S":32>s&&s>=24?f="R":24>s&&s>=16?f="Q":16>s&&s>=8?f="P":8>s&&s>=0?f="N":0>s&&s>=-8?f="M":-8>s&&s>=-16?f="L":-16>s&&s>=-24?f="K":-24>s&&s>=-32?f="J":-32>s&&s>=-40?f="H":-40>s&&s>=-48?f="G":-48>s&&s>=-56?f="F":-56>s&&s>=-64?f="E":-64>s&&s>=-72?f="D":-72>s&&s>=-80&&(f="C"),f}function EM(s,f){var h="00000"+s.easting,m="00000"+s.northing;return s.zoneNumber+s.zoneLetter+zM(s.easting,s.northing,s.zoneNumber)+h.substr(h.length-5,f)+m.substr(m.length-5,f)}function zM(s,f,h){var m=qa(h),p=Math.floor(s/1e5),y=Math.floor(f/1e5)%20;return BM(p,y,m)}function qa(s){var f=s%Ya;return f===0&&(f=Ya),f}function BM(s,f,h){var m=h-1,p=Ha.charCodeAt(m),y=La.charCodeAt(m),_=p+s-1,R=y+f,F=!1;_>be&&(_=_-be+ce-1,F=!0),(_===et||p<et&&_>et||(_>et||p<et)&&F)&&_++,(_===xt||p<xt&&_>xt||(_>xt||p<xt)&&F)&&(_++,_===et&&_++),_>be&&(_=_-be+ce-1),R>Ke?(R=R-Ke+ce-1,F=!0):F=!1,(R===et||y<et&&R>et||(R>et||y<et)&&F)&&R++,(R===xt||y<xt&&R>xt||(R>xt||y<xt)&&F)&&(R++,R===et&&R++),R>Ke&&(R=R-Ke+ce-1);var V=String.fromCharCode(_)+String.fromCharCode(R);return V}function $a(s){if(s&&s.length===0)throw"MGRSPoint coverting from nothing";for(var f=s.length,h=null,m="",p,y=0;!/[A-Z]/.test(p=s.charAt(y));){if(y>=2)throw"MGRSPoint bad conversion from: "+s;m+=p,y++}var _=parseInt(m,10);if(y===0||y+3>f)throw"MGRSPoint bad conversion from: "+s;var R=s.charAt(y++);if(R<="A"||R==="B"||R==="Y"||R>="Z"||R==="I"||R==="O")throw"MGRSPoint zone letter "+R+" not handled: "+s;h=s.substring(y,y+=2);for(var F=qa(_),V=SM(h.charAt(0),F),X=CM(h.charAt(1),F);X<IM(R);)X+=2e6;var T=f-y;if(T%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 C=T/2,W=0,P=0,q,K,r0,o0,l0;return C>0&&(q=1e5/Math.pow(10,C),K=s.substring(y,y+C),W=parseFloat(K)*q,r0=s.substring(y+C),P=parseFloat(r0)*q),o0=W+V,l0=P+X,{easting:o0,northing:l0,zoneLetter:R,zoneNumber:_,accuracy:q}}function SM(s,f){for(var h=Ha.charCodeAt(f-1),m=1e5,p=!1;h!==s.charCodeAt(0);){if(h++,h===et&&h++,h===xt&&h++,h>be){if(p)throw"Bad character: "+s;h=ce,p=!0}m+=1e5}return m}function CM(s,f){if(s>"V")throw"MGRSPoint given invalid Northing "+s;for(var h=La.charCodeAt(f-1),m=0,p=!1;h!==s.charCodeAt(0);){if(h++,h===et&&h++,h===xt&&h++,h>Ke){if(p)throw"Bad character: "+s;h=ce,p=!0}m+=1e5}return m}function IM(s){var f;switch(s){case"C":f=11e5;break;case"D":f=2e6;break;case"E":f=28e5;break;case"F":f=37e5;break;case"G":f=46e5;break;case"H":f=55e5;break;case"J":f=64e5;break;case"K":f=73e5;break;case"L":f=82e5;break;case"M":f=91e5;break;case"N":f=0;break;case"P":f=8e5;break;case"Q":f=17e5;break;case"R":f=26e5;break;case"S":f=35e5;break;case"T":f=44e5;break;case"U":f=53e5;break;case"V":f=62e5;break;case"W":f=7e6;break;case"X":f=79e5;break;default:f=-1}if(f>=0)return f;throw"Invalid zone letter: "+s}function me(s,f,h){if(!(this instanceof me))return new me(s,f,h);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 f>"u"){var m=s.split(",");this.x=parseFloat(m[0],10),this.y=parseFloat(m[1],10),this.z=parseFloat(m[2],10)||0}else this.x=s,this.y=f,this.z=h||0;console.warn("proj4.Point will be removed in version 3, use proj4.toPoint")}me.fromMGRS=function(s){return new me(I2(s))};me.prototype.toMGRS=function(s){return C2([this.x,this.y],s)};var Ka=me;var OM=1,JM=.25,ba=.046875,tA=.01953125,rA=.01068115234375,PM=.75,jM=.46875,YM=.013020833333333334,DM=.007120768229166667,HM=.3645833333333333,LM=.005696614583333333,QM=.3076171875;function bi(s){var f=[];f[0]=OM-s*(JM+s*(ba+s*(tA+s*rA))),f[1]=s*(PM-s*(ba+s*(tA+s*rA)));var h=s*s;return f[2]=h*(jM-s*(YM+s*DM)),h*=s,f[3]=h*(HM-s*LM),f[4]=h*s*QM,f}function Pr(s,f,h,m){return h*=f,f*=f,m[0]*s-h*(m[1]+f*(m[2]+f*(m[3]+f*m[4])))}var qM=20;function tn(s,f,h){for(var m=1/(1-f),p=s,y=qM;y;--y){var _=Math.sin(p),R=1-f*_*_;if(R=(Pr(p,_,Math.cos(p),h)-s)*(R*Math.sqrt(R))*m,p-=R,Math.abs(R)<L)return p}return p}function $M(){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=bi(this.es),this.ml0=Pr(this.lat0,Math.sin(this.lat0),Math.cos(this.lat0),this.en))}function KM(s){var f=s.x,h=s.y,m=Q(f-this.long0),p,y,_,R=Math.sin(h),F=Math.cos(h);if(this.es){var X=F*m,T=Math.pow(X,2),C=this.ep2*Math.pow(F,2),W=Math.pow(C,2),P=Math.abs(F)>L?Math.tan(h):0,q=Math.pow(P,2),K=Math.pow(q,2);p=1-this.es*Math.pow(R,2),X=X/Math.sqrt(p);var r0=Pr(h,R,F,this.en);y=this.a*(this.k0*X*(1+T/6*(1-q+C+T/20*(5-18*q+K+14*C-58*q*C+T/42*(61+179*K-K*q-479*q)))))+this.x0,_=this.a*(this.k0*(r0-this.ml0+R*m*X/2*(1+T/12*(5-q+9*C+4*W+T/30*(61+K-58*q+270*C-330*q*C+T/56*(1385+543*K-K*q-3111*q))))))+this.y0}else{var V=F*Math.sin(m);if(Math.abs(Math.abs(V)-1)<L)return 93;if(y=.5*this.a*this.k0*Math.log((1+V)/(1-V))+this.x0,_=F*Math.cos(m)/Math.sqrt(1-Math.pow(V,2)),V=Math.abs(_),V>=1){if(V-1>L)return 93;_=0}else _=Math.acos(_);h<0&&(_=-_),_=this.a*this.k0*(_-this.lat0)+this.y0}return s.x=y,s.y=_,s}function bM(s){var f,h,m,p,y=(s.x-this.x0)*(1/this.a),_=(s.y-this.y0)*(1/this.a);if(this.es)if(f=this.ml0+_/this.k0,h=tn(f,this.es,this.en),Math.abs(h)<j){var T=Math.sin(h),C=Math.cos(h),W=Math.abs(C)>L?Math.tan(h):0,P=this.ep2*Math.pow(C,2),q=Math.pow(P,2),K=Math.pow(W,2),r0=Math.pow(K,2);f=1-this.es*Math.pow(T,2);var o0=y*Math.sqrt(f)/this.k0,l0=Math.pow(o0,2);f=f*W,m=h-f*l0/(1-this.es)*.5*(1-l0/12*(5+3*K-9*P*K+P-4*q-l0/30*(61+90*K-252*P*K+45*r0+46*P-l0/56*(1385+3633*K+4095*r0+1574*r0*K)))),p=Q(this.long0+o0*(1-l0/6*(1+2*K+P-l0/20*(5+28*K+24*r0+8*P*K+6*P-l0/42*(61+662*K+1320*r0+720*r0*K))))/C)}else m=j*jt(_),p=0;else{var R=Math.exp(y/this.k0),F=.5*(R-1/R),V=this.lat0+_/this.k0,X=Math.cos(V);f=Math.sqrt((1-Math.pow(X,2))/(1+Math.pow(F,2))),m=Math.asin(f),_<0&&(m=-m),F===0&&X===0?p=0:p=Q(Math.atan2(F,X)+this.long0)}return s.x=p,s.y=m,s}var tg=["Transverse_Mercator","Transverse Mercator","tmerc"],eA={init:$M,forward:KM,inverse:bM,names:tg};function rn(s){var f=Math.exp(s);return f=(f-1/f)/2,f}function ti(s,f){s=Math.abs(s),f=Math.abs(f);var h=Math.max(s,f),m=Math.min(s,f)/(h||1);return h*Math.sqrt(1+Math.pow(m,2))}function iA(s){var f=1+s,h=f-1;return h===0?s:s*Math.log(f)/h}function nA(s){var f=Math.abs(s);return f=iA(f*(1+f/(ti(1,f)+1))),s<0?-f:f}function en(s,f){for(var h=2*Math.cos(2*f),m=s.length-1,p=s[m],y=0,_;--m>=0;)_=-y+h*p+s[m],y=p,p=_;return f+_*Math.sin(2*f)}function sA(s,f){for(var h=2*Math.cos(f),m=s.length-1,p=s[m],y=0,_;--m>=0;)_=-y+h*p+s[m],y=p,p=_;return Math.sin(f)*_}function oA(s){var f=Math.exp(s);return f=(f+1/f)/2,f}function J2(s,f,h){for(var m=Math.sin(f),p=Math.cos(f),y=rn(h),_=oA(h),R=2*p*_,F=-2*m*y,V=s.length-1,X=s[V],T=0,C=0,W=0,P,q;--V>=0;)P=C,q=T,C=X,T=W,X=-P+R*C-F*T+s[V],W=-q+F*C+R*T;return R=m*_,F=p*y,[R*X-F*W,R*W+F*X]}function rg(){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)),f=s/(2-s),h=f;this.cgb[0]=f*(2+f*(-2/3+f*(-2+f*(116/45+f*(26/45+f*(-2854/675)))))),this.cbg[0]=f*(-2+f*(2/3+f*(4/3+f*(-82/45+f*(32/45+f*(4642/4725)))))),h=h*f,this.cgb[1]=h*(7/3+f*(-8/5+f*(-227/45+f*(2704/315+f*(2323/945))))),this.cbg[1]=h*(5/3+f*(-16/15+f*(-13/9+f*(904/315+f*(-1522/945))))),h=h*f,this.cgb[2]=h*(56/15+f*(-136/35+f*(-1262/105+f*(73814/2835)))),this.cbg[2]=h*(-26/15+f*(34/21+f*(8/5+f*(-12686/2835)))),h=h*f,this.cgb[3]=h*(4279/630+f*(-332/35+f*(-399572/14175))),this.cbg[3]=h*(1237/630+f*(-12/5+f*(-24832/14175))),h=h*f,this.cgb[4]=h*(4174/315+f*(-144838/6237)),this.cbg[4]=h*(-734/315+f*(109598/31185)),h=h*f,this.cgb[5]=h*(601676/22275),this.cbg[5]=h*(444337/155925),h=Math.pow(f,2),this.Qn=this.k0/(1+f)*(1+h*(1/4+h*(1/64+h/256))),this.utg[0]=f*(-.5+f*(2/3+f*(-37/96+f*(1/360+f*(81/512+f*(-96199/604800)))))),this.gtu[0]=f*(.5+f*(-2/3+f*(5/16+f*(41/180+f*(-127/288+f*(7891/37800)))))),this.utg[1]=h*(-1/48+f*(-1/15+f*(437/1440+f*(-46/105+f*(1118711/3870720))))),this.gtu[1]=h*(13/48+f*(-3/5+f*(557/1440+f*(281/630+f*(-1983433/1935360))))),h=h*f,this.utg[2]=h*(-17/480+f*(37/840+f*(209/4480+f*(-5569/90720)))),this.gtu[2]=h*(61/240+f*(-103/140+f*(15061/26880+f*(167603/181440)))),h=h*f,this.utg[3]=h*(-4397/161280+f*(11/504+f*(830251/7257600))),this.gtu[3]=h*(49561/161280+f*(-179/168+f*(6601661/7257600))),h=h*f,this.utg[4]=h*(-4583/161280+f*(108847/3991680)),this.gtu[4]=h*(34729/80640+f*(-3418889/1995840)),h=h*f,this.utg[5]=h*(-20648693/638668800),this.gtu[5]=h*(212378941/319334400);var m=en(this.cbg,this.lat0);this.Zb=-this.Qn*(m+sA(this.gtu,2*m))}function eg(s){var f=Q(s.x-this.long0),h=s.y;h=en(this.cbg,h);var m=Math.sin(h),p=Math.cos(h),y=Math.sin(f),_=Math.cos(f);h=Math.atan2(m,_*p),f=Math.atan2(y*p,ti(m,p*_)),f=nA(Math.tan(f));var R=J2(this.gtu,2*h,2*f);h=h+R[0],f=f+R[1];var F,V;return Math.abs(f)<=2.623395162778?(F=this.a*(this.Qn*f)+this.x0,V=this.a*(this.Qn*h+this.Zb)+this.y0):(F=1/0,V=1/0),s.x=F,s.y=V,s}function ig(s){var f=(s.x-this.x0)*(1/this.a),h=(s.y-this.y0)*(1/this.a);h=(h-this.Zb)/this.Qn,f=f/this.Qn;var m,p;if(Math.abs(f)<=2.623395162778){var y=J2(this.utg,2*h,2*f);h=h+y[0],f=f+y[1],f=Math.atan(rn(f));var _=Math.sin(h),R=Math.cos(h),F=Math.sin(f),V=Math.cos(f);h=Math.atan2(_*V,ti(F,V*R)),f=Math.atan2(F,V*R),m=Q(f+this.long0),p=en(this.cgb,h)}else m=1/0,p=1/0;return s.x=m,s.y=p,s}var ng=["Extended_Transverse_Mercator","Extended Transverse Mercator","etmerc"],ve={init:rg,forward:eg,inverse:ig,names:ng};function fA(s,f){if(s===void 0){if(s=Math.floor((Q(f)+Math.PI)*30/Math.PI)+1,s<0)return 0;if(s>60)return 60}return s}var sg="etmerc";function og(){var s=fA(this.zone,this.long0);if(s===void 0)throw new Error("unknown utm zone");this.lat0=0,this.long0=(6*Math.abs(s)-183)*O0,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 fg=["Universal Transverse Mercator System","utm"],aA={init:og,names:fg,dependsOn:sg};function nn(s,f){return Math.pow((1-s)/(1+s),f)}var ag=20;function Ag(){var s=Math.sin(this.lat0),f=Math.cos(this.lat0);f*=f,this.rc=Math.sqrt(1-this.es)/(1-this.es*s*s),this.C=Math.sqrt(1+this.es*f*f/(1-this.es)),this.phic0=Math.asin(s/this.C),this.ratexp=.5*this.C*this.e,this.K=Math.tan(.5*this.phic0+d0)/(Math.pow(Math.tan(.5*this.lat0+d0),this.C)*nn(this.e*s,this.ratexp))}function hg(s){var f=s.x,h=s.y;return s.y=2*Math.atan(this.K*Math.pow(Math.tan(.5*h+d0),this.C)*nn(this.e*Math.sin(h),this.ratexp))-j,s.x=this.C*f,s}function lg(s){for(var f=1e-14,h=s.x/this.C,m=s.y,p=Math.pow(Math.tan(.5*m+d0)/this.K,1/this.C),y=ag;y>0&&(m=2*Math.atan(p*nn(this.e*Math.sin(s.y),-.5*this.e))-j,!(Math.abs(m-s.y)<f));--y)s.y=m;return y?(s.x=h,s.y=m,s):null}var ug=["gauss"],sn={init:Ag,forward:hg,inverse:lg,names:ug};function cg(){sn.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 mg(s){var f,h,m,p;return s.x=Q(s.x-this.long0),sn.forward.apply(this,[s]),f=Math.sin(s.y),h=Math.cos(s.y),m=Math.cos(s.x),p=this.k0*this.R2/(1+this.sinc0*f+this.cosc0*h*m),s.x=p*h*Math.sin(s.x),s.y=p*(this.cosc0*f-this.sinc0*h*m),s.x=this.a*s.x+this.x0,s.y=this.a*s.y+this.y0,s}function vg(s){var f,h,m,p,y;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,y=Math.sqrt(s.x*s.x+s.y*s.y)){var _=2*Math.atan2(y,this.R2);f=Math.sin(_),h=Math.cos(_),p=Math.asin(h*this.sinc0+s.y*f*this.cosc0/y),m=Math.atan2(s.x*f,y*this.cosc0*h-s.y*this.sinc0*f)}else p=this.phic0,m=0;return s.x=m,s.y=p,sn.inverse.apply(this,[s]),s.x=Q(s.x+this.long0),s}var pg=["Stereographic_North_Pole","Oblique_Stereographic","Polar_Stereographic","sterea","Oblique Stereographic Alternative","Double_Stereographic"],AA={init:cg,forward:mg,inverse:vg,names:pg};function dg(s,f,h){return f*=h,Math.tan(.5*(j+s))*Math.pow((1-f)/(1+f),.5*h)}function yg(){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)<=L&&(this.k0=.5*(1+jt(this.lat0)*Math.sin(this.lat_ts))):(Math.abs(this.coslat0)<=L&&(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)<=L&&(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))-j,this.cosX0=Math.cos(this.X0),this.sinX0=Math.sin(this.X0))}function Mg(s){var f=s.x,h=s.y,m=Math.sin(h),p=Math.cos(h),y,_,R,F,V,X,T=Q(f-this.long0);return Math.abs(Math.abs(f-this.long0)-Math.PI)<=L&&Math.abs(h+this.lat0)<=L?(s.x=NaN,s.y=NaN,s):this.sphere?(y=2*this.k0/(1+this.sinlat0*m+this.coslat0*p*Math.cos(T)),s.x=this.a*y*p*Math.sin(T)+this.x0,s.y=this.a*y*(this.coslat0*m-this.sinlat0*p*Math.cos(T))+this.y0,s):(_=2*Math.atan(this.ssfn_(h,m,this.e))-j,F=Math.cos(_),R=Math.sin(_),Math.abs(this.coslat0)<=L?(V=tt(this.e,h*this.con,this.con*m),X=2*this.a*this.k0*V/this.cons,s.x=this.x0+X*Math.sin(f-this.long0),s.y=this.y0-this.con*X*Math.cos(f-this.long0),s):(Math.abs(this.sinlat0)<L?(y=2*this.a*this.k0/(1+F*Math.cos(T)),s.y=y*R):(y=2*this.a*this.k0*this.ms1/(this.cosX0*(1+this.sinX0*R+this.cosX0*F*Math.cos(T))),s.y=y*(this.cosX0*R-this.sinX0*F*Math.cos(T))+this.y0),s.x=y*F*Math.sin(T)+this.x0,s))}function gg(s){s.x-=this.x0,s.y-=this.y0;var f,h,m,p,y,_=Math.sqrt(s.x*s.x+s.y*s.y);if(this.sphere){var R=2*Math.atan(_/(2*this.a*this.k0));return f=this.long0,h=this.lat0,_<=L?(s.x=f,s.y=h,s):(h=Math.asin(Math.cos(R)*this.sinlat0+s.y*Math.sin(R)*this.coslat0/_),Math.abs(this.coslat0)<L?this.lat0>0?f=Q(this.long0+Math.atan2(s.x,-1*s.y)):f=Q(this.long0+Math.atan2(s.x,s.y)):f=Q(this.long0+Math.atan2(s.x*Math.sin(R),_*this.coslat0*Math.cos(R)-s.y*this.sinlat0*Math.sin(R))),s.x=f,s.y=h,s)}else if(Math.abs(this.coslat0)<=L){if(_<=L)return h=this.lat0,f=this.long0,s.x=f,s.y=h,s;s.x*=this.con,s.y*=this.con,m=_*this.cons/(2*this.a*this.k0),h=this.con*tr(this.e,m),f=this.con*Q(this.con*this.long0+Math.atan2(s.x,-1*s.y))}else p=2*Math.atan(_*this.cosX0/(2*this.a*this.k0*this.ms1)),f=this.long0,_<=L?y=this.X0:(y=Math.asin(Math.cos(p)*this.sinX0+s.y*Math.sin(p)*this.cosX0/_),f=Q(this.long0+Math.atan2(s.x*Math.sin(p),_*this.cosX0*Math.cos(p)-s.y*this.sinX0*Math.sin(p)))),h=-1*tr(this.e,Math.tan(.5*(j+y)));return s.x=f,s.y=h,s}var _g=["stere","Stereographic_South_Pole","Polar Stereographic (variant B)"],hA={init:yg,forward:Mg,inverse:gg,names:_g,ssfn_:dg};function Rg(){var s=this.lat0;this.lambda0=this.long0;var f=Math.sin(s),h=this.a,m=this.rf,p=1/m,y=2*p-Math.pow(p,2),_=this.e=Math.sqrt(y);this.R=this.k0*h*Math.sqrt(1-y)/(1-y*Math.pow(f,2)),this.alpha=Math.sqrt(1+y/(1-y)*Math.pow(Math.cos(s),4)),this.b0=Math.asin(f/this.alpha);var R=Math.log(Math.tan(Math.PI/4+this.b0/2)),F=Math.log(Math.tan(Math.PI/4+s/2)),V=Math.log((1+_*f)/(1-_*f));this.K=R-this.alpha*F+this.alpha*_/2*V}function xg(s){var f=Math.log(Math.tan(Math.PI/4-s.y/2)),h=this.e/2*Math.log((1+this.e*Math.sin(s.y))/(1-this.e*Math.sin(s.y))),m=-this.alpha*(f+h)+this.K,p=2*(Math.atan(Math.exp(m))-Math.PI/4),y=this.alpha*(s.x-this.lambda0),_=Math.atan(Math.sin(y)/(Math.sin(this.b0)*Math.tan(p)+Math.cos(this.b0)*Math.cos(y))),R=Math.asin(Math.cos(this.b0)*Math.sin(p)-Math.sin(this.b0)*Math.cos(p)*Math.cos(y));return s.y=this.R/2*Math.log((1+Math.sin(R))/(1-Math.sin(R)))+this.y0,s.x=this.R*_+this.x0,s}function wg(s){for(var f=s.x-this.x0,h=s.y-this.y0,m=f/this.R,p=2*(Math.atan(Math.exp(h/this.R))-Math.PI/4),y=Math.asin(Math.cos(this.b0)*Math.sin(p)+Math.sin(this.b0)*Math.cos(p)*Math.cos(m)),_=Math.atan(Math.sin(m)/(Math.cos(this.b0)*Math.cos(m)-Math.sin(this.b0)*Math.tan(p))),R=this.lambda0+_/this.alpha,F=0,V=y,X=-1e3,T=0;Math.abs(V-X)>1e-7;){if(++T>20)return;F=1/this.alpha*(Math.log(Math.tan(Math.PI/4+y/2))-this.K)+this.e*Math.log(Math.tan(Math.PI/4+Math.asin(this.e*Math.sin(V))/2)),X=V,V=2*Math.atan(Math.exp(F))-Math.PI/2}return s.x=R,s.y=V,s}var Zg=["somerc"],lA={init:Rg,forward:xg,inverse:wg,names:Zg};function Fg(){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),f=Math.cos(this.lat0),h=this.e*s;this.bl=Math.sqrt(1+this.es/(1-this.es)*Math.pow(f,4)),this.al=this.a*this.bl*this.k0*Math.sqrt(1-this.es)/(1-h*h);var m=tt(this.e,this.lat0,s),p=this.bl/f*Math.sqrt((1-this.es)/(1-h*h));p*p<1&&(p=1);var y,_;if(!isNaN(this.longc))this.lat0>=0?y=p+Math.sqrt(p*p-1):y=p-Math.sqrt(p*p-1),this.el=y*Math.pow(m,this.bl),_=.5*(y-1/y),this.gamma0=Math.asin(Math.sin(this.alpha)/p),this.long0=this.longc-Math.asin(_*Math.tan(this.gamma0))/this.bl;else{var R=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(m,this.bl):this.el=(p-Math.sqrt(p*p-1))*Math.pow(m,this.bl);var V=Math.pow(R,this.bl),X=Math.pow(F,this.bl);y=this.el/V,_=.5*(y-1/y);var T=(this.el*this.el-X*V)/(this.el*this.el+X*V),C=(X-V)/(X+V),W=Q(this.long1-this.long2);this.long0=.5*(this.long1+this.long2)-Math.atan(T*Math.tan(.5*this.bl*W)/C)/this.bl,this.long0=Q(this.long0);var P=Q(this.long1-this.long0);this.gamma0=Math.atan(Math.sin(this.bl*P)/_),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 kg(s){var f=s.x,h=s.y,m=Q(f-this.long0),p,y,_;if(Math.abs(Math.abs(h)-j)<=L)h>0?_=-1:_=1,y=this.al/this.bl*Math.log(Math.tan(d0+_*this.gamma0*.5)),p=-1*_*j*this.al/this.bl;else{var R=tt(this.e,h,Math.sin(h)),F=this.el/Math.pow(R,this.bl),V=.5*(F-1/F),X=.5*(F+1/F),T=Math.sin(this.bl*m),C=(V*Math.sin(this.gamma0)-T*Math.cos(this.gamma0))/X;Math.abs(Math.abs(C)-1)<=L?y=Number.POSITIVE_INFINITY:y=.5*this.al*Math.log((1-C)/(1+C))/this.bl,Math.abs(Math.cos(this.bl*m))<=L?p=this.al*this.bl*m:p=this.al*Math.atan2(V*Math.cos(this.gamma0)+T*Math.sin(this.gamma0),Math.cos(this.bl*m))/this.bl}return this.no_rot?(s.x=this.x0+p,s.y=this.y0+y):(p-=this.uc,s.x=this.x0+y*Math.cos(this.alpha)+p*Math.sin(this.alpha),s.y=this.y0+p*Math.cos(this.alpha)-y*Math.sin(this.alpha)),s}function Ng(s){var f,h;this.no_rot?(h=s.y-this.y0,f=s.x-this.x0):(h=(s.x-this.x0)*Math.cos(this.alpha)-(s.y-this.y0)*Math.sin(this.alpha),f=(s.y-this.y0)*Math.cos(this.alpha)+(s.x-this.x0)*Math.sin(this.alpha),f+=this.uc);var m=Math.exp(-1*this.bl*h/this.al),p=.5*(m-1/m),y=.5*(m+1/m),_=Math.sin(this.bl*f/this.al),R=(_*Math.cos(this.gamma0)+p*Math.sin(this.gamma0))/y,F=Math.pow(this.el/Math.sqrt((1+R)/(1-R)),1/this.bl);return Math.abs(R-1)<L?(s.x=this.long0,s.y=j):Math.abs(R+1)<L?(s.x=this.long0,s.y=-1*j):(s.y=tr(this.e,F),s.x=Q(this.long0-Math.atan2(p*Math.cos(this.gamma0)-_*Math.sin(this.gamma0),Math.cos(this.bl*f/this.al))/this.bl)),s}var Vg=["Hotine_Oblique_Mercator","Hotine Oblique Mercator","Hotine_Oblique_Mercator_Azimuth_Natural_Origin","Hotine_Oblique_Mercator_Azimuth_Center","omerc"],uA={init:Fg,forward:kg,inverse:Ng,names:Vg};function Wg(){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)<L)){var s=this.b/this.a;this.e=Math.sqrt(1-s*s);var f=Math.sin(this.lat1),h=Math.cos(this.lat1),m=q0(this.e,f,h),p=tt(this.e,this.lat1,f),y=Math.sin(this.lat2),_=Math.cos(this.lat2),R=q0(this.e,y,_),F=tt(this.e,this.lat2,y),V=tt(this.e,this.lat0,Math.sin(this.lat0));Math.abs(this.lat1-this.lat2)>L?this.ns=Math.log(m/R)/Math.log(p/F):this.ns=f,isNaN(this.ns)&&(this.ns=f),this.f0=m/(this.ns*Math.pow(p,this.ns)),this.rh=this.a*this.f0*Math.pow(V,this.ns),this.title||(this.title="Lambert Conformal Conic")}}function Tg(s){var f=s.x,h=s.y;Math.abs(2*Math.abs(h)-Math.PI)<=L&&(h=jt(h)*(j-2*L));var m=Math.abs(Math.abs(h)-j),p,y;if(m>L)p=tt(this.e,h,Math.sin(h)),y=this.a*this.f0*Math.pow(p,this.ns);else{if(m=h*this.ns,m<=0)return null;y=0}var _=this.ns*Q(f-this.long0);return s.x=this.k0*(y*Math.sin(_))+this.x0,s.y=this.k0*(this.rh-y*Math.cos(_))+this.y0,s}function Xg(s){var f,h,m,p,y,_=(s.x-this.x0)/this.k0,R=this.rh-(s.y-this.y0)/this.k0;this.ns>0?(f=Math.sqrt(_*_+R*R),h=1):(f=-Math.sqrt(_*_+R*R),h=-1);var F=0;if(f!==0&&(F=Math.atan2(h*_,h*R)),f!==0||this.ns>0){if(h=1/this.ns,m=Math.pow(f/(this.a*this.f0),h),p=tr(this.e,m),p===-9999)return null}else p=-j;return y=Q(F/this.ns+this.long0),s.x=y,s.y=p,s}var Ug=["Lambert Tangential Conformal Conic Projection","Lambert_Conformal_Conic","Lambert_Conformal_Conic_2SP","lcc"],cA={init:Wg,forward:Tg,inverse:Xg,names:Ug};function Gg(){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 Eg(s){var f,h,m,p,y,_,R,F=s.x,V=s.y,X=Q(F-this.long0);return f=Math.pow((1+this.e*Math.sin(V))/(1-this.e*Math.sin(V)),this.alfa*this.e/2),h=2*(Math.atan(this.k*Math.pow(Math.tan(V/2+this.s45),this.alfa)/f)-this.s45),m=-X*this.alfa,p=Math.asin(Math.cos(this.ad)*Math.sin(h)+Math.sin(this.ad)*Math.cos(h)*Math.cos(m)),y=Math.asin(Math.cos(h)*Math.sin(m)/Math.cos(p)),_=this.n*y,R=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=R*Math.cos(_)/1,s.x=R*Math.sin(_)/1,this.czech||(s.y*=-1,s.x*=-1),s}function zg(s){var f,h,m,p,y,_,R,F,V=s.x;s.x=s.y,s.y=V,this.czech||(s.y*=-1,s.x*=-1),_=Math.sqrt(s.x*s.x+s.y*s.y),y=Math.atan2(s.y,s.x),p=y/Math.sin(this.s0),m=2*(Math.atan(Math.pow(this.ro0/_,1/this.n)*Math.tan(this.s0/2+this.s45))-this.s45),f=Math.asin(Math.cos(this.ad)*Math.sin(m)-Math.sin(this.ad)*Math.cos(m)*Math.cos(p)),h=Math.asin(Math.cos(m)*Math.sin(p)/Math.cos(f)),s.x=this.long0-h/this.alfa,R=f,F=0;var X=0;do s.y=2*(Math.atan(Math.pow(this.k,-1/this.alfa)*Math.pow(Math.tan(f/2+this.s45),1/this.alfa)*Math.pow((1+this.e*Math.sin(R))/(1-this.e*Math.sin(R)),this.e/2))-this.s45),Math.abs(R-s.y)<1e-10&&(F=1),R=s.y,X+=1;while(F===0&&X<15);return X>=15?null:s}var Bg=["Krovak","krovak"],mA={init:Gg,forward:Eg,inverse:zg,names:Bg};function P0(s,f,h,m,p){return s*p-f*Math.sin(2*p)+h*Math.sin(4*p)-m*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,f,h){var m=f*h;return s/Math.sqrt(1-m*m)}function Tt(s){return Math.abs(s)<j?s:s-jt(s)*Math.PI}function jr(s,f,h,m,p){var y,_;y=s/f;for(var R=0;R<15;R++)if(_=(s-(f*y-h*Math.sin(2*y)+m*Math.sin(4*y)-p*Math.sin(6*y)))/(f-2*h*Math.cos(2*y)+4*m*Math.cos(4*y)-6*p*Math.cos(6*y)),y+=_,Math.abs(_)<=1e-10)return y;return NaN}function Sg(){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*P0(this.e0,this.e1,this.e2,this.e3,this.lat0))}function Cg(s){var f,h,m=s.x,p=s.y;if(m=Q(m-this.long0),this.sphere)f=this.a*Math.asin(Math.cos(p)*Math.sin(m)),h=this.a*(Math.atan2(Math.tan(p),Math.cos(m))-this.lat0);else{var y=Math.sin(p),_=Math.cos(p),R=sr(this.a,this.e,y),F=Math.tan(p)*Math.tan(p),V=m*Math.cos(p),X=V*V,T=this.es*_*_/(1-this.es),C=this.a*P0(this.e0,this.e1,this.e2,this.e3,p);f=R*V*(1-X*F*(1/6-(8-F+8*T)*X/120)),h=C-this.ml0+R*y/_*X*(.5+(5-F+6*T)*X/24)}return s.x=f+this.x0,s.y=h+this.y0,s}function Ig(s){s.x-=this.x0,s.y-=this.y0;var f=s.x/this.a,h=s.y/this.a,m,p;if(this.sphere){var y=h+this.lat0;m=Math.asin(Math.sin(y)*Math.cos(f)),p=Math.atan2(Math.tan(f),Math.cos(y))}else{var _=this.ml0/this.a+h,R=jr(_,this.e0,this.e1,this.e2,this.e3);if(Math.abs(Math.abs(R)-j)<=L)return s.x=this.long0,s.y=j,h<0&&(s.y*=-1),s;var F=sr(this.a,this.e,Math.sin(R)),V=F*F*F/this.a/this.a*(1-this.es),X=Math.pow(Math.tan(R),2),T=f*this.a/F,C=T*T;m=R-F*Math.tan(R)/V*T*T*(.5-(1+3*X)*T*T/24),p=T*(1-C*(X/3+(1+3*X)*X*C/15))/Math.cos(R)}return s.x=Q(p+this.long0),s.y=Tt(m),s}var Og=["Cassini","Cassini_Soldner","cass"],vA={init:Sg,forward:Cg,inverse:Ig,names:Og};function Xt(s,f){var h;return s>1e-7?(h=s*f,(1-s*s)*(f/(1-h*h)-.5/s*Math.log((1-h)/(1+h)))):2*f}var Jg=1,Pg=2,jg=3,Yg=4;function Dg(){var s=Math.abs(this.lat0);if(Math.abs(s-j)<L?this.mode=this.lat0<0?this.S_POLE:this.N_POLE:Math.abs(s)<L?this.mode=this.EQUIT:this.mode=this.OBLIQ,this.es>0){var f;switch(this.qp=Xt(this.e,1),this.mmf=.5/(1-this.es),this.apa=r_(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),f=Math.sin(this.lat0),this.sinb1=Xt(this.e,f)/this.qp,this.cosb1=Math.sqrt(1-this.sinb1*this.sinb1),this.dd=Math.cos(this.lat0)/(Math.sqrt(1-this.es*f*f)*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 Hg(s){var f,h,m,p,y,_,R,F,V,X,T=s.x,C=s.y;if(T=Q(T-this.long0),this.sphere){if(y=Math.sin(C),X=Math.cos(C),m=Math.cos(T),this.mode===this.OBLIQ||this.mode===this.EQUIT){if(h=this.mode===this.EQUIT?1+X*m:1+this.sinph0*y+this.cosph0*X*m,h<=L)return null;h=Math.sqrt(2/h),f=h*X*Math.sin(T),h*=this.mode===this.EQUIT?y:this.cosph0*y-this.sinph0*X*m}else if(this.mode===this.N_POLE||this.mode===this.S_POLE){if(this.mode===this.N_POLE&&(m=-m),Math.abs(C+this.lat0)<L)return null;h=d0-C*.5,h=2*(this.mode===this.S_POLE?Math.cos(h):Math.sin(h)),f=h*Math.sin(T),h*=m}}else{switch(R=0,F=0,V=0,m=Math.cos(T),p=Math.sin(T),y=Math.sin(C),_=Xt(this.e,y),(this.mode===this.OBLIQ||this.mode===this.EQUIT)&&(R=_/this.qp,F=Math.sqrt(1-R*R)),this.mode){case this.OBLIQ:V=1+this.sinb1*R+this.cosb1*F*m;break;case this.EQUIT:V=1+F*m;break;case this.N_POLE:V=j+C,_=this.qp-_;break;case this.S_POLE:V=C-j,_=this.qp+_;break}if(Math.abs(V)<L)return null;switch(this.mode){case this.OBLIQ:case this.EQUIT:V=Math.sqrt(2/V),this.mode===this.OBLIQ?h=this.ymf*V*(this.cosb1*R-this.sinb1*F*m):h=(V=Math.sqrt(2/(1+F*m)))*R*this.ymf,f=this.xmf*V*F*p;break;case this.N_POLE:case this.S_POLE:_>=0?(f=(V=Math.sqrt(_))*p,h=m*(this.mode===this.S_POLE?V:-V)):f=h=0;break}}return s.x=this.a*f+this.x0,s.y=this.a*h+this.y0,s}function Lg(s){s.x-=this.x0,s.y-=this.y0;var f=s.x/this.a,h=s.y/this.a,m,p,y,_,R,F,V;if(this.sphere){var X=0,T,C=0;if(T=Math.sqrt(f*f+h*h),p=T*.5,p>1)return null;switch(p=2*Math.asin(p),(this.mode===this.OBLIQ||this.mode===this.EQUIT)&&(C=Math.sin(p),X=Math.cos(p)),this.mode){case this.EQUIT:p=Math.abs(T)<=L?0:Math.asin(h*C/T),f*=C,h=X*T;break;case this.OBLIQ:p=Math.abs(T)<=L?this.lat0:Math.asin(X*this.sinph0+h*C*this.cosph0/T),f*=C*this.cosph0,h=(X-Math.sin(p)*this.sinph0)*T;break;case this.N_POLE:h=-h,p=j-p;break;case this.S_POLE:p-=j;break}m=h===0&&(this.mode===this.EQUIT||this.mode===this.OBLIQ)?0:Math.atan2(f,h)}else{if(V=0,this.mode===this.OBLIQ||this.mode===this.EQUIT){if(f/=this.dd,h*=this.dd,F=Math.sqrt(f*f+h*h),F<L)return s.x=this.long0,s.y=this.lat0,s;_=2*Math.asin(.5*F/this.rq),y=Math.cos(_),f*=_=Math.sin(_),this.mode===this.OBLIQ?(V=y*this.sinb1+h*_*this.cosb1/F,R=this.qp*V,h=F*this.cosb1*y-h*this.sinb1*_):(V=h*_/F,R=this.qp*V,h=F*y)}else if(this.mode===this.N_POLE||this.mode===this.S_POLE){if(this.mode===this.N_POLE&&(h=-h),R=f*f+h*h,!R)return s.x=this.long0,s.y=this.lat0,s;V=1-R/this.qp,this.mode===this.S_POLE&&(V=-V)}m=Math.atan2(f,h),p=e_(Math.asin(V),this.apa)}return s.x=Q(this.long0+m),s.y=p,s}var Qg=.3333333333333333,qg=.17222222222222222,$g=.10257936507936508,Kg=.06388888888888888,bg=.0664021164021164,t_=.016415012942191543;function r_(s){var f,h=[];return h[0]=s*Qg,f=s*s,h[0]+=f*qg,h[1]=f*Kg,f*=s,h[0]+=f*$g,h[1]+=f*bg,h[2]=f*t_,h}function e_(s,f){var h=s+s;return s+f[0]*Math.sin(h)+f[1]*Math.sin(h+h)+f[2]*Math.sin(h+h+h)}var i_=["Lambert Azimuthal Equal Area","Lambert_Azimuthal_Equal_Area","laea"],pA={init:Dg,forward:Hg,inverse:Lg,names:i_,S_POLE:Jg,N_POLE:Pg,EQUIT:jg,OBLIQ:Yg};function it(s){return Math.abs(s)>1&&(s=s>1?1:-1),Math.asin(s)}function n_(){Math.abs(this.lat1+this.lat2)<L||(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)>L?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 s_(s){var f=s.x,h=s.y;this.sin_phi=Math.sin(h),this.cos_phi=Math.cos(h);var m=Xt(this.e3,this.sin_phi,this.cos_phi),p=this.a*Math.sqrt(this.c-this.ns0*m)/this.ns0,y=this.ns0*Q(f-this.long0),_=p*Math.sin(y)+this.x0,R=this.rh-p*Math.cos(y)+this.y0;return s.x=_,s.y=R,s}function o_(s){var f,h,m,p,y,_;return s.x-=this.x0,s.y=this.rh-s.y+this.y0,this.ns0>=0?(f=Math.sqrt(s.x*s.x+s.y*s.y),m=1):(f=-Math.sqrt(s.x*s.x+s.y*s.y),m=-1),p=0,f!==0&&(p=Math.atan2(m*s.x,m*s.y)),m=f*this.ns0/this.a,this.sphere?_=Math.asin((this.c-m*m)/(2*this.ns0)):(h=(this.c-m*m)/this.ns0,_=this.phi1z(this.e3,h)),y=Q(p/this.ns0+this.long0),s.x=y,s.y=_,s}function f_(s,f){var h,m,p,y,_,R=it(.5*f);if(s<L)return R;for(var F=s*s,V=1;V<=25;V++)if(h=Math.sin(R),m=Math.cos(R),p=s*h,y=1-p*p,_=.5*y*y/m*(f/(1-F)-h/y+.5/s*Math.log((1-p)/(1+p))),R=R+_,Math.abs(_)<=1e-7)return R;return null}var a_=["Albers_Conic_Equal_Area","Albers","aea"],dA={init:n_,forward:s_,inverse:o_,names:a_,phi1z:f_};function A_(){this.sin_p14=Math.sin(this.lat0),this.cos_p14=Math.cos(this.lat0),this.infinity_dist=1e3*this.a,this.rc=1}function h_(s){var f,h,m,p,y,_,R,F,V=s.x,X=s.y;return m=Q(V-this.long0),f=Math.sin(X),h=Math.cos(X),p=Math.cos(m),_=this.sin_p14*f+this.cos_p14*h*p,y=1,_>0||Math.abs(_)<=L?(R=this.x0+this.a*y*h*Math.sin(m)/_,F=this.y0+this.a*y*(this.cos_p14*f-this.sin_p14*h*p)/_):(R=this.x0+this.infinity_dist*h*Math.sin(m),F=this.y0+this.infinity_dist*(this.cos_p14*f-this.sin_p14*h*p)),s.x=R,s.y=F,s}function l_(s){var f,h,m,p,y,_;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,(f=Math.sqrt(s.x*s.x+s.y*s.y))?(p=Math.atan2(f,this.rc),h=Math.sin(p),m=Math.cos(p),_=it(m*this.sin_p14+s.y*h*this.cos_p14/f),y=Math.atan2(s.x*h,f*this.cos_p14*m-s.y*this.sin_p14*h),y=Q(this.long0+y)):(_=this.phic0,y=0),s.x=y,s.y=_,s}var u_=["gnom"],yA={init:A_,forward:h_,inverse:l_,names:u_};function MA(s,f){var h=1-(1-s*s)/(2*s)*Math.log((1-s)/(1+s));if(Math.abs(Math.abs(f)-h)<1e-6)return f<0?-1*j:j;for(var m=Math.asin(.5*f),p,y,_,R,F=0;F<30;F++)if(y=Math.sin(m),_=Math.cos(m),R=s*y,p=Math.pow(1-R*R,2)/(2*_)*(f/(1-s*s)-y/(1-R*R)+.5/s*Math.log((1-R)/(1+R))),m+=p,Math.abs(p)<=1e-10)return m;return NaN}function c_(){this.sphere||(this.k0=q0(this.e,Math.sin(this.lat_ts),Math.cos(this.lat_ts)))}function m_(s){var f=s.x,h=s.y,m,p,y=Q(f-this.long0);if(this.sphere)m=this.x0+this.a*y*Math.cos(this.lat_ts),p=this.y0+this.a*Math.sin(h)/Math.cos(this.lat_ts);else{var _=Xt(this.e,Math.sin(h));m=this.x0+this.a*this.k0*y,p=this.y0+this.a*_*.5/this.k0}return s.x=m,s.y=p,s}function v_(s){s.x-=this.x0,s.y-=this.y0;var f,h;return this.sphere?(f=Q(this.long0+s.x/this.a/Math.cos(this.lat_ts)),h=Math.asin(s.y/this.a*Math.cos(this.lat_ts))):(h=MA(this.e,2*s.y*this.k0/this.a),f=Q(this.long0+s.x/(this.a*this.k0))),s.x=f,s.y=h,s}var p_=["cea"],gA={init:c_,forward:m_,inverse:v_,names:p_};function d_(){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 y_(s){var f=s.x,h=s.y,m=Q(f-this.long0),p=Tt(h-this.lat0);return s.x=this.x0+this.a*m*this.rc,s.y=this.y0+this.a*p,s}function M_(s){var f=s.x,h=s.y;return s.x=Q(this.long0+(f-this.x0)/(this.a*this.rc)),s.y=Tt(this.lat0+(h-this.y0)/this.a),s}var g_=["Equirectangular","Equidistant_Cylindrical","eqc"],_A={init:d_,forward:y_,inverse:M_,names:g_};var RA=20;function __(){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*P0(this.e0,this.e1,this.e2,this.e3,this.lat0)}function R_(s){var f=s.x,h=s.y,m,p,y,_=Q(f-this.long0);if(y=_*Math.sin(h),this.sphere)Math.abs(h)<=L?(m=this.a*_,p=-1*this.a*this.lat0):(m=this.a*Math.sin(y)/Math.tan(h),p=this.a*(Tt(h-this.lat0)+(1-Math.cos(y))/Math.tan(h)));else if(Math.abs(h)<=L)m=this.a*_,p=-1*this.ml0;else{var R=sr(this.a,this.e,Math.sin(h))/Math.tan(h);m=R*Math.sin(y),p=this.a*P0(this.e0,this.e1,this.e2,this.e3,h)-this.ml0+R*(1-Math.cos(y))}return s.x=m+this.x0,s.y=p+this.y0,s}function x_(s){var f,h,m,p,y,_,R,F,V;if(m=s.x-this.x0,p=s.y-this.y0,this.sphere)if(Math.abs(p+this.a*this.lat0)<=L)f=Q(m/this.a+this.long0),h=0;else{_=this.lat0+p/this.a,R=m*m/this.a/this.a+_*_,F=_;var X;for(y=RA;y;--y)if(X=Math.tan(F),V=-1*(_*(F*X+1)-F-.5*(F*F+R)*X)/((F-_)/X-1),F+=V,Math.abs(V)<=L){h=F;break}f=Q(this.long0+Math.asin(m*Math.tan(F)/this.a)/Math.sin(h))}else if(Math.abs(p+this.ml0)<=L)h=0,f=Q(this.long0+m/this.a);else{_=(this.ml0+p)/this.a,R=m*m/this.a/this.a+_*_,F=_;var T,C,W,P,q;for(y=RA;y;--y)if(q=this.e*Math.sin(F),T=Math.sqrt(1-q*q)*Math.tan(F),C=this.a*P0(this.e0,this.e1,this.e2,this.e3,F),W=this.e0-2*this.e1*Math.cos(2*F)+4*this.e2*Math.cos(4*F)-6*this.e3*Math.cos(6*F),P=C/this.a,V=(_*(T*P+1)-P-.5*T*(P*P+R))/(this.es*Math.sin(2*F)*(P*P+R-2*_*P)/(4*T)+(_-P)*(T*W-2/Math.sin(2*F))-W),F-=V,Math.abs(V)<=L){h=F;break}T=Math.sqrt(1-this.es*Math.pow(Math.sin(h),2))*Math.tan(h),f=Q(this.long0+Math.asin(m*T/this.a)/Math.sin(h))}return s.x=f,s.y=h,s}var w_=["Polyconic","poly"],xA={init:__,forward:R_,inverse:x_,names:w_};function Z_(){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 F_(s){var f,h=s.x,m=s.y,p=m-this.lat0,y=h-this.long0,_=p/Ir*1e-5,R=y,F=1,V=0;for(f=1;f<=10;f++)F=F*_,V=V+this.A[f]*F;var X=V,T=R,C=1,W=0,P,q,K=0,r0=0;for(f=1;f<=6;f++)P=C*X-W*T,q=W*X+C*T,C=P,W=q,K=K+this.B_re[f]*C-this.B_im[f]*W,r0=r0+this.B_im[f]*C+this.B_re[f]*W;return s.x=r0*this.a+this.x0,s.y=K*this.a+this.y0,s}function k_(s){var f,h=s.x,m=s.y,p=h-this.x0,y=m-this.y0,_=y/this.a,R=p/this.a,F=1,V=0,X,T,C=0,W=0;for(f=1;f<=6;f++)X=F*_-V*R,T=V*_+F*R,F=X,V=T,C=C+this.C_re[f]*F-this.C_im[f]*V,W=W+this.C_im[f]*F+this.C_re[f]*V;for(var P=0;P<this.iterations;P++){var q=C,K=W,r0,o0,l0=_,p0=R;for(f=2;f<=6;f++)r0=q*C-K*W,o0=K*C+q*W,q=r0,K=o0,l0=l0+(f-1)*(this.B_re[f]*q-this.B_im[f]*K),p0=p0+(f-1)*(this.B_im[f]*q+this.B_re[f]*K);q=1,K=0;var h0=this.B_re[1],a0=this.B_im[1];for(f=2;f<=6;f++)r0=q*C-K*W,o0=K*C+q*W,q=r0,K=o0,h0=h0+f*(this.B_re[f]*q-this.B_im[f]*K),a0=a0+f*(this.B_im[f]*q+this.B_re[f]*K);var U0=h0*h0+a0*a0;C=(l0*h0+p0*a0)/U0,W=(p0*h0-l0*a0)/U0}var V0=C,wt=W,or=1,fr=0;for(f=1;f<=9;f++)or=or*V0,fr=fr+this.D[f]*or;var yr=this.lat0+fr*Ir*1e5,hn=this.long0+wt;return s.x=hn,s.y=yr,s}var N_=["New_Zealand_Map_Grid","nzmg"],wA={init:Z_,forward:F_,inverse:k_,names:N_};function V_(){}function W_(s){var f=s.x,h=s.y,m=Q(f-this.long0),p=this.x0+this.a*m,y=this.y0+this.a*Math.log(Math.tan(Math.PI/4+h/2.5))*1.25;return s.x=p,s.y=y,s}function T_(s){s.x-=this.x0,s.y-=this.y0;var f=Q(this.long0+s.x/this.a),h=2.5*(Math.atan(Math.exp(.8*s.y/this.a))-Math.PI/4);return s.x=f,s.y=h,s}var X_=["Miller_Cylindrical","mill"],ZA={init:V_,forward:W_,inverse:T_,names:X_};var U_=20;function G_(){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=bi(this.es)}function E_(s){var f,h,m=s.x,p=s.y;if(m=Q(m-this.long0),this.sphere){if(!this.m)p=this.n!==1?Math.asin(this.n*Math.sin(p)):p;else for(var y=this.n*Math.sin(p),_=U_;_;--_){var R=(this.m*p+Math.sin(p)-y)/(this.m+Math.cos(p));if(p-=R,Math.abs(R)<L)break}f=this.a*this.C_x*m*(this.m+Math.cos(p)),h=this.a*this.C_y*p}else{var F=Math.sin(p),V=Math.cos(p);h=this.a*Pr(p,F,V,this.en),f=this.a*m*V/Math.sqrt(1-this.es*F*F)}return s.x=f,s.y=h,s}function z_(s){var f,h,m,p;return s.x-=this.x0,m=s.x/this.a,s.y-=this.y0,f=s.y/this.a,this.sphere?(f/=this.C_y,m=m/(this.C_x*(this.m+Math.cos(f))),this.m?f=it((this.m*f+Math.sin(f))/this.n):this.n!==1&&(f=it(Math.sin(f)/this.n)),m=Q(m+this.long0),f=Tt(f)):(f=tn(s.y/this.a,this.es,this.en),p=Math.abs(f),p<j?(p=Math.sin(f),h=this.long0+s.x*Math.sqrt(1-this.es*p*p)/(this.a*Math.cos(f)),m=Q(h)):p-L<j&&(m=this.long0)),s.x=m,s.y=f,s}var B_=["Sinusoidal","sinu"],FA={init:G_,forward:E_,inverse:z_,names:B_};function S_(){}function C_(s){for(var f=s.x,h=s.y,m=Q(f-this.long0),p=h,y=Math.PI*Math.sin(h);;){var _=-(p+Math.sin(p)-y)/(1+Math.cos(p));if(p+=_,Math.abs(_)<L)break}p/=2,Math.PI/2-Math.abs(h)<L&&(m=0);var R=.900316316158*this.a*m*Math.cos(p)+this.x0,F=1.4142135623731*this.a*Math.sin(p)+this.y0;return s.x=R,s.y=F,s}function I_(s){var f,h;s.x-=this.x0,s.y-=this.y0,h=s.y/(1.4142135623731*this.a),Math.abs(h)>.999999999999&&(h=.999999999999),f=Math.asin(h);var m=Q(this.long0+s.x/(.900316316158*this.a*Math.cos(f)));m<-Math.PI&&(m=-Math.PI),m>Math.PI&&(m=Math.PI),h=(2*f+Math.sin(2*f))/Math.PI,Math.abs(h)>1&&(h=1);var p=Math.asin(h);return s.x=m,s.y=p,s}var O_=["Mollweide","moll"],kA={init:S_,forward:C_,inverse:I_,names:O_};function J_(){Math.abs(this.lat1+this.lat2)<L||(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=P0(this.e0,this.e1,this.e2,this.e3,this.lat1),Math.abs(this.lat1-this.lat2)<L?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=P0(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=P0(this.e0,this.e1,this.e2,this.e3,this.lat0),this.rh=this.a*(this.g-this.ml0))}function P_(s){var f=s.x,h=s.y,m;if(this.sphere)m=this.a*(this.g-h);else{var p=P0(this.e0,this.e1,this.e2,this.e3,h);m=this.a*(this.g-p)}var y=this.ns*Q(f-this.long0),_=this.x0+m*Math.sin(y),R=this.y0+this.rh-m*Math.cos(y);return s.x=_,s.y=R,s}function j_(s){s.x-=this.x0,s.y=this.rh-s.y+this.y0;var f,h,m,p;this.ns>=0?(h=Math.sqrt(s.x*s.x+s.y*s.y),f=1):(h=-Math.sqrt(s.x*s.x+s.y*s.y),f=-1);var y=0;if(h!==0&&(y=Math.atan2(f*s.x,f*s.y)),this.sphere)return p=Q(this.long0+y/this.ns),m=Tt(this.g-h/this.a),s.x=p,s.y=m,s;var _=this.g-h/this.a;return m=jr(_,this.e0,this.e1,this.e2,this.e3),p=Q(this.long0+y/this.ns),s.x=p,s.y=m,s}var Y_=["Equidistant_Conic","eqdc"],NA={init:J_,forward:P_,inverse:j_,names:Y_};function D_(){this.R=this.a}function H_(s){var f=s.x,h=s.y,m=Q(f-this.long0),p,y;Math.abs(h)<=L&&(p=this.x0+this.R*m,y=this.y0);var _=it(2*Math.abs(h/Math.PI));(Math.abs(m)<=L||Math.abs(Math.abs(h)-j)<=L)&&(p=this.x0,h>=0?y=this.y0+Math.PI*this.R*Math.tan(.5*_):y=this.y0+Math.PI*this.R*-Math.tan(.5*_));var R=.5*Math.abs(Math.PI/m-m/Math.PI),F=R*R,V=Math.sin(_),X=Math.cos(_),T=X/(V+X-1),C=T*T,W=T*(2/V-1),P=W*W,q=Math.PI*this.R*(R*(T-P)+Math.sqrt(F*(T-P)*(T-P)-(P+F)*(C-P)))/(P+F);m<0&&(q=-q),p=this.x0+q;var K=F+T;return q=Math.PI*this.R*(W*K-R*Math.sqrt((P+F)*(F+1)-K*K))/(P+F),h>=0?y=this.y0+q:y=this.y0-q,s.x=p,s.y=y,s}function L_(s){var f,h,m,p,y,_,R,F,V,X,T,C,W;return s.x-=this.x0,s.y-=this.y0,T=Math.PI*this.R,m=s.x/T,p=s.y/T,y=m*m+p*p,_=-Math.abs(p)*(1+y),R=_-2*p*p+m*m,F=-2*_+1+2*p*p+y*y,W=p*p/F+(2*R*R*R/F/F/F-9*_*R/F/F)/27,V=(_-R*R/3/F)/F,X=2*Math.sqrt(-V/3),T=3*W/V/X,Math.abs(T)>1&&(T>=0?T=1:T=-1),C=Math.acos(T)/3,s.y>=0?h=(-X*Math.cos(C+Math.PI/3)-R/3/F)*Math.PI:h=-(-X*Math.cos(C+Math.PI/3)-R/3/F)*Math.PI,Math.abs(m)<L?f=this.long0:f=Q(this.long0+Math.PI*(y-1+Math.sqrt(1+2*(m*m-p*p)+y*y))/2/m),s.x=f,s.y=h,s}var Q_=["Van_der_Grinten_I","VanDerGrinten","vandg"],VA={init:D_,forward:H_,inverse:L_,names:Q_};function q_(){this.sin_p12=Math.sin(this.lat0),this.cos_p12=Math.cos(this.lat0)}function $_(s){var f=s.x,h=s.y,m=Math.sin(s.y),p=Math.cos(s.y),y=Q(f-this.long0),_,R,F,V,X,T,C,W,P,q,K,r0,o0,l0,p0,h0,a0,U0,V0,wt,or,fr,yr;return this.sphere?Math.abs(this.sin_p12-1)<=L?(s.x=this.x0+this.a*(j-h)*Math.sin(y),s.y=this.y0-this.a*(j-h)*Math.cos(y),s):Math.abs(this.sin_p12+1)<=L?(s.x=this.x0+this.a*(j+h)*Math.sin(y),s.y=this.y0+this.a*(j+h)*Math.cos(y),s):(U0=this.sin_p12*m+this.cos_p12*p*Math.cos(y),h0=Math.acos(U0),a0=h0?h0/Math.sin(h0):1,s.x=this.x0+this.a*a0*p*Math.sin(y),s.y=this.y0+this.a*a0*(this.cos_p12*m-this.sin_p12*p*Math.cos(y)),s):(_=rr(this.es),R=er(this.es),F=ir(this.es),V=nr(this.es),Math.abs(this.sin_p12-1)<=L?(X=this.a*P0(_,R,F,V,j),T=this.a*P0(_,R,F,V,h),s.x=this.x0+(X-T)*Math.sin(y),s.y=this.y0-(X-T)*Math.cos(y),s):Math.abs(this.sin_p12+1)<=L?(X=this.a*P0(_,R,F,V,j),T=this.a*P0(_,R,F,V,h),s.x=this.x0+(X+T)*Math.sin(y),s.y=this.y0+(X+T)*Math.cos(y),s):(C=m/p,W=sr(this.a,this.e,this.sin_p12),P=sr(this.a,this.e,m),q=Math.atan((1-this.es)*C+this.es*W*this.sin_p12/(P*p)),K=Math.atan2(Math.sin(y),this.cos_p12*Math.tan(q)-this.sin_p12*Math.cos(y)),K===0?V0=Math.asin(this.cos_p12*Math.sin(q)-this.sin_p12*Math.cos(q)):Math.abs(Math.abs(K)-Math.PI)<=L?V0=-Math.asin(this.cos_p12*Math.sin(q)-this.sin_p12*Math.cos(q)):V0=Math.asin(Math.sin(y)*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),l0=r0*o0,p0=o0*o0,wt=V0*V0,or=wt*V0,fr=or*V0,yr=fr*V0,h0=W*V0*(1-wt*p0*(1-p0)/6+or/8*l0*(1-2*p0)+fr/120*(p0*(4-7*p0)-3*r0*r0*(1-7*p0))-yr/48*l0),s.x=this.x0+h0*Math.sin(K),s.y=this.y0+h0*Math.cos(K),s))}function K_(s){s.x-=this.x0,s.y-=this.y0;var f,h,m,p,y,_,R,F,V,X,T,C,W,P,q,K,r0,o0,l0,p0,h0,a0,U0,V0;return this.sphere?(f=Math.sqrt(s.x*s.x+s.y*s.y),f>2*j*this.a?void 0:(h=f/this.a,m=Math.sin(h),p=Math.cos(h),y=this.long0,Math.abs(f)<=L?_=this.lat0:(_=it(p*this.sin_p12+s.y*m*this.cos_p12/f),R=Math.abs(this.lat0)-j,Math.abs(R)<=L?this.lat0>=0?y=Q(this.long0+Math.atan2(s.x,-s.y)):y=Q(this.long0-Math.atan2(-s.x,s.y)):y=Q(this.long0+Math.atan2(s.x*m,f*this.cos_p12*p-s.y*this.sin_p12*m))),s.x=y,s.y=_,s)):(F=rr(this.es),V=er(this.es),X=ir(this.es),T=nr(this.es),Math.abs(this.sin_p12-1)<=L?(C=this.a*P0(F,V,X,T,j),f=Math.sqrt(s.x*s.x+s.y*s.y),W=C-f,_=jr(W/this.a,F,V,X,T),y=Q(this.long0+Math.atan2(s.x,-1*s.y)),s.x=y,s.y=_,s):Math.abs(this.sin_p12+1)<=L?(C=this.a*P0(F,V,X,T,j),f=Math.sqrt(s.x*s.x+s.y*s.y),W=f-C,_=jr(W/this.a,F,V,X,T),y=Q(this.long0+Math.atan2(s.x,s.y)),s.x=y,s.y=_,s):(f=Math.sqrt(s.x*s.x+s.y*s.y),K=Math.atan2(s.x,s.y),P=sr(this.a,this.e,this.sin_p12),r0=Math.cos(K),o0=this.e*this.cos_p12*r0,l0=-o0*o0/(1-this.es),p0=3*this.es*(1-l0)*this.sin_p12*this.cos_p12*r0/(1-this.es),h0=f/P,a0=h0-l0*(1+l0)*Math.pow(h0,3)/6-p0*(1+3*l0)*Math.pow(h0,4)/24,U0=1-l0*a0*a0/2-h0*a0*a0*a0/6,q=Math.asin(this.sin_p12*Math.cos(a0)+this.cos_p12*Math.sin(a0)*r0),y=Q(this.long0+Math.asin(Math.sin(K)*Math.sin(a0)/Math.cos(q))),V0=Math.sin(q),_=Math.atan2((V0-this.es*U0*this.sin_p12)*Math.tan(q),V0*(1-this.es)),s.x=y,s.y=_,s))}var b_=["Azimuthal_Equidistant","aeqd"],WA={init:q_,forward:$_,inverse:K_,names:b_};function t9(){this.sin_p14=Math.sin(this.lat0),this.cos_p14=Math.cos(this.lat0)}function r9(s){var f,h,m,p,y,_,R,F,V=s.x,X=s.y;return m=Q(V-this.long0),f=Math.sin(X),h=Math.cos(X),p=Math.cos(m),_=this.sin_p14*f+this.cos_p14*h*p,y=1,(_>0||Math.abs(_)<=L)&&(R=this.a*y*h*Math.sin(m),F=this.y0+this.a*y*(this.cos_p14*f-this.sin_p14*h*p)),s.x=R,s.y=F,s}function e9(s){var f,h,m,p,y,_,R;return s.x-=this.x0,s.y-=this.y0,f=Math.sqrt(s.x*s.x+s.y*s.y),h=it(f/this.a),m=Math.sin(h),p=Math.cos(h),_=this.long0,Math.abs(f)<=L?(R=this.lat0,s.x=_,s.y=R,s):(R=it(p*this.sin_p14+s.y*m*this.cos_p14/f),y=Math.abs(this.lat0)-j,Math.abs(y)<=L?(this.lat0>=0?_=Q(this.long0+Math.atan2(s.x,-s.y)):_=Q(this.long0-Math.atan2(-s.x,s.y)),s.x=_,s.y=R,s):(_=Q(this.long0+Math.atan2(s.x*m,f*this.cos_p14*p-s.y*this.sin_p14*m)),s.x=_,s.y=R,s))}var i9=["ortho"],TA={init:t9,forward:r9,inverse:e9,names:i9};var B0={FRONT:1,RIGHT:2,BACK:3,LEFT:4,TOP:5,BOTTOM:6},x0={AREA_0:1,AREA_1:2,AREA_2:3,AREA_3:4};function n9(){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>=j-d0/2?this.face=B0.TOP:this.lat0<=-(j-d0/2)?this.face=B0.BOTTOM:Math.abs(this.long0)<=d0?this.face=B0.FRONT:Math.abs(this.long0)<=j+d0?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 s9(s){var f={x:0,y:0},h,m,p,y,_,R,F={value:0};if(s.x-=this.long0,this.es!==0?h=Math.atan(this.one_minus_f_squared*Math.tan(s.y)):h=s.y,m=s.x,this.face===B0.TOP)y=j-h,m>=d0&&m<=j+d0?(F.value=x0.AREA_0,p=m-j):m>j+d0||m<=-(j+d0)?(F.value=x0.AREA_1,p=m>0?m-z0:m+z0):m>-(j+d0)&&m<=-d0?(F.value=x0.AREA_2,p=m+j):(F.value=x0.AREA_3,p=m);else if(this.face===B0.BOTTOM)y=j+h,m>=d0&&m<=j+d0?(F.value=x0.AREA_0,p=-m+j):m<d0&&m>=-d0?(F.value=x0.AREA_1,p=-m):m<-d0&&m>=-(j+d0)?(F.value=x0.AREA_2,p=-m-j):(F.value=x0.AREA_3,p=m>0?-m+z0:-m-z0);else{var V,X,T,C,W,P,q;this.face===B0.RIGHT?m=pe(m,+j):this.face===B0.BACK?m=pe(m,+z0):this.face===B0.LEFT&&(m=pe(m,-j)),C=Math.sin(h),W=Math.cos(h),P=Math.sin(m),q=Math.cos(m),V=W*q,X=W*P,T=C,this.face===B0.FRONT?(y=Math.acos(V),p=on(y,T,X,F)):this.face===B0.RIGHT?(y=Math.acos(X),p=on(y,T,-V,F)):this.face===B0.BACK?(y=Math.acos(-V),p=on(y,T,-X,F)):this.face===B0.LEFT?(y=Math.acos(-X),p=on(y,T,V,F)):(y=p=0,F.value=x0.AREA_0)}return R=Math.atan(12/z0*(p+Math.acos(Math.sin(p)*Math.cos(d0))-j)),_=Math.sqrt((1-Math.cos(y))/(Math.cos(R)*Math.cos(R))/(1-Math.cos(Math.atan(1/Math.cos(p))))),F.value===x0.AREA_1?R+=j:F.value===x0.AREA_2?R+=z0:F.value===x0.AREA_3&&(R+=1.5*z0),f.x=_*Math.cos(R),f.y=_*Math.sin(R),f.x=f.x*this.a+this.x0,f.y=f.y*this.a+this.y0,s.x=f.x,s.y=f.y,s}function o9(s){var f={lam:0,phi:0},h,m,p,y,_,R,F,V,X,T={value:0};if(s.x=(s.x-this.x0)/this.a,s.y=(s.y-this.y0)/this.a,m=Math.atan(Math.sqrt(s.x*s.x+s.y*s.y)),h=Math.atan2(s.y,s.x),s.x>=0&&s.x>=Math.abs(s.y)?T.value=x0.AREA_0:s.y>=0&&s.y>=Math.abs(s.x)?(T.value=x0.AREA_1,h-=j):s.x<0&&-s.x>=Math.abs(s.y)?(T.value=x0.AREA_2,h=h<0?h+z0:h-z0):(T.value=x0.AREA_3,h+=j),X=z0/12*Math.tan(h),_=Math.sin(X)/(Math.cos(X)-1/Math.sqrt(2)),R=Math.atan(_),p=Math.cos(h),y=Math.tan(m),F=1-p*p*y*y*(1-Math.cos(Math.atan(1/Math.cos(R)))),F<-1?F=-1:F>1&&(F=1),this.face===B0.TOP)V=Math.acos(F),f.phi=j-V,T.value===x0.AREA_0?f.lam=R+j:T.value===x0.AREA_1?f.lam=R<0?R+z0:R-z0:T.value===x0.AREA_2?f.lam=R-j:f.lam=R;else if(this.face===B0.BOTTOM)V=Math.acos(F),f.phi=V-j,T.value===x0.AREA_0?f.lam=-R+j:T.value===x0.AREA_1?f.lam=-R:T.value===x0.AREA_2?f.lam=-R-j:f.lam=R<0?-R-z0:-R+z0;else{var C,W,P;C=F,X=C*C,X>=1?P=0:P=Math.sqrt(1-X)*Math.sin(R),X+=P*P,X>=1?W=0:W=Math.sqrt(1-X),T.value===x0.AREA_1?(X=W,W=-P,P=X):T.value===x0.AREA_2?(W=-W,P=-P):T.value===x0.AREA_3&&(X=W,W=P,P=-X),this.face===B0.RIGHT?(X=C,C=-W,W=X):this.face===B0.BACK?(C=-C,W=-W):this.face===B0.LEFT&&(X=C,C=W,W=-X),f.phi=Math.acos(-P)-j,f.lam=Math.atan2(W,C),this.face===B0.RIGHT?f.lam=pe(f.lam,-j):this.face===B0.BACK?f.lam=pe(f.lam,-z0):this.face===B0.LEFT&&(f.lam=pe(f.lam,+j))}if(this.es!==0){var q,K,r0;q=f.phi<0?1:0,K=Math.tan(f.phi),r0=this.b/Math.sqrt(K*K+this.one_minus_f_squared),f.phi=Math.atan(Math.sqrt(this.a*this.a-r0*r0)/(this.one_minus_f*r0)),q&&(f.phi=-f.phi)}return f.lam+=this.long0,s.x=f.lam,s.y=f.phi,s}function on(s,f,h,m){var p;return s<L?(m.value=x0.AREA_0,p=0):(p=Math.atan2(f,h),Math.abs(p)<=d0?m.value=x0.AREA_0:p>d0&&p<=j+d0?(m.value=x0.AREA_1,p-=j):p>j+d0||p<=-(j+d0)?(m.value=x0.AREA_2,p=p>=0?p-z0:p+z0):(m.value=x0.AREA_3,p+=j)),p}function pe(s,f){var h=s+f;return h<-z0?h+=Le:h>+z0&&(h-=Le),h}var f9=["Quadrilateralized Spherical Cube","Quadrilateralized_Spherical_Cube","qsc"],XA={init:n9,forward:s9,inverse:o9,names:f9};var P2=[[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]],ri=[[-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]],UA=.8487,GA=1.3523,EA=Wt/5,a9=1/EA,de=18,fn=function(s,f){return s[0]+f*(s[1]+f*(s[2]+f*s[3]))},A9=function(s,f){return s[1]+f*(2*s[2]+f*3*s[3])};function h9(s,f,h,m){for(var p=f;m;--m){var y=s(p);if(p-=y,Math.abs(y)<h)break}return p}function l9(){this.x0=this.x0||0,this.y0=this.y0||0,this.long0=this.long0||0,this.es=0,this.title=this.title||"Robinson"}function u9(s){var f=Q(s.x-this.long0),h=Math.abs(s.y),m=Math.floor(h*EA);m<0?m=0:m>=de&&(m=de-1),h=Wt*(h-a9*m);var p={x:fn(P2[m],h)*f,y:fn(ri[m],h)};return s.y<0&&(p.y=-p.y),p.x=p.x*this.a*UA+this.x0,p.y=p.y*this.a*GA+this.y0,p}function c9(s){var f={x:(s.x-this.x0)/(this.a*UA),y:Math.abs(s.y-this.y0)/(this.a*GA)};if(f.y>=1)f.x/=P2[de][0],f.y=s.y<0?-j:j;else{var h=Math.floor(f.y*de);for(h<0?h=0:h>=de&&(h=de-1);;)if(ri[h][0]>f.y)--h;else if(ri[h+1][0]<=f.y)++h;else break;var m=ri[h],p=5*(f.y-m[0])/(ri[h+1][0]-m[0]);p=h9(function(y){return(fn(m,y)-f.y)/A9(m,y)},p,L,100),f.x/=fn(P2[h],p),f.y=(5*h+p)*O0,s.y<0&&(f.y=-f.y)}return f.x=Q(f.x+this.long0),f}var m9=["Robinson","robin"],zA={init:l9,forward:u9,inverse:c9,names:m9};function v9(){this.name="geocent"}function p9(s){var f=Qi(s,this.es,this.a);return f}function d9(s){var f=qi(s,this.es,this.a,this.b);return f}var y9=["Geocentric","geocentric","geocent","Geocent"],BA={init:v9,forward:p9,inverse:d9,names:y9};function SA(s){s.Proj.projections.add(eA),s.Proj.projections.add(ve),s.Proj.projections.add(aA),s.Proj.projections.add(AA),s.Proj.projections.add(hA),s.Proj.projections.add(lA),s.Proj.projections.add(uA),s.Proj.projections.add(cA),s.Proj.projections.add(mA),s.Proj.projections.add(vA),s.Proj.projections.add(pA),s.Proj.projections.add(dA),s.Proj.projections.add(yA),s.Proj.projections.add(gA),s.Proj.projections.add(_A),s.Proj.projections.add(xA),s.Proj.projections.add(wA),s.Proj.projections.add(ZA),s.Proj.projections.add(FA),s.Proj.projections.add(kA),s.Proj.projections.add(NA),s.Proj.projections.add(VA),s.Proj.projections.add(WA),s.Proj.projections.add(TA),s.Proj.projections.add(XA),s.Proj.projections.add(zA),s.Proj.projections.add(BA)}ut.defaultDatum="WGS84";ut.Proj=dr;ut.WGS84=new ut.Proj("WGS84");ut.Point=Ka;ut.toPoint=Ki;ut.defs=le;ut.transform=Jr;ut.mgrs=Qa;ut.version="__VERSION__";SA(ut);var j2=ut;var Yr=class{static defineProjectionAliases(f){let h=[];for(let m in f)h.push([m,f[m]]);j2.defs(h)}constructor({from:f="WGS84",to:h="WGS84"}){if(this._projection=j2(f,h),!this._projection)throw new Error("Invalid projection");this.project=this.project.bind(this),this.unproject=this.unproject.bind(this)}project(f){return this._projection.forward(f)}unproject(f){return this._projection.inverse(f)}};var CA=s=>s?new Yr({from:s,to:"WGS84"}):null;var IA=(s,f)=>{if(!f)return[0,0,0];let[h,m,p]=f[0],[y,_,R]=f[1],F=h,V=m,X=y,T=_;return s&&([F,V]=s.project([F,V]),[X,T]=s.project([X,T])),[F+(X-F)/2,V+(T-V)/2,p+(R-p)/2]};var Y2;(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"})(Y2||(Y2={}));var An=class extends he{baseUrl="";metadata=null;root=null;isReady=!1;projection=null;boundingBox;initPromise=null;constructor(f,h){super(f,h),this.makeBaseUrl(this.data),this.initPromise=this.init()}async init(){if(this.initPromise){await this.initPromise;return}this.metadata=await(0,an.load)(`${this.baseUrl}/cloud.js`,Ci),this.projection=CA(this.metadata?.projection),this.parseBoundingVolume(),await this.loadHierarchy(),this.isReady=!0}isSupported(){let{minor:f,major:h}=oa(this.metadata?.version??"");return this.isReady&&h===1&&f<=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(f){if(await this.initPromise,!this.isSupported())return null;if(await this.isNodeAvailable(f)){let m=await(0,an.load)(`${this.baseUrl}/${this.metadata?.octreeDir}/r/r${f}.${this.getContentExtension()}`,V2);if(m){m.cartographicOrigin=IA(this.projection,m.header?.boundingBox);let p=m.attributes.POSITION.value;for(let y=0;y<(m.header?.vertexCount??0);y++){let _=p.slice(y*3,y*3+2);this.projection&&(_=this.projection.project(Array.from(_)));let R=[_[0]-m.cartographicOrigin[0],_[1]-m.cartographicOrigin[1],p[y*3+2]-m.cartographicOrigin[2]];p.set(R,y*3)}return m.attributes.positions=m.attributes.POSITION,m.attributes.colors=m.attributes.COLOR_0,m.attributes.normals=m.attributes.NORMAL,m.coordinateSystem=Y2.LNGLAT_OFFSETS,m}}return null}async isNodeAvailable(f){if(this.metadata?.hierarchy)return this.metadata.hierarchy.findIndex(y=>y[0]===`r${f}`)!==-1;if(!this.root)return!1;let h=this.root,m="",p=!0;for(let y of f){let _=`${m}${y}`,R=h.children.find(F=>F.name===_);if(R)h=R,m=_;else{p=!1;break}}return p}async loadHierarchy(){this.root=await(0,an.load)(`${this.baseUrl}/${this.metadata?.octreeDir}/r/r.hrc`,Ii)}makeBaseUrl(f){this.baseUrl=typeof f=="string"?De(f):"",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 f=new Yr({from:this.metadata.projection,to:"WGS84"}),{lx:h,ly:m,ux:p,uy:y}=this.metadata.tightBoundingBox,_=[h,m],R=f.project(_),F=[p,y],V=f.project(F);this.boundingBox={...this.metadata.tightBoundingBox,lx:R[0],ly:R[1],ux:V[0],uy:V[1]}}else this.boundingBox=this.metadata?.tightBoundingBox}};var M9="1.7",OA={name:"Potree",id:"potree",module:"potree",version:M9,extensions:["bin","las","laz"],mimeTypes:["application/octet-stream"],type:"potree",fromUrl:!0,fromBlob:!0,defaultOptions:{potree:{}},testURL:s=>s.endsWith(".js"),createDataSource:(s,f)=>new An(s,f)};return Oy(ei);})();