From 045cb10c1315fa7dded3f757db0a4425725bc1df Mon Sep 17 00:00:00 2001 From: bofeng Date: Mon, 4 Dec 2023 11:36:08 +0800 Subject: [PATCH] Revert "fix bullet can not work normaly at unit test (#447)" This reverts commit 77cd49d3eb710e7466bff528ad9067c0b8d2875d. --- emscripten/bullet/bullet.release.asm.js | 21 +++++----- emscripten/bullet/bullet.release.asm.js.mem | Bin 0 -> 32051 bytes emscripten/bullet/bullet.release.wasm.js | 42 ++++++++++---------- 3 files changed, 32 insertions(+), 31 deletions(-) create mode 100644 emscripten/bullet/bullet.release.asm.js.mem diff --git a/emscripten/bullet/bullet.release.asm.js b/emscripten/bullet/bullet.release.asm.js index 71e0ae0e..2dc7b264 100644 --- a/emscripten/bullet/bullet.release.asm.js +++ b/emscripten/bullet/bullet.release.asm.js @@ -5,22 +5,23 @@ var Bullet = (() => { return ( function(Bullet = {}) { -var Module=typeof Bullet!="undefined"?Bullet:{};var readyPromiseResolve,readyPromiseReject;Module["ready"]=new Promise((resolve,reject)=>{readyPromiseResolve=resolve;readyPromiseReject=reject});var moduleOverrides=Object.assign({},Module);var arguments_=[];var thisProgram="./this.program";var quit_=(status,toThrow)=>{throw toThrow};var ENVIRONMENT_IS_WEB=true;var ENVIRONMENT_IS_WORKER=false;var scriptDirectory="";function locateFile(path){if(Module["locateFile"]){return Module["locateFile"](path,scriptDirectory)}return scriptDirectory+path}var read_,readAsync,readBinary,setWindowTitle;if(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER){if(ENVIRONMENT_IS_WORKER){scriptDirectory=self.location.href}else if(typeof document!="undefined"&&document.currentScript){scriptDirectory=document.currentScript.src}if(_scriptDir){scriptDirectory=_scriptDir}if(scriptDirectory.indexOf("blob:")!==0){scriptDirectory=scriptDirectory.substr(0,scriptDirectory.replace(/[?#].*/,"").lastIndexOf("/")+1)}else{scriptDirectory=""}{read_=url=>{try{var xhr=new XMLHttpRequest;xhr.open("GET",url,false);xhr.send(null);return xhr.responseText}catch(err){var data=tryParseAsDataURI(url);if(data){return intArrayToString(data)}throw err}};if(ENVIRONMENT_IS_WORKER){readBinary=url=>{try{var xhr=new XMLHttpRequest;xhr.open("GET",url,false);xhr.responseType="arraybuffer";xhr.send(null);return new Uint8Array(xhr.response)}catch(err){var data=tryParseAsDataURI(url);if(data){return data}throw err}}}readAsync=(url,onload,onerror)=>{var xhr=new XMLHttpRequest;xhr.open("GET",url,true);xhr.responseType="arraybuffer";xhr.onload=()=>{if(xhr.status==200||xhr.status==0&&xhr.response){onload(xhr.response);return}var data=tryParseAsDataURI(url);if(data){onload(data.buffer);return}onerror()};xhr.onerror=onerror;xhr.send(null)}}setWindowTitle=title=>document.title=title}else{}var out=Module["print"]||console.log.bind(console);var err=Module["printErr"]||console.error.bind(console);Object.assign(Module,moduleOverrides);moduleOverrides=null;if(Module["arguments"])arguments_=Module["arguments"];if(Module["thisProgram"])thisProgram=Module["thisProgram"];if(Module["quit"])quit_=Module["quit"];var wasmBinary;if(Module["wasmBinary"])wasmBinary=Module["wasmBinary"];var noExitRuntime=Module["noExitRuntime"]||true;var WebAssembly={Memory:function(opts){this.buffer=new ArrayBuffer(opts["initial"]*65536)},Module:function(binary){},Instance:function(module,info){this.exports=( +var Module=typeof Bullet!="undefined"?Bullet:{};var readyPromiseResolve,readyPromiseReject;Module["ready"]=new Promise((resolve,reject)=>{readyPromiseResolve=resolve;readyPromiseReject=reject});var moduleOverrides=Object.assign({},Module);var arguments_=[];var thisProgram="./this.program";var quit_=(status,toThrow)=>{throw toThrow};var ENVIRONMENT_IS_WEB=true;var ENVIRONMENT_IS_WORKER=false;var ENVIRONMENT_IS_NODE=false;var ENVIRONMENT_IS_SHELL=false;var scriptDirectory="";function locateFile(path){if(Module["locateFile"]){return Module["locateFile"](path,scriptDirectory)}return scriptDirectory+path}var read_,readAsync,readBinary,setWindowTitle;if(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER){if(ENVIRONMENT_IS_WORKER){scriptDirectory=self.location.href}else if(typeof document!="undefined"&&document.currentScript){scriptDirectory=document.currentScript.src}if(_scriptDir){scriptDirectory=_scriptDir}if(scriptDirectory.indexOf("blob:")!==0){scriptDirectory=scriptDirectory.substr(0,scriptDirectory.replace(/[?#].*/,"").lastIndexOf("/")+1)}else{scriptDirectory=""}{read_=url=>{var xhr=new XMLHttpRequest;xhr.open("GET",url,false);xhr.send(null);return xhr.responseText};if(ENVIRONMENT_IS_WORKER){readBinary=url=>{var xhr=new XMLHttpRequest;xhr.open("GET",url,false);xhr.responseType="arraybuffer";xhr.send(null);return new Uint8Array(xhr.response)}}readAsync=(url,onload,onerror)=>{var xhr=new XMLHttpRequest;xhr.open("GET",url,true);xhr.responseType="arraybuffer";xhr.onload=()=>{if(xhr.status==200||xhr.status==0&&xhr.response){onload(xhr.response);return}onerror()};xhr.onerror=onerror;xhr.send(null)}}setWindowTitle=title=>document.title=title}else{}var out=Module["print"]||console.log.bind(console);var err=Module["printErr"]||console.error.bind(console);Object.assign(Module,moduleOverrides);moduleOverrides=null;if(Module["arguments"])arguments_=Module["arguments"];if(Module["thisProgram"])thisProgram=Module["thisProgram"];if(Module["quit"])quit_=Module["quit"];var wasmBinary;if(Module["wasmBinary"])wasmBinary=Module["wasmBinary"];var noExitRuntime=Module["noExitRuntime"]||true;var WebAssembly={Memory:function(opts){this.buffer=new ArrayBuffer(opts["initial"]*65536)},Module:function(binary){},Instance:function(module,info){this.exports=( // EMSCRIPTEN_START_ASM -function instantiate(Ea){function c(d){d.set=function(a,b){this[a]=b};d.get=function(a){return this[a]};return d}var e;var f=new Uint8Array(123);for(var a=25;a>=0;--a){f[48+a]=52+a;f[65+a]=a;f[97+a]=26+a}f[43]=62;f[47]=63;function l(m,n,o){var g,h,a=0,i=n,j=o.length,k=n+(j*3>>2)-(o[j-2]=="=")-(o[j-1]=="=");for(;a>4;if(i>2;if(i>2];if(d){va[J[J[d>>2]>>2]](d)|0;Fa(J[a+60>>2])}d=Ga(132);H[d+20|0]=1;J[d>>2]=20828;J[d+16>>2]=0;H[d+40|0]=1;J[d+8>>2]=0;J[d+12>>2]=0;J[d+36>>2]=0;H[d+60|0]=1;J[d+28>>2]=0;J[d+32>>2]=0;J[d+56>>2]=0;J[d+48>>2]=0;J[d+52>>2]=0;J[a+60>>2]=d;J[c+216>>2]=0;J[c+208>>2]=0;J[c+212>>2]=0;H[c+220|0]=1;d=0;if((va[J[J[a>>2]+96>>2]](a)|0)>0){d=J[c+216>>2];j=K[c+220|0];f=J[c+212>>2];m=J[c+208>>2];while(1){a:{if((f|0)!=(m|0)){break a}e=m?m<<1:1;if((e|0)<=(m|0)){break a}f=0;d=0;if(e){d=Ga(e<<4)}if((m|0)>0){while(1){h=f<<4;p=h+d|0;s=h+k|0;h=J[s+4>>2];J[p>>2]=J[s>>2];J[p+4>>2]=h;h=J[s+12>>2];J[p+8>>2]=J[s+8>>2];J[p+12>>2]=h;f=f+1|0;if((m|0)!=(f|0)){continue}break}}if(!(!k|!j)){Fa(k)}j=1;f=e}va[J[J[a>>2]+108>>2]](a,g,(m<<4)+d|0);m=m+1|0;k=d;g=g+1|0;if((va[J[J[a>>2]+96>>2]](a)|0)>(g|0)){continue}break}H[c+220|0]=j;J[c+212>>2]=f;J[c+208>>2]=m;J[c+216>>2]=d}H[c+180|0]=1;J[c+176>>2]=0;H[c+200|0]=1;J[c+168>>2]=0;J[c+172>>2]=0;J[c+196>>2]=0;J[c+188>>2]=0;J[c+192>>2]=0;J[c+156>>2]=0;H[c+160|0]=1;J[c+148>>2]=0;J[c+152>>2]=0;b:{if(b){k=0;J[c+60>>2]=0;H[c+64|0]=1;J[c+52>>2]=0;J[c+56>>2]=0;d=0;m=ta-16|0;ta=m;r=J[c+208>>2];if((r|0)>0){while(1){b=d;d=d+1|0;if((r|0)>(d|0)){w=J[c+216>>2]+(b<<4)|0;b=d;while(1){e=b;b=e+1|0;if((r|0)>(b|0)){u=J[c+216>>2]+(e<<4)|0;e=b;while(1){l=N[w>>2];y=Q(N[u>>2]-l);f=J[c+216>>2]+(e<<4)|0;i=N[w+4>>2];v=Q(N[f+4>>2]-i);o=Q(N[f>>2]-l);n=Q(N[u+4>>2]-i);D=Q(Q(y*v)-Q(o*n));i=N[w+8>>2];l=Q(N[u+8>>2]-i);i=Q(N[f+8>>2]-i);y=Q(Q(l*o)-Q(i*y));v=Q(Q(n*i)-Q(v*l));x=Q(1);f=1;while(1){o=Q(D*x);n=Q(v*x);l=Q(y*x);i=Q(Q(o*o)+Q(Q(n*n)+Q(l*l)));c:{if(!(i>Q(9999999747378752e-20))){break c}i=Q(Q(1)/Q(Y(i)));o=Q(o*i);N[m+8>>2]=o;l=Q(l*i);N[m+4>>2]=l;i=Q(n*i);N[m>>2]=i;s=J[c+52>>2];if((s|0)>0){g=0;h=J[c+60>>2];if(Q(Q(o*N[h+8>>2])+Q(Q(i*N[h>>2])+Q(l*N[h+4>>2])))>Q(.9990000128746033)){break c}while(1){g=g+1|0;if((s|0)!=(g|0)){j=h+(g<<4)|0;if(!(Q(Q(o*N[j+8>>2])+Q(Q(i*N[j>>2])+Q(l*N[j+4>>2])))>Q(.9990000128746033))){continue}}break}if((g|0)<(s|0)){break c}}N[m+12>>2]=-Q(Q(o*N[w+8>>2])+Q(Q(i*N[w>>2])+Q(l*N[w+4>>2])));g=0;h=J[c+208>>2];j=1;d:{if((h|0)<=0){break d}o=N[m+8>>2];p=J[c+216>>2];n=N[m>>2];l=N[m+4>>2];i=N[m+12>>2];j=0;if(Q(Q(Q(Q(o*N[p+8>>2])+Q(Q(n*N[p>>2])+Q(l*N[p+4>>2])))+i)+Q(-.009999999776482582))>Q(0)){break d}while(1){g=g+1|0;if((h|0)!=(g|0)){j=p+(g<<4)|0;if(!(Q(Q(Q(Q(o*N[j+8>>2])+Q(Q(n*N[j>>2])+Q(l*N[j+4>>2])))+i)+Q(-.009999999776482582))>Q(0))){continue}}break}j=(g|0)>=(h|0)}if(!j){break c}e:{if(J[c+56>>2]!=(s|0)){break e}t=s?s<<1:1;if((t|0)<=(s|0)){break e}g=0;q=0;if(t){q=Ga(t<<4);s=J[c+52>>2]}if((s|0)>0){while(1){j=g<<4;h=j+q|0;p=j+J[c+60>>2]|0;j=J[p+4>>2];J[h>>2]=J[p>>2];J[h+4>>2]=j;j=J[p+12>>2];J[h+8>>2]=J[p+8>>2];J[h+12>>2]=j;g=g+1|0;if((s|0)!=(g|0)){continue}break}}j=J[c+60>>2];if(!(!j|!K[c+64|0])){Fa(j)}J[c+60>>2]=q;H[c+64|0]=1;J[c+56>>2]=t;s=J[c+52>>2]}j=J[m+4>>2];g=J[c+60>>2]+(s<<4)|0;J[g>>2]=J[m>>2];J[g+4>>2]=j;j=J[m+12>>2];J[g+8>>2]=J[m+8>>2];J[g+12>>2]=j;J[c+52>>2]=J[c+52>>2]+1}j=f;x=Q(-1);f=0;if(j){continue}break}e=e+1|0;if((r|0)>(e|0)){continue}break}}if((b|0)!=(r|0)){continue}break}}if((d|0)!=(r|0)){continue}break}}ta=m+16|0;J[c+136>>2]=0;H[c+140|0]=1;J[c+128>>2]=0;J[c+132>>2]=0;if(J[c+52>>2]>0){while(1){b=J[c+60>>2]+(k<<4)|0;J[c+112>>2]=J[b+8>>2];d=J[b+4>>2];J[c+104>>2]=J[b>>2];J[c+108>>2]=d;i=Q(N[b+12>>2]-Q(va[J[J[a>>2]+48>>2]](a)));e=J[c+128>>2];f:{if((e|0)!=J[c+132>>2]){break f}h=e?e<<1:1;if((h|0)<=(e|0)){break f}f=0;d=0;if(h){d=Ga(h<<4);e=J[c+128>>2]}if((e|0)>0){while(1){b=f<<4;j=b+d|0;g=b+J[c+136>>2]|0;b=J[g+4>>2];J[j>>2]=J[g>>2];J[j+4>>2]=b;b=J[g+12>>2];J[j+8>>2]=J[g+8>>2];J[j+12>>2]=b;f=f+1|0;if((f|0)!=(e|0)){continue}break}}b=J[c+136>>2];if(!(!b|!K[c+140|0])){Fa(b)}J[c+136>>2]=d;H[c+140|0]=1;J[c+132>>2]=h;e=J[c+128>>2]}b=J[c+108>>2];d=J[c+136>>2]+(e<<4)|0;J[d>>2]=J[c+104>>2];J[d+4>>2]=b;b=J[c+112>>2];N[d+12>>2]=i;J[d+8>>2]=b;J[c+128>>2]=J[c+128>>2]+1;k=k+1|0;if((k|0)>2]){continue}break}}J[c+116>>2]=0;H[c+120|0]=1;J[c+108>>2]=0;J[c+112>>2]=0;d=0;t=ta-16|0;ta=t;q=J[c+128>>2];if((q|0)>0){while(1){b=d;d=d+1|0;if((q|0)>(d|0)){k=J[c+136>>2]+(b<<4)|0;b=d;while(1){e=b;b=e+1|0;if((q|0)>(b|0)){s=J[c+136>>2]+(e<<4)|0;e=b;while(1){x=N[s>>2];f=J[c+136>>2]+(e<<4)|0;v=N[f+4>>2];o=N[f>>2];n=N[s+4>>2];F=Q(Q(x*v)-Q(o*n));l=N[f+8>>2];i=N[s+8>>2];B=Q(Q(n*l)-Q(v*i));E=Q(Q(i*o)-Q(l*x));g:{if(!(Q(Q(F*F)+Q(Q(B*B)+Q(E*E)))>Q(9999999747378752e-20))){break g}C=N[k+4>>2];z=N[k>>2];D=Q(Q(o*C)-Q(z*v));A=N[k+8>>2];y=Q(Q(v*A)-Q(C*l));v=Q(Q(l*z)-Q(A*o));if(!(Q(Q(D*D)+Q(Q(y*y)+Q(v*v)))>Q(9999999747378752e-20))){break g}o=Q(Q(z*n)-Q(x*C));n=Q(Q(C*i)-Q(n*A));l=Q(Q(A*x)-Q(i*z));if(!(Q(Q(o*o)+Q(Q(n*n)+Q(l*l)))>Q(9999999747378752e-20))){break g}i=Q(Q(A*F)+Q(Q(z*B)+Q(C*E)));if(!(Q(R(i))>Q(9.999999974752427e-7))){break g}z=N[f+12>>2];A=N[s+12>>2];x=N[k+12>>2];J[t+12>>2]=0;i=Q(Q(-1)/i);N[t+8>>2]=i*Q(Q(o*z)+Q(Q(D*A)+Q(F*x)));N[t+4>>2]=i*Q(Q(l*z)+Q(Q(v*A)+Q(E*x)));N[t>>2]=i*Q(Q(n*z)+Q(Q(B*x)+Q(y*A)));f=0;j=J[c+128>>2];g=1;h:{if((j|0)<=0){break h}h=J[c+136>>2];n=N[t+8>>2];l=N[t>>2];i=N[t+4>>2];g=0;if(Q(Q(Q(Q(N[h+8>>2]*n)+Q(Q(N[h>>2]*l)+Q(N[h+4>>2]*i)))+N[h+12>>2])+Q(-.009999999776482582))>Q(0)){break h}while(1){f=f+1|0;if((j|0)!=(f|0)){g=h+(f<<4)|0;if(!(Q(Q(Q(Q(N[g+8>>2]*n)+Q(Q(N[g>>2]*l)+Q(N[g+4>>2]*i)))+N[g+12>>2])+Q(-.009999999776482582))>Q(0))){continue}}break}g=(f|0)>=(j|0)}if(!g){break g}f=J[c+108>>2];i:{if((f|0)!=J[c+112>>2]){break i}p=f?f<<1:1;if((p|0)<=(f|0)){break i}m=0;w=0;if(p){w=Ga(p<<4);f=J[c+108>>2]}if((f|0)>0){while(1){j=m<<4;g=j+w|0;h=j+J[c+116>>2]|0;j=J[h+4>>2];J[g>>2]=J[h>>2];J[g+4>>2]=j;j=J[h+12>>2];J[g+8>>2]=J[h+8>>2];J[g+12>>2]=j;m=m+1|0;if((m|0)!=(f|0)){continue}break}}f=J[c+116>>2];if(!(!f|!K[c+120|0])){Fa(f)}J[c+116>>2]=w;H[c+120|0]=1;J[c+112>>2]=p;f=J[c+108>>2]}j=J[c+116>>2]+(f<<4)|0;f=J[t+4>>2];J[j>>2]=J[t>>2];J[j+4>>2]=f;f=J[t+12>>2];J[j+8>>2]=J[t+8>>2];J[j+12>>2]=f;J[c+108>>2]=J[c+108>>2]+1}e=e+1|0;if((q|0)>(e|0)){continue}break}}if((b|0)!=(q|0)){continue}break}}if((d|0)!=(q|0)){continue}break}}ta=t+16|0;$e(c+144|0,J[c+116>>2],J[c+108>>2]);b=J[c+116>>2];if(!(!b|!K[c+120|0])){Fa(b)}b=J[c+136>>2];if(!(!b|!K[c+140|0])){Fa(b)}b=J[c+60>>2];if(!b|!K[c+64|0]){break b}Fa(b);break b}$e(c+144|0,d,J[c+208>>2])}h=J[c+188>>2];if((h|0)>0){G=Ga(h<<4)}J[c+136>>2]=0;H[c+140|0]=1;J[c+128>>2]=0;J[c+132>>2]=0;g=c+48|0;Ka(g,0,36);J[c+52>>2]=0;H[c+64|0]=1;d=0;j=0;e=J[c+128>>2];j:{if((h|0)<(e|0)){d=h;while(1){Ha(J[c+136>>2]+P(d,36)|0);d=d+1|0;if((e|0)!=(d|0)){continue}break}break j}s=(e|0)>=(h|0);if(s){break j}if((h|0)>J[c+132>>2]){if(h){j=Ga(P(h,36));f=J[c+128>>2]}else{f=e}k:{if((f|0)<=0){break k}while(1){b=P(d,36);k=b+j|0;b=b+J[c+136>>2]|0;Ib(k,b);p=J[b+32>>2];J[k+28>>2]=J[b+28>>2];J[k+32>>2]=p;p=J[b+24>>2];J[k+20>>2]=J[b+20>>2];J[k+24>>2]=p;d=d+1|0;if((f|0)!=(d|0)){continue}break}b=J[c+128>>2];if((b|0)<=0){break k}d=0;while(1){Ha(J[c+136>>2]+P(d,36)|0);d=d+1|0;if((b|0)!=(d|0)){continue}break}}b=J[c+136>>2];if(!(!b|!K[c+140|0])){Fa(b)}J[c+136>>2]=j;H[c+140|0]=1;J[c+132>>2]=h;if(s){break j}}while(1){d=J[c+136>>2]+P(e,36)|0;Ib(d,g);b=J[g+32>>2];J[d+28>>2]=J[g+28>>2];J[d+32>>2]=b;b=J[g+24>>2];J[d+20>>2]=J[g+20>>2];J[d+24>>2]=b;e=e+1|0;if((h|0)!=(e|0)){continue}break}}J[c+128>>2]=h;b=J[c+60>>2];if(!(!b|!K[c+64|0])){Fa(b)}p=J[a+60>>2];k=J[p+8>>2];j=J[c+148>>2];if(!((k|0)>=(j|0)|(j|0)<=J[p+12>>2])){l:{if(!j){g=0;break l}g=Ga(j<<4);k=J[p+8>>2]}if((k|0)>0){f=0;while(1){b=f<<4;d=b+g|0;e=b+J[p+16>>2]|0;b=J[e+4>>2];J[d>>2]=J[e>>2];J[d+4>>2]=b;b=J[e+12>>2];J[d+8>>2]=J[e+8>>2];J[d+12>>2]=b;f=f+1|0;if((k|0)!=(f|0)){continue}break}}b=J[p+16>>2];if(!(!b|!K[p+20|0])){Fa(b)}J[p+16>>2]=g;H[p+20|0]=1;J[p+12>>2]=j}J[p+8>>2]=j;f=0;if((j|0)>0){while(1){b=f<<4;d=b+J[J[a+60>>2]+16>>2]|0;e=b+J[c+156>>2]|0;b=J[e+4>>2];J[d>>2]=J[e>>2];J[d+4>>2]=b;b=J[e+12>>2];J[d+8>>2]=J[e+8>>2];J[d+12>>2]=b;f=f+1|0;if((j|0)!=(f|0)){continue}break}}if((h|0)>0){j=0;while(1){g=0;q=J[c+176>>2]+P(J[J[c+196>>2]+(j<<2)>>2],12)|0;k=q;m:{while(1){s=J[(P(J[k+4>>2],12)+k|0)+8>>2];p=P(j,36);r=p+J[c+136>>2]|0;e=J[r+4>>2];n:{if((e|0)!=J[r+8>>2]){break n}u=e?e<<1:1;if((u|0)<=(e|0)){break n}f=0;d=0;if(u){d=Ga(u<<2);e=J[r+4>>2]}t=J[r+12>>2];o:{p:{if((e|0)>0){while(1){b=f<<2;J[b+d>>2]=J[b+t>>2];f=f+1|0;if((f|0)!=(e|0)){continue}break p}}if(!t){break o}}if(K[r+16|0]){Fa(t)}e=J[r+4>>2]}J[r+12>>2]=d;H[r+16|0]=1;J[r+8>>2]=u}J[J[r+12>>2]+(e<<2)>>2]=s;J[r+4>>2]=J[r+4>>2]+1;q:{if((g|0)<=1){b=J[c+156>>2];d=b+(s<<4)|0;y=N[d+8>>2];b=b+(J[k+8>>2]<<4)|0;v=N[b+8>>2];o=N[d>>2];n=N[b>>2];l=N[d+4>>2];i=N[b+4>>2];b=(c+48|0)+(g<<4)|0;J[b+12>>2]=0;v=Q(v-y);n=Q(n-o);i=Q(i-l);l=Q(Q(1)/Q(Y(Q(Q(v*v)+Q(Q(n*n)+Q(i*i))))));N[b+8>>2]=v*l;N[b+4>>2]=i*l;N[b>>2]=n*l;g=g+1|0;b=P(J[k+4>>2],12)+k|0;k=P(J[b>>2],12)+b|0;if((q|0)!=(k|0)){continue}if((g|0)==2){break q}b=(j<<4)+G|0;J[b>>2]=0;J[b+4>>2]=0;J[b+8>>2]=0;J[b+12>>2]=0;e=J[c+136>>2];break m}g=2;b=P(J[k+4>>2],12)+k|0;k=P(J[b>>2],12)+b|0;if((q|0)!=(k|0)){continue}}break}D=N[c+52>>2];l=N[c+68>>2];y=N[c+64>>2];v=N[c+56>>2];o=N[c+48>>2];i=N[c+72>>2];d=(j<<4)+G|0;J[d+12>>2]=0;n=Q(Q(o*l)-Q(y*D));l=Q(Q(D*i)-Q(l*v));i=Q(Q(v*y)-Q(i*o));o=Q(Q(1)/Q(Y(Q(Q(n*n)+Q(Q(l*l)+Q(i*i))))));N[d+8>>2]=n*o;N[d+4>>2]=i*o;i=Q(l*o);N[d>>2]=i;e=J[c+136>>2];b=p+e|0;N[b+20>>2]=i;N[b+24>>2]=N[d+4>>2];i=N[d+8>>2];J[b+32>>2]=1900671690;N[b+28>>2]=i}p=e+p|0;e=J[p+4>>2];r:{if((e|0)<=0){x=Q(1.0000000150474662e30);break r}b=(j<<4)+G|0;o=N[b+8>>2];n=N[b+4>>2];l=N[b>>2];d=J[J[a+60>>2]+16>>2];b=J[p+12>>2];x=Q(1.0000000150474662e30);f=0;while(1){g=d+(J[b+(f<<2)>>2]<<4)|0;i=Q(Q(N[g+8>>2]*o)+Q(Q(N[g>>2]*l)+Q(N[g+4>>2]*n)));x=i>2]=-x;j=j+1|0;if((h|0)!=(j|0)){continue}break}}b=0;s:{if(J[c+128>>2]>0){s=0;e=0;while(1){t:{if((b|0)!=(e|0)){break t}e=b?b<<1:1;if(e>>>0<=b>>>0){e=b;break t}f=0;d=Ga(e<<2);u:{v:{if(b){while(1){j=f<<2;J[j+d>>2]=J[j+s>>2];f=f+1|0;if((f|0)!=(b|0)){continue}break v}}if(s){break v}e=1;break u}Fa(s)}s=d}J[(b<<2)+s>>2]=b;b=b+1|0;if((b|0)>2]){continue}break}while(1){d=b-1|0;e=J[(d<<2)+s>>2];j=Ga(4);J[j>>2]=e;w:{x:{y:{z:{if((b|0)<2){e=1;break z}e=J[c+136>>2]+P(e,36)|0;n=N[e+20>>2];l=N[e+28>>2];i=N[e+24>>2];f=b-2|0;e=1;b=d;p=1;while(1){h=f;q=J[(f<<2)+s>>2];d=J[c+136>>2]+P(q,36)|0;if(Q(Q(l*N[d+28>>2])+Q(Q(n*N[d+20>>2])+Q(i*N[d+24>>2])))>Q(.9990000128746033)){A:{B:{if((e|0)!=(p|0)){break B}g=e?e<<1:1;if((g|0)<=(e|0)){break B}f=0;d=0;if(g){d=Ga(g<<2)}C:{if((e|0)>0){while(1){k=f<<2;J[k+d>>2]=J[j+k>>2];f=f+1|0;if((f|0)!=(e|0)){continue}break C}}if(!j){break A}}Fa(j);break A}g=e;d=j}J[(p<<2)+d>>2]=q;p=p+1|0;f=0;D:{if((b|0)<=0){break D}while(1){e=(f<<2)+s|0;if((q|0)!=J[e>>2]){f=f+1|0;if((f|0)!=(b|0)){continue}break D}break}if((b|0)<=(f|0)){break D}f=e;b=b-1|0;e=(b<<2)+s|0;J[f>>2]=J[e>>2];J[e>>2]=q}j=d;e=g}f=h-1|0;if((h|0)>0){continue}break}E:{if((p|0)>1){m=0;J[c+116>>2]=0;H[c+120|0]=1;J[c+108>>2]=0;J[c+112>>2]=0;J[c+40>>2]=0;J[c+44>>2]=0;J[c+32>>2]=0;J[c+36>>2]=0;w=0;while(1){r=J[c+136>>2]+P(J[(w<<2)+j>>2],36)|0;l=N[r+28>>2];i=N[r+24>>2];N[c+32>>2]=N[r+20>>2]+N[c+32>>2];N[c+36>>2]=i+N[c+36>>2];N[c+40>>2]=l+N[c+40>>2];d=J[r+4>>2];if((d|0)>0){g=0;while(1){t=J[J[r+12>>2]+(g<<2)>>2];h=J[J[a+60>>2]+16>>2];F:{if((m|0)>0){f=0;e=J[c+116>>2];while(1){if((t|0)==J[(e+P(f,24)|0)+20>>2]){break F}f=f+1|0;if((m|0)!=(f|0)){continue}break}}e=h+(t<<4)|0;d=J[e+12>>2];J[c+56>>2]=J[e+8>>2];J[c+60>>2]=d;d=J[e+4>>2];J[c+48>>2]=J[e>>2];J[c+52>>2]=d;G:{if(J[c+112>>2]!=(m|0)){break G}q=m?m<<1:1;if((q|0)<=(m|0)){break G}f=0;k=0;if(q){k=Ga(P(q,24));m=J[c+108>>2]}h=J[c+116>>2];if((m|0)>0){while(1){d=P(f,24);e=d+k|0;u=d+h|0;d=J[u+4>>2];J[e>>2]=J[u>>2];J[e+4>>2]=d;d=J[u+20>>2];J[e+16>>2]=J[u+16>>2];J[e+20>>2]=d;d=J[u+12>>2];J[e+8>>2]=J[u+8>>2];J[e+12>>2]=d;f=f+1|0;if((m|0)!=(f|0)){continue}break}}if(!(!h|!K[c+120|0])){Fa(h);m=J[c+108>>2]}J[c+116>>2]=k;H[c+120|0]=1;J[c+112>>2]=q}d=J[c+52>>2];h=J[c+116>>2]+P(m,24)|0;e=h;J[e>>2]=J[c+48>>2];J[e+4>>2]=d;f=J[c+60>>2];e=J[c+56>>2];d=J[c- -64>>2];J[h+20>>2]=t;J[h+16>>2]=d;J[h+8>>2]=e;J[h+12>>2]=f;m=J[c+108>>2]+1|0;J[c+108>>2]=m;d=J[r+4>>2]}g=g+1|0;if((g|0)<(d|0)){continue}break}}w=w+1|0;if((p|0)!=(w|0)){continue}break}f=0;J[c+60>>2]=0;H[c+64|0]=1;J[c+52>>2]=0;J[c+56>>2]=0;g=J[j>>2];e=J[c+136>>2];while(1){d=f<<2;N[(d+c|0)+68>>2]=N[(d+(e+P(g,36)|0)|0)+20>>2];f=f+1|0;if((f|0)!=4){continue}break}H[c+28|0]=1;J[c+16>>2]=0;J[c+20>>2]=0;n=N[c+40>>2];l=N[c+32>>2];i=N[c+36>>2];o=Q(Q(1)/Q(Y(Q(Q(n*n)+Q(Q(l*l)+Q(i*i))))));N[c+32>>2]=l*o;N[c+36>>2]=i*o;N[c+40>>2]=n*o;J[c+24>>2]=0;u=c+104|0;d=0;w=0;C=Q(0);F=Q(0);r=ta-32|0;ta=r;v=N[c+40>>2];H:{if(Q(R(v))>Q(.7071067690849304)){l=N[c+36>>2];i=Q(Q(l*l)+Q(v*v));n=Q(Q(1)/Q(Y(i)));z=Q(i*n);i=N[c+32>>2];B=Q(n*Q(-v));A=Q(i*B);F=Q(l*n);i=Q(F*Q(-i));break H}n=N[c+32>>2];l=N[c+36>>2];i=Q(Q(n*n)+Q(l*l));o=Q(Q(1)/Q(Y(i)));A=Q(i*o);B=Q(n*o);z=Q(B*Q(-v));C=Q(o*Q(-l));i=Q(v*C)}f=J[u+4>>2];I:{if((f|0)>=2){while(1){h=J[u+12>>2];g=P(d,24);e=h+g|0;if(Q(Q(N[e+8>>2]*F)+Q(Q(N[e>>2]*C)+Q(B*N[e+4>>2])))>2]*F)+Q(Q(N[h>>2]*C)+Q(B*N[h+4>>2])))){f=J[h+20>>2];J[r+24>>2]=J[h+16>>2];J[r+28>>2]=f;f=J[h+12>>2];J[r+16>>2]=J[h+8>>2];J[r+20>>2]=f;f=J[h+4>>2];J[r+8>>2]=J[h>>2];J[r+12>>2]=f;f=J[e+4>>2];J[h>>2]=J[e>>2];J[h+4>>2]=f;f=J[e+12>>2];J[h+8>>2]=J[e+8>>2];J[h+12>>2]=f;f=J[e+20>>2];J[h+16>>2]=J[e+16>>2];J[h+20>>2]=f;e=J[r+12>>2];f=g+J[u+12>>2]|0;J[f>>2]=J[r+8>>2];J[f+4>>2]=e;e=J[r+28>>2];J[f+16>>2]=J[r+24>>2];J[f+20>>2]=e;e=J[r+20>>2];J[f+8>>2]=J[r+16>>2];J[f+12>>2]=e;f=J[u+4>>2]}d=d+1|0;if((f|0)>(d|0)){continue}break}g=J[u+12>>2];J[g+16>>2]=-246811958;if((f|0)>=2){D=N[g+8>>2];y=N[g+4>>2];v=N[g>>2];e=1;while(1){x=Q(0);d=g+P(e,24)|0;o=Q(N[d+8>>2]-D);n=Q(N[d>>2]-v);l=Q(N[d+4>>2]-y);E=Q(Q(A*o)+Q(Q(z*n)+Q(i*l)));o=Q(Q(F*o)+Q(Q(C*n)+Q(B*l)));if(!(Q(Q(E*E)+Q(o*o))=Q(0)?Q(Q(Q(Q(o-n)/l)*Q(-.7853981852531433))+Q(.7853981852531433)):Q(Q(Q(l/Q(n-o))*Q(-.7853981852531433))+Q(2.356194496154785));x=E>2]=x;e=e+1|0;if((f|0)!=(e|0)){continue}break}}d=J[g+12>>2];J[r+16>>2]=J[g+8>>2];J[r+20>>2]=d;d=J[g+4>>2];J[r+8>>2]=J[g>>2];J[r+12>>2]=d;$c(u,r+8|0,1,f-1|0);d=J[c+16>>2];e=0;w=1;while(1){f=J[u+12>>2]+P(e,24)|0;J:{if(J[c+20>>2]!=(d|0)){break J}k=d?d<<1:1;if((k|0)<=(d|0)){break J}e=0;m=0;if(k){m=Ga(P(k,24));d=J[c+16>>2]}if((d|0)>0){while(1){g=P(e,24);h=g+m|0;q=g+J[c+24>>2]|0;g=J[q+4>>2];J[h>>2]=J[q>>2];J[h+4>>2]=g;g=J[q+20>>2];J[h+16>>2]=J[q+16>>2];J[h+20>>2]=g;g=J[q+12>>2];J[h+8>>2]=J[q+8>>2];J[h+12>>2]=g;e=e+1|0;if((e|0)!=(d|0)){continue}break}}d=J[c+24>>2];if(!(!d|!K[c+28|0])){Fa(d)}J[c+24>>2]=m;H[c+28|0]=1;J[c+20>>2]=k;d=J[c+16>>2]}e=J[c+24>>2]+P(d,24)|0;d=J[f+4>>2];J[e>>2]=J[f>>2];J[e+4>>2]=d;d=J[f+20>>2];J[e+16>>2]=J[f+16>>2];J[e+20>>2]=d;d=J[f+12>>2];J[e+8>>2]=J[f+8>>2];J[e+12>>2]=d;e=1;d=J[c+16>>2]+1|0;J[c+16>>2]=d;f=w&1;w=0;if(f){continue}break}if(J[u+4>>2]==2){break I}w=2;while(1){K:{if((d|0)<2){break K}g=J[u+12>>2]+P(w,24)|0;E=N[g+8>>2];z=N[g+4>>2];A=N[g>>2];x=N[c+40>>2];D=N[c+36>>2];y=N[c+32>>2];f=J[c+24>>2];e=d;while(1){d=P(e,24)+f|0;h=d-48|0;l=N[h>>2];d=d-24|0;v=Q(l-N[d>>2]);i=N[h+4>>2];o=Q(i-z);n=Q(l-A);i=Q(i-N[d+4>>2]);C=Q(Q(Q(v*o)-Q(n*i))*x);B=i;i=N[h+8>>2];l=Q(i-E);i=Q(i-N[d+8>>2]);if(Q(C+Q(Q(Q(Q(B*l)-Q(o*i))*y)+Q(D*Q(Q(i*n)-Q(l*v)))))>Q(0)){L:{if(J[c+20>>2]!=(e|0)){break L}q=e<<1;if((q|0)<=(e|0)){break L}f=Ga(P(e,48));d=0;k=J[c+16>>2];if((k|0)>0){while(1){e=P(d,24);h=e+f|0;t=e+J[c+24>>2]|0;e=J[t+4>>2];J[h>>2]=J[t>>2];J[h+4>>2]=e;e=J[t+20>>2];J[h+16>>2]=J[t+16>>2];J[h+20>>2]=e;e=J[t+12>>2];J[h+8>>2]=J[t+8>>2];J[h+12>>2]=e;d=d+1|0;if((k|0)!=(d|0)){continue}break}}d=J[c+24>>2];if(!(!d|!K[c+28|0])){Fa(d)}J[c+24>>2]=f;H[c+28|0]=1;J[c+20>>2]=q;e=J[c+16>>2]}d=J[g+4>>2];e=P(e,24)+f|0;J[e>>2]=J[g>>2];J[e+4>>2]=d;d=J[g+20>>2];J[e+16>>2]=J[g+16>>2];J[e+20>>2]=d;d=J[g+12>>2];J[e+8>>2]=J[g+8>>2];J[e+12>>2]=d;d=J[c+16>>2]+1|0;J[c+16>>2]=d;break K}d=e-1|0;J[c+16>>2]=d;h=e>>>0>2;e=d;if(h){continue}break}}if((d|0)==1){q=J[u+12>>2]+P(w,24)|0;M:{if(J[c+20>>2]!=1){f=J[c+24>>2];d=1;break M}f=Ga(48);d=0;h=J[c+16>>2];if((h|0)>0){while(1){e=P(d,24);g=e+f|0;k=e+J[c+24>>2]|0;e=J[k+4>>2];J[g>>2]=J[k>>2];J[g+4>>2]=e;e=J[k+20>>2];J[g+16>>2]=J[k+16>>2];J[g+20>>2]=e;e=J[k+12>>2];J[g+8>>2]=J[k+8>>2];J[g+12>>2]=e;d=d+1|0;if((h|0)!=(d|0)){continue}break}}d=J[c+24>>2];if(!(!d|!K[c+28|0])){Fa(d)}J[c+24>>2]=f;H[c+28|0]=1;J[c+20>>2]=2;d=J[c+16>>2]}e=P(d,24)+f|0;d=J[q+4>>2];J[e>>2]=J[q>>2];J[e+4>>2]=d;d=J[q+20>>2];J[e+16>>2]=J[q+16>>2];J[e+20>>2]=d;d=J[q+12>>2];J[e+8>>2]=J[q+8>>2];J[e+12>>2]=d;d=J[c+16>>2]+1|0;J[c+16>>2]=d}w=w+1|0;if((w|0)!=J[u+4>>2]){continue}break}break I}if((f|0)!=1){break I}f=J[c+16>>2];while(1){q=J[u+12>>2];N:{if(J[c+20>>2]!=(f|0)){break N}h=f?f<<1:1;if((h|0)<=(f|0)){break N}d=0;m=0;if(h){m=Ga(P(h,24));f=J[c+16>>2]}if((f|0)>0){while(1){e=P(d,24);g=e+m|0;k=e+J[c+24>>2]|0;e=J[k+4>>2];J[g>>2]=J[k>>2];J[g+4>>2]=e;e=J[k+20>>2];J[g+16>>2]=J[k+16>>2];J[g+20>>2]=e;e=J[k+12>>2];J[g+8>>2]=J[k+8>>2];J[g+12>>2]=e;d=d+1|0;if((f|0)!=(d|0)){continue}break}}d=J[c+24>>2];if(!(!d|!K[c+28|0])){Fa(d)}J[c+24>>2]=m;H[c+28|0]=1;J[c+20>>2]=h;f=J[c+16>>2]}d=J[q+4>>2];e=J[c+24>>2]+P(f,24)|0;J[e>>2]=J[q>>2];J[e+4>>2]=d;d=J[q+20>>2];J[e+16>>2]=J[q+16>>2];J[e+20>>2]=d;d=J[q+12>>2];J[e+8>>2]=J[q+8>>2];J[e+12>>2]=d;f=J[c+16>>2]+1|0;J[c+16>>2]=f;w=w+1|0;if((w|0)>2]){continue}break}}ta=r+32|0;if(J[c+16>>2]<=0){m=J[c+108>>2];break E}g=0;k=J[c+52>>2];while(1){q=P(g,24);h=q+J[c+24>>2]|0;O:{if(J[c+56>>2]!=(k|0)){break O}u=k?k<<1:1;if((u|0)<=(k|0)){break O}f=0;e=0;if(u){e=Ga(u<<2);k=J[c+52>>2]}t=J[c+60>>2];P:{Q:{if((k|0)>0){while(1){d=f<<2;J[d+e>>2]=J[d+t>>2];f=f+1|0;if((k|0)!=(f|0)){continue}break Q}}if(!t){break P}}if(K[c+64|0]){Fa(t)}k=J[c+52>>2]}J[c+60>>2]=e;H[c+64|0]=1;J[c+56>>2]=u}J[J[c+60>>2]+(k<<2)>>2]=J[h+20>>2];k=J[c+52>>2]+1|0;J[c+52>>2]=k;m=J[c+108>>2];R:{if((m|0)<=0){break R}h=J[(q+J[c+24>>2]|0)+20>>2];f=0;e=J[c+116>>2];while(1){d=e+P(f,24)|0;if((h|0)!=J[d+20>>2]){f=f+1|0;if((m|0)!=(f|0)){continue}break R}break}J[d+20>>2]=-1}g=g+1|0;if((g|0)>2]){continue}break}break E}e=1;if((p|0)!=1){break y}d=b;break z}S:{if((m|0)>0){g=0;t=J[c+136>>2];u=J[c+128>>2];q=J[c+116>>2];while(1){k=J[(q+P(g,24)|0)+20>>2];T:{if((k|0)==-1){break T}e=0;if((u|0)<=0){break T}while(1){f=0;U:{if((p|0)>0){while(1){if(J[(f<<2)+j>>2]==(e|0)){break U}f=f+1|0;if((p|0)!=(f|0)){continue}break}}d=t+P(e,36)|0;h=J[d+4>>2];if((h|0)<=0){break U}d=J[d+12>>2];f=0;while(1){if((k|0)!=J[d+(f<<2)>>2]){f=f+1|0;if((h|0)!=(f|0)){continue}break U}break}d=1;break S}e=e+1|0;if((u|0)!=(e|0)){continue}break}}g=g+1|0;if((m|0)!=(g|0)){continue}break}}Ze(J[a+60>>2]+24|0,c+48|0);d=0}e=J[c+24>>2];if(!(!e|!K[c+28|0])){Fa(e)}e=J[c+60>>2];if(!(!e|!K[c+64|0])){Fa(e)}e=J[c+116>>2];if(!(!e|!K[c+120|0])){Fa(e)}if(!(d&(p|0)>0)){break y}d=b;e=p}f=0;while(1){b=J[c+136>>2]+P(J[(f<<2)+j>>2],36)|0;h=Ib(c+48|0,b);g=J[b+32>>2];J[c+76>>2]=J[b+28>>2];J[c+80>>2]=g;g=J[b+24>>2];J[c+68>>2]=J[b+20>>2];J[c+72>>2]=g;Ze(J[a+60>>2]+24|0,h);b=J[c+60>>2];if(!(!b|!K[c+64|0])){Fa(b)}f=f+1|0;if((f|0)!=(e|0)){continue}break}b=d;break x}if(!j){break w}}Fa(j)}if(b){continue}break}gf(J[a+60>>2]);if(!s){break s}Fa(s);break s}gf(J[a+60>>2])}Ye(c+124|0);if(G){Fa(G)}a=J[c+196>>2];if(!(!a|!K[c+200|0])){Fa(a)}J[c+196>>2]=0;H[c+200|0]=1;J[c+188>>2]=0;J[c+192>>2]=0;a=J[c+176>>2];if(!(!a|!K[c+180|0])){Fa(a)}J[c+176>>2]=0;H[c+180|0]=1;J[c+168>>2]=0;J[c+172>>2]=0;a=J[c+156>>2];if(!(!a|!K[c+160|0])){Fa(a)}a=J[c+216>>2];if(!(!a|!K[c+220|0])){Fa(a)}ta=c+224|0;return 1}function Sn(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=Q(0),i=0,j=Q(0),k=0,l=Q(0),m=0,n=0,o=Q(0),p=0,q=Q(0),r=0,s=Q(0),t=Q(0),u=0,v=Q(0),w=Q(0),x=Q(0),y=0,z=Q(0),A=0,B=Q(0),C=0,D=Q(0),E=Q(0),F=Q(0),G=Q(0),I=Q(0),L=Q(0),M=Q(0),O=Q(0),S=Q(0),T=Q(0),U=Q(0),V=0,W=Q(0),X=Q(0),Z=Q(0),_=0,$=Q(0),aa=Q(0),ba=Q(0),ca=Q(0),da=Q(0),ea=Q(0),fa=0,ga=Q(0),ha=0,ia=Q(0),ja=Q(0),ka=Q(0);f=ta-928|0;ta=f;g=J[a+56>>2];if(!g){g=J[a+4>>2];g=va[J[J[g>>2]+12>>2]](g,J[b+8>>2],J[c+8>>2])|0;H[a+52|0]=1;J[a+56>>2]=g}J[e+4>>2]=g;u=J[c+4>>2];a:{b:{c:{d:{r=J[b+4>>2];switch(J[r+4>>2]-8|0){case 0:break c;case 2:break d;default:break b}}e:{switch(J[u+4>>2]-8|0){case 2:d=r+36|0;a=J[r+60>>2];h=N[d+(a<<2)>>2];o=N[d+((a+2|0)%3<<2)>>2];k=u+36|0;d=J[u+60>>2];j=N[g+848>>2];h=td(f+432|0,f+8|0,h,o,N[k+(d<<2)>>2],N[k+((d+2|0)%3<<2)>>2],a,d,J[b+12>>2],J[c+12>>2],j);if(h>2]+16>>2]](e,f+432|0,f+8|0,h)}a=J[e+4>>2];if(!J[a+844>>2]){break a}c=J[a+836>>2];d=J[J[e+8>>2]+8>>2];b=(c|0)==(d|0);g=a;a=J[J[e+12>>2]+8>>2];ab(g,(b?c:a)+4|0,(b?a:d)+4|0);break a;case 0:break e;default:break b}}d=r+36|0;a=J[r+60>>2];j=N[g+848>>2];h=td(f+432|0,f+8|0,N[d+(a<<2)>>2],N[d+((a+2|0)%3<<2)>>2],Q(0),Q(N[u+36>>2]*N[u+20>>2]),a,1,J[b+12>>2],J[c+12>>2],j);if(h>2]+16>>2]](e,f+432|0,f+8|0,h)}a=J[e+4>>2];if(!J[a+844>>2]){break a}c=J[a+836>>2];d=J[J[e+8>>2]+8>>2];b=(c|0)==(d|0);g=a;a=J[J[e+12>>2]+8>>2];ab(g,(b?c:a)+4|0,(b?a:d)+4|0);break a}if(J[u+4>>2]!=10){break b}d=u+36|0;a=J[u+60>>2];j=N[g+848>>2];h=td(f+432|0,f+8|0,Q(0),Q(N[r+36>>2]*N[r+20>>2]),N[d+(a<<2)>>2],N[d+((a+2|0)%3<<2)>>2],1,a,J[b+12>>2],J[c+12>>2],j);if(h>2]+16>>2]](e,f+432|0,f+8|0,h)}a=J[e+4>>2];if(!J[a+844>>2]){break a}c=J[a+836>>2];d=J[J[e+8>>2]+8>>2];b=(c|0)==(d|0);g=a;a=J[J[e+12>>2]+8>>2];ab(g,(b?c:a)+4|0,(b?a:d)+4|0);break a}J[f+920>>2]=1566444395;H[f+764|0]=0;J[f+740>>2]=953267991;A=Rc(f+352|0,r,u,f+432|0,J[a+8>>2]);J[A+32>>2]=u;J[A+28>>2]=r;j=Q(Q(Q(Q(va[J[J[r>>2]+48>>2]](r))+Q(va[J[J[u>>2]+48>>2]](u)))+N[J[a+56>>2]+848>>2])+N[e+32>>2]);N[f+920>>2]=j*j;g=J[b+12>>2];k=J[g+12>>2];J[f+800>>2]=J[g+8>>2];J[f+804>>2]=k;k=J[g+4>>2];J[f+792>>2]=J[g>>2];J[f+796>>2]=k;k=J[g+28>>2];J[f+816>>2]=J[g+24>>2];J[f+820>>2]=k;k=J[g+20>>2];J[f+808>>2]=J[g+16>>2];J[f+812>>2]=k;k=J[g+44>>2];J[f+832>>2]=J[g+40>>2];J[f+836>>2]=k;k=J[g+36>>2];J[f+824>>2]=J[g+32>>2];J[f+828>>2]=k;k=J[g+60>>2];J[f+848>>2]=J[g+56>>2];J[f+852>>2]=k;k=J[g+52>>2];J[f+840>>2]=J[g+48>>2];J[f+844>>2]=k;g=J[c+12>>2];k=J[g+12>>2];J[f+864>>2]=J[g+8>>2];J[f+868>>2]=k;k=J[g+4>>2];J[f+856>>2]=J[g>>2];J[f+860>>2]=k;i=J[g+20>>2];k=f+872|0;J[k>>2]=J[g+16>>2];J[k+4>>2]=i;i=J[g+28>>2];J[f+880>>2]=J[g+24>>2];J[f+884>>2]=i;n=J[g+36>>2];i=f+888|0;J[i>>2]=J[g+32>>2];J[i+4>>2]=n;n=J[g+44>>2];J[f+896>>2]=J[g+40>>2];J[f+900>>2]=n;p=J[g+52>>2];n=f+904|0;J[n>>2]=J[g+48>>2];J[n+4>>2]=p;p=J[g+60>>2];J[f+912>>2]=J[g+56>>2];J[f+916>>2]=p;f:{p=J[r+4>>2];if((p|0)>6){break f}g=J[u+4>>2];if((g|0)>6){break f}J[f+348>>2]=15228;if(p){B=Q(va[J[J[r>>2]+48>>2]](r));g=J[u+4>>2]}if(g){h=Q(va[J[J[u>>2]+48>>2]](u))}H[f+44|0]=0;N[f+36>>2]=h;N[f+32>>2]=B;J[f+12>>2]=e;J[f+8>>2]=15460;if(!J[r+60>>2]){break f}if(J[u+60>>2]){Z=N[J[a+56>>2]+848>>2];g:{h:{if(K[d+24|0]){B=Q(-1.0000000150474662e30);y=J[r+60>>2];C=J[u+60>>2];n=J[b+12>>2];p=J[c+12>>2];d=0;g=0;i=ta-80|0;ta=i;J[9403]=J[9403]+1;x=N[n+52>>2];s=N[n+20>>2];L=N[n+24>>2];T=N[p+52>>2];E=N[p+20>>2];O=N[p+24>>2];M=N[n+56>>2];S=N[n+36>>2];h=N[y+68>>2];G=N[n+40>>2];o=N[y+72>>2];U=N[p+56>>2];W=N[p+36>>2];v=N[C+68>>2];$=N[p+40>>2];z=N[C+72>>2];X=N[n+48>>2];aa=N[n+8>>2];ba=N[n>>2];ca=N[n+4>>2];j=N[p+48>>2];l=N[p+8>>2];q=N[p>>2];D=N[p+4>>2];F=N[n+16>>2];I=N[p+16>>2];da=N[n+32>>2];w=N[y+64>>2];ea=N[p+32>>2];t=N[C+64>>2];J[i+76>>2]=0;M=Q(Q(M+Q(Q(o*G)+Q(Q(w*da)+Q(h*S))))-Q(U+Q(Q(z*$)+Q(Q(t*ea)+Q(v*W)))));N[i+72>>2]=M;L=Q(Q(x+Q(Q(o*L)+Q(Q(w*F)+Q(h*s))))-Q(T+Q(Q(z*O)+Q(Q(t*I)+Q(v*E)))));N[i+68>>2]=L;T=Q(Q(X+Q(Q(o*aa)+Q(Q(w*ba)+Q(h*ca))))-Q(j+Q(Q(z*l)+Q(Q(t*q)+Q(v*D)))));N[i+64>>2]=T;h=Q(34028234663852886e22);i:{j:{A=J[y+28>>2];if((A|0)>0){while(1){k=J[y+36>>2]+P(d,36)|0;o=N[k+28>>2];v=N[k+20>>2];z=N[k+24>>2];x=N[n+8>>2];s=N[n>>2];E=N[n+4>>2];t=N[n+24>>2];O=N[n+16>>2];S=N[n+20>>2];w=N[n+40>>2];G=N[n+32>>2];U=N[n+36>>2];J[i+60>>2]=0;w=Q(Q(w*o)+Q(Q(G*v)+Q(z*U)));N[i+56>>2]=w;t=Q(Q(t*o)+Q(Q(O*v)+Q(z*S)));N[i+52>>2]=t;o=Q(Q(x*o)+Q(Q(s*v)+Q(z*E)));N[i+48>>2]=o;if(Q(Q(M*w)+Q(Q(T*o)+Q(L*t)))>2]=-w;N[i+52>>2]=-t;N[i+48>>2]=-o}J[9401]=J[9401]+1;k:{if(K[33321]){if(!Oc(n,p,i- -64|0,i+48|0,y,C,h)){break k}}J[9402]=J[9402]+1;if(!Nc(y,C,n,p,i+48|0,i+44|0,i+28|0,i+12|0)){break j}o=N[i+44>>2];if(!(o>2];J[f+248>>2]=J[i+48>>2];J[f+252>>2]=k;k=J[i+60>>2];J[f+256>>2]=J[i+56>>2];J[f+260>>2]=k;h=o}d=d+1|0;if((A|0)!=(d|0)){continue}break}}A=J[C+28>>2];if((A|0)>0){d=0;while(1){k=J[C+36>>2]+P(d,36)|0;o=N[k+28>>2];v=N[k+20>>2];z=N[k+24>>2];x=N[p+8>>2];s=N[p>>2];E=N[p+4>>2];t=N[p+24>>2];O=N[p+16>>2];S=N[p+20>>2];w=N[p+40>>2];G=N[p+32>>2];U=N[p+36>>2];J[i+60>>2]=0;w=Q(Q(w*o)+Q(Q(G*v)+Q(z*U)));N[i+56>>2]=w;t=Q(Q(t*o)+Q(Q(O*v)+Q(z*S)));N[i+52>>2]=t;o=Q(Q(x*o)+Q(Q(s*v)+Q(z*E)));N[i+48>>2]=o;if(Q(Q(M*w)+Q(Q(T*o)+Q(L*t)))>2]=-w;N[i+52>>2]=-t;N[i+48>>2]=-o}J[9401]=J[9401]+1;l:{if(K[33321]){if(!Oc(n,p,i- -64|0,i+48|0,y,C,h)){break l}}J[9402]=J[9402]+1;if(!Nc(y,C,n,p,i+48|0,i+44|0,i+28|0,i+12|0)){break j}o=N[i+44>>2];if(!(o>2];J[f+248>>2]=J[i+48>>2];J[f+252>>2]=k;k=J[i+60>>2];J[f+256>>2]=J[i+56>>2];J[f+260>>2]=k;h=o}d=d+1|0;if((A|0)!=(d|0)){continue}break}}_=1;d=J[y+48>>2];m:{if((d|0)<=0){break m}V=J[C+48>>2];A=-1;k=-1;U=Q(0);W=Q(0);$=Q(0);O=Q(0);S=Q(0);while(1){if((V|0)>0){d=J[y+56>>2]+(g<<4)|0;z=N[d+8>>2];w=N[d>>2];t=N[d+4>>2];o=Q(Q(N[n+24>>2]*z)+Q(Q(N[n+16>>2]*w)+Q(t*N[n+20>>2])));aa=Q(-o);v=Q(Q(N[n+8>>2]*z)+Q(Q(N[n>>2]*w)+Q(t*N[n+4>>2])));ba=Q(-v);z=Q(Q(N[n+40>>2]*z)+Q(Q(N[n+32>>2]*w)+Q(t*N[n+36>>2])));ca=Q(-z);d=0;while(1){m=J[C+56>>2]+(d<<4)|0;x=N[m+8>>2];E=N[m>>2];G=N[m+4>>2];X=N[p+40>>2];da=N[p+32>>2];ea=N[p+36>>2];w=N[p+24>>2];t=N[p+16>>2];s=N[p+20>>2];ia=N[p+8>>2];ja=N[p>>2];ka=N[p+4>>2];J[i+60>>2]=0;w=Q(Q(w*x)+Q(Q(t*E)+Q(G*s)));t=Q(Q(ia*x)+Q(Q(ja*E)+Q(G*ka)));s=Q(Q(v*w)+Q(t*aa));x=Q(Q(X*x)+Q(Q(da*E)+Q(G*ea)));E=Q(Q(z*t)+Q(x*ba));G=Q(Q(o*x)+Q(w*ca));n:{if(!(+Q(R(G))>1e-6|+Q(R(E))>1e-6|+Q(R(s))>1e-6)){break n}X=s;s=Q(Q(1)/Q(Y(Q(Q(s*s)+Q(Q(G*G)+Q(E*E))))));X=Q(X*s);N[i+56>>2]=X;E=Q(E*s);N[i+52>>2]=E;s=Q(G*s);N[i+48>>2]=s;if(Q(Q(M*X)+Q(Q(T*s)+Q(E*L)))>2]=-X;N[i+52>>2]=-E;N[i+48>>2]=-s}J[9401]=J[9401]+1;if(K[33321]){if(!Oc(n,p,i- -64|0,i+48|0,y,C,h)){break n}}J[9402]=J[9402]+1;if(!Nc(y,C,n,p,i+48|0,i+44|0,i+28|0,i+12|0)){break j}s=N[i+44>>2];if(s>2];J[f+248>>2]=J[i+48>>2];J[f+252>>2]=k;k=J[i+60>>2];J[f+256>>2]=J[i+56>>2];J[f+260>>2]=k;ga=N[i+20>>2];O=N[i+16>>2];S=N[i+12>>2];U=N[i+36>>2];W=N[i+32>>2];$=N[i+28>>2];I=t;F=w;D=x;q=v;l=o;j=z;k=g;A=d;h=s}V=J[C+48>>2]}d=d+1|0;if((V|0)>(d|0)){continue}break}d=J[y+48>>2]}g=g+1|0;if((g|0)<(d|0)){continue}break}if((k|A)<0){break m}t=Q(ga-U);x=Q(S-$);s=Q(O-W);w=Q(Q(j*t)+Q(Q(q*x)+Q(l*s)));h=Q(0);v=Q(-Q(Q(D*t)+Q(Q(I*x)+Q(F*s))));z=Q(Q(j*D)+Q(Q(q*I)+Q(l*F)));o=Q(Q(1)-Q(z*z));o:{if(o==Q(0)){break o}h=Q(-1.0000000150474662e30);o=Q(Q(Q(v*z)+w)/o);if(oQ(1.0000000150474662e30))){break o}h=Q(1.0000000150474662e30)}v=Q(Q(h*z)+v);p:{if(vQ(1.0000000150474662e30))){v=Q(-1.0000000150474662e30);h=o;break p}v=Q(-1.0000000150474662e30);break p}if(!(v>Q(1.0000000150474662e30))){break p}h=Q(-1.0000000150474662e30);v=Q(1.0000000150474662e30);o=Q(Q(z*Q(1.0000000150474662e30))+w);if(oQ(1.0000000150474662e30))){break p}h=Q(1.0000000150474662e30)}J[i+60>>2]=0;D=Q(D*v);j=Q(D+Q(t-Q(j*h)));I=Q(I*v);q=Q(I+Q(x-Q(q*h)));F=Q(F*v);h=Q(F+Q(s-Q(l*h)));l=Q(Q(j*j)+Q(Q(q*q)+Q(h*h)));if(!(l>Q(1.1920928955078125e-7))){break m}s=j;o=Q(Y(l));j=Q(Q(1)/o);l=Q(s*j);N[i+56>>2]=l;h=Q(h*j);N[i+52>>2]=h;j=Q(q*j);N[i+48>>2]=j;if(Q(Q(l*M)+Q(Q(j*T)+Q(h*L)))>2]=-l;N[i+52>>2]=-h;N[i+48>>2]=-j}J[i+40>>2]=0;N[i+36>>2]=ga+D;N[i+32>>2]=O+F;N[i+28>>2]=S+I;va[J[J[e>>2]+16>>2]](e,i+48|0,i+28|0,Q(-o))}h=N[f+256>>2];j=N[f+248>>2];l=N[f+252>>2];if(!(Q(Q(M*h)+Q(Q(T*j)+Q(L*l)))>2]=0;N[f+256>>2]=-h;N[f+252>>2]=-l;N[f+248>>2]=-j;break i}_=0}ta=i+80|0;if(_){break h}break g}fb(A,f+792|0,f+8|0,J[d+20>>2],0);d=J[f+28>>2];J[f+256>>2]=J[f+24>>2];J[f+260>>2]=d;d=J[f+20>>2];J[f+248>>2]=J[f+16>>2];J[f+252>>2]=d;if(!K[f+44|0]){break g}B=N[f+40>>2];if(!(B>2]&J[a+20>>2])<0){g=J[a+24>>2];if(!(!g|!K[a+28|0])){Fa(g)}H[a+28|0]=1;J[a+20>>2]=0;J[a+24>>2]=0}J[a+16>>2]=0;C=J[r+60>>2];A=J[u+60>>2];V=J[b+12>>2];c=J[c+12>>2];D=Q(B-Z);b=d;_=a+32|0;k=ta-16|0;ta=k;h=N[f+256>>2];j=N[f+248>>2];l=N[f+252>>2];N[k+12>>2]=N[f+260>>2];o=h;h=Q(Q(1)/Q(Y(Q(Q(h*h)+Q(Q(j*j)+Q(l*l))))));F=Q(o*h);N[k+8>>2]=F;I=Q(l*h);N[k+4>>2]=I;o=Q(j*h);N[k>>2]=o;i=-1;n=J[A+28>>2];if((n|0)>0){v=N[c+40>>2];z=N[c+36>>2];w=N[c+24>>2];t=N[c+20>>2];p=J[A+36>>2];x=N[c+32>>2];s=N[c+16>>2];B=N[c+8>>2];M=N[c+4>>2];L=N[c>>2];g=0;h=Q(-34028234663852886e22);while(1){d=p+P(g,36)|0;j=N[d+28>>2];l=N[d+20>>2];q=N[d+24>>2];j=Q(Q(Q(Q(v*j)+Q(Q(x*l)+Q(q*z)))*F)+Q(Q(Q(Q(B*j)+Q(Q(L*l)+Q(q*M)))*o)+Q(Q(Q(w*j)+Q(Q(s*l)+Q(q*t)))*I)));d=j>h;h=d?j:h;i=d?g:i;g=g+1|0;if((n|0)!=(g|0)){continue}break}}if((J[b+4>>2]&J[b+8>>2])<0){d=J[b+12>>2];if(!(!d|!K[b+16|0])){Fa(d)}H[b+16|0]=1;J[b+8>>2]=0;J[b+12>>2]=0}J[b+4>>2]=0;m=J[A+36>>2]+P(i,36)|0;ha=J[m+4>>2];if((ha|0)>0){d=0;n=0;while(1){g=J[A+16>>2]+(J[J[m+12>>2]+(n<<2)>>2]<<4)|0;h=N[g+8>>2];j=N[g>>2];l=N[g+4>>2];q=Q(Q(Q(h*N[c+40>>2])+Q(Q(j*N[c+32>>2])+Q(l*N[c+36>>2])))+N[c+56>>2]);F=Q(Q(Q(h*N[c+24>>2])+Q(Q(j*N[c+16>>2])+Q(l*N[c+20>>2])))+N[c+52>>2]);h=Q(Q(Q(h*N[c+8>>2])+Q(Q(j*N[c>>2])+Q(l*N[c+4>>2])))+N[c+48>>2]);q:{if(J[b+8>>2]!=(d|0)){break q}p=d?d<<1:1;if((p|0)<=(d|0)){break q}g=0;u=0;if(p){u=Ga(p<<4);d=J[b+4>>2]}if((d|0)>0){while(1){r=g<<4;y=r+u|0;r=r+J[b+12>>2]|0;fa=J[r+4>>2];J[y>>2]=J[r>>2];J[y+4>>2]=fa;fa=J[r+12>>2];J[y+8>>2]=J[r+8>>2];J[y+12>>2]=fa;g=g+1|0;if((g|0)!=(d|0)){continue}break}}d=J[b+12>>2];if(!(!d|!K[b+16|0])){Fa(d)}J[b+12>>2]=u;H[b+16|0]=1;J[b+8>>2]=p;d=J[b+4>>2]}d=J[b+12>>2]+(d<<4)|0;J[d+12>>2]=0;N[d+8>>2]=q;N[d+4>>2]=F;N[d>>2]=h;d=J[b+4>>2]+1|0;J[b+4>>2]=d;n=n+1|0;if((ha|0)!=(n|0)){continue}break}}if((i|0)>=0){Ae(k,C,V,b,_,D,Z,e)}ta=k+16|0}if(!K[a+52|0]){break a}a=J[e+4>>2];if(!J[a+844>>2]){break a}c=J[a+836>>2];d=J[J[e+8>>2]+8>>2];b=(c|0)==(d|0);g=a;a=J[J[e+12>>2]+8>>2];ab(g,(b?c:a)+4|0,(b?a:d)+4|0);break a}if(J[u+4>>2]!=1){break f}J[f+252>>2]=0;g=J[c+12>>2];q=N[g+52>>2];D=N[g+20>>2];F=N[g+24>>2];I=N[g+56>>2];o=N[g+36>>2];v=N[g+40>>2];h=N[u+72>>2];j=N[u+68>>2];z=N[g+16>>2];w=N[g+32>>2];t=N[g+48>>2];x=N[g+8>>2];l=N[u+64>>2];s=N[g>>2];B=N[g+4>>2];g=Ga(16);J[f+260>>2]=g;H[f+264|0]=1;J[f+256>>2]=1;J[g+12>>2]=0;N[g>>2]=t+Q(Q(h*x)+Q(Q(l*s)+Q(j*B)));N[g+8>>2]=I+Q(Q(h*v)+Q(Q(l*w)+Q(j*o)));N[g+4>>2]=q+Q(Q(h*F)+Q(Q(l*z)+Q(j*D)));p=J[f+252>>2];k=p+1|0;J[f+252>>2]=k;h=N[u+88>>2];g=J[c+12>>2];j=N[u+80>>2];l=N[u+84>>2];q=Q(Q(Q(h*N[g+40>>2])+Q(Q(j*N[g+32>>2])+Q(l*N[g+36>>2])))+N[g+56>>2]);D=Q(Q(Q(h*N[g+24>>2])+Q(Q(j*N[g+16>>2])+Q(l*N[g+20>>2])))+N[g+52>>2]);h=Q(Q(Q(h*N[g+8>>2])+Q(Q(j*N[g>>2])+Q(l*N[g+4>>2])))+N[g+48>>2]);r:{if(J[f+256>>2]!=(k|0)){break r}i=k?k<<1:1;if((i|0)<=(k|0)){break r}g=0;k=0;if(i){k=Ga(i<<4)}if((p|0)>=0){while(1){n=g<<4;y=n+k|0;n=n+J[f+260>>2]|0;C=J[n+4>>2];J[y>>2]=J[n>>2];J[y+4>>2]=C;C=J[n+12>>2];J[y+8>>2]=J[n+8>>2];J[y+12>>2]=C;n=(g|0)!=(p|0);g=g+1|0;if(n){continue}break}}g=J[f+260>>2];if(!(!g|!K[f+264|0])){Fa(g)}J[f+260>>2]=k;H[f+264|0]=1;J[f+256>>2]=i;k=J[f+252>>2]}g=J[f+260>>2]+(k<<4)|0;J[g+12>>2]=0;N[g+8>>2]=q;N[g+4>>2]=D;N[g>>2]=h;n=J[f+252>>2];g=n+1|0;J[f+252>>2]=g;h=N[u+104>>2];c=J[c+12>>2];j=N[u+96>>2];l=N[u+100>>2];q=Q(Q(Q(h*N[c+40>>2])+Q(Q(j*N[c+32>>2])+Q(l*N[c+36>>2])))+N[c+56>>2]);D=Q(Q(Q(h*N[c+24>>2])+Q(Q(j*N[c+16>>2])+Q(l*N[c+20>>2])))+N[c+52>>2]);h=Q(Q(Q(h*N[c+8>>2])+Q(Q(j*N[c>>2])+Q(l*N[c+4>>2])))+N[c+48>>2]);s:{if(J[f+256>>2]!=(g|0)){break s}k=g?g<<1:1;if((k|0)<=(g|0)){break s}c=0;g=0;if(k){g=Ga(k<<4)}if((n|0)>=0){while(1){i=c<<4;p=i+g|0;i=i+J[f+260>>2]|0;y=J[i+4>>2];J[p>>2]=J[i>>2];J[p+4>>2]=y;y=J[i+12>>2];J[p+8>>2]=J[i+8>>2];J[p+12>>2]=y;i=(c|0)!=(n|0);c=c+1|0;if(i){continue}break}}c=J[f+260>>2];if(!(!c|!K[f+264|0])){Fa(c)}J[f+260>>2]=g;H[f+264|0]=1;J[f+256>>2]=k;g=J[f+252>>2]}c=J[f+260>>2]+(g<<4)|0;J[c+12>>2]=0;N[c+8>>2]=q;N[c+4>>2]=D;N[c>>2]=h;J[f+252>>2]=J[f+252>>2]+1;h=N[J[a+56>>2]+848>>2];fb(A,f+792|0,f+348|0,J[d+20>>2],0);j=N[A+12>>2];l=N[A+4>>2];q=N[A+8>>2];D=Q(Q(j*j)+Q(Q(l*l)+Q(q*q)));if(D>Q(1.1920928955078125e-7)){J[f+344>>2]=0;o=j;j=Q(Q(1)/D);N[f+340>>2]=o*j;N[f+336>>2]=q*j;N[f+332>>2]=l*j;j=N[A+56>>2];l=Q(va[J[J[r>>2]+48>>2]](r));q=Q(va[J[J[u>>2]+48>>2]](u));g=0;c=a+32|0;d=J[c+4>>2];t:{if((d|0)>0){break t}i=(d|0)>=0;if(i){break t}if(J[c+8>>2]<0){if((d|0)>0){while(1){k=g<<4;A=k+J[c+12>>2]|0;n=J[A+4>>2];J[k>>2]=J[A>>2];J[k+4>>2]=n;n=J[A+12>>2];J[k+8>>2]=J[A+8>>2];J[k+12>>2]=n;g=g+1|0;if((g|0)!=(d|0)){continue}break}}g=J[c+12>>2];if(!(!g|!K[c+16|0])){Fa(g)}J[c+12>>2]=0;H[c+16|0]=1;J[c+8>>2]=0;if(i){break t}}while(1){k=J[f+320>>2];g=J[c+12>>2]+(d<<4)|0;J[g>>2]=J[f+316>>2];J[g+4>>2]=k;k=J[f+328>>2];J[g+8>>2]=J[f+324>>2];J[g+12>>2]=k;d=d+1|0;if(d){continue}break}}J[c+4>>2]=0;Ae(f+332|0,J[r+60>>2],J[b+12>>2],f+248|0,c,Q(Q(Q(j-l)-q)-h),h,e)}if(K[a+52|0]){a=J[e+4>>2];if(J[a+844>>2]){c=J[a+836>>2];d=J[J[e+8>>2]+8>>2];b=(c|0)==(d|0);g=a;a=J[J[e+12>>2]+8>>2];ab(g,(b?c:a)+4|0,(b?a:d)+4|0)}}a=J[f+260>>2];if(!a|!K[f+264|0]){break a}Fa(a);break a}fb(A,f+792|0,e,J[d+20>>2],0);u:{if(!J[a+64>>2]|J[J[e+4>>2]+844>>2]>=J[a+68>>2]){break u}h=N[A+12>>2];j=N[A+4>>2];l=N[A+8>>2];q=Q(Q(h*h)+Q(Q(j*j)+Q(l*l)));if(!(q>Q(1.1920928955078125e-7))){break u}p=f+856|0;y=f+840|0;C=f+824|0;V=f+808|0;o=l;l=Q(Q(1)/q);D=Q(o*l);z=Q(j*l);w=Q(h*l);v:{if(Q(R(w))>Q(.7071067690849304)){j=Q(Q(1)/Q(Y(Q(Q(D*D)+Q(w*w)))));h=Q(D*j);B=Q(j*Q(-w));j=Q(0);break v}h=Q(Q(1)/Q(Y(Q(Q(z*z)+Q(D*D)))));B=Q(z*h);j=Q(h*Q(-D));h=Q(0)}l=Q(va[J[J[r>>2]+16>>2]](r));q=Q(va[J[J[u>>2]+16>>2]](u));F=N[8329];u=l>2];J[f+256>>2]=J[g+8>>2];J[f+260>>2]=r;r=J[g+4>>2];J[f+248>>2]=J[g>>2];J[f+252>>2]=r;g=u?V:k;r=J[g+12>>2];J[f+272>>2]=J[g+8>>2];J[f+276>>2]=r;r=J[g+4>>2];J[f+264>>2]=J[g>>2];J[f+268>>2]=r;g=u?C:i;r=J[g+12>>2];J[f+288>>2]=J[g+8>>2];J[f+292>>2]=r;r=J[g+4>>2];J[f+280>>2]=J[g>>2];J[f+284>>2]=r;g=u?y:n;r=J[g+12>>2];J[f+304>>2]=J[g+8>>2];J[f+308>>2]=r;r=J[g+4>>2];J[f+296>>2]=J[g>>2];J[f+300>>2]=r;g=J[a+64>>2];if((g|0)<=0){break u}o=h;l=Q(F/(u?l:q));l=l>Q(.39269909262657166)?Q(.19634954631328583):Q(l*Q(.5));$=Q(Q(h*h)+Q(Q(j*j)+Q(B*B)));h=Q(Va(l)/Q(Y($)));F=Q(o*h);I=Q(B*h);o=Q(j*h);X=Q(Y(Q(Q(w*w)+Q(Q(z*z)+Q(D*D)))));r=f- -64|0;v=Ta(l);while(1){if($>Q(1.1920928955078125e-7)){q=Q(Q(Q(Q(6.2831854820251465)/Q(g|0))*Q(_|0))*Q(.5));l=Q(Va(q)/X);h=Q(w*l);j=Q(D*l);l=Q(z*l);q=Ta(q);w:{if(u){t=Q(Q(h*F)+Q(Q(j*I)+Q(Q(q*v)+Q(o*l))));x=Q(Q(h*I)+Q(Q(Q(q*o)-Q(v*l))-Q(j*F)));s=Q(Q(l*F)+Q(Q(Q(q*I)-Q(v*j))-Q(h*o)));B=Q(Q(j*o)+Q(Q(Q(q*F)-Q(v*h))-Q(l*I)));N[f+344>>2]=Q(Q(Q(t*q)-Q(l*x))-Q(s*j))-Q(B*h);N[f+340>>2]=Q(Q(x*j)+Q(Q(t*h)+Q(q*B)))-Q(s*l);N[f+336>>2]=Q(Q(B*l)+Q(Q(t*j)+Q(q*s)))-Q(x*h);N[f+332>>2]=Q(Q(s*h)+Q(Q(t*l)+Q(q*x)))-Q(B*j);nb(f+8|0,f+332|0);g=J[b+12>>2];h=N[g+36>>2];j=N[g+20>>2];l=N[g+40>>2];q=N[g+24>>2];t=N[g+4>>2];x=N[g+8>>2];s=N[g+32>>2];B=N[g>>2];M=N[g+16>>2];L=N[f+16>>2];T=N[f+8>>2];E=N[f+12>>2];O=N[f+32>>2];S=N[f+24>>2];G=N[f+28>>2];Z=N[f+48>>2];U=N[f+40>>2];W=N[f+44>>2];J[f+836>>2]=0;J[f+820>>2]=0;J[f+804>>2]=0;N[f+824>>2]=Q(s*Z)+Q(Q(B*U)+Q(M*W));N[f+808>>2]=Q(s*O)+Q(Q(B*S)+Q(M*G));N[f+792>>2]=Q(s*L)+Q(Q(B*T)+Q(M*E));N[f+832>>2]=Q(l*Z)+Q(Q(x*U)+Q(q*W));N[f+828>>2]=Q(h*Z)+Q(Q(t*U)+Q(j*W));N[f+816>>2]=Q(l*O)+Q(Q(x*S)+Q(q*G));N[f+812>>2]=Q(h*O)+Q(Q(t*S)+Q(j*G));N[f+800>>2]=Q(l*L)+Q(Q(x*T)+Q(E*q));N[f+796>>2]=Q(h*L)+Q(Q(t*T)+Q(E*j));g=J[c+12>>2];m=J[g+4>>2];J[p>>2]=J[g>>2];J[p+4>>2]=m;m=J[g+12>>2];J[p+8>>2]=J[g+8>>2];J[p+12>>2]=m;m=J[g+28>>2];J[k+8>>2]=J[g+24>>2];J[k+12>>2]=m;m=J[g+20>>2];J[k>>2]=J[g+16>>2];J[k+4>>2]=m;m=J[g+44>>2];J[i+8>>2]=J[g+40>>2];J[i+12>>2]=m;m=J[g+36>>2];J[i>>2]=J[g+32>>2];J[i+4>>2]=m;m=J[g+60>>2];J[n+8>>2]=J[g+56>>2];J[n+12>>2]=m;m=J[g+52>>2];J[n>>2]=J[g+48>>2];J[n+4>>2]=m;break w}g=J[b+12>>2];m=J[g+12>>2];J[f+800>>2]=J[g+8>>2];J[f+804>>2]=m;m=J[g+4>>2];J[f+792>>2]=J[g>>2];J[f+796>>2]=m;m=J[g+28>>2];J[V+8>>2]=J[g+24>>2];J[V+12>>2]=m;m=J[g+20>>2];J[V>>2]=J[g+16>>2];J[V+4>>2]=m;m=J[g+44>>2];J[C+8>>2]=J[g+40>>2];J[C+12>>2]=m;m=J[g+36>>2];J[C>>2]=J[g+32>>2];J[C+4>>2]=m;m=J[g+60>>2];J[y+8>>2]=J[g+56>>2];J[y+12>>2]=m;m=J[g+52>>2];J[y>>2]=J[g+48>>2];J[y+4>>2]=m;t=Q(Q(h*F)+Q(Q(j*I)+Q(Q(q*v)+Q(o*l))));x=Q(Q(h*I)+Q(Q(Q(q*o)-Q(v*l))-Q(j*F)));s=Q(Q(l*F)+Q(Q(Q(q*I)-Q(v*j))-Q(h*o)));B=Q(Q(j*o)+Q(Q(Q(q*F)-Q(v*h))-Q(l*I)));N[f+344>>2]=Q(Q(Q(t*q)-Q(l*x))-Q(s*j))-Q(B*h);N[f+340>>2]=Q(Q(x*j)+Q(Q(t*h)+Q(q*B)))-Q(s*l);N[f+336>>2]=Q(Q(B*l)+Q(Q(t*j)+Q(q*s)))-Q(x*h);N[f+332>>2]=Q(Q(s*h)+Q(Q(t*l)+Q(q*x)))-Q(B*j);nb(f+8|0,f+332|0);g=J[c+12>>2];h=N[g+36>>2];j=N[g+20>>2];l=N[g+40>>2];q=N[g+24>>2];t=N[g+4>>2];x=N[g+8>>2];s=N[g+32>>2];B=N[g>>2];M=N[g+16>>2];L=N[f+16>>2];T=N[f+8>>2];E=N[f+12>>2];O=N[f+32>>2];S=N[f+24>>2];G=N[f+28>>2];Z=N[f+48>>2];U=N[f+40>>2];W=N[f+44>>2];J[f+900>>2]=0;J[f+884>>2]=0;J[f+868>>2]=0;N[f+888>>2]=Q(s*Z)+Q(Q(B*U)+Q(M*W));N[f+872>>2]=Q(s*O)+Q(Q(B*S)+Q(M*G));N[f+856>>2]=Q(s*L)+Q(Q(B*T)+Q(M*E));N[f+896>>2]=Q(l*Z)+Q(Q(x*U)+Q(q*W));N[f+892>>2]=Q(h*Z)+Q(Q(t*U)+Q(j*W));N[f+880>>2]=Q(l*O)+Q(Q(x*S)+Q(q*G));N[f+876>>2]=Q(h*O)+Q(Q(t*S)+Q(j*G));N[f+864>>2]=Q(l*L)+Q(Q(x*T)+Q(E*q));N[f+860>>2]=Q(h*L)+Q(Q(t*T)+Q(E*j))}g=J[d+20>>2];J[f+44>>2]=e;J[f+8>>2]=15644;J[f+40>>2]=0;m=J[f+804>>2];J[f+56>>2]=J[f+800>>2];J[f+60>>2]=m;m=J[f+796>>2];J[f+48>>2]=J[f+792>>2];J[f+52>>2]=m;m=J[V+12>>2];J[r+8>>2]=J[V+8>>2];J[r+12>>2]=m;m=J[V+4>>2];J[r>>2]=J[V>>2];J[r+4>>2]=m;m=J[C+12>>2];J[f+88>>2]=J[C+8>>2];J[f+92>>2]=m;m=J[C+4>>2];J[f+80>>2]=J[C>>2];J[f+84>>2]=m;m=J[y+12>>2];J[f+104>>2]=J[y+8>>2];J[f+108>>2]=m;m=J[y+4>>2];J[f+96>>2]=J[y>>2];J[f+100>>2]=m;m=J[p+12>>2];J[f+120>>2]=J[p+8>>2];J[f+124>>2]=m;m=J[p+4>>2];J[f+112>>2]=J[p>>2];J[f+116>>2]=m;m=J[k+12>>2];J[f+136>>2]=J[k+8>>2];J[f+140>>2]=m;m=J[k+4>>2];J[f+128>>2]=J[k>>2];J[f+132>>2]=m;m=J[i+12>>2];J[f+152>>2]=J[i+8>>2];J[f+156>>2]=m;m=J[i+4>>2];J[f+144>>2]=J[i>>2];J[f+148>>2]=m;m=J[n+12>>2];J[f+168>>2]=J[n+8>>2];J[f+172>>2]=m;m=J[n+4>>2];J[f+160>>2]=J[n>>2];J[f+164>>2]=m;m=J[f+260>>2];J[f+184>>2]=J[f+256>>2];J[f+188>>2]=m;m=J[f+252>>2];J[f+176>>2]=J[f+248>>2];J[f+180>>2]=m;m=J[f+276>>2];J[f+200>>2]=J[f+272>>2];J[f+204>>2]=m;m=J[f+268>>2];J[f+192>>2]=J[f+264>>2];J[f+196>>2]=m;m=J[f+292>>2];J[f+216>>2]=J[f+288>>2];J[f+220>>2]=m;m=J[f+284>>2];J[f+208>>2]=J[f+280>>2];J[f+212>>2]=m;m=J[f+300>>2];J[f+224>>2]=J[f+296>>2];J[f+228>>2]=m;m=J[f+308>>2];J[f+232>>2]=J[f+304>>2];J[f+236>>2]=m;J[f+244>>2]=g;H[f+240|0]=u;fb(A,f+792|0,f+8|0,g,0);g=J[a+64>>2]}_=_+1|0;if((_|0)<(g|0)){continue}break}}if(!K[a+52|0]){break a}a=J[e+4>>2];if(!J[a+844>>2]){break a}c=J[a+836>>2];d=J[J[e+8>>2]+8>>2];b=(c|0)==(d|0);g=a;a=J[J[e+12>>2]+8>>2];ab(g,(b?c:a)+4|0,(b?a:d)+4|0)}ta=f+928|0}function ii(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=Q(0),g=Q(0),h=0,i=Q(0),j=0,k=0,l=Q(0),m=0,n=Q(0),o=Q(0),p=Q(0),q=0,r=Q(0),s=Q(0),t=Q(0),u=Q(0),v=Q(0),w=Q(0),x=Q(0),y=Q(0),z=Q(0),A=Q(0),B=Q(0),C=Q(0),D=Q(0),E=Q(0),F=Q(0),G=Q(0),H=Q(0),I=Q(0);c=ta-352|0;ta=c;d=va[J[J[a>>2]+20>>2]](a)|0;va[J[J[d>>2]+8>>2]](c+224|0,d);d=J[c+348>>2];J[c+216>>2]=J[c+344>>2];J[c+220>>2]=d;d=J[c+340>>2];J[c+208>>2]=J[c+336>>2];J[c+212>>2]=d;d=va[J[J[a>>2]+20>>2]](a)|0;d=va[J[J[d>>2]+56>>2]](d)|0;j=va[J[J[a>>2]+20>>2]](a)|0;j=va[J[J[j>>2]+56>>2]](j)|0;w=N[b+40>>2];a:{if(w<=Q(0)){break a}e=d&2048;k=j&4096;b:{switch(J[b+4>>2]-3|0){case 0:J[c+156>>2]=0;J[c+160>>2]=0;J[c+168>>2]=0;J[c+172>>2]=0;J[c+164>>2]=1065353216;J[c+176>>2]=0;J[c+180>>2]=0;J[c+184>>2]=1065353216;J[c+188>>2]=0;J[c+148>>2]=0;J[c+152>>2]=0;J[c+144>>2]=1065353216;d=J[b+28>>2];l=N[d+52>>2];o=N[d+8>>2];p=N[d+12>>2];n=N[d+56>>2];r=N[d+20>>2];s=N[d+24>>2];x=N[d+28>>2];t=N[d+60>>2];u=N[d+36>>2];f=N[b+304>>2];v=N[d+40>>2];g=N[b+308>>2];y=N[d+44>>2];z=N[d+4>>2];i=N[b+300>>2];J[c+204>>2]=0;N[c+200>>2]=t+Q(Q(g*y)+Q(Q(i*u)+Q(f*v)));N[c+196>>2]=n+Q(Q(g*x)+Q(Q(i*r)+Q(f*s)));N[c+192>>2]=l+Q(Q(g*p)+Q(Q(i*z)+Q(f*o)));d=va[J[J[a>>2]+20>>2]](a)|0;va[J[J[d>>2]+64>>2]](d,c+144|0,w);d=J[b+32>>2];l=N[d+52>>2];o=N[d+8>>2];p=N[d+12>>2];n=N[d+56>>2];r=N[d+20>>2];s=N[d+24>>2];x=N[d+28>>2];t=N[d+60>>2];u=N[d+36>>2];f=N[b+320>>2];v=N[d+40>>2];g=N[b+324>>2];y=N[d+44>>2];z=N[d+4>>2];i=N[b+316>>2];J[c+204>>2]=0;N[c+200>>2]=t+Q(Q(g*y)+Q(Q(i*u)+Q(f*v)));N[c+196>>2]=n+Q(Q(g*x)+Q(Q(i*r)+Q(f*s)));N[c+192>>2]=l+Q(Q(g*p)+Q(Q(i*z)+Q(f*o)));if(!e){break a}a=va[J[J[a>>2]+20>>2]](a)|0;va[J[J[a>>2]+64>>2]](a,c+144|0,w);break a;case 1:d=J[b+28>>2];G=N[d+52>>2];f=N[d+8>>2];g=N[d+12>>2];x=N[b+568>>2];t=N[b+584>>2];H=N[d+56>>2];I=N[d+60>>2];u=N[b+608>>2];v=N[b+600>>2];y=N[b+604>>2];i=N[d+28>>2];l=N[d+20>>2];o=N[d+24>>2];z=N[b+588>>2];A=N[b+556>>2];B=N[b+572>>2];C=N[b+592>>2];p=N[d+44>>2];D=N[b+560>>2];n=N[d+36>>2];E=N[b+576>>2];r=N[d+40>>2];s=N[d+4>>2];F=N[b+552>>2];J[c+204>>2]=0;J[c+188>>2]=0;J[c+172>>2]=0;N[c+184>>2]=Q(C*p)+Q(Q(D*n)+Q(E*r));N[c+180>>2]=Q(z*p)+Q(Q(A*n)+Q(B*r));N[c+168>>2]=Q(C*i)+Q(Q(D*l)+Q(E*o));N[c+164>>2]=Q(z*i)+Q(Q(A*l)+Q(B*o));N[c+200>>2]=I+Q(Q(u*p)+Q(Q(v*n)+Q(r*y)));N[c+196>>2]=H+Q(Q(u*i)+Q(Q(v*l)+Q(o*y)));J[c+156>>2]=0;N[c+176>>2]=Q(t*p)+Q(Q(F*n)+Q(x*r));N[c+160>>2]=Q(t*i)+Q(Q(F*l)+Q(x*o));N[c+152>>2]=Q(C*g)+Q(Q(D*s)+Q(f*E));N[c+148>>2]=Q(z*g)+Q(Q(A*s)+Q(f*B));N[c+144>>2]=Q(t*g)+Q(Q(F*s)+Q(x*f));N[c+192>>2]=G+Q(Q(u*g)+Q(Q(v*s)+Q(f*y)));c:{if(e){d=va[J[J[a>>2]+20>>2]](a)|0;j=c+144|0;va[J[J[d>>2]+64>>2]](d,j,w);d=J[b+32>>2];G=N[d+52>>2];H=N[d+56>>2];I=N[d+60>>2];x=N[b+672>>2];t=N[b+664>>2];u=N[b+668>>2];f=N[d+8>>2];g=N[d+12>>2];i=N[d+28>>2];l=N[d+20>>2];o=N[d+24>>2];v=N[b+632>>2];y=N[b+648>>2];z=N[b+652>>2];A=N[b+620>>2];B=N[b+636>>2];C=N[b+656>>2];p=N[d+44>>2];D=N[b+624>>2];n=N[d+36>>2];E=N[b+640>>2];r=N[d+40>>2];s=N[d+4>>2];F=N[b+616>>2];J[c+204>>2]=0;J[c+188>>2]=0;J[c+172>>2]=0;J[c+156>>2]=0;N[c+184>>2]=Q(C*p)+Q(Q(D*n)+Q(E*r));N[c+180>>2]=Q(z*p)+Q(Q(A*n)+Q(B*r));N[c+176>>2]=Q(y*p)+Q(Q(F*n)+Q(v*r));N[c+168>>2]=Q(C*i)+Q(Q(D*l)+Q(E*o));N[c+164>>2]=Q(z*i)+Q(Q(A*l)+Q(B*o));N[c+160>>2]=Q(y*i)+Q(Q(F*l)+Q(v*o));N[c+152>>2]=Q(C*g)+Q(Q(D*s)+Q(f*E));N[c+148>>2]=Q(z*g)+Q(Q(A*s)+Q(f*B));N[c+144>>2]=Q(y*g)+Q(Q(F*s)+Q(v*f));N[c+200>>2]=I+Q(Q(x*p)+Q(Q(t*n)+Q(r*u)));N[c+196>>2]=H+Q(Q(x*i)+Q(Q(t*l)+Q(o*u)));N[c+192>>2]=G+Q(Q(x*g)+Q(Q(t*s)+Q(f*u)));d=va[J[J[a>>2]+20>>2]](a)|0;va[J[J[d>>2]+64>>2]](d,j,w);break c}d=J[b+32>>2];G=N[d+52>>2];H=N[d+56>>2];I=N[d+60>>2];x=N[b+672>>2];t=N[b+664>>2];u=N[b+668>>2];f=N[d+8>>2];g=N[d+12>>2];i=N[d+28>>2];l=N[d+20>>2];o=N[d+24>>2];v=N[b+632>>2];y=N[b+648>>2];z=N[b+652>>2];A=N[b+620>>2];B=N[b+636>>2];C=N[b+656>>2];p=N[d+44>>2];D=N[b+624>>2];n=N[d+36>>2];E=N[b+640>>2];r=N[d+40>>2];s=N[d+4>>2];F=N[b+616>>2];J[c+204>>2]=0;J[c+188>>2]=0;J[c+172>>2]=0;J[c+156>>2]=0;N[c+184>>2]=Q(C*p)+Q(Q(D*n)+Q(E*r));N[c+180>>2]=Q(z*p)+Q(Q(A*n)+Q(B*r));N[c+176>>2]=Q(y*p)+Q(Q(F*n)+Q(v*r));N[c+168>>2]=Q(C*i)+Q(Q(D*l)+Q(E*o));N[c+164>>2]=Q(z*i)+Q(Q(A*l)+Q(B*o));N[c+160>>2]=Q(y*i)+Q(Q(F*l)+Q(v*o));N[c+152>>2]=Q(C*g)+Q(Q(D*s)+Q(f*E));N[c+148>>2]=Q(z*g)+Q(Q(A*s)+Q(f*B));N[c+144>>2]=Q(y*g)+Q(Q(F*s)+Q(v*f));N[c+200>>2]=I+Q(Q(x*p)+Q(Q(t*n)+Q(r*u)));N[c+196>>2]=H+Q(Q(x*i)+Q(Q(t*l)+Q(o*u)));N[c+192>>2]=G+Q(Q(x*g)+Q(Q(t*s)+Q(f*u)))}d=b+688|0;f=Xb(d);g=Yb(d);if(!k|f==g){break a}i=N[b+692>>2];N[c+64>>2]=N[c+152>>2];N[c+68>>2]=N[c+168>>2];J[c+76>>2]=0;N[c+72>>2]=N[c+184>>2];N[c+128>>2]=N[c+144>>2];N[c+132>>2]=N[c+160>>2];J[c+140>>2]=0;N[c+136>>2]=N[c+176>>2];b=va[J[J[a>>2]+20>>2]](a)|0;a=i>Q(0);va[J[J[b>>2]+68>>2]](b,c+192|0,c- -64|0,c+128|0,w,w,a?f:Q(0),a?g:Q(6.2831854820251465),c+208|0,a,Q(10));break a;case 2:d=J[b+28>>2];G=N[d+52>>2];f=N[d+8>>2];g=N[d+12>>2];x=N[b+316>>2];t=N[b+332>>2];H=N[d+56>>2];I=N[d+60>>2];u=N[b+356>>2];v=N[b+348>>2];y=N[b+352>>2];i=N[d+28>>2];l=N[d+20>>2];o=N[d+24>>2];z=N[b+336>>2];A=N[b+304>>2];B=N[b+320>>2];C=N[b+340>>2];p=N[d+44>>2];D=N[b+308>>2];n=N[d+36>>2];E=N[b+324>>2];r=N[d+40>>2];s=N[d+4>>2];F=N[b+300>>2];J[c+204>>2]=0;J[c+188>>2]=0;J[c+172>>2]=0;N[c+184>>2]=Q(C*p)+Q(Q(D*n)+Q(E*r));N[c+180>>2]=Q(z*p)+Q(Q(A*n)+Q(B*r));N[c+168>>2]=Q(C*i)+Q(Q(D*l)+Q(E*o));N[c+164>>2]=Q(z*i)+Q(Q(A*l)+Q(B*o));N[c+200>>2]=I+Q(Q(u*p)+Q(Q(v*n)+Q(r*y)));N[c+196>>2]=H+Q(Q(u*i)+Q(Q(v*l)+Q(o*y)));J[c+156>>2]=0;N[c+176>>2]=Q(t*p)+Q(Q(F*n)+Q(x*r));N[c+160>>2]=Q(t*i)+Q(Q(F*l)+Q(x*o));N[c+152>>2]=Q(C*g)+Q(Q(D*s)+Q(f*E));N[c+148>>2]=Q(z*g)+Q(Q(A*s)+Q(f*B));N[c+144>>2]=Q(t*g)+Q(Q(F*s)+Q(x*f));N[c+192>>2]=G+Q(Q(u*g)+Q(Q(v*s)+Q(f*y)));d:{if(e){d=va[J[J[a>>2]+20>>2]](a)|0;j=c+144|0;va[J[J[d>>2]+64>>2]](d,j,w);d=J[b+32>>2];G=N[d+52>>2];H=N[d+56>>2];I=N[d+60>>2];x=N[b+420>>2];t=N[b+412>>2];u=N[b+416>>2];f=N[d+8>>2];g=N[d+12>>2];i=N[d+28>>2];l=N[d+20>>2];o=N[d+24>>2];v=N[b+380>>2];y=N[b+396>>2];z=N[b+400>>2];A=N[b+368>>2];B=N[b+384>>2];C=N[b+404>>2];p=N[d+44>>2];D=N[b+372>>2];n=N[d+36>>2];E=N[b+388>>2];r=N[d+40>>2];s=N[d+4>>2];F=N[b+364>>2];J[c+204>>2]=0;J[c+188>>2]=0;J[c+172>>2]=0;J[c+156>>2]=0;N[c+184>>2]=Q(C*p)+Q(Q(D*n)+Q(E*r));N[c+180>>2]=Q(z*p)+Q(Q(A*n)+Q(B*r));N[c+176>>2]=Q(y*p)+Q(Q(F*n)+Q(v*r));N[c+168>>2]=Q(C*i)+Q(Q(D*l)+Q(E*o));N[c+164>>2]=Q(z*i)+Q(Q(A*l)+Q(B*o));N[c+160>>2]=Q(y*i)+Q(Q(F*l)+Q(v*o));N[c+152>>2]=Q(C*g)+Q(Q(D*s)+Q(f*E));N[c+148>>2]=Q(z*g)+Q(Q(A*s)+Q(f*B));N[c+144>>2]=Q(y*g)+Q(Q(F*s)+Q(v*f));N[c+200>>2]=I+Q(Q(x*p)+Q(Q(t*n)+Q(r*u)));N[c+196>>2]=H+Q(Q(x*i)+Q(Q(t*l)+Q(o*u)));N[c+192>>2]=G+Q(Q(x*g)+Q(Q(t*s)+Q(f*u)));d=va[J[J[a>>2]+20>>2]](a)|0;va[J[J[d>>2]+64>>2]](d,j,w);break d}d=J[b+32>>2];G=N[d+52>>2];H=N[d+56>>2];I=N[d+60>>2];x=N[b+420>>2];t=N[b+412>>2];u=N[b+416>>2];f=N[d+8>>2];g=N[d+12>>2];i=N[d+28>>2];l=N[d+20>>2];o=N[d+24>>2];v=N[b+380>>2];y=N[b+396>>2];z=N[b+400>>2];A=N[b+368>>2];B=N[b+384>>2];C=N[b+404>>2];p=N[d+44>>2];D=N[b+372>>2];n=N[d+36>>2];E=N[b+388>>2];r=N[d+40>>2];s=N[d+4>>2];F=N[b+364>>2];J[c+204>>2]=0;J[c+188>>2]=0;J[c+172>>2]=0;J[c+156>>2]=0;N[c+184>>2]=Q(C*p)+Q(Q(D*n)+Q(E*r));N[c+180>>2]=Q(z*p)+Q(Q(A*n)+Q(B*r));N[c+176>>2]=Q(y*p)+Q(Q(F*n)+Q(v*r));N[c+168>>2]=Q(C*i)+Q(Q(D*l)+Q(E*o));N[c+164>>2]=Q(z*i)+Q(Q(A*l)+Q(B*o));N[c+160>>2]=Q(y*i)+Q(Q(F*l)+Q(v*o));N[c+152>>2]=Q(C*g)+Q(Q(D*s)+Q(f*E));N[c+148>>2]=Q(z*g)+Q(Q(A*s)+Q(f*B));N[c+144>>2]=Q(y*g)+Q(Q(F*s)+Q(v*f));N[c+200>>2]=I+Q(Q(x*p)+Q(Q(t*n)+Q(r*u)));N[c+196>>2]=H+Q(Q(x*i)+Q(Q(t*l)+Q(o*u)));N[c+192>>2]=G+Q(Q(x*g)+Q(Q(t*s)+Q(f*u)))}if(!k){break a}q=b+300|0;d=c+192|0;ie(c+128|0,b,Q(6.0868353843688965),w);J[c+140>>2]=0;f=N[c+136>>2];g=N[c+128>>2];i=N[c+132>>2];N[c+136>>2]=Q(Q(f*N[c+184>>2])+Q(Q(g*N[c+176>>2])+Q(i*N[c+180>>2])))+N[c+200>>2];N[c+132>>2]=Q(Q(f*N[c+168>>2])+Q(Q(g*N[c+160>>2])+Q(i*N[c+164>>2])))+N[c+196>>2];N[c+128>>2]=Q(Q(f*N[c+152>>2])+Q(Q(g*N[c+144>>2])+Q(i*N[c+148>>2])))+N[c+192>>2];j=0;while(1){e=c- -64|0;ie(e,b,Q(Q(Q(j|0)*Q(6.283185005187988))*Q(.03125)),w);J[c+76>>2]=0;f=N[c+72>>2];g=N[c+64>>2];i=N[c+68>>2];N[c+72>>2]=Q(Q(f*N[c+184>>2])+Q(Q(g*N[c+176>>2])+Q(i*N[c+180>>2])))+N[c+200>>2];N[c+68>>2]=Q(Q(f*N[c+168>>2])+Q(Q(g*N[c+160>>2])+Q(i*N[c+164>>2])))+N[c+196>>2];N[c+64>>2]=Q(Q(f*N[c+152>>2])+Q(Q(g*N[c+144>>2])+Q(i*N[c+148>>2])))+N[c+192>>2];k=va[J[J[a>>2]+20>>2]](a)|0;va[J[J[k>>2]+16>>2]](k,c+128|0,e,c+208|0);if(!(j&3)){e=va[J[J[a>>2]+20>>2]](a)|0;va[J[J[e>>2]+16>>2]](e,d,c- -64|0,c+208|0)}e=J[c+76>>2];J[c+136>>2]=J[c+72>>2];J[c+140>>2]=e;e=J[c+68>>2];J[c+128>>2]=J[c+64>>2];J[c+132>>2]=e;j=j+1|0;if((j|0)!=32){continue}break};f=N[b+512>>2];g=N[b+452>>2];j=J[b+32>>2];e:{if(N[j+404>>2]>Q(0)){be(c- -64|0,j+4|0,b+364|0);break e}be(c- -64|0,J[b+28>>2]+4|0,q)}b=J[c+76>>2];J[c+152>>2]=J[c+72>>2];J[c+156>>2]=b;b=J[c+68>>2];J[c+144>>2]=J[c+64>>2];J[c+148>>2]=b;b=J[c+92>>2];J[c+168>>2]=J[c+88>>2];J[c+172>>2]=b;b=J[c+84>>2];J[c+160>>2]=J[c+80>>2];J[c+164>>2]=b;b=J[c+108>>2];J[c+184>>2]=J[c+104>>2];J[c+188>>2]=b;b=J[c+100>>2];J[c+176>>2]=J[c+96>>2];J[c+180>>2]=b;b=J[c+124>>2];J[d+8>>2]=J[c+120>>2];J[d+12>>2]=b;b=J[c+116>>2];J[d>>2]=J[c+112>>2];J[d+4>>2]=b;b=J[d+12>>2];J[c+72>>2]=J[d+8>>2];J[c+76>>2]=b;b=J[d+4>>2];J[c+64>>2]=J[d>>2];J[c+68>>2]=b;N[c+48>>2]=N[c+144>>2];N[c+52>>2]=N[c+160>>2];J[c+60>>2]=0;N[c+56>>2]=N[c+176>>2];N[c+32>>2]=N[c+148>>2];N[c+36>>2]=N[c+164>>2];J[c+44>>2]=0;N[c+40>>2]=N[c+180>>2];a=va[J[J[a>>2]+20>>2]](a)|0;va[J[J[a>>2]+68>>2]](a,c- -64|0,c+48|0,c+32|0,w,w,Q(Q(-f)-g),Q(g-f),c+208|0,1,Q(10));break a;case 3:case 6:d=b+1072|0;j=J[d+4>>2];J[c+152>>2]=J[d>>2];J[c+156>>2]=j;d=J[b+1068>>2];J[c+144>>2]=J[b+1064>>2];J[c+148>>2]=d;d=b+1088|0;j=J[d+4>>2];J[c+168>>2]=J[d>>2];J[c+172>>2]=j;d=b+1080|0;j=J[d+4>>2];J[c+160>>2]=J[d>>2];J[c+164>>2]=j;j=b+1104|0;q=J[j+4>>2];J[c+184>>2]=J[j>>2];J[c+188>>2]=q;j=b+1096|0;q=J[j+4>>2];J[c+176>>2]=J[j>>2];J[c+180>>2]=q;q=b+1120|0;h=J[q+4>>2];J[c+200>>2]=J[q>>2];J[c+204>>2]=h;q=b+1112|0;h=J[q+4>>2];J[c+192>>2]=J[q>>2];J[c+196>>2]=h;if(e){e=va[J[J[a>>2]+20>>2]](a)|0;h=c+144|0;va[J[J[e>>2]+64>>2]](e,h,w);e=b+1136|0;m=J[e+4>>2];J[c+152>>2]=J[e>>2];J[c+156>>2]=m;e=J[b+1132>>2];J[c+144>>2]=J[b+1128>>2];J[c+148>>2]=e;e=b+1152|0;m=J[e+4>>2];J[c+168>>2]=J[e>>2];J[c+172>>2]=m;e=b+1144|0;m=J[e+4>>2];J[c+160>>2]=J[e>>2];J[c+164>>2]=m;e=b+1168|0;m=J[e+4>>2];J[c+184>>2]=J[e>>2];J[c+188>>2]=m;e=b+1160|0;m=J[e+4>>2];J[c+176>>2]=J[e>>2];J[c+180>>2]=m;e=b+1184|0;m=J[e+4>>2];J[c+200>>2]=J[e>>2];J[c+204>>2]=m;e=b+1176|0;m=J[e+4>>2];J[c+192>>2]=J[e>>2];J[c+196>>2]=m;e=va[J[J[a>>2]+20>>2]](a)|0;va[J[J[e>>2]+64>>2]](e,h,w)}if(!k){break a}e=b+1064|0;k=J[e+12>>2];J[c+152>>2]=J[e+8>>2];J[c+156>>2]=k;k=J[e+4>>2];J[c+144>>2]=J[e>>2];J[c+148>>2]=k;k=J[d+12>>2];J[c+168>>2]=J[d+8>>2];J[c+172>>2]=k;k=J[d+4>>2];J[c+160>>2]=J[d>>2];J[c+164>>2]=k;k=J[j+12>>2];J[c+184>>2]=J[j+8>>2];J[c+188>>2]=k;k=J[j+4>>2];J[c+176>>2]=J[j>>2];J[c+180>>2]=k;k=J[q+12>>2];J[c+200>>2]=J[q+8>>2];J[c+204>>2]=k;k=J[q+4>>2];J[c+192>>2]=J[q>>2];J[c+196>>2]=k;N[c+64>>2]=N[c+152>>2];N[c+68>>2]=N[c+168>>2];J[c+76>>2]=0;N[c+72>>2]=N[c+184>>2];N[c+128>>2]=N[c+144>>2];N[c+132>>2]=N[c+160>>2];J[c+140>>2]=0;N[c+136>>2]=N[c+176>>2];f=N[b+1e3>>2];g=N[b+996>>2];i=N[b+936>>2];l=N[b+932>>2];h=va[J[J[a>>2]+20>>2]](a)|0;k=b+1176|0;va[J[J[h>>2]+72>>2]](h,k,c- -64|0,c+128|0,Q(w*Q(.8999999761581421)),l,i,g,f,c+208|0,Q(10),1);J[c+140>>2]=0;N[c+136>>2]=N[c+180>>2];N[c+132>>2]=N[c+164>>2];N[c+128>>2]=N[c+148>>2];l=he(b,1);i=he(b,2);f=N[c+128>>2];g=Va(i);o=N[c+132>>2];p=Ta(i);N[c+52>>2]=Q(o*p)-Q(g*f);i=Va(l);n=N[c+136>>2];l=Ta(l);N[c+56>>2]=Q(n*l)+Q(Q(f*Q(i*p))+Q(o*Q(i*g)));N[c+48>>2]=Q(Q(f*Q(l*p))+Q(o*Q(l*g)))-Q(i*n);h=b+1136|0;m=J[h+4>>2];J[c+152>>2]=J[h>>2];J[c+156>>2]=m;h=J[b+1132>>2];J[c+144>>2]=J[b+1128>>2];J[c+148>>2]=h;h=b+1152|0;m=J[h+4>>2];J[c+168>>2]=J[h>>2];J[c+172>>2]=m;h=b+1144|0;m=J[h+4>>2];J[c+160>>2]=J[h>>2];J[c+164>>2]=m;h=b+1168|0;m=J[h+4>>2];J[c+184>>2]=J[h>>2];J[c+188>>2]=m;h=b+1160|0;m=J[h+4>>2];J[c+176>>2]=J[h>>2];J[c+180>>2]=m;h=b+1184|0;m=J[h+4>>2];J[c+200>>2]=J[h>>2];J[c+204>>2]=m;h=J[k+4>>2];J[c+192>>2]=J[k>>2];J[c+196>>2]=h;J[c+44>>2]=0;N[c+40>>2]=-N[c+176>>2];N[c+36>>2]=-N[c+160>>2];N[c+32>>2]=-N[c+144>>2];f=N[b+868>>2];g=N[b+872>>2];f:{if(f>g){h=va[J[J[a>>2]+20>>2]](a)|0;va[J[J[h>>2]+68>>2]](h,k,c+32|0,c+48|0,w,w,Q(-3.1415927410125732),Q(3.1415927410125732),c+208|0,0,Q(10));break f}if(!(f>2]+20>>2]](a)|0;va[J[J[h>>2]+68>>2]](h,k,c+32|0,c+48|0,w,w,f,g,c+208|0,1,Q(10))}k=J[e+12>>2];J[c+152>>2]=J[e+8>>2];J[c+156>>2]=k;k=J[e+4>>2];J[c+144>>2]=J[e>>2];J[c+148>>2]=k;e=J[d+12>>2];J[c+168>>2]=J[d+8>>2];J[c+172>>2]=e;e=J[d+4>>2];J[c+160>>2]=J[d>>2];J[c+164>>2]=e;d=J[j+12>>2];J[c+184>>2]=J[j+8>>2];J[c+188>>2]=d;d=J[j+4>>2];J[c+176>>2]=J[j>>2];J[c+180>>2]=d;d=J[q+12>>2];J[c+200>>2]=J[q+8>>2];J[c+204>>2]=d;d=J[q+4>>2];J[c+192>>2]=J[q>>2];J[c+196>>2]=d;d=J[b+692>>2];J[c+24>>2]=J[b+688>>2];J[c+28>>2]=d;d=J[b+684>>2];J[c+16>>2]=J[b+680>>2];J[c+20>>2]=d;d=J[b+708>>2];J[c+8>>2]=J[b+704>>2];J[c+12>>2]=d;d=J[b+700>>2];J[c>>2]=J[b+696>>2];J[c+4>>2]=d;a=va[J[J[a>>2]+20>>2]](a)|0;va[J[J[a>>2]+80>>2]](a,c+16|0,c,c+144|0,c+208|0);break a;case 9:d=b+1244|0;j=J[d+4>>2];J[c+152>>2]=J[d>>2];J[c+156>>2]=j;d=J[b+1240>>2];J[c+144>>2]=J[b+1236>>2];J[c+148>>2]=d;d=b+1260|0;j=J[d+4>>2];J[c+168>>2]=J[d>>2];J[c+172>>2]=j;d=b+1252|0;j=J[d+4>>2];J[c+160>>2]=J[d>>2];J[c+164>>2]=j;j=b+1276|0;q=J[j+4>>2];J[c+184>>2]=J[j>>2];J[c+188>>2]=q;j=b+1268|0;q=J[j+4>>2];J[c+176>>2]=J[j>>2];J[c+180>>2]=q;q=b+1292|0;h=J[q+4>>2];J[c+200>>2]=J[q>>2];J[c+204>>2]=h;q=b+1284|0;h=J[q+4>>2];J[c+192>>2]=J[q>>2];J[c+196>>2]=h;if(e){e=va[J[J[a>>2]+20>>2]](a)|0;h=c+144|0;va[J[J[e>>2]+64>>2]](e,h,w);e=b+1308|0;m=J[e+4>>2];J[c+152>>2]=J[e>>2];J[c+156>>2]=m;e=J[b+1304>>2];J[c+144>>2]=J[b+1300>>2];J[c+148>>2]=e;e=b+1324|0;m=J[e+4>>2];J[c+168>>2]=J[e>>2];J[c+172>>2]=m;e=b+1316|0;m=J[e+4>>2];J[c+160>>2]=J[e>>2];J[c+164>>2]=m;e=b+1340|0;m=J[e+4>>2];J[c+184>>2]=J[e>>2];J[c+188>>2]=m;e=b+1332|0;m=J[e+4>>2];J[c+176>>2]=J[e>>2];J[c+180>>2]=m;e=b+1356|0;m=J[e+4>>2];J[c+200>>2]=J[e>>2];J[c+204>>2]=m;e=b+1348|0;m=J[e+4>>2];J[c+192>>2]=J[e>>2];J[c+196>>2]=m;e=va[J[J[a>>2]+20>>2]](a)|0;va[J[J[e>>2]+64>>2]](e,h,w)}if(!k){break a}e=b+1236|0;k=J[e+12>>2];J[c+152>>2]=J[e+8>>2];J[c+156>>2]=k;k=J[e+4>>2];J[c+144>>2]=J[e>>2];J[c+148>>2]=k;k=J[d+12>>2];J[c+168>>2]=J[d+8>>2];J[c+172>>2]=k;k=J[d+4>>2];J[c+160>>2]=J[d>>2];J[c+164>>2]=k;k=J[j+12>>2];J[c+184>>2]=J[j+8>>2];J[c+188>>2]=k;k=J[j+4>>2];J[c+176>>2]=J[j>>2];J[c+180>>2]=k;k=J[q+12>>2];J[c+200>>2]=J[q+8>>2];J[c+204>>2]=k;k=J[q+4>>2];J[c+192>>2]=J[q>>2];J[c+196>>2]=k;N[c+64>>2]=N[c+152>>2];N[c+68>>2]=N[c+168>>2];J[c+76>>2]=0;N[c+72>>2]=N[c+184>>2];N[c+128>>2]=N[c+144>>2];N[c+132>>2]=N[c+160>>2];J[c+140>>2]=0;N[c+136>>2]=N[c+176>>2];f=N[b+1148>>2];g=N[b+1144>>2];i=N[b+1060>>2];l=N[b+1056>>2];h=va[J[J[a>>2]+20>>2]](a)|0;k=b+1348|0;va[J[J[h>>2]+72>>2]](h,k,c- -64|0,c+128|0,Q(w*Q(.8999999761581421)),l,i,g,f,c+208|0,Q(10),1);J[c+140>>2]=0;p=N[c+180>>2];N[c+136>>2]=p;f=N[c+164>>2];N[c+132>>2]=f;g=N[c+148>>2];N[c+128>>2]=g;l=N[b+1372>>2];i=Va(l);l=Ta(l);n=N[b+1368>>2];N[c+52>>2]=Q(l*f)-Q(i*g);o=Va(n);n=Ta(n);N[c+56>>2]=Q(p*n)+Q(Q(g*Q(o*l))+Q(f*Q(o*i)));N[c+48>>2]=Q(Q(g*Q(n*l))+Q(f*Q(n*i)))-Q(o*p);h=b+1308|0;m=J[h+4>>2];J[c+152>>2]=J[h>>2];J[c+156>>2]=m;h=J[b+1304>>2];J[c+144>>2]=J[b+1300>>2];J[c+148>>2]=h;h=b+1324|0;m=J[h+4>>2];J[c+168>>2]=J[h>>2];J[c+172>>2]=m;h=b+1316|0;m=J[h+4>>2];J[c+160>>2]=J[h>>2];J[c+164>>2]=m;h=b+1340|0;m=J[h+4>>2];J[c+184>>2]=J[h>>2];J[c+188>>2]=m;h=b+1332|0;m=J[h+4>>2];J[c+176>>2]=J[h>>2];J[c+180>>2]=m;h=b+1356|0;m=J[h+4>>2];J[c+200>>2]=J[h>>2];J[c+204>>2]=m;h=J[k+4>>2];J[c+192>>2]=J[k>>2];J[c+196>>2]=h;J[c+44>>2]=0;N[c+40>>2]=-N[c+176>>2];N[c+36>>2]=-N[c+160>>2];N[c+32>>2]=-N[c+144>>2];f=N[b+968>>2];g=N[b+972>>2];g:{if(f>g){h=va[J[J[a>>2]+20>>2]](a)|0;va[J[J[h>>2]+68>>2]](h,k,c+32|0,c+48|0,w,w,Q(-3.1415927410125732),Q(3.1415927410125732),c+208|0,0,Q(10));break g}if(!(f>2]+20>>2]](a)|0;va[J[J[h>>2]+68>>2]](h,k,c+32|0,c+48|0,w,w,f,g,c+208|0,1,Q(10))}k=J[e+12>>2];J[c+152>>2]=J[e+8>>2];J[c+156>>2]=k;k=J[e+4>>2];J[c+144>>2]=J[e>>2];J[c+148>>2]=k;e=J[d+12>>2];J[c+168>>2]=J[d+8>>2];J[c+172>>2]=e;e=J[d+4>>2];J[c+160>>2]=J[d>>2];J[c+164>>2]=e;d=J[j+12>>2];J[c+184>>2]=J[j+8>>2];J[c+188>>2]=d;d=J[j+4>>2];J[c+176>>2]=J[j>>2];J[c+180>>2]=d;d=J[q+12>>2];J[c+200>>2]=J[q+8>>2];J[c+204>>2]=d;d=J[q+4>>2];J[c+192>>2]=J[q>>2];J[c+196>>2]=d;d=J[b+692>>2];J[c+24>>2]=J[b+688>>2];J[c+28>>2]=d;d=J[b+684>>2];J[c+16>>2]=J[b+680>>2];J[c+20>>2]=d;d=J[b+708>>2];J[c+8>>2]=J[b+704>>2];J[c+12>>2]=d;d=J[b+700>>2];J[c>>2]=J[b+696>>2];J[c+4>>2]=d;a=va[J[J[a>>2]+20>>2]](a)|0;va[J[J[a>>2]+80>>2]](a,c+16|0,c,c+144|0,c+208|0);break a;case 4:break b;default:break a}}d=J[b+836>>2];J[c+152>>2]=J[b+832>>2];J[c+156>>2]=d;d=J[b+828>>2];J[c+144>>2]=J[b+824>>2];J[c+148>>2]=d;d=J[b+852>>2];J[c+168>>2]=J[b+848>>2];J[c+172>>2]=d;d=J[b+844>>2];J[c+160>>2]=J[b+840>>2];J[c+164>>2]=d;d=J[b+868>>2];J[c+184>>2]=J[b+864>>2];J[c+188>>2]=d;d=J[b+860>>2];J[c+176>>2]=J[b+856>>2];J[c+180>>2]=d;d=J[b+884>>2];J[c+200>>2]=J[b+880>>2];J[c+204>>2]=d;d=J[b+876>>2];J[c+192>>2]=J[b+872>>2];J[c+196>>2]=d;h:{if(e){d=va[J[J[a>>2]+20>>2]](a)|0;j=c+144|0;va[J[J[d>>2]+64>>2]](d,j,w);d=J[b+900>>2];J[c+152>>2]=J[b+896>>2];J[c+156>>2]=d;d=J[b+892>>2];J[c+144>>2]=J[b+888>>2];J[c+148>>2]=d;d=J[b+916>>2];J[c+168>>2]=J[b+912>>2];J[c+172>>2]=d;d=J[b+908>>2];J[c+160>>2]=J[b+904>>2];J[c+164>>2]=d;d=J[b+932>>2];J[c+184>>2]=J[b+928>>2];J[c+188>>2]=d;d=J[b+924>>2];J[c+176>>2]=J[b+920>>2];J[c+180>>2]=d;d=J[b+948>>2];J[c+200>>2]=J[b+944>>2];J[c+204>>2]=d;d=J[b+940>>2];J[c+192>>2]=J[b+936>>2];J[c+196>>2]=d;d=va[J[J[a>>2]+20>>2]](a)|0;va[J[J[d>>2]+64>>2]](d,j,w);break h}d=J[b+900>>2];J[c+152>>2]=J[b+896>>2];J[c+156>>2]=d;d=J[b+892>>2];J[c+144>>2]=J[b+888>>2];J[c+148>>2]=d;d=J[b+916>>2];J[c+168>>2]=J[b+912>>2];J[c+172>>2]=d;d=J[b+908>>2];J[c+160>>2]=J[b+904>>2];J[c+164>>2]=d;d=J[b+932>>2];J[c+184>>2]=J[b+928>>2];J[c+188>>2]=d;d=J[b+924>>2];J[c+176>>2]=J[b+920>>2];J[c+180>>2]=d;d=J[b+948>>2];J[c+200>>2]=J[b+944>>2];J[c+204>>2]=d;d=J[b+940>>2];J[c+192>>2]=J[b+936>>2];J[c+196>>2]=d}if(!k){break a}d=K[b+180|0];f=N[(d?824:888)+b>>2];d=d?b+824|0:b+888|0;o=N[d+48>>2];t=N[d+8>>2];p=N[d+4>>2];n=N[d+52>>2];u=N[d+24>>2];g=N[d+16>>2];r=N[d+20>>2];s=N[d+56>>2];v=N[d+40>>2];i=N[d+32>>2];x=N[d+36>>2];l=N[b+184>>2];J[c+76>>2]=0;v=Q(v*Q(0));y=Q(x*Q(0));N[c+72>>2]=s+Q(v+Q(Q(l*i)+y));u=Q(u*Q(0));z=Q(r*Q(0));N[c+68>>2]=n+Q(u+Q(Q(l*g)+z));t=Q(t*Q(0));A=Q(p*Q(0));N[c+64>>2]=o+Q(t+Q(Q(l*f)+A));l=N[b+188>>2];J[c+140>>2]=0;N[c+136>>2]=s+Q(v+Q(Q(l*i)+y));N[c+132>>2]=n+Q(u+Q(Q(l*g)+z));N[c+128>>2]=o+Q(t+Q(Q(l*f)+A));d=va[J[J[a>>2]+20>>2]](a)|0;j=c+208|0;va[J[J[d>>2]+16>>2]](d,c- -64|0,c+128|0,j);J[c+60>>2]=0;N[c+56>>2]=i;N[c+52>>2]=g;N[c+48>>2]=f;J[c+44>>2]=0;N[c+40>>2]=x;N[c+36>>2]=r;N[c+32>>2]=p;f=N[b+196>>2];g=N[b+192>>2];a=va[J[J[a>>2]+20>>2]](a)|0;va[J[J[a>>2]+68>>2]](a,b+936|0,c+48|0,c+32|0,w,w,g,f,j,1,Q(10))}ta=c+352|0}function Sf(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=Q(0),g=0,h=Q(0),i=0,j=Q(0),k=Q(0),l=Q(0),m=Q(0),n=Q(0),o=Q(0),p=0,q=Q(0),r=0,s=0,t=0,u=Q(0),v=Q(0),w=Q(0),x=Q(0),y=0,z=Q(0),A=Q(0),B=Q(0),C=Q(0),D=Q(0),E=Q(0),F=Q(0),G=Q(0),H=Q(0),I=Q(0),K=0,L=0,M=Q(0),O=Q(0),S=Q(0),T=Q(0),U=Q(0),V=0,W=Q(0),X=Q(0),Z=Q(0),_=Q(0),$=Q(0),aa=Q(0),ba=Q(0),ca=Q(0),da=0,ea=Q(0),fa=Q(0),ga=Q(0),ha=Q(0),ia=Q(0),ja=Q(0),ka=Q(0),la=Q(0),ma=0,na=0,oa=0,pa=0,qa=0,ra=Q(0),sa=0,ua=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=Q(0);d=ta-160|0;ta=d;p=b- -64|0;while(1){e=i<<4;s=e+b|0;t=d+112|0;N[t+e>>2]=N[s>>2];g=d- -64|0;r=e+p|0;N[g+e>>2]=N[r>>2];L=e|4;N[L+t>>2]=N[s+4>>2];N[g+L>>2]=N[r+4>>2];e=e|8;N[e+t>>2]=N[s+8>>2];N[e+g>>2]=N[r+8>>2];i=i+1|0;if((i|0)!=3){continue}break}e=J[a+4>>2];h=N[e+44>>2];f=N[e+40>>2];l=N[e+36>>2];j=Q(va[J[J[e>>2]+48>>2]](e));k=Q(va[J[J[e>>2]+48>>2]](e));m=Q(va[J[J[e>>2]+48>>2]](e));J[d+36>>2]=0;f=Q(f+k);N[d+28>>2]=f+f;f=Q(l+j);N[d+24>>2]=f+f;h=Q(h+m);N[d+32>>2]=h+h;a=J[a+8>>2];h=N[a+44>>2];f=N[a+40>>2];l=N[a+36>>2];j=Q(va[J[J[a>>2]+48>>2]](a));k=Q(va[J[J[a>>2]+48>>2]](a));m=Q(va[J[J[a>>2]+48>>2]](a));J[d+20>>2]=0;f=Q(f+k);N[d+12>>2]=f+f;f=Q(l+j);N[d+8>>2]=f+f;h=Q(h+m);N[d+16>>2]=h+h;r=d+48|0;L=c;c=0;e=0;g=ta-384|0;ta=g;a=d+112|0;F=N[a+36>>2];ca=N[a+4>>2];C=N[a+20>>2];v=N[a+40>>2];ka=N[a+8>>2];G=N[a+24>>2];s=b+48|0;l=N[s+8>>2];i=b+112|0;j=N[i+8>>2];k=N[s>>2];q=N[i>>2];w=N[s+4>>2];z=N[i+4>>2];h=N[a+32>>2];la=N[a>>2];f=N[a+16>>2];m=Q(N[d+24>>2]*Q(.5));N[g+372>>2]=m;o=Q(N[d+28>>2]*Q(.5));N[g+376>>2]=o;n=Q(N[d+32>>2]*Q(.5));N[g+380>>2]=n;u=Q(N[d+8>>2]*Q(.5));N[g+360>>2]=u;D=Q(N[d+12>>2]*Q(.5));N[g+364>>2]=D;x=Q(N[d+16>>2]*Q(.5));N[g+368>>2]=x;l=Q(j-l);j=Q(q-k);k=Q(z-w);q=Q(Q(h*l)+Q(Q(la*j)+Q(f*k)));b=d- -64|0;W=N[b+40>>2];X=N[b+8>>2];H=N[b+24>>2];w=Q(Q(h*W)+Q(Q(la*X)+Q(f*H)));ea=Q(R(w));O=N[b+36>>2];A=N[b+4>>2];Z=N[b+20>>2];z=Q(Q(h*O)+Q(Q(la*A)+Q(f*Z)));fa=Q(R(z));_=N[b+32>>2];$=N[b>>2];aa=N[b+16>>2];E=Q(Q(h*_)+Q(Q(la*$)+Q(f*aa)));ra=Q(R(E));f=Q(Q(R(q))-Q(Q(x*ea)+Q(Q(D*fa)+Q(Q(u*ra)+m))));a:{if(f>Q(0)){break a}S=Q(Q(F*W)+Q(Q(ca*X)+Q(C*H)));ga=Q(R(S));T=Q(Q(F*O)+Q(Q(ca*A)+Q(C*Z)));I=Q(R(T));U=Q(Q(F*_)+Q(Q(ca*$)+Q(C*aa)));ha=Q(R(U));h=Q(-34028234663852886e22);if(f>Q(-34028234663852886e22)){h=f;e=a;y=1;c=qQ(0)){break a}C=Q(Q(v*W)+Q(Q(ka*X)+Q(G*H)));ia=Q(R(C));M=Q(Q(v*O)+Q(Q(ka*A)+Q(G*Z)));ja=Q(R(M));B=Q(Q(v*_)+Q(Q(ka*$)+Q(G*aa)));ba=Q(R(B));if(f>h){e=a+4|0;h=f;y=2;c=FQ(0)){break a}if(f>h){e=a+8|0;h=f;y=3;c=vQ(0)){break a}if(f>h){h=f;e=b;y=4;c=GQ(0)){break a}if(f>h){e=b+4|0;h=f;y=5;c=GQ(0)){break a}if(f>h){e=b+8|0;h=f;y=6;c=lQ(1.1920928955078125e-7)){break a}G=Q(ja+Q(9999999747378752e-21));W=Q(I+Q(9999999747378752e-21));X=Q(ra+Q(9999999747378752e-21));I=Q(-F);j=Q(0);ha=Q(U*U);ja=Q(Q(B*B)+Q(0));H=Q(Y(Q(ha+ja)));b:{if(!(H>Q(1.1920928955078125e-7))){k=Q(0);l=Q(0);break b}k=Q(0);f=Q(f/H);l=Q(0);if(!(Q(f*Q(1.0499999523162842))>h)){break b}c=OQ(1.1920928955078125e-7)){break a}H=Q(ia+Q(9999999747378752e-21));O=Q(ga+Q(9999999747378752e-21));ga=Q(T*T);ia=Q(Q(M*M)+Q(0));A=Q(Y(Q(ga+ia)));c:{if(!(A>Q(1.1920928955078125e-7))){break c}f=Q(f/A);if(!(Q(f*Q(1.0499999523162842))>h)){break c}c=baQ(1.1920928955078125e-7)){break a}ba=Q(S*S);ea=Q(Q(C*C)+Q(0));A=Q(Y(Q(ba+ea)));d:{if(!(A>Q(1.1920928955078125e-7))){break d}f=Q(f/A);if(!(Q(f*Q(1.0499999523162842))>h)){break d}c=IQ(1.1920928955078125e-7)){break a}A=Q(-v);fa=Q(E*E);v=Q(Y(Q(fa+ja)));e:{if(!(v>Q(1.1920928955078125e-7))){break e}f=Q(f/v);if(!(Q(f*Q(1.0499999523162842))>h)){break e}c=IQ(1.1920928955078125e-7)){break a}I=Q(z*z);B=Q(Y(Q(I+ia)));f:{if(!(B>Q(1.1920928955078125e-7))){break f}f=Q(f/B);if(!(Q(f*Q(1.0499999523162842))>h)){break f}c=vQ(1.1920928955078125e-7)){break a}B=Q(w*w);n=Q(Y(Q(B+ea)));g:{if(!(n>Q(1.1920928955078125e-7))){break g}f=Q(f/n);if(!(Q(f*Q(1.0499999523162842))>h)){break g}c=MQ(1.1920928955078125e-7)){break a}q=Q(-q);n=Q(Y(Q(Q(ha+fa)+Q(0))));h:{if(!(n>Q(1.1920928955078125e-7))){break h}f=Q(f/n);if(!(Q(f*Q(1.0499999523162842))>h)){break h}c=CQ(1.1920928955078125e-7)){break a}n=Q(Y(Q(Q(ga+I)+Q(0))));i:{if(!(n>Q(1.1920928955078125e-7))){break i}f=Q(f/n);if(!(Q(f*Q(1.0499999523162842))>h)){break i}c=EQ(1.1920928955078125e-7)){break a}j:{k:{l:{m:{m=Q(Y(Q(Q(ba+B)+Q(0))));if(!(m>Q(1.1920928955078125e-7))){break m}f=Q(f/m);if(!(Q(f*Q(1.0499999523162842))>h)){break m}c=n>2]=m;o=Q(Q(N[a+24>>2]*k)+Q(Q(N[a+16>>2]*j)+Q(l*N[a+20>>2])));N[r+4>>2]=o;h=Q(Q(N[a+40>>2]*k)+Q(Q(N[a+32>>2]*j)+Q(l*N[a+36>>2])));break j}m=N[e>>2];N[r>>2]=m;o=N[e+16>>2];N[r+4>>2]=o;f=h;h=N[e+32>>2]}N[r+8>>2]=h;if(c){N[r+8>>2]=-h;N[r+4>>2]=-o;N[r>>2]=-m}N[d+44>>2]=-f;if(y>>>0>=7){J[g+120>>2]=J[s+8>>2];c=J[s+4>>2];J[g+112>>2]=J[s>>2];J[g+116>>2]=c;h=N[r+8>>2];l=N[r+4>>2];j=N[r>>2];p=0;while(1){c=p<<2;k=N[c+(g+372|0)>>2];c=a+c|0;k=Q(Q(h*N[c+32>>2])+Q(Q(j*N[c>>2])+Q(l*N[c+16>>2])))>Q(0)?k:Q(-k);s=0;while(1){c=s<<2;e=c+(g+112|0)|0;N[e>>2]=Q(k*N[(c+p<<2)+a>>2])+N[e>>2];s=s+1|0;if((s|0)!=3){continue}break}p=p+1|0;if((p|0)!=3){continue}break}J[g+216>>2]=J[i+8>>2];c=J[i+4>>2];J[g+208>>2]=J[i>>2];J[g+212>>2]=c;c=0;while(1){e=c<<2;k=N[e+(g+360|0)>>2];e=b+e|0;k=Q(Q(h*N[e+32>>2])+Q(Q(j*N[e>>2])+Q(l*N[e+16>>2])))>Q(0)?Q(-k):k;s=0;while(1){e=s<<2;i=e+(g+208|0)|0;N[i>>2]=Q(k*N[b+(c+e<<2)>>2])+N[i>>2];s=s+1|0;if((s|0)!=3){continue}break}c=c+1|0;if((c|0)!=3){continue}break}e=y-7|0;c=(e>>>0)/3|0;s=0;while(1){i=s<<2;N[i+(g+288|0)>>2]=N[(c+i<<2)+a>>2];s=s+1|0;if((s|0)!=3){continue}break}c=e-P(c,3)|0;a=0;while(1){e=a<<2;N[e+(g+80|0)>>2]=N[b+((c|e)<<2)>>2];a=a+1|0;if((a|0)!=3){continue}break}m=Q(0);o=N[g+296>>2];n=N[g+88>>2];u=N[g+288>>2];D=N[g+80>>2];x=N[g+292>>2];q=N[g+84>>2];k=Q(Q(o*n)+Q(Q(u*D)+Q(x*q)));w=Q(Q(1)-Q(k*k));if(w<=Q(9999999747378752e-20)){q=Q(0)}else{w=Q(Q(1)/w);m=Q(N[g+216>>2]-N[g+120>>2]);v=Q(o*m);o=Q(N[g+208>>2]-N[g+112>>2]);z=Q(u*o);u=Q(N[g+212>>2]-N[g+116>>2]);x=Q(v+Q(z+Q(x*u)));o=Q(Q(n*m)+Q(Q(D*o)+Q(q*u)));m=Q(w*Q(Q(k*x)-o));q=Q(w*Q(x-Q(k*o)))}N[g+344>>2]=q;N[g+328>>2]=m;a=0;k=N[g+344>>2];while(1){b=a<<2;c=b+(g+112|0)|0;N[c>>2]=Q(N[b+(g+288|0)>>2]*k)+N[c>>2];a=a+1|0;if((a|0)!=3){continue}break}a=0;k=N[g+328>>2];while(1){b=a<<2;c=b+(g+208|0)|0;N[c>>2]=Q(N[b+(g+80|0)>>2]*k)+N[c>>2];a=a+1|0;if((a|0)!=3){continue}break}J[g+44>>2]=0;N[g+40>>2]=-h;N[g+36>>2]=-l;N[g+32>>2]=-j;va[J[J[L>>2]+16>>2]](L,g+32|0,g+208|0,f);J[d+40>>2]=y;break a}h=N[r>>2];n:{if(y>>>0<=3){l=N[r+4>>2];na=g+372|0;c=i;t=b;f=N[r+8>>2];e=g+360|0;break n}h=Q(-h);l=Q(-N[r+4>>2]);na=g+360|0;c=s;s=i;t=a;a=b;f=Q(-N[r+8>>2]);e=g+372|0}k=Q(Q(N[t+32>>2]*f)+Q(Q(N[t>>2]*h)+Q(l*N[t+16>>2])));N[g+344>>2]=k;m=Q(Q(N[t+36>>2]*f)+Q(Q(N[t+4>>2]*h)+Q(l*N[t+20>>2])));N[g+348>>2]=m;j=Q(Q(N[t+40>>2]*f)+Q(Q(N[t+8>>2]*h)+Q(l*N[t+24>>2])));N[g+352>>2]=j;j=Q(R(j));m=Q(R(m));k=Q(R(k));o:{if(m>k){b=j>2];j=N[i+(g+344|0)>>2]>2]=Q(j*N[((p|K)<<2)+t>>2])+Q(N[c+K>>2]-N[s+K>>2]);i=i+1|0;if((i|0)!=3){continue}break}wa=b?2:1;b=1;i=2;p:{q:{r:{xa=(y>>>0<4?-1:-4)+y|0;switch(xa|0){case 0:break p;case 1:break r;default:break q}}b=0;break p}i=1;b=0}c=b<<2;b=c+a|0;j=N[b+32>>2];k=N[b>>2];m=N[b+16>>2];q=N[g+336>>2];b=i<<2;a=b+a|0;o=N[a+32>>2];w=N[g+328>>2];n=N[a>>2];z=N[g+332>>2];u=N[a+16>>2];D=Q(Q(q*o)+Q(Q(w*n)+Q(z*u)));i=da<<2;a=i+t|0;E=N[a+32>>2];S=N[a>>2];T=N[a+16>>2];x=Q(Q(o*E)+Q(Q(n*S)+Q(u*T)));U=N[e+i>>2];F=Q(x*U);C=Q(D+F);i=wa<<2;a=i+t|0;M=N[a+32>>2];B=N[a>>2];v=N[a+16>>2];n=Q(Q(o*M)+Q(Q(n*B)+Q(u*v)));ca=N[e+i>>2];o=Q(n*ca);N[g+316>>2]=C-o;u=Q(Q(q*j)+Q(Q(w*k)+Q(z*m)));q=Q(Q(j*E)+Q(Q(k*S)+Q(m*T)));z=Q(U*q);E=Q(u+z);w=Q(Q(j*M)+Q(Q(k*B)+Q(m*v)));j=Q(ca*w);N[g+312>>2]=E-j;N[g+308>>2]=C+o;N[g+304>>2]=E+j;k=Q(D-F);N[g+300>>2]=k+o;m=Q(u-z);N[g+296>>2]=m+j;N[g+292>>2]=k-o;N[g+288>>2]=m-j;N[g+280>>2]=N[c+na>>2];N[g+284>>2]=N[b+na>>2];ya=g+280|0;b=g+288|0;p=0;sa=ta+-64|0;ta=sa;e=4;K=1;ma=g+208|0;a=ma;while(1){za=p^1;oa=p<<2;ua=ya+oa|0;pa=-1;s:{while(1){i=a;c=0;if((e|0)>0){k=Q(pa|0);p=i;a=b;while(1){j=N[ua>>2];V=a+oa|0;m=N[V>>2];o=Q(m*k);if(j>o){N[p>>2]=N[a>>2];N[p+4>>2]=N[a+4>>2];c=c+1|0;if(c&8){break s}m=N[V>>2];o=Q(m*k);j=N[ua>>2];p=p+8|0}V=a+8|0;qa=e>>>0>1?V:b;z=N[qa+oa>>2];if((Q(z*k)o|0)){Aa=a;a=za<<2;o=N[Aa+a>>2];N[a+p>>2]=Q(Q(Q(N[a+qa>>2]-o)/Q(z-m))*Q(Q(k*j)-m))+o;N[p+oa>>2]=N[ua>>2]*k;c=c+1|0;if(c&8){break s}p=p+8|0}qa=(e|0)>1;e=e-1|0;a=V;if(qa){continue}break}}a=(i|0)==(ma|0)?sa:ma;p=(pa|0)<0;pa=pa+2|0;b=i;e=c;if(p){continue}break}p=1;V=K;K=0;if(V){continue}}break}if((i|0)!=(ma|0)){Pa(ma,i,c<<3)}ta=sa- -64|0;t:{if((c|0)<=0){break t}b=c;j=Q(Q(1)/Q(Q(q*n)-Q(x*w)));k=Q(j*Q(-x));m=Q(j*Q(-w));o=Q(n*j);j=Q(q*j);n=N[(xa<<2)+na>>2];c=0;e=0;while(1){a=(g+208|0)+(e<<3)|0;x=N[a>>2];q=Q(x-u);w=N[a+4>>2];z=Q(w-D);E=Q(Q(k*q)+Q(j*z));q=Q(Q(o*q)+Q(m*z));i=P(c,3);a=0;while(1){p=a<<2;N[(g+112|0)+(a+i<<2)>>2]=Q(E*N[((p|wa)<<2)+t>>2])+Q(Q(q*N[((p|da)<<2)+t>>2])+N[p+(g+328|0)>>2]);a=a+1|0;if((a|0)!=3){continue}break}a=(g+112|0)+(i<<2)|0;q=Q(n-Q(Q(f*N[a+8>>2])+Q(Q(h*N[a>>2])+Q(l*N[a+4>>2]))));N[(g+80|0)+(c<<2)>>2]=q;if(q>=Q(0)){a=(g+208|0)+(c<<3)|0;N[a+4>>2]=w;N[a>>2]=x;c=c+1|0}e=e+1|0;if((b|0)!=(e|0)){continue}break}if((c|0)<=0){break t}a=(c|0)>=4?4:c;da=(a|0)<=1?1:a;u:{if(da>>>0>=c>>>0){if(y>>>0>=4){i=0;while(1){e=P(i,3);h=N[(g+80|0)+(i<<2)>>2];a=0;while(1){b=a<<2;N[b+(g+32|0)>>2]=Q(N[(g+112|0)+(a+e<<2)>>2]+N[b+s>>2])-Q(N[b+r>>2]*h);a=a+1|0;if((a|0)!=3){continue}break}f=N[r>>2];l=N[r+4>>2];j=N[r+8>>2];J[g+76>>2]=0;N[g+72>>2]=-j;N[g+68>>2]=-l;N[g+64>>2]=-f;va[J[J[L>>2]+16>>2]](L,g- -64|0,g+32|0,Q(-h));i=i+1|0;if((i|0)!=(c|0)){continue}break}break u}i=0;while(1){b=P(i,3);a=0;while(1){e=a<<2;N[e+(g+32|0)>>2]=N[(g+112|0)+(a+b<<2)>>2]+N[e+s>>2];a=a+1|0;if((a|0)!=3){continue}break}h=N[r>>2];f=N[r+4>>2];l=N[r+8>>2];J[g+76>>2]=0;N[g+72>>2]=-l;N[g+68>>2]=-f;N[g+64>>2]=-h;va[J[J[L>>2]+16>>2]](L,g- -64|0,g+32|0,Q(-N[(g+80|0)+(i<<2)>>2]));i=i+1|0;if((i|0)!=(c|0)){continue}break}break u}b=0;if(c>>>0>=2){l=N[g+80>>2];a=1;while(1){h=N[(g+80|0)+(a<<2)>>2];e=h>l;l=e?h:l;b=e?a:b;a=a+1|0;if((c|0)!=(a|0)){continue}break}}a=g+208|0;e=g+32|0;i=0;h=Q(0);f=Q(0);l=Q(0);t=ta+-64|0;ta=t;v:{w:{x:{switch(c-1|0){default:if((c|0)>=2){K=c-2|0;while(1){p=a+(i<<3)|0;k=N[p>>2];m=N[p+12>>2];o=N[p+4>>2];n=N[p+8>>2];j=Q(Q(k*m)-Q(o*n));h=Q(h+j);f=Q(Q(j*Q(m+o))+f);l=Q(Q(j*Q(k+n))+l);p=(i|0)!=(K|0);i=i+1|0;if(p){continue}break}}k=Q(0xde0b6b000000000);q=h;i=a+(c<<3)|0;j=N[i-8>>2];m=N[a+4>>2];o=N[i-4>>2];n=N[a>>2];h=Q(Q(j*m)-Q(o*n));u=Q(q+h);if(Q(R(u))>Q(1.1920928955078125e-7)){k=Q(Q(1)/Q(u*Q(3)))}p=0;if((c|0)<=0){break v}f=Q(Q(Q(h*Q(m+o))+f)*k);h=Q(Q(Q(h*Q(j+n))+l)*k);break w;case 0:f=N[a+4>>2];h=N[a>>2];break w;case 1:break x}}f=Q(Q(N[a+4>>2]+N[a+12>>2])*Q(.5));h=Q(Q(N[a>>2]+N[a+8>>2])*Q(.5))}i=0;while(1){p=a+(i<<3)|0;Ba=(t+32|0)+(i<<2)|0,Ca=Qa(Q(N[p+4>>2]-f),Q(N[p>>2]-h)),N[Ba>>2]=Ca;i=i+1|0;if((i|0)!=(c|0)){continue}break}i=0;while(1){p=1;J[t+(i<<2)>>2]=1;i=i+1|0;if((i|0)!=(c|0)){continue}break}}a=b<<2;J[a+t>>2]=0;J[e>>2]=b;if((da|0)>=2){l=Q(Q(6.2831854820251465)/Q(da|0));j=N[a+(t+32|0)>>2];K=1;while(1){J[e+4>>2]=b;e=e+4|0;a=b;if(p){h=Q(Q(Q(K|0)*l)+j);k=h>Q(3.1415927410125732)?Q(h+Q(-6.2831854820251465)):h;i=0;h=Q(1e9);while(1){V=i<<2;y:{if(!J[V+t>>2]){break y}f=Q(R(Q(N[V+(t+32|0)>>2]-k)));f=f>Q(3.1415927410125732)?Q(Q(6.2831854820251465)-f):f;if(!(f>2]=i;a=i;h=f}i=i+1|0;if((i|0)!=(c|0)){continue}break}}J[t+(a<<2)>>2]=0;K=K+1|0;if((da|0)!=(K|0)){continue}break}}ta=t- -64|0;p=0;while(1){b=J[(g+32|0)+(p<<2)>>2];c=P(b,3);a=0;while(1){e=a<<2;N[e+(g- -64|0)>>2]=N[(g+112|0)+(a+c<<2)>>2]+N[e+s>>2];a=a+1|0;if((a|0)!=3){continue}break}a=(g+80|0)+(b<<2)|0;z:{if(y>>>0<=3){h=N[r>>2];f=N[r+4>>2];l=N[r+8>>2];J[g+28>>2]=0;N[g+24>>2]=-l;N[g+20>>2]=-f;N[g+16>>2]=-h;va[J[J[L>>2]+16>>2]](L,g+16|0,g- -64|0,Q(-N[a>>2]));break z}f=N[r>>2];l=N[r+4>>2];j=N[r+8>>2];J[g+28>>2]=0;N[g+24>>2]=-j;N[g+20>>2]=-l;N[g+16>>2]=-f;h=N[a>>2];J[g+12>>2]=0;N[g+8>>2]=N[g+72>>2]-Q(j*h);N[g+4>>2]=N[g+68>>2]-Q(l*h);N[g>>2]=N[g+64>>2]-Q(f*h);va[J[J[L>>2]+16>>2]](L,g+16|0,g,Q(-h))}p=p+1|0;if((da|0)!=(p|0)){continue}break}}J[d+40>>2]=y}}ta=g+384|0;ta=d+160|0}function aj(a,b,c,d,e,f,g,h,i){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=Q(0),l=0,m=Q(0),n=Q(0),o=Q(0),p=Q(0),q=0,r=Q(0),s=Q(0),t=0,u=Q(0),v=Q(0),w=Q(0),x=Q(0),y=Q(0),z=Q(0),A=Q(0),B=Q(0),C=Q(0),D=0,E=0,F=Q(0),G=Q(0),I=Q(0),L=0,M=Q(0),O=Q(0),S=Q(0),T=Q(0),U=Q(0),V=Q(0),W=Q(0),X=Q(0),Z=Q(0),_=0,$=0,aa=Q(0),ba=Q(0),ca=Q(0),da=0,ea=0,fa=0,ga=0,ha=Q(0),ia=Q(0),ja=Q(0),ka=Q(0),la=Q(0),ma=Q(0),na=Q(0);q=ta-256|0;ta=q;J[a+188>>2]=-1;Na(5389);i=J[h+72>>2];if((i|0)!=J[a+224>>2]){J[a+224>>2]=i;J[a+220>>2]=958;J[a+216>>2]=957;J[a+212>>2]=956}i=0;J[a+184>>2]=0;if((c|0)>0){while(1){J[J[(i<<2)+b>>2]+212>>2]=-1;i=i+1|0;if((i|0)!=(c|0)){continue}break}}D=J[a+12>>2];if((D|0)<=(c|0)){D=c+1|0;if(D){i=Ga(P(D,244))}else{i=0}L=J[a+8>>2];if((L|0)>0){while(1){l=P(t,244);j=l+i|0;l=l+J[a+16>>2]|0;E=J[l+4>>2];J[j>>2]=J[l>>2];J[j+4>>2]=E;E=J[l+12>>2];J[j+8>>2]=J[l+8>>2];J[j+12>>2]=E;E=J[l+28>>2];J[j+24>>2]=J[l+24>>2];J[j+28>>2]=E;E=J[l+20>>2];J[j+16>>2]=J[l+16>>2];J[j+20>>2]=E;E=J[l+44>>2];J[j+40>>2]=J[l+40>>2];J[j+44>>2]=E;E=J[l+36>>2];J[j+32>>2]=J[l+32>>2];J[j+36>>2]=E;E=J[l+52>>2];J[j+48>>2]=J[l+48>>2];J[j+52>>2]=E;E=J[l+60>>2];J[j+56>>2]=J[l+56>>2];J[j+60>>2]=E;Pa(j- -64|0,l- -64|0,180);t=t+1|0;if((L|0)!=(t|0)){continue}break}}j=J[a+16>>2];if(!(!j|!K[a+20|0])){Fa(j)}J[a+16>>2]=i;H[a+20|0]=1;J[a+12>>2]=D}Ka(q+8|0,0,244);t=J[a+8>>2];if((t|0)<0){if((D|0)<0){i=J[a+16>>2];if(!(!i|!K[a+20|0])){Fa(i)}H[a+20|0]=1;J[a+12>>2]=0;J[a+16>>2]=0}j=q+72|0;while(1){i=J[a+16>>2]+P(t,244)|0;J[i>>2]=0;J[i+4>>2]=0;J[i+8>>2]=0;J[i+12>>2]=0;l=J[q+36>>2];J[i+24>>2]=J[q+32>>2];J[i+28>>2]=l;l=J[q+28>>2];J[i+16>>2]=J[q+24>>2];J[i+20>>2]=l;l=J[q+44>>2];J[i+32>>2]=J[q+40>>2];J[i+36>>2]=l;l=J[q+52>>2];J[i+40>>2]=J[q+48>>2];J[i+44>>2]=l;l=J[q+60>>2];J[i+48>>2]=J[q+56>>2];J[i+52>>2]=l;l=J[q+68>>2];J[i+56>>2]=J[q+64>>2];J[i+60>>2]=l;Pa(i- -64|0,j,180);t=t+1|0;if(t){continue}break}}J[a+8>>2]=0;if((c|0)>0){t=0;while(1){i=(t<<2)+b|0;l=pb(a,J[i>>2],N[h+12>>2]);i=J[i>>2];a:{if(!i|!(J[i+252>>2]&2)|N[i+404>>2]==Q(0)){break a}D=J[a+16>>2];j=J[i+564>>2];if(j&2){y=N[h+84>>2];k=N[i+396>>2];n=N[i+44>>2];o=N[i+40>>2];m=N[i+36>>2];p=N[i+392>>2];s=N[i+28>>2];u=N[i+12>>2];v=N[i+464>>2];z=N[i+24>>2];A=N[i+8>>2];B=N[i+460>>2];w=N[i+20>>2];r=N[i+388>>2];x=N[i+4>>2];C=N[i+456>>2];J[q+20>>2]=0;G=v!=Q(0)?Q(Q(1)/v):Q(0);v=Q(s*G);C=C!=Q(0)?Q(Q(1)/C):Q(0);F=Q(w*C);B=B!=Q(0)?Q(Q(1)/B):Q(0);I=Q(z*B);S=Q(Q(k*Q(Q(n*v)+Q(Q(m*F)+Q(o*I))))+Q(Q(r*Q(Q(u*v)+Q(Q(x*F)+Q(A*I))))+Q(p*Q(Q(s*v)+Q(Q(w*F)+Q(z*I))))));v=Q(G*u);F=Q(C*x);I=Q(B*A);F=Q(Q(k*Q(Q(n*v)+Q(Q(m*F)+Q(o*I))))+Q(Q(r*Q(Q(u*v)+Q(Q(x*F)+Q(A*I))))+Q(p*Q(Q(s*v)+Q(Q(w*F)+Q(I*z))))));v=Q(Q(r*S)-Q(p*F));N[q+16>>2]=v;X=n;n=Q(G*n);Z=m;m=Q(C*m);M=o;o=Q(B*o);n=Q(Q(k*Q(Q(X*n)+Q(Q(Z*m)+Q(M*o))))+Q(Q(r*Q(Q(u*n)+Q(Q(x*m)+Q(A*o))))+Q(p*Q(Q(s*n)+Q(Q(w*m)+Q(z*o))))));r=Q(Q(k*F)-Q(r*n));N[q+12>>2]=r;k=Q(Q(p*n)-Q(S*k));N[q+8>>2]=k;p=Q(Q(v*v)+Q(Q(k*k)+Q(r*r)));if(p>Q(y*y)){p=Q(Q(Q(1)/Q(Y(p)))*y);N[q+16>>2]=v*p;N[q+12>>2]=r*p;N[q+8>>2]=k*p}o=N[i+364>>2];m=N[i+332>>2];s=N[i+348>>2];u=N[i+360>>2];z=N[i+328>>2];A=N[i+344>>2];j=D+P(l,244)|0;k=N[q+16>>2];p=N[q+8>>2];r=N[q+12>>2];n=N[h+12>>2];N[j+224>>2]=N[j+224>>2]-Q(Q(Q(N[i+356>>2]*k)+Q(Q(N[i+324>>2]*p)+Q(r*N[i+340>>2])))*n);N[j+228>>2]=N[j+228>>2]-Q(n*Q(Q(u*k)+Q(Q(z*p)+Q(r*A))));N[j+232>>2]=N[j+232>>2]-Q(n*Q(Q(o*k)+Q(Q(m*p)+Q(r*s))));j=J[i+564>>2]}if(j&4){k=N[h+12>>2];j=ta-80|0;ta=j;p=N[i+396>>2];s=N[i+44>>2];u=N[i+40>>2];z=N[i+36>>2];r=N[i+392>>2];A=N[i+28>>2];w=N[i+12>>2];o=N[i+464>>2];x=N[i+24>>2];y=N[i+8>>2];m=N[i+460>>2];v=N[i+20>>2];n=N[i+388>>2];B=N[i+4>>2];C=N[i+456>>2];J[j+76>>2]=0;T=o!=Q(0)?Q(Q(1)/o):Q(0);o=Q(A*T);U=C!=Q(0)?Q(Q(1)/C):Q(0);C=Q(v*U);W=m!=Q(0)?Q(Q(1)/m):Q(0);m=Q(x*W);F=Q(Q(s*o)+Q(Q(z*C)+Q(u*m)));aa=Q(p*F);I=Q(Q(w*o)+Q(Q(B*C)+Q(y*m)));ba=Q(n*I);C=Q(Q(A*o)+Q(Q(v*C)+Q(x*m)));o=Q(aa+Q(ba+Q(r*C)));m=Q(T*w);O=Q(U*B);V=Q(W*y);S=Q(Q(s*m)+Q(Q(z*O)+Q(u*V)));ca=Q(p*S);G=Q(Q(w*m)+Q(Q(B*O)+Q(y*V)));O=Q(Q(A*m)+Q(Q(v*O)+Q(V*x)));V=Q(r*O);m=Q(ca+Q(Q(n*G)+V));M=s;s=Q(T*s);T=Q(U*z);U=Q(W*u);u=Q(Q(M*s)+Q(Q(z*T)+Q(u*U)));z=Q(Q(w*s)+Q(Q(B*T)+Q(y*U)));y=Q(n*z);A=Q(Q(A*s)+Q(Q(v*T)+Q(x*U)));x=Q(r*A);s=Q(Q(p*u)+Q(y+x));w=Q(k*Q(0));N[j+72>>2]=Q(Q(Q(Q(n*o)-Q(r*m))*k)+s)-Q(w+s);N[j+68>>2]=Q(o+Q(Q(Q(p*m)-Q(s*n))*k))-Q(w+o);N[j+64>>2]=Q(m+Q(Q(Q(r*s)-Q(o*p))*k))-Q(w+m);J[j+60>>2]=0;N[j+56>>2]=u+Q(Q(Q(u*Q(0))+Q(Q(n*F)-Q(S*r)))*k);N[j+52>>2]=A+Q(Q(Q(Q(A*Q(0))+Q(Q(n*C)-V))-m)*k);J[j+44>>2]=0;N[j+40>>2]=F+Q(Q(m+Q(Q(ca+Q(F*Q(0)))-Q(u*n)))*k);N[j+36>>2]=C+Q(Q(Q(Q(O*p)+Q(C*Q(0)))-Q(A*n))*k);N[j+48>>2]=z+Q(Q(o+Q(Q(z*Q(0))+Q(ba-Q(G*r))))*k);N[j+32>>2]=I+Q(Q(Q(Q(Q(G*p)+Q(I*Q(0)))-y)-s)*k);J[j+28>>2]=0;N[j+24>>2]=S+Q(Q(Q(Q(u*r)+Q(Q(S*Q(0))-aa))-o)*k);N[j+20>>2]=O+Q(Q(Q(x+Q(Q(O*Q(0))-Q(C*p)))+s)*k);N[j+16>>2]=G+Q(Q(Q(z*r)+Q(Q(G*Q(0))-Q(I*p)))*k);pe(j,j+16|0,j- -64|0);k=N[j>>2];o=N[j+4>>2];m=N[j+8>>2];J[q+20>>2]=0;N[q+16>>2]=Q(p-m)-p;N[q+12>>2]=Q(r-o)-r;N[q+8>>2]=Q(n-k)-n;ta=j+80|0;k=N[q+16>>2];p=N[q+12>>2];j=D+P(l,244)|0;N[j+224>>2]=N[q+8>>2]+N[j+224>>2];N[j+228>>2]=p+N[j+228>>2];N[j+232>>2]=k+N[j+232>>2];j=J[i+564>>2]}if(!(j&8)){break a}k=N[h+12>>2];j=ta-96|0;ta=j;C=N[i+464>>2];w=N[i+460>>2];u=N[i+396>>2];z=N[i+392>>2];v=N[i+456>>2];A=N[i+388>>2];Ab(i+4|0,j+80|0);n=N[j+84>>2];o=N[j+80>>2];m=N[j+92>>2];s=N[j+88>>2];J[j+76>>2]=0;B=Q(Q(o*u)+Q(Q(m*z)-Q(A*s)));G=Q(Q(s*u)+Q(Q(o*A)+Q(z*n)));F=Q(Q(s*z)+Q(Q(m*A)-Q(u*n)));I=Q(Q(n*A)+Q(Q(m*u)-Q(z*o)));p=Q(Q(Q(s*B)+Q(Q(o*G)+Q(m*F)))-Q(n*I));r=Q(Q(Q(F*n)+Q(Q(G*s)+Q(m*I)))-Q(B*o));x=Q(r*Q(0));y=Q(p*Q(0));w=w!=Q(0)?Q(Q(1)/w):Q(0);n=Q(Q(Q(I*o)+Q(Q(G*n)+Q(m*B)))-Q(F*s));s=Q(x+Q(y+Q(w*n)));o=v!=Q(0)?Q(Q(1)/v):Q(0);v=Q(n*Q(0));B=Q(x+Q(Q(o*p)+v));N[j+72>>2]=Q(Q(p*s)-Q(B*n))*k;m=C!=Q(0)?Q(Q(1)/C):Q(0);C=Q(Q(m*r)+Q(y+v));N[j+68>>2]=Q(Q(r*B)-Q(C*p))*k;N[j+64>>2]=Q(Q(n*C)-Q(s*r))*k;J[j+60>>2]=0;G=Q(n*Q(-0));N[j+56>>2]=m+Q(Q(Q(m*Q(0))+Q(G+y))*k);N[j+52>>2]=Q(Q(Q(Q(G+Q(w*p))+Q(0))-B)*k)+Q(0);J[j+44>>2]=0;N[j+40>>2]=Q(Q(Q(Q(x+Q(0))-Q(m*p))+B)*k)+Q(0);B=Q(p*Q(-0));N[j+36>>2]=w+Q(Q(B+Q(x+Q(w*Q(0))))*k);N[j+48>>2]=Q(Q(Q(Q(y-Q(o*n))+Q(0))+s)*k)+Q(0);N[j+32>>2]=Q(Q(Q(B+Q(Q(o*r)+Q(0)))-C)*k)+Q(0);J[j+28>>2]=0;M=Q(m*n);m=Q(r*Q(-0));N[j+24>>2]=Q(Q(Q(M+Q(m+Q(0)))-s)*k)+Q(0);N[j+20>>2]=Q(Q(Q(v+Q(Q(0)-Q(w*r)))+C)*k)+Q(0);N[j+16>>2]=o+Q(Q(v+Q(Q(o*Q(0))+m))*k);pe(j,j+16|0,j- -64|0);k=N[j+92>>2];o=N[j+88>>2];w=N[j+8>>2];m=N[j+80>>2];x=N[j>>2];s=N[j+84>>2];y=N[j+4>>2];J[q+20>>2]=0;n=Q(n-y);p=Q(p-x);r=Q(r-w);w=Q(Q(Q(k*n)+Q(o*p))-Q(m*r));x=Q(Q(Q(k*r)+Q(n*m))-Q(s*p));y=Q(Q(Q(Q(-m)*p)-Q(n*s))-Q(o*r));p=Q(Q(Q(k*p)+Q(r*s))-Q(o*n));N[q+16>>2]=Q(Q(m*w)+Q(Q(Q(k*x)-Q(o*y))-Q(s*p)))-u;N[q+12>>2]=Q(Q(p*o)+Q(Q(Q(k*w)-Q(y*s))-Q(x*m)))-z;N[q+8>>2]=Q(Q(x*s)+Q(Q(Q(k*p)-Q(y*m))-Q(w*o)))-A;ta=j+96|0;k=N[q+16>>2];p=N[q+12>>2];i=D+P(l,244)|0;N[i+224>>2]=N[q+8>>2]+N[i+224>>2];N[i+228>>2]=p+N[i+228>>2];N[i+232>>2]=k+N[i+232>>2]}t=t+1|0;if((t|0)!=(c|0)){continue}break}}i=0;if((g|0)>0){while(1){b=J[(i<<2)+f>>2];va[J[J[b>>2]+8>>2]](b);J[b+36>>2]=0;i=i+1|0;if((i|0)!=(g|0)){continue}break}}c=J[a+168>>2];if(!((g|0)<=(c|0)|J[a+172>>2]>=(g|0))){b:{if(!g){b=0;break b}b=Ga(g<<3);c=J[a+168>>2]}if((c|0)>0){i=0;while(1){j=i<<3;t=j+b|0;j=j+J[a+176>>2]|0;l=J[j+4>>2];J[t>>2]=J[j>>2];J[t+4>>2]=l;i=i+1|0;if((i|0)!=(c|0)){continue}break}}c=J[a+176>>2];if(!(!c|!K[a+180|0])){Fa(c)}J[a+176>>2]=b;H[a+180|0]=1;J[a+172>>2]=g}J[a+168>>2]=g;c:{if((g|0)<=0){b=0;break c}b=0;i=0;while(1){c=J[a+176>>2]+(i<<3)|0;j=(i<<2)+f|0;t=J[j>>2];l=J[t+44>>2];if(l){Ka(l,0,64);t=J[j>>2]}d:{if(K[t+20|0]){va[J[J[t>>2]+16>>2]](t,c);c=J[c>>2];break d}J[c>>2]=0;J[c+4>>2]=0;c=0}b=c+b|0;i=i+1|0;if((i|0)!=(g|0)){continue}break}}c=J[a+48>>2];if(!((c|0)>=(b|0)|J[a+52>>2]>=(b|0))){e:{if(!b){t=0;break e}t=Ga(P(b,152));c=J[a+48>>2]}if((c|0)>0){i=0;while(1){j=P(i,152);Pa(j+t|0,j+J[a+56>>2]|0,152);i=i+1|0;if((i|0)!=(c|0)){continue}break}}c=J[a+56>>2];if(!(!c|!K[a+60|0])){Fa(c)}J[a+56>>2]=t;H[a+60|0]=1;J[a+52>>2]=b}J[a+48>>2]=b;if((g|0)>0){t=J[a+176>>2];while(1){ga=_;fa=da<<3;$=fa+t|0;if(J[$>>2]){ea=(da<<2)+f|0;E=J[ea>>2];c=J[E+32>>2];b=J[a+56>>2];i=J[E+28>>2];l=pb(a,i,N[h+12>>2]);L=pb(a,c,N[h+12>>2]);t=J[E+24>>2];j=J[h+20>>2];D=(t|0)>0?t:j;if((D|0)>J[a+184>>2]){J[a+184>>2]=D}t=b+P(_,152)|0;_=J[a+16>>2];b=0;if(J[$>>2]>0){while(1){j=Ka(t+P(b,152)|0,0,152);J[j+120>>2]=-8388609;J[j+124>>2]=2139095039;J[j+148>>2]=L;J[j+144>>2]=l;J[j+96>>2]=0;J[j+100>>2]=0;J[j+136>>2]=D;b=b+1|0;if((b|0)>2]){continue}break}j=J[h+20>>2]}D=P(l,244)+_|0;b=D;J[b+64>>2]=0;J[b+68>>2]=0;J[b+144>>2]=0;J[b+148>>2]=0;J[b+88>>2]=0;J[b+92>>2]=0;J[b+80>>2]=0;J[b+84>>2]=0;J[b+72>>2]=0;J[b+76>>2]=0;J[b+152>>2]=0;J[b+156>>2]=0;J[b+160>>2]=0;J[b+164>>2]=0;J[b+168>>2]=0;J[b+172>>2]=0;L=P(L,244)+_|0;b=L;J[b+88>>2]=0;J[b+92>>2]=0;J[b+80>>2]=0;J[b+84>>2]=0;J[b+72>>2]=0;J[b+76>>2]=0;J[b+64>>2]=0;J[b+68>>2]=0;J[b+144>>2]=0;J[b+148>>2]=0;J[b+152>>2]=0;J[b+156>>2]=0;J[b+160>>2]=0;J[b+164>>2]=0;J[b+168>>2]=0;J[b+172>>2]=0;N[q+8>>2]=Q(1)/N[h+12>>2];k=N[h+32>>2];J[q+36>>2]=t+112;J[q+32>>2]=38;J[q+28>>2]=t+32;J[q+24>>2]=t+48;J[q+20>>2]=t;J[q+16>>2]=t+16;N[q+12>>2]=k;N[t+116>>2]=N[h+40>>2];k=N[h+4>>2];J[q+52>>2]=j;J[q+48>>2]=t+124;J[q+44>>2]=t+120;J[q+40>>2]=t+116;N[q+56>>2]=k;b=J[ea>>2];va[J[J[b>>2]+20>>2]](b,q+8|0);if(J[$>>2]>0){j=0;while(1){k=N[J[ea>>2]+16>>2];b=t+P(j,152)|0;if(k<=N[b+124>>2]){N[b+124>>2]=k}k=Q(-k);if(k>=N[b+120>>2]){N[b+120>>2]=k}J[b+132>>2]=E;l=J[E+28>>2];n=N[l+332>>2];o=N[l+328>>2];m=N[l+608>>2];s=N[l+348>>2];u=N[l+340>>2];z=N[l+344>>2];A=N[l+612>>2];w=N[l+364>>2];x=N[l+356>>2];y=N[l+360>>2];v=N[l+604>>2];B=N[l+324>>2];k=N[b+8>>2];p=N[b>>2];r=N[b+4>>2];J[b+76>>2]=0;N[b+72>>2]=A*Q(Q(w*k)+Q(Q(x*p)+Q(r*y)));N[b+68>>2]=m*Q(Q(s*k)+Q(Q(u*p)+Q(r*z)));N[b+64>>2]=v*Q(Q(n*k)+Q(Q(B*p)+Q(o*r)));l=J[E+32>>2];s=N[l+328>>2];u=N[l+332>>2];z=N[l+608>>2];A=N[l+348>>2];w=N[l+340>>2];x=N[l+344>>2];n=N[l+612>>2];o=N[l+364>>2];m=N[l+356>>2];y=N[l+360>>2];v=N[l+604>>2];B=N[l+324>>2];J[b+92>>2]=0;M=n;n=N[b+40>>2];X=Q(o*n);o=N[b+32>>2];Z=Q(m*o);m=N[b+36>>2];N[b+88>>2]=M*Q(X+Q(Z+Q(y*m)));N[b+84>>2]=z*Q(Q(A*n)+Q(Q(w*o)+Q(m*x)));N[b+80>>2]=v*Q(Q(u*n)+Q(Q(B*o)+Q(s*m)));s=Q(0);u=N[i+404>>2];z=N[b+24>>2];A=N[b+16>>2];w=N[b+20>>2];M=Q(Q(Q(Q(u*z)*z)+Q(Q(Q(u*A)*A)+Q(w*Q(u*w))))+Q(Q(k*Q(Q(k*N[i+364>>2])+Q(Q(p*N[i+356>>2])+Q(r*N[i+360>>2]))))+Q(Q(p*Q(Q(k*N[i+332>>2])+Q(Q(p*N[i+324>>2])+Q(r*N[i+328>>2]))))+Q(r*Q(Q(k*N[i+348>>2])+Q(Q(p*N[i+340>>2])+Q(r*N[i+344>>2])))))));u=N[c+404>>2];x=N[b+56>>2];y=N[b+48>>2];v=N[b+52>>2];u=Q(Q(M+Q(Q(Q(u*x)*x)+Q(Q(Q(u*y)*y)+Q(v*Q(u*v)))))+Q(Q(n*Q(Q(n*N[c+364>>2])+Q(Q(o*N[c+356>>2])+Q(m*N[c+360>>2]))))+Q(Q(o*Q(Q(n*N[c+332>>2])+Q(Q(o*N[c+324>>2])+Q(m*N[c+328>>2]))))+Q(m*Q(Q(n*N[c+348>>2])+Q(Q(o*N[c+340>>2])+Q(m*N[c+344>>2])))))));u=Q(R(u))>Q(1.1920928955078125e-7)?Q(Q(1)/u):Q(0);N[b+108>>2]=u;B=Q(0);C=Q(0);G=Q(0);F=Q(0);I=Q(0);S=Q(0);if(J[D+240>>2]){S=N[D+232>>2];I=N[D+228>>2];F=N[D+224>>2];C=N[D+212>>2];G=N[D+208>>2];B=N[D+216>>2]}O=Q(0);T=Q(0);U=Q(0);W=Q(0);V=Q(0);if(J[L+240>>2]){V=N[L+232>>2];W=N[L+228>>2];U=N[L+224>>2];O=N[L+212>>2];T=N[L+208>>2];s=N[L+216>>2]}aa=N[i+380>>2];ba=N[i+372>>2];ca=N[i+376>>2];ha=N[i+396>>2];ia=N[i+388>>2];ja=N[i+392>>2];ka=N[c+380>>2];la=N[c+372>>2];ma=N[c+376>>2];na=N[c+396>>2];X=N[c+388>>2];Z=N[c+392>>2];M=N[q+56>>2];J[b+100>>2]=0;N[b+112>>2]=Q(u*N[b+112>>2])+Q(u*Q(Q(0)-Q(M*Q(Q(Q(Q(z*Q(B+aa))+Q(Q(A*Q(G+ba))+Q(w*Q(C+ca))))+Q(Q(k*Q(S+ha))+Q(Q(p*Q(F+ia))+Q(r*Q(I+ja)))))+Q(Q(Q(x*Q(s+ka))+Q(Q(y*Q(T+la))+Q(v*Q(O+ma))))+Q(Q(n*Q(V+na))+Q(Q(o*Q(U+X))+Q(m*Q(W+Z)))))))));j=j+1|0;if((j|0)>2]){continue}break}}t=J[a+176>>2];b=J[fa+t>>2]}else{b=0}_=ga+b|0;da=da+1|0;if((da|0)!=(g|0)){continue}break}}va[J[J[a>>2]+28>>2]](a,d,e,h);d=J[a+68>>2];c=J[a+28>>2];j=J[a+128>>2];e=J[a+48>>2];if(!((j|0)>=(e|0)|(e|0)<=J[a+132>>2])){i=0;b=0;if(e){b=Ga(e<<2);j=J[a+128>>2]}f=J[a+136>>2];f:{g:{if((j|0)>0){while(1){g=i<<2;J[g+b>>2]=J[f+g>>2];i=i+1|0;if((j|0)!=(i|0)){continue}break}if(K[a+140|0]){break g}break f}if(!f|!K[a+140|0]){break f}}Fa(f)}J[a+136>>2]=b;J[a+132>>2]=e;H[a+140|0]=1}J[a+128>>2]=e;h:{if(K[h+72|0]&16){j=J[a+108>>2];f=c<<1;if(!((j|0)>=(f|0)|(f|0)<=J[a+112>>2])){i=0;b=0;if(c){b=Ga(c<<3);j=J[a+108>>2]}g=J[a+116>>2];i:{j:{if((j|0)>0){while(1){h=i<<2;J[h+b>>2]=J[g+h>>2];i=i+1|0;if((j|0)!=(i|0)){continue}break}if(K[a+120|0]){break j}break i}if(!g|!K[a+120|0]){break i}}Fa(g)}J[a+116>>2]=b;J[a+112>>2]=f;H[a+120|0]=1}J[a+108>>2]=f;break h}j=J[a+108>>2];if(!((c|0)<=(j|0)|(c|0)<=J[a+112>>2])){i=0;b=0;if(c){b=Ga(c<<2);j=J[a+108>>2]}f=J[a+116>>2];k:{l:{if((j|0)>0){while(1){g=i<<2;J[g+b>>2]=J[f+g>>2];i=i+1|0;if((j|0)!=(i|0)){continue}break}if(K[a+120|0]){break l}break k}if(!f|!K[a+120|0]){break k}}Fa(f)}J[a+116>>2]=b;J[a+112>>2]=c;H[a+120|0]=1}J[a+108>>2]=c}j=J[a+148>>2];if(!((d|0)<=(j|0)|(d|0)<=J[a+152>>2])){i=0;b=0;if(d){b=Ga(d<<2);j=J[a+148>>2]}f=J[a+156>>2];m:{n:{if((j|0)>0){while(1){g=i<<2;J[g+b>>2]=J[f+g>>2];i=i+1|0;if((j|0)!=(i|0)){continue}break}if(K[a+160|0]){break n}break m}if(!f|!K[a+160|0]){break m}}Fa(f)}J[a+156>>2]=b;J[a+152>>2]=d;H[a+160|0]=1}J[a+148>>2]=d;if((e|0)>0){b=J[a+136>>2];i=0;while(1){J[b+(i<<2)>>2]=i;i=i+1|0;if((e|0)!=(i|0)){continue}break}}if((c|0)>0){b=J[a+116>>2];i=0;while(1){J[b+(i<<2)>>2]=i;i=i+1|0;if((c|0)!=(i|0)){continue}break}}if((d|0)>0){a=J[a+156>>2];i=0;while(1){J[a+(i<<2)>>2]=i;i=i+1|0;if((d|0)!=(i|0)){continue}break}}Ma();ta=q+256|0;return Q(Q(0))}function bj(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=Q(0),g=0,h=Q(0),i=Q(0),j=0,k=Q(0),l=Q(0),m=0,n=0,o=Q(0),p=0,q=0,r=0,s=Q(0),t=0,u=Q(0),v=Q(0),w=0,x=0,y=Q(0),z=Q(0),A=Q(0),B=Q(0),C=0,D=0,E=0,F=0,G=Q(0),I=Q(0),L=0,M=0,O=Q(0),S=Q(0),T=Q(0),U=Q(0),V=Q(0),W=Q(0),X=0,Z=Q(0),_=Q(0),$=Q(0),aa=0,ba=Q(0),ca=Q(0),da=Q(0),ea=0,fa=0,ga=0,ha=Q(0),ia=Q(0),ja=0,ka=Q(0),la=Q(0),ma=Q(0),na=Q(0),oa=Q(0),pa=Q(0),qa=Q(0),ra=Q(0),sa=Q(0),ua=Q(0),va=Q(0),wa=Q(0),xa=Q(0),ya=Q(0),za=Q(0),Aa=Q(0),Ba=Q(0),Ca=Q(0),Da=Q(0),Ea=Q(0),Ha=Q(0),Ia=Q(0),Ja=Q(0),Ka=Q(0),La=Q(0),Ma=Q(0),Na=Q(0),Oa=Q(0),Qa=Q(0),Ra=Q(0),Sa=Q(0),Ta=Q(0),Ua=Q(0),Va=Q(0);if((c|0)>0){while(1){aa=0;m=ta-80|0;ta=m;X=J[(ea<<2)+b>>2];L=J[X+840>>2];M=J[X+836>>2];w=pb(a,M,N[d+12>>2]);x=pb(a,L,N[d+12>>2]);e=J[a+16>>2];r=e+P(w,244)|0;f=N[r+136>>2];u=Q(f*f);f=N[r+128>>2];i=Q(f*f);f=N[r+132>>2];a:{if(Q(u+Q(i+Q(f*f)))>2];u=Q(f*f);f=N[r+128>>2];i=Q(f*f);f=N[r+132>>2];if(Q(u+Q(i+Q(f*f)))>2];if((g|0)<=0){break a}C=e+P(x,244)|0;D=e+P(w,244)|0;while(1){n=P(aa,208)+X|0;if(N[n+84>>2]<=N[X+852>>2]){q=n+4|0;r=J[a+28>>2];g=r;b:{if((g|0)!=J[a+32>>2]){break b}j=g?r<<1:1;if((j|0)<=(g|0)){break b}g=0;e=r;p=0;if(j){p=Ga(P(j,152));e=J[a+28>>2]}if((e|0)>0){while(1){t=P(g,152);Pa(t+p|0,t+J[a+36>>2]|0,152);g=g+1|0;if((e|0)!=(g|0)){continue}break}}e=J[a+36>>2];if(!(!e|!K[a+40|0])){Fa(e)}J[a+36>>2]=p;H[a+40|0]=1;J[a+32>>2]=j;g=J[a+28>>2]}J[a+28>>2]=g+1;e=J[a+36>>2]+P(r,152)|0;J[e+148>>2]=x;J[e+144>>2]=w;J[e+132>>2]=q;i=N[n+52>>2];h=N[n+56>>2];f=N[n+60>>2];l=N[M+52>>2];k=N[M+56>>2];o=N[M+60>>2];J[m+76>>2]=0;f=Q(f-o);N[m+72>>2]=f;h=Q(h-k);N[m+68>>2]=h;i=Q(i-l);N[m+64>>2]=i;o=N[n+36>>2];k=N[n+40>>2];l=N[n+44>>2];v=N[L+52>>2];A=N[L+56>>2];I=N[L+60>>2];J[m+60>>2]=0;l=Q(l-I);N[m+56>>2]=l;k=Q(k-A);N[m+52>>2]=k;o=Q(o-v);N[m+48>>2]=o;v=Q(0);A=Q(0);I=Q(0);S=Q(0);if(J[D+240>>2]){I=Q(N[D+192>>2]+N[D+224>>2]);S=Q(N[D+196>>2]+N[D+228>>2]);A=Q(Q(N[D+184>>2]+N[D+216>>2])+Q(Q(I*h)-Q(i*S)));s=Q(N[D+200>>2]+N[D+232>>2]);I=Q(Q(N[D+180>>2]+N[D+212>>2])+Q(Q(s*i)-Q(f*I)));S=Q(Q(N[D+176>>2]+N[D+208>>2])+Q(Q(S*f)-Q(h*s)))}ka=Q(0);la=Q(0);if(J[C+240>>2]){f=Q(N[C+192>>2]+N[C+224>>2]);h=Q(N[C+196>>2]+N[C+228>>2]);v=Q(Q(N[C+184>>2]+N[C+216>>2])+Q(Q(f*k)-Q(o*h)));i=Q(N[C+200>>2]+N[C+232>>2]);ka=Q(Q(N[C+180>>2]+N[C+212>>2])+Q(Q(i*o)-Q(l*f)));la=Q(Q(N[C+176>>2]+N[C+208>>2])+Q(Q(h*l)-Q(k*i)))}oa=N[n+76>>2];t=n+68|0;pa=N[t>>2];qa=N[n+72>>2];p=m- -64|0;s=Q(0);f=Q(0);ma=Q(0);E=J[a+16>>2];fa=E+P(x,244)|0;g=J[fa+240>>2];ga=E+P(w,244)|0;j=J[ga+240>>2];N[m+44>>2]=N[d+28>>2];Z=N[d+12>>2];_=N[d+36>>2];h=N[d+40>>2];F=J[q+128>>2];c:{if(F&6){h=F&2?N[q+152>>2]:h;if(!(F&4)){break c}_=N[q+156>>2];break c}if(!(F&8)){break c}i=Q(Z*N[q+152>>2]);h=Q(i+N[q+156>>2]);h=h>2];l=N[q+68>>2];k=N[q+64>>2];o=N[p+4>>2];z=Q(Q(i*l)-Q(k*o));y=N[p+8>>2];u=Q(y*k);k=N[q+72>>2];T=Q(u-Q(k*i));y=Q(Q(o*k)-Q(l*y));i=Q(0);l=Q(0);if(j){l=Q(Q(Q(N[j+364>>2]*z)+Q(Q(N[j+356>>2]*y)+Q(T*N[j+360>>2])))*N[j+612>>2]);i=Q(Q(Q(N[j+348>>2]*z)+Q(Q(N[j+340>>2]*y)+Q(T*N[j+344>>2])))*N[j+608>>2]);f=Q(Q(Q(N[j+332>>2]*z)+Q(Q(N[j+324>>2]*y)+Q(T*N[j+328>>2])))*N[j+604>>2])}N[e+64>>2]=f;J[e+76>>2]=0;N[e+72>>2]=l;N[e+68>>2]=i;k=N[m+48>>2];o=N[q+68>>2];B=N[q+64>>2];O=N[m+52>>2];G=Q(Q(k*o)-Q(B*O));U=N[m+56>>2];V=N[q+72>>2];B=Q(Q(U*B)-Q(V*k));O=Q(Q(O*V)-Q(o*U));k=Q(0);o=Q(0);if(g){k=Q(-O);o=Q(Q(Q(Q(N[g+356>>2]*k)-Q(N[g+360>>2]*B))-Q(N[g+364>>2]*G))*N[g+612>>2]);s=Q(Q(Q(Q(N[g+324>>2]*k)-Q(N[g+328>>2]*B))-Q(N[g+332>>2]*G))*N[g+604>>2]);k=Q(Q(Q(Q(N[g+340>>2]*k)-Q(N[g+344>>2]*B))-Q(N[g+348>>2]*G))*N[g+608>>2])}N[e+80>>2]=s;J[e+92>>2]=0;N[e+88>>2]=o;N[e+84>>2]=k;ha=N[m+44>>2];Z=Q(Q(1)/Z);na=Q(Z*h);if(j){h=N[p+4>>2];W=N[p>>2];$=Q(N[q+72>>2]*Q(Q(f*h)-Q(W*i)));u=i;i=N[p+8>>2];u=Q(N[j+404>>2]+Q($+Q(Q(N[q+64>>2]*Q(Q(u*i)-Q(h*l)))+Q(Q(Q(l*W)-Q(i*f))*N[q+68>>2]))))}else{u=Q(0)}if(g){h=N[m+48>>2];i=N[m+52>>2];ia=Q(N[q+72>>2]*Q(Q(k*h)-Q(s*i)));$=Q(o*i);i=N[m+56>>2];i=Q(N[g+404>>2]+Q(ia+Q(Q(N[q+64>>2]*Q($-Q(k*i)))+Q(Q(Q(s*i)-Q(o*h))*N[q+68>>2]))))}else{i=Q(0)}N[e+108>>2]=ha/Q(na+Q(u+i));d:{if(j){F=q- -64|0;ja=J[F+4>>2];J[e+16>>2]=J[F>>2];J[e+20>>2]=ja;ja=J[F+12>>2];J[e+24>>2]=J[F+8>>2];J[e+28>>2]=ja;J[e+12>>2]=0;N[e+8>>2]=z;N[e+4>>2]=T;N[e>>2]=y;break d}J[e>>2]=0;J[e+4>>2]=0;J[e+24>>2]=0;J[e+28>>2]=0;J[e+16>>2]=0;J[e+20>>2]=0;J[e+8>>2]=0;J[e+12>>2]=0}e:{if(g){f=N[q+64>>2];h=N[q+68>>2];i=N[q+72>>2];J[e+60>>2]=0;J[e+44>>2]=0;N[e+40>>2]=-G;N[e+36>>2]=-B;N[e+32>>2]=-O;N[e+56>>2]=-i;N[e+52>>2]=-h;N[e+48>>2]=-f;break e}J[e+32>>2]=0;J[e+36>>2]=0;J[e+56>>2]=0;J[e+60>>2]=0;J[e+48>>2]=0;J[e+52>>2]=0;J[e+40>>2]=0;J[e+44>>2]=0}i=Q(0);l=Q(0);k=Q(0);o=Q(0);if(j){f=N[j+388>>2];h=N[p+4>>2];l=N[p>>2];s=N[j+392>>2];o=Q(Q(Q(f*h)-Q(l*s))+N[j+380>>2]);z=N[j+396>>2];u=Q(z*l);l=N[p+8>>2];k=Q(Q(u-Q(l*f))+N[j+376>>2]);l=Q(Q(Q(s*l)-Q(h*z))+N[j+372>>2])}T=Q(0);f=Q(0);if(g){h=N[g+388>>2];i=N[m+52>>2];s=N[m+48>>2];z=N[g+392>>2];f=Q(Q(Q(h*i)-Q(s*z))+N[g+380>>2]);y=N[g+396>>2];u=Q(y*s);s=N[m+56>>2];T=Q(Q(u-Q(s*h))+N[g+376>>2]);i=Q(Q(Q(z*s)-Q(i*y))+N[g+372>>2])}z=N[d+64>>2];ra=N[q+80>>2];sa=N[q+72>>2];ua=N[q+68>>2];va=N[q+64>>2];N[e+104>>2]=N[q+84>>2];wa=N[d+96>>2];xa=N[q+96>>2];f:{if(K[d+72|0]&4){h=Q(N[q+132>>2]*N[d+68>>2]);N[e+100>>2]=h;if(!(!j|!J[ga+240>>2])){s=N[j+416>>2];y=N[e+24>>2];G=N[j+412>>2];B=N[e+20>>2];p=E+P(w,244)|0;N[p+64>>2]=Q(N[p+112>>2]*Q(h*Q(Q(N[e+16>>2]*N[p+128>>2])*N[j+408>>2])))+N[p+64>>2];N[p+68>>2]=Q(Q(h*Q(G*Q(B*N[p+132>>2])))*N[p+116>>2])+N[p+68>>2];N[p+72>>2]=Q(Q(h*Q(s*Q(y*N[p+136>>2])))*N[p+120>>2])+N[p+72>>2];s=N[e+72>>2];y=N[e+68>>2];N[p+80>>2]=Q(Q(h*N[p+96>>2])*N[e+64>>2])+N[p+80>>2];G=N[p+104>>2];N[p+84>>2]=Q(y*Q(h*N[p+100>>2]))+N[p+84>>2];N[p+88>>2]=Q(s*Q(h*G))+N[p+88>>2]}if(!g|!J[fa+240>>2]){break f}j=E+P(x,244)|0;s=N[j+120>>2];y=N[g+416>>2];G=N[e+56>>2];B=N[j+136>>2];O=N[j+116>>2];U=N[g+412>>2];V=N[e+52>>2];W=N[j+132>>2];ba=N[e+88>>2];ca=N[e+84>>2];da=N[e+80>>2];h=N[e+100>>2];N[j+64>>2]=N[j+64>>2]+Q(N[j+112>>2]*Q(Q(Q(N[j+128>>2]*N[e+48>>2])*N[g+408>>2])*h));N[j+80>>2]=N[j+80>>2]+Q(da*Q(h*N[j+96>>2]));N[j+84>>2]=N[j+84>>2]+Q(ca*Q(h*N[j+100>>2]));N[j+88>>2]=N[j+88>>2]+Q(ba*Q(h*N[j+104>>2]));N[j+68>>2]=N[j+68>>2]+Q(O*Q(h*Q(U*Q(W*V))));N[j+72>>2]=N[j+72>>2]+Q(s*Q(h*Q(y*Q(B*G))));break f}J[e+100>>2]=0}J[e+96>>2]=0;y=Q(0);G=Q(0);B=Q(0);h=Q(0);O=Q(0);U=Q(0);V=Q(0);if(J[ga+240>>2]){g=E+P(w,244)|0;V=N[g+224>>2];O=N[g+232>>2];U=N[g+228>>2];G=N[g+216>>2];B=N[g+212>>2];h=N[g+208>>2]}W=Q(0);ba=Q(0);ca=Q(0);da=Q(0);if(J[fa+240>>2]){g=E+P(x,244)|0;ma=N[g+224>>2];ca=N[g+232>>2];da=N[g+228>>2];ba=N[g+216>>2];W=N[g+212>>2];y=N[g+208>>2]}g=E+P(w,244)|0;ya=N[g+200>>2];za=N[g+196>>2];Aa=N[g+192>>2];Ba=N[g+176>>2];Ca=N[e+20>>2];Da=N[g+180>>2];Ea=N[e+24>>2];Ha=N[g+184>>2];g=E+P(x,244)|0;Ia=N[g+176>>2];Ja=N[e+52>>2];Ka=N[g+180>>2];La=N[e+56>>2];Ma=N[g+184>>2];Na=N[g+192>>2];Oa=N[e+36>>2];Qa=N[g+196>>2];Ra=N[e+40>>2];Sa=N[g+200>>2];Ta=N[e+8>>2];Ua=N[e+4>>2];Va=N[e>>2];ha=N[e+16>>2];ia=N[e+48>>2];$=N[e+32>>2];j=J[d+52>>2];u=N[d+56>>2];s=N[e+108>>2];J[e+120>>2]=0;J[e+124>>2]=1343554297;N[e+116>>2]=na*s;z=Q(ra+z);g=z>Q(0);_=Q(s*(g?Q(0):Q(Z*Q(_*Q(-z)))));j=!j|z>u;N[e+128>>2]=j?Q(0):_;f=Q(Q(sa*Q(o-f))+Q(Q(va*Q(l-i))+Q(Q(k-T)*ua)));f=Q(R(f))>2]=Q(s*(g?Q(f-Q(z*Z)):f))+(j?_:Q(-0));J[e+140>>2]=J[a+68>>2];g:{if(!(N[n+92>>2]>Q(0))){break g}Fc(a,t,w,x,r,N[n+96>>2]);i=N[t+8>>2];h:{if(Q(R(i))>Q(.7071067690849304)){o=N[t+4>>2];f=Q(Q(o*o)+Q(i*i));k=Q(Q(1)/Q(Y(f)));f=Q(f*k);h=Q(k*Q(-i));s=N[t>>2];l=Q(h*s);i=Q(o*k);k=Q(i*Q(-s));o=Q(0);break h}h=N[t>>2];k=N[t+4>>2];l=Q(Q(h*h)+Q(k*k));f=Q(Q(1)/Q(Y(l)));l=Q(l*f);o=Q(f*Q(-k));k=Q(i*o);h=Q(h*f);f=Q(h*Q(-i));i=Q(0)}u=i;i=Q(Q(1)/Q(Y(Q(Q(i*i)+Q(Q(o*o)+Q(h*h))))));N[m+36>>2]=u*i;N[m+32>>2]=h*i;N[m+28>>2]=o*i;h=Q(Q(1)/Q(Y(Q(Q(l*l)+Q(Q(f*f)+Q(k*k))))));N[m+20>>2]=l*h;N[m+16>>2]=k*h;N[m+12>>2]=f*h;g=m+28|0;$a(M,g,2);$a(L,g,2);g=m+12|0;$a(M,g,2);$a(L,g,2);f=N[m+36>>2];u=Q(f*f);f=N[m+28>>2];i=Q(f*f);f=N[m+32>>2];if(+Q(Y(Q(u+Q(i+Q(f*f)))))>.001){Fc(a,m+28|0,w,x,r,N[n+92>>2])}f=N[m+20>>2];u=Q(f*f);f=N[m+12>>2];i=Q(f*f);f=N[m+16>>2];if(!(+Q(Y(Q(u+Q(i+Q(f*f)))))>.001)){break g}Fc(a,m+12|0,w,x,r,N[n+92>>2])}i:{if(!(H[n+132|0]&1?K[d+72|0]&32:0)){l=N[t>>2];f=N[t+4>>2];i=N[t+8>>2];J[n+184>>2]=0;k=Q(A-v);v=Q(S-la);o=Q(I-ka);h=Q(Q(oa*k)+Q(Q(pa*v)+Q(o*qa)));k=Q(k-Q(i*h));N[n+180>>2]=k;o=Q(o-Q(h*f));N[n+176>>2]=o;g=n+172|0;h=Q(v-Q(h*l));N[g>>2]=h;j:{if(K[d+72|0]&64){break j}v=Q(Q(k*k)+Q(Q(h*h)+Q(o*o)));if(!(v>Q(1.1920928955078125e-7))){break j}f=Q(Q(1)/Q(Y(v)));N[g+8>>2]=k*f;N[g+4>>2]=o*f;N[g>>2]=h*f;$a(M,g,1);$a(L,g,1);A=N[m+44>>2];ub(a,g,w,x,r,q,m- -64|0,m+48|0,A,d,Q(0),Q(0));if(!(K[d+72|0]&16)){break i}f=N[g+4>>2];h=N[t+4>>2];i=N[t>>2];l=N[g+8>>2];k=N[g>>2];o=N[t+8>>2];J[n+200>>2]=0;v=Q(Q(k*h)-Q(i*f));h=Q(Q(f*o)-Q(h*l));i=Q(Q(l*i)-Q(o*k));f=Q(Q(1)/Q(Y(Q(Q(v*v)+Q(Q(h*h)+Q(i*i))))));N[n+196>>2]=v*f;N[n+192>>2]=i*f;g=n+188|0;N[g>>2]=h*f;$a(M,g,1);$a(L,g,1);ub(a,g,w,x,r,q,m- -64|0,m+48|0,A,d,Q(0),Q(0));break i}j=n+188|0;k:{if(Q(R(i))>Q(.7071067690849304)){k=Q(Q(f*f)+Q(i*i));h=Q(Q(1)/Q(Y(k)));v=Q(k*h);A=Q(h*Q(-i));I=Q(l*A);f=Q(f*h);h=Q(f*Q(-l));S=Q(0);break k}h=Q(Q(l*l)+Q(f*f));k=Q(Q(1)/Q(Y(h)));I=Q(h*k);S=Q(k*Q(-f));h=Q(i*S);A=Q(l*k);v=Q(A*Q(-i));f=Q(0)}N[g+8>>2]=f;N[g+4>>2]=A;N[g>>2]=S;N[j+8>>2]=I;N[j+4>>2]=h;N[j>>2]=v;$a(M,g,1);$a(L,g,1);f=N[m+44>>2];ub(a,g,w,x,r,q,m- -64|0,m+48|0,f,d,Q(0),Q(0));g=J[d+72>>2];if(g&16){$a(M,j,1);$a(L,j,1);ub(a,j,w,x,r,q,m- -64|0,m+48|0,f,d,Q(0),Q(0));g=J[d+72>>2]}if((g&80)!=80){break i}J[n+132>>2]=J[n+132>>2]|1;break i}f=N[m+44>>2];ub(a,n+172|0,w,x,r,q,m- -64|0,m+48|0,f,d,N[n+148>>2],N[n+164>>2]);if(!(K[d+72|0]&16)){break i}ub(a,n+188|0,w,x,r,q,m- -64|0,m+48|0,f,d,N[n+152>>2],N[n+164>>2])}j=J[a+76>>2];E=J[e+140>>2];F=J[d+72>>2];l:{if(F&4){p=J[a+16>>2];r=J[(p+P(x,244)|0)+240>>2];g=J[(p+P(w,244)|0)+240>>2];n=j+P(E,152)|0;f=Q(N[q+136>>2]*N[d+68>>2]);N[n+100>>2]=f;if(g){i=N[g+416>>2];l=N[n+24>>2];k=N[g+412>>2];o=N[n+20>>2];e=p+P(w,244)|0;h=N[g+404>>2];N[e+64>>2]=Q(Q(f*Q(Q(h*N[n+16>>2])*N[g+408>>2]))*N[e+112>>2])+N[e+64>>2];N[e+68>>2]=Q(Q(f*Q(k*Q(h*o)))*N[e+116>>2])+N[e+68>>2];N[e+72>>2]=Q(Q(f*Q(i*Q(h*l)))*N[e+120>>2])+N[e+72>>2];h=N[n+72>>2];i=N[n+68>>2];N[e+80>>2]=Q(Q(f*N[e+96>>2])*N[n+64>>2])+N[e+80>>2];l=N[e+104>>2];N[e+84>>2]=Q(i*Q(f*N[e+100>>2]))+N[e+84>>2];N[e+88>>2]=Q(h*Q(f*l))+N[e+88>>2]}if(r){t=j+P(E,152)|0;i=N[t+88>>2];l=N[t+84>>2];k=N[t+80>>2];o=N[r+416>>2];v=N[t+56>>2];A=N[r+412>>2];I=N[t+52>>2];e=p+P(x,244)|0;h=N[r+404>>2];f=N[n+100>>2];N[e+64>>2]=N[e+64>>2]+Q(Q(Q(Q(h*N[t+48>>2])*N[r+408>>2])*f)*N[e+112>>2]);N[e+68>>2]=N[e+68>>2]+Q(Q(f*Q(A*Q(h*I)))*N[e+116>>2]);N[e+72>>2]=N[e+72>>2]+Q(Q(f*Q(o*Q(h*v)))*N[e+120>>2]);N[e+80>>2]=N[e+80>>2]+Q(k*Q(f*N[e+96>>2]));h=N[e+104>>2];N[e+84>>2]=N[e+84>>2]+Q(l*Q(f*N[e+100>>2]));N[e+88>>2]=N[e+88>>2]+Q(i*Q(h*f))}if(!(F&16)){break l}t=E+1|0;n=j+P(t,152)|0;f=Q(N[q+140>>2]*N[d+68>>2]);N[n+100>>2]=f;if(g){i=N[n+24>>2];l=N[n+20>>2];e=p+P(w,244)|0;h=N[g+404>>2];N[e+64>>2]=Q(Q(f*Q(h*N[n+16>>2]))*N[e+112>>2])+N[e+64>>2];N[e+68>>2]=Q(Q(f*Q(h*l))*N[e+116>>2])+N[e+68>>2];N[e+72>>2]=Q(Q(f*Q(h*i))*N[e+120>>2])+N[e+72>>2];h=N[n+72>>2];i=N[n+68>>2];N[e+80>>2]=Q(Q(f*N[e+96>>2])*N[n+64>>2])+N[e+80>>2];l=N[e+104>>2];N[e+84>>2]=Q(i*Q(f*N[e+100>>2]))+N[e+84>>2];N[e+88>>2]=Q(h*Q(f*l))+N[e+88>>2]}if(!r){break l}g=j+P(t,152)|0;i=N[g+88>>2];l=N[g+84>>2];k=N[g+56>>2];o=N[g+52>>2];v=N[g+48>>2];h=N[r+404>>2];e=p+P(x,244)|0;f=N[n+100>>2];N[e+80>>2]=N[e+80>>2]+Q(N[g+80>>2]*Q(N[e+96>>2]*f));N[e+64>>2]=N[e+64>>2]+Q(Q(f*Q(h*v))*N[e+112>>2]);N[e+68>>2]=N[e+68>>2]+Q(Q(f*Q(h*o))*N[e+116>>2]);N[e+72>>2]=N[e+72>>2]+Q(Q(f*Q(h*k))*N[e+120>>2]);h=N[e+104>>2];N[e+84>>2]=N[e+84>>2]+Q(l*Q(f*N[e+100>>2]));N[e+88>>2]=N[e+88>>2]+Q(i*Q(h*f));break l}e=j+P(E,152)|0;J[e+100>>2]=0;if(!(F&16)){break l}J[e+252>>2]=0}g=J[X+844>>2]}aa=aa+1|0;if((aa|0)<(g|0)){continue}break}}ta=m+80|0;ea=ea+1|0;if((ea|0)!=(c|0)){continue}break}}}function uj(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=Q(0),h=Q(0),i=Q(0),j=Q(0),k=Q(0),l=Q(0),m=0,n=Q(0),o=Q(0),p=Q(0),q=0,r=Q(0),s=Q(0),t=0,u=Q(0),v=Q(0),w=Q(0),x=0,y=Q(0),z=Q(0),A=Q(0),B=Q(0),C=Q(0),D=Q(0),E=Q(0),F=Q(0),G=0,I=Q(0),L=Q(0),M=Q(0),O=Q(0),R=Q(0),S=Q(0),T=Q(0),U=Q(0),V=0,W=Q(0),X=Q(0),Z=Q(0),_=Q(0),$=Q(0),aa=Q(0),ba=Q(0),ca=Q(0),da=Q(0),ea=Q(0),fa=0,ga=0,ha=Q(0),ia=Q(0),ja=0,ka=Q(0),la=0,ma=Q(0),na=Q(0),oa=Q(0),pa=Q(0),qa=Q(0),ra=Q(0),sa=Q(0),ua=Q(0);d=J[a+32>>2];fa=d+388|0;c=J[a+28>>2];ga=c+388|0;e=d+4|0;c=c+4|0;if(K[a+739|0]){d=ta+-64|0;ta=d;g=N[a+588>>2];n=N[a+572>>2];A=N[a+556>>2];sa=N[c+56>>2];ua=N[c+52>>2];i=N[a+608>>2];s=N[a+600>>2];r=N[a+604>>2];F=N[e+56>>2];T=N[e+52>>2];o=N[a+664>>2];u=N[a+668>>2];v=N[a+672>>2];W=N[e+36>>2];X=N[e+40>>2];I=N[c+36>>2];L=N[c+40>>2];p=N[a+624>>2];Z=N[e+20>>2];k=N[a+640>>2];_=N[e+24>>2];l=N[a+656>>2];w=N[a+560>>2];C=N[c+20>>2];D=N[a+576>>2];E=N[c+24>>2];B=N[a+592>>2];m=J[b+24>>2];$=N[c+48>>2];aa=N[e+48>>2];ba=N[e+32>>2];y=N[c+32>>2];ca=N[e+8>>2];U=N[e>>2];da=N[e+4>>2];z=N[c+8>>2];M=N[c>>2];O=N[c+4>>2];ea=N[e+16>>2];R=N[J[a+32>>2]+404>>2];ma=N[J[a+28>>2]+404>>2];S=N[c+16>>2];J[d+60>>2]=0;j=Q(ma+R);j=j>Q(0)?Q(R/j):Q(.5);h=Q(Q(1)-j);ka=Q(Q(B*L)+Q(Q(w*y)+Q(D*I)));ha=Q(Q(l*X)+Q(Q(p*ba)+Q(k*W)));ia=Q(Q(ka*j)+Q(ha*h));na=Q(Q(B*z)+Q(Q(w*M)+Q(O*D)));oa=Q(Q(l*ca)+Q(Q(p*U)+Q(da*k)));pa=Q(Q(na*j)+Q(oa*h));qa=Q(Q(B*E)+Q(Q(w*S)+Q(D*C)));ra=Q(Q(l*_)+Q(Q(p*ea)+Q(k*Z)));k=Q(Q(qa*j)+Q(ra*h));l=Q(Q(1)/Q(Y(Q(Q(ia*ia)+Q(Q(pa*pa)+Q(k*k))))));p=Q(ia*l);N[d+56>>2]=p;k=Q(k*l);N[d+52>>2]=k;l=Q(pa*l);N[d+48>>2]=l;w=N[c+56>>2];D=N[c+52>>2];J[d+28>>2]=0;W=Q(F+Q(Q(v*X)+Q(Q(o*ba)+Q(W*u))));B=Q(W-F);X=Q(aa+Q(Q(v*ca)+Q(Q(o*U)+Q(da*u))));F=Q(X-aa);Z=Q(T+Q(Q(v*_)+Q(Q(o*ea)+Q(Z*u))));v=Q(Z-T);o=Q(Q(B*p)+Q(Q(F*l)+Q(v*k)));u=Q(p*o);T=Q(B-u);_=Q(sa+Q(Q(i*L)+Q(Q(s*y)+Q(I*r))));B=Q(_-w);aa=Q($+Q(Q(i*z)+Q(Q(s*M)+Q(O*r))));$=Q(aa-$);ba=Q(ua+Q(Q(i*E)+Q(Q(s*S)+Q(C*r))));s=Q(ba-D);i=Q(Q(p*B)+Q(Q($*l)+Q(s*k)));r=Q(p*i);D=Q(r-u);u=Q(T-Q(h*D));w=v;v=Q(k*o);ca=Q(w-v);U=Q(k*i);da=Q(U-v);v=Q(ca-Q(h*da));o=Q(l*o);ea=Q(F-o);i=Q(l*i);o=Q(i-o);w=Q(ea-Q(h*o));r=Q(B-r);D=Q(r+Q(j*D));U=Q(s-U);B=Q(U+Q(j*da));i=Q($-i);F=Q(i+Q(j*o));c=!(RQ(1.1920928955078125e-7)){g=Q(Q(1)/Q(Y(o)));i=Q(i*g);N[d+20>>2]=i;s=Q(s*g);N[d+16>>2]=s;g=Q(r*g);break a}i=Q(Q(g*E)+Q(Q(A*S)+Q(n*C)));N[d+20>>2]=i;s=Q(Q(g*z)+Q(Q(A*M)+Q(O*n)));N[d+16>>2]=s;g=Q(Q(g*L)+Q(Q(A*y)+Q(n*I)))}f=c&e;c=0;J[d+12>>2]=0;J[d+44>>2]=0;A=Q(Q(l*i)-Q(s*k));N[d+8>>2]=A;N[d+40>>2]=Q(w*i)-Q(s*v);N[d+24>>2]=g;r=Q(Q(p*s)-Q(g*l));N[d+4>>2]=r;o=Q(Q(k*g)-Q(i*p));N[d>>2]=o;N[d+36>>2]=Q(u*s)-Q(g*w);N[d+32>>2]=Q(v*g)-Q(i*u);e=J[b+12>>2];N[e+8>>2]=Q(F*i)-Q(s*B);N[e+4>>2]=Q(D*s)-Q(g*F);N[e>>2]=Q(B*g)-Q(i*D);C=Q(-v);E=Q(-w);y=Q(-u);z=Q(-B);M=Q(-F);O=Q(-D);t=J[b+20>>2];while(1){q=c<<2;N[q+t>>2]=-N[q+(d+32|0)>>2];c=c+1|0;if((c|0)!=3){continue}break}c=0;J[d+44>>2]=0;R=Q(Q(w*r)+Q(o*C));N[d+40>>2]=R;S=Q(Q(u*o)+Q(A*E));N[d+36>>2]=S;T=Q(Q(v*A)+Q(r*y));N[d+32>>2]=T;n=Q(Q(F*r)+Q(o*z));I=Q(Q(D*o)+Q(A*M));L=Q(Q(B*A)+Q(r*O));G=m<<2;q=G+e|0;ja=K[a+716|0];la=!ja;if(!(la|f)){N[d+40>>2]=h*R;N[d+36>>2]=h*S;N[d+32>>2]=h*T;I=Q(j*I);L=Q(j*L);n=Q(j*n)}N[q+8>>2]=n;N[q+4>>2]=I;N[q>>2]=L;while(1){N[t+(c+m<<2)>>2]=-N[(d+32|0)+(c<<2)>>2];c=c+1|0;if((c|0)!=3){continue}break}c=0;J[d+44>>2]=0;w=Q(Q(w*k)+Q(l*C));N[d+40>>2]=w;I=Q(Q(u*l)+Q(p*E));N[d+36>>2]=I;L=Q(Q(v*p)+Q(k*y));N[d+32>>2]=L;n=Q(Q(F*k)+Q(l*z));u=Q(Q(D*l)+Q(p*M));v=Q(Q(B*p)+Q(k*O));if(!f){N[d+40>>2]=h*w;N[d+36>>2]=h*I;N[d+32>>2]=h*L;u=Q(j*u);v=Q(j*v);n=Q(j*n)}j=Q(W-_);h=Q(Z-ba);w=Q(X-aa);q=m<<1;D=Q(-k);B=Q(-l);F=Q(-p);x=m<<3;f=x+e|0;N[f+8>>2]=n;N[f+4>>2]=u;N[f>>2]=v;while(1){N[t+(c+q<<2)>>2]=-N[(d+32|0)+(c<<2)>>2];c=c+1|0;if((c|0)!=3){continue}break}n=N[(K[a+748|0]&8?a+756|0:b+4|0)>>2];b:{if(K[a+736|0]){f=J[b+28>>2];break b}u=Q(n*N[b>>2]);f=J[d+20>>2];c=J[b+8>>2];J[c>>2]=J[d+16>>2];J[c+4>>2]=f;J[c+8>>2]=J[d+24>>2];f=c+G|0;J[f+8>>2]=J[d+8>>2];V=J[d+4>>2];J[f>>2]=J[d>>2];J[f+4>>2]=V;c=c+x|0;J[c+8>>2]=J[d+56>>2];f=J[d+52>>2];J[c>>2]=J[d+48>>2];J[c+4>>2]=f;x=J[b+16>>2];c=0;f=0;while(1){V=f<<2;N[V+x>>2]=-N[V+(d+16|0)>>2];f=f+1|0;if((f|0)!=3){continue}break}while(1){N[x+(c+m<<2)>>2]=-N[d+(c<<2)>>2];c=c+1|0;if((c|0)!=3){continue}break}c=0;while(1){N[x+(c+q<<2)>>2]=-N[(d+48|0)+(c<<2)>>2];c=c+1|0;if((c|0)!=3){continue}break}f=J[b+28>>2];N[f>>2]=Q(Q(g*j)+Q(Q(s*w)+Q(h*i)))*u;N[(m<<2)+f>>2]=Q(Q(A*j)+Q(Q(o*w)+Q(h*r)))*u;N[(q<<2)+f>>2]=u*Q(Q(p*j)+Q(Q(l*w)+Q(h*k)))}c=P(m,12);N[c+e>>2]=s;q=c+8|0;N[q+e>>2]=g;x=c+4|0;N[x+e>>2]=i;m=G<<2;N[m+e>>2]=o;G=m|4;N[G+e>>2]=r;V=m|8;N[V+e>>2]=A;N[c+t>>2]=-s;N[q+t>>2]=-g;N[t+x>>2]=-i;N[m+t>>2]=-o;N[t+G>>2]=-r;N[t+V>>2]=-A;j=Q(Q(na*ra)-Q(oa*qa));v=Q(j*g);g=Q(Q(qa*ha)-Q(ra*ka));h=Q(Q(ka*oa)-Q(ha*na));v=Q(v+Q(Q(g*s)+Q(h*i)));i=Q(n*N[b>>2]);N[c+f>>2]=v*i;N[f+m>>2]=Q(Q(j*A)+Q(Q(g*o)+Q(h*r)))*i;c:{d:{if(ja){q=K[a+737|0]!=0;i=Q(N[a+708>>2]*N[a+732>>2]);m=i>Q(0)?1:2;break d}if(!K[a+737|0]){break c}i=Q(0);q=1;m=0}c=P(J[b+24>>2],5);f=c<<2;N[f+e>>2]=l;x=f+8|0;N[x+e>>2]=p;V=e;e=f+4|0;N[V+e>>2]=k;N[t+x>>2]=F;N[e+t>>2]=D;N[f+t>>2]=B;e=a+688|0;g=Xb(e);j=Yb(e);e=J[b+28>>2];J[f+e>>2]=0;f=J[a+748>>2];n=f&2?N[a+764>>2]:n;t=g!=j;if(!(!q|!(t|la))){if(f&4){N[J[b+32>>2]+(c<<2)>>2]=N[a+752>>2]}g=_b(N[a+728>>2],g,j,N[a+680>>2],Q(n*N[b>>2]));e=J[b+28>>2];f=c<<2;q=e+f|0;N[q>>2]=Q(Q(g*N[a+680>>2])*N[a+732>>2])+N[q>>2];N[f+J[b+36>>2]>>2]=-N[a+684>>2];N[f+J[b+40>>2]>>2]=N[a+684>>2]}if(!ja){break c}f=c<<2;e=f+e|0;N[e>>2]=Q(Q(n*N[b>>2])*i)+N[e>>2];if(H[a+748|0]&1){N[f+J[b+32>>2]>>2]=N[a+760>>2]}e:{if(!t){J[J[b+36>>2]+(c<<2)>>2]=-8388609;g=Q(34028234663852886e22);break e}f=J[b+36>>2]+(c<<2)|0;if((m|0)==1){J[f>>2]=0;g=Q(34028234663852886e22);break e}J[f>>2]=-8388609;g=Q(0)}N[J[b+40>>2]+(c<<2)>>2]=g;n=N[a+704>>2];f:{if(!(n>Q(0))){break f}g=Q(Q(Q(N[ga+8>>2]*p)+Q(Q(N[ga>>2]*l)+Q(N[ga+4>>2]*k)))-Q(Q(N[fa+8>>2]*p)+Q(Q(N[fa>>2]*l)+Q(k*N[fa+4>>2]))));g:{if((m|0)==1){if(!(gN[e>>2]){break g}break f}if(!(g>Q(0))){break f}g=Q(g*Q(-n));if(!(g>2])){break f}}N[e>>2]=g}N[e>>2]=N[a+700>>2]*N[e>>2]}ta=d- -64|0;return}t=ta-32|0;ta=t;A=N[a+568>>2];r=N[a+584>>2];o=N[a+556>>2];u=N[a+572>>2];v=N[a+588>>2];w=N[a+560>>2];D=N[a+576>>2];B=N[a+592>>2];F=N[a+624>>2];I=N[a+640>>2];L=N[a+656>>2];ea=N[e+52>>2];X=N[e+20>>2];Z=N[e+24>>2];ma=N[e+56>>2];C=N[a+664>>2];E=N[a+668>>2];_=N[e+36>>2];y=N[a+672>>2];$=N[e+40>>2];z=N[c+52>>2];n=N[c+20>>2];j=N[c+24>>2];M=N[c+56>>2];O=N[a+600>>2];R=N[a+604>>2];h=N[c+36>>2];S=N[a+608>>2];p=N[c+40>>2];m=J[b+24>>2];T=N[a+552>>2];ka=N[e+48>>2];aa=N[e+8>>2];ba=N[e>>2];ca=N[e+4>>2];U=N[e+16>>2];da=N[e+32>>2];W=N[c+48>>2];g=N[c+8>>2];k=N[c>>2];l=N[c+4>>2];i=N[c+16>>2];s=N[c+32>>2];J[t+28>>2]=0;ha=Q(M+Q(Q(S*p)+Q(Q(O*s)+Q(h*R))));N[t+24>>2]=ha;ia=Q(z+Q(Q(S*j)+Q(Q(O*i)+Q(n*R))));N[t+20>>2]=ia;O=Q(W+Q(Q(S*g)+Q(Q(O*k)+Q(l*R))));N[t+16>>2]=O;J[t+12>>2]=0;R=Q(ma+Q(Q(y*$)+Q(Q(C*da)+Q(_*E))));N[t+8>>2]=R;S=Q(ea+Q(Q(y*Z)+Q(Q(C*U)+Q(X*E))));N[t+4>>2]=S;C=Q(ka+Q(Q(y*aa)+Q(Q(C*ba)+Q(ca*E))));N[t>>2]=C;x=K[a+736|0];if(!x){d=J[b+8>>2];J[d>>2]=1065353216;f=(m<<2)+4|0;J[f+d>>2]=1065353216;q=(m<<3)+8|0;J[q+d>>2]=1065353216;d=J[b+16>>2];J[d>>2]=-1082130432;J[d+f>>2]=-1082130432;J[d+q>>2]=-1082130432;M=N[c+56>>2];W=N[c+48>>2];z=N[c+52>>2]}f=0;c=J[b+12>>2];J[c+12>>2]=0;E=Q(ha-M);N[c+4>>2]=E;J[c>>2]=0;y=Q(ia-z);N[c+8>>2]=-y;q=m<<2;d=q+c|0;J[d+12>>2]=0;z=Q(O-W);N[d+8>>2]=z;J[d+4>>2]=0;N[d>>2]=-E;G=m<<3;d=G+c|0;J[d+8>>2]=0;J[d+12>>2]=0;N[d+4>>2]=-z;N[d>>2]=y;E=N[e+48>>2];y=N[e+56>>2];z=N[e+52>>2];e=J[b+20>>2];J[e+12>>2]=0;J[e>>2]=0;z=Q(S-z);N[e+8>>2]=z;y=Q(R-y);N[e+4>>2]=-y;d=e+q|0;J[d+12>>2]=0;C=Q(C-E);N[d+8>>2]=-C;J[d+4>>2]=0;N[d>>2]=y;d=e+G|0;J[d+8>>2]=0;J[d+12>>2]=0;N[d+4>>2]=C;N[d>>2]=-z;M=N[(K[a+748|0]&8?a+756|0:b+4|0)>>2];C=Q(M*N[b>>2]);q=J[b+28>>2];if(!x){while(1){d=f<<2;N[q+(P(f,m)<<2)>>2]=C*Q(N[d+t>>2]-N[d+(t+16|0)>>2]);f=f+1|0;if((f|0)!=3){continue}break}}d=P(m,12);E=Q(Q(r*g)+Q(Q(T*k)+Q(A*l)));N[d+c>>2]=E;x=d+8|0;y=Q(Q(r*p)+Q(Q(T*s)+Q(A*h)));N[x+c>>2]=y;G=d+4|0;A=Q(Q(r*j)+Q(Q(T*i)+Q(A*n)));N[G+c>>2]=A;f=m<<4;r=Q(Q(v*g)+Q(Q(o*k)+Q(l*u)));N[f+c>>2]=r;ja=f|4;z=Q(Q(v*j)+Q(Q(o*i)+Q(u*n)));N[ja+c>>2]=z;la=f|8;o=Q(Q(v*p)+Q(Q(o*s)+Q(u*h)));N[la+c>>2]=o;N[d+e>>2]=-E;N[e+x>>2]=-y;N[e+G>>2]=-A;N[e+f>>2]=-r;N[e+ja>>2]=-z;N[e+la>>2]=-o;g=Q(Q(B*g)+Q(Q(w*k)+Q(l*D)));k=Q(Q(L*Z)+Q(Q(F*U)+Q(I*X)));l=Q(Q(L*aa)+Q(Q(F*ba)+Q(ca*I)));n=Q(Q(B*j)+Q(Q(w*i)+Q(D*n)));i=Q(Q(g*k)-Q(l*n));u=Q(Q(L*$)+Q(Q(F*da)+Q(I*_)));j=Q(Q(B*p)+Q(Q(w*s)+Q(D*h)));h=Q(Q(n*u)-Q(k*j));p=Q(Q(j*l)-Q(u*g));N[d+q>>2]=Q(Q(i*y)+Q(Q(h*E)+Q(A*p)))*C;N[f+q>>2]=Q(Q(i*o)+Q(Q(h*r)+Q(z*p)))*C;q=K[a+716|0];h:{i:{if(q){x=K[a+737|0]!=0;h=Q(N[a+708>>2]*N[a+732>>2]);d=h>Q(0)?1:2;break i}if(!K[a+737|0]){break h}h=Q(0);x=1;d=0}f=P(m,5);m=f<<2;N[m+c>>2]=g;G=m+8|0;N[G+c>>2]=j;V=c;c=m+4|0;N[V+c>>2]=n;N[e+G>>2]=-j;N[c+e>>2]=-n;N[e+m>>2]=-g;c=a+688|0;p=Xb(c);k=Yb(c);c=J[b+28>>2];J[m+c>>2]=0;e=J[a+748>>2];l=e&2?N[a+764>>2]:M;m=k!=p;if(!(!x|!(m|!q))){if(e&4){N[J[b+32>>2]+(f<<2)>>2]=N[a+752>>2]}p=_b(N[a+728>>2],p,k,N[a+680>>2],Q(l*N[b>>2]));c=J[b+28>>2];e=f<<2;x=c+e|0;N[x>>2]=Q(Q(p*N[a+680>>2])*N[a+732>>2])+N[x>>2];N[e+J[b+36>>2]>>2]=-N[a+684>>2];N[e+J[b+40>>2]>>2]=N[a+684>>2]}if(!q){break h}e=f<<2;c=e+c|0;N[c>>2]=Q(Q(l*N[b>>2])*h)+N[c>>2];if(H[a+748|0]&1){N[e+J[b+32>>2]>>2]=N[a+760>>2]}j:{if(!m){J[J[b+36>>2]+(f<<2)>>2]=-8388609;h=Q(34028234663852886e22);break j}e=J[b+36>>2]+(f<<2)|0;if((d|0)==1){J[e>>2]=0;h=Q(34028234663852886e22);break j}J[e>>2]=-8388609;h=Q(0)}N[J[b+40>>2]+(f<<2)>>2]=h;h=N[a+704>>2];k:{if(!(h>Q(0))){break k}g=Q(Q(Q(N[ga+8>>2]*j)+Q(Q(N[ga>>2]*g)+Q(n*N[ga+4>>2])))-Q(Q(N[fa+8>>2]*j)+Q(Q(N[fa>>2]*g)+Q(n*N[fa+4>>2]))));l:{if((d|0)==1){if(!(gN[c>>2]){break l}break k}if(!(g>Q(0))){break k}h=Q(g*Q(-h));if(!(h>2])){break k}}N[c>>2]=h}N[c>>2]=N[a+700>>2]*N[c>>2]}ta=t+32|0}function fb(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=Q(0),g=Q(0),h=0,i=Q(0),j=Q(0),k=Q(0),l=0,m=Q(0),n=Q(0),o=Q(0),p=Q(0),q=Q(0),r=0,s=Q(0),t=Q(0),u=Q(0),v=Q(0),w=Q(0),x=Q(0),y=Q(0),z=Q(0),A=Q(0),B=Q(0),C=Q(0),D=Q(0),E=Q(0),F=0,G=Q(0),H=Q(0),I=Q(0),L=Q(0),M=Q(0),O=Q(0),P=Q(0),R=Q(0),S=Q(0),T=Q(0),U=Q(0),V=Q(0),W=Q(0),X=Q(0),Z=Q(0),_=Q(0),$=Q(0),aa=Q(0),ba=Q(0),ca=Q(0),da=Q(0),ea=Q(0),fa=Q(0),ga=Q(0);e=ta-272|0;ta=e;J[a+56>>2]=0;J[e+264>>2]=0;J[e+268>>2]=0;J[e+256>>2]=0;J[e+260>>2]=0;h=J[b+12>>2];J[e+168>>2]=J[b+8>>2];J[e+172>>2]=h;h=J[b+4>>2];J[e+160>>2]=J[b>>2];J[e+164>>2]=h;h=J[b+28>>2];J[e+184>>2]=J[b+24>>2];J[e+188>>2]=h;h=J[b+20>>2];J[e+176>>2]=J[b+16>>2];J[e+180>>2]=h;h=J[b+44>>2];J[e+200>>2]=J[b+40>>2];J[e+204>>2]=h;h=J[b+36>>2];J[e+192>>2]=J[b+32>>2];J[e+196>>2]=h;h=J[b+60>>2];J[e+216>>2]=J[b+56>>2];J[e+220>>2]=h;h=J[b+52>>2];J[e+208>>2]=J[b+48>>2];J[e+212>>2]=h;h=J[b+76>>2];J[e+104>>2]=J[b+72>>2];J[e+108>>2]=h;h=J[b+68>>2];J[e+96>>2]=J[b+64>>2];J[e+100>>2]=h;h=J[b+92>>2];J[e+120>>2]=J[b+88>>2];J[e+124>>2]=h;h=J[b+84>>2];J[e+112>>2]=J[b+80>>2];J[e+116>>2]=h;h=J[b+108>>2];J[e+136>>2]=J[b+104>>2];J[e+140>>2]=h;h=J[b+100>>2];J[e+128>>2]=J[b+96>>2];J[e+132>>2]=h;h=J[b+124>>2];J[e+152>>2]=J[b+120>>2];J[e+156>>2]=h;h=J[b+116>>2];J[e+144>>2]=J[b+112>>2];J[e+148>>2]=h;f=N[e+212>>2];i=N[e+148>>2];C=Q(Q(f+i)*Q(.5));N[e+212>>2]=f-C;f=N[e+216>>2];g=N[e+152>>2];D=Q(Q(f+g)*Q(.5));N[e+216>>2]=f-D;N[e+148>>2]=i-C;N[e+152>>2]=g-D;f=N[e+208>>2];i=N[e+144>>2];E=Q(Q(f+i)*Q(.5));N[e+208>>2]=f-E;N[e+144>>2]=i-E;l=J[J[a+28>>2]+4>>2]-17>>>0<=1?J[J[a+32>>2]+4>>2]-17>>>0<2:l;f=N[a+44>>2];i=N[a+48>>2];J[9146]=J[9146]+1;J[a+68>>2]=0;J[a+12>>2]=0;J[a+16>>2]=0;J[a+4>>2]=0;J[a+8>>2]=1065353216;J[a+60>>2]=-1;J[a+64>>2]=0;h=K[a+52|0];ac(J[a+24>>2]);p=h?Q(0):f;q=h?Q(0):i;t=Q(p+q);h=a+4|0;i=Q(0xde0b6b000000000);a:{b:{c:{while(1){m=N[b+32>>2];s=N[b>>2];o=N[b+16>>2];n=N[b+36>>2];u=N[b+4>>2];w=N[b+20>>2];x=N[b+40>>2];f=N[a+12>>2];k=N[b+8>>2];j=N[a+4>>2];y=N[b+24>>2];g=N[a+8>>2];J[e+252>>2]=0;v=k;k=Q(-j);N[e+248>>2]=Q(Q(v*k)-Q(y*g))-Q(x*f);N[e+244>>2]=Q(Q(u*k)-Q(w*g))-Q(n*f);N[e+240>>2]=Q(Q(s*k)-Q(o*g))-Q(m*f);k=N[b+96>>2];m=N[b+64>>2];s=N[b+80>>2];o=N[b+100>>2];n=N[b+68>>2];u=N[b+84>>2];w=N[b+104>>2];x=N[b+72>>2];y=N[b+88>>2];J[e+236>>2]=0;N[e+232>>2]=Q(w*f)+Q(Q(x*j)+Q(g*y));N[e+228>>2]=Q(o*f)+Q(Q(n*j)+Q(g*u));N[e+224>>2]=Q(k*f)+Q(Q(m*j)+Q(g*s));kb(e+80|0,J[a+28>>2],e+240|0);kb(e- -64|0,J[a+32>>2],e+224|0);J[e+60>>2]=0;f=N[e+88>>2];g=N[e+80>>2];k=N[e+84>>2];j=Q(Q(Q(f*N[e+200>>2])+Q(Q(g*N[e+192>>2])+Q(k*N[e+196>>2])))+N[e+216>>2]);N[e+56>>2]=j;s=Q(Q(Q(f*N[e+184>>2])+Q(Q(g*N[e+176>>2])+Q(k*N[e+180>>2])))+N[e+212>>2]);N[e+52>>2]=s;o=Q(Q(Q(f*N[e+168>>2])+Q(Q(g*N[e+160>>2])+Q(k*N[e+164>>2])))+N[e+208>>2]);N[e+48>>2]=o;J[e+44>>2]=0;f=N[e+72>>2];g=N[e+64>>2];m=N[e+68>>2];k=Q(Q(Q(f*N[e+136>>2])+Q(Q(g*N[e+128>>2])+Q(m*N[e+132>>2])))+N[e+152>>2]);N[e+40>>2]=k;n=Q(Q(Q(f*N[e+120>>2])+Q(Q(g*N[e+112>>2])+Q(m*N[e+116>>2])))+N[e+148>>2]);N[e+36>>2]=n;f=Q(Q(Q(f*N[e+104>>2])+Q(Q(g*N[e+96>>2])+Q(m*N[e+100>>2])))+N[e+144>>2]);N[e+32>>2]=f;if(l){J[e+40>>2]=0;J[e+56>>2]=0;k=Q(0);j=Q(0)}J[e+28>>2]=0;g=Q(j-k);N[e+24>>2]=g;f=Q(o-f);N[e+16>>2]=f;j=Q(s-n);N[e+20>>2]=j;d:{f=Q(Q(N[a+12>>2]*g)+Q(Q(N[a+4>>2]*f)+Q(j*N[a+8>>2])));r=10;e:{if(!(!(f>Q(0))|!(Q(f*f)>Q(i*N[b+128>>2])))){break e}r=1;if(Ce(J[a+24>>2],e+16|0)){break e}f=Q(i-f);if(!(f<=Q(i*Q(9.999999974752427e-7)))){break d}r=f<=Q(0)?2:11}J[a+68>>2]=r;break c}Fe(J[a+24>>2],e+16|0,e+48|0,e+32|0);f:{if(!De(J[a+24>>2],e)){l=3;break f}f=N[e+8>>2];g=Q(f*f);f=N[e>>2];k=Q(f*f);f=N[e+4>>2];f=Q(g+Q(k+Q(f*f)));if(f>2];J[h>>2]=J[e>>2];J[h+4>>2]=l;l=J[e+12>>2];J[h+8>>2]=J[e+8>>2];J[h+12>>2]=l;l=6;break f}if(Q(i-f)<=Q(i*Q(1.1920928955078125e-7))){l=12;i=f;break f}r=J[e+4>>2];J[h>>2]=J[e>>2];J[h+4>>2]=r;r=J[e+12>>2];J[h+8>>2]=J[e+8>>2];J[h+12>>2]=r;r=J[a+64>>2];J[a+64>>2]=r+1;if((r|0)>1e3){break b}if(J[J[a+24>>2]>>2]==4){J[a+68>>2]=13;break b}i=f;continue}break}J[a+68>>2]=l}Be(J[a+24>>2],e+240|0,e+224|0);l=J[h+12>>2];J[e+264>>2]=J[h+8>>2];J[e+268>>2]=l;l=J[h+4>>2];J[e+256>>2]=J[h>>2];J[e+260>>2]=l;f=N[a+12>>2];g=N[a+4>>2];j=N[a+8>>2];k=Q(Q(f*f)+Q(Q(g*g)+Q(j*j)));if(k>2]=5}if(k>Q(14210854715202004e-30)){k=Q(Q(1)/Q(Y(k)));N[e+256>>2]=k*N[e+256>>2];N[e+260>>2]=k*N[e+260>>2];N[e+264>>2]=k*N[e+264>>2];m=Q(Y(i));i=Q(p/m);N[e+240>>2]=N[e+240>>2]-Q(i*g);N[e+244>>2]=N[e+244>>2]-Q(i*j);N[e+248>>2]=N[e+248>>2]-Q(i*f);i=Q(q/m);N[e+224>>2]=Q(i*g)+N[e+224>>2];N[e+228>>2]=Q(i*j)+N[e+228>>2];N[e+232>>2]=Q(i*f)+N[e+232>>2];l=1;J[a+60>>2]=1;f=Q(Q(Q(1)/k)-t);break a}J[a+60>>2]=2}l=0;f=Q(0)}F=1;r=J[a+20>>2];F=!J[a+68>>2]|(!J[a+72>>2]|!r)?F:!(N[8328]>Q(t+f));g:{h:{i:{if(!r|l&F){break i}J[9145]=J[9145]+1;J[h+8>>2]=0;J[h+12>>2]=0;J[h>>2]=0;J[h+4>>2]=0;if(va[J[J[r>>2]+8>>2]](r,J[a+24>>2],J[a+28>>2],J[a+32>>2],e+160|0,e+96|0,h,e+80|0,e- -64|0,d)|0){k=Q(0);g=N[e+72>>2];t=N[e+88>>2];p=Q(g-t);m=N[e+64>>2];s=N[e+80>>2];i=Q(m-s);o=N[e+68>>2];n=N[e+84>>2];q=Q(o-n);j=Q(Q(p*p)+Q(Q(i*i)+Q(q*q)));if(j<=Q(14210854715202004e-30)){k=N[a+16>>2];p=N[a+12>>2];i=N[a+4>>2];q=N[a+8>>2];j=Q(Q(p*p)+Q(Q(i*i)+Q(q*q)))}if(j>Q(14210854715202004e-30)){J[a+60>>2]=3;g=Q(t-g);v=Q(g*g);g=Q(s-m);m=Q(g*g);g=Q(n-o);g=Q(-Q(Y(Q(v+Q(m+Q(g*g))))));if(!(!(g>2];J[e+248>>2]=J[e+88>>2];J[e+252>>2]=d;d=J[e+76>>2];J[e+232>>2]=J[e+72>>2];J[e+236>>2]=d;d=J[e+84>>2];J[e+240>>2]=J[e+80>>2];J[e+244>>2]=d;d=J[e+68>>2];J[e+224>>2]=J[e+64>>2];J[e+228>>2]=d;N[e+268>>2]=k;f=Q(Q(1)/Q(Y(j)));N[e+264>>2]=p*f;N[e+260>>2]=q*f;N[e+256>>2]=i*f;f=g;break h}J[a+60>>2]=8;break h}J[a+60>>2]=9;break i}g=N[a+12>>2];j=N[a+4>>2];k=N[a+8>>2];if(!(Q(Q(g*g)+Q(Q(j*j)+Q(k*k)))>Q(0))){break i}i=Q(N[e+88>>2]-N[e+72>>2]);o=Q(i*i);i=Q(N[e+80>>2]-N[e+64>>2]);v=Q(i*i);i=Q(N[e+84>>2]-N[e+68>>2]);i=Q(Q(Y(Q(o+Q(v+Q(i*i)))))-t);if(!(!(i>2];J[e+248>>2]=J[e+88>>2];J[e+252>>2]=d;d=J[e+76>>2];J[e+232>>2]=J[e+72>>2];J[e+236>>2]=d;N[e+248>>2]=N[e+248>>2]-Q(p*g);N[e+232>>2]=Q(q*g)+N[e+232>>2];d=J[e+68>>2];J[e+224>>2]=J[e+64>>2];J[e+228>>2]=d;d=J[e+84>>2];J[e+240>>2]=J[e+80>>2];J[e+244>>2]=d;N[e+224>>2]=Q(q*j)+N[e+224>>2];N[e+228>>2]=Q(q*k)+N[e+228>>2];N[e+240>>2]=N[e+240>>2]-Q(p*j);N[e+244>>2]=N[e+244>>2]-Q(p*k);d=J[h+12>>2];J[e+264>>2]=J[h+8>>2];J[e+268>>2]=d;d=J[h+4>>2];J[e+256>>2]=J[h>>2];J[e+260>>2]=d;g=N[e+264>>2];j=N[e+256>>2];k=N[e+260>>2];f=Q(Q(1)/Q(Y(Q(Q(g*g)+Q(Q(j*j)+Q(k*k))))));N[e+264>>2]=g*f;N[e+260>>2]=k*f;N[e+256>>2]=j*f;J[a+60>>2]=6;f=i;break h}J[a+60>>2]=5;break h}if(!l){break g}}if(!(f>2]>Q(f*f))){break g}d=J[e+260>>2];J[h>>2]=J[e+256>>2];J[h+4>>2]=d;d=J[e+268>>2];J[h+8>>2]=J[e+264>>2];J[h+12>>2]=d;N[a+56>>2]=f;k=N[b+32>>2];p=N[b>>2];q=N[b+16>>2];t=N[b+36>>2];m=N[b+4>>2];s=N[b+20>>2];i=N[b+40>>2];g=N[b+8>>2];o=N[b+24>>2];J[e+92>>2]=0;v=i;i=N[e+264>>2];j=N[e+256>>2];n=Q(g*j);g=N[e+260>>2];N[e+88>>2]=Q(v*i)+Q(n+Q(o*g));N[e+84>>2]=Q(t*i)+Q(Q(m*j)+Q(g*s));N[e+80>>2]=Q(k*i)+Q(Q(p*j)+Q(q*g));k=N[b+96>>2];p=N[b+64>>2];q=N[b+80>>2];t=N[b+100>>2];m=N[b+68>>2];s=N[b+84>>2];o=N[b+104>>2];n=N[b+72>>2];u=N[b+88>>2];J[e+76>>2]=0;j=Q(-j);N[e+72>>2]=Q(Q(n*j)-Q(u*g))-Q(o*i);N[e+68>>2]=Q(Q(m*j)-Q(s*g))-Q(t*i);N[e+64>>2]=Q(Q(p*j)-Q(q*g))-Q(k*i);d=e+48|0;h=e+80|0;kb(d,J[a+28>>2],h);l=e+32|0;r=e- -64|0;kb(l,J[a+32>>2],r);i=N[e+264>>2];G=N[e+216>>2];H=N[e+200>>2];I=N[e+192>>2];L=N[e+196>>2];M=N[e+152>>2];O=N[e+136>>2];P=N[e+128>>2];R=N[e+132>>2];S=N[e+208>>2];T=N[e+168>>2];U=N[e+160>>2];V=N[e+164>>2];W=N[e+144>>2];X=N[e+104>>2];Z=N[e+96>>2];_=N[e+100>>2];$=N[e+212>>2];aa=N[e+184>>2];k=N[e+56>>2];ba=N[e+176>>2];p=N[e+48>>2];ca=N[e+180>>2];q=N[e+52>>2];da=N[e+148>>2];ea=N[e+120>>2];t=N[e+40>>2];fa=N[e+112>>2];m=N[e+32>>2];ga=N[e+116>>2];s=N[e+36>>2];j=N[e+256>>2];g=N[e+260>>2];n=N[b+32>>2];u=N[b>>2];w=N[b+16>>2];x=N[b+36>>2];y=N[b+4>>2];z=N[b+20>>2];A=N[b+40>>2];o=N[b+8>>2];B=N[b+24>>2];J[e+92>>2]=0;v=o;o=Q(-j);N[e+88>>2]=Q(Q(v*o)-Q(B*g))-Q(A*i);N[e+84>>2]=Q(Q(y*o)-Q(z*g))-Q(x*i);N[e+80>>2]=Q(Q(u*o)-Q(w*g))-Q(n*i);n=N[b+96>>2];u=N[b+64>>2];w=N[b+80>>2];x=N[b+100>>2];y=N[b+68>>2];z=N[b+84>>2];A=N[b+104>>2];B=N[b+72>>2];v=N[b+88>>2];J[e+76>>2]=0;N[e+72>>2]=Q(A*i)+Q(Q(B*j)+Q(g*v));N[e+68>>2]=Q(x*i)+Q(Q(y*j)+Q(g*z));N[e+64>>2]=Q(n*i)+Q(Q(u*j)+Q(g*w));kb(d,J[a+28>>2],h);kb(l,J[a+32>>2],r);z=N[e+264>>2];j=N[e+56>>2];n=N[e+48>>2];u=N[e+52>>2];w=N[e+40>>2];x=N[e+32>>2];y=N[e+36>>2];v=Q(z*Q(Q(Q(Q(j*N[e+200>>2])+Q(Q(n*N[e+192>>2])+Q(u*N[e+196>>2])))+N[e+216>>2])-Q(Q(Q(w*N[e+136>>2])+Q(Q(x*N[e+128>>2])+Q(y*N[e+132>>2])))+N[e+152>>2])));A=N[e+256>>2];B=Q(A*Q(Q(Q(Q(j*N[e+168>>2])+Q(Q(n*N[e+160>>2])+Q(u*N[e+164>>2])))+N[e+208>>2])-Q(Q(Q(w*N[e+104>>2])+Q(Q(x*N[e+96>>2])+Q(y*N[e+100>>2])))+N[e+144>>2])));n=Q(Q(Q(Q(j*N[e+184>>2])+Q(Q(n*N[e+176>>2])+Q(u*N[e+180>>2])))+N[e+212>>2])-Q(Q(Q(w*N[e+120>>2])+Q(Q(x*N[e+112>>2])+Q(y*N[e+116>>2])))+N[e+148>>2]));j=N[e+260>>2];if(Q(v+Q(B+Q(n*j)))>2]=10;N[e+264>>2]=-z;N[e+260>>2]=-j;N[e+256>>2]=-A}J[e+92>>2]=0;N[e+88>>2]=D+N[e+232>>2];N[e+84>>2]=C+N[e+228>>2];N[e+80>>2]=E+N[e+224>>2];va[J[J[c>>2]+16>>2]](c,e+256|0,e+80|0,f)}ta=e+272|0}function vc(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;l=ta-16|0;ta=l;a:{b:{c:{d:{e:{f:{g:{h:{i:{j:{k:{l:{m:{n:{if(a>>>0<=244){g=J[9596];h=a>>>0<11?16:a+11&-8;c=h>>>3|0;b=g>>>c|0;if(b&3){c=c+((b^-1)&1)|0;a=c<<3;b=a+38424|0;d=J[a+38432>>2];a=J[d+8>>2];o:{if((b|0)==(a|0)){m=38384,n=Vt(c)&g,J[m>>2]=n;break o}J[a+12>>2]=b;J[b+8>>2]=a}a=d+8|0;b=c<<3;J[d+4>>2]=b|3;b=b+d|0;J[b+4>>2]=J[b+4>>2]|1;break a}k=J[9598];if(k>>>0>=h>>>0){break n}if(b){a=2<>2];a=J[e+8>>2];p:{if((b|0)==(a|0)){g=Vt(d)&g;J[9596]=g;break p}J[a+12>>2]=b;J[b+8>>2]=a}J[e+4>>2]=h|3;c=e+h|0;a=d<<3;d=a-h|0;J[c+4>>2]=d|1;J[a+e>>2]=d;if(k){b=(k&-8)+38424|0;f=J[9601];a=1<<(k>>>3);q:{if(!(a&g)){J[9596]=a|g;a=b;break q}a=J[b+8>>2]}J[b+8>>2]=f;J[a+12>>2]=f;J[f+12>>2]=b;J[f+8>>2]=a}a=e+8|0;J[9601]=c;J[9598]=d;break a}j=J[9597];if(!j){break n}c=J[(Tt(0-j&j)<<2)+38688>>2];f=(J[c+4>>2]&-8)-h|0;b=c;while(1){r:{a=J[b+16>>2];if(!a){a=J[b+20>>2];if(!a){break r}}b=(J[a+4>>2]&-8)-h|0;d=b>>>0>>0;f=d?b:f;c=d?a:c;b=a;continue}break}i=J[c+24>>2];d=J[c+12>>2];if((d|0)!=(c|0)){a=J[c+8>>2];J[a+12>>2]=d;J[d+8>>2]=a;break b}b=c+20|0;a=J[b>>2];if(!a){a=J[c+16>>2];if(!a){break m}b=c+16|0}while(1){e=b;d=a;b=a+20|0;a=J[b>>2];if(a){continue}b=d+16|0;a=J[d+16>>2];if(a){continue}break}J[e>>2]=0;break b}h=-1;if(a>>>0>4294967231){break n}a=a+11|0;h=a&-8;j=J[9597];if(!j){break n}f=0-h|0;g=0;s:{if(h>>>0<256){break s}g=31;if(h>>>0>16777215){break s}a=S(a>>>8|0);g=((h>>>38-a&1)-(a<<1)|0)+62|0}b=J[(g<<2)+38688>>2];t:{u:{v:{if(!b){a=0;break v}a=0;c=h<<((g|0)!=31?25-(g>>>1|0)|0:0);while(1){w:{e=(J[b+4>>2]&-8)-h|0;if(e>>>0>=f>>>0){break w}d=b;f=e;if(e){break w}f=0;a=b;break u}e=J[b+20>>2];b=J[((c>>>29&4)+b|0)+16>>2];a=e?(e|0)==(b|0)?a:e:a;c=c<<1;if(b){continue}break}}if(!(a|d)){d=0;a=2<>2]}if(!a){break t}}while(1){b=(J[a+4>>2]&-8)-h|0;c=b>>>0>>0;f=c?b:f;d=c?a:d;b=J[a+16>>2];if(b){a=b}else{a=J[a+20>>2]}if(a){continue}break}}if(!d|J[9598]-h>>>0<=f>>>0){break n}g=J[d+24>>2];c=J[d+12>>2];if((d|0)!=(c|0)){a=J[d+8>>2];J[a+12>>2]=c;J[c+8>>2]=a;break c}b=d+20|0;a=J[b>>2];if(!a){a=J[d+16>>2];if(!a){break l}b=d+16|0}while(1){e=b;c=a;b=a+20|0;a=J[b>>2];if(a){continue}b=c+16|0;a=J[c+16>>2];if(a){continue}break}J[e>>2]=0;break c}a=J[9598];if(a>>>0>=h>>>0){d=J[9601];b=a-h|0;x:{if(b>>>0>=16){c=d+h|0;J[c+4>>2]=b|1;J[a+d>>2]=b;J[d+4>>2]=h|3;break x}J[d+4>>2]=a|3;a=a+d|0;J[a+4>>2]=J[a+4>>2]|1;c=0;b=0}J[9598]=b;J[9601]=c;a=d+8|0;break a}i=J[9599];if(i>>>0>h>>>0){b=i-h|0;J[9599]=b;c=J[9602];a=c+h|0;J[9602]=a;J[a+4>>2]=b|1;J[c+4>>2]=h|3;a=c+8|0;break a}a=0;j=h+47|0;if(J[9714]){c=J[9716]}else{J[9717]=-1;J[9718]=-1;J[9715]=4096;J[9716]=4096;J[9714]=l+12&-16^1431655768;J[9719]=0;J[9707]=0;c=4096}e=j+c|0;f=0-c|0;b=e&f;if(b>>>0<=h>>>0){break a}d=J[9706];if(d){c=J[9704];g=c+b|0;if(d>>>0>>0|c>>>0>=g>>>0){break a}}y:{if(!(K[38828]&4)){z:{A:{B:{C:{d=J[9602];if(d){a=38832;while(1){c=J[a>>2];if(c>>>0<=d>>>0&d>>>0>2]>>>0){break C}a=J[a+8>>2];if(a){continue}break}}c=Bb(0);if((c|0)==-1){break z}g=b;d=J[9715];a=d-1|0;if(a&c){g=(b-c|0)+(a+c&0-d)|0}if(g>>>0<=h>>>0){break z}d=J[9706];if(d){a=J[9704];f=a+g|0;if(d>>>0>>0|a>>>0>=f>>>0){break z}}a=Bb(g);if((c|0)!=(a|0)){break B}break y}g=f&e-i;c=Bb(g);if((c|0)==(J[a>>2]+J[a+4>>2]|0)){break A}a=c}if((a|0)==-1){break z}if(h+48>>>0<=g>>>0){c=a;break y}c=J[9716];c=c+(j-g|0)&0-c;if((Bb(c)|0)==-1){break z}g=c+g|0;c=a;break y}if((c|0)!=-1){break y}}J[9707]=J[9707]|4}c=Bb(b);a=Bb(0);if((c|0)==-1|(a|0)==-1|a>>>0<=c>>>0){break i}g=a-c|0;if(g>>>0<=h+40>>>0){break i}}a=J[9704]+g|0;J[9704]=a;if(a>>>0>M[9705]){J[9705]=a}D:{e=J[9602];if(e){a=38832;while(1){d=J[a>>2];b=J[a+4>>2];if((d+b|0)==(c|0)){break D}a=J[a+8>>2];if(a){continue}break}break k}a=J[9600];if(!(a>>>0<=c>>>0?a:0)){J[9600]=c}a=0;J[9709]=g;J[9708]=c;J[9604]=-1;J[9605]=J[9714];J[9711]=0;while(1){d=a<<3;b=d+38424|0;J[d+38432>>2]=b;J[d+38436>>2]=b;a=a+1|0;if((a|0)!=32){continue}break}d=g-40|0;a=c+8&7?-8-c&7:0;b=d-a|0;J[9599]=b;a=a+c|0;J[9602]=a;J[a+4>>2]=b|1;J[(c+d|0)+4>>2]=40;J[9603]=J[9718];break j}if(J[a+12>>2]&8|(c>>>0<=e>>>0|d>>>0>e>>>0)){break k}J[a+4>>2]=b+g;a=e+8&7?-8-e&7:0;c=a+e|0;J[9602]=c;b=J[9599]+g|0;a=b-a|0;J[9599]=a;J[c+4>>2]=a|1;J[(b+e|0)+4>>2]=40;J[9603]=J[9718];break j}d=0;break b}c=0;break c}if(M[9600]>c>>>0){J[9600]=c}b=c+g|0;a=38832;E:{F:{G:{while(1){if((b|0)!=J[a>>2]){a=J[a+8>>2];if(a){continue}break G}break}if(!(K[a+12|0]&8)){break F}}a=38832;while(1){b=J[a>>2];if(b>>>0<=e>>>0){f=b+J[a+4>>2]|0;if(f>>>0>e>>>0){break E}}a=J[a+8>>2];continue}}J[a>>2]=c;J[a+4>>2]=J[a+4>>2]+g;j=(c+8&7?-8-c&7:0)+c|0;J[j+4>>2]=h|3;g=b+(b+8&7?-8-b&7:0)|0;i=h+j|0;a=g-i|0;if((e|0)==(g|0)){J[9602]=i;a=J[9599]+a|0;J[9599]=a;J[i+4>>2]=a|1;break d}if(J[9601]==(g|0)){J[9601]=i;a=J[9598]+a|0;J[9598]=a;J[i+4>>2]=a|1;J[a+i>>2]=a;break d}f=J[g+4>>2];if((f&3)!=1){break e}e=f&-8;if(f>>>0<=255){c=J[g+12>>2];b=J[g+8>>2];if((c|0)==(b|0)){m=38384,n=J[9596]&Vt(f>>>3|0),J[m>>2]=n;break f}J[b+12>>2]=c;J[c+8>>2]=b;break f}h=J[g+24>>2];c=J[g+12>>2];if((g|0)!=(c|0)){b=J[g+8>>2];J[b+12>>2]=c;J[c+8>>2]=b;break g}b=g+20|0;f=J[b>>2];if(!f){f=J[g+16>>2];if(!f){break h}b=g+16|0}while(1){d=b;c=f;b=c+20|0;f=J[b>>2];if(f){continue}b=c+16|0;f=J[c+16>>2];if(f){continue}break}J[d>>2]=0;break g}d=g-40|0;a=c+8&7?-8-c&7:0;b=d-a|0;J[9599]=b;a=a+c|0;J[9602]=a;J[a+4>>2]=b|1;J[(c+d|0)+4>>2]=40;J[9603]=J[9718];a=(f+(f-39&7?39-f&7:0)|0)-47|0;d=a>>>0>>0?e:a;J[d+4>>2]=27;a=J[9711];J[d+16>>2]=J[9710];J[d+20>>2]=a;a=J[9709];J[d+8>>2]=J[9708];J[d+12>>2]=a;J[9710]=d+8;J[9709]=g;J[9708]=c;J[9711]=0;a=d+24|0;while(1){J[a+4>>2]=7;b=a+8|0;a=a+4|0;if(b>>>0>>0){continue}break}if((d|0)==(e|0)){break j}J[d+4>>2]=J[d+4>>2]&-2;f=d-e|0;J[e+4>>2]=f|1;J[d>>2]=f;if(f>>>0<=255){b=(f&-8)+38424|0;c=J[9596];a=1<<(f>>>3);H:{if(!(c&a)){J[9596]=a|c;a=b;break H}a=J[b+8>>2]}J[b+8>>2]=e;J[a+12>>2]=e;J[e+12>>2]=b;J[e+8>>2]=a;break j}a=31;if(f>>>0<=16777215){a=S(f>>>8|0);a=((f>>>38-a&1)-(a<<1)|0)+62|0}J[e+28>>2]=a;J[e+16>>2]=0;J[e+20>>2]=0;b=(a<<2)+38688|0;I:{d=J[9597];c=1<>2]=e;break J}a=f<<((a|0)!=31?25-(a>>>1|0)|0:0);d=J[b>>2];while(1){b=d;if((f|0)==(J[b+4>>2]&-8)){break I}c=a>>>29|0;a=a<<1;c=(c&4)+b|0;d=J[c+16>>2];if(d){continue}break}J[c+16>>2]=e}J[e+24>>2]=b;J[e+12>>2]=e;J[e+8>>2]=e;break j}a=J[b+8>>2];J[a+12>>2]=e;J[b+8>>2]=e;J[e+24>>2]=0;J[e+12>>2]=b;J[e+8>>2]=a}a=J[9599];if(a>>>0<=h>>>0){break i}b=a-h|0;J[9599]=b;c=J[9602];a=c+h|0;J[9602]=a;J[a+4>>2]=b|1;J[c+4>>2]=h|3;a=c+8|0;break a}J[9595]=48;a=0;break a}c=0}if(!h){break f}d=J[g+28>>2];b=(d<<2)+38688|0;K:{if(J[b>>2]==(g|0)){J[b>>2]=c;if(c){break K}m=38388,n=J[9597]&Vt(d),J[m>>2]=n;break f}J[h+(J[h+16>>2]==(g|0)?16:20)>>2]=c;if(!c){break f}}J[c+24>>2]=h;b=J[g+16>>2];if(b){J[c+16>>2]=b;J[b+24>>2]=c}b=J[g+20>>2];if(!b){break f}J[c+20>>2]=b;J[b+24>>2]=c}a=a+e|0;g=e+g|0;f=J[g+4>>2]}J[g+4>>2]=f&-2;J[i+4>>2]=a|1;J[a+i>>2]=a;if(a>>>0<=255){b=(a&-8)+38424|0;c=J[9596];a=1<<(a>>>3);L:{if(!(c&a)){J[9596]=a|c;a=b;break L}a=J[b+8>>2]}J[b+8>>2]=i;J[a+12>>2]=i;J[i+12>>2]=b;J[i+8>>2]=a;break d}f=31;if(a>>>0<=16777215){b=S(a>>>8|0);f=((a>>>38-b&1)-(b<<1)|0)+62|0}J[i+28>>2]=f;J[i+16>>2]=0;J[i+20>>2]=0;b=(f<<2)+38688|0;M:{d=J[9597];c=1<>2]=i;break N}f=a<<((f|0)!=31?25-(f>>>1|0)|0:0);c=J[b>>2];while(1){b=c;if((J[c+4>>2]&-8)==(a|0)){break M}c=f>>>29|0;f=f<<1;d=(c&4)+b|0;c=J[d+16>>2];if(c){continue}break}J[d+16>>2]=i}J[i+24>>2]=b;J[i+12>>2]=i;J[i+8>>2]=i;break d}a=J[b+8>>2];J[a+12>>2]=i;J[b+8>>2]=i;J[i+24>>2]=0;J[i+12>>2]=b;J[i+8>>2]=a}a=j+8|0;break a}O:{if(!g){break O}b=J[d+28>>2];a=(b<<2)+38688|0;P:{if(J[a>>2]==(d|0)){J[a>>2]=c;if(c){break P}j=Vt(b)&j;J[9597]=j;break O}J[g+(J[g+16>>2]==(d|0)?16:20)>>2]=c;if(!c){break O}}J[c+24>>2]=g;a=J[d+16>>2];if(a){J[c+16>>2]=a;J[a+24>>2]=c}a=J[d+20>>2];if(!a){break O}J[c+20>>2]=a;J[a+24>>2]=c}Q:{if(f>>>0<=15){a=f+h|0;J[d+4>>2]=a|3;a=a+d|0;J[a+4>>2]=J[a+4>>2]|1;break Q}J[d+4>>2]=h|3;e=d+h|0;J[e+4>>2]=f|1;J[e+f>>2]=f;if(f>>>0<=255){b=(f&-8)+38424|0;c=J[9596];a=1<<(f>>>3);R:{if(!(c&a)){J[9596]=a|c;a=b;break R}a=J[b+8>>2]}J[b+8>>2]=e;J[a+12>>2]=e;J[e+12>>2]=b;J[e+8>>2]=a;break Q}a=31;if(f>>>0<=16777215){a=S(f>>>8|0);a=((f>>>38-a&1)-(a<<1)|0)+62|0}J[e+28>>2]=a;J[e+16>>2]=0;J[e+20>>2]=0;b=(a<<2)+38688|0;S:{c=1<>2]=e;break T}a=f<<((a|0)!=31?25-(a>>>1|0)|0:0);h=J[b>>2];while(1){b=h;if((J[b+4>>2]&-8)==(f|0)){break S}c=a>>>29|0;a=a<<1;c=(c&4)+b|0;h=J[c+16>>2];if(h){continue}break}J[c+16>>2]=e}J[e+24>>2]=b;J[e+12>>2]=e;J[e+8>>2]=e;break Q}a=J[b+8>>2];J[a+12>>2]=e;J[b+8>>2]=e;J[e+24>>2]=0;J[e+12>>2]=b;J[e+8>>2]=a}a=d+8|0;break a}U:{if(!i){break U}b=J[c+28>>2];a=(b<<2)+38688|0;V:{if(J[a>>2]==(c|0)){J[a>>2]=d;if(d){break V}m=38388,n=Vt(b)&j,J[m>>2]=n;break U}J[i+(J[i+16>>2]==(c|0)?16:20)>>2]=d;if(!d){break U}}J[d+24>>2]=i;a=J[c+16>>2];if(a){J[d+16>>2]=a;J[a+24>>2]=d}a=J[c+20>>2];if(!a){break U}J[d+20>>2]=a;J[a+24>>2]=d}W:{if(f>>>0<=15){a=f+h|0;J[c+4>>2]=a|3;a=a+c|0;J[a+4>>2]=J[a+4>>2]|1;break W}J[c+4>>2]=h|3;d=c+h|0;J[d+4>>2]=f|1;J[d+f>>2]=f;if(k){b=(k&-8)+38424|0;e=J[9601];a=1<<(k>>>3);X:{if(!(a&g)){J[9596]=a|g;a=b;break X}a=J[b+8>>2]}J[b+8>>2]=e;J[a+12>>2]=e;J[e+12>>2]=b;J[e+8>>2]=a}J[9601]=d;J[9598]=f}a=c+8|0}ta=l+16|0;return a|0}function Mj(a,b,c,d,e,f,g,h,i,j){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=Q(0),m=0,n=Q(0),o=Q(0),p=0,q=0,r=0,s=Q(0),t=Q(0),u=Q(0),v=Q(0),w=Q(0),x=Q(0),y=0,z=Q(0),A=0,B=0,C=Q(0),D=Q(0),E=Q(0),F=Q(0),G=Q(0),I=Q(0),L=0,O=Q(0),R=Q(0),S=Q(0),T=0,U=0,V=Q(0),W=0,X=0,Z=0,_=0,$=Q(0),aa=Q(0);a=ta-80|0;ta=a;l=N[e+52>>2];n=N[f+52>>2];o=N[e+56>>2];t=N[f+56>>2];s=N[e+48>>2];u=N[f+48>>2];J[a+76>>2]=0;N[a+64>>2]=u-s;N[a+72>>2]=t-o;N[a+68>>2]=n-l;q=ta-19040|0;ta=q;A=a+8|0;b=q+18912|0;Oe(c,e,d,f,A,b,1);j=q+18668|0;J[j>>2]=0;J[j+4>>2]=0;J[q+18660>>2]=0;J[q+18664>>2]=0;J[q+18896>>2]=0;J[q+18900>>2]=0;J[q+18908>>2]=2;J[q+18676>>2]=0;m=a- -64|0;l=N[m>>2];n=N[m+4>>2];o=N[m+8>>2];J[q+32>>2]=0;N[q+28>>2]=-o;N[q+24>>2]=-n;N[q+20>>2]=-l;a:{b:{c:{switch(Ne(q+18532|0,b,q+20|0)-1|0){case 0:b=q+18524|0;J[b>>2]=0;J[b+4>>2]=0;J[q+18516>>2]=0;J[q+18520>>2]=0;k=q+20|0;J[k+18492>>2]=0;J[k>>2]=9;J[k+40>>2]=0;J[k+44>>2]=0;J[k+48>>2]=0;J[k+52>>2]=0;J[k+56>>2]=0;r=J[k+18508>>2];b=J[k+18504>>2];while(1){j=k+P(255-p|0,56)|0;J[j+4204>>2]=b;J[j+4200>>2]=0;j=j+4156|0;if(b){J[b+44>>2]=j}J[k+18504>>2]=j;b=j;p=p+1|0;if((p|0)!=256){continue}break};J[k+18508>>2]=r+256;l=N[m>>2];n=N[m+4>>2];o=N[m+8>>2];J[q+16>>2]=0;N[q+12>>2]=-o;N[q+8>>2]=-n;N[q+4>>2]=-l;L=ta-16|0;ta=L;d:{e:{f:{g:{W=q+18532|0;p=J[W+372>>2];if(M[p+32>>2]<2){break g}if(!qb(W)){break g}b=J[k+18496>>2];if(b){m=J[k+18508>>2];j=J[k+18500>>2];while(1){r=J[b+48>>2];if(r){J[r+44>>2]=J[b+44>>2]}r=J[b+44>>2];if(r){J[r+48>>2]=J[b+48>>2]}if(J[k+18496>>2]==(b|0)){J[k+18496>>2]=J[b+48>>2]}J[b+44>>2]=0;J[b+48>>2]=J[k+18504>>2];r=J[k+18504>>2];if(r){J[r+44>>2]=b}j=j-1|0;J[k+18504>>2]=b;m=m+1|0;b=J[k+18496>>2];if(b){continue}break}J[k+18508>>2]=m;J[k+18500>>2]=j}J[k+18492>>2]=0;J[k>>2]=0;m=J[p>>2];j=J[p+12>>2];l=N[j+16>>2];t=Q(N[m+16>>2]-l);b=J[p+4>>2];n=N[j+20>>2];s=Q(N[b+20>>2]-n);r=J[p+8>>2];o=N[j+24>>2];u=Q(N[r+24>>2]-o);v=Q(N[m+20>>2]-n);w=Q(N[b+24>>2]-o);x=Q(N[r+16>>2]-l);o=Q(N[m+24>>2]-o);l=Q(N[b+16>>2]-l);n=Q(N[r+20>>2]-n);h:{if(!(Q(Q(Q(Q(t*s)*u)+Q(Q(Q(Q(Q(v*w)*x)+Q(Q(o*l)*n))-Q(Q(w*t)*n))-Q(Q(l*v)*u)))-Q(Q(s*o)*x))>2]=m;J[p>>2]=b;ua=J[p+16>>2];J[p+16>>2]=J[p+20>>2];J[p+20>>2]=ua;j=m}j=Fb(k,b,j,r,1);r=Fb(k,J[p+4>>2],J[p>>2],J[p+12>>2],1);y=Fb(k,J[p+8>>2],J[p+4>>2],J[p+12>>2],1);B=Fb(k,J[p>>2],J[p+8>>2],J[p+12>>2],1);if(J[k+18500>>2]!=4){break g}m=J[k+18496>>2];b=J[m+48>>2];if(b){l=N[m+16>>2];l=Q(l*l);while(1){n=N[b+16>>2];n=Q(n*n);p=n>2];if(b){continue}break}}p=J[m+28>>2];T=J[m+24>>2];U=J[m+20>>2];l=N[m+16>>2];w=N[m+12>>2];n=N[m+8>>2];o=N[m+4>>2];t=N[m>>2];J[j+32>>2]=r;H[j+52|0]=0;J[r+32>>2]=j;H[r+52|0]=0;J[j+36>>2]=y;H[j+53|0]=0;J[y+32>>2]=j;H[y+52|0]=1;J[j+40>>2]=B;H[j+54|0]=0;J[B+32>>2]=j;H[B+52|0]=2;J[r+36>>2]=B;H[r+53|0]=2;J[B+40>>2]=r;H[B+54|0]=1;J[r+40>>2]=y;H[r+54|0]=1;J[y+36>>2]=r;H[y+53|0]=2;H[y+54|0]=1;J[y+40>>2]=B;J[B+36>>2]=y;H[B+53|0]=2;J[k>>2]=0;j=0;while(1){i:{r=J[k+18492>>2];if(r>>>0<=127){b=0;J[L+12>>2]=0;J[L+4>>2]=0;J[L+8>>2]=0;J[k+18492>>2]=r+1;j=j+1|0;H[m+55|0]=j;y=ta-16|0;ta=y;s=N[m+8>>2];u=N[m>>2];v=N[m+4>>2];B=k+(r<<5)|0;r=B+60|0;J[r+12>>2]=0;F=s;s=Q(Q(1)/Q(Y(Q(Q(s*s)+Q(Q(u*u)+Q(v*v))))));N[r+8>>2]=F*s;N[r+4>>2]=v*s;N[r>>2]=u*s;gb(y,W,r);X=J[y+12>>2];J[r+24>>2]=J[y+8>>2];J[r+28>>2]=X;X=J[y+4>>2];J[r+16>>2]=J[y>>2];J[r+20>>2]=X;ta=y+16|0;if(!(Q(Q(Q(N[m+8>>2]*N[B+84>>2])+Q(Q(N[m>>2]*N[B+76>>2])+Q(N[m+4>>2]*N[B+80>>2])))-N[m+16>>2])>Q(9999999747378752e-20))){b=7;break f}while(1){y=Uc(k,j,r,J[((b<<2)+m|0)+32>>2],K[(b+m|0)+52|0],L+4|0);if(!y){break i}B=b>>>0<2;b=b+1|0;if(B){continue}break}break i}J[k>>2]=6;break e}if(!(y&M[L+12>>2]>2)){b=4;break f}b=J[L+4>>2];p=J[L+8>>2];J[b+36>>2]=p;H[b+53|0]=2;J[p+40>>2]=b;H[p+54|0]=1;b=J[m+48>>2];if(b){J[b+44>>2]=J[m+44>>2]}b=J[m+44>>2];if(b){J[b+48>>2]=J[m+48>>2]}if(J[k+18496>>2]==(m|0)){J[k+18496>>2]=J[m+48>>2]}J[k+18500>>2]=J[k+18500>>2]-1;J[m+44>>2]=0;J[m+48>>2]=J[k+18504>>2];b=J[k+18504>>2];if(b){J[b+44>>2]=m}J[k+18504>>2]=m;J[k+18508>>2]=J[k+18508>>2]+1;m=J[k+18496>>2];b=J[m+48>>2];if(b){l=N[m+16>>2];l=Q(l*l);while(1){n=N[b+16>>2];n=Q(n*n);p=n>2];if(b){continue}break}}p=J[m+28>>2];T=J[m+24>>2];U=J[m+20>>2];l=N[m+16>>2];w=N[m+12>>2];n=N[m+8>>2];o=N[m+4>>2];t=N[m>>2];if((j|0)!=255){continue}break}break e}b=8;J[k>>2]=8;l=Q(0);n=Q(1);o=Q(0);t=N[q+12>>2];s=N[q+4>>2];u=N[q+8>>2];v=Q(Y(Q(Q(t*t)+Q(Q(s*s)+Q(u*u)))));if(v>Q(0)){n=Q(Q(1)/v);o=Q(n*Q(-t));l=Q(n*Q(-u));n=Q(n*Q(-s))}J[k+52>>2]=0;J[k+56>>2]=0;N[k+48>>2]=o;N[k+44>>2]=l;N[k+40>>2]=n;J[k+36>>2]=1;j=J[p>>2];J[k+20>>2]=1065353216;J[k+4>>2]=j;break d}J[k>>2]=b}N[k+56>>2]=l;N[k+40>>2]=t;J[k+4>>2]=U;N[k+52>>2]=w;N[k+48>>2]=n;N[k+44>>2]=o;J[k+36>>2]=3;J[k+12>>2]=p;J[k+8>>2]=T;t=Q(t*l);s=Q(N[T+16>>2]-t);o=Q(o*l);u=Q(N[p+20>>2]-o);v=Q(N[p+16>>2]-t);w=Q(N[T+20>>2]-o);x=Q(Q(s*u)-Q(v*w));l=Q(n*l);n=Q(N[p+24>>2]-l);F=u;u=Q(N[T+24>>2]-l);w=Q(Q(w*n)-Q(F*u));n=Q(Q(u*v)-Q(n*s));n=Q(Y(Q(Q(x*x)+Q(Q(w*w)+Q(n*n)))));N[k+20>>2]=n;s=Q(N[p+16>>2]-t);u=Q(N[U+20>>2]-o);v=Q(N[U+16>>2]-t);w=Q(N[p+20>>2]-o);x=Q(Q(s*u)-Q(v*w));z=Q(x*x);F=w;w=Q(N[U+24>>2]-l);x=u;u=Q(N[p+24>>2]-l);x=Q(Q(F*w)-Q(x*u));s=Q(Q(u*v)-Q(w*s));s=Q(Y(Q(z+Q(Q(x*x)+Q(s*s)))));N[k+24>>2]=s;u=Q(N[U+16>>2]-t);v=Q(N[T+20>>2]-o);t=Q(N[T+16>>2]-t);o=Q(N[U+20>>2]-o);w=Q(Q(u*v)-Q(t*o));F=o;o=Q(N[T+24>>2]-l);l=Q(N[U+24>>2]-l);v=Q(Q(F*o)-Q(v*l));l=Q(Q(l*t)-Q(o*u));o=Q(Y(Q(Q(w*w)+Q(Q(v*v)+Q(l*l)))));l=Q(o+Q(n+s));N[k+28>>2]=o/l;N[k+24>>2]=s/l;N[k+20>>2]=n/l;b=J[k>>2]}ta=L+16|0;if((b|0)==9){break b}j:{if(!J[q+56>>2]){l=Q(0);n=Q(0);o=Q(0);break j}k=q+24|0;o=Q(0);m=0;n=Q(0);l=Q(0);while(1){b=J[q+19032>>2];p=J[q+19036>>2];j=J[q+18912>>2]+(p>>1)|0;r=m<<2;va[(p&1?J[b+J[j>>2]>>2]:b)|0](q+4|0,j,J[r+k>>2]);t=N[(q+r|0)+40>>2];o=Q(o+Q(t*N[q+12>>2]));n=Q(n+Q(t*N[q+8>>2]));l=Q(l+Q(N[q+4>>2]*t));m=m+1|0;if(m>>>0>2]){continue}break}}_=1;J[A>>2]=1;t=N[e+52>>2];s=N[e+24>>2];u=N[e+20>>2];v=N[e+56>>2];w=N[e+40>>2];x=N[e+36>>2];z=N[e+48>>2];C=N[e+8>>2];D=N[e>>2];E=N[e+4>>2];G=N[e+16>>2];I=N[e+32>>2];J[A+16>>2]=0;N[A+12>>2]=v+Q(Q(o*w)+Q(Q(l*I)+Q(n*x)));N[A+8>>2]=t+Q(Q(o*s)+Q(Q(l*G)+Q(n*u)));N[A+4>>2]=z+Q(Q(o*C)+Q(Q(l*D)+Q(n*E)));w=N[e+52>>2];x=N[e+20>>2];z=N[e+24>>2];C=N[e+56>>2];D=N[e+36>>2];E=N[e+40>>2];G=N[e+48>>2];I=N[e+8>>2];O=N[e>>2];R=N[e+4>>2];S=N[e+16>>2];V=N[e+32>>2];s=N[q- -64>>2];u=N[q+68>>2];v=N[q+60>>2];t=N[q+76>>2];J[A+48>>2]=0;J[A+32>>2]=0;N[A+52>>2]=-t;N[A+44>>2]=-u;N[A+40>>2]=-s;N[A+36>>2]=-v;o=Q(o-Q(t*u));l=Q(l-Q(v*t));n=Q(n-Q(t*s));N[A+28>>2]=C+Q(Q(E*o)+Q(Q(V*l)+Q(D*n)));N[A+24>>2]=w+Q(Q(o*z)+Q(Q(l*S)+Q(n*x)));N[A+20>>2]=G+Q(Q(o*I)+Q(Q(l*O)+Q(n*R)));break a;case 1:break c;default:break a}}J[A>>2]=2;break a}J[A>>2]=3}ta=q+19040|0;k:{if(!_){l=Q(0);n=Q(0);o=Q(0);t=Q(0);s=Q(0);u=Q(0);j=ta-544|0;ta=j;b=j+416|0;Oe(c,e,d,f,a+8|0,b,0);J[j+172>>2]=0;J[j+176>>2]=0;J[j+164>>2]=0;J[j+168>>2]=0;J[j+400>>2]=0;J[j+404>>2]=0;J[j+412>>2]=2;J[j+180>>2]=0;l:{m:{d=Ne(j+36|0,b,a- -64|0);if(!d){c=J[j+408>>2];if(!J[c+32>>2]){break m}while(1){f=Z<<2;m=c+f|0;v=N[m+16>>2];b=J[j+536>>2];k=J[j+540>>2];c=J[j+416>>2]+(k>>1)|0;va[(k&1?J[b+J[c>>2]>>2]:b)|0](j+20|0,c,J[m>>2]);w=N[j+20>>2];x=N[j+24>>2];z=N[j+28>>2];b=J[f+J[j+408>>2]>>2];C=N[b>>2];D=N[b+4>>2];E=N[b+8>>2];J[j+16>>2]=0;N[j+12>>2]=-E;N[j+8>>2]=-D;N[j+4>>2]=-C;l=Q(l+Q(v*z));n=Q(n+Q(v*x));o=Q(o+Q(v*w));c=ta-32|0;ta=c;b=j+416|0;f=J[b+124>>2];m=J[b+120>>2];k=J[b+4>>2]+(f>>1)|0;f=f&1?J[m+J[k>>2]>>2]:m;C=N[b+16>>2];D=N[b+12>>2];E=N[b+32>>2];G=N[b+24>>2];I=N[b+28>>2];O=N[b+48>>2];R=N[b+40>>2];S=N[b+44>>2];V=N[b+8>>2];w=N[j+12>>2];x=N[j+4>>2];z=N[j+8>>2];J[c+12>>2]=0;N[c+8>>2]=Q(O*w)+Q(Q(R*x)+Q(z*S));N[c+4>>2]=Q(E*w)+Q(Q(G*x)+Q(z*I));N[c>>2]=Q(C*w)+Q(Q(V*x)+Q(D*z));va[f|0](c+16|0,k,c);C=N[b+104>>2];D=N[b- -64>>2];E=N[b+60>>2];G=N[b+108>>2];I=N[b+80>>2];O=N[b+72>>2];R=N[b+76>>2];S=N[b+112>>2];V=N[b+96>>2];F=N[b+88>>2];$=N[b+92>>2];aa=N[b+56>>2];w=N[c+24>>2];x=N[c+16>>2];z=N[c+20>>2];J[j+32>>2]=0;N[j+28>>2]=S+Q(Q(w*V)+Q(Q(x*F)+Q(z*$)));N[j+24>>2]=G+Q(Q(w*I)+Q(Q(x*O)+Q(z*R)));N[j+20>>2]=C+Q(Q(w*D)+Q(Q(x*aa)+Q(z*E)));ta=c+32|0;t=Q(t+Q(v*N[j+28>>2]));s=Q(s+Q(v*N[j+24>>2]));u=Q(u+Q(v*N[j+20>>2]));Z=Z+1|0;c=J[j+408>>2];if(Z>>>0>2]){continue}break}break m}J[a+8>>2]=(d|0)==1?1:2;break l}v=N[e+52>>2];w=N[e+24>>2];x=N[e+20>>2];z=N[e+56>>2];C=N[e+40>>2];D=N[e+36>>2];E=N[e+16>>2];G=N[e+32>>2];I=N[e+48>>2];O=N[e+8>>2];R=N[e>>2];S=N[e+4>>2];J[a+24>>2]=0;N[a+12>>2]=I+Q(Q(l*O)+Q(Q(o*R)+Q(n*S)));N[a+20>>2]=z+Q(Q(l*C)+Q(Q(o*G)+Q(n*D)));N[a+16>>2]=v+Q(Q(l*w)+Q(Q(o*E)+Q(n*x)));w=N[e+52>>2];x=N[e+24>>2];z=N[e+20>>2];C=N[e+56>>2];D=N[e+40>>2];E=N[e+36>>2];G=N[e+48>>2];I=N[e+8>>2];O=N[e>>2];R=N[e+4>>2];S=N[e+16>>2];V=N[e+32>>2];l=Q(l-t);o=Q(o-u);n=Q(n-s);v=Q(Y(Q(Q(l*l)+Q(Q(o*o)+Q(n*n)))));N[a+60>>2]=v;J[a+56>>2]=0;J[a+40>>2]=0;F=l;l=v>Q(9999999747378752e-20)?Q(Q(1)/v):Q(1);N[a+52>>2]=F*l;N[a+48>>2]=n*l;N[a+44>>2]=o*l;N[a+36>>2]=C+Q(Q(t*D)+Q(Q(u*V)+Q(s*E)));N[a+32>>2]=w+Q(Q(t*x)+Q(Q(u*S)+Q(s*z)));N[a+28>>2]=G+Q(Q(t*I)+Q(Q(u*O)+Q(s*R)))}ta=j+544|0;if(d){break k}}b=J[a+16>>2];J[h>>2]=J[a+12>>2];J[h+4>>2]=b;b=J[a+24>>2];J[h+8>>2]=J[a+20>>2];J[h+12>>2]=b;b=J[a+40>>2];J[i+8>>2]=J[a+36>>2];J[i+12>>2]=b;b=J[a+32>>2];J[i>>2]=J[a+28>>2];J[i+4>>2]=b;b=J[a+56>>2];J[g+8>>2]=J[a+52>>2];J[g+12>>2]=b;b=J[a+48>>2];J[g>>2]=J[a+44>>2];J[g+4>>2]=b}ta=a+80|0;return _|0}function Lc(a,b,c){var d=Q(0),e=Q(0),f=Q(0),g=Q(0),h=Q(0),i=Q(0),j=Q(0),k=Q(0),l=Q(0),m=Q(0),n=Q(0),o=Q(0),p=Q(0),q=Q(0),r=Q(0),s=Q(0),t=Q(0),u=Q(0),v=Q(0),w=Q(0),x=Q(0),y=Q(0),z=0,A=Q(0),B=Q(0),C=0,D=0,E=0,F=0,G=0,I=0,K=0,L=0,M=0,O=0,P=0,R=0,S=0,T=Q(0);A=N[b+52>>2];y=N[b+56>>2];l=N[a+96>>2];n=N[a+100>>2];o=N[a+104>>2];d=N[b+20>>2];e=N[b+24>>2];q=N[a- -64>>2];r=N[a+80>>2];s=N[a+52>>2];t=N[a+68>>2];u=N[a+84>>2];v=N[a+56>>2];g=N[b+36>>2];w=N[a+72>>2];f=N[b+40>>2];x=N[a+88>>2];B=N[b+48>>2];h=N[b+8>>2];m=N[b>>2];j=N[b+4>>2];k=N[b+16>>2];p=N[a+48>>2];i=N[b+32>>2];J[a+1296>>2]=0;J[a+1280>>2]=0;J[a+1264>>2]=0;J[a+1248>>2]=0;b=a+1276|0;N[b>>2]=Q(x*f)+Q(Q(v*i)+Q(w*g));D=a+1272|0;N[D>>2]=Q(u*f)+Q(Q(s*i)+Q(t*g));E=a+1268|0;N[E>>2]=Q(r*f)+Q(Q(p*i)+Q(q*g));z=a+1260|0;N[z>>2]=Q(x*e)+Q(Q(v*k)+Q(w*d));C=a+1256|0;N[C>>2]=Q(u*e)+Q(Q(s*k)+Q(t*d));F=a+1252|0;N[F>>2]=Q(r*e)+Q(Q(p*k)+Q(q*d));G=a+1244|0;N[G>>2]=Q(x*h)+Q(Q(v*m)+Q(j*w));I=a+1240|0;N[I>>2]=Q(u*h)+Q(Q(s*m)+Q(j*t));N[a+1236>>2]=Q(r*h)+Q(Q(p*m)+Q(q*j));K=a+1292|0;N[K>>2]=y+Q(Q(o*f)+Q(Q(l*i)+Q(g*n)));L=a+1288|0;N[L>>2]=A+Q(Q(o*e)+Q(Q(l*k)+Q(d*n)));M=a+1284|0;N[M>>2]=B+Q(Q(o*h)+Q(Q(l*m)+Q(j*n)));A=N[c+52>>2];y=N[c+56>>2];l=N[a+160>>2];n=N[a+164>>2];o=N[a+168>>2];d=N[c+20>>2];e=N[c+24>>2];q=N[a+128>>2];r=N[a+144>>2];s=N[a+116>>2];t=N[a+132>>2];u=N[a+148>>2];v=N[a+120>>2];w=N[a+136>>2];g=N[c+36>>2];x=N[a+152>>2];f=N[c+40>>2];B=N[c+48>>2];h=N[c+8>>2];m=N[c>>2];j=N[c+4>>2];k=N[c+16>>2];p=N[a+112>>2];i=N[c+32>>2];J[a+1360>>2]=0;J[a+1344>>2]=0;J[a+1328>>2]=0;J[a+1312>>2]=0;N[a+1340>>2]=Q(x*f)+Q(Q(v*i)+Q(w*g));N[a+1336>>2]=Q(u*f)+Q(Q(s*i)+Q(t*g));N[a+1332>>2]=Q(r*f)+Q(Q(p*i)+Q(q*g));N[a+1324>>2]=Q(x*e)+Q(Q(v*k)+Q(w*d));N[a+1320>>2]=Q(u*e)+Q(Q(s*k)+Q(t*d));N[a+1316>>2]=Q(r*e)+Q(Q(p*k)+Q(q*d));N[a+1308>>2]=Q(x*h)+Q(Q(v*m)+Q(j*w));N[a+1304>>2]=Q(u*h)+Q(Q(s*m)+Q(j*t));N[a+1300>>2]=Q(r*h)+Q(Q(p*m)+Q(q*j));O=a+1356|0;N[O>>2]=y+Q(Q(o*f)+Q(Q(l*i)+Q(g*n)));P=a+1352|0;N[P>>2]=A+Q(Q(o*e)+Q(Q(l*k)+Q(d*n)));R=a+1348|0;N[R>>2]=B+Q(Q(o*h)+Q(Q(l*m)+Q(j*n)));c=0;J[a+1440>>2]=0;e=N[G>>2];h=N[F>>2];m=N[D>>2];j=N[E>>2];k=N[C>>2];o=Q(Q(h*m)-Q(j*k));g=N[a+1236>>2];i=N[b>>2];l=N[z>>2];r=Q(Q(k*i)-Q(m*l));f=N[I>>2];s=Q(Q(l*j)-Q(i*h));d=Q(Q(1)/Q(Q(e*o)+Q(Q(g*r)+Q(f*s))));n=Q(N[O>>2]-N[K>>2]);p=Q(o*d);o=Q(N[R>>2]-N[M>>2]);q=Q(N[P>>2]-N[L>>2]);N[a+1436>>2]=Q(Q(Q(Q(g*k)-Q(h*f))*d)*n)+Q(Q(p*o)+Q(q*Q(Q(Q(f*j)-Q(m*g))*d)));N[a+1432>>2]=Q(Q(Q(Q(e*h)-Q(l*g))*d)*n)+Q(Q(Q(s*d)*o)+Q(q*Q(Q(Q(g*i)-Q(j*e))*d)));N[a+1428>>2]=Q(Q(Q(Q(f*l)-Q(k*e))*d)*n)+Q(Q(Q(r*d)*o)+Q(q*Q(Q(Q(e*m)-Q(i*f))*d)));E=a+924|0;D=a+908|0;F=a+696|0;G=a+940|0;I=a+680|0;K=a+1428|0;while(1){z=c<<2;d=N[z+K>>2];N[z+G>>2]=d;e=Q(0);C=0;g=N[z+I>>2];f=N[z+F>>2];a:{if(g>f){b=D}else{N[z+D>>2]=d-g;C=3;if(f==g){break a}e=Q(d-f);C=4;b=E}N[b+z>>2]=e}J[(a+z|0)+956>>2]=C;c=c+1|0;if((c|0)!=3){continue}break}b=ta-48|0;ta=b;n=N[a+1332>>2];o=N[a+1316>>2];q=N[a+1336>>2];r=N[a+1304>>2];s=N[a+1320>>2];t=N[a+1340>>2];u=N[a+1308>>2];v=N[a+1324>>2];e=N[a+1244>>2];h=N[a+1256>>2];m=N[a+1272>>2];g=N[a+1240>>2];j=N[a+1268>>2];k=N[a+1260>>2];i=N[a+1252>>2];l=N[a+1276>>2];w=N[a+1300>>2];f=N[a+1236>>2];J[b+44>>2]=0;J[b+28>>2]=0;p=Q(Q(i*m)-Q(j*h));B=Q(Q(h*l)-Q(m*k));y=Q(Q(k*j)-Q(l*i));d=Q(Q(1)/Q(Q(e*p)+Q(Q(f*B)+Q(g*y))));x=Q(Q(Q(f*h)-Q(i*g))*d);p=Q(p*d);A=Q(Q(Q(g*j)-Q(m*f))*d);N[b+40>>2]=Q(t*x)+Q(Q(u*p)+Q(v*A));N[b+36>>2]=Q(q*x)+Q(Q(r*p)+Q(A*s));i=Q(Q(Q(e*i)-Q(k*f))*d);y=Q(y*d);f=Q(Q(Q(f*l)-Q(j*e))*d);N[b+24>>2]=Q(t*i)+Q(Q(u*y)+Q(v*f));N[b+20>>2]=Q(q*i)+Q(Q(r*y)+Q(f*s));J[b+12>>2]=0;N[b+32>>2]=Q(n*x)+Q(Q(w*p)+Q(o*A));N[b+16>>2]=Q(n*i)+Q(Q(w*y)+Q(o*f));f=Q(Q(Q(g*k)-Q(h*e))*d);h=Q(B*d);d=Q(Q(Q(e*m)-Q(l*g))*d);N[b+8>>2]=Q(t*f)+Q(Q(u*h)+Q(v*d));N[b+4>>2]=Q(q*f)+Q(Q(r*h)+Q(d*s));N[b>>2]=Q(n*f)+Q(Q(w*h)+Q(o*d));b:{c:{d:{e:{f:{g:{h:{i:{c=J[a+1232>>2];switch(c|0){case 2:break g;case 1:break h;case 0:break i;case 5:break d;case 4:break e;case 3:break f;default:break b}}c=a+1364|0;d=N[b+32>>2];j:{k:{if(dQ(-1)){S=c,T=Qa(Q(-N[b+36>>2]),N[b+40>>2]),N[S>>2]=T;d=N[b+32>>2];d=dQ(1)?Q(1):d),N[S+4>>2]=T;d=Qa(Q(-N[b+16>>2]),N[b>>2]);break j}d=N[b+20>>2];e=N[b+4>>2];J[c+4>>2]=-1077342245;S=c,T=Q(-Qa(e,d)),N[S>>2]=T;break k}d=N[b+20>>2];e=N[b+4>>2];J[c+4>>2]=1070141403;S=c,T=Qa(e,d),N[S>>2]=T}d=Q(0)}N[c+8>>2]=d;break c}c=a+1364|0;d=N[b+16>>2];l:{if(dQ(-1)){S=c,T=Qa(N[b+24>>2],N[b+20>>2]),N[S>>2]=T;S=c,T=Qa(N[b+32>>2],N[b>>2]),N[S+4>>2]=T;d=N[b+16>>2];d=d>Q(1)?Q(-1):Q(-d);d=tb(d>Q(1)?Q(1):d);break l}d=N[b+40>>2];e=N[b+8>>2];J[c+4>>2]=0;S=c,T=Q(-Qa(Q(-e),d)),N[S>>2]=T;d=Q(1.5707963705062866);break l}d=N[b+40>>2];e=N[b+8>>2];J[c+4>>2]=0;S=c,T=Qa(Q(-e),d),N[S>>2]=T;d=Q(-1.5707963705062866)}N[c+8>>2]=d;break c}c=a+1364|0;d=N[b+36>>2];m:{n:{if(dQ(-1)){d=d>Q(1)?Q(-1):Q(-d);S=c,T=tb(d>Q(1)?Q(1):d),N[S>>2]=T;S=c,T=Qa(N[b+32>>2],N[b+40>>2]),N[S+4>>2]=T;d=Qa(N[b+4>>2],N[b+20>>2]);break m}J[c>>2]=1070141403;S=c,T=Q(-Qa(Q(-N[b+16>>2]),N[b>>2])),N[S+4>>2]=T;break n}J[c>>2]=-1077342245;S=c,T=Qa(Q(-N[b+16>>2]),N[b>>2]),N[S+4>>2]=T}d=Q(0)}N[c+8>>2]=d;break c}c=a+1364|0;d=N[b+4>>2];o:{if(dQ(-1)){S=c,T=Qa(Q(-N[b+36>>2]),N[b+20>>2]),N[S>>2]=T;S=c,T=Qa(Q(-N[b+8>>2]),N[b>>2]),N[S+4>>2]=T;d=N[b+4>>2];d=dQ(1)?Q(1):d);break o}J[c>>2]=0;S=c,T=Q(-Qa(N[b+24>>2],N[b+40>>2])),N[S+4>>2]=T;d=Q(-1.5707963705062866);break o}J[c>>2]=0;S=c,T=Qa(N[b+24>>2],N[b+40>>2]),N[S+4>>2]=T;d=Q(1.5707963705062866)}N[c+8>>2]=d;break c}c=a+1364|0;d=N[b+24>>2];p:{if(dQ(-1)){d=dQ(1)?Q(1):d),N[S>>2]=T;S=c,T=Qa(Q(-N[b+8>>2]),N[b+40>>2]),N[S+4>>2]=T;d=Qa(Q(-N[b+16>>2]),N[b+20>>2]);break p}J[c>>2]=-1077342245;J[c+4>>2]=0;d=Q(-Qa(N[b+32>>2],N[b>>2]));break p}J[c>>2]=1070141403;J[c+4>>2]=0;d=Qa(N[b+32>>2],N[b>>2])}N[c+8>>2]=d;break c}c=a+1364|0;d=N[b+8>>2];q:{if(dQ(-1)){S=c,T=Qa(N[b+24>>2],N[b+40>>2]),N[S>>2]=T;d=N[b+8>>2];d=d>Q(1)?Q(-1):Q(-d);S=c,T=tb(d>Q(1)?Q(1):d),N[S+4>>2]=T;d=Qa(N[b+4>>2],N[b>>2]);break q}J[c>>2]=0;J[c+4>>2]=1070141403;d=Q(-Qa(N[b+16>>2],N[b+32>>2]));break q}J[c>>2]=0;J[c+4>>2]=-1077342245;d=Qa(Q(-N[b+16>>2]),Q(-N[b+32>>2]))}N[c+8>>2]=d}c=J[a+1232>>2]}r:{s:{t:{switch(c|0){default:j=N[a+1420>>2];g=N[a+1416>>2];f=N[a+1412>>2];k=N[a+1404>>2];h=N[a+1400>>2];i=N[a+1396>>2];m=N[a+1388>>2];e=N[a+1384>>2];d=N[a+1380>>2];break r;case 0:J[a+1408>>2]=0;J[a+1424>>2]=0;J[a+1392>>2]=0;d=N[a+1300>>2];l=N[a+1276>>2];e=N[a+1332>>2];n=N[a+1244>>2];h=Q(Q(d*l)-Q(e*n));o=N[a+1260>>2];f=N[a+1316>>2];i=Q(Q(o*e)-Q(f*l));j=Q(Q(d*h)-Q(i*f));k=Q(Q(n*f)-Q(d*o));g=Q(Q(e*i)-Q(k*d));f=Q(Q(f*k)-Q(h*e));m=Q(Q(i*o)-Q(n*h));e=Q(Q(k*n)-Q(l*i));d=Q(Q(h*l)-Q(o*k));break r;case 1:J[a+1424>>2]=0;J[a+1408>>2]=0;J[a+1392>>2]=0;d=N[a+1316>>2];l=N[a+1272>>2];n=N[a+1256>>2];e=N[a+1332>>2];f=Q(Q(d*l)-Q(n*e));o=N[a+1240>>2];h=N[a+1300>>2];g=Q(Q(e*o)-Q(l*h));k=Q(Q(f*d)-Q(h*g));j=Q(Q(h*n)-Q(o*d));h=Q(Q(j*h)-Q(e*f));i=Q(Q(g*e)-Q(d*j));m=Q(Q(o*g)-Q(f*n));e=Q(Q(l*f)-Q(j*o));d=Q(Q(n*j)-Q(g*l));break r;case 2:J[a+1424>>2]=0;J[a+1408>>2]=0;J[a+1392>>2]=0;g=N[a+1304>>2];k=N[a+1260>>2];l=N[a+1244>>2];f=N[a+1320>>2];m=Q(Q(g*k)-Q(l*f));N[a+1388>>2]=m;n=N[a+1336>>2];j=N[a+1276>>2];e=Q(Q(l*n)-Q(g*j));N[a+1384>>2]=e;d=Q(Q(f*j)-Q(k*n));N[a+1380>>2]=d;h=Q(Q(j*d)-Q(m*l));N[a+1400>>2]=h;i=Q(Q(k*m)-Q(e*j));N[a+1396>>2]=i;j=Q(Q(d*f)-Q(g*e));g=Q(Q(m*g)-Q(n*d));f=Q(Q(e*n)-Q(f*m));k=Q(Q(l*e)-Q(d*k));break r;case 3:J[a+1424>>2]=0;J[a+1408>>2]=0;J[a+1392>>2]=0;d=N[a+1236>>2];l=N[a+1320>>2];e=N[a+1304>>2];m=N[a+1252>>2];j=Q(Q(d*l)-Q(e*m));N[a+1420>>2]=j;i=N[a+1268>>2];n=N[a+1336>>2];g=Q(Q(e*i)-Q(d*n));N[a+1416>>2]=g;f=Q(Q(m*n)-Q(l*i));N[a+1412>>2]=f;k=Q(Q(f*m)-Q(d*g));N[a+1404>>2]=k;h=Q(Q(j*d)-Q(i*f));N[a+1400>>2]=h;i=Q(Q(g*i)-Q(m*j));N[a+1396>>2]=i;m=Q(Q(e*g)-Q(f*l));N[a+1388>>2]=m;e=Q(Q(n*f)-Q(j*e));N[a+1384>>2]=e;d=Q(Q(l*j)-Q(g*n));break s;case 4:J[a+1424>>2]=0;J[a+1408>>2]=0;J[a+1392>>2]=0;g=N[a+1240>>2];i=N[a+1324>>2];h=N[a+1308>>2];f=N[a+1256>>2];m=Q(Q(g*i)-Q(h*f));N[a+1388>>2]=m;k=N[a+1272>>2];l=N[a+1340>>2];e=Q(Q(h*k)-Q(g*l));N[a+1384>>2]=e;d=Q(Q(f*l)-Q(i*k));N[a+1380>>2]=d;j=Q(Q(d*f)-Q(g*e));N[a+1420>>2]=j;g=Q(Q(m*g)-Q(k*d));N[a+1416>>2]=g;f=Q(Q(e*k)-Q(f*m));N[a+1412>>2]=f;k=Q(Q(h*e)-Q(d*i));N[a+1404>>2]=k;h=Q(Q(l*d)-Q(m*h));N[a+1400>>2]=h;i=Q(Q(i*m)-Q(e*l));N[a+1396>>2]=i;break r;case 5:break t}}J[a+1408>>2]=0;J[a+1424>>2]=0;J[a+1392>>2]=0;d=N[a+1308>>2];e=N[a+1252>>2];g=N[a+1236>>2];l=N[a+1324>>2];k=Q(Q(d*e)-Q(g*l));N[a+1404>>2]=k;n=N[a+1340>>2];f=N[a+1268>>2];h=Q(Q(g*n)-Q(d*f));N[a+1400>>2]=h;i=Q(Q(l*f)-Q(e*n));N[a+1396>>2]=i;j=Q(Q(g*h)-Q(i*e));N[a+1420>>2]=j;g=Q(Q(f*i)-Q(k*g));N[a+1416>>2]=g;f=Q(Q(e*k)-Q(h*f));N[a+1412>>2]=f;m=Q(Q(i*l)-Q(d*h));N[a+1388>>2]=m;e=Q(Q(k*d)-Q(n*i));N[a+1384>>2]=e;d=Q(Q(h*n)-Q(l*k))}N[a+1380>>2]=d}l=j;j=Q(Q(1)/Q(Y(Q(Q(j*j)+Q(Q(f*f)+Q(g*g))))));N[a+1420>>2]=l*j;N[a+1416>>2]=g*j;N[a+1412>>2]=f*j;g=Q(Q(1)/Q(Y(Q(Q(k*k)+Q(Q(i*i)+Q(h*h))))));N[a+1404>>2]=k*g;N[a+1400>>2]=h*g;N[a+1396>>2]=i*g;g=Q(Q(1)/Q(Y(Q(Q(m*m)+Q(Q(d*d)+Q(e*e))))));N[a+1388>>2]=m*g;N[a+1384>>2]=e*g;N[a+1380>>2]=d*g;ta=b+48|0;e=N[J[a+28>>2]+404>>2];d=N[J[a+32>>2]+404>>2];H[a+1452|0]=eQ(0)?Q(j/d):Q(.5);N[a+1444>>2]=d;N[a+1448>>2]=Q(1)-d}function Xg(){var a=0;da(31284,31296,31312,0,11019,7,11022,0,11022,0,2234,11024,6);a=Ra(8);J[a>>2]=100;J[a+4>>2]=1;aa(31276,4409,2,31328,11043,8,a|0,0,0);a=Ra(8);J[a>>2]=104;J[a+4>>2]=1;aa(31276,4420,2,31328,11043,8,a|0,0,0);a=Ra(8);J[a>>2]=108;J[a+4>>2]=1;aa(31284,7464,5,31360,11047,9,a|0,0,0);da(31420,31432,31448,31284,11019,13,11019,12,11019,11,5297,11024,10);a=Ra(4);J[a>>2]=14;aa(31420,5650,2,31464,11043,320,a|0,0,0);ca(31284,2655,2,31472,11214,16,15,0);ca(31284,7758,3,31872,11281,18,17,0);da(31900,31912,31928,0,11019,20,11022,0,11022,0,2346,11024,19);a=Ra(8);J[a>>2]=16;J[a+4>>2]=1;aa(31900,2251,4,31952,11389,21,a|0,0,0);da(32e3,32012,32028,31900,11019,25,11019,24,11019,23,5309,11024,22);a=Ra(4);J[a>>2]=26;aa(32e3,5650,2,32044,11043,321,a|0,0,0);ca(31900,2655,2,32052,11214,28,27,0);ca(31900,7758,3,31872,11281,18,29,0);da(32128,32140,32156,0,11019,31,11022,0,11022,0,7058,11024,30);a=Ra(8);J[a>>2]=16;J[a+4>>2]=1;aa(32128,4682,3,32172,11605,32,a|0,0,0);da(32216,32228,32244,32128,11019,36,11019,35,11019,34,5336,11024,33);a=Ra(4);J[a>>2]=37;aa(32216,5650,2,32260,11043,322,a|0,0,0);ca(32128,2655,2,32268,11214,39,38,0);ca(32128,7758,3,31872,11281,18,40,0);Z(8264,2,32340,11214,42,41,0);Z(7554,2,32348,11043,44,43,0);Z(10161,2,32356,11727,46,45,0);Z(10150,3,32364,11731,48,47,0);Z(6986,3,32376,11605,50,49,0);Z(2225,4,32400,11736,52,51,0);Z(1593,2,32356,11727,46,53,0);Z(1469,2,32356,11727,46,54,0);Z(1031,2,32356,11727,46,55,0);Z(3132,5,32416,11742,57,56,0);Z(1725,5,32448,11749,59,58,0);Z(1586,2,32356,11727,46,60,0);Z(1462,2,32356,11727,46,61,0);Z(1024,2,32356,11727,46,62,0);Z(2244,2,32356,11727,46,63,0);Z(3108,6,32480,11756,65,64,0);Z(1854,1,32504,11019,67,66,0);Z(1090,2,32348,11043,44,68,0);Z(5755,3,32376,11605,50,69,0);Z(6016,2,32340,11214,42,70,0);Z(5777,3,32508,11281,72,71,0);Z(6036,3,32508,11281,72,73,0);Z(6159,3,32376,11605,50,74,0);Z(6067,3,32376,11605,50,75,0);Z(5369,4,32528,11389,77,76,0);Z(6837,2,32340,11214,42,78,0);Z(3487,3,32508,11281,72,79,0);Z(3500,3,32508,11281,72,80,0);Z(1433,1,32504,11019,67,81,0);Z(6883,2,32356,11727,46,82,0);Z(6852,3,32364,11731,48,83,0);Z(8220,3,32364,11731,48,84,0);Z(1614,5,32544,11764,86,85,0);Z(4431,4,32528,11389,77,87,0);Z(2699,7,32576,11771,89,88,0);Z(4803,3,32604,11605,91,90,0);Z(1345,3,32604,11605,91,92,0);Z(7187,3,32364,11731,48,93,0);Z(3141,4,32624,11780,95,94,0);Z(1159,3,32364,11731,48,96,0);Z(1654,5,32544,11764,86,97,0);Z(9365,3,32376,11605,50,98,0);Z(9237,3,32376,11605,50,99,0);Z(1634,5,32544,11764,86,100,0);Z(4457,4,32528,11389,77,101,0);Z(1672,6,32640,11786,103,102,0);Z(4483,4,32528,11389,77,104,0);Z(2724,5,32672,11794,106,105,0);Z(6632,4,32704,11389,108,107,0);Z(3758,4,32720,11801,110,109,0);Z(6715,4,32720,11801,110,111,0);Z(7673,4,32720,11801,110,112,0);Z(2449,4,32720,11801,110,113,0);Z(4831,4,32704,11389,108,114,0);Z(7627,4,32720,11801,110,115,0);Z(1112,4,32720,11801,110,116,0);Z(5516,4,32704,11389,108,117,0);Z(3172,4,32720,11801,110,118,0);Z(7712,2,32736,11214,120,119,0);Z(6806,3,32376,11605,50,121,0);Z(9117,4,32752,11807,123,122,0);Z(8437,5,32768,11047,125,124,0);Z(5991,3,32364,11731,48,126,0);Z(6375,3,32376,11605,50,127,0);Z(5267,3,32376,11605,50,128,0);Z(8419,1,32504,11019,67,129,0);Z(4148,2,32340,11214,42,130,0);Z(1919,2,32340,11214,42,131,0);Z(3667,3,32376,11605,50,132,0);Z(2043,2,32788,11813,134,133,0);Z(3620,3,32364,11731,48,135,0);Z(1949,2,32340,11214,42,136,0);Z(5429,5,32800,11817,138,137,0);Z(2094,3,32820,11824,140,139,0);Z(5454,5,32800,11817,138,141,0);Z(2059,3,32820,11824,140,142,0);Z(3560,3,32364,11731,48,143,0);Z(2874,3,32364,11731,48,144,0);Z(1561,3,32376,11605,50,145,0);Z(2073,3,32832,11829,147,146,0);Z(6283,2,32340,11214,42,148,0);Z(2665,3,32364,11731,48,149,0);Z(1967,7,32848,11834,151,150,0);Z(1883,1,32504,11019,67,152,0);Z(7522,6,32880,11843,154,153,0);Z(2018,4,32912,11851,156,155,0);Z(6479,2,32340,11214,42,157,0);Z(6442,6,32928,11857,159,158,0);Z(2012,5,32960,11865,161,160,0);Z(1984,2,32340,11214,42,162,0);Z(1932,1,32504,11019,67,163,0);Z(1480,3,32376,11605,50,164,0);Z(2111,1,32504,11019,67,165,0);Z(4377,2,32340,11214,42,166,0);Z(7431,4,32528,11389,77,167,0);Z(7372,3,32508,11281,72,168,0);Z(7400,3,32376,11605,50,169,0);Z(6189,5,32992,11047,171,170,0);Z(1705,1,32504,11019,67,172,0);Z(7287,2,32340,11214,42,173,0);Z(7253,3,32376,11605,50,174,0);Z(8137,3,32376,11605,50,175,0);Z(6779,2,32340,11214,42,176,0);Z(7070,2,32340,11214,42,177,0);Z(7127,3,32376,11605,50,178,0);Z(6999,3,32604,11605,91,179,0);Z(6939,2,32736,11214,120,180,0);Z(3405,2,32736,11214,120,181,0);Z(3374,2,32736,11214,120,182,0);Z(3439,2,32736,11214,120,183,0);Z(6125,2,32340,11214,42,184,0);Z(4309,3,32376,11605,50,185,0);Z(4343,2,32340,11214,42,186,0);Z(8099,3,32364,11731,48,187,0);Z(3580,3,32364,11731,48,188,0);Z(1503,3,32376,11605,50,189,0);Z(1532,2,32340,11214,42,190,0);Z(6347,6,32480,11756,65,191,0);Z(6402,4,32704,11389,108,192,0);Z(1600,3,33012,11872,194,193,0);Z(4290,2,32340,11214,42,195,0);Z(4215,3,32376,11605,50,196,0);Z(1044,3,32376,11605,50,197,0);Z(6694,4,32624,11780,95,198,0);Z(3840,3,32364,11731,48,199,0);Z(4048,4,32752,11807,123,200,0);Z(4899,3,32376,11605,50,201,0);Z(4872,3,32376,11605,50,202,0);Z(1250,3,32376,11605,50,203,0);Z(1278,2,32340,11214,42,204,0);Z(1192,3,32376,11605,50,205,0);Z(1221,2,32340,11214,42,206,0);Z(7024,2,32348,11043,44,207,0);Z(4522,2,32348,11043,44,208,0);Z(6755,2,32736,11214,120,209,0);Z(4586,4,32624,11780,95,210,0);Z(8183,2,32356,11727,46,211,0);Z(7045,2,32340,11214,42,212,0);Z(6964,3,32376,11605,50,213,0);Z(7606,4,32528,11389,77,214,0);Z(7164,4,32528,11389,77,215,0);Z(6097,3,32376,11605,50,216,0);Z(8272,1,32504,11019,67,217,0);Z(1830,1,32504,11019,67,218,0);Z(4655,2,32340,11214,42,219,0);Z(6245,3,32508,11281,72,220,0);Z(10305,2,32340,11214,42,221,0);Z(10226,2,32340,11214,42,222,0);Z(10278,2,32340,11214,42,223,0);Z(10199,2,32340,11214,42,224,0);Z(10250,2,32340,11214,42,225,0);Z(10171,2,32340,11214,42,226,0);Z(3699,2,32340,11214,42,227,0);Z(2414,3,32508,11281,72,228,0);Z(9389,2,32340,11214,42,229,0);Z(9261,2,32340,11214,42,230,0);Z(9421,2,32340,11214,42,231,0);Z(9293,2,32340,11214,42,232,0);Z(9330,2,32340,11214,42,233,0);Z(9293,2,32340,11214,42,232,0);Z(1900,1,32504,11019,67,234,0);Z(1734,1,32504,11019,67,235,0);Z(3340,5,33024,11047,237,236,0);Z(3303,3,32376,11605,50,238,0);Z(2265,5,32768,11047,125,239,0);Z(2288,7,33056,11877,241,240,0);Z(5237,3,32376,11605,50,242,0);Z(7765,2,32348,11043,44,243,0);Z(2131,4,33088,11851,245,244,0);Z(5478,3,32604,11605,91,246,0);Z(1065,3,32376,11605,50,247,0);Z(5848,5,33104,11886,249,248,0);Z(1406,5,33024,11047,237,250,0);Z(1376,3,32376,11605,50,251,0);Z(2529,4,32704,11389,108,252,0);Z(2498,3,32376,11605,50,253,0);Z(5731,3,32376,11605,50,254,0);Z(5704,3,32376,11605,50,255,0);Z(7560,3,32376,11605,50,256,0);Z(7583,2,32340,11214,42,257,0);Z(5153,5,32416,11742,57,258,0);Z(5120,5,32416,11742,57,259,0);Z(4990,5,32416,11742,57,260,0);Z(5032,5,32416,11742,57,261,0);Z(5077,5,32416,11742,57,262,0);Z(5184,5,32416,11742,57,263,0);Z(4925,5,32416,11742,57,264,0);Z(4956,5,32416,11742,57,265,0);Z(2796,2,32736,11214,120,266,0);Z(2815,2,32736,11214,120,267,0);Z(8337,1,32504,11019,67,268,0);Z(4264,3,32376,11605,50,269,0);Z(3029,6,33136,11843,271,270,0);Z(7833,2,32340,11214,42,272,0);Z(7984,2,32340,11214,42,273,0);Z(3858,2,32340,11214,42,274,0);Z(8309,1,32504,11019,67,275,0);Z(4234,3,32376,11605,50,276,0);Z(3002,6,33136,11843,271,277,0);Z(7795,2,32340,11214,42,278,0);Z(7945,2,32340,11214,42,279,0);Z(4716,2,32340,11214,42,280,0);Z(8392,1,32504,11019,67,281,0);Z(3082,6,33136,11843,271,282,0);Z(7908,2,32340,11214,42,283,0);Z(8061,2,32340,11214,42,284,0);Z(3897,2,32340,11214,42,285,0);Z(8361,1,32504,11019,67,286,0);Z(3052,6,33136,11843,271,287,0);Z(7867,2,32340,11214,42,288,0);Z(8019,2,32340,11214,42,289,0);Z(4758,2,32340,11214,42,290,0);Z(1868,1,32504,11019,67,291,0);Z(3117,6,32480,11756,65,292,0);Z(3227,2,32340,11214,42,293,0);Z(7321,2,32340,11214,42,294,0);Z(4071,2,32340,11214,42,295,0);Z(6315,2,32340,11214,42,296,0);Z(5207,2,32340,11214,42,297,0);Z(6516,2,32356,11727,46,298,0);Z(7222,2,32340,11214,42,299,0);Z(3262,2,32340,11214,42,300,0);Z(6914,5,33168,11893,302,301,0);Z(5618,2,32340,11214,42,303,0);Z(2931,3,32364,11731,48,304,0);Z(2968,3,32364,11731,48,305,0);Z(2762,3,32364,11731,48,306,0);Z(5906,3,32604,11605,91,307,0);Z(1306,3,32604,11605,91,308,0);Z(2190,9,33200,11900,310,309,0);Z(1799,4,33088,11851,245,311,0);Z(3523,3,32364,11731,48,312,0);Z(2837,3,32364,11731,48,313,0);Z(2159,10,33248,11911,315,314,0);Z(1772,4,33088,11851,245,316,0);Z(2894,3,32364,11731,48,317,0);Z(2570,3,32364,11731,48,318,0);Z(2611,3,32364,11731,48,319,0)}function cf(a,b,c,d,e){var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,K=0,L=0,M=0,N=0,O=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0;l=ta-48|0;ta=l;u=J[e>>2];t=b;S=J[d>>2];if(S){t=J[S+12>>2]}E=J[t+96>>2];m=c;j=J[b+96>>2];F=J[c+96>>2]-j|0;i=J[(S?S:u)+12>>2];q=J[b+92>>2];h=J[i+92>>2]-q|0;M=J[c+92>>2]-q|0;v=J[i+96>>2]-j|0;I=P(F,h)-P(M,v)|0;N=I>>31;w=F>>31;k=Ut(I,N,F,w);g=ua;r=J[b+88>>2];i=J[i+88>>2]-r|0;T=J[c+88>>2]-r|0;K=P(i,M)-P(h,T)|0;O=K>>31;o=T;p=o>>31;h=Ut(K,O,o,p);b=k-h|0;z=J[t+92>>2];c=z;G=b;A=g-(ua+(h>>>0>k>>>0)|0)|0;n=Ut(b,A,c,c>>31);f=ua;c=M;k=c>>31;y=Ut(K,O,c,k);g=ua;L=P(o,v)-P(i,F)|0;Q=L>>31;i=Ut(L,Q,F,w);b=y-i|0;t=J[t+88>>2];h=t;H=b;B=g-(ua+(i>>>0>y>>>0)|0)|0;b=Ut(b,B,h,h>>31);i=b+n|0;f=ua+f|0;f=b>>>0>i>>>0?f+1|0:f;h=Ut(o,p,L,Q);o=ua;c=Ut(c,k,I,N);C=h-c|0;D=o-(ua+(c>>>0>h>>>0)|0)|0;c=Ut(C,D,E,E>>31);b=c+i|0;f=ua+f|0;o=b>>>0>>0?f+1|0:f;c=Ut(I,N,r,r>>31);h=ua;g=c;c=Ut(K,O,j,j>>31);i=g+c|0;j=ua+h|0;j=c>>>0>i>>>0?j+1|0:j;h=Ut(L,Q,q,q>>31);c=h+i|0;g=ua+j|0;r=c;q=c>>>0>>0?g+1|0:g;m=u?J[u+12>>2]:m;y=J[m+96>>2];v=J[m+92>>2];w=J[m+88>>2];a:{if(!(!S|!J[S+12>>2])){c=J[J[S+8>>2]+4>>2];n=J[c+12>>2];h=n;i=J[h+92>>2];k=i>>31;g=Ut(i,k,L,Q);f=ua;m=g;h=J[h+88>>2];p=h>>31;g=Ut(h,p,I,N);m=m+g|0;f=ua+f|0;f=g>>>0>m>>>0?f+1|0:f;g=J[n+96>>2];R=g>>31;n=Ut(g,R,K,O);m=n+m|0;f=ua+f|0;f=m>>>0>>0?f+1|0:f;b:{if(m>>>0>>0&(q|0)>=(f|0)|(f|0)<(q|0)){break b}m=c+12|0;s=J[a+100>>2];while(1){if((s|0)==J[c+20>>2]){break b}k=Ut(i,k,G,A);i=ua;h=Ut(h,p,H,B);k=h+k|0;f=ua+i|0;f=h>>>0>k>>>0?f+1|0:f;i=Ut(g,R,C,D);h=i+k|0;f=ua+f|0;f=h>>>0>>0?f+1|0:f;if((o|0)>=(f|0)&b>>>0>=h>>>0|(f|0)<(o|0)){break b}J[d>>2]=c;b=J[m>>2];E=J[b+96>>2];z=J[b+92>>2];t=J[b+88>>2];if(b){c=J[J[c+8>>2]+4>>2];m=c+12|0;b=h;o=f;n=J[c+12>>2];h=n;i=J[h+92>>2];k=i>>31;g=Ut(i,k,L,Q);f=ua;j=g;h=J[h+88>>2];p=h>>31;g=Ut(h,p,I,N);j=j+g|0;f=ua+f|0;f=g>>>0>j>>>0?f+1|0:f;g=J[n+96>>2];R=g>>31;n=Ut(g,R,K,O);x=n+j|0;j=ua+f|0;j=n>>>0>x>>>0?j+1|0:j;if(r>>>0>x>>>0&(q|0)>=(j|0)|(j|0)<(q|0)){break b}continue}break}b=h;o=f}c=J[e>>2];break a}c=u}h=Ut(G,A,v,v>>31);i=ua;g=h;h=Ut(H,B,w,w>>31);g=g+h|0;f=ua+i|0;f=g>>>0>>0?f+1|0:f;h=Ut(C,D,y,y>>31);i=h+g|0;f=ua+f|0;k=h>>>0>i>>>0?f+1|0:f;c:{if(!c){c=0;break c}if(!J[c+12>>2]){break c}m=J[J[c+8>>2]>>2];s=J[m+12>>2];g=s;h=J[g+92>>2];p=h>>31;f=Ut(h,p,L,Q);n=ua;j=f;g=J[g+88>>2];R=g>>31;f=Ut(g,R,I,N);x=j+f|0;j=ua+n|0;j=f>>>0>x>>>0?j+1|0:j;n=J[s+96>>2];V=n>>31;f=Ut(n,V,K,O);s=f+x|0;j=ua+j|0;j=f>>>0>s>>>0?j+1|0:j;if(r>>>0>s>>>0&(q|0)>=(j|0)|(j|0)<(q|0)){break c}W=m+12|0;x=J[a+100>>2];while(1){f=m;if((x|0)==J[f+20>>2]){break c}h=Ut(h,p,G,A);m=ua;j=h;h=Ut(g,R,H,B);p=j+h|0;g=ua+m|0;g=h>>>0>p>>>0?g+1|0:g;n=Ut(C,D,n,V);h=n+p|0;j=ua+g|0;j=h>>>0>>0?j+1|0:j;g=j;if(h>>>0<=i>>>0&(k|0)>=(g|0)|(g|0)<(k|0)){break c}J[e>>2]=f;c=J[W>>2];y=J[c+96>>2];v=J[c+92>>2];w=J[c+88>>2];if(c){m=J[J[f+8>>2]>>2];W=m+12|0;c=f;i=h;k=g;s=J[m+12>>2];g=s;h=J[g+92>>2];p=h>>31;f=Ut(h,p,L,Q);n=ua;j=f;g=J[g+88>>2];R=g>>31;f=Ut(g,R,I,N);U=j+f|0;j=ua+n|0;j=f>>>0>U>>>0?j+1|0:j;n=J[s+96>>2];V=n>>31;s=Ut(n,V,K,O);U=s+U|0;f=ua+j|0;f=s>>>0>U>>>0?f+1|0:f;if(r>>>0>U>>>0&(q|0)>=(f|0)|(f|0)<(q|0)){break c}continue}break}c=f;i=h;k=g}o=k-((b>>>0>i>>>0)+o|0)|0;d:{b=i-b|0;if(!!b&(o|0)>=0|(o|0)>0){s=J[a+100>>2];while(1){c=J[d>>2];while(1){e:{h=(P(v-z|0,M)+P(w-t|0,T)|0)+P(y-E|0,F)|0;p=h>>31;if(!c|!J[c+12>>2]){break e}r=J[J[c>>2]+8>>2];if((s|0)>=J[r+20>>2]){break e}i=J[r+12>>2];m=J[i+92>>2];a=m-z|0;n=J[i+88>>2];k=n-t|0;g=J[i+96>>2];f=g-E|0;u=(P(a,M)+P(k,T)|0)+P(f,F)|0;a=Ut(G,A,a,a>>31);i=ua;j=a;a=Ut(H,B,k,k>>31);k=j+a|0;j=ua+i|0;j=a>>>0>k>>>0?j+1|0:j;i=Ut(C,D,f,f>>31);a=i+k|0;f=ua+j|0;f=a>>>0>>0?f+1|0:f;f:{if(!(f|a)){if((u|0)<0){break f}break e}if((f|0)>0|(f|0)>=0){break e}J[l+32>>2]=0-a;J[l+36>>2]=0-(((a|0)!=0)+f|0);k=(u|0)>0;J[l+40>>2]=k?-1:u>>>31|0;i=(u|0)<0;J[l+24>>2]=k?u:i?0-u|0:0;a=u>>31;J[l+28>>2]=k?a:i?0-(((u|0)!=0)+a|0)|0:0;g:{if((h|0)>0){J[l+16>>2]=1;k=p;f=-1;a=h;break g}if((h|0)<0){J[l+16>>2]=-1;k=0-(((h|0)!=0)+p|0)|0;f=1;a=0-h|0;break g}J[l+16>>2]=0;k=0;f=0;a=0}J[l>>2]=a;J[l+4>>2]=k;a=b;i=o;h:{if(!!a&(i|0)>=0|(i|0)>0){break h}i=0;a=0;if((o|0)>0|(o|0)>=0){break h}J[l+16>>2]=f;i=0-(((b|0)!=0)+o|0)|0;a=0-b|0}J[l+8>>2]=a;J[l+12>>2]=i;if((wb(l+24|0,l)|0)<0){break e}}c=(c|0)!=(S|0)?r:0;J[d>>2]=c;a=v-m|0;a=Ut(G,A,a,a>>31);b=ua;h=a;a=w-n|0;a=Ut(H,B,a,a>>31);o=h+a|0;j=ua+b|0;j=a>>>0>o>>>0?j+1|0:j;a=y-g|0;a=Ut(C,D,a,a>>31);b=a+o|0;f=ua+j|0;o=a>>>0>b>>>0?f+1|0:f;t=n;z=m;E=g;continue}break}a=J[e>>2];if(!a|!J[a+12>>2]){break d}x=J[J[a+8>>2]>>2];if((s|0)>=J[x+20>>2]){break d}i=J[x+12>>2];u=J[i+92>>2];f=u-v|0;r=f>>31;a=Ut(f,r,L,Q);c=ua;g=a;v=J[i+88>>2];k=v-w|0;w=k>>31;a=Ut(k,w,I,N);q=g+a|0;g=ua+c|0;g=a>>>0>q>>>0?g+1|0:g;m=J[i+96>>2];i=m-y|0;n=i>>31;c=Ut(K,O,i,n);if((0-c|0)!=(q|0)|(0-(ua+((c|0)!=0)|0)|0)!=(g|0)){break d}a=u-z|0;a=Ut(G,A,a,a>>31);c=ua;g=a;a=v-t|0;a=Ut(H,B,a,a>>31);g=g+a|0;j=ua+c|0;j=a>>>0>g>>>0?j+1|0:j;a=m-E|0;a=Ut(C,D,a,a>>31);c=a+g|0;j=ua+j|0;j=a>>>0>c>>>0?j+1|0:j;a=j;if(!c&(a|0)<=0|(a|0)<0){break d}m=(P(f,M)+P(k,T)|0)+P(i,F)|0;g=Ut(f,r,G,A);f=ua;j=g;g=Ut(H,B,k,w);k=j+g|0;f=ua+f|0;f=g>>>0>k>>>0?f+1|0:f;g=Ut(C,D,i,n);i=g+k|0;f=ua+f|0;f=g>>>0>i>>>0?f+1|0:f;i:{if(!(f|i)){if((m|0)<0){break i}break d}if((f|0)>0|(f|0)>=0){break d}J[l+32>>2]=0-i;J[l+36>>2]=0-(((i|0)!=0)+f|0);k=(m|0)>0;J[l+40>>2]=k?-1:m>>>31|0;g=(m|0)<0;J[l+24>>2]=k?m:g?0-m|0:0;i=m>>31;J[l+28>>2]=k?i:g?0-(((m|0)!=0)+i|0)|0:0;j:{if((h|0)>0){J[l+16>>2]=1;i=-1;break j}if((h|0)<0){J[l+16>>2]=-1;i=h;h=0-h|0;p=0-(((i|0)!=0)+p|0)|0;i=1;break j}J[l+16>>2]=0;h=0;p=0;i=0}J[l>>2]=h;J[l+4>>2]=p;h=b;g=o;k:{if(!!h&(g|0)>=0|(g|0)>0){break k}g=0;h=0;if((o|0)>0|(o|0)>=0){break k}J[l+16>>2]=i;g=0-(((b|0)!=0)+o|0)|0;h=0-b|0}J[l+8>>2]=h;J[l+12>>2]=g;if((wb(l+24|0,l)|0)<=0){break d}}J[e>>2]=x;b=J[x+12>>2];y=J[b+96>>2];v=J[b+92>>2];w=J[b+88>>2];b=c;o=a;continue}}if((o|0)>0|(o|0)>=0){break d}s=J[a+100>>2];while(1){h=(P(v-z|0,M)+P(w-t|0,T)|0)+P(y-E|0,F)|0;p=h>>31;l:{if(!c|!J[c+12>>2]){break l}q=J[J[c+4>>2]+8>>2];if((s|0)>=J[q+20>>2]){break l}i=J[q+12>>2];n=J[i+92>>2];a=n-v|0;k=J[i+88>>2];f=k-w|0;i=J[i+96>>2];r=i-y|0;j=(P(a,M)+P(f,T)|0)+P(r,F)|0;a=Ut(G,A,a,a>>31);g=ua;m=a;a=Ut(H,B,f,f>>31);m=m+a|0;f=ua+g|0;f=a>>>0>m>>>0?f+1|0:f;a=m;m=Ut(C,D,r,r>>31);a=a+m|0;g=ua+f|0;g=a>>>0>>0?g+1|0:g;m:{if(!(g|a)){if((j|0)>0){break m}break l}if((g|0)>0|(g|0)>=0){break l}J[l+32>>2]=0-a;J[l+36>>2]=0-(((a|0)!=0)+g|0);f=(j|0)>0;J[l+40>>2]=f?-1:j>>>31|0;g=(j|0)<0;J[l+24>>2]=f?j:g?0-j|0:0;a=j>>31;J[l+28>>2]=f?a:g?0-(((j|0)!=0)+a|0)|0:0;n:{if((h|0)>0){J[l+16>>2]=1;m=-1;g=p;a=h;break n}if((h|0)<0){J[l+16>>2]=-1;m=1;g=0-(((h|0)!=0)+p|0)|0;a=0-h|0;break n}m=0;J[l+16>>2]=0;g=0;a=0}J[l>>2]=a;J[l+4>>2]=g;a=b;g=o;o:{if(!!a&(g|0)>=0|(g|0)>0){break o}g=0;a=0;if((o|0)>0|(o|0)>=0){break o}J[l+16>>2]=m;g=0-(((b|0)!=0)+o|0)|0;a=0-b|0}J[l+8>>2]=a;J[l+12>>2]=g;if((wb(l+24|0,l)|0)>0){break l}}c=(c|0)!=(u|0)?q:0;J[e>>2]=c;a=n-z|0;a=Ut(G,A,a,a>>31);b=ua;h=a;a=k-t|0;a=Ut(H,B,a,a>>31);o=h+a|0;f=ua+b|0;f=a>>>0>o>>>0?f+1|0:f;a=i-E|0;a=Ut(C,D,a,a>>31);b=a+o|0;f=ua+f|0;o=a>>>0>b>>>0?f+1|0:f;w=k;v=n;y=i;continue}a=J[d>>2];if(!a|!J[a+12>>2]){break d}x=J[J[a+8>>2]+4>>2];if((s|0)>=J[x+20>>2]){break d}i=J[x+12>>2];q=J[i+92>>2];k=q-z|0;r=k>>31;a=Ut(k,r,L,Q);c=ua;f=a;z=J[i+88>>2];g=z-t|0;m=g>>31;a=Ut(g,m,I,N);j=f+a|0;f=ua+c|0;f=a>>>0>j>>>0?f+1|0:f;n=J[i+96>>2];c=n-E|0;t=c>>31;i=Ut(K,O,c,t);if((0-i|0)!=(j|0)|(0-(ua+((i|0)!=0)|0)|0)!=(f|0)){break d}a=v-q|0;a=Ut(G,A,a,a>>31);i=ua;f=a;a=w-z|0;a=Ut(H,B,a,a>>31);f=f+a|0;j=ua+i|0;j=a>>>0>f>>>0?j+1|0:j;a=y-n|0;a=Ut(C,D,a,a>>31);i=a+f|0;f=ua+j|0;f=a>>>0>i>>>0?f+1|0:f;a=f;if((f|0)>0|(f|0)>=0){break d}n=(P(k,M)+P(g,T)|0)+P(c,F)|0;f=Ut(k,r,G,A);k=ua;g=Ut(H,B,g,m);f=g+f|0;j=ua+k|0;k=Ut(C,D,c,t);c=k+f|0;g=ua+(f>>>0>>0?j+1|0:j)|0;g=c>>>0>>0?g+1|0:g;p:{if(!(g|c)){if((n|0)>0){break p}break d}if((g|0)>0|(g|0)>=0){break d}J[l+32>>2]=0-c;J[l+36>>2]=0-(((c|0)!=0)+g|0);k=(n|0)>0;J[l+40>>2]=k?-1:n>>>31|0;g=(n|0)<0;J[l+24>>2]=k?n:g?0-n|0:0;c=n>>31;J[l+28>>2]=k?c:g?0-(((n|0)!=0)+c|0)|0:0;q:{if((h|0)>0){J[l+16>>2]=1;g=-1;break q}if((h|0)<0){J[l+16>>2]=-1;c=h;h=0-h|0;p=0-(((c|0)!=0)+p|0)|0;g=1;break q}J[l+16>>2]=0;h=0;p=0;g=0}J[l>>2]=h;J[l+4>>2]=p;c=b;h=o;r:{if(!!c&(h|0)>=0|(h|0)>0){break r}h=0;c=0;if((o|0)>0|(o|0)>=0){break r}J[l+16>>2]=g;h=0-(((b|0)!=0)+o|0)|0;c=0-b|0}J[l+8>>2]=c;J[l+12>>2]=h;if((wb(l+24|0,l)|0)>=0){break d}}J[d>>2]=x;b=J[x+12>>2];E=J[b+96>>2];z=J[b+92>>2];c=J[e>>2];t=J[b+88>>2];b=i;o=a;continue}}ta=l+48|0}function cd(a,b,c,d){var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,K=0,L=0;p=ta-16|0;ta=p;a:{b:{c:{d:{e:{e=c-b|0;switch(e|0){case 1:break c;case 2:break d;case 0:break e;default:break b}}J[d>>2]=0;J[d+4>>2]=0;J[d+8>>2]=0;J[d+12>>2]=0;break a}c=J[J[a+92>>2]+(b<<2)>>2];b=c+112|0;f:{h=J[c+88>>2];m=J[c+200>>2];u=(h|0)!=(m|0);e=J[c+204>>2];g=J[c+92>>2];g:{if(!(u|(e|0)!=(g|0))){if(J[c+96>>2]==J[c+208>>2]){break f}g=J[c+96>>2]>J[c+208>>2];e=(g?112:0)+c|0;J[e>>2]=e;e=g?b:c;J[e+4>>2]=e;J[d+4>>2]=e;J[d>>2]=e;b=g?c:b;g=e;c=e;break g}J[c+4>>2]=b;J[c>>2]=b;J[c+116>>2]=c;J[c+112>>2]=c;i=(e|0)>(g|0);n=i&(h|0)==(m|0);h=(h|0)<(m|0);m=n|h;J[d+4>>2]=m?b:c;J[d>>2]=m?c:b;e=i|h&(u&(e|0)==(g|0));g=e?b:c;e=e?c:b}J[d+12>>2]=g;J[d+8>>2]=e;a=dd(a,c,b);J[a+4>>2]=a;J[a>>2]=a;J[c+8>>2]=a;a=J[a+8>>2];J[a+4>>2]=a;J[a>>2]=a;J[b+8>>2]=a;break a}J[c+8>>2]=0;J[c+4>>2]=c;J[c>>2]=c;J[d+12>>2]=c;J[d+8>>2]=c;J[d+4>>2]=c;J[d>>2]=c;break a}a=J[J[a+92>>2]+(b<<2)>>2];J[a+8>>2]=0;J[a+4>>2]=a;J[a>>2]=a;J[d+12>>2]=a;J[d+8>>2]=a;J[d+4>>2]=a;J[d>>2]=a;break a}g=((e|0)/2|0)+b|0;e=g;h:{if((c|0)<=(e|0)){break h}m=J[a+92>>2];e=J[(m+(g<<2)|0)-4>>2];u=J[e+88>>2];i=J[e+96>>2];D=J[e+92>>2];e=g;while(1){h=J[m+(e<<2)>>2];if((u|0)!=J[h+88>>2]|(D|0)!=J[h+92>>2]|(i|0)!=J[h+96>>2]){break h}e=e+1|0;if((e|0)<(c|0)){continue}break}e=c}cd(a,b,g,d);J[p+8>>2]=0;J[p+12>>2]=0;J[p>>2]=0;J[p+4>>2]=0;cd(a,e,c,p);z=a;u=0;D=0;f=ta-128|0;ta=f;i:{if(!J[p+4>>2]){break i}if(!J[d+4>>2]){a=J[p+4>>2];J[d>>2]=J[p>>2];J[d+4>>2]=a;a=J[p+12>>2];J[d+8>>2]=J[p+8>>2];J[d+12>>2]=a;break i}J[z+100>>2]=J[z+100>>2]-1;J[f+124>>2]=0;J[f+120>>2]=0;e=0;m=d;a=J[d+12>>2];g=J[p+8>>2];j:{k:{if(J[a+88>>2]!=J[g+88>>2]|J[a+92>>2]!=J[g+92>>2]){break k}c=J[g+4>>2];if((c|0)==(g|0)){J[f+124>>2]=a;a=0;b=J[g+8>>2];if(!b){break j}g=J[b+12>>2];break j}a=J[g>>2];J[c>>2]=a;J[a+4>>2]=c;if(J[p>>2]==(g|0)){d=J[a+88>>2];h=J[c+88>>2];b=a;l:{if((d|0)<(h|0)){break l}if((d|0)==(h|0)){b=a;if(J[a+92>>2]>2]){break l}}b=c}J[p>>2]=b}if(J[p+4>>2]!=(g|0)){break k}b=J[a+88>>2];d=J[c+88>>2];J[p+4>>2]=(b|0)>(d|0)|(b|0)==(d|0)&J[a+92>>2]>J[c+92>>2]?a:c}i=J[p>>2];l=J[m>>2];w=J[m+4>>2];b=w;n=J[p+4>>2];d=n;a=0;t=1;h=1;while(1){g=e;q=a;v=J[b+88>>2];c=P(J[d+88>>2]-v|0,t);m:{if((c|0)>0){a=b;while(1){e=d;o=J[d+92>>2];b=c;while(1){n:{d=J[a+92>>2];v=o-d|0;c=J[(h?a+4|0:a)>>2];if((c|0)==(a|0)){break n}k=J[c+92>>2]-d|0;if((k|0)>0){break n}d=J[c+88>>2];j=J[a+88>>2];if((d|0)!=(j|0)){j=P(d-j|0,t);if((j|0)>=0|(P(b,k)|0)>(P(j,v)|0)){break n}}b=P(J[e+88>>2]-d|0,t);a=c;continue}break}d=J[(h?e+4|0:e)>>2];if((e|0)==(d|0)){break m}k=J[d+88>>2];c=P(k-J[a+88>>2]|0,t);if((c|0)<=0){break m}o=J[d+92>>2]-o|0;if((o|0)>=0){break m}j=J[e+88>>2];if((j|0)==(k|0)){continue}k=P(k-j|0,t);if((k|0)>=0){break m}if((P(b,o)|0)<(P(k,v)|0)){continue}break}break m}o:{if((c|0)<0){p:while(1){e=J[(h?d:d+4|0)>>2];v=J[d+92>>2];while(1){o=c;a=b;r=J[a+92>>2];k=v-r|0;q:{if((d|0)==(e|0)){break q}c=J[e+92>>2]-v|0;if((c|0)<0){break q}b=J[e+88>>2];j=J[d+88>>2];if((b|0)!=(j|0)){j=P(b-j|0,t);if((j|0)>=0|(P(c,o)|0)>(P(k,j)|0)){break q}}c=P(b-J[a+88>>2]|0,t);d=e;b=a;continue p}b=J[(h?a:a+4|0)>>2];if((b|0)==(a|0)){break o}j=J[b+88>>2];c=P(J[d+88>>2]-j|0,t);if((c|0)>=0){break o}r=J[b+92>>2]-r|0;if((r|0)<=0){break o}B=J[a+88>>2];if((j|0)==(B|0)){continue}j=P(j-B|0,t);if((j|0)>=0){break o}if((P(o,r)|0)<(P(k,j)|0)){continue}break}break o}}e=J[b+92>>2];c=b;while(1){a=c;c=J[(h?a+4|0:a)>>2];if(!((c|0)==(b|0)|(v|0)!=J[c+88>>2])){o=e;e=J[c+92>>2];if((o|0)>=(e|0)){continue}}break}b=J[d+92>>2];c=d;while(1){e=c;c=J[(h?c:c+4|0)>>2];if((d|0)==(c|0)|(v|0)!=J[c+88>>2]){break m}o=b;b=J[c+92>>2];if((o|0)<=(b|0)){continue}break}break m}e=d}c=h;h=0;t=-1;b=l;d=i;if(c){continue}break}J[a+4>>2]=e;J[e>>2]=a;J[q>>2]=g;J[g+4>>2]=q;if(J[i+88>>2]>2]){J[m>>2]=i}if(J[n+88>>2]>=J[w+88>>2]){J[m+4>>2]=n}J[m+12>>2]=J[p+12>>2];J[f+124>>2]=q;a=1}J[f+120>>2]=g;r:{if(a){o=J[f+124>>2];n=J[o+92>>2];q=J[f+120>>2];t=J[q+92>>2];w=J[o+96>>2];h=J[q+96>>2];r=J[o+88>>2];v=J[q+88>>2];J[f+92>>2]=-1;d=h-w|0;J[f+88>>2]=d;a=t-n|0;J[f+84>>2]=a;e=v-r|0;J[f+80>>2]=e;c=J[o+8>>2];J[f+32>>2]=0;g=a;l=d>>31;k=a>>31;m=Ut(d,l,a,k);B=ua;b=0-e|0;j=b>>31;e=Ut(b,j,e,e>>31);F=ua;a=Ut(a,k,a,k);i=e-a|0;F=F-(ua+(a>>>0>e>>>0)|0)|0;a=Ut(d,l,b,j);l=0-a|0;H=0-(ua+((a|0)!=0)|0)|0;if(c){a=c;while(1){y=J[a+12>>2];d=J[y+92>>2]-n|0;e=d;A=d>>31;x=Ut(d,A,b,j);I=ua;L=x;d=J[y+88>>2]-r|0;x=d>>31;K=Ut(g,k,d,x);s:{if((L|0)!=(0-K|0)|(0-(ua+((K|0)!=0)|0)|0)!=(I|0)){break s}e=Ut(m,B,e,A);A=ua;x=Ut(l,H,d,x);e=x+e|0;d=ua+A|0;d=e>>>0>>0?d+1|0:d;x=e;e=J[y+96>>2]-w|0;A=Ut(i,F,e,e>>31);y=x+A|0;e=ua+d|0;e=y>>>0>>0?e+1|0:e;if(!y&(e|0)<=0|(e|0)<0){break s}if(s){J[f+64>>2]=-1;J[f+68>>2]=-1;J[f+56>>2]=0;J[f+60>>2]=0;if((bd(s,a,f+80|0,f+56|0)|0)!=1){break s}}s=a}a=J[a>>2];if((c|0)!=(a|0)){continue}break}J[f+32>>2]=s}d=J[q+8>>2];c=0;J[f+8>>2]=0;if(d){a=d;while(1){w=J[a+12>>2];e=J[w+92>>2]-t|0;n=e;r=e>>31;y=Ut(e,r,b,j);A=ua;e=J[w+88>>2]-v|0;x=e>>31;I=Ut(g,k,e,x);t:{if((y|0)!=(0-I|0)|(0-(ua+((I|0)!=0)|0)|0)!=(A|0)){break t}n=Ut(m,B,n,r);r=ua;y=Ut(l,H,e,x);n=y+n|0;e=ua+r|0;e=n>>>0>>0?e+1|0:e;x=n;n=J[w+96>>2]-h|0;w=Ut(i,F,n,n>>31);n=x+w|0;e=ua+e|0;e=n>>>0>>0?e+1|0:e;if(!n&(e|0)<=0|(e|0)<0){break t}if(c){J[f+64>>2]=-1;J[f+68>>2]=-1;J[f+56>>2]=0;J[f+60>>2]=0;if((bd(c,a,f+80|0,f+56|0)|0)!=2){break t}}c=a}a=J[a>>2];if((d|0)!=(a|0)){continue}break}J[f+8>>2]=c}u:{if(!(c|s)){break u}cf(z,o,q,f+32|0,f+8|0);a=J[f+32>>2];if(a){o=J[a+12>>2];J[f+124>>2]=o}a=J[f+8>>2];if(!a){break u}q=J[a+12>>2];J[f+120>>2]=q;h=J[q+96>>2];t=J[q+92>>2];v=J[q+88>>2]}n=h+1|0;break r}q=J[f+120>>2];v=J[q+88>>2]+1|0;t=J[q+92>>2];o=J[f+124>>2];n=J[q+96>>2]}a=o;h=q;m=0;c=1;d=0;e=0;v:{while(1){s=J[h+96>>2];b=J[a+96>>2];g=J[a+92>>2];l=J[h+92>>2];i=J[a+88>>2];k=J[h+88>>2];J[f+116>>2]=-1;l=l-g|0;J[f+108>>2]=l;s=s-b|0;J[f+112>>2]=s;k=k-i|0;J[f+104>>2]=k;r=t-g|0;g=n-b|0;b=P(r,s)-P(g,l)|0;j=b>>31;J[f+80>>2]=b;J[f+84>>2]=j;i=v-i|0;g=P(g,k)-P(i,s)|0;w=g>>31;J[f+88>>2]=g;J[f+92>>2]=w;i=P(i,l)-P(k,r)|0;r=i>>31;J[f+96>>2]=i;J[f+100>>2]=r;F=k>>31;B=Ut(g,w,k,F);H=ua;y=l>>31;A=Ut(b,j,l,y);J[f+72>>2]=B-A;J[f+76>>2]=H-(ua+(B>>>0>>0)|0);x=j;j=s>>31;b=Ut(b,x,s,j);B=ua;k=Ut(i,r,k,F);J[f+64>>2]=b-k;J[f+68>>2]=B-(ua+(b>>>0>>0)|0);b=Ut(l,y,i,r);i=ua;g=Ut(g,w,s,j);J[f+56>>2]=b-g;J[f+60>>2]=i-(ua+(b>>>0>>0)|0);J[f+48>>2]=0;J[f+40>>2]=0;J[f+44>>2]=0;J[f+32>>2]=0;J[f+36>>2]=0;b=f+104|0;g=f+80|0;i=f+56|0;l=bf(z,0,a,b,g,i,f+32|0);J[f+24>>2]=0;J[f+16>>2]=0;J[f+20>>2]=0;J[f+8>>2]=0;J[f+12>>2]=0;i=bf(z,1,h,b,g,i,f+8|0);if(!(i|l)){b=dd(z,a,h);J[b+4>>2]=b;J[b>>2]=b;J[a+8>>2]=b;a=J[b+8>>2];J[a+4>>2]=a;J[a>>2]=a;J[h+8>>2]=a;break i}s=l?-1:1;if(!(!l|!i)){s=wb(f+32|0,f+8|0)}w:{x:{y:{if(c&1){break y}if((s|0)>=0){if(J[f+16>>2]|J[f+20>>2]|J[f+24>>2]>=0){break y}h=u;c=m;g=d;b=e;break x}if(J[f+40>>2]|J[f+44>>2]|J[f+48>>2]>=0){break y}J[f+4>>2]=l;g=d;b=e;break w}g=dd(z,a,h);b=g;if(d){J[d+4>>2]=g;b=e}J[g>>2]=d;h=J[g+8>>2];c=h;if(u){J[u>>2]=h;c=m}J[h+4>>2]=u}J[f+4>>2]=l;J[f>>2]=i;d=i;if(!s){cf(z,J[f+124>>2],J[f+120>>2],f+4|0,f);d=J[f>>2]}if(!(!d|(s|0)<0)){z:{A:{if(C){a=J[C>>2];if((i|0)!=(a|0)){while(1){e=J[a>>2];fc(z,a);a=e;if((i|0)!=(a|0)){continue}break}}if(h){break A}break z}if(!h){D=i;break z}C=J[i+4>>2];D=c}J[C>>2]=c;J[c+4>>2]=C;J[h>>2]=i;J[i+4>>2]=h;d=J[f>>2];c=0}m=c;a=J[f+120>>2];n=J[a+96>>2];t=J[a+92>>2];v=J[a+88>>2];J[f+120>>2]=J[d+12>>2];C=J[d+8>>2];u=0;break w}u=h;m=c}B:{C:{if((s|0)<=0){c=J[f+4>>2];if(c){break C}}a=J[f+124>>2];break B}D:{E:{if(E){a=J[E+4>>2];if((l|0)!=(a|0)){while(1){d=J[a+4>>2];fc(z,a);a=d;if((l|0)!=(a|0)){continue}break}}if(!g){break D}J[b>>2]=E;a=E+4|0;break E}if(!g){G=l;break D}a=J[l>>2];J[b>>2]=a;G=b;a=a+4|0}J[a>>2]=b;J[l>>2]=g;J[g+4>>2]=l;b=0;c=J[f+4>>2]}a=J[f+124>>2];n=J[a+96>>2];t=J[a+92>>2];v=J[a+88>>2];a=J[c+12>>2];J[f+124>>2]=a;E=J[c+8>>2];g=0}F:{h=J[f+120>>2];if(!((a|0)!=(o|0)|(q|0)!=(h|0))){if(!E){J[b>>2]=g;J[g+4>>2]=b;J[J[f+124>>2]+8>>2]=g;break v}a=J[E+4>>2];if((G|0)==(a|0)){break F}while(1){c=J[a+4>>2];fc(z,a);a=c;if((G|0)!=(a|0)){continue}break}break F}c=0;d=g;e=b;continue}break}if(!g){break v}J[b>>2]=E;J[E+4>>2]=b;J[G>>2]=g;J[g+4>>2]=G}if(!C){J[u>>2]=m;J[m+4>>2]=u;J[J[f+120>>2]+8>>2]=u;break i}a=J[C>>2];if((D|0)!=(a|0)){while(1){b=J[a>>2];fc(z,a);a=b;if((D|0)!=(a|0)){continue}break}}if(!u){break i}J[C>>2]=m;J[m+4>>2]=C;J[u>>2]=D;J[D+4>>2]=u}ta=f+128|0}ta=p+16|0}function ko(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=Q(0),h=Q(0),i=0,j=Q(0),k=0,l=Q(0),m=Q(0),n=Q(0),o=Q(0),p=Q(0),q=Q(0),r=Q(0),s=Q(0),t=Q(0),u=Q(0),v=Q(0),w=Q(0),x=Q(0),y=Q(0),z=Q(0),A=Q(0),B=0,C=0,D=Q(0),E=Q(0),F=0,G=0,H=0,I=0,K=0,L=Q(0),M=Q(0),O=Q(0),R=0,S=Q(0),T=0;e=ta-144|0;ta=e;a:{if(!(va[J[J[a>>2]+20>>2]](a)|0)){break a}f=va[J[J[a>>2]+20>>2]](a)|0;if(!(va[J[J[f>>2]+56>>2]](f)&32768)){break a}f=va[J[J[a>>2]+20>>2]](a)|0;va[J[J[f>>2]+64>>2]](f,b,Q(.10000000149011612))}b:{c:{d:{e:{f:{g:{h:{i:{j:{k:{f=J[c+4>>2];switch(f|0){case 0:break j;case 1:case 2:case 3:case 4:case 5:case 6:case 7:case 12:break c;case 13:break e;case 11:break f;case 10:break g;case 9:break h;case 8:break i;default:break k}}l:{switch(f-28|0){case 3:break l;case 0:break d;default:break c}}f=J[c+24>>2];if((f|0)<=0){break b}while(1){k=f-1|0;i=J[c+32>>2]+P(k,80)|0;B=J[i+64>>2];p=N[i+56>>2];q=N[i+48>>2];w=N[i+52>>2];x=N[i+32>>2];y=N[i>>2];z=N[i+16>>2];A=N[i+36>>2];r=N[i+4>>2];s=N[i+20>>2];t=N[i+40>>2];D=N[i+8>>2];E=N[i+24>>2];L=N[b+48>>2];M=N[b+52>>2];O=N[b+56>>2];g=N[b+8>>2];h=N[b>>2];j=N[b+4>>2];l=N[b+24>>2];m=N[b+16>>2];n=N[b+20>>2];u=N[b+40>>2];v=N[b+32>>2];o=N[b+36>>2];J[e+60>>2]=0;J[e+44>>2]=0;J[e+28>>2]=0;J[e+12>>2]=0;N[e+40>>2]=Q(t*u)+Q(Q(D*v)+Q(E*o));N[e+36>>2]=Q(A*u)+Q(Q(r*v)+Q(s*o));N[e+32>>2]=Q(x*u)+Q(Q(y*v)+Q(z*o));N[e+24>>2]=Q(t*l)+Q(Q(D*m)+Q(E*n));N[e+20>>2]=Q(A*l)+Q(Q(r*m)+Q(s*n));N[e+16>>2]=Q(x*l)+Q(Q(y*m)+Q(z*n));N[e+8>>2]=Q(t*g)+Q(Q(D*h)+Q(E*j));N[e+4>>2]=Q(A*g)+Q(Q(r*h)+Q(s*j));N[e>>2]=Q(x*g)+Q(Q(y*h)+Q(z*j));N[e+56>>2]=O+Q(Q(p*u)+Q(Q(q*v)+Q(w*o)));N[e+52>>2]=M+Q(Q(p*l)+Q(Q(q*m)+Q(w*n)));N[e+48>>2]=L+Q(Q(p*g)+Q(Q(q*h)+Q(w*j)));va[J[J[a>>2]+28>>2]](a,e,B,d);i=f>>>0>1;f=k;if(i){continue}break}break b}f=J[c+48>>2];J[e+8>>2]=J[c+44>>2];J[e+12>>2]=f;f=J[c+40>>2];J[e>>2]=J[c+36>>2];J[e+4>>2]=f;g=Q(va[J[J[c>>2]+48>>2]](c));h=Q(va[J[J[c>>2]+48>>2]](c));j=Q(Q(va[J[J[c>>2]+48>>2]](c))+N[e+8>>2]);N[e+8>>2]=j;g=Q(g+N[e>>2]);N[e>>2]=g;h=Q(h+N[e+4>>2]);N[e+4>>2]=h;a=va[J[J[a>>2]+20>>2]](a)|0;J[e+140>>2]=0;N[e+136>>2]=-j;N[e+132>>2]=-h;N[e+128>>2]=-g;va[J[J[a>>2]+80>>2]](a,e+128|0,e,b,d);break b}g=Q(va[J[J[c>>2]+48>>2]](c));a=va[J[J[a>>2]+20>>2]](a)|0;va[J[J[a>>2]+24>>2]](a,g,b,d);break b}f=J[c+100>>2];if((f|0)<=0){break b}while(1){k=f-1|0;i=J[c+108>>2]+(k<<4)|0;g=N[i+8>>2];h=N[i>>2];j=N[i+4>>2];i=va[J[J[a>>2]+20>>2]](a)|0;x=N[J[c+128>>2]+(k<<2)>>2];y=N[b+48>>2];z=N[b+52>>2];A=N[b+56>>2];l=N[b+8>>2];m=N[b>>2];n=N[b+4>>2];u=N[b+24>>2];v=N[b+16>>2];o=N[b+20>>2];p=N[b+40>>2];q=N[b+32>>2];w=N[b+36>>2];J[e+60>>2]=0;J[e+44>>2]=0;J[e+28>>2]=0;J[e+12>>2]=0;r=Q(q*Q(0));s=Q(w*Q(0));N[e+40>>2]=p+Q(r+s);t=Q(p*Q(0));N[e+36>>2]=t+Q(r+w);N[e+32>>2]=t+Q(q+s);r=Q(v*Q(0));s=Q(o*Q(0));N[e+24>>2]=u+Q(r+s);t=Q(u*Q(0));N[e+20>>2]=t+Q(r+o);N[e+16>>2]=t+Q(v+s);r=Q(m*Q(0));s=Q(n*Q(0));N[e+8>>2]=l+Q(r+s);t=Q(l*Q(0));N[e+4>>2]=t+Q(r+n);N[e>>2]=t+Q(m+s);N[e+56>>2]=A+Q(Q(g*p)+Q(Q(h*q)+Q(j*w)));N[e+52>>2]=z+Q(Q(g*u)+Q(Q(h*v)+Q(j*o)));N[e+48>>2]=y+Q(Q(g*l)+Q(Q(h*m)+Q(j*n)));va[J[J[i>>2]+24>>2]](i,x,e,d);i=f>>>0>1;f=k;if(i){continue}break}break b}f=J[c+60>>2];c=c+36|0;g=N[(f<<2)+c>>2];h=N[c+((f+2|0)%3<<2)>>2];a=va[J[J[a>>2]+20>>2]](a)|0;va[J[J[a>>2]+84>>2]](a,h,g,f,b,d);break b}f=J[c+76>>2];g=N[c+68>>2];h=N[c+64>>2];a=va[J[J[a>>2]+20>>2]](a)|0;va[J[J[a>>2]+92>>2]](a,h,g,f,b,d);break b}f=J[c+60>>2];g=Q(va[J[J[c>>2]+92>>2]](c));k=J[c+48>>2];J[e+8>>2]=J[c+44>>2];J[e+12>>2]=k;k=J[c+40>>2];J[e>>2]=J[c+36>>2];J[e+4>>2]=k;h=Q(va[J[J[c>>2]+48>>2]](c));j=Q(va[J[J[c>>2]+48>>2]](c));R=e,S=Q(Q(va[J[J[c>>2]+48>>2]](c))+N[e+8>>2]),N[R+8>>2]=S;N[e>>2]=h+N[e>>2];N[e+4>>2]=j+N[e+4>>2];h=N[(f<<2)+e>>2];a=va[J[J[a>>2]+20>>2]](a)|0;va[J[J[a>>2]+88>>2]](a,g,h,f,b,d);break b}g=N[c+72>>2];a=va[J[J[a>>2]+20>>2]](a)|0;va[J[J[a>>2]+96>>2]](a,c+56|0,g,b,d);break b}m:{if((f|0)>6){break m}B=J[c+60>>2];if(B){if(J[B+28>>2]<=0){break m}while(1){i=J[B+36>>2];F=P(G,36);f=i+F|0;H=J[f+4>>2];n:{if((H|0)<=0){g=Q(0);h=Q(0);j=Q(0);break n}k=J[(J[f+12>>2]+(H<<2)|0)-4>>2];j=Q(0);f=0;h=Q(0);g=Q(0);while(1){i=J[J[(i+F|0)+12>>2]+(f<<2)>>2];I=i<<4;C=I+J[B+16>>2]|0;t=N[C>>2];D=N[C+4>>2];E=N[C+8>>2];C=va[J[J[a>>2]+20>>2]](a)|0;K=J[B+16>>2];k=K+(k<<4)|0;l=N[k+8>>2];m=N[k>>2];n=N[k+4>>2];u=N[b+48>>2];v=N[b+8>>2];o=N[b>>2];p=N[b+4>>2];q=N[b+52>>2];w=N[b+24>>2];x=N[b+16>>2];y=N[b+20>>2];z=N[b+56>>2];A=N[b+40>>2];r=N[b+32>>2];s=N[b+36>>2];J[e+12>>2]=0;N[e+8>>2]=z+Q(Q(l*A)+Q(Q(m*r)+Q(n*s)));N[e+4>>2]=q+Q(Q(l*w)+Q(Q(m*x)+Q(n*y)));N[e>>2]=u+Q(Q(l*v)+Q(Q(m*o)+Q(n*p)));k=I+K|0;l=N[k+8>>2];m=N[k>>2];n=N[k+4>>2];J[e+140>>2]=0;N[e+136>>2]=z+Q(Q(l*A)+Q(Q(m*r)+Q(s*n)));N[e+132>>2]=q+Q(Q(l*w)+Q(Q(m*x)+Q(y*n)));N[e+128>>2]=u+Q(Q(l*v)+Q(Q(m*o)+Q(p*n)));va[J[J[C>>2]+16>>2]](C,e,e+128|0,d);j=Q(j+E);h=Q(h+D);g=Q(g+t);k=i;f=f+1|0;i=J[B+36>>2];if((f|0)>2]){continue}break}}f=va[J[J[a>>2]+20>>2]](a)|0;if(va[J[J[f>>2]+56>>2]](f)&16384){J[e+8>>2]=0;J[e+12>>2]=0;J[e>>2]=1065353216;J[e+4>>2]=1065353216;f=J[B+36>>2]+F|0;r=N[f+28>>2];s=N[f+20>>2];t=N[f+24>>2];f=va[J[J[a>>2]+20>>2]](a)|0;l=N[b+48>>2];m=N[b+8>>2];n=N[b>>2];u=N[b+4>>2];v=N[b+52>>2];o=N[b+24>>2];p=N[b+16>>2];q=N[b+20>>2];w=N[b+56>>2];x=N[b+40>>2];y=N[b+32>>2];z=N[b+36>>2];J[e+140>>2]=0;A=Q(Q(1)/Q(H|0));j=Q(A*j);g=Q(A*g);h=Q(A*h);N[e+136>>2]=w+Q(Q(x*j)+Q(Q(y*g)+Q(z*h)));N[e+132>>2]=v+Q(Q(j*o)+Q(Q(g*p)+Q(h*q)));N[e+128>>2]=l+Q(Q(j*m)+Q(Q(g*n)+Q(h*u)));J[e+124>>2]=0;j=Q(j+r);g=Q(g+s);h=Q(h+t);N[e+120>>2]=w+Q(Q(x*j)+Q(Q(y*g)+Q(z*h)));N[e+116>>2]=v+Q(Q(j*o)+Q(Q(g*p)+Q(h*q)));N[e+112>>2]=l+Q(Q(j*m)+Q(Q(g*n)+Q(h*u)));va[J[J[f>>2]+16>>2]](f,e+128|0,e+112|0,e)}G=G+1|0;if((G|0)>2]){continue}break}break m}if((va[J[J[c>>2]+100>>2]](c)|0)<=0){break m}f=0;while(1){va[J[J[c>>2]+104>>2]](c,f,e,e+128|0);g=N[b+48>>2];h=N[b+8>>2];j=N[b>>2];l=N[b+4>>2];m=N[b+52>>2];n=N[b+24>>2];u=N[b+16>>2];v=N[b+20>>2];o=N[b+56>>2];p=N[b+40>>2];q=N[b+32>>2];w=N[b+36>>2];J[e+124>>2]=0;x=N[e+8>>2];y=N[e>>2];z=N[e+4>>2];N[e+120>>2]=o+Q(Q(p*x)+Q(Q(q*y)+Q(w*z)));N[e+116>>2]=m+Q(Q(x*n)+Q(Q(y*u)+Q(z*v)));N[e+112>>2]=g+Q(Q(x*h)+Q(Q(y*j)+Q(z*l)));J[e+108>>2]=0;r=o;o=N[e+136>>2];s=Q(p*o);p=N[e+128>>2];t=Q(q*p);q=N[e+132>>2];N[e+104>>2]=r+Q(s+Q(t+Q(w*q)));N[e+100>>2]=m+Q(Q(o*n)+Q(Q(p*u)+Q(v*q)));N[e+96>>2]=g+Q(Q(o*h)+Q(Q(p*j)+Q(l*q)));k=va[J[J[a>>2]+20>>2]](a)|0;va[J[J[k>>2]+16>>2]](k,e+112|0,e+96|0,d);f=f+1|0;if((va[J[J[c>>2]+100>>2]](c)|0)>(f|0)){continue}break}}f=J[c+4>>2];if(f-21>>>0<=8){J[e+136>>2]=1566444395;J[e+140>>2]=0;J[e+128>>2]=1566444395;J[e+132>>2]=1566444395;J[e+120>>2]=-581039253;J[e+124>>2]=0;J[e+112>>2]=-581039253;J[e+116>>2]=-581039253;R=e,T=va[J[J[a>>2]+20>>2]](a)|0,J[R+8>>2]=T;J[e+4>>2]=14884;J[e>>2]=14860;f=J[d+12>>2];J[e+20>>2]=J[d+8>>2];J[e+24>>2]=f;f=J[d+4>>2];J[e+12>>2]=J[d>>2];J[e+16>>2]=f;f=J[b+12>>2];J[e+36>>2]=J[b+8>>2];J[e+40>>2]=f;f=J[b+4>>2];J[e+28>>2]=J[b>>2];J[e+32>>2]=f;f=J[b+20>>2];J[e+44>>2]=J[b+16>>2];J[e+48>>2]=f;f=J[b+28>>2];J[e+52>>2]=J[b+24>>2];J[e+56>>2]=f;f=J[b+44>>2];J[e+68>>2]=J[b+40>>2];J[e+72>>2]=f;f=J[b+36>>2];J[e+60>>2]=J[b+32>>2];J[e+64>>2]=f;f=J[b+52>>2];J[e+76>>2]=J[b+48>>2];J[e+80>>2]=f;f=J[b+60>>2];J[e+84>>2]=J[b+56>>2];J[e+88>>2]=f;va[J[J[c>>2]+64>>2]](c,e,e+112|0,e+128|0);f=J[c+4>>2]}if((f|0)!=3){break b}J[e+136>>2]=1566444395;J[e+140>>2]=0;J[e+128>>2]=1566444395;J[e+132>>2]=1566444395;J[e+120>>2]=-581039253;J[e+124>>2]=0;J[e+112>>2]=-581039253;J[e+116>>2]=-581039253;R=e,T=va[J[J[a>>2]+20>>2]](a)|0,J[R+8>>2]=T;J[e+4>>2]=14884;J[e>>2]=14860;a=J[d+12>>2];J[e+20>>2]=J[d+8>>2];J[e+24>>2]=a;a=J[d+4>>2];J[e+12>>2]=J[d>>2];J[e+16>>2]=a;a=J[b+12>>2];J[e+36>>2]=J[b+8>>2];J[e+40>>2]=a;a=J[b+4>>2];J[e+28>>2]=J[b>>2];J[e+32>>2]=a;a=J[b+20>>2];J[e+44>>2]=J[b+16>>2];J[e+48>>2]=a;a=J[b+28>>2];J[e+52>>2]=J[b+24>>2];J[e+56>>2]=a;a=J[b+44>>2];J[e+68>>2]=J[b+40>>2];J[e+72>>2]=a;a=J[b+36>>2];J[e+60>>2]=J[b+32>>2];J[e+64>>2]=a;a=J[b+52>>2];J[e+76>>2]=J[b+48>>2];J[e+80>>2]=a;a=J[b+60>>2];J[e+84>>2]=J[b+56>>2];J[e+88>>2]=a;a=J[c+100>>2];va[J[J[a>>2]+8>>2]](a,e+4|0,e+112|0,e+128|0)}ta=e+144|0}function og(a,b,c,d,e,f){var g=0,h=Q(0),i=Q(0),j=Q(0),k=Q(0),l=0,m=Q(0),n=Q(0),o=Q(0),p=0,q=Q(0),r=Q(0),s=Q(0),t=Q(0),u=Q(0),v=Q(0),w=Q(0),x=Q(0),y=Q(0),z=Q(0),A=Q(0),B=Q(0),C=Q(0),D=Q(0),E=Q(0),F=Q(0),G=Q(0),I=0,K=Q(0),L=Q(0),M=Q(0),O=0;g=ta-672|0;ta=g;I=J[d+12>>2];p=J[d+4>>2];l=J[p+4>>2];a:{if((l|0)<=19){N[g+668>>2]=f;J[g+664>>2]=0;J[g+496>>2]=13172;N[g+660>>2]=N[e+4>>2];H[g+468|0]=0;J[g+444>>2]=953267991;J[g+16>>2]=22716;a=Re(g+112|0,a,p,g+136|0,g+16|0);b:{if(!(va[J[J[a>>2]+8>>2]](a,b,c,I,I,g+496|0)|0)){break b}i=N[g+636>>2];k=N[g+628>>2];m=N[g+632>>2];h=Q(Q(i*i)+Q(Q(k*k)+Q(m*m)));if(!(h>Q(9999999747378752e-20))){break b}f=N[g+660>>2];if(!(f>2])){break b}h=Q(Q(1)/Q(Y(h)));N[g+636>>2]=i*h;N[g+632>>2]=m*h;N[g+628>>2]=k*h;J[g+104>>2]=p;J[g+32>>2]=J[d+8>>2];J[g+36>>2]=g+96;a=J[g+640>>2];J[g+48>>2]=J[g+636>>2];J[g+52>>2]=a;d=J[g+628>>2];c=J[g+632>>2];a=J[g+656>>2];b=g- -64|0;J[b>>2]=J[g+652>>2];J[b+4>>2]=a;J[g+40>>2]=d;J[g+44>>2]=c;a=J[g+648>>2];J[g+56>>2]=J[g+644>>2];J[g+60>>2]=a;N[g+72>>2]=f;Q(va[J[J[e>>2]+12>>2]](e,g+32|0,1))}break a}if(l-21>>>0<=8){c:{if((l|0)!=28){if((l|0)!=21){break c}Ua(g+496|0,I);j=N[b+56>>2];i=N[b+52>>2];h=N[b+48>>2];J[g+124>>2]=0;r=N[g+536>>2];s=N[g+528>>2];t=N[g+532>>2];k=N[g+552>>2];N[g+120>>2]=Q(Q(j*r)+Q(Q(h*s)+Q(i*t)))+k;u=N[g+520>>2];v=N[g+512>>2];w=N[g+516>>2];m=N[g+548>>2];N[g+116>>2]=Q(Q(j*u)+Q(Q(h*v)+Q(i*w)))+m;x=N[g+504>>2];y=N[g+496>>2];z=N[g+500>>2];o=Q(Q(j*x)+Q(Q(h*y)+Q(i*z)));h=N[g+544>>2];N[g+112>>2]=o+h;n=N[c+56>>2];j=N[c+52>>2];i=N[c+48>>2];J[g+108>>2]=0;N[g+104>>2]=k+Q(Q(n*r)+Q(Q(i*s)+Q(t*j)));N[g+100>>2]=m+Q(Q(n*u)+Q(Q(i*v)+Q(w*j)));N[g+96>>2]=h+Q(Q(n*x)+Q(Q(i*y)+Q(z*j)));o=N[c+36>>2];q=N[c+20>>2];G=N[c+40>>2];n=N[c+24>>2];j=N[c+32>>2];i=N[c>>2];k=N[c+16>>2];m=N[c+4>>2];h=N[c+8>>2];J[g+76>>2]=0;J[g+80>>2]=0;J[g+60>>2]=0;J[g+84>>2]=0;J[g+88>>2]=0;J[g+92>>2]=0;N[g+72>>2]=Q(G*r)+Q(Q(h*s)+Q(t*n));N[g+68>>2]=Q(o*r)+Q(Q(m*s)+Q(t*q));N[g+56>>2]=Q(G*u)+Q(Q(h*v)+Q(w*n));N[g+52>>2]=Q(o*u)+Q(Q(m*v)+Q(w*q));J[g+44>>2]=0;N[g+64>>2]=Q(j*r)+Q(Q(i*s)+Q(t*k));N[g+48>>2]=Q(j*u)+Q(Q(i*v)+Q(w*k));N[g+40>>2]=Q(G*x)+Q(Q(h*y)+Q(z*n));N[g+36>>2]=Q(o*x)+Q(Q(m*y)+Q(z*q));N[g+32>>2]=Q(j*x)+Q(Q(i*y)+Q(z*k));d=J[d+8>>2];l=Ie(g+136|0,a,b,c,I,Q(va[J[J[p>>2]+48>>2]](p)));J[l+220>>2]=p;J[l+216>>2]=d;J[l+212>>2]=e;J[l>>2]=13772;h=N[e+4>>2];N[l+208>>2]=f;N[l+200>>2]=h;b=g+16|0;va[J[J[a>>2]+8>>2]](a,g+32|0,b,g);c=ta-16|0;ta=c;a=J[p+56>>2];J[c+12>>2]=l;J[c+8>>2]=a;J[c+4>>2]=18840;Af(J[p+60>>2],c+4|0,g+112|0,g+96|0,b,g);ta=c+16|0;break a}N[g+308>>2]=f;J[g+304>>2]=0;J[g+136>>2]=13172;N[g+300>>2]=N[e+4>>2];l=g+32|0;J[l+20>>2]=p;J[l+16>>2]=0;J[l+12>>2]=a;J[l+4>>2]=0;J[l+8>>2]=0;J[l>>2]=22468;d:{if(!(va[J[J[l>>2]+8>>2]](l,b,c,I,I,g+136|0)|0)){break d}i=N[g+276>>2];k=N[g+268>>2];m=N[g+272>>2];h=Q(Q(i*i)+Q(Q(k*k)+Q(m*m)));if(!(h>Q(9999999747378752e-20))){break d}f=N[g+300>>2];if(!(f>2])){break d}h=Q(Q(1)/Q(Y(h)));N[g+276>>2]=i*h;N[g+272>>2]=m*h;N[g+268>>2]=k*h;J[g+120>>2]=p;J[g+496>>2]=J[d+8>>2];J[g+500>>2]=g+112;a=J[g+280>>2];J[g+512>>2]=J[g+276>>2];J[g+516>>2]=a;c=J[g+268>>2];b=J[g+272>>2];a=J[g+296>>2];J[g+528>>2]=J[g+292>>2];J[g+532>>2]=a;J[g+504>>2]=c;J[g+508>>2]=b;a=J[g+288>>2];J[g+520>>2]=J[g+284>>2];J[g+524>>2]=a;N[g+536>>2]=f;Q(va[J[J[e>>2]+12>>2]](e,g+496|0,1))}break a}Ua(g+496|0,I);r=N[c+56>>2];s=N[c+52>>2];t=N[b+56>>2];u=N[b+52>>2];i=N[g+548>>2];G=N[g+552>>2];v=N[c+48>>2];w=N[b+48>>2];K=N[g+520>>2];L=N[g+516>>2];M=N[g+536>>2];A=N[g+532>>2];k=N[g+544>>2];B=N[g+504>>2];C=N[g+496>>2];D=N[g+500>>2];E=N[g+512>>2];F=N[g+528>>2];x=N[c+36>>2];y=N[c+20>>2];z=N[c+40>>2];o=N[c+24>>2];q=N[c+32>>2];n=N[c>>2];j=N[c+16>>2];m=N[c+4>>2];h=N[c+8>>2];J[g+76>>2]=0;J[g+80>>2]=0;J[g+60>>2]=0;J[g+84>>2]=0;J[g+88>>2]=0;J[g+92>>2]=0;N[g+72>>2]=Q(z*M)+Q(Q(h*F)+Q(A*o));N[g+68>>2]=Q(x*M)+Q(Q(m*F)+Q(A*y));N[g+56>>2]=Q(z*K)+Q(Q(h*E)+Q(L*o));N[g+52>>2]=Q(x*K)+Q(Q(m*E)+Q(L*y));J[g+44>>2]=0;N[g+64>>2]=Q(q*M)+Q(Q(n*F)+Q(A*j));N[g+48>>2]=Q(q*K)+Q(Q(n*E)+Q(L*j));N[g+40>>2]=Q(z*B)+Q(Q(h*C)+Q(D*o));N[g+36>>2]=Q(x*B)+Q(Q(m*C)+Q(D*y));N[g+32>>2]=Q(q*B)+Q(Q(n*C)+Q(D*j));d=J[d+8>>2];b=Ie(g+136|0,a,b,c,I,Q(va[J[J[p>>2]+48>>2]](p)));J[b+220>>2]=p;J[b+216>>2]=d;J[b+212>>2]=e;J[b>>2]=13984;h=N[e+4>>2];N[b+208>>2]=f;N[b+200>>2]=h;va[J[J[a>>2]+8>>2]](a,g+32|0,g+112|0,g+96|0);J[g+28>>2]=0;n=Q(k+Q(Q(t*B)+Q(Q(w*C)+Q(u*D))));m=n;j=Q(k+Q(Q(r*B)+Q(Q(v*C)+Q(D*s))));if(n>j){N[g+16>>2]=j;m=j}o=Q(i+Q(Q(t*K)+Q(Q(w*E)+Q(u*L))));h=o;i=Q(i+Q(Q(r*K)+Q(Q(v*E)+Q(L*s))));if(i>2]=i;h=i}q=Q(Q(Q(t*M)+Q(Q(w*F)+Q(u*A)))+G);f=q;k=Q(G+Q(Q(r*M)+Q(Q(v*F)+Q(A*s))));if(k>2]=k;f=k}J[g+12>>2]=0;N[g+16>>2]=N[g+112>>2]+m;N[g+20>>2]=N[g+116>>2]+h;N[g+24>>2]=N[g+120>>2]+f;N[g>>2]=N[g+96>>2]+(j>n?j:n);N[g+4>>2]=N[g+100>>2]+(i>o?i:o);N[g+8>>2]=N[g+104>>2]+(k>q?k:q);va[J[J[p>>2]+64>>2]](p,b,g+16|0,g);break a}if((l|0)!=31){break a}Na(7738);O=g+496|0;Ua(O,I);u=N[b+56>>2];v=N[b+52>>2];w=N[b+36>>2];x=N[b+20>>2];y=N[b+40>>2];z=N[b+24>>2];o=N[b+32>>2];q=N[b>>2];G=N[b+16>>2];k=N[g+548>>2];m=N[g+552>>2];n=N[b+48>>2];A=N[g+520>>2];B=N[g+516>>2];j=N[b+4>>2];C=N[g+536>>2];i=N[b+8>>2];D=N[g+532>>2];h=N[g+544>>2];E=N[g+504>>2];F=N[g+496>>2];r=N[g+500>>2];s=N[g+512>>2];t=N[g+528>>2];J[g+196>>2]=0;J[g+180>>2]=0;J[g+164>>2]=0;N[g+176>>2]=Q(y*C)+Q(Q(i*t)+Q(z*D));N[g+172>>2]=Q(w*C)+Q(Q(j*t)+Q(x*D));N[g+160>>2]=Q(y*A)+Q(Q(i*s)+Q(z*B));N[g+156>>2]=Q(w*A)+Q(Q(j*s)+Q(x*B));N[g+192>>2]=m+Q(Q(u*C)+Q(Q(n*t)+Q(D*v)));N[g+188>>2]=k+Q(Q(u*A)+Q(Q(n*s)+Q(B*v)));J[g+148>>2]=0;N[g+168>>2]=Q(o*C)+Q(Q(q*t)+Q(G*D));N[g+152>>2]=Q(o*A)+Q(Q(q*s)+Q(G*B));N[g+144>>2]=Q(y*E)+Q(Q(i*F)+Q(r*z));N[g+140>>2]=Q(w*E)+Q(Q(j*F)+Q(r*x));N[g+136>>2]=Q(o*E)+Q(Q(q*F)+Q(G*r));N[g+184>>2]=h+Q(Q(u*E)+Q(Q(n*F)+Q(r*v)));l=g+136|0;va[J[J[a>>2]+8>>2]](a,l,g+32|0,g+112|0);Ua(O,I);u=N[c+56>>2];v=N[c+52>>2];w=N[c+36>>2];x=N[c+20>>2];y=N[c+40>>2];z=N[c+24>>2];o=N[c+32>>2];q=N[c>>2];G=N[c+16>>2];k=N[g+548>>2];m=N[g+552>>2];n=N[c+48>>2];A=N[g+520>>2];B=N[g+516>>2];j=N[c+4>>2];C=N[g+536>>2];i=N[c+8>>2];D=N[g+532>>2];h=N[g+544>>2];E=N[g+504>>2];F=N[g+496>>2];r=N[g+500>>2];s=N[g+512>>2];t=N[g+528>>2];J[g+196>>2]=0;J[g+180>>2]=0;J[g+164>>2]=0;N[g+176>>2]=Q(y*C)+Q(Q(i*t)+Q(z*D));N[g+172>>2]=Q(w*C)+Q(Q(j*t)+Q(x*D));N[g+160>>2]=Q(y*A)+Q(Q(i*s)+Q(z*B));N[g+156>>2]=Q(w*A)+Q(Q(j*s)+Q(x*B));N[g+192>>2]=m+Q(Q(u*C)+Q(Q(n*t)+Q(D*v)));N[g+188>>2]=k+Q(Q(u*A)+Q(Q(n*s)+Q(B*v)));J[g+148>>2]=0;N[g+168>>2]=Q(o*C)+Q(Q(q*t)+Q(G*D));N[g+152>>2]=Q(o*A)+Q(Q(q*s)+Q(G*B));N[g+144>>2]=Q(y*E)+Q(Q(i*F)+Q(r*z));N[g+140>>2]=Q(w*E)+Q(Q(j*F)+Q(r*x));N[g+136>>2]=Q(o*E)+Q(Q(q*F)+Q(G*r));N[g+184>>2]=h+Q(Q(u*E)+Q(Q(n*F)+Q(r*v)));va[J[J[a>>2]+8>>2]](a,l,g+96|0,g+16|0);h=N[g+96>>2];if(h>2]){N[g+32>>2]=h}h=N[g+100>>2];if(h>2]){N[g+36>>2]=h}h=N[g+104>>2];if(h>2]){N[g+40>>2]=h}h=N[g+108>>2];if(h>2]){N[g+44>>2]=h}h=N[g+16>>2];if(h>N[g+112>>2]){N[g+112>>2]=h}h=N[g+20>>2];if(h>N[g+116>>2]){N[g+116>>2]=h}h=N[g+24>>2];if(h>N[g+120>>2]){N[g+120>>2]=h}h=N[g+28>>2];if(h>N[g+124>>2]){N[g+124>>2]=h}J[g+528>>2]=e;J[g+524>>2]=I;N[g+516>>2]=f;J[g+512>>2]=c;J[g+508>>2]=b;J[g+504>>2]=a;J[g+500>>2]=d;J[g+496>>2]=14200;J[g+520>>2]=p;b=J[p+72>>2];e:{if(!b){if(J[p+24>>2]<=0){break e}b=0;while(1){d=J[p+32>>2]+P(b,80)|0;c=J[d+64>>2];a=J[d+12>>2];J[g+144>>2]=J[d+8>>2];J[g+148>>2]=a;a=J[d+4>>2];J[g+136>>2]=J[d>>2];J[g+140>>2]=a;a=J[d+28>>2];J[g+160>>2]=J[d+24>>2];J[g+164>>2]=a;a=J[d+20>>2];J[g+152>>2]=J[d+16>>2];J[g+156>>2]=a;a=J[d+44>>2];J[g+176>>2]=J[d+40>>2];J[g+180>>2]=a;a=J[d+36>>2];J[g+168>>2]=J[d+32>>2];J[g+172>>2]=a;a=J[d+60>>2];J[g+192>>2]=J[d+56>>2];J[g+196>>2]=a;a=J[d+52>>2];J[g+184>>2]=J[d+48>>2];J[g+188>>2]=a;ng(g+496|0,b,g+136|0,c);b=b+1|0;if((b|0)>2]){continue}break}break e}a=J[g+44>>2];J[g+144>>2]=J[g+40>>2];J[g+148>>2]=a;a=J[g+124>>2];J[g+160>>2]=J[g+120>>2];J[g+164>>2]=a;a=J[g+116>>2];J[g+152>>2]=J[g+112>>2];J[g+156>>2]=a;a=J[g+36>>2];J[g+136>>2]=J[g+32>>2];J[g+140>>2]=a;Rb(J[b>>2],g+136|0,g+496|0)}Ma()}ta=g+672|0}function $e(a,b,c){var d=0,e=0,f=0,g=Q(0),h=0,i=0,j=0,k=0,l=Q(0),m=Q(0),n=0,o=0,p=0,q=Q(0),r=Q(0),s=Q(0),t=Q(0),u=Q(0),v=Q(0),w=0,x=0,y=0,z=0;f=ta-176|0;ta=f;a:{if((c|0)<=0){b=J[a+12>>2];if(!(!b|!K[a+16|0])){Fa(b)}J[a+12>>2]=0;H[a+16|0]=1;J[a+4>>2]=0;J[a+8>>2]=0;b=J[a+32>>2];if(!(!b|!K[a+36|0])){Fa(b)}J[a+32>>2]=0;H[a+36|0]=1;J[a+24>>2]=0;J[a+28>>2]=0;b=J[a+52>>2];if(!(!b|!K[a+56|0])){Fa(b)}J[a+52>>2]=0;H[a+56|0]=1;J[a+44>>2]=0;J[a+48>>2]=0;break a}H[f+144|0]=1;J[f+120>>2]=0;J[f+124>>2]=256;J[f+104>>2]=0;J[f+108>>2]=256;J[f+88>>2]=0;J[f+92>>2]=256;J[f+140>>2]=0;J[f+132>>2]=0;J[f+136>>2]=0;J[f+112>>2]=0;J[f+116>>2]=0;J[f+96>>2]=0;J[f+100>>2]=0;J[f+80>>2]=0;J[f+84>>2]=0;e=f+48|0;j=ta-48|0;ta=j;r=Q(-1.0000000150474662e30);s=Q(1.0000000150474662e30);b:{if((c|0)>0){d=b;g=Q(1.0000000150474662e30);l=Q(1.0000000150474662e30);m=Q(-1.0000000150474662e30);q=Q(-1.0000000150474662e30);while(1){t=N[d+8>>2];r=r>2];m=m>2];q=qt?t:s;g=g>u?u:g;l=l>v?v:l;d=d+16|0;k=k+1|0;if((k|0)!=(c|0)){continue}break}break b}q=Q(-1.0000000150474662e30);m=Q(-1.0000000150474662e30);l=Q(1.0000000150474662e30);g=Q(1.0000000150474662e30)}J[e+12>>2]=0;J[e+28>>2]=0;N[e+24>>2]=Q(r+s)*Q(.5);N[e+20>>2]=Q(m+g)*Q(.5);N[e+16>>2]=Q(q+l)*Q(.5);l=Q(q-l);g=Q(m-g);i=l(i?g:l)?2:i;J[e+112>>2]=d;i=m>(i?l:g)?!i:2;i=(d|0)==(i|0)?d+(d>>>0>1?-2:1)|0:i;J[e+104>>2]=i;i=d+i|0;J[e+108>>2]=3-i;m=Q(m*Q(9788566967472434e-20));d=(d|0)==((4-i|0)%3|0);m=d?m:Q(-m);N[e+8>>2]=m;g=Q(g*Q(9788566967472434e-20));g=d?g:Q(-g);N[e+4>>2]=g;l=Q(l*Q(9788566967472434e-20));l=d?l:Q(-l);N[e>>2]=l;H[j+44|0]=1;J[j+36>>2]=0;J[j+40>>2]=0;c:{d:{if((c|0)>0){y=j,z=Ga(c<<4),J[y+40>>2]=z;H[j+44|0]=1;J[j+36>>2]=c;J[j+32>>2]=c;if((c|0)<=0){break c}m=m!=Q(0)?Q(Q(1)/m):m;q=g!=Q(0)?Q(Q(1)/g):g;l=l!=Q(0)?Q(Q(1)/l):l;d=j+8|0;i=d+(J[e+104>>2]<<2)|0;h=d+(J[e+112>>2]<<2)|0;n=d+(J[e+108>>2]<<2)|0;r=N[e+24>>2];s=N[e+20>>2];t=N[e+16>>2];o=J[j+40>>2];k=0;while(1){g=N[b>>2];u=N[b+4>>2];v=N[b+8>>2];J[j+20>>2]=0;N[j+16>>2]=m*Q(v-r);N[j+12>>2]=q*Q(u-s);N[j+8>>2]=l*Q(g-t);d=o+(k<<4)|0;g=N[n>>2];e:{if(Q(R(g))>2]=w;g=N[h>>2];f:{if(Q(R(g))>2]=w;g=N[i>>2];J[d+12>>2]=k;J[d+8>>2]=Q(R(g))>2]=c;break c}if((c|0)<2){break c}af(j+28|0,j+8|0,0,c-1|0)}J[e+44>>2]=c;J[e+40>>2]=0;J[e+36>>2]=J[e+32>>2];b=J[e+84>>2];if((c|0)>(b|0)){if(J[e+88>>2]<(c|0)){g:{if(!c){k=0;i=b;break g}k=Ga(c<<2);i=J[e+84>>2]}if((i|0)>0){d=0;while(1){h=d<<2;J[h+k>>2]=J[h+J[e+92>>2]>>2];d=d+1|0;if((i|0)!=(d|0)){continue}break}}d=J[e+92>>2];if(!(!d|!K[e+96|0])){Fa(d)}J[e+92>>2]=k;H[e+96|0]=1;J[e+88>>2]=c}while(1){J[J[e+92>>2]+(b<<2)>>2]=0;b=b+1|0;if((c|0)!=(b|0)){continue}break}}J[e+84>>2]=c;if((c|0)>0){i=e+32|0;d=0;while(1){b=J[i+8>>2];h:{if(b){break h}h=J[i+4>>2];i:{if(h){J[i+4>>2]=J[h+8>>2];b=J[h>>2];break i}h=Ga(12);b=J[i+12>>2];J[h+8>>2]=0;J[h+4>>2]=b;b=Ga(P(b,112));J[h>>2]=b;J[h+8>>2]=J[i>>2];J[i>>2]=h}n=J[h+4>>2];if((n|0)<=0){break h}h=0;k=b;while(1){o=k;k=k+112|0;h=h+1|0;J[o>>2]=(n|0)>(h|0)?k:0;if((h|0)!=(n|0)){continue}break}}J[i+8>>2]=J[b>>2];J[b+16>>2]=0;J[b+8>>2]=0;J[b+12>>2]=0;J[b>>2]=0;J[b+4>>2]=0;J[b+104>>2]=-1;J[b+8>>2]=0;k=J[j+40>>2]+(d<<4)|0;h=J[k+4>>2];J[b+88>>2]=J[k>>2];J[b+92>>2]=h;h=J[k+12>>2];J[b+96>>2]=J[k+8>>2];J[b+100>>2]=h;J[b+104>>2]=-1;J[J[e+92>>2]+(d<<2)>>2]=b;d=d+1|0;if((d|0)!=(c|0)){continue}break}}b=J[j+40>>2];if(!(!b|!K[j+44|0])){Fa(b)}J[j+40>>2]=0;H[j+44|0]=1;J[j+32>>2]=0;J[j+36>>2]=0;J[e+116>>2]=0;J[e+120>>2]=0;J[e+60>>2]=P(c,6);J[e+56>>2]=0;J[e+100>>2]=-3;J[e+52>>2]=J[e+48>>2];J[j+16>>2]=0;J[j+20>>2]=0;J[j+8>>2]=0;J[j+12>>2]=0;cd(e,0,c,j+8|0);J[e+124>>2]=J[j+8>>2];b=J[j+40>>2];if(!(!b|!K[j+44|0])){Fa(b)}ta=j+48|0;if((J[a+4>>2]&J[a+8>>2])<0){b=J[a+12>>2];if(!(!b|!K[a+16|0])){Fa(b)}H[a+16|0]=1;J[a+8>>2]=0;J[a+12>>2]=0}J[a+4>>2]=0;c=J[a+24>>2];if((c|0)<0){if(J[a+28>>2]<0){b=J[a+32>>2];if(!(!b|!K[a+36|0])){Fa(b)}H[a+36|0]=1;J[a+28>>2]=0;J[a+32>>2]=0}while(1){b=J[a+32>>2]+P(c,12)|0;J[b>>2]=0;J[b+4>>2]=0;J[b+8>>2]=0;c=c+1|0;if(c){continue}break}}J[a+24>>2]=0;c=J[a+44>>2];if((c|0)<0){b=J[a+52>>2];if(J[a+48>>2]<0){if(!(!b|!K[a+56|0])){Fa(b)}H[a+56|0]=1;J[a+48>>2]=0;J[a+52>>2]=0;b=0}c=c<<2;Ka(b+c|0,0,0-c|0)}J[a+44>>2]=0;J[f+40>>2]=0;J[f+32>>2]=0;J[f+36>>2]=0;H[f+44|0]=1;_e(J[f+172>>2],f+28|0);h=J[f+32>>2];j:{if((h|0)>0){c=0;while(1){j=c;d=ta-16|0;ta=d;n=J[J[f+40>>2]+(c<<2)>>2];b=n;k:{if(J[b+100>>2]>=0){g=Q(J[b+88>>2]);break k}g=Q(rb(b+24|0)/rb(b+72|0))}N[d+(J[f+156>>2]<<2)>>2]=g;if(J[b+100>>2]>=0){g=Q(J[b+92>>2])}else{g=Q(rb(b+40|0)/rb(b+72|0))}N[d+(J[f+160>>2]<<2)>>2]=g;if(J[b+100>>2]>=0){g=Q(J[b+96>>2])}else{g=Q(rb(b+56|0)/rb(b+72|0))}N[d+(J[f+152>>2]<<2)>>2]=g;g=N[f+68>>2];l=N[f+72>>2];m=N[f+64>>2];q=N[f+48>>2];r=N[f+52>>2];s=N[f+56>>2];t=N[d>>2];u=N[d+4>>2];v=N[d+8>>2];J[f+24>>2]=0;N[f+20>>2]=l+Q(v*s);N[f+16>>2]=g+Q(u*r);N[f+12>>2]=m+Q(t*q);ta=d+16|0;b=J[a+4>>2];l:{if((b|0)!=J[a+8>>2]){break l}i=b?b<<1:1;if((i|0)<=(b|0)){break l}c=0;d=0;if(i){d=Ga(i<<4);b=J[a+4>>2]}if((b|0)>0){while(1){e=c<<4;k=e+d|0;e=e+J[a+12>>2]|0;o=J[e+4>>2];J[k>>2]=J[e>>2];J[k+4>>2]=o;o=J[e+12>>2];J[k+8>>2]=J[e+8>>2];J[k+12>>2]=o;c=c+1|0;if((c|0)!=(b|0)){continue}break}}b=J[a+12>>2];if(!(!b|!K[a+16|0])){Fa(b)}J[a+12>>2]=d;H[a+16|0]=1;J[a+8>>2]=i;b=J[a+4>>2]}c=J[f+16>>2];b=J[a+12>>2]+(b<<4)|0;J[b>>2]=J[f+12>>2];J[b+4>>2]=c;c=J[f+24>>2];J[b+8>>2]=J[f+20>>2];J[b+12>>2]=c;J[a+4>>2]=J[a+4>>2]+1;k=-1;i=-1;w=J[n+8>>2];e=w;if(e){while(1){if(J[e+20>>2]<0){b=J[a+24>>2];c=b;m:{if((b|0)!=J[a+28>>2]){break m}n=b?b<<1:1;if((n|0)<=(b|0)){break m}c=0;d=b;h=0;if(n){h=Ga(P(n,12));d=J[a+24>>2]}if((d|0)>0){while(1){p=P(c,12);o=p+J[a+32>>2]|0;x=J[o+4>>2];p=h+p|0;J[p>>2]=J[o>>2];J[p+4>>2]=x;J[p+8>>2]=J[o+8>>2];c=c+1|0;if((d|0)!=(c|0)){continue}break}}c=J[a+32>>2];if(!(!c|!K[a+36|0])){Fa(c)}J[a+32>>2]=h;H[a+36|0]=1;J[a+28>>2]=n;c=J[a+24>>2]}c=J[a+32>>2]+P(c,12)|0;J[c>>2]=0;J[c+4>>2]=0;J[c+8>>2]=0;d=J[a+24>>2]+1|0;J[a+24>>2]=d;n:{if(J[a+28>>2]!=(d|0)){break n}n=d?d<<1:1;if((n|0)<=(d|0)){break n}c=0;h=0;if(n){h=Ga(P(n,12));d=J[a+24>>2]}if((d|0)>0){while(1){p=P(c,12);o=p+J[a+32>>2]|0;x=J[o+4>>2];p=h+p|0;J[p>>2]=J[o>>2];J[p+4>>2]=x;J[p+8>>2]=J[o+8>>2];c=c+1|0;if((d|0)!=(c|0)){continue}break}}c=J[a+32>>2];if(!(!c|!K[a+36|0])){Fa(c)}J[a+32>>2]=h;H[a+36|0]=1;J[a+28>>2]=n;d=J[a+24>>2]}c=J[a+32>>2]+P(d,12)|0;J[c>>2]=0;J[c+4>>2]=0;J[c+8>>2]=0;J[a+24>>2]=J[a+24>>2]+1;c=J[a+32>>2];J[e+20>>2]=b;J[J[e+8>>2]+20>>2]=b+1;b=c+P(b,12)|0;J[b+16>>2]=-1;J[b+4>>2]=1;c=_e(J[e+12>>2],f+28|0);J[b+20>>2]=j;J[b+8>>2]=c}b=J[e+20>>2];d=b;if((k|0)>=0){J[J[a+32>>2]+P(b,12)>>2]=k-b;d=i}k=b;i=d;e=J[e>>2];if((w|0)!=(e|0)){continue}break}J[J[a+32>>2]+P(d,12)>>2]=b-d;h=J[f+32>>2]}c=j+1|0;if((h|0)>(c|0)){continue}break}k=J[f+40>>2];i=0;while(1){o=J[J[(i<<2)+k>>2]+8>>2];e=o;if(e){while(1){c=J[e+20>>2];if((c|0)>=0){b=J[a+44>>2];o:{if((b|0)!=J[a+48>>2]){break o}h=b?b<<1:1;if((h|0)<=(b|0)){break o}c=0;d=0;if(h){d=Ga(h<<2);b=J[a+44>>2]}n=J[a+52>>2];p:{q:{if((b|0)>0){while(1){p=c<<2;J[p+d>>2]=J[n+p>>2];c=c+1|0;if((c|0)!=(b|0)){continue}break q}}if(!n){break p}}if(K[a+56|0]){Fa(n)}b=J[a+44>>2]}J[a+52>>2]=d;H[a+56|0]=1;J[a+48>>2]=h;c=J[e+20>>2]}J[J[a+52>>2]+(b<<2)>>2]=c;J[a+44>>2]=J[a+44>>2]+1;c=e;while(1){J[c+20>>2]=-1;c=J[J[c+8>>2]+4>>2];if((e|0)!=(c|0)){continue}break}}e=J[e>>2];if((o|0)!=(e|0)){continue}break}}b=(j|0)==(i|0);i=i+1|0;if(!b){continue}break}break j}k=J[f+40>>2]}if(!(!k|!K[f+44|0])){Fa(k)}a=J[f+140>>2];if(!(!a|!K[f+144|0])){Fa(a)}J[f+140>>2]=0;H[f+144|0]=1;J[f+132>>2]=0;J[f+136>>2]=0;ad(f+112|0);ad(f+96|0);ad(f+80|0)}ta=f+176|0}function ln(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=Q(0),l=0,m=0,n=Q(0),o=Q(0),p=Q(0),q=Q(0),r=0,s=Q(0),t=Q(0),u=0,v=Q(0),w=Q(0),x=0,y=Q(0),z=Q(0),A=Q(0),B=Q(0),C=Q(0),D=Q(0),E=0,F=Q(0),G=Q(0),I=Q(0),L=Q(0),M=Q(0),O=Q(0),S=Q(0),T=Q(0),U=0,V=Q(0),W=Q(0),X=0,Y=Q(0),Z=Q(0),_=Q(0),$=Q(0),aa=0,ba=0,ca=0,da=Q(0),ea=Q(0),fa=Q(0),ga=Q(0),ha=Q(0),ia=Q(0);f=ta-3584|0;ta=f;a:{b:{aa=J[b+4>>2];U=J[aa+72>>2];if(U){ba=J[c+4>>2];m=J[ba+72>>2];if(m){break b}}Wf(a,b,c,d,e);break a}if(!(J[aa+76>>2]==J[a+108>>2]&J[ba+76>>2]==J[a+112>>2])){Tf(a);J[a+108>>2]=J[aa+76>>2];J[a+112>>2]=J[ba+76>>2]}J[f+88>>2]=0;H[f+92|0]=1;while(1){l=(f+112|0)+P(g,868)|0;J[l>>2]=1025;h=l+836|0;i=l+4|0;while(1){Ka(i+116|0,0,52);i=i+208|0;if((h|0)!=(i|0)){continue}break}J[l+864>>2]=0;J[l+844>>2]=0;J[l+836>>2]=0;J[l+840>>2]=0;g=g+1|0;if((g|0)!=4){continue}break}h=J[f+88>>2];if(!(!h|!K[f+92|0])){Fa(h)}J[f+80>>2]=0;J[f+84>>2]=4;J[f+88>>2]=f+112;H[f+92|0]=0;u=J[a+84>>2];h=J[u+8>>2];c:{if((h|0)<=0){break c}while(1){g=J[(J[u+16>>2]+P(j,12)|0)+8>>2];if(g){va[J[J[g>>2]+16>>2]](g,f+76|0);h=0;g=J[f+80>>2];if((g|0)>0){while(1){E=J[J[f+88>>2]+(h<<2)>>2];if(J[E+844>>2]){J[e+4>>2]=E;g=J[E+836>>2];i=J[J[e+8>>2]+8>>2];l=(g|0)==(i|0);r=g;g=J[J[e+12>>2]+8>>2];ab(E,(l?r:g)+4|0,(l?g:i)+4|0);J[e+4>>2]=0;g=J[f+80>>2]}h=h+1|0;if((h|0)<(g|0)){continue}break}}if((g|0)<0){if(J[f+84>>2]<0){h=J[f+88>>2];if(!(!h|!K[f+92|0])){Fa(h)}H[f+92|0]=1;J[f+84>>2]=0;J[f+88>>2]=0}while(1){J[J[f+88>>2]+(g<<2)>>2]=0;g=g+1|0;if(g){continue}break}}J[f+80>>2]=0;h=J[u+8>>2]}j=j+1|0;if((j|0)<(h|0)){continue}break}j=J[f+88>>2];if(!j|!K[f+92|0]){break c}Fa(j)}h=J[a+4>>2];j=J[a+84>>2];J[f+108>>2]=J[a+72>>2];J[f+104>>2]=j;J[f+96>>2]=d;J[f+92>>2]=h;J[f+80>>2]=0;J[f+76>>2]=16436;J[f+100>>2]=e;J[f+88>>2]=c;J[f+84>>2]=b;Ua(f+112|0,J[b+12>>2]);j=J[U>>2];d:{if(!j){break d}d=J[m>>2];if(!d){break d}h=J[c+12>>2];da=N[h+16>>2];ea=N[h>>2];fa=N[h+32>>2];Y=N[h+8>>2];y=N[h+24>>2];D=N[h+40>>2];Z=N[h+4>>2];_=N[h+20>>2];z=N[h+36>>2];n=N[h+56>>2];A=N[f+152>>2];k=N[h+48>>2];v=N[f+144>>2];B=N[f+148>>2];o=N[h+52>>2];ga=Q(Q(Q(n*A)+Q(Q(k*v)+Q(B*o)))+N[f+168>>2]);w=N[f+136>>2];p=N[f+128>>2];s=N[f+132>>2];ha=Q(Q(Q(n*w)+Q(Q(k*p)+Q(s*o)))+N[f+164>>2]);q=N[f+120>>2];t=Q(n*q);n=N[f+112>>2];C=Q(k*n);k=N[f+116>>2];ia=Q(N[f+160>>2]+Q(t+Q(C+Q(k*o))));$=N[e+32>>2];J[f+116>>2]=d;J[f+112>>2]=j;t=Q(Q(D*A)+Q(Q(Y*v)+Q(y*B)));L=Q(R(t));C=Q(Q(z*A)+Q(Q(Z*v)+Q(_*B)));M=Q(R(C));F=Q(Q(fa*A)+Q(Q(ea*v)+Q(da*B)));O=Q(R(F));G=Q(Q(D*w)+Q(Q(Y*p)+Q(y*s)));S=Q(R(G));I=Q(Q(z*w)+Q(Q(Z*p)+Q(_*s)));T=Q(R(I));V=Q(Q(fa*w)+Q(Q(ea*p)+Q(da*s)));W=Q(R(V));y=Q(Q(D*q)+Q(Q(Y*n)+Q(k*y)));D=Q(R(y));z=Q(Q(z*q)+Q(Q(Z*n)+Q(k*_)));A=Q(R(z));v=Q(Q(fa*q)+Q(Q(ea*n)+Q(da*k)));B=Q(R(v));u=124;U=0;g=f+112|0;d=128;l=128;i=1;while(1){e:{f:{g:{m=i-1|0;ca=m<<3;j=ca+g|0;x=J[j>>2];r=J[j+4>>2];w=N[r+24>>2];p=N[r+8>>2];Y=Q(Q(Q(w-p)*Q(.5))+Q(0));s=N[r+16>>2];q=N[r>>2];Z=Q(Q(Q(s-q)*Q(.5))+Q(0));n=N[r+20>>2];o=N[r+4>>2];_=Q(Q(Q(n-o)*Q(.5))+Q(0));k=Q(Q(Y*D)+Q(Q(Z*B)+Q(A*_)));p=Q(Q(w+p)*Q(.5));q=Q(Q(s+q)*Q(.5));n=Q(Q(n+o)*Q(.5));o=Q(ia+Q(Q(p*y)+Q(Q(q*v)+Q(z*n))));h:{if(!(N[x>>2]<=Q($+Q(k+o)))|!(N[x+16>>2]>=Q(Q(o-k)-$))){break h}k=Q(Q(Y*S)+Q(Q(Z*W)+Q(T*_)));o=Q(ha+Q(Q(p*G)+Q(Q(q*V)+Q(I*n))));if(!(N[x+4>>2]<=Q($+Q(k+o)))|!(N[x+20>>2]>=Q(Q(o-k)-$))){break h}k=Q(Q(Y*L)+Q(Q(Z*O)+Q(M*_)));o=Q(ga+Q(Q(p*t)+Q(Q(q*F)+Q(C*n))));if(!(N[x+8>>2]<=Q($+Q(k+o)))|!(N[x+24>>2]>=Q(Q(o-k)-$))){break h}i:{if((m|0)<=(u|0)){j=d;h=g;break i}j=d<<1;j:{if(!((j|0)<=(d|0)|(j|0)<=(l|0))){k:{if(!d){h=0;break k}l=0;h=Ga(d<<4);if((d|0)<=0){break k}while(1){u=l<<3;X=u+h|0;E=g+u|0;u=J[E+4>>2];J[X>>2]=J[E>>2];J[X+4>>2]=u;l=l+1|0;if((l|0)!=(d|0)){continue}break}}d=U;U=1;if(d){Fa(g)}l=j;break j}h=g}u=j-4|0}d=J[r+40>>2];if(J[x+40>>2]){g=J[x+36>>2];if(d){d=h+ca|0;J[d+4>>2]=J[r+36>>2];J[d>>2]=g;d=J[x+40>>2];g=(i<<3)+h|0;J[g+4>>2]=J[r+36>>2];J[g>>2]=d;d=J[x+36>>2];J[g+12>>2]=J[r+40>>2];J[g+8>>2]=d;d=J[x+40>>2];J[g+20>>2]=J[r+40>>2];J[g+16>>2]=d;i=i+3|0;break f}d=h+ca|0;J[d+4>>2]=r;J[d>>2]=g;g=J[x+40>>2];d=(i<<3)+h|0;J[d+4>>2]=r;J[d>>2]=g;break g}if(d){d=h+ca|0;J[d+4>>2]=J[r+36>>2];J[d>>2]=x;d=(i<<3)+h|0;J[d+4>>2]=J[r+40>>2];J[d>>2]=x;break g}va[J[J[f+76>>2]+8>>2]](f+76|0,x,r);d=j;g=h}i=m;break e}i=i+1|0}d=j;g=h}if(i){continue}break}if(!g|!U){break d}Fa(g)}X=J[a+84>>2];if(J[X+8>>2]>0){l=0;while(1){h=P(l,12);d=h+J[X+16>>2]|0;g=J[d+8>>2];l:{if(!g){break l}i=J[aa+32>>2]+P(J[d>>2],80)|0;j=J[i+64>>2];d=J[b+12>>2];n=N[d+52>>2];k=N[d+56>>2];V=N[i+48>>2];W=N[i+52>>2];y=N[i+56>>2];D=N[i+4>>2];z=N[i+20>>2];A=N[i+36>>2];v=N[i+8>>2];B=N[i+24>>2];w=N[i+40>>2];L=N[d+20>>2];C=N[d+24>>2];p=N[i>>2];M=N[d+36>>2];s=N[i+16>>2];F=N[d+40>>2];q=N[i+32>>2];o=N[d+48>>2];O=N[d+8>>2];G=N[d>>2];S=N[d+4>>2];I=N[d+16>>2];T=N[d+32>>2];J[f+172>>2]=0;J[f+156>>2]=0;J[f+140>>2]=0;J[f+124>>2]=0;N[f+144>>2]=Q(q*F)+Q(Q(p*T)+Q(M*s));N[f+128>>2]=Q(q*C)+Q(Q(p*I)+Q(L*s));N[f+112>>2]=Q(q*O)+Q(Q(p*G)+Q(S*s));N[f+152>>2]=Q(w*F)+Q(Q(v*T)+Q(M*B));N[f+148>>2]=Q(A*F)+Q(Q(D*T)+Q(M*z));N[f+136>>2]=Q(w*C)+Q(Q(v*I)+Q(L*B));N[f+132>>2]=Q(A*C)+Q(Q(D*I)+Q(L*z));N[f+120>>2]=Q(w*O)+Q(Q(v*G)+Q(S*B));N[f+116>>2]=Q(A*O)+Q(Q(D*G)+Q(S*z));N[f+168>>2]=k+Q(Q(y*F)+Q(Q(V*T)+Q(M*W)));N[f+164>>2]=n+Q(Q(y*C)+Q(Q(V*I)+Q(L*W)));N[f+160>>2]=o+Q(Q(y*O)+Q(Q(V*G)+Q(S*W)));d=f+112|0;va[J[J[j>>2]+8>>2]](j,d,f+60|0,f+44|0);t=N[e+32>>2];N[f+60>>2]=N[f+60>>2]-t;N[f+64>>2]=N[f+64>>2]-t;N[f+68>>2]=N[f+68>>2]-t;N[f+44>>2]=t+N[f+44>>2];N[f+48>>2]=t+N[f+48>>2];N[f+52>>2]=t+N[f+52>>2];m=J[ba+32>>2]+P(J[(h+J[X+16>>2]|0)+4>>2],80)|0;j=J[m+64>>2];i=J[c+12>>2];n=N[i+52>>2];k=N[i+56>>2];V=N[m+48>>2];W=N[m+52>>2];y=N[m+56>>2];D=N[m+4>>2];z=N[m+20>>2];A=N[m+36>>2];v=N[m+8>>2];B=N[m+24>>2];w=N[m+40>>2];L=N[i+20>>2];C=N[i+24>>2];p=N[m>>2];M=N[i+36>>2];s=N[m+16>>2];F=N[i+40>>2];q=N[m+32>>2];o=N[i+48>>2];O=N[i+8>>2];G=N[i>>2];S=N[i+4>>2];I=N[i+16>>2];T=N[i+32>>2];J[f+172>>2]=0;J[f+156>>2]=0;J[f+140>>2]=0;J[f+124>>2]=0;N[f+144>>2]=Q(q*F)+Q(Q(p*T)+Q(M*s));N[f+128>>2]=Q(q*C)+Q(Q(p*I)+Q(L*s));N[f+112>>2]=Q(q*O)+Q(Q(p*G)+Q(S*s));N[f+152>>2]=Q(w*F)+Q(Q(v*T)+Q(M*B));N[f+148>>2]=Q(A*F)+Q(Q(D*T)+Q(M*z));N[f+136>>2]=Q(w*C)+Q(Q(v*I)+Q(L*B));N[f+132>>2]=Q(A*C)+Q(Q(D*I)+Q(L*z));N[f+120>>2]=Q(w*O)+Q(Q(v*G)+Q(S*B));N[f+116>>2]=Q(A*O)+Q(Q(D*G)+Q(S*z));N[f+168>>2]=k+Q(Q(y*F)+Q(Q(V*T)+Q(M*W)));N[f+164>>2]=n+Q(Q(y*C)+Q(Q(V*I)+Q(L*W)));N[f+160>>2]=o+Q(Q(y*O)+Q(Q(V*G)+Q(S*W)));va[J[J[j>>2]+8>>2]](j,d,f+28|0,f+12|0);p=Q(N[f+28>>2]-t);N[f+28>>2]=p;s=Q(N[f+32>>2]-t);N[f+32>>2]=s;q=Q(N[f+36>>2]-t);N[f+36>>2]=q;n=Q(t+N[f+12>>2]);N[f+12>>2]=n;k=Q(t+N[f+20>>2]);N[f+20>>2]=k;o=Q(t+N[f+16>>2]);N[f+16>>2]=o;m:{if(o>2]|s>N[f+48>>2]|(k>2]|q>N[f+52>>2])){break m}if(n>2]){break m}if(!(p>N[f+44>>2])){break l}}va[J[J[g>>2]>>2]](g)|0;d=J[a+4>>2];va[J[J[d>>2]+60>>2]](d,g);d=h+J[X+16>>2]|0;m=J[d+4>>2];i=J[d>>2];j=J[a+92>>2];n:{if((j|0)!=J[a+96>>2]){break n}E=j?j<<1:1;if((E|0)<=(j|0)){break n}g=0;h=0;if(E){h=Ga(P(E,12));j=J[a+92>>2]}if((j|0)>0){while(1){d=P(g,12);u=d+h|0;U=d+J[a+100>>2]|0;d=J[U+4>>2];J[u>>2]=J[U>>2];J[u+4>>2]=d;J[u+8>>2]=J[U+8>>2];g=g+1|0;if((j|0)!=(g|0)){continue}break}}d=J[a+100>>2];if(!(!d|!K[a+104|0])){Fa(d)}J[a+100>>2]=h;H[a+104|0]=1;J[a+96>>2]=E;j=J[a+92>>2]}d=J[a+100>>2]+P(j,12)|0;J[d+8>>2]=0;J[d+4>>2]=m;J[d>>2]=i;J[a+92>>2]=J[a+92>>2]+1}l=l+1|0;if((l|0)>2]){continue}break}}if(J[a+92>>2]>0){g=0;while(1){c=J[a+84>>2];b=J[a+100>>2]+P(g,12)|0;va[J[J[c>>2]+8>>2]](c,J[b>>2],J[b+4>>2])|0;g=g+1|0;if((g|0)>2]){continue}break}}b=J[a+100>>2];if(!(!b|!K[a+104|0])){Fa(b)}J[a+100>>2]=0;H[a+104|0]=1;J[a+92>>2]=0;J[a+96>>2]=0}ta=f+3584|0}function gf(a){var b=0,c=0,d=0,e=0,f=0,g=0,h=Q(0),i=Q(0),j=0,k=0,l=Q(0),m=0,n=Q(0),o=Q(0),p=0,q=Q(0),r=Q(0),s=0,t=Q(0),u=0,v=0,w=0,x=Q(0),y=0,z=Q(0),A=0,B=0,C=Q(0),D=Q(0),E=0,F=0,G=0,M=Q(0),O=Q(0),S=Q(0),T=Q(0),U=Q(0),V=Q(0),W=Q(0),X=Q(0);f=ta-96|0;ta=f;H[f+52|0]=1;J[f+48>>2]=0;H[f+72|0]=1;J[f+40>>2]=0;J[f+44>>2]=0;J[f+68>>2]=0;H[f+92|0]=1;J[f+60>>2]=0;J[f+64>>2]=0;J[f+88>>2]=0;J[f+80>>2]=0;J[f+84>>2]=0;J[f+28>>2]=0;H[f+32|0]=1;J[f+20>>2]=0;J[f+24>>2]=0;J[a+72>>2]=0;J[a+76>>2]=0;J[a+64>>2]=0;J[a+68>>2]=0;a:{b:{v=J[a+28>>2];if((v|0)>0){while(1){E=P(w,36);F=J[(E+J[a+36>>2]|0)+4>>2];if((F|0)>0){v=0;while(1){d=J[(J[a+36>>2]+E|0)+12>>2];b=J[d+(v<<2)>>2];v=v+1|0;G=(F|0)==(v|0);d=J[d+((G?0:v)<<2)>>2];I[f+14>>1]=d;I[f+12>>1]=b;if(d<<16>>16>b<<16>>16){I[f+14>>1]=b;I[f+12>>1]=d}k=ff(f+16|0,f+12|0);d=J[a+16>>2];b=d+(I[f+14>>1]<<4)|0;d=d+(I[f+12>>1]<<4)|0;i=Q(N[b+8>>2]-N[d+8>>2]);n=Q(N[b>>2]-N[d>>2]);h=Q(N[b+4>>2]-N[d+4>>2]);l=Q(Q(1)/Q(Y(Q(Q(i*i)+Q(Q(n*n)+Q(h*h))))));i=Q(i*l);h=Q(h*l);n=Q(n*l);m=J[f+68>>2];d=J[a+48>>2];c:{if((d|0)>0){g=J[a+56>>2];b=0;while(1){e=g+(b<<4)|0;l=N[e+8>>2];q=N[e>>2];r=N[e+4>>2];if(!(+Q(R(Q(q-n)))>1e-6|+Q(R(Q(r-h)))>1e-6|+Q(R(Q(l-i)))>1e-6)|!(+Q(R(Q(n+q)))>1e-6|+Q(R(Q(h+r)))>1e-6|+Q(R(Q(i+l)))>1e-6)){break c}b=b+1|0;if((b|0)!=(d|0)){continue}break}}d:{if(J[a+52>>2]!=(d|0)){break d}g=d?d<<1:1;if((g|0)<=(d|0)){break d}b=0;e=0;if(g){e=Ga(g<<4);d=J[a+48>>2]}if((d|0)>0){while(1){j=b<<4;c=j+e|0;j=j+J[a+56>>2]|0;u=J[j+4>>2];J[c>>2]=J[j>>2];J[c+4>>2]=u;u=J[j+12>>2];J[c+8>>2]=J[j+8>>2];J[c+12>>2]=u;b=b+1|0;if((b|0)!=(d|0)){continue}break}}b=J[a+56>>2];if(!(!b|!K[a+60|0])){Fa(b)}J[a+56>>2]=e;H[a+60|0]=1;J[a+52>>2]=g;d=J[a+48>>2]}b=J[a+56>>2]+(d<<4)|0;J[b+12>>2]=0;N[b+8>>2]=i;N[b+4>>2]=h;N[b>>2]=n;J[a+48>>2]=J[a+48>>2]+1}b=(k|0)!=-1?m+(k<<2)|0:0;e:{if(b){I[b+2>>1]=w;break e}I[f+8>>1]=w;I[f+10>>1]=65535;e=0;c=f+16|0;k=J[c+48>>2];u=f+12|0;m=I[u+2>>1];s=I[u>>1];b=ff(c,u);f:{if((b|0)!=-1){b=J[c+52>>2]+(b<<2)|0;d=L[f+8>>1]|L[f+10>>1]<<16;I[b>>1]=d;I[b+2>>1]=d>>>16;break f}d=J[c+44>>2];g=d;y=J[c+48>>2];g:{if((y|0)!=(d|0)){break g}j=d?d<<1:1;if((j|0)<=(d|0)){break g}if(j){e=Ga(j<<2);b=J[c+44>>2]}else{b=d}if((b|0)>0){g=0;while(1){p=g<<2;A=p+e|0;p=p+J[c+52>>2]|0;p=L[p>>1]|L[p+2>>1]<<16;I[A>>1]=p;I[A+2>>1]=p>>>16;g=g+1|0;if((b|0)!=(g|0)){continue}break}}b=J[c+52>>2];if(!(!b|!K[c+56|0])){Fa(b)}J[c+52>>2]=e;H[c+56|0]=1;J[c+48>>2]=j;g=J[c+44>>2]}b=J[c+52>>2]+(g<<2)|0;e=L[f+8>>1]|L[f+10>>1]<<16;I[b>>1]=e;I[b+2>>1]=e>>>16;J[c+44>>2]=J[c+44>>2]+1;e=J[c- -64>>2];h:{if((e|0)!=J[c+68>>2]){break h}b=e?e<<1:1;if((b|0)<=(e|0)){break h}i:{if(!b){j=0;break i}j=Ga(b<<2);e=J[c+64>>2]}if((e|0)>0){g=0;while(1){p=g<<2;A=p+j|0;p=p+J[c+72>>2]|0;p=L[p>>1]|L[p+2>>1]<<16;I[A>>1]=p;I[A+2>>1]=p>>>16;g=g+1|0;if((g|0)!=(e|0)){continue}break}}e=J[c+72>>2];if(!(!e|!K[c+76|0])){Fa(e)}J[c+72>>2]=j;H[c+76|0]=1;J[c+68>>2]=b;e=J[c+64>>2]}b=J[c+72>>2]+(e<<2)|0;e=L[u>>1]|L[u+2>>1]<<16;I[b>>1]=e;I[b+2>>1]=e>>>16;J[c+64>>2]=J[c+64>>2]+1;if((y|0)>=J[c+48>>2]){b=s+(m<<16)&k-1}else{k=0;m=0;e=J[c+4>>2];j=J[c+48>>2];j:{if((e|0)>=(j|0)){break j}k:{if((j|0)<=J[c+8>>2]){k=J[c+12>>2];break k}b=e;if(j){k=Ga(j<<2);b=J[c+4>>2]}g=J[c+12>>2];l:{m:{if((b|0)>0){while(1){s=m<<2;J[s+k>>2]=J[g+s>>2];m=m+1|0;if((m|0)!=(b|0)){continue}break m}}if(g){break m}break l}if(K[c+16|0]){Fa(g)}}J[c+12>>2]=k;H[c+16|0]=1;J[c+8>>2]=j}b=e<<2;s=j<<2;Ka(b+k|0,0,s-b|0);J[c+4>>2]=j;g=J[c+24>>2];if((g|0)<(j|0)){n:{if((j|0)<=J[c+28>>2]){k=J[c+32>>2];break n}m=0;b=g;k=0;if(j){k=Ga(s);b=J[c+24>>2]}y=J[c+32>>2];o:{if((b|0)>0){while(1){p=m<<2;J[p+k>>2]=J[p+y>>2];m=m+1|0;if((m|0)!=(b|0)){continue}break o}}if(y){break o}J[c+32>>2]=k;J[c+28>>2]=j;H[c+36|0]=1;break n}if(K[c+36|0]){Fa(y)}J[c+32>>2]=k;H[c+36|0]=1;J[c+28>>2]=j}b=g<<2;Ka(b+k|0,0,s-b|0)}J[c+24>>2]=j;if((j|0)>0){Ka(J[c+12>>2],255,s);Ka(J[c+32>>2],255,s)}if((e|0)<=0){break j}g=J[c+32>>2];j=J[c+72>>2];k=J[c+12>>2];m=0;while(1){s=m<<2;b=s+j|0;b=k+(((L[b+2>>1]<<16)+I[b>>1]&J[c+48>>2]-1)<<2)|0;J[g+s>>2]=J[b>>2];J[b>>2]=m;m=m+1|0;if((e|0)!=(m|0)){continue}break}}b=I[u>>1]+(L[u+2>>1]<<16)&J[c+48>>2]-1}b=J[c+12>>2]+(b<<2)|0;J[J[c+32>>2]+(d<<2)>>2]=J[b>>2];J[b>>2]=d}}if(!G){continue}break}v=J[a+28>>2]}w=w+1|0;if((w|0)<(v|0)){continue}break}w=0;d=(v|0)>0;if(d){break b}}i=N[a+72>>2];l=N[a+68>>2];q=N[a+64>>2];r=Q(0);break a}g=J[a+16>>2];u=J[a+36>>2];q=N[a+64>>2];l=N[a+68>>2];i=N[a+72>>2];r=Q(0);while(1){b=u+P(w,36)|0;c=J[b+4>>2];if((c|0)>=3){j=J[b+12>>2];B=g+(J[j>>2]<<4)|0;s=c-2|0;b=1;while(1){k=g+(J[j+(b<<2)>>2]<<4)|0;h=N[k+8>>2];e=b+1|0;m=g+(J[j+((e|0)%(c|0)<<2)>>2]<<4)|0;n=N[m+8>>2];t=N[B>>2];M=N[k>>2];O=Q(t-M);o=N[B+4>>2];S=N[m+4>>2];C=Q(o-S);T=N[m>>2];U=Q(t-T);V=N[k+4>>2];x=Q(o-V);z=Q(Q(O*C)-Q(U*x));D=x;x=N[B+8>>2];W=Q(x-n);X=Q(x-h);C=Q(Q(D*W)-Q(C*X));D=i;n=Q(Q(Q(x+h)+n)*Q(.3333333432674408));i=Q(Q(X*U)-Q(W*O));h=Q(Q(Y(Q(Q(z*z)+Q(Q(C*C)+Q(i*i)))))*Q(.5));i=Q(D+Q(n*h));N[a+72>>2]=i;l=Q(l+Q(Q(Q(S+Q(o+V))*Q(.3333333432674408))*h));N[a+68>>2]=l;q=Q(q+Q(Q(Q(T+Q(t+M))*Q(.3333333432674408))*h));N[a+64>>2]=q;r=Q(r+h);k=(b|0)==(s|0);b=e;if(!k){continue}break}}w=w+1|0;if((w|0)!=(v|0)){continue}break}B=d}J[a+96>>2]=2139095039;h=Q(Q(1)/r);r=Q(h*i);N[a+72>>2]=r;l=Q(h*l);N[a+68>>2]=l;q=Q(h*q);N[a+64>>2]=q;h=Q(34028234663852886e22);n=Q(34028234663852886e22);if(B){e=J[a+36>>2];b=0;while(1){d=e+P(b,36)|0;i=Q(R(Q(N[d+32>>2]+Q(Q(r*N[d+28>>2])+Q(Q(q*N[d+20>>2])+Q(l*N[d+24>>2]))))));if(i>2]=i;n=i}b=b+1|0;if((v|0)!=(b|0)){continue}break}}e=J[a+8>>2];p:{if((e|0)<=0){t=Q(-34028234663852886e22);i=Q(34028234663852886e22);l=Q(-34028234663852886e22);q=Q(-34028234663852886e22);r=Q(34028234663852886e22);break p}g=J[a+16>>2];q=Q(-34028234663852886e22);b=0;r=Q(34028234663852886e22);l=Q(-34028234663852886e22);t=Q(-34028234663852886e22);i=Q(34028234663852886e22);while(1){d=g+(b<<4)|0;o=N[d+8>>2];q=o>q?o:q;i=i>o?o:i;o=N[d+4>>2];l=lo?o:h;o=N[d>>2];t=o>t?o:t;r=o>2]=0;x=Q(q-i);N[a+124>>2]=x;o=Q(l-h);N[a+120>>2]=o;z=Q(t-r);N[a+116>>2]=z;J[a+112>>2]=0;N[a+108>>2]=i+q;N[a+104>>2]=h+l;N[a+100>>2]=t+r;d=o>z;e=x>(d?o:z)?2:d;d=e<<2;i=N[d+(a+116|0)>>2];h=Q(n/Q(1.7320507764816284));N[a+84>>2]=h;N[a+88>>2]=h;N[a+80>>2]=h;g=d;d=a+80|0;g=g+d|0;i=Q(i*Q(.5));N[g>>2]=i;l=Q(Q(i-h)*Q(.0009765625));q:{r:{while(1){if(ed(a)){break r}i=Q(i-l);N[g>>2]=i;b=b+1|0;if((b|0)!=1024){continue}break}N[a+84>>2]=h;N[a+88>>2]=h;N[a+80>>2]=h;break q}e=1<>2];e=d+(e<<2)|0;t=N[e>>2];n=Q(Q(n-h)*Q(.0009765625));N[e>>2]=n+t;h=Q(n+N[b>>2]);N[b>>2]=h;if(ed(a)){d=0;while(1){i=h;d=d+1|0;if((d|0)==1024){break q}t=N[e>>2];N[e>>2]=n+t;h=Q(n+N[b>>2]);N[b>>2]=h;if(ed(a)){continue}break}}N[e>>2]=t;N[b>>2]=i}a=J[f+88>>2];if(!(!a|!K[f+92|0])){Fa(a)}J[f+88>>2]=0;H[f+92|0]=1;J[f+80>>2]=0;J[f+84>>2]=0;a=J[f+68>>2];if(!(!a|!K[f+72|0])){Fa(a)}J[f+68>>2]=0;H[f+72|0]=1;J[f+60>>2]=0;J[f+64>>2]=0;a=J[f+48>>2];if(!(!a|!K[f+52|0])){Fa(a)}J[f+48>>2]=0;H[f+52|0]=1;J[f+40>>2]=0;J[f+44>>2]=0;a=J[f+28>>2];if(!(!a|!K[f+32|0])){Fa(a)}ta=f+96|0}function dn(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=Q(0),i=Q(0),j=Q(0),k=Q(0),l=Q(0),m=Q(0),n=Q(0),o=Q(0),p=Q(0),q=Q(0),r=0,s=Q(0),t=0,u=Q(0),v=0,w=Q(0),x=Q(0),y=Q(0),z=Q(0),A=Q(0),B=Q(0),C=Q(0),D=Q(0),E=Q(0),F=Q(0),G=Q(0),H=Q(0),I=Q(0),L=Q(0),M=Q(0),O=Q(0),P=Q(0),S=Q(0),T=Q(0),U=Q(0),V=Q(0),W=Q(0),X=Q(0),Z=Q(0),_=Q(0),$=Q(0),aa=Q(0),ba=Q(0),ca=Q(0),da=Q(0),ea=0,fa=Q(0),ga=Q(0),ha=Q(0),ia=0,ja=Q(0),ka=Q(0),la=0,ma=0,na=Q(0),oa=Q(0),pa=Q(0),qa=Q(0);d=ta-96|0;ta=d;a:{if(!J[a+12>>2]){break a}f=K[a+16|0];v=f?c:b;g=J[v+4>>2];r=f?b:c;t=J[r+4>>2];ea=d+32|0;Ua(ea,J[v+12>>2]);f=J[r+12>>2];x=N[f+40>>2];y=N[f+24>>2];z=N[f+8>>2];M=N[f+32>>2];A=N[f>>2];B=N[f+16>>2];D=N[f+36>>2];E=N[f+20>>2];F=N[f+4>>2];G=N[d+56>>2];H=N[d+52>>2];T=N[d+72>>2];U=N[d+68>>2];V=N[d+40>>2];W=N[d+36>>2];X=N[d+32>>2];n=N[d+48>>2];s=N[d+64>>2];Ua(ea,f);f=J[v+12>>2];m=N[f+56>>2];u=N[f+52>>2];I=N[f+48>>2];L=N[f+40>>2];Z=N[f+24>>2];_=N[f+8>>2];C=N[f+32>>2];$=N[f>>2];aa=N[f+16>>2];ba=N[f+36>>2];ca=N[f+20>>2];da=N[f+4>>2];fa=N[d+88>>2];h=N[d+72>>2];k=N[d+68>>2];ga=N[d+84>>2];j=N[d+56>>2];i=N[d+52>>2];l=N[d+64>>2];ha=N[d+80>>2];o=N[d+40>>2];p=N[d+36>>2];q=N[d+32>>2];w=N[d+48>>2];v=t- -64|0;O=N[v>>2];P=N[t+56>>2];S=N[t+60>>2];J[d+28>>2]=0;P=Q(-P);N[d+24>>2]=Q(Q(Q(Q(M*T)+Q(Q(A*s)+Q(B*U)))*P)-Q(S*Q(Q(D*T)+Q(Q(F*s)+Q(E*U)))))-Q(O*Q(Q(x*T)+Q(Q(z*s)+Q(y*U))));N[d+20>>2]=Q(Q(Q(Q(M*G)+Q(Q(A*n)+Q(B*H)))*P)-Q(S*Q(Q(D*G)+Q(Q(F*n)+Q(E*H)))))-Q(O*Q(Q(x*G)+Q(Q(z*n)+Q(y*H))));N[d+16>>2]=Q(Q(Q(Q(M*V)+Q(Q(A*X)+Q(B*W)))*P)-Q(S*Q(Q(D*V)+Q(Q(F*X)+Q(W*E)))))-Q(O*Q(Q(x*V)+Q(Q(z*X)+Q(W*y))));va[J[J[g>>2]+64>>2]](ea,g,d+16|0);f=J[r+12>>2];D=N[f+48>>2];E=N[f+32>>2];F=N[f+16>>2];G=N[f+8>>2];H=N[f+4>>2];T=N[f>>2];U=N[f+56>>2];V=N[f+52>>2];W=N[f+40>>2];X=N[f+36>>2];n=N[f+24>>2];s=N[f+20>>2];O=N[t+72>>2];M=N[v>>2];A=N[t+56>>2];B=N[t+60>>2];x=N[d+40>>2];y=N[d+32>>2];z=N[d+36>>2];S=N[J[a+12>>2]+848>>2];J[e+4>>2]=J[a+12>>2];l=Q(Q(fa+Q(Q(m*h)+Q(Q(I*l)+Q(k*u))))+Q(Q(x*Q(Q(L*h)+Q(Q(_*l)+Q(Z*k))))+Q(Q(y*Q(Q(C*h)+Q(Q($*l)+Q(aa*k))))+Q(z*Q(Q(ba*h)+Q(Q(da*l)+Q(ca*k)))))));o=Q(Q(ha+Q(Q(m*o)+Q(Q(I*q)+Q(p*u))))+Q(Q(x*Q(Q(L*o)+Q(Q(_*q)+Q(p*Z))))+Q(Q(y*Q(Q(C*o)+Q(Q($*q)+Q(aa*p))))+Q(z*Q(Q(ba*o)+Q(Q(da*q)+Q(p*ca)))))));p=Q(Q(ga+Q(Q(m*j)+Q(Q(I*w)+Q(i*u))))+Q(Q(x*Q(Q(L*j)+Q(Q(_*w)+Q(Z*i))))+Q(Q(y*Q(Q(C*j)+Q(Q($*w)+Q(aa*i))))+Q(z*Q(Q(ba*j)+Q(Q(da*w)+Q(ca*i)))))));h=Q(Q(Q(M*l)+Q(Q(A*o)+Q(B*p)))-O);if(h>2];q=N[f+24>>2];w=N[f+20>>2];x=N[f+40>>2];y=N[f+36>>2];z=N[f+16>>2];m=N[f+32>>2];k=N[t+64>>2];u=N[f+8>>2];j=N[t+56>>2];I=N[f>>2];i=N[t+60>>2];L=N[f+4>>2];J[d+28>>2]=0;N[d+16>>2]=Q(u*k)+Q(Q(I*j)+Q(L*i));N[d+24>>2]=Q(x*k)+Q(Q(m*j)+Q(i*y));N[d+20>>2]=Q(q*k)+Q(Q(z*j)+Q(i*w));J[d+12>>2]=0;k=Q(l-Q(M*h));j=Q(o-Q(A*h));i=Q(p-Q(B*h));N[d+8>>2]=Q(Q(k*W)+Q(Q(j*E)+Q(i*X)))+U;N[d+4>>2]=Q(Q(k*n)+Q(Q(j*F)+Q(i*s)))+V;N[d>>2]=Q(Q(k*G)+Q(Q(j*T)+Q(H*i)))+D;va[J[J[e>>2]+16>>2]](e,d+16|0,d,h)}b:{if(J[g+4>>2]>6|J[J[e+4>>2]+844>>2]>=J[a+24>>2]){break b}k=N[t+64>>2];c:{if(Q(R(k))>Q(.7071067690849304)){h=N[t+60>>2];j=Q(Q(1)/Q(Y(Q(Q(h*h)+Q(k*k)))));h=Q(h*j);k=Q(j*Q(-k));j=Q(0);break c}h=N[t+56>>2];j=N[t+60>>2];i=Q(Q(1)/Q(Y(Q(Q(h*h)+Q(j*j)))));k=Q(h*i);h=Q(0);j=Q(i*Q(-j))}ea=0;i=Q(va[J[J[g>>2]+16>>2]](g));i=Q(N[8329]/i);i=i>Q(.39269909262657166)?Q(.19634954631328583):Q(i*Q(.5));l=Va(i);f=J[a+20>>2];x=Ta(i);if((f|0)<=0){break b}i=h;h=Q(l/Q(Y(Q(Q(h*h)+Q(Q(j*j)+Q(k*k))))));y=Q(i*h);z=Q(k*h);M=Q(j*h);while(1){k=N[t+60>>2];i=N[t+56>>2];h=N[t+64>>2];j=Q(Q(Q(Q(6.2831854820251465)/Q(f|0))*Q(ea|0))*Q(.5));l=Q(Va(j)/Q(Y(Q(Q(h*h)+Q(Q(i*i)+Q(k*k))))));h=Q(h*l);k=Q(k*l);j=Ta(j);i=Q(i*l);l=Q(Q(h*y)+Q(Q(k*z)+Q(Q(j*x)+Q(M*i))));o=Q(Q(h*z)+Q(Q(Q(j*M)-Q(x*i))-Q(k*y)));p=Q(Q(i*y)+Q(Q(Q(j*z)-Q(x*k))-Q(h*M)));q=Q(Q(k*M)+Q(Q(Q(j*y)-Q(x*h))-Q(i*z)));N[d+28>>2]=Q(Q(Q(l*j)-Q(i*o))-Q(p*k))-Q(q*h);N[d+24>>2]=Q(Q(o*k)+Q(Q(l*h)+Q(j*q)))-Q(p*i);N[d+20>>2]=Q(Q(q*i)+Q(Q(l*k)+Q(j*p)))-Q(o*h);N[d+16>>2]=Q(Q(p*h)+Q(Q(l*i)+Q(j*o)))-Q(q*k);f=ta-96|0;ta=f;r=K[a+16|0];v=r?c:b;g=J[v+12>>2];V=N[g+56>>2];W=N[g+48>>2];X=N[g+52>>2];la=J[v+4>>2];h=N[g+40>>2];k=N[g+32>>2];j=N[g+36>>2];i=N[g+24>>2];l=N[g+16>>2];o=N[g+20>>2];p=N[g+8>>2];q=N[g>>2];w=N[g+4>>2];v=r?b:c;r=J[v+4>>2];ia=f+32|0;Ua(ia,J[v+12>>2]);na=N[f+88>>2];A=N[f+72>>2];B=N[f+68>>2];oa=N[f+84>>2];D=N[f+56>>2];E=N[f+52>>2];F=N[f+64>>2];pa=N[f+80>>2];G=N[f+40>>2];H=N[f+32>>2];T=N[f+36>>2];U=N[f+48>>2];nb(ia,d+16|0);n=N[f+68>>2];s=N[f+52>>2];m=N[f+72>>2];u=N[f+56>>2];I=N[f+64>>2];L=N[f+32>>2];Z=N[f+48>>2];_=N[f+36>>2];C=N[f+40>>2];g=J[v+12>>2];$=N[g+40>>2];aa=N[g+24>>2];ba=N[g+8>>2];ca=N[g+32>>2];da=N[g>>2];O=N[g+16>>2];S=N[g+36>>2];P=N[g+20>>2];fa=N[g+4>>2];ma=r- -64|0;ga=N[ma>>2];qa=N[r+56>>2];ha=N[r+60>>2];J[f+28>>2]=0;ja=Q(Q(m*h)+Q(Q(C*k)+Q(j*u)));ka=Q(Q(m*p)+Q(Q(C*q)+Q(w*u)));m=Q(Q(m*i)+Q(Q(C*l)+Q(o*u)));u=Q(-qa);N[f+24>>2]=Q(Q(Q(Q(ca*ja)+Q(Q(da*ka)+Q(O*m)))*u)-Q(ha*Q(Q(S*ja)+Q(Q(fa*ka)+Q(m*P)))))-Q(ga*Q(Q($*ja)+Q(Q(ba*ka)+Q(m*aa))));m=Q(Q(n*h)+Q(Q(_*k)+Q(j*s)));C=Q(Q(n*p)+Q(Q(_*q)+Q(w*s)));n=Q(Q(n*i)+Q(Q(_*l)+Q(o*s)));N[f+20>>2]=Q(Q(Q(Q(ca*m)+Q(Q(da*C)+Q(O*n)))*u)-Q(ha*Q(Q(S*m)+Q(Q(fa*C)+Q(n*P)))))-Q(ga*Q(Q($*m)+Q(Q(ba*C)+Q(n*aa))));n=Q(Q(I*h)+Q(Q(L*k)+Q(j*Z)));s=Q(Q(I*p)+Q(Q(L*q)+Q(w*Z)));m=Q(Q(I*i)+Q(Q(L*l)+Q(o*Z)));N[f+16>>2]=Q(Q(Q(Q(ca*n)+Q(Q(da*s)+Q(O*m)))*u)-Q(ha*Q(Q(S*n)+Q(Q(fa*s)+Q(m*P)))))-Q(ga*Q(Q($*n)+Q(Q(ba*s)+Q(m*aa))));va[J[J[la>>2]+64>>2]](ia,la,f+16|0);g=J[v+12>>2];Z=N[g+48>>2];_=N[g+32>>2];C=N[g+16>>2];$=N[g+8>>2];aa=N[g+4>>2];ba=N[g>>2];ca=N[g+56>>2];da=N[g+52>>2];O=N[g+40>>2];S=N[g+36>>2];P=N[g+24>>2];fa=N[g+20>>2];ga=N[r+72>>2];u=N[ma>>2];I=N[r+56>>2];L=N[r+60>>2];n=N[f+40>>2];s=N[f+32>>2];m=N[f+36>>2];ha=N[J[a+12>>2]+848>>2];J[e+4>>2]=J[a+12>>2];A=Q(Q(na+Q(Q(V*A)+Q(Q(W*F)+Q(X*B))))+Q(Q(n*Q(Q(h*A)+Q(Q(p*F)+Q(i*B))))+Q(Q(s*Q(Q(k*A)+Q(Q(q*F)+Q(l*B))))+Q(m*Q(Q(j*A)+Q(Q(w*F)+Q(o*B)))))));B=Q(Q(pa+Q(Q(V*G)+Q(Q(W*H)+Q(X*T))))+Q(Q(n*Q(Q(h*G)+Q(Q(p*H)+Q(i*T))))+Q(Q(s*Q(Q(k*G)+Q(Q(q*H)+Q(l*T))))+Q(m*Q(Q(j*G)+Q(Q(w*H)+Q(o*T)))))));l=Q(Q(oa+Q(Q(V*D)+Q(Q(W*U)+Q(X*E))))+Q(Q(n*Q(Q(h*D)+Q(Q(p*U)+Q(i*E))))+Q(Q(s*Q(Q(k*D)+Q(Q(q*U)+Q(l*E))))+Q(m*Q(Q(j*D)+Q(Q(w*U)+Q(o*E)))))));h=Q(Q(Q(u*A)+Q(Q(I*B)+Q(L*l)))-ga);if(h>2];o=N[g+24>>2];p=N[g+20>>2];q=N[g+40>>2];w=N[g+36>>2];D=N[g+16>>2];E=N[g+32>>2];k=N[r+64>>2];F=N[g+8>>2];j=N[r+56>>2];G=N[g>>2];i=N[r+60>>2];H=N[g+4>>2];J[f+28>>2]=0;N[f+16>>2]=Q(F*k)+Q(Q(G*j)+Q(H*i));N[f+24>>2]=Q(q*k)+Q(Q(E*j)+Q(i*w));N[f+20>>2]=Q(o*k)+Q(Q(D*j)+Q(i*p));J[f+12>>2]=0;k=Q(A-Q(u*h));j=Q(B-Q(I*h));i=Q(l-Q(L*h));N[f+8>>2]=Q(Q(k*O)+Q(Q(j*_)+Q(i*S)))+ca;N[f+4>>2]=Q(Q(k*P)+Q(Q(j*C)+Q(i*fa)))+da;N[f>>2]=Q(Q(k*$)+Q(Q(j*ba)+Q(aa*i)))+Z;va[J[J[e>>2]+16>>2]](e,f+16|0,f,h)}ta=f+96|0;f=J[a+20>>2];ea=ea+1|0;if((f|0)>(ea|0)){continue}break}}if(!K[a+8|0]|!J[J[a+12>>2]+844>>2]){break a}a=J[e+4>>2];if(!J[a+844>>2]){break a}c=J[a+836>>2];f=J[J[e+8>>2]+8>>2];b=(c|0)==(f|0);g=a;a=J[J[e+12>>2]+8>>2];ab(g,(b?c:a)+4|0,(b?a:f)+4|0)}ta=d+96|0}function id(a,b,c){var d=0,e=Q(0),f=0,g=0,h=0,i=0,j=Q(0),k=0,l=Q(0),m=Q(0),n=0,o=0,p=Q(0),q=0,r=Q(0),s=Q(0),t=0,u=0,v=0,w=0,x=0,y=Q(0),z=Q(0),A=0,B=0;n=ta-32|0;ta=n;v=J[a+56>>2];a:{if((c-b|0)==1){b:{if(K[a+60|0]){b=J[a+116>>2]+(b<<4)|0;d=J[b+4>>2];c=J[a+136>>2]+(v<<4)|0;J[c>>2]=J[b>>2];J[c+4>>2]=d;d=J[b+12>>2];J[c+8>>2]=J[b+8>>2];J[c+12>>2]=d;break b}Pa(J[a+96>>2]+(v<<6)|0,J[a+76>>2]+(b<<6)|0,64)}J[a+56>>2]=J[a+56>>2]+1;break a}f=ta-32|0;ta=f;g=b;i=c-b|0;c:{d:{e:{if((b|0)>=(c|0)){p=Q(i|0);break e}d=g;while(1){Mb(f+16|0,a,d);Nb(f,a,d);e=Q(e+Q(Q(N[f+24>>2]+N[f+8>>2])*Q(.5)));l=Q(l+Q(Q(N[f+20>>2]+N[f+4>>2])*Q(.5)));m=Q(m+Q(Q(N[f+16>>2]+N[f>>2])*Q(.5)));d=d+1|0;if((d|0)!=(c|0)){continue}break}p=Q(i|0);if((c|0)>(g|0)){break d}}e=Q(0);l=Q(0);break c}j=Q(Q(1)/p);s=Q(j*e);y=Q(j*l);m=Q(j*m);l=Q(0);e=Q(0);while(1){Mb(f+16|0,a,g);Nb(f,a,g);j=l;l=Q(Q(Q(N[f+24>>2]+N[f+8>>2])*Q(.5))-s);l=Q(j+Q(l*l));j=e;e=Q(Q(Q(N[f+20>>2]+N[f+4>>2])*Q(.5))-y);e=Q(j+Q(e*e));j=Q(Q(Q(N[f+16>>2]+N[f>>2])*Q(.5))-m);r=Q(r+Q(j*j));g=g+1|0;if((g|0)!=(c|0)){continue}break}}ta=f+32|0;m=Q(Q(1)/Q(p+Q(-1)));p=Q(m*r);e=Q(m*e);d=p(d?e:p)?2:d;e=Q(0);l=Q(0);m=Q(0);f=ta+-64|0;ta=f;J[f+60>>2]=0;h=(b|0)>=(c|0);if(!h){g=b;while(1){Mb(f+32|0,a,g);Nb(f+16|0,a,g);e=Q(Q(Q(N[f+40>>2]+N[f+24>>2])*Q(.5))+e);l=Q(Q(Q(N[f+36>>2]+N[f+20>>2])*Q(.5))+l);m=Q(Q(Q(N[f+32>>2]+N[f+16>>2])*Q(.5))+m);g=g+1|0;if((g|0)!=(c|0)){continue}break}}o=c-b|0;p=Q(Q(1)/Q(o|0));N[f+56>>2]=p*e;N[f+52>>2]=p*l;N[f+48>>2]=p*m;d=b;if(!h){g=i<<2;e=N[g+(f+48|0)>>2];t=g+(f+32|0)|0;g=b;while(1){Mb(f+16|0,a,g);Nb(f,a,g);J[f+44>>2]=0;N[f+40>>2]=Q(N[f+24>>2]+N[f+8>>2])*Q(.5);N[f+36>>2]=Q(N[f+20>>2]+N[f+4>>2])*Q(.5);N[f+32>>2]=Q(N[f+16>>2]+N[f>>2])*Q(.5);if(e>2]){i=ta+-64|0;ta=i;f:{if(K[a+60|0]){k=J[a+116>>2];h=k+(g<<4)|0;q=J[h+12>>2];J[i+8>>2]=J[h+8>>2];J[i+12>>2]=q;q=J[h+4>>2];J[i>>2]=J[h>>2];J[i+4>>2]=q;q=d<<4;k=q+k|0;u=J[k+4>>2];J[h>>2]=J[k>>2];J[h+4>>2]=u;u=J[k+12>>2];J[h+8>>2]=J[k+8>>2];J[h+12>>2]=u;k=J[i+4>>2];h=q+J[a+116>>2]|0;J[h>>2]=J[i>>2];J[h+4>>2]=k;k=J[i+12>>2];J[h+8>>2]=J[i+8>>2];J[h+12>>2]=k;break f}h=J[a+76>>2];k=h+(g<<6)|0;q=Pa(i,k,64);u=h;h=d<<6;Pa(k,u+h|0,64);Pa(h+J[a+76>>2]|0,q,64)}ta=i- -64|0;d=d+1|0}g=g+1|0;if((g|0)!=(c|0)){continue}break}}ta=f- -64|0;g=(o>>1)+b|0;h=g;g=(o|0)/3|0;k=(b+g|0)>=(d|0)?h:((g^-1)+c|0)<=(d|0)?h:d;q=J[a+56>>2];d=q;g:{if(K[a+60|0]){l=N[a+40>>2];m=N[a+8>>2];p=N[a+44>>2];j=N[a+12>>2];r=N[a+24>>2];s=N[a+28>>2];d=J[a+136>>2]+(d<<4)|0;e=Q(Q(N[a+20>>2]-N[a+4>>2])*N[a+36>>2]);h:{if(e=Q(0)){g=~~e>>>0;break h}g=0}I[d>>1]=g&65534;e=Q(Q(s-j)*p);i:{if(e=Q(0)){g=~~e>>>0;break i}g=0}I[d+4>>1]=g&65534;e=Q(Q(r-m)*l);j:{if(e=Q(0)){g=~~e>>>0;break j}g=0}I[d+2>>1]=g&65534;break g}g=J[a+24>>2];d=J[a+96>>2]+(d<<6)|0;J[d>>2]=J[a+20>>2];J[d+4>>2]=g;g=J[a+32>>2];J[d+8>>2]=J[a+28>>2];J[d+12>>2]=g}d=J[a+56>>2];k:{if(K[a+60|0]){l=N[a+40>>2];m=N[a+8>>2];p=N[a+44>>2];j=N[a+12>>2];r=N[a+8>>2];s=N[a+12>>2];d=J[a+136>>2]+(d<<4)|0;e=Q(Q(Q(N[a+4>>2]-N[a+4>>2])*N[a+36>>2])+Q(1));l:{if(e=Q(0)){g=~~e>>>0;break l}g=0}I[d+6>>1]=g|1;e=Q(Q(Q(s-j)*p)+Q(1));m:{if(e=Q(0)){g=~~e>>>0;break m}g=0}I[d+10>>1]=g|1;e=Q(Q(Q(r-m)*l)+Q(1));n:{if(e=Q(0)){g=~~e>>>0;break n}g=0}I[d+8>>1]=g|1;break k}g=J[a+8>>2];d=J[a+96>>2]+(d<<6)|0;J[d+16>>2]=J[a+4>>2];J[d+20>>2]=g;g=J[a+16>>2];J[d+24>>2]=J[a+12>>2];J[d+28>>2]=g}if((b|0)<(c|0)){g=b;while(1){f=J[a+56>>2];Nb(n+16|0,a,g);Mb(n,a,g);d=ta-16|0;o:{if(K[a+60|0]){e=N[a+40>>2];l=N[a+8>>2];m=N[a+36>>2];p=N[a+4>>2];r=N[n+16>>2];s=N[n+20>>2];y=N[a+12>>2];z=N[a+44>>2];j=Q(Q(N[n+24>>2]-y)*z);p:{if(j=Q(0)){h=~~j>>>0;break p}h=0}I[d+14>>1]=h&65534;j=Q(e*Q(s-l));q:{if(j=Q(0)){h=~~j>>>0;break q}h=0}I[d+12>>1]=h&65534;j=Q(Q(r-p)*m);r:{if(j=Q(0)){h=~~j>>>0;break r}h=0}I[d+10>>1]=h&65534;r=N[n>>2];s=N[n+4>>2];j=Q(Q(z*Q(N[n+8>>2]-y))+Q(1));s:{if(j=Q(0)){h=~~j>>>0;break s}h=0}I[d+8>>1]=h|1;e=Q(Q(e*Q(s-l))+Q(1));t:{if(e=Q(0)){h=~~e>>>0;break t}h=0}I[d+6>>1]=h|1;e=Q(Q(m*Q(r-p))+Q(1));u:{if(e=Q(0)){h=~~e>>>0;break u}h=0}I[d+4>>1]=h|1;o=J[a+136>>2]+(f<<4)|0;f=0;while(1){h=f<<1;i=h+o|0;t=L[h+(d+10|0)>>1];if(L[i>>1]>t>>>0){I[i>>1]=t}h=L[h+(d+4|0)>>1];if(h>>>0>L[i+6>>1]){I[i+6>>1]=h}f=f+1|0;if((f|0)!=3){continue}break}break o}e=N[n+16>>2];i=J[a+96>>2];d=i+(f<<6)|0;if(e>2]){N[d>>2]=e}e=N[n+20>>2];if(e>2]){N[d+4>>2]=e}e=N[n+24>>2];if(e>2]){N[d+8>>2]=e}e=N[n+28>>2];if(e>2]){N[d+12>>2]=e}e=N[n>>2];d=i+(f<<6)|0;if(e>N[d+16>>2]){N[d+16>>2]=e}e=N[n+4>>2];if(e>N[d+20>>2]){N[d+20>>2]=e}e=N[n+8>>2];if(e>N[d+24>>2]){N[d+24>>2]=e}e=N[n+12>>2];if(!(e>N[d+28>>2])){break o}N[d+28>>2]=e}g=g+1|0;if((g|0)!=(c|0)){continue}break}}i=J[a+56>>2]+1|0;J[a+56>>2]=i;id(a,b,k);h=J[a+56>>2];id(a,k,c);b=K[a+60|0];u=J[a+56>>2]-v|0;if(!(!b|(u|0)<129)){v=J[a+136>>2];k=v+(h<<4)|0;b=J[k+12>>2];A=(b|0)>=0?1:0-b|0;o=v+(i<<4)|0;b=J[o+12>>2];B=(b|0)>=0?1:0-b|0;if(B>>>0<=128){d=J[a+152>>2];b=d;v:{if((d|0)!=J[a+156>>2]){break v}t=d?d<<1:1;if((t|0)<=(d|0)){break v}w:{if(!t){b=0;c=d;break w}b=Ga(t<<5);c=J[a+152>>2]}if((c|0)>0){while(1){g=w<<5;f=g+b|0;g=g+J[a+160>>2]|0;x=J[g+4>>2];J[f>>2]=J[g>>2];J[f+4>>2]=x;x=J[g+28>>2];J[f+24>>2]=J[g+24>>2];J[f+28>>2]=x;x=J[g+20>>2];J[f+16>>2]=J[g+16>>2];J[f+20>>2]=x;x=J[g+12>>2];J[f+8>>2]=J[g+8>>2];J[f+12>>2]=x;w=w+1|0;if((c|0)!=(w|0)){continue}break}}c=J[a+160>>2];if(!(!c|!K[a+164|0])){Fa(c)}J[a+160>>2]=b;H[a+164|0]=1;J[a+156>>2]=t;b=J[a+152>>2]}J[a+152>>2]=b+1;b=J[a+160>>2]+(d<<5)|0;I[b>>1]=L[o>>1];I[b+2>>1]=L[o+2>>1];I[b+4>>1]=L[o+4>>1];c=v+(i<<4)|0;I[b+6>>1]=L[c+6>>1];I[b+8>>1]=L[c+8>>1];c=L[c+10>>1];J[b+16>>2]=B;J[b+12>>2]=i;I[b+10>>1]=c}if((A|0)<=128){c=J[a+152>>2];b=c;x:{if((b|0)!=J[a+156>>2]){break x}i=c?c<<1:1;if((i|0)<=(c|0)){break x}y:{if(!i){g=0;b=c;break y}g=Ga(i<<5);b=J[a+152>>2]}if((b|0)>0){w=0;while(1){f=w<<5;d=f+g|0;f=f+J[a+160>>2]|0;o=J[f+4>>2];J[d>>2]=J[f>>2];J[d+4>>2]=o;o=J[f+28>>2];J[d+24>>2]=J[f+24>>2];J[d+28>>2]=o;o=J[f+20>>2];J[d+16>>2]=J[f+16>>2];J[d+20>>2]=o;o=J[f+12>>2];J[d+8>>2]=J[f+8>>2];J[d+12>>2]=o;w=w+1|0;if((b|0)!=(w|0)){continue}break}}b=J[a+160>>2];if(!(!b|!K[a+164|0])){Fa(b)}J[a+160>>2]=g;H[a+164|0]=1;J[a+156>>2]=i;b=J[a+152>>2]}J[a+152>>2]=b+1;b=J[a+160>>2]+(c<<5)|0;I[b>>1]=L[k>>1];I[b+2>>1]=L[k+2>>1];I[b+4>>1]=L[k+4>>1];c=v+(h<<4)|0;I[b+6>>1]=L[c+6>>1];I[b+8>>1]=L[c+8>>1];c=L[c+10>>1];J[b+16>>2]=A;J[b+12>>2]=h;I[b+10>>1]=c}J[a+168>>2]=J[a+152>>2];b=K[a+60|0]}if(b){J[(J[a+136>>2]+(q<<4)|0)+12>>2]=0-u;break a}J[(J[a+96>>2]+(q<<6)|0)+32>>2]=u}ta=n+32|0}function Ne(a,b,c){var d=Q(0),e=0,f=0,g=0,h=Q(0),i=Q(0),j=Q(0),k=Q(0),l=Q(0),m=0,n=0,o=0,p=0,q=Q(0),r=0,s=Q(0),t=0,u=0,v=0,w=Q(0),x=0,y=Q(0),z=0,A=Q(0),B=Q(0),C=Q(0),D=Q(0),E=Q(0),F=Q(0),G=Q(0),H=Q(0),I=Q(0),K=Q(0),L=0,M=0,O=0,R=0,S=0,T=0,U=0,V=Q(0);f=ta-96|0;ta=f;J[a+376>>2]=0;J[a+364>>2]=4;J[a+368>>2]=0;g=a+316|0;J[a+360>>2]=g;J[a+356>>2]=a+284;J[a+352>>2]=a+252;J[a+348>>2]=a+220;e=J[b+4>>2];J[a>>2]=J[b>>2];J[a+4>>2]=e;e=J[b+20>>2];J[a+16>>2]=J[b+16>>2];J[a+20>>2]=e;e=J[b+12>>2];J[a+8>>2]=J[b+8>>2];J[a+12>>2]=e;e=J[b+36>>2];J[a+32>>2]=J[b+32>>2];J[a+36>>2]=e;e=J[b+28>>2];J[a+24>>2]=J[b+24>>2];J[a+28>>2]=e;e=J[b+52>>2];J[a+48>>2]=J[b+48>>2];J[a+52>>2]=e;e=J[b+44>>2];J[a+40>>2]=J[b+40>>2];J[a+44>>2]=e;n=b- -64|0;m=J[n+4>>2];e=a- -64|0;J[e>>2]=J[n>>2];J[e+4>>2]=m;e=J[b+60>>2];J[a+56>>2]=J[b+56>>2];J[a+60>>2]=e;e=J[b+84>>2];J[a+80>>2]=J[b+80>>2];J[a+84>>2]=e;e=J[b+76>>2];J[a+72>>2]=J[b+72>>2];J[a+76>>2]=e;e=J[b+100>>2];J[a+96>>2]=J[b+96>>2];J[a+100>>2]=e;e=J[b+92>>2];J[a+88>>2]=J[b+88>>2];J[a+92>>2]=e;e=J[b+108>>2];J[a+104>>2]=J[b+104>>2];J[a+108>>2]=e;e=J[b+116>>2];J[a+112>>2]=J[b+112>>2];J[a+116>>2]=e;e=J[b+124>>2];b=J[b+120>>2];J[a+144>>2]=0;J[a+180>>2]=0;J[a+120>>2]=b;J[a+124>>2]=e;b=J[c+4>>2];J[a+128>>2]=J[c>>2];J[a+132>>2]=b;b=J[c+12>>2];J[a+136>>2]=J[c+8>>2];J[a+140>>2]=b;J[a+364>>2]=3;J[a+164>>2]=0;J[a+328>>2]=0;J[a+180>>2]=1;J[a+148>>2]=g;d=N[a+136>>2];h=N[a+128>>2];i=N[a+132>>2];l=Q(Q(d*d)+Q(Q(h*h)+Q(i*i)));b=l>Q(0);k=b?Q(-d):Q(0);h=b?Q(-h):Q(1);i=b?Q(-i):Q(0);d=Q(Q(1)/Q(Y(Q(Q(k*k)+Q(Q(h*h)+Q(i*i))))));N[a+324>>2]=k*d;N[a+320>>2]=i*d;N[g>>2]=h*d;gb(f+16|0,a,g);b=J[f+28>>2];J[a+340>>2]=J[f+24>>2];J[a+344>>2]=b;b=J[f+20>>2];J[a+332>>2]=J[f+16>>2];J[a+336>>2]=b;J[a+164>>2]=1065353216;b=J[a+148>>2];c=J[b+20>>2];J[a+128>>2]=J[b+16>>2];J[a+132>>2]=c;c=J[b+28>>2];J[a+136>>2]=J[b+24>>2];J[a+140>>2]=c;c=J[b+28>>2];J[f+72>>2]=J[b+24>>2];J[f+76>>2]=c;c=J[b+20>>2];J[f+64>>2]=J[b+16>>2];J[f+68>>2]=c;c=J[b+28>>2];J[f+56>>2]=J[b+24>>2];J[f+60>>2]=c;c=J[b+20>>2];J[f+48>>2]=J[b+16>>2];J[f+52>>2]=c;c=J[b+28>>2];J[f+40>>2]=J[b+24>>2];J[f+44>>2]=c;c=J[b+20>>2];J[f+32>>2]=J[b+16>>2];J[f+36>>2]=c;c=J[b+28>>2];J[f+24>>2]=J[b+24>>2];J[f+28>>2]=c;c=J[b+20>>2];J[f+16>>2]=J[b+16>>2];J[f+20>>2]=c;d=N[a+136>>2];h=N[a+132>>2];i=N[a+128>>2];n=J[a+368>>2];L=a+148|0;while(1){a:{b:{k=Q(Y(Q(Q(d*d)+Q(Q(i*i)+Q(h*h)))));c:{if(k>2]=1;break c}b=P(n,36);n=1-n|0;M=P(n,36);S=M+L|0;c=0;v=a+b|0;m=J[v+180>>2];g=m<<2;J[(g+v|0)+164>>2]=0;o=J[a+364>>2]-1|0;J[a+364>>2]=o;e=b+L|0;b=J[((o<<2)+a|0)+348>>2];J[g+e>>2]=b;J[v+180>>2]=m+1;J[b+12>>2]=0;j=Q(Q(1)/k);N[b+8>>2]=j*Q(-d);N[b+4>>2]=j*Q(-h);N[b>>2]=j*Q(-i);gb(f+80|0,a,b);g=J[f+92>>2];J[b+24>>2]=J[f+88>>2];J[b+28>>2]=g;g=J[f+84>>2];J[b+16>>2]=J[f+80>>2];J[b+20>>2]=g;m=J[v+180>>2];b=J[((m<<2)+e|0)-4>>2];d=N[b+16>>2];h=N[b+24>>2];i=N[b+20>>2];d:{while(1){g=(f+16|0)+(c<<4)|0;j=Q(h-N[g+8>>2]);w=Q(j*j);j=Q(d-N[g>>2]);q=Q(j*j);j=Q(i-N[g+4>>2]);if(!(Q(w+Q(q+Q(j*j)))>2];b=P(n,36)+a|0;c=J[b+180>>2]-1|0;J[b+180>>2]=c;b=J[(b+(c<<2)|0)+148>>2];c=J[a+364>>2];J[a+364>>2]=c+1;J[((c<<2)+a|0)+348>>2]=b;break c}g=J[b+28>>2];O=O+1&3;c=(f+16|0)+(O<<4)|0;J[c+8>>2]=J[b+24>>2];J[c+12>>2]=g;g=J[b+20>>2];J[c>>2]=J[b+16>>2];J[c+4>>2]=g;d=Q(Q(Q(N[a+136>>2]*h)+Q(Q(N[a+128>>2]*d)+Q(N[a+132>>2]*i)))/k);B=d>B?d:B;if(Q(Q(k*Q(-9999999747378752e-20))+Q(k-B))<=Q(0)){n=J[a+368>>2];b=P(n,36)+a|0;c=J[b+180>>2]-1|0;J[b+180>>2]=c;b=J[(b+(c<<2)|0)+148>>2];c=J[a+364>>2];J[a+364>>2]=c+1;J[((c<<2)+a|0)+348>>2]=b;break c}J[f+12>>2]=0;e:{f:{switch(m-2|0){case 0:l=Me(J[e>>2]+16|0,J[e+4>>2]+16|0,f+80|0,f+12|0);break e;case 1:l=Le(J[e>>2]+16|0,J[e+4>>2]+16|0,J[e+8>>2]+16|0,f+80|0,f+12|0);break e;case 2:break f;default:break e}}m=J[e>>2]+16|0;o=J[e+4>>2]+16|0;r=J[e+8>>2]+16|0;c=f+80|0;u=0;b=ta-96|0;ta=b;g=J[e+12>>2]+16|0;J[b+92>>2]=g;J[b+88>>2]=r;J[b+84>>2]=o;J[b+80>>2]=m;d=N[g+8>>2];l=N[m+8>>2];h=N[g+4>>2];i=N[m+4>>2];C=N[m>>2];s=N[g>>2];y=Q(C-s);N[b+32>>2]=y;D=Q(i-h);N[b+36>>2]=D;E=Q(l-d);N[b+40>>2]=E;k=N[o>>2];j=N[o+4>>2];F=N[o+8>>2];G=Q(F-d);N[b+56>>2]=G;H=Q(j-h);N[b+52>>2]=H;I=Q(k-s);N[b+48>>2]=I;w=N[r>>2];q=N[r+4>>2];A=N[r+8>>2];K=Q(A-d);N[b+72>>2]=K;h=Q(q-h);N[b+68>>2]=h;s=Q(w-s);N[b+64>>2]=s;d=Q(-1);h=Q(Q(Q(Q(y*H)*K)+Q(Q(Q(Q(Q(D*G)*s)+Q(Q(E*I)*h))-Q(Q(G*y)*h))-Q(Q(I*D)*K)))-Q(Q(H*E)*s));g:{if(!(h>Q(0)|h>2]=0;J[b+16>>2]=0;J[b+20>>2]=0;J[b+12>>2]=0;while(1){t=b+32|0;p=t+(u<<4)|0;l=N[p>>2];z=u<<2;x=J[z+22672>>2];t=t+(x<<4)|0;i=N[t+4>>2];k=N[t>>2];j=N[p+4>>2];A=Q(N[g+8>>2]*Q(Q(l*i)-Q(k*j)));w=j;j=N[t+8>>2];q=i;i=N[p+8>>2];h:{if(!(Q(h*Q(A+Q(Q(N[g>>2]*Q(Q(w*j)-Q(q*i)))+Q(N[g+4>>2]*Q(Q(i*k)-Q(j*l))))))>Q(0))){break h}p=b+80|0;T=J[p+z>>2];t=p;p=x<<2;l=Le(T,J[t+p>>2],g,b+16|0,b+12|0);if(!(d>2];J[f+12>>2]=((t&x<<30>>31)+(x<<1&8)|0)+(0-(x&1)&1<>2]=N[b+16>>2];N[c+p>>2]=N[b+20>>2];J[c+(J[p+22672>>2]<<2)>>2]=0;N[c+12>>2]=N[b+24>>2];d=l}u=u+1|0;if((u|0)!=3){continue}break}if(!(d>2]=15;U=c,V=Q(Tc(r,o,g)/h),N[U>>2]=V;U=c,V=Q(Tc(m,r,g)/h),N[U+4>>2]=V;d=Q(Tc(o,m,g)/h);N[c+8>>2]=d;N[c+12>>2]=Q(1)-Q(d+Q(N[c>>2]+N[c+4>>2]));d=Q(0)}ta=b+96|0;l=d}if(l>=Q(0)){r=a+M|0;J[r+180>>2]=0;J[a+136>>2]=0;J[a+140>>2]=0;J[a+128>>2]=0;J[a+132>>2]=0;J[a+368>>2]=n;v=J[v+180>>2];if(!v){d=Q(0);m=J[f+12>>2];h=Q(0);i=Q(0);break b}c=J[a+364>>2];d=Q(0);o=0;m=J[f+12>>2];h=Q(0);i=Q(0);b=0;while(1){g=b<<2;p=g+e|0;u=J[p>>2];i:{if(m>>>b&1){z=o<<2;J[z+S>>2]=u;d=N[g+(f+80|0)>>2];o=o+1|0;J[r+180>>2]=o;N[(r+z|0)+164>>2]=d;g=J[p>>2];k=N[g+24>>2];h=N[g+20>>2];i=Q(Q(d*N[g+16>>2])+N[a+128>>2]);N[a+128>>2]=i;h=Q(Q(d*h)+N[a+132>>2]);N[a+132>>2]=h;d=Q(Q(d*k)+N[a+136>>2]);N[a+136>>2]=d;break i}g=c+1|0;J[a+364>>2]=g;J[((c<<2)+a|0)+348>>2]=u;c=g}b=b+1|0;if((v|0)!=(b|0)){continue}break}break b}n=J[a+368>>2];b=P(n,36)+a|0;c=J[b+180>>2]-1|0;J[b+180>>2]=c;b=J[(b+(c<<2)|0)+148>>2];c=J[a+364>>2];J[a+364>>2]=c+1;J[((c<<2)+a|0)+348>>2]=b}b=J[a+376>>2];break a}R=R+1|0;b=R>>>0>=128?2:(m|0)==15?1:J[a+376>>2];J[a+376>>2]=b;if(!b){continue}}break}J[a+372>>2]=(P(n,36)+a|0)+148;d=Q(0);j:{switch(b|0){case 0:d=N[a+136>>2];q=Q(d*d);d=N[a+128>>2];l=Q(d*d);d=N[a+132>>2];d=Q(Y(Q(q+Q(l+Q(d*d)))));case 1:N[a+144>>2]=d;break;default:break j}}ta=f+96|0;return b}function rg(a,b,c,d){var e=0,f=0,g=Q(0),h=Q(0),i=Q(0),j=Q(0),k=Q(0),l=0,m=Q(0),n=0,o=0,p=Q(0),q=Q(0),r=Q(0),s=0,t=Q(0),u=Q(0),v=Q(0),w=0,x=Q(0),y=Q(0),z=Q(0),A=Q(0),B=0,C=0,D=0,E=0,F=0,G=0,I=0,K=0,L=0,M=0,O=0;e=ta-768|0;ta=e;n=_a(e+708|0);f=n;J[f+20>>2]=1065353216;J[f+24>>2]=1065353216;J[f+4>>2]=8;J[f>>2]=21412;J[f+32>>2]=0;J[f+36>>2]=0;J[f+28>>2]=1065353216;J[f+40>>2]=0;J[f+44>>2]=0;J[f+48>>2]=0;J[f+52>>2]=0;J[f+56>>2]=0;f=J[c+12>>2];o=J[c+4>>2];l=J[o+4>>2];a:{if((l|0)<=19){J[e+700>>2]=0;J[e+704>>2]=0;J[e+532>>2]=13172;N[e+696>>2]=N[d+4>>2];H[e+504|0]=0;J[e+480>>2]=953267991;l=e+172|0;s=He(e+156|0,n,o,l);o=(L=Wc(e+140|0,n,o,l),M=s,O=J[d+16>>2]&8,O?L:M);b:{if(!(va[J[J[o>>2]+8>>2]](o,a,b,f,f,e+532|0)|0)){break b}g=N[e+672>>2];h=N[e+664>>2];i=N[e+668>>2];j=Q(Q(g*g)+Q(Q(h*h)+Q(i*i)));if(!(j>Q(9999999747378752e-20))){break b}k=N[e+696>>2];if(!(k>2])){break b}p=g;g=Q(Q(1)/Q(Y(j)));N[e+672>>2]=p*g;N[e+668>>2]=i*g;N[e+664>>2]=h*g;a=J[c+8>>2];J[e+80>>2]=0;J[e+76>>2]=a;a=J[e+676>>2];J[e+92>>2]=J[e+672>>2];J[e+96>>2]=a;a=J[e+668>>2];J[e+84>>2]=J[e+664>>2];J[e+88>>2]=a;N[e+100>>2]=k;Q(va[J[J[d>>2]+12>>2]](d,e+76|0,1))}break a}if(l-21>>>0<=8){Ua(e+532|0,f);g=N[a+56>>2];h=N[a+52>>2];i=N[a+48>>2];J[e+168>>2]=0;j=N[e+572>>2];k=N[e+564>>2];m=N[e+568>>2];q=N[e+588>>2];N[e+164>>2]=Q(Q(g*j)+Q(Q(i*k)+Q(h*m)))+q;r=N[e+556>>2];v=N[e+548>>2];t=N[e+552>>2];p=N[e+584>>2];N[e+160>>2]=Q(Q(g*r)+Q(Q(i*v)+Q(h*t)))+p;u=N[e+540>>2];x=N[e+532>>2];y=N[e+536>>2];z=N[e+580>>2];N[e+156>>2]=Q(Q(g*u)+Q(Q(i*x)+Q(h*y)))+z;g=N[b+56>>2];h=N[b+52>>2];i=N[b+48>>2];J[e+152>>2]=0;N[e+148>>2]=q+Q(Q(g*j)+Q(Q(i*k)+Q(m*h)));N[e+144>>2]=p+Q(Q(g*r)+Q(Q(i*v)+Q(t*h)));N[e+140>>2]=z+Q(Q(g*u)+Q(Q(i*x)+Q(y*h)));if(J[o+4>>2]==21){b=J[c+8>>2];c=e+156|0;n=e+140|0;a=Je(e+172|0,c,n,J[d+16>>2]);J[a+52>>2]=o;J[a+48>>2]=b;J[a+44>>2]=d;J[a>>2]=13240;l=J[f+12>>2];b=a- -64|0;J[b>>2]=J[f+8>>2];J[b+4>>2]=l;b=J[f+4>>2];J[a+56>>2]=J[f>>2];J[a+60>>2]=b;b=J[f+28>>2];J[a+80>>2]=J[f+24>>2];J[a+84>>2]=b;b=J[f+20>>2];J[a+72>>2]=J[f+16>>2];J[a+76>>2]=b;b=J[f+44>>2];J[a+96>>2]=J[f+40>>2];J[a+100>>2]=b;b=J[f+36>>2];J[a+88>>2]=J[f+32>>2];J[a+92>>2]=b;b=J[f+60>>2];J[a+112>>2]=J[f+56>>2];J[a+116>>2]=b;b=J[f+52>>2];J[a+104>>2]=J[f+48>>2];J[a+108>>2]=b;N[a+40>>2]=N[d+4>>2];b=ta-16|0;ta=b;d=J[o+56>>2];J[b+12>>2]=a;J[b+8>>2]=d;J[b+4>>2]=18672;d=J[o+60>>2];a=ta-32|0;ta=a;J[a+24>>2]=0;J[a+28>>2]=0;J[a+16>>2]=0;J[a+20>>2]=0;J[a+8>>2]=0;J[a+12>>2]=0;J[a>>2]=0;J[a+4>>2]=0;Af(d,b+4|0,c,n,a+16|0,a);ta=a+32|0;ta=b+16|0;break a}Ua(e+76|0,f);g=N[a+56>>2];j=N[e+116>>2];h=N[a+48>>2];k=N[e+108>>2];i=N[a+52>>2];m=N[e+112>>2];q=N[e+132>>2];N[e+68>>2]=Q(Q(g*j)+Q(Q(h*k)+Q(i*m)))+q;J[e+72>>2]=0;r=N[e+100>>2];v=N[e+92>>2];t=N[e+96>>2];p=N[e+128>>2];N[e+64>>2]=Q(Q(g*r)+Q(Q(h*v)+Q(i*t)))+p;u=N[e+84>>2];x=N[e+76>>2];y=N[e+80>>2];z=N[e+124>>2];N[e+60>>2]=Q(Q(g*u)+Q(Q(h*x)+Q(i*y)))+z;g=N[b+56>>2];h=N[b+48>>2];i=N[b+52>>2];J[e+56>>2]=0;N[e+52>>2]=q+Q(Q(g*j)+Q(Q(h*k)+Q(m*i)));N[e+48>>2]=p+Q(Q(g*r)+Q(Q(h*v)+Q(t*i)));N[e+44>>2]=z+Q(Q(g*u)+Q(Q(h*x)+Q(y*i)));b=J[c+8>>2];a=Je(e+172|0,e+60|0,e+44|0,J[d+16>>2]);J[a+52>>2]=o;J[a+48>>2]=b;J[a+44>>2]=d;J[a>>2]=13240;c=J[f+12>>2];b=a- -64|0;J[b>>2]=J[f+8>>2];J[b+4>>2]=c;b=J[f+4>>2];J[a+56>>2]=J[f>>2];J[a+60>>2]=b;b=J[f+28>>2];J[a+80>>2]=J[f+24>>2];J[a+84>>2]=b;b=J[f+20>>2];J[a+72>>2]=J[f+16>>2];J[a+76>>2]=b;b=J[f+44>>2];J[a+96>>2]=J[f+40>>2];J[a+100>>2]=b;b=J[f+36>>2];J[a+88>>2]=J[f+32>>2];J[a+92>>2]=b;b=J[f+60>>2];J[a+112>>2]=J[f+56>>2];J[a+116>>2]=b;b=J[f+52>>2];J[a+104>>2]=J[f+48>>2];J[a+108>>2]=b;N[a+40>>2]=N[d+4>>2];b=J[e+72>>2];J[e+32>>2]=J[e+68>>2];J[e+36>>2]=b;b=J[e+64>>2];J[e+24>>2]=J[e+60>>2];J[e+28>>2]=b;g=N[e+44>>2];if(g>2]){N[e+24>>2]=g}h=N[e+48>>2];if(h>2]){N[e+28>>2]=h}i=N[e+52>>2];if(i>2]){N[e+32>>2]=i}j=N[e+56>>2];if(j>2]){N[e+36>>2]=j}b=J[e+72>>2];J[e+16>>2]=J[e+68>>2];J[e+20>>2]=b;b=J[e+64>>2];J[e+8>>2]=J[e+60>>2];J[e+12>>2]=b;if(g>N[e+8>>2]){N[e+8>>2]=g}if(h>N[e+12>>2]){N[e+12>>2]=h}if(i>N[e+16>>2]){N[e+16>>2]=i}if(j>N[e+20>>2]){N[e+20>>2]=j}va[J[J[o>>2]+64>>2]](o,a,e+24|0,e+8|0);break a}if((l|0)!=31){break a}n=J[o+72>>2];c=J[c+8>>2];J[e+196>>2]=d;J[e+192>>2]=b;J[e+188>>2]=a;J[e+184>>2]=f;J[e+180>>2]=o;J[e+176>>2]=c;J[e+172>>2]=13424;if(n){g=N[f+20>>2];h=N[f+36>>2];i=N[f+24>>2];j=N[f+52>>2];u=N[a+52>>2];k=N[f+40>>2];m=N[f+56>>2];t=N[a+56>>2];x=N[f>>2];q=N[f+16>>2];r=N[f+32>>2];y=N[f+4>>2];p=N[f+8>>2];v=N[f+48>>2];z=N[a+48>>2];J[e+544>>2]=0;t=Q(t-m);A=p;p=Q(z-v);u=Q(u-j);N[e+540>>2]=Q(k*t)+Q(Q(A*p)+Q(i*u));N[e+536>>2]=Q(h*t)+Q(Q(y*p)+Q(u*g));N[e+532>>2]=Q(r*t)+Q(Q(x*p)+Q(u*q));t=N[b+52>>2];p=N[b+56>>2];u=N[f>>2];x=N[f+4>>2];y=N[f+8>>2];z=N[b+48>>2];J[e+88>>2]=0;A=k;k=Q(p-m);m=Q(z-v);p=i;i=Q(t-j);N[e+84>>2]=Q(A*k)+Q(Q(y*m)+Q(p*i));N[e+80>>2]=Q(h*k)+Q(Q(x*m)+Q(g*i));N[e+76>>2]=Q(r*k)+Q(Q(u*m)+Q(q*i));B=e+172|0;o=0;l=ta-544|0;ta=l;a=J[n>>2];c:{if(!a){break c}g=N[e+540>>2];h=N[e+84>>2];i=N[e+532>>2];j=N[e+76>>2];k=N[e+536>>2];m=N[e+80>>2];J[l+32>>2]=a;g=Q(h-g);h=Q(j-i);i=Q(m-k);j=Q(Q(1)/Q(Y(Q(Q(g*g)+Q(Q(h*h)+Q(i*i))))));k=Q(g*j);p=Q(k*g);g=Q(h*j);A=Q(g*h);h=Q(i*j);v=Q(p+Q(A+Q(i*h)));i=k==Q(0)?Q(0xde0b6b000000000):Q(Q(1)/k);a=i>2];w=J[s+4>>2];J[l>>2]=J[s>>2];J[l+4>>2]=w;w=J[s+12>>2];J[l+8>>2]=J[s+8>>2];J[l+12>>2]=w;w=J[s+28>>2];J[l+24>>2]=J[s+24>>2];J[l+28>>2]=w;w=J[s+20>>2];J[l+16>>2]=J[s+16>>2];J[l+20>>2]=w;q=N[e+532>>2];j=Q(g*Q(N[I>>2]-q));m=N[e+536>>2];k=Q(h*Q(N[G>>2]-m));d:{e:{if(j>k){break e}m=Q(h*Q(N[E>>2]-m));q=Q(g*Q(N[K>>2]-q));if(m>q){break e}j=j>2];m=Q(i*Q(N[F>>2]-r));if(j>m){break e}r=Q(i*Q(N[D>>2]-r));k=kk|!(v>(jm?m:k)>Q(0))){break e}if(J[s+40>>2]){if((b|0)<(n|0)){b=d<<1;if((b|0)>(d|0)){if((a|0)<(b|0)){f:{if(!d){a=0;break f}n=0;a=Ga(d<<3);if((d|0)<=0){break f}while(1){w=n<<2;J[w+a>>2]=J[c+w>>2];n=n+1|0;if((n|0)!=(d|0)){continue}break}}n=o;o=1;if(n){Fa(c)}c=a;a=b}d=d<<2;Ka(d+c|0,0,d)}d=b;b=b-2|0}J[c+C>>2]=J[s+36>>2];J[(f<<2)+c>>2]=J[s+40>>2];n=f+1|0;break d}va[J[J[B>>2]+12>>2]](B,s)}}f=n;if(f){continue}break}if(!o){break c}Fa(c)}ta=l+544|0;break a}b=J[o+24>>2];if((b|0)<=0){break a}a=0;while(1){pg(e+172|0,a);a=a+1|0;if((b|0)!=(a|0)){continue}break}}ta=e+768|0}function Wf(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=Q(0),i=0,j=Q(0),k=Q(0),l=Q(0),m=Q(0),n=Q(0),o=Q(0),p=Q(0),q=Q(0),r=0,s=0,t=Q(0),u=Q(0),v=Q(0),w=Q(0),x=Q(0),y=Q(0),z=Q(0),A=Q(0),B=Q(0),C=Q(0),D=Q(0),E=Q(0),F=0,G=0,I=0,L=Q(0),M=Q(0),O=Q(0),R=0,S=0;f=ta-208|0;ta=f;r=K[a+68|0];G=r?c:b;F=J[G+4>>2];if(J[F+76>>2]!=J[a+80>>2]){Xf(a);Yf(a,b,c);J[a+80>>2]=J[F+76>>2]}g=J[a+52>>2];a:{if(!g){break a}s=J[F+72>>2];i=J[a+60>>2];I=J[a+4>>2];J[f+204>>2]=J[a+72>>2];J[f+200>>2]=i;J[f+196>>2]=e;J[f+192>>2]=d;J[f+188>>2]=I;r=r?b:c;J[f+184>>2]=r;J[f+180>>2]=G;J[f+176>>2]=16280;c=J[a+32>>2];if((c|0)<0){if(J[a+36>>2]<0){b=J[a+40>>2];if(!(!b|!K[a+44|0])){Fa(b)}H[a+44|0]=1;J[a+36>>2]=0;J[a+40>>2]=0}while(1){J[J[a+40>>2]+(c<<2)>>2]=0;c=c+1|0;if(c){continue}break}g=J[a+52>>2]}J[a+32>>2]=0;if((g|0)>0){i=a+28|0;b=0;while(1){c=J[J[a+60>>2]+(b<<2)>>2];if(c){va[J[J[c>>2]+16>>2]](c,i);g=0;c=J[a+32>>2];if((c|0)>0){while(1){d=J[J[a+40>>2]+(g<<2)>>2];if(J[d+844>>2]){J[e+4>>2]=d;I=J[d+836>>2];R=J[J[e+8>>2]+8>>2];c=(I|0)==(R|0);S=d;d=J[J[e+12>>2]+8>>2];ab(S,(c?I:d)+4|0,(c?d:R)+4|0);J[e+4>>2]=0;c=J[a+32>>2]}g=g+1|0;if((g|0)<(c|0)){continue}break}}if((c|0)<0){if(J[a+36>>2]<0){d=J[a+40>>2];if(!(!d|!K[a+44|0])){Fa(d)}H[a+44|0]=1;J[a+36>>2]=0;J[a+40>>2]=0}while(1){J[J[a+40>>2]+(c<<2)>>2]=0;c=c+1|0;if(c){continue}break}}J[a+32>>2]=0;g=J[a+52>>2]}b=b+1|0;if((g|0)>(b|0)){continue}break}}b:{if(!s){if((g|0)<=0){break b}c=0;while(1){Vf(f+176|0,J[(J[F+32>>2]+P(c,80)|0)+64>>2],c);c=c+1|0;if((g|0)!=(c|0)){continue}break}break b}c=f+16|0;Ua(c,J[G+12>>2]);b=J[r+12>>2];t=N[b+56>>2];u=N[b+52>>2];v=N[b+36>>2];w=N[b+20>>2];x=N[b+40>>2];y=N[b+24>>2];z=N[b+32>>2];A=N[b>>2];B=N[b+16>>2];L=N[f+68>>2];M=N[f+72>>2];C=N[b+48>>2];h=N[f+40>>2];j=N[f+36>>2];D=N[b+4>>2];k=N[f+56>>2];l=N[f+52>>2];E=N[b+8>>2];O=N[f+64>>2];m=N[f+24>>2];n=N[f+16>>2];o=N[f+20>>2];p=N[f+32>>2];q=N[f+48>>2];J[f+140>>2]=0;J[f+124>>2]=0;J[f+108>>2]=0;N[f+120>>2]=Q(x*k)+Q(Q(E*q)+Q(y*l));N[f+116>>2]=Q(v*k)+Q(Q(D*q)+Q(w*l));N[f+104>>2]=Q(x*h)+Q(Q(E*p)+Q(y*j));N[f+100>>2]=Q(v*h)+Q(Q(D*p)+Q(w*j));N[f+136>>2]=M+Q(Q(t*k)+Q(Q(C*q)+Q(l*u)));N[f+132>>2]=L+Q(Q(t*h)+Q(Q(C*p)+Q(j*u)));J[f+92>>2]=0;N[f+112>>2]=Q(z*k)+Q(Q(A*q)+Q(B*l));N[f+96>>2]=Q(z*h)+Q(Q(A*p)+Q(B*j));N[f+80>>2]=Q(z*m)+Q(Q(A*n)+Q(B*o));N[f+88>>2]=Q(x*m)+Q(Q(E*n)+Q(o*y));N[f+84>>2]=Q(v*m)+Q(Q(D*n)+Q(o*w));N[f+128>>2]=O+Q(Q(t*m)+Q(Q(C*n)+Q(o*u)));b=J[r+4>>2];va[J[J[b>>2]+8>>2]](b,f+80|0,f+160|0,f+144|0);h=N[e+32>>2];N[f+168>>2]=N[f+168>>2]-h;N[f+152>>2]=h+N[f+152>>2];N[f+160>>2]=N[f+160>>2]-h;N[f+164>>2]=N[f+164>>2]-h;N[f+144>>2]=h+N[f+144>>2];N[f+148>>2]=h+N[f+148>>2];b=J[f+172>>2];J[f+24>>2]=J[f+168>>2];J[f+28>>2]=b;b=J[f+156>>2];J[f+40>>2]=J[f+152>>2];J[f+44>>2]=b;b=J[f+148>>2];J[f+32>>2]=J[f+144>>2];J[f+36>>2]=b;b=J[f+164>>2];J[f+16>>2]=J[f+160>>2];J[f+20>>2]=b;g=J[s>>2];if(g){s=f+176|0;d=J[a+16>>2];h=N[c+24>>2];j=N[c+20>>2];k=N[c+16>>2];l=N[c+8>>2];m=N[c+4>>2];n=N[c>>2];b=J[a+12>>2];if((b|0)<0){if((d|0)<0){c=J[a+20>>2];if(!(!c|!K[a+24|0])){Fa(c)}H[a+24|0]=1;J[a+16>>2]=0;J[a+20>>2]=0;d=0}while(1){J[J[a+20>>2]+(b<<2)>>2]=0;b=b+1|0;if(b){continue}break}}c=0;J[a+12>>2]=0;if((d|0)<=63){d=Ga(256);c=J[a+12>>2];if((c|0)>0){b=0;while(1){e=b<<2;J[e+d>>2]=J[e+J[a+20>>2]>>2];b=b+1|0;if((c|0)!=(b|0)){continue}break}}b=J[a+20>>2];if(!(!b|!K[a+24|0])){Fa(b);c=J[a+12>>2]}J[a+20>>2]=d;H[a+24|0]=1;J[a+16>>2]=64;d=64}c:{if((c|0)!=(d|0)){break c}i=d<<1;if((i|0)<=(d|0)){c=d;break c}b=0;d:{e:{if(!d){e=0;c=d;break e}e=Ga(d<<3);c=J[a+12>>2];if((c|0)<=0){break d}}while(1){d=b<<2;J[d+e>>2]=J[d+J[a+20>>2]>>2];b=b+1|0;if((c|0)!=(b|0)){continue}break}}b=J[a+20>>2];if(!(!b|!K[a+24|0])){Fa(b);c=J[a+12>>2]}J[a+20>>2]=e;H[a+24|0]=1;J[a+16>>2]=i}J[J[a+20>>2]+(c<<2)>>2]=g;c=c+1|0;while(1){e=J[a+20>>2];b=c-1|0;g=J[e+(b<<2)>>2];J[a+12>>2]=b;f:{g:{if(!(k>=N[g>>2])|!(n<=N[g+16>>2])|(!(j>=N[g+4>>2])|!(m<=N[g+20>>2]))){break g}if(!(h>=N[g+8>>2])|!(l<=N[g+24>>2])){break g}if(J[g+40>>2]){d=J[a+16>>2];h:{if((d|0)!=(b|0)){break h}d=b?b<<1:1;if((d|0)<(c|0)){d=b;break h}c=0;e=0;if(d){e=Ga(d<<2);b=J[a+12>>2]}if((b|0)>0){while(1){i=c<<2;J[i+e>>2]=J[i+J[a+20>>2]>>2];c=c+1|0;if((c|0)!=(b|0)){continue}break}}c=J[a+20>>2];if(!(!c|!K[a+24|0])){Fa(c);b=J[a+12>>2]}J[a+20>>2]=e;H[a+24|0]=1;J[a+16>>2]=d}J[(b<<2)+e>>2]=J[g+36>>2];b=b+1|0;J[a+12>>2]=b;i:{if((b|0)!=(d|0)){break i}c=d?d<<1:1;if((c|0)<=(d|0)){b=d;break i}b=0;e=0;if(c){e=Ga(c<<2);d=J[a+12>>2]}if((d|0)>0){while(1){i=b<<2;J[i+e>>2]=J[i+J[a+20>>2]>>2];b=b+1|0;if((d|0)!=(b|0)){continue}break}}b=J[a+20>>2];if(!(!b|!K[a+24|0])){Fa(b);d=J[a+12>>2]}b=d;J[a+20>>2]=e;H[a+24|0]=1;J[a+16>>2]=c}J[J[a+20>>2]+(b<<2)>>2]=J[g+40>>2];c=b+1|0;J[a+12>>2]=c;break f}va[J[J[s>>2]+12>>2]](s,g);c=J[a+12>>2];break f}c=b}if((c|0)>0){continue}break}}}s=J[a+52>>2];c=J[a+32>>2];if((c|0)<0){if(J[a+36>>2]<0){b=J[a+40>>2];if(!(!b|!K[a+44|0])){Fa(b)}H[a+44|0]=1;J[a+36>>2]=0;J[a+40>>2]=0}while(1){J[J[a+40>>2]+(c<<2)>>2]=0;c=c+1|0;if(c){continue}break}}J[a+32>>2]=0;if((s|0)<=0){break a}b=0;while(1){e=b<<2;j:{if(!J[e+J[a+60>>2]>>2]){break j}c=J[F+32>>2]+P(b,80)|0;i=J[c+64>>2];d=J[G+12>>2];L=N[d+52>>2];M=N[d+56>>2];t=N[c+48>>2];u=N[c+52>>2];v=N[c+56>>2];w=N[c+4>>2];x=N[c+20>>2];y=N[c+36>>2];z=N[c+8>>2];A=N[c+24>>2];B=N[c+40>>2];h=N[d+20>>2];j=N[d+24>>2];C=N[c>>2];D=N[c+16>>2];k=N[d+36>>2];E=N[c+32>>2];l=N[d+40>>2];O=N[d+48>>2];m=N[d+8>>2];n=N[d>>2];o=N[d+4>>2];p=N[d+16>>2];q=N[d+32>>2];g=0;J[f+140>>2]=0;J[f+124>>2]=0;J[f+108>>2]=0;J[f+92>>2]=0;N[f+112>>2]=Q(E*l)+Q(Q(C*q)+Q(k*D));N[f+96>>2]=Q(E*j)+Q(Q(C*p)+Q(h*D));N[f+80>>2]=Q(E*m)+Q(Q(C*n)+Q(o*D));N[f+120>>2]=Q(B*l)+Q(Q(z*q)+Q(k*A));N[f+116>>2]=Q(y*l)+Q(Q(w*q)+Q(k*x));N[f+104>>2]=Q(B*j)+Q(Q(z*p)+Q(h*A));N[f+100>>2]=Q(y*j)+Q(Q(w*p)+Q(h*x));N[f+88>>2]=Q(B*m)+Q(Q(z*n)+Q(o*A));N[f+84>>2]=Q(y*m)+Q(Q(w*n)+Q(o*x));N[f+136>>2]=M+Q(Q(v*l)+Q(Q(t*q)+Q(k*u)));N[f+132>>2]=L+Q(Q(v*j)+Q(Q(t*p)+Q(h*u)));N[f+128>>2]=O+Q(Q(v*m)+Q(Q(t*n)+Q(o*u)));va[J[J[i>>2]+8>>2]](i,f+80|0,f+16|0,f+160|0);c=J[r+4>>2];va[J[J[c>>2]+8>>2]](c,J[r+12>>2],f+144|0,f);c=0;k:{if(N[f+16>>2]>N[f>>2]){break k}c=0;if(N[f+160>>2]>2]){break k}c=1}if(!(N[f+20>>2]>N[f+4>>2])&(!(N[f+164>>2]>2])&(N[f+168>>2]>2]|N[f+24>>2]>N[f+8>>2]?g:c))){break j}c=J[e+J[a+60>>2]>>2];va[J[J[c>>2]>>2]](c)|0;c=J[a+4>>2];va[J[J[c>>2]+60>>2]](c,J[e+J[a+60>>2]>>2]);J[e+J[a+60>>2]>>2]=0}b=b+1|0;if((s|0)!=(b|0)){continue}break}}ta=f+208|0}function Ip(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=Q(0),h=Q(0),i=Q(0),j=Q(0),k=Q(0),l=Q(0),m=Q(0),n=Q(0),o=Q(0),p=Q(0),q=Q(0),r=Q(0),s=Q(0),t=Q(0),u=Q(0),v=0;f=ta-32|0;ta=f;o=N[d+52>>2];i=N[d+24>>2];j=N[d+20>>2];p=N[d+56>>2];k=N[d+40>>2];q=N[d+36>>2];r=N[d+16>>2];s=N[d+32>>2];t=N[d+48>>2];l=N[d+8>>2];g=N[b+8>>2];u=N[d>>2];h=N[b>>2];n=N[d+4>>2];m=N[b+4>>2];J[f+28>>2]=0;l=Q(g*l);n=Q(m*n);N[f+16>>2]=t+Q(l+Q(Q(h*u)+n));k=Q(g*k);q=Q(m*q);N[f+24>>2]=p+Q(k+Q(Q(h*s)+q));i=Q(g*i);g=Q(h*r);h=Q(m*j);N[f+20>>2]=o+Q(i+Q(g+h));g=N[c>>2];J[f+12>>2]=0;N[f+8>>2]=p+Q(k+Q(Q(g*s)+q));N[f+4>>2]=o+Q(i+Q(Q(g*r)+h));N[f>>2]=t+Q(l+Q(Q(g*u)+n));v=f+16|0;va[J[J[a>>2]+16>>2]](a,v,f,e);o=N[d+52>>2];i=N[d+24>>2];p=N[d+20>>2];r=N[d+56>>2];j=N[d+40>>2];s=N[d+36>>2];t=N[d+48>>2];k=N[d+8>>2];q=N[d>>2];u=N[d+4>>2];l=N[d+16>>2];g=N[b+8>>2];n=N[d+32>>2];h=N[c>>2];m=N[b+4>>2];J[f+28>>2]=0;j=Q(g*j);n=Q(h*n);N[f+24>>2]=r+Q(j+Q(n+Q(m*s)));i=Q(g*i);l=Q(h*l);N[f+20>>2]=o+Q(i+Q(l+Q(m*p)));k=Q(g*k);h=Q(h*q);N[f+16>>2]=t+Q(k+Q(h+Q(m*u)));g=N[c+4>>2];J[f+12>>2]=0;N[f+8>>2]=r+Q(j+Q(n+Q(s*g)));N[f+4>>2]=o+Q(i+Q(l+Q(p*g)));N[f>>2]=t+Q(k+Q(h+Q(u*g)));va[J[J[a>>2]+16>>2]](a,v,f,e);o=N[d+52>>2];i=N[d+24>>2];j=N[d+20>>2];p=N[d+56>>2];k=N[d+40>>2];q=N[d+36>>2];r=N[d+48>>2];l=N[d+8>>2];s=N[d>>2];n=N[d+4>>2];t=N[d+16>>2];g=N[b+8>>2];u=N[d+32>>2];h=N[c>>2];m=N[c+4>>2];J[f+28>>2]=0;k=Q(g*k);q=Q(m*q);N[f+24>>2]=p+Q(k+Q(Q(h*u)+q));i=Q(g*i);j=Q(m*j);N[f+20>>2]=o+Q(i+Q(Q(h*t)+j));l=Q(g*l);g=Q(h*s);h=Q(m*n);N[f+16>>2]=r+Q(l+Q(g+h));g=N[b>>2];J[f+12>>2]=0;N[f+8>>2]=p+Q(k+Q(Q(g*u)+q));N[f+4>>2]=o+Q(i+Q(Q(g*t)+j));N[f>>2]=r+Q(l+Q(Q(g*s)+h));va[J[J[a>>2]+16>>2]](a,v,f,e);o=N[d+52>>2];i=N[d+24>>2];p=N[d+20>>2];r=N[d+56>>2];j=N[d+40>>2];s=N[d+36>>2];t=N[d+48>>2];k=N[d+8>>2];q=N[d>>2];u=N[d+4>>2];l=N[d+16>>2];g=N[b+8>>2];n=N[d+32>>2];h=N[b>>2];m=N[c+4>>2];J[f+28>>2]=0;j=Q(g*j);n=Q(h*n);N[f+24>>2]=r+Q(j+Q(n+Q(m*s)));i=Q(g*i);l=Q(h*l);N[f+20>>2]=o+Q(i+Q(l+Q(m*p)));k=Q(g*k);h=Q(h*q);N[f+16>>2]=t+Q(k+Q(h+Q(m*u)));g=N[b+4>>2];J[f+12>>2]=0;N[f+8>>2]=r+Q(j+Q(n+Q(s*g)));N[f+4>>2]=o+Q(i+Q(l+Q(p*g)));N[f>>2]=t+Q(k+Q(h+Q(u*g)));va[J[J[a>>2]+16>>2]](a,v,f,e);o=N[d+52>>2];p=N[d+24>>2];i=N[d+20>>2];r=N[d+56>>2];s=N[d+40>>2];j=N[d+36>>2];t=N[d+48>>2];u=N[d+8>>2];k=N[d>>2];q=N[d+4>>2];l=N[d+16>>2];g=N[b+8>>2];n=N[d+32>>2];h=N[b>>2];m=N[b+4>>2];J[f+28>>2]=0;j=Q(Q(h*n)+Q(m*j));N[f+24>>2]=r+Q(Q(g*s)+j);i=Q(Q(h*l)+Q(m*i));N[f+20>>2]=o+Q(Q(g*p)+i);h=Q(Q(h*k)+Q(m*q));N[f+16>>2]=t+Q(Q(g*u)+h);g=N[c+8>>2];J[f+12>>2]=0;N[f+8>>2]=r+Q(Q(g*s)+j);N[f+4>>2]=o+Q(Q(g*p)+i);N[f>>2]=t+Q(Q(g*u)+h);va[J[J[a>>2]+16>>2]](a,v,f,e);o=N[d+52>>2];p=N[d+24>>2];i=N[d+20>>2];r=N[d+56>>2];s=N[d+40>>2];j=N[d+36>>2];t=N[d+48>>2];u=N[d+8>>2];k=N[d>>2];q=N[d+4>>2];l=N[d+16>>2];g=N[b+8>>2];n=N[d+32>>2];h=N[c>>2];m=N[b+4>>2];J[f+28>>2]=0;j=Q(Q(h*n)+Q(m*j));N[f+24>>2]=r+Q(Q(g*s)+j);i=Q(Q(h*l)+Q(m*i));N[f+20>>2]=o+Q(Q(g*p)+i);h=Q(Q(h*k)+Q(m*q));N[f+16>>2]=t+Q(Q(g*u)+h);g=N[c+8>>2];J[f+12>>2]=0;N[f+8>>2]=r+Q(Q(g*s)+j);N[f+4>>2]=o+Q(Q(g*p)+i);N[f>>2]=t+Q(Q(g*u)+h);va[J[J[a>>2]+16>>2]](a,v,f,e);o=N[d+52>>2];p=N[d+24>>2];i=N[d+20>>2];r=N[d+56>>2];s=N[d+40>>2];j=N[d+36>>2];t=N[d+48>>2];u=N[d+8>>2];k=N[d>>2];q=N[d+4>>2];l=N[d+16>>2];g=N[b+8>>2];n=N[d+32>>2];h=N[c>>2];m=N[c+4>>2];J[f+28>>2]=0;j=Q(Q(h*n)+Q(m*j));N[f+24>>2]=r+Q(Q(g*s)+j);i=Q(Q(h*l)+Q(m*i));N[f+20>>2]=o+Q(Q(g*p)+i);h=Q(Q(h*k)+Q(m*q));N[f+16>>2]=t+Q(Q(g*u)+h);g=N[c+8>>2];J[f+12>>2]=0;N[f+8>>2]=r+Q(Q(g*s)+j);N[f+4>>2]=o+Q(Q(g*p)+i);N[f>>2]=t+Q(Q(g*u)+h);va[J[J[a>>2]+16>>2]](a,v,f,e);o=N[d+52>>2];p=N[d+24>>2];i=N[d+20>>2];r=N[d+56>>2];s=N[d+40>>2];j=N[d+36>>2];t=N[d+48>>2];u=N[d+8>>2];k=N[d>>2];q=N[d+4>>2];l=N[d+16>>2];g=N[b+8>>2];n=N[d+32>>2];h=N[b>>2];m=N[c+4>>2];J[f+28>>2]=0;j=Q(Q(h*n)+Q(m*j));N[f+24>>2]=r+Q(Q(g*s)+j);i=Q(Q(h*l)+Q(m*i));N[f+20>>2]=o+Q(Q(g*p)+i);h=Q(Q(h*k)+Q(m*q));N[f+16>>2]=t+Q(Q(g*u)+h);g=N[c+8>>2];J[f+12>>2]=0;N[f+8>>2]=r+Q(Q(g*s)+j);N[f+4>>2]=o+Q(Q(g*p)+i);N[f>>2]=t+Q(Q(g*u)+h);va[J[J[a>>2]+16>>2]](a,v,f,e);o=N[d+52>>2];i=N[d+24>>2];j=N[d+20>>2];p=N[d+56>>2];k=N[d+40>>2];q=N[d+36>>2];r=N[d+48>>2];l=N[d+8>>2];s=N[d>>2];n=N[d+4>>2];t=N[d+16>>2];g=N[c+8>>2];u=N[d+32>>2];h=N[b>>2];m=N[b+4>>2];J[f+28>>2]=0;k=Q(g*k);q=Q(m*q);N[f+24>>2]=p+Q(k+Q(Q(h*u)+q));i=Q(g*i);j=Q(m*j);N[f+20>>2]=o+Q(i+Q(Q(h*t)+j));l=Q(g*l);g=Q(h*s);h=Q(m*n);N[f+16>>2]=r+Q(l+Q(g+h));g=N[c>>2];J[f+12>>2]=0;N[f+8>>2]=p+Q(k+Q(Q(g*u)+q));N[f+4>>2]=o+Q(i+Q(Q(g*t)+j));N[f>>2]=r+Q(l+Q(Q(g*s)+h));va[J[J[a>>2]+16>>2]](a,v,f,e);o=N[d+52>>2];i=N[d+24>>2];p=N[d+20>>2];r=N[d+56>>2];j=N[d+40>>2];s=N[d+36>>2];t=N[d+48>>2];k=N[d+8>>2];q=N[d>>2];u=N[d+4>>2];l=N[d+16>>2];g=N[c+8>>2];n=N[d+32>>2];h=N[c>>2];m=N[b+4>>2];J[f+28>>2]=0;j=Q(g*j);n=Q(h*n);N[f+24>>2]=r+Q(j+Q(n+Q(m*s)));i=Q(g*i);l=Q(h*l);N[f+20>>2]=o+Q(i+Q(l+Q(m*p)));k=Q(g*k);h=Q(h*q);N[f+16>>2]=t+Q(k+Q(h+Q(m*u)));g=N[c+4>>2];J[f+12>>2]=0;N[f+8>>2]=r+Q(j+Q(n+Q(s*g)));N[f+4>>2]=o+Q(i+Q(l+Q(p*g)));N[f>>2]=t+Q(k+Q(h+Q(u*g)));va[J[J[a>>2]+16>>2]](a,v,f,e);o=N[d+52>>2];i=N[d+24>>2];j=N[d+20>>2];p=N[d+56>>2];k=N[d+40>>2];q=N[d+36>>2];r=N[d+48>>2];l=N[d+8>>2];s=N[d>>2];n=N[d+4>>2];t=N[d+16>>2];g=N[c+8>>2];u=N[d+32>>2];h=N[c>>2];m=N[c+4>>2];J[f+28>>2]=0;k=Q(g*k);q=Q(m*q);N[f+24>>2]=p+Q(k+Q(Q(h*u)+q));i=Q(g*i);j=Q(m*j);N[f+20>>2]=o+Q(i+Q(Q(h*t)+j));l=Q(g*l);g=Q(h*s);h=Q(m*n);N[f+16>>2]=r+Q(l+Q(g+h));g=N[b>>2];J[f+12>>2]=0;N[f+8>>2]=p+Q(k+Q(Q(g*u)+q));N[f+4>>2]=o+Q(i+Q(Q(g*t)+j));N[f>>2]=r+Q(l+Q(Q(g*s)+h));va[J[J[a>>2]+16>>2]](a,v,f,e);o=N[d+52>>2];i=N[d+24>>2];p=N[d+20>>2];r=N[d+56>>2];j=N[d+40>>2];s=N[d+36>>2];t=N[d+48>>2];k=N[d+8>>2];q=N[d>>2];u=N[d+4>>2];l=N[d+16>>2];g=N[c+8>>2];n=N[d+32>>2];h=N[b>>2];m=N[c+4>>2];J[f+28>>2]=0;j=Q(g*j);n=Q(h*n);N[f+24>>2]=r+Q(j+Q(n+Q(m*s)));i=Q(g*i);l=Q(h*l);N[f+20>>2]=o+Q(i+Q(l+Q(m*p)));k=Q(g*k);h=Q(h*q);N[f+16>>2]=t+Q(k+Q(h+Q(m*u)));g=N[b+4>>2];J[f+12>>2]=0;N[f+8>>2]=r+Q(j+Q(n+Q(s*g)));N[f+4>>2]=o+Q(i+Q(l+Q(p*g)));N[f>>2]=t+Q(k+Q(h+Q(u*g)));va[J[J[a>>2]+16>>2]](a,v,f,e);ta=f+32|0}function pb(a,b,c){var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=Q(0),l=0,m=Q(0),n=Q(0),o=0,p=Q(0),q=Q(0),r=Q(0),s=Q(0),t=Q(0),u=Q(0);g=ta-256|0;ta=g;h=J[b+212>>2];a:{if((h|0)>=0){break a}b:{h=J[b+252>>2];if(!(h&2)){break b}h=h<<30>>31&b;if(N[h+404>>2]==Q(0)&!(K[h+204|0]&2)){break b}h=J[a+8>>2];Ka(g+12|0,0,244);d=h;e=d;c:{if(J[a+12>>2]!=(d|0)){break c}l=d?d<<1:1;e=h;if((l|0)<=(d|0)){break c}if(l){i=Ga(P(l,244));d=J[a+8>>2]}else{d=h}if((d|0)>0){while(1){e=P(o,244);f=e+i|0;e=e+J[a+16>>2]|0;j=J[e+4>>2];J[f>>2]=J[e>>2];J[f+4>>2]=j;j=J[e+12>>2];J[f+8>>2]=J[e+8>>2];J[f+12>>2]=j;j=J[e+28>>2];J[f+24>>2]=J[e+24>>2];J[f+28>>2]=j;j=J[e+20>>2];J[f+16>>2]=J[e+16>>2];J[f+20>>2]=j;j=J[e+44>>2];J[f+40>>2]=J[e+40>>2];J[f+44>>2]=j;j=J[e+36>>2];J[f+32>>2]=J[e+32>>2];J[f+36>>2]=j;j=J[e+52>>2];J[f+48>>2]=J[e+48>>2];J[f+52>>2]=j;j=J[e+60>>2];J[f+56>>2]=J[e+56>>2];J[f+60>>2]=j;Pa(f- -64|0,e- -64|0,180);o=o+1|0;if((d|0)!=(o|0)){continue}break}}d=J[a+16>>2];if(!(!d|!K[a+20|0])){Fa(d)}J[a+16>>2]=i;H[a+20|0]=1;J[a+12>>2]=l;e=J[a+8>>2]}J[a+8>>2]=e+1;e=P(h,244);d=e+J[a+16>>2]|0;J[d>>2]=0;J[d+4>>2]=0;J[d+8>>2]=0;J[d+12>>2]=0;f=J[g+40>>2];J[d+24>>2]=J[g+36>>2];J[d+28>>2]=f;f=J[g+32>>2];J[d+16>>2]=J[g+28>>2];J[d+20>>2]=f;f=J[g+48>>2];J[d+32>>2]=J[g+44>>2];J[d+36>>2]=f;f=J[g+56>>2];J[d+40>>2]=J[g+52>>2];J[d+44>>2]=f;f=J[g+64>>2];J[d+48>>2]=J[g+60>>2];J[d+52>>2]=f;f=J[g+72>>2];J[d+56>>2]=J[g+68>>2];J[d+60>>2]=f;Pa(d- -64|0,g+76|0,180);d=e+J[a+16>>2]|0;a=b?J[b+252>>2]<<30>>31&b:0;J[d+64>>2]=0;J[d+68>>2]=0;J[d+144>>2]=0;J[d+148>>2]=0;J[d+88>>2]=0;J[d+92>>2]=0;J[d+80>>2]=0;J[d+84>>2]=0;J[d+72>>2]=0;J[d+76>>2]=0;J[d+152>>2]=0;J[d+156>>2]=0;J[d+160>>2]=0;J[d+164>>2]=0;J[d+168>>2]=0;J[d+172>>2]=0;d:{if(a){e=J[a+8>>2];J[d>>2]=J[a+4>>2];J[d+4>>2]=e;e=J[a+16>>2];J[d+8>>2]=J[a+12>>2];J[d+12>>2]=e;e=J[a+32>>2];J[d+24>>2]=J[a+28>>2];J[d+28>>2]=e;e=J[a+24>>2];J[d+16>>2]=J[a+20>>2];J[d+20>>2]=e;e=J[a+48>>2];J[d+40>>2]=J[a+44>>2];J[d+44>>2]=e;e=J[a+40>>2];J[d+32>>2]=J[a+36>>2];J[d+36>>2]=e;e=J[a+64>>2];J[d+56>>2]=J[a+60>>2];J[d+60>>2]=e;e=J[a+56>>2];J[d+48>>2]=J[a+52>>2];J[d+52>>2]=e;m=N[a+412>>2];n=N[a+416>>2];p=N[a+408>>2];k=N[a+404>>2];J[d+240>>2]=a;J[d+140>>2]=0;N[d+136>>2]=k*n;N[d+132>>2]=k*m;N[d+128>>2]=k*p;e=J[a+616>>2];J[d+104>>2]=J[a+612>>2];J[d+108>>2]=e;e=J[a+608>>2];J[d+96>>2]=J[a+604>>2];J[d+100>>2]=e;e=J[a+420>>2];J[d+120>>2]=J[a+416>>2];J[d+124>>2]=e;e=J[a+412>>2];J[d+112>>2]=J[a+408>>2];J[d+116>>2]=e;e=J[a+384>>2];J[d+184>>2]=J[a+380>>2];J[d+188>>2]=e;e=J[a+376>>2];J[d+176>>2]=J[a+372>>2];J[d+180>>2]=e;e=J[a+400>>2];J[d+200>>2]=J[a+396>>2];J[d+204>>2]=e;e=J[a+392>>2];J[d+192>>2]=J[a+388>>2];J[d+196>>2]=e;m=N[a+476>>2];n=N[a+480>>2];p=N[a+472>>2];k=N[a+404>>2];J[d+220>>2]=0;N[d+216>>2]=Q(k*n)*c;N[d+212>>2]=Q(k*m)*c;N[d+208>>2]=Q(k*p)*c;p=N[a+332>>2];q=N[a+348>>2];r=N[a+364>>2];s=N[a+340>>2];t=N[a+356>>2];u=N[a+324>>2];k=N[a+496>>2];m=N[a+488>>2];n=N[a+492>>2];N[d+228>>2]=Q(Q(N[a+360>>2]*k)+Q(Q(N[a+328>>2]*m)+Q(n*N[a+344>>2])))*c;N[d+224>>2]=Q(Q(t*k)+Q(Q(u*m)+Q(s*n)))*c;c=Q(Q(Q(r*k)+Q(Q(p*m)+Q(n*q)))*c);break d}J[d+4>>2]=0;J[d+8>>2]=0;J[d>>2]=1065353216;J[d+240>>2]=0;J[d+128>>2]=0;J[d+132>>2]=0;J[d+112>>2]=1065353216;J[d+116>>2]=1065353216;J[d+96>>2]=1065353216;J[d+100>>2]=1065353216;J[d+12>>2]=0;J[d+16>>2]=0;J[d+24>>2]=0;J[d+28>>2]=0;J[d+20>>2]=1065353216;J[d+32>>2]=0;J[d+36>>2]=0;J[d+44>>2]=0;J[d+48>>2]=0;J[d+40>>2]=1065353216;J[d+52>>2]=0;J[d+56>>2]=0;J[d+60>>2]=0;J[d+136>>2]=0;J[d+140>>2]=0;J[d+120>>2]=1065353216;J[d+124>>2]=0;J[d+104>>2]=1065353216;J[d+108>>2]=0;Ka(d+176|0,0,56);c=Q(0)}J[d+236>>2]=0;N[d+232>>2]=c;J[b+212>>2]=h;break a}h=J[a+188>>2];if((h|0)>=0){break a}b=J[a+8>>2];J[a+188>>2]=b;Ka(g+12|0,0,244);d=b;e:{if((b|0)!=J[a+12>>2]){break e}l=b?b<<1:1;d=b;if((l|0)<=(b|0)){break e}if(l){o=Ga(P(l,244));d=J[a+8>>2]}else{d=b}if((d|0)>0){h=0;while(1){e=P(h,244);f=e+o|0;e=e+J[a+16>>2]|0;i=J[e+4>>2];J[f>>2]=J[e>>2];J[f+4>>2]=i;i=J[e+12>>2];J[f+8>>2]=J[e+8>>2];J[f+12>>2]=i;i=J[e+28>>2];J[f+24>>2]=J[e+24>>2];J[f+28>>2]=i;i=J[e+20>>2];J[f+16>>2]=J[e+16>>2];J[f+20>>2]=i;i=J[e+44>>2];J[f+40>>2]=J[e+40>>2];J[f+44>>2]=i;i=J[e+36>>2];J[f+32>>2]=J[e+32>>2];J[f+36>>2]=i;i=J[e+52>>2];J[f+48>>2]=J[e+48>>2];J[f+52>>2]=i;i=J[e+60>>2];J[f+56>>2]=J[e+56>>2];J[f+60>>2]=i;Pa(f- -64|0,e- -64|0,180);h=h+1|0;if((d|0)!=(h|0)){continue}break}}h=J[a+16>>2];if(!(!h|!K[a+20|0])){Fa(h)}J[a+16>>2]=o;H[a+20|0]=1;J[a+12>>2]=l;d=J[a+8>>2]}J[a+8>>2]=d+1;h=P(b,244);b=h+J[a+16>>2]|0;J[b>>2]=0;J[b+4>>2]=0;J[b+8>>2]=0;J[b+12>>2]=0;d=J[g+40>>2];J[b+24>>2]=J[g+36>>2];J[b+28>>2]=d;d=J[g+32>>2];J[b+16>>2]=J[g+28>>2];J[b+20>>2]=d;d=J[g+48>>2];J[b+32>>2]=J[g+44>>2];J[b+36>>2]=d;d=J[g+56>>2];J[b+40>>2]=J[g+52>>2];J[b+44>>2]=d;d=J[g+64>>2];J[b+48>>2]=J[g+60>>2];J[b+52>>2]=d;d=J[g+72>>2];J[b+56>>2]=J[g+68>>2];J[b+60>>2]=d;Pa(b- -64|0,g+76|0,180);b=h+J[a+16>>2]|0;J[b+64>>2]=0;J[b+68>>2]=0;J[b+144>>2]=0;J[b+148>>2]=0;J[b+4>>2]=0;J[b+8>>2]=0;J[b>>2]=1065353216;J[b+88>>2]=0;J[b+92>>2]=0;J[b+80>>2]=0;J[b+84>>2]=0;J[b+72>>2]=0;J[b+76>>2]=0;J[b+152>>2]=0;J[b+156>>2]=0;J[b+160>>2]=0;J[b+164>>2]=0;J[b+168>>2]=0;J[b+172>>2]=0;J[b+12>>2]=0;J[b+16>>2]=0;J[b+24>>2]=0;J[b+28>>2]=0;J[b+20>>2]=1065353216;J[b+32>>2]=0;J[b+36>>2]=0;J[b+44>>2]=0;J[b+48>>2]=0;J[b+40>>2]=1065353216;J[b+52>>2]=0;J[b+56>>2]=0;J[b+60>>2]=0;J[b+136>>2]=0;J[b+140>>2]=0;J[b+240>>2]=0;J[b+128>>2]=0;J[b+132>>2]=0;J[b+120>>2]=1065353216;J[b+124>>2]=0;J[b+112>>2]=1065353216;J[b+116>>2]=1065353216;J[b+104>>2]=1065353216;J[b+108>>2]=0;J[b+96>>2]=1065353216;J[b+100>>2]=1065353216;Ka(b+176|0,0,64);h=J[a+188>>2]}ta=g+256|0;return h}function wj(a){a=a|0;var b=0,c=Q(0),d=0,e=0,f=Q(0),g=Q(0),h=Q(0),i=Q(0),j=Q(0),k=Q(0),l=Q(0),m=Q(0),n=0,o=Q(0),p=Q(0),q=Q(0),r=Q(0),s=Q(0),t=Q(0),u=0,v=Q(0),w=Q(0),x=Q(0);b=ta-176|0;ta=b;if(K[a+738|0]){J[a+744>>2]=0;J[a+36>>2]=0;if(!K[a+736|0]){c=N[a+672>>2];d=J[a+32>>2];g=N[a+664>>2];f=N[a+668>>2];l=Q(Q(Q(c*N[d+44>>2])+Q(Q(g*N[d+36>>2])+Q(f*N[d+40>>2])))+N[d+60>>2]);h=N[a+608>>2];e=J[a+28>>2];i=N[a+600>>2];k=N[a+604>>2];o=Q(Q(Q(h*N[e+44>>2])+Q(Q(i*N[e+36>>2])+Q(k*N[e+40>>2])))+N[e+60>>2]);j=Q(l-o);p=Q(Q(Q(c*N[d+12>>2])+Q(Q(g*N[d+4>>2])+Q(f*N[d+8>>2])))+N[d+52>>2]);q=Q(Q(Q(h*N[e+12>>2])+Q(Q(i*N[e+4>>2])+Q(k*N[e+8>>2])))+N[e+52>>2]);m=Q(p-q);r=Q(Q(Q(c*N[d+28>>2])+Q(Q(g*N[d+20>>2])+Q(f*N[d+24>>2])))+N[d+56>>2]);s=Q(Q(Q(h*N[e+28>>2])+Q(Q(i*N[e+20>>2])+Q(k*N[e+24>>2])))+N[e+56>>2]);g=Q(r-s);c=Q(Q(j*j)+Q(Q(m*m)+Q(g*g)));a:{if(c>Q(1.1920928955078125e-7)){f=Q(Q(1)/Q(Y(c)));c=Q(j*f);N[b+136>>2]=c;g=Q(g*f);N[b+132>>2]=g;f=Q(m*f);N[b+128>>2]=f;break a}J[b+136>>2]=0;J[b+128>>2]=1065353216;J[b+132>>2]=0;f=Q(1);g=Q(0);c=Q(0)}J[b+140>>2]=0;b:{if(Q(R(c))>Q(.7071067690849304)){h=Q(Q(g*g)+Q(c*c));j=Q(Q(1)/Q(Y(h)));h=Q(h*j);i=Q(j*Q(-c));k=Q(i*f);c=Q(g*j);g=Q(c*Q(-f));j=Q(0);break b}i=Q(Q(f*f)+Q(g*g));h=Q(Q(1)/Q(Y(i)));k=Q(i*h);j=Q(h*Q(-g));g=Q(c*j);i=Q(f*h);h=Q(i*Q(-c));c=Q(0)}N[b+168>>2]=k;N[b+164>>2]=g;N[b+148>>2]=i;N[b+160>>2]=h;N[b+152>>2]=c;N[b+144>>2]=j;while(1){d=J[a+28>>2];N[b+80>>2]=N[d+4>>2];N[b+84>>2]=N[d+20>>2];c=N[d+36>>2];J[b+92>>2]=0;N[b+88>>2]=c;N[b+96>>2]=N[d+8>>2];N[b+100>>2]=N[d+24>>2];c=N[d+40>>2];J[b+108>>2]=0;N[b+104>>2]=c;N[b+112>>2]=N[d+12>>2];N[b+116>>2]=N[d+28>>2];c=N[d+44>>2];J[b+124>>2]=0;N[b+120>>2]=c;e=J[a+32>>2];N[b+32>>2]=N[e+4>>2];N[b+36>>2]=N[e+20>>2];c=N[e+36>>2];J[b+44>>2]=0;N[b+40>>2]=c;N[b+48>>2]=N[e+8>>2];N[b+52>>2]=N[e+24>>2];c=N[e+40>>2];J[b+60>>2]=0;N[b+56>>2]=c;N[b+64>>2]=N[e+12>>2];N[b+68>>2]=N[e+28>>2];c=N[e+44>>2];J[b+76>>2]=0;N[b+72>>2]=c;c=N[d+52>>2];g=N[d+56>>2];f=N[d+60>>2];J[b+28>>2]=0;N[b+24>>2]=o-f;N[b+20>>2]=s-g;N[b+16>>2]=q-c;c=N[e+52>>2];g=N[e+56>>2];f=N[e+60>>2];J[b+12>>2]=0;N[b+8>>2]=l-f;N[b+4>>2]=r-g;N[b>>2]=p-c;xe((P(n,84)+a|0)+48|0,b+80|0,b+32|0,b+16|0,b,(b+128|0)+(n<<4)|0,d+456|0,N[d+404>>2],e+456|0,N[e+404>>2]);n=n+1|0;if((n|0)!=3){continue}break}}c=N[a+576>>2];g=N[a+560>>2];f=N[a+592>>2];c:{if(Q(R(f))>Q(.7071067690849304)){h=Q(Q(c*c)+Q(f*f));j=Q(Q(1)/Q(Y(h)));h=Q(h*j);i=Q(j*Q(-f));k=Q(g*i);j=Q(c*j);m=Q(j*Q(-g));l=Q(0);break c}i=Q(Q(g*g)+Q(c*c));h=Q(Q(1)/Q(Y(i)));k=Q(i*h);l=Q(h*Q(-c));m=Q(f*l);i=Q(g*h);h=Q(i*Q(-f));j=Q(0)}d=J[a+28>>2];v=N[d+12>>2];w=N[d+8>>2];o=N[d+28>>2];p=N[d+20>>2];q=N[d+24>>2];r=N[d+44>>2];s=N[d+36>>2];t=N[d+40>>2];x=N[d+4>>2];J[b+44>>2]=0;N[b+40>>2]=Q(r*j)+Q(Q(s*l)+Q(i*t));N[b+36>>2]=Q(o*j)+Q(Q(p*l)+Q(i*q));N[b+32>>2]=Q(v*j)+Q(Q(x*l)+Q(i*w));i=N[d+12>>2];j=N[d+8>>2];l=N[d+4>>2];J[b+28>>2]=0;N[b+24>>2]=Q(r*k)+Q(Q(s*h)+Q(m*t));N[b+20>>2]=Q(o*k)+Q(Q(p*h)+Q(m*q));N[b+16>>2]=Q(i*k)+Q(Q(l*h)+Q(m*j));h=N[d+12>>2];i=N[d+8>>2];k=N[d+4>>2];J[b+12>>2]=0;N[b+8>>2]=Q(r*f)+Q(Q(s*g)+Q(c*t));N[b+4>>2]=Q(o*f)+Q(Q(p*g)+Q(c*q));N[b>>2]=Q(h*f)+Q(Q(k*g)+Q(c*i));c=N[d+4>>2];J[b+140>>2]=0;N[b+136>>2]=s;N[b+132>>2]=p;N[b+128>>2]=c;c=N[d+8>>2];J[b+156>>2]=0;N[b+152>>2]=t;N[b+148>>2]=q;N[b+144>>2]=c;c=N[d+12>>2];J[b+172>>2]=0;N[b+168>>2]=r;N[b+164>>2]=o;N[b+160>>2]=c;e=J[a+32>>2];N[b+80>>2]=N[e+4>>2];N[b+84>>2]=N[e+20>>2];c=N[e+36>>2];J[b+92>>2]=0;N[b+88>>2]=c;N[b+96>>2]=N[e+8>>2];N[b+100>>2]=N[e+24>>2];c=N[e+40>>2];J[b+108>>2]=0;N[b+104>>2]=c;N[b+112>>2]=N[e+12>>2];N[b+116>>2]=N[e+28>>2];c=N[e+44>>2];J[b+124>>2]=0;N[b+120>>2]=c;n=b+128|0;u=b+80|0;Ic(a+300|0,b+32|0,n,u,d+456|0,e+456|0);d=J[a+28>>2];N[b+128>>2]=N[d+4>>2];N[b+132>>2]=N[d+20>>2];c=N[d+36>>2];J[b+140>>2]=0;N[b+136>>2]=c;N[b+144>>2]=N[d+8>>2];N[b+148>>2]=N[d+24>>2];c=N[d+40>>2];J[b+156>>2]=0;N[b+152>>2]=c;N[b+160>>2]=N[d+12>>2];N[b+164>>2]=N[d+28>>2];c=N[d+44>>2];J[b+172>>2]=0;N[b+168>>2]=c;e=J[a+32>>2];N[b+80>>2]=N[e+4>>2];N[b+84>>2]=N[e+20>>2];c=N[e+36>>2];J[b+92>>2]=0;N[b+88>>2]=c;N[b+96>>2]=N[e+8>>2];N[b+100>>2]=N[e+24>>2];c=N[e+40>>2];J[b+108>>2]=0;N[b+104>>2]=c;N[b+112>>2]=N[e+12>>2];N[b+116>>2]=N[e+28>>2];c=N[e+44>>2];J[b+124>>2]=0;N[b+120>>2]=c;Ic(a+384|0,b+16|0,n,u,d+456|0,e+456|0);d=J[a+28>>2];N[b+128>>2]=N[d+4>>2];N[b+132>>2]=N[d+20>>2];c=N[d+36>>2];J[b+140>>2]=0;N[b+136>>2]=c;N[b+144>>2]=N[d+8>>2];N[b+148>>2]=N[d+24>>2];c=N[d+40>>2];J[b+156>>2]=0;N[b+152>>2]=c;N[b+160>>2]=N[d+12>>2];N[b+164>>2]=N[d+28>>2];c=N[d+44>>2];J[b+172>>2]=0;N[b+168>>2]=c;e=J[a+32>>2];N[b+80>>2]=N[e+4>>2];N[b+84>>2]=N[e+20>>2];c=N[e+36>>2];J[b+92>>2]=0;N[b+88>>2]=c;N[b+96>>2]=N[e+8>>2];N[b+100>>2]=N[e+24>>2];c=N[e+40>>2];J[b+108>>2]=0;N[b+104>>2]=c;N[b+112>>2]=N[e+12>>2];N[b+116>>2]=N[e+28>>2];c=N[e+44>>2];J[b+124>>2]=0;N[b+120>>2]=c;Ic(a+468|0,b,n,u,d+456|0,e+456|0);J[a+724>>2]=0;c=Hc(a,J[a+28>>2]+4|0,J[a+32>>2]+4|0);N[a+728>>2]=c;ue(a+688|0,c);e=a;d=J[a+28>>2];f=N[a+592>>2];h=N[a+560>>2];i=N[a+576>>2];c=Q(Q(N[d+44>>2]*f)+Q(Q(N[d+36>>2]*h)+Q(i*N[d+40>>2])));g=Q(Q(N[d+12>>2]*f)+Q(Q(N[d+4>>2]*h)+Q(i*N[d+8>>2])));f=Q(Q(N[d+28>>2]*f)+Q(Q(N[d+20>>2]*h)+Q(i*N[d+24>>2])));a=J[a+32>>2];N[e+720>>2]=Q(1)/Q(Q(Q(c*Q(Q(c*N[d+364>>2])+Q(Q(N[d+332>>2]*g)+Q(f*N[d+348>>2]))))+Q(Q(g*Q(Q(N[d+356>>2]*c)+Q(Q(g*N[d+324>>2])+Q(f*N[d+340>>2]))))+Q(f*Q(Q(N[d+360>>2]*c)+Q(Q(N[d+328>>2]*g)+Q(f*N[d+344>>2]))))))+Q(Q(c*Q(Q(c*N[a+364>>2])+Q(Q(N[a+332>>2]*g)+Q(f*N[a+348>>2]))))+Q(Q(g*Q(Q(N[a+356>>2]*c)+Q(Q(g*N[a+324>>2])+Q(f*N[a+340>>2]))))+Q(f*Q(Q(N[a+360>>2]*c)+Q(Q(N[a+328>>2]*g)+Q(f*N[a+344>>2])))))))}ta=b+176|0}function Ee(a){var b=Q(0),c=Q(0),d=0,e=0,f=0,g=Q(0),h=Q(0),i=0,j=Q(0),k=Q(0),l=0,m=Q(0),n=Q(0),o=Q(0),p=Q(0),q=0,r=0,s=0,t=0,u=0,v=0,w=Q(0),x=Q(0),y=0,z=Q(0),A=Q(0),B=Q(0),C=0,D=0,E=0,F=0,G=0;f=ta-16|0;ta=f;a:{if(!K[a+356|0]){r=K[a+312|0];break a}H[a+356|0]=0;H[a+352|0]=0;J[a+344>>2]=0;J[a+348>>2]=0;J[a+336>>2]=0;J[a+340>>2]=0;y=a+332|0;l=K[y|0]&-16;H[y|0]=l;d=a+316|0;b:{c:{switch(J[a>>2]-1|0){case 0:i=J[a+168>>2];J[a+260>>2]=J[a+164>>2];J[a+264>>2]=i;i=J[a+88>>2];J[a+244>>2]=J[a+84>>2];J[a+248>>2]=i;i=J[a+176>>2];J[a+268>>2]=J[a+172>>2];J[a+272>>2]=i;i=J[a+96>>2];J[a+252>>2]=J[a+92>>2];J[a+256>>2]=i;H[a+352|0]=0;J[a+288>>2]=0;N[a+280>>2]=N[a+248>>2]-N[a+264>>2];N[a+276>>2]=N[a+244>>2]-N[a+260>>2];N[a+284>>2]=N[a+252>>2]-N[a+268>>2];J[a+344>>2]=0;J[a+348>>2]=0;J[a+336>>2]=1065353216;J[a+340>>2]=0;r=1;break b;case 1:g=N[a+8>>2];m=Q(N[a+24>>2]-g);b=N[a+12>>2];j=Q(N[a+28>>2]-b);k=Q(j*Q(Q(0)-b));b=N[a+4>>2];h=Q(N[a+20>>2]-b);g=Q(k+Q(Q(h*Q(Q(0)-b))+Q(Q(Q(0)-g)*m)));i=1;d:{if(!(g>Q(0))){break d}b=Q(Q(j*j)+Q(Q(h*h)+Q(m*m)));if(!(b>g)){c=Q(1);i=2;break d}c=Q(g/b);i=3}J[a+344>>2]=0;J[a+348>>2]=0;N[a+340>>2]=c;N[a+336>>2]=Q(1)-c;H[a+332|0]=i|l;J[a+256>>2]=0;b=N[a+92>>2];h=Q(b+Q(c*Q(N[a+108>>2]-b)));N[a+252>>2]=h;b=N[a+88>>2];n=Q(b+Q(c*Q(N[a+104>>2]-b)));N[a+248>>2]=n;b=N[a+84>>2];m=Q(b+Q(c*Q(N[a+100>>2]-b)));N[a+244>>2]=m;j=N[a+180>>2];g=N[a+184>>2];z=N[a+168>>2];b=N[a+188>>2];o=N[a+172>>2];p=N[a+164>>2];J[a+288>>2]=0;k=h;h=Q(o+Q(c*Q(b-o)));N[a+284>>2]=k-h;g=Q(z+Q(c*Q(g-z)));N[a+280>>2]=n-g;b=Q(p+Q(c*Q(j-p)));N[a+276>>2]=m-b;J[a+272>>2]=0;N[a+268>>2]=h;N[a+264>>2]=g;N[a+260>>2]=b;Pc(a,y);if(!(N[a+344>>2]>=Q(0))|(!(N[a+336>>2]>=Q(0))|!(N[a+340>>2]>=Q(0)))){break b}r=N[a+348>>2]>=Q(0);break b;case 2:J[f+8>>2]=0;J[f+12>>2]=0;J[f>>2]=0;J[f+4>>2]=0;Eb(f,a+4|0,a+20|0,a+36|0,d);J[a+256>>2]=0;k=N[a+336>>2];w=N[a+340>>2];x=N[a+344>>2];A=Q(Q(Q(k*N[a+92>>2])+Q(w*N[a+108>>2]))+Q(x*N[a+124>>2]));N[a+252>>2]=A;B=Q(Q(Q(k*N[a+88>>2])+Q(w*N[a+104>>2]))+Q(x*N[a+120>>2]));N[a+248>>2]=B;z=Q(Q(Q(k*N[a+84>>2])+Q(w*N[a+100>>2]))+Q(x*N[a+116>>2]));N[a+244>>2]=z;o=N[a+180>>2];p=N[a+196>>2];n=N[a+168>>2];m=N[a+184>>2];j=N[a+200>>2];h=N[a+172>>2];g=N[a+188>>2];c=N[a+204>>2];b=N[a+164>>2];J[a+288>>2]=0;g=Q(Q(Q(k*h)+Q(w*g))+Q(x*c));N[a+284>>2]=A-g;c=Q(Q(Q(k*n)+Q(w*m))+Q(x*j));N[a+280>>2]=B-c;b=Q(Q(Q(k*b)+Q(w*o))+Q(x*p));N[a+276>>2]=z-b;J[a+272>>2]=0;N[a+268>>2]=g;N[a+264>>2]=c;N[a+260>>2]=b;Pc(a,y);if(!(N[a+344>>2]>=Q(0))|(!(N[a+336>>2]>=Q(0))|!(N[a+340>>2]>=Q(0)))){break b}r=N[a+348>>2]>=Q(0);break b;case 3:break c;default:break b}}J[f+8>>2]=0;J[f+12>>2]=0;J[f>>2]=0;J[f+4>>2]=0;e=ta-48|0;ta=e;H[e+24|0]=0;l=J[f+12>>2];J[d+8>>2]=J[f+8>>2];J[d+12>>2]=l;l=J[f+4>>2];J[d>>2]=J[f>>2];J[d+4>>2]=l;C=K[d+16|0];q=C|15;H[d+16|0]=q;s=a+4|0;t=a+20|0;u=a+36|0;v=a+52|0;D=$b(f,s,t,u,v);E=$b(f,s,u,v,t);F=$b(f,s,v,t,u);G=$b(f,t,v,u,s);l=G|(D|E|F);e:{if((l|0)<0){H[d+36|0]=1;break e}if(!l){break e}b=Q(34028234663852886e22);f:{if(!D){break f}Eb(f,s,t,u,e+8|0);j=N[e+16>>2];c=Q(j-N[f+8>>2]);b=Q(c*c);h=N[e+8>>2];c=Q(h-N[f>>2]);k=Q(c*c);g=N[e+12>>2];c=Q(g-N[f+4>>2]);c=Q(b+Q(k+Q(c*c)));b=Q(34028234663852886e22);if(!(c>2]=N[e+20>>2];N[d+8>>2]=j;N[d+4>>2]=g;N[d>>2]=h;q=K[e+24|0]&7|C&-16;H[d+16|0]=q;b=N[e+36>>2];l=J[e+32>>2];i=J[e+28>>2];J[d+32>>2]=0;N[d+28>>2]=b;J[d+20>>2]=i;J[d+24>>2]=l;b=c}g:{h:{if(!E){break h}Eb(f,s,u,v,e+8|0);j=N[e+16>>2];c=Q(j-N[f+8>>2]);k=Q(c*c);h=N[e+8>>2];c=Q(h-N[f>>2]);m=Q(c*c);g=N[e+12>>2];c=Q(g-N[f+4>>2]);c=Q(k+Q(m+Q(c*c)));if(!(b>c)){break h}N[d+12>>2]=N[e+20>>2];N[d+8>>2]=j;N[d+4>>2]=g;N[d>>2]=h;i=K[e+24|0];q=q&-16|(i&1|i<<1&12);H[d+16|0]=q;l=J[e+36>>2];i=J[e+32>>2];b=N[e+28>>2];J[d+24>>2]=0;J[d+28>>2]=i;J[d+32>>2]=l;N[d+20>>2]=b;break g}c=b}i:{j:{if(!F){break j}Eb(f,s,v,t,e+8|0);j=N[e+16>>2];b=Q(j-N[f+8>>2]);k=Q(b*b);h=N[e+8>>2];b=Q(h-N[f>>2]);m=Q(b*b);g=N[e+12>>2];b=Q(g-N[f+4>>2]);b=Q(k+Q(m+Q(b*b)));if(!(b>2]=N[e+20>>2];N[d+8>>2]=j;N[d+4>>2]=g;N[d>>2]=h;i=K[e+24|0];q=q&-16|(i&1|i>>>1&2|i<<2&8);H[d+16|0]=q;g=N[e+36>>2];c=N[e+28>>2];N[d+32>>2]=N[e+32>>2];J[d+28>>2]=0;N[d+24>>2]=g;N[d+20>>2]=c;break i}b=c}i=1;if(!G){break e}Eb(f,t,v,u,e+8|0);k=b;h=N[e+16>>2];b=Q(h-N[f+8>>2]);j=Q(b*b);g=N[e+8>>2];b=Q(g-N[f>>2]);m=Q(b*b);c=N[e+12>>2];b=Q(c-N[f+4>>2]);if(!(k>Q(j+Q(m+Q(b*b))))){break e}N[d+12>>2]=N[e+20>>2];N[d+8>>2]=h;N[d+4>>2]=c;N[d>>2]=g;l=K[e+24|0];H[d+16|0]=q&240|(l&4|l<<1&2|l<<2&8);c=N[e+36>>2];b=N[e+28>>2];N[d+32>>2]=N[e+32>>2];N[d+28>>2]=c;N[d+24>>2]=b;J[d+20>>2]=0}ta=e+48|0;if(i){J[a+256>>2]=0;o=N[a+336>>2];p=N[a+340>>2];n=N[a+344>>2];b=N[a+348>>2];m=Q(Q(Q(Q(o*N[a+92>>2])+Q(p*N[a+108>>2]))+Q(n*N[a+124>>2]))+Q(b*N[a+140>>2]));N[a+252>>2]=m;j=Q(Q(Q(Q(o*N[a+88>>2])+Q(p*N[a+104>>2]))+Q(n*N[a+120>>2]))+Q(b*N[a+136>>2]));N[a+248>>2]=j;h=Q(Q(Q(Q(o*N[a+84>>2])+Q(p*N[a+100>>2]))+Q(n*N[a+116>>2]))+Q(b*N[a+132>>2]));N[a+244>>2]=h;J[a+288>>2]=0;J[a+272>>2]=0;g=Q(Q(Q(Q(o*N[a+164>>2])+Q(p*N[a+180>>2]))+Q(n*N[a+196>>2]))+Q(b*N[a+212>>2]));N[a+260>>2]=g;c=Q(Q(Q(Q(o*N[a+168>>2])+Q(p*N[a+184>>2]))+Q(n*N[a+200>>2]))+Q(b*N[a+216>>2]));N[a+264>>2]=c;b=Q(Q(Q(Q(o*N[a+172>>2])+Q(p*N[a+188>>2]))+Q(n*N[a+204>>2]))+Q(b*N[a+220>>2]));N[a+268>>2]=b;N[a+276>>2]=h-g;N[a+280>>2]=j-c;N[a+284>>2]=m-b;Pc(a,y);if(!(N[a+344>>2]>=Q(0))|(!(N[a+336>>2]>=Q(0))|!(N[a+340>>2]>=Q(0)))){break b}r=N[a+348>>2]>=Q(0);break b}if(K[a+352|0]){break b}J[a+276>>2]=0;J[a+280>>2]=0;r=1;H[a+312|0]=1;J[a+284>>2]=0;J[a+288>>2]=0;break a}H[a+312|0]=r}ta=f+16|0;return(r|0)!=0}function Ae(a,b,c,d,e,f,g,h){var i=0,j=Q(0),k=0,l=0,m=0,n=Q(0),o=Q(0),p=0,q=Q(0),r=0,s=0,t=Q(0),u=0,v=0,w=0,x=Q(0),y=Q(0),z=Q(0),A=Q(0),B=0,C=Q(0),D=Q(0),E=Q(0),F=Q(0),G=Q(0),I=Q(0),L=Q(0),M=Q(0),O=Q(0),R=0,S=0,T=0,U=Q(0),V=Q(0),W=Q(0),X=Q(0),Y=Q(0),Z=Q(0),_=Q(0),$=Q(0);r=ta-32|0;ta=r;if((J[e+4>>2]&J[e+8>>2])<0){l=J[e+12>>2];if(!(!l|!K[e+16|0])){Fa(l)}H[e+16|0]=1;J[e+8>>2]=0;J[e+12>>2]=0}l=0;J[e+4>>2]=0;v=J[d+4>>2];if((v|0)>J[e+8>>2]){a:{if(!v){break a}l=Ga(v<<4);B=J[e+4>>2];if((B|0)<=0){break a}while(1){k=i<<4;u=k+l|0;k=k+J[e+12>>2]|0;p=J[k+4>>2];J[u>>2]=J[k>>2];J[u+4>>2]=p;p=J[k+12>>2];J[u+8>>2]=J[k+8>>2];J[u+12>>2]=p;i=i+1|0;if((B|0)!=(i|0)){continue}break}}i=J[e+12>>2];if(!(!i|!K[e+16|0])){Fa(i)}J[e+12>>2]=l;H[e+16|0]=1;J[e+8>>2]=v}k=J[b+28>>2];b:{if((k|0)<=0){break b}t=N[c+40>>2];x=N[c+36>>2];z=N[c+24>>2];A=N[c+20>>2];u=J[b+36>>2];C=N[a+8>>2];D=N[a+4>>2];F=N[a>>2];G=N[c+32>>2];I=N[c+16>>2];L=N[c+8>>2];M=N[c+4>>2];y=N[c>>2];i=0;j=Q(34028234663852886e22);l=-1;while(1){v=u+P(i,36)|0;q=N[v+28>>2];o=N[v+20>>2];n=N[v+24>>2];q=Q(Q(Q(Q(t*q)+Q(Q(G*o)+Q(n*x)))*C)+Q(Q(Q(Q(L*q)+Q(Q(y*o)+Q(n*M)))*F)+Q(Q(Q(z*q)+Q(Q(I*o)+Q(n*A)))*D)));v=q>2]+P(l,36)|0;S=J[u+4>>2];if((S|0)>0){i=0;while(1){v=i+1|0;T=(v|0)==(S|0);B=J[b+16>>2];k=J[u+12>>2];l=B+(J[k+((T?0:v)<<2)>>2]<<4)|0;y=N[l+8>>2];E=N[l>>2];O=N[l+4>>2];i=B+(J[k+(i<<2)>>2]<<4)|0;j=N[i+8>>2];q=N[i>>2];o=N[i+4>>2];Z=N[c+56>>2];_=N[c+48>>2];$=N[c+52>>2];z=N[c+40>>2];A=N[c+32>>2];C=N[c+36>>2];n=N[u+28>>2];D=N[c+8>>2];t=N[u+20>>2];F=N[c>>2];x=N[u+24>>2];G=N[c+4>>2];I=N[c+24>>2];L=N[c+16>>2];M=N[c+20>>2];J[r+28>>2]=0;y=Q(j-y);E=Q(q-E);O=Q(o-O);U=Q(Q(D*y)+Q(Q(F*E)+Q(G*O)));V=Q(Q(I*n)+Q(Q(L*t)+Q(M*x)));W=Q(Q(D*n)+Q(Q(F*t)+Q(G*x)));X=Q(Q(I*y)+Q(Q(L*E)+Q(O*M)));Y=Q(Q(U*V)-Q(W*X));N[r+24>>2]=-Y;y=Q(Q(z*y)+Q(Q(A*E)+Q(O*C)));n=Q(Q(z*n)+Q(Q(A*t)+Q(C*x)));E=Q(Q(y*W)-Q(n*U));N[r+20>>2]=-E;y=Q(-Q(Q(X*n)-Q(V*y)));N[r+16>>2]=y;B=0;l=d;R=J[d+4>>2];if((R|0)>=2){d=(J[l+12>>2]+(R<<4)|0)-16|0;n=N[d+8>>2];t=N[d>>2];x=N[d+4>>2];D=Q(-Q(Q(Q(Q(_+Q(Q(j*D)+Q(Q(q*F)+Q(o*G))))*y)-Q(Q($+Q(Q(j*I)+Q(Q(q*L)+Q(o*M))))*E))-Q(Q(Z+Q(Q(j*z)+Q(Q(q*A)+Q(o*C))))*Y)));j=Q(Q(Q(N[r+24>>2]*n)+Q(Q(N[r+16>>2]*t)+Q(x*N[r+20>>2])))+D);while(1){d=J[l+12>>2]+(B<<4)|0;q=N[d+8>>2];A=N[d>>2];o=N[d+4>>2];z=Q(Q(Q(N[r+24>>2]*q)+Q(Q(N[r+16>>2]*A)+Q(o*N[r+20>>2])))+D);C=N[d+12>>2];c:{d:{e:{if(j>2];f:{if((d|0)!=J[e+8>>2]){break f}p=d?d<<1:1;if((p|0)<=(d|0)){break f}i=0;k=0;if(p){k=Ga(p<<4);d=J[e+4>>2]}if((d|0)>0){while(1){m=i<<4;s=m+k|0;m=m+J[e+12>>2]|0;w=J[m+4>>2];J[s>>2]=J[m>>2];J[s+4>>2]=w;w=J[m+12>>2];J[s+8>>2]=J[m+8>>2];J[s+12>>2]=w;i=i+1|0;if((i|0)!=(d|0)){continue}break}}d=J[e+12>>2];if(!(!d|!K[e+16|0])){Fa(d)}J[e+12>>2]=k;H[e+16|0]=1;J[e+8>>2]=p;d=J[e+4>>2]}i=J[e+12>>2]+(d<<4)|0;break e}j=Q(j/Q(j-z));C=Q(Q(q-n)*j);F=Q(Q(o-x)*j);t=Q(Q(Q(A-t)*j)+t);d=J[e+4>>2];g:{if((d|0)!=J[e+8>>2]){break g}p=d?d<<1:1;if((p|0)<=(d|0)){break g}i=0;k=0;if(p){k=Ga(p<<4);d=J[e+4>>2]}if((d|0)>0){while(1){m=i<<4;s=m+k|0;m=m+J[e+12>>2]|0;w=J[m+4>>2];J[s>>2]=J[m>>2];J[s+4>>2]=w;w=J[m+12>>2];J[s+8>>2]=J[m+8>>2];J[s+12>>2]=w;i=i+1|0;if((i|0)!=(d|0)){continue}break}}d=J[e+12>>2];if(!(!d|!K[e+16|0])){Fa(d)}J[e+12>>2]=k;H[e+16|0]=1;J[e+8>>2]=p;d=J[e+4>>2]}j=Q(C+n);i=J[e+12>>2]+(d<<4)|0;N[i>>2]=t;C=Q(0);n=Q(F+x);break d}if(!(z>2];h:{if((d|0)!=J[e+8>>2]){break h}p=d?d<<1:1;if((p|0)<=(d|0)){break h}i=0;k=0;if(p){k=Ga(p<<4);d=J[e+4>>2]}if((d|0)>0){while(1){m=i<<4;s=m+k|0;m=m+J[e+12>>2]|0;w=J[m+4>>2];J[s>>2]=J[m>>2];J[s+4>>2]=w;w=J[m+12>>2];J[s+8>>2]=J[m+8>>2];J[s+12>>2]=w;i=i+1|0;if((i|0)!=(d|0)){continue}break}}d=J[e+12>>2];if(!(!d|!K[e+16|0])){Fa(d)}J[e+12>>2]=k;H[e+16|0]=1;J[e+8>>2]=p;d=J[e+4>>2]}d=J[e+12>>2]+(d<<4)|0;J[d+12>>2]=0;N[d+8>>2]=n;N[d+4>>2]=x;N[d>>2]=j;d=J[e+4>>2]+1|0;J[e+4>>2]=d;i:{if(J[e+8>>2]!=(d|0)){break i}p=d?d<<1:1;if((p|0)<=(d|0)){break i}i=0;k=0;if(p){k=Ga(p<<4);d=J[e+4>>2]}if((d|0)>0){while(1){m=i<<4;s=m+k|0;m=m+J[e+12>>2]|0;w=J[m+4>>2];J[s>>2]=J[m>>2];J[s+4>>2]=w;w=J[m+12>>2];J[s+8>>2]=J[m+8>>2];J[s+12>>2]=w;i=i+1|0;if((i|0)!=(d|0)){continue}break}}d=J[e+12>>2];if(!(!d|!K[e+16|0])){Fa(d)}J[e+12>>2]=k;H[e+16|0]=1;J[e+8>>2]=p;d=J[e+4>>2]}i=J[e+12>>2]+(d<<4)|0}N[i>>2]=A;j=q;n=o}N[i+12>>2]=C;N[i+8>>2]=j;N[i+4>>2]=n;J[e+4>>2]=J[e+4>>2]+1}j=z;n=q;x=o;t=A;B=B+1|0;if((R|0)!=(B|0)){continue}break}}i=J[l+4>>2];if((i|0)<0){if(J[l+8>>2]<0){d=J[l+12>>2];if(!(!d|!K[l+16|0])){Fa(d)}H[l+16|0]=1;J[l+8>>2]=0;J[l+12>>2]=0}while(1){k=J[r+4>>2];d=J[l+12>>2]+(i<<4)|0;J[d>>2]=J[r>>2];J[d+4>>2]=k;k=J[r+12>>2];J[d+8>>2]=J[r+8>>2];J[d+12>>2]=k;i=i+1|0;if(i){continue}break}}J[l+4>>2]=0;d=e;i=v;e=l;if(!T){continue}break}}l=J[d+4>>2];if((l|0)<=0){break b}j=N[u+28>>2];q=N[u+20>>2];o=N[u+24>>2];n=Q(Q(N[c+40>>2]*j)+Q(Q(N[c+32>>2]*q)+Q(o*N[c+36>>2])));t=Q(Q(N[c+8>>2]*j)+Q(Q(N[c>>2]*q)+Q(o*N[c+4>>2])));j=Q(Q(N[c+24>>2]*j)+Q(Q(N[c+16>>2]*q)+Q(o*N[c+20>>2])));q=Q(N[u+32>>2]-Q(Q(n*N[c+56>>2])+Q(Q(t*N[c+48>>2])+Q(j*N[c+52>>2]))));c=0;while(1){b=J[d+12>>2]+(c<<4)|0;o=Q(q+Q(Q(n*N[b+8>>2])+Q(Q(t*N[b>>2])+Q(j*N[b+4>>2]))));o=f>=o?f:o;if(o<=g){e=J[b+12>>2];J[r+24>>2]=J[b+8>>2];J[r+28>>2]=e;e=J[b+4>>2];J[r+16>>2]=J[b>>2];J[r+20>>2]=e;va[J[J[h>>2]+16>>2]](h,a,r+16|0,o);l=J[d+4>>2]}c=c+1|0;if((l|0)>(c|0)){continue}break}}ta=r+32|0}function Lj(a,b,c,d,e,f,g,h,i,j){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=Q(0),l=Q(0),m=Q(0),n=Q(0),o=0,p=Q(0),q=0,r=Q(0),s=Q(0),t=Q(0),u=0,v=0,w=0,x=Q(0),y=Q(0),z=Q(0),A=Q(0),B=Q(0),C=0,D=Q(0),E=0,F=0;a=ta-4240|0;ta=a;F=J[c+4>>2]-17>>>0<=1?J[d+4>>2]-17>>>0<2:F;while(1){bc();q=w<<4;k=N[q+36600>>2];n=N[q+36592>>2];l=N[q+36596>>2];r=N[e+32>>2];s=N[e>>2];t=N[e+16>>2];p=N[e+36>>2];x=N[e+4>>2];y=N[e+20>>2];z=N[e+40>>2];m=N[e+8>>2];A=N[e+24>>2];u=q+(a+1264|0)|0;J[u+12>>2]=0;B=m;m=Q(-n);N[u+8>>2]=Q(Q(B*m)-Q(A*l))-Q(z*k);N[u+4>>2]=Q(Q(x*m)-Q(y*l))-Q(p*k);N[u>>2]=Q(Q(s*m)-Q(t*l))-Q(r*k);m=N[f+32>>2];r=N[f>>2];s=N[f+16>>2];t=N[f+36>>2];p=N[f+4>>2];x=N[f+20>>2];y=N[f+40>>2];z=N[f+8>>2];A=N[f+24>>2];q=q+(a+272|0)|0;J[q+12>>2]=0;N[q+8>>2]=Q(y*k)+Q(Q(z*n)+Q(l*A));N[q+4>>2]=Q(t*k)+Q(Q(p*n)+Q(l*x));N[q>>2]=Q(m*k)+Q(Q(r*n)+Q(l*s));w=w+1|0;if((w|0)!=42){continue}break}q=42;E=va[J[J[c>>2]+84>>2]](c)|0;if((E|0)>0){u=a+3256|0;w=0;while(1){va[J[J[c>>2]+88>>2]](c,w,a+3248|0);m=N[e+8>>2];r=N[e>>2];s=N[e+4>>2];t=N[e+24>>2];p=N[e+16>>2];x=N[e+20>>2];k=N[u>>2];l=N[a+3248>>2];n=N[a+3252>>2];N[u>>2]=Q(N[e+40>>2]*k)+Q(Q(N[e+32>>2]*l)+Q(n*N[e+36>>2]));J[a+3260>>2]=0;N[a+3252>>2]=Q(t*k)+Q(Q(p*l)+Q(n*x));N[a+3248>>2]=Q(m*k)+Q(Q(r*l)+Q(s*n));bc();C=J[u+4>>2];o=q<<4;v=o+36600|0;J[v>>2]=J[u>>2];J[v+4>>2]=C;C=J[a+3252>>2];v=o+36592|0;J[v>>2]=J[a+3248>>2];J[v+4>>2]=C;r=N[e+40>>2];s=N[e+8>>2];t=N[e+24>>2];p=N[e+36>>2];x=N[e+4>>2];y=N[e+20>>2];l=N[e+32>>2];k=N[e>>2];z=N[e+16>>2];v=o+(a+1264|0)|0;J[v+12>>2]=0;n=N[a+3248>>2];m=Q(-n);D=Q(k*m);k=N[a+3252>>2];B=l;l=N[u>>2];N[v>>2]=Q(D-Q(z*k))-Q(B*l);N[v+4>>2]=Q(Q(x*m)-Q(y*k))-Q(p*l);N[v+8>>2]=Q(Q(s*m)-Q(t*k))-Q(r*l);m=N[f+32>>2];r=N[f>>2];s=N[f+16>>2];t=N[f+36>>2];p=N[f+4>>2];x=N[f+20>>2];y=N[f+40>>2];z=N[f+8>>2];A=N[f+24>>2];o=o+(a+272|0)|0;J[o+12>>2]=0;N[o+8>>2]=Q(y*l)+Q(Q(z*n)+Q(k*A));N[o+4>>2]=Q(t*l)+Q(Q(p*n)+Q(k*x));N[o>>2]=Q(m*l)+Q(Q(r*n)+Q(k*s));q=q+1|0;w=w+1|0;if((E|0)!=(w|0)){continue}break}}E=va[J[J[d>>2]+84>>2]](d)|0;if((E|0)>0){u=a+3256|0;w=0;while(1){va[J[J[d>>2]+88>>2]](d,w,a+3248|0);m=N[f+8>>2];r=N[f>>2];s=N[f+4>>2];t=N[f+24>>2];p=N[f+16>>2];x=N[f+20>>2];k=N[u>>2];l=N[a+3248>>2];n=N[a+3252>>2];N[u>>2]=Q(N[f+40>>2]*k)+Q(Q(N[f+32>>2]*l)+Q(n*N[f+36>>2]));J[a+3260>>2]=0;N[a+3252>>2]=Q(t*k)+Q(Q(p*l)+Q(n*x));N[a+3248>>2]=Q(m*k)+Q(Q(r*l)+Q(s*n));bc();C=J[u+4>>2];o=q<<4;v=o+36600|0;J[v>>2]=J[u>>2];J[v+4>>2]=C;C=J[a+3252>>2];v=o+36592|0;J[v>>2]=J[a+3248>>2];J[v+4>>2]=C;r=N[e+40>>2];s=N[e+8>>2];t=N[e+24>>2];p=N[e+36>>2];x=N[e+4>>2];y=N[e+20>>2];l=N[e+32>>2];k=N[e>>2];z=N[e+16>>2];v=o+(a+1264|0)|0;J[v+12>>2]=0;n=N[a+3248>>2];m=Q(-n);D=Q(k*m);k=N[a+3252>>2];B=l;l=N[u>>2];N[v>>2]=Q(D-Q(z*k))-Q(B*l);N[v+4>>2]=Q(Q(x*m)-Q(y*k))-Q(p*l);N[v+8>>2]=Q(Q(s*m)-Q(t*k))-Q(r*l);m=N[f+32>>2];r=N[f>>2];s=N[f+16>>2];t=N[f+36>>2];p=N[f+4>>2];x=N[f+20>>2];y=N[f+40>>2];z=N[f+8>>2];A=N[f+24>>2];o=o+(a+272|0)|0;J[o+12>>2]=0;N[o+8>>2]=Q(y*l)+Q(Q(z*n)+Q(k*A));N[o+4>>2]=Q(t*l)+Q(Q(p*n)+Q(k*x));N[o>>2]=Q(m*l)+Q(Q(r*n)+Q(k*s));q=q+1|0;w=w+1|0;if((E|0)!=(w|0)){continue}break}}va[J[J[c>>2]+76>>2]](c,a+1264|0,a+3248|0,q);va[J[J[d>>2]+76>>2]](d,a+272|0,a+2256|0,q);a:{if((q|0)<=0){m=Q(0xde0b6b000000000);k=Q(0);l=Q(0);n=Q(0);x=Q(0);break a}w=0;m=Q(0xde0b6b000000000);x=Q(0);n=Q(0);l=Q(0);k=Q(0);while(1){bc();u=w<<4;r=F?Q(0):N[u+36600>>2];s=N[u+36592>>2];t=N[u+36596>>2];b:{if(!(+Q(Q(r*r)+Q(Q(s*s)+Q(t*t)))>.01)){break b}o=u+(a+2256|0)|0;p=N[o+8>>2];y=N[o>>2];z=N[o+4>>2];o=u+(a+3248|0)|0;A=N[o+8>>2];D=N[o>>2];B=N[o+4>>2];p=Q(Q(r*(F?Q(0):Q(Q(Q(Q(p*N[f+40>>2])+Q(Q(y*N[f+32>>2])+Q(z*N[f+36>>2])))+N[f+56>>2])-Q(Q(Q(A*N[e+40>>2])+Q(Q(D*N[e+32>>2])+Q(B*N[e+36>>2])))+N[e+56>>2]))))+Q(Q(s*Q(Q(Q(Q(p*N[f+8>>2])+Q(Q(y*N[f>>2])+Q(z*N[f+4>>2])))+N[f+48>>2])-Q(Q(Q(A*N[e+8>>2])+Q(Q(D*N[e>>2])+Q(B*N[e+4>>2])))+N[e+48>>2])))+Q(t*Q(Q(Q(Q(p*N[f+24>>2])+Q(Q(y*N[f+16>>2])+Q(z*N[f+20>>2])))+N[f+52>>2])-Q(Q(Q(A*N[e+24>>2])+Q(Q(D*N[e+16>>2])+Q(B*N[e+20>>2])))+N[e+52>>2])))));if(!(p>2];k=s;l=t;n=r;m=p}w=w+1|0;if((w|0)!=(q|0)){continue}break}}Kb(c);Kb(d);q=0;if(!(m>2];p=N[e+56>>2];y=N[e+48>>2];d=J[e+12>>2];c=a- -64|0;J[c>>2]=J[e+8>>2];J[c+4>>2]=d;c=J[e+4>>2];J[a+56>>2]=J[e>>2];J[a+60>>2]=c;c=J[e+28>>2];J[a+80>>2]=J[e+24>>2];J[a+84>>2]=c;c=J[e+20>>2];J[a+72>>2]=J[e+16>>2];J[a+76>>2]=c;c=J[e+40>>2];d=J[e+44>>2];w=J[e+32>>2];e=J[e+36>>2];J[a+116>>2]=0;J[a+96>>2]=c;J[a+100>>2]=d;m=Q(m+Q(Q(r+s)+Q(.5)));N[a+112>>2]=p+Q(n*m);N[a+108>>2]=t+Q(l*m);J[a+88>>2]=w;J[a+92>>2]=e;N[a+104>>2]=y+Q(k*m);c=J[f+12>>2];J[a+128>>2]=J[f+8>>2];J[a+132>>2]=c;c=J[f+4>>2];J[a+120>>2]=J[f>>2];J[a+124>>2]=c;c=J[f+28>>2];J[a+144>>2]=J[f+24>>2];J[a+148>>2]=c;c=J[f+20>>2];J[a+136>>2]=J[f+16>>2];J[a+140>>2]=c;c=J[f+44>>2];J[a+160>>2]=J[f+40>>2];J[a+164>>2]=c;c=J[f+36>>2];J[a+152>>2]=J[f+32>>2];J[a+156>>2]=c;c=J[f+60>>2];J[a+176>>2]=J[f+56>>2];J[a+180>>2]=c;c=J[f+52>>2];J[a+168>>2]=J[f+48>>2];J[a+172>>2]=c;J[a+184>>2]=1566444395;H[a+52|0]=0;J[a+12>>2]=22944;J[b+16>>2]=0;N[b+12>>2]=-n;N[b+8>>2]=-l;N[b+4>>2]=-k;fb(b,a+56|0,a+12|0,j,0);b=K[a+52|0];if(b){r=N[a+36>>2];s=N[a+40>>2];t=N[a+32>>2];p=N[a+48>>2];J[h+12>>2]=0;m=Q(m-p);N[h+8>>2]=s-Q(n*m);N[h+4>>2]=r-Q(l*m);N[h>>2]=t-Q(k*m);c=J[a+44>>2];J[i+8>>2]=J[a+40>>2];J[i+12>>2]=c;c=J[a+36>>2];J[i>>2]=J[a+32>>2];J[i+4>>2]=c;N[g+12>>2]=x;N[g+8>>2]=n;N[g+4>>2]=l;N[g>>2]=k}q=(b|0)!=0}ta=a+4240|0;return q|0}function ni(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;t=ta-16|0;ta=t;Na(3650);c=J[a+196>>2];e=J[a+228>>2];if((c|0)<(e|0)){if((e|0)>J[a+200>>2]){if(e){h=Ga(e<<2);d=J[a+196>>2]}else{d=c}if((d|0)>0){while(1){i=g<<2;J[i+h>>2]=J[i+J[a+204>>2]>>2];g=g+1|0;if((d|0)!=(g|0)){continue}break}}d=J[a+204>>2];if(!(!d|!K[a+208|0])){Fa(d)}J[a+204>>2]=h;H[a+208|0]=1;J[a+200>>2]=e}while(1){J[J[a+204>>2]+(c<<2)>>2]=0;c=c+1|0;if((e|0)!=(c|0)){continue}break}}J[a+196>>2]=e;if((va[J[J[a>>2]+104>>2]](a)|0)>0){c=0;while(1){d=c<<2;J[d+J[a+204>>2]>>2]=J[d+J[a+236>>2]>>2];c=c+1|0;if((va[J[J[a>>2]+104>>2]](a)|0)>(c|0)){continue}break}}c=J[a+196>>2];if((c|0)>=2){ee(a+192|0,t+14|0,0,c-1|0)}c=va[J[J[a>>2]+104>>2]](a)|0;d=c?J[a+204>>2]:0;g=J[a+196>>2];c=J[a+212>>2];w=c,x=va[J[J[a>>2]+20>>2]](a)|0,J[w+20>>2]=x;J[c+16>>2]=g;J[c+12>>2]=d;J[c+4>>2]=b;h=J[c+32>>2];if((h|0)<0){if(J[c+36>>2]<0){d=J[c+40>>2];if(!(!d|!K[c+44|0])){Fa(d)}H[c+44|0]=1;J[c+36>>2]=0;J[c+40>>2]=0}while(1){J[J[c+40>>2]+(h<<2)>>2]=0;h=h+1|0;if(h){continue}break}}J[c+32>>2]=0;h=J[c+52>>2];if((h|0)<0){if(J[c+56>>2]<0){d=J[c+60>>2];if(!(!d|!K[c- -64|0])){Fa(d)}H[c+64|0]=1;J[c+56>>2]=0;J[c+60>>2]=0}while(1){J[J[c+60>>2]+(h<<2)>>2]=0;h=h+1|0;if(h){continue}break}}J[c+52>>2]=0;h=J[c+72>>2];if((h|0)<0){if(J[c+76>>2]<0){d=J[c+80>>2];if(!(!d|!K[c+84|0])){Fa(d)}H[c+84|0]=1;J[c+76>>2]=0;J[c+80>>2]=0}while(1){J[J[c+80>>2]+(h<<2)>>2]=0;h=h+1|0;if(h){continue}break}}J[c+72>>2]=0;c=J[a+216>>2];d=J[a+24>>2];x=c,y=J[a+8>>2],z=va[J[J[d>>2]+36>>2]](d)|0,w=J[J[c>>2]+8>>2],va[w](x|0,y|0,z|0);f=J[a+220>>2];k=J[a+24>>2];r=J[a+212>>2];h=0;u=ta-16|0;ta=u;g=0;o=ta-16|0;ta=o;Na(2381);e=J[f+28>>2];if((e|0)<0){if(J[f+32>>2]<0){c=J[f+36>>2];if(!(!c|!K[f+40|0])){Fa(c)}H[f+40|0]=1;J[f+32>>2]=0;J[f+36>>2]=0}while(1){J[J[f+36>>2]+(e<<2)>>2]=0;e=e+1|0;if(e){continue}break}}J[f+28>>2]=0;c=0;m=ta-16|0;ta=m;l=f+4|0;e=J[l+4>>2];a:{if((e|0)<=0){break a}i=J[l+12>>2];while(1){n=i+(c<<3)|0;p=n;d=c;j=J[n>>2];if((j|0)!=(c|0)){while(1){d=i+(j<<3)|0;J[p>>2]=J[d>>2];d=J[d>>2];p=i+(d<<3)|0;j=J[p>>2];if((d|0)!=(j|0)){continue}break}}J[n>>2]=d;c=c+1|0;if((e|0)!=(c|0)){continue}break}if((e|0)<2){break a}le(l,m+15|0,0,e-1|0)}ta=m+16|0;m=J[f+8>>2];if((m|0)>0){while(1){c=g;d=c+1|0;i=(d|0)<(m|0)?m:d;e=i-1|0;l=J[f+16>>2];j=J[l+(c<<3)>>2];while(1){b:{d=g;if((e|0)==(d|0)){d=e;g=i;break b}g=d+1|0;if((j|0)==J[l+(g<<3)>>2]){continue}}break}n=(c|0)>(d|0);c:{if(n){break c}p=J[a+16>>2];i=1;e=c;while(1){s=J[p+(J[(l+(e<<3)|0)+4>>2]<<2)>>2];if((j|0)==J[s+208>>2]){v=i;i=J[s+220>>2];i=v&((i|0)!=4&(i|0)!=1)}s=(d|0)!=(e|0);e=e+1|0;if(s){continue}break}if(i){if(n){break c}while(1){e=J[J[a+16>>2]+(J[(J[f+16>>2]+(c<<3)|0)+4>>2]<<2)>>2];if((j|0)==J[e+208>>2]){hb(e,2)}e=(c|0)==(d|0);c=c+1|0;if(!e){continue}break}break c}while(1){e=c;c=J[J[a+16>>2]+(J[(J[f+16>>2]+(c<<3)|0)+4>>2]<<2)>>2];if(!((j|0)!=J[c+208>>2]|J[c+220>>2]!=2)){hb(c,3);J[c+224>>2]=0}c=e+1|0;if((d|0)!=(e|0)){continue}break}}if((g|0)<(m|0)){continue}break}}m=va[J[J[k>>2]+36>>2]](k)|0;if((m|0)>0){d=0;while(1){j=va[J[J[k>>2]+40>>2]](k,d)|0;c=J[j+840>>2];g=J[j+836>>2];d:{if(!(J[g+220>>2]!=2?g:0)&(!c|J[c+220>>2]==2)){break d}e=J[g+204>>2];if(!(!(e&2)|e&4|J[g+220>>2]==2)){xd(c,0)}e=J[c+204>>2];if(!(!(e&2)|e&4|J[c+220>>2]==2)){xd(g,0)}if(!K[f+64|0]){break d}if(!(va[J[J[k>>2]+28>>2]](k,g,c)|0)){break d}c=J[f+28>>2];e:{if((c|0)!=J[f+32>>2]){break e}i=c?c<<1:1;if((i|0)<=(c|0)){break e}e=0;g=0;if(i){g=Ga(i<<2);c=J[f+28>>2]}if((c|0)>0){while(1){l=e<<2;J[l+g>>2]=J[l+J[f+36>>2]>>2];e=e+1|0;if((e|0)!=(c|0)){continue}break}}e=J[f+36>>2];if(!(!e|!K[f+40|0])){Fa(e);c=J[f+28>>2]}J[f+36>>2]=g;H[f+40|0]=1;J[f+32>>2]=i}J[J[f+36>>2]+(c<<2)>>2]=j;J[f+28>>2]=c+1}d=d+1|0;if((m|0)!=(d|0)){continue}break}}Ma();ta=o+16|0;m=J[f+8>>2];Na(4544);f:{if(!K[f+64|0]){c=va[J[J[k>>2]+44>>2]](k)|0;d=va[J[J[k>>2]+36>>2]](k)|0;va[J[J[r>>2]+8>>2]](r,J[a+16>>2],J[a+8>>2],c,d,-1);break f}k=J[f+28>>2];if((k|0)>=2){je(f+24|0,u+14|0,0,k-1|0)}if((m|0)<=0){break f}c=1;while(1){j=J[J[f+16>>2]+(q<<3)>>2];o=1;while(1){d=J[f+16>>2]+(q<<3)|0;if((j|0)==J[d>>2]){l=J[J[a+16>>2]+(J[d+4>>2]<<2)>>2];d=J[f+48>>2];g:{if((d|0)!=J[f+52>>2]){break g}e=d?d<<1:1;if((e|0)<=(d|0)){break g}g=0;i=0;if(e){i=Ga(e<<2);d=J[f+48>>2]}if((d|0)>0){while(1){n=g<<2;J[n+i>>2]=J[n+J[f+56>>2]>>2];g=g+1|0;if((g|0)!=(d|0)){continue}break}}g=J[f+56>>2];if(!(!g|!K[f+60|0])){Fa(g);d=J[f+48>>2]}J[f+56>>2]=i;H[f+60|0]=1;J[f+52>>2]=e}J[J[f+56>>2]+(d<<2)>>2]=l;J[f+48>>2]=d+1;d=J[l+220>>2];o=((d|0)==2|(d|0)==5)&o;q=q+1|0;if((m|0)>(q|0)){continue}}break}d=0;g=0;h:{if((h|0)>=(k|0)){break h}l=J[f+36>>2];i=l+(h<<2)|0;g=J[i>>2];e=J[J[g+836>>2]+208>>2];if((e|0)<0){e=J[J[g+840>>2]+208>>2]}g=0;if((e|0)!=(j|0)){break h}c=h+1|0;g=(c|0)<(k|0)?k:c;e=g-1|0;c=h;while(1){i:{if((c|0)==(e|0)){c=g;break i}c=c+1|0;n=J[l+(c<<2)>>2];d=J[J[n+836>>2]+208>>2];if((d|0)<0){d=J[J[n+840>>2]+208>>2]}if((d|0)==(j|0)){continue}}break}d=c-h|0;g=i}if(!o){va[J[J[r>>2]+8>>2]](r,J[f+56>>2],J[f+48>>2],g,d,j)}g=J[f+48>>2];if((g|0)<0){if(J[f+52>>2]<0){e=J[f+56>>2];if(!(!e|!K[f+60|0])){Fa(e)}H[f+60|0]=1;J[f+52>>2]=0;J[f+56>>2]=0}while(1){J[J[f+56>>2]+(g<<2)>>2]=0;g=g+1|0;if(g){continue}break}}h=d?c:h;J[f+48>>2]=0;if((m|0)>(q|0)){continue}break}}Ma();ta=u+16|0;de(J[a+212>>2]);c=J[a+216>>2];va[J[J[c>>2]+16>>2]](c,b,J[a+72>>2]);Ma();ta=t+16|0}function yc(a,b,c,d){var e=0,f=0,g=Q(0),h=0,i=Q(0),j=Q(0),k=0,l=Q(0),m=0,n=Q(0),o=Q(0),p=Q(0),q=Q(0),r=Q(0),s=Q(0),t=0,u=Q(0),v=Q(0),w=Q(0),x=Q(0),y=Q(0),z=Q(0),A=Q(0),B=0;e=ta-160|0;ta=e;j=N[b+8>>2];i=N[b>>2];g=N[b+4>>2];a:{if(Q(Q(j*j)+Q(Q(i*i)+Q(g*g)))>2];f=J[k+64>>2];J[e+152>>2]=J[k+60>>2];J[e+156>>2]=f;f=J[k+56>>2];J[e+144>>2]=J[k+52>>2];J[e+148>>2]=f;f=J[k+64>>2];J[e+136>>2]=J[k+60>>2];J[e+140>>2]=f;m=J[k+56>>2];f=J[k+52>>2];N[e+136>>2]=j+N[e+136>>2];J[e+128>>2]=f;J[e+132>>2]=m;N[e+128>>2]=i+N[e+128>>2];N[e+132>>2]=g+N[e+132>>2];b:{c:{if(!d){break c}u=N[e+152>>2];v=N[e+144>>2];w=N[e+148>>2];f=0;J[e+124>>2]=0;g=Q(N[e+136>>2]-u);j=Q(N[e+128>>2]-v);i=Q(N[e+132>>2]-w);o=Q(Y(Q(Q(g*g)+Q(Q(j*j)+Q(i*i)))));if(o<=c){break b}t=a+72|0;d:{while(1){x=g;g=Q(Q(1)/o);y=Q(x*g);N[e+120>>2]=y;z=Q(i*g);N[e+116>>2]=z;p=Q(j*g);N[e+112>>2]=p;if(Q(Q(y*N[b+8>>2])+Q(Q(p*N[b>>2])+Q(z*N[b+4>>2])))<=Q(0)){break b}N[e+100>>2]=o+N[a+36>>2];h=ta-224|0;ta=h;k=J[(K[a+108|0]?104:8)+a>>2];if(!(H[36472]&1)){J[9116]=0;J[9117]=1065353216;J[9114]=0;J[9115]=0;H[36472]=1}q=N[e+100>>2];nb(h+160|0,36456);f=J[e+156>>2];J[h+216>>2]=J[e+152>>2];J[h+220>>2]=f;f=J[e+148>>2];J[h+208>>2]=J[e+144>>2];J[h+212>>2]=f;if(!(H[36472]&1)){J[9116]=0;J[9117]=1065353216;J[9114]=0;J[9115]=0;H[36472]=1}r=N[e+152>>2];j=N[e+136>>2];s=N[e+144>>2];i=N[e+128>>2];l=N[e+148>>2];g=N[e+132>>2];m=h+96|0;nb(m,36456);J[h+156>>2]=0;j=Q(j-r);i=Q(i-s);g=Q(g-l);n=Q(Q(1)/Q(Y(Q(Q(j*j)+Q(Q(i*i)+Q(g*g))))));N[h+152>>2]=r+Q(q*Q(j*n));N[h+148>>2]=l+Q(q*Q(g*n));N[h+144>>2]=s+Q(q*Q(i*n));B=J[a+4>>2];J[h+20>>2]=0;J[h+8>>2]=1065353216;f=J[e+156>>2];J[h+32>>2]=J[e+152>>2];J[h+36>>2]=f;f=J[e+148>>2];J[h+24>>2]=J[e+144>>2];J[h+28>>2]=f;f=J[e+140>>2];J[h+48>>2]=J[e+136>>2];J[h+52>>2]=f;f=J[e+132>>2];J[h+40>>2]=J[e+128>>2];J[h+44>>2]=f;J[h+92>>2]=B;J[h+88>>2]=0;J[h+4>>2]=25600;f=J[B+188>>2];J[h+12>>2]=J[f+4>>2];J[h+16>>2]=J[f+8>>2];f=J[a+12>>2];Pb(f,k,h+160|0,m,h+4|0,N[f+56>>2]);k=J[h+20>>2];if(k){g=N[h+8>>2];f=J[h+76>>2];J[e+68>>2]=J[h+72>>2];J[e+72>>2]=f;f=J[h+84>>2];J[e+76>>2]=J[h+80>>2];J[e+80>>2]=f;m=h- -64|0;f=J[m+4>>2];J[e+92>>2]=J[m>>2];J[e+96>>2]=f;m=J[h+60>>2];f=J[h+56>>2];J[e+104>>2]=k;N[e+100>>2]=q*g;J[e+84>>2]=f;J[e+88>>2]=m;J[e+108>>2]=J[h+88>>2]}ta=h+224|0;if(!k){b=J[e+140>>2];J[e+152>>2]=J[e+136>>2];J[e+156>>2]=b;b=J[e+132>>2];J[e+144>>2]=J[e+128>>2];J[e+148>>2]=b;break c}k=J[a+20>>2];e:{if(!k){break e}m=J[e+104>>2];f=J[m+252>>2];if(f&2){J[e+64>>2]=m;m=J[e+108>>2];J[e+60>>2]=m;J[e+4>>2]=a;f=J[e+96>>2];J[e+32>>2]=J[e+92>>2];J[e+36>>2]=f;f=J[e+88>>2];J[e+24>>2]=J[e+84>>2];J[e+28>>2]=f;f=J[e+80>>2];J[e+16>>2]=J[e+76>>2];J[e+20>>2]=f;f=J[e+72>>2];J[e+8>>2]=J[e+68>>2];J[e+12>>2]=f;f=J[e+124>>2];J[e+48>>2]=J[e+120>>2];J[e+52>>2]=f;f=J[e+116>>2];J[e+40>>2]=J[e+112>>2];J[e+44>>2]=f;N[e+56>>2]=o;if(!m){break e}va[J[J[k>>2]>>2]](k,e+4|0);break e}if(!(f&4)){break e}f=J[m+256>>2];if(!f){break e}J[e+60>>2]=f;J[e+4>>2]=a;f=J[e+96>>2];J[e+32>>2]=J[e+92>>2];J[e+36>>2]=f;f=J[e+88>>2];J[e+24>>2]=J[e+84>>2];J[e+28>>2]=f;f=J[e+80>>2];J[e+16>>2]=J[e+76>>2];J[e+20>>2]=f;f=J[e+72>>2];J[e+8>>2]=J[e+68>>2];J[e+12>>2]=f;f=J[e+124>>2];J[e+48>>2]=J[e+120>>2];J[e+52>>2]=f;f=J[e+116>>2];J[e+40>>2]=J[e+112>>2];J[e+44>>2]=f;N[e+56>>2]=o;va[J[J[k>>2]+4>>2]](k,e+4|0)}g=N[e+100>>2];if(!(!K[a+63|0]|g!=Q(0))){b=0;while(1){Yd(a);b=b+1|0;if((b|0)!=4){continue}break}break d}g=Q(g-N[a+36>>2]);if(g>Q(0)){u=Q(u+Q(y*g));N[e+152>>2]=u;w=Q(w+Q(z*g));N[e+148>>2]=w;v=Q(v+Q(p*g));N[e+144>>2]=v}l=N[a+48>>2];r=N[a+40>>2];s=N[a+44>>2];N[a+68>>2]=Q(N[e+76>>2]*l)+Q(Q(N[e+68>>2]*r)+Q(N[e+72>>2]*s));f=J[e+80>>2];J[a+96>>2]=J[e+76>>2];J[a+100>>2]=f;f=J[e+72>>2];J[a+88>>2]=J[e+68>>2];J[a+92>>2]=f;f=J[e+96>>2];J[t+8>>2]=J[e+92>>2];J[t+12>>2]=f;f=J[e+88>>2];J[t>>2]=J[e+84>>2];J[t+4>>2]=f;if(K[a+61|0]){j=N[a+80>>2];i=N[a+72>>2];g=N[a+76>>2];p=Q(Q(j*l)+Q(Q(i*r)+Q(s*g)));l=Q(j-Q(l*p));j=Q(i-Q(r*p));i=Q(g-Q(s*p));g=Q(Q(l*l)+Q(Q(j*j)+Q(i*i)));if(g>2]=0;g=Q(Q(1)/Q(Y(g)));N[a+80>>2]=l*g;N[a+76>>2]=i*g;N[a+72>>2]=j*g}y=N[e+152>>2];z=N[e+144>>2];p=N[e+128>>2];r=N[e+148>>2];s=N[e+132>>2];i=N[e+120>>2];A=N[t+8>>2];j=N[e+112>>2];o=N[t>>2];n=N[e+116>>2];q=N[t+4>>2];f=J[e+148>>2];J[e+128>>2]=J[e+144>>2];J[e+132>>2]=f;g=N[e+136>>2];f=J[e+156>>2];J[e+136>>2]=J[e+152>>2];J[e+140>>2]=f;l=Q(Q(i*A)+Q(Q(j*o)+Q(q*n)));i=Q(i-Q(Q(A+A)*l));x=i;j=Q(j-Q(Q(o+o)*l));n=Q(n-Q(Q(q+q)*l));i=Q(Q(1)/Q(Y(Q(Q(i*i)+Q(Q(j*j)+Q(n*n))))));l=Q(x*i);j=Q(j*i);i=Q(n*i);n=Q(Q(l*A)+Q(Q(j*o)+Q(q*i)));g=Q(g-y);x=Q(g*g);g=Q(p-z);p=Q(g*g);g=Q(s-r);g=Q(Y(Q(x+Q(p+Q(g*g)))));N[e+128>>2]=Q(g*Q(Q(j-Q(o*n))*Q(1)))+N[e+128>>2];N[e+132>>2]=Q(g*Q(Q(i-Q(q*n))*Q(1)))+N[e+132>>2];N[e+136>>2]=Q(g*Q(Q(l-Q(A*n))*Q(1)))+N[e+136>>2];d=d-1|0;if(d){J[e+124>>2]=0;f=1;g=Q(N[e+136>>2]-u);j=Q(N[e+128>>2]-v);i=Q(N[e+132>>2]-w);o=Q(Y(Q(Q(g*g)+Q(Q(j*j)+Q(i*i)))));if(o<=c){break b}continue}break}f=1;break b}f=1;break a}f=0}b=J[a+4>>2];a=J[e+156>>2];J[b+60>>2]=J[e+152>>2];J[b+64>>2]=a;a=J[e+148>>2];J[b+52>>2]=J[e+144>>2];J[b+56>>2]=a}ta=e+160|0;return f}function Kf(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=Q(0),g=Q(0),h=Q(0),i=Q(0),j=Q(0),k=0,l=0,m=Q(0),n=Q(0),o=Q(0),p=Q(0),q=Q(0),r=Q(0),s=Q(0),t=Q(0),u=Q(0),v=Q(0),w=Q(0),x=Q(0),y=Q(0),z=0,A=Q(0),B=Q(0),C=Q(0),D=0,E=Q(0),F=Q(0),G=Q(0),H=Q(0),I=Q(0),K=Q(0),L=0,M=Q(0),O=Q(0),P=0;d=ta-144|0;ta=d;J[d+108>>2]=0;g=N[b+80>>2];j=N[b+96>>2];y=N[b+120>>2];B=N[b+56>>2];t=N[b+112>>2];I=N[b+116>>2];A=N[b+52>>2];o=N[b+68>>2];u=N[b+84>>2];n=N[b+100>>2];m=N[b+20>>2];r=N[b+36>>2];h=N[b+72>>2];f=N[b+88>>2];s=N[b+24>>2];i=N[b+104>>2];v=N[b+40>>2];p=N[b+64>>2];w=N[b+32>>2];x=N[b>>2];F=N[b+16>>2];K=N[b+48>>2];C=N[b+4>>2];E=N[b+8>>2];J[d+104>>2]=0;J[d+88>>2]=0;J[d+72>>2]=0;N[d+84>>2]=Q(i*v)+Q(Q(h*E)+Q(s*f));N[d+80>>2]=Q(i*r)+Q(Q(h*C)+Q(m*f));N[d+68>>2]=Q(n*v)+Q(Q(o*E)+Q(s*u));N[d- -64>>2]=Q(n*r)+Q(Q(o*C)+Q(m*u));y=Q(B-y);B=Q(K-t);t=Q(A-I);N[d+100>>2]=Q(i*y)+Q(Q(h*B)+Q(f*t));N[d+96>>2]=Q(n*y)+Q(Q(o*B)+Q(t*u));J[d+56>>2]=0;N[d+76>>2]=Q(i*w)+Q(Q(h*x)+Q(F*f));N[d+60>>2]=Q(n*w)+Q(Q(o*x)+Q(F*u));N[d+52>>2]=Q(j*v)+Q(Q(p*E)+Q(g*s));N[d+48>>2]=Q(j*r)+Q(Q(p*C)+Q(g*m));N[d+44>>2]=Q(j*w)+Q(Q(p*x)+Q(g*F));N[d+92>>2]=Q(j*y)+Q(Q(p*B)+Q(t*g));D=d+92|0;j=N[a+12>>2];k=ta-48|0;ta=k;z=J[a+8>>2];g=N[z+64>>2];h=Q(N[z+80>>2]-g);o=N[z+68>>2];f=Q(N[z+100>>2]-o);i=Q(N[z+96>>2]-g);n=Q(N[z+84>>2]-o);u=Q(Q(h*f)-Q(i*n));A=n;n=N[z+72>>2];m=Q(N[z+104>>2]-n);q=f;f=Q(N[z+88>>2]-n);p=Q(Q(A*m)-Q(q*f));h=Q(Q(f*i)-Q(m*h));f=Q(Q(u*u)+Q(Q(p*p)+Q(h*h)));a:{if(!(f>=Q(14210854715202004e-30))){break a}l=J[a+4>>2];F=Q(N[l+36>>2]*N[l+20>>2]);j=Q(F+j);v=N[D+8>>2];i=Q(v-n);n=Q(Q(1)/Q(Y(f)));m=Q(u*n);w=N[D>>2];r=Q(p*n);s=Q(h*n);x=N[D+4>>2];g=Q(Q(i*m)+Q(Q(Q(w-g)*r)+Q(s*Q(x-o))));if(g>2];J[k+40>>2]=J[D+8>>2];J[k+44>>2]=l;l=J[D+4>>2];J[k+32>>2]=J[D>>2];J[k+36>>2]=l;J[k+28>>2]=0;N[k+24>>2]=m;N[k+20>>2]=s;N[k+16>>2]=r;l=z- -64|0;C=N[l+32>>2];E=N[l+40>>2];y=N[l+24>>2];B=Q(E-y);t=N[l+16>>2];G=Q(C-t);h=N[k+20>>2];f=N[k+16>>2];I=N[l+36>>2];A=N[l+20>>2];i=Q(I-A);K=N[k+40>>2];H=Q(Q(Q(G*h)-Q(f*i))*Q(K-y));q=i;i=N[k+24>>2];M=N[k+32>>2];O=N[k+36>>2];B=Q(H+Q(Q(Q(Q(q*i)-Q(h*B))*Q(M-t))+Q(Q(O-A)*Q(Q(B*f)-Q(i*G)))));q=y;y=N[l+8>>2];G=Q(q-y);q=t;t=N[l>>2];H=Q(q-t);q=A;A=N[l+4>>2];q=Q(q-A);G=Q(Q(Q(Q(H*h)-Q(f*q))*Q(K-y))+Q(Q(Q(Q(q*i)-Q(h*G))*Q(M-t))+Q(Q(O-A)*Q(Q(G*f)-Q(i*H)))));t=Q(t-C);A=Q(A-I);H=Q(Q(Q(t*h)-Q(f*A))*Q(K-E));q=h;h=Q(y-E);h=Q(H+Q(Q(Q(Q(A*i)-Q(q*h))*Q(M-C))+Q(Q(O-I)*Q(Q(h*f)-Q(i*t)))));b:{if(!(!(h>Q(0))|!(G>Q(0)))){l=1;if(B>Q(0)){break b}}l=G<=Q(0)&B<=Q(0)&h<=Q(0)}c:{if(l){o=Q(v-Q(g*m));u=Q(x-Q(g*s));n=Q(w-Q(g*r));g=Q(j*j);p=Q(0);break c}if((va[J[J[z>>2]+100>>2]](z)|0)<=0){break a}g=Q(j*j);z=0;while(1){L=J[a+8>>2];l=k+16|0;va[J[J[L>>2]+104>>2]](L,z,l,k);j=Q(0);C=N[l+8>>2];v=Q(N[k+8>>2]-C);h=Q(N[D+8>>2]-C);E=N[l>>2];w=Q(N[k>>2]-E);f=Q(N[D>>2]-E);y=N[l+4>>2];i=Q(N[D+4>>2]-y);x=Q(N[k+4>>2]-y);B=Q(Q(v*h)+Q(Q(w*f)+Q(i*x)));d:{if(!(B>Q(0))){break d}j=Q(Q(v*v)+Q(Q(w*w)+Q(x*x)));if(j>B){j=Q(B/j);h=Q(h-Q(v*j));i=Q(i-Q(x*j));f=Q(f-Q(w*j));break d}h=Q(h-v);i=Q(i-x);f=Q(f-w);j=Q(1)}J[k+44>>2]=0;N[k+40>>2]=C+Q(v*j);N[k+36>>2]=y+Q(x*j);N[k+32>>2]=E+Q(w*j);if(Q(Q(h*h)+Q(Q(f*f)+Q(i*i)))>2];u=N[k+36>>2];n=N[k+32>>2];o=N[k+40>>2]}l=J[a+8>>2];z=z+1|0;if((va[J[J[l>>2]+100>>2]](l)|0)>(z|0)){continue}break}L=0;if(!P){break a}v=N[D+8>>2];x=N[D+4>>2];w=N[D>>2]}i=g;g=Q(v-o);j=Q(w-n);h=Q(x-u);f=Q(Q(g*g)+Q(Q(j*j)+Q(h*h)));if(!(i>f)){break a}e:{if(f>Q(1.1920928955078125e-7)){J[d+124>>2]=0;i=g;f=Q(Y(f));g=Q(Q(1)/f);N[d+120>>2]=i*g;N[d+116>>2]=h*g;N[d+112>>2]=j*g;F=Q(F-f);break e}J[d+124>>2]=0;N[d+120>>2]=m;N[d+116>>2]=s;N[d+112>>2]=r}N[d+140>>2]=p;N[d+136>>2]=o;N[d+132>>2]=u;N[d+128>>2]=n;N[d+108>>2]=-F;L=1}ta=k+48|0;f:{if(!L){break f}if(e){u=N[b+72>>2];n=N[b+64>>2];h=N[b+68>>2];f=N[b+88>>2];i=N[b+80>>2];p=N[b+84>>2];m=N[b+104>>2];r=N[b+96>>2];s=N[b+100>>2];g=N[d+120>>2];j=N[d+112>>2];o=N[d+116>>2];J[d+40>>2]=0;v=Q(Q(m*g)+Q(Q(r*j)+Q(o*s)));N[d+36>>2]=-v;w=Q(Q(f*g)+Q(Q(i*j)+Q(o*p)));N[d+32>>2]=-w;x=Q(Q(u*g)+Q(Q(n*j)+Q(h*o)));N[d+28>>2]=-x;F=N[b+112>>2];C=N[b+116>>2];g=N[b+120>>2];J[d+24>>2]=0;j=N[d+136>>2];q=Q(m*j);o=N[d+128>>2];m=N[d+132>>2];q=Q(g+Q(q+Q(Q(r*o)+Q(s*m))));g=N[d+108>>2];N[d+20>>2]=q+Q(v*g);N[d+16>>2]=Q(C+Q(Q(j*f)+Q(Q(o*i)+Q(p*m))))+Q(w*g);N[d+12>>2]=Q(F+Q(Q(j*u)+Q(Q(o*n)+Q(h*m))))+Q(x*g);va[J[J[c>>2]+16>>2]](c,d+28|0,d+12|0,g);break f}g=N[b+72>>2];j=N[b+64>>2];o=N[b+68>>2];u=N[b+88>>2];n=N[b+80>>2];h=N[b+84>>2];f=N[b+104>>2];i=N[b+96>>2];p=N[b+100>>2];J[d+40>>2]=0;m=N[d+120>>2];r=N[d+112>>2];s=N[d+116>>2];N[d+36>>2]=Q(f*m)+Q(Q(i*r)+Q(p*s));N[d+32>>2]=Q(u*m)+Q(Q(n*r)+Q(s*h));N[d+28>>2]=Q(g*m)+Q(Q(j*r)+Q(o*s));m=N[b+112>>2];r=N[b+116>>2];s=N[b+120>>2];J[d+24>>2]=0;t=f;f=N[d+136>>2];A=i;i=N[d+128>>2];q=p;p=N[d+132>>2];N[d+20>>2]=s+Q(Q(t*f)+Q(Q(A*i)+Q(q*p)));N[d+16>>2]=r+Q(Q(f*u)+Q(Q(i*n)+Q(h*p)));N[d+12>>2]=m+Q(Q(f*g)+Q(Q(i*j)+Q(o*p)));va[J[J[c>>2]+16>>2]](c,d+28|0,d+12|0,N[d+108>>2])}ta=d+144|0}function Qc(a,b){var c=Q(0),d=Q(0),e=Q(0),f=Q(0),g=Q(0),h=Q(0),i=Q(0),j=Q(0),k=0,l=Q(0),m=Q(0),n=Q(0),o=Q(0),p=Q(0),q=Q(0),r=Q(0),s=Q(0),t=Q(0),u=Q(0),v=Q(0),w=Q(0),x=0,y=Q(0),z=Q(0),A=Q(0),B=Q(0),C=Q(0),D=Q(0),E=Q(0),F=Q(0),G=Q(0),H=Q(0),I=Q(0),L=Q(0),M=Q(0),O=Q(0),S=0,T=Q(0),U=Q(0),V=Q(0),W=Q(0),X=Q(0),Y=Q(0),Z=Q(0),_=Q(0),$=Q(0),aa=Q(0),ba=Q(0),ca=Q(0),da=Q(0),ea=0;k=J[a+844>>2];a:{if((k|0)==4){i=N[b+80>>2];k=-1;while(1){c=N[(P(x,208)+a|0)+84>>2];S=c>2];o=N[a+428>>2];i=Q(n-o);v=N[a+632>>2];e=N[a+424>>2];d=Q(v-e);w=N[a+628>>2];q=N[a+420>>2];l=Q(w-q);h=N[b+8>>2];g=N[b+4>>2];j=N[b>>2];break e}j=N[b>>2];s=N[a+212>>2];c=Q(j-s);v=N[a+632>>2];e=N[a+424>>2];d=Q(v-e);w=N[a+628>>2];q=N[a+420>>2];l=Q(w-q);g=N[b+4>>2];t=N[a+216>>2];h=Q(g-t);i=Q(Q(c*d)-Q(l*h));m=Q(i*i);n=N[a+636>>2];o=N[a+428>>2];i=Q(n-o);p=Q(h*i);h=N[b+8>>2];u=N[a+220>>2];f=Q(h-u);p=Q(p-Q(d*f));c=Q(Q(f*l)-Q(i*c));da=Q(m+Q(Q(p*p)+Q(c*c)));if((k|0)!=1){break e}j=Q(j-N[a+4>>2]);f=Q(-j);g=Q(g-N[a+8>>2]);p=Q(-g);h=Q(h-N[a+12>>2]);r=Q(-h);l=Q(0);break d}f:{g:{h:{i:{if(!k){j=N[a+428>>2];i=N[a+636>>2];l=Q(j-i);g=N[a+424>>2];d=N[a+632>>2];y=Q(g-d);h=N[a+420>>2];n=N[a+628>>2];A=Q(h-n);u=N[b+4>>2];G=Q(u-d);W=Q(-G);t=N[b>>2];z=Q(t-n);X=Q(-z);s=N[b+8>>2];H=Q(s-i);Y=Q(-H);D=Q(t-h);C=Q(-D);E=Q(s-j);V=Q(-E);F=Q(u-g);c=Q(-F);break i}t=N[b>>2];f=N[a+212>>2];I=Q(t-f);g=N[a+424>>2];d=N[a+632>>2];y=Q(g-d);h=N[a+420>>2];n=N[a+628>>2];A=Q(h-n);u=N[b+4>>2];p=N[a+216>>2];L=Q(u-p);c=Q(Q(I*y)-Q(A*L));e=Q(c*c);j=N[a+428>>2];i=N[a+636>>2];l=Q(j-i);s=N[b+8>>2];r=N[a+220>>2];M=Q(s-r);c=Q(Q(L*l)-Q(y*M));o=Q(c*c);c=Q(Q(M*A)-Q(l*I));o=Q(e+Q(o+Q(c*c)));D=Q(t-h);B=Q(p-d);c=Q(f-n);F=Q(u-g);e=Q(Q(D*B)-Q(c*F));q=Q(e*e);C=Q(r-i);E=Q(s-j);e=Q(Q(F*C)-Q(B*E));m=Q(e*e);e=Q(Q(E*c)-Q(C*D));e=Q(q+Q(m+Q(e*e)));o=e>2];v=Q(t-o);e=N[a+8>>2];w=Q(u-e);f=Q(Q(v*y)-Q(A*w));m=Q(f*f);q=N[a+12>>2];O=Q(s-q);f=Q(Q(w*l)-Q(y*O));l=Q(Q(O*A)-Q(l*v));l=Q(m+Q(Q(f*f)+Q(l*l)));m=Q(e-d);T=Q(o-n);f=Q(Q(D*m)+Q(T*c));p=Q(f*f);U=Q(q-i);f=Q(Q(F*U)+Q(m*V));r=Q(f*f);f=Q(Q(E*T)+Q(U*C));f=Q(p+Q(r+Q(f*f)));l=f>2];L=Q(u-p);_=Q(-L);f=N[a+212>>2];I=Q(t-f);$=Q(-I);r=N[a+220>>2];M=Q(s-r);aa=Q(-M);ba=Q(-w);ca=Q(-O);if((k|0)==2){n=Q(q-r);m=Q(e-p);z=Q(o-f);d=Q(0);break f}C=Q(r-i);B=Q(p-d);c=Q(f-n);break g}_=Q(-L);$=Q(-I);aa=Q(-M);o=N[a+4>>2];T=Q(o-n);q=N[a+12>>2];U=Q(q-i);e=N[a+8>>2];m=Q(e-d);v=Q(t-o);Z=Q(-v);w=Q(u-e);ba=Q(-w);O=Q(s-q);ca=Q(-O);l=Q(0)}d=Q(Q(v*B)+Q(c*ba));i=Q(d*d);d=Q(Q(w*C)+Q(B*ca));c=Q(Q(O*c)+Q(C*Z));c=Q(i+Q(Q(d*d)+Q(c*c)));d=Q(Q(I*m)+Q(T*_));i=Q(d*d);d=Q(Q(L*U)+Q(m*aa));n=Q(d*d);d=Q(Q(M*T)+Q(U*$));d=Q(i+Q(n+Q(d*d)));c=c>d?c:d;m=Q(e-p);d=Q(z*m);z=Q(o-f);d=Q(d+Q(z*W));i=Q(d*d);n=Q(q-r);d=Q(Q(G*n)+Q(m*Y));y=Q(d*d);d=Q(Q(H*z)+Q(n*X));d=Q(i+Q(y+Q(d*d)));d=c>d?c:d;c=Q(0);if((k|0)==3){break b}B=Q(q-j);y=Q(e-g);A=Q(o-h);F=Q(u-g);c=Q(-F);D=Q(t-h);C=Q(-D);E=Q(s-j);V=Q(-E)}g=Q(p-g);h=Q(f-h);i=Q(Q(v*g)+Q(h*ba));j=Q(r-j);g=Q(Q(w*j)+Q(g*ca));h=Q(Q(O*h)+Q(j*Z));h=Q(Q(i*i)+Q(Q(g*g)+Q(h*h)));g=Q(Q(I*y)+Q(A*_));e=Q(g*g);g=Q(Q(L*B)+Q(y*aa));f=Q(g*g);g=Q(Q(M*A)+Q(B*$));g=Q(e+Q(f+Q(g*g)));h=h>g?h:g;c=Q(Q(D*m)+Q(z*c));g=Q(c*c);c=Q(Q(F*n)+Q(m*V));e=Q(c*c);c=Q(Q(E*z)+Q(n*C));c=Q(g+Q(e+Q(c*c)));c=c>2]);g=Q(g-N[a+8>>2]);c=Q(Q(j*d)-Q(l*g));f=Q(c*c);h=Q(h-N[a+12>>2]);c=Q(Q(g*i)-Q(d*h));d=Q(c*c);c=Q(Q(h*l)-Q(i*j));l=Q(f+Q(d+Q(c*c)));u=N[a+220>>2];t=N[a+216>>2];s=N[a+212>>2];f=Q(-j);p=Q(-g);r=Q(-h);d=Q(0);if((k|0)==2){break c}}c=Q(v-t);d=Q(w-s);i=Q(Q(j*c)+Q(d*p));m=Q(i*i);i=Q(n-u);c=Q(Q(g*i)+Q(c*r));n=Q(c*c);c=Q(Q(h*d)+Q(i*f));d=Q(m+Q(n+Q(c*c)));c=Q(0);if((k|0)==3){break b}}c=Q(e-t);e=Q(j*c);j=Q(q-s);i=Q(e+Q(j*p));e=g;g=Q(o-u);c=Q(Q(e*g)+Q(c*r));e=Q(c*c);c=Q(Q(h*j)+Q(g*f));c=Q(Q(i*i)+Q(e+Q(c*c)))}h=Q(R(da));k=h>Q(-0xde0b6b000000000);x=k?0:-1;g=Q(R(l));h=k?h:Q(-0xde0b6b000000000);k=g>h;x=k?1:x;j=Q(R(d));h=k?g:h;k=j>h;k=Q(R(c))>(k?j:h)?3:k?2:x;x=P(k,208)+a|0;S=J[x+120>>2];if(!S){break a}ea=J[9397];if(!ea){break a}va[ea|0](S)|0;J[x+120>>2]=0;break a}J[a+844>>2]=k+1}x=a;a=(k|0)>0?k:0;Pa((x+P(a,208)|0)+4|0,b,208);return a}function Af(a,b,c,d,e,f){var g=Q(0),h=Q(0),i=0,j=0,k=Q(0),l=Q(0),m=Q(0),n=0,o=Q(0),p=Q(0),q=0,r=Q(0),s=Q(0),t=Q(0),u=Q(0),v=Q(0),w=Q(0),x=0,y=Q(0),z=Q(0),A=Q(0),B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,M=0,O=0,P=0,R=0,S=0,T=0,U=0,V=0,W=0;if(K[a+60|0]){O=J[a+56>>2];q=ta-32|0;ta=q;A=N[c+4>>2];s=N[d+4>>2];t=N[c>>2];u=N[d>>2];v=N[a+28>>2];o=N[a+12>>2];y=N[d+8>>2];z=N[c+8>>2];g=Q((y>2]);g=g>2];g=Q(Q((g>v?v:g)-o)*k);a:{if(g=Q(0)){D=~~g>>>0;break a}D=0}w=N[a+24>>2];p=N[a+8>>2];g=Q((s>2]);g=g>2];g=Q(Q((g>w?w:g)-p)*r);b:{if(g=Q(0)){C=~~g>>>0;break b}C=0}l=N[a+20>>2];m=N[a+4>>2];g=Q((t>u?u:t)+N[e>>2]);g=g>2];g=Q(Q((g>l?l:g)-m)*h);c:{if(g=Q(0)){E=~~g>>>0;break c}E=0}g=Q((y>z?y:z)+N[f+8>>2]);g=gv?v:g)-o)*k)+Q(1));d:{if(g=Q(0)){x=~~g>>>0;break d}x=0}g=Q((s>A?s:A)+N[f+4>>2]);g=gw?w:g)-p)*r)+Q(1));e:{if(g=Q(0)){n=~~g>>>0;break e}n=0}g=Q((t>2]);g=gl?l:g)-m)*h)+Q(1));f:{if(g=Q(0)){d=~~g>>>0;break f}d=0}if((O|0)>0){h=Q(y-z);l=Q(u-t);r=Q(s-A);g=Q(Q(1)/Q(Y(Q(Q(h*h)+Q(Q(l*l)+Q(r*r))))));k=Q(h*g);m=Q(k*h);h=Q(l*g);g=Q(r*g);r=Q(m+Q(Q(h*l)+Q(r*g)));R=D&65534;S=C&65534;T=E&65534;U=x|1;V=n|1;W=d|1;d=J[a+136>>2];o=k==Q(0)?Q(0xde0b6b000000000):Q(Q(1)/k);x=o>2];B=0;g:{h:{i:{j:{if(T>>>0>L[d+6>>1]){break j}C=L[d>>1];if(W>>>0>>0|R>>>0>L[d+10>>1]){break j}x=L[d+4>>1];if(x>>>0>U>>>0|S>>>0>L[d+8>>1]){break j}n=L[d+2>>1];if(n>>>0>V>>>0){break j}y=N[a+4>>2];z=N[a+36>>2];v=N[a+8>>2];w=N[a+40>>2];l=N[a+12>>2];k=N[a+44>>2];J[q+12>>2]=0;h=Q(l+Q(Q(x>>>0)/k));N[q+8>>2]=h;g=Q(v+Q(Q(n>>>0)/w));N[q+4>>2]=g;E=L[d+10>>1];x=L[d+8>>1];n=L[d+6>>1];J[q+28>>2]=0;N[q>>2]=Q(y+Q(Q(C>>>0)/z))-N[f>>2];N[q+4>>2]=g-N[f+4>>2];N[q+8>>2]=h-N[f+8>>2];N[q+16>>2]=Q(y+Q(Q(n>>>0)/z))-N[e>>2];N[q+20>>2]=Q(v+Q(Q(x>>>0)/w))-N[e+4>>2];N[q+24>>2]=Q(l+Q(Q(E>>>0)/k))-N[e+8>>2];k:{h=N[c>>2];k=Q(m*Q(N[I>>2]-h));g=N[c+4>>2];v=Q(p*Q(N[H>>2]-g));if(k>v){break k}g=Q(p*Q(N[F>>2]-g));w=Q(m*Q(N[D>>2]-h));if(g>w){break k}l=g>k?g:k;g=N[c+8>>2];k=Q(o*Q(N[G>>2]-g));if(l>k){break k}h=Q(o*Q(N[i>>2]-g));g=vg){break k}B=r>(h>l?h:l)&(g>k?k:g)>Q(0);if(!B|(P|0)<0){break j}n=J[d+12>>2];va[J[J[b>>2]+8>>2]](b,n>>21,n&2097151);break i}}if((P|0)>=0){break i}if(!B){break h}}j=j+1|0;d=d+16|0;break g}n=J[d+12>>2];j=j-n|0;d=d-(n<<4)|0}M=M+1|0;if((j|0)<(O|0)){continue}break}}if(J[9113]<(M|0)){J[9113]=M}ta=q+32|0;return}i=ta-32|0;ta=i;if(J[a+56>>2]>0){s=N[d+8>>2];l=N[c+8>>2];h=Q(s-l);t=N[d>>2];u=N[c>>2];k=Q(t-u);o=N[d+4>>2];p=N[c+4>>2];r=Q(o-p);g=Q(Q(1)/Q(Y(Q(Q(h*h)+Q(Q(k*k)+Q(r*r))))));m=Q(h*g);v=Q(m*h);h=Q(k*g);g=Q(r*g);y=Q(v+Q(Q(h*k)+Q(r*g)));z=Q((l>2]);v=Q((o>p?o:p)+N[f+4>>2]);w=Q((t>u?t:u)+N[f>>2]);l=Q((l>s?s:l)+N[e+8>>2]);k=Q((o>2]);r=Q((t>2]);n=a;j=J[a+96>>2];A=m==Q(0)?Q(0xde0b6b000000000):Q(Q(1)/m);d=A>2];J[i>>2]=J[j>>2];J[i+4>>2]=a;a=J[j+12>>2];J[i+8>>2]=J[j+8>>2];J[i+12>>2]=a;a=J[j+28>>2];J[i+24>>2]=J[j+24>>2];J[i+28>>2]=a;a=J[j+20>>2];J[i+16>>2]=J[j+16>>2];J[i+20>>2]=a;N[i>>2]=N[i>>2]-N[f>>2];N[i+4>>2]=N[i+4>>2]-N[f+4>>2];N[i+8>>2]=N[i+8>>2]-N[f+8>>2];N[i+16>>2]=N[i+16>>2]-N[e>>2];N[i+20>>2]=N[i+20>>2]-N[e+4>>2];N[i+24>>2]=N[i+24>>2]-N[e+8>>2];d=0;l:{if(r>N[j+16>>2]){break l}d=0;if(w>2]){break l}d=1}a=0;m:{n:{o:{p:{q:{if((z>2]|l>N[j+24>>2]?a:d)^1|v>2]|k>N[j+20>>2]){break q}h=N[c>>2];m=Q(t*Q(N[C>>2]-h));g=N[c+4>>2];u=Q(s*Q(N[D>>2]-g));if(m>u){break q}g=Q(s*Q(N[H>>2]-g));o=Q(t*Q(N[E>>2]-h));if(g>o){break q}p=g>m?g:m;g=N[c+8>>2];m=Q(A*Q(N[I>>2]-g));if(p>m){break q}h=Q(A*Q(N[G>>2]-g));g=o>u?u:o;if(h>g){break q}x=J[j+32>>2];a=(x|0)==-1;d=y>(h>p?h:p)&(g>m?m:g)>Q(0);if(!d|(x|0)!=-1){break p}va[J[J[b>>2]+8>>2]](b,J[j+36>>2],J[j+40>>2]);break o}a=J[j+32>>2]==-1;d=0}if(a){break o}if(!d){break n}}B=B+1|0;j=j- -64|0;break m}a=J[j+32>>2];B=a+B|0;j=(a<<6)+j|0}F=F+1|0;if(J[n+56>>2]>(B|0)){continue}break}}if(J[9113]<(F|0)){J[9113]=F}ta=i+32|0}function zf(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;J[a+168>>2]=J[a+152>>2];Ef(b);c=J[a+56>>2];a:{if(d){J[b+56>>2]=c<<24|(c&65280)<<8|(c>>>8&65280|c>>>24);i=b+4|0;h=a+4|0;while(1){c=f<<2;e=c+i|0;c=c+h|0;H[e|0]=K[c+3|0];H[e+1|0]=K[c+2|0];H[e+2|0]=K[c+1|0];H[e+3|0]=K[c|0];f=f+1|0;if((f|0)!=4){continue}break}i=b+20|0;h=a+20|0;f=0;while(1){c=f<<2;e=c+i|0;c=c+h|0;H[e|0]=K[c+3|0];H[e+1|0]=K[c+2|0];H[e+2|0]=K[c+1|0];H[e+3|0]=K[c|0];f=f+1|0;if((f|0)!=4){continue}break}i=b+36|0;h=a+36|0;f=0;while(1){c=f<<2;e=c+i|0;c=c+h|0;H[e|0]=K[c+3|0];H[e+1|0]=K[c+2|0];H[e+2|0]=K[c+1|0];H[e+3|0]=K[c|0];f=f+1|0;if((f|0)!=4){continue}break}c=J[a+144>>2];J[b+144>>2]=c<<24|(c&65280)<<8|(c>>>8&65280|c>>>24);c=J[a+168>>2];c=c<<24|(c&65280)<<8|(c>>>8&65280|c>>>24);break a}J[b+56>>2]=c;c=J[a+16>>2];J[b+12>>2]=J[a+12>>2];J[b+16>>2]=c;c=J[a+8>>2];J[b+4>>2]=J[a+4>>2];J[b+8>>2]=c;c=J[a+32>>2];J[b+28>>2]=J[a+28>>2];J[b+32>>2]=c;c=J[a+24>>2];J[b+20>>2]=J[a+20>>2];J[b+24>>2]=c;c=J[a+48>>2];J[b+44>>2]=J[a+44>>2];J[b+48>>2]=c;c=J[a+40>>2];J[b+36>>2]=J[a+36>>2];J[b+40>>2]=c;J[b+144>>2]=J[a+144>>2];c=J[a+168>>2]}J[b+168>>2]=c;H[b+60|0]=K[a+60|0];h=b+172|0;l=J[a+56>>2];b:{if(K[a+60|0]){c=J[b+136>>2];if(!(!c|!K[b+140|0])){Fa(c)}J[b+136>>2]=h;H[b+140|0]=0;c:{if(!d){if((l|0)<=0){break c}i=J[a+136>>2];f=0;while(1){c=f<<4;e=c+h|0;c=c+i|0;I[e>>1]=L[c>>1];I[e+2>>1]=L[c+2>>1];I[e+4>>1]=L[c+4>>1];I[e+6>>1]=L[c+6>>1];I[e+8>>1]=L[c+8>>1];I[e+10>>1]=L[c+10>>1];J[e+12>>2]=J[c+12>>2];f=f+1|0;if((l|0)!=(f|0)){continue}break}break c}if((l|0)<=0){break c}i=J[a+136>>2];f=0;while(1){c=f<<4;g=c+h|0;e=c+i|0;c=L[e>>1];I[g>>1]=c<<8|c>>>8;c=L[e+2>>1];I[g+2>>1]=c<<8|c>>>8;c=L[e+4>>1];I[g+4>>1]=c<<8|c>>>8;c=L[e+6>>1];I[g+6>>1]=c<<8|c>>>8;c=L[e+8>>1];I[g+8>>1]=c<<8|c>>>8;c=L[e+10>>1];I[g+10>>1]=c<<8|c>>>8;c=J[e+12>>2];J[g+12>>2]=c<<24|(c&65280)<<8|(c>>>8&65280|c>>>24);f=f+1|0;if((l|0)!=(f|0)){continue}break}}i=b+128|0;f=l<<4;break b}c=J[b+96>>2];if(!(!c|!K[b+100|0])){Fa(c)}J[b+96>>2]=h;H[b+100|0]=0;J[b+92>>2]=l;i=b+88|0;J[i>>2]=l;d:{if(!d){c=h;if((l|0)<=0){break d}m=J[a+96>>2];f=0;while(1){j=f<<6;g=j+c|0;e=j+m|0;c=J[e+4>>2];J[g>>2]=J[e>>2];J[g+4>>2]=c;c=J[e+12>>2];J[g+8>>2]=J[e+8>>2];J[g+12>>2]=c;e=j+J[a+96>>2]|0;c=J[e+20>>2];g=j+J[b+96>>2]|0;J[g+16>>2]=J[e+16>>2];J[g+20>>2]=c;c=J[e+28>>2];J[g+24>>2]=J[e+24>>2];J[g+28>>2]=c;c=J[b+96>>2];g=j+c|0;m=J[a+96>>2];e=j+m|0;J[g+32>>2]=J[e+32>>2];J[g+36>>2]=J[e+36>>2];J[g+40>>2]=J[e+40>>2];f=f+1|0;if((l|0)!=(f|0)){continue}break}break d}c=h;if((l|0)<=0){break d}m=J[a+96>>2];while(1){n=j<<6;g=n+c|0;e=m+n|0;f=0;while(1){c=f<<2;k=c+g|0;c=c+e|0;H[k|0]=K[c+3|0];H[k+1|0]=K[c+2|0];H[k+2|0]=K[c+1|0];H[k+3|0]=K[c|0];f=f+1|0;if((f|0)!=4){continue}break}g=(n+J[b+96>>2]|0)+16|0;e=(n+J[a+96>>2]|0)+16|0;f=0;while(1){c=f<<2;k=c+g|0;c=c+e|0;H[k|0]=K[c+3|0];H[k+1|0]=K[c+2|0];H[k+2|0]=K[c+1|0];H[k+3|0]=K[c|0];f=f+1|0;if((f|0)!=4){continue}break}c=J[b+96>>2];g=n+c|0;m=J[a+96>>2];e=n+m|0;k=J[e+32>>2];J[g+32>>2]=k<<24|(k&65280)<<8|(k>>>8&65280|k>>>24);k=J[e+36>>2];J[g+36>>2]=k<<24|(k&65280)<<8|(k>>>8&65280|k>>>24);e=J[e+40>>2];J[g+40>>2]=e<<24|(e&65280)<<8|(e>>>8&65280|e>>>24);j=j+1|0;if((l|0)!=(j|0)){continue}break}}f=l<<6;if(!K[b+100|0]){break b}Fa(c)}J[i>>2]=0;J[i+4>>2]=0;H[i+5|0]=0;H[i+6|0]=0;H[i+7|0]=0;H[i+8|0]=0;H[i+9|0]=0;H[i+10|0]=0;H[i+11|0]=0;H[i+12|0]=0;i=f+h|0;h=J[a+168>>2];c=J[b+160>>2];if(!(!c|!K[b+164|0])){Fa(c)}J[b+160>>2]=i;H[b+164|0]=0;J[b+156>>2]=h;j=b+152|0;J[j>>2]=h;h=J[a+168>>2];e:{if(!d){if((h|0)<=0){break e}d=J[a+160>>2];f=0;while(1){c=f<<5;h=c+i|0;c=c+d|0;I[h>>1]=L[c>>1];I[h+2>>1]=L[c+2>>1];I[h+4>>1]=L[c+4>>1];I[h+6>>1]=L[c+6>>1];I[h+8>>1]=L[c+8>>1];I[h+10>>1]=L[c+10>>1];J[h+12>>2]=J[c+12>>2];c=J[c+16>>2];J[h+28>>2]=0;J[h+20>>2]=0;J[h+24>>2]=0;J[h+16>>2]=c;f=f+1|0;if((f|0)>2]){continue}break}break e}if((h|0)<=0){break e}c=J[a+160>>2];d=0;while(1){a=d<<5;g=a+i|0;e=a+c|0;a=L[e>>1];I[g>>1]=a<<8|a>>>8;a=L[e+2>>1];I[g+2>>1]=a<<8|a>>>8;a=L[e+4>>1];I[g+4>>1]=a<<8|a>>>8;a=L[e+6>>1];I[g+6>>1]=a<<8|a>>>8;a=L[e+8>>1];I[g+8>>1]=a<<8|a>>>8;a=L[e+10>>1];I[g+10>>1]=a<<8|a>>>8;a=J[e+12>>2];J[g+12>>2]=a<<24|(a&65280)<<8|(a>>>8&65280|a>>>24);a=J[e+16>>2];J[g+16>>2]=a<<24|(a&65280)<<8|(a>>>8&65280|a>>>24);d=d+1|0;if((h|0)!=(d|0)){continue}break}}if(K[b+164|0]){Fa(i)}J[b>>2]=0;H[j+5|0]=0;H[j+6|0]=0;H[j+7|0]=0;H[j+8|0]=0;H[j+9|0]=0;H[j+10|0]=0;H[j+11|0]=0;H[j+12|0]=0;J[j>>2]=0;J[j+4>>2]=0;return 1}function Yi(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=Q(0),g=Q(0),h=0,i=Q(0),j=Q(0),k=0,l=Q(0),m=Q(0),n=0,o=0,p=0;b=J[d+72>>2];a:{if(!(b&4)){break a}h=J[a+28>>2];if((h|0)<=0){break a}k=b&16;n=J[a+76>>2];o=J[a+36>>2];b=0;while(1){c=o+P(b,152)|0;e=J[c+132>>2];N[e+132>>2]=N[c+100>>2];c=n+P(J[c+140>>2],152)|0;N[e+136>>2]=N[c+100>>2];if(k){N[e+140>>2]=N[c+252>>2]}b=b+1|0;if((h|0)!=(b|0)){continue}break}}o=J[a+48>>2];if((o|0)>0){p=J[a+56>>2];n=0;while(1){c=P(n,152)+p|0;e=J[c+132>>2];b=J[e+44>>2];if(b){h=J[e+28>>2];j=N[h+416>>2];i=N[c+24>>2];l=N[h+412>>2];m=N[c+20>>2];f=N[c+100>>2];g=Q(Q(1)/N[d+12>>2]);N[b>>2]=N[b>>2]+Q(Q(Q(N[c+16>>2]*f)*N[h+408>>2])*g);N[b+4>>2]=Q(Q(l*Q(f*m))*g)+N[b+4>>2];N[b+8>>2]=Q(Q(j*Q(f*i))*g)+N[b+8>>2];k=J[e+32>>2];j=N[k+416>>2];i=N[c+56>>2];l=N[k+412>>2];m=N[c+52>>2];f=N[c+100>>2];g=Q(Q(1)/N[d+12>>2]);N[b+32>>2]=N[b+32>>2]+Q(Q(Q(N[c+48>>2]*f)*N[k+408>>2])*g);N[b+36>>2]=Q(Q(l*Q(f*m))*g)+N[b+36>>2];N[b+40>>2]=Q(Q(j*Q(f*i))*g)+N[b+40>>2];j=N[h+612>>2];i=N[c+8>>2];l=N[h+608>>2];m=N[c+4>>2];f=N[c+100>>2];g=Q(Q(1)/N[d+12>>2]);N[b+16>>2]=N[b+16>>2]+Q(Q(Q(N[c>>2]*N[h+604>>2])*f)*g);N[b+20>>2]=Q(Q(f*Q(m*l))*g)+N[b+20>>2];N[b+24>>2]=Q(Q(f*Q(i*j))*g)+N[b+24>>2];j=N[k+612>>2];i=N[c+40>>2];l=N[k+608>>2];m=N[c+36>>2];f=N[c+100>>2];g=Q(Q(1)/N[d+12>>2]);N[b+48>>2]=N[b+48>>2]+Q(Q(Q(N[c+32>>2]*N[k+604>>2])*f)*g);N[b+52>>2]=Q(Q(f*Q(m*l))*g)+N[b+52>>2];N[b+56>>2]=Q(Q(f*Q(i*j))*g)+N[b+56>>2]}f=N[c+100>>2];N[e+36>>2]=f;if(N[e+16>>2]<=Q(R(f))){H[e+20|0]=0}n=n+1|0;if((o|0)!=(n|0)){continue}break}}b=J[a+8>>2];if((b|0)>0){c=J[a+16>>2];k=0;while(1){h=P(k,244);e=h+c|0;if(J[e+240>>2]){b:{if(J[d+52>>2]){l=N[d+12>>2];f=N[d+60>>2];b=ta-80|0;ta=b;c:{if(!J[e+240>>2]){break c}N[e+176>>2]=N[e+64>>2]+N[e+176>>2];N[e+192>>2]=N[e+80>>2]+N[e+192>>2];N[e+180>>2]=N[e+68>>2]+N[e+180>>2];N[e+184>>2]=N[e+72>>2]+N[e+184>>2];N[e+196>>2]=N[e+84>>2]+N[e+196>>2];N[e+200>>2]=N[e+88>>2]+N[e+200>>2];j=N[e+160>>2];d:{if(!(!(N[e+144>>2]!=Q(0)|N[e+148>>2]!=Q(0))&N[e+152>>2]==Q(0))){g=N[e+168>>2];i=N[e+164>>2];break d}g=N[e+168>>2];i=N[e+164>>2];if(j!=Q(0)|i!=Q(0)){break d}if(g==Q(0)){break c}}J[b+12>>2]=0;N[b+8>>2]=g*f;N[b+4>>2]=i*f;N[b>>2]=j*f;Gb(e,e+144|0,b,l,b+16|0);c=J[b+28>>2];J[e+8>>2]=J[b+24>>2];J[e+12>>2]=c;c=J[b+20>>2];J[e>>2]=J[b+16>>2];J[e+4>>2]=c;c=J[b+44>>2];J[e+24>>2]=J[b+40>>2];J[e+28>>2]=c;c=J[b+36>>2];J[e+16>>2]=J[b+32>>2];J[e+20>>2]=c;c=J[b+52>>2];J[e+32>>2]=J[b+48>>2];J[e+36>>2]=c;c=J[b+60>>2];J[e+40>>2]=J[b+56>>2];J[e+44>>2]=c;c=J[b+68>>2];J[e+48>>2]=J[b+64>>2];J[e+52>>2]=c;c=J[b+76>>2];J[e+56>>2]=J[b+72>>2];J[e+60>>2]=c}ta=b+80|0;break b}if(J[e+240>>2]){N[e+176>>2]=N[e+64>>2]+N[e+176>>2];N[e+192>>2]=N[e+80>>2]+N[e+192>>2];N[e+180>>2]=N[e+68>>2]+N[e+180>>2];N[e+184>>2]=N[e+72>>2]+N[e+184>>2];N[e+196>>2]=N[e+84>>2]+N[e+196>>2];N[e+200>>2]=N[e+88>>2]+N[e+200>>2]}}b=h+J[a+16>>2]|0;f=N[b+212>>2];g=N[b+180>>2];j=N[b+216>>2];i=N[b+184>>2];l=N[b+208>>2];m=N[b+176>>2];b=J[b+240>>2];J[b+384>>2]=0;N[b+372>>2]=m+l;N[b+380>>2]=i+j;N[b+376>>2]=g+f;J[b+304>>2]=J[b+304>>2]+1;b=h+J[a+16>>2]|0;f=N[b+228>>2];g=N[b+196>>2];j=N[b+232>>2];i=N[b+200>>2];l=N[b+224>>2];m=N[b+192>>2];b=J[b+240>>2];J[b+400>>2]=0;N[b+388>>2]=m+l;N[b+396>>2]=i+j;N[b+392>>2]=g+f;J[b+304>>2]=J[b+304>>2]+1;if(J[d+52>>2]){c=h+J[a+16>>2]|0;b=J[c+240>>2];J[b+304>>2]=J[b+304>>2]+1;e=J[c+12>>2];J[b+12>>2]=J[c+8>>2];J[b+16>>2]=e;e=J[c+4>>2];J[b+4>>2]=J[c>>2];J[b+8>>2]=e;e=J[c+28>>2];J[b+28>>2]=J[c+24>>2];J[b+32>>2]=e;e=J[c+20>>2];J[b+20>>2]=J[c+16>>2];J[b+24>>2]=e;e=J[c+36>>2];J[b+36>>2]=J[c+32>>2];J[b+40>>2]=e;e=J[c+44>>2];J[b+44>>2]=J[c+40>>2];J[b+48>>2]=e;e=J[c+60>>2];J[b+60>>2]=J[c+56>>2];J[b+64>>2]=e;e=J[c+52>>2];J[b+52>>2]=J[c+48>>2];J[b+56>>2]=e}c=J[a+16>>2];J[J[(h+c|0)+240>>2]+212>>2]=-1;b=J[a+8>>2]}k=k+1|0;if((k|0)<(b|0)){continue}break}}if((J[a+28>>2]&J[a+32>>2])<0){b=J[a+36>>2];if(!(!b|!K[a+40|0])){Fa(b)}H[a+40|0]=1;J[a+32>>2]=0;J[a+36>>2]=0}J[a+28>>2]=0;if((J[a+48>>2]&J[a+52>>2])<0){b=J[a+56>>2];if(!(!b|!K[a+60|0])){Fa(b)}H[a+60|0]=1;J[a+52>>2]=0;J[a+56>>2]=0}J[a+48>>2]=0;if((J[a+68>>2]&J[a+72>>2])<0){b=J[a+76>>2];if(!(!b|!K[a+80|0])){Fa(b)}H[a+80|0]=1;J[a+72>>2]=0;J[a+76>>2]=0}J[a+68>>2]=0;if((J[a+88>>2]&J[a+92>>2])<0){b=J[a+96>>2];if(!(!b|!K[a+100|0])){Fa(b)}H[a+100|0]=1;J[a+92>>2]=0;J[a+96>>2]=0}J[a+88>>2]=0;if((J[a+8>>2]&J[a+12>>2])<0){b=J[a+16>>2];if(!(!b|!K[a+20|0])){Fa(b)}H[a+20|0]=1;J[a+12>>2]=0;J[a+16>>2]=0}J[a+8>>2]=0;return Q(Q(0))}function Ge(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=Q(0),i=Q(0),j=Q(0),k=Q(0),l=Q(0),m=Q(0),n=Q(0),o=Q(0),p=Q(0),q=Q(0),r=0,s=Q(0),t=Q(0),u=Q(0),v=Q(0),w=Q(0),x=Q(0),y=Q(0),z=Q(0),A=Q(0),B=Q(0),C=Q(0),D=Q(0),E=0,F=Q(0),G=Q(0),H=Q(0),I=Q(0),K=Q(0),L=Q(0),M=Q(0),O=Q(0),P=Q(0),R=Q(0),S=Q(0),T=Q(0),U=Q(0),V=Q(0),W=Q(0),X=Q(0),Z=Q(0),_=Q(0),$=Q(0),aa=Q(0),ba=Q(0),ca=Q(0),da=0,ea=Q(0),fa=0;g=ta-96|0;ta=g;ac(J[a+4>>2]);V=N[d+40>>2];W=N[d+36>>2];X=N[d+24>>2];Z=N[d+20>>2];G=N[b+20>>2];H=N[b+36>>2];I=N[b+24>>2];y=N[b+52>>2];m=N[c+52>>2];z=N[d+52>>2];l=N[e+52>>2];K=N[b+40>>2];A=N[b+56>>2];h=N[c+56>>2];B=N[d+56>>2];i=N[e+56>>2];_=N[d+32>>2];$=N[d+16>>2];aa=N[d+8>>2];ba=N[d+4>>2];ca=N[d>>2];L=N[b>>2];M=N[b+16>>2];O=N[b+32>>2];P=N[b+4>>2];R=N[b+8>>2];C=N[b+48>>2];j=N[c+48>>2];D=N[d+48>>2];p=N[e+48>>2];r=J[a+8>>2];J[g+60>>2]=0;x=Q(Q(j-C)-Q(p-D));j=Q(-x);t=Q(Q(m-y)-Q(l-z));u=Q(Q(h-A)-Q(i-B));N[g+56>>2]=Q(Q(R*j)-Q(I*t))-Q(K*u);N[g+52>>2]=Q(Q(P*j)-Q(G*t))-Q(H*u);N[g+48>>2]=Q(Q(L*j)-Q(M*t))-Q(O*u);va[J[J[r>>2]+64>>2]](g+80|0,r,g+48|0);h=N[b+52>>2];i=N[b+24>>2];p=N[b+20>>2];j=N[b+56>>2];m=N[b+40>>2];l=N[b+36>>2];k=N[b+16>>2];n=N[b+48>>2];s=N[b+8>>2];o=N[b>>2];q=N[b+4>>2];v=N[b+32>>2];J[g+76>>2]=0;S=j;j=N[g+88>>2];w=Q(m*j);m=N[g+80>>2];T=l;l=N[g+84>>2];v=Q(S+Q(w+Q(Q(v*m)+Q(T*l))));N[g+72>>2]=v;n=Q(n+Q(Q(j*s)+Q(Q(m*o)+Q(l*q))));N[g+64>>2]=n;h=Q(h+Q(Q(j*i)+Q(Q(m*k)+Q(l*p))));N[g+68>>2]=h;r=J[a+12>>2];j=N[d+20>>2];m=N[d+36>>2];l=N[d+24>>2];i=N[d+40>>2];p=N[d>>2];k=N[d+16>>2];s=N[d+32>>2];o=N[d+4>>2];q=N[d+8>>2];J[g+28>>2]=0;N[g+24>>2]=Q(i*u)+Q(Q(q*x)+Q(t*l));N[g+20>>2]=Q(m*u)+Q(Q(o*x)+Q(t*j));N[g+16>>2]=Q(s*u)+Q(Q(p*x)+Q(t*k));va[J[J[r>>2]+64>>2]](g+32|0,r,g+16|0);p=N[d+56>>2];k=N[d+40>>2];s=N[d+36>>2];j=N[d+52>>2];m=N[d+24>>2];l=N[d+20>>2];o=N[d+32>>2];i=N[d+48>>2];q=N[d+8>>2];w=N[d>>2];U=N[d+4>>2];F=N[d+16>>2];J[g+60>>2]=0;J[g+92>>2]=0;S=j;j=N[g+40>>2];ea=Q(m*j);m=N[g+32>>2];T=l;l=N[g+36>>2];F=Q(S+Q(ea+Q(Q(F*m)+Q(T*l))));N[g+52>>2]=F;h=Q(h-F);N[g+84>>2]=h;i=Q(i+Q(Q(j*q)+Q(Q(m*w)+Q(l*U))));N[g+48>>2]=i;i=Q(n-i);N[g+80>>2]=i;j=Q(p+Q(Q(j*k)+Q(Q(m*o)+Q(l*s))));N[g+56>>2]=j;k=Q(v-j);N[g+88>>2]=k;s=Q(0);j=Q(0);m=Q(0);l=Q(0);p=Q(0);n=Q(0);a:{b:{if(!(Q(Q(k*k)+Q(Q(i*i)+Q(h*h)))>Q(9999999747378752e-20))){break b}r=32;while(1){if(!r){break b}E=J[a+8>>2];J[g+12>>2]=0;h=Q(-N[g+80>>2]);i=N[g+84>>2];k=N[g+88>>2];N[g+8>>2]=Q(Q(R*h)-Q(I*i))-Q(K*k);N[g+4>>2]=Q(Q(P*h)-Q(G*i))-Q(H*k);N[g>>2]=Q(Q(L*h)-Q(M*i))-Q(O*k);da=g+16|0;va[J[J[E>>2]+64>>2]](da,E,g);J[g+76>>2]=0;h=N[g+24>>2];i=N[g+16>>2];k=N[g+20>>2];N[g+72>>2]=A+Q(Q(h*K)+Q(Q(i*O)+Q(H*k)));N[g+68>>2]=y+Q(Q(h*I)+Q(Q(i*M)+Q(G*k)));N[g+64>>2]=C+Q(Q(h*R)+Q(Q(i*L)+Q(P*k)));E=J[a+12>>2];J[g+12>>2]=0;h=N[g+88>>2];i=N[g+80>>2];k=N[g+84>>2];N[g+8>>2]=Q(V*h)+Q(Q(aa*i)+Q(X*k));N[g+4>>2]=Q(W*h)+Q(Q(ba*i)+Q(Z*k));N[g>>2]=Q(_*h)+Q(Q(ca*i)+Q($*k));va[J[J[E>>2]+64>>2]](da,E,g);J[g+60>>2]=0;J[g+44>>2]=0;k=N[g+24>>2];o=N[g+16>>2];q=N[g+20>>2];h=Q(z+Q(Q(k*X)+Q(Q(o*$)+Q(Z*q))));N[g+52>>2]=h;v=Q(N[g+68>>2]-h);N[g+36>>2]=v;h=N[g+84>>2];i=Q(D+Q(Q(k*aa)+Q(Q(o*ca)+Q(ba*q))));N[g+48>>2]=i;w=Q(N[g+64>>2]-i);N[g+32>>2]=w;i=N[g+80>>2];k=Q(B+Q(Q(k*V)+Q(Q(o*_)+Q(W*q))));N[g+56>>2]=k;o=Q(N[g+72>>2]-k);N[g+40>>2]=o;if(n>Q(1)){break a}k=N[g+88>>2];o=Q(Q(k*o)+Q(Q(i*w)+Q(h*v)));if(o>Q(0)){j=Q(Q(k*u)+Q(Q(i*x)+Q(t*h)));if(j>=Q(-14210854715202004e-30)){break a}m=N[b+48>>2];l=N[c+48>>2];p=N[b+52>>2];y=N[c+52>>2];A=N[b+56>>2];C=N[c+56>>2];D=N[d+48>>2];q=N[e+48>>2];z=N[d+52>>2];w=N[e+52>>2];B=N[d+56>>2];U=N[e+56>>2];J[g+44>>2]=0;N[g+36>>2]=v;n=Q(n-Q(o/j));j=Q(Q(1)-n);B=Q(Q(B*j)+Q(n*U));z=Q(Q(j*z)+Q(n*w));D=Q(Q(j*D)+Q(n*q));A=Q(Q(j*A)+Q(n*C));y=Q(Q(j*p)+Q(n*y));C=Q(Q(j*m)+Q(n*l));p=N[g+92>>2];m=h;l=k;j=i}if(!Ce(J[a+4>>2],g+32|0)){Fe(J[a+4>>2],g+32|0,g- -64|0,g+48|0)}if(!De(J[a+4>>2],g+80|0)){break b}r=r-1|0;h=N[g+88>>2];i=Q(h*h);h=N[g+80>>2];k=Q(h*h);h=N[g+84>>2];if(Q(i+Q(k+Q(h*h)))>Q(9999999747378752e-20)){continue}break}}N[f+164>>2]=n;n=Q(0);i=Q(0);h=Q(0);k=Q(Q(l*l)+Q(Q(j*j)+Q(m*m)));if(k>=Q(14210854715202004e-30)){h=l;l=Q(Q(1)/Q(Y(k)));i=Q(h*l);n=Q(m*l);s=Q(j*l);h=p}N[f+132>>2]=s;N[f+144>>2]=h;N[f+140>>2]=i;N[f+136>>2]=n;if(Q(-N[f+172>>2])<=Q(Q(i*u)+Q(Q(s*x)+Q(t*n)))){break a}Be(J[a+4>>2],g+16|0,g);a=J[g+12>>2];J[f+156>>2]=J[g+8>>2];J[f+160>>2]=a;a=J[g+4>>2];J[f+148>>2]=J[g>>2];J[f+152>>2]=a;fa=1}ta=g+96|0;return fa|0}function Fp(a,b,c,d,e,f){a=a|0;b=Q(b);c=Q(c);d=d|0;e=e|0;f=f|0;var g=0,h=Q(0),i=Q(0),j=Q(0),k=Q(0),l=Q(0),m=Q(0),n=Q(0),o=Q(0),p=Q(0),q=Q(0),r=Q(0),s=0,t=Q(0),u=Q(0),v=Q(0),w=0,x=Q(0),y=Q(0),z=Q(0),A=Q(0),B=Q(0),C=Q(0),D=0,E=0,F=0,G=Q(0),H=Q(0),I=Q(0),K=0,L=Q(0);g=ta-144|0;ta=g;t=N[e+56>>2];u=N[e+52>>2];v=N[e+48>>2];J[g+136>>2]=0;J[g+140>>2]=0;J[g+128>>2]=0;J[g+132>>2]=0;s=d<<2;c=Q(c*Q(.5));N[s+(g+128|0)>>2]=c;J[g+120>>2]=0;J[g+124>>2]=0;J[g+112>>2]=0;J[g+116>>2]=0;F=(d+1|0)%3|0;w=F<<2;N[w+(g+112|0)>>2]=b;J[g+104>>2]=0;J[g+108>>2]=0;J[g+96>>2]=0;J[g+100>>2]=0;D=(d+2|0)%3<<2;N[D+(g+96|0)>>2]=b;J[g+88>>2]=0;J[g+92>>2]=0;J[g+80>>2]=0;J[g+84>>2]=0;E=s;s=g+80|0;N[E+s>>2]=-c;D=s+D|0;w=s+w|0;c=N[g+136>>2];k=N[g+132>>2];l=N[g+128>>2];s=0;while(1){m=Q(Q(s|0)*Q(.01745329238474369));K=w,L=Q(Va(m)*b),N[K>>2]=L;K=D,L=Q(Ta(m)*b),N[K>>2]=L;m=N[e+8>>2];n=N[e>>2];o=N[e+4>>2];p=N[e+24>>2];q=N[e+16>>2];r=N[e+20>>2];h=N[e+40>>2];i=N[e+32>>2];j=N[e+36>>2];J[g+76>>2]=0;N[g+72>>2]=t+Q(Q(h*c)+Q(Q(i*l)+Q(k*j)));N[g+68>>2]=u+Q(Q(p*c)+Q(Q(q*l)+Q(k*r)));N[g+64>>2]=v+Q(Q(m*c)+Q(Q(n*l)+Q(o*k)));J[g+60>>2]=0;x=h;h=N[g+88>>2];y=i;i=N[g+80>>2];z=j;j=N[g+84>>2];N[g+56>>2]=t+Q(Q(x*h)+Q(Q(y*i)+Q(z*j)));N[g+52>>2]=u+Q(Q(p*h)+Q(Q(q*i)+Q(r*j)));N[g+48>>2]=v+Q(Q(m*h)+Q(Q(n*i)+Q(o*j)));va[J[J[a>>2]+16>>2]](a,g- -64|0,g+48|0,f);E=s>>>0<330;s=s+30|0;if(E){continue}break}m=N[e+8>>2];n=N[e>>2];o=N[e+4>>2];p=N[e+24>>2];q=N[e+16>>2];r=N[e+20>>2];h=N[e+40>>2];i=N[e+32>>2];j=N[e+36>>2];J[g+76>>2]=0;N[g+72>>2]=t+Q(Q(h*c)+Q(Q(i*l)+Q(k*j)));N[g+68>>2]=u+Q(Q(p*c)+Q(Q(q*l)+Q(k*r)));N[g+64>>2]=v+Q(Q(m*c)+Q(Q(n*l)+Q(o*k)));J[g+60>>2]=0;x=h;A=N[g+120>>2];h=Q(A-c);y=i;B=N[g+112>>2];i=Q(B-l);z=j;C=N[g+116>>2];j=Q(C-k);N[g+56>>2]=t+Q(Q(x*h)+Q(Q(y*i)+Q(z*j)));N[g+52>>2]=u+Q(Q(p*h)+Q(Q(q*i)+Q(r*j)));N[g+48>>2]=v+Q(Q(m*h)+Q(Q(n*i)+Q(o*j)));s=g- -64|0;w=g+48|0;va[J[J[a>>2]+16>>2]](a,s,w,f);m=N[e+8>>2];n=N[e>>2];o=N[e+4>>2];p=N[e+24>>2];q=N[e+16>>2];r=N[e+20>>2];h=N[e+40>>2];i=N[e+32>>2];j=N[e+36>>2];J[g+76>>2]=0;N[g+72>>2]=t+Q(Q(h*c)+Q(Q(i*l)+Q(k*j)));N[g+68>>2]=u+Q(Q(p*c)+Q(Q(q*l)+Q(k*r)));N[g+64>>2]=v+Q(Q(m*c)+Q(Q(n*l)+Q(k*o)));J[g+60>>2]=0;x=h;G=Q(-c);h=Q(G-A);y=i;A=Q(-l);i=Q(A-B);z=j;B=Q(-k);j=Q(B-C);N[g+56>>2]=t+Q(Q(x*h)+Q(Q(y*i)+Q(z*j)));N[g+52>>2]=u+Q(Q(p*h)+Q(Q(q*i)+Q(j*r)));N[g+48>>2]=v+Q(Q(m*h)+Q(Q(n*i)+Q(j*o)));va[J[J[a>>2]+16>>2]](a,s,w,f);m=N[e+8>>2];n=N[e>>2];o=N[e+4>>2];p=N[e+24>>2];q=N[e+16>>2];r=N[e+20>>2];h=N[e+40>>2];i=N[e+32>>2];j=N[e+36>>2];J[g+76>>2]=0;N[g+72>>2]=t+Q(Q(h*c)+Q(Q(i*l)+Q(k*j)));N[g+68>>2]=u+Q(Q(p*c)+Q(Q(q*l)+Q(k*r)));N[g+64>>2]=v+Q(Q(m*c)+Q(Q(n*l)+Q(k*o)));J[g+60>>2]=0;x=h;C=N[g+104>>2];h=Q(C-c);y=i;H=N[g+96>>2];i=Q(H-l);z=j;I=N[g+100>>2];j=Q(I-k);N[g+56>>2]=t+Q(Q(x*h)+Q(Q(y*i)+Q(z*j)));N[g+52>>2]=u+Q(Q(p*h)+Q(Q(q*i)+Q(r*j)));N[g+48>>2]=v+Q(Q(m*h)+Q(Q(n*i)+Q(o*j)));va[J[J[a>>2]+16>>2]](a,s,w,f);m=N[e+8>>2];n=N[e>>2];o=N[e+4>>2];p=N[e+24>>2];q=N[e+16>>2];r=N[e+20>>2];h=N[e+40>>2];i=N[e+32>>2];j=N[e+36>>2];J[g+76>>2]=0;N[g+72>>2]=t+Q(Q(h*c)+Q(Q(i*l)+Q(k*j)));N[g+68>>2]=u+Q(Q(p*c)+Q(Q(q*l)+Q(k*r)));N[g+64>>2]=v+Q(Q(m*c)+Q(Q(n*l)+Q(k*o)));J[g+60>>2]=0;x=h;h=Q(G-C);y=i;i=Q(A-H);z=j;j=Q(B-I);N[g+56>>2]=t+Q(Q(x*h)+Q(Q(y*i)+Q(z*j)));N[g+52>>2]=u+Q(Q(p*h)+Q(Q(q*i)+Q(j*r)));N[g+48>>2]=v+Q(Q(m*h)+Q(Q(n*i)+Q(j*o)));va[J[J[a>>2]+16>>2]](a,s,w,f);J[g+72>>2]=0;J[g+76>>2]=0;J[g+64>>2]=0;J[g+68>>2]=0;J[s+(d<<2)>>2]=1065353216;J[g+56>>2]=0;J[g+60>>2]=0;J[g+48>>2]=0;J[g+52>>2]=0;J[w+(F<<2)>>2]=1065353216;m=N[e+8>>2];n=N[e>>2];o=N[e+4>>2];p=N[e+24>>2];q=N[e+16>>2];r=N[e+20>>2];h=N[e+40>>2];i=N[e+32>>2];j=N[e+36>>2];J[g+44>>2]=0;N[g+40>>2]=t-Q(Q(h*c)+Q(Q(i*l)+Q(k*j)));N[g+36>>2]=u-Q(Q(p*c)+Q(Q(q*l)+Q(k*r)));N[g+32>>2]=v-Q(Q(m*c)+Q(Q(n*l)+Q(k*o)));J[g+28>>2]=0;c=N[g+72>>2];k=N[g+64>>2];l=N[g+68>>2];N[g+24>>2]=Q(h*c)+Q(Q(i*k)+Q(j*l));N[g+20>>2]=Q(p*c)+Q(Q(q*k)+Q(r*l));N[g+16>>2]=Q(m*c)+Q(Q(n*k)+Q(o*l));J[g+12>>2]=0;c=N[g+56>>2];k=N[g+48>>2];l=N[g+52>>2];N[g+8>>2]=Q(h*c)+Q(Q(i*k)+Q(j*l));N[g+4>>2]=Q(p*c)+Q(Q(q*k)+Q(r*l));N[g>>2]=Q(m*c)+Q(Q(n*k)+Q(o*l));va[J[J[a>>2]+68>>2]](a,g+32|0,g+16|0,g,b,b,Q(0),Q(6.2831854820251465),f,0,Q(10));ta=g+144|0}function Lm(a,b,c,d){a=a|0;b=b|0;c=c|0;d=Q(d);var e=0,f=0,g=Q(0),h=Q(0),i=0,j=Q(0),k=Q(0),l=Q(0),m=Q(0),n=0,o=0,p=Q(0),q=0,r=0,s=0,t=0,u=Q(0),v=Q(0),w=Q(0),x=Q(0),y=Q(0),z=0,A=Q(0),B=Q(0),C=Q(0),D=Q(0),E=Q(0),F=Q(0),G=Q(0),H=Q(0),I=Q(0),L=Q(0),M=0;e=ta-208|0;ta=e;a:{if(N[J[a+4>>2]+848>>2]>2];k=Q(Q(N[b+8>>2]*d)+p);v=N[c+4>>2];h=Q(Q(N[b+4>>2]*d)+v);w=N[c>>2];l=Q(Q(N[b>>2]*d)+w);r=J[a+8>>2];f=J[r+8>>2];q=J[a+4>>2];i=J[q+836>>2];s=(f|0)==(i|0);b:{if(!s){o=J[a+12>>2];i=J[o+8>>2];g=Q(k-N[i+60>>2]);m=Q(l-N[i+52>>2]);j=Q(h-N[i+56>>2]);x=Q(Q(N[i+44>>2]*g)+Q(Q(N[i+12>>2]*m)+Q(j*N[i+28>>2])));y=Q(Q(N[i+40>>2]*g)+Q(Q(N[i+8>>2]*m)+Q(j*N[i+24>>2])));g=Q(Q(N[i+36>>2]*g)+Q(Q(N[i+4>>2]*m)+Q(j*N[i+20>>2])));break b}g=Q(k-N[i+60>>2]);m=Q(l-N[i+52>>2]);j=Q(h-N[i+56>>2]);x=Q(Q(N[i+44>>2]*g)+Q(Q(N[i+12>>2]*m)+Q(j*N[i+28>>2])));y=Q(Q(N[i+40>>2]*g)+Q(Q(N[i+8>>2]*m)+Q(j*N[i+24>>2])));o=J[a+12>>2];f=J[o+8>>2];g=Q(Q(N[i+36>>2]*g)+Q(Q(N[i+4>>2]*m)+Q(j*N[i+20>>2])))}z=J[q+844>>2];A=N[f+20>>2];B=N[f+36>>2];C=N[f+40>>2];D=N[f+8>>2];E=N[f+24>>2];m=N[f+44>>2];j=N[f+60>>2];F=N[f+12>>2];G=N[f+52>>2];H=N[f+28>>2];I=N[f+56>>2];L=N[f+4>>2];J[e+28>>2]=0;u=m;m=Q(p-j);j=Q(w-G);p=Q(v-I);N[e+24>>2]=Q(u*m)+Q(Q(F*j)+Q(H*p));N[e+20>>2]=Q(C*m)+Q(Q(D*j)+Q(p*E));J[e+12>>2]=0;N[e+8>>2]=x;N[e+4>>2]=y;N[e>>2]=g;N[e+16>>2]=Q(B*m)+Q(Q(L*j)+Q(p*A));f=J[b+12>>2];J[e+72>>2]=J[b+8>>2];J[e+76>>2]=f;f=J[b>>2];b=J[b+4>>2];J[e+92>>2]=0;J[e+96>>2]=0;J[e+64>>2]=f;J[e+68>>2]=b;J[e+84>>2]=0;J[e+88>>2]=0;N[e+80>>2]=d;Ka(e+116|0,0,52);J[e+60>>2]=0;N[e+56>>2]=k;N[e+52>>2]=h;N[e+48>>2]=l;b=J[c+12>>2];J[e+40>>2]=J[c+8>>2];J[e+44>>2]=b;b=J[c+4>>2];J[e+32>>2]=J[c>>2];J[e+36>>2]=b;b=J[r>>2];b=b?b:r;c=J[o>>2];f=c?c:o;c:{if(!s){n=a+24|0;c=a+28|0;t=a+20|0;i=b;b=a+16|0;break c}n=a+28|0;c=a+24|0;t=a+16|0;i=f;f=b;b=a+20|0}f=J[f+4>>2];t=J[t>>2];M=J[b>>2];b=J[c>>2];c=J[n>>2];n=J[i+4>>2];J[e+204>>2]=n;J[e+112>>2]=c;J[e+108>>2]=b;J[e+104>>2]=M;J[e+100>>2]=t;J[e+200>>2]=f;if(J[f+4>>2]==31){f=J[(J[f+32>>2]+P(b,80)|0)+64>>2];J[e+200>>2]=f}if(J[n+4>>2]==31){n=J[(J[n+32>>2]+P(c,80)|0)+64>>2];J[e+204>>2]=n}i=a+4|0;d:{e:{b=J[f+16>>2];if(!b){break e}c=J[n+16>>2];if(!c){break e}h=N[b+12>>2];l=N[c+12>>2];g=N[b+8>>2];m=N[c+8>>2];d=N[c+4>>2];k=N[b+4>>2];N[e+96>>2]=N[b>>2]*N[c>>2];j=Q(k*d);j=j>2]=j>Q(10)?Q(10):j;g=Q(Q(g*d)+Q(k*m));g=g>2]=g>Q(10)?Q(10):g;d=Q(Q(h*d)+Q(k*l));d=dQ(10)?Q(10):d;break d}b=J[r+8>>2];d=N[b+228>>2];c=J[o+8>>2];k=N[c+228>>2];h=Q(d*k);h=h>2]=h>Q(10)?Q(10):h;N[e+96>>2]=N[b+232>>2]*N[c+232>>2];h=Q(Q(k*N[b+236>>2])+Q(d*N[c+236>>2]));h=h>2]=h>Q(10)?Q(10):h;d=Q(Q(k*N[b+240>>2])+Q(d*N[c+240>>2]));d=dQ(10)?Q(10):d}N[e+92>>2]=d;d=N[e+72>>2];f:{if(Q(R(d))>Q(.7071067690849304)){h=N[e+68>>2];l=Q(Q(h*h)+Q(d*d));k=Q(Q(1)/Q(Y(l)));l=Q(l*k);g=Q(k*Q(-d));j=N[e+64>>2];m=Q(g*j);d=Q(h*k);h=Q(d*Q(-j));j=Q(0);break f}l=N[e+64>>2];h=N[e+68>>2];g=Q(Q(l*l)+Q(h*h));k=Q(Q(1)/Q(Y(g)));m=Q(g*k);j=Q(k*Q(-h));h=Q(d*j);g=Q(l*k);l=Q(g*Q(-d));d=Q(0)}N[e+192>>2]=m;N[e+188>>2]=h;N[e+172>>2]=g;N[e+184>>2]=l;N[e+176>>2]=d;N[e+168>>2]=j;n=J[i>>2];o=J[q+844>>2];g:{if((o|0)<=0){b=-1;break g}k=N[e+8>>2];h=N[e+4>>2];l=N[e>>2];d=N[q+848>>2];d=Q(d*d);c=0;b=-1;while(1){f=q+P(c,208)|0;g=Q(N[f+12>>2]-k);m=Q(g*g);g=Q(N[f+4>>2]-l);u=Q(g*g);g=Q(N[f+8>>2]-h);g=Q(m+Q(u+Q(g*g)));f=g=0){b=n+P(f,208)|0;d=N[b+144>>2];k=N[b+140>>2];h=N[b+136>>2];c=J[b+168>>2];i:{if(K[e+128|0]&16){l=Q(Q(N[b+88>>2]*h)+Q(0));if(!(Q(Q(k*k)+Q(d*d))>Q(l*l))){break i}}n=J[b+120>>2];Pa(b+4|0,e,208);J[b+120>>2]=n;N[b+136>>2]=h;N[b+140>>2]=k;N[b+144>>2]=d}J[b+168>>2]=c;break h}f=Qc(n,e)}c=J[9112];j:{if(!c){break j}b=J[a+12>>2];a=J[a+8>>2];if(!(K[J[a+8>>2]+204|0]&8|K[J[b+8>>2]+204|0]&8)){break j}va[c|0]((J[i>>2]+P(f,208)|0)+4|0,s?a:b,J[e+100>>2],J[e+108>>2],s?b:a,J[e+104>>2],J[e+112>>2])|0}if(z){break a}a=J[9399];if(!a){break a}va[a|0](i)}ta=e+208|0}function qb(a){var b=0,c=0,d=0,e=Q(0),f=0,g=Q(0),h=Q(0),i=0,j=Q(0),k=Q(0),l=0,m=Q(0),n=Q(0),o=Q(0),p=Q(0),q=0,r=Q(0),s=Q(0);d=ta-32|0;ta=d;a:{b:{c:{d:{e:{f:{g:{b=J[a+372>>2];switch(J[b+32>>2]-1|0){case 3:break c;case 2:break d;case 1:break f;case 0:break g;default:break b}}c=J[a+364>>2]-1|0;while(1){J[d+8>>2]=0;J[d+12>>2]=0;J[d>>2]=0;J[d+4>>2]=0;J[d+(f<<2)>>2]=1065353216;i=J[a+372>>2];l=J[i+32>>2];b=(l<<2)+i|0;J[b+16>>2]=0;J[a+364>>2]=c;q=b;b=J[((c<<2)+a|0)+348>>2];J[q>>2]=b;J[i+32>>2]=l+1;g=N[d+8>>2];h=N[d>>2];j=N[d+4>>2];J[b+12>>2]=0;e=Q(Q(1)/Q(Y(Q(Q(g*g)+Q(Q(h*h)+Q(j*j))))));N[b+8>>2]=g*e;N[b+4>>2]=j*e;N[b>>2]=h*e;gb(d+16|0,a,b);c=J[d+28>>2];J[b+24>>2]=J[d+24>>2];J[b+28>>2]=c;c=J[d+20>>2];J[b+16>>2]=J[d+16>>2];J[b+20>>2]=c;if(qb(a)){break e}b=J[a+372>>2];c=J[b+32>>2]-1|0;J[b+32>>2]=c;b=J[b+(c<<2)>>2];J[((J[a+364>>2]<<2)+a|0)+348>>2]=b;c=J[a+372>>2];i=J[c+32>>2];l=(i<<2)+c|0;J[l>>2]=b;J[l+16>>2]=0;J[c+32>>2]=i+1;J[b+12>>2]=0;N[b+8>>2]=e*Q(-g);N[b+4>>2]=e*Q(-j);N[b>>2]=e*Q(-h);gb(d+16|0,a,b);c=J[d+28>>2];J[b+24>>2]=J[d+24>>2];J[b+28>>2]=c;c=J[d+20>>2];J[b+16>>2]=J[d+16>>2];J[b+20>>2]=c;if(qb(a)){break e}b=J[a+372>>2];c=J[b+32>>2]-1|0;J[b+32>>2]=c;b=J[b+(c<<2)>>2];c=J[a+364>>2];J[a+364>>2]=c+1;J[((c<<2)+a|0)+348>>2]=b;f=f+1|0;if((f|0)!=3){continue}break}break b}f=J[b+4>>2];b=J[b>>2];k=Q(N[f+20>>2]-N[b+20>>2]);m=Q(-k);n=Q(N[f+24>>2]-N[b+24>>2]);p=Q(-n);o=Q(N[f+16>>2]-N[b+16>>2]);s=Q(-o);while(1){J[d+8>>2]=0;J[d+12>>2]=0;J[d>>2]=0;J[d+4>>2]=0;J[d+(c<<2)>>2]=1065353216;e=N[d+4>>2];j=N[d>>2];g=Q(Q(o*e)+Q(j*m));r=N[d+8>>2];h=Q(Q(k*r)+Q(e*p));j=Q(Q(n*j)+Q(r*s));e=Q(Q(g*g)+Q(Q(h*h)+Q(j*j)));if(e>Q(0)){f=J[a+372>>2];i=J[f+32>>2];b=(i<<2)+f|0;J[b+16>>2]=0;l=J[a+364>>2]-1|0;J[a+364>>2]=l;q=b;b=J[((l<<2)+a|0)+348>>2];J[q>>2]=b;J[f+32>>2]=i+1;J[b+12>>2]=0;e=Q(Q(1)/Q(Y(e)));N[b+8>>2]=g*e;N[b+4>>2]=j*e;N[b>>2]=h*e;gb(d+16|0,a,b);f=J[d+28>>2];J[b+24>>2]=J[d+24>>2];J[b+28>>2]=f;f=J[d+20>>2];J[b+16>>2]=J[d+16>>2];J[b+20>>2]=f;if(qb(a)){break e}b=J[a+372>>2];f=J[b+32>>2]-1|0;J[b+32>>2]=f;b=J[b+(f<<2)>>2];J[((J[a+364>>2]<<2)+a|0)+348>>2]=b;f=J[a+372>>2];i=J[f+32>>2];l=(i<<2)+f|0;J[l>>2]=b;J[l+16>>2]=0;J[f+32>>2]=i+1;J[b+12>>2]=0;N[b+8>>2]=e*Q(-g);N[b+4>>2]=e*Q(-j);N[b>>2]=e*Q(-h);gb(d+16|0,a,b);f=J[d+28>>2];J[b+24>>2]=J[d+24>>2];J[b+28>>2]=f;f=J[d+20>>2];J[b+16>>2]=J[d+16>>2];J[b+20>>2]=f;if(qb(a)){break e}b=J[a+372>>2];f=J[b+32>>2]-1|0;J[b+32>>2]=f;b=J[b+(f<<2)>>2];f=J[a+364>>2];J[a+364>>2]=f+1;J[((f<<2)+a|0)+348>>2]=b}c=c+1|0;if((c|0)!=3){continue}break}break b}c=1;break a}c=J[b+4>>2];f=J[b>>2];e=N[f+16>>2];j=Q(N[c+16>>2]-e);i=J[b+8>>2];g=N[f+20>>2];h=Q(N[i+20>>2]-g);e=Q(N[i+16>>2]-e);k=Q(N[c+20>>2]-g);g=Q(Q(j*h)-Q(e*k));n=k;k=N[f+24>>2];m=Q(N[i+24>>2]-k);k=Q(N[c+24>>2]-k);h=Q(Q(n*m)-Q(h*k));j=Q(Q(k*e)-Q(m*j));e=Q(Q(g*g)+Q(Q(h*h)+Q(j*j)));if(!(e>Q(0))){break b}J[b+28>>2]=0;c=J[a+364>>2]-1|0;J[a+364>>2]=c;c=J[((c<<2)+a|0)+348>>2];J[b+32>>2]=4;J[b+12>>2]=c;J[c+12>>2]=0;e=Q(Q(1)/Q(Y(e)));N[c+8>>2]=g*e;N[c+4>>2]=j*e;N[c>>2]=h*e;gb(d+16|0,a,c);b=J[d+28>>2];J[c+24>>2]=J[d+24>>2];J[c+28>>2]=b;b=J[d+20>>2];J[c+16>>2]=J[d+16>>2];J[c+20>>2]=b;c=1;if(qb(a)){break a}b=J[a+372>>2];c=J[b+32>>2]-1|0;J[b+32>>2]=c;b=J[b+(c<<2)>>2];J[((J[a+364>>2]<<2)+a|0)+348>>2]=b;c=J[a+372>>2];f=J[c+32>>2];i=(f<<2)+c|0;J[i>>2]=b;J[i+16>>2]=0;J[c+32>>2]=f+1;J[b+12>>2]=0;N[b+8>>2]=e*Q(-g);N[b+4>>2]=e*Q(-j);N[b>>2]=e*Q(-h);gb(d+16|0,a,b);c=J[d+28>>2];J[b+24>>2]=J[d+24>>2];J[b+28>>2]=c;c=J[d+20>>2];J[b+16>>2]=J[d+16>>2];J[b+20>>2]=c;c=1;if(qb(a)){break a}b=J[a+372>>2];c=J[b+32>>2]-1|0;J[b+32>>2]=c;b=J[b+(c<<2)>>2];c=J[a+364>>2];J[a+364>>2]=c+1;J[((c<<2)+a|0)+348>>2]=b;break b}a=J[b>>2];f=J[b+12>>2];e=N[f+16>>2];j=Q(N[a+16>>2]-e);i=J[b+4>>2];g=N[f+20>>2];k=Q(N[i+20>>2]-g);b=J[b+8>>2];h=N[f+24>>2];m=Q(N[b+24>>2]-h);n=Q(N[a+20>>2]-g);p=Q(N[i+24>>2]-h);o=Q(N[b+16>>2]-e);h=Q(N[a+24>>2]-h);e=Q(N[i+16>>2]-e);g=Q(N[b+20>>2]-g);e=Q(Q(Q(Q(j*k)*m)+Q(Q(Q(Q(Q(n*p)*o)+Q(Q(h*e)*g))-Q(Q(p*j)*g))-Q(Q(e*n)*m)))-Q(Q(k*h)*o));c=1;if(e>Q(0)|e>2];va[J[J[c>>2]>>2]](c)|0;Fa(J[a+60>>2])}b=Ef(Ga(172));J[b>>2]=20500;J[a+60>>2]=b;e=J[a+56>>2];f=a+24|0;c=a+40|0;o=ta-48|0;ta=o;i=K[a+68|0];H[b+60|0]=i;a:{if(i){k=N[f>>2];l=N[f+4>>2];m=N[f+8>>2];J[b+16>>2]=0;m=Q(m+Q(-1));N[b+12>>2]=m;l=Q(l+Q(-1));N[b+8>>2]=l;k=Q(k+Q(-1));N[b+4>>2]=k;p=N[c>>2];q=N[c+4>>2];r=N[c+8>>2];H[b+60|0]=1;J[b+48>>2]=0;J[b+32>>2]=0;r=Q(r+Q(1));N[b+28>>2]=r;q=Q(q+Q(1));N[b+24>>2]=q;p=Q(p+Q(1));N[b+20>>2]=p;s=Q(Q(65533)/Q(r-m));N[b+44>>2]=s;d=Q(Q(65533)/Q(q-l));N[b+40>>2]=d;h=Q(Q(65533)/Q(p-k));N[b+36>>2]=h;n=Q(Q(m-m)*s);b:{if(n=Q(0)){c=~~n>>>0;break b}c=0}v=Q((c&65534)>>>0);n=Q(Q(l-l)*d);c:{if(n=Q(0)){c=~~n>>>0;break c}c=0}n=Q(l+Q(Q((c&65534)>>>0)/d));d=Q(Q(k-k)*h);d:{if(d=Q(0)){c=~~d>>>0;break d}c=0}d=Q(Q(k+Q(Q((c&65534)>>>0)/h))+Q(-1));if(d>2]=d;k=d}d=Q(n+Q(-1));if(d>2]=d;l=d}d=Q(Q(m+Q(v/s))+Q(-1));if(d>2]=d;m=d}d=Q(r-m);s=Q(Q(65533)/d);d=Q(Q(d*s)+Q(1));e:{if(d=Q(0)){c=~~d>>>0;break e}c=0}n=Q((c|1)>>>0);h=Q(q-l);d=Q(Q(65533)/h);h=Q(Q(h*d)+Q(1));f:{if(h=Q(0)){c=~~h>>>0;break f}c=0}v=Q(l+Q(Q((c|1)>>>0)/d));h=Q(p-k);d=Q(Q(65533)/h);h=Q(Q(h*d)+Q(1));g:{if(h=Q(0)){c=~~h>>>0;break g}c=0}d=Q(Q(k+Q(Q((c|1)>>>0)/d))+Q(1));if(d>p){N[b+20>>2]=d;p=d}d=Q(v+Q(1));if(d>q){N[b+24>>2]=d;q=d}d=Q(Q(m+Q(n/s))+Q(1));if(d>r){N[b+28>>2]=d;r=d}J[b+48>>2]=0;N[b+44>>2]=Q(65533)/Q(r-m);N[b+40>>2]=Q(65533)/Q(q-l);N[b+36>>2]=Q(65533)/Q(p-k);J[o+32>>2]=b;J[o+28>>2]=b+104;J[o+24>>2]=20572;va[J[J[e>>2]+8>>2]](e,o+24|0,b+4|0,b+20|0);c=J[b+128>>2];i=J[b+108>>2];j=i<<1;if((c|0)<(j|0)){if((j|0)>J[b+132>>2]){h:{if(!i){f=0;e=c;break h}f=Ga(i<<5);e=J[b+128>>2]}if((e|0)>0){while(1){g=t<<4;u=g+f|0;g=g+J[b+136>>2]|0;w=J[g+4>>2];J[u>>2]=J[g>>2];J[u+4>>2]=w;w=J[g+12>>2];J[u+8>>2]=J[g+8>>2];J[u+12>>2]=w;t=t+1|0;if((e|0)!=(t|0)){continue}break}}e=J[b+136>>2];if(!(!e|!K[b+140|0])){Fa(e)}J[b+136>>2]=f;H[b+140|0]=1;J[b+132>>2]=j}while(1){e=J[b+136>>2]+(c<<4)|0;J[e>>2]=0;J[e+4>>2]=0;J[e+8>>2]=0;J[e+12>>2]=0;c=c+1|0;if((j|0)!=(c|0)){continue}break}}J[b+128>>2]=j;break a}J[o+40>>2]=20704;J[o+44>>2]=b- -64;c=o;J[c+32>>2]=-581039253;J[c+36>>2]=0;J[c+24>>2]=-581039253;J[c+28>>2]=-581039253;J[c+16>>2]=1566444395;J[c+20>>2]=0;J[c+8>>2]=1566444395;J[c+12>>2]=1566444395;va[J[J[e>>2]+8>>2]](e,c+40|0,c+24|0,c+8|0);c=J[b+88>>2];i=J[b+68>>2];j=i<<1;if((c|0)<(j|0)){if((j|0)>J[b+92>>2]){if(i){g=Ga(i<<7);e=J[b+88>>2]}else{e=c}if((e|0)>0){f=0;while(1){t=f<<6;Pa(t+g|0,t+J[b+96>>2]|0,64);f=f+1|0;if((e|0)!=(f|0)){continue}break}}e=J[b+96>>2];if(!(!e|!K[b+100|0])){Fa(e)}J[b+96>>2]=g;H[b+100|0]=1;J[b+92>>2]=j}while(1){Ka(J[b+96>>2]+(c<<6)|0,0,64);c=c+1|0;if((j|0)!=(c|0)){continue}break}}J[b+88>>2]=j}J[b+56>>2]=0;id(b,0,i);if(!(J[b+152>>2]|!K[b+60|0])){if(J[b+156>>2]){c=1}else{i=Ga(32);j=J[b+152>>2];if((j|0)>0){f=0;while(1){e=f<<5;c=e+i|0;e=e+J[b+160>>2]|0;g=J[e+4>>2];J[c>>2]=J[e>>2];J[c+4>>2]=g;g=J[e+28>>2];J[c+24>>2]=J[e+24>>2];J[c+28>>2]=g;g=J[e+20>>2];J[c+16>>2]=J[e+16>>2];J[c+20>>2]=g;g=J[e+12>>2];J[c+8>>2]=J[e+8>>2];J[c+12>>2]=g;f=f+1|0;if((j|0)!=(f|0)){continue}break}}c=J[b+160>>2];if(!(!c|!K[b+164|0])){Fa(c)}J[b+160>>2]=i;H[b+164|0]=1;J[b+156>>2]=1;c=J[b+152>>2]+1|0}J[b+152>>2]=c;c=J[b+160>>2];e=J[b+136>>2];I[c>>1]=L[e>>1];I[c+2>>1]=L[e+2>>1];I[c+4>>1]=L[e+4>>1];I[c+6>>1]=L[e+6>>1];I[c+8>>1]=L[e+8>>1];f=L[e+10>>1];J[c+12>>2]=0;I[c+10>>1]=f;f=c;c=J[e+12>>2];J[f+16>>2]=(c|0)>=0?1:0-c|0}J[b+168>>2]=J[b+152>>2];c=J[b+116>>2];if(!(!c|!K[b+120|0])){Fa(c)}J[b+116>>2]=0;H[b+120|0]=1;J[b+108>>2]=0;J[b+112>>2]=0;c=J[b+76>>2];if(!(!c|!K[b+80|0])){Fa(c)}J[b+76>>2]=0;H[b+80|0]=1;J[b+68>>2]=0;J[b+72>>2]=0;ta=o+48|0;H[a+69|0]=1}function li(a,b){a=a|0;b=Q(b);var c=0,d=0,e=0,f=0,g=Q(0),h=Q(0),i=0,j=Q(0),k=0,l=0,m=0,n=Q(0),o=0,p=0,q=0,r=0,s=0,t=Q(0),u=Q(0),v=Q(0),w=Q(0),x=Q(0),y=Q(0),z=Q(0),A=Q(0),B=Q(0),C=Q(0),D=Q(0),E=Q(0),F=Q(0),G=Q(0),I=Q(0),L=0,M=Q(0);p=ta-16|0;ta=p;Na(3733);ce(a);l=J[a+248>>2];if((l|0)>0){r=J[a+256>>2];c=ta-512|0;ta=c;if((l|0)>0){s=c+124|0;while(1){e=J[(m<<2)+r>>2];J[e+268>>2]=1065353216;a:{b:{switch(J[e+220>>2]-2|0){case 0:case 3:break a;default:break b}}if(K[e+204|0]&3){break a}Db(e,b,c+448|0);if(!K[a+44|0]){break a}g=N[e+276>>2];g=Q(g*g);if(g==Q(0)){break a}h=Q(N[c+504>>2]-N[e+60>>2]);j=Q(h*h);h=Q(N[c+496>>2]-N[e+52>>2]);n=Q(h*h);h=Q(N[c+500>>2]-N[e+56>>2]);if(!(g>2]+4>>2]<=19){J[9576]=J[9576]+1;d=J[a+68>>2];d=va[J[J[d>>2]+36>>2]](d)|0;i=J[a+24>>2];J[c+356>>2]=-1;J[c+360>>2]=0;J[c+348>>2]=1065353216;J[c+352>>2]=1;f=J[e+64>>2];J[c+372>>2]=J[e+60>>2];J[c+376>>2]=f;f=J[e+56>>2];J[c+364>>2]=J[e+52>>2];J[c+368>>2]=f;f=J[c+508>>2];J[c+388>>2]=J[c+504>>2];J[c+392>>2]=f;f=J[c+500>>2];J[c+380>>2]=J[c+496>>2];J[c+384>>2]=f;J[c+440>>2]=i;J[c+436>>2]=d;J[c+432>>2]=0;J[c+344>>2]=24640;J[c+428>>2]=e;g=N[e+272>>2];i=_a(c+284|0);J[i>>2]=21412;J[c+312>>2]=1065353216;J[c+304>>2]=1065353216;J[c+308>>2]=1065353216;J[c+288>>2]=8;J[c+332>>2]=0;J[c+324>>2]=0;J[c+328>>2]=0;J[c+316>>2]=0;J[c+320>>2]=0;J[c+340>>2]=0;N[c+336>>2]=g;N[c+320>>2]=g;N[c+432>>2]=N[a+56>>2];d=J[e+188>>2];J[c+352>>2]=J[d+4>>2];J[c+356>>2]=J[d+8>>2];d=J[c+460>>2];J[c+224>>2]=J[c+456>>2];J[c+228>>2]=d;d=J[c+452>>2];J[c+216>>2]=J[c+448>>2];J[c+220>>2]=d;d=J[c+476>>2];J[c+240>>2]=J[c+472>>2];J[c+244>>2]=d;d=J[c+468>>2];J[c+232>>2]=J[c+464>>2];J[c+236>>2]=d;d=J[c+492>>2];J[c+256>>2]=J[c+488>>2];J[c+260>>2]=d;d=J[c+484>>2];J[c+248>>2]=J[c+480>>2];J[c+252>>2]=d;d=J[c+508>>2];J[c+272>>2]=J[c+504>>2];J[c+276>>2]=d;d=J[c+500>>2];J[c+264>>2]=J[c+496>>2];J[c+268>>2]=d;d=e+4|0;f=J[d+12>>2];J[c+224>>2]=J[d+8>>2];J[c+228>>2]=f;f=J[d+4>>2];J[c+216>>2]=J[d>>2];J[c+220>>2]=f;f=J[e+32>>2];J[c+240>>2]=J[e+28>>2];J[c+244>>2]=f;f=J[e+24>>2];J[c+232>>2]=J[e+20>>2];J[c+236>>2]=f;f=J[e+48>>2];J[c+256>>2]=J[e+44>>2];J[c+260>>2]=f;f=J[e+40>>2];J[c+248>>2]=J[e+36>>2];J[c+252>>2]=f;Pb(a,i,d,c+216|0,c+344|0,Q(0));d=J[c+360>>2];c:{if(!d){break c}g=N[c+348>>2];if(!(g>2]-N[e+52>>2]));j=Q(g*Q(N[c+500>>2]-N[e+56>>2]));g=Q(g*Q(N[c+504>>2]-N[e+60>>2]));n=Q(Q(Q(h*Q(-N[c+396>>2]))-Q(j*N[c+400>>2]))-Q(g*N[c+404>>2]));i=J[a+24>>2];i=va[J[J[i>>2]+12>>2]](i,e,d)|0;d=J[a+324>>2];d:{if((d|0)!=J[a+328>>2]){break d}f=d?d<<1:1;if((f|0)<=(d|0)){break d}k=0;o=0;if(f){o=Ga(f<<2);d=J[a+324>>2]}if((d|0)>0){while(1){q=k<<2;J[q+o>>2]=J[J[a+332>>2]+q>>2];k=k+1|0;if((k|0)!=(d|0)){continue}break}}k=J[a+332>>2];if(!(!k|!K[a+336|0])){Fa(k);d=J[a+324>>2]}J[a+332>>2]=o;H[a+336|0]=1;J[a+328>>2]=f}J[J[a+332>>2]+(d<<2)>>2]=i;J[a+324>>2]=d+1;t=N[e+60>>2];u=N[e+52>>2];v=N[e+56>>2];d=c+8|0;Ua(d,J[c+360>>2]+4|0);w=N[c+56>>2];x=N[c+16>>2];y=N[c+8>>2];z=N[c+12>>2];A=N[c+60>>2];B=N[c+32>>2];C=N[c+24>>2];D=N[c+28>>2];E=N[c+64>>2];F=N[c+48>>2];G=N[c+40>>2];I=N[c+44>>2];J[c+16>>2]=0;J[c+20>>2]=0;J[c+8>>2]=0;J[c+12>>2]=0;J[c+36>>2]=0;g=Q(g+t);h=Q(h+u);j=Q(j+v);N[c+32>>2]=E+Q(Q(F*g)+Q(Q(G*h)+Q(I*j)));N[c+28>>2]=A+Q(Q(g*B)+Q(Q(h*C)+Q(j*D)));N[c+24>>2]=w+Q(Q(g*x)+Q(Q(h*y)+Q(j*z)));f=J[c+408>>2];J[c+80>>2]=J[c+404>>2];J[c+84>>2]=f;f=J[c+400>>2];J[c+72>>2]=J[c+396>>2];J[c+76>>2]=f;N[c+88>>2]=n;J[c+100>>2]=0;J[c+104>>2]=0;J[c+92>>2]=0;J[c+96>>2]=0;Ka(s,0,52);d=i+P(Qc(i,d),208)|0;J[d+100>>2]=0;L=d,M=Nf(e,J[c+360>>2]),N[L+88>>2]=M;i=J[e+56>>2];J[d+52>>2]=J[e+52>>2];J[d+56>>2]=i;i=J[e+64>>2];J[d+60>>2]=J[e+60>>2];J[d+64>>2]=i;J[d+48>>2]=0;N[d+44>>2]=g;N[d+40>>2]=j;N[d+36>>2]=h}}Ma()}m=m+1|0;if((l|0)!=(m|0)){continue}break}}ta=c+512|0}Ma();ta=p+16|0}function ik(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=Q(0),j=Q(0),k=Q(0),l=Q(0),m=Q(0),n=Q(0),o=0,p=0,q=0,r=0,s=0;c=ta-80|0;ta=c;s=va[J[J[a>>2]+28>>2]](a)|0;if((s|0)>0){i=N[a+12>>2];j=N[a+8>>2];k=N[a+4>>2];while(1){va[J[J[a>>2]+16>>2]](a,c+76|0,c+52|0,c- -64|0,c+56|0,c+72|0,c+68|0,c+48|0,c+60|0,r);a:{b:{switch(J[c+64>>2]){case 0:c:{switch(J[c+60>>2]-2|0){case 0:d=0;if(J[c+48>>2]<=0){break a}while(1){g=J[c+76>>2];h=J[c+56>>2];e=J[c+72>>2]+P(J[c+68>>2],d)|0;f=g+P(h,J[e>>2])|0;l=N[f>>2];m=N[f+4>>2];n=N[f+8>>2];J[c+12>>2]=0;N[c+8>>2]=i*n;N[c+4>>2]=j*m;N[c>>2]=k*l;f=g+P(h,J[e+4>>2])|0;l=N[f>>2];m=N[f+4>>2];n=N[f+8>>2];J[c+28>>2]=0;N[c+24>>2]=i*n;N[c+20>>2]=j*m;N[c+16>>2]=k*l;e=g+P(h,J[e+8>>2])|0;l=N[e>>2];m=N[e+4>>2];n=N[e+8>>2];J[c+44>>2]=0;N[c+40>>2]=i*n;N[c+36>>2]=j*m;N[c+32>>2]=k*l;va[J[J[b>>2]+8>>2]](b,c,r,d);d=d+1|0;if((d|0)>2]){continue}break};break a;case 1:d=0;if(J[c+48>>2]<=0){break a}while(1){g=J[c+76>>2];h=J[c+56>>2];e=J[c+72>>2]+P(J[c+68>>2],d)|0;f=g+P(h,L[e>>1])|0;l=N[f>>2];m=N[f+4>>2];n=N[f+8>>2];J[c+12>>2]=0;N[c+8>>2]=i*n;N[c+4>>2]=j*m;N[c>>2]=k*l;f=g+P(h,L[e+2>>1])|0;l=N[f>>2];m=N[f+4>>2];n=N[f+8>>2];J[c+28>>2]=0;N[c+24>>2]=i*n;N[c+20>>2]=j*m;N[c+16>>2]=k*l;e=g+P(h,L[e+4>>1])|0;l=N[e>>2];m=N[e+4>>2];n=N[e+8>>2];J[c+44>>2]=0;N[c+40>>2]=i*n;N[c+36>>2]=j*m;N[c+32>>2]=k*l;va[J[J[b>>2]+8>>2]](b,c,r,d);d=d+1|0;if((d|0)>2]){continue}break};break a;case 3:break c;default:break a}}d=0;if(J[c+48>>2]<=0){break a}while(1){g=J[c+76>>2];h=J[c+56>>2];e=J[c+72>>2]+P(J[c+68>>2],d)|0;f=g+P(h,K[e|0])|0;l=N[f>>2];m=N[f+4>>2];n=N[f+8>>2];J[c+12>>2]=0;N[c+8>>2]=i*n;N[c+4>>2]=j*m;N[c>>2]=k*l;f=g+P(h,K[e+1|0])|0;l=N[f>>2];m=N[f+4>>2];n=N[f+8>>2];J[c+28>>2]=0;N[c+24>>2]=i*n;N[c+20>>2]=j*m;N[c+16>>2]=k*l;e=g+P(h,K[e+2|0])|0;l=N[e>>2];m=N[e+4>>2];n=N[e+8>>2];J[c+44>>2]=0;N[c+40>>2]=i*n;N[c+36>>2]=j*m;N[c+32>>2]=k*l;va[J[J[b>>2]+8>>2]](b,c,r,d);d=d+1|0;if((d|0)>2]){continue}break};break a;case 1:break b;default:break a}}d:{switch(J[c+60>>2]-2|0){case 0:d=0;if(J[c+48>>2]<=0){break a}while(1){g=J[c+76>>2];h=J[c+56>>2];e=J[c+72>>2]+P(J[c+68>>2],d)|0;f=g+P(h,J[e>>2])|0;o=O[f>>3];p=O[f+8>>3];q=O[f+16>>3];J[c+12>>2]=0;N[c+8>>2]=i*Q(q);N[c+4>>2]=j*Q(p);N[c>>2]=k*Q(o);f=g+P(h,J[e+4>>2])|0;o=O[f>>3];p=O[f+8>>3];q=O[f+16>>3];J[c+28>>2]=0;N[c+24>>2]=i*Q(q);N[c+20>>2]=j*Q(p);N[c+16>>2]=k*Q(o);e=g+P(h,J[e+8>>2])|0;o=O[e>>3];p=O[e+8>>3];q=O[e+16>>3];J[c+44>>2]=0;N[c+40>>2]=i*Q(q);N[c+36>>2]=j*Q(p);N[c+32>>2]=k*Q(o);va[J[J[b>>2]+8>>2]](b,c,r,d);d=d+1|0;if((d|0)>2]){continue}break};break a;case 1:d=0;if(J[c+48>>2]<=0){break a}while(1){g=J[c+76>>2];h=J[c+56>>2];e=J[c+72>>2]+P(J[c+68>>2],d)|0;f=g+P(h,L[e>>1])|0;o=O[f>>3];p=O[f+8>>3];q=O[f+16>>3];J[c+12>>2]=0;N[c+8>>2]=i*Q(q);N[c+4>>2]=j*Q(p);N[c>>2]=k*Q(o);f=g+P(h,L[e+2>>1])|0;o=O[f>>3];p=O[f+8>>3];q=O[f+16>>3];J[c+28>>2]=0;N[c+24>>2]=i*Q(q);N[c+20>>2]=j*Q(p);N[c+16>>2]=k*Q(o);e=g+P(h,L[e+4>>1])|0;o=O[e>>3];p=O[e+8>>3];q=O[e+16>>3];J[c+44>>2]=0;N[c+40>>2]=i*Q(q);N[c+36>>2]=j*Q(p);N[c+32>>2]=k*Q(o);va[J[J[b>>2]+8>>2]](b,c,r,d);d=d+1|0;if((d|0)>2]){continue}break};break a;case 3:break d;default:break a}}d=0;if(J[c+48>>2]<=0){break a}while(1){g=J[c+76>>2];h=J[c+56>>2];e=J[c+72>>2]+P(J[c+68>>2],d)|0;f=g+P(h,K[e|0])|0;o=O[f>>3];p=O[f+8>>3];q=O[f+16>>3];J[c+12>>2]=0;N[c+8>>2]=i*Q(q);N[c+4>>2]=j*Q(p);N[c>>2]=k*Q(o);f=g+P(h,K[e+1|0])|0;o=O[f>>3];p=O[f+8>>3];q=O[f+16>>3];J[c+28>>2]=0;N[c+24>>2]=i*Q(q);N[c+20>>2]=j*Q(p);N[c+16>>2]=k*Q(o);e=g+P(h,K[e+2|0])|0;o=O[e>>3];p=O[e+8>>3];q=O[e+16>>3];J[c+44>>2]=0;N[c+40>>2]=i*Q(q);N[c+36>>2]=j*Q(p);N[c+32>>2]=k*Q(o);va[J[J[b>>2]+8>>2]](b,c,r,d);d=d+1|0;if((d|0)>2]){continue}break}}va[J[J[a>>2]+24>>2]](a,r);r=r+1|0;if((s|0)!=(r|0)){continue}break}}ta=c+80|0}function jn(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=Q(0),f=Q(0),g=Q(0),h=Q(0),i=Q(0),j=Q(0),k=Q(0),l=Q(0),m=Q(0),n=0,o=0,p=Q(0),q=Q(0),r=Q(0),s=Q(0),t=Q(0),u=Q(0),v=Q(0),w=Q(0),x=Q(0),y=Q(0),z=Q(0),A=Q(0),B=0,C=0,D=0,E=0,F=Q(0),G=Q(0),H=Q(0),I=0,K=0,L=0;d=ta-256|0;ta=d;Na(3800);J[a+4>>2]=J[a+4>>2]+1;B=J[c+36>>2];D=P(B,80);E=J[a+12>>2];I=J[E+4>>2];n=J[(D+J[I+32>>2]|0)+64>>2];c=J[a+8>>2];C=J[b+36>>2];b=J[J[c+4>>2]+32>>2]+P(C,80)|0;o=J[b+64>>2];c=J[c+12>>2];F=N[c+52>>2];G=N[c+56>>2];e=N[c+24>>2];f=N[c+20>>2];g=N[c+40>>2];h=N[c+36>>2];H=N[c+48>>2];i=N[c+8>>2];j=N[c>>2];k=N[c+4>>2];l=N[c+16>>2];m=N[c+32>>2];p=N[b+32>>2];q=N[b>>2];r=N[b+16>>2];s=N[b+56>>2];t=N[b+48>>2];u=N[b+52>>2];v=N[b+36>>2];w=N[b+4>>2];x=N[b+20>>2];y=N[b+40>>2];z=N[b+8>>2];A=N[b+24>>2];b=0;J[d+248>>2]=0;J[d+232>>2]=0;J[d+216>>2]=0;N[d+228>>2]=Q(y*g)+Q(Q(z*m)+Q(h*A));N[d+224>>2]=Q(v*g)+Q(Q(w*m)+Q(h*x));N[d+212>>2]=Q(y*e)+Q(Q(z*l)+Q(f*A));N[d+208>>2]=Q(v*e)+Q(Q(w*l)+Q(f*x));N[d+244>>2]=G+Q(Q(s*g)+Q(Q(t*m)+Q(h*u)));N[d+240>>2]=F+Q(Q(s*e)+Q(Q(t*l)+Q(f*u)));J[d+200>>2]=0;N[d+220>>2]=Q(p*g)+Q(Q(q*m)+Q(h*r));N[d+204>>2]=Q(p*e)+Q(Q(q*l)+Q(f*r));N[d+196>>2]=Q(y*i)+Q(Q(z*j)+Q(k*A));N[d+192>>2]=Q(v*i)+Q(Q(w*j)+Q(k*x));N[d+188>>2]=Q(p*i)+Q(Q(q*j)+Q(k*r));N[d+236>>2]=H+Q(Q(s*i)+Q(Q(t*j)+Q(k*u)));c=J[E+12>>2];F=N[c+52>>2];G=N[c+56>>2];e=N[c+24>>2];f=N[c+20>>2];g=N[c+40>>2];h=N[c+36>>2];H=N[c+48>>2];i=N[c+8>>2];j=N[c>>2];k=N[c+4>>2];l=N[c+16>>2];m=N[c+32>>2];c=J[I+32>>2]+D|0;p=N[c+32>>2];q=N[c>>2];r=N[c+16>>2];s=N[c+56>>2];t=N[c+48>>2];u=N[c+52>>2];v=N[c+36>>2];w=N[c+4>>2];x=N[c+20>>2];y=N[c+40>>2];z=N[c+8>>2];A=N[c+24>>2];J[d+184>>2]=0;J[d+168>>2]=0;J[d+152>>2]=0;N[d+164>>2]=Q(y*g)+Q(Q(z*m)+Q(h*A));N[d+160>>2]=Q(v*g)+Q(Q(w*m)+Q(h*x));N[d+148>>2]=Q(y*e)+Q(Q(z*l)+Q(f*A));N[d+144>>2]=Q(v*e)+Q(Q(w*l)+Q(f*x));N[d+180>>2]=G+Q(Q(s*g)+Q(Q(t*m)+Q(h*u)));N[d+176>>2]=F+Q(Q(s*e)+Q(Q(t*l)+Q(f*u)));J[d+136>>2]=0;N[d+156>>2]=Q(p*g)+Q(Q(q*m)+Q(h*r));N[d+140>>2]=Q(p*e)+Q(Q(q*l)+Q(f*r));N[d+132>>2]=Q(y*i)+Q(Q(z*j)+Q(k*A));N[d+128>>2]=Q(v*i)+Q(Q(w*j)+Q(k*x));N[d+124>>2]=Q(p*i)+Q(Q(q*j)+Q(k*r));N[d+172>>2]=H+Q(Q(s*i)+Q(Q(t*j)+Q(k*u)));va[J[J[o>>2]+8>>2]](o,d+188|0,d+108|0,d+92|0);va[J[J[n>>2]+8>>2]](n,d+124|0,d+76|0,d+60|0);e=N[J[a+24>>2]+32>>2];f=Q(N[d+108>>2]-e);N[d+108>>2]=f;N[d+112>>2]=N[d+112>>2]-e;N[d+116>>2]=N[d+116>>2]-e;N[d+92>>2]=e+N[d+92>>2];N[d+96>>2]=e+N[d+96>>2];N[d+100>>2]=e+N[d+100>>2];c=J[9108];a:{if(c){if(!(va[c|0](o,n)|0)){break a}f=N[d+108>>2]}b=f>N[d+60>>2]|N[d+92>>2]>2]?b:1;c=0;if((N[d+100>>2]>2]|N[d+116>>2]>N[d+68>>2]?c:b)^1|N[d+96>>2]>2]|N[d+112>>2]>N[d+64>>2]){break a}b=J[a+8>>2];c=J[b+8>>2];J[d+56>>2]=C;J[d+52>>2]=-1;J[d+44>>2]=c;J[d+40>>2]=o;J[d+36>>2]=b;J[d+48>>2]=d+188;b=J[a+12>>2];c=J[b+8>>2];J[d+32>>2]=B;J[d+28>>2]=-1;J[d+20>>2]=c;J[d+16>>2]=n;J[d+12>>2]=b;J[d+24>>2]=d+124;b=J[a+28>>2];J[9111]=J[9111]+1;c=B<<16|C;c=(c<<15^-1)+c|0;c=P(c>>>10^c,9);c=c>>>6^c;c=(c<<11^-1)+c|0;c=J[b+12>>2]-1&(c>>>16^c);b:{c:{if((c|0)>=J[b+28>>2]){break c}c=J[J[b+36>>2]+(c<<2)>>2];if((c|0)==-1){break c}n=J[b+56>>2];o=J[b+16>>2];while(1){b=o+P(c,12)|0;if(J[b>>2]==(C|0)&J[b+4>>2]==(B|0)){break b}c=J[n+(c<<2)>>2];if((c|0)!=-1){continue}break}}b=0}d:{if(N[J[a+24>>2]+32>>2]>Q(0)){b=J[a+16>>2];b=va[J[J[b>>2]+8>>2]](b,d+36|0,d+12|0,0,2)|0;break d}if(b){b=J[b+8>>2];break d}b=J[a+16>>2];b=va[J[J[b>>2]+8>>2]](b,d+36|0,d+12|0,J[a+32>>2],1)|0;c=J[a+28>>2];K=va[J[J[c>>2]+12>>2]](c,C,B)|0,L=b,J[K+8>>2]=L}c=J[a+24>>2];n=J[c+8>>2];o=J[c+12>>2];D=d+12|0;J[c+12>>2]=D;E=d+36|0;J[c+8>>2]=E;va[J[J[c>>2]+8>>2]](c,-1,C);c=J[a+24>>2];va[J[J[c>>2]+12>>2]](c,-1,B);va[J[J[b>>2]+8>>2]](b,E,D,J[a+20>>2],J[a+24>>2]);a=J[a+24>>2];J[a+8>>2]=n;J[a+12>>2]=o}Ma();ta=d+256|0}function Zh(a,b){a=a|0;b=Q(b);var c=0,d=0,e=0,f=Q(0),g=0,h=Q(0),i=0,j=Q(0),k=0,l=0,m=Q(0),n=0,o=0,p=0,q=0,r=Q(0),s=Q(0),t=Q(0),u=Q(0),v=Q(0),w=Q(0),x=Q(0),y=Q(0),z=Q(0),A=Q(0),B=Q(0),C=Q(0),D=Q(0),E=Q(0),F=Q(0),G=0,I=Q(0);c=ta-512|0;ta=c;Na(3733);ce(a);o=J[a+248>>2];if((o|0)>0){q=c+124|0;while(1){e=J[J[a+256>>2]+(l<<2)>>2];J[e+268>>2]=1065353216;a:{b:{switch(J[e+220>>2]-2|0){case 0:case 3:break a;default:break b}}if(K[e+204|0]&3){break a}Db(e,b,c+444|0);if(!K[a+44|0]){break a}f=N[e+276>>2];f=Q(f*f);if(f==Q(0)){break a}h=Q(N[c+500>>2]-N[e+60>>2]);j=Q(h*h);h=Q(N[c+492>>2]-N[e+52>>2]);m=Q(h*h);h=Q(N[c+496>>2]-N[e+56>>2]);if(!(f>2]+4>>2]<=19){J[c+356>>2]=-1;J[c+360>>2]=0;J[c+348>>2]=1065353216;J[c+352>>2]=1;d=J[e+64>>2];J[c+372>>2]=J[e+60>>2];J[c+376>>2]=d;d=J[e+56>>2];J[c+364>>2]=J[e+52>>2];J[c+368>>2]=d;d=J[c+504>>2];J[c+388>>2]=J[c+500>>2];J[c+392>>2]=d;d=J[c+496>>2];J[c+380>>2]=J[c+492>>2];J[c+384>>2]=d;J[c+436>>2]=a;J[c+428>>2]=0;J[c+344>>2]=25120;J[c+432>>2]=e;f=N[e+272>>2];i=_a(c+284|0);J[i>>2]=21412;J[c+312>>2]=1065353216;J[c+304>>2]=1065353216;J[c+308>>2]=1065353216;J[c+288>>2]=8;J[c+332>>2]=0;J[c+324>>2]=0;J[c+328>>2]=0;J[c+316>>2]=0;J[c+320>>2]=0;J[c+340>>2]=0;N[c+336>>2]=f;N[c+320>>2]=f;d=J[e+188>>2];J[c+352>>2]=J[d+4>>2];J[c+356>>2]=J[d+8>>2];d=J[c+456>>2];J[c+224>>2]=J[c+452>>2];J[c+228>>2]=d;d=J[c+448>>2];J[c+216>>2]=J[c+444>>2];J[c+220>>2]=d;d=J[c+472>>2];J[c+240>>2]=J[c+468>>2];J[c+244>>2]=d;d=J[c+464>>2];J[c+232>>2]=J[c+460>>2];J[c+236>>2]=d;d=J[c+488>>2];J[c+256>>2]=J[c+484>>2];J[c+260>>2]=d;d=J[c+480>>2];J[c+248>>2]=J[c+476>>2];J[c+252>>2]=d;d=J[c+504>>2];J[c+272>>2]=J[c+500>>2];J[c+276>>2]=d;d=J[c+496>>2];J[c+264>>2]=J[c+492>>2];J[c+268>>2]=d;d=e+4|0;g=J[d+12>>2];J[c+224>>2]=J[d+8>>2];J[c+228>>2]=g;g=J[d+4>>2];J[c+216>>2]=J[d>>2];J[c+220>>2]=g;g=J[e+32>>2];J[c+240>>2]=J[e+28>>2];J[c+244>>2]=g;g=J[e+24>>2];J[c+232>>2]=J[e+20>>2];J[c+236>>2]=g;g=J[e+48>>2];J[c+256>>2]=J[e+44>>2];J[c+260>>2]=g;g=J[e+40>>2];J[c+248>>2]=J[e+36>>2];J[c+252>>2]=g;Pb(a,i,d,c+216|0,c+344|0,Q(0));d=J[c+360>>2];if(d){f=N[c+348>>2];h=Q(Q(N[c+492>>2]-N[e+52>>2])*f);j=Q(Q(N[c+496>>2]-N[e+56>>2])*f);f=Q(f*Q(N[c+500>>2]-N[e+60>>2]));m=Q(Q(Q(h*Q(-N[c+396>>2]))-Q(j*N[c+400>>2]))-Q(f*N[c+404>>2]));i=J[a+24>>2];i=va[J[J[i>>2]+12>>2]](i,e,d)|0;d=J[a+324>>2];c:{if((d|0)!=J[a+328>>2]){break c}g=d?d<<1:1;if((g|0)<=(d|0)){break c}k=0;n=0;if(g){n=Ga(g<<2);d=J[a+324>>2]}if((d|0)>0){while(1){p=k<<2;J[p+n>>2]=J[J[a+332>>2]+p>>2];k=k+1|0;if((k|0)!=(d|0)){continue}break}}k=J[a+332>>2];if(!(!k|!K[a+336|0])){Fa(k);d=J[a+324>>2]}J[a+332>>2]=n;H[a+336|0]=1;J[a+328>>2]=g}J[J[a+332>>2]+(d<<2)>>2]=i;J[a+324>>2]=d+1;r=N[e+60>>2];s=N[e+52>>2];t=N[e+56>>2];d=c+8|0;Ua(d,J[c+360>>2]+4|0);u=N[c+56>>2];v=N[c+16>>2];w=N[c+8>>2];x=N[c+12>>2];y=N[c+60>>2];z=N[c+32>>2];A=N[c+24>>2];B=N[c+28>>2];C=N[c+64>>2];D=N[c+48>>2];E=N[c+40>>2];F=N[c+44>>2];J[c+16>>2]=0;J[c+20>>2]=0;J[c+8>>2]=0;J[c+12>>2]=0;J[c+36>>2]=0;f=Q(f+r);h=Q(h+s);j=Q(j+t);N[c+32>>2]=C+Q(Q(D*f)+Q(Q(E*h)+Q(F*j)));N[c+28>>2]=y+Q(Q(f*z)+Q(Q(h*A)+Q(j*B)));N[c+24>>2]=u+Q(Q(f*v)+Q(Q(h*w)+Q(j*x)));g=J[c+408>>2];J[c+80>>2]=J[c+404>>2];J[c+84>>2]=g;g=J[c+400>>2];J[c+72>>2]=J[c+396>>2];J[c+76>>2]=g;N[c+88>>2]=m;J[c+100>>2]=0;J[c+104>>2]=0;J[c+92>>2]=0;J[c+96>>2]=0;Ka(q,0,52);J[c+208>>2]=J[e+192>>2];J[c+212>>2]=J[c+428>>2];d=i+P(Qc(i,d),208)|0;J[d+100>>2]=0;G=d,I=Nf(e,J[c+360>>2]),N[G+88>>2]=I;i=J[e+56>>2];J[d+52>>2]=J[e+52>>2];J[d+56>>2]=i;i=J[e+64>>2];J[d+60>>2]=J[e+60>>2];J[d+64>>2]=i;J[d+48>>2]=0;N[d+44>>2]=f;N[d+40>>2]=j;N[d+36>>2]=h}}Ma()}l=l+1|0;if((o|0)!=(l|0)){continue}break}}Ma();ta=c+512|0}function Qe(a,b,c,d){var e=0,f=0,g=Q(0),h=Q(0),i=Q(0),j=Q(0),k=Q(0),l=Q(0),m=Q(0),n=Q(0),o=Q(0),p=Q(0),q=Q(0),r=Q(0),s=Q(0),t=0,u=0,v=Q(0),w=Q(0),x=Q(0),y=Q(0),z=Q(0),A=Q(0),B=Q(0),C=Q(0),D=Q(0),E=Q(0),F=Q(0),G=Q(0),I=Q(0),K=Q(0),L=Q(0),M=Q(0),O=Q(0),P=Q(0),R=Q(0),S=Q(0),T=0,U=Q(0),V=Q(0),W=Q(0),X=0,Y=0,Z=Q(0),_=Q(0),$=Q(0),aa=Q(0),ba=Q(0),ca=Q(0),da=Q(0);e=ta-240|0;ta=e;a:{if(J[a+16>>2]){ac(J[a+4>>2]);f=J[a+12>>2];t=J[f+4>>2];T=J[a+16>>2];X=J[T+4>>2];g=Q(va[J[J[f>>2]+48>>2]](f));u=J[a+16>>2];i=Q(va[J[J[u>>2]+48>>2]](u));u=J[a+4>>2];Y=J[a+8>>2];a=e+160|0;J[a+72>>2]=1;J[a+76>>2]=1;J[a+60>>2]=-1;H[a+52|0]=0;N[a+48>>2]=i;N[a+44>>2]=g;J[a+40>>2]=X;J[a+36>>2]=t;J[a+32>>2]=T;J[a+28>>2]=f;J[a+24>>2]=u;J[a+20>>2]=Y;J[a+4>>2]=0;J[a+8>>2]=1065353216;J[a+12>>2]=0;J[a+16>>2]=0;J[a>>2]=22824;J[e+152>>2]=1566444395;f=J[b+12>>2];J[e+32>>2]=J[b+8>>2];J[e+36>>2]=f;f=J[b+4>>2];J[e+24>>2]=J[b>>2];J[e+28>>2]=f;f=J[b+28>>2];J[e+48>>2]=J[b+24>>2];J[e+52>>2]=f;f=J[b+20>>2];J[e+40>>2]=J[b+16>>2];J[e+44>>2]=f;t=J[b+44>>2];f=e- -64|0;J[f>>2]=J[b+40>>2];J[f+4>>2]=t;f=J[b+36>>2];J[e+56>>2]=J[b+32>>2];J[e+60>>2]=f;f=J[b+60>>2];J[e+80>>2]=J[b+56>>2];J[e+84>>2]=f;f=J[b+52>>2];J[e+72>>2]=J[b+48>>2];J[e+76>>2]=f;b=J[c+12>>2];J[e+96>>2]=J[c+8>>2];J[e+100>>2]=b;b=J[c+4>>2];J[e+88>>2]=J[c>>2];J[e+92>>2]=b;b=J[c+20>>2];J[e+104>>2]=J[c+16>>2];J[e+108>>2]=b;b=J[c+28>>2];J[e+112>>2]=J[c+24>>2];J[e+116>>2]=b;b=J[c+44>>2];J[e+128>>2]=J[c+40>>2];J[e+132>>2]=b;b=J[c+36>>2];J[e+120>>2]=J[c+32>>2];J[e+124>>2]=b;b=J[c+52>>2];J[e+136>>2]=J[c+48>>2];J[e+140>>2]=b;b=J[c+60>>2];J[e+144>>2]=J[c+56>>2];J[e+148>>2]=b;fb(a,e+24|0,d,0,0);break a}P=N[b+56>>2];R=N[b+52>>2];g=N[b+20>>2];i=N[b+36>>2];j=N[b+24>>2];h=N[b+40>>2];S=N[b+48>>2];f=J[a+12>>2];v=N[b+32>>2];w=N[b>>2];x=N[b+16>>2];y=N[b+4>>2];z=N[b+8>>2];a=J[a+20>>2];b=e+24|0;Ua(b,c);Z=N[e+80>>2];o=N[e- -64>>2];p=N[e+60>>2];_=N[e+76>>2];F=N[e+48>>2];G=N[e+44>>2];I=N[e+56>>2];$=N[e+72>>2];K=N[e+32>>2];L=N[e+24>>2];M=N[e+28>>2];O=N[e+40>>2];k=N[c+20>>2];l=N[c+36>>2];m=N[c+24>>2];q=N[c+40>>2];r=N[c+32>>2];s=N[c>>2];A=N[c+16>>2];B=N[c+4>>2];C=N[c+8>>2];D=N[a+60>>2];t=a- -64|0;E=N[t>>2];n=N[a+56>>2];J[e+172>>2]=0;n=Q(-n);N[e+168>>2]=Q(Q(Q(Q(r*h)+Q(Q(s*z)+Q(j*A)))*n)-Q(D*Q(Q(l*h)+Q(Q(B*z)+Q(j*k)))))-Q(E*Q(Q(q*h)+Q(Q(C*z)+Q(j*m))));N[e+164>>2]=Q(Q(Q(Q(r*i)+Q(Q(s*y)+Q(g*A)))*n)-Q(D*Q(Q(l*i)+Q(Q(B*y)+Q(g*k)))))-Q(E*Q(Q(q*i)+Q(Q(C*y)+Q(g*m))));N[e+160>>2]=Q(Q(Q(Q(r*v)+Q(Q(s*w)+Q(x*A)))*n)-Q(D*Q(Q(l*v)+Q(Q(B*w)+Q(x*k)))))-Q(E*Q(Q(q*v)+Q(Q(C*w)+Q(x*m))));u=b;b=e+160|0;va[J[J[f>>2]+64>>2]](u,f,b);k=N[t>>2];l=N[a+60>>2];aa=N[a+72>>2];m=N[a+56>>2];q=N[e+32>>2];r=N[e+24>>2];s=N[e+28>>2];ba=N[c+52>>2];A=N[c+24>>2];B=N[c+20>>2];ca=N[c+56>>2];C=N[c+40>>2];D=N[c+36>>2];da=N[c+48>>2];E=N[c+8>>2];n=N[c>>2];U=N[c+4>>2];V=N[c+16>>2];W=N[c+32>>2];J[e+172>>2]=0;o=Q(Q(Z+Q(Q(P*o)+Q(Q(S*I)+Q(R*p))))+Q(Q(q*Q(Q(h*o)+Q(Q(z*I)+Q(j*p))))+Q(Q(r*Q(Q(v*o)+Q(Q(w*I)+Q(x*p))))+Q(s*Q(Q(i*o)+Q(Q(y*I)+Q(g*p)))))));p=Q(Q($+Q(Q(P*K)+Q(Q(S*L)+Q(R*M))))+Q(Q(q*Q(Q(h*K)+Q(Q(z*L)+Q(j*M))))+Q(Q(r*Q(Q(v*K)+Q(Q(w*L)+Q(x*M))))+Q(s*Q(Q(i*K)+Q(Q(y*L)+Q(g*M)))))));h=Q(Q(_+Q(Q(P*F)+Q(Q(S*O)+Q(R*G))))+Q(Q(q*Q(Q(h*F)+Q(Q(z*O)+Q(j*G))))+Q(Q(r*Q(Q(v*F)+Q(Q(w*O)+Q(x*G))))+Q(s*Q(Q(i*F)+Q(Q(y*O)+Q(g*G)))))));g=Q(Q(Q(k*o)+Q(Q(m*p)+Q(l*h)))-aa);i=Q(o-Q(k*g));j=Q(p-Q(m*g));h=Q(h-Q(l*g));N[e+168>>2]=ca+Q(Q(C*i)+Q(Q(W*j)+Q(D*h)));N[e+164>>2]=ba+Q(Q(i*A)+Q(Q(j*V)+Q(h*B)));N[e+160>>2]=da+Q(Q(i*E)+Q(Q(j*n)+Q(h*U)));J[e+20>>2]=0;N[e+16>>2]=Q(C*k)+Q(Q(W*m)+Q(l*D));N[e+12>>2]=Q(A*k)+Q(Q(V*m)+Q(l*B));N[e+8>>2]=Q(E*k)+Q(Q(n*m)+Q(l*U));va[J[J[d>>2]+16>>2]](d,e+8|0,b,g)}ta=e+240|0}function Td(a,b){var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,w=0,y=0,z=0,A=0;o=ta-16|0;ta=o;s=(B(a),v(2));e=s&2147483647;a:{if(e>>>0<=1305022426){j=+a;d=j*.6366197723675814+6755399441055744+-6755399441055744;r=j+d*-1.5707963109016418+d*-1.5893254773528196e-8;O[b>>3]=r;c=r<-.7853981852531433;if(R(d)<2147483648){e=~~d}else{e=-2147483648}if(c){d=d+-1;O[b>>3]=j+d*-1.5707963109016418+d*-1.5893254773528196e-8;e=e-1|0;break a}if(!(r>.7853981852531433)){break a}d=d+1;O[b>>3]=j+d*-1.5707963109016418+d*-1.5893254773528196e-8;e=e+1|0;break a}if(e>>>0>=2139095040){O[b>>3]=Q(a-a);e=0;break a}c=e;e=(e>>>23|0)-150|0;O[o+8>>3]=(x(2,c-(e<<23)|0),C());t=o+8|0;g=ta-560|0;ta=g;c=(e-3|0)/24|0;p=(c|0)>0?c:0;i=e+P(p,-24)|0;l=J[6640];if((l|0)>=0){e=l+1|0;c=p;while(1){O[(g+320|0)+(f<<3)>>3]=(c|0)<0?0:+J[(c<<2)+26576>>2];c=c+1|0;f=f+1|0;if((e|0)!=(f|0)){continue}break}}k=i-24|0;e=0;f=(l|0)>0?l:0;while(1){c=0;d=0;while(1){d=O[(c<<3)+t>>3]*O[(g+320|0)+(e-c<<3)>>3]+d;c=c+1|0;if((c|0)!=1){continue}break}O[(e<<3)+g>>3]=d;c=(e|0)==(f|0);e=e+1|0;if(!c){continue}break}z=47-i|0;u=48-i|0;A=i-25|0;e=l;b:{while(1){d=O[(e<<3)+g>>3];c=0;f=e;n=(e|0)<=0;if(!n){while(1){m=(g+480|0)+(c<<2)|0;j=d*5.960464477539063e-8;c:{if(R(j)<2147483648){h=~~j;break c}h=-2147483648}j=+(h|0);d=j*-16777216+d;d:{if(R(d)<2147483648){h=~~d;break d}h=-2147483648}J[m>>2]=h;f=f-1|0;d=O[(f<<3)+g>>3]+j;c=c+1|0;if((e|0)!=(c|0)){continue}break}}d=wc(d,k);d=d+V(d*.125)*-8;e:{if(R(d)<2147483648){m=~~d;break e}m=-2147483648}d=d-+(m|0);f:{g:{h:{w=(k|0)<=0;i:{if(!w){f=(e<<2)+g|0;h=J[f+476>>2];c=h>>u;q=f;f=h-(c<>2]=f;m=c+m|0;h=f>>z;break i}if(k){break h}h=J[((e<<2)+g|0)+476>>2]>>23}if((h|0)<=0){break f}break g}h=2;if(d>=.5){break g}h=0;break f}c=0;f=0;if(!n){while(1){q=(g+480|0)+(c<<2)|0;n=J[q>>2];y=16777215;j:{k:{if(f){break k}y=16777216;if(n){break k}f=0;break j}J[q>>2]=y-n;f=1}c=c+1|0;if((e|0)!=(c|0)){continue}break}}l:{if(w){break l}c=8388607;m:{switch(A|0){case 1:c=4194303;break;case 0:break m;default:break l}}n=(e<<2)+g|0;J[n+476>>2]=J[n+476>>2]&c}m=m+1|0;if((h|0)!=2){break f}d=1-d;h=2;if(!f){break f}d=d-wc(1,k)}if(d==0){f=0;n:{c=e;if((l|0)>=(e|0)){break n}while(1){c=c-1|0;f=J[(g+480|0)+(c<<2)>>2]|f;if((c|0)>(l|0)){continue}break}if(!f){break n}i=k;while(1){i=i-24|0;e=e-1|0;if(!J[(g+480|0)+(e<<2)>>2]){continue}break}break b}c=1;while(1){f=c;c=c+1|0;if(!J[(g+480|0)+(l-f<<2)>>2]){continue}break}f=e+f|0;while(1){e=e+1|0;O[(g+320|0)+(e<<3)>>3]=J[(e+p<<2)+26576>>2];c=0;d=0;while(1){d=O[(c<<3)+t>>3]*O[(g+320|0)+(e-c<<3)>>3]+d;c=c+1|0;if((c|0)!=1){continue}break}O[(e<<3)+g>>3]=d;if((e|0)<(f|0)){continue}break}e=f;continue}break}d=wc(d,24-i|0);o:{if(d>=16777216){k=(g+480|0)+(e<<2)|0;j=d*5.960464477539063e-8;p:{if(R(j)<2147483648){c=~~j;break p}c=-2147483648}d=+(c|0)*-16777216+d;q:{if(R(d)<2147483648){f=~~d;break q}f=-2147483648}J[k>>2]=f;e=e+1|0;break o}if(R(d)<2147483648){c=~~d}else{c=-2147483648}i=k}J[(g+480|0)+(e<<2)>>2]=c}d=wc(1,i);r:{if((e|0)<0){break r}c=e;while(1){f=c;O[(c<<3)+g>>3]=d*+J[(g+480|0)+(c<<2)>>2];c=c-1|0;d=d*5.960464477539063e-8;if(f){continue}break}if((e|0)<0){break r}f=e;while(1){d=0;c=0;i=e-f|0;k=(i|0)>(l|0)?l:i;if((k|0)>=0){while(1){d=O[(c<<3)+29344>>3]*O[(c+f<<3)+g>>3]+d;p=(c|0)!=(k|0);c=c+1|0;if(p){continue}break}}O[(g+160|0)+(i<<3)>>3]=d;c=(f|0)>0;f=f-1|0;if(c){continue}break}}d=0;if((e|0)>=0){while(1){c=e;e=e-1|0;d=d+O[(g+160|0)+(c<<3)>>3];if(c){continue}break}}O[o>>3]=h?-d:d;ta=g+560|0;e=m&7;d=O[o>>3];if((s|0)<0){O[b>>3]=-d;e=0-e|0;break a}O[b>>3]=d}ta=o+16|0;return e}function ub(a,b,c,d,e,f,g,h,i,j,k,l){var m=0,n=Q(0),o=Q(0),p=Q(0),q=Q(0),r=0,s=0,t=Q(0),u=Q(0),v=Q(0),w=Q(0),x=Q(0),y=Q(0),z=Q(0),A=Q(0),B=Q(0),C=Q(0),D=Q(0),E=Q(0),F=Q(0),G=Q(0),I=Q(0),L=Q(0),M=0,O=Q(0),R=Q(0),S=Q(0),T=Q(0),U=Q(0),V=0,W=0,X=Q(0),Y=Q(0),Z=Q(0);r=J[a+68>>2];s=r;a:{if((r|0)!=J[a+72>>2]){break a}M=r?r<<1:1;if((r|0)>=(M|0)){break a}if(M){V=Ga(P(M,152));m=J[a+68>>2]}else{m=r}if((m|0)>0){s=0;while(1){W=P(s,152);Pa(W+V|0,J[a+76>>2]+W|0,152);s=s+1|0;if((m|0)!=(s|0)){continue}break}}m=J[a+76>>2];if(!(!m|!K[a+80|0])){Fa(m)}J[a+76>>2]=V;H[a+80|0]=1;J[a+72>>2]=M;s=J[a+68>>2]}J[a+68>>2]=s+1;m=J[a+76>>2]+P(r,152)|0;J[m+140>>2]=e;r=J[a+16>>2];a=J[(r+P(d,244)|0)+240>>2];e=J[(r+P(c,244)|0)+240>>2];J[m+148>>2]=d;J[m+144>>2]=c;O=N[f+84>>2];J[m+132>>2]=0;N[m+104>>2]=O;J[m+96>>2]=0;J[m+100>>2]=0;b:{if(e){s=J[b+4>>2];J[m+16>>2]=J[b>>2];J[m+20>>2]=s;s=J[b+12>>2];J[m+24>>2]=J[b+8>>2];J[m+28>>2]=s;p=N[g+8>>2];n=N[g>>2];o=N[g+4>>2];J[m+12>>2]=0;R=N[m+20>>2];S=N[m+16>>2];F=Q(Q(n*R)-Q(o*S));N[m+8>>2]=F;T=N[m+24>>2];G=Q(Q(p*S)-Q(n*T));N[m+4>>2]=G;I=Q(Q(o*T)-Q(R*p));N[m>>2]=I;p=N[e+332>>2];n=N[e+328>>2];o=N[e+608>>2];q=N[e+348>>2];x=N[e+340>>2];A=N[e+344>>2];t=N[e+612>>2];w=N[e+364>>2];B=N[e+356>>2];C=N[e+360>>2];D=N[e+604>>2];v=N[e+324>>2];J[m+76>>2]=0;t=Q(t*Q(Q(w*F)+Q(Q(B*I)+Q(G*C))));N[m+72>>2]=t;q=Q(o*Q(Q(q*F)+Q(Q(x*I)+Q(G*A))));N[m+68>>2]=q;x=Q(D*Q(Q(p*F)+Q(Q(v*I)+Q(G*n))));N[m+64>>2]=x;break b}J[m+64>>2]=0;J[m+68>>2]=0;J[m>>2]=0;J[m+4>>2]=0;J[m+72>>2]=0;J[m+76>>2]=0;J[m+8>>2]=0;J[m+12>>2]=0;J[m+16>>2]=0;J[m+20>>2]=0;J[m+24>>2]=0;J[m+28>>2]=0}c:{if(a){p=N[b>>2];n=N[b+4>>2];o=N[b+8>>2];J[m+60>>2]=0;X=Q(-o);N[m+56>>2]=X;Y=Q(-n);N[m+52>>2]=Y;Z=Q(-p);N[m+48>>2]=Z;u=N[h+8>>2];y=N[h+4>>2];z=N[h>>2];J[m+44>>2]=0;L=Q(Q(p*y)-Q(z*n));N[m+40>>2]=L;z=Q(Q(o*z)-Q(u*p));N[m+36>>2]=z;y=Q(Q(n*u)-Q(y*o));N[m+32>>2]=y;p=N[a+332>>2];o=N[a+328>>2];n=N[a+608>>2];A=N[a+348>>2];w=N[a+340>>2];B=N[a+344>>2];u=N[a+612>>2];C=N[a+364>>2];D=N[a+356>>2];v=N[a+360>>2];U=N[a+604>>2];E=N[a+324>>2];J[m+92>>2]=0;u=Q(u*Q(Q(C*L)+Q(Q(D*y)+Q(z*v))));N[m+88>>2]=u;n=Q(n*Q(Q(A*L)+Q(Q(w*y)+Q(z*B))));N[m+84>>2]=n;o=Q(U*Q(Q(p*L)+Q(Q(E*y)+Q(z*o))));N[m+80>>2]=o;break c}J[m+80>>2]=0;J[m+84>>2]=0;J[m+32>>2]=0;J[m+36>>2]=0;J[m+88>>2]=0;J[m+92>>2]=0;J[m+40>>2]=0;J[m+44>>2]=0;J[m+48>>2]=0;J[m+52>>2]=0;J[m+56>>2]=0;J[m+60>>2]=0;n=Q(0);o=Q(0)}A=Q(0);U=i;if(e){i=N[g+4>>2];w=N[g>>2];v=Q(N[b+8>>2]*Q(Q(x*i)-Q(w*q)));E=q;q=N[g+8>>2];E=Q(N[e+404>>2]+Q(v+Q(Q(N[b>>2]*Q(Q(E*q)-Q(i*t)))+Q(Q(Q(t*w)-Q(q*x))*N[b+4>>2]))))}else{E=Q(0)}if(a){t=N[h>>2];q=N[h+4>>2];v=Q(N[b+8>>2]*Q(Q(n*t)-Q(o*q)));i=n;n=N[h+8>>2];i=Q(N[a+404>>2]+Q(v+Q(Q(N[b>>2]*Q(Q(u*q)-Q(i*n)))+Q(Q(Q(o*n)-Q(u*t))*N[b+4>>2]))))}else{i=Q(0)}p=Q(U/Q(E+i));N[m+108>>2]=p;w=Q(0);t=Q(0);q=Q(0);x=Q(0);u=Q(0);n=Q(0);if(e){c=r+P(c,244)|0;q=Q(N[c+176>>2]+N[c+208>>2]);x=N[c+192>>2];t=Q(N[c+180>>2]+N[c+212>>2]);u=N[c+196>>2];w=Q(N[c+184>>2]+N[c+216>>2]);n=N[c+200>>2]}o=Q(0);B=Q(0);C=Q(0);D=Q(0);v=Q(0);if(a){a=r+P(d,244)|0;A=Q(N[a+176>>2]+N[a+208>>2]);C=N[a+200>>2];D=N[a+196>>2];B=Q(N[a+184>>2]+N[a+216>>2]);v=N[a+192>>2];o=Q(N[a+180>>2]+N[a+212>>2])}i=Q(0);i=K[f+128|0]&16?Q(p*Q(Q(N[j+44>>2]*Q(-Q(Q(Q(N[f+56>>2]-N[f+40>>2])*N[b+8>>2])+Q(Q(Q(N[f+48>>2]-N[f+32>>2])*N[b>>2])+Q(Q(N[f+52>>2]-N[f+36>>2])*N[b+4>>2])))))/N[j+12>>2])):i;J[m+128>>2]=0;N[m+124>>2]=O;N[m+116>>2]=l;N[m+120>>2]=-O;N[m+112>>2]=Q(p*Q(k-Q(Q(Q(Q(T*w)+Q(Q(S*q)+Q(t*R)))+Q(Q(F*n)+Q(Q(I*x)+Q(u*G))))+Q(Q(Q(X*B)+Q(Q(Z*A)+Q(o*Y)))+Q(Q(L*C)+Q(Q(y*v)+Q(D*z)))))))+i}function lg(a,b){var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;e=ta-96|0;ta=e;H[e+92|0]=1;J[e+60>>2]=0;J[e+64>>2]=0;H[e+52|0]=1;J[e+48>>2]=0;H[e+72|0]=1;J[e+40>>2]=0;J[e+44>>2]=0;J[e+68>>2]=0;J[e+88>>2]=0;J[e+80>>2]=0;J[e+84>>2]=0;J[e+28>>2]=0;H[e+32|0]=1;J[e+20>>2]=0;J[e+24>>2]=0;a:{if(J[a+8>>2]<=0){break a}while(1){c=J[J[J[a+16>>2]+(n<<2)>>2]+192>>2];J[e+12>>2]=c;J[e+4>>2]=c;if(!(r=(kg(e+16|0,e+4|0)|0)!=-1,s=0,t=J[e+68>>2],t?r:s)){J[e+4>>2]=J[e+12>>2];g=0;h=0;d=e+16|0;f=J[d+48>>2];o=e+4|0;i=J[o>>2];c=kg(d,o);b:{if((c|0)!=-1){J[J[d+52>>2]+(c<<2)>>2]=J[e+12>>2];break b}m=J[d+44>>2];c=m;l=J[d+48>>2];c:{if((c|0)!=(l|0)){break c}j=c?m<<1:1;if((j|0)<=(c|0)){break c}if(j){h=Ga(j<<2);c=J[d+44>>2]}else{c=m}if((c|0)>0){while(1){k=g<<2;J[k+h>>2]=J[k+J[d+52>>2]>>2];g=g+1|0;if((g|0)!=(c|0)){continue}break}}g=J[d+52>>2];if(!(!g|!K[d+56|0])){Fa(g);c=J[d+44>>2]}J[d+52>>2]=h;H[d+56|0]=1;J[d+48>>2]=j}J[J[d+52>>2]+(c<<2)>>2]=J[e+12>>2];J[d+44>>2]=c+1;c=J[d- -64>>2];d:{if((c|0)!=J[d+68>>2]){break d}j=c?c<<1:1;if((j|0)<=(c|0)){break d}e:{if(!j){h=0;break e}h=Ga(j<<3);c=J[d+64>>2]}if((c|0)>0){g=0;while(1){k=g<<3;p=k+h|0;k=k+J[d+72>>2]|0;q=J[k+4>>2];J[p>>2]=J[k>>2];J[p+4>>2]=q;g=g+1|0;if((g|0)!=(c|0)){continue}break}}c=J[d+72>>2];if(!(!c|!K[d+76|0])){Fa(c)}J[d+72>>2]=h;H[d+76|0]=1;J[d+68>>2]=j;c=J[d+64>>2]}g=J[o+4>>2];c=J[d+72>>2]+(c<<3)|0;J[c>>2]=J[o>>2];J[c+4>>2]=g;J[d+64>>2]=J[d+64>>2]+1;f:{if((l|0)>=J[d+48>>2]){c=i+(i<<15^-1)|0;c=P(c>>>10^c,9);c=c>>>6^c;c=(c<<11^-1)+c|0;c=f-1&(c>>>16^c);break f}h=0;i=0;g=J[d+4>>2];f=J[d+48>>2];g:{if((g|0)>=(f|0)){break g}h:{if((f|0)<=J[d+8>>2]){h=J[d+12>>2];break h}c=g;if(f){h=Ga(f<<2);c=J[d+4>>2]}j=J[d+12>>2];i:{j:{if((c|0)>0){while(1){l=i<<2;J[l+h>>2]=J[j+l>>2];i=i+1|0;if((i|0)!=(c|0)){continue}break j}}if(j){break j}break i}if(K[d+16|0]){Fa(j)}}J[d+12>>2]=h;H[d+16|0]=1;J[d+8>>2]=f}c=g<<2;l=f<<2;Ka(c+h|0,0,l-c|0);J[d+4>>2]=f;j=J[d+24>>2];if((j|0)<(f|0)){k:{if((f|0)<=J[d+28>>2]){h=J[d+32>>2];break k}i=0;c=j;h=0;if(f){h=Ga(l);c=J[d+24>>2]}k=J[d+32>>2];l:{if((c|0)>0){while(1){p=i<<2;J[p+h>>2]=J[k+p>>2];i=i+1|0;if((i|0)!=(c|0)){continue}break l}}if(k){break l}J[d+32>>2]=h;J[d+28>>2]=f;H[d+36|0]=1;break k}if(K[d+36|0]){Fa(k)}J[d+32>>2]=h;H[d+36|0]=1;J[d+28>>2]=f}c=j<<2;Ka(c+h|0,0,l-c|0)}J[d+24>>2]=f;if((f|0)>0){Ka(J[d+12>>2],255,l);Ka(J[d+32>>2],255,l)}if((g|0)<=0){break g}c=J[d+32>>2];j=J[d+72>>2];h=J[d+12>>2];i=0;while(1){f=J[j+(i<<3)>>2];f=(f<<15^-1)+f|0;f=P(f>>>10^f,9);f=f>>>6^f;f=(f<<11^-1)+f|0;f=h+((J[d+48>>2]-1&(f>>>16^f))<<2)|0;J[c+(i<<2)>>2]=J[f>>2];J[f>>2]=i;i=i+1|0;if((g|0)!=(i|0)){continue}break}}c=J[o>>2];c=(c<<15^-1)+c|0;c=P(c>>>10^c,9);c=c>>>6^c;c=(c<<11^-1)+c|0;c=J[d+48>>2]-1&(c>>>16^c)}c=J[d+12>>2]+(c<<2)|0;J[J[d+32>>2]+(m<<2)>>2]=J[c>>2];J[c>>2]=m}c=J[e+12>>2];va[J[J[c>>2]+60>>2]](c,b)}c=J[a+8>>2];n=n+1|0;if((c|0)>(n|0)){continue}break}if((c|0)<=0){break a}n=0;while(1){m=J[J[a+16>>2]+(n<<2)>>2];g=J[m+252>>2];if(!((g|0)!=64&(g|0)!=1)){va[J[J[m>>2]+24>>2]](m,b);c=J[a+8>>2]}n=n+1|0;if((n|0)<(c|0)){continue}break}}a=J[e+88>>2];if(!(!a|!K[e+92|0])){Fa(a)}J[e+88>>2]=0;H[e+92|0]=1;J[e+80>>2]=0;J[e+84>>2]=0;a=J[e+68>>2];if(!(!a|!K[e+72|0])){Fa(a)}J[e+68>>2]=0;H[e+72|0]=1;J[e+60>>2]=0;J[e+64>>2]=0;a=J[e+48>>2];if(!(!a|!K[e+52|0])){Fa(a)}J[e+48>>2]=0;H[e+52|0]=1;J[e+40>>2]=0;J[e+44>>2]=0;a=J[e+28>>2];if(!(!a|!K[e+32|0])){Fa(a)}ta=e+96|0}function Pb(a,b,c,d,e,f){var g=0,h=0,i=0,j=0,k=0,l=Q(0),m=Q(0),n=Q(0),o=Q(0),p=Q(0),q=Q(0),r=Q(0),s=Q(0),t=0,u=0,v=Q(0),w=Q(0),x=Q(0),y=Q(0),z=Q(0);h=ta-416|0;ta=h;Na(2330);g=J[c+12>>2];J[h+352>>2]=J[c+8>>2];J[h+356>>2]=g;g=J[c+4>>2];J[h+344>>2]=J[c>>2];J[h+348>>2]=g;g=J[c+28>>2];J[h+368>>2]=J[c+24>>2];J[h+372>>2]=g;g=J[c+20>>2];J[h+360>>2]=J[c+16>>2];J[h+364>>2]=g;g=J[c+44>>2];J[h+384>>2]=J[c+40>>2];J[h+388>>2]=g;g=J[c+36>>2];J[h+376>>2]=J[c+32>>2];J[h+380>>2]=g;g=J[c+60>>2];J[h+400>>2]=J[c+56>>2];J[h+404>>2]=g;g=J[c+52>>2];J[h+392>>2]=J[c+48>>2];J[h+396>>2]=g;g=J[d+12>>2];J[h+288>>2]=J[d+8>>2];J[h+292>>2]=g;g=J[d+4>>2];J[h+280>>2]=J[d>>2];J[h+284>>2]=g;g=J[d+28>>2];J[h+304>>2]=J[d+24>>2];J[h+308>>2]=g;g=J[d+20>>2];J[h+296>>2]=J[d+16>>2];J[h+300>>2]=g;g=J[d+44>>2];J[h+320>>2]=J[d+40>>2];J[h+324>>2]=g;g=J[d+36>>2];J[h+312>>2]=J[d+32>>2];J[h+316>>2]=g;g=J[d+60>>2];J[h+336>>2]=J[d+56>>2];J[h+340>>2]=g;g=J[d+52>>2];J[h+328>>2]=J[d+48>>2];J[h+332>>2]=g;g=h+344|0;i=h+216|0;lc(g,h+280|0,Q(1),h+232|0,i);J[h+208>>2]=0;J[h+212>>2]=0;J[h+200>>2]=0;J[h+204>>2]=0;J[h+16>>2]=0;J[h+20>>2]=0;J[h+28>>2]=0;J[h+32>>2]=0;J[h+24>>2]=1065353216;J[h+36>>2]=0;J[h+40>>2]=0;J[h+48>>2]=0;J[h+52>>2]=0;J[h+44>>2]=1065353216;J[h+56>>2]=0;J[h+60>>2]=0;J[h- -64>>2]=0;J[h+8>>2]=0;J[h+12>>2]=0;J[h+4>>2]=1065353216;j=h+264|0;Ab(g,j);g=h+4|0;nb(g,j);k=h+248|0;va[J[J[b>>2]+8>>2]](b,g,j,k);l=N[i+8>>2];q=N[i>>2];m=N[i+4>>2];r=N[k>>2];s=N[k+4>>2];v=N[k+8>>2];w=N[j>>2];p=N[h+200>>2];x=N[j+4>>2];n=N[h+204>>2];y=N[j+8>>2];o=N[h+208>>2];z=Q(va[J[J[b>>2]+16>>2]](b));J[j+12>>2]=0;o=Q(o*Q(1));i=o>Q(0);N[j+8>>2]=y+(i?Q(-0):o);n=Q(n*Q(1));t=n>Q(0);N[j+4>>2]=x+(t?Q(-0):n);p=Q(p*Q(1));u=p>Q(0);N[j>>2]=w+(u?Q(-0):p);J[k+12>>2]=0;N[k+8>>2]=v+(i?o:Q(-0));N[k+4>>2]=s+(t?n:Q(-0));N[k>>2]=r+(u?p:Q(-0));l=Q(Q(z*Q(Y(Q(Q(l*l)+Q(Q(q*q)+Q(m*m))))))*Q(1));N[j>>2]=N[j>>2]-l;N[j+4>>2]=N[j+4>>2]-l;N[j+8>>2]=N[j+8>>2]-l;N[k>>2]=l+N[k>>2];N[k+4>>2]=l+N[k+4>>2];N[k+8>>2]=l+N[k+8>>2];J[g>>2]=14804;i=J[c+12>>2];J[g+44>>2]=J[c+8>>2];J[g+48>>2]=i;i=J[c+4>>2];J[g+36>>2]=J[c>>2];J[g+40>>2]=i;i=J[c+28>>2];J[g+60>>2]=J[c+24>>2];J[g+64>>2]=i;i=J[c+20>>2];J[g+52>>2]=J[c+16>>2];J[g+56>>2]=i;i=J[c+44>>2];J[g+76>>2]=J[c+40>>2];J[g+80>>2]=i;i=J[c+36>>2];J[g+68>>2]=J[c+32>>2];J[g+72>>2]=i;i=J[c+60>>2];J[g+92>>2]=J[c+56>>2];J[g+96>>2]=i;i=J[c+52>>2];J[g+84>>2]=J[c+48>>2];J[g+88>>2]=i;c=J[d+12>>2];J[g+108>>2]=J[d+8>>2];J[g+112>>2]=c;c=J[d+4>>2];J[g+100>>2]=J[d>>2];J[g+104>>2]=c;c=J[d+28>>2];J[g+124>>2]=J[d+24>>2];J[g+128>>2]=c;c=J[d+20>>2];J[g+116>>2]=J[d+16>>2];J[g+120>>2]=c;c=J[d+44>>2];J[g+140>>2]=J[d+40>>2];J[g+144>>2]=c;c=J[d+36>>2];J[g+132>>2]=J[d+32>>2];J[g+136>>2]=c;c=J[d+60>>2];J[g+156>>2]=J[d+56>>2];J[g+160>>2]=c;c=J[d+52>>2];J[g+148>>2]=J[d+48>>2];J[g+152>>2]=c;J[g+192>>2]=b;N[g+188>>2]=f;J[g+184>>2]=e;J[g+180>>2]=a;f=Q(N[g+156>>2]-N[g+92>>2]);l=Q(N[g+148>>2]-N[g+84>>2]);q=Q(N[g+152>>2]-N[g+88>>2]);m=Q(Q(1)/Q(Y(Q(Q(f*f)+Q(Q(l*l)+Q(q*q))))));o=Q(f*m);p=o==Q(0)?Q(0xde0b6b000000000):Q(Q(1)/o);N[g+12>>2]=p;n=Q(q*m);r=n==Q(0)?Q(0xde0b6b000000000):Q(Q(1)/n);N[g+8>>2]=r;m=Q(l*m);s=m==Q(0)?Q(0xde0b6b000000000):Q(Q(1)/m);N[g+4>>2]=s;N[g+32>>2]=Q(o*f)+Q(Q(m*l)+Q(q*n));J[g+28>>2]=p>2]=r>2]=s>2];va[J[J[a>>2]+24>>2]](a,h+392|0,h+328|0,g,j,k);Ma();ta=h+416|0}function Hp(a,b,c,d,e,f){a=a|0;b=Q(b);c=Q(c);d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=Q(0),k=Q(0),l=Q(0),m=0,n=Q(0),o=Q(0),p=Q(0),q=Q(0),r=0,s=Q(0),t=Q(0),u=Q(0),v=Q(0),w=Q(0),x=Q(0),y=Q(0),z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0;g=ta-144|0;ta=g;J[g+136>>2]=0;J[g+140>>2]=0;J[g+128>>2]=0;J[g+132>>2]=0;z=g+128|0;m=d<<2;N[z+m>>2]=-c;J[g+120>>2]=0;J[g+124>>2]=0;J[g+112>>2]=0;J[g+116>>2]=0;A=g+112|0;N[m+A>>2]=c;h=J[e+12>>2];J[g+56>>2]=J[e+8>>2];J[g+60>>2]=h;h=J[e+4>>2];J[g+48>>2]=J[e>>2];J[g+52>>2]=h;h=J[e+28>>2];J[g+72>>2]=J[e+24>>2];J[g+76>>2]=h;h=J[e+20>>2];J[g+64>>2]=J[e+16>>2];J[g+68>>2]=h;h=J[e+44>>2];J[g+88>>2]=J[e+40>>2];J[g+92>>2]=h;h=J[e+36>>2];J[g+80>>2]=J[e+32>>2];J[g+84>>2]=h;k=N[e+8>>2];p=N[e+56>>2];v=N[e+40>>2];w=N[e+36>>2];x=N[e+48>>2];y=N[e>>2];n=N[e+4>>2];o=N[e+32>>2];c=N[g+136>>2];j=N[g+128>>2];l=N[g+132>>2];N[g+100>>2]=Q(Q(c*N[e+24>>2])+Q(Q(j*N[e+16>>2])+Q(l*N[e+20>>2])))+N[e+52>>2];J[g+108>>2]=0;N[g+104>>2]=p+Q(Q(c*v)+Q(Q(j*o)+Q(l*w)));N[g+96>>2]=x+Q(Q(c*k)+Q(Q(j*y)+Q(l*n)));h=J[g+108>>2];J[g+40>>2]=J[g+104>>2];J[g+44>>2]=h;h=J[g+100>>2];J[g+32>>2]=J[g+96>>2];J[g+36>>2]=h;h=(d+1|0)%3<<2;r=g+48|0;D=h+r|0;N[g+16>>2]=N[D>>2];B=g- -64|0;E=B+h|0;N[g+20>>2]=N[E>>2];C=g+80|0;F=C+h|0;c=N[F>>2];J[g+28>>2]=0;N[g+24>>2]=c;B=m+B|0;c=N[B>>2];C=m+C|0;j=N[C>>2];J[g+12>>2]=0;m=m+r|0;N[g>>2]=-N[m>>2];N[g+8>>2]=-j;N[g+4>>2]=-c;r=g+32|0;G=g+16|0;va[J[J[a>>2]+72>>2]](a,r,G,g,b,Q(-1.5707963705062866),Q(1.5707963705062866),Q(-1.5707963705062866),Q(1.5707963705062866),f,Q(30),0);i=J[e+12>>2];J[g+56>>2]=J[e+8>>2];J[g+60>>2]=i;i=J[e+4>>2];J[g+48>>2]=J[e>>2];J[g+52>>2]=i;i=J[e+28>>2];J[g+72>>2]=J[e+24>>2];J[g+76>>2]=i;i=J[e+20>>2];J[g+64>>2]=J[e+16>>2];J[g+68>>2]=i;i=J[e+44>>2];J[g+88>>2]=J[e+40>>2];J[g+92>>2]=i;i=J[e+36>>2];J[g+80>>2]=J[e+32>>2];J[g+84>>2]=i;k=N[e+8>>2];p=N[e+56>>2];v=N[e+40>>2];w=N[e+36>>2];c=N[e+52>>2];j=N[e+24>>2];l=N[e+20>>2];x=N[e+48>>2];y=N[e>>2];n=N[e+4>>2];o=N[e+32>>2];q=N[e+16>>2];J[g+108>>2]=0;s=c;c=N[g+120>>2];t=Q(j*c);j=N[g+112>>2];u=l;l=N[g+116>>2];N[g+100>>2]=s+Q(t+Q(Q(q*j)+Q(u*l)));N[g+104>>2]=p+Q(Q(c*v)+Q(Q(j*o)+Q(l*w)));N[g+96>>2]=x+Q(Q(c*k)+Q(Q(j*y)+Q(l*n)));i=J[g+108>>2];J[g+40>>2]=J[g+104>>2];J[g+44>>2]=i;i=J[g+100>>2];J[g+32>>2]=J[g+96>>2];J[g+36>>2]=i;N[g+16>>2]=N[D>>2];N[g+20>>2]=N[E>>2];c=N[F>>2];J[g+28>>2]=0;N[g+24>>2]=c;N[g>>2]=N[m>>2];N[g+4>>2]=N[B>>2];c=N[C>>2];J[g+12>>2]=0;N[g+8>>2]=c;va[J[J[a>>2]+72>>2]](a,r,G,g,b,Q(-1.5707963705062866),Q(1.5707963705062866),Q(-1.5707963705062866),Q(1.5707963705062866),f,Q(30),0);d=(d+2|0)%3<<2;m=d+A|0;r=d+z|0;A=h+A|0;h=h+z|0;c=N[e+56>>2];j=N[e+52>>2];l=N[e+48>>2];d=0;while(1){k=Q(Q(d|0)*Q(.01745329238474369));p=Q(Va(k)*b);N[h>>2]=p;N[A>>2]=p;k=Q(Ta(k)*b);N[r>>2]=k;N[m>>2]=k;k=N[e+8>>2];p=N[e>>2];v=N[e+4>>2];w=N[e+24>>2];x=N[e+16>>2];y=N[e+20>>2];n=N[e+40>>2];o=N[e+32>>2];q=N[e+36>>2];J[g+60>>2]=0;s=N[g+136>>2];u=N[g+128>>2];t=N[g+132>>2];N[g+56>>2]=c+Q(Q(n*s)+Q(Q(o*u)+Q(q*t)));N[g+52>>2]=j+Q(Q(w*s)+Q(Q(x*u)+Q(t*y)));N[g+48>>2]=l+Q(Q(k*s)+Q(Q(p*u)+Q(v*t)));J[g+44>>2]=0;s=n;n=N[g+120>>2];u=o;o=N[g+112>>2];t=q;q=N[g+116>>2];N[g+40>>2]=c+Q(Q(s*n)+Q(Q(u*o)+Q(t*q)));N[g+36>>2]=j+Q(Q(w*n)+Q(Q(x*o)+Q(y*q)));N[g+32>>2]=l+Q(Q(k*n)+Q(Q(p*o)+Q(v*q)));va[J[J[a>>2]+16>>2]](a,g+48|0,g+32|0,f);z=d>>>0<330;d=d+30|0;if(z){continue}break}ta=g+144|0}function ye(a,b,c,d,e,f,g,h,i,j,k,l,m){var n=Q(0),o=Q(0),p=0,q=Q(0),r=Q(0),s=0,t=Q(0),u=Q(0),v=Q(0),w=Q(0),x=Q(0),y=Q(0),z=Q(0);j=P(J[i+24>>2],j);a:{b:{c:{switch(J[b+84>>2]-3|0){case 1:p=l?g:e;q=N[p+8>>2];v=N[p>>2];y=N[p+4>>2];p=l?h:f;w=N[p+8>>2];z=N[p>>2];u=N[p+4>>2];n=N[k+8>>2];o=N[k>>2];r=N[k+4>>2];vb(a,c,d,i,j,k,l,m);p=J[i+28>>2]+(j<<2)|0;x=l?Q(-1):Q(1);t=Q(x*Q(Q(N[i>>2]*N[b+12>>2])*N[b+72>>2]));N[p>>2]=t;n=Q(Q(Q(q*n)+Q(Q(v*o)+Q(y*r)))-Q(Q(w*n)+Q(Q(z*o)+Q(r*u))));q=Q(t-Q(n*N[b+12>>2]));d:{e:{if(l){o=Q(0);r=Q(34028234663852886e22);if(!(q>Q(0))){break d}q=Q(n*Q(-N[b+8>>2]));if(t>2]));if(!(t>q)){break d}}N[p>>2]=q}p=j<<2;N[p+J[i+36>>2]>>2]=o;N[p+J[i+40>>2]>>2]=r;N[p+J[i+32>>2]>>2]=N[b+16>>2];j=J[i+24>>2]+j|0;vb(a,c,d,i,j,k,l,m);p=J[i+28>>2]+(j<<2)|0;q=Q(x*Q(Q(N[i>>2]*N[b+12>>2])*N[b+76>>2]));N[p>>2]=q;t=Q(q-Q(n*N[b+12>>2]));f:{g:{if(l){r=Q(0);o=Q(-34028234663852886e22);if(!(t>2]));if(q>n){break g}break f}o=Q(0);r=Q(34028234663852886e22);if(!(t>Q(0))){break f}n=Q(n*Q(-N[b+8>>2]));if(!(q>2]=n}s=b+16|0;p=j<<2;N[p+J[i+36>>2]>>2]=o;N[p+J[i+40>>2]>>2]=r;p=2;break b;case 0:break c;default:break a}}vb(a,c,d,i,j,k,l,m);p=j<<2;N[p+J[i+28>>2]>>2]=Q(Q(N[i>>2]*N[b+12>>2])*N[b+72>>2])*Q((l?-1:1)|0);J[p+J[i+36>>2]>>2]=-8388609;J[p+J[i+40>>2]>>2]=2139095039;s=b+16|0;p=1}N[J[i+32>>2]+(j<<2)>>2]=N[s>>2];j=J[i+24>>2]+j|0}h:{if(!K[b+28|0]){break h}if(!K[b+40|0]){vb(a,c,d,i,j,k,l,m);n=N[b+32>>2];n=_b(N[b+80>>2],N[b>>2],N[b+4>>2],l?n:Q(-n),Q(N[i>>2]*N[b+20>>2]));s=j<<2;N[s+J[i+28>>2]>>2]=n*N[b+32>>2];N[s+J[i+36>>2]>>2]=-N[b+36>>2];N[s+J[i+40>>2]>>2]=N[b+36>>2];N[s+J[i+32>>2]>>2]=N[b+24>>2];p=p+1|0;j=J[i+24>>2]+j|0;if(!K[b+28|0]|!K[b+40|0]){break h}}o=N[b+44>>2];n=Q(N[b+80>>2]-o);i:{if(!l){break i}s=n>Q(3.1415927410125732);o=s?Q(o+Q(6.2831854820251465)):o;n=s?Q(n+Q(-6.2831854820251465)):n;if(!(n>2];t=n>2];r=N[b>>2];q=N[b+4>>2];j:{if(r>q){q=nQ(0)?o:Q(-34028234663852886e22);break j}q=nQ(0)?o>r?o:r:r}r=_b(u,n,q,v,Q(N[i>>2]*N[b+20>>2]))}s=j<<2;N[s+J[i+28>>2]>>2]=Q(t*r)*Q((l?-1:1)|0);N[s+J[i+36>>2]>>2]=-N[b+36>>2];N[s+J[i+40>>2]>>2]=N[b+36>>2];N[s+J[i+32>>2]>>2]=N[b+24>>2];p=p+1|0;j=J[i+24>>2]+j|0}if(K[b+48|0]){v=N[b+68>>2];y=N[b+80>>2];vb(a,c,d,i,j,k,l,m);c=l?g:e;n=N[k+8>>2];o=N[k>>2];r=N[k+4>>2];u=Q(Q(N[c+8>>2]*n)+Q(Q(N[c>>2]*o)+Q(N[c+4>>2]*r)));c=l?h:f;t=Q(u-Q(Q(N[c+8>>2]*n)+Q(Q(N[c>>2]*o)+Q(r*N[c+4>>2]))));r=N[b+60>>2];n=Q(Q(1)/N[i>>2]);o=N[b+52>>2];q=Q(Q(1)/N[J[a+32>>2]+404>>2]);w=Q(Q(1)/N[J[a+28>>2]+404>>2]);q=qQ(.25)))){o=Q(Q(Q(Q(Q(1)/n)/n)*Q(.0625))*q)}a=j<<2;x=Q(n*Q(Q(y-v)*o));u=n;z=Q(t*Q(-(K[b+64|0]?q>2]>>2]=Q(r*n)+t;b=o>r;n=b?o:r;o=b?r:o;k:{if(!l){N[a+J[i+36>>2]>>2]=o>Q(0)?Q(0):o;break k}N[a+J[i+36>>2]>>2]=n>2]>>2]=n>2]>>2]=0;p=p+1|0}return p}function ki(a,b){a=a|0;b=Q(b);var c=0,d=0,e=0,f=0,g=Q(0),h=0,i=Q(0),j=0,k=0,l=Q(0),m=Q(0),n=0,o=0,p=Q(0),q=0;f=ta-80|0;ta=f;Na(4195);j=J[a+248>>2];if((j|0)>0){q=J[a+256>>2];c=ta-304|0;ta=c;if((j|0)>0){while(1){e=J[(k<<2)+q>>2];J[e+268>>2]=1065353216;a:{b:{switch(J[e+220>>2]-2|0){case 0:case 3:break a;default:break b}}if(K[e+204|0]&3){break a}Db(e,b,c+240|0);c:{d:{if(!K[a+44|0]){break d}g=N[e+276>>2];g=Q(g*g);if(g==Q(0)){break d}i=Q(N[c+296>>2]-N[e+60>>2]);l=Q(i*i);i=Q(N[c+288>>2]-N[e+52>>2]);m=Q(i*i);i=Q(N[c+292>>2]-N[e+56>>2]);if(!(g>2]+4>>2]<=19){J[9576]=J[9576]+1;d=J[a+68>>2];d=va[J[J[d>>2]+36>>2]](d)|0;n=J[a+24>>2];J[c+148>>2]=-1;J[c+152>>2]=0;J[c+140>>2]=1065353216;J[c+144>>2]=1;h=J[e+64>>2];J[c+164>>2]=J[e+60>>2];J[c+168>>2]=h;h=J[e+56>>2];J[c+156>>2]=J[e+52>>2];J[c+160>>2]=h;h=J[c+300>>2];J[c+180>>2]=J[c+296>>2];J[c+184>>2]=h;h=J[c+292>>2];J[c+172>>2]=J[c+288>>2];J[c+176>>2]=h;J[c+232>>2]=n;J[c+228>>2]=d;J[c+224>>2]=0;J[c+136>>2]=24640;J[c+220>>2]=e;g=N[e+272>>2];n=_a(c+76|0);J[n>>2]=21412;J[c+104>>2]=1065353216;J[c+96>>2]=1065353216;J[c+100>>2]=1065353216;J[c+80>>2]=8;J[c+124>>2]=0;J[c+116>>2]=0;J[c+120>>2]=0;J[c+108>>2]=0;J[c+112>>2]=0;J[c+132>>2]=0;N[c+128>>2]=g;N[c+112>>2]=g;N[c+224>>2]=N[a+56>>2];d=J[e+188>>2];J[c+144>>2]=J[d+4>>2];J[c+148>>2]=J[d+8>>2];d=J[c+252>>2];J[c+16>>2]=J[c+248>>2];J[c+20>>2]=d;d=J[c+244>>2];J[c+8>>2]=J[c+240>>2];J[c+12>>2]=d;d=J[c+268>>2];J[c+32>>2]=J[c+264>>2];J[c+36>>2]=d;d=J[c+260>>2];J[c+24>>2]=J[c+256>>2];J[c+28>>2]=d;d=J[c+284>>2];J[c+48>>2]=J[c+280>>2];J[c+52>>2]=d;d=J[c+276>>2];J[c+40>>2]=J[c+272>>2];J[c+44>>2]=d;d=J[c+300>>2];J[c+64>>2]=J[c+296>>2];J[c+68>>2]=d;d=J[c+292>>2];J[c+56>>2]=J[c+288>>2];J[c+60>>2]=d;d=e+4|0;h=J[d+12>>2];J[c+16>>2]=J[d+8>>2];J[c+20>>2]=h;h=J[d+4>>2];J[c+8>>2]=J[d>>2];J[c+12>>2]=h;h=J[e+32>>2];J[c+32>>2]=J[e+28>>2];J[c+36>>2]=h;h=J[e+24>>2];J[c+24>>2]=J[e+20>>2];J[c+28>>2]=h;h=J[e+48>>2];J[c+48>>2]=J[e+44>>2];J[c+52>>2]=h;h=J[e+40>>2];J[c+40>>2]=J[e+36>>2];J[c+44>>2]=h;Pb(a,n,d,c+8|0,c+136|0,Q(0));if(J[c+152>>2]){g=N[c+140>>2];if(g>2]=g;d=c+240|0;Db(e,Q(g*b),d);J[e+268>>2]=0;qe(e,d);Ma()}k=k+1|0;if((j|0)!=(k|0)){continue}break}}ta=c+304|0}if(K[a+291|0]){Na(5554);c=J[a+324>>2];if((c|0)>0){while(1){j=J[J[a+332>>2]+(o<<2)>>2];if(J[j+844>>2]>0){c=J[j+840>>2];e=J[c+252>>2]<<30>>31&c;c=J[j+836>>2];d=J[c+252>>2]<<30>>31&c;k=0;while(1){b=Q(N[d+232>>2]*N[e+232>>2]);e:{if(!(b>Q(0))){break e}c=j+P(k,208)|0;g=N[c+136>>2];if(g==Q(0)){break e}i=N[c+68>>2];l=N[c+72>>2];m=N[c+76>>2];J[f+72>>2]=0;N[f+68>>2]=b*Q(g*Q(-m));N[f+64>>2]=b*Q(g*Q(-l));N[f+60>>2]=b*Q(g*Q(-i));b=N[c+52>>2];g=N[c+56>>2];i=N[c+60>>2];l=N[d+52>>2];m=N[d+56>>2];p=N[d+60>>2];J[f+56>>2]=0;N[f+52>>2]=i-p;N[f+48>>2]=g-m;N[f+44>>2]=b-l;b=N[c+36>>2];g=N[c+40>>2];i=N[c+44>>2];l=N[e+52>>2];m=N[e+56>>2];p=N[e+60>>2];J[f+40>>2]=0;N[f+36>>2]=i-p;N[f+32>>2]=g-m;N[f+28>>2]=b-l;Jd(d,f+60|0,f+44|0);J[f+24>>2]=0;N[f+20>>2]=-N[f+68>>2];N[f+16>>2]=-N[f+64>>2];N[f+12>>2]=-N[f+60>>2];Jd(e,f+12|0,f+28|0)}k=k+1|0;if((k|0)>2]){continue}break}c=J[a+324>>2]}o=o+1|0;if((o|0)<(c|0)){continue}break}}Ma()}Ma();ta=f+80|0}function Bj(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;Zb(a,b,c);d=b+52|0;f=a+48|0;while(1){c=e<<4;g=c+d|0;i=c+f|0;c=0;while(1){h=c<<2;N[h+g>>2]=N[i+h>>2];c=c+1|0;if((c|0)!=4){continue}break}e=e+1|0;if((e|0)!=3){continue}break}e=b+100|0;d=a+96|0;c=0;while(1){f=c<<2;N[f+e>>2]=N[d+f>>2];c=c+1|0;if((c|0)!=4){continue}break}d=b+116|0;f=a+112|0;e=0;while(1){c=e<<4;g=c+d|0;i=c+f|0;c=0;while(1){h=c<<2;N[h+g>>2]=N[i+h>>2];c=c+1|0;if((c|0)!=4){continue}break}e=e+1|0;if((e|0)!=3){continue}break}e=b+164|0;d=a+160|0;c=0;while(1){f=c<<2;N[f+e>>2]=N[d+f>>2];c=c+1|0;if((c|0)!=4){continue}break}f=b+604|0;g=b+588|0;i=b+572|0;h=b+556|0;j=b+540|0;k=b+524|0;l=b+508|0;m=b+492|0;n=b+476|0;o=b+460|0;p=b+444|0;q=b+412|0;r=b+428|0;e=0;while(1){c=e<<2;d=P(e,88)+a|0;N[c+r>>2]=N[d+968>>2];N[c+q>>2]=N[d+972>>2];N[c+p>>2]=N[d+976>>2];N[c+o>>2]=N[d+980>>2];N[c+n>>2]=N[d+984>>2];N[c+m>>2]=N[d+988>>2];N[c+l>>2]=N[d+992>>2];N[c+k>>2]=N[d+1e3>>2];N[c+j>>2]=N[d+1004>>2];N[c+h>>2]=N[d+1012>>2];N[c+i>>2]=N[d+1020>>2];N[c+g>>2]=N[d+1028>>2];N[c+f>>2]=N[d+1036>>2];e=e+1|0;if((e|0)!=3){continue}break}e=0;J[b+616>>2]=0;J[b+600>>2]=0;J[b+584>>2]=0;J[b+568>>2]=0;J[b+552>>2]=0;J[b+536>>2]=0;J[b+520>>2]=0;J[b+504>>2]=0;J[b+488>>2]=0;J[b+472>>2]=0;J[b+456>>2]=0;J[b+424>>2]=0;J[b+440>>2]=0;while(1){c=b+e|0;d=P(e,88)+a|0;H[c+620|0]=K[d+996|0];H[c+624|0]=K[d+1008|0];H[c+628|0]=K[d+1016|0];H[c+632|0]=K[d+1024|0];H[c+636|0]=K[d+1032|0];e=e+1|0;if((e|0)!=3){continue}break}c=0;H[b+635|0]=0;H[b+631|0]=0;H[b+627|0]=0;H[b+623|0]=0;H[(b+e|0)+636|0]=0;e=b+196|0;d=a+680|0;while(1){f=c<<2;N[f+e>>2]=N[d+f>>2];c=c+1|0;if((c|0)!=4){continue}break}e=b+180|0;d=a+696|0;c=0;while(1){f=c<<2;N[f+e>>2]=N[d+f>>2];c=c+1|0;if((c|0)!=4){continue}break}e=b+212|0;d=a+712|0;c=0;while(1){f=c<<2;N[f+e>>2]=N[d+f>>2];c=c+1|0;if((c|0)!=4){continue}break}e=b+228|0;d=a+728|0;c=0;while(1){f=c<<2;N[f+e>>2]=N[d+f>>2];c=c+1|0;if((c|0)!=4){continue}break}e=b+244|0;d=a+744|0;c=0;while(1){f=c<<2;N[f+e>>2]=N[d+f>>2];c=c+1|0;if((c|0)!=4){continue}break}e=b+260|0;d=a+760|0;c=0;while(1){f=c<<2;N[f+e>>2]=N[d+f>>2];c=c+1|0;if((c|0)!=4){continue}break}e=b+276|0;d=a+776|0;c=0;while(1){f=c<<2;N[f+e>>2]=N[d+f>>2];c=c+1|0;if((c|0)!=4){continue}break}e=b+292|0;d=a+876|0;c=0;while(1){f=c<<2;N[f+e>>2]=N[d+f>>2];c=c+1|0;if((c|0)!=4){continue}break}e=b+308|0;d=a+892|0;c=0;while(1){f=c<<2;N[f+e>>2]=N[d+f>>2];c=c+1|0;if((c|0)!=4){continue}break}e=b+324|0;d=a+804|0;c=0;while(1){f=c<<2;N[f+e>>2]=N[d+f>>2];c=c+1|0;if((c|0)!=4){continue}break}e=b+340|0;d=a+820|0;c=0;while(1){f=c<<2;N[f+e>>2]=N[d+f>>2];c=c+1|0;if((c|0)!=4){continue}break}e=b+356|0;d=a+840|0;c=0;while(1){f=c<<2;N[f+e>>2]=N[d+f>>2];c=c+1|0;if((c|0)!=4){continue}break}d=b+372|0;f=a+860|0;e=0;c=0;while(1){g=c<<2;N[g+d>>2]=N[f+g>>2];c=c+1|0;if((c|0)!=4){continue}break}while(1){c=b+e|0;d=a+e|0;H[c+388|0]=K[d+792|0];H[c+392|0]=K[d+795|0];H[c+396|0]=K[d+798|0];H[c+400|0]=K[d+836|0];H[c+404|0]=K[d+856|0];e=e+1|0;if((e|0)!=3){continue}break}H[b+403|0]=0;H[b+399|0]=0;H[b+395|0]=0;H[b+391|0]=0;H[(b+e|0)+404|0]=0;a=J[a+1232>>2];J[b+408>>2]=0;J[b+640>>2]=a;return 8490}function hp(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=Q(0);f=ta-32|0;ta=f;h=a+4|0;Jg(h,((P(J[a+112>>2],J[a+16>>2])|0)/100|0)+1|0);if(J[a+124>>2]){c=((P(J[a+108>>2],J[a+56>>2])|0)/100|0)+1|0;Jg(a+44|0,c);c=J[a+124>>2]-c|0;J[a+124>>2]=(c|0)>0?c:0}c=(J[a+104>>2]+1|0)%2|0;J[a+104>>2]=c;c=J[((c<<2)+a|0)+84>>2];if(c){g=a+44|0;while(1){d=J[c+52>>2];m=d?d+56|0:((J[c+60>>2]<<2)+a|0)+84|0;d=J[c+56>>2];J[m>>2]=d;e=J[c+56>>2];if(e){J[e+52>>2]=J[c+52>>2]}J[c+52>>2]=0;J[c+56>>2]=J[a+92>>2];e=J[a+92>>2];if(e){J[e+52>>2]=c}J[a+92>>2]=c;pc(h,J[c+48>>2]);e=J[c+28>>2];J[f+8>>2]=J[c+24>>2];J[f+12>>2]=e;e=J[c+20>>2];J[f>>2]=J[c+16>>2];J[f+4>>2]=e;e=J[c+44>>2];J[f+24>>2]=J[c+40>>2];J[f+28>>2]=e;e=J[c+36>>2];J[f+16>>2]=J[c+32>>2];J[f+20>>2]=e;e=qc(g,f,c);J[c+60>>2]=2;J[c+48>>2]=e;c=d;if(c){continue}break}H[a+154|0]=1;J[a+124>>2]=J[a+56>>2]}J[f>>2]=12060;J[f+4>>2]=a;a:{if(!K[a+153|0]){break a}oc(h,J[a+4>>2],J[a+44>>2],f);if(!K[a+153|0]){break a}c=J[h>>2];oc(h,c,c,f)}b:{if(!K[a+154|0]){break b}c=J[a+96>>2];h=va[J[J[c>>2]+28>>2]](c)|0;c=J[h+4>>2];if((c|0)<=0){break b}c:{e=J[a+120>>2];d=(P(J[a+116>>2],c)|0)/100|0;d=(e|0)>(d|0)?e:d;k=(c|0)<(d|0)?c:d;if((k|0)>0){c=0;while(1){d=J[h+12>>2]+((J[a+144>>2]+c|0)%J[h+4>>2]<<4)|0;g=J[d>>2];j=J[g+48>>2];e=J[d+4>>2];d=J[e+48>>2];d:{e:{if(!(N[j>>2]<=N[d+16>>2])|!(N[j+16>>2]>=N[d>>2])|(!(N[j+4>>2]<=N[d+20>>2])|!(N[j+20>>2]>=N[d+4>>2]))){break e}if(!(N[j+8>>2]<=N[d+24>>2])){break e}if(N[j+24>>2]>=N[d+8>>2]){break d}}d=J[a+96>>2];va[J[J[d>>2]+12>>2]](d,g,e,b)|0;c=c-1|0;k=k-1|0}c=c+1|0;if((k|0)>(c|0)){continue}break}c=J[h+4>>2];if((c|0)<=0){break c}}J[a+144>>2]=(J[a+144>>2]+k|0)%(c|0);break b}J[a+144>>2]=0}H[a+154|0]=0;J[a+120>>2]=1;J[a+140>>2]=J[a+140>>2]+1;d=J[a+132>>2];c=J[a+128>>2];if(c){n=Q(Q(d>>>0)/Q(c>>>0))}else{n=Q(0)}N[a+136>>2]=n;J[a+132>>2]=d>>>1;J[a+128>>2]=c>>>1;ta=f+32|0;c=0;d=0;h=0;k=ta-16|0;ta=k;e=J[a+96>>2];if(va[J[J[e>>2]+56>>2]](e)|0){e=J[a+96>>2];i=va[J[J[e>>2]+28>>2]](e)|0;g=J[i+4>>2];if((g|0)>=2){Qb(i,k+15|0,0,g-1|0);g=J[i+4>>2]}if((g|0)>0){while(1){j=J[i+12>>2]+(h<<4)|0;e=J[j+4>>2];m=d;d=J[j>>2];f:{g:{if((m|0)==(d|0)&(c|0)==(e|0)){break g}f=J[d+48>>2];c=J[e+48>>2];if(!(N[f>>2]<=N[c+16>>2])|!(N[f+16>>2]>=N[c>>2])|(!(N[f+4>>2]<=N[c+20>>2])|!(N[f+20>>2]>=N[c+4>>2]))){break g}if(!(N[f+8>>2]<=N[c+24>>2])){break g}if(N[f+24>>2]>=N[c+8>>2]){break f}}c=J[a+96>>2];va[J[J[c>>2]+32>>2]](c,j,b);J[j>>2]=0;J[j+4>>2]=0;l=l+1|0;g=J[i+4>>2]}c=e;h=h+1|0;if((h|0)<(g|0)){continue}break}if((g|0)>=2){Qb(i,k+14|0,0,g-1|0);g=J[i+4>>2]}a=g-l|0;if((l|0)<0){if((a|0)>J[i+8>>2]){d=0;h:{if((g|0)==(l|0)){break h}d=Ga(a<<4);c=J[i+4>>2];if((c|0)<=0){break h}h=0;while(1){b=h<<4;e=b+d|0;b=b+J[i+12>>2]|0;J[e>>2]=J[b>>2];J[e+4>>2]=J[b+4>>2];J[e+8>>2]=J[b+8>>2];J[e+12>>2]=J[b+12>>2];h=h+1|0;if((c|0)!=(h|0)){continue}break}}b=J[i+12>>2];if(!(!b|!K[i+16|0])){Fa(b)}J[i+12>>2]=d;H[i+16|0]=1;J[i+8>>2]=a}while(1){b=J[i+12>>2]+(g<<4)|0;J[b>>2]=0;J[b+4>>2]=0;J[b+8>>2]=0;J[b+12>>2]=0;g=g+1|0;if((a|0)!=(g|0)){continue}break}}g=a}J[i+4>>2]=g}ta=k+16|0}function $i(a,b,c,d,e,f,g,h,i,j){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=Q(0),l=Q(0),m=Q(0),n=0,o=0,p=0;a:{if(!(H[i+72|0]&1)){break a}e=J[a+68>>2];f=J[a+28>>2];n=J[a+48>>2];if((n|0)>0){d=J[a+136>>2];c=0;while(1){o=c<<2;p=J[o+d>>2];c=c+1|0;j=Gc(a,c);d=J[a+136>>2];j=d+(j<<2)|0;J[d+o>>2]=J[j>>2];J[j>>2]=p;if((c|0)!=(n|0)){continue}break}}if(J[i+20>>2]<=(b|0)){break a}if((f|0)>0){d=J[a+116>>2];c=0;while(1){n=c<<2;o=J[n+d>>2];c=c+1|0;j=Gc(a,c);d=J[a+116>>2];j=d+(j<<2)|0;J[d+n>>2]=J[j>>2];J[j>>2]=o;if((c|0)!=(f|0)){continue}break}}if((e|0)<=0){break a}d=J[a+156>>2];c=0;while(1){j=c<<2;n=J[j+d>>2];c=c+1|0;f=Gc(a,c);d=J[a+156>>2];f=d+(f<<2)|0;J[d+j>>2]=J[f>>2];J[f>>2]=n;if((c|0)!=(e|0)){continue}break}}e=J[a+48>>2];if((e|0)>0){c=0;while(1){d=J[a+56>>2]+P(J[J[a+136>>2]+(c<<2)>>2],152)|0;if(J[d+136>>2]>(b|0)){e=J[a+16>>2];k=Q(va[J[a+212>>2]](e+P(J[d+144>>2],244)|0,e+P(J[d+148>>2],244)|0,d));m=Q(Q(k*k)+m);e=J[a+48>>2]}c=c+1|0;if((e|0)>(c|0)){continue}break}}b:{if(J[i+20>>2]<=(b|0)){break b}if((h|0)>0){c=0;while(1){b=(c<<2)+g|0;d=J[b>>2];if(K[d+20|0]){d=pb(a,J[d+28>>2],N[i+12>>2]);e=pb(a,J[J[b>>2]+32>>2],N[i+12>>2]);b=J[b>>2];f=P(d,244);d=J[a+16>>2];va[J[J[b>>2]+24>>2]](b,f+d|0,d+P(e,244)|0,N[i+12>>2])}c=c+1|0;if((h|0)!=(c|0)){continue}break}}e=J[a+28>>2];b=J[i+72>>2];c:{if(b&512){if((e|0)<=0){break c}c=b>>>4&1;d=0;while(1){f=J[a+16>>2];b=J[a+36>>2]+P(J[J[a+116>>2]+(d<<2)>>2],152)|0;k=Q(va[J[a+216>>2]](f+P(J[b+144>>2],244)|0,f+P(J[b+148>>2],244)|0,b));m=Q(Q(k*k)+m);k=N[b+100>>2];f=k>Q(0);d:{if(!f){break d}g=d<>2]+P(J[g+J[a+156>>2]>>2],152)|0;l=N[b+104>>2];N[b+124>>2]=k*l;N[b+120>>2]=k*Q(-l);h=J[a+16>>2];l=Q(va[J[a+212>>2]](h+P(J[b+144>>2],244)|0,h+P(J[b+148>>2],244)|0,b));m=Q(Q(l*l)+m);if(!f|!(J[i+72>>2]&16)){break d}b=J[a+76>>2]+P(J[(g+J[a+156>>2]|0)+4>>2],152)|0;l=N[b+104>>2];N[b+124>>2]=k*l;N[b+120>>2]=k*Q(-l);f=J[a+16>>2];k=Q(va[J[a+212>>2]](f+P(J[b+144>>2],244)|0,f+P(J[b+148>>2],244)|0,b));m=Q(Q(k*k)+m)}d=d+1|0;if((e|0)!=(d|0)){continue}break}break c}if((e|0)>0){c=0;while(1){d=J[a+16>>2];b=J[a+36>>2]+P(J[J[a+116>>2]+(c<<2)>>2],152)|0;k=Q(va[J[a+216>>2]](d+P(J[b+144>>2],244)|0,d+P(J[b+148>>2],244)|0,b));m=Q(Q(k*k)+m);c=c+1|0;if((e|0)!=(c|0)){continue}break}}c=J[a+68>>2];if((c|0)<=0){break c}d=0;while(1){b=J[a+76>>2]+P(J[J[a+156>>2]+(d<<2)>>2],152)|0;k=N[(J[a+36>>2]+P(J[b+140>>2],152)|0)+100>>2];if(k>Q(0)){l=N[b+104>>2];N[b+124>>2]=k*l;N[b+120>>2]=k*Q(-l);e=J[a+16>>2];k=Q(va[J[a+212>>2]](e+P(J[b+144>>2],244)|0,e+P(J[b+148>>2],244)|0,b));m=Q(Q(k*k)+m)}d=d+1|0;if((c|0)!=(d|0)){continue}break}}c=J[a+88>>2];if((c|0)<=0){break b}d=0;while(1){b=J[a+96>>2]+P(d,152)|0;k=N[(J[a+36>>2]+P(J[b+140>>2],152)|0)+100>>2];if(k>Q(0)){l=k;k=N[b+104>>2];l=Q(l*k);k=k>2]=k;N[b+120>>2]=-k;e=J[a+16>>2];k=Q(va[J[a+212>>2]](e+P(J[b+144>>2],244)|0,e+P(J[b+148>>2],244)|0,b));m=Q(Q(k*k)+m)}d=d+1|0;if((c|0)!=(d|0)){continue}break}}return Q(m)}function mg(a){a=a|0;var b=0,c=0,d=0,e=0,f=Q(0),g=0,h=Q(0),i=0,j=0,k=0,l=0,m=Q(0),n=Q(0),o=Q(0),p=Q(0);b=ta-208|0;ta=b;a:{if(!(va[J[J[a>>2]+20>>2]](a)|0)){break a}d=va[J[J[a>>2]+20>>2]](a)|0;va[J[J[d>>2]+100>>2]](d);d=va[J[J[a>>2]+20>>2]](a)|0;va[J[J[d>>2]+8>>2]](b+80|0,d);d=va[J[J[a>>2]+20>>2]](a)|0;b:{if(!(va[J[J[d>>2]+56>>2]](d)&8)){break b}d=J[a+24>>2];if(!d){break b}i=va[J[J[d>>2]+36>>2]](d)|0;if((i|0)<=0){break b}l=b+176|0;while(1){g=0;d=J[a+24>>2];j=va[J[J[d>>2]+40>>2]](d,e)|0;k=J[j+844>>2];if((k|0)>0){while(1){d=va[J[J[a>>2]+20>>2]](a)|0;c=j+P(g,208)|0;va[J[J[d>>2]+40>>2]](d,c+36|0,c+68|0,N[c+84>>2],J[c+168>>2],l);g=g+1|0;if((k|0)!=(g|0)){continue}break}}e=e+1|0;if((i|0)!=(e|0)){continue}break}}d=va[J[J[a>>2]+20>>2]](a)|0;if(!(va[J[J[d>>2]+56>>2]](d)&3)|J[a+8>>2]<=0){break a}i=b+160|0;l=b+96|0;j=b+112|0;k=b+128|0;d=b+144|0;g=0;while(1){e=J[J[a+16>>2]+(g<<2)>>2];c:{if(K[e+204|0]&32){break c}d:{if(!(va[J[J[a>>2]+20>>2]](a)|0)){break d}c=va[J[J[a>>2]+20>>2]](a)|0;if(!(va[J[J[c>>2]+56>>2]](c)&1)){break d}e:{f:{switch(J[e+220>>2]-1|0){case 0:c=J[b+92>>2];J[b+72>>2]=J[b+88>>2];J[b+76>>2]=c;c=J[b+84>>2];J[b+64>>2]=J[b+80>>2];J[b+68>>2]=c;break e;case 1:c=J[l+12>>2];J[b+72>>2]=J[l+8>>2];J[b+76>>2]=c;c=J[l+4>>2];J[b+64>>2]=J[l>>2];J[b+68>>2]=c;break e;case 2:c=J[j+12>>2];J[b+72>>2]=J[j+8>>2];J[b+76>>2]=c;c=J[j+4>>2];J[b+64>>2]=J[j>>2];J[b+68>>2]=c;break e;case 3:c=J[k+12>>2];J[b+72>>2]=J[k+8>>2];J[b+76>>2]=c;c=J[k+4>>2];J[b+64>>2]=J[k>>2];J[b+68>>2]=c;break e;case 4:c=J[d+12>>2];J[b+72>>2]=J[d+8>>2];J[b+76>>2]=c;c=J[d+4>>2];J[b+64>>2]=J[d>>2];J[b+68>>2]=c;break e;default:break f}}J[b+72>>2]=1050253722;J[b+76>>2]=0;J[b+64>>2]=1050253722;J[b+68>>2]=1050253722}if(H[e+205|0]&1){c=J[e+320>>2];J[b+72>>2]=J[e+316>>2];J[b+76>>2]=c;c=J[e+312>>2];J[b+64>>2]=J[e+308>>2];J[b+68>>2]=c}va[J[J[a>>2]+28>>2]](a,e+4|0,J[e+192>>2],b- -64|0)}c=J[a+72>>2];if(!c){break c}if(!(va[J[J[c>>2]+56>>2]](c)&2)){break c}c=J[i+12>>2];J[b+40>>2]=J[i+8>>2];J[b+44>>2]=c;c=J[i+4>>2];J[b+32>>2]=J[i>>2];J[b+36>>2]=c;c=J[e+192>>2];va[J[J[c>>2]+8>>2]](c,e+4|0,b- -64|0,b+48|0);f=N[8329];N[b+64>>2]=N[b+64>>2]-f;N[b+68>>2]=N[b+68>>2]-f;N[b+72>>2]=N[b+72>>2]-f;N[b+48>>2]=f+N[b+48>>2];N[b+52>>2]=f+N[b+52>>2];N[b+56>>2]=f+N[b+56>>2];g:{if(K[e+204|0]&3|(!K[a+44|0]|J[e+252>>2]!=2)){break g}c=J[e+192>>2];va[J[J[c>>2]+8>>2]](c,e+68|0,b+16|0,b);m=Q(N[b+16>>2]-f);N[b+16>>2]=m;n=Q(N[b+20>>2]-f);N[b+20>>2]=n;h=Q(N[b+24>>2]-f);N[b+24>>2]=h;o=Q(f+N[b>>2]);N[b>>2]=o;p=Q(f+N[b+4>>2]);N[b+4>>2]=p;f=Q(f+N[b+8>>2]);N[b+8>>2]=f;if(m>2]){N[b+64>>2]=m}if(N[b+68>>2]>n){N[b+68>>2]=n}if(N[b+72>>2]>h){N[b+72>>2]=h}h=N[b+28>>2];if(h>2]){N[b+76>>2]=h}if(N[b+48>>2]>2]=o}if(N[b+52>>2]>2]=p}if(f>N[b+56>>2]){N[b+56>>2]=f}h=N[b+12>>2];if(!(h>N[b+60>>2])){break g}N[b+60>>2]=h}c=J[a+72>>2];va[J[J[c>>2]+60>>2]](c,b- -64|0,b+48|0,b+32|0)}g=g+1|0;if((g|0)>2]){continue}break}}ta=b+208|0}function Oa(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;a:{if(!a){break a}d=a-8|0;b=J[a-4>>2];a=b&-8;f=d+a|0;b:{if(b&1){break b}if(!(b&3)){break a}b=J[d>>2];d=d-b|0;if(d>>>0>>0<=255){e=b>>>3|0;b=J[d+12>>2];c=J[d+8>>2];if((b|0)==(c|0)){i=38384,j=J[9596]&Vt(e),J[i>>2]=j;break b}J[c+12>>2]=b;J[b+8>>2]=c;break b}g=J[d+24>>2];b=J[d+12>>2];if((d|0)!=(b|0)){c=J[d+8>>2];J[c+12>>2]=b;J[b+8>>2]=c;break c}e=d+20|0;c=J[e>>2];if(!c){c=J[d+16>>2];if(!c){break d}e=d+16|0}while(1){h=e;b=c;e=b+20|0;c=J[e>>2];if(c){continue}e=b+16|0;c=J[b+16>>2];if(c){continue}break}J[h>>2]=0;break c}b=J[f+4>>2];if((b&3)!=3){break b}J[9598]=a;J[f+4>>2]=b&-2;J[d+4>>2]=a|1;J[f>>2]=a;return}b=0}if(!g){break b}c=J[d+28>>2];e=(c<<2)+38688|0;e:{if(J[e>>2]==(d|0)){J[e>>2]=b;if(b){break e}i=38388,j=J[9597]&Vt(c),J[i>>2]=j;break b}J[g+(J[g+16>>2]==(d|0)?16:20)>>2]=b;if(!b){break b}}J[b+24>>2]=g;c=J[d+16>>2];if(c){J[b+16>>2]=c;J[c+24>>2]=b}c=J[d+20>>2];if(!c){break b}J[b+20>>2]=c;J[c+24>>2]=b}if(d>>>0>=f>>>0){break a}b=J[f+4>>2];if(!(b&1)){break a}f:{g:{h:{i:{if(!(b&2)){if(J[9602]==(f|0)){J[9602]=d;a=J[9599]+a|0;J[9599]=a;J[d+4>>2]=a|1;if(J[9601]!=(d|0)){break a}J[9598]=0;J[9601]=0;return}if(J[9601]==(f|0)){J[9601]=d;a=J[9598]+a|0;J[9598]=a;J[d+4>>2]=a|1;J[a+d>>2]=a;return}a=(b&-8)+a|0;if(b>>>0<=255){e=b>>>3|0;b=J[f+12>>2];c=J[f+8>>2];if((b|0)==(c|0)){i=38384,j=J[9596]&Vt(e),J[i>>2]=j;break g}J[c+12>>2]=b;J[b+8>>2]=c;break g}g=J[f+24>>2];b=J[f+12>>2];if((f|0)!=(b|0)){c=J[f+8>>2];J[c+12>>2]=b;J[b+8>>2]=c;break h}e=f+20|0;c=J[e>>2];if(!c){c=J[f+16>>2];if(!c){break i}e=f+16|0}while(1){h=e;b=c;e=b+20|0;c=J[e>>2];if(c){continue}e=b+16|0;c=J[b+16>>2];if(c){continue}break}J[h>>2]=0;break h}J[f+4>>2]=b&-2;J[d+4>>2]=a|1;J[a+d>>2]=a;break f}b=0}if(!g){break g}c=J[f+28>>2];e=(c<<2)+38688|0;j:{if(J[e>>2]==(f|0)){J[e>>2]=b;if(b){break j}i=38388,j=J[9597]&Vt(c),J[i>>2]=j;break g}J[g+(J[g+16>>2]==(f|0)?16:20)>>2]=b;if(!b){break g}}J[b+24>>2]=g;c=J[f+16>>2];if(c){J[b+16>>2]=c;J[c+24>>2]=b}c=J[f+20>>2];if(!c){break g}J[b+20>>2]=c;J[c+24>>2]=b}J[d+4>>2]=a|1;J[a+d>>2]=a;if(J[9601]!=(d|0)){break f}J[9598]=a;return}if(a>>>0<=255){b=(a&-8)+38424|0;c=J[9596];a=1<<(a>>>3);k:{if(!(c&a)){J[9596]=a|c;a=b;break k}a=J[b+8>>2]}J[b+8>>2]=d;J[a+12>>2]=d;J[d+12>>2]=b;J[d+8>>2]=a;return}c=31;if(a>>>0<=16777215){b=S(a>>>8|0);c=((a>>>38-b&1)-(b<<1)|0)+62|0}J[d+28>>2]=c;J[d+16>>2]=0;J[d+20>>2]=0;b=(c<<2)+38688|0;l:{m:{e=J[9597];h=1<>2]=d;J[d+24>>2]=b;break n}c=a<<((c|0)!=31?25-(c>>>1|0)|0:0);b=J[b>>2];while(1){e=b;if((J[b+4>>2]&-8)==(a|0)){break m}b=c>>>29|0;c=c<<1;h=e+(b&4)|0;b=J[h+16>>2];if(b){continue}break}J[h+16>>2]=d;J[d+24>>2]=e}J[d+12>>2]=d;J[d+8>>2]=d;break l}a=J[e+8>>2];J[a+12>>2]=d;J[e+8>>2]=d;J[d+24>>2]=0;J[d+12>>2]=e;J[d+8>>2]=a}a=J[9604]-1|0;J[9604]=a?a:-1}}function bc(){if(!K[37584]){J[9314]=1062847606;J[9315]=0;J[9312]=1042701022;J[9313]=1056964440;J[9310]=1062847606;J[9311]=0;J[9308]=-1093024784;J[9309]=1050556081;J[9306]=1062847606;J[9307]=0;J[9304]=-1093024784;J[9305]=-1096927567;J[9302]=1062847606;J[9303]=0;J[9300]=1042701022;J[9301]=-1090519208;J[9298]=1062847572;J[9299]=0;J[9296]=1057396286;J[9297]=0;J[9294]=1057396386;J[9295]=0;J[9292]=1060121912;J[9293]=1056964507;J[9290]=1057396420;J[9291]=0;J[9288]=-1098475836;J[9289]=1062148969;J[9286]=1057396386;J[9287]=0;J[9284]=-1084636143;J[9285]=0;J[9282]=1057396420;J[9283]=0;J[9280]=-1098475836;J[9281]=-1085334679;J[9278]=1057396386;J[9279]=0;J[9276]=1060121912;J[9277]=-1090519141;J[9274]=-2147483648;J[9275]=0;J[9272]=1058437413;J[9273]=1062149053;J[9270]=-2147483648;J[9271]=0;J[9268]=-2147483648;J[9269]=1065353216;J[9266]=-2147483648;J[9267]=0;J[9264]=-1089046235;J[9265]=1062149053;J[9262]=-2147483648;J[9263]=0;J[9260]=-1082951543;J[9261]=1050556148;J[9258]=-2147483648;J[9259]=0;J[9256]=-1082951543;J[9257]=-1096927500;J[9254]=0;J[9255]=0;J[9252]=-1089046235;J[9253]=-1085334595;J[9250]=0;J[9251]=0;J[9248]=0;J[9249]=-1082130432;J[9246]=0;J[9247]=0;J[9244]=1058437413;J[9245]=-1085334595;J[9242]=0;J[9243]=0;J[9240]=1064532105;J[9241]=-1096927500;J[9238]=0;J[9239]=0;J[9236]=1064532105;J[9237]=1050556148;J[9234]=-1090087228;J[9235]=0;J[9232]=1049007812;J[9233]=1062148969;J[9230]=-1090087262;J[9231]=0;J[9228]=-1087361736;J[9229]=1056964507;J[9226]=-1084636042;J[9227]=0;J[9224]=-1104782626;J[9225]=1056964440;J[9222]=-1090087262;J[9223]=0;J[9220]=-1087361736;J[9221]=-1090519141;J[9218]=-1084636076;J[9219]=0;J[9216]=-1090087362;J[9217]=-2147483648;J[9214]=-1090087262;J[9215]=0;J[9212]=1062847505;J[9213]=-2147483648;J[9210]=-1084636042;J[9211]=0;J[9208]=1054458864;J[9209]=1050556081;J[9206]=-1090087228;J[9207]=0;J[9204]=1049007812;J[9205]=-1085334679;J[9202]=-1084636042;J[9203]=0;J[9200]=-1104782626;J[9201]=-1090519208;J[9198]=-1084636042;J[9199]=0;J[9196]=1054458864;J[9197]=-1096927567;J[9194]=1065353216;J[9195]=0;J[9192]=-2147483648;J[9193]=0;J[9190]=1055193471;J[9191]=0;J[9188]=1063581978;J[9189]=0;J[9186]=1055193572;J[9187]=0;J[9184]=1049461434;J[9185]=1062847522;J[9182]=1055193572;J[9183]=0;J[9180]=-1086767520;J[9181]=1057396202;J[9178]=1055193572;J[9179]=0;J[9176]=-1086767520;J[9177]=-1090087446;J[9174]=1055193605;J[9175]=0;J[9172]=1049461434;J[9173]=-1084636126;J[9170]=-1092290076;J[9171]=0;J[9168]=1060716128;J[9169]=1057396202;J[9166]=-1092290043;J[9167]=0;J[9164]=-1098022214;J[9165]=1062847522;J[9162]=-1092290177;J[9163]=0;J[9160]=-1083901670;J[9161]=-2147483648;J[9158]=-1092290076;J[9159]=0;J[9156]=-1098022214;J[9157]=-1084636126;J[9154]=-1092290076;J[9155]=0;J[9152]=1060716128;J[9153]=-1090087446;J[9150]=-1082130432;J[9151]=0;J[9148]=0;J[9149]=-2147483648;H[37584]=1}}function Gn(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=Q(0),g=Q(0),h=Q(0),i=Q(0),j=Q(0),k=Q(0),l=Q(0),m=Q(0),n=Q(0),o=Q(0),p=Q(0),q=Q(0),r=Q(0),s=Q(0),t=Q(0),u=Q(0),v=Q(0),w=Q(0),x=Q(0),y=Q(0),z=Q(0),A=Q(0),B=Q(0),C=Q(0),D=Q(0),E=Q(0),F=Q(0),G=Q(0),H=Q(0),I=Q(0),L=Q(0),M=Q(0),O=Q(0),P=Q(0),R=Q(0),S=Q(0),T=Q(0),U=Q(0),V=Q(0),W=Q(0),X=Q(0),Y=Q(0),Z=Q(0),_=Q(0),$=Q(0),aa=Q(0),ba=Q(0),ca=Q(0),da=Q(0),ea=Q(0),fa=Q(0),ga=Q(0),ha=Q(0),ia=Q(0);e=ta-304|0;ta=e;T=Q(1);a=K[a+76|0];d=a?c:b;f=Q(N[d+124>>2]-N[d+60>>2]);g=Q(f*f);f=Q(N[d+116>>2]-N[d+52>>2]);h=Q(f*f);f=Q(N[d+120>>2]-N[d+56>>2]);g=Q(g+Q(h+Q(f*f)));f=N[d+276>>2];a:{if(g>2];if(J[a+4>>2]-21>>>0>8){break a}g=N[e+276>>2];i=N[d+92>>2];V=Q(g*i);f=N[d+76>>2];h=N[e+272>>2];W=Q(f*h);w=N[d+108>>2];x=N[d+88>>2];X=Q(g*x);y=N[d+72>>2];Y=Q(y*h);z=N[d+104>>2];A=N[d+84>>2];Z=Q(g*A);B=N[d+68>>2];_=Q(B*h);C=N[d+100>>2];l=N[e+260>>2];$=Q(l*i);m=N[e+256>>2];aa=Q(f*m);n=N[e+244>>2];ba=Q(n*i);o=N[e+240>>2];ca=Q(f*o);p=N[e+248>>2];D=N[d+28>>2];da=Q(D*g);E=N[d+12>>2];ea=Q(E*h);F=N[d+44>>2];G=N[d+24>>2];fa=Q(G*g);H=N[d+8>>2];ga=Q(H*h);I=N[d+40>>2];L=N[d+20>>2];ha=Q(L*g);M=N[d+4>>2];ia=Q(M*h);O=N[d+36>>2];u=N[d+124>>2];q=N[e+280>>2];P=N[d+116>>2];R=N[d+120>>2];r=Q(Q(u*q)+Q(Q(P*h)+Q(g*R)));U=N[e+296>>2];i=N[e+292>>2];s=N[e+264>>2];t=Q(i+Q(Q(u*s)+Q(Q(P*m)+Q(l*R))));j=N[e+288>>2];S=N[d+60>>2];k=N[d+52>>2];f=g;g=N[d+56>>2];f=Q(Q(S*q)+Q(Q(k*h)+Q(f*g)));J[e+236>>2]=0;v=Q(j+Q(Q(S*p)+Q(Q(k*o)+Q(n*g))));h=v;j=Q(j+Q(Q(u*p)+Q(Q(P*o)+Q(n*R))));if(h>j){N[e+224>>2]=j;h=j}k=Q(Q(Q(S*s)+Q(Q(k*m)+Q(l*g)))+i);i=k;if(k>t){N[e+228>>2]=t;i=t}g=Q(f+U);f=g;r=Q(U+r);if(f>r){N[e+232>>2]=r;f=r}J[e+220>>2]=0;u=f;f=N[d+272>>2];N[e+232>>2]=u-f;N[e+228>>2]=i-f;N[e+224>>2]=h-f;N[e+216>>2]=f+(g>2]=f+(k>2]=f+(j>v?j:v);J[e+132>>2]=0;N[e+128>>2]=r;N[e+124>>2]=t;N[e+120>>2]=j;J[e+116>>2]=0;N[e+112>>2]=Q(w*q)+Q(W+V);N[e+108>>2]=Q(z*q)+Q(Y+X);N[e+104>>2]=Q(C*q)+Q(_+Z);J[e+100>>2]=0;N[e+96>>2]=Q(w*s)+Q(aa+$);N[e+92>>2]=Q(z*s)+Q(Q(y*m)+Q(l*x));N[e+88>>2]=Q(C*s)+Q(Q(B*m)+Q(l*A));J[e+84>>2]=0;N[e+80>>2]=Q(w*p)+Q(ca+ba);N[e+76>>2]=Q(z*p)+Q(Q(y*o)+Q(n*x));J[e+68>>2]=0;N[e- -64>>2]=g;N[e+60>>2]=k;N[e+56>>2]=v;J[e+52>>2]=0;N[e+48>>2]=Q(F*q)+Q(ea+da);N[e+44>>2]=Q(I*q)+Q(ga+fa);N[e+40>>2]=Q(O*q)+Q(ia+ha);J[e+36>>2]=0;N[e+32>>2]=Q(F*s)+Q(Q(E*m)+Q(D*l));N[e+28>>2]=Q(I*s)+Q(Q(H*m)+Q(G*l));N[e+24>>2]=Q(O*s)+Q(Q(M*m)+Q(L*l));J[e+20>>2]=0;N[e+16>>2]=Q(F*p)+Q(Q(E*o)+Q(n*D));N[e+12>>2]=Q(I*p)+Q(Q(H*o)+Q(n*G));N[e+200>>2]=f;N[e+72>>2]=Q(C*p)+Q(Q(B*o)+Q(n*A));N[e+8>>2]=Q(O*p)+Q(Q(M*o)+Q(L*n));J[e+4>>2]=16016;N[e+204>>2]=N[d+268>>2];va[J[J[a>>2]+64>>2]](a,e+4|0,e+224|0,e+208|0);f=N[e+204>>2];if(!(f>2])){break a}N[d+268>>2]=f;T=f}ta=e+304|0;return Q(T)}function zj(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=Q(0),m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,I=0,L=0,M=0,O=0,R=0;i=b;c=J[a+28>>2];n=c+4|0;b=J[a+32>>2];o=b+4|0;p=c+372|0;q=b+372|0;r=c+388|0;s=b+388|0;f=ta-32|0;ta=f;J[f+24>>2]=J[5871];b=J[5870];J[f+16>>2]=J[5869];J[f+20>>2]=b;a:{b:{c:{d:{switch(J[a+1232>>2]){case 0:J[f+16>>2]=0;e=2;break c;case 1:J[f+16>>2]=0;e=1;b=2;break b;case 2:J[f+16>>2]=1;e=2;b=0;break b;case 3:J[f+16>>2]=1;b=2;break b;case 4:J[f+16>>2]=2;e=1;b=0;break b;case 5:break d;default:break a}}J[f+16>>2]=2}b=1}J[f+24>>2]=e;J[f+20>>2]=b}while(1){j=J[(f+16|0)+(d<<2)>>2];h=P(j,88)+a|0;if(J[h+1052>>2]|K[h+996|0]|K[h+1016|0]){e=(j<<4)+a|0;c=e+1388|0;b=J[c+4>>2];J[f+8>>2]=J[c>>2];J[f+12>>2]=b;c=e+1380|0;b=J[c+4>>2];J[f>>2]=J[c>>2];J[f+4>>2]=b;b=J[a+1456>>2]>>(j<<2)+12;if(!(b&1)){N[h+984>>2]=N[J[i+32>>2]>>2]}if(!(b&2)){N[h+980>>2]=N[i+4>>2]}if(!(b&4)){N[h+992>>2]=N[J[i+32>>2]>>2]}if(!(b&8)){N[h+988>>2]=N[i+4>>2]}k=ye(a,h+968|0,n,o,p,q,r,s,i,k,f,1,0)+k|0}d=d+1|0;if((d|0)!=3){continue}break}ta=f+32|0;d=0;c=ta-112|0;ta=c;J[c+44>>2]=1063675494;J[c+48>>2]=0;J[c+36>>2]=1045220557;J[c+40>>2]=0;v=a+760|0;w=a+776|0;t=i+4|0;x=a+728|0;y=a+744|0;z=a+1268|0;A=a+1252|0;B=a+1236|0;C=a+876|0;D=a+892|0;E=a+696|0;F=a+860|0;G=a+840|0;I=a+820|0;L=a+804|0;M=a+924|0;O=a+908|0;R=a+940|0;f=a+712|0;u=a+680|0;while(1){e=K[(d+u|0)+112|0];e:{f:{g=d<<2;h=u+g|0;j=J[h+276>>2];if(j){break f}b=e;e=1;if(b){break f}e=0;if(K[(a+d|0)+798|0]){break f}b=d+1|0;break e}l=N[f+g>>2];J[c+108>>2]=j;N[c+32>>2]=l;N[c+104>>2]=N[g+R>>2];N[c+96>>2]=N[g+O>>2];l=N[g+M>>2];H[c+52|0]=e;N[c+100>>2]=l;b=a+d|0;H[c+64|0]=K[b+795|0];N[c+68>>2]=N[g+L>>2];H[c+72|0]=K[b+798|0];N[c+76>>2]=N[g+I>>2];H[c+80|0]=K[b+836|0];N[c+84>>2]=N[g+G>>2];H[c+88|0]=K[b+856|0];N[c+92>>2]=N[g+F>>2];N[c+28>>2]=N[g+E>>2];N[c+24>>2]=N[h>>2];N[c+60>>2]=N[g+D>>2];N[c+56>>2]=N[g+C>>2];N[c+8>>2]=N[g+B>>2];N[c+12>>2]=N[g+A>>2];l=N[g+z>>2];J[c+20>>2]=0;N[c+16>>2]=l;e=J[a+1456>>2]>>g;N[c+40>>2]=N[(e&1?g+y|0:J[i+32>>2])>>2];N[c+36>>2]=N[(e&2?g+x|0:t)>>2];N[c+48>>2]=N[(e&4?g+w|0:J[i+32>>2])>>2];N[c+44>>2]=N[(e&8?g+v|0:t)>>2];h=1;j=d?d-1|0:2;e=1;g:{h:{i:{j:{b=d+1|0;d=P(d>>>0<2?b:d-2|0,88)+a|0;switch(J[d+1052>>2]-1|0){case 0:case 1:break g;case 3:break i;case 2:break j;default:break h}}m=+N[d+1040>>2];e=m<-.001|m>.001;break g}if(+N[d+1040>>2]<-.001){break g}e=+N[d+1044>>2]>.001;break g}e=0}k:{l:{m:{n:{d=P(j,88)+a|0;switch(J[d+1052>>2]-1|0){case 0:case 1:break l;case 3:break m;case 2:break n;default:break k}}m=+N[d+1040>>2];if(m<-.001|m>.001){break l}break k}if(+N[d+1040>>2]<-.001){break l}if(!(+N[d+1044>>2]>.001)){break k}}h=0}k=ye(a,c+24|0,n,o,p,q,r,s,i,k,c+8|0,0,e?h:1)+k|0}d=b;if((d|0)!=3){continue}break}ta=c+112|0}function Gp(a,b,c,d,e,f){a=a|0;b=Q(b);c=Q(c);d=d|0;e=e|0;f=f|0;var g=0,h=0,i=Q(0),j=Q(0),k=Q(0),l=Q(0),m=Q(0),n=Q(0),o=Q(0),p=Q(0),q=Q(0),r=Q(0),s=Q(0),t=Q(0),u=Q(0),v=Q(0),w=Q(0),x=Q(0),y=Q(0),z=0,A=0,B=Q(0),C=Q(0),D=Q(0),E=0,F=0,G=0,H=0;g=ta-128|0;ta=g;B=N[e+56>>2];C=N[e+52>>2];D=N[e+48>>2];J[g+120>>2]=0;J[g+124>>2]=0;J[g+112>>2]=0;J[g+116>>2]=0;h=d<<2;N[h+(g+112|0)>>2]=c;J[g+104>>2]=0;J[g+108>>2]=0;J[g+96>>2]=0;J[g+100>>2]=0;z=g+96|0;N[h+z>>2]=-c;J[g+88>>2]=0;J[g+92>>2]=0;J[g+80>>2]=0;J[g+84>>2]=0;A=h;h=g+80|0;N[A+h>>2]=c;E=(d+2|0)%3<<2;F=E+h|0;E=z+E|0;A=h;z=(d+1|0)%3|0;h=z<<2;G=A+h|0;H=h+(g+96|0)|0;h=0;while(1){c=Q(Q(h|0)*Q(.01745329238474369));l=Q(Va(c)*b);N[H>>2]=l;N[G>>2]=l;c=Q(Ta(c)*b);N[E>>2]=c;N[F>>2]=c;c=N[e+8>>2];l=N[e>>2];p=N[e+4>>2];q=N[e+24>>2];r=N[e+16>>2];s=N[e+20>>2];i=N[e+40>>2];j=N[e+32>>2];k=N[e+36>>2];J[g+76>>2]=0;m=N[g+104>>2];n=N[g+96>>2];o=N[g+100>>2];N[g+72>>2]=B+Q(Q(i*m)+Q(Q(j*n)+Q(k*o)));N[g+68>>2]=C+Q(Q(q*m)+Q(Q(r*n)+Q(o*s)));N[g+64>>2]=D+Q(Q(c*m)+Q(Q(l*n)+Q(p*o)));J[g+60>>2]=0;t=i;i=N[g+88>>2];u=j;j=N[g+80>>2];v=k;k=N[g+84>>2];N[g+56>>2]=B+Q(Q(t*i)+Q(Q(u*j)+Q(v*k)));N[g+52>>2]=C+Q(Q(q*i)+Q(Q(r*j)+Q(s*k)));N[g+48>>2]=D+Q(Q(c*i)+Q(Q(l*j)+Q(p*k)));va[J[J[a>>2]+16>>2]](a,g- -64|0,g+48|0,f);A=h>>>0<330;h=h+30|0;if(A){continue}break}J[g+72>>2]=0;J[g+76>>2]=0;J[g+64>>2]=0;J[g+68>>2]=0;J[(g- -64|0)+(d<<2)>>2]=1065353216;J[g+56>>2]=0;J[g+60>>2]=0;J[g+48>>2]=0;J[g+52>>2]=0;J[(g+48|0)+(z<<2)>>2]=1065353216;m=N[e+8>>2];n=N[e>>2];o=N[e+4>>2];w=N[e+24>>2];x=N[e+16>>2];y=N[e+20>>2];i=N[e+40>>2];j=N[e+32>>2];k=N[e+36>>2];J[g+44>>2]=0;c=N[g+120>>2];l=N[g+112>>2];p=N[g+116>>2];N[g+40>>2]=B-Q(Q(i*c)+Q(Q(j*l)+Q(k*p)));N[g+36>>2]=C-Q(Q(w*c)+Q(Q(x*l)+Q(p*y)));N[g+32>>2]=D-Q(Q(m*c)+Q(Q(n*l)+Q(o*p)));J[g+28>>2]=0;q=N[g+72>>2];r=N[g+64>>2];s=N[g+68>>2];N[g+24>>2]=Q(i*q)+Q(Q(j*r)+Q(k*s));N[g+20>>2]=Q(w*q)+Q(Q(x*r)+Q(y*s));N[g+16>>2]=Q(m*q)+Q(Q(n*r)+Q(o*s));J[g+12>>2]=0;t=i;i=N[g+56>>2];u=j;j=N[g+48>>2];v=k;k=N[g+52>>2];N[g+8>>2]=Q(t*i)+Q(Q(u*j)+Q(v*k));N[g+4>>2]=Q(w*i)+Q(Q(x*j)+Q(y*k));N[g>>2]=Q(m*i)+Q(Q(n*j)+Q(o*k));d=g+32|0;h=g+16|0;va[J[J[a>>2]+68>>2]](a,d,h,g,b,b,Q(0),Q(6.2831854820251465),f,0,Q(10));m=N[e+8>>2];n=N[e>>2];o=N[e+4>>2];w=N[e+24>>2];x=N[e+16>>2];y=N[e+20>>2];t=N[e+40>>2];u=N[e+32>>2];v=N[e+36>>2];J[g+44>>2]=0;N[g+40>>2]=B+Q(Q(t*c)+Q(Q(u*l)+Q(p*v)));N[g+36>>2]=C+Q(Q(w*c)+Q(Q(x*l)+Q(p*y)));N[g+32>>2]=D+Q(Q(m*c)+Q(Q(n*l)+Q(p*o)));J[g+28>>2]=0;N[g+24>>2]=Q(t*q)+Q(Q(u*r)+Q(s*v));N[g+20>>2]=Q(w*q)+Q(Q(x*r)+Q(s*y));N[g+16>>2]=Q(m*q)+Q(Q(n*r)+Q(s*o));J[g+12>>2]=0;N[g+8>>2]=Q(t*i)+Q(Q(u*j)+Q(k*v));N[g+4>>2]=Q(w*i)+Q(Q(x*j)+Q(k*y));N[g>>2]=Q(m*i)+Q(Q(n*j)+Q(k*o));va[J[J[a>>2]+68>>2]](a,d,h,g,b,b,Q(0),Q(6.2831854820251465),f,0,Q(10));ta=g+128|0}function om(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;e=b+32|0;d=a+20|0;while(1){N[d+(c<<2)>>2]=O[e+(c<<3)>>3];c=c+1|0;if((c|0)!=4){continue}break}d=a+4|0;c=0;while(1){N[d+(c<<2)>>2]=O[(c<<3)+b>>3];c=c+1|0;if((c|0)!=4){continue}break}e=b- -64|0;d=a+36|0;c=0;while(1){N[d+(c<<2)>>2]=O[e+(c<<3)>>3];c=c+1|0;if((c|0)!=4){continue}break}J[a+56>>2]=J[b+96>>2];H[a+60|0]=J[b+100>>2]!=0;c=J[a+88>>2];g=J[b+104>>2];if((c|0)<(g|0)){if((g|0)>J[a+92>>2]){if(g){i=Ga(g<<6);d=J[a+88>>2]}else{d=c}if((d|0)>0){while(1){e=f<<6;Pa(e+i|0,e+J[a+96>>2]|0,64);f=f+1|0;if((d|0)!=(f|0)){continue}break}}d=J[a+96>>2];if(!(!d|!K[a+100|0])){Fa(d)}J[a+96>>2]=i;H[a+100|0]=1;J[a+92>>2]=g}while(1){Ka(J[a+96>>2]+(c<<6)|0,0,64);c=c+1|0;if((g|0)!=(c|0)){continue}break}}J[a+88>>2]=g;if((g|0)>0){j=J[a+96>>2];f=J[b+112>>2];i=0;while(1){e=f+32|0;h=j+(i<<6)|0;d=h+16|0;c=0;while(1){N[(c<<2)+d>>2]=O[e+(c<<3)>>3];c=c+1|0;if((c|0)!=4){continue}break}c=0;while(1){N[h+(c<<2)>>2]=O[(c<<3)+f>>3];c=c+1|0;if((c|0)!=4){continue}break}J[h+32>>2]=J[f+64>>2];J[h+36>>2]=J[f+68>>2];J[h+40>>2]=J[f+72>>2];f=f+80|0;i=i+1|0;if((g|0)!=(i|0)){continue}break}}c=J[a+128>>2];g=J[b+108>>2];if((c|0)<(g|0)){if((g|0)>J[a+132>>2]){a:{if(!g){i=0;d=c;break a}i=Ga(g<<4);d=J[a+128>>2]}if((d|0)>0){f=0;while(1){e=f<<4;j=e+i|0;h=e+J[a+136>>2]|0;e=J[h+4>>2];J[j>>2]=J[h>>2];J[j+4>>2]=e;e=J[h+12>>2];J[j+8>>2]=J[h+8>>2];J[j+12>>2]=e;f=f+1|0;if((d|0)!=(f|0)){continue}break}}d=J[a+136>>2];if(!(!d|!K[a+140|0])){Fa(d)}J[a+136>>2]=i;H[a+140|0]=1;J[a+132>>2]=g}while(1){d=J[a+136>>2]+(c<<4)|0;J[d>>2]=0;J[d+4>>2]=0;J[d+8>>2]=0;J[d+12>>2]=0;c=c+1|0;if((g|0)!=(c|0)){continue}break}}J[a+128>>2]=g;if((g|0)>0){d=J[a+136>>2];c=J[b+116>>2];f=0;while(1){e=d+(f<<4)|0;J[e+12>>2]=J[c+12>>2];I[e+6>>1]=L[c+6>>1];I[e+8>>1]=L[c+8>>1];I[e+10>>1]=L[c+10>>1];I[e>>1]=L[c>>1];I[e+2>>1]=L[c+2>>1];I[e+4>>1]=L[c+4>>1];c=c+16|0;f=f+1|0;if((g|0)!=(f|0)){continue}break}}J[a+144>>2]=J[b+120>>2];c=J[a+152>>2];h=J[b+124>>2];if(!((c|0)>=(h|0)|(h|0)<=J[a+156>>2])){b:{if(!h){i=0;break b}i=Ga(h<<5);c=J[a+152>>2]}if((c|0)>0){f=0;while(1){d=f<<5;j=d+i|0;e=d+J[a+160>>2]|0;d=J[e+4>>2];J[j>>2]=J[e>>2];J[j+4>>2]=d;d=J[e+28>>2];J[j+24>>2]=J[e+24>>2];J[j+28>>2]=d;d=J[e+20>>2];J[j+16>>2]=J[e+16>>2];J[j+20>>2]=d;d=J[e+12>>2];J[j+8>>2]=J[e+8>>2];J[j+12>>2]=d;f=f+1|0;if((f|0)!=(c|0)){continue}break}}d=J[a+160>>2];if(!(!d|!K[a+164|0])){Fa(d)}J[a+160>>2]=i;H[a+164|0]=1;J[a+156>>2]=h}J[a+152>>2]=h;if((h|0)>0){a=J[a+160>>2];c=J[b+128>>2];f=0;while(1){b=a+(f<<5)|0;I[b+6>>1]=L[c+14>>1];I[b+8>>1]=L[c+16>>1];I[b+10>>1]=L[c+18>>1];I[b>>1]=L[c+8>>1];I[b+2>>1]=L[c+10>>1];I[b+4>>1]=L[c+12>>1];J[b+12>>2]=J[c>>2];J[b+16>>2]=J[c+4>>2];c=c+20|0;f=f+1|0;if((h|0)!=(f|0)){continue}break}}}function Fc(a,b,c,d,e,f){var g=0,h=Q(0),i=Q(0),j=0,k=Q(0),l=Q(0),m=Q(0),n=Q(0),o=Q(0),p=Q(0),q=Q(0),r=0,s=0,t=Q(0),u=Q(0),v=0,w=0,x=Q(0),y=Q(0),z=Q(0),A=Q(0),B=Q(0),C=Q(0),D=Q(0),E=Q(0);j=J[a+88>>2];r=j;a:{if((j|0)!=J[a+92>>2]){break a}s=j?j<<1:1;if((j|0)>=(s|0)){break a}if(s){v=Ga(P(s,152));g=J[a+88>>2]}else{g=j}if((g|0)>0){r=0;while(1){w=P(r,152);Pa(w+v|0,J[a+96>>2]+w|0,152);r=r+1|0;if((g|0)!=(r|0)){continue}break}}g=J[a+96>>2];if(!(!g|!K[a+100|0])){Fa(g)}J[a+96>>2]=v;H[a+100|0]=1;J[a+92>>2]=s;r=J[a+88>>2]}J[a+88>>2]=r+1;g=J[a+96>>2]+P(j,152)|0;J[g+140>>2]=e;J[g+16>>2]=0;J[g+20>>2]=0;J[g+48>>2]=-2147483648;J[g+52>>2]=-2147483648;J[g+24>>2]=0;J[g+28>>2]=0;J[g+56>>2]=-2147483648;J[g+60>>2]=0;j=J[a+16>>2];a=J[(j+P(d,244)|0)+240>>2];e=J[(j+P(c,244)|0)+240>>2];J[g+148>>2]=d;J[g+144>>2]=c;J[g+132>>2]=0;N[g+104>>2]=f;J[g+96>>2]=0;J[g+100>>2]=0;h=N[b>>2];i=N[b+4>>2];k=N[b+8>>2];J[g+12>>2]=0;n=Q(-k);N[g+8>>2]=n;o=Q(-i);N[g+4>>2]=o;p=Q(-h);N[g>>2]=p;h=Q(0);if(e){h=Q(Q(Q(N[e+364>>2]*n)+Q(Q(N[e+356>>2]*p)+Q(N[e+360>>2]*o)))*N[e+612>>2]);l=Q(Q(Q(N[e+348>>2]*n)+Q(Q(N[e+340>>2]*p)+Q(N[e+344>>2]*o)))*N[e+608>>2]);i=Q(Q(Q(N[e+332>>2]*n)+Q(Q(N[e+324>>2]*p)+Q(N[e+328>>2]*o)))*N[e+604>>2])}else{i=Q(0)}N[g+64>>2]=i;J[g+76>>2]=0;N[g+72>>2]=h;N[g+68>>2]=l;h=N[b>>2];i=N[b+4>>2];k=N[b+8>>2];N[g+44>>2]=N[b+12>>2];N[g+40>>2]=k;N[g+36>>2]=i;N[g+32>>2]=h;if(a){m=Q(Q(Q(N[a+364>>2]*k)+Q(Q(N[a+356>>2]*h)+Q(i*N[a+360>>2])))*N[a+612>>2]);q=Q(Q(Q(N[a+348>>2]*k)+Q(Q(N[a+340>>2]*h)+Q(i*N[a+344>>2])))*N[a+608>>2]);l=Q(Q(Q(N[a+332>>2]*k)+Q(Q(N[a+324>>2]*h)+Q(i*N[a+328>>2])))*N[a+604>>2])}else{l=Q(0)}N[g+80>>2]=l;J[g+92>>2]=0;N[g+88>>2]=m;N[g+84>>2]=q;q=Q(0);m=Q(0);if(e){q=Q(Q(N[e+332>>2]*n)+Q(Q(N[e+324>>2]*p)+Q(N[e+328>>2]*o)));m=Q(Q(N[e+348>>2]*n)+Q(Q(N[e+340>>2]*p)+Q(N[e+344>>2]*o)));l=Q(Q(N[e+364>>2]*n)+Q(Q(N[e+356>>2]*p)+Q(N[e+360>>2]*o)))}else{l=Q(0)}q=Q(Q(Q(l*n)+Q(Q(q*p)+Q(m*o)))+Q(0));if(a){t=Q(Q(N[a+348>>2]*k)+Q(Q(N[a+340>>2]*h)+Q(i*N[a+344>>2])));u=Q(Q(N[a+332>>2]*k)+Q(Q(N[a+324>>2]*h)+Q(N[a+328>>2]*i)));m=Q(Q(N[a+364>>2]*k)+Q(Q(N[a+356>>2]*h)+Q(i*N[a+360>>2])))}else{m=Q(0)}x=Q(Q(1)/Q(q+Q(Q(m*k)+Q(Q(u*h)+Q(t*i)))));N[g+108>>2]=x;u=Q(0);q=Q(0);m=Q(0);t=Q(0);if(e){b=j+P(c,244)|0;u=Q(N[b+176>>2]+N[b+208>>2]);y=N[b+200>>2];t=N[b+196>>2];q=Q(Q(N[b+180>>2]+N[b+212>>2])*Q(0));z=N[b+192>>2];m=Q(N[b+184>>2]+N[b+216>>2])}l=Q(-0);if(a){a=j+P(d,244)|0;A=Q(N[a+176>>2]+N[a+208>>2]);B=Q(N[a+184>>2]+N[a+216>>2]);C=N[a+192>>2];D=N[a+200>>2];E=N[a+196>>2];l=Q(Q(N[a+180>>2]+N[a+212>>2])*Q(-0))}N[g+124>>2]=f;N[g+116>>2]=0;N[g+120>>2]=-f;N[g+112>>2]=x*Q(Q(0)-Q(Q(Q(Q(m*Q(0))+Q(Q(u*Q(0))+q))+Q(Q(n*y)+Q(Q(p*z)+Q(t*o))))+Q(Q(Q(B*Q(-0))+Q(Q(A*Q(-0))+l))+Q(Q(k*D)+Q(Q(h*C)+Q(i*E))))))}function pm(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;g=b+16|0;e=a+20|0;while(1){d=c<<2;N[d+e>>2]=N[d+g>>2];c=c+1|0;if((c|0)!=4){continue}break}e=a+4|0;c=0;while(1){d=c<<2;N[d+e>>2]=N[b+d>>2];c=c+1|0;if((c|0)!=4){continue}break}g=b+32|0;e=a+36|0;c=0;while(1){d=c<<2;N[d+e>>2]=N[d+g>>2];c=c+1|0;if((c|0)!=4){continue}break}J[a+56>>2]=J[b+48>>2];H[a+60|0]=J[b+52>>2]!=0;c=J[a+88>>2];j=J[b+56>>2];if((c|0)<(j|0)){if((j|0)>J[a+92>>2]){if(j){i=Ga(j<<6);d=J[a+88>>2]}else{d=c}if((d|0)>0){while(1){e=f<<6;Pa(e+i|0,e+J[a+96>>2]|0,64);f=f+1|0;if((d|0)!=(f|0)){continue}break}}d=J[a+96>>2];if(!(!d|!K[a+100|0])){Fa(d)}J[a+96>>2]=i;H[a+100|0]=1;J[a+92>>2]=j}while(1){Ka(J[a+96>>2]+(c<<6)|0,0,64);c=c+1|0;if((j|0)!=(c|0)){continue}break}}J[a+88>>2]=j;if((j|0)>0){l=J[a+96>>2];f=J[b+64>>2];while(1){g=f+16|0;h=l+(k<<6)|0;e=h+16|0;c=0;while(1){d=c<<2;N[d+e>>2]=N[d+g>>2];c=c+1|0;if((c|0)!=4){continue}break}c=0;while(1){d=c<<2;N[d+h>>2]=N[d+f>>2];c=c+1|0;if((c|0)!=4){continue}break}J[h+32>>2]=J[f+32>>2];J[h+36>>2]=J[f+36>>2];J[h+40>>2]=J[f+40>>2];f=f+48|0;k=k+1|0;if((j|0)!=(k|0)){continue}break}}c=J[a+128>>2];h=J[b+60>>2];if((c|0)<(h|0)){if((h|0)>J[a+132>>2]){a:{if(!h){i=0;d=c;break a}i=Ga(h<<4);d=J[a+128>>2]}if((d|0)>0){f=0;while(1){e=f<<4;g=e+i|0;l=e+J[a+136>>2]|0;e=J[l+4>>2];J[g>>2]=J[l>>2];J[g+4>>2]=e;e=J[l+12>>2];J[g+8>>2]=J[l+8>>2];J[g+12>>2]=e;f=f+1|0;if((d|0)!=(f|0)){continue}break}}d=J[a+136>>2];if(!(!d|!K[a+140|0])){Fa(d)}J[a+136>>2]=i;H[a+140|0]=1;J[a+132>>2]=h}while(1){d=J[a+136>>2]+(c<<4)|0;J[d>>2]=0;J[d+4>>2]=0;J[d+8>>2]=0;J[d+12>>2]=0;c=c+1|0;if((h|0)!=(c|0)){continue}break}}J[a+128>>2]=h;if((h|0)>0){d=J[a+136>>2];c=J[b+68>>2];f=0;while(1){e=d+(f<<4)|0;J[e+12>>2]=J[c+12>>2];I[e+6>>1]=L[c+6>>1];I[e+8>>1]=L[c+8>>1];I[e+10>>1]=L[c+10>>1];I[e>>1]=L[c>>1];I[e+2>>1]=L[c+2>>1];I[e+4>>1]=L[c+4>>1];c=c+16|0;f=f+1|0;if((h|0)!=(f|0)){continue}break}}J[a+144>>2]=J[b+76>>2];k=J[a+152>>2];g=J[b+80>>2];if(!((k|0)>=(g|0)|(g|0)<=J[a+156>>2])){b:{if(!g){i=0;break b}i=Ga(g<<5);k=J[a+152>>2]}if((k|0)>0){f=0;while(1){d=f<<5;e=d+i|0;c=d+J[a+160>>2]|0;d=J[c+4>>2];J[e>>2]=J[c>>2];J[e+4>>2]=d;d=J[c+28>>2];J[e+24>>2]=J[c+24>>2];J[e+28>>2]=d;d=J[c+20>>2];J[e+16>>2]=J[c+16>>2];J[e+20>>2]=d;d=J[c+12>>2];J[e+8>>2]=J[c+8>>2];J[e+12>>2]=d;f=f+1|0;if((k|0)!=(f|0)){continue}break}}d=J[a+160>>2];if(!(!d|!K[a+164|0])){Fa(d)}J[a+160>>2]=i;H[a+164|0]=1;J[a+156>>2]=g}J[a+152>>2]=g;if((g|0)>0){a=J[a+160>>2];c=J[b+72>>2];f=0;while(1){b=a+(f<<5)|0;I[b+6>>1]=L[c+14>>1];I[b+8>>1]=L[c+16>>1];I[b+10>>1]=L[c+18>>1];I[b>>1]=L[c+8>>1];I[b+2>>1]=L[c+10>>1];I[b+4>>1]=L[c+12>>1];J[b+12>>2]=J[c>>2];J[b+16>>2]=J[c+4>>2];c=c+20|0;f=f+1|0;if((g|0)!=(f|0)){continue}break}}}function hk(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;e=ta-32|0;ta=e;d=va[J[J[a>>2]+28>>2]](a)|0;J[b>>2]=0;J[b+20>>2]=d;if(d){m=va[J[J[c>>2]+16>>2]](c,32,d)|0;i=J[m+8>>2];q=b,r=va[J[J[c>>2]+28>>2]](c,i)|0,J[q>>2]=r;p=va[J[J[a>>2]+28>>2]](a)|0;if((p|0)>0){while(1){va[J[J[a>>2]+16>>2]](a,e+28|0,e+4|0,e+16|0,e+8|0,e+24|0,e+20|0,e,e+12|0,l);d=J[e>>2];J[i+24>>2]=d;f=J[e+4>>2];J[i>>2]=0;J[i+4>>2]=0;J[i+28>>2]=f;J[i+8>>2]=0;J[i+12>>2]=0;J[i+16>>2]=0;J[i+20>>2]=0;a:{b:{switch(J[e+12>>2]-2|0){case 0:if(!d){break a}f=va[J[J[c>>2]+16>>2]](c,4,P(d,3))|0;j=J[f+8>>2];q=i,r=va[J[J[c>>2]+28>>2]](c,j)|0,J[q+8>>2]=r;if(J[e>>2]>0){d=0;k=J[e+24>>2];while(1){h=j+P(d,12)|0;g=k+P(J[e+20>>2],d)|0;J[h>>2]=J[g>>2];J[h+4>>2]=J[g+4>>2];J[h+8>>2]=J[g+8>>2];d=d+1|0;if((d|0)>2]){continue}break}}va[J[J[c>>2]+20>>2]](c,f,8460,1497453121,J[f+8>>2]);break a;case 1:if(!d){break a}h=va[J[J[c>>2]+16>>2]](c,8,d)|0;j=J[h+8>>2];q=i,r=va[J[J[c>>2]+28>>2]](c,j)|0,J[q+12>>2]=r;d=0;if(J[e>>2]>0){while(1){f=j+(d<<3)|0;g=J[e+24>>2]+P(J[e+20>>2],d)|0;I[f>>1]=L[g>>1];I[f+2>>1]=L[g+2>>1];g=L[g+4>>1];I[f+6>>1]=0;I[f+4>>1]=g;d=d+1|0;if((d|0)>2]){continue}break}}va[J[J[c>>2]+20>>2]](c,h,8525,1497453121,J[h+8>>2]);break a;case 3:break b;default:break a}}if(!d){break a}h=va[J[J[c>>2]+16>>2]](c,4,d)|0;j=J[h+8>>2];q=i,r=va[J[J[c>>2]+28>>2]](c,j)|0,J[q+16>>2]=r;d=0;if(J[e>>2]>0){while(1){f=j+(d<<2)|0;g=J[e+24>>2]+P(J[e+20>>2],d)|0;H[f|0]=K[g|0];H[f+1|0]=K[g+1|0];g=K[g+2|0];H[f+3|0]=0;H[f+2|0]=g;d=d+1|0;if((d|0)>2]){continue}break}}va[J[J[c>>2]+20>>2]](c,h,8552,1497453121,J[h+8>>2])}c:{d:{switch(J[e+16>>2]){case 0:d=J[e+4>>2];if(!d){break c}f=va[J[J[c>>2]+16>>2]](c,16,d)|0;j=J[f+8>>2];q=i,r=va[J[J[c>>2]+28>>2]](c,j)|0,J[q>>2]=r;k=J[e+4>>2];if((k|0)>0){d=0;n=J[e+8>>2];o=J[e+28>>2];while(1){h=j+(d<<4)|0;g=o+P(d,n)|0;N[h>>2]=N[g>>2];N[h+4>>2]=N[g+4>>2];N[h+8>>2]=N[g+8>>2];d=d+1|0;if((k|0)!=(d|0)){continue}break}}va[J[J[c>>2]+20>>2]](c,f,8759,1497453121,J[f+8>>2]);break c;case 1:break d;default:break c}}d=J[e+4>>2];if(!d){break c}f=va[J[J[c>>2]+16>>2]](c,32,d)|0;j=J[f+8>>2];q=i,r=va[J[J[c>>2]+28>>2]](c,j)|0,J[q+4>>2]=r;k=J[e+4>>2];if((k|0)>0){d=0;n=J[e+8>>2];o=J[e+28>>2];while(1){h=j+(d<<5)|0;g=o+P(d,n)|0;O[h>>3]=O[g>>3];O[h+8>>3]=O[g+8>>3];O[h+16>>3]=O[g+16>>3];d=d+1|0;if((k|0)!=(d|0)){continue}break}}va[J[J[c>>2]+20>>2]](c,f,8998,1497453121,J[f+8>>2])}va[J[J[a>>2]+24>>2]](a,l);i=i+32|0;l=l+1|0;if((p|0)!=(l|0)){continue}break}}va[J[J[c>>2]+20>>2]](c,m,8475,1497453121,J[m+8>>2])}d=0;J[b+24>>2]=0;b=b+4|0;a=a+4|0;while(1){c=d<<2;N[c+b>>2]=N[a+c>>2];d=d+1|0;if((d|0)!=4){continue}break}ta=e+32|0;return 9064}function Vc(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=Q(0),i=Q(0),j=0,k=Q(0),l=Q(0),m=Q(0),n=Q(0),o=Q(0),p=Q(0),q=Q(0),r=0,s=0,t=Q(0),u=Q(0),v=Q(0);g=ta-272|0;ta=g;ac(J[a+4>>2]);h=N[b+52>>2];i=N[c+52>>2];q=N[d+52>>2];k=N[e+52>>2];l=N[b+56>>2];m=N[c+56>>2];n=N[d+56>>2];o=N[e+56>>2];p=N[b+48>>2];t=N[c+48>>2];u=N[d+48>>2];v=N[e+48>>2];H[g+252|0]=0;J[g+248>>2]=1566444395;J[g+212>>2]=22532;r=Rc(g+132|0,J[a+8>>2],J[a+12>>2],J[a+4>>2],0);J[g+128>>2]=1566444395;a=J[b+12>>2];J[g+8>>2]=J[b+8>>2];J[g+12>>2]=a;a=J[b+4>>2];J[g>>2]=J[b>>2];J[g+4>>2]=a;a=J[b+28>>2];J[g+24>>2]=J[b+24>>2];J[g+28>>2]=a;a=J[b+20>>2];J[g+16>>2]=J[b+16>>2];J[g+20>>2]=a;a=J[b+44>>2];J[g+40>>2]=J[b+40>>2];J[g+44>>2]=a;a=J[b+36>>2];J[g+32>>2]=J[b+32>>2];J[g+36>>2]=a;a=J[b+60>>2];J[g+56>>2]=J[b+56>>2];J[g+60>>2]=a;a=J[b+52>>2];J[g+48>>2]=J[b+48>>2];J[g+52>>2]=a;a=J[d+12>>2];J[g+72>>2]=J[d+8>>2];J[g+76>>2]=a;a=J[d+4>>2];J[g+64>>2]=J[d>>2];J[g+68>>2]=a;a=J[d+20>>2];J[g+80>>2]=J[d+16>>2];J[g+84>>2]=a;a=J[d+28>>2];J[g+88>>2]=J[d+24>>2];J[g+92>>2]=a;a=J[d+44>>2];J[g+104>>2]=J[d+40>>2];J[g+108>>2]=a;a=J[d+36>>2];J[g+96>>2]=J[d+32>>2];J[g+100>>2]=a;a=J[d+52>>2];J[g+112>>2]=J[d+48>>2];J[g+116>>2]=a;a=J[d+60>>2];J[g+120>>2]=J[d+56>>2];J[g+124>>2]=a;fb(r,g,g+212|0,0,0);a=J[g+244>>2];J[g+264>>2]=J[g+240>>2];J[g+268>>2]=a;a=J[g+236>>2];J[g+256>>2]=J[g+232>>2];J[g+260>>2]=a;j=0;a:{if(!K[g+252|0]){break a}n=Q(Q(m-l)-Q(o-n));o=Q(Q(i-h)-Q(k-q));p=Q(Q(t-p)-Q(v-u));k=N[g+224>>2];l=N[g+220>>2];m=N[g+216>>2];b:{i=N[g+248>>2];c:{d:{if(!(i>Q(.0010000000474974513))){h=Q(0);i=N[g+228>>2];break d}s=g+232|0;a=0;h=Q(0);while(1){if((a|0)==32){break b}q=h;h=Q(h-Q(i/Q(Q(n*k)+Q(Q(p*m)+Q(o*l)))));if(q>=h|h>Q(1)|h>2]>>2]](f,h);i=Q(Q(1)-h);N[g+48>>2]=Q(i*N[b+48>>2])+Q(h*N[c+48>>2]);N[g+52>>2]=Q(i*N[b+52>>2])+Q(h*N[c+52>>2]);N[g+56>>2]=Q(i*N[b+56>>2])+Q(h*N[c+56>>2]);N[g+112>>2]=Q(i*N[d+48>>2])+Q(h*N[e+48>>2]);N[g+116>>2]=Q(i*N[d+52>>2])+Q(h*N[e+52>>2]);N[g+120>>2]=Q(i*N[d+56>>2])+Q(h*N[e+56>>2]);fb(r,g,g+212|0,0,0);j=0;if(!K[g+252|0]){break a}i=N[g+248>>2];if(i>2]=h;i=N[g+228>>2];k=N[g+224>>2];l=N[g+220>>2];m=N[g+216>>2];break c}a=a+1|0;j=J[g+244>>2];J[g+264>>2]=J[g+240>>2];J[g+268>>2]=j;j=J[g+236>>2];J[g+256>>2]=J[g+232>>2];J[g+260>>2]=j;k=N[g+224>>2];l=N[g+220>>2];m=N[g+216>>2];if(i>Q(.0010000000474974513)){continue}break}i=N[g+228>>2]}j=0;if(Q(-N[f+172>>2])<=Q(Q(k*n)+Q(Q(m*p)+Q(o*l)))){break a}N[f+164>>2]=h;s=g+256|0}N[f+132>>2]=m;N[f+144>>2]=i;N[f+140>>2]=k;N[f+136>>2]=l;a=s;b=J[a+4>>2];J[f+148>>2]=J[a>>2];J[f+152>>2]=b;b=J[a+12>>2];J[f+156>>2]=J[a+8>>2];J[f+160>>2]=b;j=1;break a}j=0}ta=g+272|0;return j|0}function Yc(a,b,c){var d=0,e=0,f=0,g=0,h=Q(0),i=0,j=Q(0),k=Q(0),l=Q(0),m=Q(0),n=Q(0),o=Q(0),p=0;a:{b:{if(K[a+165|0]){d=J[a+88>>2];if(!(!c|(d|0)<=0)){f=J[a+96>>2];j=N[a+168>>2];k=N[b+8>>2];l=N[b+4>>2];m=N[b>>2];c=0;while(1){e=f+(c<<4)|0;h=Q(N[e+8>>2]-k);n=Q(h*h);h=Q(N[e>>2]-m);o=Q(h*h);h=Q(N[e+4>>2]-l);if(j>=Q(n+Q(o+Q(h*h)))){break b}c=c+1|0;if((d|0)!=(c|0)){continue}break}}c=J[a+32>>2];J[c+12>>2]=J[c+12>>2]+1;c:{if(J[a+92>>2]!=(d|0)){break c}e=d?d<<1:1;if((e|0)<=(d|0)){break c}if(e){g=Ga(e<<4);d=J[a+88>>2]}if((d|0)>0){c=0;while(1){f=c<<4;i=f+g|0;f=f+J[a+96>>2]|0;p=J[f+4>>2];J[i>>2]=J[f>>2];J[i+4>>2]=p;p=J[f+12>>2];J[i+8>>2]=J[f+8>>2];J[i+12>>2]=p;c=c+1|0;if((d|0)!=(c|0)){continue}break}}c=J[a+96>>2];if(!(!c|!K[a+100|0])){Fa(c)}J[a+96>>2]=g;H[a+100|0]=1;J[a+92>>2]=e;d=J[a+88>>2]}c=J[a+96>>2]+(d<<4)|0;d=J[b+4>>2];J[c>>2]=J[b>>2];J[c+4>>2]=d;d=J[b+12>>2];J[c+8>>2]=J[b+8>>2];J[c+12>>2]=d;b=J[a+88>>2];J[a+88>>2]=b+1;J[J[a+32>>2]+16>>2]=J[a+96>>2];return b}d=J[a+108>>2];if(!(!c|(d|0)<=0)){f=J[a+116>>2];j=N[a+168>>2];k=N[b+8>>2];l=N[b+4>>2];m=N[b>>2];c=0;while(1){e=f+(c<<2)|0;h=Q(N[e+8>>2]-k);n=Q(h*h);h=Q(N[e>>2]-m);o=Q(h*h);h=Q(N[e+4>>2]-l);if(j>=Q(n+Q(o+Q(h*h)))){break a}c=c+3|0;if((d|0)>(c|0)){continue}break}}e=J[a+112>>2];d:{if((e|0)!=(d|0)){break d}e=d?d<<1:1;if((e|0)<=(d|0)){e=d;break d}c=0;if(e){g=Ga(e<<2);d=J[a+108>>2]}f=J[a+116>>2];e:{f:{if((d|0)>0){while(1){i=c<<2;N[i+g>>2]=N[f+i>>2];c=c+1|0;if((d|0)!=(c|0)){continue}break}if(K[a+120|0]){break f}break e}if(!f|!K[a+120|0]){break e}}Fa(f);d=J[a+108>>2]}J[a+116>>2]=g;J[a+112>>2]=e;H[a+120|0]=1}g=J[a+116>>2];N[g+(d<<2)>>2]=N[b>>2];c=d+1|0;J[a+108>>2]=c;g:{if((c|0)!=(e|0)){f=e;d=g;e=c;break g}f=e?e<<1:1;if((f|0)<=(e|0)){f=e;d=g;break g}c=0;d=0;if(f){d=Ga(f<<2);e=J[a+108>>2];g=J[a+116>>2]}h:{i:{if((e|0)>0){while(1){i=c<<2;N[i+d>>2]=N[g+i>>2];c=c+1|0;if((e|0)!=(c|0)){continue}break}if(K[a+120|0]){break i}break h}if(!g|!K[a+120|0]){break h}}Fa(g);e=J[a+108>>2]}J[a+116>>2]=d;J[a+112>>2]=f;H[a+120|0]=1}N[(e<<2)+d>>2]=N[b+4>>2];c=e+1|0;J[a+108>>2]=c;j:{if((c|0)!=(f|0)){g=d;f=c;break j}e=f?f<<1:1;if((e|0)<=(f|0)){g=d;break j}c=0;g=0;if(e){g=Ga(e<<2);f=J[a+108>>2];d=J[a+116>>2]}k:{l:{if((f|0)>0){while(1){i=c<<2;N[i+g>>2]=N[d+i>>2];c=c+1|0;if((f|0)!=(c|0)){continue}break}if(K[a+120|0]){break l}break k}if(!d|!K[a+120|0]){break k}}Fa(d);f=J[a+108>>2]}J[a+116>>2]=g;J[a+112>>2]=e;H[a+120|0]=1}N[(f<<2)+g>>2]=N[b+8>>2];b=f+1|0;J[a+108>>2]=b;a=J[a+32>>2];J[a+16>>2]=g;J[a+12>>2]=J[a+12>>2]+1;c=((b|0)/3|0)-1|0}return c}return(c>>>0)/3|0}function lc(a,b,c,d,e){var f=Q(0),g=Q(0),h=Q(0),i=Q(0),j=Q(0),k=0,l=Q(0),m=Q(0),n=Q(0),o=Q(0),p=Q(0),q=Q(0),r=Q(0),s=Q(0),t=Q(0),u=Q(0),w=Q(0),y=Q(0),z=Q(0),A=Q(0),D=Q(0),E=Q(0),F=Q(0),G=Q(0);k=ta-32|0;ta=k;f=N[a+52>>2];g=N[b+52>>2];h=N[a+56>>2];i=N[b+56>>2];j=N[a+48>>2];l=N[b+48>>2];J[d+12>>2]=0;o=Q(Q(1)/c);N[d>>2]=o*Q(l-j);N[d+8>>2]=o*Q(i-h);N[d+4>>2]=o*Q(g-f);d=ta+-64|0;ta=d;r=N[b+24>>2];s=N[b+20>>2];t=N[b+40>>2];u=N[b+36>>2];i=N[a+40>>2];j=N[a+20>>2];l=N[a+36>>2];m=N[a+24>>2];w=N[b+8>>2];y=N[b>>2];z=N[b+4>>2];A=N[b+16>>2];D=N[b+32>>2];f=N[a+8>>2];g=N[a+4>>2];p=N[a+32>>2];n=N[a+16>>2];h=N[a>>2];J[d+60>>2]=0;J[d+44>>2]=0;F=Q(Q(n*l)-Q(p*j));G=Q(Q(j*i)-Q(l*m));q=Q(Q(m*p)-Q(i*n));c=Q(Q(1)/Q(Q(f*F)+Q(Q(h*G)+Q(g*q))));E=Q(Q(Q(h*j)-Q(n*g))*c);j=Q(Q(Q(g*m)-Q(j*f))*c);m=Q(Q(Q(f*n)-Q(m*h))*c);N[d+56>>2]=Q(t*E)+Q(Q(D*j)+Q(u*m));n=Q(Q(Q(g*p)-Q(l*h))*c);g=Q(Q(Q(f*l)-Q(i*g))*c);f=Q(Q(Q(h*i)-Q(p*f))*c);N[d+52>>2]=Q(t*n)+Q(Q(D*g)+Q(u*f));N[d+40>>2]=Q(E*r)+Q(Q(j*A)+Q(m*s));N[d+36>>2]=Q(n*r)+Q(Q(g*A)+Q(f*s));J[d+28>>2]=0;h=Q(F*c);i=Q(G*c);c=Q(q*c);N[d+48>>2]=Q(t*h)+Q(Q(D*i)+Q(u*c));N[d+32>>2]=Q(h*r)+Q(Q(i*A)+Q(c*s));N[d+24>>2]=Q(E*w)+Q(Q(j*y)+Q(z*m));N[d+20>>2]=Q(n*w)+Q(Q(g*y)+Q(z*f));N[d+16>>2]=Q(h*w)+Q(Q(i*y)+Q(z*c));Ab(d+16|0,d);c=N[d+12>>2];h=N[d+8>>2];i=N[d>>2];j=N[d+4>>2];g=Q(Q(1)/Q(Y(Q(Q(c*c)+Q(Q(h*h)+Q(Q(i*i)+Q(j*j)))))));c=Q(c*g);c=cQ(1)?Q(1):c;b=(B(f),v(2));a=b&2147483647;a:{if(a>>>0>=1065353216){c=(b|0)>=0?Q(0):Q(3.141592502593994);if((a|0)==1065353216){break a}c=Q(Q(0)/Q(f-f));break a}b:{if(a>>>0<=1056964607){c=Q(1.570796251296997);if(a>>>0<847249409){break b}c=Q(Q(Q(Q(7.549789415861596e-8)-Q(f*Cb(Q(f*f))))-f)+Q(1.570796251296997));break a}if((b|0)<0){c=Q(Q(f+Q(1))*Q(.5));f=Q(Y(c));c=Q(Q(1.570796251296997)-Q(f+Q(Q(f*Cb(c))+Q(-7.549789415861596e-8))));c=Q(c+c);break a}f=Q(Q(Q(1)-f)*Q(.5));l=Q(Y(f));c=(x(2,(B(l),v(2))&-4096),C());c=Q(Q(Q(l*Cb(f))+Q(Q(f-Q(c*c))/Q(l+c)))+c);c=Q(c+c)}}N[k+12>>2]=c+c;J[k+28>>2]=0;c=Q(h*g);f=Q(i*g);g=Q(j*g);h=Q(Q(c*c)+Q(Q(f*f)+Q(g*g)));c:{if(h>2]=1065353216;J[k+20>>2]=0;c=Q(0);break c}q=g;g=Q(Q(1)/Q(Y(h)));N[k+20>>2]=q*g;N[k+16>>2]=f*g;c=Q(c*g)}N[k+24>>2]=c;ta=d- -64|0;f=N[k+16>>2];g=N[k+20>>2];h=N[k+24>>2];c=N[k+12>>2];J[e+12>>2]=0;N[e+8>>2]=o*Q(c*h);N[e+4>>2]=o*Q(c*g);N[e>>2]=o*Q(f*c);ta=k+32|0}function Zg(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=Q(0),j=Q(0),k=0,l=Q(0),m=Q(0),n=Q(0);J[a+8>>2]=J[b>>2];e=J[a+24>>2];a:{if((e|0)!=J[a+28>>2]){break a}f=e?e<<1:1;if((f|0)<=(e|0)){break a}if(f){d=Ga(f<<2);e=J[a+24>>2]}if((e|0)>0){while(1){h=g<<2;J[h+d>>2]=J[h+J[a+32>>2]>>2];g=g+1|0;if((g|0)!=(e|0)){continue}break}}g=J[a+32>>2];if(!(!g|!K[a+36|0])){Fa(g);e=J[a+24>>2]}J[a+32>>2]=d;H[a+36|0]=1;J[a+28>>2]=f}J[J[a+32>>2]+(e<<2)>>2]=J[b>>2];J[a+24>>2]=e+1;b:{if(c){l=N[b+16>>2];m=N[b+12>>2];j=N[b+8>>2];i=N[b+20>>2];break b}c=J[a+8>>2];i=N[b+16>>2];j=N[b+8>>2];n=N[b+12>>2];l=Q(Q(N[c+44>>2]*i)+Q(Q(N[c+36>>2]*j)+Q(n*N[c+40>>2])));m=Q(Q(N[c+28>>2]*i)+Q(Q(N[c+20>>2]*j)+Q(n*N[c+24>>2])));j=Q(Q(N[c+12>>2]*i)+Q(Q(N[c+4>>2]*j)+Q(N[c+8>>2]*n)));i=Q(0)}d=J[a+76>>2];c:{if((d|0)!=J[a+80>>2]){break c}e=d?d<<1:1;if((e|0)<=(d|0)){break c}d:{if(!e){c=0;break d}c=Ga(e<<4);d=J[a+76>>2]}if((d|0)>0){g=0;while(1){f=g<<4;h=f+c|0;f=f+J[a+84>>2]|0;k=J[f+4>>2];J[h>>2]=J[f>>2];J[h+4>>2]=k;k=J[f+12>>2];J[h+8>>2]=J[f+8>>2];J[h+12>>2]=k;g=g+1|0;if((g|0)!=(d|0)){continue}break}}d=J[a+84>>2];if(!(!d|!K[a+88|0])){Fa(d)}J[a+84>>2]=c;H[a+88|0]=1;J[a+80>>2]=e;d=J[a+76>>2]}c=J[a+84>>2]+(d<<4)|0;N[c+12>>2]=i;N[c+8>>2]=l;N[c+4>>2]=m;N[c>>2]=j;J[a+76>>2]=J[a+76>>2]+1;i=N[b+24>>2];l=Q(Q(1)-i);m=Q(Q(l*N[a+48>>2])+Q(i*N[a- -64>>2]));j=Q(Q(l*N[a+44>>2])+Q(i*N[a+60>>2]));i=Q(Q(l*N[a+40>>2])+Q(i*N[a+56>>2]));d=J[a+96>>2];e:{if((d|0)!=J[a+100>>2]){break e}e=d?d<<1:1;if((e|0)<=(d|0)){break e}f:{if(!e){c=0;break f}c=Ga(e<<4);d=J[a+96>>2]}if((d|0)>0){g=0;while(1){f=g<<4;h=f+c|0;f=f+J[a+104>>2]|0;k=J[f+4>>2];J[h>>2]=J[f>>2];J[h+4>>2]=k;k=J[f+12>>2];J[h+8>>2]=J[f+8>>2];J[h+12>>2]=k;g=g+1|0;if((g|0)!=(d|0)){continue}break}}d=J[a+104>>2];if(!(!d|!K[a+108|0])){Fa(d)}J[a+104>>2]=c;H[a+108|0]=1;J[a+100>>2]=e;d=J[a+96>>2]}c=J[a+104>>2]+(d<<4)|0;N[c+8>>2]=m;N[c+4>>2]=j;N[c>>2]=i;J[a+96>>2]=J[a+96>>2]+1;c=J[a+116>>2];g:{if((c|0)!=J[a+120>>2]){break g}e=c?c<<1:1;if((e|0)<=(c|0)){break g}g=0;d=0;if(e){d=Ga(e<<2);c=J[a+116>>2]}f=J[a+124>>2];h:{i:{if((c|0)>0){while(1){h=g<<2;N[h+d>>2]=N[f+h>>2];g=g+1|0;if((g|0)!=(c|0)){continue}break}if(K[a+128|0]){break i}break h}if(!f|!K[a+128|0]){break h}}Fa(f);c=J[a+116>>2]}J[a+124>>2]=d;J[a+120>>2]=e;H[a+128|0]=1}N[J[a+124>>2]+(c<<2)>>2]=N[b+24>>2];J[a+116>>2]=c+1;return Q(N[a+4>>2])}function ut(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=Q(0),k=0,l=0,m=0,n=Q(0);e=ta-128|0;ta=e;J[a+76>>2]=J[a+76>>2]+1;d=J[b+12>>2];J[e+72>>2]=J[b+8>>2];J[e+76>>2]=d;d=J[b+4>>2];J[e+64>>2]=J[b>>2];J[e+68>>2]=d;d=J[b+28>>2];J[e+88>>2]=J[b+24>>2];J[e+92>>2]=d;d=J[b+20>>2];J[e+80>>2]=J[b+16>>2];J[e+84>>2]=d;d=J[b+44>>2];J[e+104>>2]=J[b+40>>2];J[e+108>>2]=d;d=J[b+36>>2];J[e+96>>2]=J[b+32>>2];J[e+100>>2]=d;d=J[b+60>>2];J[e+120>>2]=J[b+56>>2];J[e+124>>2]=d;d=J[b+52>>2];J[e+112>>2]=J[b+48>>2];J[e+116>>2]=d;m=J[c+4>>2];n=Q(va[J[J[c>>2]+48>>2]](c));va[J[J[c>>2]+8>>2]](c,b,e+48|0,e+32|0);f=a+56|0;h=a+40|0;b=0;while(1){d=b<<2;i=d+h|0;j=N[d+(e+48|0)>>2];if(N[i>>2]>j){N[i>>2]=j}j=N[d+(e+32|0)>>2];i=d+f|0;if(j>N[i>>2]){N[i>>2]=j}b=b+1|0;if((b|0)!=3){continue}break}b=J[a+72>>2];if(b){d=J[e+60>>2];J[e+8>>2]=J[e+56>>2];J[e+12>>2]=d;d=J[e+44>>2];J[e+24>>2]=J[e+40>>2];J[e+28>>2]=d;d=J[e+36>>2];J[e+16>>2]=J[e+32>>2];J[e+20>>2]=d;d=J[e+52>>2];J[e>>2]=J[e+48>>2];J[e+4>>2]=d;b=qc(b,e,J[a+24>>2])}else{b=0}h=J[a+24>>2];a:{if((h|0)!=J[a+28>>2]){break a}i=h?h<<1:1;if((i|0)<=(h|0)){break a}b:{if(!i){break b}l=Ga(P(i,80));h=J[a+24>>2]}if((h|0)>0){while(1){d=P(k,80);f=d+l|0;d=d+J[a+32>>2]|0;g=J[d+4>>2];J[f>>2]=J[d>>2];J[f+4>>2]=g;g=J[d+12>>2];J[f+8>>2]=J[d+8>>2];J[f+12>>2]=g;g=J[d+28>>2];J[f+24>>2]=J[d+24>>2];J[f+28>>2]=g;g=J[d+20>>2];J[f+16>>2]=J[d+16>>2];J[f+20>>2]=g;g=J[d+44>>2];J[f+40>>2]=J[d+40>>2];J[f+44>>2]=g;g=J[d+36>>2];J[f+32>>2]=J[d+32>>2];J[f+36>>2]=g;g=J[d+60>>2];J[f+56>>2]=J[d+56>>2];J[f+60>>2]=g;g=J[d+52>>2];J[f+48>>2]=J[d+48>>2];J[f+52>>2]=g;g=J[d+68>>2];J[f+64>>2]=J[d+64>>2];J[f+68>>2]=g;g=J[d+76>>2];J[f+72>>2]=J[d+72>>2];J[f+76>>2]=g;k=k+1|0;if((k|0)!=(h|0)){continue}break}}d=J[a+32>>2];if(!(!d|!K[a+36|0])){Fa(d)}J[a+32>>2]=l;H[a+36|0]=1;J[a+28>>2]=i;h=J[a+24>>2]}f=J[e+68>>2];d=J[a+32>>2]+P(h,80)|0;J[d>>2]=J[e+64>>2];J[d+4>>2]=f;f=J[e+76>>2];J[d+8>>2]=J[e+72>>2];J[d+12>>2]=f;f=J[e+92>>2];J[d+24>>2]=J[e+88>>2];J[d+28>>2]=f;f=J[e+84>>2];J[d+16>>2]=J[e+80>>2];J[d+20>>2]=f;f=J[e+100>>2];J[d+32>>2]=J[e+96>>2];J[d+36>>2]=f;f=J[e+108>>2];J[d+40>>2]=J[e+104>>2];J[d+44>>2]=f;f=J[e+116>>2];J[d+48>>2]=J[e+112>>2];J[d+52>>2]=f;f=J[e+124>>2];J[d+56>>2]=J[e+120>>2];J[d+60>>2]=f;J[d+64>>2]=c;J[d+68>>2]=m;N[d+72>>2]=n;J[d+76>>2]=b;J[a+24>>2]=J[a+24>>2]+1;ta=e+128|0}function ip(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=Q(0),i=0,j=Q(0),k=Q(0),l=Q(0),m=Q(0),n=Q(0),o=Q(0),p=Q(0),q=Q(0),r=Q(0),s=0,t=0,u=0;e=ta-48|0;ta=e;g=J[c+12>>2];J[e+24>>2]=J[c+8>>2];J[e+28>>2]=g;g=J[c+4>>2];J[e+16>>2]=J[c>>2];J[e+20>>2]=g;g=J[d+12>>2];J[e+40>>2]=J[d+8>>2];J[e+44>>2]=g;g=J[d+4>>2];J[e+32>>2]=J[d>>2];J[e+36>>2]=g;a:{if(J[b+60>>2]==2){pc(a+44|0,J[b+48>>2]);t=b,u=qc(a+4|0,e+16|0,b),J[t+48>>2]=u;g=1;break a}g=1;J[a+128>>2]=J[a+128>>2]+1;b:{i=J[b+48>>2];if(!(N[i>>2]<=N[e+32>>2])|!(N[i+16>>2]>=N[e+16>>2])|(!(N[i+4>>2]<=N[e+36>>2])|!(N[i+20>>2]>=N[e+20>>2]))){break b}if(!(N[i+8>>2]<=N[e+40>>2])|!(N[i+24>>2]>=N[e+24>>2])){break b}j=N[b+20>>2];m=N[b+24>>2];o=N[c>>2];p=N[c+4>>2];q=N[c+8>>2];n=N[b+16>>2];k=N[b+36>>2];l=N[b+40>>2];r=N[b+32>>2];h=N[a+100>>2];J[e+12>>2]=0;l=Q(h*Q(Q(l-m)*Q(.5)));N[e+8>>2]=l;k=Q(h*Q(Q(k-j)*Q(.5)));N[e+4>>2]=k;h=Q(h*Q(Q(r-n)*Q(.5)));N[e>>2]=h;if(Q(o-n)>2]=-h}if(Q(p-j)>2]=-k}if(Q(q-m)>2]=-l}s=a+4|0;f=e+16|0;j=N[f>>2];c:{d:{if(!(j>=N[i>>2])){h=N[f+4>>2];break d}h=N[f+4>>2];if(!(h>=N[i+4>>2])|!(N[i+8>>2]<=N[f+8>>2])|(!(N[i+16>>2]>=N[f+16>>2])|!(N[i+20>>2]>=N[f+20>>2]))){break d}g=0;if(N[i+24>>2]>=N[f+24>>2]){break c}}N[f+4>>2]=h+Q(-.05000000074505806);N[f>>2]=j+Q(-.05000000074505806);N[f+8>>2]=N[f+8>>2]+Q(-.05000000074505806);N[f+16>>2]=N[f+16>>2]+Q(.05000000074505806);N[f+20>>2]=N[f+20>>2]+Q(.05000000074505806);N[f+24>>2]=N[f+24>>2]+Q(.05000000074505806);h=N[e>>2];g=f+((h>Q(0))<<4)|0;N[g>>2]=h+N[g>>2];h=N[e+4>>2];g=f+(h>Q(0)?20:4)|0;N[g>>2]=h+N[g>>2];h=N[e+8>>2];g=f+(h>Q(0)?24:8)|0;N[g>>2]=h+N[g>>2];Bd(s,i,f);g=1}if(!g){break a}J[a+132>>2]=J[a+132>>2]+1;break a}Bd(a+4|0,i,e+16|0);J[a+132>>2]=J[a+132>>2]+1}f=J[b+52>>2];J[(f?f+56|0:((J[b+60>>2]<<2)+a|0)+84|0)>>2]=J[b+56>>2];f=J[b+56>>2];if(f){J[f+52>>2]=J[b+52>>2]}f=J[c+4>>2];J[b+16>>2]=J[c>>2];J[b+20>>2]=f;f=J[c+12>>2];J[b+24>>2]=J[c+8>>2];J[b+28>>2]=f;c=J[d+4>>2];J[b+32>>2]=J[d>>2];J[b+36>>2]=c;c=J[d+12>>2];J[b+40>>2]=J[d+8>>2];J[b+44>>2]=c;c=J[a+104>>2];J[b+60>>2]=c;J[b+52>>2]=0;c=(c<<2)+a|0;J[b+56>>2]=J[c+84>>2];d=J[c+84>>2];if(d){J[d+52>>2]=b}J[c+84>>2]=b;e:{if(!g){break e}H[a+154|0]=1;if(K[a+153|0]){break e}J[e>>2]=12060;J[e+4>>2]=a;oc(a+44|0,J[a+44>>2],J[b+48>>2],e);oc(a+4|0,J[a+4>>2],J[b+48>>2],e)}ta=e+48|0}function Nn(a,b,c,d){a=a|0;b=b|0;c=c|0;d=Q(d);var e=0,f=Q(0),g=Q(0),h=Q(0),i=Q(0),j=Q(0),k=Q(0),l=Q(0),m=Q(0),n=Q(0),o=Q(0),p=Q(0),q=Q(0),r=Q(0),s=Q(0),t=Q(0),u=Q(0),v=Q(0),w=Q(0),x=Q(0),y=Q(0),z=Q(0),A=Q(0),B=Q(0),C=Q(0),D=Q(0),E=Q(0),F=Q(0),G=Q(0),H=Q(0),I=Q(0);e=ta-80|0;ta=e;i=Q(Q(N[b+8>>2]*d)+N[c+8>>2]);p=Q(Q(N[b+4>>2]*d)+N[c+4>>2]);d=Q(Q(N[b>>2]*d)+N[c>>2]);a:{if(K[a+232|0]){Ua(e,a+40|0);w=N[b+8>>2];m=N[e+40>>2];f=N[a+208>>2];n=N[e+8>>2];g=N[a+200>>2];o=N[e+24>>2];h=N[a+204>>2];j=N[e+32>>2];k=N[e>>2];l=N[e+16>>2];q=N[e+36>>2];r=N[e+4>>2];s=N[e+20>>2];t=N[e+56>>2];u=N[e+48>>2];v=N[e+52>>2];x=Q(Q(Q(i*Q(Q(m*f)+Q(Q(n*g)+Q(o*h))))+Q(Q(d*Q(Q(j*f)+Q(Q(k*g)+Q(l*h))))+Q(p*Q(Q(q*f)+Q(Q(r*g)+Q(s*h))))))+Q(Q(Q(t*f)+Q(Q(u*g)+Q(h*v)))+N[a+224>>2]));f=N[a+176>>2];g=N[a+168>>2];h=N[a+172>>2];h=Q(Q(Q(i*Q(Q(m*f)+Q(Q(n*g)+Q(h*o))))+Q(Q(d*Q(Q(j*f)+Q(Q(k*g)+Q(l*h))))+Q(p*Q(Q(q*f)+Q(Q(r*g)+Q(h*s))))))+Q(N[a+216>>2]+Q(Q(t*f)+Q(Q(u*g)+Q(h*v)))));y=N[b>>2];z=i;i=N[a+192>>2];f=N[a+184>>2];g=N[a+188>>2];i=Q(Q(Q(z*Q(Q(m*i)+Q(Q(n*f)+Q(o*g))))+Q(Q(d*Q(Q(j*i)+Q(Q(k*f)+Q(l*g))))+Q(p*Q(Q(q*i)+Q(Q(r*f)+Q(s*g))))))+Q(Q(Q(t*i)+Q(Q(u*f)+Q(g*v)))+N[a+220>>2]));p=N[b+4>>2];d=Q(Q(w*Q(x-N[c+8>>2]))+Q(Q(Q(h-N[c>>2])*y)+Q(Q(i-N[c+4>>2])*p)));N[e+72>>2]=x+Q(w*d);N[e+68>>2]=i+Q(p*d);N[e+64>>2]=h+Q(y*d);break a}Ua(e,a+104|0);E=N[a+220>>2];f=N[a+192>>2];g=N[a+184>>2];h=N[a+188>>2];F=N[a+216>>2];m=N[a+176>>2];n=N[a+168>>2];o=N[a+172>>2];q=N[e+56>>2];j=N[a+208>>2];r=N[e+48>>2];k=N[a+200>>2];l=N[a+204>>2];s=N[e+52>>2];A=Q(Q(Q(q*j)+Q(Q(r*k)+Q(l*s)))+N[a+224>>2]);t=N[c+8>>2];u=N[e+40>>2];v=N[e+8>>2];w=N[e+24>>2];G=Q(t*Q(Q(u*j)+Q(Q(v*k)+Q(w*l))));x=N[c>>2];y=N[e+32>>2];z=N[e>>2];B=N[e+16>>2];H=Q(x*Q(Q(y*j)+Q(Q(z*k)+Q(B*l))));C=N[e+36>>2];D=Q(C*j);j=N[e+4>>2];I=Q(j*k);k=N[e+20>>2];D=Q(D+Q(I+Q(k*l)));l=N[c+4>>2];A=Q(A+Q(G+Q(H+Q(D*l))));N[e+72>>2]=A;m=Q(Q(F+Q(Q(q*m)+Q(Q(r*n)+Q(o*s))))+Q(Q(t*Q(Q(u*m)+Q(Q(v*n)+Q(o*w))))+Q(Q(x*Q(Q(y*m)+Q(Q(z*n)+Q(B*o))))+Q(l*Q(Q(C*m)+Q(Q(j*n)+Q(o*k)))))));N[e+64>>2]=m;f=Q(Q(E+Q(Q(q*f)+Q(Q(r*g)+Q(h*s))))+Q(Q(t*Q(Q(u*f)+Q(Q(v*g)+Q(w*h))))+Q(Q(x*Q(Q(y*f)+Q(Q(z*g)+Q(B*h))))+Q(l*Q(Q(C*f)+Q(Q(j*g)+Q(k*h)))))));N[e+68>>2]=f;d=Q(Q(Q(i-A)*N[b+8>>2])+Q(Q(Q(d-m)*N[b>>2])+Q(Q(p-f)*N[b+4>>2])))}J[e+76>>2]=0;a=J[a+36>>2];va[J[J[a>>2]+16>>2]](a,b,e- -64|0,d);ta=e+80|0}function Vf(a,b,c){var d=0,e=0,f=0,g=Q(0),h=0,i=0,j=Q(0),k=Q(0),l=Q(0),m=Q(0),n=Q(0),o=Q(0),p=Q(0),q=Q(0),r=Q(0),s=Q(0),t=Q(0),u=Q(0),v=Q(0),w=Q(0),x=Q(0),y=Q(0),z=Q(0),A=Q(0),B=Q(0),C=Q(0),D=Q(0),E=Q(0),F=Q(0),G=0;d=ta-160|0;ta=d;f=J[a+4>>2];e=J[f+12>>2];D=N[e+52>>2];E=N[e+56>>2];g=N[e+24>>2];j=N[e+20>>2];k=N[e+40>>2];l=N[e+36>>2];F=N[e+48>>2];m=N[e+8>>2];n=N[e>>2];o=N[e+4>>2];p=N[e+16>>2];q=N[e+32>>2];e=J[J[f+4>>2]+32>>2]+P(c,80)|0;r=N[e+32>>2];s=N[e>>2];t=N[e+16>>2];u=N[e+56>>2];v=N[e+52>>2];w=N[e+48>>2];x=N[e+36>>2];y=N[e+20>>2];z=N[e+4>>2];A=N[e+40>>2];B=N[e+24>>2];C=N[e+8>>2];e=0;J[d+156>>2]=0;J[d+140>>2]=0;J[d+124>>2]=0;N[d+136>>2]=Q(A*k)+Q(Q(C*q)+Q(l*B));N[d+132>>2]=Q(x*k)+Q(Q(z*q)+Q(l*y));N[d+120>>2]=Q(A*g)+Q(Q(C*p)+Q(j*B));N[d+116>>2]=Q(x*g)+Q(Q(z*p)+Q(j*y));N[d+152>>2]=E+Q(Q(u*k)+Q(Q(w*q)+Q(l*v)));N[d+148>>2]=D+Q(Q(u*g)+Q(Q(w*p)+Q(j*v)));J[d+108>>2]=0;N[d+128>>2]=Q(r*k)+Q(Q(s*q)+Q(l*t));N[d+112>>2]=Q(r*g)+Q(Q(s*p)+Q(j*t));N[d+96>>2]=Q(r*m)+Q(Q(s*n)+Q(o*t));N[d+104>>2]=Q(A*m)+Q(Q(C*n)+Q(o*B));N[d+100>>2]=Q(x*m)+Q(Q(z*n)+Q(o*y));N[d+144>>2]=F+Q(Q(u*m)+Q(Q(w*n)+Q(o*v)));va[J[J[b>>2]+8>>2]](b,d+96|0,d+80|0,d- -64|0);g=N[J[a+20>>2]+32>>2];N[d+80>>2]=N[d+80>>2]-g;N[d+84>>2]=N[d+84>>2]-g;N[d+88>>2]=N[d+88>>2]-g;N[d+64>>2]=g+N[d+64>>2];N[d+68>>2]=g+N[d+68>>2];N[d+72>>2]=g+N[d+72>>2];f=J[a+8>>2];h=J[f+4>>2];va[J[J[h>>2]+8>>2]](h,J[f+12>>2],d+48|0,d+32|0);f=J[9107];a:{if(f){if(!(va[f|0](J[J[a+8>>2]+4>>2],b)|0)){break a}}e=N[d+64>>2]>2]|N[d+80>>2]>N[d+32>>2]?e:1;f=0;if((N[d+72>>2]>2]|N[d+88>>2]>N[d+40>>2]?f:e)^1|N[d+68>>2]>2]|N[d+84>>2]>N[d+36>>2]){break a}e=J[a+4>>2];f=J[e+8>>2];J[d+28>>2]=c;J[d+24>>2]=-1;J[d+16>>2]=f;J[d+12>>2]=b;J[d+8>>2]=e;J[d+20>>2]=d+96;b:{if(N[J[a+20>>2]+32>>2]>Q(0)){b=J[a+12>>2];b=va[J[J[b>>2]+8>>2]](b,d+8|0,J[a+8>>2],0,2)|0;break b}e=c<<2;b=J[e+J[a+24>>2]>>2];if(b){break b}b=J[a+12>>2];b=va[J[J[b>>2]+8>>2]](b,d+8|0,J[a+8>>2],J[a+28>>2],1)|0;J[e+J[a+24>>2]>>2]=b;b=J[e+J[a+24>>2]>>2]}f=J[a+20>>2];h=J[f+8>>2];c:{if(J[h+8>>2]==J[J[a+4>>2]+8>>2]){i=f+8|0;e=2;break c}h=J[f+12>>2];i=f+12|0;e=3}G=i;i=d+8|0;J[G>>2]=i;va[J[J[f>>2]+(e<<2)>>2]](f,-1,c);va[J[J[b>>2]+8>>2]](b,i,J[a+8>>2],J[a+16>>2],J[a+20>>2]);b=J[a+20>>2];J[(J[J[b+8>>2]+8>>2]==J[J[a+4>>2]+8>>2]?8:12)+b>>2]=h}ta=d+160|0}function Yg(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=Q(0),k=Q(0),l=Q(0),m=0,n=Q(0),o=Q(0);e=J[b>>2];J[a+16>>2]=e;f=J[a+24>>2];a:{if((f|0)!=J[a+28>>2]){break a}g=f?f<<1:1;if((g|0)<=(f|0)){break a}if(g){d=Ga(g<<2);f=J[a+24>>2]}if((f|0)>0){e=0;while(1){h=e<<2;J[h+d>>2]=J[h+J[a+32>>2]>>2];e=e+1|0;if((e|0)!=(f|0)){continue}break}}e=J[a+32>>2];if(!(!e|!K[a+36|0])){Fa(e);f=J[a+24>>2]}J[a+32>>2]=d;H[a+36|0]=1;J[a+28>>2]=g;e=J[a+16>>2]}J[J[a+32>>2]+(f<<2)>>2]=e;J[a+24>>2]=f+1;b:{if(c){n=N[b+16>>2];o=N[b+12>>2];j=N[b+8>>2];k=N[b+20>>2];break b}c=J[a+16>>2];k=N[b+16>>2];j=N[b+8>>2];l=N[b+12>>2];n=Q(Q(N[c+44>>2]*k)+Q(Q(N[c+36>>2]*j)+Q(l*N[c+40>>2])));o=Q(Q(N[c+28>>2]*k)+Q(Q(N[c+20>>2]*j)+Q(l*N[c+24>>2])));j=Q(Q(N[c+12>>2]*k)+Q(Q(N[c+4>>2]*j)+Q(N[c+8>>2]*l)));k=Q(0)}d=J[a+76>>2];c:{if((d|0)!=J[a+80>>2]){break c}f=d?d<<1:1;if((f|0)<=(d|0)){break c}d:{if(!f){c=0;break d}c=Ga(f<<4);d=J[a+76>>2]}if((d|0)>0){e=0;while(1){g=e<<4;h=g+c|0;g=g+J[a+84>>2]|0;i=J[g+4>>2];J[h>>2]=J[g>>2];J[h+4>>2]=i;i=J[g+12>>2];J[h+8>>2]=J[g+8>>2];J[h+12>>2]=i;e=e+1|0;if((e|0)!=(d|0)){continue}break}}d=J[a+84>>2];if(!(!d|!K[a+88|0])){Fa(d)}J[a+84>>2]=c;H[a+88|0]=1;J[a+80>>2]=f;d=J[a+76>>2]}c=J[a+84>>2]+(d<<4)|0;N[c+12>>2]=k;N[c+8>>2]=n;N[c+4>>2]=o;N[c>>2]=j;J[a+76>>2]=J[a+76>>2]+1;f=b+24|0;d=J[a+96>>2];e:{if((d|0)!=J[a+100>>2]){break e}g=d?d<<1:1;if((g|0)<=(d|0)){break e}f:{if(!g){c=0;break f}c=Ga(g<<4);d=J[a+96>>2]}if((d|0)>0){e=0;while(1){h=e<<4;i=h+c|0;h=h+J[a+104>>2]|0;m=J[h+4>>2];J[i>>2]=J[h>>2];J[i+4>>2]=m;m=J[h+12>>2];J[i+8>>2]=J[h+8>>2];J[i+12>>2]=m;e=e+1|0;if((e|0)!=(d|0)){continue}break}}d=J[a+104>>2];if(!(!d|!K[a+108|0])){Fa(d)}J[a+104>>2]=c;H[a+108|0]=1;J[a+100>>2]=g;d=J[a+96>>2]}c=J[a+104>>2]+(d<<4)|0;d=J[f+4>>2];J[c>>2]=J[f>>2];J[c+4>>2]=d;d=J[f+12>>2];J[c+8>>2]=J[f+8>>2];J[c+12>>2]=d;J[a+96>>2]=J[a+96>>2]+1;c=J[a+116>>2];g:{if((c|0)!=J[a+120>>2]){break g}f=c?c<<1:1;if((f|0)<=(c|0)){break g}e=0;d=0;if(f){d=Ga(f<<2);c=J[a+116>>2]}g=J[a+124>>2];h:{i:{if((c|0)>0){while(1){h=e<<2;N[h+d>>2]=N[g+h>>2];e=e+1|0;if((e|0)!=(c|0)){continue}break}if(K[a+128|0]){break i}break h}if(!g|!K[a+128|0]){break h}}Fa(g);c=J[a+116>>2]}J[a+124>>2]=d;J[a+120>>2]=f;H[a+128|0]=1}N[J[a+124>>2]+(c<<2)>>2]=N[b+40>>2];J[a+116>>2]=c+1;return Q(N[a+4>>2])}function kb(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=Q(0),f=Q(0),g=Q(0),h=Q(0),i=Q(0),j=Q(0),k=0,l=0,m=0,n=Q(0),o=Q(0),p=Q(0),q=Q(0),r=Q(0),s=Q(0);d=ta-48|0;ta=d;a:{b:{switch(J[b+4>>2]){case 8:J[a>>2]=0;J[a+4>>2]=0;J[a+8>>2]=0;J[a+12>>2]=0;break a;case 0:e=N[b+40>>2];f=N[b+44>>2];g=N[c+4>>2];h=N[c+8>>2];i=N[b+36>>2];j=N[c>>2];J[a+12>>2]=0;N[a>>2]=j>=Q(0)?i:Q(-i);N[a+8>>2]=h>=Q(0)?f:Q(-f);N[a+4>>2]=g>=Q(0)?e:Q(-e);break a;case 1:e=N[c+8>>2];f=N[c>>2];i=N[c+4>>2];g=Q(Q(e*N[b+72>>2])+Q(Q(f*N[b+64>>2])+Q(i*N[b+68>>2])));h=Q(Q(e*N[b+88>>2])+Q(Q(f*N[b+80>>2])+Q(i*N[b+84>>2])));c=g>2])+Q(Q(f*N[b+96>>2])+Q(i*N[b+100>>2])))>(c?h:g)?2:c)<<4)|0;c=J[b>>2];k=J[b+4>>2];e=N[b+8>>2];J[a+12>>2]=0;N[a+8>>2]=e;J[a>>2]=c;J[a+4>>2]=k;break a;case 13:l=J[b+48>>2];J[d+40>>2]=J[b+44>>2];J[d+44>>2]=l;l=J[b+40>>2];J[d+32>>2]=J[b+36>>2];J[d+36>>2]=l;N[d+16>>2]=N[c>>2];N[d+20>>2]=N[c+4>>2];f=N[c+8>>2];J[d+28>>2]=0;N[d+24>>2]=f;c=1;l=2;c:{d:{e:{b=J[b+60>>2];switch(b-1|0){case 0:break d;case 1:break e;default:break c}}l=1}c=0;k=b}m=d+32|0;f=N[m+(b<<2)>>2];b=c<<2;i=N[(b|m)>>2];m=b;b=d+16|0;g=N[m+b>>2];h=N[b+(l<<2)>>2];j=Q(Y(Q(Q(g*g)+Q(h*h))));f:{if(j!=Q(0)){e=Q(i/j);N[(c<<2)+d>>2]=g*e;b=k<<2;N[b+d>>2]=N[b+(d+16|0)>>2]>2]=i;b=k<<2;N[b+d>>2]=N[b+(d+16|0)>>2]>2]=e;b=J[d+4>>2];c=J[d>>2];e=N[d+8>>2];J[a+12>>2]=0;N[a+8>>2]=e;J[a>>2]=c;J[a+4>>2]=b;break a;case 10:m=b;b=J[b+60>>2];k=b<<2;o=N[(m+k|0)+36>>2];n=Q(1);e=N[c+8>>2];f=N[c>>2];i=N[c+4>>2];g=Q(Q(e*e)+Q(Q(f*f)+Q(i*i)));if(!(g>2]=0;J[d+44>>2]=0;J[d+32>>2]=0;J[d+36>>2]=0;N[k+(d+32|0)>>2]=o;e=Q(-0xde0b6b000000000);f=Q(0);i=Q(0);g=N[d+40>>2];h=N[d+32>>2];j=N[d+36>>2];r=Q(Q(p*g)+Q(Q(n*h)+Q(q*j)));if(r>Q(-0xde0b6b000000000)){f=j;i=g;s=h;e=r}J[d+40>>2]=0;J[d+44>>2]=0;J[d+32>>2]=0;J[d+36>>2]=0;N[(d+32|0)+(b<<2)>>2]=-o;g=N[d+40>>2];h=N[d+32>>2];j=N[d+36>>2];J[a+12>>2]=0;b=Q(Q(p*g)+Q(Q(n*h)+Q(q*j)))>e;N[a+8>>2]=b?g:i;N[a+4>>2]=b?j:f;N[a>>2]=b?h:s;break a;case 5:qf(a,c,J[b+100>>2],J[b+104>>2],b+20|0);break a;case 4:qf(a,c,J[b+112>>2],J[b+104>>2],b+20|0);break a;default:break b}}va[J[J[b>>2]+68>>2]](a,b,c)}ta=d+48|0}function Pe(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=Q(0),i=Q(0),j=Q(0),k=Q(0),l=Q(0),m=0,n=Q(0),o=Q(0),p=Q(0),q=0,r=Q(0),s=0;g=ta-304|0;ta=g;lc(b,c,Q(1),g+288|0,g+272|0);lc(d,e,Q(1),g+256|0,g+240|0);c=J[a+12>>2];k=Q(va[J[J[c>>2]+16>>2]](c));c=J[a+16>>2];if(c){h=Q(va[J[J[c>>2]+16>>2]](c))}c=0;i=N[g+280>>2];l=Q(i*i);i=N[g+272>>2];n=Q(i*i);i=N[g+276>>2];j=h;h=N[g+248>>2];o=Q(h*h);h=N[g+240>>2];p=Q(h*h);h=N[g+244>>2];r=Q(Q(Q(Y(Q(l+Q(n+Q(i*i)))))*k)+Q(j*Q(Y(Q(o+Q(p+Q(h*h)))))));i=Q(N[g+264>>2]-N[g+296>>2]);n=Q(N[g+256>>2]-N[g+288>>2]);o=Q(N[g+260>>2]-N[g+292>>2]);a:{if(Q(r+Q(Y(Q(Q(i*i)+Q(Q(n*n)+Q(o*o))))))==Q(0)){break a}H[g+220|0]=0;J[g+216>>2]=1566444395;J[g+180>>2]=22532;Qe(a,b,d,g+180|0);e=J[g+212>>2];J[g+232>>2]=J[g+208>>2];J[g+236>>2]=e;e=J[g+204>>2];J[g+224>>2]=J[g+200>>2];J[g+228>>2]=e;if(!K[g+220|0]){break a}k=N[g+192>>2];j=N[g+184>>2];p=N[g+188>>2];if(Q(r+Q(Q(i*k)+Q(Q(n*j)+Q(o*p))))<=Q(1.1920928955078125e-7)){break a}b:{l=Q(N[g+216>>2]+N[f+172>>2]);c:{if(!(l>Q(.0010000000474974513))){h=Q(0);i=N[g+196>>2];break c}q=g+28|0;s=g+164|0;e=0;h=Q(0);while(1){c=J[f+168>>2];if(c){J[g+124>>2]=1065353216;J[g+128>>2]=0;J[g+116>>2]=1065353216;J[g+120>>2]=1065353216;va[J[J[c>>2]+28>>2]](c,g+224|0,Q(.20000000298023224),g+116|0)}c=0;j=Q(r+Q(Q(i*k)+Q(Q(n*j)+Q(o*p))));if(j<=Q(1.1920928955078125e-7)){break a}k=h;h=Q(h+Q(l/j));if(k>=h|h>Q(1)|h>2];if(m){J[g+16>>2]=0;J[g+20>>2]=0;J[g+8>>2]=1065353216;J[g+12>>2]=0;va[J[J[m>>2]+28>>2]](m,s,Q(.20000000298023224),g+8|0)}va[J[J[f>>2]>>2]](f,h);H[g+48|0]=0;J[g+44>>2]=1566444395;J[g+8>>2]=22532;Qe(a,g+116|0,g+52|0,g+8|0);if(!K[g+48|0]){break b}l=N[f+172>>2];m=J[q+12>>2];J[g+232>>2]=J[q+8>>2];J[g+236>>2]=m;m=J[q+4>>2];J[g+224>>2]=J[q>>2];J[g+228>>2]=m;if((e|0)==64){va[J[J[f>>2]+8>>2]](f,-2,65);break a}e=e+1|0;j=N[g+12>>2];p=N[g+16>>2];k=N[g+20>>2];l=Q(N[g+44>>2]+l);if(l>Q(.0010000000474974513)){continue}break}i=N[g+24>>2]}N[f+132>>2]=j;N[f+164>>2]=h;N[f+144>>2]=i;N[f+140>>2]=k;N[f+136>>2]=p;a=J[g+228>>2];J[f+148>>2]=J[g+224>>2];J[f+152>>2]=a;a=J[g+236>>2];J[f+156>>2]=J[g+232>>2];J[f+160>>2]=a;c=1;break a}va[J[J[f>>2]+8>>2]](f,-1,e)}ta=g+304|0;return c|0}function bi(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;a:{b:{c:{if((f|0)>=0){h=J[a+16>>2];if((h|0)>0){break c}break b}f=J[a+8>>2];Q(va[J[J[f>>2]+12>>2]](f,b,c,d,e,J[a+12>>2],J[a+16>>2],J[a+4>>2],J[a+20>>2],J[a+24>>2]));return}l=J[a+12>>2];while(1){m=l+(g<<2)|0;k=J[m>>2];i=J[J[k+28>>2]+208>>2];if((i|0)<0){i=J[J[k+32>>2]+208>>2]}if((f|0)==(i|0)){break b}g=g+1|0;if((h|0)!=(g|0)){continue}break}m=0;k=0;break a}k=0;if((g|0)>=(h|0)){break a}n=J[a+12>>2];while(1){l=J[n+(g<<2)>>2];i=J[J[l+28>>2]+208>>2];if((i|0)<0){i=J[J[l+32>>2]+208>>2]}k=((f|0)==(i|0))+k|0;g=g+1|0;if((h|0)!=(g|0)){continue}break}}g=J[a+4>>2];if(J[g+80>>2]>=2){if((c|0)>0){f=J[a+36>>2];g=J[a+32>>2];while(1){n=(j<<2)+b|0;d:{if((f|0)!=(g|0)){break d}i=f?f<<1:1;if((i|0)<=(f|0)){g=f;break d}g=0;h=0;if(i){h=Ga(i<<2);f=J[a+32>>2]}if((f|0)>0){while(1){l=g<<2;J[l+h>>2]=J[l+J[a+40>>2]>>2];g=g+1|0;if((g|0)!=(f|0)){continue}break}}g=J[a+40>>2];if(!(!g|!K[a+44|0])){Fa(g);f=J[a+32>>2]}g=f;J[a+40>>2]=h;H[a+44|0]=1;J[a+36>>2]=i;f=i}J[J[a+40>>2]+(g<<2)>>2]=J[n>>2];g=g+1|0;J[a+32>>2]=g;j=j+1|0;if((j|0)!=(c|0)){continue}break}}if((e|0)>0){f=J[a+56>>2];g=J[a+52>>2];j=0;while(1){i=(j<<2)+d|0;e:{if((f|0)!=(g|0)){break e}b=f?f<<1:1;if((b|0)<=(f|0)){g=f;break e}g=0;h=0;if(b){h=Ga(b<<2);f=J[a+52>>2]}if((f|0)>0){while(1){c=g<<2;J[c+h>>2]=J[c+J[a+60>>2]>>2];g=g+1|0;if((g|0)!=(f|0)){continue}break}}c=J[a+60>>2];if(!(!c|!K[a+64|0])){Fa(c);f=J[a+52>>2]}g=f;J[a+60>>2]=h;H[a+64|0]=1;J[a+56>>2]=b;f=b}J[J[a+60>>2]+(g<<2)>>2]=J[i>>2];g=g+1|0;J[a+52>>2]=g;j=j+1|0;if((j|0)!=(e|0)){continue}break}}f:{if(!k){g=J[a+72>>2];break f}f=J[a+76>>2];g=J[a+72>>2];j=0;while(1){d=(j<<2)+m|0;g:{if((f|0)!=(g|0)){break g}b=f?f<<1:1;if((b|0)<=(f|0)){g=f;break g}g=0;h=0;if(b){h=Ga(b<<2);f=J[a+72>>2]}if((f|0)>0){while(1){c=g<<2;J[c+h>>2]=J[c+J[a+80>>2]>>2];g=g+1|0;if((g|0)!=(f|0)){continue}break}}c=J[a+80>>2];if(!(!c|!K[a+84|0])){Fa(c);f=J[a+72>>2]}g=f;J[a+80>>2]=h;H[a+84|0]=1;J[a+76>>2]=b;f=b}J[J[a+80>>2]+(g<<2)>>2]=J[d>>2];g=g+1|0;J[a+72>>2]=g;j=j+1|0;if((k|0)!=(j|0)){continue}break}}if(J[J[a+4>>2]+80>>2]<(J[a+52>>2]+g|0)){de(a)}return}f=J[a+8>>2];Q(va[J[J[f>>2]+12>>2]](f,b,c,d,e,m,k,g,J[a+20>>2],J[a+24>>2]))}function Jp(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=Q(0),g=Q(0),h=Q(0),i=0;e=ta-32|0;ta=e;N[e+16>>2]=N[b>>2];f=N[b+4>>2];N[e+20>>2]=f;g=N[b+8>>2];J[e+28>>2]=0;N[e+24>>2]=g;h=N[c>>2];J[e+12>>2]=0;N[e+8>>2]=g;N[e+4>>2]=f;N[e>>2]=h;i=e+16|0;va[J[J[a>>2]+16>>2]](a,i,e,d);f=N[c>>2];N[e+16>>2]=f;N[e+20>>2]=N[b+4>>2];g=N[b+8>>2];J[e+28>>2]=0;N[e+24>>2]=g;N[e>>2]=f;f=N[c+4>>2];J[e+12>>2]=0;N[e+8>>2]=g;N[e+4>>2]=f;va[J[J[a>>2]+16>>2]](a,i,e,d);N[e+16>>2]=N[c>>2];f=N[c+4>>2];N[e+20>>2]=f;g=N[b+8>>2];J[e+28>>2]=0;N[e+24>>2]=g;h=N[b>>2];J[e+12>>2]=0;N[e+8>>2]=g;N[e+4>>2]=f;N[e>>2]=h;va[J[J[a>>2]+16>>2]](a,i,e,d);f=N[b>>2];N[e+16>>2]=f;N[e+20>>2]=N[c+4>>2];g=N[b+8>>2];J[e+28>>2]=0;N[e+24>>2]=g;N[e>>2]=f;f=N[b+4>>2];J[e+12>>2]=0;N[e+8>>2]=g;N[e+4>>2]=f;va[J[J[a>>2]+16>>2]](a,i,e,d);g=N[b>>2];N[e+16>>2]=g;f=N[b+4>>2];N[e+20>>2]=f;h=N[b+8>>2];J[e+28>>2]=0;N[e+24>>2]=h;N[e+4>>2]=f;N[e>>2]=g;g=N[c+8>>2];J[e+12>>2]=0;N[e+8>>2]=g;va[J[J[a>>2]+16>>2]](a,i,e,d);g=N[c>>2];N[e+16>>2]=g;f=N[b+4>>2];N[e+20>>2]=f;h=N[b+8>>2];J[e+28>>2]=0;N[e+24>>2]=h;N[e+4>>2]=f;N[e>>2]=g;g=N[c+8>>2];J[e+12>>2]=0;N[e+8>>2]=g;va[J[J[a>>2]+16>>2]](a,i,e,d);g=N[c>>2];N[e+16>>2]=g;f=N[c+4>>2];N[e+20>>2]=f;h=N[b+8>>2];J[e+28>>2]=0;N[e+24>>2]=h;N[e+4>>2]=f;N[e>>2]=g;g=N[c+8>>2];J[e+12>>2]=0;N[e+8>>2]=g;va[J[J[a>>2]+16>>2]](a,i,e,d);g=N[b>>2];N[e+16>>2]=g;f=N[c+4>>2];N[e+20>>2]=f;h=N[b+8>>2];J[e+28>>2]=0;N[e+24>>2]=h;N[e+4>>2]=f;N[e>>2]=g;g=N[c+8>>2];J[e+12>>2]=0;N[e+8>>2]=g;va[J[J[a>>2]+16>>2]](a,i,e,d);N[e+16>>2]=N[b>>2];f=N[b+4>>2];N[e+20>>2]=f;g=N[c+8>>2];J[e+28>>2]=0;N[e+24>>2]=g;h=N[c>>2];J[e+12>>2]=0;N[e+8>>2]=g;N[e+4>>2]=f;N[e>>2]=h;va[J[J[a>>2]+16>>2]](a,i,e,d);f=N[c>>2];N[e+16>>2]=f;N[e+20>>2]=N[b+4>>2];g=N[c+8>>2];J[e+28>>2]=0;N[e+24>>2]=g;N[e>>2]=f;f=N[c+4>>2];J[e+12>>2]=0;N[e+8>>2]=g;N[e+4>>2]=f;va[J[J[a>>2]+16>>2]](a,i,e,d);N[e+16>>2]=N[c>>2];f=N[c+4>>2];N[e+20>>2]=f;g=N[c+8>>2];J[e+28>>2]=0;N[e+24>>2]=g;h=N[b>>2];J[e+12>>2]=0;N[e+8>>2]=g;N[e+4>>2]=f;N[e>>2]=h;va[J[J[a>>2]+16>>2]](a,i,e,d);f=N[b>>2];N[e+16>>2]=f;N[e+20>>2]=N[c+4>>2];g=N[c+8>>2];J[e+28>>2]=0;N[e+24>>2]=g;N[e>>2]=f;f=N[b+4>>2];J[e+12>>2]=0;N[e+8>>2]=g;N[e+4>>2]=f;va[J[J[a>>2]+16>>2]](a,i,e,d);ta=e+32|0}function Xs(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=Ga(348);Md();H[d+76|0]=1;J[d+72>>2]=0;J[d+68>>2]=b;b=d;J[b+28>>2]=0;J[b+32>>2]=0;J[b+24>>2]=a;H[b+20|0]=1;J[b>>2]=13084;J[b+16>>2]=0;J[b- -64>>2]=0;H[b+60|0]=0;J[b+56>>2]=1025758986;H[b+54|0]=1;I[b+52>>1]=256;J[b+48>>2]=0;H[b+44|0]=1;J[b+36>>2]=1;J[b+40>>2]=1065353216;J[b+8>>2]=0;J[b+12>>2]=0;J[b+92>>2]=1058642330;J[b+96>>2]=1065353216;J[b+88>>2]=0;J[b+80>>2]=0;J[b+84>>2]=0;J[b>>2]=24376;J[b+100>>2]=1050253722;J[b+104>>2]=1015580809;J[b+132>>2]=0;J[b+136>>2]=1045220557;J[b+124>>2]=1045220557;J[b+128>>2]=1045220557;J[b+108>>2]=0;J[b+112>>2]=10;J[b+184>>2]=0;J[b+188>>2]=1045220557;J[b+176>>2]=1120403456;J[b+180>>2]=1900671690;J[b+172>>2]=128;J[b+164>>2]=260;J[b+168>>2]=2;J[b+156>>2]=0;J[b+160>>2]=1062836634;J[b+148>>2]=-1121724662;J[b+152>>2]=1036831949;J[b+140>>2]=0;J[b+144>>2]=1;J[b+116>>2]=1101004800;J[b+120>>2]=1065353216;J[b>>2]=24112;J[b+216>>2]=c;J[b+212>>2]=0;I[b+290>>1]=0;J[b+264>>2]=0;J[b+268>>2]=-1054867456;J[b+312>>2]=0;H[b+316|0]=1;H[b+208|0]=1;J[b+204>>2]=0;H[b+240|0]=1;J[b+196>>2]=0;J[b+200>>2]=0;J[b+236>>2]=0;H[b+260|0]=1;J[b+228>>2]=0;J[b+232>>2]=0;J[b+256>>2]=0;J[b+248>>2]=0;J[b+252>>2]=0;J[b+272>>2]=0;J[b+276>>2]=0;J[b+280>>2]=0;J[b+284>>2]=0;H[b+308|0]=1;J[b+304>>2]=0;H[b+336|0]=1;J[b+296>>2]=0;J[b+300>>2]=0;J[b+340>>2]=0;J[b+332>>2]=0;J[b+324>>2]=0;J[b+328>>2]=0;if(c){c=0}else{e=b,f=we(Ga(236)),J[e+216>>2]=f;c=1}H[b+289|0]=c;c=Ga(68);J[c>>2]=24052;J[c+16>>2]=0;H[c+20|0]=1;J[c+8>>2]=0;J[c+12>>2]=0;J[c+36>>2]=0;H[c+40|0]=1;H[c+60|0]=1;J[c+28>>2]=0;J[c+32>>2]=0;J[c+56>>2]=0;H[c+64|0]=1;J[c+48>>2]=0;J[c+52>>2]=0;H[b+288|0]=1;J[b+220>>2]=c;c=Ga(88);d=J[b+216>>2];H[c+44|0]=1;J[c+24>>2]=a;J[c+20>>2]=0;a=c;J[a+12>>2]=0;J[a+16>>2]=0;J[a+8>>2]=d;J[a+4>>2]=0;J[a>>2]=24524;J[a+40>>2]=0;H[a- -64|0]=1;J[a+32>>2]=0;J[a+36>>2]=0;J[a+60>>2]=0;H[a+84|0]=1;J[a+52>>2]=0;J[a+56>>2]=0;J[a+80>>2]=0;J[a+72>>2]=0;J[a+76>>2]=0;J[b+212>>2]=a;J[b+344>>2]=24956;J[b>>2]=24716;J[b+56>>2]=1008981770;a=J[b+68>>2];a=va[J[J[a>>2]+36>>2]](a)|0;va[J[J[a>>2]+44>>2]](a,b+344|0);a=J[b+68>>2];a=va[J[J[a>>2]+36>>2]](a)|0;c=Ra(4);J[c>>2]=25056;va[J[J[a>>2]+60>>2]](a,c);return b|0}function te(a,b){var c=0,d=Q(0),e=Q(0),f=0;J[a+372>>2]=0;J[a+376>>2]=0;J[a+252>>2]=2;J[a+604>>2]=1065353216;J[a+608>>2]=1065353216;J[a+408>>2]=1065353216;J[a+412>>2]=1065353216;J[a+380>>2]=0;J[a+384>>2]=0;J[a+388>>2]=0;J[a+392>>2]=0;J[a+396>>2]=0;J[a+400>>2]=0;J[a+612>>2]=1065353216;J[a+616>>2]=0;J[a+416>>2]=1065353216;Ka(a+420|0,0,36);J[a+496>>2]=0;J[a+500>>2]=0;J[a+488>>2]=0;J[a+492>>2]=0;J[a+480>>2]=0;J[a+484>>2]=0;J[a+472>>2]=0;J[a+476>>2]=0;d=N[b+92>>2];e=N[b+96>>2];N[a+508>>2]=eQ(1)?Q(1):e;N[a+504>>2]=dQ(1)?Q(1):d;N[a+532>>2]=N[b+116>>2];N[a+536>>2]=N[b+120>>2];c=J[b+4>>2];J[a+668>>2]=0;J[a+672>>2]=0;J[a+540>>2]=c;H[a+512|0]=K[b+124|0];N[a+516>>2]=N[b+128>>2];N[a+520>>2]=N[b+132>>2];N[a+524>>2]=N[b+136>>2];N[a+528>>2]=N[b+140>>2];a:{if(c){va[J[J[c>>2]+8>>2]](c,a+4|0);break a}c=J[b+12>>2];J[a+4>>2]=J[b+8>>2];J[a+8>>2]=c;c=J[b+20>>2];J[a+12>>2]=J[b+16>>2];J[a+16>>2]=c;c=J[b+36>>2];J[a+28>>2]=J[b+32>>2];J[a+32>>2]=c;c=J[b+28>>2];J[a+20>>2]=J[b+24>>2];J[a+24>>2]=c;c=J[b+44>>2];J[a+36>>2]=J[b+40>>2];J[a+40>>2]=c;c=J[b+52>>2];J[a+44>>2]=J[b+48>>2];J[a+48>>2]=c;c=b- -64|0;f=J[c+4>>2];J[a+60>>2]=J[c>>2];J[a+64>>2]=f;c=J[b+60>>2];J[a+52>>2]=J[b+56>>2];J[a+56>>2]=c}J[a+132>>2]=0;J[a+136>>2]=0;c=J[a+8>>2];J[a+68>>2]=J[a+4>>2];J[a+72>>2]=c;J[a+156>>2]=0;J[a+160>>2]=0;J[a+148>>2]=0;J[a+152>>2]=0;J[a+140>>2]=0;J[a+144>>2]=0;c=J[a+24>>2];J[a+84>>2]=J[a+20>>2];J[a+88>>2]=c;c=J[a+16>>2];J[a+76>>2]=J[a+12>>2];J[a+80>>2]=c;c=J[a+32>>2];J[a+92>>2]=J[a+28>>2];J[a+96>>2]=c;c=J[a+40>>2];J[a+100>>2]=J[a+36>>2];J[a+104>>2]=c;c=J[a+48>>2];J[a+108>>2]=J[a+44>>2];J[a+112>>2]=c;c=J[a+56>>2];J[a+116>>2]=J[a+52>>2];J[a+120>>2]=c;c=J[a+64>>2];J[a+124>>2]=J[a+60>>2];J[a+128>>2]=c;N[a+228>>2]=N[b+100>>2];N[a+236>>2]=N[b+104>>2];N[a+240>>2]=N[b+108>>2];N[a+232>>2]=N[b+112>>2];va[J[J[a>>2]+8>>2]](a,J[b+72>>2]);c=J[9575];J[9575]=c+1;J[a+568>>2]=c;Wb(a,N[b>>2],b+76|0);se(a);J[a+572>>2]=0;J[a+576>>2]=0;J[a+564>>2]=8;J[a+580>>2]=0;J[a+584>>2]=0;J[a+588>>2]=0;J[a+592>>2]=0;J[a+596>>2]=0;J[a+600>>2]=0;d=N[a+404>>2];N[a+628>>2]=d*N[a+416>>2];N[a+624>>2]=d*N[a+412>>2];N[a+620>>2]=d*N[a+408>>2];Ka(a+632|0,0,36)}function km(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=Q(0),g=0,h=Q(0),i=Q(0),j=Q(0),k=Q(0),l=0,m=Q(0),n=0,o=Q(0),p=Q(0),q=Q(0),r=0,s=0,t=Q(0),u=Q(0),v=Q(0);l=ta+-64|0;ta=l;g=J[a+56>>2];J[l+60>>2]=0;J[l+8>>2]=b;J[l+4>>2]=g;J[l>>2]=18988;g=0;b=ta-16|0;ta=b;a=J[a+60>>2];a:{if(K[a+60|0]){t=N[a+40>>2];o=N[a+24>>2];f=N[a+8>>2];u=N[a+36>>2];p=N[a+20>>2];m=N[a+4>>2];j=N[c>>2];k=N[c+4>>2];q=N[a+28>>2];i=N[a+12>>2];h=N[c+8>>2];h=i>h?i:h;v=N[a+44>>2];h=Q(Q((h>q?q:h)-i)*v);b:{if(h=Q(0)){c=~~h>>>0;break b}c=0}I[b+14>>1]=c&65534;k=f>k?f:k;k=Q(t*Q((k>o?o:k)-f));c:{if(k=Q(0)){c=~~k>>>0;break c}c=0}I[b+12>>1]=c&65534;j=jp?p:j)-m)*u);d:{if(j=Q(0)){c=~~j>>>0;break d}c=0}I[b+10>>1]=c&65534;j=N[d>>2];k=N[d+4>>2];h=N[d+8>>2];h=i>h?i:h;i=Q(Q(v*Q((h>q?q:h)-i))+Q(1));e:{if(i=Q(0)){c=~~i>>>0;break e}c=0}I[b+8>>1]=c|1;i=f>k?f:k;f=Q(Q(t*Q((i>o?o:i)-f))+Q(1));f:{if(f=Q(0)){c=~~f>>>0;break f}c=0}I[b+6>>1]=c|1;f=jp?p:f)-m))+Q(1));g:{if(f=Q(0)){c=~~f>>>0;break g}c=0}I[b+4>>1]=c|1;h:{switch(J[a+144>>2]){case 0:Cf(a,l,b+10|0,b+4|0,0,J[a+56>>2]);break a;case 1:e=J[a+152>>2];if((e|0)>0){d=b+10|0;n=b+4|0;while(1){c=J[a+160>>2]+(g<<5)|0;i:{if(L[d>>1]>L[c+6>>1]|L[n>>1]>1]|(L[n+4>>1]>1]|L[d+4>>1]>L[c+10>>1])){break i}if(L[n+2>>1]>1]|L[d+2>>1]>L[c+8>>1]){break i}e=J[c+12>>2];Cf(a,l,d,n,e,e+J[c+16>>2]|0);e=J[a+152>>2]}g=g+1|0;if((g|0)<(e|0)){continue}break}}break a;case 2:break h;default:break a}}Bf(a,J[a+136>>2],l,b+10|0,b+4|0);break a}if(J[a+56>>2]>0){n=a;e=J[a+96>>2];while(1){g=0;j:{if(N[c>>2]>N[e+16>>2]){break j}g=0;if(N[d>>2]>2]){break j}g=1}a=0;a=N[d+8>>2]>2]|N[c+8>>2]>N[e+24>>2]?a:g;k:{l:{m:{if(N[d+4>>2]>2]|N[c+4>>2]>N[e+20>>2]){g=J[e+32>>2]==-1;a=0;break m}g=J[e+32>>2]==-1;if(!(g&a)){break m}va[J[J[l>>2]+8>>2]](l,J[e+36>>2],J[e+40>>2]);break l}if(a|g){break l}a=J[e+32>>2];r=a+r|0;e=(a<<6)+e|0;break k}r=r+1|0;e=e- -64|0}s=s+1|0;if(J[n+56>>2]>(r|0)){continue}break}}if(J[9113]<(s|0)){J[9113]=s}}ta=b+16|0;ta=l- -64|0}function Wk(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=Q(0),f=Q(0),g=Q(0),h=0,i=0,j=Q(0),k=Q(0),l=Q(0),m=Q(0),n=Q(0),o=Q(0),p=Q(0),q=0,r=0,s=0,t=Q(0),u=Q(0),v=Q(0),w=Q(0),x=Q(0),y=Q(0),z=0;f=N[b+40>>2];g=N[b+36>>2];e=N[b+24>>2];l=N[b+20>>2];h=J[a+8>>2];t=N[h+44>>2];u=N[h+40>>2];v=N[h+12>>2];w=N[h+8>>2];m=N[b+32>>2];n=N[b+16>>2];k=N[b+8>>2];o=N[b+4>>2];p=N[b>>2];x=N[h+36>>2];y=N[h+4>>2];h=J[a+4>>2];a=J[h+4>>2];a:{if((a|0)!=J[h+8>>2]){break a}q=a?a<<1:1;if((q|0)<=(a|0)){break a}if(q){z=Ga(q<<4);a=J[h+4>>2]}if((a|0)>0){b=0;while(1){i=b<<4;r=i+z|0;i=i+J[h+12>>2]|0;s=J[i+4>>2];J[r>>2]=J[i>>2];J[r+4>>2]=s;s=J[i+12>>2];J[r+8>>2]=J[i+8>>2];J[r+12>>2]=s;b=b+1|0;if((b|0)!=(a|0)){continue}break}}a=J[h+12>>2];if(!(!a|!K[h+16|0])){Fa(a)}J[h+12>>2]=z;H[h+16|0]=1;J[h+8>>2]=q;a=J[h+4>>2]}a=J[h+12>>2]+(a<<4)|0;J[a+12>>2]=c<<21|d;j=k>Q(-0xde0b6b000000000)?k:Q(-0xde0b6b000000000);j=e>j?e:j;j=f>j?f:j;k=k=Q(0)){c=~~f>>>0;break b}c=0}I[a+4>>1]=c&65534;f=o>Q(-0xde0b6b000000000)?o:Q(-0xde0b6b000000000);f=fl?l:e;g=e>g?g:e;c=Q(f-g)=Q(0)){d=~~g>>>0;break c}d=0}I[a+2>>1]=d&65534;g=p>Q(-0xde0b6b000000000)?p:Q(-0xde0b6b000000000);g=gn?n:e;e=e>m?m:e;d=Q(g-e)=Q(0)){i=~~e>>>0;break d}i=0}I[a>>1]=i&65534;e=Q(Q(Q((b?Q(j+Q(.0010000000474974513)):j)-v)*t)+Q(1));e:{if(e=Q(0)){b=~~e>>>0;break e}b=0}I[a+10>>1]=b|1;f=Q(Q(Q((c?Q(f+Q(.0010000000474974513)):f)-w)*u)+Q(1));f:{if(f=Q(0)){b=~~f>>>0;break f}b=0}I[a+8>>1]=b|1;f=Q(Q(Q((d?Q(g+Q(.0010000000474974513)):g)-y)*x)+Q(1));g:{if(f=Q(0)){b=~~f>>>0;break g}b=0}I[a+6>>1]=b|1;J[h+4>>2]=J[h+4>>2]+1}function ze(a,b,c,d,e,f){a=Ec(a,12,b,c);J[a>>2]=23432;b=J[d+12>>2];J[a+56>>2]=J[d+8>>2];J[a+60>>2]=b;b=J[d+4>>2];J[a+48>>2]=J[d>>2];J[a+52>>2]=b;b=J[d+28>>2];J[a+72>>2]=J[d+24>>2];J[a+76>>2]=b;c=J[d+20>>2];b=a- -64|0;J[b>>2]=J[d+16>>2];J[b+4>>2]=c;b=J[d+44>>2];J[a+88>>2]=J[d+40>>2];J[a+92>>2]=b;b=J[d+36>>2];J[a+80>>2]=J[d+32>>2];J[a+84>>2]=b;b=J[d+60>>2];J[a+104>>2]=J[d+56>>2];J[a+108>>2]=b;b=J[d+52>>2];J[a+96>>2]=J[d+48>>2];J[a+100>>2]=b;b=J[e+12>>2];J[a+120>>2]=J[e+8>>2];J[a+124>>2]=b;b=J[e+4>>2];J[a+112>>2]=J[e>>2];J[a+116>>2]=b;b=J[e+20>>2];J[a+128>>2]=J[e+16>>2];J[a+132>>2]=b;b=J[e+28>>2];J[a+136>>2]=J[e+24>>2];J[a+140>>2]=b;b=J[e+36>>2];J[a+144>>2]=J[e+32>>2];J[a+148>>2]=b;b=J[e+44>>2];J[a+152>>2]=J[e+40>>2];J[a+156>>2]=b;b=J[e+52>>2];J[a+160>>2]=J[e+48>>2];J[a+164>>2]=b;b=J[e+60>>2];J[a+168>>2]=J[e+56>>2];J[a+172>>2]=b;Ka(a+680|0,0,48);J[a+740>>2]=0;J[a+744>>2]=0;J[a+736>>2]=1045220557;J[a+728>>2]=1045220557;J[a+732>>2]=1045220557;J[a+748>>2]=0;J[a+752>>2]=0;J[a+756>>2]=0;J[a+804>>2]=0;J[a+808>>2]=0;J[a+768>>2]=1063675494;J[a+760>>2]=1063675494;J[a+764>>2]=1063675494;J[a+812>>2]=0;J[a+820>>2]=0;J[a+824>>2]=0;J[a+828>>2]=0;I[a+836>>1]=0;H[a+838|0]=0;J[a+840>>2]=0;J[a+844>>2]=0;J[a+848>>2]=0;H[a+858|0]=0;I[a+856>>1]=0;J[a+868>>2]=0;J[a+860>>2]=0;J[a+864>>2]=0;J[a+884>>2]=0;J[a+876>>2]=0;J[a+880>>2]=0;J[a+900>>2]=0;J[a+892>>2]=0;J[a+896>>2]=0;H[a+793|0]=0;H[a+794|0]=0;H[a+795|0]=0;H[a+796|0]=0;H[a+797|0]=0;H[a+798|0]=0;H[a+799|0]=0;H[a+800|0]=0;J[a+788>>2]=0;J[a+792>>2]=0;J[a+780>>2]=0;J[a+784>>2]=0;J[a+772>>2]=0;J[a+776>>2]=0;Ka(a+908|0,0,60);b=a+1232|0;d=a+968|0;while(1){J[d+68>>2]=0;J[d+72>>2]=0;H[d+64|0]=0;J[d+60>>2]=0;H[d+56|0]=0;J[d+52>>2]=0;H[d+48|0]=0;J[d+44>>2]=0;H[d+40|0]=0;J[d+32>>2]=0;J[d+36>>2]=1036831949;H[d+28|0]=0;J[d+24>>2]=0;J[d+16>>2]=0;J[d+20>>2]=1063675494;J[d+8>>2]=0;J[d+12>>2]=1045220557;J[d>>2]=1065353216;J[d+4>>2]=-1082130432;J[d+76>>2]=0;J[d+80>>2]=0;J[d+84>>2]=0;d=d+88|0;if((b|0)!=(d|0)){continue}break}J[a+1456>>2]=0;J[a+1232>>2]=f;Lc(a,J[a+28>>2]+4|0,J[a+32>>2]+4|0);return a} -function Kp(a,b,c,d,e,f,g,h,i,j,k,l){a=a|0;b=b|0;c=c|0;d=d|0;e=Q(e);f=Q(f);g=Q(g);h=Q(h);i=Q(i);j=j|0;k=Q(k);l=l|0;var m=0,n=0,o=0,p=Q(0),q=Q(0),r=Q(0),s=Q(0),t=Q(0),u=Q(0),v=Q(0),w=Q(0),x=0,y=0,z=Q(0),A=0,B=0,C=0,D=0,E=0,F=Q(0),G=0,H=0,I=0,K=Q(0),L=0,M=0,O=0,P=Q(0),S=Q(0),T=Q(0),U=Q(0),V=Q(0);n=ta-2416|0;ta=n;p=N[b>>2];s=N[c>>2];q=N[b+4>>2];t=N[c+4>>2];u=N[b+8>>2];v=N[c+8>>2];J[n+44>>2]=0;z=Q(v*e);N[n+40>>2]=u+z;w=Q(t*e);N[n+36>>2]=q+w;r=Q(s*e);N[n+32>>2]=p+r;J[n+28>>2]=0;N[n+24>>2]=u-z;N[n+20>>2]=q-w;N[n+16>>2]=p-r;q=Q(k*Q(.01745329238474369));k=Q(q+Q(-1.5707963705062866));D=f<=Q(-1.5707963705062866);f=D?k:f;p=Q(Q(1.5707963705062866)-q);E=g>=Q(1.5707963705062866);g=E?p:g;if(f>g){E=1;D=1;g=p;f=k}k=N[d>>2];p=N[d+4>>2];u=N[d+8>>2];x=h>i;z=x?Q(q+Q(-3.1415927410125732)):h;w=Q((x?Q(3.1415927410125732):i)-z);r=Q(w/q);a:{if(Q(R(r))=Q(6.2831854820251465);g=Q(g-f);h=Q(g/q);b:{if(Q(R(h))>2];w=N[b>>2];r=N[d>>2];F=N[c+4>>2];P=N[b+4>>2];S=N[d+4>>2];T=N[c+8>>2];k=N[b+8>>2];U=N[d+8>>2];I=m<<4;o=I+x|0;J[o+12>>2]=0;y=m;K=Q(Q(Q(m|0)*t)+z);i=Q(h*Va(K));V=k;k=Q(h*Ta(K));N[o+8>>2]=Q(Q(q*i)+Q(V+Q(U*k)))+Q(g*T);N[o+4>>2]=Q(Q(s*i)+Q(P+Q(k*S)))+Q(g*F);N[o>>2]=Q(Q(p*i)+Q(w+Q(k*r)))+Q(g*u);c:{d:{if(A){m=C+I|0;break d}m=n+16|0;if(!E){break c}}va[J[J[a>>2]+16>>2]](a,m,o,j)}e:{if(y){va[J[J[a>>2]+16>>2]](a,o-16|0,o,j);break e}m=J[o+12>>2];J[n+8>>2]=J[o+8>>2];J[n+12>>2]=m;m=J[o+4>>2];J[n>>2]=J[o>>2];J[n+4>>2]=m}if(O){va[J[J[a>>2]+16>>2]](a,n+32|0,o,j)}f:{if(!l){break f}g:{if(L){m=n;if((y|0)==(B|0)){break g}break f}m=b;if(!((!y|(y|0)==(B|0))&M)){break f}}va[J[J[a>>2]+16>>2]](a,m,o,j)}m=y+1|0;if((y|0)!=(B|0)){continue}break}A=A+1|0;m=x;x=C;if(!G){continue}break}ta=n+2416|0}function nm(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;e=b+16|0;g=a+20|0;while(1){f=d<<2;N[f+e>>2]=N[g+f>>2];d=d+1|0;if((d|0)!=4){continue}break}e=a+4|0;d=0;while(1){g=d<<2;N[g+b>>2]=N[e+g>>2];d=d+1|0;if((d|0)!=4){continue}break}e=b+32|0;g=a+36|0;d=0;while(1){f=d<<2;N[f+e>>2]=N[g+f>>2];d=d+1|0;if((d|0)!=4){continue}break}J[b+48>>2]=J[a+56>>2];J[b+52>>2]=K[a+60|0];d=J[a+88>>2];J[b+56>>2]=d;a:{if(!d){J[b+64>>2]=0;break a}d=va[J[J[c>>2]+28>>2]](c,J[a+96>>2])|0;J[b+64>>2]=d;if(!d){break a}h=J[a+88>>2];i=va[J[J[c>>2]+16>>2]](c,48,h)|0;if((h|0)>0){e=J[i+8>>2];f=0;while(1){j=e+16|0;g=J[a+96>>2]+(f<<6)|0;l=g+16|0;d=0;while(1){k=d<<2;N[j+k>>2]=N[l+k>>2];d=d+1|0;if((d|0)!=4){continue}break}d=0;while(1){j=d<<2;N[j+e>>2]=N[g+j>>2];d=d+1|0;if((d|0)!=4){continue}break}J[e+32>>2]=J[g+32>>2];J[e+36>>2]=J[g+36>>2];d=J[g+40>>2];J[e+44>>2]=0;J[e+40>>2]=d;e=e+48|0;f=f+1|0;if((h|0)!=(f|0)){continue}break}}va[J[J[c>>2]+20>>2]](c,i,9041,1497453121,J[a+96>>2])}d=J[a+128>>2];J[b+60>>2]=d;b:{if(!d){J[b+68>>2]=0;break b}d=va[J[J[c>>2]+28>>2]](c,J[a+136>>2])|0;J[b+68>>2]=d;if(!d){break b}e=0;h=J[a+128>>2];i=va[J[J[c>>2]+16>>2]](c,16,h)|0;c:{if((h|0)<=0){g=J[a+136>>2];break c}g=J[a+136>>2];d=J[i+8>>2];while(1){f=(e<<4)+g|0;J[d+12>>2]=J[f+12>>2];I[d+6>>1]=L[f+6>>1];I[d+8>>1]=L[f+8>>1];I[d+10>>1]=L[f+10>>1];I[d>>1]=L[f>>1];I[d+2>>1]=L[f+2>>1];I[d+4>>1]=L[f+4>>1];d=d+16|0;e=e+1|0;if((h|0)!=(e|0)){continue}break}}va[J[J[c>>2]+20>>2]](c,i,9018,1497453121,g)}J[b+76>>2]=J[a+144>>2];d=J[a+152>>2];J[b+80>>2]=d;d:{if(!d){J[b+72>>2]=0;break d}d=b;b=va[J[J[c>>2]+28>>2]](c,J[a+160>>2])|0;J[d+72>>2]=b;if(!b){break d}e=0;b=J[a+152>>2];f=va[J[J[c>>2]+16>>2]](c,20,b)|0;e:{if((b|0)<=0){g=J[a+160>>2];break e}g=J[a+160>>2];d=J[f+8>>2];while(1){a=(e<<5)+g|0;I[d+14>>1]=L[a+6>>1];I[d+16>>1]=L[a+8>>1];I[d+18>>1]=L[a+10>>1];I[d+8>>1]=L[a>>1];I[d+10>>1]=L[a+2>>1];I[d+12>>1]=L[a+4>>1];J[d>>2]=J[a+12>>2];J[d+4>>2]=J[a+16>>2];d=d+20|0;e=e+1|0;if((b|0)!=(e|0)){continue}break}}va[J[J[c>>2]+20>>2]](c,f,8778,1497453121,g)}return 8710}function Eb(a,b,c,d,e){var f=Q(0),g=Q(0),h=Q(0),i=Q(0),j=Q(0),k=0,l=Q(0),m=Q(0),n=Q(0),o=Q(0),p=Q(0),q=Q(0),r=Q(0),s=Q(0),t=Q(0),u=Q(0),v=Q(0),w=Q(0),x=Q(0),y=Q(0),z=Q(0),A=Q(0),B=Q(0),C=Q(0),D=Q(0);k=K[e+16|0]&-16;H[e+16|0]=k;B=N[d+8>>2];m=N[b+8>>2];r=Q(B-m);l=N[a+8>>2];f=Q(l-m);C=N[d>>2];n=N[b>>2];s=Q(C-n);i=N[a>>2];g=Q(i-n);D=N[d+4>>2];o=N[b+4>>2];t=Q(D-o);p=N[a+4>>2];h=Q(p-o);j=Q(Q(r*f)+Q(Q(s*g)+Q(t*h)));x=N[c+8>>2];u=Q(x-m);y=N[c>>2];v=Q(y-n);z=N[c+4>>2];w=Q(z-o);g=Q(Q(u*f)+Q(Q(v*g)+Q(w*h)));a:{if(!(!(g<=Q(0))|!(j<=Q(0)))){a=J[b+4>>2];J[e>>2]=J[b>>2];J[e+4>>2]=a;a=J[b+12>>2];J[e+8>>2]=J[b+8>>2];J[e+12>>2]=a;H[e+16|0]=k|1;g=Q(0);f=Q(0);h=Q(1);break a}f=Q(l-x);h=Q(i-y);q=Q(p-z);A=Q(Q(r*f)+Q(Q(s*h)+Q(t*q)));h=Q(Q(u*f)+Q(Q(v*h)+Q(w*q)));if(!(!(h>=Q(0))|!(h>=A))){a=J[c+4>>2];J[e>>2]=J[c>>2];J[e+4>>2]=a;a=J[c+12>>2];J[e+8>>2]=J[c+8>>2];J[e+12>>2]=a;H[e+16|0]=k|2;g=Q(1);f=Q(0);h=Q(0);break a}q=Q(Q(g*A)-Q(j*h));b:{if(!(h<=Q(0))|!(g>=Q(0))){break b}f=Q(0);if(!(q<=Q(0))){break b}J[e+12>>2]=0;H[e+16|0]=k|3;g=Q(g/Q(g-h));N[e+8>>2]=m+Q(u*g);N[e+4>>2]=o+Q(w*g);N[e>>2]=n+Q(v*g);h=Q(Q(1)-g);break a}f=Q(l-B);i=Q(i-C);p=Q(p-D);l=Q(Q(u*f)+Q(Q(v*i)+Q(w*p)));f=Q(Q(r*f)+Q(Q(s*i)+Q(t*p)));if(!(!(f>=Q(0))|!(f>=l))){a=J[d+4>>2];J[e>>2]=J[d>>2];J[e+4>>2]=a;a=J[d+12>>2];J[e+8>>2]=J[d+8>>2];J[e+12>>2]=a;H[e+16|0]=k|4;f=Q(1);g=Q(0);h=Q(0);break a}i=Q(Q(l*j)-Q(f*g));c:{if(!(f<=Q(0))|!(j>=Q(0))){break c}g=Q(0);if(!(i<=Q(0))){break c}J[e+12>>2]=0;H[e+16|0]=k|5;f=Q(j/Q(j-f));N[e+8>>2]=m+Q(r*f);N[e+4>>2]=o+Q(t*f);N[e>>2]=n+Q(s*f);h=Q(Q(1)-f);break a}d:{j=Q(Q(h*f)-Q(A*l));if(!(j<=Q(0))){break d}g=Q(A-h);if(!(g>=Q(0))){break d}f=Q(l-f);if(!(f>=Q(0))){break d}J[e+12>>2]=0;H[e+16|0]=k|6;f=Q(g/Q(g+f));N[e+8>>2]=x+Q(Q(B-x)*f);N[e+4>>2]=z+Q(Q(D-z)*f);N[e>>2]=y+Q(Q(C-y)*f);g=Q(Q(1)-f);h=Q(0);break a}J[e+12>>2]=0;H[e+16|0]=k|7;g=Q(Q(1)/Q(q+Q(j+i)));f=Q(q*g);g=Q(i*g);N[e+8>>2]=Q(r*f)+Q(m+Q(u*g));N[e+4>>2]=Q(t*f)+Q(o+Q(w*g));N[e>>2]=Q(s*f)+Q(n+Q(v*g));h=Q(Q(Q(1)-g)-f)}N[e+20>>2]=h;J[e+32>>2]=0;N[e+28>>2]=f;N[e+24>>2]=g}function Nl(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0;J[a+76>>2]=J[a+76>>2]+1;i=J[a+24>>2];if((i|0)>0){while(1){g=i-1|0;if(J[(J[a+32>>2]+P(g,80)|0)+64>>2]==(b|0)){J[a+76>>2]=J[a+76>>2]+1;d=J[a+72>>2];if(d){pc(d,J[(J[a+32>>2]+P(g,80)|0)+76>>2])}e=J[a+24>>2]-1|0;h=J[a+32>>2];c=h+P(g,80)|0;f=J[c+12>>2];d=ta-80|0;J[d+8>>2]=J[c+8>>2];J[d+12>>2]=f;f=J[c+4>>2];J[d>>2]=J[c>>2];J[d+4>>2]=f;f=J[c+28>>2];J[d+24>>2]=J[c+24>>2];J[d+28>>2]=f;f=J[c+20>>2];J[d+16>>2]=J[c+16>>2];J[d+20>>2]=f;f=J[c+44>>2];J[d+40>>2]=J[c+40>>2];J[d+44>>2]=f;f=J[c+36>>2];J[d+32>>2]=J[c+32>>2];J[d+36>>2]=f;f=J[c+60>>2];J[d+56>>2]=J[c+56>>2];J[d+60>>2]=f;f=J[c+52>>2];J[d+48>>2]=J[c+48>>2];J[d+52>>2]=f;f=J[c+76>>2];J[d+72>>2]=J[c+72>>2];J[d+76>>2]=f;f=J[c+68>>2];J[d+64>>2]=J[c+64>>2];J[d+68>>2]=f;f=h;h=P(e,80);e=f+h|0;f=J[e+4>>2];J[c>>2]=J[e>>2];J[c+4>>2]=f;f=J[e+12>>2];J[c+8>>2]=J[e+8>>2];J[c+12>>2]=f;f=J[e+20>>2];J[c+16>>2]=J[e+16>>2];J[c+20>>2]=f;f=J[e+28>>2];J[c+24>>2]=J[e+24>>2];J[c+28>>2]=f;f=J[e+44>>2];J[c+40>>2]=J[e+40>>2];J[c+44>>2]=f;f=J[e+36>>2];J[c+32>>2]=J[e+32>>2];J[c+36>>2]=f;f=J[e+52>>2];J[c+48>>2]=J[e+48>>2];J[c+52>>2]=f;f=J[e+60>>2];J[c+56>>2]=J[e+56>>2];J[c+60>>2]=f;f=J[e+76>>2];J[c+72>>2]=J[e+72>>2];J[c+76>>2]=f;f=J[e+68>>2];J[c+64>>2]=J[e+64>>2];J[c+68>>2]=f;e=J[d+4>>2];c=h+J[a+32>>2]|0;J[c>>2]=J[d>>2];J[c+4>>2]=e;e=J[d+12>>2];J[c+8>>2]=J[d+8>>2];J[c+12>>2]=e;e=J[d+20>>2];J[c+16>>2]=J[d+16>>2];J[c+20>>2]=e;e=J[d+28>>2];J[c+24>>2]=J[d+24>>2];J[c+28>>2]=e;e=J[d+36>>2];J[c+32>>2]=J[d+32>>2];J[c+36>>2]=e;e=J[d+44>>2];J[c+40>>2]=J[d+40>>2];J[c+44>>2]=e;e=J[d+52>>2];J[c+48>>2]=J[d+48>>2];J[c+52>>2]=e;e=J[d+60>>2];J[c+56>>2]=J[d+56>>2];J[c+60>>2]=e;e=J[d+68>>2];J[c+64>>2]=J[d+64>>2];J[c+68>>2]=e;e=J[d+76>>2];J[c+72>>2]=J[d+72>>2];J[c+76>>2]=e;if(J[a+72>>2]){J[J[(J[a+32>>2]+P(g,80)|0)+76>>2]+36>>2]=g}J[a+24>>2]=J[a+24>>2]-1}d=i>>>0>1;i=g;if(d){continue}break}}va[J[J[a>>2]+68>>2]](a)}function ab(a,b,c){var d=0,e=Q(0),f=Q(0),g=Q(0),h=0,i=0,j=Q(0),k=Q(0),l=Q(0),m=0,n=Q(0),o=Q(0),p=Q(0),q=Q(0),r=Q(0),s=Q(0),t=Q(0),u=Q(0),v=Q(0),w=Q(0),x=Q(0),y=Q(0);a:{i=J[a+844>>2];if((i|0)<=0){break a}while(1){n=N[b+48>>2];q=N[b+8>>2];r=N[b>>2];s=N[b+4>>2];o=N[b+52>>2];t=N[b+24>>2];j=N[b+16>>2];u=N[b+20>>2];e=N[b+56>>2];g=N[b+40>>2];f=N[b+32>>2];p=N[b+36>>2];h=i-1|0;d=P(h,208)+a|0;J[d- -64>>2]=0;l=e;e=N[d+12>>2];k=Q(g*e);g=N[d+4>>2];v=Q(f*g);f=N[d+8>>2];p=Q(l+Q(k+Q(v+Q(p*f))));N[d+60>>2]=p;o=Q(o+Q(Q(e*t)+Q(Q(g*j)+Q(f*u))));N[d+56>>2]=o;n=Q(n+Q(Q(e*q)+Q(Q(g*r)+Q(f*s))));N[d+52>>2]=n;q=N[c+56>>2];r=N[c+40>>2];s=N[c+32>>2];t=N[c+36>>2];j=N[c+52>>2];u=N[c+24>>2];v=N[c+16>>2];w=N[c+20>>2];e=N[c+48>>2];g=N[c+8>>2];f=N[c>>2];k=N[c+4>>2];J[d+48>>2]=0;l=e;e=N[d+28>>2];x=Q(g*e);g=N[d+20>>2];y=Q(f*g);f=N[d+24>>2];k=Q(l+Q(x+Q(y+Q(k*f))));N[d+36>>2]=k;j=Q(j+Q(Q(e*u)+Q(Q(g*v)+Q(f*w))));N[d+40>>2]=j;e=Q(q+Q(Q(e*r)+Q(Q(g*s)+Q(f*t))));N[d+44>>2]=e;N[d+84>>2]=Q(Q(p-e)*N[d+76>>2])+Q(Q(Q(n-k)*N[d+68>>2])+Q(Q(o-j)*N[d+72>>2]));J[d+168>>2]=J[d+168>>2]+1;d=i>>>0>1;i=h;if(d){continue}break}c=J[a+844>>2];if((c|0)<=0){break a}while(1){i=c;b:{c:{c=c-1|0;b=P(c,208)+a|0;e=N[b+84>>2];g=N[a+848>>2];if(!(e<=g)){break c}f=Q(N[b+44>>2]-Q(N[b+60>>2]-Q(e*N[b+76>>2])));l=Q(f*f);f=Q(N[b+36>>2]-Q(N[b+52>>2]-Q(N[b+68>>2]*e)));e=Q(N[b+40>>2]-Q(N[b+56>>2]-Q(e*N[b+72>>2])));if(Q(l+Q(Q(f*f)+Q(e*e)))>Q(g*g)){break c}h=J[9398];if(!h){break b}va[h|0](b+4|0,J[a+836>>2],J[a+840>>2])|0;break b}h=ta-16|0;ta=h;d=P(c,208)+a|0;b=J[d+120>>2];d:{if(!b){break d}m=J[9397];if(!m){break d}va[m|0](b)|0;J[d+120>>2]=0}b=J[a+844>>2];m=b-1|0;if((m|0)!=(c|0)){b=P(m,208)+a|0;Pa(d+4|0,b+4|0,208);J[b+168>>2]=0;J[b+120>>2]=0;J[b+132>>2]=0;J[b+136>>2]=0;J[b+140>>2]=0;J[b+144>>2]=0;b=J[a+844>>2]}b=b-1|0;J[a+844>>2]=b;d=J[9400];if(!(b|!d)){J[h+12>>2]=a;va[d|0](h+12|0)}ta=h+16|0}if(i>>>0>1){continue}break}}}function Hn(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=Q(0),g=0,h=0,i=0,j=Q(0),k=Q(0),l=Q(0),m=Q(0),n=Q(0),o=Q(0),p=Q(0),q=Q(0),r=Q(0),s=Q(0),t=Q(0),u=Q(0),v=Q(0),w=Q(0),x=Q(0),y=Q(0),z=Q(0),A=Q(0),B=Q(0),C=Q(0),D=0,E=Q(0),F=0,G=Q(0),H=Q(0),I=Q(0);D=ta-16|0;ta=D;Na(5939);g=K[a+76|0];i=g?b:c;h=J[i+4>>2];a:{if(J[h+4>>2]-21>>>0>8){break a}g=g?c:b;if(J[J[g+4>>2]+4>>2]>19){break a}E=Q(va[J[J[h>>2]+48>>2]](h));J[e+4>>2]=J[a+72>>2];b=ta-128|0;ta=b;c=a+8|0;N[c+56>>2]=E;J[c+52>>2]=d;J[c+40>>2]=i;J[c+36>>2]=g;J[c+44>>2]=e;Ua(b,J[i+12>>2]);F=J[c+36>>2];d=J[F+12>>2];r=N[d+56>>2];s=N[d+52>>2];t=N[d+36>>2];u=N[d+20>>2];v=N[d+40>>2];w=N[d+24>>2];x=N[d+32>>2];y=N[d>>2];z=N[d+16>>2];G=N[b+52>>2];H=N[b+56>>2];A=N[d+48>>2];f=N[b+24>>2];j=N[b+20>>2];B=N[d+4>>2];k=N[b+40>>2];l=N[b+36>>2];C=N[d+8>>2];I=N[b+48>>2];m=N[b+8>>2];n=N[b>>2];o=N[b+4>>2];p=N[b+16>>2];q=N[b+32>>2];J[b+124>>2]=0;J[b+108>>2]=0;J[b+92>>2]=0;N[b+104>>2]=Q(v*k)+Q(Q(C*q)+Q(w*l));N[b+100>>2]=Q(t*k)+Q(Q(B*q)+Q(u*l));N[b+88>>2]=Q(v*f)+Q(Q(C*p)+Q(w*j));N[b+84>>2]=Q(t*f)+Q(Q(B*p)+Q(u*j));N[b+120>>2]=H+Q(Q(r*k)+Q(Q(A*q)+Q(l*s)));N[b+116>>2]=G+Q(Q(r*f)+Q(Q(A*p)+Q(j*s)));J[b+76>>2]=0;N[b+96>>2]=Q(x*k)+Q(Q(y*q)+Q(z*l));N[b+80>>2]=Q(x*f)+Q(Q(y*p)+Q(z*j));N[b+64>>2]=Q(x*m)+Q(Q(y*n)+Q(z*o));N[b+72>>2]=Q(v*m)+Q(Q(C*n)+Q(o*w));N[b+68>>2]=Q(t*m)+Q(Q(B*n)+Q(o*u));N[b+112>>2]=I+Q(Q(r*m)+Q(Q(A*n)+Q(o*s)));d=J[F+4>>2];va[J[J[d>>2]+8>>2]](d,b- -64|0,c+4|0,c+20|0);f=Q(N[e+32>>2]+E);N[c+20>>2]=f+N[c+20>>2];N[c+24>>2]=f+N[c+24>>2];N[c+28>>2]=f+N[c+28>>2];N[c+4>>2]=N[c+4>>2]-f;N[c+8>>2]=N[c+8>>2]-f;N[c+12>>2]=N[c+12>>2]-f;ta=b+128|0;b=J[g+8>>2];d=J[a+72>>2];J[d+840>>2]=J[i+8>>2];J[d+836>>2]=b;va[J[J[h>>2]+64>>2]](h,c,a+12|0,a+28|0);b=J[e+4>>2];if(J[b+844>>2]){d=J[b+836>>2];h=J[J[e+8>>2]+8>>2];c=(d|0)==(h|0);g=b;b=J[J[e+12>>2]+8>>2];ab(g,(c?d:b)+4|0,(c?b:h)+4|0)}J[a+44>>2]=0;J[a+48>>2]=0}Ma();ta=D+16|0}function mj(a,b){a=a|0;b=b|0;var c=0,d=Q(0),e=0,f=0,g=0,h=Q(0),i=Q(0),j=0,k=Q(0),l=0,m=Q(0),n=0,o=0,p=0,q=Q(0),r=Q(0),s=Q(0),t=Q(0),u=Q(0),v=Q(0),w=Q(0),x=0,y=0;e=J[a+28>>2]+4|0;g=J[a+32>>2]+4|0;f=J[b+8>>2];J[f>>2]=1065353216;n=J[b+24>>2];o=n<<2;x=o+4|0;J[f+x>>2]=1065353216;p=n<<3;y=p+8|0;J[f+y>>2]=1065353216;h=N[e+20>>2];q=N[e+24>>2];i=N[e+36>>2];d=N[a+304>>2];r=N[e+40>>2];k=N[a+308>>2];s=N[e+8>>2];t=N[e>>2];u=N[e+4>>2];v=N[e+16>>2];w=N[e+32>>2];m=N[a+300>>2];f=0;l=ta-32|0;J[l+28>>2]=0;i=Q(Q(r*k)+Q(Q(w*m)+Q(d*i)));N[l+24>>2]=i;h=Q(Q(q*k)+Q(Q(v*m)+Q(d*h)));N[l+20>>2]=h;d=Q(Q(s*k)+Q(Q(t*m)+Q(u*d)));N[l+16>>2]=d;c=J[b+12>>2];J[c+12>>2]=0;N[c+8>>2]=-h;N[c+4>>2]=i;J[c>>2]=0;j=c+o|0;J[j+12>>2]=0;N[j+8>>2]=d;J[j+4>>2]=0;N[j>>2]=-i;c=c+p|0;J[c+8>>2]=0;J[c+12>>2]=0;N[c+4>>2]=-d;N[c>>2]=h;c=J[b+16>>2];J[c>>2]=-1082130432;J[c+x>>2]=-1082130432;J[c+y>>2]=-1082130432;h=N[g+20>>2];q=N[g+24>>2];i=N[g+36>>2];d=N[a+320>>2];r=N[g+40>>2];k=N[a+324>>2];s=N[g+8>>2];t=N[g>>2];u=N[g+4>>2];v=N[g+16>>2];w=N[g+32>>2];m=N[a+316>>2];J[l+12>>2]=0;i=Q(Q(r*k)+Q(Q(w*m)+Q(d*i)));N[l+8>>2]=i;h=Q(Q(q*k)+Q(Q(v*m)+Q(d*h)));N[l+4>>2]=h;d=Q(Q(s*k)+Q(Q(t*m)+Q(u*d)));N[l>>2]=d;c=J[b+20>>2];J[c+12>>2]=0;N[c+8>>2]=h;N[c+4>>2]=-i;J[c>>2]=0;j=c+o|0;J[j+12>>2]=0;N[j+8>>2]=-d;J[j+4>>2]=0;N[j>>2]=i;c=c+p|0;J[c+8>>2]=0;J[c+12>>2]=0;N[c+4>>2]=d;N[c>>2]=-h;c=J[a+332>>2];d=Q(N[(c&1?a+336|0:b+4|0)>>2]*N[b>>2]);j=e+48|0;g=g+48|0;o=J[b+28>>2];while(1){e=f<<2;N[o+(P(f,n)<<2)>>2]=d*Q(Q(Q(N[e+l>>2]+N[e+g>>2])-N[e+(l+16|0)>>2])-N[e+j>>2]);f=f+1|0;if((f|0)!=3){continue}break}if(c&2){e=J[b+32>>2];f=0;while(1){N[e+(P(f,n)<<2)>>2]=N[a+340>>2];f=f+1|0;if((f|0)!=3){continue}break}}d=N[a+356>>2];m=Q(-d);f=0;k=d;while(1){if(k>Q(0)){e=P(f,n)<<2;N[e+J[b+36>>2]>>2]=m;N[e+J[b+40>>2]>>2]=d}f=f+1|0;if((f|0)!=3){k=N[a+356>>2];continue}break}N[b+48>>2]=N[a+352>>2]}function oc(a,b,c,d){var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;if(!(!b|!c)){if(!(J[a+24>>2]>127|J[a+28>>2]>127)){e=Ga(1024);f=J[a+24>>2];if((f|0)>0){while(1){g=h<<3;i=g+e|0;g=g+J[a+32>>2]|0;j=J[g+4>>2];J[i>>2]=J[g>>2];J[i+4>>2]=j;h=h+1|0;if((f|0)!=(h|0)){continue}break}}f=J[a+32>>2];if(!(!f|!K[a+36|0])){Fa(f)}J[a+32>>2]=e;H[a+36|0]=1;J[a+28>>2]=128}J[a+24>>2]=128;e=J[a+32>>2];J[e+4>>2]=c;J[e>>2]=b;h=124;b=1;while(1){g=J[a+32>>2];c=b;b=b-1|0;j=b<<3;e=g+j|0;f=J[e+4>>2];e=J[e>>2];if((b|0)>(h|0)){h=J[a+24>>2];i=h<<1;if(!((i|0)<=J[a+28>>2]|(h|0)>=(i|0))){a:{if(!h){g=0;break a}g=Ga(h<<4);h=0;l=J[a+24>>2];if((l|0)<=0){break a}while(1){k=h<<3;m=k+g|0;k=J[a+32>>2]+k|0;n=J[k+4>>2];J[m>>2]=J[k>>2];J[m+4>>2]=n;h=h+1|0;if((l|0)!=(h|0)){continue}break}}h=J[a+32>>2];if(!(!h|!K[a+36|0])){Fa(h)}J[a+32>>2]=g;H[a+36|0]=1;J[a+28>>2]=i}J[a+24>>2]=i;h=i-4|0}b:{if((e|0)==(f|0)){if(!J[e+40>>2]){break b}b=g+j|0;f=J[e+36>>2];J[b+4>>2]=f;J[b>>2]=f;b=c<<3;f=b+J[a+32>>2]|0;g=J[e+40>>2];J[f+4>>2]=g;J[f>>2]=g;f=J[e+40>>2];b=b+J[a+32>>2]|0;J[b+8>>2]=J[e+36>>2];J[b+12>>2]=f;b=c+2|0;break b}if(!(N[e>>2]<=N[f+16>>2])|!(N[e+16>>2]>=N[f>>2])|(!(N[e+4>>2]<=N[f+20>>2])|!(N[e+20>>2]>=N[f+4>>2]))){break b}if(!(N[e+8>>2]<=N[f+24>>2])|!(N[e+24>>2]>=N[f+8>>2])){break b}i=J[f+40>>2];if(J[e+40>>2]){b=J[e+36>>2];if(i){g=g+j|0;J[g+4>>2]=J[f+36>>2];J[g>>2]=b;g=J[e+40>>2];b=c<<3;i=b+J[a+32>>2]|0;J[i+4>>2]=J[f+36>>2];J[i>>2]=g;g=J[e+36>>2];i=b+J[a+32>>2]|0;J[i+12>>2]=J[f+40>>2];J[i+8>>2]=g;e=J[e+40>>2];b=b+J[a+32>>2]|0;J[b+20>>2]=J[f+40>>2];J[b+16>>2]=e;b=c+3|0;break b}g=g+j|0;J[g+4>>2]=f;J[g>>2]=b;b=J[e+40>>2];e=J[a+32>>2]+(c<<3)|0;J[e+4>>2]=f;J[e>>2]=b;b=c+1|0;break b}if(i){b=g+j|0;J[b+4>>2]=J[f+36>>2];J[b>>2]=e;b=J[a+32>>2]+(c<<3)|0;J[b+4>>2]=J[f+40>>2];J[b>>2]=e;b=c+1|0;break b}va[J[J[d>>2]+8>>2]](d,e,f)}if(b){continue}break}}}function zc(a,b,c){var d=0,e=Q(0),f=Q(0),g=Q(0),h=Q(0),i=Q(0),j=Q(0),k=Q(0),l=0,m=Q(0),n=Q(0),o=Q(0),p=Q(0),q=Q(0),r=Q(0);d=ta-48|0;ta=d;H[a+60|0]=0;J[d+40>>2]=0;J[d+44>>2]=0;J[d+32>>2]=0;J[d+36>>2]=0;J[d+24>>2]=0;J[d+28>>2]=0;J[d+16>>2]=0;J[d+20>>2]=0;e=N[b+8>>2];g=N[a+48>>2];f=N[b>>2];m=N[a+40>>2];i=N[b+4>>2];n=N[a+44>>2];j=Q(Q(e*g)+Q(Q(f*m)+Q(i*n)));h=e;e=Q(g*j);o=Q(h-e);h=Q(n*j);p=Q(i-h);i=f;f=Q(m*j);k=Q(i-f);a:{if(j<=Q(0)){N[d+24>>2]=e;N[d+20>>2]=h;N[d+16>>2]=f;i=h;r=f;h=Q(0);f=Q(0);break a}J[d+44>>2]=0;N[d+40>>2]=e;N[d+36>>2]=h;N[d+32>>2]=f;i=Q(0);q=e;e=Q(0)}b=0;J[d+12>>2]=0;N[d+4>>2]=p;N[d>>2]=k;N[d+8>>2]=o;k=Q(Q(o*o)+Q(Q(k*k)+Q(p*p)));b:{c:{if(k>2];N[d+40>>2]=Q(j*g)+q;N[d+36>>2]=Q(n*g)+h;N[d+32>>2]=Q(m*g)+f}H[a+108|0]=0;b=yc(a,d+32|0,c,10)?2:0;l=K[a+64|0]}d:{if(l){break d}e:{if(K[a+61|0]){break e}if((va[J[J[a>>2]+16>>2]](a)|0)!=1){break e}H[a+108|0]=1}b=yc(a,d,c,10)|b;if(K[a+61|0]){break d}if((va[J[J[a>>2]+16>>2]](a)|0)!=1){break d}H[a+108|0]=0}if(!(k>2];q=N[a+44>>2];g=e;e=N[a+32>>2];N[d+24>>2]=g-Q(e*N[a+48>>2]);N[d+20>>2]=i-Q(e*q);N[d+16>>2]=r-Q(f*e)}f:{if(K[a+61|0]){break f}if((va[J[J[a>>2]+16>>2]](a)|0)!=1){break f}H[a+108|0]=1}if(K[a+65|0]?K[a+64|0]:1){H[a+108|0]=0}g:{h:{i:{if(!yc(a,d+16|0,c,1)){break i}b=b|4;if(K[a+64|0]){break i}c=Q(Q(N[a+80>>2]*N[a+48>>2])+Q(Q(N[a+72>>2]*N[a+40>>2])+Q(N[a+76>>2]*N[a+44>>2])));if(!(c>=Q(0))|!(Ta(N[a+28>>2])>c)){break i}H[a+60|0]=1;if(K[a+61|0]){break g}if((va[J[J[a>>2]+16>>2]](a)|0)==1){break h}break g}if(K[a+61|0]){break g}if((va[J[J[a>>2]+16>>2]](a)|0)!=1){break g}}H[a+108|0]=0}ta=d+48|0;return b}function yl(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=Q(0),g=Q(0),h=Q(0),i=Q(0),j=Q(0),k=Q(0),l=Q(0),m=Q(0),n=Q(0),o=Q(0),p=Q(0),q=Q(0),r=0,s=0,t=0,u=Q(0),v=Q(0),w=Q(0),x=Q(0),y=0;e=ta-80|0;ta=e;x=Q(va[J[J[a>>2]+48>>2]](a));while(1){J[e+72>>2]=0;J[e+76>>2]=0;J[e+64>>2]=0;J[e+68>>2]=0;s=t<<2;y=s+(e- -64|0)|0;J[y>>2]=1065353216;i=N[b+32>>2];j=N[b>>2];k=N[b+16>>2];l=N[b+36>>2];m=N[b+4>>2];n=N[b+20>>2];f=N[b+40>>2];g=N[b+8>>2];h=N[b+24>>2];J[e+44>>2]=0;o=f;f=N[e+72>>2];p=g;g=N[e+64>>2];q=h;h=N[e+68>>2];N[e+40>>2]=Q(o*f)+Q(Q(p*g)+Q(q*h));N[e+36>>2]=Q(l*f)+Q(Q(m*g)+Q(h*n));N[e+32>>2]=Q(i*f)+Q(Q(j*g)+Q(k*h));r=e+32|0;va[J[J[a>>2]+64>>2]](e+48|0,a,r);i=N[b+48>>2];j=N[b+8>>2];k=N[b>>2];l=N[b+4>>2];m=N[b+52>>2];n=N[b+24>>2];p=N[b+16>>2];q=N[b+20>>2];f=N[b+56>>2];g=N[b+40>>2];h=N[b+32>>2];u=N[b+36>>2];J[e+44>>2]=0;o=f;f=N[e+56>>2];v=Q(g*f);g=N[e+48>>2];w=Q(h*g);h=N[e+52>>2];N[e+40>>2]=o+Q(v+Q(w+Q(u*h)));N[e+36>>2]=m+Q(Q(f*n)+Q(Q(g*p)+Q(h*q)));N[e+32>>2]=i+Q(Q(f*j)+Q(Q(g*k)+Q(h*l)));r=s+r|0;N[d+s>>2]=x+N[r>>2];J[y>>2]=-1082130432;i=N[b+32>>2];j=N[b>>2];k=N[b+16>>2];l=N[b+36>>2];m=N[b+4>>2];n=N[b+20>>2];f=N[b+40>>2];g=N[b+8>>2];h=N[b+24>>2];J[e+12>>2]=0;o=f;f=N[e+72>>2];p=g;g=N[e+64>>2];q=h;h=N[e+68>>2];N[e+8>>2]=Q(o*f)+Q(Q(p*g)+Q(q*h));N[e+4>>2]=Q(l*f)+Q(Q(m*g)+Q(h*n));N[e>>2]=Q(i*f)+Q(Q(j*g)+Q(k*h));va[J[J[a>>2]+64>>2]](e+16|0,a,e);i=N[b+48>>2];j=N[b+8>>2];k=N[b>>2];l=N[b+4>>2];m=N[b+52>>2];n=N[b+24>>2];p=N[b+16>>2];q=N[b+20>>2];f=N[b+56>>2];g=N[b+40>>2];h=N[b+32>>2];u=N[b+36>>2];J[e+44>>2]=0;o=f;f=N[e+24>>2];v=Q(g*f);g=N[e+16>>2];w=Q(h*g);h=N[e+20>>2];N[e+40>>2]=o+Q(v+Q(w+Q(u*h)));N[e+36>>2]=m+Q(Q(f*n)+Q(Q(g*p)+Q(h*q)));N[e+32>>2]=i+Q(Q(f*j)+Q(Q(g*k)+Q(h*l)));N[c+s>>2]=N[r>>2]-x;t=t+1|0;if((t|0)!=3){continue}break}ta=e+80|0}function Gg(a,b,c,d,e,f,g,h,i){var j=0,k=0,l=0,m=Q(0),n=0,o=0,p=Q(0),q=Q(0),r=Q(0),s=0,t=Q(0),u=0,v=Q(0),w=0,x=0;l=ta-32|0;ta=l;if(a){j=J[h+4>>2];if((j|0)<=127){if(J[h+8>>2]<=127){n=Ga(512);s=J[h+4>>2];if((s|0)>0){while(1){k=o<<2;J[k+n>>2]=J[k+J[h+12>>2]>>2];o=o+1|0;if((s|0)!=(o|0)){continue}break}}o=J[h+12>>2];if(!(!o|!K[h+16|0])){Fa(o)}J[h+12>>2]=n;H[h+16|0]=1;J[h+8>>2]=128}while(1){J[J[h+12>>2]+(j<<2)>>2]=0;j=j+1|0;if((j|0)!=128){continue}break}}J[h+4>>2]=128;J[J[h+12>>2]>>2]=a;s=126;o=1;while(1){a=J[h+12>>2];j=o-1|0;w=j<<2;n=J[a+w>>2];p=N[n>>2];q=N[n+4>>2];m=N[g>>2];r=N[g+4>>2];N[l+8>>2]=N[n+8>>2]-N[g+8>>2];N[l+4>>2]=q-r;N[l>>2]=p-m;p=N[n+16>>2];q=N[n+20>>2];m=N[f>>2];r=N[f+4>>2];N[l+24>>2]=N[n+24>>2]-N[f+8>>2];N[l+20>>2]=q-r;N[l+16>>2]=p-m;k=J[d>>2];r=N[b>>2];t=N[c>>2];p=Q(Q(N[(k<<4)+l>>2]-r)*t);m=N[c+4>>2];u=J[d+4>>2];v=N[b+4>>2];q=Q(m*Q(N[((1-u<<4)+l|0)+4>>2]-v));a:{b:{if(p>q){break b}m=Q(Q(N[((u<<4)+l|0)+4>>2]-v)*m);r=Q(t*Q(N[(1-k<<4)+l>>2]-r));if(m>r){break b}p=m>p?m:p;t=N[c+8>>2];k=J[d+8>>2];v=N[b+8>>2];m=Q(t*Q(N[((1-k<<4)+l|0)+8>>2]-v));if(p>m){break b}t=Q(Q(N[((k<<4)+l|0)+8>>2]-v)*t);q=qq|!((pQ(0))){break b}if(J[n+40>>2]){if((j|0)>(s|0)){j=J[h+4>>2];k=j<<1;if((j|0)<(k|0)){if((k|0)>J[h+8>>2]){c:{if(!j){s=0;break c}s=Ga(j<<3);a=0;u=J[h+4>>2];if((u|0)<=0){break c}while(1){x=a<<2;J[x+s>>2]=J[J[h+12>>2]+x>>2];a=a+1|0;if((u|0)!=(a|0)){continue}break}}a=J[h+12>>2];if(!(!a|!K[h+16|0])){Fa(a)}J[h+12>>2]=s;H[h+16|0]=1;J[h+8>>2]=k}while(1){J[J[h+12>>2]+(j<<2)>>2]=0;j=j+1|0;if((k|0)!=(j|0)){continue}break}a=J[h+12>>2]}J[h+4>>2]=k;s=k-2|0}J[a+w>>2]=J[n+36>>2];J[J[h+12>>2]+(o<<2)>>2]=J[n+40>>2];a=o+1|0;break a}va[J[J[i>>2]+12>>2]](i,n)}a=j}o=a;if(o){continue}break}}ta=l+32|0}function Yn(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=Q(0),f=Q(0),g=Q(0),h=Q(0),i=Q(0),j=Q(0),k=Q(0),l=Q(0),m=Q(0),n=Q(0),o=Q(0),p=Q(0),q=Q(0),r=Q(0),s=Q(0),t=0,u=Q(0),v=Q(0),w=Q(0),x=Q(0),y=Q(0),z=Q(0),A=0,B=0;c=ta-96|0;ta=c;e=N[a+76>>2];i=N[a+36>>2];f=N[a+32>>2];j=N[a+80>>2];n=N[a+52>>2];o=N[a+44>>2];p=N[a+48>>2];k=N[a+84>>2];q=N[a+68>>2];w=N[a+60>>2];x=N[a- -64>>2];y=N[a+28>>2];l=N[b+8>>2];g=N[b>>2];h=N[b+4>>2];J[c+92>>2]=0;u=Q(k+Q(Q(l*q)+Q(Q(g*w)+Q(h*x))));N[c+88>>2]=u;v=Q(j+Q(Q(l*n)+Q(Q(g*o)+Q(h*p))));N[c+84>>2]=v;l=Q(e+Q(Q(l*i)+Q(Q(g*y)+Q(h*f))));N[c+80>>2]=l;g=N[b+20>>2];h=N[b+24>>2];m=N[b+16>>2];J[c+76>>2]=0;z=Q(k+Q(Q(h*q)+Q(Q(m*w)+Q(x*g))));N[c+72>>2]=z;r=Q(j+Q(Q(h*n)+Q(Q(m*o)+Q(p*g))));N[c+68>>2]=r;s=Q(e+Q(Q(h*i)+Q(Q(m*y)+Q(f*g))));N[c+64>>2]=s;g=N[b+36>>2];h=N[b+40>>2];m=N[b+32>>2];J[c+60>>2]=0;k=Q(k+Q(Q(h*q)+Q(Q(m*w)+Q(x*g))));N[c+56>>2]=k;j=Q(j+Q(Q(h*n)+Q(Q(m*o)+Q(p*g))));N[c+52>>2]=j;e=Q(e+Q(Q(h*i)+Q(Q(m*y)+Q(f*g))));N[c+48>>2]=e;J[c+44>>2]=0;n=Q(Q(Q(u+z)+k)*Q(.3333333432674408));N[c+40>>2]=n;o=Q(Q(Q(v+r)+j)*Q(.3333333432674408));N[c+36>>2]=o;p=Q(Q(Q(l+s)+e)*Q(.3333333432674408));N[c+32>>2]=p;b=J[a+8>>2];if(va[J[J[b>>2]+56>>2]](b)&16384){J[c+24>>2]=0;J[c+28>>2]=0;J[c+16>>2]=1065353216;J[c+20>>2]=1065353216;b=J[a+8>>2];J[c+12>>2]=0;i=Q(s-l);f=Q(j-v);j=Q(e-l);q=Q(r-v);e=Q(Q(i*f)-Q(j*q));s=e;r=Q(e*e);k=Q(k-u);e=f;f=Q(z-u);e=Q(Q(q*k)-Q(e*f));i=Q(Q(f*j)-Q(k*i));f=Q(Q(1)/Q(Y(Q(r+Q(Q(e*e)+Q(i*i))))));N[c+8>>2]=Q(s*f)+n;N[c+4>>2]=Q(i*f)+o;N[c>>2]=p+Q(e*f);va[J[J[b>>2]+16>>2]](b,c+32|0,c,c+16|0)}d=J[a+8>>2];A=c+80|0;t=c- -64|0;b=a+12|0;va[J[J[d>>2]+16>>2]](d,A,t,b);d=J[a+8>>2];B=t;t=c+48|0;va[J[J[d>>2]+16>>2]](d,B,t,b);a=J[a+8>>2];va[J[J[a>>2]+16>>2]](a,t,A,b);ta=c+96|0}function Le(a,b,c,d,e){var f=0,g=Q(0),h=Q(0),i=Q(0),j=Q(0),k=Q(0),l=Q(0),m=Q(0),n=Q(0),o=Q(0),p=Q(0),q=0,r=Q(0),s=Q(0),t=0,u=0,v=0,w=Q(0),x=Q(0),y=0,z=Q(0);f=ta-80|0;ta=f;J[f+76>>2]=c;J[f+72>>2]=b;J[f+68>>2]=a;j=N[b>>2];l=N[a>>2];m=N[b+8>>2];h=N[a+8>>2];i=N[a+4>>2];s=N[b+4>>2];g=Q(i-s);N[f+20>>2]=g;r=Q(h-m);N[f+24>>2]=r;k=Q(l-j);N[f+16>>2]=k;n=N[c>>2];o=N[c+4>>2];p=N[c+8>>2];w=Q(p-h);N[f+56>>2]=w;x=Q(o-i);N[f+52>>2]=x;i=Q(m-p);N[f+40>>2]=i;o=Q(s-o);N[f+36>>2]=o;s=Q(n-l);N[f+48>>2]=s;n=Q(j-n);N[f+32>>2]=n;j=Q(-1);m=Q(Q(k*o)-Q(n*g));h=Q(Q(g*i)-Q(o*r));g=Q(Q(r*n)-Q(i*k));r=Q(Q(m*m)+Q(Q(h*h)+Q(g*g)));a:{if(!(r>Q(0))){break a}J[f+8>>2]=0;J[f+12>>2]=0;J[f+4>>2]=0;while(1){y=u<<2;q=J[y+(f+68|0)>>2];t=(f+16|0)+(u<<4)|0;l=N[t>>2];k=N[t+4>>2];p=Q(N[q+8>>2]*Q(Q(l*g)-Q(h*k)));z=Q(k*m);k=N[t+8>>2];b:{if(!(Q(p+Q(Q(N[q>>2]*Q(z-Q(g*k)))+Q(N[q+4>>2]*Q(Q(k*h)-Q(m*l)))))>Q(0))){break b}v=q;t=J[y+22660>>2];q=t<<2;l=Me(v,J[q+(f+68|0)>>2],f+8|0,f+4|0);if(!(j>2];J[e>>2]=(0-(v&1)&1<>31);N[d+y>>2]=N[f+8>>2];N[d+q>>2]=N[f+12>>2];J[(J[q+22660>>2]<<2)+d>>2]=0;j=l}u=u+1|0;if((u|0)!=3){continue}break}if(!(j>2];l=N[a>>2];k=N[a+4>>2];J[e>>2]=7;p=g;g=Q(Q(Q(j*m)+Q(Q(l*h)+Q(g*k)))/r);j=Q(p*g);k=Q(N[b+4>>2]-j);l=Q(h*g);h=Q(N[b>>2]-l);p=Q(Q(n*k)-Q(h*o));m=Q(m*g);g=Q(N[b+8>>2]-m);o=Q(Q(o*g)-Q(k*i));h=Q(Q(i*h)-Q(g*n));g=Q(Y(Q(Q(p*p)+Q(Q(o*o)+Q(h*h)))));h=Q(Y(r));g=Q(g/h);N[d>>2]=g;i=Q(N[c+4>>2]-j);o=Q(N[c>>2]-l);n=Q(Q(s*i)-Q(o*x));p=Q(n*n);n=Q(N[c+8>>2]-m);i=Q(Q(x*n)-Q(i*w));k=Q(i*i);i=Q(Q(w*o)-Q(n*s));h=Q(Q(Y(Q(p+Q(k+Q(i*i)))))/h);N[d+4>>2]=h;N[d+8>>2]=Q(1)-Q(g+h);j=Q(Q(m*m)+Q(Q(l*l)+Q(j*j)))}ta=f+80|0;return j}function Oe(a,b,c,d,e,f,g){var h=Q(0),i=Q(0),j=Q(0),k=Q(0),l=Q(0),m=Q(0),n=Q(0),o=Q(0),p=Q(0),q=Q(0),r=Q(0),s=Q(0),t=Q(0),u=Q(0),v=Q(0),w=Q(0),x=Q(0),y=Q(0),z=Q(0),A=Q(0),B=Q(0),C=Q(0),D=Q(0),E=Q(0);Ka(e,0,36);J[f+4>>2]=c;J[f>>2]=a;l=N[d+20>>2];m=N[d+36>>2];h=N[b+20>>2];i=N[b+36>>2];n=N[d+24>>2];o=N[b+24>>2];p=N[d+40>>2];q=N[b+40>>2];j=N[d+32>>2];r=N[d>>2];s=N[d+16>>2];t=N[d+4>>2];u=N[b+32>>2];v=N[b>>2];w=N[b+16>>2];x=N[b+4>>2];y=N[d+8>>2];k=N[b+8>>2];J[f+52>>2]=0;J[f+36>>2]=0;J[f+20>>2]=0;N[f+48>>2]=Q(p*q)+Q(Q(y*k)+Q(o*n));N[f+44>>2]=Q(p*i)+Q(Q(y*x)+Q(h*n));N[f+40>>2]=Q(p*u)+Q(Q(y*v)+Q(w*n));N[f+32>>2]=Q(m*q)+Q(Q(t*k)+Q(o*l));N[f+28>>2]=Q(m*i)+Q(Q(t*x)+Q(h*l));N[f+24>>2]=Q(m*u)+Q(Q(t*v)+Q(w*l));N[f+16>>2]=Q(j*q)+Q(Q(r*k)+Q(s*o));N[f+12>>2]=Q(j*i)+Q(Q(r*x)+Q(s*h));N[f+8>>2]=Q(j*u)+Q(Q(r*v)+Q(s*w));B=N[b+52>>2];C=N[d+52>>2];D=N[b+56>>2];z=N[d+56>>2];l=N[b+20>>2];m=N[b+36>>2];r=N[d+20>>2];s=N[d+36>>2];h=N[b+24>>2];t=N[d+24>>2];i=N[b+40>>2];u=N[d+40>>2];E=N[b+48>>2];A=N[d+48>>2];n=N[b+32>>2];o=N[b>>2];p=N[b+16>>2];q=N[b+4>>2];v=N[d+32>>2];w=N[d>>2];x=N[d+16>>2];y=N[d+4>>2];j=N[b+8>>2];k=N[d+8>>2];J[f+124>>2]=0;J[f+120>>2]=g?908:909;J[f+116>>2]=0;J[f+100>>2]=0;J[f+84>>2]=0;J[f+68>>2]=0;N[f+96>>2]=Q(i*u)+Q(Q(j*k)+Q(t*h));N[f+92>>2]=Q(i*s)+Q(Q(j*y)+Q(r*h));N[f+88>>2]=Q(i*v)+Q(Q(j*w)+Q(x*h));N[f+80>>2]=Q(m*u)+Q(Q(q*k)+Q(t*l));N[f+76>>2]=Q(m*s)+Q(Q(q*y)+Q(r*l));N[f+72>>2]=Q(m*v)+Q(Q(q*w)+Q(x*l));N[f- -64>>2]=Q(n*u)+Q(Q(o*k)+Q(p*t));N[f+60>>2]=Q(n*s)+Q(Q(o*y)+Q(p*r));N[f+56>>2]=Q(n*v)+Q(Q(o*w)+Q(p*x));k=i;i=Q(z-D);z=j;j=Q(A-E);A=h;h=Q(C-B);N[f+112>>2]=Q(k*i)+Q(Q(z*j)+Q(A*h));N[f+108>>2]=Q(m*i)+Q(Q(q*j)+Q(h*l));N[f+104>>2]=Q(n*i)+Q(Q(o*j)+Q(h*p))}function xl(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=Q(0),j=Q(0),k=Q(0),l=Q(0),m=Q(0),n=Q(0),o=Q(0),p=Q(0),q=Q(0),r=Q(0),s=Q(0),t=Q(0),u=0,v=Q(0),w=Q(0),x=Q(0),y=Q(0),z=Q(0),A=Q(0),B=Q(0),C=Q(0),D=Q(0),E=Q(0),F=Q(0),G=Q(0),H=Q(0),I=Q(0),K=Q(0),L=Q(0),M=Q(0),O=Q(0);h=ta-48|0;ta=h;l=N[b+36>>2];m=N[b+20>>2];n=N[b+40>>2];o=N[b+24>>2];p=N[b+4>>2];q=N[b+8>>2];i=N[c+8>>2];r=N[b+32>>2];j=N[c>>2];s=N[b>>2];k=N[c+4>>2];t=N[b+16>>2];J[h+44>>2]=0;N[h+32>>2]=Q(r*i)+Q(Q(s*j)+Q(t*k));N[h+40>>2]=Q(n*i)+Q(Q(q*j)+Q(k*o));N[h+36>>2]=Q(l*i)+Q(Q(p*j)+Q(k*m));u=h+16|0;va[J[J[a>>2]+64>>2]](u,a,h+32|0);o=N[b+56>>2];p=N[b+40>>2];q=N[b+36>>2];r=N[b+52>>2];s=N[b+24>>2];t=N[b+20>>2];v=N[b+32>>2];w=N[b+48>>2];x=N[b+8>>2];y=N[b>>2];z=N[b+4>>2];A=N[b+16>>2];i=N[h+24>>2];j=N[h+16>>2];k=N[h+20>>2];J[h+12>>2]=0;N[h+8>>2]=-N[h+40>>2];N[h+4>>2]=-N[h+36>>2];N[h>>2]=-N[h+32>>2];va[J[J[a>>2]+64>>2]](u,a,h);B=N[b+56>>2];C=N[b+40>>2];D=N[b+36>>2];E=N[b+52>>2];F=N[b+24>>2];G=N[b+20>>2];H=N[b+32>>2];I=N[b+48>>2];K=N[b+8>>2];L=N[b>>2];M=N[b+4>>2];O=N[b+16>>2];l=N[h+24>>2];m=N[h+16>>2];n=N[h+20>>2];o=Q(o+Q(Q(i*p)+Q(Q(j*v)+Q(k*q))));p=Q(w+Q(Q(i*x)+Q(Q(j*y)+Q(k*z))));i=Q(r+Q(Q(i*s)+Q(Q(j*A)+Q(k*t))));N[d>>2]=Q(o*N[c+8>>2])+Q(Q(p*N[c>>2])+Q(i*N[c+4>>2]));j=Q(B+Q(Q(l*C)+Q(Q(m*H)+Q(n*D))));k=Q(I+Q(Q(l*K)+Q(Q(m*L)+Q(n*M))));l=Q(E+Q(Q(l*F)+Q(Q(m*O)+Q(n*G))));N[e>>2]=Q(j*N[c+8>>2])+Q(Q(k*N[c>>2])+Q(l*N[c+4>>2]));J[g+12>>2]=0;N[g+8>>2]=j;N[g+4>>2]=l;N[g>>2]=k;J[f+12>>2]=0;N[f+8>>2]=o;N[f+4>>2]=i;N[f>>2]=p;m=N[d>>2];n=N[e>>2];if(m>n){N[d>>2]=n;N[e>>2]=m;J[g+12>>2]=0;N[g+8>>2]=o;N[g+4>>2]=i;N[g>>2]=p;J[f+12>>2]=0;N[f+8>>2]=j;N[f+4>>2]=l;N[f>>2]=k}ta=h+48|0}function oo(a){a=a|0;var b=0,c=Q(0),d=0,e=Q(0),f=Q(0),g=0,h=Q(0),i=Q(0),j=Q(0),k=Q(0),l=0,m=0;m=ta-16|0;ta=m;Na(4704);d=J[a+8>>2];if((d|0)>0){while(1){g=J[J[a+16>>2]+(l<<2)>>2];a:{b:{if(K[a+76|0]){break b}switch(J[g+220>>2]-2|0){case 0:case 3:break a;default:break b}}b=ta+-64|0;ta=b;d=J[g+192>>2];va[J[J[d>>2]+8>>2]](d,g+4|0,b+48|0,b+32|0);c=N[8329];k=Q(N[b+48>>2]-c);N[b+48>>2]=k;h=Q(N[b+52>>2]-c);N[b+52>>2]=h;f=Q(N[b+56>>2]-c);N[b+56>>2]=f;e=Q(c+N[b+32>>2]);N[b+32>>2]=e;i=Q(c+N[b+36>>2]);N[b+36>>2]=i;j=Q(c+N[b+40>>2]);N[b+40>>2]=j;c:{if(K[g+204|0]&3|(!K[a+44|0]|J[g+252>>2]!=2)){break c}d=J[g+192>>2];va[J[J[d>>2]+8>>2]](d,g+68|0,b+16|0,b);h=Q(N[b+16>>2]-c);N[b+16>>2]=h;f=Q(N[b+20>>2]-c);N[b+20>>2]=f;e=Q(N[b+24>>2]-c);N[b+24>>2]=e;i=Q(c+N[b>>2]);N[b>>2]=i;j=Q(c+N[b+4>>2]);N[b+4>>2]=j;c=Q(c+N[b+8>>2]);N[b+8>>2]=c;k=N[b+48>>2];if(h>2]=h;k=h}h=N[b+52>>2];if(f>2]=f;h=f}f=N[b+56>>2];if(e>2]=e;f=e}e=N[b+28>>2];if(e>2]){N[b+60>>2]=e}e=N[b+32>>2];if(i>e){N[b+32>>2]=i;e=i}i=N[b+36>>2];if(j>i){N[b+36>>2]=j;i=j}j=N[b+40>>2];if(c>j){N[b+40>>2]=c;j=c}c=N[b+12>>2];if(!(c>N[b+44>>2])){break c}N[b+44>>2]=c}d=J[a+68>>2];d:{e:{if(!(H[g+204|0]&1)){c=Q(j-f);f=Q(c*c);c=Q(e-k);e=Q(c*c);c=Q(i-h);if(!(Q(f+Q(e+Q(c*c)))>2]+16>>2]](d,J[g+188>>2],b+48|0,b+32|0,J[a+24>>2]);break d}hb(g,5);if(K[36424]){break d}d=J[a+72>>2];if(!d){break d}H[36424]=1;va[J[J[d>>2]+44>>2]](d,5799);d=J[a+72>>2];va[J[J[d>>2]+44>>2]](d,10359);d=J[a+72>>2];va[J[J[d>>2]+44>>2]](d,10436);d=J[a+72>>2];va[J[J[d>>2]+44>>2]](d,10427)}ta=b- -64|0;d=J[a+8>>2]}l=l+1|0;if((l|0)<(d|0)){continue}break}}Ma();ta=m+16|0}function oj(a){a=a|0;var b=0,c=0,d=0,e=Q(0),f=Q(0),g=Q(0),h=Q(0),i=Q(0),j=Q(0),k=0,l=Q(0),m=Q(0),n=Q(0),o=Q(0),p=Q(0),q=Q(0),r=Q(0),s=Q(0),t=Q(0),u=0,v=0;b=ta-144|0;ta=b;J[a+36>>2]=0;J[b+136>>2]=0;J[b+140>>2]=0;J[b+128>>2]=0;J[b+132>>2]=0;while(1){u=b+128|0;v=u+(k<<2)|0;J[v>>2]=1065353216;c=J[a+28>>2];N[b+80>>2]=N[c+4>>2];N[b+84>>2]=N[c+20>>2];e=N[c+36>>2];J[b+92>>2]=0;N[b+88>>2]=e;N[b+96>>2]=N[c+8>>2];N[b+100>>2]=N[c+24>>2];e=N[c+40>>2];J[b+108>>2]=0;N[b+104>>2]=e;N[b+112>>2]=N[c+12>>2];N[b+116>>2]=N[c+28>>2];e=N[c+44>>2];J[b+124>>2]=0;N[b+120>>2]=e;d=J[a+32>>2];N[b+32>>2]=N[d+4>>2];N[b+36>>2]=N[d+20>>2];e=N[d+36>>2];J[b+44>>2]=0;N[b+40>>2]=e;N[b+48>>2]=N[d+8>>2];N[b+52>>2]=N[d+24>>2];e=N[d+40>>2];J[b+60>>2]=0;N[b+56>>2]=e;N[b+64>>2]=N[d+12>>2];N[b+68>>2]=N[d+28>>2];e=N[d+44>>2];J[b+76>>2]=0;N[b+72>>2]=e;h=N[c+52>>2];l=N[c+12>>2];m=N[c+8>>2];i=N[c+56>>2];n=N[c+28>>2];o=N[c+20>>2];p=N[c+24>>2];j=N[c+60>>2];q=N[c+44>>2];r=N[c+36>>2];s=N[c+40>>2];t=N[c+4>>2];e=N[a+308>>2];f=N[a+300>>2];g=N[a+304>>2];J[b+28>>2]=0;N[b+24>>2]=Q(j+Q(Q(e*q)+Q(Q(f*r)+Q(g*s))))-j;N[b+20>>2]=Q(i+Q(Q(e*n)+Q(Q(f*o)+Q(g*p))))-i;N[b+16>>2]=Q(h+Q(Q(e*l)+Q(Q(f*t)+Q(g*m))))-h;h=N[d+52>>2];l=N[d+12>>2];m=N[d+8>>2];i=N[d+56>>2];n=N[d+28>>2];o=N[d+20>>2];p=N[d+24>>2];j=N[d+60>>2];q=N[d+44>>2];r=N[d+36>>2];s=N[d+40>>2];t=N[d+4>>2];e=N[a+324>>2];f=N[a+316>>2];g=N[a+320>>2];J[b+12>>2]=0;N[b+8>>2]=Q(j+Q(Q(e*q)+Q(Q(f*r)+Q(g*s))))-j;N[b+4>>2]=Q(i+Q(Q(e*n)+Q(Q(f*o)+Q(g*p))))-i;N[b>>2]=Q(h+Q(Q(e*l)+Q(Q(f*t)+Q(g*m))))-h;xe((P(k,84)+a|0)+48|0,b+80|0,b+32|0,b+16|0,b,u,c+456|0,N[c+404>>2],d+456|0,N[d+404>>2]);J[v>>2]=0;k=k+1|0;if((k|0)!=3){continue}break}ta=b+144|0}function qn(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=Q(0),h=Q(0),i=Q(0),j=Q(0),k=Q(0),l=Q(0),m=Q(0),n=Q(0),o=Q(0),p=Q(0),q=Q(0),r=0,s=Q(0),t=Q(0),u=Q(0),v=Q(0),w=Q(0),x=Q(0),y=Q(0),z=Q(0),A=Q(0),B=Q(0),C=Q(0),D=0,E=Q(0),F=Q(0),G=Q(0),H=0,I=Q(0),L=Q(0),M=Q(0),O=Q(0),R=0;D=J[a+52>>2];if((D|0)<=0){return Q(Q(1))}f=K[a+68|0];H=f?b:c;b=f?c:b;I=N[b- -64>>2];E=N[b+60>>2];F=N[b+56>>2];G=N[b+52>>2];L=N[b+48>>2];h=N[b+44>>2];i=N[b+40>>2];j=N[b+36>>2];M=N[b+32>>2];k=N[b+28>>2];l=N[b+24>>2];m=N[b+20>>2];O=N[b+16>>2];n=N[b+12>>2];o=N[b+8>>2];r=J[b+304>>2];p=N[b+4>>2];R=J[b+192>>2];q=Q(1);f=0;while(1){c=J[R+32>>2]+P(f,80)|0;g=N[c+56>>2];s=N[c+52>>2];t=N[c+48>>2];u=N[c+36>>2];v=N[c+20>>2];w=N[c+4>>2];x=N[c+40>>2];y=N[c+24>>2];z=N[c+8>>2];A=N[c+32>>2];B=N[c>>2];C=N[c+16>>2];J[b+64>>2]=0;J[b+48>>2]=0;J[b+32>>2]=0;J[b+16>>2]=0;J[b+304>>2]=r+1;N[b+36>>2]=Q(A*h)+Q(Q(B*j)+Q(i*C));N[b+20>>2]=Q(A*k)+Q(Q(B*m)+Q(l*C));N[b+4>>2]=Q(A*n)+Q(Q(B*p)+Q(o*C));N[b+44>>2]=Q(x*h)+Q(Q(z*j)+Q(i*y));N[b+40>>2]=Q(u*h)+Q(Q(w*j)+Q(i*v));N[b+28>>2]=Q(x*k)+Q(Q(z*m)+Q(l*y));N[b+24>>2]=Q(u*k)+Q(Q(w*m)+Q(l*v));N[b+12>>2]=Q(x*n)+Q(Q(z*p)+Q(o*y));N[b+8>>2]=Q(u*n)+Q(Q(w*p)+Q(o*v));N[b+60>>2]=E+Q(Q(g*h)+Q(Q(t*j)+Q(i*s)));N[b+56>>2]=F+Q(Q(g*k)+Q(Q(t*m)+Q(l*s)));N[b+52>>2]=G+Q(Q(g*n)+Q(Q(t*p)+Q(o*s)));c=J[J[a+60>>2]+(f<<2)>>2];g=Q(va[J[J[c>>2]+12>>2]](c,b,H,d,e));N[b+64>>2]=I;N[b+60>>2]=E;N[b+56>>2]=F;N[b+52>>2]=G;N[b+48>>2]=L;N[b+44>>2]=h;N[b+40>>2]=i;N[b+36>>2]=j;N[b+32>>2]=M;N[b+28>>2]=k;N[b+24>>2]=l;N[b+20>>2]=m;N[b+16>>2]=O;N[b+12>>2]=n;N[b+8>>2]=o;N[b+4>>2]=p;r=J[b+304>>2]+1|0;J[b+304>>2]=r;q=g>2];k=N[a+120>>2];t=N[c+8>>2];l=N[c+4>>2];m=N[c>>2];n=N[a+116>>2];c=0;J[e+108>>2]=0;u=N[d+8>>2];v=N[d>>2];w=N[d+4>>2];J[e+92>>2]=0;q=m;m=Q(Q(1)/n);n=N[a+56>>2];N[e+96>>2]=Q(q*m)+n;q=l;l=Q(Q(1)/k);s=N[a+60>>2];N[e+100>>2]=Q(q*l)+s;k=N[a- -64>>2];N[e+84>>2]=s+Q(l*w);N[e+80>>2]=n+Q(m*v);j=Q(Q(1)/j);N[e+88>>2]=k+Q(u*j);N[e+104>>2]=k+Q(j*t);jf(a,e+68|0,e+96|0);jf(a,e+56|0,e+80|0);while(1){d=c<<2;f=d+(e+68|0)|0;J[f>>2]=J[f>>2]-1;d=d+(e+56|0)|0;J[d>>2]=J[d>>2]+1;c=c+1|0;if((c|0)!=3){continue}break}g=J[a+76>>2]-1|0;h=J[a+72>>2]-1|0;f=0;a:{b:{switch(J[a+112>>2]){case 0:c=J[e+64>>2];g=(c|0)<(g|0)?c:g;c=J[e+76>>2];f=(c|0)>0?c:0;c=J[e+60>>2];h=(c|0)<(h|0)?c:h;c=J[e+72>>2];o=(c|0)>0?c:0;break a;case 1:c=J[e+64>>2];g=(c|0)<(g|0)?c:g;c=J[e+76>>2];f=(c|0)>0?c:0;c=J[e+56>>2];h=(c|0)<(h|0)?c:h;c=J[e+68>>2];o=(c|0)>0?c:0;break a;case 2:break b;default:break a}}c=J[e+60>>2];g=(c|0)<(g|0)?c:g;c=J[e+72>>2];f=(c|0)>0?c:0;c=J[e+56>>2];h=(c|0)<(h|0)?c:h;c=J[e+68>>2];o=(c|0)>0?c:0}if((f|0)<(g|0)){p=e+32|0;r=e+16|0;while(1){if((h|0)<=(o|0)){c=f+1|0}else{i=f+1|0;x=f&1;c=o;while(1){c:{if(!(!(K[a+108|0]|(c+f&1?0:K[a+109|0]))&(!K[a+110|0]|x))){eb(a,c,f,e);eb(a,c,i,r);d=c+1|0;eb(a,d,i,p);va[J[J[b>>2]+8>>2]](b,e,c,f);eb(a,d,i,r);eb(a,d,f,p);break c}eb(a,c,f,e);eb(a,c,i,r);d=c+1|0;eb(a,d,f,p);va[J[J[b>>2]+8>>2]](b,e,c,f);eb(a,d,f,e);eb(a,d,i,p)}va[J[J[b>>2]+8>>2]](b,e,c,f);c=d;if((h|0)!=(c|0)){continue}break}c=i}f=c;if((g|0)!=(f|0)){continue}break}}ta=e+112|0}function Ep(a,b,c,d,e){a=a|0;b=b|0;c=Q(c);d=d|0;e=e|0;var f=0,g=Q(0),h=Q(0),i=Q(0),j=Q(0),k=Q(0),l=Q(0),m=Q(0),n=Q(0),o=Q(0),p=Q(0),q=Q(0),r=Q(0),s=Q(0),t=Q(0),u=Q(0),v=Q(0),w=Q(0),x=Q(0),y=Q(0),z=Q(0),A=Q(0),B=Q(0),C=Q(0);f=ta-32|0;ta=f;g=N[b+4>>2];k=N[b>>2];j=N[b+8>>2];a:{if(Q(R(j))>Q(.7071067690849304)){h=Q(Q(g*g)+Q(j*j));i=Q(Q(1)/Q(Y(h)));m=Q(h*i);n=Q(g*i);h=Q(n*Q(100));l=Q(i*Q(-j));o=Q(k*l);n=Q(n*Q(-k));i=Q(0);break a}i=Q(Q(k*k)+Q(g*g));h=Q(Q(1)/Q(Y(i)));o=Q(i*h);m=Q(h*Q(-g));i=Q(m*Q(100));n=Q(j*m);l=Q(k*h);m=Q(l*Q(-j));h=Q(0)}p=N[d+52>>2];q=N[d+20>>2];r=N[d+24>>2];s=N[d+56>>2];t=N[d+36>>2];u=N[d+40>>2];v=N[d+48>>2];w=N[d+8>>2];x=N[d>>2];y=N[d+4>>2];z=N[d+16>>2];C=N[d+32>>2];J[f+28>>2]=0;j=Q(j*c);A=Q(j+h);k=Q(k*c);B=Q(k+i);c=Q(g*c);l=Q(l*Q(100));g=Q(c+l);N[f+24>>2]=s+Q(Q(u*A)+Q(Q(C*B)+Q(t*g)));N[f+20>>2]=p+Q(Q(A*r)+Q(Q(B*z)+Q(g*q)));N[f+16>>2]=v+Q(Q(A*w)+Q(Q(B*x)+Q(g*y)));J[f+12>>2]=0;g=Q(j-h);i=Q(k-i);h=Q(c-l);N[f+8>>2]=s+Q(Q(u*g)+Q(Q(C*i)+Q(t*h)));N[f+4>>2]=p+Q(Q(g*r)+Q(Q(i*z)+Q(h*q)));N[f>>2]=v+Q(Q(g*w)+Q(Q(i*x)+Q(h*y)));b=f+16|0;va[J[J[a>>2]+16>>2]](a,b,f,e);g=N[d+52>>2];i=N[d+24>>2];h=N[d+20>>2];l=N[d+56>>2];p=N[d+40>>2];q=N[d+36>>2];r=N[d+48>>2];s=N[d+8>>2];t=N[d>>2];u=N[d+4>>2];v=N[d+16>>2];w=N[d+32>>2];J[f+28>>2]=0;x=Q(o*Q(100));o=Q(j+x);y=Q(m*Q(100));m=Q(k+y);z=Q(n*Q(100));n=Q(c+z);N[f+24>>2]=l+Q(Q(p*o)+Q(Q(w*m)+Q(q*n)));N[f+20>>2]=g+Q(Q(o*i)+Q(Q(m*v)+Q(n*h)));N[f+16>>2]=r+Q(Q(o*s)+Q(Q(m*t)+Q(n*u)));J[f+12>>2]=0;j=Q(j-x);k=Q(k-y);c=Q(c-z);N[f+8>>2]=l+Q(Q(p*j)+Q(Q(w*k)+Q(q*c)));N[f+4>>2]=g+Q(Q(j*i)+Q(Q(k*v)+Q(c*h)));N[f>>2]=r+Q(Q(j*s)+Q(Q(k*t)+Q(c*u)));va[J[J[a>>2]+16>>2]](a,b,f,e);ta=f+32|0}function In(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=Q(0),h=Q(0),i=0,j=0,k=Q(0),l=0,m=0,n=Q(0),o=0,p=0;i=ta-144|0;ta=i;Na(7480);g=N[b>>2];h=N[b+16>>2];n=g>2];a:{if(N[a+20>>2]<(k>n?n:k)){break a}e=g>h;if(N[(k<(e?g:h)?!e<<4:32)+b>>2]>2]){break a}g=N[b+8>>2];e=b+24|0;h=N[e>>2];n=g>2];if(N[a+28>>2]<(k>n?n:k)){break a}l=e;e=g>h;if(N[(k<(e?g:h)?e?b+8|0:l:j)>>2]>2]){break a}g=N[b+4>>2];e=b+20|0;h=N[e>>2];n=g>2];if(N[a+24>>2]<(k>n?n:k)){break a}l=e;e=g>h;if(J[J[J[a+36>>2]+4>>2]+4>>2]>19|N[(k<(e?g:h)?e?b+4|0:l:j)>>2]>2]){break a}j=J[a+48>>2];e=ec(i+28|0);J[e+4>>2]=1;J[e>>2]=15848;f=J[b+12>>2];J[e+72>>2]=J[b+8>>2];J[e+76>>2]=f;f=J[b+4>>2];J[e+64>>2]=J[b>>2];J[e+68>>2]=f;f=b+16|0;m=J[f+12>>2];J[e+88>>2]=J[f+8>>2];J[e+92>>2]=m;f=J[b+20>>2];J[e+80>>2]=J[b+16>>2];J[e+84>>2]=f;f=b+32|0;m=J[f+12>>2];J[e+104>>2]=J[f+8>>2];J[e+108>>2]=m;f=J[b+36>>2];J[e+96>>2]=J[b+32>>2];J[e+100>>2]=f;N[e+52>>2]=N[a+56>>2];b=J[a+40>>2];f=J[b+12>>2];m=J[b+8>>2];J[i+24>>2]=d;J[i+20>>2]=c;J[i+12>>2]=m;J[i+16>>2]=f;J[i+8>>2]=e;J[i+4>>2]=b;b=J[a+36>>2];b:{if(N[J[a+44>>2]+32>>2]>Q(0)){b=va[J[J[j>>2]+8>>2]](j,b,i+4|0,0,2)|0;break b}b=va[J[J[j>>2]+8>>2]](j,b,i+4|0,J[a+64>>2],1)|0}f=J[a+44>>2];m=J[f+8>>2];c:{if(J[m+8>>2]==J[J[a+40>>2]+8>>2]){l=f+8|0;o=2;break c}m=J[f+12>>2];l=f+12|0;o=3}p=l;l=i+4|0;J[p>>2]=l;va[J[J[f>>2]+(o<<2)>>2]](f,c,d);va[J[J[b>>2]+8>>2]](b,J[a+36>>2],l,J[a+52>>2],J[a+44>>2]);c=J[a+44>>2];J[(J[J[c+8>>2]+8>>2]==J[J[a+40>>2]+8>>2]?8:12)+c>>2]=m;va[J[J[b>>2]>>2]](b)|0;va[J[J[j>>2]+60>>2]](j,b);Hb(e)}Ma();ta=i+144|0}function Aj(a,b){a=a|0;b=b|0;var c=Q(0),d=0,e=Q(0),f=0,g=0,h=Q(0),i=Q(0),j=Q(0);Lc(a,J[a+28>>2]+4|0,J[a+32>>2]+4|0);J[b>>2]=0;J[b+4>>2]=0;while(1){d=2;a:{switch(J[((f<<2)+a|0)+956>>2]){default:d=1;case 4:g=d+g|0;J[b>>2]=g;break;case 0:break a}}d=a+f|0;if(K[d+792|0]){g=g+1|0;J[b>>2]=g}if(K[d+798|0]){g=g+1|0;J[b>>2]=g}f=f+1|0;if((f|0)!=3){continue}break}f=0;while(1){e=N[((f<<2)+a|0)+1364>>2];d=P(f,88)+a|0;h=N[d+968>>2];i=N[d+972>>2];b:{if(h>=i){break b}if(eQ(3.1415927410125732))){break c}c=Q(c+Q(-6.2831854820251465))}j=Q(R(c));c=Za(Q(i-e));d:{if(cQ(3.1415927410125732))){break d}c=Q(c+Q(-6.2831854820251465))}e=ji)){break b}c=Za(Q(e-i));e:{if(cQ(3.1415927410125732))){break e}c=Q(c+Q(-6.2831854820251465))}j=Q(R(c));c=Za(Q(e-h));f:{if(cQ(3.1415927410125732))){break f}c=Q(c+Q(-6.2831854820251465))}e=j>Q(R(c))?Q(e+Q(-6.2831854820251465)):e}N[d+1048>>2]=e;d=d+1040|0;g:{if(h>i){J[(P(f,88)+a|0)+1052>>2]=0;J[d>>2]=0;break g}N[d>>2]=e-h;if(h==i){J[(P(f,88)+a|0)+1052>>2]=3;break g}d=P(f,88)+a|0;J[d+1052>>2]=4;N[d+1044>>2]=e-i}d=2;h:{i:{j:{g=P(f,88)+a|0;switch(J[g+1052>>2]){case 0:break h;case 4:break i;default:break j}}d=1}J[b>>2]=J[b>>2]+d}if(K[g+996|0]){J[b>>2]=J[b>>2]+1}if(K[g+1016|0]){J[b>>2]=J[b>>2]+1}f=f+1|0;if((f|0)!=3){continue}break}}function Pc(a,b){var c=0,d=0,e=0;a:{b:{c:{d:{e:{c=J[a>>2];f:{if((c|0)>=4){if(K[b|0]&8){e=c;break f}e=c-1|0;J[a>>2]=e;d=(e<<4)+a|0;c=J[d+16>>2];J[a+60>>2]=J[d+12>>2];J[a+64>>2]=c;c=J[d+8>>2];J[a+52>>2]=J[d+4>>2];J[a+56>>2]=c;c=J[d+88>>2];J[a+132>>2]=J[d+84>>2];J[a+136>>2]=c;c=J[d+96>>2];J[a+140>>2]=J[d+92>>2];J[a+144>>2]=c;c=J[d+176>>2];J[a+220>>2]=J[d+172>>2];J[a+224>>2]=c;c=J[d+168>>2];J[a+212>>2]=J[d+164>>2];J[a+216>>2]=c;break f}e=3;if((c|0)!=3){break e}}if(K[b|0]&4){break d}e=e-1|0;J[a>>2]=e;d=(e<<4)+a|0;c=J[d+16>>2];J[a+44>>2]=J[d+12>>2];J[a+48>>2]=c;c=J[d+8>>2];J[a+36>>2]=J[d+4>>2];J[a+40>>2]=c;c=J[d+88>>2];J[a+116>>2]=J[d+84>>2];J[a+120>>2]=c;c=J[d+96>>2];J[a+124>>2]=J[d+92>>2];J[a+128>>2]=c;c=J[d+176>>2];J[a+204>>2]=J[d+172>>2];J[a+208>>2]=c;c=J[d+168>>2];J[a+196>>2]=J[d+164>>2];J[a+200>>2]=c;break d}e=2;if((c|0)<2){break c}}if(K[b|0]&2){break b}e=e-1|0;J[a>>2]=e;d=(e<<4)+a|0;c=J[d+16>>2];J[a+28>>2]=J[d+12>>2];J[a+32>>2]=c;c=J[d+8>>2];J[a+20>>2]=J[d+4>>2];J[a+24>>2]=c;c=J[d+88>>2];J[a+100>>2]=J[d+84>>2];J[a+104>>2]=c;c=J[d+96>>2];J[a+108>>2]=J[d+92>>2];J[a+112>>2]=c;c=J[d+176>>2];J[a+188>>2]=J[d+172>>2];J[a+192>>2]=c;c=J[d+168>>2];J[a+180>>2]=J[d+164>>2];J[a+184>>2]=c;break b}e=1;if((c|0)!=1){break a}}if(H[b|0]&1){break a}b=e-1|0;J[a>>2]=b;c=b<<4;e=c+(a+4|0)|0;b=J[e+4>>2];J[a+4>>2]=J[e>>2];J[a+8>>2]=b;b=J[e+12>>2];J[a+12>>2]=J[e+8>>2];J[a+16>>2]=b;e=c+(a+84|0)|0;b=J[e+4>>2];J[a+84>>2]=J[e>>2];J[a+88>>2]=b;b=J[e+12>>2];J[a+92>>2]=J[e+8>>2];J[a+96>>2]=b;c=c+(a+164|0)|0;b=J[c+12>>2];J[a+172>>2]=J[c+8>>2];J[a+176>>2]=b;b=J[c+4>>2];J[a+164>>2]=J[c>>2];J[a+168>>2]=b}}function Rn(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=Q(0),g=Q(0),h=Q(0),i=0,j=0,k=0,l=Q(0),m=0;a=ta-624|0;ta=a;g=Q(N[b+124>>2]-N[b+60>>2]);h=Q(g*g);g=Q(N[b+116>>2]-N[b+52>>2]);f=Q(g*g);g=Q(N[b+120>>2]-N[b+56>>2]);f=Q(h+Q(f+Q(g*g)));g=N[b+276>>2];a:{b:{if(f>2]-N[c+60>>2]);l=Q(f*f);f=Q(N[c+116>>2]-N[c+52>>2]);h=Q(f*f);f=Q(N[c+120>>2]-N[c+56>>2]);h=Q(l+Q(h+Q(f*f)));f=N[c+276>>2];if(h>2];g=N[c+272>>2];d=_a(a+564|0);J[d+32>>2]=0;J[d+36>>2]=0;J[d+20>>2]=1065353216;J[d+24>>2]=1065353216;J[d+4>>2]=8;J[d>>2]=21412;J[d+56>>2]=0;N[d+52>>2]=g;J[d+28>>2]=1065353216;J[d+40>>2]=0;J[d+44>>2]=0;J[d+48>>2]=0;N[d+36>>2]=g;J[a+560>>2]=0;J[a+552>>2]=1566444395;J[a+556>>2]=0;J[a+388>>2]=13172;H[a+360|0]=0;J[a+336>>2]=953267991;d=Wc(a+12|0,e,d,a+28|0);e=b+4|0;i=b+68|0;j=c+4|0;k=c+68|0;g=Q(1);c:{if(!Vc(d,e,i,j,k,a+388|0)){break c}f=N[a+552>>2];if(f>2]){N[b+268>>2]=f}if(f>2]){N[c+268>>2]=f}g=Q(1);if(!(f>2];f=N[b+272>>2];d=_a(a+564|0);J[d+32>>2]=0;J[d+36>>2]=0;J[d+20>>2]=1065353216;J[d+24>>2]=1065353216;J[d+4>>2]=8;J[d>>2]=21412;J[d+56>>2]=0;N[d+52>>2]=f;J[d+28>>2]=1065353216;J[d+40>>2]=0;J[d+44>>2]=0;J[d+48>>2]=0;N[d+36>>2]=f;J[a+560>>2]=0;J[a+552>>2]=1566444395;J[a+556>>2]=0;J[a+388>>2]=13172;H[a+360|0]=0;J[a+336>>2]=953267991;d:{if(!Vc(Wc(a+12|0,d,m,a+28|0),e,i,j,k,a+388|0)){break d}f=N[a+552>>2];if(f>2]){N[b+268>>2]=f}if(f>2]){N[c+268>>2]=f}if(!(f>2]=14676;g=J[b+4>>2];J[e+36>>2]=J[b>>2];J[e+40>>2]=g;g=J[b+12>>2];J[e+44>>2]=J[b+8>>2];J[e+48>>2]=g;g=J[c+4>>2];J[e+52>>2]=J[c>>2];J[e+56>>2]=g;g=J[c+12>>2];J[e+60>>2]=J[c+8>>2];J[e+64>>2]=g;J[e+216>>2]=d;J[e+212>>2]=a;J[e+72>>2]=0;J[e+76>>2]=0;J[e+68>>2]=1065353216;J[e+80>>2]=0;J[e+84>>2]=0;J[e+92>>2]=0;J[e+96>>2]=0;J[e+88>>2]=1065353216;J[e+100>>2]=0;J[e+104>>2]=0;J[e+108>>2]=1065353216;J[e+112>>2]=0;J[e+132>>2]=1065353216;d=J[e+48>>2];J[e+124>>2]=J[e+44>>2];J[e+128>>2]=d;d=J[e+40>>2];J[e+116>>2]=J[e+36>>2];J[e+120>>2]=d;J[e+144>>2]=0;J[e+148>>2]=0;J[e+136>>2]=0;J[e+140>>2]=0;J[e+152>>2]=1065353216;J[e+164>>2]=0;J[e+168>>2]=0;J[e+156>>2]=0;J[e+160>>2]=0;J[e+172>>2]=1065353216;J[e+176>>2]=0;d=J[e+64>>2];J[e+188>>2]=J[e+60>>2];J[e+192>>2]=d;d=J[e+56>>2];J[e+180>>2]=J[e+52>>2];J[e+184>>2]=d;i=Q(N[c+8>>2]-N[b+8>>2]);h=Q(N[c>>2]-N[b>>2]);j=Q(N[c+4>>2]-N[b+4>>2]);k=Q(Q(1)/Q(Y(Q(Q(i*i)+Q(Q(h*h)+Q(j*j))))));l=Q(i*k);n=l==Q(0)?Q(0xde0b6b000000000):Q(Q(1)/l);N[e+12>>2]=n;m=Q(j*k);i=m==Q(0)?Q(0xde0b6b000000000):Q(Q(1)/m);N[e+8>>2]=i;h=Q(h*k);j=h==Q(0)?Q(0xde0b6b000000000):Q(Q(1)/h);N[e+4>>2]=j;J[e+28>>2]=n>2]=i>2]=j>2]=Q(l*Q(N[e+60>>2]-N[e+44>>2]))+Q(Q(h*Q(N[e+52>>2]-N[e+36>>2]))+Q(m*Q(N[e+56>>2]-N[e+40>>2])));a=J[a+68>>2];J[f+24>>2]=0;J[f+28>>2]=0;J[f+16>>2]=0;J[f+20>>2]=0;J[f+8>>2]=0;J[f+12>>2]=0;J[f>>2]=0;J[f+4>>2]=0;va[J[J[a>>2]+24>>2]](a,b,c,e,f+16|0,f);ta=f+256|0}function Ij(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=Q(0),f=Q(0),g=Q(0),h=Q(0),i=0,j=Q(0),k=Q(0),l=Q(0),m=Q(0),n=Q(0),o=Q(0),p=Q(0),q=Q(0),r=Q(0),s=Q(0),t=Q(0),u=Q(0),v=Q(0),w=Q(0),x=Q(0),y=Q(0),z=Q(0),A=0,B=Q(0);i=ta-32|0;ta=i;h=N[b+20>>2];r=N[b+36>>2];s=N[b+24>>2];x=N[b+40>>2];j=N[b+4>>2];t=N[b+32>>2];o=N[b+8>>2];p=N[b>>2];u=N[b+16>>2];J[i+28>>2]=0;g=Q(u-p);k=Q(r-j);e=Q(t-p);l=Q(h-j);f=Q(Q(g*k)-Q(e*l));m=l;l=Q(x-o);n=Q(s-o);k=Q(Q(m*l)-Q(k*n));g=Q(Q(n*e)-Q(l*g));e=Q(Q(o*f)+Q(Q(p*k)+Q(j*g)));v=N[a+12>>2];m=N[a+4>>2];q=N[a+8>>2];l=Q(Q(Q(f*v)+Q(Q(k*m)+Q(g*q)))-e);w=N[a+28>>2];y=N[a+20>>2];z=N[a+24>>2];e=Q(Q(Q(f*w)+Q(Q(k*y)+Q(g*z)))-e);a:{if(Q(l*e)>=Q(0)){break a}b=J[a+36>>2];if(b&1&l<=Q(0)){break a}e=Q(l/Q(l-e));if(!(e>2])){break a}n=Q(Q(1)-e);m=Q(Q(n*m)+Q(y*e));p=Q(p-m);q=Q(Q(n*q)+Q(z*e));h=Q(h-q);u=Q(u-m);j=Q(j-q);n=Q(Q(n*v)+Q(w*e));s=Q(s-n);o=Q(o-n);w=Q(Q(f*f)+Q(Q(k*k)+Q(g*g)));v=Q(w*Q(-9999999747378752e-20));if(!(Q(Q(Q(Q(p*h)-Q(u*j))*f)+Q(Q(Q(Q(j*s)-Q(h*o))*k)+Q(g*Q(Q(o*u)-Q(s*p)))))>=v)){break a}r=Q(r-q);t=Q(t-m);q=Q(Q(Q(u*r)-Q(t*h))*f);m=h;h=Q(x-n);if(!(v<=Q(q+Q(Q(Q(Q(m*h)-Q(r*s))*k)+Q(g*Q(Q(s*t)-Q(h*u))))))|!(v<=Q(Q(Q(Q(t*j)-Q(p*r))*f)+Q(Q(Q(Q(r*o)-Q(j*h))*k)+Q(g*Q(Q(h*p)-Q(o*t))))))){break a}h=f;f=Q(Q(1)/Q(Y(w)));j=Q(h*f);N[i+24>>2]=j;g=Q(g*f);N[i+20>>2]=g;f=Q(k*f);N[i+16>>2]=f;if(!(!(l<=Q(0))|b&2)){J[i+12>>2]=0;N[i+8>>2]=-j;N[i+4>>2]=-g;N[i>>2]=-f;A=a,B=Q(va[J[J[a>>2]+12>>2]](a,i,e,c,d)),N[A+40>>2]=B;break a}A=a,B=Q(va[J[J[a>>2]+12>>2]](a,i+16|0,e,c,d)),N[A+40>>2]=B}ta=i+32|0}function Yd(a){var b=0,c=0,d=0,e=0,f=0,g=0,h=0,i=Q(0),j=Q(0),k=Q(0),l=Q(0),m=Q(0),n=0,o=0,p=0,q=0,r=Q(0),s=Q(0);c=ta+-64|0;ta=c;b=J[a+8>>2];f=J[a+4>>2];d=c+48|0;e=c+32|0;va[J[J[b>>2]+8>>2]](b,f+4|0,d,e);b=J[a+12>>2];g=J[b+68>>2];va[J[J[g>>2]+16>>2]](g,J[J[a+4>>2]+188>>2],d,e,J[b+24>>2]);d=J[a+12>>2];b=J[d+24>>2];va[J[J[b>>2]+32>>2]](b,J[J[a+4>>2]+344>>2],d+28|0,b);J[c+24>>2]=0;J[c+16>>2]=0;J[c+20>>2]=0;H[c+28|0]=1;b=J[J[a+4>>2]+344>>2];a:{if((va[J[J[b>>2]+36>>2]](b)|0)<=0){break a}while(1){b=J[c+16>>2];if((b|0)<0){if(J[c+20>>2]<0){d=J[c+24>>2];if(!(!d|!K[c+28|0])){Fa(d)}H[c+28|0]=1;J[c+20>>2]=0;J[c+24>>2]=0}while(1){J[J[c+24>>2]+(b<<2)>>2]=0;b=b+1|0;if(b){continue}break}}J[c+16>>2]=0;b=J[J[a+4>>2]+344>>2];b=J[(va[J[J[b>>2]+28>>2]](b)|0)+12>>2]+(h<<4)|0;d=J[J[J[b+4>>2]>>2]+188>>2];e=J[J[J[b>>2]>>2]+188>>2];b:{if(!(J[d+8>>2]&J[e+4>>2])|!(J[e+8>>2]&J[d+4>>2])){break b}b=J[b+8>>2];if(b){va[J[J[b>>2]+16>>2]](b,c+12|0)}n=J[c+16>>2];if((n|0)<=0){break b}p=J[a+4>>2];d=0;q=J[c+24>>2];while(1){g=J[(d<<2)+q>>2];o=J[g+844>>2];if((o|0)>0){i=J[g+836>>2]==(p|0)?Q(-1):Q(1);j=N[f+60>>2];k=N[f+56>>2];l=N[f+52>>2];b=0;while(1){e=g+P(b,208)|0;r=N[e+68>>2];s=N[e+72>>2];m=N[e+84>>2];j=Q(Q(m*Q(i*N[e+76>>2]))+j);N[f+60>>2]=j;k=Q(Q(m*Q(i*s))+k);N[f+56>>2]=k;l=Q(Q(m*Q(i*r))+l);N[f+52>>2]=l;b=b+1|0;if((o|0)!=(b|0)){continue}break}}d=d+1|0;if((n|0)!=(d|0)){continue}break}}b=J[J[a+4>>2]+344>>2];h=h+1|0;if((va[J[J[b>>2]+36>>2]](b)|0)>(h|0)){continue}break}a=J[c+24>>2];if(!a|!K[c+28|0]){break a}Fa(a)}ta=c- -64|0}function ug(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=Q(0);g=b+16|0;f=a+4|0;while(1){d=e<<4;i=d+g|0;j=d+f|0;d=0;while(1){h=d<<2;N[h+i>>2]=N[j+h>>2];d=d+1|0;if((d|0)!=4){continue}break}e=e+1|0;if((e|0)!=3){continue}break}e=b- -64|0;g=a+52|0;d=0;while(1){f=d<<2;N[f+e>>2]=N[g+f>>2];d=d+1|0;if((d|0)!=4){continue}break}g=b+80|0;f=a+68|0;e=0;while(1){d=e<<4;i=d+g|0;j=d+f|0;d=0;while(1){h=d<<2;N[h+i>>2]=N[j+h>>2];d=d+1|0;if((d|0)!=4){continue}break}e=e+1|0;if((e|0)!=3){continue}break}e=b+128|0;g=a+116|0;d=0;while(1){f=d<<2;N[f+e>>2]=N[g+f>>2];d=d+1|0;if((d|0)!=4){continue}break}e=b+144|0;g=a+132|0;d=0;while(1){f=d<<2;N[f+e>>2]=N[g+f>>2];d=d+1|0;if((d|0)!=4){continue}break}e=b+160|0;g=a+148|0;d=0;while(1){f=d<<2;N[f+e>>2]=N[g+f>>2];d=d+1|0;if((d|0)!=4){continue}break}e=b+176|0;g=a+164|0;d=0;while(1){f=d<<2;N[f+e>>2]=N[g+f>>2];d=d+1|0;if((d|0)!=4){continue}break}J[b+232>>2]=J[a+180>>2];k=N[a+184>>2];J[b>>2]=0;N[b+192>>2]=k;d=va[J[J[c>>2]+28>>2]](c,J[a+192>>2])|0;J[b+8>>2]=0;J[b+4>>2]=d;J[b+236>>2]=J[a+204>>2];J[b+240>>2]=J[a+208>>2];J[b+244>>2]=J[a+212>>2];J[b+248>>2]=J[a+220>>2];N[b+196>>2]=N[a+224>>2];N[b+200>>2]=N[a+228>>2];N[b+204>>2]=N[a+236>>2];N[b+208>>2]=N[a+244>>2];N[b+212>>2]=N[a+248>>2];N[b+216>>2]=N[a+232>>2];J[b+252>>2]=J[a+252>>2];d=va[J[J[c>>2]+40>>2]](c,a)|0;e=va[J[J[c>>2]+28>>2]](c,d)|0;J[b+12>>2]=e;if(e){va[J[J[c>>2]+48>>2]](c,d)}N[b+220>>2]=N[a+268>>2];N[b+224>>2]=N[a+272>>2];N[b+228>>2]=N[a+276>>2];a=J[a+280>>2];J[b+260>>2]=0;J[b+256>>2]=a;return 8683}function bf(a,b,c,d,e,f,g){var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;i=ta-48|0;ta=i;h=J[c+8>>2];if(h){o=h;while(1){if(J[o+20>>2]>J[a+100>>2]){h=J[o+12>>2];k=J[h+92>>2];m=J[h+96>>2];j=J[c+88>>2];n=J[h+88>>2];l=J[c+92>>2];h=J[c+96>>2];J[i+44>>2]=-1;h=m-h|0;J[i+40>>2]=h;l=k-l|0;J[i+36>>2]=l;k=n-j|0;J[i+32>>2]=k;q=l>>31;m=Ut(l,q,J[e+8>>2],J[e+12>>2]);j=ua;n=k;r=m;s=k>>31;m=Ut(k,s,J[e>>2],J[e+4>>2]);k=r+m|0;j=ua+j|0;j=k>>>0>>0?j+1|0:j;r=h>>31;t=Ut(h,r,J[e+16>>2],J[e+20>>2]);m=t+k|0;k=ua+j|0;k=m>>>0>>0?k+1|0:k;j=Ut(J[f+8>>2],J[f+12>>2],l,q);q=ua;n=Ut(J[f>>2],J[f+4>>2],n,s);l=n+j|0;j=ua+q|0;j=l>>>0>>0?j+1|0:j;n=l;l=Ut(J[f+16>>2],J[f+20>>2],h,r);h=n+l|0;j=ua+j|0;j=h>>>0>>0?j+1|0:j;a:{if(!!h&(j|0)>=0|(j|0)>0){J[i+24>>2]=1;n=-1;l=0;break a}if((j|0)<0){J[i+24>>2]=-1;l=h;h=0-h|0;j=0-(((l|0)!=0)+j|0)|0;n=1;l=0;break a}n=0;J[i+24>>2]=0;h=0;j=0;l=1}J[i+8>>2]=h;J[i+12>>2]=j;b:{c:{d:{if(!m&(k|0)<=0|(k|0)<0){if((k|0)>0|(k|0)>=0){break d}J[i+24>>2]=n;k=0-(((m|0)!=0)+k|0)|0;m=0-m|0}J[i+16>>2]=m;J[i+20>>2]=k;break c}J[i+16>>2]=0;J[i+20>>2]=0;if(l){break b}}if(!p){h=J[i+12>>2];J[g>>2]=J[i+8>>2];J[g+4>>2]=h;J[g+16>>2]=J[i+24>>2];h=J[i+20>>2];J[g+8>>2]=J[i+16>>2];J[g+12>>2]=h;p=o;break b}h=wb(i+8|0,g);if((h|0)<0){h=J[i+12>>2];J[g>>2]=J[i+8>>2];J[g+4>>2]=h;J[g+16>>2]=J[i+24>>2];h=J[i+20>>2];J[g+8>>2]=J[i+16>>2];J[g+12>>2]=h;p=o;break b}if(h){break b}p=(bd(p,o,d,i+32|0)|0)!=2^b?o:p}h=J[c+8>>2]}o=J[o>>2];if((o|0)!=(h|0)){continue}break}}ta=i+48|0;return p}function nk(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;a:{b:{c:{switch(J[a+100>>2]-2|0){case 0:b=J[a+108>>2];J[c>>2]=J[a+104>>2];J[c+4>>2]=b;b=J[a+116>>2];J[c+8>>2]=J[a+112>>2];J[c+12>>2]=b;a=a+120|0;break b;case 1:d:{switch(b|0){case 0:b=J[a+108>>2];J[c>>2]=J[a+104>>2];J[c+4>>2]=b;b=J[a+116>>2];J[c+8>>2]=J[a+112>>2];J[c+12>>2]=b;a=a+120|0;break b;case 1:b=J[a+132>>2];J[c+8>>2]=J[a+128>>2];J[c+12>>2]=b;b=J[a+124>>2];J[c>>2]=J[a+120>>2];J[c+4>>2]=b;a=a+136|0;break b;case 2:break d;default:break a}}b=J[a+148>>2];J[c+8>>2]=J[a+144>>2];J[c+12>>2]=b;b=J[a+140>>2];J[c>>2]=J[a+136>>2];J[c+4>>2]=b;a=a+104|0;break b;case 2:break c;default:break a}}e:{switch(b|0){case 0:b=J[a+108>>2];J[c>>2]=J[a+104>>2];J[c+4>>2]=b;b=J[a+116>>2];J[c+8>>2]=J[a+112>>2];J[c+12>>2]=b;a=a+120|0;break b;case 1:b=J[a+132>>2];J[c+8>>2]=J[a+128>>2];J[c+12>>2]=b;b=J[a+124>>2];J[c>>2]=J[a+120>>2];J[c+4>>2]=b;a=a+136|0;break b;case 2:b=J[a+148>>2];J[c+8>>2]=J[a+144>>2];J[c+12>>2]=b;b=J[a+140>>2];J[c>>2]=J[a+136>>2];J[c+4>>2]=b;a=a+104|0;break b;case 3:b=J[a+108>>2];J[c>>2]=J[a+104>>2];J[c+4>>2]=b;b=J[a+116>>2];J[c+8>>2]=J[a+112>>2];J[c+12>>2]=b;a=a+152|0;break b;case 4:b=J[a+132>>2];J[c+8>>2]=J[a+128>>2];J[c+12>>2]=b;b=J[a+124>>2];J[c>>2]=J[a+120>>2];J[c+4>>2]=b;a=a+152|0;break b;case 5:break e;default:break a}}b=J[a+148>>2];J[c+8>>2]=J[a+144>>2];J[c+12>>2]=b;b=J[a+140>>2];J[c>>2]=J[a+136>>2];J[c+4>>2]=b;a=a+152|0}b=J[a+4>>2];J[d>>2]=J[a>>2];J[d+4>>2]=b;b=J[a+12>>2];J[d+8>>2]=J[a+8>>2];J[d+12>>2]=b}}function Ro(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;J[9102]=J[9102]+1;e=J[b+12>>2]>J[c+12>>2];h=e?b:c;f=J[h+12>>2];i=e?c:b;g=J[i+12>>2];b=f<<16|g;b=(b<<15^-1)+b|0;b=P(b>>>10^b,9);b=b>>>6^b;b=(b<<11^-1)+b|0;j=J[a+12>>2]-1&(b>>>16^b);c=J[J[a+40>>2]+(j<<2)>>2];a:{if((c|0)==-1){break a}k=J[a+60>>2];e=J[a+16>>2];while(1){b=e+(c<<4)|0;if(!((g|0)==J[J[b>>2]+12>>2]&(f|0)==J[J[b+4>>2]+12>>2])){c=J[(c<<2)+k>>2];if((c|0)!=-1){continue}break a}break}va[J[J[a>>2]+32>>2]](a,b,d);l=J[(e+(c<<4)|0)+12>>2];b:{c:{f=J[a+40>>2]+(j<<2)|0;c=J[f>>2];e=b-J[a+16>>2]>>4;if((c|0)==(e|0)){break c}g=J[a+60>>2];while(1){b=c;c=J[g+(b<<2)>>2];if((e|0)!=(c|0)){continue}break}if((b|0)==-1){break c}c=b<<2;b=J[a+60>>2];J[c+b>>2]=J[b+(e<<2)>>2];break b}J[f>>2]=J[J[a+60>>2]+(e<<2)>>2]}f=J[a+8>>2]-1|0;b=J[a+68>>2];if(b){va[J[J[b>>2]+12>>2]](b,i,h,d)|0}if((e|0)!=(f|0)){d:{e:{h=J[a+16>>2];d=h+(f<<4)|0;b=J[J[d+4>>2]+12>>2]<<16|J[J[d>>2]+12>>2];b=(b<<15^-1)+b|0;b=P(b>>>10^b,9);b=b>>>6^b;b=(b<<11^-1)+b|0;i=J[a+12>>2]-1&(b>>>16^b);g=J[a+40>>2]+(i<<2)|0;c=J[g>>2];if((f|0)==(c|0)){break e}j=J[a+60>>2];while(1){b=c;c=J[j+(b<<2)>>2];if((f|0)!=(c|0)){continue}break}if((b|0)==-1){break e}c=b<<2;b=J[a+60>>2];J[c+b>>2]=J[b+(f<<2)>>2];break d}J[g>>2]=J[J[a+60>>2]+(f<<2)>>2]}c=J[d+4>>2];b=h+(e<<4)|0;J[b>>2]=J[d>>2];J[b+4>>2]=c;c=J[d+12>>2];J[b+8>>2]=J[d+8>>2];J[b+12>>2]=c;b=J[a+40>>2]+(i<<2)|0;J[J[a+60>>2]+(e<<2)>>2]=J[b>>2];J[b>>2]=e}J[a+8>>2]=J[a+8>>2]-1}return l|0}function ji(a,b){a=a|0;b=Q(b);var c=0,d=Q(0),e=Q(0),f=Q(0),g=Q(0),h=Q(0),i=Q(0),j=Q(0),k=Q(0),l=0,m=0,n=0,o=Q(0);n=ta-16|0;ta=n;Na(5592);l=J[a+248>>2];if((l|0)>0){while(1){c=J[J[a+256>>2]+(m<<2)>>2];if(!(K[c+204|0]&3)){d=N[c+372>>2];k=N[c+504>>2];e=uh(Q(Q(1)-k),b);d=Q(d*e);N[c+372>>2]=d;h=Q(e*N[c+376>>2]);N[c+376>>2]=h;e=Q(e*N[c+380>>2]);N[c+380>>2]=e;g=N[c+388>>2];o=N[c+508>>2];f=uh(Q(Q(1)-o),b);g=Q(g*f);N[c+388>>2]=g;i=Q(f*N[c+392>>2]);N[c+392>>2]=i;f=Q(f*N[c+396>>2]);N[c+396>>2]=f;a:{if(!K[c+512|0]){break a}if(!(!(N[c+524>>2]>Q(Q(f*f)+Q(Q(g*g)+Q(i*i))))|!(N[c+520>>2]>Q(Q(e*e)+Q(Q(d*d)+Q(h*h)))))){j=N[c+516>>2];f=Q(f*j);N[c+396>>2]=f;i=Q(i*j);N[c+392>>2]=i;g=Q(g*j);N[c+388>>2]=g;e=Q(e*j);N[c+380>>2]=e;h=Q(h*j);N[c+376>>2]=h;d=Q(d*j);N[c+372>>2]=d}j=Q(Y(Q(Q(e*e)+Q(Q(d*d)+Q(h*h)))));b:{if(!(jQ(.004999999888241291)){k=e;e=Q(Q(1)/j);N[c+380>>2]=k-Q(Q(k*e)*Q(.004999999888241291));N[c+376>>2]=h-Q(Q(h*e)*Q(.004999999888241291));N[c+372>>2]=d-Q(Q(d*e)*Q(.004999999888241291));break b}J[c+372>>2]=0;J[c+376>>2]=0;J[c+380>>2]=0;J[c+384>>2]=0}d=Q(Y(Q(Q(f*f)+Q(Q(g*g)+Q(i*i)))));if(!(dQ(.004999999888241291)){d=Q(Q(1)/d);N[c+396>>2]=f-Q(Q(f*d)*Q(.004999999888241291));N[c+392>>2]=i-Q(Q(i*d)*Q(.004999999888241291));N[c+388>>2]=g-Q(Q(g*d)*Q(.004999999888241291));break a}J[c+388>>2]=0;J[c+392>>2]=0;J[c+396>>2]=0;J[c+400>>2]=0}Db(c,b,c+68|0);l=J[a+248>>2]}m=m+1|0;if((m|0)<(l|0)){continue}break}}Ma();ta=n+16|0}function Fb(a,b,c,d,e){var f=0,g=0,h=Q(0),i=Q(0),j=Q(0),k=Q(0),l=Q(0),m=Q(0),n=Q(0),o=Q(0),p=0,q=Q(0);a:{f=J[a+18504>>2];if(f){g=J[f+48>>2];if(g){J[g+44>>2]=J[f+44>>2]}g=J[f+44>>2];if(g){J[g+48>>2]=J[f+48>>2]}if(J[a+18504>>2]==(f|0)){J[a+18504>>2]=J[f+48>>2]}g=a+18508|0;J[g>>2]=J[g>>2]-1;J[f+44>>2]=0;J[f+48>>2]=J[a+18496>>2];g=J[a+18496>>2];if(g){J[g+44>>2]=f}J[a+18496>>2]=f;g=a+18500|0;J[g>>2]=J[g>>2]+1;J[f+28>>2]=d;J[f+24>>2]=c;J[f+20>>2]=b;H[f+55|0]=0;k=N[c+24>>2];q=N[d+24>>2];h=N[b+24>>2];l=N[d+20>>2];j=N[b+20>>2];m=N[c+20>>2];n=N[c+16>>2];o=N[d+16>>2];i=N[b+16>>2];J[f+12>>2]=0;n=Q(n-i);l=Q(l-j);i=Q(o-i);m=Q(m-j);j=Q(Q(n*l)-Q(i*m));N[f+8>>2]=j;k=Q(k-h);o=Q(k*i);i=Q(q-h);h=Q(o-Q(i*n));N[f+4>>2]=h;i=Q(Q(m*i)-Q(l*k));N[f>>2]=i;p=2;h=Q(Y(Q(Q(j*j)+Q(Q(i*i)+Q(h*h)))));if(h>Q(9999999747378752e-20)){g=f+16|0;b:{if(Sc(f,b,c,g)){break b}if(Sc(f,c,d,g)){break b}if(Sc(f,d,b,g)){break b}N[f+16>>2]=Q(Q(N[b+24>>2]*N[f+8>>2])+Q(Q(N[b+16>>2]*N[f>>2])+Q(N[b+20>>2]*N[f+4>>2])))/h}h=Q(Q(1)/h);N[f>>2]=h*N[f>>2];N[f+4>>2]=h*N[f+4>>2];N[f+8>>2]=h*N[f+8>>2];if(e){break a}p=3;if(N[g>>2]>=Q(-9999999747378752e-21)){break a}}J[a>>2]=p;b=J[f+48>>2];if(b){J[b+44>>2]=J[f+44>>2]}b=J[f+44>>2];if(b){J[b+48>>2]=J[f+48>>2]}if(J[a+18496>>2]==(f|0)){J[a+18496>>2]=J[f+48>>2]}J[a+18500>>2]=J[a+18500>>2]-1;J[f+44>>2]=0;J[f+48>>2]=J[a+18504>>2];b=J[a+18504>>2];if(b){J[b+44>>2]=f}J[a+18504>>2]=f;J[a+18508>>2]=J[a+18508>>2]+1;return 0}J[a>>2]=5;return 0}return f}function Mp(a,b,c){a=a|0;b=b|0;c=Q(c);var d=0,e=0,f=Q(0),g=Q(0),h=Q(0),i=Q(0),j=Q(0),k=Q(0),l=Q(0),m=Q(0),n=Q(0),o=0;d=ta-48|0;ta=d;e=J[b+60>>2];J[d+40>>2]=J[b+56>>2];J[d+44>>2]=e;e=J[b+52>>2];J[d+32>>2]=J[b+48>>2];J[d+36>>2]=e;f=N[b+24>>2];g=N[b+20>>2];h=N[b+40>>2];i=N[b+36>>2];j=N[b+8>>2];k=N[b>>2];l=N[b+4>>2];m=N[b+16>>2];n=N[b+32>>2];J[d+28>>2]=0;N[d+24>>2]=Q(Q(h*Q(0))+Q(Q(n*c)+Q(i*Q(0))))+N[d+40>>2];N[d+20>>2]=Q(Q(f*Q(0))+Q(Q(m*c)+Q(g*Q(0))))+N[d+36>>2];N[d+16>>2]=Q(Q(j*Q(0))+Q(Q(k*c)+Q(l*Q(0))))+N[d+32>>2];J[d+8>>2]=1050253722;J[d+12>>2]=0;J[d>>2]=1065353216;J[d+4>>2]=1050253722;e=d+32|0;o=d+16|0;va[J[J[a>>2]+16>>2]](a,e,o,d);f=N[b+24>>2];g=N[b+20>>2];h=N[b+40>>2];i=N[b+36>>2];j=N[b+8>>2];k=N[b>>2];l=N[b+4>>2];m=N[b+16>>2];n=N[b+32>>2];J[d+28>>2]=0;N[d+24>>2]=Q(Q(h*Q(0))+Q(Q(n*Q(0))+Q(i*c)))+N[d+40>>2];N[d+20>>2]=Q(Q(f*Q(0))+Q(Q(m*Q(0))+Q(g*c)))+N[d+36>>2];N[d+16>>2]=Q(Q(j*Q(0))+Q(Q(k*Q(0))+Q(l*c)))+N[d+32>>2];J[d+8>>2]=1050253722;J[d+12>>2]=0;J[d>>2]=1050253722;J[d+4>>2]=1065353216;va[J[J[a>>2]+16>>2]](a,e,o,d);f=N[b+24>>2];g=N[b+20>>2];h=N[b+40>>2];i=N[b+36>>2];j=N[b+8>>2];k=N[b>>2];l=N[b+4>>2];m=N[b+16>>2];n=N[b+32>>2];J[d+28>>2]=0;N[d+24>>2]=Q(Q(h*c)+Q(Q(n*Q(0))+Q(i*Q(0))))+N[d+40>>2];N[d+20>>2]=Q(Q(f*c)+Q(Q(m*Q(0))+Q(g*Q(0))))+N[d+36>>2];N[d+16>>2]=Q(Q(j*c)+Q(Q(k*Q(0))+Q(l*Q(0))))+N[d+32>>2];J[d+8>>2]=1065353216;J[d+12>>2]=0;J[d>>2]=1050253722;J[d+4>>2]=1050253722;va[J[J[a>>2]+16>>2]](a,e,o,d);ta=d+48|0}function ej(a,b,c){a=a|0;b=b|0;c=c|0;var d=Q(0),e=Q(0),f=Q(0),g=Q(0),h=Q(0),i=Q(0),j=Q(0),k=0;e=N[c+128>>2];a:{if(e==Q(0)){break a}J[9404]=J[9404]+1;d=N[c+96>>2];f=Q(e-Q(d*N[c+116>>2]));g=N[c+24>>2];h=N[c+16>>2];i=N[c+20>>2];e=N[c+108>>2];e=Q(Q(f-Q(Q(Q(Q(g*N[a+152>>2])+Q(Q(h*N[a+144>>2])+Q(i*N[a+148>>2])))+Q(Q(N[c+8>>2]*N[a+168>>2])+Q(Q(N[c>>2]*N[a+160>>2])+Q(N[c+4>>2]*N[a+164>>2]))))*e))-Q(Q(Q(Q(N[c+56>>2]*N[b+152>>2])+Q(Q(N[c+48>>2]*N[b+144>>2])+Q(N[c+52>>2]*N[b+148>>2])))+Q(Q(N[c+40>>2]*N[b+168>>2])+Q(Q(N[c+32>>2]*N[b+160>>2])+Q(N[c+36>>2]*N[b+164>>2]))))*e));j=Q(d+e);f=N[c+120>>2];k=j>2]=k?f:j;d=k?Q(f-d):e;if(J[a+240>>2]){N[a+144>>2]=Q(N[a+112>>2]*Q(d*Q(h*N[a+128>>2])))+N[a+144>>2];N[a+148>>2]=Q(Q(d*Q(i*N[a+132>>2]))*N[a+116>>2])+N[a+148>>2];N[a+152>>2]=Q(Q(d*Q(g*N[a+136>>2]))*N[a+120>>2])+N[a+152>>2];e=N[c+72>>2];f=N[c+68>>2];N[a+160>>2]=Q(Q(d*N[a+96>>2])*N[c+64>>2])+N[a+160>>2];g=N[a+104>>2];N[a+164>>2]=Q(f*Q(d*N[a+100>>2]))+N[a+164>>2];N[a+168>>2]=Q(e*Q(d*g))+N[a+168>>2]}if(!J[b+240>>2]){break a}e=N[c+56>>2];f=N[c+52>>2];N[b+144>>2]=Q(N[b+112>>2]*Q(d*Q(N[c+48>>2]*N[b+128>>2])))+N[b+144>>2];N[b+148>>2]=Q(Q(d*Q(f*N[b+132>>2]))*N[b+116>>2])+N[b+148>>2];N[b+152>>2]=Q(Q(d*Q(e*N[b+136>>2]))*N[b+120>>2])+N[b+152>>2];e=N[c+88>>2];f=N[c+84>>2];N[b+160>>2]=Q(Q(d*N[b+96>>2])*N[c+80>>2])+N[b+160>>2];g=N[b+104>>2];N[b+164>>2]=Q(f*Q(d*N[b+100>>2]))+N[b+164>>2];N[b+168>>2]=Q(e*Q(d*g))+N[b+168>>2]}return Q(d)}function Gb(a,b,c,d,e){var f=Q(0),g=Q(0),h=0,i=Q(0),j=Q(0),k=Q(0),l=Q(0),m=Q(0),n=Q(0),o=Q(0),p=Q(0);h=ta-32|0;ta=h;f=N[a+52>>2];g=N[a+56>>2];i=N[a+48>>2];m=N[b>>2];j=N[b+4>>2];k=N[b+8>>2];J[e+60>>2]=0;N[e+56>>2]=g+Q(k*d);N[e+52>>2]=f+Q(j*d);N[e+48>>2]=i+Q(m*d);l=N[c+8>>2];j=N[c>>2];k=N[c+4>>2];f=Q(Q(l*l)+Q(Q(j*j)+Q(k*k)));f=f>Q(1.1920928955078125e-7)?Q(Y(f)):Q(0);g=Q(f*d)>Q(.7853981852531433)?Q(Q(.7853981852531433)/d):f;a:{if(g>2];m=N[h+28>>2];d=Ta(Q(Q(g*d)*Q(.5)));g=Q(j*f);j=Q(k*f);k=N[h+20>>2];f=Q(l*f);l=N[h+24>>2];n=Q(Q(Q(Q(m*d)-Q(i*g))-Q(j*k))-Q(f*l));N[h+12>>2]=n;o=Q(Q(Q(g*k)+Q(Q(d*l)+Q(f*m)))-Q(j*i));N[h+8>>2]=o;p=Q(Q(Q(f*i)+Q(Q(d*k)+Q(j*m)))-Q(g*l));N[h+4>>2]=p;f=Q(Q(Q(j*l)+Q(Q(d*i)+Q(g*m)))-Q(f*k));N[h>>2]=f;d=Q(Q(n*n)+Q(Q(o*o)+Q(Q(f*f)+Q(p*p))));if(d>Q(1.1920928955078125e-7)){d=Q(Q(1)/Q(Y(d)));g=Q(p*d);N[h+4>>2]=g;f=Q(f*d);N[h>>2]=f;i=Q(o*d);N[h+8>>2]=i;d=Q(n*d);N[h+12>>2]=d;d=Q(Q(d*d)+Q(Q(i*i)+Q(Q(f*f)+Q(g*g))))}b:{if(d>Q(1.1920928955078125e-7)){nb(e,h);break b}b=J[a+4>>2];J[e>>2]=J[a>>2];J[e+4>>2]=b;b=J[a+12>>2];J[e+8>>2]=J[a+8>>2];J[e+12>>2]=b;b=J[a+20>>2];J[e+16>>2]=J[a+16>>2];J[e+20>>2]=b;b=J[a+28>>2];J[e+24>>2]=J[a+24>>2];J[e+28>>2]=b;b=J[a+36>>2];J[e+32>>2]=J[a+32>>2];J[e+36>>2]=b;b=J[a+44>>2];J[e+40>>2]=J[a+40>>2];J[e+44>>2]=b}ta=h+32|0}function ei(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;va[J[J[b>>2]+32>>2]](b);e=va[J[J[b>>2]+16>>2]](b,104,1)|0;c=Ka(J[e+8>>2],0,104);f=c+88|0;h=a+264|0;while(1){g=d<<2;N[g+f>>2]=N[h+g>>2];d=d+1|0;if((d|0)!=4){continue}break}N[c>>2]=N[a+92>>2];N[c+4>>2]=N[a+96>>2];N[c+8>>2]=N[a+100>>2];N[c+12>>2]=N[a+104>>2];N[c+16>>2]=N[a+108>>2];N[c+20>>2]=N[a+116>>2];N[c+24>>2]=N[a+120>>2];N[c+28>>2]=N[a+124>>2];N[c+32>>2]=N[a+128>>2];N[c+36>>2]=N[a+132>>2];N[c+40>>2]=N[a+148>>2];N[c+44>>2]=N[a+152>>2];N[c+48>>2]=N[a+156>>2];N[c+52>>2]=N[a+160>>2];N[c+56>>2]=N[a+176>>2];N[c+60>>2]=N[a+180>>2];J[c+64>>2]=J[a+112>>2];J[c+68>>2]=J[a+164>>2];J[c+72>>2]=J[a+168>>2];J[c+76>>2]=J[a+172>>2];d=J[a+144>>2];J[c+84>>2]=0;J[c+80>>2]=d;va[J[J[b>>2]+20>>2]](b,e,8734,1145853764,c);lg(a,b);c=0;e=J[a+8>>2];if((e|0)>0){while(1){d=J[J[a+16>>2]+(c<<2)>>2];if(K[d+252|0]&2){e=(j=b,k=va[J[J[d>>2]+16>>2]](d)|0,l=1,i=J[J[b>>2]+16>>2],va[i](j|0,k|0,l|0)|0);f=va[J[J[d>>2]+20>>2]](d,J[e+8>>2],b)|0;va[J[J[b>>2]+20>>2]](b,e,f,1497645650,d);e=J[a+8>>2]}c=c+1|0;if((e|0)>(c|0)){continue}break}}if(J[a+228>>2]>0){c=0;while(1){d=J[J[a+236>>2]+(c<<2)>>2];e=(l=b,k=va[J[J[d>>2]+36>>2]](d)|0,j=1,i=J[J[b>>2]+16>>2],va[i](l|0,k|0,j|0)|0);j=b,k=e,l=va[J[J[d>>2]+40>>2]](d,J[e+8>>2],b)|0,m=1397641027,n=d,i=J[J[b>>2]+20>>2],va[i](j|0,k|0,l|0,m|0,n|0);c=c+1|0;if((c|0)>2]){continue}break}}va[J[J[b>>2]+36>>2]](b)}function Cd(a,b,c){var d=0,e=Q(0),f=Q(0),g=0,h=0,i=0,j=0,k=Q(0),l=0,m=0;if(!J[a>>2]){J[a>>2]=c;J[c+32>>2]=0;return}d=J[b+40>>2];if(d){e=Q(N[c>>2]+N[c+16>>2]);f=Q(N[c+8>>2]+N[c+24>>2]);k=Q(N[c+4>>2]+N[c+20>>2]);while(1){g=b+36|0;b=J[b+36>>2];b=J[g+(!(Q(Q(Q(R(Q(e-Q(N[b>>2]+N[b+16>>2]))))+Q(R(Q(k-Q(N[b+4>>2]+N[b+20>>2])))))+Q(R(Q(f-Q(N[b+8>>2]+N[b+24>>2])))))>2]+N[d+16>>2]))))+Q(R(Q(k-Q(N[d+4>>2]+N[d+20>>2])))))+Q(R(Q(f-Q(N[d+8>>2]+N[d+24>>2]))))))<<2)>>2];d=J[b+40>>2];if(d){continue}break}}g=J[b+32>>2];d=J[a+4>>2];a:{if(d){J[a+4>>2]=0;break a}d=Ga(44);Ka(d,0,44)}J[d+36>>2]=0;J[d+40>>2]=0;J[d+32>>2]=g;j=d+16|0;l=b+16|0;m=c+16|0;while(1){h=i<<2;e=N[h+c>>2];f=N[b+h>>2];N[d+h>>2]=e>2];f=N[h+l>>2];N[h+j>>2]=e>f?e:f;i=i+1|0;if((i|0)!=3){continue}break}b:{if(g){J[(((J[J[b+32>>2]+40>>2]==(b|0))<<2)+g|0)+36>>2]=d;J[d+36>>2]=b;J[b+32>>2]=d;J[d+40>>2]=c;J[c+32>>2]=d;while(1){a=g;c:{if(!(N[a>>2]<=N[d>>2])|!(N[a+4>>2]<=N[d+4>>2])|(!(N[a+8>>2]<=N[d+8>>2])|!(N[a+16>>2]>=N[d+16>>2]))){break c}if(!(N[a+20>>2]>=N[d+20>>2])){break c}if(N[a+24>>2]>=N[d+24>>2]){break b}}d=a+16|0;g=J[a+36>>2];h=g+16|0;i=J[a+40>>2];j=i+16|0;b=0;while(1){c=b<<2;e=N[c+g>>2];f=N[c+i>>2];N[a+c>>2]=e>2];f=N[c+j>>2];N[c+d>>2]=e>f?e:f;b=b+1|0;if((b|0)!=3){continue}break}d=a;g=J[d+32>>2];if(g){continue}break}break b}J[d+36>>2]=b;J[b+32>>2]=d;J[d+40>>2]=c;J[c+32>>2]=d;J[a>>2]=d}}function gj(a,b,c){a=a|0;b=b|0;c=c|0;var d=Q(0),e=Q(0),f=Q(0),g=Q(0),h=Q(0),i=Q(0),j=Q(0);g=N[c+100>>2];h=N[c+24>>2];i=N[c+16>>2];j=N[c+20>>2];e=N[c+108>>2];d=Q(Q(Q(N[c+112>>2]-Q(g*N[c+116>>2]))-Q(Q(Q(Q(h*N[a+72>>2])+Q(Q(i*N[a+64>>2])+Q(j*N[a+68>>2])))+Q(Q(N[c+8>>2]*N[a+88>>2])+Q(Q(N[c>>2]*N[a+80>>2])+Q(N[c+4>>2]*N[a+84>>2]))))*e))-Q(Q(Q(Q(N[c+56>>2]*N[b+72>>2])+Q(Q(N[c+48>>2]*N[b+64>>2])+Q(N[c+52>>2]*N[b+68>>2])))+Q(Q(N[c+40>>2]*N[b+88>>2])+Q(Q(N[c+32>>2]*N[b+80>>2])+Q(N[c+36>>2]*N[b+84>>2]))))*e));e=Q(g+d);f=N[c+120>>2];a:{if(e>2];if(!(f>2]=e;if(J[a+240>>2]){N[a+64>>2]=Q(N[a+112>>2]*Q(d*Q(i*N[a+128>>2])))+N[a+64>>2];N[a+68>>2]=Q(Q(d*Q(j*N[a+132>>2]))*N[a+116>>2])+N[a+68>>2];N[a+72>>2]=Q(Q(d*Q(h*N[a+136>>2]))*N[a+120>>2])+N[a+72>>2];e=N[c+72>>2];f=N[c+68>>2];N[a+80>>2]=Q(Q(d*N[a+96>>2])*N[c+64>>2])+N[a+80>>2];g=N[a+104>>2];N[a+84>>2]=Q(f*Q(d*N[a+100>>2]))+N[a+84>>2];N[a+88>>2]=Q(e*Q(d*g))+N[a+88>>2]}if(J[b+240>>2]){e=N[c+56>>2];f=N[c+52>>2];N[b+64>>2]=Q(N[b+112>>2]*Q(d*Q(N[c+48>>2]*N[b+128>>2])))+N[b+64>>2];N[b+68>>2]=Q(Q(d*Q(f*N[b+132>>2]))*N[b+116>>2])+N[b+68>>2];N[b+72>>2]=Q(Q(d*Q(e*N[b+136>>2]))*N[b+120>>2])+N[b+72>>2];e=N[c+88>>2];f=N[c+84>>2];N[b+80>>2]=Q(Q(d*N[b+96>>2])*N[c+80>>2])+N[b+80>>2];g=N[b+104>>2];N[b+84>>2]=Q(f*Q(d*N[b+100>>2]))+N[b+84>>2];N[b+88>>2]=Q(e*Q(d*g))+N[b+88>>2]}return Q(d)}function td(a,b,c,d,e,f,g,h,i,j,k){var l=Q(0),m=Q(0),n=Q(0),o=Q(0),p=Q(0),q=Q(0),r=Q(0),s=Q(0),t=Q(0),u=Q(0),v=Q(0),w=Q(0),x=Q(0),y=Q(0),z=Q(0);g=(g<<2)+i|0;q=N[g+32>>2];r=Q(N[j+56>>2]-N[i+56>>2]);s=N[g>>2];u=Q(N[j+48>>2]-N[i+48>>2]);o=N[g+16>>2];v=Q(N[j+52>>2]-N[i+52>>2]);t=Q(Q(q*r)+Q(Q(s*u)+Q(o*v)));g=(h<<2)+j|0;w=N[g+32>>2];x=N[g>>2];y=N[g+16>>2];n=Q(-Q(Q(w*r)+Q(Q(x*u)+Q(y*v))));p=Q(Q(q*w)+Q(Q(s*x)+Q(o*y)));m=Q(Q(1)-Q(p*p));a:{if(m==Q(0)){break a}l=Q(-c);m=Q(Q(Q(n*p)+t)/m);if(l>m){break a}l=m;if(!(l>c)){break a}l=c}m=Q(Q(l*p)+n);n=Q(-e);b:{c:{if(me){m=n;break b}if(!(cn){m=e;break b}if(!(cQ(.7071067690849304)){J[a>>2]=0;d=Q(Q(1)/Q(Y(Q(Q(o*o)+Q(q*q)))));c=Q(o*d);N[a+8>>2]=c;l=Q(d*Q(-q));N[a+4>>2]=l;d=Q(0);break d}J[a+8>>2]=0;c=Q(Q(1)/Q(Y(Q(Q(s*s)+Q(o*o)))));l=Q(s*c);N[a+4>>2]=l;d=Q(c*Q(-o));N[a>>2]=d;c=Q(0);break d}J[a+12>>2]=0;d=Q(Q(-1)/t);c=Q(c*d);N[a+8>>2]=c;l=Q(k*d);N[a+4>>2]=l;d=Q(e*d);N[a>>2]=d}e=N[j+48>>2];k=N[j+52>>2];o=N[j+56>>2];J[b+12>>2]=0;N[b+8>>2]=Q(n+o)+Q(c*f);N[b+4>>2]=Q(m+k)+Q(l*f);N[b>>2]=Q(p+e)+Q(d*f)}return r}function Ri(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0;ug(a,b,c);f=b+264|0;d=a+324|0;while(1){c=e<<4;h=c+f|0;i=c+d|0;c=0;while(1){g=c<<2;N[g+h>>2]=N[i+g>>2];c=c+1|0;if((c|0)!=4){continue}break}e=e+1|0;if((e|0)!=3){continue}break}e=b+312|0;f=a+372|0;c=0;while(1){d=c<<2;N[d+e>>2]=N[f+d>>2];c=c+1|0;if((c|0)!=4){continue}break}e=b+328|0;f=a+388|0;c=0;while(1){d=c<<2;N[d+e>>2]=N[f+d>>2];c=c+1|0;if((c|0)!=4){continue}break}N[b+456>>2]=N[a+404>>2];e=b+344|0;f=a+604|0;c=0;while(1){d=c<<2;N[d+e>>2]=N[f+d>>2];c=c+1|0;if((c|0)!=4){continue}break}e=b+360|0;f=a+408|0;c=0;while(1){d=c<<2;N[d+e>>2]=N[f+d>>2];c=c+1|0;if((c|0)!=4){continue}break}e=b+376|0;f=a+424|0;c=0;while(1){d=c<<2;N[d+e>>2]=N[f+d>>2];c=c+1|0;if((c|0)!=4){continue}break}e=b+392|0;f=a+440|0;c=0;while(1){d=c<<2;N[d+e>>2]=N[f+d>>2];c=c+1|0;if((c|0)!=4){continue}break}e=b+408|0;f=a+456|0;c=0;while(1){d=c<<2;N[d+e>>2]=N[f+d>>2];c=c+1|0;if((c|0)!=4){continue}break}e=b+424|0;f=a+472|0;c=0;while(1){d=c<<2;N[d+e>>2]=N[f+d>>2];c=c+1|0;if((c|0)!=4){continue}break}e=b+440|0;f=a+488|0;c=0;while(1){d=c<<2;N[d+e>>2]=N[f+d>>2];c=c+1|0;if((c|0)!=4){continue}break}N[b+460>>2]=N[a+504>>2];N[b+464>>2]=N[a+508>>2];J[b+492>>2]=K[a+512|0];N[b+468>>2]=N[a+516>>2];N[b+472>>2]=N[a+520>>2];N[b+476>>2]=N[a+524>>2];N[b+480>>2]=N[a+528>>2];N[b+484>>2]=N[a+532>>2];N[b+488>>2]=N[a+536>>2];return 8575}function qe(a,b){var c=0,d=0,e=0;a:{if(K[a+204|0]&2){c=J[a+8>>2];J[a+68>>2]=J[a+4>>2];J[a+72>>2]=c;c=J[a+16>>2];J[a+76>>2]=J[a+12>>2];J[a+80>>2]=c;c=J[a+24>>2];J[a+84>>2]=J[a+20>>2];J[a+88>>2]=c;c=J[a+32>>2];J[a+92>>2]=J[a+28>>2];J[a+96>>2]=c;c=J[a+40>>2];J[a+100>>2]=J[a+36>>2];J[a+104>>2]=c;c=J[a+48>>2];J[a+108>>2]=J[a+44>>2];J[a+112>>2]=c;c=a+52|0;break a}c=J[b+4>>2];J[a+68>>2]=J[b>>2];J[a+72>>2]=c;c=J[b+12>>2];J[a+76>>2]=J[b+8>>2];J[a+80>>2]=c;c=J[b+20>>2];J[a+84>>2]=J[b+16>>2];J[a+88>>2]=c;c=J[b+28>>2];J[a+92>>2]=J[b+24>>2];J[a+96>>2]=c;c=J[b+36>>2];J[a+100>>2]=J[b+32>>2];J[a+104>>2]=c;c=J[b+44>>2];J[a+108>>2]=J[b+40>>2];J[a+112>>2]=c;c=b+48|0}d=J[c+4>>2];J[a+116>>2]=J[c>>2];J[a+120>>2]=d;d=J[c+8>>2];c=J[c+12>>2];e=J[a+400>>2];J[a+156>>2]=J[a+396>>2];J[a+160>>2]=e;e=J[a+392>>2];J[a+148>>2]=J[a+388>>2];J[a+152>>2]=e;J[a+124>>2]=d;J[a+128>>2]=c;c=J[a+376>>2];J[a+132>>2]=J[a+372>>2];J[a+136>>2]=c;c=J[a+384>>2];J[a+140>>2]=J[a+380>>2];J[a+144>>2]=c;c=J[b+12>>2];J[a+12>>2]=J[b+8>>2];J[a+16>>2]=c;c=J[b+4>>2];J[a+4>>2]=J[b>>2];J[a+8>>2]=c;c=J[b+28>>2];J[a+28>>2]=J[b+24>>2];J[a+32>>2]=c;c=J[b+20>>2];J[a+20>>2]=J[b+16>>2];J[a+24>>2]=c;c=J[b+44>>2];J[a+44>>2]=J[b+40>>2];J[a+48>>2]=c;c=J[b+36>>2];J[a+36>>2]=J[b+32>>2];J[a+40>>2]=c;c=J[b+60>>2];J[a+60>>2]=J[b+56>>2];J[a+64>>2]=c;c=J[b+52>>2];J[a+52>>2]=J[b+48>>2];J[a+56>>2]=c;se(a)}function vk(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=Q(0),f=0,g=Q(0),h=Q(0),i=Q(0),j=Q(0),k=Q(0),l=Q(0),m=Q(0),n=Q(0),o=Q(0),p=Q(0),q=Q(0),r=Q(0),s=Q(0),t=Q(0),u=Q(0),v=Q(0),w=Q(0),x=Q(0);f=ta-48|0;ta=f;n=N[c+8>>2];j=N[d+8>>2];p=N[c+4>>2];q=N[d+4>>2];k=N[c>>2];l=N[d>>2];e=N[a- -64>>2];a:{if(Q(R(e))>Q(.7071067690849304)){i=N[a+60>>2];g=Q(Q(i*i)+Q(e*e));h=Q(Q(1)/Q(Y(g)));m=Q(g*h);t=Q(i*h);g=N[a+56>>2];r=Q(t*Q(-g));o=Q(h*Q(-e));u=Q(g*o);break a}g=N[a+56>>2];i=N[a+60>>2];m=Q(Q(g*g)+Q(i*i));h=Q(Q(1)/Q(Y(m)));u=Q(m*h);v=Q(h*Q(-i));r=Q(e*v);o=Q(g*h);m=Q(o*Q(-e))}h=N[a+72>>2];J[f+44>>2]=0;J[f+28>>2]=0;s=Q(Q(j+n)*Q(.5));w=Q(Q(l+k)*Q(.5));x=Q(Q(q+p)*Q(.5));h=Q(Q(Q(e*s)+Q(Q(g*w)+Q(x*i)))-h);s=Q(s-Q(e*h));e=Q(Q(j-n)*Q(.5));j=Q(e*e);e=Q(Q(l-k)*Q(.5));k=Q(e*e);e=Q(Q(q-p)*Q(.5));e=Q(Y(Q(j+Q(k+Q(e*e)))));j=Q(e*t);p=Q(s-j);n=Q(e*u);q=Q(p-n);N[f+40>>2]=q;k=Q(x-Q(i*h));l=Q(e*o);o=Q(k-l);i=Q(e*r);r=Q(o-i);N[f+36>>2]=r;j=Q(j+s);N[f+24>>2]=j-n;k=Q(l+k);N[f+20>>2]=k-i;J[f+12>>2]=0;g=Q(w-Q(g*h));h=Q(e*v);l=Q(g-h);e=Q(e*m);m=Q(l-e);N[f+32>>2]=m;g=Q(h+g);N[f+16>>2]=g-e;h=Q(n+j);N[f+8>>2]=h;j=Q(i+k);N[f+4>>2]=j;g=Q(e+g);N[f>>2]=g;va[J[J[b>>2]+8>>2]](b,f,0,0);J[f+44>>2]=0;N[f+40>>2]=h;N[f+36>>2]=j;J[f+28>>2]=0;N[f+24>>2]=n+p;N[f+20>>2]=i+o;N[f+32>>2]=g;N[f+16>>2]=e+l;J[f+12>>2]=0;N[f+8>>2]=q;N[f+4>>2]=r;N[f>>2]=m;va[J[J[b>>2]+8>>2]](b,f,0,1);ta=f+48|0}function fj(a,b,c){a=a|0;b=b|0;c=c|0;var d=Q(0),e=Q(0),f=Q(0),g=Q(0),h=Q(0),i=Q(0),j=Q(0),k=0;d=N[c+100>>2];g=N[c+24>>2];h=N[c+16>>2];i=N[c+20>>2];e=N[c+108>>2];e=Q(Q(Q(N[c+112>>2]-Q(d*N[c+116>>2]))-Q(Q(Q(Q(g*N[a+72>>2])+Q(Q(h*N[a+64>>2])+Q(i*N[a+68>>2])))+Q(Q(N[c+8>>2]*N[a+88>>2])+Q(Q(N[c>>2]*N[a+80>>2])+Q(N[c+4>>2]*N[a+84>>2]))))*e))-Q(Q(Q(Q(N[c+56>>2]*N[b+72>>2])+Q(Q(N[c+48>>2]*N[b+64>>2])+Q(N[c+52>>2]*N[b+68>>2])))+Q(Q(N[c+40>>2]*N[b+88>>2])+Q(Q(N[c+32>>2]*N[b+80>>2])+Q(N[c+36>>2]*N[b+84>>2]))))*e));j=Q(d+e);f=N[c+120>>2];k=j>2]=k?f:j;d=k?Q(f-d):e;if(J[a+240>>2]){N[a+64>>2]=Q(N[a+112>>2]*Q(d*Q(h*N[a+128>>2])))+N[a+64>>2];N[a+68>>2]=Q(Q(d*Q(i*N[a+132>>2]))*N[a+116>>2])+N[a+68>>2];N[a+72>>2]=Q(Q(d*Q(g*N[a+136>>2]))*N[a+120>>2])+N[a+72>>2];e=N[c+72>>2];f=N[c+68>>2];N[a+80>>2]=Q(Q(d*N[a+96>>2])*N[c+64>>2])+N[a+80>>2];g=N[a+104>>2];N[a+84>>2]=Q(f*Q(d*N[a+100>>2]))+N[a+84>>2];N[a+88>>2]=Q(e*Q(d*g))+N[a+88>>2]}if(J[b+240>>2]){e=N[c+56>>2];f=N[c+52>>2];N[b+64>>2]=Q(N[b+112>>2]*Q(d*Q(N[c+48>>2]*N[b+128>>2])))+N[b+64>>2];N[b+68>>2]=Q(Q(d*Q(f*N[b+132>>2]))*N[b+116>>2])+N[b+68>>2];N[b+72>>2]=Q(Q(d*Q(e*N[b+136>>2]))*N[b+120>>2])+N[b+72>>2];e=N[c+88>>2];f=N[c+84>>2];N[b+80>>2]=Q(Q(d*N[b+96>>2])*N[c+80>>2])+N[b+80>>2];g=N[b+104>>2];N[b+84>>2]=Q(f*Q(d*N[b+100>>2]))+N[b+84>>2];N[b+88>>2]=Q(e*Q(d*g))+N[b+88>>2]}return Q(d)}function pg(a,b){var c=0,d=0,e=Q(0),f=Q(0),g=Q(0),h=Q(0),i=Q(0),j=Q(0),k=Q(0),l=Q(0),m=Q(0),n=Q(0),o=Q(0),p=Q(0),q=Q(0),r=Q(0),s=Q(0),t=Q(0),u=Q(0),v=Q(0),w=Q(0),x=Q(0),y=Q(0),z=0,A=Q(0),B=Q(0),C=Q(0);c=ta-128|0;ta=c;d=J[J[a+8>>2]+32>>2]+P(b,80)|0;z=J[d+64>>2];n=N[d+32>>2];o=N[d>>2];p=N[d+16>>2];q=N[d+56>>2];r=N[d+52>>2];s=N[d+48>>2];t=N[d+36>>2];u=N[d+20>>2];v=N[d+4>>2];w=N[d+40>>2];x=N[d+24>>2];y=N[d+8>>2];d=J[a+12>>2];A=N[d+52>>2];B=N[d+56>>2];e=N[d+24>>2];f=N[d+20>>2];g=N[d+40>>2];h=N[d+36>>2];C=N[d+48>>2];i=N[d+8>>2];j=N[d>>2];k=N[d+4>>2];l=N[d+16>>2];m=N[d+32>>2];J[c+124>>2]=0;J[c+108>>2]=0;J[c+92>>2]=0;N[c+104>>2]=Q(w*g)+Q(Q(y*m)+Q(x*h));N[c+100>>2]=Q(t*g)+Q(Q(v*m)+Q(u*h));N[c+88>>2]=Q(w*e)+Q(Q(y*l)+Q(x*f));N[c+84>>2]=Q(t*e)+Q(Q(v*l)+Q(u*f));N[c+120>>2]=B+Q(Q(q*g)+Q(Q(s*m)+Q(h*r)));N[c+116>>2]=A+Q(Q(q*e)+Q(Q(s*l)+Q(f*r)));J[c+76>>2]=0;N[c+72>>2]=Q(w*i)+Q(Q(y*j)+Q(k*x));N[c+68>>2]=Q(t*i)+Q(Q(v*j)+Q(k*u));N[c+64>>2]=Q(n*i)+Q(Q(o*j)+Q(p*k));N[c+112>>2]=C+Q(Q(q*i)+Q(Q(s*j)+Q(k*r)));N[c+96>>2]=Q(n*g)+Q(Q(o*m)+Q(p*h));N[c+80>>2]=Q(n*e)+Q(Q(o*l)+Q(p*f));d=J[a+4>>2];J[c+60>>2]=b;J[c+56>>2]=-1;J[c+48>>2]=d;J[c+44>>2]=z;J[c+40>>2]=0;J[c+52>>2]=c- -64;d=J[a+24>>2];J[c+36>>2]=b;J[c+32>>2]=d;J[c+28>>2]=z;J[c+8>>2]=13600;J[c+16>>2]=0;N[c+12>>2]=N[d+4>>2];J[c+24>>2]=J[d+16>>2];rg(J[a+16>>2],J[a+20>>2],c+40|0,c+8|0);ta=c+128|0}function ng(a,b,c,d){var e=0,f=0,g=Q(0),h=Q(0),i=Q(0),j=Q(0),k=Q(0),l=Q(0),m=Q(0),n=Q(0),o=Q(0),p=Q(0),q=Q(0),r=Q(0),s=Q(0),t=Q(0),u=Q(0),v=Q(0),w=Q(0),x=Q(0),y=Q(0),z=Q(0),A=Q(0),B=Q(0),C=Q(0),D=Q(0);e=ta-128|0;ta=e;f=J[a+28>>2];B=N[f+52>>2];C=N[f+56>>2];p=N[c+52>>2];q=N[c+56>>2];g=N[f+20>>2];h=N[f+24>>2];r=N[c+20>>2];s=N[c+36>>2];t=N[c+24>>2];i=N[f+36>>2];u=N[c+40>>2];j=N[f+40>>2];D=N[f+48>>2];v=N[c+32>>2];w=N[c>>2];x=N[c+16>>2];k=N[f+8>>2];l=N[f>>2];m=N[f+4>>2];y=N[c+48>>2];n=N[f+16>>2];z=N[c+4>>2];A=N[c+8>>2];o=N[f+32>>2];J[e+124>>2]=0;J[e+108>>2]=0;J[e+92>>2]=0;N[e+104>>2]=Q(u*j)+Q(Q(A*o)+Q(t*i));N[e+100>>2]=Q(s*j)+Q(Q(z*o)+Q(r*i));N[e+88>>2]=Q(u*h)+Q(Q(A*n)+Q(t*g));N[e+84>>2]=Q(s*h)+Q(Q(z*n)+Q(r*g));N[e+120>>2]=C+Q(Q(q*j)+Q(Q(y*o)+Q(i*p)));N[e+116>>2]=B+Q(Q(q*h)+Q(Q(y*n)+Q(g*p)));J[e+76>>2]=0;N[e+72>>2]=Q(u*k)+Q(Q(A*l)+Q(m*t));N[e+68>>2]=Q(s*k)+Q(Q(z*l)+Q(m*r));N[e+64>>2]=Q(v*k)+Q(Q(w*l)+Q(x*m));N[e+112>>2]=D+Q(Q(q*k)+Q(Q(y*l)+Q(m*p)));N[e+96>>2]=Q(v*j)+Q(Q(w*o)+Q(x*i));N[e+80>>2]=Q(v*h)+Q(Q(w*n)+Q(x*g));c=J[a+32>>2];J[e+48>>2]=0;J[e+40>>2]=1;J[e+44>>2]=-1;J[e+60>>2]=b;J[e+56>>2]=c;J[e+52>>2]=d;J[e+32>>2]=14416;N[e+36>>2]=N[c+4>>2];c=J[a+4>>2];f=J[c+8>>2];J[e+28>>2]=b;J[e+24>>2]=-1;J[e+16>>2]=f;J[e+12>>2]=d;J[e+8>>2]=c;J[e+20>>2]=e- -64;og(J[a+8>>2],J[a+12>>2],J[a+16>>2],e+8|0,e+32|0,N[a+20>>2]);ta=e+128|0}function Oo(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;J[9103]=J[9103]+1;d=J[a+24>>2];a:{b:{if(d){if(va[J[J[d>>2]+8>>2]](d,b,c)|0){break b}break a}if(!(J[c+8>>2]&J[b+4>>2])|!(J[b+8>>2]&J[c+4>>2])){break a}}d=J[b+12>>2]>J[c+12>>2];j=d?b:c;e=J[j+12>>2];k=d?c:b;g=J[k+12>>2];b=e<<16|g;b=(b<<15^-1)+b|0;b=P(b>>>10^b,9);b=b>>>6^b;b=(b<<11^-1)+b|0;m=b>>>16^b;b=J[a+12>>2];l=m&b-1;c=J[J[a+40>>2]+(l<<2)>>2];c:{if((c|0)!=-1){i=J[a+60>>2];d=J[a+16>>2];while(1){f=c<<4;h=f+d|0;if((g|0)==J[J[h>>2]+12>>2]&(e|0)==J[J[(d+f|0)+4>>2]+12>>2]){break c}c=J[i+(c<<2)>>2];if((c|0)!=-1){continue}break}}g=J[a+8>>2];c=g;d=b;d:{if((b|0)!=(c|0)){break d}c=b;e=b?b<<1:1;d=b;if((e|0)<=(b|0)){break d}e:{if(!e){h=0;d=b;break e}h=Ga(e<<4);d=J[a+8>>2]}if((d|0)>0){c=0;while(1){f=c<<4;i=f+h|0;f=f+J[a+16>>2]|0;J[i>>2]=J[f>>2];J[i+4>>2]=J[f+4>>2];J[i+8>>2]=J[f+8>>2];J[i+12>>2]=J[f+12>>2];c=c+1|0;if((d|0)!=(c|0)){continue}break}}c=J[a+16>>2];if(!(!c|!K[a+20|0])){Fa(c)}J[a+16>>2]=h;H[a+20|0]=1;J[a+12>>2]=e;c=J[a+8>>2];d=e}J[a+8>>2]=c+1;e=J[a+16>>2];h=e+(g<<4)|0;c=J[a+68>>2];if(c){va[J[J[c>>2]+8>>2]](c,k,j)|0;d=J[a+12>>2]}if((b|0)<(d|0)){zg(a);l=J[a+12>>2]-1&m}c=J[k+12>>2]>2];J[h>>2]=c?k:j;b=e+(g<<4)|0;J[b+8>>2]=0;J[b+12>>2]=0;J[b+4>>2]=c?j:k;b=J[a+60>>2]+(g<<2)|0;a=J[a+40>>2]+(l<<2)|0;J[b>>2]=J[a>>2];J[a>>2]=g}}return h|0}function Gm(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;g=ta-160|0;ta=g;f=J[a+12>>2];a:{if(!f){break a}h=K[a+16|0];i=h?b:c;j=J[i+4>>2];b=h?c:b;h=J[b+4>>2];J[e+4>>2]=f;c=g+144|0;N[c+12>>2]=N[f+848>>2]+N[e+32>>2];J[c+8>>2]=j;J[c+4>>2]=h;J[c>>2]=18084;J[g+136>>2]=1566444395;b=J[b+12>>2];f=J[b+12>>2];J[g+16>>2]=J[b+8>>2];J[g+20>>2]=f;f=J[b+4>>2];J[g+8>>2]=J[b>>2];J[g+12>>2]=f;f=J[b+28>>2];J[g+32>>2]=J[b+24>>2];J[g+36>>2]=f;f=J[b+20>>2];J[g+24>>2]=J[b+16>>2];J[g+28>>2]=f;f=J[b+44>>2];J[g+48>>2]=J[b+40>>2];J[g+52>>2]=f;f=J[b+36>>2];J[g+40>>2]=J[b+32>>2];J[g+44>>2]=f;h=J[b+60>>2];f=g- -64|0;J[f>>2]=J[b+56>>2];J[f+4>>2]=h;f=J[b+52>>2];J[g+56>>2]=J[b+48>>2];J[g+60>>2]=f;b=J[i+12>>2];f=J[b+12>>2];J[g+80>>2]=J[b+8>>2];J[g+84>>2]=f;f=J[b+4>>2];J[g+72>>2]=J[b>>2];J[g+76>>2]=f;f=J[b+20>>2];J[g+88>>2]=J[b+16>>2];J[g+92>>2]=f;f=J[b+28>>2];J[g+96>>2]=J[b+24>>2];J[g+100>>2]=f;f=J[b+36>>2];J[g+104>>2]=J[b+32>>2];J[g+108>>2]=f;f=J[b+44>>2];J[g+112>>2]=J[b+40>>2];J[g+116>>2]=f;f=J[b+52>>2];J[g+120>>2]=J[b+48>>2];J[g+124>>2]=f;f=J[b+60>>2];J[g+128>>2]=J[b+56>>2];J[g+132>>2]=f;Kf(c,g+8|0,e,J[d+20>>2],K[a+16|0]);if(!K[a+8|0]){break a}a=J[e+4>>2];if(!J[a+844>>2]){break a}c=J[a+836>>2];d=J[J[e+8>>2]+8>>2];b=(c|0)==(d|0);f=a;a=J[J[e+12>>2]+8>>2];ab(f,(b?c:a)+4|0,(b?a:d)+4|0)}ta=g+160|0}function It(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;f=ta+-64|0;ta=f;a:{if(Sa(b,30432,0)){J[c>>2]=0;d=1;break a}b:{if(K[a+8|0]&24){e=1}else{if(!b){break b}e=bb(b,30164);if(!e){break b}e=(K[e+8|0]&24)!=0}g=Sa(a,b,e)}if(g){d=1;a=J[c>>2];if(!a){break a}J[c>>2]=J[a>>2];break a}c:{if(!b){break c}e=bb(b,30212);if(!e){break a}b=J[c>>2];if(b){J[c>>2]=J[b>>2]}g=J[e+8>>2];b=J[a+8>>2];if(g&(b^-1)&7|b&(g^-1)&96){break a}d=1;if(Sa(J[a+12>>2],J[e+12>>2],0)){break a}if(Sa(J[a+12>>2],30420,0)){a=J[e+12>>2];if(!a){break a}d=!bb(a,30264);break a}g=J[a+12>>2];if(!g){break c}d=0;b=bb(g,30212);if(b){if(!(H[a+8|0]&1)){break a}a=J[e+12>>2];c=0;d:{e:{while(1){d=0;if(!a){break d}a=bb(a,30212);if(!a|J[a+8>>2]&(J[b+8>>2]^-1)){break e}d=1;if(Sa(J[b+12>>2],J[a+12>>2],0)){break d}if(!(H[b+8|0]&1)){break e}d=J[b+12>>2];if(!d){break e}b=bb(d,30212);if(b){a=J[a+12>>2];continue}break}b=bb(d,30324);if(!b){break e}c=oh(b,J[a+12>>2])}d=c}break a}b=bb(g,30324);if(b){if(!(H[a+8|0]&1)){break a}d=oh(b,J[e+12>>2]);break a}b=bb(g,30116);if(!b){break a}a=J[e+12>>2];if(!a){break a}a=bb(a,30116);if(!a){break a}Ka(f+12|0,0,52);J[f+56>>2]=1;J[f+20>>2]=-1;J[f+16>>2]=b;J[f+8>>2]=a;va[J[J[a>>2]+28>>2]](a,f+8|0,J[c>>2],1);a=J[f+32>>2];if(!(!J[c>>2]|(a|0)!=1)){J[c>>2]=J[f+24>>2]}d=(a|0)==1;break a}d=0}ta=f- -64|0;return d|0}function xe(a,b,c,d,e,f,g,h,i,j){var k=Q(0),l=Q(0),m=Q(0),n=Q(0),o=Q(0),p=Q(0),q=Q(0),r=Q(0),s=Q(0),t=Q(0),u=Q(0),v=Q(0),w=0,x=Q(0),y=Q(0),z=Q(0),A=Q(0),B=Q(0),C=Q(0),D=Q(0);w=J[f+4>>2];J[a>>2]=J[f>>2];J[a+4>>2]=w;w=J[f+12>>2];J[a+8>>2]=J[f+8>>2];J[a+12>>2]=w;v=N[b+24>>2];r=N[b+20>>2];k=N[b+40>>2];n=N[b+36>>2];s=N[b+8>>2];t=N[b>>2];x=N[b+4>>2];y=N[b+16>>2];l=N[b+32>>2];o=N[d+4>>2];p=N[d+8>>2];u=N[d>>2];J[a+28>>2]=0;z=k;k=N[a+4>>2];m=N[a>>2];q=Q(Q(u*k)-Q(o*m));A=l;B=o;o=N[a+8>>2];l=Q(Q(B*o)-Q(k*p));p=Q(Q(p*m)-Q(o*u));u=Q(Q(z*q)+Q(Q(A*l)+Q(n*p)));N[a+24>>2]=u;v=Q(Q(v*q)+Q(Q(y*l)+Q(p*r)));N[a+20>>2]=v;p=Q(Q(s*q)+Q(Q(t*l)+Q(x*p)));N[a+16>>2]=p;s=N[c+24>>2];t=N[c+20>>2];n=N[c+40>>2];x=N[c+36>>2];y=N[c+8>>2];C=N[c>>2];D=N[c+4>>2];z=N[c+16>>2];A=N[c+32>>2];q=N[e+4>>2];l=N[e>>2];r=N[e+8>>2];J[a+44>>2]=0;B=n;n=Q(Q(m*q)-Q(l*k));k=Q(Q(k*r)-Q(q*o));m=Q(Q(o*l)-Q(r*m));o=Q(Q(B*n)+Q(Q(A*k)+Q(x*m)));N[a+40>>2]=o;q=Q(Q(s*n)+Q(Q(z*k)+Q(m*t)));N[a+36>>2]=q;k=Q(Q(y*n)+Q(Q(C*k)+Q(D*m)));N[a+32>>2]=k;m=N[g+8>>2];l=N[g+4>>2];r=N[g>>2];J[a+60>>2]=0;r=Q(p*r);N[a+48>>2]=r;l=Q(l*v);N[a+52>>2]=l;m=Q(m*u);N[a+56>>2]=m;n=N[i+8>>2];s=N[i+4>>2];t=N[i>>2];J[a+76>>2]=0;t=Q(k*t);N[a+64>>2]=t;s=Q(s*q);N[a+68>>2]=s;n=Q(n*o);N[a+72>>2]=n;N[a+80>>2]=Q(Q(Q(Q(m*u)+Q(Q(r*p)+Q(v*l)))+h)+j)+Q(Q(n*o)+Q(Q(t*k)+Q(q*s)))}function Jg(a,b){var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;e=ta-32|0;ta=e;a:{if(!J[a>>2]){break a}g=(b|0)<0?J[a+12>>2]:b;if((g|0)<=0){break a}while(1){h=0;b=J[a>>2];f=b+40|0;if(J[f>>2]){while(1){d=J[b+32>>2];b:{if(d>>>0<=b>>>0){d=b;break b}c=J[d+40>>2];l=(c|0)==(b|0);i=((b|0)!=(c|0))<<2;j=J[(i+d|0)+36>>2];c=J[d+32>>2];if(c){k=(c+((J[c+40>>2]==(d|0))<<2)|0)+36|0}else{k=a}J[k>>2]=b;J[j+32>>2]=b;J[d+32>>2]=b;J[b+32>>2]=c;J[d+36>>2]=J[b+36>>2];J[d+40>>2]=J[f>>2];J[J[b+36>>2]+32>>2]=d;J[J[f>>2]+32>>2]=d;c=b+36|0;J[c+(l<<2)>>2]=d;J[c+i>>2]=j;c=J[d+28>>2];J[e+24>>2]=J[d+24>>2];J[e+28>>2]=c;c=J[d+20>>2];J[e+16>>2]=J[d+16>>2];J[e+20>>2]=c;c=J[d+12>>2];J[e+8>>2]=J[d+8>>2];J[e+12>>2]=c;c=J[d+4>>2];J[e>>2]=J[d>>2];J[e+4>>2]=c;c=J[b+28>>2];J[d+24>>2]=J[b+24>>2];J[d+28>>2]=c;c=J[b+20>>2];J[d+16>>2]=J[b+16>>2];J[d+20>>2]=c;c=J[b+12>>2];J[d+8>>2]=J[b+8>>2];J[d+12>>2]=c;c=J[b+4>>2];J[d>>2]=J[b>>2];J[d+4>>2]=c;c=J[e+28>>2];J[b+24>>2]=J[e+24>>2];J[b+28>>2]=c;c=J[e+20>>2];J[b+16>>2]=J[e+16>>2];J[b+20>>2]=c;c=J[e+12>>2];J[b+8>>2]=J[e+8>>2];J[b+12>>2]=c;c=J[e+4>>2];J[b>>2]=J[e>>2];J[b+4>>2]=c}b=J[a+16>>2]>>>h|0;h=h+1&31;b=J[(((b&1)<<2)+d|0)+36>>2];f=b+40|0;if(J[f>>2]){continue}break}}if(Dd(a,b)){d=J[a>>2]}else{d=0}Cd(a,d,b);J[a+16>>2]=J[a+16>>2]+1;g=g-1|0;if(g){continue}break}}ta=e+32|0}function Ie(a,b,c,d,e,f){var g=0;J[a+4>>2]=b;J[a>>2]=23180;b=J[c+12>>2];J[a+16>>2]=J[c+8>>2];J[a+20>>2]=b;b=J[c+4>>2];J[a+8>>2]=J[c>>2];J[a+12>>2]=b;b=J[c+28>>2];J[a+32>>2]=J[c+24>>2];J[a+36>>2]=b;b=J[c+20>>2];J[a+24>>2]=J[c+16>>2];J[a+28>>2]=b;b=J[c+44>>2];J[a+48>>2]=J[c+40>>2];J[a+52>>2]=b;b=J[c+36>>2];J[a+40>>2]=J[c+32>>2];J[a+44>>2]=b;g=J[c+60>>2];b=a- -64|0;J[b>>2]=J[c+56>>2];J[b+4>>2]=g;b=J[c+52>>2];J[a+56>>2]=J[c+48>>2];J[a+60>>2]=b;b=J[d+12>>2];J[a+80>>2]=J[d+8>>2];J[a+84>>2]=b;b=J[d+4>>2];J[a+72>>2]=J[d>>2];J[a+76>>2]=b;b=J[d+28>>2];J[a+96>>2]=J[d+24>>2];J[a+100>>2]=b;b=J[d+20>>2];J[a+88>>2]=J[d+16>>2];J[a+92>>2]=b;b=J[d+44>>2];J[a+112>>2]=J[d+40>>2];J[a+116>>2]=b;b=J[d+36>>2];J[a+104>>2]=J[d+32>>2];J[a+108>>2]=b;b=J[d+60>>2];J[a+128>>2]=J[d+56>>2];J[a+132>>2]=b;b=J[d+52>>2];J[a+120>>2]=J[d+48>>2];J[a+124>>2]=b;b=J[e+12>>2];J[a+144>>2]=J[e+8>>2];J[a+148>>2]=b;b=J[e+4>>2];J[a+136>>2]=J[e>>2];J[a+140>>2]=b;b=J[e+28>>2];J[a+160>>2]=J[e+24>>2];J[a+164>>2]=b;b=J[e+20>>2];J[a+152>>2]=J[e+16>>2];J[a+156>>2]=b;b=J[e+44>>2];J[a+176>>2]=J[e+40>>2];J[a+180>>2]=b;b=J[e+36>>2];J[a+168>>2]=J[e+32>>2];J[a+172>>2]=b;b=J[e+60>>2];J[a+192>>2]=J[e+56>>2];J[a+196>>2]=b;b=J[e+52>>2];J[a+184>>2]=J[e+48>>2];J[a+188>>2]=b;J[a+208>>2]=0;N[a+204>>2]=f;J[a+200>>2]=1065353216;return a}function Vk(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=Q(0),f=Q(0),g=0,h=Q(0),i=Q(0),j=Q(0),k=Q(0),l=Q(0),m=Q(0),n=Q(0),o=Q(0),p=Q(0),q=Q(0),r=Q(0),s=0,t=0,u=0;f=N[b+44>>2];j=N[b+40>>2];k=N[b+36>>2];h=N[b+28>>2];l=N[b+24>>2];m=N[b+20>>2];n=N[b+32>>2];o=N[b+16>>2];i=N[b+12>>2];p=N[b+8>>2];q=N[b+4>>2];r=N[b>>2];a=J[a+4>>2];g=J[a+4>>2];a:{if((g|0)!=J[a+8>>2]){break a}s=g?g<<1:1;if((s|0)<=(g|0)){break a}if(s){t=Ga(s<<6);g=J[a+4>>2]}if((g|0)>0){b=0;while(1){u=b<<6;Pa(u+t|0,J[a+12>>2]+u|0,64);b=b+1|0;if((g|0)!=(b|0)){continue}break}}b=J[a+12>>2];if(!(!b|!K[a+16|0])){Fa(b)}J[a+12>>2]=t;H[a+16|0]=1;J[a+8>>2]=s;g=J[a+4>>2]}b=J[a+12>>2]+(g<<6)|0;J[b+40>>2]=d;J[b+36>>2]=c;J[b+32>>2]=-1;e=i>Q(0)?i:Q(0);e=e>2]=f>e?f:e;e=p>Q(-0xde0b6b000000000)?p:Q(-0xde0b6b000000000);e=e>2]=eQ(-0xde0b6b000000000)?q:Q(-0xde0b6b000000000);e=e>2]=eQ(-0xde0b6b000000000)?r:Q(-0xde0b6b000000000);e=e>2]=e>2]=fl?l:f;N[b+8>>2]=f>j?j:f;f=qm?m:f;N[b+4>>2]=f>k?k:f;f=ro?o:f;N[b>>2]=f>n?n:f;J[a+4>>2]=J[a+4>>2]+1}function Jl(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=Q(0),i=Q(0),j=Q(0),k=Q(0),l=0,m=Q(0),n=Q(0);c=ta-80|0;ta=c;if(J[a+24>>2]>0){f=c- -64|0;while(1){l=P(g,80);d=l+J[a+32>>2]|0;e=J[d+12>>2];J[c+24>>2]=J[d+8>>2];J[c+28>>2]=e;e=J[d+4>>2];J[c+16>>2]=J[d>>2];J[c+20>>2]=e;e=J[d+28>>2];J[c+40>>2]=J[d+24>>2];J[c+44>>2]=e;e=J[d+20>>2];J[c+32>>2]=J[d+16>>2];J[c+36>>2]=e;e=J[d+44>>2];J[c+56>>2]=J[d+40>>2];J[c+60>>2]=e;e=J[d+36>>2];J[c+48>>2]=J[d+32>>2];J[c+52>>2]=e;e=J[d+60>>2];J[f+8>>2]=J[d+56>>2];J[f+12>>2]=e;e=J[d+52>>2];J[f>>2]=J[d+48>>2];J[f+4>>2]=e;d=J[d+64>>2];d=va[J[J[d>>2]+28>>2]](d)|0;e=J[d+12>>2];J[c+8>>2]=J[d+8>>2];J[c+12>>2]=e;e=J[d+4>>2];J[c>>2]=J[d>>2];J[c+4>>2]=e;h=N[a+88>>2];i=N[b+4>>2];j=N[a+84>>2];k=N[b>>2];N[c+8>>2]=Q(N[c+8>>2]*N[b+8>>2])/N[a+92>>2];J[c+12>>2]=0;N[c>>2]=Q(k*N[c>>2])/j;N[c+4>>2]=Q(i*N[c+4>>2])/h;d=J[(J[a+32>>2]+l|0)+64>>2];va[J[J[d>>2]+24>>2]](d,c);h=N[a+84>>2];i=N[b>>2];j=N[a+88>>2];k=N[b+4>>2];m=N[a+92>>2];n=N[b+8>>2];J[c+76>>2]=0;N[c+72>>2]=Q(n*N[c+72>>2])/m;N[c+68>>2]=Q(k*N[c+68>>2])/j;N[c+64>>2]=Q(i*N[c+64>>2])/h;sf(a,g,c+16|0,0);g=g+1|0;if((g|0)>2]){continue}break}}d=J[b+4>>2];J[a+84>>2]=J[b>>2];J[a+88>>2]=d;d=J[b+12>>2];J[a+92>>2]=J[b+8>>2];J[a+96>>2]=d;va[J[J[a>>2]+68>>2]](a);ta=c+80|0}function gn(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;f=ta-160|0;ta=f;g=J[a+12>>2];a:{if(!g){break a}h=J[c+4>>2];i=J[b+4>>2];J[e+4>>2]=g;J[f+152>>2]=1566444395;b=J[b+12>>2];g=J[b+12>>2];J[f+32>>2]=J[b+8>>2];J[f+36>>2]=g;g=J[b+4>>2];J[f+24>>2]=J[b>>2];J[f+28>>2]=g;g=J[b+28>>2];J[f+48>>2]=J[b+24>>2];J[f+52>>2]=g;g=J[b+20>>2];J[f+40>>2]=J[b+16>>2];J[f+44>>2]=g;j=J[b+44>>2];g=f- -64|0;J[g>>2]=J[b+40>>2];J[g+4>>2]=j;g=J[b+36>>2];J[f+56>>2]=J[b+32>>2];J[f+60>>2]=g;g=J[b+60>>2];J[f+80>>2]=J[b+56>>2];J[f+84>>2]=g;g=J[b+52>>2];J[f+72>>2]=J[b+48>>2];J[f+76>>2]=g;b=J[c+12>>2];c=J[b+12>>2];J[f+96>>2]=J[b+8>>2];J[f+100>>2]=c;c=J[b+4>>2];J[f+88>>2]=J[b>>2];J[f+92>>2]=c;c=J[b+20>>2];J[f+104>>2]=J[b+16>>2];J[f+108>>2]=c;c=J[b+28>>2];J[f+112>>2]=J[b+24>>2];J[f+116>>2]=c;c=J[b+36>>2];J[f+120>>2]=J[b+32>>2];J[f+124>>2]=c;c=J[b+44>>2];J[f+128>>2]=J[b+40>>2];J[f+132>>2]=c;c=J[b+52>>2];J[f+136>>2]=J[b+48>>2];J[f+140>>2]=c;c=J[b+60>>2];J[f+144>>2]=J[b+56>>2];J[f+148>>2]=c;b=f+12|0;J[b+8>>2]=h;J[b+4>>2]=i;J[b>>2]=16520;Sf(b,f+24|0,e,J[d+20>>2],0);if(!K[a+8|0]){break a}a=J[e+4>>2];if(!J[a+844>>2]){break a}c=J[a+836>>2];d=J[J[e+8>>2]+8>>2];b=(c|0)==(d|0);g=a;a=J[J[e+12>>2]+8>>2];ab(g,(b?c:a)+4|0,(b?a:d)+4|0)}ta=f+160|0}function Po(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;c=ta-32|0;ta=c;J[c+24>>2]=0;J[c+16>>2]=0;J[c+20>>2]=0;H[c+28|0]=1;a:{if(J[a+8>>2]<=0){break a}while(1){e=J[a+16>>2]+(k<<4)|0;b:{if(J[c+20>>2]!=(d|0)){break b}f=d?d<<1:1;if((f|0)<=(d|0)){break b}i=0;g=0;if(f){g=Ga(f<<4)}if((d|0)>0){while(1){h=i<<4;j=h+g|0;h=h+J[c+24>>2]|0;J[j>>2]=J[h>>2];J[j+4>>2]=J[h+4>>2];J[j+8>>2]=J[h+8>>2];J[j+12>>2]=J[h+12>>2];i=i+1|0;if((i|0)!=(d|0)){continue}break}}d=J[c+24>>2];if(!(!d|!K[c+28|0])){Fa(d)}J[c+24>>2]=g;H[c+28|0]=1;J[c+20>>2]=f;d=J[c+16>>2]}d=J[c+24>>2]+(d<<4)|0;J[d>>2]=J[e>>2];J[d+4>>2]=J[e+4>>2];J[d+8>>2]=J[e+8>>2];J[d+12>>2]=J[e+12>>2];f=J[c+16>>2];d=f+1|0;J[c+16>>2]=d;k=k+1|0;if((k|0)>2]){continue}break}e=0;if((f|0)<0){break a}i=J[c+24>>2];while(1){g=i+(e<<4)|0;va[J[J[a>>2]+12>>2]](a,J[g>>2],J[g+4>>2],b)|0;g=(e|0)==(f|0);e=e+1|0;if(!g){continue}break}}if(J[a+52>>2]>0){b=J[a+60>>2];e=0;while(1){J[b+(e<<2)>>2]=-1;e=e+1|0;if((e|0)>2]){continue}break}d=J[c+16>>2]}if((d|0)>=2){Qb(c+12|0,c+11|0,0,d-1|0);d=J[c+16>>2]}if((d|0)>0){e=0;while(1){b=J[c+24>>2]+(e<<4)|0;va[J[J[a>>2]+8>>2]](a,J[b>>2],J[b+4>>2])|0;e=e+1|0;if((e|0)>2]){continue}break}}a=J[c+24>>2];if(!(!a|!K[c+28|0])){Fa(a)}ta=c+32|0}function uh(a,b){var c=0,d=0,e=0,f=0,g=0,h=Q(0),i=0,j=0;e=(B(b),v(2));f=th(e);a:{b:{c:{c=(B(a),v(2));d:{if(c-2139095040>>>0>=2164260864){if(f){break d}break b}if(!f){break c}}h=Q(1);if((c|0)==1065353216){break a}g=e<<1;if(!g){break a}c=c<<1;if(!(g>>>0<4278190081&c>>>0<=4278190080)){return Q(a+b)}if((c|0)==2130706432){break a}return c>>>0>2130706431^(e|0)>=0?Q(0):Q(b*b)}if(th(c)){h=Q(a*a);if((c|0)<0){h=(sh(e)|0)==1?Q(-h):h}if((e|0)>=0){break a}return vh(Q(Q(1)/h))}if((c|0)<0){e=sh(e);if(!e){a=Q(a-a);return Q(a/a)}g=((e|0)==1)<<16;c=c&2147483647}if(c>>>0>8388607){break b}c=((B(Q(a*Q(8388608))),v(2))&2147483647)-192937984|0}e=c-1060306944|0;f=e>>>15&240;d=+(x(2,c-(e&-8388608)|0),C())*O[f+29736>>3]+-1;i=d*d;d=((O[3749]*d+O[3750])*(i*i)+((O[3751]*d+O[3752])*i+(O[3753]*d+(O[f+29744>>3]+ +(e>>23)))))*+b;A(+d);c=v(1)|0;v(0)|0;e:{c=c&2147450880;if((c|0)==1079967744|c>>>0<1079967744){break e}if(d>127.99999995700433){return wh(g,Q(15845632502852868e13))}if(!(d<=-150)){break e}return wh(g,Q(2524354896707238e-44))}i=O[3708];j=i+d;d=d-(j-i);d=(O[3709]*d+O[3710])*(d*d)+(O[3711]*d+1);A(+j);v(1)|0;f=v(0)|0;c=g+f|0;g=((f&31)<<3)+29408|0;f=J[g>>2];e=f;c=J[g+4>>2]+(c<<15)|0;x(0,e|0);x(1,(e>>>0>>0?c+1|0:c)|0);h=Q(d*+z())}return h}function rt(){var a=0,b=0,c=0,d=0,e=0,f=0,g=0;a=Ga(172);J[a+4>>2]=1065353216;J[a+8>>2]=1065353216;J[a+48>>2]=0;H[a+36|0]=1;J[a+12>>2]=1065353216;J[a+16>>2]=0;J[a+32>>2]=0;J[a+24>>2]=0;J[a+28>>2]=0;H[a+100|0]=1;J[a>>2]=22056;J[a+96>>2]=0;H[a+120|0]=1;J[a+88>>2]=0;J[a+92>>2]=0;J[a+116>>2]=0;H[a+140|0]=1;J[a+108>>2]=0;J[a+112>>2]=0;J[a+136>>2]=0;H[a+160|0]=1;J[a+128>>2]=0;J[a+132>>2]=0;J[a+168>>2]=0;H[a+164|0]=1;J[a+148>>2]=0;J[a+152>>2]=0;J[a+156>>2]=0;H[a+165|0]=1;f=Ga(32);g=J[a+24>>2];if((g|0)>0){while(1){b=e<<5;c=b+f|0;b=b+J[a+32>>2]|0;d=J[b+4>>2];J[c>>2]=J[b>>2];J[c+4>>2]=d;d=J[b+28>>2];J[c+24>>2]=J[b+24>>2];J[c+28>>2]=d;d=J[b+20>>2];J[c+16>>2]=J[b+16>>2];J[c+20>>2]=d;d=J[b+12>>2];J[c+8>>2]=J[b+8>>2];J[c+12>>2]=d;e=e+1|0;if((g|0)!=(e|0)){continue}break}}b=J[a+32>>2];if(!(!b|!K[a+36|0])){Fa(b)}J[a+32>>2]=f;H[a+36|0]=1;J[a+28>>2]=1;b=f+(J[a+24>>2]<<5)|0;J[b+24>>2]=2;J[b+28>>2]=0;J[b+16>>2]=0;J[b+20>>2]=16;J[b+8>>2]=12;J[b+12>>2]=0;J[b>>2]=0;J[b+4>>2]=0;J[a+24>>2]=J[a+24>>2]+1;c=K[a+164|0];f=J[(c?a+128|0:a+148|0)>>2];b=J[a+32>>2];J[b+24>>2]=c?2:3;J[b+4>>2]=0;e=12;J[b+8>>2]=c?12:6;J[b>>2]=(f|0)/3;a:{if(K[a+165|0]){e=16;c=J[a+88>>2];break a}c=J[a+108>>2]/3|0}J[b+20>>2]=e;J[b+16>>2]=0;J[b+12>>2]=c;return a|0}function et(){var a=0,b=0,c=0,d=0,e=0,f=0,g=0,h=0,i=0;a=Ra(176);d=ta-32|0;ta=d;J[a>>2]=11932;b=a+84|0;c=a+4|0;while(1){c=Lg(c)+40|0;if((b|0)!=(c|0)){continue}break}H[a+153|0]=0;H[a+154|0]=1;J[a+124>>2]=0;J[a+100>>2]=0;J[a+104>>2]=0;J[a+136>>2]=0;J[a+128>>2]=0;J[a+132>>2]=0;J[a+116>>2]=10;J[a+120>>2]=1;J[a+108>>2]=1;J[a+112>>2]=0;J[a+168>>2]=0;H[a+172|0]=1;J[a+160>>2]=0;J[a+164>>2]=0;H[a+152|0]=1;c=Ag(Ga(72));J[a+148>>2]=0;J[a+96>>2]=c;J[a+140>>2]=0;J[a+144>>2]=0;J[b+8>>2]=0;J[b>>2]=0;J[b+4>>2]=0;J[d+24>>2]=0;H[d+28|0]=1;J[d+16>>2]=0;J[d+20>>2]=0;i=d+12|0;b=0;c=J[a+160>>2];a:{if((c|0)>1){b=1;while(1){Ha(J[a+168>>2]+P(b,20)|0);b=b+1|0;if((c|0)!=(b|0)){continue}break}break a}f=(c|0)>0;if(f){break a}if(J[a+164>>2]<=0){g=Ga(20);e=J[a+160>>2];b:{if((e|0)<=0){break b}while(1){h=P(b,20);Ig(h+g|0,J[a+168>>2]+h|0);b=b+1|0;if((e|0)!=(b|0)){continue}break}e=J[a+160>>2];if((e|0)<=0){break b}b=0;while(1){Ha(J[a+168>>2]+P(b,20)|0);b=b+1|0;if((e|0)!=(b|0)){continue}break}}b=J[a+168>>2];if(!(!b|!K[a+172|0])){Fa(b)}J[a+168>>2]=g;H[a+172|0]=1;J[a+164>>2]=1;if(f){break a}}while(1){Ig(J[a+168>>2]+P(c,20)|0,i);c=c+1|0;if((c|0)!=1){continue}break}}J[a+160>>2]=1;b=J[d+24>>2];if(!(!b|!K[d+28|0])){Fa(b)}ta=d+32|0;return a|0}function mc(a){var b=0;J[a+132>>2]=0;J[a+136>>2]=0;J[a+188>>2]=0;J[a+192>>2]=0;J[a+180>>2]=0;J[a+184>>2]=1566444395;J[a+164>>2]=1065353216;J[a+168>>2]=1065353216;J[a+276>>2]=0;J[a+280>>2]=0;J[a+268>>2]=1065353216;J[a+272>>2]=0;J[a+260>>2]=-1;J[a+264>>2]=-1;J[a+252>>2]=1;J[a+256>>2]=0;J[a+244>>2]=1036831949;J[a+248>>2]=1176256512;J[a+236>>2]=0;J[a+240>>2]=0;J[a+228>>2]=1056964608;J[a+232>>2]=0;J[a+220>>2]=1;J[a+224>>2]=0;J[a+212>>2]=-1;J[a+216>>2]=-1;J[a+204>>2]=1;J[a+208>>2]=-1;J[a>>2]=13020;J[a+140>>2]=0;J[a+144>>2]=0;J[a+148>>2]=0;J[a+152>>2]=0;J[a+156>>2]=0;J[a+160>>2]=0;J[a+172>>2]=1065353216;J[a+176>>2]=0;J[a+196>>2]=0;J[a+200>>2]=0;H[a+300|0]=1;J[a+304>>2]=0;J[a+296>>2]=0;J[a+288>>2]=0;J[a+292>>2]=0;J[a+4>>2]=1065353216;J[a+8>>2]=0;J[a+12>>2]=0;J[a+16>>2]=0;J[a+20>>2]=0;J[a+24>>2]=1065353216;J[a+28>>2]=0;J[a+32>>2]=0;J[a+36>>2]=0;J[a+40>>2]=0;J[a+44>>2]=1065353216;J[a+48>>2]=0;J[a+52>>2]=0;J[a+56>>2]=0;J[a+60>>2]=0;b=a- -64|0;J[b>>2]=0;J[b+4>>2]=1065353216;J[a+72>>2]=0;J[a+76>>2]=0;J[a+80>>2]=0;J[a+84>>2]=0;J[a+88>>2]=1065353216;J[a+92>>2]=0;J[a+96>>2]=0;J[a+100>>2]=0;J[a+104>>2]=0;J[a+112>>2]=0;J[a+116>>2]=0;J[a+108>>2]=1065353216;J[a+120>>2]=0;J[a+124>>2]=0;J[a+128>>2]=0;return a}function vt(){var a=0,b=0,c=0,d=0,e=0,f=0,g=0,h=0;d=Ka(Ga(100),0,100);a=d;J[a+12>>2]=0;J[a+16>>2]=0;J[a+4>>2]=31;J[a+8>>2]=0;J[a+80>>2]=0;J[a+84>>2]=1065353216;J[a+72>>2]=0;J[a+76>>2]=1;J[a+56>>2]=-581039253;J[a+60>>2]=-581039253;J[a+40>>2]=1566444395;J[a+44>>2]=1566444395;H[a+36|0]=1;J[a>>2]=19292;J[a+32>>2]=0;J[a+96>>2]=0;J[a+88>>2]=1065353216;J[a+92>>2]=1065353216;a=a- -64|0;J[a>>2]=-581039253;J[a+4>>2]=0;J[d+48>>2]=1566444395;J[d+52>>2]=0;J[d+24>>2]=0;J[d+28>>2]=0;g=d,h=Lg(Ga(40)),J[g+72>>2]=h;if(J[d+28>>2]<0){f=J[d+24>>2];if((f|0)>0){while(1){a=P(e,80);b=a+J[d+32>>2]|0;c=J[b+4>>2];J[a>>2]=J[b>>2];J[a+4>>2]=c;c=J[b+12>>2];J[a+8>>2]=J[b+8>>2];J[a+12>>2]=c;c=J[b+28>>2];J[a+24>>2]=J[b+24>>2];J[a+28>>2]=c;c=J[b+20>>2];J[a+16>>2]=J[b+16>>2];J[a+20>>2]=c;c=J[b+44>>2];J[a+40>>2]=J[b+40>>2];J[a+44>>2]=c;c=J[b+36>>2];J[a+32>>2]=J[b+32>>2];J[a+36>>2]=c;c=J[b+60>>2];J[a+56>>2]=J[b+56>>2];J[a+60>>2]=c;c=J[b+52>>2];J[a+48>>2]=J[b+48>>2];J[a+52>>2]=c;c=J[b+68>>2];J[a+64>>2]=J[b+64>>2];J[a+68>>2]=c;c=J[b+76>>2];J[a+72>>2]=J[b+72>>2];J[a+76>>2]=c;e=e+1|0;if((f|0)!=(e|0)){continue}break}}a=J[d+32>>2];if(!(!a|!K[d+36|0])){Fa(a)}J[d+32>>2]=0;H[d+36|0]=1;J[d+28>>2]=0}J[d>>2]=31184;return d|0}function zg(a){var b=0,c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;a:{h=J[a+32>>2];c=J[a+12>>2];if((h|0)>=(c|0)){break a}b:{if((c|0)<=J[a+36>>2]){b=J[a+40>>2];break b}d=h;if(c){b=Ga(c<<2);d=J[a+32>>2]}f=J[a+40>>2];c:{if((d|0)>0){while(1){g=e<<2;J[g+b>>2]=J[f+g>>2];e=e+1|0;if((e|0)!=(d|0)){continue}break c}}if(f){break c}J[a+40>>2]=b;J[a+36>>2]=c;H[a+44|0]=1;break b}if(K[a+44|0]){Fa(f)}J[a+40>>2]=b;H[a+44|0]=1;J[a+36>>2]=c}d=h<<2;g=c<<2;Ka(d+b|0,0,g-d|0);J[a+32>>2]=c;f=J[a+52>>2];if((f|0)<(c|0)){d:{if((c|0)<=J[a+56>>2]){b=J[a+60>>2];break d}e=0;d=f;b=0;if(c){b=Ga(g);d=J[a+52>>2]}i=J[a+60>>2];e:{if((d|0)>0){while(1){j=e<<2;J[j+b>>2]=J[i+j>>2];e=e+1|0;if((e|0)!=(d|0)){continue}break e}}if(i){break e}J[a+60>>2]=b;J[a+56>>2]=c;H[a- -64|0]=1;break d}if(K[a- -64|0]){Fa(i)}J[a+60>>2]=b;H[a+64|0]=1;J[a+56>>2]=c}d=f<<2;Ka(d+b|0,0,g-d|0)}J[a+52>>2]=c;if((c|0)>0){Ka(J[a+40>>2],255,g);Ka(J[a+60>>2],255,g)}if((h|0)<=0){break a}d=J[a+60>>2];f=J[a+16>>2];c=J[a+40>>2];e=0;while(1){b=f+(e<<4)|0;b=J[J[b+4>>2]+12>>2]<<16|J[J[b>>2]+12>>2];b=(b<<15^-1)+b|0;b=P(b>>>10^b,9);b=b>>>6^b;b=(b<<11^-1)+b|0;b=c+((J[a+12>>2]-1&(b>>>16^b))<<2)|0;J[d+(e<<2)>>2]=J[b>>2];J[b>>2]=e;e=e+1|0;if((h|0)!=(e|0)){continue}break}}}function kd(a){var b=0,c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;a:{h=J[a+28>>2];c=J[a+12>>2];if((h|0)>=(c|0)){break a}b:{if((c|0)<=J[a+32>>2]){b=J[a+36>>2];break b}d=h;if(c){b=Ga(c<<2);d=J[a+28>>2]}f=J[a+36>>2];c:{if((d|0)>0){while(1){g=e<<2;J[g+b>>2]=J[f+g>>2];e=e+1|0;if((e|0)!=(d|0)){continue}break c}}if(f){break c}J[a+36>>2]=b;J[a+32>>2]=c;H[a+40|0]=1;break b}if(K[a+40|0]){Fa(f)}J[a+36>>2]=b;H[a+40|0]=1;J[a+32>>2]=c}d=h<<2;g=c<<2;Ka(d+b|0,0,g-d|0);J[a+28>>2]=c;f=J[a+48>>2];if((f|0)<(c|0)){d:{if((c|0)<=J[a+52>>2]){b=J[a+56>>2];break d}e=0;d=f;b=0;if(c){b=Ga(g);d=J[a+48>>2]}i=J[a+56>>2];e:{if((d|0)>0){while(1){j=e<<2;J[j+b>>2]=J[i+j>>2];e=e+1|0;if((e|0)!=(d|0)){continue}break e}}if(i){break e}J[a+56>>2]=b;J[a+52>>2]=c;H[a+60|0]=1;break d}if(K[a+60|0]){Fa(i)}J[a+56>>2]=b;H[a+60|0]=1;J[a+52>>2]=c}d=f<<2;Ka(d+b|0,0,g-d|0)}J[a+48>>2]=c;if((c|0)>0){Ka(J[a+36>>2],255,g);Ka(J[a+56>>2],255,g)}if((h|0)<=0){break a}d=J[a+56>>2];f=J[a+16>>2];c=J[a+36>>2];e=0;while(1){b=f+P(e,12)|0;b=J[b+4>>2]<<16|J[b>>2];b=(b<<15^-1)+b|0;b=P(b>>>10^b,9);b=b>>>6^b;b=(b<<11^-1)+b|0;b=c+((J[a+12>>2]-1&(b>>>16^b))<<2)|0;J[d+(e<<2)>>2]=J[b>>2];J[b>>2]=e;e=e+1|0;if((h|0)!=(e|0)){continue}break}}}function Lp(a,b,c,d,e,f,g,h,i,j,k){a=a|0;b=b|0;c=c|0;d=d|0;e=Q(e);f=Q(f);g=Q(g);h=Q(h);i=i|0;j=j|0;k=Q(k);var l=0,m=Q(0),n=Q(0),o=Q(0),p=Q(0),q=Q(0),r=Q(0),s=0,t=Q(0),u=Q(0),v=Q(0),w=0,x=Q(0),y=Q(0),z=Q(0);l=ta-32|0;ta=l;t=N[c+8>>2];n=N[d+8>>2];p=N[c>>2];o=N[d+4>>2];q=N[d>>2];u=N[c+4>>2];v=N[b>>2];y=N[b+4>>2];m=N[b+8>>2];J[l+28>>2]=0;r=Va(g);x=Q(Q(Q(p*o)-Q(q*u))*f);z=m;m=Ta(g);N[l+24>>2]=Q(r*x)+Q(z+Q(m*Q(n*e)));p=Q(Q(Q(t*q)-Q(n*p))*f);N[l+20>>2]=Q(y+Q(m*Q(o*e)))+Q(r*p);n=Q(Q(Q(u*n)-Q(o*t))*f);N[l+16>>2]=Q(r*n)+Q(v+Q(m*Q(q*e)));o=Q(h-g);f=Q(R(Q(o/Q(k*Q(.01745329238474369)))));a:{if(Q(R(f))>2]+16>>2]](a,b,l+16|0,i)}w=c>>>0<=1?1:c;if((w|0)>0){k=Q(w|0);c=1;while(1){q=N[d+8>>2];h=Q(Q(Q(o*Q(c|0))/k)+g);f=Ta(h);t=N[b+8>>2];h=Va(h);u=N[b>>2];r=N[d>>2];m=N[b+4>>2];v=N[d+4>>2];N[l+8>>2]=Q(x*h)+Q(t+Q(f*Q(q*e)));J[l+12>>2]=0;N[l+4>>2]=Q(p*h)+Q(m+Q(f*Q(v*e)));N[l>>2]=Q(n*h)+Q(u+Q(f*Q(r*e)));va[J[J[a>>2]+16>>2]](a,l+16|0,l,i);s=J[l+12>>2];J[l+24>>2]=J[l+8>>2];J[l+28>>2]=s;s=J[l+4>>2];J[l+16>>2]=J[l>>2];J[l+20>>2]=s;s=(c|0)==(w|0);c=c+1|0;if(!s){continue}break}}if(j){va[J[J[a>>2]+16>>2]](a,b,l+16|0,i)}ta=l+32|0}function wb(a,b){var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;d=J[a+16>>2];c=J[b+16>>2];if((d|0)!=(c|0)){return d-c|0}if(!d){return 0}n=d;e=J[b+8>>2];f=J[a+4>>2];i=J[b+12>>2];k=J[a>>2];j=Ut(i,0,k,0);d=ua;g=f;c=0;f=Ut(i,0,f,c);h=d+f|0;d=ua+c|0;l=e;i=0;e=Ut(e,i,g,c);c=f>>>0>h>>>0?d+1|0:d;f=ua;g=f+h|0;d=g;f=f>>>0>d>>>0?c+1|0:c;c=0;g=e;e=e+j|0;j=g>>>0>e>>>0?c+1|0:c;g=j+d|0;d=f;d=g>>>0>>0?d+1|0:d;h=g;j=0;f=Ut(k,m,l,i);i=j+f|0;c=ua+e|0;c=f>>>0>i>>>0?c+1|0:c;g=c;e=(e|0)==(c|0)&i>>>0>>0|c>>>0>>0;c=d;d=e+h|0;c=d>>>0>>0?c+1|0:c;j=d;k=c;e=J[b>>2];d=J[b+4>>2];b=J[a+8>>2];a=J[a+12>>2];c=0;l=b;f=Ut(d,c,b,0);b=ua;h=a;a=Ut(d,c,a,0);b=b+a|0;d=ua;d=a>>>0>b>>>0?d+1|0:d;a=Ut(e,0,h,c);c=d;d=b;b=ua;h=d+b|0;d=h;b=b>>>0>d>>>0?c+1|0:c;c=0;h=a;a=a+f|0;f=h>>>0>a>>>0?c+1|0:c;h=f+d|0;d=b;d=f>>>0>h>>>0?d+1|0:d;f=0;e=Ut(e,m,l,m);b=f+e|0;c=ua+a|0;c=b>>>0>>0?c+1|0:c;e=c;a=(a|0)==(c|0)&b>>>0>>0|a>>>0>c>>>0;c=d;d=a;a=a+h|0;c=d>>>0>a>>>0?c+1|0:c;d=-1;a:{if((c|0)==(k|0)&a>>>0>j>>>0|c>>>0>k>>>0){break a}d=1;if((c|0)==(k|0)&a>>>0>>0|c>>>0>>0){break a}d=-1;if((e|0)==(g|0)&b>>>0>i>>>0|e>>>0>g>>>0){break a}d=(e|0)==(g|0)&b>>>0>>0|e>>>0>>0}return P(n,d)}function sn(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=Q(0);c=ta-800|0;ta=c;Na(7506);J[c+744>>2]=0;J[c+748>>2]=0;J[c+756>>2]=0;J[c+760>>2]=0;J[c+752>>2]=1065353216;J[c+764>>2]=0;J[c+768>>2]=0;J[c+776>>2]=0;J[c+780>>2]=0;J[c+772>>2]=1065353216;J[c+784>>2]=0;J[c+788>>2]=0;J[c+792>>2]=0;J[c+736>>2]=0;J[c+740>>2]=0;J[c+732>>2]=1065353216;J[c+724>>2]=0;J[c+728>>2]=0;J[c+556>>2]=13172;N[c+720>>2]=N[a+200>>2];g=N[a+196>>2];d=_a(c+496|0);J[d+32>>2]=0;J[d+36>>2]=0;J[d+20>>2]=1065353216;J[d+24>>2]=1065353216;J[d+4>>2]=8;J[d>>2]=21412;J[d+56>>2]=0;N[d+52>>2]=g;J[d+28>>2]=1065353216;J[d+40>>2]=0;J[d+44>>2]=0;J[d+48>>2]=0;N[d+36>>2]=g;e=ec(c+384|0);J[e+4>>2]=1;J[e>>2]=15848;f=J[b+12>>2];J[e+72>>2]=J[b+8>>2];J[e+76>>2]=f;f=J[b+4>>2];J[e+64>>2]=J[b>>2];J[e+68>>2]=f;f=J[b+20>>2];J[e+80>>2]=J[b+16>>2];J[e+84>>2]=f;f=J[b+28>>2];J[e+88>>2]=J[b+24>>2];J[e+92>>2]=f;f=J[b+36>>2];J[e+96>>2]=J[b+32>>2];J[e+100>>2]=f;f=J[b+44>>2];J[e+104>>2]=J[b+40>>2];J[e+108>>2]=f;H[c+356|0]=0;J[c+332>>2]=953267991;b=c+732|0;a:{if(!Ge(He(c+8|0,d,e,c+24|0),a+4|0,a+68|0,b,b,c+556|0)){break a}g=N[c+720>>2];if(!(g>2])){break a}N[a+200>>2]=g}Hb(e);Ma();ta=c+800|0}function Md(){var a=0,b=0,c=0;b=ta-32|0;ta=b;if(!K[34036]){J[b+24>>2]=0;J[b+28>>2]=1;J[b+16>>2]=4096;J[b+20>>2]=4096;J[b+8>>2]=0;J[b+12>>2]=0;J[8487]=16768;a=J[b+28>>2];c=Ga(4);J[c>>2]=(a?22708:22868)+8;J[8493]=c;a=Ga(20);c=J[8493];J[a+12>>2]=0;J[a+16>>2]=3;H[a+4|0]=0;J[a+8>>2]=c;J[a>>2]=15088;J[8494]=a;a=Ga(8);J[a>>2]=16884;H[a+4|0]=0;J[8495]=a;a=Ga(8);J[a>>2]=17008;H[a+4|0]=0;J[8496]=a;a=Ga(8);J[a>>2]=17100;H[a+4|0]=0;J[8497]=a;a=Ga(8);J[a>>2]=17180;H[a+4|0]=0;J[8498]=a;a=Ga(8);J[a>>2]=17268;H[a+4|0]=0;J[8499]=a;a=Ga(8);J[a>>2]=17352;H[a+4|0]=0;J[8500]=a;a=Ga(8);J[a>>2]=17420;H[a+4|0]=0;J[8501]=a;a=Ga(8);J[a>>2]=17504;H[a+4|0]=0;J[8505]=a;a=Ga(8);J[a>>2]=17504;J[8506]=a;H[a+4|0]=1;a=Ga(8);J[a>>2]=17588;H[a+4|0]=0;J[8504]=a;a=Ga(16);J[a+8>>2]=1;J[a+12>>2]=0;J[a>>2]=17664;H[a+4|0]=0;J[8508]=a;a=Ga(16);J[a+8>>2]=1;J[a+12>>2]=0;J[a>>2]=17664;J[8507]=a;H[a+4|0]=1;c=J[b+24>>2];a=J[b+8>>2];a:{if(a){H[33960]=0;break a}H[33960]=1;a=Pf(Ga(24),868,J[b+16>>2])}J[8489]=a;a=J[b+12>>2];b:{if(a){H[33968]=0;break b}H[33968]=1;a=(c|0)<=72?72:c;a=Pf(Ga(24),((a>>>0<=116?116:a)&2147483632)+16|0,J[b+20>>2])}J[8491]=a;H[34036]=1}ta=b+32|0;return 33948}function Ls(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;a=Ec(Ga(768),4,a,b);J[a>>2]=23544;b=J[c+12>>2];J[a+560>>2]=J[c+8>>2];J[a+564>>2]=b;b=J[c+4>>2];J[a+552>>2]=J[c>>2];J[a+556>>2]=b;b=J[c+28>>2];J[a+576>>2]=J[c+24>>2];J[a+580>>2]=b;b=J[c+20>>2];J[a+568>>2]=J[c+16>>2];J[a+572>>2]=b;b=J[c+44>>2];J[a+592>>2]=J[c+40>>2];J[a+596>>2]=b;b=J[c+36>>2];J[a+584>>2]=J[c+32>>2];J[a+588>>2]=b;b=J[c+60>>2];J[a+608>>2]=J[c+56>>2];J[a+612>>2]=b;b=J[c+52>>2];J[a+600>>2]=J[c+48>>2];J[a+604>>2]=b;b=J[d+12>>2];J[a+624>>2]=J[d+8>>2];J[a+628>>2]=b;b=J[d+4>>2];J[a+616>>2]=J[d>>2];J[a+620>>2]=b;b=J[d+20>>2];J[a+632>>2]=J[d+16>>2];J[a+636>>2]=b;b=J[d+28>>2];J[a+640>>2]=J[d+24>>2];J[a+644>>2]=b;b=J[d+36>>2];J[a+648>>2]=J[d+32>>2];J[a+652>>2]=b;b=J[d+44>>2];J[a+656>>2]=J[d+40>>2];J[a+660>>2]=b;b=J[d+52>>2];J[a+664>>2]=J[d+48>>2];J[a+668>>2]=b;b=J[d+60>>2];J[a+672>>2]=J[d+56>>2];J[a+676>>2]=b;J[a+688>>2]=0;J[a+692>>2]=-1082130432;J[a+696>>2]=1063675494;J[a+700>>2]=1050253722;J[a+704>>2]=1065353216;J[a+708>>2]=0;J[a+712>>2]=0;H[a+716|0]=0;H[a+740|0]=0;J[a+736>>2]=16777216;J[a+764>>2]=0;J[a+756>>2]=0;J[a+760>>2]=0;J[a+748>>2]=0;J[a+752>>2]=0;N[a+732>>2]=1;return a|0}function Il(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;lb(a,b,c);N[b+20>>2]=N[a+80>>2];f=J[a+24>>2];J[b+12>>2]=0;J[b+16>>2]=f;if(f){j=va[J[J[c>>2]+16>>2]](c,76,f)|0;f=J[j+8>>2];n=b,o=va[J[J[c>>2]+28>>2]](c,f)|0,J[n+12>>2]=o;if(J[b+16>>2]>0){g=J[a+32>>2];while(1){d=P(k,80);e=d+g|0;N[f+72>>2]=N[e+72>>2];n=f,o=va[J[J[c>>2]+28>>2]](c,J[e+64>>2])|0,J[n+64>>2]=o;if(!(va[J[J[c>>2]+24>>2]](c,J[(d+J[a+32>>2]|0)+64>>2])|0)){e=J[(d+J[a+32>>2]|0)+64>>2];e=(o=c,p=va[J[J[e>>2]+52>>2]](e)|0,q=1,n=J[J[c>>2]+16>>2],va[n](o|0,p|0,q|0)|0);g=J[(d+J[a+32>>2]|0)+64>>2];q=c,p=e,o=va[J[J[g>>2]+56>>2]](g,J[e+8>>2],c)|0,r=1346455635,s=J[(d+J[a+32>>2]|0)+64>>2],n=J[J[c>>2]+20>>2],va[n](q|0,p|0,o|0,r|0,s|0)}g=J[a+32>>2];h=d+g|0;J[f+68>>2]=J[h+68>>2];e=0;while(1){d=e<<4;i=d+f|0;m=d+h|0;d=0;while(1){l=d<<2;N[i+l>>2]=N[m+l>>2];d=d+1|0;if((d|0)!=4){continue}break}e=e+1|0;if((e|0)!=3){continue}break}e=f+48|0;h=h+48|0;d=0;while(1){i=d<<2;N[i+e>>2]=N[h+i>>2];d=d+1|0;if((d|0)!=4){continue}break}f=f+76|0;k=k+1|0;if((k|0)>2]){continue}break}}va[J[J[c>>2]+20>>2]](c,j,9092,1497453121,J[j+8>>2])}return 8978}function Ik(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=Q(0),f=Q(0),g=Q(0),h=Q(0),i=0,j=Q(0),k=Q(0),l=Q(0),m=Q(0),n=Q(0),o=Q(0),p=Q(0),q=Q(0),r=Q(0),s=Q(0),t=Q(0),u=Q(0),v=Q(0),w=Q(0),x=Q(0),y=Q(0),z=Q(0),A=Q(0),B=Q(0);i=J[a+40>>2];e=N[i+32>>2];f=N[a+32>>2];h=N[i+48>>2];k=N[i+28>>2];g=N[a+28>>2];l=N[i+44>>2];m=N[i+24>>2];t=N[i+40>>2];j=N[a+24>>2];n=Q(va[J[J[i>>2]+48>>2]](i));z=N[b+52>>2];q=N[b+24>>2];u=N[b+20>>2];o=N[b+56>>2];p=N[b+40>>2];r=N[b+36>>2];A=N[b+48>>2];v=N[b+8>>2];w=N[b+4>>2];x=N[b>>2];y=N[b+16>>2];s=N[b+32>>2];J[c+12>>2]=0;B=o;e=Q(e*f);h=Q(h*f);o=f<=Q(0)?e:h;e=f>=Q(0)?e:h;f=Q(Q(o+e)*Q(.5));h=Q(m*j);m=Q(t*j);t=j<=Q(0)?h:m;h=j>=Q(0)?h:m;j=Q(Q(t+h)*Q(.5));k=Q(k*g);l=Q(l*g);m=g<=Q(0)?k:l;k=g>=Q(0)?k:l;g=Q(Q(m+k)*Q(.5));l=Q(B+Q(Q(p*f)+Q(Q(s*j)+Q(r*g))));e=Q(n+Q(Q(o-e)*Q(.5)));o=Q(e*Q(R(p)));p=Q(n+Q(Q(t-h)*Q(.5)));n=Q(n+Q(Q(m-k)*Q(.5)));r=Q(o+Q(Q(p*Q(R(s)))+Q(n*Q(R(r)))));N[c+8>>2]=l-r;s=Q(z+Q(Q(f*q)+Q(Q(j*y)+Q(g*u))));q=Q(Q(e*Q(R(q)))+Q(Q(p*Q(R(y)))+Q(n*Q(R(u)))));N[c+4>>2]=s-q;f=Q(A+Q(Q(f*v)+Q(Q(j*x)+Q(g*w))));g=Q(Q(e*Q(R(v)))+Q(Q(p*Q(R(x)))+Q(n*Q(R(w)))));N[c>>2]=f-g;J[d+12>>2]=0;N[d+8>>2]=r+l;N[d+4>>2]=q+s;N[d>>2]=g+f}function Mi(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;f=J[b+8>>2];a:{if((f|0)<=0){c=0;break a}g=J[b+16>>2];c=0;while(1){d=J[g+(e<<2)>>2];if(!(K[d+204|0]&3)){J[d+208>>2]=c;c=c+1|0}J[d+268>>2]=1065353216;J[d+212>>2]=-1;e=e+1|0;if((f|0)!=(e|0)){continue}break}}f=0;g=0;e=J[a+8>>2];if((e|0)<(c|0)){if(J[a+12>>2]<(c|0)){if(c){f=Ga(c<<3);d=J[a+8>>2]}else{d=e}if((d|0)>0){while(1){h=g<<3;i=h+f|0;h=J[a+16>>2]+h|0;j=J[h+4>>2];J[i>>2]=J[h>>2];J[i+4>>2]=j;g=g+1|0;if((d|0)!=(g|0)){continue}break}}d=J[a+16>>2];if(!(!d|!K[a+20|0])){Fa(d)}J[a+16>>2]=f;H[a+20|0]=1;J[a+12>>2]=c}while(1){d=J[a+16>>2]+(e<<3)|0;J[d>>2]=0;J[d+4>>2]=0;e=e+1|0;if((e|0)!=(c|0)){continue}break}}J[a+8>>2]=c;if((c|0)>0){d=J[a+16>>2];e=0;while(1){f=d+(e<<3)|0;J[f+4>>2]=1;J[f>>2]=e;e=e+1|0;if((e|0)!=(c|0)){continue}break}}b=J[b+68>>2];b=va[J[J[b>>2]+36>>2]](b)|0;c=va[J[J[b>>2]+36>>2]](b)|0;b:{if(!c){break b}e=va[J[J[b>>2]+20>>2]](b)|0;if((c|0)<=0){break b}f=a+4|0;a=0;while(1){d=e+(a<<4)|0;b=J[J[d>>2]>>2];c:{if(!b|K[b+204|0]&7){break c}d=J[J[d+4>>2]>>2];if(!d|K[d+204|0]&7){break c}Cc(f,J[b+208>>2],J[d+208>>2])}a=a+1|0;if((c|0)!=(a|0)){continue}break}}}function Gt(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0;if(Sa(a,J[b+8>>2],e)){Od(b,c,d);return}a:{if(Sa(a,J[b>>2],e)){if(!(J[b+16>>2]!=(c|0)&J[b+20>>2]!=(c|0))){if((d|0)!=1){break a}J[b+32>>2]=1;return}J[b+32>>2]=d;if(J[b+44>>2]!=4){f=a+16|0;h=f+(J[a+12>>2]<<3)|0;d=0;b:{c:{while(1){d:{if(f>>>0>=h>>>0){break d}I[b+52>>1]=0;Nd(f,b,c,c,1,e);if(K[b+54|0]){break d}e:{if(!K[b+53|0]){break e}if(K[b+52|0]){d=1;if(J[b+24>>2]==1){break c}g=1;if(K[a+8|0]&2){break e}break c}g=1;if(!(H[a+8|0]&1)){break c}}f=f+8|0;continue}break}a=4;if(!g){break b}}a=3}J[b+44>>2]=a;if(d&1){break a}}J[b+20>>2]=c;J[b+40>>2]=J[b+40>>2]+1;if(J[b+36>>2]!=1|J[b+24>>2]!=2){break a}H[b+54|0]=1;return}g=J[a+12>>2];h=a+16|0;uc(h,b,c,d,e);f=a+24|0;g=h+(g<<3)|0;if(f>>>0>=g>>>0){break a}a=J[a+8>>2];if(!(!(a&2)&J[b+36>>2]!=1)){while(1){if(K[b+54|0]){break a}uc(f,b,c,d,e);f=f+8|0;if(g>>>0>f>>>0){continue}break}break a}if(!(a&1)){while(1){if(K[b+54|0]|J[b+36>>2]==1){break a}uc(f,b,c,d,e);f=f+8|0;if(g>>>0>f>>>0){continue}break a}}while(1){if(K[b+54|0]|J[b+36>>2]==1&J[b+24>>2]==1){break a}uc(f,b,c,d,e);f=f+8|0;if(g>>>0>f>>>0){continue}break}}}function Yj(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=Q(0),f=Q(0),g=Q(0),h=Q(0),i=Q(0),j=Q(0),k=Q(0),l=Q(0),m=Q(0),n=Q(0),o=Q(0),p=Q(0),q=Q(0),r=Q(0),s=Q(0),t=Q(0),u=Q(0),v=Q(0),w=Q(0),x=Q(0),y=Q(0),z=Q(0),A=Q(0),B=Q(0),C=Q(0),D=Q(0),E=Q(0),F=Q(0);h=N[a+32>>2];f=N[a+48>>2];u=N[a+28>>2];v=N[a+44>>2];w=N[a+24>>2];x=N[a+40>>2];y=Q(va[J[J[a>>2]+48>>2]](a));z=Q(va[J[J[a>>2]+48>>2]](a));A=Q(va[J[J[a>>2]+48>>2]](a));B=N[b+52>>2];i=N[b+24>>2];j=N[b+20>>2];k=N[b+56>>2];l=N[a+28>>2];o=N[a+44>>2];m=N[a+32>>2];C=N[a+48>>2];e=N[b+40>>2];n=N[b+36>>2];D=N[b+48>>2];q=N[b+8>>2];r=N[b>>2];s=N[b+4>>2];t=N[b+16>>2];E=N[a+24>>2];F=N[a+40>>2];g=N[b+32>>2];J[c+12>>2]=0;p=k;k=Q(Q(C+m)*Q(.5));m=Q(Q(F+E)*Q(.5));l=Q(Q(o+l)*Q(.5));o=Q(p+Q(Q(e*k)+Q(Q(g*m)+Q(n*l))));h=Q(A+Q(Q(f-h)*Q(.5)));p=Q(h*Q(R(e)));e=Q(y+Q(Q(x-w)*Q(.5)));f=Q(e*Q(R(g)));g=Q(z+Q(Q(v-u)*Q(.5)));n=Q(p+Q(f+Q(g*Q(R(n)))));N[c+8>>2]=o-n;f=Q(B+Q(Q(k*i)+Q(Q(m*t)+Q(l*j))));i=Q(Q(h*Q(R(i)))+Q(Q(e*Q(R(t)))+Q(g*Q(R(j)))));N[c+4>>2]=f-i;j=Q(D+Q(Q(k*q)+Q(Q(m*r)+Q(l*s))));e=Q(Q(h*Q(R(q)))+Q(Q(e*Q(R(r)))+Q(g*Q(R(s)))));N[c>>2]=j-e;J[d+12>>2]=0;N[d+8>>2]=n+o;N[d+4>>2]=i+f;N[d>>2]=e+j}function Nm(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;J[9109]=J[9109]+1;k=J[a+36>>2];d=c<<16|b;d=(d<<15^-1)+d|0;d=P(d>>>10^d,9);d=d>>>6^d;d=(d<<11^-1)+d|0;i=k+((J[a+12>>2]-1&(d>>>16^d))<<2)|0;d=J[i>>2];a:{if((d|0)==-1){break a}f=J[a+56>>2];g=J[a+16>>2];e=d;while(1){j=g+P(e,12)|0;if(!(J[j>>2]==(b|0)&J[j+4>>2]==(c|0))){e=J[(e<<2)+f>>2];if((e|0)!=-1){continue}break a}break}l=J[(g+P(e,12)|0)+8>>2];b:{c:{if((d|0)==(e|0)){break c}while(1){b=d;d=J[(b<<2)+f>>2];if((e|0)!=(d|0)){continue}break}if((b|0)==-1){break c}J[(b<<2)+f>>2]=J[(e<<2)+f>>2];break b}J[i>>2]=J[(e<<2)+f>>2]}h=J[a+8>>2]-1|0;if((h|0)!=(e|0)){d:{e:{g=g+P(h,12)|0;b=J[g+4>>2]<<16|J[g>>2];b=(b<<15^-1)+b|0;b=P(b>>>10^b,9);b=b>>>6^b;b=(b<<11^-1)+b|0;i=J[a+12>>2]-1&(b>>>16^b);d=k+(i<<2)|0;b=J[d>>2];if((h|0)==(b|0)){break e}while(1){c=b;b=J[(b<<2)+f>>2];if((h|0)!=(b|0)){continue}break}if((c|0)==-1){break e}J[(c<<2)+f>>2]=J[(h<<2)+f>>2];break d}J[d>>2]=J[(h<<2)+f>>2]}b=J[g+4>>2];J[j>>2]=J[g>>2];J[j+4>>2]=b;J[j+8>>2]=J[g+8>>2];b=J[a+36>>2]+(i<<2)|0;J[J[a+56>>2]+(e<<2)>>2]=J[b>>2];J[b>>2]=e;e=J[a+8>>2]-1|0}J[a+8>>2]=e}return l|0}function is(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0;f=J[b+4>>2];J[a+40>>2]=J[b>>2];J[a+44>>2]=f;f=J[b+12>>2];J[a+48>>2]=J[b+8>>2];J[a+52>>2]=f;b=J[c+4>>2];J[a+56>>2]=J[c>>2];J[a+60>>2]=b;f=J[c+12>>2];b=a- -64|0;J[b>>2]=J[c+8>>2];J[b+4>>2]=f;H[a+152|0]=e;J[a+12>>2]=d;J[a+4>>2]=1065353216;J[a+8>>2]=0;c=J[a+136>>2];if((c|0)<0){b=J[a+144>>2];if(J[a+140>>2]<0){if(!(!b|!K[a+148|0])){Fa(b)}H[a+148|0]=1;J[a+140>>2]=0;J[a+144>>2]=0;b=0}d=b;b=c<<2;Ka(d+b|0,0,0-b|0)}J[a+136>>2]=0;c=J[a+116>>2];if((c|0)<0){b=J[a+124>>2];if(J[a+120>>2]<0){if(!(!b|!K[a+128|0])){Fa(b)}H[a+128|0]=1;J[a+120>>2]=0;J[a+124>>2]=0;b=0}d=b;b=c<<2;Ka(d+b|0,0,0-b|0)}J[a+116>>2]=0;b=J[a+24>>2];if((b|0)<0){if(J[a+28>>2]<0){c=J[a+32>>2];if(!(!c|!K[a+36|0])){Fa(c)}H[a+36|0]=1;J[a+28>>2]=0;J[a+32>>2]=0}while(1){J[J[a+32>>2]+(b<<2)>>2]=0;b=b+1|0;if(b){continue}break}}J[a+24>>2]=0;if((J[a+96>>2]&J[a+100>>2])<0){b=J[a+104>>2];if(!(!b|!K[a+108|0])){Fa(b)}H[a+108|0]=1;J[a+100>>2]=0;J[a+104>>2]=0}J[a+96>>2]=0;if((J[a+76>>2]&J[a+80>>2])<0){b=J[a+84>>2];if(!(!b|!K[a+88|0])){Fa(b)}H[a+88|0]=1;J[a+80>>2]=0;J[a+84>>2]=0}J[a+76>>2]=0}function Pa(a,b,c){var d=0,e=0,f=0;if(c>>>0>=512){pa(a|0,b|0,c|0);return a}e=a+c|0;a:{if(!((a^b)&3)){b:{if(!(a&3)){c=a;break b}if(!c){c=a;break b}c=a;while(1){H[c|0]=K[b|0];b=b+1|0;c=c+1|0;if(!(c&3)){break b}if(c>>>0>>0){continue}break}}d=e&-4;c:{if(d>>>0<64){break c}f=d+-64|0;if(f>>>0>>0){break c}while(1){J[c>>2]=J[b>>2];J[c+4>>2]=J[b+4>>2];J[c+8>>2]=J[b+8>>2];J[c+12>>2]=J[b+12>>2];J[c+16>>2]=J[b+16>>2];J[c+20>>2]=J[b+20>>2];J[c+24>>2]=J[b+24>>2];J[c+28>>2]=J[b+28>>2];J[c+32>>2]=J[b+32>>2];J[c+36>>2]=J[b+36>>2];J[c+40>>2]=J[b+40>>2];J[c+44>>2]=J[b+44>>2];J[c+48>>2]=J[b+48>>2];J[c+52>>2]=J[b+52>>2];J[c+56>>2]=J[b+56>>2];J[c+60>>2]=J[b+60>>2];b=b- -64|0;c=c- -64|0;if(f>>>0>=c>>>0){continue}break}}if(c>>>0>=d>>>0){break a}while(1){J[c>>2]=J[b>>2];b=b+4|0;c=c+4|0;if(d>>>0>c>>>0){continue}break}break a}if(e>>>0<4){c=a;break a}d=e-4|0;if(d>>>0>>0){c=a;break a}c=a;while(1){H[c|0]=K[b|0];H[c+1|0]=K[b+1|0];H[c+2|0]=K[b+2|0];H[c+3|0]=K[b+3|0];b=b+4|0;c=c+4|0;if(d>>>0>=c>>>0){continue}break}}if(c>>>0>>0){while(1){H[c|0]=K[b|0];b=b+1|0;c=c+1|0;if((e|0)!=(c|0)){continue}break}}return a}function Nq(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0;f=J[b+4>>2];J[a+40>>2]=J[b>>2];J[a+44>>2]=f;f=J[b+12>>2];J[a+48>>2]=J[b+8>>2];J[a+52>>2]=f;b=J[c+4>>2];J[a+56>>2]=J[c>>2];J[a+60>>2]=b;f=J[c+12>>2];b=a- -64|0;J[b>>2]=J[c+8>>2];J[b+4>>2]=f;H[a+152|0]=e;J[a+12>>2]=d;J[a+4>>2]=1065353216;c=J[a+136>>2];if((c|0)<0){b=J[a+144>>2];if(J[a+140>>2]<0){if(!(!b|!K[a+148|0])){Fa(b)}H[a+148|0]=1;J[a+140>>2]=0;J[a+144>>2]=0;b=0}d=b;b=c<<2;Ka(d+b|0,0,0-b|0)}J[a+136>>2]=0;c=J[a+116>>2];if((c|0)<0){b=J[a+124>>2];if(J[a+120>>2]<0){if(!(!b|!K[a+128|0])){Fa(b)}H[a+128|0]=1;J[a+120>>2]=0;J[a+124>>2]=0;b=0}d=b;b=c<<2;Ka(d+b|0,0,0-b|0)}J[a+116>>2]=0;b=J[a+24>>2];if((b|0)<0){if(J[a+28>>2]<0){c=J[a+32>>2];if(!(!c|!K[a+36|0])){Fa(c)}H[a+36|0]=1;J[a+28>>2]=0;J[a+32>>2]=0}while(1){J[J[a+32>>2]+(b<<2)>>2]=0;b=b+1|0;if(b){continue}break}}J[a+24>>2]=0;if((J[a+96>>2]&J[a+100>>2])<0){b=J[a+104>>2];if(!(!b|!K[a+108|0])){Fa(b)}H[a+108|0]=1;J[a+100>>2]=0;J[a+104>>2]=0}J[a+96>>2]=0;if((J[a+76>>2]&J[a+80>>2])<0){b=J[a+84>>2];if(!(!b|!K[a+88|0])){Fa(b)}H[a+88|0]=1;J[a+80>>2]=0;J[a+84>>2]=0}J[a+76>>2]=0}function im(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;lb(a,b,c);d=J[a+56>>2];va[J[J[d>>2]+56>>2]](d,b+12|0,c)|0;N[b+52>>2]=N[a+20>>2];a:{b:{if(!J[a+60>>2]){break b}if(va[J[J[c>>2]+52>>2]](c)&1){break b}d=va[J[J[c>>2]+24>>2]](c,J[a+60>>2])|0;if(d){J[b+44>>2]=0;J[b+40>>2]=d;break a}d=va[J[J[c>>2]+28>>2]](c,J[a+60>>2])|0;J[b+44>>2]=0;J[b+40>>2]=d;d=J[a+60>>2];d=(g=c,h=va[J[J[d>>2]+12>>2]](d)|0,i=1,f=J[J[c>>2]+16>>2],va[f](g|0,h|0,i|0)|0);e=J[a+60>>2];i=c,h=d,g=va[J[J[e>>2]+16>>2]](e,J[d+8>>2],c)|0,j=1213612625,k=J[a+60>>2],f=J[J[c>>2]+20>>2],va[f](i|0,h|0,g|0,j|0,k|0);break a}J[b+40>>2]=0;J[b+44>>2]=0}c:{d:{if(!J[a+64>>2]){break d}if(va[J[J[c>>2]+52>>2]](c)&2){break d}d=va[J[J[c>>2]+24>>2]](c,J[a+64>>2])|0;if(d){J[b+48>>2]=d;break c}f=b,k=va[J[J[c>>2]+28>>2]](c,J[a+64>>2])|0,J[f+48>>2]=k;d=J[a+64>>2];d=(k=c,j=va[J[J[d>>2]+8>>2]](d)|0,g=1,f=J[J[c>>2]+16>>2],va[f](k|0,j|0,g|0)|0);e=J[a+64>>2];g=c,j=d,k=va[J[J[e>>2]+12>>2]](e,J[d+8>>2],c)|0,h=1346456916,i=J[a+64>>2],f=J[J[c>>2]+20>>2],va[f](g|0,j|0,k|0,h|0,i|0);break c}J[b+48>>2]=0}J[b+56>>2]=0;return 8866}function Ic(a,b,c,d,e,f){var g=Q(0),h=Q(0),i=Q(0),j=Q(0),k=Q(0),l=Q(0),m=Q(0),n=Q(0),o=Q(0),p=Q(0),q=Q(0),r=Q(0),s=Q(0),t=Q(0),u=Q(0),v=Q(0);J[a>>2]=0;J[a+4>>2]=0;J[a+8>>2]=0;J[a+12>>2]=0;q=N[c+24>>2];g=N[c+20>>2];r=N[c+40>>2];n=N[c+36>>2];o=N[c+8>>2];j=N[c>>2];k=N[c+4>>2];l=N[c+16>>2];i=N[b+8>>2];m=N[c+32>>2];h=N[b>>2];p=N[b+4>>2];J[a+28>>2]=0;r=Q(Q(r*i)+Q(Q(m*h)+Q(p*n)));N[a+24>>2]=r;q=Q(Q(q*i)+Q(Q(l*h)+Q(p*g)));N[a+20>>2]=q;p=Q(Q(o*i)+Q(Q(j*h)+Q(k*p)));N[a+16>>2]=p;o=N[d+24>>2];j=N[d+20>>2];n=N[d+40>>2];k=N[d+36>>2];l=N[d+8>>2];m=N[d>>2];s=N[d+4>>2];t=N[d+16>>2];i=N[b+8>>2];g=N[d+32>>2];u=N[b>>2];h=N[b+4>>2];J[a+44>>2]=0;v=g;g=Q(-u);n=Q(Q(Q(v*g)-Q(k*h))-Q(n*i));N[a+40>>2]=n;o=Q(Q(Q(t*g)-Q(j*h))-Q(o*i));N[a+36>>2]=o;i=Q(Q(Q(m*g)-Q(s*h))-Q(l*i));N[a+32>>2]=i;h=N[e>>2];g=N[e+4>>2];j=N[e+8>>2];J[a+60>>2]=0;j=Q(j*r);N[a+56>>2]=j;g=Q(g*q);N[a+52>>2]=g;h=Q(p*h);N[a+48>>2]=h;k=N[f>>2];l=N[f+4>>2];m=N[f+8>>2];J[a+76>>2]=0;m=Q(m*n);N[a+72>>2]=m;l=Q(l*o);N[a+68>>2]=l;k=Q(i*k);N[a+64>>2]=k;N[a+80>>2]=Q(Q(j*r)+Q(Q(h*p)+Q(q*g)))+Q(Q(m*n)+Q(Q(k*i)+Q(o*l)))}function vb(a,b,c,d,e,f,g,h){var i=Q(0),j=Q(0),k=Q(0),l=Q(0),m=Q(0),n=0,o=Q(0),p=0,q=Q(0),r=Q(0),s=Q(0),t=Q(0),u=Q(0),v=Q(0),w=0,x=0,y=0,z=Q(0),A=Q(0),B=Q(0);w=J[(g?20:16)+d>>2];p=e<<2;n=J[(g?12:8)+d>>2];N[p+n>>2]=N[f>>2];x=p+4|0;N[x+n>>2]=N[f+4>>2];y=n;n=p+8|0;N[y+n>>2]=N[f+8>>2];N[w+p>>2]=-N[f>>2];N[w+x>>2]=-N[f+4>>2];N[n+w>>2]=-N[f+8>>2];if(!g){i=N[a+1284>>2];o=N[b+52>>2];q=N[a+1288>>2];r=N[b+56>>2];z=N[a+1292>>2];m=N[c+56>>2];s=N[a+1356>>2];t=N[a+1348>>2];u=N[c+52>>2];v=N[a+1352>>2];A=N[b+48>>2];j=N[f+8>>2];k=N[f+4>>2];B=N[c+48>>2];l=N[f>>2];f=0;b=ta-16|0;J[b+12>>2]=0;t=Q(t-B);u=Q(v-u);v=Q(Q(k*t)-Q(l*u));N[b+8>>2]=v;m=Q(s-m);s=Q(Q(l*m)-Q(j*t));N[b+4>>2]=s;m=Q(Q(u*j)-Q(k*m));N[b>>2]=m;q=Q(q-o);r=Q(z-r);o=Q(Q(j*q)-Q(k*r));i=Q(i-A);k=Q(Q(k*i)-Q(l*q));j=Q(Q(r*l)-Q(j*i));if(!(!K[a+1452|0]|h)){l=N[a+1444>>2];i=N[a+1448>>2];N[b+8>>2]=i*v;N[b+4>>2]=i*s;N[b>>2]=m*i;k=Q(l*k);o=Q(o*l);j=Q(l*j)}a=J[d+12>>2]+(e<<2)|0;N[a+8>>2]=k;N[a+4>>2]=j;N[a>>2]=o;a=J[d+20>>2];while(1){N[a+(e+f<<2)>>2]=-N[b+(f<<2)>>2];f=f+1|0;if((f|0)!=3){continue}break}}}function Im(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=Q(0),g=0,h=Q(0),i=Q(0),j=Q(0),k=Q(0),l=Q(0),m=0,n=Q(0),o=Q(0);d=ta-32|0;ta=d;a=J[a+12>>2];a:{if(!a){break a}J[e+4>>2]=a;g=J[b+12>>2];m=J[c+12>>2];i=Q(N[g+56>>2]-N[m+56>>2]);l=Q(N[g+48>>2]-N[m+48>>2]);j=Q(N[g+52>>2]-N[m+52>>2]);f=Q(Q(i*i)+Q(Q(l*l)+Q(j*j)));g=J[c+4>>2];k=N[g+20>>2];h=N[g+36>>2];b=J[b+4>>2];n=N[b+20>>2];o=N[b+36>>2];g=J[a+844>>2];if((g|0)>0){b=0;while(1){Ke((a+P(b,208)|0)+4|0);b=b+1|0;g=J[a+844>>2];if((b|0)<(g|0)){continue}break}}f=Q(Y(f));k=Q(h*k);h=Q(o*n);b:{if(!g){break b}b=J[9400];if(!b){break b}J[d+16>>2]=a;va[b|0](d+16|0)}J[a+844>>2]=0;h=Q(h+k);if(f>Q(h+N[e+32>>2])){break a}J[d+24>>2]=0;J[d+28>>2]=0;J[d+16>>2]=1065353216;J[d+20>>2]=0;h=Q(f-h);c:{if(!(f>Q(1.1920928955078125e-7))){f=Q(1);i=Q(0);j=Q(0);break c}f=Q(Q(1)/f);i=Q(i*f);N[d+24>>2]=i;j=Q(j*f);N[d+20>>2]=j;f=Q(l*f);N[d+16>>2]=f}a=J[c+12>>2];l=N[a+52>>2];n=N[a+56>>2];o=N[a+48>>2];J[d+12>>2]=0;N[d>>2]=o+Q(k*f);N[d+8>>2]=n+Q(k*i);N[d+4>>2]=l+Q(k*j);va[J[J[e>>2]+16>>2]](e,d+16|0,d,h)}ta=d+32|0}function Ll(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=Q(0),f=Q(0),g=Q(0),h=Q(0),i=Q(0),j=Q(0),k=Q(0),l=Q(0),m=Q(0),n=Q(0),o=Q(0),p=Q(0),q=Q(0),r=Q(0),s=Q(0),t=Q(0),u=Q(0),v=Q(0),w=Q(0),x=Q(0),y=Q(0);a:{if(J[a+24>>2]){g=N[a- -64>>2];e=N[a+48>>2];h=Q(Q(g+e)*Q(.5));f=N[a+60>>2];k=N[a+44>>2];i=Q(Q(f+k)*Q(.5));l=Q(Q(g-e)*Q(.5));u=Q(Q(f-k)*Q(.5));e=N[a+56>>2];f=N[a+40>>2];g=Q(Q(e+f)*Q(.5));e=Q(Q(e-f)*Q(.5));break a}e=Q(0)}v=Q(va[J[J[a>>2]+48>>2]](a));w=Q(va[J[J[a>>2]+48>>2]](a));p=Q(va[J[J[a>>2]+48>>2]](a));x=N[b+52>>2];f=N[b+20>>2];k=N[b+24>>2];o=N[b+56>>2];m=N[b+36>>2];j=N[b+40>>2];y=N[b+48>>2];q=N[b+8>>2];r=N[b>>2];s=N[b+4>>2];t=N[b+16>>2];n=N[b+32>>2];J[c+12>>2]=0;o=Q(o+Q(Q(h*j)+Q(Q(g*n)+Q(i*m))));l=Q(l+p);p=Q(l*Q(R(j)));e=Q(e+v);j=Q(u+w);m=Q(p+Q(Q(e*Q(R(n)))+Q(j*Q(R(m)))));N[c+8>>2]=o-m;n=Q(x+Q(Q(h*k)+Q(Q(g*t)+Q(i*f))));f=Q(Q(l*Q(R(k)))+Q(Q(e*Q(R(t)))+Q(j*Q(R(f)))));N[c+4>>2]=n-f;h=Q(y+Q(Q(h*q)+Q(Q(g*r)+Q(i*s))));i=Q(Q(l*Q(R(q)))+Q(Q(e*Q(R(r)))+Q(j*Q(R(s)))));N[c>>2]=h-i;J[d+12>>2]=0;N[d+8>>2]=m+o;N[d+4>>2]=f+n;N[d>>2]=i+h}function gb(a,b,c){var d=0,e=Q(0),f=0,g=0,h=Q(0),i=Q(0),j=Q(0),k=Q(0),l=Q(0),m=Q(0),n=Q(0),o=Q(0),p=Q(0),q=Q(0),r=Q(0),s=Q(0),t=Q(0),u=Q(0),v=0,w=Q(0),x=Q(0),y=Q(0);d=ta-48|0;ta=d;f=J[b+120>>2];v=J[b+124>>2];g=J[b>>2]+(v>>1)|0;if(v&1){f=J[f+J[g>>2]>>2]}va[f|0](d,g,c);h=N[c+8>>2];i=N[c+4>>2];k=N[c>>2];f=J[b+124>>2];g=J[b+4>>2]+(f>>1)|0;c=J[b+120>>2];c=f&1?J[J[g>>2]+c>>2]:c;l=N[b+16>>2];m=N[b+12>>2];n=N[b+32>>2];o=N[b+24>>2];p=N[b+28>>2];q=N[b+48>>2];e=N[b+40>>2];r=N[b+44>>2];s=N[b+8>>2];J[d+28>>2]=0;j=e;e=Q(-k);N[d+24>>2]=Q(Q(j*e)-Q(r*i))-Q(q*h);N[d+20>>2]=Q(Q(o*e)-Q(p*i))-Q(n*h);N[d+16>>2]=Q(Q(s*e)-Q(m*i))-Q(l*h);va[c|0](d+32|0,g,d+16|0);w=N[b+104>>2];x=N[b- -64>>2];y=N[b+60>>2];h=N[b+108>>2];i=N[b+80>>2];k=N[b+72>>2];l=N[b+76>>2];m=N[b+112>>2];n=N[b+96>>2];o=N[b+88>>2];p=N[b+92>>2];q=N[b+56>>2];j=N[d+40>>2];t=N[d+32>>2];u=N[d+36>>2];e=N[d>>2];r=N[d+4>>2];s=N[d+8>>2];J[a+12>>2]=0;N[a+8>>2]=s-Q(m+Q(Q(j*n)+Q(Q(t*o)+Q(u*p))));N[a+4>>2]=r-Q(h+Q(Q(j*i)+Q(Q(t*k)+Q(u*l))));N[a>>2]=e-Q(w+Q(Q(j*x)+Q(Q(t*q)+Q(u*y))));ta=d+48|0}function Ho(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=Q(0),g=0,h=0,i=Q(0),j=0,k=Q(0);g=ta-16|0;ta=g;J[9105]=J[9105]+1;if(J[a+4>>2]&2){d=J[b+192>>2];f=Q(va[J[J[d>>2]+20>>2]](d,N[8329]));N[g+12>>2]=f;d=J[c+192>>2];i=Q(va[J[J[d>>2]+20>>2]](d,N[8329]));N[g+8>>2]=i;d=f>2];f=N[c+184>>2];i=N[b+184>>2];e=J[a+72>>2];d=J[e+12>>2];a:{b:{if(d){J[e+12>>2]=J[d>>2];J[e+8>>2]=J[e+8>>2]-1;break b}d=0;if(K[a+4|0]&4){break a}d=Ga(868)}f=f>i?i:f;J[d>>2]=1025;h=d+836|0;e=d+4|0;while(1){Ka(e+116|0,0,52);e=e+208|0;if((h|0)!=(e|0)){continue}break}N[d+852>>2]=f;N[d+848>>2]=k;J[d+844>>2]=0;J[d+840>>2]=c;J[d+836>>2]=b;c=J[a+12>>2];J[d+864>>2]=c;c:{if(J[a+16>>2]!=(c|0)){break c}h=c?c<<1:1;if((h|0)<=(c|0)){break c}d:{if(!h){b=0;break d}b=Ga(h<<2);c=J[a+12>>2]}if((c|0)>0){e=0;while(1){j=e<<2;J[j+b>>2]=J[J[a+20>>2]+j>>2];e=e+1|0;if((e|0)!=(c|0)){continue}break}}e=J[a+20>>2];if(!(!e|!K[a+24|0])){Fa(e);c=J[a+12>>2]}J[a+20>>2]=b;H[a+24|0]=1;J[a+16>>2]=h}J[J[a+20>>2]+(c<<2)>>2]=d;J[a+12>>2]=c+1}ta=g+16|0;return d|0}function Nk(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=Q(0),g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=Q(0),p=Q(0),q=Q(0),r=Q(0);i=ta-2048|0;ta=i;a:{if((d|0)<=0){break a}while(1){J[((e<<4)+c|0)+12>>2]=-581039253;e=e+1|0;if((e|0)!=(d|0)){continue}break}if((d|0)<=0){break a}while(1){if((va[J[J[a>>2]+96>>2]](a)|0)>0){e=m<<4;n=e+b|0;j=c+e|0;k=0;while(1){l=128;b:{c:{if(((va[J[J[a>>2]+96>>2]](a)|0)-k|0)>127){break c}l=(va[J[J[a>>2]+96>>2]](a)|0)-k|0;if((l|0)>0){break c}f=Q(-34028234663852886e22);g=-1;break b}e=0;while(1){va[J[J[a>>2]+108>>2]](a,e,(e<<4)+i|0);e=e+1|0;if((l|0)!=(e|0)){continue}break}p=N[n+8>>2];q=N[n+4>>2];r=N[n>>2];e=0;g=-1;f=Q(-34028234663852886e22);while(1){h=(e<<4)+i|0;o=Q(Q(N[h+8>>2]*p)+Q(Q(N[h>>2]*r)+Q(q*N[h+4>>2])));h=o>f;f=h?o:f;g=h?e:g;e=e+1|0;if((l|0)!=(e|0)){continue}break}}if(N[j+12>>2]>2]=J[e+8>>2];g=J[e+4>>2];J[j>>2]=J[e>>2];J[j+4>>2]=g;N[j+12>>2]=f}k=k+128|0;if((va[J[J[a>>2]+96>>2]](a)|0)>(k|0)){continue}break}}m=m+1|0;if((m|0)!=(d|0)){continue}break}}ta=i+2048|0}function Rb(a,b,c){var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=Q(0),n=Q(0),o=Q(0),p=Q(0),q=Q(0),r=Q(0);i=ta-256|0;ta=i;a:{if(!a){break a}m=N[b+24>>2];n=N[b+20>>2];o=N[b+16>>2];p=N[b+8>>2];q=N[b+4>>2];r=N[b>>2];J[i>>2]=a;e=i;a=64;b=1;while(1){b:{c:{d:{d=b-1|0;k=d<<2;g=J[k+e>>2];e:{if(!(N[g>>2]<=o)|!(N[g+16>>2]>=r)|(!(N[g+4>>2]<=n)|!(N[g+20>>2]>=q))){break e}if(!(N[g+8>>2]<=m)|!(N[g+24>>2]>=p)){break e}if(J[g+40>>2]){if((a|0)!=(d|0)){break d}f=a?a<<1:1;if((f|0)<(b|0)){break d}h=0;d=0;if(f){d=Ga(f<<2)}if(a){while(1){l=h<<2;J[l+d>>2]=J[e+l>>2];h=h+1|0;if((h|0)!=(a|0)){continue}break}}a=j;j=1;if(!a){break c}Fa(e);break c}va[J[J[c>>2]+12>>2]](c,g)}b=d;break b}f=a;d=e}J[d+k>>2]=J[g+36>>2];f:{if((b|0)!=(f|0)){a=f;e=d;break f}a=b?b<<1:1;if((b|0)>=(a|0)){a=b;e=d;break f}h=0;e=0;if(a){e=Ga(a<<2)}if((b|0)>0){while(1){f=h<<2;J[f+e>>2]=J[d+f>>2];h=h+1|0;if((h|0)!=(b|0)){continue}break}}f=j;j=1;if(!f){break f}Fa(d)}J[(b<<2)+e>>2]=J[g+40>>2];b=b+1|0}if((b|0)>0){continue}break}if(!j){break a}Fa(e)}ta=i+256|0}function sg(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;f=ta-96|0;ta=f;e=J[a+8>>2];J[b+216>>2]=e;a:{if(J[a+12>>2]!=(e|0)){break a}g=e?e<<1:1;if((g|0)<=(e|0)){break a}if(g){i=Ga(g<<2);e=J[a+8>>2]}if((e|0)>0){while(1){j=h<<2;J[j+i>>2]=J[J[a+16>>2]+j>>2];h=h+1|0;if((h|0)!=(e|0)){continue}break}}h=J[a+16>>2];if(!(!h|!K[a+20|0])){Fa(h);e=J[a+8>>2]}J[a+16>>2]=i;H[a+20|0]=1;J[a+12>>2]=g}J[J[a+16>>2]+(e<<2)>>2]=b;J[a+8>>2]=e+1;e=J[b+16>>2];J[f+40>>2]=J[b+12>>2];J[f+44>>2]=e;e=J[b+8>>2];J[f+32>>2]=J[b+4>>2];J[f+36>>2]=e;e=J[b+32>>2];J[f+56>>2]=J[b+28>>2];J[f+60>>2]=e;e=J[b+24>>2];J[f+48>>2]=J[b+20>>2];J[f+52>>2]=e;e=J[b+48>>2];J[f+72>>2]=J[b+44>>2];J[f+76>>2]=e;e=J[b+40>>2];J[f+64>>2]=J[b+36>>2];J[f+68>>2]=e;e=J[b+64>>2];J[f+88>>2]=J[b+60>>2];J[f+92>>2]=e;e=J[b+56>>2];J[f+80>>2]=J[b+52>>2];J[f+84>>2]=e;e=J[b+192>>2];g=f+16|0;va[J[J[e>>2]+8>>2]](e,f+32|0,g,f);e=J[a+68>>2];k=b,l=va[J[J[e>>2]+8>>2]](e,g,f,J[J[b+192>>2]+4>>2],b,c,d,J[a+24>>2])|0,J[k+188>>2]=l;ta=f+96|0}function Ok(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=Q(0),f=Q(0),g=Q(0),h=Q(0),i=0,j=0,k=0,l=0,m=Q(0),n=Q(0);i=ta-2048|0;ta=i;J[a>>2]=0;J[a+4>>2]=0;J[a+8>>2]=0;J[a+12>>2]=0;g=N[c+8>>2];e=N[c>>2];h=N[c+4>>2];f=Q(Q(g*g)+Q(Q(e*e)+Q(h*h)));a:{if(f>2]+96>>2]](b)|0)>0){h=Q(-0xde0b6b000000000);while(1){j=128;b:{c:{if(((va[J[J[b>>2]+96>>2]](b)|0)-k|0)>127){break c}j=(va[J[J[b>>2]+96>>2]](b)|0)-k|0;if((j|0)>0){break c}e=Q(-34028234663852886e22);l=-1;break b}c=0;d=0;while(1){va[J[J[b>>2]+108>>2]](b,d,(d<<4)+i|0);d=d+1|0;if((j|0)!=(d|0)){continue}break}l=-1;e=Q(-34028234663852886e22);while(1){d=(c<<4)+i|0;g=Q(Q(N[d+8>>2]*m)+Q(Q(N[d>>2]*f)+Q(n*N[d+4>>2])));d=g>e;e=d?g:e;l=d?c:l;c=c+1|0;if((j|0)!=(c|0)){continue}break}}if(e>h){d=(l<<4)+i|0;c=J[d+12>>2];J[a+8>>2]=J[d+8>>2];J[a+12>>2]=c;c=J[d+4>>2];J[a>>2]=J[d>>2];J[a+4>>2]=c;h=e}k=k+128|0;if((va[J[J[b>>2]+96>>2]](b)|0)>(k|0)){continue}break}}ta=i+2048|0}function $c(a,b,c,d){var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;g=ta-48|0;ta=g;e=J[a+12>>2]+P((c+d|0)/2|0,24)|0;f=J[e+20>>2];J[g+16>>2]=J[e+16>>2];J[g+20>>2]=f;f=J[e+12>>2];J[g+8>>2]=J[e+8>>2];J[g+12>>2]=f;f=J[e+4>>2];J[g>>2]=J[e>>2];J[g+4>>2]=f;e=c;f=d;while(1){i=e;while(1){e=i;i=e+1|0;h=P(e,24);if(Ve(b,h+J[a+12>>2]|0,g)){continue}break}j=f;while(1){f=j;j=f-1|0;k=P(f,24);if(Ve(b,g,k+J[a+12>>2]|0)){continue}break}if((e|0)<=(f|0)){f=J[a+12>>2];e=f+h|0;h=e+16|0;l=J[h+4>>2];J[g+40>>2]=J[h>>2];J[g+44>>2]=l;h=J[e+12>>2];J[g+32>>2]=J[e+8>>2];J[g+36>>2]=h;h=J[e+4>>2];J[g+24>>2]=J[e>>2];J[g+28>>2]=h;f=f+k|0;h=J[f+4>>2];J[e>>2]=J[f>>2];J[e+4>>2]=h;h=J[f+12>>2];J[e+8>>2]=J[f+8>>2];J[e+12>>2]=h;h=J[f+20>>2];J[e+16>>2]=J[f+16>>2];J[e+20>>2]=h;f=J[g+28>>2];e=J[a+12>>2]+k|0;J[e>>2]=J[g+24>>2];J[e+4>>2]=f;f=J[g+44>>2];J[e+16>>2]=J[g+40>>2];J[e+20>>2]=f;f=J[g+36>>2];J[e+8>>2]=J[g+32>>2];J[e+12>>2]=f;f=j;e=i}if((e|0)<=(f|0)){continue}break}if((c|0)<(f|0)){$c(a,b,c,f)}if((d|0)>(e|0)){$c(a,b,e,d)}ta=g+48|0}function Hj(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=Q(0),i=Q(0),j=Q(0),k=Q(0),l=Q(0),m=Q(0);e=ta-688|0;ta=e;f=ec(e+576|0);J[f+4>>2]=1;J[f>>2]=15848;g=J[b+12>>2];J[f+72>>2]=J[b+8>>2];J[f+76>>2]=g;g=J[b+4>>2];J[f+64>>2]=J[b>>2];J[f+68>>2]=g;g=J[b+28>>2];J[f+88>>2]=J[b+24>>2];J[f+92>>2]=g;g=J[b+20>>2];J[f+80>>2]=J[b+16>>2];J[f+84>>2]=g;g=J[b+44>>2];J[f+104>>2]=J[b+40>>2];J[f+108>>2]=g;g=J[b+36>>2];J[f+96>>2]=J[b+32>>2];J[f+100>>2]=g;N[f+52>>2]=N[a+204>>2];H[e+548|0]=0;J[e+524>>2]=953267991;J[e+212>>2]=22716;b=Re(e+188|0,J[a+4>>2],f,e+216|0,e+212|0);J[e+12>>2]=13172;J[e+176>>2]=1065353216;J[e+180>>2]=0;N[e+184>>2]=N[a+208>>2];g=b;b=a+136|0;a:{if(!Pe(g,a+8|0,a+72|0,b,b,e+12|0)){break a}h=N[e+152>>2];i=N[e+144>>2];j=N[e+148>>2];k=Q(Q(h*h)+Q(Q(i*i)+Q(j*j)));if(!(k>Q(9999999747378752e-20))){break a}l=N[e+176>>2];if(!(l>2])){break a}m=h;h=Q(Q(1)/Q(Y(k)));N[e+152>>2]=m*h;N[e+148>>2]=j*h;N[e+144>>2]=i*h;Q(va[J[J[a>>2]+12>>2]](a,e+144|0,e+160|0,l,c,d))}Hb(f);ta=e+688|0}function ef(a,b,c,d,e,f,g){var h=Q(0),i=Q(0),j=0,k=0,l=Q(0),m=Q(0),n=Q(0),o=0;J[d>>2]=2139095039;J[e>>2]=-8388609;o=J[a+8>>2];if((o|0)<=0){h=Q(-34028234663852886e22)}else{while(1){k=J[a+16>>2]+(j<<4)|0;h=N[k+8>>2];i=N[k>>2];l=N[k+4>>2];m=Q(Q(Q(h*N[b+40>>2])+Q(Q(i*N[b+32>>2])+Q(l*N[b+36>>2])))+N[b+56>>2]);n=Q(Q(Q(h*N[b+8>>2])+Q(Q(i*N[b>>2])+Q(l*N[b+4>>2])))+N[b+48>>2]);i=Q(Q(Q(h*N[b+24>>2])+Q(Q(i*N[b+16>>2])+Q(l*N[b+20>>2])))+N[b+52>>2]);h=Q(Q(m*N[c+8>>2])+Q(Q(n*N[c>>2])+Q(i*N[c+4>>2])));if(h>2]){N[d>>2]=h;J[f+12>>2]=0;N[f+8>>2]=m;N[f+4>>2]=i;N[f>>2]=n}if(h>N[e>>2]){N[e>>2]=h;J[g+12>>2]=0;N[g+8>>2]=m;N[g+4>>2]=i;N[g>>2]=n}j=j+1|0;if((o|0)!=(j|0)){continue}break}h=N[e>>2]}i=N[d>>2];if(h>2]=h;N[e>>2]=i;b=J[f+12>>2];a=ta-16|0;J[a+8>>2]=J[f+8>>2];J[a+12>>2]=b;b=J[f+4>>2];J[a>>2]=J[f>>2];J[a+4>>2]=b;b=J[g+12>>2];J[f+8>>2]=J[g+8>>2];J[f+12>>2]=b;b=J[g+4>>2];J[f>>2]=J[g>>2];J[f+4>>2]=b;b=J[a+12>>2];J[g+8>>2]=J[a+8>>2];J[g+12>>2]=b;b=J[a+4>>2];J[g>>2]=J[a>>2];J[g+4>>2]=b}}function af(a,b,c,d){var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;h=ta-16|0;ta=h;while(1){m=c;g=J[a+12>>2]+((c+d|0)/2<<4)|0;n=J[g+8>>2];k=J[g+4>>2];l=J[g>>2];g=d;while(1){i=J[a+12>>2];while(1){a:{f=(c<<4)+i|0;e=J[f+4>>2];b:{if((e|0)<(k|0)){break b}if((e|0)!=(k|0)){break a}e=J[f>>2];if((e|0)<(l|0)){break b}if((e|0)!=(l|0)|J[f+8>>2]>=(n|0)){break a}}c=c+1|0;continue}break}while(1){c:{o=g<<4;e=o+i|0;j=J[e+4>>2];d:{if((j|0)>(k|0)){break d}if((k|0)!=(j|0)){break c}j=J[e>>2];if((j|0)>(l|0)){break d}if((l|0)!=(j|0)|J[e+8>>2]<=(n|0)){break c}}g=g-1|0;continue}break}if((c|0)<=(g|0)){i=J[f+12>>2];J[h+8>>2]=J[f+8>>2];J[h+12>>2]=i;i=J[f+4>>2];J[h>>2]=J[f>>2];J[h+4>>2]=i;i=J[e+4>>2];J[f>>2]=J[e>>2];J[f+4>>2]=i;i=J[e+12>>2];J[f+8>>2]=J[e+8>>2];J[f+12>>2]=i;e=J[h+4>>2];f=J[a+12>>2]+o|0;J[f>>2]=J[h>>2];J[f+4>>2]=e;e=J[h+12>>2];J[f+8>>2]=J[h+8>>2];J[f+12>>2]=e;g=g-1|0;c=c+1|0}if((c|0)<=(g|0)){continue}break}if((g|0)>(m|0)){af(a,b,m,g)}if((c|0)<(d|0)){continue}break}ta=h+16|0}function be(a,b,c){var d=Q(0),e=Q(0),f=Q(0),g=Q(0),h=Q(0),i=Q(0),j=Q(0),k=Q(0),l=Q(0),m=Q(0),n=Q(0),o=Q(0),p=Q(0),q=Q(0),r=Q(0),s=Q(0),t=Q(0),u=Q(0),v=Q(0),w=Q(0),x=Q(0),y=Q(0),z=Q(0),A=Q(0);y=N[b+52>>2];z=N[b+56>>2];m=N[c+52>>2];n=N[c+56>>2];d=N[b+20>>2];e=N[b+24>>2];o=N[c+20>>2];p=N[c+36>>2];f=N[b+36>>2];q=N[c+24>>2];g=N[b+40>>2];r=N[c+40>>2];A=N[b+48>>2];s=N[c+48>>2];h=N[b+16>>2];t=N[c+4>>2];i=N[b+32>>2];u=N[c+8>>2];j=N[b+8>>2];v=N[c+32>>2];k=N[b>>2];w=N[c>>2];l=N[b+4>>2];x=N[c+16>>2];J[a+60>>2]=0;J[a+44>>2]=0;J[a+28>>2]=0;J[a+12>>2]=0;N[a>>2]=Q(v*j)+Q(Q(w*k)+Q(x*l));N[a+40>>2]=Q(r*g)+Q(Q(u*i)+Q(q*f));N[a+36>>2]=Q(p*g)+Q(Q(t*i)+Q(o*f));N[a+32>>2]=Q(v*g)+Q(Q(w*i)+Q(x*f));N[a+24>>2]=Q(r*e)+Q(Q(u*h)+Q(q*d));N[a+20>>2]=Q(p*e)+Q(Q(t*h)+Q(o*d));N[a+16>>2]=Q(v*e)+Q(Q(w*h)+Q(x*d));N[a+8>>2]=Q(r*j)+Q(Q(u*k)+Q(l*q));N[a+4>>2]=Q(p*j)+Q(Q(t*k)+Q(l*o));N[a+56>>2]=z+Q(Q(n*g)+Q(Q(s*i)+Q(f*m)));N[a+52>>2]=y+Q(Q(n*e)+Q(Q(s*h)+Q(d*m)));N[a+48>>2]=A+Q(Q(n*j)+Q(Q(s*k)+Q(l*m)))}function Mm(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;J[9110]=J[9110]+1;d=c<<16|b;d=(d<<15^-1)+d|0;d=P(d>>>10^d,9);d=d>>>6^d;d=(d<<11^-1)+d|0;l=d>>>16^d;d=J[a+12>>2];k=l&d-1;e=J[J[a+36>>2]+(k<<2)>>2];a:{if((e|0)!=-1){g=J[a+56>>2];i=J[a+16>>2];while(1){f=i+P(e,12)|0;if(J[f>>2]==(b|0)&J[f+4>>2]==(c|0)){break a}e=J[g+(e<<2)>>2];if((e|0)!=-1){continue}break}}b:{c:{g=J[a+8>>2];e=g;if((e|0)==(d|0)){f=d?d<<1:1;m=(f|0)<=(d|0);if(!m){break c}}else{d=e}J[a+8>>2]=d+1;j=J[a+16>>2];break b}if(f){j=Ga(P(f,12));d=J[a+8>>2]}if((d|0)>0){e=0;while(1){h=P(e,12);i=h+J[a+16>>2]|0;n=J[i+4>>2];h=j+h|0;J[h>>2]=J[i>>2];J[h+4>>2]=n;J[h+8>>2]=J[i+8>>2];e=e+1|0;if((e|0)!=(d|0)){continue}break}}d=J[a+16>>2];if(!(!d|!K[a+20|0])){Fa(d)}J[a+16>>2]=j;H[a+20|0]=1;J[a+12>>2]=f;J[a+8>>2]=J[a+8>>2]+1;if(m){break b}kd(a);k=J[a+12>>2]-1&l}f=P(g,12)+j|0;J[f+8>>2]=0;J[f+4>>2]=c;J[f>>2]=b;b=J[a+56>>2]+(g<<2)|0;a=J[a+36>>2]+(k<<2)|0;J[b>>2]=J[a>>2];J[a>>2]=g}return f|0}function fp(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=Q(0),h=Q(0),i=0,j=0,k=0,l=0;d=ta-32|0;e=J[a+44>>2];a=J[a+4>>2];a:{if(a){if(e){j=e+16|0;k=a+16|0;l=d+16|0;while(1){f=i<<2;g=N[a+f>>2];h=N[e+f>>2];N[d+f>>2]=g>2];h=N[f+j>>2];N[f+l>>2]=g>h?g:h;i=i+1|0;if((i|0)!=3){continue}break}break a}e=J[a+28>>2];J[d+24>>2]=J[a+24>>2];J[d+28>>2]=e;e=J[a+20>>2];J[d+16>>2]=J[a+16>>2];J[d+20>>2]=e;e=J[a+12>>2];J[d+8>>2]=J[a+8>>2];J[d+12>>2]=e;e=J[a+4>>2];J[d>>2]=J[a>>2];J[d+4>>2]=e;break a}if(e){a=J[e+28>>2];J[d+24>>2]=J[e+24>>2];J[d+28>>2]=a;a=J[e+20>>2];J[d+16>>2]=J[e+16>>2];J[d+20>>2]=a;a=J[e+12>>2];J[d+8>>2]=J[e+8>>2];J[d+12>>2]=a;a=J[e+4>>2];J[d>>2]=J[e>>2];J[d+4>>2]=a;break a}J[d+24>>2]=0;J[d+28>>2]=0;J[d+16>>2]=0;J[d+20>>2]=0;J[d+8>>2]=0;J[d+12>>2]=0;J[d>>2]=0;J[d+4>>2]=0}a=J[d+4>>2];J[b>>2]=J[d>>2];J[b+4>>2]=a;a=J[d+12>>2];J[b+8>>2]=J[d+8>>2];J[b+12>>2]=a;a=J[d+28>>2];J[c+8>>2]=J[d+24>>2];J[c+12>>2]=a;a=J[d+20>>2];J[c>>2]=J[d+16>>2];J[c+4>>2]=a}function ti(a,b){a=a|0;b=Q(b);var c=0,d=Q(0),e=0,f=Q(0),g=0,h=Q(0),i=0;i=ta-16|0;ta=i;Na(7105);if(J[a+248>>2]>0){while(1){c=J[J[a+256>>2]+(g<<2)>>2];a:{if(!c){break a}b:{c:{d:{e=J[c+220>>2];switch(e-2|0){case 0:case 2:break c;default:break d}}e:{d=N[c+380>>2];f=Q(d*d);d=N[c+372>>2];h=Q(d*d);d=N[c+376>>2];f=Q(f+Q(h+Q(d*d)));d=N[c+532>>2];if(!(f>2];f=Q(d*d);d=N[c+388>>2];h=Q(d*d);d=N[c+392>>2];f=Q(f+Q(h+Q(d*d)));d=N[c+536>>2];if(!(f>2]=N[c+224>>2]+b;break b}J[c+224>>2]=0;hb(c,0);e=J[c+220>>2]}if((e|0)==4){break a}}f:{if(K[38297]){break f}d=N[8331];if(d==Q(0)|!(d>2])&(e&-2)!=2){break f}if(K[c+204|0]&3){hb(c,2);break a}if((e|0)==1){hb(c,3);e=J[c+220>>2]}if((e|0)!=2){break a}J[c+388>>2]=0;J[c+392>>2]=0;J[c+372>>2]=0;J[c+376>>2]=0;J[c+396>>2]=0;J[c+400>>2]=0;J[c+380>>2]=0;J[c+384>>2]=0;J[c+304>>2]=J[c+304>>2]+2;break a}hb(c,1)}g=g+1|0;if((g|0)>2]){continue}break}}Ma();ta=i+16|0}function We(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=Q(0),f=Q(0),g=Q(0),h=Q(0),i=Q(0),j=Q(0),k=Q(0),l=Q(0),m=Q(0),n=Q(0),o=Q(0),p=Q(0),q=Q(0),r=Q(0),s=Q(0),t=Q(0),u=Q(0),v=Q(0),w=Q(0),x=Q(0),y=Q(0),z=Q(0);e=Q(va[J[J[a>>2]+48>>2]](a));y=N[b+52>>2];i=N[b+24>>2];j=N[b+20>>2];k=N[b+56>>2];g=N[b+40>>2];h=N[a+72>>2];f=N[a+88>>2];l=N[b+36>>2];p=N[a+68>>2];q=N[a+84>>2];z=N[b+48>>2];r=N[b+8>>2];s=N[b>>2];t=N[b+4>>2];u=N[b+16>>2];v=N[b+32>>2];w=N[a+64>>2];x=N[a+80>>2];J[c+12>>2]=0;m=k;k=Q(Q(f+h)*Q(.5));n=Q(Q(x+w)*Q(.5));o=Q(Q(q+p)*Q(.5));m=Q(m+Q(Q(g*k)+Q(Q(v*n)+Q(l*o))));h=Q(e+Q(Q(f-h)*Q(.5)));f=Q(h*Q(R(g)));g=Q(e+Q(Q(x-w)*Q(.5)));e=Q(e+Q(Q(q-p)*Q(.5)));f=Q(f+Q(Q(g*Q(R(v)))+Q(e*Q(R(l)))));N[c+8>>2]=m-f;l=Q(y+Q(Q(k*i)+Q(Q(n*u)+Q(o*j))));i=Q(Q(h*Q(R(i)))+Q(Q(g*Q(R(u)))+Q(e*Q(R(j)))));N[c+4>>2]=l-i;j=Q(z+Q(Q(k*r)+Q(Q(n*s)+Q(o*t))));e=Q(Q(h*Q(R(r)))+Q(Q(g*Q(R(s)))+Q(e*Q(R(t)))));N[c>>2]=j-e;J[d+12>>2]=0;N[d+8>>2]=f+m;N[d+4>>2]=i+l;N[d>>2]=e+j}function Ps(){var a=0,b=0,c=0,d=0,e=0;b=ta-16|0;ta=b;if(!K[38296]){J[b+8>>2]=0;J[b+12>>2]=0;J[b>>2]=0;J[b+4>>2]=0;a=ta-144|0;ta=a;c=mc(37620);J[c>>2]=23988;H[c+560|0]=1;J[c+556>>2]=0;J[c+548>>2]=0;J[c+552>>2]=0;J[a+72>>2]=0;J[a+4>>2]=0;N[a>>2]=0;d=J[b+12>>2];J[a+84>>2]=J[b+8>>2];J[a+88>>2]=d;e=J[b>>2];d=J[b+4>>2];J[a+20>>2]=0;J[a+24>>2]=0;J[a+12>>2]=0;J[a+16>>2]=0;J[a+28>>2]=1065353216;J[a+40>>2]=0;J[a+44>>2]=0;J[a+32>>2]=0;J[a+36>>2]=0;J[a+48>>2]=1065353216;J[a+52>>2]=0;J[a+56>>2]=0;J[a+60>>2]=0;J[a+64>>2]=0;J[a+68>>2]=0;J[a+76>>2]=e;J[a+80>>2]=d;J[a+136>>2]=1008981770;J[a+140>>2]=1008981770;J[a+128>>2]=1000593162;J[a+132>>2]=1008981770;H[a+124|0]=0;J[a+116>>2]=1061997773;J[a+120>>2]=1065353216;J[a+108>>2]=0;J[a+112>>2]=0;J[a+100>>2]=1056964608;J[a+104>>2]=0;J[a+92>>2]=0;J[a+96>>2]=0;J[a+8>>2]=1065353216;te(c,a);ta=a+144|0;H[38296]=1}J[b+8>>2]=0;J[b+12>>2]=0;J[b>>2]=0;J[b+4>>2]=0;Wb(37620,Q(0),b);ta=b+16|0;return 37620}function jr(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;a:{b:{d=J[J[b>>2]+192>>2];if(J[d+4>>2]!=31){break b}e=J[b+4>>2];if(!e){break b}j=J[J[(J[d+32>>2]+P(J[e>>2],80)|0)+64>>2]+8>>2];d=J[a+136>>2];if((d|0)!=J[a+140>>2]){break a}f=d?d<<1:1;if((f|0)<=(d|0)){break a}e=0;if(f){h=Ga(f<<2);d=J[a+136>>2]}g=J[a+144>>2];c:{d:{if((d|0)>0){while(1){i=e<<2;J[i+h>>2]=J[g+i>>2];e=e+1|0;if((e|0)!=(d|0)){continue}break d}}if(!g){break c}}if(K[a+148|0]){Fa(g)}d=J[a+136>>2]}J[a+144>>2]=h;J[a+140>>2]=f;H[a+148|0]=1;break a}j=J[d+8>>2];d=J[a+136>>2];if((d|0)!=J[a+140>>2]){break a}f=d?d<<1:1;if((f|0)<=(d|0)){break a}e=0;if(f){h=Ga(f<<2);d=J[a+136>>2]}g=J[a+144>>2];e:{f:{if((d|0)>0){while(1){i=e<<2;J[i+h>>2]=J[g+i>>2];e=e+1|0;if((e|0)!=(d|0)){continue}break f}}if(!g){break e}}if(K[a+148|0]){Fa(g)}d=J[a+136>>2]}J[a+144>>2]=h;J[a+140>>2]=f;H[a+148|0]=1}J[J[a+144>>2]+(d<<2)>>2]=j;J[a+136>>2]=J[a+136>>2]+1;return Q(Zg(a,b,c))}function yh(){var a=0;ob(33344,9171);ob(33356,9220);ob(33368,9174);ob(33380,9164);J[8511]=0;J[8510]=324;Xg();J[8511]=J[9592];J[9592]=34040;a=Ra(16);J[8522]=a;xh(a);Ja(34096);Ja(34132);Ja(34168);Ja(34204);Ja(34240);Ja(34276);Ja(34312);Ja(34348);Ja(34384);Ja(34420);Ja(34456);Ja(34492);Ja(34528);Ja(34564);Ja(34600);Ja(34636);Ja(34672);Ja(34708);Ja(34744);Ja(34780);Ja(34816);Ja(34852);Ja(34888);Ja(34924);Ja(34960);Ja(34996);Ja(35032);Ja(35068);Ja(35104);Ja(35140);Ja(35176);Ja(35212);Ja(35248);Ja(35284);Ja(35320);Ja(35356);Ja(35392);Ja(35428);Ja(35464);Ja(35500);Ja(35536);Ja(35572);Ja(35608);Ja(35644);Ja(35680);Ja(35716);Ja(35752);Ja(35788);Ja(35824);Ja(35860);Ja(35896);Ja(35932);Ja(35968);Ja(36004);Ja(36040);Ja(36076);Ja(36112);Ja(36148);Ja(36184);Ja(36220);Ja(36256);Ja(36292);Ja(36328);Ja(36364);ob(38320,9171);ob(38332,9220);ob(38344,9174);ob(38356,9164);J[9593]=1077;J[9594]=0;Vd();J[9594]=J[9592];J[9592]=38372}function Np(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=Q(0),g=Q(0),h=Q(0),i=Q(0),j=Q(0),k=Q(0),l=Q(0),m=Q(0),n=Q(0),o=0;e=ta-48|0;ta=e;i=N[b>>2];f=N[c>>2];j=N[b+4>>2];g=N[c+4>>2];k=N[b+8>>2];h=N[c+8>>2];J[e+40>>2]=1065353216;J[e+44>>2]=0;J[e+32>>2]=1065353216;J[e+36>>2]=1065353216;l=Q(Q(h+k)*Q(.5));m=Q(Q(g+j)*Q(.5));n=Q(Q(f+i)*Q(.5));k=Q(Q(h-k)*Q(.5));j=Q(Q(g-j)*Q(.5));i=Q(Q(f-i)*Q(.5));c=0;while(1){f=N[e+40>>2];g=N[e+36>>2];h=N[e+32>>2];b=0;while(1){o=(e+32|0)+(b<<2)|0;N[o>>2]=-N[o>>2];J[e+28>>2]=0;J[e+12>>2]=0;N[e+24>>2]=l+Q(k*f);N[e+20>>2]=m+Q(j*g);N[e+16>>2]=n+Q(i*h);f=N[e+40>>2];N[e+8>>2]=l+Q(k*f);g=N[e+36>>2];N[e+4>>2]=m+Q(j*g);h=N[e+32>>2];N[e>>2]=n+Q(i*h);va[J[J[a>>2]+16>>2]](a,e+16|0,e,d);b=b+1|0;if((b|0)!=3){continue}break}J[e+40>>2]=-1082130432;J[e+44>>2]=0;J[e+32>>2]=-1082130432;J[e+36>>2]=-1082130432;if(c>>>0<=2){b=(e+32|0)+(c<<2)|0;N[b>>2]=-N[b>>2]}c=c+1|0;if((c|0)!=4){continue}break}ta=e+48|0}function Uc(a,b,c,d,e,f){var g=0,h=0,i=0;a:{if(K[d+55|0]==(b|0)){break a}g=e<<2;h=J[g+22684>>2];b:{if(Q(Q(Q(N[d+8>>2]*N[c+24>>2])+Q(Q(N[d>>2]*N[c+16>>2])+Q(N[d+4>>2]*N[c+20>>2])))-N[d+16>>2])>2],J[a+g>>2],c,0);if(!a){break a}J[a+32>>2]=d;H[a+52|0]=e;H[(d+e|0)+52|0]=0;J[((e<<2)+d|0)+32>>2]=a;b=J[f>>2];c:{if(b){J[b+36>>2]=a;H[b+53|0]=2;J[a+40>>2]=b;H[a+54|0]=1;break c}J[f+4>>2]=a}J[f>>2]=a;a=f+8|0;break b}H[d+55|0]=b;e=J[g+22696>>2];if(!Uc(a,b,c,J[((h<<2)+d|0)+32>>2],K[(d+h|0)+52|0],f)){break a}if(!Uc(a,b,c,J[((e<<2)+d|0)+32>>2],K[(d+e|0)+52|0],f)){break a}b=J[d+48>>2];if(b){J[b+44>>2]=J[d+44>>2]}b=J[d+44>>2];if(b){J[b+48>>2]=J[d+48>>2]}if(J[a+18496>>2]==(d|0)){J[a+18496>>2]=J[d+48>>2]}b=a+18500|0;J[b>>2]=J[b>>2]-1;J[d+44>>2]=0;J[d+48>>2]=J[a+18504>>2];b=J[a+18504>>2];if(b){J[b+44>>2]=d}J[a+18504>>2]=d;a=a+18508|0}i=1;J[a>>2]=J[a>>2]+1}return i}function Ii(a,b){a=a|0;b=Q(b);var c=0,d=0,e=0;d=J[a+8>>2];if((d|0)>0){while(1){c=J[J[a+16>>2]+(e<<2)>>2];if(!(!c|!(J[c+252>>2]&2)|(!(K[c+204|0]&2)|J[c+220>>2]==2))){if(b!=Q(0)){d=J[c+540>>2];if(d){va[J[J[d>>2]+8>>2]](d,c+4|0)}lc(c+68|0,c+4|0,b,c+372|0,c+388|0);d=J[c+384>>2];J[c+140>>2]=J[c+380>>2];J[c+144>>2]=d;d=J[c+376>>2];J[c+132>>2]=J[c+372>>2];J[c+136>>2]=d;d=J[c+392>>2];J[c+148>>2]=J[c+388>>2];J[c+152>>2]=d;d=J[c+400>>2];J[c+156>>2]=J[c+396>>2];J[c+160>>2]=d;d=J[c+8>>2];J[c+68>>2]=J[c+4>>2];J[c+72>>2]=d;d=J[c+16>>2];J[c+76>>2]=J[c+12>>2];J[c+80>>2]=d;d=J[c+24>>2];J[c+84>>2]=J[c+20>>2];J[c+88>>2]=d;d=J[c+32>>2];J[c+92>>2]=J[c+28>>2];J[c+96>>2]=d;d=J[c+48>>2];J[c+108>>2]=J[c+44>>2];J[c+112>>2]=d;d=J[c+40>>2];J[c+100>>2]=J[c+36>>2];J[c+104>>2]=d;d=J[c+64>>2];J[c+124>>2]=J[c+60>>2];J[c+128>>2]=d;d=J[c+56>>2];J[c+116>>2]=J[c+52>>2];J[c+120>>2]=d}d=J[a+8>>2]}e=e+1|0;if((e|0)<(d|0)){continue}break}}}function dl(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=Q(0),f=Q(0),g=Q(0),h=Q(0),i=Q(0),j=Q(0),k=Q(0),l=Q(0),m=Q(0),n=Q(0),o=Q(0),p=Q(0),q=Q(0),r=Q(0),s=Q(0),t=Q(0),u=Q(0),v=Q(0),w=Q(0),x=Q(0),y=Q(0),z=Q(0),A=Q(0),B=Q(0);k=N[b+56>>2];n=N[b+36>>2];o=N[b+40>>2];l=N[b+52>>2];h=N[b+20>>2];f=N[a+120>>2];i=N[a+28>>2];p=N[a+44>>2];g=N[b+24>>2];e=N[a+124>>2];j=N[a+32>>2];q=N[a+48>>2];r=N[b+32>>2];m=N[b+48>>2];s=N[b>>2];t=N[b+4>>2];u=N[b+8>>2];v=N[b+16>>2];w=N[a+116>>2];x=N[a+24>>2];y=N[a+40>>2];z=Q(va[J[J[a>>2]+48>>2]](a));A=Q(va[J[J[a>>2]+48>>2]](a));B=Q(va[J[J[a>>2]+48>>2]](a));J[c+12>>2]=0;e=Q(Q(e*Q(q-j))*Q(.5));j=Q(e*Q(R(g)));g=Q(Q(w*Q(y-x))*Q(.5));f=Q(Q(f*Q(p-i))*Q(.5));h=Q(A+Q(j+Q(Q(g*Q(R(v)))+Q(f*Q(R(h))))));N[c+4>>2]=l-h;i=Q(z+Q(Q(e*Q(R(u)))+Q(Q(g*Q(R(s)))+Q(f*Q(R(t))))));N[c>>2]=m-i;e=Q(B+Q(Q(e*Q(R(o)))+Q(Q(g*Q(R(r)))+Q(f*Q(R(n))))));N[c+8>>2]=k-e;J[d+12>>2]=0;N[d+8>>2]=k+e;N[d+4>>2]=l+h;N[d>>2]=m+i}function Uj(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=Q(0),f=0,g=Q(0),h=Q(0),i=Q(0);d=ta-144|0;ta=d;J[d+72>>2]=0;J[d+76>>2]=0;f=d- -64|0;J[f>>2]=0;J[f+4>>2]=0;J[d+108>>2]=0;J[d+112>>2]=0;J[d+116>>2]=0;J[d+120>>2]=0;J[d+52>>2]=0;J[d+56>>2]=0;J[d+84>>2]=0;J[d+88>>2]=0;J[d+80>>2]=1065353216;J[d+92>>2]=0;J[d+96>>2]=0;J[d+100>>2]=1065353216;J[d+104>>2]=0;J[d+44>>2]=0;J[d+48>>2]=0;J[d+60>>2]=1065353216;J[d+124>>2]=-581039253;J[d+40>>2]=22412;e=N[c+8>>2];g=N[c>>2];h=N[c+4>>2];J[d+140>>2]=0;i=Q(h*Q(0));N[d+136>>2]=e+Q(Q(g*N[d+68>>2])+i);e=Q(e*Q(0));N[d+132>>2]=e+Q(h+Q(g*N[f>>2]));N[d+128>>2]=e+Q(g+i);J[d+32>>2]=1566444395;J[d+36>>2]=0;J[d+24>>2]=1566444395;J[d+28>>2]=1566444395;J[d+16>>2]=-581039253;J[d+20>>2]=0;J[d+8>>2]=-581039253;J[d+12>>2]=-581039253;va[J[J[b>>2]+64>>2]](b,d+40|0,d+8|0,d+24|0);b=J[d+56>>2];J[a+8>>2]=J[d+52>>2];J[a+12>>2]=b;b=J[d+48>>2];J[a>>2]=J[d+44>>2];J[a+4>>2]=b;ta=d+144|0}function hh(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=J[b+4>>2];J[a+48>>2]=J[b>>2];J[a+52>>2]=d;d=J[b+12>>2];J[a+56>>2]=J[b+8>>2];J[a+60>>2]=d;d=J[b+28>>2];J[a+72>>2]=J[b+24>>2];J[a+76>>2]=d;e=J[b+20>>2];d=a- -64|0;J[d>>2]=J[b+16>>2];J[d+4>>2]=e;d=J[b+44>>2];J[a+88>>2]=J[b+40>>2];J[a+92>>2]=d;d=J[b+36>>2];J[a+80>>2]=J[b+32>>2];J[a+84>>2]=d;d=J[b+60>>2];J[a+104>>2]=J[b+56>>2];J[a+108>>2]=d;d=J[b+52>>2];J[a+96>>2]=J[b+48>>2];J[a+100>>2]=d;b=J[c+12>>2];J[a+120>>2]=J[c+8>>2];J[a+124>>2]=b;b=J[c+4>>2];J[a+112>>2]=J[c>>2];J[a+116>>2]=b;b=J[c+20>>2];J[a+128>>2]=J[c+16>>2];J[a+132>>2]=b;b=J[c+28>>2];J[a+136>>2]=J[c+24>>2];J[a+140>>2]=b;b=J[c+36>>2];J[a+144>>2]=J[c+32>>2];J[a+148>>2]=b;b=J[c+44>>2];J[a+152>>2]=J[c+40>>2];J[a+156>>2]=b;b=J[c+60>>2];J[a+168>>2]=J[c+56>>2];J[a+172>>2]=b;b=J[c+52>>2];J[a+160>>2]=J[c+48>>2];J[a+164>>2]=b;va[J[J[a>>2]+8>>2]](a);Lc(a,J[a+28>>2]+4|0,J[a+32>>2]+4|0)}function op(a,b,c,d,e,f,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0;h=ta-48|0;ta=h;d=Ga(64);J[d+8>>2]=g;J[d+4>>2]=f;J[d>>2]=e;e=J[b+4>>2];J[d+16>>2]=J[b>>2];J[d+20>>2]=e;e=J[b+12>>2];J[d+24>>2]=J[b+8>>2];J[d+28>>2]=e;e=J[c+4>>2];J[d+32>>2]=J[c>>2];J[d+36>>2]=e;e=J[c+12>>2];J[d+40>>2]=J[c+8>>2];J[d+44>>2]=e;J[d+52>>2]=0;J[d+56>>2]=0;e=J[b+12>>2];J[h+24>>2]=J[b+8>>2];J[h+28>>2]=e;e=J[b+4>>2];J[h+16>>2]=J[b>>2];J[h+20>>2]=e;b=J[c+12>>2];J[h+40>>2]=J[c+8>>2];J[h+44>>2]=b;b=J[c+4>>2];J[h+32>>2]=J[c>>2];J[h+36>>2]=b;J[d+60>>2]=J[a+104>>2];b=J[a+148>>2]+1|0;J[a+148>>2]=b;J[d+12>>2]=b;i=d,j=qc(a+4|0,h+16|0,d),J[i+48>>2]=j;b=J[a+104>>2];J[d+52>>2]=0;b=(b<<2)+a|0;J[d+56>>2]=J[b+84>>2];c=J[b+84>>2];if(c){J[c+52>>2]=d}J[b+84>>2]=d;if(!K[a+153|0]){J[h+12>>2]=d;J[h+4>>2]=12060;J[h+8>>2]=a;b=h+16|0;c=h+4|0;Rb(J[a+4>>2],b,c);Rb(J[a+44>>2],b,c)}ta=h+48|0;return d|0}function Qa(a,b){var c=0,d=0,e=0,f=Q(0),g=0;if(!(((B(a),v(2))&2147483647)>>>0<2139095041&((B(b),v(2))&2147483647)>>>0<=2139095040)){return Q(a+b)}c=(B(b),v(2));if((c|0)==1065353216){return Ud(a)}g=c>>>30&2;d=(B(a),v(2));e=g|d>>>31;a:{b:{d=d&2147483647;c:{if(!d){d:{switch(e-2|0){case 0:return Q(3.1415927410125732);case 1:break d;default:break c}}return Q(-3.1415927410125732)}c=c&2147483647;if((c|0)!=2139095040){if(!c|!((d|0)!=2139095040&d>>>0<=c+218103808>>>0)){break a}e:{if(g){f=Q(0);if(c>>>0>d+218103808>>>0){break e}}f=Ud(Q(R(Q(a/b))))}a=f;f:{switch(e|0){case 1:return Q(-a);case 2:return Q(Q(3.1415927410125732)-Q(a+Q(8.742277657347586e-8)));case 0:break c;default:break f}}return Q(Q(a+Q(8.742277657347586e-8))+Q(-3.1415927410125732))}if((d|0)==2139095040){break b}a=N[(e<<2)+26508>>2]}return a}return N[(e<<2)+26492>>2]}return x(2,(B(a),v(2))&-2147483648|1070141403),C()}function nr(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=Q(0),f=Q(0),g=Q(0),h=0,i=Q(0),j=Q(0),k=Q(0),l=Q(0),m=Q(0),n=Q(0),o=Q(0),p=Q(0),q=Q(0);d=J[J[b>>2]+192>>2];a:{if(J[d+4>>2]!=31){break a}h=J[b+4>>2];if(!h){break a}d=J[(J[d+32>>2]+P(J[h>>2],80)|0)+64>>2]}J[a+84>>2]=J[d+8>>2];N[a+4>>2]=N[b+24>>2];d=J[b>>2];J[a+8>>2]=d;b:{if(c){c=J[b+12>>2];J[a+52>>2]=J[b+8>>2];J[a+56>>2]=c;c=J[b+20>>2];J[a+60>>2]=J[b+16>>2];J[a+64>>2]=c;break b}i=N[d+8>>2];j=N[d+12>>2];k=N[d+20>>2];l=N[d+24>>2];m=N[d+28>>2];n=N[d+36>>2];o=N[d+40>>2];e=N[b+12>>2];p=N[d+44>>2];f=N[b+16>>2];q=N[d+4>>2];g=N[b+8>>2];J[a- -64>>2]=0;N[a+60>>2]=Q(p*f)+Q(Q(n*g)+Q(e*o));N[a+56>>2]=Q(m*f)+Q(Q(k*g)+Q(e*l));N[a+52>>2]=Q(j*f)+Q(Q(q*g)+Q(i*e))}e=N[b+24>>2];f=Q(Q(1)-e);N[a+68>>2]=Q(f*N[a+20>>2])+Q(e*N[a+36>>2]);N[a+72>>2]=Q(f*N[a+24>>2])+Q(e*N[a+40>>2]);N[a+76>>2]=Q(f*N[a+28>>2])+Q(e*N[a+44>>2]);return Q(N[b+24>>2])}function qj(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=Q(0);Zb(a,b,c);f=b+52|0;e=a+552|0;while(1){c=d<<4;h=c+f|0;i=c+e|0;c=0;while(1){g=c<<2;N[g+h>>2]=N[i+g>>2];c=c+1|0;if((c|0)!=4){continue}break}d=d+1|0;if((d|0)!=3){continue}break}d=b+100|0;f=a+600|0;c=0;while(1){e=c<<2;N[e+d>>2]=N[f+e>>2];c=c+1|0;if((c|0)!=4){continue}break}f=b+116|0;e=a+616|0;d=0;while(1){c=d<<4;h=c+f|0;i=c+e|0;c=0;while(1){g=c<<2;N[g+h>>2]=N[i+g>>2];c=c+1|0;if((c|0)!=4){continue}break}d=d+1|0;if((d|0)!=3){continue}break}d=b+164|0;f=a+664|0;c=0;while(1){e=c<<2;N[e+d>>2]=N[f+e>>2];c=c+1|0;if((c|0)!=4){continue}break}J[b+184>>2]=K[a+736|0];J[b+188>>2]=K[a+737|0];N[b+196>>2]=N[a+684>>2];N[b+192>>2]=N[a+680>>2];J[b+180>>2]=K[a+740|0];c=a+688|0;j=b,k=Xb(c),N[j+200>>2]=k;j=b,k=Yb(c),N[j+204>>2]=k;N[b+208>>2]=N[a+696>>2];N[b+212>>2]=N[a+700>>2];N[b+216>>2]=N[a+704>>2];return 8629}function ld(a){a=a|0;var b=0;J[a>>2]=16768;if(K[a+20|0]){Fa(J[J[a+16>>2]+16>>2]);Fa(J[a+16>>2])}if(K[a+12|0]){Fa(J[J[a+8>>2]+16>>2]);Fa(J[a+8>>2])}b=J[a+28>>2];va[J[J[b>>2]>>2]](b)|0;Fa(J[a+28>>2]);b=J[a+32>>2];va[J[J[b>>2]>>2]](b)|0;Fa(J[a+32>>2]);b=J[a+36>>2];va[J[J[b>>2]>>2]](b)|0;Fa(J[a+36>>2]);b=J[a+40>>2];va[J[J[b>>2]>>2]](b)|0;Fa(J[a+40>>2]);b=J[a+44>>2];va[J[J[b>>2]>>2]](b)|0;Fa(J[a+44>>2]);b=J[a+48>>2];va[J[J[b>>2]>>2]](b)|0;Fa(J[a+48>>2]);b=J[a+52>>2];va[J[J[b>>2]>>2]](b)|0;Fa(J[a+52>>2]);b=J[a+56>>2];va[J[J[b>>2]>>2]](b)|0;Fa(J[a+56>>2]);b=J[a+72>>2];va[J[J[b>>2]>>2]](b)|0;Fa(J[a+72>>2]);b=J[a+76>>2];va[J[J[b>>2]>>2]](b)|0;Fa(J[a+76>>2]);b=J[a+68>>2];va[J[J[b>>2]>>2]](b)|0;Fa(J[a+68>>2]);b=J[a+84>>2];va[J[J[b>>2]>>2]](b)|0;Fa(J[a+84>>2]);b=J[a+80>>2];va[J[J[b>>2]>>2]](b)|0;Fa(J[a+80>>2]);b=J[a+24>>2];va[J[J[b>>2]>>2]](b)|0;Fa(J[a+24>>2]);return a|0}function Oc(a,b,c,d,e,f,g){var h=Q(0),i=Q(0),j=Q(0),k=Q(0),l=Q(0),m=Q(0),n=Q(0),o=Q(0),p=Q(0);o=g;g=N[d+8>>2];i=N[d>>2];k=N[d+4>>2];n=Q(Q(N[c+8>>2]*g)+Q(Q(N[c>>2]*i)+Q(N[c+4>>2]*k)));h=N[e+88>>2];m=Q(-h);j=h;h=Q(Q(N[a+40>>2]*g)+Q(Q(N[a+8>>2]*i)+Q(k*N[a+24>>2])));m=Q((h>2];l=Q(-h);j=h;h=Q(Q(N[a+32>>2]*g)+Q(Q(N[a>>2]*i)+Q(k*N[a+16>>2])));l=Q((h>2]*g)+Q(Q(N[a+4>>2]*i)+Q(k*N[a+20>>2])));j=N[e+84>>2];h=Q(m+Q(l+Q(h*(h>2];m=h>j?h:j;h=N[f+88>>2];l=Q(-h);j=h;h=Q(Q(N[b+40>>2]*g)+Q(Q(N[b+8>>2]*i)+Q(k*N[b+24>>2])));l=Q((h>2];p=Q(-h);j=h;h=Q(Q(N[b+32>>2]*g)+Q(Q(N[b>>2]*i)+Q(k*N[b+16>>2])));g=Q(Q(N[b+36>>2]*g)+Q(Q(N[b+4>>2]*i)+Q(k*N[b+20>>2])));i=N[f+84>>2];g=Q(l+Q(Q((h>2];g=Q(m+(g>i?g:i));i=Q(n+g);g=Q(g-n);return!(o<(g>i?i:g))}function Ks(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=J[b+4>>2];J[a+552>>2]=J[b>>2];J[a+556>>2]=d;d=J[b+12>>2];J[a+560>>2]=J[b+8>>2];J[a+564>>2]=d;d=J[b+28>>2];J[a+576>>2]=J[b+24>>2];J[a+580>>2]=d;d=J[b+20>>2];J[a+568>>2]=J[b+16>>2];J[a+572>>2]=d;d=J[b+44>>2];J[a+592>>2]=J[b+40>>2];J[a+596>>2]=d;d=J[b+36>>2];J[a+584>>2]=J[b+32>>2];J[a+588>>2]=d;d=J[b+60>>2];J[a+608>>2]=J[b+56>>2];J[a+612>>2]=d;d=J[b+52>>2];J[a+600>>2]=J[b+48>>2];J[a+604>>2]=d;b=J[c+12>>2];J[a+624>>2]=J[c+8>>2];J[a+628>>2]=b;b=J[c+4>>2];J[a+616>>2]=J[c>>2];J[a+620>>2]=b;b=J[c+20>>2];J[a+632>>2]=J[c+16>>2];J[a+636>>2]=b;b=J[c+28>>2];J[a+640>>2]=J[c+24>>2];J[a+644>>2]=b;b=J[c+36>>2];J[a+648>>2]=J[c+32>>2];J[a+652>>2]=b;b=J[c+44>>2];J[a+656>>2]=J[c+40>>2];J[a+660>>2]=b;b=J[c+60>>2];J[a+672>>2]=J[c+56>>2];J[a+676>>2]=b;b=J[c+52>>2];J[a+664>>2]=J[c+48>>2];J[a+668>>2]=b;va[J[J[a>>2]+8>>2]](a)}function Zc(a,b){var c=0,d=0,e=0,f=0,g=0,h=0,i=0;a:{if(K[a+164|0]){i=a+128|0;c=J[i>>2];b:{if((c|0)!=J[a+132>>2]){break b}e=c?c<<1:1;if((e|0)<=(c|0)){break b}if(e){g=Ga(e<<2);c=J[a+128>>2]}f=J[a+136>>2];c:{d:{if((c|0)>0){while(1){h=d<<2;J[h+g>>2]=J[f+h>>2];d=d+1|0;if((d|0)!=(c|0)){continue}break d}}if(!f){break c}}if(K[a+140|0]){Fa(f)}c=J[a+128>>2]}J[a+136>>2]=g;J[a+132>>2]=e;H[a+140|0]=1}d=J[a+136>>2];J[d+(c<<2)>>2]=b;c=J[a+128>>2];break a}i=a+148|0;c=J[i>>2];e:{if((c|0)!=J[a+152>>2]){break e}e=c?c<<1:1;if((e|0)<=(c|0)){break e}if(e){g=Ga(e<<1);c=J[a+148>>2]}f=J[a+156>>2];f:{g:{if((c|0)>0){while(1){h=d<<1;I[h+g>>1]=L[f+h>>1];d=d+1|0;if((d|0)!=(c|0)){continue}break}if(K[a+160|0]){break g}break f}if(!f|!K[a+160|0]){break f}}Fa(f);c=J[a+148>>2]}J[a+156>>2]=g;J[a+152>>2]=e;H[a+160|0]=1}d=J[a+156>>2];I[d+(c<<1)>>1]=b}J[i>>2]=c+1;J[J[a+32>>2]+4>>2]=d}function am(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=Q(0),j=Q(0),k=Q(0),l=0,m=0,n=0,o=0,p=0,q=Q(0);e=ta-32|0;ta=e;J[a+60>>2]=J[a+60>>2]+1;f=J[a+4>>2];va[J[J[f>>2]+16>>2]](f,e+28|0,e+24|0,e+20|0,e+16|0,e+12|0,e+8|0,e+4|0,e,b);g=J[a+4>>2];l=g+12|0;h=J[e+12>>2]+P(J[e+8>>2],c)|0;m=J[e+16>>2];n=J[e+28>>2];o=J[e+20>>2];p=J[e>>2]-2|0;d=2;while(1){f=d;a:{b:{switch(p|0){case 1:d=L[(f<<1)+h>>1];break a;case 0:d=J[(f<<2)+h>>2];break a;default:break b}}d=K[f+h|0]}d=P(d,m)+n|0;c:{if(!o){i=Q(N[d+4>>2]*N[g+8>>2]);j=Q(N[d>>2]*N[g+4>>2]);k=N[g+12>>2];d=d+8|0;break c}i=Q(N[g+8>>2]*Q(O[d+8>>3]));j=Q(N[g+4>>2]*Q(O[d>>3]));k=Q(O[d+16>>3]);d=l}q=N[d>>2];d=(f<<4)+a|0;J[d+24>>2]=0;N[d+20>>2]=q*k;N[d+16>>2]=i;N[d+12>>2]=j;d=f-1|0;if(f){continue}break}f=J[a+8>>2];va[J[J[f>>2]+8>>2]](f,a+12|0,b,c);a=J[a+4>>2];va[J[J[a>>2]+24>>2]](a,b);ta=e+32|0}function Yf(a,b,c){var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;e=ta-32|0;ta=e;d=J[a+52>>2];k=K[a+68|0];h=k?c:b;i=J[h+4>>2];f=J[i+24>>2];if((d|0)<(f|0)){if(J[a+56>>2]<(f|0)){if(f){l=Ga(f<<2);g=J[a+52>>2]}else{g=d}if((g|0)>0){while(1){m=j<<2;J[m+l>>2]=J[J[a+60>>2]+m>>2];j=j+1|0;if((g|0)!=(j|0)){continue}break}}g=J[a+60>>2];if(!(!g|!K[a- -64|0])){Fa(g)}J[a+60>>2]=l;H[a+64|0]=1;J[a+56>>2]=f}while(1){J[J[a+60>>2]+(d<<2)>>2]=0;d=d+1|0;if((f|0)!=(d|0)){continue}break}}J[a+52>>2]=f;if((f|0)>0){b=k?b:c;d=0;while(1){a:{if(J[i+72>>2]){J[J[a+60>>2]+(d<<2)>>2]=0;break a}c=J[h+12>>2];g=J[h+8>>2];J[e+12>>2]=J[(J[i+32>>2]+P(d,80)|0)+64>>2];J[e+28>>2]=d;J[e+24>>2]=-1;J[e+16>>2]=g;J[e+20>>2]=c;J[e+8>>2]=h;c=J[a+4>>2];c=va[J[J[c>>2]+8>>2]](c,e+8|0,b,J[a+72>>2],1)|0;J[J[a+60>>2]+(d<<2)>>2]=c}d=d+1|0;if((f|0)!=(d|0)){continue}break}}ta=e+32|0}function Hi(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0;d=ta-16|0;ta=d;Na(7780);mg(a);a:{if(!(va[J[J[a>>2]+20>>2]](a)|0)){break a}b=va[J[J[a>>2]+20>>2]](a)|0;if(!(va[J[J[b>>2]+56>>2]](b)&6144)){break a}c=va[J[J[a>>2]+104>>2]](a)|0;if((c|0)<=0){break a}while(1){b=c-1|0;g=a,h=va[J[J[a>>2]+108>>2]](a,b)|0,f=J[J[a>>2]+172>>2],va[f](g|0,h|0);e=c>>>0>1;c=b;if(e){continue}break}}b:{if(!(va[J[J[a>>2]+20>>2]](a)|0)){break b}b=va[J[J[a>>2]+20>>2]](a)|0;if(!(va[J[J[b>>2]+56>>2]](b)&16387)){break b}if(!(va[J[J[a>>2]+20>>2]](a)|0)){break b}b=va[J[J[a>>2]+20>>2]](a)|0;if(!(va[J[J[b>>2]+56>>2]](b)|0)|J[a+296>>2]<=0){break b}c=0;while(1){b=J[J[a+304>>2]+(c<<2)>>2];va[J[J[b>>2]+12>>2]](b,J[a+72>>2]);c=c+1|0;if((c|0)>2]){continue}break}}if(va[J[J[a>>2]+20>>2]](a)|0){a=va[J[J[a>>2]+20>>2]](a)|0;va[J[J[a>>2]+104>>2]](a)}Ma();ta=d+16|0}function Jd(a,b,c){var d=Q(0),e=Q(0),f=0,g=Q(0),h=Q(0),i=Q(0),j=Q(0),k=Q(0),l=Q(0),m=Q(0);f=ta-16|0;ta=f;d=N[a+404>>2];if(d!=Q(0)){e=N[b+8>>2];g=N[b+4>>2];h=N[a+408>>2];N[a+372>>2]=Q(d*Q(N[b>>2]*h))+N[a+372>>2];i=N[a+412>>2];N[a+376>>2]=Q(d*Q(g*i))+N[a+376>>2];k=N[a+416>>2];N[a+380>>2]=Q(d*Q(e*k))+N[a+380>>2];d=N[c+8>>2];l=N[b+8>>2];e=N[c>>2];j=N[b+4>>2];g=N[c+4>>2];m=N[b>>2];J[f+12>>2]=0;i=Q(j*i);h=Q(h*m);N[f+8>>2]=Q(e*i)-Q(g*h);j=e;e=Q(l*k);N[f+4>>2]=Q(d*h)-Q(j*e);N[f>>2]=Q(g*e)-Q(i*d);d=N[f+8>>2];e=N[f>>2];g=N[f+4>>2];N[a+388>>2]=Q(Q(Q(N[a+332>>2]*d)+Q(Q(N[a+324>>2]*e)+Q(N[a+328>>2]*g)))*N[a+604>>2])+N[a+388>>2];N[a+392>>2]=Q(Q(Q(d*N[a+348>>2])+Q(Q(e*N[a+340>>2])+Q(g*N[a+344>>2])))*N[a+608>>2])+N[a+392>>2];N[a+396>>2]=Q(Q(Q(d*N[a+364>>2])+Q(Q(e*N[a+356>>2])+Q(g*N[a+360>>2])))*N[a+612>>2])+N[a+396>>2]}ta=f+16|0}function un(a,b,c){a=a|0;b=b|0;c=Q(c);var d=0,e=Q(0),f=Q(0),g=Q(0),h=Q(0),i=Q(0),j=0,k=Q(0),l=Q(0),m=Q(0),n=0,o=Q(0),p=Q(0),q=Q(0),r=0;d=ta-48|0;ta=d;qd(a,d+32|0);e=N[d+40>>2];f=N[d+32>>2];g=N[d+36>>2];e=Q(Q(Q(N[b+8>>2]*e)+Q(Q(N[b>>2]*f)+Q(N[b+4>>2]*g)))-Q(Q(N[a+72>>2]*e)+Q(Q(N[a+64>>2]*f)+Q(g*N[a+68>>2]))));g=Q(-c);a:{if(!(e>=g)|!(c>=e)){break a}while(1){va[J[J[a>>2]+104>>2]](a,j,d+16|0,d);k=N[d+16>>2];e=Q(N[d>>2]-k);f=N[d+36>>2];h=N[d+32>>2];l=N[d+20>>2];i=Q(N[d+4>>2]-l);c=Q(Q(e*f)-Q(h*i));o=c;p=Q(c*c);c=i;i=N[d+40>>2];q=f;m=N[d+24>>2];f=Q(N[d+8>>2]-m);c=Q(Q(c*i)-Q(q*f));e=Q(Q(f*h)-Q(i*e));f=Q(Q(1)/Q(Y(Q(p+Q(Q(c*c)+Q(e*e))))));h=Q(o*f);c=Q(c*f);e=Q(e*f);n=g>Q(Q(Q(N[b+8>>2]*h)+Q(Q(N[b>>2]*c)+Q(N[b+4>>2]*e)))-Q(Q(m*h)+Q(Q(k*c)+Q(l*e))));r=!n;if(n){break a}j=j+1|0;if((j|0)!=3){continue}break}}ta=d+48|0;return r|0}function As(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=Q(0),f=0,g=0,h=0;h=Ga(1460);f=ta-16|0;ta=f;a=ze(h,a,b,c,d,0);J[a>>2]=23348;J[f+8>>2]=0;J[f+12>>2]=0;J[f>>2]=0;J[f+4>>2]=0;while(1){e=Za(N[(g<<2)+f>>2]);a:{if(eQ(3.1415927410125732))){break a}e=Q(e+Q(-6.2831854820251465))}N[(a+P(g,88)|0)+968>>2]=e;g=g+1|0;if((g|0)!=3){continue}break}J[f+8>>2]=0;J[f+12>>2]=0;J[f>>2]=0;J[f+4>>2]=0;g=0;while(1){e=Za(N[(g<<2)+f>>2]);b:{if(eQ(3.1415927410125732))){break b}e=Q(e+Q(-6.2831854820251465))}N[(a+P(g,88)|0)+972>>2]=e;g=g+1|0;if((g|0)!=3){continue}break}J[a+680>>2]=0;J[a+684>>2]=0;J[a+704>>2]=0;J[a+708>>2]=0;J[a+696>>2]=0;J[a+700>>2]=0;J[a+688>>2]=0;J[a+692>>2]=0;ta=f+16|0;return a|0}function de(a){var b=0,c=0,d=0,e=0,f=0,g=0;b=J[a+8>>2];c=J[a+32>>2];d=c?J[a+40>>2]:0;e=c;c=J[a+52>>2];f=c?J[a+60>>2]:0;g=c;c=J[a+72>>2];Q(va[J[J[b>>2]+12>>2]](b,d,e,f,g,c?J[a+80>>2]:0,c,J[a+4>>2],J[a+20>>2],J[a+24>>2]));b=J[a+32>>2];if((b|0)<0){if(J[a+36>>2]<0){c=J[a+40>>2];if(!(!c|!K[a+44|0])){Fa(c)}H[a+44|0]=1;J[a+36>>2]=0;J[a+40>>2]=0}while(1){J[J[a+40>>2]+(b<<2)>>2]=0;b=b+1|0;if(b){continue}break}}J[a+32>>2]=0;b=J[a+52>>2];if((b|0)<0){if(J[a+56>>2]<0){c=J[a+60>>2];if(!(!c|!K[a- -64|0])){Fa(c)}H[a+64|0]=1;J[a+56>>2]=0;J[a+60>>2]=0}while(1){J[J[a+60>>2]+(b<<2)>>2]=0;b=b+1|0;if(b){continue}break}}J[a+52>>2]=0;b=J[a+72>>2];if((b|0)<0){if(J[a+76>>2]<0){c=J[a+80>>2];if(!(!c|!K[a+84|0])){Fa(c)}H[a+84|0]=1;J[a+76>>2]=0;J[a+80>>2]=0}while(1){J[J[a+80>>2]+(b<<2)>>2]=0;b=b+1|0;if(b){continue}break}}J[a+72>>2]=0}function sf(a,b,c,d){var e=0,f=0,g=0;e=ta+-64|0;ta=e;g=P(b,80);f=g+J[a+32>>2]|0;b=J[c+4>>2];J[f>>2]=J[c>>2];J[f+4>>2]=b;b=J[c+12>>2];J[f+8>>2]=J[c+8>>2];J[f+12>>2]=b;b=J[c+28>>2];J[f+24>>2]=J[c+24>>2];J[f+28>>2]=b;b=J[c+20>>2];J[f+16>>2]=J[c+16>>2];J[f+20>>2]=b;b=J[c+44>>2];J[f+40>>2]=J[c+40>>2];J[f+44>>2]=b;b=J[c+36>>2];J[f+32>>2]=J[c+32>>2];J[f+36>>2]=b;b=J[c+60>>2];J[f+56>>2]=J[c+56>>2];J[f+60>>2]=b;b=J[c+52>>2];J[f+48>>2]=J[c+48>>2];J[f+52>>2]=b;if(J[a+72>>2]){b=J[(J[a+32>>2]+g|0)+64>>2];va[J[J[b>>2]+8>>2]](b,c,e+48|0,e+32|0);c=J[e+60>>2];J[e+8>>2]=J[e+56>>2];J[e+12>>2]=c;b=J[e+44>>2];J[e+24>>2]=J[e+40>>2];J[e+28>>2]=b;b=J[e+36>>2];J[e+16>>2]=J[e+32>>2];J[e+20>>2]=b;b=J[e+52>>2];J[e>>2]=J[e+48>>2];J[e+4>>2]=b;Bd(J[a+72>>2],J[(J[a+32>>2]+g|0)+76>>2],e)}if(d){va[J[J[a>>2]+68>>2]](a)}ta=e- -64|0}function Hc(a,b,c){var d=Q(0),e=Q(0),f=Q(0),g=Q(0),h=Q(0),i=Q(0),j=Q(0),k=Q(0),l=Q(0),m=Q(0),n=Q(0),o=Q(0),p=Q(0),q=Q(0),r=Q(0),s=Q(0),t=Q(0),u=Q(0),v=Q(0);d=N[a+652>>2];e=N[a+620>>2];f=N[a+636>>2];k=Q(Q(N[c+40>>2]*d)+Q(Q(N[c+32>>2]*e)+Q(f*N[c+36>>2])));l=N[b+40>>2];g=N[a+584>>2];m=N[b+32>>2];h=N[a+552>>2];i=N[a+568>>2];n=N[b+36>>2];t=Q(k*Q(Q(l*g)+Q(Q(m*h)+Q(i*n))));o=Q(Q(N[c+8>>2]*d)+Q(Q(N[c>>2]*e)+Q(f*N[c+4>>2])));p=N[b+8>>2];q=N[b>>2];r=N[b+4>>2];u=Q(o*Q(Q(p*g)+Q(Q(q*h)+Q(i*r))));s=N[b+24>>2];j=Q(s*g);g=N[b+16>>2];v=Q(g*h);h=N[b+20>>2];j=Q(j+Q(v+Q(i*h)));i=Q(Q(N[c+24>>2]*d)+Q(Q(N[c+16>>2]*e)+Q(f*N[c+20>>2])));d=N[a+588>>2];e=N[a+556>>2];f=N[a+572>>2];return Q(Qa(Q(t+Q(u+Q(j*i))),Q(Q(k*Q(Q(l*d)+Q(Q(m*e)+Q(n*f))))+Q(Q(o*Q(Q(p*d)+Q(Q(q*e)+Q(r*f))))+Q(Q(Q(s*d)+Q(Q(g*e)+Q(h*f)))*i))))*N[a+732>>2])}function Dd(a,b){var c=0,d=0,e=Q(0),f=Q(0),g=0,h=0,i=0,j=0,k=0,l=Q(0),m=Q(0),n=Q(0),o=Q(0),p=Q(0),q=Q(0);if(J[a>>2]==(b|0)){J[a>>2]=0;return 0}c=J[b+32>>2];d=J[(((J[c+40>>2]!=(b|0))<<2)+c|0)+36>>2];b=J[c+32>>2];a:{b:{if(b){J[((((c|0)==J[b+40>>2])<<2)+b|0)+36>>2]=d;J[d+32>>2]=b;Fa(J[a+4>>2]);J[a+4>>2]=c;while(1){g=b+16|0;h=J[b+36>>2];j=h+16|0;i=J[b+40>>2];k=i+16|0;l=N[b+24>>2];m=N[b+20>>2];n=N[b+16>>2];o=N[b+8>>2];p=N[b+4>>2];q=N[b>>2];d=0;while(1){c=d<<2;e=N[c+h>>2];f=N[c+i>>2];N[b+c>>2]=e>2];f=N[c+k>>2];N[c+g>>2]=e>f?e:f;d=d+1|0;if((d|0)!=3){continue}break}c:{if(N[b>>2]!=q|N[b+4>>2]!=p|(N[b+8>>2]!=o|N[g>>2]!=n)){break c}if(N[b+20>>2]!=m){break c}if(N[b+24>>2]==l){break a}}b=J[b+32>>2];if(b){continue}break}break b}J[a>>2]=d;J[d+32>>2]=0;Fa(J[a+4>>2]);J[a+4>>2]=c}b=J[a>>2]}return b}function _l(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=Q(0),i=Q(0),j=Q(0),k=Q(0),l=0,m=0,n=Q(0),o=Q(0),p=Q(0),q=0,r=Q(0),s=Q(0);if((d|0)>0){e=ta-16|0;q=a+36|0;while(1){J[e+8>>2]=0;J[e+12>>2]=0;J[e>>2]=0;J[e+4>>2]=0;g=J[a+60>>2];f=g<<2;h=N[f+q>>2];N[e+f>>2]=h;i=Q(-0xde0b6b000000000);m=l<<4;f=m+b|0;n=N[f+8>>2];k=N[e+8>>2];o=N[f>>2];r=N[e>>2];s=N[e+4>>2];p=N[f+4>>2];j=Q(Q(n*k)+Q(Q(o*r)+Q(s*p)));if(j>Q(-0xde0b6b000000000)){g=c+m|0;N[g+12>>2]=N[e+12>>2];N[g+8>>2]=k;N[g+4>>2]=s;N[g>>2]=r;g=J[a+60>>2];h=N[(g<<2)+q>>2];n=N[f+8>>2];p=N[f+4>>2];o=N[f>>2];i=j}J[e+8>>2]=0;J[e+12>>2]=0;J[e>>2]=0;J[e+4>>2]=0;N[(g<<2)+e>>2]=-h;k=i;i=N[e+8>>2];j=N[e>>2];h=N[e+4>>2];if(k>2]=N[e+12>>2];N[f+8>>2]=i;N[f+4>>2]=h;N[f>>2]=j}l=l+1|0;if((l|0)!=(d|0)){continue}break}}}function $l(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=Q(0),f=Q(0),g=Q(0),h=Q(0),i=Q(0),j=Q(0),k=Q(0),l=0,m=Q(0),n=Q(0);d=ta-16|0;J[a>>2]=0;J[a+4>>2]=0;J[a+8>>2]=0;J[a+12>>2]=0;e=N[c+8>>2];f=N[c>>2];g=N[c+4>>2];h=Q(Q(e*e)+Q(Q(f*f)+Q(g*g)));a:{if(h>2]=0;J[d+12>>2]=0;J[d>>2]=0;J[d+4>>2]=0;c=J[b+60>>2]<<2;l=c+d|0;i=N[(b+c|0)+36>>2];N[l>>2]=i;f=Q(-0xde0b6b000000000);j=N[d+8>>2];m=N[d>>2];n=N[d+4>>2];g=Q(Q(k*j)+Q(Q(h*m)+Q(e*n)));if(g>Q(-0xde0b6b000000000)){N[a+12>>2]=N[d+12>>2];N[a+8>>2]=j;N[a+4>>2]=n;N[a>>2]=m;f=g}J[d+8>>2]=0;J[d+12>>2]=0;J[d>>2]=0;J[d+4>>2]=0;N[l>>2]=-i;i=f;f=N[d+8>>2];g=N[d>>2];j=e;e=N[d+4>>2];if(i>2]=N[d+12>>2];N[a+8>>2]=f;N[a+4>>2]=e;N[a>>2]=g}}function Tf(a){var b=0,c=0,d=0,e=0,f=0,g=0;b=J[a+84>>2];c=J[b+8>>2];if((c|0)>0){while(1){d=J[(J[b+16>>2]+P(e,12)|0)+8>>2];if(d){va[J[J[d>>2]>>2]](d)|0;f=J[a+4>>2];va[J[J[f>>2]+60>>2]](f,d)}e=e+1|0;if((c|0)!=(e|0)){continue}break}b=J[a+84>>2]}a=J[b+16>>2];if(!(!a|!K[b+20|0])){Fa(a)}J[b+16>>2]=0;H[b+20|0]=1;J[b+8>>2]=0;J[b+12>>2]=0;a=J[b+36>>2];if(!(!a|!K[b+40|0])){Fa(a)}J[b+36>>2]=0;H[b+40|0]=1;J[b+28>>2]=0;J[b+32>>2]=0;a=J[b+56>>2];if(!(!a|!K[b+60|0])){Fa(a)}a=0;J[b+56>>2]=0;H[b+60|0]=1;J[b+48>>2]=0;J[b+52>>2]=0;if(J[b+12>>2]<=1){e=Ga(24);f=J[b+8>>2];if((f|0)>0){while(1){c=P(a,12);d=c+J[b+16>>2]|0;g=J[d+4>>2];c=c+e|0;J[c>>2]=J[d>>2];J[c+4>>2]=g;J[c+8>>2]=J[d+8>>2];a=a+1|0;if((f|0)!=(a|0)){continue}break}}a=J[b+16>>2];if(!(!a|!K[b+20|0])){Fa(a)}J[b+16>>2]=e;H[b+20|0]=1;J[b+12>>2]=2}kd(b)}function tl(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;e=ta-80|0;ta=e;a:{if((d|0)<=0){break a}while(1){J[((f<<4)+c|0)+12>>2]=-581039253;f=f+1|0;if((f|0)!=(d|0)){continue}break}if((d|0)<=0){break a}h=e- -64|0;while(1){J[e+40>>2]=19968;J[e+52>>2]=0;J[e+56>>2]=0;J[e+44>>2]=0;J[e+48>>2]=0;J[e+60>>2]=-581039253;g=j<<4;i=g+b|0;f=J[i+12>>2];J[h+8>>2]=J[i+8>>2];J[h+12>>2]=f;f=J[i+4>>2];J[h>>2]=J[i>>2];J[h+4>>2]=f;J[e+32>>2]=1566444395;J[e+36>>2]=0;J[e+24>>2]=1566444395;J[e+28>>2]=1566444395;f=J[a+100>>2];J[e+16>>2]=-581039253;J[e+20>>2]=0;J[e+8>>2]=-581039253;J[e+12>>2]=-581039253;va[J[J[f>>2]+8>>2]](f,e+40|0,e+8|0,e+24|0);f=J[e+56>>2];g=c+g|0;J[g+8>>2]=J[e+52>>2];J[g+12>>2]=f;f=J[e+48>>2];J[g>>2]=J[e+44>>2];J[g+4>>2]=f;j=j+1|0;if((j|0)!=(d|0)){continue}break}}ta=e+80|0}function Zb(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=Q(0),g=0,h=0;g=b,h=va[J[J[c>>2]+28>>2]](c,J[a+28>>2])|0,J[g>>2]=h;g=b,h=va[J[J[c>>2]+28>>2]](c,J[a+32>>2])|0,J[g+4>>2]=h;d=va[J[J[c>>2]+40>>2]](c,a)|0;e=va[J[J[c>>2]+28>>2]](c,d)|0;J[b+8>>2]=e;if(e){va[J[J[c>>2]+48>>2]](c,d)}J[b+12>>2]=J[a+4>>2];J[b+24>>2]=K[a+21|0];J[b+40>>2]=J[a+24>>2];N[b+44>>2]=N[a+16>>2];J[b+48>>2]=K[a+20|0];J[b+20>>2]=J[a+12>>2];J[b+16>>2]=J[a+8>>2];N[b+28>>2]=N[a+36>>2];f=N[a+40>>2];c=0;J[b+36>>2]=0;N[b+32>>2]=f;d=J[a+28>>2];e=J[d+548>>2];if((e|0)>0){d=J[d+556>>2];while(1){if(J[d+(c<<2)>>2]==(a|0)){J[b+36>>2]=1}c=c+1|0;if((e|0)!=(c|0)){continue}break}}c=J[a+32>>2];d=J[c+548>>2];if((d|0)>0){e=J[c+556>>2];c=0;while(1){if(J[e+(c<<2)>>2]==(a|0)){J[b+36>>2]=1}c=c+1|0;if((d|0)!=(c|0)){continue}break}}return 8656}function Vd(){sa(30420,8259);ra(30444,6224,1,1,0);$(30456,5364,1,-128,127);$(30480,5357,1,-128,127);$(30468,5355,1,0,255);$(30492,2375,2,-32768,32767);$(30504,2366,2,0,65535);$(30516,2566,4,-2147483648,2147483647);$(30528,2557,4,0,-1);$(30540,6572,4,-2147483648,2147483647);$(30552,6563,4,0,-1);nh(30564,3515,-2147483648,2147483647);nh(30576,3514,0,-1);ka(30588,3481,4);ka(30600,7547,8);ja(31884,6590);ja(25740,9962);ia(25812,4,6577);ia(25888,2,6602);ia(25964,4,6617);qa(31480,6229);_(26004,0,9893);_(26044,0,9995);_(26084,1,9923);_(26124,2,9458);_(26164,3,9489);_(26204,4,9529);_(26244,5,9558);_(26284,4,10032);_(26324,5,10062);_(26044,0,9660);_(26084,1,9627);_(26124,2,9726);_(26164,3,9692);_(26204,4,9860);_(26244,5,9826);_(26364,8,9793);_(26404,9,9759);_(26444,6,9596);_(26484,7,10101)}function Ud(a){var b=0,c=0,d=Q(0),e=Q(0),f=0,g=Q(0);f=(B(a),v(2));c=f&2147483647;if(c>>>0>=1283457024){return((B(a),v(2))&2147483647)>>>0>2139095040?a:(x(2,(B(a),v(2))&-2147483648|1070141402),C())}a:{b:{if(c>>>0<=1054867455){b=-1;if(c>>>0>=964689920){break b}break a}a=Q(R(a));if(c>>>0<=1066926079){if(c>>>0<=1060110335){a=Q(Q(Q(a+a)+Q(-1))/Q(a+Q(2)));b=0;break b}a=Q(Q(a+Q(-1))/Q(a+Q(1)));b=1;break b}if(c>>>0<=1075576831){a=Q(Q(a+Q(-1.5))/Q(Q(a*Q(1.5))+Q(1)));b=2;break b}a=Q(Q(-1)/a);b=3}e=Q(a*a);d=Q(e*e);g=Q(d*Q(Q(d*Q(-.106480173766613))+Q(-.19999158382415771)));d=Q(e*Q(Q(d*Q(Q(d*Q(.06168760731816292))+Q(.14253635704517365)))+Q(.333333283662796)));if(c>>>0<=1054867455){return Q(a-Q(a*Q(g+d)))}b=b<<2;a=Q(N[b+26528>>2]-Q(Q(Q(a*Q(g+d))-N[b+26544>>2])-a));a=(f|0)<0?Q(-a):a}return a}function ul(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=Q(0),f=Q(0),g=Q(0),h=Q(0),i=Q(0);d=ta-80|0;ta=d;J[a>>2]=0;J[a+4>>2]=0;J[a+8>>2]=0;J[a+12>>2]=0;f=N[c+8>>2];h=N[c>>2];g=N[c+4>>2];e=Q(Q(f*f)+Q(Q(h*h)+Q(g*g)));a:{if(e>2];e=Q(h*e)}J[d+52>>2]=0;J[d+56>>2]=0;N[d+76>>2]=g;N[d+72>>2]=f;N[d+68>>2]=i;J[d+44>>2]=0;J[d+48>>2]=0;N[d+64>>2]=e;J[d+60>>2]=-581039253;J[d+40>>2]=19968;J[d+32>>2]=1566444395;J[d+36>>2]=0;J[d+24>>2]=1566444395;J[d+28>>2]=1566444395;b=J[b+100>>2];J[d+16>>2]=-581039253;J[d+20>>2]=0;J[d+8>>2]=-581039253;J[d+12>>2]=-581039253;va[J[J[b>>2]+8>>2]](b,d+40|0,d+8|0,d+24|0);b=J[d+56>>2];J[a+8>>2]=J[d+52>>2];J[a+12>>2]=b;b=J[d+48>>2];J[a>>2]=J[d+44>>2];J[a+4>>2]=b;ta=d+80|0}function Mr(a,b){a=Q(a);b=b|0;var c=0;c=ta-144|0;ta=c;jh();J[c+88>>2]=0;J[c+92>>2]=0;J[c+12>>2]=0;J[c+16>>2]=0;J[c+20>>2]=0;J[c+24>>2]=0;J[c+28>>2]=1065353216;N[c>>2]=a;a=a==Q(0)?Q(0):Q(1.6666666269302368);N[c+84>>2]=a;N[c+80>>2]=a;J[c+136>>2]=1008981770;J[c+140>>2]=1008981770;J[c+128>>2]=1000593162;J[c+132>>2]=1008981770;H[c+124|0]=0;J[c+120>>2]=1065353216;J[c+112>>2]=0;J[c+116>>2]=1061997773;J[c+104>>2]=0;J[c+108>>2]=0;J[c+96>>2]=0;J[c+100>>2]=1056964608;J[c+72>>2]=33904;J[c+4>>2]=b;J[c+8>>2]=1065353216;N[c+76>>2]=a;J[c+40>>2]=0;J[c+44>>2]=0;J[c+32>>2]=0;J[c+36>>2]=0;J[c+48>>2]=1065353216;J[c+52>>2]=0;J[c+56>>2]=0;J[c+60>>2]=0;J[c+64>>2]=0;J[c+68>>2]=0;b=mc(Ga(676));J[b>>2]=23988;H[b+560|0]=1;J[b+556>>2]=0;J[b+548>>2]=0;J[b+552>>2]=0;te(b,c);ta=c+144|0;return b|0}function Ta(a){var b=Q(0),c=0,d=0,e=0,f=0;c=ta-16|0;ta=c;e=(B(a),v(2));d=e&2147483647;a:{if(d>>>0<=1061752794){b=Q(1);if(d>>>0<964689920){break a}b=db(+a);break a}if(d>>>0<=1081824209){if(d>>>0>=1075235812){b=Q(-db(((e|0)<0?3.141592653589793:-3.141592653589793)+ +a));break a}f=+a;if((e|0)<0){b=cb(f+1.5707963267948966);break a}b=cb(1.5707963267948966-f);break a}if(d>>>0<=1088565717){if(d>>>0>=1085271520){b=db(((e|0)<0?6.283185307179586:-6.283185307179586)+ +a);break a}if((e|0)<0){b=cb(-4.71238898038469-+a);break a}b=cb(+a+-4.71238898038469);break a}b=Q(a-a);if(d>>>0>=2139095040){break a}b:{switch(Td(a,c+8|0)&3){case 0:b=db(O[c+8>>3]);break a;case 1:b=cb(-O[c+8>>3]);break a;case 2:b=Q(-db(O[c+8>>3]));break a;default:break b}}b=cb(O[c+8>>3])}a=b;ta=c+16|0;return a}function Va(a){var b=0,c=0,d=0,e=0;b=ta-16|0;ta=b;e=(B(a),v(2));c=e&2147483647;a:{if(c>>>0<=1061752794){if(c>>>0<964689920){break a}a=cb(+a);break a}if(c>>>0<=1081824209){d=+a;if(c>>>0<=1075235811){if((e|0)<0){a=Q(-db(d+1.5707963267948966));break a}a=db(d+-1.5707963267948966);break a}a=cb(-(((e|0)>=0?-3.141592653589793:3.141592653589793)+d));break a}if(c>>>0<=1088565717){if(c>>>0<=1085271519){d=+a;if((e|0)<0){a=db(d+4.71238898038469);break a}a=Q(-db(d+-4.71238898038469));break a}a=cb(((e|0)<0?6.283185307179586:-6.283185307179586)+ +a);break a}if(c>>>0>=2139095040){a=Q(a-a);break a}b:{switch(Td(a,b+8|0)&3){case 0:a=cb(O[b+8>>3]);break a;case 1:a=db(O[b+8>>3]);break a;case 2:a=cb(-O[b+8>>3]);break a;default:break b}}a=Q(-db(O[b+8>>3]))}ta=b+16|0;return a}function Di(a,b,c,d){a=a|0;b=Q(b);c=c|0;d=Q(d);var e=0,f=0,g=Q(0),h=0,i=0;xh(J[8522]);a:{if(c){N[a+284>>2]=d;b=Q(N[a+280>>2]+b);N[a+280>>2]=b;if(!(b>=d)){break a}g=b;b=Q(b/d);b:{if(Q(R(b))>2]=g-Q(Q(e|0)*d);break a}J[a+284>>2]=0;N[a+280>>2]=K[a+316|0]?Q(0):b;d=b;e=!(Q(R(b))>2]+20>>2]](a)|0){f=va[J[J[a>>2]+20>>2]](a)|0;h=38297,i=va[J[J[f>>2]+56>>2]](f)>>>4&1,H[h|0]=i}c:{if(e){f=(c|0)>(e|0)?e:c;va[J[J[a>>2]+168>>2]](a,Q(d*Q(f|0)));va[J[J[a>>2]+176>>2]](a);if((f|0)<=0){break c}c=0;while(1){va[J[J[a>>2]+160>>2]](a,d);va[J[J[a>>2]+80>>2]](a);c=c+1|0;if((f|0)!=(c|0)){continue}break}break c}va[J[J[a>>2]+80>>2]](a)}va[J[J[a>>2]+120>>2]](a);J[9100]=J[9100]+1;return e|0}function Es(a,b,c){a=a|0;b=Q(b);c=Q(c);var d=0,e=Q(0),f=Q(0),g=0,h=Q(0);d=ta-16|0;ta=d;N[d+12>>2]=b;e=N[a+692>>2];a:{if(!(e>Q(0))){break a}f=N[a+688>>2];b=Za(Q(N[d+12>>2]-f));b:{if(bQ(3.1415927410125732))){break b}b=Q(b+Q(-6.2831854820251465))}if(!(Q(-e)>b)&b<=e){break a}c:{if(b>Q(0)){b=Za(Q(e+f));if(bQ(3.1415927410125732))){break c}b=Q(b+Q(-6.2831854820251465));break c}b=Za(Q(f-e));if(bQ(3.1415927410125732))){break c}b=Q(b+Q(-6.2831854820251465))}N[d+12>>2]=b}g=a,h=Q(Q(N[d+12>>2]-Hc(a,J[a+28>>2]+4|0,J[a+32>>2]+4|0))/c),N[g+680>>2]=h;ta=d+16|0}function vf(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=Q(0),j=Q(0),k=Q(0),l=0,m=0,n=0,o=0,p=0,q=Q(0);e=ta-80|0;ta=e;f=J[a+4>>2];va[J[J[f>>2]+16>>2]](f,e+28|0,e+24|0,e+20|0,e+16|0,e+12|0,e+8|0,e+4|0,e,b);g=J[a+4>>2];l=g+12|0;h=J[e+12>>2]+P(J[e+8>>2],c)|0;m=J[e+16>>2];n=J[e+28>>2];o=J[e+20>>2];p=J[e>>2]!=3;d=2;while(1){f=d;if(p){d=J[(f<<2)+h>>2]}else{d=L[(f<<1)+h>>1]}d=P(d,m)+n|0;a:{if(!o){i=Q(N[d+4>>2]*N[g+8>>2]);j=Q(N[d>>2]*N[g+4>>2]);k=N[g+12>>2];d=d+8|0;break a}i=Q(N[g+8>>2]*Q(O[d+8>>3]));j=Q(N[g+4>>2]*Q(O[d>>3]));k=Q(O[d+16>>3]);d=l}q=N[d>>2];d=(e+32|0)+(f<<4)|0;J[d+12>>2]=0;N[d+8>>2]=q*k;N[d+4>>2]=i;N[d>>2]=j;d=f-1|0;if(f){continue}break}f=J[a+8>>2];va[J[J[f>>2]+8>>2]](f,e+32|0,b,c);a=J[a+4>>2];va[J[J[a>>2]+24>>2]](a,b);ta=e+80|0}function ed(a){var b=Q(0),c=Q(0),d=Q(0),e=Q(0),f=Q(0),g=0,h=0,i=Q(0),j=Q(0),k=Q(0),l=0,m=Q(0),n=0,o=0;d=N[a+84>>2];e=N[a+68>>2];i=Q(d+e);b=N[a+88>>2];c=N[a+72>>2];j=Q(b+c);m=Q(c-b);k=Q(e-d);c=N[a+80>>2];f=N[a+64>>2];d=Q(c+f);e=Q(f-c);n=J[a+36>>2];l=J[a+28>>2];a=0;while(1){a:{b:{c:{d:{e:{f:{g:{switch(a|0){case 0:b=d;break b;case 1:b=d;break d;case 2:b=d;break e;case 3:b=d;break f;case 4:b=e;break b;case 5:b=e;break d;case 6:b=e;break e;case 7:break g;default:break a}}b=e}f=k;break c}f=k;c=j;break a}f=i}c=m;break a}f=i;c=j}g=0;h:{if((l|0)>0){while(1){h=P(g,36)+n|0;if(Q(N[h+32>>2]+Q(Q(c*N[h+28>>2])+Q(Q(b*N[h+20>>2])+Q(f*N[h+24>>2]))))>Q(0)){break h}g=g+1|0;if((l|0)!=(g|0)){continue}break}}o=a>>>0>6;a=a+1|0;if((a|0)!=8){continue}}break}return o}function se(a){var b=Q(0),c=Q(0),d=Q(0),e=Q(0),f=Q(0),g=Q(0),h=Q(0),i=Q(0),j=Q(0),k=Q(0),l=Q(0),m=Q(0),n=Q(0),o=Q(0),p=Q(0);J[a+368>>2]=0;J[a+352>>2]=0;J[a+336>>2]=0;c=N[a+44>>2];h=N[a+464>>2];d=Q(c*h);e=N[a+36>>2];i=N[a+456>>2];f=Q(e*i);g=N[a+40>>2];p=N[a+460>>2];b=Q(g*p);N[a+364>>2]=Q(c*d)+Q(Q(e*f)+Q(g*b));l=N[a+28>>2];m=N[a+20>>2];n=N[a+24>>2];N[a+360>>2]=Q(l*d)+Q(Q(m*f)+Q(n*b));o=N[a+12>>2];j=Q(o*d);d=N[a+4>>2];k=Q(d*f);f=N[a+8>>2];N[a+356>>2]=j+Q(k+Q(f*b));b=Q(h*l);j=Q(i*m);k=Q(p*n);N[a+348>>2]=Q(c*b)+Q(Q(e*j)+Q(g*k));N[a+344>>2]=Q(l*b)+Q(Q(m*j)+Q(n*k));N[a+340>>2]=Q(o*b)+Q(Q(d*j)+Q(f*k));b=c;c=Q(o*h);h=e;e=Q(d*i);i=g;g=Q(f*p);N[a+332>>2]=Q(b*c)+Q(Q(h*e)+Q(i*g));N[a+328>>2]=Q(l*c)+Q(Q(m*e)+Q(g*n));N[a+324>>2]=Q(o*c)+Q(Q(d*e)+Q(f*g))}function Sd(a,b,c){var d=0,e=0;a:{if((a|0)==(b|0)){break a}e=a+c|0;if(b-e>>>0<=0-(c<<1)>>>0){return Pa(a,b,c)}d=(a^b)&3;b:{c:{if(a>>>0>>0){if(d){d=a;break b}if(!(a&3)){d=a;break c}d=a;while(1){if(!c){break a}H[d|0]=K[b|0];b=b+1|0;c=c-1|0;d=d+1|0;if(d&3){continue}break}break c}d:{if(d){break d}if(e&3){while(1){if(!c){break a}c=c-1|0;d=c+a|0;H[d|0]=K[b+c|0];if(d&3){continue}break}}if(c>>>0<=3){break d}while(1){c=c-4|0;J[c+a>>2]=J[b+c>>2];if(c>>>0>3){continue}break}}if(!c){break a}while(1){c=c-1|0;H[c+a|0]=K[b+c|0];if(c){continue}break}break a}if(c>>>0<=3){break b}while(1){J[d>>2]=J[b>>2];b=b+4|0;d=d+4|0;c=c-4|0;if(c>>>0>3){continue}break}}if(!c){break a}while(1){H[d|0]=K[b|0];d=d+1|0;b=b+1|0;c=c-1|0;if(c){continue}break}}return a}function bd(a,b,c,d){var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;f=J[a+4>>2];a:{if(J[a>>2]==(b|0)){e=2;if((b|0)!=(f|0)){break a}f=J[b+12>>2];b=J[J[b+8>>2]+12>>2];h=J[b+96>>2];m=J[f+96>>2]-h|0;a=J[a+12>>2];e=J[b+92>>2];i=J[a+92>>2]-e|0;e=J[f+92>>2]-e|0;h=J[a+96>>2]-h|0;j=P(m,i)-P(e,h)|0;g=j;l=j>>31;j=J[c+8>>2];n=J[d+4>>2];o=J[c+4>>2];p=J[d+8>>2];k=P(j,n)-P(o,p)|0;k=Ut(g,l,k,k>>31);l=ua;g=e;e=J[a+88>>2];a=J[b+88>>2];e=e-a|0;f=J[f+88>>2]-a|0;a=P(g,e)-P(f,i)|0;b=a;g=a>>31;d=J[d>>2];c=J[c>>2];a=P(d,o)-P(c,n)|0;i=Ut(b,g,a,a>>31);b=i+k|0;a=ua+l|0;a=b>>>0>>0?a+1|0:a;g=b;b=P(f,h)-P(e,m)|0;e=b;f=b>>31;b=P(c,p)-P(d,j)|0;c=Ut(e,f,b,b>>31);b=g+c|0;a=ua+a|0;a=b>>>0>>0?a+1|0:a;return!!b&(a|0)>=0|(a|0)>0?2:1}e=(b|0)==(f|0)}return e}function Mk(a,b,c){a=a|0;b=Q(b);c=c|0;var d=0,e=Q(0),f=Q(0),g=Q(0),h=0,i=Q(0),j=Q(0),k=Q(0),l=Q(0);d=ta-96|0;ta=d;e=Q(va[J[J[a>>2]+48>>2]](a));J[d+44>>2]=0;J[d+48>>2]=0;J[d+56>>2]=0;J[d+60>>2]=0;J[d+52>>2]=1065353216;h=d- -64|0;J[h>>2]=0;J[h+4>>2]=0;J[d+76>>2]=0;J[d+80>>2]=0;J[d+72>>2]=1065353216;J[d+84>>2]=0;J[d+88>>2]=0;J[d+92>>2]=0;J[d+36>>2]=0;J[d+40>>2]=0;J[d+32>>2]=1065353216;va[J[J[a>>2]+8>>2]](a,d+32|0,d+16|0,d);i=N[d+24>>2];j=N[d+8>>2];f=N[d+16>>2];g=N[d>>2];k=N[d+20>>2];l=N[d+4>>2];J[c+12>>2]=0;b=Q(b*Q(.0833333283662796));f=Q(e+Q(Q(g-f)*Q(.5)));f=Q(f+f);f=Q(f*f);g=Q(e+Q(Q(l-k)*Q(.5)));g=Q(g+g);g=Q(g*g);N[c+8>>2]=b*Q(f+g);e=Q(e+Q(Q(j-i)*Q(.5)));e=Q(e+e);e=Q(e*e);N[c+4>>2]=b*Q(f+e);N[c>>2]=b*Q(g+e);ta=d+96|0}function Cl(a,b,c){a=a|0;b=Q(b);c=c|0;var d=0,e=Q(0),f=Q(0),g=Q(0),h=0,i=Q(0),j=Q(0),k=Q(0),l=Q(0);d=ta-96|0;ta=d;J[d+44>>2]=0;J[d+48>>2]=0;J[d+56>>2]=0;J[d+60>>2]=0;J[d+52>>2]=1065353216;h=d- -64|0;J[h>>2]=0;J[h+4>>2]=0;J[d+76>>2]=0;J[d+80>>2]=0;J[d+72>>2]=1065353216;J[d+84>>2]=0;J[d+88>>2]=0;J[d+92>>2]=0;J[d+36>>2]=0;J[d+40>>2]=0;J[d+32>>2]=1065353216;va[J[J[a>>2]+8>>2]](a,d+32|0,d+16|0,d);i=N[d+24>>2];j=N[d+8>>2];f=N[d+16>>2];g=N[d>>2];k=N[d+20>>2];l=N[d+4>>2];e=Q(va[J[J[a>>2]+48>>2]](a));J[c+12>>2]=0;b=Q(b*Q(.0833333283662796));f=Q(e+Q(Q(g-f)*Q(.5)));f=Q(f+f);f=Q(f*f);g=Q(e+Q(Q(l-k)*Q(.5)));g=Q(g+g);g=Q(g*g);N[c+8>>2]=b*Q(f+g);e=Q(e+Q(Q(j-i)*Q(.5)));e=Q(e+e);e=Q(e*e);N[c+4>>2]=b*Q(f+e);N[c>>2]=b*Q(g+e);ta=d+96|0}function Ze(a,b){var c=0,d=0,e=0,f=0,g=0,h=0,i=0;d=J[a+4>>2];a:{if((d|0)!=J[a+8>>2]){break a}g=d?d<<1:1;if((g|0)<=(d|0)){break a}if(g){i=Ga(P(g,36));d=J[a+4>>2]}b:{if((d|0)<=0){break b}while(1){c=P(e,36);f=c+i|0;c=c+J[a+12>>2]|0;Ib(f,c);h=J[c+32>>2];J[f+28>>2]=J[c+28>>2];J[f+32>>2]=h;h=J[c+24>>2];J[f+20>>2]=J[c+20>>2];J[f+24>>2]=h;e=e+1|0;if((e|0)!=(d|0)){continue}break}c=J[a+4>>2];if((c|0)<=0){break b}e=0;while(1){Ha(J[a+12>>2]+P(e,36)|0);e=e+1|0;if((c|0)!=(e|0)){continue}break}}c=J[a+12>>2];if(!(!c|!K[a+16|0])){Fa(c)}J[a+12>>2]=i;H[a+16|0]=1;J[a+8>>2]=g;d=J[a+4>>2]}c=J[a+12>>2]+P(d,36)|0;Ib(c,b);d=J[b+32>>2];J[c+28>>2]=J[b+28>>2];J[c+32>>2]=d;d=J[b+24>>2];J[c+20>>2]=J[b+20>>2];J[c+24>>2]=d;J[a+4>>2]=J[a+4>>2]+1}function fn(a,b,c,d){a=a|0;b=b|0;c=Q(c);d=Q(d);var e=0,f=0;f=ta-16|0;ta=f;e=J[b+12>>2];J[f+8>>2]=J[b+8>>2];J[f+12>>2]=e;e=J[b+4>>2];J[f>>2]=J[b>>2];J[f+4>>2]=e;d=Q(va[J[J[a>>2]+20>>2]](a));H[a+65|0]=0;N[a+16>>2]=d;d=N[a+36>>2];N[a+36>>2]=d>Q(.009999999776482582)?d:Q(.009999999776482582);b=J[a+4>>2];e=J[b+56>>2];J[a+136>>2]=J[b+52>>2];J[a+140>>2]=e;e=J[b+64>>2];J[a+144>>2]=J[b+60>>2];J[a+148>>2]=e;b=zc(a,f,c);if(K[a+60|0]){H[a+61|0]=1;e=J[a+148>>2];b=J[a+4>>2];J[b+60>>2]=J[a+144>>2];J[b+64>>2]=e;e=J[a+140>>2];J[b+52>>2]=J[a+136>>2];J[b+56>>2]=e;b=zc(a,f,c);H[a+61|0]=0}a:{if(!K[a+65|0]){break a}if(!(b&4)|(va[J[J[a>>2]+16>>2]](a)|0)!=1){break a}H[a+64|0]=1;zc(a,f,c);H[a+64|0]=0}J[a+132>>2]=b;ta=f+16|0;return b|0}function Xm(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;a=J[b>>2];b=pd(va[J[J[a>>2]+56>>2]](a,116)|0,b,c,d,0);J[b>>2]=16356;H[b+104|0]=1;J[b+100>>2]=0;J[b+92>>2]=0;J[b+96>>2]=0;a=Ga(64);H[a+20|0]=1;J[a>>2]=17804;J[a+16>>2]=0;H[a+40|0]=1;J[a+8>>2]=0;J[a+12>>2]=0;J[a+36>>2]=0;H[a+60|0]=1;J[a+28>>2]=0;J[a+32>>2]=0;J[a+56>>2]=0;J[a+48>>2]=0;J[a+52>>2]=0;h=Ga(24);i=J[a+8>>2];if((i|0)>0){while(1){e=P(g,12);f=e+J[a+16>>2]|0;j=J[f+4>>2];e=e+h|0;J[e>>2]=J[f>>2];J[e+4>>2]=j;J[e+8>>2]=J[f+8>>2];g=g+1|0;if((i|0)!=(g|0)){continue}break}}f=J[a+16>>2];if(!(!f|!K[a+20|0])){Fa(f)}J[a+16>>2]=h;H[a+20|0]=1;J[a+12>>2]=2;kd(a);J[b+84>>2]=a;J[b+108>>2]=J[J[c+4>>2]+76>>2];J[b+112>>2]=J[J[d+4>>2]+76>>2];return b|0}function bb(a,b){var c=0,d=0,e=0;c=ta+-64|0;ta=c;d=J[a>>2];e=J[d-4>>2];d=J[d-8>>2];J[c+32>>2]=0;J[c+36>>2]=0;J[c+40>>2]=0;J[c+44>>2]=0;J[c+48>>2]=0;J[c+52>>2]=0;H[c+55|0]=0;H[c+56|0]=0;H[c+57|0]=0;H[c+58|0]=0;H[c+59|0]=0;H[c+60|0]=0;H[c+61|0]=0;H[c+62|0]=0;J[c+24>>2]=0;J[c+28>>2]=0;J[c+20>>2]=0;J[c+16>>2]=30068;J[c+12>>2]=a;J[c+8>>2]=b;a=a+d|0;d=0;a:{if(Sa(e,b,0)){J[c+56>>2]=1;va[J[J[e>>2]+20>>2]](e,c+8|0,a,a,1,0);d=J[c+32>>2]==1?a:0;break a}va[J[J[e>>2]+24>>2]](e,c+8|0,a,1,0);b:{switch(J[c+44>>2]){case 0:d=J[c+48>>2]==1?J[c+36>>2]==1?J[c+40>>2]==1?J[c+28>>2]:0:0:0;break a;case 1:break b;default:break a}}if(J[c+32>>2]!=1){if(J[c+48>>2]|J[c+36>>2]!=1|J[c+40>>2]!=1){break a}}d=J[c+24>>2]}ta=c- -64|0;return d}function Up(a,b,c,d){a=a|0;b=Q(b);c=c|0;d=d|0;var e=0,f=0,g=Q(0);e=ta+-64|0;ta=e;f=J[c+60>>2];J[e+56>>2]=J[c+56>>2];J[e+60>>2]=f;f=J[c+52>>2];J[e+48>>2]=J[c+48>>2];J[e+52>>2]=f;N[e+32>>2]=N[c+4>>2];N[e+36>>2]=N[c+20>>2];g=N[c+36>>2];J[e+44>>2]=0;N[e+40>>2]=g;N[e+16>>2]=N[c>>2];N[e+20>>2]=N[c+16>>2];g=N[c+32>>2];J[e+28>>2]=0;N[e+24>>2]=g;c=e+48|0;f=e+32|0;va[J[J[a>>2]+72>>2]](a,c,f,e+16|0,b,Q(-1.5707963705062866),Q(1.5707963705062866),Q(-1.5707963705062866),Q(1.5707963705062866),d,Q(30),0);J[e+12>>2]=0;N[e+8>>2]=-N[e+24>>2];N[e+4>>2]=-N[e+20>>2];N[e>>2]=-N[e+16>>2];va[J[J[a>>2]+72>>2]](a,c,f,e,b,Q(-1.5707963705062866),Q(1.5707963705062866),Q(-1.5707963705062866),Q(1.5707963705062866),d,Q(30),0);ta=e- -64|0}function Yl(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=Q(0),f=0,g=Q(0),h=Q(0),i=Q(0),j=Q(0),k=0,l=Q(0),m=Q(0),n=Q(0),o=Q(0),p=Q(0),q=Q(0),r=Q(0),s=Q(0),t=Q(0),u=Q(0);f=ta-16|0;k=a+36|0;a=J[a+60>>2];e=N[k+((a+2|0)%3<<2)>>2];N[f+8>>2]=e;N[f+4>>2]=e;N[f>>2]=e;a=a<<2;N[a+f>>2]=e+N[a+k>>2];l=N[b+52>>2];g=N[b+24>>2];o=N[b+20>>2];m=N[b+56>>2];h=N[b+40>>2];p=N[b+36>>2];n=N[b+48>>2];q=N[b+8>>2];r=N[b>>2];s=N[b+4>>2];t=N[b+16>>2];u=N[b+32>>2];e=N[f+8>>2];i=N[f>>2];j=N[f+4>>2];J[c+12>>2]=0;h=Q(Q(e*Q(R(h)))+Q(Q(i*Q(R(u)))+Q(j*Q(R(p)))));N[c+8>>2]=m-h;g=Q(Q(e*Q(R(g)))+Q(Q(i*Q(R(t)))+Q(j*Q(R(o)))));N[c+4>>2]=l-g;e=Q(Q(e*Q(R(q)))+Q(Q(i*Q(R(r)))+Q(j*Q(R(s)))));N[c>>2]=n-e;J[d+12>>2]=0;N[d+8>>2]=m+h;N[d+4>>2]=l+g;N[d>>2]=n+e}function Ka(a,b,c){var d=0,e=0,f=0,g=0;a:{if(!c){break a}H[a|0]=b;d=a+c|0;H[d-1|0]=b;if(c>>>0<3){break a}H[a+2|0]=b;H[a+1|0]=b;H[d-3|0]=b;H[d-2|0]=b;if(c>>>0<7){break a}H[a+3|0]=b;H[d-4|0]=b;if(c>>>0<9){break a}d=0-a&3;e=d+a|0;b=P(b&255,16843009);J[e>>2]=b;d=c-d&-4;c=d+e|0;J[c-4>>2]=b;if(d>>>0<9){break a}J[e+8>>2]=b;J[e+4>>2]=b;J[c-8>>2]=b;J[c-12>>2]=b;if(d>>>0<25){break a}J[e+24>>2]=b;J[e+20>>2]=b;J[e+16>>2]=b;J[e+12>>2]=b;J[c-16>>2]=b;J[c-20>>2]=b;J[c-24>>2]=b;J[c-28>>2]=b;g=e&4|24;c=d-g|0;if(c>>>0<32){break a}d=Ut(b,0,1,1);f=ua;b=e+g|0;while(1){J[b+24>>2]=d;J[b+28>>2]=f;J[b+16>>2]=d;J[b+20>>2]=f;J[b+8>>2]=d;J[b+12>>2]=f;J[b>>2]=d;J[b+4>>2]=f;b=b+32|0;c=c-32|0;if(c>>>0>31){continue}break}}return a}function Ab(a,b){var c=Q(0),d=0,e=0,f=Q(0),g=0,h=Q(0),i=Q(0),j=0,k=0,l=0,m=0;e=ta-16|0;c=N[a>>2];h=N[a+20>>2];i=N[a+40>>2];f=Q(Q(c+h)+i);a:{if(f>Q(0)){f=Q(Y(Q(f+Q(1))));c=Q(Q(.5)/f);h=Q(c*Q(N[a+16>>2]-N[a+4>>2]));i=Q(c*Q(N[a+8>>2]-N[a+32>>2]));f=Q(f*Q(.5));c=Q(c*Q(N[a+36>>2]-N[a+24>>2]));break a}g=c>>0)%3|0;g=m+(a<<4)|0;a=a<<2;c=Q(Y(Q(Q(Q(N[k+j>>2]-N[l+d>>2])-N[g+a>>2])+Q(1))));N[j+e>>2]=c*Q(.5);c=Q(Q(.5)/c);N[e+12>>2]=Q(N[d+g>>2]-N[a+l>>2])*c;N[e+d>>2]=c*Q(N[j+l>>2]+N[d+k>>2]);N[(a|e)>>2]=c*Q(N[g+j>>2]+N[a+k>>2]);f=N[e+12>>2];h=N[e+8>>2];i=N[e+4>>2];c=N[e>>2]}N[b+12>>2]=f;N[b+8>>2]=h;N[b+4>>2]=i;N[b>>2]=c}function Qb(a,b,c,d){var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;g=ta-16|0;ta=g;e=J[a+12>>2]+((c+d|0)/2<<4)|0;J[g>>2]=J[e>>2];J[g+4>>2]=J[e+4>>2];J[g+8>>2]=J[e+8>>2];J[g+12>>2]=J[e+12>>2];e=c;f=d;while(1){i=e;while(1){e=i;i=e+1|0;h=e<<4;if(Cg(h+J[a+12>>2]|0,g)){continue}break}j=f;while(1){f=j;j=f-1|0;k=f<<4;if(Cg(g,k+J[a+12>>2]|0)){continue}break}if((e|0)<=(f|0)){f=J[a+12>>2];e=f+h|0;h=J[e>>2];m=J[e+4>>2];f=f+k|0;l=J[f+4>>2];J[e>>2]=J[f>>2];J[e+4>>2]=l;l=J[e+8>>2];n=J[e+12>>2];o=J[f+12>>2];J[e+8>>2]=J[f+8>>2];J[e+12>>2]=o;e=J[a+12>>2]+k|0;J[e+8>>2]=l;J[e+12>>2]=n;J[e>>2]=h;J[e+4>>2]=m;f=j;e=i}if((e|0)<=(f|0)){continue}break}if((c|0)<(f|0)){Qb(a,b,c,f)}if((d|0)>(e|0)){Qb(a,b,e,d)}ta=g+16|0}function eb(a,b,c,d){var e=Q(0),f=Q(0),g=Q(0),h=Q(0);g=Q(va[J[J[a>>2]+68>>2]](a,b,c));a:{b:{c:{switch(J[a+112>>2]){default:e=N[d+8>>2];f=N[d+4>>2];g=N[d>>2];break a;case 0:f=N[a+88>>2];e=N[a+92>>2];h=N[a+56>>2];J[d+12>>2]=0;g=Q(g-h);N[d>>2]=g;e=Q(Q(c|0)-Q(e*Q(.5)));N[d+8>>2]=e;f=Q(Q(b|0)-Q(f*Q(.5)));N[d+4>>2]=f;break a;case 1:f=N[a+60>>2];h=N[a+88>>2];e=N[a+92>>2];J[d+12>>2]=0;e=Q(Q(c|0)-Q(e*Q(.5)));N[d+8>>2]=e;f=Q(g-f);N[d+4>>2]=f;g=Q(Q(b|0)-Q(h*Q(.5)));break b;case 2:break c}}e=N[a- -64>>2];h=N[a+88>>2];f=N[a+92>>2];J[d+12>>2]=0;e=Q(g-e);N[d+8>>2]=e;f=Q(Q(c|0)-Q(f*Q(.5)));N[d+4>>2]=f;g=Q(Q(b|0)-Q(h*Q(.5)))}N[d>>2]=g}N[d>>2]=N[a+116>>2]*g;N[d+4>>2]=N[a+120>>2]*f;N[d+8>>2]=N[a+124>>2]*e}function bk(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0;a:{b:{if(K[a+165|0]){h=a+92|0;if(J[h>>2]>=(b|0)){break a}if(b){e=Ga(b<<4)}else{e=0}g=J[a+88>>2];if((g|0)>0){while(1){d=c<<4;f=d+e|0;d=d+J[a+96>>2]|0;i=J[d+4>>2];J[f>>2]=J[d>>2];J[f+4>>2]=i;i=J[d+12>>2];J[f+8>>2]=J[d+8>>2];J[f+12>>2]=i;c=c+1|0;if((g|0)!=(c|0)){continue}break}}c=J[a+96>>2];if(!(!c|!K[a+100|0])){Fa(c)}J[a+96>>2]=e;H[a+100|0]=1;break b}h=a+112|0;if(J[h>>2]>=(b|0)){break a}if(b){d=Ga(b<<2)}e=J[a+116>>2];f=J[a+108>>2];c:{d:{if((f|0)>0){while(1){g=c<<2;N[g+d>>2]=N[e+g>>2];c=c+1|0;if((f|0)!=(c|0)){continue}break}if(K[a+120|0]){break d}break c}if(!e|!K[a+120|0]){break c}}Fa(e)}J[a+116>>2]=d;H[a+120|0]=1}J[h>>2]=b}}function Jo(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=Q(0);d=ta-96|0;ta=d;f=J[J[a>>2]>>2];g=J[J[a+4>>2]>>2];a:{if(!(va[J[J[b>>2]+24>>2]](b,f,g)|0)){break a}e=J[f+192>>2];J[d+88>>2]=-1;J[d+92>>2]=-1;J[d+84>>2]=f+4;J[d+80>>2]=f;J[d+76>>2]=e;J[d+72>>2]=0;e=J[g+192>>2];J[d+64>>2]=-1;J[d+68>>2]=-1;J[d+60>>2]=g+4;J[d+56>>2]=g;J[d+52>>2]=e;J[d+48>>2]=0;if(!J[a+8>>2]){b=va[J[J[b>>2]+8>>2]](b,d+72|0,d+48|0,0,1)|0;J[a+8>>2]=b;if(!b){break a}}b=d+12|0;J[b+32>>2]=0;J[b+12>>2]=d+48;J[b+8>>2]=d+72;J[b+4>>2]=0;J[b>>2]=17868;a=J[a+8>>2];e=J[a>>2];if(J[c+8>>2]==1){va[J[e+8>>2]](a,d+72|0,d+48|0,c,b);break a}h=Q(va[J[e+12>>2]](a,f,g,c,b));if(!(h>2])){break a}N[c+12>>2]=h}ta=d+96|0}function Qq(a){a=a|0;var b=0,c=0;c=Ga(144);b=Ka(c+8|0,0,128);J[c+4>>2]=0;J[c>>2]=31736;J[b+96>>2]=1065353216;J[b+100>>2]=1065353216;J[b+80>>2]=1065353216;J[b+84>>2]=0;J[b+64>>2]=1065353216;J[b+68>>2]=1065353216;J[b+48>>2]=1065353216;J[b+52>>2]=0;J[b+32>>2]=0;J[b+36>>2]=1065353216;J[b+16>>2]=0;J[b+20>>2]=1065353216;J[b+8>>2]=1065353216;J[b+12>>2]=0;J[b>>2]=1065353216;J[b+4>>2]=1065353216;J[b+88>>2]=0;J[b+92>>2]=0;J[b+72>>2]=0;J[b+76>>2]=0;J[b+56>>2]=0;J[b+60>>2]=0;J[b+40>>2]=1065353216;J[b+44>>2]=0;J[b+24>>2]=0;J[b+28>>2]=0;J[b+104>>2]=0;J[b+108>>2]=0;J[b+112>>2]=0;J[b+116>>2]=0;J[b+120>>2]=0;J[b+124>>2]=0;H[c+136|0]=0;J[c+140>>2]=J[a>>2];J[a>>2]=0;J[c>>2]=31496;return c|0}function mi(a){a=a|0;var b=0,c=0,d=0,e=0,f=0;f=ta-16|0;ta=f;Na(4559);b=J[a+220>>2];va[J[J[b>>2]+8>>2]](b,a,J[a+24>>2]);c=J[a+324>>2];if((c|0)>0){b=0;while(1){d=J[J[a+332>>2]+(b<<2)>>2];e=J[d+836>>2];a:{if(!e){break a}d=J[d+840>>2];if(!d|J[e+204>>2]&3|K[d+204|0]&3){break a}Cc(J[a+220>>2]+4|0,J[e+208>>2],J[d+208>>2]);c=J[a+324>>2]}b=b+1|0;if((c|0)>(b|0)){continue}break}}e=J[a+228>>2];if((e|0)>0){b=0;while(1){c=J[J[a+236>>2]+(b<<2)>>2];b:{if(!K[c+20|0]){break b}d=J[c+28>>2];if(K[d+204|0]&3){break b}c=J[c+32>>2];if(K[c+204|0]&3){break b}Cc(J[a+220>>2]+4|0,J[d+208>>2],J[c+208>>2])}b=b+1|0;if((e|0)!=(b|0)){continue}break}}b=J[a+220>>2];va[J[J[b>>2]+12>>2]](b,a);Ma();ta=f+16|0}function Za(a){var b=0,c=0,d=0,e=0;e=(B(a),v(2));c=e>>>23&255;if((c|0)==255){a=Q(a*Q(6.2831854820251465));return Q(a/a)}b=e<<1;if(b>>>0<=2173837238){return(b|0)==-2121130058?Q(a*Q(0)):a}a:{if(!c){c=0;b=e<<9;if((b|0)>=0){while(1){c=c-1|0;b=b<<1;if((b|0)>=0){continue}break}}b=e<<1-c;break a}b=e&8388607|8388608}if((c|0)>129){while(1){b:{d=b-13176795|0;if((d|0)<0){break b}b=d;if(b){break b}return Q(a*Q(0))}b=b<<1;c=c-1|0;if((c|0)>129){continue}break}c=129}c:{d=b-13176795|0;if((d|0)<0){break c}b=d;if(b){break c}return Q(a*Q(0))}if(b>>>0<=8388607){while(1){c=c-1|0;d=b>>>0<4194304;b=b<<1;if(d){continue}break}}return x(2,e&-2147483648|((c|0)>0?b-8388608|c<<23:b>>>1-c|0)),C()}function Jk(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=Q(0),g=Q(0),h=Q(0),i=Q(0),j=Q(0),k=Q(0),l=Q(0),m=Q(0),n=Q(0),o=Q(0),p=Q(0);e=ta+-64|0;ta=e;J[e+44>>2]=b;J[e+40>>2]=21352;b=J[a+36>>2];J[e+56>>2]=J[a+32>>2];J[e+60>>2]=b;b=J[a+28>>2];J[e+48>>2]=J[a+24>>2];J[e+52>>2]=b;g=N[a+32>>2];f=N[a+28>>2];h=N[a+24>>2];i=Q(Q(1)/h);j=N[c>>2];k=N[d>>2];N[e+24>>2]=i*(h>=Q(0)?j:k);l=Q(Q(1)/f);m=N[c+4>>2];n=N[d+4>>2];N[e+28>>2]=l*(f>=Q(0)?m:n);o=N[d+8>>2];p=N[c+8>>2];J[e+36>>2]=0;J[e+20>>2]=0;N[e+12>>2]=l*(f<=Q(0)?m:n);N[e+8>>2]=i*(h<=Q(0)?j:k);f=Q(Q(1)/g);N[e+32>>2]=f*(g>=Q(0)?p:o);N[e+16>>2]=f*(g<=Q(0)?p:o);a=J[a+40>>2];va[J[J[a>>2]+64>>2]](a,e+40|0,e+24|0,e+8|0);ta=e- -64|0}function je(a,b,c,d){var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;while(1){m=c;g=J[J[a+12>>2]+((c+d|0)/2<<2)>>2];e=d;while(1){n=J[a+12>>2];h=J[J[g+836>>2]+208>>2];i=c;while(1){c=i;o=(c<<2)+n|0;j=J[o>>2];f=J[J[j+836>>2]+208>>2];if((f|0)<0){f=J[J[j+840>>2]+208>>2]}i=c+1|0;p=(h|0)>=0;if(((p?h:J[J[g+840>>2]+208>>2])|0)>(f|0)){continue}break}f=e;while(1){e=f;q=e<<2;k=J[q+n>>2];f=e-1|0;r=p?h:J[J[g+840>>2]+208>>2];l=J[J[k+836>>2]+208>>2];if((l|0)<0){l=J[J[k+840>>2]+208>>2]}if((l|0)>(r|0)){continue}break}if((c|0)<=(e|0)){J[o>>2]=k;J[J[a+12>>2]+q>>2]=j;e=f;c=i}if((c|0)<=(e|0)){continue}break}if((e|0)>(m|0)){je(a,b,m,e)}if((c|0)<(d|0)){continue}break}}function ee(a,b,c,d){var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;while(1){l=c;h=J[J[a+12>>2]+((c+d|0)/2<<2)>>2];f=d;while(1){m=J[a+12>>2];n=J[J[h+28>>2]+208>>2];i=c;while(1){c=i;o=(c<<2)+m|0;j=J[o>>2];i=c+1|0;e=n;p=(e|0)>=0;if(!p){e=J[J[h+32>>2]+208>>2]}g=e;e=J[J[j+28>>2]+208>>2];if((e|0)<0){e=J[J[j+32>>2]+208>>2]}if((e|0)<(g|0)){continue}break}e=f;while(1){f=e;q=f<<2;k=J[q+m>>2];g=J[J[k+28>>2]+208>>2];if((g|0)<0){g=J[J[k+32>>2]+208>>2]}e=f-1|0;if(((p?n:J[J[h+32>>2]+208>>2])|0)<(g|0)){continue}break}if((c|0)<=(f|0)){J[o>>2]=k;J[J[a+12>>2]+q>>2]=j;f=e;c=i}if((c|0)<=(f|0)){continue}break}if((f|0)>(l|0)){ee(a,b,l,f)}if((c|0)<(d|0)){continue}break}}function Kh(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0;f=J[a+188>>2];h=J[b>>2];d=J[a+328>>2];a:{b:{if((d|0)<=0){break b}g=J[a+336>>2];while(1){if(J[g+(e<<2)>>2]!=(h|0)){e=e+1|0;if((e|0)!=(d|0)){continue}break b}break}if((d|0)!=(e|0)){break a}}g=c?c:f;c:{if(J[a+332>>2]!=(d|0)){break c}f=d?d<<1:1;if((f|0)<=(d|0)){break c}d:{if(!f){c=0;break d}c=Ga(f<<2);d=J[a+328>>2]}if((d|0)>0){e=0;while(1){i=e<<2;J[i+c>>2]=J[J[a+336>>2]+i>>2];e=e+1|0;if((e|0)!=(d|0)){continue}break}}e=J[a+336>>2];if(!(!e|!K[a+340|0])){Fa(e);d=J[a+328>>2]}J[a+336>>2]=c;H[a+340|0]=1;J[a+332>>2]=f}J[J[a+336>>2]+(d<<2)>>2]=h;J[a+328>>2]=d+1;a=J[a+344>>2];va[J[J[a>>2]+8>>2]](a,g,b)|0}}function Jf(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=Q(0),f=Q(0),g=Q(0),h=Q(0),i=Q(0),j=Q(0),k=Q(0),l=Q(0),m=Q(0),n=Q(0),o=Q(0),p=Q(0),q=Q(0),r=Q(0),s=Q(0),t=Q(0),u=Q(0);e=Q(va[J[J[a>>2]+48>>2]](a));j=N[b+52>>2];h=N[b+20>>2];m=N[b+24>>2];k=N[b+56>>2];i=N[b+36>>2];n=N[a+40>>2];f=N[b+40>>2];g=N[a+44>>2];l=N[b+48>>2];o=N[b>>2];p=N[b+4>>2];q=N[b+8>>2];r=N[b+16>>2];s=N[b+32>>2];t=N[a+36>>2];J[c+12>>2]=0;g=Q(e+g);u=Q(g*Q(R(f)));f=Q(e+t);e=Q(e+n);i=Q(u+Q(Q(f*Q(R(s)))+Q(e*Q(R(i)))));N[c+8>>2]=k-i;h=Q(Q(g*Q(R(m)))+Q(Q(f*Q(R(r)))+Q(e*Q(R(h)))));N[c+4>>2]=j-h;e=Q(Q(g*Q(R(q)))+Q(Q(f*Q(R(o)))+Q(e*Q(R(p)))));N[c>>2]=l-e;J[d+12>>2]=0;N[d+8>>2]=k+i;N[d+4>>2]=h+j;N[d>>2]=e+l}function sc(a,b,c){var d=0,e=Q(0),f=Q(0),g=Q(0),h=Q(0),i=Q(0),j=Q(0),k=Q(0),l=Q(0),m=Q(0),n=Q(0),o=Q(0),p=Q(0);N[a+4>>2]=N[b+40>>2];d=J[b>>2];J[a+16>>2]=d;a:{if(c){c=J[b+12>>2];J[a+52>>2]=J[b+8>>2];J[a+56>>2]=c;c=J[b+20>>2];J[a+60>>2]=J[b+16>>2];J[a+64>>2]=c;break a}h=N[d+8>>2];i=N[d+12>>2];j=N[d+20>>2];k=N[d+24>>2];l=N[d+28>>2];m=N[d+36>>2];n=N[d+40>>2];e=N[b+12>>2];o=N[d+44>>2];f=N[b+16>>2];p=N[d+4>>2];g=N[b+8>>2];J[a- -64>>2]=0;N[a+60>>2]=Q(o*f)+Q(Q(m*g)+Q(e*n));N[a+56>>2]=Q(l*f)+Q(Q(j*g)+Q(e*k));N[a+52>>2]=Q(i*f)+Q(Q(p*g)+Q(h*e))}c=J[b+28>>2];J[a+68>>2]=J[b+24>>2];J[a+72>>2]=c;c=J[b+36>>2];J[a+76>>2]=J[b+32>>2];J[a+80>>2]=c;return N[b+40>>2]}function Tl(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=Q(0),f=Q(0),g=0,h=Q(0),i=Q(0),j=Q(0),k=Q(0),l=Q(0),m=Q(0),n=Q(0);d=ta-96|0;ta=d;J[d+44>>2]=0;J[d+48>>2]=0;J[d+56>>2]=0;J[d+60>>2]=0;J[d+52>>2]=1065353216;g=d- -64|0;J[g>>2]=0;J[g+4>>2]=0;J[d+76>>2]=0;J[d+80>>2]=0;J[d+72>>2]=1065353216;J[d+84>>2]=0;J[d+88>>2]=0;J[d+92>>2]=0;J[d+36>>2]=0;J[d+40>>2]=0;J[d+32>>2]=1065353216;va[J[J[a>>2]+8>>2]](a,d+32|0,d+16|0,d);h=N[d+8>>2];i=N[d+24>>2];e=Q(h-i);m=Q(e*e);e=N[d>>2];j=N[d+16>>2];f=Q(e-j);n=Q(f*f);f=N[d+4>>2];k=N[d+20>>2];l=Q(f-k);N[c>>2]=Q(Y(Q(m+Q(n+Q(l*l)))))*Q(.5);J[b+12>>2]=0;N[b+8>>2]=Q(h+i)*Q(.5);N[b+4>>2]=Q(f+k)*Q(.5);N[b>>2]=Q(e+j)*Q(.5);ta=d+96|0}function Sc(a,b,c,d){var e=Q(0),f=Q(0),g=Q(0),h=Q(0),i=Q(0),j=Q(0),k=Q(0),l=Q(0),m=Q(0),n=Q(0),o=Q(0),p=Q(0);i=N[c+24>>2];e=N[b+24>>2];l=Q(i-e);j=N[c+16>>2];g=N[b+16>>2];m=Q(j-g);f=N[a+4>>2];o=N[a>>2];k=N[c+20>>2];h=N[b+20>>2];n=Q(k-h);p=N[a+8>>2];a=Q(Q(e*Q(Q(m*f)-Q(o*n)))+Q(Q(g*Q(Q(n*p)-Q(f*l)))+Q(h*Q(Q(l*o)-Q(p*m)))))Q(0)){break a}f=Q(Q(i*i)+Q(Q(j*j)+Q(k*k)));if(Q(Q(i*l)+Q(Q(j*m)+Q(k*n)))Q(0)?e:Q(0)}N[d>>2]=Y(f)}return a}function Me(a,b,c,d){var e=Q(0),f=Q(0),g=Q(0),h=Q(0),i=Q(0),j=Q(0),k=Q(0);e=N[a+8>>2];f=Q(N[b+8>>2]-e);h=N[a>>2];g=Q(N[b>>2]-h);j=N[a+4>>2];i=Q(N[b+4>>2]-j);k=Q(Q(f*f)+Q(Q(g*g)+Q(i*i)));if(k>Q(0)){e=Q(Q(-Q(Q(e*f)+Q(Q(h*g)+Q(j*i))))/k);if(e>=Q(1)){J[c>>2]=0;J[c+4>>2]=1065353216;J[d>>2]=2;e=N[b+8>>2];f=Q(e*e);e=N[b>>2];g=Q(e*e);e=N[b+4>>2];return Q(f+Q(g+Q(e*e)))}if(e<=Q(0)){J[c>>2]=1065353216;J[c+4>>2]=0;J[d>>2]=1;e=N[a+8>>2];f=Q(e*e);e=N[a>>2];g=Q(e*e);e=N[a+4>>2];return Q(f+Q(g+Q(e*e)))}N[c+4>>2]=e;N[c>>2]=Q(1)-e;J[d>>2]=3;f=Q(Q(f*e)+N[a+8>>2]);h=Q(f*f);f=Q(Q(g*e)+N[a>>2]);e=Q(Q(i*e)+N[a+4>>2]);e=Q(h+Q(Q(f*f)+Q(e*e)))}else{e=Q(-1)}return e}function we(a){H[a+20|0]=1;J[a>>2]=23728;J[a+16>>2]=0;H[a+40|0]=1;J[a+8>>2]=0;J[a+12>>2]=0;J[a+36>>2]=0;H[a+60|0]=1;J[a+28>>2]=0;J[a+32>>2]=0;J[a+56>>2]=0;H[a+80|0]=1;J[a+48>>2]=0;J[a+52>>2]=0;J[a+76>>2]=0;H[a+100|0]=1;J[a+68>>2]=0;J[a+72>>2]=0;J[a+96>>2]=0;H[a+120|0]=1;J[a+88>>2]=0;J[a+92>>2]=0;J[a+116>>2]=0;H[a+140|0]=1;J[a+108>>2]=0;J[a+112>>2]=0;J[a+136>>2]=0;J[a+128>>2]=0;J[a+132>>2]=0;H[a+160|0]=1;J[a+156>>2]=0;J[a+148>>2]=0;J[a+152>>2]=0;H[a+180|0]=1;J[a+176>>2]=0;J[a+168>>2]=0;J[a+172>>2]=0;H[a+208|0]=1;J[a+232>>2]=0;J[a+204>>2]=0;J[a+196>>2]=0;J[a+200>>2]=0;J[a+224>>2]=0;J[a+212>>2]=956;J[a+216>>2]=957;J[a+220>>2]=958;return a}function pe(a,b,c){var d=Q(0),e=Q(0),f=Q(0),g=Q(0),h=Q(0),i=Q(0),j=Q(0),k=Q(0),l=Q(0),m=Q(0),n=Q(0),o=Q(0),p=Q(0),q=Q(0),r=Q(0),s=Q(0),t=Q(0);l=N[b+32>>2];g=N[b+4>>2];h=N[b+24>>2];i=N[b+8>>2];d=N[b+20>>2];p=Q(Q(g*h)-Q(i*d));m=N[b>>2];j=N[b+40>>2];k=N[b+36>>2];q=Q(Q(d*j)-Q(h*k));n=N[b+16>>2];r=Q(Q(k*i)-Q(j*g));e=Q(Q(l*p)+Q(Q(m*q)+Q(n*r)));o=Q(R(e))>Q(1.1920928955078125e-7)?Q(Q(1)/e):e;e=N[c+4>>2];f=N[c>>2];s=Q(l*Q(Q(g*e)-Q(f*d)));t=d;d=N[c+8>>2];N[a+8>>2]=o*Q(s+Q(Q(m*Q(Q(t*d)-Q(e*k)))+Q(n*Q(Q(k*f)-Q(d*g)))));N[a+4>>2]=Q(Q(l*Q(Q(f*h)-Q(i*e)))+Q(Q(m*Q(Q(e*j)-Q(h*d)))+Q(n*Q(Q(d*i)-Q(j*f)))))*o;N[a>>2]=Q(Q(d*p)+Q(Q(f*q)+Q(e*r)))*o}function ak(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0;a:{b:{if(K[a+164|0]){h=a+132|0;if(J[h>>2]>=(b|0)){break a}if(b){e=Ga(b<<2)}c=J[a+136>>2];f=J[a+128>>2];c:{d:{if((f|0)>0){while(1){g=d<<2;J[g+e>>2]=J[c+g>>2];d=d+1|0;if((f|0)!=(d|0)){continue}break}if(K[a+140|0]){break d}break c}if(!c|!K[a+140|0]){break c}}Fa(c)}J[a+136>>2]=e;H[a+140|0]=1;break b}h=a+152|0;if(J[h>>2]>=(b|0)){break a}if(b){e=Ga(b<<1)}c=J[a+156>>2];f=J[a+148>>2];e:{f:{if((f|0)>0){while(1){g=d<<1;I[g+e>>1]=L[c+g>>1];d=d+1|0;if((f|0)!=(d|0)){continue}break}if(K[a+160|0]){break f}break e}if(!c|!K[a+160|0]){break e}}Fa(c)}J[a+156>>2]=e;H[a+160|0]=1}J[h>>2]=b}}function ie(a,b,c,d){var e=Q(0),f=Q(0),g=Q(0),h=Q(0),i=Q(0),j=Q(0),k=Q(0);f=Ta(c);e=N[b+444>>2];c=Va(c);a:{if(!(Q(R(f))>Q(1.1920928955078125e-7))){h=Q(f*f);break a}h=Q(f*f);g=Q(Q(c*c)/h);i=Q(g/Q(e*e));e=N[b+448>>2];e=Q(Y(Q(Q(g+Q(1))/Q(i+Q(Q(1)/Q(e*e))))))}J[a+12>>2]=0;e=Q(e*Q(.5));g=Q(Va(e)/Q(Y(Q(Q(c*c)+Q(h+Q(0))))));c=Q(g*Q(-c));e=Ta(e);i=Q(e*Q(0));h=Q(g*Q(0));j=Q(h*Q(0));k=Q(Q(i+Q(c*d))-j);f=Q(f*g);g=Q(Q(i+j)-Q(f*d));j=Q(c*Q(-0));i=Q(j+Q(Q(f*Q(-0))-Q(h*d)));d=Q(j+Q(Q(e*d)+Q(f*Q(0))));N[a+8>>2]=Q(k*h)+Q(Q(Q(e*g)-Q(i*c))-Q(d*f));N[a+4>>2]=Q(d*c)+Q(Q(Q(e*k)-Q(i*f))-Q(g*h));N[a>>2]=Q(g*f)+Q(Q(Q(e*d)-Q(i*h))-Q(k*c))}function oe(a,b){var c=0,d=0,e=0,f=0,g=0;a:{c=J[a+548>>2];b:{if((c|0)<=0){break b}e=J[a+556>>2];while(1){if(J[e+(d<<2)>>2]!=(b|0)){d=d+1|0;if((d|0)!=(c|0)){continue}break b}break}if((c|0)!=(d|0)){break a}}c:{if(J[a+552>>2]!=(c|0)){break c}e=c?c<<1:1;if((e|0)<=(c|0)){break c}if(e){f=Ga(e<<2);c=J[a+548>>2]}if((c|0)>0){d=0;while(1){g=d<<2;J[g+f>>2]=J[J[a+556>>2]+g>>2];d=d+1|0;if((d|0)!=(c|0)){continue}break}}d=J[a+556>>2];if(!(!d|!K[a+560|0])){Fa(d);c=J[a+548>>2]}J[a+556>>2]=f;H[a+560|0]=1;J[a+552>>2]=e}J[J[a+556>>2]+(c<<2)>>2]=b;J[a+548>>2]=c+1;c=J[b+32>>2];b=J[b+28>>2];if((b|0)==(a|0)){Kc(a,c,1);return}Kc(c,b,1)}}function Kl(a,b,c){a=a|0;b=Q(b);c=c|0;var d=0,e=Q(0),f=Q(0),g=Q(0),h=0,i=Q(0);d=ta-96|0;ta=d;J[d+44>>2]=0;J[d+48>>2]=0;J[d+56>>2]=0;J[d+60>>2]=0;J[d+52>>2]=1065353216;h=d- -64|0;J[h>>2]=0;J[h+4>>2]=0;J[d+76>>2]=0;J[d+80>>2]=0;J[d+72>>2]=1065353216;J[d+84>>2]=0;J[d+88>>2]=0;J[d+92>>2]=0;J[d+36>>2]=0;J[d+40>>2]=0;J[d+32>>2]=1065353216;va[J[J[a>>2]+8>>2]](a,d+32|0,d+16|0,d);e=N[d+24>>2];i=N[d+8>>2];b=Q(b/Q(12));f=Q(Q(N[d>>2]-N[d+16>>2])*Q(.5));f=Q(f+f);f=Q(f*f);g=Q(Q(N[d+4>>2]-N[d+20>>2])*Q(.5));g=Q(g+g);g=Q(g*g);N[c+8>>2]=b*Q(f+g);e=Q(Q(i-e)*Q(.5));e=Q(e+e);e=Q(e*e);N[c+4>>2]=b*Q(f+e);N[c>>2]=b*Q(g+e);ta=d+96|0}function ho(a,b,c,d,e){a=a|0;b=b|0;c=Q(c);d=d|0;e=e|0;var f=0,g=Q(0),h=Q(0),i=Q(0),j=Q(0),k=Q(0),l=Q(0),m=Q(0),n=Q(0),o=Q(0),p=Q(0),q=Q(0),r=Q(0);f=ta-48|0;ta=f;J[f+40>>2]=e;J[f+36>>2]=d;J[f+44>>2]=J[a+52>>2];j=N[a- -64>>2];k=N[a+60>>2];l=N[a+80>>2];m=N[a+72>>2];n=N[a+76>>2];o=N[a+96>>2];p=N[a+88>>2];q=N[a+92>>2];r=N[a+56>>2];g=N[b+8>>2];h=N[b>>2];i=N[b+4>>2];b=J[a+48>>2];J[f+28>>2]=0;N[f+24>>2]=Q(o*g)+Q(Q(p*h)+Q(i*q));N[f+20>>2]=Q(l*g)+Q(Q(m*h)+Q(i*n));N[f+32>>2]=c;J[f+8>>2]=b;N[f+16>>2]=Q(j*g)+Q(Q(r*h)+Q(k*i));J[f+12>>2]=f+36;a=J[a+44>>2];c=Q(va[J[J[a>>2]+12>>2]](a,f+8|0,1));ta=f+48|0;return Q(c)}function jt(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=Q(d);e=Q(e);f=Q(f);var g=0,h=Q(0);g=Jb(Ga(132));J[g>>2]=20380;J[g+116>>2]=1065353216;J[g+120>>2]=1065353216;J[g+112>>2]=1;H[g+109|0]=0;H[g+110|0]=0;H[g+108|0]=0;J[g+104>>2]=0;J[g+100>>2]=c;N[g+96>>2]=d;N[g+84>>2]=f;N[g+80>>2]=e;J[g+76>>2]=b;J[g+72>>2]=a;J[g+4>>2]=24;J[g+124>>2]=1065353216;J[g+128>>2]=0;d=Q(b-1|0);N[g+92>>2]=d;h=Q(a-1|0);N[g+88>>2]=h;N[g+40>>2]=h;J[g+24>>2]=0;J[g+52>>2]=0;N[g+48>>2]=d;N[g+44>>2]=f;J[g+32>>2]=0;J[g+36>>2]=0;N[g+28>>2]=e;J[g+68>>2]=0;N[g- -64>>2]=Q(d+Q(0))*Q(.5);N[g+60>>2]=Q(e+f)*Q(.5);N[g+56>>2]=Q(h+Q(0))*Q(.5);return g|0}function vl(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=Q(0),f=Q(0),g=Q(0),h=0,i=Q(0),j=Q(0),k=Q(0),l=Q(0);d=ta-32|0;ta=d;h=J[c+12>>2];J[d+24>>2]=J[c+8>>2];J[d+28>>2]=h;h=J[c+4>>2];J[d+16>>2]=J[c>>2];J[d+20>>2]=h;e=N[d+24>>2];f=N[d+16>>2];g=N[d+20>>2];if(Q(Q(e*e)+Q(Q(f*f)+Q(g*g)))>2]=0;g=Q(-1);f=Q(-1);e=Q(-1)}i=e;e=Q(Q(1)/Q(Y(Q(Q(e*e)+Q(Q(f*f)+Q(g*g))))));N[d+24>>2]=i*e;N[d+20>>2]=g*e;N[d+16>>2]=f*e;kb(d,b,d+16|0);e=Kb(b);f=N[d>>2];g=N[d+16>>2];i=N[d+4>>2];j=N[d+20>>2];k=N[d+8>>2];l=N[d+24>>2];J[a+12>>2]=0;N[a+8>>2]=k+Q(e*l);N[a+4>>2]=i+Q(e*j);N[a>>2]=f+Q(e*g);ta=d+32|0}function dc(a){var b=0,c=0,d=Q(0),e=0,f=0,g=0;b=ta-96|0;ta=b;H[a+96|0]=1;if(!K[36576]){J[9121]=0;J[9122]=0;J[9120]=1065353216;J[9123]=0;J[9124]=0;J[9126]=0;J[9127]=0;J[9125]=1065353216;J[9128]=0;J[9129]=0;J[9133]=0;J[9134]=0;J[9132]=-1082130432;J[9130]=1065353216;J[9131]=0;J[9135]=0;J[9136]=0;J[9138]=0;J[9139]=0;J[9137]=-1082130432;J[9140]=0;J[9141]=0;J[9142]=-1082130432;J[9143]=0;H[36576]=1}b=Ka(b,0,96);va[J[J[a>>2]+76>>2]](a,36480,b,6);f=a- -64|0;g=a+80|0;d=N[a+52>>2];while(1){a=c<<2;e=a+(b+(c<<4)|0)|0;N[a+g>>2]=N[e>>2]+d;N[a+f>>2]=N[e+48>>2]-d;c=c+1|0;if((c|0)!=3){continue}break}ta=b+96|0}function Ib(a,b){var c=0,d=0,e=0,f=0,g=0,h=0,i=0;J[a+12>>2]=0;H[a+16|0]=1;J[a+4>>2]=0;J[a+8>>2]=0;c=J[b+4>>2];if((c|0)<=0){J[a+4>>2]=c;return a}g=c<<2;e=Ga(g);f=J[a+12>>2];a:{b:{c:{d:{h=J[a+4>>2];if((h|0)>0){while(1){i=d<<2;J[i+e>>2]=J[f+i>>2];d=d+1|0;if((h|0)!=(d|0)){continue}break}if(!K[a+16|0]){break c}break d}if(K[a+16|0]?f:0){break d}J[a+12>>2]=e;H[a+16|0]=1;J[a+8>>2]=c;Ka(e,0,g);J[a+4>>2]=c;break b}Fa(f)}J[a+12>>2]=e;H[a+16|0]=1;J[a+8>>2]=c;Ka(e,0,g);J[a+4>>2]=c;if((c|0)<=0){break a}}b=J[b+12>>2];d=0;while(1){f=d<<2;J[f+e>>2]=J[b+f>>2];d=d+1|0;if((d|0)!=(c|0)){continue}break}}return a}function Dt(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0;if(Sa(a,J[b+8>>2],f)){Pd(b,c,d,e);return}g=K[b+53|0];j=J[a+12>>2];H[b+53|0]=0;h=K[b+52|0];H[b+52|0]=0;m=a+16|0;Nd(m,b,c,d,e,f);k=K[b+53|0];g=g|k;l=K[b+52|0];h=h|l;i=a+24|0;j=(j<<3)+m|0;a:{if(i>>>0>=j>>>0){break a}while(1){if(K[b+54|0]){break a}b:{if(l){if(J[b+24>>2]==1){break a}if(K[a+8|0]&2){break b}break a}if(!k){break b}if(!(H[a+8|0]&1)){break a}}I[b+52>>1]=0;Nd(i,b,c,d,e,f);k=K[b+53|0];g=k|g;l=K[b+52|0];h=l|h;i=i+8|0;if(j>>>0>i>>>0){continue}break}}H[b+53|0]=(g&255)!=0;H[b+52|0]=(h&255)!=0}function Sj(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=Q(0),f=Q(0),g=0,h=Q(0),i=Q(0),j=0,k=0;a:{e=N[b>>2];f=N[b+16>>2];i=e>2];if(N[a+24>>2]<(h>i?i:h)){break a}g=e>f;if(N[(h<(g?e:f)?!g<<4:32)+b>>2]>2]){break a}e=N[b+8>>2];g=b+24|0;f=N[g>>2];i=e>2];if(N[a+32>>2]<(h>i?i:h)){break a}k=g;g=e>f;if(N[(h<(g?e:f)?g?b+8|0:k:j)>>2]>2]){break a}e=N[b+4>>2];g=b+20|0;f=N[g>>2];i=e>2];if(N[a+28>>2]<(h>i?i:h)){break a}k=g;g=e>f;if(N[(h<(g?e:f)?g?b+4|0:k:j)>>2]>2]){break a}a=J[a+4>>2];va[J[J[a>>2]+8>>2]](a,b,c,d)}}function $a(a,b,c){var d=Q(0),e=Q(0),f=Q(0),g=Q(0),h=Q(0),i=Q(0),j=Q(0),k=Q(0),l=Q(0),m=Q(0),n=Q(0),o=Q(0),p=Q(0),q=Q(0),r=Q(0),s=Q(0);if(!(!a|!(J[a+180>>2]&c))){f=N[a+172>>2];d=N[a+44>>2];j=N[a+12>>2];k=N[a+28>>2];e=N[a+36>>2];l=N[a+20>>2];r=N[a+168>>2];m=N[a+40>>2];n=N[a+8>>2];o=N[a+24>>2];s=N[a+164>>2];p=N[a+4>>2];J[b+12>>2]=0;q=d;g=f;d=N[b+8>>2];f=N[b>>2];h=N[b+4>>2];i=Q(g*Q(Q(q*d)+Q(Q(j*f)+Q(k*h))));g=e;e=Q(s*Q(Q(e*d)+Q(Q(p*f)+Q(l*h))));d=Q(r*Q(Q(m*d)+Q(Q(n*f)+Q(h*o))));N[b+8>>2]=Q(q*i)+Q(Q(g*e)+Q(m*d));N[b+4>>2]=Q(k*i)+Q(Q(l*e)+Q(o*d));N[b>>2]=Q(j*i)+Q(Q(p*e)+Q(n*d))}}function Oh(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;e=J[b>>2];c=J[a+328>>2];a:{b:{if((c|0)<=0){break b}d=J[a+336>>2];b=0;while(1){if(J[d+(b<<2)>>2]!=(e|0)){b=b+1|0;if((c|0)!=(b|0)){continue}break b}break}if((b|0)!=(c|0)){break a}}c:{if(J[a+332>>2]!=(c|0)){break c}d=c?c<<1:1;if((d|0)<=(c|0)){break c}if(d){f=Ga(d<<2);c=J[a+328>>2]}if((c|0)>0){b=0;while(1){g=b<<2;J[g+f>>2]=J[J[a+336>>2]+g>>2];b=b+1|0;if((c|0)!=(b|0)){continue}break}}b=J[a+336>>2];if(!(!b|!K[a+340|0])){Fa(b);c=J[a+328>>2]}J[a+336>>2]=f;H[a+340|0]=1;J[a+332>>2]=d}J[J[a+336>>2]+(c<<2)>>2]=e;J[a+328>>2]=c+1}}function nl(a,b,c){a=a|0;b=Q(b);c=c|0;var d=Q(0),e=Q(0),f=Q(0),g=Q(0),h=Q(0),i=Q(0),j=Q(0),k=Q(0);f=N[a+44>>2];d=N[a+40>>2];i=N[a+36>>2];j=Q(va[J[J[a>>2]+48>>2]](a));d=Q(d+Q(va[J[J[a>>2]+48>>2]](a)));k=Q(va[J[J[a>>2]+48>>2]](a));e=Q(b*Q(.5));g=Q(b*Q(.25));h=Q(b/Q(12));b=Q(j+i);a:{b:{switch(J[a+60>>2]){case 0:f=e;e=Q(d*d);d=Q(f*e);b=Q(Q(h*Q(b*Q(b*Q(4))))+Q(g*e));e=b;break a;case 2:b=Q(b*b);e=Q(e*b);d=Q(k+f);d=Q(Q(h*Q(d*Q(d*Q(4))))+Q(g*b));b=d;break a;default:break b}}f=e;e=Q(b*b);b=Q(f*e);d=Q(Q(h*Q(d*Q(d*Q(4))))+Q(g*e));e=d}J[c+12>>2]=0;N[c+8>>2]=e;N[c+4>>2]=b;N[c>>2]=d}function ft(){var a=0,b=0,c=0,d=0,e=0,f=0,g=0;a=Ra(10448);Md();J[a+4>>2]=2;J[a+10444>>2]=33948;J[a+64>>2]=470;H[a+24|0]=1;J[a>>2]=12852;J[a+20>>2]=0;J[a+60>>2]=0;J[a+28>>2]=17868;J[a+12>>2]=0;J[a+16>>2]=0;f=a,g=va[J[J[8487]+12>>2]](33948)|0,J[f+68>>2]=g;f=a,g=va[J[J[8487]+8>>2]](33948)|0,J[f+72>>2]=g;while(1){b=0;while(1){d=(P(c,144)+a|0)+(b<<2)|0;e=J[a+10444>>2];f=d,g=va[J[J[e>>2]+16>>2]](e,c,b)|0,J[f+76>>2]=g;e=d+5260|0;d=J[a+10444>>2];f=e,g=va[J[J[d>>2]+20>>2]](d,c,b)|0,J[f>>2]=g;b=b+1|0;if((b|0)!=36){continue}break}c=c+1|0;if((c|0)!=36){continue}break}return a|0}function vi(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;if(!(K[b+204|0]&3|H[b+564|0]&1)){Vb(b,a+264|0)}if(J[b+192>>2]){a:{if(!(H[b+204|0]&1)){c=J[a+248>>2];b:{if((c|0)!=J[a+252>>2]){break b}e=c?c<<1:1;if((e|0)<=(c|0)){break b}if(e){f=Ga(e<<2);c=J[a+248>>2]}if((c|0)>0){while(1){g=d<<2;J[g+f>>2]=J[J[a+256>>2]+g>>2];d=d+1|0;if((d|0)!=(c|0)){continue}break}}d=J[a+256>>2];if(!(!d|!K[a+260|0])){Fa(d);c=J[a+248>>2]}J[a+256>>2]=f;H[a+260|0]=1;J[a+252>>2]=e}J[J[a+256>>2]+(c<<2)>>2]=b;J[a+248>>2]=c+1;break a}hb(b,2)}c=b;b=J[b+204>>2]&3;va[J[J[a>>2]+36>>2]](a,c,b?2:1,b?-3:-1)}}function Ce(a,b){var c=Q(0),d=0,e=0,f=0,g=Q(0),h=Q(0),i=Q(0),j=Q(0),k=Q(0),l=Q(0),m=0;f=J[a>>2];d=0;a:{if((f|0)<=0){break a}i=N[a+308>>2];j=N[b+8>>2];c=Q(j-N[a+12>>2]);g=Q(c*c);k=N[b>>2];c=Q(k-N[a+4>>2]);h=Q(c*c);l=N[b+4>>2];c=Q(l-N[a+8>>2]);d=1;if(i>=Q(g+Q(h+Q(c*c)))){break a}while(1){e=e+1|0;if((f|0)!=(e|0)){d=(e<<4)+a|0;c=Q(j-N[d+12>>2]);g=Q(c*c);c=Q(k-N[d+4>>2]);h=Q(c*c);c=Q(l-N[d+8>>2]);if(!(Q(g+Q(h+Q(c*c)))<=i)){continue}}break}d=(e|0)<(f|0)}if(!(N[b+12>>2]!=N[a+304>>2]|N[b+8>>2]!=N[a+300>>2]|N[b+4>>2]!=N[a+296>>2])){m=N[b>>2]==N[a+292>>2]}return d|m}function mq(a,b){a=a|0;b=b|0;a:{b:{c:{switch(b|0){case 0:if(!a){break b}Fa(a);return;case 1:case 2:if(!a){break b}Oa(a);return;case 3:if(!a){break b}break a;case 4:if(!a){break b}break a;case 5:if(!a){break b}break a;case 7:if(!a){break b}break a;case 8:if(!a){break b}break a;case 9:if(!a){break b}break a;case 10:if(!a){break b}break a;case 11:if(!a){break b}break a;case 12:if(!a){break b}break a;case 13:if(!a){break b}break a;case 6:if(!a){break b}break a;case 14:break c;default:break b}}if(!a){break b}va[J[J[a>>2]+4>>2]](a)}return}va[J[J[a>>2]+4>>2]](a)}function Ml(a){a=a|0;var b=0,c=0,d=0,e=0,f=Q(0),g=0,h=0,i=0;d=ta-32|0;ta=d;J[a+56>>2]=-581039253;J[a+60>>2]=-581039253;J[a+40>>2]=1566444395;J[a+44>>2]=1566444395;b=a- -64|0;J[b>>2]=-581039253;J[b+4>>2]=0;J[a+48>>2]=1566444395;J[a+52>>2]=0;if(J[a+24>>2]>0){h=a+56|0;i=a+40|0;while(1){b=J[a+32>>2]+P(g,80)|0;c=J[b+64>>2];va[J[J[c>>2]+8>>2]](c,b,d+16|0,d);b=0;while(1){c=b<<2;e=c+i|0;f=N[c+(d+16|0)>>2];if(N[e>>2]>f){N[e>>2]=f}f=N[d+c>>2];e=c+h|0;if(f>N[e>>2]){N[e>>2]=f}b=b+1|0;if((b|0)!=3){continue}break}g=g+1|0;if((g|0)>2]){continue}break}}ta=d+32|0}function kr(){var a=0,b=0;a=ta-32|0;ta=a;if(!K[33900]){J[8439]=-1;J[8440]=0;J[8437]=1065353216;J[8438]=1;H[33780]=1;J[8436]=31160;J[8444]=0;J[8442]=0;J[8443]=0;b=J[a+20>>2];J[8446]=J[a+16>>2];J[8447]=b;b=J[a+28>>2];J[8448]=J[a+24>>2];J[8449]=b;b=J[a+4>>2];J[8450]=J[a>>2];J[8451]=b;b=J[a+12>>2];J[8452]=J[a+8>>2];J[8453]=b;H[33832]=1;J[8457]=0;H[33852]=1;J[8455]=0;J[8456]=0;J[8462]=0;J[8460]=0;J[8461]=0;H[33872]=1;J[8467]=0;J[8465]=0;J[8466]=0;H[33892]=1;J[8436]=31112;J[8472]=0;H[33896]=1;J[8470]=0;J[8471]=0;J[8438]=-1;H[33900]=1}ta=a+32|0;return 33744}function ui(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;if(!(K[b+204|0]&3|H[b+564|0]&1)){Vb(b,a+264|0)}if(J[b+192>>2]){a:{if(!(H[b+204|0]&1)){e=J[a+248>>2];b:{if((e|0)!=J[a+252>>2]){break b}g=e?e<<1:1;if((g|0)<=(e|0)){break b}if(g){h=Ga(g<<2);e=J[a+248>>2]}if((e|0)>0){while(1){i=f<<2;J[i+h>>2]=J[J[a+256>>2]+i>>2];f=f+1|0;if((f|0)!=(e|0)){continue}break}}f=J[a+256>>2];if(!(!f|!K[a+260|0])){Fa(f);e=J[a+248>>2]}J[a+256>>2]=h;H[a+260|0]=1;J[a+252>>2]=g}J[J[a+256>>2]+(e<<2)>>2]=b;J[a+248>>2]=e+1;break a}hb(b,2)}va[J[J[a>>2]+36>>2]](a,b,c,d)}}function il(a,b,c){a=a|0;b=b|0;c=c|0;var d=Q(0),e=0,f=Q(0),g=Q(0),h=0,i=Q(0),j=Q(0);e=ta-16|0;ta=e;va[J[J[b>>2]+68>>2]](e,b,c);h=J[e+12>>2];J[a+8>>2]=J[e+8>>2];J[a+12>>2]=h;h=J[e+4>>2];J[a>>2]=J[e>>2];J[a+4>>2]=h;if(Q(va[J[J[b>>2]+48>>2]](b))!=Q(0)){f=N[c+4>>2];d=N[c>>2];g=N[c+8>>2];i=Q(va[J[J[b>>2]+48>>2]](b));b=Q(Q(g*g)+Q(Q(d*d)+Q(f*f)))>2]=N[a>>2]+Q(i*Q(j*d));N[a+4>>2]=N[a+4>>2]+Q(i*Q(f*d));N[a+8>>2]=N[a+8>>2]+Q(i*Q(g*d))}ta=e+16|0}function vd(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0;e=ta-16|0;ta=e;J[e+12>>2]=b;d=J[b+188>>2];if(d){c=J[a+68>>2];c=va[J[J[c>>2]+36>>2]](c)|0;va[J[J[c>>2]+40>>2]](c,d,J[a+24>>2]);c=J[a+68>>2];va[J[J[c>>2]+12>>2]](c,d,J[a+24>>2]);J[b+188>>2]=0}a:{b:{b=J[b+216>>2];if((b|0)<0){break b}d=J[a+8>>2];if((d|0)<=(b|0)){break b}c=b<<2;f=J[a+16>>2];g=c+f|0;h=J[g>>2];i=f;d=d-1|0;f=d<<2;J[g>>2]=J[i+f>>2];J[f+J[a+16>>2]>>2]=h;J[a+8>>2]=d;if((b|0)>=(d|0)){break a}J[J[J[a+16>>2]+c>>2]+216>>2]=b;break a}jb(a+4|0,e+12|0)}J[J[e+12>>2]+216>>2]=-1;ta=e+16|0}function xc(a){var b=0,c=0,d=Q(0),e=Q(0),f=0,g=0,h=0;c=ta-16|0;ta=c;b=J[a+8>>2];a:{if(!b){b=uf(Ga(64),N[a+152>>2],N[a+156>>2]);J[a+8>>2]=b;break a}e=N[a+156>>2];d=N[a+152>>2];N[b+52>>2]=d;J[b+48>>2]=0;N[b+44>>2]=d;N[b+36>>2]=d;J[b+28>>2]=1065353216;J[b+32>>2]=0;J[b+20>>2]=1065353216;J[b+24>>2]=1065353216;J[b+60>>2]=1;N[b+40>>2]=e*Q(.5)}f=J[a+4>>2];va[J[J[f>>2]+8>>2]](f,b);e=Q(va[J[J[a>>2]+20>>2]](a));d=N[a+152>>2];J[c+12>>2]=0;N[c+8>>2]=d;N[c+4>>2]=e;N[c>>2]=d;b=J[a+104>>2];b:{if(!b){g=a,h=jd(Ga(64),c),J[g+104>>2]=h;break b}Bc(b,c)}ta=c+16|0}function yj(a,b,c,d){a=a|0;b=b|0;c=Q(c);d=d|0;var e=0;a:{b:{c:{if(d>>>0<=2){d:{switch(b-1|0){case 1:b=((d<<2)+a|0)+728|0;e=2;break b;case 3:b=((d<<2)+a|0)+744|0;e=1;break b;case 0:b=((d<<2)+a|0)+760|0;e=8;break b;case 2:break d;default:break a}}b=((d<<2)+a|0)+776|0;break c}e=d-3|0;if(e>>>0>2){break a}e:{switch(b-1|0){case 1:b=(P(e,88)+a|0)+980|0;e=2;break b;case 3:b=(P(e,88)+a|0)+984|0;e=1;break b;case 0:b=(P(e,88)+a|0)+988|0;e=8;break b;case 2:break e;default:break a}}b=(P(e,88)+a|0)+992|0}e=4}N[b>>2]=c;J[a+1456>>2]=J[a+1456>>2]|e<<(d<<2)}}function an(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;e=(b|0)!=8;d=a+56|0;a:{if(!(e|(c|0)!=8)){break a}d=a+72|0;if(!((c|0)!=1|e)){break a}d=a+76|0;if(!((b|0)!=1|(c|0)!=8)){break a}d=a+68|0;if(!(b|c)){break a}d=a+84|0;if(!((c|0)!=28|(b|0)>19)){break a}d=a+80|0;if(!((b|0)!=28|(c|0)>19)){break a}b:{if((b|0)<=19){d=a+28|0;if((c|0)<=19){break a}if(c-21>>>0>8){break b}d=a+32|0;break a}d=a+36|0;if(!((c|0)>19|b-21>>>0>8)){break a}if((b|0)!=31){break b}d=a+44|0;if((c|0)==31){break a}d=a+40|0;break a}d=a+48|0;if((c|0)==31){break a}d=a+52|0}return J[d>>2]}function Ys(){var a=0,b=0;a=ta-32|0;ta=a;if(!K[33644]){J[8376]=0;J[8373]=1065353216;J[8374]=0;H[33524]=1;J[8372]=31032;J[8380]=0;J[8378]=0;J[8379]=0;b=J[a+20>>2];J[8382]=J[a+16>>2];J[8383]=b;b=J[a+28>>2];J[8384]=J[a+24>>2];J[8385]=b;b=J[a+4>>2];J[8386]=J[a>>2];J[8387]=b;b=J[a+12>>2];J[8388]=J[a+8>>2];J[8389]=b;H[33576]=1;J[8393]=0;H[33596]=1;J[8391]=0;J[8392]=0;J[8398]=0;J[8396]=0;J[8397]=0;H[33616]=1;J[8403]=0;J[8401]=0;J[8402]=0;H[33636]=1;J[8372]=30984;J[8408]=0;H[33640]=1;J[8406]=0;J[8407]=0;J[8375]=-1;H[33644]=1}ta=a+32|0;return 33488}function Ua(a,b){var c=Q(0),d=Q(0),e=Q(0),f=Q(0),g=Q(0),h=Q(0),i=Q(0),j=Q(0),k=Q(0),l=Q(0),m=Q(0),n=Q(0),o=Q(0);d=N[b+52>>2];e=N[b+56>>2];f=N[b+20>>2];g=N[b+36>>2];h=N[b+24>>2];i=N[b+40>>2];n=N[b+48>>2];j=N[b>>2];k=N[b+16>>2];l=N[b+32>>2];m=N[b+4>>2];c=N[b+8>>2];J[a+60>>2]=0;J[a+44>>2]=0;N[a+40>>2]=i;N[a+36>>2]=h;N[a+32>>2]=c;J[a+28>>2]=0;N[a+24>>2]=g;N[a+20>>2]=f;N[a+16>>2]=m;J[a+12>>2]=0;N[a+8>>2]=l;N[a+4>>2]=k;N[a>>2]=j;o=c;c=Q(-n);N[a+56>>2]=Q(Q(o*c)-Q(h*d))-Q(i*e);N[a+52>>2]=Q(Q(m*c)-Q(f*d))-Q(g*e);N[a+48>>2]=Q(Q(j*c)-Q(k*d))-Q(l*e)}function Ig(a,b){var c=0,d=0,e=0,f=0,g=0;J[a+12>>2]=0;H[a+16|0]=1;J[a+4>>2]=0;J[a+8>>2]=0;d=J[b+4>>2];if((d|0)<=0){J[a+4>>2]=d;return}e=Ga(d<<2);f=J[a+4>>2];if((f|0)>0){while(1){g=c<<2;J[e+g>>2]=J[J[a+12>>2]+g>>2];c=c+1|0;if((f|0)!=(c|0)){continue}break}}c=J[a+12>>2];if(!(!c|!K[a+16|0])){Fa(c)}J[a+12>>2]=e;H[a+16|0]=1;J[a+8>>2]=d;c=0;while(1){J[J[a+12>>2]+(c<<2)>>2]=0;c=c+1|0;if((d|0)!=(c|0)){continue}break}J[a+4>>2]=d;if((d|0)>0){a=J[a+12>>2];c=0;while(1){e=c<<2;J[e+a>>2]=J[e+J[b+12>>2]>>2];c=c+1|0;if((d|0)!=(c|0)){continue}break}}}function Qp(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=Q(d);e=e|0;f=f|0;var g=Q(0),h=Q(0),i=Q(0),j=Q(0),k=Q(0),l=Q(0);e=ta-16|0;ta=e;g=N[b>>2];h=N[c>>2];i=N[b+4>>2];j=N[c+4>>2];k=N[b+8>>2];l=N[c+8>>2];J[e+12>>2]=0;N[e+8>>2]=k+Q(l*d);N[e+4>>2]=i+Q(j*d);N[e>>2]=g+Q(h*d);va[J[J[a>>2]+16>>2]](a,b,e,f);d=N[b>>2];g=N[c>>2];h=N[b+4>>2];i=N[c+4>>2];j=N[b+8>>2];k=N[c+8>>2];J[e+12>>2]=0;N[e+8>>2]=j+Q(k*Q(.009999999776482582));N[e+4>>2]=h+Q(i*Q(.009999999776482582));N[e>>2]=d+Q(g*Q(.009999999776482582));va[J[J[a>>2]+16>>2]](a,b,e,f);ta=e+16|0}function fd(a,b,c){var d=Q(0),e=Q(0),f=Q(0),g=0,h=0,i=0,j=Q(0),k=Q(0);e=Q(N[b+68>>2]*Q(.5));g=J[b+72>>2];i=J[b+76>>2];h=i<<2;d=N[c+8>>2];j=Q(d*d);d=N[c>>2];f=Q(d*d);d=N[c+4>>2];a:{b:{if(N[h+c>>2]>Q(N[b+60>>2]*Q(Y(Q(j+Q(f+Q(d*d))))))){J[(g<<2)+a>>2]=0;N[a+h>>2]=e;c=J[b+80>>2];break b}d=N[(g<<2)+c>>2];h=c;c=J[b+80>>2];f=N[h+(c<<2)>>2];k=Q(Y(Q(Q(d*d)+Q(f*f))));if(k>Q(1.1920928955078125e-7)){j=d;d=Q(N[b+64>>2]/k);N[(g<<2)+a>>2]=j*d;N[(i<<2)+a>>2]=-e;e=Q(f*d);break a}J[(g<<2)+a>>2]=0;N[(i<<2)+a>>2]=-e}e=Q(0)}N[(c<<2)+a>>2]=e}function xr(a,b,c){a=a|0;b=b|0;c=c|0;var d=Q(0),e=Q(0),f=Q(0),g=Q(0),h=Q(0),i=Q(0),j=Q(0),k=Q(0);g=N[b+8>>2];d=N[b+4>>2];e=N[a+408>>2];N[a+472>>2]=Q(N[b>>2]*e)+N[a+472>>2];h=d;d=N[a+412>>2];N[a+476>>2]=Q(h*d)+N[a+476>>2];f=N[a+416>>2];N[a+480>>2]=Q(g*f)+N[a+480>>2];k=N[b>>2];g=N[c>>2];i=N[c+4>>2];f=Q(f*N[b+8>>2]);d=Q(d*N[b+4>>2]);j=N[c+8>>2];N[a+488>>2]=Q(Q(Q(i*f)-Q(d*j))*N[a+604>>2])+N[a+488>>2];h=N[a+612>>2];e=Q(e*k);N[a+492>>2]=Q(Q(Q(j*e)-Q(f*g))*N[a+608>>2])+N[a+492>>2];N[a+496>>2]=Q(h*Q(Q(g*d)-Q(e*i)))+N[a+496>>2]}function Kc(a,b,c){var d=0,e=0,f=0,g=0;d=ta-16|0;ta=d;J[d+12>>2]=b;a:{if(c){c=J[a+288>>2];b:{if((c|0)!=J[a+292>>2]){break b}e=c?c<<1:1;if((e|0)<=(c|0)){break b}if(e){f=Ga(e<<2);c=J[a+288>>2]}if((c|0)>0){b=0;while(1){g=b<<2;J[g+f>>2]=J[J[a+296>>2]+g>>2];b=b+1|0;if((c|0)!=(b|0)){continue}break}}b=J[a+296>>2];if(!(!b|!K[a+300|0])){Fa(b);c=J[a+288>>2]}J[a+296>>2]=f;H[a+300|0]=1;J[a+292>>2]=e;b=J[d+12>>2]}J[J[a+296>>2]+(c<<2)>>2]=b;b=c+1|0;J[a+288>>2]=b;break a}jb(a+284|0,d+12|0);b=J[a+288>>2]}J[a+280>>2]=(b|0)>0;ta=d+16|0}function An(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=Q(0),i=Q(0),j=Q(0),k=0,l=Q(0),m=Q(0),n=0;if((d|0)>0){n=a- -64|0;while(1){e=g<<4;f=e+c|0;e=b+e|0;h=N[e+8>>2];i=N[e>>2];j=N[e+4>>2];l=Q(Q(h*N[a+72>>2])+Q(Q(i*N[a+64>>2])+Q(j*N[a+68>>2])));m=Q(Q(h*N[a+88>>2])+Q(Q(i*N[a+80>>2])+Q(j*N[a+84>>2])));e=l>2])+Q(Q(i*N[a+96>>2])+Q(j*N[a+100>>2])))>(e?m:l)?2:e)<<4)+n|0;k=J[e+4>>2];J[f>>2]=J[e>>2];J[f+4>>2]=k;k=J[e+12>>2];J[f+8>>2]=J[e+8>>2];J[f+12>>2]=k;g=g+1|0;if((g|0)!=(d|0)){continue}break}}}function Ag(a){var b=0,c=0,d=0,e=0,f=0;J[a+24>>2]=0;J[a+68>>2]=0;H[a+20|0]=1;J[a>>2]=12300;J[a+16>>2]=0;H[a+44|0]=1;J[a+8>>2]=0;J[a+12>>2]=0;J[a+40>>2]=0;H[a- -64|0]=1;J[a+32>>2]=0;J[a+36>>2]=0;J[a+60>>2]=0;J[a+52>>2]=0;J[a+56>>2]=0;e=Ga(32);f=J[a+8>>2];if((f|0)>0){while(1){b=d<<4;c=b+e|0;b=b+J[a+16>>2]|0;J[c>>2]=J[b>>2];J[c+4>>2]=J[b+4>>2];J[c+8>>2]=J[b+8>>2];J[c+12>>2]=J[b+12>>2];d=d+1|0;if((f|0)!=(d|0)){continue}break}}c=J[a+16>>2];if(!(!c|!K[a+20|0])){Fa(c)}J[a+16>>2]=e;H[a+20|0]=1;J[a+12>>2]=2;zg(a);return a}function bn(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;e=(b|0)!=8;d=a+56|0;a:{if(!(e|(c|0)!=8)){break a}d=a+72|0;if(!((c|0)!=1|e)){break a}d=a+76|0;if(!((b|0)!=1|(c|0)!=8)){break a}d=a+84|0;if(!((c|0)!=28|(b|0)>19)){break a}d=a+80|0;if(!((b|0)!=28|(c|0)>19)){break a}b:{if((b|0)<=19){d=a+28|0;if((c|0)<=19){break a}if(c-21>>>0>8){break b}d=a+32|0;break a}d=a+36|0;if(!((c|0)>19|b-21>>>0>8)){break a}if((b|0)!=31){break b}d=a+44|0;if((c|0)==31){break a}d=a+40|0;break a}d=a+48|0;if((c|0)==31){break a}d=a+52|0}return J[d>>2]}function jf(a,b,c){var d=0,e=Q(0),f=Q(0),g=Q(0),h=Q(0),i=Q(0),j=Q(0),k=Q(0),l=Q(0),m=Q(0);e=N[a+44>>2];f=N[a+28>>2];g=N[a+48>>2];h=N[a+32>>2];k=N[c+4>>2];l=N[c+8>>2];i=N[a+40>>2];j=N[a+24>>2];m=N[c>>2];j=j>m?j:m;i=i>2]=a;h=h>l?h:l;g=g>2]=a;f=f>k?f:k;e=e>2]=a}function Ak(a,b,c){a=a|0;b=b|0;c=c|0;var d=Q(0),e=0,f=Q(0),g=Q(0),h=0,i=Q(0),j=Q(0);e=ta-16|0;ta=e;va[J[J[b>>2]+68>>2]](e,b,c);h=J[e+12>>2];J[a+8>>2]=J[e+8>>2];J[a+12>>2]=h;h=J[e+4>>2];J[a>>2]=J[e>>2];J[a+4>>2]=h;f=N[c+4>>2];d=N[c>>2];g=N[c+8>>2];i=Q(va[J[J[b>>2]+48>>2]](b));b=Q(Q(g*g)+Q(Q(d*d)+Q(f*f)))>2]=N[a>>2]+Q(i*Q(j*d));N[a+4>>2]=N[a+4>>2]+Q(i*Q(f*d));N[a+8>>2]=N[a+8>>2]+Q(i*Q(g*d));ta=e+16|0}function eo(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=ta+-64|0;ta=c;e=J[b+36>>2];b=J[J[a+24>>2]+32>>2]+P(e,80)|0;d=J[b+12>>2];J[c+8>>2]=J[b+8>>2];J[c+12>>2]=d;d=J[b+4>>2];J[c>>2]=J[b>>2];J[c+4>>2]=d;d=J[b+28>>2];J[c+24>>2]=J[b+24>>2];J[c+28>>2]=d;d=J[b+20>>2];J[c+16>>2]=J[b+16>>2];J[c+20>>2]=d;d=J[b+44>>2];J[c+40>>2]=J[b+40>>2];J[c+44>>2]=d;d=J[b+36>>2];J[c+32>>2]=J[b+32>>2];J[c+36>>2]=d;d=J[b+60>>2];J[c+56>>2]=J[b+56>>2];J[c+60>>2]=d;d=J[b+52>>2];J[c+48>>2]=J[b+48>>2];J[c+52>>2]=d;ng(a,e,c,J[b+64>>2]);ta=c- -64|0}function Ft(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;if(Sa(a,J[b+8>>2],e)){Od(b,c,d);return}a:{if(Sa(a,J[b>>2],e)){if(!(J[b+16>>2]!=(c|0)&J[b+20>>2]!=(c|0))){if((d|0)!=1){break a}J[b+32>>2]=1;return}J[b+32>>2]=d;b:{if(J[b+44>>2]==4){break b}I[b+52>>1]=0;a=J[a+8>>2];va[J[J[a>>2]+20>>2]](a,b,c,c,1,e);if(K[b+53|0]){J[b+44>>2]=3;if(!K[b+52|0]){break b}break a}J[b+44>>2]=4}J[b+20>>2]=c;J[b+40>>2]=J[b+40>>2]+1;if(J[b+36>>2]!=1|J[b+24>>2]!=2){break a}H[b+54|0]=1;return}a=J[a+8>>2];va[J[J[a>>2]+24>>2]](a,b,c,d,e)}}function Ef(a){H[a+60|0]=0;J[a+52>>2]=287;J[a+144>>2]=0;H[a+80|0]=1;J[a>>2]=18476;J[a+76>>2]=0;H[a+100|0]=1;J[a+68>>2]=0;J[a+72>>2]=0;J[a+96>>2]=0;H[a+120|0]=1;J[a+88>>2]=0;J[a+92>>2]=0;J[a+116>>2]=0;H[a+140|0]=1;J[a+108>>2]=0;J[a+112>>2]=0;J[a+136>>2]=0;H[a+164|0]=1;J[a+128>>2]=0;J[a+132>>2]=0;J[a+160>>2]=0;J[a+168>>2]=0;J[a+152>>2]=0;J[a+156>>2]=0;J[a+4>>2]=-8388609;J[a+8>>2]=-8388609;J[a+12>>2]=-8388609;J[a+16>>2]=0;J[a+20>>2]=2139095039;J[a+24>>2]=2139095039;J[a+28>>2]=2139095039;J[a+32>>2]=0;return a}function Nc(a,b,c,d,e,f,g,h){var i=0,j=Q(0),k=Q(0),l=Q(0),m=Q(0);i=ta-80|0;ta=i;ef(a,c,e,i+76|0,i+72|0,i+48|0,i+32|0);ef(b,d,e,i+68|0,i- -64|0,i+16|0,i);e=0;j=N[i+72>>2];k=N[i+68>>2];a:{if(j>2];m=N[i+76>>2];if(l>2]=a?j:k;b=a?i+32|0:i+48|0;c=J[b+12>>2];J[g+8>>2]=J[b+8>>2];J[g+12>>2]=c;c=J[b+4>>2];J[g>>2]=J[b>>2];J[g+4>>2]=c;a=a?i+16|0:i;b=J[a+12>>2];J[h+8>>2]=J[a+8>>2];J[h+12>>2]=b;b=J[a+4>>2];J[h>>2]=J[a>>2];J[h+4>>2]=b;e=1}ta=i+80|0;return e}function _i(a,b,c,d,e,f,g,h,i){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=Q(0),k=Q(0);a:{if(!J[h+52>>2]){break a}b=J[h+20>>2];if((b|0)<=0){break a}c=0;while(1){j=Q(0);d=0;e=J[a+28>>2];if((e|0)>0){while(1){f=J[a+16>>2];b=J[a+36>>2]+P(J[J[a+116>>2]+(d<<2)>>2],152)|0;k=Q(va[J[a+220>>2]](f+P(J[b+144>>2],244)|0,P(J[b+148>>2],244)+f|0,b));j=Q(Q(k*k)+j);d=d+1|0;if((e|0)!=(d|0)){continue}break}b=J[h+20>>2]}if((b-1|0)<=(c|0)|N[h+92>>2]>=j){break a}c=c+1|0;if((c|0)<(b|0)){continue}break}}}function nb(a,b){var c=Q(0),d=Q(0),e=Q(0),f=Q(0),g=Q(0),h=Q(0),i=Q(0),j=Q(0),k=Q(0),l=Q(0),m=Q(0);d=N[b+12>>2];h=N[b+8>>2];c=N[b>>2];f=N[b+4>>2];J[a+44>>2]=0;J[a+28>>2]=0;J[a+12>>2]=0;e=Q(Q(2)/Q(Q(d*d)+Q(Q(h*h)+Q(Q(c*c)+Q(f*f)))));i=Q(h*e);g=Q(f*i);k=Q(c*e);l=Q(d*k);N[a+36>>2]=g+l;m=Q(c*i);e=Q(f*e);j=Q(d*e);N[a+32>>2]=m-j;N[a+24>>2]=g-l;g=Q(c*e);d=Q(d*i);N[a+16>>2]=g+d;N[a+8>>2]=m+j;N[a+4>>2]=g-d;c=Q(c*k);d=Q(f*e);N[a+40>>2]=Q(1)-Q(c+d);j=c;c=Q(h*i);N[a+20>>2]=Q(1)-Q(j+c);N[a>>2]=Q(1)-Q(d+c)}function So(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;J[9104]=J[9104]+1;d=J[b+12>>2]>J[c+12>>2];e=J[(d?b:c)+12>>2];d=J[(d?c:b)+12>>2];b=e<<16|d;b=(b<<15^-1)+b|0;b=P(b>>>10^b,9);b=b>>>6^b;b=(b<<11^-1)+b|0;b=J[a+12>>2]-1&(b>>>16^b);a:{b:{if((b|0)>=J[a+32>>2]){break b}c=J[J[a+40>>2]+(b<<2)>>2];if((c|0)==-1){break b}g=J[a+60>>2];a=J[a+16>>2];while(1){f=c<<4;b=a+f|0;if((d|0)==J[J[b>>2]+12>>2]&J[J[(a+f|0)+4>>2]+12>>2]==(e|0)){break a}c=J[(c<<2)+g>>2];if((c|0)!=-1){continue}break}}b=0}return b|0}function le(a,b,c,d){var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;while(1){k=c;l=J[J[a+12>>2]+((c+d|0)/2<<3)>>2];e=d;while(1){g=J[a+12>>2];h=c;while(1){c=h;h=c+1|0;f=(c<<3)+g|0;if(J[f>>2]<(l|0)){continue}break}i=e;while(1){e=i;i=e-1|0;m=e<<3;j=m+g|0;if(J[j>>2]>(l|0)){continue}break}if((c|0)<=(e|0)){c=J[f>>2];e=J[f+4>>2];g=J[j+4>>2];J[f>>2]=J[j>>2];J[f+4>>2]=g;f=J[a+12>>2]+m|0;J[f>>2]=c;J[f+4>>2]=e;e=i;c=h}if((c|0)<=(e|0)){continue}break}if((e|0)>(k|0)){le(a,b,k,e)}if((c|0)<(d|0)){continue}break}}function Fe(a,b,c,d){var e=0,f=0;e=J[b+4>>2];J[a+292>>2]=J[b>>2];J[a+296>>2]=e;e=J[b+12>>2];J[a+300>>2]=J[b+8>>2];J[a+304>>2]=e;H[a+356|0]=1;f=J[b+4>>2];e=a+(J[a>>2]<<4)|0;J[e+4>>2]=J[b>>2];J[e+8>>2]=f;f=J[b+12>>2];J[e+12>>2]=J[b+8>>2];J[e+16>>2]=f;e=J[c+12>>2];b=(J[a>>2]<<4)+a|0;J[b+92>>2]=J[c+8>>2];J[b+96>>2]=e;e=J[c+4>>2];J[b+84>>2]=J[c>>2];J[b+88>>2]=e;c=J[d+12>>2];b=(J[a>>2]<<4)+a|0;J[b+172>>2]=J[d+8>>2];J[b+176>>2]=c;c=J[d+4>>2];J[b+164>>2]=J[d>>2];J[b+168>>2]=c;J[a>>2]=J[a>>2]+1}function dr(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;j=J[J[J[b+4>>2]+8>>2]+8>>2];d=J[a+136>>2];a:{if((d|0)!=J[a+140>>2]){break a}e=d?d<<1:1;if((e|0)<=(d|0)){break a}if(e){h=Ga(e<<2);d=J[a+136>>2]}f=J[a+144>>2];b:{c:{if((d|0)>0){while(1){i=g<<2;J[i+h>>2]=J[f+i>>2];g=g+1|0;if((g|0)!=(d|0)){continue}break c}}if(!f){break b}}if(K[a+148|0]){Fa(f)}d=J[a+136>>2]}J[a+144>>2]=h;J[a+140>>2]=e;H[a+148|0]=1}J[J[a+144>>2]+(d<<2)>>2]=j;J[a+136>>2]=J[a+136>>2]+1;return Q(Yg(a,b,c))}function xj(a,b,c){a=a|0;b=b|0;c=c|0;var d=Q(0);a:{b:{if(c>>>0<=2){c:{switch(b-1|0){case 1:a=((c<<2)+a|0)+728|0;break b;case 3:a=((c<<2)+a|0)+744|0;break b;case 0:a=((c<<2)+a|0)+760|0;break b;case 2:break c;default:break a}}a=((c<<2)+a|0)+776|0;break b}c=c-3|0;if(c>>>0>2){break a}d:{switch(b-1|0){case 1:a=(P(c,88)+a|0)+980|0;break b;case 3:a=(P(c,88)+a|0)+984|0;break b;case 0:a=(P(c,88)+a|0)+988|0;break b;case 2:break d;default:break a}}a=(P(c,88)+a|0)+992|0}d=N[a>>2]}return Q(d)}function On(a,b,c,d){a=a|0;b=b|0;c=c|0;d=Q(d);var e=0,f=Q(0),g=0,h=Q(0),i=Q(0),j=Q(0),k=Q(0),l=Q(0),m=Q(0);e=ta-16|0;ta=e;N[a+32>>2]=d;g=J[b+4>>2];J[a+8>>2]=J[b>>2];J[a+12>>2]=g;g=J[b+12>>2];J[a+16>>2]=J[b+8>>2];J[a+20>>2]=g;h=N[b+8>>2];i=N[c>>2];j=N[b>>2];k=N[c+4>>2];l=N[b+4>>2];m=N[c+8>>2];f=N[a+28>>2];J[e+12>>2]=0;N[e+8>>2]=m-Q(f*h);N[e+4>>2]=k-Q(f*l);N[e>>2]=i-Q(j*f);d=Q(Q(f+N[a+24>>2])+d);N[a+32>>2]=d;if(d>2];va[J[J[a>>2]+16>>2]](a,b,e,d);ta=e+16|0}function Wb(a,b,c){var d=Q(0),e=0,f=Q(0),g=Q(0);e=J[a+204>>2];a:{if(b==Q(0)){J[a+204>>2]=e|1;break a}J[a+204>>2]=e&-2;d=Q(Q(1)/b)}N[a+404>>2]=d;J[a+436>>2]=0;N[a+424>>2]=N[a+440>>2]*b;N[a+432>>2]=N[a+448>>2]*b;N[a+428>>2]=N[a+444>>2]*b;b=N[c+8>>2];f=N[c+4>>2];g=N[c>>2];N[a+620>>2]=N[a+408>>2]*d;N[a+624>>2]=d*N[a+412>>2];N[a+628>>2]=d*N[a+416>>2];J[a+632>>2]=0;J[a+468>>2]=0;N[a+456>>2]=g!=Q(0)?Q(Q(1)/g):Q(0);N[a+460>>2]=f!=Q(0)?Q(Q(1)/f):Q(0);N[a+464>>2]=b!=Q(0)?Q(Q(1)/b):Q(0)}function Ek(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=Q(0),g=Q(0),h=Q(0),i=Q(0),j=Q(0),k=Q(0);e=ta-48|0;ta=e;i=N[a+12>>2];j=N[a+16>>2];f=N[b+4>>2];g=N[b+8>>2];k=N[a+8>>2];h=N[b>>2];J[e+12>>2]=0;N[e>>2]=h*k;N[e+8>>2]=g*j;N[e+4>>2]=f*i;f=N[b+20>>2];g=N[b+24>>2];h=N[b+16>>2];J[e+28>>2]=0;N[e+24>>2]=j*g;N[e+20>>2]=i*f;N[e+16>>2]=k*h;f=N[b+36>>2];g=N[b+40>>2];h=N[b+32>>2];J[e+44>>2]=0;N[e+40>>2]=j*g;N[e+36>>2]=i*f;N[e+32>>2]=k*h;a=J[a+4>>2];va[J[J[a>>2]+8>>2]](a,e,c,d);ta=e+48|0}function Se(a){var b=0,c=0,d=0,e=0,f=0,g=0,h=0,i=0;b=ta-48|0;ta=b;h=a+24|0;i=a+40|0;while(1){J[b+40>>2]=0;J[b+44>>2]=0;J[b+32>>2]=0;J[b+36>>2]=0;e=f<<2;c=b+32|0;g=e+c|0;J[g>>2]=1065353216;d=b+16|0;va[J[J[a>>2]+68>>2]](d,a,c);d=e+d|0;N[e+i>>2]=N[d>>2]+N[a+20>>2];J[g>>2]=-1082130432;va[J[J[a>>2]+68>>2]](b,a,c);c=J[b+12>>2];J[b+24>>2]=J[b+8>>2];J[b+28>>2]=c;c=J[b+4>>2];J[b+16>>2]=J[b>>2];J[b+20>>2]=c;N[e+h>>2]=N[d>>2]-N[a+20>>2];f=f+1|0;if((f|0)!=3){continue}break}ta=b+48|0}function $b(a,b,c,d,e){var f=Q(0),g=Q(0),h=Q(0),i=Q(0),j=Q(0),k=Q(0),l=Q(0),m=Q(0),n=Q(0),o=Q(0);j=N[b>>2];g=Q(N[c>>2]-j);k=N[b+4>>2];h=Q(N[d+4>>2]-k);i=Q(N[d>>2]-j);f=Q(N[c+4>>2]-k);l=Q(Q(g*h)-Q(i*f));o=f;f=N[b+8>>2];m=Q(N[d+8>>2]-f);n=Q(N[c+8>>2]-f);h=Q(Q(o*m)-Q(h*n));i=Q(Q(n*i)-Q(m*g));g=Q(Q(Q(N[e+8>>2]-f)*l)+Q(Q(Q(N[e>>2]-j)*h)+Q(i*Q(N[e+4>>2]-k))));return Q(g*g)>2]-f)*l)+Q(Q(Q(N[a>>2]-j)*h)+Q(Q(N[a+4>>2]-k)*i)))*g)>2]=0;H[a+65|0]=0;H[a+61|0]=0;H[a+62|0]=1;H[a+63|0]=1;H[a+64|0]=0;J[a+20>>2]=0;J[a+4>>2]=0;J[a+8>>2]=0;J[a+24>>2]=d;J[a+12>>2]=b;H[a+128|0]=1;J[a>>2]=25356;J[a+124>>2]=0;J[a+116>>2]=0;J[a+120>>2]=0;J[a+56>>2]=J[c+44>>2];b=J[c+16>>2];J[a+40>>2]=J[c+12>>2];J[a+44>>2]=b;b=J[c+24>>2];J[a+48>>2]=J[c+20>>2];J[a+52>>2]=b;N[a+32>>2]=N[c+4>>2];N[a+36>>2]=N[c+8>>2];N[a+28>>2]=N[c>>2];b=J[c+48>>2];J[a+132>>2]=0;J[a+20>>2]=b;return a}function up(a,b){a=a|0;b=b|0;var c=0,d=0;c=J[b+4>>2];J[a+8>>2]=J[b>>2];J[a+12>>2]=c;c=J[b+12>>2];J[a+16>>2]=J[b+8>>2];J[a+20>>2]=c;c=J[b+28>>2];J[a+32>>2]=J[b+24>>2];J[a+36>>2]=c;c=J[b+20>>2];J[a+24>>2]=J[b+16>>2];J[a+28>>2]=c;c=J[b+44>>2];J[a+48>>2]=J[b+40>>2];J[a+52>>2]=c;c=J[b+36>>2];J[a+40>>2]=J[b+32>>2];J[a+44>>2]=c;d=J[b+60>>2];c=a- -64|0;J[c>>2]=J[b+56>>2];J[c+4>>2]=d;c=J[b+52>>2];J[a+56>>2]=J[b+48>>2];J[a+60>>2]=c;va[J[J[a>>2]+16>>2]](a,J[a+4>>2])}function gg(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=Q(d);e=e|0;f=f|0;var g=0;g=ta+-64|0;ta=g;J[g+56>>2]=f;J[g+52>>2]=e;J[g+60>>2]=J[a+220>>2];e=J[a+212>>2];if(N[e+4>>2]>=d){J[g+8>>2]=J[a+216>>2];J[g+12>>2]=g+52;a=J[b+12>>2];J[g+24>>2]=J[b+8>>2];J[g+28>>2]=a;a=J[b+4>>2];J[g+16>>2]=J[b>>2];J[g+20>>2]=a;a=J[c+12>>2];J[g+40>>2]=J[c+8>>2];J[g+44>>2]=a;a=J[c+4>>2];J[g+32>>2]=J[c>>2];J[g+36>>2]=a;N[g+48>>2]=d;d=Q(va[J[J[e>>2]+12>>2]](e,g+8|0,1))}ta=g- -64|0;return Q(d)}function Qt(a,b,c,d){a=a|0;b=Q(b);c=Q(c);d=d|0;var e=Q(0),f=Q(0);J[a+20>>2]=1065353216;J[a+24>>2]=1065353216;J[a+60>>2]=d;J[a+28>>2]=1065353216;J[a+32>>2]=0;f=b;e=c;a:{b:{switch(d|0){case 0:f=c;e=b;break a;case 1:break a;default:break b}}e=b;b=c}N[a+36>>2]=f;J[a+48>>2]=0;N[a+44>>2]=b;N[a+40>>2]=e;b=Q(va[J[J[a>>2]+48>>2]](a));c=Q(va[J[J[a>>2]+48>>2]](a));e=Q(va[J[J[a>>2]+48>>2]](a));N[a+36>>2]=N[a+36>>2]-b;N[a+40>>2]=N[a+40>>2]-c;N[a+44>>2]=N[a+44>>2]-e}function si(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0;d=J[a+228>>2];a:{if((d|0)!=J[a+232>>2]){break a}f=d?d<<1:1;if((f|0)<=(d|0)){break a}if(f){g=Ga(f<<2);d=J[a+228>>2]}if((d|0)>0){while(1){h=e<<2;J[h+g>>2]=J[J[a+236>>2]+h>>2];e=e+1|0;if((e|0)!=(d|0)){continue}break}}e=J[a+236>>2];if(!(!e|!K[a+240|0])){Fa(e);d=J[a+228>>2]}J[a+236>>2]=g;H[a+240|0]=1;J[a+232>>2]=f}J[J[a+236>>2]+(d<<2)>>2]=b;J[a+228>>2]=d+1;if(c){oe(J[b+28>>2],b);oe(J[b+32>>2],b)}}function qf(a,b,c,d,e){var f=Q(0),g=0,h=Q(0),i=Q(0),j=Q(0),k=Q(0),l=Q(0),m=Q(0),n=Q(0);j=N[e+8>>2];k=N[e+4>>2];l=N[e>>2];g=-1;if((d|0)>0){h=Q(N[b+8>>2]*j);i=Q(N[b+4>>2]*k);n=Q(N[b>>2]*l);e=0;f=Q(-34028234663852886e22);while(1){b=(e<<4)+c|0;m=Q(Q(N[b+8>>2]*h)+Q(Q(N[b>>2]*n)+Q(i*N[b+4>>2])));b=m>f;f=b?m:f;g=b?e:g;e=e+1|0;if((e|0)!=(d|0)){continue}break}}b=(g<<4)+c|0;f=N[b>>2];h=N[b+4>>2];i=N[b+8>>2];J[a+12>>2]=0;N[a+8>>2]=j*i;N[a+4>>2]=k*h;N[a>>2]=l*f}function df(a){var b=0,c=0,d=0,e=0,f=0;b=J[a+8>>2];a:{if(b){break a}c=J[a+4>>2];b:{if(c){J[a+4>>2]=J[c+8>>2];b=J[c>>2];break b}c=Ga(12);b=J[a+12>>2];J[c+8>>2]=0;J[c+4>>2]=b;b=Ga(P(b,24));J[c>>2]=b;J[c+8>>2]=J[a>>2];J[a>>2]=c}e=J[c+4>>2];if((e|0)<=0){break a}c=0;d=b;while(1){f=d;d=d+24|0;c=c+1|0;J[f>>2]=(e|0)>(c|0)?d:0;if((c|0)!=(e|0)){continue}break}}J[a+8>>2]=J[b>>2];J[b+16>>2]=0;J[b+20>>2]=0;J[b+8>>2]=0;J[b+12>>2]=0;J[b>>2]=0;J[b+4>>2]=0;return b}function Li(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;h=J[b+8>>2];if((h|0)>0){d=J[a+16>>2];j=J[b+16>>2];a=0;while(1){c=J[(e<<2)+j>>2];a:{if(!(K[c+204|0]&3)){b=a;i=b<<3;f=i+d|0;g=J[f>>2];if((b|0)!=(g|0)){while(1){b=(g<<3)+d|0;J[f>>2]=J[b>>2];b=J[b>>2];f=(b<<3)+d|0;g=J[f>>2];if((b|0)!=(g|0)){continue}break}}J[c+208>>2]=b;J[(d+i|0)+4>>2]=e;J[c+212>>2]=-1;a=a+1|0;break a}J[c+208>>2]=-1;J[c+212>>2]=-2}e=e+1|0;if((h|0)!=(e|0)){continue}break}}}function xs(a,b,c,d){a=a|0;b=b|0;c=Q(c);d=Q(d);a:{if((b|0)<=2){a=(b<<2)+a|0;N[a+696>>2]=d;N[a+680>>2]=c;break a}c=Za(c);b:{if(cQ(3.1415927410125732))){break b}c=Q(c+Q(-6.2831854820251465))}d=Za(d);c:{if(dQ(3.1415927410125732))){break c}d=Q(d+Q(-6.2831854820251465))}a=P(b,88)+a|0;N[a+708>>2]=d;N[a+704>>2]=c}}function Cf(a,b,c,d,e,f){var g=0,h=0,i=0,j=0;if((e|0)<(f|0)){a=J[a+136>>2]+(e<<4)|0;while(1){a:{b:{g=J[a+12>>2];i=(g|0)<0;j=L[c>>1]<=L[a+6>>1]&L[d>>1]>=L[a>>1]&L[c+4>>1]<=L[a+10>>1]&L[d+4>>1]>=L[a+4>>1]&L[c+2>>1]<=L[a+8>>1]&L[d+2>>1]>=L[a+2>>1];c:{if(!(i|!j)){va[J[J[b>>2]+8>>2]](b,g>>>21|0,g&2097151);break c}if((j^-1)&i){break b}}e=e+1|0;a=a+16|0;break a}e=e-g|0;a=a-(g<<4)|0}h=h+1|0;if((e|0)<(f|0)){continue}break}}if(J[9113]<(h|0)){J[9113]=h}}function _e(a,b){var c=0,d=0,e=0,f=0,g=0,h=0;c=J[a+104>>2];if((c|0)<0){c=J[b+4>>2];J[a+104>>2]=c;d=c;a:{if(J[b+8>>2]!=(c|0)){break a}f=c?c<<1:1;if((f|0)<=(c|0)){break a}if(f){h=Ga(f<<2);d=J[b+4>>2]}else{d=c}if((d|0)>0){while(1){e=g<<2;J[e+h>>2]=J[e+J[b+12>>2]>>2];g=g+1|0;if((g|0)!=(d|0)){continue}break}}e=J[b+12>>2];if(!(!e|!K[b+16|0])){Fa(e);d=J[b+4>>2]}J[b+12>>2]=h;H[b+16|0]=1;J[b+8>>2]=f}J[J[b+12>>2]+(d<<2)>>2]=a;J[b+4>>2]=d+1}return c}function Nr(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;J[a+4>>2]=b;b=J[c+12>>2];J[a+16>>2]=J[c+8>>2];J[a+20>>2]=b;b=J[c+4>>2];J[a+8>>2]=J[c>>2];J[a+12>>2]=b;b=J[c+28>>2];J[a+32>>2]=J[c+24>>2];J[a+36>>2]=b;b=J[c+20>>2];J[a+24>>2]=J[c+16>>2];J[a+28>>2]=b;b=J[c+36>>2];J[a+40>>2]=J[c+32>>2];J[a+44>>2]=b;b=J[c+44>>2];J[a+48>>2]=J[c+40>>2];J[a+52>>2]=b;d=J[c+60>>2];b=a- -64|0;J[b>>2]=J[c+56>>2];J[b+4>>2]=d;b=J[c+52>>2];J[a+56>>2]=J[c+48>>2];J[a+60>>2]=b}function Pn(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;c=J[a+56>>2];if(!(!c|!K[a+52|0])){d=J[b+4>>2];a:{if((d|0)!=J[b+8>>2]){break a}e=d?d<<1:1;if((e|0)<=(d|0)){break a}if(e){f=Ga(e<<2);d=J[b+4>>2]}if((d|0)>0){c=0;while(1){g=c<<2;J[g+f>>2]=J[J[b+12>>2]+g>>2];c=c+1|0;if((c|0)!=(d|0)){continue}break}}c=J[b+12>>2];if(!(!c|!K[b+16|0])){Fa(c);d=J[b+4>>2]}J[b+12>>2]=f;H[b+16|0]=1;J[b+8>>2]=e;c=J[a+56>>2]}J[J[b+12>>2]+(d<<2)>>2]=c;J[b+4>>2]=d+1}}function ic(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;c=J[a+12>>2];if(!(!c|!K[a+8|0])){d=J[b+4>>2];a:{if((d|0)!=J[b+8>>2]){break a}e=d?d<<1:1;if((e|0)<=(d|0)){break a}if(e){f=Ga(e<<2);d=J[b+4>>2]}if((d|0)>0){c=0;while(1){g=c<<2;J[g+f>>2]=J[J[b+12>>2]+g>>2];c=c+1|0;if((c|0)!=(d|0)){continue}break}}c=J[b+12>>2];if(!(!c|!K[b+16|0])){Fa(c);d=J[b+4>>2]}J[b+12>>2]=f;H[b+16|0]=1;J[b+8>>2]=e;c=J[a+12>>2]}J[J[b+12>>2]+(d<<2)>>2]=c;J[b+4>>2]=d+1}}function fc(a,b){var c=0,d=0,e=0,f=0;c=J[b+8>>2];d=J[b>>2];if((d|0)!=(b|0)){J[d+4>>2]=J[b+4>>2];J[J[b+4>>2]>>2]=d;e=d}J[J[c+12>>2]+8>>2]=e;d=J[c>>2];if((d|0)!=(c|0)){J[d+4>>2]=J[c+4>>2];J[J[c+4>>2]>>2]=d;f=d}J[J[b+12>>2]+8>>2]=f;J[b+16>>2]=0;J[b+8>>2]=0;J[b+12>>2]=0;J[b>>2]=0;J[b+4>>2]=0;J[b>>2]=J[a+56>>2];J[a+56>>2]=b;J[c+16>>2]=0;J[c+8>>2]=0;J[c+12>>2]=0;J[c>>2]=0;J[c+4>>2]=0;J[c>>2]=J[a+56>>2];J[a+56>>2]=c;J[a+116>>2]=J[a+116>>2]-1}function ne(a,b){var c=0,d=0,e=0,f=0,g=0;d=ta-16|0;ta=d;J[d+4>>2]=b;e=J[a+548>>2];a:{if((e|0)<=0){break a}f=a+544|0;g=J[a+556>>2];while(1){if(J[(c<<2)+g>>2]!=(b|0)){c=c+1|0;if((e|0)!=(c|0)){continue}break a}break}if((c|0)>=(e|0)){break a}jb(f,d+4|0);c=J[d+4>>2];b=J[c+32>>2];c=J[c+28>>2];if((c|0)==(a|0)){J[d+8>>2]=b;jb(a+284|0,d+8|0);J[a+280>>2]=J[a+288>>2]>0;break a}J[d+12>>2]=c;jb(b+284|0,d+12|0);J[b+280>>2]=J[b+288>>2]>0}ta=d+16|0}function Zi(a,b,c,d,e,f,g,h,i){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=Q(0),n=0;l=ta-16|0;ta=l;Na(4114);va[J[J[a>>2]+32>>2]](a,b,c,d,e,f,g,h,i);j=J[a+184>>2];k=J[h+20>>2];k=(j|0)>(k|0)?j:k;a:{if((k|0)<=0){break a}n=k-1|0;j=0;while(1){m=Q(va[J[J[a>>2]+40>>2]](a,j,b,c,d,e,f,g,h,i));N[a+228>>2]=m;if((j|0)>=(n|0)|N[h+92>>2]>=m){break a}j=j+1|0;if((k|0)!=(j|0)){continue}break}}Ma();ta=l+16|0;return Q(Q(0))}function Ci(a,b){a=a|0;b=Q(b);var c=0,d=0,e=0,f=0;d=ta-16|0;ta=d;Na(5877);c=J[a+84>>2];if(c){va[c|0](a,b)}va[J[J[a>>2]+140>>2]](a,b);J[a+32>>2]=0;N[a+28>>2]=b;e=a,f=va[J[J[a>>2]+20>>2]](a)|0,J[e+48>>2]=f;va[J[J[a>>2]+164>>2]](a,b);va[J[J[a>>2]+44>>2]](a);va[J[J[a>>2]+148>>2]](a);N[a+104>>2]=b;va[J[J[a>>2]+152>>2]](a,a+92|0);va[J[J[a>>2]+144>>2]](a,b);fe(a,b);va[J[J[a>>2]+156>>2]](a,b);c=J[a+80>>2];if(c){va[c|0](a,b)}Ma();ta=d+16|0}function rf(a,b,c){a=a|0;b=b|0;c=c|0;var d=Q(0),e=Q(0),f=Q(0),g=Q(0),h=Q(0);va[J[J[b>>2]+68>>2]](a,b,c);if(Q(va[J[J[b>>2]+48>>2]](b))!=Q(0)){e=N[c+4>>2];d=N[c>>2];f=N[c+8>>2];g=Q(va[J[J[b>>2]+48>>2]](b));b=Q(Q(f*f)+Q(Q(d*d)+Q(e*e)))>2]=N[a>>2]+Q(g*Q(h*d));N[a+4>>2]=N[a+4>>2]+Q(g*Q(e*d));N[a+8>>2]=N[a+8>>2]+Q(g*Q(f*d))}}function qd(a,b){var c=Q(0),d=Q(0),e=Q(0),f=Q(0),g=Q(0),h=Q(0),i=Q(0),j=Q(0),k=Q(0),l=Q(0);f=N[a+96>>2];g=N[a+80>>2];i=N[a+84>>2];j=N[a+104>>2];h=N[a+100>>2];c=N[a+68>>2];d=N[a+72>>2];k=N[a+88>>2];e=N[a+64>>2];J[b+12>>2]=0;g=Q(g-e);h=Q(h-c);e=Q(f-e);f=Q(i-c);c=Q(Q(g*h)-Q(e*f));i=c;l=Q(c*c);c=f;f=Q(j-d);d=Q(k-d);c=Q(Q(c*f)-Q(h*d));d=Q(Q(d*e)-Q(f*g));e=Q(Q(1)/Q(Y(Q(l+Q(Q(c*c)+Q(d*d))))));N[b+8>>2]=i*e;N[b+4>>2]=d*e;N[b>>2]=c*e}function Oq(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;d=ta-32|0;ta=d;e=d+16|0;h=b+4|0;a:{f=J[b>>2];if(f>>>0<2147483632){b:{if(f>>>0<=10){H[e+11|0]=f;b=e;break b}g=(f|15)+1|0;b=Ra(g);J[e+8>>2]=g|-2147483648;J[e>>2]=b;J[e+4>>2]=f}i=Sd(b,h,f)+f|0,j=0,H[i|0]=j;break a}ga();D()}J[d+12>>2]=c;va[a|0](d+28|0,e,d+12|0);la(J[d+28>>2]);a=J[d+28>>2];ba(a|0);ba(J[d+12>>2]);if(H[e+11|0]<0){Oa(J[e>>2])}ta=d+32|0;return a|0}function wp(a,b){a=a|0;b=b|0;var c=0,d=0;c=J[a+12>>2];J[b>>2]=J[a+8>>2];J[b+4>>2]=c;c=J[a+20>>2];J[b+8>>2]=J[a+16>>2];J[b+12>>2]=c;c=J[a+36>>2];J[b+24>>2]=J[a+32>>2];J[b+28>>2]=c;c=J[a+28>>2];J[b+16>>2]=J[a+24>>2];J[b+20>>2]=c;c=J[a+44>>2];J[b+32>>2]=J[a+40>>2];J[b+36>>2]=c;c=J[a+52>>2];J[b+40>>2]=J[a+48>>2];J[b+44>>2]=c;c=a- -64|0;d=J[c+4>>2];J[b+56>>2]=J[c>>2];J[b+60>>2]=d;c=J[a+60>>2];J[b+48>>2]=J[a+56>>2];J[b+52>>2]=c}function Kn(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;c=J[a+72>>2];if(c){d=J[b+4>>2];a:{if((d|0)!=J[b+8>>2]){break a}e=d?d<<1:1;if((e|0)<=(d|0)){break a}if(e){f=Ga(e<<2);d=J[b+4>>2]}if((d|0)>0){c=0;while(1){g=c<<2;J[g+f>>2]=J[J[b+12>>2]+g>>2];c=c+1|0;if((c|0)!=(d|0)){continue}break}}c=J[b+12>>2];if(!(!c|!K[b+16|0])){Fa(c);d=J[b+4>>2]}J[b+12>>2]=f;H[b+16|0]=1;J[b+8>>2]=e;c=J[a+72>>2]}J[J[b+12>>2]+(d<<2)>>2]=c;J[b+4>>2]=d+1}}function Ei(a){a=a|0;var b=0,c=0,d=0;a:{if(K[a+290|0]){b=J[a+8>>2];if((b|0)<=0){break a}while(1){d=J[J[a+16>>2]+(c<<2)>>2];if(!(!d|!(J[d+252>>2]&2))){ge(a,d);b=J[a+8>>2]}c=c+1|0;if((b|0)>(c|0)){continue}break}break a}b=J[a+248>>2];if((b|0)<=0){break a}while(1){b:{c:{d=J[J[a+256>>2]+(c<<2)>>2];switch(J[d+220>>2]-2|0){case 0:case 3:break b;default:break c}}ge(a,d);b=J[a+248>>2]}c=c+1|0;if((b|0)>(c|0)){continue}break}}}function Fl(a,b,c){a=a|0;b=b|0;c=c|0;var d=Q(0),e=Q(0),f=Q(0),g=Q(0),h=Q(0);fd(a,b,c);if(Q(va[J[J[b>>2]+48>>2]](b))!=Q(0)){e=N[c+4>>2];d=N[c>>2];f=N[c+8>>2];g=Q(va[J[J[b>>2]+48>>2]](b));b=Q(Q(f*f)+Q(Q(d*d)+Q(e*e)))>2]=N[a>>2]+Q(g*Q(h*d));N[a+4>>2]=N[a+4>>2]+Q(g*Q(e*d));N[a+8>>2]=N[a+8>>2]+Q(g*Q(f*d))}}function Cc(a,b,c){var d=0,e=0;a=J[a+12>>2];d=a+(b<<3)|0;e=J[d>>2];if((e|0)!=(b|0)){while(1){b=a+(e<<3)|0;J[d>>2]=J[b>>2];b=J[b>>2];d=a+(b<<3)|0;e=J[d>>2];if((b|0)!=(e|0)){continue}break}}d=a+(c<<3)|0;e=J[d>>2];if((e|0)!=(c|0)){while(1){c=a+(e<<3)|0;J[d>>2]=J[c>>2];c=J[c>>2];d=a+(c<<3)|0;e=J[d>>2];if((c|0)!=(e|0)){continue}break}}if((b|0)!=(c|0)){b=a+(b<<3)|0;J[b>>2]=c;a=a+(c<<3)|0;J[a+4>>2]=J[a+4>>2]+J[b+4>>2]}}function Fo(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0;J[9105]=J[9105]-1;va[J[J[a>>2]+20>>2]](a,b);c=J[b+864>>2];e=c<<2;f=J[a+20>>2];d=e+f|0;h=J[d>>2];i=d;d=J[a+12>>2]-1|0;g=d<<2;J[i>>2]=J[f+g>>2];J[J[a+20>>2]+g>>2]=h;J[J[J[a+20>>2]+e>>2]+864>>2]=c;J[a+12>>2]=d;a=J[a+72>>2];c=J[a+16>>2];if(!(c>>>0>b>>>0|c+P(J[a>>2],J[a+4>>2])>>>0<=b>>>0)){J[b>>2]=J[a+12>>2];J[a+12>>2]=b;J[a+8>>2]=J[a+8>>2]+1;return}Fa(b)}function _h(a){a=a|0;var b=0,c=0;if(J[a+248>>2]>0){while(1){a:{b:{b=J[J[a+256>>2]+(c<<2)>>2];switch(J[b+220>>2]-2|0){case 0:case 3:break a;default:break b}}if(K[b+204|0]&2){break a}c:{if(N[b+504>>2]==Q(1)){J[b+472>>2]=0;J[b+476>>2]=0;J[b+480>>2]=0;J[b+484>>2]=0;break c}re(b)}if(N[b+508>>2]!=Q(1)){break a}J[b+488>>2]=0;J[b+492>>2]=0;J[b+496>>2]=0;J[b+500>>2]=0}c=c+1|0;if((c|0)>2]){continue}break}}}function pi(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;c=J[a+296>>2];a:{if((c|0)!=J[a+300>>2]){break a}e=c?c<<1:1;if((e|0)<=(c|0)){break a}if(e){f=Ga(e<<2);c=J[a+296>>2]}if((c|0)>0){while(1){g=d<<2;J[g+f>>2]=J[J[a+304>>2]+g>>2];d=d+1|0;if((d|0)!=(c|0)){continue}break}}d=J[a+304>>2];if(!(!d|!K[a+308|0])){Fa(d);c=J[a+296>>2]}J[a+304>>2]=f;H[a+308|0]=1;J[a+300>>2]=e}J[J[a+304>>2]+(c<<2)>>2]=b;J[a+296>>2]=c+1}function qm(a,b,c,d,e,f,g,h,i){a=Q(a);b=Q(b);c=Q(c);d=d|0;e=e|0;f=f|0;g=Q(g);h=Q(h);i=Q(i);var j=0,k=0;j=Ra(64);N[j+8>>2]=c;N[j+4>>2]=b;N[j>>2]=a;J[j+44>>2]=0;k=J[d+4>>2];J[j+12>>2]=J[d>>2];J[j+16>>2]=k;k=J[d+12>>2];J[j+20>>2]=J[d+8>>2];J[j+24>>2]=k;d=J[e+4>>2];J[j+28>>2]=J[e>>2];J[j+32>>2]=d;d=J[e+12>>2];J[j+36>>2]=J[e+8>>2];J[j+40>>2]=d;N[j+60>>2]=i;N[j+56>>2]=h;N[j+52>>2]=g;J[j+48>>2]=f;return j|0}function Bn(a,b,c){a=a|0;b=b|0;c=c|0;var d=Q(0),e=Q(0),f=Q(0),g=Q(0),h=Q(0);d=N[c+8>>2];e=N[c>>2];f=N[c+4>>2];g=Q(Q(d*N[b+72>>2])+Q(Q(e*N[b+64>>2])+Q(f*N[b+68>>2])));h=Q(Q(d*N[b+88>>2])+Q(Q(e*N[b+80>>2])+Q(f*N[b+84>>2])));c=g>2])+Q(Q(e*N[b+96>>2])+Q(f*N[b+100>>2])))>(c?h:g)?2:c)<<4)|0;c=J[b+4>>2];J[a>>2]=J[b>>2];J[a+4>>2]=c;c=J[b+12>>2];J[a+8>>2]=J[b+8>>2];J[a+12>>2]=c}function Bd(a,b,c){var d=0,e=0,f=0,g=0;e=Dd(a,b);a:{if(!e){e=0;break a}f=J[a+8>>2];if((f|0)>=0){if(!f){break a}while(1){d=J[e+32>>2];if(!d){break a}e=d;g=g+1|0;if((f|0)!=(g|0)){continue}break}break a}e=J[a>>2]}d=J[c+4>>2];J[b>>2]=J[c>>2];J[b+4>>2]=d;d=J[c+28>>2];J[b+24>>2]=J[c+24>>2];J[b+28>>2]=d;d=J[c+20>>2];J[b+16>>2]=J[c+16>>2];J[b+20>>2]=d;d=J[c+12>>2];J[b+8>>2]=J[c+8>>2];J[b+12>>2]=d;Cd(a,e,b)}function Mb(a,b,c){var d=0,e=0,f=Q(0),g=Q(0),h=Q(0);if(K[b+60|0]){c=J[b+116>>2]+(c<<4)|0;d=L[c+10>>1];e=L[c+8>>1];c=L[c+6>>1];f=N[b+44>>2];g=N[b+40>>2];h=N[b+36>>2];J[a+12>>2]=0;N[a>>2]=Q(Q(c>>>0)/h)+N[b+4>>2];N[a+4>>2]=Q(Q(e>>>0)/g)+N[b+8>>2];N[a+8>>2]=Q(Q(d>>>0)/f)+N[b+12>>2];return}b=J[b+76>>2]+(c<<6)|0;c=J[b+20>>2];J[a>>2]=J[b+16>>2];J[a+4>>2]=c;c=J[b+28>>2];J[a+8>>2]=J[b+24>>2];J[a+12>>2]=c}function If(a,b){a=a|0;b=b|0;var c=Q(0),d=Q(0),e=Q(0),f=Q(0),g=Q(0),h=Q(0),i=Q(0),j=Q(0),k=Q(0);c=Q(va[J[J[a>>2]+48>>2]](a));d=Q(va[J[J[a>>2]+48>>2]](a));e=Q(va[J[J[a>>2]+48>>2]](a));f=N[a+24>>2];g=N[a+40>>2];h=N[a+28>>2];i=N[a+44>>2];j=N[a+20>>2];k=N[a+36>>2];Lb(a,b);J[a+48>>2]=0;N[a+44>>2]=Q(Q(Q(e+i)/h)*N[a+28>>2])-e;N[a+40>>2]=Q(Q(Q(d+g)/f)*N[a+24>>2])-d;N[a+36>>2]=Q(Q(Q(c+k)/j)*N[a+20>>2])-c}function Hg(a){a=a|0;var b=0,c=0;J[a>>2]=11932;if(K[a+152|0]){b=J[a+96>>2];va[J[J[b>>2]>>2]](b)|0;Fa(J[a+96>>2])}b=0;c=J[a+160>>2];if((c|0)>0){while(1){Ha(J[a+168>>2]+P(b,20)|0);b=b+1|0;if((c|0)!=(b|0)){continue}break}}b=J[a+168>>2];if(!(!b|!K[a+172|0])){Fa(b)}J[a+168>>2]=0;H[a+172|0]=1;J[a+160>>2]=0;J[a+164>>2]=0;b=a+84|0;c=a+4|0;while(1){b=Kg(b-40|0);if((c|0)!=(b|0)){continue}break}return a|0}function Rm(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0;f=J[b>>2];e=va[J[J[f>>2]+56>>2]](f,28)|0;g=K[a+4|0];f=J[a+8>>2];a=J[a+12>>2];e=ud(e,b);J[e+24>>2]=a;J[e+20>>2]=f;H[e+16|0]=g;J[e+12>>2]=0;H[e+8|0]=0;J[e>>2]=16692;a=J[e+4>>2];f=g?d:c;b=g?c:d;if(va[J[J[a>>2]+24>>2]](a,J[f+8>>2],J[b+8>>2])|0){a=J[e+4>>2];a=va[J[J[a>>2]+12>>2]](a,J[f+8>>2],J[b+8>>2])|0;H[e+8|0]=1;J[e+12>>2]=a}return e|0}function ll(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=Q(0),g=Q(0),h=Q(0),i=0,j=Q(0),k=0,l=Q(0);if((d|0)>0){while(1){f=N[a+40>>2];g=N[a+36>>2];k=i<<4;e=k+b|0;j=N[e>>2];h=N[e+8>>2];l=Q(Y(Q(Q(j*j)+Q(h*h))));a:{if(l!=Q(0)){g=Q(g/l);h=Q(h*g);g=Q(j*g);f=N[e+4>>2]>2]>2]=h;N[e+4>>2]=f;N[e>>2]=g;i=i+1|0;if((i|0)!=(d|0)){continue}break}}}function zt(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;a:{b:{switch(b|0){default:d=J[a+76>>2];c=J[a+72>>2];b=J[a+80>>2];break a;case 0:J[a+72>>2]=1;J[a+76>>2]=0;J[a+80>>2]=2;c=1;b=2;break a;case 1:J[a+72>>2]=0;J[a+76>>2]=1;J[a+80>>2]=2;d=1;b=2;break a;case 2:break b}}J[a+72>>2]=0;J[a+76>>2]=2;J[a+80>>2]=1;d=2;b=1}e=c<<2;c=a+36|0;N[e+c>>2]=N[a+64>>2];N[c+(d<<2)>>2]=N[a+68>>2];N[c+(b<<2)>>2]=N[a+64>>2]}function um(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=Q(0),g=Q(0),h=Q(0);e=ta-48|0;ta=e;va[J[J[a>>2]+124>>2]](a,e+32|0,d);f=N[e+32>>2];g=N[e+36>>2];h=N[e+40>>2];J[b+12>>2]=0;N[b+8>>2]=h;N[b+4>>2]=g;N[b>>2]=f;J[e+12>>2]=0;N[e+8>>2]=-h;N[e+4>>2]=-g;N[e>>2]=-f;va[J[J[a>>2]+64>>2]](e+16|0,a,e);a=J[e+28>>2];J[c+8>>2]=J[e+24>>2];J[c+12>>2]=a;a=J[e+20>>2];J[c>>2]=J[e+16>>2];J[c+4>>2]=a;ta=e+48|0}function ue(a,b){var c=Q(0);J[a+20>>2]=0;J[a+24>>2]=0;H[a+28|0]=0;c=N[a+4>>2];a:{if(!(c>=Q(0))){break a}b=Za(Q(b-N[a>>2]));b:{if(bQ(3.1415927410125732))){break b}b=Q(b+Q(-6.2831854820251465))}c:{if(Q(-c)>b){H[a+28|0]=1;b=Q(-Q(c+b));c=Q(1);break c}if(!(b>c)){break a}H[a+28|0]=1;b=Q(c-b);c=Q(-1)}N[a+24>>2]=c;N[a+20>>2]=b}}function Zl(a,b,c){a=a|0;b=Q(b);c=c|0;var d=Q(0),e=Q(0),f=Q(0),g=0,h=0,i=0;h=a+36|0;g=J[a+60>>2];d=N[h+((g+2|0)%3<<2)>>2];a=ta-16|0;J[a+12>>2]=0;N[a+8>>2]=d;N[a+4>>2]=d;N[a>>2]=d;g=g<<2;i=g+a|0;N[i>>2]=N[g+h>>2]+N[i>>2];d=N[a+8>>2];b=Q(b*Q(.0833333283662796));e=N[a>>2];e=Q(e+e);e=Q(e*e);f=N[a+4>>2];f=Q(f+f);f=Q(f*f);N[c+8>>2]=b*Q(e+f);d=Q(d+d);d=Q(d*d);N[c+4>>2]=b*Q(e+d);N[c>>2]=b*Q(f+d)}function Nb(a,b,c){var d=0,e=0,f=Q(0),g=Q(0),h=Q(0);if(K[b+60|0]){c=J[b+116>>2]+(c<<4)|0;d=L[c+4>>1];e=L[c+2>>1];c=L[c>>1];f=N[b+44>>2];g=N[b+40>>2];h=N[b+36>>2];J[a+12>>2]=0;N[a>>2]=Q(Q(c>>>0)/h)+N[b+4>>2];N[a+4>>2]=Q(Q(e>>>0)/g)+N[b+8>>2];N[a+8>>2]=Q(Q(d>>>0)/f)+N[b+12>>2];return}b=J[b+76>>2]+(c<<6)|0;c=J[b+4>>2];J[a>>2]=J[b>>2];J[a+4>>2]=c;c=J[b+12>>2];J[a+8>>2]=J[b+8>>2];J[a+12>>2]=c}function Hf(a,b){a=a|0;b=Q(b);var c=Q(0),d=Q(0),e=Q(0),f=Q(0),g=Q(0),h=Q(0),i=Q(0),j=Q(0);c=Q(va[J[J[a>>2]+48>>2]](a));d=Q(va[J[J[a>>2]+48>>2]](a));e=Q(va[J[J[a>>2]+48>>2]](a));N[a+52>>2]=b;b=N[a+44>>2];f=N[a+40>>2];g=N[a+36>>2];h=Q(va[J[J[a>>2]+48>>2]](a));i=Q(va[J[J[a>>2]+48>>2]](a));j=Q(va[J[J[a>>2]+48>>2]](a));J[a+48>>2]=0;N[a+40>>2]=Q(d+f)-i;N[a+36>>2]=Q(c+g)-h;N[a+44>>2]=Q(e+b)-j}function Tp(a,b,c,d){a=a|0;b=b|0;c=Q(c);d=d|0;var e=0,f=0;e=ta+-64|0;ta=e;J[e+12>>2]=0;J[e+16>>2]=0;J[e+24>>2]=0;J[e+28>>2]=0;J[e+20>>2]=1065353216;J[e+32>>2]=0;J[e+36>>2]=0;J[e+40>>2]=1065353216;J[e+44>>2]=0;J[e+4>>2]=0;J[e+8>>2]=0;J[e>>2]=1065353216;f=J[b+12>>2];J[e+56>>2]=J[b+8>>2];J[e+60>>2]=f;f=J[b+4>>2];J[e+48>>2]=J[b>>2];J[e+52>>2]=f;va[J[J[a>>2]+24>>2]](a,c,e,d);ta=e- -64|0}function sm(a,b,c){a=a|0;b=b|0;c=c|0;var d=Q(0),e=Q(0),f=Q(0),g=Q(0),h=Q(0),i=Q(0);g=N[a+44>>2];h=N[a+40>>2];d=N[a+36>>2];e=Q(1);a:{b:{c:{d:{e:{switch(c|0){case 1:e=Q(-1);break b;case 2:f=Q(1);break c;case 3:f=Q(-1);break c;case 4:d=Q(1);break d;case 0:break b;case 5:break e;default:break a}}d=Q(-1)}i=d;e=Q(0);d=g;break b}e=Q(0);d=h}N[b+8>>2]=i;N[b+4>>2]=f;N[b>>2]=e;N[b+12>>2]=-d}}function $n(a,b){a=a|0;b=b|0;var c=0,d=0,e=Q(0),f=Q(0),g=0,h=0;c=ta-32|0;ta=c;d=J[a+184>>2];e=N[d+4>>2];a:{if(e==Q(0)){break a}b=J[b>>2];if(!(va[J[J[d>>2]+8>>2]](d,J[b+188>>2])|0)){break a}f=N[a+188>>2];d=J[a+184>>2];g=J[a+192>>2];h=J[b+192>>2];J[c+24>>2]=-1;J[c+28>>2]=-1;J[c+20>>2]=b+4;J[c+16>>2]=b;J[c+12>>2]=h;J[c+8>>2]=0;og(g,a+36|0,a+100|0,c+8|0,d,f)}ta=c+32|0;return e!=Q(0)|0}function Qm(a,b,c,d,e,f,g,h){a=Q(a);b=Q(b);c=Q(c);d=d|0;e=e|0;f=f|0;g=Q(g);h=Q(h);var i=0,j=0;i=Ra(60);N[i+8>>2]=c;N[i+4>>2]=b;N[i>>2]=a;J[i+44>>2]=1;j=J[d+4>>2];J[i+12>>2]=J[d>>2];J[i+16>>2]=j;j=J[d+12>>2];J[i+20>>2]=J[d+8>>2];J[i+24>>2]=j;d=J[e+4>>2];J[i+28>>2]=J[e>>2];J[i+32>>2]=d;d=J[e+12>>2];J[i+36>>2]=J[e+8>>2];J[i+40>>2]=d;N[i+56>>2]=h;N[i+52>>2]=g;J[i+48>>2]=f;return i|0}function rs(a,b,c){a=a|0;b=b|0;c=Q(c);var d=Q(0);a:{if((b|0)<=2){N[((b<<2)+a|0)+804>>2]=c;break a}a=P(b,88)+a|0;c=Q(c+Q(3.1415927410125732));c=Q(Q(Q(V(Q(c/Q(6.2831854820251465))))*Q(-6.2831854820251465))+c);d=Q(0);b:{if(c>=Q(6.2831854820251465)){break b}d=c;if(!(c>2]=d+Q(-3.1415927410125732)}}function rb(a){var b=0,c=0,d=0,e=0,f=Q(0);b=ta-16|0;ta=b;d=J[a+8>>2];e=J[a+12>>2];a:{if((e|0)>0|(e|0)>=0){f=Q(Q(Q(+(d>>>0)+ +(e>>>0)*4294967296)*Q(0x10000000000000000))+Q(+M[a>>2]+ +M[a+4>>2]*4294967296));break a}c=J[a>>2];a=J[a+4>>2];J[b>>2]=0-c;J[b+4>>2]=0-(a+((c|0)!=0)|0);a=!(a|c);c=d^-1;d=a+c|0;a=e^-1;J[b+8>>2]=d;J[b+12>>2]=d>>>0>>0?a+1|0:a;f=Q(-rb(b))}ta=b+16|0;return f}function Cm(a,b,c){a=a|0;b=b|0;c=c|0;var d=Q(0),e=Q(0),f=Q(0),g=Q(0),h=Q(0),i=Q(0),j=Q(0),k=Q(0),l=Q(0);d=N[b+40>>2];e=N[b+44>>2];f=N[b+36>>2];g=Q(va[J[J[b>>2]+48>>2]](b));h=Q(va[J[J[b>>2]+48>>2]](b));i=Q(va[J[J[b>>2]+48>>2]](b));j=N[c>>2];k=N[c+4>>2];l=N[c+8>>2];J[a+12>>2]=0;e=Q(e+i);N[a+8>>2]=l>=Q(0)?e:Q(-e);d=Q(d+h);N[a+4>>2]=k>=Q(0)?d:Q(-d);d=Q(f+g);N[a>>2]=j>=Q(0)?d:Q(-d)}function wm(a,b,c){a=a|0;b=b|0;c=c|0;var d=Q(0),e=Q(0),f=Q(0),g=Q(0),h=Q(0),i=Q(0);e=N[a+44>>2];d=N[a+40>>2];f=N[a+36>>2];g=Q(va[J[J[a>>2]+48>>2]](a));h=Q(va[J[J[a>>2]+48>>2]](a));i=Q(va[J[J[a>>2]+48>>2]](a));J[c+12>>2]=0;d=Q(d+h);a=b>>>1&1;N[c+4>>2]=Q(d*Q(!a|0))-Q(Q(a|0)*d);d=Q(f+g);a=b&1;N[c>>2]=Q(d*Q(!a|0))-Q(Q(a|0)*d);e=Q(e+i);a=b>>>2&1;N[c+8>>2]=Q(e*Q(!a|0))-Q(Q(a|0)*e)}function ol(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=Q(0),g=0,h=Q(0),i=Q(0),j=Q(0),k=Q(0);e=a+4|0;i=N[a+32>>2];j=N[a+28>>2];h=N[a+20>>2];k=N[a+24>>2];d=0;while(1){c=(d<<4)+b|0;f=Q(Q(i*N[c+8>>2])+Q(Q(k*N[c>>2])+Q(j*N[c+4>>2])));if(f>h){N[a+20>>2]=f;g=J[c+12>>2];J[e+8>>2]=J[c+8>>2];J[e+12>>2]=g;g=J[c+4>>2];J[e>>2]=J[c>>2];J[e+4>>2]=g;h=f}d=d+1|0;if((d|0)!=3){continue}break}}function Rj(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=Q(0),g=0,h=Q(0),i=Q(0),j=Q(0),k=Q(0);e=a+4|0;i=N[a+96>>2];j=N[a+92>>2];h=N[a+84>>2];k=N[a+88>>2];d=0;while(1){c=(d<<4)+b|0;f=Q(Q(i*N[c+8>>2])+Q(Q(k*N[c>>2])+Q(j*N[c+4>>2])));if(f>h){N[a+84>>2]=f;g=J[c+12>>2];J[e+8>>2]=J[c+8>>2];J[e+12>>2]=g;g=J[c+4>>2];J[e>>2]=J[c>>2];J[e+4>>2]=g;h=f}d=d+1|0;if((d|0)!=3){continue}break}}function tb(a){var b=0,c=0,d=0;d=(B(a),v(2));c=d&2147483647;if(c>>>0>=1065353216){if((c|0)==1065353216){return Q(+a*1.5707963267948966+752316384526264e-51)}return Q(Q(0)/Q(a-a))}a:{if(c>>>0<=1056964607){if(c-8388608>>>0<956301312){break a}return Q(Q(a*Cb(Q(a*a)))+a)}a=Q(Q(Q(1)-Q(R(a)))*Q(.5));b=Y(+a);b=b+b*+Cb(a);a=Q(1.5707963267948966-(b+b));a=(d|0)<0?Q(-a):a}return a}function Fm(a,b,c){a=a|0;b=Q(b);c=c|0;var d=Q(0),e=Q(0),f=Q(0),g=Q(0),h=Q(0),i=Q(0);d=N[a+44>>2];e=N[a+40>>2];f=N[a+36>>2];g=Q(va[J[J[a>>2]+48>>2]](a));h=Q(va[J[J[a>>2]+48>>2]](a));i=Q(va[J[J[a>>2]+48>>2]](a));J[c+12>>2]=0;b=Q(b/Q(12));f=Q(f+g);f=Q(f+f);f=Q(f*f);e=Q(e+h);e=Q(e+e);e=Q(e*e);N[c+8>>2]=b*Q(f+e);d=Q(d+i);d=Q(d+d);d=Q(d*d);N[c+4>>2]=b*Q(f+d);N[c>>2]=b*Q(e+d)}function Ds(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;a=Ec(Ga(360),3,a,b);J[a>>2]=23632;b=J[c+4>>2];J[a+300>>2]=J[c>>2];J[a+304>>2]=b;b=J[c+12>>2];J[a+308>>2]=J[c+8>>2];J[a+312>>2]=b;b=J[d+4>>2];J[a+316>>2]=J[d>>2];J[a+320>>2]=b;b=J[d+12>>2];J[a+324>>2]=J[d+8>>2];J[a+328>>2]=b;J[a+356>>2]=0;J[a+348>>2]=1050253722;J[a+352>>2]=1065353216;H[a+344|0]=0;J[a+332>>2]=0;return a|0}function xh(a){var b=0,c=0,d=0,e=0;d=+oa();b=d/1e3;a:{if(R(b)<0x8000000000000000){e=~~b>>>0;c=R(b)>=1?~~(b>0?T(V(b*2.3283064365386963e-10),4294967295):W((b-+(~~b>>>0>>>0))*2.3283064365386963e-10))>>>0:0;break a}c=-2147483648}J[a>>2]=e;J[a+4>>2]=c;b=(d-(+(Ut(e,c,1e3,0)>>>0)+ +(ua|0)*4294967296))*1e3;b:{if(R(b)<2147483648){c=~~b;break b}c=-2147483648}J[a+8>>2]=c}function of(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=Q(0),f=Q(0),g=Q(0),h=Q(0),i=Q(0),j=Q(0);h=Q(va[J[J[a>>2]+48>>2]](a));i=Q(va[J[J[a>>2]+48>>2]](a));j=Q(va[J[J[a>>2]+48>>2]](a));e=N[b+52>>2];f=N[b+56>>2];g=N[b+48>>2];J[c+12>>2]=0;N[c+8>>2]=f-j;N[c+4>>2]=e-i;N[c>>2]=g-h;e=N[b+52>>2];f=N[b+56>>2];g=N[b+48>>2];J[d+12>>2]=0;N[d+8>>2]=j+f;N[d+4>>2]=i+e;N[d>>2]=h+g}function Rc(a,b,c,d,e){var f=Q(0),g=0,h=Q(0);J[a+32>>2]=c;J[a+28>>2]=b;J[a+24>>2]=d;J[a+20>>2]=e;J[a+4>>2]=0;J[a+8>>2]=1065353216;J[a+12>>2]=0;J[a+16>>2]=0;J[a>>2]=22824;J[a+36>>2]=J[b+4>>2];J[a+40>>2]=J[c+4>>2];g=a,h=Q(va[J[J[b>>2]+48>>2]](b)),N[g+44>>2]=h;f=Q(va[J[J[c>>2]+48>>2]](c));J[a+72>>2]=1;J[a+76>>2]=1;J[a+60>>2]=-1;H[a+52|0]=0;N[a+48>>2]=f;return a}function Qn(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0;c=J[b>>2];e=va[J[J[c>>2]+56>>2]](c,72)|0;f=J[b+4>>2];d=J[a+8>>2];c=J[a+12>>2];a=J[a+16>>2];b=xb(e,b);J[b+8>>2]=d;J[b>>2]=15108;J[b+68>>2]=a;J[b+64>>2]=c;H[b+60|0]=0;J[b+56>>2]=f;H[b+52|0]=0;H[b+28|0]=1;J[b+24>>2]=0;H[b+48|0]=1;J[b+16>>2]=0;J[b+20>>2]=0;J[b+44>>2]=0;J[b+36>>2]=0;J[b+40>>2]=0;return e|0}function yt(a,b){a=a|0;b=Q(b);var c=0,d=Q(0),e=Q(0),f=Q(0),g=Q(0);c=Jb(Ga(92));J[c>>2]=21540;d=N[a+8>>2];e=N[a>>2];f=N[a+4>>2];g=N[a+12>>2];J[c+84>>2]=1065353216;J[c+88>>2]=0;J[c+76>>2]=1065353216;J[c+80>>2]=1065353216;N[c+72>>2]=b;N[c+68>>2]=g;J[c+4>>2]=28;b=Q(Q(1)/Q(Y(Q(Q(d*d)+Q(Q(e*e)+Q(f*f))))));N[c- -64>>2]=d*b;N[c+60>>2]=f*b;N[c+56>>2]=e*b;return c|0}function Jh(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;a:{e=J[a+328>>2];if((e|0)<=0){break a}h=d?d:J[a+188>>2];i=J[b>>2];f=J[a+336>>2];d=0;while(1){g=(d<<2)+f|0;if(J[g>>2]!=(i|0)){d=d+1|0;if((e|0)!=(d|0)){continue}break a}break}if((d|0)>=(e|0)){break a}d=e-1|0;J[g>>2]=J[(d<<2)+f>>2];J[a+328>>2]=d;a=J[a+344>>2];va[J[J[a>>2]+12>>2]](a,h,b,c)|0}}function Ai(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=J[b+4>>2];J[a+264>>2]=J[b>>2];J[a+268>>2]=c;c=J[b+12>>2];J[a+272>>2]=J[b+8>>2];J[a+276>>2]=c;c=J[a+248>>2];if((c|0)>0){while(1){a:{b:{e=J[J[a+256>>2]+(d<<2)>>2];switch(J[e+220>>2]-2|0){case 0:case 3:break a;default:break b}}if(H[e+564|0]&1){break a}Vb(e,b);c=J[a+248>>2]}d=d+1|0;if((c|0)>(d|0)){continue}break}}}function qc(a,b,c){var d=0;d=J[a+4>>2];a:{if(d){J[a+4>>2]=0;break a}d=Ga(44);Ka(d,0,44)}J[d+36>>2]=c;J[d+32>>2]=0;J[d+40>>2]=0;c=J[b+4>>2];J[d>>2]=J[b>>2];J[d+4>>2]=c;c=J[b+12>>2];J[d+8>>2]=J[b+8>>2];J[d+12>>2]=c;c=J[b+20>>2];J[d+16>>2]=J[b+16>>2];J[d+20>>2]=c;c=J[b+28>>2];J[d+24>>2]=J[b+24>>2];J[d+28>>2]=c;Cd(a,J[a>>2],d);J[a+12>>2]=J[a+12>>2]+1;return d}function Ve(a,b,c){var d=Q(0),e=Q(0),f=Q(0),g=Q(0),h=Q(0),i=Q(0);d=N[b+16>>2];e=N[c+16>>2];if(d!=e){return d>2];e=Q(N[b+8>>2]-d);h=Q(e*e);e=N[a>>2];f=Q(N[b>>2]-e);i=Q(f*f);f=N[a+4>>2];g=Q(N[b+4>>2]-f);g=Q(h+Q(i+Q(g*g)));d=Q(N[c+8>>2]-d);h=Q(d*d);d=Q(N[c>>2]-e);e=Q(d*d);d=Q(N[c+4>>2]-f);d=Q(h+Q(e+Q(d*d)));return d!=g?g>2]>2]}function Bf(a,b,c,d,e){var f=0,g=0;while(1){a:{b:{if(L[e>>1]>1]|L[d>>1]>L[b+6>>1]|(L[e+4>>1]>1]|L[d+4>>1]>L[b+10>>1])){break b}if(L[e+2>>1]>1]|L[d+2>>1]>L[b+8>>1]){break b}f=J[b+12>>2];if((f|0)<0){break a}va[J[J[c>>2]+8>>2]](c,f>>>21|0,f&2097151)}return}f=b+16|0;Bf(a,f,c,d,e);g=f;f=J[b+28>>2];b=(f|0)<0?g-(f<<4)|0:b+32|0;continue}}function Am(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=Q(0),i=Q(0),j=Q(0),k=Q(0),l=Q(0),m=Q(0);if((d|0)>0){while(1){g=f<<4;e=g+b|0;k=N[e>>2];l=N[e+4>>2];m=N[e+8>>2];h=N[a+36>>2];i=N[a+40>>2];j=N[a+44>>2];e=c+g|0;J[e+12>>2]=0;N[e+8>>2]=m>=Q(0)?j:Q(-j);N[e+4>>2]=l>=Q(0)?i:Q(-i);N[e>>2]=k>=Q(0)?h:Q(-h);f=f+1|0;if((f|0)!=(d|0)){continue}break}}}function wd(a){a=a|0;var b=0,c=0,d=0,e=0;J[a>>2]=13084;b=J[a+8>>2];if((b|0)>0){while(1){e=J[J[a+16>>2]+(c<<2)>>2];d=J[e+188>>2];if(d){b=J[a+68>>2];b=va[J[J[b>>2]+36>>2]](b)|0;va[J[J[b>>2]+40>>2]](b,d,J[a+24>>2]);b=J[a+68>>2];va[J[J[b>>2]+12>>2]](b,d,J[a+24>>2]);J[e+188>>2]=0;b=J[a+8>>2]}c=c+1|0;if((c|0)<(b|0)){continue}break}}Ha(a+4|0);return a|0}function zl(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=Q(0);lb(a,b,c);e=b+28|0;f=a+36|0;c=0;while(1){d=c<<2;N[d+e>>2]=N[f+d>>2];c=c+1|0;if((c|0)!=4){continue}break}e=b+12|0;f=a+20|0;c=0;while(1){d=c<<2;N[d+e>>2]=N[f+d>>2];c=c+1|0;if((c|0)!=4){continue}break}g=N[a+52>>2];J[b+48>>2]=0;N[b+44>>2]=g;a=J[a+76>>2];J[b+56>>2]=0;J[b+52>>2]=a;return 8920}function jl(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=Q(0);lb(a,b,c);e=b+28|0;f=a+36|0;c=0;while(1){d=c<<2;N[d+e>>2]=N[f+d>>2];c=c+1|0;if((c|0)!=4){continue}break}e=b+12|0;f=a+20|0;c=0;while(1){d=c<<2;N[d+e>>2]=N[f+d>>2];c=c+1|0;if((c|0)!=4){continue}break}g=N[a+52>>2];J[b+48>>2]=0;N[b+44>>2]=g;a=J[a+60>>2];J[b+56>>2]=0;J[b+52>>2]=a;return 8799}function Ul(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=Q(0);lb(a,b,c);e=b+28|0;f=a+36|0;c=0;while(1){d=c<<2;N[d+e>>2]=N[f+d>>2];c=c+1|0;if((c|0)!=4){continue}break}e=b+12|0;f=a+20|0;c=0;while(1){d=c<<2;N[d+e>>2]=N[f+d>>2];c=c+1|0;if((c|0)!=4){continue}break}g=N[a+52>>2];J[b+48>>2]=0;N[b+44>>2]=g;a=J[a+60>>2];J[b+56>>2]=0;J[b+52>>2]=a;return 8959}function ff(a,b){var c=0,d=0,e=0,f=0,g=0,h=0;d=-1;c=I[b>>1];e=L[b+2>>1];b=c+(e<<16)&J[a+48>>2]-1;a:{if(b>>>0>=M[a+4>>2]){break a}b=J[J[a+12>>2]+(b<<2)>>2];if((b|0)==-1){break a}h=J[a+32>>2];a=J[a+72>>2];c=c&65535;while(1){f=b<<2;g=a+f|0;if((c|0)==L[g>>1]){d=b;if(L[g+2>>1]==(e|0)){break a}}d=-1;b=J[h+f>>2];if((b|0)!=-1){continue}break}}return d}function Pd(a,b,c,d){H[a+53|0]=1;a:{if(J[a+4>>2]!=(c|0)){break a}H[a+52|0]=1;c=J[a+16>>2];b:{if(!c){J[a+36>>2]=1;J[a+24>>2]=d;J[a+16>>2]=b;if((d|0)!=1){break a}if(J[a+48>>2]==1){break b}break a}if((b|0)==(c|0)){c=J[a+24>>2];if((c|0)==2){J[a+24>>2]=d;c=d}if(J[a+48>>2]!=1){break a}if((c|0)==1){break b}break a}J[a+36>>2]=J[a+36>>2]+1}H[a+54|0]=1}}function jp(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0;e=ta-48|0;ta=e;J[e+44>>2]=d;J[e+40>>2]=12228;d=J[b+12>>2];J[e+16>>2]=J[b+8>>2];J[e+20>>2]=d;d=J[b+4>>2];J[e+8>>2]=J[b>>2];J[e+12>>2]=d;b=J[c+12>>2];J[e+32>>2]=J[c+8>>2];J[e+36>>2]=b;b=J[c+4>>2];J[e+24>>2]=J[c>>2];J[e+28>>2]=b;b=e+8|0;c=e+40|0;Rb(J[a+4>>2],b,c);Rb(J[a+44>>2],b,c);ta=e+48|0}function Cg(a,b){var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;h=-1;i=-1;d=J[a>>2];if(d){i=J[d+12>>2]}e=J[b>>2];if(e){h=J[e+12>>2]}j=-1;k=-1;f=J[a+4>>2];if(f){k=J[f+12>>2]}g=J[b+4>>2];if(g){j=J[g+12>>2]}c=1;a:{if((h|0)<(i|0)){break a}c=(d|0)==(e|0)&(j|0)<(k|0);if(c|(d|0)!=(e|0)){break a}c=0;if((f|0)!=(g|0)){break a}c=M[a+8>>2]>M[b+8>>2]}return c}function ao(a,b){a=a|0;b=b|0;var c=0,d=0,e=Q(0),f=0;c=ta-32|0;ta=c;d=J[a+216>>2];e=N[d+4>>2];a:{if(e==Q(0)){break a}b=J[b>>2];if(!(va[J[J[d>>2]+8>>2]](d,J[b+188>>2])|0)){break a}d=J[a+216>>2];f=J[b+192>>2];J[c+24>>2]=-1;J[c+28>>2]=-1;J[c+20>>2]=b+4;J[c+16>>2]=b;J[c+12>>2]=f;J[c+8>>2]=0;rg(a+68|0,a+132|0,c+8|0,d)}ta=c+32|0;return e!=Q(0)|0}function wc(a,b){a:{if((b|0)>=1024){a=a*898846567431158e293;if(b>>>0<2047){b=b-1023|0;break a}a=a*898846567431158e293;b=((b|0)>=3069?3069:b)-2046|0;break a}if((b|0)>-1023){break a}a=a*2004168360008973e-307;if(b>>>0>4294965304){b=b+969|0;break a}a=a*2004168360008973e-307;b=((b|0)<=-2960?-2960:b)+1938|0}x(0,0);x(1,b+1023<<20);return a*+z()}function zh(a,b,c,d){a=a|0;b=Q(b);c=Q(c);d=d|0;var e=Q(0),f=Q(0);J[a+20>>2]=1065353216;J[a+24>>2]=1065353216;J[a+60>>2]=d;J[a+28>>2]=1065353216;J[a+32>>2]=0;f=b;e=c;a:{b:{switch(d|0){case 0:f=c;e=b;break a;case 1:break a;default:break b}}e=b;b=c}N[a+36>>2]=f;J[a+48>>2]=0;N[a+44>>2]=b;N[a+40>>2]=e;N[a+52>>2]=N[(a+36|0)+((d+2|0)%3<<2)>>2]}function Xl(a,b){a=a|0;b=b|0;var c=Q(0),d=Q(0),e=Q(0),f=Q(0),g=Q(0),h=Q(0),i=Q(0),j=Q(0),k=Q(0);c=N[a+24>>2];d=N[a+40>>2];e=N[a+28>>2];f=N[a+44>>2];g=N[a+20>>2];h=N[a+36>>2];Lb(a,b);i=N[b>>2];j=N[b+4>>2];k=N[b+8>>2];J[a+48>>2]=0;N[a+44>>2]=k*Q(f/e);N[a+40>>2]=j*Q(d/c);N[a+36>>2]=i*Q(h/g);N[a+52>>2]=N[(a+36|0)+((J[a+60>>2]+2|0)%3<<2)>>2]}function Nt(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=ta+-64|0;ta=d;e=1;a:{if(Sa(a,b,0)){break a}e=0;if(!b){break a}b=bb(b,30116);e=0;if(!b){break a}Ka(d+12|0,0,52);J[d+56>>2]=1;J[d+20>>2]=-1;J[d+16>>2]=a;J[d+8>>2]=b;va[J[J[b>>2]+28>>2]](b,d+8|0,J[c>>2],1);a=J[d+32>>2];if((a|0)==1){J[c>>2]=J[d+24>>2]}e=(a|0)==1}a=e;ta=d- -64|0;return a|0}function Wj(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0;e=ta-48|0;ta=e;J[e+12>>2]=b;J[e+8>>2]=22276;b=J[c+12>>2];J[e+24>>2]=J[c+8>>2];J[e+28>>2]=b;b=J[c+4>>2];J[e+16>>2]=J[c>>2];J[e+20>>2]=b;b=J[d+12>>2];J[e+40>>2]=J[d+8>>2];J[e+44>>2]=b;b=J[d+4>>2];J[e+32>>2]=J[d>>2];J[e+36>>2]=b;a=J[a+56>>2];va[J[J[a>>2]+8>>2]](a,e+8|0,c,d);ta=e+48|0}function ot(a,b,c,d,e){a=a|0;b=b|0;c=Q(c);d=Q(d);e=Q(e);var f=0;f=ta-16|0;ta=f;J[f+12>>2]=0;N[f+8>>2]=e;N[f+4>>2]=d;N[f>>2]=c;H[a+69|0]=0;J[a+60>>2]=b;b=va[J[J[a>>2]+28>>2]](a)|0;c=Q(N[b+8>>2]-N[f+8>>2]);d=Q(c*c);c=Q(N[b>>2]-N[f>>2]);e=Q(c*c);c=Q(N[b+4>>2]-N[f+4>>2]);if(Q(d+Q(e+Q(c*c)))>Q(1.1920928955078125e-7)){Xc(a,f)}ta=f+16|0}function kg(a,b){var c=0,d=0;c=J[b>>2];b=c+(c<<15^-1)|0;b=P(b>>>10^b,9);b=b>>>6^b;b=(b<<11^-1)+b|0;b=J[a+48>>2]-1&(b>>>16^b);a:{if(b>>>0>=M[a+4>>2]){break a}b=J[J[a+12>>2]+(b<<2)>>2];if((b|0)==-1){break a}d=J[a+32>>2];a=J[a+72>>2];while(1){if(J[a+(b<<3)>>2]==(c|0)){return b}b=J[(b<<2)+d>>2];if((b|0)!=-1){continue}break}}return-1}function Ir(a,b){a=a|0;b=Q(b);var c=0,d=0;c=ta-16|0;ta=c;J[c+8>>2]=1070945621;J[c+12>>2]=0;J[c>>2]=1070945621;J[c+4>>2]=1070945621;d=J[a+192>>2];a:{if(!rh(va[J[J[d>>2]+36>>2]](d)|0,1038)){break a}if(J[d+4>>2]==31){if(J[d+24>>2]<=0){break a}va[J[J[d>>2]+32>>2]](d,b,c);break a}va[J[J[d>>2]+32>>2]](d,b,c)}Wb(a,b,c);ta=c+16|0}function Co(a,b,c){a=a|0;b=b|0;c=c|0;a:{b:{c:{switch(J[b+220>>2]-2|0){case 0:case 3:break c;default:break b}}a=0;switch(J[c+220>>2]-2|0){case 0:case 3:break a;default:break b}}d:{if(J[b+280>>2]){if(!(va[J[J[b>>2]+12>>2]](b,c)|0)){break d}}a=1;if(!J[c+280>>2]){break a}if(va[J[J[c>>2]+12>>2]](c,b)|0){break a}}a=0}return a|0}function lm(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;a=Xd(Ra(164),a,b,c);J[a>>2]=25420;N[a+156>>2]=N[b+56>>2];N[a+152>>2]=N[b+52>>2];N[a+160>>2]=N[b+60>>2];c=_d(Ga(348));J[a+4>>2]=c;J[c+204>>2]=4;d=J[b+32>>2];J[c+52>>2]=J[b+28>>2];J[c+56>>2]=d;d=J[b+40>>2];J[c+60>>2]=J[b+36>>2];J[c+64>>2]=d;J[J[a+4>>2]+256>>2]=a;Tb(a);return a|0}function Et(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;if(Sa(a,J[b+8>>2],e)){Od(b,c,d);return}a:{if(!Sa(a,J[b>>2],e)){break a}if(!(J[b+16>>2]!=(c|0)&J[b+20>>2]!=(c|0))){if((d|0)!=1){break a}J[b+32>>2]=1;return}J[b+20>>2]=c;J[b+32>>2]=d;J[b+40>>2]=J[b+40>>2]+1;if(!(J[b+36>>2]!=1|J[b+24>>2]!=2)){H[b+54|0]=1}J[b+44>>2]=4}}function ep(a,b){a=a|0;b=b|0;if(J[a+16>>2]==(0-J[a+56>>2]|0)){Fd(a+4|0);Fd(a+44|0);J[a+124>>2]=0;J[a+104>>2]=0;H[a+153|0]=0;H[a+154|0]=1;J[a+116>>2]=10;J[a+120>>2]=1;J[a+108>>2]=1;J[a+112>>2]=0;J[a+84>>2]=0;J[a+88>>2]=0;J[a+92>>2]=0;J[a+128>>2]=0;J[a+132>>2]=0;J[a+136>>2]=0;J[a+140>>2]=0;J[a+144>>2]=0;J[a+148>>2]=0}}function Ub(a){a=a|0;var b=0;J[a>>2]=24112;if(K[a+288|0]){b=J[a+220>>2];va[J[J[b>>2]>>2]](b)|0;Fa(J[a+220>>2])}b=J[a+212>>2];if(b){va[J[J[b>>2]>>2]](b)|0;Fa(J[a+212>>2])}if(K[a+289|0]){b=J[a+216>>2];va[J[J[b>>2]>>2]](b)|0;Fa(J[a+216>>2])}Ha(a+320|0);Ha(a+292|0);Ha(a+244|0);Ha(a+224|0);Ha(a+192|0);return wd(a)|0}function rk(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=Q(0);lb(a,b,c);e=b+12|0;f=a+76|0;c=0;while(1){d=c<<2;N[d+e>>2]=N[f+d>>2];c=c+1|0;if((c|0)!=4){continue}break}e=b+28|0;f=a+56|0;c=0;while(1){d=c<<2;N[d+e>>2]=N[f+d>>2];c=c+1|0;if((c|0)!=4){continue}break}g=N[a+72>>2];J[b+48>>2]=0;N[b+44>>2]=g;return 8936}function Cn(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=Q(0);lb(a,b,c);e=b+28|0;f=a+36|0;c=0;while(1){d=c<<2;N[d+e>>2]=N[f+d>>2];c=c+1|0;if((c|0)!=4){continue}break}e=b+12|0;f=a+20|0;c=0;while(1){d=c<<2;N[d+e>>2]=N[f+d>>2];c=c+1|0;if((c|0)!=4){continue}break}g=N[a+52>>2];J[b+48>>2]=0;N[b+44>>2]=g;return 8840}function ge(a,b){var c=Q(0),d=0,e=0,f=0,g=0;d=ta+-64|0;ta=d;if(!(!J[b+540>>2]|K[b+204|0]&3)){e=b+68|0;f=b+132|0;g=b+148|0;a:{b:{if(!K[a+316|0]){break b}c=N[a+284>>2];if(c==Q(0)){break b}c=Q(N[a+280>>2]-c);break a}c=Q(N[a+280>>2]*N[b+268>>2])}Gb(e,f,g,c,d);a=J[b+540>>2];va[J[J[a>>2]+12>>2]](a,d)}ta=d- -64|0}function Dl(a,b){a=a|0;b=b|0;var c=Q(0),d=0,e=0,f=Q(0);e=J[a+76>>2]<<2;c=N[e+b>>2];d=e;e=a+20|0;f=Q(N[a+68>>2]*Q(c/N[d+e>>2]));N[a+68>>2]=f;d=J[a+72>>2]<<2;c=Q(N[d+b>>2]/N[e+d>>2]);d=J[a+80>>2]<<2;c=Q(N[a+64>>2]*Q(Q(c+Q(N[d+b>>2]/N[e+d>>2]))*Q(.5)));N[a+64>>2]=c;N[a+60>>2]=c/Q(Y(Q(Q(c*c)+Q(f*f))));Lb(a,b)}function pd(a,b,c,d,e){a=xb(a,b);J[a>>2]=16208;H[a+68|0]=e;H[a+24|0]=1;J[a+20>>2]=0;H[a+44|0]=1;J[a+12>>2]=0;J[a+16>>2]=0;J[a+40>>2]=0;H[a- -64|0]=1;J[a+32>>2]=0;J[a+36>>2]=0;J[a+60>>2]=0;J[a+52>>2]=0;J[a+56>>2]=0;b=J[b+4>>2];H[a+76|0]=0;J[a+72>>2]=b;J[a+80>>2]=J[J[(e?d:c)+4>>2]+76>>2];Yf(a,c,d);return a}function cl(a,b,c){a=a|0;b=b|0;c=c|0;var d=Q(0);a:{switch(J[a+104>>2]){case 0:return Q(N[J[a+100>>2]+(P(J[a+72>>2],c)+b<<2)>>2]);case 5:return Q(Q(N[a+96>>2]*Q(K[J[a+100>>2]+(P(J[a+72>>2],c)+b|0)|0])));case 3:d=Q(N[a+96>>2]*Q(I[J[a+100>>2]+(P(J[a+72>>2],c)+b<<1)>>1]));break;default:break a}}return Q(d)} -function Js(a,b,c,d,e,f){a=a|0;b=Q(b);c=Q(c);d=Q(d);e=Q(e);f=Q(f);c=Q(Q(c-b)*Q(.5));N[a+692>>2]=c;b=Za(Q(c+b));a:{if(bQ(3.1415927410125732))){break a}b=Q(b+Q(-6.2831854820251465))}N[a+704>>2]=f;N[a+700>>2]=e;N[a+696>>2]=d;N[a+688>>2]=b}function Bp(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0;e=ta-16|0;ta=e;J[e+8>>2]=c;J[e+12>>2]=b;J[e+4>>2]=d;b=J[a+140>>2];a=ta-32|0;ta=a;if(!(H[34060]&1)){c=fa(4,31856)|0;H[34060]=1;J[8514]=c}c=J[8514];J[a+8>>2]=J[e+12>>2];J[a+16>>2]=J[e+8>>2];J[a+24>>2]=J[e+4>>2];ea(c|0,b|0,7464,a+8|0);ta=a+32|0;ta=e+16|0}function sr(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0;f=J[b+4>>2];J[a+20>>2]=J[b>>2];J[a+24>>2]=f;f=J[b+12>>2];J[a+28>>2]=J[b+8>>2];J[a+32>>2]=f;b=J[c+4>>2];J[a+36>>2]=J[c>>2];J[a+40>>2]=b;b=J[c+12>>2];J[a+44>>2]=J[c+8>>2];J[a+48>>2]=b;H[a+88|0]=e;J[a+12>>2]=d;J[a+16>>2]=0;J[a+4>>2]=1065353216}function ce(a){var b=0,c=0,d=0;c=ta-16|0;ta=c;Na(4618);if(J[a+324>>2]>0){while(1){d=J[a+24>>2];va[J[J[d>>2]+16>>2]](d,J[J[a+332>>2]+(b<<2)>>2]);b=b+1|0;if((b|0)>2]){continue}break}}b=J[a+332>>2];if(!(!b|!K[a+336|0])){Fa(b)}J[a+332>>2]=0;H[a+336|0]=1;J[a+324>>2]=0;J[a+328>>2]=0;Ma();ta=c+16|0}function St(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0;f=J[b+4>>2];J[a+20>>2]=J[b>>2];J[a+24>>2]=f;f=J[b+12>>2];J[a+28>>2]=J[b+8>>2];J[a+32>>2]=f;b=J[c+4>>2];J[a+36>>2]=J[c>>2];J[a+40>>2]=b;b=J[c+12>>2];J[a+44>>2]=J[c+8>>2];J[a+48>>2]=b;H[a+88|0]=e;J[a+12>>2]=d;J[a+4>>2]=1065353216;J[a+8>>2]=0}function Jm(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;a=Xd(Ra(160),a,b,c);J[a>>2]=25388;N[a+152>>2]=N[b+52>>2];N[a+156>>2]=N[b+56>>2];c=_d(Ga(348));J[a+4>>2]=c;J[c+204>>2]=4;d=J[b+32>>2];J[c+52>>2]=J[b+28>>2];J[c+56>>2]=d;d=J[b+40>>2];J[c+60>>2]=J[b+36>>2];J[c+64>>2]=d;J[J[a+4>>2]+256>>2]=a;xc(a);return a|0}function hm(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;c=J[a+60>>2];if(c){c=(f=b,g=va[J[J[c>>2]+12>>2]](c)|0,h=1,e=J[J[b>>2]+16>>2],va[e](f|0,g|0,h|0)|0);d=J[a+60>>2];h=b,g=c,f=va[J[J[d>>2]+16>>2]](d,J[c+8>>2],b)|0,i=1213612625,j=J[a+60>>2],e=J[J[b>>2]+20>>2],va[e](h|0,g|0,f|0,i|0,j|0)}}function gm(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;c=J[a+64>>2];if(c){c=(f=b,g=va[J[J[c>>2]+8>>2]](c)|0,h=1,e=J[J[b>>2]+16>>2],va[e](f|0,g|0,h|0)|0);d=J[a+64>>2];h=b,g=c,f=va[J[J[d>>2]+12>>2]](d,J[c+8>>2],b)|0,i=1346456916,j=J[a+64>>2],e=J[J[b>>2]+20>>2],va[e](h|0,g|0,f|0,i|0,j|0)}}function qh(a){var b=0,c=0,d=0;a:{b:{b=a;if(!(b&3)){break b}if(!K[a|0]){return 0}while(1){b=b+1|0;if(!(b&3)){break b}if(K[b|0]){continue}break}break a}while(1){c=b;b=b+4|0;d=J[c>>2];if(!((d^-1)&d-16843009&-2139062144)){continue}break}while(1){b=c;c=b+1|0;if(K[b|0]){continue}break}}return b-a|0}function nt(a,b,c,d){a=a|0;b=Q(b);c=Q(c);d=Q(d);var e=0,f=0,g=0;e=ta-16|0;ta=e;f=Ga(44);J[e+12>>2]=0;N[e+8>>2]=d;N[e+4>>2]=c;N[e>>2]=b;f=Jb(f);J[f>>2]=21232;g=J[e+4>>2];J[f+24>>2]=J[e>>2];J[f+28>>2]=g;g=J[e+12>>2];J[f+32>>2]=J[e+8>>2];J[f+36>>2]=g;J[f+40>>2]=a;J[f+4>>2]=22;ta=e+16|0;return f|0}function Bc(a,b){var c=Q(0),d=Q(0),e=Q(0),f=Q(0),g=Q(0),h=Q(0);c=Q(va[J[J[a>>2]+48>>2]](a));d=Q(va[J[J[a>>2]+48>>2]](a));e=Q(va[J[J[a>>2]+48>>2]](a));f=N[b>>2];g=N[b+4>>2];h=N[b+8>>2];J[a+48>>2]=0;N[a+44>>2]=Q(h*N[a+28>>2])-e;N[a+40>>2]=Q(g*N[a+24>>2])-d;N[a+36>>2]=Q(f*N[a+20>>2])-c;Ac(a,b)}function pt(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=Jb(Ga(84));J[d+56>>2]=a;J[d>>2]=22156;J[d+4>>2]=21;a:{if(va[J[J[a>>2]+40>>2]](a)|0){va[J[J[a>>2]+48>>2]](a,d+24|0,d+40|0);a=d;break a}Se(d);a=d}H[a+69|0]=0;H[a+68|0]=b;J[a+60>>2]=0;J[a+64>>2]=0;J[a>>2]=18540;J[a+4>>2]=21;if(c){xf(a)}return a|0}function ml(a,b,c){a=a|0;b=b|0;c=c|0;var d=Q(0),e=Q(0),f=Q(0),g=Q(0),h=Q(0),i=Q(0);d=N[b+40>>2];e=N[b+36>>2];f=N[c>>2];g=N[c+8>>2];h=Q(Y(Q(Q(f*f)+Q(g*g))));a:{if(h!=Q(0)){e=Q(e/h);i=Q(g*e);e=Q(f*e);d=N[c+4>>2]>2]>2]=i;N[a+4>>2]=d;N[a>>2]=e}function Qo(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;f=ta-16|0;ta=f;Na(3965);if(J[a+8>>2]>0){while(1){e=J[a+16>>2]+(d<<4)|0;a:{if(va[J[J[b>>2]+8>>2]](b,e)|0){va[J[J[a>>2]+12>>2]](a,J[e>>2],J[e+4>>2],c)|0;J[9101]=J[9101]-1;break a}d=d+1|0}if(J[a+8>>2]>(d|0)){continue}break}}Ma();ta=f+16|0}function Sm(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;a=J[b>>2];a=xb(va[J[J[a>>2]+56>>2]](a,16)|0,b);J[a+12>>2]=0;H[a+8|0]=0;J[a>>2]=16620;b=J[a+4>>2];if(va[J[J[b>>2]+24>>2]](b,J[c+8>>2],J[d+8>>2])|0){b=J[a+4>>2];b=va[J[J[b>>2]+12>>2]](b,J[c+8>>2],J[d+8>>2])|0;H[a+8|0]=1;J[a+12>>2]=b}return a|0}function mo(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,i=0;c=ta-16|0;ta=c;Na(5670);va[J[J[a>>2]+8>>2]](a);va[J[J[a>>2]+12>>2]](a);b=J[a+24>>2];Na(3939);if(b){d=J[a+68>>2];f=b,g=va[J[J[d>>2]+36>>2]](d)|0,h=a+28|0,i=J[a+24>>2],e=J[J[b>>2]+32>>2],va[e](f|0,g|0,h|0,i|0)}Ma();Ma();ta=c+16|0}function Tm(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0;e=J[b>>2];e=va[J[J[e>>2]+56>>2]](e,20)|0;f=J[b+4>>2];a=K[a+4|0];b=xb(e,b);H[b+16|0]=a;J[b+12>>2]=f;H[b+8|0]=0;J[b>>2]=18004;if(!f){a=J[b+4>>2];a=va[J[J[a>>2]+12>>2]](a,J[c+8>>2],J[d+8>>2])|0;H[b+8|0]=1;J[b+12>>2]=a}return b|0}function Nh(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0;a:{c=J[a+328>>2];if((c|0)<=0){break a}f=J[b>>2];d=J[a+336>>2];b=0;while(1){e=(b<<2)+d|0;if(J[e>>2]!=(f|0)){b=b+1|0;if((c|0)!=(b|0)){continue}break a}break}if((b|0)>=(c|0)){break a}b=c-1|0;J[e>>2]=J[(b<<2)+d>>2];J[a+328>>2]=b}}function Vb(a,b){var c=Q(0),d=0,e=Q(0),f=Q(0),g=Q(0);c=N[a+404>>2];if(c!=Q(0)){e=N[b>>2];f=N[b+4>>2];g=N[b+8>>2];J[a+436>>2]=0;c=Q(Q(1)/c);N[a+432>>2]=g*c;N[a+428>>2]=c*f;N[a+424>>2]=c*e}d=J[b+4>>2];J[a+440>>2]=J[b>>2];J[a+444>>2]=d;d=J[b+12>>2];J[a+448>>2]=J[b+8>>2];J[a+452>>2]=d}function Tc(a,b,c){var d=Q(0),e=Q(0),f=Q(0),g=Q(0),h=Q(0),i=Q(0),j=Q(0),k=Q(0),l=Q(0);d=N[a>>2];e=N[b+4>>2];f=N[c+8>>2];g=N[a+4>>2];h=N[b+8>>2];i=N[c>>2];j=N[a+8>>2];k=N[b>>2];l=N[c+4>>2];return Q(Q(Q(Q(d*e)*f)+Q(Q(Q(Q(Q(g*h)*i)+Q(Q(j*k)*l))-Q(Q(h*d)*l))-Q(Q(k*g)*f)))-Q(Q(e*j)*i))}function jb(a,b){var c=0,d=0,e=0,f=0;a:{c=J[a+4>>2];if((c|0)<=0){break a}d=J[b>>2];e=J[a+12>>2];b=0;while(1){f=(b<<2)+e|0;if(J[f>>2]!=(d|0)){b=b+1|0;if((c|0)!=(b|0)){continue}break a}break}if((b|0)>=(c|0)){break a}b=c-1|0;c=b<<2;J[f>>2]=J[c+e>>2];J[c+J[a+12>>2]>>2]=d;J[a+4>>2]=b}}function Rt(a){a=a|0;var b=0,c=Q(0),d=Q(0),e=Q(0),f=Q(0);b=_a(Ga(64));J[b+60>>2]=1;J[b>>2]=20032;d=N[a>>2];e=N[a+4>>2];c=N[a+8>>2];J[b+48>>2]=0;f=Q(c*N[b+28>>2]);c=N[b+52>>2];N[b+44>>2]=f-c;N[b+40>>2]=Q(e*N[b+24>>2])-c;N[b+36>>2]=Q(d*N[b+20>>2])-c;Ac(b,a);J[b+4>>2]=13;return b|0}function Qj(a,b,c,d){a=a|0;b=b|0;c=c|0;d=Q(d);var e=0;if(N[a+36>>2]>d){H[a+40|0]=1;e=J[b+4>>2];J[a+4>>2]=J[b>>2];J[a+8>>2]=e;e=J[b+12>>2];J[a+12>>2]=J[b+8>>2];J[a+16>>2]=e;b=J[c+4>>2];J[a+20>>2]=J[c>>2];J[a+24>>2]=b;b=J[c+12>>2];J[a+28>>2]=J[c+8>>2];J[a+32>>2]=b;N[a+36>>2]=d}}function fo(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=Q(0);e=ta-16|0;ta=e;d=J[a+28>>2];J[e+8>>2]=d;J[e+4>>2]=d;f=J[b+4>>2];a:{if(!f){J[b+4>>2]=e+4;break a}J[f+4>>2]=d;J[f>>2]=d}d=J[a+24>>2];g=Q(va[J[J[d>>2]+12>>2]](d,b,c));N[a+4>>2]=N[J[a+24>>2]+4>>2];ta=e+16|0;return Q(g)}function tm(a,b,c){a=a|0;b=b|0;c=Q(c);var d=Q(0),e=Q(0),f=0;d=N[b>>2];e=N[a+36>>2];a:{if(!(d<=Q(e+c))|!(d>=Q(Q(-e)-c))){break a}d=N[b+4>>2];e=N[a+40>>2];if(!(d<=Q(e+c))|!(d>=Q(Q(-e)-c))){break a}d=N[b+8>>2];e=N[a+44>>2];if(!(d<=Q(e+c))){break a}f=d>=Q(Q(-e)-c)}return f|0}function Xr(){var a=0;a=Ra(64);J[a+4>>2]=0;J[a+8>>2]=0;J[a>>2]=1065353216;J[a+12>>2]=0;J[a+16>>2]=0;J[a+24>>2]=0;J[a+28>>2]=0;J[a+20>>2]=1065353216;J[a+32>>2]=0;J[a+36>>2]=0;J[a+44>>2]=0;J[a+48>>2]=0;J[a+40>>2]=1065353216;J[a+52>>2]=0;J[a+56>>2]=0;J[a+60>>2]=0;return a|0}function tj(a,b,c,d){a=a|0;b=b|0;c=Q(c);d=d|0;a:{if((d|0)!=5&(d|0)!=-1){break a}b:{c:{switch(b-1|0){case 1:d=a+764|0;b=2;break b;case 3:d=a+760|0;b=1;break b;case 2:d=a+752|0;b=4;break b;case 0:break c;default:break a}}d=a+756|0;b=8}N[d>>2]=c;J[a+748>>2]=b|J[a+748>>2]}}function dg(a,b,c,d,e){var f=0;a=xb(a,b);J[a>>2]=15712;b=J[b>>2];J[a+60>>2]=0;J[a+56>>2]=b;J[a+8>>2]=15740;f=e?c:d;J[a+48>>2]=f;c=e?d:c;J[a+44>>2]=c;b=va[J[J[b>>2]+12>>2]](b,J[c+8>>2],J[f+8>>2])|0;J[a+72>>2]=b;c=J[a+56>>2];va[J[J[c>>2]+20>>2]](c,b);H[a+76|0]=e;return a}function $h(a,b,c){a=a|0;b=b|0;c=c|0;var d=Q(0),e=0;d=Q(1);e=J[b>>2];if(!((e|0)==J[a+84>>2]|K[e+204|0]&4|Q(-N[a+88>>2])<=Q(Q(N[b+16>>2]*Q(N[a+44>>2]-N[a+28>>2]))+Q(Q(N[b+8>>2]*Q(N[a+36>>2]-N[a+20>>2]))+Q(Q(N[a+40>>2]-N[a+24>>2])*N[b+12>>2]))))){d=sc(a,b,c)}return Q(d)}function Je(a,b,c,d){var e=0;J[a>>2]=23156;e=J[b+4>>2];J[a+4>>2]=J[b>>2];J[a+8>>2]=e;e=J[b+12>>2];J[a+12>>2]=J[b+8>>2];J[a+16>>2]=e;b=J[c+4>>2];J[a+20>>2]=J[c>>2];J[a+24>>2]=b;b=J[c+12>>2];J[a+28>>2]=J[c+8>>2];J[a+32>>2]=b;J[a+40>>2]=1065353216;J[a+36>>2]=d;return a}function Gl(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0;e=ta-16|0;ta=e;if((d|0)>0){while(1){f=g<<4;fd(e,a,f+b|0);h=J[e+12>>2];f=c+f|0;J[f+8>>2]=J[e+8>>2];J[f+12>>2]=h;h=J[e+4>>2];J[f>>2]=J[e>>2];J[f+4>>2]=h;g=g+1|0;if((g|0)!=(d|0)){continue}break}}ta=e+16|0}function Xi(a,b,c,d,e,f,g,h,i,j){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;j=ta-16|0;ta=j;Na(5418);Q(va[J[J[a>>2]+44>>2]](a,b,c,d,e,f,g,h,i));Q(va[J[J[a>>2]+48>>2]](a,b,c,d,e,f,g,h,i));Q(va[J[J[a>>2]+36>>2]](a,b,c,h));Ma();ta=j+16|0;return Q(Q(0))}function Gc(a,b){var c=0;c=a;a=P(J[a+232>>2],1664525)+1013904223|0;J[c+232>>2]=a;a:{if(b>>>0>65536){break a}a=a>>>16^a;if(b>>>0>256){break a}a=a>>>8^a;if(b>>>0>16){break a}a=a>>>4^a;if(b>>>0>4){break a}a=a>>>2^a;if(b>>>0>2){break a}a=a>>>1^a}return(a>>>0)%(b>>>0)|0}function jj(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;Zb(a,b,c);d=b+52|0;f=a+300|0;c=0;while(1){e=c<<2;N[d+e>>2]=N[f+e>>2];c=c+1|0;if((c|0)!=4){continue}break}b=b+68|0;a=a+316|0;c=0;while(1){d=c<<2;N[d+b>>2]=N[a+d>>2];c=c+1|0;if((c|0)!=4){continue}break}return 8596}function _b(a,b,c,d,e){var f=Q(0);f=Q(1);a:{if(b>c){break a}f=Q(0);if(b==c){break a}d=Q(d/e);if(d=b)|!(Q(b-d)>a))){return Q(Q(b-a)/d)}return aQ(0))){break a}if(!(!(a<=c)|!(Q(c-d)c?Q(0):Q(1)}return f}function Jt(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0;if(Sa(a,J[b+8>>2],0)){Rd(b,c,d);return}e=J[a+12>>2];f=a+16|0;ph(f,b,c,d);a=a+24|0;e=(e<<3)+f|0;a:{if(a>>>0>=e>>>0){break a}while(1){ph(a,b,c,d);if(K[b+54|0]){break a}a=a+8|0;if(e>>>0>a>>>0){continue}break}}}function Go(a,b){a=a|0;b=b|0;var c=0,d=0;a=ta-16|0;ta=a;c=J[b+844>>2];if((c|0)>0){while(1){Ke((P(d,208)+b|0)+4|0);d=d+1|0;c=J[b+844>>2];if((d|0)<(c|0)){continue}break}}a:{if(!c){break a}c=J[9400];if(!c){break a}J[a+12>>2]=b;va[c|0](a+12|0)}J[b+844>>2]=0;ta=a+16|0}function Te(a,b,c,d,e,f,g,h,i,j){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;a=J[a+32>>2]+(j<<5)|0;J[c>>2]=J[a+12>>2];J[b>>2]=J[a+16>>2];J[d>>2]=J[a+28>>2];J[e>>2]=J[a+20>>2];J[h>>2]=J[a>>2];J[f>>2]=J[a+4>>2];J[g>>2]=J[a+8>>2];J[i>>2]=J[a+24>>2]}function Kj(a,b,c,d){a=a|0;b=b|0;c=c|0;d=Q(d);var e=0;e=J[b+4>>2];J[a+4>>2]=J[b>>2];J[a+8>>2]=e;e=J[b+12>>2];J[a+12>>2]=J[b+8>>2];J[a+16>>2]=e;b=J[c+4>>2];J[a+20>>2]=J[c>>2];J[a+24>>2]=b;b=J[c+12>>2];J[a+28>>2]=J[c+8>>2];J[a+32>>2]=b;H[a+40|0]=1;N[a+36>>2]=d}function dd(a,b,c){var d=0,e=0,f=0;d=a+48|0;e=df(d);d=df(d);J[e+8>>2]=d;J[d+8>>2]=e;f=J[a+100>>2];J[e+20>>2]=f;J[d+20>>2]=f;J[e+12>>2]=c;J[d+12>>2]=b;J[e+16>>2]=0;J[d+16>>2]=0;b=J[a+116>>2];c=b+1|0;J[a+116>>2]=c;if((b|0)>=J[a+120>>2]){J[a+120>>2]=c}return e}function yp(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=ta-16|0;ta=d;J[d+8>>2]=c;J[d+12>>2]=b;b=J[a+8>>2];a=ta-16|0;ta=a;if(!(H[34068]&1)){c=fa(3,32116)|0;H[34068]=1;J[8516]=c}c=J[8516];J[a>>2]=J[d+12>>2];J[a+8>>2]=J[d+8>>2];ea(c|0,b|0,2251,a|0);ta=a+16|0;ta=d+16|0}function vj(a,b){a=a|0;b=b|0;var c=Q(0);a:{b:{if(K[a+738|0]){J[b>>2]=0;a=0;break b}J[b>>2]=5;J[b+4>>2]=1;c=Hc(a,J[a+28>>2]+4|0,J[a+32>>2]+4|0);N[a+728>>2]=c;ue(a+688|0,c);if(!(K[a+716|0]|K[a+737|0])){break a}J[b>>2]=J[b>>2]+1;a=J[b+4>>2]-1|0}J[b+4>>2]=a}}function mp(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;pc((J[b+60>>2]==2?44:4)+a|0,J[b+48>>2]);d=J[b+52>>2];J[(d?d+56|0:((J[b+60>>2]<<2)+a|0)+84|0)>>2]=J[b+56>>2];d=J[b+56>>2];if(d){J[d+52>>2]=J[b+52>>2]}d=J[a+96>>2];va[J[J[d>>2]+16>>2]](d,b,c);Fa(b);H[a+154|0]=1}function Tb(a){var b=0,c=0,d=Q(0);b=ta-16|0;ta=b;N[b>>2]=N[a+156>>2];N[b+4>>2]=N[a+152>>2];d=N[a+160>>2];J[b+12>>2]=0;N[b+8>>2]=d;c=J[a+8>>2];a:{if(!c){c=jd(Ga(64),b);J[a+8>>2]=c;break a}Bc(c,b);c=J[a+8>>2]}a=J[a+4>>2];va[J[J[a>>2]+8>>2]](a,c);ta=b+16|0}function kp(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0;c=ta-16|0;ta=c;J[c+8>>2]=12156;J[c+12>>2]=d;g=d+4|0;h=d+20|0;i=J[a+168>>2];j=c+8|0;Gg(J[a+4>>2],b,g,h,N[d+32>>2],e,f,i,j);Gg(J[a+44>>2],b,g,h,N[d+32>>2],e,f,i,j);ta=c+16|0}function co(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=Q(0);d=ta-16|0;ta=d;J[d+4>>2]=-1;J[d+8>>2]=J[a+28>>2];J[d+12>>2]=J[a+20>>2];if(!J[b+4>>2]){J[b+4>>2]=d+4}e=J[a+24>>2];f=Q(va[J[J[e>>2]+12>>2]](e,b,c));N[a+4>>2]=N[J[a+24>>2]+4>>2];ta=d+16|0;return Q(f)}function to(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0;c=(e=b,f=va[J[J[a>>2]+16>>2]](a)|0,g=1,d=J[J[b>>2]+16>>2],va[d](e|0,f|0,g|0)|0);g=b,f=c,e=va[J[J[a>>2]+20>>2]](a,J[c+8>>2],b)|0,h=1245859651,i=a,d=J[J[b>>2]+20>>2],va[d](g|0,f|0,e|0,h|0,i|0)}function Ql(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0;c=(e=b,f=va[J[J[a>>2]+52>>2]](a)|0,g=1,d=J[J[b>>2]+16>>2],va[d](e|0,f|0,g|0)|0);g=b,f=c,e=va[J[J[a>>2]+56>>2]](a,J[c+8>>2],b)|0,h=1346455635,i=a,d=J[J[b>>2]+20>>2],va[d](g|0,f|0,e|0,h|0,i|0)}function Qi(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0;c=(e=b,f=va[J[J[a>>2]+16>>2]](a)|0,g=1,d=J[J[b>>2]+16>>2],va[d](e|0,f|0,g|0)|0);g=b,f=c,e=va[J[J[a>>2]+20>>2]](a,J[c+8>>2],b)|0,h=1497645650,i=a,d=J[J[b>>2]+20>>2],va[d](g|0,f|0,e|0,h|0,i|0)}function jd(a,b){var c=Q(0),d=Q(0),e=Q(0),f=Q(0);a=ec(a);J[a+4>>2]=0;J[a>>2]=18144;d=N[b>>2];e=N[b+4>>2];c=N[b+8>>2];J[a+48>>2]=0;f=Q(c*N[a+28>>2]);c=N[a+52>>2];N[a+44>>2]=f-c;N[a+40>>2]=Q(e*N[a+24>>2])-c;N[a+36>>2]=Q(d*N[a+20>>2])-c;Ac(a,b);return a}function Wr(a){a=a|0;J[a+4>>2]=0;J[a+8>>2]=0;J[a>>2]=1065353216;J[a+12>>2]=0;J[a+16>>2]=0;J[a+24>>2]=0;J[a+28>>2]=0;J[a+20>>2]=1065353216;J[a+32>>2]=0;J[a+36>>2]=0;J[a+44>>2]=0;J[a+48>>2]=0;J[a+40>>2]=1065353216;J[a+52>>2]=0;J[a+56>>2]=0;J[a+60>>2]=0}function Th(a){a=Q(a);var b=0;b=_a(Ga(60));J[b+32>>2]=0;J[b+36>>2]=0;J[b+20>>2]=1065353216;J[b+24>>2]=1065353216;J[b+4>>2]=8;J[b>>2]=21412;J[b+56>>2]=0;N[b+52>>2]=a;J[b+28>>2]=1065353216;J[b+40>>2]=0;J[b+44>>2]=0;J[b+48>>2]=0;N[b+36>>2]=a;return b|0}function Pf(a,b,c){var d=0,e=0;J[a+20>>2]=0;J[a+4>>2]=c;J[a>>2]=b;c=Ga(P(b,c));J[a+12>>2]=c;J[a+16>>2]=c;b=J[a+4>>2];J[a+8>>2]=b;d=b-1|0;a:{if(!d){b=c;break a}e=J[a>>2];while(1){b=c+e|0;J[c>>2]=b;c=b;d=d-1|0;if(d){continue}break}}J[b>>2]=0;return a}function Gi(a){a=a|0;var b=0,c=0;if(J[a+248>>2]>0){while(1){b=J[J[a+256>>2]+(c<<2)>>2];J[b+472>>2]=0;J[b+476>>2]=0;J[b+496>>2]=0;J[b+500>>2]=0;J[b+488>>2]=0;J[b+492>>2]=0;J[b+480>>2]=0;J[b+484>>2]=0;c=c+1|0;if((c|0)>2]){continue}break}}}function qr(a){a=a|0;J[a+372>>2]=0;J[a+376>>2]=0;J[a+472>>2]=0;J[a+476>>2]=0;J[a+396>>2]=0;J[a+400>>2]=0;J[a+388>>2]=0;J[a+392>>2]=0;J[a+380>>2]=0;J[a+384>>2]=0;J[a+480>>2]=0;J[a+484>>2]=0;J[a+488>>2]=0;J[a+492>>2]=0;J[a+496>>2]=0;J[a+500>>2]=0}function Gr(a,b){a=a|0;b=b|0;var c=0,d=Q(0);c=J[b+4>>2];J[a+408>>2]=J[b>>2];J[a+412>>2]=c;c=J[b+12>>2];J[a+416>>2]=J[b+8>>2];J[a+420>>2]=c;J[a+632>>2]=0;d=N[a+404>>2];N[a+624>>2]=d*N[a+412>>2];N[a+620>>2]=d*N[a+408>>2];N[a+628>>2]=d*N[a+416>>2]}function Bm(a,b,c){a=a|0;b=b|0;c=c|0;var d=Q(0),e=Q(0),f=Q(0),g=Q(0),h=Q(0),i=Q(0);d=N[b+40>>2];e=N[b+44>>2];g=N[c+4>>2];h=N[c+8>>2];f=N[b+36>>2];i=N[c>>2];J[a+12>>2]=0;N[a>>2]=i>=Q(0)?f:Q(-f);N[a+8>>2]=h>=Q(0)?e:Q(-e);N[a+4>>2]=g>=Q(0)?d:Q(-d)}function sj(a,b,c){a=a|0;b=b|0;c=c|0;var d=Q(0);a:{if((c|0)!=5&(c|0)!=-1){break a}b:{switch(b-1|0){case 1:return Q(N[a+764>>2]);case 3:return Q(N[a+760>>2]);case 2:return Q(N[a+752>>2]);case 0:break b;default:break a}}d=N[a+756>>2]}return Q(d)}function Eo(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0;f=ta-16|0;ta=f;J[f+12>>2]=d;J[f+8>>2]=a;a=J[((((e|0)==1?76:5260)+a|0)+P(J[J[b+4>>2]+4>>2],144)|0)+(J[J[c+4>>2]+4>>2]<<2)>>2];a=va[J[J[a>>2]+8>>2]](a,f+8|0,b,c)|0;ta=f+16|0;return a|0}function ek(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=J[b+4>>2];J[a+52>>2]=J[b>>2];J[a+56>>2]=d;d=J[b+12>>2];J[a+60>>2]=J[b+8>>2];J[a+64>>2]=d;b=J[c+4>>2];J[a+68>>2]=J[c>>2];J[a+72>>2]=b;b=J[c+12>>2];J[a+76>>2]=J[c+8>>2];J[a+80>>2]=b;J[a+48>>2]=1}function jm(a,b){a=a|0;b=b|0;var c=Q(0),d=0,e=Q(0),f=Q(0);d=va[J[J[a>>2]+28>>2]](a)|0;c=Q(N[d+8>>2]-N[b+8>>2]);e=Q(c*c);c=Q(N[d>>2]-N[b>>2]);f=Q(c*c);c=Q(N[d+4>>2]-N[b+4>>2]);if(Q(e+Q(f+Q(c*c)))>Q(1.1920928955078125e-7)){Xc(a,b);xf(a)}}function Xe(a){a=_a(a);H[a+96|0]=0;J[a+80>>2]=-1082130432;J[a+84>>2]=-1082130432;J[a+64>>2]=1065353216;J[a+68>>2]=1065353216;J[a>>2]=21008;J[a+60>>2]=0;J[a+88>>2]=-1082130432;J[a+92>>2]=0;J[a+72>>2]=1065353216;J[a+76>>2]=0;return a}function Mt(a,b){a=Q(a);b=Q(b);var c=0;c=_a(Ga(84));N[c+68>>2]=b;N[c+64>>2]=a;J[c>>2]=19404;J[c+72>>2]=0;J[c+76>>2]=1;J[c+4>>2]=11;N[c+36>>2]=a;J[c+80>>2]=2;N[c+44>>2]=a;N[c+40>>2]=b;N[c+60>>2]=a/Q(Y(Q(Q(a*a)+Q(b*b))));return c|0}function ac(a){H[a+356|0]=1;J[a>>2]=0;H[a+312|0]=0;J[a+292>>2]=1566444395;J[a+296>>2]=1566444395;J[a+336>>2]=0;J[a+340>>2]=0;J[a+300>>2]=1566444395;J[a+304>>2]=0;J[a+344>>2]=0;J[a+348>>2]=0;H[a+352|0]=0;H[a+332|0]=K[a+332|0]&240}function Fi(a){a=a|0;var b=0,c=0,d=0;b=J[a+248>>2];if((b|0)>0){while(1){a:{b:{d=J[J[a+256>>2]+(c<<2)>>2];switch(J[d+220>>2]-2|0){case 0:case 3:break a;default:break b}}re(d);b=J[a+248>>2]}c=c+1|0;if((b|0)>(c|0)){continue}break}}}function lp(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;a=J[b+20>>2];J[c>>2]=J[b+16>>2];J[c+4>>2]=a;a=J[b+28>>2];J[c+8>>2]=J[b+24>>2];J[c+12>>2]=a;a=J[b+44>>2];J[d+8>>2]=J[b+40>>2];J[d+12>>2]=a;a=J[b+36>>2];J[d>>2]=J[b+32>>2];J[d+4>>2]=a}function dk(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=J[a+56>>2];J[b>>2]=J[a+52>>2];J[b+4>>2]=d;d=J[a+64>>2];J[b+8>>2]=J[a+60>>2];J[b+12>>2]=d;b=J[a+80>>2];J[c+8>>2]=J[a+76>>2];J[c+12>>2]=b;b=J[a+72>>2];J[c>>2]=J[a+68>>2];J[c+4>>2]=b}function tp(a,b){a=a|0;b=b|0;var c=0,d=0;c=ta-16|0;ta=c;J[c+12>>2]=b;b=J[a+76>>2];a=ta-16|0;ta=a;if(!(H[34076]&1)){d=fa(2,32332)|0;H[34076]=1;J[8518]=d}d=J[8518];J[a+8>>2]=J[c+12>>2];ea(d|0,b|0,4682,a+8|0);ta=a+16|0;ta=c+16|0}function Um(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;a=J[b>>2];a=xb(va[J[J[a>>2]+56>>2]](a,16)|0,b);J[a+12>>2]=0;H[a+8|0]=0;J[a>>2]=17928;b=J[a+4>>2];b=va[J[J[b>>2]+12>>2]](b,J[c+8>>2],J[d+8>>2])|0;H[a+8|0]=1;J[a+12>>2]=b;return a|0}function ob(a,b){var c=0,d=0,e=0,f=0,g=0;c=qh(b);if(c>>>0<2147483632){a:{if(c>>>0<=10){H[a+11|0]=c;d=a;break a}e=(c|15)+1|0;d=Ra(e);J[a+8>>2]=e|-2147483648;J[a>>2]=d;J[a+4>>2]=c}f=Sd(d,b,c)+c|0,g=0,H[f|0]=g;return}ga();D()}function Xf(a){var b=0,c=0,d=0,e=0;d=J[a+52>>2];if((d|0)>0){while(1){e=c<<2;b=J[e+J[a+60>>2]>>2];if(b){va[J[J[b>>2]>>2]](b)|0;b=J[a+4>>2];va[J[J[b>>2]+60>>2]](b,J[J[a+60>>2]+e>>2])}c=c+1|0;if((d|0)!=(c|0)){continue}break}}}function Be(a,b,c){var d=0;Ee(a);d=J[a+248>>2];J[b>>2]=J[a+244>>2];J[b+4>>2]=d;d=J[a+256>>2];J[b+8>>2]=J[a+252>>2];J[b+12>>2]=d;b=J[a+272>>2];J[c+8>>2]=J[a+268>>2];J[c+12>>2]=b;b=J[a+264>>2];J[c>>2]=J[a+260>>2];J[c+4>>2]=b}function lj(a,b,c,d){a=a|0;b=b|0;c=Q(c);d=d|0;a:{if((d|0)!=-1){break a}b:{c:{switch(b-1|0){case 0:case 1:d=a+336|0;b=1;break b;case 2:case 3:break c;default:break a}}d=a+340|0;b=2}N[d>>2]=c;J[a+332>>2]=b|J[a+332>>2]}}function kj(a,b,c){a=a|0;b=b|0;c=c|0;var d=Q(0);d=Q(34028234663852886e22);a:{if((c|0)!=-1){break a}b:{switch(b-1|0){case 0:case 1:return Q(N[a+336>>2]);case 2:case 3:break b;default:break a}}d=N[a+340>>2]}return Q(d)}function Rl(a){a=a|0;var b=0,c=Q(0),d=Q(0),e=Q(0);b=ta-32|0;ta=b;va[J[J[a>>2]+12>>2]](a,b+16|0,b+12|0);ta=b+32|0;c=N[b+24>>2];d=Q(c*c);c=N[b+16>>2];e=Q(c*c);c=N[b+20>>2];return Q(Q(N[b+12>>2]+Q(Y(Q(d+Q(e+Q(c*c)))))))}function Ut(a,b,c,d){var e=0,f=0,g=0,h=0,i=0,j=0;e=c>>>16|0;f=a>>>16|0;j=P(e,f);g=c&65535;h=a&65535;i=P(g,h);f=(i>>>16|0)+P(f,g)|0;e=(f&65535)+P(e,h)|0;ua=(P(b,c)+j|0)+P(a,d)+(f>>>16)+(e>>>16)|0;return i&65535|e<<16}function Ye(a){var b=0,c=0;c=J[a+4>>2];if((c|0)>0){while(1){Ha(J[a+12>>2]+P(b,36)|0);b=b+1|0;if((c|0)!=(b|0)){continue}break}}b=J[a+12>>2];if(!(!b|!K[a+16|0])){Fa(b)}J[a+12>>2]=0;H[a+16|0]=1;J[a+4>>2]=0;J[a+8>>2]=0}function mn(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=J[a+84>>2];d=J[c+8>>2];if((d|0)>0){a=0;while(1){e=J[(J[c+16>>2]+P(a,12)|0)+8>>2];if(e){va[J[J[e>>2]+16>>2]](e,b);d=J[c+8>>2]}a=a+1|0;if((d|0)>(a|0)){continue}break}}}function ro(a,b){a=a|0;b=b|0;var c=0,d=0;d=J[a+288>>2];c=d;a:{if((d|0)<=0){break a}a=J[a+296>>2];c=0;while(1){if(J[a+(c<<2)>>2]==(b|0)){break a}c=c+1|0;if((d|0)!=(c|0)){continue}break}c=d}return(c|0)>=(d|0)|0}function Rd(a,b,c){var d=0;d=J[a+16>>2];if(!d){J[a+36>>2]=1;J[a+24>>2]=c;J[a+16>>2]=b;return}a:{if((b|0)==(d|0)){if(J[a+24>>2]!=2){break a}J[a+24>>2]=c;return}H[a+54|0]=1;J[a+24>>2]=2;J[a+36>>2]=J[a+36>>2]+1}}function Vh(a,b,c){a=a|0;b=b|0;c=c|0;a=0;a:{if(!(J[c+8>>2]&J[b+4>>2])|!(J[b+8>>2]&J[c+4>>2])){break a}b=J[b>>2];c=J[c>>2];if(H[b+204|0]&1&(H[c+204|0]&1)|J[b+220>>2]==2&J[c+220>>2]==2){break a}a=1}return a|0}function Fk(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=J[a+40>>2];va[J[J[d>>2]+56>>2]](d,b,c)|0;J[b+4>>2]=22;c=b+60|0;a=a+24|0;b=0;while(1){d=b<<2;N[d+c>>2]=N[a+d>>2];b=b+1|0;if((b|0)!=4){continue}break}return 8890}function zo(a,b){a=a|0;b=b|0;var c=0;a:{if(!b){break a}a=J[a+68>>2];c=J[a+16>>2];if(c>>>0>b>>>0|P(J[a>>2],J[a+4>>2])+c>>>0<=b>>>0){break a}J[b>>2]=J[a+12>>2];J[a+12>>2]=b;J[a+8>>2]=J[a+8>>2]+1;return}Fa(b)}function Ec(a,b,c,d){J[a+44>>2]=0;J[a+36>>2]=0;J[a+40>>2]=1028443341;J[a+32>>2]=d;J[a+28>>2]=c;J[a+24>>2]=-1;I[a+20>>1]=1;J[a+16>>2]=2139095039;J[a+8>>2]=-1;J[a+12>>2]=-1;J[a+4>>2]=b;J[a>>2]=23868;return a}function _a(a){J[a+12>>2]=0;J[a+16>>2]=0;J[a+4>>2]=35;J[a+8>>2]=0;J[a>>2]=19668;J[a+52>>2]=1025758986;J[a+20>>2]=1065353216;J[a+24>>2]=1065353216;J[a>>2]=19532;J[a+28>>2]=1065353216;J[a+32>>2]=0;return a}function Rh(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=J[b>>2];d=J[a+88>>2];if(!(!(J[b+8>>2]&J[a+8>>2])|(!(J[a+12>>2]&J[b+4>>2])|(c|0)==(d|0)))){a=J[J[a+92>>2]+24>>2];e=va[J[J[a>>2]+28>>2]](a,d,c)|0}return e|0}function yr(a,b){a=a|0;b=b|0;var c=Q(0),d=Q(0);c=N[b+8>>2];d=N[b+4>>2];N[a+488>>2]=Q(N[b>>2]*N[a+604>>2])+N[a+488>>2];N[a+492>>2]=Q(d*N[a+608>>2])+N[a+492>>2];N[a+496>>2]=Q(c*N[a+612>>2])+N[a+496>>2]}function zk(a,b,c){a=a|0;b=Q(b);c=c|0;var d=Q(0),e=Q(0);d=Q(va[J[J[a>>2]+48>>2]](a));e=Q(va[J[J[a>>2]+48>>2]](a));J[c+12>>2]=0;b=Q(e*Q(d*Q(b*Q(.4000000059604645))));N[c+8>>2]=b;N[c+4>>2]=b;N[c>>2]=b}function lb(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=va[J[J[c>>2]+40>>2]](c,a)|0;e=va[J[J[c>>2]+28>>2]](c,d)|0;J[b>>2]=e;if(e){va[J[J[c>>2]+48>>2]](c,d)}a=J[a+4>>2];J[b+8>>2]=0;J[b+4>>2]=a;return 8819}function fe(a,b){var c=0,d=0,e=0;d=ta-16|0;ta=d;Na(4100);if(J[a+296>>2]>0){while(1){e=J[J[a+304>>2]+(c<<2)>>2];va[J[J[e>>2]+8>>2]](e,a,b);c=c+1|0;if((c|0)>2]){continue}break}}Ma();ta=d+16|0}function Kb(a){a:{switch(J[a+4>>2]){case 8:return Q(N[a+36>>2]*N[a+20>>2]);case 0:case 1:case 4:case 5:case 10:case 11:case 13:return N[a+52>>2];default:break a}}return Q(va[J[J[a>>2]+48>>2]](a))}function Sh(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0;a=J[c>>2];a=J[a+252>>2]==4?a:0;e=J[b>>2];if(!(!e|J[e+252>>2]!=4)){va[J[J[e>>2]+32>>2]](e,c,d,b)}if(a){va[J[J[a>>2]+32>>2]](a,b,d,c)}return 0}function wk(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;J[c+8>>2]=-581039253;J[c+12>>2]=0;J[c>>2]=-581039253;J[c+4>>2]=-581039253;J[d+8>>2]=1566444395;J[d+12>>2]=0;J[d>>2]=1566444395;J[d+4>>2]=1566444395}function ai(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=J[b>>2];d=J[a+84>>2];if(!(!(J[b+8>>2]&J[a+8>>2])|(!(J[a+12>>2]&J[b+4>>2])|(c|0)==(d|0)))){a=J[a+96>>2];e=va[J[J[a>>2]+28>>2]](a,d,c)|0}return e|0}function Ac(a,b){var c=Q(0),d=Q(0),e=0;c=N[b+4>>2];d=N[b>>2];e=c>d;c=Q(N[((N[b+8>>2]>(e?d:c)?!e:2)<<2)+b>>2]*Q(.10000000149011612));if(Q(va[J[J[a>>2]+48>>2]](a))>c){va[J[J[a>>2]+44>>2]](a,c)}}function pn(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=J[a+52>>2];if((c|0)>0){while(1){e=J[J[a+60>>2]+(d<<2)>>2];if(e){va[J[J[e>>2]+16>>2]](e,b);c=J[a+52>>2]}d=d+1|0;if((c|0)>(d|0)){continue}break}}}function Fd(a){var b=0;b=J[a>>2];if(b){Ed(a,b)}Fa(J[a+4>>2]);J[a+4>>2]=0;J[a+8>>2]=-1;b=J[a+32>>2];if(!(!b|!K[a+36|0])){Fa(b)}J[a+32>>2]=0;H[a+36|0]=1;J[a+16>>2]=0;J[a+24>>2]=0;J[a+28>>2]=0}function re(a){if(!(K[a+204|0]&3)){N[a+472>>2]=Q(N[a+424>>2]*N[a+408>>2])+N[a+472>>2];N[a+476>>2]=Q(N[a+428>>2]*N[a+412>>2])+N[a+476>>2];N[a+480>>2]=Q(N[a+432>>2]*N[a+416>>2])+N[a+480>>2]}}function st(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0;f=J[a+32>>2];e=J[a+24>>2];a:{while(1){if((e|0)<=0){break a}e=e-1|0;if(J[(P(e,80)+f|0)+64>>2]!=(b|0)){continue}break}sf(a,e,c,d)}}function rh(a,b){var c=0,d=0;c=K[a|0];d=K[b|0];a:{if(!c|(d|0)!=(c|0)){break a}while(1){d=K[b+1|0];c=K[a+1|0];if(!c){break a}b=b+1|0;a=a+1|0;if((c|0)==(d|0)){continue}break}}return c-d|0}function kt(a,b){a=a|0;b=b|0;var c=0,d=0;c=J[a+100>>2];J[a+100>>2]=c+1;d=J[b+12>>2];c=(c<<4)+a|0;J[c+112>>2]=J[b+8>>2];J[c+116>>2]=d;d=J[b+4>>2];J[c+104>>2]=J[b>>2];J[c+108>>2]=d;dc(a)}function ke(a){a=a|0;var b=0,c=0;J[a>>2]=24052;Ha(a+44|0);Ha(a+24|0);b=a+4|0;c=J[b+12>>2];if(!(!c|!K[b+16|0])){Fa(c)}J[b+12>>2]=0;H[b+16|0]=1;J[b+4>>2]=0;J[b+8>>2]=0;Ha(b);return a|0}function Uh(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;a=J[c>>2];a=J[a+252>>2]==4?a:0;d=J[b>>2];if(!(!d|J[d+252>>2]!=4)){va[J[J[d>>2]+28>>2]](d,c,b)}if(a){va[J[J[a>>2]+28>>2]](a,b,c)}return 0}function oh(a,b){var c=0;a:{if(!b){break a}b=bb(b,30324);if(!b|J[b+8>>2]&(J[a+8>>2]^-1)){break a}if(!Sa(J[a+12>>2],J[b+12>>2],0)){break a}c=Sa(J[a+16>>2],J[b+16>>2],0)}return c}function Yb(a){var b=Q(0);b=Za(Q(N[a>>2]+N[a+4>>2]));if(bQ(3.1415927410125732)?Q(b+Q(-6.2831854820251465)):b}function Xb(a){var b=Q(0);b=Za(Q(N[a>>2]-N[a+4>>2]));if(bQ(3.1415927410125732)?Q(b+Q(-6.2831854820251465)):b}function bs(a,b,c,d){a=a|0;b=Q(b);c=Q(c);d=Q(d);var e=0;e=ta-128|0;ta=e;va[J[J[a>>2]+8>>2]](e,a);N[e+120>>2]=d;N[e+116>>2]=c;N[e+112>>2]=b;va[J[J[a>>2]+12>>2]](a,e);ta=e+128|0}function cs(a,b,c,d){a=a|0;b=Q(b);c=Q(c);d=Q(d);var e=0;e=ta-128|0;ta=e;va[J[J[a>>2]+8>>2]](e,a);N[e+104>>2]=d;N[e+100>>2]=c;N[e+96>>2]=b;va[J[J[a>>2]+12>>2]](a,e);ta=e+128|0}function Bb(a){var b=0,c=0;b=J[8332];c=a+7&-8;a=b+c|0;a:{if(a>>>0<=b>>>0?c:0){break a}if(a>>>0>wa()<<16>>>0){if(!(na(a|0)|0)){break a}}J[8332]=a;return b}J[9595]=48;return-1}function xm(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0;if(b>>>0<=11){b=b<<2;e=J[b+18420>>2];b=J[b+18372>>2]}else{b=0}va[J[J[a>>2]+108>>2]](a,b,c);va[J[J[a>>2]+108>>2]](a,e,d)}function hs(a,b,c,d){a=a|0;b=Q(b);c=Q(c);d=Q(d);var e=0;e=ta-128|0;ta=e;va[J[J[a>>2]+8>>2]](e,a);N[e+24>>2]=d;N[e+20>>2]=c;N[e+16>>2]=b;va[J[J[a>>2]+12>>2]](a,e);ta=e+128|0}function gs(a,b,c,d){a=a|0;b=Q(b);c=Q(c);d=Q(d);var e=0;e=ta-128|0;ta=e;va[J[J[a>>2]+8>>2]](e,a);N[e+40>>2]=d;N[e+36>>2]=c;N[e+32>>2]=b;va[J[J[a>>2]+12>>2]](a,e);ta=e+128|0}function fs(a,b,c,d){a=a|0;b=Q(b);c=Q(c);d=Q(d);var e=0;e=ta-128|0;ta=e;va[J[J[a>>2]+8>>2]](e,a);N[e+56>>2]=d;N[e+52>>2]=c;N[e+48>>2]=b;va[J[J[a>>2]+12>>2]](a,e);ta=e+128|0}function es(a,b,c,d){a=a|0;b=Q(b);c=Q(c);d=Q(d);var e=0;e=ta-128|0;ta=e;va[J[J[a>>2]+8>>2]](e,a);N[e+72>>2]=d;N[e+68>>2]=c;N[e+64>>2]=b;va[J[J[a>>2]+12>>2]](a,e);ta=e+128|0}function ds(a,b,c,d){a=a|0;b=Q(b);c=Q(c);d=Q(d);var e=0;e=ta-128|0;ta=e;va[J[J[a>>2]+8>>2]](e,a);N[e+88>>2]=d;N[e+84>>2]=c;N[e+80>>2]=b;va[J[J[a>>2]+12>>2]](a,e);ta=e+128|0}function fg(a){a=a|0;var b=0,c=0;J[a>>2]=15108;a:{if(!K[a+52|0]){break a}b=J[a+56>>2];if(!b){break a}c=J[a+4>>2];va[J[J[c>>2]+16>>2]](c,b)}Ha(a+32|0);Ha(a+12|0);return a|0}function rr(a){a=a|0;var b=0,c=Q(0),d=0;b=J[a+220>>2];a:{if((b|0)==4){break a}c=N[8331];if(K[38297]|c==Q(0)){break a}d=1;if((b&-2)==2){break a}d=N[a+224>>2]>c}return d|0}function dp(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;if((b|0)!=(c|0)){d=J[J[a+4>>2]+96>>2];va[J[J[d>>2]+8>>2]](d,J[b+36>>2],J[c+36>>2])|0;a=J[a+4>>2];J[a+120>>2]=J[a+120>>2]+1}}function js(a,b,c,d){a=a|0;b=Q(b);c=Q(c);d=Q(d);var e=0;e=ta-128|0;ta=e;va[J[J[a>>2]+8>>2]](e,a);N[e+8>>2]=d;N[e+4>>2]=c;N[e>>2]=b;va[J[J[a>>2]+12>>2]](a,e);ta=e+128|0}function ve(a){a=a|0;J[a>>2]=23728;Ha(a+192|0);Ha(a+164|0);Ha(a+144|0);Ha(a+124|0);Ha(a+104|0);Ha(a+84|0);Ha(a- -64|0);Ha(a+44|0);Ha(a+24|0);Ha(a+4|0);return a|0}function Ch(a,b,c){a=a|0;b=b|0;c=c|0;var d=Q(0),e=0;d=Q(1);e=J[b>>2];if(!((e|0)==J[a+88>>2]|K[e+204|0]&4)){J[a+84>>2]=J[J[b+4>>2]+8>>2];d=sc(a,b,c)}return Q(d)}function ph(a,b,c,d){var e=0,f=0;f=J[a+4>>2];e=0;a:{if(!c){break a}e=f>>8;if(!(f&1)){break a}e=Qd(J[c>>2],e)}a=J[a>>2];va[J[J[a>>2]+28>>2]](a,b,c+e|0,f&2?d:2)}function ps(a,b,c){a=a|0;b=b|0;c=Q(c);a:{if((b|0)<=2){a=a+680|0;N[(a+(b<<2)|0)+140>>2]=c;H[(a+b|0)+156|0]=1;break a}a=P(b,88)+a|0;H[a+760|0]=1;N[a+756>>2]=c}}function os(a,b,c){a=a|0;b=b|0;c=Q(c);a:{if((b|0)<=2){a=a+680|0;N[(a+(b<<2)|0)+160>>2]=c;H[(a+b|0)+176|0]=1;break a}a=P(b,88)+a|0;H[a+768|0]=1;N[a+764>>2]=c}}function _g(a,b){a=a|0;b=b|0;var c=0;if(!(J[a+12>>2]&J[b+4>>2])){return 0}c=1;a:{if(K[a+152|0]){break a}a=J[b>>2];if(!a){break a}c=!(K[a+204|0]&4)}return c|0}function _d(a){var b=0,c=0;a=mc(a);J[a+252>>2]=4;J[a>>2]=25244;J[a+336>>2]=0;H[a+340|0]=1;J[a+328>>2]=0;J[a+332>>2]=0;b=a,c=Ag(Ga(72)),J[b+344>>2]=c;return a}function Fr(a,b){a=a|0;b=b|0;var c=0;J[a+304>>2]=J[a+304>>2]+1;c=J[b+4>>2];J[a+604>>2]=J[b>>2];J[a+608>>2]=c;c=J[b+12>>2];J[a+612>>2]=J[b+8>>2];J[a+616>>2]=c}function Br(a,b){a=a|0;b=b|0;var c=0;J[a+304>>2]=J[a+304>>2]+1;c=J[b+4>>2];J[a+372>>2]=J[b>>2];J[a+376>>2]=c;c=J[b+12>>2];J[a+380>>2]=J[b+8>>2];J[a+384>>2]=c}function Ar(a,b){a=a|0;b=b|0;var c=0;J[a+304>>2]=J[a+304>>2]+1;c=J[b+4>>2];J[a+388>>2]=J[b>>2];J[a+392>>2]=c;c=J[b+12>>2];J[a+396>>2]=J[b+8>>2];J[a+400>>2]=c}function $g(a,b){a=a|0;b=b|0;var c=0;if(!(J[a+12>>2]&J[b+4>>2])){return 0}c=1;a:{if(K[a+88|0]){break a}a=J[b>>2];if(!a){break a}c=!(K[a+204|0]&4)}return c|0}function cb(a){var b=0,c=0;b=a*a;c=b*a;return Q(c*(b*b)*(b*2718311493989822e-21+-.00019839334836096632)+(c*(b*.008333329385889463+-.16666666641626524)+a))}function ri(a,b){a=a|0;b=b|0;var c=0;c=ta-16|0;ta=c;J[c+12>>2]=b;jb(a+224|0,c+12|0);a=J[c+12>>2];ne(J[a+28>>2],a);a=J[c+12>>2];ne(J[a+32>>2],a);ta=c+16|0}function hl(a){a=a|0;var b=Q(0),c=Q(0);b=N[a+36>>2];c=Q(va[J[J[a>>2]+48>>2]](a));Q(va[J[J[a>>2]+48>>2]](a));Q(va[J[J[a>>2]+48>>2]](a));return Q(Q(b+c))}function Vo(a,b,c){a=a|0;b=b|0;c=c|0;a:{if(!c){break a}a=J[b+8>>2];if(!a){break a}va[J[J[a>>2]>>2]](a)|0;va[J[J[c>>2]+60>>2]](c,J[b+8>>2]);J[b+8>>2]=0}}function Rp(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=Q(f);va[J[J[a>>2]+16>>2]](a,b,c,e);va[J[J[a>>2]+16>>2]](a,c,d,e);va[J[J[a>>2]+16>>2]](a,d,b,e)}function Bo(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0;e=ta-16|0;ta=e;J[e+12>>2]=a;J[e+8>>2]=c;J[e+4>>2]=12960;va[J[J[b>>2]+48>>2]](b,e+4|0,d);ta=e+16|0}function sl(a,b){a=a|0;b=b|0;var c=0,d=0;d=J[b+4>>2];c=J[a+100>>2];J[c+4>>2]=J[b>>2];J[c+8>>2]=d;d=J[b+12>>2];J[c+12>>2]=J[b+8>>2];J[c+16>>2]=d;dc(a)}function sd(a){a=a|0;var b=0;J[a>>2]=15740;b=J[a+48>>2];va[J[J[b>>2]+20>>2]](b,J[a+64>>2]);b=J[a+48>>2];va[J[J[b>>2]+16>>2]](b,J[a+64>>2]);return a|0}function Cb(a){return Q(Q(Q(Q(a*Q(Q(a*Q(-.008656363002955914))+Q(-.04274342209100723)))+Q(.16666586697101593))*a)/Q(Q(a*Q(-.7066296339035034))+Q(1)))}function Xc(a,b){a=a|0;b=b|0;var c=0,d=0;d=J[b+4>>2];c=J[a+56>>2];J[c+4>>2]=J[b>>2];J[c+8>>2]=d;d=J[b+12>>2];J[c+12>>2]=J[b+8>>2];J[c+16>>2]=d;Se(a)}function Uo(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=ta-16|0;ta=d;J[d+12>>2]=c;J[d+8>>2]=a;J[d+4>>2]=b;J[d>>2]=12492;va[J[J[a>>2]+48>>2]](a,d,c);ta=d+16|0}function Rf(a){a=a|0;var b=0,c=0;J[a>>2]=16620;a:{if(!K[a+8|0]){break a}b=J[a+12>>2];if(!b){break a}c=J[a+4>>2];va[J[J[c>>2]+16>>2]](c,b)}return a|0}function Qf(a){a=a|0;var b=0,c=0;J[a>>2]=16692;a:{if(!K[a+8|0]){break a}b=J[a+12>>2];if(!b){break a}c=J[a+4>>2];va[J[J[c>>2]+16>>2]](c,b)}return a|0}function Mf(a){a=a|0;var b=0,c=0;J[a>>2]=17928;a:{if(!K[a+8|0]){break a}b=J[a+12>>2];if(!b){break a}c=J[a+4>>2];va[J[J[c>>2]+16>>2]](c,b)}return a|0}function Lf(a){a=a|0;var b=0,c=0;J[a>>2]=18004;a:{if(!K[a+8|0]){break a}b=J[a+12>>2];if(!b){break a}c=J[a+4>>2];va[J[J[c>>2]+16>>2]](c,b)}return a|0}function Lb(a,b){a=a|0;b=b|0;var c=Q(0),d=Q(0),e=Q(0);c=N[b>>2];d=N[b+4>>2];e=N[b+8>>2];J[a+32>>2]=0;N[a+28>>2]=R(e);N[a+24>>2]=R(d);N[a+20>>2]=R(c)}function wn(a,b,c){a=a|0;b=b|0;c=c|0;a=(b<<4)+a|0;b=J[a+76>>2];J[c+8>>2]=J[a+72>>2];J[c+12>>2]=b;a=a- -64|0;b=J[a+4>>2];J[c>>2]=J[a>>2];J[c+4>>2]=b}function Ct(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;if(Sa(a,J[b+8>>2],f)){Pd(b,c,d,e);return}a=J[a+8>>2];va[J[J[a>>2]+20>>2]](a,b,c,d,e,f)}function uf(a,b,c){a=_a(a);N[a+52>>2]=b;J[a>>2]=19132;J[a+60>>2]=1;J[a+4>>2]=10;N[a+36>>2]=b;J[a+48>>2]=0;N[a+44>>2]=b;N[a+40>>2]=c*Q(.5);return a}function sh(a){var b=0,c=0;c=a>>>23&255;b=0;a:{if(c>>>0<127){break a}b=2;if(c>>>0>150){break a}c=1<<150-c;b=0;if(c-1&a){break a}b=a&c?1:2}return b}function Lo(a,b){a=a|0;b=b|0;var c=0;c=J[a+4>>2];if(!((c|0)!=J[b>>2]&(c|0)!=J[b+4>>2])){c=J[a+8>>2];va[J[J[c>>2]+32>>2]](c,b,J[a+12>>2])}return 0}function mk(a,b,c){a=a|0;b=b|0;c=c|0;a=(b<<4)+a|0;b=J[a+116>>2];J[c+8>>2]=J[a+112>>2];J[c+12>>2]=b;b=J[a+108>>2];J[c>>2]=J[a+104>>2];J[c+4>>2]=b}function tn(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;qd(a,c);b=J[a+76>>2];J[d+8>>2]=J[a+72>>2];J[d+12>>2]=b;b=J[a+68>>2];J[d>>2]=J[a+64>>2];J[d+4>>2]=b}function Do(a,b,c){a=a|0;b=b|0;c=c|0;a=0;b=J[b+204>>2];a:{if(b&4){break a}c=J[c+204>>2];if(c&4){break a}if(!(b&3)){return 1}a=!(c&3)}return a|0}function db(a){var b=0;a=a*a;b=a*a;return Q(a*b*(a*2439044879627741e-20+-.001388676377460993)+(b*.04166662332373906+(a*-.499999997251031+1)))}function zm(a,b,c){a=a|0;b=b|0;c=c|0;if(b>>>0<=5){J[c+12>>2]=0;a=b<<2;N[c+8>>2]=N[a+18348>>2];N[c+4>>2]=N[a+18324>>2];N[c>>2]=N[a+18300>>2]}}function De(a,b){var c=0,d=0;d=Ee(a);c=J[a+288>>2];J[b+8>>2]=J[a+284>>2];J[b+12>>2]=c;c=J[a+280>>2];J[b>>2]=J[a+276>>2];J[b+4>>2]=c;return d}function qt(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0;f=J[a+32>>2];J[f>>2]=J[f>>2]+1;Zc(a,Yc(a,b,e));Zc(a,Yc(a,c,e));Zc(a,Yc(a,d,e))}function Sq(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0;f=J[a>>2];a=J[a+4>>2];b=(a>>1)+b|0;if(a&1){f=J[f+J[b>>2]>>2]}va[f|0](b,c,d,e)}function Kk(a,b,c,d,e){a=a|0;b=Q(b);c=Q(c);d=Q(d);e=Q(e);N[a+232>>2]=b;N[a+236>>2]=d;N[a+228>>2]=c;N[a+240>>2]=e;J[a+304>>2]=J[a+304>>2]+4}function Cr(){if(!K[33740]){J[8415]=-1;J[8416]=0;J[8413]=1065353216;J[8414]=-1;H[33736]=1;J[8433]=0;J[8412]=31056;H[33740]=1}return 33648}function rm(){if(!K[33484]){J[8349]=1065353216;J[8350]=0;H[33480]=1;J[8369]=0;J[8348]=30904;J[8351]=-1;J[8352]=0;H[33484]=1}return 33392}function Zd(a){a=a|0;var b=0;J[a>>2]=25244;b=J[a+344>>2];va[J[J[b>>2]>>2]](b)|0;Fa(J[a+344>>2]);J[a>>2]=25200;Ha(a+324|0);return sb(a)|0}function Lg(a){J[a+16>>2]=0;J[a+8>>2]=-1;J[a+12>>2]=0;J[a>>2]=0;J[a+4>>2]=0;J[a+32>>2]=0;H[a+36|0]=1;J[a+24>>2]=0;J[a+28>>2]=0;return a}function Ja(a){J[a+4>>2]=0;J[a+8>>2]=0;J[a>>2]=2409;J[a+32>>2]=0;J[a+24>>2]=0;J[a+28>>2]=0;J[a+20>>2]=0;J[a+12>>2]=0;J[a+16>>2]=0;Bg(a)}function Ao(a,b){a=a|0;b=b|0;var c=0;a=J[a+68>>2];c=J[a+12>>2];if(c){J[a+12>>2]=J[c>>2];J[a+8>>2]=J[a+8>>2]-1;return c|0}return Ga(b)|0}function $p(a,b,c,d,e,f,g,h,i,j){a=a|0;b=Q(b);c=Q(c);d=Q(d);e=e|0;f=f|0;g=g|0;h=Q(h);i=Q(i);j=Q(j);return va[a|0](b,c,d,e,f,g,h,i,j)|0}function Nd(a,b,c,d,e,f){var g=0,h=0;g=J[a+4>>2];h=g>>8;if(g&1){h=Qd(J[d>>2],h)}a=J[a>>2];va[J[J[a>>2]+20>>2]](a,b,c,d+h|0,g&2?e:2,f)}function tr(a){a=a|0;J[a+472>>2]=0;J[a+476>>2]=0;J[a+496>>2]=0;J[a+500>>2]=0;J[a+488>>2]=0;J[a+492>>2]=0;J[a+480>>2]=0;J[a+484>>2]=0}function zi(a,b){a=a|0;b=b|0;var c=0;c=J[b+268>>2];J[a>>2]=J[b+264>>2];J[a+4>>2]=c;c=J[b+276>>2];J[a+8>>2]=J[b+272>>2];J[a+12>>2]=c}function Cs(a,b){a=a|0;b=b|0;var c=0;c=J[b+4>>2];J[a+300>>2]=J[b>>2];J[a+304>>2]=c;c=J[b+12>>2];J[a+308>>2]=J[b+8>>2];J[a+312>>2]=c}function Bs(a,b){a=a|0;b=b|0;var c=0;c=J[b+4>>2];J[a+316>>2]=J[b>>2];J[a+320>>2]=c;c=J[b+12>>2];J[a+324>>2]=J[b+8>>2];J[a+328>>2]=c}function $k(a,b){a=a|0;b=b|0;var c=0;c=J[b+4>>2];J[a+116>>2]=J[b>>2];J[a+120>>2]=c;c=J[b+12>>2];J[a+124>>2]=J[b+8>>2];J[a+128>>2]=c}function ts(a){a=a|0;J[a>>2]=30984;Ha(a+132|0);J[a>>2]=31032;Ha(a+112|0);Ha(a+92|0);Ha(a+72|0);Ha(a+20|0);J[a>>2]=30960;return a|0}function To(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=ta-16|0;ta=d;J[d+12>>2]=b;J[d+8>>2]=12664;va[J[J[a>>2]+48>>2]](a,d+8|0,c);ta=d+16|0}function Ra(a){var b=0;a=a>>>0<=1?1:a;a:{while(1){b=vc(a);if(b){break a}b=J[9720];if(b){va[b|0]();continue}break}ga();D()}return b}function uc(a,b,c,d,e){var f=0,g=0;f=J[a+4>>2];g=f>>8;if(f&1){g=Qd(J[c>>2],g)}a=J[a>>2];va[J[J[a>>2]+24>>2]](a,b,c+g|0,f&2?d:2,e)}function Mq(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0;e=J[a>>2];a=J[a+4>>2];b=(a>>1)+b|0;if(a&1){e=J[e+J[b>>2]>>2]}va[e|0](b,c,d)}function uk(a,b){a=a|0;b=b|0;var c=0;c=J[b+4>>2];J[a+76>>2]=J[b>>2];J[a+80>>2]=c;c=J[b+12>>2];J[a+84>>2]=J[b+8>>2];J[a+88>>2]=c}function mf(a,b){a=a|0;b=b|0;var c=0;c=J[b+4>>2];J[a+24>>2]=J[b>>2];J[a+28>>2]=c;c=J[b+12>>2];J[a+32>>2]=J[b+8>>2];J[a+36>>2]=c}function Uf(a){a=a|0;var b=0;J[a>>2]=16356;Tf(a);b=J[a+84>>2];va[J[J[b>>2]>>2]](b)|0;Fa(J[a+84>>2]);Ha(a+88|0);return nd(a)|0}function Kt(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;if(Sa(a,J[b+8>>2],0)){Rd(b,c,d);return}a=J[a+8>>2];va[J[J[a>>2]+28>>2]](a,b,c,d)}function Pr(){var a=0;a=Ra(16);J[a+8>>2]=1036831949;J[a+12>>2]=1036831949;J[a>>2]=1036831949;J[a+4>>2]=1058642330;return a|0}function aq(a,b,c,d,e,f,g,h,i){a=a|0;b=Q(b);c=Q(c);d=Q(d);e=e|0;f=f|0;g=g|0;h=Q(h);i=Q(i);return va[a|0](b,c,d,e,f,g,h,i)|0}function Zr(a,b,c,d){a=Q(a);b=Q(b);c=Q(c);d=Q(d);var e=0;e=Ra(16);N[e+12>>2]=d;N[e+8>>2]=c;N[e+4>>2]=b;N[e>>2]=a;return e|0}function Id(a,b){a=a|0;b=b|0;var c=0;c=ta-16|0;ta=c;J[c+12>>2]=b;a=va[a|0](c+12|0)|0;ba(J[c+12>>2]);ta=c+16|0;return a|0}function Ed(a,b){if(J[b+40>>2]){Ed(a,J[b+36>>2]);Ed(a,J[b+40>>2])}if(J[a>>2]==(b|0)){J[a>>2]=0}Fa(J[a+4>>2]);J[a+4>>2]=b}function no(a){a=a|0;var b=0,c=0;b=ta-16|0;ta=b;Na(4022);c=J[a+68>>2];va[J[J[c>>2]+32>>2]](c,J[a+24>>2]);Ma();ta=b+16|0}function Sp(a,b,c,d,e,f,g,h,i){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=Q(i);va[J[J[a>>2]+36>>2]](a,b,c,d,h,i)}function wf(a){a=a|0;var b=0;J[a>>2]=18540;if(K[a+69|0]){b=J[a+60>>2];va[J[J[b>>2]>>2]](b)|0;Fa(J[a+60>>2])}return a|0}function Vr(a){a=a|0;var b=0;a=33392;while(1){b=a-12|0;if(H[a-1|0]<0){Oa(J[b>>2])}a=b;if((b|0)!=33344){continue}break}}function Iq(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=J[a>>2];a=J[a+4>>2];b=(a>>1)+b|0;if(a&1){d=J[d+J[b>>2]>>2]}va[d|0](b,c)}function Ih(a){a=a|0;var b=0;a=38368;while(1){b=a-12|0;if(H[a-1|0]<0){Oa(J[b>>2])}a=b;if((b|0)!=38320){continue}break}}function on(a,b){a=a|0;b=b|0;var c=0,d=0;c=a;d=J[J[J[a+4>>2]+4>>2]+32>>2];a=J[b+36>>2];Vf(c,J[(d+P(a,80)|0)+64>>2],a)}function Uq(a){a=a|0;J[a>>2]=31112;Ha(a+132|0);J[a>>2]=31160;Ha(a+112|0);Ha(a+92|0);Ha(a+72|0);Ha(a+20|0);return a|0}function Gq(a){a=a|0;var b=0;b=Ra(80);H[b+72|0]=0;J[b+4>>2]=-1;J[b+76>>2]=J[a>>2];J[a>>2]=0;J[b>>2]=32284;return b|0}function Vm(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;a=J[b>>2];a=ud(va[J[J[a>>2]+56>>2]](a,8)|0,b);J[a>>2]=17744;return a|0}function Bg(a){var b=0;while(1){J[a+4>>2]=0;J[a+8>>2]=0;b=J[a+24>>2];if(b){Bg(b)}a=J[a+28>>2];if(a){continue}break}}function Jr(a,b,c){a=a|0;b=Q(b);c=Q(c);N[a+508>>2]=cQ(1)?Q(1):c;N[a+504>>2]=bQ(1)?Q(1):b}function $r(a,b,c){a=Q(a);b=Q(b);c=Q(c);var d=0;d=Ga(16);J[d+12>>2]=0;N[d+8>>2]=c;N[d+4>>2]=b;N[d>>2]=a;return d|0}function xn(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;va[J[J[a>>2]+108>>2]](a,b,c);va[J[J[a>>2]+108>>2]](a,(b+1|0)%3|0,d)}function Ns(a){a=a|0;J[8372]=30984;Ha(33620);J[8372]=31032;Ha(33600);Ha(33580);Ha(33560);Ha(33508);J[8372]=30960}function lr(a){a=a|0;J[a>>2]=30984;Ha(a+132|0);J[a>>2]=31032;Ha(a+112|0);Ha(a+92|0);Ha(a+72|0);Ha(a+20|0);Oa(a)}function er(a){a=a|0;J[a>>2]=31112;Ha(a+132|0);J[a>>2]=31160;Ha(a+112|0);Ha(a+92|0);Ha(a+72|0);Ha(a+20|0);Oa(a)}function Ke(a){var b=0,c=0;a:{b=J[a+116>>2];if(!b){break a}c=J[9397];if(!c){break a}va[c|0](b)|0;J[a+116>>2]=0}}function Ha(a){var b=0;b=J[a+12>>2];if(!(!b|!K[a+16|0])){Fa(b)}J[a+12>>2]=0;H[a+16|0]=1;J[a+4>>2]=0;J[a+8>>2]=0}function zn(a,b,c){a=a|0;b=b|0;c=c|0;qd(a,c);if(b){N[c>>2]=-N[c>>2];N[c+4>>2]=-N[c+4>>2];N[c+8>>2]=-N[c+8>>2]}}function wi(a,b){a=a|0;b=b|0;var c=0;c=ta-16|0;ta=c;J[c+12>>2]=b;jb(a+244|0,c+12|0);vd(a,J[c+12>>2]);ta=c+16|0}function tf(a,b){a=a|0;b=b|0;J[a>>2]=0;J[a+4>>2]=0;J[a+8>>2]=0;J[a+12>>2]=0;J[a+(J[b+60>>2]<<2)>>2]=1065353216}function rp(a,b){a=a|0;b=b|0;var c=0;a=va[J[8324]]((a+b|0)+3|0)|0;if(a){c=(a+b|0)+3&0-b;J[c-4>>2]=a}return c|0}function Sa(a,b,c){if(!c){return J[a+4>>2]==J[b+4>>2]}if((a|0)==(b|0)){return 1}return!rh(J[a+4>>2],J[b+4>>2])}function Pq(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=a,e=ha((H[b+11|0]<0?J[b>>2]:b)|0,31420,J[c>>2])|0,J[d>>2]=e}function Hb(a){a=a|0;var b=0;J[a>>2]=20876;b=J[a+60>>2];if(b){va[J[J[b>>2]>>2]](b)|0;Fa(J[a+60>>2])}return a|0}function Fq(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=a,e=ha((H[b+11|0]<0?J[b>>2]:b)|0,32216,J[c>>2])|0,J[d>>2]=e}function Ad(a){var b=0;b=J[a+24>>2];if(b){Ad(b);Oa(b)}J[a+24>>2]=0;b=J[a+28>>2];if(b){Ad(b);Oa(b)}J[a+28>>2]=0}function hi(a,b){a=a|0;b=b|0;if(K[a+289|0]){Fa(J[a+216>>2])}J[a+216>>2]=b;H[a+289|0]=0;J[J[a+212>>2]+8>>2]=b} -function Jq(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=a,e=ha((H[b+11|0]<0?J[b>>2]:b)|0,32e3,J[c>>2])|0,J[d>>2]=e}function Tq(a,b){a=a|0;b=b|0;var c=0;c=J[a>>2];a=J[a+4>>2];b=(a>>1)+b|0;if(a&1){c=J[c+J[b>>2]>>2]}va[c|0](b)}function Re(a,b,c,d,e){J[a+20>>2]=0;J[a+16>>2]=c;J[a+12>>2]=b;J[a+8>>2]=e;J[a+4>>2]=d;J[a>>2]=22468;return a}function Hh(a,b,c){a=a|0;b=b|0;c=Q(c);if(K[a+62|0]){b=0;while(1){Yd(a);b=b+1|0;if((b|0)!=4){continue}break}}}function ws(a,b,c){a=a|0;b=b|0;c=c|0;a:{if((b|0)<=2){H[(a+b|0)+792|0]=c;break a}H[(P(b,88)+a|0)+732|0]=c}}function ss(a,b,c){a=a|0;b=b|0;c=c|0;a:{if((b|0)<=2){H[(a+b|0)+795|0]=c;break a}H[(P(b,88)+a|0)+744|0]=c}}function qs(a,b,c){a=a|0;b=b|0;c=c|0;a:{if((b|0)<=2){H[(a+b|0)+798|0]=c;break a}H[(P(b,88)+a|0)+752|0]=c}}function hd(a){a=a|0;J[a>>2]=18476;Ha(a+148|0);Ha(a+124|0);Ha(a+104|0);Ha(a+84|0);Ha(a- -64|0);return a|0}function ir(a){a=a|0;J[a>>2]=31032;Ha(a+112|0);Ha(a+92|0);Ha(a+72|0);Ha(a+20|0);J[a>>2]=30960;return a|0}function gd(a){a=a|0;var b=0;J[a>>2]=19292;b=J[a+72>>2];if(b){Kg(b);Fa(J[a+72>>2])}Ha(a+20|0);return a|0}function _m(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;a=J[b>>2];return dg(va[J[J[a>>2]+56>>2]](a,80)|0,b,c,d,0)|0}function Zm(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;a=J[b>>2];return dg(va[J[J[a>>2]+56>>2]](a,80)|0,b,c,d,1)|0}function Ym(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;a=J[b>>2];return pd(va[J[J[a>>2]+56>>2]](a,84)|0,b,c,d,0)|0}function Wm(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;a=J[b>>2];return pd(va[J[J[a>>2]+56>>2]](a,84)|0,b,c,d,1)|0}function ch(a,b,c,d,e){a=a|0;b=Q(b);c=Q(c);d=Q(d);e=Q(e);N[a+12>>2]=e;N[a+8>>2]=d;N[a+4>>2]=c;N[a>>2]=b}function Yq(a,b){a=a|0;b=b|0;J[a+8>>2]=1065353216;J[a+12>>2]=0;J[a>>2]=1065353216;J[a+4>>2]=1065353216}function Bh(a){a=a|0;var b=0,c=0;a=J[a+4>>2];b=qh(a)+1|0;c=vc(b);if(c){a=Pa(c,a,b)}else{a=0}return a|0}function hq(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=Q(e);f=Q(f);g=Q(g);return va[a|0](b,c,d,e,f,g)|0}function Sb(a,b){var c=0;if(!(H[34052]&1)){c=fa(1,31848)|0;H[34052]=1;J[8512]=c}ea(J[8512],a|0,b|0,0)}function Kq(a){a=a|0;var b=0;b=Ra(12);H[b+4|0]=0;J[b+8>>2]=J[a>>2];J[a>>2]=0;J[b>>2]=32068;return b|0}function Jb(a){J[a+12>>2]=0;J[a+16>>2]=0;J[a+4>>2]=35;J[a+8>>2]=0;J[a+20>>2]=0;J[a>>2]=20168;return a}function mt(a){a=a|0;var b=0;b=Xe(Ga(104));J[b+100>>2]=a;J[b>>2]=19796;J[b+4>>2]=3;dc(b);return b|0}function ad(a){var b=0;while(1){b=J[a>>2];if(b){J[a>>2]=J[b+8>>2];Fa(J[b>>2]);Fa(b);continue}break}}function Nf(a,b){var c=Q(0);c=Q(N[a+228>>2]*N[b+228>>2]);c=cQ(10)?Q(10):c}function jh(){var a=0;if(!K[33944]){a=Jb(33904);J[a+4>>2]=27;J[a>>2]=20276;H[33944]=1}return 33904}function fr(a,b){a=a|0;b=b|0;if(!(J[a+12>>2]&J[b+4>>2])){return 0}return(J[b+8>>2]&J[a+8>>2])!=0|0}function cr(a){a=a|0;J[8436]=31112;Ha(33876);J[8436]=31160;Ha(33856);Ha(33836);Ha(33816);Ha(33764)}function Pg(a){a=a|0;J[a>>2]=31616;if(K[a+136|0]){Sb(J[a+140>>2],3216)}ba(J[a+140>>2]);return a|0}function xi(a,b){a=a|0;b=b|0;if(!(!b|!(J[b+252>>2]&2))){va[J[J[a>>2]+92>>2]](a,b);return}vd(a,b)}function $j(a){a=a|0;J[a>>2]=22056;Ha(a+144|0);Ha(a+124|0);Ha(a+104|0);Ha(a+84|0);return cc(a)|0}function Bt(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;if(Sa(a,J[b+8>>2],f)){Pd(b,c,d,e)}}function Ah(){var a=0;a=J[9592];if(a){while(1){va[J[a>>2]]();a=J[a+4>>2];if(a){continue}break}}}function vs(a,b,c){a=a|0;b=b|0;c=Q(c);N[((b|0)<3?((b<<2)+a|0)+892|0:(P(b,88)+a|0)+740|0)>>2]=c}function us(a,b,c){a=a|0;b=b|0;c=Q(c);N[((b|0)<3?((b<<2)+a|0)+876|0:(P(b,88)+a|0)+736|0)>>2]=c}function tq(a,b,c,d,e,f,g){a=a|0;b=b|0;c=Q(c);d=Q(d);e=Q(e);f=Q(f);g=Q(g);va[a|0](b,c,d,e,f,g)}function ms(a,b,c){a=a|0;b=b|0;c=Q(c);N[((b|0)<3?((b<<2)+a|0)+860|0:(P(b,88)+a|0)+772|0)>>2]=c}function mr(a,b){a=a|0;b=b|0;a=J[a+12>>2];if(!(a&J[b+4>>2])){return 0}return(a&J[b+8>>2])!=0|0}function gr(a,b,c){a=a|0;b=b|0;c=c|0;J[a+84>>2]=J[J[J[b+4>>2]+8>>2]+8>>2];return Q(sc(a,b,c))} -function _r(a,b,c,d){a=a|0;b=Q(b);c=Q(c);d=Q(d);J[a+12>>2]=0;N[a+8>>2]=d;N[a+4>>2]=c;N[a>>2]=b}function Mg(a){a=a|0;J[a>>2]=32312;if(K[a+72|0]){Sb(J[a+76>>2],3216)}ba(J[a+76>>2]);return a|0}function oi(a,b){a=a|0;b=b|0;var c=0;c=ta-16|0;ta=c;J[c+12>>2]=b;jb(a+292|0,c+12|0);ta=c+16|0}function ok(a){a=a|0;a=J[a+100>>2]-2|0;if(a>>>0<=2){a=J[(a<<2)+21812>>2]}else{a=0}return a|0}function vo(a,b){a=a|0;b=b|0;var c=0;c=b;b=J[a+8>>2];va[J[b+64>>2]](c,b,J[a+4>>2]);return 0}function _j(a){a=a|0;J[a>>2]=22056;Ha(a+144|0);Ha(a+124|0);Ha(a+104|0);Ha(a+84|0);Fa(cc(a))}function Ng(a){a=a|0;J[a>>2]=32096;if(K[a+4|0]){Sb(J[a+8>>2],3216)}ba(J[a+8>>2]);return a|0}function xd(a,b){if(K[a+204|0]&3?b:1){if((J[a+220>>2]&-2)!=4){J[a+220>>2]=1}J[a+224>>2]=0}}function dq(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=Q(g);va[a|0](b,c,d,e,f,g)}function br(a){a=a|0;J[a>>2]=31160;Ha(a+112|0);Ha(a+92|0);Ha(a+72|0);Ha(a+20|0);return a|0}function rq(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return va[a|0](b,c,d,e,f)|0}function lt(){var a=0;a=Xe(Ga(168));J[a+100>>2]=0;J[a>>2]=21652;J[a+4>>2]=2;return a|0}function hr(a){a=a|0;J[a>>2]=31032;Ha(a+112|0);Ha(a+92|0);Ha(a+72|0);Ha(a+20|0);Oa(a)}function ar(a){a=a|0;J[a>>2]=31160;Ha(a+112|0);Ha(a+92|0);Ha(a+72|0);Ha(a+20|0);Oa(a)}function _o(a){a=a|0;a=36400;while(1){a=a-36|0;Ad(a);if((a|0)!=34096){continue}break}}function Qh(a,b,c){a=a|0;b=b|0;c=c|0;J[a+84>>2]=J[J[b+4>>2]+8>>2];return Q(sc(a,b,c))}function ys(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return ze(Ga(1460),a,b,c,d,e)|0}function jo(a,b){a=a|0;b=b|0;va[J[J[b>>2]+32>>2]](b);lg(a,b);va[J[J[b>>2]+36>>2]](b)}function jc(a,b,c){a=a|0;b=Q(b);c=c|0;J[c>>2]=0;J[c+4>>2]=0;J[c+8>>2]=0;J[c+12>>2]=0}function Al(a,b){a=a|0;b=b|0;J[a+8>>2]=0;J[a+12>>2]=0;J[a>>2]=0;J[a+4>>2]=1065353216}function yq(a,b,c,d,e,f){a=a|0;b=b|0;c=Q(c);d=Q(d);e=Q(e);f=Q(f);va[a|0](b,c,d,e,f)}function nd(a){a=a|0;J[a>>2]=16208;Xf(a);Ha(a+48|0);Ha(a+28|0);Ha(a+8|0);return a|0}function Ck(a,b,c){a=a|0;b=b|0;c=c|0;J[a>>2]=0;J[a+4>>2]=0;J[a+8>>2]=0;J[a+12>>2]=0}function zq(a,b,c,d,e){a=a|0;b=Q(b);c=Q(c);d=Q(d);e=Q(e);return va[a|0](b,c,d,e)|0}function so(a,b){a=a|0;b=b|0;J[a+200>>2]=b;J[a+192>>2]=b;J[a+304>>2]=J[a+304>>2]+1}function ns(a,b,c){a=a|0;b=b|0;c=Q(c);N[((b|0)<3?(b<<2)+a|0:P(b,88)+a|0)+712>>2]=c}function gq(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=Q(d);e=Q(e);f=Q(f);va[a|0](b,c,d,e,f)}function Vp(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;va[J[J[a>>2]+16>>2]](a,b,c,d)}function fq(a,b,c,d,e){a=a|0;b=b|0;c=Q(c);d=Q(d);e=Q(e);return va[a|0](b,c,d,e)|0}function Vn(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;a=a-4|0;va[J[J[a>>2]+8>>2]](a,b,c,d)}function bq(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=Q(d);e=Q(e);return va[a|0](b,c,d,e)|0}function Wc(a,b,c,d){J[a+12>>2]=c;J[a+8>>2]=b;J[a+4>>2]=d;J[a>>2]=22616;return a}function He(a,b,c,d){J[a+12>>2]=c;J[a+8>>2]=b;J[a+4>>2]=d;J[a>>2]=23288;return a}function Rg(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;va[a|0](b,c,d,e,f)}function uq(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return va[a|0](b,c,d,e)|0}function di(a){a=a|0;J[a>>2]=24524;Ha(a+68|0);Ha(a+48|0);Ha(a+28|0);return a|0}function Rs(a,b,c,d){a=a|0;b=Q(b);c=c|0;d=Q(d);va[J[J[a>>2]+52>>2]](a,b,c,d)|0}function Ko(a,b){a=a|0;b=b|0;a=J[a+4>>2];return(a|0)==J[b>>2]|(a|0)==J[b+4>>2]}function yg(a){a=a|0;J[a>>2]=12300;Ha(a+48|0);Ha(a+28|0);Ha(a+4|0);return a|0}function hf(a){a=a|0;J[a>>2]=20828;Ha(a+44|0);Ye(a+24|0);Ha(a+4|0);return a|0}function Of(a){a=a|0;J[a>>2]=17804;Ha(a+44|0);Ha(a+24|0);Ha(a+4|0);return a|0}function Lt(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;if(Sa(a,J[b+8>>2],0)){Rd(b,c,d)}}function $s(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=Q(f);Pb(a,b,c,d,e,f)}function Dg(a,b){a=a|0;b=b|0;a=J[a+4>>2];va[J[J[a>>2]+8>>2]](a,J[b+36>>2])|0}function vn(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;va[J[J[a>>2]+124>>2]](a,d,b,c)}function hg(a,b){a=a|0;b=b|0;a=J[a+24>>2];return va[J[J[a>>2]+8>>2]](a,b)|0}function Wp(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;va[J[J[a>>2]+108>>2]](a,b,c,d)}function Vt(a){var b=0;b=a&31;a=0-a&31;return(-1>>>b&-2)<>>a} -function pc(a,b){Dd(a,b);Fa(J[a+4>>2]);J[a+4>>2]=b;J[a+12>>2]=J[a+12>>2]-1}function ct(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;va[J[J[a>>2]+32>>2]](a,b,c,d)}function bt(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;va[J[J[a>>2]+36>>2]](a,b,c,d)}function ag(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;va[J[J[a>>2]+80>>2]](a,b,c,d)}function Vs(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;va[J[J[a>>2]+88>>2]](a,b,c,d)}function me(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;va[J[J[a>>2]+8>>2]](a,b,c,d)}function ci(a){a=a|0;J[a>>2]=24524;Ha(a+68|0);Ha(a+48|0);Ha(a+28|0);Oa(a)}function cp(a,b){a=a|0;b=b|0;va[J[J[a>>2]+8>>2]](a,b,J[J[a+8>>2]+48>>2])}function Aq(a,b,c,d,e){a=a|0;b=b|0;c=Q(c);d=Q(d);e=Q(e);va[a|0](b,c,d,e)}function qq(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=Q(d);e=Q(e);va[a|0](b,c,d,e)}function kq(a,b,c,d,e){a=a|0;b=b|0;c=Q(c);d=Q(d);e=e|0;va[a|0](b,c,d,e)}function cq(a,b,c,d,e){a=a|0;b=b|0;c=Q(c);d=d|0;e=Q(e);va[a|0](b,c,d,e)}function Sl(a,b){a=a|0;b=Q(b);return Q(Q(Q(va[J[J[a>>2]+16>>2]](a))*b))}function Bq(a,b,c,d){a=a|0;b=Q(b);c=Q(c);d=Q(d);return va[a|0](b,c,d)|0}function Od(a,b,c){if(!(J[a+28>>2]==1|J[a+4>>2]!=(b|0))){J[a+28>>2]=c}}function Bk(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;if((d|0)>0){Ka(c,0,d<<4)}}function lk(a){a=a|0;a=J[a+100>>2];return((a|0)==4?4:((a|0)==3)<<1)|0}function Hd(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;va[a|0](b,c,d,e)}function Qg(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return va[a|0](b,c,d)|0}function tt(a,b){a=a|0;b=b|0;return J[(J[a+32>>2]+P(b,80)|0)+64>>2]}function or(a,b){a=a|0;b=b|0;a=J[a+540>>2];va[J[J[a>>2]+8>>2]](a,b)}function nj(a,b){a=a|0;b=b|0;a=K[a+344|0]?0:3;J[b+4>>2]=a;J[b>>2]=a}function kn(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Q(Q(0))}function Ob(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Q(Q(1))}function Lr(a,b,c){a=a|0;b=Q(b);c=Q(c);N[a+536>>2]=c;N[a+532>>2]=b}function Gh(a){a=a|0;return Q(Q(Q(N[a+156>>2]*Q(.5))+N[a+152>>2]))}function Xk(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return zf(a,b,c,d)|0}function Ui(a,b,c){a=a|0;b=Q(b);c=c|0;va[J[J[a>>2]+32>>2]](a,b,c)}function cm(a,b,c){a=a|0;b=b|0;c=c|0;va[J[J[b>>2]+68>>2]](a,b,c)}function Ts(a,b,c){a=a|0;b=b|0;c=c|0;va[J[J[a>>2]+56>>2]](a,b,c)}function vh(a){var b=0;b=ta-16|0;N[b+12>>2]=a;return N[b+12>>2]}function gt(a,b){a=a|0;b=b|0;return va[J[J[a>>2]+40>>2]](a,b)|0}function bp(a,b,c){a=a|0;b=b|0;c=Q(c);va[J[J[a>>2]+12>>2]](a,b)}function _n(a,b,c){a=a|0;b=b|0;c=c|0;J[a+24>>2]=c;J[a+16>>2]=b}function Zn(a,b,c){a=a|0;b=b|0;c=c|0;J[a+28>>2]=c;J[a+20>>2]=b}function Ap(a,b){a=a|0;b=b|0;va[J[J[a>>2]+16>>2]](a,b,J[b>>2])}function sq(a,b,c,d){a=a|0;b=b|0;c=Q(c);d=Q(d);va[a|0](b,c,d)}function Pi(a){a=a|0;J[a>>2]=23988;Ha(a+544|0);return sb(a)|0}function $d(a){a=a|0;J[a>>2]=25200;Ha(a+324|0);return sb(a)|0}function pq(a,b,c,d){a=a|0;b=b|0;c=c|0;d=Q(d);va[a|0](b,c,d)}function oq(a,b,c,d){a=a|0;b=b|0;c=Q(c);d=d|0;va[a|0](b,c,d)}function jq(a,b,c){a=a|0;b=Q(b);c=Q(c);return va[a|0](b,c)|0}function ae(a,b){a=a|0;b=b|0;return J[J[a+236>>2]+(b<<2)>>2]}function xo(a,b){a=a|0;b=b|0;return J[J[a+20>>2]+(b<<2)>>2]}function iq(a,b,c){a=a|0;b=b|0;c=Q(c);return va[a|0](b,c)|0}function eq(a,b,c){a=a|0;b=Q(b);c=c|0;return va[a|0](b,c)|0}function Sg(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;va[a|0](b,c,d)}function Qr(a,b){a=a|0;b=b|0;return J[J[a+12>>2]+(b<<2)>>2]}function Ga(a){J[8520]=J[8520]+1;return va[J[8322]](a,16)|0}function wq(a,b,c){a=a|0;b=b|0;c=c|0;return va[a|0](b,c)|0}function ec(a){a=_a(a);J[a+60>>2]=0;J[a>>2]=20876;return a}function Qk(a){a=a|0;a=J[a+220>>2];return(a|0)!=2&(a|0)!=5}function ud(a,b){J[a>>2]=14956;J[a+4>>2]=J[b>>2];return a}function sb(a){a=a|0;J[a>>2]=13020;Ha(a+284|0);return a|0}function Dh(a){a=a|0;J[a>>2]=25356;Ha(a+112|0);return a|0}function yi(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;sg(a,b,c,d)}function qk(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;We(a,b,c,d)}function cc(a){a=a|0;J[a>>2]=21944;Ha(a+20|0);return a|0}function Oi(a){a=a|0;J[a>>2]=23988;Ha(a+544|0);Fa(sb(a))}function xk(a){a=a|0;return Q(Q(N[a+36>>2]*N[a+20>>2]))}function xg(a){a=a|0;J[a>>2]=12852;Ha(a+8|0);return a|0}function hb(a,b){if((J[a+220>>2]&-2)!=4){J[a+220>>2]=b}}function cg(a){a=a|0;J[a>>2]=15712;sd(a+8|0);return a|0}function Rr(a,b){a=a|0;b=b|0;return J[a+12>>2]+(b<<4)|0}function Ot(a,b,c){a=a|0;b=b|0;c=c|0;return Sa(a,b,0)|0}function Lh(a,b){a=a|0;b=Q(b);N[a+52>>2]=b;N[a+36>>2]=b}function Ki(a,b){a=a|0;b=Q(b);va[J[J[a>>2]+44>>2]](a,b)}function wo(a){a=a|0;return(J[a+12>>2]?J[a+20>>2]:0)|0}function tc(a,b){a=a|0;b=b|0;va[J[J[a>>2]+64>>2]](a,b)}function ls(a,b){a=a|0;b=b|0;va[J[J[a>>2]+52>>2]](a,b)}function cj(a,b){a=a|0;b=b|0;va[J[J[a>>2]+24>>2]](a,b)}function at(a,b){a=a|0;b=b|0;va[J[J[a>>2]+40>>2]](a,b)}function _s(a,b){a=a|0;b=b|0;va[J[J[a>>2]+16>>2]](a,b)}function Ws(a,b){a=a|0;b=b|0;va[J[J[a>>2]+72>>2]](a,b)}function Vi(a){a=a|0;J[9405]=23988;Ha(38164);sb(37620)}function Us(a,b){a=a|0;b=b|0;va[J[J[a>>2]+92>>2]](a,b)}function Ss(a,b){a=a|0;b=b|0;va[J[J[a>>2]+60>>2]](a,b)}function Or(a,b){a=a|0;b=b|0;va[J[J[a>>2]+12>>2]](a,b)}function Ld(a,b){a=a|0;b=b|0;va[J[J[a>>2]+68>>2]](a,b)}function Fh(a,b){a=Q(a);b=Q(b);return uf(Ga(64),a,b)|0}function Fa(a){if(a){J[8521]=J[8521]+1;va[J[8323]](a)}}function ks(a){a=a|0;return va[J[J[a>>2]+56>>2]](a)|0}function ht(a){a=a|0;return va[J[J[a>>2]+36>>2]](a)|0}function Xo(a,b){a=a|0;b=b|0;return(P(b,208)+a|0)+4|0}function Ue(a,b){a=a|0;b=b|0;va[J[J[a>>2]+8>>2]](a,b)}function Dj(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=Q(e)}function Wd(a){a=a|0;J[a>>2]=25356;Ha(a+112|0);Oa(a)}function Pm(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0}function Dq(a,b){a=a|0;b=b|0;return Q(Q(va[a|0](b)))}function Wg(a){a=a|0;if(a){va[J[J[a>>2]+12>>2]](a)}}function Tt(a){if(a){return 31-S(a-1^a)|0}return 32}function sp(a){a=a|0;if(a){va[J[8325]](J[a-4>>2])}}function rc(a){a=a|0;if(a){va[J[J[a>>2]+4>>2]](a)}}function Sr(a,b){a=a|0;b=b|0;Ab(a,b);return a+48|0}function Cq(a,b,c){a=a|0;b=b|0;c=Q(c);va[a|0](b,c)}function xb(a,b){a=ud(a,b);J[a>>2]=14984;return a}function vm(a,b){a=a|0;b=Q(b);N[a+156>>2]=b;xc(a)}function th(a){return(a<<1)+16777216>>>0<16777217}function nq(a,b){a=a|0;b=Q(b);return va[a|0](b)|0}function bm(a,b){a=a|0;b=Q(b);N[a+152>>2]=b;Tb(a)}function Vl(a,b){a=a|0;b=Q(b);N[a+156>>2]=b;Tb(a)}function Tg(a,b,c){a=a|0;b=b|0;c=c|0;va[a|0](b,c)}function Ol(a,b){a=a|0;b=Q(b);N[a+160>>2]=b;Tb(a)}function Eh(a){a=a|0;return Q(N[J[a+8>>2]+40>>2])}function Dm(a,b){a=a|0;b=Q(b);N[a+152>>2]=b;xc(a)}function Vg(a,b){a=a|0;b=b|0;return va[a|0](b)|0}function Db(a,b,c){Gb(a+4|0,a+372|0,a+388|0,b,c)}function ql(a){a=a|0;return(K[a+204|0]&2)>>>1|0}function nh(a,b,c,d){ma(a|0,b|0,8,0,c|0,-1,d|0)}function he(a,b){return N[((b<<2)+a|0)+1192>>2]}function Tr(a,b){a=a|0;b=b|0;Ab(a,b);return b|0}function Hr(a,b,c){a=a|0;b=Q(b);c=c|0;Wb(a,b,c)}function wr(a,b,c){a=a|0;b=b|0;c=c|0;Jd(a,b,c)}function pf(a,b,c){a=a|0;b=b|0;c=Q(c);return 0}function gl(a){a=a|0;return(K[a+204|0]&3)!=0|0}function Hl(a,b,c){a=a|0;b=b|0;c=c|0;fd(a,b,c)}function Ej(a,b,c){a=a|0;b=b|0;c=c|0;Kc(a,b,c)}function kf(a){a=a|0;J[a>>2]=20380;return a|0}function go(a,b){a=a|0;b=b|0;pg(a,J[b+36>>2])}function eg(a,b,c,d){a=a|0;b=b|0;c=c|0;d=Q(d)}function Oj(a){a=a|0;J[a>>2]=30960;return a|0}function Mc(a){a=a|0;J[a>>2]=23868;return a|0}function gc(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0}function bl(a,b){a=a|0;b=b|0;N[a+184>>2]=b|0}function Zs(a){a=a|0;va[J[J[a>>2]+24>>2]](a)}function Zp(a,b){a=a|0;b=b|0;Pa(a,b+8|0,128)}function Yp(a,b){a=a|0;b=b|0;Pa(a+8|0,b,128)}function Jj(a){a=a|0;return J[a+220>>2]==2|0}function zb(a){a=a|0;return J[J[a>>2]-4>>2]}function rl(a){a=a|0;return J[a+100>>2]+4|0}function fk(a){a=a|0;return J[a+48>>2]==1|0}function ck(a,b){a=a|0;b=Q(b);N[a+276>>2]=b}function ap(a){a=a|0;a=J[8522];if(a){Oa(a)}}function Vj(a,b){a=a|0;b=Q(b);N[a+272>>2]=b}function Ti(a){a=a|0;return J[a+4>>2]==31|0}function Gs(a,b){a=a|0;b=Q(b);N[a+680>>2]=b}function Gd(a,b){a=a|0;b=b|0;va[J[a>>2]](b)}function Fs(a,b){a=a|0;b=Q(b);N[a+684>>2]=b}function Fn(a){a=a|0;return J[a+16>>2]!=0|0}function zs(a,b){a=a|0;b=Q(b);N[a+16>>2]=b}function xt(a,b){a=a|0;b=Q(b);N[a+72>>2]=b}function wh(a,b){return Q(vh(a?Q(-b):b)*b)}function ur(a,b){a=a|0;b=b|0;J[a+564>>2]=b}function em(a,b){a=a|0;b=Q(b);N[a+20>>2]=b}function bo(a,b){a=a|0;b=Q(b);N[a+36>>2]=b}function bg(a,b){a=a|0;b=Q(b);N[a+52>>2]=b}function Yo(a){a=a|0;return J[a+8>>2]!=0|0}function Xq(a,b){a=a|0;b=Q(b);N[a+80>>2]=b}function Xj(a){a=a|0;return J[a+56>>2]+4|0}function Un(a,b){a=a|0;b=Q(b);N[a+32>>2]=b}function Tk(a,b){a=a|0;b=b|0;J[a+220>>2]=b}function Nj(a,b){a=a|0;b=b|0;J[a+264>>2]=b}function Ms(a,b){a=a|0;b=Q(b);N[a+40>>2]=b}function Mn(a,b){a=a|0;b=Q(b);N[a+28>>2]=b}function Lk(a,b){a=a|0;b=b|0;Lb(a,b);dc(a)}function Kr(a){a=a|0;return Q(N[a+532>>2])}function Ht(a,b){a=a|0;b=Q(b);N[a+64>>2]=b}function Dk(a,b){a=a|0;b=b|0;J[a+204>>2]=b}function Bi(a){a=a|0;return jd(Ga(64),a)|0}function At(a,b){a=a|0;b=Q(b);N[a+68>>2]=b}function $m(a){a=a|0;return J[a+4>>2]+52|0}function wl(a){a=a|0;return J[a+204>>2]&1}function tg(a){a=a|0;return Q(N[a+52>>2])}function io(a,b){a=a|0;b=b|0;J[a+72>>2]=b}function dm(a){a=a|0;return Q(N[a+20>>2])}function Yr(a){a=a|0;return Q(N[a+12>>2])}function Wq(a){a=a|0;return Q(N[a+80>>2])}function Qs(a,b){a=a|0;b=b|0;H[38297]=b^1}function Os(a){a=a|0;return Q(N[a+40>>2])}function No(a,b){a=a|0;b=b|0;J[a+24>>2]=b}function Mo(a,b){a=a|0;b=b|0;J[a+68>>2]=b}function Is(a,b){a=a|0;b=b|0;H[a+736|0]=b}function Hs(a,b){a=a|0;b=b|0;H[a+737|0]=b}function Dp(a){a=a|0;Sb(J[a+140>>2],4409)}function Dc(a,b){a=a|0;b=b|0;J[a+16>>2]=b}function Cp(a){a=a|0;Sb(J[a+140>>2],4420)}function yn(a,b){a=a|0;b=b|0;H[a+63|0]=b}function hj(a,b){a=a|0;b=b|0;J[a+8>>2]=b}function eh(a){a=a|0;return Q(N[a+4>>2])}function dh(a){a=a|0;return Q(N[a+8>>2])}function Pp(a,b){a=a|0;b=b|0;J[a+4>>2]=b}function Kg(a){Fd(a);Ha(a+20|0);return a}function Jc(a){a=a|0;J[a>>2]=23868;Fa(a)}function En(a,b){a=a|0;b=b|0;H[a+62|0]=b}function xq(a){a=a|0;return va[a|0]()|0}function vr(a){a=a|0;return J[a+564>>2]}function vp(a){a=a|0;return J[a+108>>2]}function qp(a){a=a|0;return J[a+112>>2]}function pr(a){a=a|0;return J[a+540>>2]}function pk(a){a=a|0;return J[a+100>>2]}function pj(a){a=a|0;return J[a+748>>2]}function np(a){a=a|0;return J[a+836>>2]}function jk(a){a=a|0;return J[a+192>>2]}function ij(a){a=a|0;return J[a+332>>2]}function gp(a){a=a|0;return J[a+840>>2]}function gi(a){a=a|0;return J[a+216>>2]}function fi(a){a=a|0;return J[a+228>>2]}function as(a,b){a=a|0;b=Q(b);N[a>>2]=b}function Pj(a){a=a|0;return J[a+264>>2]}function Op(a){a=a|0;return J[a+200>>2]}function Og(a){a=a|0;return J[a+204>>2]}function Gj(a){a=a|0;return J[a+220>>2]}function Eq(a,b){a=a|0;b=b|0;va[a|0](b)}function $o(a){a=a|0;return J[a+844>>2]}function yo(a){a=a|0;return J[a+12>>2]}function yd(a){a=a|0;return J[a+72>>2]}function qg(a){a=a|0;return J[a+56>>2]}function nc(a){a=a|0;return J[a+16>>2]}function lh(a){a=a|0;return J[a+24>>2]}function jg(a){a=a|0;return J[a+60>>2]}function ih(a){a=a|0;return J[a+84>>2]}function Kd(a){a=a|0;return Q(N[a>>2])}function Fg(a){a=a|0;return J[a+96>>2]}function od(a){a=a|0;return J[a+4>>2]}function nf(a,b,c){a=a|0;b=Q(b);c=c|0}function md(a){a=a|0;return J[a+8>>2]}function _c(a,b){a=a|0;b=b|0;return 0}function Wh(a,b){a=a|0;b=Q(b);fe(a,b)}function Eg(a,b){a=a|0;b=b|0;return 1}function zr(a,b){a=a|0;b=b|0;Vb(a,b)}function qi(a,b){a=a|0;b=b|0;Bc(a,b)}function lq(a){a=a|0;return a- -64|0}function Wa(a,b,c){a=a|0;b=b|0;c=c|0}function Ur(a,b){a=a|0;b=b|0;nb(a,b)}function Rk(a,b){a=a|0;b=b|0;xd(a,b)}function gh(a){a=a|0;return vc(a)|0}function ah(a){a=a|0;return a+132|0}function _k(a){a=a|0;return a+116|0}function Yk(a){a=a|0;return hd(a)|0}function Yh(a){a=a|0;return Ub(a)|0}function Er(a){a=a|0;return a+372|0}function Dr(a){a=a|0;return a+388|0}function wt(a){a=a|0;return a+56|0}function wg(a){a=a|0;return a+20|0}function vq(a){a=a|0;return a+32|0}function vg(a){a=a|0;return a+36|0}function tk(a){a=a|0;return a+76|0}function mh(a){a=a|0;return a+52|0}function lf(a){a=a|0;return a+24|0}function kh(a){a=a|0;return a+68|0}function fh(a){a=a|0;return a+92|0}function dt(){return we(Ga(236))|0}function bh(a){a=a|0;return a+72|0}function _q(a){a=a|0;return a+84|0}function Xp(a){a=a|0;return a+16|0}function Wi(a){a=a|0;J[a+232>>2]=0}function Uk(a){a=a|0;J[8348]=30960}function Ug(a){a=a|0;return a+48|0}function El(){return mc(Ga(324))|0}function zd(a){a=a|0;return a+4|0}function kk(a){a=a|0;return 10133}function Xn(a){a=a|0;return a-4|0}function Rq(a){a=a|0;H[a+136|0]=1}function Qd(a,b){return J[a+b>>2]}function yk(a){a=a|0;return 9201}function uo(a){a=a|0;sb(a);Fa(a)}function sk(a){a=a|0;return 9208}function rn(a){a=a|0;nd(a);Oa(a)}function pp(a){a=a|0;Hg(a);Oa(a)}function po(a){a=a|0;wd(a);Oa(a)}function pl(a){a=a|0;return 6549}function nn(a){a=a|0;Uf(a);Oa(a)}function mm(a){a=a|0;wf(a);Fa(a)}function kl(a){a=a|0;return 9154}function hn(a){a=a|0;Rf(a);Oa(a)}function gk(a){a=a|0;cc(a);Fa(a)}function fm(a){a=a|0;return 9185}function fl(a){a=a|0;return 1038}function en(a){a=a|0;Qf(a);Oa(a)}function el(a){a=a|0;kf(a);Fa(a)}function dj(a){a=a|0;ve(a);Fa(a)}function cn(a){a=a|0;ld(a);Oa(a)}function Zq(a){a=a|0;return 7749}function Zk(a){a=a|0;return 9225}function Wo(a){a=a|0;yg(a);Fa(a)}function Wl(a){a=a|0;return 7359}function Tn(a){a=a|0;fg(a);Oa(a)}function Tj(a){a=a|0;return 9188}function Sk(a){a=a|0;hf(a);Fa(a)}function Pl(a){a=a|0;gd(a);Fa(a)}function Ph(a){a=a|0;$d(a);Fa(a)}function Om(a){a=a|0;Of(a);Oa(a)}function Ni(a){a=a|0;ke(a);Oa(a)}function Mh(a){a=a|0;Zd(a);Fa(a)}function Ln(a){a=a|0;cg(a);Fa(a)}function Km(a){a=a|0;Mf(a);Oa(a)}function Jn(a){a=a|0;sd(a);Fa(a)}function Ji(a){a=a|0;Ub(a);Fa(a)}function Io(a){a=a|0;xg(a);Oa(a)}function Hq(a){a=a|0;H[a+72|0]=1}function Hm(a){a=a|0;Lf(a);Oa(a)}function Hk(a){a=a|0;return 9179}function Fj(a){a=a|0;Mc(a);Fa(a)}function Em(a){a=a|0;return 1476}function Dn(a){a=a|0;return 7538}function Df(a){a=a|0;hd(a);Fa(a)}function Bl(a){a=a|0;return 7459}function rj(a){a=a|0;return 220}function qo(a){a=a|0;return 264}function Si(a){a=a|0;return 496}function Lq(a){a=a|0;H[a+4|0]=1}function La(a){a=a|0;return a|0}function Cj(a){a=a|0;return 644}function zp(a){a=a|0;Oa(Ng(a))}function yf(a){a=a|0;return 84}function xp(a){a=a|0;Oa(Mg(a))}function rd(a){a=a|0;return 52}function kc(a){a=a|0;Fa(Hb(a))}function it(a){a=a|0;ld(33948)}function hc(a){a=a|0;return 60}function _p(a){a=a|0;Fa(Pg(a))}function Zj(a){a=a|0;return 28}function Xh(a){a=a|0;Fa(Ub(a))}function Wn(a){a=a|0;Oa(a-4|0)}function Vq(a){a=a|0;return 24}function Gk(a){a=a|0;return 76}function Ff(a){a=a|0;return 12}function $q(a){a=a|0;Fa(gd(a))}function ym(a){a=a|0;return 8}function yb(a){a=a|0;return 0}function ig(a,b){a=a|0;b=Q(b)}function _f(a){a=a|0;return 3}function Zf(a){a=a|0;return 1}function Na(a){va[J[8326]](a)}function Gf(a){a=a|0;return 6}function $f(a){a=a|0;return 2}function Ya(a,b){a=a|0;b=b|0}function Ma(){va[J[8327]]()}function mb(a){a=a|0;Fa(a)}function Ia(a){a=a|0;Oa(a)}function Xa(a){a=a|0;D()}function Pt(){ga();D()}function ib(a){a=a|0}function Zo(){} +function zj(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=E(0),q=E(0),r=0,s=0,t=0,u=E(0),w=E(0),z=0,A=0,C=E(0),G=0,H=0,I=E(0),J=0,K=E(0),L=E(0),N=0,O=E(0),P=E(0),Q=E(0),R=0,S=E(0),T=0,U=0,V=0,W=E(0),X=E(0),Y=0,Z=E(0),_=E(0),$=0;d=ga-192|0;ga=d;c=x[a+60>>2];if(c){ia[x[x[c>>2]>>2]](c)|0;c=x[a+60>>2];if(c){x[8457]=x[8457]+1;ia[x[8259]](c)}}x[8456]=x[8456]+1;c=ia[x[8258]](132,16)|0;v[c+20|0]=1;x[c>>2]=20812;x[c+16>>2]=0;v[c+40|0]=1;x[c+8>>2]=0;x[c+12>>2]=0;x[c+36>>2]=0;v[c+60|0]=1;x[c+28>>2]=0;x[c+32>>2]=0;x[c+56>>2]=0;x[c+48>>2]=0;x[c+52>>2]=0;x[a+60>>2]=c;x[d+184>>2]=0;x[d+176>>2]=0;x[d+180>>2]=0;v[d+188|0]=1;c=0;if((ia[x[x[a>>2]+96>>2]](a)|0)>0){z=x[d+176>>2];j=z-1|0;c=x[d+184>>2];n=y[d+188|0];e=x[d+180>>2];while(1){a:{if((e|0)!=(z|0)){break a}i=z?z<<1:1;if((i|0)<=(z|0)){break a}if(i){x[8456]=x[8456]+1;c=ia[x[8258]](i<<4,16)|0}else{c=0}b:{if((z|0)<=0){break b}s=0;e=0;if(f+j>>>0>=3){g=z&-4;A=0;while(1){o=e<<4;r=o+c|0;k=h+o|0;l=x[k+4>>2];x[r>>2]=x[k>>2];x[r+4>>2]=l;l=x[k+12>>2];x[r+8>>2]=x[k+8>>2];x[r+12>>2]=l;l=o|16;r=l+c|0;k=h+l|0;l=x[k+12>>2];x[r+8>>2]=x[k+8>>2];x[r+12>>2]=l;l=x[k+4>>2];x[r>>2]=x[k>>2];x[r+4>>2]=l;l=o|32;r=l+c|0;k=h+l|0;l=x[k+12>>2];x[r+8>>2]=x[k+8>>2];x[r+12>>2]=l;l=x[k+4>>2];x[r>>2]=x[k>>2];x[r+4>>2]=l;l=o|48;r=l+c|0;k=h+l|0;l=x[k+12>>2];x[r+8>>2]=x[k+8>>2];x[r+12>>2]=l;l=x[k+4>>2];x[r>>2]=x[k>>2];x[r+4>>2]=l;e=e+4|0;A=A+4|0;if((g|0)!=(A|0)){continue}break}}g=z&3;if(!g){break b}while(1){l=e<<4;r=l+c|0;k=h+l|0;l=x[k+4>>2];x[r>>2]=x[k>>2];x[r+4>>2]=l;l=x[k+12>>2];x[r+8>>2]=x[k+8>>2];x[r+12>>2]=l;e=e+1|0;s=s+1|0;if((g|0)!=(s|0)){continue}break}}if(!(h?!h|!n:1)){x[8457]=x[8457]+1;ia[x[8259]](h)}n=1;e=i}ia[x[x[a>>2]+108>>2]](a,f,(z<<4)+c|0);z=z+1|0;h=c;f=f+1|0;if((ia[x[x[a>>2]+96>>2]](a)|0)>(f|0)){continue}break}v[d+188|0]=n;x[d+180>>2]=e;x[d+176>>2]=z;x[d+184>>2]=c}v[d+148|0]=1;x[d+144>>2]=0;v[d+168|0]=1;x[d+136>>2]=0;x[d+140>>2]=0;x[d+164>>2]=0;x[d+156>>2]=0;x[d+160>>2]=0;x[d+124>>2]=0;v[d+128|0]=1;x[d+116>>2]=0;x[d+120>>2]=0;c:{d:{if(b){z=0;x[d+28>>2]=0;v[d+32|0]=1;x[d+20>>2]=0;x[d+24>>2]=0;c=0;G=x[d+176>>2];if((G|0)>0){while(1){b=c;c=c+1|0;if((G|0)>(c|0)){H=x[d+184>>2]+(b<<4)|0;b=c;while(1){f=b;b=b+1|0;if((G|0)>(b|0)){t=x[d+184>>2]+(f<<4)|0;f=b;while(1){W=B[H>>2];w=E(B[t>>2]-W);h=x[d+184>>2];i=h+(f<<4)|0;S=B[H+4>>2];C=E(B[i+4>>2]-S);u=E(B[i>>2]-W);p=E(B[t+4>>2]-S);L=E(E(w*C)-E(u*p));I=B[H+8>>2];q=E(B[i+8>>2]-I);P=E(p*q);p=E(B[t+8>>2]-I);C=E(P-E(C*p));u=E(E(p*u)-E(q*w));q=E(E(L*L)+E(E(C*C)+E(u*u)));j=q>E(9999999747378752e-20);e:{if(!j){break e}p=E(E(1)/E(M(q)));K=E(L*p);O=E(u*p);w=E(C*p);i=x[d+20>>2];if((i|0)>0){e=0;n=x[d+28>>2];if(E(E(K*B[n+8>>2])+E(E(w*B[n>>2])+E(O*B[n+4>>2])))>E(.9990000128746033)){break e}while(1){e=e+1|0;if((i|0)!=(e|0)){l=n+(e<<4)|0;if(!(E(E(K*B[l+8>>2])+E(E(w*B[l>>2])+E(O*B[l+4>>2])))>E(.9990000128746033))){continue}}break}if((e|0)<(i|0)){break e}}p=E(E(K*I)+E(E(w*W)+E(O*S)));n=x[d+176>>2];if((n|0)>0){e=0;if(E(E(E(E(K*B[h+8>>2])+E(E(w*B[h>>2])+E(O*B[h+4>>2])))-p)+E(-.009999999776482582))>E(0)){break e}while(1){e=e+1|0;if((n|0)!=(e|0)){l=h+(e<<4)|0;if(!(E(E(E(E(K*B[l+8>>2])+E(E(w*B[l>>2])+E(O*B[l+4>>2])))-p)+E(-.009999999776482582))>E(0))){continue}}break}if((e|0)<(n|0)){break e}}p=E(-p);f:{if(x[d+24>>2]!=(i|0)){break f}m=i?i<<1:1;if((m|0)<=(i|0)){break f}g:{if(!m){n=0;break g}x[8456]=x[8456]+1;n=ia[x[8258]](m<<4,16)|0;i=x[d+20>>2]}h:{if((i|0)<=0){break h}g=i&1;e=0;if((i|0)!=1){r=i&-2;i=0;while(1){k=e<<4;h=k+n|0;o=k+x[d+28>>2]|0;l=x[o+4>>2];x[h>>2]=x[o>>2];x[h+4>>2]=l;l=x[o+12>>2];x[h+8>>2]=x[o+8>>2];x[h+12>>2]=l;l=k|16;h=l+n|0;k=l+x[d+28>>2]|0;l=x[k+4>>2];x[h>>2]=x[k>>2];x[h+4>>2]=l;l=x[k+12>>2];x[h+8>>2]=x[k+8>>2];x[h+12>>2]=l;e=e+2|0;i=i+2|0;if((r|0)!=(i|0)){continue}break}}if(!g){break h}i=e<<4;l=i+n|0;e=i+x[d+28>>2]|0;i=x[e+4>>2];x[l>>2]=x[e>>2];x[l+4>>2]=i;i=x[e+12>>2];x[l+8>>2]=x[e+8>>2];x[l+12>>2]=i}i=x[d+28>>2];if(!(i?!i|!y[d+32|0]:1)){x[8457]=x[8457]+1;ia[x[8259]](i)}x[d+28>>2]=n;v[d+32|0]=1;x[d+24>>2]=m;i=x[d+20>>2]}i=x[d+28>>2]+(i<<4)|0;B[i+12>>2]=p;B[i+8>>2]=K;B[i+4>>2]=O;B[i>>2]=w;x[d+20>>2]=x[d+20>>2]+1}i:{if(!j){break i}p=E(E(1)/E(M(q)));w=E(p*E(-L));u=E(p*E(-u));q=E(p*E(-C));i=x[d+20>>2];if((i|0)>0){e=0;n=x[d+28>>2];if(E(E(w*B[n+8>>2])+E(E(q*B[n>>2])+E(u*B[n+4>>2])))>E(.9990000128746033)){break i}while(1){e=e+1|0;if((i|0)!=(e|0)){l=n+(e<<4)|0;if(!(E(E(w*B[l+8>>2])+E(E(q*B[l>>2])+E(u*B[l+4>>2])))>E(.9990000128746033))){continue}}break}if((e|0)<(i|0)){break i}}p=E(E(w*B[H+8>>2])+E(E(q*B[H>>2])+E(u*B[H+4>>2])));n=x[d+176>>2];if((n|0)>0){e=0;h=x[d+184>>2];if(E(E(E(E(w*B[h+8>>2])+E(E(q*B[h>>2])+E(u*B[h+4>>2])))-p)+E(-.009999999776482582))>E(0)){break i}while(1){e=e+1|0;if((n|0)!=(e|0)){l=h+(e<<4)|0;if(!(E(E(E(E(w*B[l+8>>2])+E(E(q*B[l>>2])+E(u*B[l+4>>2])))-p)+E(-.009999999776482582))>E(0))){continue}}break}if((e|0)<(n|0)){break i}}p=E(-p);j:{if(x[d+24>>2]!=(i|0)){break j}o=i?i<<1:1;if((o|0)<=(i|0)){break j}k:{if(!o){n=0;break k}x[8456]=x[8456]+1;n=ia[x[8258]](o<<4,16)|0;i=x[d+20>>2]}l:{if((i|0)<=0){break l}g=i&1;e=0;if((i|0)!=1){r=i&-2;i=0;while(1){j=e<<4;h=j+n|0;k=j+x[d+28>>2]|0;l=x[k+4>>2];x[h>>2]=x[k>>2];x[h+4>>2]=l;l=x[k+12>>2];x[h+8>>2]=x[k+8>>2];x[h+12>>2]=l;l=j|16;h=l+n|0;j=l+x[d+28>>2]|0;l=x[j+4>>2];x[h>>2]=x[j>>2];x[h+4>>2]=l;l=x[j+12>>2];x[h+8>>2]=x[j+8>>2];x[h+12>>2]=l;e=e+2|0;i=i+2|0;if((r|0)!=(i|0)){continue}break}}if(!g){break l}i=e<<4;l=i+n|0;e=i+x[d+28>>2]|0;i=x[e+4>>2];x[l>>2]=x[e>>2];x[l+4>>2]=i;i=x[e+12>>2];x[l+8>>2]=x[e+8>>2];x[l+12>>2]=i}i=x[d+28>>2];if(!(i?!i|!y[d+32|0]:1)){x[8457]=x[8457]+1;ia[x[8259]](i)}x[d+28>>2]=n;v[d+32|0]=1;x[d+24>>2]=o;i=x[d+20>>2]}i=x[d+28>>2]+(i<<4)|0;B[i+12>>2]=p;B[i+8>>2]=w;B[i+4>>2]=u;B[i>>2]=q;x[d+20>>2]=x[d+20>>2]+1}f=f+1|0;if((G|0)>(f|0)){continue}break}}if((b|0)!=(G|0)){continue}break}}if((c|0)!=(G|0)){continue}break}}x[d+104>>2]=0;v[d+108|0]=1;x[d+96>>2]=0;x[d+100>>2]=0;if(x[d+20>>2]<=0){break d}while(1){b=x[d+28>>2]+(z<<4)|0;x[d+80>>2]=x[b+8>>2];c=x[b+4>>2];x[d+72>>2]=x[b>>2];x[d+76>>2]=c;p=E(B[b+12>>2]-E(ia[x[x[a>>2]+48>>2]](a)));c=x[d+96>>2];m:{if((c|0)!=x[d+100>>2]){break m}g=c?c<<1:1;if((g|0)<=(c|0)){break m}n:{if(!g){h=0;break n}x[8456]=x[8456]+1;h=ia[x[8258]](g<<4,16)|0;c=x[d+96>>2]}o:{if((c|0)<=0){break o}e=0;if((c|0)!=1){l=c&-2;f=0;while(1){n=e<<4;i=n+h|0;r=n+x[d+104>>2]|0;b=x[r+4>>2];x[i>>2]=x[r>>2];x[i+4>>2]=b;b=x[r+12>>2];x[i+8>>2]=x[r+8>>2];x[i+12>>2]=b;b=n|16;i=b+h|0;n=b+x[d+104>>2]|0;b=x[n+4>>2];x[i>>2]=x[n>>2];x[i+4>>2]=b;b=x[n+12>>2];x[i+8>>2]=x[n+8>>2];x[i+12>>2]=b;e=e+2|0;f=f+2|0;if((l|0)!=(f|0)){continue}break}}if(!(c&1)){break o}b=e<<4;c=b+h|0;f=b+x[d+104>>2]|0;b=x[f+4>>2];x[c>>2]=x[f>>2];x[c+4>>2]=b;b=x[f+12>>2];x[c+8>>2]=x[f+8>>2];x[c+12>>2]=b}b=x[d+104>>2];if(!(b?!b|!y[d+108|0]:1)){x[8457]=x[8457]+1;ia[x[8259]](b)}x[d+104>>2]=h;v[d+108|0]=1;x[d+100>>2]=g;c=x[d+96>>2]}b=x[d+76>>2];c=x[d+104>>2]+(c<<4)|0;x[c>>2]=x[d+72>>2];x[c+4>>2]=b;b=x[d+80>>2];B[c+12>>2]=p;x[c+8>>2]=b;x[d+96>>2]=x[d+96>>2]+1;z=z+1|0;if((z|0)>2]){continue}break}break d}Vd(d+112|0,c,x[d+176>>2]);break c}x[d+84>>2]=0;v[d+88|0]=1;x[d+76>>2]=0;x[d+80>>2]=0;c=0;t=x[d+96>>2];if((t|0)>0){while(1){b=c;c=c+1|0;if((t|0)>(c|0)){m=x[d+104>>2]+(b<<4)|0;b=c;while(1){f=b;b=b+1|0;if((t|0)>(b|0)){o=x[d+104>>2]+(f<<4)|0;f=b;while(1){X=B[o>>2];e=x[d+104>>2];i=e+(f<<4)|0;w=B[i+4>>2];C=B[i>>2];u=B[o+4>>2];P=E(E(X*w)-E(C*u));q=B[i+8>>2];p=B[o+8>>2];K=E(E(u*q)-E(w*p));O=E(E(p*C)-E(q*X));p:{if(!(E(E(P*P)+E(E(K*K)+E(O*O)))>E(9999999747378752e-20))){break p}Z=B[m+4>>2];_=B[m>>2];L=E(E(C*Z)-E(_*w));Q=B[m+8>>2];W=E(E(w*Q)-E(Z*q));S=E(E(q*_)-E(Q*C));if(!(E(E(L*L)+E(E(W*W)+E(S*S)))>E(9999999747378752e-20))){break p}q=E(E(_*u)-E(X*Z));I=E(E(Z*p)-E(u*Q));w=E(E(Q*X)-E(p*_));if(!(E(E(q*q)+E(E(I*I)+E(w*w)))>E(9999999747378752e-20))){break p}p=E(E(Q*P)+E(E(_*K)+E(Z*O)));if(!(E(F(p))>E(9.999999974752427e-7))){break p}C=E(E(-1)/p);u=B[i+12>>2];Q=E(q*u);q=B[m+12>>2];p=B[o+12>>2];L=E(C*E(Q+E(E(P*q)+E(L*p))));w=E(C*E(E(w*u)+E(E(O*q)+E(S*p))));p=E(C*E(E(I*u)+E(E(K*q)+E(W*p))));l=x[d+96>>2];if((l|0)>0){i=0;if(E(E(B[e+12>>2]+E(E(B[e+8>>2]*L)+E(E(B[e>>2]*p)+E(w*B[e+4>>2]))))+E(-.009999999776482582))>E(0)){break p}while(1){i=i+1|0;if((l|0)!=(i|0)){n=e+(i<<4)|0;if(!(E(E(B[n+12>>2]+E(E(B[n+8>>2]*L)+E(E(B[n>>2]*p)+E(w*B[n+4>>2]))))+E(-.009999999776482582))>E(0))){continue}}break}if((i|0)<(l|0)){break p}}e=x[d+76>>2];q:{if((e|0)!=x[d+80>>2]){break q}k=e?e<<1:1;if((k|0)<=(e|0)){break q}r:{if(!k){i=0;break r}x[8456]=x[8456]+1;i=ia[x[8258]](k<<4,16)|0;e=x[d+76>>2]}s:{if((e|0)<=0){break s}r=0;if((e|0)!=1){h=e&-2;A=0;while(1){g=r<<4;n=g+i|0;j=g+x[d+84>>2]|0;l=x[j+4>>2];x[n>>2]=x[j>>2];x[n+4>>2]=l;l=x[j+12>>2];x[n+8>>2]=x[j+8>>2];x[n+12>>2]=l;l=g|16;n=l+i|0;g=l+x[d+84>>2]|0;l=x[g+4>>2];x[n>>2]=x[g>>2];x[n+4>>2]=l;l=x[g+12>>2];x[n+8>>2]=x[g+8>>2];x[n+12>>2]=l;r=r+2|0;A=A+2|0;if((h|0)!=(A|0)){continue}break}}if(!(e&1)){break s}l=r<<4;n=l+i|0;e=l+x[d+84>>2]|0;l=x[e+4>>2];x[n>>2]=x[e>>2];x[n+4>>2]=l;l=x[e+12>>2];x[n+8>>2]=x[e+8>>2];x[n+12>>2]=l}l=x[d+84>>2];if(!(l?!l|!y[d+88|0]:1)){x[8457]=x[8457]+1;ia[x[8259]](l)}x[d+84>>2]=i;v[d+88|0]=1;x[d+80>>2]=k;e=x[d+76>>2]}i=x[d+84>>2]+(e<<4)|0;x[i+12>>2]=0;B[i+8>>2]=L;B[i+4>>2]=w;B[i>>2]=p;x[d+76>>2]=x[d+76>>2]+1}f=f+1|0;if((t|0)>(f|0)){continue}break}}if((b|0)!=(t|0)){continue}break}}if((c|0)!=(t|0)){continue}break}}Vd(d+112|0,x[d+84>>2],x[d+76>>2]);b=x[d+84>>2];if(!(b?!b|!y[d+88|0]:1)){x[8457]=x[8457]+1;ia[x[8259]](b)}b=x[d+104>>2];if(!(b?!b|!y[d+108|0]:1)){x[8457]=x[8457]+1;ia[x[8259]](b)}b=x[d+28>>2];if(!b|!y[d+32|0]){break c}if(b){x[8457]=x[8457]+1;ia[x[8259]](b)}}t:{u:{l=x[d+156>>2];if((l|0)>=0){if(l){break u}x[d+32>>2]=0;x[d+36>>2]=0;x[d+48>>2]=0;x[d+40>>2]=0;x[d+44>>2]=0;x[d+24>>2]=0;x[d+28>>2]=0;v[d+32|0]=1;x[d+16>>2]=0;x[d+20>>2]=0;x[d+20>>2]=0;break t}x[d+32>>2]=0;x[d+36>>2]=0;x[d+48>>2]=0;x[d+40>>2]=0;x[d+44>>2]=0;x[d+24>>2]=0;x[d+28>>2]=0;v[d+32|0]=1;x[d+16>>2]=0;x[d+20>>2]=0;x[d+20>>2]=0;c=l;while(1){f=D(c,36);b=x[f+12>>2];if(!(b?!b|!y[f+16|0]:1)){x[8457]=x[8457]+1;ia[x[8259]](b)}x[f+12>>2]=0;v[f+16|0]=1;x[f+4>>2]=0;x[f+8>>2]=0;c=c+1|0;if(c){continue}break}break t}x[8456]=x[8456]+1;$=ia[x[8258]](l<<4,16)|0;x[d+32>>2]=0;x[d+36>>2]=0;e=0;x[d+48>>2]=0;x[d+40>>2]=0;x[d+44>>2]=0;x[d+24>>2]=0;x[d+28>>2]=0;v[d+32|0]=1;x[d+16>>2]=0;x[d+20>>2]=0;x[d+20>>2]=0;x[8456]=x[8456]+1;T=ia[x[8258]](D(l,36),16)|0;while(1){c=D(e,36)+T|0;qc(c,d+16|0);b=x[d+48>>2];x[c+28>>2]=x[d+44>>2];x[c+32>>2]=b;b=x[d+40>>2];x[c+20>>2]=x[d+36>>2];x[c+24>>2]=b;e=e+1|0;if((l|0)!=(e|0)){continue}break}}b=x[d+28>>2];if(!(b?!b|!y[d+32|0]:1)){x[8457]=x[8457]+1;ia[x[8259]](b)}g=x[a+60>>2];h=x[g+8>>2];r=x[d+116>>2];if(!((h|0)>=(r|0)|(r|0)<=x[g+12>>2])){v:{if(!r){s=0;break v}x[8456]=x[8456]+1;s=ia[x[8258]](r<<4,16)|0;h=x[g+8>>2]}w:{if((h|0)<=0){break w}c=0;if((h|0)!=1){i=h&-2;A=0;while(1){n=c<<4;f=n+s|0;e=n+x[g+16>>2]|0;b=x[e+4>>2];x[f>>2]=x[e>>2];x[f+4>>2]=b;b=x[e+12>>2];x[f+8>>2]=x[e+8>>2];x[f+12>>2]=b;b=n|16;f=b+s|0;n=b+x[g+16>>2]|0;b=x[n+4>>2];x[f>>2]=x[n>>2];x[f+4>>2]=b;b=x[n+12>>2];x[f+8>>2]=x[n+8>>2];x[f+12>>2]=b;c=c+2|0;A=A+2|0;if((i|0)!=(A|0)){continue}break}}if(!(h&1)){break w}b=c<<4;c=b+s|0;f=b+x[g+16>>2]|0;b=x[f+4>>2];x[c>>2]=x[f>>2];x[c+4>>2]=b;b=x[f+12>>2];x[c+8>>2]=x[f+8>>2];x[c+12>>2]=b}b=x[g+16>>2];if(!(b?!b|!y[g+20|0]:1)){x[8457]=x[8457]+1;ia[x[8259]](b)}x[g+16>>2]=s;v[g+20|0]=1;x[g+12>>2]=r}x[g+8>>2]=r;x:{if((r|0)<=0){break x}e=0;if((r|0)!=1){f=r&-2;h=0;while(1){i=e<<4;c=i+x[x[a+60>>2]+16>>2]|0;n=i+x[d+124>>2]|0;b=x[n+4>>2];x[c>>2]=x[n>>2];x[c+4>>2]=b;b=x[n+12>>2];x[c+8>>2]=x[n+8>>2];x[c+12>>2]=b;b=i|16;c=b+x[x[a+60>>2]+16>>2]|0;i=b+x[d+124>>2]|0;b=x[i+4>>2];x[c>>2]=x[i>>2];x[c+4>>2]=b;b=x[i+12>>2];x[c+8>>2]=x[i+8>>2];x[c+12>>2]=b;e=e+2|0;h=h+2|0;if((f|0)!=(h|0)){continue}break}}if(!(r&1)){break x}b=e<<4;c=b+x[x[a+60>>2]+16>>2]|0;f=b+x[d+124>>2]|0;b=x[f+4>>2];x[c>>2]=x[f>>2];x[c+4>>2]=b;b=x[f+12>>2];x[c+8>>2]=x[f+8>>2];x[c+12>>2]=b}y:{z:{A:{B:{if((l|0)<=0){break B}h=0;while(1){m=D(h,36)+T|0;f=x[m+4>>2];n=0;g=x[d+144>>2]+D(x[x[d+164>>2]+(h<<2)>>2],12)|0;z=g;C:{while(1){r=x[(D(x[z+4>>2],12)+z|0)+8>>2];D:{if(x[m+8>>2]!=(f|0)){break D}j=f?f<<1:1;if((j|0)<=(f|0)){break D}E:{if(!j){c=0;break E}x[8456]=x[8456]+1;c=ia[x[8258]](j<<2,16)|0;f=x[m+4>>2]}o=x[m+12>>2];F:{G:{if((f|0)>0){s=0;e=0;if(f>>>0>=4){i=f&-4;J=0;while(1){k=e<<2;x[k+c>>2]=x[k+o>>2];b=k|4;x[b+c>>2]=x[b+o>>2];b=k|8;x[b+c>>2]=x[b+o>>2];b=k|12;x[b+c>>2]=x[b+o>>2];e=e+4|0;J=J+4|0;if((i|0)!=(J|0)){continue}break}}f=f&3;if(!f){break G}while(1){b=e<<2;x[b+c>>2]=x[b+o>>2];e=e+1|0;s=s+1|0;if((f|0)!=(s|0)){continue}break}break G}if(!o){break F}}if(o?y[m+16|0]:0){x[8457]=x[8457]+1;ia[x[8259]](o)}f=x[m+4>>2]}x[m+12>>2]=c;v[m+16|0]=1;x[m+8>>2]=j}x[x[m+12>>2]+(f<<2)>>2]=r;f=x[m+4>>2]+1|0;x[m+4>>2]=f;H:{if((n|0)<=1){b=x[d+124>>2];c=b+(r<<4)|0;I=B[c+8>>2];b=b+(x[z+8>>2]<<4)|0;w=B[b+8>>2];C=B[c>>2];u=B[b>>2];q=B[c+4>>2];p=B[b+4>>2];b=(d+16|0)+(n<<4)|0;x[b+12>>2]=0;w=E(w-I);u=E(u-C);p=E(p-q);q=E(E(1)/E(M(E(E(w*w)+E(E(u*u)+E(p*p))))));B[b+8>>2]=w*q;B[b+4>>2]=p*q;B[b>>2]=u*q;n=n+1|0;b=D(x[z+4>>2],12)+z|0;z=D(x[b>>2],12)+b|0;if((g|0)!=(z|0)){continue}if((n|0)==2){break H}b=(h<<4)+$|0;x[b>>2]=0;x[b+4>>2]=0;x[b+8>>2]=0;x[b+12>>2]=0;break C}n=2;b=D(x[z+4>>2],12)+z|0;z=D(x[b>>2],12)+b|0;if((g|0)!=(z|0)){continue}}break}S=B[d+20>>2];q=B[d+36>>2];I=B[d+32>>2];w=B[d+24>>2];C=B[d+16>>2];p=B[d+40>>2];b=(h<<4)+$|0;x[b+12>>2]=0;u=E(E(C*q)-E(I*S));q=E(E(S*p)-E(q*w));p=E(E(w*I)-E(p*C));C=E(E(1)/E(M(E(E(u*u)+E(E(q*q)+E(p*p))))));B[b+8>>2]=u*C;B[b+4>>2]=p*C;p=E(q*C);B[b>>2]=p;B[m+20>>2]=p;B[m+24>>2]=B[b+4>>2];p=B[b+8>>2];x[m+32>>2]=1900671690;B[m+28>>2]=p}c=x[m+4>>2];I:{if((c|0)<=0){I=E(1.0000000150474662e30);break I}f=c&1;b=(h<<4)+$|0;w=B[b+8>>2];C=B[b+4>>2];u=B[b>>2];r=x[x[a+60>>2]+16>>2];n=x[m+12>>2];J:{if((c|0)==1){I=E(1.0000000150474662e30);e=0;break J}c=c&-2;I=E(1.0000000150474662e30);e=0;s=0;while(1){b=e<<2;i=r+(x[n+(b|4)>>2]<<4)|0;q=E(E(B[i+8>>2]*w)+E(E(B[i>>2]*u)+E(B[i+4>>2]*C)));b=r+(x[b+n>>2]<<4)|0;p=E(E(B[b+8>>2]*w)+E(E(B[b>>2]*u)+E(B[b+4>>2]*C)));p=pq?q:p;e=e+2|0;s=s+2|0;if((c|0)!=(s|0)){continue}break}}if(!f){break I}b=r+(x[n+(e<<2)>>2]<<4)|0;p=E(E(B[b+8>>2]*w)+E(E(B[b>>2]*u)+E(B[b+4>>2]*C)));I=p>2]=-I;h=h+1|0;if((l|0)!=(h|0)){continue}break}f=0;if((l|0)<=0){break B}r=0;b=0;while(1){K:{if((b|0)!=(f|0)){break K}b=f?f<<1:1;if(f>>>0>=b>>>0){b=f;break K}x[8456]=x[8456]+1;c=ia[x[8258]](b<<2,16)|0;L:{M:{if(f){s=0;e=0;if(f>>>0>=4){n=f&2147483644;A=0;while(1){h=e<<2;x[h+c>>2]=x[h+r>>2];i=h|4;x[i+c>>2]=x[i+r>>2];i=h|8;x[i+c>>2]=x[i+r>>2];i=h|12;x[i+c>>2]=x[i+r>>2];e=e+4|0;A=A+4|0;if((n|0)!=(A|0)){continue}break}}n=f&3;if(!n){break M}while(1){i=e<<2;x[i+c>>2]=x[i+r>>2];e=e+1|0;s=s+1|0;if((n|0)!=(s|0)){continue}break}break M}if(r){break M}b=1;break L}if(r){x[8457]=x[8457]+1;ia[x[8259]](r)}}r=c}x[(f<<2)+r>>2]=f;f=f+1|0;if((l|0)!=(f|0)){continue}break}i=l;while(1){c=i-1|0;b=x[(c<<2)+r>>2];x[8456]=x[8456]+1;n=ia[x[8258]](4,16)|0;x[n>>2]=b;N:{O:{if((i|0)<2){i=c;U=1;break O}b=D(b,36)+T|0;u=B[b+20>>2];q=B[b+28>>2];p=B[b+24>>2];e=i-2|0;b=1;i=c;U=1;while(1){h=e;k=x[(e<<2)+r>>2];c=D(k,36)+T|0;if(E(E(q*B[c+28>>2])+E(E(u*B[c+20>>2])+E(p*B[c+24>>2])))>E(.9990000128746033)){P:{Q:{if((b|0)!=(U|0)){break Q}f=b?b<<1:1;if((f|0)<=(b|0)){break Q}if(f){x[8456]=x[8456]+1;c=ia[x[8258]](f<<2,16)|0}else{c=0}R:{if((b|0)>0){s=0;e=0;if(b>>>0>=4){j=b&-4;z=0;while(1){o=e<<2;x[o+c>>2]=x[n+o>>2];g=o|4;x[g+c>>2]=x[g+n>>2];g=o|8;x[g+c>>2]=x[g+n>>2];g=o|12;x[g+c>>2]=x[g+n>>2];e=e+4|0;z=z+4|0;if((j|0)!=(z|0)){continue}break}}g=b&3;if(!g){break R}while(1){b=e<<2;x[b+c>>2]=x[b+n>>2];e=e+1|0;s=s+1|0;if((g|0)!=(s|0)){continue}break}break R}if(!n){break P}}if(n){x[8457]=x[8457]+1;ia[x[8259]](n)}break P}f=b;c=n}x[(U<<2)+c>>2]=k;U=U+1|0;e=0;S:{if((i|0)<=0){break S}while(1){b=(e<<2)+r|0;if((k|0)!=x[b>>2]){e=e+1|0;if((i|0)!=(e|0)){continue}break S}break}if((e|0)>=(i|0)){break S}e=b;i=i-1|0;b=(i<<2)+r|0;x[e>>2]=x[b>>2];x[b>>2]=k}n=c;b=f}e=h-1|0;if((h|0)>0){continue}break}T:{if((U|0)>1){c=0;x[d+104>>2]=0;v[d+108|0]=1;x[d+96>>2]=0;x[d+100>>2]=0;x[d+8>>2]=0;x[d+12>>2]=0;x[d>>2]=0;x[d+4>>2]=0;h=0;while(1){G=D(x[(h<<2)+n>>2],36)+T|0;q=B[G+28>>2];p=B[G+24>>2];B[d>>2]=B[G+20>>2]+B[d>>2];B[d+4>>2]=p+B[d+4>>2];B[d+8>>2]=q+B[d+8>>2];s=x[G+4>>2];if((s|0)>0){f=0;while(1){m=x[x[G+12>>2]+(f<<2)>>2];g=x[x[a+60>>2]+16>>2];U:{if((c|0)>0){e=0;b=x[d+104>>2];while(1){if((m|0)==x[(b+D(e,24)|0)+20>>2]){break U}e=e+1|0;if((e|0)!=(c|0)){continue}break}}e=g+(m<<4)|0;b=x[e+12>>2];x[d+24>>2]=x[e+8>>2];x[d+28>>2]=b;b=x[e+4>>2];x[d+16>>2]=x[e>>2];x[d+20>>2]=b;V:{if(x[d+100>>2]!=(c|0)){break V}o=c?c<<1:1;if((o|0)<=(c|0)){break V}W:{if(!o){s=0;break W}x[8456]=x[8456]+1;s=ia[x[8258]](D(o,24),16)|0;c=x[d+96>>2]}H=x[d+104>>2];X:{if((c|0)<=0){break X}J=0;e=0;if(c>>>0>=4){k=c&-4;b=0;while(1){g=D(e,24);j=g+s|0;t=g+H|0;g=x[t+4>>2];x[j>>2]=x[t>>2];x[j+4>>2]=g;g=x[t+20>>2];x[j+16>>2]=x[t+16>>2];x[j+20>>2]=g;g=x[t+12>>2];x[j+8>>2]=x[t+8>>2];x[j+12>>2]=g;g=D(e|1,24);j=g+s|0;t=g+H|0;g=x[t+20>>2];x[j+16>>2]=x[t+16>>2];x[j+20>>2]=g;g=x[t+12>>2];x[j+8>>2]=x[t+8>>2];x[j+12>>2]=g;g=x[t+4>>2];x[j>>2]=x[t>>2];x[j+4>>2]=g;g=D(e|2,24);j=g+s|0;t=g+H|0;g=x[t+20>>2];x[j+16>>2]=x[t+16>>2];x[j+20>>2]=g;g=x[t+12>>2];x[j+8>>2]=x[t+8>>2];x[j+12>>2]=g;g=x[t+4>>2];x[j>>2]=x[t>>2];x[j+4>>2]=g;g=D(e|3,24);j=g+s|0;t=g+H|0;g=x[t+20>>2];x[j+16>>2]=x[t+16>>2];x[j+20>>2]=g;g=x[t+12>>2];x[j+8>>2]=x[t+8>>2];x[j+12>>2]=g;g=x[t+4>>2];x[j>>2]=x[t>>2];x[j+4>>2]=g;e=e+4|0;b=b+4|0;if((k|0)!=(b|0)){continue}break}}j=c&3;if(!j){break X}while(1){b=D(e,24);g=b+s|0;k=b+H|0;b=x[k+4>>2];x[g>>2]=x[k>>2];x[g+4>>2]=b;b=x[k+20>>2];x[g+16>>2]=x[k+16>>2];x[g+20>>2]=b;b=x[k+12>>2];x[g+8>>2]=x[k+8>>2];x[g+12>>2]=b;e=e+1|0;J=J+1|0;if((j|0)!=(J|0)){continue}break}}if(!(!H|!y[d+108|0])){if(H){x[8457]=x[8457]+1;ia[x[8259]](H)}c=x[d+96>>2]}x[d+104>>2]=s;v[d+108|0]=1;x[d+100>>2]=o}b=x[d+20>>2];g=x[d+104>>2]+D(c,24)|0;c=g;x[c>>2]=x[d+16>>2];x[c+4>>2]=b;e=x[d+28>>2];c=x[d+24>>2];b=x[d+32>>2];x[g+20>>2]=m;x[g+16>>2]=b;x[g+8>>2]=c;x[g+12>>2]=e;c=x[d+96>>2]+1|0;x[d+96>>2]=c;s=x[G+4>>2]}f=f+1|0;if((s|0)>(f|0)){continue}break}}h=h+1|0;if((U|0)!=(h|0)){continue}break}break T}b=(U|0)!=1;U=1;if(b){break N}break O}x[d+28>>2]=0;v[d+32|0]=1;x[d+20>>2]=0;x[d+24>>2]=0;b=D(x[n>>2],36)+T|0;B[d+36>>2]=B[b+20>>2];B[d+40>>2]=B[b+24>>2];B[d+44>>2]=B[b+28>>2];B[d+48>>2]=B[b+32>>2];x[d+84>>2]=0;v[d+88|0]=1;x[d+76>>2]=0;x[d+80>>2]=0;u=B[d+8>>2];q=B[d>>2];p=B[d+4>>2];C=E(E(1)/E(M(E(E(u*u)+E(E(q*q)+E(p*p))))));B[d+8>>2]=u*C;B[d+4>>2]=p*C;B[d>>2]=q*C;t=d+92|0;c=0;J=0;h=0;Q=E(0);X=E(0);G=ga-32|0;ga=G;w=B[d+8>>2];Y:{if(E(F(w))>E(.7071067690849304)){q=B[d+4>>2];p=E(E(q*q)+E(w*w));u=E(E(1)/E(M(p)));O=E(p*u);p=B[d>>2];P=E(u*E(-w));L=E(p*P);X=E(q*u);p=E(X*E(-p));break Y}u=B[d>>2];q=B[d+4>>2];p=E(E(u*u)+E(q*q));C=E(E(1)/E(M(p)));L=E(p*C);P=E(u*C);O=E(P*E(-w));Q=E(C*E(-q));p=E(w*Q)}f=x[t+4>>2];Z:{if((f|0)>=2){while(1){g=x[t+12>>2];e=D(c,24);b=g+e|0;if(E(E(B[b+8>>2]*X)+E(E(B[b>>2]*Q)+E(P*B[b+4>>2])))>2]*X)+E(E(B[g>>2]*Q)+E(P*B[g+4>>2])))){f=x[g+20>>2];x[G+24>>2]=x[g+16>>2];x[G+28>>2]=f;f=x[g+12>>2];x[G+16>>2]=x[g+8>>2];x[G+20>>2]=f;f=x[g+4>>2];x[G+8>>2]=x[g>>2];x[G+12>>2]=f;f=x[b+4>>2];x[g>>2]=x[b>>2];x[g+4>>2]=f;f=x[b+12>>2];x[g+8>>2]=x[b+8>>2];x[g+12>>2]=f;f=x[b+20>>2];x[g+16>>2]=x[b+16>>2];x[g+20>>2]=f;b=x[G+12>>2];f=e+x[t+12>>2]|0;x[f>>2]=x[G+8>>2];x[f+4>>2]=b;b=x[G+28>>2];x[f+16>>2]=x[G+24>>2];x[f+20>>2]=b;b=x[G+20>>2];x[f+8>>2]=x[G+16>>2];x[f+12>>2]=b;f=x[t+4>>2]}c=c+1|0;if((f|0)>(c|0)){continue}break}e=x[t+12>>2];x[e+16>>2]=-246811958;if((f|0)>=2){S=B[e+8>>2];I=B[e+4>>2];w=B[e>>2];b=1;while(1){W=E(0);c=e+D(b,24)|0;C=E(B[c+8>>2]-S);u=E(B[c>>2]-w);q=E(B[c+4>>2]-I);K=E(E(L*C)+E(E(O*u)+E(p*q)));u=E(E(X*C)+E(E(Q*u)+E(P*q)));if(!(E(E(K*K)+E(u*u))=E(0)?E(E(E(E(u-q)/E(u+q))*E(-.7853981852531433))+E(.7853981852531433)):E(E(E(E(u+q)/E(q-u))*E(-.7853981852531433))+E(2.356194496154785));W=K>2]=W;b=b+1|0;if((f|0)!=(b|0)){continue}break}}b=x[e+12>>2];x[G+16>>2]=x[e+8>>2];x[G+20>>2]=b;b=x[e+4>>2];x[G+8>>2]=x[e>>2];x[G+12>>2]=b;Ud(t,G+8|0,1,f-1|0);e=x[t+12>>2];b=x[d+76>>2];_:{if((b|0)!=x[d+80>>2]){break _}o=b?b<<1:1;if((o|0)<=(b|0)){break _}$:{if(!o){f=0;break $}x[8456]=x[8456]+1;f=ia[x[8258]](D(o,24),16)|0;b=x[d+76>>2]}aa:{if((b|0)<=0){break aa}c=0;if((b|0)!=1){k=b&-2;while(1){g=D(c,24);j=g+f|0;m=g+x[d+84>>2]|0;g=x[m+4>>2];x[j>>2]=x[m>>2];x[j+4>>2]=g;g=x[m+20>>2];x[j+16>>2]=x[m+16>>2];x[j+20>>2]=g;g=x[m+12>>2];x[j+8>>2]=x[m+8>>2];x[j+12>>2]=g;g=D(c|1,24);j=g+f|0;m=g+x[d+84>>2]|0;g=x[m+4>>2];x[j>>2]=x[m>>2];x[j+4>>2]=g;g=x[m+12>>2];x[j+8>>2]=x[m+8>>2];x[j+12>>2]=g;g=x[m+20>>2];x[j+16>>2]=x[m+16>>2];x[j+20>>2]=g;c=c+2|0;h=h+2|0;if((k|0)!=(h|0)){continue}break}}if(!(b&1)){break aa}b=D(c,24);c=b+f|0;h=b+x[d+84>>2]|0;b=x[h+4>>2];x[c>>2]=x[h>>2];x[c+4>>2]=b;b=x[h+20>>2];x[c+16>>2]=x[h+16>>2];x[c+20>>2]=b;b=x[h+12>>2];x[c+8>>2]=x[h+8>>2];x[c+12>>2]=b}b=x[d+84>>2];if(!(b?!b|!y[d+88|0]:1)){x[8457]=x[8457]+1;ia[x[8259]](b)}x[d+84>>2]=f;v[d+88|0]=1;x[d+80>>2]=o;b=x[d+76>>2]}c=x[d+84>>2]+D(b,24)|0;b=x[e+4>>2];x[c>>2]=x[e>>2];x[c+4>>2]=b;b=x[e+20>>2];x[c+16>>2]=x[e+16>>2];x[c+20>>2]=b;b=x[e+12>>2];x[c+8>>2]=x[e+8>>2];x[c+12>>2]=b;b=x[d+76>>2]+1|0;x[d+76>>2]=b;e=x[t+12>>2];ba:{if(x[d+80>>2]!=(b|0)){break ba}o=b?b<<1:1;if((o|0)<=(b|0)){break ba}ca:{if(!o){f=0;break ca}x[8456]=x[8456]+1;f=ia[x[8258]](D(o,24),16)|0;b=x[d+76>>2]}da:{if((b|0)<=0){break da}c=0;if((b|0)!=1){k=b&-2;h=0;while(1){g=D(c,24);j=g+f|0;m=g+x[d+84>>2]|0;g=x[m+4>>2];x[j>>2]=x[m>>2];x[j+4>>2]=g;g=x[m+20>>2];x[j+16>>2]=x[m+16>>2];x[j+20>>2]=g;g=x[m+12>>2];x[j+8>>2]=x[m+8>>2];x[j+12>>2]=g;g=D(c|1,24);j=g+f|0;m=g+x[d+84>>2]|0;g=x[m+4>>2];x[j>>2]=x[m>>2];x[j+4>>2]=g;g=x[m+12>>2];x[j+8>>2]=x[m+8>>2];x[j+12>>2]=g;g=x[m+20>>2];x[j+16>>2]=x[m+16>>2];x[j+20>>2]=g;c=c+2|0;h=h+2|0;if((k|0)!=(h|0)){continue}break}}if(!(b&1)){break da}b=D(c,24);c=b+f|0;h=b+x[d+84>>2]|0;b=x[h+4>>2];x[c>>2]=x[h>>2];x[c+4>>2]=b;b=x[h+20>>2];x[c+16>>2]=x[h+16>>2];x[c+20>>2]=b;b=x[h+12>>2];x[c+8>>2]=x[h+8>>2];x[c+12>>2]=b}b=x[d+84>>2];if(!(b?!b|!y[d+88|0]:1)){x[8457]=x[8457]+1;ia[x[8259]](b)}x[d+84>>2]=f;v[d+88|0]=1;x[d+80>>2]=o;b=x[d+76>>2]}c=x[d+84>>2]+D(b,24)|0;b=x[e+28>>2];x[c>>2]=x[e+24>>2];x[c+4>>2]=b;b=x[e+44>>2];x[c+16>>2]=x[e+40>>2];x[c+20>>2]=b;b=x[e+36>>2];x[c+8>>2]=x[e+32>>2];x[c+12>>2]=b;b=x[d+76>>2]+1|0;x[d+76>>2]=b;if(x[t+4>>2]==2){break Z}s=2;while(1){ea:{if((b|0)<2){break ea}e=x[t+12>>2]+D(s,24)|0;K=B[e+8>>2];O=B[e+4>>2];L=B[e>>2];W=B[d+8>>2];S=B[d+4>>2];I=B[d>>2];f=x[d+84>>2];c=b;while(1){b=D(c,24)+f|0;h=b-48|0;q=B[h>>2];b=b-24|0;w=E(q-B[b>>2]);p=B[h+4>>2];C=E(p-O);u=E(q-L);p=E(p-B[b+4>>2]);Q=E(E(E(w*C)-E(u*p))*W);P=p;p=B[h+8>>2];q=E(p-K);p=E(p-B[b+8>>2]);if(E(Q+E(E(E(E(P*q)-E(C*p))*I)+E(S*E(E(p*u)-E(q*w)))))>E(0)){fa:{if(x[d+80>>2]!=(c|0)){break fa}j=c<<1;if((j|0)<=(c|0)){break fa}x[8456]=x[8456]+1;f=ia[x[8258]](D(c,48),16)|0;k=x[d+76>>2];ga:{if((k|0)<=0){break ga}c=0;if((k|0)!=1){g=k&-2;z=0;while(1){b=D(c,24);h=b+f|0;o=b+x[d+84>>2]|0;b=x[o+4>>2];x[h>>2]=x[o>>2];x[h+4>>2]=b;b=x[o+20>>2];x[h+16>>2]=x[o+16>>2];x[h+20>>2]=b;b=x[o+12>>2];x[h+8>>2]=x[o+8>>2];x[h+12>>2]=b;b=D(c|1,24);h=b+f|0;o=b+x[d+84>>2]|0;b=x[o+4>>2];x[h>>2]=x[o>>2];x[h+4>>2]=b;b=x[o+12>>2];x[h+8>>2]=x[o+8>>2];x[h+12>>2]=b;b=x[o+20>>2];x[h+16>>2]=x[o+16>>2];x[h+20>>2]=b;c=c+2|0;z=z+2|0;if((g|0)!=(z|0)){continue}break}}if(!(k&1)){break ga}b=D(c,24);c=b+f|0;h=b+x[d+84>>2]|0;b=x[h+4>>2];x[c>>2]=x[h>>2];x[c+4>>2]=b;b=x[h+20>>2];x[c+16>>2]=x[h+16>>2];x[c+20>>2]=b;b=x[h+12>>2];x[c+8>>2]=x[h+8>>2];x[c+12>>2]=b}b=x[d+84>>2];if(!(b?!b|!y[d+88|0]:1)){x[8457]=x[8457]+1;ia[x[8259]](b)}x[d+84>>2]=f;v[d+88|0]=1;x[d+80>>2]=j;c=x[d+76>>2]}b=x[e+4>>2];c=D(c,24)+f|0;x[c>>2]=x[e>>2];x[c+4>>2]=b;b=x[e+20>>2];x[c+16>>2]=x[e+16>>2];x[c+20>>2]=b;b=x[e+12>>2];x[c+8>>2]=x[e+8>>2];x[c+12>>2]=b;b=x[d+76>>2]+1|0;x[d+76>>2]=b;break ea}b=c-1|0;x[d+76>>2]=b;h=c>>>0>2;c=b;if(h){continue}break}}if((b|0)==1){b=x[t+12>>2]+D(s,24)|0;ha:{if(x[d+80>>2]!=1){f=x[d+84>>2];c=1;break ha}x[8456]=x[8456]+1;f=ia[x[8258]](48,16)|0;k=x[d+76>>2];ia:{if((k|0)<=0){break ia}c=0;if((k|0)!=1){j=k&-2;h=0;while(1){e=D(c,24);g=e+f|0;o=e+x[d+84>>2]|0;e=x[o+4>>2];x[g>>2]=x[o>>2];x[g+4>>2]=e;e=x[o+20>>2];x[g+16>>2]=x[o+16>>2];x[g+20>>2]=e;e=x[o+12>>2];x[g+8>>2]=x[o+8>>2];x[g+12>>2]=e;e=D(c|1,24);g=e+f|0;o=e+x[d+84>>2]|0;e=x[o+4>>2];x[g>>2]=x[o>>2];x[g+4>>2]=e;e=x[o+12>>2];x[g+8>>2]=x[o+8>>2];x[g+12>>2]=e;e=x[o+20>>2];x[g+16>>2]=x[o+16>>2];x[g+20>>2]=e;c=c+2|0;h=h+2|0;if((j|0)!=(h|0)){continue}break}}if(!(k&1)){break ia}c=D(c,24);e=c+f|0;h=c+x[d+84>>2]|0;c=x[h+4>>2];x[e>>2]=x[h>>2];x[e+4>>2]=c;c=x[h+20>>2];x[e+16>>2]=x[h+16>>2];x[e+20>>2]=c;c=x[h+12>>2];x[e+8>>2]=x[h+8>>2];x[e+12>>2]=c}c=x[d+84>>2];if(!(c?!c|!y[d+88|0]:1)){x[8457]=x[8457]+1;ia[x[8259]](c)}x[d+84>>2]=f;v[d+88|0]=1;x[d+80>>2]=2;c=x[d+76>>2]}f=D(c,24)+f|0;c=x[b+4>>2];x[f>>2]=x[b>>2];x[f+4>>2]=c;c=x[b+20>>2];x[f+16>>2]=x[b+16>>2];x[f+20>>2]=c;c=x[b+12>>2];x[f+8>>2]=x[b+8>>2];x[f+12>>2]=c;b=x[d+76>>2]+1|0;x[d+76>>2]=b}s=s+1|0;if((s|0)!=x[t+4>>2]){continue}break}break Z}if((f|0)!=1){break Z}b=x[d+76>>2];while(1){e=x[t+12>>2];ja:{if(x[d+80>>2]!=(b|0)){break ja}o=b?b<<1:1;if((o|0)<=(b|0)){break ja}ka:{if(!o){f=0;break ka}x[8456]=x[8456]+1;f=ia[x[8258]](D(o,24),16)|0;b=x[d+76>>2]}la:{if((b|0)<=0){break la}c=0;if((b|0)!=1){k=b&-2;h=0;while(1){g=D(c,24);j=g+f|0;m=g+x[d+84>>2]|0;g=x[m+4>>2];x[j>>2]=x[m>>2];x[j+4>>2]=g;g=x[m+20>>2];x[j+16>>2]=x[m+16>>2];x[j+20>>2]=g;g=x[m+12>>2];x[j+8>>2]=x[m+8>>2];x[j+12>>2]=g;g=D(c|1,24);j=g+f|0;m=g+x[d+84>>2]|0;g=x[m+4>>2];x[j>>2]=x[m>>2];x[j+4>>2]=g;g=x[m+12>>2];x[j+8>>2]=x[m+8>>2];x[j+12>>2]=g;g=x[m+20>>2];x[j+16>>2]=x[m+16>>2];x[j+20>>2]=g;c=c+2|0;h=h+2|0;if((k|0)!=(h|0)){continue}break}}if(!(b&1)){break la}b=D(c,24);c=b+f|0;h=b+x[d+84>>2]|0;b=x[h+4>>2];x[c>>2]=x[h>>2];x[c+4>>2]=b;b=x[h+20>>2];x[c+16>>2]=x[h+16>>2];x[c+20>>2]=b;b=x[h+12>>2];x[c+8>>2]=x[h+8>>2];x[c+12>>2]=b}b=x[d+84>>2];if(!(b?!b|!y[d+88|0]:1)){x[8457]=x[8457]+1;ia[x[8259]](b)}x[d+84>>2]=f;v[d+88|0]=1;x[d+80>>2]=o;b=x[d+76>>2]}c=x[d+84>>2]+D(b,24)|0;b=x[e+4>>2];x[c>>2]=x[e>>2];x[c+4>>2]=b;b=x[e+20>>2];x[c+16>>2]=x[e+16>>2];x[c+20>>2]=b;b=x[e+12>>2];x[c+8>>2]=x[e+8>>2];x[c+12>>2]=b;b=x[d+76>>2]+1|0;x[d+76>>2]=b;J=J+1|0;if((J|0)>2]){continue}break}}ga=G+32|0;ma:{if(x[d+76>>2]<=0){c=x[d+96>>2];break ma}b=0;A=x[d+20>>2];while(1){j=D(b,24);g=j+x[d+84>>2]|0;na:{if(x[d+24>>2]!=(A|0)){break na}o=A?A<<1:1;if((o|0)<=(A|0)){break na}oa:{if(!o){c=0;break oa}x[8456]=x[8456]+1;c=ia[x[8258]](o<<2,16)|0;A=x[d+20>>2]}t=x[d+28>>2];pa:{qa:{if((A|0)>0){k=A&3;s=0;e=0;if(A>>>0>=4){h=A&-4;A=0;while(1){m=e<<2;x[m+c>>2]=x[m+t>>2];f=m|4;x[f+c>>2]=x[f+t>>2];f=m|8;x[f+c>>2]=x[f+t>>2];f=m|12;x[f+c>>2]=x[f+t>>2];e=e+4|0;A=A+4|0;if((h|0)!=(A|0)){continue}break}}if(!k){break qa}while(1){f=e<<2;x[f+c>>2]=x[f+t>>2];e=e+1|0;s=s+1|0;if((k|0)!=(s|0)){continue}break}break qa}if(!t){break pa}}if(t?y[d+32|0]:0){x[8457]=x[8457]+1;ia[x[8259]](t)}A=x[d+20>>2]}x[d+28>>2]=c;v[d+32|0]=1;x[d+24>>2]=o}x[x[d+28>>2]+(A<<2)>>2]=x[g+20>>2];A=x[d+20>>2]+1|0;x[d+20>>2]=A;c=x[d+96>>2];ra:{if((c|0)<=0){break ra}g=x[(j+x[d+84>>2]|0)+20>>2];e=0;h=x[d+104>>2];while(1){f=h+D(e,24)|0;if((g|0)!=x[f+20>>2]){e=e+1|0;if((e|0)!=(c|0)){continue}break ra}break}x[f+20>>2]=-1}b=b+1|0;if((b|0)>2]){continue}break}}sa:{if((c|0)>0){z=0;g=x[d+104>>2];while(1){j=x[(g+D(z,24)|0)+20>>2];ta:{if((j|0)==-1|(l|0)<=0){break ta}h=0;if((U|0)>0){while(1){b=D(h,36)+T|0;e=0;ua:{while(1){if(x[(e<<2)+n>>2]==(h|0)){break ua}e=e+1|0;if((U|0)!=(e|0)){continue}break}f=x[b+4>>2];if((f|0)<=0){break ua}b=x[b+12>>2];e=0;while(1){if((j|0)!=x[b+(e<<2)>>2]){e=e+1|0;if((f|0)!=(e|0)){continue}break ua}break}b=1;break sa}h=h+1|0;if((l|0)!=(h|0)){continue}break ta}}while(1){va:{b=D(h,36)+T|0;f=x[b+4>>2];if((f|0)<=0){break va}b=x[b+12>>2];e=0;while(1){if((j|0)!=x[b+(e<<2)>>2]){e=e+1|0;if((f|0)!=(e|0)){continue}break va}break}b=1;break sa}h=h+1|0;if((l|0)!=(h|0)){continue}break}}z=z+1|0;if((z|0)!=(c|0)){continue}break}}k=x[a+60>>2];c=x[k+28>>2];if((c|0)==x[k+32>>2]){f=0;g=c?c<<1:1;if((g|0)>x[k+32>>2]){if(g){x[8456]=x[8456]+1;c=ia[x[8258]](D(g,36),16)|0}else{c=0}h=x[k+28>>2];wa:{if((h|0)<=0){break wa}while(1){b=D(f,36);j=b+c|0;b=b+x[k+36>>2]|0;qc(j,b);e=x[b+32>>2];x[j+28>>2]=x[b+28>>2];x[j+32>>2]=e;e=x[b+24>>2];x[j+20>>2]=x[b+20>>2];x[j+24>>2]=e;f=f+1|0;if((h|0)!=(f|0)){continue}break}b=x[k+28>>2];if((b|0)<=0){break wa}f=0;while(1){h=x[k+36>>2]+D(f,36)|0;e=x[h+12>>2];if(!(e?!e|!y[h+16|0]:1)){x[8457]=x[8457]+1;ia[x[8259]](e)}x[h+12>>2]=0;v[h+16|0]=1;x[h+4>>2]=0;x[h+8>>2]=0;f=f+1|0;if((b|0)!=(f|0)){continue}break}}b=x[k+36>>2];if(!(b?!b|!y[k+40|0]:1)){x[8457]=x[8457]+1;ia[x[8259]](b)}x[k+36>>2]=c;v[k+40|0]=1;x[k+32>>2]=g}c=x[k+28>>2]}c=x[k+36>>2]+D(c,36)|0;qc(c,d+16|0);b=x[d+48>>2];x[c+28>>2]=x[d+44>>2];x[c+32>>2]=b;b=x[d+40>>2];x[c+20>>2]=x[d+36>>2];x[c+24>>2]=b;x[k+28>>2]=x[k+28>>2]+1;b=0}c=x[d+84>>2];if(!(c?!c|!y[d+88|0]:1)){x[8457]=x[8457]+1;ia[x[8259]](c)}c=x[d+28>>2];if(!(c?!c|!y[d+32|0]:1)){x[8457]=x[8457]+1;ia[x[8259]](c)}c=x[d+104>>2];if(!(c?!c|!y[d+108|0]:1)){x[8457]=x[8457]+1;ia[x[8259]](c)}if(!(b&(U|0)>0)){break N}}G=0;while(1){b=0;c=D(x[(G<<2)+n>>2],36)+T|0;V=x[c+4>>2];xa:{if((V|0)<=0){break xa}s=0;x[8456]=x[8456]+1;f=V<<2;b=ia[x[8258]](f,16)|0;k=ua(b,0,f);j=x[c+12>>2];e=0;if(V>>>0>=4){h=V&-4;A=0;while(1){g=e<<2;x[g+k>>2]=x[g+j>>2];f=g|4;x[f+k>>2]=x[f+j>>2];f=g|8;x[f+k>>2]=x[f+j>>2];f=g|12;x[f+k>>2]=x[f+j>>2];e=e+4|0;A=A+4|0;if((h|0)!=(A|0)){continue}break}}h=V&3;if(!h){break xa}while(1){f=e<<2;x[f+k>>2]=x[f+j>>2];e=e+1|0;s=s+1|0;if((h|0)!=(s|0)){continue}break}}e=y[c+24|0]|y[c+25|0]<<8|(y[c+26|0]<<16|y[c+27|0]<<24);f=y[c+20|0]|y[c+21|0]<<8|(y[c+22|0]<<16|y[c+23|0]<<24);v[d+19|0]=f;v[d+20|0]=f>>>8;v[d+21|0]=f>>>16;v[d+22|0]=f>>>24;v[d+23|0]=e;v[d+24|0]=e>>>8;v[d+25|0]=e>>>16;v[d+26|0]=e>>>24;f=y[c+32|0]|y[c+33|0]<<8|(y[c+34|0]<<16|y[c+35|0]<<24);c=y[c+28|0]|y[c+29|0]<<8|(y[c+30|0]<<16|y[c+31|0]<<24);v[d+27|0]=c;v[d+28|0]=c>>>8;v[d+29|0]=c>>>16;v[d+30|0]=c>>>24;v[d+31|0]=f;v[d+32|0]=f>>>8;v[d+33|0]=f>>>16;v[d+34|0]=f>>>24;R=x[a+60>>2];h=x[R+28>>2];ya:{if((h|0)!=x[R+32>>2]){break ya}t=h?h<<1:1;if((t|0)<=(h|0)){break ya}za:{if(!t){m=0;break za}x[8456]=x[8456]+1;m=ia[x[8258]](D(t,36),16)|0;h=x[R+28>>2]}Aa:{if((h|0)<=0){break Aa}o=0;while(1){f=x[R+36>>2];c=D(o,36);N=c+m|0;x[N+12>>2]=0;v[N+16|0]=1;x[N+4>>2]=0;x[N+8>>2]=0;c=c+f|0;z=x[c+4>>2];Ba:{if((z|0)<=0){x[N+4>>2]=z;break Ba}x[8456]=x[8456]+1;j=z<<2;J=ia[x[8258]](j,16)|0;Y=x[N+12>>2];k=x[N+4>>2];Ca:{Da:{if((k|0)>0){s=0;e=0;if(k>>>0>=4){g=k&-4;A=0;while(1){H=e<<2;x[H+J>>2]=x[H+Y>>2];f=H|4;x[f+J>>2]=x[f+Y>>2];f=H|8;x[f+J>>2]=x[f+Y>>2];f=H|12;x[f+J>>2]=x[f+Y>>2];e=e+4|0;A=A+4|0;if((g|0)!=(A|0)){continue}break}}g=k&3;if(g){while(1){f=e<<2;x[f+J>>2]=x[f+Y>>2];e=e+1|0;s=s+1|0;if((g|0)!=(s|0)){continue}break}}if(y[N+16|0]){break Da}break Ca}if(!Y|!y[N+16|0]){break Ca}}if(Y){x[8457]=x[8457]+1;ia[x[8259]](Y)}}x[N+12>>2]=J;v[N+16|0]=1;x[N+8>>2]=z;s=0;H=ua(J,0,j);x[N+4>>2]=z;k=x[c+12>>2];e=0;if(z>>>0>=4){g=z&-4;A=0;while(1){j=e<<2;x[j+H>>2]=x[j+k>>2];f=j|4;x[f+H>>2]=x[f+k>>2];f=j|8;x[f+H>>2]=x[f+k>>2];f=j|12;x[f+H>>2]=x[f+k>>2];e=e+4|0;A=A+4|0;if((g|0)!=(A|0)){continue}break}}g=z&3;if(!g){break Ba}while(1){f=e<<2;x[f+H>>2]=x[f+k>>2];e=e+1|0;s=s+1|0;if((g|0)!=(s|0)){continue}break}}f=x[c+24>>2];x[N+20>>2]=x[c+20>>2];x[N+24>>2]=f;f=x[c+32>>2];x[N+28>>2]=x[c+28>>2];x[N+32>>2]=f;o=o+1|0;if((o|0)!=(h|0)){continue}break}c=0;f=x[R+28>>2];if((f|0)<=0){break Aa}while(1){h=x[R+36>>2]+D(c,36)|0;e=x[h+12>>2];if(!(e?!e|!y[h+16|0]:1)){x[8457]=x[8457]+1;ia[x[8259]](e)}x[h+12>>2]=0;v[h+16|0]=1;x[h+4>>2]=0;x[h+8>>2]=0;c=c+1|0;if((f|0)!=(c|0)){continue}break}}c=x[R+36>>2];if(!(c?!c|!y[R+40|0]:1)){x[8457]=x[8457]+1;ia[x[8259]](c)}x[R+36>>2]=m;v[R+40|0]=1;x[R+32>>2]=t;h=x[R+28>>2]}m=x[R+36>>2]+D(h,36)|0;x[m+12>>2]=0;v[m+16|0]=1;x[m+4>>2]=0;x[m+8>>2]=0;Ea:{if((V|0)<=0){x[m+4>>2]=V;break Ea}x[8456]=x[8456]+1;h=V<<2;k=ia[x[8258]](h,16)|0;o=x[m+12>>2];g=x[m+4>>2];Fa:{Ga:{if((g|0)>0){s=0;e=0;if(g>>>0>=4){f=g&-4;A=0;while(1){j=e<<2;x[j+k>>2]=x[j+o>>2];c=j|4;x[c+k>>2]=x[c+o>>2];c=j|8;x[c+k>>2]=x[c+o>>2];c=j|12;x[c+k>>2]=x[c+o>>2];e=e+4|0;A=A+4|0;if((f|0)!=(A|0)){continue}break}}f=g&3;if(f){while(1){c=e<<2;x[c+k>>2]=x[c+o>>2];e=e+1|0;s=s+1|0;if((f|0)!=(s|0)){continue}break}}if(y[m+16|0]){break Ga}break Fa}if(!o|!y[m+16|0]){break Fa}}if(o){x[8457]=x[8457]+1;ia[x[8259]](o)}}x[m+12>>2]=k;v[m+16|0]=1;x[m+8>>2]=V;f=0;j=ua(k,0,h);x[m+4>>2]=V;e=0;if(V>>>0>=4){h=V&-4;s=0;while(1){g=e<<2;x[g+j>>2]=x[b+g>>2];c=g|4;x[c+j>>2]=x[b+c>>2];c=g|8;x[c+j>>2]=x[b+c>>2];c=g|12;x[c+j>>2]=x[b+c>>2];e=e+4|0;s=s+4|0;if((h|0)!=(s|0)){continue}break}}h=V&3;if(!h){break Ea}while(1){c=e<<2;x[c+j>>2]=x[b+c>>2];e=e+1|0;f=f+1|0;if((h|0)!=(f|0)){continue}break}}f=y[d+23|0]|y[d+24|0]<<8|(y[d+25|0]<<16|y[d+26|0]<<24);c=y[d+19|0]|y[d+20|0]<<8|(y[d+21|0]<<16|y[d+22|0]<<24);v[m+20|0]=c;v[m+21|0]=c>>>8;v[m+22|0]=c>>>16;v[m+23|0]=c>>>24;v[m+24|0]=f;v[m+25|0]=f>>>8;v[m+26|0]=f>>>16;v[m+27|0]=f>>>24;f=y[d+31|0]|y[d+32|0]<<8|(y[d+33|0]<<16|y[d+34|0]<<24);c=y[d+27|0]|y[d+28|0]<<8|(y[d+29|0]<<16|y[d+30|0]<<24);v[m+28|0]=c;v[m+29|0]=c>>>8;v[m+30|0]=c>>>16;v[m+31|0]=c>>>24;v[m+32|0]=f;v[m+33|0]=f>>>8;v[m+34|0]=f>>>16;v[m+35|0]=f>>>24;x[R+28>>2]=x[R+28>>2]+1;if(b){x[8457]=x[8457]+1;ia[x[8259]](b)}G=G+1|0;if((G|0)!=(U|0)){continue}break}}if(n){x[8457]=x[8457]+1;ia[x[8259]](n)}if(i){continue}break}Zd(x[a+60>>2]);if(r){x[8457]=x[8457]+1;ia[x[8259]](r)}if((l|0)<=0){break A}c=0;while(1){b=D(c,36)+T|0;a=x[b+12>>2];if(!(a?!a|!y[b+16|0]:1)){x[8457]=x[8457]+1;ia[x[8259]](a)}x[b+12>>2]=0;v[b+16|0]=1;x[b+4>>2]=0;x[b+8>>2]=0;c=c+1|0;if((l|0)!=(c|0)){continue}break}break z}Zd(x[a+60>>2])}if(!T){break y}}if(T){x[8457]=x[8457]+1;ia[x[8259]](T)}}if($){x[8457]=x[8457]+1;ia[x[8259]]($)}a=x[d+164>>2];if(!(a?!a|!y[d+168|0]:1)){x[8457]=x[8457]+1;ia[x[8259]](a)}x[d+164>>2]=0;v[d+168|0]=1;x[d+156>>2]=0;x[d+160>>2]=0;a=x[d+144>>2];if(!(a?!a|!y[d+148|0]:1)){x[8457]=x[8457]+1;ia[x[8259]](a)}x[d+144>>2]=0;v[d+148|0]=1;x[d+136>>2]=0;x[d+140>>2]=0;a=x[d+124>>2];if(!(a?!a|!y[d+128|0]:1)){x[8457]=x[8457]+1;ia[x[8259]](a)}a=x[d+184>>2];if(!(a?!a|!y[d+188|0]:1)){x[8457]=x[8457]+1;ia[x[8259]](a)}ga=d+192|0;return 1}function zm(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=E(0),h=0,i=0,j=E(0),k=0,l=E(0),m=E(0),n=0,o=0,p=E(0),q=0,r=0,s=E(0),t=E(0),u=0,w=0,z=E(0),A=0,C=E(0),G=0,H=0,I=E(0),J=E(0),K=E(0),L=E(0),N=E(0),O=E(0),P=E(0),Q=E(0),R=E(0),S=E(0),T=E(0),U=E(0),V=E(0),W=E(0),X=E(0),Y=E(0),Z=E(0),_=E(0),$=E(0),aa=E(0),ba=E(0),ca=0,da=E(0),ea=E(0),fa=E(0),ha=E(0),ja=E(0),ka=E(0),la=0,ma=E(0),na=E(0),oa=E(0),pa=E(0),qa=E(0),ra=0,sa=0,ta=E(0),ua=E(0),va=E(0),wa=0;f=ga-928|0;ga=f;h=x[a+56>>2];if(!h){h=x[a+4>>2];h=ia[x[x[h>>2]+12>>2]](h,x[b+8>>2],x[c+8>>2])|0;v[a+52|0]=1;x[a+56>>2]=h}x[e+4>>2]=h;A=x[c+4>>2];a:{b:{c:{d:{G=x[b+4>>2];switch(x[G+4>>2]-8|0){case 0:break c;case 2:break d;default:break b}}e:{switch(x[A+4>>2]-8|0){case 2:d=G+36|0;a=x[G+60>>2];g=B[d+(a<<2)>>2];l=B[d+((a+2|0)%3<<2)>>2];k=A+36|0;d=x[A+60>>2];j=B[h+848>>2];g=Hc(f+432|0,f+8|0,g,l,B[k+(d<<2)>>2],B[k+((d+2|0)%3<<2)>>2],a,d,x[b+12>>2],x[c+12>>2],j);if(g>2]+16>>2]](e,f+432|0,f+8|0,g)}a=x[e+4>>2];if(!x[a+844>>2]){break a}c=x[a+836>>2];d=x[x[e+8>>2]+8>>2];b=(c|0)==(d|0);r=a;a=x[x[e+12>>2]+8>>2];Ja(r,(b?c:a)+4|0,(b?a:d)+4|0);break a;case 0:break e;default:break b}}d=G+36|0;a=x[G+60>>2];j=B[h+848>>2];g=Hc(f+432|0,f+8|0,B[d+(a<<2)>>2],B[d+((a+2|0)%3<<2)>>2],E(0),E(B[A+36>>2]*B[A+20>>2]),a,1,x[b+12>>2],x[c+12>>2],j);if(g>2]+16>>2]](e,f+432|0,f+8|0,g)}a=x[e+4>>2];if(!x[a+844>>2]){break a}c=x[a+836>>2];d=x[x[e+8>>2]+8>>2];b=(c|0)==(d|0);r=a;a=x[x[e+12>>2]+8>>2];Ja(r,(b?c:a)+4|0,(b?a:d)+4|0);break a}if(x[A+4>>2]!=10){break b}d=A+36|0;a=x[A+60>>2];j=B[h+848>>2];g=Hc(f+432|0,f+8|0,E(0),E(B[G+36>>2]*B[G+20>>2]),B[d+(a<<2)>>2],B[d+((a+2|0)%3<<2)>>2],1,a,x[b+12>>2],x[c+12>>2],j);if(g>2]+16>>2]](e,f+432|0,f+8|0,g)}a=x[e+4>>2];if(!x[a+844>>2]){break a}c=x[a+836>>2];d=x[x[e+8>>2]+8>>2];b=(c|0)==(d|0);r=a;a=x[x[e+12>>2]+8>>2];Ja(r,(b?c:a)+4|0,(b?a:d)+4|0);break a}x[f+920>>2]=1566444395;v[f+764|0]=0;x[f+740>>2]=953267991;r=hc(f+352|0,G,A,f+432|0,x[a+8>>2]);x[r+32>>2]=A;x[r+28>>2]=G;j=E(E(E(E(ia[x[x[G>>2]+48>>2]](G))+E(ia[x[x[A>>2]+48>>2]](A)))+B[x[a+56>>2]+848>>2])+B[e+32>>2]);B[f+920>>2]=j*j;h=x[b+12>>2];k=x[h+12>>2];x[f+800>>2]=x[h+8>>2];x[f+804>>2]=k;k=x[h+4>>2];x[f+792>>2]=x[h>>2];x[f+796>>2]=k;k=x[h+28>>2];x[f+816>>2]=x[h+24>>2];x[f+820>>2]=k;k=x[h+20>>2];x[f+808>>2]=x[h+16>>2];x[f+812>>2]=k;k=x[h+44>>2];x[f+832>>2]=x[h+40>>2];x[f+836>>2]=k;k=x[h+36>>2];x[f+824>>2]=x[h+32>>2];x[f+828>>2]=k;k=x[h+60>>2];x[f+848>>2]=x[h+56>>2];x[f+852>>2]=k;k=x[h+52>>2];x[f+840>>2]=x[h+48>>2];x[f+844>>2]=k;h=x[c+12>>2];k=x[h+12>>2];x[f+864>>2]=x[h+8>>2];x[f+868>>2]=k;k=x[h+4>>2];x[f+856>>2]=x[h>>2];x[f+860>>2]=k;i=x[h+20>>2];k=f+872|0;x[k>>2]=x[h+16>>2];x[k+4>>2]=i;i=x[h+28>>2];x[f+880>>2]=x[h+24>>2];x[f+884>>2]=i;n=x[h+36>>2];i=f+888|0;x[i>>2]=x[h+32>>2];x[i+4>>2]=n;n=x[h+44>>2];x[f+896>>2]=x[h+40>>2];x[f+900>>2]=n;q=x[h+52>>2];n=f+904|0;x[n>>2]=x[h+48>>2];x[n+4>>2]=q;q=x[h+60>>2];x[f+912>>2]=x[h+56>>2];x[f+916>>2]=q;f:{q=x[G+4>>2];if((q|0)>6){break f}h=x[A+4>>2];if((h|0)>6){break f}x[f+348>>2]=15212;if(q){X=E(ia[x[x[G>>2]+48>>2]](G));h=x[A+4>>2]}if(h){g=E(ia[x[x[A>>2]+48>>2]](A))}v[f+44|0]=0;B[f+36>>2]=g;B[f+32>>2]=X;x[f+12>>2]=e;x[f+8>>2]=15444;if(!x[G+60>>2]){break f}if(x[A+60>>2]){P=B[x[a+56>>2]+848>>2];g:{h:{if(y[d+24|0]){X=E(-1.0000000150474662e30);w=x[G+60>>2];u=x[A+60>>2];n=x[b+12>>2];q=x[c+12>>2];i=ga-96|0;ga=i;x[8759]=x[8759]+1;g=B[w+72>>2];j=B[w+64>>2];C=B[w+68>>2];l=B[u+72>>2];z=B[u+64>>2];J=B[u+68>>2];$=E(E(E(E(g*B[n+40>>2])+E(E(j*B[n+32>>2])+E(C*B[n+36>>2])))+B[n+56>>2])-E(E(E(l*B[q+40>>2])+E(E(z*B[q+32>>2])+E(J*B[q+36>>2])))+B[q+56>>2]));aa=E(E(E(E(g*B[n+24>>2])+E(E(j*B[n+16>>2])+E(C*B[n+20>>2])))+B[n+52>>2])-E(E(E(l*B[q+24>>2])+E(E(z*B[q+16>>2])+E(J*B[q+20>>2])))+B[q+52>>2]));ba=E(E(E(E(g*B[n+8>>2])+E(E(j*B[n>>2])+E(C*B[n+4>>2])))+B[n+48>>2])-E(E(E(l*B[q+8>>2])+E(E(z*B[q>>2])+E(J*B[q+4>>2])))+B[q+48>>2]));j=E(34028234663852886e22);i:{j:{h=x[w+28>>2];if((h|0)>0){while(1){d=x[w+36>>2]+D(H,36)|0;C=B[d+28>>2];l=B[d+20>>2];z=B[d+24>>2];J=B[n+8>>2];K=B[n>>2];N=B[n+4>>2];Z=B[n+24>>2];_=B[n+16>>2];O=B[n+20>>2];Q=B[n+40>>2];R=B[n+32>>2];Y=B[n+36>>2];x[i+12>>2]=0;g=E(E(Q*C)+E(E(R*l)+E(z*Y)));B[i+8>>2]=g;p=E(E(Z*C)+E(E(_*l)+E(z*O)));B[i+4>>2]=p;t=E(E(J*C)+E(E(K*l)+E(z*N)));B[i>>2]=t;if(E(E($*g)+E(E(ba*t)+E(aa*p)))>2]=g;p=E(-p);B[i+4>>2]=p;t=E(-t);B[i>>2]=t}x[8757]=x[8757]+1;k:{if(y[33065]){C=E(E($*g)+E(E(ba*t)+E(aa*p)));l=B[w+88>>2];T=E(-l);I=l;l=E(E(Q*g)+E(E(J*t)+E(Z*p)));S=E((l>2];T=E(-l);I=l;l=E(E(R*g)+E(E(K*t)+E(_*p)));I=E((l>2];l=E(S+E(I+E(l*(l>2];N=l>z?l:z;l=B[u+88>>2];T=E(-l);I=l;l=E(E(B[q+40>>2]*g)+E(E(B[q+8>>2]*t)+E(p*B[q+24>>2])));S=E((l>2];T=E(-l);I=l;l=E(E(B[q+32>>2]*g)+E(E(B[q>>2]*t)+E(p*B[q+16>>2])));I=E((l>2]*g)+E(E(B[q+4>>2]*t)+E(p*B[q+20>>2])));l=B[u+84>>2];g=E(S+E(I+E(g*(g>2];g=E(N+(g>l?g:l));l=E(C+g);g=E(g-C);if((g>l?l:g)>j){break k}}x[8758]=x[8758]+1;bb(w,n,i,i+92|0,i+88|0,i- -64|0,i+48|0);bb(u,q,i,i+84|0,i+80|0,i+32|0,i+16|0);g=B[i+88>>2];C=B[i+84>>2];if(g>2];z=B[i+92>>2];if(l>2];x[f+248>>2]=x[i>>2];x[f+252>>2]=d;d=x[i+12>>2];x[f+256>>2]=x[i+8>>2];x[f+260>>2]=d;j=g}H=H+1|0;if((h|0)!=(H|0)){continue}break}}h=x[u+28>>2];if((h|0)>0){H=0;while(1){d=x[u+36>>2]+D(H,36)|0;C=B[d+28>>2];l=B[d+20>>2];z=B[d+24>>2];J=B[q+8>>2];K=B[q>>2];N=B[q+4>>2];Z=B[q+24>>2];_=B[q+16>>2];O=B[q+20>>2];Q=B[q+40>>2];R=B[q+32>>2];Y=B[q+36>>2];x[i+12>>2]=0;g=E(E(Q*C)+E(E(R*l)+E(z*Y)));B[i+8>>2]=g;p=E(E(Z*C)+E(E(_*l)+E(z*O)));B[i+4>>2]=p;t=E(E(J*C)+E(E(K*l)+E(z*N)));B[i>>2]=t;if(E(E($*g)+E(E(ba*t)+E(aa*p)))>2]=g;p=E(-p);B[i+4>>2]=p;t=E(-t);B[i>>2]=t}x[8757]=x[8757]+1;l:{if(y[33065]){C=E(E($*g)+E(E(ba*t)+E(aa*p)));l=B[w+88>>2];T=E(-l);I=l;l=E(E(B[n+40>>2]*g)+E(E(B[n+8>>2]*t)+E(p*B[n+24>>2])));S=E((l>2];T=E(-l);I=l;l=E(E(B[n+32>>2]*g)+E(E(B[n>>2]*t)+E(p*B[n+16>>2])));I=E((l>2]*g)+E(E(B[n+4>>2]*t)+E(p*B[n+20>>2])));z=B[w+84>>2];l=E(S+E(I+E(l*(l>2];z=l>z?l:z;l=B[u+88>>2];T=E(-l);I=l;l=E(E(Q*g)+E(E(J*t)+E(Z*p)));S=E((l>2];T=E(-l);I=l;l=E(E(R*g)+E(E(K*t)+E(_*p)));I=E((l>2];g=E(S+E(I+E(g*(g>2];g=E(z+(g>l?g:l));l=E(C+g);g=E(g-C);if((g>l?l:g)>j){break l}}x[8758]=x[8758]+1;bb(w,n,i,i+92|0,i+88|0,i- -64|0,i+48|0);bb(u,q,i,i+84|0,i+80|0,i+32|0,i+16|0);g=B[i+88>>2];C=B[i+84>>2];if(g>2];z=B[i+92>>2];if(l>2];x[f+248>>2]=x[i>>2];x[f+252>>2]=d;d=x[i+12>>2];x[f+256>>2]=x[i+8>>2];x[f+260>>2]=d;j=g}H=H+1|0;if((h|0)!=(H|0)){continue}break}}ca=1;d=x[w+48>>2];m:{if((d|0)<=0){break m}h=0;H=x[u+48>>2];if((H|0)<=0){break m}Q=E(0);r=-1;k=-1;R=E(0);Y=E(0);Z=E(0);_=E(0);O=E(0);while(1){if((H|0)>0){d=x[w+56>>2]+(h<<4)|0;g=B[d+8>>2];z=B[d>>2];J=B[d+4>>2];C=E(E(B[n+24>>2]*g)+E(E(B[n+16>>2]*z)+E(J*B[n+20>>2])));ta=E(-C);l=E(E(B[n+8>>2]*g)+E(E(B[n>>2]*z)+E(J*B[n+4>>2])));ua=E(-l);z=E(E(B[n+40>>2]*g)+E(E(B[n+32>>2]*z)+E(J*B[n+36>>2])));va=E(-z);d=0;while(1){H=x[u+56>>2]+(d<<4)|0;N=B[H+8>>2];p=B[H>>2];t=B[H+4>>2];S=B[q+40>>2];ea=B[q+32>>2];fa=B[q+36>>2];ha=B[q+24>>2];ma=B[q+16>>2];na=B[q+20>>2];oa=B[q+8>>2];pa=B[q>>2];qa=B[q+4>>2];x[i+12>>2]=0;J=E(E(ha*N)+E(E(ma*p)+E(t*na)));K=E(E(oa*N)+E(E(pa*p)+E(t*qa)));g=E(E(l*J)+E(K*ta));N=E(E(S*N)+E(E(ea*p)+E(t*fa)));p=E(E(z*K)+E(N*ua));t=E(E(C*N)+E(J*va));n:{if(!(+E(F(t))>1e-6|+E(F(p))>1e-6|+E(F(g))>1e-6)){break n}ja=E(E(1)/E(M(E(E(g*g)+E(E(t*t)+E(p*p))))));g=E(g*ja);B[i+8>>2]=g;p=E(p*ja);B[i+4>>2]=p;t=E(t*ja);B[i>>2]=t;if(E(E($*g)+E(E(ba*t)+E(aa*p)))>2]=g;p=E(-p);B[i+4>>2]=p;t=E(-t);B[i>>2]=t}x[8757]=x[8757]+1;if(y[33065]){ja=E(E($*g)+E(E(ba*t)+E(aa*p)));I=B[w+88>>2];da=E(-I);T=I;I=E(E(B[n+40>>2]*g)+E(E(B[n+8>>2]*t)+E(p*B[n+24>>2])));ka=E((I>2];da=E(-I);T=I;I=E(E(B[n+32>>2]*g)+E(E(B[n>>2]*t)+E(p*B[n+16>>2])));T=E((I>2]*g)+E(E(B[n+4>>2]*t)+E(p*B[n+20>>2])));da=B[w+84>>2];I=E(ka+E(T+E(I*(I>2];ka=I>da?I:da;I=B[u+88>>2];S=E(E(S*g)+E(E(oa*t)+E(ha*p)));da=E((S>2];T=E(-S);I=S;S=E(E(ea*g)+E(E(pa*t)+E(ma*p)));g=E(E(fa*g)+E(E(qa*t)+E(na*p)));p=B[u+84>>2];g=E(da+E(E((S>2];g=E(ka+(g>p?g:p));p=E(ja+g);g=E(g-ja);if((g>p?p:g)>j){break n}}x[8758]=x[8758]+1;bb(w,n,i,i+92|0,i+88|0,i- -64|0,i+48|0);bb(u,q,i,i+84|0,i+80|0,i+32|0,i+16|0);g=B[i+88>>2];p=B[i+84>>2];if(g>2];S=B[i+92>>2];if(t>2];_=B[k+4>>2];k=H?i+48|0:i- -64|0;Q=B[k+8>>2];R=B[k+4>>2];j=B[i+16>>2];m=B[i+32>>2];s=B[i+64>>2];L=B[i+48>>2];k=x[i+4>>2];x[f+248>>2]=x[i>>2];x[f+252>>2]=k;k=x[i+12>>2];x[f+256>>2]=x[i+8>>2];x[f+260>>2]=k;Y=H?L:s;O=H?m:j;m=K;s=J;L=N;U=l;V=C;W=z;k=h;r=d;j=g}d=d+1|0;H=x[u+48>>2];if((d|0)<(H|0)){continue}break}d=x[w+48>>2]}h=h+1|0;if((h|0)<(d|0)){continue}break}if((k|r)<0){break m}z=E(Z-Q);J=E(O-Y);K=E(_-R);l=E(E(W*z)+E(E(U*J)+E(V*K)));g=E(0);N=E(-E(E(L*z)+E(E(m*J)+E(s*K))));C=E(E(W*L)+E(E(U*m)+E(V*s)));j=E(E(1)-E(C*C));o:{if(j==E(0)){break o}g=E(-1.0000000150474662e30);j=E(E(E(N*C)+l)/j);if(jE(1.0000000150474662e30))){break o}g=E(1.0000000150474662e30)}p=E(E(g*C)+N);p:{if(pE(1.0000000150474662e30))){p=E(-1.0000000150474662e30);g=j;break p}p=E(-1.0000000150474662e30);break p}if(!(p>E(1.0000000150474662e30))){break p}g=E(-1.0000000150474662e30);p=E(1.0000000150474662e30);j=E(E(C*E(1.0000000150474662e30))+l);if(jE(1.0000000150474662e30))){break p}g=E(1.0000000150474662e30)}x[i+76>>2]=0;L=E(L*p);j=E(L+E(z-E(W*g)));W=E(m*p);m=E(W+E(J-E(U*g)));U=E(s*p);g=E(U+E(K-E(V*g)));s=E(E(j*j)+E(E(m*m)+E(g*g)));if(!(s>E(1.1920928955078125e-7))){break m}l=j;V=E(M(s));j=E(E(1)/V);s=E(l*j);B[i+72>>2]=s;g=E(g*j);B[i+68>>2]=g;j=E(m*j);B[i+64>>2]=j;if(E(E(s*$)+E(E(j*ba)+E(aa*g)))>2]=-s;B[i+68>>2]=-g;B[i+64>>2]=-j}x[i+60>>2]=0;B[i+56>>2]=Z+L;B[i+52>>2]=_+U;B[i+48>>2]=O+W;ia[x[x[e>>2]+16>>2]](e,i- -64|0,i+48|0,E(-V))}g=B[f+256>>2];j=B[f+248>>2];m=B[f+252>>2];if(!(E(E($*g)+E(E(ba*j)+E(aa*m)))>2]=0;B[f+256>>2]=-g;B[f+252>>2]=-m;B[f+248>>2]=-j;break i}ca=0}ga=i+96|0;if(ca){break h}break g}Oa(r,f+792|0,f+8|0,x[d+20>>2],0);d=x[f+28>>2];x[f+256>>2]=x[f+24>>2];x[f+260>>2]=d;d=x[f+20>>2];x[f+248>>2]=x[f+16>>2];x[f+252>>2]=d;if(!y[f+44|0]){break g}X=B[f+40>>2];if(!(X>2]&x[a+20>>2])<0){d=x[a+24>>2];if(!(d?!d|!y[a+28|0]:1)){x[8457]=x[8457]+1;ia[x[8259]](d)}v[a+28|0]=1;x[a+20>>2]=0;x[a+24>>2]=0}x[a+16>>2]=0;ca=x[G+60>>2];n=x[A+60>>2];o=x[b+12>>2];r=x[c+12>>2];i=ga-16|0;ga=i;g=B[f+256>>2];j=B[f+248>>2];m=B[f+252>>2];B[i+12>>2]=B[f+260>>2];l=g;g=E(E(1)/E(M(E(E(g*g)+E(E(j*j)+E(m*m))))));L=E(l*g);B[i+8>>2]=L;U=E(m*g);B[i+4>>2]=U;V=E(j*g);B[i>>2]=V;q=-1;c=x[n+28>>2];if((c|0)>0){W=B[r+40>>2];C=B[r+36>>2];l=B[r+24>>2];z=B[r+20>>2];d=x[n+36>>2];J=B[r+32>>2];K=B[r+16>>2];N=B[r+8>>2];p=B[r+4>>2];t=B[r>>2];h=0;g=E(-34028234663852886e22);while(1){b=d+D(h,36)|0;j=B[b+28>>2];m=B[b+20>>2];s=B[b+24>>2];j=E(E(E(E(W*j)+E(E(J*m)+E(s*C)))*L)+E(E(E(E(N*j)+E(E(t*m)+E(s*p)))*V)+E(E(E(l*j)+E(E(K*m)+E(s*z)))*U)));b=j>g;g=b?j:g;q=b?h:q;h=h+1|0;if((c|0)!=(h|0)){continue}break}}c=a+12|0;if((x[c+4>>2]&x[c+8>>2])<0){b=x[c+12>>2];if(!(b?!b|!y[c+16|0]:1)){x[8457]=x[8457]+1;ia[x[8259]](b)}v[c+16|0]=1;x[c+8>>2]=0;x[c+12>>2]=0}x[c+4>>2]=0;ra=x[n+36>>2]+D(q,36)|0;sa=x[ra+4>>2];if((sa|0)>0){d=0;A=0;while(1){b=x[n+16>>2]+(x[x[ra+12>>2]+(A<<2)>>2]<<4)|0;g=B[b+8>>2];j=B[b>>2];m=B[b+4>>2];s=E(E(E(g*B[r+40>>2])+E(E(j*B[r+32>>2])+E(m*B[r+36>>2])))+B[r+56>>2]);L=E(E(E(g*B[r+24>>2])+E(E(j*B[r+16>>2])+E(m*B[r+20>>2])))+B[r+52>>2]);g=E(E(E(g*B[r+8>>2])+E(E(j*B[r>>2])+E(m*B[r+4>>2])))+B[r+48>>2]);q:{if(x[c+8>>2]!=(d|0)){break q}w=d?d<<1:1;if((w|0)<=(d|0)){break q}r:{if(!w){k=0;break r}x[8456]=x[8456]+1;k=ia[x[8258]](w<<4,16)|0;d=x[c+4>>2]}s:{if((d|0)<=0){break s}h=0;if((d|0)!=1){wa=d&-2;b=0;while(1){G=h<<4;H=G+k|0;u=G+x[c+12>>2]|0;la=x[u+4>>2];x[H>>2]=x[u>>2];x[H+4>>2]=la;la=x[u+12>>2];x[H+8>>2]=x[u+8>>2];x[H+12>>2]=la;u=G|16;G=u+k|0;u=u+x[c+12>>2]|0;H=x[u+4>>2];x[G>>2]=x[u>>2];x[G+4>>2]=H;H=x[u+12>>2];x[G+8>>2]=x[u+8>>2];x[G+12>>2]=H;h=h+2|0;b=b+2|0;if((wa|0)!=(b|0)){continue}break}}if(!(d&1)){break s}b=h<<4;d=b+k|0;b=b+x[c+12>>2]|0;h=x[b+4>>2];x[d>>2]=x[b>>2];x[d+4>>2]=h;h=x[b+12>>2];x[d+8>>2]=x[b+8>>2];x[d+12>>2]=h}b=x[c+12>>2];if(!(b?!b|!y[c+16|0]:1)){x[8457]=x[8457]+1;ia[x[8259]](b)}x[c+12>>2]=k;v[c+16|0]=1;x[c+8>>2]=w;d=x[c+4>>2]}b=x[c+12>>2]+(d<<4)|0;x[b+12>>2]=0;B[b+8>>2]=s;B[b+4>>2]=L;B[b>>2]=g;d=x[c+4>>2]+1|0;x[c+4>>2]=d;A=A+1|0;if((sa|0)!=(A|0)){continue}break}}if((q|0)>=0){Cd(i,ca,o,c,a+32|0,E(X-P),P,e)}ga=i+16|0}if(!y[a+52|0]){break a}a=x[e+4>>2];if(!x[a+844>>2]){break a}c=x[a+836>>2];d=x[x[e+8>>2]+8>>2];b=(c|0)==(d|0);r=a;a=x[x[e+12>>2]+8>>2];Ja(r,(b?c:a)+4|0,(b?a:d)+4|0);break a}if(x[A+4>>2]!=1){break f}x[f+252>>2]=0;h=x[c+12>>2];s=B[h+52>>2];L=B[h+20>>2];U=B[h+24>>2];V=B[h+56>>2];W=B[h+36>>2];C=B[h+40>>2];g=B[A+72>>2];j=B[A+68>>2];l=B[h+16>>2];z=B[h+32>>2];J=B[h+48>>2];K=B[h+8>>2];m=B[A+64>>2];N=B[h>>2];p=B[h+4>>2];x[8456]=x[8456]+1;h=ia[x[8258]](16,16)|0;x[f+260>>2]=h;v[f+264|0]=1;x[f+256>>2]=1;x[h+12>>2]=0;B[h>>2]=J+E(E(g*K)+E(E(m*N)+E(j*p)));B[h+8>>2]=V+E(E(g*C)+E(E(m*z)+E(j*W)));B[h+4>>2]=s+E(E(g*U)+E(E(m*l)+E(j*L)));i=x[f+252>>2];h=i+1|0;x[f+252>>2]=h;g=B[A+88>>2];k=x[c+12>>2];j=B[A+80>>2];m=B[A+84>>2];s=E(E(E(g*B[k+40>>2])+E(E(j*B[k+32>>2])+E(m*B[k+36>>2])))+B[k+56>>2]);L=E(E(E(g*B[k+24>>2])+E(E(j*B[k+16>>2])+E(m*B[k+20>>2])))+B[k+52>>2]);g=E(E(E(g*B[k+8>>2])+E(E(j*B[k>>2])+E(m*B[k+4>>2])))+B[k+48>>2]);t:{if(x[f+256>>2]!=(h|0)){break t}n=h?h<<1:1;if((n|0)<=(h|0)){break t}k=0;if(n){x[8456]=x[8456]+1;k=ia[x[8258]](n<<4,16)|0}u:{if((i|0)<0){break u}h=i+1|0;H=h&1;v:{if(!i){h=0;break v}ca=h&-2;h=0;q=0;while(1){w=h<<4;u=w+k|0;i=w+x[f+260>>2]|0;o=x[i+4>>2];x[u>>2]=x[i>>2];x[u+4>>2]=o;o=x[i+12>>2];x[u+8>>2]=x[i+8>>2];x[u+12>>2]=o;i=w|16;w=i+k|0;i=i+x[f+260>>2]|0;u=x[i+4>>2];x[w>>2]=x[i>>2];x[w+4>>2]=u;u=x[i+12>>2];x[w+8>>2]=x[i+8>>2];x[w+12>>2]=u;h=h+2|0;q=q+2|0;if((ca|0)!=(q|0)){continue}break}}if(!H){break u}h=h<<4;i=h+k|0;h=h+x[f+260>>2]|0;q=x[h+4>>2];x[i>>2]=x[h>>2];x[i+4>>2]=q;q=x[h+12>>2];x[i+8>>2]=x[h+8>>2];x[i+12>>2]=q}h=x[f+260>>2];if(!(h?!h|!y[f+264|0]:1)){x[8457]=x[8457]+1;ia[x[8259]](h)}x[f+260>>2]=k;v[f+264|0]=1;x[f+256>>2]=n;h=x[f+252>>2]}h=x[f+260>>2]+(h<<4)|0;x[h+12>>2]=0;B[h+8>>2]=s;B[h+4>>2]=L;B[h>>2]=g;k=x[f+252>>2];h=k+1|0;x[f+252>>2]=h;g=B[A+104>>2];c=x[c+12>>2];j=B[A+96>>2];m=B[A+100>>2];s=E(E(E(g*B[c+40>>2])+E(E(j*B[c+32>>2])+E(m*B[c+36>>2])))+B[c+56>>2]);L=E(E(E(g*B[c+24>>2])+E(E(j*B[c+16>>2])+E(m*B[c+20>>2])))+B[c+52>>2]);g=E(E(E(g*B[c+8>>2])+E(E(j*B[c>>2])+E(m*B[c+4>>2])))+B[c+48>>2]);w:{if(x[f+256>>2]!=(h|0)){break w}i=h?h<<1:1;if((i|0)<=(h|0)){break w}h=0;if(i){x[8456]=x[8456]+1;h=ia[x[8258]](i<<4,16)|0}x:{if((k|0)<0){break x}c=k+1|0;u=c&1;y:{if(!k){c=0;break y}H=c&-2;c=0;k=0;while(1){q=c<<4;w=q+h|0;n=q+x[f+260>>2]|0;ca=x[n+4>>2];x[w>>2]=x[n>>2];x[w+4>>2]=ca;ca=x[n+12>>2];x[w+8>>2]=x[n+8>>2];x[w+12>>2]=ca;n=q|16;q=n+h|0;n=n+x[f+260>>2]|0;w=x[n+4>>2];x[q>>2]=x[n>>2];x[q+4>>2]=w;w=x[n+12>>2];x[q+8>>2]=x[n+8>>2];x[q+12>>2]=w;c=c+2|0;k=k+2|0;if((H|0)!=(k|0)){continue}break}}if(!u){break x}c=c<<4;k=c+h|0;c=c+x[f+260>>2]|0;n=x[c+4>>2];x[k>>2]=x[c>>2];x[k+4>>2]=n;n=x[c+12>>2];x[k+8>>2]=x[c+8>>2];x[k+12>>2]=n}c=x[f+260>>2];if(!(c?!c|!y[f+264|0]:1)){x[8457]=x[8457]+1;ia[x[8259]](c)}x[f+260>>2]=h;v[f+264|0]=1;x[f+256>>2]=i;h=x[f+252>>2]}c=x[f+260>>2]+(h<<4)|0;x[c+12>>2]=0;B[c+8>>2]=s;B[c+4>>2]=L;B[c>>2]=g;x[f+252>>2]=x[f+252>>2]+1;g=B[x[a+56>>2]+848>>2];Oa(r,f+792|0,f+348|0,x[d+20>>2],0);j=B[r+12>>2];m=B[r+4>>2];s=B[r+8>>2];L=E(E(j*j)+E(E(m*m)+E(s*s)));if(L>E(1.1920928955078125e-7)){x[f+344>>2]=0;l=j;j=E(E(1)/L);B[f+340>>2]=l*j;B[f+336>>2]=s*j;B[f+332>>2]=m*j;j=B[r+56>>2];m=E(ia[x[x[G>>2]+48>>2]](G));s=E(ia[x[x[A>>2]+48>>2]](A));h=0;r=0;c=a+32|0;d=x[c+4>>2];z:{if((d|0)>0){break z}n=(d|0)>=0;if(n){break z}if(x[c+8>>2]<0){A:{if((d|0)<=0){break A}if((d|0)!=1){q=d&-2;while(1){k=h<<4;i=k+x[c+12>>2]|0;A=x[i+4>>2];x[k>>2]=x[i>>2];x[k+4>>2]=A;A=x[i+12>>2];x[k+8>>2]=x[i+8>>2];x[k+12>>2]=A;k=k|16;i=k+x[c+12>>2]|0;A=x[i+4>>2];x[k>>2]=x[i>>2];x[k+4>>2]=A;A=x[i+12>>2];x[k+8>>2]=x[i+8>>2];x[k+12>>2]=A;h=h+2|0;r=r+2|0;if((q|0)!=(r|0)){continue}break}}if(!(d&1)){break A}h=h<<4;k=h+x[c+12>>2]|0;r=x[k+4>>2];x[h>>2]=x[k>>2];x[h+4>>2]=r;r=x[k+12>>2];x[h+8>>2]=x[k+8>>2];x[h+12>>2]=r}h=x[c+12>>2];if(!(h?!h|!y[c+16|0]:1)){x[8457]=x[8457]+1;ia[x[8259]](h)}x[c+12>>2]=0;v[c+16|0]=1;x[c+8>>2]=0;if(n){break z}}r=d^-1;i=0-d&3;if(i){h=0;while(1){n=x[f+320>>2];k=x[c+12>>2]+(d<<4)|0;x[k>>2]=x[f+316>>2];x[k+4>>2]=n;n=x[f+328>>2];x[k+8>>2]=x[f+324>>2];x[k+12>>2]=n;d=d+1|0;h=h+1|0;if((i|0)!=(h|0)){continue}break}}if(r>>>0<3){break z}while(1){r=x[f+320>>2];h=d<<4;k=h+x[c+12>>2]|0;x[k>>2]=x[f+316>>2];x[k+4>>2]=r;r=x[f+328>>2];x[k+8>>2]=x[f+324>>2];x[k+12>>2]=r;r=x[f+328>>2];k=h+x[c+12>>2]|0;x[k+24>>2]=x[f+324>>2];x[k+28>>2]=r;r=x[f+320>>2];x[k+16>>2]=x[f+316>>2];x[k+20>>2]=r;r=x[f+328>>2];k=h+x[c+12>>2]|0;x[k+40>>2]=x[f+324>>2];x[k+44>>2]=r;r=x[f+320>>2];x[k+32>>2]=x[f+316>>2];x[k+36>>2]=r;k=x[f+328>>2];h=h+x[c+12>>2]|0;x[h+56>>2]=x[f+324>>2];x[h+60>>2]=k;k=x[f+320>>2];x[h+48>>2]=x[f+316>>2];x[h+52>>2]=k;d=d+4|0;if(d){continue}break}}x[c+4>>2]=0;Cd(f+332|0,x[G+60>>2],x[b+12>>2],f+248|0,c,E(E(E(j-m)-s)-g),g,e)}if(y[a+52|0]){a=x[e+4>>2];if(x[a+844>>2]){c=x[a+836>>2];d=x[x[e+8>>2]+8>>2];b=(c|0)==(d|0);r=a;a=x[x[e+12>>2]+8>>2];Ja(r,(b?c:a)+4|0,(b?a:d)+4|0)}}a=x[f+260>>2];if(!a|!y[f+264|0]){break a}if(a){x[8457]=x[8457]+1;ia[x[8259]](a)}break a}Oa(r,f+792|0,e,x[d+20>>2],0);B:{if(!x[a+64>>2]|x[x[e+4>>2]+844>>2]>=x[a+68>>2]){break B}g=B[r+12>>2];j=B[r+4>>2];m=B[r+8>>2];s=E(E(g*g)+E(E(j*j)+E(m*m)));if(!(s>E(1.1920928955078125e-7))){break B}q=f+856|0;w=f+840|0;u=f+824|0;H=f+808|0;l=m;m=E(E(1)/s);L=E(l*m);l=E(j*m);z=E(g*m);C:{if(E(F(z))>E(.7071067690849304)){g=E(E(1)/E(M(E(E(L*L)+E(z*z)))));X=E(L*g);g=E(g*E(-z));j=E(0);break C}j=E(E(1)/E(M(E(E(l*l)+E(L*L)))));g=E(l*j);X=E(0);j=E(j*E(-L))}m=E(ia[x[x[G>>2]+16>>2]](G));s=E(ia[x[x[A>>2]+16>>2]](A));U=B[8265];A=m>2];x[f+256>>2]=x[h+8>>2];x[f+260>>2]=G;G=x[h+4>>2];x[f+248>>2]=x[h>>2];x[f+252>>2]=G;h=A?H:k;G=x[h+12>>2];x[f+272>>2]=x[h+8>>2];x[f+276>>2]=G;G=x[h+4>>2];x[f+264>>2]=x[h>>2];x[f+268>>2]=G;h=A?u:i;G=x[h+12>>2];x[f+288>>2]=x[h+8>>2];x[f+292>>2]=G;G=x[h+4>>2];x[f+280>>2]=x[h>>2];x[f+284>>2]=G;h=A?w:n;G=x[h+12>>2];x[f+304>>2]=x[h+8>>2];x[f+308>>2]=G;G=x[h+4>>2];x[f+296>>2]=x[h>>2];x[f+300>>2]=G;h=x[a+64>>2];if((h|0)<=0){break B}m=E(U/(A?m:s));m=m>E(.39269909262657166)?E(.19634954631328583):E(m*E(.5));s=Ca(m);U=Ba(m);m=E(E(X*X)+E(E(j*j)+E(g*g)));if(!(m>E(1.1920928955078125e-7))){break B}m=E(s/E(M(m)));V=E(X*m);W=E(g*m);C=E(j*m);S=E(M(E(E(z*z)+E(E(l*l)+E(L*L)))));G=f- -64|0;while(1){s=E(E(E(E(6.2831854820251465)/E(h|0))*E(ca|0))*E(.5));m=E(Ca(s)/S);g=E(z*m);j=E(L*m);m=E(l*m);s=Ba(s);D:{if(!A){h=x[b+12>>2];o=x[h+12>>2];x[f+800>>2]=x[h+8>>2];x[f+804>>2]=o;o=x[h+4>>2];x[f+792>>2]=x[h>>2];x[f+796>>2]=o;o=x[h+28>>2];x[H+8>>2]=x[h+24>>2];x[H+12>>2]=o;o=x[h+20>>2];x[H>>2]=x[h+16>>2];x[H+4>>2]=o;o=x[h+44>>2];x[u+8>>2]=x[h+40>>2];x[u+12>>2]=o;o=x[h+36>>2];x[u>>2]=x[h+32>>2];x[u+4>>2]=o;o=x[h+60>>2];x[w+8>>2]=x[h+56>>2];x[w+12>>2]=o;o=x[h+52>>2];x[w>>2]=x[h+48>>2];x[w+4>>2]=o;h=x[c+12>>2];N=B[h+36>>2];p=B[h+20>>2];t=B[h+40>>2];X=B[h+24>>2];$=B[h+32>>2];aa=B[h>>2];ba=B[h+16>>2];Z=B[h+4>>2];_=B[h+8>>2];x[f+900>>2]=0;x[f+884>>2]=0;x[f+868>>2]=0;O=E(E(m*V)+E(E(E(s*W)-E(U*j))-E(g*C)));P=E(E(g*V)+E(E(j*W)+E(E(s*U)+E(C*m))));Q=E(E(g*W)+E(E(E(s*C)-E(U*m))-E(j*V)));R=E(E(j*C)+E(E(E(s*V)-E(U*g))-E(m*W)));J=E(E(E(O*g)+E(E(P*m)+E(s*Q)))-E(R*j));K=E(E(E(E(P*s)-E(m*Q))-E(O*j))-E(R*g));Y=E(E(E(Q*j)+E(E(P*g)+E(s*R)))-E(O*m));g=E(E(E(R*m)+E(E(P*j)+E(s*O)))-E(Q*g));j=E(E(2)/E(E(K*K)+E(E(Y*Y)+E(E(J*J)+E(g*g)))));P=E(J*j);Q=E(J*P);m=E(g*j);R=E(g*m);s=E(E(1)-E(Q+R));j=E(Y*j);ea=E(J*j);fa=E(K*m);O=E(ea-fa);ha=E(g*j);P=E(K*P);g=E(ha+P);B[f+896>>2]=E(t*s)+E(E(_*O)+E(X*g));B[f+892>>2]=E(N*s)+E(E(Z*O)+E(g*p));B[f+888>>2]=E($*s)+E(E(aa*O)+E(g*ba));g=E(ha-P);s=E(J*m);J=E(K*j);m=E(s+J);K=E(Y*j);j=E(E(1)-E(Q+K));B[f+880>>2]=E(t*g)+E(E(_*m)+E(X*j));B[f+876>>2]=E(N*g)+E(E(Z*m)+E(j*p));B[f+872>>2]=E($*g)+E(E(aa*m)+E(j*ba));g=E(ea+fa);j=E(E(1)-E(R+K));m=E(s-J);B[f+864>>2]=E(t*g)+E(E(_*j)+E(X*m));B[f+860>>2]=E(N*g)+E(E(Z*j)+E(m*p));B[f+856>>2]=E($*g)+E(E(aa*j)+E(m*ba));break D}h=x[b+12>>2];N=B[h+36>>2];p=B[h+20>>2];t=B[h+40>>2];X=B[h+24>>2];$=B[h+32>>2];aa=B[h>>2];ba=B[h+16>>2];Z=B[h+4>>2];_=B[h+8>>2];x[f+836>>2]=0;x[f+820>>2]=0;x[f+804>>2]=0;O=E(E(m*V)+E(E(E(s*W)-E(U*j))-E(g*C)));P=E(E(g*V)+E(E(j*W)+E(E(s*U)+E(C*m))));Q=E(E(g*W)+E(E(E(s*C)-E(U*m))-E(j*V)));R=E(E(j*C)+E(E(E(s*V)-E(U*g))-E(m*W)));J=E(E(E(O*g)+E(E(P*m)+E(s*Q)))-E(R*j));K=E(E(E(E(P*s)-E(m*Q))-E(O*j))-E(R*g));Y=E(E(E(Q*j)+E(E(P*g)+E(s*R)))-E(O*m));g=E(E(E(R*m)+E(E(P*j)+E(s*O)))-E(Q*g));j=E(E(2)/E(E(K*K)+E(E(Y*Y)+E(E(J*J)+E(g*g)))));P=E(J*j);Q=E(J*P);m=E(g*j);R=E(g*m);s=E(E(1)-E(Q+R));j=E(Y*j);ea=E(J*j);fa=E(K*m);O=E(ea-fa);ha=E(g*j);P=E(K*P);g=E(ha+P);B[f+832>>2]=E(t*s)+E(E(_*O)+E(X*g));B[f+828>>2]=E(N*s)+E(E(Z*O)+E(g*p));B[f+824>>2]=E($*s)+E(E(aa*O)+E(g*ba));g=E(ha-P);s=E(J*m);J=E(K*j);m=E(s+J);K=E(Y*j);j=E(E(1)-E(Q+K));B[f+816>>2]=E(t*g)+E(E(_*m)+E(X*j));B[f+812>>2]=E(N*g)+E(E(Z*m)+E(j*p));B[f+808>>2]=E($*g)+E(E(aa*m)+E(j*ba));g=E(ea+fa);j=E(E(1)-E(R+K));m=E(s-J);B[f+800>>2]=E(t*g)+E(E(_*j)+E(X*m));B[f+796>>2]=E(N*g)+E(E(Z*j)+E(m*p));B[f+792>>2]=E($*g)+E(E(aa*j)+E(m*ba));h=x[c+12>>2];o=x[h+4>>2];x[q>>2]=x[h>>2];x[q+4>>2]=o;o=x[h+12>>2];x[q+8>>2]=x[h+8>>2];x[q+12>>2]=o;o=x[h+28>>2];x[k+8>>2]=x[h+24>>2];x[k+12>>2]=o;o=x[h+20>>2];x[k>>2]=x[h+16>>2];x[k+4>>2]=o;o=x[h+44>>2];x[i+8>>2]=x[h+40>>2];x[i+12>>2]=o;o=x[h+36>>2];x[i>>2]=x[h+32>>2];x[i+4>>2]=o;o=x[h+60>>2];x[n+8>>2]=x[h+56>>2];x[n+12>>2]=o;o=x[h+52>>2];x[n>>2]=x[h+48>>2];x[n+4>>2]=o}h=x[d+20>>2];x[f+44>>2]=e;x[f+8>>2]=15628;x[f+40>>2]=0;o=x[f+804>>2];x[f+56>>2]=x[f+800>>2];x[f+60>>2]=o;o=x[f+796>>2];x[f+48>>2]=x[f+792>>2];x[f+52>>2]=o;o=x[H+12>>2];x[G+8>>2]=x[H+8>>2];x[G+12>>2]=o;o=x[H+4>>2];x[G>>2]=x[H>>2];x[G+4>>2]=o;o=x[u+12>>2];x[f+88>>2]=x[u+8>>2];x[f+92>>2]=o;o=x[u+4>>2];x[f+80>>2]=x[u>>2];x[f+84>>2]=o;o=x[w+12>>2];x[f+104>>2]=x[w+8>>2];x[f+108>>2]=o;o=x[w+4>>2];x[f+96>>2]=x[w>>2];x[f+100>>2]=o;o=x[q+12>>2];x[f+120>>2]=x[q+8>>2];x[f+124>>2]=o;o=x[q+4>>2];x[f+112>>2]=x[q>>2];x[f+116>>2]=o;o=x[k+12>>2];x[f+136>>2]=x[k+8>>2];x[f+140>>2]=o;o=x[k+4>>2];x[f+128>>2]=x[k>>2];x[f+132>>2]=o;o=x[i+12>>2];x[f+152>>2]=x[i+8>>2];x[f+156>>2]=o;o=x[i+4>>2];x[f+144>>2]=x[i>>2];x[f+148>>2]=o;o=x[n+12>>2];x[f+168>>2]=x[n+8>>2];x[f+172>>2]=o;o=x[n+4>>2];x[f+160>>2]=x[n>>2];x[f+164>>2]=o;o=x[f+260>>2];x[f+184>>2]=x[f+256>>2];x[f+188>>2]=o;o=x[f+252>>2];x[f+176>>2]=x[f+248>>2];x[f+180>>2]=o;o=x[f+276>>2];x[f+200>>2]=x[f+272>>2];x[f+204>>2]=o;o=x[f+268>>2];x[f+192>>2]=x[f+264>>2];x[f+196>>2]=o;o=x[f+292>>2];x[f+216>>2]=x[f+288>>2];x[f+220>>2]=o;o=x[f+284>>2];x[f+208>>2]=x[f+280>>2];x[f+212>>2]=o;o=x[f+300>>2];x[f+224>>2]=x[f+296>>2];x[f+228>>2]=o;o=x[f+308>>2];x[f+232>>2]=x[f+304>>2];x[f+236>>2]=o;x[f+244>>2]=h;v[f+240|0]=A;Oa(r,f+792|0,f+8|0,h,0);h=x[a+64>>2];ca=ca+1|0;if((h|0)>(ca|0)){continue}break}}if(!y[a+52|0]){break a}a=x[e+4>>2];if(!x[a+844>>2]){break a}c=x[a+836>>2];d=x[x[e+8>>2]+8>>2];b=(c|0)==(d|0);r=a;a=x[x[e+12>>2]+8>>2];Ja(r,(b?c:a)+4|0,(b?a:d)+4|0)}ga=f+928|0}function Ee(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=E(0),h=E(0),i=E(0),j=E(0),k=E(0),l=0,m=E(0),n=E(0),o=0,p=E(0),q=E(0),r=E(0),s=E(0),t=0,u=0,v=E(0),w=E(0),y=0,z=E(0),A=E(0),C=E(0),G=E(0),H=0,I=0,J=E(0),K=E(0),L=0,N=E(0),O=E(0),P=E(0),Q=E(0),R=E(0),S=E(0),T=E(0),U=E(0),V=E(0),W=E(0),X=0,Y=0,Z=E(0),_=E(0),$=E(0),aa=E(0),ba=E(0),ca=E(0),da=E(0),ea=E(0),fa=0,ha=E(0),ja=E(0),ka=E(0),la=E(0),ma=E(0),na=E(0),oa=0,pa=0,qa=E(0),ra=0,sa=0,ta=0,ua=E(0),va=0,wa=E(0);d=ga-160|0;ga=d;B[d+112>>2]=B[b>>2];B[d+64>>2]=B[b+64>>2];B[d+116>>2]=B[b+4>>2];B[d+68>>2]=B[b+68>>2];B[d+120>>2]=B[b+8>>2];B[d+72>>2]=B[b+72>>2];B[d+128>>2]=B[b+16>>2];B[d+80>>2]=B[b+80>>2];B[d+132>>2]=B[b+20>>2];B[d+84>>2]=B[b+84>>2];B[d+136>>2]=B[b+24>>2];B[d+88>>2]=B[b+88>>2];B[d+144>>2]=B[b+32>>2];B[d+96>>2]=B[b+96>>2];B[d+148>>2]=B[b+36>>2];B[d+100>>2]=B[b+100>>2];B[d+152>>2]=B[b+40>>2];B[d+104>>2]=B[b+104>>2];e=x[a+4>>2];j=B[e+44>>2];i=B[e+40>>2];n=B[e+36>>2];g=E(ia[x[x[e>>2]+48>>2]](e));h=E(ia[x[x[e>>2]+48>>2]](e));k=E(ia[x[x[e>>2]+48>>2]](e));x[d+36>>2]=0;i=E(i+h);B[d+28>>2]=i+i;i=E(n+g);B[d+24>>2]=i+i;j=E(j+k);B[d+32>>2]=j+j;a=x[a+8>>2];j=B[a+44>>2];i=B[a+40>>2];n=B[a+36>>2];g=E(ia[x[x[a>>2]+48>>2]](a));h=E(ia[x[x[a>>2]+48>>2]](a));k=E(ia[x[x[a>>2]+48>>2]](a));x[d+20>>2]=0;i=E(i+h);B[d+12>>2]=i+i;i=E(n+g);B[d+8>>2]=i+i;j=E(j+k);B[d+16>>2]=j+j;X=c;f=ga-368|0;ga=f;a=d+112|0;P=B[a+36>>2];V=B[a+4>>2];K=B[a+20>>2];s=B[a+40>>2];ea=B[a+8>>2];Q=B[a+24>>2];L=b+48|0;n=B[L+8>>2];c=b+112|0;g=B[c+8>>2];q=B[L>>2];r=B[c>>2];N=B[L+4>>2];C=B[c+4>>2];j=B[a+32>>2];qa=B[a>>2];i=B[a+16>>2];h=E(B[d+24>>2]*E(.5));B[f+356>>2]=h;k=E(B[d+28>>2]*E(.5));B[f+360>>2]=k;m=E(B[d+32>>2]*E(.5));B[f+364>>2]=m;v=E(B[d+8>>2]*E(.5));B[f+344>>2]=v;z=E(B[d+12>>2]*E(.5));B[f+348>>2]=z;p=E(B[d+16>>2]*E(.5));B[f+352>>2]=p;n=E(g-n);g=E(r-q);q=E(C-N);r=E(E(j*n)+E(E(qa*g)+E(i*q)));b=d- -64|0;Z=B[b+40>>2];_=B[b+8>>2];R=B[b+24>>2];N=E(E(j*Z)+E(E(qa*_)+E(i*R)));ha=E(F(N));W=B[b+36>>2];O=B[b+4>>2];$=B[b+20>>2];C=E(E(j*W)+E(E(qa*O)+E(i*$)));ja=E(F(C));aa=B[b+32>>2];ba=B[b>>2];ca=B[b+16>>2];G=E(E(j*aa)+E(E(qa*ba)+E(i*ca)));ua=E(F(G));i=E(E(F(r))-E(E(p*ha)+E(E(z*ja)+E(E(v*ua)+h))));a:{if(i>E(0)){break a}w=E(E(P*Z)+E(E(V*_)+E(K*R)));ka=E(F(w));S=E(E(P*W)+E(E(V*O)+E(K*$)));T=E(F(S));U=E(E(P*aa)+E(E(V*ba)+E(K*ca)));la=E(F(U));j=E(-34028234663852886e22);if(i>E(-34028234663852886e22)){l=rE(0)){break a}K=E(E(s*Z)+E(E(ea*_)+E(Q*R)));ma=E(F(K));J=E(E(s*W)+E(E(ea*O)+E(Q*$)));na=E(F(J));A=E(E(s*aa)+E(E(ea*ba)+E(Q*ca)));da=E(F(A));if(jE(0)){break a}if(jE(0)){break a}if(jE(0)){break a}if(jE(0)){break a}if(jE(1.1920928955078125e-7)){break a}Q=E(na+E(9999999747378752e-21));Z=E(T+E(9999999747378752e-21));_=E(ua+E(9999999747378752e-21));T=E(-P);q=E(0);la=E(U*U);na=E(E(A*A)+E(0));R=E(M(E(la+na)));b:{if(!(R>E(1.1920928955078125e-7))){g=E(0);n=E(0);break b}g=E(0);i=E(i/R);n=E(0);if(!(E(i*E(1.0499999523162842))>j)){break b}l=WE(1.1920928955078125e-7)){break a}R=E(ma+E(9999999747378752e-21));W=E(ka+E(9999999747378752e-21));ka=E(S*S);ma=E(E(J*J)+E(0));O=E(M(E(ka+ma)));c:{if(!(O>E(1.1920928955078125e-7))){break c}i=E(i/O);if(!(E(i*E(1.0499999523162842))>j)){break c}l=daE(1.1920928955078125e-7)){break a}da=E(w*w);ha=E(E(K*K)+E(0));O=E(M(E(da+ha)));d:{if(!(O>E(1.1920928955078125e-7))){break d}i=E(i/O);if(!(E(i*E(1.0499999523162842))>j)){break d}l=TE(1.1920928955078125e-7)){break a}O=E(-s);ja=E(G*G);s=E(M(E(ja+na)));e:{if(!(s>E(1.1920928955078125e-7))){break e}i=E(i/s);if(!(E(i*E(1.0499999523162842))>j)){break e}l=TE(1.1920928955078125e-7)){break a}T=E(C*C);A=E(M(E(T+ma)));f:{if(!(A>E(1.1920928955078125e-7))){break f}i=E(i/A);if(!(E(i*E(1.0499999523162842))>j)){break f}l=sE(1.1920928955078125e-7)){break a}s=E(N*N);J=E(M(E(s+ha)));g:{if(!(J>E(1.1920928955078125e-7))){break g}i=E(i/J);if(!(E(i*E(1.0499999523162842))>j)){break g}l=AE(1.1920928955078125e-7)){break a}K=E(-r);r=E(M(E(E(la+ja)+E(0))));h:{if(!(r>E(1.1920928955078125e-7))){break h}i=E(i/r);if(!(E(i*E(1.0499999523162842))>j)){break h}l=JE(1.1920928955078125e-7)){break a}p=E(M(E(E(ka+T)+E(0))));i:{if(!(p>E(1.1920928955078125e-7))){break i}i=E(i/p);if(!(E(i*E(1.0499999523162842))>j)){break i}l=rE(1.1920928955078125e-7)){break a}j:{k:{l:{m:{p=E(M(E(E(da+s)+E(0))));if(!(p>E(1.1920928955078125e-7))){break m}i=E(i/p);if(!(E(i*E(1.0499999523162842))>j)){break m}l=r>2]=p;r=E(E(B[a+24>>2]*g)+E(E(B[a+16>>2]*q)+E(n*B[a+20>>2])));B[d+52>>2]=r;j=E(E(B[a+40>>2]*g)+E(E(B[a+32>>2]*q)+E(n*B[a+36>>2])));break j}p=B[u>>2];B[d+48>>2]=p;r=B[u+16>>2];B[d+52>>2]=r;i=j;j=B[u+32>>2]}B[d+56>>2]=j;if(l){B[d+56>>2]=-j;B[d+52>>2]=-r;B[d+48>>2]=-p}B[d+44>>2]=-i;if(H>>>0>=7){x[f+120>>2]=x[L+8>>2];e=x[L+4>>2];x[f+112>>2]=x[L>>2];x[f+116>>2]=e;j=B[d+56>>2];q=B[a+40>>2];n=B[d+48>>2];p=B[a+8>>2];g=B[d+52>>2];r=B[a+24>>2];m=E(E(j*q)+E(E(n*p)+E(g*r)))>E(0)?m:E(-m);s=E(m*q);q=B[a+36>>2];N=B[a+4>>2];C=B[a+20>>2];k=E(E(j*q)+E(E(n*N)+E(g*C)))>E(0)?k:E(-k);A=E(k*q);q=B[a+32>>2];G=B[a>>2];w=B[a+16>>2];h=E(E(j*q)+E(E(n*G)+E(g*w)))>E(0)?h:E(-h);B[f+120>>2]=s+E(A+E(E(h*q)+B[f+120>>2]));B[f+112>>2]=E(m*p)+E(E(k*N)+E(E(h*G)+B[f+112>>2]));B[f+116>>2]=E(m*r)+E(E(k*C)+E(E(h*w)+B[f+116>>2]));x[f+216>>2]=x[c+8>>2];e=x[c+4>>2];x[f+208>>2]=x[c>>2];x[f+212>>2]=e;h=B[f+352>>2];k=B[b+40>>2];m=B[b+8>>2];q=B[b+24>>2];h=E(E(j*k)+E(E(n*m)+E(g*q)))>E(0)?E(-h):h;G=E(h*k);w=E(-z);s=z;z=B[b+36>>2];p=B[b+4>>2];r=B[b+20>>2];k=E(E(j*z)+E(E(n*p)+E(g*r)))>E(0)?w:s;A=E(-v);s=v;v=B[b+32>>2];w=n;n=B[b>>2];C=g;g=B[b+16>>2];j=E(E(j*v)+E(E(w*n)+E(C*g)))>E(0)?A:s;v=E(G+E(E(k*z)+E(E(j*v)+B[f+216>>2])));B[f+216>>2]=v;m=E(E(h*m)+E(E(k*p)+E(E(j*n)+B[f+208>>2])));B[f+208>>2]=m;g=E(E(h*q)+E(E(k*r)+E(E(j*g)+B[f+212>>2])));B[f+212>>2]=g;c=H-7&255;a=((c>>>0)/3<<2)+a|0;B[f+288>>2]=B[a>>2];B[f+292>>2]=B[a+16>>2];B[f+296>>2]=B[a+32>>2];a=b+((c>>>0)%3<<2)|0;h=B[a>>2];B[f+80>>2]=h;k=B[a+16>>2];B[f+84>>2]=k;z=B[a+32>>2];B[f+88>>2]=z;a=f+208|0;b=f- -64|0;n=E(0);q=B[f+296>>2];p=B[f+88>>2];r=B[f+288>>2];N=B[f+80>>2];C=B[f+292>>2];G=B[f+84>>2];j=E(E(q*p)+E(E(r*N)+E(C*G)));w=E(E(1)-E(j*j));if(w<=E(9999999747378752e-20)){j=E(0)}else{w=E(E(1)/w);n=E(B[a+8>>2]-B[f+120>>2]);s=E(q*n);q=E(B[a>>2]-B[f+112>>2]);A=E(r*q);r=E(B[a+4>>2]-B[f+116>>2]);C=E(s+E(A+E(C*r)));q=E(E(p*n)+E(E(N*q)+E(G*r)));n=E(w*E(E(j*C)-q));j=E(w*E(C-E(j*q)))}B[f+328>>2]=j;B[b>>2]=n;j=B[f+64>>2];B[f+216>>2]=E(z*j)+v;B[f+212>>2]=E(k*j)+g;B[f+208>>2]=E(h*j)+m;j=B[d+48>>2];n=B[d+52>>2];g=B[d+56>>2];x[f+44>>2]=0;B[f+40>>2]=-g;B[f+36>>2]=-n;B[f+32>>2]=-j;ia[x[x[X>>2]+16>>2]](X,f+32|0,a,i);x[d+40>>2]=H;break a}j=B[d+48>>2];n:{if(H>>>0<=3){n=B[d+56>>2];u=f+356|0;e=c;c=b;o=f+344|0;i=B[d+52>>2];break n}j=E(-j);n=E(-B[d+56>>2]);u=f+344|0;e=L;L=c;c=a;a=b;o=f+356|0;i=E(-B[d+52>>2])}h=E(E(B[c+32>>2]*n)+E(E(B[c>>2]*j)+E(i*B[c+16>>2])));B[f+328>>2]=h;k=E(E(B[c+36>>2]*n)+E(E(B[c+4>>2]*j)+E(i*B[c+20>>2])));B[f+332>>2]=k;g=E(E(B[c+40>>2]*n)+E(E(B[c+8>>2]*j)+E(i*B[c+24>>2])));B[f+336>>2]=g;g=E(F(g));k=E(F(k));h=E(F(h));o:{if(k>h){l=g>2];g=B[b+(f+328|0)>>2]>2])+E(B[e+8>>2]-B[L+8>>2]));z=E(E(g*B[b+16>>2])+E(B[e+4>>2]-B[L+4>>2]));q=E(E(g*B[b>>2])+E(B[e>>2]-B[L>>2]));ra=l?2:1;b=1;e=2;p:{q:{r:{sa=(H>>>0<4?-1:-4)+H|0;switch(sa|0){case 0:break p;case 1:break r;default:break q}}b=0;break p}e=1;b=0}l=b<<2;b=l+a|0;g=B[b+32>>2];h=B[b>>2];k=B[b+16>>2];b=e<<2;a=b+a|0;m=B[a+32>>2];p=B[a>>2];r=B[a+16>>2];N=E(E(v*m)+E(E(q*p)+E(z*r)));a=Y<<2;oa=a+c|0;G=B[oa+32>>2];w=B[oa>>2];S=B[oa+16>>2];C=E(E(m*G)+E(E(p*w)+E(r*S)));U=B[a+o>>2];P=E(C*U);K=E(N+P);a=ra<<2;fa=a+c|0;J=B[fa+32>>2];A=B[fa>>2];s=B[fa+16>>2];p=E(E(m*J)+E(E(p*A)+E(r*s)));V=B[a+o>>2];m=E(p*V);B[f+316>>2]=K-m;r=E(E(v*g)+E(E(q*h)+E(z*k)));G=E(E(g*G)+E(E(h*w)+E(k*S)));S=E(U*G);U=E(r+S);w=E(E(g*J)+E(E(h*A)+E(k*s)));g=E(V*w);B[f+312>>2]=U-g;B[f+308>>2]=K+m;B[f+304>>2]=U+g;h=E(N-P);B[f+300>>2]=h+m;k=E(r-S);B[f+296>>2]=k+g;B[f+292>>2]=h-m;B[f+288>>2]=k-g;B[f+280>>2]=B[l+u>>2];B[f+284>>2]=B[b+u>>2];e=f+208|0;l=0;t=ga+-64|0;ga=t;g=B[f+280>>2];m=B[f+288>>2];h=E(-m);if(g>h){B[e>>2]=m;B[e+4>>2]=B[f+292>>2];g=B[f+280>>2];m=B[f+288>>2];h=E(-m);l=1;b=e+8|0}else{b=e}a=g>h;h=B[f+296>>2];k=E(-h);if((a|0)!=(k>2];B[b+4>>2]=E(E(E(B[f+300>>2]-k)/E(h-m))*E(E(-g)-m))+k;B[b>>2]=-B[f+280>>2];l=l+1|0;g=B[f+280>>2];h=B[f+296>>2];k=E(-h);b=b+8|0}if(g>k){B[b>>2]=h;B[b+4>>2]=B[f+300>>2];l=l+1|0;g=B[f+280>>2];h=B[f+296>>2];k=E(-h);b=b+8|0}a=g>k;k=B[f+304>>2];m=E(-k);if((a|0)!=(m>2];B[b+4>>2]=E(E(E(B[f+308>>2]-m)/E(k-h))*E(E(-g)-h))+m;B[b>>2]=-B[f+280>>2];l=l+1|0;g=B[f+280>>2];k=B[f+304>>2];m=E(-k);b=b+8|0}if(g>m){B[b>>2]=k;B[b+4>>2]=B[f+308>>2];l=l+1|0;g=B[f+280>>2];k=B[f+304>>2];m=E(-k);b=b+8|0}a=g>m;h=B[f+312>>2];m=E(-h);if((a|0)!=(m>2];B[b+4>>2]=E(E(E(B[f+316>>2]-m)/E(h-k))*E(E(-g)-k))+m;B[b>>2]=-B[f+280>>2];l=l+1|0;g=B[f+280>>2];h=B[f+312>>2];m=E(-h);b=b+8|0}if(g>m){B[b>>2]=h;B[b+4>>2]=B[f+316>>2];l=l+1|0;g=B[f+280>>2];h=B[f+312>>2];m=E(-h);b=b+8|0}s:{t:{u:{k=B[f+288>>2];if((E(-k)m|0)){m=B[f+316>>2];B[b+4>>2]=E(E(E(B[f+292>>2]-m)/E(k-h))*E(E(-g)-h))+m;B[b>>2]=-B[f+280>>2];b=8;l=l+1|0;if(l&8){break s}break u}if(l){break u}b=0;break t}g=B[f+280>>2];h=B[e>>2];v:{if(!(g>h)){b=0;a=t;break v}B[t>>2]=h;B[t+4>>2]=B[e+4>>2];g=B[f+280>>2];h=B[e>>2];b=1;a=t|8}o=e+8|0;y=l>>>0>1;k=B[e+(y<<3)>>2];if((kh|0)){m=B[e+4>>2];B[a+4>>2]=E(E(E(B[(y?o:e)+4>>2]-m)/E(k-h))*E(g-h))+m;B[a>>2]=B[f+280>>2];b=b+1|0;a=a+8|0}w:{if((l|0)<2){break w}g=B[o>>2];h=B[f+280>>2];if(g>2]=g;B[a+4>>2]=B[e+12>>2];b=b+1|0;h=B[f+280>>2];g=B[o>>2];a=a+8|0}o=e+16|0;y=l-3>>>0<4294967294;k=B[e+(y<<4)>>2];if((g>2];B[a+4>>2]=E(E(E(B[(y?o:e)+4>>2]-m)/E(k-g))*E(h-g))+m;B[a>>2]=B[f+280>>2];b=b+1|0;if(b&8){break t}a=a+8|0}if((l|0)<3){break w}g=B[o>>2];h=B[f+280>>2];if(g>2]=g;B[a+4>>2]=B[e+20>>2];b=b+1|0;if(b&8){break t}h=B[f+280>>2];g=B[o>>2];a=a+8|0}o=e+24|0;y=(l&254)==2;k=B[e+(y?0:24)>>2];if((g>2];B[a+4>>2]=E(E(E(B[(y?e:o)+4>>2]-m)/E(k-g))*E(h-g))+m;B[a>>2]=B[f+280>>2];b=b+1|0;if(b&8){break t}a=a+8|0}if((l|0)<4){break w}g=B[o>>2];h=B[f+280>>2];if(g>2]=g;B[a+4>>2]=B[e+28>>2];b=b+1|0;if(b&8){break t}h=B[f+280>>2];g=B[o>>2];a=a+8|0}o=e+32|0;y=l-5>>>0<4294967294;k=B[e+(y<<5)>>2];if((g>2];B[a+4>>2]=E(E(E(B[(y?o:e)+4>>2]-m)/E(k-g))*E(h-g))+m;B[a>>2]=B[f+280>>2];b=b+1|0;if(b&8){break t}a=a+8|0}if((l|0)<5){break w}g=B[o>>2];h=B[f+280>>2];if(g>2]=g;B[a+4>>2]=B[e+36>>2];b=b+1|0;if(b&8){break t}h=B[f+280>>2];g=B[o>>2];a=a+8|0}o=e+40|0;y=(l&254)==4;k=B[e+(y?0:40)>>2];if((g>2];B[a+4>>2]=E(E(E(B[(y?e:o)+4>>2]-m)/E(k-g))*E(h-g))+m;B[a>>2]=B[f+280>>2];b=b+1|0;if(b&8){break t}a=a+8|0}if((l|0)<6){break w}g=B[o>>2];h=B[f+280>>2];if(g>2]=g;B[a+4>>2]=B[e+44>>2];b=b+1|0;if(b&8){break t}h=B[f+280>>2];g=B[o>>2];a=a+8|0}o=e+48|0;y=l-7>>>0<4294967294;k=B[e+(y?48:0)>>2];if((g>2];B[a+4>>2]=E(E(E(B[(y?o:e)+4>>2]-m)/E(k-g))*E(h-g))+m;B[a>>2]=B[f+280>>2];b=b+1|0;if(b&8){break t}a=a+8|0}if((l|0)<7){break w}g=B[o>>2];h=B[f+280>>2];if(g>2]=g;B[a+4>>2]=B[e+52>>2];b=b+1|0;if(b&8){break t}h=B[f+280>>2];g=B[o>>2];a=a+8|0}o=e+56|0;y=(l&254)==6;k=B[e+(y?0:56)>>2];if((g>2];B[a+4>>2]=E(E(E(B[(y?e:o)+4>>2]-m)/E(k-g))*E(h-g))+m;B[a>>2]=B[f+280>>2];b=b+1|0;if(b&8){break t}a=a+8|0}if((l|0)<8){break w}g=B[o>>2];h=B[f+280>>2];if(g>2]=g;B[a+4>>2]=B[e+60>>2];b=b+1|0;if(b&8){break t}h=B[f+280>>2];g=B[o>>2];a=a+8|0}l=e+((l-9>>>0<4294967294)<<6)|0;k=B[l>>2];if((g>2];B[a+4>>2]=E(E(E(B[l+4>>2]-m)/E(k-g))*E(h-g))+m;B[a>>2]=B[f+280>>2];b=b+1|0;if(b&8){break t}}if((b|0)<=0){b=0;break t}pa=t|4;o=0;a=t;l=e;while(1){g=B[f+284>>2];k=B[a+4>>2];h=E(-k);if(g>h){B[l>>2]=B[a>>2];B[l+4>>2]=B[a+4>>2];o=o+1|0;if(o&8){b=o;break s}g=B[f+284>>2];k=B[a+4>>2];h=E(-k);l=l+8|0}y=a+8|0;ta=b>>>0>1;m=B[(ta?a+12|0:pa)>>2];if((E(-m)h|0)){h=B[a>>2];B[l>>2]=E(E(E(B[(ta?y:t)>>2]-h)/E(m-k))*E(E(-g)-k))+h;B[l+4>>2]=-B[f+284>>2];o=o+1|0;if(o&8){b=o;break s}l=l+8|0}ta=(b|0)>1;b=b-1|0;a=y;if(ta){continue}break}b=0;if((o|0)<=0){break t}l=t;a=e;while(1){g=B[f+284>>2];h=B[a+4>>2];if(g>h){B[l>>2]=B[a>>2];B[l+4>>2]=B[a+4>>2];b=b+1|0;if(b&8){break t}g=B[f+284>>2];h=B[a+4>>2];l=l+8|0}y=a+8|0;pa=o>>>0>1?y:e;k=B[pa+4>>2];if((kh|0)){m=B[a>>2];B[l>>2]=E(E(E(B[pa>>2]-m)/E(k-h))*E(g-h))+m;B[l+4>>2]=B[f+284>>2];b=b+1|0;if(b&8){break t}l=l+8|0}pa=(o|0)>1;o=o-1|0;a=y;if(pa){continue}break}}ya(e,t,b<<3)}ga=t- -64|0;if((b|0)<=0){break a}e=b;g=E(E(1)/E(E(G*p)-E(C*w)));k=E(g*E(-C));m=E(g*E(-w));p=E(p*g);C=E(G*g);G=B[(sa<<2)+u>>2];a=(ra<<2)+c|0;w=B[a+32>>2];b=(Y<<2)+c|0;S=B[b+32>>2];U=B[a+16>>2];P=B[b+16>>2];K=B[fa>>2];J=B[oa>>2];a=0;b=0;while(1){c=(f+112|0)+D(a,12)|0;l=(f+208|0)+(b<<3)|0;A=B[l>>2];h=E(A-r);s=B[l+4>>2];V=E(s-N);g=E(E(k*h)+E(C*V));h=E(E(p*h)+E(m*V));V=E(E(g*K)+E(E(h*J)+q));B[c>>2]=V;ea=E(E(g*U)+E(E(h*P)+z));B[c+4>>2]=ea;g=E(E(g*w)+E(E(h*S)+v));B[c+8>>2]=g;g=E(G-E(E(n*g)+E(E(j*V)+E(i*ea))));B[(f+80|0)+(a<<2)>>2]=g;if(g>=E(0)){c=(f+208|0)+(a<<3)|0;B[c+4>>2]=s;B[c>>2]=A;a=a+1|0}b=b+1|0;if((e|0)!=(b|0)){continue}break}if((a|0)<=0){break a}b=(a|0)>=4?4:a;Y=(b|0)<=1?1:b;x:{if(Y>>>0>=a>>>0){if(H>>>0>=4){b=0;while(1){c=(f+112|0)+D(b,12)|0;i=B[d+48>>2];j=B[(f+80|0)+(b<<2)>>2];B[f+32>>2]=E(B[c>>2]+B[L>>2])-E(i*j);n=B[d+52>>2];B[f+36>>2]=E(B[c+4>>2]+B[L+4>>2])-E(j*n);g=B[d+56>>2];B[f+40>>2]=E(B[c+8>>2]+B[L+8>>2])-E(j*g);x[f+76>>2]=0;B[f+72>>2]=-g;B[f+68>>2]=-n;B[f+64>>2]=-i;ia[x[x[X>>2]+16>>2]](X,f- -64|0,f+32|0,E(-j));b=b+1|0;if((b|0)!=(a|0)){continue}break}break x}b=0;while(1){c=(f+112|0)+D(b,12)|0;B[f+32>>2]=B[c>>2]+B[L>>2];B[f+36>>2]=B[c+4>>2]+B[L+4>>2];B[f+40>>2]=B[c+8>>2]+B[L+8>>2];j=B[d+48>>2];i=B[d+52>>2];n=B[d+56>>2];x[f+76>>2]=0;B[f+72>>2]=-n;B[f+68>>2]=-i;B[f+64>>2]=-j;ia[x[x[X>>2]+16>>2]](X,f- -64|0,f+32|0,E(-B[(f+80|0)+(b<<2)>>2]));b=b+1|0;if((b|0)!=(a|0)){continue}break}break x}c=0;y:{if(a>>>0<2){break y}b=a-1|0;t=b&3;e=0;n=B[f+80>>2];z:{if(a-2>>>0<3){b=1;break z}oa=b&-4;b=1;while(1){l=f+80|0;fa=b+3|0;j=B[l+(fa<<2)>>2];i=B[l+(b<<2)>>2];u=i>n;ra=b+1|0;g=B[l+(ra<<2)>>2];i=u?i:n;o=g>i;sa=b+2|0;n=B[l+(sa<<2)>>2];i=o?g:i;l=n>i;i=l?n:i;y=i>2];l=j>n;n=l?j:n;c=l?b:c;b=b+1|0;e=e+1|0;if((t|0)!=(e|0)){continue}break}}t=f+208|0;u=f+32|0;e=0;i=E(0);g=E(0);h=E(0);l=ga+-64|0;ga=l;A:{B:{C:{D:{E:{b=a;switch(b-1|0){case 1:break C;case 0:break D;default:break E}}if((b|0)>=2){o=b-2|0;while(1){a=t+(e<<3)|0;n=B[a>>2];k=B[a+12>>2];m=B[a+4>>2];v=B[a+8>>2];j=E(E(n*k)-E(m*v));i=E(i+j);g=E(E(j*E(k+m))+g);h=E(E(j*E(n+v))+h);a=(e|0)!=(o|0);e=e+1|0;if(a){continue}break}}k=E(0xde0b6b000000000);z=i;a=t+(b<<3)|0;i=B[a-8>>2];n=B[t+4>>2];m=B[a-4>>2];v=B[t>>2];j=E(E(i*n)-E(m*v));z=E(z+j);if(E(F(z))>E(1.1920928955078125e-7)){k=E(E(1)/E(z*E(3)))}e=0;if((b|0)<=0){break A}g=E(E(E(j*E(n+m))+g)*k);j=E(E(E(j*E(i+v))+h)*k);break B}g=B[t+4>>2];j=B[t>>2];break B}g=E(E(B[t+4>>2]+B[t+12>>2])*E(.5));j=E(E(B[t>>2]+B[t+8>>2])*E(.5))}while(1){a=t+(e<<3)|0;va=(l+32|0)+(e<<2)|0,wa=xa(E(B[a+4>>2]-g),E(B[a>>2]-j)),B[va>>2]=wa;e=e+1|0;if((b|0)!=(e|0)){continue}break}I=0;o=0;if(b-1>>>0>=7){t=b&-8;a=0;while(1){e=o<<2;x[e+l>>2]=1;x[l+(e|4)>>2]=1;x[l+(e|8)>>2]=1;x[l+(e|12)>>2]=1;x[l+(e|16)>>2]=1;x[l+(e|20)>>2]=1;x[l+(e|24)>>2]=1;x[l+(e|28)>>2]=1;o=o+8|0;a=a+8|0;if((t|0)!=(a|0)){continue}break}}a=b&7;if(!a){e=1;break A}while(1){e=1;x[l+(o<<2)>>2]=1;o=o+1|0;I=I+1|0;if((a|0)!=(I|0)){continue}break}}a=c<<2;x[a+l>>2]=0;x[u>>2]=c;F:{if((Y|0)<2){break F}I=u+4|0;if(e){n=E(E(6.2831854820251465)/E(Y|0));g=B[a+(l+32|0)>>2];u=1;while(1){x[I>>2]=c;j=E(E(E(u|0)*n)+g);h=j>E(3.1415927410125732)?E(j+E(-6.2831854820251465)):j;i=E(1e9);a=c;e=0;while(1){t=e<<2;G:{if(!x[t+l>>2]){break G}j=E(F(E(B[t+(l+32|0)>>2]-h)));j=j>E(3.1415927410125732)?E(E(6.2831854820251465)-j):j;if(!(j>2]=e;a=e;i=j}e=e+1|0;if((b|0)!=(e|0)){continue}break}x[l+(a<<2)>>2]=0;I=I+4|0;u=u+1|0;if((Y|0)!=(u|0)){continue}break}break F}b=Y-1|0;a=b&7;if(Y-2>>>0>=7){b=b&-8;e=0;while(1){x[I+28>>2]=c;x[I+24>>2]=c;x[I+20>>2]=c;x[I+16>>2]=c;x[I+12>>2]=c;x[I+8>>2]=c;x[I+4>>2]=c;x[I>>2]=c;I=I+32|0;e=e+8|0;if((b|0)!=(e|0)){continue}break}}if(!a){break F}e=0;while(1){x[I>>2]=c;I=I+4|0;e=e+1|0;if((a|0)!=(e|0)){continue}break}}ga=l- -64|0;c=H>>>0>3;a=0;while(1){e=x[(f+32|0)+(a<<2)>>2];b=(f+112|0)+D(e,12)|0;h=E(B[b>>2]+B[L>>2]);B[f+64>>2]=h;k=E(B[b+4>>2]+B[L+4>>2]);B[f+68>>2]=k;m=E(B[b+8>>2]+B[L+8>>2]);B[f+72>>2]=m;b=(f+80|0)+(e<<2)|0;H:{if(!c){j=B[d+48>>2];i=B[d+52>>2];n=B[d+56>>2];x[f+28>>2]=0;B[f+24>>2]=-n;B[f+20>>2]=-i;B[f+16>>2]=-j;ia[x[x[X>>2]+16>>2]](X,f+16|0,f- -64|0,E(-B[b>>2]));break H}i=B[d+48>>2];n=B[d+52>>2];g=B[d+56>>2];x[f+28>>2]=0;B[f+24>>2]=-g;B[f+20>>2]=-n;B[f+16>>2]=-i;j=B[b>>2];x[f+12>>2]=0;B[f+8>>2]=m-E(g*j);B[f+4>>2]=k-E(n*j);B[f>>2]=h-E(i*j);ia[x[x[X>>2]+16>>2]](X,f+16|0,f,E(-j))}a=a+1|0;if((Y|0)!=(a|0)){continue}break}}x[d+40>>2]=H}ga=f+368|0;ga=d+160|0}function Ug(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=E(0),g=E(0),h=0,i=E(0),j=0,k=0,l=E(0),m=0,n=E(0),o=E(0),p=E(0),q=0,r=E(0),s=E(0),t=E(0),u=E(0),v=E(0),w=E(0),z=E(0),A=E(0),C=E(0),D=E(0),F=E(0),G=E(0),H=E(0),I=E(0),J=E(0),K=E(0),L=E(0),M=E(0);c=ga-352|0;ga=c;d=ia[x[x[a>>2]+20>>2]](a)|0;ia[x[x[d>>2]+8>>2]](c+224|0,d);d=x[c+348>>2];x[c+216>>2]=x[c+344>>2];x[c+220>>2]=d;d=x[c+340>>2];x[c+208>>2]=x[c+336>>2];x[c+212>>2]=d;d=ia[x[x[a>>2]+20>>2]](a)|0;d=ia[x[x[d>>2]+56>>2]](d)|0;j=ia[x[x[a>>2]+20>>2]](a)|0;j=ia[x[x[j>>2]+56>>2]](j)|0;w=B[b+40>>2];a:{if(w<=E(0)){break a}e=d&2048;k=j&4096;b:{switch(x[b+4>>2]-3|0){case 0:x[c+156>>2]=0;x[c+160>>2]=0;x[c+168>>2]=0;x[c+172>>2]=0;x[c+164>>2]=1065353216;x[c+176>>2]=0;x[c+180>>2]=0;x[c+184>>2]=1065353216;x[c+188>>2]=0;x[c+148>>2]=0;x[c+152>>2]=0;x[c+144>>2]=1065353216;d=x[b+28>>2];l=B[d+52>>2];o=B[d+8>>2];p=B[d+12>>2];n=B[d+56>>2];r=B[d+20>>2];s=B[d+24>>2];z=B[d+28>>2];t=B[d+60>>2];u=B[d+36>>2];f=B[b+304>>2];v=B[d+40>>2];g=B[b+308>>2];A=B[d+44>>2];C=B[d+4>>2];i=B[b+300>>2];x[c+204>>2]=0;B[c+200>>2]=t+E(E(g*A)+E(E(i*u)+E(f*v)));B[c+196>>2]=n+E(E(g*z)+E(E(i*r)+E(f*s)));B[c+192>>2]=l+E(E(g*p)+E(E(i*C)+E(f*o)));d=ia[x[x[a>>2]+20>>2]](a)|0;ia[x[x[d>>2]+64>>2]](d,c+144|0,w);d=x[b+32>>2];l=B[d+52>>2];o=B[d+8>>2];p=B[d+12>>2];n=B[d+56>>2];r=B[d+20>>2];s=B[d+24>>2];z=B[d+28>>2];t=B[d+60>>2];u=B[d+36>>2];f=B[b+320>>2];v=B[d+40>>2];g=B[b+324>>2];A=B[d+44>>2];C=B[d+4>>2];i=B[b+316>>2];x[c+204>>2]=0;B[c+200>>2]=t+E(E(g*A)+E(E(i*u)+E(f*v)));B[c+196>>2]=n+E(E(g*z)+E(E(i*r)+E(f*s)));B[c+192>>2]=l+E(E(g*p)+E(E(i*C)+E(f*o)));if(!e){break a}a=ia[x[x[a>>2]+20>>2]](a)|0;ia[x[x[a>>2]+64>>2]](a,c+144|0,w);break a;case 1:d=x[b+28>>2];K=B[d+52>>2];f=B[d+8>>2];g=B[d+12>>2];z=B[b+568>>2];t=B[b+584>>2];L=B[d+56>>2];M=B[d+60>>2];u=B[b+608>>2];v=B[b+600>>2];A=B[b+604>>2];i=B[d+28>>2];l=B[d+20>>2];o=B[d+24>>2];C=B[b+588>>2];D=B[b+556>>2];F=B[b+572>>2];G=B[b+592>>2];p=B[d+44>>2];H=B[b+560>>2];n=B[d+36>>2];I=B[b+576>>2];r=B[d+40>>2];s=B[d+4>>2];J=B[b+552>>2];x[c+204>>2]=0;x[c+188>>2]=0;x[c+172>>2]=0;B[c+184>>2]=E(G*p)+E(E(H*n)+E(I*r));B[c+180>>2]=E(C*p)+E(E(D*n)+E(F*r));B[c+168>>2]=E(G*i)+E(E(H*l)+E(I*o));B[c+164>>2]=E(C*i)+E(E(D*l)+E(F*o));B[c+200>>2]=M+E(E(u*p)+E(E(v*n)+E(r*A)));B[c+196>>2]=L+E(E(u*i)+E(E(v*l)+E(o*A)));x[c+156>>2]=0;B[c+176>>2]=E(t*p)+E(E(J*n)+E(z*r));B[c+160>>2]=E(t*i)+E(E(J*l)+E(z*o));B[c+152>>2]=E(G*g)+E(E(H*s)+E(f*I));B[c+148>>2]=E(C*g)+E(E(D*s)+E(f*F));B[c+144>>2]=E(t*g)+E(E(J*s)+E(z*f));B[c+192>>2]=K+E(E(u*g)+E(E(v*s)+E(f*A)));c:{if(e){d=ia[x[x[a>>2]+20>>2]](a)|0;j=c+144|0;ia[x[x[d>>2]+64>>2]](d,j,w);d=x[b+32>>2];K=B[d+52>>2];L=B[d+56>>2];M=B[d+60>>2];z=B[b+672>>2];t=B[b+664>>2];u=B[b+668>>2];f=B[d+8>>2];g=B[d+12>>2];i=B[d+28>>2];l=B[d+20>>2];o=B[d+24>>2];v=B[b+632>>2];A=B[b+648>>2];C=B[b+652>>2];D=B[b+620>>2];F=B[b+636>>2];G=B[b+656>>2];p=B[d+44>>2];H=B[b+624>>2];n=B[d+36>>2];I=B[b+640>>2];r=B[d+40>>2];s=B[d+4>>2];J=B[b+616>>2];x[c+204>>2]=0;x[c+188>>2]=0;x[c+172>>2]=0;x[c+156>>2]=0;B[c+184>>2]=E(G*p)+E(E(H*n)+E(I*r));B[c+180>>2]=E(C*p)+E(E(D*n)+E(F*r));B[c+176>>2]=E(A*p)+E(E(J*n)+E(v*r));B[c+168>>2]=E(G*i)+E(E(H*l)+E(I*o));B[c+164>>2]=E(C*i)+E(E(D*l)+E(F*o));B[c+160>>2]=E(A*i)+E(E(J*l)+E(v*o));B[c+152>>2]=E(G*g)+E(E(H*s)+E(f*I));B[c+148>>2]=E(C*g)+E(E(D*s)+E(f*F));B[c+144>>2]=E(A*g)+E(E(J*s)+E(v*f));B[c+200>>2]=M+E(E(z*p)+E(E(t*n)+E(r*u)));B[c+196>>2]=L+E(E(z*i)+E(E(t*l)+E(o*u)));B[c+192>>2]=K+E(E(z*g)+E(E(t*s)+E(f*u)));d=ia[x[x[a>>2]+20>>2]](a)|0;ia[x[x[d>>2]+64>>2]](d,j,w);break c}d=x[b+32>>2];K=B[d+52>>2];L=B[d+56>>2];M=B[d+60>>2];z=B[b+672>>2];t=B[b+664>>2];u=B[b+668>>2];f=B[d+8>>2];g=B[d+12>>2];i=B[d+28>>2];l=B[d+20>>2];o=B[d+24>>2];v=B[b+632>>2];A=B[b+648>>2];C=B[b+652>>2];D=B[b+620>>2];F=B[b+636>>2];G=B[b+656>>2];p=B[d+44>>2];H=B[b+624>>2];n=B[d+36>>2];I=B[b+640>>2];r=B[d+40>>2];s=B[d+4>>2];J=B[b+616>>2];x[c+204>>2]=0;x[c+188>>2]=0;x[c+172>>2]=0;x[c+156>>2]=0;B[c+184>>2]=E(G*p)+E(E(H*n)+E(I*r));B[c+180>>2]=E(C*p)+E(E(D*n)+E(F*r));B[c+176>>2]=E(A*p)+E(E(J*n)+E(v*r));B[c+168>>2]=E(G*i)+E(E(H*l)+E(I*o));B[c+164>>2]=E(C*i)+E(E(D*l)+E(F*o));B[c+160>>2]=E(A*i)+E(E(J*l)+E(v*o));B[c+152>>2]=E(G*g)+E(E(H*s)+E(f*I));B[c+148>>2]=E(C*g)+E(E(D*s)+E(f*F));B[c+144>>2]=E(A*g)+E(E(J*s)+E(v*f));B[c+200>>2]=M+E(E(z*p)+E(E(t*n)+E(r*u)));B[c+196>>2]=L+E(E(z*i)+E(E(t*l)+E(o*u)));B[c+192>>2]=K+E(E(z*g)+E(E(t*s)+E(f*u)))}d=b+688|0;f=tb(d);g=ub(d);if(!k|f==g){break a}i=B[b+692>>2];B[c+64>>2]=B[c+152>>2];B[c+68>>2]=B[c+168>>2];x[c+76>>2]=0;B[c+72>>2]=B[c+184>>2];B[c+128>>2]=B[c+144>>2];B[c+132>>2]=B[c+160>>2];x[c+140>>2]=0;B[c+136>>2]=B[c+176>>2];b=ia[x[x[a>>2]+20>>2]](a)|0;a=i>E(0);ia[x[x[b>>2]+68>>2]](b,c+192|0,c- -64|0,c+128|0,w,w,a?f:E(0),a?g:E(6.2831854820251465),c+208|0,a,E(10));break a;case 2:d=x[b+28>>2];K=B[d+52>>2];f=B[d+8>>2];g=B[d+12>>2];z=B[b+316>>2];t=B[b+332>>2];L=B[d+56>>2];M=B[d+60>>2];u=B[b+356>>2];v=B[b+348>>2];A=B[b+352>>2];i=B[d+28>>2];l=B[d+20>>2];o=B[d+24>>2];C=B[b+336>>2];D=B[b+304>>2];F=B[b+320>>2];G=B[b+340>>2];p=B[d+44>>2];H=B[b+308>>2];n=B[d+36>>2];I=B[b+324>>2];r=B[d+40>>2];s=B[d+4>>2];J=B[b+300>>2];x[c+204>>2]=0;x[c+188>>2]=0;x[c+172>>2]=0;B[c+184>>2]=E(G*p)+E(E(H*n)+E(I*r));B[c+180>>2]=E(C*p)+E(E(D*n)+E(F*r));B[c+168>>2]=E(G*i)+E(E(H*l)+E(I*o));B[c+164>>2]=E(C*i)+E(E(D*l)+E(F*o));B[c+200>>2]=M+E(E(u*p)+E(E(v*n)+E(r*A)));B[c+196>>2]=L+E(E(u*i)+E(E(v*l)+E(o*A)));x[c+156>>2]=0;B[c+176>>2]=E(t*p)+E(E(J*n)+E(z*r));B[c+160>>2]=E(t*i)+E(E(J*l)+E(z*o));B[c+152>>2]=E(G*g)+E(E(H*s)+E(f*I));B[c+148>>2]=E(C*g)+E(E(D*s)+E(f*F));B[c+144>>2]=E(t*g)+E(E(J*s)+E(z*f));B[c+192>>2]=K+E(E(u*g)+E(E(v*s)+E(f*A)));d:{if(e){d=ia[x[x[a>>2]+20>>2]](a)|0;j=c+144|0;ia[x[x[d>>2]+64>>2]](d,j,w);d=x[b+32>>2];K=B[d+52>>2];L=B[d+56>>2];M=B[d+60>>2];z=B[b+420>>2];t=B[b+412>>2];u=B[b+416>>2];f=B[d+8>>2];g=B[d+12>>2];i=B[d+28>>2];l=B[d+20>>2];o=B[d+24>>2];v=B[b+380>>2];A=B[b+396>>2];C=B[b+400>>2];D=B[b+368>>2];F=B[b+384>>2];G=B[b+404>>2];p=B[d+44>>2];H=B[b+372>>2];n=B[d+36>>2];I=B[b+388>>2];r=B[d+40>>2];s=B[d+4>>2];J=B[b+364>>2];x[c+204>>2]=0;x[c+188>>2]=0;x[c+172>>2]=0;x[c+156>>2]=0;B[c+184>>2]=E(G*p)+E(E(H*n)+E(I*r));B[c+180>>2]=E(C*p)+E(E(D*n)+E(F*r));B[c+176>>2]=E(A*p)+E(E(J*n)+E(v*r));B[c+168>>2]=E(G*i)+E(E(H*l)+E(I*o));B[c+164>>2]=E(C*i)+E(E(D*l)+E(F*o));B[c+160>>2]=E(A*i)+E(E(J*l)+E(v*o));B[c+152>>2]=E(G*g)+E(E(H*s)+E(f*I));B[c+148>>2]=E(C*g)+E(E(D*s)+E(f*F));B[c+144>>2]=E(A*g)+E(E(J*s)+E(v*f));B[c+200>>2]=M+E(E(z*p)+E(E(t*n)+E(r*u)));B[c+196>>2]=L+E(E(z*i)+E(E(t*l)+E(o*u)));B[c+192>>2]=K+E(E(z*g)+E(E(t*s)+E(f*u)));d=ia[x[x[a>>2]+20>>2]](a)|0;ia[x[x[d>>2]+64>>2]](d,j,w);break d}d=x[b+32>>2];K=B[d+52>>2];L=B[d+56>>2];M=B[d+60>>2];z=B[b+420>>2];t=B[b+412>>2];u=B[b+416>>2];f=B[d+8>>2];g=B[d+12>>2];i=B[d+28>>2];l=B[d+20>>2];o=B[d+24>>2];v=B[b+380>>2];A=B[b+396>>2];C=B[b+400>>2];D=B[b+368>>2];F=B[b+384>>2];G=B[b+404>>2];p=B[d+44>>2];H=B[b+372>>2];n=B[d+36>>2];I=B[b+388>>2];r=B[d+40>>2];s=B[d+4>>2];J=B[b+364>>2];x[c+204>>2]=0;x[c+188>>2]=0;x[c+172>>2]=0;x[c+156>>2]=0;B[c+184>>2]=E(G*p)+E(E(H*n)+E(I*r));B[c+180>>2]=E(C*p)+E(E(D*n)+E(F*r));B[c+176>>2]=E(A*p)+E(E(J*n)+E(v*r));B[c+168>>2]=E(G*i)+E(E(H*l)+E(I*o));B[c+164>>2]=E(C*i)+E(E(D*l)+E(F*o));B[c+160>>2]=E(A*i)+E(E(J*l)+E(v*o));B[c+152>>2]=E(G*g)+E(E(H*s)+E(f*I));B[c+148>>2]=E(C*g)+E(E(D*s)+E(f*F));B[c+144>>2]=E(A*g)+E(E(J*s)+E(v*f));B[c+200>>2]=M+E(E(z*p)+E(E(t*n)+E(r*u)));B[c+196>>2]=L+E(E(z*i)+E(E(t*l)+E(o*u)));B[c+192>>2]=K+E(E(z*g)+E(E(t*s)+E(f*u)))}if(!k){break a}q=b+300|0;d=c+192|0;od(c+128|0,b,E(6.0868353843688965),w);x[c+140>>2]=0;f=B[c+136>>2];g=B[c+128>>2];i=B[c+132>>2];B[c+136>>2]=E(E(f*B[c+184>>2])+E(E(g*B[c+176>>2])+E(i*B[c+180>>2])))+B[c+200>>2];B[c+132>>2]=E(E(f*B[c+168>>2])+E(E(g*B[c+160>>2])+E(i*B[c+164>>2])))+B[c+196>>2];B[c+128>>2]=E(E(f*B[c+152>>2])+E(E(g*B[c+144>>2])+E(i*B[c+148>>2])))+B[c+192>>2];j=0;while(1){e=c- -64|0;od(e,b,E(E(E(j|0)*E(6.283185005187988))*E(.03125)),w);x[c+76>>2]=0;f=B[c+72>>2];g=B[c+64>>2];i=B[c+68>>2];B[c+72>>2]=E(E(f*B[c+184>>2])+E(E(g*B[c+176>>2])+E(i*B[c+180>>2])))+B[c+200>>2];B[c+68>>2]=E(E(f*B[c+168>>2])+E(E(g*B[c+160>>2])+E(i*B[c+164>>2])))+B[c+196>>2];B[c+64>>2]=E(E(f*B[c+152>>2])+E(E(g*B[c+144>>2])+E(i*B[c+148>>2])))+B[c+192>>2];k=ia[x[x[a>>2]+20>>2]](a)|0;ia[x[x[k>>2]+16>>2]](k,c+128|0,e,c+208|0);if(!(j&3)){e=ia[x[x[a>>2]+20>>2]](a)|0;ia[x[x[e>>2]+16>>2]](e,d,c- -64|0,c+208|0)}e=x[c+76>>2];x[c+136>>2]=x[c+72>>2];x[c+140>>2]=e;e=x[c+68>>2];x[c+128>>2]=x[c+64>>2];x[c+132>>2]=e;j=j+1|0;if((j|0)!=32){continue}break};f=B[b+512>>2];g=B[b+452>>2];j=x[b+32>>2];e:{if(B[j+404>>2]>E(0)){kd(c- -64|0,j+4|0,b+364|0);break e}kd(c- -64|0,x[b+28>>2]+4|0,q)}b=x[c+76>>2];x[c+152>>2]=x[c+72>>2];x[c+156>>2]=b;b=x[c+68>>2];x[c+144>>2]=x[c+64>>2];x[c+148>>2]=b;b=x[c+92>>2];x[c+168>>2]=x[c+88>>2];x[c+172>>2]=b;b=x[c+84>>2];x[c+160>>2]=x[c+80>>2];x[c+164>>2]=b;b=x[c+108>>2];x[c+184>>2]=x[c+104>>2];x[c+188>>2]=b;b=x[c+100>>2];x[c+176>>2]=x[c+96>>2];x[c+180>>2]=b;b=x[c+124>>2];x[d+8>>2]=x[c+120>>2];x[d+12>>2]=b;b=x[c+116>>2];x[d>>2]=x[c+112>>2];x[d+4>>2]=b;b=x[d+12>>2];x[c+72>>2]=x[d+8>>2];x[c+76>>2]=b;b=x[d+4>>2];x[c+64>>2]=x[d>>2];x[c+68>>2]=b;B[c+48>>2]=B[c+144>>2];B[c+52>>2]=B[c+160>>2];x[c+60>>2]=0;B[c+56>>2]=B[c+176>>2];B[c+32>>2]=B[c+148>>2];B[c+36>>2]=B[c+164>>2];x[c+44>>2]=0;B[c+40>>2]=B[c+180>>2];a=ia[x[x[a>>2]+20>>2]](a)|0;ia[x[x[a>>2]+68>>2]](a,c- -64|0,c+48|0,c+32|0,w,w,E(E(-f)-g),E(g-f),c+208|0,1,E(10));break a;case 3:case 6:d=b+1072|0;j=x[d+4>>2];x[c+152>>2]=x[d>>2];x[c+156>>2]=j;d=x[b+1068>>2];x[c+144>>2]=x[b+1064>>2];x[c+148>>2]=d;d=b+1088|0;j=x[d+4>>2];x[c+168>>2]=x[d>>2];x[c+172>>2]=j;d=b+1080|0;j=x[d+4>>2];x[c+160>>2]=x[d>>2];x[c+164>>2]=j;j=b+1104|0;q=x[j+4>>2];x[c+184>>2]=x[j>>2];x[c+188>>2]=q;j=b+1096|0;q=x[j+4>>2];x[c+176>>2]=x[j>>2];x[c+180>>2]=q;q=b+1120|0;h=x[q+4>>2];x[c+200>>2]=x[q>>2];x[c+204>>2]=h;q=b+1112|0;h=x[q+4>>2];x[c+192>>2]=x[q>>2];x[c+196>>2]=h;if(e){e=ia[x[x[a>>2]+20>>2]](a)|0;h=c+144|0;ia[x[x[e>>2]+64>>2]](e,h,w);e=b+1136|0;m=x[e+4>>2];x[c+152>>2]=x[e>>2];x[c+156>>2]=m;e=x[b+1132>>2];x[c+144>>2]=x[b+1128>>2];x[c+148>>2]=e;e=b+1152|0;m=x[e+4>>2];x[c+168>>2]=x[e>>2];x[c+172>>2]=m;e=b+1144|0;m=x[e+4>>2];x[c+160>>2]=x[e>>2];x[c+164>>2]=m;e=b+1168|0;m=x[e+4>>2];x[c+184>>2]=x[e>>2];x[c+188>>2]=m;e=b+1160|0;m=x[e+4>>2];x[c+176>>2]=x[e>>2];x[c+180>>2]=m;e=b+1184|0;m=x[e+4>>2];x[c+200>>2]=x[e>>2];x[c+204>>2]=m;e=b+1176|0;m=x[e+4>>2];x[c+192>>2]=x[e>>2];x[c+196>>2]=m;e=ia[x[x[a>>2]+20>>2]](a)|0;ia[x[x[e>>2]+64>>2]](e,h,w)}if(!k){break a}e=b+1064|0;k=x[e+12>>2];x[c+152>>2]=x[e+8>>2];x[c+156>>2]=k;k=x[e+4>>2];x[c+144>>2]=x[e>>2];x[c+148>>2]=k;k=x[d+12>>2];x[c+168>>2]=x[d+8>>2];x[c+172>>2]=k;k=x[d+4>>2];x[c+160>>2]=x[d>>2];x[c+164>>2]=k;k=x[j+12>>2];x[c+184>>2]=x[j+8>>2];x[c+188>>2]=k;k=x[j+4>>2];x[c+176>>2]=x[j>>2];x[c+180>>2]=k;k=x[q+12>>2];x[c+200>>2]=x[q+8>>2];x[c+204>>2]=k;k=x[q+4>>2];x[c+192>>2]=x[q>>2];x[c+196>>2]=k;B[c+64>>2]=B[c+152>>2];B[c+68>>2]=B[c+168>>2];x[c+76>>2]=0;B[c+72>>2]=B[c+184>>2];B[c+128>>2]=B[c+144>>2];B[c+132>>2]=B[c+160>>2];x[c+140>>2]=0;B[c+136>>2]=B[c+176>>2];f=B[b+1e3>>2];g=B[b+996>>2];i=B[b+936>>2];l=B[b+932>>2];h=ia[x[x[a>>2]+20>>2]](a)|0;k=b+1176|0;ia[x[x[h>>2]+72>>2]](h,k,c- -64|0,c+128|0,E(w*E(.8999999761581421)),l,i,g,f,c+208|0,E(10),1);x[c+140>>2]=0;B[c+136>>2]=B[c+180>>2];B[c+132>>2]=B[c+164>>2];B[c+128>>2]=B[c+148>>2];l=B[b+1196>>2];f=B[c+128>>2];i=B[b+1200>>2];g=Ca(i);o=B[c+132>>2];p=Ba(i);B[c+52>>2]=E(o*p)-E(g*f);i=Ca(l);n=B[c+136>>2];l=Ba(l);B[c+56>>2]=E(n*l)+E(E(f*E(i*p))+E(o*E(i*g)));B[c+48>>2]=E(E(f*E(l*p))+E(o*E(l*g)))-E(i*n);h=b+1136|0;m=x[h+4>>2];x[c+152>>2]=x[h>>2];x[c+156>>2]=m;h=x[b+1132>>2];x[c+144>>2]=x[b+1128>>2];x[c+148>>2]=h;h=b+1152|0;m=x[h+4>>2];x[c+168>>2]=x[h>>2];x[c+172>>2]=m;h=b+1144|0;m=x[h+4>>2];x[c+160>>2]=x[h>>2];x[c+164>>2]=m;h=b+1168|0;m=x[h+4>>2];x[c+184>>2]=x[h>>2];x[c+188>>2]=m;h=b+1160|0;m=x[h+4>>2];x[c+176>>2]=x[h>>2];x[c+180>>2]=m;h=b+1184|0;m=x[h+4>>2];x[c+200>>2]=x[h>>2];x[c+204>>2]=m;h=x[k+4>>2];x[c+192>>2]=x[k>>2];x[c+196>>2]=h;x[c+44>>2]=0;B[c+40>>2]=-B[c+176>>2];B[c+36>>2]=-B[c+160>>2];B[c+32>>2]=-B[c+144>>2];f=B[b+868>>2];g=B[b+872>>2];f:{if(f>g){h=ia[x[x[a>>2]+20>>2]](a)|0;ia[x[x[h>>2]+68>>2]](h,k,c+32|0,c+48|0,w,w,E(-3.1415927410125732),E(3.1415927410125732),c+208|0,0,E(10));break f}if(!(f>2]+20>>2]](a)|0;ia[x[x[h>>2]+68>>2]](h,k,c+32|0,c+48|0,w,w,f,g,c+208|0,1,E(10))}k=x[e+12>>2];x[c+152>>2]=x[e+8>>2];x[c+156>>2]=k;k=x[e+4>>2];x[c+144>>2]=x[e>>2];x[c+148>>2]=k;e=x[d+12>>2];x[c+168>>2]=x[d+8>>2];x[c+172>>2]=e;e=x[d+4>>2];x[c+160>>2]=x[d>>2];x[c+164>>2]=e;d=x[j+12>>2];x[c+184>>2]=x[j+8>>2];x[c+188>>2]=d;d=x[j+4>>2];x[c+176>>2]=x[j>>2];x[c+180>>2]=d;d=x[q+12>>2];x[c+200>>2]=x[q+8>>2];x[c+204>>2]=d;d=x[q+4>>2];x[c+192>>2]=x[q>>2];x[c+196>>2]=d;d=x[b+692>>2];x[c+24>>2]=x[b+688>>2];x[c+28>>2]=d;d=x[b+684>>2];x[c+16>>2]=x[b+680>>2];x[c+20>>2]=d;d=x[b+708>>2];x[c+8>>2]=x[b+704>>2];x[c+12>>2]=d;d=x[b+700>>2];x[c>>2]=x[b+696>>2];x[c+4>>2]=d;a=ia[x[x[a>>2]+20>>2]](a)|0;ia[x[x[a>>2]+80>>2]](a,c+16|0,c,c+144|0,c+208|0);break a;case 9:d=b+1244|0;j=x[d+4>>2];x[c+152>>2]=x[d>>2];x[c+156>>2]=j;d=x[b+1240>>2];x[c+144>>2]=x[b+1236>>2];x[c+148>>2]=d;d=b+1260|0;j=x[d+4>>2];x[c+168>>2]=x[d>>2];x[c+172>>2]=j;d=b+1252|0;j=x[d+4>>2];x[c+160>>2]=x[d>>2];x[c+164>>2]=j;j=b+1276|0;q=x[j+4>>2];x[c+184>>2]=x[j>>2];x[c+188>>2]=q;j=b+1268|0;q=x[j+4>>2];x[c+176>>2]=x[j>>2];x[c+180>>2]=q;q=b+1292|0;h=x[q+4>>2];x[c+200>>2]=x[q>>2];x[c+204>>2]=h;q=b+1284|0;h=x[q+4>>2];x[c+192>>2]=x[q>>2];x[c+196>>2]=h;if(e){e=ia[x[x[a>>2]+20>>2]](a)|0;h=c+144|0;ia[x[x[e>>2]+64>>2]](e,h,w);e=b+1308|0;m=x[e+4>>2];x[c+152>>2]=x[e>>2];x[c+156>>2]=m;e=x[b+1304>>2];x[c+144>>2]=x[b+1300>>2];x[c+148>>2]=e;e=b+1324|0;m=x[e+4>>2];x[c+168>>2]=x[e>>2];x[c+172>>2]=m;e=b+1316|0;m=x[e+4>>2];x[c+160>>2]=x[e>>2];x[c+164>>2]=m;e=b+1340|0;m=x[e+4>>2];x[c+184>>2]=x[e>>2];x[c+188>>2]=m;e=b+1332|0;m=x[e+4>>2];x[c+176>>2]=x[e>>2];x[c+180>>2]=m;e=b+1356|0;m=x[e+4>>2];x[c+200>>2]=x[e>>2];x[c+204>>2]=m;e=b+1348|0;m=x[e+4>>2];x[c+192>>2]=x[e>>2];x[c+196>>2]=m;e=ia[x[x[a>>2]+20>>2]](a)|0;ia[x[x[e>>2]+64>>2]](e,h,w)}if(!k){break a}e=b+1236|0;k=x[e+12>>2];x[c+152>>2]=x[e+8>>2];x[c+156>>2]=k;k=x[e+4>>2];x[c+144>>2]=x[e>>2];x[c+148>>2]=k;k=x[d+12>>2];x[c+168>>2]=x[d+8>>2];x[c+172>>2]=k;k=x[d+4>>2];x[c+160>>2]=x[d>>2];x[c+164>>2]=k;k=x[j+12>>2];x[c+184>>2]=x[j+8>>2];x[c+188>>2]=k;k=x[j+4>>2];x[c+176>>2]=x[j>>2];x[c+180>>2]=k;k=x[q+12>>2];x[c+200>>2]=x[q+8>>2];x[c+204>>2]=k;k=x[q+4>>2];x[c+192>>2]=x[q>>2];x[c+196>>2]=k;B[c+64>>2]=B[c+152>>2];B[c+68>>2]=B[c+168>>2];x[c+76>>2]=0;B[c+72>>2]=B[c+184>>2];B[c+128>>2]=B[c+144>>2];B[c+132>>2]=B[c+160>>2];x[c+140>>2]=0;B[c+136>>2]=B[c+176>>2];f=B[b+1148>>2];g=B[b+1144>>2];i=B[b+1060>>2];l=B[b+1056>>2];h=ia[x[x[a>>2]+20>>2]](a)|0;k=b+1348|0;ia[x[x[h>>2]+72>>2]](h,k,c- -64|0,c+128|0,E(w*E(.8999999761581421)),l,i,g,f,c+208|0,E(10),1);x[c+140>>2]=0;p=B[c+180>>2];B[c+136>>2]=p;f=B[c+164>>2];B[c+132>>2]=f;g=B[c+148>>2];B[c+128>>2]=g;l=B[b+1372>>2];i=Ca(l);l=Ba(l);n=B[b+1368>>2];B[c+52>>2]=E(l*f)-E(i*g);o=Ca(n);n=Ba(n);B[c+56>>2]=E(p*n)+E(E(g*E(o*l))+E(f*E(o*i)));B[c+48>>2]=E(E(g*E(n*l))+E(f*E(n*i)))-E(o*p);h=b+1308|0;m=x[h+4>>2];x[c+152>>2]=x[h>>2];x[c+156>>2]=m;h=x[b+1304>>2];x[c+144>>2]=x[b+1300>>2];x[c+148>>2]=h;h=b+1324|0;m=x[h+4>>2];x[c+168>>2]=x[h>>2];x[c+172>>2]=m;h=b+1316|0;m=x[h+4>>2];x[c+160>>2]=x[h>>2];x[c+164>>2]=m;h=b+1340|0;m=x[h+4>>2];x[c+184>>2]=x[h>>2];x[c+188>>2]=m;h=b+1332|0;m=x[h+4>>2];x[c+176>>2]=x[h>>2];x[c+180>>2]=m;h=b+1356|0;m=x[h+4>>2];x[c+200>>2]=x[h>>2];x[c+204>>2]=m;h=x[k+4>>2];x[c+192>>2]=x[k>>2];x[c+196>>2]=h;x[c+44>>2]=0;B[c+40>>2]=-B[c+176>>2];B[c+36>>2]=-B[c+160>>2];B[c+32>>2]=-B[c+144>>2];f=B[b+968>>2];g=B[b+972>>2];g:{if(f>g){h=ia[x[x[a>>2]+20>>2]](a)|0;ia[x[x[h>>2]+68>>2]](h,k,c+32|0,c+48|0,w,w,E(-3.1415927410125732),E(3.1415927410125732),c+208|0,0,E(10));break g}if(!(f>2]+20>>2]](a)|0;ia[x[x[h>>2]+68>>2]](h,k,c+32|0,c+48|0,w,w,f,g,c+208|0,1,E(10))}k=x[e+12>>2];x[c+152>>2]=x[e+8>>2];x[c+156>>2]=k;k=x[e+4>>2];x[c+144>>2]=x[e>>2];x[c+148>>2]=k;e=x[d+12>>2];x[c+168>>2]=x[d+8>>2];x[c+172>>2]=e;e=x[d+4>>2];x[c+160>>2]=x[d>>2];x[c+164>>2]=e;d=x[j+12>>2];x[c+184>>2]=x[j+8>>2];x[c+188>>2]=d;d=x[j+4>>2];x[c+176>>2]=x[j>>2];x[c+180>>2]=d;d=x[q+12>>2];x[c+200>>2]=x[q+8>>2];x[c+204>>2]=d;d=x[q+4>>2];x[c+192>>2]=x[q>>2];x[c+196>>2]=d;d=x[b+692>>2];x[c+24>>2]=x[b+688>>2];x[c+28>>2]=d;d=x[b+684>>2];x[c+16>>2]=x[b+680>>2];x[c+20>>2]=d;d=x[b+708>>2];x[c+8>>2]=x[b+704>>2];x[c+12>>2]=d;d=x[b+700>>2];x[c>>2]=x[b+696>>2];x[c+4>>2]=d;a=ia[x[x[a>>2]+20>>2]](a)|0;ia[x[x[a>>2]+80>>2]](a,c+16|0,c,c+144|0,c+208|0);break a;case 4:break b;default:break a}}d=x[b+836>>2];x[c+152>>2]=x[b+832>>2];x[c+156>>2]=d;d=x[b+828>>2];x[c+144>>2]=x[b+824>>2];x[c+148>>2]=d;d=x[b+852>>2];x[c+168>>2]=x[b+848>>2];x[c+172>>2]=d;d=x[b+844>>2];x[c+160>>2]=x[b+840>>2];x[c+164>>2]=d;d=x[b+868>>2];x[c+184>>2]=x[b+864>>2];x[c+188>>2]=d;d=x[b+860>>2];x[c+176>>2]=x[b+856>>2];x[c+180>>2]=d;d=x[b+884>>2];x[c+200>>2]=x[b+880>>2];x[c+204>>2]=d;d=x[b+876>>2];x[c+192>>2]=x[b+872>>2];x[c+196>>2]=d;h:{if(e){d=ia[x[x[a>>2]+20>>2]](a)|0;j=c+144|0;ia[x[x[d>>2]+64>>2]](d,j,w);d=x[b+900>>2];x[c+152>>2]=x[b+896>>2];x[c+156>>2]=d;d=x[b+892>>2];x[c+144>>2]=x[b+888>>2];x[c+148>>2]=d;d=x[b+916>>2];x[c+168>>2]=x[b+912>>2];x[c+172>>2]=d;d=x[b+908>>2];x[c+160>>2]=x[b+904>>2];x[c+164>>2]=d;d=x[b+932>>2];x[c+184>>2]=x[b+928>>2];x[c+188>>2]=d;d=x[b+924>>2];x[c+176>>2]=x[b+920>>2];x[c+180>>2]=d;d=x[b+948>>2];x[c+200>>2]=x[b+944>>2];x[c+204>>2]=d;d=x[b+940>>2];x[c+192>>2]=x[b+936>>2];x[c+196>>2]=d;d=ia[x[x[a>>2]+20>>2]](a)|0;ia[x[x[d>>2]+64>>2]](d,j,w);break h}d=x[b+900>>2];x[c+152>>2]=x[b+896>>2];x[c+156>>2]=d;d=x[b+892>>2];x[c+144>>2]=x[b+888>>2];x[c+148>>2]=d;d=x[b+916>>2];x[c+168>>2]=x[b+912>>2];x[c+172>>2]=d;d=x[b+908>>2];x[c+160>>2]=x[b+904>>2];x[c+164>>2]=d;d=x[b+932>>2];x[c+184>>2]=x[b+928>>2];x[c+188>>2]=d;d=x[b+924>>2];x[c+176>>2]=x[b+920>>2];x[c+180>>2]=d;d=x[b+948>>2];x[c+200>>2]=x[b+944>>2];x[c+204>>2]=d;d=x[b+940>>2];x[c+192>>2]=x[b+936>>2];x[c+196>>2]=d}if(!k){break a}d=y[b+180|0];f=B[(d?824:888)+b>>2];d=d?b+824|0:b+888|0;o=B[d+48>>2];t=B[d+8>>2];p=B[d+4>>2];n=B[d+52>>2];u=B[d+24>>2];g=B[d+16>>2];r=B[d+20>>2];s=B[d+56>>2];v=B[d+40>>2];i=B[d+32>>2];z=B[d+36>>2];l=B[b+184>>2];x[c+76>>2]=0;v=E(v*E(0));A=E(z*E(0));B[c+72>>2]=s+E(v+E(E(l*i)+A));u=E(u*E(0));C=E(r*E(0));B[c+68>>2]=n+E(u+E(E(l*g)+C));t=E(t*E(0));D=E(p*E(0));B[c+64>>2]=o+E(t+E(E(l*f)+D));l=B[b+188>>2];x[c+140>>2]=0;B[c+136>>2]=s+E(v+E(E(l*i)+A));B[c+132>>2]=n+E(u+E(E(l*g)+C));B[c+128>>2]=o+E(t+E(E(l*f)+D));d=ia[x[x[a>>2]+20>>2]](a)|0;j=c+208|0;ia[x[x[d>>2]+16>>2]](d,c- -64|0,c+128|0,j);x[c+60>>2]=0;B[c+56>>2]=i;B[c+52>>2]=g;B[c+48>>2]=f;x[c+44>>2]=0;B[c+40>>2]=z;B[c+36>>2]=r;B[c+32>>2]=p;f=B[b+196>>2];g=B[b+192>>2];a=ia[x[x[a>>2]+20>>2]](a)|0;ia[x[x[a>>2]+68>>2]](a,b+936|0,c+48|0,c+32|0,w,w,g,f,j,1,E(10))}ga=c+352|0}function Oh(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=E(0),f=0,g=E(0),h=E(0),i=E(0),j=0,k=E(0),l=E(0),m=0,n=E(0),o=0,p=0,q=E(0),r=E(0),s=0,t=E(0),u=0,w=E(0),z=0,A=E(0),C=0,G=E(0),H=E(0),I=E(0),J=0,K=E(0),L=0,N=0,O=0,P=0,Q=E(0),R=E(0),S=E(0),T=E(0),U=E(0),V=0,W=E(0),X=0,Y=0,Z=E(0),_=0,$=E(0),aa=0,ba=E(0),ca=E(0),da=0,ea=0,fa=0,ha=0,ja=E(0),ka=E(0),la=E(0),ma=E(0),na=E(0),oa=E(0),pa=E(0),qa=E(0),ra=E(0),sa=E(0),ta=E(0),ua=E(0),va=E(0),wa=E(0),xa=E(0),za=E(0),Aa=E(0),Ba=E(0),Ca=E(0),Da=E(0),Ea=E(0),Fa=E(0),Ga=E(0),Ha=E(0),Ia=E(0),Ja=E(0),Ka=E(0),La=E(0),Ma=E(0),Na=E(0),Oa=E(0),Pa=E(0),Qa=E(0),Ra=E(0),Sa=E(0),Ta=E(0),Va=E(0);if((c|0)>0){while(1){aa=0;s=ga-80|0;ga=s;_=x[(da<<2)+b>>2];o=x[_+840>>2];p=x[_+836>>2];N=Ua(a,p,B[d+12>>2]);O=Ua(a,o,B[d+12>>2]);f=x[a+16>>2];J=f+D(N,244)|0;e=B[J+136>>2];k=E(e*e);e=B[J+128>>2];h=E(e*e);e=B[J+132>>2];a:{if(E(k+E(h+E(e*e)))>2];k=E(e*e);e=B[J+128>>2];h=E(e*e);e=B[J+132>>2];if(E(k+E(h+E(e*e)))>2];if((j|0)<=0){break a}X=f+D(O,244)|0;Y=f+D(N,244)|0;while(1){u=D(aa,208)+_|0;if(B[u+84>>2]<=B[_+852>>2]){C=u+4|0;J=x[a+28>>2];j=J;b:{if((j|0)!=x[a+32>>2]){break b}z=j?J<<1:1;if((z|0)<=(j|0)){break b}c:{if(!z){m=0;f=J;break c}x[8456]=x[8456]+1;m=ia[x[8258]](D(z,152),16)|0;f=x[a+28>>2]}d:{if((f|0)<=0){break d}j=0;if((f|0)!=1){V=f&-2;L=0;while(1){P=D(j,152);ya(P+m|0,P+x[a+36>>2]|0,152);P=D(j|1,152);ya(P+m|0,P+x[a+36>>2]|0,152);j=j+2|0;L=L+2|0;if((V|0)!=(L|0)){continue}break}}if(!(f&1)){break d}f=D(j,152);ya(f+m|0,f+x[a+36>>2]|0,152)}f=x[a+36>>2];if(!(f?!f|!y[a+40|0]:1)){x[8457]=x[8457]+1;ia[x[8259]](f)}x[a+36>>2]=m;v[a+40|0]=1;x[a+32>>2]=z;j=x[a+28>>2]}x[a+28>>2]=j+1;f=x[a+36>>2]+D(J,152)|0;x[f+148>>2]=O;x[f+144>>2]=N;x[f+132>>2]=C;i=B[u+52>>2];g=B[u+56>>2];e=B[u+60>>2];h=B[p+52>>2];l=B[p+56>>2];n=B[p+60>>2];x[s+76>>2]=0;e=E(e-n);B[s+72>>2]=e;g=E(g-l);B[s+68>>2]=g;i=E(i-h);B[s+64>>2]=i;n=B[u+36>>2];l=B[u+40>>2];h=B[u+44>>2];k=B[o+52>>2];G=B[o+56>>2];r=B[o+60>>2];x[s+60>>2]=0;h=E(h-r);B[s+56>>2]=h;l=E(l-G);B[s+52>>2]=l;n=E(n-k);B[s+48>>2]=n;G=E(0);Q=E(0);$=E(0);ja=E(0);if(x[Y+240>>2]){k=E(B[Y+192>>2]+B[Y+224>>2]);r=E(B[Y+196>>2]+B[Y+228>>2]);Q=E(E(B[Y+184>>2]+B[Y+216>>2])+E(E(k*g)-E(i*r)));t=E(B[Y+200>>2]+B[Y+232>>2]);$=E(E(B[Y+180>>2]+B[Y+212>>2])+E(E(t*i)-E(e*k)));ja=E(E(B[Y+176>>2]+B[Y+208>>2])+E(E(r*e)-E(g*t)))}ka=E(0);la=E(0);if(x[X+240>>2]){e=E(B[X+192>>2]+B[X+224>>2]);g=E(B[X+196>>2]+B[X+228>>2]);G=E(E(B[X+184>>2]+B[X+216>>2])+E(E(e*l)-E(n*g)));i=E(B[X+200>>2]+B[X+232>>2]);ka=E(E(B[X+180>>2]+B[X+212>>2])+E(E(i*n)-E(h*e)));la=E(E(B[X+176>>2]+B[X+208>>2])+E(E(g*h)-E(l*i)))}ma=B[u+76>>2];L=u+68|0;na=B[L>>2];oa=B[u+72>>2];z=s- -64|0;k=E(0);e=E(0);W=E(0);V=x[a+16>>2];ea=V+D(O,244)|0;j=x[ea+240>>2];fa=V+D(N,244)|0;m=x[fa+240>>2];B[s+44>>2]=B[d+28>>2];R=B[d+12>>2];I=B[d+36>>2];g=B[d+40>>2];P=x[C+128>>2];e:{if(P&6){g=P&2?B[C+152>>2]:g;if(!(P&4)){break e}I=B[C+156>>2];break e}if(!(P&8)){break e}i=E(R*B[C+152>>2]);g=E(i+B[C+156>>2]);g=g>2];h=B[C+68>>2];l=B[C+64>>2];n=B[z+4>>2];r=E(E(i*h)-E(l*n));q=B[z+8>>2];t=E(q*l);l=B[C+72>>2];t=E(t-E(l*i));q=E(E(n*l)-E(h*q));i=E(0);h=E(0);if(m){h=E(E(E(B[m+364>>2]*r)+E(E(B[m+356>>2]*q)+E(t*B[m+360>>2])))*B[m+612>>2]);i=E(E(E(B[m+348>>2]*r)+E(E(B[m+340>>2]*q)+E(t*B[m+344>>2])))*B[m+608>>2]);e=E(E(E(B[m+332>>2]*r)+E(E(B[m+324>>2]*q)+E(t*B[m+328>>2])))*B[m+604>>2])}B[f+64>>2]=e;x[f+76>>2]=0;B[f+72>>2]=h;B[f+68>>2]=i;l=B[s+48>>2];n=B[C+68>>2];A=B[C+64>>2];S=B[s+52>>2];w=E(E(l*n)-E(A*S));T=B[s+56>>2];U=B[C+72>>2];A=E(E(T*A)-E(U*l));S=E(E(S*U)-E(n*T));l=E(0);n=E(0);if(j){l=E(-S);n=E(E(E(E(B[j+356>>2]*l)-E(B[j+360>>2]*A))-E(B[j+364>>2]*w))*B[j+612>>2]);k=E(E(E(E(B[j+324>>2]*l)-E(B[j+328>>2]*A))-E(B[j+332>>2]*w))*B[j+604>>2]);l=E(E(E(E(B[j+340>>2]*l)-E(B[j+344>>2]*A))-E(B[j+348>>2]*w))*B[j+608>>2])}B[f+80>>2]=k;x[f+92>>2]=0;B[f+88>>2]=n;B[f+84>>2]=l;T=B[s+44>>2];R=E(E(1)/R);K=E(R*g);if(m){g=B[z+4>>2];Z=B[z>>2];U=E(B[C+72>>2]*E(E(e*g)-E(Z*i)));H=i;i=B[z+8>>2];h=E(B[m+404>>2]+E(U+E(E(B[C+64>>2]*E(E(H*i)-E(g*h)))+E(E(E(h*Z)-E(i*e))*B[C+68>>2]))))}else{h=E(0)}if(j){g=B[s+48>>2];i=B[s+52>>2];e=E(B[C+72>>2]*E(E(l*g)-E(k*i)));H=E(n*i);i=B[s+56>>2];k=E(B[j+404>>2]+E(e+E(E(B[C+64>>2]*E(H-E(l*i)))+E(E(E(k*i)-E(n*g))*B[C+68>>2]))))}else{k=E(0)}B[f+108>>2]=T/E(K+E(h+k));f:{if(m){P=C- -64|0;ha=x[P+4>>2];x[f+16>>2]=x[P>>2];x[f+20>>2]=ha;ha=x[P+12>>2];x[f+24>>2]=x[P+8>>2];x[f+28>>2]=ha;x[f+12>>2]=0;B[f+8>>2]=r;B[f+4>>2]=t;B[f>>2]=q;break f}x[f>>2]=0;x[f+4>>2]=0;x[f+24>>2]=0;x[f+28>>2]=0;x[f+16>>2]=0;x[f+20>>2]=0;x[f+8>>2]=0;x[f+12>>2]=0}g:{if(j){e=B[C+64>>2];g=B[C+68>>2];i=B[C+72>>2];x[f+60>>2]=0;x[f+44>>2]=0;B[f+40>>2]=-w;B[f+36>>2]=-A;B[f+32>>2]=-S;B[f+56>>2]=-i;B[f+52>>2]=-g;B[f+48>>2]=-e;break g}x[f+32>>2]=0;x[f+36>>2]=0;x[f+56>>2]=0;x[f+60>>2]=0;x[f+48>>2]=0;x[f+52>>2]=0;x[f+40>>2]=0;x[f+44>>2]=0}i=E(0);h=E(0);l=E(0);n=E(0);if(m){e=B[m+388>>2];g=B[z+4>>2];h=B[z>>2];k=B[m+392>>2];n=E(E(E(e*g)-E(h*k))+B[m+380>>2]);r=B[m+396>>2];q=E(r*h);h=B[z+8>>2];l=E(E(q-E(h*e))+B[m+376>>2]);h=E(E(E(k*h)-E(g*r))+B[m+372>>2])}q=E(0);e=E(0);if(j){g=B[j+388>>2];i=B[s+52>>2];k=B[s+48>>2];r=B[j+392>>2];e=E(E(E(g*i)-E(k*r))+B[j+380>>2]);t=B[j+396>>2];q=E(t*k);k=B[s+56>>2];q=E(E(q-E(k*g))+B[j+376>>2]);i=E(E(E(r*k)-E(i*t))+B[j+372>>2])}t=B[d+64>>2];pa=B[C+80>>2];qa=B[C+72>>2];ra=B[C+68>>2];sa=B[C+64>>2];B[f+104>>2]=B[C+84>>2];ta=B[d+96>>2];ua=B[C+96>>2];h:{if(y[d+72|0]&4){g=E(B[C+132>>2]*B[d+68>>2]);B[f+100>>2]=g;if(!(!m|!x[fa+240>>2])){k=B[m+416>>2];r=B[f+24>>2];w=B[m+412>>2];A=B[f+20>>2];z=V+D(N,244)|0;B[z+64>>2]=E(B[z+112>>2]*E(g*E(E(B[f+16>>2]*B[z+128>>2])*B[m+408>>2])))+B[z+64>>2];B[z+68>>2]=E(E(g*E(w*E(A*B[z+132>>2])))*B[z+116>>2])+B[z+68>>2];B[z+72>>2]=E(E(g*E(k*E(r*B[z+136>>2])))*B[z+120>>2])+B[z+72>>2];k=B[f+72>>2];r=B[f+68>>2];B[z+80>>2]=E(E(g*B[z+96>>2])*B[f+64>>2])+B[z+80>>2];w=B[z+104>>2];B[z+84>>2]=E(r*E(g*B[z+100>>2]))+B[z+84>>2];B[z+88>>2]=E(k*E(g*w))+B[z+88>>2]}if(!j|!x[ea+240>>2]){break h}m=V+D(O,244)|0;k=B[m+120>>2];r=B[j+416>>2];w=B[f+56>>2];A=B[m+136>>2];S=B[m+116>>2];T=B[j+412>>2];U=B[f+52>>2];Z=B[m+132>>2];H=B[f+88>>2];ba=B[f+84>>2];ca=B[f+80>>2];g=B[f+100>>2];B[m+64>>2]=B[m+64>>2]+E(B[m+112>>2]*E(E(E(B[m+128>>2]*B[f+48>>2])*B[j+408>>2])*g));B[m+80>>2]=B[m+80>>2]+E(ca*E(g*B[m+96>>2]));B[m+84>>2]=B[m+84>>2]+E(ba*E(g*B[m+100>>2]));B[m+88>>2]=B[m+88>>2]+E(H*E(g*B[m+104>>2]));B[m+68>>2]=B[m+68>>2]+E(S*E(g*E(T*E(Z*U))));B[m+72>>2]=B[m+72>>2]+E(k*E(g*E(r*E(A*w))));break h}x[f+100>>2]=0}x[f+96>>2]=0;w=E(0);A=E(0);S=E(0);g=E(0);k=E(0);T=E(0);U=E(0);if(x[fa+240>>2]){j=V+D(N,244)|0;U=B[j+224>>2];k=B[j+232>>2];T=B[j+228>>2];A=B[j+216>>2];S=B[j+212>>2];g=B[j+208>>2]}Z=E(0);H=E(0);ba=E(0);ca=E(0);if(x[ea+240>>2]){j=V+D(O,244)|0;W=B[j+224>>2];ba=B[j+232>>2];ca=B[j+228>>2];H=B[j+216>>2];Z=B[j+212>>2];w=B[j+208>>2]}j=V+D(N,244)|0;va=B[j+200>>2];wa=B[j+196>>2];xa=B[j+192>>2];za=B[j+176>>2];Aa=B[f+20>>2];Ba=B[j+180>>2];Ca=B[f+24>>2];Da=B[j+184>>2];j=V+D(O,244)|0;Ea=B[j+176>>2];Fa=B[f+52>>2];Ga=B[j+180>>2];Ha=B[f+56>>2];Ia=B[j+184>>2];Ja=B[j+192>>2];Ka=B[f+36>>2];La=B[j+196>>2];Ma=B[f+40>>2];Na=B[j+200>>2];Oa=B[f+8>>2];Pa=B[f+4>>2];Qa=B[f>>2];Ra=B[f+16>>2];Sa=B[f+48>>2];Ta=B[f+32>>2];m=x[d+52>>2];Va=B[d+56>>2];r=B[f+108>>2];x[f+120>>2]=0;x[f+124>>2]=1343554297;B[f+116>>2]=K*r;t=E(pa+t);j=t>E(0);I=E(r*(j?E(0):E(R*E(I*E(-t)))));m=!m|t>Va;B[f+128>>2]=m?E(0):I;e=E(E(qa*E(n-e))+E(E(sa*E(h-i))+E(E(l-q)*ra)));e=E(F(e))>2]=E(r*(j?E(e-E(t*R)):e))+(m?I:E(-0));x[f+140>>2]=x[a+68>>2];i:{if(!(B[u+92>>2]>E(0))){break i}cc(a,L,N,O,J,B[u+96>>2]);i=B[L+8>>2];j:{if(E(F(i))>E(.7071067690849304)){n=B[L+4>>2];e=E(E(n*n)+E(i*i));h=E(E(1)/E(M(e)));l=E(e*h);e=E(h*E(-i));k=B[L>>2];g=E(e*k);i=E(n*h);k=E(i*E(-k));h=E(0);break j}l=B[L>>2];h=B[L+4>>2];g=E(E(l*l)+E(h*h));e=E(E(1)/E(M(g)));g=E(g*e);h=E(e*E(-h));k=E(i*h);e=E(l*e);l=E(e*E(-i));i=E(0)}n=E(E(1)/E(M(E(E(i*i)+E(E(h*h)+E(e*e))))));i=E(i*n);B[s+36>>2]=i;e=E(e*n);B[s+32>>2]=e;h=E(h*n);B[s+28>>2]=h;r=E(E(1)/E(M(E(E(g*g)+E(E(l*l)+E(k*k))))));n=E(g*r);B[s+20>>2]=n;g=E(k*r);B[s+16>>2]=g;l=E(l*r);B[s+12>>2]=l;j=x[p+180>>2]&2;if(j){S=B[p+172>>2];k=B[p+44>>2];r=B[p+12>>2];t=B[p+28>>2];T=B[p+164>>2];q=B[p+36>>2];w=B[p+4>>2];A=B[p+20>>2];U=B[p+168>>2];I=B[p+40>>2];W=B[p+8>>2];R=B[p+24>>2];x[s+40>>2]=0;K=k;k=E(S*E(E(k*i)+E(E(r*h)+E(e*t))));H=q;q=E(T*E(E(q*i)+E(E(w*h)+E(e*A))));h=E(U*E(E(I*i)+E(E(W*h)+E(e*R))));i=E(E(K*k)+E(E(H*q)+E(I*h)));B[s+36>>2]=i;e=E(E(t*k)+E(E(A*q)+E(R*h)));B[s+32>>2]=e;h=E(E(r*k)+E(E(w*q)+E(W*h)));B[s+28>>2]=h}m=x[o+180>>2]&2;if(m){S=B[o+172>>2];k=B[o+44>>2];r=B[o+12>>2];t=B[o+28>>2];T=B[o+164>>2];q=B[o+36>>2];w=B[o+4>>2];A=B[o+20>>2];U=B[o+168>>2];I=B[o+40>>2];W=B[o+8>>2];R=B[o+24>>2];x[s+40>>2]=0;K=k;k=E(S*E(E(k*i)+E(E(r*h)+E(e*t))));H=q;q=E(T*E(E(q*i)+E(E(w*h)+E(A*e))));h=E(U*E(E(I*i)+E(E(W*h)+E(e*R))));i=E(E(K*k)+E(E(H*q)+E(I*h)));B[s+36>>2]=i;e=E(E(t*k)+E(E(A*q)+E(R*h)));B[s+32>>2]=e;h=E(E(r*k)+E(E(w*q)+E(W*h)));B[s+28>>2]=h}if(j){S=B[p+172>>2];k=B[p+44>>2];r=B[p+12>>2];t=B[p+28>>2];T=B[p+164>>2];q=B[p+36>>2];w=B[p+4>>2];A=B[p+20>>2];U=B[p+168>>2];I=B[p+40>>2];W=B[p+8>>2];R=B[p+24>>2];x[s+24>>2]=0;K=k;k=E(S*E(E(k*n)+E(E(r*l)+E(g*t))));H=q;q=E(T*E(E(q*n)+E(E(w*l)+E(g*A))));l=E(U*E(E(I*n)+E(E(W*l)+E(g*R))));n=E(E(K*k)+E(E(H*q)+E(I*l)));B[s+20>>2]=n;g=E(E(t*k)+E(E(A*q)+E(R*l)));B[s+16>>2]=g;l=E(E(r*k)+E(E(w*q)+E(W*l)));B[s+12>>2]=l}if(m){S=B[o+172>>2];k=B[o+44>>2];r=B[o+12>>2];t=B[o+28>>2];T=B[o+164>>2];q=B[o+36>>2];w=B[o+4>>2];A=B[o+20>>2];U=B[o+168>>2];I=B[o+40>>2];W=B[o+8>>2];R=B[o+24>>2];x[s+24>>2]=0;K=k;k=E(S*E(E(k*n)+E(E(r*l)+E(g*t))));H=q;q=E(T*E(E(q*n)+E(E(w*l)+E(A*g))));l=E(U*E(E(I*n)+E(E(W*l)+E(g*R))));n=E(E(K*k)+E(E(H*q)+E(I*l)));B[s+20>>2]=n;g=E(E(t*k)+E(E(A*q)+E(R*l)));B[s+16>>2]=g;l=E(E(r*k)+E(E(w*q)+E(W*l)));B[s+12>>2]=l}if(+E(M(E(E(i*i)+E(E(h*h)+E(e*e)))))>.001){cc(a,s+28|0,N,O,J,B[u+92>>2])}if(!(+E(M(E(E(n*n)+E(E(l*l)+E(g*g)))))>.001)){break i}cc(a,s+12|0,N,O,J,B[u+92>>2])}k:{if(!(v[u+132|0]&1?y[d+72|0]&32:0)){k=B[L>>2];e=B[L+4>>2];i=B[L+8>>2];x[u+184>>2]=0;h=E(Q-G);n=E(ja-la);l=E($-ka);g=E(E(ma*h)+E(E(na*n)+E(l*oa)));h=E(h-E(i*g));B[u+180>>2]=h;l=E(l-E(g*e));B[u+176>>2]=l;j=u+172|0;n=E(n-E(g*k));B[j>>2]=n;l:{if(y[d+72|0]&64){break l}g=E(E(h*h)+E(E(n*n)+E(l*l)));if(!(g>E(1.1920928955078125e-7))){break l}i=E(E(1)/E(M(g)));e=E(h*i);B[j+8>>2]=e;g=E(l*i);B[j+4>>2]=g;i=E(n*i);B[j>>2]=i;if(v[p+180|0]&1){A=B[p+172>>2];h=B[p+44>>2];l=B[p+12>>2];n=B[p+28>>2];I=B[p+164>>2];k=B[p+36>>2];G=B[p+4>>2];r=B[p+20>>2];Q=B[p+168>>2];t=B[p+40>>2];q=B[p+8>>2];w=B[p+24>>2];x[j+12>>2]=0;K=h;h=E(A*E(E(h*e)+E(E(l*i)+E(g*n))));H=k;k=E(I*E(E(k*e)+E(E(G*i)+E(g*r))));i=E(Q*E(E(t*e)+E(E(q*i)+E(g*w))));e=E(E(K*h)+E(E(H*k)+E(t*i)));B[j+8>>2]=e;g=E(E(n*h)+E(E(r*k)+E(w*i)));B[j+4>>2]=g;i=E(E(l*h)+E(E(G*k)+E(q*i)));B[j>>2]=i}if(v[o+180|0]&1){A=B[o+172>>2];h=B[o+44>>2];l=B[o+12>>2];n=B[o+28>>2];I=B[o+164>>2];k=B[o+36>>2];G=B[o+4>>2];r=B[o+20>>2];Q=B[o+168>>2];t=B[o+40>>2];q=B[o+8>>2];w=B[o+24>>2];x[j+12>>2]=0;K=h;h=E(A*E(E(h*e)+E(E(l*i)+E(g*n))));H=k;k=E(I*E(E(k*e)+E(E(G*i)+E(r*g))));e=E(Q*E(E(t*e)+E(E(q*i)+E(g*w))));B[j+8>>2]=E(K*h)+E(E(H*k)+E(t*e));B[j+4>>2]=E(n*h)+E(E(r*k)+E(w*e));B[j>>2]=E(l*h)+E(E(G*k)+E(q*e))}A=B[s+44>>2];Za(a,j,N,O,J,C,s- -64|0,s+48|0,A,d,E(0),E(0));if(!(y[d+72|0]&16)){break k}e=B[j+4>>2];g=B[L+4>>2];i=B[L>>2];h=B[j+8>>2];l=B[j>>2];n=B[L+8>>2];x[u+200>>2]=0;k=E(E(l*g)-E(i*e));G=E(E(e*n)-E(g*h));g=E(E(h*i)-E(n*l));i=E(E(1)/E(M(E(E(k*k)+E(E(G*G)+E(g*g))))));e=E(k*i);B[u+196>>2]=e;g=E(g*i);B[u+192>>2]=g;j=u+188|0;i=E(G*i);B[j>>2]=i;if(v[p+180|0]&1){I=B[p+172>>2];h=B[p+44>>2];l=B[p+12>>2];n=B[p+28>>2];Q=B[p+164>>2];k=B[p+36>>2];G=B[p+4>>2];r=B[p+20>>2];$=B[p+168>>2];t=B[p+40>>2];q=B[p+8>>2];w=B[p+24>>2];x[j+12>>2]=0;K=h;h=E(I*E(E(h*e)+E(E(l*i)+E(g*n))));H=k;k=E(Q*E(E(k*e)+E(E(G*i)+E(g*r))));i=E($*E(E(t*e)+E(E(q*i)+E(g*w))));e=E(E(K*h)+E(E(H*k)+E(t*i)));B[j+8>>2]=e;g=E(E(n*h)+E(E(r*k)+E(w*i)));B[j+4>>2]=g;i=E(E(l*h)+E(E(G*k)+E(q*i)));B[j>>2]=i}if(v[o+180|0]&1){I=B[o+172>>2];h=B[o+44>>2];l=B[o+12>>2];n=B[o+28>>2];Q=B[o+164>>2];k=B[o+36>>2];G=B[o+4>>2];r=B[o+20>>2];$=B[o+168>>2];t=B[o+40>>2];q=B[o+8>>2];w=B[o+24>>2];x[j+12>>2]=0;K=h;h=E(I*E(E(h*e)+E(E(l*i)+E(g*n))));H=k;k=E(Q*E(E(k*e)+E(E(G*i)+E(r*g))));e=E($*E(E(t*e)+E(E(q*i)+E(g*w))));B[j+8>>2]=E(K*h)+E(E(H*k)+E(t*e));B[j+4>>2]=E(n*h)+E(E(r*k)+E(w*e));B[j>>2]=E(l*h)+E(E(G*k)+E(q*e))}Za(a,j,N,O,J,C,s- -64|0,s+48|0,A,d,E(0),E(0));break k}m=u+188|0;m:{if(E(F(i))>E(.7071067690849304)){h=E(E(e*e)+E(i*i));g=E(E(1)/E(M(h)));n=E(h*g);h=E(g*E(-i));l=E(k*h);e=E(e*g);G=E(e*E(-k));g=E(0);break m}g=E(E(k*k)+E(e*e));h=E(E(1)/E(M(g)));l=E(g*h);g=E(h*E(-e));G=E(i*g);h=E(k*h);n=E(h*E(-i));e=E(0)}B[j+8>>2]=e;B[j+4>>2]=h;B[j>>2]=g;B[m+8>>2]=l;B[m+4>>2]=G;B[m>>2]=n;if(v[p+180|0]&1){A=B[p+172>>2];i=B[p+44>>2];l=B[p+12>>2];n=B[p+28>>2];I=B[p+164>>2];k=B[p+36>>2];G=B[p+4>>2];r=B[p+20>>2];Q=B[p+168>>2];t=B[p+40>>2];q=B[p+8>>2];w=B[p+24>>2];x[j+12>>2]=0;K=i;i=E(A*E(E(i*e)+E(E(l*g)+E(h*n))));H=k;k=E(I*E(E(k*e)+E(E(G*g)+E(r*h))));g=E(Q*E(E(t*e)+E(E(q*g)+E(h*w))));e=E(E(K*i)+E(E(H*k)+E(t*g)));B[j+8>>2]=e;h=E(E(n*i)+E(E(r*k)+E(w*g)));B[j+4>>2]=h;g=E(E(l*i)+E(E(G*k)+E(q*g)));B[j>>2]=g}if(v[o+180|0]&1){A=B[o+172>>2];i=B[o+44>>2];l=B[o+12>>2];n=B[o+28>>2];I=B[o+164>>2];k=B[o+36>>2];G=B[o+4>>2];r=B[o+20>>2];Q=B[o+168>>2];t=B[o+40>>2];q=B[o+8>>2];w=B[o+24>>2];x[j+12>>2]=0;K=i;i=E(A*E(E(i*e)+E(E(l*g)+E(h*n))));H=k;k=E(I*E(E(k*e)+E(E(G*g)+E(r*h))));e=E(Q*E(E(t*e)+E(E(q*g)+E(h*w))));B[j+8>>2]=E(K*i)+E(E(H*k)+E(t*e));B[j+4>>2]=E(n*i)+E(E(r*k)+E(w*e));B[j>>2]=E(l*i)+E(E(G*k)+E(q*e))}A=B[s+44>>2];Za(a,j,N,O,J,C,s- -64|0,s+48|0,A,d,E(0),E(0));j=x[d+72>>2];if(j&16){if(v[p+180|0]&1){t=B[p+172>>2];e=B[p+44>>2];g=B[p+12>>2];i=B[p+28>>2];I=B[p+164>>2];h=B[p+36>>2];l=B[p+4>>2];n=B[p+20>>2];Q=B[p+168>>2];k=B[p+40>>2];G=B[p+8>>2];r=B[p+24>>2];x[m+12>>2]=0;K=e;H=t;e=B[m+8>>2];t=B[m>>2];q=B[m+4>>2];w=E(H*E(E(K*e)+E(E(g*t)+E(i*q))));H=h;h=E(I*E(E(h*e)+E(E(l*t)+E(n*q))));e=E(Q*E(E(k*e)+E(E(G*t)+E(q*r))));B[m+8>>2]=E(K*w)+E(E(H*h)+E(k*e));B[m+4>>2]=E(i*w)+E(E(n*h)+E(r*e));B[m>>2]=E(g*w)+E(E(l*h)+E(G*e))}if(v[o+180|0]&1){t=B[o+172>>2];e=B[o+44>>2];g=B[o+12>>2];i=B[o+28>>2];I=B[o+164>>2];h=B[o+36>>2];l=B[o+4>>2];n=B[o+20>>2];Q=B[o+168>>2];k=B[o+40>>2];G=B[o+8>>2];r=B[o+24>>2];x[m+12>>2]=0;K=e;H=t;e=B[m+8>>2];t=B[m>>2];q=B[m+4>>2];w=E(H*E(E(K*e)+E(E(g*t)+E(i*q))));H=h;h=E(I*E(E(h*e)+E(E(l*t)+E(n*q))));e=E(Q*E(E(k*e)+E(E(G*t)+E(q*r))));B[m+8>>2]=E(K*w)+E(E(H*h)+E(k*e));B[m+4>>2]=E(i*w)+E(E(n*h)+E(r*e));B[m>>2]=E(g*w)+E(E(l*h)+E(G*e))}Za(a,m,N,O,J,C,s- -64|0,s+48|0,A,d,E(0),E(0));j=x[d+72>>2]}if((j&80)!=80){break k}x[u+132>>2]=x[u+132>>2]|1;break k}e=B[s+44>>2];Za(a,u+172|0,N,O,J,C,s- -64|0,s+48|0,e,d,B[u+148>>2],B[u+164>>2]);if(!(y[d+72|0]&16)){break k}Za(a,u+188|0,N,O,J,C,s- -64|0,s+48|0,e,d,B[u+152>>2],B[u+164>>2])}m=x[a+76>>2];V=x[f+140>>2];P=x[d+72>>2];n:{if(P&4){z=x[a+16>>2];J=x[(z+D(O,244)|0)+240>>2];j=x[(z+D(N,244)|0)+240>>2];u=m+D(V,152)|0;e=E(B[C+136>>2]*B[d+68>>2]);B[u+100>>2]=e;if(j){i=B[j+416>>2];h=B[u+24>>2];l=B[j+412>>2];n=B[u+20>>2];f=z+D(N,244)|0;g=B[j+404>>2];B[f+64>>2]=E(E(e*E(E(g*B[u+16>>2])*B[j+408>>2]))*B[f+112>>2])+B[f+64>>2];B[f+68>>2]=E(E(e*E(l*E(g*n)))*B[f+116>>2])+B[f+68>>2];B[f+72>>2]=E(E(e*E(i*E(g*h)))*B[f+120>>2])+B[f+72>>2];g=B[u+72>>2];i=B[u+68>>2];B[f+80>>2]=E(E(e*B[f+96>>2])*B[u+64>>2])+B[f+80>>2];h=B[f+104>>2];B[f+84>>2]=E(i*E(e*B[f+100>>2]))+B[f+84>>2];B[f+88>>2]=E(g*E(e*h))+B[f+88>>2]}if(J){L=m+D(V,152)|0;i=B[L+88>>2];h=B[L+84>>2];l=B[L+80>>2];n=B[J+416>>2];k=B[L+56>>2];G=B[J+412>>2];r=B[L+52>>2];f=z+D(O,244)|0;g=B[J+404>>2];e=B[u+100>>2];B[f+64>>2]=B[f+64>>2]+E(E(E(E(g*B[L+48>>2])*B[J+408>>2])*e)*B[f+112>>2]);B[f+68>>2]=B[f+68>>2]+E(E(e*E(G*E(g*r)))*B[f+116>>2]);B[f+72>>2]=B[f+72>>2]+E(E(e*E(n*E(g*k)))*B[f+120>>2]);B[f+80>>2]=B[f+80>>2]+E(l*E(e*B[f+96>>2]));g=B[f+104>>2];B[f+84>>2]=B[f+84>>2]+E(h*E(e*B[f+100>>2]));B[f+88>>2]=B[f+88>>2]+E(i*E(g*e))}if(!(P&16)){break n}L=V+1|0;u=m+D(L,152)|0;e=E(B[C+140>>2]*B[d+68>>2]);B[u+100>>2]=e;if(j){i=B[u+24>>2];h=B[u+20>>2];f=z+D(N,244)|0;g=B[j+404>>2];B[f+64>>2]=E(E(e*E(g*B[u+16>>2]))*B[f+112>>2])+B[f+64>>2];B[f+68>>2]=E(E(e*E(g*h))*B[f+116>>2])+B[f+68>>2];B[f+72>>2]=E(E(e*E(g*i))*B[f+120>>2])+B[f+72>>2];g=B[u+72>>2];i=B[u+68>>2];B[f+80>>2]=E(E(e*B[f+96>>2])*B[u+64>>2])+B[f+80>>2];h=B[f+104>>2];B[f+84>>2]=E(i*E(e*B[f+100>>2]))+B[f+84>>2];B[f+88>>2]=E(g*E(e*h))+B[f+88>>2]}if(!J){break n}j=m+D(L,152)|0;i=B[j+88>>2];h=B[j+84>>2];l=B[j+56>>2];n=B[j+52>>2];k=B[j+48>>2];g=B[J+404>>2];f=z+D(O,244)|0;e=B[u+100>>2];B[f+80>>2]=B[f+80>>2]+E(B[j+80>>2]*E(B[f+96>>2]*e));B[f+64>>2]=B[f+64>>2]+E(E(e*E(g*k))*B[f+112>>2]);B[f+68>>2]=B[f+68>>2]+E(E(e*E(g*n))*B[f+116>>2]);B[f+72>>2]=B[f+72>>2]+E(E(e*E(g*l))*B[f+120>>2]);g=B[f+104>>2];B[f+84>>2]=B[f+84>>2]+E(h*E(e*B[f+100>>2]));B[f+88>>2]=B[f+88>>2]+E(i*E(g*e));break n}f=m+D(V,152)|0;x[f+100>>2]=0;if(!(P&16)){break n}x[f+252>>2]=0}j=x[_+844>>2]}aa=aa+1|0;if((aa|0)<(j|0)){continue}break}}ga=s+80|0;da=da+1|0;if((da|0)!=(c|0)){continue}break}}}function Nh(a,b,c,d,e,f,g,h,i){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=E(0),n=0,o=0,p=E(0),q=E(0),r=E(0),s=E(0),t=E(0),u=E(0),w=E(0),z=E(0),A=E(0),C=E(0),G=0,H=E(0),I=E(0),J=E(0),K=E(0),L=E(0),N=0,O=E(0),P=E(0),Q=E(0),R=E(0),S=E(0),T=E(0),U=E(0),V=E(0),W=E(0),X=E(0),Y=E(0),Z=0,_=E(0),$=0,aa=E(0),ba=0,ca=0,da=0,ea=0,fa=E(0),ha=E(0),ja=E(0),ka=E(0),la=E(0),ma=E(0),na=E(0),oa=E(0),pa=E(0);o=ga-256|0;ga=o;x[a+188>>2]=-1;ia[x[8262]](5384);i=x[h+72>>2];if((i|0)!=x[a+224>>2]){x[a+224>>2]=i;x[a+220>>2]=954;x[a+216>>2]=953;x[a+212>>2]=952}i=0;x[a+184>>2]=0;a:{if((c|0)<=0){break a}if(c>>>0>=4){j=c&-4;while(1){l=i<<2;x[x[l+b>>2]+212>>2]=-1;x[x[(l|4)+b>>2]+212>>2]=-1;x[x[(l|8)+b>>2]+212>>2]=-1;x[x[(l|12)+b>>2]+212>>2]=-1;i=i+4|0;k=k+4|0;if((j|0)!=(k|0)){continue}break}}l=c&3;if(!l){break a}j=0;while(1){x[x[(i<<2)+b>>2]+212>>2]=-1;i=i+1|0;j=j+1|0;if((l|0)!=(j|0)){continue}break}}l=x[a+12>>2];if((l|0)<=(c|0)){l=c+1|0;if(l){x[8456]=x[8456]+1;i=ia[x[8258]](D(l,244),16)|0}else{i=0}G=x[a+8>>2];if((G|0)>0){k=0;while(1){n=D(k,244);j=n+i|0;n=n+x[a+16>>2]|0;N=x[n+4>>2];x[j>>2]=x[n>>2];x[j+4>>2]=N;N=x[n+12>>2];x[j+8>>2]=x[n+8>>2];x[j+12>>2]=N;N=x[n+28>>2];x[j+24>>2]=x[n+24>>2];x[j+28>>2]=N;N=x[n+20>>2];x[j+16>>2]=x[n+16>>2];x[j+20>>2]=N;N=x[n+44>>2];x[j+40>>2]=x[n+40>>2];x[j+44>>2]=N;N=x[n+36>>2];x[j+32>>2]=x[n+32>>2];x[j+36>>2]=N;N=x[n+52>>2];x[j+48>>2]=x[n+48>>2];x[j+52>>2]=N;N=x[n+60>>2];x[j+56>>2]=x[n+56>>2];x[j+60>>2]=N;ya(j- -64|0,n- -64|0,180);k=k+1|0;if((G|0)!=(k|0)){continue}break}}j=x[a+16>>2];if(!(j?!j|!y[a+20|0]:1)){x[8457]=x[8457]+1;ia[x[8259]](j)}x[a+16>>2]=i;v[a+20|0]=1;x[a+12>>2]=l}ua(o+8|0,0,244);j=x[a+8>>2];if((j|0)<0){if((l|0)<0){i=x[a+16>>2];if(!(i?!i|!y[a+20|0]:1)){x[8457]=x[8457]+1;ia[x[8259]](i)}v[a+20|0]=1;x[a+12>>2]=0;x[a+16>>2]=0}l=o+72|0;while(1){i=x[a+16>>2]+D(j,244)|0;x[i>>2]=0;x[i+4>>2]=0;x[i+8>>2]=0;x[i+12>>2]=0;k=x[o+36>>2];x[i+24>>2]=x[o+32>>2];x[i+28>>2]=k;k=x[o+28>>2];x[i+16>>2]=x[o+24>>2];x[i+20>>2]=k;k=x[o+44>>2];x[i+32>>2]=x[o+40>>2];x[i+36>>2]=k;k=x[o+52>>2];x[i+40>>2]=x[o+48>>2];x[i+44>>2]=k;k=x[o+60>>2];x[i+48>>2]=x[o+56>>2];x[i+52>>2]=k;k=x[o+68>>2];x[i+56>>2]=x[o+64>>2];x[i+60>>2]=k;ya(i- -64|0,l,180);j=j+1|0;if(j){continue}break}}x[a+8>>2]=0;if((c|0)>0){j=0;while(1){i=(j<<2)+b|0;k=Ua(a,x[i>>2],B[h+12>>2]);i=x[i>>2];b:{if(!i|!(x[i+252>>2]&2)|B[i+404>>2]==E(0)){break b}n=x[a+16>>2];l=x[i+564>>2];if(l&2){z=B[h+84>>2];m=B[i+396>>2];r=B[i+44>>2];t=B[i+40>>2];s=B[i+36>>2];p=B[i+392>>2];J=B[i+28>>2];q=B[i+12>>2];u=B[i+464>>2];H=B[i+24>>2];K=B[i+8>>2];A=B[i+460>>2];P=B[i+20>>2];w=B[i+388>>2];I=B[i+4>>2];C=B[i+456>>2];x[o+20>>2]=0;O=u!=E(0)?E(E(1)/u):E(0);u=E(J*O);C=C!=E(0)?E(E(1)/C):E(0);L=E(P*C);A=A!=E(0)?E(E(1)/A):E(0);R=E(H*A);Q=E(E(m*E(E(r*u)+E(E(s*L)+E(t*R))))+E(E(w*E(E(q*u)+E(E(I*L)+E(K*R))))+E(p*E(E(J*u)+E(E(P*L)+E(H*R))))));u=E(O*q);L=E(C*I);R=E(A*K);L=E(E(m*E(E(r*u)+E(E(s*L)+E(t*R))))+E(E(w*E(E(q*u)+E(E(I*L)+E(K*R))))+E(p*E(E(J*u)+E(E(P*L)+E(R*H))))));u=E(E(w*Q)-E(p*L));B[o+16>>2]=u;X=r;r=E(O*r);O=s;s=E(C*s);C=t;t=E(A*t);r=E(E(m*E(E(X*r)+E(E(O*s)+E(C*t))))+E(E(w*E(E(q*r)+E(E(I*s)+E(K*t))))+E(p*E(E(J*r)+E(E(P*s)+E(H*t))))));w=E(E(m*L)-E(w*r));B[o+12>>2]=w;m=E(E(p*r)-E(Q*m));B[o+8>>2]=m;p=E(E(u*u)+E(E(m*m)+E(w*w)));if(p>E(z*z)){p=E(E(E(1)/E(M(p)))*z);B[o+16>>2]=u*p;B[o+12>>2]=w*p;B[o+8>>2]=m*p}t=B[i+364>>2];s=B[i+332>>2];J=B[i+348>>2];q=B[i+360>>2];H=B[i+328>>2];K=B[i+344>>2];l=n+D(k,244)|0;m=B[o+16>>2];p=B[o+8>>2];w=B[o+12>>2];r=B[h+12>>2];B[l+224>>2]=B[l+224>>2]-E(E(E(B[i+356>>2]*m)+E(E(B[i+324>>2]*p)+E(w*B[i+340>>2])))*r);B[l+228>>2]=B[l+228>>2]-E(r*E(E(q*m)+E(E(H*p)+E(w*K))));B[l+232>>2]=B[l+232>>2]-E(r*E(E(t*m)+E(E(s*p)+E(w*J))));l=x[i+564>>2]}if(l&4){m=B[h+12>>2];p=B[i+396>>2];J=B[i+44>>2];q=B[i+40>>2];H=B[i+36>>2];t=B[i+12>>2];K=B[i+8>>2];w=B[i+392>>2];P=B[i+28>>2];s=B[i+464>>2];I=B[i+24>>2];A=B[i+460>>2];z=B[i+20>>2];r=B[i+388>>2];u=B[i+4>>2];C=B[i+456>>2];x[o+20>>2]=0;R=s!=E(0)?E(E(1)/s):E(0);Q=E(J*R);S=C!=E(0)?E(E(1)/C):E(0);U=E(H*S);T=A!=E(0)?E(E(1)/A):E(0);W=E(q*T);C=E(E(t*Q)+E(E(u*U)+E(K*W)));s=E(R*P);A=E(S*z);V=E(T*I);O=E(E(J*s)+E(E(H*A)+E(q*V)));_=E(p*O);L=E(E(t*s)+E(E(u*A)+E(K*V)));Y=E(r*L);A=E(E(P*s)+E(E(z*A)+E(I*V)));s=E(_+E(Y+E(w*A)));V=E(R*t);S=E(S*u);T=E(T*K);K=E(E(t*V)+E(E(u*S)+E(K*T)));R=E(C+E(E(s+E(E(C*E(0))+E(Y-E(w*K))))*m));u=E(E(J*Q)+E(E(H*U)+E(q*W)));Y=E(C*r);Q=E(E(P*Q)+E(E(z*U)+E(I*W)));U=E(w*Q);t=E(E(p*u)+E(Y+U));I=E(E(P*V)+E(E(z*S)+E(T*I)));P=E(I+E(E(E(U+E(E(I*E(0))-E(A*p)))+t)*m));H=E(E(J*V)+E(E(H*S)+E(T*q)));z=E(p*H);T=E(w*I);J=E(z+E(E(K*r)+T));U=E(m*E(0));q=E(E(s+E(E(E(p*J)-E(t*r))*m))-E(U+s));z=E(O+E(E(J+E(E(z+E(O*E(0)))-E(u*r)))*m));S=E(H+E(E(E(E(u*w)+E(E(H*E(0))-_))-s)*m));I=E(A+E(E(E(E(I*p)+E(A*E(0)))-E(Q*r))*m));W=E(E(P*z)-E(S*I));C=E(K+E(E(E(C*w)+E(E(K*E(0))-E(L*p)))*m));u=E(u+E(E(E(u*E(0))+E(E(r*O)-E(H*w)))*m));A=E(Q+E(E(E(E(Q*E(0))+E(E(r*A)-T))-J)*m));Q=E(E(I*u)-E(z*A));O=E(L+E(E(E(E(E(K*p)+E(L*E(0)))-Y)-t)*m));L=E(E(A*S)-E(u*P));H=E(E(R*W)+E(E(C*Q)+E(O*L)));K=E(F(H))>E(1.1920928955078125e-7)?E(E(1)/H):H;H=E(E(J+E(E(E(w*t)-E(s*p))*m))-E(U+J));m=E(E(E(E(E(r*s)-E(J*w))*m)+t)-E(U+t));B[o+16>>2]=E(p-E(E(E(R*E(E(P*q)-E(H*I)))+E(E(C*E(E(I*m)-E(q*A)))+E(O*E(E(A*H)-E(m*P)))))*K))-p;B[o+12>>2]=E(w-E(E(E(R*E(E(H*z)-E(S*q)))+E(E(C*E(E(q*u)-E(z*m)))+E(O*E(E(m*S)-E(u*H)))))*K))-w;B[o+8>>2]=E(r-E(E(E(m*W)+E(E(H*Q)+E(q*L)))*K))-r;m=B[o+16>>2];p=B[o+12>>2];l=n+D(k,244)|0;B[l+224>>2]=B[o+8>>2]+B[l+224>>2];B[l+228>>2]=p+B[l+228>>2];B[l+232>>2]=m+B[l+232>>2];l=x[i+564>>2]}if(!(l&8)){break b}m=B[h+12>>2];l=ga-16|0;ga=l;I=B[i+464>>2];z=B[i+460>>2];H=B[i+396>>2];K=B[i+392>>2];A=B[i+456>>2];P=B[i+388>>2];db(i+4|0,l);p=B[l+4>>2];w=B[l>>2];r=B[l+12>>2];t=B[l+8>>2];x[o+20>>2]=0;q=E(E(p*P)+E(E(r*H)-E(K*w)));u=E(E(t*H)+E(E(w*P)+E(K*p)));C=E(E(w*H)+E(E(r*K)-E(P*t)));L=E(E(t*K)+E(E(r*P)-E(H*p)));s=E(E(E(w*q)+E(E(p*u)+E(r*C)))-E(t*L));J=E(E(E(L*p)+E(E(u*t)+E(r*q)))-E(C*w));O=E(J*E(0));q=E(E(E(C*t)+E(E(u*w)+E(r*L)))-E(q*p));L=E(q*E(0));z=z!=E(0)?E(E(1)/z):E(0);u=E(O+E(L+E(s*z)));A=A!=E(0)?E(E(1)/A):E(0);R=E(E(E(E(E(L-E(s*A))+E(0))+u)*m)+E(0));C=I!=E(0)?E(E(1)/I):E(0);Q=E(s*E(0));S=E(E(C*J)+E(L+Q));I=E(E(E(s*S)-E(u*J))*m);Y=E(q*E(-0));U=E(E(E(E(Y+E(E(A*J)+E(0)))-S)*m)+E(0));T=E(E(E(E(Q+E(E(0)-E(z*J)))+S)*m)+E(0));W=E(O+E(E(A*q)+Q));V=E(E(E(E(E(O+E(0))-E(C*q))+W)*m)+E(0));X=E(J*E(-0));_=E(E(E(E(E(C*s)+E(X+E(0)))-u)*m)+E(0));O=E(z+E(E(Y+E(O+E(z*E(0))))*m));Y=E(E(T*V)-E(_*O));Q=E(A+E(E(Q+E(E(A*E(0))+X))*m));X=C;A=E(C*E(0));C=E(s*E(-0));A=E(X+E(E(A+E(C+L))*m));C=E(E(E(E(E(C+E(z*q))+E(0))-W)*m)+E(0));X=E(E(O*A)-E(V*C));aa=E(E(C*_)-E(A*T));z=E(E(R*Y)+E(E(Q*X)+E(U*aa)));L=E(F(z))>E(1.1920928955078125e-7)?E(E(1)/z):z;z=E(E(E(J*W)-E(S*q))*m);m=E(E(E(q*u)-E(W*s))*m);s=E(s-E(E(E(R*E(E(I*V)-E(_*z)))+E(E(Q*E(E(z*A)-E(V*m)))+E(U*E(E(m*_)-E(A*I)))))*L));q=E(q-E(E(E(m*Y)+E(E(I*X)+E(z*aa)))*L));m=E(J-E(E(E(R*E(E(T*z)-E(I*O)))+E(E(Q*E(E(O*m)-E(z*C)))+E(U*E(E(C*I)-E(m*T)))))*L));J=E(E(E(r*s)+E(t*q))-E(w*m));I=E(E(E(r*m)+E(w*s))-E(p*q));z=E(E(E(E(-w)*q)-E(s*p))-E(t*m));m=E(E(E(r*q)+E(p*m))-E(t*s));B[o+16>>2]=E(E(w*J)+E(E(E(r*I)-E(t*z))-E(p*m)))-H;B[o+12>>2]=E(E(m*t)+E(E(E(r*J)-E(z*p))-E(I*w)))-K;B[o+8>>2]=E(E(I*p)+E(E(E(r*m)-E(z*w))-E(J*t)))-P;ga=l+16|0;m=B[o+16>>2];p=B[o+12>>2];i=n+D(k,244)|0;B[i+224>>2]=B[o+8>>2]+B[i+224>>2];B[i+228>>2]=p+B[i+228>>2];B[i+232>>2]=m+B[i+232>>2]}j=j+1|0;if((j|0)!=(c|0)){continue}break}}c:{if((g|0)<=0){break c}i=0;if((g|0)!=1){l=g&-2;b=0;while(1){j=i<<2;c=x[j+f>>2];ia[x[x[c>>2]+8>>2]](c);x[c+36>>2]=0;c=x[(j|4)+f>>2];ia[x[x[c>>2]+8>>2]](c);x[c+36>>2]=0;i=i+2|0;b=b+2|0;if((l|0)!=(b|0)){continue}break}}if(!(g&1)){break c}b=x[(i<<2)+f>>2];ia[x[x[b>>2]+8>>2]](b);x[b+36>>2]=0}b=x[a+168>>2];if(!((g|0)<=(b|0)|x[a+172>>2]>=(g|0))){d:{if(!g){j=0;break d}x[8456]=x[8456]+1;j=ia[x[8258]](g<<3,16)|0;b=x[a+168>>2]}e:{if((b|0)<=0){break e}k=0;i=0;if(b>>>0>=4){n=b&-4;c=0;while(1){l=i<<3;G=l+j|0;N=l+x[a+176>>2]|0;Z=x[N+4>>2];x[G>>2]=x[N>>2];x[G+4>>2]=Z;G=l|8;N=G+j|0;G=G+x[a+176>>2]|0;Z=x[G+4>>2];x[N>>2]=x[G>>2];x[N+4>>2]=Z;G=l|16;N=G+j|0;G=G+x[a+176>>2]|0;Z=x[G+4>>2];x[N>>2]=x[G>>2];x[N+4>>2]=Z;l=l|24;G=l+j|0;l=l+x[a+176>>2]|0;N=x[l+4>>2];x[G>>2]=x[l>>2];x[G+4>>2]=N;i=i+4|0;c=c+4|0;if((n|0)!=(c|0)){continue}break}}b=b&3;if(!b){break e}while(1){c=i<<3;l=c+j|0;c=c+x[a+176>>2]|0;n=x[c+4>>2];x[l>>2]=x[c>>2];x[l+4>>2]=n;i=i+1|0;k=k+1|0;if((b|0)!=(k|0)){continue}break}}b=x[a+176>>2];if(!(b?!b|!y[a+180|0]:1)){x[8457]=x[8457]+1;ia[x[8259]](b)}x[a+176>>2]=j;v[a+180|0]=1;x[a+172>>2]=g}x[a+168>>2]=g;k=0;if((g|0)>0){j=0;while(1){i=x[a+176>>2];l=(j<<2)+f|0;b=x[l>>2];c=x[b+44>>2];if(c){b=c;x[b>>2]=0;x[b+4>>2]=0;x[b+56>>2]=0;x[b+60>>2]=0;x[b+48>>2]=0;x[b+52>>2]=0;x[b+40>>2]=0;x[b+44>>2]=0;x[b+32>>2]=0;x[b+36>>2]=0;x[b+24>>2]=0;x[b+28>>2]=0;x[b+16>>2]=0;x[b+20>>2]=0;x[b+8>>2]=0;x[b+12>>2]=0;b=x[l>>2]}c=i+(j<<3)|0;f:{if(y[b+20|0]){ia[x[x[b>>2]+16>>2]](b,c);b=x[c>>2];break f}x[c>>2]=0;x[c+4>>2]=0;b=0}k=b+k|0;j=j+1|0;if((j|0)!=(g|0)){continue}break}}b=x[a+48>>2];if(!((k|0)<=(b|0)|x[a+52>>2]>=(k|0))){g:{if(!k){j=0;break g}x[8456]=x[8456]+1;j=ia[x[8258]](D(k,152),16)|0;b=x[a+48>>2]}h:{if((b|0)<=0){break h}c=b&1;i=0;if((b|0)!=1){l=b&-2;b=0;while(1){n=D(i,152);ya(n+j|0,n+x[a+56>>2]|0,152);n=D(i|1,152);ya(n+j|0,n+x[a+56>>2]|0,152);i=i+2|0;b=b+2|0;if((l|0)!=(b|0)){continue}break}}if(!c){break h}b=D(i,152);ya(b+j|0,b+x[a+56>>2]|0,152)}b=x[a+56>>2];if(!(b?!b|!y[a+60|0]:1)){x[8457]=x[8457]+1;ia[x[8259]](b)}x[a+56>>2]=j;v[a+60|0]=1;x[a+52>>2]=k}x[a+48>>2]=k;if((g|0)>0){j=x[a+176>>2];while(1){ea=$;da=ba<<3;Z=da+j|0;if(x[Z>>2]){ca=(ba<<2)+f|0;N=x[ca>>2];j=x[N+32>>2];k=x[a+56>>2];n=x[N+28>>2];c=Ua(a,n,B[h+12>>2]);i=Ua(a,j,B[h+12>>2]);l=x[N+24>>2];b=x[h+20>>2];l=(l|0)>0?l:b;if((l|0)>x[a+184>>2]){x[a+184>>2]=l}G=k+D($,152)|0;$=x[a+16>>2];k=0;if(x[Z>>2]>0){while(1){b=ua(G+D(k,152)|0,0,152);x[b+120>>2]=-8388609;x[b+124>>2]=2139095039;x[b+148>>2]=i;x[b+144>>2]=c;x[b+96>>2]=0;x[b+100>>2]=0;x[b+136>>2]=l;k=k+1|0;if((k|0)>2]){continue}break}b=x[h+20>>2]}c=D(c,244)+$|0;x[c+64>>2]=0;x[c+68>>2]=0;x[c+144>>2]=0;x[c+148>>2]=0;x[c+88>>2]=0;x[c+92>>2]=0;x[c+80>>2]=0;x[c+84>>2]=0;x[c+72>>2]=0;x[c+76>>2]=0;x[c+152>>2]=0;x[c+156>>2]=0;x[c+160>>2]=0;x[c+164>>2]=0;x[c+168>>2]=0;x[c+172>>2]=0;i=D(i,244)+$|0;x[i+88>>2]=0;x[i+92>>2]=0;x[i+80>>2]=0;x[i+84>>2]=0;x[i+72>>2]=0;x[i+76>>2]=0;x[i+64>>2]=0;x[i+68>>2]=0;x[i+144>>2]=0;x[i+148>>2]=0;x[i+152>>2]=0;x[i+156>>2]=0;x[i+160>>2]=0;x[i+164>>2]=0;x[i+168>>2]=0;x[i+172>>2]=0;B[o+8>>2]=E(1)/B[h+12>>2];m=B[h+32>>2];x[o+36>>2]=G+112;x[o+32>>2]=38;x[o+28>>2]=G+32;x[o+24>>2]=G+48;x[o+20>>2]=G;x[o+16>>2]=G+16;B[o+12>>2]=m;B[G+116>>2]=B[h+40>>2];m=B[h+4>>2];x[o+52>>2]=b;x[o+48>>2]=G+124;x[o+44>>2]=G+120;x[o+40>>2]=G+116;B[o+56>>2]=m;b=x[ca>>2];ia[x[x[b>>2]+20>>2]](b,o+8|0);if(x[Z>>2]>0){l=0;while(1){m=B[x[ca>>2]+16>>2];b=G+D(l,152)|0;if(m<=B[b+124>>2]){B[b+124>>2]=m}m=E(-m);if(m>=B[b+120>>2]){B[b+120>>2]=m}x[b+132>>2]=N;k=x[N+28>>2];r=B[k+332>>2];t=B[k+328>>2];s=B[k+608>>2];J=B[k+348>>2];q=B[k+340>>2];H=B[k+344>>2];K=B[k+612>>2];P=B[k+364>>2];I=B[k+356>>2];z=B[k+360>>2];u=B[k+604>>2];A=B[k+324>>2];m=B[b+8>>2];p=B[b>>2];w=B[b+4>>2];x[b+76>>2]=0;B[b+72>>2]=K*E(E(P*m)+E(E(I*p)+E(w*z)));B[b+68>>2]=s*E(E(J*m)+E(E(q*p)+E(w*H)));B[b+64>>2]=u*E(E(r*m)+E(E(A*p)+E(t*w)));k=x[N+32>>2];J=B[k+328>>2];q=B[k+332>>2];H=B[k+608>>2];K=B[k+348>>2];P=B[k+340>>2];I=B[k+344>>2];r=B[k+612>>2];t=B[k+364>>2];s=B[k+356>>2];z=B[k+360>>2];u=B[k+604>>2];A=B[k+324>>2];x[b+92>>2]=0;C=r;r=B[b+40>>2];X=E(t*r);t=B[b+32>>2];O=E(s*t);s=B[b+36>>2];B[b+88>>2]=C*E(X+E(O+E(z*s)));B[b+84>>2]=H*E(E(K*r)+E(E(P*t)+E(s*I)));B[b+80>>2]=u*E(E(q*r)+E(E(A*t)+E(J*s)));J=E(0);q=B[n+404>>2];H=B[b+24>>2];K=B[b+16>>2];P=B[b+20>>2];C=E(E(E(E(q*H)*H)+E(E(E(q*K)*K)+E(P*E(q*P))))+E(E(m*E(E(m*B[n+364>>2])+E(E(p*B[n+356>>2])+E(w*B[n+360>>2]))))+E(E(p*E(E(m*B[n+332>>2])+E(E(p*B[n+324>>2])+E(w*B[n+328>>2]))))+E(w*E(E(m*B[n+348>>2])+E(E(p*B[n+340>>2])+E(w*B[n+344>>2])))))));q=B[j+404>>2];I=B[b+56>>2];z=B[b+48>>2];u=B[b+52>>2];q=E(E(C+E(E(E(q*I)*I)+E(E(E(q*z)*z)+E(u*E(q*u)))))+E(E(r*E(E(r*B[j+364>>2])+E(E(t*B[j+356>>2])+E(s*B[j+360>>2]))))+E(E(t*E(E(r*B[j+332>>2])+E(E(t*B[j+324>>2])+E(s*B[j+328>>2]))))+E(s*E(E(r*B[j+348>>2])+E(E(t*B[j+340>>2])+E(s*B[j+344>>2])))))));q=E(F(q))>E(1.1920928955078125e-7)?E(E(1)/q):E(0);B[b+108>>2]=q;A=E(0);C=E(0);O=E(0);L=E(0);R=E(0);Q=E(0);if(x[c+240>>2]){Q=B[c+232>>2];R=B[c+228>>2];L=B[c+224>>2];C=B[c+212>>2];O=B[c+208>>2];A=B[c+216>>2]}S=E(0);U=E(0);T=E(0);W=E(0);V=E(0);if(x[i+240>>2]){V=B[i+232>>2];W=B[i+228>>2];T=B[i+224>>2];S=B[i+212>>2];U=B[i+208>>2];J=B[i+216>>2]}_=B[n+380>>2];Y=B[n+372>>2];X=B[n+376>>2];aa=B[n+396>>2];fa=B[n+388>>2];ha=B[n+392>>2];ja=B[j+380>>2];ka=B[j+372>>2];la=B[j+376>>2];ma=B[j+396>>2];na=B[j+388>>2];oa=B[j+392>>2];pa=B[o+56>>2];x[b+100>>2]=0;B[b+112>>2]=E(q*B[b+112>>2])+E(q*E(E(0)-E(pa*E(E(E(E(H*E(A+_))+E(E(K*E(O+Y))+E(P*E(C+X))))+E(E(m*E(Q+aa))+E(E(p*E(L+fa))+E(w*E(R+ha)))))+E(E(E(I*E(J+ja))+E(E(z*E(U+ka))+E(u*E(S+la))))+E(E(r*E(V+ma))+E(E(t*E(T+na))+E(s*E(W+oa)))))))));l=l+1|0;if((l|0)>2]){continue}break}}j=x[a+176>>2];b=x[da+j>>2]}else{b=0}$=ea+b|0;ba=ba+1|0;if((ba|0)!=(g|0)){continue}break}}ia[x[x[a>>2]+28>>2]](a,d,e,h);e=x[a+68>>2];d=x[a+28>>2];k=x[a+128>>2];f=x[a+48>>2];if(!((k|0)>=(f|0)|(f|0)<=x[a+132>>2])){i:{if(!f){j=0;break i}x[8456]=x[8456]+1;j=ia[x[8258]](f<<2,16)|0;k=x[a+128>>2]}b=x[a+136>>2];j:{k:{if((k|0)>0){c=0;i=0;if(k>>>0>=4){n=k&-4;l=0;while(1){g=i<<2;x[g+j>>2]=x[b+g>>2];G=g|4;x[G+j>>2]=x[b+G>>2];G=g|8;x[G+j>>2]=x[b+G>>2];g=g|12;x[g+j>>2]=x[b+g>>2];i=i+4|0;l=l+4|0;if((n|0)!=(l|0)){continue}break}}g=k&3;if(g){while(1){l=i<<2;x[l+j>>2]=x[b+l>>2];i=i+1|0;c=c+1|0;if((g|0)!=(c|0)){continue}break}}if(y[a+140|0]){break k}break j}if(!b|!y[a+140|0]){break j}}if(b){x[8457]=x[8457]+1;ia[x[8259]](b)}}x[a+136>>2]=j;x[a+132>>2]=f;v[a+140|0]=1}x[a+128>>2]=f;l:{if(y[h+72|0]&16){k=x[a+108>>2];h=d<<1;if(!((k|0)>=(h|0)|(h|0)<=x[a+112>>2])){m:{if(!d){j=0;break m}x[8456]=x[8456]+1;j=ia[x[8258]](d<<3,16)|0;k=x[a+108>>2]}b=x[a+116>>2];n:{o:{if((k|0)>0){c=0;i=0;if(k>>>0>=4){n=k&-4;l=0;while(1){g=i<<2;x[g+j>>2]=x[b+g>>2];G=g|4;x[G+j>>2]=x[b+G>>2];G=g|8;x[G+j>>2]=x[b+G>>2];g=g|12;x[g+j>>2]=x[b+g>>2];i=i+4|0;l=l+4|0;if((n|0)!=(l|0)){continue}break}}g=k&3;if(g){while(1){l=i<<2;x[l+j>>2]=x[b+l>>2];i=i+1|0;c=c+1|0;if((g|0)!=(c|0)){continue}break}}if(y[a+120|0]){break o}break n}if(!b|!y[a+120|0]){break n}}if(b){x[8457]=x[8457]+1;ia[x[8259]](b)}}x[a+116>>2]=j;x[a+112>>2]=h;v[a+120|0]=1}x[a+108>>2]=h;break l}k=x[a+108>>2];if(!((d|0)<=(k|0)|(d|0)<=x[a+112>>2])){p:{if(!d){j=0;break p}x[8456]=x[8456]+1;j=ia[x[8258]](d<<2,16)|0;k=x[a+108>>2]}b=x[a+116>>2];q:{r:{if((k|0)>0){c=0;i=0;if(k>>>0>=4){h=k&-4;l=0;while(1){g=i<<2;x[g+j>>2]=x[b+g>>2];n=g|4;x[n+j>>2]=x[b+n>>2];n=g|8;x[n+j>>2]=x[b+n>>2];g=g|12;x[g+j>>2]=x[b+g>>2];i=i+4|0;l=l+4|0;if((h|0)!=(l|0)){continue}break}}g=k&3;if(g){while(1){h=i<<2;x[h+j>>2]=x[b+h>>2];i=i+1|0;c=c+1|0;if((g|0)!=(c|0)){continue}break}}if(y[a+120|0]){break r}break q}if(!b|!y[a+120|0]){break q}}if(b){x[8457]=x[8457]+1;ia[x[8259]](b)}}x[a+116>>2]=j;x[a+112>>2]=d;v[a+120|0]=1}x[a+108>>2]=d}k=x[a+148>>2];if(!((e|0)<=(k|0)|(e|0)<=x[a+152>>2])){s:{if(!e){j=0;break s}x[8456]=x[8456]+1;j=ia[x[8258]](e<<2,16)|0;k=x[a+148>>2]}b=x[a+156>>2];t:{u:{if((k|0)>0){c=0;i=0;if(k>>>0>=4){h=k&-4;l=0;while(1){g=i<<2;x[g+j>>2]=x[b+g>>2];n=g|4;x[n+j>>2]=x[b+n>>2];n=g|8;x[n+j>>2]=x[b+n>>2];g=g|12;x[g+j>>2]=x[b+g>>2];i=i+4|0;l=l+4|0;if((h|0)!=(l|0)){continue}break}}g=k&3;if(g){while(1){h=i<<2;x[h+j>>2]=x[b+h>>2];i=i+1|0;c=c+1|0;if((g|0)!=(c|0)){continue}break}}if(y[a+160|0]){break u}break t}if(!b|!y[a+160|0]){break t}}if(b){x[8457]=x[8457]+1;ia[x[8259]](b)}}x[a+156>>2]=j;x[a+152>>2]=e;v[a+160|0]=1}x[a+148>>2]=e;v:{if((f|0)<=0){break v}c=x[a+136>>2];b=0;i=0;if(f>>>0>=8){g=f&-8;k=0;while(1){x[c+(i<<2)>>2]=i;h=i|1;x[c+(h<<2)>>2]=h;h=i|2;x[c+(h<<2)>>2]=h;h=i|3;x[c+(h<<2)>>2]=h;h=i|4;x[c+(h<<2)>>2]=h;h=i|5;x[c+(h<<2)>>2]=h;h=i|6;x[c+(h<<2)>>2]=h;h=i|7;x[c+(h<<2)>>2]=h;i=i+8|0;k=k+8|0;if((g|0)!=(k|0)){continue}break}}f=f&7;if(!f){break v}while(1){x[c+(i<<2)>>2]=i;i=i+1|0;b=b+1|0;if((f|0)!=(b|0)){continue}break}}w:{if((d|0)<=0){break w}c=x[a+116>>2];b=0;i=0;if(d>>>0>=8){f=d&-8;k=0;while(1){x[c+(i<<2)>>2]=i;g=i|1;x[c+(g<<2)>>2]=g;g=i|2;x[c+(g<<2)>>2]=g;g=i|3;x[c+(g<<2)>>2]=g;g=i|4;x[c+(g<<2)>>2]=g;g=i|5;x[c+(g<<2)>>2]=g;g=i|6;x[c+(g<<2)>>2]=g;g=i|7;x[c+(g<<2)>>2]=g;i=i+8|0;k=k+8|0;if((f|0)!=(k|0)){continue}break}}d=d&7;if(!d){break w}while(1){x[c+(i<<2)>>2]=i;i=i+1|0;b=b+1|0;if((d|0)!=(b|0)){continue}break}}x:{if((e|0)<=0){break x}a=x[a+156>>2];b=0;i=0;if(e>>>0>=8){c=e&-8;k=0;while(1){x[a+(i<<2)>>2]=i;d=i|1;x[a+(d<<2)>>2]=d;d=i|2;x[a+(d<<2)>>2]=d;d=i|3;x[a+(d<<2)>>2]=d;d=i|4;x[a+(d<<2)>>2]=d;d=i|5;x[a+(d<<2)>>2]=d;d=i|6;x[a+(d<<2)>>2]=d;d=i|7;x[a+(d<<2)>>2]=d;i=i+8|0;k=k+8|0;if((c|0)!=(k|0)){continue}break}}c=e&7;if(!c){break x}while(1){x[a+(i<<2)>>2]=i;i=i+1|0;b=b+1|0;if((c|0)!=(b|0)){continue}break}}ia[x[8263]]();ga=o+256|0;return E(E(0))}function Vd(a,b,c){var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=E(0),o=0,p=0,q=0,r=E(0),s=0,t=E(0),u=E(0),w=0,z=E(0),A=E(0),C=E(0),G=E(0),H=E(0),I=0,J=0,K=0,L=0,M=0,N=0;i=ga-144|0;ga=i;a:{if((c|0)<=0){b=x[a+12>>2];if(!(b?!b|!y[a+16|0]:1)){x[8457]=x[8457]+1;ia[x[8259]](b)}x[a+12>>2]=0;v[a+16|0]=1;x[a+4>>2]=0;x[a+8>>2]=0;b=x[a+32>>2];if(!(b?!b|!y[a+36|0]:1)){x[8457]=x[8457]+1;ia[x[8259]](b)}x[a+32>>2]=0;v[a+36|0]=1;x[a+24>>2]=0;x[a+28>>2]=0;b=x[a+52>>2];if(!(b?!b|!y[a+56|0]:1)){x[8457]=x[8457]+1;ia[x[8259]](b)}x[a+52>>2]=0;v[a+56|0]=1;x[a+44>>2]=0;x[a+48>>2]=0;break a}v[i+112|0]=1;x[i+88>>2]=0;x[i+92>>2]=256;x[i+72>>2]=0;x[i+76>>2]=256;x[i+56>>2]=0;x[i+60>>2]=256;x[i+108>>2]=0;x[i+100>>2]=0;x[i+104>>2]=0;x[i+80>>2]=0;x[i+84>>2]=0;x[i+64>>2]=0;x[i+68>>2]=0;x[i+48>>2]=0;x[i+52>>2]=0;e=i+16|0;h=ga-48|0;ga=h;z=E(-1.0000000150474662e30);A=E(1.0000000150474662e30);k=c;b:{if((c|0)>0){c=b;n=E(1.0000000150474662e30);r=E(1.0000000150474662e30);t=E(-1.0000000150474662e30);u=E(-1.0000000150474662e30);while(1){C=B[c+8>>2];z=z>2];t=t>2];u=uC?C:A;n=n>G?G:n;r=r>H?H:r;c=c+16|0;l=l+1|0;if((k|0)!=(l|0)){continue}break}break b}u=E(-1.0000000150474662e30);t=E(-1.0000000150474662e30);r=E(1.0000000150474662e30);n=E(1.0000000150474662e30)}x[e+12>>2]=0;x[e+28>>2]=0;B[e+24>>2]=E(z+A)*E(.5);B[e+20>>2]=E(t+n)*E(.5);B[e+16>>2]=E(u+r)*E(.5);r=E(u-r);n=E(t-n);d=r(d?n:r)?2:d;x[e+112>>2]=c;d=t>(d?r:n)?!d:2;d=(c|0)==(d|0)?c+(c>>>0>1?-2:1)|0:d;x[e+104>>2]=d;d=c+d|0;x[e+108>>2]=3-d;t=E(t*E(9788566967472434e-20));c=(c|0)==((4-d|0)%3|0);t=c?t:E(-t);B[e+8>>2]=t;n=E(n*E(9788566967472434e-20));n=c?n:E(-n);B[e+4>>2]=n;r=E(r*E(9788566967472434e-20));r=c?r:E(-r);B[e>>2]=r;v[h+44|0]=1;x[h+36>>2]=0;x[h+40>>2]=0;c:{d:{if((k|0)>0){x[8456]=x[8456]+1;M=h,N=ia[x[8258]](k<<4,16)|0,x[M+40>>2]=N;v[h+44|0]=1;x[h+36>>2]=k;x[h+32>>2]=k;if((k|0)<=0){break c}t=t!=E(0)?E(E(1)/t):t;u=n!=E(0)?E(E(1)/n):n;r=r!=E(0)?E(E(1)/r):r;c=h+8|0;m=c+(x[e+104>>2]<<2)|0;g=c+(x[e+112>>2]<<2)|0;s=c+(x[e+108>>2]<<2)|0;z=B[e+24>>2];A=B[e+20>>2];C=B[e+16>>2];j=x[h+40>>2];l=0;while(1){n=B[b>>2];G=B[b+4>>2];H=B[b+8>>2];x[h+20>>2]=0;B[h+16>>2]=t*E(H-z);B[h+12>>2]=u*E(G-A);B[h+8>>2]=r*E(n-C);c=j+(l<<4)|0;n=B[s>>2];e:{if(E(F(n))>2]=d;n=B[g>>2];f:{if(E(F(n))>2]=d;n=B[m>>2];x[c+12>>2]=l;if(E(F(n))>2]=d;b=b+16|0;l=l+1|0;if((k|0)!=(l|0)){continue}break}break d}x[h+32>>2]=k;break c}if((k|0)<2){break c}Wd(h+28|0,h+8|0,0,k-1|0)}x[e+44>>2]=k;x[e+40>>2]=0;x[e+36>>2]=x[e+32>>2];b=x[e+84>>2];g:{if((k|0)<=(b|0)){break g}if((k|0)>x[e+88>>2]){h:{if(!k){l=0;g=b;break h}x[8456]=x[8456]+1;l=ia[x[8258]](k<<2,16)|0;g=x[e+84>>2]}i:{if((g|0)<=0){break i}m=0;c=0;if(g>>>0>=4){j=g&-4;d=0;while(1){s=c<<2;x[s+l>>2]=x[s+x[e+92>>2]>>2];o=s|4;x[o+l>>2]=x[o+x[e+92>>2]>>2];o=s|8;x[o+l>>2]=x[o+x[e+92>>2]>>2];s=s|12;x[s+l>>2]=x[s+x[e+92>>2]>>2];c=c+4|0;d=d+4|0;if((j|0)!=(d|0)){continue}break}}d=g&3;if(!d){break i}while(1){g=c<<2;x[g+l>>2]=x[g+x[e+92>>2]>>2];c=c+1|0;m=m+1|0;if((d|0)!=(m|0)){continue}break}}c=x[e+92>>2];if(!(c?!c|!y[e+96|0]:1)){x[8457]=x[8457]+1;ia[x[8259]](c)}x[e+92>>2]=l;v[e+96|0]=1;x[e+88>>2]=k}d=k+(b^-1)|0;m=k-b&3;if(m){c=0;while(1){x[x[e+92>>2]+(b<<2)>>2]=0;b=b+1|0;c=c+1|0;if((m|0)!=(c|0)){continue}break}}if(d>>>0<3){break g}while(1){c=b<<2;x[c+x[e+92>>2]>>2]=0;x[(c+x[e+92>>2]|0)+4>>2]=0;x[(c+x[e+92>>2]|0)+8>>2]=0;x[(c+x[e+92>>2]|0)+12>>2]=0;b=b+4|0;if((k|0)!=(b|0)){continue}break}}x[e+84>>2]=k;if((k|0)>0){j=0;while(1){d=x[e+40>>2];j:{if(d){break j}b=x[e+36>>2];k:{if(b){x[e+36>>2]=x[b+8>>2];d=x[b>>2];break k}x[8456]=x[8456]+1;b=ia[x[8258]](12,16)|0;c=x[e+44>>2];x[b+8>>2]=0;x[b+4>>2]=c;x[8456]=x[8456]+1;d=ia[x[8258]](D(c,112),16)|0;x[b>>2]=d;x[b+8>>2]=x[e+32>>2];x[e+32>>2]=b}s=x[b+4>>2];if((s|0)<=0){break j}o=0;m=0;c=d;if(s>>>0>=4){p=s&-4;l=0;b=d;g=0;while(1){c=b+448|0;m=l+4|0;x[b+336>>2]=(s|0)>(m|0)?c:0;x[b+224>>2]=(s|0)>(l|3)?b+336|0:0;x[b+112>>2]=(s|0)>(l|2)?b+224|0:0;x[b>>2]=(s|0)>(l|1)?b+112|0:0;l=m;b=c;g=g+4|0;if((p|0)!=(g|0)){continue}break}}b=s&3;if(!b){break j}while(1){l=c;c=c+112|0;m=m+1|0;x[l>>2]=(s|0)>(m|0)?c:0;o=o+1|0;if((b|0)!=(o|0)){continue}break}}x[e+40>>2]=x[d>>2];x[d+16>>2]=0;x[d+8>>2]=0;x[d+12>>2]=0;x[d>>2]=0;x[d+4>>2]=0;x[d+104>>2]=-1;b=x[h+40>>2]+(j<<4)|0;c=x[b+4>>2];x[d+88>>2]=x[b>>2];x[d+92>>2]=c;c=x[b+12>>2];x[d+96>>2]=x[b+8>>2];x[d+100>>2]=c;x[x[e+92>>2]+(j<<2)>>2]=d;j=j+1|0;if((k|0)!=(j|0)){continue}break}}b=x[h+40>>2];if(!(b?!b|!y[h+44|0]:1)){x[8457]=x[8457]+1;ia[x[8259]](b)}x[h+40>>2]=0;v[h+44|0]=1;x[h+32>>2]=0;x[h+36>>2]=0;x[e+116>>2]=0;x[e+120>>2]=0;x[e+60>>2]=D(k,6);x[e+56>>2]=0;x[e+100>>2]=-3;x[e+52>>2]=x[e+48>>2];x[h+16>>2]=0;x[h+20>>2]=0;x[h+8>>2]=0;x[h+12>>2]=0;rc(e,0,k,h+8|0);x[e+124>>2]=x[h+8>>2];b=x[h+40>>2];if(!(b?!b|!y[h+44|0]:1)){x[8457]=x[8457]+1;ia[x[8259]](b)}ga=h+48|0;if((x[a+4>>2]&x[a+8>>2])<0){b=x[a+12>>2];if(!(b?!b|!y[a+16|0]:1)){x[8457]=x[8457]+1;ia[x[8259]](b)}v[a+16|0]=1;x[a+8>>2]=0;x[a+12>>2]=0}x[a+4>>2]=0;b=x[a+24>>2];l:{if((b|0)>=0){break l}if(x[a+28>>2]<0){c=x[a+32>>2];if(!(c?!c|!y[a+36|0]:1)){x[8457]=x[8457]+1;ia[x[8259]](c)}v[a+36|0]=1;x[a+28>>2]=0;x[a+32>>2]=0}c=b;m=0-b&3;if(m){while(1){d=x[a+32>>2]+D(c,12)|0;x[d>>2]=0;x[d+4>>2]=0;x[d+8>>2]=0;c=c+1|0;f=f+1|0;if((m|0)!=(f|0)){continue}break}}if(b>>>0>4294967292){break l}while(1){b=D(c,12);d=b+x[a+32>>2]|0;x[d>>2]=0;x[d+4>>2]=0;x[d+8>>2]=0;d=b+x[a+32>>2]|0;x[d+20>>2]=0;x[d+12>>2]=0;x[d+16>>2]=0;d=b+x[a+32>>2]|0;x[d+32>>2]=0;x[d+24>>2]=0;x[d+28>>2]=0;b=b+x[a+32>>2]|0;x[b+44>>2]=0;x[b+36>>2]=0;x[b+40>>2]=0;c=c+4|0;if(c){continue}break}}x[a+24>>2]=0;c=x[a+44>>2];if((c|0)<0){b=x[a+52>>2];if(x[a+48>>2]<0){if(!(b?!b|!y[a+56|0]:1)){x[8457]=x[8457]+1;ia[x[8259]](b)}v[a+56|0]=1;x[a+48>>2]=0;x[a+52>>2]=0;b=0}d=b;b=c<<2;ua(d+b|0,0,0-b|0)}x[a+44>>2]=0;b=x[i+140>>2];m:{if(x[b+104>>2]>=0){break m}x[b+104>>2]=0;x[8456]=x[8456]+1;k=ia[x[8258]](4,16)|0;x[k>>2]=b;c=0;m=1;e=1;while(1){s=c;d=ga-16|0;ga=d;n:{o:{p:{q:{o=x[(c<<2)+k>>2];b=o;r:{if(x[b+100>>2]>=0){B[d+(x[i+124>>2]<<2)>>2]=x[b+88>>2];break r}n=Va(b+24|0);c=b+72|0;r=Va(c);f=x[b+100>>2];B[d+(x[i+124>>2]<<2)>>2]=n/r;if((f|0)<0){break q}}B[d+(x[i+128>>2]<<2)>>2]=x[b+92>>2];break p}n=Va(b+40|0);r=Va(c);c=x[b+100>>2];B[d+(x[i+128>>2]<<2)>>2]=n/r;if((c|0)<0){break o}}n=E(x[b+96>>2]);break n}n=E(Va(b+56|0)/Va(b+72|0))}B[d+(x[i+120>>2]<<2)>>2]=n;n=B[i+36>>2];r=B[i+40>>2];t=B[i+32>>2];u=B[i+16>>2];z=B[i+20>>2];A=B[i+24>>2];C=B[d>>2];G=B[d+4>>2];H=B[d+8>>2];x[i+12>>2]=0;B[i+8>>2]=r+E(H*A);B[i+4>>2]=n+E(G*z);B[i>>2]=t+E(C*u);ga=d+16|0;f=x[a+4>>2];s:{if((f|0)!=x[a+8>>2]){break s}l=f?f<<1:1;if((l|0)<=(f|0)){break s}t:{if(!l){d=0;break t}x[8456]=x[8456]+1;d=ia[x[8258]](l<<4,16)|0;f=x[a+4>>2]}u:{if((f|0)<=0){break u}c=0;if((f|0)!=1){p=f&-2;b=0;while(1){h=c<<4;j=h+d|0;g=h+x[a+12>>2]|0;q=x[g+4>>2];x[j>>2]=x[g>>2];x[j+4>>2]=q;q=x[g+12>>2];x[j+8>>2]=x[g+8>>2];x[j+12>>2]=q;g=h|16;h=g+d|0;g=g+x[a+12>>2]|0;j=x[g+4>>2];x[h>>2]=x[g>>2];x[h+4>>2]=j;j=x[g+12>>2];x[h+8>>2]=x[g+8>>2];x[h+12>>2]=j;c=c+2|0;b=b+2|0;if((p|0)!=(b|0)){continue}break}}if(!(f&1)){break u}c=c<<4;b=c+d|0;c=c+x[a+12>>2]|0;f=x[c+4>>2];x[b>>2]=x[c>>2];x[b+4>>2]=f;f=x[c+12>>2];x[b+8>>2]=x[c+8>>2];x[b+12>>2]=f}b=x[a+12>>2];if(!(b?!b|!y[a+16|0]:1)){x[8457]=x[8457]+1;ia[x[8259]](b)}x[a+12>>2]=d;v[a+16|0]=1;x[a+8>>2]=l;f=x[a+4>>2]}c=x[i+4>>2];b=x[a+12>>2]+(f<<4)|0;x[b>>2]=x[i>>2];x[b+4>>2]=c;c=x[i+12>>2];x[b+8>>2]=x[i+8>>2];x[b+12>>2]=c;x[a+4>>2]=x[a+4>>2]+1;b=-1;l=-1;K=x[o+8>>2];c=K;if(c){while(1){if(x[c+20>>2]<0){h=x[a+24>>2];f=h;v:{if((h|0)!=x[a+28>>2]){break v}o=f?h<<1:1;if((o|0)<=(f|0)){break v}w:{if(!o){j=0;d=h;break w}x[8456]=x[8456]+1;j=ia[x[8258]](D(o,12),16)|0;d=x[a+24>>2]}x:{if((d|0)<=0){break x}f=0;if((d|0)!=1){I=d&-2;g=0;while(1){q=D(f,12);p=q+x[a+32>>2]|0;w=x[p+4>>2];q=j+q|0;x[q>>2]=x[p>>2];x[q+4>>2]=w;x[q+8>>2]=x[p+8>>2];q=D(f|1,12);p=q+x[a+32>>2]|0;w=x[p+4>>2];q=j+q|0;x[q>>2]=x[p>>2];x[q+4>>2]=w;x[q+8>>2]=x[p+8>>2];f=f+2|0;g=g+2|0;if((I|0)!=(g|0)){continue}break}}if(!(d&1)){break x}f=D(f,12);d=f+x[a+32>>2]|0;g=x[d+4>>2];f=f+j|0;x[f>>2]=x[d>>2];x[f+4>>2]=g;x[f+8>>2]=x[d+8>>2]}d=x[a+32>>2];if(!(d?!d|!y[a+36|0]:1)){x[8457]=x[8457]+1;ia[x[8259]](d)}x[a+32>>2]=j;v[a+36|0]=1;x[a+28>>2]=o;f=x[a+24>>2]}d=x[a+32>>2]+D(f,12)|0;x[d>>2]=0;x[d+4>>2]=0;x[d+8>>2]=0;g=x[a+24>>2]+1|0;x[a+24>>2]=g;y:{if(x[a+28>>2]!=(g|0)){break y}d=g?g<<1:1;if((d|0)<=(g|0)){break y}z:{if(!d){j=0;break z}x[8456]=x[8456]+1;j=ia[x[8258]](D(d,12),16)|0;g=x[a+24>>2]}A:{if((g|0)<=0){break A}q=g&1;f=0;if((g|0)!=1){I=g&-2;g=0;while(1){p=D(f,12);o=p+x[a+32>>2]|0;w=x[o+4>>2];p=j+p|0;x[p>>2]=x[o>>2];x[p+4>>2]=w;x[p+8>>2]=x[o+8>>2];p=D(f|1,12);o=p+x[a+32>>2]|0;w=x[o+4>>2];p=j+p|0;x[p>>2]=x[o>>2];x[p+4>>2]=w;x[p+8>>2]=x[o+8>>2];f=f+2|0;g=g+2|0;if((I|0)!=(g|0)){continue}break}}if(!q){break A}g=D(f,12);f=g+x[a+32>>2]|0;o=x[f+4>>2];g=g+j|0;x[g>>2]=x[f>>2];x[g+4>>2]=o;x[g+8>>2]=x[f+8>>2]}f=x[a+32>>2];if(!(f?!f|!y[a+36|0]:1)){x[8457]=x[8457]+1;ia[x[8259]](f)}x[a+32>>2]=j;v[a+36|0]=1;x[a+28>>2]=d;g=x[a+24>>2]}d=x[a+32>>2]+D(g,12)|0;x[d>>2]=0;x[d+4>>2]=0;x[d+8>>2]=0;x[a+24>>2]=x[a+24>>2]+1;o=x[a+32>>2];x[c+20>>2]=h;w=h+1|0;x[x[c+8>>2]+20>>2]=w;p=D(h,12)+o|0;x[p+16>>2]=-1;x[p+4>>2]=1;q=x[c+12>>2];d=x[q+104>>2];B:{if((d|0)>=0){f=m;m=d;break B}x[q+104>>2]=m;C:{D:{if((e|0)!=(m|0)){break D}g=e?e<<1:1;if((g|0)<=(e|0)){break D}if(g){x[8456]=x[8456]+1;d=ia[x[8258]](g<<2,16)|0}else{d=0}E:{if((e|0)>0){I=0;f=0;if(e>>>0>=4){L=e&-4;h=0;while(1){j=f<<2;x[j+d>>2]=x[j+k>>2];J=j|4;x[J+d>>2]=x[k+J>>2];J=j|8;x[J+d>>2]=x[k+J>>2];j=j|12;x[j+d>>2]=x[j+k>>2];f=f+4|0;h=h+4|0;if((L|0)!=(h|0)){continue}break}}e=e&3;if(!e){break E}while(1){h=f<<2;x[h+d>>2]=x[h+k>>2];f=f+1|0;I=I+1|0;if((e|0)!=(I|0)){continue}break}break E}if(!k){break C}}if(k){x[8457]=x[8457]+1;ia[x[8259]](k)}break C}d=k;g=e}x[(m<<2)+d>>2]=q;f=m+1|0;k=d;e=g}x[p+8>>2]=m;x[(D(w,12)+o|0)+8>>2]=s;m=f}f=x[c+20>>2];d=f;if((b|0)>=0){x[x[a+32>>2]+D(f,12)>>2]=b-f;d=l}b=f;l=d;c=x[c>>2];if((K|0)!=(c|0)){continue}break}x[x[a+32>>2]+D(l,12)>>2]=b-l}c=s+1|0;if((m|0)>(c|0)){continue}break}h=0;while(1){o=x[x[(h<<2)+k>>2]+8>>2];f=o;if(f){while(1){c=x[f+20>>2];if((c|0)>=0){j=x[a+44>>2];F:{if((j|0)!=x[a+48>>2]){break F}e=j?j<<1:1;if((e|0)<=(j|0)){break F}G:{if(!e){d=0;break G}x[8456]=x[8456]+1;d=ia[x[8258]](e<<2,16)|0;j=x[a+44>>2]}b=x[a+52>>2];H:{I:{if((j|0)>0){g=0;c=0;if(j>>>0>=4){p=j&-4;l=0;while(1){m=c<<2;x[m+d>>2]=x[b+m>>2];q=m|4;x[q+d>>2]=x[b+q>>2];q=m|8;x[q+d>>2]=x[b+q>>2];m=m|12;x[m+d>>2]=x[b+m>>2];c=c+4|0;l=l+4|0;if((p|0)!=(l|0)){continue}break}}m=j&3;if(!m){break I}while(1){l=c<<2;x[l+d>>2]=x[b+l>>2];c=c+1|0;g=g+1|0;if((m|0)!=(g|0)){continue}break}break I}if(!b){break H}}if(b?y[a+56|0]:0){x[8457]=x[8457]+1;ia[x[8259]](b)}j=x[a+44>>2]}x[a+52>>2]=d;v[a+56|0]=1;x[a+48>>2]=e;c=x[f+20>>2]}x[x[a+52>>2]+(j<<2)>>2]=c;x[a+44>>2]=x[a+44>>2]+1;c=f;while(1){x[c+20>>2]=-1;c=x[x[c+8>>2]+4>>2];if((f|0)!=(c|0)){continue}break}}f=x[f>>2];if((o|0)!=(f|0)){continue}break}}b=(h|0)==(s|0);h=h+1|0;if(!b){continue}break}if(!k){break m}if(k){x[8457]=x[8457]+1;ia[x[8259]](k)}}a=x[i+108>>2];if(!(a?!a|!y[i+112|0]:1)){x[8457]=x[8457]+1;ia[x[8259]](a)}x[i+108>>2]=0;v[i+112|0]=1;x[i+100>>2]=0;x[i+104>>2]=0;while(1){a=x[i+80>>2];if(a){x[i+80>>2]=x[a+8>>2];b=x[a>>2];if(b){x[8457]=x[8457]+1;ia[x[8259]](b)}if(a){x[8457]=x[8457]+1;ia[x[8259]](a)}continue}break}while(1){a=x[i+64>>2];if(a){x[i+64>>2]=x[a+8>>2];b=x[a>>2];if(b){x[8457]=x[8457]+1;ia[x[8259]](b)}if(a){x[8457]=x[8457]+1;ia[x[8259]](a)}continue}break}while(1){a=x[i+48>>2];if(!a){break a}x[i+48>>2]=x[a+8>>2];b=x[a>>2];if(b){x[8457]=x[8457]+1;ia[x[8259]](b)}if(a){x[8457]=x[8457]+1;ia[x[8259]](a)}continue}}ga=i+144|0}function wc(a,b,c){var d=0,e=0,f=E(0),g=0,h=0,i=0,j=0,k=E(0),l=0,m=0,n=E(0),o=E(0),p=0,q=E(0),r=E(0),s=E(0),t=0,u=E(0),A=0,C=E(0),D=E(0),F=0,G=0,H=0,I=E(0),J=0,K=0,L=E(0),M=0,N=0,O=0,P=E(0),Q=E(0);l=ga-32|0;ga=l;H=x[a+56>>2];a:{if((c-b|0)==1){b:{if(y[a+60|0]){b=x[a+116>>2]+(b<<4)|0;e=x[b+4>>2];c=x[a+136>>2]+(H<<4)|0;x[c>>2]=x[b>>2];x[c+4>>2]=e;break b}b=x[a+76>>2]+(b<<6)|0;e=x[b+4>>2];c=x[a+96>>2]+(H<<6)|0;x[c>>2]=x[b>>2];x[c+4>>2]=e;e=x[b+60>>2];x[c+56>>2]=x[b+56>>2];x[c+60>>2]=e;e=x[b+52>>2];x[c+48>>2]=x[b+48>>2];x[c+52>>2]=e;e=x[b+44>>2];x[c+40>>2]=x[b+40>>2];x[c+44>>2]=e;e=x[b+36>>2];x[c+32>>2]=x[b+32>>2];x[c+36>>2]=e;e=x[b+28>>2];x[c+24>>2]=x[b+24>>2];x[c+28>>2]=e;e=x[b+20>>2];x[c+16>>2]=x[b+16>>2];x[c+20>>2]=e}e=x[b+12>>2];x[c+8>>2]=x[b+8>>2];x[c+12>>2]=e;x[a+56>>2]=x[a+56>>2]+1;break a}p=c;e=b;g=c-e|0;c:{d:{e:{if((e|0)>=(c|0)){L=E(g|0);break e}f:{if(!y[a+60|0]){d=x[a+76>>2];c=b;while(1){h=d+(c<<6)|0;D=E(D+E(E(B[h+16>>2]+B[h>>2])*E(.5)));r=E(r+E(E(B[h+24>>2]+B[h+8>>2])*E(.5)));s=E(s+E(E(B[h+20>>2]+B[h+4>>2])*E(.5)));c=c+1|0;if((p|0)!=(c|0)){continue}break}break f}u=B[a+12>>2];o=B[a+8>>2];q=B[a+44>>2];k=B[a+40>>2];d=x[a+116>>2];n=B[a+4>>2];f=B[a+36>>2];c=b;while(1){h=d+(c<<4)|0;D=E(D+E(E(E(E(E(z[h+6>>1])/f)+n)+E(E(E(z[h>>1])/f)+n))*E(.5)));r=E(r+E(E(E(E(E(z[h+10>>1])/q)+u)+E(E(E(z[h+4>>1])/q)+u))*E(.5)));s=E(s+E(E(E(E(E(z[h+8>>1])/k)+o)+E(E(E(z[h+2>>1])/k)+o))*E(.5)));c=c+1|0;if((p|0)!=(c|0)){continue}break}}L=E(g|0);if((e|0)<(p|0)){break d}}r=E(0);s=E(0);break c}f=E(E(1)/L);P=E(f*r);Q=E(f*s);D=E(f*D);s=E(0);if(!y[a+60|0]){c=x[a+76>>2];r=E(0);while(1){d=c+(e<<6)|0;f=E(E(E(B[d+16>>2]+B[d>>2])*E(.5))-D);C=E(C+E(f*f));f=E(E(E(B[d+24>>2]+B[d+8>>2])*E(.5))-P);s=E(s+E(f*f));f=E(E(E(B[d+20>>2]+B[d+4>>2])*E(.5))-Q);r=E(r+E(f*f));e=e+1|0;if((p|0)!=(e|0)){continue}break}break c}I=B[a+12>>2];u=B[a+8>>2];o=B[a+44>>2];q=B[a+40>>2];c=x[a+116>>2];k=B[a+4>>2];n=B[a+36>>2];r=E(0);while(1){d=c+(e<<4)|0;f=E(E(E(E(E(E(z[d+6>>1])/n)+k)+E(E(E(z[d>>1])/n)+k))*E(.5))-D);C=E(C+E(f*f));f=E(E(E(E(E(E(z[d+10>>1])/o)+I)+E(E(E(z[d+4>>1])/o)+I))*E(.5))-P);s=E(s+E(f*f));f=E(E(E(E(E(E(z[d+8>>1])/q)+u)+E(E(E(z[d+2>>1])/q)+u))*E(.5))-Q);r=E(r+E(f*f));e=e+1|0;if((p|0)!=(e|0)){continue}break}}k=E(E(1)/E(L+E(-1)));n=E(k*C);f=E(k*r);c=n(c?f:n)?2:c;r=E(0);s=E(0);C=E(0);i=ga-96|0;x[i+28>>2]=0;A=p-b|0;d=(b|0)>=(p|0);g:{if(d){break g}if(!y[a+60|0]){e=x[a+76>>2];c=b;while(1){h=e+(c<<6)|0;C=E(E(E(B[h+16>>2]+B[h>>2])*E(.5))+C);r=E(E(E(B[h+24>>2]+B[h+8>>2])*E(.5))+r);s=E(E(E(B[h+20>>2]+B[h+4>>2])*E(.5))+s);c=c+1|0;if((p|0)!=(c|0)){continue}break}break g}u=B[a+12>>2];o=B[a+8>>2];q=B[a+44>>2];k=B[a+40>>2];e=x[a+116>>2];n=B[a+4>>2];f=B[a+36>>2];c=b;while(1){h=e+(c<<4)|0;C=E(E(E(E(E(E(z[h+6>>1])/f)+n)+E(E(E(z[h>>1])/f)+n))*E(.5))+C);r=E(E(E(E(E(E(z[h+10>>1])/q)+u)+E(E(E(z[h+4>>1])/q)+u))*E(.5))+r);s=E(E(E(E(E(E(z[h+8>>1])/k)+o)+E(E(E(z[h+2>>1])/k)+o))*E(.5))+s);c=c+1|0;if((p|0)!=(c|0)){continue}break}}f=E(E(1)/E(A|0));B[i+24>>2]=f*r;B[i+20>>2]=f*s;B[i+16>>2]=f*C;e=b;if(!d){c=g<<2;I=B[c+(i+16|0)>>2];m=c+i|0;c=b;while(1){d=y[a+60|0];h:{if(d){g=x[a+116>>2]+(c<<4)|0;u=B[a+44>>2];o=B[a+12>>2];r=E(E(E(z[g+4>>1])/u)+o);q=B[a+40>>2];k=B[a+8>>2];s=E(E(E(z[g+2>>1])/q)+k);n=B[a+36>>2];f=B[a+4>>2];C=E(E(E(z[g>>1])/n)+f);D=E(E(E(z[g+10>>1])/u)+o);L=E(E(E(z[g+8>>1])/q)+k);f=E(E(E(z[g+6>>1])/n)+f);break h}g=x[a+76>>2]+(c<<6)|0;r=B[g+8>>2];s=B[g+4>>2];C=B[g>>2];D=B[g+24>>2];L=B[g+20>>2];f=B[g+16>>2]}x[i+12>>2]=0;B[i+8>>2]=E(D+r)*E(.5);B[i+4>>2]=E(L+s)*E(.5);B[i>>2]=E(f+C)*E(.5);if(I>2]){i:{if(d){g=x[a+116>>2];t=g+(c<<4)|0;h=t;d=x[h+12>>2];x[i+40>>2]=x[h+8>>2];x[i+44>>2]=d;d=x[h+4>>2];x[i+32>>2]=x[h>>2];x[i+36>>2]=d;h=g;g=e<<4;h=h+g|0;d=x[h+4>>2];x[t>>2]=x[h>>2];x[t+4>>2]=d;d=x[h+12>>2];x[t+8>>2]=x[h+8>>2];x[t+12>>2]=d;d=x[i+36>>2];g=g+x[a+116>>2]|0;x[g>>2]=x[i+32>>2];x[g+4>>2]=d;d=x[i+44>>2];x[g+8>>2]=x[i+40>>2];x[g+12>>2]=d;break i}h=x[a+76>>2];j=h+(c<<6)|0;d=x[j+60>>2];x[i+88>>2]=x[j+56>>2];x[i+92>>2]=d;d=x[j+52>>2];x[i+80>>2]=x[j+48>>2];x[i+84>>2]=d;d=x[j+44>>2];x[i+72>>2]=x[j+40>>2];x[i+76>>2]=d;d=x[j+36>>2];t=i- -64|0;g=t;x[g>>2]=x[j+32>>2];x[g+4>>2]=d;d=x[j+28>>2];x[i+56>>2]=x[j+24>>2];x[i+60>>2]=d;d=x[j+20>>2];x[i+48>>2]=x[j+16>>2];x[i+52>>2]=d;d=x[j+12>>2];x[i+40>>2]=x[j+8>>2];x[i+44>>2]=d;d=x[j+4>>2];x[i+32>>2]=x[j>>2];x[i+36>>2]=d;g=e<<6;h=g+h|0;d=x[h+4>>2];x[j>>2]=x[h>>2];x[j+4>>2]=d;d=x[h+12>>2];x[j+8>>2]=x[h+8>>2];x[j+12>>2]=d;d=x[h+20>>2];x[j+16>>2]=x[h+16>>2];x[j+20>>2]=d;d=x[h+28>>2];x[j+24>>2]=x[h+24>>2];x[j+28>>2]=d;d=x[h+36>>2];x[j+32>>2]=x[h+32>>2];x[j+36>>2]=d;d=x[h+44>>2];x[j+40>>2]=x[h+40>>2];x[j+44>>2]=d;d=x[h+52>>2];x[j+48>>2]=x[h+48>>2];x[j+52>>2]=d;d=x[h+60>>2];x[j+56>>2]=x[h+56>>2];x[j+60>>2]=d;d=x[i+36>>2];g=g+x[a+76>>2]|0;x[g>>2]=x[i+32>>2];x[g+4>>2]=d;d=x[i+44>>2];x[g+8>>2]=x[i+40>>2];x[g+12>>2]=d;d=x[i+52>>2];x[g+16>>2]=x[i+48>>2];x[g+20>>2]=d;d=x[i+60>>2];x[g+24>>2]=x[i+56>>2];x[g+28>>2]=d;d=x[t+4>>2];x[g+32>>2]=x[t>>2];x[g+36>>2]=d;d=x[i+76>>2];x[g+40>>2]=x[i+72>>2];x[g+44>>2]=d;d=x[i+84>>2];x[g+48>>2]=x[i+80>>2];x[g+52>>2]=d;d=x[i+92>>2];x[g+56>>2]=x[i+88>>2];x[g+60>>2]=d}e=e+1|0}c=c+1|0;if((p|0)!=(c|0)){continue}break}}c=(A>>1)+b|0;g=c;c=(A|0)/3|0;j=(b+c|0)>=(e|0)?g:(p+(c^-1)|0)<=(e|0)?g:e;M=x[a+56>>2];j:{if(y[a+60|0]){u=B[a+40>>2];o=B[a+8>>2];q=B[a+24>>2];k=B[a+44>>2];n=B[a+12>>2];f=B[a+28>>2];c=x[a+136>>2]+(M<<4)|0;I=E(E(B[a+20>>2]-B[a+4>>2])*B[a+36>>2]);k:{if(I=E(0)){e=~~I>>>0;break k}e=0}w[c>>1]=e&65534;f=E(E(f-n)*k);l:{if(f=E(0)){e=~~f>>>0;break l}e=0}w[c+4>>1]=e&65534;f=E(E(q-o)*u);m:{if(f=E(0)){e=~~f>>>0;break m}e=0}w[c+2>>1]=e&65534;break j}c=x[a+24>>2];e=x[a+96>>2]+(M<<6)|0;x[e>>2]=x[a+20>>2];x[e+4>>2]=c;c=x[a+32>>2];x[e+8>>2]=x[a+28>>2];x[e+12>>2]=c}c=x[a+56>>2];n:{if(y[a+60|0]){k=B[a+40>>2];o=B[a+8>>2];n=B[a+44>>2];q=B[a+12>>2];c=x[a+136>>2]+(c<<4)|0;f=B[a+4>>2];f=E(E(E(f-f)*B[a+36>>2])+E(1));o:{if(f=E(0)){e=~~f>>>0;break o}e=0}w[c+6>>1]=e|1;f=E(E(E(q-q)*n)+E(1));p:{if(f=E(0)){e=~~f>>>0;break p}e=0}w[c+10>>1]=e|1;f=E(E(E(o-o)*k)+E(1));q:{if(f=E(0)){e=~~f>>>0;break q}e=0}w[c+8>>1]=e|1;break n}e=x[a+96>>2]+(c<<6)|0;c=x[a+8>>2];x[e+16>>2]=x[a+4>>2];x[e+20>>2]=c;c=x[a+16>>2];x[e+24>>2]=x[a+12>>2];x[e+28>>2]=c}if((b|0)<(p|0)){c=b;while(1){r:{if(y[a+60|0]){h=x[a+116>>2]+(c<<4)|0;g=z[h+4>>1];d=z[h+2>>1];e=z[h>>1];u=B[a+44>>2];o=B[a+40>>2];q=B[a+36>>2];x[l+28>>2]=0;k=B[a+4>>2];B[l+16>>2]=E(E(e>>>0)/q)+k;n=B[a+8>>2];B[l+20>>2]=E(E(d>>>0)/o)+n;f=B[a+12>>2];B[l+24>>2]=E(E(g>>>0)/u)+f;g=z[h+6>>1];d=z[h+8>>1];e=z[h+10>>1];x[l+12>>2]=0;B[l+8>>2]=f+E(E(e>>>0)/u);B[l+4>>2]=n+E(E(d>>>0)/o);B[l>>2]=k+E(E(g>>>0)/q);break r}d=x[a+76>>2]+(c<<6)|0;e=x[d+12>>2];x[l+24>>2]=x[d+8>>2];x[l+28>>2]=e;e=x[d+4>>2];x[l+16>>2]=x[d>>2];x[l+20>>2]=e;e=x[d+28>>2];x[l+8>>2]=x[d+24>>2];x[l+12>>2]=e;e=x[d+20>>2];x[l>>2]=x[d+16>>2];x[l+4>>2]=e}F=x[a+56>>2];s:{if(y[a+60|0]){q=B[a+12>>2];k=B[a+44>>2];f=E(E(B[l+24>>2]-q)*k);t:{if(f=E(0)){m=~~f>>>0;break t}m=0}n=B[a+8>>2];f=B[a+40>>2];o=E(E(B[l+20>>2]-n)*f);u:{if(o=E(0)){h=~~o>>>0;break u}h=0}k=E(E(k*E(B[l+8>>2]-q))+E(1));v:{if(k=E(0)){g=~~k>>>0;break v}g=0}f=E(E(f*E(B[l+4>>2]-n))+E(1));w:{if(f=E(0)){d=~~f>>>0;break w}d=0}n=B[a+4>>2];f=B[a+36>>2];k=E(E(B[l+16>>2]-n)*f);x:{if(k=E(0)){e=~~k>>>0;break x}e=0}A=e&65534;i=x[a+136>>2];G=i+(F<<4)|0;t=A>>>0>=z[G>>1];f=E(E(f*E(B[l>>2]-n))+E(1));y:{if(f=E(0)){e=~~f>>>0;break y}e=0}if(!t){w[G>>1]=A}e=e|1;t=i+(F<<4)|0;if(e>>>0>z[t+6>>1]){w[t+6>>1]=e}e=h&65534;if(e>>>0>1]){w[G+2>>1]=e}e=d|1;h=i+(F<<4)|0;if(e>>>0>z[h+8>>1]){w[h+8>>1]=e}e=m&65534;if(e>>>0>1]){w[G+4>>1]=e}e=g|1;d=i+(F<<4)|0;if(e>>>0<=z[d+10>>1]){break s}w[d+10>>1]=e;break s}f=B[l+16>>2];e=x[a+96>>2];d=e+(F<<6)|0;if(f>2]){B[d>>2]=f}f=B[l+20>>2];if(f>2]){B[d+4>>2]=f}f=B[l+24>>2];if(f>2]){B[d+8>>2]=f}f=B[l+28>>2];if(f>2]){B[d+12>>2]=f}f=B[l>>2];e=e+(F<<6)|0;if(f>B[e+16>>2]){B[e+16>>2]=f}f=B[l+4>>2];if(f>B[e+20>>2]){B[e+20>>2]=f}f=B[l+8>>2];if(f>B[e+24>>2]){B[e+24>>2]=f}f=B[l+12>>2];if(!(f>B[e+28>>2])){break s}B[e+28>>2]=f}c=c+1|0;if((p|0)!=(c|0)){continue}break}}N=x[a+56>>2]+1|0;x[a+56>>2]=N;wc(a,b,j);F=x[a+56>>2];wc(a,j,p);c=y[a+60|0];G=x[a+56>>2]-H|0;if(!(!c|(G|0)<129)){p=0;H=x[a+136>>2];i=H+(F<<4)|0;b=x[i+12>>2];t=(b|0)>=0?1:0-b|0;j=H+(N<<4)|0;b=x[j+12>>2];h=(b|0)>=0?1:0-b|0;if(h>>>0<=128){e=x[a+152>>2];c=e;z:{if((c|0)!=x[a+156>>2]){break z}A=c?e<<1:1;if((A|0)<=(c|0)){break z}if(A){x[8456]=x[8456]+1;O=ia[x[8258]](A<<5,16)|0;b=x[a+152>>2]}else{b=e}A:{if((b|0)<=0){break A}if((b|0)!=1){g=b&-2;while(1){m=J<<5;d=m+O|0;K=x[a+160>>2]+m|0;c=x[K+4>>2];x[d>>2]=x[K>>2];x[d+4>>2]=c;c=x[K+28>>2];x[d+24>>2]=x[K+24>>2];x[d+28>>2]=c;c=x[K+20>>2];x[d+16>>2]=x[K+16>>2];x[d+20>>2]=c;c=x[K+12>>2];x[d+8>>2]=x[K+8>>2];x[d+12>>2]=c;c=m|32;d=c+O|0;m=c+x[a+160>>2]|0;c=x[m+4>>2];x[d>>2]=x[m>>2];x[d+4>>2]=c;c=x[m+12>>2];x[d+8>>2]=x[m+8>>2];x[d+12>>2]=c;c=x[m+20>>2];x[d+16>>2]=x[m+16>>2];x[d+20>>2]=c;c=x[m+28>>2];x[d+24>>2]=x[m+24>>2];x[d+28>>2]=c;J=J+2|0;p=p+2|0;if((g|0)!=(p|0)){continue}break}}if(!(b&1)){break A}b=J<<5;c=b+O|0;d=b+x[a+160>>2]|0;b=x[d+4>>2];x[c>>2]=x[d>>2];x[c+4>>2]=b;b=x[d+28>>2];x[c+24>>2]=x[d+24>>2];x[c+28>>2]=b;b=x[d+20>>2];x[c+16>>2]=x[d+16>>2];x[c+20>>2]=b;b=x[d+12>>2];x[c+8>>2]=x[d+8>>2];x[c+12>>2]=b}b=x[a+160>>2];if(!(b?!b|!y[a+164|0]:1)){x[8457]=x[8457]+1;ia[x[8259]](b)}x[a+160>>2]=O;v[a+164|0]=1;x[a+156>>2]=A;c=x[a+152>>2]}x[a+152>>2]=c+1;c=x[a+160>>2]+(e<<5)|0;w[c>>1]=z[j>>1];w[c+2>>1]=z[j+2>>1];w[c+4>>1]=z[j+4>>1];b=H+(N<<4)|0;w[c+6>>1]=z[b+6>>1];w[c+8>>1]=z[b+8>>1];b=z[b+10>>1];x[c+16>>2]=h;x[c+12>>2]=N;w[c+10>>1]=b}if((t|0)<=128){e=x[a+152>>2];c=e;B:{if((c|0)!=x[a+156>>2]){break B}A=c?e<<1:1;if((A|0)<=(c|0)){break B}C:{if(!A){b=0;c=e;break C}x[8456]=x[8456]+1;b=ia[x[8258]](A<<5,16)|0;c=x[a+152>>2]}D:{if((c|0)<=0){break D}J=0;if((c|0)!=1){h=c&-2;p=0;while(1){m=J<<5;g=m+b|0;j=m+x[a+160>>2]|0;d=x[j+4>>2];x[g>>2]=x[j>>2];x[g+4>>2]=d;d=x[j+28>>2];x[g+24>>2]=x[j+24>>2];x[g+28>>2]=d;d=x[j+20>>2];x[g+16>>2]=x[j+16>>2];x[g+20>>2]=d;d=x[j+12>>2];x[g+8>>2]=x[j+8>>2];x[g+12>>2]=d;d=m|32;g=d+b|0;m=d+x[a+160>>2]|0;d=x[m+4>>2];x[g>>2]=x[m>>2];x[g+4>>2]=d;d=x[m+12>>2];x[g+8>>2]=x[m+8>>2];x[g+12>>2]=d;d=x[m+20>>2];x[g+16>>2]=x[m+16>>2];x[g+20>>2]=d;d=x[m+28>>2];x[g+24>>2]=x[m+24>>2];x[g+28>>2]=d;J=J+2|0;p=p+2|0;if((h|0)!=(p|0)){continue}break}}if(!(c&1)){break D}c=J<<5;d=c+b|0;g=c+x[a+160>>2]|0;c=x[g+4>>2];x[d>>2]=x[g>>2];x[d+4>>2]=c;c=x[g+28>>2];x[d+24>>2]=x[g+24>>2];x[d+28>>2]=c;c=x[g+20>>2];x[d+16>>2]=x[g+16>>2];x[d+20>>2]=c;c=x[g+12>>2];x[d+8>>2]=x[g+8>>2];x[d+12>>2]=c}c=x[a+160>>2];if(!(c?!c|!y[a+164|0]:1)){x[8457]=x[8457]+1;ia[x[8259]](c)}x[a+160>>2]=b;v[a+164|0]=1;x[a+156>>2]=A;c=x[a+152>>2]}x[a+152>>2]=c+1;c=x[a+160>>2]+(e<<5)|0;w[c>>1]=z[i>>1];w[c+2>>1]=z[i+2>>1];w[c+4>>1]=z[i+4>>1];b=H+(F<<4)|0;w[c+6>>1]=z[b+6>>1];w[c+8>>1]=z[b+8>>1];b=z[b+10>>1];x[c+16>>2]=t;x[c+12>>2]=F;w[c+10>>1]=b}x[a+168>>2]=x[a+152>>2];c=y[a+60|0]}if(c&255){x[(x[a+136>>2]+(M<<4)|0)+12>>2]=0-G;break a}x[(x[a+96>>2]+(M<<6)|0)+32>>2]=G}ga=l+32|0}function rc(a,b,c,d){var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,y=0,z=0,A=0,B=0,C=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0;u=ga-16|0;ga=u;a:{b:{c:{d:{e:{f=c-b|0;switch(f|0){case 1:break c;case 2:break d;case 0:break e;default:break b}}x[d>>2]=0;x[d+4>>2]=0;x[d+8>>2]=0;x[d+12>>2]=0;break a}c=x[x[a+92>>2]+(b<<2)>>2];b=c+112|0;f:{g=x[c+88>>2];j=x[c+200>>2];k=(g|0)!=(j|0);f=x[c+204>>2];e=x[c+92>>2];g:{if(!(k|(f|0)!=(e|0))){if(x[c+96>>2]==x[c+208>>2]){break f}e=x[c+96>>2]>x[c+208>>2];f=(e?112:0)+c|0;x[f>>2]=f;f=e?b:c;x[f+4>>2]=f;x[d+4>>2]=f;x[d>>2]=f;b=e?c:b;e=f;c=e;break g}x[c+4>>2]=b;x[c>>2]=b;x[c+116>>2]=c;x[c+112>>2]=c;s=(e|0)<(f|0);i=s&(g|0)==(j|0);g=(g|0)<(j|0);j=i|g;x[d+4>>2]=j?b:c;x[d>>2]=j?c:b;f=s|g&(k&(e|0)==(f|0));e=f?b:c;f=f?c:b}x[d+12>>2]=e;x[d+8>>2]=f;a=sc(a,c,b);x[a+4>>2]=a;x[a>>2]=a;x[c+8>>2]=a;a=x[a+8>>2];x[a+4>>2]=a;x[a>>2]=a;x[b+8>>2]=a;break a}x[c+8>>2]=0;x[c+4>>2]=c;x[c>>2]=c;x[d+12>>2]=c;x[d+8>>2]=c;x[d+4>>2]=c;x[d>>2]=c;break a}a=x[x[a+92>>2]+(b<<2)>>2];x[a+8>>2]=0;x[a+4>>2]=a;x[a>>2]=a;x[d+12>>2]=a;x[d+8>>2]=a;x[d+4>>2]=a;x[d>>2]=a;break a}e=((f|0)/2|0)+b|0;f=e;h:{if((e|0)>=(c|0)){break h}j=x[a+92>>2];f=x[(j+(e<<2)|0)-4>>2];k=x[f+88>>2];s=x[f+96>>2];i=x[f+92>>2];f=e;while(1){g=x[j+(f<<2)>>2];if((k|0)!=x[g+88>>2]|(i|0)!=x[g+92>>2]|(s|0)!=x[g+96>>2]){break h}f=f+1|0;if((f|0)<(c|0)){continue}break}f=c}rc(a,b,e,d);x[u+8>>2]=0;x[u+12>>2]=0;x[u>>2]=0;x[u+4>>2]=0;rc(a,f,c,u);o=a;c=0;h=ga-128|0;ga=h;i:{if(!x[u+4>>2]){break i}if(!x[d+4>>2]){a=x[u+4>>2];x[d>>2]=x[u>>2];x[d+4>>2]=a;a=x[u+12>>2];x[d+8>>2]=x[u+8>>2];x[d+12>>2]=a;break i}x[o+100>>2]=x[o+100>>2]-1;x[h+124>>2]=0;x[h+120>>2]=0;k=0;i=d;a=x[d+12>>2];j=x[u+8>>2];j:{k:{l:{if(x[a+88>>2]!=x[j+88>>2]|x[a+92>>2]!=x[j+92>>2]){break l}d=x[j+4>>2];if((d|0)==(j|0)){x[h+124>>2]=a;b=x[j+8>>2];a=0;if(!b){break k}x[h+120>>2]=x[b+12>>2];a=0;break j}a=x[j>>2];x[d>>2]=a;x[a+4>>2]=d;if(x[u>>2]==(j|0)){g=u;f=x[a+88>>2];e=x[d+88>>2];b=a;m:{if((f|0)<(e|0)){break m}if((e|0)==(f|0)){b=a;if(x[a+92>>2]>2]){break m}}b=d}x[g>>2]=b}if(x[u+4>>2]!=(j|0)){break l}b=x[a+88>>2];f=x[d+88>>2];x[u+4>>2]=(b|0)>(f|0)|(b|0)==(f|0)&x[a+92>>2]>x[d+92>>2]?a:d}m=x[u>>2];w=x[i>>2];C=x[i+4>>2];a=C;A=x[u+4>>2];d=A;j=0;s=1;while(1){l=x[a+88>>2];f=D(x[d+88>>2]-l|0,s);n:{if((f|0)>0){while(1){b=d;g=x[d+92>>2];e=f;while(1){o:{f=x[a+92>>2];l=g-f|0;d=x[(t?a:a+4|0)>>2];if((d|0)==(a|0)){break o}p=x[d+92>>2]-f|0;if((p|0)>0){break o}n=x[d+88>>2];f=D(n-x[a+88>>2]|0,s);if((D(e,p)|0)>(D(f,l)|0)|(f|0)>=0?f:0){break o}e=D(x[b+88>>2]-n|0,s);a=d;continue}break}d=x[(t?b:b+4|0)>>2];if((d|0)==(b|0)){break n}p=x[d+88>>2];f=D(p-x[a+88>>2]|0,s);if((f|0)<=0){break n}n=x[d+92>>2]-g|0;if((n|0)>=0){break n}g=D(p-x[b+88>>2]|0,s);if(!g){continue}if((g|0)>=0){break n}if((D(e,n)|0)<(D(g,l)|0)){continue}break n}}p:{if((f|0)<0){q:while(1){l=x[d+92>>2];b=x[(t?d+4|0:d)>>2];while(1){g=f;e=a;n=x[a+92>>2];p=l-n|0;r:{if((b|0)==(d|0)){break r}f=x[b+92>>2]-l|0;if((f|0)<0){break r}q=x[b+88>>2];a=D(q-x[d+88>>2]|0,s);if((D(f,g)|0)>(D(a,p)|0)|(a|0)>=0?a:0){break r}f=D(q-x[e+88>>2]|0,s);d=b;a=e;continue q}a=x[(t?e+4|0:e)>>2];if((e|0)==(a|0)){break p}q=x[a+88>>2];f=D(x[d+88>>2]-q|0,s);if((f|0)>=0){break p}B=x[a+92>>2]-n|0;if((B|0)<=0){break p}n=D(q-x[e+88>>2]|0,s);if(!n){continue}if((n|0)>=0){break p}if((D(g,B)|0)<(D(n,p)|0)){continue}break}break p}}e=x[a+92>>2];f=a;s:{if(!t){while(1){g=f;f=x[f+4>>2];if((f|0)==(a|0)|(l|0)!=x[f+88>>2]){break s}b=e;e=x[f+92>>2];if((b|0)>=(e|0)){continue}break s}}while(1){g=f;f=x[f>>2];if((f|0)==(a|0)|(l|0)!=x[f+88>>2]){break s}b=e;e=x[f+92>>2];if((b|0)>=(e|0)){continue}break}}f=x[d+92>>2];e=d;a=d;t:{if(!t){while(1){b=e;e=x[e>>2];if((e|0)==(d|0)|(l|0)!=x[e+88>>2]){break t}a=f;f=x[e+92>>2];if((a|0)<=(f|0)){continue}break t}}while(1){b=a;a=x[a+4>>2];if((d|0)==(a|0)|(l|0)!=x[a+88>>2]){break t}e=f;f=x[a+92>>2];if((e|0)<=(f|0)){continue}break}}a=g;break n}b=d;a=e}if(!t){s=-1;j=b;k=a;a=w;b=m}d=b;t=t+1|0;if((t|0)!=2){continue}break}x[a+4>>2]=d;x[d>>2]=a;x[k>>2]=j;x[j+4>>2]=k;if(x[m+88>>2]>2]){x[i>>2]=m}if(x[A+88>>2]>=x[C+88>>2]){x[i+4>>2]=A}x[i+12>>2]=x[u+12>>2];x[h+124>>2]=k;a=1}x[h+120>>2]=j}w=x[h+120>>2];u:{if(a){A=x[h+124>>2];i=x[A+96>>2];n=x[w+96>>2];p=x[A+92>>2];j=x[w+92>>2];d=x[A+8>>2];q=x[A+88>>2];C=x[w+88>>2];x[h+80>>2]=0;a=n-i|0;g=a>>31;b=j-p|0;m=b>>31;k=js(a,g,b,m);B=ha;e=C-q|0;f=0-e|0;l=f>>31;e=js(f,l,e,e>>31);t=ha;F=js(b,m,b,m);s=e-F|0;F=t-(ha+(e>>>0>>0)|0)|0;a=js(f,l,a,g);t=0-a|0;G=0-(ha+((a|0)!=0)|0)|0;if(d){a=d;while(1){r=x[a+12>>2];v=x[r+92>>2];e=v-p|0;g=e;z=e>>31;y=js(e,z,f,l);E=ha;K=x[r+88>>2];e=K-q|0;L=e>>31;I=js(b,m,e,L);v:{if((y|0)!=(0-I|0)|(0-(ha+((I|0)!=0)|0)|0)!=(E|0)){break v}g=js(k,B,g,z);z=ha;y=js(t,G,e,L);g=y+g|0;e=ha+z|0;e=g>>>0>>0?e+1|0:e;I=g;z=x[r+96>>2];g=z-i|0;y=js(s,F,g,g>>31);r=I+y|0;g=ha+e|0;g=r>>>0>>0?g+1|0:g;if(!r&(g|0)<=0|(g|0)<0){break v}w:{if(!c){break w}e=x[c+4>>2];if(x[c>>2]==(a|0)){if((a|0)!=(e|0)){break v}e=x[c+12>>2];g=x[x[a+8>>2]+12>>2];y=x[g+96>>2];r=x[e+96>>2]-y|0;E=x[g+92>>2];z=z-y|0;v=D(r,E-v|0)+D(z,x[e+92>>2]-E|0)|0;v=js(v,v>>31,b,m);y=ha;g=x[g+88>>2];e=D(z,g-x[e+88>>2]|0)+D(r,K-g|0)|0;r=js(e,e>>31,f,l);e=r+v|0;g=ha+y|0;g=e>>>0>>0?g+1|0:g;if(!e&(g|0)<=0|(g|0)<0){break w}break v}if((a|0)!=(e|0)){break v}}c=a}a=x[a>>2];if((d|0)!=(a|0)){continue}break}x[h+80>>2]=c}e=x[w+8>>2];d=0;x[h+56>>2]=0;if(e){a=e;while(1){p=x[a+12>>2];q=x[p+92>>2];g=q-j|0;i=g;r=g>>31;v=js(g,r,f,l);z=ha;y=x[p+88>>2];g=y-C|0;E=g>>31;K=js(b,m,g,E);x:{if((v|0)!=(0-K|0)|(0-(ha+((K|0)!=0)|0)|0)!=(z|0)){break x}i=js(k,B,i,r);r=ha;v=js(t,G,g,E);i=v+i|0;g=ha+r|0;g=i>>>0>>0?g+1|0:g;I=i;r=x[p+96>>2];i=r-n|0;p=js(s,F,i,i>>31);i=I+p|0;g=ha+g|0;g=i>>>0

>>0?g+1|0:g;if(!i&(g|0)<=0|(g|0)<0){break x}y:{if(!d){break y}if(x[d>>2]!=(a|0)){break x}if(x[d+4>>2]!=(a|0)){break y}g=x[d+12>>2];i=x[x[a+8>>2]+12>>2];v=x[i+96>>2];p=x[g+96>>2]-v|0;z=x[i+92>>2];r=r-v|0;q=D(p,z-q|0)+D(r,x[g+92>>2]-z|0)|0;q=js(q,q>>31,b,m);v=ha;i=x[i+88>>2];g=D(r,i-x[g+88>>2]|0)+D(p,y-i|0)|0;p=js(g,g>>31,f,l);i=p+q|0;g=ha+v|0;g=i>>>0

>>0?g+1|0:g;if(!i&(g|0)<=0|(g|0)<0){break x}}d=a}a=x[a>>2];if((e|0)!=(a|0)){continue}break}x[h+56>>2]=d}z:{if(!(c|d)){break z}Yd(o,A,w,h+80|0,h+56|0);a=x[h+80>>2];if(a){A=x[a+12>>2];x[h+124>>2]=A}a=x[h+56>>2];if(!a){break z}w=x[a+12>>2];x[h+120>>2]=w;n=x[w+96>>2];j=x[w+92>>2];C=x[w+88>>2]}a=n+1|0;break u}C=x[w+88>>2]+1|0;j=x[w+92>>2];A=x[h+124>>2];a=x[w+96>>2]}p=a;a=A;f=w;i=0;g=0;s=0;k=1;c=0;b=0;t=0;while(1){n=x[f+96>>2];d=x[a+96>>2];e=x[a+92>>2];l=x[f+92>>2];m=x[a+88>>2];q=x[f+88>>2];x[h+116>>2]=-1;l=l-e|0;x[h+108>>2]=l;n=n-d|0;x[h+112>>2]=n;q=q-m|0;x[h+104>>2]=q;G=j-e|0;e=p-d|0;d=D(G,n)-D(e,l)|0;B=d>>31;x[h+80>>2]=d;x[h+84>>2]=B;m=C-m|0;e=D(e,q)-D(m,n)|0;F=e>>31;x[h+88>>2]=e;x[h+92>>2]=F;m=D(l,m)-D(q,G)|0;G=m>>31;x[h+96>>2]=m;x[h+100>>2]=G;v=q>>31;r=js(e,F,q,v);z=ha;y=l>>31;E=js(d,B,l,y);x[h+72>>2]=r-E;x[h+76>>2]=z-(ha+(r>>>0>>0)|0);I=B;B=n>>31;d=js(d,I,n,B);r=ha;q=js(m,G,q,v);x[h+64>>2]=d-q;x[h+68>>2]=r-(ha+(d>>>0>>0)|0);d=js(l,y,m,G);m=ha;e=js(e,F,n,B);x[h+56>>2]=d-e;x[h+60>>2]=m-(ha+(d>>>0>>0)|0);x[h+48>>2]=0;x[h+40>>2]=0;x[h+44>>2]=0;x[h+32>>2]=0;x[h+36>>2]=0;d=h+104|0;e=h+80|0;m=h+56|0;l=Xd(o,0,a,d,e,m,h+32|0);x[h+24>>2]=0;x[h+16>>2]=0;x[h+20>>2]=0;x[h+8>>2]=0;x[h+12>>2]=0;m=Xd(o,1,f,d,e,m,h+8|0);if(!(m|l)){b=sc(o,a,f);x[b+4>>2]=b;x[b>>2]=b;x[a+8>>2]=b;a=x[b+8>>2];x[a+4>>2]=a;x[a>>2]=a;x[f+8>>2]=a;break i}n=l?-1:1;if(!(!l|!m)){n=ab(h+32|0,h+8|0)}A:{B:{C:{if(k&1){break C}if((n|0)>=0){if(x[h+16>>2]|x[h+20>>2]|x[h+24>>2]>=0){break C}k=i;f=g;e=c;d=b;break B}if(x[h+40>>2]|x[h+44>>2]|x[h+48>>2]>=0){break C}x[h+4>>2]=l;e=c;d=b;break A}e=sc(o,a,f);d=e;if(c){x[c+4>>2]=e;d=b}x[e>>2]=c;k=x[e+8>>2];f=k;if(i){x[i>>2]=k;f=g}x[k+4>>2]=i}x[h+4>>2]=l;x[h>>2]=m;c=m;if(!n){Yd(o,x[h+124>>2],x[h+120>>2],h+4|0,h);c=x[h>>2]}if(!(!c|(n|0)<0)){D:{E:{if(H){a=x[H>>2];if((m|0)!=(a|0)){while(1){i=x[a+8>>2];b=0;j=0;g=x[a>>2];if((g|0)!=(a|0)){x[g+4>>2]=x[a+4>>2];x[x[a+4>>2]>>2]=g;j=g}x[x[i+12>>2]+8>>2]=j;j=x[i>>2];if((j|0)!=(i|0)){x[j+4>>2]=x[i+4>>2];x[x[i+4>>2]>>2]=j;b=j}x[x[a+12>>2]+8>>2]=b;x[a+16>>2]=0;x[a+8>>2]=0;x[a+12>>2]=0;x[a>>2]=0;x[a+4>>2]=0;x[a>>2]=x[o+56>>2];x[o+56>>2]=a;x[i+16>>2]=0;x[i+8>>2]=0;x[i+12>>2]=0;x[i>>2]=0;x[i+4>>2]=0;x[i>>2]=x[o+56>>2];x[o+56>>2]=i;x[o+116>>2]=x[o+116>>2]-1;a=g;if((m|0)!=(a|0)){continue}break}}if(k){break E}break D}if(!k){s=m;break D}H=x[m+4>>2];s=f}x[H>>2]=f;x[f+4>>2]=H;x[k>>2]=m;x[m+4>>2]=k;c=x[h>>2];f=0}g=f;a=x[h+120>>2];p=x[a+96>>2];j=x[a+92>>2];C=x[a+88>>2];x[h+120>>2]=x[c+12>>2];H=x[c+8>>2];i=0;break A}i=k;g=f}F:{G:{if((n|0)<=0){n=x[h+4>>2];if(n){break G}}a=x[h+124>>2];break F}H:{I:{if(J){a=x[J+4>>2];if((l|0)!=(a|0)){while(1){k=x[a+8>>2];j=x[a+4>>2];b=0;c=0;f=x[a>>2];if((f|0)!=(a|0)){x[f+4>>2]=j;x[x[a+4>>2]>>2]=f;c=f}x[x[k+12>>2]+8>>2]=c;c=x[k>>2];if((c|0)!=(k|0)){x[c+4>>2]=x[k+4>>2];x[x[k+4>>2]>>2]=c;b=c}x[x[a+12>>2]+8>>2]=b;x[a+16>>2]=0;x[a+8>>2]=0;x[a+12>>2]=0;x[a>>2]=0;x[a+4>>2]=0;x[a>>2]=x[o+56>>2];x[o+56>>2]=a;x[k+16>>2]=0;x[k+8>>2]=0;x[k+12>>2]=0;x[k>>2]=0;x[k+4>>2]=0;x[k>>2]=x[o+56>>2];x[o+56>>2]=k;x[o+116>>2]=x[o+116>>2]-1;a=j;if((l|0)!=(a|0)){continue}break}}if(!e){break H}x[d>>2]=J;a=J+4|0;break I}if(!e){t=l;break H}a=x[l>>2];x[d>>2]=a;t=d;a=a+4|0}x[a>>2]=d;x[l>>2]=e;x[e+4>>2]=l;d=0;n=x[h+4>>2]}a=x[h+124>>2];p=x[a+96>>2];j=x[a+92>>2];C=x[a+88>>2];a=x[n+12>>2];x[h+124>>2]=a;J=x[n+8>>2];e=0}f=x[h+120>>2];if((a|0)!=(A|0)|(w|0)!=(f|0)){k=0;c=e;b=d;continue}else{J:{if(!J){x[d>>2]=e;x[e+4>>2]=d;x[x[h+124>>2]+8>>2]=e;break J}a=x[J+4>>2];if((t|0)!=(a|0)){while(1){k=x[a+8>>2];f=x[a+4>>2];b=0;c=x[a>>2];if((c|0)!=(a|0)){x[c+4>>2]=f;x[x[a+4>>2]>>2]=c;b=c}x[x[k+12>>2]+8>>2]=b;j=x[k>>2];K:{if((k|0)==(j|0)){j=0;break K}x[j+4>>2]=x[k+4>>2];x[x[k+4>>2]>>2]=j}x[x[a+12>>2]+8>>2]=j;x[a+16>>2]=0;x[a+8>>2]=0;x[a+12>>2]=0;x[a>>2]=0;x[a+4>>2]=0;x[a>>2]=x[o+56>>2];x[o+56>>2]=a;x[k+16>>2]=0;x[k+8>>2]=0;x[k+12>>2]=0;x[k>>2]=0;x[k+4>>2]=0;x[k>>2]=x[o+56>>2];x[o+56>>2]=k;x[o+116>>2]=x[o+116>>2]-1;a=f;if((t|0)!=(a|0)){continue}break}}if(!e){break J}x[d>>2]=J;x[J+4>>2]=d;x[t>>2]=e;x[e+4>>2]=t}if(!H){x[i>>2]=g;x[g+4>>2]=i;x[x[h+120>>2]+8>>2]=i;break i}a=x[H>>2];if((s|0)!=(a|0)){while(1){c=x[a+8>>2];j=0;b=x[a>>2];if((b|0)!=(a|0)){x[b+4>>2]=x[a+4>>2];x[x[a+4>>2]>>2]=b;j=b}x[x[c+12>>2]+8>>2]=j;j=x[c>>2];L:{if((c|0)==(j|0)){j=0;break L}x[j+4>>2]=x[c+4>>2];x[x[c+4>>2]>>2]=j}x[x[a+12>>2]+8>>2]=j;x[a+16>>2]=0;x[a+8>>2]=0;x[a+12>>2]=0;x[a>>2]=0;x[a+4>>2]=0;x[a>>2]=x[o+56>>2];x[o+56>>2]=a;x[c+16>>2]=0;x[c+8>>2]=0;x[c+12>>2]=0;x[c>>2]=0;x[c+4>>2]=0;x[c>>2]=x[o+56>>2];x[o+56>>2]=c;x[o+116>>2]=x[o+116>>2]-1;a=b;if((s|0)!=(a|0)){continue}break}}if(!i){break i}x[H>>2]=g;x[g+4>>2]=H;x[i>>2]=s;x[s+4>>2]=i}break}}ga=h+128|0}ga=u+16|0}function Gd(a){var b=0,c=0,d=0,e=E(0),f=E(0),g=0,h=E(0),i=E(0),j=E(0),k=0,l=E(0),m=E(0),n=E(0),o=E(0),p=E(0),q=E(0),r=E(0),s=0,t=E(0),u=E(0),w=E(0),z=E(0),A=E(0),C=E(0),D=0,F=0,G=0,H=E(0),I=E(0),J=0,K=E(0),L=E(0),M=E(0),N=E(0),O=E(0),P=E(0),Q=E(0),R=E(0),S=E(0),T=E(0),U=E(0),V=0,W=0,X=0,Y=0,Z=E(0),_=E(0),$=0;k=ga-16|0;ga=k;a:{if(!y[a+356|0]){c=y[a+312|0];break a}v[a+356|0]=0;v[a+352|0]=0;x[a+344>>2]=0;x[a+348>>2]=0;x[a+336>>2]=0;x[a+340>>2]=0;d=y[a+332|0]&-16;v[a+332|0]=d;b=a+316|0;b:{c:{switch(x[a>>2]-1|0){case 0:c=x[a+168>>2];x[a+260>>2]=x[a+164>>2];x[a+264>>2]=c;c=x[a+88>>2];x[a+244>>2]=x[a+84>>2];x[a+248>>2]=c;c=x[a+176>>2];x[a+268>>2]=x[a+172>>2];x[a+272>>2]=c;c=x[a+96>>2];x[a+252>>2]=x[a+92>>2];x[a+256>>2]=c;v[a+352|0]=0;x[a+288>>2]=0;B[a+280>>2]=B[a+248>>2]-B[a+264>>2];B[a+276>>2]=B[a+244>>2]-B[a+260>>2];B[a+284>>2]=B[a+252>>2]-B[a+268>>2];x[a+344>>2]=0;x[a+348>>2]=0;x[a+336>>2]=1065353216;x[a+340>>2]=0;c=1;break b;case 1:g=1;j=B[a+8>>2];e=E(B[a+24>>2]-j);i=B[a+12>>2];h=E(B[a+28>>2]-i);m=E(h*E(E(0)-i));l=B[a+4>>2];i=E(B[a+20>>2]-l);j=E(m+E(E(i*E(E(0)-l))+E(E(E(0)-j)*e)));b=j>E(0);c=1;d:{if(!b){break d}f=E(E(h*h)+E(E(i*i)+E(e*e)));if(!(f>j)){f=E(1);c=2;break d}f=E(j/f);c=3}x[a+344>>2]=0;x[a+348>>2]=0;B[a+340>>2]=f;j=E(E(1)-f);B[a+336>>2]=j;v[a+332|0]=d|c;x[a+256>>2]=0;e=B[a+92>>2];l=E(e+E(f*E(B[a+108>>2]-e)));B[a+252>>2]=l;e=B[a+88>>2];n=E(e+E(f*E(B[a+104>>2]-e)));B[a+248>>2]=n;e=B[a+84>>2];o=E(e+E(f*E(B[a+100>>2]-e)));B[a+244>>2]=o;m=B[a+180>>2];q=B[a+184>>2];e=B[a+168>>2];r=B[a+188>>2];h=B[a+172>>2];i=B[a+164>>2];x[a+288>>2]=0;h=E(h+E(f*E(r-h)));B[a+284>>2]=l-h;e=E(e+E(f*E(q-e)));B[a+280>>2]=n-e;i=E(i+E(f*E(m-i)));B[a+276>>2]=o-i;x[a+272>>2]=0;B[a+268>>2]=h;B[a+264>>2]=e;B[a+260>>2]=i;if(!b){x[a>>2]=1;g=0}if(!(c&1)){x[a>>2]=g;c=(g<<4)+a|0;b=x[c+16>>2];x[a+12>>2]=x[c+12>>2];x[a+16>>2]=b;b=x[c+8>>2];x[a+4>>2]=x[c+4>>2];x[a+8>>2]=b;b=x[c+96>>2];x[a+92>>2]=x[c+92>>2];x[a+96>>2]=b;b=x[c+88>>2];x[a+84>>2]=x[c+84>>2];x[a+88>>2]=b;b=x[c+176>>2];x[a+172>>2]=x[c+172>>2];x[a+176>>2]=b;b=x[c+168>>2];x[a+164>>2]=x[c+164>>2];x[a+168>>2]=b}c=j>=E(0)&f>=E(0);break b;case 2:x[k+8>>2]=0;x[k+12>>2]=0;x[k>>2]=0;x[k+4>>2]=0;fb(k,a+4|0,a+20|0,a+36|0,b);x[a+256>>2]=0;f=B[a+336>>2];e=B[a+340>>2];h=B[a+344>>2];i=E(E(E(f*B[a+92>>2])+E(e*B[a+108>>2]))+E(h*B[a+124>>2]));B[a+252>>2]=i;j=E(E(E(f*B[a+88>>2])+E(e*B[a+104>>2]))+E(h*B[a+120>>2]));B[a+248>>2]=j;l=E(E(E(f*B[a+84>>2])+E(e*B[a+100>>2]))+E(h*B[a+116>>2]));B[a+244>>2]=l;n=B[a+180>>2];o=B[a+196>>2];m=B[a+168>>2];q=B[a+184>>2];r=B[a+200>>2];u=B[a+172>>2];w=B[a+188>>2];z=B[a+204>>2];A=B[a+164>>2];x[a+288>>2]=0;p=i;i=E(E(E(f*u)+E(e*w))+E(h*z));B[a+284>>2]=p-i;p=j;j=E(E(E(f*m)+E(e*q))+E(h*r));B[a+280>>2]=p-j;m=l;l=E(E(E(f*A)+E(e*n))+E(h*o));B[a+276>>2]=m-l;x[a+272>>2]=0;B[a+268>>2]=i;B[a+264>>2]=j;B[a+260>>2]=l;e:{f:{g:{h:{i:{b=x[a>>2];j:{if((b|0)>=4){g=y[a+332|0];if(g&8){c=b;break j}c=b-1|0;x[a>>2]=c;b=(c<<4)+a|0;d=x[b+16>>2];x[a+60>>2]=x[b+12>>2];x[a+64>>2]=d;d=x[b+8>>2];x[a+52>>2]=x[b+4>>2];x[a+56>>2]=d;d=x[b+88>>2];x[a+132>>2]=x[b+84>>2];x[a+136>>2]=d;d=x[b+96>>2];x[a+140>>2]=x[b+92>>2];x[a+144>>2]=d;d=x[b+176>>2];x[a+220>>2]=x[b+172>>2];x[a+224>>2]=d;d=x[b+168>>2];x[a+212>>2]=x[b+164>>2];x[a+216>>2]=d;break j}c=3;if((b|0)!=3){break i}g=y[a+332|0]}if(g&4){break h}c=c-1|0;x[a>>2]=c;b=(c<<4)+a|0;d=x[b+16>>2];x[a+44>>2]=x[b+12>>2];x[a+48>>2]=d;d=x[b+8>>2];x[a+36>>2]=x[b+4>>2];x[a+40>>2]=d;d=x[b+96>>2];x[a+124>>2]=x[b+92>>2];x[a+128>>2]=d;d=x[b+88>>2];x[a+116>>2]=x[b+84>>2];x[a+120>>2]=d;d=x[b+176>>2];x[a+204>>2]=x[b+172>>2];x[a+208>>2]=d;d=x[b+168>>2];x[a+196>>2]=x[b+164>>2];x[a+200>>2]=d;break h}c=2;if((b|0)<2){break g}g=y[a+332|0]}if(g&2){break f}c=c-1|0;x[a>>2]=c;b=(c<<4)+a|0;d=x[b+16>>2];x[a+28>>2]=x[b+12>>2];x[a+32>>2]=d;d=x[b+8>>2];x[a+20>>2]=x[b+4>>2];x[a+24>>2]=d;d=x[b+96>>2];x[a+108>>2]=x[b+92>>2];x[a+112>>2]=d;d=x[b+88>>2];x[a+100>>2]=x[b+84>>2];x[a+104>>2]=d;d=x[b+176>>2];x[a+188>>2]=x[b+172>>2];x[a+192>>2]=d;d=x[b+168>>2];x[a+180>>2]=x[b+164>>2];x[a+184>>2]=d;break f}c=1;if((b|0)!=1){break e}g=y[a+332|0]}if(g&1){break e}c=c-1|0;x[a>>2]=c;c=(c<<4)+a|0;b=x[c+16>>2];x[a+12>>2]=x[c+12>>2];x[a+16>>2]=b;b=x[c+8>>2];x[a+4>>2]=x[c+4>>2];x[a+8>>2]=b;b=x[c+96>>2];x[a+92>>2]=x[c+92>>2];x[a+96>>2]=b;b=x[c+88>>2];x[a+84>>2]=x[c+84>>2];x[a+88>>2]=b;b=x[c+176>>2];x[a+172>>2]=x[c+172>>2];x[a+176>>2]=b;b=x[c+168>>2];x[a+164>>2]=x[c+164>>2];x[a+168>>2]=b}c=0;if(!(h>=E(0))|(!(f>=E(0))|!(e>=E(0)))){break b}c=B[a+348>>2]>=E(0);break b;case 3:break c;default:break b}}x[k+8>>2]=0;x[k+12>>2]=0;x[k>>2]=0;x[k+4>>2]=0;g=ga-48|0;ga=g;v[g+24|0]=0;d=x[k+12>>2];x[b+8>>2]=x[k+8>>2];x[b+12>>2]=d;d=x[k+4>>2];x[b>>2]=x[k>>2];x[b+4>>2]=d;s=y[b+16|0];v[b+16|0]=s|15;Q=B[k+8>>2];d=a+4|0;f=B[d+8>>2];R=E(Q-f);D=a+36|0;p=B[D+8>>2];e=E(p-f);F=a+52|0;t=B[F>>2];h=B[d>>2];i=E(t-h);G=a+20|0;j=B[G+4>>2];l=B[d+4>>2];n=E(j-l);o=B[G>>2];m=E(o-h);K=B[F+4>>2];q=E(K-l);H=E(E(i*n)-E(m*q));L=B[D>>2];r=E(L-h);u=B[G+8>>2];w=E(u-f);U=B[F+8>>2];z=E(U-f);I=E(E(q*w)-E(n*z));M=B[D+4>>2];A=E(M-l);N=E(E(z*m)-E(w*i));C=E(E(e*H)+E(E(r*I)+E(A*N)));O=E(R*H);H=B[k>>2];S=E(H-h);P=E(S*I);I=B[k+4>>2];T=E(I-l);V=E(C*C)>2];e=E(h-Q);f=E(e*e);i=B[g+8>>2];e=E(i-H);l=E(e*e);j=B[g+12>>2];e=E(j-I);e=E(f+E(l+E(e*e)));f=E(34028234663852886e22);if(!(e>2]=B[g+20>>2];B[b+8>>2]=h;B[b+4>>2]=j;B[b>>2]=i;v[b+16|0]=y[g+24|0]&7|s&-16;f=B[g+36>>2];s=x[g+32>>2];J=x[g+28>>2];x[b+32>>2]=0;B[b+28>>2]=f;x[b+20>>2]=J;x[b+24>>2]=s;f=e}m:{if(!W){break m}fb(k,d,D,F,g+8|0);h=B[g+16>>2];e=E(h-B[k+8>>2]);l=E(e*e);i=B[g+8>>2];e=E(i-B[k>>2]);m=E(e*e);j=B[g+12>>2];e=E(j-B[k+4>>2]);e=E(l+E(m+E(e*e)));if(!(e>2]=B[g+20>>2];B[b+8>>2]=h;B[b+4>>2]=j;B[b>>2]=i;s=y[g+24|0];v[b+16|0]=y[b+16|0]&240|(s&1|s<<1&12);s=x[g+36>>2];J=x[g+32>>2];f=B[g+28>>2];x[b+24>>2]=0;x[b+28>>2]=J;x[b+32>>2]=s;B[b+20>>2]=f;f=e}n:{if(!V){break n}fb(k,d,F,G,g+8|0);h=B[g+16>>2];e=E(h-B[k+8>>2]);l=E(e*e);i=B[g+8>>2];e=E(i-B[k>>2]);m=E(e*e);j=B[g+12>>2];e=E(j-B[k+4>>2]);e=E(l+E(m+E(e*e)));if(!(e>2]=B[g+20>>2];B[b+8>>2]=h;B[b+4>>2]=j;B[b>>2]=i;d=y[g+24|0];v[b+16|0]=y[b+16|0]&240|(d&1|d>>>1&2|d<<2&8);f=B[g+36>>2];h=B[g+28>>2];B[b+32>>2]=B[g+32>>2];x[b+28>>2]=0;B[b+24>>2]=f;B[b+20>>2]=h;f=e}$=1;if(!X){break k}fb(k,G,F,D,g+8|0);j=f;f=B[g+16>>2];e=E(f-B[k+8>>2]);l=E(e*e);e=B[g+8>>2];h=E(e-B[k>>2]);m=E(h*h);h=B[g+12>>2];i=E(h-B[k+4>>2]);if(!(j>E(l+E(m+E(i*i))))){break k}B[b+12>>2]=B[g+20>>2];B[b+8>>2]=f;B[b+4>>2]=h;B[b>>2]=e;d=y[g+24|0];v[b+16|0]=y[b+16|0]&240|(d&4|d<<1&2|d<<2&8);f=B[g+36>>2];e=B[g+28>>2];B[b+32>>2]=B[g+32>>2];B[b+28>>2]=f;B[b+24>>2]=e;x[b+20>>2]=0}ga=g+48|0;if($){x[a+256>>2]=0;e=B[a+336>>2];h=B[a+340>>2];i=B[a+344>>2];f=B[a+348>>2];j=E(E(E(E(e*B[a+92>>2])+E(h*B[a+108>>2]))+E(i*B[a+124>>2]))+E(f*B[a+140>>2]));B[a+252>>2]=j;l=E(E(E(E(e*B[a+88>>2])+E(h*B[a+104>>2]))+E(i*B[a+120>>2]))+E(f*B[a+136>>2]));B[a+248>>2]=l;n=E(E(E(E(e*B[a+84>>2])+E(h*B[a+100>>2]))+E(i*B[a+116>>2]))+E(f*B[a+132>>2]));B[a+244>>2]=n;x[a+288>>2]=0;x[a+272>>2]=0;o=E(E(E(E(e*B[a+164>>2])+E(h*B[a+180>>2]))+E(i*B[a+196>>2]))+E(f*B[a+212>>2]));B[a+260>>2]=o;m=E(E(E(E(e*B[a+168>>2])+E(h*B[a+184>>2]))+E(i*B[a+200>>2]))+E(f*B[a+216>>2]));B[a+264>>2]=m;e=E(E(E(E(e*B[a+172>>2])+E(h*B[a+188>>2]))+E(i*B[a+204>>2]))+E(f*B[a+220>>2]));B[a+268>>2]=e;B[a+276>>2]=n-o;B[a+280>>2]=l-m;B[a+284>>2]=j-e;o:{p:{q:{r:{s:{b=x[a>>2];t:{if((b|0)>=4){g=y[a+332|0];if(g&8){c=b;break t}c=b-1|0;x[a>>2]=c;b=(c<<4)+a|0;d=x[b+16>>2];x[a+60>>2]=x[b+12>>2];x[a+64>>2]=d;d=x[b+8>>2];x[a+52>>2]=x[b+4>>2];x[a+56>>2]=d;d=x[b+96>>2];x[a+140>>2]=x[b+92>>2];x[a+144>>2]=d;d=x[b+88>>2];x[a+132>>2]=x[b+84>>2];x[a+136>>2]=d;d=x[b+176>>2];x[a+220>>2]=x[b+172>>2];x[a+224>>2]=d;d=x[b+168>>2];x[a+212>>2]=x[b+164>>2];x[a+216>>2]=d;break t}c=3;if((b|0)!=3){break s}g=y[a+332|0]}if(g&4){break r}c=c-1|0;x[a>>2]=c;b=(c<<4)+a|0;d=x[b+16>>2];x[a+44>>2]=x[b+12>>2];x[a+48>>2]=d;d=x[b+8>>2];x[a+36>>2]=x[b+4>>2];x[a+40>>2]=d;d=x[b+96>>2];x[a+124>>2]=x[b+92>>2];x[a+128>>2]=d;d=x[b+88>>2];x[a+116>>2]=x[b+84>>2];x[a+120>>2]=d;d=x[b+176>>2];x[a+204>>2]=x[b+172>>2];x[a+208>>2]=d;d=x[b+168>>2];x[a+196>>2]=x[b+164>>2];x[a+200>>2]=d;break r}c=2;if((b|0)<2){break q}g=y[a+332|0]}if(g&2){break p}c=c-1|0;x[a>>2]=c;b=(c<<4)+a|0;d=x[b+16>>2];x[a+28>>2]=x[b+12>>2];x[a+32>>2]=d;d=x[b+8>>2];x[a+20>>2]=x[b+4>>2];x[a+24>>2]=d;d=x[b+96>>2];x[a+108>>2]=x[b+92>>2];x[a+112>>2]=d;d=x[b+88>>2];x[a+100>>2]=x[b+84>>2];x[a+104>>2]=d;d=x[b+176>>2];x[a+188>>2]=x[b+172>>2];x[a+192>>2]=d;d=x[b+168>>2];x[a+180>>2]=x[b+164>>2];x[a+184>>2]=d;break p}c=1;if((b|0)!=1){break o}g=y[a+332|0]}if(g&1){break o}c=c-1|0;x[a>>2]=c;c=(c<<4)+a|0;b=x[c+16>>2];x[a+12>>2]=x[c+12>>2];x[a+16>>2]=b;b=x[c+8>>2];x[a+4>>2]=x[c+4>>2];x[a+8>>2]=b;b=x[c+96>>2];x[a+92>>2]=x[c+92>>2];x[a+96>>2]=b;b=x[c+88>>2];x[a+84>>2]=x[c+84>>2];x[a+88>>2]=b;b=x[c+176>>2];x[a+172>>2]=x[c+172>>2];x[a+176>>2]=b;b=x[c+168>>2];x[a+164>>2]=x[c+164>>2];x[a+168>>2]=b}c=B[a+336>>2]>=E(0)&B[a+340>>2]>=E(0)&B[a+344>>2]>=E(0)&f>=E(0);break b}if(y[a+352|0]){break b}x[a+276>>2]=0;x[a+280>>2]=0;c=1;v[a+312|0]=1;x[a+284>>2]=0;x[a+288>>2]=0;break a}v[a+312|0]=c}ga=k+16|0;return(c&255)!=0}function Zd(a){var b=0,c=0,d=0,e=0,f=0,g=0,h=0,i=E(0),j=0,k=0,l=E(0),m=0,n=0,o=E(0),p=0,q=E(0),r=0,s=0,t=E(0),u=0,C=0,G=E(0),H=E(0),I=0,J=E(0),K=E(0),L=0,N=E(0),O=0,P=0,Q=0,R=E(0),S=0,T=E(0),U=E(0),V=E(0),W=E(0),X=E(0),Y=E(0),Z=E(0),_=E(0),$=E(0);g=ga-96|0;ga=g;v[g+52|0]=1;x[g+48>>2]=0;v[g+72|0]=1;x[g+40>>2]=0;x[g+44>>2]=0;x[g+68>>2]=0;v[g+92|0]=1;x[g+60>>2]=0;x[g+64>>2]=0;x[g+88>>2]=0;x[g+80>>2]=0;x[g+84>>2]=0;x[g+28>>2]=0;v[g+32|0]=1;x[g+20>>2]=0;x[g+24>>2]=0;x[a+72>>2]=0;x[a+76>>2]=0;x[a+64>>2]=0;x[a+68>>2]=0;a:{b:{j=x[a+28>>2];if((j|0)>0){while(1){O=D(L,36);P=x[(O+x[a+36>>2]|0)+4>>2];if((P|0)>0){Q=0;while(1){b=x[(x[a+36>>2]+O|0)+12>>2];e=x[b+(Q<<2)>>2];Q=Q+1|0;S=(P|0)==(Q|0);b=x[b+((S?0:Q)<<2)>>2];w[g+14>>1]=b;w[g+12>>1]=e;c=e<<16>>16;d=b<<16>>16;if((c|0)<(d|0)){w[g+14>>1]=e;w[g+12>>1]=b;c=b;d=e}C=d<<16>>16;j=0;n=c<<16>>16;b=n+(d<<16)&x[g+64>>2]-1;c:{if(b>>>0>=A[g+20>>2]){break c}b=x[x[g+28>>2]+(b<<2)>>2];if((b|0)==-1){break c}h=x[g+48>>2];e=x[g+88>>2];while(1){k=b<<2;b=k+e|0;if(!(z[b>>1]==(c&65535)&z[b+2>>1]==(d&65535))){b=x[h+k>>2];if((b|0)!=-1){continue}break c}break}j=k+x[g+68>>2]|0}b=x[a+16>>2];e=b+(C<<4)|0;b=b+(n<<4)|0;i=E(B[e+8>>2]-B[b+8>>2]);R=i;q=E(B[e>>2]-B[b>>2]);o=E(B[e+4>>2]-B[b+4>>2]);i=E(E(1)/E(M(E(E(i*i)+E(E(q*q)+E(o*o))))));G=E(R*i);H=E(o*i);l=E(q*i);c=x[a+48>>2];d:{if((c|0)>0){e=x[a+56>>2];b=0;while(1){d=e+(b<<4)|0;q=B[d+8>>2];i=B[d>>2];o=B[d+4>>2];if(!(+E(F(E(i-l)))>1e-6|+E(F(E(o-H)))>1e-6|+E(F(E(q-G)))>1e-6)|!(+E(F(E(l+i)))>1e-6|+E(F(E(H+o)))>1e-6|+E(F(E(G+q)))>1e-6)){break d}b=b+1|0;if((b|0)!=(c|0)){continue}break}}e:{if(x[a+52>>2]!=(c|0)){break e}r=c?c<<1:1;if((r|0)<=(c|0)){break e}f:{if(!r){d=0;break f}x[8456]=x[8456]+1;d=ia[x[8258]](r<<4,16)|0;c=x[a+48>>2]}g:{if((c|0)<=0){break g}C=c&1;b=0;if((c|0)!=1){n=c&-2;c=0;while(1){k=b<<4;h=k+d|0;p=k+x[a+56>>2]|0;e=x[p+4>>2];x[h>>2]=x[p>>2];x[h+4>>2]=e;e=x[p+12>>2];x[h+8>>2]=x[p+8>>2];x[h+12>>2]=e;e=k|16;h=e+d|0;k=e+x[a+56>>2]|0;e=x[k+4>>2];x[h>>2]=x[k>>2];x[h+4>>2]=e;e=x[k+12>>2];x[h+8>>2]=x[k+8>>2];x[h+12>>2]=e;b=b+2|0;c=c+2|0;if((n|0)!=(c|0)){continue}break}}if(!C){break g}b=b<<4;c=b+d|0;e=b+x[a+56>>2]|0;b=x[e+4>>2];x[c>>2]=x[e>>2];x[c+4>>2]=b;b=x[e+12>>2];x[c+8>>2]=x[e+8>>2];x[c+12>>2]=b}b=x[a+56>>2];if(!(b?!b|!y[a+60|0]:1)){x[8457]=x[8457]+1;ia[x[8259]](b)}x[a+56>>2]=d;v[a+60|0]=1;x[a+52>>2]=r;c=x[a+48>>2]}b=x[a+56>>2]+(c<<4)|0;x[b+12>>2]=0;B[b+8>>2]=G;B[b+4>>2]=H;B[b>>2]=l;x[a+48>>2]=x[a+48>>2]+1}h:{if(j){w[j+2>>1]=L;if(S){break h}continue}w[g+8>>1]=L;w[g+10>>1]=65535;i:{j:{d=w[g+12>>1];k=z[g+14>>1];f=g+16|0;e=x[f+48>>2];I=d+(k<<16)&e-1;k:{if(I>>>0>=A[f+4>>2]){break k}b=x[x[f+12>>2]+(I<<2)>>2];if((b|0)==-1){break k}C=x[f+32>>2];n=x[f+72>>2];h=d&65535;while(1){c=b<<2;d=c+n|0;if((h|0)==z[d>>1]&(k|0)==z[d+2>>1]){break j}b=x[c+C>>2];if((b|0)!=-1){continue}break}}C=x[f+44>>2];b=C;l:{if((e|0)!=(b|0)){break l}b=e;p=b?b<<1:1;if((b|0)>=(p|0)){break l}m:{if(!p){m=0;d=e;break m}x[8456]=x[8456]+1;m=ia[x[8258]](p<<2,16)|0;d=x[f+44>>2]}n:{if((d|0)<=0){break n}r=0;b=0;if(d>>>0>=4){n=d&-4;j=0;while(1){k=b<<2;h=k+m|0;c=k+x[f+52>>2]|0;c=z[c>>1]|z[c+2>>1]<<16;w[h>>1]=c;w[h+2>>1]=c>>>16;c=k|4;h=c+m|0;c=c+x[f+52>>2]|0;c=z[c>>1]|z[c+2>>1]<<16;w[h>>1]=c;w[h+2>>1]=c>>>16;c=k|8;h=c+m|0;c=c+x[f+52>>2]|0;c=z[c>>1]|z[c+2>>1]<<16;w[h>>1]=c;w[h+2>>1]=c>>>16;c=k|12;h=c+m|0;c=c+x[f+52>>2]|0;c=z[c>>1]|z[c+2>>1]<<16;w[h>>1]=c;w[h+2>>1]=c>>>16;b=b+4|0;j=j+4|0;if((n|0)!=(j|0)){continue}break}}h=d&3;if(!h){break n}while(1){d=b<<2;c=d+m|0;d=d+x[f+52>>2]|0;d=z[d>>1]|z[d+2>>1]<<16;w[c>>1]=d;w[c+2>>1]=d>>>16;b=b+1|0;r=r+1|0;if((h|0)!=(r|0)){continue}break}}b=x[f+52>>2];if(!(b?!b|!y[f+56|0]:1)){x[8457]=x[8457]+1;ia[x[8259]](b)}x[f+52>>2]=m;v[f+56|0]=1;x[f+48>>2]=p;b=x[f+44>>2]}d=x[f+52>>2]+(b<<2)|0;b=z[g+8>>1]|z[g+10>>1]<<16;w[d>>1]=b;w[d+2>>1]=b>>>16;x[f+44>>2]=x[f+44>>2]+1;p=x[f- -64>>2];o:{if((p|0)!=x[f+68>>2]){break o}n=p?p<<1:1;if((n|0)<=(p|0)){break o}p:{if(!n){m=0;break p}x[8456]=x[8456]+1;m=ia[x[8258]](n<<2,16)|0;p=x[f+64>>2]}q:{if((p|0)<=0){break q}r=0;b=0;if(p>>>0>=4){h=p&-4;j=0;while(1){k=b<<2;c=k+m|0;d=k+x[f+72>>2]|0;d=z[d>>1]|z[d+2>>1]<<16;w[c>>1]=d;w[c+2>>1]=d>>>16;d=k|4;c=d+m|0;d=d+x[f+72>>2]|0;d=z[d>>1]|z[d+2>>1]<<16;w[c>>1]=d;w[c+2>>1]=d>>>16;d=k|8;c=d+m|0;d=d+x[f+72>>2]|0;d=z[d>>1]|z[d+2>>1]<<16;w[c>>1]=d;w[c+2>>1]=d>>>16;d=k|12;c=d+m|0;d=d+x[f+72>>2]|0;d=z[d>>1]|z[d+2>>1]<<16;w[c>>1]=d;w[c+2>>1]=d>>>16;b=b+4|0;j=j+4|0;if((h|0)!=(j|0)){continue}break}}h=p&3;if(!h){break q}while(1){d=b<<2;c=d+m|0;d=d+x[f+72>>2]|0;d=z[d>>1]|z[d+2>>1]<<16;w[c>>1]=d;w[c+2>>1]=d>>>16;b=b+1|0;r=r+1|0;if((h|0)!=(r|0)){continue}break}}b=x[f+72>>2];if(!(b?!b|!y[f+76|0]:1)){x[8457]=x[8457]+1;ia[x[8259]](b)}x[f+72>>2]=m;v[f+76|0]=1;x[f+68>>2]=n;p=x[f+64>>2]}d=x[f+72>>2]+(p<<2)|0;b=z[g+12>>1]|z[g+14>>1]<<16;w[d>>1]=b;w[d+2>>1]=b>>>16;x[f+64>>2]=x[f+64>>2]+1;if((e|0)>2]){j=0;m=0;p=0;I=0;d=x[f+4>>2];u=x[f+48>>2];r:{if((d|0)>=(u|0)){break r}s:{if((u|0)<=x[f+8>>2]){j=x[f+12>>2];break s}if(u){x[8456]=x[8456]+1;j=ia[x[8258]](u<<2,16)|0;b=x[f+4>>2]}else{b=d}n=x[f+12>>2];t:{u:{if((b|0)>0){if(b>>>0>=4){c=b&-4;while(1){h=m<<2;x[h+j>>2]=x[h+n>>2];e=h|4;x[e+j>>2]=x[e+n>>2];e=h|8;x[e+j>>2]=x[e+n>>2];e=h|12;x[e+j>>2]=x[e+n>>2];m=m+4|0;p=p+4|0;if((c|0)!=(p|0)){continue}break}}e=b&3;if(!e){break u}while(1){b=m<<2;x[b+j>>2]=x[b+n>>2];m=m+1|0;I=I+1|0;if((e|0)!=(I|0)){continue}break}break u}if(n){break u}break t}if(n?y[f+16|0]:0){x[8457]=x[8457]+1;ia[x[8259]](n)}}x[f+12>>2]=j;v[f+16|0]=1;x[f+8>>2]=u}b=d<<2;k=u<<2;ua(b+j|0,0,k-b|0);x[f+4>>2]=u;e=x[f+24>>2];if((e|0)<(u|0)){v:{if((u|0)<=x[f+28>>2]){j=x[f+32>>2];break v}w:{if(!u){j=0;b=e;break w}x[8456]=x[8456]+1;j=ia[x[8258]](k,16)|0;b=x[f+24>>2]}r=x[f+32>>2];x:{if((b|0)>0){I=0;m=0;if(b>>>0>=4){h=b&-4;p=0;while(1){n=m<<2;x[n+j>>2]=x[n+r>>2];c=n|4;x[c+j>>2]=x[c+r>>2];c=n|8;x[c+j>>2]=x[c+r>>2];c=n|12;x[c+j>>2]=x[c+r>>2];m=m+4|0;p=p+4|0;if((h|0)!=(p|0)){continue}break}}c=b&3;if(!c){break x}while(1){b=m<<2;x[b+j>>2]=x[b+r>>2];m=m+1|0;I=I+1|0;if((c|0)!=(I|0)){continue}break}break x}if(r){break x}x[f+32>>2]=j;x[f+28>>2]=u;v[f+36|0]=1;break v}if(r?y[f+36|0]:0){x[8457]=x[8457]+1;ia[x[8259]](r)}x[f+32>>2]=j;v[f+36|0]=1;x[f+28>>2]=u}b=e<<2;ua(b+j|0,0,k-b|0)}x[f+24>>2]=u;if((u|0)>0){ua(x[f+12>>2],255,k);ua(x[f+32>>2],255,k)}if((d|0)<=0){break r}n=x[f+32>>2];h=x[f+72>>2];c=x[f+12>>2];m=0;while(1){e=m<<2;b=e+h|0;b=c+(((z[b+2>>1]<<16)+w[b>>1]&x[f+48>>2]-1)<<2)|0;x[e+n>>2]=x[b>>2];x[b>>2]=m;m=m+1|0;if((d|0)!=(m|0)){continue}break}}I=w[g+12>>1]+(z[g+14>>1]<<16)&x[f+48>>2]-1}b=x[f+12>>2]+(I<<2)|0;x[x[f+32>>2]+(C<<2)>>2]=x[b>>2];x[b>>2]=C;break i}e=x[f+52>>2]+(b<<2)|0;b=z[g+8>>1]|z[g+10>>1]<<16;w[e>>1]=b;w[e+2>>1]=b>>>16}if(!S){continue}}break}j=x[a+28>>2]}L=L+1|0;if((L|0)<(j|0)){continue}break}L=0;d=(j|0)>0;if(d){break b}}i=B[a+72>>2];J=B[a+68>>2];K=B[a+64>>2];break a}O=x[a+16>>2];h=x[a+36>>2];K=B[a+64>>2];J=B[a+68>>2];i=B[a+72>>2];while(1){b=h+D(L,36)|0;k=x[b+4>>2];if((k|0)>=3){C=x[b+12>>2];P=O+(x[C>>2]<<4)|0;c=k-2|0;b=1;while(1){n=O+(x[C+(b<<2)>>2]<<4)|0;W=B[n+8>>2];e=b+1|0;s=O+(x[C+((e|0)%(k|0)<<2)>>2]<<4)|0;X=B[s+8>>2];T=B[P>>2];Y=B[n>>2];Z=E(T-Y);U=B[P+4>>2];_=B[s+4>>2];t=E(U-_);G=B[s>>2];H=E(T-G);l=B[n+4>>2];o=E(U-l);$=E(E(Z*t)-E(H*o));V=B[P+8>>2];q=E(V-X);R=E(o*q);o=E(V-W);t=E(R-E(t*o));R=i;i=E(E(o*H)-E(q*Z));o=E(E(M(E(E($*$)+E(E(t*t)+E(i*i)))))*E(.5));i=E(R+E(E(E(E(V+W)+X)*E(.3333333432674408))*o));B[a+72>>2]=i;J=E(J+E(E(E(_+E(U+l))*E(.3333333432674408))*o));B[a+68>>2]=J;K=E(K+E(E(E(G+E(T+Y))*E(.3333333432674408))*o));B[a+64>>2]=K;N=E(N+o);s=(b|0)==(c|0);b=e;if(!s){continue}break}}L=L+1|0;if((L|0)!=(j|0)){continue}break}s=d}x[a+96>>2]=2139095039;o=E(E(1)/N);G=E(o*i);B[a+72>>2]=G;H=E(o*J);B[a+68>>2]=H;l=E(o*K);B[a+64>>2]=l;q=E(34028234663852886e22);o=E(34028234663852886e22);if(s){e=x[a+36>>2];b=0;while(1){s=e+D(b,36)|0;i=E(F(E(B[s+32>>2]+E(E(G*B[s+28>>2])+E(E(l*B[s+20>>2])+E(H*B[s+24>>2]))))));if(i>2]=i;o=i}b=b+1|0;if((j|0)!=(b|0)){continue}break}}s=x[a+8>>2];y:{if((s|0)<=0){t=E(-34028234663852886e22);i=E(34028234663852886e22);J=E(-34028234663852886e22);K=E(-34028234663852886e22);N=E(34028234663852886e22);break y}e=x[a+16>>2];K=E(-34028234663852886e22);b=0;N=E(34028234663852886e22);J=E(-34028234663852886e22);t=E(-34028234663852886e22);i=E(34028234663852886e22);while(1){d=e+(b<<4)|0;l=B[d+8>>2];K=l>K?l:K;i=i>l?l:i;l=B[d+4>>2];J=l>J?l:J;q=l>2];t=l>t?l:t;N=l>2]=0;l=E(K-i);B[a+124>>2]=l;G=E(J-q);B[a+120>>2]=G;H=E(t-N);B[a+116>>2]=H;x[a+112>>2]=0;B[a+108>>2]=i+K;B[a+104>>2]=q+J;B[a+100>>2]=t+N;e=G>H;s=l>(e?G:H)?2:e;e=s<<2;i=B[e+(a+116|0)>>2];l=E(o/E(1.7320507764816284));B[a+84>>2]=l;B[a+88>>2]=l;B[a+80>>2]=l;d=a+80|0;e=d+e|0;i=E(i*E(.5));B[e>>2]=i;q=E(E(i-l)*E(.0009765625));z:{A:{while(1){if(tc(a)){break A}i=E(i-q);B[e>>2]=i;b=b+1|0;if((b|0)!=1024){continue}break}B[a+84>>2]=l;B[a+88>>2]=l;B[a+80>>2]=l;break z}b=1<>2];b=d+(b<<2)|0;t=B[b>>2];o=E(E(o-l)*E(.0009765625));B[b>>2]=o+t;q=E(o+B[e>>2]);B[e>>2]=q;if(tc(a)){c=0;while(1){i=q;c=c+1|0;if((c|0)==1024){break z}t=B[b>>2];B[b>>2]=o+t;q=E(o+B[e>>2]);B[e>>2]=q;if(tc(a)){continue}break}}B[b>>2]=t;B[e>>2]=i}a=x[g+88>>2];if(!(a?!a|!y[g+92|0]:1)){x[8457]=x[8457]+1;ia[x[8259]](a)}x[g+88>>2]=0;v[g+92|0]=1;x[g+80>>2]=0;x[g+84>>2]=0;a=x[g+68>>2];if(!(a?!a|!y[g+72|0]:1)){x[8457]=x[8457]+1;ia[x[8259]](a)}x[g+68>>2]=0;v[g+72|0]=1;x[g+60>>2]=0;x[g+64>>2]=0;a=x[g+48>>2];if(!(a?!a|!y[g+52|0]:1)){x[8457]=x[8457]+1;ia[x[8259]](a)}x[g+48>>2]=0;v[g+52|0]=1;x[g+40>>2]=0;x[g+44>>2]=0;a=x[g+28>>2];if(!(a?!a|!y[g+32|0]:1)){x[8457]=x[8457]+1;ia[x[8259]](a)}ga=g+96|0}function fc(a,b,c){var d=E(0),e=E(0),f=E(0),g=E(0),h=E(0),i=E(0),j=E(0),k=E(0),l=E(0),m=E(0),n=E(0),o=E(0),p=E(0),q=E(0),r=E(0),s=E(0),t=E(0),u=E(0),w=E(0),y=E(0),z=E(0),A=0,C=0,D=E(0),F=E(0),G=E(0),H=E(0),I=E(0),J=E(0),K=0,L=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=E(0),X=0,Y=E(0);D=B[b+52>>2];F=B[b+56>>2];m=B[a+96>>2];n=B[a+100>>2];o=B[a+104>>2];d=B[b+20>>2];e=B[b+24>>2];p=B[a- -64>>2];q=B[a+80>>2];s=B[a+52>>2];t=B[a+68>>2];u=B[a+84>>2];w=B[a+56>>2];f=B[b+36>>2];y=B[a+72>>2];h=B[b+40>>2];z=B[a+88>>2];G=B[b+48>>2];g=B[b+8>>2];i=B[b>>2];l=B[b+4>>2];k=B[b+16>>2];r=B[a+48>>2];j=B[b+32>>2];x[a+1296>>2]=0;x[a+1280>>2]=0;x[a+1264>>2]=0;x[a+1248>>2]=0;b=a+1276|0;B[b>>2]=E(z*h)+E(E(w*j)+E(y*f));C=a+1272|0;B[C>>2]=E(u*h)+E(E(s*j)+E(t*f));K=a+1268|0;B[K>>2]=E(q*h)+E(E(r*j)+E(p*f));L=a+1260|0;B[L>>2]=E(z*e)+E(E(w*k)+E(y*d));N=a+1256|0;B[N>>2]=E(u*e)+E(E(s*k)+E(t*d));O=a+1252|0;B[O>>2]=E(q*e)+E(E(r*k)+E(p*d));P=a+1244|0;B[P>>2]=E(z*g)+E(E(w*i)+E(l*y));Q=a+1240|0;B[Q>>2]=E(u*g)+E(E(s*i)+E(l*t));B[a+1236>>2]=E(q*g)+E(E(r*i)+E(p*l));R=a+1292|0;B[R>>2]=F+E(E(o*h)+E(E(m*j)+E(f*n)));S=a+1288|0;B[S>>2]=D+E(E(o*e)+E(E(m*k)+E(d*n)));T=a+1284|0;B[T>>2]=G+E(E(o*g)+E(E(m*i)+E(l*n)));D=B[c+52>>2];F=B[c+56>>2];m=B[a+160>>2];n=B[a+164>>2];o=B[a+168>>2];d=B[c+20>>2];e=B[c+24>>2];p=B[a+128>>2];q=B[a+144>>2];s=B[a+116>>2];t=B[a+132>>2];u=B[a+148>>2];w=B[a+120>>2];y=B[a+136>>2];f=B[c+36>>2];z=B[a+152>>2];h=B[c+40>>2];G=B[c+48>>2];g=B[c+8>>2];i=B[c>>2];l=B[c+4>>2];k=B[c+16>>2];r=B[a+112>>2];j=B[c+32>>2];x[a+1360>>2]=0;x[a+1344>>2]=0;x[a+1328>>2]=0;x[a+1312>>2]=0;B[a+1340>>2]=E(z*h)+E(E(w*j)+E(y*f));B[a+1336>>2]=E(u*h)+E(E(s*j)+E(t*f));B[a+1332>>2]=E(q*h)+E(E(r*j)+E(p*f));B[a+1324>>2]=E(z*e)+E(E(w*k)+E(y*d));B[a+1320>>2]=E(u*e)+E(E(s*k)+E(t*d));B[a+1316>>2]=E(q*e)+E(E(r*k)+E(p*d));B[a+1308>>2]=E(z*g)+E(E(w*i)+E(l*y));B[a+1304>>2]=E(u*g)+E(E(s*i)+E(l*t));B[a+1300>>2]=E(q*g)+E(E(r*i)+E(p*l));c=a+1356|0;B[c>>2]=F+E(E(o*h)+E(E(m*j)+E(f*n)));U=a+1352|0;B[U>>2]=D+E(E(o*e)+E(E(m*k)+E(d*n)));V=a+1348|0;B[V>>2]=G+E(E(o*g)+E(E(m*i)+E(l*n)));x[a+1440>>2]=0;f=B[P>>2];i=B[O>>2];l=B[C>>2];k=B[K>>2];j=B[N>>2];e=E(E(i*l)-E(k*j));h=B[a+1236>>2];m=B[b>>2];n=B[L>>2];s=E(E(j*m)-E(l*n));g=B[Q>>2];t=E(E(n*k)-E(m*i));d=E(E(1)/E(E(f*e)+E(E(h*s)+E(g*t))));o=E(B[c>>2]-B[R>>2]);p=E(B[V>>2]-B[T>>2]);q=E(B[U>>2]-B[S>>2]);e=E(E(E(E(E(h*j)-E(i*g))*d)*o)+E(E(E(e*d)*p)+E(q*E(E(E(g*k)-E(l*h))*d))));B[a+1436>>2]=e;h=E(E(E(E(E(f*i)-E(n*h))*d)*o)+E(E(E(t*d)*p)+E(q*E(E(E(h*m)-E(k*f))*d))));B[a+1432>>2]=h;d=E(E(E(E(E(g*n)-E(j*f))*d)*o)+E(E(E(s*d)*p)+E(q*E(E(E(f*l)-E(m*g))*d))));B[a+1428>>2]=d;B[a+940>>2]=d;b=a+924|0;f=E(0);c=a+908|0;g=B[a+680>>2];i=B[a+696>>2];a:{if(g>i){C=c}else{B[c>>2]=d-g;A=3;if(g==i){break a}f=E(d-i);A=4;C=b}B[C>>2]=f}B[a+944>>2]=h;x[a+956>>2]=A;d=B[a+684>>2];f=B[a+700>>2];b:{c:{if(d>f){A=0;d=E(0);C=c;break c}B[a+912>>2]=h-d;A=3;if(d==f){break b}d=E(h-f);A=4;C=b}B[C+4>>2]=d;e=B[a+1436>>2]}B[a+948>>2]=e;x[a+960>>2]=A;d=B[a+688>>2];f=B[a+704>>2];d:{e:{if(d>f){A=0;d=E(0);break e}B[a+916>>2]=e-d;A=3;if(d==f){break d}c=b;A=4;d=E(e-f)}B[c+8>>2]=d}x[a+964>>2]=A;c=ga-48|0;ga=c;o=B[a+1332>>2];p=B[a+1316>>2];q=B[a+1336>>2];s=B[a+1304>>2];t=B[a+1320>>2];u=B[a+1340>>2];w=B[a+1308>>2];y=B[a+1324>>2];h=B[a+1244>>2];i=B[a+1256>>2];l=B[a+1272>>2];g=B[a+1240>>2];f=B[a+1268>>2];k=B[a+1260>>2];j=B[a+1252>>2];m=B[a+1276>>2];z=B[a+1300>>2];e=B[a+1236>>2];x[c+44>>2]=0;x[c+28>>2]=0;n=E(E(j*l)-E(f*i));W=E(E(i*m)-E(l*k));H=E(E(k*f)-E(m*j));d=E(E(1)/E(E(h*n)+E(E(e*W)+E(g*H))));r=E(E(E(e*i)-E(j*g))*d);D=E(n*d);F=E(E(E(g*f)-E(l*e))*d);n=E(E(u*r)+E(E(w*D)+E(y*F)));B[c+40>>2]=n;G=E(E(q*r)+E(E(s*D)+E(F*t)));B[c+36>>2]=G;I=E(E(E(h*j)-E(k*e))*d);H=E(H*d);J=E(E(E(e*m)-E(f*h))*d);e=E(E(u*I)+E(E(w*H)+E(y*J)));B[c+24>>2]=e;j=E(E(q*I)+E(E(s*H)+E(J*t)));B[c+20>>2]=j;x[c+12>>2]=0;f=E(E(o*r)+E(E(z*D)+E(p*F)));B[c+32>>2]=f;r=E(E(o*I)+E(E(z*H)+E(p*J)));B[c+16>>2]=r;i=E(E(E(g*k)-E(i*h))*d);k=E(W*d);h=E(E(E(h*l)-E(m*g))*d);g=E(E(u*i)+E(E(w*k)+E(y*h)));B[c+8>>2]=g;d=E(E(q*i)+E(E(s*k)+E(h*t)));B[c+4>>2]=d;h=E(E(o*i)+E(E(z*k)+E(p*h)));B[c>>2]=h;f:{g:{h:{i:{j:{k:{l:{m:{b=x[a+1232>>2];switch(b|0){case 5:break h;case 4:break i;case 3:break j;case 2:break k;case 1:break l;case 0:break m;default:break f}}b=a+1372|0;n:{o:{if(fE(-1)){X=a,Y=xa(E(-G),n),B[X+1364>>2]=Y;d=fE(1)?E(1):d),B[X>>2]=Y;d=xa(E(-r),h);break n}x[a+1368>>2]=-1077342245;X=a,Y=E(-xa(d,j)),B[X+1364>>2]=Y;break o}x[a+1368>>2]=1070141403;X=a,Y=xa(d,j),B[X+1364>>2]=Y}d=E(0)}B[b>>2]=d;break g}b=a+1364|0;d=B[c+16>>2];p:{if(dE(-1)){X=b,Y=xa(B[c+24>>2],B[c+20>>2]),B[X>>2]=Y;X=b,Y=xa(B[c+32>>2],B[c>>2]),B[X+4>>2]=Y;d=B[c+16>>2];d=d>E(1)?E(-1):E(-d);X=b,Y=Ya(d>E(1)?E(1):d),B[X+8>>2]=Y;break p}d=B[c+40>>2];e=B[c+8>>2];x[b+4>>2]=0;X=b,Y=E(-xa(E(-e),d)),B[X>>2]=Y;B[b+8>>2]=1.5707963705062866;break p}d=B[c+40>>2];e=B[c+8>>2];x[b+4>>2]=0;X=b,Y=xa(E(-e),d),B[X>>2]=Y;B[b+8>>2]=-1.5707963705062866}break g}b=a+1364|0;d=B[c+36>>2];q:{r:{if(dE(-1)){d=d>E(1)?E(-1):E(-d);X=b,Y=Ya(d>E(1)?E(1):d),B[X>>2]=Y;X=b,Y=xa(B[c+32>>2],B[c+40>>2]),B[X+4>>2]=Y;X=b,Y=xa(B[c+4>>2],B[c+20>>2]),B[X+8>>2]=Y;break q}x[b>>2]=1070141403;X=b,Y=E(-xa(E(-B[c+16>>2]),B[c>>2])),B[X+4>>2]=Y;break r}x[b>>2]=-1077342245;X=b,Y=xa(E(-B[c+16>>2]),B[c>>2]),B[X+4>>2]=Y}B[b+8>>2]=0}break g}b=a+1372|0;s:{if(dE(-1)){X=a,Y=xa(E(-G),j),B[X+1364>>2]=Y;X=a+1368|0,Y=xa(E(-g),h),B[X>>2]=Y;d=dE(1)?E(1):d);break s}x[a+1364>>2]=0;X=a+1368|0,Y=E(-xa(e,n)),B[X>>2]=Y;d=E(-1.5707963705062866);break s}x[a+1364>>2]=0;X=a+1368|0,Y=xa(e,n),B[X>>2]=Y;d=E(1.5707963705062866)}B[b>>2]=d;break g}b=a+1372|0;t:{if(eE(-1)){d=eE(1)?E(1):d),B[X+1364>>2]=Y;X=a+1368|0,Y=xa(E(-g),n),B[X>>2]=Y;d=xa(E(-r),j);break t}x[a+1364>>2]=-1077342245;x[a+1368>>2]=0;d=E(-xa(f,h));break t}x[a+1364>>2]=1070141403;x[a+1368>>2]=0;d=xa(f,h)}B[b>>2]=d;break g}b=a+1364|0;d=B[c+8>>2];u:{if(dE(-1)){X=b,Y=xa(B[c+24>>2],B[c+40>>2]),B[X>>2]=Y;d=B[c+8>>2];d=d>E(1)?E(-1):E(-d);X=b,Y=Ya(d>E(1)?E(1):d),B[X+4>>2]=Y;X=b,Y=xa(B[c+4>>2],B[c>>2]),B[X+8>>2]=Y;break u}x[b>>2]=0;x[b+4>>2]=1070141403;X=b,Y=E(-xa(B[c+16>>2],B[c+32>>2])),B[X+8>>2]=Y;break u}x[b>>2]=0;x[b+4>>2]=-1077342245;X=b,Y=xa(E(-B[c+16>>2]),E(-B[c+32>>2])),B[X+8>>2]=Y}}b=x[a+1232>>2]}v:{w:{x:{switch(b|0){default:l=B[a+1420>>2];e=B[a+1416>>2];f=B[a+1412>>2];k=B[a+1404>>2];h=B[a+1400>>2];j=B[a+1396>>2];g=B[a+1388>>2];i=B[a+1384>>2];d=B[a+1380>>2];break v;case 0:x[a+1408>>2]=0;x[a+1424>>2]=0;x[a+1392>>2]=0;d=B[a+1300>>2];m=B[a+1276>>2];f=B[a+1332>>2];i=B[a+1244>>2];h=E(E(d*m)-E(f*i));n=B[a+1260>>2];g=B[a+1316>>2];j=E(E(n*f)-E(g*m));l=E(E(d*h)-E(j*g));k=E(E(i*g)-E(d*n));e=E(E(f*j)-E(k*d));f=E(E(g*k)-E(h*f));g=E(E(j*n)-E(i*h));i=E(E(k*i)-E(m*j));d=E(E(h*m)-E(n*k));break v;case 1:x[a+1424>>2]=0;x[a+1408>>2]=0;x[a+1392>>2]=0;d=B[a+1316>>2];m=B[a+1272>>2];n=B[a+1256>>2];g=B[a+1332>>2];f=E(E(d*m)-E(n*g));i=B[a+1240>>2];h=B[a+1300>>2];e=E(E(g*i)-E(m*h));k=E(E(f*d)-E(h*e));l=E(E(h*n)-E(i*d));h=E(E(l*h)-E(g*f));j=E(E(e*g)-E(d*l));g=E(E(i*e)-E(f*n));i=E(E(m*f)-E(l*i));d=E(E(n*l)-E(e*m));break v;case 2:x[a+1424>>2]=0;x[a+1408>>2]=0;x[a+1392>>2]=0;e=B[a+1304>>2];k=B[a+1260>>2];m=B[a+1244>>2];f=B[a+1320>>2];g=E(E(e*k)-E(m*f));B[a+1388>>2]=g;n=B[a+1336>>2];l=B[a+1276>>2];i=E(E(m*n)-E(e*l));B[a+1384>>2]=i;d=E(E(f*l)-E(k*n));B[a+1380>>2]=d;h=E(E(l*d)-E(g*m));B[a+1400>>2]=h;j=E(E(k*g)-E(i*l));B[a+1396>>2]=j;l=E(E(d*f)-E(e*i));e=E(E(g*e)-E(n*d));f=E(E(i*n)-E(f*g));k=E(E(m*i)-E(d*k));break v;case 3:x[a+1424>>2]=0;x[a+1408>>2]=0;x[a+1392>>2]=0;d=B[a+1236>>2];m=B[a+1320>>2];i=B[a+1304>>2];g=B[a+1252>>2];l=E(E(d*m)-E(i*g));B[a+1420>>2]=l;j=B[a+1268>>2];n=B[a+1336>>2];e=E(E(i*j)-E(d*n));B[a+1416>>2]=e;f=E(E(g*n)-E(m*j));B[a+1412>>2]=f;k=E(E(f*g)-E(d*e));B[a+1404>>2]=k;h=E(E(l*d)-E(j*f));B[a+1400>>2]=h;j=E(E(e*j)-E(g*l));B[a+1396>>2]=j;g=E(E(i*e)-E(f*m));B[a+1388>>2]=g;i=E(E(n*f)-E(l*i));B[a+1384>>2]=i;d=E(E(m*l)-E(e*n));break w;case 4:x[a+1424>>2]=0;x[a+1408>>2]=0;x[a+1392>>2]=0;e=B[a+1240>>2];j=B[a+1324>>2];h=B[a+1308>>2];f=B[a+1256>>2];g=E(E(e*j)-E(h*f));B[a+1388>>2]=g;k=B[a+1272>>2];m=B[a+1340>>2];i=E(E(h*k)-E(e*m));B[a+1384>>2]=i;d=E(E(f*m)-E(j*k));B[a+1380>>2]=d;l=E(E(d*f)-E(e*i));B[a+1420>>2]=l;e=E(E(g*e)-E(k*d));B[a+1416>>2]=e;f=E(E(i*k)-E(f*g));B[a+1412>>2]=f;k=E(E(h*i)-E(d*j));B[a+1404>>2]=k;h=E(E(m*d)-E(g*h));B[a+1400>>2]=h;j=E(E(j*g)-E(i*m));B[a+1396>>2]=j;break v;case 5:break x}}x[a+1408>>2]=0;x[a+1424>>2]=0;x[a+1392>>2]=0;d=B[a+1308>>2];f=B[a+1252>>2];e=B[a+1236>>2];m=B[a+1324>>2];k=E(E(d*f)-E(e*m));B[a+1404>>2]=k;n=B[a+1340>>2];g=B[a+1268>>2];h=E(E(e*n)-E(d*g));B[a+1400>>2]=h;j=E(E(m*g)-E(f*n));B[a+1396>>2]=j;l=E(E(e*h)-E(j*f));B[a+1420>>2]=l;e=E(E(g*j)-E(k*e));B[a+1416>>2]=e;f=E(E(f*k)-E(h*g));B[a+1412>>2]=f;g=E(E(j*m)-E(d*h));B[a+1388>>2]=g;i=E(E(k*d)-E(n*j));B[a+1384>>2]=i;d=E(E(h*n)-E(m*k))}B[a+1380>>2]=d}m=l;l=E(E(1)/E(M(E(E(l*l)+E(E(f*f)+E(e*e))))));B[a+1420>>2]=m*l;B[a+1416>>2]=e*l;B[a+1412>>2]=f*l;e=E(E(1)/E(M(E(E(k*k)+E(E(j*j)+E(h*h))))));B[a+1404>>2]=k*e;B[a+1400>>2]=h*e;B[a+1396>>2]=j*e;e=E(E(1)/E(M(E(E(g*g)+E(E(d*d)+E(i*i))))));B[a+1388>>2]=g*e;B[a+1384>>2]=i*e;B[a+1380>>2]=d*e;ga=c+48|0;e=B[x[a+28>>2]+404>>2];d=B[x[a+32>>2]+404>>2];v[a+1452|0]=eE(0)?E(l/d):E(.5);B[a+1444>>2]=d;B[a+1448>>2]=E(1)-d}function Oa(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=E(0),g=E(0),h=0,i=E(0),j=E(0),k=E(0),l=0,m=E(0),n=E(0),o=E(0),p=E(0),q=E(0),r=E(0),s=E(0),t=0,u=E(0),v=E(0),w=E(0),z=E(0),A=E(0),C=E(0),D=E(0),F=E(0),G=E(0),H=E(0),I=E(0),J=0,K=E(0),L=E(0),N=E(0),O=E(0),P=E(0),Q=E(0),R=E(0),S=E(0),T=E(0),U=E(0),V=E(0),W=E(0),X=E(0),Y=E(0),Z=E(0),_=E(0),$=E(0),aa=E(0),ba=E(0),ca=E(0),da=E(0),ea=E(0),fa=E(0),ha=E(0);e=ga-272|0;ga=e;x[a+56>>2]=0;x[e+264>>2]=0;x[e+268>>2]=0;x[e+256>>2]=0;x[e+260>>2]=0;h=x[b+12>>2];x[e+168>>2]=x[b+8>>2];x[e+172>>2]=h;h=x[b+4>>2];x[e+160>>2]=x[b>>2];x[e+164>>2]=h;h=x[b+28>>2];x[e+184>>2]=x[b+24>>2];x[e+188>>2]=h;h=x[b+20>>2];x[e+176>>2]=x[b+16>>2];x[e+180>>2]=h;h=x[b+44>>2];x[e+200>>2]=x[b+40>>2];x[e+204>>2]=h;h=x[b+36>>2];x[e+192>>2]=x[b+32>>2];x[e+196>>2]=h;h=x[b+60>>2];x[e+216>>2]=x[b+56>>2];x[e+220>>2]=h;h=x[b+52>>2];x[e+208>>2]=x[b+48>>2];x[e+212>>2]=h;h=x[b+76>>2];x[e+104>>2]=x[b+72>>2];x[e+108>>2]=h;h=x[b+68>>2];x[e+96>>2]=x[b+64>>2];x[e+100>>2]=h;h=x[b+92>>2];x[e+120>>2]=x[b+88>>2];x[e+124>>2]=h;h=x[b+84>>2];x[e+112>>2]=x[b+80>>2];x[e+116>>2]=h;h=x[b+108>>2];x[e+136>>2]=x[b+104>>2];x[e+140>>2]=h;h=x[b+100>>2];x[e+128>>2]=x[b+96>>2];x[e+132>>2]=h;h=x[b+124>>2];x[e+152>>2]=x[b+120>>2];x[e+156>>2]=h;h=x[b+116>>2];x[e+144>>2]=x[b+112>>2];x[e+148>>2]=h;f=B[e+212>>2];i=B[e+148>>2];G=E(E(f+i)*E(.5));B[e+212>>2]=f-G;f=B[e+216>>2];g=B[e+152>>2];H=E(E(f+g)*E(.5));B[e+216>>2]=f-H;B[e+148>>2]=i-G;B[e+152>>2]=g-H;f=B[e+208>>2];i=B[e+144>>2];I=E(E(f+i)*E(.5));B[e+208>>2]=f-I;B[e+144>>2]=i-I;l=x[x[a+28>>2]+4>>2]-17>>>0<=1?x[x[a+32>>2]+4>>2]-17>>>0<2:l;f=B[a+44>>2];i=B[a+48>>2];x[8502]=x[8502]+1;x[a+68>>2]=0;x[a+12>>2]=0;x[a+16>>2]=0;x[a+4>>2]=0;x[a+8>>2]=1065353216;x[a+60>>2]=-1;x[a+64>>2]=0;h=y[a+52|0];zb(x[a+24>>2]);p=h?E(0):f;q=h?E(0):i;s=E(p+q);h=a+4|0;i=E(0xde0b6b000000000);a:{b:{c:{while(1){m=B[b+32>>2];r=B[b>>2];o=B[b+16>>2];n=B[b+36>>2];u=B[b+4>>2];w=B[b+20>>2];z=B[b+40>>2];f=B[a+12>>2];k=B[b+8>>2];j=B[a+4>>2];A=B[b+24>>2];g=B[a+8>>2];x[e+252>>2]=0;v=k;k=E(-j);B[e+248>>2]=E(E(v*k)-E(A*g))-E(z*f);B[e+244>>2]=E(E(u*k)-E(w*g))-E(n*f);B[e+240>>2]=E(E(r*k)-E(o*g))-E(m*f);k=B[b+96>>2];m=B[b+64>>2];r=B[b+80>>2];o=B[b+100>>2];n=B[b+68>>2];u=B[b+84>>2];w=B[b+104>>2];z=B[b+72>>2];A=B[b+88>>2];x[e+236>>2]=0;B[e+232>>2]=E(w*f)+E(E(z*j)+E(g*A));B[e+228>>2]=E(o*f)+E(E(n*j)+E(g*u));B[e+224>>2]=E(k*f)+E(E(m*j)+E(g*r));Ra(e+80|0,x[a+28>>2],e+240|0);Ra(e- -64|0,x[a+32>>2],e+224|0);x[e+60>>2]=0;f=B[e+88>>2];g=B[e+80>>2];k=B[e+84>>2];j=E(E(E(f*B[e+200>>2])+E(E(g*B[e+192>>2])+E(k*B[e+196>>2])))+B[e+216>>2]);B[e+56>>2]=j;r=E(E(E(f*B[e+184>>2])+E(E(g*B[e+176>>2])+E(k*B[e+180>>2])))+B[e+212>>2]);B[e+52>>2]=r;o=E(E(E(f*B[e+168>>2])+E(E(g*B[e+160>>2])+E(k*B[e+164>>2])))+B[e+208>>2]);B[e+48>>2]=o;x[e+44>>2]=0;f=B[e+72>>2];g=B[e+64>>2];m=B[e+68>>2];k=E(E(E(f*B[e+136>>2])+E(E(g*B[e+128>>2])+E(m*B[e+132>>2])))+B[e+152>>2]);B[e+40>>2]=k;n=E(E(E(f*B[e+120>>2])+E(E(g*B[e+112>>2])+E(m*B[e+116>>2])))+B[e+148>>2]);B[e+36>>2]=n;f=E(E(E(f*B[e+104>>2])+E(E(g*B[e+96>>2])+E(m*B[e+100>>2])))+B[e+144>>2]);B[e+32>>2]=f;if(l){x[e+40>>2]=0;x[e+56>>2]=0;k=E(0);j=E(0)}x[e+28>>2]=0;g=E(j-k);B[e+24>>2]=g;f=E(o-f);B[e+16>>2]=f;j=E(r-n);B[e+20>>2]=j;f=E(E(B[a+12>>2]*g)+E(E(B[a+4>>2]*f)+E(j*B[a+8>>2])));if(!(!(f>E(0))|!(E(f*f)>E(i*B[b+128>>2])))){x[a+68>>2]=10;break c}if(Ed(x[a+24>>2],e+16|0)){x[a+68>>2]=1;break c}f=E(i-f);if(f<=E(i*E(9.999999974752427e-7))){x[a+68>>2]=f<=E(0)?2:11;break c}Hd(x[a+24>>2],e+16|0,e+48|0,e+32|0);d:{if(!Fd(x[a+24>>2],e)){l=3;break d}f=B[e+8>>2];g=E(f*f);f=B[e>>2];k=E(f*f);f=B[e+4>>2];f=E(g+E(k+E(f*f)));if(f>2];x[h>>2]=x[e>>2];x[h+4>>2]=l;l=x[e+12>>2];x[h+8>>2]=x[e+8>>2];x[h+12>>2]=l;l=6;break d}if(E(i-f)<=E(i*E(1.1920928955078125e-7))){l=12;i=f;break d}t=x[e+4>>2];x[h>>2]=x[e>>2];x[h+4>>2]=t;t=x[e+12>>2];x[h+8>>2]=x[e+8>>2];x[h+12>>2]=t;t=x[a+64>>2];x[a+64>>2]=t+1;if((t|0)>1e3){break b}if(x[x[a+24>>2]>>2]==4){x[a+68>>2]=13;break b}i=f;continue}break}x[a+68>>2]=l}Dd(x[a+24>>2],e+240|0,e+224|0);l=x[h+12>>2];x[e+264>>2]=x[h+8>>2];x[e+268>>2]=l;l=x[h+4>>2];x[e+256>>2]=x[h>>2];x[e+260>>2]=l;f=B[a+12>>2];g=B[a+4>>2];j=B[a+8>>2];k=E(E(f*f)+E(E(g*g)+E(j*j)));if(k>2]=5}if(k>E(14210854715202004e-30)){k=E(E(1)/E(M(k)));B[e+256>>2]=k*B[e+256>>2];B[e+260>>2]=k*B[e+260>>2];B[e+264>>2]=k*B[e+264>>2];m=E(M(i));i=E(p/m);B[e+240>>2]=B[e+240>>2]-E(i*g);B[e+244>>2]=B[e+244>>2]-E(i*j);B[e+248>>2]=B[e+248>>2]-E(i*f);i=E(q/m);B[e+224>>2]=E(i*g)+B[e+224>>2];B[e+228>>2]=E(i*j)+B[e+228>>2];B[e+232>>2]=E(i*f)+B[e+232>>2];l=1;x[a+60>>2]=1;f=E(E(E(1)/k)-s);break a}x[a+60>>2]=2}l=0;f=E(0)}J=1;t=x[a+20>>2];if(!(!x[a+68>>2]|(!x[a+72>>2]|!t))){J=!(B[8264]>E(s+f))}e:{f:{g:{if(!t|l&J){break g}x[8501]=x[8501]+1;x[h+8>>2]=0;x[h+12>>2]=0;x[h>>2]=0;x[h+4>>2]=0;if(ia[x[x[t>>2]+8>>2]](t,x[a+24>>2],x[a+28>>2],x[a+32>>2],e+160|0,e+96|0,h,e+80|0,e- -64|0,d)|0){k=E(0);g=B[e+72>>2];s=B[e+88>>2];p=E(g-s);m=B[e+64>>2];r=B[e+80>>2];i=E(m-r);o=B[e+68>>2];n=B[e+84>>2];q=E(o-n);j=E(E(p*p)+E(E(i*i)+E(q*q)));if(j<=E(14210854715202004e-30)){k=B[a+16>>2];p=B[a+12>>2];i=B[a+4>>2];q=B[a+8>>2];j=E(E(p*p)+E(E(i*i)+E(q*q)))}if(j>E(14210854715202004e-30)){x[a+60>>2]=3;g=E(s-g);v=E(g*g);g=E(r-m);m=E(g*g);g=E(n-o);g=E(-E(M(E(v+E(m+E(g*g))))));if(!(!(g>2];x[e+248>>2]=x[e+88>>2];x[e+252>>2]=d;d=x[e+76>>2];x[e+232>>2]=x[e+72>>2];x[e+236>>2]=d;d=x[e+84>>2];x[e+240>>2]=x[e+80>>2];x[e+244>>2]=d;d=x[e+68>>2];x[e+224>>2]=x[e+64>>2];x[e+228>>2]=d;B[e+268>>2]=k;f=E(E(1)/E(M(j)));B[e+264>>2]=p*f;B[e+260>>2]=q*f;B[e+256>>2]=i*f;f=g;break f}x[a+60>>2]=8;break f}x[a+60>>2]=9;if(l){break f}break e}g=B[a+12>>2];j=B[a+4>>2];k=B[a+8>>2];if(!(E(E(g*g)+E(E(j*j)+E(k*k)))>E(0))){break g}i=E(B[e+88>>2]-B[e+72>>2]);o=E(i*i);i=E(B[e+80>>2]-B[e+64>>2]);v=E(i*i);i=E(B[e+84>>2]-B[e+68>>2]);i=E(E(M(E(o+E(v+E(i*i)))))-s);if(!(!(i>2];x[e+248>>2]=x[e+88>>2];x[e+252>>2]=d;d=x[e+76>>2];x[e+232>>2]=x[e+72>>2];x[e+236>>2]=d;B[e+248>>2]=B[e+248>>2]-E(p*g);B[e+232>>2]=E(q*g)+B[e+232>>2];d=x[e+68>>2];x[e+224>>2]=x[e+64>>2];x[e+228>>2]=d;d=x[e+84>>2];x[e+240>>2]=x[e+80>>2];x[e+244>>2]=d;B[e+224>>2]=E(q*j)+B[e+224>>2];B[e+228>>2]=E(q*k)+B[e+228>>2];B[e+240>>2]=B[e+240>>2]-E(p*j);B[e+244>>2]=B[e+244>>2]-E(p*k);d=x[h+12>>2];x[e+264>>2]=x[h+8>>2];x[e+268>>2]=d;d=x[h+4>>2];x[e+256>>2]=x[h>>2];x[e+260>>2]=d;g=B[e+264>>2];j=B[e+256>>2];k=B[e+260>>2];f=E(E(1)/E(M(E(E(g*g)+E(E(j*j)+E(k*k))))));B[e+264>>2]=g*f;B[e+260>>2]=k*f;B[e+256>>2]=j*f;x[a+60>>2]=6;f=i;break f}x[a+60>>2]=5;break f}if(!l){break e}}if(!(f>2]>E(f*f))){break e}d=x[e+260>>2];x[h>>2]=x[e+256>>2];x[h+4>>2]=d;d=x[e+268>>2];x[h+8>>2]=x[e+264>>2];x[h+12>>2]=d;B[a+56>>2]=f;k=B[b+32>>2];p=B[b>>2];q=B[b+16>>2];s=B[b+36>>2];m=B[b+4>>2];r=B[b+20>>2];i=B[b+40>>2];g=B[b+8>>2];o=B[b+24>>2];x[e+92>>2]=0;v=i;i=B[e+264>>2];j=B[e+256>>2];n=E(g*j);g=B[e+260>>2];B[e+88>>2]=E(v*i)+E(n+E(o*g));B[e+84>>2]=E(s*i)+E(E(m*j)+E(g*r));B[e+80>>2]=E(k*i)+E(E(p*j)+E(q*g));k=B[b+96>>2];p=B[b+64>>2];q=B[b+80>>2];s=B[b+100>>2];m=B[b+68>>2];r=B[b+84>>2];o=B[b+104>>2];n=B[b+72>>2];u=B[b+88>>2];x[e+76>>2]=0;j=E(-j);B[e+72>>2]=E(E(n*j)-E(u*g))-E(o*i);B[e+68>>2]=E(E(m*j)-E(r*g))-E(s*i);B[e+64>>2]=E(E(p*j)-E(q*g))-E(k*i);d=e+48|0;h=e+80|0;Ra(d,x[a+28>>2],h);l=e+32|0;t=e- -64|0;Ra(l,x[a+32>>2],t);i=B[e+264>>2];K=B[e+216>>2];L=B[e+200>>2];N=B[e+192>>2];O=B[e+196>>2];P=B[e+152>>2];Q=B[e+136>>2];R=B[e+128>>2];S=B[e+132>>2];T=B[e+208>>2];U=B[e+168>>2];V=B[e+160>>2];W=B[e+164>>2];X=B[e+144>>2];Y=B[e+104>>2];Z=B[e+96>>2];_=B[e+100>>2];$=B[e+212>>2];aa=B[e+184>>2];k=B[e+56>>2];ba=B[e+176>>2];p=B[e+48>>2];ca=B[e+180>>2];q=B[e+52>>2];da=B[e+148>>2];ea=B[e+120>>2];s=B[e+40>>2];fa=B[e+112>>2];m=B[e+32>>2];ha=B[e+116>>2];r=B[e+36>>2];j=B[e+256>>2];g=B[e+260>>2];n=B[b+32>>2];u=B[b>>2];w=B[b+16>>2];z=B[b+36>>2];A=B[b+4>>2];C=B[b+20>>2];D=B[b+40>>2];o=B[b+8>>2];F=B[b+24>>2];x[e+92>>2]=0;v=o;o=E(-j);B[e+88>>2]=E(E(v*o)-E(F*g))-E(D*i);B[e+84>>2]=E(E(A*o)-E(C*g))-E(z*i);B[e+80>>2]=E(E(u*o)-E(w*g))-E(n*i);n=B[b+96>>2];u=B[b+64>>2];w=B[b+80>>2];z=B[b+100>>2];A=B[b+68>>2];C=B[b+84>>2];D=B[b+104>>2];F=B[b+72>>2];v=B[b+88>>2];x[e+76>>2]=0;B[e+72>>2]=E(D*i)+E(E(F*j)+E(g*v));B[e+68>>2]=E(z*i)+E(E(A*j)+E(g*C));B[e+64>>2]=E(n*i)+E(E(u*j)+E(g*w));Ra(d,x[a+28>>2],h);Ra(l,x[a+32>>2],t);C=B[e+264>>2];j=B[e+56>>2];n=B[e+48>>2];u=B[e+52>>2];w=B[e+40>>2];z=B[e+32>>2];A=B[e+36>>2];v=E(C*E(E(E(E(j*B[e+200>>2])+E(E(n*B[e+192>>2])+E(u*B[e+196>>2])))+B[e+216>>2])-E(E(E(w*B[e+136>>2])+E(E(z*B[e+128>>2])+E(A*B[e+132>>2])))+B[e+152>>2])));D=B[e+256>>2];F=E(D*E(E(E(E(j*B[e+168>>2])+E(E(n*B[e+160>>2])+E(u*B[e+164>>2])))+B[e+208>>2])-E(E(E(w*B[e+104>>2])+E(E(z*B[e+96>>2])+E(A*B[e+100>>2])))+B[e+144>>2])));n=E(E(E(E(j*B[e+184>>2])+E(E(n*B[e+176>>2])+E(u*B[e+180>>2])))+B[e+212>>2])-E(E(E(w*B[e+120>>2])+E(E(z*B[e+112>>2])+E(A*B[e+116>>2])))+B[e+148>>2]));j=B[e+260>>2];if(E(v+E(F+E(n*j)))>2]=10;B[e+264>>2]=-C;B[e+260>>2]=-j;B[e+256>>2]=-D}x[e+92>>2]=0;B[e+88>>2]=H+B[e+232>>2];B[e+84>>2]=G+B[e+228>>2];B[e+80>>2]=I+B[e+224>>2];ia[x[x[c>>2]+16>>2]](c,e+256|0,e+80|0,f)}ga=e+272|0}function ob(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;l=ga-16|0;ga=l;a:{b:{c:{d:{e:{f:{g:{h:{i:{j:{k:{l:{m:{n:{if(a>>>0<=244){g=x[8952];h=a>>>0<11?16:a+11&-8;c=h>>>3|0;b=g>>>c|0;if(b&3){c=c+((b^-1)&1)|0;a=c<<3;b=a+35848|0;d=x[a+35856>>2];a=x[d+8>>2];o:{if((b|0)==(a|0)){m=35808,n=ks(c)&g,x[m>>2]=n;break o}x[a+12>>2]=b;x[b+8>>2]=a}a=d+8|0;b=c<<3;x[d+4>>2]=b|3;b=b+d|0;x[b+4>>2]=x[b+4>>2]|1;break a}k=x[8954];if(k>>>0>=h>>>0){break n}if(b){a=2<>2];a=x[e+8>>2];p:{if((b|0)==(a|0)){g=ks(d)&g;x[8952]=g;break p}x[a+12>>2]=b;x[b+8>>2]=a}x[e+4>>2]=h|3;c=e+h|0;a=d<<3;d=a-h|0;x[c+4>>2]=d|1;x[a+e>>2]=d;if(k){b=(k&-8)+35848|0;f=x[8957];a=1<<(k>>>3);q:{if(!(a&g)){x[8952]=a|g;a=b;break q}a=x[b+8>>2]}x[b+8>>2]=f;x[a+12>>2]=f;x[f+12>>2]=b;x[f+8>>2]=a}a=e+8|0;x[8957]=c;x[8954]=d;break a}j=x[8953];if(!j){break n}c=x[(is(0-j&j)<<2)+36112>>2];f=(x[c+4>>2]&-8)-h|0;b=c;while(1){r:{a=x[b+16>>2];if(!a){a=x[b+20>>2];if(!a){break r}}b=(x[a+4>>2]&-8)-h|0;d=b>>>0>>0;f=d?b:f;c=d?a:c;b=a;continue}break}i=x[c+24>>2];d=x[c+12>>2];if((d|0)!=(c|0)){a=x[c+8>>2];x[a+12>>2]=d;x[d+8>>2]=a;break b}b=c+20|0;a=x[b>>2];if(!a){a=x[c+16>>2];if(!a){break m}b=c+16|0}while(1){e=b;d=a;b=a+20|0;a=x[b>>2];if(a){continue}b=d+16|0;a=x[d+16>>2];if(a){continue}break}x[e>>2]=0;break b}h=-1;if(a>>>0>4294967231){break n}a=a+11|0;h=a&-8;j=x[8953];if(!j){break n}f=0-h|0;g=0;s:{if(h>>>0<256){break s}g=31;if(h>>>0>16777215){break s}a=G(a>>>8|0);g=((h>>>38-a&1)-(a<<1)|0)+62|0}b=x[(g<<2)+36112>>2];t:{u:{v:{if(!b){a=0;break v}a=0;c=h<<((g|0)!=31?25-(g>>>1|0)|0:0);while(1){w:{e=(x[b+4>>2]&-8)-h|0;if(e>>>0>=f>>>0){break w}d=b;f=e;if(e){break w}f=0;a=b;break u}e=x[b+20>>2];b=x[((c>>>29&4)+b|0)+16>>2];a=e?(e|0)==(b|0)?a:e:a;c=c<<1;if(b){continue}break}}if(!(a|d)){d=0;a=2<>2]}if(!a){break t}}while(1){b=(x[a+4>>2]&-8)-h|0;c=b>>>0>>0;f=c?b:f;d=c?a:d;b=x[a+16>>2];if(b){a=b}else{a=x[a+20>>2]}if(a){continue}break}}if(!d|x[8954]-h>>>0<=f>>>0){break n}g=x[d+24>>2];c=x[d+12>>2];if((d|0)!=(c|0)){a=x[d+8>>2];x[a+12>>2]=c;x[c+8>>2]=a;break c}b=d+20|0;a=x[b>>2];if(!a){a=x[d+16>>2];if(!a){break l}b=d+16|0}while(1){e=b;c=a;b=a+20|0;a=x[b>>2];if(a){continue}b=c+16|0;a=x[c+16>>2];if(a){continue}break}x[e>>2]=0;break c}a=x[8954];if(a>>>0>=h>>>0){d=x[8957];b=a-h|0;x:{if(b>>>0>=16){c=d+h|0;x[c+4>>2]=b|1;x[a+d>>2]=b;x[d+4>>2]=h|3;break x}x[d+4>>2]=a|3;a=a+d|0;x[a+4>>2]=x[a+4>>2]|1;c=0;b=0}x[8954]=b;x[8957]=c;a=d+8|0;break a}i=x[8955];if(i>>>0>h>>>0){b=i-h|0;x[8955]=b;c=x[8958];a=c+h|0;x[8958]=a;x[a+4>>2]=b|1;x[c+4>>2]=h|3;a=c+8|0;break a}a=0;j=h+47|0;if(x[9070]){c=x[9072]}else{x[9073]=-1;x[9074]=-1;x[9071]=4096;x[9072]=4096;x[9070]=l+12&-16^1431655768;x[9075]=0;x[9063]=0;c=4096}e=j+c|0;f=0-c|0;b=e&f;if(b>>>0<=h>>>0){break a}d=x[9062];if(d){c=x[9060];g=c+b|0;if(d>>>0>>0|c>>>0>=g>>>0){break a}}y:{if(!(y[36252]&4)){z:{A:{B:{C:{d=x[8958];if(d){a=36256;while(1){c=x[a>>2];if(c>>>0<=d>>>0&d>>>0>2]>>>0){break C}a=x[a+8>>2];if(a){continue}break}}c=Xa(0);if((c|0)==-1){break z}g=b;d=x[9071];a=d-1|0;if(a&c){g=(b-c|0)+(a+c&0-d)|0}if(g>>>0<=h>>>0){break z}d=x[9062];if(d){a=x[9060];f=a+g|0;if(d>>>0>>0|a>>>0>=f>>>0){break z}}a=Xa(g);if((c|0)!=(a|0)){break B}break y}g=f&e-i;c=Xa(g);if((c|0)==(x[a>>2]+x[a+4>>2]|0)){break A}a=c}if((a|0)==-1){break z}if(h+48>>>0<=g>>>0){c=a;break y}c=x[9072];c=c+(j-g|0)&0-c;if((Xa(c)|0)==-1){break z}g=c+g|0;c=a;break y}if((c|0)!=-1){break y}}x[9063]=x[9063]|4}c=Xa(b);a=Xa(0);if((c|0)==-1|(a|0)==-1|a>>>0<=c>>>0){break i}g=a-c|0;if(g>>>0<=h+40>>>0){break i}}a=x[9060]+g|0;x[9060]=a;if(a>>>0>A[9061]){x[9061]=a}D:{e=x[8958];if(e){a=36256;while(1){d=x[a>>2];b=x[a+4>>2];if((d+b|0)==(c|0)){break D}a=x[a+8>>2];if(a){continue}break}break k}a=x[8956];if(!(a>>>0<=c>>>0?a:0)){x[8956]=c}a=0;x[9065]=g;x[9064]=c;x[8960]=-1;x[8961]=x[9070];x[9067]=0;while(1){d=a<<3;b=d+35848|0;x[d+35856>>2]=b;x[d+35860>>2]=b;a=a+1|0;if((a|0)!=32){continue}break}d=g-40|0;a=c+8&7?-8-c&7:0;b=d-a|0;x[8955]=b;a=a+c|0;x[8958]=a;x[a+4>>2]=b|1;x[(c+d|0)+4>>2]=40;x[8959]=x[9074];break j}if(x[a+12>>2]&8|(c>>>0<=e>>>0|d>>>0>e>>>0)){break k}x[a+4>>2]=b+g;a=e+8&7?-8-e&7:0;c=a+e|0;x[8958]=c;b=x[8955]+g|0;a=b-a|0;x[8955]=a;x[c+4>>2]=a|1;x[(b+e|0)+4>>2]=40;x[8959]=x[9074];break j}d=0;break b}c=0;break c}if(A[8956]>c>>>0){x[8956]=c}b=c+g|0;a=36256;E:{F:{G:{while(1){if((b|0)!=x[a>>2]){a=x[a+8>>2];if(a){continue}break G}break}if(!(y[a+12|0]&8)){break F}}a=36256;while(1){b=x[a>>2];if(b>>>0<=e>>>0){f=b+x[a+4>>2]|0;if(f>>>0>e>>>0){break E}}a=x[a+8>>2];continue}}x[a>>2]=c;x[a+4>>2]=x[a+4>>2]+g;j=(c+8&7?-8-c&7:0)+c|0;x[j+4>>2]=h|3;g=b+(b+8&7?-8-b&7:0)|0;i=h+j|0;a=g-i|0;if((e|0)==(g|0)){x[8958]=i;a=x[8955]+a|0;x[8955]=a;x[i+4>>2]=a|1;break d}if(x[8957]==(g|0)){x[8957]=i;a=x[8954]+a|0;x[8954]=a;x[i+4>>2]=a|1;x[a+i>>2]=a;break d}f=x[g+4>>2];if((f&3)!=1){break e}e=f&-8;if(f>>>0<=255){c=x[g+12>>2];b=x[g+8>>2];if((c|0)==(b|0)){m=35808,n=x[8952]&ks(f>>>3|0),x[m>>2]=n;break f}x[b+12>>2]=c;x[c+8>>2]=b;break f}h=x[g+24>>2];c=x[g+12>>2];if((g|0)!=(c|0)){b=x[g+8>>2];x[b+12>>2]=c;x[c+8>>2]=b;break g}b=g+20|0;f=x[b>>2];if(!f){f=x[g+16>>2];if(!f){break h}b=g+16|0}while(1){d=b;c=f;b=c+20|0;f=x[b>>2];if(f){continue}b=c+16|0;f=x[c+16>>2];if(f){continue}break}x[d>>2]=0;break g}d=g-40|0;a=c+8&7?-8-c&7:0;b=d-a|0;x[8955]=b;a=a+c|0;x[8958]=a;x[a+4>>2]=b|1;x[(c+d|0)+4>>2]=40;x[8959]=x[9074];a=(f+(f-39&7?39-f&7:0)|0)-47|0;d=a>>>0>>0?e:a;x[d+4>>2]=27;a=x[9067];x[d+16>>2]=x[9066];x[d+20>>2]=a;a=x[9065];x[d+8>>2]=x[9064];x[d+12>>2]=a;x[9066]=d+8;x[9065]=g;x[9064]=c;x[9067]=0;a=d+24|0;while(1){x[a+4>>2]=7;b=a+8|0;a=a+4|0;if(b>>>0>>0){continue}break}if((d|0)==(e|0)){break j}x[d+4>>2]=x[d+4>>2]&-2;f=d-e|0;x[e+4>>2]=f|1;x[d>>2]=f;if(f>>>0<=255){b=(f&-8)+35848|0;c=x[8952];a=1<<(f>>>3);H:{if(!(c&a)){x[8952]=a|c;a=b;break H}a=x[b+8>>2]}x[b+8>>2]=e;x[a+12>>2]=e;x[e+12>>2]=b;x[e+8>>2]=a;break j}a=31;if(f>>>0<=16777215){a=G(f>>>8|0);a=((f>>>38-a&1)-(a<<1)|0)+62|0}x[e+28>>2]=a;x[e+16>>2]=0;x[e+20>>2]=0;b=(a<<2)+36112|0;I:{d=x[8953];c=1<>2]=e;break J}a=f<<((a|0)!=31?25-(a>>>1|0)|0:0);d=x[b>>2];while(1){b=d;if((f|0)==(x[b+4>>2]&-8)){break I}c=a>>>29|0;a=a<<1;c=(c&4)+b|0;d=x[c+16>>2];if(d){continue}break}x[c+16>>2]=e}x[e+24>>2]=b;x[e+12>>2]=e;x[e+8>>2]=e;break j}a=x[b+8>>2];x[a+12>>2]=e;x[b+8>>2]=e;x[e+24>>2]=0;x[e+12>>2]=b;x[e+8>>2]=a}a=x[8955];if(a>>>0<=h>>>0){break i}b=a-h|0;x[8955]=b;c=x[8958];a=c+h|0;x[8958]=a;x[a+4>>2]=b|1;x[c+4>>2]=h|3;a=c+8|0;break a}x[8951]=48;a=0;break a}c=0}if(!h){break f}d=x[g+28>>2];b=(d<<2)+36112|0;K:{if(x[b>>2]==(g|0)){x[b>>2]=c;if(c){break K}m=35812,n=x[8953]&ks(d),x[m>>2]=n;break f}x[h+(x[h+16>>2]==(g|0)?16:20)>>2]=c;if(!c){break f}}x[c+24>>2]=h;b=x[g+16>>2];if(b){x[c+16>>2]=b;x[b+24>>2]=c}b=x[g+20>>2];if(!b){break f}x[c+20>>2]=b;x[b+24>>2]=c}a=a+e|0;g=e+g|0;f=x[g+4>>2]}x[g+4>>2]=f&-2;x[i+4>>2]=a|1;x[a+i>>2]=a;if(a>>>0<=255){b=(a&-8)+35848|0;c=x[8952];a=1<<(a>>>3);L:{if(!(c&a)){x[8952]=a|c;a=b;break L}a=x[b+8>>2]}x[b+8>>2]=i;x[a+12>>2]=i;x[i+12>>2]=b;x[i+8>>2]=a;break d}f=31;if(a>>>0<=16777215){b=G(a>>>8|0);f=((a>>>38-b&1)-(b<<1)|0)+62|0}x[i+28>>2]=f;x[i+16>>2]=0;x[i+20>>2]=0;b=(f<<2)+36112|0;M:{d=x[8953];c=1<>2]=i;break N}f=a<<((f|0)!=31?25-(f>>>1|0)|0:0);c=x[b>>2];while(1){b=c;if((x[c+4>>2]&-8)==(a|0)){break M}c=f>>>29|0;f=f<<1;d=(c&4)+b|0;c=x[d+16>>2];if(c){continue}break}x[d+16>>2]=i}x[i+24>>2]=b;x[i+12>>2]=i;x[i+8>>2]=i;break d}a=x[b+8>>2];x[a+12>>2]=i;x[b+8>>2]=i;x[i+24>>2]=0;x[i+12>>2]=b;x[i+8>>2]=a}a=j+8|0;break a}O:{if(!g){break O}b=x[d+28>>2];a=(b<<2)+36112|0;P:{if(x[a>>2]==(d|0)){x[a>>2]=c;if(c){break P}j=ks(b)&j;x[8953]=j;break O}x[g+(x[g+16>>2]==(d|0)?16:20)>>2]=c;if(!c){break O}}x[c+24>>2]=g;a=x[d+16>>2];if(a){x[c+16>>2]=a;x[a+24>>2]=c}a=x[d+20>>2];if(!a){break O}x[c+20>>2]=a;x[a+24>>2]=c}Q:{if(f>>>0<=15){a=f+h|0;x[d+4>>2]=a|3;a=a+d|0;x[a+4>>2]=x[a+4>>2]|1;break Q}x[d+4>>2]=h|3;e=d+h|0;x[e+4>>2]=f|1;x[e+f>>2]=f;if(f>>>0<=255){b=(f&-8)+35848|0;c=x[8952];a=1<<(f>>>3);R:{if(!(c&a)){x[8952]=a|c;a=b;break R}a=x[b+8>>2]}x[b+8>>2]=e;x[a+12>>2]=e;x[e+12>>2]=b;x[e+8>>2]=a;break Q}a=31;if(f>>>0<=16777215){a=G(f>>>8|0);a=((f>>>38-a&1)-(a<<1)|0)+62|0}x[e+28>>2]=a;x[e+16>>2]=0;x[e+20>>2]=0;b=(a<<2)+36112|0;S:{c=1<>2]=e;break T}a=f<<((a|0)!=31?25-(a>>>1|0)|0:0);h=x[b>>2];while(1){b=h;if((x[b+4>>2]&-8)==(f|0)){break S}c=a>>>29|0;a=a<<1;c=(c&4)+b|0;h=x[c+16>>2];if(h){continue}break}x[c+16>>2]=e}x[e+24>>2]=b;x[e+12>>2]=e;x[e+8>>2]=e;break Q}a=x[b+8>>2];x[a+12>>2]=e;x[b+8>>2]=e;x[e+24>>2]=0;x[e+12>>2]=b;x[e+8>>2]=a}a=d+8|0;break a}U:{if(!i){break U}b=x[c+28>>2];a=(b<<2)+36112|0;V:{if(x[a>>2]==(c|0)){x[a>>2]=d;if(d){break V}m=35812,n=ks(b)&j,x[m>>2]=n;break U}x[i+(x[i+16>>2]==(c|0)?16:20)>>2]=d;if(!d){break U}}x[d+24>>2]=i;a=x[c+16>>2];if(a){x[d+16>>2]=a;x[a+24>>2]=d}a=x[c+20>>2];if(!a){break U}x[d+20>>2]=a;x[a+24>>2]=d}W:{if(f>>>0<=15){a=f+h|0;x[c+4>>2]=a|3;a=a+c|0;x[a+4>>2]=x[a+4>>2]|1;break W}x[c+4>>2]=h|3;d=c+h|0;x[d+4>>2]=f|1;x[d+f>>2]=f;if(k){b=(k&-8)+35848|0;e=x[8957];a=1<<(k>>>3);X:{if(!(a&g)){x[8952]=a|g;a=b;break X}a=x[b+8>>2]}x[b+8>>2]=e;x[a+12>>2]=e;x[e+12>>2]=b;x[e+8>>2]=a}x[8957]=d;x[8954]=f}a=c+8|0}ga=l+16|0;return a|0}function fi(a,b){a=a|0;b=b|0;var c=0,d=0,e=E(0),f=0,g=E(0),h=E(0),i=0,j=E(0),k=E(0),l=E(0),m=E(0),n=E(0),o=E(0),p=0,q=E(0),r=E(0),s=E(0),t=E(0),u=0,w=E(0),z=E(0),A=E(0),C=E(0),F=E(0),G=E(0),H=E(0),I=E(0),J=E(0),K=0,L=0,N=E(0),O=E(0),P=E(0),Q=0,R=E(0),S=E(0),T=E(0),U=E(0),V=E(0),W=E(0),X=E(0),Y=E(0),Z=E(0),_=E(0),$=E(0),aa=0,ba=0,ca=E(0),da=E(0),ea=E(0),fa=0,ga=0,ha=E(0),ia=E(0),ja=E(0),ka=E(0),la=E(0),ma=0,na=0,oa=0;d=x[a+32>>2];aa=d+388|0;c=x[a+28>>2];ba=c+388|0;d=d+4|0;c=c+4|0;if(y[a+739|0]){e=B[x[a+32>>2]+404>>2];W=B[x[a+28>>2]+404>>2];k=E(e+W);k=k>E(0)?E(e/k):E(.5);n=E(E(1)-k);r=B[a+672>>2];q=B[d+40>>2];h=B[a+664>>2];s=B[d+32>>2];l=B[d+36>>2];g=B[a+668>>2];o=B[d+56>>2];ha=E(E(E(r*q)+E(E(h*s)+E(l*g)))+o);H=E(ha-o);P=H;o=B[a+592>>2];j=B[c+40>>2];m=B[a+560>>2];C=B[c+32>>2];z=B[a+576>>2];F=B[c+36>>2];S=E(E(o*j)+E(E(m*C)+E(z*F)));t=B[a+656>>2];O=E(t*q);q=B[a+624>>2];R=E(q*s);s=B[a+640>>2];T=E(O+E(R+E(s*l)));l=E(E(S*k)+E(T*n));O=l;U=E(l*l);w=B[c+8>>2];G=B[c>>2];J=B[c+4>>2];V=E(E(o*w)+E(E(m*G)+E(J*z)));A=B[d+8>>2];X=B[d>>2];Y=B[d+4>>2];Z=E(E(t*A)+E(E(q*X)+E(Y*s)));l=E(E(V*k)+E(Z*n));N=B[c+24>>2];I=B[c+16>>2];R=z;z=B[c+20>>2];ca=E(E(o*N)+E(E(m*I)+E(R*z)));R=B[d+24>>2];_=B[d+16>>2];o=s;s=B[d+20>>2];da=E(E(t*R)+E(E(q*_)+E(o*s)));t=E(E(ca*k)+E(da*n));q=E(E(1)/E(M(E(U+E(E(l*l)+E(t*t))))));o=E(O*q);O=E(H*o);m=B[d+48>>2];X=E(m+E(E(r*A)+E(E(h*X)+E(Y*g))));H=E(X-m);m=E(l*q);g=E(E(r*R)+E(E(h*_)+E(s*g)));r=B[d+52>>2];Y=E(g+r);s=E(Y-r);r=E(t*q);h=E(O+E(E(H*m)+E(s*r)));l=E(o*h);R=E(P-l);g=B[a+608>>2];t=B[a+600>>2];q=B[a+604>>2];A=B[c+56>>2];_=E(E(E(g*j)+E(E(t*C)+E(F*q)))+A);A=E(_-A);O=B[c+48>>2];ia=E(O+E(E(g*w)+E(E(t*G)+E(J*q))));O=E(ia-O);P=E(E(g*N)+E(E(t*I)+E(z*q)));g=B[c+52>>2];ja=E(P+g);U=E(ja-g);g=E(E(o*A)+E(E(O*m)+E(U*r)));$=E(o*g);l=E($-l);t=E(R-E(n*l));q=E(r*h);ka=E(s-q);ea=E(r*g);P=E(ea-q);q=E(ka-E(n*P));h=E(m*h);la=E(H-h);g=E(m*g);h=E(g-h);s=E(la-E(n*h));$=E(A-$);l=E($+E(k*l));U=E(U-ea);H=E(U+E(k*P));g=E(O-g);A=E(g+E(k*h));d=!(eE(1.1920928955078125e-7)){j=E(E(1)/E(M(h)));h=E(e*j);e=E(W*j);g=E(g*j);break a}h=B[a+588>>2];e=E(h*w);w=B[a+556>>2];g=E(w*G);G=B[a+572>>2];g=E(e+E(g+E(J*G)));e=E(E(h*N)+E(E(w*I)+E(G*z)));h=E(E(h*j)+E(E(w*C)+E(G*F)))}p=x[b+24>>2];f=x[b+12>>2];B[f+8>>2]=E(A*e)-E(g*H);B[f+4>>2]=E(l*g)-E(h*A);B[f>>2]=E(H*h)-E(e*l);c=x[b+20>>2];B[c+8>>2]=-E(E(s*e)-E(g*q));B[c+4>>2]=-E(E(t*g)-E(h*s));B[c>>2]=-E(E(q*h)-E(e*t));C=E(E(o*g)-E(h*m));z=E(E(r*h)-E(e*o));j=E(E(s*C)-E(z*q));F=E(E(m*e)-E(g*r));w=E(E(t*z)-E(F*s));G=E(E(q*F)-E(C*t));J=E(E(A*C)-E(z*H));N=E(E(l*z)-E(F*A));I=E(E(H*F)-E(C*l));K=y[a+716|0];fa=!K;if(!(fa|d)){J=E(k*J);N=E(k*N);I=E(k*I);w=E(n*w);G=E(n*G);j=E(n*j)}i=p<<2;u=i+f|0;B[u+8>>2]=J;B[u+4>>2]=N;B[u>>2]=I;B[c+i>>2]=-G;Q=p+1|0;B[c+(Q<<2)>>2]=-w;ga=p+2|0;B[c+(ga<<2)>>2]=-j;j=E(E(s*r)+E(m*E(-q)));s=E(E(t*m)+E(o*E(-s)));t=E(E(q*o)+E(r*E(-t)));q=E(E(A*r)+E(m*E(-H)));A=E(E(l*m)+E(o*E(-A)));l=E(E(H*o)+E(r*E(-l)));if(!d){q=E(k*q);A=E(k*A);l=E(k*l);s=E(n*s);t=E(n*t);j=E(n*j)}n=E(-r);H=E(-m);w=E(-o);ma=p<<3;d=f+ma|0;B[d+8>>2]=q;B[d+4>>2]=A;B[d>>2]=l;u=p<<1;B[c+(u<<2)>>2]=-t;na=u|1;B[c+(na<<2)>>2]=-s;oa=u+2|0;B[c+(oa<<2)>>2]=-j;k=B[(y[a+748|0]&8?a+756|0:b+4|0)>>2];b:{if(y[a+736|0]){s=E(-F);t=E(-C);j=E(-z);A=E(-h);l=E(-e);q=E(-g);d=x[b+28>>2];break b}I=B[b>>2];d=x[b+8>>2];B[d+8>>2]=h;B[d+4>>2]=e;B[d>>2]=g;L=d+i|0;B[L+8>>2]=F;B[L+4>>2]=C;B[L>>2]=z;d=d+ma|0;B[d+8>>2]=o;B[d+4>>2]=r;B[d>>2]=m;d=x[b+16>>2];A=E(-h);B[d+8>>2]=A;l=E(-e);B[d+4>>2]=l;q=E(-g);B[d>>2]=q;L=p<<2;j=E(-z);B[L+d>>2]=j;t=E(-C);B[d+(Q<<2)>>2]=t;s=E(-F);B[d+(ga<<2)>>2]=s;u=u<<2;B[u+d>>2]=H;B[d+(na<<2)>>2]=n;B[d+(oa<<2)>>2]=w;d=x[b+28>>2];G=E(ha-_);J=E(X-ia);N=E(Y-ja);I=E(k*I);B[d>>2]=E(E(h*G)+E(E(g*J)+E(N*e)))*I;B[d+L>>2]=E(E(F*G)+E(E(z*J)+E(N*C)))*I;B[d+u>>2]=I*E(E(o*G)+E(E(m*J)+E(N*r)))}p=D(p,12);B[p+f>>2]=g;u=p+8|0;B[u+f>>2]=h;L=p+4|0;B[L+f>>2]=e;i=i<<2;B[i+f>>2]=z;Q=i|4;B[Q+f>>2]=C;ga=i|8;B[ga+f>>2]=F;B[c+p>>2]=q;B[c+u>>2]=A;B[c+L>>2]=l;B[c+i>>2]=j;B[c+Q>>2]=t;B[c+ga>>2]=s;j=E(E(V*da)-E(Z*ca));l=E(j*h);h=E(E(ca*T)-E(da*S));s=E(h*g);g=E(E(S*Z)-E(T*V));l=E(l+E(s+E(g*e)));e=E(k*B[b>>2]);B[d+p>>2]=l*e;B[d+i>>2]=E(E(j*F)+E(E(h*z)+E(g*C)))*e;c:{d:{if(K){u=y[a+737|0]!=0;e=E(B[a+708>>2]*B[a+732>>2]);d=e>E(0)?1:2;break d}if(!y[a+737|0]){break c}e=E(0);u=1;d=0}p=D(x[b+24>>2],5);i=p<<2;B[i+f>>2]=m;L=i+8|0;B[L+f>>2]=o;Q=f;f=i+4|0;B[Q+f>>2]=r;B[c+L>>2]=w;B[c+f>>2]=n;B[c+i>>2]=H;c=a+688|0;n=tb(c);h=ub(c);c=x[b+28>>2];x[i+c>>2]=0;i=x[a+748>>2];k=i&2?B[a+764>>2]:k;f=h!=n;if(!(!u|!(f|fa))){if(i&4){B[x[b+32>>2]+(p<<2)>>2]=B[a+752>>2]}n=wb(B[a+728>>2],n,h,B[a+680>>2],E(k*B[b>>2]));c=x[b+28>>2];i=p<<2;u=c+i|0;B[u>>2]=E(E(n*B[a+680>>2])*B[a+732>>2])+B[u>>2];B[i+x[b+36>>2]>>2]=-B[a+684>>2];B[i+x[b+40>>2]>>2]=B[a+684>>2]}if(!K){break c}i=p<<2;c=i+c|0;B[c>>2]=E(E(k*B[b>>2])*e)+B[c>>2];if(v[a+748|0]&1){B[i+x[b+32>>2]>>2]=B[a+760>>2]}e:{if(!f){x[x[b+36>>2]+(p<<2)>>2]=-8388609;e=E(34028234663852886e22);break e}f=x[b+36>>2]+(p<<2)|0;if((d|0)==1){x[f>>2]=0;e=E(34028234663852886e22);break e}x[f>>2]=-8388609;e=E(0)}B[x[b+40>>2]+(p<<2)>>2]=e;k=B[a+704>>2];f:{if(!(k>E(0))){break f}e=E(E(E(B[ba+8>>2]*o)+E(E(B[ba>>2]*m)+E(B[ba+4>>2]*r)))-E(E(B[aa+8>>2]*o)+E(E(B[aa>>2]*m)+E(r*B[aa+4>>2]))));g:{if((d|0)==1){if(!(eB[c>>2]){break g}break f}if(!(e>E(0))){break f}e=E(e*E(-k));if(!(e>2])){break f}}B[c>>2]=e}B[c>>2]=B[a+700>>2]*B[c>>2]}return}h=B[a+656>>2];G=B[d+40>>2];W=E(h*G);g=B[a+624>>2];J=B[d+32>>2];j=B[a+640>>2];N=B[d+36>>2];ha=E(E(g*J)+E(j*N));I=B[d+24>>2];X=E(h*I);S=B[d+16>>2];T=B[d+20>>2];Y=E(E(g*S)+E(j*T));C=B[a+592>>2];e=B[c+40>>2];R=E(C*e);z=B[a+560>>2];k=B[c+32>>2];F=B[a+576>>2];n=B[c+36>>2];_=E(E(z*k)+E(F*n));t=B[a+588>>2];O=E(t*e);q=B[a+556>>2];s=B[a+572>>2];ia=E(E(q*k)+E(s*n));l=B[a+584>>2];ja=E(l*e);H=B[a+552>>2];A=B[a+568>>2];U=E(E(H*k)+E(A*n));o=B[c+24>>2];$=E(C*o);m=B[c+16>>2];r=B[c+20>>2];ka=E(E(z*m)+E(F*r));w=B[a+672>>2];P=E(w*G);G=B[a+664>>2];V=E(G*J);J=B[a+668>>2];N=E(E(P+E(V+E(N*J)))+B[d+56>>2]);I=E(E(E(w*I)+E(E(G*S)+E(T*J)))+B[d+52>>2]);S=B[a+608>>2];T=B[a+600>>2];V=B[a+604>>2];Z=B[c+56>>2];ca=E(E(E(S*e)+E(E(T*k)+E(n*V)))+Z);e=B[c+52>>2];da=E(E(E(S*o)+E(E(T*m)+E(r*V)))+e);P=g;g=B[d>>2];ea=B[d+4>>2];P=E(E(P*g)+E(ea*j));j=B[d+8>>2];la=E(h*j);k=B[c>>2];n=B[c+4>>2];z=E(E(z*k)+E(n*F));h=B[c+8>>2];F=E(C*h);g=E(B[d+48>>2]+E(E(w*j)+E(E(G*g)+E(ea*J))));j=B[c+48>>2];C=E(j+E(E(S*h)+E(E(T*k)+E(n*V))));p=x[b+24>>2];u=y[a+736|0];if(!u){f=x[b+8>>2];x[f>>2]=1065353216;i=(p<<2)+4|0;x[i+f>>2]=1065353216;K=(p<<3)+8|0;x[K+f>>2]=1065353216;f=x[b+16>>2];x[f>>2]=-1082130432;x[f+i>>2]=-1082130432;x[f+K>>2]=-1082130432;Z=B[c+56>>2];j=B[c+48>>2];e=B[c+52>>2]}c=x[b+12>>2];x[c+12>>2]=0;w=E(ca-Z);B[c+4>>2]=w;x[c>>2]=0;e=E(da-e);B[c+8>>2]=-e;i=p<<2;f=i+c|0;x[f+12>>2]=0;j=E(C-j);B[f+8>>2]=j;x[f+4>>2]=0;B[f>>2]=-w;K=p<<3;f=K+c|0;x[f+8>>2]=0;x[f+12>>2]=0;B[f+4>>2]=-j;B[f>>2]=e;e=B[d+48>>2];j=B[d+56>>2];w=B[d+52>>2];f=x[b+20>>2];x[f+12>>2]=0;x[f>>2]=0;w=E(I-w);B[f+8>>2]=w;j=E(N-j);B[f+4>>2]=-j;d=f+i|0;x[d+12>>2]=0;e=E(g-e);B[d+8>>2]=-e;x[d+4>>2]=0;B[d>>2]=j;d=f+K|0;x[d+8>>2]=0;x[d+12>>2]=0;B[d+4>>2]=e;B[d>>2]=-w;w=B[(y[a+748|0]&8?a+756|0:b+4|0)>>2];e=E(w*B[b>>2]);d=x[b+28>>2];if(!u){B[d>>2]=e*E(g-C);B[d+i>>2]=e*E(I-da);B[d+(p<<3)>>2]=e*E(N-ca)}i=D(p,12);g=E(E(l*h)+E(E(H*k)+E(A*n)));B[i+c>>2]=g;K=i+8|0;j=E(ja+U);B[K+c>>2]=j;L=i+4|0;C=E(E(l*o)+E(E(H*m)+E(A*r)));B[L+c>>2]=C;u=p<<4;h=E(E(t*h)+E(E(q*k)+E(n*s)));B[u+c>>2]=h;fa=u|4;m=E(E(t*o)+E(E(q*m)+E(s*r)));B[fa+c>>2]=m;Q=u|8;r=E(O+ia);B[Q+c>>2]=r;B[f+i>>2]=-g;B[f+K>>2]=-j;B[f+L>>2]=-C;B[f+u>>2]=-h;B[f+fa>>2]=-m;B[f+Q>>2]=-r;k=E(F+z);o=E(X+Y);z=E(la+P);n=E($+ka);F=E(E(k*o)-E(z*n));s=E(F*j);j=E(W+ha);l=o;o=E(R+_);t=E(E(n*j)-E(l*o));l=E(t*g);g=E(E(o*z)-E(j*k));B[d+i>>2]=E(s+E(l+E(C*g)))*e;B[d+u>>2]=E(E(F*r)+E(E(t*h)+E(m*g)))*e;u=y[a+716|0];h:{i:{if(u){K=y[a+737|0]!=0;e=E(B[a+708>>2]*B[a+732>>2]);d=e>E(0)?1:2;break i}if(!y[a+737|0]){break h}e=E(0);K=1;d=0}p=D(p,5);i=p<<2;B[i+c>>2]=k;L=i+8|0;B[L+c>>2]=o;Q=c;c=i+4|0;B[Q+c>>2]=n;B[f+L>>2]=-o;B[c+f>>2]=-n;B[f+i>>2]=-k;c=a+688|0;m=tb(c);r=ub(c);c=x[b+28>>2];x[i+c>>2]=0;i=x[a+748>>2];h=i&2?B[a+764>>2]:w;f=m!=r;if(!(!K|!(f|!u))){if(i&4){B[x[b+32>>2]+(p<<2)>>2]=B[a+752>>2]}m=wb(B[a+728>>2],m,r,B[a+680>>2],E(h*B[b>>2]));c=x[b+28>>2];i=p<<2;K=c+i|0;B[K>>2]=E(E(m*B[a+680>>2])*B[a+732>>2])+B[K>>2];B[i+x[b+36>>2]>>2]=-B[a+684>>2];B[i+x[b+40>>2]>>2]=B[a+684>>2]}if(!u){break h}i=p<<2;c=i+c|0;B[c>>2]=E(E(h*B[b>>2])*e)+B[c>>2];if(v[a+748|0]&1){B[i+x[b+32>>2]>>2]=B[a+760>>2]}j:{if(!f){x[x[b+36>>2]+(p<<2)>>2]=-8388609;e=E(34028234663852886e22);break j}f=x[b+36>>2]+(p<<2)|0;if((d|0)==1){x[f>>2]=0;e=E(34028234663852886e22);break j}x[f>>2]=-8388609;e=E(0)}B[x[b+40>>2]+(p<<2)>>2]=e;m=B[a+704>>2];k:{if(!(m>E(0))){break k}e=E(E(E(B[ba+8>>2]*o)+E(E(B[ba>>2]*k)+E(n*B[ba+4>>2])))-E(E(B[aa+8>>2]*o)+E(E(B[aa>>2]*k)+E(n*B[aa+4>>2]))));l:{if((d|0)==1){if(!(eB[c>>2]){break l}break k}if(!(e>E(0))){break k}e=E(e*E(-m));if(!(e>2])){break k}}B[c>>2]=e}B[c>>2]=B[a+700>>2]*B[c>>2]}}function Ic(a,b,c,d,e,f){var g=0,h=E(0),i=0,j=E(0),k=E(0),l=E(0),m=E(0),n=E(0),o=0,p=E(0),q=E(0),r=E(0),s=E(0),t=E(0),u=E(0),w=E(0),z=E(0),A=E(0),C=E(0),F=E(0),G=E(0),H=E(0),I=E(0),J=E(0),K=E(0),L=0,N=E(0),O=E(0),P=0,Q=E(0),R=E(0),S=E(0);g=ga-672|0;ga=g;i=x[d+12>>2];L=x[d+4>>2];P=x[L+4>>2];a:{if((P|0)<=19){B[g+644>>2]=f;x[g+640>>2]=0;x[g+472>>2]=13156;B[g+636>>2]=B[e+4>>2];v[g+444|0]=0;x[g+420>>2]=953267991;x[g+36>>2]=22676;o=g+648|0;x[o+20>>2]=0;x[o+16>>2]=L;x[o+12>>2]=a;x[o+8>>2]=g+36;x[o+4>>2]=g+112;x[o>>2]=22452;b:{if(!(ia[x[x[o>>2]+8>>2]](o,b,c,i,i,g+472|0)|0)){break b}j=B[g+612>>2];k=B[g+604>>2];n=B[g+608>>2];h=E(E(j*j)+E(E(k*k)+E(n*n)));if(!(h>E(9999999747378752e-20))){break b}f=B[g+636>>2];if(!(f>2])){break b}h=E(E(1)/E(M(h)));B[g+612>>2]=j*h;B[g+608>>2]=n*h;B[g+604>>2]=k*h;x[g+60>>2]=L;x[g+68>>2]=x[d+8>>2];x[g+72>>2]=g+52;a=x[g+616>>2];x[g+84>>2]=x[g+612>>2];x[g+88>>2]=a;c=x[g+604>>2];b=x[g+608>>2];a=x[g+632>>2];x[g+100>>2]=x[g+628>>2];x[g+104>>2]=a;x[g+76>>2]=c;x[g+80>>2]=b;a=x[g+624>>2];x[g+92>>2]=x[g+620>>2];x[g+96>>2]=a;B[g+108>>2]=f;E(ia[x[x[e>>2]+12>>2]](e,g+68|0,1))}break a}o=P-21|0;if(o>>>0<=8){c:{switch(o|0){case 0:r=B[i+20>>2];s=B[i+36>>2];p=B[i+52>>2];t=B[i+24>>2];q=B[i+56>>2];u=B[i+40>>2];G=B[i+32>>2];H=B[i>>2];I=B[i+16>>2];J=B[i+4>>2];K=B[i+8>>2];h=B[i+48>>2];m=B[b+52>>2];l=B[b+56>>2];j=B[b+48>>2];x[g+80>>2]=0;h=E(-h);k=E(E(E(K*h)-E(t*p))-E(u*q));B[g+76>>2]=k+E(E(l*u)+E(E(j*K)+E(t*m)));n=E(E(E(J*h)-E(r*p))-E(s*q));B[g+72>>2]=n+E(E(l*s)+E(E(j*J)+E(r*m)));h=E(E(E(H*h)-E(I*p))-E(G*q));B[g+68>>2]=h+E(E(l*G)+E(E(j*H)+E(I*m)));m=B[c+52>>2];l=B[c+56>>2];j=B[c+48>>2];x[g+660>>2]=0;B[g+656>>2]=k+E(E(l*u)+E(E(j*K)+E(t*m)));B[g+652>>2]=n+E(E(l*s)+E(E(j*J)+E(r*m)));B[g+648>>2]=h+E(E(l*G)+E(E(j*H)+E(I*m)));N=B[c+20>>2];p=B[c+36>>2];q=B[c+24>>2];m=B[c+40>>2];l=B[c+32>>2];j=B[c>>2];k=B[c+16>>2];n=B[c+4>>2];h=B[c+8>>2];x[g+516>>2]=0;x[g+520>>2]=0;x[g+500>>2]=0;x[g+524>>2]=0;x[g+528>>2]=0;x[g+532>>2]=0;B[g+512>>2]=E(m*u)+E(E(h*K)+E(t*q));B[g+508>>2]=E(p*u)+E(E(n*K)+E(t*N));B[g+496>>2]=E(m*s)+E(E(h*J)+E(r*q));B[g+492>>2]=E(p*s)+E(E(n*J)+E(r*N));x[g+484>>2]=0;B[g+504>>2]=E(l*u)+E(E(j*K)+E(t*k));B[g+488>>2]=E(l*s)+E(E(j*J)+E(r*k));B[g+480>>2]=E(m*G)+E(E(h*H)+E(I*q));B[g+476>>2]=E(p*G)+E(E(n*H)+E(I*N));B[g+472>>2]=E(l*G)+E(E(j*H)+E(I*k));d=x[d+8>>2];b=Jd(g+112|0,a,b,c,i,E(ia[x[x[L>>2]+48>>2]](L)));x[b+220>>2]=L;x[b+216>>2]=d;x[b+212>>2]=e;x[b>>2]=13756;h=B[e+4>>2];B[b+208>>2]=f;B[b+200>>2]=h;e=g+52|0;d=g+36|0;ia[x[x[a>>2]+8>>2]](a,g+472|0,e,d);P=ga-16|0;ga=P;a=x[L+56>>2];x[P+12>>2]=b;x[P+8>>2]=a;x[P+4>>2]=18824;c=P+4|0;b=g+68|0;a=g+648|0;o=x[L+60>>2];d:{if(y[o+60|0]){ne(o,c,b,a,e,d,x[o+56>>2]);break d}oe(o,c,b,a,e,d)}ga=P+16|0;break a;case 7:B[g+284>>2]=f;x[g+280>>2]=0;x[g+112>>2]=13156;B[g+276>>2]=B[e+4>>2];o=g+68|0;x[o+20>>2]=L;x[o+16>>2]=0;x[o+12>>2]=a;x[o+4>>2]=0;x[o+8>>2]=0;x[o>>2]=22452;e:{if(!(ia[x[x[o>>2]+8>>2]](o,b,c,i,i,g+112|0)|0)){break e}j=B[g+252>>2];k=B[g+244>>2];n=B[g+248>>2];h=E(E(j*j)+E(E(k*k)+E(n*n)));if(!(h>E(9999999747378752e-20))){break e}f=B[g+276>>2];if(!(f>2])){break e}h=E(E(1)/E(M(h)));B[g+252>>2]=j*h;B[g+248>>2]=n*h;B[g+244>>2]=k*h;x[g+656>>2]=L;x[g+472>>2]=x[d+8>>2];x[g+476>>2]=g+648;a=x[g+256>>2];x[g+488>>2]=x[g+252>>2];x[g+492>>2]=a;c=x[g+244>>2];b=x[g+248>>2];a=x[g+272>>2];x[g+504>>2]=x[g+268>>2];x[g+508>>2]=a;x[g+480>>2]=c;x[g+484>>2]=b;a=x[g+264>>2];x[g+496>>2]=x[g+260>>2];x[g+500>>2]=a;B[g+512>>2]=f;E(ia[x[x[e>>2]+12>>2]](e,g+472|0,1))}break a;default:break c}}r=B[b+52>>2];s=B[b+56>>2];t=B[i+52>>2];u=B[i+56>>2];G=B[c+52>>2];H=B[c+56>>2];Q=B[i+20>>2];R=B[i+36>>2];S=B[i+24>>2];O=B[i+40>>2];I=B[b+48>>2];n=B[i+48>>2];J=B[c+48>>2];w=B[i+32>>2];z=B[i>>2];A=B[i+16>>2];C=B[i+4>>2];F=B[i+8>>2];K=B[c+20>>2];N=B[c+36>>2];p=B[c+24>>2];q=B[c+40>>2];m=B[c+32>>2];l=B[c>>2];j=B[c+16>>2];k=B[c+4>>2];h=B[c+8>>2];x[g+516>>2]=0;x[g+520>>2]=0;x[g+500>>2]=0;x[g+524>>2]=0;x[g+528>>2]=0;x[g+532>>2]=0;B[g+512>>2]=E(q*O)+E(E(h*F)+E(S*p));B[g+508>>2]=E(N*O)+E(E(k*F)+E(S*K));B[g+496>>2]=E(q*R)+E(E(h*C)+E(Q*p));B[g+492>>2]=E(N*R)+E(E(k*C)+E(Q*K));x[g+484>>2]=0;B[g+504>>2]=E(m*O)+E(E(l*F)+E(S*j));B[g+488>>2]=E(m*R)+E(E(l*C)+E(Q*j));B[g+480>>2]=E(q*w)+E(E(h*z)+E(A*p));B[g+476>>2]=E(N*w)+E(E(k*z)+E(A*K));B[g+472>>2]=E(m*w)+E(E(l*z)+E(A*j));d=x[d+8>>2];b=Jd(g+112|0,a,b,c,i,E(ia[x[x[L>>2]+48>>2]](L)));x[b+220>>2]=L;x[b+216>>2]=d;x[b+212>>2]=e;x[b>>2]=13968;h=B[e+4>>2];B[b+208>>2]=f;B[b+200>>2]=h;ia[x[x[a>>2]+8>>2]](a,g+472|0,g+68|0,g+648|0);x[g+64>>2]=0;f=E(-n);k=E(E(E(F*f)-E(S*t))-E(O*u));h=E(E(E(C*f)-E(Q*t))-E(R*u));l=E(h+E(E(H*R)+E(E(J*C)+E(Q*G))));f=E(E(E(z*f)-E(A*t))-E(w*u));p=E(f+E(E(s*w)+E(E(I*z)+E(A*r))));n=p;j=E(f+E(E(H*w)+E(E(J*z)+E(A*G))));if(j>2]=j;n=j}m=E(h+E(E(s*R)+E(E(I*C)+E(Q*r))));h=m;if(l>2]=l;h=l}q=E(k+E(E(s*O)+E(E(I*F)+E(S*r))));f=q;k=E(k+E(E(H*O)+E(E(J*F)+E(S*G))));if(k>2]=k;f=k}x[g+48>>2]=0;B[g+52>>2]=B[g+68>>2]+n;B[g+56>>2]=B[g+72>>2]+h;B[g+60>>2]=B[g+76>>2]+f;B[g+36>>2]=B[g+648>>2]+(j>p?j:p);B[g+40>>2]=B[g+652>>2]+(l>m?l:m);B[g+44>>2]=B[g+656>>2]+(k>q?k:q);ia[x[x[L>>2]+64>>2]](L,b,g+52|0,g+36|0);break a}if((P|0)!=31){break a}ia[x[8262]](7733);u=B[i+52>>2];G=B[i+56>>2];H=B[b+52>>2];I=B[b+56>>2];O=B[i+20>>2];w=B[i+36>>2];J=B[b+20>>2];K=B[b+36>>2];N=B[b+24>>2];z=B[i+24>>2];p=B[b+40>>2];A=B[i+40>>2];C=B[i+32>>2];F=B[i>>2];r=B[i+16>>2];q=B[b+32>>2];m=B[b>>2];l=B[b+16>>2];h=B[i+48>>2];j=B[b+48>>2];s=B[i+4>>2];k=B[b+4>>2];n=B[b+8>>2];t=B[i+8>>2];x[g+172>>2]=0;x[g+156>>2]=0;x[g+140>>2]=0;B[g+152>>2]=E(p*A)+E(E(n*t)+E(z*N));B[g+148>>2]=E(K*A)+E(E(k*t)+E(z*J));B[g+136>>2]=E(p*w)+E(E(n*s)+E(O*N));B[g+132>>2]=E(K*w)+E(E(k*s)+E(O*J));h=E(-h);B[g+168>>2]=E(E(E(t*h)-E(z*u))-E(A*G))+E(E(I*A)+E(E(j*t)+E(z*H)));B[g+164>>2]=E(E(E(s*h)-E(O*u))-E(w*G))+E(E(I*w)+E(E(j*s)+E(O*H)));x[g+124>>2]=0;B[g+144>>2]=E(q*A)+E(E(m*t)+E(z*l));B[g+128>>2]=E(q*w)+E(E(m*s)+E(O*l));B[g+120>>2]=E(p*C)+E(E(n*F)+E(r*N));B[g+116>>2]=E(K*C)+E(E(k*F)+E(r*J));B[g+112>>2]=E(q*C)+E(E(m*F)+E(r*l));B[g+160>>2]=E(E(E(F*h)-E(r*u))-E(C*G))+E(E(I*C)+E(E(j*F)+E(r*H)));o=g+112|0;ia[x[x[a>>2]+8>>2]](a,o,g+52|0,g+36|0);u=B[i+52>>2];G=B[i+56>>2];H=B[c+52>>2];I=B[c+56>>2];O=B[i+20>>2];w=B[i+36>>2];J=B[c+20>>2];K=B[c+36>>2];N=B[c+24>>2];z=B[i+24>>2];p=B[c+40>>2];A=B[i+40>>2];C=B[i+32>>2];F=B[i>>2];r=B[i+16>>2];q=B[c+32>>2];m=B[c>>2];l=B[c+16>>2];h=B[i+48>>2];j=B[c+48>>2];s=B[i+4>>2];k=B[c+4>>2];n=B[c+8>>2];t=B[i+8>>2];x[g+172>>2]=0;x[g+156>>2]=0;x[g+140>>2]=0;B[g+152>>2]=E(p*A)+E(E(n*t)+E(z*N));B[g+148>>2]=E(K*A)+E(E(k*t)+E(z*J));B[g+136>>2]=E(p*w)+E(E(n*s)+E(O*N));B[g+132>>2]=E(K*w)+E(E(k*s)+E(O*J));h=E(-h);B[g+168>>2]=E(E(E(t*h)-E(z*u))-E(A*G))+E(E(I*A)+E(E(j*t)+E(z*H)));B[g+164>>2]=E(E(E(s*h)-E(O*u))-E(w*G))+E(E(I*w)+E(E(j*s)+E(O*H)));x[g+124>>2]=0;B[g+144>>2]=E(q*A)+E(E(m*t)+E(z*l));B[g+128>>2]=E(q*w)+E(E(m*s)+E(O*l));B[g+120>>2]=E(p*C)+E(E(n*F)+E(r*N));B[g+116>>2]=E(K*C)+E(E(k*F)+E(r*J));B[g+112>>2]=E(q*C)+E(E(m*F)+E(r*l));B[g+160>>2]=E(E(E(F*h)-E(r*u))-E(C*G))+E(E(I*C)+E(E(j*F)+E(r*H)));ia[x[x[a>>2]+8>>2]](a,o,g+16|0,g);h=B[g+16>>2];if(h>2]){B[g+52>>2]=h}h=B[g+20>>2];if(h>2]){B[g+56>>2]=h}h=B[g+24>>2];if(h>2]){B[g+60>>2]=h}h=B[g+28>>2];if(h>2]){B[g+64>>2]=h}h=B[g>>2];if(h>B[g+36>>2]){B[g+36>>2]=h}h=B[g+4>>2];if(h>B[g+40>>2]){B[g+40>>2]=h}h=B[g+8>>2];if(h>B[g+44>>2]){B[g+44>>2]=h}h=B[g+12>>2];if(h>B[g+48>>2]){B[g+48>>2]=h}x[g+504>>2]=e;x[g+500>>2]=i;B[g+492>>2]=f;x[g+488>>2]=c;x[g+484>>2]=b;x[g+480>>2]=a;x[g+476>>2]=d;x[g+472>>2]=14184;x[g+496>>2]=L;b=x[L+72>>2];f:{if(!b){if(x[L+24>>2]<=0){break f}c=0;while(1){a=x[L+32>>2]+D(c,80)|0;d=x[a+64>>2];G=B[a+48>>2];H=B[a+52>>2];I=B[a+56>>2];J=B[a>>2];K=B[a+16>>2];N=B[a+32>>2];p=B[a+4>>2];q=B[a+20>>2];m=B[a+36>>2];l=B[a+8>>2];j=B[a+24>>2];k=B[a+40>>2];a=x[g+500>>2];n=B[a+52>>2];h=B[a+56>>2];w=B[a+20>>2];z=B[a+24>>2];A=B[a+36>>2];C=B[a+40>>2];f=B[a+48>>2];F=B[a+8>>2];r=B[a>>2];s=B[a+4>>2];t=B[a+16>>2];u=B[a+32>>2];x[g+172>>2]=0;x[g+156>>2]=0;x[g+140>>2]=0;x[g+124>>2]=0;B[g+152>>2]=E(k*C)+E(E(l*u)+E(j*A));B[g+148>>2]=E(m*C)+E(E(p*u)+E(q*A));B[g+144>>2]=E(N*C)+E(E(J*u)+E(K*A));B[g+136>>2]=E(k*z)+E(E(l*t)+E(j*w));B[g+132>>2]=E(m*z)+E(E(p*t)+E(q*w));B[g+128>>2]=E(N*z)+E(E(J*t)+E(K*w));B[g+120>>2]=E(k*F)+E(E(l*r)+E(j*s));B[g+116>>2]=E(m*F)+E(E(p*r)+E(q*s));B[g+112>>2]=E(N*F)+E(E(J*r)+E(K*s));B[g+168>>2]=h+E(E(I*C)+E(E(G*u)+E(H*A)));B[g+164>>2]=n+E(E(I*z)+E(E(G*t)+E(H*w)));B[g+160>>2]=f+E(E(I*F)+E(E(G*r)+E(H*s)));x[g+80>>2]=-1;x[g+84>>2]=0;x[g+72>>2]=1065353216;x[g+76>>2]=1;x[g+96>>2]=c;a=x[g+504>>2];x[g+92>>2]=a;x[g+88>>2]=d;x[g+68>>2]=14400;B[g+72>>2]=B[a+4>>2];b=x[g+476>>2];a=x[b+8>>2];x[g+668>>2]=c;x[g+664>>2]=-1;x[g+656>>2]=a;x[g+652>>2]=d;x[g+648>>2]=b;x[g+660>>2]=g+112;Ic(x[g+480>>2],x[g+484>>2],x[g+488>>2],g+648|0,g+68|0,B[g+492>>2]);c=c+1|0;if((c|0)>2]){continue}break}break f}a=x[g+64>>2];x[g+120>>2]=x[g+60>>2];x[g+124>>2]=a;a=x[g+48>>2];x[g+136>>2]=x[g+44>>2];x[g+140>>2]=a;a=x[g+40>>2];x[g+128>>2]=x[g+36>>2];x[g+132>>2]=a;a=x[g+56>>2];x[g+112>>2]=x[g+52>>2];x[g+116>>2]=a;mb(x[b>>2],g+112|0,g+472|0)}ia[x[8263]]()}ga=g+672|0}function He(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=E(0),l=0,m=E(0),n=E(0),o=E(0),p=E(0),q=E(0),r=0,s=0,t=E(0),u=E(0),w=E(0),z=0,A=E(0),C=E(0),F=E(0),G=E(0),H=E(0),I=E(0),J=E(0),K=E(0),L=E(0),M=E(0),N=E(0),O=E(0),P=E(0),Q=0,R=E(0),S=E(0),T=0;f=ga-176|0;ga=f;i=y[a+68|0];T=i?c:b;Q=x[T+4>>2];if(x[Q+76>>2]!=x[a+80>>2]){j=x[a+52>>2];if((j|0)>0){while(1){s=g<<2;h=x[s+x[a+60>>2]>>2];if(h){ia[x[x[h>>2]>>2]](h)|0;h=x[a+4>>2];ia[x[x[h>>2]+60>>2]](h,x[s+x[a+60>>2]>>2])}g=g+1|0;if((j|0)!=(g|0)){continue}break}}Ie(a,b,c);x[a+80>>2]=x[Q+76>>2]}h=x[a+52>>2];a:{if(!h){break a}j=x[Q+72>>2];g=x[a+60>>2];s=x[a+4>>2];x[f+172>>2]=x[a+72>>2];x[f+168>>2]=g;x[f+164>>2]=e;x[f+160>>2]=d;x[f+156>>2]=s;s=i?b:c;x[f+152>>2]=s;x[f+148>>2]=T;x[f+144>>2]=16264;b=x[a+32>>2];if((b|0)<0){if(x[a+36>>2]<0){c=x[a+40>>2];if(!(c?!c|!y[a+44|0]:1)){x[8457]=x[8457]+1;ia[x[8259]](c)}v[a+44|0]=1;x[a+36>>2]=0;x[a+40>>2]=0}h=0;g=b;c=0-b&3;if(c){while(1){x[x[a+40>>2]+(g<<2)>>2]=0;g=g+1|0;h=h+1|0;if((c|0)!=(h|0)){continue}break}}if(b>>>0<=4294967292){while(1){b=g<<2;x[b+x[a+40>>2]>>2]=0;x[(b+x[a+40>>2]|0)+4>>2]=0;x[(b+x[a+40>>2]|0)+8>>2]=0;x[(b+x[a+40>>2]|0)+12>>2]=0;g=g+4|0;if(g){continue}break}}h=x[a+52>>2]}x[a+32>>2]=0;if((h|0)>0){i=a+28|0;b=0;while(1){c=x[x[a+60>>2]+(b<<2)>>2];if(c){ia[x[x[c>>2]+16>>2]](c,i);g=0;c=x[a+32>>2];if((c|0)>0){while(1){d=x[x[a+40>>2]+(g<<2)>>2];if(x[d+844>>2]){x[e+4>>2]=d;h=x[d+836>>2];r=x[x[e+8>>2]+8>>2];c=(h|0)==(r|0);l=d;d=x[x[e+12>>2]+8>>2];Ja(l,(c?h:d)+4|0,(c?d:r)+4|0);x[e+4>>2]=0;c=x[a+32>>2]}g=g+1|0;if((g|0)<(c|0)){continue}break}}b:{if((c|0)>=0){break b}if(x[a+36>>2]<0){d=x[a+40>>2];if(!(d?!d|!y[a+44|0]:1)){x[8457]=x[8457]+1;ia[x[8259]](d)}v[a+44|0]=1;x[a+36>>2]=0;x[a+40>>2]=0}h=0;g=c;d=0-c&3;if(d){while(1){x[x[a+40>>2]+(g<<2)>>2]=0;g=g+1|0;h=h+1|0;if((d|0)!=(h|0)){continue}break}}if(c>>>0>4294967292){break b}while(1){c=g<<2;x[c+x[a+40>>2]>>2]=0;x[(c+x[a+40>>2]|0)+4>>2]=0;x[(c+x[a+40>>2]|0)+8>>2]=0;x[(c+x[a+40>>2]|0)+12>>2]=0;g=g+4|0;if(g){continue}break}}x[a+32>>2]=0;h=x[a+52>>2]}b=b+1|0;if((h|0)>(b|0)){continue}break}}c:{if(!j){if((h|0)<=0){break c}g=0;while(1){Ge(f+144|0,x[(x[Q+32>>2]+D(g,80)|0)+64>>2],g);g=g+1|0;if((h|0)!=(g|0)){continue}break}break c}b=x[T+12>>2];A=B[b+52>>2];C=B[b+56>>2];c=x[s+12>>2];F=B[c+52>>2];G=B[c+56>>2];k=B[b+20>>2];m=B[b+36>>2];H=B[c+20>>2];I=B[c+36>>2];J=B[c+24>>2];n=B[b+24>>2];K=B[c+40>>2];o=B[b+40>>2];L=B[c+32>>2];p=B[b+32>>2];M=B[c>>2];q=B[b>>2];N=B[c+16>>2];t=B[b+16>>2];O=B[b+48>>2];P=B[c+48>>2];u=B[b+4>>2];R=B[c+4>>2];S=B[c+8>>2];w=B[b+8>>2];x[f+108>>2]=0;x[f+92>>2]=0;x[f+76>>2]=0;B[f+88>>2]=E(K*o)+E(E(S*w)+E(n*J));B[f+84>>2]=E(I*o)+E(E(R*w)+E(n*H));B[f+72>>2]=E(K*m)+E(E(S*u)+E(k*J));B[f+68>>2]=E(I*m)+E(E(R*u)+E(k*H));O=E(-O);B[f+104>>2]=E(E(E(w*O)-E(n*A))-E(o*C))+E(E(G*o)+E(E(P*w)+E(n*F)));B[f+100>>2]=E(E(E(u*O)-E(k*A))-E(m*C))+E(E(G*m)+E(E(P*u)+E(k*F)));x[f+60>>2]=0;B[f+48>>2]=E(L*p)+E(E(M*q)+E(t*N));B[f+80>>2]=E(L*o)+E(E(M*w)+E(n*N));B[f+64>>2]=E(L*m)+E(E(M*u)+E(k*N));B[f+56>>2]=E(K*p)+E(E(S*q)+E(t*J));B[f+52>>2]=E(I*p)+E(E(R*q)+E(t*H));B[f+96>>2]=E(E(E(q*O)-E(t*A))-E(p*C))+E(E(G*p)+E(E(P*q)+E(t*F)));b=x[s+4>>2];ia[x[x[b>>2]+8>>2]](b,f+48|0,f+128|0,f+112|0);k=B[e+32>>2];B[f+136>>2]=B[f+136>>2]-k;B[f+120>>2]=k+B[f+120>>2];B[f+128>>2]=B[f+128>>2]-k;B[f+132>>2]=B[f+132>>2]-k;B[f+112>>2]=k+B[f+112>>2];B[f+116>>2]=k+B[f+116>>2];b=x[f+140>>2];x[f+24>>2]=x[f+136>>2];x[f+28>>2]=b;b=x[f+124>>2];x[f+40>>2]=x[f+120>>2];x[f+44>>2]=b;b=x[f+116>>2];x[f+32>>2]=x[f+112>>2];x[f+36>>2]=b;b=x[f+132>>2];x[f+16>>2]=x[f+128>>2];x[f+20>>2]=b;c=0;i=0;h=x[j>>2];if(h){d=x[a+16>>2];k=B[f+40>>2];m=B[f+36>>2];n=B[f+32>>2];o=B[f+24>>2];p=B[f+20>>2];q=B[f+16>>2];e=x[a+12>>2];d:{if((e|0)>=0){break d}if((d|0)<0){b=x[a+20>>2];if(!(b?!b|!y[a+24|0]:1)){x[8457]=x[8457]+1;ia[x[8259]](b)}v[a+24|0]=1;x[a+16>>2]=0;x[a+20>>2]=0;d=0}b=e;g=0-b&3;if(g){while(1){x[x[a+20>>2]+(b<<2)>>2]=0;b=b+1|0;c=c+1|0;if((g|0)!=(c|0)){continue}break}}if(e>>>0>4294967292){break d}while(1){c=b<<2;x[c+x[a+20>>2]>>2]=0;x[(c+x[a+20>>2]|0)+4>>2]=0;x[(c+x[a+20>>2]|0)+8>>2]=0;x[(c+x[a+20>>2]|0)+12>>2]=0;b=b+4|0;if(b){continue}break}}e=0;x[a+12>>2]=0;if((d|0)<=63){x[8456]=x[8456]+1;c=ia[x[8258]](256,16)|0;e=x[a+12>>2];e:{if((e|0)<=0){break e}d=0;b=0;if(e>>>0>=4){j=e&-4;while(1){g=b<<2;x[g+c>>2]=x[g+x[a+20>>2]>>2];r=g|4;x[r+c>>2]=x[r+x[a+20>>2]>>2];r=g|8;x[r+c>>2]=x[r+x[a+20>>2]>>2];g=g|12;x[g+c>>2]=x[g+x[a+20>>2]>>2];b=b+4|0;i=i+4|0;if((j|0)!=(i|0)){continue}break}}g=e&3;if(!g){break e}while(1){j=b<<2;x[j+c>>2]=x[j+x[a+20>>2]>>2];b=b+1|0;d=d+1|0;if((g|0)!=(d|0)){continue}break}}b=x[a+20>>2];if(!(!b|!y[a+24|0])){if(b){x[8457]=x[8457]+1;ia[x[8259]](b)}e=x[a+12>>2]}x[a+20>>2]=c;v[a+24|0]=1;x[a+16>>2]=64;d=64}r=f+144|0;f:{if((d|0)!=(e|0)){break f}j=d<<1;if((j|0)<=(d|0)){e=d;break f}b=0;g:{h:{if(!d){c=0;e=d;break h}x[8456]=x[8456]+1;c=ia[x[8258]](d<<3,16)|0;e=x[a+12>>2];if((e|0)<=0){break g}}if(e-1>>>0>=3){i=e&-4;d=0;while(1){g=b<<2;x[g+c>>2]=x[g+x[a+20>>2]>>2];z=g|4;x[z+c>>2]=x[z+x[a+20>>2]>>2];z=g|8;x[z+c>>2]=x[z+x[a+20>>2]>>2];g=g|12;x[g+c>>2]=x[g+x[a+20>>2]>>2];b=b+4|0;d=d+4|0;if((i|0)!=(d|0)){continue}break}}g=e&3;if(!g){break g}d=0;while(1){i=b<<2;x[i+c>>2]=x[i+x[a+20>>2]>>2];b=b+1|0;d=d+1|0;if((g|0)!=(d|0)){continue}break}}b=x[a+20>>2];if(!(!b|!y[a+24|0])){if(b){x[8457]=x[8457]+1;ia[x[8259]](b)}e=x[a+12>>2]}x[a+20>>2]=c;v[a+24|0]=1;x[a+16>>2]=j}x[x[a+20>>2]+(e<<2)>>2]=h;b=e+1|0;while(1){d=x[a+20>>2];c=b-1|0;j=x[d+(c<<2)>>2];x[a+12>>2]=c;i:{if(!(n>=B[j>>2])){b=c;break i}if(!(q<=B[j+16>>2])){b=c;break i}if(!(m>=B[j+4>>2])){b=c;break i}if(!(p<=B[j+20>>2])){b=c;break i}if(!(k>=B[j+8>>2])){b=c;break i}if(!(o<=B[j+24>>2])){b=c;break i}if(x[j+40>>2]){g=x[a+16>>2];j:{if((g|0)!=(c|0)){break j}g=c?c<<1:1;if((g|0)<(b|0)){g=c;break j}k:{if(!g){d=0;break k}x[8456]=x[8456]+1;d=ia[x[8258]](g<<2,16)|0;c=x[a+12>>2]}l:{if((c|0)<=0){break l}h=0;b=0;if(c>>>0>=4){z=c&-4;e=0;while(1){i=b<<2;x[i+d>>2]=x[i+x[a+20>>2]>>2];l=i|4;x[l+d>>2]=x[l+x[a+20>>2]>>2];l=i|8;x[l+d>>2]=x[l+x[a+20>>2]>>2];i=i|12;x[i+d>>2]=x[i+x[a+20>>2]>>2];b=b+4|0;e=e+4|0;if((z|0)!=(e|0)){continue}break}}e=c&3;if(!e){break l}while(1){i=b<<2;x[i+d>>2]=x[i+x[a+20>>2]>>2];b=b+1|0;h=h+1|0;if((e|0)!=(h|0)){continue}break}}b=x[a+20>>2];if(!(!b|!y[a+24|0])){if(b){x[8457]=x[8457]+1;ia[x[8259]](b)}c=x[a+12>>2]}x[a+20>>2]=d;v[a+24|0]=1;x[a+16>>2]=g}x[(c<<2)+d>>2]=x[j+36>>2];h=c+1|0;x[a+12>>2]=h;m:{if((g|0)!=(h|0)){break m}e=g?g<<1:1;if((e|0)<=(g|0)){h=g;break m}n:{if(!e){c=0;break n}x[8456]=x[8456]+1;c=ia[x[8258]](e<<2,16)|0;g=x[a+12>>2]}h=g;o:{if((g|0)<=0){break o}i=0;b=0;if(h>>>0>=4){z=h&-4;g=0;while(1){d=b<<2;x[d+c>>2]=x[d+x[a+20>>2]>>2];l=d|4;x[l+c>>2]=x[l+x[a+20>>2]>>2];l=d|8;x[l+c>>2]=x[l+x[a+20>>2]>>2];d=d|12;x[d+c>>2]=x[d+x[a+20>>2]>>2];b=b+4|0;g=g+4|0;if((z|0)!=(g|0)){continue}break}}d=h&3;if(!d){break o}while(1){g=b<<2;x[g+c>>2]=x[g+x[a+20>>2]>>2];b=b+1|0;i=i+1|0;if((d|0)!=(i|0)){continue}break}}b=x[a+20>>2];if(!(!b|!y[a+24|0])){if(b){x[8457]=x[8457]+1;ia[x[8259]](b)}h=x[a+12>>2]}x[a+20>>2]=c;v[a+24|0]=1;x[a+16>>2]=e}x[x[a+20>>2]+(h<<2)>>2]=x[j+40>>2];b=h+1|0;x[a+12>>2]=b;break i}ia[x[x[r>>2]+12>>2]](r,j);b=x[a+12>>2]}if((b|0)>0){continue}break}}}j=x[a+52>>2];b=x[a+32>>2];p:{if((b|0)>=0){break p}if(x[a+36>>2]<0){c=x[a+40>>2];if(!(c?!c|!y[a+44|0]:1)){x[8457]=x[8457]+1;ia[x[8259]](c)}v[a+44|0]=1;x[a+36>>2]=0;x[a+40>>2]=0}h=0;g=b;c=0-b&3;if(c){while(1){x[x[a+40>>2]+(g<<2)>>2]=0;g=g+1|0;h=h+1|0;if((c|0)!=(h|0)){continue}break}}if(b>>>0>4294967292){break p}while(1){b=g<<2;x[b+x[a+40>>2]>>2]=0;x[(b+x[a+40>>2]|0)+4>>2]=0;x[(b+x[a+40>>2]|0)+8>>2]=0;x[(b+x[a+40>>2]|0)+12>>2]=0;g=g+4|0;if(g){continue}break}}x[a+32>>2]=0;if((j|0)<=0){break a}e=0;while(1){d=e<<2;q:{if(!x[d+x[a+60>>2]>>2]){break q}b=x[Q+32>>2]+D(e,80)|0;g=x[b+64>>2];c=x[T+12>>2];R=B[c+52>>2];S=B[c+56>>2];A=B[b+48>>2];C=B[b+52>>2];F=B[b+56>>2];G=B[b+4>>2];H=B[b+20>>2];I=B[b+36>>2];J=B[b+8>>2];K=B[b+24>>2];L=B[b+40>>2];k=B[c+20>>2];m=B[c+24>>2];M=B[b>>2];N=B[b+16>>2];n=B[c+36>>2];P=B[b+32>>2];o=B[c+40>>2];O=B[c+48>>2];p=B[c+8>>2];q=B[c>>2];t=B[c+4>>2];u=B[c+16>>2];w=B[c+32>>2];h=0;x[f+108>>2]=0;x[f+92>>2]=0;x[f+76>>2]=0;x[f+60>>2]=0;B[f+80>>2]=E(P*o)+E(E(M*w)+E(n*N));B[f+64>>2]=E(P*m)+E(E(M*u)+E(k*N));B[f+48>>2]=E(P*p)+E(E(M*q)+E(t*N));B[f+88>>2]=E(L*o)+E(E(J*w)+E(n*K));B[f+84>>2]=E(I*o)+E(E(G*w)+E(n*H));B[f+72>>2]=E(L*m)+E(E(J*u)+E(k*K));B[f+68>>2]=E(I*m)+E(E(G*u)+E(k*H));B[f+56>>2]=E(L*p)+E(E(J*q)+E(t*K));B[f+52>>2]=E(I*p)+E(E(G*q)+E(t*H));B[f+104>>2]=S+E(E(F*o)+E(E(A*w)+E(n*C)));B[f+100>>2]=R+E(E(F*m)+E(E(A*u)+E(k*C)));B[f+96>>2]=O+E(E(F*p)+E(E(A*q)+E(t*C)));ia[x[x[g>>2]+8>>2]](g,f+48|0,f+16|0,f+128|0);b=x[s+4>>2];ia[x[x[b>>2]+8>>2]](b,x[s+12>>2],f+112|0,f);b=0;r:{if(B[f+16>>2]>B[f>>2]){break r}b=0;if(B[f+128>>2]>2]){break r}b=1}if(!(B[f+20>>2]>B[f+4>>2])&(!(B[f+132>>2]>2])&(B[f+136>>2]>2]|B[f+24>>2]>B[f+8>>2]?h:b))){break q}b=x[d+x[a+60>>2]>>2];ia[x[x[b>>2]>>2]](b)|0;b=x[a+4>>2];ia[x[x[b>>2]+60>>2]](b,x[d+x[a+60>>2]>>2]);x[d+x[a+60>>2]>>2]=0}e=e+1|0;if((j|0)!=(e|0)){continue}break}}ga=f+176|0}function xi(a,b,c,d,e,f,g,h,i,j){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=E(0),l=E(0),m=0,n=0,o=0,p=E(0),q=0,r=E(0),s=E(0),t=E(0),u=E(0),w=E(0),z=E(0),C=0,F=0,G=E(0),H=0,I=0,J=0,K=0,L=E(0),N=0,O=0,P=0,Q=E(0),R=E(0),S=E(0),T=E(0),U=E(0),V=E(0),W=E(0),X=E(0),Y=0,Z=E(0);a=ga-80|0;ga=a;k=B[e+52>>2];l=B[f+52>>2];p=B[e+56>>2];s=B[f+56>>2];r=B[e+48>>2];t=B[f+48>>2];x[a+76>>2]=0;B[a+64>>2]=t-r;B[a+72>>2]=s-p;B[a+68>>2]=l-k;o=ga-19040|0;ga=o;q=e;F=a+8|0;e=o+18912|0;Md(c,q,d,f,F,e,1);b=o+18668|0;x[b>>2]=0;x[b+4>>2]=0;x[o+18660>>2]=0;x[o+18664>>2]=0;x[o+18896>>2]=0;x[o+18900>>2]=0;x[o+18908>>2]=2;x[o+18676>>2]=0;b=a- -64|0;k=B[b>>2];l=B[b+4>>2];p=B[b+8>>2];x[o+32>>2]=0;B[o+28>>2]=-p;B[o+24>>2]=-l;B[o+20>>2]=-k;a:{b:{c:{switch(Ld(o+18532|0,e,o+20|0)-1|0){case 0:x[o+68>>2]=0;x[o+72>>2]=0;x[o+76>>2]=0;x[o+18512>>2]=0;x[o+20>>2]=9;x[o+18516>>2]=0;x[o+18520>>2]=0;x[o+60>>2]=0;x[o+64>>2]=0;e=0;while(1){m=D(255-e|0,56);j=m+(o+20|0)|0;x[j+4204>>2]=H;x[j+4200>>2]=0;j=j+4156|0;if(H){x[H+44>>2]=j}x[o+18524>>2]=j;n=o+4176|0;H=n+D(254-e|0,56)|0;x[H+44>>2]=0;x[H+48>>2]=j;x[(m+n|0)+44>>2]=H;x[o+18524>>2]=H;e=e+2|0;if((e|0)!=256){continue}break};x[o+18528>>2]=256;k=B[b>>2];l=B[b+4>>2];p=B[b+8>>2];H=0;x[o+16>>2]=0;B[o+12>>2]=-p;B[o+8>>2]=-l;B[o+4>>2]=-k;m=o+20|0;J=ga-32|0;ga=J;d:{e:{Y=o+18532|0;n=x[Y+372>>2];if(A[n+32>>2]<2){break e}if(!Ma(Y)){break e}b=x[m+18496>>2];if(b){j=x[m+18508>>2];e=x[m+18500>>2];while(1){C=x[b+48>>2];if(C){x[C+44>>2]=x[b+44>>2]}C=x[b+44>>2];if(C){x[C+48>>2]=x[b+48>>2]}if(x[m+18496>>2]==(b|0)){x[m+18496>>2]=x[b+48>>2]}x[b+44>>2]=0;x[b+48>>2]=x[m+18504>>2];C=x[m+18504>>2];if(C){x[C+44>>2]=b}e=e-1|0;x[m+18504>>2]=b;j=j+1|0;b=x[m+18496>>2];if(b){continue}break}x[m+18508>>2]=j;x[m+18500>>2]=e}x[m+18492>>2]=0;x[m>>2]=0;j=x[n>>2];e=x[n+12>>2];k=B[e+16>>2];s=E(B[j+16>>2]-k);b=x[n+4>>2];l=B[e+20>>2];r=E(B[b+20>>2]-l);C=x[n+8>>2];p=B[e+24>>2];t=E(B[C+24>>2]-p);u=E(B[j+20>>2]-l);w=E(B[b+24>>2]-p);z=E(B[C+16>>2]-k);p=E(B[j+24>>2]-p);k=E(B[b+16>>2]-k);l=E(B[C+20>>2]-l);f:{if(!(E(E(E(E(s*r)*t)+E(E(E(E(E(u*w)*z)+E(E(p*k)*l))-E(E(w*s)*l))-E(E(k*u)*t)))-E(E(r*p)*z))>2]=j;x[n>>2]=b;ha=x[n+16>>2];x[n+16>>2]=x[n+20>>2];x[n+20>>2]=ha;e=j}e=gb(m,b,e,C,1);C=gb(m,x[n+4>>2],x[n>>2],x[n+12>>2],1);I=gb(m,x[n+8>>2],x[n+4>>2],x[n+12>>2],1);K=gb(m,x[n>>2],x[n+8>>2],x[n+12>>2],1);if(x[m+18500>>2]!=4){break e}j=x[m+18496>>2];b=x[j+48>>2];if(b){k=B[j+16>>2];k=E(k*k);while(1){l=B[b+16>>2];l=E(l*l);n=l>2];if(b){continue}break}}N=x[j+28>>2];O=x[j+24>>2];P=x[j+20>>2];k=B[j+16>>2];w=B[j+12>>2];s=B[j+8>>2];l=B[j+4>>2];p=B[j>>2];x[e+32>>2]=C;v[e+52|0]=0;x[C+32>>2]=e;v[C+52|0]=0;x[e+36>>2]=I;v[e+53|0]=0;x[I+32>>2]=e;v[I+52|0]=1;x[e+40>>2]=K;v[e+54|0]=0;x[K+32>>2]=e;v[K+52|0]=2;x[C+36>>2]=K;v[C+53|0]=2;x[K+40>>2]=C;v[K+54|0]=1;x[C+40>>2]=I;v[C+54|0]=1;x[I+36>>2]=C;v[I+53|0]=2;v[I+54|0]=1;x[I+40>>2]=K;x[K+36>>2]=I;v[K+53|0]=2;x[m>>2]=0;e=0;while(1){g:{h:{n=x[m+18492>>2];if(n>>>0<=127){b=0;x[J+12>>2]=0;x[J+4>>2]=0;x[J+8>>2]=0;x[m+18492>>2]=n+1;e=e+1|0;v[j+55|0]=e;r=B[j+8>>2];t=B[j>>2];u=B[j+4>>2];n=m+(n<<5)|0;x[n+72>>2]=0;L=r;r=E(E(1)/E(M(E(E(r*r)+E(E(t*t)+E(u*u))))));B[n+68>>2]=L*r;B[n- -64>>2]=u*r;C=n+60|0;B[C>>2]=t*r;Ga(J+16|0,Y,C);I=x[J+28>>2];x[n+84>>2]=x[J+24>>2];x[n+88>>2]=I;I=x[J+20>>2];x[n+76>>2]=x[J+16>>2];x[n+80>>2]=I;if(!(E(E(E(B[j+8>>2]*B[n+84>>2])+E(E(B[j>>2]*B[n+76>>2])+E(B[j+4>>2]*B[n+80>>2])))-B[j+16>>2])>E(9999999747378752e-20))){x[m>>2]=7;break g}while(1){n=jc(m,e,C,x[((b<<2)+j|0)+32>>2],y[(b+j|0)+52|0],J+4|0);if(!n){break h}I=b>>>0<2;b=b+1|0;if(I){continue}break}break h}x[m>>2]=6;break g}if(!(n&A[J+12>>2]>2)){x[m>>2]=4;break g}b=x[J+4>>2];n=x[J+8>>2];x[b+36>>2]=n;v[b+53|0]=2;x[n+40>>2]=b;v[n+54|0]=1;b=x[j+48>>2];if(b){x[b+44>>2]=x[j+44>>2]}b=x[j+44>>2];if(b){x[b+48>>2]=x[j+48>>2]}if(x[m+18496>>2]==(j|0)){x[m+18496>>2]=x[j+48>>2]}x[m+18500>>2]=x[m+18500>>2]-1;x[j+44>>2]=0;x[j+48>>2]=x[m+18504>>2];b=x[m+18504>>2];if(b){x[b+44>>2]=j}x[m+18504>>2]=j;x[m+18508>>2]=x[m+18508>>2]+1;j=x[m+18496>>2];b=x[j+48>>2];if(b){k=B[j+16>>2];k=E(k*k);while(1){l=B[b+16>>2];l=E(l*l);n=l>2];if(b){continue}break}}N=x[j+28>>2];O=x[j+24>>2];P=x[j+20>>2];k=B[j+16>>2];w=B[j+12>>2];s=B[j+8>>2];l=B[j+4>>2];p=B[j>>2];if((e|0)!=255){continue}}break}B[m+56>>2]=k;B[m+40>>2]=p;x[m+4>>2]=P;B[m+52>>2]=w;B[m+48>>2]=s;B[m+44>>2]=l;x[m+36>>2]=3;x[m+12>>2]=N;x[m+8>>2]=O;p=E(p*k);r=E(B[O+16>>2]-p);l=E(l*k);t=E(B[N+20>>2]-l);u=E(B[N+16>>2]-p);w=E(B[O+20>>2]-l);z=E(E(r*t)-E(u*w));k=E(s*k);s=E(B[N+24>>2]-k);L=t;t=E(B[O+24>>2]-k);w=E(E(w*s)-E(L*t));s=E(E(t*u)-E(s*r));s=E(M(E(E(z*z)+E(E(w*w)+E(s*s)))));B[m+20>>2]=s;r=E(B[N+16>>2]-p);t=E(B[P+20>>2]-l);u=E(B[P+16>>2]-p);w=E(B[N+20>>2]-l);z=E(E(r*t)-E(u*w));G=E(z*z);L=w;w=E(B[P+24>>2]-k);z=t;t=E(B[N+24>>2]-k);z=E(E(L*w)-E(z*t));r=E(E(t*u)-E(w*r));r=E(M(E(G+E(E(z*z)+E(r*r)))));B[m+24>>2]=r;t=E(B[P+16>>2]-p);u=E(B[O+20>>2]-l);p=E(B[O+16>>2]-p);l=E(B[P+20>>2]-l);w=E(E(t*u)-E(p*l));L=l;l=E(B[O+24>>2]-k);k=E(B[P+24>>2]-k);u=E(E(L*l)-E(u*k));k=E(E(k*p)-E(l*t));l=E(M(E(E(w*w)+E(E(u*u)+E(k*k)))));k=E(l+E(s+r));B[m+28>>2]=l/k;B[m+24>>2]=r/k;B[m+20>>2]=s/k;b=x[m>>2];break d}b=8;x[m>>2]=8;k=E(0);p=E(1);l=E(0);s=B[o+12>>2];r=B[o+4>>2];t=B[o+8>>2];u=E(M(E(E(s*s)+E(E(r*r)+E(t*t)))));if(u>E(0)){p=E(E(1)/u);l=E(p*E(-s));k=E(p*E(-t));p=E(p*E(-r))}x[m+52>>2]=0;x[m+56>>2]=0;B[m+48>>2]=l;B[m+44>>2]=k;B[m+40>>2]=p;x[m+36>>2]=1;e=x[n>>2];x[m+20>>2]=1065353216;x[m+4>>2]=e}ga=J+32|0;if((b|0)==9){break b}i:{if(!x[o+56>>2]){k=E(0);l=E(0);p=E(0);break i}j=o+24|0;p=E(0);l=E(0);k=E(0);while(1){b=x[o+19032>>2];m=x[o+19036>>2];e=x[o+18912>>2]+(m>>1)|0;n=H<<2;ia[(m&1?x[b+x[e>>2]>>2]:b)|0](o+4|0,e,x[n+j>>2]);s=B[(o+n|0)+40>>2];p=E(p+E(s*B[o+12>>2]));l=E(l+E(s*B[o+8>>2]));k=E(k+E(B[o+4>>2]*s));H=H+1|0;if(H>>>0>2]){continue}break}}H=1;x[F>>2]=1;s=B[q+52>>2];r=B[q+24>>2];t=B[q+20>>2];u=B[q+56>>2];w=B[q+40>>2];z=B[q+36>>2];G=B[q+48>>2];Q=B[q+8>>2];R=B[q>>2];S=B[q+4>>2];T=B[q+16>>2];U=B[q+32>>2];x[F+16>>2]=0;B[F+12>>2]=u+E(E(p*w)+E(E(k*U)+E(l*z)));B[F+8>>2]=s+E(E(p*r)+E(E(k*T)+E(l*t)));B[F+4>>2]=G+E(E(p*Q)+E(E(k*R)+E(l*S)));w=B[q+52>>2];z=B[q+20>>2];G=B[q+24>>2];Q=B[q+56>>2];R=B[q+36>>2];S=B[q+40>>2];T=B[q+48>>2];U=B[q+8>>2];V=B[q>>2];W=B[q+4>>2];X=B[q+16>>2];Z=B[q+32>>2];r=B[o- -64>>2];t=B[o+68>>2];u=B[o+60>>2];s=B[o+76>>2];x[F+48>>2]=0;x[F+32>>2]=0;B[F+52>>2]=-s;B[F+44>>2]=-t;B[F+40>>2]=-r;B[F+36>>2]=-u;p=E(p-E(s*t));k=E(k-E(u*s));l=E(l-E(s*r));B[F+28>>2]=Q+E(E(S*p)+E(E(Z*k)+E(R*l)));B[F+24>>2]=w+E(E(p*G)+E(E(k*X)+E(l*z)));B[F+20>>2]=T+E(E(p*U)+E(E(k*V)+E(l*W)));break a;case 1:break c;default:break a}}x[F>>2]=2;break a}x[F>>2]=3}ga=o+19040|0;j:{if(!H){k=E(0);l=E(0);p=E(0);s=E(0);r=E(0);t=E(0);e=ga-544|0;ga=e;b=e+384|0;Md(c,q,d,f,a+8|0,b,0);x[e+140>>2]=0;x[e+144>>2]=0;x[e+132>>2]=0;x[e+136>>2]=0;x[e+368>>2]=0;x[e+372>>2]=0;x[e+380>>2]=2;x[e+148>>2]=0;k:{l:{c=Ld(e+4|0,b,a- -64|0);if(!c){d=x[e+376>>2];if(!x[d+32>>2]){break l}f=0;while(1){j=f<<2;m=d+j|0;u=B[m+16>>2];b=x[e+504>>2];n=e+528|0;o=x[e+508>>2];d=x[e+384>>2]+(o>>1)|0;ia[(o&1?x[b+x[d>>2]>>2]:b)|0](n,d,x[m>>2]);b=x[j+x[e+376>>2]>>2];w=E(-B[b+8>>2]);z=E(-B[b+4>>2]);G=E(-B[b>>2]);b=x[e+504>>2];d=x[e+508>>2];j=x[e+388>>2]+(d>>1)|0;b=d&1?x[b+x[j>>2]>>2]:b;k=E(k+E(u*B[e+536>>2]));p=E(p+E(u*B[e+532>>2]));l=E(l+E(u*B[e+528>>2]));x[e+524>>2]=0;B[e+520>>2]=E(B[e+432>>2]*w)+E(E(B[e+424>>2]*G)+E(B[e+428>>2]*z));B[e+516>>2]=E(B[e+416>>2]*w)+E(E(B[e+408>>2]*G)+E(B[e+412>>2]*z));B[e+512>>2]=E(B[e+400>>2]*w)+E(E(B[e+392>>2]*G)+E(B[e+396>>2]*z));ia[b|0](n,j,e+512|0);w=B[e+536>>2];z=B[e+528>>2];G=B[e+532>>2];t=E(t+E(u*E(E(E(w*B[e+480>>2])+E(E(z*B[e+472>>2])+E(G*B[e+476>>2])))+B[e+496>>2])));r=E(r+E(u*E(E(E(w*B[e+464>>2])+E(E(z*B[e+456>>2])+E(G*B[e+460>>2])))+B[e+492>>2])));s=E(s+E(u*E(E(E(w*B[e+448>>2])+E(E(z*B[e+440>>2])+E(G*B[e+444>>2])))+B[e+488>>2])));f=f+1|0;d=x[e+376>>2];if(f>>>0>2]){continue}break}break l}x[a+8>>2]=(c|0)==1?1:2;break k}u=B[q+52>>2];w=B[q+24>>2];z=B[q+20>>2];G=B[q+56>>2];Q=B[q+40>>2];R=B[q+36>>2];S=B[q+16>>2];T=B[q+32>>2];U=B[q+48>>2];V=B[q+8>>2];W=B[q>>2];X=B[q+4>>2];x[a+24>>2]=0;B[a+12>>2]=U+E(E(k*V)+E(E(l*W)+E(p*X)));B[a+20>>2]=G+E(E(k*Q)+E(E(l*T)+E(p*R)));B[a+16>>2]=u+E(E(k*w)+E(E(l*S)+E(p*z)));w=B[q+52>>2];z=B[q+24>>2];G=B[q+20>>2];Q=B[q+56>>2];R=B[q+40>>2];S=B[q+36>>2];T=B[q+48>>2];U=B[q+8>>2];V=B[q>>2];W=B[q+4>>2];X=B[q+16>>2];Z=B[q+32>>2];k=E(k-t);l=E(l-s);p=E(p-r);u=E(M(E(E(k*k)+E(E(l*l)+E(p*p)))));B[a+60>>2]=u;x[a+56>>2]=0;x[a+40>>2]=0;L=k;k=u>E(9999999747378752e-20)?E(E(1)/u):E(1);B[a+52>>2]=L*k;B[a+48>>2]=p*k;B[a+44>>2]=l*k;B[a+36>>2]=Q+E(E(t*R)+E(E(s*Z)+E(r*S)));B[a+32>>2]=w+E(E(t*z)+E(E(s*X)+E(r*G)));B[a+28>>2]=T+E(E(t*U)+E(E(s*V)+E(r*W)))}ga=e+544|0;if(c){break j}}b=x[a+16>>2];x[h>>2]=x[a+12>>2];x[h+4>>2]=b;b=x[a+24>>2];x[h+8>>2]=x[a+20>>2];x[h+12>>2]=b;b=x[a+40>>2];x[i+8>>2]=x[a+36>>2];x[i+12>>2]=b;b=x[a+32>>2];x[i>>2]=x[a+28>>2];x[i+4>>2]=b;b=x[a+56>>2];x[g+8>>2]=x[a+52>>2];x[g+12>>2]=b;b=x[a+48>>2];x[g>>2]=x[a+44>>2];x[g+4>>2]=b}ga=a+80|0;return H|0}function Tl(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=E(0),n=E(0),o=E(0),p=E(0),q=0,r=0,s=E(0),t=E(0),u=E(0),w=0,z=E(0),A=E(0),C=E(0),G=E(0),H=0,I=E(0),J=E(0),K=0,L=0,M=E(0),N=E(0),O=E(0),P=0,Q=E(0),R=E(0),S=E(0),T=E(0),U=E(0),V=E(0),W=E(0),X=E(0),Y=E(0),Z=E(0),_=0,$=0,aa=E(0),ba=0,ca=E(0),da=0,ea=0,fa=0,ha=E(0),ja=E(0),ka=E(0),la=E(0);f=ga-3584|0;ga=f;a:{b:{ea=x[b+4>>2];q=x[ea+72>>2];if(q){fa=x[c+4>>2];j=x[fa+72>>2];if(j){break b}}He(a,b,c,d,e);break a}if(!(x[ea+76>>2]==x[a+108>>2]&x[fa+76>>2]==x[a+112>>2])){g=x[a+84>>2];k=x[g+8>>2];if((k|0)>0){while(1){L=x[(x[g+16>>2]+D(h,12)|0)+8>>2];if(L){ia[x[x[L>>2]>>2]](L)|0;i=x[a+4>>2];ia[x[x[i>>2]+60>>2]](i,L)}h=h+1|0;if((k|0)!=(h|0)){continue}break}g=x[a+84>>2]}Ae(g);x[a+108>>2]=x[ea+76>>2];x[a+112>>2]=x[fa+76>>2]}x[f+88>>2]=0;v[f+92|0]=1;h=Ab(f+112|0);Ab(h+868|0);Ab(h+1736|0);Ab(h+2604|0);g=x[f+88>>2];if(!(g?!g|!y[f+92|0]:1)){x[8457]=x[8457]+1;ia[x[8259]](g)}x[f+88>>2]=h;x[f+80>>2]=0;x[f+84>>2]=4;v[f+92|0]=0;L=x[a+84>>2];w=x[L+8>>2];c:{if((w|0)<=0){break c}while(1){g=x[(x[L+16>>2]+D(P,12)|0)+8>>2];if(g){ia[x[x[g>>2]+16>>2]](g,f+76|0);h=0;g=x[f+80>>2];if((g|0)>0){while(1){l=x[x[f+88>>2]+(h<<2)>>2];if(x[l+844>>2]){x[e+4>>2]=l;g=x[l+836>>2];i=x[x[e+8>>2]+8>>2];k=(g|0)==(i|0);$=g;g=x[x[e+12>>2]+8>>2];Ja(l,(k?$:g)+4|0,(k?g:i)+4|0);x[e+4>>2]=0;g=x[f+80>>2]}h=h+1|0;if((h|0)<(g|0)){continue}break}}d:{if((g|0)>=0){break d}if(x[f+84>>2]<0){h=x[f+88>>2];if(!(h?!h|!y[f+92|0]:1)){x[8457]=x[8457]+1;ia[x[8259]](h)}v[f+92|0]=1;x[f+84>>2]=0;x[f+88>>2]=0}w=0;h=g;i=0-g&3;if(i){while(1){x[x[f+88>>2]+(h<<2)>>2]=0;h=h+1|0;w=w+1|0;if((i|0)!=(w|0)){continue}break}}if(g>>>0>4294967292){break d}while(1){g=h<<2;x[g+x[f+88>>2]>>2]=0;x[(g+x[f+88>>2]|0)+4>>2]=0;x[(g+x[f+88>>2]|0)+8>>2]=0;x[(g+x[f+88>>2]|0)+12>>2]=0;h=h+4|0;if(h){continue}break}}x[f+80>>2]=0;w=x[L+8>>2]}P=P+1|0;if((P|0)<(w|0)){continue}break}g=x[f+88>>2];if(!g|!y[f+92|0]){break c}if(g){x[8457]=x[8457]+1;ia[x[8259]](g)}}h=x[a+4>>2];g=x[a+84>>2];x[f+108>>2]=x[a+72>>2];x[f+104>>2]=g;x[f+96>>2]=d;x[f+92>>2]=h;x[f+80>>2]=0;x[f+76>>2]=16420;x[f+100>>2]=e;x[f+88>>2]=c;x[f+84>>2]=b;g=x[q>>2];e:{if(!g){break e}d=x[j>>2];if(!d){break e}i=x[b+12>>2];z=B[i+8>>2];m=E(-B[i+48>>2]);u=B[i+24>>2];o=B[i+52>>2];A=B[i+40>>2];s=B[i+56>>2];h=x[c+12>>2];t=B[h+56>>2];p=B[h+48>>2];n=B[h+52>>2];ka=E(E(E(E(z*m)-E(u*o))-E(A*s))+E(E(t*A)+E(E(p*z)+E(u*n))));C=B[i+4>>2];I=B[i+20>>2];G=B[i+36>>2];la=E(E(E(E(C*m)-E(I*o))-E(G*s))+E(E(t*G)+E(E(p*C)+E(I*n))));Q=B[h+40>>2];M=B[h+24>>2];R=B[h+8>>2];N=B[h+36>>2];S=B[h+20>>2];O=B[h+4>>2];Z=B[i>>2];ca=E(Z*m);m=B[i+16>>2];ca=E(ca-E(m*o));o=B[i+32>>2];ca=E(E(ca-E(o*s))+E(E(t*o)+E(E(p*Z)+E(m*n))));t=B[h+16>>2];p=B[h>>2];n=B[h+32>>2];aa=B[e+32>>2];x[f+116>>2]=d;x[f+112>>2]=g;J=E(E(Q*A)+E(E(R*z)+E(u*M)));W=E(F(J));T=E(E(N*A)+E(E(O*z)+E(u*S)));X=E(F(T));U=E(E(n*A)+E(E(p*z)+E(u*t)));Y=E(F(U));V=E(E(Q*G)+E(E(R*C)+E(I*M)));z=E(F(V));u=E(E(N*G)+E(E(O*C)+E(I*S)));A=E(F(u));C=E(E(n*G)+E(E(p*C)+E(I*t)));I=E(F(C));G=E(E(Q*o)+E(E(R*Z)+E(m*M)));Q=E(F(G));M=E(E(N*o)+E(E(O*Z)+E(m*S)));R=E(F(M));N=E(E(n*o)+E(E(p*Z)+E(m*t)));S=E(F(N));P=124;L=0;g=f+112|0;k=128;d=128;j=1;while(1){f:{g:{h:{q=j-1|0;$=q<<3;h=$+g|0;K=x[h>>2];H=x[h+4>>2];O=B[H+24>>2];m=B[H+8>>2];ha=E(E(E(O-m)*E(.5))+E(0));o=B[H+16>>2];s=B[H>>2];ja=E(E(E(o-s)*E(.5))+E(0));t=B[H+20>>2];n=B[H+4>>2];Z=E(E(E(t-n)*E(.5))+E(0));p=E(E(ha*Q)+E(E(ja*S)+E(R*Z)));m=E(E(O+m)*E(.5));s=E(E(o+s)*E(.5));t=E(E(t+n)*E(.5));n=E(ca+E(E(m*G)+E(E(s*N)+E(M*t))));i:{if(!(B[K>>2]<=E(aa+E(p+n)))|!(B[K+16>>2]>=E(E(n-p)-aa))){break i}p=E(E(ha*z)+E(E(ja*I)+E(A*Z)));n=E(la+E(E(m*V)+E(E(s*C)+E(u*t))));if(!(B[K+4>>2]<=E(aa+E(p+n)))|!(B[K+20>>2]>=E(E(n-p)-aa))){break i}p=E(E(ha*W)+E(E(ja*Y)+E(X*Z)));n=E(ka+E(E(m*J)+E(E(s*U)+E(T*t))));if(!(B[K+8>>2]<=E(aa+E(p+n)))|!(B[K+24>>2]>=E(E(n-p)-aa))){break i}j:{if((q|0)<=(P|0)){h=k;i=g;break j}h=k<<1;k:{if((k|0)>=(h|0)){i=g;break k}if((d|0)>=(h|0)){i=g;break k}l:{if(!k){i=0;break l}x[8456]=x[8456]+1;i=ia[x[8258]](k<<4,16)|0;if((k|0)<=0){break l}w=0;P=0;if(k>>>0>=4){ba=k&-4;_=0;while(1){da=P<<3;r=da+i|0;l=g+da|0;d=x[l+4>>2];x[r>>2]=x[l>>2];x[r+4>>2]=d;d=da|8;r=d+i|0;l=d+g|0;d=x[l+4>>2];x[r>>2]=x[l>>2];x[r+4>>2]=d;d=da|16;r=d+i|0;l=d+g|0;d=x[l+4>>2];x[r>>2]=x[l>>2];x[r+4>>2]=d;d=da|24;r=d+i|0;l=d+g|0;d=x[l+4>>2];x[r>>2]=x[l>>2];x[r+4>>2]=d;P=P+4|0;_=_+4|0;if((ba|0)!=(_|0)){continue}break}}r=k&3;if(!r){break l}while(1){d=P<<3;l=d+i|0;k=d+g|0;d=x[k+4>>2];x[l>>2]=x[k>>2];x[l+4>>2]=d;P=P+1|0;w=w+1|0;if((r|0)!=(w|0)){continue}break}}d=L;L=1;if(g?d:0){x[8457]=x[8457]+1;ia[x[8259]](g)}d=h}P=h-4|0}g=x[H+40>>2];if(x[K+40>>2]){k=x[K+36>>2];if(g){g=i+$|0;x[g+4>>2]=x[H+36>>2];x[g>>2]=k;g=x[K+40>>2];k=(j<<3)+i|0;x[k+4>>2]=x[H+36>>2];x[k>>2]=g;g=x[K+36>>2];x[k+12>>2]=x[H+40>>2];x[k+8>>2]=g;g=x[K+40>>2];x[k+20>>2]=x[H+40>>2];x[k+16>>2]=g;j=j+3|0;break g}g=i+$|0;x[g+4>>2]=H;x[g>>2]=k;k=x[K+40>>2];g=(j<<3)+i|0;x[g+4>>2]=H;x[g>>2]=k;break h}if(g){g=i+$|0;x[g+4>>2]=x[H+36>>2];x[g>>2]=K;g=(j<<3)+i|0;x[g+4>>2]=x[H+40>>2];x[g>>2]=K;break h}ia[x[x[f+76>>2]+8>>2]](f+76|0,K,H);k=h;g=i}j=q;break f}j=j+1|0}k=h;g=i}if(j){continue}break}if(!g|!L){break e}if(g){x[8457]=x[8457]+1;ia[x[8259]](g)}}_=x[a+84>>2];if(x[_+8>>2]>0){g=0;while(1){i=D(g,12);d=i+x[_+16>>2]|0;k=x[d+8>>2];m:{if(!k){break m}j=x[ea+32>>2]+D(x[d>>2],80)|0;h=x[j+64>>2];d=x[b+12>>2];t=B[d+52>>2];p=B[d+56>>2];C=B[j+48>>2];I=B[j+52>>2];G=B[j+56>>2];Q=B[j+4>>2];M=B[j+20>>2];R=B[j+36>>2];N=B[j+8>>2];S=B[j+24>>2];O=B[j+40>>2];W=B[d+20>>2];T=B[d+24>>2];m=B[j>>2];X=B[d+36>>2];o=B[j+16>>2];U=B[d+40>>2];s=B[j+32>>2];n=B[d+48>>2];Y=B[d+8>>2];V=B[d>>2];z=B[d+4>>2];u=B[d+16>>2];A=B[d+32>>2];x[f+172>>2]=0;x[f+156>>2]=0;x[f+140>>2]=0;x[f+124>>2]=0;B[f+144>>2]=E(s*U)+E(E(m*A)+E(X*o));B[f+128>>2]=E(s*T)+E(E(m*u)+E(W*o));B[f+112>>2]=E(s*Y)+E(E(m*V)+E(z*o));B[f+152>>2]=E(O*U)+E(E(N*A)+E(X*S));B[f+148>>2]=E(R*U)+E(E(Q*A)+E(X*M));B[f+136>>2]=E(O*T)+E(E(N*u)+E(W*S));B[f+132>>2]=E(R*T)+E(E(Q*u)+E(W*M));B[f+120>>2]=E(O*Y)+E(E(N*V)+E(z*S));B[f+116>>2]=E(R*Y)+E(E(Q*V)+E(z*M));B[f+168>>2]=p+E(E(G*U)+E(E(C*A)+E(X*I)));B[f+164>>2]=t+E(E(G*T)+E(E(C*u)+E(W*I)));B[f+160>>2]=n+E(E(G*Y)+E(E(C*V)+E(z*I)));d=f+112|0;ia[x[x[h>>2]+8>>2]](h,d,f+60|0,f+44|0);J=B[e+32>>2];B[f+60>>2]=B[f+60>>2]-J;B[f+64>>2]=B[f+64>>2]-J;B[f+68>>2]=B[f+68>>2]-J;B[f+44>>2]=J+B[f+44>>2];B[f+48>>2]=J+B[f+48>>2];B[f+52>>2]=J+B[f+52>>2];q=x[fa+32>>2]+D(x[(i+x[_+16>>2]|0)+4>>2],80)|0;h=x[q+64>>2];j=x[c+12>>2];t=B[j+52>>2];p=B[j+56>>2];C=B[q+48>>2];I=B[q+52>>2];G=B[q+56>>2];Q=B[q+4>>2];M=B[q+20>>2];R=B[q+36>>2];N=B[q+8>>2];S=B[q+24>>2];O=B[q+40>>2];W=B[j+20>>2];T=B[j+24>>2];m=B[q>>2];X=B[j+36>>2];o=B[q+16>>2];U=B[j+40>>2];s=B[q+32>>2];n=B[j+48>>2];Y=B[j+8>>2];V=B[j>>2];z=B[j+4>>2];u=B[j+16>>2];A=B[j+32>>2];x[f+172>>2]=0;x[f+156>>2]=0;x[f+140>>2]=0;x[f+124>>2]=0;B[f+144>>2]=E(s*U)+E(E(m*A)+E(X*o));B[f+128>>2]=E(s*T)+E(E(m*u)+E(W*o));B[f+112>>2]=E(s*Y)+E(E(m*V)+E(z*o));B[f+152>>2]=E(O*U)+E(E(N*A)+E(X*S));B[f+148>>2]=E(R*U)+E(E(Q*A)+E(X*M));B[f+136>>2]=E(O*T)+E(E(N*u)+E(W*S));B[f+132>>2]=E(R*T)+E(E(Q*u)+E(W*M));B[f+120>>2]=E(O*Y)+E(E(N*V)+E(z*S));B[f+116>>2]=E(R*Y)+E(E(Q*V)+E(z*M));B[f+168>>2]=p+E(E(G*U)+E(E(C*A)+E(X*I)));B[f+164>>2]=t+E(E(G*T)+E(E(C*u)+E(W*I)));B[f+160>>2]=n+E(E(G*Y)+E(E(C*V)+E(z*I)));ia[x[x[h>>2]+8>>2]](h,d,f+28|0,f+12|0);m=E(B[f+28>>2]-J);B[f+28>>2]=m;o=E(B[f+32>>2]-J);B[f+32>>2]=o;s=E(B[f+36>>2]-J);B[f+36>>2]=s;t=E(J+B[f+12>>2]);B[f+12>>2]=t;p=E(J+B[f+20>>2]);B[f+20>>2]=p;n=E(J+B[f+16>>2]);B[f+16>>2]=n;n:{if(n>2]|o>B[f+48>>2]|(p>2]|s>B[f+52>>2])){break n}if(t>2]){break n}if(!(m>B[f+44>>2])){break m}}ia[x[x[k>>2]>>2]](k)|0;d=x[a+4>>2];ia[x[x[d>>2]+60>>2]](d,k);d=i+x[_+16>>2]|0;L=x[d+4>>2];q=x[d>>2];i=x[a+92>>2];o:{if((i|0)!=x[a+96>>2]){break o}ba=i?i<<1:1;if((ba|0)<=(i|0)){break o}p:{if(!ba){w=0;break p}x[8456]=x[8456]+1;w=ia[x[8258]](D(ba,12),16)|0;i=x[a+92>>2]}q:{if((i|0)<=0){break q}j=i&1;h=0;if((i|0)!=1){k=i&-2;i=0;while(1){d=D(h,12);r=d+w|0;l=d+x[a+100>>2]|0;d=x[l+4>>2];x[r>>2]=x[l>>2];x[r+4>>2]=d;x[r+8>>2]=x[l+8>>2];d=D(h|1,12);r=d+w|0;l=d+x[a+100>>2]|0;d=x[l+4>>2];x[r>>2]=x[l>>2];x[r+4>>2]=d;x[r+8>>2]=x[l+8>>2];h=h+2|0;i=i+2|0;if((k|0)!=(i|0)){continue}break}}if(!j){break q}d=D(h,12);i=d+w|0;h=d+x[a+100>>2]|0;d=x[h+4>>2];x[i>>2]=x[h>>2];x[i+4>>2]=d;x[i+8>>2]=x[h+8>>2]}d=x[a+100>>2];if(!(d?!d|!y[a+104|0]:1)){x[8457]=x[8457]+1;ia[x[8259]](d)}x[a+100>>2]=w;v[a+104|0]=1;x[a+96>>2]=ba;i=x[a+92>>2]}d=x[a+100>>2]+D(i,12)|0;x[d+8>>2]=0;x[d+4>>2]=L;x[d>>2]=q;x[a+92>>2]=x[a+92>>2]+1}g=g+1|0;if((g|0)>2]){continue}break}}if(x[a+92>>2]>0){h=0;while(1){c=x[a+84>>2];b=x[a+100>>2]+D(h,12)|0;ia[x[x[c>>2]+8>>2]](c,x[b>>2],x[b+4>>2])|0;h=h+1|0;if((h|0)>2]){continue}break}}b=x[a+100>>2];if(!(b?!b|!y[a+104|0]:1)){x[8457]=x[8457]+1;ia[x[8259]](b)}x[a+100>>2]=0;v[a+104|0]=1;x[a+92>>2]=0;x[a+96>>2]=0}ga=f+3584|0}function xf(){var a=0;V(31140,31152,31168,0,11001,7,11004,0,11004,0,2234,11006,6);a=Aa(8);x[a>>2]=100;x[a+4>>2]=1;T(31132,4404,2,31184,11025,8,a|0,0,0);a=Aa(8);x[a>>2]=104;x[a+4>>2]=1;T(31132,4415,2,31184,11025,8,a|0,0,0);a=Aa(8);x[a>>2]=108;x[a+4>>2]=1;T(31140,7459,5,31216,11029,9,a|0,0,0);V(31276,31288,31304,31140,11001,13,11001,12,11001,11,5292,11006,10);a=Aa(4);x[a>>2]=14;T(31276,5645,2,31320,11025,15,a|0,0,0);U(31140,2650,2,31328,11196,17,16,0);U(31140,7753,3,31616,11263,19,18,0);V(31644,31656,31672,0,11001,21,11004,0,11004,0,2346,11006,20);a=Aa(8);x[a>>2]=16;x[a+4>>2]=1;T(31644,2251,4,31696,11371,22,a|0,0,0);V(31744,31756,31772,31644,11001,26,11001,25,11001,24,5304,11006,23);a=Aa(4);x[a>>2]=27;T(31744,5645,2,31788,11025,28,a|0,0,0);U(31644,2650,2,31796,11196,30,29,0);U(31644,7753,3,31616,11263,19,31,0);V(31872,31884,31900,0,11001,33,11004,0,11004,0,7053,11006,32);a=Aa(8);x[a>>2]=16;x[a+4>>2]=1;T(31872,4677,3,31916,11587,34,a|0,0,0);V(31960,31972,31988,31872,11001,38,11001,37,11001,36,5331,11006,35);a=Aa(4);x[a>>2]=39;T(31960,5645,2,32004,11025,40,a|0,0,0);U(31872,2650,2,32012,11196,42,41,0);U(31872,7753,3,31616,11263,19,43,0);N(8259,2,32084,11196,45,44,0);N(7549,2,32092,11025,47,46,0);N(10143,2,32100,11709,49,48,0);N(10132,3,32108,11713,51,50,0);N(6981,3,32120,11587,53,52,0);N(2225,4,32144,11718,55,54,0);N(1593,2,32100,11709,49,56,0);N(1469,2,32100,11709,49,57,0);N(1031,2,32100,11709,49,58,0);N(3127,5,32160,11724,60,59,0);N(1725,5,32192,11731,62,61,0);N(1586,2,32100,11709,49,63,0);N(1462,2,32100,11709,49,64,0);N(1024,2,32100,11709,49,65,0);N(2244,2,32100,11709,49,66,0);N(3103,6,32224,11738,68,67,0);N(1854,1,32248,11001,70,69,0);N(1090,2,32092,11025,47,71,0);N(5750,3,32120,11587,53,72,0);N(6011,2,32084,11196,45,73,0);N(5772,3,32252,11263,75,74,0);N(6031,3,32252,11263,75,76,0);N(6154,3,32120,11587,53,77,0);N(6062,3,32120,11587,53,78,0);N(5364,4,32272,11371,80,79,0);N(6832,2,32084,11196,45,81,0);N(3482,3,32252,11263,75,82,0);N(3495,3,32252,11263,75,83,0);N(1433,1,32248,11001,70,84,0);N(6878,2,32100,11709,49,85,0);N(6847,3,32108,11713,51,86,0);N(8215,3,32108,11713,51,87,0);N(1614,5,32288,11746,89,88,0);N(4426,4,32272,11371,80,90,0);N(2694,7,32320,11753,92,91,0);N(4798,3,32348,11587,94,93,0);N(1345,3,32348,11587,94,95,0);N(7182,3,32108,11713,51,96,0);N(3136,4,32368,11762,98,97,0);N(1159,3,32108,11713,51,99,0);N(1654,5,32288,11746,89,100,0);N(9347,3,32120,11587,53,101,0);N(9219,3,32120,11587,53,102,0);N(1634,5,32288,11746,89,103,0);N(4452,4,32272,11371,80,104,0);N(1672,6,32384,11768,106,105,0);N(4478,4,32272,11371,80,107,0);N(2719,5,32416,11776,109,108,0);N(6627,4,32448,11371,111,110,0);N(3753,4,32464,11783,113,112,0);N(6710,4,32464,11783,113,114,0);N(7668,4,32464,11783,113,115,0);N(2444,4,32464,11783,113,116,0);N(4826,4,32448,11371,111,117,0);N(7622,4,32464,11783,113,118,0);N(1112,4,32464,11783,113,119,0);N(5511,4,32448,11371,111,120,0);N(3167,4,32464,11783,113,121,0);N(7707,2,32480,11196,123,122,0);N(6801,3,32120,11587,53,124,0);N(9112,4,32496,11789,126,125,0);N(8432,5,32512,11029,128,127,0);N(5986,3,32108,11713,51,129,0);N(6370,3,32120,11587,53,130,0);N(5262,3,32120,11587,53,131,0);N(8414,1,32248,11001,70,132,0);N(4143,2,32084,11196,45,133,0);N(1919,2,32084,11196,45,134,0);N(3662,3,32120,11587,53,135,0);N(2043,2,32532,11795,137,136,0);N(3615,3,32108,11713,51,138,0);N(1949,2,32084,11196,45,139,0);N(5424,5,32544,11799,141,140,0);N(2094,3,32564,11806,143,142,0);N(5449,5,32544,11799,141,144,0);N(2059,3,32564,11806,143,145,0);N(3555,3,32108,11713,51,146,0);N(2869,3,32108,11713,51,147,0);N(1561,3,32120,11587,53,148,0);N(2073,3,32576,11811,150,149,0);N(6278,2,32084,11196,45,151,0);N(2660,3,32108,11713,51,152,0);N(1967,7,32592,11816,154,153,0);N(1883,1,32248,11001,70,155,0);N(7517,6,32624,11825,157,156,0);N(2018,4,32656,11833,159,158,0);N(6474,2,32084,11196,45,160,0);N(6437,6,32672,11839,162,161,0);N(2012,5,32704,11847,164,163,0);N(1984,2,32084,11196,45,165,0);N(1932,1,32248,11001,70,166,0);N(1480,3,32120,11587,53,167,0);N(2111,1,32248,11001,70,168,0);N(4372,2,32084,11196,45,169,0);N(7426,4,32272,11371,80,170,0);N(7367,3,32252,11263,75,171,0);N(7395,3,32120,11587,53,172,0);N(6184,5,32736,11029,174,173,0);N(1705,1,32248,11001,70,175,0);N(7282,2,32084,11196,45,176,0);N(7248,3,32120,11587,53,177,0);N(8132,3,32120,11587,53,178,0);N(6774,2,32084,11196,45,179,0);N(7065,2,32084,11196,45,180,0);N(7122,3,32120,11587,53,181,0);N(6994,3,32348,11587,94,182,0);N(6934,2,32480,11196,123,183,0);N(3400,2,32480,11196,123,184,0);N(3369,2,32480,11196,123,185,0);N(3434,2,32480,11196,123,186,0);N(6120,2,32084,11196,45,187,0);N(4304,3,32120,11587,53,188,0);N(4338,2,32084,11196,45,189,0);N(8094,3,32108,11713,51,190,0);N(3575,3,32108,11713,51,191,0);N(1503,3,32120,11587,53,192,0);N(1532,2,32084,11196,45,193,0);N(6342,6,32224,11738,68,194,0);N(6397,4,32448,11371,111,195,0);N(1600,3,32756,11854,197,196,0);N(4285,2,32084,11196,45,198,0);N(4210,3,32120,11587,53,199,0);N(1044,3,32120,11587,53,200,0);N(6689,4,32368,11762,98,201,0);N(3835,3,32108,11713,51,202,0);N(4043,4,32496,11789,126,203,0);N(4894,3,32120,11587,53,204,0);N(4867,3,32120,11587,53,205,0);N(1250,3,32120,11587,53,206,0);N(1278,2,32084,11196,45,207,0);N(1192,3,32120,11587,53,208,0);N(1221,2,32084,11196,45,209,0);N(7019,2,32092,11025,47,210,0);N(4517,2,32092,11025,47,211,0);N(6750,2,32480,11196,123,212,0);N(4581,4,32368,11762,98,213,0);N(8178,2,32100,11709,49,214,0);N(7040,2,32084,11196,45,215,0);N(6959,3,32120,11587,53,216,0);N(7601,4,32272,11371,80,217,0);N(7159,4,32272,11371,80,218,0);N(6092,3,32120,11587,53,219,0);N(8267,1,32248,11001,70,220,0);N(1830,1,32248,11001,70,221,0);N(4650,2,32084,11196,45,222,0);N(6240,3,32252,11263,75,223,0);N(10287,2,32084,11196,45,224,0);N(10208,2,32084,11196,45,225,0);N(10260,2,32084,11196,45,226,0);N(10181,2,32084,11196,45,227,0);N(10232,2,32084,11196,45,228,0);N(10153,2,32084,11196,45,229,0);N(3694,2,32084,11196,45,230,0);N(2409,3,32252,11263,75,231,0);N(9371,2,32084,11196,45,232,0);N(9243,2,32084,11196,45,233,0);N(9403,2,32084,11196,45,234,0);N(9275,2,32084,11196,45,235,0);N(9312,2,32084,11196,45,236,0);N(9275,2,32084,11196,45,235,0);N(1900,1,32248,11001,70,237,0);N(1734,1,32248,11001,70,238,0);N(3335,5,32768,11029,240,239,0);N(3298,3,32120,11587,53,241,0);N(2265,5,32512,11029,128,242,0);N(2288,7,32800,11859,244,243,0);N(5232,3,32120,11587,53,245,0);N(7760,2,32092,11025,47,246,0);N(2131,4,32832,11833,248,247,0);N(5473,3,32348,11587,94,249,0);N(1065,3,32120,11587,53,250,0);N(5843,5,32848,11868,252,251,0);N(1406,5,32768,11029,240,253,0);N(1376,3,32120,11587,53,254,0);N(2524,4,32448,11371,111,255,0);N(2493,3,32120,11587,53,256,0);N(5726,3,32120,11587,53,257,0);N(5699,3,32120,11587,53,258,0);N(7555,3,32120,11587,53,259,0);N(7578,2,32084,11196,45,260,0);N(5148,5,32160,11724,60,261,0);N(5115,5,32160,11724,60,262,0);N(4985,5,32160,11724,60,263,0);N(5027,5,32160,11724,60,264,0);N(5072,5,32160,11724,60,265,0);N(5179,5,32160,11724,60,266,0);N(4920,5,32160,11724,60,267,0);N(4951,5,32160,11724,60,268,0);N(2791,2,32480,11196,123,269,0);N(2810,2,32480,11196,123,270,0);N(8332,1,32248,11001,70,271,0);N(4259,3,32120,11587,53,272,0);N(3024,6,32880,11825,274,273,0);N(7828,2,32084,11196,45,275,0);N(7979,2,32084,11196,45,276,0);N(3853,2,32084,11196,45,277,0);N(8304,1,32248,11001,70,278,0);N(4229,3,32120,11587,53,279,0);N(2997,6,32880,11825,274,280,0);N(7790,2,32084,11196,45,281,0);N(7940,2,32084,11196,45,282,0);N(4711,2,32084,11196,45,283,0);N(8387,1,32248,11001,70,284,0);N(3077,6,32880,11825,274,285,0);N(7903,2,32084,11196,45,286,0);N(8056,2,32084,11196,45,287,0);N(3892,2,32084,11196,45,288,0);N(8356,1,32248,11001,70,289,0);N(3047,6,32880,11825,274,290,0);N(7862,2,32084,11196,45,291,0);N(8014,2,32084,11196,45,292,0);N(4753,2,32084,11196,45,293,0);N(1868,1,32248,11001,70,294,0);N(3112,6,32224,11738,68,295,0);N(3222,2,32084,11196,45,296,0);N(7316,2,32084,11196,45,297,0);N(4066,2,32084,11196,45,298,0);N(6310,2,32084,11196,45,299,0);N(5202,2,32084,11196,45,300,0);N(6511,2,32100,11709,49,301,0);N(7217,2,32084,11196,45,302,0);N(3257,2,32084,11196,45,303,0);N(6909,5,32912,11875,305,304,0);N(5613,2,32084,11196,45,306,0);N(2926,3,32108,11713,51,307,0);N(2963,3,32108,11713,51,308,0);N(2757,3,32108,11713,51,309,0);N(5901,3,32348,11587,94,310,0);N(1306,3,32348,11587,94,311,0);N(2190,9,32944,11882,313,312,0);N(1799,4,32832,11833,248,314,0);N(3518,3,32108,11713,51,315,0);N(2832,3,32108,11713,51,316,0);N(2159,10,32992,11893,318,317,0);N(1772,4,32832,11833,248,319,0);N(2889,3,32108,11713,51,320,0);N(2565,3,32108,11713,51,321,0);N(2606,3,32108,11713,51,322,0)}function Yd(a,b,c,d,e){var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,y=0,z=0,A=0,B=0,C=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0;l=ga-48|0;ga=l;s=x[e>>2];u=b;S=x[d>>2];if(S){u=x[S+12>>2]}G=x[u+96>>2];n=c;j=x[b+96>>2];H=x[c+96>>2]-j|0;i=x[(S?S:s)+12>>2];r=x[b+92>>2];h=x[i+92>>2]-r|0;N=x[c+92>>2]-r|0;v=x[i+96>>2]-j|0;K=D(H,h)-D(N,v)|0;O=K>>31;w=H>>31;k=js(K,O,H,w);g=ha;q=x[b+88>>2];i=x[i+88>>2]-q|0;T=x[c+88>>2]-q|0;L=D(i,N)-D(h,T)|0;P=L>>31;o=T;p=o>>31;h=js(L,P,o,p);b=k-h|0;A=x[u+92>>2];c=A;I=b;B=g-(ha+(h>>>0>k>>>0)|0)|0;m=js(b,B,c,c>>31);f=ha;c=N;k=c>>31;z=js(L,P,c,k);g=ha;M=D(o,v)-D(i,H)|0;Q=M>>31;i=js(M,Q,H,w);b=z-i|0;u=x[u+88>>2];h=u;J=b;C=g-(ha+(i>>>0>z>>>0)|0)|0;b=js(b,C,h,h>>31);i=b+m|0;f=ha+f|0;f=b>>>0>i>>>0?f+1|0:f;h=js(o,p,M,Q);o=ha;c=js(c,k,K,O);E=h-c|0;F=o-(ha+(c>>>0>h>>>0)|0)|0;c=js(E,F,G,G>>31);b=c+i|0;f=ha+f|0;o=b>>>0>>0?f+1|0:f;c=js(K,O,q,q>>31);h=ha;g=c;c=js(L,P,j,j>>31);i=g+c|0;j=ha+h|0;j=c>>>0>i>>>0?j+1|0:j;h=js(M,Q,r,r>>31);c=h+i|0;g=ha+j|0;q=c;r=c>>>0>>0?g+1|0:g;n=s?x[s+12>>2]:n;z=x[n+96>>2];v=x[n+92>>2];w=x[n+88>>2];c=s;a:{if(!S){break a}c=s;if(!x[S+12>>2]){break a}c=x[x[S+8>>2]+4>>2];m=x[c+12>>2];h=m;i=x[h+92>>2];k=i>>31;g=js(i,k,M,Q);f=ha;n=g;h=x[h+88>>2];p=h>>31;g=js(h,p,K,O);n=n+g|0;f=ha+f|0;f=g>>>0>n>>>0?f+1|0:f;g=x[m+96>>2];R=g>>31;m=js(g,R,L,P);n=m+n|0;f=ha+f|0;f=m>>>0>n>>>0?f+1|0:f;b:{if(n>>>0>>0&(r|0)>=(f|0)|(f|0)<(r|0)){break b}n=c+12|0;t=x[a+100>>2];while(1){if((t|0)==x[c+20>>2]){break b}k=js(i,k,I,B);i=ha;h=js(h,p,J,C);k=h+k|0;f=ha+i|0;f=h>>>0>k>>>0?f+1|0:f;i=js(g,R,E,F);h=i+k|0;f=ha+f|0;f=h>>>0>>0?f+1|0:f;if((o|0)>=(f|0)&b>>>0>=h>>>0|(f|0)<(o|0)){break b}x[d>>2]=c;b=x[n>>2];G=x[b+96>>2];A=x[b+92>>2];u=x[b+88>>2];if(b){c=x[x[c+8>>2]+4>>2];n=c+12|0;b=h;o=f;m=x[c+12>>2];h=m;i=x[h+92>>2];k=i>>31;g=js(i,k,M,Q);f=ha;j=g;h=x[h+88>>2];p=h>>31;g=js(h,p,K,O);j=j+g|0;f=ha+f|0;f=g>>>0>j>>>0?f+1|0:f;g=x[m+96>>2];R=g>>31;m=js(g,R,L,P);y=m+j|0;j=ha+f|0;j=m>>>0>y>>>0?j+1|0:j;if(q>>>0>y>>>0&(r|0)>=(j|0)|(j|0)<(r|0)){break b}continue}break}b=h;o=f}c=x[e>>2]}h=js(I,B,v,v>>31);i=ha;g=h;h=js(J,C,w,w>>31);g=g+h|0;f=ha+i|0;f=g>>>0>>0?f+1|0:f;h=js(E,F,z,z>>31);i=h+g|0;f=ha+f|0;k=h>>>0>i>>>0?f+1|0:f;c:{if(!c){c=0;break c}if(!x[c+12>>2]){break c}n=x[x[c+8>>2]>>2];t=x[n+12>>2];g=t;h=x[g+92>>2];p=h>>31;f=js(h,p,M,Q);m=ha;j=f;g=x[g+88>>2];R=g>>31;f=js(g,R,K,O);y=j+f|0;j=ha+m|0;j=f>>>0>y>>>0?j+1|0:j;m=x[t+96>>2];V=m>>31;f=js(m,V,L,P);t=f+y|0;j=ha+j|0;j=f>>>0>t>>>0?j+1|0:j;if(q>>>0>t>>>0&(r|0)>=(j|0)|(j|0)<(r|0)){break c}W=n+12|0;y=x[a+100>>2];while(1){f=n;if((y|0)==x[f+20>>2]){break c}h=js(h,p,I,B);n=ha;j=h;h=js(g,R,J,C);p=j+h|0;g=ha+n|0;g=h>>>0>p>>>0?g+1|0:g;m=js(E,F,m,V);h=m+p|0;j=ha+g|0;j=h>>>0>>0?j+1|0:j;g=j;if(h>>>0<=i>>>0&(k|0)>=(g|0)|(g|0)<(k|0)){break c}x[e>>2]=f;c=x[W>>2];z=x[c+96>>2];v=x[c+92>>2];w=x[c+88>>2];if(c){n=x[x[f+8>>2]>>2];W=n+12|0;c=f;i=h;k=g;t=x[n+12>>2];g=t;h=x[g+92>>2];p=h>>31;f=js(h,p,M,Q);m=ha;j=f;g=x[g+88>>2];R=g>>31;f=js(g,R,K,O);U=j+f|0;j=ha+m|0;j=f>>>0>U>>>0?j+1|0:j;m=x[t+96>>2];V=m>>31;t=js(m,V,L,P);U=t+U|0;f=ha+j|0;f=t>>>0>U>>>0?f+1|0:f;if(q>>>0>U>>>0&(r|0)>=(f|0)|(f|0)<(r|0)){break c}continue}break}c=f;i=h;k=g}o=k-((b>>>0>i>>>0)+o|0)|0;d:{b=i-b|0;if(!!b&(o|0)>=0|(o|0)>0){t=x[a+100>>2];while(1){c=x[d>>2];while(1){e:{h=(D(v-A|0,N)+D(w-u|0,T)|0)+D(z-G|0,H)|0;p=h>>31;if(!c|!x[c+12>>2]){break e}n=x[x[c>>2]+8>>2];if((t|0)>=x[n+20>>2]){break e}i=x[n+12>>2];s=x[i+92>>2];a=s-A|0;m=x[i+88>>2];k=m-u|0;g=x[i+96>>2];f=g-G|0;q=(D(a,N)+D(k,T)|0)+D(f,H)|0;a=js(I,B,a,a>>31);i=ha;j=a;a=js(J,C,k,k>>31);k=j+a|0;j=ha+i|0;j=a>>>0>k>>>0?j+1|0:j;i=js(E,F,f,f>>31);a=i+k|0;f=ha+j|0;f=a>>>0>>0?f+1|0:f;f:{if(!(f|a)){if((q|0)<0){break f}break e}if((f|0)>0|(f|0)>=0){break e}x[l+32>>2]=0-a;x[l+36>>2]=0-(((a|0)!=0)+f|0);k=(q|0)>0;x[l+40>>2]=k?-1:q>>>31|0;i=(q|0)<0;x[l+24>>2]=k?q:i?0-q|0:0;a=q>>31;x[l+28>>2]=k?a:i?0-(((q|0)!=0)+a|0)|0:0;g:{if((h|0)>0){x[l+16>>2]=1;k=p;f=-1;a=h;break g}if((h|0)<0){x[l+16>>2]=-1;k=0-(((h|0)!=0)+p|0)|0;f=1;a=0-h|0;break g}x[l+16>>2]=0;k=0;f=0;a=0}x[l>>2]=a;x[l+4>>2]=k;a=b;i=o;h:{if(!!a&(i|0)>=0|(i|0)>0){break h}i=0;a=0;if((o|0)>0|(o|0)>=0){break h}x[l+16>>2]=f;i=0-(((b|0)!=0)+o|0)|0;a=0-b|0}x[l+8>>2]=a;x[l+12>>2]=i;if((ab(l+24|0,l)|0)<0){break e}}c=(c|0)!=(S|0)?n:0;x[d>>2]=c;a=v-s|0;a=js(I,B,a,a>>31);b=ha;h=a;a=w-m|0;a=js(J,C,a,a>>31);o=h+a|0;j=ha+b|0;j=a>>>0>o>>>0?j+1|0:j;a=z-g|0;a=js(E,F,a,a>>31);b=a+o|0;f=ha+j|0;o=a>>>0>b>>>0?f+1|0:f;u=m;A=s;G=g;continue}break}a=x[e>>2];if(!a|!x[a+12>>2]){break d}y=x[x[a+8>>2]>>2];if((t|0)>=x[y+20>>2]){break d}i=x[y+12>>2];r=x[i+92>>2];f=r-v|0;q=f>>31;a=js(f,q,M,Q);c=ha;g=a;v=x[i+88>>2];k=v-w|0;n=k>>31;a=js(k,n,K,O);w=g+a|0;g=ha+c|0;g=a>>>0>w>>>0?g+1|0:g;s=x[i+96>>2];i=s-z|0;m=i>>31;c=js(L,P,i,m);if((0-c|0)!=(w|0)|(0-(ha+((c|0)!=0)|0)|0)!=(g|0)){break d}a=r-A|0;a=js(I,B,a,a>>31);c=ha;g=a;a=v-u|0;a=js(J,C,a,a>>31);g=g+a|0;j=ha+c|0;j=a>>>0>g>>>0?j+1|0:j;a=s-G|0;a=js(E,F,a,a>>31);c=a+g|0;j=ha+j|0;j=a>>>0>c>>>0?j+1|0:j;a=j;if(!c&(a|0)<=0|(a|0)<0){break d}s=(D(f,N)+D(k,T)|0)+D(i,H)|0;g=js(f,q,I,B);f=ha;j=g;g=js(J,C,k,n);k=j+g|0;f=ha+f|0;f=g>>>0>k>>>0?f+1|0:f;g=js(E,F,i,m);i=g+k|0;f=ha+f|0;f=g>>>0>i>>>0?f+1|0:f;i:{if(!(f|i)){if((s|0)<0){break i}break d}if((f|0)>0|(f|0)>=0){break d}x[l+32>>2]=0-i;x[l+36>>2]=0-(((i|0)!=0)+f|0);k=(s|0)>0;x[l+40>>2]=k?-1:s>>>31|0;g=(s|0)<0;x[l+24>>2]=k?s:g?0-s|0:0;i=s>>31;x[l+28>>2]=k?i:g?0-(((s|0)!=0)+i|0)|0:0;j:{if((h|0)>0){x[l+16>>2]=1;i=-1;break j}if((h|0)<0){x[l+16>>2]=-1;i=h;h=0-h|0;p=0-(((i|0)!=0)+p|0)|0;i=1;break j}x[l+16>>2]=0;h=0;p=0;i=0}x[l>>2]=h;x[l+4>>2]=p;h=b;g=o;k:{if(!!h&(g|0)>=0|(g|0)>0){break k}g=0;h=0;if((o|0)>0|(o|0)>=0){break k}x[l+16>>2]=i;g=0-(((b|0)!=0)+o|0)|0;h=0-b|0}x[l+8>>2]=h;x[l+12>>2]=g;if((ab(l+24|0,l)|0)<=0){break d}}x[e>>2]=y;b=x[y+12>>2];z=x[b+96>>2];v=x[b+92>>2];w=x[b+88>>2];b=c;o=a;continue}}if((o|0)>0|(o|0)>=0){break d}t=x[a+100>>2];while(1){h=(D(v-A|0,N)+D(w-u|0,T)|0)+D(z-G|0,H)|0;p=h>>31;l:{if(!c|!x[c+12>>2]){break l}r=x[x[c+4>>2]+8>>2];if((t|0)>=x[r+20>>2]){break l}i=x[r+12>>2];m=x[i+92>>2];a=m-v|0;k=x[i+88>>2];f=k-w|0;i=x[i+96>>2];q=i-z|0;j=(D(a,N)+D(f,T)|0)+D(q,H)|0;a=js(I,B,a,a>>31);g=ha;n=a;a=js(J,C,f,f>>31);n=n+a|0;f=ha+g|0;f=a>>>0>n>>>0?f+1|0:f;a=n;n=js(E,F,q,q>>31);a=a+n|0;g=ha+f|0;g=a>>>0>>0?g+1|0:g;m:{if(!(g|a)){if((j|0)>0){break m}break l}if((g|0)>0|(g|0)>=0){break l}x[l+32>>2]=0-a;x[l+36>>2]=0-(((a|0)!=0)+g|0);f=(j|0)>0;x[l+40>>2]=f?-1:j>>>31|0;g=(j|0)<0;x[l+24>>2]=f?j:g?0-j|0:0;a=j>>31;x[l+28>>2]=f?a:g?0-(((j|0)!=0)+a|0)|0:0;n:{if((h|0)>0){x[l+16>>2]=1;n=-1;g=p;a=h;break n}if((h|0)<0){x[l+16>>2]=-1;n=1;g=0-(((h|0)!=0)+p|0)|0;a=0-h|0;break n}n=0;x[l+16>>2]=0;g=0;a=0}x[l>>2]=a;x[l+4>>2]=g;a=b;g=o;o:{if(!!a&(g|0)>=0|(g|0)>0){break o}g=0;a=0;if((o|0)>0|(o|0)>=0){break o}x[l+16>>2]=n;g=0-(((b|0)!=0)+o|0)|0;a=0-b|0}x[l+8>>2]=a;x[l+12>>2]=g;if((ab(l+24|0,l)|0)>0){break l}}c=(c|0)!=(s|0)?r:0;x[e>>2]=c;a=m-A|0;a=js(I,B,a,a>>31);b=ha;h=a;a=k-u|0;a=js(J,C,a,a>>31);o=h+a|0;f=ha+b|0;f=a>>>0>o>>>0?f+1|0:f;a=i-G|0;a=js(E,F,a,a>>31);b=a+o|0;f=ha+f|0;o=a>>>0>b>>>0?f+1|0:f;w=k;v=m;z=i;continue}a=x[d>>2];if(!a|!x[a+12>>2]){break d}y=x[x[a+8>>2]+4>>2];if((t|0)>=x[y+20>>2]){break d}i=x[y+12>>2];r=x[i+92>>2];k=r-A|0;q=k>>31;a=js(k,q,M,Q);c=ha;f=a;A=x[i+88>>2];g=A-u|0;n=g>>31;a=js(g,n,K,O);j=f+a|0;f=ha+c|0;f=a>>>0>j>>>0?f+1|0:f;m=x[i+96>>2];c=m-G|0;u=c>>31;i=js(L,P,c,u);if((0-i|0)!=(j|0)|(0-(ha+((i|0)!=0)|0)|0)!=(f|0)){break d}a=v-r|0;a=js(I,B,a,a>>31);i=ha;f=a;a=w-A|0;a=js(J,C,a,a>>31);f=f+a|0;j=ha+i|0;j=a>>>0>f>>>0?j+1|0:j;a=z-m|0;a=js(E,F,a,a>>31);i=a+f|0;f=ha+j|0;f=a>>>0>i>>>0?f+1|0:f;a=f;if((f|0)>0|(f|0)>=0){break d}m=(D(k,N)+D(g,T)|0)+D(c,H)|0;f=js(k,q,I,B);k=ha;g=js(J,C,g,n);f=g+f|0;j=ha+k|0;k=js(E,F,c,u);c=k+f|0;g=ha+(f>>>0>>0?j+1|0:j)|0;g=c>>>0>>0?g+1|0:g;p:{if(!(g|c)){if((m|0)>0){break p}break d}if((g|0)>0|(g|0)>=0){break d}x[l+32>>2]=0-c;x[l+36>>2]=0-(((c|0)!=0)+g|0);k=(m|0)>0;x[l+40>>2]=k?-1:m>>>31|0;g=(m|0)<0;x[l+24>>2]=k?m:g?0-m|0:0;c=m>>31;x[l+28>>2]=k?c:g?0-(((m|0)!=0)+c|0)|0:0;q:{if((h|0)>0){x[l+16>>2]=1;g=-1;break q}if((h|0)<0){x[l+16>>2]=-1;c=h;h=0-h|0;p=0-(((c|0)!=0)+p|0)|0;g=1;break q}x[l+16>>2]=0;h=0;p=0;g=0}x[l>>2]=h;x[l+4>>2]=p;c=b;h=o;r:{if(!!c&(h|0)>=0|(h|0)>0){break r}h=0;c=0;if((o|0)>0|(o|0)>=0){break r}x[l+16>>2]=g;h=0-(((b|0)!=0)+o|0)|0;c=0-b|0}x[l+8>>2]=c;x[l+12>>2]=h;if((ab(l+24|0,l)|0)>=0){break d}}x[d>>2]=y;b=x[y+12>>2];G=x[b+96>>2];A=x[b+92>>2];c=x[e>>2];u=x[b+88>>2];b=i;o=a;continue}}ga=l+48|0}function _g(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,w=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0;z=ga-16|0;ga=z;ia[x[8262]](3645);d=x[a+196>>2];j=x[a+228>>2];a:{if((d|0)>=(j|0)){break a}if((j|0)>x[a+200>>2]){if(j){x[8456]=x[8456]+1;g=ia[x[8258]](j<<2,16)|0;c=x[a+196>>2]}else{c=d}b:{if((c|0)<=0){break b}if(c>>>0>=4){i=c&-4;while(1){f=h<<2;x[f+g>>2]=x[f+x[a+204>>2]>>2];m=f|4;x[m+g>>2]=x[m+x[a+204>>2]>>2];m=f|8;x[m+g>>2]=x[m+x[a+204>>2]>>2];f=f|12;x[f+g>>2]=x[f+x[a+204>>2]>>2];h=h+4|0;e=e+4|0;if((i|0)!=(e|0)){continue}break}}c=c&3;if(!c){break b}while(1){e=h<<2;x[e+g>>2]=x[e+x[a+204>>2]>>2];h=h+1|0;q=q+1|0;if((c|0)!=(q|0)){continue}break}}c=x[a+204>>2];if(!(c?!c|!y[a+208|0]:1)){x[8457]=x[8457]+1;ia[x[8259]](c)}x[a+204>>2]=g;v[a+208|0]=1;x[a+200>>2]=j}c=j+(d^-1)|0;e=j-d&3;if(e){h=0;while(1){x[x[a+204>>2]+(d<<2)>>2]=0;d=d+1|0;h=h+1|0;if((e|0)!=(h|0)){continue}break}}if(c>>>0<3){break a}while(1){c=d<<2;x[c+x[a+204>>2]>>2]=0;x[(c+x[a+204>>2]|0)+4>>2]=0;x[(c+x[a+204>>2]|0)+8>>2]=0;x[(c+x[a+204>>2]|0)+12>>2]=0;d=d+4|0;if((j|0)!=(d|0)){continue}break}}x[a+196>>2]=j;if((ia[x[x[a>>2]+104>>2]](a)|0)>0){d=0;while(1){c=d<<2;x[c+x[a+204>>2]>>2]=x[c+x[a+236>>2]>>2];d=d+1|0;if((ia[x[x[a>>2]+104>>2]](a)|0)>(d|0)){continue}break}}d=x[a+196>>2];if((d|0)>=2){md(a+192|0,z+14|0,0,d-1|0)}d=ia[x[x[a>>2]+104>>2]](a)|0;d=d?x[a+204>>2]:0;c=x[a+196>>2];g=x[a+212>>2];D=g,E=ia[x[x[a>>2]+20>>2]](a)|0,x[D+20>>2]=E;x[g+16>>2]=c;x[g+12>>2]=d;x[g+4>>2]=b;c=x[g+32>>2];c:{if((c|0)>=0){break c}if(x[g+36>>2]<0){d=x[g+40>>2];if(!(d?!d|!y[g+44|0]:1)){x[8457]=x[8457]+1;ia[x[8259]](d)}v[g+44|0]=1;x[g+36>>2]=0;x[g+40>>2]=0}e=0;d=c;j=0-c&3;if(j){while(1){x[x[g+40>>2]+(d<<2)>>2]=0;d=d+1|0;e=e+1|0;if((j|0)!=(e|0)){continue}break}}if(c>>>0>4294967292){break c}while(1){c=d<<2;x[c+x[g+40>>2]>>2]=0;x[(c+x[g+40>>2]|0)+4>>2]=0;x[(c+x[g+40>>2]|0)+8>>2]=0;x[(c+x[g+40>>2]|0)+12>>2]=0;d=d+4|0;if(d){continue}break}}x[g+32>>2]=0;c=x[g+52>>2];d:{if((c|0)>=0){break d}if(x[g+56>>2]<0){d=x[g+60>>2];if(!(d?!d|!y[g- -64|0]:1)){x[8457]=x[8457]+1;ia[x[8259]](d)}v[g+64|0]=1;x[g+56>>2]=0;x[g+60>>2]=0}e=0;d=c;j=0-c&3;if(j){while(1){x[x[g+60>>2]+(d<<2)>>2]=0;d=d+1|0;e=e+1|0;if((j|0)!=(e|0)){continue}break}}if(c>>>0>4294967292){break d}while(1){c=d<<2;x[c+x[g+60>>2]>>2]=0;x[(c+x[g+60>>2]|0)+4>>2]=0;x[(c+x[g+60>>2]|0)+8>>2]=0;x[(c+x[g+60>>2]|0)+12>>2]=0;d=d+4|0;if(d){continue}break}}x[g+52>>2]=0;c=x[g+72>>2];e:{if((c|0)>=0){break e}if(x[g+76>>2]<0){d=x[g+80>>2];if(!(d?!d|!y[g+84|0]:1)){x[8457]=x[8457]+1;ia[x[8259]](d)}v[g+84|0]=1;x[g+76>>2]=0;x[g+80>>2]=0}e=0;d=c;j=0-c&3;if(j){while(1){x[x[g+80>>2]+(d<<2)>>2]=0;d=d+1|0;e=e+1|0;if((j|0)!=(e|0)){continue}break}}if(c>>>0>4294967292){break e}while(1){c=d<<2;x[c+x[g+80>>2]>>2]=0;x[(c+x[g+80>>2]|0)+4>>2]=0;x[(c+x[g+80>>2]|0)+8>>2]=0;x[(c+x[g+80>>2]|0)+12>>2]=0;d=d+4|0;if(d){continue}break}}x[g+72>>2]=0;d=x[a+216>>2];c=x[a+24>>2];E=d,F=x[a+8>>2],G=ia[x[x[c>>2]+36>>2]](c)|0,D=x[x[d>>2]+8>>2],ia[D](E|0,F|0,G|0);f=x[a+220>>2];m=x[a+24>>2];w=x[a+212>>2];g=0;q=0;A=ga-16|0;ga=A;j=a;d=0;t=ga-16|0;ga=t;ia[x[8262]](2381);a=x[f+28>>2];f:{if((a|0)>=0){break f}if(x[f+32>>2]<0){c=x[f+36>>2];if(!(c?!c|!y[f+40|0]:1)){x[8457]=x[8457]+1;ia[x[8259]](c)}v[f+40|0]=1;x[f+32>>2]=0;x[f+36>>2]=0}c=a;e=0-c&3;if(e){while(1){x[x[f+36>>2]+(c<<2)>>2]=0;c=c+1|0;d=d+1|0;if((e|0)!=(d|0)){continue}break}}if(a>>>0>4294967292){break f}while(1){a=c<<2;x[a+x[f+36>>2]>>2]=0;x[(a+x[f+36>>2]|0)+4>>2]=0;x[(a+x[f+36>>2]|0)+8>>2]=0;x[(a+x[f+36>>2]|0)+12>>2]=0;c=c+4|0;if(c){continue}break}}x[f+28>>2]=0;a=0;l=ga-16|0;ga=l;k=f+4|0;h=x[k+4>>2];g:{if((h|0)<=0){break g}i=x[k+12>>2];while(1){d=a;n=i+(a<<3)|0;e=n;c=x[e>>2];if((c|0)!=(a|0)){while(1){d=i+(c<<3)|0;x[e>>2]=x[d>>2];d=x[d>>2];e=i+(d<<3)|0;c=x[e>>2];if((c|0)!=(d|0)){continue}break}}x[n>>2]=d;a=a+1|0;if((h|0)!=(a|0)){continue}break}if((h|0)<2){break g}rd(k,l+15|0,0,h-1|0)}ga=l+16|0;k=x[f+8>>2];if((k|0)>0){d=0;while(1){a=d;c=a+1|0;h=(c|0)<(k|0)?k:c;e=h-1|0;n=x[f+16>>2];l=x[n+(a<<3)>>2];while(1){h:{c=d;if((e|0)==(c|0)){c=e;d=h;break h}d=c+1|0;if((l|0)==x[n+(d<<3)>>2]){continue}}break}p=(a|0)>(c|0);i:{if(p){break i}i=1;h=(c-a|0)+1|0;r=h&1;o=x[j+16>>2];e=a;if((a|0)!=(c|0)){s=h&-2;h=0;while(1){u=n+(e<<3)|0;C=x[o+(x[u+4>>2]<<2)>>2];if((l|0)==x[C+208>>2]){B=i;i=x[C+220>>2];i=B&((i|0)!=4&(i|0)!=1)}u=x[o+(x[u+12>>2]<<2)>>2];if((l|0)==x[u+208>>2]){B=i;i=x[u+220>>2];i=B&((i|0)!=4&(i|0)!=1)}e=e+2|0;h=h+2|0;if((s|0)!=(h|0)){continue}break}}j:{if(!r){break j}e=x[o+(x[(n+(e<<3)|0)+4>>2]<<2)>>2];if((l|0)!=x[e+208>>2]){break j}e=x[e+220>>2];i=(e|0)!=4&(e|0)!=1&i}if(i){if(p){break i}while(1){e=x[x[j+16>>2]+(x[(x[f+16>>2]+(a<<3)|0)+4>>2]<<2)>>2];if((l|0)==x[e+208>>2]&(x[e+220>>2]&-2)!=4){x[e+220>>2]=2}e=(a|0)==(c|0);a=a+1|0;if(!e){continue}break}break i}while(1){e=a;a=x[x[j+16>>2]+(x[(x[f+16>>2]+(a<<3)|0)+4>>2]<<2)>>2];if(!((l|0)!=x[a+208>>2]|x[a+220>>2]!=2)){if((x[a+220>>2]&-2)!=4){x[a+220>>2]=3}x[a+224>>2]=0}a=e+1|0;if((c|0)!=(e|0)){continue}break}}if((d|0)<(k|0)){continue}break}}o=ia[x[x[m>>2]+36>>2]](m)|0;if((o|0)>0){d=0;while(1){n=ia[x[x[m>>2]+40>>2]](m,d)|0;a=x[n+840>>2];c=x[n+836>>2];k:{if(!(x[c+220>>2]!=2?c:0)&(!a|x[a+220>>2]==2)){break k}e=x[c+204>>2];if(!(!(e&2)|e&4|x[c+220>>2]==2)){Mc(a,0)}e=x[a+204>>2];if(!(!(e&2)|e&4|x[a+220>>2]==2)){Mc(c,0)}if(!y[f+64|0]){break k}if(!(ia[x[x[m>>2]+28>>2]](m,c,a)|0)){break k}e=x[f+28>>2];l:{if((e|0)!=x[f+32>>2]){break l}k=e?e<<1:1;if((k|0)<=(e|0)){break l}m:{if(!k){a=0;break m}x[8456]=x[8456]+1;a=ia[x[8258]](k<<2,16)|0;e=x[f+28>>2]}n:{if((e|0)<=0){break n}i=0;c=0;if(e>>>0>=4){p=e&-4;h=0;while(1){l=c<<2;x[l+a>>2]=x[l+x[f+36>>2]>>2];r=l|4;x[r+a>>2]=x[r+x[f+36>>2]>>2];r=l|8;x[r+a>>2]=x[r+x[f+36>>2]>>2];l=l|12;x[l+a>>2]=x[l+x[f+36>>2]>>2];c=c+4|0;h=h+4|0;if((p|0)!=(h|0)){continue}break}}h=e&3;if(!h){break n}while(1){l=c<<2;x[l+a>>2]=x[l+x[f+36>>2]>>2];c=c+1|0;i=i+1|0;if((h|0)!=(i|0)){continue}break}}c=x[f+36>>2];if(!(!c|!y[f+40|0])){if(c){x[8457]=x[8457]+1;ia[x[8259]](c)}e=x[f+28>>2]}x[f+36>>2]=a;v[f+40|0]=1;x[f+32>>2]=k}x[x[f+36>>2]+(e<<2)>>2]=n;x[f+28>>2]=e+1}d=d+1|0;if((o|0)!=(d|0)){continue}break}}ia[x[8263]]();ga=t+16|0;n=x[f+8>>2];ia[x[8262]](4539);o:{if(!y[f+64|0]){a=ia[x[x[m>>2]+44>>2]](m)|0;d=ia[x[x[m>>2]+36>>2]](m)|0;ia[x[x[w>>2]+8>>2]](w,x[j+16>>2],x[j+8>>2],a,d,-1);break o}m=x[f+28>>2];if((m|0)>=2){pd(f+24|0,A+14|0,0,m-1|0)}if((n|0)<=0){break o}a=1;while(1){l=x[x[f+16>>2]+(q<<3)>>2];i=1;while(1){d=x[f+16>>2]+(q<<3)|0;if((l|0)==x[d>>2]){t=x[x[j+16>>2]+(x[d+4>>2]<<2)>>2];c=x[f+48>>2];p:{if((c|0)!=x[f+52>>2]){break p}o=c?c<<1:1;if((o|0)<=(c|0)){break p}q:{if(!o){e=0;break q}x[8456]=x[8456]+1;e=ia[x[8258]](o<<2,16)|0;c=x[f+48>>2]}r:{if((c|0)<=0){break r}h=0;d=0;if(c>>>0>=4){r=c&-4;p=0;while(1){k=d<<2;x[k+e>>2]=x[k+x[f+56>>2]>>2];s=k|4;x[s+e>>2]=x[s+x[f+56>>2]>>2];s=k|8;x[s+e>>2]=x[s+x[f+56>>2]>>2];k=k|12;x[k+e>>2]=x[k+x[f+56>>2]>>2];d=d+4|0;p=p+4|0;if((r|0)!=(p|0)){continue}break}}k=c&3;if(!k){break r}while(1){p=d<<2;x[p+e>>2]=x[p+x[f+56>>2]>>2];d=d+1|0;h=h+1|0;if((k|0)!=(h|0)){continue}break}}d=x[f+56>>2];if(!(!d|!y[f+60|0])){if(d){x[8457]=x[8457]+1;ia[x[8259]](d)}c=x[f+48>>2]}x[f+56>>2]=e;v[f+60|0]=1;x[f+52>>2]=o}x[x[f+56>>2]+(c<<2)>>2]=t;x[f+48>>2]=c+1;d=x[t+220>>2];i=((d|0)==2|(d|0)==5)&i;q=q+1|0;if((n|0)>(q|0)){continue}}break}h=0;d=0;s:{if((g|0)>=(m|0)){break s}k=x[f+36>>2];e=k+(g<<2)|0;d=x[e>>2];c=x[x[d+836>>2]+208>>2];if((c|0)<0){c=x[x[d+840>>2]+208>>2]}d=0;if((c|0)!=(l|0)){break s}a=g+1|0;c=(a|0)<(m|0)?m:a;h=c-1|0;a=g;while(1){t:{if((a|0)==(h|0)){a=c;break t}a=a+1|0;o=x[k+(a<<2)>>2];d=x[x[o+836>>2]+208>>2];if((d|0)<0){d=x[x[o+840>>2]+208>>2]}if((d|0)==(l|0)){continue}}break}h=a-g|0;d=e}if(!i){ia[x[x[w>>2]+8>>2]](w,x[f+56>>2],x[f+48>>2],d,h,l)}c=x[f+48>>2];u:{if((c|0)>=0){break u}if(x[f+52>>2]<0){d=x[f+56>>2];if(!(d?!d|!y[f+60|0]:1)){x[8457]=x[8457]+1;ia[x[8259]](d)}v[f+60|0]=1;x[f+52>>2]=0;x[f+56>>2]=0}e=0;d=c;i=0-c&3;if(i){while(1){x[x[f+56>>2]+(d<<2)>>2]=0;d=d+1|0;e=e+1|0;if((i|0)!=(e|0)){continue}break}}if(c>>>0>4294967292){break u}while(1){c=d<<2;x[c+x[f+56>>2]>>2]=0;x[(c+x[f+56>>2]|0)+4>>2]=0;x[(c+x[f+56>>2]|0)+8>>2]=0;x[(c+x[f+56>>2]|0)+12>>2]=0;d=d+4|0;if(d){continue}break}}g=h?a:g;x[f+48>>2]=0;if((n|0)>(q|0)){continue}break}}ia[x[8263]]();ga=A+16|0;ld(x[j+212>>2]);a=x[j+216>>2];ia[x[x[a>>2]+16>>2]](a,b,x[j+72>>2]);ia[x[8263]]();ga=z+16|0}function Jc(a,b,c,d){var e=0,f=0,g=E(0),h=E(0),i=E(0),j=E(0),k=E(0),l=E(0),m=0,n=E(0),o=E(0),p=0,q=E(0),r=0,s=E(0),t=0,u=E(0),w=0,z=E(0),A=E(0),C=E(0),F=E(0),G=E(0),H=E(0),I=E(0),J=E(0),K=E(0),L=E(0),N=E(0),O=0,P=0,Q=E(0),R=E(0),S=E(0),T=0,U=E(0),V=E(0),W=E(0),X=0,Y=0,Z=E(0),_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0;e=ga-704|0;ga=e;t=Ha(e+620|0);f=t;x[f+20>>2]=1065353216;x[f+24>>2]=1065353216;x[f+4>>2]=8;x[f>>2]=21396;x[f+32>>2]=0;x[f+36>>2]=0;x[f+28>>2]=1065353216;x[f+40>>2]=0;x[f+44>>2]=0;x[f+48>>2]=0;x[f+52>>2]=0;x[f+56>>2]=0;f=x[c+12>>2];r=x[c+4>>2];w=x[r+4>>2];a:{if((w|0)<=19){x[e+612>>2]=0;x[e+616>>2]=0;x[e+444>>2]=13156;B[e+608>>2]=B[d+4>>2];v[e+416|0]=0;x[e+392>>2]=953267991;w=e+680|0;x[w+12>>2]=r;x[w+8>>2]=t;p=e+84|0;x[w+4>>2]=p;x[w>>2]=23248;m=e+68|0;x[m+12>>2]=r;x[m+8>>2]=t;x[m+4>>2]=p;x[m>>2]=22600;r=x[d+16>>2]&8?m:w;b:{if(!(ia[x[x[r>>2]+8>>2]](r,a,b,f,f,e+444|0)|0)){break b}g=B[e+584>>2];h=B[e+576>>2];i=B[e+580>>2];j=E(E(g*g)+E(E(h*h)+E(i*i)));if(!(j>E(9999999747378752e-20))){break b}k=B[e+608>>2];if(!(k>2])){break b}n=g;g=E(E(1)/E(M(j)));B[e+584>>2]=n*g;B[e+580>>2]=i*g;B[e+576>>2]=h*g;a=x[c+8>>2];x[e+44>>2]=0;x[e+40>>2]=a;a=x[e+588>>2];x[e+56>>2]=x[e+584>>2];x[e+60>>2]=a;a=x[e+580>>2];x[e+48>>2]=x[e+576>>2];x[e+52>>2]=a;B[e+64>>2]=k;E(ia[x[x[d>>2]+12>>2]](d,e+40|0,1))}break a}if(w-21>>>0<=8){q=B[f+20>>2];i=B[f+36>>2];u=B[f+24>>2];s=B[f+52>>2];j=B[f+56>>2];k=B[f+40>>2];l=B[f+32>>2];z=B[f+16>>2];n=B[f>>2];A=B[f+4>>2];o=B[f+48>>2];G=B[f+8>>2];h=B[a+52>>2];C=B[a+56>>2];g=B[a+48>>2];x[e+456>>2]=0;s=E(-s);J=E(u*s);F=E(E(J-E(G*o))-E(k*j));K=E(C*k);L=E(u*h);B[e+452>>2]=F+E(K+E(E(g*G)+L));N=E(q*s);H=E(E(N-E(A*o))-E(i*j));Q=E(C*i);R=E(q*h);B[e+448>>2]=H+E(Q+E(E(g*A)+R));S=E(z*s);U=E(E(S-E(n*o))-E(l*j));V=E(C*l);W=E(z*h);B[e+444>>2]=U+E(V+E(E(g*n)+W));C=B[b+52>>2];s=B[b+56>>2];h=B[b+48>>2];x[e+52>>2]=0;I=F;F=E(s*k);Z=E(h*G);G=E(u*C);B[e+48>>2]=I+E(F+E(Z+G));I=H;H=E(s*i);u=E(h*A);A=E(q*C);B[e+44>>2]=I+E(H+E(u+A));s=E(s*l);I=E(h*n);n=E(z*C);B[e+40>>2]=U+E(s+E(I+n));if((w|0)==21){b=x[c+8>>2];w=e+444|0;m=e+40|0;a=Kd(e+84|0,w,m,x[d+16>>2]);x[a+52>>2]=r;x[a+48>>2]=b;x[a+44>>2]=d;x[a>>2]=13224;c=x[f+12>>2];b=a- -64|0;x[b>>2]=x[f+8>>2];x[b+4>>2]=c;b=x[f+4>>2];x[a+56>>2]=x[f>>2];x[a+60>>2]=b;b=x[f+28>>2];x[a+80>>2]=x[f+24>>2];x[a+84>>2]=b;b=x[f+20>>2];x[a+72>>2]=x[f+16>>2];x[a+76>>2]=b;b=x[f+44>>2];x[a+96>>2]=x[f+40>>2];x[a+100>>2]=b;b=x[f+36>>2];x[a+88>>2]=x[f+32>>2];x[a+92>>2]=b;b=x[f+60>>2];x[a+112>>2]=x[f+56>>2];x[a+116>>2]=b;b=x[f+52>>2];x[a+104>>2]=x[f+48>>2];x[a+108>>2]=b;B[a+40>>2]=B[d+4>>2];b=ga-16|0;ga=b;c=x[r+56>>2];x[b+12>>2]=a;x[b+8>>2]=c;x[b+4>>2]=18656;c=x[r+60>>2];d=b+4|0;a=ga-32|0;ga=a;x[a+24>>2]=0;x[a+28>>2]=0;x[a+16>>2]=0;x[a+20>>2]=0;x[a+8>>2]=0;x[a+12>>2]=0;x[a>>2]=0;x[a+4>>2]=0;c:{if(y[c+60|0]){ne(c,d,w,m,a+16|0,a,x[c+56>>2]);break c}oe(c,d,w,m,a+16|0,a)}ga=a+32|0;ga=b+16|0;break a}q=B[f>>2];u=B[f+4>>2];j=E(-j);I=E(k*j);k=B[f+8>>2];o=E(-o);z=E(I+E(E(k*o)+J));B[e+688>>2]=E(K+E(E(g*k)+L))+z;x[e+692>>2]=0;i=E(E(i*j)+E(E(u*o)+N));B[e+684>>2]=E(Q+E(E(g*u)+R))+i;I=E(V+E(E(g*q)+W));g=E(E(l*j)+E(E(q*o)+S));B[e+680>>2]=I+g;x[e+80>>2]=0;B[e+76>>2]=E(F+E(E(h*k)+G))+z;B[e+72>>2]=E(H+E(E(h*u)+A))+i;B[e+68>>2]=E(s+E(E(h*q)+n))+g;b=x[c+8>>2];a=Kd(e+84|0,e+680|0,e+68|0,x[d+16>>2]);x[a+52>>2]=r;x[a+48>>2]=b;x[a+44>>2]=d;x[a>>2]=13224;c=x[f+12>>2];b=a- -64|0;x[b>>2]=x[f+8>>2];x[b+4>>2]=c;b=x[f+4>>2];x[a+56>>2]=x[f>>2];x[a+60>>2]=b;b=x[f+28>>2];x[a+80>>2]=x[f+24>>2];x[a+84>>2]=b;b=x[f+20>>2];x[a+72>>2]=x[f+16>>2];x[a+76>>2]=b;b=x[f+44>>2];x[a+96>>2]=x[f+40>>2];x[a+100>>2]=b;b=x[f+36>>2];x[a+88>>2]=x[f+32>>2];x[a+92>>2]=b;b=x[f+60>>2];x[a+112>>2]=x[f+56>>2];x[a+116>>2]=b;b=x[f+52>>2];x[a+104>>2]=x[f+48>>2];x[a+108>>2]=b;B[a+40>>2]=B[d+4>>2];b=x[e+692>>2];x[e+32>>2]=x[e+688>>2];x[e+36>>2]=b;b=x[e+684>>2];x[e+24>>2]=x[e+680>>2];x[e+28>>2]=b;g=B[e+68>>2];if(g>2]){B[e+24>>2]=g}h=B[e+72>>2];if(h>2]){B[e+28>>2]=h}i=B[e+76>>2];if(i>2]){B[e+32>>2]=i}j=B[e+80>>2];if(j>2]){B[e+36>>2]=j}b=x[e+692>>2];x[e+16>>2]=x[e+688>>2];x[e+20>>2]=b;b=x[e+684>>2];x[e+8>>2]=x[e+680>>2];x[e+12>>2]=b;if(g>B[e+8>>2]){B[e+8>>2]=g}if(h>B[e+12>>2]){B[e+12>>2]=h}if(i>B[e+16>>2]){B[e+16>>2]=i}if(j>B[e+20>>2]){B[e+20>>2]=j}ia[x[x[r>>2]+64>>2]](r,a,e+24|0,e+8|0);break a}if((w|0)!=31){break a}t=x[r+72>>2];c=x[c+8>>2];x[e+64>>2]=d;x[e+60>>2]=b;x[e+56>>2]=a;x[e+52>>2]=f;x[e+48>>2]=r;x[e+44>>2]=c;x[e+40>>2]=13408;if(t){g=B[f+20>>2];h=B[f+36>>2];i=B[f+24>>2];j=B[f+52>>2];A=B[a+52>>2];k=B[f+40>>2];l=B[f+56>>2];z=B[a+56>>2];G=B[f>>2];o=B[f+16>>2];q=B[f+32>>2];C=B[f+4>>2];n=B[f+8>>2];u=B[f+48>>2];s=B[a+48>>2];x[e+96>>2]=0;z=E(z-l);F=n;n=E(s-u);A=E(A-j);B[e+92>>2]=E(k*z)+E(E(F*n)+E(i*A));B[e+88>>2]=E(h*z)+E(E(C*n)+E(A*g));B[e+84>>2]=E(q*z)+E(E(G*n)+E(A*o));z=B[b+52>>2];n=B[b+56>>2];A=B[f>>2];G=B[f+4>>2];C=B[f+8>>2];s=B[b+48>>2];x[e+456>>2]=0;F=k;k=E(n-l);l=E(s-u);n=i;i=E(z-j);B[e+452>>2]=E(F*k)+E(E(C*l)+E(n*i));B[e+448>>2]=E(h*k)+E(E(G*l)+E(g*i));B[e+444>>2]=E(q*k)+E(E(A*l)+E(o*i));X=e+40|0;w=0;m=ga-544|0;ga=m;a=x[t>>2];d:{if(!a){break d}g=B[e+92>>2];h=B[e+452>>2];i=B[e+84>>2];j=B[e+444>>2];k=B[e+88>>2];l=B[e+448>>2];x[m+32>>2]=a;g=E(h-g);h=E(j-i);i=E(l-k);j=E(E(1)/E(M(E(E(g*g)+E(E(h*h)+E(i*i))))));k=E(g*j);n=E(k*g);g=E(h*j);F=E(g*h);h=E(i*j);u=E(n+E(F+E(i*h)));i=k==E(0)?E(0xde0b6b000000000):E(E(1)/k);a=i>2];p=x[t+4>>2];x[m>>2]=x[t>>2];x[m+4>>2]=p;p=x[t+12>>2];x[m+8>>2]=x[t+8>>2];x[m+12>>2]=p;p=x[t+28>>2];x[m+24>>2]=x[t+24>>2];x[m+28>>2]=p;p=x[t+20>>2];x[m+16>>2]=x[t+16>>2];x[m+20>>2]=p;o=B[e+84>>2];j=E(g*E(B[ca>>2]-o));l=B[e+88>>2];k=E(h*E(B[ba>>2]-l));e:{if(j>k){break e}l=E(h*E(B[$>>2]-l));o=E(g*E(B[da>>2]-o));if(l>o){break e}j=j>2];l=E(i*E(B[aa>>2]-q));if(j>l){break e}q=E(i*E(B[_>>2]-q));k=kk|!(u>(jl?l:k)>E(0))){break e}if(x[t+40>>2]){if((a|0)>(c|0)){a=d<<1;if((a|0)>(d|0)){if((a|0)>(f|0)){f:{if(!d){c=0;break f}x[8456]=x[8456]+1;c=ia[x[8258]](d<<3,16)|0;if((d|0)<=0){break f}T=0;f=0;if(d>>>0>=4){ea=d&-4;O=0;while(1){p=f<<2;x[p+c>>2]=x[b+p>>2];P=p|4;x[P+c>>2]=x[b+P>>2];P=p|8;x[P+c>>2]=x[b+P>>2];p=p|12;x[p+c>>2]=x[b+p>>2];f=f+4|0;O=O+4|0;if((ea|0)!=(O|0)){continue}break}}p=d&3;if(!p){break f}while(1){O=f<<2;x[O+c>>2]=x[b+O>>2];f=f+1|0;T=T+1|0;if((p|0)!=(T|0)){continue}break}}f=w;w=1;if(b?f:0){x[8457]=x[8457]+1;ia[x[8259]](b)}f=a;b=c}c=d<<2;ua(c+b|0,0,c)}d=a;c=a-2|0}x[b+Y>>2]=x[t+36>>2];x[(r<<2)+b>>2]=x[t+40>>2];a=r+1|0;break e}ia[x[x[X>>2]+12>>2]](X,t)}r=a;if(a){continue}break}if(!w){break d}if(b){x[8457]=x[8457]+1;ia[x[8259]](b)}}ga=m+544|0;break a}d=x[r+24>>2];if((d|0)<=0){break a}c=0;while(1){a=x[x[e+48>>2]+32>>2]+D(c,80)|0;b=x[a+64>>2];z=B[a+56>>2];n=B[a+48>>2];A=B[a+52>>2];G=B[a+32>>2];C=B[a>>2];s=B[a+16>>2];J=B[a+36>>2];F=B[a+4>>2];K=B[a+20>>2];L=B[a+40>>2];N=B[a+8>>2];H=B[a+24>>2];a=x[e+52>>2];Q=B[a+52>>2];R=B[a+56>>2];g=B[a+24>>2];h=B[a+20>>2];i=B[a+40>>2];j=B[a+36>>2];S=B[a+48>>2];k=B[a+8>>2];l=B[a>>2];o=B[a+4>>2];q=B[a+16>>2];u=B[a+32>>2];x[e+144>>2]=0;x[e+128>>2]=0;x[e+112>>2]=0;x[e+96>>2]=0;B[e+124>>2]=E(L*i)+E(E(N*u)+E(H*j));B[e+120>>2]=E(J*i)+E(E(F*u)+E(K*j));B[e+116>>2]=E(G*i)+E(E(C*u)+E(s*j));B[e+108>>2]=E(L*g)+E(E(N*q)+E(H*h));B[e+104>>2]=E(J*g)+E(E(F*q)+E(K*h));B[e+100>>2]=E(G*g)+E(E(C*q)+E(s*h));B[e+92>>2]=E(L*k)+E(E(N*l)+E(o*H));B[e+88>>2]=E(J*k)+E(E(F*l)+E(o*K));B[e+84>>2]=E(G*k)+E(E(C*l)+E(s*o));B[e+140>>2]=R+E(E(z*i)+E(E(n*u)+E(j*A)));B[e+136>>2]=Q+E(E(z*g)+E(E(n*q)+E(h*A)));B[e+132>>2]=S+E(E(z*k)+E(E(n*l)+E(o*A)));x[e+700>>2]=c;x[e+696>>2]=-1;x[e+688>>2]=x[e+44>>2];x[e+684>>2]=b;x[e+680>>2]=0;x[e+692>>2]=e+84;x[e+460>>2]=0;x[e+448>>2]=1065353216;x[e+452>>2]=0;x[e+472>>2]=c;x[e+464>>2]=b;x[e+444>>2]=13584;a=x[e+64>>2];x[e+468>>2]=a;B[e+448>>2]=B[a+4>>2];x[e+460>>2]=x[a+16>>2];Jc(x[e+56>>2],x[e+60>>2],e+680|0,e+444|0);c=c+1|0;if((d|0)!=(c|0)){continue}break}}ga=e+704|0}function Ld(a,b,c){var d=E(0),e=0,f=0,g=E(0),h=E(0),i=E(0),j=E(0),k=0,l=0,m=0,n=E(0),o=E(0),p=E(0),q=E(0),r=E(0),s=E(0),t=E(0),u=0,v=0,w=0,y=E(0),z=E(0),A=E(0),C=E(0),F=E(0),G=E(0),H=E(0),I=E(0),J=E(0),K=E(0),L=E(0),N=E(0),O=E(0),P=E(0),Q=0,R=E(0),S=E(0),T=E(0),U=E(0),V=0,W=0,X=0,Y=0,Z=E(0),_=E(0),$=0,aa=0;e=ga-96|0;ga=e;x[a+376>>2]=0;x[a+364>>2]=4;x[a+368>>2]=0;k=a+316|0;x[a+360>>2]=k;x[a+356>>2]=a+284;x[a+352>>2]=a+252;x[a+348>>2]=a+220;f=x[b+4>>2];x[a>>2]=x[b>>2];x[a+4>>2]=f;f=x[b+20>>2];x[a+16>>2]=x[b+16>>2];x[a+20>>2]=f;f=x[b+12>>2];x[a+8>>2]=x[b+8>>2];x[a+12>>2]=f;f=x[b+36>>2];x[a+32>>2]=x[b+32>>2];x[a+36>>2]=f;f=x[b+28>>2];x[a+24>>2]=x[b+24>>2];x[a+28>>2]=f;f=x[b+52>>2];x[a+48>>2]=x[b+48>>2];x[a+52>>2]=f;f=x[b+44>>2];x[a+40>>2]=x[b+40>>2];x[a+44>>2]=f;l=b- -64|0;f=x[l+4>>2];w=a- -64|0;x[w>>2]=x[l>>2];x[w+4>>2]=f;f=x[b+60>>2];x[a+56>>2]=x[b+56>>2];x[a+60>>2]=f;f=x[b+84>>2];x[a+80>>2]=x[b+80>>2];x[a+84>>2]=f;f=x[b+76>>2];x[a+72>>2]=x[b+72>>2];x[a+76>>2]=f;f=x[b+100>>2];x[a+96>>2]=x[b+96>>2];x[a+100>>2]=f;f=x[b+92>>2];x[a+88>>2]=x[b+88>>2];x[a+92>>2]=f;f=x[b+108>>2];x[a+104>>2]=x[b+104>>2];x[a+108>>2]=f;f=x[b+116>>2];x[a+112>>2]=x[b+112>>2];x[a+116>>2]=f;f=x[b+124>>2];b=x[b+120>>2];x[a+144>>2]=0;x[a+180>>2]=0;x[a+120>>2]=b;x[a+124>>2]=f;b=x[c+4>>2];x[a+128>>2]=x[c>>2];x[a+132>>2]=b;b=x[c+12>>2];x[a+136>>2]=x[c+8>>2];x[a+140>>2]=b;x[a+364>>2]=3;x[a+164>>2]=0;x[a+328>>2]=0;x[a+180>>2]=1;x[a+148>>2]=k;h=B[a+136>>2];i=B[a+128>>2];d=B[a+132>>2];g=E(E(h*h)+E(E(i*i)+E(d*d)));b=g>E(0);h=b?E(-h):E(0);i=b?E(-i):E(1);d=b?E(-d):E(0);j=E(E(1)/E(M(E(E(h*h)+E(E(i*i)+E(d*d))))));B[a+324>>2]=h*j;B[a+320>>2]=d*j;B[k>>2]=i*j;Ga(e+16|0,a,k);b=x[e+28>>2];x[a+340>>2]=x[e+24>>2];x[a+344>>2]=b;b=x[e+20>>2];x[a+332>>2]=x[e+16>>2];x[a+336>>2]=b;x[a+164>>2]=1065353216;c=x[a+148>>2];b=x[c+20>>2];x[a+128>>2]=x[c+16>>2];x[a+132>>2]=b;b=x[c+28>>2];x[a+136>>2]=x[c+24>>2];x[a+140>>2]=b;b=x[c+28>>2];x[e+72>>2]=x[c+24>>2];x[e+76>>2]=b;b=x[c+20>>2];x[e+64>>2]=x[c+16>>2];x[e+68>>2]=b;b=x[c+28>>2];x[e+56>>2]=x[c+24>>2];x[e+60>>2]=b;b=x[c+20>>2];x[e+48>>2]=x[c+16>>2];x[e+52>>2]=b;b=x[c+28>>2];x[e+40>>2]=x[c+24>>2];x[e+44>>2]=b;b=x[c+20>>2];x[e+32>>2]=x[c+16>>2];x[e+36>>2]=b;b=x[c+28>>2];x[e+24>>2]=x[c+24>>2];x[e+28>>2]=b;b=x[c+20>>2];x[e+16>>2]=x[c+16>>2];x[e+20>>2]=b;d=B[a+136>>2];n=B[a+132>>2];j=B[a+128>>2];u=x[a+368>>2];X=a+148|0;while(1){a:{b:{o=E(M(E(E(d*d)+E(E(j*j)+E(n*n)))));c:{if(o>2]=1;break c}f=D(u,36);w=f+a|0;c=x[w+180>>2];l=c<<2;x[(l+w|0)+164>>2]=0;b=x[a+364>>2]-1|0;x[a+364>>2]=b;v=f+X|0;f=x[((b<<2)+a|0)+348>>2];x[l+v>>2]=f;x[w+180>>2]=c+1;x[f+12>>2]=0;i=E(E(1)/o);B[f+8>>2]=i*E(-d);B[f+4>>2]=i*E(-n);B[f>>2]=i*E(-j);Ga(e+80|0,a,f);b=x[e+92>>2];x[f+24>>2]=x[e+88>>2];x[f+28>>2]=b;b=x[e+84>>2];x[f+16>>2]=x[e+80>>2];x[f+20>>2]=b;d:{f=x[w+180>>2];l=x[((f<<2)+v|0)-4>>2];j=B[l+24>>2];d=E(j-B[e+24>>2]);s=E(d*d);h=B[l+16>>2];d=E(h-B[e+16>>2]);p=E(d*d);i=B[l+20>>2];d=E(i-B[e+20>>2]);if(E(s+E(p+E(d*d)))>2]);s=E(d*d);d=E(h-B[e+32>>2]);p=E(d*d);d=E(i-B[e+36>>2]);if(E(s+E(p+E(d*d)))>2]);s=E(d*d);d=E(h-B[e+48>>2]);p=E(d*d);d=E(i-B[e+52>>2]);if(E(s+E(p+E(d*d)))>2]);s=E(d*d);d=E(h-B[e+64>>2]);p=E(d*d);d=E(i-B[e+68>>2]);if(E(s+E(p+E(d*d)))>2];Y=Y+1&3;c=(e+16|0)+(Y<<4)|0;x[c+8>>2]=x[l+24>>2];x[c+12>>2]=b;b=x[l+20>>2];x[c>>2]=x[l+16>>2];x[c+4>>2]=b;d=E(E(E(B[a+136>>2]*j)+E(E(B[a+128>>2]*h)+E(B[a+132>>2]*i)))/o);R=d>R?d:R;if(E(E(o*E(-9999999747378752e-20))+E(o-R))<=E(0)){u=x[a+368>>2];c=D(u,36)+a|0;b=x[c+180>>2]-1|0;x[c+180>>2]=b;c=x[(c+(b<<2)|0)+148>>2];b=x[a+364>>2];x[a+364>>2]=b+1;x[((b<<2)+a|0)+348>>2]=c;break c}x[e+12>>2]=0;e:{f:{g:{switch(f-2|0){case 0:c=x[v+4>>2];h=B[c+24>>2];b=x[v>>2];y=B[b+24>>2];n=E(h-y);i=B[c+16>>2];q=B[b+16>>2];o=E(i-q);g=B[c+20>>2];r=B[b+20>>2];j=E(g-r);d=E(E(n*n)+E(E(o*o)+E(j*j)));if(!(d>E(0))){break e}t=E(E(-E(E(y*n)+E(E(q*o)+E(r*j))))/d);if(t>=E(1)){x[e+12>>2]=2;x[e+80>>2]=0;x[e+84>>2]=1065353216;g=E(E(h*h)+E(E(i*i)+E(g*g)));break f}if(t<=E(0)){x[e+12>>2]=1;x[e+80>>2]=1065353216;x[e+84>>2]=0;g=E(E(y*y)+E(E(q*q)+E(r*r)));break f}x[e+12>>2]=3;B[e+84>>2]=t;B[e+80>>2]=E(1)-t;d=E(y+E(n*t));p=E(d*d);d=E(q+E(o*t));g=E(d*d);d=E(r+E(j*t));g=E(p+E(g+E(d*d)));break f;case 1:g=Cb(x[v>>2]+16|0,x[v+4>>2]+16|0,x[v+8>>2]+16|0,e+80|0,e+12|0);break f;case 2:break g;default:break f}}m=ga-32|0;ga=m;d=E(-1);l=x[v+4>>2]+16|0;s=B[l+4>>2];k=x[v+12>>2]+16|0;G=B[k+4>>2];H=E(s-G);f=x[v>>2]+16|0;p=B[f+8>>2];I=B[k+8>>2];J=E(p-I);Z=E(H*E(-J));c=x[v+8>>2]+16|0;i=B[c>>2];K=B[k>>2];A=E(i-K);S=B[f>>2];L=E(S-K);_=E(L*H);t=B[c+8>>2];C=E(t-I);h=B[l>>2];N=E(h-K);T=B[f+4>>2];O=E(T-G);y=E(N*E(-O));U=B[l+8>>2];P=E(U-I);q=E(P*E(-L));g=B[c+4>>2];F=E(g-G);r=E(O*P);n=E(J*N);z=E(E(Z*A)+E(E(_*C)+E(E(y*C)+E(E(q*F)+E(E(r*A)+E(n*F))))));h:{if(!(z>E(0)|z>2]=0;x[m+16>>2]=0;x[m+20>>2]=0;x[m+12>>2]=0;if(E(z*E(E(I*E(_+y))+E(E(K*E(r+Z))+E(G*E(n+q)))))>E(0)){d=Cb(f,l,k,m+16|0,m+12|0);b=x[m+12>>2];x[e+12>>2]=b&3|b<<1&8;B[e+80>>2]=B[m+16>>2];g=B[m+20>>2];x[e+88>>2]=0;B[e+84>>2]=g;B[e+92>>2]=B[m+24>>2]}i:{if(!(E(z*E(E(B[k+8>>2]*E(E(N*F)-E(A*H)))+E(E(B[k>>2]*E(E(H*C)-E(F*P)))+E(B[k+4>>2]*E(E(P*A)-E(C*N))))))>E(0))){break i}g=Cb(l,c,k,m+16|0,m+12|0);if(!(d>2]=x[m+12>>2]<<1&14;B[e+84>>2]=B[m+16>>2];d=B[m+20>>2];x[e+80>>2]=0;B[e+88>>2]=d;B[e+92>>2]=B[m+24>>2];d=g}j:{if(!(E(z*E(E(B[k+8>>2]*E(E(A*O)-E(L*F)))+E(E(B[k>>2]*E(E(F*J)-E(O*C)))+E(B[k+4>>2]*E(E(C*L)-E(J*A))))))>E(0))){break j}g=Cb(c,f,k,m+16|0,m+12|0);if(!(d>2];x[e+12>>2]=b>>>1&1|b<<1&8|b<<2&4;B[e+88>>2]=B[m+16>>2];d=B[m+20>>2];x[e+84>>2]=0;B[e+80>>2]=d;B[e+92>>2]=B[m+24>>2];d=g}if(!(d>2]=15;q=B[c>>2];r=B[l+4>>2];n=B[k+8>>2];o=B[c+4>>2];j=B[l+8>>2];h=B[k>>2];i=B[c+8>>2];g=B[l>>2];d=B[k+4>>2];t=E(E(E(E(E(q*r)*n)+E(E(E(E(E(o*j)*h)+E(E(i*g)*d))-E(E(j*q)*d))-E(E(g*o)*n)))-E(E(r*i)*h))/z);B[e+80>>2]=t;q=B[f>>2];r=B[c+4>>2];n=B[k+8>>2];o=B[f+4>>2];j=B[c+8>>2];h=B[k>>2];i=B[f+8>>2];g=B[c>>2];d=B[k+4>>2];y=E(E(E(E(E(q*r)*n)+E(E(E(E(E(o*j)*h)+E(E(i*g)*d))-E(E(j*q)*d))-E(E(g*o)*n)))-E(E(r*i)*h))/z);B[e+84>>2]=y;q=B[l>>2];r=B[f+4>>2];n=B[k+8>>2];o=B[l+4>>2];j=B[f+8>>2];h=B[k>>2];i=B[l+8>>2];g=B[f>>2];d=B[k+4>>2];d=E(E(E(E(E(q*r)*n)+E(E(E(E(E(o*j)*h)+E(E(i*g)*d))-E(E(j*q)*d))-E(E(g*o)*n)))-E(E(r*i)*h))/z);B[e+88>>2]=d;B[e+92>>2]=E(1)-E(E(t+y)+d);d=E(0)}ga=m+32|0;g=d}if(!(g>=E(0))){break e}u=1-u|0;b=D(u,36);V=b+a|0;x[V+180>>2]=0;x[a+136>>2]=0;x[a+140>>2]=0;x[a+128>>2]=0;x[a+132>>2]=0;x[a+368>>2]=u;m=x[w+180>>2];if(!m){d=E(0);W=x[e+12>>2];n=E(0);j=E(0);break b}k=b+X|0;c=x[a+364>>2];d=E(0);Q=0;W=x[e+12>>2];n=E(0);j=E(0);b=0;while(1){w=b<<2;l=w+v|0;$=x[l>>2];k:{if(W>>>b&1){f=Q<<2;x[f+k>>2]=$;h=B[w+(e+80|0)>>2];Q=Q+1|0;x[V+180>>2]=Q;B[(f+V|0)+164>>2]=h;f=x[l>>2];i=B[f+24>>2];d=B[f+20>>2];j=E(E(h*B[f+16>>2])+B[a+128>>2]);B[a+128>>2]=j;n=E(E(h*d)+B[a+132>>2]);B[a+132>>2]=n;d=E(E(h*i)+B[a+136>>2]);B[a+136>>2]=d;break k}f=c+1|0;x[a+364>>2]=f;x[((c<<2)+a|0)+348>>2]=$;c=f}b=b+1|0;if((m|0)!=(b|0)){continue}break}break b}u=x[a+368>>2];c=D(u,36)+a|0;b=x[c+180>>2]-1|0;x[c+180>>2]=b;c=x[(c+(b<<2)|0)+148>>2];b=x[a+364>>2];x[a+364>>2]=b+1;x[((b<<2)+a|0)+348>>2]=c;break c}u=x[a+368>>2];c=D(u,36)+a|0;b=x[c+180>>2]-1|0;x[c+180>>2]=b;c=x[(c+(b<<2)|0)+148>>2];b=x[a+364>>2];x[a+364>>2]=b+1;x[((b<<2)+a|0)+348>>2]=c}b=x[a+376>>2];break a}aa=aa+1|0;b=aa>>>0>=128?2:(W|0)==15?1:x[a+376>>2];x[a+376>>2]=b;if(!b){continue}}break}x[a+372>>2]=(D(u,36)+a|0)+148;d=E(0);l:{switch(b|0){case 0:d=B[a+136>>2];p=E(d*d);d=B[a+128>>2];g=E(d*d);d=B[a+132>>2];d=E(M(E(p+E(g+E(d*d)))));case 1:B[a+144>>2]=d;break;default:break l}}ga=e+96|0;return b}function Cd(a,b,c,d,e,f,g,h){var i=0,j=0,k=0,l=0,m=0,n=0,o=E(0),p=0,q=0,r=0,s=E(0),t=E(0),u=E(0),w=0,z=E(0),A=0,C=0,F=0,G=E(0),H=E(0),I=E(0),J=E(0),K=E(0),L=E(0),M=E(0),N=E(0),O=0,P=0,Q=E(0),R=E(0),S=E(0),T=E(0),U=E(0),V=0,W=0,X=E(0),Y=E(0),Z=E(0),_=E(0),$=E(0),aa=E(0),ba=E(0),ca=E(0);n=ga-32|0;ga=n;if((x[e+4>>2]&x[e+8>>2])<0){j=x[e+12>>2];if(!(j?!j|!y[e+16|0]:1)){x[8457]=x[8457]+1;ia[x[8259]](j)}v[e+16|0]=1;x[e+8>>2]=0;x[e+12>>2]=0}j=0;x[e+4>>2]=0;A=x[d+4>>2];if((A|0)>x[e+8>>2]){a:{if(!A){break a}x[8456]=x[8456]+1;j=ia[x[8258]](A<<4,16)|0;l=x[e+4>>2];if((l|0)<=0){break a}if((l|0)!=1){m=l&-2;while(1){C=i<<4;r=C+j|0;w=C+x[e+12>>2]|0;P=x[w+4>>2];x[r>>2]=x[w>>2];x[r+4>>2]=P;P=x[w+12>>2];x[r+8>>2]=x[w+8>>2];x[r+12>>2]=P;w=C|16;C=w+j|0;w=w+x[e+12>>2]|0;r=x[w+4>>2];x[C>>2]=x[w>>2];x[C+4>>2]=r;r=x[w+12>>2];x[C+8>>2]=x[w+8>>2];x[C+12>>2]=r;i=i+2|0;k=k+2|0;if((m|0)!=(k|0)){continue}break}}if(!(l&1)){break a}i=i<<4;k=i+j|0;i=i+x[e+12>>2]|0;l=x[i+4>>2];x[k>>2]=x[i>>2];x[k+4>>2]=l;l=x[i+12>>2];x[k+8>>2]=x[i+8>>2];x[k+12>>2]=l}i=x[e+12>>2];if(!(i?!i|!y[e+16|0]:1)){x[8457]=x[8457]+1;ia[x[8259]](i)}x[e+12>>2]=j;v[e+16|0]=1;x[e+8>>2]=A}k=x[b+28>>2];b:{if((k|0)<=0){break b}z=B[c+40>>2];G=B[c+36>>2];I=B[c+24>>2];J=B[c+20>>2];l=x[b+36>>2];K=B[a+8>>2];L=B[a+4>>2];N=B[a>>2];Q=B[c+32>>2];R=B[c+16>>2];S=B[c+8>>2];T=B[c+4>>2];H=B[c>>2];i=0;o=E(34028234663852886e22);j=-1;while(1){A=l+D(i,36)|0;u=B[A+28>>2];t=B[A+20>>2];s=B[A+24>>2];u=E(E(E(E(z*u)+E(E(Q*t)+E(s*G)))*K)+E(E(E(E(S*u)+E(E(H*t)+E(s*T)))*N)+E(E(E(I*u)+E(E(R*t)+E(s*J)))*L)));A=u>2]+D(j,36)|0;W=x[w+4>>2];c:{if((W|0)<=0){j=d;break c}A=0;while(1){j=e;e=A;A=e+1|0;P=(W|0)==(A|0);l=x[b+16>>2];k=x[w+12>>2];i=l+(x[k+((P?0:A)<<2)>>2]<<4)|0;H=B[i+8>>2];M=B[i>>2];U=B[i+4>>2];e=l+(x[k+(e<<2)>>2]<<4)|0;o=B[e+8>>2];u=B[e>>2];t=B[e+4>>2];aa=B[c+56>>2];ba=B[c+48>>2];ca=B[c+52>>2];I=B[c+40>>2];J=B[c+32>>2];K=B[c+36>>2];s=B[w+28>>2];L=B[c+8>>2];z=B[w+20>>2];N=B[c>>2];G=B[w+24>>2];Q=B[c+4>>2];R=B[c+24>>2];S=B[c+16>>2];T=B[c+20>>2];x[n+28>>2]=0;H=E(o-H);M=E(u-M);U=E(t-U);X=E(E(L*H)+E(E(N*M)+E(Q*U)));Y=E(E(R*s)+E(E(S*z)+E(T*G)));Z=E(E(L*s)+E(E(N*z)+E(Q*G)));_=E(E(R*H)+E(E(S*M)+E(U*T)));$=E(E(X*Y)-E(Z*_));B[n+24>>2]=-$;H=E(E(I*H)+E(E(J*M)+E(U*K)));s=E(E(I*s)+E(E(J*z)+E(K*G)));M=E(E(H*Z)-E(s*X));B[n+20>>2]=-M;H=E(-E(E(_*s)-E(Y*H)));B[n+16>>2]=H;C=0;e=d;V=x[d+4>>2];if((V|0)>=2){d=(x[e+12>>2]+(V<<4)|0)-16|0;s=B[d+8>>2];z=B[d>>2];G=B[d+4>>2];L=E(-E(E(E(E(ba+E(E(o*L)+E(E(u*N)+E(t*Q))))*H)-E(E(ca+E(E(o*R)+E(E(u*S)+E(t*T))))*M))-E(E(aa+E(E(o*I)+E(E(u*J)+E(t*K))))*$)));o=E(E(E(B[n+24>>2]*s)+E(E(B[n+16>>2]*z)+E(G*B[n+20>>2])))+L);while(1){d=x[e+12>>2]+(C<<4)|0;u=B[d+8>>2];J=B[d>>2];t=B[d+4>>2];I=E(E(E(B[n+24>>2]*u)+E(E(B[n+16>>2]*J)+E(t*B[n+20>>2])))+L);K=B[d+12>>2];d:{e:{f:{if(o>2];g:{if((d|0)!=x[j+8>>2]){break g}r=d?d<<1:1;if((r|0)<=(d|0)){break g}h:{if(!r){k=0;break h}x[8456]=x[8456]+1;k=ia[x[8258]](r<<4,16)|0;d=x[j+4>>2]}i:{if((d|0)<=0){break i}i=0;if((d|0)!=1){O=d&-2;l=0;while(1){p=i<<4;q=p+k|0;m=p+x[j+12>>2]|0;F=x[m+4>>2];x[q>>2]=x[m>>2];x[q+4>>2]=F;F=x[m+12>>2];x[q+8>>2]=x[m+8>>2];x[q+12>>2]=F;m=p|16;p=m+k|0;m=m+x[j+12>>2]|0;q=x[m+4>>2];x[p>>2]=x[m>>2];x[p+4>>2]=q;q=x[m+12>>2];x[p+8>>2]=x[m+8>>2];x[p+12>>2]=q;i=i+2|0;l=l+2|0;if((O|0)!=(l|0)){continue}break}}if(!(d&1)){break i}d=i<<4;i=d+k|0;d=d+x[j+12>>2]|0;l=x[d+4>>2];x[i>>2]=x[d>>2];x[i+4>>2]=l;l=x[d+12>>2];x[i+8>>2]=x[d+8>>2];x[i+12>>2]=l}d=x[j+12>>2];if(!(d?!d|!y[j+16|0]:1)){x[8457]=x[8457]+1;ia[x[8259]](d)}x[j+12>>2]=k;v[j+16|0]=1;x[j+8>>2]=r;d=x[j+4>>2]}i=x[j+12>>2]+(d<<4)|0;break f}o=E(o/E(o-I));K=E(E(u-s)*o);N=E(E(t-G)*o);z=E(E(E(J-z)*o)+z);d=x[j+4>>2];j:{if((d|0)!=x[j+8>>2]){break j}r=d?d<<1:1;if((r|0)<=(d|0)){break j}k:{if(!r){k=0;break k}x[8456]=x[8456]+1;k=ia[x[8258]](r<<4,16)|0;d=x[j+4>>2]}l:{if((d|0)<=0){break l}i=0;if((d|0)!=1){O=d&-2;l=0;while(1){p=i<<4;q=p+k|0;m=p+x[j+12>>2]|0;F=x[m+4>>2];x[q>>2]=x[m>>2];x[q+4>>2]=F;F=x[m+12>>2];x[q+8>>2]=x[m+8>>2];x[q+12>>2]=F;m=p|16;p=m+k|0;m=m+x[j+12>>2]|0;q=x[m+4>>2];x[p>>2]=x[m>>2];x[p+4>>2]=q;q=x[m+12>>2];x[p+8>>2]=x[m+8>>2];x[p+12>>2]=q;i=i+2|0;l=l+2|0;if((O|0)!=(l|0)){continue}break}}if(!(d&1)){break l}d=i<<4;i=d+k|0;d=d+x[j+12>>2]|0;l=x[d+4>>2];x[i>>2]=x[d>>2];x[i+4>>2]=l;l=x[d+12>>2];x[i+8>>2]=x[d+8>>2];x[i+12>>2]=l}d=x[j+12>>2];if(!(d?!d|!y[j+16|0]:1)){x[8457]=x[8457]+1;ia[x[8259]](d)}x[j+12>>2]=k;v[j+16|0]=1;x[j+8>>2]=r;d=x[j+4>>2]}o=E(K+s);i=x[j+12>>2]+(d<<4)|0;B[i>>2]=z;K=E(0);s=E(N+G);break e}if(!(I>2];m:{if((d|0)!=x[j+8>>2]){break m}r=d?d<<1:1;if((r|0)<=(d|0)){break m}n:{if(!r){k=0;break n}x[8456]=x[8456]+1;k=ia[x[8258]](r<<4,16)|0;d=x[j+4>>2]}o:{if((d|0)<=0){break o}i=0;if((d|0)!=1){O=d&-2;l=0;while(1){p=i<<4;q=p+k|0;m=p+x[j+12>>2]|0;F=x[m+4>>2];x[q>>2]=x[m>>2];x[q+4>>2]=F;F=x[m+12>>2];x[q+8>>2]=x[m+8>>2];x[q+12>>2]=F;m=p|16;p=m+k|0;m=m+x[j+12>>2]|0;q=x[m+4>>2];x[p>>2]=x[m>>2];x[p+4>>2]=q;q=x[m+12>>2];x[p+8>>2]=x[m+8>>2];x[p+12>>2]=q;i=i+2|0;l=l+2|0;if((O|0)!=(l|0)){continue}break}}if(!(d&1)){break o}d=i<<4;i=d+k|0;d=d+x[j+12>>2]|0;l=x[d+4>>2];x[i>>2]=x[d>>2];x[i+4>>2]=l;l=x[d+12>>2];x[i+8>>2]=x[d+8>>2];x[i+12>>2]=l}d=x[j+12>>2];if(!(d?!d|!y[j+16|0]:1)){x[8457]=x[8457]+1;ia[x[8259]](d)}x[j+12>>2]=k;v[j+16|0]=1;x[j+8>>2]=r;d=x[j+4>>2]}d=x[j+12>>2]+(d<<4)|0;x[d+12>>2]=0;B[d+8>>2]=s;B[d+4>>2]=G;B[d>>2]=o;d=x[j+4>>2]+1|0;x[j+4>>2]=d;p:{if(x[j+8>>2]!=(d|0)){break p}r=d?d<<1:1;if((r|0)<=(d|0)){break p}q:{if(!r){k=0;break q}x[8456]=x[8456]+1;k=ia[x[8258]](r<<4,16)|0;d=x[j+4>>2]}r:{if((d|0)<=0){break r}i=0;if((d|0)!=1){O=d&-2;l=0;while(1){p=i<<4;q=p+k|0;m=p+x[j+12>>2]|0;F=x[m+4>>2];x[q>>2]=x[m>>2];x[q+4>>2]=F;F=x[m+12>>2];x[q+8>>2]=x[m+8>>2];x[q+12>>2]=F;m=p|16;p=m+k|0;m=m+x[j+12>>2]|0;q=x[m+4>>2];x[p>>2]=x[m>>2];x[p+4>>2]=q;q=x[m+12>>2];x[p+8>>2]=x[m+8>>2];x[p+12>>2]=q;i=i+2|0;l=l+2|0;if((O|0)!=(l|0)){continue}break}}if(!(d&1)){break r}d=i<<4;i=d+k|0;d=d+x[j+12>>2]|0;l=x[d+4>>2];x[i>>2]=x[d>>2];x[i+4>>2]=l;l=x[d+12>>2];x[i+8>>2]=x[d+8>>2];x[i+12>>2]=l}d=x[j+12>>2];if(!(d?!d|!y[j+16|0]:1)){x[8457]=x[8457]+1;ia[x[8259]](d)}x[j+12>>2]=k;v[j+16|0]=1;x[j+8>>2]=r;d=x[j+4>>2]}i=x[j+12>>2]+(d<<4)|0}B[i>>2]=J;o=u;s=t}B[i+12>>2]=K;B[i+8>>2]=o;B[i+4>>2]=s;x[j+4>>2]=x[j+4>>2]+1}o=I;s=u;G=t;z=J;C=C+1|0;if((V|0)!=(C|0)){continue}break}}d=x[e+4>>2];s:{if((d|0)>=0){break s}if(x[e+8>>2]<0){i=x[e+12>>2];if(!(i?!i|!y[e+16|0]:1)){x[8457]=x[8457]+1;ia[x[8259]](i)}v[e+16|0]=1;x[e+8>>2]=0;x[e+12>>2]=0}k=0;i=d;C=0-d&3;if(C){while(1){r=x[n+4>>2];l=x[e+12>>2]+(i<<4)|0;x[l>>2]=x[n>>2];x[l+4>>2]=r;r=x[n+12>>2];x[l+8>>2]=x[n+8>>2];x[l+12>>2]=r;i=i+1|0;k=k+1|0;if((C|0)!=(k|0)){continue}break}}if(d>>>0>4294967292){break s}while(1){l=x[n+4>>2];d=i<<4;k=d+x[e+12>>2]|0;x[k>>2]=x[n>>2];x[k+4>>2]=l;l=x[n+12>>2];x[k+8>>2]=x[n+8>>2];x[k+12>>2]=l;l=x[n+12>>2];k=d+x[e+12>>2]|0;x[k+24>>2]=x[n+8>>2];x[k+28>>2]=l;l=x[n+4>>2];x[k+16>>2]=x[n>>2];x[k+20>>2]=l;l=x[n+12>>2];k=d+x[e+12>>2]|0;x[k+40>>2]=x[n+8>>2];x[k+44>>2]=l;l=x[n+4>>2];x[k+32>>2]=x[n>>2];x[k+36>>2]=l;k=x[n+12>>2];d=d+x[e+12>>2]|0;x[d+56>>2]=x[n+8>>2];x[d+60>>2]=k;k=x[n+4>>2];x[d+48>>2]=x[n>>2];x[d+52>>2]=k;i=i+4|0;if(i){continue}break}}x[e+4>>2]=0;d=j;if(!P){continue}break}}k=x[j+4>>2];if((k|0)<=0){break b}o=B[w+28>>2];u=B[w+20>>2];t=B[w+24>>2];s=E(E(B[c+40>>2]*o)+E(E(B[c+32>>2]*u)+E(t*B[c+36>>2])));z=E(E(B[c+8>>2]*o)+E(E(B[c>>2]*u)+E(t*B[c+4>>2])));o=E(E(B[c+24>>2]*o)+E(E(B[c+16>>2]*u)+E(t*B[c+20>>2])));u=E(B[w+32>>2]-E(E(s*B[c+56>>2])+E(E(z*B[c+48>>2])+E(o*B[c+52>>2]))));e=0;while(1){b=x[j+12>>2]+(e<<4)|0;t=E(u+E(E(s*B[b+8>>2])+E(E(z*B[b>>2])+E(o*B[b+4>>2]))));t=f>=t?f:t;if(t<=g){c=x[b+12>>2];x[n+24>>2]=x[b+8>>2];x[n+28>>2]=c;c=x[b+4>>2];x[n+16>>2]=x[b>>2];x[n+20>>2]=c;ia[x[x[h>>2]+16>>2]](h,a,n+16|0,t);k=x[j+4>>2]}e=e+1|0;if((k|0)>(e|0)){continue}break}}ga=n+32|0}function Rm(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=E(0),h=E(0),i=0,j=E(0),k=0,l=E(0),m=E(0),n=E(0),o=E(0),p=E(0),q=E(0),r=E(0),s=E(0),t=E(0),u=E(0),v=E(0),w=E(0),y=E(0),z=E(0),A=E(0),C=E(0),F=0,G=0,H=E(0),I=E(0),J=0,K=0,L=0,M=0,N=0,O=E(0),P=E(0),Q=E(0),R=0,S=E(0),T=0;e=ga-144|0;ga=e;a:{if(!(ia[x[x[a>>2]+20>>2]](a)|0)){break a}f=ia[x[x[a>>2]+20>>2]](a)|0;if(!(ia[x[x[f>>2]+56>>2]](f)&32768)){break a}f=ia[x[x[a>>2]+20>>2]](a)|0;ia[x[x[f>>2]+64>>2]](f,b,E(.10000000149011612))}b:{c:{d:{e:{f:{g:{h:{i:{j:{k:{f=x[c+4>>2];switch(f|0){case 0:break j;case 31:break k;case 28:break d;case 13:break e;case 11:break f;case 10:break g;case 9:break h;case 8:break i;default:break c}}f=x[c+24>>2];if((f|0)<=0){break b}while(1){k=f-1|0;i=x[c+32>>2]+D(k,80)|0;F=x[i+64>>2];p=B[i+56>>2];q=B[i+48>>2];w=B[i+52>>2];y=B[i+32>>2];z=B[i>>2];A=B[i+16>>2];C=B[i+36>>2];r=B[i+4>>2];s=B[i+20>>2];t=B[i+40>>2];H=B[i+8>>2];I=B[i+24>>2];O=B[b+48>>2];P=B[b+52>>2];Q=B[b+56>>2];g=B[b+8>>2];h=B[b>>2];j=B[b+4>>2];l=B[b+24>>2];m=B[b+16>>2];n=B[b+20>>2];u=B[b+40>>2];v=B[b+32>>2];o=B[b+36>>2];x[e+60>>2]=0;x[e+44>>2]=0;x[e+28>>2]=0;x[e+12>>2]=0;B[e+40>>2]=E(t*u)+E(E(H*v)+E(I*o));B[e+36>>2]=E(C*u)+E(E(r*v)+E(s*o));B[e+32>>2]=E(y*u)+E(E(z*v)+E(A*o));B[e+24>>2]=E(t*l)+E(E(H*m)+E(I*n));B[e+20>>2]=E(C*l)+E(E(r*m)+E(s*n));B[e+16>>2]=E(y*l)+E(E(z*m)+E(A*n));B[e+8>>2]=E(t*g)+E(E(H*h)+E(I*j));B[e+4>>2]=E(C*g)+E(E(r*h)+E(s*j));B[e>>2]=E(y*g)+E(E(z*h)+E(A*j));B[e+56>>2]=Q+E(E(p*u)+E(E(q*v)+E(w*o)));B[e+52>>2]=P+E(E(p*l)+E(E(q*m)+E(w*n)));B[e+48>>2]=O+E(E(p*g)+E(E(q*h)+E(w*j)));ia[x[x[a>>2]+28>>2]](a,e,F,d);i=f>>>0>1;f=k;if(i){continue}break}break b}f=x[c+48>>2];x[e+8>>2]=x[c+44>>2];x[e+12>>2]=f;f=x[c+40>>2];x[e>>2]=x[c+36>>2];x[e+4>>2]=f;g=E(ia[x[x[c>>2]+48>>2]](c));h=E(ia[x[x[c>>2]+48>>2]](c));j=E(E(ia[x[x[c>>2]+48>>2]](c))+B[e+8>>2]);B[e+8>>2]=j;g=E(g+B[e>>2]);B[e>>2]=g;h=E(h+B[e+4>>2]);B[e+4>>2]=h;a=ia[x[x[a>>2]+20>>2]](a)|0;x[e+140>>2]=0;B[e+136>>2]=-j;B[e+132>>2]=-h;B[e+128>>2]=-g;ia[x[x[a>>2]+80>>2]](a,e+128|0,e,b,d);break b}g=E(ia[x[x[c>>2]+48>>2]](c));a=ia[x[x[a>>2]+20>>2]](a)|0;ia[x[x[a>>2]+24>>2]](a,g,b,d);break b}f=x[c+100>>2];if((f|0)<=0){break b}while(1){k=f-1|0;i=x[c+108>>2]+(k<<4)|0;g=B[i+8>>2];h=B[i>>2];j=B[i+4>>2];i=ia[x[x[a>>2]+20>>2]](a)|0;y=B[x[c+128>>2]+(k<<2)>>2];z=B[b+48>>2];A=B[b+52>>2];C=B[b+56>>2];l=B[b+8>>2];m=B[b>>2];n=B[b+4>>2];u=B[b+24>>2];v=B[b+16>>2];o=B[b+20>>2];p=B[b+40>>2];q=B[b+32>>2];w=B[b+36>>2];x[e+60>>2]=0;x[e+44>>2]=0;x[e+28>>2]=0;x[e+12>>2]=0;r=E(q*E(0));s=E(w*E(0));B[e+40>>2]=p+E(r+s);t=E(p*E(0));B[e+36>>2]=t+E(r+w);B[e+32>>2]=t+E(q+s);r=E(v*E(0));s=E(o*E(0));B[e+24>>2]=u+E(r+s);t=E(u*E(0));B[e+20>>2]=t+E(r+o);B[e+16>>2]=t+E(v+s);r=E(m*E(0));s=E(n*E(0));B[e+8>>2]=l+E(r+s);t=E(l*E(0));B[e+4>>2]=t+E(r+n);B[e>>2]=t+E(m+s);B[e+56>>2]=C+E(E(g*p)+E(E(h*q)+E(j*w)));B[e+52>>2]=A+E(E(g*u)+E(E(h*v)+E(j*o)));B[e+48>>2]=z+E(E(g*l)+E(E(h*m)+E(j*n)));ia[x[x[i>>2]+24>>2]](i,y,e,d);i=f>>>0>1;f=k;if(i){continue}break}break b}f=x[c+60>>2];c=c+36|0;g=B[(f<<2)+c>>2];h=B[c+((f+2|0)%3<<2)>>2];a=ia[x[x[a>>2]+20>>2]](a)|0;ia[x[x[a>>2]+84>>2]](a,h,g,f,b,d);break b}f=x[c+76>>2];g=B[c+68>>2];h=B[c+64>>2];a=ia[x[x[a>>2]+20>>2]](a)|0;ia[x[x[a>>2]+92>>2]](a,h,g,f,b,d);break b}f=x[c+60>>2];g=E(ia[x[x[c>>2]+92>>2]](c));k=x[c+48>>2];x[e+8>>2]=x[c+44>>2];x[e+12>>2]=k;k=x[c+40>>2];x[e>>2]=x[c+36>>2];x[e+4>>2]=k;h=E(ia[x[x[c>>2]+48>>2]](c));j=E(ia[x[x[c>>2]+48>>2]](c));R=e,S=E(E(ia[x[x[c>>2]+48>>2]](c))+B[e+8>>2]),B[R+8>>2]=S;B[e>>2]=h+B[e>>2];B[e+4>>2]=j+B[e+4>>2];h=B[(f<<2)+e>>2];a=ia[x[x[a>>2]+20>>2]](a)|0;ia[x[x[a>>2]+88>>2]](a,g,h,f,b,d);break b}g=B[c+72>>2];a=ia[x[x[a>>2]+20>>2]](a)|0;ia[x[x[a>>2]+96>>2]](a,c+56|0,g,b,d);break b}l:{if((f|0)>6){break l}F=x[c+60>>2];if(F){if(x[F+28>>2]<=0){break l}while(1){i=x[F+36>>2];J=D(K,36);f=i+J|0;L=x[f+4>>2];m:{if((L|0)<=0){g=E(0);h=E(0);j=E(0);break m}k=x[(x[f+12>>2]+(L<<2)|0)-4>>2];j=E(0);f=0;h=E(0);g=E(0);while(1){i=x[x[(i+J|0)+12>>2]+(f<<2)>>2];M=i<<4;G=M+x[F+16>>2]|0;t=B[G>>2];H=B[G+4>>2];I=B[G+8>>2];G=ia[x[x[a>>2]+20>>2]](a)|0;N=x[F+16>>2];k=N+(k<<4)|0;l=B[k+8>>2];m=B[k>>2];n=B[k+4>>2];u=B[b+48>>2];v=B[b+8>>2];o=B[b>>2];p=B[b+4>>2];q=B[b+52>>2];w=B[b+24>>2];y=B[b+16>>2];z=B[b+20>>2];A=B[b+56>>2];C=B[b+40>>2];r=B[b+32>>2];s=B[b+36>>2];x[e+12>>2]=0;B[e+8>>2]=A+E(E(l*C)+E(E(m*r)+E(n*s)));B[e+4>>2]=q+E(E(l*w)+E(E(m*y)+E(n*z)));B[e>>2]=u+E(E(l*v)+E(E(m*o)+E(n*p)));k=M+N|0;l=B[k+8>>2];m=B[k>>2];n=B[k+4>>2];x[e+140>>2]=0;B[e+136>>2]=A+E(E(l*C)+E(E(m*r)+E(s*n)));B[e+132>>2]=q+E(E(l*w)+E(E(m*y)+E(z*n)));B[e+128>>2]=u+E(E(l*v)+E(E(m*o)+E(p*n)));ia[x[x[G>>2]+16>>2]](G,e,e+128|0,d);j=E(j+I);h=E(h+H);g=E(g+t);k=i;f=f+1|0;i=x[F+36>>2];if((f|0)>2]){continue}break}}f=ia[x[x[a>>2]+20>>2]](a)|0;if(ia[x[x[f>>2]+56>>2]](f)&16384){x[e+8>>2]=0;x[e+12>>2]=0;x[e>>2]=1065353216;x[e+4>>2]=1065353216;f=x[F+36>>2]+J|0;r=B[f+28>>2];s=B[f+20>>2];t=B[f+24>>2];f=ia[x[x[a>>2]+20>>2]](a)|0;l=B[b+48>>2];m=B[b+8>>2];n=B[b>>2];u=B[b+4>>2];v=B[b+52>>2];o=B[b+24>>2];p=B[b+16>>2];q=B[b+20>>2];w=B[b+56>>2];y=B[b+40>>2];z=B[b+32>>2];A=B[b+36>>2];x[e+140>>2]=0;C=E(E(1)/E(L|0));j=E(C*j);g=E(C*g);h=E(C*h);B[e+136>>2]=w+E(E(y*j)+E(E(z*g)+E(A*h)));B[e+132>>2]=v+E(E(j*o)+E(E(g*p)+E(h*q)));B[e+128>>2]=l+E(E(j*m)+E(E(g*n)+E(h*u)));x[e+124>>2]=0;j=E(j+r);g=E(g+s);h=E(h+t);B[e+120>>2]=w+E(E(y*j)+E(E(z*g)+E(A*h)));B[e+116>>2]=v+E(E(j*o)+E(E(g*p)+E(h*q)));B[e+112>>2]=l+E(E(j*m)+E(E(g*n)+E(h*u)));ia[x[x[f>>2]+16>>2]](f,e+128|0,e+112|0,e)}K=K+1|0;if((K|0)>2]){continue}break}break l}if((ia[x[x[c>>2]+100>>2]](c)|0)<=0){break l}f=0;while(1){ia[x[x[c>>2]+104>>2]](c,f,e,e+128|0);g=B[b+48>>2];h=B[b+8>>2];j=B[b>>2];l=B[b+4>>2];m=B[b+52>>2];n=B[b+24>>2];u=B[b+16>>2];v=B[b+20>>2];o=B[b+56>>2];p=B[b+40>>2];q=B[b+32>>2];w=B[b+36>>2];x[e+124>>2]=0;y=B[e+8>>2];z=B[e>>2];A=B[e+4>>2];B[e+120>>2]=o+E(E(p*y)+E(E(q*z)+E(w*A)));B[e+116>>2]=m+E(E(y*n)+E(E(z*u)+E(A*v)));B[e+112>>2]=g+E(E(y*h)+E(E(z*j)+E(A*l)));x[e+108>>2]=0;r=o;o=B[e+136>>2];s=E(p*o);p=B[e+128>>2];t=E(q*p);q=B[e+132>>2];B[e+104>>2]=r+E(s+E(t+E(w*q)));B[e+100>>2]=m+E(E(o*n)+E(E(p*u)+E(v*q)));B[e+96>>2]=g+E(E(o*h)+E(E(p*j)+E(l*q)));k=ia[x[x[a>>2]+20>>2]](a)|0;ia[x[x[k>>2]+16>>2]](k,e+112|0,e+96|0,d);f=f+1|0;if((ia[x[x[c>>2]+100>>2]](c)|0)>(f|0)){continue}break}}f=x[c+4>>2];if(f-21>>>0<=8){x[e+136>>2]=1566444395;x[e+140>>2]=0;x[e+128>>2]=1566444395;x[e+132>>2]=1566444395;x[e+120>>2]=-581039253;x[e+124>>2]=0;x[e+112>>2]=-581039253;x[e+116>>2]=-581039253;R=e,T=ia[x[x[a>>2]+20>>2]](a)|0,x[R+8>>2]=T;x[e+4>>2]=14868;x[e>>2]=14844;f=x[d+12>>2];x[e+20>>2]=x[d+8>>2];x[e+24>>2]=f;f=x[d+4>>2];x[e+12>>2]=x[d>>2];x[e+16>>2]=f;f=x[b+12>>2];x[e+36>>2]=x[b+8>>2];x[e+40>>2]=f;f=x[b+4>>2];x[e+28>>2]=x[b>>2];x[e+32>>2]=f;f=x[b+20>>2];x[e+44>>2]=x[b+16>>2];x[e+48>>2]=f;f=x[b+28>>2];x[e+52>>2]=x[b+24>>2];x[e+56>>2]=f;f=x[b+44>>2];x[e+68>>2]=x[b+40>>2];x[e+72>>2]=f;f=x[b+36>>2];x[e+60>>2]=x[b+32>>2];x[e+64>>2]=f;f=x[b+52>>2];x[e+76>>2]=x[b+48>>2];x[e+80>>2]=f;f=x[b+60>>2];x[e+84>>2]=x[b+56>>2];x[e+88>>2]=f;ia[x[x[c>>2]+64>>2]](c,e,e+112|0,e+128|0);f=x[c+4>>2]}if((f|0)!=3){break b}x[e+136>>2]=1566444395;x[e+140>>2]=0;x[e+128>>2]=1566444395;x[e+132>>2]=1566444395;x[e+120>>2]=-581039253;x[e+124>>2]=0;x[e+112>>2]=-581039253;x[e+116>>2]=-581039253;R=e,T=ia[x[x[a>>2]+20>>2]](a)|0,x[R+8>>2]=T;x[e+4>>2]=14868;x[e>>2]=14844;a=x[d+12>>2];x[e+20>>2]=x[d+8>>2];x[e+24>>2]=a;a=x[d+4>>2];x[e+12>>2]=x[d>>2];x[e+16>>2]=a;a=x[b+12>>2];x[e+36>>2]=x[b+8>>2];x[e+40>>2]=a;a=x[b+4>>2];x[e+28>>2]=x[b>>2];x[e+32>>2]=a;a=x[b+20>>2];x[e+44>>2]=x[b+16>>2];x[e+48>>2]=a;a=x[b+28>>2];x[e+52>>2]=x[b+24>>2];x[e+56>>2]=a;a=x[b+44>>2];x[e+68>>2]=x[b+40>>2];x[e+72>>2]=a;a=x[b+36>>2];x[e+60>>2]=x[b+32>>2];x[e+64>>2]=a;a=x[b+52>>2];x[e+76>>2]=x[b+48>>2];x[e+80>>2]=a;a=x[b+60>>2];x[e+84>>2]=x[b+56>>2];x[e+88>>2]=a;a=x[c+100>>2];ia[x[x[a>>2]+8>>2]](a,e+4|0,e+112|0,e+128|0)}ga=e+144|0}function $d(a,b,c,d,e){var f=E(0),g=0,h=0,i=0,j=0,k=0,l=0,m=E(0),n=E(0),o=E(0),p=E(0),q=0,r=E(0),s=0,t=0,u=E(0),A=E(0),C=E(0),D=E(0),F=E(0);k=ga-48|0;ga=k;v[a+60|0]=c;a:{if(c){f=B[d>>2];m=B[d+4>>2];n=B[d+8>>2];x[a+16>>2]=0;p=E(n+E(-1));B[a+12>>2]=p;m=E(m+E(-1));B[a+8>>2]=m;n=E(f+E(-1));B[a+4>>2]=n;o=B[e>>2];r=B[e+4>>2];f=B[e+8>>2];v[a+60|0]=1;x[a+48>>2]=0;x[a+32>>2]=0;u=E(f+E(1));B[a+28>>2]=u;A=E(r+E(1));B[a+24>>2]=A;r=E(o+E(1));B[a+20>>2]=r;C=E(E(65533)/E(u-p));B[a+44>>2]=C;o=E(E(65533)/E(A-m));B[a+40>>2]=o;D=E(E(65533)/E(r-n));B[a+36>>2]=D;f=E(E(p-p)*C);b:{if(f=E(0)){c=~~f>>>0;break b}c=0}F=E((c&65534)>>>0);f=E(E(m-m)*o);c:{if(f=E(0)){c=~~f>>>0;break c}c=0}o=E(m+E(E((c&65534)>>>0)/o));f=E(E(n-n)*D);d:{if(f=E(0)){c=~~f>>>0;break d}c=0}f=E(E(n+E(E((c&65534)>>>0)/D))+E(-1));if(f>2]=f;n=f}f=E(o+E(-1));if(f>2]=f;m=f}f=E(E(p+E(F/C))+E(-1));if(f>2]=f;p=f}f=E(u-p);C=E(E(65533)/f);f=E(E(f*C)+E(1));e:{if(f=E(0)){c=~~f>>>0;break e}c=0}F=E((c|1)>>>0);f=E(A-m);o=E(E(65533)/f);f=E(E(f*o)+E(1));f:{if(f=E(0)){c=~~f>>>0;break f}c=0}o=E(m+E(E((c|1)>>>0)/o));f=E(r-n);D=E(E(65533)/f);f=E(E(f*D)+E(1));g:{if(f=E(0)){c=~~f>>>0;break g}c=0}f=E(E(n+E(E((c|1)>>>0)/D))+E(1));if(f>r){B[a+20>>2]=f;r=f}f=E(o+E(1));if(f>A){B[a+24>>2]=f;A=f}f=E(E(p+E(F/C))+E(1));if(f>u){B[a+28>>2]=f;u=f}x[a+48>>2]=0;B[a+44>>2]=E(65533)/E(u-p);B[a+40>>2]=E(65533)/E(A-m);B[a+36>>2]=E(65533)/E(r-n);x[k+32>>2]=a;x[k+28>>2]=a+104;x[k+24>>2]=20556;ia[x[x[b>>2]+8>>2]](b,k+24|0,a+4|0,a+20|0);c=x[a+128>>2];s=x[a+108>>2];j=s<<1;h:{if((c|0)>=(j|0)){break h}if((j|0)>x[a+132>>2]){i:{if(!s){d=0;e=c;break i}x[8456]=x[8456]+1;d=ia[x[8258]](s<<5,16)|0;e=x[a+128>>2]}j:{if((e|0)<=0){break j}b=0;if((e|0)!=1){t=e&-2;while(1){i=b<<4;h=i+d|0;q=i+x[a+136>>2]|0;g=x[q+4>>2];x[h>>2]=x[q>>2];x[h+4>>2]=g;g=x[q+12>>2];x[h+8>>2]=x[q+8>>2];x[h+12>>2]=g;g=i|16;h=g+d|0;i=g+x[a+136>>2]|0;g=x[i+4>>2];x[h>>2]=x[i>>2];x[h+4>>2]=g;g=x[i+12>>2];x[h+8>>2]=x[i+8>>2];x[h+12>>2]=g;b=b+2|0;l=l+2|0;if((t|0)!=(l|0)){continue}break}}if(!(e&1)){break j}b=b<<4;e=b+d|0;g=b+x[a+136>>2]|0;b=x[g+4>>2];x[e>>2]=x[g>>2];x[e+4>>2]=b;b=x[g+12>>2];x[e+8>>2]=x[g+8>>2];x[e+12>>2]=b}b=x[a+136>>2];if(!(b?!b|!y[a+140|0]:1)){x[8457]=x[8457]+1;ia[x[8259]](b)}x[a+136>>2]=d;v[a+140|0]=1;x[a+132>>2]=j}e=j+(c^-1)|0;d=j-c&3;if(d){b=0;while(1){g=x[a+136>>2]+(c<<4)|0;x[g>>2]=0;x[g+4>>2]=0;x[g+8>>2]=0;x[g+12>>2]=0;c=c+1|0;b=b+1|0;if((d|0)!=(b|0)){continue}break}}if(e>>>0<3){break h}while(1){d=c<<4;b=d+x[a+136>>2]|0;x[b>>2]=0;x[b+4>>2]=0;x[b+8>>2]=0;x[b+12>>2]=0;b=d+x[a+136>>2]|0;x[b+24>>2]=0;x[b+28>>2]=0;x[b+16>>2]=0;x[b+20>>2]=0;b=d+x[a+136>>2]|0;x[b+40>>2]=0;x[b+44>>2]=0;x[b+32>>2]=0;x[b+36>>2]=0;b=d+x[a+136>>2]|0;x[b+56>>2]=0;x[b+60>>2]=0;x[b+48>>2]=0;x[b+52>>2]=0;c=c+4|0;if((j|0)!=(c|0)){continue}break}}x[a+128>>2]=j;break a}x[k+40>>2]=20688;x[k+44>>2]=a- -64;x[k+32>>2]=-581039253;x[k+36>>2]=0;x[k+24>>2]=-581039253;x[k+28>>2]=-581039253;x[k+16>>2]=1566444395;x[k+20>>2]=0;x[k+8>>2]=1566444395;x[k+12>>2]=1566444395;ia[x[x[b>>2]+8>>2]](b,k+40|0,k+24|0,k+8|0);b=x[a+88>>2];s=x[a+68>>2];l=s<<1;k:{if((b|0)>=(l|0)){break k}if((l|0)>x[a+92>>2]){if(s){x[8456]=x[8456]+1;q=ia[x[8258]](s<<7,16)|0;c=x[a+88>>2]}else{c=b}l:{if((c|0)<=0){break l}d=0;if((c|0)!=1){t=c&-2;while(1){i=d<<6;h=i+q|0;j=i+x[a+96>>2]|0;e=x[j+4>>2];x[h>>2]=x[j>>2];x[h+4>>2]=e;e=x[j+60>>2];x[h+56>>2]=x[j+56>>2];x[h+60>>2]=e;e=x[j+52>>2];x[h+48>>2]=x[j+48>>2];x[h+52>>2]=e;e=x[j+44>>2];x[h+40>>2]=x[j+40>>2];x[h+44>>2]=e;e=x[j+36>>2];x[h+32>>2]=x[j+32>>2];x[h+36>>2]=e;e=x[j+28>>2];x[h+24>>2]=x[j+24>>2];x[h+28>>2]=e;e=x[j+20>>2];x[h+16>>2]=x[j+16>>2];x[h+20>>2]=e;e=x[j+12>>2];x[h+8>>2]=x[j+8>>2];x[h+12>>2]=e;e=i|64;h=e+q|0;i=e+x[a+96>>2]|0;e=x[i+4>>2];x[h>>2]=x[i>>2];x[h+4>>2]=e;e=x[i+12>>2];x[h+8>>2]=x[i+8>>2];x[h+12>>2]=e;e=x[i+20>>2];x[h+16>>2]=x[i+16>>2];x[h+20>>2]=e;e=x[i+28>>2];x[h+24>>2]=x[i+24>>2];x[h+28>>2]=e;e=x[i+36>>2];x[h+32>>2]=x[i+32>>2];x[h+36>>2]=e;e=x[i+44>>2];x[h+40>>2]=x[i+40>>2];x[h+44>>2]=e;e=x[i+52>>2];x[h+48>>2]=x[i+48>>2];x[h+52>>2]=e;e=x[i+60>>2];x[h+56>>2]=x[i+56>>2];x[h+60>>2]=e;d=d+2|0;g=g+2|0;if((t|0)!=(g|0)){continue}break}}if(!(c&1)){break l}c=d<<6;d=c+q|0;e=c+x[a+96>>2]|0;c=x[e+4>>2];x[d>>2]=x[e>>2];x[d+4>>2]=c;c=x[e+60>>2];x[d+56>>2]=x[e+56>>2];x[d+60>>2]=c;c=x[e+52>>2];x[d+48>>2]=x[e+48>>2];x[d+52>>2]=c;c=x[e+44>>2];x[d+40>>2]=x[e+40>>2];x[d+44>>2]=c;c=x[e+36>>2];x[d+32>>2]=x[e+32>>2];x[d+36>>2]=c;c=x[e+28>>2];x[d+24>>2]=x[e+24>>2];x[d+28>>2]=c;c=x[e+20>>2];x[d+16>>2]=x[e+16>>2];x[d+20>>2]=c;c=x[e+12>>2];x[d+8>>2]=x[e+8>>2];x[d+12>>2]=c}c=x[a+96>>2];if(!(c?!c|!y[a+100|0]:1)){x[8457]=x[8457]+1;ia[x[8259]](c)}x[a+96>>2]=q;v[a+100|0]=1;x[a+92>>2]=l}d=l+(b^-1)|0;c=l-b&3;if(c){e=0;while(1){g=x[a+96>>2]+(b<<6)|0;x[g>>2]=0;x[g+4>>2]=0;x[g+56>>2]=0;x[g+60>>2]=0;x[g+48>>2]=0;x[g+52>>2]=0;x[g+40>>2]=0;x[g+44>>2]=0;x[g+32>>2]=0;x[g+36>>2]=0;x[g+24>>2]=0;x[g+28>>2]=0;x[g+16>>2]=0;x[g+20>>2]=0;x[g+8>>2]=0;x[g+12>>2]=0;b=b+1|0;e=e+1|0;if((c|0)!=(e|0)){continue}break}}if(d>>>0<3){break k}while(1){d=b<<6;c=d+x[a+96>>2]|0;x[c>>2]=0;x[c+4>>2]=0;x[c+56>>2]=0;x[c+60>>2]=0;x[c+48>>2]=0;x[c+52>>2]=0;x[c+40>>2]=0;x[c+44>>2]=0;x[c+32>>2]=0;x[c+36>>2]=0;x[c+24>>2]=0;x[c+28>>2]=0;x[c+16>>2]=0;x[c+20>>2]=0;x[c+8>>2]=0;x[c+12>>2]=0;c=d+x[a+96>>2]|0;x[c+120>>2]=0;x[c+124>>2]=0;x[c+112>>2]=0;x[c+116>>2]=0;x[c+104>>2]=0;x[c+108>>2]=0;x[c+96>>2]=0;x[c+100>>2]=0;x[c+88>>2]=0;x[c+92>>2]=0;x[c+80>>2]=0;x[c+84>>2]=0;x[c+72>>2]=0;x[c+76>>2]=0;c=c- -64|0;x[c>>2]=0;x[c+4>>2]=0;c=d+x[a+96>>2]|0;x[c+184>>2]=0;x[c+188>>2]=0;x[c+176>>2]=0;x[c+180>>2]=0;x[c+168>>2]=0;x[c+172>>2]=0;x[c+160>>2]=0;x[c+164>>2]=0;x[c+152>>2]=0;x[c+156>>2]=0;x[c+144>>2]=0;x[c+148>>2]=0;x[c+136>>2]=0;x[c+140>>2]=0;x[c+128>>2]=0;x[c+132>>2]=0;c=d+x[a+96>>2]|0;x[c+248>>2]=0;x[c+252>>2]=0;x[c+240>>2]=0;x[c+244>>2]=0;x[c+232>>2]=0;x[c+236>>2]=0;x[c+224>>2]=0;x[c+228>>2]=0;x[c+216>>2]=0;x[c+220>>2]=0;x[c+208>>2]=0;x[c+212>>2]=0;x[c+200>>2]=0;x[c+204>>2]=0;x[c+192>>2]=0;x[c+196>>2]=0;b=b+4|0;if((l|0)!=(b|0)){continue}break}}x[a+88>>2]=l}x[a+56>>2]=0;wc(a,0,s);if(!(x[a+152>>2]|!y[a+60|0])){if(x[a+156>>2]){b=1}else{x[8456]=x[8456]+1;t=ia[x[8258]](32,16)|0;h=x[a+152>>2];m:{if((h|0)<=0){break m}e=0;if((h|0)!=1){d=h&-2;l=0;while(1){g=e<<5;c=g+t|0;i=g+x[a+160>>2]|0;b=x[i+4>>2];x[c>>2]=x[i>>2];x[c+4>>2]=b;b=x[i+28>>2];x[c+24>>2]=x[i+24>>2];x[c+28>>2]=b;b=x[i+20>>2];x[c+16>>2]=x[i+16>>2];x[c+20>>2]=b;b=x[i+12>>2];x[c+8>>2]=x[i+8>>2];x[c+12>>2]=b;b=g|32;c=b+t|0;g=b+x[a+160>>2]|0;b=x[g+4>>2];x[c>>2]=x[g>>2];x[c+4>>2]=b;b=x[g+12>>2];x[c+8>>2]=x[g+8>>2];x[c+12>>2]=b;b=x[g+20>>2];x[c+16>>2]=x[g+16>>2];x[c+20>>2]=b;b=x[g+28>>2];x[c+24>>2]=x[g+24>>2];x[c+28>>2]=b;e=e+2|0;l=l+2|0;if((d|0)!=(l|0)){continue}break}}if(!(h&1)){break m}b=e<<5;c=b+t|0;d=b+x[a+160>>2]|0;b=x[d+4>>2];x[c>>2]=x[d>>2];x[c+4>>2]=b;b=x[d+28>>2];x[c+24>>2]=x[d+24>>2];x[c+28>>2]=b;b=x[d+20>>2];x[c+16>>2]=x[d+16>>2];x[c+20>>2]=b;b=x[d+12>>2];x[c+8>>2]=x[d+8>>2];x[c+12>>2]=b}b=x[a+160>>2];if(!(b?!b|!y[a+164|0]:1)){x[8457]=x[8457]+1;ia[x[8259]](b)}x[a+160>>2]=t;v[a+164|0]=1;x[a+156>>2]=1;b=x[a+152>>2]+1|0}x[a+152>>2]=b;d=x[a+160>>2];c=x[a+136>>2];w[d>>1]=z[c>>1];w[d+2>>1]=z[c+2>>1];w[d+4>>1]=z[c+4>>1];w[d+6>>1]=z[c+6>>1];w[d+8>>1]=z[c+8>>1];b=z[c+10>>1];x[d+12>>2]=0;w[d+10>>1]=b;b=x[c+12>>2];x[d+16>>2]=(b|0)>=0?1:0-b|0}x[a+168>>2]=x[a+152>>2];b=x[a+116>>2];if(!(b?!b|!y[a+120|0]:1)){x[8457]=x[8457]+1;ia[x[8259]](b)}x[a+116>>2]=0;v[a+120|0]=1;x[a+108>>2]=0;x[a+112>>2]=0;b=x[a+76>>2];if(!(b?!b|!y[a+80|0]:1)){x[8457]=x[8457]+1;ia[x[8259]](b)}x[a+76>>2]=0;v[a+80|0]=1;x[a+68>>2]=0;x[a+72>>2]=0;ga=k+48|0}function hi(a){a=a|0;var b=0,c=E(0),d=0,e=E(0),f=E(0),g=E(0),h=E(0),i=E(0),j=E(0),k=E(0),l=E(0),m=E(0),n=E(0),o=0,p=E(0),q=E(0),r=0,s=E(0),t=E(0),u=E(0),v=E(0),w=E(0),z=E(0),A=E(0),C=E(0),G=E(0),H=E(0),I=E(0),J=E(0),K=E(0),L=E(0),N=E(0),O=E(0),P=E(0),Q=E(0),R=E(0),S=E(0),T=E(0),U=0,V=0,W=0,X=E(0),Y=E(0),Z=E(0),_=0;r=ga-48|0;ga=r;if(y[a+738|0]){x[a+744>>2]=0;x[a+36>>2]=0;if(!y[a+736|0]){e=B[a+672>>2];b=x[a+32>>2];g=B[a+664>>2];h=B[a+668>>2];p=E(E(E(e*B[b+44>>2])+E(E(g*B[b+36>>2])+E(h*B[b+40>>2])))+B[b+60>>2]);f=B[a+608>>2];d=x[a+28>>2];c=B[a+600>>2];j=B[a+604>>2];m=E(E(E(f*B[d+44>>2])+E(E(c*B[d+36>>2])+E(j*B[d+40>>2])))+B[d+60>>2]);i=E(p-m);t=E(E(E(e*B[b+12>>2])+E(E(g*B[b+4>>2])+E(h*B[b+8>>2])))+B[b+52>>2]);u=E(E(E(f*B[d+12>>2])+E(E(c*B[d+4>>2])+E(j*B[d+8>>2])))+B[d+52>>2]);k=E(t-u);I=E(E(E(e*B[b+28>>2])+E(E(g*B[b+20>>2])+E(h*B[b+24>>2])))+B[b+56>>2]);J=E(E(E(f*B[d+28>>2])+E(E(c*B[d+20>>2])+E(j*B[d+24>>2])))+B[d+56>>2]);g=E(I-J);e=E(E(i*i)+E(E(k*k)+E(g*g)));a:{if(e>E(1.1920928955078125e-7)){h=E(E(1)/E(M(e)));e=E(i*h);B[r+8>>2]=e;g=E(g*h);B[r+4>>2]=g;h=E(k*h);B[r>>2]=h;break a}x[r+8>>2]=0;x[r>>2]=1065353216;x[r+4>>2]=0;h=E(1);g=E(0);e=E(0)}x[r+12>>2]=0;b:{if(E(F(e))>E(.7071067690849304)){f=E(E(g*g)+E(e*e));i=E(E(1)/E(M(f)));f=E(f*i);c=E(i*E(-e));j=E(c*h);e=E(g*i);g=E(e*E(-h));i=E(0);break b}c=E(E(h*h)+E(g*g));f=E(E(1)/E(M(c)));j=E(c*f);i=E(f*E(-g));g=E(e*i);c=E(h*f);f=E(c*E(-e));e=E(0)}B[r+40>>2]=j;B[r+36>>2]=g;B[r+20>>2]=c;B[r+32>>2]=f;B[r+24>>2]=e;B[r+16>>2]=i;while(1){K=B[b+404>>2];R=B[d+404>>2];C=B[d+36>>2];G=B[d+4>>2];H=B[d+20>>2];l=B[d+40>>2];v=B[d+8>>2];s=B[d+24>>2];n=B[d+44>>2];q=B[d+12>>2];w=B[d+56>>2];z=B[d+28>>2];A=B[d+60>>2];N=B[d+52>>2];O=B[b+36>>2];P=B[b+4>>2];S=B[b+20>>2];k=B[b+40>>2];T=B[b+8>>2];Z=B[b+24>>2];e=B[b+44>>2];h=B[b+12>>2];g=B[b+56>>2];j=B[b+28>>2];f=B[b+52>>2];c=B[b+60>>2];V=(U<<4)+r|0;_=x[V+4>>2];o=D(U,84)+a|0;W=o+48|0;x[W>>2]=x[V>>2];x[W+4>>2]=_;W=x[V+12>>2];x[o+56>>2]=x[V+8>>2];x[o+60>>2]=W;x[o+92>>2]=0;x[o+76>>2]=0;L=e;i=E(I-g);e=B[o+48>>2];X=E(t-f);g=B[o+52>>2];f=E(E(i*e)-E(X*g));Q=h;Y=E(p-c);h=B[o+56>>2];c=E(E(Y*g)-E(i*h));i=j;j=E(E(X*h)-E(Y*e));i=E(E(L*f)+E(E(Q*c)+E(i*j)));B[o+88>>2]=i;k=E(E(k*f)+E(E(T*c)+E(Z*j)));B[o+84>>2]=k;f=E(E(O*f)+E(E(P*c)+E(S*j)));B[o+80>>2]=f;L=n;j=E(u-N);n=E(J-w);c=E(E(g*j)-E(e*n));Q=E(n*h);n=E(m-A);g=E(Q-E(g*n));e=E(E(n*e)-E(h*j));h=E(E(L*c)+E(E(q*g)+E(z*e)));B[o+72>>2]=h;j=E(E(l*c)+E(E(v*g)+E(s*e)));B[o+68>>2]=j;e=E(E(C*c)+E(E(G*g)+E(H*e)));B[o- -64>>2]=e;g=B[d+464>>2];c=B[d+460>>2];C=B[d+456>>2];x[o+108>>2]=0;C=E(e*C);B[o+96>>2]=C;c=E(j*c);B[o+100>>2]=c;g=E(h*g);B[o+104>>2]=g;G=B[b+464>>2];H=B[b+460>>2];l=B[b+456>>2];x[o+124>>2]=0;l=E(f*l);B[o+112>>2]=l;H=E(k*H);B[o+116>>2]=H;G=E(i*G);B[o+120>>2]=G;B[o+128>>2]=E(K+E(R+E(E(g*h)+E(E(C*e)+E(j*c)))))+E(E(G*i)+E(E(l*f)+E(k*H)));U=U+1|0;if((U|0)!=3){continue}break}}e=B[a+576>>2];g=B[a+560>>2];h=B[a+592>>2];c:{if(E(F(h))>E(.7071067690849304)){f=E(E(e*e)+E(h*h));i=E(E(1)/E(M(f)));c=E(i*E(-h));j=E(g*c);k=E(e*i);p=E(k*E(-g));m=E(0);f=E(f*i);break c}c=E(E(g*g)+E(e*e));f=E(E(1)/E(M(c)));j=E(c*f);m=E(f*E(-e));p=E(h*m);k=E(0);c=E(g*f);f=E(c*E(-h))}b=x[a+32>>2];q=B[b+36>>2];w=B[b+20>>2];n=B[b+40>>2];z=B[b+8>>2];A=B[b+24>>2];s=B[b+44>>2];N=B[b+12>>2];O=B[b+28>>2];d=x[a+28>>2];t=B[d+44>>2];u=B[d+36>>2];I=B[d+40>>2];J=B[d+12>>2];K=B[d+8>>2];R=B[d+28>>2];C=B[d+20>>2];G=B[d+24>>2];P=B[b+4>>2];H=B[d+4>>2];x[a+308>>2]=0;x[a+312>>2]=0;x[a+300>>2]=0;x[a+304>>2]=0;x[a+344>>2]=0;x[a+328>>2]=0;i=E(E(t*k)+E(E(u*m)+E(c*I)));l=E(E(J*k)+E(E(H*m)+E(c*K)));c=E(E(R*k)+E(E(C*m)+E(c*G)));k=E(E(t*i)+E(E(J*l)+E(R*c)));B[a+324>>2]=k;m=E(E(I*i)+E(E(K*l)+E(G*c)));B[a+320>>2]=m;v=E(E(u*i)+E(E(H*l)+E(C*c)));B[a+316>>2]=v;l=E(-l);s=E(E(E(N*l)-E(O*c))-E(s*i));B[a+340>>2]=s;n=E(E(E(z*l)-E(A*c))-E(n*i));B[a+336>>2]=n;c=E(E(E(P*l)-E(w*c))-E(q*i));B[a+332>>2]=c;i=B[d+460>>2];l=B[d+464>>2];q=B[d+456>>2];x[a+360>>2]=0;l=E(k*l);B[a+356>>2]=l;i=E(m*i);B[a+352>>2]=i;q=E(v*q);B[a+348>>2]=q;w=B[b+460>>2];z=B[b+464>>2];A=B[b+456>>2];x[a+376>>2]=0;z=E(s*z);B[a+372>>2]=z;w=E(n*w);B[a+368>>2]=w;A=E(c*A);B[a+364>>2]=A;B[a+380>>2]=E(E(l*k)+E(E(q*v)+E(m*i)))+E(E(z*s)+E(E(A*c)+E(n*w)));v=B[d+36>>2];s=B[d+20>>2];l=B[d+40>>2];n=B[d+8>>2];q=B[d+24>>2];m=B[d+44>>2];w=B[d+12>>2];z=B[d+28>>2];A=B[b+36>>2];N=B[b+20>>2];O=B[b+40>>2];P=B[b+8>>2];S=B[b+24>>2];T=B[b+44>>2];c=B[b+12>>2];Z=B[b+28>>2];X=B[d+4>>2];Y=B[b+4>>2];x[a+392>>2]=0;x[a+396>>2]=0;x[a+384>>2]=0;x[a+388>>2]=0;x[a+428>>2]=0;x[a+412>>2]=0;i=E(E(J*j)+E(E(H*f)+E(p*K)));k=E(-i);L=E(c*k);c=E(E(R*j)+E(E(C*f)+E(p*G)));f=E(E(t*j)+E(E(u*f)+E(p*I)));j=E(E(L-E(Z*c))-E(T*f));B[a+424>>2]=j;p=E(E(E(P*k)-E(S*c))-E(O*f));B[a+420>>2]=p;k=E(E(E(Y*k)-E(N*c))-E(A*f));B[a+416>>2]=k;m=E(E(m*f)+E(E(w*i)+E(c*z)));B[a+408>>2]=m;l=E(E(l*f)+E(E(n*i)+E(c*q)));B[a+404>>2]=l;f=E(E(v*f)+E(E(X*i)+E(c*s)));B[a+400>>2]=f;c=B[d+460>>2];i=B[d+464>>2];v=B[d+456>>2];x[a+444>>2]=0;i=E(m*i);B[a+440>>2]=i;c=E(l*c);B[a+436>>2]=c;v=E(f*v);B[a+432>>2]=v;s=B[b+460>>2];n=B[b+464>>2];q=B[b+456>>2];x[a+460>>2]=0;n=E(j*n);B[a+456>>2]=n;s=E(p*s);B[a+452>>2]=s;q=E(k*q);B[a+448>>2]=q;B[a+464>>2]=E(E(i*m)+E(E(v*f)+E(l*c)))+E(E(n*j)+E(E(q*k)+E(p*s)));p=B[d+36>>2];m=B[d+20>>2];k=B[d+40>>2];l=B[d+8>>2];v=B[d+24>>2];i=B[d+44>>2];s=B[d+12>>2];n=B[d+28>>2];q=B[b+36>>2];w=B[b+20>>2];z=B[b+40>>2];A=B[b+8>>2];N=B[b+24>>2];O=B[b+44>>2];f=B[b+12>>2];P=B[b+28>>2];S=B[d+4>>2];T=B[b+4>>2];x[a+476>>2]=0;x[a+480>>2]=0;x[a+468>>2]=0;x[a+472>>2]=0;x[a+512>>2]=0;x[a+496>>2]=0;c=E(E(J*h)+E(E(H*g)+E(e*K)));j=E(-c);L=E(f*j);f=E(E(R*h)+E(E(C*g)+E(e*G)));e=E(E(t*h)+E(E(u*g)+E(e*I)));g=E(E(L-E(P*f))-E(O*e));B[a+508>>2]=g;h=E(E(E(A*j)-E(N*f))-E(z*e));B[a+504>>2]=h;j=E(E(E(T*j)-E(w*f))-E(q*e));B[a+500>>2]=j;i=E(E(i*e)+E(E(s*c)+E(f*n)));B[a+492>>2]=i;k=E(E(k*e)+E(E(l*c)+E(f*v)));B[a+488>>2]=k;e=E(E(p*e)+E(E(S*c)+E(f*m)));B[a+484>>2]=e;f=B[d+460>>2];c=B[d+464>>2];p=B[d+456>>2];x[a+528>>2]=0;c=E(i*c);B[a+524>>2]=c;f=E(k*f);B[a+520>>2]=f;p=E(e*p);B[a+516>>2]=p;m=B[b+460>>2];t=B[b+464>>2];u=B[b+456>>2];x[a+724>>2]=0;x[a+544>>2]=0;t=E(g*t);B[a+540>>2]=t;m=E(h*m);B[a+536>>2]=m;u=E(j*u);B[a+532>>2]=u;B[a+548>>2]=E(E(c*i)+E(E(p*e)+E(k*f)))+E(E(t*g)+E(E(u*j)+E(h*m)));e=B[a+652>>2];g=B[a+620>>2];h=B[a+636>>2];i=E(E(B[b+44>>2]*e)+E(E(B[b+36>>2]*g)+E(h*B[b+40>>2])));k=B[d+44>>2];f=B[a+584>>2];p=B[d+36>>2];c=B[a+552>>2];j=B[a+568>>2];m=B[d+40>>2];n=E(i*E(E(k*f)+E(E(p*c)+E(j*m))));t=E(E(B[b+12>>2]*e)+E(E(B[b+4>>2]*g)+E(h*B[b+8>>2])));u=B[d+12>>2];I=B[d+4>>2];J=B[d+8>>2];L=E(t*E(E(u*f)+E(E(I*c)+E(j*J))));K=B[d+28>>2];Q=E(K*f);f=B[d+20>>2];l=E(f*c);c=B[d+24>>2];Q=E(Q+E(l+E(j*c)));j=E(E(B[b+28>>2]*e)+E(E(B[b+20>>2]*g)+E(h*B[b+24>>2])));e=B[a+588>>2];g=B[a+556>>2];h=B[a+572>>2];e=E(xa(E(n+E(L+E(Q*j))),E(E(i*E(E(k*e)+E(E(p*g)+E(m*h))))+E(E(t*E(E(u*e)+E(E(I*g)+E(J*h))))+E(E(E(K*e)+E(E(f*g)+E(c*h)))*j))))*B[a+732>>2]);B[a+728>>2]=e;xd(a+688|0,e);d=a;b=x[a+28>>2];h=B[a+592>>2];f=B[a+560>>2];c=B[a+576>>2];e=E(E(B[b+44>>2]*h)+E(E(B[b+36>>2]*f)+E(c*B[b+40>>2])));g=E(E(B[b+12>>2]*h)+E(E(B[b+4>>2]*f)+E(c*B[b+8>>2])));h=E(E(B[b+28>>2]*h)+E(E(B[b+20>>2]*f)+E(c*B[b+24>>2])));a=x[a+32>>2];B[d+720>>2]=E(1)/E(E(E(e*E(E(e*B[b+364>>2])+E(E(B[b+332>>2]*g)+E(h*B[b+348>>2]))))+E(E(g*E(E(B[b+356>>2]*e)+E(E(g*B[b+324>>2])+E(h*B[b+340>>2]))))+E(h*E(E(B[b+360>>2]*e)+E(E(B[b+328>>2]*g)+E(h*B[b+344>>2]))))))+E(E(e*E(E(e*B[a+364>>2])+E(E(B[a+332>>2]*g)+E(h*B[a+348>>2]))))+E(E(g*E(E(B[a+356>>2]*e)+E(E(g*B[a+324>>2])+E(h*B[a+340>>2]))))+E(h*E(E(B[a+360>>2]*e)+E(E(B[a+328>>2]*g)+E(h*B[a+344>>2])))))))}ga=r+48|0}function Kj(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=E(0),f=E(0),g=E(0),h=0,i=E(0),j=E(0),k=E(0),l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;h=ga-48|0;ga=h;e=B[a+48>>2];f=B[a+32>>2];j=E(E(1)/B[a+124>>2]);k=B[a- -64>>2];g=E(E(j*B[d+8>>2])+k);g=f>g?f:g;g=e>2])+k);f=f>j?f:j;e=e>2];f=B[a+28>>2];j=E(E(1)/B[a+120>>2]);k=B[a+60>>2];g=E(E(j*B[d+4>>2])+k);g=f>g?f:g;g=e>2])+k);f=f>j?f:j;e=e>2];f=B[a+24>>2];j=E(E(1)/B[a+116>>2]);k=B[a+56>>2];g=E(E(j*B[d>>2])+k);g=f>g?f:g;g=e>2])+k);f=f>j?f:j;e=e>2]-1|0;p=x[a+72>>2]-1|0;g:{h:{switch(x[a+112>>2]){case 0:l=(o|0)<(l|0)?o:l;n=(q|0)>0?q:0;p=(p|0)>(r|0)?r:p;t=(s|0)>0?s:0;break g;case 1:l=(o|0)<(l|0)?o:l;n=(q|0)>0?q:0;p=(d|0)<(p|0)?d:p;t=(c|0)>0?c:0;break g;case 2:break h;default:break g}}l=(l|0)>(r|0)?r:l;n=(s|0)>0?s:0;p=(d|0)<(p|0)?d:p;t=(c|0)>0?c:0}if(!((p|0)<=(t|0)|(n|0)>=(l|0))){while(1){q=n&1;o=n+1|0;j=E(o|0);k=E(n|0);c=t;while(1){i:{j:{d=c;if(!(!(y[a+110|0]?q:1)|(y[a+108|0]|(c+n&1?0:y[a+109|0])))){g=E(ia[x[x[a>>2]+68>>2]](a,d,n));k:{l:{switch(x[a+112>>2]){case 2:f=B[a+88>>2];e=B[a+92>>2];i=B[a+64>>2];x[h+12>>2]=0;e=E(k-E(e*E(.5)));f=E(E(d|0)-E(f*E(.5)));g=E(g-i);break k;case 1:f=B[a+88>>2];i=B[a+92>>2];e=B[a+60>>2];x[h+12>>2]=0;e=E(g-e);f=E(E(d|0)-E(f*E(.5)));g=E(k-E(i*E(.5)));break k;case 0:e=B[a+88>>2];i=B[a+92>>2];f=B[a+56>>2];x[h+12>>2]=0;f=E(g-f);e=E(E(d|0)-E(e*E(.5)));g=E(k-E(i*E(.5)));break k;default:break l}}e=B[h+4>>2];f=B[h>>2];g=B[h+8>>2]}B[h>>2]=f*B[a+116>>2];B[h+4>>2]=e*B[a+120>>2];B[h+8>>2]=g*B[a+124>>2];g=E(ia[x[x[a>>2]+68>>2]](a,d,o));m:{n:{switch(x[a+112>>2]){case 2:f=B[a+88>>2];e=B[a+92>>2];i=B[a+64>>2];x[h+28>>2]=0;e=E(j-E(e*E(.5)));f=E(E(d|0)-E(f*E(.5)));g=E(g-i);break m;case 1:f=B[a+88>>2];i=B[a+92>>2];e=B[a+60>>2];x[h+28>>2]=0;e=E(g-e);f=E(E(d|0)-E(f*E(.5)));g=E(j-E(i*E(.5)));break m;case 0:e=B[a+88>>2];i=B[a+92>>2];f=B[a+56>>2];x[h+28>>2]=0;f=E(g-f);e=E(E(d|0)-E(e*E(.5)));g=E(j-E(i*E(.5)));break m;default:break n}}e=B[h+20>>2];f=B[h+16>>2];g=B[h+24>>2]}B[h+16>>2]=f*B[a+116>>2];B[h+20>>2]=e*B[a+120>>2];B[h+24>>2]=g*B[a+124>>2];c=d+1|0;g=E(ia[x[x[a>>2]+68>>2]](a,c,n));o:{p:{switch(x[a+112>>2]){case 2:f=B[a+88>>2];e=B[a+92>>2];i=B[a+64>>2];x[h+44>>2]=0;e=E(k-E(e*E(.5)));f=E(E(c|0)-E(f*E(.5)));g=E(g-i);break o;case 1:f=B[a+88>>2];i=B[a+92>>2];e=B[a+60>>2];x[h+44>>2]=0;e=E(g-e);f=E(E(c|0)-E(f*E(.5)));g=E(k-E(i*E(.5)));break o;case 0:e=B[a+88>>2];i=B[a+92>>2];f=B[a+56>>2];x[h+44>>2]=0;f=E(g-f);e=E(E(c|0)-E(e*E(.5)));g=E(k-E(i*E(.5)));break o;default:break p}}e=B[h+36>>2];f=B[h+32>>2];g=B[h+40>>2]}B[h+32>>2]=f*B[a+116>>2];B[h+36>>2]=e*B[a+120>>2];B[h+40>>2]=g*B[a+124>>2];ia[x[x[b>>2]+8>>2]](b,h,d,n);g=E(ia[x[x[a>>2]+68>>2]](a,c,n));q:{r:{switch(x[a+112>>2]){case 2:f=B[a+88>>2];e=B[a+92>>2];i=B[a+64>>2];x[h+12>>2]=0;e=E(k-E(e*E(.5)));f=E(E(c|0)-E(f*E(.5)));g=E(g-i);break q;case 1:f=B[a+88>>2];i=B[a+92>>2];e=B[a+60>>2];x[h+12>>2]=0;e=E(g-e);f=E(E(c|0)-E(f*E(.5)));g=E(k-E(i*E(.5)));break q;case 0:e=B[a+88>>2];i=B[a+92>>2];f=B[a+56>>2];x[h+12>>2]=0;f=E(g-f);e=E(E(c|0)-E(e*E(.5)));g=E(k-E(i*E(.5)));break q;default:break r}}e=B[h+4>>2];f=B[h>>2];g=B[h+8>>2]}B[h>>2]=f*B[a+116>>2];B[h+4>>2]=e*B[a+120>>2];B[h+8>>2]=g*B[a+124>>2];g=E(ia[x[x[a>>2]+68>>2]](a,c,o));s:{switch(x[a+112>>2]){case 2:f=B[a+88>>2];e=B[a+92>>2];i=B[a+64>>2];x[h+44>>2]=0;e=E(j-E(e*E(.5)));f=E(E(c|0)-E(f*E(.5)));g=E(g-i);break i;case 1:f=B[a+88>>2];i=B[a+92>>2];e=B[a+60>>2];x[h+44>>2]=0;e=E(g-e);f=E(E(c|0)-E(f*E(.5)));g=E(j-E(i*E(.5)));break i;case 0:break s;default:break j}}e=B[a+88>>2];i=B[a+92>>2];f=B[a+56>>2];x[h+44>>2]=0;f=E(g-f);e=E(E(c|0)-E(e*E(.5)));g=E(j-E(i*E(.5)));break i}g=E(ia[x[x[a>>2]+68>>2]](a,d,n));t:{u:{switch(x[a+112>>2]){case 2:f=B[a+88>>2];e=B[a+92>>2];i=B[a+64>>2];x[h+12>>2]=0;e=E(k-E(e*E(.5)));f=E(E(d|0)-E(f*E(.5)));g=E(g-i);break t;case 1:f=B[a+88>>2];i=B[a+92>>2];e=B[a+60>>2];x[h+12>>2]=0;e=E(g-e);f=E(E(d|0)-E(f*E(.5)));g=E(k-E(i*E(.5)));break t;case 0:e=B[a+88>>2];i=B[a+92>>2];f=B[a+56>>2];x[h+12>>2]=0;f=E(g-f);e=E(E(d|0)-E(e*E(.5)));g=E(k-E(i*E(.5)));break t;default:break u}}e=B[h+4>>2];f=B[h>>2];g=B[h+8>>2]}B[h>>2]=f*B[a+116>>2];B[h+4>>2]=e*B[a+120>>2];B[h+8>>2]=g*B[a+124>>2];g=E(ia[x[x[a>>2]+68>>2]](a,d,o));v:{w:{switch(x[a+112>>2]){case 2:f=B[a+88>>2];e=B[a+92>>2];i=B[a+64>>2];x[h+28>>2]=0;e=E(j-E(e*E(.5)));f=E(E(d|0)-E(f*E(.5)));g=E(g-i);break v;case 1:f=B[a+88>>2];i=B[a+92>>2];e=B[a+60>>2];x[h+28>>2]=0;e=E(g-e);f=E(E(d|0)-E(f*E(.5)));g=E(j-E(i*E(.5)));break v;case 0:e=B[a+88>>2];i=B[a+92>>2];f=B[a+56>>2];x[h+28>>2]=0;f=E(g-f);e=E(E(d|0)-E(e*E(.5)));g=E(j-E(i*E(.5)));break v;default:break w}}e=B[h+20>>2];f=B[h+16>>2];g=B[h+24>>2]}B[h+16>>2]=f*B[a+116>>2];B[h+20>>2]=e*B[a+120>>2];B[h+24>>2]=g*B[a+124>>2];c=d+1|0;g=E(ia[x[x[a>>2]+68>>2]](a,c,o));x:{y:{switch(x[a+112>>2]){case 2:f=B[a+88>>2];e=B[a+92>>2];i=B[a+64>>2];x[h+44>>2]=0;e=E(j-E(e*E(.5)));f=E(E(c|0)-E(f*E(.5)));g=E(g-i);break x;case 1:f=B[a+88>>2];i=B[a+92>>2];e=B[a+60>>2];x[h+44>>2]=0;e=E(g-e);f=E(E(c|0)-E(f*E(.5)));g=E(j-E(i*E(.5)));break x;case 0:e=B[a+88>>2];i=B[a+92>>2];f=B[a+56>>2];x[h+44>>2]=0;f=E(g-f);e=E(E(c|0)-E(e*E(.5)));g=E(j-E(i*E(.5)));break x;default:break y}}e=B[h+36>>2];f=B[h+32>>2];g=B[h+40>>2]}B[h+32>>2]=f*B[a+116>>2];B[h+36>>2]=e*B[a+120>>2];B[h+40>>2]=g*B[a+124>>2];ia[x[x[b>>2]+8>>2]](b,h,d,n);g=E(ia[x[x[a>>2]+68>>2]](a,c,o));z:{A:{switch(x[a+112>>2]){case 2:f=B[a+88>>2];e=B[a+92>>2];i=B[a+64>>2];x[h+28>>2]=0;e=E(j-E(e*E(.5)));f=E(E(c|0)-E(f*E(.5)));g=E(g-i);break z;case 1:f=B[a+88>>2];i=B[a+92>>2];e=B[a+60>>2];x[h+28>>2]=0;e=E(g-e);f=E(E(c|0)-E(f*E(.5)));g=E(j-E(i*E(.5)));break z;case 0:e=B[a+88>>2];i=B[a+92>>2];f=B[a+56>>2];x[h+28>>2]=0;f=E(g-f);e=E(E(c|0)-E(e*E(.5)));g=E(j-E(i*E(.5)));break z;default:break A}}e=B[h+20>>2];f=B[h+16>>2];g=B[h+24>>2]}B[h+16>>2]=f*B[a+116>>2];B[h+20>>2]=e*B[a+120>>2];B[h+24>>2]=g*B[a+124>>2];g=E(ia[x[x[a>>2]+68>>2]](a,c,n));B:{switch(x[a+112>>2]){case 2:f=B[a+88>>2];e=B[a+92>>2];i=B[a+64>>2];x[h+44>>2]=0;e=E(k-E(e*E(.5)));f=E(E(c|0)-E(f*E(.5)));g=E(g-i);break i;case 1:f=B[a+88>>2];i=B[a+92>>2];e=B[a+60>>2];x[h+44>>2]=0;e=E(g-e);f=E(E(c|0)-E(f*E(.5)));g=E(k-E(i*E(.5)));break i;case 0:break B;default:break j}}e=B[a+88>>2];i=B[a+92>>2];f=B[a+56>>2];x[h+44>>2]=0;f=E(g-f);e=E(E(c|0)-E(e*E(.5)));g=E(k-E(i*E(.5)));break i}e=B[h+36>>2];f=B[h+32>>2];g=B[h+40>>2]}B[h+32>>2]=f*B[a+116>>2];B[h+36>>2]=e*B[a+120>>2];B[h+40>>2]=g*B[a+124>>2];ia[x[x[b>>2]+8>>2]](b,h,d,n);if((c|0)!=(p|0)){continue}break}n=o;if((l|0)!=(n|0)){continue}break}}ga=h+48|0}function Zk(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;B[a+20>>2]=C[b+32>>3];B[a+24>>2]=C[b+40>>3];B[a+28>>2]=C[b+48>>3];B[a+32>>2]=C[b+56>>3];B[a+4>>2]=C[b>>3];B[a+8>>2]=C[b+8>>3];B[a+12>>2]=C[b+16>>3];B[a+16>>2]=C[b+24>>3];B[a+36>>2]=C[b+64>>3];B[a+40>>2]=C[b+72>>3];B[a+44>>2]=C[b+80>>3];B[a+48>>2]=C[b+88>>3];x[a+56>>2]=x[b+96>>2];v[a+60|0]=x[b+100>>2]!=0;f=x[a+88>>2];k=x[b+104>>2];a:{if((f|0)>=(k|0)){break a}if((k|0)>x[a+92>>2]){if(k){x[8456]=x[8456]+1;j=ia[x[8258]](k<<6,16)|0;c=x[a+88>>2]}else{c=f}b:{if((c|0)<=0){break b}if((c|0)!=1){m=c&-2;while(1){h=l<<6;g=h+j|0;i=h+x[a+96>>2]|0;e=x[i+4>>2];x[g>>2]=x[i>>2];x[g+4>>2]=e;e=x[i+60>>2];x[g+56>>2]=x[i+56>>2];x[g+60>>2]=e;e=x[i+52>>2];x[g+48>>2]=x[i+48>>2];x[g+52>>2]=e;e=x[i+44>>2];x[g+40>>2]=x[i+40>>2];x[g+44>>2]=e;e=x[i+36>>2];x[g+32>>2]=x[i+32>>2];x[g+36>>2]=e;e=x[i+28>>2];x[g+24>>2]=x[i+24>>2];x[g+28>>2]=e;e=x[i+20>>2];x[g+16>>2]=x[i+16>>2];x[g+20>>2]=e;e=x[i+12>>2];x[g+8>>2]=x[i+8>>2];x[g+12>>2]=e;e=h|64;g=e+j|0;h=e+x[a+96>>2]|0;e=x[h+4>>2];x[g>>2]=x[h>>2];x[g+4>>2]=e;e=x[h+12>>2];x[g+8>>2]=x[h+8>>2];x[g+12>>2]=e;e=x[h+20>>2];x[g+16>>2]=x[h+16>>2];x[g+20>>2]=e;e=x[h+28>>2];x[g+24>>2]=x[h+24>>2];x[g+28>>2]=e;e=x[h+36>>2];x[g+32>>2]=x[h+32>>2];x[g+36>>2]=e;e=x[h+44>>2];x[g+40>>2]=x[h+40>>2];x[g+44>>2]=e;e=x[h+52>>2];x[g+48>>2]=x[h+48>>2];x[g+52>>2]=e;e=x[h+60>>2];x[g+56>>2]=x[h+56>>2];x[g+60>>2]=e;l=l+2|0;d=d+2|0;if((m|0)!=(d|0)){continue}break}}if(!(c&1)){break b}c=l<<6;d=c+j|0;e=c+x[a+96>>2]|0;c=x[e+4>>2];x[d>>2]=x[e>>2];x[d+4>>2]=c;c=x[e+60>>2];x[d+56>>2]=x[e+56>>2];x[d+60>>2]=c;c=x[e+52>>2];x[d+48>>2]=x[e+48>>2];x[d+52>>2]=c;c=x[e+44>>2];x[d+40>>2]=x[e+40>>2];x[d+44>>2]=c;c=x[e+36>>2];x[d+32>>2]=x[e+32>>2];x[d+36>>2]=c;c=x[e+28>>2];x[d+24>>2]=x[e+24>>2];x[d+28>>2]=c;c=x[e+20>>2];x[d+16>>2]=x[e+16>>2];x[d+20>>2]=c;c=x[e+12>>2];x[d+8>>2]=x[e+8>>2];x[d+12>>2]=c}c=x[a+96>>2];if(!(c?!c|!y[a+100|0]:1)){x[8457]=x[8457]+1;ia[x[8259]](c)}x[a+96>>2]=j;v[a+100|0]=1;x[a+92>>2]=k}d=k+(f^-1)|0;c=k-f&3;if(c){j=0;while(1){e=x[a+96>>2]+(f<<6)|0;x[e>>2]=0;x[e+4>>2]=0;x[e+56>>2]=0;x[e+60>>2]=0;x[e+48>>2]=0;x[e+52>>2]=0;x[e+40>>2]=0;x[e+44>>2]=0;x[e+32>>2]=0;x[e+36>>2]=0;x[e+24>>2]=0;x[e+28>>2]=0;x[e+16>>2]=0;x[e+20>>2]=0;x[e+8>>2]=0;x[e+12>>2]=0;f=f+1|0;j=j+1|0;if((c|0)!=(j|0)){continue}break}}if(d>>>0<3){break a}while(1){d=f<<6;c=d+x[a+96>>2]|0;x[c>>2]=0;x[c+4>>2]=0;x[c+56>>2]=0;x[c+60>>2]=0;x[c+48>>2]=0;x[c+52>>2]=0;x[c+40>>2]=0;x[c+44>>2]=0;x[c+32>>2]=0;x[c+36>>2]=0;x[c+24>>2]=0;x[c+28>>2]=0;x[c+16>>2]=0;x[c+20>>2]=0;x[c+8>>2]=0;x[c+12>>2]=0;c=d+x[a+96>>2]|0;x[c+120>>2]=0;x[c+124>>2]=0;x[c+112>>2]=0;x[c+116>>2]=0;x[c+104>>2]=0;x[c+108>>2]=0;x[c+96>>2]=0;x[c+100>>2]=0;x[c+88>>2]=0;x[c+92>>2]=0;x[c+80>>2]=0;x[c+84>>2]=0;x[c+72>>2]=0;x[c+76>>2]=0;c=c- -64|0;x[c>>2]=0;x[c+4>>2]=0;c=d+x[a+96>>2]|0;x[c+184>>2]=0;x[c+188>>2]=0;x[c+176>>2]=0;x[c+180>>2]=0;x[c+168>>2]=0;x[c+172>>2]=0;x[c+160>>2]=0;x[c+164>>2]=0;x[c+152>>2]=0;x[c+156>>2]=0;x[c+144>>2]=0;x[c+148>>2]=0;x[c+136>>2]=0;x[c+140>>2]=0;x[c+128>>2]=0;x[c+132>>2]=0;c=d+x[a+96>>2]|0;x[c+248>>2]=0;x[c+252>>2]=0;x[c+240>>2]=0;x[c+244>>2]=0;x[c+232>>2]=0;x[c+236>>2]=0;x[c+224>>2]=0;x[c+228>>2]=0;x[c+216>>2]=0;x[c+220>>2]=0;x[c+208>>2]=0;x[c+212>>2]=0;x[c+200>>2]=0;x[c+204>>2]=0;x[c+192>>2]=0;x[c+196>>2]=0;f=f+4|0;if((k|0)!=(f|0)){continue}break}}x[a+88>>2]=k;if((k|0)>0){c=x[a+96>>2];d=x[b+112>>2];j=0;while(1){f=c+(j<<6)|0;B[f+16>>2]=C[d+32>>3];B[f+20>>2]=C[d+40>>3];B[f+24>>2]=C[d+48>>3];B[f+28>>2]=C[d+56>>3];B[f>>2]=C[d>>3];B[f+4>>2]=C[d+8>>3];B[f+8>>2]=C[d+16>>3];B[f+12>>2]=C[d+24>>3];x[f+32>>2]=x[d+64>>2];x[f+36>>2]=x[d+68>>2];x[f+40>>2]=x[d+72>>2];d=d+80|0;j=j+1|0;if((k|0)!=(j|0)){continue}break}}d=x[a+128>>2];n=x[b+108>>2];c:{if((d|0)>=(n|0)){break c}if((n|0)>x[a+132>>2]){d:{if(!n){l=0;c=d;break d}x[8456]=x[8456]+1;l=ia[x[8258]](n<<4,16)|0;c=x[a+128>>2]}e:{if((c|0)<=0){break e}f=0;if((c|0)!=1){m=c&-2;i=0;while(1){h=f<<4;g=h+l|0;k=h+x[a+136>>2]|0;e=x[k+4>>2];x[g>>2]=x[k>>2];x[g+4>>2]=e;e=x[k+12>>2];x[g+8>>2]=x[k+8>>2];x[g+12>>2]=e;e=h|16;g=e+l|0;h=e+x[a+136>>2]|0;e=x[h+4>>2];x[g>>2]=x[h>>2];x[g+4>>2]=e;e=x[h+12>>2];x[g+8>>2]=x[h+8>>2];x[g+12>>2]=e;f=f+2|0;i=i+2|0;if((m|0)!=(i|0)){continue}break}}if(!(c&1)){break e}c=f<<4;f=c+l|0;e=c+x[a+136>>2]|0;c=x[e+4>>2];x[f>>2]=x[e>>2];x[f+4>>2]=c;c=x[e+12>>2];x[f+8>>2]=x[e+8>>2];x[f+12>>2]=c}c=x[a+136>>2];if(!(c?!c|!y[a+140|0]:1)){x[8457]=x[8457]+1;ia[x[8259]](c)}x[a+136>>2]=l;v[a+140|0]=1;x[a+132>>2]=n}e=n+(d^-1)|0;c=n-d&3;if(c){f=0;while(1){g=x[a+136>>2]+(d<<4)|0;x[g>>2]=0;x[g+4>>2]=0;x[g+8>>2]=0;x[g+12>>2]=0;d=d+1|0;f=f+1|0;if((c|0)!=(f|0)){continue}break}}if(e>>>0<3){break c}while(1){f=d<<4;c=f+x[a+136>>2]|0;x[c>>2]=0;x[c+4>>2]=0;x[c+8>>2]=0;x[c+12>>2]=0;c=f+x[a+136>>2]|0;x[c+24>>2]=0;x[c+28>>2]=0;x[c+16>>2]=0;x[c+20>>2]=0;c=f+x[a+136>>2]|0;x[c+40>>2]=0;x[c+44>>2]=0;x[c+32>>2]=0;x[c+36>>2]=0;c=f+x[a+136>>2]|0;x[c+56>>2]=0;x[c+60>>2]=0;x[c+48>>2]=0;x[c+52>>2]=0;d=d+4|0;if((n|0)!=(d|0)){continue}break}}x[a+128>>2]=n;if((n|0)>0){c=x[a+136>>2];d=x[b+116>>2];j=0;while(1){f=c+(j<<4)|0;x[f+12>>2]=x[d+12>>2];w[f+6>>1]=z[d+6>>1];w[f+8>>1]=z[d+8>>1];w[f+10>>1]=z[d+10>>1];w[f>>1]=z[d>>1];w[f+2>>1]=z[d+2>>1];w[f+4>>1]=z[d+4>>1];d=d+16|0;j=j+1|0;if((n|0)!=(j|0)){continue}break}}x[a+144>>2]=x[b+120>>2];d=x[a+152>>2];h=x[b+124>>2];if(!((d|0)>=(h|0)|(h|0)<=x[a+156>>2])){f:{if(!h){i=0;break f}x[8456]=x[8456]+1;i=ia[x[8258]](h<<5,16)|0;d=x[a+152>>2]}g:{if((d|0)<=0){break g}l=0;if((d|0)!=1){e=d&-2;j=0;while(1){g=l<<5;f=g+i|0;m=g+x[a+160>>2]|0;c=x[m+4>>2];x[f>>2]=x[m>>2];x[f+4>>2]=c;c=x[m+28>>2];x[f+24>>2]=x[m+24>>2];x[f+28>>2]=c;c=x[m+20>>2];x[f+16>>2]=x[m+16>>2];x[f+20>>2]=c;c=x[m+12>>2];x[f+8>>2]=x[m+8>>2];x[f+12>>2]=c;c=g|32;f=c+i|0;g=c+x[a+160>>2]|0;c=x[g+4>>2];x[f>>2]=x[g>>2];x[f+4>>2]=c;c=x[g+12>>2];x[f+8>>2]=x[g+8>>2];x[f+12>>2]=c;c=x[g+20>>2];x[f+16>>2]=x[g+16>>2];x[f+20>>2]=c;c=x[g+28>>2];x[f+24>>2]=x[g+24>>2];x[f+28>>2]=c;l=l+2|0;j=j+2|0;if((e|0)!=(j|0)){continue}break}}if(!(d&1)){break g}c=l<<5;f=c+i|0;d=c+x[a+160>>2]|0;c=x[d+4>>2];x[f>>2]=x[d>>2];x[f+4>>2]=c;c=x[d+28>>2];x[f+24>>2]=x[d+24>>2];x[f+28>>2]=c;c=x[d+20>>2];x[f+16>>2]=x[d+16>>2];x[f+20>>2]=c;c=x[d+12>>2];x[f+8>>2]=x[d+8>>2];x[f+12>>2]=c}c=x[a+160>>2];if(!(c?!c|!y[a+164|0]:1)){x[8457]=x[8457]+1;ia[x[8259]](c)}x[a+160>>2]=i;v[a+164|0]=1;x[a+156>>2]=h}x[a+152>>2]=h;if((h|0)>0){c=x[a+160>>2];d=x[b+128>>2];a=0;while(1){b=c+(a<<5)|0;w[b+6>>1]=z[d+14>>1];w[b+8>>1]=z[d+16>>1];w[b+10>>1]=z[d+18>>1];w[b>>1]=z[d+8>>1];w[b+2>>1]=z[d+10>>1];w[b+4>>1]=z[d+12>>1];x[b+12>>2]=x[d>>2];x[b+16>>2]=x[d+4>>2];d=d+20|0;a=a+1|0;if((h|0)!=(a|0)){continue}break}}}function _k(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;B[a+20>>2]=B[b+16>>2];B[a+24>>2]=B[b+20>>2];B[a+28>>2]=B[b+24>>2];B[a+32>>2]=B[b+28>>2];B[a+4>>2]=B[b>>2];B[a+8>>2]=B[b+4>>2];B[a+12>>2]=B[b+8>>2];B[a+16>>2]=B[b+12>>2];B[a+36>>2]=B[b+32>>2];B[a+40>>2]=B[b+36>>2];B[a+44>>2]=B[b+40>>2];B[a+48>>2]=B[b+44>>2];x[a+56>>2]=x[b+48>>2];v[a+60|0]=x[b+52>>2]!=0;f=x[a+88>>2];k=x[b+56>>2];a:{if((f|0)>=(k|0)){break a}if((k|0)>x[a+92>>2]){if(k){x[8456]=x[8456]+1;j=ia[x[8258]](k<<6,16)|0;c=x[a+88>>2]}else{c=f}b:{if((c|0)<=0){break b}if((c|0)!=1){m=c&-2;while(1){h=l<<6;g=h+j|0;i=h+x[a+96>>2]|0;e=x[i+4>>2];x[g>>2]=x[i>>2];x[g+4>>2]=e;e=x[i+60>>2];x[g+56>>2]=x[i+56>>2];x[g+60>>2]=e;e=x[i+52>>2];x[g+48>>2]=x[i+48>>2];x[g+52>>2]=e;e=x[i+44>>2];x[g+40>>2]=x[i+40>>2];x[g+44>>2]=e;e=x[i+36>>2];x[g+32>>2]=x[i+32>>2];x[g+36>>2]=e;e=x[i+28>>2];x[g+24>>2]=x[i+24>>2];x[g+28>>2]=e;e=x[i+20>>2];x[g+16>>2]=x[i+16>>2];x[g+20>>2]=e;e=x[i+12>>2];x[g+8>>2]=x[i+8>>2];x[g+12>>2]=e;e=h|64;g=e+j|0;h=e+x[a+96>>2]|0;e=x[h+4>>2];x[g>>2]=x[h>>2];x[g+4>>2]=e;e=x[h+12>>2];x[g+8>>2]=x[h+8>>2];x[g+12>>2]=e;e=x[h+20>>2];x[g+16>>2]=x[h+16>>2];x[g+20>>2]=e;e=x[h+28>>2];x[g+24>>2]=x[h+24>>2];x[g+28>>2]=e;e=x[h+36>>2];x[g+32>>2]=x[h+32>>2];x[g+36>>2]=e;e=x[h+44>>2];x[g+40>>2]=x[h+40>>2];x[g+44>>2]=e;e=x[h+52>>2];x[g+48>>2]=x[h+48>>2];x[g+52>>2]=e;e=x[h+60>>2];x[g+56>>2]=x[h+56>>2];x[g+60>>2]=e;l=l+2|0;d=d+2|0;if((m|0)!=(d|0)){continue}break}}if(!(c&1)){break b}c=l<<6;d=c+j|0;e=c+x[a+96>>2]|0;c=x[e+4>>2];x[d>>2]=x[e>>2];x[d+4>>2]=c;c=x[e+60>>2];x[d+56>>2]=x[e+56>>2];x[d+60>>2]=c;c=x[e+52>>2];x[d+48>>2]=x[e+48>>2];x[d+52>>2]=c;c=x[e+44>>2];x[d+40>>2]=x[e+40>>2];x[d+44>>2]=c;c=x[e+36>>2];x[d+32>>2]=x[e+32>>2];x[d+36>>2]=c;c=x[e+28>>2];x[d+24>>2]=x[e+24>>2];x[d+28>>2]=c;c=x[e+20>>2];x[d+16>>2]=x[e+16>>2];x[d+20>>2]=c;c=x[e+12>>2];x[d+8>>2]=x[e+8>>2];x[d+12>>2]=c}c=x[a+96>>2];if(!(c?!c|!y[a+100|0]:1)){x[8457]=x[8457]+1;ia[x[8259]](c)}x[a+96>>2]=j;v[a+100|0]=1;x[a+92>>2]=k}d=k+(f^-1)|0;c=k-f&3;if(c){j=0;while(1){e=x[a+96>>2]+(f<<6)|0;x[e>>2]=0;x[e+4>>2]=0;x[e+56>>2]=0;x[e+60>>2]=0;x[e+48>>2]=0;x[e+52>>2]=0;x[e+40>>2]=0;x[e+44>>2]=0;x[e+32>>2]=0;x[e+36>>2]=0;x[e+24>>2]=0;x[e+28>>2]=0;x[e+16>>2]=0;x[e+20>>2]=0;x[e+8>>2]=0;x[e+12>>2]=0;f=f+1|0;j=j+1|0;if((c|0)!=(j|0)){continue}break}}if(d>>>0<3){break a}while(1){d=f<<6;c=d+x[a+96>>2]|0;x[c>>2]=0;x[c+4>>2]=0;x[c+56>>2]=0;x[c+60>>2]=0;x[c+48>>2]=0;x[c+52>>2]=0;x[c+40>>2]=0;x[c+44>>2]=0;x[c+32>>2]=0;x[c+36>>2]=0;x[c+24>>2]=0;x[c+28>>2]=0;x[c+16>>2]=0;x[c+20>>2]=0;x[c+8>>2]=0;x[c+12>>2]=0;c=d+x[a+96>>2]|0;x[c+120>>2]=0;x[c+124>>2]=0;x[c+112>>2]=0;x[c+116>>2]=0;x[c+104>>2]=0;x[c+108>>2]=0;x[c+96>>2]=0;x[c+100>>2]=0;x[c+88>>2]=0;x[c+92>>2]=0;x[c+80>>2]=0;x[c+84>>2]=0;x[c+72>>2]=0;x[c+76>>2]=0;c=c- -64|0;x[c>>2]=0;x[c+4>>2]=0;c=d+x[a+96>>2]|0;x[c+184>>2]=0;x[c+188>>2]=0;x[c+176>>2]=0;x[c+180>>2]=0;x[c+168>>2]=0;x[c+172>>2]=0;x[c+160>>2]=0;x[c+164>>2]=0;x[c+152>>2]=0;x[c+156>>2]=0;x[c+144>>2]=0;x[c+148>>2]=0;x[c+136>>2]=0;x[c+140>>2]=0;x[c+128>>2]=0;x[c+132>>2]=0;c=d+x[a+96>>2]|0;x[c+248>>2]=0;x[c+252>>2]=0;x[c+240>>2]=0;x[c+244>>2]=0;x[c+232>>2]=0;x[c+236>>2]=0;x[c+224>>2]=0;x[c+228>>2]=0;x[c+216>>2]=0;x[c+220>>2]=0;x[c+208>>2]=0;x[c+212>>2]=0;x[c+200>>2]=0;x[c+204>>2]=0;x[c+192>>2]=0;x[c+196>>2]=0;f=f+4|0;if((k|0)!=(f|0)){continue}break}}x[a+88>>2]=k;if((k|0)>0){c=x[a+96>>2];d=x[b+64>>2];j=0;while(1){f=c+(j<<6)|0;B[f+16>>2]=B[d+16>>2];B[f+20>>2]=B[d+20>>2];B[f+24>>2]=B[d+24>>2];B[f+28>>2]=B[d+28>>2];B[f>>2]=B[d>>2];B[f+4>>2]=B[d+4>>2];B[f+8>>2]=B[d+8>>2];B[f+12>>2]=B[d+12>>2];x[f+32>>2]=x[d+32>>2];x[f+36>>2]=x[d+36>>2];x[f+40>>2]=x[d+40>>2];d=d+48|0;j=j+1|0;if((k|0)!=(j|0)){continue}break}}d=x[a+128>>2];n=x[b+60>>2];c:{if((d|0)>=(n|0)){break c}if((n|0)>x[a+132>>2]){d:{if(!n){l=0;c=d;break d}x[8456]=x[8456]+1;l=ia[x[8258]](n<<4,16)|0;c=x[a+128>>2]}e:{if((c|0)<=0){break e}f=0;if((c|0)!=1){m=c&-2;i=0;while(1){h=f<<4;g=h+l|0;k=h+x[a+136>>2]|0;e=x[k+4>>2];x[g>>2]=x[k>>2];x[g+4>>2]=e;e=x[k+12>>2];x[g+8>>2]=x[k+8>>2];x[g+12>>2]=e;e=h|16;g=e+l|0;h=e+x[a+136>>2]|0;e=x[h+4>>2];x[g>>2]=x[h>>2];x[g+4>>2]=e;e=x[h+12>>2];x[g+8>>2]=x[h+8>>2];x[g+12>>2]=e;f=f+2|0;i=i+2|0;if((m|0)!=(i|0)){continue}break}}if(!(c&1)){break e}c=f<<4;f=c+l|0;e=c+x[a+136>>2]|0;c=x[e+4>>2];x[f>>2]=x[e>>2];x[f+4>>2]=c;c=x[e+12>>2];x[f+8>>2]=x[e+8>>2];x[f+12>>2]=c}c=x[a+136>>2];if(!(c?!c|!y[a+140|0]:1)){x[8457]=x[8457]+1;ia[x[8259]](c)}x[a+136>>2]=l;v[a+140|0]=1;x[a+132>>2]=n}e=n+(d^-1)|0;c=n-d&3;if(c){f=0;while(1){g=x[a+136>>2]+(d<<4)|0;x[g>>2]=0;x[g+4>>2]=0;x[g+8>>2]=0;x[g+12>>2]=0;d=d+1|0;f=f+1|0;if((c|0)!=(f|0)){continue}break}}if(e>>>0<3){break c}while(1){f=d<<4;c=f+x[a+136>>2]|0;x[c>>2]=0;x[c+4>>2]=0;x[c+8>>2]=0;x[c+12>>2]=0;c=f+x[a+136>>2]|0;x[c+24>>2]=0;x[c+28>>2]=0;x[c+16>>2]=0;x[c+20>>2]=0;c=f+x[a+136>>2]|0;x[c+40>>2]=0;x[c+44>>2]=0;x[c+32>>2]=0;x[c+36>>2]=0;c=f+x[a+136>>2]|0;x[c+56>>2]=0;x[c+60>>2]=0;x[c+48>>2]=0;x[c+52>>2]=0;d=d+4|0;if((n|0)!=(d|0)){continue}break}}x[a+128>>2]=n;if((n|0)>0){c=x[a+136>>2];d=x[b+68>>2];j=0;while(1){f=c+(j<<4)|0;x[f+12>>2]=x[d+12>>2];w[f+6>>1]=z[d+6>>1];w[f+8>>1]=z[d+8>>1];w[f+10>>1]=z[d+10>>1];w[f>>1]=z[d>>1];w[f+2>>1]=z[d+2>>1];w[f+4>>1]=z[d+4>>1];d=d+16|0;j=j+1|0;if((n|0)!=(j|0)){continue}break}}x[a+144>>2]=x[b+76>>2];d=x[a+152>>2];h=x[b+80>>2];if(!((d|0)>=(h|0)|(h|0)<=x[a+156>>2])){f:{if(!h){i=0;break f}x[8456]=x[8456]+1;i=ia[x[8258]](h<<5,16)|0;d=x[a+152>>2]}g:{if((d|0)<=0){break g}l=0;if((d|0)!=1){e=d&-2;j=0;while(1){g=l<<5;f=g+i|0;m=g+x[a+160>>2]|0;c=x[m+4>>2];x[f>>2]=x[m>>2];x[f+4>>2]=c;c=x[m+28>>2];x[f+24>>2]=x[m+24>>2];x[f+28>>2]=c;c=x[m+20>>2];x[f+16>>2]=x[m+16>>2];x[f+20>>2]=c;c=x[m+12>>2];x[f+8>>2]=x[m+8>>2];x[f+12>>2]=c;c=g|32;f=c+i|0;g=c+x[a+160>>2]|0;c=x[g+4>>2];x[f>>2]=x[g>>2];x[f+4>>2]=c;c=x[g+12>>2];x[f+8>>2]=x[g+8>>2];x[f+12>>2]=c;c=x[g+20>>2];x[f+16>>2]=x[g+16>>2];x[f+20>>2]=c;c=x[g+28>>2];x[f+24>>2]=x[g+24>>2];x[f+28>>2]=c;l=l+2|0;j=j+2|0;if((e|0)!=(j|0)){continue}break}}if(!(d&1)){break g}c=l<<5;f=c+i|0;d=c+x[a+160>>2]|0;c=x[d+4>>2];x[f>>2]=x[d>>2];x[f+4>>2]=c;c=x[d+28>>2];x[f+24>>2]=x[d+24>>2];x[f+28>>2]=c;c=x[d+20>>2];x[f+16>>2]=x[d+16>>2];x[f+20>>2]=c;c=x[d+12>>2];x[f+8>>2]=x[d+8>>2];x[f+12>>2]=c}c=x[a+160>>2];if(!(c?!c|!y[a+164|0]:1)){x[8457]=x[8457]+1;ia[x[8259]](c)}x[a+160>>2]=i;v[a+164|0]=1;x[a+156>>2]=h}x[a+152>>2]=h;if((h|0)>0){c=x[a+160>>2];d=x[b+72>>2];a=0;while(1){b=c+(a<<5)|0;w[b+6>>1]=z[d+14>>1];w[b+8>>1]=z[d+16>>1];w[b+10>>1]=z[d+18>>1];w[b>>1]=z[d+8>>1];w[b+2>>1]=z[d+10>>1];w[b+4>>1]=z[d+12>>1];x[b+12>>2]=x[d>>2];x[b+16>>2]=x[d+4>>2];d=d+20|0;a=a+1|0;if((h|0)!=(a|0)){continue}break}}}function Nl(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=E(0),h=E(0),i=E(0),j=E(0),k=0,l=E(0),m=E(0),n=0,o=E(0),p=0,q=E(0),r=E(0),s=E(0),t=E(0),u=E(0),v=E(0),w=E(0),z=E(0),A=E(0),C=E(0),D=E(0),G=E(0),H=E(0),I=E(0),J=E(0),K=E(0),L=E(0),N=E(0),O=E(0),P=E(0),Q=E(0),R=E(0),S=E(0),T=E(0),U=E(0),V=E(0),W=0,X=E(0),Y=E(0),Z=E(0),_=E(0),$=E(0),aa=E(0),ba=E(0),ca=E(0),da=E(0),ea=E(0),fa=E(0),ha=E(0),ja=E(0),ka=0,la=0,ma=E(0),na=E(0),oa=0,pa=E(0);d=ga-48|0;ga=d;a:{if(!x[a+12>>2]){break a}n=y[a+16|0];k=n?c:b;f=x[k+12>>2];A=B[f+56>>2];C=B[f+52>>2];D=B[f+48>>2];p=n?b:c;n=x[p+12>>2];G=B[n+56>>2];fa=B[n+48>>2];H=B[n+52>>2];k=x[k+4>>2];w=B[f+32>>2];I=B[f+16>>2];J=B[f>>2];K=B[f+36>>2];m=B[f+20>>2];s=B[f+4>>2];h=B[n+40>>2];j=B[n+24>>2];g=B[n+8>>2];i=B[n+32>>2];o=B[n+16>>2];r=B[n>>2];t=B[n+36>>2];l=B[f+40>>2];u=B[n+20>>2];N=B[f+24>>2];z=B[n+4>>2];O=B[f+8>>2];n=x[p+4>>2];W=n- -64|0;P=B[W>>2];v=B[n+56>>2];Q=B[n+60>>2];x[d+28>>2]=0;Y=E(E(i*l)+E(E(r*O)+E(N*o)));v=E(-v);Z=E(E(t*l)+E(E(z*O)+E(N*u)));l=E(E(h*l)+E(E(g*O)+E(N*j)));B[d+24>>2]=E(E(Y*v)-E(Q*Z))-E(P*l);N=E(E(i*K)+E(E(r*s)+E(m*o)));O=E(E(t*K)+E(E(z*s)+E(m*u)));_=E(E(h*K)+E(E(g*s)+E(m*j)));B[d+20>>2]=E(E(N*v)-E(Q*O))-E(P*_);$=E(E(i*w)+E(E(r*J)+E(I*o)));q=Q;Q=E(E(t*w)+E(E(z*J)+E(I*u)));ha=P;P=E(E(h*w)+E(E(g*J)+E(I*j)));B[d+16>>2]=E(E($*v)-E(q*Q))-E(ha*P);ia[x[x[k>>2]+64>>2]](d+32|0,k,d+16|0);f=x[p+12>>2];v=B[f+48>>2];U=B[f+32>>2];V=B[f+16>>2];q=B[f+8>>2];S=B[f+4>>2];R=B[f>>2];T=B[f+56>>2];L=B[f+52>>2];X=B[f+40>>2];aa=B[f+36>>2];ja=B[f+24>>2];ba=B[f+20>>2];ca=B[n+72>>2];K=B[W>>2];m=B[n+56>>2];s=B[n+60>>2];w=B[d+40>>2];I=B[d+32>>2];J=B[d+36>>2];f=x[a+12>>2];da=B[f+848>>2];x[e+4>>2]=f;ea=E(E(A*h)+E(E(D*g)+E(C*j)));ha=g;g=E(-fa);l=E(E(ea+E(E(E(ha*g)-E(j*H))-E(h*G)))+E(E(w*l)+E(E(I*P)+E(_*J))));o=E(E(E(E(A*i)+E(E(D*r)+E(C*o)))+E(E(E(r*g)-E(o*H))-E(i*G)))+E(E(w*Y)+E(E(I*$)+E(N*J))));r=E(E(E(E(A*t)+E(E(D*z)+E(C*u)))+E(E(E(z*g)-E(u*H))-E(t*G)))+E(E(w*Z)+E(E(I*Q)+E(O*J))));h=E(E(E(K*l)+E(E(m*o)+E(s*r)))-ca);if(h>2];t=B[f+24>>2];u=B[f+20>>2];z=B[f+40>>2];A=B[f+36>>2];C=B[f+16>>2];D=B[f+32>>2];j=B[n+64>>2];G=B[f+8>>2];g=B[n+56>>2];H=B[f>>2];i=B[n+60>>2];w=B[f+4>>2];x[d+28>>2]=0;B[d+16>>2]=E(G*j)+E(E(H*g)+E(w*i));B[d+24>>2]=E(z*j)+E(E(D*g)+E(i*A));B[d+20>>2]=E(t*j)+E(E(C*g)+E(i*u));x[d+12>>2]=0;j=E(l-E(K*h));g=E(o-E(m*h));i=E(r-E(s*h));B[d+8>>2]=E(E(j*X)+E(E(g*U)+E(i*aa)))+T;B[d+4>>2]=E(E(j*ja)+E(E(g*V)+E(i*ba)))+L;B[d>>2]=E(E(j*q)+E(E(g*R)+E(S*i)))+v;ia[x[x[e>>2]+16>>2]](e,d+16|0,d,h)}b:{if(x[k+4>>2]>6|x[x[e+4>>2]+844>>2]>=x[a+24>>2]){break b}j=B[n+64>>2];c:{if(E(F(j))>E(.7071067690849304)){h=B[n+60>>2];g=E(E(1)/E(M(E(E(h*h)+E(j*j)))));h=E(h*g);j=E(g*E(-j));g=E(0);break c}h=B[n+56>>2];g=B[n+60>>2];i=E(E(1)/E(M(E(E(h*h)+E(g*g)))));j=E(h*i);h=E(0);g=E(i*E(-g))}W=0;i=E(ia[x[x[k>>2]+16>>2]](k));i=E(B[8265]/i);i=i>E(.39269909262657166)?E(.19634954631328583):E(i*E(.5));o=Ca(i);f=x[a+20>>2];N=Ba(i);if((f|0)<=0){break b}q=h;h=E(o/E(M(E(E(h*h)+E(E(g*g)+E(j*j))))));O=E(q*h);P=E(j*h);Q=E(g*h);while(1){j=B[n+60>>2];i=B[n+56>>2];h=B[n+64>>2];g=E(E(E(E(6.2831854820251465)/E(f|0))*E(W|0))*E(.5));o=E(Ca(g)/E(M(E(E(h*h)+E(E(i*i)+E(j*j))))));h=E(h*o);j=E(j*o);g=Ba(g);i=E(i*o);o=E(E(h*O)+E(E(j*P)+E(E(g*N)+E(Q*i))));r=E(E(h*P)+E(E(E(g*Q)-E(N*i))-E(j*O)));t=E(E(i*O)+E(E(E(g*P)-E(N*j))-E(h*Q)));u=E(E(j*Q)+E(E(E(g*O)-E(N*h))-E(i*P)));B[d+28>>2]=E(E(E(o*g)-E(i*r))-E(t*j))-E(u*h);B[d+24>>2]=E(E(r*j)+E(E(o*h)+E(g*u)))-E(t*i);B[d+20>>2]=E(E(u*i)+E(E(o*j)+E(g*t)))-E(r*h);B[d+16>>2]=E(E(t*h)+E(E(o*i)+E(g*r)))-E(u*j);f=ga-48|0;ga=f;p=y[a+16|0];ka=p?c:b;k=x[ka+12>>2];fa=B[k+56>>2];Y=B[k+52>>2];Z=B[k+48>>2];la=p?b:c;p=x[la+12>>2];_=B[p+56>>2];aa=B[p+48>>2];$=B[p+52>>2];ka=x[ka+4>>2];h=B[p+40>>2];j=B[p+8>>2];g=B[p+24>>2];i=B[p+32>>2];o=B[p>>2];r=B[p+16>>2];t=B[p+36>>2];A=B[k+40>>2];C=B[k+32>>2];D=B[k+36>>2];u=B[p+4>>2];G=B[k+8>>2];H=B[k>>2];w=B[k+4>>2];z=B[p+20>>2];I=B[k+24>>2];J=B[k+16>>2];K=B[k+20>>2];s=B[d+28>>2];v=B[d+24>>2];m=B[d+16>>2];l=B[d+20>>2];p=x[la+4>>2];oa=p- -64|0;U=B[oa>>2];ja=B[p+56>>2];V=B[p+60>>2];x[f+28>>2]=0;q=E(E(2)/E(E(s*s)+E(E(v*v)+E(E(m*m)+E(l*l)))));L=E(m*q);ba=E(m*L);S=E(l*q);ca=E(l*S);R=E(E(1)-E(ba+ca));q=E(v*q);da=E(m*q);ea=E(s*S);T=E(da+ea);ma=E(l*q);na=E(s*L);l=E(ma-na);L=E(E(A*R)+E(E(C*T)+E(D*l)));X=E(E(R*G)+E(E(T*H)+E(w*l)));l=E(E(R*I)+E(E(T*J)+E(K*l)));R=E(-ja);B[f+24>>2]=E(E(E(E(i*L)+E(E(o*X)+E(r*l)))*R)-E(V*E(E(t*L)+E(E(u*X)+E(z*l)))))-E(U*E(E(h*L)+E(E(j*X)+E(g*l))));l=E(ma+na);S=E(m*S);T=E(s*q);m=E(S-T);L=E(v*q);s=E(E(1)-E(ba+L));v=E(E(A*l)+E(E(C*m)+E(D*s)));q=E(E(l*G)+E(E(m*H)+E(w*s)));m=E(E(l*I)+E(E(m*J)+E(K*s)));B[f+20>>2]=E(E(E(E(i*v)+E(E(o*q)+E(r*m)))*R)-E(V*E(E(t*v)+E(E(u*q)+E(z*m)))))-E(U*E(E(h*v)+E(E(j*q)+E(g*m))));m=E(da-ea);s=E(E(1)-E(ca+L));l=E(S+T);v=E(E(A*m)+E(E(C*s)+E(D*l)));q=E(E(m*G)+E(E(s*H)+E(w*l)));m=E(E(m*I)+E(E(s*J)+E(K*l)));B[f+16>>2]=E(E(E(E(i*v)+E(E(o*q)+E(r*m)))*R)-E(V*E(E(t*v)+E(E(u*q)+E(z*m)))))-E(U*E(E(h*v)+E(E(j*q)+E(g*m))));ia[x[x[ka>>2]+64>>2]](f+32|0,ka,f+16|0);k=x[la+12>>2];S=B[k+48>>2];R=B[k+32>>2];T=B[k+16>>2];L=B[k+8>>2];X=B[k+4>>2];ja=B[k>>2];ba=B[k+56>>2];ca=B[k+52>>2];da=B[k+40>>2];ea=B[k+36>>2];ma=B[k+24>>2];na=B[k+20>>2];pa=B[p+72>>2];v=B[oa>>2];U=B[p+56>>2];V=B[p+60>>2];m=B[f+40>>2];s=B[f+32>>2];l=B[f+36>>2];k=x[a+12>>2];q=B[k+848>>2];x[e+4>>2]=k;ha=q;q=E(-aa);aa=E(E(E(E(fa*h)+E(E(Z*j)+E(Y*g)))+E(E(E(j*q)-E(g*$))-E(h*_)))+E(E(m*E(E(A*h)+E(E(G*j)+E(I*g))))+E(E(s*E(E(C*h)+E(E(H*j)+E(J*g))))+E(l*E(E(D*h)+E(E(w*j)+E(K*g)))))));o=E(E(E(E(fa*i)+E(E(Z*o)+E(Y*r)))+E(E(E(o*q)-E(r*$))-E(i*_)))+E(E(m*E(E(A*i)+E(E(G*o)+E(I*r))))+E(E(s*E(E(C*i)+E(E(H*o)+E(J*r))))+E(l*E(E(D*i)+E(E(w*o)+E(K*r)))))));r=E(E(E(E(fa*t)+E(E(Z*u)+E(Y*z)))+E(E(E(u*q)-E(z*$))-E(t*_)))+E(E(m*E(E(A*t)+E(E(G*u)+E(I*z))))+E(E(s*E(E(C*t)+E(E(H*u)+E(J*z))))+E(l*E(E(D*t)+E(E(w*u)+E(K*z)))))));h=E(E(E(v*aa)+E(E(U*o)+E(V*r)))-pa);if(ha>h){k=x[la+12>>2];t=B[k+24>>2];u=B[k+20>>2];z=B[k+40>>2];A=B[k+36>>2];C=B[k+16>>2];D=B[k+32>>2];j=B[p+64>>2];G=B[k+8>>2];g=B[p+56>>2];H=B[k>>2];i=B[p+60>>2];w=B[k+4>>2];x[f+28>>2]=0;B[f+16>>2]=E(G*j)+E(E(H*g)+E(w*i));B[f+24>>2]=E(z*j)+E(E(D*g)+E(i*A));B[f+20>>2]=E(t*j)+E(E(C*g)+E(i*u));x[f+12>>2]=0;j=E(aa-E(v*h));g=E(o-E(U*h));i=E(r-E(V*h));B[f+8>>2]=E(E(j*da)+E(E(g*R)+E(i*ea)))+ba;B[f+4>>2]=E(E(j*ma)+E(E(g*T)+E(i*na)))+ca;B[f>>2]=E(E(j*L)+E(E(g*ja)+E(X*i)))+S;ia[x[x[e>>2]+16>>2]](e,f+16|0,f,h)}ga=f+48|0;f=x[a+20>>2];W=W+1|0;if((f|0)>(W|0)){continue}break}}if(!y[a+8|0]|!x[x[a+12>>2]+844>>2]){break a}a=x[e+4>>2];if(!x[a+844>>2]){break a}c=x[a+836>>2];f=x[x[e+8>>2]+8>>2];b=(c|0)==(f|0);k=a;a=x[x[e+12>>2]+8>>2];Ja(k,(b?c:a)+4|0,(b?a:f)+4|0)}ga=d+48|0}function Ua(a,b,c){var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=E(0),l=0,m=E(0),n=E(0),o=0,p=E(0),q=E(0),r=E(0),s=E(0),t=E(0),u=E(0);g=ga-256|0;ga=g;h=x[b+212>>2];a:{if((h|0)>=0){break a}b:{h=x[b+252>>2];if(!(h&2)){break b}h=h<<30>>31&b;if(B[h+404>>2]==E(0)&!(y[h+204|0]&2)){break b}h=x[a+8>>2];ua(g+12|0,0,244);d=h;e=d;c:{if(x[a+12>>2]!=(d|0)){break c}l=d?d<<1:1;e=h;if((l|0)<=(d|0)){break c}if(l){x[8456]=x[8456]+1;i=ia[x[8258]](D(l,244),16)|0;d=x[a+8>>2]}else{d=h}if((d|0)>0){while(1){e=D(o,244);f=e+i|0;e=e+x[a+16>>2]|0;j=x[e+4>>2];x[f>>2]=x[e>>2];x[f+4>>2]=j;j=x[e+12>>2];x[f+8>>2]=x[e+8>>2];x[f+12>>2]=j;j=x[e+28>>2];x[f+24>>2]=x[e+24>>2];x[f+28>>2]=j;j=x[e+20>>2];x[f+16>>2]=x[e+16>>2];x[f+20>>2]=j;j=x[e+44>>2];x[f+40>>2]=x[e+40>>2];x[f+44>>2]=j;j=x[e+36>>2];x[f+32>>2]=x[e+32>>2];x[f+36>>2]=j;j=x[e+52>>2];x[f+48>>2]=x[e+48>>2];x[f+52>>2]=j;j=x[e+60>>2];x[f+56>>2]=x[e+56>>2];x[f+60>>2]=j;ya(f- -64|0,e- -64|0,180);o=o+1|0;if((d|0)!=(o|0)){continue}break}}d=x[a+16>>2];if(!(d?!d|!y[a+20|0]:1)){x[8457]=x[8457]+1;ia[x[8259]](d)}x[a+16>>2]=i;v[a+20|0]=1;x[a+12>>2]=l;e=x[a+8>>2]}x[a+8>>2]=e+1;e=D(h,244);d=e+x[a+16>>2]|0;x[d>>2]=0;x[d+4>>2]=0;x[d+8>>2]=0;x[d+12>>2]=0;f=x[g+40>>2];x[d+24>>2]=x[g+36>>2];x[d+28>>2]=f;f=x[g+32>>2];x[d+16>>2]=x[g+28>>2];x[d+20>>2]=f;f=x[g+48>>2];x[d+32>>2]=x[g+44>>2];x[d+36>>2]=f;f=x[g+56>>2];x[d+40>>2]=x[g+52>>2];x[d+44>>2]=f;f=x[g+64>>2];x[d+48>>2]=x[g+60>>2];x[d+52>>2]=f;f=x[g+72>>2];x[d+56>>2]=x[g+68>>2];x[d+60>>2]=f;ya(d- -64|0,g+76|0,180);d=e+x[a+16>>2]|0;a=b?x[b+252>>2]<<30>>31&b:0;x[d+64>>2]=0;x[d+68>>2]=0;x[d+144>>2]=0;x[d+148>>2]=0;x[d+88>>2]=0;x[d+92>>2]=0;x[d+80>>2]=0;x[d+84>>2]=0;x[d+72>>2]=0;x[d+76>>2]=0;x[d+152>>2]=0;x[d+156>>2]=0;x[d+160>>2]=0;x[d+164>>2]=0;x[d+168>>2]=0;x[d+172>>2]=0;d:{if(a){e=x[a+8>>2];x[d>>2]=x[a+4>>2];x[d+4>>2]=e;e=x[a+16>>2];x[d+8>>2]=x[a+12>>2];x[d+12>>2]=e;e=x[a+32>>2];x[d+24>>2]=x[a+28>>2];x[d+28>>2]=e;e=x[a+24>>2];x[d+16>>2]=x[a+20>>2];x[d+20>>2]=e;e=x[a+48>>2];x[d+40>>2]=x[a+44>>2];x[d+44>>2]=e;e=x[a+40>>2];x[d+32>>2]=x[a+36>>2];x[d+36>>2]=e;e=x[a+64>>2];x[d+56>>2]=x[a+60>>2];x[d+60>>2]=e;e=x[a+56>>2];x[d+48>>2]=x[a+52>>2];x[d+52>>2]=e;m=B[a+412>>2];n=B[a+416>>2];p=B[a+408>>2];k=B[a+404>>2];x[d+240>>2]=a;x[d+140>>2]=0;B[d+136>>2]=k*n;B[d+132>>2]=k*m;B[d+128>>2]=k*p;e=x[a+616>>2];x[d+104>>2]=x[a+612>>2];x[d+108>>2]=e;e=x[a+608>>2];x[d+96>>2]=x[a+604>>2];x[d+100>>2]=e;e=x[a+420>>2];x[d+120>>2]=x[a+416>>2];x[d+124>>2]=e;e=x[a+412>>2];x[d+112>>2]=x[a+408>>2];x[d+116>>2]=e;e=x[a+384>>2];x[d+184>>2]=x[a+380>>2];x[d+188>>2]=e;e=x[a+376>>2];x[d+176>>2]=x[a+372>>2];x[d+180>>2]=e;e=x[a+400>>2];x[d+200>>2]=x[a+396>>2];x[d+204>>2]=e;e=x[a+392>>2];x[d+192>>2]=x[a+388>>2];x[d+196>>2]=e;m=B[a+476>>2];n=B[a+480>>2];p=B[a+472>>2];k=B[a+404>>2];x[d+220>>2]=0;B[d+216>>2]=E(k*n)*c;B[d+212>>2]=E(k*m)*c;B[d+208>>2]=E(k*p)*c;p=B[a+332>>2];q=B[a+348>>2];r=B[a+364>>2];s=B[a+340>>2];t=B[a+356>>2];u=B[a+324>>2];k=B[a+496>>2];m=B[a+488>>2];n=B[a+492>>2];B[d+228>>2]=E(E(B[a+360>>2]*k)+E(E(B[a+328>>2]*m)+E(n*B[a+344>>2])))*c;B[d+224>>2]=E(E(t*k)+E(E(u*m)+E(s*n)))*c;c=E(E(E(r*k)+E(E(p*m)+E(n*q)))*c);break d}x[d+4>>2]=0;x[d+8>>2]=0;x[d>>2]=1065353216;x[d+240>>2]=0;x[d+128>>2]=0;x[d+132>>2]=0;x[d+112>>2]=1065353216;x[d+116>>2]=1065353216;x[d+96>>2]=1065353216;x[d+100>>2]=1065353216;x[d+176>>2]=0;x[d+180>>2]=0;x[d+12>>2]=0;x[d+16>>2]=0;x[d+24>>2]=0;x[d+28>>2]=0;x[d+20>>2]=1065353216;x[d+32>>2]=0;x[d+36>>2]=0;x[d+44>>2]=0;x[d+48>>2]=0;x[d+40>>2]=1065353216;x[d+52>>2]=0;x[d+56>>2]=0;x[d+60>>2]=0;x[d+136>>2]=0;x[d+140>>2]=0;x[d+120>>2]=1065353216;x[d+124>>2]=0;x[d+104>>2]=1065353216;x[d+108>>2]=0;x[d+224>>2]=0;x[d+228>>2]=0;x[d+216>>2]=0;x[d+220>>2]=0;x[d+208>>2]=0;x[d+212>>2]=0;x[d+200>>2]=0;x[d+204>>2]=0;x[d+192>>2]=0;x[d+196>>2]=0;x[d+184>>2]=0;x[d+188>>2]=0;c=E(0)}x[d+236>>2]=0;B[d+232>>2]=c;x[b+212>>2]=h;break a}h=x[a+188>>2];if((h|0)>=0){break a}b=x[a+8>>2];x[a+188>>2]=b;ua(g+12|0,0,244);d=b;e:{if((b|0)!=x[a+12>>2]){break e}l=b?b<<1:1;d=b;if((l|0)<=(b|0)){break e}if(l){x[8456]=x[8456]+1;o=ia[x[8258]](D(l,244),16)|0;d=x[a+8>>2]}else{d=b}if((d|0)>0){h=0;while(1){e=D(h,244);f=e+o|0;e=e+x[a+16>>2]|0;i=x[e+4>>2];x[f>>2]=x[e>>2];x[f+4>>2]=i;i=x[e+12>>2];x[f+8>>2]=x[e+8>>2];x[f+12>>2]=i;i=x[e+28>>2];x[f+24>>2]=x[e+24>>2];x[f+28>>2]=i;i=x[e+20>>2];x[f+16>>2]=x[e+16>>2];x[f+20>>2]=i;i=x[e+44>>2];x[f+40>>2]=x[e+40>>2];x[f+44>>2]=i;i=x[e+36>>2];x[f+32>>2]=x[e+32>>2];x[f+36>>2]=i;i=x[e+52>>2];x[f+48>>2]=x[e+48>>2];x[f+52>>2]=i;i=x[e+60>>2];x[f+56>>2]=x[e+56>>2];x[f+60>>2]=i;ya(f- -64|0,e- -64|0,180);h=h+1|0;if((d|0)!=(h|0)){continue}break}}h=x[a+16>>2];if(!(h?!h|!y[a+20|0]:1)){x[8457]=x[8457]+1;ia[x[8259]](h)}x[a+16>>2]=o;v[a+20|0]=1;x[a+12>>2]=l;d=x[a+8>>2]}x[a+8>>2]=d+1;h=D(b,244);b=h+x[a+16>>2]|0;x[b>>2]=0;x[b+4>>2]=0;x[b+8>>2]=0;x[b+12>>2]=0;d=x[g+40>>2];x[b+24>>2]=x[g+36>>2];x[b+28>>2]=d;d=x[g+32>>2];x[b+16>>2]=x[g+28>>2];x[b+20>>2]=d;d=x[g+48>>2];x[b+32>>2]=x[g+44>>2];x[b+36>>2]=d;d=x[g+56>>2];x[b+40>>2]=x[g+52>>2];x[b+44>>2]=d;d=x[g+64>>2];x[b+48>>2]=x[g+60>>2];x[b+52>>2]=d;d=x[g+72>>2];x[b+56>>2]=x[g+68>>2];x[b+60>>2]=d;ya(b- -64|0,g+76|0,180);b=h+x[a+16>>2]|0;x[b+64>>2]=0;x[b+68>>2]=0;x[b+144>>2]=0;x[b+148>>2]=0;x[b+4>>2]=0;x[b+8>>2]=0;x[b>>2]=1065353216;x[b+88>>2]=0;x[b+92>>2]=0;x[b+80>>2]=0;x[b+84>>2]=0;x[b+72>>2]=0;x[b+76>>2]=0;x[b+152>>2]=0;x[b+156>>2]=0;x[b+160>>2]=0;x[b+164>>2]=0;x[b+168>>2]=0;x[b+172>>2]=0;x[b+12>>2]=0;x[b+16>>2]=0;x[b+24>>2]=0;x[b+28>>2]=0;x[b+20>>2]=1065353216;x[b+32>>2]=0;x[b+36>>2]=0;x[b+44>>2]=0;x[b+48>>2]=0;x[b+40>>2]=1065353216;x[b+52>>2]=0;x[b+56>>2]=0;x[b+60>>2]=0;x[b+136>>2]=0;x[b+140>>2]=0;x[b+240>>2]=0;x[b+128>>2]=0;x[b+132>>2]=0;x[b+120>>2]=1065353216;x[b+124>>2]=0;x[b+112>>2]=1065353216;x[b+116>>2]=1065353216;x[b+104>>2]=1065353216;x[b+108>>2]=0;x[b+96>>2]=1065353216;x[b+100>>2]=1065353216;x[b+232>>2]=0;x[b+236>>2]=0;x[b+224>>2]=0;x[b+228>>2]=0;x[b+216>>2]=0;x[b+220>>2]=0;x[b+208>>2]=0;x[b+212>>2]=0;x[b+200>>2]=0;x[b+204>>2]=0;x[b+192>>2]=0;x[b+196>>2]=0;x[b+184>>2]=0;x[b+188>>2]=0;x[b+176>>2]=0;x[b+180>>2]=0;h=x[a+188>>2]}ga=g+256|0;return h}function po(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=E(0),h=E(0),i=E(0),j=E(0),k=E(0),l=E(0),m=E(0),n=E(0),o=E(0),p=E(0),q=E(0),r=E(0),s=E(0),t=E(0),u=E(0),v=0;f=ga-32|0;ga=f;o=B[d+52>>2];i=B[d+24>>2];j=B[d+20>>2];p=B[d+56>>2];k=B[d+40>>2];q=B[d+36>>2];r=B[d+16>>2];s=B[d+32>>2];t=B[d+48>>2];l=B[d+8>>2];g=B[b+8>>2];u=B[d>>2];h=B[b>>2];n=B[d+4>>2];m=B[b+4>>2];x[f+28>>2]=0;l=E(g*l);n=E(m*n);B[f+16>>2]=t+E(l+E(E(h*u)+n));k=E(g*k);q=E(m*q);B[f+24>>2]=p+E(k+E(E(h*s)+q));i=E(g*i);g=E(h*r);h=E(m*j);B[f+20>>2]=o+E(i+E(g+h));g=B[c>>2];x[f+12>>2]=0;B[f+8>>2]=p+E(k+E(E(g*s)+q));B[f+4>>2]=o+E(i+E(E(g*r)+h));B[f>>2]=t+E(l+E(E(g*u)+n));v=f+16|0;ia[x[x[a>>2]+16>>2]](a,v,f,e);o=B[d+52>>2];i=B[d+24>>2];p=B[d+20>>2];r=B[d+56>>2];j=B[d+40>>2];s=B[d+36>>2];t=B[d+48>>2];k=B[d+8>>2];q=B[d>>2];u=B[d+4>>2];l=B[d+16>>2];g=B[b+8>>2];n=B[d+32>>2];h=B[c>>2];m=B[b+4>>2];x[f+28>>2]=0;j=E(g*j);n=E(h*n);B[f+24>>2]=r+E(j+E(n+E(m*s)));i=E(g*i);l=E(h*l);B[f+20>>2]=o+E(i+E(l+E(m*p)));k=E(g*k);h=E(h*q);B[f+16>>2]=t+E(k+E(h+E(m*u)));g=B[c+4>>2];x[f+12>>2]=0;B[f+8>>2]=r+E(j+E(n+E(s*g)));B[f+4>>2]=o+E(i+E(l+E(p*g)));B[f>>2]=t+E(k+E(h+E(u*g)));ia[x[x[a>>2]+16>>2]](a,v,f,e);o=B[d+52>>2];i=B[d+24>>2];j=B[d+20>>2];p=B[d+56>>2];k=B[d+40>>2];q=B[d+36>>2];r=B[d+48>>2];l=B[d+8>>2];s=B[d>>2];n=B[d+4>>2];t=B[d+16>>2];g=B[b+8>>2];u=B[d+32>>2];h=B[c>>2];m=B[c+4>>2];x[f+28>>2]=0;k=E(g*k);q=E(m*q);B[f+24>>2]=p+E(k+E(E(h*u)+q));i=E(g*i);j=E(m*j);B[f+20>>2]=o+E(i+E(E(h*t)+j));l=E(g*l);g=E(h*s);h=E(m*n);B[f+16>>2]=r+E(l+E(g+h));g=B[b>>2];x[f+12>>2]=0;B[f+8>>2]=p+E(k+E(E(g*u)+q));B[f+4>>2]=o+E(i+E(E(g*t)+j));B[f>>2]=r+E(l+E(E(g*s)+h));ia[x[x[a>>2]+16>>2]](a,v,f,e);o=B[d+52>>2];i=B[d+24>>2];p=B[d+20>>2];r=B[d+56>>2];j=B[d+40>>2];s=B[d+36>>2];t=B[d+48>>2];k=B[d+8>>2];q=B[d>>2];u=B[d+4>>2];l=B[d+16>>2];g=B[b+8>>2];n=B[d+32>>2];h=B[b>>2];m=B[c+4>>2];x[f+28>>2]=0;j=E(g*j);n=E(h*n);B[f+24>>2]=r+E(j+E(n+E(m*s)));i=E(g*i);l=E(h*l);B[f+20>>2]=o+E(i+E(l+E(m*p)));k=E(g*k);h=E(h*q);B[f+16>>2]=t+E(k+E(h+E(m*u)));g=B[b+4>>2];x[f+12>>2]=0;B[f+8>>2]=r+E(j+E(n+E(s*g)));B[f+4>>2]=o+E(i+E(l+E(p*g)));B[f>>2]=t+E(k+E(h+E(u*g)));ia[x[x[a>>2]+16>>2]](a,v,f,e);o=B[d+52>>2];p=B[d+24>>2];i=B[d+20>>2];r=B[d+56>>2];s=B[d+40>>2];j=B[d+36>>2];t=B[d+48>>2];u=B[d+8>>2];k=B[d>>2];q=B[d+4>>2];l=B[d+16>>2];g=B[b+8>>2];n=B[d+32>>2];h=B[b>>2];m=B[b+4>>2];x[f+28>>2]=0;j=E(E(h*n)+E(m*j));B[f+24>>2]=r+E(E(g*s)+j);i=E(E(h*l)+E(m*i));B[f+20>>2]=o+E(E(g*p)+i);h=E(E(h*k)+E(m*q));B[f+16>>2]=t+E(E(g*u)+h);g=B[c+8>>2];x[f+12>>2]=0;B[f+8>>2]=r+E(E(g*s)+j);B[f+4>>2]=o+E(E(g*p)+i);B[f>>2]=t+E(E(g*u)+h);ia[x[x[a>>2]+16>>2]](a,v,f,e);o=B[d+52>>2];p=B[d+24>>2];i=B[d+20>>2];r=B[d+56>>2];s=B[d+40>>2];j=B[d+36>>2];t=B[d+48>>2];u=B[d+8>>2];k=B[d>>2];q=B[d+4>>2];l=B[d+16>>2];g=B[b+8>>2];n=B[d+32>>2];h=B[c>>2];m=B[b+4>>2];x[f+28>>2]=0;j=E(E(h*n)+E(m*j));B[f+24>>2]=r+E(E(g*s)+j);i=E(E(h*l)+E(m*i));B[f+20>>2]=o+E(E(g*p)+i);h=E(E(h*k)+E(m*q));B[f+16>>2]=t+E(E(g*u)+h);g=B[c+8>>2];x[f+12>>2]=0;B[f+8>>2]=r+E(E(g*s)+j);B[f+4>>2]=o+E(E(g*p)+i);B[f>>2]=t+E(E(g*u)+h);ia[x[x[a>>2]+16>>2]](a,v,f,e);o=B[d+52>>2];p=B[d+24>>2];i=B[d+20>>2];r=B[d+56>>2];s=B[d+40>>2];j=B[d+36>>2];t=B[d+48>>2];u=B[d+8>>2];k=B[d>>2];q=B[d+4>>2];l=B[d+16>>2];g=B[b+8>>2];n=B[d+32>>2];h=B[c>>2];m=B[c+4>>2];x[f+28>>2]=0;j=E(E(h*n)+E(m*j));B[f+24>>2]=r+E(E(g*s)+j);i=E(E(h*l)+E(m*i));B[f+20>>2]=o+E(E(g*p)+i);h=E(E(h*k)+E(m*q));B[f+16>>2]=t+E(E(g*u)+h);g=B[c+8>>2];x[f+12>>2]=0;B[f+8>>2]=r+E(E(g*s)+j);B[f+4>>2]=o+E(E(g*p)+i);B[f>>2]=t+E(E(g*u)+h);ia[x[x[a>>2]+16>>2]](a,v,f,e);o=B[d+52>>2];p=B[d+24>>2];i=B[d+20>>2];r=B[d+56>>2];s=B[d+40>>2];j=B[d+36>>2];t=B[d+48>>2];u=B[d+8>>2];k=B[d>>2];q=B[d+4>>2];l=B[d+16>>2];g=B[b+8>>2];n=B[d+32>>2];h=B[b>>2];m=B[c+4>>2];x[f+28>>2]=0;j=E(E(h*n)+E(m*j));B[f+24>>2]=r+E(E(g*s)+j);i=E(E(h*l)+E(m*i));B[f+20>>2]=o+E(E(g*p)+i);h=E(E(h*k)+E(m*q));B[f+16>>2]=t+E(E(g*u)+h);g=B[c+8>>2];x[f+12>>2]=0;B[f+8>>2]=r+E(E(g*s)+j);B[f+4>>2]=o+E(E(g*p)+i);B[f>>2]=t+E(E(g*u)+h);ia[x[x[a>>2]+16>>2]](a,v,f,e);o=B[d+52>>2];i=B[d+24>>2];j=B[d+20>>2];p=B[d+56>>2];k=B[d+40>>2];q=B[d+36>>2];r=B[d+48>>2];l=B[d+8>>2];s=B[d>>2];n=B[d+4>>2];t=B[d+16>>2];g=B[c+8>>2];u=B[d+32>>2];h=B[b>>2];m=B[b+4>>2];x[f+28>>2]=0;k=E(g*k);q=E(m*q);B[f+24>>2]=p+E(k+E(E(h*u)+q));i=E(g*i);j=E(m*j);B[f+20>>2]=o+E(i+E(E(h*t)+j));l=E(g*l);g=E(h*s);h=E(m*n);B[f+16>>2]=r+E(l+E(g+h));g=B[c>>2];x[f+12>>2]=0;B[f+8>>2]=p+E(k+E(E(g*u)+q));B[f+4>>2]=o+E(i+E(E(g*t)+j));B[f>>2]=r+E(l+E(E(g*s)+h));ia[x[x[a>>2]+16>>2]](a,v,f,e);o=B[d+52>>2];i=B[d+24>>2];p=B[d+20>>2];r=B[d+56>>2];j=B[d+40>>2];s=B[d+36>>2];t=B[d+48>>2];k=B[d+8>>2];q=B[d>>2];u=B[d+4>>2];l=B[d+16>>2];g=B[c+8>>2];n=B[d+32>>2];h=B[c>>2];m=B[b+4>>2];x[f+28>>2]=0;j=E(g*j);n=E(h*n);B[f+24>>2]=r+E(j+E(n+E(m*s)));i=E(g*i);l=E(h*l);B[f+20>>2]=o+E(i+E(l+E(m*p)));k=E(g*k);h=E(h*q);B[f+16>>2]=t+E(k+E(h+E(m*u)));g=B[c+4>>2];x[f+12>>2]=0;B[f+8>>2]=r+E(j+E(n+E(s*g)));B[f+4>>2]=o+E(i+E(l+E(p*g)));B[f>>2]=t+E(k+E(h+E(u*g)));ia[x[x[a>>2]+16>>2]](a,v,f,e);o=B[d+52>>2];i=B[d+24>>2];j=B[d+20>>2];p=B[d+56>>2];k=B[d+40>>2];q=B[d+36>>2];r=B[d+48>>2];l=B[d+8>>2];s=B[d>>2];n=B[d+4>>2];t=B[d+16>>2];g=B[c+8>>2];u=B[d+32>>2];h=B[c>>2];m=B[c+4>>2];x[f+28>>2]=0;k=E(g*k);q=E(m*q);B[f+24>>2]=p+E(k+E(E(h*u)+q));i=E(g*i);j=E(m*j);B[f+20>>2]=o+E(i+E(E(h*t)+j));l=E(g*l);g=E(h*s);h=E(m*n);B[f+16>>2]=r+E(l+E(g+h));g=B[b>>2];x[f+12>>2]=0;B[f+8>>2]=p+E(k+E(E(g*u)+q));B[f+4>>2]=o+E(i+E(E(g*t)+j));B[f>>2]=r+E(l+E(E(g*s)+h));ia[x[x[a>>2]+16>>2]](a,v,f,e);o=B[d+52>>2];i=B[d+24>>2];p=B[d+20>>2];r=B[d+56>>2];j=B[d+40>>2];s=B[d+36>>2];t=B[d+48>>2];k=B[d+8>>2];q=B[d>>2];u=B[d+4>>2];l=B[d+16>>2];g=B[c+8>>2];n=B[d+32>>2];h=B[b>>2];m=B[c+4>>2];x[f+28>>2]=0;j=E(g*j);n=E(h*n);B[f+24>>2]=r+E(j+E(n+E(m*s)));i=E(g*i);l=E(h*l);B[f+20>>2]=o+E(i+E(l+E(m*p)));k=E(g*k);h=E(h*q);B[f+16>>2]=t+E(k+E(h+E(m*u)));g=B[b+4>>2];x[f+12>>2]=0;B[f+8>>2]=r+E(j+E(n+E(s*g)));B[f+4>>2]=o+E(i+E(l+E(p*g)));B[f>>2]=t+E(k+E(h+E(u*g)));ia[x[x[a>>2]+16>>2]](a,v,f,e);ga=f+32|0}function _b(a,b,c,d){var e=0,f=0,g=E(0),h=E(0),i=E(0),j=0,k=E(0),l=E(0),m=0,n=E(0),o=E(0),p=E(0),q=E(0),r=0,s=E(0),t=E(0),u=E(0),w=E(0),z=E(0),A=E(0),C=E(0),D=E(0),F=E(0),G=E(0),H=E(0),I=E(0),J=E(0),K=E(0),L=E(0),N=E(0),O=E(0);e=ga-144|0;ga=e;g=B[b+8>>2];i=B[b>>2];h=B[b+4>>2];a:{if(E(E(g*g)+E(E(i*i)+E(h*h)))>2];j=x[f+64>>2];x[e+136>>2]=x[f+60>>2];x[e+140>>2]=j;j=x[f+56>>2];x[e+128>>2]=x[f+52>>2];x[e+132>>2]=j;j=x[f+64>>2];x[e+120>>2]=x[f+60>>2];x[e+124>>2]=j;j=x[f+56>>2];f=x[f+52>>2];D=E(g+B[e+120>>2]);B[e+120>>2]=D;x[e+112>>2]=f;x[e+116>>2]=j;F=E(i+B[e+112>>2]);B[e+112>>2]=F;G=E(h+B[e+116>>2]);B[e+116>>2]=G;b:{c:{if(!d){f=0;break c}f=0;H=B[e+136>>2];g=E(D-H);I=B[e+128>>2];i=E(F-I);J=B[e+132>>2];h=E(G-J);l=E(M(E(E(g*g)+E(E(i*i)+E(h*h)))));if(l<=c){break c}while(1){n=g;g=E(E(1)/l);n=E(n*g);u=E(i*g);w=E(h*g);if(E(E(n*B[b+8>>2])+E(E(u*B[b>>2])+E(w*B[b+4>>2])))<=E(0)){break c}B[e+100>>2]=l+B[a+36>>2];k=E(0);i=E(0);f=ga-224|0;ga=f;m=x[(y[a+108|0]?104:8)+a>>2];j=v[33900]&1;d:{if(j){j=!j;h=B[8474];k=B[8473];i=B[8472];g=B[8471];break d}x[8473]=0;x[8474]=1065353216;x[8471]=0;x[8472]=0;v[33900]=1;h=E(1);j=0;g=E(0)}z=B[e+100>>2];x[f+204>>2]=0;x[f+188>>2]=0;p=E(E(2)/E(E(h*h)+E(E(k*k)+E(E(g*g)+E(i*i)))));q=E(k*p);o=E(i*q);A=E(g*p);t=E(h*A);B[f+196>>2]=o+t;B[f+184>>2]=o-t;o=E(g*A);p=E(i*p);A=E(i*p);B[f+200>>2]=E(1)-E(o+A);s=o;o=E(k*q);B[f+180>>2]=E(1)-E(s+o);x[f+172>>2]=0;t=E(g*q);C=E(h*p);B[f+192>>2]=t-C;p=E(g*p);q=E(h*q);B[f+176>>2]=p+q;B[f+168>>2]=t+C;B[f+164>>2]=p-q;B[f+160>>2]=E(1)-E(A+o);r=x[e+140>>2];x[f+216>>2]=x[e+136>>2];x[f+220>>2]=r;r=x[e+132>>2];x[f+208>>2]=x[e+128>>2];x[f+212>>2]=r;if(j){x[8473]=0;x[8474]=1065353216;x[8471]=0;x[8472]=0;v[33900]=1;k=E(0);h=E(1);i=E(0);g=E(0)}p=B[e+136>>2];C=B[e+120>>2];o=B[e+128>>2];K=B[e+112>>2];A=B[e+132>>2];O=B[e+116>>2];x[f+156>>2]=0;x[f+140>>2]=0;x[f+124>>2]=0;t=E(E(2)/E(E(h*h)+E(E(k*k)+E(E(g*g)+E(i*i)))));q=E(k*t);s=E(i*q);L=E(g*t);N=E(h*L);B[f+132>>2]=s+N;B[f+120>>2]=s-N;s=E(g*L);t=E(i*t);L=E(i*t);B[f+136>>2]=E(1)-E(s+L);i=s;s=E(k*q);B[f+116>>2]=E(1)-E(i+s);k=E(C-p);C=E(K-o);K=E(O-A);i=E(E(1)/E(M(E(E(k*k)+E(E(C*C)+E(K*K))))));B[f+152>>2]=p+E(z*E(k*i));B[f+148>>2]=A+E(z*E(K*i));x[f+108>>2]=0;k=E(g*q);p=E(h*t);B[f+128>>2]=k-p;g=E(g*t);h=E(h*q);B[f+112>>2]=g+h;B[f+104>>2]=k+p;B[f+100>>2]=g-h;B[f+96>>2]=E(1)-E(L+s);B[f+144>>2]=o+E(z*E(C*i));j=x[a+4>>2];x[f+20>>2]=0;x[f+8>>2]=1065353216;r=x[e+140>>2];x[f+32>>2]=x[e+136>>2];x[f+36>>2]=r;r=x[e+132>>2];x[f+24>>2]=x[e+128>>2];x[f+28>>2]=r;r=x[e+124>>2];x[f+48>>2]=x[e+120>>2];x[f+52>>2]=r;r=x[e+116>>2];x[f+40>>2]=x[e+112>>2];x[f+44>>2]=r;x[f+92>>2]=j;x[f+88>>2]=0;x[f+4>>2]=25460;j=x[j+188>>2];x[f+12>>2]=x[j+4>>2];x[f+16>>2]=x[j+8>>2];j=x[a+12>>2];kb(j,m,f+160|0,f+96|0,f+4|0,B[j+56>>2]);j=x[f+20>>2];if(j){g=B[f+8>>2];m=x[f+76>>2];x[e+68>>2]=x[f+72>>2];x[e+72>>2]=m;m=x[f+84>>2];x[e+76>>2]=x[f+80>>2];x[e+80>>2]=m;m=f- -64|0;r=x[m+4>>2];x[e+92>>2]=x[m>>2];x[e+96>>2]=r;m=x[f+60>>2];r=x[f+56>>2];x[e+104>>2]=j;B[e+100>>2]=z*g;x[e+84>>2]=r;x[e+88>>2]=m;x[e+108>>2]=x[f+88>>2]}ga=f+224|0;if(!j){b=x[e+124>>2];x[e+136>>2]=x[e+120>>2];x[e+140>>2]=b;b=x[e+116>>2];x[e+128>>2]=x[e+112>>2];x[e+132>>2]=b;f=0;break c}f=x[a+20>>2];e:{if(!f){break e}j=x[e+104>>2];m=x[j+252>>2];if(m&2){x[e+64>>2]=j;j=x[e+108>>2];x[e+60>>2]=j;x[e+4>>2]=a;m=x[e+96>>2];x[e+32>>2]=x[e+92>>2];x[e+36>>2]=m;m=x[e+88>>2];x[e+24>>2]=x[e+84>>2];x[e+28>>2]=m;m=x[e+80>>2];x[e+16>>2]=x[e+76>>2];x[e+20>>2]=m;m=x[e+72>>2];x[e+8>>2]=x[e+68>>2];x[e+12>>2]=m;B[e+56>>2]=l;x[e+52>>2]=0;B[e+48>>2]=n;B[e+44>>2]=w;B[e+40>>2]=u;if(!j){break e}ia[x[x[f>>2]>>2]](f,e+4|0);break e}if(!(m&4)){break e}j=x[j+256>>2];if(!j){break e}x[e+60>>2]=j;x[e+4>>2]=a;j=x[e+96>>2];x[e+32>>2]=x[e+92>>2];x[e+36>>2]=j;j=x[e+88>>2];x[e+24>>2]=x[e+84>>2];x[e+28>>2]=j;j=x[e+80>>2];x[e+16>>2]=x[e+76>>2];x[e+20>>2]=j;j=x[e+72>>2];x[e+8>>2]=x[e+68>>2];x[e+12>>2]=j;B[e+56>>2]=l;x[e+52>>2]=0;B[e+48>>2]=n;B[e+44>>2]=w;B[e+40>>2]=u;ia[x[x[f>>2]+4>>2]](f,e+4|0)}g=B[e+100>>2];if(!(!y[a+63|0]|g!=E(0))){Qa(a);Qa(a);Qa(a);Qa(a);break b}g=E(g-B[a+36>>2]);if(g>E(0)){H=E(H+E(n*g));B[e+136>>2]=H;J=E(J+E(w*g));B[e+132>>2]=J;I=E(I+E(u*g));B[e+128>>2]=I}h=B[a+48>>2];k=B[a+40>>2];z=B[a+44>>2];B[a+68>>2]=E(B[e+76>>2]*h)+E(E(B[e+68>>2]*k)+E(B[e+72>>2]*z));f=x[e+80>>2];x[a+96>>2]=x[e+76>>2];x[a+100>>2]=f;f=x[e+72>>2];x[a+88>>2]=x[e+68>>2];x[a+92>>2]=f;f=x[e+96>>2];x[a+80>>2]=x[e+92>>2];x[a+84>>2]=f;f=x[e+88>>2];x[a+72>>2]=x[e+84>>2];x[a+76>>2]=f;l=B[a+76>>2];g=B[a+72>>2];f:{if(!y[a+61|0]){i=B[a+80>>2];break f}q=B[a+80>>2];i=E(E(q*h)+E(E(g*k)+E(z*l)));h=E(q-E(h*i));g=E(g-E(k*i));l=E(l-E(z*i));i=E(E(h*h)+E(E(g*g)+E(l*l)));if(i>2]=0;o=h;h=E(E(1)/E(M(i)));i=E(o*h);B[a+80>>2]=i;l=E(l*h);B[a+76>>2]=l;g=E(g*h);B[a+72>>2]=g}f=x[e+140>>2];x[e+120>>2]=x[e+136>>2];x[e+124>>2]=f;h=E(D-H);o=E(h*h);h=E(F-I);s=E(h*h);h=E(G-J);h=E(M(E(o+E(s+E(h*h)))));k=E(E(n*i)+E(E(u*g)+E(w*l)));n=E(n-E(E(i+i)*k));o=n;s=E(n*n);n=E(u-E(E(g+g)*k));k=E(w-E(E(l+l)*k));u=E(E(1)/E(M(E(s+E(E(n*n)+E(k*k))))));w=E(o*u);o=i;n=E(n*u);k=E(k*u);i=E(E(w*i)+E(E(n*g)+E(l*k)));D=E(B[e+120>>2]+E(h*E(w-E(o*i))));B[e+120>>2]=D;f=x[e+132>>2];x[e+112>>2]=x[e+128>>2];x[e+116>>2]=f;F=E(B[e+112>>2]+E(h*E(n-E(g*i))));B[e+112>>2]=F;G=E(B[e+116>>2]+E(h*E(k-E(l*i))));B[e+116>>2]=G;d=d-1|0;if(d){f=1;g=E(D-H);i=E(F-I);h=E(G-J);l=E(M(E(E(g*g)+E(E(i*i)+E(h*h)))));if(l<=c){break c}continue}break}f=1}b=x[e+140>>2];a=x[a+4>>2];x[a+60>>2]=x[e+136>>2];x[a+64>>2]=b;b=x[e+132>>2];x[a+52>>2]=x[e+128>>2];x[a+56>>2]=b;break a}f=1}ga=e+144|0;return f}function Ma(a){var b=0,c=0,d=0,e=E(0),f=0,g=0,h=E(0),i=E(0),j=E(0),k=E(0),l=0,m=E(0),n=E(0),o=E(0),p=E(0),q=E(0),r=E(0),s=0;d=ga-32|0;ga=d;a:{b:{c:{d:{e:{f:{b=x[a+372>>2];switch(x[b+32>>2]-1|0){case 3:break c;case 2:break d;case 1:break e;case 0:break f;default:break b}}b=x[a+364>>2];c=x[a+372>>2];g=x[c+32>>2];f=(g<<2)+c|0;x[f+16>>2]=0;b=b-1|0;x[a+364>>2]=b;b=x[((b<<2)+a|0)+348>>2];x[f>>2]=b;x[c+32>>2]=g+1;x[b+8>>2]=0;x[b+12>>2]=0;x[b>>2]=1065353216;x[b+4>>2]=0;Ga(d+16|0,a,b);c=x[d+28>>2];x[b+24>>2]=x[d+24>>2];x[b+28>>2]=c;c=x[d+20>>2];x[b+16>>2]=x[d+16>>2];x[b+20>>2]=c;c=1;if(Ma(a)){break a}b=x[a+372>>2];c=x[b+32>>2]-1|0;x[b+32>>2]=c;b=x[b+(c<<2)>>2];x[((x[a+364>>2]<<2)+a|0)+348>>2]=b;c=x[a+372>>2];g=x[c+32>>2];f=(g<<2)+c|0;x[f>>2]=b;x[f+16>>2]=0;x[c+32>>2]=g+1;x[b+8>>2]=-2147483648;x[b+12>>2]=0;x[b>>2]=-1082130432;x[b+4>>2]=-2147483648;Ga(d+16|0,a,b);c=x[d+28>>2];x[b+24>>2]=x[d+24>>2];x[b+28>>2]=c;c=x[d+20>>2];x[b+16>>2]=x[d+16>>2];x[b+20>>2]=c;c=1;if(Ma(a)){break a}b=x[a+372>>2];c=x[b+32>>2]-1|0;x[b+32>>2]=c;c=x[b+(c<<2)>>2];b=x[a+364>>2];x[a+364>>2]=b+1;g=(b<<2)+a|0;x[g+348>>2]=c;c=x[a+372>>2];f=x[c+32>>2];l=(f<<2)+c|0;x[l+16>>2]=0;x[a+364>>2]=b;b=x[g+348>>2];x[l>>2]=b;x[c+32>>2]=f+1;x[b+8>>2]=0;x[b+12>>2]=0;x[b>>2]=0;x[b+4>>2]=1065353216;Ga(d+16|0,a,b);c=x[d+28>>2];x[b+24>>2]=x[d+24>>2];x[b+28>>2]=c;c=x[d+20>>2];x[b+16>>2]=x[d+16>>2];x[b+20>>2]=c;c=1;if(Ma(a)){break a}b=x[a+372>>2];c=x[b+32>>2]-1|0;x[b+32>>2]=c;b=x[b+(c<<2)>>2];x[((x[a+364>>2]<<2)+a|0)+348>>2]=b;c=x[a+372>>2];g=x[c+32>>2];f=(g<<2)+c|0;x[f>>2]=b;x[f+16>>2]=0;x[c+32>>2]=g+1;x[b+8>>2]=-2147483648;x[b+12>>2]=0;x[b>>2]=-2147483648;x[b+4>>2]=-1082130432;Ga(d+16|0,a,b);c=x[d+28>>2];x[b+24>>2]=x[d+24>>2];x[b+28>>2]=c;c=x[d+20>>2];x[b+16>>2]=x[d+16>>2];x[b+20>>2]=c;c=1;if(Ma(a)){break a}b=x[a+372>>2];c=x[b+32>>2]-1|0;x[b+32>>2]=c;c=x[b+(c<<2)>>2];b=x[a+364>>2];x[a+364>>2]=b+1;g=(b<<2)+a|0;x[g+348>>2]=c;c=x[a+372>>2];f=x[c+32>>2];l=(f<<2)+c|0;x[l+16>>2]=0;x[a+364>>2]=b;b=x[g+348>>2];x[l>>2]=b;x[c+32>>2]=f+1;x[b+8>>2]=1065353216;x[b+12>>2]=0;x[b>>2]=0;x[b+4>>2]=0;Ga(d+16|0,a,b);c=x[d+28>>2];x[b+24>>2]=x[d+24>>2];x[b+28>>2]=c;c=x[d+20>>2];x[b+16>>2]=x[d+16>>2];x[b+20>>2]=c;c=1;if(Ma(a)){break a}b=x[a+372>>2];c=x[b+32>>2]-1|0;x[b+32>>2]=c;b=x[b+(c<<2)>>2];x[((x[a+364>>2]<<2)+a|0)+348>>2]=b;c=x[a+372>>2];g=x[c+32>>2];f=(g<<2)+c|0;x[f>>2]=b;x[f+16>>2]=0;x[c+32>>2]=g+1;x[b+8>>2]=-1082130432;x[b+12>>2]=0;x[b>>2]=-2147483648;x[b+4>>2]=-2147483648;Ga(d+16|0,a,b);c=x[d+28>>2];x[b+24>>2]=x[d+24>>2];x[b+28>>2]=c;c=x[d+20>>2];x[b+16>>2]=x[d+16>>2];x[b+20>>2]=c;c=1;if(Ma(a)){break a}b=x[a+372>>2];c=x[b+32>>2]-1|0;x[b+32>>2]=c;b=x[b+(c<<2)>>2];c=x[a+364>>2];x[a+364>>2]=c+1;x[((c<<2)+a|0)+348>>2]=b;break b}c=x[b+4>>2];b=x[b>>2];k=E(B[c+20>>2]-B[b+20>>2]);m=E(-k);n=E(B[c+24>>2]-B[b+24>>2]);p=E(-n);o=E(B[c+16>>2]-B[b+16>>2]);r=E(-o);while(1){g:{x[d+8>>2]=0;x[d+12>>2]=0;x[d>>2]=0;x[d+4>>2]=0;x[d+(g<<2)>>2]=1065353216;e=B[d+4>>2];j=B[d>>2];h=E(E(o*e)+E(j*m));q=B[d+8>>2];i=E(E(k*q)+E(e*p));j=E(E(n*j)+E(q*r));e=E(E(h*h)+E(E(i*i)+E(j*j)));if(e>E(0)){c=x[a+372>>2];f=x[c+32>>2];b=(f<<2)+c|0;x[b+16>>2]=0;l=x[a+364>>2]-1|0;x[a+364>>2]=l;s=b;b=x[((l<<2)+a|0)+348>>2];x[s>>2]=b;x[c+32>>2]=f+1;x[b+12>>2]=0;e=E(E(1)/E(M(e)));B[b+8>>2]=h*e;B[b+4>>2]=j*e;B[b>>2]=i*e;Ga(d+16|0,a,b);c=x[d+28>>2];x[b+24>>2]=x[d+24>>2];x[b+28>>2]=c;c=x[d+20>>2];x[b+16>>2]=x[d+16>>2];x[b+20>>2]=c;if(Ma(a)){break g}b=x[a+372>>2];c=x[b+32>>2]-1|0;x[b+32>>2]=c;b=x[b+(c<<2)>>2];x[((x[a+364>>2]<<2)+a|0)+348>>2]=b;c=x[a+372>>2];f=x[c+32>>2];l=(f<<2)+c|0;x[l>>2]=b;x[l+16>>2]=0;x[c+32>>2]=f+1;x[b+12>>2]=0;B[b+8>>2]=e*E(-h);B[b+4>>2]=e*E(-j);B[b>>2]=e*E(-i);Ga(d+16|0,a,b);c=x[d+28>>2];x[b+24>>2]=x[d+24>>2];x[b+28>>2]=c;c=x[d+20>>2];x[b+16>>2]=x[d+16>>2];x[b+20>>2]=c;if(Ma(a)){break g}b=x[a+372>>2];c=x[b+32>>2]-1|0;x[b+32>>2]=c;b=x[b+(c<<2)>>2];c=x[a+364>>2];x[a+364>>2]=c+1;x[((c<<2)+a|0)+348>>2]=b}g=g+1|0;if((g|0)!=3){continue}break b}break}c=1;break a}c=x[b+4>>2];g=x[b>>2];e=B[g+16>>2];j=E(B[c+16>>2]-e);f=x[b+8>>2];h=B[g+20>>2];i=E(B[f+20>>2]-h);e=E(B[f+16>>2]-e);k=E(B[c+20>>2]-h);h=E(E(j*i)-E(e*k));n=k;k=B[g+24>>2];m=E(B[f+24>>2]-k);k=E(B[c+24>>2]-k);i=E(E(n*m)-E(i*k));j=E(E(k*e)-E(m*j));e=E(E(h*h)+E(E(i*i)+E(j*j)));if(!(e>E(0))){break b}x[b+28>>2]=0;c=x[a+364>>2]-1|0;x[a+364>>2]=c;c=x[((c<<2)+a|0)+348>>2];x[b+32>>2]=4;x[b+12>>2]=c;x[c+12>>2]=0;e=E(E(1)/E(M(e)));B[c+8>>2]=h*e;B[c+4>>2]=j*e;B[c>>2]=i*e;Ga(d+16|0,a,c);b=x[d+28>>2];x[c+24>>2]=x[d+24>>2];x[c+28>>2]=b;b=x[d+20>>2];x[c+16>>2]=x[d+16>>2];x[c+20>>2]=b;c=1;if(Ma(a)){break a}b=x[a+372>>2];c=x[b+32>>2]-1|0;x[b+32>>2]=c;b=x[b+(c<<2)>>2];x[((x[a+364>>2]<<2)+a|0)+348>>2]=b;c=x[a+372>>2];g=x[c+32>>2];f=(g<<2)+c|0;x[f>>2]=b;x[f+16>>2]=0;x[c+32>>2]=g+1;x[b+12>>2]=0;B[b+8>>2]=e*E(-h);B[b+4>>2]=e*E(-j);B[b>>2]=e*E(-i);Ga(d+16|0,a,b);c=x[d+28>>2];x[b+24>>2]=x[d+24>>2];x[b+28>>2]=c;c=x[d+20>>2];x[b+16>>2]=x[d+16>>2];x[b+20>>2]=c;c=1;if(Ma(a)){break a}b=x[a+372>>2];c=x[b+32>>2]-1|0;x[b+32>>2]=c;b=x[b+(c<<2)>>2];c=x[a+364>>2];x[a+364>>2]=c+1;x[((c<<2)+a|0)+348>>2]=b;break b}a=x[b>>2];g=x[b+12>>2];e=B[g+16>>2];j=E(B[a+16>>2]-e);f=x[b+4>>2];h=B[g+20>>2];k=E(B[f+20>>2]-h);b=x[b+8>>2];i=B[g+24>>2];m=E(B[b+24>>2]-i);n=E(B[a+20>>2]-h);p=E(B[f+24>>2]-i);o=E(B[b+16>>2]-e);i=E(B[a+24>>2]-i);e=E(B[f+16>>2]-e);h=E(B[b+20>>2]-h);e=E(E(E(E(j*k)*m)+E(E(E(E(E(n*p)*o)+E(E(i*e)*h))-E(E(p*j)*h))-E(E(e*n)*m)))-E(E(k*i)*o));c=1;if(e>E(0)|e>2]-17>>>0<=1?x[d+4>>2]-17>>>0<2:K;while(1){Bb();q=z<<4;k=B[q+34024>>2];n=B[q+34016>>2];l=B[q+34020>>2];r=B[e+32>>2];s=B[e>>2];t=B[e+16>>2];p=B[e+36>>2];A=B[e+4>>2];C=B[e+20>>2];D=B[e+40>>2];m=B[e+8>>2];F=B[e+24>>2];u=q+(a+1264|0)|0;x[u+12>>2]=0;G=m;m=E(-n);B[u+8>>2]=E(E(G*m)-E(F*l))-E(D*k);B[u+4>>2]=E(E(A*m)-E(C*l))-E(p*k);B[u>>2]=E(E(s*m)-E(t*l))-E(r*k);m=B[f+32>>2];r=B[f>>2];s=B[f+16>>2];t=B[f+36>>2];p=B[f+4>>2];A=B[f+20>>2];C=B[f+40>>2];D=B[f+8>>2];F=B[f+24>>2];q=q+(a+272|0)|0;x[q+12>>2]=0;B[q+8>>2]=E(C*k)+E(E(D*n)+E(l*F));B[q+4>>2]=E(t*k)+E(E(p*n)+E(l*A));B[q>>2]=E(m*k)+E(E(r*n)+E(l*s));z=z+1|0;if((z|0)!=42){continue}break}q=42;J=ia[x[x[c>>2]+84>>2]](c)|0;if((J|0)>0){u=a+3256|0;z=0;while(1){ia[x[x[c>>2]+88>>2]](c,z,a+3248|0);m=B[e+8>>2];r=B[e>>2];s=B[e+4>>2];t=B[e+24>>2];p=B[e+16>>2];A=B[e+20>>2];k=B[u>>2];l=B[a+3248>>2];n=B[a+3252>>2];B[u>>2]=E(B[e+40>>2]*k)+E(E(B[e+32>>2]*l)+E(n*B[e+36>>2]));x[a+3260>>2]=0;B[a+3252>>2]=E(t*k)+E(E(p*l)+E(n*A));B[a+3248>>2]=E(m*k)+E(E(r*l)+E(s*n));Bb();H=x[u+4>>2];o=q<<4;w=o+34024|0;x[w>>2]=x[u>>2];x[w+4>>2]=H;H=x[a+3252>>2];w=o+34016|0;x[w>>2]=x[a+3248>>2];x[w+4>>2]=H;r=B[e+40>>2];s=B[e+8>>2];t=B[e+24>>2];p=B[e+36>>2];A=B[e+4>>2];C=B[e+20>>2];l=B[e+32>>2];k=B[e>>2];D=B[e+16>>2];w=o+(a+1264|0)|0;x[w+12>>2]=0;n=B[a+3248>>2];m=E(-n);I=E(k*m);k=B[a+3252>>2];G=l;l=B[u>>2];B[w>>2]=E(I-E(D*k))-E(G*l);B[w+4>>2]=E(E(A*m)-E(C*k))-E(p*l);B[w+8>>2]=E(E(s*m)-E(t*k))-E(r*l);m=B[f+32>>2];r=B[f>>2];s=B[f+16>>2];t=B[f+36>>2];p=B[f+4>>2];A=B[f+20>>2];C=B[f+40>>2];D=B[f+8>>2];F=B[f+24>>2];o=o+(a+272|0)|0;x[o+12>>2]=0;B[o+8>>2]=E(C*l)+E(E(D*n)+E(k*F));B[o+4>>2]=E(t*l)+E(E(p*n)+E(k*A));B[o>>2]=E(m*l)+E(E(r*n)+E(k*s));q=q+1|0;z=z+1|0;if((J|0)!=(z|0)){continue}break}}J=ia[x[x[d>>2]+84>>2]](d)|0;if((J|0)>0){u=a+3256|0;z=0;while(1){ia[x[x[d>>2]+88>>2]](d,z,a+3248|0);m=B[f+8>>2];r=B[f>>2];s=B[f+4>>2];t=B[f+24>>2];p=B[f+16>>2];A=B[f+20>>2];k=B[u>>2];l=B[a+3248>>2];n=B[a+3252>>2];B[u>>2]=E(B[f+40>>2]*k)+E(E(B[f+32>>2]*l)+E(n*B[f+36>>2]));x[a+3260>>2]=0;B[a+3252>>2]=E(t*k)+E(E(p*l)+E(n*A));B[a+3248>>2]=E(m*k)+E(E(r*l)+E(s*n));Bb();H=x[u+4>>2];o=q<<4;w=o+34024|0;x[w>>2]=x[u>>2];x[w+4>>2]=H;H=x[a+3252>>2];w=o+34016|0;x[w>>2]=x[a+3248>>2];x[w+4>>2]=H;r=B[e+40>>2];s=B[e+8>>2];t=B[e+24>>2];p=B[e+36>>2];A=B[e+4>>2];C=B[e+20>>2];l=B[e+32>>2];k=B[e>>2];D=B[e+16>>2];w=o+(a+1264|0)|0;x[w+12>>2]=0;n=B[a+3248>>2];m=E(-n);I=E(k*m);k=B[a+3252>>2];G=l;l=B[u>>2];B[w>>2]=E(I-E(D*k))-E(G*l);B[w+4>>2]=E(E(A*m)-E(C*k))-E(p*l);B[w+8>>2]=E(E(s*m)-E(t*k))-E(r*l);m=B[f+32>>2];r=B[f>>2];s=B[f+16>>2];t=B[f+36>>2];p=B[f+4>>2];A=B[f+20>>2];C=B[f+40>>2];D=B[f+8>>2];F=B[f+24>>2];o=o+(a+272|0)|0;x[o+12>>2]=0;B[o+8>>2]=E(C*l)+E(E(D*n)+E(k*F));B[o+4>>2]=E(t*l)+E(E(p*n)+E(k*A));B[o>>2]=E(m*l)+E(E(r*n)+E(k*s));q=q+1|0;z=z+1|0;if((J|0)!=(z|0)){continue}break}}ia[x[x[c>>2]+76>>2]](c,a+1264|0,a+3248|0,q);ia[x[x[d>>2]+76>>2]](d,a+272|0,a+2256|0,q);a:{if((q|0)<=0){m=E(0xde0b6b000000000);k=E(0);l=E(0);n=E(0);A=E(0);break a}z=0;m=E(0xde0b6b000000000);A=E(0);n=E(0);l=E(0);k=E(0);while(1){Bb();u=z<<4;r=K?E(0):B[u+34024>>2];s=B[u+34016>>2];t=B[u+34020>>2];b:{if(!(+E(E(r*r)+E(E(s*s)+E(t*t)))>.01)){break b}o=u+(a+2256|0)|0;p=B[o+8>>2];C=B[o>>2];D=B[o+4>>2];o=u+(a+3248|0)|0;F=B[o+8>>2];I=B[o>>2];G=B[o+4>>2];p=E(E(r*(K?E(0):E(E(E(E(p*B[f+40>>2])+E(E(C*B[f+32>>2])+E(D*B[f+36>>2])))+B[f+56>>2])-E(E(E(F*B[e+40>>2])+E(E(I*B[e+32>>2])+E(G*B[e+36>>2])))+B[e+56>>2]))))+E(E(s*E(E(E(E(p*B[f+8>>2])+E(E(C*B[f>>2])+E(D*B[f+4>>2])))+B[f+48>>2])-E(E(E(F*B[e+8>>2])+E(E(I*B[e>>2])+E(G*B[e+4>>2])))+B[e+48>>2])))+E(t*E(E(E(E(p*B[f+24>>2])+E(E(C*B[f+16>>2])+E(D*B[f+20>>2])))+B[f+52>>2])-E(E(E(F*B[e+24>>2])+E(E(I*B[e+16>>2])+E(G*B[e+20>>2])))+B[e+52>>2])))));if(!(p>2];k=s;l=t;n=r;m=p}z=z+1|0;if((z|0)!=(q|0)){continue}break}}Fb(c);Fb(d);q=0;if(!(m>2];p=B[e+56>>2];C=B[e+48>>2];d=x[e+12>>2];c=a- -64|0;x[c>>2]=x[e+8>>2];x[c+4>>2]=d;c=x[e+4>>2];x[a+56>>2]=x[e>>2];x[a+60>>2]=c;c=x[e+28>>2];x[a+80>>2]=x[e+24>>2];x[a+84>>2]=c;c=x[e+20>>2];x[a+72>>2]=x[e+16>>2];x[a+76>>2]=c;c=x[e+40>>2];d=x[e+44>>2];z=x[e+32>>2];e=x[e+36>>2];x[a+116>>2]=0;x[a+96>>2]=c;x[a+100>>2]=d;m=E(m+E(E(r+s)+E(.5)));B[a+112>>2]=p+E(n*m);B[a+108>>2]=t+E(l*m);x[a+88>>2]=z;x[a+92>>2]=e;B[a+104>>2]=C+E(k*m);c=x[f+12>>2];x[a+128>>2]=x[f+8>>2];x[a+132>>2]=c;c=x[f+4>>2];x[a+120>>2]=x[f>>2];x[a+124>>2]=c;c=x[f+28>>2];x[a+144>>2]=x[f+24>>2];x[a+148>>2]=c;c=x[f+20>>2];x[a+136>>2]=x[f+16>>2];x[a+140>>2]=c;c=x[f+44>>2];x[a+160>>2]=x[f+40>>2];x[a+164>>2]=c;c=x[f+36>>2];x[a+152>>2]=x[f+32>>2];x[a+156>>2]=c;c=x[f+60>>2];x[a+176>>2]=x[f+56>>2];x[a+180>>2]=c;c=x[f+52>>2];x[a+168>>2]=x[f+48>>2];x[a+172>>2]=c;x[a+184>>2]=1566444395;v[a+52|0]=0;x[a+12>>2]=22904;x[b+16>>2]=0;B[b+12>>2]=-n;B[b+8>>2]=-l;B[b+4>>2]=-k;Oa(b,a+56|0,a+12|0,j,0);b=y[a+52|0];if(b){r=B[a+36>>2];s=B[a+40>>2];t=B[a+32>>2];p=B[a+48>>2];x[h+12>>2]=0;m=E(m-p);B[h+8>>2]=s-E(n*m);B[h+4>>2]=r-E(l*m);B[h>>2]=t-E(k*m);c=x[a+44>>2];x[i+8>>2]=x[a+40>>2];x[i+12>>2]=c;c=x[a+36>>2];x[i>>2]=x[a+32>>2];x[i+4>>2]=c;B[g+12>>2]=A;B[g+8>>2]=n;B[g+4>>2]=l;B[g>>2]=k}q=(b|0)!=0}ga=a+4240|0;return q|0}function me(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;x[a+168>>2]=x[a+152>>2];re(b);c=x[a+56>>2];a:{if(d){x[b+56>>2]=c<<24|(c&65280)<<8|(c>>>8&65280|c>>>24);v[b+4|0]=y[a+7|0];v[b+5|0]=y[a+6|0];v[b+6|0]=y[a+5|0];v[b+7|0]=y[a+4|0];v[b+8|0]=y[a+11|0];v[b+9|0]=y[a+10|0];v[b+10|0]=y[a+9|0];v[b+11|0]=y[a+8|0];v[b+12|0]=y[a+15|0];v[b+13|0]=y[a+14|0];v[b+14|0]=y[a+13|0];v[b+15|0]=y[a+12|0];v[b+16|0]=y[a+19|0];v[b+17|0]=y[a+18|0];v[b+18|0]=y[a+17|0];v[b+19|0]=y[a+16|0];v[b+20|0]=y[a+23|0];v[b+21|0]=y[a+22|0];v[b+22|0]=y[a+21|0];v[b+23|0]=y[a+20|0];v[b+24|0]=y[a+27|0];v[b+25|0]=y[a+26|0];v[b+26|0]=y[a+25|0];v[b+27|0]=y[a+24|0];v[b+28|0]=y[a+31|0];v[b+29|0]=y[a+30|0];v[b+30|0]=y[a+29|0];v[b+31|0]=y[a+28|0];v[b+32|0]=y[a+35|0];v[b+33|0]=y[a+34|0];v[b+34|0]=y[a+33|0];v[b+35|0]=y[a+32|0];v[b+36|0]=y[a+39|0];v[b+37|0]=y[a+38|0];v[b+38|0]=y[a+37|0];v[b+39|0]=y[a+36|0];v[b+40|0]=y[a+43|0];v[b+41|0]=y[a+42|0];v[b+42|0]=y[a+41|0];v[b+43|0]=y[a+40|0];v[b+44|0]=y[a+47|0];v[b+45|0]=y[a+46|0];v[b+46|0]=y[a+45|0];v[b+47|0]=y[a+44|0];v[b+48|0]=y[a+51|0];v[b+49|0]=y[a+50|0];v[b+50|0]=y[a+49|0];v[b+51|0]=y[a+48|0];c=x[a+168>>2];g=c<<24|(c&65280)<<8|(c>>>8&65280|c>>>24);c=x[a+144>>2];c=c<<24|(c&65280)<<8|(c>>>8&65280|c>>>24);break a}x[b+56>>2]=c;c=x[a+16>>2];x[b+12>>2]=x[a+12>>2];x[b+16>>2]=c;c=x[a+8>>2];x[b+4>>2]=x[a+4>>2];x[b+8>>2]=c;c=x[a+32>>2];x[b+28>>2]=x[a+28>>2];x[b+32>>2]=c;c=x[a+24>>2];x[b+20>>2]=x[a+20>>2];x[b+24>>2]=c;c=x[a+48>>2];x[b+44>>2]=x[a+44>>2];x[b+48>>2]=c;c=x[a+40>>2];x[b+36>>2]=x[a+36>>2];x[b+40>>2]=c;g=x[a+168>>2];c=x[a+144>>2]}x[b+168>>2]=g;x[b+144>>2]=c;v[b+60|0]=y[a+60|0];i=b+172|0;j=x[a+56>>2];b:{if(y[a+60|0]){c=x[b+136>>2];if(!(c?!c|!y[b+140|0]:1)){x[8457]=x[8457]+1;ia[x[8259]](c)}x[b+136>>2]=i;v[b+140|0]=0;c:{if(!d){if((j|0)<=0){break c}h=x[a+136>>2];g=0;while(1){c=g<<4;f=c+i|0;c=c+h|0;w[f>>1]=z[c>>1];w[f+2>>1]=z[c+2>>1];w[f+4>>1]=z[c+4>>1];w[f+6>>1]=z[c+6>>1];w[f+8>>1]=z[c+8>>1];w[f+10>>1]=z[c+10>>1];x[f+12>>2]=x[c+12>>2];g=g+1|0;if((j|0)!=(g|0)){continue}break}break c}if((j|0)<=0){break c}h=x[a+136>>2];g=0;while(1){c=g<<4;e=c+i|0;f=c+h|0;c=z[f>>1];w[e>>1]=c<<8|c>>>8;c=z[f+2>>1];w[e+2>>1]=c<<8|c>>>8;c=z[f+4>>1];w[e+4>>1]=c<<8|c>>>8;c=z[f+6>>1];w[e+6>>1]=c<<8|c>>>8;c=z[f+8>>1];w[e+8>>1]=c<<8|c>>>8;c=z[f+10>>1];w[e+10>>1]=c<<8|c>>>8;c=x[f+12>>2];x[e+12>>2]=c<<24|(c&65280)<<8|(c>>>8&65280|c>>>24);g=g+1|0;if((j|0)!=(g|0)){continue}break}}h=b+128|0;g=j<<4;break b}c=x[b+96>>2];if(!(c?!c|!y[b+100|0]:1)){x[8457]=x[8457]+1;ia[x[8259]](c)}x[b+96>>2]=i;v[b+100|0]=0;x[b+92>>2]=j;h=b+88|0;x[h>>2]=j;d:{if(!d){c=i;if((j|0)<=0){break d}l=x[a+96>>2];g=0;while(1){k=g<<6;e=k+c|0;f=k+l|0;c=x[f+4>>2];x[e>>2]=x[f>>2];x[e+4>>2]=c;c=x[f+12>>2];x[e+8>>2]=x[f+8>>2];x[e+12>>2]=c;f=k+x[a+96>>2]|0;c=x[f+20>>2];e=k+x[b+96>>2]|0;x[e+16>>2]=x[f+16>>2];x[e+20>>2]=c;c=x[f+28>>2];x[e+24>>2]=x[f+24>>2];x[e+28>>2]=c;c=x[b+96>>2];e=k+c|0;l=x[a+96>>2];f=k+l|0;x[e+32>>2]=x[f+32>>2];x[e+36>>2]=x[f+36>>2];x[e+40>>2]=x[f+40>>2];g=g+1|0;if((j|0)!=(g|0)){continue}break}break d}c=i;if((j|0)<=0){break d}k=x[a+96>>2];while(1){f=l<<6;e=f+c|0;c=f+k|0;v[e|0]=y[c+3|0];v[e+1|0]=y[c+2|0];v[e+2|0]=y[c+1|0];v[e+3|0]=y[c|0];v[e+4|0]=y[c+7|0];v[e+5|0]=y[c+6|0];v[e+6|0]=y[c+5|0];v[e+7|0]=y[c+4|0];v[e+8|0]=y[c+11|0];v[e+9|0]=y[c+10|0];v[e+10|0]=y[c+9|0];v[e+11|0]=y[c+8|0];v[e+12|0]=y[c+15|0];v[e+13|0]=y[c+14|0];v[e+14|0]=y[c+13|0];v[e+15|0]=y[c+12|0];e=f+x[b+96>>2]|0;c=f+x[a+96>>2]|0;v[e+16|0]=y[c+19|0];v[e+17|0]=y[c+18|0];v[e+18|0]=y[c+17|0];v[e+19|0]=y[c+16|0];v[e+20|0]=y[c+23|0];v[e+21|0]=y[c+22|0];v[e+22|0]=y[c+21|0];v[e+23|0]=y[c+20|0];v[e+24|0]=y[c+27|0];v[e+25|0]=y[c+26|0];v[e+26|0]=y[c+25|0];v[e+27|0]=y[c+24|0];v[e+28|0]=y[c+31|0];v[e+29|0]=y[c+30|0];v[e+30|0]=y[c+29|0];v[e+31|0]=y[c+28|0];c=x[b+96>>2];e=f+c|0;k=x[a+96>>2];f=f+k|0;g=x[f+32>>2];x[e+32>>2]=g<<24|(g&65280)<<8|(g>>>8&65280|g>>>24);g=x[f+36>>2];x[e+36>>2]=g<<24|(g&65280)<<8|(g>>>8&65280|g>>>24);f=x[f+40>>2];x[e+40>>2]=f<<24|(f&65280)<<8|(f>>>8&65280|f>>>24);l=l+1|0;if((j|0)!=(l|0)){continue}break}}g=j<<6;if(!y[b+100|0]){break b}if(c){x[8457]=x[8457]+1;ia[x[8259]](c)}}x[h>>2]=0;x[h+4>>2]=0;v[h+5|0]=0;v[h+6|0]=0;v[h+7|0]=0;v[h+8|0]=0;v[h+9|0]=0;v[h+10|0]=0;v[h+11|0]=0;v[h+12|0]=0;h=g+i|0;i=x[a+168>>2];c=x[b+160>>2];if(!(c?!c|!y[b+164|0]:1)){x[8457]=x[8457]+1;ia[x[8259]](c)}x[b+160>>2]=h;v[b+164|0]=0;x[b+156>>2]=i;x[b+152>>2]=i;i=x[a+168>>2];e:{if(!d){if((i|0)<=0){break e}i=x[a+160>>2];d=0;while(1){c=d<<5;f=c+h|0;c=c+i|0;w[f>>1]=z[c>>1];w[f+2>>1]=z[c+2>>1];w[f+4>>1]=z[c+4>>1];w[f+6>>1]=z[c+6>>1];w[f+8>>1]=z[c+8>>1];w[f+10>>1]=z[c+10>>1];x[f+12>>2]=x[c+12>>2];c=x[c+16>>2];x[f+28>>2]=0;x[f+20>>2]=0;x[f+24>>2]=0;x[f+16>>2]=c;d=d+1|0;if((d|0)>2]){continue}break}break e}if((i|0)<=0){break e}c=x[a+160>>2];d=0;while(1){a=d<<5;e=a+h|0;f=a+c|0;a=z[f>>1];w[e>>1]=a<<8|a>>>8;a=z[f+2>>1];w[e+2>>1]=a<<8|a>>>8;a=z[f+4>>1];w[e+4>>1]=a<<8|a>>>8;a=z[f+6>>1];w[e+6>>1]=a<<8|a>>>8;a=z[f+8>>1];w[e+8>>1]=a<<8|a>>>8;a=z[f+10>>1];w[e+10>>1]=a<<8|a>>>8;a=x[f+12>>2];x[e+12>>2]=a<<24|(a&65280)<<8|(a>>>8&65280|a>>>24);a=x[f+16>>2];x[e+16>>2]=a<<24|(a&65280)<<8|(a>>>8&65280|a>>>24);d=d+1|0;if((i|0)!=(d|0)){continue}break}}if(h?y[b+164|0]:0){x[8457]=x[8457]+1;ia[x[8259]](h)}x[b>>2]=0;v[b+157|0]=0;v[b+158|0]=0;v[b+159|0]=0;v[b+160|0]=0;v[b+161|0]=0;v[b+162|0]=0;v[b+163|0]=0;v[b+164|0]=0;x[b+152>>2]=0;x[b+156>>2]=0;return 1}function We(a,b){var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;f=ga-96|0;ga=f;v[f+92|0]=1;x[f+60>>2]=0;x[f+64>>2]=0;v[f+52|0]=1;x[f+48>>2]=0;v[f+72|0]=1;x[f+40>>2]=0;x[f+44>>2]=0;x[f+68>>2]=0;x[f+88>>2]=0;x[f+80>>2]=0;x[f+84>>2]=0;x[f+28>>2]=0;v[f+32|0]=1;x[f+20>>2]=0;x[f+24>>2]=0;m=x[a+8>>2];a:{if((m|0)<=0){break a}while(1){g=x[x[x[a+16>>2]+(r<<2)>>2]+192>>2];x[f+12>>2]=g;c=g+(g<<15^-1)|0;c=D(c>>>10^c,9);c=c>>>6^c;c=(c<<11^-1)+c|0;c=x[f+64>>2]-1&(c>>>16^c);b:{c:{if(c>>>0>=A[f+20>>2]){break c}c=x[x[f+28>>2]+(c<<2)>>2];if((c|0)==-1){break c}d=x[f+48>>2];e=x[f+88>>2];while(1){if((g|0)!=x[e+(c<<3)>>2]){c=x[d+(c<<2)>>2];if((c|0)!=-1){continue}break c}break}if(x[f+68>>2]){break b}}x[f+4>>2]=g;g=0;d:{e:{d=f+16|0;m=x[d+48>>2];c=x[f+4>>2];e=(c<<15^-1)+c|0;e=D(e>>>10^e,9);e=e>>>6^e;e=(e<<11^-1)+e|0;o=m-1&(e>>>16^e);f:{if(o>>>0>=A[d+4>>2]){break f}e=x[x[d+12>>2]+(o<<2)>>2];if((e|0)==-1){break f}j=x[d+32>>2];h=x[d+72>>2];while(1){if((c|0)==x[h+(e<<3)>>2]){break e}e=x[j+(e<<2)>>2];if((e|0)!=-1){continue}break}}s=x[d+44>>2];c=s;g:{if((m|0)!=(c|0)){break g}c=m;i=c?c<<1:1;if((c|0)>=(i|0)){break g}h:{if(!i){j=0;c=m;break h}x[8456]=x[8456]+1;j=ia[x[8258]](i<<2,16)|0;c=x[d+44>>2]}i:{if((c|0)<=0){break i}h=0;e=0;if(c>>>0>=4){n=c&-4;while(1){l=e<<2;x[l+j>>2]=x[l+x[d+52>>2]>>2];k=l|4;x[k+j>>2]=x[k+x[d+52>>2]>>2];k=l|8;x[k+j>>2]=x[k+x[d+52>>2]>>2];l=l|12;x[l+j>>2]=x[l+x[d+52>>2]>>2];e=e+4|0;g=g+4|0;if((n|0)!=(g|0)){continue}break}}g=c&3;if(!g){break i}while(1){l=e<<2;x[l+j>>2]=x[l+x[d+52>>2]>>2];e=e+1|0;h=h+1|0;if((g|0)!=(h|0)){continue}break}}g=x[d+52>>2];if(!(!g|!y[d+56|0])){if(g){x[8457]=x[8457]+1;ia[x[8259]](g)}c=x[d+44>>2]}x[d+52>>2]=j;v[d+56|0]=1;x[d+48>>2]=i}x[x[d+52>>2]+(c<<2)>>2]=x[f+12>>2];x[d+44>>2]=c+1;c=x[d- -64>>2];j:{if((c|0)!=x[d+68>>2]){break j}l=c?c<<1:1;if((l|0)<=(c|0)){break j}k:{if(!l){j=0;break k}x[8456]=x[8456]+1;j=ia[x[8258]](l<<3,16)|0;c=x[d+64>>2]}l:{if((c|0)<=0){break l}h=0;e=0;if(c>>>0>=4){n=c&-4;g=0;while(1){i=e<<3;k=i+j|0;p=i+x[d+72>>2]|0;q=x[p+4>>2];x[k>>2]=x[p>>2];x[k+4>>2]=q;k=i|8;p=k+j|0;k=k+x[d+72>>2]|0;q=x[k+4>>2];x[p>>2]=x[k>>2];x[p+4>>2]=q;k=i|16;p=k+j|0;k=k+x[d+72>>2]|0;q=x[k+4>>2];x[p>>2]=x[k>>2];x[p+4>>2]=q;i=i|24;k=i+j|0;i=i+x[d+72>>2]|0;p=x[i+4>>2];x[k>>2]=x[i>>2];x[k+4>>2]=p;e=e+4|0;g=g+4|0;if((n|0)!=(g|0)){continue}break}}c=c&3;if(!c){break l}while(1){g=e<<3;i=g+j|0;g=g+x[d+72>>2]|0;n=x[g+4>>2];x[i>>2]=x[g>>2];x[i+4>>2]=n;e=e+1|0;h=h+1|0;if((c|0)!=(h|0)){continue}break}}c=x[d+72>>2];if(!(c?!c|!y[d+76|0]:1)){x[8457]=x[8457]+1;ia[x[8259]](c)}x[d+72>>2]=j;v[d+76|0]=1;x[d+68>>2]=l;c=x[d+64>>2]}g=x[f+8>>2];c=x[d+72>>2]+(c<<3)|0;x[c>>2]=x[f+4>>2];x[c+4>>2]=g;x[d+64>>2]=x[d+64>>2]+1;if((m|0)>2]){e=0;j=0;l=0;o=0;m=x[d+4>>2];h=x[d+48>>2];m:{if((m|0)>=(h|0)){break m}n:{if((h|0)<=x[d+8>>2]){e=x[d+12>>2];break n}if(h){x[8456]=x[8456]+1;e=ia[x[8258]](h<<2,16)|0;c=x[d+4>>2]}else{c=m}g=x[d+12>>2];o:{p:{if((c|0)>0){if(c>>>0>=4){n=c&-4;while(1){i=j<<2;x[i+e>>2]=x[g+i>>2];k=i|4;x[k+e>>2]=x[g+k>>2];k=i|8;x[k+e>>2]=x[g+k>>2];i=i|12;x[i+e>>2]=x[g+i>>2];j=j+4|0;l=l+4|0;if((n|0)!=(l|0)){continue}break}}c=c&3;if(!c){break p}while(1){i=j<<2;x[i+e>>2]=x[g+i>>2];j=j+1|0;o=o+1|0;if((c|0)!=(o|0)){continue}break}break p}if(g){break p}break o}if(g?y[d+16|0]:0){x[8457]=x[8457]+1;ia[x[8259]](g)}}x[d+12>>2]=e;v[d+16|0]=1;x[d+8>>2]=h}c=m<<2;n=h<<2;ua(c+e|0,0,n-c|0);x[d+4>>2]=h;g=x[d+24>>2];if((g|0)<(h|0)){q:{if((h|0)<=x[d+28>>2]){e=x[d+32>>2];break q}r:{if(!h){e=0;c=g;break r}x[8456]=x[8456]+1;e=ia[x[8258]](n,16)|0;c=x[d+24>>2]}i=x[d+32>>2];s:{if((c|0)>0){o=0;j=0;if(c>>>0>=4){p=c&-4;l=0;while(1){k=j<<2;x[k+e>>2]=x[i+k>>2];q=k|4;x[q+e>>2]=x[i+q>>2];q=k|8;x[q+e>>2]=x[i+q>>2];k=k|12;x[k+e>>2]=x[i+k>>2];j=j+4|0;l=l+4|0;if((p|0)!=(l|0)){continue}break}}c=c&3;if(!c){break s}while(1){l=j<<2;x[l+e>>2]=x[i+l>>2];j=j+1|0;o=o+1|0;if((c|0)!=(o|0)){continue}break}break s}if(i){break s}x[d+32>>2]=e;x[d+28>>2]=h;v[d+36|0]=1;break q}if(i?y[d+36|0]:0){x[8457]=x[8457]+1;ia[x[8259]](i)}x[d+32>>2]=e;v[d+36|0]=1;x[d+28>>2]=h}c=g<<2;ua(c+e|0,0,n-c|0)}x[d+24>>2]=h;if((h|0)>0){ua(x[d+12>>2],255,n);ua(x[d+32>>2],255,n)}if((m|0)<=0){break m}c=x[d+32>>2];g=x[d+72>>2];e=x[d+12>>2];j=0;while(1){h=x[g+(j<<3)>>2];h=(h<<15^-1)+h|0;h=D(h>>>10^h,9);h=h>>>6^h;h=(h<<11^-1)+h|0;h=e+((x[d+48>>2]-1&(h>>>16^h))<<2)|0;x[c+(j<<2)>>2]=x[h>>2];x[h>>2]=j;j=j+1|0;if((m|0)!=(j|0)){continue}break}}c=x[f+4>>2];c=(c<<15^-1)+c|0;c=D(c>>>10^c,9);c=c>>>6^c;c=(c<<11^-1)+c|0;o=x[d+48>>2]-1&(c>>>16^c)}c=x[d+12>>2]+(o<<2)|0;x[x[d+32>>2]+(s<<2)>>2]=x[c>>2];x[c>>2]=s;break d}x[x[d+52>>2]+(e<<2)>>2]=x[f+12>>2]}c=x[f+12>>2];ia[x[x[c>>2]+60>>2]](c,b);m=x[a+8>>2]}r=r+1|0;if((r|0)<(m|0)){continue}break}if((m|0)<=0){break a}c=0;while(1){g=x[x[a+16>>2]+(c<<2)>>2];d=x[g+252>>2];if(!((d|0)!=64&(d|0)!=1)){ia[x[x[g>>2]+24>>2]](g,b);m=x[a+8>>2]}c=c+1|0;if((c|0)<(m|0)){continue}break}}a=x[f+88>>2];if(!(a?!a|!y[f+92|0]:1)){x[8457]=x[8457]+1;ia[x[8259]](a)}x[f+88>>2]=0;v[f+92|0]=1;x[f+80>>2]=0;x[f+84>>2]=0;a=x[f+68>>2];if(!(a?!a|!y[f+72|0]:1)){x[8457]=x[8457]+1;ia[x[8259]](a)}x[f+68>>2]=0;v[f+72|0]=1;x[f+60>>2]=0;x[f+64>>2]=0;a=x[f+48>>2];if(!(a?!a|!y[f+52|0]:1)){x[8457]=x[8457]+1;ia[x[8259]](a)}x[f+48>>2]=0;v[f+52|0]=1;x[f+40>>2]=0;x[f+44>>2]=0;a=x[f+28>>2];if(!(a?!a|!y[f+32|0]:1)){x[8457]=x[8457]+1;ia[x[8259]](a)}ga=f+96|0}function Ih(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=E(0),g=0,h=E(0),i=0,j=E(0),k=E(0),l=0,m=E(0),n=E(0),o=0,p=0;c=x[d+72>>2];a:{if(!(c&4)){break a}b=x[a+28>>2];if((b|0)<=0){break a}l=x[a+76>>2];i=x[a+36>>2];if(c&16){c=0;while(1){e=i+D(c,152)|0;g=x[e+132>>2];B[g+132>>2]=B[e+100>>2];e=l+D(x[e+140>>2],152)|0;B[g+136>>2]=B[e+100>>2];B[g+140>>2]=B[e+252>>2];c=c+1|0;if((b|0)!=(c|0)){continue}break}break a}c=0;if((b|0)!=1){p=b&-2;while(1){g=i+D(c,152)|0;o=x[g+132>>2];B[o+132>>2]=B[g+100>>2];B[o+136>>2]=B[(l+D(x[g+140>>2],152)|0)+100>>2];g=i+D(c|1,152)|0;o=x[g+132>>2];B[o+132>>2]=B[g+100>>2];B[o+136>>2]=B[(l+D(x[g+140>>2],152)|0)+100>>2];c=c+2|0;e=e+2|0;if((p|0)!=(e|0)){continue}break}}if(!(b&1)){break a}b=i+D(c,152)|0;c=x[b+132>>2];B[c+132>>2]=B[b+100>>2];B[c+136>>2]=B[(l+D(x[b+140>>2],152)|0)+100>>2]}p=x[a+48>>2];if((p|0)>0){o=x[a+56>>2];l=0;while(1){c=o+D(l,152)|0;e=x[c+132>>2];b=x[e+44>>2];if(b){i=x[e+28>>2];j=B[i+416>>2];k=B[c+24>>2];m=B[i+412>>2];n=B[c+20>>2];f=B[c+100>>2];h=E(E(1)/B[d+12>>2]);B[b>>2]=B[b>>2]+E(E(E(B[c+16>>2]*f)*B[i+408>>2])*h);B[b+4>>2]=E(E(m*E(f*n))*h)+B[b+4>>2];B[b+8>>2]=E(E(j*E(f*k))*h)+B[b+8>>2];g=x[e+32>>2];j=B[g+416>>2];k=B[c+56>>2];m=B[g+412>>2];n=B[c+52>>2];f=B[c+100>>2];h=E(E(1)/B[d+12>>2]);B[b+32>>2]=B[b+32>>2]+E(E(E(B[c+48>>2]*f)*B[g+408>>2])*h);B[b+36>>2]=E(E(m*E(f*n))*h)+B[b+36>>2];B[b+40>>2]=E(E(j*E(f*k))*h)+B[b+40>>2];j=B[i+612>>2];k=B[c+8>>2];m=B[i+608>>2];n=B[c+4>>2];f=B[c+100>>2];h=E(E(1)/B[d+12>>2]);B[b+16>>2]=B[b+16>>2]+E(E(E(B[c>>2]*B[i+604>>2])*f)*h);B[b+20>>2]=E(E(f*E(n*m))*h)+B[b+20>>2];B[b+24>>2]=E(E(f*E(k*j))*h)+B[b+24>>2];j=B[g+612>>2];k=B[c+40>>2];m=B[g+608>>2];n=B[c+36>>2];f=B[c+100>>2];h=E(E(1)/B[d+12>>2]);B[b+48>>2]=B[b+48>>2]+E(E(E(B[c+32>>2]*B[g+604>>2])*f)*h);B[b+52>>2]=E(E(f*E(n*m))*h)+B[b+52>>2];B[b+56>>2]=E(E(f*E(k*j))*h)+B[b+56>>2]}f=B[c+100>>2];B[e+36>>2]=f;if(B[e+16>>2]<=E(F(f))){v[e+20|0]=0}l=l+1|0;if((p|0)!=(l|0)){continue}break}}l=x[a+8>>2];if((l|0)>0){e=x[a+16>>2];g=0;while(1){i=D(g,244);b=i+e|0;c=x[b+240>>2];if(c){b:{if(x[d+52>>2]){m=B[d+12>>2];f=B[d+60>>2];c=ga-80|0;ga=c;c:{if(!x[b+240>>2]){break c}B[b+176>>2]=B[b+64>>2]+B[b+176>>2];B[b+192>>2]=B[b+80>>2]+B[b+192>>2];B[b+180>>2]=B[b+68>>2]+B[b+180>>2];B[b+184>>2]=B[b+72>>2]+B[b+184>>2];B[b+196>>2]=B[b+84>>2]+B[b+196>>2];B[b+200>>2]=B[b+88>>2]+B[b+200>>2];k=B[b+160>>2];d:{if(!(!(B[b+144>>2]!=E(0)|B[b+148>>2]!=E(0))&B[b+152>>2]==E(0))){h=B[b+168>>2];j=B[b+164>>2];break d}h=B[b+168>>2];j=B[b+164>>2];if(k!=E(0)|j!=E(0)){break d}if(h==E(0)){break c}}x[c+12>>2]=0;B[c+8>>2]=h*f;B[c+4>>2]=j*f;B[c>>2]=k*f;$a(b,b+144|0,c,m,c+16|0);e=x[c+28>>2];x[b+8>>2]=x[c+24>>2];x[b+12>>2]=e;e=x[c+20>>2];x[b>>2]=x[c+16>>2];x[b+4>>2]=e;e=x[c+44>>2];x[b+24>>2]=x[c+40>>2];x[b+28>>2]=e;e=x[c+36>>2];x[b+16>>2]=x[c+32>>2];x[b+20>>2]=e;e=x[c+52>>2];x[b+32>>2]=x[c+48>>2];x[b+36>>2]=e;e=x[c+60>>2];x[b+40>>2]=x[c+56>>2];x[b+44>>2]=e;e=x[c+68>>2];x[b+48>>2]=x[c+64>>2];x[b+52>>2]=e;e=x[c+76>>2];x[b+56>>2]=x[c+72>>2];x[b+60>>2]=e}ga=c+80|0;e=x[a+16>>2];b=i+e|0;f=B[b+176>>2];c=x[b+240>>2];break b}f=E(B[b+64>>2]+B[b+176>>2]);B[b+176>>2]=f;B[b+192>>2]=B[b+80>>2]+B[b+192>>2];B[b+180>>2]=B[b+68>>2]+B[b+180>>2];B[b+184>>2]=B[b+72>>2]+B[b+184>>2];B[b+196>>2]=B[b+84>>2]+B[b+196>>2];B[b+200>>2]=B[b+88>>2]+B[b+200>>2]}b=e+i|0;h=B[b+212>>2];j=B[b+180>>2];k=B[b+216>>2];m=B[b+184>>2];n=B[b+208>>2];x[c+384>>2]=0;B[c+372>>2]=f+n;x[c+304>>2]=x[c+304>>2]+1;B[c+380>>2]=m+k;B[c+376>>2]=j+h;b=i+x[a+16>>2]|0;f=B[b+228>>2];h=B[b+196>>2];j=B[b+232>>2];k=B[b+200>>2];m=B[b+224>>2];n=B[b+192>>2];b=x[b+240>>2];x[b+400>>2]=0;B[b+388>>2]=n+m;B[b+396>>2]=k+j;B[b+392>>2]=h+f;x[b+304>>2]=x[b+304>>2]+1;if(x[d+52>>2]){c=i+x[a+16>>2]|0;b=x[c+240>>2];x[b+304>>2]=x[b+304>>2]+1;e=x[c+12>>2];x[b+12>>2]=x[c+8>>2];x[b+16>>2]=e;e=x[c+4>>2];x[b+4>>2]=x[c>>2];x[b+8>>2]=e;e=x[c+28>>2];x[b+28>>2]=x[c+24>>2];x[b+32>>2]=e;e=x[c+20>>2];x[b+20>>2]=x[c+16>>2];x[b+24>>2]=e;e=x[c+36>>2];x[b+36>>2]=x[c+32>>2];x[b+40>>2]=e;e=x[c+44>>2];x[b+44>>2]=x[c+40>>2];x[b+48>>2]=e;e=x[c+60>>2];x[b+60>>2]=x[c+56>>2];x[b+64>>2]=e;e=x[c+52>>2];x[b+52>>2]=x[c+48>>2];x[b+56>>2]=e}e=x[a+16>>2];x[x[(i+e|0)+240>>2]+212>>2]=-1;l=x[a+8>>2]}g=g+1|0;if((l|0)>(g|0)){continue}break}}if((x[a+28>>2]&x[a+32>>2])<0){b=x[a+36>>2];if(!(b?!b|!y[a+40|0]:1)){x[8457]=x[8457]+1;ia[x[8259]](b)}v[a+40|0]=1;x[a+32>>2]=0;x[a+36>>2]=0}x[a+28>>2]=0;if((x[a+48>>2]&x[a+52>>2])<0){b=x[a+56>>2];if(!(b?!b|!y[a+60|0]:1)){x[8457]=x[8457]+1;ia[x[8259]](b)}v[a+60|0]=1;x[a+52>>2]=0;x[a+56>>2]=0}x[a+48>>2]=0;if((x[a+68>>2]&x[a+72>>2])<0){b=x[a+76>>2];if(!(b?!b|!y[a+80|0]:1)){x[8457]=x[8457]+1;ia[x[8259]](b)}v[a+80|0]=1;x[a+72>>2]=0;x[a+76>>2]=0}x[a+68>>2]=0;if((x[a+88>>2]&x[a+92>>2])<0){b=x[a+96>>2];if(!(b?!b|!y[a+100|0]:1)){x[8457]=x[8457]+1;ia[x[8259]](b)}v[a+100|0]=1;x[a+92>>2]=0;x[a+96>>2]=0}x[a+88>>2]=0;if((x[a+8>>2]&x[a+12>>2])<0){b=x[a+16>>2];if(!(b?!b|!y[a+20|0]:1)){x[8457]=x[8457]+1;ia[x[8259]](b)}v[a+20|0]=1;x[a+12>>2]=0;x[a+16>>2]=0}x[a+8>>2]=0;return E(E(0))}function Lh(a,b,c,d,e,f,g,h,i,j){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=E(0),l=0,m=0,n=0,o=E(0),p=E(0),q=0,r=0;a:{if(!(v[i+72|0]&1)){break a}j=x[a+68>>2];m=x[a+28>>2];l=x[a+48>>2];if((l|0)>0){c=D(x[a+232>>2],1664525)+1013904223|0;b:{if((l|0)==1){break b}e=x[a+136>>2];d=x[e+4>>2];c=D(c,1664525)+1013904223|0;f=c^c>>>16;f=f>>>8^f;f=f>>>4^f;f=f>>>2^f;f=e+(((f>>>1^f)&1)<<2)|0;x[e+4>>2]=x[f>>2];x[f>>2]=d;if((l|0)==2){break b}d=x[e+8>>2];c=D(c,1664525)+1013904223|0;f=c^c>>>16;f=f>>>8^f;f=f>>>4^f;f=e+(((f>>>2^f)>>>0)%3<<2)|0;x[e+8>>2]=x[f>>2];x[f>>2]=d;if((l|0)==3){break b}d=4;f=x[e+12>>2];c=D(c,1664525)+1013904223|0;n=c^c>>>16;n=n>>>8^n;n=n>>>4^n;n=e+(((n>>>2^n)&3)<<2)|0;x[e+12>>2]=x[n>>2];x[n>>2]=f;if((l|0)==4){break b}while(1){f=e+(d<<2)|0;r=x[f>>2];q=f;c=D(c,1664525)+1013904223|0;f=c;c:{if(d>>>0>65535){break c}n=c>>>16^c;f=n;if(d>>>0>255){break c}n=n^n>>>8;f=n;if(d>>>0>15){break c}f=n^n>>>4}d=d+1|0;f=((f>>>0)%(d>>>0)<<2)+e|0;x[q>>2]=x[f>>2];x[f>>2]=r;if((d|0)!=(l|0)){continue}break}}x[a+232>>2]=c}if(x[i+20>>2]<=(b|0)){break a}if((m|0)>0){c=D(x[a+232>>2],1664525)+1013904223|0;d:{if((m|0)==1){break d}e=x[a+116>>2];d=x[e+4>>2];c=D(c,1664525)+1013904223|0;f=c^c>>>16;f=f>>>8^f;f=f>>>4^f;f=f>>>2^f;f=e+(((f>>>1^f)&1)<<2)|0;x[e+4>>2]=x[f>>2];x[f>>2]=d;if((m|0)==2){break d}d=x[e+8>>2];c=D(c,1664525)+1013904223|0;f=c^c>>>16;f=f>>>8^f;f=f>>>4^f;f=e+(((f>>>2^f)>>>0)%3<<2)|0;x[e+8>>2]=x[f>>2];x[f>>2]=d;if((m|0)==3){break d}d=4;f=x[e+12>>2];c=D(c,1664525)+1013904223|0;l=c^c>>>16;l=l>>>8^l;l=l>>>4^l;l=e+(((l>>>2^l)&3)<<2)|0;x[e+12>>2]=x[l>>2];x[l>>2]=f;if((m|0)==4){break d}while(1){f=e+(d<<2)|0;n=x[f>>2];q=f;c=D(c,1664525)+1013904223|0;f=c;e:{if(d>>>0>65535){break e}l=c>>>16^c;f=l;if(d>>>0>255){break e}l=l^l>>>8;f=l;if(d>>>0>15){break e}f=l^l>>>4}d=d+1|0;f=((f>>>0)%(d>>>0)<<2)+e|0;x[q>>2]=x[f>>2];x[f>>2]=n;if((d|0)!=(m|0)){continue}break}}x[a+232>>2]=c}if((j|0)<=0){break a}c=D(x[a+232>>2],1664525)+1013904223|0;f:{if((j|0)==1){break f}e=x[a+156>>2];d=x[e+4>>2];c=D(c,1664525)+1013904223|0;f=c^c>>>16;f=f>>>8^f;f=f>>>4^f;f=f>>>2^f;f=e+(((f>>>1^f)&1)<<2)|0;x[e+4>>2]=x[f>>2];x[f>>2]=d;if((j|0)==2){break f}d=x[e+8>>2];c=D(c,1664525)+1013904223|0;f=c^c>>>16;f=f>>>8^f;f=f>>>4^f;f=e+(((f>>>2^f)>>>0)%3<<2)|0;x[e+8>>2]=x[f>>2];x[f>>2]=d;if((j|0)==3){break f}d=4;f=x[e+12>>2];c=D(c,1664525)+1013904223|0;m=c^c>>>16;m=m>>>8^m;m=m>>>4^m;m=e+(((m>>>2^m)&3)<<2)|0;x[e+12>>2]=x[m>>2];x[m>>2]=f;if((j|0)==4){break f}while(1){f=e+(d<<2)|0;l=x[f>>2];n=f;c=D(c,1664525)+1013904223|0;f=c;g:{if(d>>>0>65535){break g}m=c>>>16^c;f=m;if(d>>>0>255){break g}m=m^m>>>8;f=m;if(d>>>0>15){break g}f=m^m>>>4}d=d+1|0;f=((f>>>0)%(d>>>0)<<2)+e|0;x[n>>2]=x[f>>2];x[f>>2]=l;if((d|0)!=(j|0)){continue}break}}x[a+232>>2]=c}e=x[a+48>>2];if((e|0)>0){d=0;while(1){c=x[a+56>>2]+D(x[x[a+136>>2]+(d<<2)>>2],152)|0;if(x[c+136>>2]>(b|0)){e=x[a+16>>2];k=E(ia[x[a+212>>2]](e+D(x[c+144>>2],244)|0,e+D(x[c+148>>2],244)|0,c));p=E(E(k*k)+p);e=x[a+48>>2]}d=d+1|0;if((e|0)>(d|0)){continue}break}}h:{if(x[i+20>>2]<=(b|0)){break h}if((h|0)>0){d=0;while(1){b=(d<<2)+g|0;c=x[b>>2];if(y[c+20|0]){c=Ua(a,x[c+28>>2],B[i+12>>2]);e=Ua(a,x[x[b>>2]+32>>2],B[i+12>>2]);b=x[b>>2];f=D(c,244);c=x[a+16>>2];ia[x[x[b>>2]+24>>2]](b,f+c|0,c+D(e,244)|0,B[i+12>>2])}d=d+1|0;if((h|0)!=(d|0)){continue}break}}e=x[a+28>>2];b=x[i+72>>2];i:{if(b&512){if((e|0)<=0){break i}d=b>>>4&1;c=0;while(1){f=x[a+16>>2];b=x[a+36>>2]+D(x[x[a+116>>2]+(c<<2)>>2],152)|0;k=E(ia[x[a+216>>2]](f+D(x[b+144>>2],244)|0,f+D(x[b+148>>2],244)|0,b));p=E(E(k*k)+p);k=B[b+100>>2];f=k>E(0);j:{if(!f){break j}g=c<>2]+D(x[g+x[a+156>>2]>>2],152)|0;o=B[b+104>>2];B[b+124>>2]=k*o;B[b+120>>2]=k*E(-o);h=x[a+16>>2];o=E(ia[x[a+212>>2]](h+D(x[b+144>>2],244)|0,h+D(x[b+148>>2],244)|0,b));p=E(E(o*o)+p);if(!f|!(x[i+72>>2]&16)){break j}b=x[a+76>>2]+D(x[(g+x[a+156>>2]|0)+4>>2],152)|0;o=B[b+104>>2];B[b+124>>2]=k*o;B[b+120>>2]=k*E(-o);f=x[a+16>>2];k=E(ia[x[a+212>>2]](f+D(x[b+144>>2],244)|0,f+D(x[b+148>>2],244)|0,b));p=E(E(k*k)+p)}c=c+1|0;if((e|0)!=(c|0)){continue}break}break i}if((e|0)>0){d=0;while(1){c=x[a+16>>2];b=x[a+36>>2]+D(x[x[a+116>>2]+(d<<2)>>2],152)|0;k=E(ia[x[a+216>>2]](c+D(x[b+144>>2],244)|0,c+D(x[b+148>>2],244)|0,b));p=E(E(k*k)+p);d=d+1|0;if((e|0)!=(d|0)){continue}break}}d=x[a+68>>2];if((d|0)<=0){break i}c=0;while(1){b=x[a+76>>2]+D(x[x[a+156>>2]+(c<<2)>>2],152)|0;k=B[(x[a+36>>2]+D(x[b+140>>2],152)|0)+100>>2];if(k>E(0)){o=B[b+104>>2];B[b+124>>2]=k*o;B[b+120>>2]=k*E(-o);e=x[a+16>>2];k=E(ia[x[a+212>>2]](e+D(x[b+144>>2],244)|0,e+D(x[b+148>>2],244)|0,b));p=E(E(k*k)+p)}c=c+1|0;if((d|0)!=(c|0)){continue}break}}d=x[a+88>>2];if((d|0)<=0){break h}c=0;while(1){b=x[a+96>>2]+D(c,152)|0;k=B[(x[a+36>>2]+D(x[b+140>>2],152)|0)+100>>2];if(k>E(0)){o=k;k=B[b+104>>2];o=E(o*k);k=k>2]=k;B[b+120>>2]=-k;e=x[a+16>>2];k=E(ia[x[a+212>>2]](e+D(x[b+144>>2],244)|0,e+D(x[b+148>>2],244)|0,b));p=E(E(k*k)+p)}c=c+1|0;if((d|0)!=(c|0)){continue}break}}return E(p)}function xe(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=E(0),g=E(0),h=E(0),i=E(0),j=E(0),k=E(0),l=E(0),m=E(0),n=E(0),o=E(0),p=0,q=E(0),r=0,s=E(0),t=E(0),u=E(0),v=0,w=E(0),y=E(0),z=E(0),A=E(0),C=E(0),D=E(0),F=E(0),G=E(0),H=E(0),I=E(0),J=0,K=E(0),L=E(0),N=E(0),O=E(0);d=ga-144|0;ga=d;x[d+108>>2]=0;f=B[b+80>>2];g=B[b+96>>2];w=B[b+120>>2];n=B[b+56>>2];H=B[b+112>>2];z=B[b+116>>2];K=B[b+52>>2];j=B[b+68>>2];k=B[b+84>>2];q=B[b+100>>2];h=B[b+20>>2];s=B[b+36>>2];o=B[b+72>>2];m=B[b+88>>2];t=B[b+24>>2];i=B[b+104>>2];F=B[b+40>>2];l=B[b+64>>2];G=B[b+32>>2];y=B[b>>2];A=B[b+16>>2];L=B[b+48>>2];C=B[b+4>>2];u=B[b+8>>2];x[d+104>>2]=0;x[d+88>>2]=0;x[d+72>>2]=0;B[d+84>>2]=E(i*F)+E(E(o*u)+E(t*m));B[d+80>>2]=E(i*s)+E(E(o*C)+E(h*m));B[d+68>>2]=E(q*F)+E(E(j*u)+E(t*k));B[d- -64>>2]=E(q*s)+E(E(j*C)+E(h*k));w=E(n-w);n=E(L-H);H=E(K-z);B[d+100>>2]=E(i*w)+E(E(o*n)+E(m*H));B[d+96>>2]=E(q*w)+E(E(j*n)+E(H*k));x[d+56>>2]=0;B[d+76>>2]=E(i*G)+E(E(o*y)+E(A*m));B[d+60>>2]=E(q*G)+E(E(j*y)+E(A*k));B[d+52>>2]=E(g*F)+E(E(l*u)+E(f*t));B[d+48>>2]=E(g*s)+E(E(l*C)+E(f*h));B[d+44>>2]=E(g*G)+E(E(l*y)+E(f*A));B[d+92>>2]=E(g*w)+E(E(l*n)+E(H*f));k=B[a+12>>2];s=E(0);t=E(0);F=E(0);p=ga-32|0;ga=p;v=x[a+8>>2];f=B[v+64>>2];q=E(B[v+80>>2]-f);i=B[v+68>>2];o=E(B[v+100>>2]-i);m=E(B[v+96>>2]-f);j=E(B[v+84>>2]-i);g=E(E(q*o)-E(m*j));n=j;j=B[v+72>>2];l=E(B[v+104>>2]-j);h=E(B[v+88>>2]-j);o=E(E(n*l)-E(o*h));m=E(E(h*m)-E(l*q));q=E(E(g*g)+E(E(o*o)+E(m*m)));a:{if(!(q>=E(14210854715202004e-30))){break a}r=x[a+4>>2];G=E(B[r+36>>2]*B[r+20>>2]);k=E(G+k);y=B[d+100>>2];h=g;g=E(E(1)/E(M(q)));q=E(h*g);h=E(E(y-j)*q);j=B[d+92>>2];o=E(o*g);m=E(m*g);g=B[d+96>>2];f=E(h+E(E(E(j-f)*o)+E(m*E(g-i))));if(f>2];x[p+24>>2]=x[d+100>>2];x[p+28>>2]=r;r=x[d+96>>2];x[p+16>>2]=x[d+92>>2];x[p+20>>2]=r;x[p+12>>2]=0;B[p+8>>2]=q;B[p+4>>2]=m;B[p>>2]=o;r=v- -64|0;A=B[r+32>>2];C=B[r+40>>2];u=B[r+24>>2];w=E(C-u);n=B[r+16>>2];I=E(A-n);i=B[p+4>>2];l=B[p>>2];H=B[r+36>>2];z=B[r+20>>2];h=E(H-z);K=B[p+24>>2];N=E(E(E(I*i)-E(l*h))*E(K-u));D=h;h=B[p+8>>2];L=B[p+16>>2];O=B[p+20>>2];w=E(N+E(E(E(E(D*h)-E(i*w))*E(L-n))+E(E(O-z)*E(E(w*l)-E(h*I)))));D=u;u=B[r+8>>2];I=E(D-u);D=n;n=B[r>>2];N=E(D-n);D=z;z=B[r+4>>2];D=E(D-z);I=E(E(E(E(N*i)-E(l*D))*E(K-u))+E(E(E(E(D*h)-E(i*I))*E(L-n))+E(E(O-z)*E(E(I*l)-E(h*N)))));n=E(n-A);z=E(z-H);K=E(E(E(n*i)-E(l*z))*E(K-C));D=i;i=E(u-C);i=E(K+E(E(E(E(z*h)-E(D*i))*E(L-A))+E(E(O-H)*E(E(i*l)-E(h*n)))));b:{if(!(!(i>E(0))|!(I>E(0)))){r=1;if(w>E(0)){break b}}r=I<=E(0)&w<=E(0)&i<=E(0)}c:{if(r){s=E(y-E(f*q));t=E(g-E(f*m));F=E(j-E(f*o));A=E(k*k);break c}if((ia[x[x[v>>2]+100>>2]](v)|0)<=0){break a}A=E(k*k);r=0;v=0;while(1){J=x[a+8>>2];ia[x[x[J>>2]+104>>2]](J,v,p+16|0,p);g=E(0);y=B[p+24>>2];i=E(B[p+8>>2]-y);f=E(B[d+100>>2]-y);C=B[p+16>>2];l=E(B[p>>2]-C);k=E(B[d+92>>2]-C);u=B[p+20>>2];j=E(B[d+96>>2]-u);h=E(B[p+4>>2]-u);w=E(E(i*f)+E(E(l*k)+E(j*h)));d:{if(!(w>E(0))){break d}g=E(E(i*i)+E(E(l*l)+E(h*h)));if(g>w){g=E(w/g);f=E(f-E(i*g));j=E(j-E(h*g));k=E(k-E(l*g));break d}f=E(f-i);j=E(j-h);k=E(k-l);g=E(1)}if(E(E(f*f)+E(E(k*k)+E(j*j)))>2];v=v+1|0;if((ia[x[x[J>>2]+100>>2]](J)|0)>(v|0)){continue}break}J=0;if(!r){break a}y=B[d+100>>2];g=B[d+96>>2];j=B[d+92>>2]}f=E(y-s);j=E(j-F);g=E(g-t);k=E(E(f*f)+E(E(j*j)+E(g*g)));if(!(kE(1.1920928955078125e-7)){x[d+124>>2]=0;i=f;k=E(M(k));f=E(E(1)/k);B[d+120>>2]=i*f;B[d+116>>2]=g*f;B[d+112>>2]=j*f;G=E(G-k);break e}x[d+124>>2]=0;B[d+120>>2]=q;B[d+116>>2]=m;B[d+112>>2]=o}x[d+140>>2]=0;B[d+136>>2]=s;B[d+132>>2]=t;B[d+128>>2]=F;B[d+108>>2]=-G;J=1}ga=p+32|0;f:{if(!J){break f}if(e){k=B[b+72>>2];q=B[b+64>>2];o=B[b+68>>2];m=B[b+88>>2];i=B[b+80>>2];l=B[b+84>>2];h=B[b+104>>2];s=B[b+96>>2];t=B[b+100>>2];f=B[d+120>>2];g=B[d+112>>2];j=B[d+116>>2];x[d+40>>2]=0;F=E(E(h*f)+E(E(s*g)+E(j*t)));B[d+36>>2]=-F;G=E(E(m*f)+E(E(i*g)+E(j*l)));B[d+32>>2]=-G;y=E(E(k*f)+E(E(q*g)+E(o*j)));B[d+28>>2]=-y;A=B[b+112>>2];C=B[b+116>>2];f=B[b+120>>2];x[d+24>>2]=0;g=B[d+136>>2];n=E(h*g);j=B[d+128>>2];h=B[d+132>>2];n=E(f+E(n+E(E(s*j)+E(t*h))));f=B[d+108>>2];B[d+20>>2]=n+E(F*f);B[d+16>>2]=E(C+E(E(g*m)+E(E(j*i)+E(l*h))))+E(G*f);B[d+12>>2]=E(A+E(E(g*k)+E(E(j*q)+E(o*h))))+E(y*f);ia[x[x[c>>2]+16>>2]](c,d+28|0,d+12|0,f);break f}f=B[b+72>>2];g=B[b+64>>2];j=B[b+68>>2];k=B[b+88>>2];q=B[b+80>>2];o=B[b+84>>2];m=B[b+104>>2];i=B[b+96>>2];l=B[b+100>>2];x[d+40>>2]=0;h=B[d+120>>2];s=B[d+112>>2];t=B[d+116>>2];B[d+36>>2]=E(m*h)+E(E(i*s)+E(l*t));B[d+32>>2]=E(k*h)+E(E(q*s)+E(t*o));B[d+28>>2]=E(f*h)+E(E(g*s)+E(j*t));h=B[b+112>>2];s=B[b+116>>2];t=B[b+120>>2];x[d+24>>2]=0;n=m;m=B[d+136>>2];u=i;i=B[d+128>>2];z=l;l=B[d+132>>2];B[d+20>>2]=t+E(E(n*m)+E(E(u*i)+E(z*l)));B[d+16>>2]=s+E(E(m*k)+E(E(i*q)+E(o*l)));B[d+12>>2]=h+E(E(m*f)+E(E(i*g)+E(j*l)));ia[x[x[c>>2]+16>>2]](c,d+28|0,d+12|0,B[d+108>>2])}ga=d+144|0}function Yg(a,b){a=a|0;b=E(b);var c=0,d=0,e=0,f=0,g=E(0),h=0,i=E(0),j=0,k=E(0),l=E(0),m=E(0),n=E(0),o=0,p=E(0),q=0,r=0,s=0,t=0,u=0,w=0,z=E(0),A=0,C=E(0),F=E(0),G=E(0),H=E(0),I=E(0),J=E(0),K=E(0),L=E(0),M=0,N=E(0),O=0,P=E(0),Q=E(0);A=ga-16|0;ga=A;ia[x[8262]](3728);ia[x[8262]](4613);if(x[a+324>>2]>0){while(1){e=x[a+24>>2];ia[x[x[e>>2]+16>>2]](e,x[x[a+332>>2]+(c<<2)>>2]);c=c+1|0;if((c|0)>2]){continue}break}}c=x[a+332>>2];if(!(c?!c|!y[a+336|0]:1)){x[8457]=x[8457]+1;ia[x[8259]](c)}x[a+332>>2]=0;v[a+336|0]=1;x[a+324>>2]=0;x[a+328>>2]=0;ia[x[8263]]();s=x[a+248>>2];if((s|0)>0){M=x[a+256>>2];c=ga-512|0;ga=c;if((s|0)>0){while(1){e=x[(t<<2)+M>>2];x[e+268>>2]=1065353216;a:{b:{switch(x[e+220>>2]-2|0){case 0:case 3:break a;default:break b}}if(y[e+204|0]&3){break a}eb(e,b,c+448|0);if(!y[a+44|0]){break a}g=B[e+276>>2];g=E(g*g);if(g==E(0)){break a}i=E(B[c+504>>2]-B[e+60>>2]);k=E(i*i);i=E(B[c+496>>2]-B[e+52>>2]);p=E(i*i);i=E(B[c+500>>2]-B[e+56>>2]);if(!(g>2]+4>>2]<=19){x[8932]=x[8932]+1;d=x[a+68>>2];d=ia[x[x[d>>2]+36>>2]](d)|0;h=x[a+24>>2];x[c+356>>2]=-1;x[c+360>>2]=0;x[c+348>>2]=1065353216;x[c+352>>2]=1;f=x[e+64>>2];x[c+372>>2]=x[e+60>>2];x[c+376>>2]=f;f=x[e+56>>2];x[c+364>>2]=x[e+52>>2];x[c+368>>2]=f;f=x[c+508>>2];x[c+388>>2]=x[c+504>>2];x[c+392>>2]=f;f=x[c+500>>2];x[c+380>>2]=x[c+496>>2];x[c+384>>2]=f;x[c+440>>2]=h;x[c+436>>2]=d;x[c+432>>2]=0;x[c+344>>2]=24500;x[c+428>>2]=e;g=B[e+272>>2];h=Ha(c+284|0);x[h>>2]=21396;x[c+312>>2]=1065353216;x[c+304>>2]=1065353216;x[c+308>>2]=1065353216;x[c+288>>2]=8;x[c+332>>2]=0;x[c+324>>2]=0;x[c+328>>2]=0;x[c+316>>2]=0;x[c+320>>2]=0;x[c+340>>2]=0;B[c+336>>2]=g;B[c+320>>2]=g;B[c+432>>2]=B[a+56>>2];d=x[e+188>>2];x[c+352>>2]=x[d+4>>2];x[c+356>>2]=x[d+8>>2];d=x[c+460>>2];x[c+224>>2]=x[c+456>>2];x[c+228>>2]=d;d=x[c+452>>2];x[c+216>>2]=x[c+448>>2];x[c+220>>2]=d;d=x[c+476>>2];x[c+240>>2]=x[c+472>>2];x[c+244>>2]=d;d=x[c+468>>2];x[c+232>>2]=x[c+464>>2];x[c+236>>2]=d;d=x[c+492>>2];x[c+256>>2]=x[c+488>>2];x[c+260>>2]=d;d=x[c+484>>2];x[c+248>>2]=x[c+480>>2];x[c+252>>2]=d;d=x[c+508>>2];x[c+272>>2]=x[c+504>>2];x[c+276>>2]=d;d=x[c+500>>2];x[c+264>>2]=x[c+496>>2];x[c+268>>2]=d;d=e+4|0;f=x[d+12>>2];x[c+224>>2]=x[d+8>>2];x[c+228>>2]=f;f=x[d+4>>2];x[c+216>>2]=x[d>>2];x[c+220>>2]=f;f=x[e+32>>2];x[c+240>>2]=x[e+28>>2];x[c+244>>2]=f;f=x[e+24>>2];x[c+232>>2]=x[e+20>>2];x[c+236>>2]=f;f=x[e+48>>2];x[c+256>>2]=x[e+44>>2];x[c+260>>2]=f;f=x[e+40>>2];x[c+248>>2]=x[e+36>>2];x[c+252>>2]=f;kb(a,h,d,c+216|0,c+344|0,E(0));d=x[c+360>>2];c:{if(!d){break c}g=B[c+348>>2];if(!(g>2]-B[e+52>>2]));m=E(g*E(B[c+500>>2]-B[e+56>>2]));n=E(g*E(B[c+504>>2]-B[e+60>>2]));N=E(E(E(l*E(-B[c+396>>2]))-E(m*B[c+400>>2]))-E(n*B[c+404>>2]));h=x[a+24>>2];u=ia[x[x[h>>2]+12>>2]](h,e,d)|0;d=x[a+324>>2];d:{if((d|0)!=x[a+328>>2]){break d}r=d?d<<1:1;if((r|0)<=(d|0)){break d}e:{if(!r){h=0;break e}x[8456]=x[8456]+1;h=ia[x[8258]](r<<2,16)|0;d=x[a+324>>2]}f:{if((d|0)<=0){break f}w=0;f=0;if(d>>>0>=4){O=d&-4;o=0;while(1){j=f<<2;x[j+h>>2]=x[j+x[a+332>>2]>>2];q=j|4;x[q+h>>2]=x[q+x[a+332>>2]>>2];q=j|8;x[q+h>>2]=x[q+x[a+332>>2]>>2];j=j|12;x[j+h>>2]=x[j+x[a+332>>2]>>2];f=f+4|0;o=o+4|0;if((O|0)!=(o|0)){continue}break}}j=d&3;if(!j){break f}while(1){o=f<<2;x[o+h>>2]=x[o+x[a+332>>2]>>2];f=f+1|0;w=w+1|0;if((j|0)!=(w|0)){continue}break}}f=x[a+332>>2];if(!(!f|!y[a+336|0])){if(f){x[8457]=x[8457]+1;ia[x[8259]](f)}d=x[a+324>>2]}x[a+332>>2]=h;v[a+336|0]=1;x[a+328>>2]=r}x[x[a+332>>2]+(d<<2)>>2]=u;x[a+324>>2]=d+1;d=x[c+360>>2];C=B[d+20>>2];F=B[d+36>>2];G=B[d+40>>2];H=B[d+8>>2];I=B[d+24>>2];g=B[d+60>>2];P=B[d+52>>2];i=B[d+56>>2];J=B[d+44>>2];k=B[d+12>>2];K=B[d+28>>2];L=B[d+4>>2];p=B[e+60>>2];z=B[e+52>>2];Q=B[e+56>>2];x[c+16>>2]=0;x[c+20>>2]=0;x[c+8>>2]=0;x[c+12>>2]=0;x[c+36>>2]=0;n=E(n+p);l=E(l+z);m=E(m+Q);z=E(E(J*n)+E(E(k*l)+E(K*m)));p=k;k=E(-P);B[c+32>>2]=z+E(E(E(p*k)-E(K*i))-E(J*g));B[c+28>>2]=E(E(n*G)+E(E(l*H)+E(m*I)))+E(E(E(H*k)-E(I*i))-E(G*g));B[c+24>>2]=E(E(n*F)+E(E(l*L)+E(m*C)))+E(E(E(L*k)-E(C*i))-E(F*g));d=x[c+408>>2];x[c+80>>2]=x[c+404>>2];x[c+84>>2]=d;d=x[c+400>>2];x[c+72>>2]=x[c+396>>2];x[c+76>>2]=d;B[c+88>>2]=N;x[c+100>>2]=0;x[c+104>>2]=0;x[c+92>>2]=0;x[c+96>>2]=0;x[c+172>>2]=0;x[c+164>>2]=0;x[c+168>>2]=0;x[c+156>>2]=0;x[c+160>>2]=0;x[c+148>>2]=0;x[c+152>>2]=0;x[c+140>>2]=0;x[c+144>>2]=0;x[c+132>>2]=0;x[c+136>>2]=0;x[c+124>>2]=0;x[c+128>>2]=0;d=D(gc(u,c+8|0),208)+u|0;x[d+100>>2]=0;g=E(B[e+228>>2]*B[x[c+360>>2]+228>>2]);g=g>2]=g>E(10)?E(10):g;h=x[e+56>>2];x[d+52>>2]=x[e+52>>2];x[d+56>>2]=h;h=x[e+64>>2];x[d+60>>2]=x[e+60>>2];x[d+64>>2]=h;x[d+48>>2]=0;B[d+44>>2]=n;B[d+40>>2]=m;B[d+36>>2]=l}}ia[x[8263]]()}t=t+1|0;if((s|0)!=(t|0)){continue}break}}ga=c+512|0}ia[x[8263]]();ga=A+16|0}function Ig(a,b){a=a|0;b=E(b);var c=0,d=0,e=0,f=E(0),g=0,h=0,i=E(0),j=0,k=E(0),l=E(0),m=E(0),n=E(0),o=0,p=E(0),q=0,r=0,s=0,t=0,u=0,w=E(0),z=0,A=E(0),C=E(0),F=E(0),G=E(0),H=E(0),I=E(0),J=E(0),K=E(0),L=E(0),M=0,N=E(0),O=E(0);c=ga-512|0;ga=c;ia[x[8262]](3728);d=ga-16|0;ga=d;ia[x[8262]](4613);if(x[a+324>>2]>0){while(1){h=x[a+24>>2];ia[x[x[h>>2]+16>>2]](h,x[x[a+332>>2]+(e<<2)>>2]);e=e+1|0;if((e|0)>2]){continue}break}}e=x[a+332>>2];if(!(e?!e|!y[a+336|0]:1)){x[8457]=x[8457]+1;ia[x[8259]](e)}x[a+332>>2]=0;v[a+336|0]=1;x[a+324>>2]=0;x[a+328>>2]=0;ia[x[8263]]();ga=d+16|0;z=x[a+248>>2];if((z|0)>0){while(1){e=x[x[a+256>>2]+(s<<2)>>2];x[e+268>>2]=1065353216;a:{b:{switch(x[e+220>>2]-2|0){case 0:case 3:break a;default:break b}}if(y[e+204|0]&3){break a}eb(e,b,c+444|0);if(!y[a+44|0]){break a}f=B[e+276>>2];f=E(f*f);if(f==E(0)){break a}i=E(B[c+500>>2]-B[e+60>>2]);k=E(i*i);i=E(B[c+492>>2]-B[e+52>>2]);p=E(i*i);i=E(B[c+496>>2]-B[e+56>>2]);if(!(f>2]+4>>2]<=19){x[c+356>>2]=-1;x[c+360>>2]=0;x[c+348>>2]=1065353216;x[c+352>>2]=1;d=x[e+64>>2];x[c+372>>2]=x[e+60>>2];x[c+376>>2]=d;d=x[e+56>>2];x[c+364>>2]=x[e+52>>2];x[c+368>>2]=d;d=x[c+504>>2];x[c+388>>2]=x[c+500>>2];x[c+392>>2]=d;d=x[c+496>>2];x[c+380>>2]=x[c+492>>2];x[c+384>>2]=d;x[c+436>>2]=a;x[c+428>>2]=0;x[c+344>>2]=24980;x[c+432>>2]=e;f=B[e+272>>2];h=Ha(c+284|0);x[h>>2]=21396;x[c+312>>2]=1065353216;x[c+304>>2]=1065353216;x[c+308>>2]=1065353216;x[c+288>>2]=8;x[c+332>>2]=0;x[c+324>>2]=0;x[c+328>>2]=0;x[c+316>>2]=0;x[c+320>>2]=0;x[c+340>>2]=0;B[c+336>>2]=f;B[c+320>>2]=f;d=x[e+188>>2];x[c+352>>2]=x[d+4>>2];x[c+356>>2]=x[d+8>>2];d=x[c+456>>2];x[c+224>>2]=x[c+452>>2];x[c+228>>2]=d;d=x[c+448>>2];x[c+216>>2]=x[c+444>>2];x[c+220>>2]=d;d=x[c+472>>2];x[c+240>>2]=x[c+468>>2];x[c+244>>2]=d;d=x[c+464>>2];x[c+232>>2]=x[c+460>>2];x[c+236>>2]=d;d=x[c+488>>2];x[c+256>>2]=x[c+484>>2];x[c+260>>2]=d;d=x[c+480>>2];x[c+248>>2]=x[c+476>>2];x[c+252>>2]=d;d=x[c+504>>2];x[c+272>>2]=x[c+500>>2];x[c+276>>2]=d;d=x[c+496>>2];x[c+264>>2]=x[c+492>>2];x[c+268>>2]=d;d=e+4|0;g=x[d+12>>2];x[c+224>>2]=x[d+8>>2];x[c+228>>2]=g;g=x[d+4>>2];x[c+216>>2]=x[d>>2];x[c+220>>2]=g;g=x[e+32>>2];x[c+240>>2]=x[e+28>>2];x[c+244>>2]=g;g=x[e+24>>2];x[c+232>>2]=x[e+20>>2];x[c+236>>2]=g;g=x[e+48>>2];x[c+256>>2]=x[e+44>>2];x[c+260>>2]=g;g=x[e+40>>2];x[c+248>>2]=x[e+36>>2];x[c+252>>2]=g;kb(a,h,d,c+216|0,c+344|0,E(0));d=x[c+360>>2];if(d){f=B[c+348>>2];l=E(E(B[c+492>>2]-B[e+52>>2])*f);m=E(E(B[c+496>>2]-B[e+56>>2])*f);n=E(f*E(B[c+500>>2]-B[e+60>>2]));L=E(E(E(l*E(-B[c+396>>2]))-E(m*B[c+400>>2]))-E(n*B[c+404>>2]));h=x[a+24>>2];t=ia[x[x[h>>2]+12>>2]](h,e,d)|0;d=x[a+324>>2];c:{if((d|0)!=x[a+328>>2]){break c}r=d?d<<1:1;if((r|0)<=(d|0)){break c}d:{if(!r){h=0;break d}x[8456]=x[8456]+1;h=ia[x[8258]](r<<2,16)|0;d=x[a+324>>2]}e:{if((d|0)<=0){break e}u=0;g=0;if(d>>>0>=4){M=d&-4;o=0;while(1){j=g<<2;x[j+h>>2]=x[j+x[a+332>>2]>>2];q=j|4;x[q+h>>2]=x[q+x[a+332>>2]>>2];q=j|8;x[q+h>>2]=x[q+x[a+332>>2]>>2];j=j|12;x[j+h>>2]=x[j+x[a+332>>2]>>2];g=g+4|0;o=o+4|0;if((M|0)!=(o|0)){continue}break}}j=d&3;if(!j){break e}while(1){o=g<<2;x[o+h>>2]=x[o+x[a+332>>2]>>2];g=g+1|0;u=u+1|0;if((j|0)!=(u|0)){continue}break}}g=x[a+332>>2];if(!(!g|!y[a+336|0])){if(g){x[8457]=x[8457]+1;ia[x[8259]](g)}d=x[a+324>>2]}x[a+332>>2]=h;v[a+336|0]=1;x[a+328>>2]=r}x[x[a+332>>2]+(d<<2)>>2]=t;x[a+324>>2]=d+1;d=x[c+360>>2];A=B[d+20>>2];C=B[d+36>>2];F=B[d+40>>2];G=B[d+8>>2];H=B[d+24>>2];f=B[d+60>>2];N=B[d+52>>2];i=B[d+56>>2];I=B[d+44>>2];k=B[d+12>>2];J=B[d+28>>2];K=B[d+4>>2];p=B[e+60>>2];w=B[e+52>>2];O=B[e+56>>2];x[c+16>>2]=0;x[c+20>>2]=0;x[c+8>>2]=0;x[c+12>>2]=0;x[c+36>>2]=0;n=E(n+p);l=E(l+w);m=E(m+O);w=E(E(I*n)+E(E(k*l)+E(J*m)));p=k;k=E(-N);B[c+32>>2]=w+E(E(E(p*k)-E(J*i))-E(I*f));B[c+28>>2]=E(E(n*F)+E(E(l*G)+E(m*H)))+E(E(E(G*k)-E(H*i))-E(F*f));B[c+24>>2]=E(E(n*C)+E(E(l*K)+E(m*A)))+E(E(E(K*k)-E(A*i))-E(C*f));d=x[c+408>>2];x[c+80>>2]=x[c+404>>2];x[c+84>>2]=d;d=x[c+400>>2];x[c+72>>2]=x[c+396>>2];x[c+76>>2]=d;B[c+88>>2]=L;x[c+100>>2]=0;x[c+104>>2]=0;x[c+92>>2]=0;x[c+96>>2]=0;x[c+172>>2]=0;x[c+164>>2]=0;x[c+168>>2]=0;x[c+156>>2]=0;x[c+160>>2]=0;x[c+148>>2]=0;x[c+152>>2]=0;x[c+140>>2]=0;x[c+144>>2]=0;x[c+132>>2]=0;x[c+136>>2]=0;x[c+124>>2]=0;x[c+128>>2]=0;x[c+208>>2]=x[e+192>>2];x[c+212>>2]=x[c+428>>2];d=D(gc(t,c+8|0),208)+t|0;x[d+100>>2]=0;f=E(B[e+228>>2]*B[x[c+360>>2]+228>>2]);f=f>2]=f>E(10)?E(10):f;h=x[e+56>>2];x[d+52>>2]=x[e+52>>2];x[d+56>>2]=h;h=x[e+64>>2];x[d+60>>2]=x[e+60>>2];x[d+64>>2]=h;x[d+48>>2]=0;B[d+44>>2]=n;B[d+40>>2]=m;B[d+36>>2]=l}}ia[x[8263]]()}s=s+1|0;if((z|0)!=(s|0)){continue}break}}ia[x[8263]]();ga=c+512|0}function gc(a,b){var c=E(0),d=E(0),e=E(0),f=E(0),g=E(0),h=E(0),i=E(0),j=E(0),k=0,l=E(0),m=E(0),n=E(0),o=E(0),p=E(0),q=E(0),r=E(0),s=E(0),t=E(0),u=E(0),v=E(0),w=E(0),z=0,A=E(0),C=E(0),G=0,H=E(0),I=E(0),J=E(0),K=E(0),L=E(0),M=E(0),N=E(0),O=E(0),P=E(0),Q=E(0),R=E(0),S=E(0),T=E(0),U=E(0),V=E(0),W=E(0),X=E(0),Y=E(0),Z=E(0),_=E(0),$=E(0),aa=E(0),ba=E(0),ca=E(0),da=E(0),ea=0;k=x[a+844>>2];a:{if((k|0)==4){c=B[a+84>>2];e=B[b+80>>2];k=c>2];c=k?c:e;k=f>2];c=k?f:c;z=e>2]<(z?e:c);G=k?3:G;b:{c:{d:{e:{if(y[33064]){if(!G){n=B[a+636>>2];i=B[a+428>>2];h=E(n-i);q=B[a+632>>2];l=B[a+424>>2];d=E(q-l);v=B[a+628>>2];w=B[a+420>>2];m=E(v-w);e=B[b+8>>2];f=B[b+4>>2];j=B[b>>2];break e}j=B[b>>2];s=B[a+212>>2];c=E(j-s);q=B[a+632>>2];l=B[a+424>>2];d=E(q-l);v=B[a+628>>2];w=B[a+420>>2];m=E(v-w);f=B[b+4>>2];t=B[a+216>>2];e=E(f-t);h=E(E(c*d)-E(m*e));o=E(h*h);n=B[a+636>>2];i=B[a+428>>2];h=E(n-i);p=E(e*h);e=B[b+8>>2];u=B[a+220>>2];g=E(e-u);p=E(p-E(d*g));c=E(E(g*m)-E(h*c));da=E(o+E(E(p*p)+E(c*c)));if((G|0)!=1){break e}j=E(j-B[a+4>>2]);g=E(-j);f=E(f-B[a+8>>2]);p=E(-f);e=E(e-B[a+12>>2]);r=E(-e);m=E(0);break d}f:{g:{h:{i:{if(!G){j=B[a+428>>2];h=B[a+636>>2];m=E(j-h);f=B[a+424>>2];d=B[a+632>>2];A=E(f-d);e=B[a+420>>2];l=B[a+628>>2];H=E(e-l);u=B[b+4>>2];N=E(u-d);W=E(-N);t=B[b>>2];C=E(t-l);X=E(-C);s=B[b+8>>2];O=E(s-h);Y=E(-O);K=E(t-e);J=E(-K);L=E(s-j);V=E(-L);M=E(u-f);c=E(-M);break i}t=B[b>>2];g=B[a+212>>2];P=E(t-g);f=B[a+424>>2];d=B[a+632>>2];A=E(f-d);e=B[a+420>>2];l=B[a+628>>2];H=E(e-l);u=B[b+4>>2];p=B[a+216>>2];Q=E(u-p);c=E(E(P*A)-E(H*Q));i=E(c*c);j=B[a+428>>2];h=B[a+636>>2];m=E(j-h);s=B[b+8>>2];r=B[a+220>>2];R=E(s-r);c=E(E(Q*m)-E(A*R));n=E(c*c);c=E(E(R*H)-E(m*P));n=E(i+E(n+E(c*c)));K=E(t-e);I=E(p-d);c=E(g-l);M=E(u-f);i=E(E(K*I)-E(c*M));q=E(i*i);J=E(r-h);L=E(s-j);i=E(E(M*J)-E(I*L));o=E(i*i);i=E(E(L*c)-E(J*K));i=E(q+E(o+E(i*i)));n=i>2];v=E(t-n);i=B[a+8>>2];w=E(u-i);g=E(E(v*A)-E(H*w));o=E(g*g);q=B[a+12>>2];S=E(s-q);g=E(E(w*m)-E(A*S));m=E(E(S*H)-E(m*v));m=E(o+E(E(g*g)+E(m*m)));o=E(i-d);T=E(n-l);g=E(E(K*o)+E(T*c));p=E(g*g);U=E(q-h);g=E(E(M*U)+E(o*V));r=E(g*g);g=E(E(L*T)+E(U*J));g=E(p+E(r+E(g*g)));m=g>2];Q=E(u-p);_=E(-Q);g=B[a+212>>2];P=E(t-g);$=E(-P);r=B[a+220>>2];R=E(s-r);aa=E(-R);ba=E(-w);ca=E(-S);if(!(!z|k)){l=E(q-r);o=E(i-p);C=E(n-g);d=E(0);break f}J=E(r-h);I=E(p-d);c=E(g-l);break g}_=E(-Q);$=E(-P);aa=E(-R);n=B[a+4>>2];T=E(n-l);q=B[a+12>>2];U=E(q-h);i=B[a+8>>2];o=E(i-d);v=E(t-n);Z=E(-v);w=E(u-i);ba=E(-w);S=E(s-q);ca=E(-S);m=E(0)}d=E(E(v*I)+E(c*ba));h=E(d*d);d=E(E(w*J)+E(I*ca));c=E(E(S*c)+E(J*Z));c=E(h+E(E(d*d)+E(c*c)));d=E(E(P*o)+E(T*_));h=E(d*d);d=E(E(Q*U)+E(o*aa));l=E(d*d);d=E(E(R*T)+E(U*$));d=E(h+E(l+E(d*d)));c=c>d?c:d;o=E(i-p);h=E(C*o);C=E(n-g);d=E(h+E(C*W));h=E(d*d);l=E(q-r);d=E(E(N*l)+E(o*Y));A=E(d*d);d=E(E(O*C)+E(l*X));d=E(h+E(A+E(d*d)));d=c>d?c:d;c=E(0);if(k){break b}I=E(q-j);A=E(i-f);H=E(n-e);M=E(u-f);c=E(-M);K=E(t-e);J=E(-K);L=E(s-j);V=E(-L)}f=E(p-f);e=E(g-e);h=E(E(v*f)+E(e*ba));j=E(r-j);f=E(E(w*j)+E(f*ca));e=E(E(S*e)+E(j*Z));e=E(E(h*h)+E(E(f*f)+E(e*e)));f=E(E(P*A)+E(H*_));h=E(f*f);f=E(E(Q*I)+E(A*aa));g=E(f*f);f=E(E(R*H)+E(I*$));f=E(h+E(g+E(f*f)));e=e>f?e:f;c=E(E(K*o)+E(C*c));f=E(c*c);c=E(E(M*l)+E(o*V));h=E(c*c);c=E(E(L*C)+E(l*J));c=E(f+E(h+E(c*c)));c=c>2]);f=E(f-B[a+8>>2]);c=E(E(j*d)-E(m*f));g=E(c*c);e=E(e-B[a+12>>2]);c=E(E(f*h)-E(d*e));d=E(c*c);c=E(E(e*m)-E(h*j));m=E(g+E(d+E(c*c)));u=B[a+220>>2];t=B[a+216>>2];s=B[a+212>>2];g=E(-j);p=E(-f);r=E(-e);if(k){break d}d=E(0);if(z){break c}}c=E(q-t);d=E(v-s);h=E(E(j*c)+E(d*p));q=E(h*h);h=E(n-u);c=E(E(f*h)+E(c*r));n=E(c*c);c=E(E(e*d)+E(h*g));d=E(q+E(n+E(c*c)));c=E(0);if(k){break b}}c=E(l-t);h=E(j*c);j=E(w-s);l=E(h+E(j*p));h=f;f=E(i-u);c=E(E(h*f)+E(c*r));h=E(c*c);c=E(E(e*j)+E(f*g));c=E(E(l*l)+E(h+E(c*c)))}e=E(F(da));k=e>E(-0xde0b6b000000000);z=k?0:-1;f=E(F(m));e=k?e:E(-0xde0b6b000000000);k=f>e;z=k?1:z;j=E(F(d));e=k?f:e;k=j>e;k=E(F(c))>(k?j:e)?3:k?2:z;G=D(k,208)+a|0;z=x[G+120>>2];if(!z){break a}ea=x[8753];if(!ea){break a}ia[ea|0](z)|0;x[G+120>>2]=0;break a}x[a+844>>2]=k+1}z=a;a=(k|0)>0?k:0;ya((z+D(a,208)|0)+4|0,b,208);return a}function Id(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=E(0),i=E(0),j=E(0),k=E(0),l=E(0),m=E(0),n=E(0),o=E(0),p=E(0),q=E(0),r=0,s=E(0),t=E(0),u=E(0),v=E(0),w=E(0),y=E(0),z=E(0),A=E(0),C=E(0),D=E(0),F=E(0),G=E(0),H=0,I=E(0),J=E(0),K=E(0),L=E(0),N=E(0),O=E(0),P=E(0),Q=E(0),R=E(0),S=E(0),T=E(0),U=E(0),V=E(0),W=E(0),X=E(0),Y=E(0),Z=E(0),_=E(0),$=E(0),aa=E(0),ba=E(0),ca=E(0),da=0,ea=E(0),fa=0;g=ga-96|0;ga=g;zb(x[a+4>>2]);W=B[d+40>>2];X=B[d+36>>2];Y=B[d+24>>2];Z=B[d+20>>2];J=B[b+20>>2];K=B[b+36>>2];L=B[b+24>>2];z=B[b+52>>2];m=B[c+52>>2];A=B[d+52>>2];l=B[e+52>>2];N=B[b+40>>2];C=B[b+56>>2];h=B[c+56>>2];D=B[d+56>>2];i=B[e+56>>2];_=B[d+32>>2];$=B[d+16>>2];aa=B[d+8>>2];ba=B[d+4>>2];ca=B[d>>2];O=B[b>>2];P=B[b+16>>2];Q=B[b+32>>2];R=B[b+4>>2];S=B[b+8>>2];F=B[b+48>>2];j=B[c+48>>2];G=B[d+48>>2];p=B[e+48>>2];r=x[a+8>>2];x[g+60>>2]=0;y=E(E(j-F)-E(p-G));j=E(-y);t=E(E(m-z)-E(l-A));u=E(E(h-C)-E(i-D));B[g+56>>2]=E(E(S*j)-E(L*t))-E(N*u);B[g+52>>2]=E(E(R*j)-E(J*t))-E(K*u);B[g+48>>2]=E(E(O*j)-E(P*t))-E(Q*u);ia[x[x[r>>2]+64>>2]](g+80|0,r,g+48|0);h=B[b+52>>2];i=B[b+24>>2];p=B[b+20>>2];j=B[b+56>>2];m=B[b+40>>2];l=B[b+36>>2];k=B[b+16>>2];n=B[b+48>>2];s=B[b+8>>2];o=B[b>>2];q=B[b+4>>2];v=B[b+32>>2];x[g+76>>2]=0;T=j;j=B[g+88>>2];w=E(m*j);m=B[g+80>>2];U=l;l=B[g+84>>2];v=E(T+E(w+E(E(v*m)+E(U*l))));B[g+72>>2]=v;n=E(n+E(E(j*s)+E(E(m*o)+E(l*q))));B[g+64>>2]=n;h=E(h+E(E(j*i)+E(E(m*k)+E(l*p))));B[g+68>>2]=h;r=x[a+12>>2];j=B[d+20>>2];m=B[d+36>>2];l=B[d+24>>2];i=B[d+40>>2];p=B[d>>2];k=B[d+16>>2];s=B[d+32>>2];o=B[d+4>>2];q=B[d+8>>2];x[g+28>>2]=0;B[g+24>>2]=E(i*u)+E(E(q*y)+E(t*l));B[g+20>>2]=E(m*u)+E(E(o*y)+E(t*j));B[g+16>>2]=E(s*u)+E(E(p*y)+E(t*k));ia[x[x[r>>2]+64>>2]](g+32|0,r,g+16|0);p=B[d+56>>2];k=B[d+40>>2];s=B[d+36>>2];j=B[d+52>>2];m=B[d+24>>2];l=B[d+20>>2];o=B[d+32>>2];i=B[d+48>>2];q=B[d+8>>2];w=B[d>>2];V=B[d+4>>2];I=B[d+16>>2];x[g+60>>2]=0;x[g+92>>2]=0;T=j;j=B[g+40>>2];ea=E(m*j);m=B[g+32>>2];U=l;l=B[g+36>>2];I=E(T+E(ea+E(E(I*m)+E(U*l))));B[g+52>>2]=I;h=E(h-I);B[g+84>>2]=h;i=E(i+E(E(j*q)+E(E(m*w)+E(l*V))));B[g+48>>2]=i;i=E(n-i);B[g+80>>2]=i;j=E(p+E(E(j*k)+E(E(m*o)+E(l*s))));B[g+56>>2]=j;k=E(v-j);B[g+88>>2]=k;s=E(0);j=E(0);m=E(0);l=E(0);p=E(0);n=E(0);a:{b:{if(!(E(E(k*k)+E(E(i*i)+E(h*h)))>E(9999999747378752e-20))){break b}r=32;while(1){if(!r){break b}H=x[a+8>>2];x[g+12>>2]=0;h=E(-B[g+80>>2]);i=B[g+84>>2];k=B[g+88>>2];B[g+8>>2]=E(E(S*h)-E(L*i))-E(N*k);B[g+4>>2]=E(E(R*h)-E(J*i))-E(K*k);B[g>>2]=E(E(O*h)-E(P*i))-E(Q*k);da=g+16|0;ia[x[x[H>>2]+64>>2]](da,H,g);x[g+76>>2]=0;h=B[g+24>>2];i=B[g+16>>2];k=B[g+20>>2];B[g+72>>2]=C+E(E(h*N)+E(E(i*Q)+E(K*k)));B[g+68>>2]=z+E(E(h*L)+E(E(i*P)+E(J*k)));B[g+64>>2]=F+E(E(h*S)+E(E(i*O)+E(R*k)));H=x[a+12>>2];x[g+12>>2]=0;h=B[g+88>>2];i=B[g+80>>2];k=B[g+84>>2];B[g+8>>2]=E(W*h)+E(E(aa*i)+E(Y*k));B[g+4>>2]=E(X*h)+E(E(ba*i)+E(Z*k));B[g>>2]=E(_*h)+E(E(ca*i)+E($*k));ia[x[x[H>>2]+64>>2]](da,H,g);x[g+60>>2]=0;x[g+44>>2]=0;k=B[g+24>>2];o=B[g+16>>2];q=B[g+20>>2];h=E(A+E(E(k*Y)+E(E(o*$)+E(Z*q))));B[g+52>>2]=h;v=E(B[g+68>>2]-h);B[g+36>>2]=v;h=B[g+84>>2];i=E(G+E(E(k*aa)+E(E(o*ca)+E(ba*q))));B[g+48>>2]=i;w=E(B[g+64>>2]-i);B[g+32>>2]=w;i=B[g+80>>2];k=E(D+E(E(k*W)+E(E(o*_)+E(X*q))));B[g+56>>2]=k;o=E(B[g+72>>2]-k);B[g+40>>2]=o;if(n>E(1)){break a}k=B[g+88>>2];o=E(E(k*o)+E(E(i*w)+E(h*v)));if(o>E(0)){j=E(E(k*u)+E(E(i*y)+E(t*h)));if(j>=E(-14210854715202004e-30)){break a}m=B[b+48>>2];l=B[c+48>>2];p=B[b+52>>2];z=B[c+52>>2];C=B[b+56>>2];F=B[c+56>>2];G=B[d+48>>2];q=B[e+48>>2];A=B[d+52>>2];w=B[e+52>>2];D=B[d+56>>2];V=B[e+56>>2];x[g+44>>2]=0;B[g+36>>2]=v;n=E(n-E(o/j));j=E(E(1)-n);D=E(E(D*j)+E(n*V));A=E(E(j*A)+E(n*w));G=E(E(j*G)+E(n*q));C=E(E(j*C)+E(n*F));z=E(E(j*p)+E(n*z));F=E(E(j*m)+E(n*l));p=B[g+92>>2];m=h;l=k;j=i}if(!Ed(x[a+4>>2],g+32|0)){Hd(x[a+4>>2],g+32|0,g- -64|0,g+48|0)}if(!Fd(x[a+4>>2],g+80|0)){break b}r=r-1|0;h=B[g+88>>2];i=E(h*h);h=B[g+80>>2];k=E(h*h);h=B[g+84>>2];if(E(i+E(k+E(h*h)))>E(9999999747378752e-20)){continue}break}}B[f+164>>2]=n;n=E(0);i=E(0);h=E(0);k=E(E(l*l)+E(E(j*j)+E(m*m)));if(k>=E(14210854715202004e-30)){h=l;l=E(E(1)/E(M(k)));i=E(h*l);n=E(m*l);s=E(j*l);h=p}B[f+132>>2]=s;B[f+144>>2]=h;B[f+140>>2]=i;B[f+136>>2]=n;if(E(-B[f+172>>2])<=E(E(i*u)+E(E(s*y)+E(t*n)))){break a}Dd(x[a+4>>2],g+16|0,g);a=x[g+12>>2];x[f+156>>2]=x[g+8>>2];x[f+160>>2]=a;a=x[g+4>>2];x[f+148>>2]=x[g>>2];x[f+152>>2]=a;fa=1}ga=g+96|0;return fa|0}function Xg(a,b){a=a|0;b=E(b);var c=0,d=0,e=0,f=E(0),g=0,h=E(0),i=E(0),j=0,k=E(0),l=E(0),m=0,n=E(0),o=E(0),p=E(0),q=E(0),r=0,s=E(0),t=E(0),u=E(0),v=0,w=E(0),z=E(0),A=0,C=E(0),F=0,G=E(0),H=E(0),I=E(0),J=E(0),K=E(0),L=E(0),M=E(0),N=E(0);A=ga-16|0;ga=A;ia[x[8262]](4190);j=x[a+248>>2];if((j|0)>0){F=x[a+256>>2];c=ga-304|0;ga=c;if((j|0)>0){while(1){d=x[(m<<2)+F>>2];x[d+268>>2]=1065353216;a:{b:{switch(x[d+220>>2]-2|0){case 0:case 3:break a;default:break b}}if(y[d+204|0]&3){break a}eb(d,b,c+240|0);c:{d:{if(!y[a+44|0]){break d}f=B[d+276>>2];f=E(f*f);if(f==E(0)){break d}h=E(B[c+296>>2]-B[d+60>>2]);k=E(h*h);h=E(B[c+288>>2]-B[d+52>>2]);i=E(h*h);h=E(B[c+292>>2]-B[d+56>>2]);if(!(f>2]+4>>2]<=19){x[8932]=x[8932]+1;e=x[a+68>>2];e=ia[x[x[e>>2]+36>>2]](e)|0;r=x[a+24>>2];x[c+148>>2]=-1;x[c+152>>2]=0;x[c+140>>2]=1065353216;x[c+144>>2]=1;g=x[d+64>>2];x[c+164>>2]=x[d+60>>2];x[c+168>>2]=g;g=x[d+56>>2];x[c+156>>2]=x[d+52>>2];x[c+160>>2]=g;g=x[c+300>>2];x[c+180>>2]=x[c+296>>2];x[c+184>>2]=g;g=x[c+292>>2];x[c+172>>2]=x[c+288>>2];x[c+176>>2]=g;x[c+232>>2]=r;x[c+228>>2]=e;x[c+224>>2]=0;x[c+136>>2]=24500;x[c+220>>2]=d;f=B[d+272>>2];r=Ha(c+76|0);x[r>>2]=21396;x[c+104>>2]=1065353216;x[c+96>>2]=1065353216;x[c+100>>2]=1065353216;x[c+80>>2]=8;x[c+124>>2]=0;x[c+116>>2]=0;x[c+120>>2]=0;x[c+108>>2]=0;x[c+112>>2]=0;x[c+132>>2]=0;B[c+128>>2]=f;B[c+112>>2]=f;B[c+224>>2]=B[a+56>>2];e=x[d+188>>2];x[c+144>>2]=x[e+4>>2];x[c+148>>2]=x[e+8>>2];e=x[c+252>>2];x[c+16>>2]=x[c+248>>2];x[c+20>>2]=e;e=x[c+244>>2];x[c+8>>2]=x[c+240>>2];x[c+12>>2]=e;e=x[c+268>>2];x[c+32>>2]=x[c+264>>2];x[c+36>>2]=e;e=x[c+260>>2];x[c+24>>2]=x[c+256>>2];x[c+28>>2]=e;e=x[c+284>>2];x[c+48>>2]=x[c+280>>2];x[c+52>>2]=e;e=x[c+276>>2];x[c+40>>2]=x[c+272>>2];x[c+44>>2]=e;e=x[c+300>>2];x[c+64>>2]=x[c+296>>2];x[c+68>>2]=e;e=x[c+292>>2];x[c+56>>2]=x[c+288>>2];x[c+60>>2]=e;e=d+4|0;g=x[e+12>>2];x[c+16>>2]=x[e+8>>2];x[c+20>>2]=g;g=x[e+4>>2];x[c+8>>2]=x[e>>2];x[c+12>>2]=g;g=x[d+32>>2];x[c+32>>2]=x[d+28>>2];x[c+36>>2]=g;g=x[d+24>>2];x[c+24>>2]=x[d+20>>2];x[c+28>>2]=g;g=x[d+48>>2];x[c+48>>2]=x[d+44>>2];x[c+52>>2]=g;g=x[d+40>>2];x[c+40>>2]=x[d+36>>2];x[c+44>>2]=g;kb(a,r,e,c+8|0,c+136|0,E(0));if(x[c+152>>2]){f=B[c+140>>2];if(f>2]=f;e=c+240|0;eb(d,E(f*b),e);x[d+268>>2]=0;ud(d,e);ia[x[8263]]()}m=m+1|0;if((j|0)!=(m|0)){continue}break}}ga=c+304|0}if(y[a+291|0]){ia[x[8262]](5549);c=x[a+324>>2];if((c|0)>0){while(1){j=x[x[a+332>>2]+(v<<2)>>2];if(x[j+844>>2]>0){c=x[j+840>>2];c=x[c+252>>2]<<30>>31&c;d=x[j+836>>2];d=x[d+252>>2]<<30>>31&d;m=0;while(1){b=E(B[d+232>>2]*B[c+232>>2]);e:{if(!(b>E(0))){break e}e=j+D(m,208)|0;f=B[e+136>>2];if(f==E(0)){break e}s=B[e+44>>2];G=B[c+60>>2];t=B[e+40>>2];H=B[c+56>>2];u=B[e+36>>2];I=B[c+52>>2];h=E(b*E(f*E(-B[e+76>>2])));i=E(b*E(f*E(-B[e+72>>2])));f=E(b*E(f*E(-B[e+68>>2])));b=B[d+404>>2];if(b!=E(0)){n=B[e+56>>2];o=B[e+60>>2];p=B[e+52>>2];q=E(f*B[d+408>>2]);B[d+372>>2]=E(b*q)+B[d+372>>2];l=E(i*B[d+412>>2]);B[d+376>>2]=E(b*l)+B[d+376>>2];k=b;b=E(h*B[d+416>>2]);B[d+380>>2]=E(k*b)+B[d+380>>2];k=B[d+612>>2];w=B[d+364>>2];z=B[d+356>>2];J=B[d+360>>2];K=B[d+608>>2];L=B[d+348>>2];M=B[d+340>>2];N=B[d+344>>2];p=E(p-B[d+52>>2]);C=E(n-B[d+56>>2]);n=E(E(p*l)-E(q*C));o=E(o-B[d+60>>2]);l=E(E(C*b)-E(l*o));b=E(E(o*q)-E(b*p));B[d+388>>2]=E(E(E(B[d+332>>2]*n)+E(E(B[d+324>>2]*l)+E(b*B[d+328>>2])))*B[d+604>>2])+B[d+388>>2];B[d+392>>2]=E(K*E(E(L*n)+E(E(M*l)+E(b*N))))+B[d+392>>2];B[d+396>>2]=E(k*E(E(w*n)+E(E(z*l)+E(b*J))))+B[d+396>>2]}b=B[c+404>>2];if(b==E(0)){break e}f=E(B[c+408>>2]*E(-f));B[c+372>>2]=E(b*f)+B[c+372>>2];i=E(B[c+412>>2]*E(-i));B[c+376>>2]=E(b*i)+B[c+376>>2];k=b;b=E(B[c+416>>2]*E(-h));B[c+380>>2]=E(k*b)+B[c+380>>2];q=B[c+612>>2];l=B[c+364>>2];n=B[c+356>>2];o=B[c+360>>2];p=B[c+608>>2];k=B[c+348>>2];w=B[c+340>>2];z=B[c+344>>2];u=E(u-I);t=E(t-H);h=E(E(u*i)-E(f*t));s=E(s-G);i=E(E(t*b)-E(i*s));b=E(E(s*f)-E(b*u));B[c+388>>2]=E(E(E(B[c+332>>2]*h)+E(E(B[c+324>>2]*i)+E(b*B[c+328>>2])))*B[c+604>>2])+B[c+388>>2];B[c+392>>2]=E(p*E(E(k*h)+E(E(w*i)+E(b*z))))+B[c+392>>2];B[c+396>>2]=E(q*E(E(l*h)+E(E(n*i)+E(b*o))))+B[c+396>>2]}m=m+1|0;if((m|0)>2]){continue}break}c=x[a+324>>2]}v=v+1|0;if((v|0)<(c|0)){continue}break}}ia[x[8263]]()}ia[x[8263]]();ga=A+16|0}function tl(a,b,c,d){a=a|0;b=b|0;c=c|0;d=E(d);var e=0,f=E(0),g=0,h=E(0),i=0,j=E(0),k=E(0),l=E(0),m=E(0),n=0,o=0,p=E(0),q=0,r=0,s=0,t=0,u=E(0),v=E(0),w=E(0),z=E(0),A=E(0),C=0,G=E(0),H=E(0),I=E(0),J=E(0),K=E(0),L=E(0),N=E(0),O=E(0),P=E(0),Q=E(0),R=0;e=ga-208|0;ga=e;a:{if(B[x[a+4>>2]+848>>2]>2];k=E(E(B[b+8>>2]*d)+p);v=B[c+4>>2];h=E(E(B[b+4>>2]*d)+v);w=B[c>>2];l=E(E(B[b>>2]*d)+w);r=x[a+8>>2];g=x[r+8>>2];q=x[a+4>>2];i=x[q+836>>2];s=(g|0)==(i|0);b:{if(!s){o=x[a+12>>2];i=x[o+8>>2];f=E(k-B[i+60>>2]);m=E(l-B[i+52>>2]);j=E(h-B[i+56>>2]);z=E(E(B[i+44>>2]*f)+E(E(B[i+12>>2]*m)+E(j*B[i+28>>2])));A=E(E(B[i+40>>2]*f)+E(E(B[i+8>>2]*m)+E(j*B[i+24>>2])));f=E(E(B[i+36>>2]*f)+E(E(B[i+4>>2]*m)+E(j*B[i+20>>2])));break b}f=E(k-B[i+60>>2]);m=E(l-B[i+52>>2]);j=E(h-B[i+56>>2]);z=E(E(B[i+44>>2]*f)+E(E(B[i+12>>2]*m)+E(j*B[i+28>>2])));A=E(E(B[i+40>>2]*f)+E(E(B[i+8>>2]*m)+E(j*B[i+24>>2])));o=x[a+12>>2];g=x[o+8>>2];f=E(E(B[i+36>>2]*f)+E(E(B[i+4>>2]*m)+E(j*B[i+20>>2])))}C=x[q+844>>2];G=B[g+20>>2];H=B[g+36>>2];I=B[g+40>>2];J=B[g+8>>2];K=B[g+24>>2];m=B[g+44>>2];j=B[g+60>>2];L=B[g+12>>2];N=B[g+52>>2];O=B[g+28>>2];P=B[g+56>>2];Q=B[g+4>>2];x[e+28>>2]=0;u=m;m=E(p-j);j=E(w-N);p=E(v-P);B[e+24>>2]=E(u*m)+E(E(L*j)+E(O*p));B[e+20>>2]=E(I*m)+E(E(J*j)+E(p*K));x[e+12>>2]=0;B[e+8>>2]=z;B[e+4>>2]=A;B[e>>2]=f;B[e+16>>2]=E(H*m)+E(E(Q*j)+E(p*G));g=x[b+12>>2];x[e+72>>2]=x[b+8>>2];x[e+76>>2]=g;g=x[b>>2];b=x[b+4>>2];x[e+92>>2]=0;x[e+96>>2]=0;x[e+124>>2]=0;x[e+128>>2]=0;x[e+132>>2]=0;x[e+136>>2]=0;x[e+140>>2]=0;x[e+144>>2]=0;x[e+148>>2]=0;x[e+152>>2]=0;x[e+156>>2]=0;x[e+160>>2]=0;x[e+164>>2]=0;B[e+52>>2]=h;B[e+56>>2]=k;x[e+60>>2]=0;x[e+64>>2]=g;x[e+68>>2]=b;x[e+84>>2]=0;x[e+88>>2]=0;B[e+80>>2]=d;x[e+116>>2]=0;x[e+120>>2]=0;B[e+48>>2]=l;b=x[c+12>>2];x[e+40>>2]=x[c+8>>2];x[e+44>>2]=b;b=x[c+4>>2];x[e+32>>2]=x[c>>2];x[e+36>>2]=b;b=x[r>>2];b=b?b:r;c=x[o>>2];g=c?c:o;c:{if(!s){n=a+24|0;c=a+28|0;t=a+20|0;i=b;b=a+16|0;break c}n=a+28|0;c=a+24|0;t=a+16|0;i=g;g=b;b=a+20|0}g=x[g+4>>2];t=x[t>>2];R=x[b>>2];b=x[c>>2];c=x[n>>2];n=x[i+4>>2];x[e+204>>2]=n;x[e+112>>2]=c;x[e+108>>2]=b;x[e+104>>2]=R;x[e+100>>2]=t;x[e+200>>2]=g;if(x[g+4>>2]==31){g=x[(x[g+32>>2]+D(b,80)|0)+64>>2];x[e+200>>2]=g}if(x[n+4>>2]==31){n=x[(x[n+32>>2]+D(c,80)|0)+64>>2];x[e+204>>2]=n}i=a+4|0;d:{e:{b=x[g+16>>2];if(!b){break e}c=x[n+16>>2];if(!c){break e}h=B[b+12>>2];l=B[c+12>>2];f=B[b+8>>2];m=B[c+8>>2];d=B[c+4>>2];k=B[b+4>>2];B[e+96>>2]=B[b>>2]*B[c>>2];j=E(k*d);j=j>2]=j>E(10)?E(10):j;f=E(E(f*d)+E(k*m));f=f>2]=f>E(10)?E(10):f;d=E(E(h*d)+E(k*l));d=dE(10)?E(10):d;break d}b=x[r+8>>2];d=B[b+228>>2];c=x[o+8>>2];k=B[c+228>>2];h=E(d*k);h=h>2]=h>E(10)?E(10):h;B[e+96>>2]=B[b+232>>2]*B[c+232>>2];h=E(E(k*B[b+236>>2])+E(d*B[c+236>>2]));h=h>2]=h>E(10)?E(10):h;d=E(E(k*B[b+240>>2])+E(d*B[c+240>>2]));d=dE(10)?E(10):d}B[e+92>>2]=d;d=B[e+72>>2];f:{if(E(F(d))>E(.7071067690849304)){h=B[e+68>>2];l=E(E(h*h)+E(d*d));k=E(E(1)/E(M(l)));l=E(l*k);f=E(k*E(-d));j=B[e+64>>2];m=E(f*j);d=E(h*k);h=E(d*E(-j));j=E(0);break f}l=B[e+64>>2];h=B[e+68>>2];f=E(E(l*l)+E(h*h));k=E(E(1)/E(M(f)));m=E(f*k);j=E(k*E(-h));h=E(d*j);f=E(l*k);l=E(f*E(-d));d=E(0)}B[e+192>>2]=m;B[e+188>>2]=h;B[e+172>>2]=f;B[e+184>>2]=l;B[e+176>>2]=d;B[e+168>>2]=j;g=x[i>>2];o=x[q+844>>2];g:{if((o|0)<=0){b=-1;break g}k=B[e+8>>2];h=B[e+4>>2];l=B[e>>2];d=B[q+848>>2];d=E(d*d);c=0;b=-1;while(1){n=D(c,208)+q|0;f=E(B[n+12>>2]-k);m=E(f*f);f=E(B[n+4>>2]-l);u=E(f*f);f=E(B[n+8>>2]-h);f=E(m+E(u+E(f*f)));n=f=0){b=g+D(n,208)|0;d=B[b+144>>2];k=B[b+140>>2];h=B[b+136>>2];c=x[b+168>>2];i:{if(y[e+128|0]&16){l=E(E(B[b+88>>2]*h)+E(0));if(!(E(E(k*k)+E(d*d))>E(l*l))){break i}}g=x[b+120>>2];ya(b+4|0,e,208);x[b+120>>2]=g;B[b+136>>2]=h;B[b+140>>2]=k;B[b+144>>2]=d}x[b+168>>2]=c;break h}n=gc(g,e)}c=x[8469];j:{if(!c){break j}b=x[a+12>>2];a=x[a+8>>2];if(!(y[x[a+8>>2]+204|0]&8|y[x[b+8>>2]+204|0]&8)){break j}ia[c|0]((x[i>>2]+D(n,208)|0)+4|0,s?a:b,x[e+100>>2],x[e+108>>2],s?b:a,x[e+104>>2],x[e+112>>2])|0}if(C){break a}a=x[8755];if(!a){break a}ia[a|0](i)}ga=e+208|0}function ni(a,b,c){a=a|0;b=b|0;c=c|0;var d=E(0);vb(a,b,c);B[b+52>>2]=B[a+48>>2];B[b+56>>2]=B[a+52>>2];B[b+60>>2]=B[a+56>>2];B[b- -64>>2]=B[a+60>>2];B[b+68>>2]=B[a- -64>>2];B[b+72>>2]=B[a+68>>2];B[b+76>>2]=B[a+72>>2];B[b+80>>2]=B[a+76>>2];B[b+84>>2]=B[a+80>>2];B[b+88>>2]=B[a+84>>2];B[b+92>>2]=B[a+88>>2];B[b+96>>2]=B[a+92>>2];B[b+100>>2]=B[a+96>>2];B[b+104>>2]=B[a+100>>2];B[b+108>>2]=B[a+104>>2];B[b+112>>2]=B[a+108>>2];B[b+116>>2]=B[a+112>>2];B[b+120>>2]=B[a+116>>2];B[b+124>>2]=B[a+120>>2];B[b+128>>2]=B[a+124>>2];B[b+132>>2]=B[a+128>>2];B[b+136>>2]=B[a+132>>2];B[b+140>>2]=B[a+136>>2];B[b+144>>2]=B[a+140>>2];B[b+148>>2]=B[a+144>>2];B[b+152>>2]=B[a+148>>2];B[b+156>>2]=B[a+152>>2];B[b+160>>2]=B[a+156>>2];B[b+164>>2]=B[a+160>>2];B[b+168>>2]=B[a+164>>2];B[b+172>>2]=B[a+168>>2];B[b+176>>2]=B[a+172>>2];B[b+428>>2]=B[a+968>>2];B[b+412>>2]=B[a+972>>2];B[b+444>>2]=B[a+976>>2];B[b+460>>2]=B[a+980>>2];B[b+476>>2]=B[a+984>>2];B[b+492>>2]=B[a+988>>2];B[b+508>>2]=B[a+992>>2];B[b+524>>2]=B[a+1e3>>2];B[b+540>>2]=B[a+1004>>2];B[b+556>>2]=B[a+1012>>2];B[b+572>>2]=B[a+1020>>2];B[b+588>>2]=B[a+1028>>2];B[b+604>>2]=B[a+1036>>2];B[b+432>>2]=B[a+1056>>2];B[b+416>>2]=B[a+1060>>2];B[b+448>>2]=B[a+1064>>2];B[b+464>>2]=B[a+1068>>2];B[b+480>>2]=B[a+1072>>2];B[b+496>>2]=B[a+1076>>2];B[b+512>>2]=B[a+1080>>2];B[b+528>>2]=B[a+1088>>2];B[b+544>>2]=B[a+1092>>2];B[b+560>>2]=B[a+1100>>2];B[b+576>>2]=B[a+1108>>2];B[b+592>>2]=B[a+1116>>2];B[b+608>>2]=B[a+1124>>2];B[b+436>>2]=B[a+1144>>2];B[b+420>>2]=B[a+1148>>2];B[b+452>>2]=B[a+1152>>2];B[b+468>>2]=B[a+1156>>2];B[b+484>>2]=B[a+1160>>2];B[b+500>>2]=B[a+1164>>2];B[b+516>>2]=B[a+1168>>2];B[b+532>>2]=B[a+1176>>2];B[b+548>>2]=B[a+1180>>2];B[b+564>>2]=B[a+1188>>2];B[b+580>>2]=B[a+1196>>2];B[b+596>>2]=B[a+1204>>2];d=B[a+1212>>2];x[b+440>>2]=0;B[b+612>>2]=d;x[b+616>>2]=0;x[b+600>>2]=0;x[b+584>>2]=0;x[b+568>>2]=0;x[b+552>>2]=0;x[b+536>>2]=0;x[b+520>>2]=0;x[b+504>>2]=0;x[b+488>>2]=0;x[b+472>>2]=0;x[b+456>>2]=0;x[b+424>>2]=0;v[b+620|0]=y[a+996|0];v[b+624|0]=y[a+1008|0];v[b+628|0]=y[a+1016|0];v[b+632|0]=y[a+1024|0];v[b+636|0]=y[a+1032|0];v[b+621|0]=y[a+1084|0];v[b+625|0]=y[a+1096|0];v[b+629|0]=y[a+1104|0];v[b+633|0]=y[a+1112|0];v[b+637|0]=y[a+1120|0];v[b+622|0]=y[a+1172|0];v[b+626|0]=y[a+1184|0];v[b+630|0]=y[a+1192|0];v[b+634|0]=y[a+1200|0];c=y[a+1208|0];v[b+639|0]=0;v[b+635|0]=0;v[b+631|0]=0;v[b+627|0]=0;v[b+623|0]=0;v[b+638|0]=c;B[b+196>>2]=B[a+680>>2];B[b+200>>2]=B[a+684>>2];B[b+204>>2]=B[a+688>>2];B[b+208>>2]=B[a+692>>2];B[b+180>>2]=B[a+696>>2];B[b+184>>2]=B[a+700>>2];B[b+188>>2]=B[a+704>>2];B[b+192>>2]=B[a+708>>2];B[b+212>>2]=B[a+712>>2];B[b+216>>2]=B[a+716>>2];B[b+220>>2]=B[a+720>>2];B[b+224>>2]=B[a+724>>2];B[b+228>>2]=B[a+728>>2];B[b+232>>2]=B[a+732>>2];B[b+236>>2]=B[a+736>>2];B[b+240>>2]=B[a+740>>2];B[b+244>>2]=B[a+744>>2];B[b+248>>2]=B[a+748>>2];B[b+252>>2]=B[a+752>>2];B[b+256>>2]=B[a+756>>2];B[b+260>>2]=B[a+760>>2];B[b+264>>2]=B[a+764>>2];B[b+268>>2]=B[a+768>>2];B[b+272>>2]=B[a+772>>2];B[b+276>>2]=B[a+776>>2];B[b+280>>2]=B[a+780>>2];B[b+284>>2]=B[a+784>>2];B[b+288>>2]=B[a+788>>2];B[b+292>>2]=B[a+876>>2];B[b+296>>2]=B[a+880>>2];B[b+300>>2]=B[a+884>>2];B[b+304>>2]=B[a+888>>2];B[b+308>>2]=B[a+892>>2];B[b+312>>2]=B[a+896>>2];B[b+316>>2]=B[a+900>>2];B[b+320>>2]=B[a+904>>2];B[b+324>>2]=B[a+804>>2];B[b+328>>2]=B[a+808>>2];B[b+332>>2]=B[a+812>>2];B[b+336>>2]=B[a+816>>2];B[b+340>>2]=B[a+820>>2];B[b+344>>2]=B[a+824>>2];B[b+348>>2]=B[a+828>>2];B[b+352>>2]=B[a+832>>2];B[b+356>>2]=B[a+840>>2];B[b+360>>2]=B[a+844>>2];B[b+364>>2]=B[a+848>>2];B[b+368>>2]=B[a+852>>2];B[b+372>>2]=B[a+860>>2];B[b+376>>2]=B[a+864>>2];B[b+380>>2]=B[a+868>>2];B[b+384>>2]=B[a+872>>2];v[b+388|0]=y[a+792|0];v[b+392|0]=y[a+795|0];v[b+396|0]=y[a+798|0];v[b+400|0]=y[a+836|0];v[b+404|0]=y[a+856|0];v[b+389|0]=y[a+793|0];v[b+393|0]=y[a+796|0];v[b+397|0]=y[a+799|0];v[b+401|0]=y[a+837|0];v[b+405|0]=y[a+857|0];v[b+390|0]=y[a+794|0];v[b+394|0]=y[a+797|0];v[b+398|0]=y[a+800|0];v[b+402|0]=y[a+838|0];c=y[a+858|0];v[b+407|0]=0;v[b+403|0]=0;v[b+399|0]=0;v[b+395|0]=0;v[b+391|0]=0;v[b+406|0]=c;a=x[a+1232>>2];x[b+408>>2]=0;x[b+640>>2]=a;return 8485}function mo(a,b,c,d,e,f){a=a|0;b=E(b);c=E(c);d=d|0;e=e|0;f=f|0;var g=0,h=E(0),i=E(0),j=E(0),k=E(0),l=E(0),m=E(0),n=E(0),o=E(0),p=E(0),q=E(0),r=E(0),s=0,t=E(0),u=E(0),v=E(0),w=0,y=E(0),z=E(0),A=E(0),C=E(0),D=E(0),F=E(0),G=0,H=0,I=0,J=E(0),K=E(0),L=E(0),M=0,N=E(0);g=ga-144|0;ga=g;t=B[e+56>>2];u=B[e+52>>2];v=B[e+48>>2];x[g+136>>2]=0;x[g+140>>2]=0;x[g+128>>2]=0;x[g+132>>2]=0;s=d<<2;c=E(c*E(.5));B[s+(g+128|0)>>2]=c;x[g+120>>2]=0;x[g+124>>2]=0;x[g+112>>2]=0;x[g+116>>2]=0;I=(d+1|0)%3|0;w=I<<2;B[w+(g+112|0)>>2]=b;x[g+104>>2]=0;x[g+108>>2]=0;x[g+96>>2]=0;x[g+100>>2]=0;G=(d+2|0)%3<<2;B[G+(g+96|0)>>2]=b;x[g+88>>2]=0;x[g+92>>2]=0;x[g+80>>2]=0;x[g+84>>2]=0;H=s;s=g+80|0;B[H+s>>2]=-c;G=s+G|0;w=s+w|0;c=B[g+136>>2];k=B[g+132>>2];l=B[g+128>>2];s=0;while(1){m=E(E(s|0)*E(.01745329238474369));M=w,N=E(Ca(m)*b),B[M>>2]=N;M=G,N=E(Ba(m)*b),B[M>>2]=N;m=B[e+8>>2];n=B[e>>2];o=B[e+4>>2];p=B[e+24>>2];q=B[e+16>>2];r=B[e+20>>2];h=B[e+40>>2];i=B[e+32>>2];j=B[e+36>>2];x[g+76>>2]=0;B[g+72>>2]=t+E(E(h*c)+E(E(i*l)+E(k*j)));B[g+68>>2]=u+E(E(p*c)+E(E(q*l)+E(k*r)));B[g+64>>2]=v+E(E(m*c)+E(E(n*l)+E(o*k)));x[g+60>>2]=0;y=h;h=B[g+88>>2];z=i;i=B[g+80>>2];A=j;j=B[g+84>>2];B[g+56>>2]=t+E(E(y*h)+E(E(z*i)+E(A*j)));B[g+52>>2]=u+E(E(p*h)+E(E(q*i)+E(r*j)));B[g+48>>2]=v+E(E(m*h)+E(E(n*i)+E(o*j)));ia[x[x[a>>2]+16>>2]](a,g- -64|0,g+48|0,f);H=s>>>0<330;s=s+30|0;if(H){continue}break}m=B[e+8>>2];n=B[e>>2];o=B[e+4>>2];p=B[e+24>>2];q=B[e+16>>2];r=B[e+20>>2];h=B[e+40>>2];i=B[e+32>>2];j=B[e+36>>2];x[g+76>>2]=0;B[g+72>>2]=t+E(E(h*c)+E(E(i*l)+E(k*j)));B[g+68>>2]=u+E(E(p*c)+E(E(q*l)+E(k*r)));B[g+64>>2]=v+E(E(m*c)+E(E(n*l)+E(o*k)));x[g+60>>2]=0;y=h;C=B[g+120>>2];h=E(C-c);z=i;D=B[g+112>>2];i=E(D-l);A=j;F=B[g+116>>2];j=E(F-k);B[g+56>>2]=t+E(E(y*h)+E(E(z*i)+E(A*j)));B[g+52>>2]=u+E(E(p*h)+E(E(q*i)+E(r*j)));B[g+48>>2]=v+E(E(m*h)+E(E(n*i)+E(o*j)));s=g- -64|0;w=g+48|0;ia[x[x[a>>2]+16>>2]](a,s,w,f);m=B[e+8>>2];n=B[e>>2];o=B[e+4>>2];p=B[e+24>>2];q=B[e+16>>2];r=B[e+20>>2];h=B[e+40>>2];i=B[e+32>>2];j=B[e+36>>2];x[g+76>>2]=0;B[g+72>>2]=t+E(E(h*c)+E(E(i*l)+E(k*j)));B[g+68>>2]=u+E(E(p*c)+E(E(q*l)+E(k*r)));B[g+64>>2]=v+E(E(m*c)+E(E(n*l)+E(k*o)));x[g+60>>2]=0;y=h;J=E(-c);h=E(J-C);z=i;C=E(-l);i=E(C-D);A=j;D=E(-k);j=E(D-F);B[g+56>>2]=t+E(E(y*h)+E(E(z*i)+E(A*j)));B[g+52>>2]=u+E(E(p*h)+E(E(q*i)+E(j*r)));B[g+48>>2]=v+E(E(m*h)+E(E(n*i)+E(j*o)));ia[x[x[a>>2]+16>>2]](a,s,w,f);m=B[e+8>>2];n=B[e>>2];o=B[e+4>>2];p=B[e+24>>2];q=B[e+16>>2];r=B[e+20>>2];h=B[e+40>>2];i=B[e+32>>2];j=B[e+36>>2];x[g+76>>2]=0;B[g+72>>2]=t+E(E(h*c)+E(E(i*l)+E(k*j)));B[g+68>>2]=u+E(E(p*c)+E(E(q*l)+E(k*r)));B[g+64>>2]=v+E(E(m*c)+E(E(n*l)+E(k*o)));x[g+60>>2]=0;y=h;F=B[g+104>>2];h=E(F-c);z=i;K=B[g+96>>2];i=E(K-l);A=j;L=B[g+100>>2];j=E(L-k);B[g+56>>2]=t+E(E(y*h)+E(E(z*i)+E(A*j)));B[g+52>>2]=u+E(E(p*h)+E(E(q*i)+E(r*j)));B[g+48>>2]=v+E(E(m*h)+E(E(n*i)+E(o*j)));ia[x[x[a>>2]+16>>2]](a,s,w,f);m=B[e+8>>2];n=B[e>>2];o=B[e+4>>2];p=B[e+24>>2];q=B[e+16>>2];r=B[e+20>>2];h=B[e+40>>2];i=B[e+32>>2];j=B[e+36>>2];x[g+76>>2]=0;B[g+72>>2]=t+E(E(h*c)+E(E(i*l)+E(k*j)));B[g+68>>2]=u+E(E(p*c)+E(E(q*l)+E(k*r)));B[g+64>>2]=v+E(E(m*c)+E(E(n*l)+E(k*o)));x[g+60>>2]=0;y=h;h=E(J-F);z=i;i=E(C-K);A=j;j=E(D-L);B[g+56>>2]=t+E(E(y*h)+E(E(z*i)+E(A*j)));B[g+52>>2]=u+E(E(p*h)+E(E(q*i)+E(j*r)));B[g+48>>2]=v+E(E(m*h)+E(E(n*i)+E(j*o)));ia[x[x[a>>2]+16>>2]](a,s,w,f);x[g+72>>2]=0;x[g+76>>2]=0;x[g+64>>2]=0;x[g+68>>2]=0;x[s+(d<<2)>>2]=1065353216;x[g+56>>2]=0;x[g+60>>2]=0;x[g+48>>2]=0;x[g+52>>2]=0;x[w+(I<<2)>>2]=1065353216;m=B[e+8>>2];n=B[e>>2];o=B[e+4>>2];p=B[e+24>>2];q=B[e+16>>2];r=B[e+20>>2];h=B[e+40>>2];i=B[e+32>>2];j=B[e+36>>2];x[g+44>>2]=0;B[g+40>>2]=t-E(E(h*c)+E(E(i*l)+E(k*j)));B[g+36>>2]=u-E(E(p*c)+E(E(q*l)+E(k*r)));B[g+32>>2]=v-E(E(m*c)+E(E(n*l)+E(k*o)));x[g+28>>2]=0;c=B[g+72>>2];k=B[g+64>>2];l=B[g+68>>2];B[g+24>>2]=E(h*c)+E(E(i*k)+E(j*l));B[g+20>>2]=E(p*c)+E(E(q*k)+E(r*l));B[g+16>>2]=E(m*c)+E(E(n*k)+E(o*l));x[g+12>>2]=0;c=B[g+56>>2];k=B[g+48>>2];l=B[g+52>>2];B[g+8>>2]=E(h*c)+E(E(i*k)+E(j*l));B[g+4>>2]=E(p*c)+E(E(q*k)+E(r*l));B[g>>2]=E(m*c)+E(E(n*k)+E(o*l));ia[x[x[a>>2]+68>>2]](a,g+32|0,g+16|0,g,b,b,E(0),E(6.2831854820251465),f,0,E(10));ga=g+144|0}function mc(a,b,c){var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=E(0),l=0,m=0,n=E(0),o=E(0),p=E(0),q=E(0),r=E(0),s=E(0);a:{b:{if(y[a+165|0]){d=x[a+88>>2];if(!(!c|(d|0)<=0)){e=x[a+96>>2];n=B[a+168>>2];o=B[b+8>>2];p=B[b+4>>2];q=B[b>>2];c=0;while(1){f=e+(c<<4)|0;k=E(B[f+8>>2]-o);r=E(k*k);k=E(B[f>>2]-q);s=E(k*k);k=E(B[f+4>>2]-p);if(n>=E(r+E(s+E(k*k)))){break b}c=c+1|0;if((d|0)!=(c|0)){continue}break}}c=x[a+32>>2];x[c+12>>2]=x[c+12>>2]+1;c:{if(x[a+92>>2]!=(d|0)){break c}h=d?d<<1:1;if((h|0)<=(d|0)){break c}if(h){x[8456]=x[8456]+1;g=ia[x[8258]](h<<4,16)|0;d=x[a+88>>2]}d:{if((d|0)<=0){break d}i=d&1;c=0;if((d|0)!=1){l=d&-2;d=0;while(1){j=c<<4;f=j+g|0;m=j+x[a+96>>2]|0;e=x[m+4>>2];x[f>>2]=x[m>>2];x[f+4>>2]=e;e=x[m+12>>2];x[f+8>>2]=x[m+8>>2];x[f+12>>2]=e;e=j|16;f=e+g|0;j=e+x[a+96>>2]|0;e=x[j+4>>2];x[f>>2]=x[j>>2];x[f+4>>2]=e;e=x[j+12>>2];x[f+8>>2]=x[j+8>>2];x[f+12>>2]=e;c=c+2|0;d=d+2|0;if((l|0)!=(d|0)){continue}break}}if(!i){break d}c=c<<4;f=c+g|0;e=c+x[a+96>>2]|0;c=x[e+4>>2];x[f>>2]=x[e>>2];x[f+4>>2]=c;c=x[e+12>>2];x[f+8>>2]=x[e+8>>2];x[f+12>>2]=c}c=x[a+96>>2];if(!(c?!c|!y[a+100|0]:1)){x[8457]=x[8457]+1;ia[x[8259]](c)}x[a+96>>2]=g;v[a+100|0]=1;x[a+92>>2]=h;d=x[a+88>>2]}c=x[b+4>>2];e=x[a+96>>2]+(d<<4)|0;x[e>>2]=x[b>>2];x[e+4>>2]=c;c=x[b+12>>2];x[e+8>>2]=x[b+8>>2];x[e+12>>2]=c;b=x[a+88>>2];x[a+88>>2]=b+1;x[x[a+32>>2]+16>>2]=x[a+96>>2];return b}d=x[a+108>>2];if(!(!c|(d|0)<=0)){e=x[a+116>>2];n=B[a+168>>2];o=B[b+8>>2];p=B[b+4>>2];q=B[b>>2];c=0;while(1){f=e+(c<<2)|0;k=E(B[f+8>>2]-o);r=E(k*k);k=E(B[f>>2]-q);s=E(k*k);k=E(B[f+4>>2]-p);if(n>=E(r+E(s+E(k*k)))){break a}c=c+3|0;if((d|0)>(c|0)){continue}break}}e=x[a+112>>2];e:{if((e|0)!=(d|0)){break e}e=d?d<<1:1;if((e|0)<=(d|0)){e=d;break e}if(e){x[8456]=x[8456]+1;h=ia[x[8258]](e<<2,16)|0;d=x[a+108>>2]}i=x[a+116>>2];f:{g:{if((d|0)>0){c=0;if(d>>>0>=4){g=d&-4;while(1){l=c<<2;B[l+h>>2]=B[i+l>>2];f=l|4;B[f+h>>2]=B[f+i>>2];f=l|8;B[f+h>>2]=B[f+i>>2];f=l|12;B[f+h>>2]=B[f+i>>2];c=c+4|0;j=j+4|0;if((g|0)!=(j|0)){continue}break}}g=d&3;if(g){while(1){f=c<<2;B[f+h>>2]=B[f+i>>2];c=c+1|0;m=m+1|0;if((g|0)!=(m|0)){continue}break}}if(y[a+120|0]){break g}break f}if(!i|!y[a+120|0]){break f}}if(i){x[8457]=x[8457]+1;ia[x[8259]](i)}d=x[a+108>>2]}x[a+116>>2]=h;x[a+112>>2]=e;v[a+120|0]=1}g=x[a+116>>2];B[g+(d<<2)>>2]=B[b>>2];d=d+1|0;x[a+108>>2]=d;h:{if((d|0)!=(e|0)){f=e;c=g;e=d;break h}f=e?e<<1:1;if((e|0)>=(f|0)){f=e;c=g;break h}i:{if(!f){c=0;break i}x[8456]=x[8456]+1;c=ia[x[8258]](f<<2,16)|0;g=x[a+116>>2];e=x[a+108>>2]}j:{k:{if((e|0)>0){m=0;h=0;if(e>>>0>=4){l=e&-4;j=0;while(1){i=h<<2;B[i+c>>2]=B[g+i>>2];d=i|4;B[d+c>>2]=B[d+g>>2];d=i|8;B[d+c>>2]=B[d+g>>2];d=i|12;B[d+c>>2]=B[d+g>>2];h=h+4|0;j=j+4|0;if((l|0)!=(j|0)){continue}break}}l=e&3;if(l){while(1){d=h<<2;B[d+c>>2]=B[d+g>>2];h=h+1|0;m=m+1|0;if((l|0)!=(m|0)){continue}break}}if(y[a+120|0]){break k}break j}if(!g|!y[a+120|0]){break j}}if(g){x[8457]=x[8457]+1;ia[x[8259]](g)}e=x[a+108>>2]}x[a+116>>2]=c;x[a+112>>2]=f;v[a+120|0]=1}B[(e<<2)+c>>2]=B[b+4>>2];e=e+1|0;x[a+108>>2]=e;l:{if((e|0)!=(f|0)){d=c;f=e;break l}i=f?f<<1:1;if((i|0)<=(f|0)){d=c;break l}m:{if(!i){d=0;break m}x[8456]=x[8456]+1;d=ia[x[8258]](i<<2,16)|0;c=x[a+116>>2];f=x[a+108>>2]}n:{o:{if((f|0)>0){e=0;h=0;if(f>>>0>=4){l=f&-4;m=0;while(1){j=h<<2;B[j+d>>2]=B[c+j>>2];g=j|4;B[g+d>>2]=B[c+g>>2];g=j|8;B[g+d>>2]=B[c+g>>2];g=j|12;B[g+d>>2]=B[c+g>>2];h=h+4|0;m=m+4|0;if((l|0)!=(m|0)){continue}break}}l=f&3;if(l){while(1){g=h<<2;B[g+d>>2]=B[c+g>>2];h=h+1|0;e=e+1|0;if((l|0)!=(e|0)){continue}break}}if(y[a+120|0]){break o}break n}if(!c|!y[a+120|0]){break n}}if(c){x[8457]=x[8457]+1;ia[x[8259]](c)}f=x[a+108>>2]}x[a+116>>2]=d;x[a+112>>2]=i;v[a+120|0]=1}B[(f<<2)+d>>2]=B[b+8>>2];b=f+1|0;x[a+108>>2]=b;a=x[a+32>>2];x[a+16>>2]=d;x[a+12>>2]=x[a+12>>2]+1;c=((b|0)/3|0)-1|0}return c}return(c>>>0)/3|0}function Ri(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=E(0),j=E(0),k=E(0),l=E(0),m=E(0),n=E(0),o=0,p=0,q=0,r=0,s=0;c=ga-80|0;ga=c;s=ia[x[x[a>>2]+28>>2]](a)|0;if((s|0)>0){i=B[a+12>>2];j=B[a+8>>2];k=B[a+4>>2];while(1){ia[x[x[a>>2]+16>>2]](a,c+76|0,c+52|0,c- -64|0,c+56|0,c+72|0,c+68|0,c+48|0,c+60|0,r);a:{b:{switch(x[c+64>>2]){case 0:c:{switch(x[c+60>>2]-2|0){case 0:d=0;if(x[c+48>>2]<=0){break a}while(1){g=x[c+76>>2];h=x[c+56>>2];e=x[c+72>>2]+D(x[c+68>>2],d)|0;f=g+D(h,x[e>>2])|0;l=B[f>>2];m=B[f+4>>2];n=B[f+8>>2];x[c+12>>2]=0;B[c+8>>2]=i*n;B[c+4>>2]=j*m;B[c>>2]=k*l;f=g+D(h,x[e+4>>2])|0;l=B[f>>2];m=B[f+4>>2];n=B[f+8>>2];x[c+28>>2]=0;B[c+24>>2]=i*n;B[c+20>>2]=j*m;B[c+16>>2]=k*l;e=g+D(h,x[e+8>>2])|0;l=B[e>>2];m=B[e+4>>2];n=B[e+8>>2];x[c+44>>2]=0;B[c+40>>2]=i*n;B[c+36>>2]=j*m;B[c+32>>2]=k*l;ia[x[x[b>>2]+8>>2]](b,c,r,d);d=d+1|0;if((d|0)>2]){continue}break};break a;case 1:d=0;if(x[c+48>>2]<=0){break a}while(1){g=x[c+76>>2];h=x[c+56>>2];e=x[c+72>>2]+D(x[c+68>>2],d)|0;f=g+D(h,z[e>>1])|0;l=B[f>>2];m=B[f+4>>2];n=B[f+8>>2];x[c+12>>2]=0;B[c+8>>2]=i*n;B[c+4>>2]=j*m;B[c>>2]=k*l;f=g+D(h,z[e+2>>1])|0;l=B[f>>2];m=B[f+4>>2];n=B[f+8>>2];x[c+28>>2]=0;B[c+24>>2]=i*n;B[c+20>>2]=j*m;B[c+16>>2]=k*l;e=g+D(h,z[e+4>>1])|0;l=B[e>>2];m=B[e+4>>2];n=B[e+8>>2];x[c+44>>2]=0;B[c+40>>2]=i*n;B[c+36>>2]=j*m;B[c+32>>2]=k*l;ia[x[x[b>>2]+8>>2]](b,c,r,d);d=d+1|0;if((d|0)>2]){continue}break};break a;case 3:break c;default:break a}}d=0;if(x[c+48>>2]<=0){break a}while(1){g=x[c+76>>2];h=x[c+56>>2];e=x[c+72>>2]+D(x[c+68>>2],d)|0;f=g+D(h,y[e|0])|0;l=B[f>>2];m=B[f+4>>2];n=B[f+8>>2];x[c+12>>2]=0;B[c+8>>2]=i*n;B[c+4>>2]=j*m;B[c>>2]=k*l;f=g+D(h,y[e+1|0])|0;l=B[f>>2];m=B[f+4>>2];n=B[f+8>>2];x[c+28>>2]=0;B[c+24>>2]=i*n;B[c+20>>2]=j*m;B[c+16>>2]=k*l;e=g+D(h,y[e+2|0])|0;l=B[e>>2];m=B[e+4>>2];n=B[e+8>>2];x[c+44>>2]=0;B[c+40>>2]=i*n;B[c+36>>2]=j*m;B[c+32>>2]=k*l;ia[x[x[b>>2]+8>>2]](b,c,r,d);d=d+1|0;if((d|0)>2]){continue}break};break a;case 1:break b;default:break a}}d:{switch(x[c+60>>2]-2|0){case 0:d=0;if(x[c+48>>2]<=0){break a}while(1){g=x[c+76>>2];h=x[c+56>>2];e=x[c+72>>2]+D(x[c+68>>2],d)|0;f=g+D(h,x[e>>2])|0;o=C[f>>3];p=C[f+8>>3];q=C[f+16>>3];x[c+12>>2]=0;B[c+8>>2]=i*E(q);B[c+4>>2]=j*E(p);B[c>>2]=k*E(o);f=g+D(h,x[e+4>>2])|0;o=C[f>>3];p=C[f+8>>3];q=C[f+16>>3];x[c+28>>2]=0;B[c+24>>2]=i*E(q);B[c+20>>2]=j*E(p);B[c+16>>2]=k*E(o);e=g+D(h,x[e+8>>2])|0;o=C[e>>3];p=C[e+8>>3];q=C[e+16>>3];x[c+44>>2]=0;B[c+40>>2]=i*E(q);B[c+36>>2]=j*E(p);B[c+32>>2]=k*E(o);ia[x[x[b>>2]+8>>2]](b,c,r,d);d=d+1|0;if((d|0)>2]){continue}break};break a;case 1:d=0;if(x[c+48>>2]<=0){break a}while(1){g=x[c+76>>2];h=x[c+56>>2];e=x[c+72>>2]+D(x[c+68>>2],d)|0;f=g+D(h,z[e>>1])|0;o=C[f>>3];p=C[f+8>>3];q=C[f+16>>3];x[c+12>>2]=0;B[c+8>>2]=i*E(q);B[c+4>>2]=j*E(p);B[c>>2]=k*E(o);f=g+D(h,z[e+2>>1])|0;o=C[f>>3];p=C[f+8>>3];q=C[f+16>>3];x[c+28>>2]=0;B[c+24>>2]=i*E(q);B[c+20>>2]=j*E(p);B[c+16>>2]=k*E(o);e=g+D(h,z[e+4>>1])|0;o=C[e>>3];p=C[e+8>>3];q=C[e+16>>3];x[c+44>>2]=0;B[c+40>>2]=i*E(q);B[c+36>>2]=j*E(p);B[c+32>>2]=k*E(o);ia[x[x[b>>2]+8>>2]](b,c,r,d);d=d+1|0;if((d|0)>2]){continue}break};break a;case 3:break d;default:break a}}d=0;if(x[c+48>>2]<=0){break a}while(1){g=x[c+76>>2];h=x[c+56>>2];e=x[c+72>>2]+D(x[c+68>>2],d)|0;f=g+D(h,y[e|0])|0;o=C[f>>3];p=C[f+8>>3];q=C[f+16>>3];x[c+12>>2]=0;B[c+8>>2]=i*E(q);B[c+4>>2]=j*E(p);B[c>>2]=k*E(o);f=g+D(h,y[e+1|0])|0;o=C[f>>3];p=C[f+8>>3];q=C[f+16>>3];x[c+28>>2]=0;B[c+24>>2]=i*E(q);B[c+20>>2]=j*E(p);B[c+16>>2]=k*E(o);e=g+D(h,y[e+2|0])|0;o=C[e>>3];p=C[e+8>>3];q=C[e+16>>3];x[c+44>>2]=0;B[c+40>>2]=i*E(q);B[c+36>>2]=j*E(p);B[c+32>>2]=k*E(o);ia[x[x[b>>2]+8>>2]](b,c,r,d);d=d+1|0;if((d|0)>2]){continue}break}}ia[x[x[a>>2]+24>>2]](a,r);r=r+1|0;if((s|0)!=(r|0)){continue}break}}ga=c+80|0}function Rl(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=E(0),f=E(0),g=E(0),h=E(0),i=E(0),j=E(0),k=E(0),l=E(0),m=E(0),n=0,o=0,p=E(0),q=E(0),r=E(0),s=E(0),t=E(0),u=E(0),v=E(0),w=E(0),y=E(0),z=E(0),A=E(0),C=E(0),F=0,G=0,H=0,I=0,J=E(0),K=E(0),L=E(0),M=0,N=0,O=0;d=ga-256|0;ga=d;ia[x[8262]](3795);x[a+4>>2]=x[a+4>>2]+1;F=x[c+36>>2];H=D(F,80);I=x[a+12>>2];M=x[I+4>>2];n=x[(H+x[M+32>>2]|0)+64>>2];c=x[a+8>>2];G=x[b+36>>2];b=x[x[c+4>>2]+32>>2]+D(G,80)|0;o=x[b+64>>2];c=x[c+12>>2];J=B[c+52>>2];K=B[c+56>>2];e=B[c+24>>2];f=B[c+20>>2];g=B[c+40>>2];h=B[c+36>>2];L=B[c+48>>2];i=B[c+8>>2];j=B[c>>2];k=B[c+4>>2];l=B[c+16>>2];m=B[c+32>>2];p=B[b+32>>2];q=B[b>>2];r=B[b+16>>2];s=B[b+56>>2];t=B[b+48>>2];u=B[b+52>>2];v=B[b+36>>2];w=B[b+4>>2];y=B[b+20>>2];z=B[b+40>>2];A=B[b+8>>2];C=B[b+24>>2];b=0;x[d+248>>2]=0;x[d+232>>2]=0;x[d+216>>2]=0;B[d+228>>2]=E(z*g)+E(E(A*m)+E(h*C));B[d+224>>2]=E(v*g)+E(E(w*m)+E(h*y));B[d+212>>2]=E(z*e)+E(E(A*l)+E(f*C));B[d+208>>2]=E(v*e)+E(E(w*l)+E(f*y));B[d+244>>2]=K+E(E(s*g)+E(E(t*m)+E(h*u)));B[d+240>>2]=J+E(E(s*e)+E(E(t*l)+E(f*u)));x[d+200>>2]=0;B[d+220>>2]=E(p*g)+E(E(q*m)+E(h*r));B[d+204>>2]=E(p*e)+E(E(q*l)+E(f*r));B[d+196>>2]=E(z*i)+E(E(A*j)+E(k*C));B[d+192>>2]=E(v*i)+E(E(w*j)+E(k*y));B[d+188>>2]=E(p*i)+E(E(q*j)+E(k*r));B[d+236>>2]=L+E(E(s*i)+E(E(t*j)+E(k*u)));c=x[I+12>>2];J=B[c+52>>2];K=B[c+56>>2];e=B[c+24>>2];f=B[c+20>>2];g=B[c+40>>2];h=B[c+36>>2];L=B[c+48>>2];i=B[c+8>>2];j=B[c>>2];k=B[c+4>>2];l=B[c+16>>2];m=B[c+32>>2];c=x[M+32>>2]+H|0;p=B[c+32>>2];q=B[c>>2];r=B[c+16>>2];s=B[c+56>>2];t=B[c+48>>2];u=B[c+52>>2];v=B[c+36>>2];w=B[c+4>>2];y=B[c+20>>2];z=B[c+40>>2];A=B[c+8>>2];C=B[c+24>>2];x[d+184>>2]=0;x[d+168>>2]=0;x[d+152>>2]=0;B[d+164>>2]=E(z*g)+E(E(A*m)+E(h*C));B[d+160>>2]=E(v*g)+E(E(w*m)+E(h*y));B[d+148>>2]=E(z*e)+E(E(A*l)+E(f*C));B[d+144>>2]=E(v*e)+E(E(w*l)+E(f*y));B[d+180>>2]=K+E(E(s*g)+E(E(t*m)+E(h*u)));B[d+176>>2]=J+E(E(s*e)+E(E(t*l)+E(f*u)));x[d+136>>2]=0;B[d+156>>2]=E(p*g)+E(E(q*m)+E(h*r));B[d+140>>2]=E(p*e)+E(E(q*l)+E(f*r));B[d+132>>2]=E(z*i)+E(E(A*j)+E(k*C));B[d+128>>2]=E(v*i)+E(E(w*j)+E(k*y));B[d+124>>2]=E(p*i)+E(E(q*j)+E(k*r));B[d+172>>2]=L+E(E(s*i)+E(E(t*j)+E(k*u)));ia[x[x[o>>2]+8>>2]](o,d+188|0,d+108|0,d+92|0);ia[x[x[n>>2]+8>>2]](n,d+124|0,d+76|0,d+60|0);e=B[x[a+24>>2]+32>>2];f=E(B[d+108>>2]-e);B[d+108>>2]=f;B[d+112>>2]=B[d+112>>2]-e;B[d+116>>2]=B[d+116>>2]-e;B[d+92>>2]=e+B[d+92>>2];B[d+96>>2]=e+B[d+96>>2];B[d+100>>2]=e+B[d+100>>2];c=x[8465];a:{if(c){if(!(ia[c|0](o,n)|0)){break a}f=B[d+108>>2]}b=f>B[d+60>>2]|B[d+92>>2]>2]?b:1;c=0;if((B[d+100>>2]>2]|B[d+116>>2]>B[d+68>>2]?c:b)^1|B[d+96>>2]>2]|B[d+112>>2]>B[d+64>>2]){break a}b=x[a+8>>2];c=x[b+8>>2];x[d+56>>2]=G;x[d+52>>2]=-1;x[d+44>>2]=c;x[d+40>>2]=o;x[d+36>>2]=b;x[d+48>>2]=d+188;b=x[a+12>>2];c=x[b+8>>2];x[d+32>>2]=F;x[d+28>>2]=-1;x[d+20>>2]=c;x[d+16>>2]=n;x[d+12>>2]=b;x[d+24>>2]=d+124;b=x[a+28>>2];x[8468]=x[8468]+1;c=F<<16|G;c=(c<<15^-1)+c|0;c=D(c>>>10^c,9);c=c>>>6^c;c=(c<<11^-1)+c|0;c=x[b+12>>2]-1&(c>>>16^c);b:{c:{if((c|0)>=x[b+28>>2]){break c}c=x[x[b+36>>2]+(c<<2)>>2];if((c|0)==-1){break c}n=x[b+56>>2];o=x[b+16>>2];while(1){b=o+D(c,12)|0;if(x[b>>2]==(G|0)&x[b+4>>2]==(F|0)){break b}c=x[n+(c<<2)>>2];if((c|0)!=-1){continue}break}}b=0}d:{if(B[x[a+24>>2]+32>>2]>E(0)){b=x[a+16>>2];b=ia[x[x[b>>2]+8>>2]](b,d+36|0,d+12|0,0,2)|0;break d}if(b){b=x[b+8>>2];break d}b=x[a+16>>2];b=ia[x[x[b>>2]+8>>2]](b,d+36|0,d+12|0,x[a+32>>2],1)|0;c=x[a+28>>2];N=ia[x[x[c>>2]+12>>2]](c,G,F)|0,O=b,x[N+8>>2]=O}c=x[a+24>>2];n=x[c+8>>2];o=x[c+12>>2];H=d+12|0;x[c+12>>2]=H;I=d+36|0;x[c+8>>2]=I;ia[x[x[c>>2]+8>>2]](c,-1,G);c=x[a+24>>2];ia[x[x[c>>2]+12>>2]](c,-1,F);ia[x[x[b>>2]+8>>2]](b,I,H,x[a+20>>2],x[a+24>>2]);a=x[a+24>>2];x[a+8>>2]=n;x[a+12>>2]=o}ia[x[8263]]();ga=d+256|0}function Za(a,b,c,d,e,f,g,h,i,j,k,l){var m=0,n=E(0),o=E(0),p=E(0),q=E(0),r=0,s=0,t=E(0),u=E(0),w=E(0),z=E(0),A=E(0),C=E(0),F=E(0),G=E(0),H=E(0),I=E(0),J=E(0),K=E(0),L=0,M=E(0),N=E(0),O=E(0),P=E(0),Q=0,R=0,S=E(0),T=E(0),U=E(0),V=E(0),W=E(0),X=0,Y=E(0),Z=E(0),_=E(0),$=0;r=x[a+68>>2];s=r;a:{if((r|0)!=x[a+72>>2]){break a}Q=r?r<<1:1;if((r|0)>=(Q|0)){break a}if(Q){x[8456]=x[8456]+1;R=ia[x[8258]](D(Q,152),16)|0;m=x[a+68>>2]}else{m=r}b:{if((m|0)<=0){break b}s=0;if((m|0)!=1){$=m&-2;while(1){L=D(s,152);ya(L+R|0,L+x[a+76>>2]|0,152);L=D(s|1,152);ya(L+R|0,L+x[a+76>>2]|0,152);s=s+2|0;X=X+2|0;if((X|0)!=($|0)){continue}break}}if(!(m&1)){break b}m=D(s,152);ya(m+R|0,m+x[a+76>>2]|0,152)}m=x[a+76>>2];if(!(m?!m|!y[a+80|0]:1)){x[8457]=x[8457]+1;ia[x[8259]](m)}x[a+76>>2]=R;v[a+80|0]=1;x[a+72>>2]=Q;s=x[a+68>>2]}x[a+68>>2]=s+1;m=x[a+76>>2]+D(r,152)|0;x[m+140>>2]=e;r=x[a+16>>2];a=x[(r+D(d,244)|0)+240>>2];e=x[(r+D(c,244)|0)+240>>2];x[m+148>>2]=d;x[m+144>>2]=c;S=B[f+84>>2];x[m+132>>2]=0;B[m+104>>2]=S;x[m+96>>2]=0;x[m+100>>2]=0;c:{if(e){s=x[b+4>>2];x[m+16>>2]=x[b>>2];x[m+20>>2]=s;s=x[b+12>>2];x[m+24>>2]=x[b+8>>2];x[m+28>>2]=s;p=B[g+8>>2];n=B[g>>2];o=B[g+4>>2];x[m+12>>2]=0;T=B[m+20>>2];U=B[m+16>>2];M=E(E(n*T)-E(o*U));B[m+8>>2]=M;V=B[m+24>>2];N=E(E(p*U)-E(n*V));B[m+4>>2]=N;O=E(E(o*V)-E(T*p));B[m>>2]=O;p=B[e+332>>2];n=B[e+328>>2];o=B[e+608>>2];q=B[e+348>>2];A=B[e+340>>2];G=B[e+344>>2];t=B[e+612>>2];z=B[e+364>>2];H=B[e+356>>2];I=B[e+360>>2];J=B[e+604>>2];w=B[e+324>>2];x[m+76>>2]=0;t=E(t*E(E(z*M)+E(E(H*O)+E(N*I))));B[m+72>>2]=t;q=E(o*E(E(q*M)+E(E(A*O)+E(N*G))));B[m+68>>2]=q;A=E(J*E(E(p*M)+E(E(w*O)+E(N*n))));B[m+64>>2]=A;break c}x[m+64>>2]=0;x[m+68>>2]=0;x[m>>2]=0;x[m+4>>2]=0;x[m+72>>2]=0;x[m+76>>2]=0;x[m+8>>2]=0;x[m+12>>2]=0;x[m+16>>2]=0;x[m+20>>2]=0;x[m+24>>2]=0;x[m+28>>2]=0}d:{if(a){p=B[b>>2];n=B[b+4>>2];o=B[b+8>>2];x[m+60>>2]=0;Y=E(-o);B[m+56>>2]=Y;Z=E(-n);B[m+52>>2]=Z;_=E(-p);B[m+48>>2]=_;u=B[h+8>>2];C=B[h+4>>2];F=B[h>>2];x[m+44>>2]=0;P=E(E(p*C)-E(F*n));B[m+40>>2]=P;F=E(E(o*F)-E(u*p));B[m+36>>2]=F;C=E(E(n*u)-E(C*o));B[m+32>>2]=C;p=B[a+332>>2];o=B[a+328>>2];n=B[a+608>>2];G=B[a+348>>2];z=B[a+340>>2];H=B[a+344>>2];u=B[a+612>>2];I=B[a+364>>2];J=B[a+356>>2];w=B[a+360>>2];W=B[a+604>>2];K=B[a+324>>2];x[m+92>>2]=0;u=E(u*E(E(I*P)+E(E(J*C)+E(F*w))));B[m+88>>2]=u;n=E(n*E(E(G*P)+E(E(z*C)+E(F*H))));B[m+84>>2]=n;o=E(W*E(E(p*P)+E(E(K*C)+E(F*o))));B[m+80>>2]=o;break d}x[m+80>>2]=0;x[m+84>>2]=0;x[m+32>>2]=0;x[m+36>>2]=0;x[m+88>>2]=0;x[m+92>>2]=0;x[m+40>>2]=0;x[m+44>>2]=0;x[m+48>>2]=0;x[m+52>>2]=0;x[m+56>>2]=0;x[m+60>>2]=0;n=E(0);o=E(0)}G=E(0);W=i;if(e){i=B[g+4>>2];z=B[g>>2];w=E(B[b+8>>2]*E(E(A*i)-E(z*q)));K=q;q=B[g+8>>2];K=E(B[e+404>>2]+E(w+E(E(B[b>>2]*E(E(K*q)-E(i*t)))+E(E(E(t*z)-E(q*A))*B[b+4>>2]))))}else{K=E(0)}if(a){t=B[h>>2];q=B[h+4>>2];w=E(B[b+8>>2]*E(E(n*t)-E(o*q)));i=n;n=B[h+8>>2];i=E(B[a+404>>2]+E(w+E(E(B[b>>2]*E(E(u*q)-E(i*n)))+E(E(E(o*n)-E(u*t))*B[b+4>>2]))))}else{i=E(0)}p=E(W/E(K+i));B[m+108>>2]=p;z=E(0);t=E(0);q=E(0);A=E(0);u=E(0);n=E(0);if(e){c=r+D(c,244)|0;q=E(B[c+176>>2]+B[c+208>>2]);A=B[c+192>>2];t=E(B[c+180>>2]+B[c+212>>2]);u=B[c+196>>2];z=E(B[c+184>>2]+B[c+216>>2]);n=B[c+200>>2]}o=E(0);H=E(0);I=E(0);J=E(0);w=E(0);if(a){a=r+D(d,244)|0;G=E(B[a+176>>2]+B[a+208>>2]);I=B[a+200>>2];J=B[a+196>>2];H=E(B[a+184>>2]+B[a+216>>2]);w=B[a+192>>2];o=E(B[a+180>>2]+B[a+212>>2])}i=E(0);i=y[f+128|0]&16?E(p*E(E(B[j+44>>2]*E(-E(E(E(B[f+56>>2]-B[f+40>>2])*B[b+8>>2])+E(E(E(B[f+48>>2]-B[f+32>>2])*B[b>>2])+E(E(B[f+52>>2]-B[f+36>>2])*B[b+4>>2])))))/B[j+12>>2])):i;x[m+128>>2]=0;B[m+124>>2]=S;B[m+116>>2]=l;B[m+120>>2]=-S;B[m+112>>2]=E(p*E(k-E(E(E(E(V*z)+E(E(U*q)+E(t*T)))+E(E(M*n)+E(E(O*A)+E(u*N))))+E(E(E(Y*H)+E(E(_*G)+E(o*Z)))+E(E(P*I)+E(E(C*w)+E(J*F)))))))+i}function zf(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=E(0),m=E(0),n=0,o=E(0),p=E(0),q=E(0);x[a+8>>2]=x[b>>2];i=x[a+24>>2];a:{if((i|0)!=x[a+28>>2]){break a}h=i?i<<1:1;if((h|0)<=(i|0)){break a}if(h){x[8456]=x[8456]+1;d=ia[x[8258]](h<<2,16)|0;i=x[a+24>>2]}b:{if((i|0)<=0){break b}if(i>>>0>=4){n=i&-4;while(1){g=f<<2;x[g+d>>2]=x[g+x[a+32>>2]>>2];k=g|4;x[k+d>>2]=x[k+x[a+32>>2]>>2];k=g|8;x[k+d>>2]=x[k+x[a+32>>2]>>2];g=g|12;x[g+d>>2]=x[g+x[a+32>>2]>>2];f=f+4|0;e=e+4|0;if((n|0)!=(e|0)){continue}break}}e=i&3;if(!e){break b}while(1){g=f<<2;x[g+d>>2]=x[g+x[a+32>>2]>>2];f=f+1|0;j=j+1|0;if((e|0)!=(j|0)){continue}break}}f=x[a+32>>2];if(!(!f|!y[a+36|0])){if(f){x[8457]=x[8457]+1;ia[x[8259]](f)}i=x[a+24>>2]}x[a+32>>2]=d;v[a+36|0]=1;x[a+28>>2]=h}x[x[a+32>>2]+(i<<2)>>2]=x[b>>2];x[a+24>>2]=i+1;c:{if(c){o=B[b+16>>2];p=B[b+12>>2];m=B[b+8>>2];l=B[b+20>>2];break c}c=x[a+8>>2];l=B[b+16>>2];m=B[b+8>>2];q=B[b+12>>2];o=E(E(B[c+44>>2]*l)+E(E(B[c+36>>2]*m)+E(q*B[c+40>>2])));p=E(E(B[c+28>>2]*l)+E(E(B[c+20>>2]*m)+E(q*B[c+24>>2])));m=E(E(B[c+12>>2]*l)+E(E(B[c+4>>2]*m)+E(B[c+8>>2]*q)));l=E(0)}d=x[a+76>>2];d:{if((d|0)!=x[a+80>>2]){break d}i=d?d<<1:1;if((i|0)<=(d|0)){break d}e:{if(!i){c=0;break e}x[8456]=x[8456]+1;c=ia[x[8258]](i<<4,16)|0;d=x[a+76>>2]}f:{if((d|0)<=0){break f}f=0;if((d|0)!=1){n=d&-2;j=0;while(1){g=f<<4;h=g+c|0;e=g+x[a+84>>2]|0;k=x[e+4>>2];x[h>>2]=x[e>>2];x[h+4>>2]=k;k=x[e+12>>2];x[h+8>>2]=x[e+8>>2];x[h+12>>2]=k;e=g|16;g=e+c|0;e=e+x[a+84>>2]|0;h=x[e+4>>2];x[g>>2]=x[e>>2];x[g+4>>2]=h;h=x[e+12>>2];x[g+8>>2]=x[e+8>>2];x[g+12>>2]=h;f=f+2|0;j=j+2|0;if((n|0)!=(j|0)){continue}break}}if(!(d&1)){break f}f=f<<4;d=f+c|0;f=f+x[a+84>>2]|0;e=x[f+4>>2];x[d>>2]=x[f>>2];x[d+4>>2]=e;e=x[f+12>>2];x[d+8>>2]=x[f+8>>2];x[d+12>>2]=e}d=x[a+84>>2];if(!(d?!d|!y[a+88|0]:1)){x[8457]=x[8457]+1;ia[x[8259]](d)}x[a+84>>2]=c;v[a+88|0]=1;x[a+80>>2]=i;d=x[a+76>>2]}c=x[a+84>>2]+(d<<4)|0;B[c+12>>2]=l;B[c+8>>2]=o;B[c+4>>2]=p;B[c>>2]=m;x[a+76>>2]=x[a+76>>2]+1;l=B[b+24>>2];o=E(E(1)-l);p=E(E(o*B[a+48>>2])+E(l*B[a- -64>>2]));m=E(E(o*B[a+44>>2])+E(l*B[a+60>>2]));l=E(E(o*B[a+40>>2])+E(l*B[a+56>>2]));d=x[a+96>>2];g:{if((d|0)!=x[a+100>>2]){break g}i=d?d<<1:1;if((i|0)<=(d|0)){break g}h:{if(!i){c=0;break h}x[8456]=x[8456]+1;c=ia[x[8258]](i<<4,16)|0;d=x[a+96>>2]}i:{if((d|0)<=0){break i}f=0;if((d|0)!=1){n=d&-2;j=0;while(1){g=f<<4;h=g+c|0;e=g+x[a+104>>2]|0;k=x[e+4>>2];x[h>>2]=x[e>>2];x[h+4>>2]=k;k=x[e+12>>2];x[h+8>>2]=x[e+8>>2];x[h+12>>2]=k;e=g|16;g=e+c|0;e=e+x[a+104>>2]|0;h=x[e+4>>2];x[g>>2]=x[e>>2];x[g+4>>2]=h;h=x[e+12>>2];x[g+8>>2]=x[e+8>>2];x[g+12>>2]=h;f=f+2|0;j=j+2|0;if((n|0)!=(j|0)){continue}break}}if(!(d&1)){break i}f=f<<4;d=f+c|0;f=f+x[a+104>>2]|0;e=x[f+4>>2];x[d>>2]=x[f>>2];x[d+4>>2]=e;e=x[f+12>>2];x[d+8>>2]=x[f+8>>2];x[d+12>>2]=e}d=x[a+104>>2];if(!(d?!d|!y[a+108|0]:1)){x[8457]=x[8457]+1;ia[x[8259]](d)}x[a+104>>2]=c;v[a+108|0]=1;x[a+100>>2]=i;d=x[a+96>>2]}c=x[a+104>>2]+(d<<4)|0;B[c+8>>2]=p;B[c+4>>2]=m;B[c>>2]=l;x[a+96>>2]=x[a+96>>2]+1;e=x[a+116>>2];j:{if((e|0)!=x[a+120>>2]){break j}g=e?e<<1:1;if((g|0)<=(e|0)){break j}k:{if(!g){d=0;break k}x[8456]=x[8456]+1;d=ia[x[8258]](g<<2,16)|0;e=x[a+116>>2]}c=x[a+124>>2];l:{m:{if((e|0)>0){i=0;f=0;if(e>>>0>=4){n=e&-4;h=0;while(1){j=f<<2;B[j+d>>2]=B[c+j>>2];k=j|4;B[k+d>>2]=B[c+k>>2];k=j|8;B[k+d>>2]=B[c+k>>2];j=j|12;B[j+d>>2]=B[c+j>>2];f=f+4|0;h=h+4|0;if((n|0)!=(h|0)){continue}break}}j=e&3;if(j){while(1){h=f<<2;B[h+d>>2]=B[c+h>>2];f=f+1|0;i=i+1|0;if((j|0)!=(i|0)){continue}break}}if(y[a+128|0]){break m}break l}if(!c|!y[a+128|0]){break l}}if(c){x[8457]=x[8457]+1;ia[x[8259]](c)}e=x[a+116>>2]}x[a+124>>2]=d;x[a+120>>2]=g;v[a+128|0]=1}B[x[a+124>>2]+(e<<2)>>2]=B[b+24>>2];x[a+116>>2]=e+1;return E(B[a+4>>2])}function kb(a,b,c,d,e,f){var g=0,h=0,i=E(0),j=0,k=0,l=E(0),m=E(0),n=E(0),o=E(0),p=E(0),q=E(0),r=E(0),s=E(0),t=0,u=0,v=0,w=E(0),y=E(0),z=E(0),A=E(0);g=ga-400|0;ga=g;ia[x[8262]](2330);h=x[c+12>>2];x[g+336>>2]=x[c+8>>2];x[g+340>>2]=h;h=x[c+4>>2];x[g+328>>2]=x[c>>2];x[g+332>>2]=h;h=x[c+28>>2];x[g+352>>2]=x[c+24>>2];x[g+356>>2]=h;h=x[c+20>>2];x[g+344>>2]=x[c+16>>2];x[g+348>>2]=h;h=x[c+44>>2];x[g+368>>2]=x[c+40>>2];x[g+372>>2]=h;h=x[c+36>>2];x[g+360>>2]=x[c+32>>2];x[g+364>>2]=h;h=x[c+60>>2];x[g+384>>2]=x[c+56>>2];x[g+388>>2]=h;h=x[c+52>>2];x[g+376>>2]=x[c+48>>2];x[g+380>>2]=h;h=x[d+12>>2];x[g+272>>2]=x[d+8>>2];x[g+276>>2]=h;h=x[d+4>>2];x[g+264>>2]=x[d>>2];x[g+268>>2]=h;h=x[d+28>>2];x[g+288>>2]=x[d+24>>2];x[g+292>>2]=h;h=x[d+20>>2];x[g+280>>2]=x[d+16>>2];x[g+284>>2]=h;h=x[d+44>>2];x[g+304>>2]=x[d+40>>2];x[g+308>>2]=h;h=x[d+36>>2];x[g+296>>2]=x[d+32>>2];x[g+300>>2]=h;h=x[d+60>>2];x[g+320>>2]=x[d+56>>2];x[g+324>>2]=h;h=x[d+52>>2];x[g+312>>2]=x[d+48>>2];x[g+316>>2]=h;k=g+328|0;u=g+4|0;h=g+248|0;Kb(k,g+264|0,u,h);x[g+228>>2]=0;i=B[g+248>>2];B[g+224>>2]=i*B[g+12>>2];B[g+220>>2]=i*B[g+8>>2];B[g+216>>2]=i*B[g+4>>2];x[g+208>>2]=0;x[g+212>>2]=0;x[g+200>>2]=0;x[g+204>>2]=0;x[g+60>>2]=0;x[g+64>>2]=0;x[g+52>>2]=0;x[g+56>>2]=0;db(k,h);x[g+48>>2]=0;x[g+32>>2]=0;m=B[g+260>>2];l=B[g+256>>2];i=B[g+248>>2];n=B[g+252>>2];o=E(E(2)/E(E(m*m)+E(E(l*l)+E(E(i*i)+E(n*n)))));p=E(l*o);q=E(n*p);r=E(i*o);s=E(m*r);B[g+40>>2]=q+s;B[g+28>>2]=q-s;q=E(i*r);r=n;n=E(n*o);o=E(r*n);B[g+44>>2]=E(1)-E(q+o);l=E(l*p);B[g+24>>2]=E(1)-E(q+l);x[g+16>>2]=0;q=E(i*p);r=E(m*n);B[g+36>>2]=q-r;i=E(i*n);m=E(m*p);B[g+20>>2]=i+m;B[g+12>>2]=q+r;B[g+8>>2]=i-m;B[g+4>>2]=E(1)-E(o+l);k=g+232|0;ia[x[x[b>>2]+8>>2]](b,u,h,k);i=B[g+224>>2];m=B[g+216>>2];n=B[g+220>>2];q=B[k>>2];r=B[k+4>>2];s=B[k+8>>2];w=B[h>>2];p=B[g+200>>2];y=B[h+4>>2];o=B[g+204>>2];z=B[h+8>>2];l=B[g+208>>2];A=E(ia[x[x[b>>2]+16>>2]](b));x[h+12>>2]=0;l=E(l*E(1));j=l>E(0);B[h+8>>2]=z+(j?E(-0):l);o=E(o*E(1));t=o>E(0);B[h+4>>2]=y+(t?E(-0):o);p=E(p*E(1));v=p>E(0);B[h>>2]=w+(v?E(-0):p);x[k+12>>2]=0;B[k+8>>2]=s+(j?l:E(-0));B[k+4>>2]=r+(t?o:E(-0));B[k>>2]=q+(v?p:E(-0));i=E(E(A*E(M(E(E(i*i)+E(E(m*m)+E(n*n))))))*E(1));B[h>>2]=B[h>>2]-i;B[h+4>>2]=B[h+4>>2]-i;B[h+8>>2]=B[h+8>>2]-i;B[k>>2]=i+B[k>>2];B[k+4>>2]=i+B[k+4>>2];B[k+8>>2]=i+B[k+8>>2];x[g+4>>2]=14788;j=x[c+12>>2];x[g+48>>2]=x[c+8>>2];x[g+52>>2]=j;j=x[c+4>>2];x[g+40>>2]=x[c>>2];x[g+44>>2]=j;t=x[c+28>>2];j=g- -64|0;x[j>>2]=x[c+24>>2];x[j+4>>2]=t;j=x[c+20>>2];x[g+56>>2]=x[c+16>>2];x[g+60>>2]=j;j=x[c+44>>2];x[g+80>>2]=x[c+40>>2];x[g+84>>2]=j;j=x[c+36>>2];x[g+72>>2]=x[c+32>>2];x[g+76>>2]=j;j=x[c+60>>2];x[g+96>>2]=x[c+56>>2];x[g+100>>2]=j;j=x[c+52>>2];x[g+88>>2]=x[c+48>>2];x[g+92>>2]=j;c=x[d+12>>2];x[g+112>>2]=x[d+8>>2];x[g+116>>2]=c;c=x[d+4>>2];x[g+104>>2]=x[d>>2];x[g+108>>2]=c;c=x[d+28>>2];x[g+128>>2]=x[d+24>>2];x[g+132>>2]=c;c=x[d+20>>2];x[g+120>>2]=x[d+16>>2];x[g+124>>2]=c;c=x[d+36>>2];x[g+136>>2]=x[d+32>>2];x[g+140>>2]=c;c=x[d+44>>2];x[g+144>>2]=x[d+40>>2];x[g+148>>2]=c;c=x[d+60>>2];x[g+160>>2]=x[d+56>>2];x[g+164>>2]=c;c=x[d+52>>2];x[g+152>>2]=x[d+48>>2];x[g+156>>2]=c;x[g+188>>2]=e;B[g+192>>2]=f;x[g+196>>2]=b;x[g+184>>2]=a;f=E(B[g+160>>2]-B[g+96>>2]);i=E(B[g+152>>2]-B[g+88>>2]);m=E(B[g+156>>2]-B[g+92>>2]);n=E(E(1)/E(M(E(E(f*f)+E(E(i*i)+E(m*m))))));l=E(f*n);p=l==E(0)?E(0xde0b6b000000000):E(E(1)/l);B[g+16>>2]=p;o=E(m*n);q=o==E(0)?E(0xde0b6b000000000):E(E(1)/o);B[g+12>>2]=q;x[g+32>>2]=p>2]=q>2]=r+E(E(f*i)+E(m*o));f=f==E(0)?E(0xde0b6b000000000):E(E(1)/f);B[g+8>>2]=f;x[g+24>>2]=f>2];ia[x[x[a>>2]+24>>2]](a,g+376|0,g+312|0,u,h,k);ia[x[8263]]();ga=g+400|0}function yf(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=E(0),n=E(0),o=E(0),p=E(0),q=E(0);f=x[b>>2];x[a+16>>2]=f;i=x[a+24>>2];a:{if((i|0)!=x[a+28>>2]){break a}h=i?i<<1:1;if((h|0)<=(i|0)){break a}if(h){x[8456]=x[8456]+1;d=ia[x[8258]](h<<2,16)|0;i=x[a+24>>2]}b:{if((i|0)<=0){break b}f=0;if(i>>>0>=4){l=i&-4;while(1){g=f<<2;x[g+d>>2]=x[g+x[a+32>>2]>>2];k=g|4;x[k+d>>2]=x[k+x[a+32>>2]>>2];k=g|8;x[k+d>>2]=x[k+x[a+32>>2]>>2];g=g|12;x[g+d>>2]=x[g+x[a+32>>2]>>2];f=f+4|0;e=e+4|0;if((l|0)!=(e|0)){continue}break}}e=i&3;if(!e){break b}while(1){g=f<<2;x[g+d>>2]=x[g+x[a+32>>2]>>2];f=f+1|0;j=j+1|0;if((e|0)!=(j|0)){continue}break}}f=x[a+32>>2];if(!(!f|!y[a+36|0])){if(f){x[8457]=x[8457]+1;ia[x[8259]](f)}i=x[a+24>>2]}x[a+32>>2]=d;v[a+36|0]=1;x[a+28>>2]=h;f=x[a+16>>2]}x[x[a+32>>2]+(i<<2)>>2]=f;x[a+24>>2]=i+1;c:{if(c){p=B[b+16>>2];q=B[b+12>>2];m=B[b+8>>2];n=B[b+20>>2];break c}c=x[a+16>>2];n=B[b+16>>2];m=B[b+8>>2];o=B[b+12>>2];p=E(E(B[c+44>>2]*n)+E(E(B[c+36>>2]*m)+E(o*B[c+40>>2])));q=E(E(B[c+28>>2]*n)+E(E(B[c+20>>2]*m)+E(o*B[c+24>>2])));m=E(E(B[c+12>>2]*n)+E(E(B[c+4>>2]*m)+E(B[c+8>>2]*o)));n=E(0)}d=x[a+76>>2];d:{if((d|0)!=x[a+80>>2]){break d}i=d?d<<1:1;if((i|0)<=(d|0)){break d}e:{if(!i){c=0;break e}x[8456]=x[8456]+1;c=ia[x[8258]](i<<4,16)|0;d=x[a+76>>2]}f:{if((d|0)<=0){break f}f=0;if((d|0)!=1){l=d&-2;j=0;while(1){g=f<<4;h=g+c|0;e=g+x[a+84>>2]|0;k=x[e+4>>2];x[h>>2]=x[e>>2];x[h+4>>2]=k;k=x[e+12>>2];x[h+8>>2]=x[e+8>>2];x[h+12>>2]=k;e=g|16;g=e+c|0;e=e+x[a+84>>2]|0;h=x[e+4>>2];x[g>>2]=x[e>>2];x[g+4>>2]=h;h=x[e+12>>2];x[g+8>>2]=x[e+8>>2];x[g+12>>2]=h;f=f+2|0;j=j+2|0;if((l|0)!=(j|0)){continue}break}}if(!(d&1)){break f}d=f<<4;f=d+c|0;d=d+x[a+84>>2]|0;e=x[d+4>>2];x[f>>2]=x[d>>2];x[f+4>>2]=e;e=x[d+12>>2];x[f+8>>2]=x[d+8>>2];x[f+12>>2]=e}d=x[a+84>>2];if(!(d?!d|!y[a+88|0]:1)){x[8457]=x[8457]+1;ia[x[8259]](d)}x[a+84>>2]=c;v[a+88|0]=1;x[a+80>>2]=i;d=x[a+76>>2]}c=x[a+84>>2]+(d<<4)|0;B[c+12>>2]=n;B[c+8>>2]=p;B[c+4>>2]=q;B[c>>2]=m;x[a+76>>2]=x[a+76>>2]+1;d=x[a+96>>2];g:{if((d|0)!=x[a+100>>2]){break g}i=d?d<<1:1;if((i|0)<=(d|0)){break g}h:{if(!i){c=0;break h}x[8456]=x[8456]+1;c=ia[x[8258]](i<<4,16)|0;d=x[a+96>>2]}i:{if((d|0)<=0){break i}f=0;if((d|0)!=1){l=d&-2;j=0;while(1){g=f<<4;h=g+c|0;e=g+x[a+104>>2]|0;k=x[e+4>>2];x[h>>2]=x[e>>2];x[h+4>>2]=k;k=x[e+12>>2];x[h+8>>2]=x[e+8>>2];x[h+12>>2]=k;e=g|16;g=e+c|0;e=e+x[a+104>>2]|0;h=x[e+4>>2];x[g>>2]=x[e>>2];x[g+4>>2]=h;h=x[e+12>>2];x[g+8>>2]=x[e+8>>2];x[g+12>>2]=h;f=f+2|0;j=j+2|0;if((l|0)!=(j|0)){continue}break}}if(!(d&1)){break i}d=f<<4;f=d+c|0;d=d+x[a+104>>2]|0;e=x[d+4>>2];x[f>>2]=x[d>>2];x[f+4>>2]=e;e=x[d+12>>2];x[f+8>>2]=x[d+8>>2];x[f+12>>2]=e}d=x[a+104>>2];if(!(d?!d|!y[a+108|0]:1)){x[8457]=x[8457]+1;ia[x[8259]](d)}x[a+104>>2]=c;v[a+108|0]=1;x[a+100>>2]=i;d=x[a+96>>2]}c=x[a+104>>2]+(d<<4)|0;d=x[b+28>>2];x[c>>2]=x[b+24>>2];x[c+4>>2]=d;d=x[b+36>>2];x[c+8>>2]=x[b+32>>2];x[c+12>>2]=d;x[a+96>>2]=x[a+96>>2]+1;e=x[a+116>>2];j:{if((e|0)!=x[a+120>>2]){break j}g=e?e<<1:1;if((g|0)<=(e|0)){break j}k:{if(!g){d=0;break k}x[8456]=x[8456]+1;d=ia[x[8258]](g<<2,16)|0;e=x[a+116>>2]}c=x[a+124>>2];l:{m:{if((e|0)>0){i=0;f=0;if(e>>>0>=4){l=e&-4;h=0;while(1){j=f<<2;B[j+d>>2]=B[c+j>>2];k=j|4;B[k+d>>2]=B[c+k>>2];k=j|8;B[k+d>>2]=B[c+k>>2];j=j|12;B[j+d>>2]=B[c+j>>2];f=f+4|0;h=h+4|0;if((l|0)!=(h|0)){continue}break}}j=e&3;if(j){while(1){h=f<<2;B[h+d>>2]=B[c+h>>2];f=f+1|0;i=i+1|0;if((j|0)!=(i|0)){continue}break}}if(y[a+128|0]){break m}break l}if(!c|!y[a+128|0]){break l}}if(c){x[8457]=x[8457]+1;ia[x[8259]](c)}e=x[a+116>>2]}x[a+124>>2]=d;x[a+120>>2]=g;v[a+128|0]=1}B[x[a+124>>2]+(e<<2)>>2]=B[b+40>>2];x[a+116>>2]=e+1;return E(B[a+4>>2])}function Ra(a,b,c){a=a|0;b=b|0;c=c|0;var d=E(0),e=0,f=E(0),g=E(0),h=E(0),i=0,j=E(0),k=0,l=0,m=E(0),n=E(0),o=E(0),p=0,q=E(0),r=0,s=E(0),t=0,u=0,v=E(0),w=E(0);e=ga-48|0;ga=e;a:{b:{switch(x[b+4>>2]){case 8:x[a>>2]=0;x[a+4>>2]=0;x[a+8>>2]=0;x[a+12>>2]=0;break a;case 0:d=B[b+40>>2];f=B[b+44>>2];h=B[c+4>>2];j=B[c+8>>2];g=B[b+36>>2];o=B[c>>2];x[a+12>>2]=0;B[a>>2]=o>=E(0)?g:E(-g);B[a+8>>2]=j>=E(0)?f:E(-f);B[a+4>>2]=h>=E(0)?d:E(-d);break a;case 1:d=B[c+8>>2];f=B[c>>2];g=B[c+4>>2];h=E(E(d*B[b+72>>2])+E(E(f*B[b+64>>2])+E(g*B[b+68>>2])));j=E(E(d*B[b+88>>2])+E(E(f*B[b+80>>2])+E(g*B[b+84>>2])));c=h>2])+E(E(f*B[b+96>>2])+E(g*B[b+100>>2])))>(c?j:h)?2:c)<<4)|0;c=x[b>>2];l=x[b+4>>2];d=B[b+8>>2];x[a+12>>2]=0;B[a+8>>2]=d;x[a>>2]=c;x[a+4>>2]=l;break a;case 13:i=x[b+48>>2];x[e+40>>2]=x[b+44>>2];x[e+44>>2]=i;i=x[b+40>>2];x[e+32>>2]=x[b+36>>2];x[e+36>>2]=i;B[e+16>>2]=B[c>>2];B[e+20>>2]=B[c+4>>2];d=B[c+8>>2];x[e+28>>2]=0;B[e+24>>2]=d;c=1;i=2;c:{d:{e:{b=x[b+60>>2];switch(b-1|0){case 0:break d;case 1:break e;default:break c}}i=1}c=0;l=b}k=b<<2;b=e+32|0;d=B[k+b>>2];k=b;b=c<<2;f=B[(k|b)>>2];k=b;b=e+16|0;g=B[k+b>>2];h=B[b+(i<<2)>>2];j=E(M(E(E(g*g)+E(h*h))));f:{if(j!=E(0)){f=E(f/j);B[(c<<2)+e>>2]=g*f;b=l<<2;B[b+e>>2]=B[b+(e+16|0)>>2]>2]=f;b=l<<2;B[b+e>>2]=B[b+(e+16|0)>>2]>2]=s;b=x[e+4>>2];c=x[e>>2];d=B[e+8>>2];x[a+12>>2]=0;B[a+8>>2]=d;x[a>>2]=c;x[a+4>>2]=b;break a;case 10:k=b;b=x[b+60>>2];l=b<<2;v=B[(k+l|0)+36>>2];m=E(1);d=B[c+8>>2];f=B[c>>2];g=B[c+4>>2];h=E(E(d*d)+E(E(f*f)+E(g*g)));if(!(h>2]=0;x[e+44>>2]=0;x[e+32>>2]=0;x[e+36>>2]=0;B[l+(e+32|0)>>2]=v;d=E(-0xde0b6b000000000);f=E(0);g=E(0);h=B[e+40>>2];j=B[e+32>>2];o=B[e+36>>2];n=E(E(w*h)+E(E(m*j)+E(s*o)));if(n>E(-0xde0b6b000000000)){f=o;g=h;q=j;d=n}x[e+40>>2]=0;x[e+44>>2]=0;x[e+32>>2]=0;x[e+36>>2]=0;B[(e+32|0)+(b<<2)>>2]=-v;h=B[e+40>>2];j=B[e+32>>2];o=B[e+36>>2];x[a+12>>2]=0;b=E(E(w*h)+E(E(m*j)+E(s*o)))>d;B[a+8>>2]=b?h:g;B[a+4>>2]=b?o:f;B[a>>2]=b?j:q;break a;case 5:h=B[b+20>>2];j=B[b+28>>2];o=B[b+24>>2];l=x[b+100>>2];b=x[b+104>>2];g:{if((b|0)<=0){i=-1;break g}d=E(B[c>>2]*h);f=E(B[c+8>>2]*j);g=E(B[c+4>>2]*o);t=b&1;h:{if((b|0)==1){b=0;i=-1;m=E(-34028234663852886e22);break h}u=b&-2;b=0;i=-1;m=E(-34028234663852886e22);c=0;while(1){k=l+(b<<4)|0;n=E(E(B[k+8>>2]*f)+E(E(B[k>>2]*d)+E(g*B[k+4>>2])));k=n>m;r=b|1;p=l+(r<<4)|0;q=E(E(B[p+8>>2]*f)+E(E(B[p>>2]*d)+E(g*B[p+4>>2])));n=k?n:m;p=q>n;m=p?q:n;i=p?r:k?b:i;b=b+2|0;c=c+2|0;if((u|0)!=(c|0)){continue}break}}if(!t){break g}c=b;b=l+(b<<4)|0;i=E(E(B[b+8>>2]*f)+E(E(B[b>>2]*d)+E(g*B[b+4>>2])))>m?c:i}b=l+(i<<4)|0;d=B[b>>2];f=B[b+4>>2];g=B[b+8>>2];x[a+12>>2]=0;B[a+8>>2]=j*g;B[a+4>>2]=o*f;B[a>>2]=h*d;break a;case 4:h=B[b+20>>2];j=B[b+28>>2];o=B[b+24>>2];l=x[b+112>>2];b=x[b+104>>2];i:{if((b|0)<=0){i=-1;break i}d=E(B[c>>2]*h);f=E(B[c+8>>2]*j);g=E(B[c+4>>2]*o);t=b&1;j:{if((b|0)==1){b=0;i=-1;m=E(-34028234663852886e22);break j}u=b&-2;b=0;i=-1;m=E(-34028234663852886e22);c=0;while(1){k=l+(b<<4)|0;n=E(E(B[k+8>>2]*f)+E(E(B[k>>2]*d)+E(g*B[k+4>>2])));k=n>m;r=b|1;p=l+(r<<4)|0;q=E(E(B[p+8>>2]*f)+E(E(B[p>>2]*d)+E(g*B[p+4>>2])));n=k?n:m;p=q>n;m=p?q:n;i=p?r:k?b:i;b=b+2|0;c=c+2|0;if((u|0)!=(c|0)){continue}break}}if(!t){break i}c=b;b=l+(b<<4)|0;i=E(E(B[b+8>>2]*f)+E(E(B[b>>2]*d)+E(g*B[b+4>>2])))>m?c:i}b=l+(i<<4)|0;d=B[b>>2];f=B[b+4>>2];g=B[b+8>>2];x[a+12>>2]=0;B[a+8>>2]=j*g;B[a+4>>2]=o*f;B[a>>2]=h*d;break a;default:break b}}ia[x[x[b>>2]+68>>2]](a,b,c)}ga=e+48|0}function cd(a,b){var c=0,d=0,e=0,f=0,g=0,h=0,i=0,k=0,m=0,n=0,o=0,r=0,s=0,t=0,u=0,v=0,w=0,y=0,z=0,A=0,B=0,G=0,H=0;s=ga-16|0;ga=s;w=(p(a),j(2));e=w&2147483647;a:{if(e>>>0<=1305022426){k=+a;d=k*.6366197723675814+6755399441055744+-6755399441055744;v=k+d*-1.5707963109016418+d*-1.5893254773528196e-8;C[b>>3]=v;c=v<-.7853981852531433;if(F(d)<2147483648){e=~~d}else{e=-2147483648}if(c){d=d+-1;C[b>>3]=k+d*-1.5707963109016418+d*-1.5893254773528196e-8;e=e-1|0;break a}if(!(v>.7853981852531433)){break a}d=d+1;C[b>>3]=k+d*-1.5707963109016418+d*-1.5893254773528196e-8;e=e+1|0;break a}if(e>>>0>=2139095040){C[b>>3]=E(a-a);e=0;break a}c=e;e=(e>>>23|0)-150|0;C[s+8>>3]=(l(2,c-(e<<23)|0),q());y=s+8|0;g=ga-560|0;ga=g;c=(e-3|0)/24|0;t=(c|0)>0?c:0;i=e+D(t,-24)|0;n=x[6604];if((n|0)>=0){e=n+1|0;c=t;while(1){C[(g+320|0)+(f<<3)>>3]=(c|0)<0?0:+x[(c<<2)+26432>>2];c=c+1|0;f=f+1|0;if((e|0)!=(f|0)){continue}break}}m=i-24|0;e=0;f=(n|0)>0?n:0;while(1){c=0;d=0;while(1){d=C[(c<<3)+y>>3]*C[(g+320|0)+(e-c<<3)>>3]+d;c=c+1|0;if((c|0)!=1){continue}break}C[(e<<3)+g>>3]=d;c=(e|0)==(f|0);e=e+1|0;if(!c){continue}break}G=47-i|0;z=48-i|0;H=i-25|0;e=n;b:{while(1){d=C[(e<<3)+g>>3];c=0;f=e;r=(e|0)<=0;if(!r){while(1){o=(g+480|0)+(c<<2)|0;k=d*5.960464477539063e-8;c:{if(F(k)<2147483648){h=~~k;break c}h=-2147483648}k=+(h|0);d=k*-16777216+d;d:{if(F(d)<2147483648){h=~~d;break d}h=-2147483648}x[o>>2]=h;f=f-1|0;d=C[(f<<3)+g>>3]+k;c=c+1|0;if((e|0)!=(c|0)){continue}break}}d=pb(d,m);d=d+J(d*.125)*-8;e:{if(F(d)<2147483648){o=~~d;break e}o=-2147483648}d=d-+(o|0);f:{g:{h:{A=(m|0)<=0;i:{if(!A){f=(e<<2)+g|0;h=x[f+476>>2];c=h>>z;u=f;f=h-(c<>2]=f;o=c+o|0;h=f>>G;break i}if(m){break h}h=x[((e<<2)+g|0)+476>>2]>>23}if((h|0)<=0){break f}break g}h=2;if(d>=.5){break g}h=0;break f}c=0;f=0;if(!r){while(1){u=(g+480|0)+(c<<2)|0;r=x[u>>2];B=16777215;j:{k:{if(f){break k}B=16777216;if(r){break k}f=0;break j}x[u>>2]=B-r;f=1}c=c+1|0;if((e|0)!=(c|0)){continue}break}}l:{if(A){break l}c=8388607;m:{switch(H|0){case 1:c=4194303;break;case 0:break m;default:break l}}r=(e<<2)+g|0;x[r+476>>2]=x[r+476>>2]&c}o=o+1|0;if((h|0)!=2){break f}d=1-d;h=2;if(!f){break f}d=d-pb(1,m)}if(d==0){f=0;n:{c=e;if((n|0)>=(e|0)){break n}while(1){c=c-1|0;f=x[(g+480|0)+(c<<2)>>2]|f;if((c|0)>(n|0)){continue}break}if(!f){break n}i=m;while(1){i=i-24|0;e=e-1|0;if(!x[(g+480|0)+(e<<2)>>2]){continue}break}break b}c=1;while(1){f=c;c=c+1|0;if(!x[(g+480|0)+(n-f<<2)>>2]){continue}break}f=e+f|0;while(1){e=e+1|0;C[(g+320|0)+(e<<3)>>3]=x[(e+t<<2)+26432>>2];c=0;d=0;while(1){d=C[(c<<3)+y>>3]*C[(g+320|0)+(e-c<<3)>>3]+d;c=c+1|0;if((c|0)!=1){continue}break}C[(e<<3)+g>>3]=d;if((e|0)<(f|0)){continue}break}e=f;continue}break}d=pb(d,24-i|0);o:{if(d>=16777216){m=(g+480|0)+(e<<2)|0;k=d*5.960464477539063e-8;p:{if(F(k)<2147483648){c=~~k;break p}c=-2147483648}d=+(c|0)*-16777216+d;q:{if(F(d)<2147483648){f=~~d;break q}f=-2147483648}x[m>>2]=f;e=e+1|0;break o}if(F(d)<2147483648){c=~~d}else{c=-2147483648}i=m}x[(g+480|0)+(e<<2)>>2]=c}d=pb(1,i);r:{if((e|0)<0){break r}c=e;while(1){f=c;C[(c<<3)+g>>3]=d*+x[(g+480|0)+(c<<2)>>2];c=c-1|0;d=d*5.960464477539063e-8;if(f){continue}break}if((e|0)<0){break r}f=e;while(1){d=0;c=0;i=e-f|0;m=(i|0)>(n|0)?n:i;if((m|0)>=0){while(1){d=C[(c<<3)+29200>>3]*C[(c+f<<3)+g>>3]+d;t=(c|0)!=(m|0);c=c+1|0;if(t){continue}break}}C[(g+160|0)+(i<<3)>>3]=d;c=(f|0)>0;f=f-1|0;if(c){continue}break}}d=0;if((e|0)>=0){while(1){c=e;e=e-1|0;d=d+C[(g+160|0)+(c<<3)>>3];if(c){continue}break}}C[s>>3]=h?-d:d;ga=g+560|0;e=o&7;d=C[s>>3];if((w|0)<0){C[b>>3]=-d;e=0-e|0;break a}C[b>>3]=d}ga=s+16|0;return e}function Mg(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;a:{b:{c:{if((f|0)>=0){i=x[a+16>>2];if((i|0)>0){break c}break b}f=x[a+8>>2];E(ia[x[x[f>>2]+12>>2]](f,b,c,d,e,x[a+12>>2],x[a+16>>2],x[a+4>>2],x[a+20>>2],x[a+24>>2]));return}m=x[a+12>>2];while(1){q=m+(g<<2)|0;j=x[q>>2];h=x[x[j+28>>2]+208>>2];if((h|0)<0){h=x[x[j+32>>2]+208>>2]}if((f|0)==(h|0)){break b}g=g+1|0;if((i|0)!=(g|0)){continue}break}q=0;break a}if((g|0)>=(i|0)){break a}h=i-g|0;k=h&1;j=x[a+12>>2];if((i|0)!=(g+1|0)){i=h&-2;m=0;while(1){l=j+(g<<2)|0;n=x[l>>2];h=x[x[n+28>>2]+208>>2];if((h|0)<0){h=x[x[n+32>>2]+208>>2]}g=g+2|0;o=((f|0)==(h|0))+o|0;l=x[l+4>>2];h=x[x[l+28>>2]+208>>2];if((h|0)<0){h=x[x[l+32>>2]+208>>2]}o=((f|0)==(h|0))+o|0;m=m+2|0;if((i|0)!=(m|0)){continue}break}}if(!k){break a}h=x[j+(g<<2)>>2];g=x[x[h+28>>2]+208>>2];if((g|0)<0){g=x[x[h+32>>2]+208>>2]}o=((f|0)==(g|0))+o|0}f=x[a+4>>2];if(x[f+80>>2]>=2){if((c|0)>0){g=x[a+36>>2];h=x[a+32>>2];j=0;while(1){n=(j<<2)+b|0;d:{if((g|0)!=(h|0)){break d}i=g?g<<1:1;if((i|0)<=(g|0)){h=g;break d}e:{if(!i){f=0;break e}x[8456]=x[8456]+1;f=ia[x[8258]](i<<2,16)|0;g=x[a+32>>2]}h=g;f:{if((g|0)<=0){break f}m=0;g=0;if(h>>>0>=4){r=h&-4;k=0;while(1){l=g<<2;x[l+f>>2]=x[l+x[a+40>>2]>>2];p=l|4;x[p+f>>2]=x[p+x[a+40>>2]>>2];p=l|8;x[p+f>>2]=x[p+x[a+40>>2]>>2];l=l|12;x[l+f>>2]=x[l+x[a+40>>2]>>2];g=g+4|0;k=k+4|0;if((r|0)!=(k|0)){continue}break}}k=h&3;if(!k){break f}while(1){l=g<<2;x[l+f>>2]=x[l+x[a+40>>2]>>2];g=g+1|0;m=m+1|0;if((k|0)!=(m|0)){continue}break}}g=x[a+40>>2];if(!(!g|!y[a+44|0])){if(g){x[8457]=x[8457]+1;ia[x[8259]](g)}h=x[a+32>>2]}x[a+40>>2]=f;v[a+44|0]=1;x[a+36>>2]=i;g=i}x[x[a+40>>2]+(h<<2)>>2]=x[n>>2];h=h+1|0;x[a+32>>2]=h;j=j+1|0;if((j|0)!=(c|0)){continue}break}}if((e|0)>0){g=x[a+56>>2];h=x[a+52>>2];j=0;while(1){i=(j<<2)+d|0;g:{if((g|0)!=(h|0)){break g}b=g?g<<1:1;if((b|0)<=(g|0)){h=g;break g}h:{if(!b){f=0;break h}x[8456]=x[8456]+1;f=ia[x[8258]](b<<2,16)|0;g=x[a+52>>2]}h=g;i:{if((g|0)<=0){break i}m=0;g=0;if(h>>>0>=4){l=h&-4;k=0;while(1){c=g<<2;x[c+f>>2]=x[c+x[a+60>>2]>>2];n=c|4;x[n+f>>2]=x[n+x[a+60>>2]>>2];n=c|8;x[n+f>>2]=x[n+x[a+60>>2]>>2];c=c|12;x[c+f>>2]=x[c+x[a+60>>2]>>2];g=g+4|0;k=k+4|0;if((l|0)!=(k|0)){continue}break}}c=h&3;if(!c){break i}while(1){k=g<<2;x[k+f>>2]=x[k+x[a+60>>2]>>2];g=g+1|0;m=m+1|0;if((c|0)!=(m|0)){continue}break}}c=x[a+60>>2];if(!(!c|!y[a+64|0])){if(c){x[8457]=x[8457]+1;ia[x[8259]](c)}h=x[a+52>>2]}x[a+60>>2]=f;v[a+64|0]=1;x[a+56>>2]=b;g=b}x[x[a+60>>2]+(h<<2)>>2]=x[i>>2];h=h+1|0;x[a+52>>2]=h;j=j+1|0;if((j|0)!=(e|0)){continue}break}}j:{if(!o){h=x[a+72>>2];break j}g=x[a+76>>2];h=x[a+72>>2];j=0;while(1){d=(j<<2)+q|0;k:{if((g|0)!=(h|0)){break k}b=g?g<<1:1;if((b|0)<=(g|0)){h=g;break k}l:{if(!b){f=0;break l}x[8456]=x[8456]+1;f=ia[x[8258]](b<<2,16)|0;g=x[a+72>>2]}h=g;m:{if((g|0)<=0){break m}m=0;g=0;if(h>>>0>=4){e=h&-4;k=0;while(1){c=g<<2;x[c+f>>2]=x[c+x[a+80>>2]>>2];i=c|4;x[i+f>>2]=x[i+x[a+80>>2]>>2];i=c|8;x[i+f>>2]=x[i+x[a+80>>2]>>2];c=c|12;x[c+f>>2]=x[c+x[a+80>>2]>>2];g=g+4|0;k=k+4|0;if((e|0)!=(k|0)){continue}break}}c=h&3;if(!c){break m}while(1){e=g<<2;x[e+f>>2]=x[e+x[a+80>>2]>>2];g=g+1|0;m=m+1|0;if((c|0)!=(m|0)){continue}break}}c=x[a+80>>2];if(!(!c|!y[a+84|0])){if(c){x[8457]=x[8457]+1;ia[x[8259]](c)}h=x[a+72>>2]}x[a+80>>2]=f;v[a+84|0]=1;x[a+76>>2]=b;g=b}x[x[a+80>>2]+(h<<2)>>2]=x[d>>2];h=h+1|0;x[a+72>>2]=h;j=j+1|0;if((o|0)!=(j|0)){continue}break}}if(x[x[a+4>>2]+80>>2]<(x[a+52>>2]+h|0)){ld(a)}return}g=x[a+8>>2];E(ia[x[x[g>>2]+12>>2]](g,b,c,d,e,q,o,f,x[a+20>>2],x[a+24>>2]))}function Mn(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=E(0);f=ga-32|0;ga=f;h=a+4|0;nf(h,((D(x[a+112>>2],x[a+16>>2])|0)/100|0)+1|0);if(x[a+124>>2]){c=((D(x[a+108>>2],x[a+56>>2])|0)/100|0)+1|0;nf(a+44|0,c);c=x[a+124>>2]-c|0;x[a+124>>2]=(c|0)>0?c:0}c=(x[a+104>>2]+1|0)%2|0;x[a+104>>2]=c;c=x[((c<<2)+a|0)+84>>2];if(c){g=a+44|0;while(1){d=x[c+52>>2];e=d?d+56|0:((x[c+60>>2]<<2)+a|0)+84|0;d=x[c+56>>2];x[e>>2]=d;e=x[c+56>>2];if(e){x[e+52>>2]=x[c+52>>2]}x[c+52>>2]=0;x[c+56>>2]=x[a+92>>2];e=x[a+92>>2];if(e){x[e+52>>2]=c}x[a+92>>2]=c;Pb(h,x[c+48>>2]);e=x[c+28>>2];x[f+8>>2]=x[c+24>>2];x[f+12>>2]=e;e=x[c+20>>2];x[f>>2]=x[c+16>>2];x[f+4>>2]=e;e=x[c+44>>2];x[f+24>>2]=x[c+40>>2];x[f+28>>2]=e;e=x[c+36>>2];x[f+16>>2]=x[c+32>>2];x[f+20>>2]=e;e=Qb(g,f,c);x[c+60>>2]=2;x[c+48>>2]=e;c=d;if(c){continue}break}v[a+154|0]=1;x[a+124>>2]=x[a+56>>2]}x[f>>2]=12044;x[f+4>>2]=a;a:{if(!y[a+153|0]){break a}Ob(h,x[a+4>>2],x[a+44>>2],f);if(!y[a+153|0]){break a}c=x[h>>2];Ob(h,c,c,f)}b:{if(!y[a+154|0]){break b}c=x[a+96>>2];e=ia[x[x[c>>2]+28>>2]](c)|0;c=x[e+4>>2];if((c|0)<=0){break b}c:{d=x[a+120>>2];h=(D(x[a+116>>2],c)|0)/100|0;d=(d|0)>(h|0)?d:h;g=(c|0)<(d|0)?c:d;if((g|0)>0){c=0;while(1){h=x[e+12>>2]+((x[a+144>>2]+c|0)%x[e+4>>2]<<4)|0;i=x[h>>2];d=x[i+48>>2];j=x[h+4>>2];h=x[j+48>>2];d:{e:{if(!(B[d>>2]<=B[h+16>>2])|!(B[d+16>>2]>=B[h>>2])|(!(B[d+4>>2]<=B[h+20>>2])|!(B[d+20>>2]>=B[h+4>>2]))){break e}if(!(B[d+8>>2]<=B[h+24>>2])){break e}if(B[d+24>>2]>=B[h+8>>2]){break d}}d=x[a+96>>2];ia[x[x[d>>2]+12>>2]](d,i,j,b)|0;c=c-1|0;g=g-1|0}c=c+1|0;if((g|0)>(c|0)){continue}break}c=x[e+4>>2];if((c|0)<=0){break c}}x[a+144>>2]=(x[a+144>>2]+g|0)%(c|0);break b}x[a+144>>2]=0}v[a+154|0]=0;x[a+120>>2]=1;x[a+140>>2]=x[a+140>>2]+1;c=x[a+132>>2];d=x[a+128>>2];if(d){m=E(E(c>>>0)/E(d>>>0))}else{m=E(0)}B[a+136>>2]=m;x[a+132>>2]=c>>>1;x[a+128>>2]=d>>>1;ga=f+32|0;d=0;c=0;j=0;l=ga-16|0;ga=l;f=x[a+96>>2];if(ia[x[x[f>>2]+56>>2]](f)|0){h=a;a=x[a+96>>2];g=ia[x[x[a>>2]+28>>2]](a)|0;a=x[g+4>>2];if((a|0)>=2){Nb(g,l+15|0,0,a-1|0);a=x[g+4>>2]}if((a|0)>0){while(1){i=x[g+12>>2]+(j<<4)|0;f=x[i+4>>2];e=d;d=x[i>>2];f:{g:{if((e|0)==(d|0)&(c|0)==(f|0)){break g}c=x[d+48>>2];e=x[f+48>>2];if(!(B[c>>2]<=B[e+16>>2])|!(B[c+16>>2]>=B[e>>2])|(!(B[c+4>>2]<=B[e+20>>2])|!(B[c+20>>2]>=B[e+4>>2]))){break g}if(!(B[c+8>>2]<=B[e+24>>2])){break g}if(B[c+24>>2]>=B[e+8>>2]){break f}}a=x[h+96>>2];ia[x[x[a>>2]+32>>2]](a,i,b);x[i>>2]=0;x[i+4>>2]=0;k=k+1|0;a=x[g+4>>2]}c=f;j=j+1|0;if((j|0)<(a|0)){continue}break}if((a|0)>=2){Nb(g,l+14|0,0,a-1|0);a=x[g+4>>2]}b=a-k|0;h:{if((k|0)>=0){break h}if((b|0)>x[g+8>>2]){d=0;i:{if((a|0)==(k|0)){break i}x[8456]=x[8456]+1;d=ia[x[8258]](b<<4,16)|0;e=x[g+4>>2];if((e|0)<=0){break i}c=0;while(1){h=c<<4;f=h+d|0;h=h+x[g+12>>2]|0;x[f>>2]=x[h>>2];x[f+4>>2]=x[h+4>>2];x[f+8>>2]=x[h+8>>2];x[f+12>>2]=x[h+12>>2];c=c+1|0;if((e|0)!=(c|0)){continue}break}}c=x[g+12>>2];if(!(c?!c|!y[g+16|0]:1)){x[8457]=x[8457]+1;ia[x[8259]](c)}x[g+12>>2]=d;v[g+16|0]=1;x[g+8>>2]=b}c=0;f=0-k&3;if(f){while(1){d=x[g+12>>2]+(a<<4)|0;x[d>>2]=0;x[d+4>>2]=0;x[d+8>>2]=0;x[d+12>>2]=0;a=a+1|0;c=c+1|0;if((f|0)!=(c|0)){continue}break}}if(k>>>0>4294967292){break h}while(1){c=a<<4;d=c+x[g+12>>2]|0;x[d>>2]=0;x[d+4>>2]=0;x[d+8>>2]=0;x[d+12>>2]=0;d=c+x[g+12>>2]|0;x[d+24>>2]=0;x[d+28>>2]=0;x[d+16>>2]=0;x[d+20>>2]=0;d=c+x[g+12>>2]|0;x[d+40>>2]=0;x[d+44>>2]=0;x[d+32>>2]=0;x[d+36>>2]=0;c=c+x[g+12>>2]|0;x[c+56>>2]=0;x[c+60>>2]=0;x[c+48>>2]=0;x[c+52>>2]=0;a=a+4|0;if((b|0)!=(a|0)){continue}break}}a=b}x[g+4>>2]=a}ga=l+16|0}function li(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=E(0),m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,w=0,z=0,A=0,C=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0;h=b;d=x[a+28>>2];n=d+4|0;b=x[a+32>>2];o=b+4|0;p=d+372|0;q=b+372|0;r=d+388|0;s=b+388|0;i=ga-16|0;ga=i;c=a;a=x[c+1232>>2]-1|0;a:{if(a>>>0>4){j=1;a=2;break a}a=a<<2;f=x[a+23524>>2];j=x[a+23504>>2];a=x[a+23484>>2]}e=D(f,88)+c|0;if(x[e+1052>>2]|y[e+996|0]|y[(D(f,88)+c|0)+1016|0]){d=(f<<4)+c|0;k=d+1388|0;b=x[k+4>>2];x[i+8>>2]=x[k>>2];x[i+12>>2]=b;k=d+1380|0;b=x[k+4>>2];x[i>>2]=x[k>>2];x[i+4>>2]=b;b=x[c+1456>>2]>>(f<<2)+12;if(!(b&1)){B[(D(f,88)+c|0)+984>>2]=B[x[h+32>>2]>>2]}if(!(b&2)){B[(D(f,88)+c|0)+980>>2]=B[h+4>>2]}if(!(b&4)){B[(D(f,88)+c|0)+992>>2]=B[x[h+32>>2]>>2]}if(!(b&8)){B[(D(f,88)+c|0)+988>>2]=B[h+4>>2]}k=xb(c,e+968|0,n,o,p,q,r,s,h,0,i,1,0)}f=D(j,88)+c|0;if(x[f+1052>>2]|y[f+996|0]|y[(D(j,88)+c|0)+1016|0]){e=(j<<4)+c|0;d=e+1388|0;b=x[d+4>>2];x[i+8>>2]=x[d>>2];x[i+12>>2]=b;d=e+1380|0;b=x[d+4>>2];x[i>>2]=x[d>>2];x[i+4>>2]=b;b=x[c+1456>>2]>>(j<<2)+12;if(!(b&1)){B[(D(j,88)+c|0)+984>>2]=B[x[h+32>>2]>>2]}if(!(b&2)){B[(D(j,88)+c|0)+980>>2]=B[h+4>>2]}if(!(b&4)){B[(D(j,88)+c|0)+992>>2]=B[x[h+32>>2]>>2]}if(!(b&8)){B[(D(j,88)+c|0)+988>>2]=B[h+4>>2]}k=xb(c,f+968|0,n,o,p,q,r,s,h,k,i,1,0)+k|0}f=D(a,88)+c|0;if(x[f+1052>>2]|y[f+996|0]|y[(D(a,88)+c|0)+1016|0]){e=(a<<4)+c|0;d=e+1388|0;b=x[d+4>>2];x[i+8>>2]=x[d>>2];x[i+12>>2]=b;d=e+1380|0;b=x[d+4>>2];x[i>>2]=x[d>>2];x[i+4>>2]=b;b=x[c+1456>>2]>>(a<<2)+12;if(!(b&1)){B[(D(a,88)+c|0)+984>>2]=B[x[h+32>>2]>>2]}if(!(b&2)){B[(D(a,88)+c|0)+980>>2]=B[h+4>>2]}if(!(b&4)){B[(D(a,88)+c|0)+992>>2]=B[x[h+32>>2]>>2]}if(!(b&8)){B[(D(a,88)+c|0)+988>>2]=B[h+4>>2]}k=xb(c,f+968|0,n,o,p,q,r,s,h,k,i,1,0)+k|0}ga=i+16|0;e=0;b=ga-112|0;ga=b;x[b+44>>2]=1063675494;x[b+48>>2]=0;x[b+36>>2]=1045220557;x[b+40>>2]=0;w=c+760|0;z=c+776|0;t=h+4|0;A=c+728|0;C=c+744|0;F=c+1268|0;G=c+1252|0;H=c+1236|0;I=c+876|0;J=c+892|0;K=c+696|0;L=c+860|0;M=c+840|0;N=c+820|0;O=c+804|0;P=c+924|0;Q=c+908|0;R=c+940|0;i=c+712|0;u=c+680|0;while(1){d=y[(e+u|0)+112|0];b:{c:{g=e<<2;j=u+g|0;f=x[j+276>>2];if(f){break c}a=d;d=1;if(a){break c}d=0;if(y[(c+e|0)+798|0]){break c}a=e+1|0;break b}l=B[g+i>>2];x[b+108>>2]=f;B[b+32>>2]=l;B[b+104>>2]=B[g+R>>2];B[b+96>>2]=B[g+Q>>2];l=B[g+P>>2];v[b+52|0]=d;B[b+100>>2]=l;a=c+e|0;v[b+64|0]=y[a+795|0];B[b+68>>2]=B[g+O>>2];v[b+72|0]=y[a+798|0];B[b+76>>2]=B[g+N>>2];v[b+80|0]=y[a+836|0];B[b+84>>2]=B[g+M>>2];v[b+88|0]=y[a+856|0];B[b+92>>2]=B[g+L>>2];B[b+28>>2]=B[g+K>>2];B[b+24>>2]=B[j>>2];B[b+60>>2]=B[g+J>>2];B[b+56>>2]=B[g+I>>2];B[b+8>>2]=B[g+H>>2];B[b+12>>2]=B[g+G>>2];l=B[g+F>>2];x[b+20>>2]=0;B[b+16>>2]=l;d=x[c+1456>>2]>>g;B[b+40>>2]=B[(d&1?g+C|0:x[h+32>>2])>>2];B[b+36>>2]=B[(d&2?g+A|0:t)>>2];B[b+48>>2]=B[(d&4?g+z|0:x[h+32>>2])>>2];B[b+44>>2]=B[(d&8?g+w|0:t)>>2];j=1;f=e?e-1|0:2;d=1;d:{e:{f:{g:{a=e+1|0;e=D(e>>>0<2?a:e-2|0,88)+c|0;switch(x[e+1052>>2]-1|0){case 0:case 1:break d;case 3:break f;case 2:break g;default:break e}}m=+B[e+1040>>2];d=m<-.001|m>.001;break d}if(+B[e+1040>>2]<-.001){break d}d=+B[e+1044>>2]>.001;break d}d=0}h:{i:{j:{k:{e=D(f,88)+c|0;switch(x[e+1052>>2]-1|0){case 0:case 1:break i;case 3:break j;case 2:break k;default:break h}}m=+B[e+1040>>2];if(m<-.001|m>.001){break i}break h}if(+B[e+1040>>2]<-.001){break i}if(!(+B[e+1044>>2]>.001)){break h}}j=0}k=xb(c,b+24|0,n,o,p,q,r,s,h,k,b+8|0,0,d?j:1)+k|0}e=a;if((e|0)!=3){continue}break}ga=b+112|0}function Od(a,b,c,d){var e=0,f=0,g=E(0),h=E(0),i=E(0),j=E(0),k=E(0),l=E(0),m=E(0),n=E(0),o=E(0),p=E(0),q=E(0),r=E(0),s=0,t=E(0),u=E(0),w=E(0),y=E(0),z=E(0),A=E(0),C=E(0),D=E(0),F=E(0),G=0,H=E(0),I=E(0),J=E(0),K=E(0),L=E(0),M=E(0),N=E(0),O=0,P=E(0),Q=E(0),R=E(0),S=E(0),T=E(0),U=E(0),V=E(0),W=E(0),X=E(0),Y=E(0),Z=E(0),_=0,$=0,aa=E(0),ba=E(0),ca=E(0),da=E(0),ea=E(0),fa=E(0);e=ga-240|0;ga=e;a:{if(x[a+16>>2]){zb(x[a+4>>2]);f=x[a+12>>2];s=x[f+4>>2];O=x[a+16>>2];_=x[O+4>>2];h=E(ia[x[x[f>>2]+48>>2]](f));G=x[a+16>>2];j=E(ia[x[x[G>>2]+48>>2]](G));G=x[a+4>>2];$=x[a+8>>2];a=e+160|0;x[a+72>>2]=1;x[a+76>>2]=1;x[a+60>>2]=-1;v[a+52|0]=0;B[a+48>>2]=j;B[a+44>>2]=h;x[a+40>>2]=_;x[a+36>>2]=s;x[a+32>>2]=O;x[a+28>>2]=f;x[a+24>>2]=G;x[a+20>>2]=$;x[a+4>>2]=0;x[a+8>>2]=1065353216;x[a+12>>2]=0;x[a+16>>2]=0;x[a>>2]=22784;x[e+152>>2]=1566444395;f=x[b+12>>2];x[e+32>>2]=x[b+8>>2];x[e+36>>2]=f;f=x[b+4>>2];x[e+24>>2]=x[b>>2];x[e+28>>2]=f;f=x[b+28>>2];x[e+48>>2]=x[b+24>>2];x[e+52>>2]=f;f=x[b+20>>2];x[e+40>>2]=x[b+16>>2];x[e+44>>2]=f;s=x[b+44>>2];f=e- -64|0;x[f>>2]=x[b+40>>2];x[f+4>>2]=s;f=x[b+36>>2];x[e+56>>2]=x[b+32>>2];x[e+60>>2]=f;f=x[b+60>>2];x[e+80>>2]=x[b+56>>2];x[e+84>>2]=f;f=x[b+52>>2];x[e+72>>2]=x[b+48>>2];x[e+76>>2]=f;b=x[c+12>>2];x[e+96>>2]=x[c+8>>2];x[e+100>>2]=b;b=x[c+4>>2];x[e+88>>2]=x[c>>2];x[e+92>>2]=b;b=x[c+20>>2];x[e+104>>2]=x[c+16>>2];x[e+108>>2]=b;b=x[c+28>>2];x[e+112>>2]=x[c+24>>2];x[e+116>>2]=b;b=x[c+44>>2];x[e+128>>2]=x[c+40>>2];x[e+132>>2]=b;b=x[c+36>>2];x[e+120>>2]=x[c+32>>2];x[e+124>>2]=b;b=x[c+52>>2];x[e+136>>2]=x[c+48>>2];x[e+140>>2]=b;b=x[c+60>>2];x[e+144>>2]=x[c+56>>2];x[e+148>>2]=b;Oa(a,e+24|0,d,0,0);break a}I=B[b+52>>2];J=B[b+56>>2];K=B[c+52>>2];L=B[c+56>>2];k=B[b+20>>2];l=B[b+36>>2];h=B[c+20>>2];j=B[c+36>>2];g=B[c+24>>2];m=B[b+24>>2];i=B[c+40>>2];p=B[b+40>>2];M=B[b+48>>2];aa=B[c+48>>2];f=x[a+12>>2];q=B[b+32>>2];r=B[b+16>>2];t=B[b>>2];u=B[b+4>>2];A=B[c+32>>2];C=B[c+16>>2];D=B[c>>2];F=B[c+4>>2];n=B[c+8>>2];w=B[b+8>>2];a=x[a+20>>2];y=B[a+60>>2];b=a- -64|0;z=B[b>>2];o=B[a+56>>2];x[e+172>>2]=0;P=E(E(p*A)+E(E(w*D)+E(m*C)));o=E(-o);Q=E(E(p*j)+E(E(w*F)+E(m*h)));H=E(E(p*i)+E(E(w*n)+E(m*g)));B[e+168>>2]=E(E(P*o)-E(y*Q))-E(z*H);R=E(E(l*A)+E(E(u*D)+E(k*C)));S=E(E(l*j)+E(E(u*F)+E(k*h)));T=E(E(l*i)+E(E(u*n)+E(k*g)));B[e+164>>2]=E(E(R*o)-E(y*S))-E(z*T);U=E(E(q*A)+E(E(t*D)+E(r*C)));V=E(E(q*j)+E(E(t*F)+E(r*h)));W=E(E(q*i)+E(E(t*n)+E(r*g)));B[e+160>>2]=E(E(U*o)-E(y*V))-E(z*W);s=e+160|0;ia[x[x[f>>2]+64>>2]](e+24|0,f,s);k=B[a+60>>2];l=B[b>>2];ba=B[a+72>>2];m=B[a+56>>2];p=B[e+24>>2];q=B[e+28>>2];r=B[e+32>>2];ca=B[c+52>>2];t=B[c+24>>2];u=B[c+20>>2];da=B[c+56>>2];w=B[c+40>>2];y=B[c+36>>2];ea=B[c+48>>2];z=B[c+8>>2];o=B[c>>2];X=B[c+4>>2];Y=B[c+16>>2];Z=B[c+32>>2];x[e+172>>2]=0;fa=E(E(J*i)+E(E(M*n)+E(I*g)));N=n;n=E(-aa);g=E(E(fa+E(E(E(N*n)-E(g*K))-E(i*L)))+E(E(r*H)+E(E(p*W)+E(T*q))));N=g;H=E(l*g);g=E(E(E(E(J*A)+E(E(M*D)+E(I*C)))+E(E(E(D*n)-E(C*K))-E(A*L)))+E(E(r*P)+E(E(p*U)+E(R*q))));i=E(E(E(E(J*j)+E(E(M*F)+E(I*h)))+E(E(E(F*n)-E(h*K))-E(j*L)))+E(E(r*Q)+E(E(p*V)+E(S*q))));h=E(E(H+E(E(m*g)+E(k*i)))-ba);j=E(N-E(l*h));g=E(g-E(m*h));i=E(i-E(k*h));B[e+168>>2]=da+E(E(w*j)+E(E(Z*g)+E(y*i)));B[e+164>>2]=ca+E(E(j*t)+E(E(g*Y)+E(i*u)));B[e+160>>2]=ea+E(E(j*z)+E(E(g*o)+E(i*X)));x[e+20>>2]=0;B[e+16>>2]=E(w*l)+E(E(Z*m)+E(k*y));B[e+12>>2]=E(t*l)+E(E(Y*m)+E(k*u));B[e+8>>2]=E(z*l)+E(E(o*m)+E(k*X));ia[x[x[d>>2]+16>>2]](d,e+8|0,s,h)}ga=e+240|0}function wd(a,b){var c=0,d=E(0),e=E(0),f=E(0),g=E(0),h=E(0),i=E(0),j=E(0),k=E(0),l=E(0),m=E(0),n=E(0),o=E(0),p=E(0),q=E(0),r=E(0),s=E(0),t=0;x[a+372>>2]=0;x[a+376>>2]=0;x[a+252>>2]=2;x[a+604>>2]=1065353216;x[a+608>>2]=1065353216;x[a+408>>2]=1065353216;x[a+412>>2]=1065353216;x[a+472>>2]=0;x[a+476>>2]=0;x[a+380>>2]=0;x[a+384>>2]=0;x[a+388>>2]=0;x[a+392>>2]=0;x[a+396>>2]=0;x[a+400>>2]=0;x[a+612>>2]=1065353216;x[a+616>>2]=0;x[a+420>>2]=0;x[a+424>>2]=0;x[a+416>>2]=1065353216;x[a+428>>2]=0;x[a+432>>2]=0;x[a+436>>2]=0;x[a+440>>2]=0;x[a+444>>2]=0;x[a+448>>2]=0;x[a+452>>2]=0;x[a+480>>2]=0;x[a+484>>2]=0;x[a+488>>2]=0;x[a+492>>2]=0;x[a+496>>2]=0;x[a+500>>2]=0;g=B[b+92>>2];d=B[b+96>>2];B[a+508>>2]=dE(1)?E(1):d;B[a+504>>2]=gE(1)?E(1):g;B[a+532>>2]=B[b+116>>2];B[a+536>>2]=B[b+120>>2];c=x[b+4>>2];x[a+668>>2]=0;x[a+672>>2]=0;x[a+540>>2]=c;v[a+512|0]=y[b+124|0];B[a+516>>2]=B[b+128>>2];B[a+520>>2]=B[b+132>>2];B[a+524>>2]=B[b+136>>2];B[a+528>>2]=B[b+140>>2];a:{if(c){ia[x[x[c>>2]+8>>2]](c,a+4|0);break a}c=x[b+12>>2];x[a+4>>2]=x[b+8>>2];x[a+8>>2]=c;c=x[b+20>>2];x[a+12>>2]=x[b+16>>2];x[a+16>>2]=c;c=x[b+36>>2];x[a+28>>2]=x[b+32>>2];x[a+32>>2]=c;c=x[b+28>>2];x[a+20>>2]=x[b+24>>2];x[a+24>>2]=c;c=x[b+44>>2];x[a+36>>2]=x[b+40>>2];x[a+40>>2]=c;c=x[b+52>>2];x[a+44>>2]=x[b+48>>2];x[a+48>>2]=c;c=b- -64|0;t=x[c+4>>2];x[a+60>>2]=x[c>>2];x[a+64>>2]=t;c=x[b+60>>2];x[a+52>>2]=x[b+56>>2];x[a+56>>2]=c}x[a+132>>2]=0;x[a+136>>2]=0;c=x[a+8>>2];x[a+68>>2]=x[a+4>>2];x[a+72>>2]=c;x[a+156>>2]=0;x[a+160>>2]=0;x[a+148>>2]=0;x[a+152>>2]=0;x[a+140>>2]=0;x[a+144>>2]=0;c=x[a+24>>2];x[a+84>>2]=x[a+20>>2];x[a+88>>2]=c;c=x[a+16>>2];x[a+76>>2]=x[a+12>>2];x[a+80>>2]=c;c=x[a+32>>2];x[a+92>>2]=x[a+28>>2];x[a+96>>2]=c;c=x[a+40>>2];x[a+100>>2]=x[a+36>>2];x[a+104>>2]=c;c=x[a+48>>2];x[a+108>>2]=x[a+44>>2];x[a+112>>2]=c;c=x[a+56>>2];x[a+116>>2]=x[a+52>>2];x[a+120>>2]=c;c=x[a+64>>2];x[a+124>>2]=x[a+60>>2];x[a+128>>2]=c;B[a+228>>2]=B[b+100>>2];B[a+236>>2]=B[b+104>>2];B[a+240>>2]=B[b+108>>2];B[a+232>>2]=B[b+112>>2];ia[x[x[a>>2]+8>>2]](a,x[b+72>>2]);c=x[8931];x[8931]=c+1;x[a+568>>2]=c;g=E(0);c=x[a+204>>2];d=B[b>>2];if(d==E(0)){c=c|1}else{g=E(E(1)/d);c=c&-2}B[a+404>>2]=g;x[a+204>>2]=c;x[a+436>>2]=0;B[a+424>>2]=d*B[a+440>>2];B[a+432>>2]=d*B[a+448>>2];B[a+428>>2]=d*B[a+444>>2];e=B[b+84>>2];f=B[b+80>>2];d=B[b+76>>2];x[a+564>>2]=8;x[a+368>>2]=0;x[a+352>>2]=0;x[a+336>>2]=0;x[a+468>>2]=0;d=d!=E(0)?E(E(1)/d):E(0);B[a+456>>2]=d;f=f!=E(0)?E(E(1)/f):E(0);B[a+460>>2]=f;e=e!=E(0)?E(E(1)/e):E(0);B[a+464>>2]=e;m=B[a+12>>2];h=E(e*m);n=B[a+4>>2];i=E(d*n);o=B[a+8>>2];j=E(f*o);B[a+324>>2]=E(m*h)+E(E(n*i)+E(o*j));p=B[a+28>>2];q=B[a+20>>2];r=B[a+24>>2];B[a+328>>2]=E(p*h)+E(E(q*i)+E(j*r));s=B[a+44>>2];k=E(s*h);h=B[a+36>>2];l=E(h*i);i=B[a+40>>2];B[a+332>>2]=k+E(l+E(j*i));j=E(e*p);k=E(d*q);l=E(f*r);B[a+340>>2]=E(m*j)+E(E(n*k)+E(o*l));B[a+344>>2]=E(p*j)+E(E(q*k)+E(r*l));B[a+348>>2]=E(s*j)+E(E(h*k)+E(l*i));e=E(e*s);d=E(d*h);f=E(f*i);B[a+356>>2]=E(m*e)+E(E(n*d)+E(o*f));B[a+360>>2]=E(p*e)+E(E(q*d)+E(r*f));B[a+364>>2]=E(s*e)+E(E(h*d)+E(i*f));d=B[a+408>>2];f=B[a+412>>2];e=B[a+416>>2];x[a+596>>2]=0;x[a+600>>2]=0;x[a+588>>2]=0;x[a+592>>2]=0;x[a+580>>2]=0;x[a+584>>2]=0;x[a+572>>2]=0;x[a+576>>2]=0;B[a+628>>2]=g*e;B[a+624>>2]=g*f;B[a+620>>2]=g*d;x[a+664>>2]=0;x[a+656>>2]=0;x[a+660>>2]=0;x[a+648>>2]=0;x[a+652>>2]=0;x[a+640>>2]=0;x[a+644>>2]=0;x[a+632>>2]=0;x[a+636>>2]=0}function oo(a,b,c,d,e,f){a=a|0;b=E(b);c=E(c);d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=E(0),k=E(0),l=E(0),m=0,n=E(0),o=E(0),p=E(0),q=E(0),r=0,s=E(0),t=E(0),u=E(0),v=E(0),w=E(0),y=E(0),z=E(0),A=0,C=0,D=0,F=0,G=0,H=0,I=0,J=0;g=ga-144|0;ga=g;x[g+136>>2]=0;x[g+140>>2]=0;x[g+128>>2]=0;x[g+132>>2]=0;A=g+128|0;m=d<<2;B[A+m>>2]=-c;x[g+120>>2]=0;x[g+124>>2]=0;x[g+112>>2]=0;x[g+116>>2]=0;C=g+112|0;B[m+C>>2]=c;h=x[e+12>>2];x[g+56>>2]=x[e+8>>2];x[g+60>>2]=h;h=x[e+4>>2];x[g+48>>2]=x[e>>2];x[g+52>>2]=h;h=x[e+28>>2];x[g+72>>2]=x[e+24>>2];x[g+76>>2]=h;h=x[e+20>>2];x[g+64>>2]=x[e+16>>2];x[g+68>>2]=h;h=x[e+44>>2];x[g+88>>2]=x[e+40>>2];x[g+92>>2]=h;h=x[e+36>>2];x[g+80>>2]=x[e+32>>2];x[g+84>>2]=h;k=B[e+8>>2];p=B[e+56>>2];v=B[e+40>>2];w=B[e+36>>2];y=B[e+48>>2];z=B[e>>2];n=B[e+4>>2];o=B[e+32>>2];c=B[g+136>>2];j=B[g+128>>2];l=B[g+132>>2];B[g+100>>2]=E(E(c*B[e+24>>2])+E(E(j*B[e+16>>2])+E(l*B[e+20>>2])))+B[e+52>>2];x[g+108>>2]=0;B[g+104>>2]=p+E(E(c*v)+E(E(j*o)+E(l*w)));B[g+96>>2]=y+E(E(c*k)+E(E(j*z)+E(l*n)));h=x[g+108>>2];x[g+40>>2]=x[g+104>>2];x[g+44>>2]=h;h=x[g+100>>2];x[g+32>>2]=x[g+96>>2];x[g+36>>2]=h;h=(d+1|0)%3<<2;r=g+48|0;G=h+r|0;B[g+16>>2]=B[G>>2];D=g- -64|0;H=D+h|0;B[g+20>>2]=B[H>>2];F=g+80|0;I=F+h|0;c=B[I>>2];x[g+28>>2]=0;B[g+24>>2]=c;D=m+D|0;c=B[D>>2];F=m+F|0;j=B[F>>2];x[g+12>>2]=0;m=m+r|0;B[g>>2]=-B[m>>2];B[g+8>>2]=-j;B[g+4>>2]=-c;r=g+32|0;J=g+16|0;ia[x[x[a>>2]+72>>2]](a,r,J,g,b,E(-1.5707963705062866),E(1.5707963705062866),E(-1.5707963705062866),E(1.5707963705062866),f,E(30),0);i=x[e+12>>2];x[g+56>>2]=x[e+8>>2];x[g+60>>2]=i;i=x[e+4>>2];x[g+48>>2]=x[e>>2];x[g+52>>2]=i;i=x[e+28>>2];x[g+72>>2]=x[e+24>>2];x[g+76>>2]=i;i=x[e+20>>2];x[g+64>>2]=x[e+16>>2];x[g+68>>2]=i;i=x[e+44>>2];x[g+88>>2]=x[e+40>>2];x[g+92>>2]=i;i=x[e+36>>2];x[g+80>>2]=x[e+32>>2];x[g+84>>2]=i;k=B[e+8>>2];p=B[e+56>>2];v=B[e+40>>2];w=B[e+36>>2];c=B[e+52>>2];j=B[e+24>>2];l=B[e+20>>2];y=B[e+48>>2];z=B[e>>2];n=B[e+4>>2];o=B[e+32>>2];q=B[e+16>>2];x[g+108>>2]=0;s=c;c=B[g+120>>2];t=E(j*c);j=B[g+112>>2];u=l;l=B[g+116>>2];B[g+100>>2]=s+E(t+E(E(q*j)+E(u*l)));B[g+104>>2]=p+E(E(c*v)+E(E(j*o)+E(l*w)));B[g+96>>2]=y+E(E(c*k)+E(E(j*z)+E(l*n)));i=x[g+108>>2];x[g+40>>2]=x[g+104>>2];x[g+44>>2]=i;i=x[g+100>>2];x[g+32>>2]=x[g+96>>2];x[g+36>>2]=i;B[g+16>>2]=B[G>>2];B[g+20>>2]=B[H>>2];c=B[I>>2];x[g+28>>2]=0;B[g+24>>2]=c;B[g>>2]=B[m>>2];B[g+4>>2]=B[D>>2];c=B[F>>2];x[g+12>>2]=0;B[g+8>>2]=c;ia[x[x[a>>2]+72>>2]](a,r,J,g,b,E(-1.5707963705062866),E(1.5707963705062866),E(-1.5707963705062866),E(1.5707963705062866),f,E(30),0);d=(d+2|0)%3<<2;m=d+C|0;r=d+A|0;C=h+C|0;h=h+A|0;c=B[e+56>>2];j=B[e+52>>2];l=B[e+48>>2];d=0;while(1){k=E(E(d|0)*E(.01745329238474369));p=E(Ca(k)*b);B[h>>2]=p;B[C>>2]=p;k=E(Ba(k)*b);B[r>>2]=k;B[m>>2]=k;k=B[e+8>>2];p=B[e>>2];v=B[e+4>>2];w=B[e+24>>2];y=B[e+16>>2];z=B[e+20>>2];n=B[e+40>>2];o=B[e+32>>2];q=B[e+36>>2];x[g+60>>2]=0;s=B[g+136>>2];u=B[g+128>>2];t=B[g+132>>2];B[g+56>>2]=c+E(E(n*s)+E(E(o*u)+E(q*t)));B[g+52>>2]=j+E(E(w*s)+E(E(y*u)+E(t*z)));B[g+48>>2]=l+E(E(k*s)+E(E(p*u)+E(v*t)));x[g+44>>2]=0;s=n;n=B[g+120>>2];u=o;o=B[g+112>>2];t=q;q=B[g+116>>2];B[g+40>>2]=c+E(E(s*n)+E(E(u*o)+E(t*q)));B[g+36>>2]=j+E(E(w*n)+E(E(y*o)+E(z*q)));B[g+32>>2]=l+E(E(k*n)+E(E(p*o)+E(v*q)));ia[x[x[a>>2]+16>>2]](a,g+48|0,g+32|0,f);A=d>>>0<330;d=d+30|0;if(A){continue}break}ga=g+144|0}function xb(a,b,c,d,e,f,g,h,i,j,k,l,m){var n=E(0),o=E(0),p=0,q=E(0),r=E(0),s=0,t=E(0),u=E(0),v=E(0),w=E(0),z=E(0),A=E(0),C=E(0);j=D(x[i+24>>2],j);a:{b:{c:{switch(x[b+84>>2]-3|0){case 1:p=l?g:e;q=B[p+8>>2];u=B[p>>2];C=B[p+4>>2];p=l?h:f;w=B[p+8>>2];z=B[p>>2];v=B[p+4>>2];o=B[k+8>>2];n=B[k>>2];r=B[k+4>>2];_a(a,c,d,i,j,k,l,m);p=x[i+28>>2]+(j<<2)|0;A=l?E(-1):E(1);t=E(A*E(E(B[i>>2]*B[b+12>>2])*B[b+72>>2]));B[p>>2]=t;n=E(E(E(q*o)+E(E(u*n)+E(C*r)))-E(E(w*o)+E(E(z*n)+E(r*v))));q=E(t-E(n*B[b+12>>2]));d:{e:{if(l){o=E(0);r=E(34028234663852886e22);if(!(q>E(0))){break d}q=E(n*E(-B[b+8>>2]));if(t>2]));if(!(t>q)){break d}}B[p>>2]=q}p=j<<2;B[p+x[i+36>>2]>>2]=o;B[p+x[i+40>>2]>>2]=r;B[p+x[i+32>>2]>>2]=B[b+16>>2];j=x[i+24>>2]+j|0;_a(a,c,d,i,j,k,l,m);p=x[i+28>>2]+(j<<2)|0;q=E(A*E(E(B[i>>2]*B[b+12>>2])*B[b+76>>2]));B[p>>2]=q;t=E(q-E(n*B[b+12>>2]));f:{g:{if(l){r=E(0);o=E(-34028234663852886e22);if(!(t>2]));if(q>n){break g}break f}o=E(0);r=E(34028234663852886e22);if(!(t>E(0))){break f}n=E(n*E(-B[b+8>>2]));if(!(q>2]=n}s=b+16|0;p=j<<2;B[p+x[i+36>>2]>>2]=o;B[p+x[i+40>>2]>>2]=r;p=2;break b;case 0:break c;default:break a}}_a(a,c,d,i,j,k,l,m);p=j<<2;B[p+x[i+28>>2]>>2]=E(E(B[i>>2]*B[b+12>>2])*B[b+72>>2])*E((l?-1:1)|0);x[p+x[i+36>>2]>>2]=-8388609;x[p+x[i+40>>2]>>2]=2139095039;s=b+16|0;p=1}B[x[i+32>>2]+(j<<2)>>2]=B[s>>2];j=x[i+24>>2]+j|0}h:{if(!y[b+28|0]){break h}if(!y[b+40|0]){_a(a,c,d,i,j,k,l,m);o=B[b+32>>2];o=wb(B[b+80>>2],B[b>>2],B[b+4>>2],l?o:E(-o),E(B[i>>2]*B[b+20>>2]));s=j<<2;B[s+x[i+28>>2]>>2]=o*B[b+32>>2];B[s+x[i+36>>2]>>2]=-B[b+36>>2];B[s+x[i+40>>2]>>2]=B[b+36>>2];B[s+x[i+32>>2]>>2]=B[b+24>>2];p=p+1|0;j=x[i+24>>2]+j|0;if(!y[b+28|0]|!y[b+40|0]){break h}}o=B[b+44>>2];n=E(B[b+80>>2]-o);i:{if(!l){break i}s=n>E(3.1415927410125732);o=s?E(o+E(6.2831854820251465)):o;n=s?E(n+E(-6.2831854820251465)):n;if(!(n>2];t=n>2];r=B[b>>2];q=B[b+4>>2];j:{if(r>q){q=nE(0)?o:E(-34028234663852886e22);break j}q=nE(0)?o>r?o:r:r}r=wb(v,n,q,u,E(B[i>>2]*B[b+20>>2]))}s=j<<2;B[s+x[i+28>>2]>>2]=E(t*r)*E((l?-1:1)|0);B[s+x[i+36>>2]>>2]=-B[b+36>>2];B[s+x[i+40>>2]>>2]=B[b+36>>2];B[s+x[i+32>>2]>>2]=B[b+24>>2];p=p+1|0;j=x[i+24>>2]+j|0}if(y[b+48|0]){q=B[b+68>>2];u=B[b+80>>2];_a(a,c,d,i,j,k,l,m);c=l?g:e;o=B[k+8>>2];n=B[k>>2];r=B[k+4>>2];v=E(E(B[c+8>>2]*o)+E(E(B[c>>2]*n)+E(B[c+4>>2]*r)));c=l?h:f;t=E(v-E(E(B[c+8>>2]*o)+E(E(B[c>>2]*n)+E(r*B[c+4>>2]))));o=E(E(1)/B[x[a+32>>2]+404>>2]);n=E(E(1)/B[x[a+28>>2]+404>>2]);r=n>o?o:n;u=E(u-q);q=B[b+60>>2];n=E(E(1)/B[i>>2]);o=B[b+52>>2];if(!(!y[b+56|0]|!(E(n*E(M(E(o/r))))>E(.25)))){o=E(E(E(E(E(1)/n)/n)*E(.0625))*r)}a=j<<2;w=E(n*E(u*o));v=n;z=E(t*E(-(y[b+64|0]?r>2]>>2]=E(r*n)+t;b=o>r;n=b?o:r;o=b?r:o;k:{if(!l){B[a+x[i+36>>2]>>2]=o>E(0)?E(0):o;break k}B[a+x[i+36>>2]>>2]=n>2]>>2]=n>2]>>2]=0;p=p+1|0}return p}function Ad(a,b,c,d,e,f){a=bc(a,12,b,c);x[a>>2]=23392;b=x[d+12>>2];x[a+56>>2]=x[d+8>>2];x[a+60>>2]=b;b=x[d+4>>2];x[a+48>>2]=x[d>>2];x[a+52>>2]=b;b=x[d+28>>2];x[a+72>>2]=x[d+24>>2];x[a+76>>2]=b;c=x[d+20>>2];b=a- -64|0;x[b>>2]=x[d+16>>2];x[b+4>>2]=c;b=x[d+44>>2];x[a+88>>2]=x[d+40>>2];x[a+92>>2]=b;b=x[d+36>>2];x[a+80>>2]=x[d+32>>2];x[a+84>>2]=b;b=x[d+60>>2];x[a+104>>2]=x[d+56>>2];x[a+108>>2]=b;b=x[d+52>>2];x[a+96>>2]=x[d+48>>2];x[a+100>>2]=b;b=x[e+12>>2];x[a+120>>2]=x[e+8>>2];x[a+124>>2]=b;b=x[e+4>>2];x[a+112>>2]=x[e>>2];x[a+116>>2]=b;b=x[e+20>>2];x[a+128>>2]=x[e+16>>2];x[a+132>>2]=b;b=x[e+28>>2];x[a+136>>2]=x[e+24>>2];x[a+140>>2]=b;b=x[e+36>>2];x[a+144>>2]=x[e+32>>2];x[a+148>>2]=b;b=x[e+44>>2];x[a+152>>2]=x[e+40>>2];x[a+156>>2]=b;b=x[e+52>>2];x[a+160>>2]=x[e+48>>2];x[a+164>>2]=b;b=x[e+60>>2];x[a+168>>2]=x[e+56>>2];x[a+172>>2]=b;x[a+680>>2]=0;x[a+684>>2]=0;x[a+688>>2]=0;x[a+692>>2]=0;x[a+696>>2]=0;x[a+700>>2]=0;x[a+704>>2]=0;x[a+708>>2]=0;x[a+712>>2]=0;x[a+716>>2]=0;x[a+720>>2]=0;x[a+724>>2]=0;x[a+728>>2]=1045220557;x[a+732>>2]=1045220557;x[a+736>>2]=1045220557;x[a+756>>2]=0;x[a+748>>2]=0;x[a+752>>2]=0;x[a+740>>2]=0;x[a+744>>2]=0;x[a+760>>2]=1063675494;x[a+764>>2]=1063675494;x[a+768>>2]=1063675494;x[a+812>>2]=0;x[a+804>>2]=0;x[a+808>>2]=0;x[a+828>>2]=0;x[a+820>>2]=0;x[a+824>>2]=0;v[a+838|0]=0;w[a+836>>1]=0;x[a+848>>2]=0;x[a+840>>2]=0;x[a+844>>2]=0;v[a+858|0]=0;w[a+856>>1]=0;x[a+868>>2]=0;x[a+860>>2]=0;x[a+864>>2]=0;x[a+884>>2]=0;x[a+876>>2]=0;x[a+880>>2]=0;x[a+900>>2]=0;x[a+892>>2]=0;x[a+896>>2]=0;v[a+793|0]=0;v[a+794|0]=0;v[a+795|0]=0;v[a+796|0]=0;v[a+797|0]=0;v[a+798|0]=0;v[a+799|0]=0;v[a+800|0]=0;x[a+788>>2]=0;x[a+792>>2]=0;x[a+780>>2]=0;x[a+784>>2]=0;x[a+772>>2]=0;x[a+776>>2]=0;x[a+964>>2]=0;x[a+956>>2]=0;x[a+960>>2]=0;x[a+948>>2]=0;x[a+952>>2]=0;x[a+940>>2]=0;x[a+944>>2]=0;x[a+932>>2]=0;x[a+936>>2]=0;x[a+924>>2]=0;x[a+928>>2]=0;x[a+916>>2]=0;x[a+920>>2]=0;x[a+908>>2]=0;x[a+912>>2]=0;v[a+1032|0]=0;x[a+1028>>2]=0;v[a+1024|0]=0;x[a+1020>>2]=0;v[a+1016|0]=0;x[a+1012>>2]=0;v[a+1008|0]=0;x[a+1e3>>2]=0;x[a+1004>>2]=1036831949;v[a+996|0]=0;x[a+992>>2]=0;x[a+984>>2]=0;x[a+988>>2]=1063675494;x[a+976>>2]=0;x[a+980>>2]=1045220557;x[a+968>>2]=1065353216;x[a+972>>2]=-1082130432;x[a+1052>>2]=0;b=a+1044|0;x[b>>2]=0;x[b+4>>2]=0;b=a+1036|0;x[b>>2]=0;x[b+4>>2]=0;v[a+1120|0]=0;x[a+1116>>2]=0;v[a+1112|0]=0;x[a+1108>>2]=0;v[a+1104|0]=0;x[a+1100>>2]=0;v[a+1096|0]=0;b=a+1088|0;x[b>>2]=0;x[b+4>>2]=1036831949;v[a+1084|0]=0;x[a+1080>>2]=0;b=a+1072|0;x[b>>2]=0;x[b+4>>2]=1063675494;b=a+1064|0;x[b>>2]=0;x[b+4>>2]=1045220557;b=a+1056|0;x[b>>2]=1065353216;x[b+4>>2]=-1082130432;x[a+1140>>2]=0;b=a+1132|0;x[b>>2]=0;x[b+4>>2]=0;b=a+1124|0;x[b>>2]=0;x[b+4>>2]=0;v[a+1208|0]=0;x[a+1204>>2]=0;v[a+1200|0]=0;x[a+1196>>2]=0;v[a+1192|0]=0;x[a+1188>>2]=0;v[a+1184|0]=0;b=a+1176|0;x[b>>2]=0;x[b+4>>2]=1036831949;v[a+1172|0]=0;x[a+1168>>2]=0;b=a+1160|0;x[b>>2]=0;x[b+4>>2]=1063675494;b=a+1152|0;x[b>>2]=0;x[b+4>>2]=1045220557;b=a+1144|0;x[b>>2]=1065353216;x[b+4>>2]=-1082130432;x[a+1228>>2]=0;b=a+1220|0;x[b>>2]=0;x[b+4>>2]=0;b=a+1212|0;x[b>>2]=0;x[b+4>>2]=0;x[a+1456>>2]=0;x[a+1232>>2]=f;fc(a,x[a+28>>2]+4|0,x[a+32>>2]+4|0);return a}function Qi(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;e=ga-32|0;ga=e;d=ia[x[x[a>>2]+28>>2]](a)|0;x[b>>2]=0;x[b+20>>2]=d;if(d){p=ia[x[x[c>>2]+16>>2]](c,32,d)|0;j=x[p+8>>2];s=b,t=ia[x[x[c>>2]+28>>2]](c,j)|0,x[s>>2]=t;r=ia[x[x[a>>2]+28>>2]](a)|0;if((r|0)>0){while(1){ia[x[x[a>>2]+16>>2]](a,e+28|0,e+4|0,e+16|0,e+8|0,e+24|0,e+20|0,e,e+12|0,o);d=x[e>>2];x[j+24>>2]=d;f=x[e+4>>2];x[j>>2]=0;x[j+4>>2]=0;x[j+28>>2]=f;x[j+8>>2]=0;x[j+12>>2]=0;x[j+16>>2]=0;x[j+20>>2]=0;a:{b:{switch(x[e+12>>2]-2|0){case 0:if(!d){break a}f=ia[x[x[c>>2]+16>>2]](c,4,D(d,3))|0;k=x[f+8>>2];s=j,t=ia[x[x[c>>2]+28>>2]](c,k)|0,x[s+8>>2]=t;if(x[e>>2]>0){d=0;m=x[e+24>>2];while(1){h=k+D(d,12)|0;g=m+D(x[e+20>>2],d)|0;x[h>>2]=x[g>>2];x[h+4>>2]=x[g+4>>2];x[h+8>>2]=x[g+8>>2];d=d+1|0;if((d|0)>2]){continue}break}}ia[x[x[c>>2]+20>>2]](c,f,8455,1497453121,x[f+8>>2]);break a;case 1:if(!d){break a}h=ia[x[x[c>>2]+16>>2]](c,8,d)|0;k=x[h+8>>2];s=j,t=ia[x[x[c>>2]+28>>2]](c,k)|0,x[s+12>>2]=t;d=0;if(x[e>>2]>0){while(1){f=k+(d<<3)|0;g=x[e+24>>2]+D(x[e+20>>2],d)|0;w[f>>1]=z[g>>1];w[f+2>>1]=z[g+2>>1];g=z[g+4>>1];w[f+6>>1]=0;w[f+4>>1]=g;d=d+1|0;if((d|0)>2]){continue}break}}ia[x[x[c>>2]+20>>2]](c,h,8520,1497453121,x[h+8>>2]);break a;case 3:break b;default:break a}}if(!d){break a}h=ia[x[x[c>>2]+16>>2]](c,4,d)|0;k=x[h+8>>2];s=j,t=ia[x[x[c>>2]+28>>2]](c,k)|0,x[s+16>>2]=t;d=0;if(x[e>>2]>0){while(1){f=k+(d<<2)|0;g=x[e+24>>2]+D(x[e+20>>2],d)|0;v[f|0]=y[g|0];v[f+1|0]=y[g+1|0];g=y[g+2|0];v[f+3|0]=0;v[f+2|0]=g;d=d+1|0;if((d|0)>2]){continue}break}}ia[x[x[c>>2]+20>>2]](c,h,8547,1497453121,x[h+8>>2])}c:{d:{switch(x[e+16>>2]){case 0:d=x[e+4>>2];if(!d){break c}n=ia[x[x[c>>2]+16>>2]](c,16,d)|0;h=x[n+8>>2];s=j,t=ia[x[x[c>>2]+28>>2]](c,h)|0,x[s>>2]=t;g=x[e+4>>2];e:{if((g|0)<=0){break e}d=0;k=x[e+8>>2];m=x[e+28>>2];if((g|0)!=1){q=g&-2;f=0;while(1){l=h+(d<<4)|0;i=m+D(d,k)|0;B[l>>2]=B[i>>2];B[l+4>>2]=B[i+4>>2];B[l+8>>2]=B[i+8>>2];i=d|1;l=h+(i<<4)|0;i=m+D(i,k)|0;B[l>>2]=B[i>>2];B[l+4>>2]=B[i+4>>2];B[l+8>>2]=B[i+8>>2];d=d+2|0;f=f+2|0;if((q|0)!=(f|0)){continue}break}}if(!(g&1)){break e}f=h+(d<<4)|0;d=m+D(d,k)|0;B[f>>2]=B[d>>2];B[f+4>>2]=B[d+4>>2];B[f+8>>2]=B[d+8>>2]}ia[x[x[c>>2]+20>>2]](c,n,8754,1497453121,x[n+8>>2]);break c;case 1:break d;default:break c}}d=x[e+4>>2];if(!d){break c}n=ia[x[x[c>>2]+16>>2]](c,32,d)|0;h=x[n+8>>2];s=j,t=ia[x[x[c>>2]+28>>2]](c,h)|0,x[s+4>>2]=t;g=x[e+4>>2];f:{if((g|0)<=0){break f}d=0;k=x[e+8>>2];m=x[e+28>>2];if((g|0)!=1){q=g&-2;f=0;while(1){l=h+(d<<5)|0;i=m+D(d,k)|0;C[l>>3]=C[i>>3];C[l+8>>3]=C[i+8>>3];C[l+16>>3]=C[i+16>>3];i=d|1;l=h+(i<<5)|0;i=m+D(i,k)|0;C[l>>3]=C[i>>3];C[l+8>>3]=C[i+8>>3];C[l+16>>3]=C[i+16>>3];d=d+2|0;f=f+2|0;if((q|0)!=(f|0)){continue}break}}if(!(g&1)){break f}f=h+(d<<5)|0;d=m+D(d,k)|0;C[f>>3]=C[d>>3];C[f+8>>3]=C[d+8>>3];C[f+16>>3]=C[d+16>>3]}ia[x[x[c>>2]+20>>2]](c,n,8993,1497453121,x[n+8>>2])}ia[x[x[a>>2]+24>>2]](a,o);j=j+32|0;o=o+1|0;if((r|0)!=(o|0)){continue}break}}ia[x[x[c>>2]+20>>2]](c,p,8470,1497453121,x[p+8>>2])}x[b+24>>2]=0;B[b+4>>2]=B[a+4>>2];B[b+8>>2]=B[a+8>>2];B[b+12>>2]=B[a+12>>2];B[b+16>>2]=B[a+16>>2];ga=e+32|0;return 9059}function Wk(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=E(0),j=0,k=E(0),l=0,m=E(0),n=E(0),o=E(0),p=0,q=E(0),r=0,s=E(0),t=E(0),u=E(0),v=E(0),A=E(0),C=E(0),D=0,F=0,G=0;l=ga+-64|0;ga=l;g=x[a+56>>2];x[l+60>>2]=0;x[l+8>>2]=b;x[l+4>>2]=g;x[l>>2]=18972;g=ga-16|0;ga=g;f=x[a+60>>2];a:{if(y[f+60|0]){v=B[f+40>>2];s=B[f+24>>2];i=B[f+8>>2];A=B[f+36>>2];t=B[f+20>>2];q=B[f+4>>2];n=B[c>>2];o=B[c+4>>2];u=B[f+28>>2];m=B[f+12>>2];k=B[c+8>>2];k=m>k?m:k;C=B[f+44>>2];k=E(E((k>u?u:k)-m)*C);b:{if(k=E(0)){a=~~k>>>0;break b}a=0}j=a&65534;w[g+14>>1]=j;o=i>o?i:o;o=E(v*E((o>s?s:o)-i));c:{if(o=E(0)){a=~~o>>>0;break c}a=0}r=a&65534;w[g+12>>1]=r;n=nt?t:n)-q)*A);d:{if(n=E(0)){a=~~n>>>0;break d}a=0}D=a&65534;w[g+10>>1]=D;n=B[d>>2];o=B[d+4>>2];k=B[d+8>>2];k=m>k?m:k;m=E(E(C*E((k>u?u:k)-m))+E(1));e:{if(m=E(0)){a=~~m>>>0;break e}a=0}d=a|1;w[g+8>>1]=d;m=i>o?i:o;i=E(E(v*E((m>s?s:m)-i))+E(1));f:{if(i=E(0)){a=~~i>>>0;break f}a=0}F=a|1;w[g+6>>1]=F;i=nt?t:i)-q))+E(1));g:{if(i=E(0)){a=~~i>>>0;break g}a=0}G=a|1;w[g+4>>1]=G;h:{switch(x[f+144>>2]){case 0:a=x[f+56>>2];if((a|0)>0){e=x[f+136>>2];while(1){p=p+1|0;i:{j:{b=x[e+12>>2];f=(b|0)<0;c=D>>>0<=z[e+6>>1]&G>>>0>=z[e>>1]&z[e+10>>1]>=j>>>0&d>>>0>=z[e+4>>1]&r>>>0<=z[e+8>>1]&F>>>0>=z[e+2>>1];k:{if(!(f|!c)){ia[x[x[l>>2]+8>>2]](l,b>>>21|0,b&2097151);break k}if(f&(c^-1)){break j}}e=e+16|0;h=h+1|0;break i}e=e-(b<<4)|0;h=h-b|0}if((a|0)>(h|0)){continue}break}}if(x[8470]>=(p|0)){break a}x[8470]=p;break a;case 1:if(x[f+152>>2]>0){while(1){a=x[f+160>>2]+(e<<5)|0;l:{if(z[g+10>>1]>z[a+6>>1]|z[g+4>>1]>1]|(z[g+8>>1]>1]|z[g+14>>1]>z[a+10>>1])){break l}if(z[g+6>>1]>1]|z[g+12>>1]>z[a+8>>1]){break l}b=x[a+16>>2];m:{if((b|0)<=0){b=0;break m}j=x[a+12>>2];d=b+j|0;h=x[f+136>>2]+(j<<4)|0;b=0;while(1){n:{o:{a=x[h+12>>2];p=(a|0)<0;c=z[g+10>>1]<=z[h+6>>1]&z[g+4>>1]>=z[h>>1]&z[g+14>>1]<=z[h+10>>1]&z[g+8>>1]>=z[h+4>>1]&z[g+12>>1]<=z[h+8>>1]&z[g+6>>1]>=z[h+2>>1];p:{if(!(p|!c)){ia[x[x[l>>2]+8>>2]](l,a>>>21|0,a&2097151);break p}if(p&(c^-1)){break o}}j=j+1|0;h=h+16|0;break n}j=j-a|0;h=h-(a<<4)|0}b=b+1|0;if((d|0)>(j|0)){continue}break}}if(x[8470]>=(b|0)){break l}x[8470]=b}e=e+1|0;if((e|0)>2]){continue}break}}break a;case 2:break h;default:break a}}pe(f,x[f+136>>2],l,g+10|0,g+4|0);break a}r=x[f+56>>2];if((r|0)>0){e=x[f+96>>2];while(1){a=0;q:{if(B[c>>2]>B[e+16>>2]){break q}a=0;if(B[d>>2]>2]){break q}a=1}b=0;b=B[d+8>>2]>2]|B[c+8>>2]>B[e+24>>2]?b:a;r:{s:{t:{if(B[d+4>>2]>2]|B[c+4>>2]>B[e+20>>2]){j=x[e+32>>2];a=(j|0)==-1;b=0;break t}j=x[e+32>>2];a=(j|0)==-1;if(!(b&a)){break t}ia[x[x[l>>2]+8>>2]](l,x[e+36>>2],x[e+40>>2]);r=x[f+56>>2];break s}if(a|b){break s}e=(j<<6)+e|0;h=h+j|0;break r}e=e- -64|0;h=h+1|0}p=p+1|0;if((h|0)<(r|0)){continue}break}}if(x[8470]>=(p|0)){break a}x[8470]=p}ga=g+16|0;ga=l- -64|0}function Xe(a){a=a|0;var b=0,c=0,d=0,e=0,f=E(0),g=0,h=E(0),i=0,j=0,k=0,l=0,m=E(0),n=E(0),o=E(0),p=E(0);b=ga-208|0;ga=b;a:{if(!(ia[x[x[a>>2]+20>>2]](a)|0)){break a}d=ia[x[x[a>>2]+20>>2]](a)|0;ia[x[x[d>>2]+100>>2]](d);d=ia[x[x[a>>2]+20>>2]](a)|0;ia[x[x[d>>2]+8>>2]](b+80|0,d);d=ia[x[x[a>>2]+20>>2]](a)|0;b:{if(!(ia[x[x[d>>2]+56>>2]](d)&8)){break b}d=x[a+24>>2];if(!d){break b}i=ia[x[x[d>>2]+36>>2]](d)|0;if((i|0)<=0){break b}l=b+176|0;while(1){g=0;d=x[a+24>>2];j=ia[x[x[d>>2]+40>>2]](d,e)|0;k=x[j+844>>2];if((k|0)>0){while(1){d=ia[x[x[a>>2]+20>>2]](a)|0;c=j+D(g,208)|0;ia[x[x[d>>2]+40>>2]](d,c+36|0,c+68|0,B[c+84>>2],x[c+168>>2],l);g=g+1|0;if((k|0)!=(g|0)){continue}break}}e=e+1|0;if((i|0)!=(e|0)){continue}break}}d=ia[x[x[a>>2]+20>>2]](a)|0;if(!(ia[x[x[d>>2]+56>>2]](d)&3)|x[a+8>>2]<=0){break a}i=b+160|0;l=b+96|0;j=b+112|0;k=b+128|0;d=b+144|0;g=0;while(1){e=x[x[a+16>>2]+(g<<2)>>2];c:{if(y[e+204|0]&32){break c}d:{if(!(ia[x[x[a>>2]+20>>2]](a)|0)){break d}c=ia[x[x[a>>2]+20>>2]](a)|0;if(!(ia[x[x[c>>2]+56>>2]](c)&1)){break d}e:{f:{switch(x[e+220>>2]-1|0){case 0:c=x[b+92>>2];x[b+72>>2]=x[b+88>>2];x[b+76>>2]=c;c=x[b+84>>2];x[b+64>>2]=x[b+80>>2];x[b+68>>2]=c;break e;case 1:c=x[l+12>>2];x[b+72>>2]=x[l+8>>2];x[b+76>>2]=c;c=x[l+4>>2];x[b+64>>2]=x[l>>2];x[b+68>>2]=c;break e;case 2:c=x[j+12>>2];x[b+72>>2]=x[j+8>>2];x[b+76>>2]=c;c=x[j+4>>2];x[b+64>>2]=x[j>>2];x[b+68>>2]=c;break e;case 3:c=x[k+12>>2];x[b+72>>2]=x[k+8>>2];x[b+76>>2]=c;c=x[k+4>>2];x[b+64>>2]=x[k>>2];x[b+68>>2]=c;break e;case 4:c=x[d+12>>2];x[b+72>>2]=x[d+8>>2];x[b+76>>2]=c;c=x[d+4>>2];x[b+64>>2]=x[d>>2];x[b+68>>2]=c;break e;default:break f}}x[b+72>>2]=1050253722;x[b+76>>2]=0;x[b+64>>2]=1050253722;x[b+68>>2]=1050253722}if(v[e+205|0]&1){c=x[e+320>>2];x[b+72>>2]=x[e+316>>2];x[b+76>>2]=c;c=x[e+312>>2];x[b+64>>2]=x[e+308>>2];x[b+68>>2]=c}ia[x[x[a>>2]+28>>2]](a,e+4|0,x[e+192>>2],b- -64|0)}c=x[a+72>>2];if(!c){break c}if(!(ia[x[x[c>>2]+56>>2]](c)&2)){break c}c=x[i+12>>2];x[b+40>>2]=x[i+8>>2];x[b+44>>2]=c;c=x[i+4>>2];x[b+32>>2]=x[i>>2];x[b+36>>2]=c;c=x[e+192>>2];ia[x[x[c>>2]+8>>2]](c,e+4|0,b- -64|0,b+48|0);f=B[8265];B[b+64>>2]=B[b+64>>2]-f;B[b+68>>2]=B[b+68>>2]-f;B[b+72>>2]=B[b+72>>2]-f;B[b+48>>2]=f+B[b+48>>2];B[b+52>>2]=f+B[b+52>>2];B[b+56>>2]=f+B[b+56>>2];g:{if(y[e+204|0]&3|(!y[a+44|0]|x[e+252>>2]!=2)){break g}c=x[e+192>>2];ia[x[x[c>>2]+8>>2]](c,e+68|0,b+16|0,b);m=E(B[b+16>>2]-f);B[b+16>>2]=m;n=E(B[b+20>>2]-f);B[b+20>>2]=n;h=E(B[b+24>>2]-f);B[b+24>>2]=h;o=E(f+B[b>>2]);B[b>>2]=o;p=E(f+B[b+4>>2]);B[b+4>>2]=p;f=E(f+B[b+8>>2]);B[b+8>>2]=f;if(m>2]){B[b+64>>2]=m}if(B[b+68>>2]>n){B[b+68>>2]=n}if(B[b+72>>2]>h){B[b+72>>2]=h}h=B[b+28>>2];if(h>2]){B[b+76>>2]=h}if(B[b+48>>2]>2]=o}if(B[b+52>>2]>2]=p}if(f>B[b+56>>2]){B[b+56>>2]=f}h=B[b+12>>2];if(!(h>B[b+60>>2])){break g}B[b+60>>2]=h}c=x[a+72>>2];ia[x[x[c>>2]+60>>2]](c,b- -64|0,b+48|0,b+32|0)}g=g+1|0;if((g|0)>2]){continue}break}}ga=b+208|0}function cc(a,b,c,d,e,f){var g=0,h=E(0),i=E(0),j=0,k=E(0),l=E(0),m=E(0),n=E(0),o=E(0),p=E(0),q=E(0),r=0,s=0,t=0,u=0,w=E(0),z=E(0),A=0,C=E(0),F=0,G=E(0),H=E(0),I=E(0),J=E(0),K=E(0),L=E(0),M=E(0);j=x[a+88>>2];r=j;a:{if((j|0)!=x[a+92>>2]){break a}t=j?j<<1:1;if((j|0)>=(t|0)){break a}if(t){x[8456]=x[8456]+1;u=ia[x[8258]](D(t,152),16)|0;g=x[a+88>>2]}else{g=j}b:{if((g|0)<=0){break b}r=0;if((g|0)!=1){F=g&-2;while(1){s=D(r,152);ya(s+u|0,s+x[a+96>>2]|0,152);s=D(r|1,152);ya(s+u|0,s+x[a+96>>2]|0,152);r=r+2|0;A=A+2|0;if((A|0)!=(F|0)){continue}break}}if(!(g&1)){break b}g=D(r,152);ya(g+u|0,g+x[a+96>>2]|0,152)}g=x[a+96>>2];if(!(g?!g|!y[a+100|0]:1)){x[8457]=x[8457]+1;ia[x[8259]](g)}x[a+96>>2]=u;v[a+100|0]=1;x[a+92>>2]=t;r=x[a+88>>2]}x[a+88>>2]=r+1;g=x[a+96>>2]+D(j,152)|0;x[g+140>>2]=e;x[g+16>>2]=0;x[g+20>>2]=0;x[g+48>>2]=-2147483648;x[g+52>>2]=-2147483648;x[g+24>>2]=0;x[g+28>>2]=0;x[g+56>>2]=-2147483648;x[g+60>>2]=0;j=x[a+16>>2];a=x[(j+D(d,244)|0)+240>>2];e=x[(j+D(c,244)|0)+240>>2];x[g+148>>2]=d;x[g+144>>2]=c;x[g+132>>2]=0;B[g+104>>2]=f;x[g+96>>2]=0;x[g+100>>2]=0;h=B[b>>2];i=B[b+4>>2];k=B[b+8>>2];x[g+12>>2]=0;n=E(-k);B[g+8>>2]=n;o=E(-i);B[g+4>>2]=o;p=E(-h);B[g>>2]=p;h=E(0);if(e){h=E(E(E(B[e+364>>2]*n)+E(E(B[e+356>>2]*p)+E(B[e+360>>2]*o)))*B[e+612>>2]);l=E(E(E(B[e+348>>2]*n)+E(E(B[e+340>>2]*p)+E(B[e+344>>2]*o)))*B[e+608>>2]);i=E(E(E(B[e+332>>2]*n)+E(E(B[e+324>>2]*p)+E(B[e+328>>2]*o)))*B[e+604>>2])}else{i=E(0)}B[g+64>>2]=i;x[g+76>>2]=0;B[g+72>>2]=h;B[g+68>>2]=l;h=B[b>>2];i=B[b+4>>2];k=B[b+8>>2];B[g+44>>2]=B[b+12>>2];B[g+40>>2]=k;B[g+36>>2]=i;B[g+32>>2]=h;if(a){m=E(E(E(B[a+364>>2]*k)+E(E(B[a+356>>2]*h)+E(i*B[a+360>>2])))*B[a+612>>2]);q=E(E(E(B[a+348>>2]*k)+E(E(B[a+340>>2]*h)+E(i*B[a+344>>2])))*B[a+608>>2]);l=E(E(E(B[a+332>>2]*k)+E(E(B[a+324>>2]*h)+E(i*B[a+328>>2])))*B[a+604>>2])}else{l=E(0)}B[g+80>>2]=l;x[g+92>>2]=0;B[g+88>>2]=m;B[g+84>>2]=q;q=E(0);m=E(0);if(e){q=E(E(B[e+332>>2]*n)+E(E(B[e+324>>2]*p)+E(B[e+328>>2]*o)));m=E(E(B[e+348>>2]*n)+E(E(B[e+340>>2]*p)+E(B[e+344>>2]*o)));l=E(E(B[e+364>>2]*n)+E(E(B[e+356>>2]*p)+E(B[e+360>>2]*o)))}else{l=E(0)}q=E(E(E(l*n)+E(E(q*p)+E(m*o)))+E(0));if(a){w=E(E(B[a+348>>2]*k)+E(E(B[a+340>>2]*h)+E(i*B[a+344>>2])));z=E(E(B[a+332>>2]*k)+E(E(B[a+324>>2]*h)+E(B[a+328>>2]*i)));m=E(E(B[a+364>>2]*k)+E(E(B[a+356>>2]*h)+E(i*B[a+360>>2])))}else{m=E(0)}C=E(E(1)/E(q+E(E(m*k)+E(E(z*h)+E(w*i)))));B[g+108>>2]=C;z=E(0);q=E(0);m=E(0);w=E(0);if(e){b=j+D(c,244)|0;z=E(B[b+176>>2]+B[b+208>>2]);G=B[b+200>>2];w=B[b+196>>2];q=E(E(B[b+180>>2]+B[b+212>>2])*E(0));H=B[b+192>>2];m=E(B[b+184>>2]+B[b+216>>2])}l=E(-0);if(a){a=j+D(d,244)|0;I=E(B[a+176>>2]+B[a+208>>2]);J=E(B[a+184>>2]+B[a+216>>2]);K=B[a+192>>2];L=B[a+200>>2];M=B[a+196>>2];l=E(E(B[a+180>>2]+B[a+212>>2])*E(-0))}B[g+124>>2]=f;B[g+116>>2]=0;B[g+120>>2]=-f;B[g+112>>2]=C*E(E(0)-E(E(E(E(m*E(0))+E(E(z*E(0))+q))+E(E(n*G)+E(E(p*H)+E(w*o))))+E(E(E(J*E(-0))+E(E(I*E(-0))+l))+E(E(k*L)+E(E(h*K)+E(i*M))))))}function va(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;a:{if(!a){break a}d=a-8|0;b=x[a-4>>2];a=b&-8;f=d+a|0;b:{if(b&1){break b}if(!(b&3)){break a}b=x[d>>2];d=d-b|0;if(d>>>0>>0<=255){e=b>>>3|0;b=x[d+12>>2];c=x[d+8>>2];if((b|0)==(c|0)){i=35808,j=x[8952]&ks(e),x[i>>2]=j;break b}x[c+12>>2]=b;x[b+8>>2]=c;break b}g=x[d+24>>2];b=x[d+12>>2];if((d|0)!=(b|0)){c=x[d+8>>2];x[c+12>>2]=b;x[b+8>>2]=c;break c}e=d+20|0;c=x[e>>2];if(!c){c=x[d+16>>2];if(!c){break d}e=d+16|0}while(1){h=e;b=c;e=b+20|0;c=x[e>>2];if(c){continue}e=b+16|0;c=x[b+16>>2];if(c){continue}break}x[h>>2]=0;break c}b=x[f+4>>2];if((b&3)!=3){break b}x[8954]=a;x[f+4>>2]=b&-2;x[d+4>>2]=a|1;x[f>>2]=a;return}b=0}if(!g){break b}c=x[d+28>>2];e=(c<<2)+36112|0;e:{if(x[e>>2]==(d|0)){x[e>>2]=b;if(b){break e}i=35812,j=x[8953]&ks(c),x[i>>2]=j;break b}x[g+(x[g+16>>2]==(d|0)?16:20)>>2]=b;if(!b){break b}}x[b+24>>2]=g;c=x[d+16>>2];if(c){x[b+16>>2]=c;x[c+24>>2]=b}c=x[d+20>>2];if(!c){break b}x[b+20>>2]=c;x[c+24>>2]=b}if(d>>>0>=f>>>0){break a}b=x[f+4>>2];if(!(b&1)){break a}f:{g:{h:{i:{if(!(b&2)){if(x[8958]==(f|0)){x[8958]=d;a=x[8955]+a|0;x[8955]=a;x[d+4>>2]=a|1;if(x[8957]!=(d|0)){break a}x[8954]=0;x[8957]=0;return}if(x[8957]==(f|0)){x[8957]=d;a=x[8954]+a|0;x[8954]=a;x[d+4>>2]=a|1;x[a+d>>2]=a;return}a=(b&-8)+a|0;if(b>>>0<=255){e=b>>>3|0;b=x[f+12>>2];c=x[f+8>>2];if((b|0)==(c|0)){i=35808,j=x[8952]&ks(e),x[i>>2]=j;break g}x[c+12>>2]=b;x[b+8>>2]=c;break g}g=x[f+24>>2];b=x[f+12>>2];if((f|0)!=(b|0)){c=x[f+8>>2];x[c+12>>2]=b;x[b+8>>2]=c;break h}e=f+20|0;c=x[e>>2];if(!c){c=x[f+16>>2];if(!c){break i}e=f+16|0}while(1){h=e;b=c;e=b+20|0;c=x[e>>2];if(c){continue}e=b+16|0;c=x[b+16>>2];if(c){continue}break}x[h>>2]=0;break h}x[f+4>>2]=b&-2;x[d+4>>2]=a|1;x[a+d>>2]=a;break f}b=0}if(!g){break g}c=x[f+28>>2];e=(c<<2)+36112|0;j:{if(x[e>>2]==(f|0)){x[e>>2]=b;if(b){break j}i=35812,j=x[8953]&ks(c),x[i>>2]=j;break g}x[g+(x[g+16>>2]==(f|0)?16:20)>>2]=b;if(!b){break g}}x[b+24>>2]=g;c=x[f+16>>2];if(c){x[b+16>>2]=c;x[c+24>>2]=b}c=x[f+20>>2];if(!c){break g}x[b+20>>2]=c;x[c+24>>2]=b}x[d+4>>2]=a|1;x[a+d>>2]=a;if(x[8957]!=(d|0)){break f}x[8954]=a;return}if(a>>>0<=255){b=(a&-8)+35848|0;c=x[8952];a=1<<(a>>>3);k:{if(!(c&a)){x[8952]=a|c;a=b;break k}a=x[b+8>>2]}x[b+8>>2]=d;x[a+12>>2]=d;x[d+12>>2]=b;x[d+8>>2]=a;return}c=31;if(a>>>0<=16777215){b=G(a>>>8|0);c=((a>>>38-b&1)-(b<<1)|0)+62|0}x[d+28>>2]=c;x[d+16>>2]=0;x[d+20>>2]=0;b=(c<<2)+36112|0;l:{m:{e=x[8953];h=1<>2]=d;x[d+24>>2]=b;break n}c=a<<((c|0)!=31?25-(c>>>1|0)|0:0);b=x[b>>2];while(1){e=b;if((x[b+4>>2]&-8)==(a|0)){break m}b=c>>>29|0;c=c<<1;h=e+(b&4)|0;b=x[h+16>>2];if(b){continue}break}x[h+16>>2]=d;x[d+24>>2]=e}x[d+12>>2]=d;x[d+8>>2]=d;break l}a=x[e+8>>2];x[a+12>>2]=d;x[e+8>>2]=d;x[d+24>>2]=0;x[d+12>>2]=e;x[d+8>>2]=a}a=x[8960]-1|0;x[8960]=a?a:-1}}function wh(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;c=x[b+8>>2];a:{if((c|0)<=0){break a}d=x[b+16>>2];if((c|0)!=1){g=c&-2;while(1){i=e<<2;h=x[i+d>>2];if(!(y[h+204|0]&3)){x[h+208>>2]=f;f=f+1|0}x[h+268>>2]=1065353216;x[h+212>>2]=-1;h=x[d+(i|4)>>2];if(!(y[h+204|0]&3)){x[h+208>>2]=f;f=f+1|0}x[h+268>>2]=1065353216;x[h+212>>2]=-1;e=e+2|0;k=k+2|0;if((g|0)!=(k|0)){continue}break}}if(!(c&1)){break a}c=x[d+(e<<2)>>2];if(!(y[c+204|0]&3)){x[c+208>>2]=f;f=f+1|0}x[c+268>>2]=1065353216;x[c+212>>2]=-1}d=0;h=0;i=0;k=0;c=x[a+8>>2];b:{if((f|0)<=(c|0)){break b}if(x[a+12>>2]<(f|0)){if(f){x[8456]=x[8456]+1;h=ia[x[8258]](f<<3,16)|0;e=x[a+8>>2]}else{e=c}c:{if((e|0)<=0){break c}if(e>>>0>=4){n=e&-4;while(1){g=d<<3;j=g+h|0;l=g+x[a+16>>2]|0;m=x[l+4>>2];x[j>>2]=x[l>>2];x[j+4>>2]=m;j=g|8;l=j+h|0;j=j+x[a+16>>2]|0;m=x[j+4>>2];x[l>>2]=x[j>>2];x[l+4>>2]=m;j=g|16;l=j+h|0;j=j+x[a+16>>2]|0;m=x[j+4>>2];x[l>>2]=x[j>>2];x[l+4>>2]=m;g=g|24;j=g+h|0;g=g+x[a+16>>2]|0;l=x[g+4>>2];x[j>>2]=x[g>>2];x[j+4>>2]=l;d=d+4|0;i=i+4|0;if((n|0)!=(i|0)){continue}break}}e=e&3;if(!e){break c}while(1){g=d<<3;i=g+h|0;g=g+x[a+16>>2]|0;n=x[g+4>>2];x[i>>2]=x[g>>2];x[i+4>>2]=n;d=d+1|0;k=k+1|0;if((e|0)!=(k|0)){continue}break}}e=x[a+16>>2];if(!(e?!e|!y[a+20|0]:1)){x[8457]=x[8457]+1;ia[x[8259]](e)}x[a+16>>2]=h;v[a+20|0]=1;x[a+12>>2]=f}e=(c^-1)+f|0;h=f-c&3;if(h){d=0;while(1){k=x[a+16>>2]+(c<<3)|0;x[k>>2]=0;x[k+4>>2]=0;c=c+1|0;d=d+1|0;if((h|0)!=(d|0)){continue}break}}if(e>>>0<3){break b}while(1){e=c<<3;d=e+x[a+16>>2]|0;x[d>>2]=0;x[d+4>>2]=0;d=e+x[a+16>>2]|0;x[d+8>>2]=0;x[d+12>>2]=0;d=e+x[a+16>>2]|0;x[d+16>>2]=0;x[d+20>>2]=0;e=e+x[a+16>>2]|0;x[e+24>>2]=0;x[e+28>>2]=0;c=c+4|0;if((f|0)!=(c|0)){continue}break}}x[a+8>>2]=f;d:{if((f|0)<=0){break d}e=x[a+16>>2];d=0;c=0;if(f>>>0>=4){k=f&-4;h=0;while(1){g=e+(c<<3)|0;x[g+4>>2]=1;x[g>>2]=c;g=c|1;i=e+(g<<3)|0;x[i+4>>2]=1;x[i>>2]=g;g=c|2;i=e+(g<<3)|0;x[i+4>>2]=1;x[i>>2]=g;g=c|3;i=e+(g<<3)|0;x[i+4>>2]=1;x[i>>2]=g;c=c+4|0;h=h+4|0;if((k|0)!=(h|0)){continue}break}}f=f&3;if(!f){break d}while(1){h=e+(c<<3)|0;x[h+4>>2]=1;x[h>>2]=c;c=c+1|0;d=d+1|0;if((f|0)!=(d|0)){continue}break}}e=0;b=x[b+68>>2];b=ia[x[x[b>>2]+36>>2]](b)|0;h=ia[x[x[b>>2]+36>>2]](b)|0;e:{if(!h){break e}k=ia[x[x[b>>2]+20>>2]](b)|0;if((h|0)<=0){break e}a=x[a+16>>2];while(1){b=k+(e<<4)|0;c=x[x[b>>2]>>2];f:{if(!c|y[c+204|0]&7){break f}b=x[x[b+4>>2]>>2];if(!b|y[b+204|0]&7){break f}b=x[b+208>>2];c=x[c+208>>2];f=a+(c<<3)|0;d=x[f>>2];if((c|0)!=(d|0)){while(1){c=a+(d<<3)|0;x[f>>2]=x[c>>2];c=x[c>>2];f=a+(c<<3)|0;d=x[f>>2];if((c|0)!=(d|0)){continue}break}}f=a+(b<<3)|0;d=x[f>>2];if((d|0)!=(b|0)){while(1){b=a+(d<<3)|0;x[f>>2]=x[b>>2];b=x[b>>2];f=a+(b<<3)|0;d=x[f>>2];if((b|0)!=(d|0)){continue}break}}if((b|0)==(c|0)){break f}c=a+(c<<3)|0;x[c>>2]=b;b=a+(b<<3)|0;x[b+4>>2]=x[b+4>>2]+x[c+4>>2]}e=e+1|0;if((h|0)!=(e|0)){continue}break}}}function kf(a,b,c,d,e,f,g,h,i){var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=E(0),r=0,s=E(0),t=E(0),u=E(0),w=0,z=E(0),A=0,C=0,D=E(0),F=0,G=0;o=ga-32|0;ga=o;if(a){p=x[h+4>>2];a:{if((p|0)>127){break a}if(x[h+8>>2]<=127){x[8456]=x[8456]+1;m=ia[x[8258]](512,16)|0;n=x[h+4>>2];b:{if((n|0)<=0){break b}if(n>>>0>=4){A=n&-4;while(1){k=j<<2;x[k+m>>2]=x[k+x[h+12>>2]>>2];w=k|4;x[w+m>>2]=x[w+x[h+12>>2]>>2];w=k|8;x[w+m>>2]=x[w+x[h+12>>2]>>2];k=k|12;x[k+m>>2]=x[k+x[h+12>>2]>>2];j=j+4|0;C=C+4|0;if((A|0)!=(C|0)){continue}break}}k=n&3;if(!k){break b}while(1){n=j<<2;x[n+m>>2]=x[n+x[h+12>>2]>>2];j=j+1|0;l=l+1|0;if((k|0)!=(l|0)){continue}break}}j=x[h+12>>2];if(!(j?!j|!y[h+16|0]:1)){x[8457]=x[8457]+1;ia[x[8259]](j)}x[h+12>>2]=m;v[h+16|0]=1;x[h+8>>2]=128}j=p;l=0-j&3;if(l){while(1){x[x[h+12>>2]+(j<<2)>>2]=0;j=j+1|0;r=r+1|0;if((l|0)!=(r|0)){continue}break}}if(p-125>>>0<3){break a}while(1){r=j<<2;x[r+x[h+12>>2]>>2]=0;x[(r+x[h+12>>2]|0)+4>>2]=0;x[(r+x[h+12>>2]|0)+8>>2]=0;x[(r+x[h+12>>2]|0)+12>>2]=0;j=j+4|0;if((j|0)!=128){continue}break}}x[h+4>>2]=128;x[x[h+12>>2]>>2]=a;l=126;r=1;while(1){a=x[h+12>>2];j=r-1|0;C=j<<2;p=x[a+C>>2];s=B[p>>2];t=B[p+4>>2];q=B[g>>2];u=B[g+4>>2];B[o+8>>2]=B[p+8>>2]-B[g+8>>2];B[o+4>>2]=t-u;B[o>>2]=s-q;s=B[p+16>>2];t=B[p+20>>2];q=B[f>>2];u=B[f+4>>2];B[o+24>>2]=B[p+24>>2]-B[f+8>>2];B[o+20>>2]=t-u;B[o+16>>2]=s-q;m=x[d>>2];u=B[b>>2];z=B[c>>2];s=E(E(B[(m<<4)+o>>2]-u)*z);q=B[c+4>>2];k=x[d+4>>2];D=B[b+4>>2];t=E(q*E(B[((1-k<<4)+o|0)+4>>2]-D));c:{d:{if(s>t){break d}q=E(E(B[((k<<4)+o|0)+4>>2]-D)*q);u=E(z*E(B[(1-m<<4)+o>>2]-u));if(q>u){break d}s=q>s?q:s;z=B[c+8>>2];m=x[d+8>>2];D=B[b+8>>2];q=E(z*E(B[((1-m<<4)+o|0)+8>>2]-D));if(s>q){break d}z=E(E(B[((m<<4)+o|0)+8>>2]-D)*z);t=tt|!((sE(0))){break d}if(x[p+40>>2]){if((j|0)>(l|0)){j=x[h+4>>2];m=j<<1;if((j|0)<(m|0)){if((m|0)>x[h+8>>2]){e:{if(!j){a=0;break e}x[8456]=x[8456]+1;a=ia[x[8258]](j<<3,16)|0;n=x[h+4>>2];if((n|0)<=0){break e}A=0;l=0;if(n>>>0>=4){G=n&-4;w=0;while(1){k=l<<2;x[k+a>>2]=x[k+x[h+12>>2]>>2];F=k|4;x[F+a>>2]=x[F+x[h+12>>2]>>2];F=k|8;x[F+a>>2]=x[F+x[h+12>>2]>>2];k=k|12;x[k+a>>2]=x[k+x[h+12>>2]>>2];l=l+4|0;w=w+4|0;if((G|0)!=(w|0)){continue}break}}k=n&3;if(!k){break e}while(1){n=l<<2;x[n+a>>2]=x[n+x[h+12>>2]>>2];l=l+1|0;A=A+1|0;if((k|0)!=(A|0)){continue}break}}l=x[h+12>>2];if(!(l?!l|!y[h+16|0]:1)){x[8457]=x[8457]+1;ia[x[8259]](l)}x[h+12>>2]=a;v[h+16|0]=1;x[h+8>>2]=m}a=j-1|0;l=0;k=j&3;if(k){while(1){x[x[h+12>>2]+(j<<2)>>2]=0;j=j+1|0;l=l+1|0;if((k|0)!=(l|0)){continue}break}}if(a>>>0>=3){while(1){a=j<<2;x[a+x[h+12>>2]>>2]=0;x[(a+x[h+12>>2]|0)+4>>2]=0;x[(a+x[h+12>>2]|0)+8>>2]=0;x[(a+x[h+12>>2]|0)+12>>2]=0;j=j+4|0;if((m|0)!=(j|0)){continue}break}}a=x[h+12>>2]}x[h+4>>2]=m;l=m-2|0}x[a+C>>2]=x[p+36>>2];x[x[h+12>>2]+(r<<2)>>2]=x[p+40>>2];j=r+1|0;break c}ia[x[x[i>>2]+12>>2]](i,p)}}r=j;if(r){continue}break}}ga=o+32|0}function Bb(){if(!y[35008]){x[8670]=1062847606;x[8671]=0;x[8668]=1042701022;x[8669]=1056964440;x[8666]=1062847606;x[8667]=0;x[8664]=-1093024784;x[8665]=1050556081;x[8662]=1062847606;x[8663]=0;x[8660]=-1093024784;x[8661]=-1096927567;x[8658]=1062847606;x[8659]=0;x[8656]=1042701022;x[8657]=-1090519208;x[8654]=1062847572;x[8655]=0;x[8652]=1057396286;x[8653]=0;x[8650]=1057396386;x[8651]=0;x[8648]=1060121912;x[8649]=1056964507;x[8646]=1057396420;x[8647]=0;x[8644]=-1098475836;x[8645]=1062148969;x[8642]=1057396386;x[8643]=0;x[8640]=-1084636143;x[8641]=0;x[8638]=1057396420;x[8639]=0;x[8636]=-1098475836;x[8637]=-1085334679;x[8634]=1057396386;x[8635]=0;x[8632]=1060121912;x[8633]=-1090519141;x[8630]=-2147483648;x[8631]=0;x[8628]=1058437413;x[8629]=1062149053;x[8626]=-2147483648;x[8627]=0;x[8624]=-2147483648;x[8625]=1065353216;x[8622]=-2147483648;x[8623]=0;x[8620]=-1089046235;x[8621]=1062149053;x[8618]=-2147483648;x[8619]=0;x[8616]=-1082951543;x[8617]=1050556148;x[8614]=-2147483648;x[8615]=0;x[8612]=-1082951543;x[8613]=-1096927500;x[8610]=0;x[8611]=0;x[8608]=-1089046235;x[8609]=-1085334595;x[8606]=0;x[8607]=0;x[8604]=0;x[8605]=-1082130432;x[8602]=0;x[8603]=0;x[8600]=1058437413;x[8601]=-1085334595;x[8598]=0;x[8599]=0;x[8596]=1064532105;x[8597]=-1096927500;x[8594]=0;x[8595]=0;x[8592]=1064532105;x[8593]=1050556148;x[8590]=-1090087228;x[8591]=0;x[8588]=1049007812;x[8589]=1062148969;x[8586]=-1090087262;x[8587]=0;x[8584]=-1087361736;x[8585]=1056964507;x[8582]=-1084636042;x[8583]=0;x[8580]=-1104782626;x[8581]=1056964440;x[8578]=-1090087262;x[8579]=0;x[8576]=-1087361736;x[8577]=-1090519141;x[8574]=-1084636076;x[8575]=0;x[8572]=-1090087362;x[8573]=-2147483648;x[8570]=-1090087262;x[8571]=0;x[8568]=1062847505;x[8569]=-2147483648;x[8566]=-1084636042;x[8567]=0;x[8564]=1054458864;x[8565]=1050556081;x[8562]=-1090087228;x[8563]=0;x[8560]=1049007812;x[8561]=-1085334679;x[8558]=-1084636042;x[8559]=0;x[8556]=-1104782626;x[8557]=-1090519208;x[8554]=-1084636042;x[8555]=0;x[8552]=1054458864;x[8553]=-1096927567;x[8550]=1065353216;x[8551]=0;x[8548]=-2147483648;x[8549]=0;x[8546]=1055193471;x[8547]=0;x[8544]=1063581978;x[8545]=0;x[8542]=1055193572;x[8543]=0;x[8540]=1049461434;x[8541]=1062847522;x[8538]=1055193572;x[8539]=0;x[8536]=-1086767520;x[8537]=1057396202;x[8534]=1055193572;x[8535]=0;x[8532]=-1086767520;x[8533]=-1090087446;x[8530]=1055193605;x[8531]=0;x[8528]=1049461434;x[8529]=-1084636126;x[8526]=-1092290076;x[8527]=0;x[8524]=1060716128;x[8525]=1057396202;x[8522]=-1092290043;x[8523]=0;x[8520]=-1098022214;x[8521]=1062847522;x[8518]=-1092290177;x[8519]=0;x[8516]=-1083901670;x[8517]=-2147483648;x[8514]=-1092290076;x[8515]=0;x[8512]=-1098022214;x[8513]=-1084636126;x[8510]=-1092290076;x[8511]=0;x[8508]=1060716128;x[8509]=-1090087446;x[8506]=-1082130432;x[8507]=0;x[8504]=0;x[8505]=-2147483648;v[35008]=1}}function Cb(a,b,c,d,e){var f=E(0),g=E(0),h=E(0),i=E(0),j=E(0),k=E(0),l=E(0),m=E(0),n=E(0),o=E(0),p=E(0),q=E(0),r=E(0),s=0,t=E(0),u=E(0),v=E(0),w=E(0),y=E(0),z=E(0),A=E(0),C=E(0),D=E(0),F=E(0),G=0,H=E(0);f=E(-1);l=B[a>>2];i=B[b>>2];g=E(l-i);k=B[b+4>>2];u=B[c+4>>2];A=E(k-u);v=B[c>>2];C=E(i-v);q=B[a+4>>2];j=E(q-k);m=E(E(g*A)-E(C*j));h=B[b+8>>2];w=B[c+8>>2];D=E(h-w);r=B[a+8>>2];o=E(r-h);y=E(E(j*D)-E(A*o));z=E(E(o*C)-E(D*g));H=E(E(m*m)+E(E(y*y)+E(z*z)));a:{if(!(H>E(0))){break a}b:{if(!(E(E(r*E(E(g*z)+E(y*E(-j))))+E(E(l*E(E(j*m)+E(z*E(-o))))+E(q*E(E(o*y)+E(m*E(-g))))))>E(0))){j=E(-1);g=E(0);break b}j=E(-1);o=E(h-r);n=E(i-l);p=E(k-q);f=E(E(o*o)+E(E(n*n)+E(p*p)));c:{if(!(f>E(0))){g=E(0);s=0;break c}g=E(1);f=E(E(-E(E(r*o)+E(E(l*n)+E(q*p))))/f);if(f>=E(1)){j=E(E(h*h)+E(E(i*i)+E(k*k)));G=2;s=2;break c}g=E(0);if(f<=E(0)){j=E(E(r*r)+E(E(l*l)+E(q*q)));t=E(1);s=1;break c}g=E(r+E(o*f));j=E(g*g);g=E(l+E(n*f));i=E(g*g);g=E(q+E(p*f));j=E(j+E(i+E(g*g)));t=E(E(1)-f);G=2;g=f;s=3}x[e>>2]=s&1|G;x[d+8>>2]=0;B[d+4>>2]=g;B[d>>2]=t;h=B[b+8>>2];k=B[b+4>>2];i=B[b>>2]}r=E(w-r);q=E(u-q);o=E(v-l);d:{if(!(E(E(h*E(E(C*z)-E(y*A)))+E(E(i*E(E(A*m)-E(z*D)))+E(k*E(E(D*y)-E(m*C)))))>E(0))){f=j;break d}G=j>2];l=E(u-h);v=B[c>>2];n=E(v-i);w=B[c+4>>2];p=E(w-k);F=E(E(l*l)+E(E(n*n)+E(p*p)));f=E(-1);e:{if(!(F>E(0))){break e}g=E(1);f=E(E(-E(E(h*l)+E(E(i*n)+E(k*p))))/F);if(f>=E(1)){t=E(0);s=2;f=E(E(u*u)+E(E(v*v)+E(w*w)));break e}g=E(0);if(f<=E(0)){t=E(1);s=1;f=E(E(h*h)+E(E(i*i)+E(k*k)));break e}t=E(E(1)-f);s=3;g=f;h=E(h+E(l*f));i=E(i+E(n*f));f=E(k+E(p*f));f=E(E(h*h)+E(E(i*i)+E(f*f)))}if(!(G|j>f)){f=j;break d}x[e>>2]=s<<1;B[d+8>>2]=g;B[d+4>>2]=t;x[d>>2]=0}k=B[c+8>>2];h=B[c>>2];l=B[c+4>>2];f:{if(!(E(E(k*E(E(o*z)-E(y*q)))+E(E(h*E(E(q*m)-E(z*r)))+E(l*E(E(r*y)-E(m*o)))))>E(0))){break f}i=E(-1);v=B[a+8>>2];n=E(v-k);w=B[a>>2];p=E(w-h);F=B[a+4>>2];u=E(F-l);j=E(E(n*n)+E(E(p*p)+E(u*u)));g:{if(!(j>E(0))){break g}g=E(1);j=E(E(-E(E(k*n)+E(E(h*p)+E(l*u))))/j);if(j>=E(1)){i=E(E(v*v)+E(E(w*w)+E(F*F)));t=E(0);s=2;break g}g=E(0);if(j<=E(0)){i=E(E(k*k)+E(E(h*h)+E(l*l)));t=E(1);s=1;break g}g=E(k+E(n*j));i=E(g*g);g=E(h+E(p*j));h=E(g*g);g=E(l+E(u*j));i=E(i+E(h+E(g*g)));t=E(E(1)-j);s=3;g=j}if(!(fi)){break f}x[e>>2]=s<<2&4|s>>>1;x[d+4>>2]=0;B[d>>2]=g;B[d+8>>2]=t;f=i}if(!(f>2];g=B[a>>2];j=B[a+4>>2];x[e>>2]=7;j=E(E(E(f*m)+E(E(g*y)+E(z*j)))/H);f=E(z*j);i=E(B[b+4>>2]-f);g=E(y*j);k=E(B[b>>2]-g);h=E(E(C*i)+E(k*E(-A)));l=E(h*h);j=E(m*j);h=E(B[b+8>>2]-j);i=E(E(A*h)+E(i*E(-D)));m=E(i*i);i=E(E(D*k)+E(h*E(-C)));h=E(M(E(l+E(m+E(i*i)))));i=E(M(H));k=E(h/i);B[d>>2]=k;h=E(B[c+4>>2]-f);t=E(B[c>>2]-g);m=E(E(o*h)+E(t*E(-q)));l=E(m*m);m=E(B[c+8>>2]-j);h=E(E(q*m)+E(h*E(-r)));n=E(h*h);h=E(E(r*t)+E(m*E(-o)));i=E(E(M(E(l+E(n+E(h*h)))))/i);B[d+4>>2]=i;B[d+8>>2]=E(1)-E(k+i);f=E(E(j*j)+E(E(g*g)+E(f*f)))}return f}function mm(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=E(0),g=E(0),h=E(0),i=E(0),j=E(0),k=E(0),l=E(0),m=E(0),n=E(0),o=E(0),p=E(0),q=E(0),r=E(0),s=E(0),t=E(0),u=E(0),v=E(0),w=E(0),z=E(0),A=E(0),C=E(0),D=E(0),F=E(0),G=E(0),H=E(0),I=E(0),J=E(0),K=E(0),L=E(0),M=E(0),N=E(0),O=E(0),P=E(0),Q=E(0),R=E(0),S=E(0),T=E(0),U=E(0),V=E(0),W=E(0),X=E(0),Y=E(0),Z=E(0),_=E(0),$=E(0),aa=E(0),ba=E(0),ca=E(0),da=E(0),ea=E(0),fa=E(0),ha=E(0),ja=E(0),ka=E(0),la=E(0);d=ga-240|0;ga=d;U=E(1);e=y[a+76|0];a=e?c:b;k=B[a+60>>2];g=E(B[a+124>>2]-k);f=E(g*g);i=B[a+116>>2];u=B[a+52>>2];g=E(i-u);j=E(g*g);w=B[a+56>>2];g=E(B[a+120>>2]-w);f=E(f+E(j+E(g*g)));g=B[a+276>>2];a:{if(f>2];if(x[c+4>>2]-21>>>0>8){break a}h=B[b+12>>2];v=E(-B[b+52>>2]);f=B[b+28>>2];j=B[b+56>>2];l=B[b+44>>2];m=B[b+60>>2];V=E(E(E(h*v)-E(f*j))-E(l*m));n=B[a+124>>2];z=B[a+120>>2];X=E(E(n*l)+E(E(i*h)+E(f*z)));o=B[b+8>>2];p=B[b+24>>2];q=B[b+40>>2];W=E(E(E(o*v)-E(p*j))-E(q*m));g=E(W+E(E(n*q)+E(E(i*o)+E(p*z))));r=B[b+36>>2];A=B[a+92>>2];Y=E(f*A);C=B[a+76>>2];Z=E(C*h);D=B[a+108>>2];F=B[a+88>>2];_=E(f*F);G=B[a+72>>2];$=E(G*h);H=B[a+104>>2];I=B[a+84>>2];aa=E(f*I);J=B[a+68>>2];ba=E(J*h);K=B[a+100>>2];s=B[b+4>>2];ca=E(C*s);t=B[b+20>>2];da=E(t*A);L=B[a+28>>2];ea=E(f*L);M=B[a+12>>2];fa=E(M*h);N=B[a+44>>2];O=B[a+24>>2];ha=E(f*O);P=B[a+8>>2];ja=E(P*h);Q=B[a+40>>2];R=B[a+20>>2];ka=E(f*R);S=B[a+4>>2];la=E(S*h);T=B[a+36>>2];x[d+236>>2]=0;j=E(E(E(s*v)-E(t*j))-E(r*m));m=E(j+E(E(k*r)+E(E(u*s)+E(t*w))));v=m;i=E(j+E(E(n*r)+E(E(i*s)+E(t*z))));if(i>2]=i;v=i}n=E(W+E(E(k*q)+E(E(u*o)+E(p*w))));j=n;if(g>2]=g;j=g}k=E(V+E(E(k*l)+E(E(u*h)+E(f*w))));f=k;h=E(V+X);if(f>h){B[d+232>>2]=h;f=h}x[d+220>>2]=0;u=f;f=B[a+272>>2];B[d+232>>2]=u-f;B[d+228>>2]=j-f;B[d+224>>2]=v-f;B[d+216>>2]=f+(h>k?h:k);B[d+212>>2]=f+(g>n?g:n);B[d+208>>2]=f+(i>m?i:m);x[d+132>>2]=0;B[d+128>>2]=h;B[d+124>>2]=g;B[d+120>>2]=i;x[d+116>>2]=0;B[d+112>>2]=E(D*l)+E(Z+Y);B[d+108>>2]=E(H*l)+E($+_);B[d+104>>2]=E(K*l)+E(ba+aa);x[d+100>>2]=0;B[d+96>>2]=E(D*q)+E(E(C*o)+E(p*A));B[d+92>>2]=E(H*q)+E(E(G*o)+E(p*F));B[d+88>>2]=E(K*q)+E(E(J*o)+E(p*I));x[d+84>>2]=0;B[d+80>>2]=E(D*r)+E(ca+da);B[d+76>>2]=E(H*r)+E(E(G*s)+E(t*F));x[d+68>>2]=0;B[d- -64>>2]=k;B[d+60>>2]=n;B[d+56>>2]=m;x[d+52>>2]=0;B[d+48>>2]=E(N*l)+E(fa+ea);B[d+44>>2]=E(Q*l)+E(ja+ha);B[d+40>>2]=E(T*l)+E(la+ka);x[d+36>>2]=0;B[d+32>>2]=E(N*q)+E(E(M*o)+E(p*L));B[d+28>>2]=E(Q*q)+E(E(P*o)+E(p*O));B[d+24>>2]=E(T*q)+E(E(S*o)+E(p*R));x[d+20>>2]=0;B[d+16>>2]=E(N*r)+E(E(M*s)+E(t*L));B[d+12>>2]=E(Q*r)+E(E(P*s)+E(t*O));B[d+200>>2]=f;B[d+72>>2]=E(K*r)+E(E(J*s)+E(t*I));B[d+8>>2]=E(T*r)+E(E(S*s)+E(t*R));x[d+4>>2]=16e3;B[d+204>>2]=B[a+268>>2];ia[x[x[c>>2]+64>>2]](c,d+4|0,d+224|0,d+208|0);g=B[d+204>>2];if(!(g>2])){break a}B[a+268>>2]=g;U=g}ga=d+240|0;return E(U)}function Ob(a,b,c,d){var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;if(!(!b|!c)){if(!(x[a+24>>2]>127|x[a+28>>2]>127)){x[8456]=x[8456]+1;l=ia[x[8258]](1024,16)|0;g=x[a+24>>2];a:{if((g|0)<=0){break a}if(g>>>0>=4){p=g&-4;while(1){f=n<<3;i=f+l|0;h=f+x[a+32>>2]|0;m=x[h+4>>2];x[i>>2]=x[h>>2];x[i+4>>2]=m;i=f|8;h=i+l|0;i=i+x[a+32>>2]|0;m=x[i+4>>2];x[h>>2]=x[i>>2];x[h+4>>2]=m;i=f|16;h=i+l|0;i=i+x[a+32>>2]|0;m=x[i+4>>2];x[h>>2]=x[i>>2];x[h+4>>2]=m;f=f|24;i=f+l|0;f=f+x[a+32>>2]|0;h=x[f+4>>2];x[i>>2]=x[f>>2];x[i+4>>2]=h;n=n+4|0;e=e+4|0;if((p|0)!=(e|0)){continue}break}}e=g&3;if(!e){break a}while(1){f=n<<3;g=f+l|0;f=f+x[a+32>>2]|0;p=x[f+4>>2];x[g>>2]=x[f>>2];x[g+4>>2]=p;n=n+1|0;j=j+1|0;if((e|0)!=(j|0)){continue}break}}e=x[a+32>>2];if(!(e?!e|!y[a+36|0]:1)){x[8457]=x[8457]+1;ia[x[8259]](e)}x[a+32>>2]=l;v[a+36|0]=1;x[a+28>>2]=128}x[a+24>>2]=128;e=x[a+32>>2];x[e+4>>2]=c;x[e>>2]=b;b=124;e=1;while(1){j=x[a+32>>2];l=e;e=e-1|0;i=e<<3;c=j+i|0;g=x[c+4>>2];f=x[c>>2];if((b|0)<(e|0)){b=x[a+24>>2];p=b<<1;if(!((p|0)<=x[a+28>>2]|(b|0)>=(p|0))){b:{if(!b){j=0;break b}x[8456]=x[8456]+1;j=ia[x[8258]](b<<4,16)|0;m=x[a+24>>2];if((m|0)<=0){break b}b=0;n=0;if(m>>>0>=4){r=m&-4;c=0;while(1){h=n<<3;k=h+j|0;o=h+x[a+32>>2]|0;q=x[o+4>>2];x[k>>2]=x[o>>2];x[k+4>>2]=q;k=h|8;o=k+j|0;k=k+x[a+32>>2]|0;q=x[k+4>>2];x[o>>2]=x[k>>2];x[o+4>>2]=q;k=h|16;o=k+j|0;k=k+x[a+32>>2]|0;q=x[k+4>>2];x[o>>2]=x[k>>2];x[o+4>>2]=q;h=h|24;k=h+j|0;h=h+x[a+32>>2]|0;o=x[h+4>>2];x[k>>2]=x[h>>2];x[k+4>>2]=o;n=n+4|0;c=c+4|0;if((r|0)!=(c|0)){continue}break}}c=m&3;if(!c){break b}while(1){h=n<<3;m=h+j|0;h=h+x[a+32>>2]|0;r=x[h+4>>2];x[m>>2]=x[h>>2];x[m+4>>2]=r;n=n+1|0;b=b+1|0;if((c|0)!=(b|0)){continue}break}}b=x[a+32>>2];if(!(b?!b|!y[a+36|0]:1)){x[8457]=x[8457]+1;ia[x[8259]](b)}x[a+32>>2]=j;v[a+36|0]=1;x[a+28>>2]=p}x[a+24>>2]=p;b=p-4|0}c:{if((f|0)==(g|0)){if(!x[f+40>>2]){break c}c=j+i|0;e=x[f+36>>2];x[c+4>>2]=e;x[c>>2]=e;c=l<<3;e=c+x[a+32>>2]|0;g=x[f+40>>2];x[e+4>>2]=g;x[e>>2]=g;e=x[f+40>>2];c=c+x[a+32>>2]|0;x[c+8>>2]=x[f+36>>2];x[c+12>>2]=e;e=l+2|0;break c}if(!(B[f>>2]<=B[g+16>>2])|!(B[f+16>>2]>=B[g>>2])|(!(B[f+4>>2]<=B[g+20>>2])|!(B[f+20>>2]>=B[g+4>>2]))){break c}if(!(B[f+8>>2]<=B[g+24>>2])|!(B[f+24>>2]>=B[g+8>>2])){break c}c=x[g+40>>2];if(x[f+40>>2]){e=x[f+36>>2];if(c){c=j+i|0;x[c+4>>2]=x[g+36>>2];x[c>>2]=e;e=x[f+40>>2];c=l<<3;j=c+x[a+32>>2]|0;x[j+4>>2]=x[g+36>>2];x[j>>2]=e;e=x[f+36>>2];j=c+x[a+32>>2]|0;x[j+12>>2]=x[g+40>>2];x[j+8>>2]=e;e=x[f+40>>2];c=c+x[a+32>>2]|0;x[c+20>>2]=x[g+40>>2];x[c+16>>2]=e;e=l+3|0;break c}c=j+i|0;x[c+4>>2]=g;x[c>>2]=e;c=x[f+40>>2];e=x[a+32>>2]+(l<<3)|0;x[e+4>>2]=g;x[e>>2]=c;e=l+1|0;break c}if(c){c=j+i|0;x[c+4>>2]=x[g+36>>2];x[c>>2]=f;c=x[a+32>>2]+(l<<3)|0;x[c+4>>2]=x[g+40>>2];x[c>>2]=f;e=l+1|0;break c}ia[x[x[d>>2]+8>>2]](d,f,g)}if(e){continue}break}}}function no(a,b,c,d,e,f){a=a|0;b=E(b);c=E(c);d=d|0;e=e|0;f=f|0;var g=0,h=0,i=E(0),j=E(0),k=E(0),l=E(0),m=E(0),n=E(0),o=E(0),p=E(0),q=E(0),r=E(0),s=E(0),t=E(0),u=E(0),v=E(0),w=E(0),y=E(0),z=E(0),A=0,C=0,D=E(0),F=E(0),G=E(0),H=0,I=0,J=0,K=0;g=ga-128|0;ga=g;D=B[e+56>>2];F=B[e+52>>2];G=B[e+48>>2];x[g+120>>2]=0;x[g+124>>2]=0;x[g+112>>2]=0;x[g+116>>2]=0;h=d<<2;B[h+(g+112|0)>>2]=c;x[g+104>>2]=0;x[g+108>>2]=0;x[g+96>>2]=0;x[g+100>>2]=0;A=g+96|0;B[h+A>>2]=-c;x[g+88>>2]=0;x[g+92>>2]=0;x[g+80>>2]=0;x[g+84>>2]=0;C=h;h=g+80|0;B[C+h>>2]=c;H=(d+2|0)%3<<2;I=H+h|0;H=A+H|0;C=h;A=(d+1|0)%3|0;h=A<<2;J=C+h|0;K=h+(g+96|0)|0;h=0;while(1){c=E(E(h|0)*E(.01745329238474369));l=E(Ca(c)*b);B[K>>2]=l;B[J>>2]=l;c=E(Ba(c)*b);B[H>>2]=c;B[I>>2]=c;c=B[e+8>>2];l=B[e>>2];p=B[e+4>>2];q=B[e+24>>2];r=B[e+16>>2];s=B[e+20>>2];i=B[e+40>>2];j=B[e+32>>2];k=B[e+36>>2];x[g+76>>2]=0;m=B[g+104>>2];n=B[g+96>>2];o=B[g+100>>2];B[g+72>>2]=D+E(E(i*m)+E(E(j*n)+E(k*o)));B[g+68>>2]=F+E(E(q*m)+E(E(r*n)+E(o*s)));B[g+64>>2]=G+E(E(c*m)+E(E(l*n)+E(p*o)));x[g+60>>2]=0;t=i;i=B[g+88>>2];u=j;j=B[g+80>>2];v=k;k=B[g+84>>2];B[g+56>>2]=D+E(E(t*i)+E(E(u*j)+E(v*k)));B[g+52>>2]=F+E(E(q*i)+E(E(r*j)+E(s*k)));B[g+48>>2]=G+E(E(c*i)+E(E(l*j)+E(p*k)));ia[x[x[a>>2]+16>>2]](a,g- -64|0,g+48|0,f);C=h>>>0<330;h=h+30|0;if(C){continue}break}x[g+72>>2]=0;x[g+76>>2]=0;x[g+64>>2]=0;x[g+68>>2]=0;x[(g- -64|0)+(d<<2)>>2]=1065353216;x[g+56>>2]=0;x[g+60>>2]=0;x[g+48>>2]=0;x[g+52>>2]=0;x[(g+48|0)+(A<<2)>>2]=1065353216;m=B[e+8>>2];n=B[e>>2];o=B[e+4>>2];w=B[e+24>>2];y=B[e+16>>2];z=B[e+20>>2];i=B[e+40>>2];j=B[e+32>>2];k=B[e+36>>2];x[g+44>>2]=0;c=B[g+120>>2];l=B[g+112>>2];p=B[g+116>>2];B[g+40>>2]=D-E(E(i*c)+E(E(j*l)+E(k*p)));B[g+36>>2]=F-E(E(w*c)+E(E(y*l)+E(p*z)));B[g+32>>2]=G-E(E(m*c)+E(E(n*l)+E(o*p)));x[g+28>>2]=0;q=B[g+72>>2];r=B[g+64>>2];s=B[g+68>>2];B[g+24>>2]=E(i*q)+E(E(j*r)+E(k*s));B[g+20>>2]=E(w*q)+E(E(y*r)+E(z*s));B[g+16>>2]=E(m*q)+E(E(n*r)+E(o*s));x[g+12>>2]=0;t=i;i=B[g+56>>2];u=j;j=B[g+48>>2];v=k;k=B[g+52>>2];B[g+8>>2]=E(t*i)+E(E(u*j)+E(v*k));B[g+4>>2]=E(w*i)+E(E(y*j)+E(z*k));B[g>>2]=E(m*i)+E(E(n*j)+E(o*k));d=g+32|0;h=g+16|0;ia[x[x[a>>2]+68>>2]](a,d,h,g,b,b,E(0),E(6.2831854820251465),f,0,E(10));m=B[e+8>>2];n=B[e>>2];o=B[e+4>>2];w=B[e+24>>2];y=B[e+16>>2];z=B[e+20>>2];t=B[e+40>>2];u=B[e+32>>2];v=B[e+36>>2];x[g+44>>2]=0;B[g+40>>2]=D+E(E(t*c)+E(E(u*l)+E(p*v)));B[g+36>>2]=F+E(E(w*c)+E(E(y*l)+E(p*z)));B[g+32>>2]=G+E(E(m*c)+E(E(n*l)+E(p*o)));x[g+28>>2]=0;B[g+24>>2]=E(t*q)+E(E(u*r)+E(s*v));B[g+20>>2]=E(w*q)+E(E(y*r)+E(s*z));B[g+16>>2]=E(m*q)+E(E(n*r)+E(s*o));x[g+12>>2]=0;B[g+8>>2]=E(t*i)+E(E(u*j)+E(k*v));B[g+4>>2]=E(w*i)+E(E(y*j)+E(k*z));B[g>>2]=E(m*i)+E(E(n*j)+E(k*o));ia[x[x[a>>2]+68>>2]](a,d,h,g,b,b,E(0),E(6.2831854820251465),f,0,E(10));ga=g+128|0}function ne(a,b,c,d,e,f,g){var h=E(0),i=E(0),j=0,k=0,l=E(0),m=E(0),n=E(0),o=E(0),p=E(0),q=E(0),r=E(0),s=0,t=E(0),u=0,v=E(0),w=E(0),y=E(0),A=E(0),C=E(0),D=E(0),F=0,G=0,H=0,I=0,J=0,K=0,L=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0;k=ga-32|0;ga=k;y=B[c+4>>2];A=B[d+4>>2];C=B[c>>2];D=B[d>>2];n=B[a+28>>2];p=B[a+12>>2];v=B[d+8>>2];w=B[c+8>>2];h=E((v>2]);h=h>2];h=E(E((h>n?n:h)-p)*l);a:{if(h=E(0)){G=~~h>>>0;break a}G=0}o=B[a+24>>2];q=B[a+8>>2];h=E((y>A?A:y)+B[e+4>>2]);h=h>2];h=E(E((h>o?o:h)-q)*t);b:{if(h=E(0)){F=~~h>>>0;break b}F=0}m=B[a+20>>2];r=B[a+4>>2];h=E((C>D?D:C)+B[e>>2]);h=h>2];h=E(E((h>m?m:h)-r)*i);c:{if(h=E(0)){u=~~h>>>0;break c}u=0}h=E((v>w?v:w)+B[f+8>>2]);h=hn?n:h)-p)*l)+E(1));d:{if(h=E(0)){s=~~h>>>0;break d}s=0}h=E((y>2]);h=ho?o:h)-q)*t)+E(1));e:{if(h=E(0)){j=~~h>>>0;break e}j=0}h=E((C>2]);h=hm?m:h)-r)*i)+E(1));f:{if(h=E(0)){d=~~h>>>0;break f}d=0}if((g|0)>0){i=E(v-w);m=E(D-C);t=E(A-y);h=E(E(1)/E(M(E(E(i*i)+E(E(m*m)+E(t*t))))));l=E(i*h);n=E(l*i);i=E(m*h);h=E(t*h);t=E(n+E(E(i*m)+E(t*h)));K=G&65534;L=F&65534;N=u&65534;O=s|1;P=j|1;Q=d|1;d=x[a+136>>2];p=l==E(0)?E(0xde0b6b000000000):E(E(1)/l);s=p>2];u=0;g:{h:{i:{j:{if(z[d+6>>1]>>0){break j}F=z[d>>1];if(Q>>>0>>0|z[d+10>>1]>>0){break j}s=z[d+4>>1];if(z[d+8>>1]>>0|s>>>0>O>>>0){break j}j=z[d+2>>1];if(j>>>0>P>>>0){break j}v=B[a+4>>2];w=B[a+36>>2];n=B[a+8>>2];o=B[a+40>>2];m=B[a+12>>2];l=B[a+44>>2];x[k+12>>2]=0;i=E(m+E(E(s>>>0)/l));B[k+8>>2]=i;h=E(n+E(E(j>>>0)/o));B[k+4>>2]=h;u=z[d+10>>1];s=z[d+8>>1];j=z[d+6>>1];x[k+28>>2]=0;B[k>>2]=E(v+E(E(F>>>0)/w))-B[f>>2];B[k+4>>2]=h-B[f+4>>2];B[k+8>>2]=i-B[f+8>>2];B[k+16>>2]=E(v+E(E(j>>>0)/w))-B[e>>2];B[k+20>>2]=E(n+E(E(s>>>0)/o))-B[e+4>>2];B[k+24>>2]=E(m+E(E(u>>>0)/l))-B[e+8>>2];k:{i=B[c>>2];l=E(r*E(B[V>>2]-i));h=B[c+4>>2];n=E(q*E(B[U>>2]-h));if(l>n){break k}h=E(q*E(B[S>>2]-h));o=E(r*E(B[G>>2]-i));if(h>o){break k}m=h>l?h:l;h=B[c+8>>2];l=E(p*E(B[T>>2]-h));if(m>l){break k}i=E(p*E(B[R>>2]-h));h=nh){break k}u=t>(i>m?i:m)&(h>l?l:h)>E(0);if(!u|(J|0)<0){break j}j=x[d+12>>2];ia[x[x[b>>2]+8>>2]](b,j>>21,j&2097151);break i}u=0}if((J|0)>=0){break i}if(!u){break h}}H=H+1|0;d=d+16|0;break g}j=x[d+12>>2];H=H-j|0;d=d-(j<<4)|0}I=I+1|0;if((g|0)>(H|0)){continue}break}}if(x[8470]<(I|0)){x[8470]=I}ga=k+32|0}function Nd(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=E(0),i=E(0),j=E(0),k=E(0),l=E(0),m=E(0),n=0,o=E(0),p=E(0),q=0,r=E(0),s=E(0),t=0,u=E(0),w=E(0),z=E(0),A=E(0);g=ga-304|0;ga=g;h=B[b+52>>2];k=B[c+52>>2];l=B[b+56>>2];i=B[c+56>>2];m=B[b+48>>2];j=B[c+48>>2];x[g+300>>2]=0;p=E(i-l);B[g+296>>2]=p;o=E(k-h);B[g+292>>2]=o;u=E(j-m);B[g+288>>2]=u;t=c;c=g+116|0;n=g+52|0;Kb(b,t,c,n);x[g+284>>2]=0;h=B[g+52>>2];k=E(h*B[g+124>>2]);B[g+280>>2]=k;l=E(h*B[g+120>>2]);B[g+276>>2]=l;h=E(h*B[g+116>>2]);B[g+272>>2]=h;i=B[d+52>>2];m=B[e+52>>2];j=B[d+56>>2];r=B[e+56>>2];s=B[d+48>>2];A=B[e+48>>2];x[g+268>>2]=0;w=E(r-j);B[g+264>>2]=w;z=E(m-i);B[g+260>>2]=z;s=E(A-s);B[g+256>>2]=s;Kb(d,e,c,n);x[g+252>>2]=0;i=B[g+52>>2];m=E(i*B[g+124>>2]);B[g+248>>2]=m;j=E(i*B[g+120>>2]);B[g+244>>2]=j;i=E(i*B[g+116>>2]);B[g+240>>2]=i;c=x[a+12>>2];k=E(E(M(E(E(k*k)+E(E(h*h)+E(l*l)))))*E(ia[x[x[c>>2]+16>>2]](c)));c=x[a+16>>2];if(c){h=E(ia[x[x[c>>2]+16>>2]](c))}else{h=E(0)}r=E(k+E(h*E(M(E(E(m*m)+E(E(i*i)+E(j*j)))))));l=E(w-p);i=E(s-u);m=E(z-o);a:{if(E(r+E(M(E(E(l*l)+E(E(i*i)+E(m*m))))))==E(0)){break a}v[g+220|0]=0;x[g+216>>2]=1566444395;x[g+180>>2]=22516;Od(a,b,d,g+180|0);c=x[g+212>>2];x[g+232>>2]=x[g+208>>2];x[g+236>>2]=c;c=x[g+204>>2];x[g+224>>2]=x[g+200>>2];x[g+228>>2]=c;if(!y[g+220|0]){break a}k=B[g+192>>2];j=B[g+184>>2];p=B[g+188>>2];if(E(r+E(E(l*k)+E(E(i*j)+E(m*p))))<=E(1.1920928955078125e-7)){break a}b:{o=E(B[g+216>>2]+B[f+172>>2]);c:{if(!(o>E(.0010000000474974513))){h=E(0);l=B[g+196>>2];break c}e=g+28|0;t=g+164|0;c=0;h=E(0);while(1){q=x[f+168>>2];if(q){x[g+124>>2]=1065353216;x[g+128>>2]=0;x[g+116>>2]=1065353216;x[g+120>>2]=1065353216;ia[x[x[q>>2]+28>>2]](q,g+224|0,E(.20000000298023224),g+116|0)}q=0;j=E(r+E(E(l*k)+E(E(i*j)+E(m*p))));if(j<=E(1.1920928955078125e-7)){break a}k=h;h=E(h+E(o/j));if(k>=h|h>E(1)|h>2];if(n){x[g+16>>2]=0;x[g+20>>2]=0;x[g+8>>2]=1065353216;x[g+12>>2]=0;ia[x[x[n>>2]+28>>2]](n,t,E(.20000000298023224),g+8|0)}ia[x[x[f>>2]>>2]](f,h);v[g+48|0]=0;x[g+44>>2]=1566444395;x[g+8>>2]=22516;Od(a,g+116|0,g+52|0,g+8|0);if(!y[g+48|0]){break b}o=B[f+172>>2];n=x[e+12>>2];x[g+232>>2]=x[e+8>>2];x[g+236>>2]=n;n=x[e+4>>2];x[g+224>>2]=x[e>>2];x[g+228>>2]=n;if((c|0)==64){ia[x[x[f>>2]+8>>2]](f,-2,65);break a}c=c+1|0;j=B[g+12>>2];p=B[g+16>>2];k=B[g+20>>2];o=E(B[g+44>>2]+o);if(o>E(.0010000000474974513)){continue}break}l=B[g+24>>2]}B[f+132>>2]=j;B[f+164>>2]=h;B[f+144>>2]=l;B[f+140>>2]=k;B[f+136>>2]=p;a=x[g+228>>2];x[f+148>>2]=x[g+224>>2];x[f+152>>2]=a;a=x[g+236>>2];x[f+156>>2]=x[g+232>>2];x[f+160>>2]=a;q=1;break a}ia[x[x[f>>2]+8>>2]](f,-1,c)}ga=g+304|0;return q|0}function kc(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=E(0),j=E(0),k=E(0),l=E(0),m=E(0),n=E(0),o=E(0),p=E(0),q=E(0),r=0,s=0,t=E(0),u=E(0),w=E(0);g=ga-272|0;ga=g;zb(x[a+4>>2]);j=B[b+52>>2];i=B[c+52>>2];n=B[d+52>>2];k=B[e+52>>2];l=B[b+56>>2];m=B[c+56>>2];o=B[d+56>>2];p=B[e+56>>2];q=B[b+48>>2];t=B[c+48>>2];u=B[d+48>>2];w=B[e+48>>2];v[g+252|0]=0;x[g+248>>2]=1566444395;x[g+212>>2]=22516;r=hc(g+132|0,x[a+8>>2],x[a+12>>2],x[a+4>>2],0);x[g+128>>2]=1566444395;a=x[b+12>>2];x[g+8>>2]=x[b+8>>2];x[g+12>>2]=a;a=x[b+4>>2];x[g>>2]=x[b>>2];x[g+4>>2]=a;a=x[b+28>>2];x[g+24>>2]=x[b+24>>2];x[g+28>>2]=a;a=x[b+20>>2];x[g+16>>2]=x[b+16>>2];x[g+20>>2]=a;a=x[b+44>>2];x[g+40>>2]=x[b+40>>2];x[g+44>>2]=a;a=x[b+36>>2];x[g+32>>2]=x[b+32>>2];x[g+36>>2]=a;a=x[b+60>>2];x[g+56>>2]=x[b+56>>2];x[g+60>>2]=a;a=x[b+52>>2];x[g+48>>2]=x[b+48>>2];x[g+52>>2]=a;a=x[d+12>>2];x[g+72>>2]=x[d+8>>2];x[g+76>>2]=a;a=x[d+4>>2];x[g+64>>2]=x[d>>2];x[g+68>>2]=a;a=x[d+20>>2];x[g+80>>2]=x[d+16>>2];x[g+84>>2]=a;a=x[d+28>>2];x[g+88>>2]=x[d+24>>2];x[g+92>>2]=a;a=x[d+44>>2];x[g+104>>2]=x[d+40>>2];x[g+108>>2]=a;a=x[d+36>>2];x[g+96>>2]=x[d+32>>2];x[g+100>>2]=a;a=x[d+52>>2];x[g+112>>2]=x[d+48>>2];x[g+116>>2]=a;a=x[d+60>>2];x[g+120>>2]=x[d+56>>2];x[g+124>>2]=a;Oa(r,g,g+212|0,0,0);a=x[g+244>>2];x[g+264>>2]=x[g+240>>2];x[g+268>>2]=a;a=x[g+236>>2];x[g+256>>2]=x[g+232>>2];x[g+260>>2]=a;h=0;a:{if(!y[g+252|0]){break a}o=E(E(m-l)-E(p-o));p=E(E(i-j)-E(k-n));q=E(E(t-q)-E(w-u));k=B[g+224>>2];l=B[g+220>>2];m=B[g+216>>2];i=B[g+248>>2];b:{c:{if(!(i>E(.0010000000474974513))){j=E(0);i=B[g+228>>2];break c}s=g+232|0;a=0;n=E(0);while(1){h=0;if((a|0)==32){break a}j=E(n-E(i/E(E(o*k)+E(E(q*m)+E(p*l)))));h=0;if(n>=j){break a}h=0;if(j>E(1)){break a}h=0;if(j>2]>>2]](f,j);i=E(E(1)-j);B[g+48>>2]=E(i*B[b+48>>2])+E(j*B[c+48>>2]);B[g+52>>2]=E(i*B[b+52>>2])+E(j*B[c+52>>2]);B[g+56>>2]=E(i*B[b+56>>2])+E(j*B[c+56>>2]);B[g+112>>2]=E(i*B[d+48>>2])+E(j*B[e+48>>2]);B[g+116>>2]=E(i*B[d+52>>2])+E(j*B[e+52>>2]);B[g+120>>2]=E(i*B[d+56>>2])+E(j*B[e+56>>2]);Oa(r,g,g+212|0,0,0);h=0;if(!y[g+252|0]){break a}i=B[g+248>>2];if(i>2]=j;i=B[g+228>>2];k=B[g+224>>2];l=B[g+220>>2];m=B[g+216>>2];break b}a=a+1|0;h=x[g+244>>2];x[g+264>>2]=x[g+240>>2];x[g+268>>2]=h;h=x[g+236>>2];x[g+256>>2]=x[g+232>>2];x[g+260>>2]=h;k=B[g+224>>2];l=B[g+220>>2];m=B[g+216>>2];n=j;if(i>E(.0010000000474974513)){continue}break}i=B[g+228>>2]}h=0;if(E(-B[f+172>>2])<=E(E(k*o)+E(E(m*q)+E(p*l)))){break a}B[f+164>>2]=j;s=g+256|0}B[f+132>>2]=m;B[f+144>>2]=i;B[f+140>>2]=k;B[f+136>>2]=l;a=s;b=x[a+4>>2];x[f+148>>2]=x[a>>2];x[f+152>>2]=b;b=x[a+12>>2];x[f+156>>2]=x[a+8>>2];x[f+160>>2]=b;h=1}ga=g+272|0;return h|0}function Nn(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=E(0),k=E(0),l=E(0),m=E(0),n=0,o=0,p=E(0),q=E(0),r=0,s=E(0),t=E(0),u=E(0),w=E(0),z=0,A=0;e=ga-48|0;ga=e;f=x[c+12>>2];x[e+24>>2]=x[c+8>>2];x[e+28>>2]=f;f=x[c+4>>2];x[e+16>>2]=x[c>>2];x[e+20>>2]=f;f=x[d+12>>2];x[e+40>>2]=x[d+8>>2];x[e+44>>2]=f;f=x[d+4>>2];x[e+32>>2]=x[d>>2];x[e+36>>2]=f;a:{if(x[b+60>>2]==2){Pb(a+44|0,x[b+48>>2]);z=b,A=Qb(a+4|0,e+16|0,b),x[z+48>>2]=A;f=1;break a}f=1;x[a+128>>2]=x[a+128>>2]+1;b:{h=x[b+48>>2];if(!(B[h>>2]<=B[e+32>>2])|!(B[h+16>>2]>=B[e+16>>2])|(!(B[h+4>>2]<=B[e+36>>2])|!(B[h+20>>2]>=B[e+20>>2]))){break b}if(!(B[h+8>>2]<=B[e+40>>2])|!(B[h+24>>2]>=B[e+24>>2])){break b}k=B[b+20>>2];p=B[b+24>>2];s=B[c>>2];t=B[c+4>>2];u=B[c+8>>2];q=B[b+16>>2];l=B[b+36>>2];m=B[b+40>>2];w=B[b+32>>2];j=B[a+100>>2];x[e+12>>2]=0;m=E(j*E(E(m-p)*E(.5)));B[e+8>>2]=m;l=E(j*E(E(l-k)*E(.5)));B[e+4>>2]=l;j=E(j*E(E(w-q)*E(.5)));B[e>>2]=j;if(E(s-q)>2]=-j}if(E(t-k)>2]=-l}if(E(u-p)>2]=-m}n=a+4|0;g=e+16|0;k=B[g>>2];c:{d:{if(!(k>=B[h>>2])){j=B[g+4>>2];break d}j=B[g+4>>2];if(!(j>=B[h+4>>2])|!(B[h+8>>2]<=B[g+8>>2])|(!(B[h+16>>2]>=B[g+16>>2])|!(B[h+20>>2]>=B[g+20>>2]))){break d}f=0;if(B[h+24>>2]>=B[g+24>>2]){break c}}B[g+4>>2]=j+E(-.05000000074505806);B[g>>2]=k+E(-.05000000074505806);B[g+8>>2]=B[g+8>>2]+E(-.05000000074505806);B[g+16>>2]=B[g+16>>2]+E(.05000000074505806);B[g+20>>2]=B[g+20>>2]+E(.05000000074505806);B[g+24>>2]=B[g+24>>2]+E(.05000000074505806);j=B[e>>2];f=((j>E(0))<<4)+g|0;B[f>>2]=j+B[f>>2];j=B[e+4>>2];f=(j>E(0)?20:4)+g|0;B[f>>2]=j+B[f>>2];j=B[e+8>>2];f=(j>E(0)?24:8)+g|0;B[f>>2]=j+B[f>>2];f=Sb(n,h);e:{if(!f){f=0;break e}o=x[n+8>>2];if((o|0)>=0){if(!o){break e}while(1){i=x[f+32>>2];if(!i){break e}f=i;r=r+1|0;if((o|0)!=(r|0)){continue}break}break e}f=x[n>>2]}i=x[g+4>>2];x[h>>2]=x[g>>2];x[h+4>>2]=i;i=x[g+28>>2];x[h+24>>2]=x[g+24>>2];x[h+28>>2]=i;i=x[g+20>>2];x[h+16>>2]=x[g+16>>2];x[h+20>>2]=i;i=x[g+12>>2];x[h+8>>2]=x[g+8>>2];x[h+12>>2]=i;Rb(n,f,h);f=1}if(!f){break a}x[a+132>>2]=x[a+132>>2]+1;break a}Pc(a+4|0,h,e+16|0);x[a+132>>2]=x[a+132>>2]+1}i=x[b+52>>2];x[(i?i+56|0:((x[b+60>>2]<<2)+a|0)+84|0)>>2]=x[b+56>>2];i=x[b+56>>2];if(i){x[i+52>>2]=x[b+52>>2]}i=x[c+4>>2];x[b+16>>2]=x[c>>2];x[b+20>>2]=i;i=x[c+12>>2];x[b+24>>2]=x[c+8>>2];x[b+28>>2]=i;c=x[d+4>>2];x[b+32>>2]=x[d>>2];x[b+36>>2]=c;c=x[d+12>>2];x[b+40>>2]=x[d+8>>2];x[b+44>>2]=c;c=x[a+104>>2];x[b+60>>2]=c;x[b+52>>2]=0;c=(c<<2)+a|0;x[b+56>>2]=x[c+84>>2];d=x[c+84>>2];if(d){x[d+52>>2]=b}x[c+84>>2]=b;f:{if(!f){break f}v[a+154|0]=1;if(y[a+153|0]){break f}x[e>>2]=12044;x[e+4>>2]=a;Ob(a+44|0,x[a+44>>2],x[b+48>>2],e);Ob(a+4|0,x[a+4>>2],x[b+48>>2],e)}ga=e+48|0}function Cj(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=E(0),g=E(0),h=0,i=0,j=0,k=E(0),l=E(0),m=E(0),n=E(0),o=E(0),p=E(0),q=E(0),r=E(0),s=E(0),t=E(0),u=E(0),w=0,z=0,A=0,C=0,D=0;g=B[b+44>>2];m=B[b+40>>2];n=B[b+36>>2];k=B[b+28>>2];o=B[b+24>>2];p=B[b+20>>2];q=B[b+32>>2];r=B[b+16>>2];l=B[b+12>>2];s=B[b+8>>2];t=B[b+4>>2];u=B[b>>2];i=x[a+4>>2];b=x[i+4>>2];a:{if((b|0)!=x[i+8>>2]){break a}w=b?b<<1:1;if((w|0)<=(b|0)){break a}if(w){x[8456]=x[8456]+1;z=ia[x[8258]](w<<6,16)|0;b=x[i+4>>2]}b:{if((b|0)<=0){break b}if((b|0)!=1){D=b&-2;while(1){h=A<<6;e=h+z|0;a=x[i+12>>2]+h|0;j=x[a+4>>2];x[e>>2]=x[a>>2];x[e+4>>2]=j;j=x[a+60>>2];x[e+56>>2]=x[a+56>>2];x[e+60>>2]=j;j=x[a+52>>2];x[e+48>>2]=x[a+48>>2];x[e+52>>2]=j;j=x[a+44>>2];x[e+40>>2]=x[a+40>>2];x[e+44>>2]=j;j=x[a+36>>2];x[e+32>>2]=x[a+32>>2];x[e+36>>2]=j;j=x[a+28>>2];x[e+24>>2]=x[a+24>>2];x[e+28>>2]=j;j=x[a+20>>2];x[e+16>>2]=x[a+16>>2];x[e+20>>2]=j;j=x[a+12>>2];x[e+8>>2]=x[a+8>>2];x[e+12>>2]=j;a=h|64;e=a+z|0;a=a+x[i+12>>2]|0;h=x[a+4>>2];x[e>>2]=x[a>>2];x[e+4>>2]=h;h=x[a+12>>2];x[e+8>>2]=x[a+8>>2];x[e+12>>2]=h;h=x[a+20>>2];x[e+16>>2]=x[a+16>>2];x[e+20>>2]=h;h=x[a+28>>2];x[e+24>>2]=x[a+24>>2];x[e+28>>2]=h;h=x[a+36>>2];x[e+32>>2]=x[a+32>>2];x[e+36>>2]=h;h=x[a+44>>2];x[e+40>>2]=x[a+40>>2];x[e+44>>2]=h;h=x[a+52>>2];x[e+48>>2]=x[a+48>>2];x[e+52>>2]=h;h=x[a+60>>2];x[e+56>>2]=x[a+56>>2];x[e+60>>2]=h;A=A+2|0;C=C+2|0;if((C|0)!=(D|0)){continue}break}}if(!(b&1)){break b}a=A<<6;b=a+z|0;a=a+x[i+12>>2]|0;e=x[a+4>>2];x[b>>2]=x[a>>2];x[b+4>>2]=e;e=x[a+60>>2];x[b+56>>2]=x[a+56>>2];x[b+60>>2]=e;e=x[a+52>>2];x[b+48>>2]=x[a+48>>2];x[b+52>>2]=e;e=x[a+44>>2];x[b+40>>2]=x[a+40>>2];x[b+44>>2]=e;e=x[a+36>>2];x[b+32>>2]=x[a+32>>2];x[b+36>>2]=e;e=x[a+28>>2];x[b+24>>2]=x[a+24>>2];x[b+28>>2]=e;e=x[a+20>>2];x[b+16>>2]=x[a+16>>2];x[b+20>>2]=e;e=x[a+12>>2];x[b+8>>2]=x[a+8>>2];x[b+12>>2]=e}a=x[i+12>>2];if(!(a?!a|!y[i+16|0]:1)){x[8457]=x[8457]+1;ia[x[8259]](a)}x[i+12>>2]=z;v[i+16|0]=1;x[i+8>>2]=w;b=x[i+4>>2]}a=x[i+12>>2]+(b<<6)|0;x[a+40>>2]=d;x[a+36>>2]=c;x[a+32>>2]=-1;f=l>E(0)?l:E(0);f=f>2]=g>f?g:f;f=s>E(-0xde0b6b000000000)?s:E(-0xde0b6b000000000);f=f>2]=fE(-0xde0b6b000000000)?t:E(-0xde0b6b000000000);f=f>2]=fE(-0xde0b6b000000000)?u:E(-0xde0b6b000000000);f=f>2]=f>2]=go?o:g;B[a+8>>2]=g>m?m:g;g=tp?p:g;B[a+4>>2]=g>n?n:g;g=ur?r:g;B[a>>2]=g>q?q:g;x[i+4>>2]=x[i+4>>2]+1}function Ac(a){var b=0,c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;x[8423]=16752;b=x[a+20>>2];x[8456]=x[8456]+1;e=ia[x[8258]](4,16)|0;x[e>>2]=(b?22668:22828)+8;x[8429]=e;x[8456]=x[8456]+1;b=ia[x[8258]](20,16)|0;e=x[8429];x[b+12>>2]=0;x[b+16>>2]=3;v[b+4|0]=0;x[b+8>>2]=e;x[b>>2]=15072;x[8430]=b;x[8456]=x[8456]+1;b=ia[x[8258]](8,16)|0;x[b>>2]=16868;v[b+4|0]=0;x[8431]=b;x[8456]=x[8456]+1;b=ia[x[8258]](8,16)|0;x[b>>2]=16992;v[b+4|0]=0;x[8432]=b;x[8456]=x[8456]+1;b=ia[x[8258]](8,16)|0;x[b>>2]=17084;v[b+4|0]=0;x[8433]=b;x[8456]=x[8456]+1;b=ia[x[8258]](8,16)|0;x[b>>2]=17164;v[b+4|0]=0;x[8434]=b;x[8456]=x[8456]+1;b=ia[x[8258]](8,16)|0;x[b>>2]=17252;v[b+4|0]=0;x[8435]=b;x[8456]=x[8456]+1;b=ia[x[8258]](8,16)|0;x[b>>2]=17336;v[b+4|0]=0;x[8436]=b;x[8456]=x[8456]+1;b=ia[x[8258]](8,16)|0;x[b>>2]=17404;v[b+4|0]=0;x[8437]=b;x[8456]=x[8456]+1;b=ia[x[8258]](8,16)|0;x[b>>2]=17488;v[b+4|0]=0;x[8441]=b;x[8456]=x[8456]+1;b=ia[x[8258]](8,16)|0;x[b>>2]=17488;x[8442]=b;v[b+4|0]=1;x[8456]=x[8456]+1;b=ia[x[8258]](8,16)|0;x[b>>2]=17572;v[b+4|0]=0;x[8440]=b;x[8456]=x[8456]+1;b=ia[x[8258]](16,16)|0;x[b+8>>2]=1;x[b+12>>2]=0;x[b>>2]=17648;v[b+4|0]=0;x[8444]=b;x[8456]=x[8456]+1;b=ia[x[8258]](16,16)|0;x[b+8>>2]=1;x[b+12>>2]=0;x[b>>2]=17648;x[8443]=b;v[b+4|0]=1;h=x[a+16>>2];d=x[a>>2];a:{if(d){v[33704]=0;break a}v[33704]=1;x[8456]=x[8456]+1;d=ia[x[8258]](24,16)|0;b=x[a+8>>2];x[d+20>>2]=0;x[d+4>>2]=b;x[d>>2]=868;x[8456]=x[8456]+1;b=ia[x[8258]](D(b,868),16)|0;x[d+12>>2]=b;x[d+16>>2]=b;i=x[d+4>>2];x[d+8>>2]=i;e=i-1|0;b:{if(!e){break b}f=x[d>>2];j=e&7;if(j){while(1){c=b;b=b+f|0;x[c>>2]=b;e=e-1|0;g=g+1|0;if((j|0)!=(g|0)){continue}break}}if(i-2>>>0<7){break b}while(1){c=b;b=b+f|0;x[c>>2]=b;c=b;b=b+f|0;x[c>>2]=b;c=b;b=b+f|0;x[c>>2]=b;c=b;b=b+f|0;x[c>>2]=b;c=b;b=b+f|0;x[c>>2]=b;c=b;b=b+f|0;x[c>>2]=b;c=b;b=b+f|0;x[c>>2]=b;c=b;b=b+f|0;x[c>>2]=b;e=e-8|0;if(e){continue}break}}x[b>>2]=0}x[8425]=d;b=x[a+4>>2];if(b){v[33712]=0;x[8427]=b;return}v[33712]=1;x[8456]=x[8456]+1;d=ia[x[8258]](24,16)|0;a=x[a+12>>2];g=0;x[d+20>>2]=0;x[d+4>>2]=a;b=(h|0)<=72?72:h;b=((b>>>0<=116?116:b)&2147483632)+16|0;x[d>>2]=b;x[8456]=x[8456]+1;b=ia[x[8258]](D(a,b),16)|0;x[d+12>>2]=b;x[d+16>>2]=b;f=x[d+4>>2];x[d+8>>2]=f;e=f-1|0;c:{if(!e){break c}a=x[d>>2];h=e&7;if(h){while(1){c=b;b=a+b|0;x[c>>2]=b;e=e-1|0;g=g+1|0;if((h|0)!=(g|0)){continue}break}}if(f-2>>>0<7){break c}while(1){c=b;b=a+b|0;x[c>>2]=b;c=b;b=a+b|0;x[c>>2]=b;c=b;b=a+b|0;x[c>>2]=b;c=b;b=a+b|0;x[c>>2]=b;c=b;b=a+b|0;x[c>>2]=b;c=b;b=a+b|0;x[c>>2]=b;c=b;b=a+b|0;x[c>>2]=b;c=b;b=a+b|0;x[c>>2]=b;e=e-8|0;if(e){continue}break}}x[b>>2]=0;x[8427]=d}function Mk(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=E(0),h=E(0),i=E(0),j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=E(0),r=E(0),s=E(0);l=ga-32|0;ga=l;x[a+60>>2]=x[a+60>>2]+1;d=x[a+4>>2];ia[x[x[d>>2]+16>>2]](d,l+28|0,l+24|0,l+20|0,l+16|0,l+12|0,l+8|0,l+4|0,l,b);e=x[a+4>>2];j=x[l+12>>2]+D(x[l+8>>2],c)|0;m=x[l+16>>2];d=x[l+28>>2];f=x[l>>2];a:{if(!x[l+20>>2]){b:{c:{switch(f-2|0){case 0:k=x[j+8>>2];break b;case 1:k=z[j+4>>1];break b;default:break c}}k=y[j+2|0]}k=D(k,m)+d|0;g=B[k>>2];h=B[k+4>>2];i=B[k+8>>2];q=B[e+4>>2];r=B[e+8>>2];s=B[e+12>>2];x[a+56>>2]=0;B[a+52>>2]=i*s;B[a+48>>2]=h*r;B[a+44>>2]=g*q;d:{e:{switch(f-2|0){case 0:k=x[j+4>>2];break d;case 1:k=z[j+2>>1];break d;default:break e}}k=y[j+1|0]}k=D(k,m)+d|0;g=B[k>>2];h=B[k+4>>2];i=B[k+8>>2];q=B[e+4>>2];r=B[e+8>>2];s=B[e+12>>2];x[a+40>>2]=0;B[a+36>>2]=i*s;B[a+32>>2]=h*r;B[a+28>>2]=g*q;f:{g:{switch(f-2|0){case 0:f=x[j>>2];break f;case 1:f=z[j>>1];break f;default:break g}}f=y[j|0]}d=D(f,m)+d|0;k=d+8|0;g=E(B[d+4>>2]*B[e+8>>2]);i=E(B[d>>2]*B[e+4>>2]);h=B[e+12>>2];break a}k=e+12|0;h:{switch(f-2|0){case 0:f=D(x[j+8>>2],m)+d|0;n=C[f>>3];o=C[f+8>>3];p=C[f+16>>3];g=B[e+4>>2];h=B[e+8>>2];i=B[e+12>>2];x[a+56>>2]=0;B[a+52>>2]=i*E(p);B[a+48>>2]=h*E(o);B[a+44>>2]=g*E(n);f=D(x[j+4>>2],m)+d|0;n=C[f>>3];o=C[f+8>>3];p=C[f+16>>3];g=B[e+4>>2];h=B[e+8>>2];i=B[e+12>>2];x[a+40>>2]=0;B[a+36>>2]=i*E(p);B[a+32>>2]=h*E(o);B[a+28>>2]=g*E(n);d=D(x[j>>2],m)+d|0;g=E(B[e+8>>2]*E(C[d+8>>3]));i=E(B[e+4>>2]*E(C[d>>3]));h=E(C[d+16>>3]);break a;case 1:f=D(z[j+4>>1],m)+d|0;n=C[f>>3];o=C[f+8>>3];p=C[f+16>>3];g=B[e+4>>2];h=B[e+8>>2];i=B[e+12>>2];x[a+56>>2]=0;B[a+52>>2]=i*E(p);B[a+48>>2]=h*E(o);B[a+44>>2]=g*E(n);f=D(z[j+2>>1],m)+d|0;n=C[f>>3];o=C[f+8>>3];p=C[f+16>>3];g=B[e+4>>2];h=B[e+8>>2];i=B[e+12>>2];x[a+40>>2]=0;B[a+36>>2]=i*E(p);B[a+32>>2]=h*E(o);B[a+28>>2]=g*E(n);d=D(z[j>>1],m)+d|0;g=E(B[e+8>>2]*E(C[d+8>>3]));i=E(B[e+4>>2]*E(C[d>>3]));h=E(C[d+16>>3]);break a;default:break h}}f=D(y[j+2|0],m)+d|0;n=C[f>>3];o=C[f+8>>3];p=C[f+16>>3];g=B[e+4>>2];h=B[e+8>>2];i=B[e+12>>2];x[a+56>>2]=0;B[a+52>>2]=i*E(p);B[a+48>>2]=h*E(o);B[a+44>>2]=g*E(n);f=D(y[j+1|0],m)+d|0;n=C[f>>3];o=C[f+8>>3];p=C[f+16>>3];g=B[e+4>>2];h=B[e+8>>2];i=B[e+12>>2];x[a+40>>2]=0;B[a+36>>2]=i*E(p);B[a+32>>2]=h*E(o);B[a+28>>2]=g*E(n);d=D(y[j|0],m)+d|0;g=E(B[e+8>>2]*E(C[d+8>>3]));i=E(B[e+4>>2]*E(C[d>>3]));h=E(C[d+16>>3])}q=B[k>>2];x[a+24>>2]=0;B[a+16>>2]=g;B[a+12>>2]=i;B[a+20>>2]=q*h;d=x[a+8>>2];ia[x[x[d>>2]+8>>2]](d,a+12|0,b,c);a=x[a+4>>2];ia[x[x[a>>2]+24>>2]](a,b);ga=l+32|0}function Ej(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=E(0),f=E(0),g=E(0),h=0,i=0,j=E(0),k=0,l=0,m=0,n=E(0),o=E(0),p=E(0),q=E(0),r=E(0),s=E(0),t=0,u=0,z=E(0),A=E(0),C=E(0),D=E(0),F=E(0),G=E(0),H=0,I=0;f=B[b+40>>2];g=B[b+36>>2];e=B[b+24>>2];o=B[b+20>>2];i=x[a+8>>2];z=B[i+44>>2];A=B[i+40>>2];C=B[i+12>>2];D=B[i+8>>2];p=B[b+32>>2];q=B[b+16>>2];n=B[b+8>>2];r=B[b+4>>2];s=B[b>>2];F=B[i+36>>2];G=B[i+4>>2];b=x[a+4>>2];a=x[b+4>>2];a:{if((a|0)!=x[b+8>>2]){break a}t=a?a<<1:1;if((t|0)<=(a|0)){break a}b:{if(!t){i=0;break b}x[8456]=x[8456]+1;i=ia[x[8258]](t<<4,16)|0;a=x[b+4>>2]}c:{if((a|0)<=0){break c}if((a|0)!=1){I=a&-2;while(1){l=k<<4;m=l+i|0;h=l+x[b+12>>2]|0;u=x[h+4>>2];x[m>>2]=x[h>>2];x[m+4>>2]=u;u=x[h+12>>2];x[m+8>>2]=x[h+8>>2];x[m+12>>2]=u;h=l|16;l=h+i|0;h=h+x[b+12>>2]|0;m=x[h+4>>2];x[l>>2]=x[h>>2];x[l+4>>2]=m;m=x[h+12>>2];x[l+8>>2]=x[h+8>>2];x[l+12>>2]=m;k=k+2|0;H=H+2|0;if((H|0)!=(I|0)){continue}break}}if(!(a&1)){break c}a=k<<4;k=a+i|0;a=a+x[b+12>>2]|0;h=x[a+4>>2];x[k>>2]=x[a>>2];x[k+4>>2]=h;h=x[a+12>>2];x[k+8>>2]=x[a+8>>2];x[k+12>>2]=h}a=x[b+12>>2];if(!(a?!a|!y[b+16|0]:1)){x[8457]=x[8457]+1;ia[x[8259]](a)}x[b+12>>2]=i;v[b+16|0]=1;x[b+8>>2]=t;a=x[b+4>>2]}a=x[b+12>>2]+(a<<4)|0;x[a+12>>2]=c<<21|d;j=n>E(-0xde0b6b000000000)?n:E(-0xde0b6b000000000);j=e>j?e:j;j=f>j?f:j;n=n=E(0)){d=~~f>>>0;break d}d=0}w[a+4>>1]=d&65534;f=r>E(-0xde0b6b000000000)?r:E(-0xde0b6b000000000);f=fo?o:e;g=e>g?g:e;d=E(f-g)=E(0)){h=~~g>>>0;break e}h=0}w[a+2>>1]=h&65534;g=s>E(-0xde0b6b000000000)?s:E(-0xde0b6b000000000);g=gq?q:e;e=e>p?p:e;i=E(g-e)=E(0)){h=~~e>>>0;break f}h=0}w[a>>1]=h&65534;e=E(E(E((c?E(j+E(.0010000000474974513)):j)-C)*z)+E(1));g:{if(e=E(0)){c=~~e>>>0;break g}c=0}w[a+10>>1]=c|1;f=E(E(E((d?E(f+E(.0010000000474974513)):f)-D)*A)+E(1));h:{if(f=E(0)){c=~~f>>>0;break h}c=0}w[a+8>>1]=c|1;f=E(E(E((i?E(g+E(.0010000000474974513)):g)-G)*F)+E(1));i:{if(f=E(0)){c=~~f>>>0;break i}c=0}w[a+6>>1]=c|1;x[b+4>>2]=x[b+4>>2]+1}function ro(a,b,c,d,e,f,g,h,i,j,k,l){a=a|0;b=b|0;c=c|0;d=d|0;e=E(e);f=E(f);g=E(g);h=E(h);i=E(i);j=j|0;k=E(k);l=l|0;var m=0,n=0,o=0,p=E(0),q=E(0),r=E(0),s=0,t=0,u=E(0),v=E(0),w=E(0),y=E(0),z=E(0),A=0,C=E(0),D=E(0),G=E(0),H=E(0),I=0,J=0,K=E(0),L=0,M=0,N=E(0),O=0,P=0,Q=E(0),R=E(0),S=E(0),T=0,U=0,V=0,W=0,X=0,Y=E(0);n=ga-2416|0;ga=n;u=B[b>>2];C=B[c>>2];v=B[b+4>>2];G=B[c+4>>2];w=B[b+8>>2];H=B[c+8>>2];x[n+44>>2]=0;q=E(H*e);B[n+40>>2]=w+q;r=E(G*e);B[n+36>>2]=v+r;y=E(C*e);B[n+32>>2]=u+y;x[n+28>>2]=0;B[n+24>>2]=w-q;B[n+20>>2]=v-r;B[n+16>>2]=u-y;p=E(k*E(.01745329238474369));k=E(p+E(-1.5707963705062866));M=f<=E(-1.5707963705062866);y=M?k:f;f=E(E(1.5707963705062866)-p);I=g>=E(1.5707963705062866);g=I?f:g;if(y>g){I=1;M=1;y=k;g=f}q=B[d>>2];r=B[d+4>>2];k=B[d+8>>2];m=h>i;N=m?E(p+E(-3.1415927410125732)):h;z=E((m?E(3.1415927410125732):i)-N);f=E(z/p);a:{if(E(F(f))=E(6.2831854820251465);m=l^1;g=E(g-y);f=E(g/p);b:{if(E(F(f))>2];v=B[b>>2];w=B[d>>2];q=B[c+4>>2];r=B[b+4>>2];k=B[d+4>>2];i=B[c+8>>2];h=B[b+8>>2];g=B[d+8>>2];x[o+12>>2]=0;f=E(E(E(A|0)*G)+y);K=E(Ba(f)*e);p=E(K*z);Y=g;g=E(K*H);D=E(Ca(f)*e);B[o+8>>2]=E(E(Q*p)+E(h+E(Y*g)))+E(i*D);B[o+4>>2]=E(E(R*p)+E(r+E(g*k)))+E(D*q);B[o>>2]=E(E(S*p)+E(v+E(g*w)))+E(D*u);O=(A|0)==(T|0);U=O&M;if(A|I){ia[x[x[a>>2]+16>>2]](a,A?s:n+16|0,o,j)}m=x[o+12>>2];x[n+8>>2]=x[o+8>>2];x[n+12>>2]=m;m=x[o+4>>2];x[n>>2]=x[o>>2];x[n+4>>2]=m;if(U){ia[x[x[a>>2]+16>>2]](a,n+32|0,o,j)}V=!A|O;if(!(!V|X)){ia[x[x[a>>2]+16>>2]](a,b,o,j)}m=1;while(1){u=B[c>>2];v=B[b>>2];w=B[d>>2];q=B[c+4>>2];r=B[b+4>>2];k=B[d+4>>2];i=B[c+8>>2];h=B[b+8>>2];g=B[d+8>>2];W=m<<4;t=W+o|0;x[t+12>>2]=0;L=m;f=E(E(E(m|0)*C)+N);p=E(K*Ca(f));f=E(K*Ba(f));B[t+8>>2]=E(E(Q*p)+E(h+E(g*f)))+E(D*i);B[t+4>>2]=E(E(R*p)+E(r+E(f*k)))+E(D*q);B[t>>2]=E(E(S*p)+E(v+E(f*w)))+E(D*u);c:{d:{if(A){m=s+W|0;break d}m=n+16|0;if(!I){break c}}ia[x[x[a>>2]+16>>2]](a,m,t,j)}ia[x[x[a>>2]+16>>2]](a,t-16|0,t,j);if(U){ia[x[x[a>>2]+16>>2]](a,n+32|0,t,j)}e:{if(!l){break e}f:{if(P){m=n;if((L|0)==(J|0)){break f}break e}m=b;if(!((L|0)==(J|0)&V)){break e}}ia[x[x[a>>2]+16>>2]](a,m,t,j)}m=L+1|0;if((L|0)!=(J|0)){continue}break}A=A+1|0;m=o;o=s;if(!O){continue}break}ga=n+2416|0}function cs(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=E(0),i=0,j=0,k=0,l=0,m=0,n=E(0);e=ga-128|0;ga=e;x[a+76>>2]=x[a+76>>2]+1;d=x[b+12>>2];x[e+72>>2]=x[b+8>>2];x[e+76>>2]=d;d=x[b+4>>2];x[e+64>>2]=x[b>>2];x[e+68>>2]=d;d=x[b+28>>2];x[e+88>>2]=x[b+24>>2];x[e+92>>2]=d;d=x[b+20>>2];x[e+80>>2]=x[b+16>>2];x[e+84>>2]=d;d=x[b+44>>2];x[e+104>>2]=x[b+40>>2];x[e+108>>2]=d;d=x[b+36>>2];x[e+96>>2]=x[b+32>>2];x[e+100>>2]=d;d=x[b+60>>2];x[e+120>>2]=x[b+56>>2];x[e+124>>2]=d;d=x[b+52>>2];x[e+112>>2]=x[b+48>>2];x[e+116>>2]=d;m=x[c+4>>2];n=E(ia[x[x[c>>2]+48>>2]](c));ia[x[x[c>>2]+8>>2]](c,b,e+48|0,e+32|0);h=B[e+48>>2];if(h>2]){B[a+40>>2]=h}h=B[e+32>>2];if(h>B[a+56>>2]){B[a+56>>2]=h}h=B[e+52>>2];if(h>2]){B[a+44>>2]=h}h=B[e+36>>2];if(h>B[a+60>>2]){B[a+60>>2]=h}h=B[e+56>>2];if(h>2]){B[a+48>>2]=h}h=B[e+40>>2];if(h>B[a- -64>>2]){B[a+64>>2]=h}b=x[a+72>>2];if(b){d=x[e+60>>2];x[e+8>>2]=x[e+56>>2];x[e+12>>2]=d;d=x[e+44>>2];x[e+24>>2]=x[e+40>>2];x[e+28>>2]=d;d=x[e+36>>2];x[e+16>>2]=x[e+32>>2];x[e+20>>2]=d;d=x[e+52>>2];x[e>>2]=x[e+48>>2];x[e+4>>2]=d;b=Qb(b,e,x[a+24>>2])}else{b=0}i=x[a+24>>2];a:{if((i|0)!=x[a+28>>2]){break a}j=i?i<<1:1;if((j|0)<=(i|0)){break a}if(j){x[8456]=x[8456]+1;l=ia[x[8258]](D(j,80),16)|0;i=x[a+24>>2]}if((i|0)>0){while(1){d=D(k,80);f=d+l|0;d=d+x[a+32>>2]|0;g=x[d+4>>2];x[f>>2]=x[d>>2];x[f+4>>2]=g;g=x[d+12>>2];x[f+8>>2]=x[d+8>>2];x[f+12>>2]=g;g=x[d+28>>2];x[f+24>>2]=x[d+24>>2];x[f+28>>2]=g;g=x[d+20>>2];x[f+16>>2]=x[d+16>>2];x[f+20>>2]=g;g=x[d+44>>2];x[f+40>>2]=x[d+40>>2];x[f+44>>2]=g;g=x[d+36>>2];x[f+32>>2]=x[d+32>>2];x[f+36>>2]=g;g=x[d+60>>2];x[f+56>>2]=x[d+56>>2];x[f+60>>2]=g;g=x[d+52>>2];x[f+48>>2]=x[d+48>>2];x[f+52>>2]=g;g=x[d+68>>2];x[f+64>>2]=x[d+64>>2];x[f+68>>2]=g;g=x[d+76>>2];x[f+72>>2]=x[d+72>>2];x[f+76>>2]=g;k=k+1|0;if((k|0)!=(i|0)){continue}break}}d=x[a+32>>2];if(!(d?!d|!y[a+36|0]:1)){x[8457]=x[8457]+1;ia[x[8259]](d)}x[a+32>>2]=l;v[a+36|0]=1;x[a+28>>2]=j;i=x[a+24>>2]}f=x[e+68>>2];d=x[a+32>>2]+D(i,80)|0;x[d>>2]=x[e+64>>2];x[d+4>>2]=f;f=x[e+76>>2];x[d+8>>2]=x[e+72>>2];x[d+12>>2]=f;f=x[e+92>>2];x[d+24>>2]=x[e+88>>2];x[d+28>>2]=f;f=x[e+84>>2];x[d+16>>2]=x[e+80>>2];x[d+20>>2]=f;f=x[e+100>>2];x[d+32>>2]=x[e+96>>2];x[d+36>>2]=f;f=x[e+108>>2];x[d+40>>2]=x[e+104>>2];x[d+44>>2]=f;f=x[e+116>>2];x[d+48>>2]=x[e+112>>2];x[d+52>>2]=f;f=x[e+124>>2];x[d+56>>2]=x[e+120>>2];x[d+60>>2]=f;x[d+64>>2]=c;x[d+68>>2]=m;B[d+72>>2]=n;x[d+76>>2]=b;x[a+24>>2]=x[a+24>>2]+1;ga=e+128|0}function Dr(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;e=ga-32|0;ga=e;x[8456]=x[8456]+1;d=ia[x[8258]](348,16)|0;if(!y[33780]){x[e+24>>2]=0;x[e+28>>2]=1;x[e+16>>2]=4096;x[e+20>>2]=4096;x[e+8>>2]=0;x[e+12>>2]=0;Ac(e+8|0);v[33780]=1}v[d+76|0]=1;x[d+72>>2]=0;x[d+68>>2]=b;b=d;x[b+28>>2]=0;x[b+32>>2]=0;x[b+24>>2]=a;v[b+20|0]=1;x[b>>2]=13068;x[b+16>>2]=0;x[b- -64>>2]=0;v[b+60|0]=0;x[b+56>>2]=1025758986;v[b+54|0]=1;w[b+52>>1]=256;x[b+48>>2]=0;v[b+44|0]=1;x[b+36>>2]=1;x[b+40>>2]=1065353216;x[b+8>>2]=0;x[b+12>>2]=0;x[b+92>>2]=1058642330;x[b+96>>2]=1065353216;x[b+88>>2]=0;x[b+80>>2]=0;x[b+84>>2]=0;x[b>>2]=24120;x[b+100>>2]=1050253722;x[b+104>>2]=1015580809;x[b+132>>2]=0;x[b+136>>2]=1045220557;x[b+124>>2]=1045220557;x[b+128>>2]=1045220557;x[b+108>>2]=0;x[b+112>>2]=10;x[b+184>>2]=0;x[b+188>>2]=1045220557;x[b+176>>2]=1120403456;x[b+180>>2]=1900671690;x[b+172>>2]=128;x[b+164>>2]=260;x[b+168>>2]=2;x[b+156>>2]=0;x[b+160>>2]=1062836634;x[b+148>>2]=-1121724662;x[b+152>>2]=1036831949;x[b+140>>2]=0;x[b+144>>2]=1;x[b+116>>2]=1101004800;x[b+120>>2]=1065353216;v[b+208|0]=1;x[b+204>>2]=0;v[b+240|0]=1;x[b+216>>2]=c;x[b+212>>2]=0;x[b+196>>2]=0;x[b+200>>2]=0;x[b+236>>2]=0;x[b+228>>2]=0;x[b+232>>2]=0;v[b+260|0]=1;w[b+290>>1]=0;x[b+256>>2]=0;x[b+264>>2]=0;x[b+268>>2]=-1054867456;x[b+248>>2]=0;x[b+252>>2]=0;x[b+272>>2]=0;x[b+276>>2]=0;x[b+280>>2]=0;x[b+284>>2]=0;v[b+308|0]=1;x[b+312>>2]=0;x[b+304>>2]=0;x[b+296>>2]=0;x[b+300>>2]=0;v[b+336|0]=1;v[b+316|0]=1;x[b+324>>2]=0;x[b+328>>2]=0;x[b+332>>2]=0;x[b+340>>2]=0;if(c){c=0}else{x[8456]=x[8456]+1;f=d,g=zd(ia[x[8258]](236,16)|0),x[f+216>>2]=g;c=1}v[b+289|0]=c;x[8456]=x[8456]+1;b=ia[x[8258]](68,16)|0;x[b>>2]=24060;x[b+16>>2]=0;v[b+20|0]=1;x[b+8>>2]=0;x[b+12>>2]=0;x[b+36>>2]=0;v[b+40|0]=1;v[b+60|0]=1;x[b+28>>2]=0;x[b+32>>2]=0;x[b+56>>2]=0;v[b+64|0]=1;x[b+48>>2]=0;x[b+52>>2]=0;v[d+288|0]=1;x[d+220>>2]=b;x[8456]=x[8456]+1;b=ia[x[8258]](88,16)|0;c=x[d+216>>2];v[b+44|0]=1;x[b+24>>2]=a;x[b+20>>2]=0;x[b+12>>2]=0;x[b+16>>2]=0;x[b+8>>2]=c;x[b+4>>2]=0;x[b>>2]=24384;x[b+40>>2]=0;v[b- -64|0]=1;x[b+32>>2]=0;x[b+36>>2]=0;x[b+60>>2]=0;v[b+84|0]=1;x[b+52>>2]=0;x[b+56>>2]=0;x[b+80>>2]=0;x[b+72>>2]=0;x[b+76>>2]=0;x[d+212>>2]=b;x[d+344>>2]=24816;x[d>>2]=24576;x[d+56>>2]=1008981770;a=x[d+68>>2];a=ia[x[x[a>>2]+36>>2]](a)|0;ia[x[x[a>>2]+44>>2]](a,d+344|0);a=x[d+68>>2];a=ia[x[x[a>>2]+36>>2]](a)|0;b=Aa(4);x[b>>2]=24916;ia[x[x[a>>2]+60>>2]](a,b);ga=e+32|0;return d|0}function td(a,b){var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;a:{d=x[a+548>>2];b:{if((d|0)<=0){break b}e=x[a+556>>2];while(1){if(x[e+(f<<2)>>2]!=(b|0)){f=f+1|0;if((f|0)!=(d|0)){continue}break b}break}if((d|0)!=(f|0)){break a}}c:{if(x[a+552>>2]!=(d|0)){break c}i=d?d<<1:1;if((i|0)<=(d|0)){break c}d:{if(!i){e=0;break d}x[8456]=x[8456]+1;e=ia[x[8258]](i<<2,16)|0;d=x[a+548>>2]}e:{if((d|0)<=0){break e}f=0;if(d>>>0>=4){k=d&-4;while(1){c=f<<2;x[c+e>>2]=x[c+x[a+556>>2]>>2];g=c|4;x[g+e>>2]=x[g+x[a+556>>2]>>2];g=c|8;x[g+e>>2]=x[g+x[a+556>>2]>>2];c=c|12;x[c+e>>2]=x[c+x[a+556>>2]>>2];f=f+4|0;h=h+4|0;if((k|0)!=(h|0)){continue}break}}c=d&3;if(!c){break e}while(1){h=f<<2;x[h+e>>2]=x[h+x[a+556>>2]>>2];f=f+1|0;j=j+1|0;if((c|0)!=(j|0)){continue}break}}f=x[a+556>>2];if(!(!f|!y[a+560|0])){if(f){x[8457]=x[8457]+1;ia[x[8259]](f)}d=x[a+548>>2]}x[a+556>>2]=e;v[a+560|0]=1;x[a+552>>2]=i}x[x[a+556>>2]+(d<<2)>>2]=b;x[a+548>>2]=d+1;f=x[b+32>>2];b=x[b+28>>2];f:{if((b|0)==(a|0)){e=x[a+288>>2];if((e|0)!=x[a+292>>2]){break f}i=e?e<<1:1;if((i|0)<=(e|0)){break f}g:{if(!i){b=0;break g}x[8456]=x[8456]+1;b=ia[x[8258]](i<<2,16)|0;e=x[a+288>>2]}h:{if((e|0)<=0){break h}j=0;d=0;if(e>>>0>=4){k=e&-4;h=0;while(1){c=d<<2;x[c+b>>2]=x[c+x[a+296>>2]>>2];g=c|4;x[g+b>>2]=x[g+x[a+296>>2]>>2];g=c|8;x[g+b>>2]=x[g+x[a+296>>2]>>2];c=c|12;x[c+b>>2]=x[c+x[a+296>>2]>>2];d=d+4|0;h=h+4|0;if((k|0)!=(h|0)){continue}break}}c=e&3;if(!c){break h}while(1){h=d<<2;x[h+b>>2]=x[h+x[a+296>>2]>>2];d=d+1|0;j=j+1|0;if((c|0)!=(j|0)){continue}break}}d=x[a+296>>2];if(!(!d|!y[a+300|0])){if(d){x[8457]=x[8457]+1;ia[x[8259]](d)}e=x[a+288>>2]}x[a+296>>2]=b;v[a+300|0]=1;x[a+292>>2]=i;break f}e=x[f+288>>2];i:{if((e|0)!=x[f+292>>2]){break i}h=e?e<<1:1;if((h|0)<=(e|0)){break i}j:{if(!h){d=0;break j}x[8456]=x[8456]+1;d=ia[x[8258]](h<<2,16)|0;e=x[f+288>>2]}k:{if((e|0)<=0){break k}i=0;a=0;if(e>>>0>=4){k=e&-4;j=0;while(1){c=a<<2;x[c+d>>2]=x[c+x[f+296>>2]>>2];g=c|4;x[g+d>>2]=x[g+x[f+296>>2]>>2];g=c|8;x[g+d>>2]=x[g+x[f+296>>2]>>2];c=c|12;x[c+d>>2]=x[c+x[f+296>>2]>>2];a=a+4|0;j=j+4|0;if((k|0)!=(j|0)){continue}break}}j=e&3;if(!j){break k}while(1){c=a<<2;x[c+d>>2]=x[c+x[f+296>>2]>>2];a=a+1|0;i=i+1|0;if((j|0)!=(i|0)){continue}break}}a=x[f+296>>2];if(!(!a|!y[f+300|0])){if(a){x[8457]=x[8457]+1;ia[x[8259]](a)}e=x[f+288>>2]}x[f+296>>2]=d;v[f+300|0]=1;x[f+292>>2]=h}a=f;f=b}x[x[a+296>>2]+(e<<2)>>2]=f;x[a+280>>2]=(e^-1)>>>31;x[a+288>>2]=e+1}}function tm(a,b,c,d){a=a|0;b=b|0;c=c|0;d=E(d);var e=E(0),f=E(0),g=E(0),h=E(0),i=E(0),j=E(0),k=E(0),l=E(0),m=E(0),n=0,o=E(0),p=E(0),q=E(0),r=E(0),s=E(0),t=E(0),u=E(0),v=E(0),w=E(0),z=E(0),A=E(0),C=E(0),D=E(0),F=E(0),G=E(0),H=E(0),I=E(0),J=E(0),K=E(0),L=E(0),M=E(0),N=E(0);n=ga-16|0;ga=n;k=B[b+8>>2];f=B[c+8>>2];q=E(E(k*d)+f);G=B[b+4>>2];F=B[c+4>>2];H=E(E(G*d)+F);I=B[b>>2];e=E(I*d);d=B[c>>2];J=E(e+d);a:{if(y[a+232|0]){r=B[a+48>>2];i=E(-B[a+88>>2]);s=B[a- -64>>2];h=B[a+92>>2];t=B[a+80>>2];g=B[a+96>>2];A=E(E(E(r*i)-E(s*h))-E(t*g));e=B[a+208>>2];u=B[a+40>>2];v=B[a+56>>2];w=B[a+72>>2];C=E(E(E(u*i)-E(v*h))-E(w*g));l=B[a+200>>2];z=B[a+44>>2];j=E(z*i);i=B[a+60>>2];j=E(j-E(i*h));h=B[a+76>>2];j=E(j-E(h*g));g=B[a+204>>2];e=E(E(E(E(A*e)+E(E(C*l)+E(j*g)))+B[a+224>>2])+E(E(q*E(E(t*e)+E(E(w*l)+E(h*g))))+E(E(J*E(E(r*e)+E(E(u*l)+E(z*g))))+E(H*E(E(s*e)+E(E(v*l)+E(i*g)))))));g=e;l=k;o=E(E(e-f)*k);f=B[a+176>>2];e=B[a+168>>2];k=B[a+172>>2];e=E(E(E(q*E(E(t*f)+E(E(w*e)+E(h*k))))+E(E(J*E(E(r*f)+E(E(u*e)+E(z*k))))+E(H*E(E(s*f)+E(E(v*e)+E(i*k))))))+E(E(E(A*f)+E(E(C*e)+E(k*j)))+B[a+216>>2]));p=E(E(e-d)*I);k=q;d=B[a+192>>2];f=B[a+184>>2];q=B[a+188>>2];f=E(E(E(k*E(E(t*d)+E(E(w*f)+E(h*q))))+E(E(J*E(E(r*d)+E(E(u*f)+E(z*q))))+E(H*E(E(s*d)+E(E(v*f)+E(i*q))))))+E(E(E(A*d)+E(E(C*f)+E(j*q)))+B[a+220>>2]));d=E(o+E(p+E(G*E(f-F))));B[n+8>>2]=g+E(l*d);B[n+4>>2]=f+E(G*d);B[n>>2]=e+E(I*d);break a}M=B[a+224>>2];r=B[a+208>>2];s=B[a+200>>2];t=B[a+204>>2];N=B[a+216>>2];e=B[a+172>>2];u=B[a+176>>2];v=B[a+168>>2];w=B[a+112>>2];o=E(-B[a+152>>2]);l=B[a+128>>2];p=B[a+156>>2];z=B[a+144>>2];D=B[a+160>>2];i=E(E(E(w*o)-E(l*p))-E(z*D));h=B[a+104>>2];g=B[a+120>>2];A=B[a+136>>2];C=E(E(E(h*o)-E(g*p))-E(A*D));j=B[a+108>>2];m=E(j*o);o=B[a+124>>2];m=E(m-E(o*p));p=B[a+140>>2];D=E(m-E(p*D));m=B[a+192>>2];K=B[a+184>>2];L=B[a+188>>2];m=E(E(E(f*E(E(z*m)+E(E(A*K)+E(p*L))))+E(E(d*E(E(w*m)+E(E(h*K)+E(j*L))))+E(F*E(E(l*m)+E(E(g*K)+E(o*L))))))+E(E(E(i*m)+E(E(C*K)+E(D*L)))+B[a+220>>2]));B[n+4>>2]=m;e=E(E(E(f*E(E(z*u)+E(E(A*v)+E(p*e))))+E(E(d*E(E(w*u)+E(E(h*v)+E(j*e))))+E(F*E(E(l*u)+E(E(g*v)+E(o*e))))))+E(N+E(E(i*u)+E(E(C*v)+E(e*D)))));B[n>>2]=e;d=E(E(M+E(E(i*r)+E(E(C*s)+E(D*t))))+E(E(f*E(E(z*r)+E(E(A*s)+E(p*t))))+E(E(d*E(E(w*r)+E(E(h*s)+E(j*t))))+E(F*E(E(l*r)+E(E(g*s)+E(o*t)))))));B[n+8>>2]=d;d=E(E(E(q-d)*k)+E(E(E(J-e)*I)+E(G*E(H-m))))}x[n+12>>2]=0;a=x[a+36>>2];ia[x[x[a>>2]+16>>2]](a,b,n,d);ga=n+16|0}function Kb(a,b,c,d){var e=E(0),f=E(0),g=E(0),h=0,i=E(0),k=E(0),m=E(0),n=E(0),o=E(0),r=E(0),s=E(0),t=E(0),u=E(0),v=E(0),w=E(0),y=E(0),z=E(0),A=E(0),C=E(0),D=E(0),F=E(0),G=E(0),H=E(0),I=E(0);h=ga+-64|0;ga=h;t=B[b+24>>2];u=B[b+20>>2];v=B[b+40>>2];w=B[b+36>>2];k=B[a+40>>2];m=B[a+20>>2];n=B[a+36>>2];o=B[a+24>>2];y=B[b+8>>2];z=B[b>>2];A=B[b+4>>2];C=B[b+16>>2];D=B[b+32>>2];f=B[a+8>>2];g=B[a+4>>2];s=B[a+32>>2];r=B[a+16>>2];i=B[a>>2];x[h+60>>2]=0;x[h+44>>2]=0;G=E(E(r*n)-E(s*m));H=E(E(m*k)-E(n*o));I=E(E(o*s)-E(k*r));e=E(E(1)/E(E(f*G)+E(E(i*H)+E(g*I))));F=E(E(E(i*m)-E(r*g))*e);m=E(E(E(g*o)-E(m*f))*e);o=E(E(E(f*r)-E(o*i))*e);B[h+56>>2]=E(v*F)+E(E(D*m)+E(w*o));r=E(E(E(g*s)-E(n*i))*e);g=E(E(E(f*n)-E(k*g))*e);f=E(E(E(i*k)-E(s*f))*e);B[h+52>>2]=E(v*r)+E(E(D*g)+E(w*f));B[h+40>>2]=E(F*t)+E(E(m*C)+E(o*u));B[h+36>>2]=E(r*t)+E(E(g*C)+E(f*u));x[h+28>>2]=0;i=E(G*e);k=E(H*e);e=E(I*e);B[h+48>>2]=E(v*i)+E(E(D*k)+E(w*e));B[h+32>>2]=E(i*t)+E(E(k*C)+E(e*u));B[h+24>>2]=E(F*y)+E(E(m*z)+E(A*o));B[h+20>>2]=E(r*y)+E(E(g*z)+E(A*f));B[h+16>>2]=E(i*y)+E(E(k*z)+E(A*e));db(h+16|0,h);e=B[h+12>>2];i=B[h+8>>2];k=B[h>>2];m=B[h+4>>2];g=E(E(1)/E(M(E(E(e*e)+E(E(i*i)+E(E(k*k)+E(m*m)))))));e=E(e*g);e=eE(1)?E(1):e;b=(p(f),j(2));a=b&2147483647;a:{if(a>>>0>=1065353216){e=(b|0)>=0?E(0):E(3.141592502593994);if((a|0)==1065353216){break a}e=E(E(0)/E(f-f));break a}b:{if(a>>>0<=1056964607){e=E(1.570796251296997);if(a>>>0<847249409){break b}e=E(f*f);e=E(E(E(E(7.549789415861596e-8)-E(f*E(E(E(E(e*E(E(e*E(-.008656363002955914))+E(-.04274342209100723)))+E(.16666586697101593))*e)/E(E(e*E(-.7066296339035034))+E(1)))))-f)+E(1.570796251296997));break a}if((b|0)<0){e=E(E(f+E(1))*E(.5));f=E(M(e));e=E(E(1.570796251296997)-E(f+E(E(f*E(E(E(E(e*E(E(e*E(-.008656363002955914))+E(-.04274342209100723)))+E(.16666586697101593))*e)/E(E(e*E(-.7066296339035034))+E(1))))+E(-7.549789415861596e-8))));e=E(e+e);break a}e=E(E(E(1)-f)*E(.5));n=E(M(e));f=(l(2,(p(n),j(2))&-4096),q());e=E(E(E(n*E(E(E(E(e*E(E(e*E(-.008656363002955914))+E(-.04274342209100723)))+E(.16666586697101593))*e)/E(E(e*E(-.7066296339035034))+E(1))))+E(E(e-E(f*f))/E(n+f)))+f);e=E(e+e)}}B[d>>2]=e+e;x[c+12>>2]=0;e=E(i*g);f=E(k*g);g=E(m*g);i=E(E(e*e)+E(E(f*f)+E(g*g)));c:{if(i>2]=1065353216;x[c+4>>2]=0;e=E(0);break c}k=g;g=E(E(1)/E(M(i)));B[c+4>>2]=k*g;B[c>>2]=f*g;e=E(e*g)}B[c+8>>2]=e;ga=h- -64|0}function Ge(a,b,c){var d=0,e=0,f=0,g=E(0),h=0,i=0,j=E(0),k=E(0),l=E(0),m=E(0),n=E(0),o=E(0),p=E(0),q=E(0),r=E(0),s=E(0),t=E(0),u=E(0),v=E(0),w=E(0),y=E(0),z=E(0),A=E(0),C=E(0),F=E(0),G=E(0),H=E(0),I=E(0),J=E(0),K=0;d=ga-160|0;ga=d;f=x[a+4>>2];e=x[f+12>>2];H=B[e+52>>2];I=B[e+56>>2];g=B[e+24>>2];j=B[e+20>>2];k=B[e+40>>2];l=B[e+36>>2];J=B[e+48>>2];m=B[e+8>>2];n=B[e>>2];o=B[e+4>>2];p=B[e+16>>2];q=B[e+32>>2];e=x[x[f+4>>2]+32>>2]+D(c,80)|0;r=B[e+32>>2];s=B[e>>2];t=B[e+16>>2];u=B[e+56>>2];v=B[e+52>>2];w=B[e+48>>2];y=B[e+36>>2];z=B[e+20>>2];A=B[e+4>>2];C=B[e+40>>2];F=B[e+24>>2];G=B[e+8>>2];e=0;x[d+156>>2]=0;x[d+140>>2]=0;x[d+124>>2]=0;B[d+136>>2]=E(C*k)+E(E(G*q)+E(l*F));B[d+132>>2]=E(y*k)+E(E(A*q)+E(l*z));B[d+120>>2]=E(C*g)+E(E(G*p)+E(j*F));B[d+116>>2]=E(y*g)+E(E(A*p)+E(j*z));B[d+152>>2]=I+E(E(u*k)+E(E(w*q)+E(l*v)));B[d+148>>2]=H+E(E(u*g)+E(E(w*p)+E(j*v)));x[d+108>>2]=0;B[d+128>>2]=E(r*k)+E(E(s*q)+E(l*t));B[d+112>>2]=E(r*g)+E(E(s*p)+E(j*t));B[d+96>>2]=E(r*m)+E(E(s*n)+E(o*t));B[d+104>>2]=E(C*m)+E(E(G*n)+E(o*F));B[d+100>>2]=E(y*m)+E(E(A*n)+E(o*z));B[d+144>>2]=J+E(E(u*m)+E(E(w*n)+E(o*v)));ia[x[x[b>>2]+8>>2]](b,d+96|0,d+80|0,d- -64|0);g=B[x[a+20>>2]+32>>2];B[d+80>>2]=B[d+80>>2]-g;B[d+84>>2]=B[d+84>>2]-g;B[d+88>>2]=B[d+88>>2]-g;B[d+64>>2]=g+B[d+64>>2];B[d+68>>2]=g+B[d+68>>2];B[d+72>>2]=g+B[d+72>>2];f=x[a+8>>2];h=x[f+4>>2];ia[x[x[h>>2]+8>>2]](h,x[f+12>>2],d+48|0,d+32|0);f=x[8464];a:{if(f){if(!(ia[f|0](x[x[a+8>>2]+4>>2],b)|0)){break a}}e=B[d+64>>2]>2]|B[d+80>>2]>B[d+32>>2]?e:1;f=0;if((B[d+72>>2]>2]|B[d+88>>2]>B[d+40>>2]?f:e)^1|B[d+68>>2]>2]|B[d+84>>2]>B[d+36>>2]){break a}e=x[a+4>>2];f=x[e+8>>2];x[d+28>>2]=c;x[d+24>>2]=-1;x[d+16>>2]=f;x[d+12>>2]=b;x[d+8>>2]=e;x[d+20>>2]=d+96;b:{if(B[x[a+20>>2]+32>>2]>E(0)){b=x[a+12>>2];b=ia[x[x[b>>2]+8>>2]](b,d+8|0,x[a+8>>2],0,2)|0;break b}e=c<<2;b=x[e+x[a+24>>2]>>2];if(b){break b}b=x[a+12>>2];b=ia[x[x[b>>2]+8>>2]](b,d+8|0,x[a+8>>2],x[a+28>>2],1)|0;x[e+x[a+24>>2]>>2]=b;b=x[e+x[a+24>>2]>>2]}f=x[a+20>>2];h=x[f+8>>2];c:{if(x[h+8>>2]==x[x[a+4>>2]+8>>2]){i=f+8|0;e=2;break c}h=x[f+12>>2];i=f+12|0;e=3}K=i;i=d+8|0;x[K>>2]=i;ia[x[x[f>>2]+(e<<2)>>2]](f,-1,c);ia[x[x[b>>2]+8>>2]](b,i,x[a+8>>2],x[a+16>>2],x[a+20>>2]);b=x[a+20>>2];x[(x[x[b+8>>2]+8>>2]==x[x[a+4>>2]+8>>2]?8:12)+b>>2]=h}ga=d+160|0}function je(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=E(0),i=E(0),j=E(0),k=0,l=0,m=E(0),n=0,o=0,p=E(0),q=E(0),r=0;d=ga-80|0;ga=d;e=x[a+4>>2];ia[x[x[e>>2]+16>>2]](e,d+28|0,d+24|0,d+20|0,d+16|0,d+12|0,d+8|0,d+4|0,d,b);g=x[d+12>>2]+D(x[d+8>>2],c)|0;e=x[a+4>>2];k=x[d+16>>2];l=x[d+28>>2];f=x[d>>2];a:{if(!x[d+20>>2]){if((f|0)!=3){f=D(x[g+8>>2],k)+l|0;h=B[f>>2];i=B[f+4>>2];j=B[f+8>>2];m=B[e+4>>2];p=B[e+8>>2];q=B[e+12>>2];x[d+76>>2]=0;B[d+72>>2]=j*q;B[d+68>>2]=i*p;B[d+64>>2]=h*m;f=D(x[g+4>>2],k)+l|0;h=B[f>>2];i=B[f+4>>2];j=B[f+8>>2];m=B[e+4>>2];p=B[e+8>>2];q=B[e+12>>2];x[d+60>>2]=0;B[d+56>>2]=j*q;B[d+52>>2]=i*p;B[d+48>>2]=h*m;g=D(x[g>>2],k)+l|0;h=B[g+4>>2];i=B[g+8>>2];j=B[e+8>>2];m=B[e+12>>2];B[d+32>>2]=B[g>>2]*B[e+4>>2];i=E(i*m);h=E(h*j);break a}f=D(z[g+4>>1],k)+l|0;h=B[f>>2];i=B[f+4>>2];j=B[f+8>>2];m=B[e+4>>2];p=B[e+8>>2];q=B[e+12>>2];x[d+76>>2]=0;B[d+72>>2]=j*q;B[d+68>>2]=i*p;B[d+64>>2]=h*m;f=D(z[g+2>>1],k)+l|0;h=B[f>>2];i=B[f+4>>2];j=B[f+8>>2];m=B[e+4>>2];p=B[e+8>>2];q=B[e+12>>2];x[d+60>>2]=0;B[d+56>>2]=j*q;B[d+52>>2]=i*p;B[d+48>>2]=h*m;g=D(z[g>>1],k)+l|0;h=B[g+4>>2];i=B[g+8>>2];j=B[e+8>>2];m=B[e+12>>2];B[d+32>>2]=B[g>>2]*B[e+4>>2];i=E(i*m);h=E(h*j);break a}if((f|0)!=3){f=D(x[g+8>>2],k)+l|0;n=C[f>>3];o=C[f+8>>3];r=C[f+16>>3];h=B[e+4>>2];i=B[e+8>>2];j=B[e+12>>2];x[d+76>>2]=0;B[d+72>>2]=j*E(r);B[d+68>>2]=i*E(o);B[d+64>>2]=h*E(n);f=D(x[g+4>>2],k)+l|0;n=C[f>>3];o=C[f+8>>3];r=C[f+16>>3];h=B[e+4>>2];i=B[e+8>>2];j=B[e+12>>2];x[d+60>>2]=0;B[d+56>>2]=j*E(r);B[d+52>>2]=i*E(o);B[d+48>>2]=h*E(n);g=D(x[g>>2],k)+l|0;n=C[g+8>>3];o=C[g+16>>3];h=B[e+8>>2];i=B[e+12>>2];B[d+32>>2]=B[e+4>>2]*E(C[g>>3]);i=E(i*E(o));h=E(h*E(n));break a}f=D(z[g+4>>1],k)+l|0;n=C[f>>3];o=C[f+8>>3];r=C[f+16>>3];h=B[e+4>>2];i=B[e+8>>2];j=B[e+12>>2];x[d+76>>2]=0;B[d+72>>2]=j*E(r);B[d+68>>2]=i*E(o);B[d+64>>2]=h*E(n);f=D(z[g+2>>1],k)+l|0;n=C[f>>3];o=C[f+8>>3];r=C[f+16>>3];h=B[e+4>>2];i=B[e+8>>2];j=B[e+12>>2];x[d+60>>2]=0;B[d+56>>2]=j*E(r);B[d+52>>2]=i*E(o);B[d+48>>2]=h*E(n);g=D(z[g>>1],k)+l|0;n=C[g+8>>3];o=C[g+16>>3];h=B[e+8>>2];i=B[e+12>>2];B[d+32>>2]=B[e+4>>2]*E(C[g>>3]);i=E(i*E(o));h=E(h*E(n))}x[d+44>>2]=0;B[d+40>>2]=i;B[d+36>>2]=h;e=x[a+8>>2];ia[x[x[e>>2]+8>>2]](e,d+32|0,b,c);a=x[a+4>>2];ia[x[x[a>>2]+24>>2]](a,b);ga=d+80|0}function Ja(a,b,c){var d=0,e=0,f=E(0),g=E(0),h=E(0),i=0,j=0,k=E(0),l=E(0),m=E(0),n=0,o=E(0),p=E(0),q=E(0),r=E(0),s=E(0),t=E(0),u=E(0),v=E(0),w=E(0),y=E(0),z=E(0),A=E(0);j=ga-16|0;ga=j;d=x[a+844>>2];a:{if((d|0)<=0){break a}while(1){o=B[b+48>>2];r=B[b+8>>2];s=B[b>>2];t=B[b+4>>2];p=B[b+52>>2];u=B[b+24>>2];k=B[b+16>>2];v=B[b+20>>2];f=B[b+56>>2];h=B[b+40>>2];g=B[b+32>>2];q=B[b+36>>2];i=d-1|0;e=D(i,208)+a|0;x[e- -64>>2]=0;m=f;f=B[e+12>>2];l=E(h*f);h=B[e+4>>2];w=E(g*h);g=B[e+8>>2];q=E(m+E(l+E(w+E(q*g))));B[e+60>>2]=q;p=E(p+E(E(f*u)+E(E(h*k)+E(g*v))));B[e+56>>2]=p;o=E(o+E(E(f*r)+E(E(h*s)+E(g*t))));B[e+52>>2]=o;r=B[c+56>>2];s=B[c+40>>2];t=B[c+32>>2];u=B[c+36>>2];k=B[c+52>>2];v=B[c+24>>2];w=B[c+16>>2];y=B[c+20>>2];f=B[c+48>>2];h=B[c+8>>2];g=B[c>>2];l=B[c+4>>2];x[e+48>>2]=0;m=f;f=B[e+28>>2];z=E(h*f);h=B[e+20>>2];A=E(g*h);g=B[e+24>>2];l=E(m+E(z+E(A+E(l*g))));B[e+36>>2]=l;k=E(k+E(E(f*v)+E(E(h*w)+E(g*y))));B[e+40>>2]=k;f=E(r+E(E(f*s)+E(E(h*t)+E(g*u))));B[e+44>>2]=f;B[e+84>>2]=E(E(q-f)*B[e+76>>2])+E(E(E(o-l)*B[e+68>>2])+E(E(p-k)*B[e+72>>2]));x[e+168>>2]=x[e+168>>2]+1;e=d>>>0>1;d=i;if(e){continue}break}b=x[a+844>>2];if((b|0)<=0){break a}while(1){c=b;b=c-1|0;d=D(b,208)+a|0;i=d+4|0;f=B[d+84>>2];h=B[a+848>>2];b:{if(!(f<=h)){e=x[d+120>>2];c:{if(!e){break c}n=x[8753];if(!n){break c}ia[n|0](e)|0;x[d+120>>2]=0}d=x[a+844>>2];if((c|0)!=(d|0)){d=D(d,208)+a|0;ya(i,d-204|0,208);d=d-208|0;x[d+168>>2]=0;x[d+120>>2]=0;x[d+132>>2]=0;x[d+136>>2]=0;x[d+140>>2]=0;x[d+144>>2]=0;d=x[a+844>>2]}else{d=c}d=d-1|0;x[a+844>>2]=d;i=x[8756];if(d|!i){break b}x[j+8>>2]=a;ia[i|0](j+8|0);break b}g=E(B[d+44>>2]-E(B[d+60>>2]-E(f*B[d+76>>2])));m=E(g*g);g=E(B[d+36>>2]-E(B[d+52>>2]-E(B[d+68>>2]*f)));f=E(B[d+40>>2]-E(B[d+56>>2]-E(f*B[d+72>>2])));if(E(m+E(E(g*g)+E(f*f)))>E(h*h)){e=x[d+120>>2];d:{if(!e){break d}n=x[8753];if(!n){break d}ia[n|0](e)|0;x[d+120>>2]=0}d=x[a+844>>2];if((c|0)!=(d|0)){d=D(d,208)+a|0;ya(i,d-204|0,208);d=d-208|0;x[d+168>>2]=0;x[d+120>>2]=0;x[d+132>>2]=0;x[d+136>>2]=0;x[d+140>>2]=0;x[d+144>>2]=0;d=x[a+844>>2]}else{d=c}d=d-1|0;x[a+844>>2]=d;i=x[8756];if(d|!i){break b}x[j+12>>2]=a;ia[i|0](j+12|0);break b}d=x[8754];if(!d){break b}ia[d|0](i,x[a+836>>2],x[a+840>>2])|0}if(c>>>0>1){continue}break}}ga=j+16|0}function qo(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=E(0),g=E(0),h=E(0),i=0;e=ga-32|0;ga=e;B[e+16>>2]=B[b>>2];f=B[b+4>>2];B[e+20>>2]=f;g=B[b+8>>2];x[e+28>>2]=0;B[e+24>>2]=g;h=B[c>>2];x[e+12>>2]=0;B[e+8>>2]=g;B[e+4>>2]=f;B[e>>2]=h;i=e+16|0;ia[x[x[a>>2]+16>>2]](a,i,e,d);f=B[c>>2];B[e+16>>2]=f;B[e+20>>2]=B[b+4>>2];g=B[b+8>>2];x[e+28>>2]=0;B[e+24>>2]=g;B[e>>2]=f;f=B[c+4>>2];x[e+12>>2]=0;B[e+8>>2]=g;B[e+4>>2]=f;ia[x[x[a>>2]+16>>2]](a,i,e,d);B[e+16>>2]=B[c>>2];f=B[c+4>>2];B[e+20>>2]=f;g=B[b+8>>2];x[e+28>>2]=0;B[e+24>>2]=g;h=B[b>>2];x[e+12>>2]=0;B[e+8>>2]=g;B[e+4>>2]=f;B[e>>2]=h;ia[x[x[a>>2]+16>>2]](a,i,e,d);f=B[b>>2];B[e+16>>2]=f;B[e+20>>2]=B[c+4>>2];g=B[b+8>>2];x[e+28>>2]=0;B[e+24>>2]=g;B[e>>2]=f;f=B[b+4>>2];x[e+12>>2]=0;B[e+8>>2]=g;B[e+4>>2]=f;ia[x[x[a>>2]+16>>2]](a,i,e,d);g=B[b>>2];B[e+16>>2]=g;f=B[b+4>>2];B[e+20>>2]=f;h=B[b+8>>2];x[e+28>>2]=0;B[e+24>>2]=h;B[e+4>>2]=f;B[e>>2]=g;g=B[c+8>>2];x[e+12>>2]=0;B[e+8>>2]=g;ia[x[x[a>>2]+16>>2]](a,i,e,d);g=B[c>>2];B[e+16>>2]=g;f=B[b+4>>2];B[e+20>>2]=f;h=B[b+8>>2];x[e+28>>2]=0;B[e+24>>2]=h;B[e+4>>2]=f;B[e>>2]=g;g=B[c+8>>2];x[e+12>>2]=0;B[e+8>>2]=g;ia[x[x[a>>2]+16>>2]](a,i,e,d);g=B[c>>2];B[e+16>>2]=g;f=B[c+4>>2];B[e+20>>2]=f;h=B[b+8>>2];x[e+28>>2]=0;B[e+24>>2]=h;B[e+4>>2]=f;B[e>>2]=g;g=B[c+8>>2];x[e+12>>2]=0;B[e+8>>2]=g;ia[x[x[a>>2]+16>>2]](a,i,e,d);g=B[b>>2];B[e+16>>2]=g;f=B[c+4>>2];B[e+20>>2]=f;h=B[b+8>>2];x[e+28>>2]=0;B[e+24>>2]=h;B[e+4>>2]=f;B[e>>2]=g;g=B[c+8>>2];x[e+12>>2]=0;B[e+8>>2]=g;ia[x[x[a>>2]+16>>2]](a,i,e,d);B[e+16>>2]=B[b>>2];f=B[b+4>>2];B[e+20>>2]=f;g=B[c+8>>2];x[e+28>>2]=0;B[e+24>>2]=g;h=B[c>>2];x[e+12>>2]=0;B[e+8>>2]=g;B[e+4>>2]=f;B[e>>2]=h;ia[x[x[a>>2]+16>>2]](a,i,e,d);f=B[c>>2];B[e+16>>2]=f;B[e+20>>2]=B[b+4>>2];g=B[c+8>>2];x[e+28>>2]=0;B[e+24>>2]=g;B[e>>2]=f;f=B[c+4>>2];x[e+12>>2]=0;B[e+8>>2]=g;B[e+4>>2]=f;ia[x[x[a>>2]+16>>2]](a,i,e,d);B[e+16>>2]=B[c>>2];f=B[c+4>>2];B[e+20>>2]=f;g=B[c+8>>2];x[e+28>>2]=0;B[e+24>>2]=g;h=B[b>>2];x[e+12>>2]=0;B[e+8>>2]=g;B[e+4>>2]=f;B[e>>2]=h;ia[x[x[a>>2]+16>>2]](a,i,e,d);f=B[b>>2];B[e+16>>2]=f;B[e+20>>2]=B[c+4>>2];g=B[c+8>>2];x[e+28>>2]=0;B[e+24>>2]=g;B[e>>2]=f;f=B[b+4>>2];x[e+12>>2]=0;B[e+8>>2]=g;B[e+4>>2]=f;ia[x[x[a>>2]+16>>2]](a,i,e,d);ga=e+32|0}function Xd(a,b,c,d,e,f,g){var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,y=0,z=0;k=ga-48|0;ga=k;h=x[c+8>>2];if(h){p=h;while(1){if(x[p+20>>2]>x[a+100>>2]){j=x[p+12>>2];i=x[j+92>>2];l=x[j+96>>2];h=x[c+88>>2];m=x[j+88>>2];o=x[c+92>>2];j=x[c+96>>2];x[k+44>>2]=-1;j=l-j|0;x[k+40>>2]=j;i=i-o|0;x[k+36>>2]=i;l=m-h|0;x[k+32>>2]=l;m=i;q=i>>31;i=js(i,q,x[e+8>>2],x[e+12>>2]);h=ha;o=l;r=l>>31;l=js(l,r,x[e>>2],x[e+4>>2]);i=l+i|0;h=ha+h|0;h=i>>>0>>0?h+1|0:h;s=j>>31;t=js(j,s,x[e+16>>2],x[e+20>>2]);l=t+i|0;i=ha+h|0;i=l>>>0>>0?i+1|0:i;h=js(x[f+8>>2],x[f+12>>2],m,q);q=ha;o=js(x[f>>2],x[f+4>>2],o,r);m=o+h|0;h=ha+q|0;h=m>>>0>>0?h+1|0:h;u=m;m=js(x[f+16>>2],x[f+20>>2],j,s);j=u+m|0;h=ha+h|0;h=j>>>0>>0?h+1|0:h;m=h;a:{if(!!j&(h|0)>=0|(h|0)>0){x[k+24>>2]=1;o=0;h=-1;break a}if((m|0)<0){x[k+24>>2]=-1;h=j;j=0-j|0;m=0-(((h|0)!=0)+m|0)|0;o=0;h=1;break a}x[k+24>>2]=0;j=0;m=0;o=1;h=0}x[k+8>>2]=j;x[k+12>>2]=m;b:{c:{d:{m=k;if(!l&(i|0)<=0|(i|0)<0){if((i|0)>0|(i|0)>=0){break d}x[k+24>>2]=h;i=0-(((l|0)!=0)+i|0)|0;l=0-l|0}x[m+16>>2]=l;x[k+20>>2]=i;break c}x[k+16>>2]=0;x[k+20>>2]=0;if(o){break b}}if(!n){n=x[k+12>>2];x[g>>2]=x[k+8>>2];x[g+4>>2]=n;x[g+16>>2]=x[k+24>>2];n=x[k+20>>2];x[g+8>>2]=x[k+16>>2];x[g+12>>2]=n;n=p;break b}j=ab(k+8|0,g);if((j|0)<0){n=x[k+12>>2];x[g>>2]=x[k+8>>2];x[g+4>>2]=n;x[g+16>>2]=x[k+24>>2];n=x[k+20>>2];x[g+8>>2]=x[k+16>>2];x[g+12>>2]=n;n=p;break b}if(j){break b}y=n;i=x[n+4>>2];e:{f:{if(x[n>>2]==(p|0)){h=2;if((i|0)!=(p|0)){break f}j=x[p+12>>2];i=x[x[p+8>>2]+12>>2];h=x[i+96>>2];m=x[j+96>>2]-h|0;l=x[n+12>>2];o=x[i+92>>2];q=x[l+92>>2]-o|0;o=x[j+92>>2]-o|0;h=x[l+96>>2]-h|0;r=D(m,q)-D(o,h)|0;n=r;u=r>>31;r=x[d+8>>2];s=x[k+36>>2];t=x[d+4>>2];w=x[k+40>>2];v=D(r,s)-D(t,w)|0;v=js(n,u,v,v>>31);n=ha;i=x[i+88>>2];l=x[l+88>>2]-i|0;u=D(l,o);o=x[j+88>>2]-i|0;j=u-D(o,q)|0;u=j;z=j>>31;q=x[k+32>>2];i=s;s=x[d>>2];j=D(q,t)-D(i,s)|0;t=js(u,z,j,j>>31);i=t+v|0;j=ha+n|0;j=i>>>0>>0?j+1|0:j;n=i;i=D(h,o)-D(l,m)|0;h=i;m=i>>31;i=D(s,w)-D(q,r)|0;l=js(h,m,i,i>>31);i=n+l|0;j=ha+j|0;j=i>>>0>>0?j+1|0:j;h=!!i&(j|0)>=0|(j|0)>0?2:1;break e}h=(i|0)==(p|0)}}n=(h|0)!=2^b?p:y}h=x[c+8>>2]}p=x[p>>2];if((p|0)!=(h|0)){continue}break}}ga=k+48|0;return n}function ud(a,b){var c=0,d=E(0),e=E(0),f=E(0),g=E(0),h=E(0),i=E(0),j=E(0),k=E(0),l=E(0),m=E(0),n=E(0),o=E(0),p=0,q=0,r=E(0),s=E(0),t=E(0);a:{if(y[a+204|0]&2){c=x[a+8>>2];x[a+68>>2]=x[a+4>>2];x[a+72>>2]=c;c=x[a+16>>2];x[a+76>>2]=x[a+12>>2];x[a+80>>2]=c;c=x[a+24>>2];x[a+84>>2]=x[a+20>>2];x[a+88>>2]=c;c=x[a+32>>2];x[a+92>>2]=x[a+28>>2];x[a+96>>2]=c;c=x[a+40>>2];x[a+100>>2]=x[a+36>>2];x[a+104>>2]=c;c=x[a+48>>2];x[a+108>>2]=x[a+44>>2];x[a+112>>2]=c;c=a+52|0;break a}c=x[b+4>>2];x[a+68>>2]=x[b>>2];x[a+72>>2]=c;c=x[b+12>>2];x[a+76>>2]=x[b+8>>2];x[a+80>>2]=c;c=x[b+20>>2];x[a+84>>2]=x[b+16>>2];x[a+88>>2]=c;c=x[b+28>>2];x[a+92>>2]=x[b+24>>2];x[a+96>>2]=c;c=x[b+36>>2];x[a+100>>2]=x[b+32>>2];x[a+104>>2]=c;c=x[b+44>>2];x[a+108>>2]=x[b+40>>2];x[a+112>>2]=c;c=b+48|0}p=x[c+4>>2];x[a+116>>2]=x[c>>2];x[a+120>>2]=p;p=x[c+8>>2];c=x[c+12>>2];q=x[a+400>>2];x[a+156>>2]=x[a+396>>2];x[a+160>>2]=q;q=x[a+392>>2];x[a+148>>2]=x[a+388>>2];x[a+152>>2]=q;x[a+124>>2]=p;x[a+128>>2]=c;c=x[a+376>>2];x[a+132>>2]=x[a+372>>2];x[a+136>>2]=c;c=x[a+384>>2];x[a+140>>2]=x[a+380>>2];x[a+144>>2]=c;c=x[b+12>>2];x[a+12>>2]=x[b+8>>2];x[a+16>>2]=c;c=x[b+4>>2];x[a+4>>2]=x[b>>2];x[a+8>>2]=c;c=x[b+28>>2];x[a+28>>2]=x[b+24>>2];x[a+32>>2]=c;c=x[b+20>>2];x[a+20>>2]=x[b+16>>2];x[a+24>>2]=c;c=x[b+44>>2];x[a+44>>2]=x[b+40>>2];x[a+48>>2]=c;c=x[b+36>>2];x[a+36>>2]=x[b+32>>2];x[a+40>>2]=c;c=x[b+60>>2];x[a+60>>2]=x[b+56>>2];x[a+64>>2]=c;c=x[b+52>>2];x[a+52>>2]=x[b+48>>2];x[a+56>>2]=c;j=B[a+8>>2];k=B[a+12>>2];l=B[a+28>>2];m=B[a+20>>2];n=B[a+24>>2];g=B[a+44>>2];r=B[a+464>>2];h=B[a+36>>2];i=B[a+40>>2];s=B[a+460>>2];o=B[a+4>>2];t=B[a+456>>2];x[a+368>>2]=0;x[a+352>>2]=0;x[a+336>>2]=0;d=E(r*g);e=E(t*h);f=E(s*i);B[a+364>>2]=E(g*d)+E(E(h*e)+E(i*f));B[a+360>>2]=E(l*d)+E(E(m*e)+E(n*f));B[a+356>>2]=E(k*d)+E(E(o*e)+E(j*f));d=E(r*l);e=E(t*m);f=E(s*n);B[a+348>>2]=E(g*d)+E(E(h*e)+E(i*f));B[a+344>>2]=E(l*d)+E(E(m*e)+E(n*f));B[a+340>>2]=E(k*d)+E(E(o*e)+E(j*f));d=g;g=E(k*r);e=h;h=E(o*t);f=i;i=E(j*s);B[a+332>>2]=E(d*g)+E(E(e*h)+E(f*i));B[a+328>>2]=E(l*g)+E(E(m*h)+E(i*n));B[a+324>>2]=E(k*g)+E(E(o*h)+E(j*i))}function on(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=E(0),i=0,j=0,k=E(0),l=0,m=E(0),n=0,o=0;g=ga-16|0;ga=g;x[8462]=x[8462]+1;if(x[a+4>>2]&2){d=x[b+192>>2];h=E(ia[x[x[d>>2]+20>>2]](d,B[8265]));B[g+12>>2]=h;d=x[c+192>>2];k=E(ia[x[x[d>>2]+20>>2]](d,B[8265]));B[g+8>>2]=k;d=h>2];m=B[c+184>>2];h=B[b+184>>2];e=x[a+72>>2];d=x[e+12>>2];a:{b:{if(d){x[e+12>>2]=x[d>>2];x[e+8>>2]=x[e+8>>2]-1;break b}d=0;if(y[a+4|0]&4){break a}x[8456]=x[8456]+1;d=ia[x[8258]](868,16)|0}x[d>>2]=1025;x[d+120>>2]=0;x[d+124>>2]=0;x[d+128>>2]=0;x[d+132>>2]=0;x[d+136>>2]=0;x[d+140>>2]=0;x[d+144>>2]=0;x[d+148>>2]=0;x[d+152>>2]=0;x[d+156>>2]=0;x[d+160>>2]=0;x[d+164>>2]=0;x[d+168>>2]=0;x[d+328>>2]=0;x[d+332>>2]=0;x[d+336>>2]=0;x[d+340>>2]=0;x[d+344>>2]=0;x[d+348>>2]=0;x[d+352>>2]=0;x[d+356>>2]=0;x[d+360>>2]=0;x[d+364>>2]=0;x[d+368>>2]=0;x[d+372>>2]=0;x[d+376>>2]=0;x[d+536>>2]=0;x[d+540>>2]=0;x[d+544>>2]=0;x[d+548>>2]=0;x[d+552>>2]=0;x[d+556>>2]=0;x[d+560>>2]=0;x[d+564>>2]=0;x[d+568>>2]=0;x[d+572>>2]=0;x[d+576>>2]=0;x[d+580>>2]=0;x[d+584>>2]=0;x[d+792>>2]=0;x[d+784>>2]=0;x[d+788>>2]=0;x[d+776>>2]=0;x[d+780>>2]=0;x[d+768>>2]=0;x[d+772>>2]=0;x[d+760>>2]=0;x[d+764>>2]=0;x[d+752>>2]=0;x[d+756>>2]=0;x[d+744>>2]=0;x[d+748>>2]=0;x[d+836>>2]=b;x[d+840>>2]=c;x[d+844>>2]=0;B[d+848>>2]=k;B[d+852>>2]=h>2];x[d+864>>2]=f;c:{if(x[a+16>>2]!=(f|0)){break c}l=f?f<<1:1;if((l|0)<=(f|0)){break c}d:{if(!l){b=0;break d}x[8456]=x[8456]+1;b=ia[x[8258]](l<<2,16)|0;f=x[a+12>>2]}e:{if((f|0)<=0){break e}c=0;if(f>>>0>=4){o=f&-4;while(1){i=c<<2;x[i+b>>2]=x[i+x[a+20>>2]>>2];e=i|4;x[e+b>>2]=x[e+x[a+20>>2]>>2];e=i|8;x[e+b>>2]=x[e+x[a+20>>2]>>2];e=i|12;x[e+b>>2]=x[e+x[a+20>>2]>>2];c=c+4|0;j=j+4|0;if((o|0)!=(j|0)){continue}break}}e=f&3;if(!e){break e}while(1){j=c<<2;x[j+b>>2]=x[j+x[a+20>>2]>>2];c=c+1|0;n=n+1|0;if((e|0)!=(n|0)){continue}break}}c=x[a+20>>2];if(!(!c|!y[a+24|0])){if(c){x[8457]=x[8457]+1;ia[x[8259]](c)}f=x[a+12>>2]}x[a+20>>2]=b;v[a+24|0]=1;x[a+16>>2]=l}x[x[a+20>>2]+(f<<2)>>2]=d;x[a+12>>2]=f+1}ga=g+16|0;return d|0}function fb(a,b,c,d,e){var f=E(0),g=E(0),h=E(0),i=E(0),j=E(0),k=0,l=E(0),m=E(0),n=E(0),o=E(0),p=E(0),q=E(0),r=E(0),s=E(0),t=E(0),u=E(0),w=E(0),z=E(0),A=E(0),C=E(0),D=E(0),F=E(0),G=E(0),H=E(0),I=E(0);k=y[e+16|0]&-16;v[e+16|0]=k;G=B[d+8>>2];m=B[b+8>>2];r=E(G-m);l=B[a+8>>2];f=E(l-m);H=B[d>>2];n=B[b>>2];s=E(H-n);i=B[a>>2];g=E(i-n);I=B[d+4>>2];o=B[b+4>>2];t=E(I-o);p=B[a+4>>2];h=E(p-o);j=E(E(r*f)+E(E(s*g)+E(t*h)));A=B[c+8>>2];u=E(A-m);C=B[c>>2];w=E(C-n);D=B[c+4>>2];z=E(D-o);g=E(E(u*f)+E(E(w*g)+E(z*h)));a:{if(!(!(g<=E(0))|!(j<=E(0)))){a=x[b+4>>2];x[e>>2]=x[b>>2];x[e+4>>2]=a;a=x[b+12>>2];x[e+8>>2]=x[b+8>>2];x[e+12>>2]=a;v[e+16|0]=k|1;g=E(0);f=E(0);h=E(1);break a}f=E(l-A);h=E(i-C);q=E(p-D);F=E(E(r*f)+E(E(s*h)+E(t*q)));h=E(E(u*f)+E(E(w*h)+E(z*q)));if(!(!(h>=E(0))|!(h>=F))){a=x[c+4>>2];x[e>>2]=x[c>>2];x[e+4>>2]=a;a=x[c+12>>2];x[e+8>>2]=x[c+8>>2];x[e+12>>2]=a;v[e+16|0]=k|2;g=E(1);f=E(0);h=E(0);break a}q=E(E(g*F)-E(j*h));b:{if(!(h<=E(0))|!(g>=E(0))){break b}f=E(0);if(!(q<=E(0))){break b}x[e+12>>2]=0;v[e+16|0]=k|3;g=E(g/E(g-h));B[e+8>>2]=m+E(u*g);B[e+4>>2]=o+E(z*g);B[e>>2]=n+E(w*g);h=E(E(1)-g);break a}f=E(l-G);i=E(i-H);p=E(p-I);l=E(E(u*f)+E(E(w*i)+E(z*p)));f=E(E(r*f)+E(E(s*i)+E(t*p)));if(!(!(f>=E(0))|!(f>=l))){a=x[d+4>>2];x[e>>2]=x[d>>2];x[e+4>>2]=a;a=x[d+12>>2];x[e+8>>2]=x[d+8>>2];x[e+12>>2]=a;v[e+16|0]=k|4;f=E(1);g=E(0);h=E(0);break a}i=E(E(l*j)-E(f*g));c:{if(!(f<=E(0))|!(j>=E(0))){break c}g=E(0);if(!(i<=E(0))){break c}x[e+12>>2]=0;v[e+16|0]=k|5;f=E(j/E(j-f));B[e+8>>2]=m+E(r*f);B[e+4>>2]=o+E(t*f);B[e>>2]=n+E(s*f);h=E(E(1)-f);break a}d:{j=E(E(h*f)-E(F*l));if(!(j<=E(0))){break d}g=E(F-h);if(!(g>=E(0))){break d}f=E(l-f);if(!(f>=E(0))){break d}x[e+12>>2]=0;v[e+16|0]=k|6;f=E(g/E(g+f));B[e+8>>2]=A+E(E(G-A)*f);B[e+4>>2]=D+E(E(I-D)*f);B[e>>2]=C+E(E(H-C)*f);g=E(E(1)-f);h=E(0);break a}x[e+12>>2]=0;v[e+16|0]=k|7;g=E(E(1)/E(q+E(j+i)));f=E(q*g);g=E(i*g);B[e+8>>2]=E(r*f)+E(m+E(u*g));B[e+4>>2]=E(t*f)+E(o+E(z*g));B[e>>2]=E(s*f)+E(n+E(w*g));h=E(E(E(1)-g)-f)}B[e+20>>2]=h;x[e+32>>2]=0;B[e+28>>2]=f;B[e+24>>2]=g}function _h(a){a=a|0;var b=0,c=E(0),d=0,e=0,f=E(0),g=E(0),h=E(0),i=E(0),j=E(0),k=E(0),l=E(0),m=0,n=E(0),o=E(0),p=E(0),q=E(0),r=E(0),s=0,t=0,u=E(0),v=0,w=E(0),y=E(0),z=E(0),A=E(0),C=E(0),F=E(0),G=E(0),H=E(0),I=E(0),J=E(0),K=E(0),L=E(0),M=E(0),N=E(0),O=E(0),P=E(0),Q=E(0),R=E(0),S=E(0),T=E(0),U=E(0),V=0;x[a+36>>2]=0;m=ga-16|0;b=m+8|0;x[b>>2]=0;x[b+4>>2]=0;x[m>>2]=0;x[m+4>>2]=0;d=x[a+32>>2];e=x[a+28>>2];while(1){v=(s<<2)+m|0;x[v>>2]=1065353216;T=B[d+404>>2];U=B[e+404>>2];l=B[e+56>>2];n=B[e+20>>2];w=B[e+24>>2];y=B[e+28>>2];z=B[e+60>>2];A=B[e+44>>2];C=B[e+36>>2];F=B[e+40>>2];r=B[e+52>>2];j=B[a+308>>2];G=B[e+12>>2];f=B[a+300>>2];H=B[e+4>>2];o=B[a+304>>2];I=B[e+8>>2];g=B[d+56>>2];J=B[d+20>>2];p=B[d+24>>2];q=B[d+28>>2];h=B[d+52>>2];K=B[d+12>>2];L=B[d+4>>2];M=B[d+8>>2];N=B[d+60>>2];i=B[a+324>>2];O=B[d+44>>2];k=B[a+316>>2];P=B[d+36>>2];c=B[a+320>>2];Q=B[d+40>>2];V=x[m+4>>2];b=D(s,84)+a|0;t=b+48|0;x[t>>2]=x[m>>2];x[t+4>>2]=V;t=x[m+12>>2];x[b+56>>2]=x[m+8>>2];x[b+60>>2]=t;x[b+92>>2]=0;x[b+76>>2]=0;R=E(E(g+E(E(i*q)+E(E(k*J)+E(p*c))))-g);g=B[b+48>>2];S=E(E(h+E(E(i*K)+E(E(k*L)+E(M*c))))-h);h=B[b+52>>2];u=E(E(R*g)-E(S*h));c=E(E(N+E(E(i*O)+E(E(k*P)+E(Q*c))))-N);i=B[b+56>>2];k=E(E(c*h)-E(R*i));c=E(E(S*i)-E(c*g));q=E(E(O*u)+E(E(K*k)+E(q*c)));B[b+88>>2]=q;p=E(E(Q*u)+E(E(M*k)+E(p*c)));B[b+84>>2]=p;k=E(E(P*u)+E(E(L*k)+E(J*c)));B[b+80>>2]=k;r=E(E(r+E(E(j*G)+E(E(f*H)+E(I*o))))-r);l=E(E(l+E(E(j*y)+E(E(f*n)+E(w*o))))-l);c=E(E(h*r)-E(g*l));f=E(E(z+E(E(j*A)+E(E(f*C)+E(F*o))))-z);j=E(E(l*i)-E(h*f));f=E(E(f*g)-E(i*r));o=E(E(A*c)+E(E(G*j)+E(y*f)));B[b+72>>2]=o;i=E(E(F*c)+E(E(I*j)+E(w*f)));B[b+68>>2]=i;j=E(E(C*c)+E(E(H*j)+E(n*f)));B[b- -64>>2]=j;f=B[e+464>>2];c=B[e+460>>2];g=B[e+456>>2];x[b+108>>2]=0;g=E(j*g);B[b+96>>2]=g;c=E(i*c);B[b+100>>2]=c;f=E(o*f);B[b+104>>2]=f;h=B[d+464>>2];l=B[d+460>>2];n=B[d+456>>2];x[b+124>>2]=0;n=E(k*n);B[b+112>>2]=n;l=E(p*l);B[b+116>>2]=l;h=E(q*h);B[b+120>>2]=h;B[b+128>>2]=E(T+E(U+E(E(f*o)+E(E(g*j)+E(i*c)))))+E(E(h*q)+E(E(n*k)+E(p*l)));x[v>>2]=0;s=s+1|0;if((s|0)!=3){continue}break}}function Yk(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0;B[b+16>>2]=B[a+20>>2];B[b+20>>2]=B[a+24>>2];B[b+24>>2]=B[a+28>>2];B[b+28>>2]=B[a+32>>2];B[b>>2]=B[a+4>>2];B[b+4>>2]=B[a+8>>2];B[b+8>>2]=B[a+12>>2];B[b+12>>2]=B[a+16>>2];B[b+32>>2]=B[a+36>>2];B[b+36>>2]=B[a+40>>2];B[b+40>>2]=B[a+44>>2];B[b+44>>2]=B[a+48>>2];x[b+48>>2]=x[a+56>>2];x[b+52>>2]=y[a+60|0];d=x[a+88>>2];x[b+56>>2]=d;a:{if(!d){x[b+64>>2]=0;break a}d=ia[x[x[c>>2]+28>>2]](c,x[a+96>>2])|0;x[b+64>>2]=d;if(!d){break a}g=x[a+88>>2];h=ia[x[x[c>>2]+16>>2]](c,48,g)|0;if((g|0)>0){d=x[h+8>>2];while(1){e=x[a+96>>2]+(f<<6)|0;B[d+16>>2]=B[e+16>>2];B[d+20>>2]=B[e+20>>2];B[d+24>>2]=B[e+24>>2];B[d+28>>2]=B[e+28>>2];B[d>>2]=B[e>>2];B[d+4>>2]=B[e+4>>2];B[d+8>>2]=B[e+8>>2];B[d+12>>2]=B[e+12>>2];x[d+32>>2]=x[e+32>>2];x[d+36>>2]=x[e+36>>2];e=x[e+40>>2];x[d+44>>2]=0;x[d+40>>2]=e;d=d+48|0;f=f+1|0;if((g|0)!=(f|0)){continue}break}}ia[x[x[c>>2]+20>>2]](c,h,9036,1497453121,x[a+96>>2])}d=x[a+128>>2];x[b+60>>2]=d;b:{if(!d){x[b+68>>2]=0;break b}d=ia[x[x[c>>2]+28>>2]](c,x[a+136>>2])|0;x[b+68>>2]=d;if(!d){break b}f=0;h=x[a+128>>2];i=ia[x[x[c>>2]+16>>2]](c,16,h)|0;c:{if((h|0)<=0){g=x[a+136>>2];break c}g=x[a+136>>2];d=x[i+8>>2];while(1){e=(f<<4)+g|0;x[d+12>>2]=x[e+12>>2];w[d+6>>1]=z[e+6>>1];w[d+8>>1]=z[e+8>>1];w[d+10>>1]=z[e+10>>1];w[d>>1]=z[e>>1];w[d+2>>1]=z[e+2>>1];w[d+4>>1]=z[e+4>>1];d=d+16|0;f=f+1|0;if((h|0)!=(f|0)){continue}break}}ia[x[x[c>>2]+20>>2]](c,i,9013,1497453121,g)}x[b+76>>2]=x[a+144>>2];d=x[a+152>>2];x[b+80>>2]=d;if(!d){x[b+72>>2]=0;return 8705}d=b;b=ia[x[x[c>>2]+28>>2]](c,x[a+160>>2])|0;x[d+72>>2]=b;if(b){f=0;e=x[a+152>>2];g=ia[x[x[c>>2]+16>>2]](c,20,e)|0;d:{if((e|0)<=0){a=x[a+160>>2];break d}a=x[a+160>>2];d=x[g+8>>2];while(1){b=(f<<5)+a|0;w[d+14>>1]=z[b+6>>1];w[d+16>>1]=z[b+8>>1];w[d+18>>1]=z[b+10>>1];w[d+8>>1]=z[b>>1];w[d+10>>1]=z[b+2>>1];w[d+12>>1]=z[b+4>>1];x[d>>2]=x[b+12>>2];x[d+4>>2]=x[b+16>>2];d=d+20|0;f=f+1|0;if((e|0)!=(f|0)){continue}break}}ia[x[x[c>>2]+20>>2]](c,g,8773,1497453121,a)}return 8705}function sk(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=E(0),j=E(0),k=E(0),l=E(0),m=E(0),n=E(0);c=ga-144|0;ga=c;if(x[a+24>>2]>0){f=c- -64|0;while(1){g=D(h,80);d=g+x[a+32>>2]|0;e=x[d+12>>2];x[c+24>>2]=x[d+8>>2];x[c+28>>2]=e;e=x[d+4>>2];x[c+16>>2]=x[d>>2];x[c+20>>2]=e;e=x[d+28>>2];x[c+40>>2]=x[d+24>>2];x[c+44>>2]=e;e=x[d+20>>2];x[c+32>>2]=x[d+16>>2];x[c+36>>2]=e;e=x[d+44>>2];x[c+56>>2]=x[d+40>>2];x[c+60>>2]=e;e=x[d+36>>2];x[c+48>>2]=x[d+32>>2];x[c+52>>2]=e;e=x[d+60>>2];x[f+8>>2]=x[d+56>>2];x[f+12>>2]=e;e=x[d+52>>2];x[f>>2]=x[d+48>>2];x[f+4>>2]=e;d=x[d+64>>2];d=ia[x[x[d>>2]+28>>2]](d)|0;e=x[d+12>>2];x[c+8>>2]=x[d+8>>2];x[c+12>>2]=e;e=x[d+4>>2];x[c>>2]=x[d>>2];x[c+4>>2]=e;i=B[a+88>>2];j=B[b+4>>2];k=B[a+84>>2];l=B[b>>2];B[c+8>>2]=E(B[c+8>>2]*B[b+8>>2])/B[a+92>>2];x[c+12>>2]=0;B[c>>2]=E(l*B[c>>2])/k;B[c+4>>2]=E(j*B[c+4>>2])/i;d=x[(x[a+32>>2]+g|0)+64>>2];ia[x[x[d>>2]+24>>2]](d,c);i=B[a+84>>2];j=B[b>>2];k=B[a+88>>2];l=B[b+4>>2];m=B[a+92>>2];n=B[b+8>>2];x[c+76>>2]=0;B[c+72>>2]=E(n*B[c+72>>2])/m;B[c+68>>2]=E(l*B[c+68>>2])/k;B[c+64>>2]=E(j*B[c+64>>2])/i;e=x[c+20>>2];d=x[a+32>>2]+g|0;x[d>>2]=x[c+16>>2];x[d+4>>2]=e;e=x[c+28>>2];x[d+8>>2]=x[c+24>>2];x[d+12>>2]=e;e=x[c+44>>2];x[d+24>>2]=x[c+40>>2];x[d+28>>2]=e;e=x[c+36>>2];x[d+16>>2]=x[c+32>>2];x[d+20>>2]=e;e=x[c+60>>2];x[d+40>>2]=x[c+56>>2];x[d+44>>2]=e;e=x[c+52>>2];x[d+32>>2]=x[c+48>>2];x[d+36>>2]=e;e=x[f+12>>2];x[d+56>>2]=x[f+8>>2];x[d+60>>2]=e;e=x[f+4>>2];x[d+48>>2]=x[f>>2];x[d+52>>2]=e;if(x[a+72>>2]){d=x[(x[a+32>>2]+g|0)+64>>2];ia[x[x[d>>2]+8>>2]](d,c+16|0,c+128|0,c+112|0);d=x[c+140>>2];x[c+88>>2]=x[c+136>>2];x[c+92>>2]=d;d=x[c+132>>2];x[c+80>>2]=x[c+128>>2];x[c+84>>2]=d;d=x[c+124>>2];x[c+104>>2]=x[c+120>>2];x[c+108>>2]=d;d=x[c+116>>2];x[c+96>>2]=x[c+112>>2];x[c+100>>2]=d;Pc(x[a+72>>2],x[(x[a+32>>2]+g|0)+76>>2],c+80|0)}h=h+1|0;if((h|0)>2]){continue}break}}d=x[b+4>>2];x[a+84>>2]=x[b>>2];x[a+88>>2]=d;d=x[b+12>>2];x[a+92>>2]=x[b+8>>2];x[a+96>>2]=d;ia[x[x[a>>2]+68>>2]](a);ga=c+144|0}function uo(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=E(0),g=E(0),h=E(0),i=E(0),j=E(0),k=E(0),l=E(0),m=E(0),n=E(0);e=ga-32|0;ga=e;i=B[b>>2];f=B[c>>2];j=B[b+4>>2];g=B[c+4>>2];k=B[b+8>>2];h=B[c+8>>2];x[e+28>>2]=0;x[e+12>>2]=0;l=E(E(h+k)*E(.5));h=E(E(h-k)*E(.5));k=E(l+h);B[e+24>>2]=k;m=E(E(g+j)*E(.5));g=E(E(g-j)*E(.5));j=E(m+g);B[e+20>>2]=j;n=E(E(f+i)*E(.5));f=E(E(f-i)*E(.5));i=E(n+f);B[e+16>>2]=i;B[e+8>>2]=k;B[e+4>>2]=j;f=E(n-f);B[e>>2]=f;b=e+16|0;ia[x[x[a>>2]+16>>2]](a,b,e,d);B[e+24>>2]=k;B[e+20>>2]=j;B[e+16>>2]=f;x[e+28>>2]=0;x[e+12>>2]=0;B[e+8>>2]=k;g=E(m-g);B[e+4>>2]=g;B[e>>2]=f;ia[x[x[a>>2]+16>>2]](a,b,e,d);B[e+24>>2]=k;B[e+20>>2]=g;B[e+16>>2]=f;x[e+28>>2]=0;x[e+12>>2]=0;h=E(l-h);B[e+8>>2]=h;B[e+4>>2]=g;B[e>>2]=f;ia[x[x[a>>2]+16>>2]](a,b,e,d);B[e+24>>2]=h;B[e+20>>2]=g;B[e+16>>2]=i;x[e+28>>2]=0;x[e+12>>2]=0;B[e+8>>2]=h;B[e+4>>2]=g;B[e>>2]=f;ia[x[x[a>>2]+16>>2]](a,b,e,d);B[e+24>>2]=h;B[e+20>>2]=g;B[e+16>>2]=f;x[e+28>>2]=0;x[e+12>>2]=0;B[e+8>>2]=h;B[e+4>>2]=j;B[e>>2]=f;ia[x[x[a>>2]+16>>2]](a,b,e,d);B[e+24>>2]=h;B[e+20>>2]=j;B[e+16>>2]=f;x[e+28>>2]=0;x[e+12>>2]=0;B[e+8>>2]=k;B[e+4>>2]=j;B[e>>2]=f;ia[x[x[a>>2]+16>>2]](a,b,e,d);B[e+24>>2]=h;B[e+20>>2]=j;B[e+16>>2]=f;x[e+28>>2]=0;x[e+12>>2]=0;B[e+8>>2]=h;B[e+4>>2]=j;B[e>>2]=i;ia[x[x[a>>2]+16>>2]](a,b,e,d);B[e+24>>2]=h;B[e+20>>2]=j;B[e+16>>2]=i;x[e+28>>2]=0;x[e+12>>2]=0;B[e+8>>2]=h;B[e+4>>2]=g;B[e>>2]=i;ia[x[x[a>>2]+16>>2]](a,b,e,d);B[e+24>>2]=h;B[e+20>>2]=g;B[e+16>>2]=i;x[e+28>>2]=0;x[e+12>>2]=0;B[e+8>>2]=k;B[e+4>>2]=g;B[e>>2]=i;ia[x[x[a>>2]+16>>2]](a,b,e,d);B[e+24>>2]=k;B[e+20>>2]=g;B[e+16>>2]=f;x[e+28>>2]=0;x[e+12>>2]=0;B[e+8>>2]=k;B[e+4>>2]=g;B[e>>2]=i;ia[x[x[a>>2]+16>>2]](a,b,e,d);B[e+24>>2]=k;B[e+20>>2]=g;B[e+16>>2]=i;x[e+28>>2]=0;x[e+12>>2]=0;B[e+8>>2]=k;B[e+4>>2]=j;B[e>>2]=i;ia[x[x[a>>2]+16>>2]](a,b,e,d);B[e+24>>2]=k;B[e+20>>2]=j;B[e+16>>2]=i;x[e+28>>2]=0;x[e+12>>2]=0;B[e+8>>2]=h;B[e+4>>2]=j;B[e>>2]=i;ia[x[x[a>>2]+16>>2]](a,b,e,d);ga=e+32|0}function nm(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=E(0),h=0,i=0,j=E(0),k=E(0),l=E(0),m=E(0),n=E(0),o=E(0),p=E(0),q=E(0),r=E(0),s=0,t=E(0),u=E(0),v=E(0),w=E(0),z=E(0),A=E(0),C=E(0),D=E(0),F=E(0),G=E(0),H=E(0),I=E(0),J=E(0),K=E(0),L=0,M=E(0);L=ga-16|0;ga=L;ia[x[8262]](5934);f=y[a+76|0];s=f?b:c;h=x[s+4>>2];a:{if(x[h+4>>2]-21>>>0>8){break a}i=f?c:b;if(x[x[i+4>>2]+4>>2]>19){break a}M=E(ia[x[x[h>>2]+48>>2]](h));x[e+4>>2]=x[a+72>>2];c=ga+-64|0;ga=c;b=a+8|0;B[b+56>>2]=M;x[b+52>>2]=d;x[b+40>>2]=s;x[b+36>>2]=i;x[b+44>>2]=e;d=x[s+12>>2];t=B[d+52>>2];u=B[d+56>>2];f=x[i+12>>2];v=B[f+52>>2];w=B[f+56>>2];g=B[d+20>>2];j=B[d+36>>2];z=B[f+20>>2];A=B[f+36>>2];C=B[f+24>>2];k=B[d+24>>2];D=B[f+40>>2];l=B[d+40>>2];F=B[f+32>>2];m=B[d+32>>2];G=B[f>>2];n=B[d>>2];H=B[f+16>>2];o=B[d+16>>2];p=B[d+48>>2];I=B[f+48>>2];q=B[d+4>>2];J=B[f+4>>2];K=B[f+8>>2];r=B[d+8>>2];x[c+60>>2]=0;x[c+44>>2]=0;x[c+28>>2]=0;B[c+40>>2]=E(D*l)+E(E(K*r)+E(k*C));B[c+36>>2]=E(A*l)+E(E(J*r)+E(k*z));B[c+24>>2]=E(D*j)+E(E(K*q)+E(g*C));B[c+20>>2]=E(A*j)+E(E(J*q)+E(g*z));p=E(-p);B[c+56>>2]=E(E(E(r*p)-E(k*t))-E(l*u))+E(E(w*l)+E(E(I*r)+E(k*v)));B[c+52>>2]=E(E(E(q*p)-E(g*t))-E(j*u))+E(E(w*j)+E(E(I*q)+E(g*v)));x[c+12>>2]=0;B[c>>2]=E(F*m)+E(E(G*n)+E(o*H));B[c+32>>2]=E(F*l)+E(E(G*r)+E(k*H));B[c+16>>2]=E(F*j)+E(E(G*q)+E(g*H));B[c+8>>2]=E(D*m)+E(E(K*n)+E(o*C));B[c+4>>2]=E(A*m)+E(E(J*n)+E(o*z));B[c+48>>2]=E(E(E(n*p)-E(o*t))-E(m*u))+E(E(w*m)+E(E(I*n)+E(o*v)));d=x[i+4>>2];ia[x[x[d>>2]+8>>2]](d,c,b+4|0,b+20|0);g=E(B[e+32>>2]+M);B[b+20>>2]=g+B[b+20>>2];B[b+24>>2]=g+B[b+24>>2];B[b+28>>2]=g+B[b+28>>2];B[b+4>>2]=B[b+4>>2]-g;B[b+8>>2]=B[b+8>>2]-g;B[b+12>>2]=B[b+12>>2]-g;ga=c- -64|0;c=x[i+8>>2];d=x[a+72>>2];x[d+840>>2]=x[s+8>>2];x[d+836>>2]=c;ia[x[x[h>>2]+64>>2]](h,b,a+12|0,a+28|0);b=x[e+4>>2];if(x[b+844>>2]){d=x[b+836>>2];f=x[x[e+8>>2]+8>>2];c=(d|0)==(f|0);h=b;b=x[x[e+12>>2]+8>>2];Ja(h,(c?d:b)+4|0,(c?b:f)+4|0)}x[a+44>>2]=0;x[a+48>>2]=0}ia[x[8263]]();ga=L+16|0}function wk(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;f=ga-80|0;ga=f;x[a+76>>2]=x[a+76>>2]+1;d=x[a+24>>2];if((d|0)>0){g=f- -64|0;h=f+48|0;i=f+32|0;j=f+16|0;l=d;while(1){k=x[a+32>>2];m=l-1|0;n=D(m,80);c=k+n|0;if(x[c+64>>2]==(b|0)){x[a+76>>2]=x[a+76>>2]+1;e=x[a+72>>2];if(e){Pb(e,x[c+76>>2]);k=x[a+32>>2];d=x[a+24>>2]}c=k+n|0;e=c+8|0;o=x[e+4>>2];x[f+8>>2]=x[e>>2];x[f+12>>2]=o;e=x[c+4>>2];x[f>>2]=x[c>>2];x[f+4>>2]=e;e=x[c+28>>2];x[j+8>>2]=x[c+24>>2];x[j+12>>2]=e;e=x[c+20>>2];x[j>>2]=x[c+16>>2];x[j+4>>2]=e;e=x[c+44>>2];x[i+8>>2]=x[c+40>>2];x[i+12>>2]=e;e=x[c+36>>2];x[i>>2]=x[c+32>>2];x[i+4>>2]=e;e=x[c+60>>2];x[h+8>>2]=x[c+56>>2];x[h+12>>2]=e;e=x[c+52>>2];x[h>>2]=x[c+48>>2];x[h+4>>2]=e;e=x[c+76>>2];x[g+8>>2]=x[c+72>>2];x[g+12>>2]=e;e=x[c+68>>2];x[g>>2]=x[c+64>>2];x[g+4>>2]=e;e=k;k=D(d,80)-80|0;d=e+k|0;e=x[d+4>>2];x[c>>2]=x[d>>2];x[c+4>>2]=e;e=x[d+12>>2];x[c+8>>2]=x[d+8>>2];x[c+12>>2]=e;e=x[d+20>>2];x[c+16>>2]=x[d+16>>2];x[c+20>>2]=e;e=x[d+28>>2];x[c+24>>2]=x[d+24>>2];x[c+28>>2]=e;e=x[d+36>>2];x[c+32>>2]=x[d+32>>2];x[c+36>>2]=e;e=x[d+44>>2];x[c+40>>2]=x[d+40>>2];x[c+44>>2]=e;e=x[d+60>>2];x[c+56>>2]=x[d+56>>2];x[c+60>>2]=e;e=x[d+52>>2];x[c+48>>2]=x[d+48>>2];x[c+52>>2]=e;e=x[d+68>>2];x[c+64>>2]=x[d+64>>2];x[c+68>>2]=e;e=x[d+76>>2];x[c+72>>2]=x[d+72>>2];x[c+76>>2]=e;d=x[f+4>>2];c=k+x[a+32>>2]|0;x[c>>2]=x[f>>2];x[c+4>>2]=d;d=x[f+12>>2];x[c+8>>2]=x[f+8>>2];x[c+12>>2]=d;d=x[j+4>>2];x[c+16>>2]=x[j>>2];x[c+20>>2]=d;d=x[j+12>>2];x[c+24>>2]=x[j+8>>2];x[c+28>>2]=d;d=x[i+12>>2];x[c+40>>2]=x[i+8>>2];x[c+44>>2]=d;d=x[i+4>>2];x[c+32>>2]=x[i>>2];x[c+36>>2]=d;d=x[h+4>>2];x[c+48>>2]=x[h>>2];x[c+52>>2]=d;d=x[h+12>>2];x[c+56>>2]=x[h+8>>2];x[c+60>>2]=d;d=x[g+4>>2];x[c+64>>2]=x[g>>2];x[c+68>>2]=d;d=x[g+12>>2];x[c+72>>2]=x[g+8>>2];x[c+76>>2]=d;if(x[a+72>>2]){x[x[(x[a+32>>2]+n|0)+76>>2]+36>>2]=m}d=x[a+24>>2]-1|0;x[a+24>>2]=d}c=l>>>0>1;l=m;if(c){continue}break}}ia[x[x[a>>2]+68>>2]](a);ga=f+80|0}function oe(a,b,c,d,e,f){var g=0,h=0,i=E(0),j=E(0),k=E(0),l=E(0),m=E(0),n=E(0),o=E(0),p=E(0),q=0,r=E(0),s=E(0),t=0,u=E(0),v=E(0),w=E(0),y=0,z=0,A=E(0),C=E(0),D=E(0),F=0,G=0,H=0,I=0,J=0,K=0;g=ga-32|0;ga=g;if(x[a+56>>2]>0){n=B[d+8>>2];o=B[c+8>>2];j=E(n-o);p=B[d>>2];l=B[c>>2];k=E(p-l);m=B[d+4>>2];i=B[c+4>>2];r=E(m-i);s=E(E(1)/E(M(E(E(j*j)+E(E(k*k)+E(r*r))))));u=E(j*s);v=E(u*j);j=E(k*s);w=E(j*k);k=E(r*s);r=E(v+E(w+E(r*k)));s=E((n>o?n:o)+B[f+8>>2]);v=E((i>2]);w=E((l>2]);A=E((n>2]);C=E((i>m?m:i)+B[e+4>>2]);D=E((l>p?p:l)+B[e>>2]);d=x[a+96>>2];n=u==E(0)?E(0xde0b6b000000000):E(E(1)/u);h=n>2];x[g>>2]=x[d>>2];x[g+4>>2]=h;h=x[d+12>>2];x[g+8>>2]=x[d+8>>2];x[g+12>>2]=h;h=x[d+28>>2];x[g+24>>2]=x[d+24>>2];x[g+28>>2]=h;h=x[d+20>>2];x[g+16>>2]=x[d+16>>2];x[g+20>>2]=h;B[g>>2]=B[g>>2]-B[f>>2];B[g+4>>2]=B[g+4>>2]-B[f+4>>2];B[g+8>>2]=B[g+8>>2]-B[f+8>>2];B[g+16>>2]=B[g+16>>2]-B[e>>2];B[g+20>>2]=B[g+20>>2]-B[e+4>>2];B[g+24>>2]=B[g+24>>2]-B[e+8>>2];h=0;a:{if(B[d+16>>2]>2]>w){break a}h=1}q=0;b:{c:{d:{e:{f:{if((B[d+24>>2]>2]?q:h)^1|B[d+4>>2]>v|B[d+20>>2]>2];l=E(p*E(B[J>>2]-j));i=B[c+4>>2];m=E(o*E(B[I>>2]-i));if(l>m){break f}i=E(o*E(B[G>>2]-i));j=E(p*E(B[K>>2]-j));if(i>j){break f}l=i>l?i:l;k=B[c+8>>2];i=E(n*E(B[H>>2]-k));if(l>i){break f}k=E(n*E(B[F>>2]-k));m=j>m?m:j;if(k>m){break f}z=x[d+32>>2];q=(z|0)==-1;h=r>(k>l?k:l)&(iE(0);if(!h|(z|0)!=-1){break e}ia[x[x[b>>2]+8>>2]](b,x[d+36>>2],x[d+40>>2]);break d}q=x[d+32>>2]==-1;h=0}if(q){break d}if(!h){break c}}t=t+1|0;d=d- -64|0;break b}h=x[d+32>>2];t=h+t|0;d=(h<<6)+d|0}y=y+1|0;if(x[a+56>>2]>(t|0)){continue}break}}if(x[8470]<(y|0)){x[8470]=y}ga=g+32|0}function $r(){var a=0,b=0,c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;x[8456]=x[8456]+1;b=ia[x[8258]](172,16)|0;x[b+4>>2]=1065353216;x[b+8>>2]=1065353216;x[b+48>>2]=0;v[b+36|0]=1;x[b+12>>2]=1065353216;x[b+16>>2]=0;x[b+32>>2]=0;x[b+24>>2]=0;x[b+28>>2]=0;v[b+100|0]=1;x[b>>2]=22040;x[b+96>>2]=0;v[b+120|0]=1;x[b+88>>2]=0;x[b+92>>2]=0;x[b+116>>2]=0;v[b+140|0]=1;x[b+108>>2]=0;x[b+112>>2]=0;x[b+136>>2]=0;v[b+160|0]=1;x[b+128>>2]=0;x[b+132>>2]=0;x[b+168>>2]=0;v[b+164|0]=1;x[b+148>>2]=0;x[b+152>>2]=0;x[b+156>>2]=0;v[b+165|0]=1;x[8456]=x[8456]+1;f=ia[x[8258]](32,16)|0;h=x[b+24>>2];a:{if((h|0)<=0){break a}if((h|0)!=1){j=h&-2;while(1){e=d<<5;c=f+e|0;a=x[b+32>>2]+e|0;g=x[a+4>>2];x[c>>2]=x[a>>2];x[c+4>>2]=g;g=x[a+28>>2];x[c+24>>2]=x[a+24>>2];x[c+28>>2]=g;g=x[a+20>>2];x[c+16>>2]=x[a+16>>2];x[c+20>>2]=g;g=x[a+12>>2];x[c+8>>2]=x[a+8>>2];x[c+12>>2]=g;a=e|32;c=a+f|0;a=a+x[b+32>>2]|0;e=x[a+4>>2];x[c>>2]=x[a>>2];x[c+4>>2]=e;e=x[a+12>>2];x[c+8>>2]=x[a+8>>2];x[c+12>>2]=e;e=x[a+20>>2];x[c+16>>2]=x[a+16>>2];x[c+20>>2]=e;e=x[a+28>>2];x[c+24>>2]=x[a+24>>2];x[c+28>>2]=e;d=d+2|0;i=i+2|0;if((i|0)!=(j|0)){continue}break}}if(!(h&1)){break a}a=d<<5;d=a+f|0;a=a+x[b+32>>2]|0;c=x[a+4>>2];x[d>>2]=x[a>>2];x[d+4>>2]=c;c=x[a+28>>2];x[d+24>>2]=x[a+24>>2];x[d+28>>2]=c;c=x[a+20>>2];x[d+16>>2]=x[a+16>>2];x[d+20>>2]=c;c=x[a+12>>2];x[d+8>>2]=x[a+8>>2];x[d+12>>2]=c}a=x[b+32>>2];if(!(a?!a|!y[b+36|0]:1)){x[8457]=x[8457]+1;ia[x[8259]](a)}x[b+32>>2]=f;v[b+36|0]=1;x[b+28>>2]=1;a=f+(x[b+24>>2]<<5)|0;x[a+24>>2]=2;x[a+28>>2]=0;x[a+16>>2]=0;x[a+20>>2]=16;x[a+8>>2]=12;x[a+12>>2]=0;x[a>>2]=0;x[a+4>>2]=0;x[b+24>>2]=x[b+24>>2]+1;c=y[b+164|0];f=x[(c?b+128|0:b+148|0)>>2];a=x[b+32>>2];x[a+24>>2]=c?2:3;x[a+4>>2]=0;d=12;x[a+8>>2]=c?12:6;x[a>>2]=(f|0)/3;b:{if(y[b+165|0]){d=16;c=x[b+88>>2];break b}c=x[b+108>>2]/3|0}x[a+20>>2]=d;x[a+16>>2]=0;x[a+12>>2]=c;return b|0}function Qa(a){var b=0,c=0,d=0,e=0,f=0,g=0,h=0,i=E(0),j=E(0),k=E(0),l=E(0),m=E(0),n=0,o=0,p=0,q=0,r=E(0),s=E(0);c=ga+-64|0;ga=c;b=x[a+8>>2];g=x[a+4>>2];d=c+48|0;e=c+32|0;ia[x[x[b>>2]+8>>2]](b,g+4|0,d,e);b=x[a+12>>2];f=x[b+68>>2];ia[x[x[f>>2]+16>>2]](f,x[x[a+4>>2]+188>>2],d,e,x[b+24>>2]);d=x[a+12>>2];b=x[d+24>>2];ia[x[x[b>>2]+32>>2]](b,x[x[a+4>>2]+344>>2],d+28|0,b);x[c+24>>2]=0;x[c+16>>2]=0;x[c+20>>2]=0;v[c+28|0]=1;b=x[x[a+4>>2]+344>>2];a:{if((ia[x[x[b>>2]+36>>2]](b)|0)<=0){break a}while(1){d=x[c+16>>2];b:{if((d|0)>=0){break b}if(x[c+20>>2]<0){b=x[c+24>>2];if(!(b?!b|!y[c+28|0]:1)){x[8457]=x[8457]+1;ia[x[8259]](b)}v[c+28|0]=1;x[c+20>>2]=0;x[c+24>>2]=0}e=0;b=d;f=0-b&3;if(f){while(1){x[x[c+24>>2]+(b<<2)>>2]=0;b=b+1|0;e=e+1|0;if((f|0)!=(e|0)){continue}break}}if(d>>>0>4294967292){break b}while(1){d=b<<2;x[d+x[c+24>>2]>>2]=0;x[(d+x[c+24>>2]|0)+4>>2]=0;x[(d+x[c+24>>2]|0)+8>>2]=0;x[(d+x[c+24>>2]|0)+12>>2]=0;b=b+4|0;if(b){continue}break}}x[c+16>>2]=0;b=x[x[a+4>>2]+344>>2];b=x[(ia[x[x[b>>2]+28>>2]](b)|0)+12>>2]+(h<<4)|0;d=x[x[x[b+4>>2]>>2]+188>>2];e=x[x[x[b>>2]>>2]+188>>2];c:{if(!(x[d+8>>2]&x[e+4>>2])|!(x[e+8>>2]&x[d+4>>2])){break c}b=x[b+8>>2];if(b){ia[x[x[b>>2]+16>>2]](b,c+12|0)}n=x[c+16>>2];if((n|0)<=0){break c}p=x[a+4>>2];d=0;q=x[c+24>>2];while(1){f=x[(d<<2)+q>>2];o=x[f+844>>2];if((o|0)>0){i=x[f+836>>2]==(p|0)?E(-1):E(1);j=B[g+60>>2];k=B[g+56>>2];l=B[g+52>>2];b=0;while(1){e=f+D(b,208)|0;r=B[e+68>>2];s=B[e+72>>2];m=B[e+84>>2];j=E(E(m*E(i*B[e+76>>2]))+j);B[g+60>>2]=j;k=E(E(m*E(i*s))+k);B[g+56>>2]=k;l=E(E(m*E(i*r))+l);B[g+52>>2]=l;b=b+1|0;if((o|0)!=(b|0)){continue}break}}d=d+1|0;if((n|0)!=(d|0)){continue}break}}b=x[x[a+4>>2]+344>>2];h=h+1|0;if((ia[x[x[b>>2]+36>>2]](b)|0)>(h|0)){continue}break}a=x[c+24>>2];if(!a|!y[c+28|0]){break a}if(a){x[8457]=x[8457]+1;ia[x[8259]](a)}}ga=c- -64|0}function xj(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=E(0),i=0,j=0,k=0,l=0,m=E(0),n=0,o=0,p=0,q=0,r=E(0),s=E(0),t=E(0),u=0,v=E(0),w=0;i=ga-2048|0;ga=i;a:{if((d|0)<=0){break a}if(d>>>0>=8){l=d&-8;while(1){e=f<<4;x[(e+c|0)+12>>2]=-581039253;x[((e|16)+c|0)+12>>2]=-581039253;x[((e|32)+c|0)+12>>2]=-581039253;x[((e|48)+c|0)+12>>2]=-581039253;x[((e|64)+c|0)+12>>2]=-581039253;x[((e|80)+c|0)+12>>2]=-581039253;x[((e|96)+c|0)+12>>2]=-581039253;x[((e|112)+c|0)+12>>2]=-581039253;f=f+8|0;j=j+8|0;if((l|0)!=(j|0)){continue}break}}e=d&7;if(e){while(1){x[((f<<4)+c|0)+12>>2]=-581039253;f=f+1|0;g=g+1|0;if((e|0)!=(g|0)){continue}break}}if((d|0)<=0){break a}while(1){if((ia[x[x[a>>2]+96>>2]](a)|0)>0){e=p<<4;q=e+b|0;l=c+e|0;n=0;while(1){g=128;b:{c:{if(((ia[x[x[a>>2]+96>>2]](a)|0)-n|0)>127){break c}g=(ia[x[x[a>>2]+96>>2]](a)|0)-n|0;if((g|0)>0){break c}h=E(-34028234663852886e22);g=-1;break b}e=0;j=(g|0)==1;if(!j){k=g&-2;f=0;while(1){ia[x[x[a>>2]+108>>2]](a,e,(e<<4)+i|0);o=e|1;ia[x[x[a>>2]+108>>2]](a,o,(o<<4)+i|0);e=e+2|0;f=f+2|0;if((k|0)!=(f|0)){continue}break}}o=g&1;if(o){ia[x[x[a>>2]+108>>2]](a,e,(e<<4)+i|0)}m=B[q+8>>2];r=B[q+4>>2];s=B[q>>2];d:{if(j){e=0;g=-1;h=E(-34028234663852886e22);break d}w=g&-2;e=0;g=-1;h=E(-34028234663852886e22);j=0;while(1){f=(e<<4)+i|0;t=E(E(B[f+8>>2]*m)+E(E(B[f>>2]*s)+E(r*B[f+4>>2])));f=t>h;u=e|1;k=(u<<4)+i|0;v=E(E(B[k+8>>2]*m)+E(E(B[k>>2]*s)+E(r*B[k+4>>2])));h=f?t:h;k=v>h;h=k?v:h;g=k?u:f?e:g;e=e+2|0;j=j+2|0;if((w|0)!=(j|0)){continue}break}}if(!o){break b}f=(e<<4)+i|0;m=E(E(B[f+8>>2]*m)+E(E(B[f>>2]*s)+E(r*B[f+4>>2])));f=m>h;h=f?m:h;g=f?e:g}if(B[l+12>>2]>2]=x[e+8>>2];g=x[e+4>>2];x[l>>2]=x[e>>2];x[l+4>>2]=g;B[l+12>>2]=h}n=n+128|0;if((ia[x[x[a>>2]+96>>2]](a)|0)>(n|0)){continue}break}}p=p+1|0;if((p|0)!=(d|0)){continue}break}}ga=i+2048|0}function ef(a){var b=0,c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;a:{l=x[a+32>>2];b=x[a+12>>2];if((l|0)>=(b|0)){break a}b:{if((b|0)<=x[a+36>>2]){d=x[a+40>>2];break b}if(b){x[8456]=x[8456]+1;d=ia[x[8258]](b<<2,16)|0;c=x[a+32>>2]}else{c=l}g=x[a+40>>2];c:{if((c|0)>0){if(c>>>0>=4){j=c&-4;while(1){e=f<<2;x[e+d>>2]=x[e+g>>2];h=e|4;x[h+d>>2]=x[g+h>>2];h=e|8;x[h+d>>2]=x[g+h>>2];e=e|12;x[e+d>>2]=x[e+g>>2];f=f+4|0;i=i+4|0;if((j|0)!=(i|0)){continue}break}}c=c&3;if(!c){break c}while(1){e=f<<2;x[e+d>>2]=x[e+g>>2];f=f+1|0;k=k+1|0;if((c|0)!=(k|0)){continue}break}break c}if(g){break c}x[a+40>>2]=d;x[a+36>>2]=b;v[a+44|0]=1;break b}if(g?y[a+44|0]:0){x[8457]=x[8457]+1;ia[x[8259]](g)}x[a+40>>2]=d;v[a+44|0]=1;x[a+36>>2]=b}c=l<<2;j=b<<2;ua(c+d|0,0,j-c|0);x[a+32>>2]=b;g=x[a+52>>2];if((g|0)<(b|0)){d:{if((b|0)<=x[a+56>>2]){d=x[a+60>>2];break d}e:{if(!b){d=0;c=g;break e}x[8456]=x[8456]+1;d=ia[x[8258]](j,16)|0;c=x[a+52>>2]}e=x[a+60>>2];f:{if((c|0)>0){k=0;f=0;if(c>>>0>=4){n=c&-4;i=0;while(1){h=f<<2;x[h+d>>2]=x[e+h>>2];m=h|4;x[m+d>>2]=x[e+m>>2];m=h|8;x[m+d>>2]=x[e+m>>2];h=h|12;x[h+d>>2]=x[e+h>>2];f=f+4|0;i=i+4|0;if((n|0)!=(i|0)){continue}break}}c=c&3;if(!c){break f}while(1){i=f<<2;x[i+d>>2]=x[e+i>>2];f=f+1|0;k=k+1|0;if((c|0)!=(k|0)){continue}break}break f}if(e){break f}x[a+60>>2]=d;x[a+56>>2]=b;v[a- -64|0]=1;break d}if(e?y[a- -64|0]:0){x[8457]=x[8457]+1;ia[x[8259]](e)}x[a+60>>2]=d;v[a+64|0]=1;x[a+56>>2]=b}c=g<<2;ua(c+d|0,0,j-c|0)}x[a+52>>2]=b;if((b|0)>0){ua(x[a+40>>2],255,j);ua(x[a+60>>2],255,j)}if((l|0)<=0){break a}c=x[a+60>>2];g=x[a+16>>2];d=x[a+40>>2];f=0;while(1){b=g+(f<<4)|0;b=x[x[b+4>>2]+12>>2]<<16|x[x[b>>2]+12>>2];b=(b<<15^-1)+b|0;b=D(b>>>10^b,9);b=b>>>6^b;b=(b<<11^-1)+b|0;b=d+((x[a+12>>2]-1&(b>>>16^b))<<2)|0;x[c+(f<<2)>>2]=x[b>>2];x[b>>2]=f;f=f+1|0;if((l|0)!=(f|0)){continue}break}}}function Yh(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=E(0),g=E(0),h=0,i=E(0),j=E(0),k=E(0),l=0,m=E(0),n=E(0),o=E(0),p=0,q=0,r=E(0),s=E(0),t=E(0),u=E(0),v=0,w=0,y=E(0),z=E(0),A=E(0);e=x[a+28>>2];d=x[a+32>>2];c=x[b+8>>2];x[c>>2]=1065353216;p=x[b+24>>2];l=p<<2;v=l+4|0;x[c+v>>2]=1065353216;q=p<<3;w=q+8|0;x[c+w>>2]=1065353216;m=B[e+24>>2];n=B[e+28>>2];o=B[e+40>>2];g=B[a+304>>2];j=B[e+44>>2];f=B[a+308>>2];k=B[e+12>>2];r=B[e+4>>2];s=B[e+8>>2];t=B[e+20>>2];u=B[e+36>>2];i=B[a+300>>2];c=x[b+12>>2];x[c+12>>2]=0;x[c>>2]=0;o=E(E(j*f)+E(E(u*i)+E(g*o)));B[c+4>>2]=o;m=E(E(n*f)+E(E(t*i)+E(g*m)));B[c+8>>2]=-m;h=c+l|0;x[h+12>>2]=0;n=E(E(k*f)+E(E(r*i)+E(s*g)));B[h+8>>2]=n;x[h+4>>2]=0;B[h>>2]=-o;c=c+q|0;x[c+8>>2]=0;x[c+12>>2]=0;B[c+4>>2]=-n;B[c>>2]=m;c=x[b+16>>2];x[c>>2]=-1082130432;x[c+v>>2]=-1082130432;x[c+w>>2]=-1082130432;k=B[d+40>>2];r=B[d+44>>2];j=B[d+24>>2];g=B[a+320>>2];s=B[d+28>>2];f=B[a+324>>2];t=B[d+12>>2];u=B[d+4>>2];y=B[d+8>>2];z=B[d+36>>2];A=B[d+20>>2];i=B[a+316>>2];c=x[b+20>>2];x[c+12>>2]=0;x[c>>2]=0;j=E(E(s*f)+E(E(A*i)+E(g*j)));B[c+8>>2]=j;k=E(E(r*f)+E(E(z*i)+E(g*k)));B[c+4>>2]=-k;h=c+l|0;x[h+12>>2]=0;g=E(E(t*f)+E(E(u*i)+E(y*g)));B[h+8>>2]=-g;x[h+4>>2]=0;B[h>>2]=k;c=c+q|0;x[c+8>>2]=0;x[c+12>>2]=0;B[c+4>>2]=g;B[c>>2]=-j;c=x[b+28>>2];h=x[a+332>>2];f=E(B[(h&1?a+336|0:b+4|0)>>2]*B[b>>2]);B[c>>2]=f*E(E(E(g+B[d+52>>2])-n)-B[e+52>>2]);B[c+l>>2]=f*E(E(E(j+B[d+56>>2])-m)-B[e+56>>2]);B[c+q>>2]=f*E(E(E(k+B[d+60>>2])-o)-B[e+60>>2]);e=p<<1;if(h&2){d=x[b+32>>2];B[d>>2]=B[a+340>>2];B[d+l>>2]=B[a+340>>2];B[d+(e<<2)>>2]=B[a+340>>2]}f=B[a+356>>2];a:{if(!(f>E(0))){break a}i=E(-f);B[x[b+36>>2]>>2]=i;B[x[b+40>>2]>>2]=f;g=B[a+356>>2];if(g>E(0)){d=p<<2;B[d+x[b+36>>2]>>2]=i;B[d+x[b+40>>2]>>2]=f;g=B[a+356>>2]}if(!(g>E(0))){break a}e=e<<2;B[e+x[b+36>>2]>>2]=i;B[e+x[b+40>>2]>>2]=f}B[b+48>>2]=B[a+352>>2]}function yc(a){var b=0,c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;a:{l=x[a+28>>2];b=x[a+12>>2];if((l|0)>=(b|0)){break a}b:{if((b|0)<=x[a+32>>2]){d=x[a+36>>2];break b}if(b){x[8456]=x[8456]+1;d=ia[x[8258]](b<<2,16)|0;c=x[a+28>>2]}else{c=l}g=x[a+36>>2];c:{if((c|0)>0){if(c>>>0>=4){j=c&-4;while(1){e=f<<2;x[e+d>>2]=x[e+g>>2];h=e|4;x[h+d>>2]=x[g+h>>2];h=e|8;x[h+d>>2]=x[g+h>>2];e=e|12;x[e+d>>2]=x[e+g>>2];f=f+4|0;i=i+4|0;if((j|0)!=(i|0)){continue}break}}c=c&3;if(!c){break c}while(1){e=f<<2;x[e+d>>2]=x[e+g>>2];f=f+1|0;k=k+1|0;if((c|0)!=(k|0)){continue}break}break c}if(g){break c}x[a+36>>2]=d;x[a+32>>2]=b;v[a+40|0]=1;break b}if(g?y[a+40|0]:0){x[8457]=x[8457]+1;ia[x[8259]](g)}x[a+36>>2]=d;v[a+40|0]=1;x[a+32>>2]=b}c=l<<2;j=b<<2;ua(c+d|0,0,j-c|0);x[a+28>>2]=b;g=x[a+48>>2];if((g|0)<(b|0)){d:{if((b|0)<=x[a+52>>2]){d=x[a+56>>2];break d}e:{if(!b){d=0;c=g;break e}x[8456]=x[8456]+1;d=ia[x[8258]](j,16)|0;c=x[a+48>>2]}e=x[a+56>>2];f:{if((c|0)>0){k=0;f=0;if(c>>>0>=4){n=c&-4;i=0;while(1){h=f<<2;x[h+d>>2]=x[e+h>>2];m=h|4;x[m+d>>2]=x[e+m>>2];m=h|8;x[m+d>>2]=x[e+m>>2];h=h|12;x[h+d>>2]=x[e+h>>2];f=f+4|0;i=i+4|0;if((n|0)!=(i|0)){continue}break}}c=c&3;if(!c){break f}while(1){i=f<<2;x[i+d>>2]=x[e+i>>2];f=f+1|0;k=k+1|0;if((c|0)!=(k|0)){continue}break}break f}if(e){break f}x[a+56>>2]=d;x[a+52>>2]=b;v[a+60|0]=1;break d}if(e?y[a+60|0]:0){x[8457]=x[8457]+1;ia[x[8259]](e)}x[a+56>>2]=d;v[a+60|0]=1;x[a+52>>2]=b}c=g<<2;ua(c+d|0,0,j-c|0)}x[a+48>>2]=b;if((b|0)>0){ua(x[a+36>>2],255,j);ua(x[a+56>>2],255,j)}if((l|0)<=0){break a}c=x[a+56>>2];g=x[a+16>>2];d=x[a+36>>2];f=0;while(1){b=g+D(f,12)|0;b=x[b+4>>2]<<16|x[b>>2];b=(b<<15^-1)+b|0;b=D(b>>>10^b,9);b=b>>>6^b;b=(b<<11^-1)+b|0;b=d+((x[a+12>>2]-1&(b>>>16^b))<<2)|0;x[c+(f<<2)>>2]=x[b>>2];x[b>>2]=f;f=f+1|0;if((l|0)!=(f|0)){continue}break}}}function Md(a,b,c,d,e,f,g){var h=E(0),i=E(0),j=E(0),k=E(0),l=E(0),m=E(0),n=E(0),o=E(0),p=E(0),q=E(0),r=E(0),s=E(0),t=E(0),u=E(0),v=E(0),w=E(0),y=E(0),z=E(0),A=E(0),C=E(0),D=E(0),F=E(0),G=E(0),H=E(0);x[e>>2]=0;x[e+4>>2]=0;x[e+32>>2]=0;x[e+24>>2]=0;x[e+28>>2]=0;x[e+16>>2]=0;x[e+20>>2]=0;x[e+8>>2]=0;x[e+12>>2]=0;x[f+4>>2]=c;x[f>>2]=a;l=B[d+20>>2];m=B[d+36>>2];h=B[b+20>>2];i=B[b+36>>2];n=B[d+24>>2];o=B[b+24>>2];p=B[d+40>>2];q=B[b+40>>2];j=B[d+32>>2];r=B[d>>2];s=B[d+16>>2];t=B[d+4>>2];u=B[b+32>>2];v=B[b>>2];w=B[b+16>>2];y=B[b+4>>2];z=B[d+8>>2];k=B[b+8>>2];x[f+52>>2]=0;x[f+36>>2]=0;x[f+20>>2]=0;B[f+48>>2]=E(p*q)+E(E(z*k)+E(o*n));B[f+44>>2]=E(p*i)+E(E(z*y)+E(h*n));B[f+40>>2]=E(p*u)+E(E(z*v)+E(w*n));B[f+32>>2]=E(m*q)+E(E(t*k)+E(o*l));B[f+28>>2]=E(m*i)+E(E(t*y)+E(h*l));B[f+24>>2]=E(m*u)+E(E(t*v)+E(w*l));B[f+16>>2]=E(j*q)+E(E(r*k)+E(s*o));B[f+12>>2]=E(j*i)+E(E(r*y)+E(s*h));B[f+8>>2]=E(j*u)+E(E(r*v)+E(s*w));D=B[b+52>>2];F=B[d+52>>2];G=B[b+56>>2];A=B[d+56>>2];l=B[b+20>>2];m=B[b+36>>2];r=B[d+20>>2];s=B[d+36>>2];h=B[b+24>>2];t=B[d+24>>2];i=B[b+40>>2];u=B[d+40>>2];H=B[b+48>>2];C=B[d+48>>2];n=B[b+32>>2];o=B[b>>2];p=B[b+16>>2];q=B[b+4>>2];v=B[d+32>>2];w=B[d>>2];y=B[d+16>>2];z=B[d+4>>2];j=B[b+8>>2];k=B[d+8>>2];x[f+124>>2]=0;x[f+120>>2]=g?904:905;x[f+116>>2]=0;x[f+100>>2]=0;x[f+84>>2]=0;x[f+68>>2]=0;B[f+96>>2]=E(i*u)+E(E(j*k)+E(t*h));B[f+92>>2]=E(i*s)+E(E(j*z)+E(r*h));B[f+88>>2]=E(i*v)+E(E(j*w)+E(y*h));B[f+80>>2]=E(m*u)+E(E(q*k)+E(t*l));B[f+76>>2]=E(m*s)+E(E(q*z)+E(r*l));B[f+72>>2]=E(m*v)+E(E(q*w)+E(y*l));B[f- -64>>2]=E(n*u)+E(E(o*k)+E(p*t));B[f+60>>2]=E(n*s)+E(E(o*z)+E(p*r));B[f+56>>2]=E(n*v)+E(E(o*w)+E(p*y));k=i;i=E(A-G);A=j;j=E(C-H);C=h;h=E(F-D);B[f+112>>2]=E(k*i)+E(E(A*j)+E(C*h));B[f+108>>2]=E(m*i)+E(E(q*j)+E(h*l));B[f+104>>2]=E(n*i)+E(E(o*j)+E(h*p))}function $b(a,b,c){var d=0,e=E(0),f=E(0),g=E(0),h=E(0),i=E(0),j=E(0),k=E(0),l=0,m=E(0),n=E(0),o=E(0),p=E(0),q=E(0),r=E(0);d=ga-48|0;ga=d;v[a+60|0]=0;x[d+40>>2]=0;x[d+44>>2]=0;x[d+32>>2]=0;x[d+36>>2]=0;x[d+24>>2]=0;x[d+28>>2]=0;x[d+16>>2]=0;x[d+20>>2]=0;e=B[b+8>>2];g=B[a+48>>2];f=B[b>>2];m=B[a+40>>2];i=B[b+4>>2];n=B[a+44>>2];j=E(E(e*g)+E(E(f*m)+E(i*n)));h=e;e=E(g*j);o=E(h-e);h=E(n*j);p=E(i-h);i=f;f=E(m*j);k=E(i-f);a:{if(j<=E(0)){B[d+24>>2]=e;B[d+20>>2]=h;B[d+16>>2]=f;i=h;r=f;h=E(0);f=E(0);break a}x[d+44>>2]=0;B[d+40>>2]=e;B[d+36>>2]=h;B[d+32>>2]=f;i=E(0);q=e;e=E(0)}b=0;x[d+12>>2]=0;B[d+4>>2]=p;B[d>>2]=k;B[d+8>>2]=o;k=E(E(o*o)+E(E(k*k)+E(p*p)));b:{c:{if(k>2];B[d+40>>2]=E(j*g)+q;B[d+36>>2]=E(n*g)+h;B[d+32>>2]=E(m*g)+f}v[a+108|0]=0;b=_b(a,d+32|0,c,10)?2:0;l=y[a+64|0]}d:{if(l){break d}e:{if(y[a+61|0]){break e}if((ia[x[x[a>>2]+16>>2]](a)|0)!=1){break e}v[a+108|0]=1}b=_b(a,d,c,10)|b;if(y[a+61|0]){break d}if((ia[x[x[a>>2]+16>>2]](a)|0)!=1){break d}v[a+108|0]=0}if(!(k>2];q=B[a+44>>2];g=e;e=B[a+32>>2];B[d+24>>2]=g-E(e*B[a+48>>2]);B[d+20>>2]=i-E(e*q);B[d+16>>2]=r-E(f*e)}f:{if(y[a+61|0]){break f}if((ia[x[x[a>>2]+16>>2]](a)|0)!=1){break f}v[a+108|0]=1}if(y[a+65|0]?y[a+64|0]:1){v[a+108|0]=0}g:{h:{i:{if(!_b(a,d+16|0,c,1)){break i}b=b|4;if(y[a+64|0]){break i}c=E(E(B[a+80>>2]*B[a+48>>2])+E(E(B[a+72>>2]*B[a+40>>2])+E(B[a+76>>2]*B[a+44>>2])));if(!(c>=E(0))|!(Ba(B[a+28>>2])>c)){break i}v[a+60|0]=1;if(y[a+61|0]){break g}if((ia[x[x[a>>2]+16>>2]](a)|0)==1){break h}break g}if(y[a+61|0]){break g}if((ia[x[x[a>>2]+16>>2]](a)|0)!=1){break g}}v[a+108|0]=0}ga=d+48|0;return b}function gk(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=E(0),g=E(0),h=E(0),i=E(0),j=E(0),k=E(0),l=E(0),m=E(0),n=E(0),o=E(0),p=E(0),q=E(0),r=0,s=0,t=0,u=E(0),v=E(0),w=E(0),y=E(0),z=0;e=ga-80|0;ga=e;y=E(ia[x[x[a>>2]+48>>2]](a));while(1){x[e+72>>2]=0;x[e+76>>2]=0;x[e+64>>2]=0;x[e+68>>2]=0;s=t<<2;z=s+(e- -64|0)|0;x[z>>2]=1065353216;i=B[b+32>>2];j=B[b>>2];k=B[b+16>>2];l=B[b+36>>2];m=B[b+4>>2];n=B[b+20>>2];f=B[b+40>>2];g=B[b+8>>2];h=B[b+24>>2];x[e+44>>2]=0;o=f;f=B[e+72>>2];p=g;g=B[e+64>>2];q=h;h=B[e+68>>2];B[e+40>>2]=E(o*f)+E(E(p*g)+E(q*h));B[e+36>>2]=E(l*f)+E(E(m*g)+E(h*n));B[e+32>>2]=E(i*f)+E(E(j*g)+E(k*h));r=e+32|0;ia[x[x[a>>2]+64>>2]](e+48|0,a,r);i=B[b+48>>2];j=B[b+8>>2];k=B[b>>2];l=B[b+4>>2];m=B[b+52>>2];n=B[b+24>>2];p=B[b+16>>2];q=B[b+20>>2];f=B[b+56>>2];g=B[b+40>>2];h=B[b+32>>2];u=B[b+36>>2];x[e+44>>2]=0;o=f;f=B[e+56>>2];v=E(g*f);g=B[e+48>>2];w=E(h*g);h=B[e+52>>2];B[e+40>>2]=o+E(v+E(w+E(u*h)));B[e+36>>2]=m+E(E(f*n)+E(E(g*p)+E(h*q)));B[e+32>>2]=i+E(E(f*j)+E(E(g*k)+E(h*l)));r=s+r|0;B[d+s>>2]=y+B[r>>2];x[z>>2]=-1082130432;i=B[b+32>>2];j=B[b>>2];k=B[b+16>>2];l=B[b+36>>2];m=B[b+4>>2];n=B[b+20>>2];f=B[b+40>>2];g=B[b+8>>2];h=B[b+24>>2];x[e+12>>2]=0;o=f;f=B[e+72>>2];p=g;g=B[e+64>>2];q=h;h=B[e+68>>2];B[e+8>>2]=E(o*f)+E(E(p*g)+E(q*h));B[e+4>>2]=E(l*f)+E(E(m*g)+E(h*n));B[e>>2]=E(i*f)+E(E(j*g)+E(k*h));ia[x[x[a>>2]+64>>2]](e+16|0,a,e);i=B[b+48>>2];j=B[b+8>>2];k=B[b>>2];l=B[b+4>>2];m=B[b+52>>2];n=B[b+24>>2];p=B[b+16>>2];q=B[b+20>>2];f=B[b+56>>2];g=B[b+40>>2];h=B[b+32>>2];u=B[b+36>>2];x[e+44>>2]=0;o=f;f=B[e+24>>2];v=E(g*f);g=B[e+16>>2];w=E(h*g);h=B[e+20>>2];B[e+40>>2]=o+E(v+E(w+E(u*h)));B[e+36>>2]=m+E(E(f*n)+E(E(g*p)+E(h*q)));B[e+32>>2]=i+E(E(f*j)+E(E(g*k)+E(h*l)));B[c+s>>2]=B[r>>2]-y;t=t+1|0;if((t|0)!=3){continue}break}ga=e+80|0}function Rb(a,b,c){var d=0,e=E(0),f=E(0),g=E(0),h=0;if(!x[a>>2]){x[a>>2]=c;x[c+32>>2]=0;return}d=x[b+40>>2];if(d){f=E(B[c>>2]+B[c+16>>2]);e=E(B[c+8>>2]+B[c+24>>2]);g=E(B[c+4>>2]+B[c+20>>2]);while(1){h=b+36|0;b=x[b+36>>2];b=x[h+(!(E(E(E(F(E(f-E(B[b>>2]+B[b+16>>2]))))+E(F(E(g-E(B[b+4>>2]+B[b+20>>2])))))+E(F(E(e-E(B[b+8>>2]+B[b+24>>2])))))>2]+B[d+16>>2]))))+E(F(E(g-E(B[d+4>>2]+B[d+20>>2])))))+E(F(E(e-E(B[d+8>>2]+B[d+24>>2]))))))<<2)>>2];d=x[b+40>>2];if(d){continue}break}}h=x[b+32>>2];d=x[a+4>>2];a:{if(d){x[a+4>>2]=0;break a}x[8456]=x[8456]+1;d=ia[x[8258]](44,16)|0;x[d>>2]=0;x[d+4>>2]=0;x[d+40>>2]=0;x[d+32>>2]=0;x[d+36>>2]=0;x[d+24>>2]=0;x[d+28>>2]=0;x[d+16>>2]=0;x[d+20>>2]=0;x[d+8>>2]=0;x[d+12>>2]=0}x[d+36>>2]=0;x[d+40>>2]=0;x[d+32>>2]=h;f=B[c>>2];e=B[b>>2];B[d>>2]=e>f?f:e;f=B[c+16>>2];e=B[b+16>>2];B[d+16>>2]=e>2];e=B[b+4>>2];B[d+4>>2]=e>f?f:e;f=B[c+20>>2];e=B[b+20>>2];B[d+20>>2]=e>2];e=B[b+8>>2];B[d+8>>2]=e>f?f:e;f=B[c+24>>2];e=B[b+24>>2];B[d+24>>2]=e>2]+40>>2]==(b|0))<<2)+h|0)+36>>2]=d;x[d+36>>2]=b;x[b+32>>2]=d;x[d+40>>2]=c;x[c+32>>2]=d;f=B[d>>2];while(1){a=d;d=h;c:{if(!(B[d>>2]<=f)|!(B[d+4>>2]<=B[a+4>>2])|(!(B[d+8>>2]<=B[a+8>>2])|!(B[d+16>>2]>=B[a+16>>2]))){break c}if(!(B[d+20>>2]>=B[a+20>>2])){break c}if(B[d+24>>2]>=B[a+24>>2]){break b}}a=x[d+36>>2];f=B[a>>2];b=x[d+40>>2];e=B[b>>2];f=e>f?f:e;B[d>>2]=f;e=B[a+16>>2];g=B[b+16>>2];B[d+16>>2]=e>g?e:g;e=B[a+4>>2];g=B[b+4>>2];B[d+4>>2]=e>2];g=B[b+20>>2];B[d+20>>2]=e>g?e:g;e=B[a+8>>2];g=B[b+8>>2];B[d+8>>2]=e>2];g=B[b+24>>2];B[d+24>>2]=e>g?e:g;h=x[d+32>>2];if(h){continue}break}break b}x[d+36>>2]=b;x[b+32>>2]=d;x[d+40>>2]=c;x[c+32>>2]=d;x[a>>2]=d}}function sc(a,b,c){var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;g=x[a+56>>2];a:{if(g){break a}d=x[a+52>>2];b:{if(d){x[a+52>>2]=x[d+8>>2];g=x[d>>2];break b}x[8456]=x[8456]+1;d=ia[x[8258]](12,16)|0;e=x[a+60>>2];x[d+8>>2]=0;x[d+4>>2]=e;x[8456]=x[8456]+1;g=ia[x[8258]](D(e,24),16)|0;x[d>>2]=g;x[d+8>>2]=x[a+48>>2];x[a+48>>2]=d}h=x[d+4>>2];if((h|0)<=0){break a}e=g;if(h>>>0>=4){m=h&-4;d=g;while(1){e=d+96|0;j=i+4|0;x[d+72>>2]=(h|0)>(j|0)?e:0;x[d+48>>2]=(h|0)>(i|3)?d+72|0:0;x[d+24>>2]=(h|0)>(i|2)?d+48|0:0;x[d>>2]=(h|0)>(i|1)?d+24|0:0;i=j;d=e;f=f+4|0;if((m|0)!=(f|0)){continue}break}}d=h&3;if(!d){break a}while(1){f=e;e=e+24|0;j=j+1|0;x[f>>2]=(h|0)>(j|0)?e:0;l=l+1|0;if((d|0)!=(l|0)){continue}break}}x[a+56>>2]=x[g>>2];x[g+16>>2]=0;x[g+20>>2]=0;x[g+8>>2]=0;x[g+12>>2]=0;x[g>>2]=0;x[g+4>>2]=0;f=x[a+56>>2];c:{if(f){break c}d=x[a+52>>2];d:{if(d){x[a+52>>2]=x[d+8>>2];f=x[d>>2];break d}x[8456]=x[8456]+1;d=ia[x[8258]](12,16)|0;e=x[a+60>>2];x[d+8>>2]=0;x[d+4>>2]=e;x[8456]=x[8456]+1;f=ia[x[8258]](D(e,24),16)|0;x[d>>2]=f;x[d+8>>2]=x[a+48>>2];x[a+48>>2]=d}k=x[d+4>>2];if((k|0)<=0){break c}l=0;j=0;e=f;if(k>>>0>=4){m=k&-4;i=0;d=f;h=0;while(1){e=d+96|0;j=i+4|0;x[d+72>>2]=(k|0)>(j|0)?e:0;x[d+48>>2]=(i|3)<(k|0)?d+72|0:0;x[d+24>>2]=(i|2)<(k|0)?d+48|0:0;x[d>>2]=(i|1)<(k|0)?d+24|0:0;i=j;d=e;h=h+4|0;if((m|0)!=(h|0)){continue}break}}d=k&3;if(!d){break c}while(1){i=e;e=e+24|0;j=j+1|0;x[i>>2]=(k|0)>(j|0)?e:0;l=l+1|0;if((d|0)!=(l|0)){continue}break}}x[a+56>>2]=x[f>>2];x[f+16>>2]=0;x[f+20>>2]=0;x[f+8>>2]=0;x[f+12>>2]=0;x[f>>2]=0;x[f+4>>2]=0;x[g+8>>2]=f;x[f+8>>2]=g;e=x[a+100>>2];x[g+20>>2]=e;x[f+20>>2]=e;x[g+12>>2]=c;x[f+12>>2]=b;x[g+16>>2]=0;x[f+16>>2]=0;c=x[a+116>>2];b=c+1|0;x[a+116>>2]=b;if((c|0)>=x[a+120>>2]){x[a+120>>2]=b}return g}function Mr(){var a=0,b=0,c=0,d=0,e=0,f=0,g=0,h=0;a=Aa(176);e=ga-32|0;ga=e;x[a>>2]=11916;b=a+4|0;x[b+16>>2]=0;x[b+8>>2]=-1;x[b+12>>2]=0;x[b>>2]=0;x[b+4>>2]=0;x[b+32>>2]=0;v[b+36|0]=1;x[b+24>>2]=0;x[b+28>>2]=0;b=a+44|0;x[b+16>>2]=0;x[b+8>>2]=-1;x[b+12>>2]=0;x[b>>2]=0;x[b+4>>2]=0;x[b+32>>2]=0;v[b+36|0]=1;x[b+24>>2]=0;x[b+28>>2]=0;x[a+168>>2]=0;c=1;v[a+172|0]=1;x[a+160>>2]=0;x[a+164>>2]=0;v[a+153|0]=0;v[a+154|0]=1;v[a+152|0]=1;x[a+124>>2]=0;x[a+100>>2]=0;x[a+104>>2]=0;x[a+136>>2]=0;x[a+128>>2]=0;x[a+132>>2]=0;x[a+116>>2]=10;x[a+120>>2]=1;x[a+108>>2]=1;x[a+112>>2]=0;x[8456]=x[8456]+1;d=ff(ia[x[8258]](72,16)|0);b=x[a+160>>2];x[a+148>>2]=0;x[a+96>>2]=d;x[a+140>>2]=0;x[a+144>>2]=0;x[a+84>>2]=0;x[a+88>>2]=0;x[a+92>>2]=0;x[e+24>>2]=0;v[e+28|0]=1;x[e+16>>2]=0;x[e+20>>2]=0;a:{if((b|0)>=2){while(1){d=x[a+168>>2]+D(c,20)|0;f=x[d+12>>2];if(!(f?!f|!y[d+16|0]:1)){x[8457]=x[8457]+1;ia[x[8259]](f)}v[d+16|0]=1;x[d+12>>2]=0;x[d+4>>2]=0;x[d+8>>2]=0;c=c+1|0;if((c|0)!=(b|0)){continue}break a}}if((b|0)==1){break a}c=0;if(x[a+164>>2]<=0){x[8456]=x[8456]+1;f=ia[x[8258]](20,16)|0;d=x[a+160>>2];b:{if((d|0)<=0){break b}while(1){g=D(c,20);mf(g+f|0,g+x[a+168>>2]|0);c=c+1|0;if((d|0)!=(c|0)){continue}break}h=x[a+160>>2];if((h|0)<=0){break b}c=0;while(1){d=x[a+168>>2]+D(c,20)|0;g=x[d+12>>2];if(!(g?!g|!y[d+16|0]:1)){x[8457]=x[8457]+1;ia[x[8259]](g)}v[d+16|0]=1;x[d+12>>2]=0;x[d+4>>2]=0;x[d+8>>2]=0;c=c+1|0;if((h|0)!=(c|0)){continue}break}}c=x[a+168>>2];if(!(c?!c|!y[a+172|0]:1)){x[8457]=x[8457]+1;ia[x[8259]](c)}x[a+168>>2]=f;v[a+172|0]=1;x[a+164>>2]=1}while(1){c=b;mf(x[a+168>>2]+D(b,20)|0,e+12|0);b=b+1|0;if(c){continue}break}}x[a+160>>2]=1;b=x[e+24>>2];if(!(b?!b|!y[e+28|0]:1)){x[8457]=x[8457]+1;ia[x[8259]](b)}ga=e+32|0;return a|0}function Vm(a){a=a|0;var b=0,c=E(0),d=0,e=E(0),f=E(0),g=0,h=E(0),i=E(0),j=E(0),k=E(0),l=0,m=0;m=ga-16|0;ga=m;ia[x[8262]](4699);d=x[a+8>>2];if((d|0)>0){while(1){g=x[x[a+16>>2]+(l<<2)>>2];a:{b:{if(y[a+76|0]){break b}switch(x[g+220>>2]-2|0){case 0:case 3:break a;default:break b}}b=ga+-64|0;ga=b;d=x[g+192>>2];ia[x[x[d>>2]+8>>2]](d,g+4|0,b+48|0,b+32|0);c=B[8265];k=E(B[b+48>>2]-c);B[b+48>>2]=k;h=E(B[b+52>>2]-c);B[b+52>>2]=h;f=E(B[b+56>>2]-c);B[b+56>>2]=f;e=E(c+B[b+32>>2]);B[b+32>>2]=e;i=E(c+B[b+36>>2]);B[b+36>>2]=i;j=E(c+B[b+40>>2]);B[b+40>>2]=j;c:{if(y[g+204|0]&3|(!y[a+44|0]|x[g+252>>2]!=2)){break c}d=x[g+192>>2];ia[x[x[d>>2]+8>>2]](d,g+68|0,b+16|0,b);h=E(B[b+16>>2]-c);B[b+16>>2]=h;f=E(B[b+20>>2]-c);B[b+20>>2]=f;e=E(B[b+24>>2]-c);B[b+24>>2]=e;i=E(c+B[b>>2]);B[b>>2]=i;j=E(c+B[b+4>>2]);B[b+4>>2]=j;c=E(c+B[b+8>>2]);B[b+8>>2]=c;k=B[b+48>>2];if(h>2]=h;k=h}h=B[b+52>>2];if(f>2]=f;h=f}f=B[b+56>>2];if(e>2]=e;f=e}e=B[b+28>>2];if(e>2]){B[b+60>>2]=e}e=B[b+32>>2];if(i>e){B[b+32>>2]=i;e=i}i=B[b+36>>2];if(j>i){B[b+36>>2]=j;i=j}j=B[b+40>>2];if(c>j){B[b+40>>2]=c;j=c}c=B[b+12>>2];if(!(c>B[b+44>>2])){break c}B[b+44>>2]=c}d=x[a+68>>2];d:{e:{if(!(v[g+204|0]&1)){c=E(j-f);f=E(c*c);c=E(e-k);e=E(c*c);c=E(i-h);if(!(E(f+E(e+E(c*c)))>2]+16>>2]](d,x[g+188>>2],b+48|0,b+32|0,x[a+24>>2]);break d}if((x[g+220>>2]&-2)!=4){x[g+220>>2]=5}if(y[33852]){break d}d=x[a+72>>2];if(!d){break d}v[33852]=1;ia[x[x[d>>2]+44>>2]](d,5794);d=x[a+72>>2];ia[x[x[d>>2]+44>>2]](d,10341);d=x[a+72>>2];ia[x[x[d>>2]+44>>2]](d,10418);d=x[a+72>>2];ia[x[x[d>>2]+44>>2]](d,10409)}ga=b- -64|0;d=x[a+8>>2]}l=l+1|0;if((l|0)<(d|0)){continue}break}}ia[x[8263]]();ga=m+16|0}function Fm(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=E(0),f=E(0),g=E(0),h=E(0),i=E(0),j=E(0),k=E(0),l=E(0),m=E(0),n=E(0),o=E(0),p=E(0),q=E(0),r=E(0),s=E(0),t=0,u=E(0),v=E(0),w=E(0),y=E(0),z=E(0),A=E(0),C=0,D=0;c=ga-96|0;ga=c;e=B[a+76>>2];i=B[a+36>>2];f=B[a+32>>2];j=B[a+80>>2];n=B[a+52>>2];o=B[a+44>>2];p=B[a+48>>2];k=B[a+84>>2];q=B[a+68>>2];w=B[a+60>>2];y=B[a- -64>>2];z=B[a+28>>2];l=B[b+8>>2];g=B[b>>2];h=B[b+4>>2];x[c+92>>2]=0;u=E(k+E(E(l*q)+E(E(g*w)+E(h*y))));B[c+88>>2]=u;v=E(j+E(E(l*n)+E(E(g*o)+E(h*p))));B[c+84>>2]=v;l=E(e+E(E(l*i)+E(E(g*z)+E(h*f))));B[c+80>>2]=l;g=B[b+20>>2];h=B[b+24>>2];m=B[b+16>>2];x[c+76>>2]=0;A=E(k+E(E(h*q)+E(E(m*w)+E(y*g))));B[c+72>>2]=A;r=E(j+E(E(h*n)+E(E(m*o)+E(p*g))));B[c+68>>2]=r;s=E(e+E(E(h*i)+E(E(m*z)+E(f*g))));B[c+64>>2]=s;g=B[b+36>>2];h=B[b+40>>2];m=B[b+32>>2];x[c+60>>2]=0;k=E(k+E(E(h*q)+E(E(m*w)+E(y*g))));B[c+56>>2]=k;j=E(j+E(E(h*n)+E(E(m*o)+E(p*g))));B[c+52>>2]=j;e=E(e+E(E(h*i)+E(E(m*z)+E(f*g))));B[c+48>>2]=e;x[c+44>>2]=0;n=E(E(E(u+A)+k)*E(.3333333432674408));B[c+40>>2]=n;o=E(E(E(v+r)+j)*E(.3333333432674408));B[c+36>>2]=o;p=E(E(E(l+s)+e)*E(.3333333432674408));B[c+32>>2]=p;b=x[a+8>>2];if(ia[x[x[b>>2]+56>>2]](b)&16384){x[c+24>>2]=0;x[c+28>>2]=0;x[c+16>>2]=1065353216;x[c+20>>2]=1065353216;b=x[a+8>>2];x[c+12>>2]=0;i=E(s-l);f=E(j-v);j=E(e-l);q=E(r-v);e=E(E(i*f)-E(j*q));s=e;r=E(e*e);k=E(k-u);e=f;f=E(A-u);e=E(E(q*k)-E(e*f));i=E(E(f*j)-E(k*i));f=E(E(1)/E(M(E(r+E(E(e*e)+E(i*i))))));B[c+8>>2]=E(s*f)+n;B[c+4>>2]=E(i*f)+o;B[c>>2]=p+E(e*f);ia[x[x[b>>2]+16>>2]](b,c+32|0,c,c+16|0)}d=x[a+8>>2];C=c+80|0;t=c- -64|0;b=a+12|0;ia[x[x[d>>2]+16>>2]](d,C,t,b);d=x[a+8>>2];D=t;t=c+48|0;ia[x[x[d>>2]+16>>2]](d,D,t,b);a=x[a+8>>2];ia[x[x[a>>2]+16>>2]](a,t,C,b);ga=c+96|0}function $e(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=E(0);B[b+16>>2]=B[a+4>>2];B[b+20>>2]=B[a+8>>2];B[b+24>>2]=B[a+12>>2];B[b+28>>2]=B[a+16>>2];B[b+32>>2]=B[a+20>>2];B[b+36>>2]=B[a+24>>2];B[b+40>>2]=B[a+28>>2];B[b+44>>2]=B[a+32>>2];B[b+48>>2]=B[a+36>>2];B[b+52>>2]=B[a+40>>2];B[b+56>>2]=B[a+44>>2];B[b+60>>2]=B[a+48>>2];B[b- -64>>2]=B[a+52>>2];B[b+68>>2]=B[a+56>>2];B[b+72>>2]=B[a+60>>2];B[b+76>>2]=B[a- -64>>2];B[b+80>>2]=B[a+68>>2];B[b+84>>2]=B[a+72>>2];B[b+88>>2]=B[a+76>>2];B[b+92>>2]=B[a+80>>2];B[b+96>>2]=B[a+84>>2];B[b+100>>2]=B[a+88>>2];B[b+104>>2]=B[a+92>>2];B[b+108>>2]=B[a+96>>2];B[b+112>>2]=B[a+100>>2];B[b+116>>2]=B[a+104>>2];B[b+120>>2]=B[a+108>>2];B[b+124>>2]=B[a+112>>2];B[b+128>>2]=B[a+116>>2];B[b+132>>2]=B[a+120>>2];B[b+136>>2]=B[a+124>>2];B[b+140>>2]=B[a+128>>2];B[b+144>>2]=B[a+132>>2];B[b+148>>2]=B[a+136>>2];B[b+152>>2]=B[a+140>>2];B[b+156>>2]=B[a+144>>2];B[b+160>>2]=B[a+148>>2];B[b+164>>2]=B[a+152>>2];B[b+168>>2]=B[a+156>>2];B[b+172>>2]=B[a+160>>2];B[b+176>>2]=B[a+164>>2];B[b+180>>2]=B[a+168>>2];B[b+184>>2]=B[a+172>>2];B[b+188>>2]=B[a+176>>2];x[b+232>>2]=x[a+180>>2];f=B[a+184>>2];x[b>>2]=0;B[b+192>>2]=f;d=ia[x[x[c>>2]+28>>2]](c,x[a+192>>2])|0;x[b+8>>2]=0;x[b+4>>2]=d;x[b+236>>2]=x[a+204>>2];x[b+240>>2]=x[a+208>>2];x[b+244>>2]=x[a+212>>2];x[b+248>>2]=x[a+220>>2];B[b+196>>2]=B[a+224>>2];B[b+200>>2]=B[a+228>>2];B[b+204>>2]=B[a+236>>2];B[b+208>>2]=B[a+244>>2];B[b+212>>2]=B[a+248>>2];B[b+216>>2]=B[a+232>>2];x[b+252>>2]=x[a+252>>2];d=ia[x[x[c>>2]+40>>2]](c,a)|0;e=ia[x[x[c>>2]+28>>2]](c,d)|0;x[b+12>>2]=e;if(e){ia[x[x[c>>2]+48>>2]](c,d)}B[b+220>>2]=B[a+268>>2];B[b+224>>2]=B[a+272>>2];B[b+228>>2]=B[a+276>>2];a=x[a+280>>2];x[b+260>>2]=0;x[b+256>>2]=a;return 8678}function mb(a,b,c){var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=E(0),q=E(0),r=E(0),s=E(0),t=E(0),u=E(0),v=0;n=ga-256|0;ga=n;a:{if(!a){break a}p=B[b+24>>2];q=B[b+20>>2];r=B[b+16>>2];s=B[b+8>>2];t=B[b+4>>2];u=B[b>>2];x[n>>2]=a;d=n;a=64;b=1;while(1){b:{c:{d:{e=b-1|0;l=e<<2;h=x[l+d>>2];e:{if(!(B[h>>2]<=r)|!(B[h+16>>2]>=u)|(!(B[h+4>>2]<=q)|!(B[h+20>>2]>=t))){break e}if(!(B[h+8>>2]<=p)|!(B[h+24>>2]>=s)){break e}if(x[h+40>>2]){if((a|0)!=(e|0)){break d}f=a?a<<1:1;if((f|0)<(b|0)){break d}if(f){x[8456]=x[8456]+1;e=ia[x[8258]](f<<2,16)|0}else{e=0}f:{if(!a){break f}i=0;j=0;if(a>>>0>=4){v=a&-4;g=0;while(1){k=j<<2;x[k+e>>2]=x[d+k>>2];m=k|4;x[m+e>>2]=x[d+m>>2];m=k|8;x[m+e>>2]=x[d+m>>2];k=k|12;x[k+e>>2]=x[d+k>>2];j=j+4|0;g=g+4|0;if((v|0)!=(g|0)){continue}break}}a=a&3;if(!a){break f}while(1){g=j<<2;x[g+e>>2]=x[d+g>>2];j=j+1|0;i=i+1|0;if((a|0)!=(i|0)){continue}break}}a=o;o=1;if(!a){break c}if(d){x[8457]=x[8457]+1;ia[x[8259]](d)}break c}ia[x[x[c>>2]+12>>2]](c,h)}b=e;break b}f=a;e=d}x[e+l>>2]=x[h+36>>2];g:{if((b|0)!=(f|0)){a=f;d=e;break g}a=b?b<<1:1;if((b|0)>=(a|0)){a=b;d=e;break g}if(a){x[8456]=x[8456]+1;d=ia[x[8258]](a<<2,16)|0}else{d=0}h:{if((b|0)<=0){break h}j=0;g=0;if(b>>>0>=4){k=b&-4;i=0;while(1){f=g<<2;x[f+d>>2]=x[e+f>>2];l=f|4;x[l+d>>2]=x[e+l>>2];l=f|8;x[l+d>>2]=x[e+l>>2];f=f|12;x[f+d>>2]=x[e+f>>2];g=g+4|0;i=i+4|0;if((k|0)!=(i|0)){continue}break}}f=b&3;if(!f){break h}while(1){i=g<<2;x[i+d>>2]=x[e+i>>2];g=g+1|0;j=j+1|0;if((f|0)!=(j|0)){continue}break}}f=o;o=1;if(!f){break g}if(e){x[8457]=x[8457]+1;ia[x[8259]](e)}}x[(b<<2)+d>>2]=x[h+40>>2];b=b+1|0}if((b|0)>0){continue}break}if(!o){break a}if(d){x[8457]=x[8457]+1;ia[x[8259]](d)}}ga=n+256|0}function ym(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=E(0),g=E(0),h=E(0),i=0,j=0,k=0,l=0,m=E(0),n=0;a=ga-624|0;ga=a;g=E(B[b+124>>2]-B[b+60>>2]);h=E(g*g);g=E(B[b+116>>2]-B[b+52>>2]);f=E(g*g);g=E(B[b+120>>2]-B[b+56>>2]);f=E(h+E(f+E(g*g)));g=B[b+276>>2];a:{b:{if(f>2]-B[c+60>>2]);m=E(f*f);f=E(B[c+116>>2]-B[c+52>>2]);h=E(f*f);f=E(B[c+120>>2]-B[c+56>>2]);h=E(m+E(h+E(f*f)));f=B[c+276>>2];if(h>2];g=B[c+272>>2];d=Ha(a+564|0);x[d+32>>2]=0;x[d+36>>2]=0;x[d+20>>2]=1065353216;x[d+24>>2]=1065353216;x[d+4>>2]=8;x[d>>2]=21396;x[d+56>>2]=0;B[d+52>>2]=g;x[d+28>>2]=1065353216;x[d+40>>2]=0;x[d+44>>2]=0;x[d+48>>2]=0;B[d+36>>2]=g;x[a+560>>2]=0;x[a+552>>2]=1566444395;x[a+556>>2]=0;x[a+388>>2]=13156;v[a+360|0]=0;x[a+336>>2]=953267991;e=a+12|0;x[e+12>>2]=d;x[e+8>>2]=i;x[e+4>>2]=a+28;x[e>>2]=22600;i=b+4|0;j=b+68|0;k=c+4|0;l=c+68|0;g=E(1);c:{if(!kc(e,i,j,k,l,a+388|0)){break c}f=B[a+552>>2];if(f>2]){B[b+268>>2]=f}if(f>2]){B[c+268>>2]=f}g=E(1);if(!(f>2];f=B[b+272>>2];d=Ha(a+564|0);x[d+32>>2]=0;x[d+36>>2]=0;x[d+20>>2]=1065353216;x[d+24>>2]=1065353216;x[d+4>>2]=8;x[d>>2]=21396;x[d+56>>2]=0;B[d+52>>2]=f;x[d+28>>2]=1065353216;x[d+40>>2]=0;x[d+44>>2]=0;x[d+48>>2]=0;B[d+36>>2]=f;x[a+560>>2]=0;x[a+552>>2]=1566444395;x[a+556>>2]=0;x[a+388>>2]=13156;v[a+360|0]=0;x[a+336>>2]=953267991;e=a+12|0;x[e+12>>2]=n;x[e+8>>2]=d;x[e+4>>2]=a+28;x[e>>2]=22600;d:{if(!kc(e,i,j,k,l,a+388|0)){break d}f=B[a+552>>2];if(f>2]){B[b+268>>2]=f}if(f>2]){B[c+268>>2]=f}if(!(f>2];m=B[b+20>>2];n=B[b+40>>2];o=B[b+24>>2];p=B[b+4>>2];q=B[b+8>>2];i=B[c+8>>2];r=B[b+32>>2];j=B[c>>2];s=B[b>>2];k=B[c+4>>2];t=B[b+16>>2];x[h+44>>2]=0;B[h+32>>2]=E(r*i)+E(E(s*j)+E(t*k));B[h+40>>2]=E(n*i)+E(E(q*j)+E(k*o));B[h+36>>2]=E(l*i)+E(E(p*j)+E(k*m));u=h+16|0;ia[x[x[a>>2]+64>>2]](u,a,h+32|0);o=B[b+56>>2];p=B[b+40>>2];q=B[b+36>>2];r=B[b+52>>2];s=B[b+24>>2];t=B[b+20>>2];v=B[b+32>>2];w=B[b+48>>2];y=B[b+8>>2];z=B[b>>2];A=B[b+4>>2];C=B[b+16>>2];i=B[h+24>>2];j=B[h+16>>2];k=B[h+20>>2];x[h+12>>2]=0;B[h+8>>2]=-B[h+40>>2];B[h+4>>2]=-B[h+36>>2];B[h>>2]=-B[h+32>>2];ia[x[x[a>>2]+64>>2]](u,a,h);D=B[b+56>>2];F=B[b+40>>2];G=B[b+36>>2];H=B[b+52>>2];I=B[b+24>>2];J=B[b+20>>2];K=B[b+32>>2];L=B[b+48>>2];M=B[b+8>>2];N=B[b>>2];O=B[b+4>>2];P=B[b+16>>2];l=B[h+24>>2];m=B[h+16>>2];n=B[h+20>>2];o=E(o+E(E(i*p)+E(E(j*v)+E(k*q))));p=E(w+E(E(i*y)+E(E(j*z)+E(k*A))));i=E(r+E(E(i*s)+E(E(j*C)+E(k*t))));B[d>>2]=E(o*B[c+8>>2])+E(E(p*B[c>>2])+E(i*B[c+4>>2]));j=E(D+E(E(l*F)+E(E(m*K)+E(n*G))));k=E(L+E(E(l*M)+E(E(m*N)+E(n*O))));l=E(H+E(E(l*I)+E(E(m*P)+E(n*J))));B[e>>2]=E(j*B[c+8>>2])+E(E(k*B[c>>2])+E(l*B[c+4>>2]));x[g+12>>2]=0;B[g+8>>2]=j;B[g+4>>2]=l;B[g>>2]=k;x[f+12>>2]=0;B[f+8>>2]=o;B[f+4>>2]=i;B[f>>2]=p;m=B[d>>2];n=B[e>>2];if(m>n){B[d>>2]=n;B[e>>2]=m;x[g+12>>2]=0;B[g+8>>2]=o;B[g+4>>2]=i;B[g>>2]=p;x[f+12>>2]=0;B[f+8>>2]=j;B[f+4>>2]=l;B[f>>2]=k}ga=h+48|0}function cm(a,b,c){a=a|0;b=b|0;c=E(c);var d=E(0),e=E(0),f=0,g=E(0),h=E(0),i=E(0),j=E(0),k=E(0),l=E(0),m=E(0),n=E(0),o=E(0),p=0;f=ga-32|0;ga=f;l=B[a+64>>2];i=E(B[a+80>>2]-l);d=B[a+68>>2];h=E(B[a+100>>2]-d);j=E(B[a+96>>2]-l);e=E(B[a+84>>2]-d);g=E(E(i*h)-E(j*e));k=g;o=E(g*g);n=e;e=B[a+72>>2];g=E(B[a+104>>2]-e);m=E(B[a+88>>2]-e);h=E(E(n*g)-E(h*m));i=E(E(m*j)-E(g*i));j=E(E(1)/E(M(E(o+E(E(h*h)+E(i*i))))));g=E(k*j);h=E(h*j);i=E(i*j);d=E(E(E(B[b+8>>2]*g)+E(E(B[b>>2]*h)+E(B[b+4>>2]*i)))-E(E(e*g)+E(E(l*h)+E(d*i))));l=E(-c);a:{if(!(d>=l)|!(c>=d)){break a}ia[x[x[a>>2]+104>>2]](a,0,f+16|0,f);j=B[f+16>>2];d=E(B[f>>2]-j);m=B[f+20>>2];e=E(B[f+4>>2]-m);c=E(E(d*i)-E(h*e));k=c;o=E(c*c);c=E(e*g);n=B[f+24>>2];e=E(B[f+8>>2]-n);c=E(c-E(i*e));d=E(E(e*h)-E(g*d));e=E(E(1)/E(M(E(o+E(E(c*c)+E(d*d))))));k=E(k*e);c=E(c*e);d=E(d*e);if(l>E(E(E(B[b+8>>2]*k)+E(E(B[b>>2]*c)+E(B[b+4>>2]*d)))-E(E(n*k)+E(E(j*c)+E(m*d))))){break a}ia[x[x[a>>2]+104>>2]](a,1,f+16|0,f);j=B[f+16>>2];d=E(B[f>>2]-j);m=B[f+20>>2];e=E(B[f+4>>2]-m);c=E(E(d*i)-E(h*e));k=c;o=E(c*c);c=E(e*g);n=B[f+24>>2];e=E(B[f+8>>2]-n);c=E(c-E(i*e));d=E(E(e*h)-E(g*d));e=E(E(1)/E(M(E(o+E(E(c*c)+E(d*d))))));k=E(k*e);c=E(c*e);d=E(d*e);if(l>E(E(E(B[b+8>>2]*k)+E(E(B[b>>2]*c)+E(B[b+4>>2]*d)))-E(E(n*k)+E(E(j*c)+E(m*d))))){break a}ia[x[x[a>>2]+104>>2]](a,2,f+16|0,f);k=l;l=B[f+16>>2];d=E(B[f>>2]-l);e=B[f+20>>2];j=E(B[f+4>>2]-e);c=E(E(d*i)-E(h*j));n=c;m=E(c*c);o=E(j*g);c=i;i=B[f+24>>2];j=E(B[f+8>>2]-i);c=E(o-E(c*j));g=E(E(j*h)-E(g*d));h=E(E(1)/E(M(E(m+E(E(c*c)+E(g*g))))));d=E(n*h);c=E(c*h);g=E(g*h);if(k>E(E(E(B[b+8>>2]*d)+E(E(B[b>>2]*c)+E(B[b+4>>2]*g)))-E(E(i*d)+E(E(l*c)+E(e*g))))){break a}p=1}ga=f+32|0;return p|0}function Zl(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=E(0),h=E(0),i=E(0),j=E(0),k=E(0),l=E(0),m=E(0),n=E(0),o=E(0),p=E(0),q=E(0),r=0,s=E(0),t=E(0),u=E(0),v=E(0),w=E(0),z=E(0),A=E(0),C=E(0),F=E(0),G=E(0),H=E(0),I=0,J=E(0),K=E(0),L=E(0),M=0,N=E(0),O=E(0),P=E(0),Q=E(0),R=0;I=x[a+52>>2];if((I|0)<=0){return E(E(1))}f=y[a+68|0];M=f?b:c;b=f?c:b;N=B[b- -64>>2];J=B[b+60>>2];K=B[b+56>>2];L=B[b+52>>2];O=B[b+48>>2];h=B[b+44>>2];i=B[b+40>>2];j=B[b+36>>2];P=B[b+32>>2];k=B[b+28>>2];l=B[b+24>>2];m=B[b+20>>2];Q=B[b+16>>2];n=B[b+12>>2];o=B[b+8>>2];r=x[b+304>>2];p=B[b+4>>2];R=x[b+192>>2];q=E(1);f=0;while(1){c=x[R+32>>2]+D(f,80)|0;g=B[c+56>>2];s=B[c+52>>2];t=B[c+48>>2];u=B[c+36>>2];v=B[c+20>>2];w=B[c+4>>2];z=B[c+40>>2];A=B[c+24>>2];C=B[c+8>>2];F=B[c+32>>2];G=B[c>>2];H=B[c+16>>2];x[b+64>>2]=0;x[b+48>>2]=0;x[b+32>>2]=0;x[b+16>>2]=0;x[b+304>>2]=r+1;B[b+36>>2]=E(F*h)+E(E(G*j)+E(i*H));B[b+20>>2]=E(F*k)+E(E(G*m)+E(l*H));B[b+4>>2]=E(F*n)+E(E(G*p)+E(o*H));B[b+44>>2]=E(z*h)+E(E(C*j)+E(i*A));B[b+40>>2]=E(u*h)+E(E(w*j)+E(i*v));B[b+28>>2]=E(z*k)+E(E(C*m)+E(l*A));B[b+24>>2]=E(u*k)+E(E(w*m)+E(l*v));B[b+12>>2]=E(z*n)+E(E(C*p)+E(o*A));B[b+8>>2]=E(u*n)+E(E(w*p)+E(o*v));B[b+60>>2]=J+E(E(g*h)+E(E(t*j)+E(i*s)));B[b+56>>2]=K+E(E(g*k)+E(E(t*m)+E(l*s)));B[b+52>>2]=L+E(E(g*n)+E(E(t*p)+E(o*s)));c=x[x[a+60>>2]+(f<<2)>>2];g=E(ia[x[x[c>>2]+12>>2]](c,b,M,d,e));B[b+64>>2]=N;B[b+60>>2]=J;B[b+56>>2]=K;B[b+52>>2]=L;B[b+48>>2]=O;B[b+44>>2]=h;B[b+40>>2]=i;B[b+36>>2]=j;B[b+32>>2]=P;B[b+28>>2]=k;B[b+24>>2]=l;B[b+20>>2]=m;B[b+16>>2]=Q;B[b+12>>2]=n;B[b+8>>2]=o;B[b+4>>2]=p;r=x[b+304>>2]+1|0;x[b+304>>2]=r;q=g>2];k=B[b>>2];j=B[b+8>>2];a:{if(E(F(j))>E(.7071067690849304)){h=E(E(g*g)+E(j*j));i=E(E(1)/E(M(h)));m=E(h*i);n=E(g*i);h=E(n*E(100));l=E(i*E(-j));o=E(k*l);n=E(n*E(-k));i=E(0);break a}i=E(E(k*k)+E(g*g));h=E(E(1)/E(M(i)));o=E(i*h);m=E(h*E(-g));i=E(m*E(100));n=E(j*m);l=E(k*h);m=E(l*E(-j));h=E(0)}p=B[d+52>>2];q=B[d+20>>2];r=B[d+24>>2];s=B[d+56>>2];t=B[d+36>>2];u=B[d+40>>2];v=B[d+48>>2];w=B[d+8>>2];y=B[d>>2];z=B[d+4>>2];A=B[d+16>>2];G=B[d+32>>2];x[f+28>>2]=0;j=E(j*c);C=E(j+h);k=E(k*c);D=E(k+i);c=E(g*c);l=E(l*E(100));g=E(c+l);B[f+24>>2]=s+E(E(u*C)+E(E(G*D)+E(t*g)));B[f+20>>2]=p+E(E(C*r)+E(E(D*A)+E(g*q)));B[f+16>>2]=v+E(E(C*w)+E(E(D*y)+E(g*z)));x[f+12>>2]=0;g=E(j-h);i=E(k-i);h=E(c-l);B[f+8>>2]=s+E(E(u*g)+E(E(G*i)+E(t*h)));B[f+4>>2]=p+E(E(g*r)+E(E(i*A)+E(h*q)));B[f>>2]=v+E(E(g*w)+E(E(i*y)+E(h*z)));b=f+16|0;ia[x[x[a>>2]+16>>2]](a,b,f,e);g=B[d+52>>2];i=B[d+24>>2];h=B[d+20>>2];l=B[d+56>>2];p=B[d+40>>2];q=B[d+36>>2];r=B[d+48>>2];s=B[d+8>>2];t=B[d>>2];u=B[d+4>>2];v=B[d+16>>2];w=B[d+32>>2];x[f+28>>2]=0;y=E(o*E(100));o=E(j+y);z=E(m*E(100));m=E(k+z);A=E(n*E(100));n=E(c+A);B[f+24>>2]=l+E(E(p*o)+E(E(w*m)+E(q*n)));B[f+20>>2]=g+E(E(o*i)+E(E(m*v)+E(n*h)));B[f+16>>2]=r+E(E(o*s)+E(E(m*t)+E(n*u)));x[f+12>>2]=0;j=E(j-y);k=E(k-z);c=E(c-A);B[f+8>>2]=l+E(E(p*j)+E(E(w*k)+E(q*c)));B[f+4>>2]=g+E(E(j*i)+E(E(k*v)+E(c*h)));B[f>>2]=r+E(E(j*s)+E(E(k*t)+E(c*u)));ia[x[x[a>>2]+16>>2]](a,b,f,e);ga=f+32|0}function $a(a,b,c,d,e){var f=E(0),g=E(0),h=E(0),i=E(0),j=E(0),k=E(0),l=E(0),m=E(0),n=0,o=E(0),p=E(0);n=ga-16|0;ga=n;f=B[a+52>>2];g=B[a+56>>2];i=B[a+48>>2];h=B[b>>2];j=B[b+4>>2];k=B[b+8>>2];x[e+60>>2]=0;B[e+56>>2]=g+E(k*d);B[e+52>>2]=f+E(j*d);B[e+48>>2]=i+E(h*d);i=B[c+8>>2];l=B[c>>2];m=B[c+4>>2];f=E(E(i*i)+E(E(l*l)+E(m*m)));f=f>E(1.1920928955078125e-7)?E(M(f)):E(0);g=E(f*d)>E(.7853981852531433)?E(E(.7853981852531433)/d):f;a:{if(g>2];j=B[n+12>>2];g=Ba(E(E(g*d)*E(.5)));k=B[n>>2];l=E(l*f);m=E(m*f);o=E(i*f);p=B[n+8>>2];f=E(E(E(E(j*g)-E(k*l))-E(h*m))-E(o*p));i=E(E(E(l*h)+E(E(g*p)+E(o*j)))-E(m*k));d=E(E(E(m*p)+E(E(g*k)+E(l*j)))-E(o*h));g=E(E(E(o*k)+E(E(g*h)+E(m*j)))-E(l*p));h=E(E(f*f)+E(E(i*i)+E(E(d*d)+E(g*g))));if(h>E(1.1920928955078125e-7)){h=E(E(1)/E(M(h)));f=E(f*h);i=E(i*h);d=E(d*h);g=E(g*h);h=E(E(f*f)+E(E(i*i)+E(E(d*d)+E(g*g))))}b:{if(h>E(1.1920928955078125e-7)){x[e+12>>2]=0;x[e+44>>2]=0;x[e+28>>2]=0;j=E(E(2)/h);h=E(i*j);k=E(g*h);l=E(d*j);m=E(f*l);B[e+36>>2]=k+m;o=E(d*h);j=E(g*j);p=E(f*j);B[e+32>>2]=o-p;B[e+24>>2]=k-m;k=E(d*j);f=E(f*h);B[e+16>>2]=k+f;B[e+8>>2]=o+p;B[e+4>>2]=k-f;d=E(d*l);f=E(g*j);B[e+40>>2]=E(1)-E(d+f);g=d;d=E(i*h);B[e+20>>2]=E(1)-E(g+d);B[e>>2]=E(1)-E(f+d);break b}b=x[a+4>>2];x[e>>2]=x[a>>2];x[e+4>>2]=b;b=x[a+12>>2];x[e+8>>2]=x[a+8>>2];x[e+12>>2]=b;b=x[a+20>>2];x[e+16>>2]=x[a+16>>2];x[e+20>>2]=b;b=x[a+28>>2];x[e+24>>2]=x[a+24>>2];x[e+28>>2]=b;b=x[a+36>>2];x[e+32>>2]=x[a+32>>2];x[e+36>>2]=b;b=x[a+44>>2];x[e+40>>2]=x[a+40>>2];x[e+44>>2]=b}ga=n+16|0}function pm(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=E(0),h=E(0),i=0,j=0,k=E(0),l=0,m=E(0),n=0,o=0,p=0;i=ga-144|0;ga=i;ia[x[8262]](7475);g=B[b>>2];h=B[b+16>>2];m=g>2];a:{if(B[a+20>>2]<(k>m?m:k)){break a}e=g>h;if(B[(k<(e?g:h)?!e<<4:32)+b>>2]>2]){break a}g=B[b+8>>2];e=b+24|0;h=B[e>>2];m=g>2];if(B[a+28>>2]<(k>m?m:k)){break a}l=e;e=g>h;if(B[(k<(e?g:h)?e?b+8|0:l:j)>>2]>2]){break a}g=B[b+4>>2];e=b+20|0;h=B[e>>2];m=g>2];if(B[a+24>>2]<(k>m?m:k)){break a}l=e;e=g>h;if(x[x[x[a+36>>2]+4>>2]+4>>2]>19|B[(k<(e?g:h)?e?b+4|0:l:j)>>2]>2]){break a}j=x[a+48>>2];e=Db(i+28|0);x[e+4>>2]=1;x[e>>2]=15832;f=x[b+12>>2];x[e+72>>2]=x[b+8>>2];x[e+76>>2]=f;f=x[b+4>>2];x[e+64>>2]=x[b>>2];x[e+68>>2]=f;f=x[b+28>>2];x[e+88>>2]=x[b+24>>2];x[e+92>>2]=f;f=x[b+20>>2];x[e+80>>2]=x[b+16>>2];x[e+84>>2]=f;f=x[b+44>>2];x[e+104>>2]=x[b+40>>2];x[e+108>>2]=f;f=x[b+36>>2];x[e+96>>2]=x[b+32>>2];x[e+100>>2]=f;B[e+52>>2]=B[a+56>>2];b=x[a+40>>2];f=x[b+8>>2];n=x[b+12>>2];x[i+24>>2]=d;x[i+20>>2]=c;x[i+12>>2]=f;x[i+16>>2]=n;x[i+8>>2]=e;x[i+4>>2]=b;b=x[a+36>>2];b:{if(B[x[a+44>>2]+32>>2]>E(0)){b=ia[x[x[j>>2]+8>>2]](j,b,i+4|0,0,2)|0;break b}b=ia[x[x[j>>2]+8>>2]](j,b,i+4|0,x[a+64>>2],1)|0}f=x[a+44>>2];n=x[f+8>>2];c:{if(x[n+8>>2]==x[x[a+40>>2]+8>>2]){l=f+8|0;o=2;break c}n=x[f+12>>2];l=f+12|0;o=3}p=l;l=i+4|0;x[p>>2]=l;ia[x[x[f>>2]+(o<<2)>>2]](f,c,d);ia[x[x[b>>2]+8>>2]](b,x[a+36>>2],l,x[a+52>>2],x[a+44>>2]);c=x[a+44>>2];x[(x[x[c+8>>2]+8>>2]==x[x[a+40>>2]+8>>2]?8:12)+c>>2]=n;ia[x[x[b>>2]>>2]](b)|0;ia[x[x[j>>2]+60>>2]](j,b);hb(e)}ia[x[8263]]();ga=i+144|0}function ld(a){var b=0,c=0,d=0,e=0,f=0,g=0,h=0;b=x[a+8>>2];c=x[a+32>>2];f=c?x[a+40>>2]:0;d=c;c=x[a+52>>2];g=c?x[a+60>>2]:0;h=c;c=x[a+72>>2];E(ia[x[x[b>>2]+12>>2]](b,f,d,g,h,c?x[a+80>>2]:0,c,x[a+4>>2],x[a+20>>2],x[a+24>>2]));c=x[a+32>>2];a:{if((c|0)>=0){break a}if(x[a+36>>2]<0){b=x[a+40>>2];if(!(b?!b|!y[a+44|0]:1)){x[8457]=x[8457]+1;ia[x[8259]](b)}v[a+44|0]=1;x[a+36>>2]=0;x[a+40>>2]=0}b=c;d=0-b&3;if(d){while(1){x[x[a+40>>2]+(b<<2)>>2]=0;b=b+1|0;e=e+1|0;if((d|0)!=(e|0)){continue}break}}if(c>>>0>4294967292){break a}while(1){c=b<<2;x[c+x[a+40>>2]>>2]=0;x[(c+x[a+40>>2]|0)+4>>2]=0;x[(c+x[a+40>>2]|0)+8>>2]=0;x[(c+x[a+40>>2]|0)+12>>2]=0;b=b+4|0;if(b){continue}break}}x[a+32>>2]=0;c=x[a+52>>2];b:{if((c|0)>=0){break b}if(x[a+56>>2]<0){b=x[a+60>>2];if(!(b?!b|!y[a- -64|0]:1)){x[8457]=x[8457]+1;ia[x[8259]](b)}v[a+64|0]=1;x[a+56>>2]=0;x[a+60>>2]=0}e=0;b=c;d=0-b&3;if(d){while(1){x[x[a+60>>2]+(b<<2)>>2]=0;b=b+1|0;e=e+1|0;if((d|0)!=(e|0)){continue}break}}if(c>>>0>4294967292){break b}while(1){c=b<<2;x[c+x[a+60>>2]>>2]=0;x[(c+x[a+60>>2]|0)+4>>2]=0;x[(c+x[a+60>>2]|0)+8>>2]=0;x[(c+x[a+60>>2]|0)+12>>2]=0;b=b+4|0;if(b){continue}break}}x[a+52>>2]=0;c=x[a+72>>2];c:{if((c|0)>=0){break c}if(x[a+76>>2]<0){b=x[a+80>>2];if(!(b?!b|!y[a+84|0]:1)){x[8457]=x[8457]+1;ia[x[8259]](b)}v[a+84|0]=1;x[a+76>>2]=0;x[a+80>>2]=0}e=0;b=c;d=0-b&3;if(d){while(1){x[x[a+80>>2]+(b<<2)>>2]=0;b=b+1|0;e=e+1|0;if((d|0)!=(e|0)){continue}break}}if(c>>>0>4294967292){break c}while(1){c=b<<2;x[c+x[a+80>>2]>>2]=0;x[(c+x[a+80>>2]|0)+4>>2]=0;x[(c+x[a+80>>2]|0)+8>>2]=0;x[(c+x[a+80>>2]|0)+12>>2]=0;b=b+4|0;if(b){continue}break}}x[a+72>>2]=0}function Sm(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=E(0),h=E(0),i=E(0),j=E(0),k=E(0),l=E(0),m=0;e=ga-256|0;ga=e;x[e+36>>2]=14660;f=x[b+12>>2];x[e+80>>2]=x[b+8>>2];x[e+84>>2]=f;f=x[b+4>>2];x[e+72>>2]=x[b>>2];x[e+76>>2]=f;f=x[c+12>>2];x[e+96>>2]=x[c+8>>2];x[e+100>>2]=f;f=x[c>>2];m=x[c+4>>2];x[e+108>>2]=0;x[e+112>>2]=0;x[e+116>>2]=0;x[e+120>>2]=0;x[e+128>>2]=0;x[e+132>>2]=0;x[e+124>>2]=1065353216;x[e+136>>2]=0;x[e+140>>2]=0;x[e+144>>2]=1065353216;x[e+148>>2]=0;x[e+88>>2]=f;x[e+92>>2]=m;x[e+252>>2]=d;x[e+104>>2]=1065353216;x[e+248>>2]=a;d=x[b+4>>2];x[e+152>>2]=x[b>>2];x[e+156>>2]=d;d=x[b+12>>2];x[e+160>>2]=x[b+8>>2];x[e+164>>2]=d;x[e+172>>2]=0;x[e+176>>2]=0;x[e+180>>2]=0;x[e+184>>2]=0;x[e+188>>2]=1065353216;x[e+192>>2]=0;x[e+196>>2]=0;x[e+200>>2]=0;x[e+204>>2]=0;x[e+208>>2]=1065353216;x[e+212>>2]=0;x[e+168>>2]=1065353216;d=x[c+12>>2];x[e+224>>2]=x[c+8>>2];x[e+228>>2]=d;d=x[c+4>>2];x[e+216>>2]=x[c>>2];x[e+220>>2]=d;g=E(B[c+8>>2]-B[b+8>>2]);j=E(B[c>>2]-B[b>>2]);h=E(B[c+4>>2]-B[b+4>>2]);i=E(E(1)/E(M(E(E(g*g)+E(E(j*j)+E(h*h))))));g=E(g*i);k=g==E(0)?E(0xde0b6b000000000):E(E(1)/g);B[e+48>>2]=k;h=E(h*i);l=h==E(0)?E(0xde0b6b000000000):E(E(1)/h);B[e+44>>2]=l;x[e- -64>>2]=k>2]=l>2]=j;x[e+56>>2]=j>2]=E(g*E(B[e+96>>2]-B[e+80>>2]))+E(E(i*E(B[e+88>>2]-B[e+72>>2]))+E(h*E(B[e+92>>2]-B[e+76>>2])));a=x[a+68>>2];x[e+24>>2]=0;x[e+28>>2]=0;x[e+16>>2]=0;x[e+20>>2]=0;x[e+8>>2]=0;x[e+12>>2]=0;x[e>>2]=0;x[e+4>>2]=0;ia[x[x[a>>2]+24>>2]](a,b,c,e+36|0,e+16|0,e);ga=e+256|0}function zc(a){a=a|0;var b=0;x[a>>2]=16752;if(y[a+20|0]){b=x[x[a+16>>2]+16>>2];if(b){x[8457]=x[8457]+1;ia[x[8259]](b)}b=x[a+16>>2];if(b){x[8457]=x[8457]+1;ia[x[8259]](b)}}if(y[a+12|0]){b=x[x[a+8>>2]+16>>2];if(b){x[8457]=x[8457]+1;ia[x[8259]](b)}b=x[a+8>>2];if(b){x[8457]=x[8457]+1;ia[x[8259]](b)}}b=x[a+28>>2];ia[x[x[b>>2]>>2]](b)|0;b=x[a+28>>2];if(b){x[8457]=x[8457]+1;ia[x[8259]](b)}b=x[a+32>>2];ia[x[x[b>>2]>>2]](b)|0;b=x[a+32>>2];if(b){x[8457]=x[8457]+1;ia[x[8259]](b)}b=x[a+36>>2];ia[x[x[b>>2]>>2]](b)|0;b=x[a+36>>2];if(b){x[8457]=x[8457]+1;ia[x[8259]](b)}b=x[a+40>>2];ia[x[x[b>>2]>>2]](b)|0;b=x[a+40>>2];if(b){x[8457]=x[8457]+1;ia[x[8259]](b)}b=x[a+44>>2];ia[x[x[b>>2]>>2]](b)|0;b=x[a+44>>2];if(b){x[8457]=x[8457]+1;ia[x[8259]](b)}b=x[a+48>>2];ia[x[x[b>>2]>>2]](b)|0;b=x[a+48>>2];if(b){x[8457]=x[8457]+1;ia[x[8259]](b)}b=x[a+52>>2];ia[x[x[b>>2]>>2]](b)|0;b=x[a+52>>2];if(b){x[8457]=x[8457]+1;ia[x[8259]](b)}b=x[a+56>>2];ia[x[x[b>>2]>>2]](b)|0;b=x[a+56>>2];if(b){x[8457]=x[8457]+1;ia[x[8259]](b)}b=x[a+72>>2];ia[x[x[b>>2]>>2]](b)|0;b=x[a+72>>2];if(b){x[8457]=x[8457]+1;ia[x[8259]](b)}b=x[a+76>>2];ia[x[x[b>>2]>>2]](b)|0;b=x[a+76>>2];if(b){x[8457]=x[8457]+1;ia[x[8259]](b)}b=x[a+68>>2];ia[x[x[b>>2]>>2]](b)|0;b=x[a+68>>2];if(b){x[8457]=x[8457]+1;ia[x[8259]](b)}b=x[a+84>>2];ia[x[x[b>>2]>>2]](b)|0;b=x[a+84>>2];if(b){x[8457]=x[8457]+1;ia[x[8259]](b)}b=x[a+80>>2];ia[x[x[b>>2]>>2]](b)|0;b=x[a+80>>2];if(b){x[8457]=x[8457]+1;ia[x[8259]](b)}b=x[a+24>>2];ia[x[x[b>>2]>>2]](b)|0;b=x[a+24>>2];if(b){x[8457]=x[8457]+1;ia[x[8259]](b)}return a|0}function Rp(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;a:{b:{c:{d:{e:{f:{g:{h:{d=x[x[b>>2]+192>>2];if(x[d+4>>2]!=31){break h}f=x[b+4>>2];if(!f){break h}n=x[x[(x[d+32>>2]+D(x[f>>2],80)|0)+64>>2]+8>>2];d=x[a+136>>2];if((d|0)!=x[a+140>>2]){break a}j=d?d<<1:1;if((j|0)<=(d|0)){break a}if(j){x[8456]=x[8456]+1;g=ia[x[8258]](j<<2,16)|0;d=x[a+136>>2]}f=x[a+144>>2];if((d|0)<=0){break g}if(d>>>0>=4){m=d&-4;while(1){e=h<<2;x[e+g>>2]=x[f+e>>2];i=e|4;x[i+g>>2]=x[f+i>>2];i=e|8;x[i+g>>2]=x[f+i>>2];e=e|12;x[e+g>>2]=x[f+e>>2];h=h+4|0;k=k+4|0;if((m|0)!=(k|0)){continue}break}}d=d&3;if(!d){break c}while(1){e=h<<2;x[e+g>>2]=x[f+e>>2];h=h+1|0;l=l+1|0;if((d|0)!=(l|0)){continue}break}break c}n=x[d+8>>2];d=x[a+136>>2];if((d|0)!=x[a+140>>2]){break a}j=d?d<<1:1;if((j|0)<=(d|0)){break a}if(j){x[8456]=x[8456]+1;g=ia[x[8258]](j<<2,16)|0;d=x[a+136>>2]}f=x[a+144>>2];if((d|0)<=0){break f}if(d>>>0>=4){m=d&-4;while(1){e=h<<2;x[e+g>>2]=x[f+e>>2];i=e|4;x[i+g>>2]=x[f+i>>2];i=e|8;x[i+g>>2]=x[f+i>>2];e=e|12;x[e+g>>2]=x[f+e>>2];h=h+4|0;k=k+4|0;if((m|0)!=(k|0)){continue}break}}d=d&3;if(!d){break e}while(1){e=h<<2;x[e+g>>2]=x[f+e>>2];h=h+1|0;l=l+1|0;if((d|0)!=(l|0)){continue}break}break e}if(f){break c}break b}if(!f){break d}}if(f?y[a+148|0]:0){x[8457]=x[8457]+1;ia[x[8259]](f)}d=x[a+136>>2]}x[a+144>>2]=g;x[a+140>>2]=j;v[a+148|0]=1;break a}if(f?y[a+148|0]:0){x[8457]=x[8457]+1;ia[x[8259]](f)}d=x[a+136>>2]}x[a+144>>2]=g;x[a+140>>2]=j;v[a+148|0]=1}x[x[a+144>>2]+(d<<2)>>2]=n;x[a+136>>2]=x[a+136>>2]+1;return E(zf(a,b,c))}function tc(a){var b=0,c=0,d=E(0),e=0,f=E(0),g=E(0),h=E(0),i=E(0),j=E(0),k=E(0),l=0;e=x[a+28>>2];if((e|0)<=0){return 1}f=B[a+84>>2];g=B[a+68>>2];i=E(f+g);h=B[a+88>>2];d=B[a+72>>2];j=E(h+d);h=E(d-h);f=E(g-f);d=B[a+80>>2];k=B[a+64>>2];g=E(d+k);d=E(k-d);a=x[a+36>>2];a:{b:{while(1){b=a+D(c,36)|0;if(E(B[b+32>>2]+E(E(j*B[b+28>>2])+E(E(g*B[b+20>>2])+E(i*B[b+24>>2]))))>E(0)){break b}c=c+1|0;if((e|0)!=(c|0)){continue}break}c=0;while(1){b=a+D(c,36)|0;if(E(B[b+32>>2]+E(E(h*B[b+28>>2])+E(E(g*B[b+20>>2])+E(i*B[b+24>>2]))))>E(0)){break a}c=c+1|0;if((e|0)!=(c|0)){continue}break}c=0;while(1){b=a+D(c,36)|0;if(E(B[b+32>>2]+E(E(j*B[b+28>>2])+E(E(g*B[b+20>>2])+E(f*B[b+24>>2]))))>E(0)){break a}c=c+1|0;if((e|0)!=(c|0)){continue}break}c=0;while(1){b=a+D(c,36)|0;if(E(B[b+32>>2]+E(E(h*B[b+28>>2])+E(E(g*B[b+20>>2])+E(f*B[b+24>>2]))))>E(0)){break a}c=c+1|0;if((e|0)!=(c|0)){continue}break}c=0;while(1){b=a+D(c,36)|0;if(E(B[b+32>>2]+E(E(j*B[b+28>>2])+E(E(d*B[b+20>>2])+E(i*B[b+24>>2]))))>E(0)){break a}c=c+1|0;if((e|0)!=(c|0)){continue}break}c=0;while(1){b=a+D(c,36)|0;if(E(B[b+32>>2]+E(E(h*B[b+28>>2])+E(E(d*B[b+20>>2])+E(i*B[b+24>>2]))))>E(0)){break a}c=c+1|0;if((e|0)!=(c|0)){continue}break}c=0;while(1){b=a+D(c,36)|0;if(E(B[b+32>>2]+E(E(j*B[b+28>>2])+E(E(d*B[b+20>>2])+E(f*B[b+24>>2]))))>E(0)){break a}c=c+1|0;if((e|0)!=(c|0)){continue}break}c=0;while(1){c:{b=a+D(c,36)|0;b=E(B[b+32>>2]+E(E(h*B[b+28>>2])+E(E(d*B[b+20>>2])+E(f*B[b+24>>2]))))>E(0);l=!b;if(b){break c}c=c+1|0;if((e|0)!=(c|0)){continue}}break}return l}return 0}return 0}function kr(a,b,c){a=a|0;b=E(b);c=E(c);var d=E(0),e=E(0),f=0,g=0,h=0,i=E(0),j=E(0),k=E(0),l=E(0),m=E(0),n=E(0),o=E(0),p=E(0),q=E(0),r=E(0),s=E(0),t=E(0),u=E(0),v=E(0),w=E(0),y=E(0),z=0,A=E(0);h=ga-16|0;ga=h;B[h+12>>2]=b;d=B[a+692>>2];a:{if(!(d>E(0))){break a}e=B[a+688>>2];b=Fa(E(B[h+12>>2]-e));b:{if(bE(3.1415927410125732))){break b}b=E(b+E(-6.2831854820251465))}if(!(E(-d)>b)&b<=d){break a}c:{if(b>E(0)){b=Fa(E(d+e));if(bE(3.1415927410125732))){break c}b=E(b+E(-6.2831854820251465));break c}b=Fa(E(e-d));if(bE(3.1415927410125732))){break c}b=E(b+E(-6.2831854820251465))}B[h+12>>2]=b}f=x[a+32>>2];b=B[a+652>>2];d=B[a+620>>2];e=B[a+636>>2];m=E(E(B[f+44>>2]*b)+E(E(B[f+36>>2]*d)+E(e*B[f+40>>2])));g=x[a+28>>2];n=B[g+44>>2];i=B[a+584>>2];o=B[g+36>>2];j=B[a+552>>2];k=B[a+568>>2];p=B[g+40>>2];v=E(m*E(E(n*i)+E(E(o*j)+E(k*p))));q=E(E(B[f+12>>2]*b)+E(E(B[f+4>>2]*d)+E(e*B[f+8>>2])));r=B[g+12>>2];s=B[g+4>>2];t=B[g+8>>2];w=E(q*E(E(r*i)+E(E(s*j)+E(k*t))));u=B[g+28>>2];l=E(u*i);i=B[g+20>>2];y=E(i*j);j=B[g+24>>2];l=E(l+E(y+E(k*j)));k=E(E(B[f+28>>2]*b)+E(E(B[f+20>>2]*d)+E(e*B[f+24>>2])));b=B[a+588>>2];d=B[a+556>>2];e=B[a+572>>2];z=a,A=E(E(B[h+12>>2]-E(xa(E(v+E(w+E(l*k))),E(E(m*E(E(n*b)+E(E(o*d)+E(p*e))))+E(E(q*E(E(r*b)+E(E(s*d)+E(t*e))))+E(E(E(u*b)+E(E(i*d)+E(j*e)))*k))))*B[a+732>>2]))/c),B[z+680>>2]=A;ga=h+16|0}function ti(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=E(0),f=E(0),g=E(0),h=E(0),i=0,j=E(0),k=E(0),l=E(0),m=E(0),n=E(0),o=E(0),p=E(0),q=E(0),r=E(0),s=E(0),t=E(0),u=E(0),v=E(0),w=E(0),y=E(0),z=E(0),A=E(0),C=0,D=E(0);i=ga-32|0;ga=i;h=B[b+20>>2];r=B[b+36>>2];s=B[b+24>>2];y=B[b+40>>2];j=B[b+4>>2];t=B[b+32>>2];o=B[b+8>>2];p=B[b>>2];u=B[b+16>>2];x[i+28>>2]=0;g=E(u-p);k=E(r-j);e=E(t-p);l=E(h-j);f=E(E(g*k)-E(e*l));m=l;l=E(y-o);n=E(s-o);k=E(E(m*l)-E(k*n));g=E(E(n*e)-E(l*g));e=E(E(o*f)+E(E(p*k)+E(j*g)));v=B[a+12>>2];m=B[a+4>>2];q=B[a+8>>2];l=E(E(E(f*v)+E(E(k*m)+E(g*q)))-e);w=B[a+28>>2];z=B[a+20>>2];A=B[a+24>>2];e=E(E(E(f*w)+E(E(k*z)+E(g*A)))-e);a:{if(E(l*e)>=E(0)){break a}b=x[a+36>>2];if(b&1&l<=E(0)){break a}e=E(l/E(l-e));if(!(e>2])){break a}n=E(E(1)-e);m=E(E(n*m)+E(z*e));p=E(p-m);q=E(E(n*q)+E(A*e));h=E(h-q);u=E(u-m);j=E(j-q);n=E(E(n*v)+E(w*e));s=E(s-n);o=E(o-n);w=E(E(f*f)+E(E(k*k)+E(g*g)));v=E(w*E(-9999999747378752e-20));if(!(E(E(E(E(p*h)-E(u*j))*f)+E(E(E(E(j*s)-E(h*o))*k)+E(g*E(E(o*u)-E(s*p)))))>=v)){break a}r=E(r-q);t=E(t-m);q=E(E(E(u*r)-E(t*h))*f);m=h;h=E(y-n);if(!(v<=E(q+E(E(E(E(m*h)-E(r*s))*k)+E(g*E(E(s*t)-E(h*u))))))|!(v<=E(E(E(E(t*j)-E(p*r))*f)+E(E(E(E(r*o)-E(j*h))*k)+E(g*E(E(h*p)-E(o*t))))))){break a}h=f;f=E(E(1)/E(M(w)));j=E(h*f);B[i+24>>2]=j;g=E(g*f);B[i+20>>2]=g;f=E(k*f);B[i+16>>2]=f;if(!(!(l<=E(0))|b&2)){x[i+12>>2]=0;B[i+8>>2]=-j;B[i+4>>2]=-g;B[i>>2]=-f;C=a,D=E(ia[x[x[a>>2]+12>>2]](a,i,e,c,d)),B[C+40>>2]=D;break a}C=a,D=E(ia[x[x[a>>2]+12>>2]](a,i+16|0,e,c,d)),B[C+40>>2]=D}ga=i+32|0}function wn(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;c=ga-32|0;ga=c;x[c+24>>2]=0;x[c+16>>2]=0;x[c+20>>2]=0;v[c+28|0]=1;a:{if(x[a+8>>2]<=0){break a}while(1){e=x[a+16>>2]+(j<<4)|0;b:{if(x[c+20>>2]!=(d|0)){break b}f=d?d<<1:1;if((f|0)<=(d|0)){break b}h=0;i=0;if(f){x[8456]=x[8456]+1;i=ia[x[8258]](f<<4,16)|0}if((d|0)>0){while(1){g=h<<4;k=g+i|0;g=g+x[c+24>>2]|0;x[k>>2]=x[g>>2];x[k+4>>2]=x[g+4>>2];x[k+8>>2]=x[g+8>>2];x[k+12>>2]=x[g+12>>2];h=h+1|0;if((h|0)!=(d|0)){continue}break}}d=x[c+24>>2];if(!(d?!d|!y[c+28|0]:1)){x[8457]=x[8457]+1;ia[x[8259]](d)}x[c+24>>2]=i;v[c+28|0]=1;x[c+20>>2]=f;d=x[c+16>>2]}d=x[c+24>>2]+(d<<4)|0;x[d>>2]=x[e>>2];x[d+4>>2]=x[e+4>>2];x[d+8>>2]=x[e+8>>2];x[d+12>>2]=x[e+12>>2];f=x[c+16>>2];d=f+1|0;x[c+16>>2]=d;j=j+1|0;if((j|0)>2]){continue}break}e=0;if((f|0)<0){break a}i=f+1|0;k=i&1;h=x[c+24>>2];if(f){i=i&-2;f=0;while(1){g=e<<4;j=g+h|0;ia[x[x[a>>2]+12>>2]](a,x[j>>2],x[j+4>>2],b)|0;g=h+(g|16)|0;ia[x[x[a>>2]+12>>2]](a,x[g>>2],x[g+4>>2],b)|0;e=e+2|0;f=f+2|0;if((i|0)!=(f|0)){continue}break}}if(!k){break a}e=h+(e<<4)|0;ia[x[x[a>>2]+12>>2]](a,x[e>>2],x[e+4>>2],b)|0}if(x[a+52>>2]>0){b=x[a+60>>2];e=0;while(1){x[b+(e<<2)>>2]=-1;e=e+1|0;if((e|0)>2]){continue}break}d=x[c+16>>2]}if((d|0)>=2){Nb(c+12|0,c+11|0,0,d-1|0);d=x[c+16>>2]}if((d|0)>0){e=0;while(1){b=x[c+24>>2]+(e<<4)|0;ia[x[x[a>>2]+8>>2]](a,x[b>>2],x[b+4>>2])|0;e=e+1|0;if((e|0)>2]){continue}break}}a=x[c+24>>2];if(!(a?!a|!y[c+28|0]:1)){x[8457]=x[8457]+1;ia[x[8259]](a)}ga=c+32|0}function Zg(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;k=ga-16|0;ga=k;ia[x[8262]](4554);b=x[a+220>>2];ia[x[x[b>>2]+8>>2]](b,a,x[a+24>>2]);h=x[a+324>>2];if((h|0)>0){i=x[a+332>>2];j=x[a+220>>2];while(1){b=x[i+(g<<2)>>2];c=x[b+836>>2];a:{if(!c){break a}b=x[b+840>>2];if(!b|x[c+204>>2]&3|y[b+204|0]&3){break a}b=x[b+208>>2];d=x[j+16>>2];e=x[c+208>>2];f=d+(e<<3)|0;c=x[f>>2];if((c|0)!=(e|0)){while(1){c=d+(c<<3)|0;x[f>>2]=x[c>>2];e=x[c>>2];f=d+(e<<3)|0;c=x[f>>2];if((c|0)!=(e|0)){continue}break}}f=d+(b<<3)|0;c=x[f>>2];if((c|0)!=(b|0)){while(1){b=d+(c<<3)|0;x[f>>2]=x[b>>2];b=x[b>>2];f=d+(b<<3)|0;c=x[f>>2];if((b|0)!=(c|0)){continue}break}}if((b|0)==(e|0)){break a}c=d+(e<<3)|0;x[c>>2]=b;b=d+(b<<3)|0;x[b+4>>2]=x[b+4>>2]+x[c+4>>2]}g=g+1|0;if((h|0)!=(g|0)){continue}break}}h=x[a+228>>2];if((h|0)>0){i=x[a+236>>2];j=x[a+220>>2];f=0;while(1){b=x[i+(f<<2)>>2];b:{if(!y[b+20|0]){break b}c=x[b+28>>2];if(y[c+204|0]&3){break b}b=x[b+32>>2];if(y[b+204|0]&3){break b}b=x[b+208>>2];d=x[j+16>>2];e=x[c+208>>2];c=d+(e<<3)|0;g=x[c>>2];if((g|0)!=(e|0)){while(1){e=c;c=d+(g<<3)|0;x[e>>2]=x[c>>2];e=x[c>>2];c=d+(e<<3)|0;g=x[c>>2];if((g|0)!=(e|0)){continue}break}}c=d+(b<<3)|0;g=x[c>>2];if((g|0)!=(b|0)){while(1){b=d+(g<<3)|0;x[c>>2]=x[b>>2];b=x[b>>2];c=d+(b<<3)|0;g=x[c>>2];if((b|0)!=(g|0)){continue}break}}if((b|0)==(e|0)){break b}c=d+(e<<3)|0;x[c>>2]=b;b=d+(b<<3)|0;x[b+4>>2]=x[b+4>>2]+x[c+4>>2]}f=f+1|0;if((h|0)!=(f|0)){continue}break}}b=x[a+220>>2];ia[x[x[b>>2]+12>>2]](b,a);ia[x[8263]]();ga=k+16|0}function dr(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0;f=x[b+4>>2];x[a+40>>2]=x[b>>2];x[a+44>>2]=f;f=x[b+12>>2];x[a+48>>2]=x[b+8>>2];x[a+52>>2]=f;b=x[c+4>>2];x[a+56>>2]=x[c>>2];x[a+60>>2]=b;f=x[c+12>>2];b=a- -64|0;x[b>>2]=x[c+8>>2];x[b+4>>2]=f;v[a+152|0]=e;x[a+12>>2]=d;x[a+4>>2]=1065353216;x[a+8>>2]=0;c=x[a+136>>2];if((c|0)<0){b=x[a+144>>2];if(x[a+140>>2]<0){if(!(b?!b|!y[a+148|0]:1)){x[8457]=x[8457]+1;ia[x[8259]](b)}v[a+148|0]=1;x[a+140>>2]=0;x[a+144>>2]=0;b=0}d=b;b=c<<2;ua(d+b|0,0,0-b|0)}x[a+136>>2]=0;c=x[a+116>>2];if((c|0)<0){b=x[a+124>>2];if(x[a+120>>2]<0){if(!(b?!b|!y[a+128|0]:1)){x[8457]=x[8457]+1;ia[x[8259]](b)}v[a+128|0]=1;x[a+120>>2]=0;x[a+124>>2]=0;b=0}d=b;b=c<<2;ua(d+b|0,0,0-b|0)}x[a+116>>2]=0;c=x[a+24>>2];a:{if((c|0)>=0){break a}if(x[a+28>>2]<0){b=x[a+32>>2];if(!(b?!b|!y[a+36|0]:1)){x[8457]=x[8457]+1;ia[x[8259]](b)}v[a+36|0]=1;x[a+28>>2]=0;x[a+32>>2]=0}d=0;b=c;e=0-b&3;if(e){while(1){x[x[a+32>>2]+(b<<2)>>2]=0;b=b+1|0;d=d+1|0;if((e|0)!=(d|0)){continue}break}}if(c>>>0>4294967292){break a}while(1){c=b<<2;x[c+x[a+32>>2]>>2]=0;x[(c+x[a+32>>2]|0)+4>>2]=0;x[(c+x[a+32>>2]|0)+8>>2]=0;x[(c+x[a+32>>2]|0)+12>>2]=0;b=b+4|0;if(b){continue}break}}x[a+24>>2]=0;if((x[a+96>>2]&x[a+100>>2])<0){b=x[a+104>>2];if(!(b?!b|!y[a+108|0]:1)){x[8457]=x[8457]+1;ia[x[8259]](b)}v[a+108|0]=1;x[a+100>>2]=0;x[a+104>>2]=0}x[a+96>>2]=0;if((x[a+76>>2]&x[a+80>>2])<0){b=x[a+84>>2];if(!(b?!b|!y[a+88|0]:1)){x[8457]=x[8457]+1;ia[x[8259]](b)}v[a+88|0]=1;x[a+80>>2]=0;x[a+84>>2]=0}x[a+76>>2]=0}function Bp(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0;f=x[b+4>>2];x[a+40>>2]=x[b>>2];x[a+44>>2]=f;f=x[b+12>>2];x[a+48>>2]=x[b+8>>2];x[a+52>>2]=f;b=x[c+4>>2];x[a+56>>2]=x[c>>2];x[a+60>>2]=b;f=x[c+12>>2];b=a- -64|0;x[b>>2]=x[c+8>>2];x[b+4>>2]=f;v[a+152|0]=e;x[a+12>>2]=d;x[a+4>>2]=1065353216;c=x[a+136>>2];if((c|0)<0){b=x[a+144>>2];if(x[a+140>>2]<0){if(!(b?!b|!y[a+148|0]:1)){x[8457]=x[8457]+1;ia[x[8259]](b)}v[a+148|0]=1;x[a+140>>2]=0;x[a+144>>2]=0;b=0}d=b;b=c<<2;ua(d+b|0,0,0-b|0)}x[a+136>>2]=0;c=x[a+116>>2];if((c|0)<0){b=x[a+124>>2];if(x[a+120>>2]<0){if(!(b?!b|!y[a+128|0]:1)){x[8457]=x[8457]+1;ia[x[8259]](b)}v[a+128|0]=1;x[a+120>>2]=0;x[a+124>>2]=0;b=0}d=b;b=c<<2;ua(d+b|0,0,0-b|0)}x[a+116>>2]=0;c=x[a+24>>2];a:{if((c|0)>=0){break a}if(x[a+28>>2]<0){b=x[a+32>>2];if(!(b?!b|!y[a+36|0]:1)){x[8457]=x[8457]+1;ia[x[8259]](b)}v[a+36|0]=1;x[a+28>>2]=0;x[a+32>>2]=0}d=0;b=c;e=0-b&3;if(e){while(1){x[x[a+32>>2]+(b<<2)>>2]=0;b=b+1|0;d=d+1|0;if((e|0)!=(d|0)){continue}break}}if(c>>>0>4294967292){break a}while(1){c=b<<2;x[c+x[a+32>>2]>>2]=0;x[(c+x[a+32>>2]|0)+4>>2]=0;x[(c+x[a+32>>2]|0)+8>>2]=0;x[(c+x[a+32>>2]|0)+12>>2]=0;b=b+4|0;if(b){continue}break}}x[a+24>>2]=0;if((x[a+96>>2]&x[a+100>>2])<0){b=x[a+104>>2];if(!(b?!b|!y[a+108|0]:1)){x[8457]=x[8457]+1;ia[x[8259]](b)}v[a+108|0]=1;x[a+100>>2]=0;x[a+104>>2]=0}x[a+96>>2]=0;if((x[a+76>>2]&x[a+80>>2])<0){b=x[a+84>>2];if(!(b?!b|!y[a+88|0]:1)){x[8457]=x[8457]+1;ia[x[8259]](b)}v[a+88|0]=1;x[a+80>>2]=0;x[a+84>>2]=0}x[a+76>>2]=0}function Xi(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;a:{b:{c:{switch(x[a+100>>2]-2|0){case 0:b=x[a+108>>2];x[c>>2]=x[a+104>>2];x[c+4>>2]=b;b=x[a+116>>2];x[c+8>>2]=x[a+112>>2];x[c+12>>2]=b;a=a+120|0;break b;case 1:d:{switch(b|0){case 0:b=x[a+108>>2];x[c>>2]=x[a+104>>2];x[c+4>>2]=b;b=x[a+116>>2];x[c+8>>2]=x[a+112>>2];x[c+12>>2]=b;a=a+120|0;break b;case 1:b=x[a+132>>2];x[c+8>>2]=x[a+128>>2];x[c+12>>2]=b;b=x[a+124>>2];x[c>>2]=x[a+120>>2];x[c+4>>2]=b;a=a+136|0;break b;case 2:break d;default:break a}}b=x[a+148>>2];x[c+8>>2]=x[a+144>>2];x[c+12>>2]=b;b=x[a+140>>2];x[c>>2]=x[a+136>>2];x[c+4>>2]=b;a=a+104|0;break b;case 2:break c;default:break a}}e:{switch(b|0){case 0:b=x[a+108>>2];x[c>>2]=x[a+104>>2];x[c+4>>2]=b;b=x[a+116>>2];x[c+8>>2]=x[a+112>>2];x[c+12>>2]=b;a=a+120|0;break b;case 1:b=x[a+132>>2];x[c+8>>2]=x[a+128>>2];x[c+12>>2]=b;b=x[a+124>>2];x[c>>2]=x[a+120>>2];x[c+4>>2]=b;a=a+136|0;break b;case 2:b=x[a+148>>2];x[c+8>>2]=x[a+144>>2];x[c+12>>2]=b;b=x[a+140>>2];x[c>>2]=x[a+136>>2];x[c+4>>2]=b;a=a+104|0;break b;case 3:b=x[a+108>>2];x[c>>2]=x[a+104>>2];x[c+4>>2]=b;b=x[a+116>>2];x[c+8>>2]=x[a+112>>2];x[c+12>>2]=b;a=a+152|0;break b;case 4:b=x[a+132>>2];x[c+8>>2]=x[a+128>>2];x[c+12>>2]=b;b=x[a+124>>2];x[c>>2]=x[a+120>>2];x[c+4>>2]=b;a=a+152|0;break b;case 5:break e;default:break a}}b=x[a+148>>2];x[c+8>>2]=x[a+144>>2];x[c+12>>2]=b;b=x[a+140>>2];x[c>>2]=x[a+136>>2];x[c+4>>2]=b;a=a+152|0}b=x[a+4>>2];x[d>>2]=x[a>>2];x[d+4>>2]=b;b=x[a+12>>2];x[d+8>>2]=x[a+8>>2];x[d+12>>2]=b}}function Vg(a,b){a=a|0;b=E(b);var c=0,d=E(0),e=E(0),f=E(0),g=E(0),h=E(0),i=E(0),j=E(0),k=E(0),l=0,m=0,n=0,o=E(0);n=ga-16|0;ga=n;ia[x[8262]](5587);l=x[a+248>>2];if((l|0)>0){while(1){c=x[x[a+256>>2]+(m<<2)>>2];if(!(y[c+204|0]&3)){d=B[c+372>>2];k=B[c+504>>2];e=bd(E(E(1)-k),b);d=E(d*e);B[c+372>>2]=d;h=E(e*B[c+376>>2]);B[c+376>>2]=h;e=E(e*B[c+380>>2]);B[c+380>>2]=e;g=B[c+388>>2];o=B[c+508>>2];f=bd(E(E(1)-o),b);g=E(g*f);B[c+388>>2]=g;i=E(f*B[c+392>>2]);B[c+392>>2]=i;f=E(f*B[c+396>>2]);B[c+396>>2]=f;a:{if(!y[c+512|0]){break a}if(!(!(B[c+524>>2]>E(E(f*f)+E(E(g*g)+E(i*i))))|!(B[c+520>>2]>E(E(e*e)+E(E(d*d)+E(h*h)))))){j=B[c+516>>2];f=E(f*j);B[c+396>>2]=f;i=E(i*j);B[c+392>>2]=i;g=E(g*j);B[c+388>>2]=g;e=E(e*j);B[c+380>>2]=e;h=E(h*j);B[c+376>>2]=h;d=E(d*j);B[c+372>>2]=d}j=E(M(E(E(e*e)+E(E(d*d)+E(h*h)))));b:{if(!(jE(.004999999888241291)){k=e;e=E(E(1)/j);B[c+380>>2]=k-E(E(k*e)*E(.004999999888241291));B[c+376>>2]=h-E(E(h*e)*E(.004999999888241291));B[c+372>>2]=d-E(E(d*e)*E(.004999999888241291));break b}x[c+372>>2]=0;x[c+376>>2]=0;x[c+380>>2]=0;x[c+384>>2]=0}d=E(M(E(E(f*f)+E(E(g*g)+E(i*i)))));if(!(dE(.004999999888241291)){d=E(E(1)/d);B[c+396>>2]=f-E(E(f*d)*E(.004999999888241291));B[c+392>>2]=i-E(E(i*d)*E(.004999999888241291));B[c+388>>2]=g-E(E(g*d)*E(.004999999888241291));break a}x[c+388>>2]=0;x[c+392>>2]=0;x[c+396>>2]=0;x[c+400>>2]=0}eb(c,b,c+68|0);l=x[a+248>>2]}m=m+1|0;if((m|0)<(l|0)){continue}break}}ia[x[8263]]();ga=n+16|0}function yn(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;x[8459]=x[8459]+1;e=x[b+12>>2]>x[c+12>>2];h=e?b:c;f=x[h+12>>2];i=e?c:b;g=x[i+12>>2];b=f<<16|g;b=(b<<15^-1)+b|0;b=D(b>>>10^b,9);b=b>>>6^b;b=(b<<11^-1)+b|0;j=x[a+12>>2]-1&(b>>>16^b);c=x[x[a+40>>2]+(j<<2)>>2];a:{if((c|0)==-1){break a}k=x[a+60>>2];e=x[a+16>>2];while(1){b=e+(c<<4)|0;if(!((g|0)==x[x[b>>2]+12>>2]&(f|0)==x[x[b+4>>2]+12>>2])){c=x[(c<<2)+k>>2];if((c|0)!=-1){continue}break a}break}ia[x[x[a>>2]+32>>2]](a,b,d);l=x[(e+(c<<4)|0)+12>>2];b:{c:{f=x[a+40>>2]+(j<<2)|0;c=x[f>>2];e=b-x[a+16>>2]>>4;if((c|0)==(e|0)){break c}g=x[a+60>>2];while(1){b=c;c=x[g+(b<<2)>>2];if((e|0)!=(c|0)){continue}break}if((b|0)==-1){break c}c=b<<2;b=x[a+60>>2];x[c+b>>2]=x[b+(e<<2)>>2];break b}x[f>>2]=x[x[a+60>>2]+(e<<2)>>2]}f=x[a+8>>2]-1|0;b=x[a+68>>2];if(b){ia[x[x[b>>2]+12>>2]](b,i,h,d)|0}if((e|0)!=(f|0)){d:{e:{h=x[a+16>>2];d=h+(f<<4)|0;b=x[x[d+4>>2]+12>>2]<<16|x[x[d>>2]+12>>2];b=(b<<15^-1)+b|0;b=D(b>>>10^b,9);b=b>>>6^b;b=(b<<11^-1)+b|0;i=x[a+12>>2]-1&(b>>>16^b);g=x[a+40>>2]+(i<<2)|0;c=x[g>>2];if((f|0)==(c|0)){break e}j=x[a+60>>2];while(1){b=c;c=x[j+(b<<2)>>2];if((f|0)!=(c|0)){continue}break}if((b|0)==-1){break e}c=b<<2;b=x[a+60>>2];x[c+b>>2]=x[b+(f<<2)>>2];break d}x[g>>2]=x[x[a+60>>2]+(f<<2)>>2]}c=x[d+4>>2];b=h+(e<<4)|0;x[b>>2]=x[d>>2];x[b+4>>2]=c;c=x[d+12>>2];x[b+8>>2]=x[d+8>>2];x[b+12>>2]=c;b=x[a+40>>2]+(i<<2)|0;x[x[a+60>>2]+(e<<2)>>2]=x[b>>2];x[b>>2]=e}x[a+8>>2]=x[a+8>>2]-1}return l|0}function bd(a,b){var c=0,d=0,e=0,f=0,g=0,h=E(0),i=0,k=0;e=(p(b),j(2));f=(e<<1)+16777216>>>0<16777217;a:{b:{c:{c=(p(a),j(2));d:{if(c-2139095040>>>0>=2164260864){if(f){break d}break b}if(!f){break c}}h=E(1);if((c|0)==1065353216){break a}g=e<<1;if(!g){break a}c=c<<1;if(!(g>>>0<4278190081&c>>>0<=4278190080)){return E(a+b)}if((c|0)==2130706432){break a}return c>>>0>2130706431^(e|0)>=0?E(0):E(b*b)}if((c<<1)+16777216>>>0<16777217){h=E(a*a);if((c|0)<0){h=(ad(e)|0)==1?E(-h):h}if((e|0)>=0){break a}c=ga-16|0;B[c+12>>2]=E(1)/h;return B[c+12>>2]}if((c|0)<0){e=ad(e);if(!e){a=E(a-a);return E(a/a)}g=((e|0)==1)<<16;c=c&2147483647}if(c>>>0>8388607){break b}c=((p(E(a*E(8388608))),j(2))&2147483647)-192937984|0}e=c-1060306944|0;f=e>>>15&240;d=+(l(2,c-(e&-8388608)|0),q())*C[f+29592>>3]+-1;i=d*d;d=((C[3731]*d+C[3732])*(i*i)+((C[3733]*d+C[3734])*i+(C[3735]*d+(C[f+29600>>3]+ +(e>>23)))))*+b;o(+d);c=j(1)|0;j(0)|0;e:{c=c&2147450880;if((c|0)==1079967744|c>>>0<1079967744){break e}if(d>127.99999995700433){c=ga-16|0;B[c+12>>2]=g?E(-15845632502852868e13):E(15845632502852868e13);return E(B[c+12>>2]*E(15845632502852868e13))}if(!(d<=-150)){break e}c=ga-16|0;B[c+12>>2]=g?E(-2524354896707238e-44):E(2524354896707238e-44);return E(B[c+12>>2]*E(2524354896707238e-44))}i=C[3690];k=i+d;d=d-(k-i);d=(C[3691]*d+C[3692])*(d*d)+(C[3693]*d+1);o(+k);j(1)|0;f=j(0)|0;c=g+f|0;g=((f&31)<<3)+29264|0;f=x[g>>2];e=f;c=x[g+4>>2]+(c<<15)|0;l(0,e|0);l(1,(e>>>0>>0?c+1|0:c)|0);h=E(d*+n())}return h}function gb(a,b,c,d,e){var f=0,g=0,h=E(0),i=E(0),j=E(0),k=E(0),l=E(0),m=E(0),n=E(0),o=E(0),p=0,q=E(0);f=x[a+18504>>2];if(f){g=x[f+48>>2];if(g){x[g+44>>2]=x[f+44>>2]}g=x[f+44>>2];if(g){x[g+48>>2]=x[f+48>>2]}if(x[a+18504>>2]==(f|0)){x[a+18504>>2]=x[f+48>>2]}g=a+18508|0;x[g>>2]=x[g>>2]-1;x[f+44>>2]=0;x[f+48>>2]=x[a+18496>>2];g=x[a+18496>>2];if(g){x[g+44>>2]=f}x[a+18496>>2]=f;g=a+18500|0;x[g>>2]=x[g>>2]+1;x[f+28>>2]=d;x[f+24>>2]=c;x[f+20>>2]=b;v[f+55|0]=0;k=B[c+24>>2];q=B[d+24>>2];h=B[b+24>>2];l=B[d+20>>2];j=B[b+20>>2];m=B[c+20>>2];n=B[c+16>>2];o=B[d+16>>2];i=B[b+16>>2];x[f+12>>2]=0;n=E(n-i);l=E(l-j);i=E(o-i);m=E(m-j);j=E(E(n*l)-E(i*m));B[f+8>>2]=j;k=E(k-h);o=E(k*i);i=E(q-h);h=E(o-E(i*n));B[f+4>>2]=h;i=E(E(m*i)-E(l*k));B[f>>2]=i;p=2;a:{h=E(M(E(E(j*j)+E(E(i*i)+E(h*h)))));if(!(h>E(9999999747378752e-20))){break a}g=f+16|0;b:{if(ic(f,b,c,g)){break b}if(ic(f,c,d,g)){break b}if(ic(f,d,b,g)){break b}B[f+16>>2]=E(E(B[b+24>>2]*B[f+8>>2])+E(E(B[b+16>>2]*B[f>>2])+E(B[b+20>>2]*B[f+4>>2])))/h}h=E(E(1)/h);B[f>>2]=h*B[f>>2];B[f+4>>2]=h*B[f+4>>2];B[f+8>>2]=h*B[f+8>>2];if(e){return f}p=3;if(!(B[g>>2]>=E(-9999999747378752e-21))){break a}return f}x[a>>2]=p;b=x[f+48>>2];if(b){x[b+44>>2]=x[f+44>>2]}b=x[f+44>>2];if(b){x[b+48>>2]=x[f+48>>2]}if(x[a+18496>>2]==(f|0)){x[a+18496>>2]=x[f+48>>2]}x[a+18500>>2]=x[a+18500>>2]-1;x[f+44>>2]=0;x[f+48>>2]=x[a+18504>>2];b=x[a+18504>>2];if(b){x[b+44>>2]=f}x[a+18504>>2]=f;x[a+18508>>2]=x[a+18508>>2]+1;return 0}x[a>>2]=5;return 0}function Zr(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;x[8456]=x[8456]+1;e=ia[x[8258]](84,16)|0;d=ga-48|0;ga=d;x[e+12>>2]=0;x[e+16>>2]=0;x[e+4>>2]=35;x[e+8>>2]=0;x[e+20>>2]=0;x[e>>2]=20152;x[e+56>>2]=a;x[e>>2]=22140;x[e+4>>2]=21;a:{if(ia[x[x[a>>2]+40>>2]](a)|0){ia[x[x[a>>2]+48>>2]](a,e+24|0,e+40|0);break a}x[d+44>>2]=0;x[d+36>>2]=0;x[d+40>>2]=0;x[d+32>>2]=1065353216;g=d+16|0;a=d+32|0;ia[x[x[e>>2]+68>>2]](g,e,a);B[e+40>>2]=B[d+16>>2]+B[e+20>>2];x[d+32>>2]=-1082130432;ia[x[x[e>>2]+68>>2]](d,e,a);f=x[d+12>>2];x[d+24>>2]=x[d+8>>2];x[d+28>>2]=f;f=x[d+4>>2];x[d+16>>2]=x[d>>2];x[d+20>>2]=f;B[e+24>>2]=B[d+16>>2]-B[e+20>>2];x[d+40>>2]=0;x[d+44>>2]=0;x[d+32>>2]=0;x[d+36>>2]=0;x[d+36>>2]=1065353216;ia[x[x[e>>2]+68>>2]](g,e,a);B[e+44>>2]=B[d+20>>2]+B[e+20>>2];x[d+36>>2]=-1082130432;ia[x[x[e>>2]+68>>2]](d,e,a);f=x[d+12>>2];x[d+24>>2]=x[d+8>>2];x[d+28>>2]=f;f=x[d+4>>2];x[d+16>>2]=x[d>>2];x[d+20>>2]=f;B[e+28>>2]=B[d+20>>2]-B[e+20>>2];x[d+40>>2]=0;x[d+44>>2]=0;x[d+40>>2]=1065353216;x[d+32>>2]=0;x[d+36>>2]=0;ia[x[x[e>>2]+68>>2]](g,e,a);B[e+48>>2]=B[d+24>>2]+B[e+20>>2];x[d+40>>2]=-1082130432;ia[x[x[e>>2]+68>>2]](d,e,a);a=x[d+12>>2];x[d+24>>2]=x[d+8>>2];x[d+28>>2]=a;a=x[d+4>>2];x[d+16>>2]=x[d>>2];x[d+20>>2]=a;B[e+32>>2]=B[d+24>>2]-B[e+20>>2]}ga=d+48|0;v[e+69|0]=0;v[e+68|0]=b;x[e+60>>2]=0;x[e+64>>2]=0;x[e>>2]=18524;x[e+4>>2]=21;if(c){x[8456]=x[8456]+1;a=ae(ia[x[8258]](172,16)|0);x[e+60>>2]=a;$d(a,x[e+56>>2],y[e+68|0],e+24|0,e+40|0);v[e+69|0]=1}return e|0}function Bh(a,b,c){a=a|0;b=b|0;c=c|0;$e(a,b,c);B[b+264>>2]=B[a+324>>2];B[b+268>>2]=B[a+328>>2];B[b+272>>2]=B[a+332>>2];B[b+276>>2]=B[a+336>>2];B[b+280>>2]=B[a+340>>2];B[b+284>>2]=B[a+344>>2];B[b+288>>2]=B[a+348>>2];B[b+292>>2]=B[a+352>>2];B[b+296>>2]=B[a+356>>2];B[b+300>>2]=B[a+360>>2];B[b+304>>2]=B[a+364>>2];B[b+308>>2]=B[a+368>>2];B[b+312>>2]=B[a+372>>2];B[b+316>>2]=B[a+376>>2];B[b+320>>2]=B[a+380>>2];B[b+324>>2]=B[a+384>>2];B[b+328>>2]=B[a+388>>2];B[b+332>>2]=B[a+392>>2];B[b+336>>2]=B[a+396>>2];B[b+340>>2]=B[a+400>>2];B[b+456>>2]=B[a+404>>2];B[b+344>>2]=B[a+604>>2];B[b+348>>2]=B[a+608>>2];B[b+352>>2]=B[a+612>>2];B[b+356>>2]=B[a+616>>2];B[b+360>>2]=B[a+408>>2];B[b+364>>2]=B[a+412>>2];B[b+368>>2]=B[a+416>>2];B[b+372>>2]=B[a+420>>2];B[b+376>>2]=B[a+424>>2];B[b+380>>2]=B[a+428>>2];B[b+384>>2]=B[a+432>>2];B[b+388>>2]=B[a+436>>2];B[b+392>>2]=B[a+440>>2];B[b+396>>2]=B[a+444>>2];B[b+400>>2]=B[a+448>>2];B[b+404>>2]=B[a+452>>2];B[b+408>>2]=B[a+456>>2];B[b+412>>2]=B[a+460>>2];B[b+416>>2]=B[a+464>>2];B[b+420>>2]=B[a+468>>2];B[b+424>>2]=B[a+472>>2];B[b+428>>2]=B[a+476>>2];B[b+432>>2]=B[a+480>>2];B[b+436>>2]=B[a+484>>2];B[b+440>>2]=B[a+488>>2];B[b+444>>2]=B[a+492>>2];B[b+448>>2]=B[a+496>>2];B[b+452>>2]=B[a+500>>2];B[b+460>>2]=B[a+504>>2];B[b+464>>2]=B[a+508>>2];x[b+492>>2]=y[a+512|0];B[b+468>>2]=B[a+516>>2];B[b+472>>2]=B[a+520>>2];B[b+476>>2]=B[a+524>>2];B[b+480>>2]=B[a+528>>2];B[b+484>>2]=B[a+532>>2];B[b+488>>2]=B[a+536>>2];return 8570}function to(a,b,c){a=a|0;b=b|0;c=E(c);var d=0,e=0,f=E(0),g=E(0),h=E(0),i=E(0),j=E(0),k=E(0),l=E(0),m=E(0),n=E(0),o=0;d=ga-48|0;ga=d;e=x[b+60>>2];x[d+40>>2]=x[b+56>>2];x[d+44>>2]=e;e=x[b+52>>2];x[d+32>>2]=x[b+48>>2];x[d+36>>2]=e;f=B[b+24>>2];g=B[b+20>>2];h=B[b+40>>2];i=B[b+36>>2];j=B[b+8>>2];k=B[b>>2];l=B[b+4>>2];m=B[b+16>>2];n=B[b+32>>2];x[d+28>>2]=0;B[d+24>>2]=E(E(h*E(0))+E(E(n*c)+E(i*E(0))))+B[d+40>>2];B[d+20>>2]=E(E(f*E(0))+E(E(m*c)+E(g*E(0))))+B[d+36>>2];B[d+16>>2]=E(E(j*E(0))+E(E(k*c)+E(l*E(0))))+B[d+32>>2];x[d+8>>2]=1050253722;x[d+12>>2]=0;x[d>>2]=1065353216;x[d+4>>2]=1050253722;e=d+32|0;o=d+16|0;ia[x[x[a>>2]+16>>2]](a,e,o,d);f=B[b+24>>2];g=B[b+20>>2];h=B[b+40>>2];i=B[b+36>>2];j=B[b+8>>2];k=B[b>>2];l=B[b+4>>2];m=B[b+16>>2];n=B[b+32>>2];x[d+28>>2]=0;B[d+24>>2]=E(E(h*E(0))+E(E(n*E(0))+E(i*c)))+B[d+40>>2];B[d+20>>2]=E(E(f*E(0))+E(E(m*E(0))+E(g*c)))+B[d+36>>2];B[d+16>>2]=E(E(j*E(0))+E(E(k*E(0))+E(l*c)))+B[d+32>>2];x[d+8>>2]=1050253722;x[d+12>>2]=0;x[d>>2]=1050253722;x[d+4>>2]=1065353216;ia[x[x[a>>2]+16>>2]](a,e,o,d);f=B[b+24>>2];g=B[b+20>>2];h=B[b+40>>2];i=B[b+36>>2];j=B[b+8>>2];k=B[b>>2];l=B[b+4>>2];m=B[b+16>>2];n=B[b+32>>2];x[d+28>>2]=0;B[d+24>>2]=E(E(h*c)+E(E(n*E(0))+E(i*E(0))))+B[d+40>>2];B[d+20>>2]=E(E(f*c)+E(E(m*E(0))+E(g*E(0))))+B[d+36>>2];B[d+16>>2]=E(E(j*c)+E(E(k*E(0))+E(l*E(0))))+B[d+32>>2];x[d+8>>2]=1065353216;x[d+12>>2]=0;x[d>>2]=1050253722;x[d+4>>2]=1050253722;ia[x[x[a>>2]+16>>2]](a,e,o,d);ga=d+48|0}function nc(a,b){var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;a:{b:{c:{d:{e:{if(y[a+164|0]){m=a+128|0;c=x[m>>2];if((c|0)!=x[a+132>>2]){break b}i=c?c<<1:1;if((i|0)<=(c|0)){break b}if(i){x[8456]=x[8456]+1;h=ia[x[8258]](i<<2,16)|0;c=x[a+128>>2]}d=x[a+136>>2];if((c|0)<=0){break e}if(c>>>0>=4){k=c&-4;while(1){f=e<<2;x[f+h>>2]=x[d+f>>2];j=f|4;x[j+h>>2]=x[d+j>>2];j=f|8;x[j+h>>2]=x[d+j>>2];f=f|12;x[f+h>>2]=x[d+f>>2];e=e+4|0;l=l+4|0;if((k|0)!=(l|0)){continue}break}}c=c&3;if(!c){break d}while(1){f=e<<2;x[f+h>>2]=x[d+f>>2];e=e+1|0;g=g+1|0;if((c|0)!=(g|0)){continue}break}break d}m=a+148|0;g=x[m>>2];f:{if((g|0)!=x[a+152>>2]){break f}f=g?g<<1:1;if((f|0)<=(g|0)){break f}if(f){x[8456]=x[8456]+1;h=ia[x[8258]](f<<1,16)|0;g=x[a+148>>2]}c=x[a+156>>2];g:{h:{if((g|0)>0){if(g>>>0>=4){i=g&-4;while(1){d=e<<1;w[d+h>>1]=z[c+d>>1];k=d|2;w[k+h>>1]=z[c+k>>1];k=d|4;w[k+h>>1]=z[c+k>>1];d=d|6;w[d+h>>1]=z[c+d>>1];e=e+4|0;j=j+4|0;if((i|0)!=(j|0)){continue}break}}d=g&3;if(d){while(1){i=e<<1;w[i+h>>1]=z[c+i>>1];e=e+1|0;l=l+1|0;if((d|0)!=(l|0)){continue}break}}if(y[a+160|0]){break h}break g}if(!c|!y[a+160|0]){break g}}if(c){x[8457]=x[8457]+1;ia[x[8259]](c)}g=x[a+148>>2]}x[a+156>>2]=h;x[a+152>>2]=f;v[a+160|0]=1}e=x[a+156>>2];w[e+(g<<1)>>1]=b;break a}if(!d){break c}}if(d?y[a+140|0]:0){x[8457]=x[8457]+1;ia[x[8259]](d)}c=x[a+128>>2]}x[a+136>>2]=h;x[a+132>>2]=i;v[a+140|0]=1}e=x[a+136>>2];x[e+(c<<2)>>2]=b;g=x[a+128>>2]}x[m>>2]=g+1;x[x[a+32>>2]+4>>2]=e}function Qh(a,b,c){a=a|0;b=b|0;c=c|0;var d=E(0),e=E(0),f=E(0),g=E(0),h=E(0),i=E(0),j=E(0),k=0;e=B[c+128>>2];a:{if(e==E(0)){break a}x[8760]=x[8760]+1;d=B[c+96>>2];f=E(e-E(d*B[c+116>>2]));g=B[c+24>>2];h=B[c+16>>2];i=B[c+20>>2];e=B[c+108>>2];e=E(E(f-E(E(E(E(g*B[a+152>>2])+E(E(h*B[a+144>>2])+E(i*B[a+148>>2])))+E(E(B[c+8>>2]*B[a+168>>2])+E(E(B[c>>2]*B[a+160>>2])+E(B[c+4>>2]*B[a+164>>2]))))*e))-E(E(E(E(B[c+56>>2]*B[b+152>>2])+E(E(B[c+48>>2]*B[b+144>>2])+E(B[c+52>>2]*B[b+148>>2])))+E(E(B[c+40>>2]*B[b+168>>2])+E(E(B[c+32>>2]*B[b+160>>2])+E(B[c+36>>2]*B[b+164>>2]))))*e));j=E(d+e);f=B[c+120>>2];k=j>2]=k?f:j;d=k?E(f-d):e;if(x[a+240>>2]){B[a+144>>2]=E(B[a+112>>2]*E(d*E(h*B[a+128>>2])))+B[a+144>>2];B[a+148>>2]=E(E(d*E(i*B[a+132>>2]))*B[a+116>>2])+B[a+148>>2];B[a+152>>2]=E(E(d*E(g*B[a+136>>2]))*B[a+120>>2])+B[a+152>>2];e=B[c+72>>2];f=B[c+68>>2];B[a+160>>2]=E(E(d*B[a+96>>2])*B[c+64>>2])+B[a+160>>2];g=B[a+104>>2];B[a+164>>2]=E(f*E(d*B[a+100>>2]))+B[a+164>>2];B[a+168>>2]=E(e*E(d*g))+B[a+168>>2]}if(!x[b+240>>2]){break a}e=B[c+56>>2];f=B[c+52>>2];B[b+144>>2]=E(B[b+112>>2]*E(d*E(B[c+48>>2]*B[b+128>>2])))+B[b+144>>2];B[b+148>>2]=E(E(d*E(f*B[b+132>>2]))*B[b+116>>2])+B[b+148>>2];B[b+152>>2]=E(E(d*E(e*B[b+136>>2]))*B[b+120>>2])+B[b+152>>2];e=B[c+88>>2];f=B[c+84>>2];B[b+160>>2]=E(E(d*B[b+96>>2])*B[c+80>>2])+B[b+160>>2];g=B[b+104>>2];B[b+164>>2]=E(f*E(d*B[b+100>>2]))+B[b+164>>2];B[b+168>>2]=E(e*E(d*g))+B[b+168>>2]}return E(d)}function Qg(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;ia[x[x[b>>2]+32>>2]](b);d=ia[x[x[b>>2]+16>>2]](b,104,1)|0;c=ua(x[d+8>>2],0,104);B[c+88>>2]=B[a+264>>2];B[c+92>>2]=B[a+268>>2];B[c+96>>2]=B[a+272>>2];B[c+100>>2]=B[a+276>>2];B[c>>2]=B[a+92>>2];B[c+4>>2]=B[a+96>>2];B[c+8>>2]=B[a+100>>2];B[c+12>>2]=B[a+104>>2];B[c+16>>2]=B[a+108>>2];B[c+20>>2]=B[a+116>>2];B[c+24>>2]=B[a+120>>2];B[c+28>>2]=B[a+124>>2];B[c+32>>2]=B[a+128>>2];B[c+36>>2]=B[a+132>>2];B[c+40>>2]=B[a+148>>2];B[c+44>>2]=B[a+152>>2];B[c+48>>2]=B[a+156>>2];B[c+52>>2]=B[a+160>>2];B[c+56>>2]=B[a+176>>2];B[c+60>>2]=B[a+180>>2];x[c+64>>2]=x[a+112>>2];x[c+68>>2]=x[a+164>>2];x[c+72>>2]=x[a+168>>2];x[c+76>>2]=x[a+172>>2];e=x[a+144>>2];x[c+84>>2]=0;x[c+80>>2]=e;ia[x[x[b>>2]+20>>2]](b,d,8729,1145853764,c);We(a,b);c=0;e=x[a+8>>2];if((e|0)>0){while(1){d=x[x[a+16>>2]+(c<<2)>>2];if(y[d+252|0]&2){e=(g=b,h=ia[x[x[d>>2]+16>>2]](d)|0,i=1,f=x[x[b>>2]+16>>2],ia[f](g|0,h|0,i|0)|0);i=b,h=e,g=ia[x[x[d>>2]+20>>2]](d,x[e+8>>2],b)|0,j=1497645650,k=d,f=x[x[b>>2]+20>>2],ia[f](i|0,h|0,g|0,j|0,k|0);e=x[a+8>>2]}c=c+1|0;if((e|0)>(c|0)){continue}break}}if(x[a+228>>2]>0){c=0;while(1){d=x[x[a+236>>2]+(c<<2)>>2];e=(k=b,j=ia[x[x[d>>2]+36>>2]](d)|0,g=1,f=x[x[b>>2]+16>>2],ia[f](k|0,j|0,g|0)|0);g=b,j=e,k=ia[x[x[d>>2]+40>>2]](d,x[e+8>>2],b)|0,h=1397641027,i=d,f=x[x[b>>2]+20>>2],ia[f](g|0,j|0,k|0,h|0,i|0);c=c+1|0;if((c|0)>2]){continue}break}}ia[x[x[b>>2]+36>>2]](b)}function yj(a,b,c){a=a|0;b=b|0;c=c|0;var d=E(0),e=0,f=0,g=0,h=0,i=E(0),j=E(0),k=0,l=E(0),m=E(0),n=0,o=0,p=E(0),q=0,r=E(0),s=0;g=ga-2048|0;ga=g;x[a>>2]=0;x[a+4>>2]=0;x[a+8>>2]=0;x[a+12>>2]=0;d=B[c+8>>2];i=B[c>>2];l=B[c+4>>2];j=E(E(d*d)+E(E(i*i)+E(l*l)));if(j>2]+96>>2]](b)|0)>0){l=E(-0xde0b6b000000000);while(1){e=128;a:{b:{if(((ia[x[x[b>>2]+96>>2]](b)|0)-o|0)>127){break b}e=(ia[x[x[b>>2]+96>>2]](b)|0)-o|0;if((e|0)>0){break b}d=E(-34028234663852886e22);f=-1;break a}c=0;h=(e|0)==1;if(!h){k=e&-2;f=0;while(1){ia[x[x[b>>2]+108>>2]](b,c,(c<<4)+g|0);n=c|1;ia[x[x[b>>2]+108>>2]](b,n,(n<<4)+g|0);c=c+2|0;f=f+2|0;if((k|0)!=(f|0)){continue}break}}n=e&1;if(n){ia[x[x[b>>2]+108>>2]](b,c,(c<<4)+g|0)}c:{if(h){c=0;f=-1;d=E(-34028234663852886e22);break c}s=e&-2;c=0;f=-1;d=E(-34028234663852886e22);e=0;while(1){h=(c<<4)+g|0;j=E(E(B[h+8>>2]*m)+E(E(B[h>>2]*i)+E(p*B[h+4>>2])));h=j>d;q=c|1;k=(q<<4)+g|0;r=E(E(B[k+8>>2]*m)+E(E(B[k>>2]*i)+E(p*B[k+4>>2])));d=h?j:d;k=r>d;d=k?r:d;f=k?q:h?c:f;c=c+2|0;e=e+2|0;if((s|0)!=(e|0)){continue}break}}if(!n){break a}e=(c<<4)+g|0;j=E(E(B[e+8>>2]*m)+E(E(B[e>>2]*i)+E(p*B[e+4>>2])));e=j>d;d=e?j:d;f=e?c:f}if(d>l){c=(f<<4)+g|0;e=x[c+12>>2];x[a+8>>2]=x[c+8>>2];x[a+12>>2]=e;e=x[c+4>>2];x[a>>2]=x[c>>2];x[a+4>>2]=e;l=d}o=o+128|0;if((ia[x[x[b>>2]+96>>2]](b)|0)>(o|0)){continue}break}}ga=g+2048|0}function Ud(a,b,c,d){var e=E(0),f=0,g=0,h=0,i=0,j=0,k=E(0),l=E(0),m=E(0),n=E(0),o=E(0),p=E(0),q=E(0),r=0,s=0,t=0,u=E(0),v=E(0),w=E(0);i=ga-32|0;ga=i;while(1){r=c;h=x[a+12>>2]+D((c+d|0)/2|0,24)|0;s=x[h+20>>2];m=B[h+16>>2];u=B[h+8>>2];v=B[h+4>>2];w=B[h>>2];h=d;while(1){n=B[b+8>>2];k=E(u-n);e=E(k*k);o=B[b>>2];k=E(w-o);l=E(k*k);p=B[b+4>>2];k=E(v-p);k=E(e+E(l+E(k*k)));j=x[a+12>>2];while(1){a:{f=D(c,24)+j|0;e=B[f+16>>2];b:{if(e!=m){if(e>2]-n);l=E(e*e);e=E(B[f>>2]-o);q=E(e*e);e=E(B[f+4>>2]-p);e=E(l+E(q+E(e*e)));if(((e!=k?e>2]<(s|0))|0)!=1){break a}}c=c+1|0;continue}break}while(1){c:{t=D(h,24);g=t+j|0;e=B[g+16>>2];d:{if(e!=m){if(e>m){break d}break c}e=E(B[g+8>>2]-n);l=E(e*e);e=E(B[g>>2]-o);q=E(e*e);e=E(B[g+4>>2]-p);e=E(l+E(q+E(e*e)));if(((e!=k?e>k:x[g+20>>2]>(s|0))|0)!=1){break c}}h=h-1|0;continue}break}if((c|0)<=(h|0)){j=x[f+20>>2];x[i+24>>2]=x[f+16>>2];x[i+28>>2]=j;j=x[f+12>>2];x[i+16>>2]=x[f+8>>2];x[i+20>>2]=j;j=x[f+4>>2];x[i+8>>2]=x[f>>2];x[i+12>>2]=j;j=x[g+4>>2];x[f>>2]=x[g>>2];x[f+4>>2]=j;j=x[g+12>>2];x[f+8>>2]=x[g+8>>2];x[f+12>>2]=j;j=x[g+20>>2];x[f+16>>2]=x[g+16>>2];x[f+20>>2]=j;g=x[i+12>>2];f=x[a+12>>2]+t|0;x[f>>2]=x[i+8>>2];x[f+4>>2]=g;g=x[i+28>>2];x[f+16>>2]=x[i+24>>2];x[f+20>>2]=g;g=x[i+20>>2];x[f+8>>2]=x[i+16>>2];x[f+12>>2]=g;h=h-1|0;c=c+1|0}if((c|0)<=(h|0)){continue}break}if((h|0)>(r|0)){Ud(a,b,r,h)}if((c|0)<(d|0)){continue}break}ga=i+32|0}function Lm(a,b){a=a|0;b=b|0;var c=0,d=E(0),e=E(0),f=E(0),g=E(0),h=E(0),i=E(0),j=E(0),k=E(0),l=E(0),m=0,n=E(0),o=E(0),p=E(0),q=E(0),r=E(0),s=E(0),t=E(0),u=E(0),v=E(0),w=E(0),y=E(0),z=E(0),A=0,C=E(0),F=E(0),G=E(0),H=0;c=ga-128|0;ga=c;m=x[b+36>>2];b=x[x[a+24>>2]+32>>2]+D(m,80)|0;A=x[b+64>>2];n=B[b+32>>2];o=B[b>>2];p=B[b+16>>2];q=B[b+56>>2];r=B[b+52>>2];s=B[b+48>>2];t=B[b+36>>2];u=B[b+20>>2];v=B[b+4>>2];w=B[b+40>>2];y=B[b+24>>2];z=B[b+8>>2];b=x[a+28>>2];C=B[b+52>>2];F=B[b+56>>2];d=B[b+24>>2];e=B[b+20>>2];f=B[b+40>>2];g=B[b+36>>2];G=B[b+48>>2];h=B[b+8>>2];i=B[b>>2];j=B[b+4>>2];k=B[b+16>>2];l=B[b+32>>2];x[c+124>>2]=0;x[c+108>>2]=0;x[c+92>>2]=0;B[c+104>>2]=E(w*f)+E(E(z*l)+E(y*g));B[c+100>>2]=E(t*f)+E(E(v*l)+E(u*g));B[c+88>>2]=E(w*d)+E(E(z*k)+E(y*e));B[c+84>>2]=E(t*d)+E(E(v*k)+E(u*e));B[c+120>>2]=F+E(E(q*f)+E(E(s*l)+E(r*g)));B[c+116>>2]=C+E(E(q*d)+E(E(s*k)+E(r*e)));x[c+76>>2]=0;B[c+72>>2]=E(w*h)+E(E(z*i)+E(y*j));B[c+68>>2]=E(t*h)+E(E(v*i)+E(u*j));B[c+64>>2]=E(n*h)+E(E(o*i)+E(p*j));B[c+112>>2]=G+E(E(q*h)+E(E(s*i)+E(r*j)));B[c+96>>2]=E(n*f)+E(E(o*l)+E(p*g));B[c+80>>2]=E(n*d)+E(E(o*k)+E(p*e));b=x[a+32>>2];x[c+48>>2]=0;x[c+40>>2]=1;x[c+44>>2]=-1;x[c+60>>2]=m;x[c+56>>2]=b;x[c+52>>2]=A;x[c+32>>2]=14400;B[c+36>>2]=B[b+4>>2];b=x[a+4>>2];H=x[b+8>>2];x[c+28>>2]=m;x[c+24>>2]=-1;x[c+16>>2]=H;x[c+12>>2]=A;x[c+8>>2]=b;x[c+20>>2]=c- -64;Ic(x[a+8>>2],x[a+12>>2],x[a+16>>2],c+8|0,c+32|0,B[a+20>>2]);ga=c+128|0}function Ie(a,b,c){var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;h=ga-32|0;ga=h;e=x[a+52>>2];n=y[a+68|0];l=n?c:b;m=x[l+4>>2];f=x[m+24>>2];a:{if((e|0)>=(f|0)){break a}if(x[a+56>>2]<(f|0)){if(f){x[8456]=x[8456]+1;i=ia[x[8258]](f<<2,16)|0;d=x[a+52>>2]}else{d=e}b:{if((d|0)<=0){break b}if(d>>>0>=4){q=d&-4;while(1){g=j<<2;x[g+i>>2]=x[g+x[a+60>>2]>>2];k=g|4;x[k+i>>2]=x[k+x[a+60>>2]>>2];k=g|8;x[k+i>>2]=x[k+x[a+60>>2]>>2];g=g|12;x[g+i>>2]=x[g+x[a+60>>2]>>2];j=j+4|0;o=o+4|0;if((o|0)!=(q|0)){continue}break}}d=d&3;if(!d){break b}while(1){g=j<<2;x[g+i>>2]=x[g+x[a+60>>2]>>2];j=j+1|0;p=p+1|0;if((d|0)!=(p|0)){continue}break}}d=x[a+60>>2];if(!(d?!d|!y[a- -64|0]:1)){x[8457]=x[8457]+1;ia[x[8259]](d)}x[a+60>>2]=i;v[a+64|0]=1;x[a+56>>2]=f}d=(e^-1)+f|0;i=f-e&3;if(i){j=0;while(1){x[x[a+60>>2]+(e<<2)>>2]=0;e=e+1|0;j=j+1|0;if((i|0)!=(j|0)){continue}break}}if(d>>>0<3){break a}while(1){d=e<<2;x[d+x[a+60>>2]>>2]=0;x[(d+x[a+60>>2]|0)+4>>2]=0;x[(d+x[a+60>>2]|0)+8>>2]=0;x[(d+x[a+60>>2]|0)+12>>2]=0;e=e+4|0;if((f|0)!=(e|0)){continue}break}}x[a+52>>2]=f;if((f|0)>0){b=n?b:c;e=0;while(1){c:{if(x[m+72>>2]){x[x[a+60>>2]+(e<<2)>>2]=0;break c}c=x[l+12>>2];d=x[l+8>>2];x[h+12>>2]=x[(x[m+32>>2]+D(e,80)|0)+64>>2];x[h+28>>2]=e;x[h+24>>2]=-1;x[h+16>>2]=d;x[h+20>>2]=c;x[h+8>>2]=l;c=x[a+4>>2];c=ia[x[x[c>>2]+8>>2]](c,h+8|0,b,x[a+72>>2],1)|0;x[x[a+60>>2]+(e<<2)>>2]=c}e=e+1|0;if((f|0)!=(e|0)){continue}break}}ga=h+32|0}function vn(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;x[8460]=x[8460]+1;d=x[a+24>>2];a:{b:{if(d){if(ia[x[x[d>>2]+8>>2]](d,b,c)|0){break b}break a}if(!(x[c+8>>2]&x[b+4>>2])|!(x[b+8>>2]&x[c+4>>2])){break a}}e=x[b+12>>2]>x[c+12>>2];j=e?b:c;g=x[j+12>>2];k=e?c:b;h=x[k+12>>2];b=g<<16|h;b=(b<<15^-1)+b|0;b=D(b>>>10^b,9);b=b>>>6^b;b=(b<<11^-1)+b|0;m=b>>>16^b;c=a;b=x[c+12>>2];l=m&b-1;a=x[x[c+40>>2]+(l<<2)>>2];c:{if((a|0)!=-1){i=x[c+60>>2];d=x[c+16>>2];while(1){f=a<<4;e=f+d|0;if((h|0)==x[x[e>>2]+12>>2]&(g|0)==x[x[(d+f|0)+4>>2]+12>>2]){break c}a=x[i+(a<<2)>>2];if((a|0)!=-1){continue}break}}h=x[c+8>>2];e=h;a=b;d:{if((e|0)!=(b|0)){break d}e=b;d=b?b<<1:1;if((d|0)<=(b|0)){break d}e:{if(!d){e=0;a=b;break e}x[8456]=x[8456]+1;e=ia[x[8258]](d<<4,16)|0;a=x[c+8>>2]}g=a;if((g|0)>0){a=0;while(1){f=a<<4;i=f+e|0;f=f+x[c+16>>2]|0;x[i>>2]=x[f>>2];x[i+4>>2]=x[f+4>>2];x[i+8>>2]=x[f+8>>2];x[i+12>>2]=x[f+12>>2];a=a+1|0;if((g|0)!=(a|0)){continue}break}}a=x[c+16>>2];if(!(a?!a|!y[c+20|0]:1)){x[8457]=x[8457]+1;ia[x[8259]](a)}x[c+16>>2]=e;v[c+20|0]=1;x[c+12>>2]=d;e=x[c+8>>2];a=d}x[c+8>>2]=e+1;g=x[c+16>>2];e=g+(h<<4)|0;d=x[c+68>>2];if(d){ia[x[x[d>>2]+8>>2]](d,k,j)|0;a=x[c+12>>2]}if((a|0)>(b|0)){ef(c);l=x[c+12>>2]-1&m}b=x[k+12>>2]>2];x[e>>2]=b?k:j;a=g+(h<<4)|0;x[a+8>>2]=0;x[a+12>>2]=0;x[a+4>>2]=b?j:k;a=x[c+40>>2]+(l<<2)|0;x[x[c+60>>2]+(h<<2)>>2]=x[a>>2];x[a>>2]=h}}return e|0}function Sh(a,b,c){a=a|0;b=b|0;c=c|0;var d=E(0),e=E(0),f=E(0),g=E(0),h=E(0),i=E(0),j=E(0);g=B[c+100>>2];h=B[c+24>>2];i=B[c+16>>2];j=B[c+20>>2];e=B[c+108>>2];d=E(E(E(B[c+112>>2]-E(g*B[c+116>>2]))-E(E(E(E(h*B[a+72>>2])+E(E(i*B[a+64>>2])+E(j*B[a+68>>2])))+E(E(B[c+8>>2]*B[a+88>>2])+E(E(B[c>>2]*B[a+80>>2])+E(B[c+4>>2]*B[a+84>>2]))))*e))-E(E(E(E(B[c+56>>2]*B[b+72>>2])+E(E(B[c+48>>2]*B[b+64>>2])+E(B[c+52>>2]*B[b+68>>2])))+E(E(B[c+40>>2]*B[b+88>>2])+E(E(B[c+32>>2]*B[b+80>>2])+E(B[c+36>>2]*B[b+84>>2]))))*e));e=E(g+d);f=B[c+120>>2];a:{if(e>2];if(!(f>2]=e;if(x[a+240>>2]){B[a+64>>2]=E(B[a+112>>2]*E(d*E(i*B[a+128>>2])))+B[a+64>>2];B[a+68>>2]=E(E(d*E(j*B[a+132>>2]))*B[a+116>>2])+B[a+68>>2];B[a+72>>2]=E(E(d*E(h*B[a+136>>2]))*B[a+120>>2])+B[a+72>>2];e=B[c+72>>2];f=B[c+68>>2];B[a+80>>2]=E(E(d*B[a+96>>2])*B[c+64>>2])+B[a+80>>2];g=B[a+104>>2];B[a+84>>2]=E(f*E(d*B[a+100>>2]))+B[a+84>>2];B[a+88>>2]=E(e*E(d*g))+B[a+88>>2]}if(x[b+240>>2]){e=B[c+56>>2];f=B[c+52>>2];B[b+64>>2]=E(B[b+112>>2]*E(d*E(B[c+48>>2]*B[b+128>>2])))+B[b+64>>2];B[b+68>>2]=E(E(d*E(f*B[b+132>>2]))*B[b+116>>2])+B[b+68>>2];B[b+72>>2]=E(E(d*E(e*B[b+136>>2]))*B[b+120>>2])+B[b+72>>2];e=B[c+88>>2];f=B[c+84>>2];B[b+80>>2]=E(E(d*B[b+96>>2])*B[c+80>>2])+B[b+80>>2];g=B[b+104>>2];B[b+84>>2]=E(f*E(d*B[b+100>>2]))+B[b+84>>2];B[b+88>>2]=E(e*E(d*g))+B[b+88>>2]}return E(d)}function ds(){var a=0,b=0,c=0,d=0,e=0,f=0;x[8456]=x[8456]+1;d=ua(ia[x[8258]](100,16)|0,0,100);a=d;x[a+12>>2]=0;x[a+16>>2]=0;x[a+4>>2]=31;x[a+8>>2]=0;x[a+80>>2]=0;x[a+84>>2]=1065353216;x[a+72>>2]=0;x[a+76>>2]=1;x[a+56>>2]=-581039253;x[a+60>>2]=-581039253;x[a+40>>2]=1566444395;x[a+44>>2]=1566444395;v[a+36|0]=1;x[a>>2]=19276;x[a+32>>2]=0;x[a+96>>2]=0;x[a+88>>2]=1065353216;x[a+92>>2]=1065353216;a=a- -64|0;x[a>>2]=-581039253;x[a+4>>2]=0;x[d+48>>2]=1566444395;x[d+52>>2]=0;x[d+24>>2]=0;x[d+28>>2]=0;x[8456]=x[8456]+1;a=ia[x[8258]](40,16)|0;x[a+16>>2]=0;x[a+8>>2]=-1;x[a+12>>2]=0;x[a>>2]=0;x[a+4>>2]=0;x[a+32>>2]=0;v[a+36|0]=1;x[a+24>>2]=0;x[a+28>>2]=0;x[d+72>>2]=a;if(x[d+28>>2]<0){f=x[d+24>>2];if((f|0)>0){while(1){a=D(e,80);b=a+x[d+32>>2]|0;c=x[b+4>>2];x[a>>2]=x[b>>2];x[a+4>>2]=c;c=x[b+12>>2];x[a+8>>2]=x[b+8>>2];x[a+12>>2]=c;c=x[b+28>>2];x[a+24>>2]=x[b+24>>2];x[a+28>>2]=c;c=x[b+20>>2];x[a+16>>2]=x[b+16>>2];x[a+20>>2]=c;c=x[b+44>>2];x[a+40>>2]=x[b+40>>2];x[a+44>>2]=c;c=x[b+36>>2];x[a+32>>2]=x[b+32>>2];x[a+36>>2]=c;c=x[b+60>>2];x[a+56>>2]=x[b+56>>2];x[a+60>>2]=c;c=x[b+52>>2];x[a+48>>2]=x[b+48>>2];x[a+52>>2]=c;c=x[b+68>>2];x[a+64>>2]=x[b+64>>2];x[a+68>>2]=c;c=x[b+76>>2];x[a+72>>2]=x[b+72>>2];x[a+76>>2]=c;e=e+1|0;if((f|0)!=(e|0)){continue}break}}a=x[d+32>>2];if(!(a?!a|!y[d+36|0]:1)){x[8457]=x[8457]+1;ia[x[8259]](a)}x[d+32>>2]=0;v[d+36|0]=1;x[d+28>>2]=0}x[d>>2]=31040;return d|0}function Hc(a,b,c,d,e,f,g,h,i,j,k){var l=E(0),m=E(0),n=E(0),o=E(0),p=E(0),q=E(0),r=E(0),s=E(0),t=E(0),u=E(0),v=E(0),w=E(0),y=E(0),z=E(0),A=E(0);g=(g<<2)+i|0;q=B[g+32>>2];r=E(B[j+56>>2]-B[i+56>>2]);s=B[g>>2];u=E(B[j+48>>2]-B[i+48>>2]);o=B[g+16>>2];v=E(B[j+52>>2]-B[i+52>>2]);t=E(E(q*r)+E(E(s*u)+E(o*v)));g=(h<<2)+j|0;w=B[g+32>>2];y=B[g>>2];z=B[g+16>>2];n=E(-E(E(w*r)+E(E(y*u)+E(z*v))));p=E(E(q*w)+E(E(s*y)+E(o*z)));m=E(E(1)-E(p*p));a:{if(m==E(0)){break a}l=E(-c);m=E(E(E(n*p)+t)/m);if(l>m){break a}l=m;if(!(l>c)){break a}l=c}m=E(E(l*p)+n);n=E(-e);b:{c:{if(me){m=n;break b}if(!(cn){m=e;break b}if(!(cE(.7071067690849304)){x[a>>2]=0;d=E(E(1)/E(M(E(E(o*o)+E(q*q)))));c=E(o*d);B[a+8>>2]=c;l=E(d*E(-q));B[a+4>>2]=l;d=E(0);break d}x[a+8>>2]=0;c=E(E(1)/E(M(E(E(s*s)+E(o*o)))));l=E(s*c);B[a+4>>2]=l;d=E(c*E(-o));B[a>>2]=d;c=E(0);break d}x[a+12>>2]=0;d=E(E(-1)/t);c=E(c*d);B[a+8>>2]=c;l=E(k*d);B[a+4>>2]=l;d=E(e*d);B[a>>2]=d}e=B[j+48>>2];k=B[j+52>>2];o=B[j+56>>2];x[b+12>>2]=0;B[b+8>>2]=E(n+o)+E(c*f);B[b+4>>2]=E(m+k)+E(l*f);B[b>>2]=E(p+e)+E(d*f)}return r} +function vb(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=E(0),j=0,k=0,l=0;k=b,l=ia[x[x[c>>2]+28>>2]](c,x[a+28>>2])|0,x[k>>2]=l;k=b,l=ia[x[x[c>>2]+28>>2]](c,x[a+32>>2])|0,x[k+4>>2]=l;d=ia[x[x[c>>2]+40>>2]](c,a)|0;f=ia[x[x[c>>2]+28>>2]](c,d)|0;x[b+8>>2]=f;if(f){ia[x[x[c>>2]+48>>2]](c,d)}x[b+12>>2]=x[a+4>>2];x[b+24>>2]=y[a+21|0];x[b+40>>2]=x[a+24>>2];B[b+44>>2]=B[a+16>>2];x[b+48>>2]=y[a+20|0];x[b+20>>2]=x[a+12>>2];x[b+16>>2]=x[a+8>>2];B[b+28>>2]=B[a+36>>2];i=B[a+40>>2];c=0;x[b+36>>2]=0;B[b+32>>2]=i;d=x[a+28>>2];e=x[d+548>>2];a:{if((e|0)<=0){break a}f=x[d+556>>2];if(e>>>0>=4){h=e&-4;d=0;while(1){g=c<<2;if(x[g+f>>2]==(a|0)){x[b+36>>2]=1}if(x[f+(g|4)>>2]==(a|0)){x[b+36>>2]=1}if(x[f+(g|8)>>2]==(a|0)){x[b+36>>2]=1}if(x[f+(g|12)>>2]==(a|0)){x[b+36>>2]=1}c=c+4|0;d=d+4|0;if((h|0)!=(d|0)){continue}break}}e=e&3;if(!e){break a}d=0;while(1){if(x[f+(c<<2)>>2]==(a|0)){x[b+36>>2]=1}c=c+1|0;d=d+1|0;if((e|0)!=(d|0)){continue}break}}c=x[a+32>>2];e=x[c+548>>2];b:{if((e|0)<=0){break b}f=x[c+556>>2];d=0;c=0;if(e>>>0>=4){j=e&-4;h=0;while(1){g=c<<2;if(x[g+f>>2]==(a|0)){x[b+36>>2]=1}if(x[f+(g|4)>>2]==(a|0)){x[b+36>>2]=1}if(x[f+(g|8)>>2]==(a|0)){x[b+36>>2]=1}if(x[f+(g|12)>>2]==(a|0)){x[b+36>>2]=1}c=c+4|0;h=h+4|0;if((j|0)!=(h|0)){continue}break}}e=e&3;if(!e){break b}while(1){if(x[f+(c<<2)>>2]==(a|0)){x[b+36>>2]=1}c=c+1|0;d=d+1|0;if((e|0)!=(d|0)){continue}break}}return 8651}function Nm(a,b){a=a|0;b=b|0;var c=0,d=E(0),e=E(0),f=E(0),g=E(0),h=E(0),i=E(0),j=E(0),k=E(0),l=E(0),m=0,n=E(0),o=E(0),p=E(0),q=E(0),r=E(0),s=E(0),t=E(0),u=E(0),v=E(0),w=E(0),y=E(0),z=E(0),A=0,C=E(0),F=E(0),G=E(0);c=ga-128|0;ga=c;m=x[b+36>>2];b=x[x[a+8>>2]+32>>2]+D(m,80)|0;A=x[b+64>>2];n=B[b+32>>2];o=B[b>>2];p=B[b+16>>2];q=B[b+56>>2];r=B[b+52>>2];s=B[b+48>>2];t=B[b+36>>2];u=B[b+20>>2];v=B[b+4>>2];w=B[b+40>>2];y=B[b+24>>2];z=B[b+8>>2];b=x[a+12>>2];C=B[b+52>>2];F=B[b+56>>2];d=B[b+24>>2];e=B[b+20>>2];f=B[b+40>>2];g=B[b+36>>2];G=B[b+48>>2];h=B[b+8>>2];i=B[b>>2];j=B[b+4>>2];k=B[b+16>>2];l=B[b+32>>2];x[c+124>>2]=0;x[c+108>>2]=0;x[c+92>>2]=0;B[c+104>>2]=E(w*f)+E(E(z*l)+E(y*g));B[c+100>>2]=E(t*f)+E(E(v*l)+E(u*g));B[c+88>>2]=E(w*d)+E(E(z*k)+E(y*e));B[c+84>>2]=E(t*d)+E(E(v*k)+E(u*e));B[c+120>>2]=F+E(E(q*f)+E(E(s*l)+E(g*r)));B[c+116>>2]=C+E(E(q*d)+E(E(s*k)+E(e*r)));x[c+76>>2]=0;B[c+72>>2]=E(w*h)+E(E(z*i)+E(j*y));B[c+68>>2]=E(t*h)+E(E(v*i)+E(j*u));B[c+64>>2]=E(n*h)+E(E(o*i)+E(p*j));B[c+112>>2]=G+E(E(q*h)+E(E(s*i)+E(j*r)));B[c+96>>2]=E(n*f)+E(E(o*l)+E(p*g));B[c+80>>2]=E(n*d)+E(E(o*k)+E(p*e));b=x[a+4>>2];x[c+60>>2]=m;x[c+56>>2]=-1;x[c+48>>2]=b;x[c+44>>2]=A;x[c+40>>2]=0;x[c+52>>2]=c- -64;b=x[a+24>>2];x[c+36>>2]=m;x[c+32>>2]=b;x[c+28>>2]=A;x[c+8>>2]=13584;x[c+16>>2]=0;B[c+12>>2]=B[b+4>>2];x[c+24>>2]=x[b+16>>2];Jc(x[a+16>>2],x[a+20>>2],c+40|0,c+8|0);ga=c+128|0}function mf(a,b){var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;x[a+12>>2]=0;v[a+16|0]=1;x[a+4>>2]=0;x[a+8>>2]=0;f=x[b+4>>2];if((f|0)<=0){x[a+4>>2]=f;return}x[8456]=x[8456]+1;d=ia[x[8258]](f<<2,16)|0;i=x[a+4>>2];a:{if((i|0)<=0){break a}if(i>>>0>=4){k=i&-4;while(1){g=c<<2;x[g+d>>2]=x[g+x[a+12>>2]>>2];j=g|4;x[j+d>>2]=x[j+x[a+12>>2]>>2];j=g|8;x[j+d>>2]=x[j+x[a+12>>2]>>2];g=g|12;x[g+d>>2]=x[g+x[a+12>>2]>>2];c=c+4|0;e=e+4|0;if((k|0)!=(e|0)){continue}break}}e=i&3;if(!e){break a}while(1){g=c<<2;x[g+d>>2]=x[g+x[a+12>>2]>>2];c=c+1|0;h=h+1|0;if((e|0)!=(h|0)){continue}break}}c=x[a+12>>2];if(!(c?!c|!y[a+16|0]:1)){x[8457]=x[8457]+1;ia[x[8259]](c)}x[a+12>>2]=d;v[a+16|0]=1;x[a+8>>2]=f;e=0;c=0;if(f>>>0>=4){g=f&-4;h=0;while(1){d=c<<2;x[d+x[a+12>>2]>>2]=0;x[x[a+12>>2]+(d|4)>>2]=0;x[x[a+12>>2]+(d|8)>>2]=0;x[x[a+12>>2]+(d|12)>>2]=0;c=c+4|0;h=h+4|0;if((g|0)!=(h|0)){continue}break}}h=f&3;if(h){while(1){x[x[a+12>>2]+(c<<2)>>2]=0;c=c+1|0;e=e+1|0;if((h|0)!=(e|0)){continue}break}}x[a+4>>2]=f;b:{if((f|0)<=0){break b}a=x[a+12>>2];h=0;c=0;if(f>>>0>=4){g=f&-4;e=0;while(1){d=c<<2;x[d+a>>2]=x[d+x[b+12>>2]>>2];i=d|4;x[i+a>>2]=x[i+x[b+12>>2]>>2];i=d|8;x[i+a>>2]=x[i+x[b+12>>2]>>2];d=d|12;x[d+a>>2]=x[d+x[b+12>>2]>>2];c=c+4|0;e=e+4|0;if((g|0)!=(e|0)){continue}break}}f=f&3;if(!f){break b}while(1){e=c<<2;x[e+a>>2]=x[e+x[b+12>>2]>>2];c=c+1|0;h=h+1|0;if((f|0)!=(h|0)){continue}break}}}function fj(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=E(0),f=0,g=E(0),h=E(0),i=E(0),j=E(0),k=E(0),l=E(0),m=E(0),n=E(0),o=E(0),p=E(0),q=E(0),r=E(0),s=E(0),t=E(0),u=E(0),v=E(0),w=E(0),y=E(0);f=ga-48|0;ga=f;n=B[c+8>>2];j=B[d+8>>2];p=B[c+4>>2];q=B[d+4>>2];k=B[c>>2];l=B[d>>2];e=B[a- -64>>2];a:{if(E(F(e))>E(.7071067690849304)){i=B[a+60>>2];g=E(E(i*i)+E(e*e));h=E(E(1)/E(M(g)));m=E(g*h);t=E(i*h);g=B[a+56>>2];r=E(t*E(-g));o=E(h*E(-e));u=E(g*o);break a}g=B[a+56>>2];i=B[a+60>>2];m=E(E(g*g)+E(i*i));h=E(E(1)/E(M(m)));u=E(m*h);v=E(h*E(-i));r=E(e*v);o=E(g*h);m=E(o*E(-e))}h=B[a+72>>2];x[f+44>>2]=0;x[f+28>>2]=0;s=E(E(j+n)*E(.5));w=E(E(l+k)*E(.5));y=E(E(q+p)*E(.5));h=E(E(E(e*s)+E(E(g*w)+E(y*i)))-h);s=E(s-E(e*h));e=E(E(j-n)*E(.5));j=E(e*e);e=E(E(l-k)*E(.5));k=E(e*e);e=E(E(q-p)*E(.5));e=E(M(E(j+E(k+E(e*e)))));j=E(e*t);p=E(s-j);n=E(e*u);q=E(p-n);B[f+40>>2]=q;k=E(y-E(i*h));l=E(e*o);o=E(k-l);i=E(e*r);r=E(o-i);B[f+36>>2]=r;j=E(j+s);B[f+24>>2]=j-n;k=E(l+k);B[f+20>>2]=k-i;x[f+12>>2]=0;g=E(w-E(g*h));h=E(e*v);l=E(g-h);e=E(e*m);m=E(l-e);B[f+32>>2]=m;g=E(h+g);B[f+16>>2]=g-e;h=E(n+j);B[f+8>>2]=h;j=E(i+k);B[f+4>>2]=j;g=E(e+g);B[f>>2]=g;ia[x[x[b>>2]+8>>2]](b,f,0,0);x[f+44>>2]=0;B[f+40>>2]=h;B[f+36>>2]=j;x[f+28>>2]=0;B[f+24>>2]=n+p;B[f+20>>2]=i+o;B[f+32>>2]=g;B[f+16>>2]=e+l;x[f+12>>2]=0;B[f+8>>2]=q;B[f+4>>2]=r;B[f>>2]=m;ia[x[x[b>>2]+8>>2]](b,f,0,1);ga=f+48|0}function Rh(a,b,c){a=a|0;b=b|0;c=c|0;var d=E(0),e=E(0),f=E(0),g=E(0),h=E(0),i=E(0),j=E(0),k=0;d=B[c+100>>2];g=B[c+24>>2];h=B[c+16>>2];i=B[c+20>>2];e=B[c+108>>2];e=E(E(E(B[c+112>>2]-E(d*B[c+116>>2]))-E(E(E(E(g*B[a+72>>2])+E(E(h*B[a+64>>2])+E(i*B[a+68>>2])))+E(E(B[c+8>>2]*B[a+88>>2])+E(E(B[c>>2]*B[a+80>>2])+E(B[c+4>>2]*B[a+84>>2]))))*e))-E(E(E(E(B[c+56>>2]*B[b+72>>2])+E(E(B[c+48>>2]*B[b+64>>2])+E(B[c+52>>2]*B[b+68>>2])))+E(E(B[c+40>>2]*B[b+88>>2])+E(E(B[c+32>>2]*B[b+80>>2])+E(B[c+36>>2]*B[b+84>>2]))))*e));j=E(d+e);f=B[c+120>>2];k=j>2]=k?f:j;d=k?E(f-d):e;if(x[a+240>>2]){B[a+64>>2]=E(B[a+112>>2]*E(d*E(h*B[a+128>>2])))+B[a+64>>2];B[a+68>>2]=E(E(d*E(i*B[a+132>>2]))*B[a+116>>2])+B[a+68>>2];B[a+72>>2]=E(E(d*E(g*B[a+136>>2]))*B[a+120>>2])+B[a+72>>2];e=B[c+72>>2];f=B[c+68>>2];B[a+80>>2]=E(E(d*B[a+96>>2])*B[c+64>>2])+B[a+80>>2];g=B[a+104>>2];B[a+84>>2]=E(f*E(d*B[a+100>>2]))+B[a+84>>2];B[a+88>>2]=E(e*E(d*g))+B[a+88>>2]}if(x[b+240>>2]){e=B[c+56>>2];f=B[c+52>>2];B[b+64>>2]=E(B[b+112>>2]*E(d*E(B[c+48>>2]*B[b+128>>2])))+B[b+64>>2];B[b+68>>2]=E(E(d*E(f*B[b+132>>2]))*B[b+116>>2])+B[b+68>>2];B[b+72>>2]=E(E(d*E(e*B[b+136>>2]))*B[b+120>>2])+B[b+72>>2];e=B[c+88>>2];f=B[c+84>>2];B[b+80>>2]=E(E(d*B[b+96>>2])*B[c+80>>2])+B[b+80>>2];g=B[b+104>>2];B[b+84>>2]=E(f*E(d*B[b+100>>2]))+B[b+84>>2];B[b+88>>2]=E(e*E(d*g))+B[b+88>>2]}return E(d)}function Ki(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;a:{b:{if(y[a+165|0]){l=a+92|0;if(x[l>>2]>=(b|0)){break a}if(b){x[8456]=x[8456]+1;f=ia[x[8258]](b<<4,16)|0}else{f=0}e=x[a+88>>2];c:{if((e|0)<=0){break c}if((e|0)!=1){j=e&-2;while(1){g=d<<4;h=g+f|0;c=g+x[a+96>>2]|0;k=x[c+4>>2];x[h>>2]=x[c>>2];x[h+4>>2]=k;k=x[c+12>>2];x[h+8>>2]=x[c+8>>2];x[h+12>>2]=k;c=g|16;g=c+f|0;c=c+x[a+96>>2]|0;h=x[c+4>>2];x[g>>2]=x[c>>2];x[g+4>>2]=h;h=x[c+12>>2];x[g+8>>2]=x[c+8>>2];x[g+12>>2]=h;d=d+2|0;i=i+2|0;if((j|0)!=(i|0)){continue}break}}if(!(e&1)){break c}d=d<<4;e=d+f|0;d=d+x[a+96>>2]|0;c=x[d+4>>2];x[e>>2]=x[d>>2];x[e+4>>2]=c;c=x[d+12>>2];x[e+8>>2]=x[d+8>>2];x[e+12>>2]=c}d=x[a+96>>2];if(!(d?!d|!y[a+100|0]:1)){x[8457]=x[8457]+1;ia[x[8259]](d)}x[a+96>>2]=f;v[a+100|0]=1;break b}l=a+112|0;if(x[l>>2]>=(b|0)){break a}if(b){x[8456]=x[8456]+1;f=ia[x[8258]](b<<2,16)|0}else{f=0}e=x[a+116>>2];g=x[a+108>>2];d:{e:{if((g|0)>0){if(g>>>0>=4){h=g&-4;while(1){c=d<<2;B[c+f>>2]=B[c+e>>2];j=c|4;B[j+f>>2]=B[e+j>>2];j=c|8;B[j+f>>2]=B[e+j>>2];c=c|12;B[c+f>>2]=B[c+e>>2];d=d+4|0;i=i+4|0;if((h|0)!=(i|0)){continue}break}}c=g&3;if(c){while(1){i=d<<2;B[i+f>>2]=B[e+i>>2];d=d+1|0;k=k+1|0;if((c|0)!=(k|0)){continue}break}}if(y[a+120|0]){break e}break d}if(!e|!y[a+120|0]){break d}}if(e){x[8457]=x[8457]+1;ia[x[8259]](e)}}x[a+116>>2]=f;v[a+120|0]=1}x[l>>2]=b}}function Ze(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;f=ga-96|0;ga=f;e=x[a+8>>2];x[b+216>>2]=e;a:{if(x[a+12>>2]!=(e|0)){break a}k=e?e<<1:1;if((k|0)<=(e|0)){break a}if(k){x[8456]=x[8456]+1;h=ia[x[8258]](k<<2,16)|0;e=x[a+8>>2]}b:{if((e|0)<=0){break b}if(e>>>0>=4){l=e&-4;while(1){g=i<<2;x[g+h>>2]=x[g+x[a+16>>2]>>2];j=g|4;x[j+h>>2]=x[j+x[a+16>>2]>>2];j=g|8;x[j+h>>2]=x[j+x[a+16>>2]>>2];g=g|12;x[g+h>>2]=x[g+x[a+16>>2]>>2];i=i+4|0;m=m+4|0;if((l|0)!=(m|0)){continue}break}}g=e&3;if(!g){break b}while(1){l=i<<2;x[l+h>>2]=x[l+x[a+16>>2]>>2];i=i+1|0;n=n+1|0;if((g|0)!=(n|0)){continue}break}}i=x[a+16>>2];if(!(!i|!y[a+20|0])){if(i){x[8457]=x[8457]+1;ia[x[8259]](i)}e=x[a+8>>2]}x[a+16>>2]=h;v[a+20|0]=1;x[a+12>>2]=k}x[x[a+16>>2]+(e<<2)>>2]=b;x[a+8>>2]=e+1;e=x[b+16>>2];x[f+40>>2]=x[b+12>>2];x[f+44>>2]=e;e=x[b+8>>2];x[f+32>>2]=x[b+4>>2];x[f+36>>2]=e;e=x[b+32>>2];x[f+56>>2]=x[b+28>>2];x[f+60>>2]=e;e=x[b+24>>2];x[f+48>>2]=x[b+20>>2];x[f+52>>2]=e;e=x[b+48>>2];x[f+72>>2]=x[b+44>>2];x[f+76>>2]=e;e=x[b+40>>2];x[f+64>>2]=x[b+36>>2];x[f+68>>2]=e;e=x[b+64>>2];x[f+88>>2]=x[b+60>>2];x[f+92>>2]=e;e=x[b+56>>2];x[f+80>>2]=x[b+52>>2];x[f+84>>2]=e;e=x[b+192>>2];h=f+16|0;ia[x[x[e>>2]+8>>2]](e,f+32|0,h,f);e=x[a+68>>2];o=b,p=ia[x[x[e>>2]+8>>2]](e,h,f,x[x[b+192>>2]+4>>2],b,c,d,x[a+24>>2])|0,x[o+188>>2]=p;ga=f+96|0}function ul(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;x[8467]=x[8467]+1;d=c<<16|b;d=(d<<15^-1)+d|0;d=D(d>>>10^d,9);d=d>>>6^d;d=(d<<11^-1)+d|0;m=d>>>16^d;d=x[a+12>>2];k=m&d-1;e=x[x[a+36>>2]+(k<<2)>>2];a:{if((e|0)!=-1){i=x[a+56>>2];j=x[a+16>>2];while(1){f=j+D(e,12)|0;if(x[f>>2]==(b|0)&x[f+4>>2]==(c|0)){break a}e=x[i+(e<<2)>>2];if((e|0)!=-1){continue}break}}b:{c:{i=x[a+8>>2];f=i;if((f|0)==(d|0)){j=d?d<<1:1;n=(j|0)<=(d|0);if(!n){break c}}else{d=f}x[a+8>>2]=d+1;f=x[a+16>>2];break b}d:{if(!j){f=0;break d}x[8456]=x[8456]+1;f=ia[x[8258]](D(j,12),16)|0;d=x[a+8>>2]}e:{if((d|0)<=0){break e}e=0;if((d|0)!=1){p=d&-2;while(1){g=D(e,12);h=g+x[a+16>>2]|0;l=x[h+4>>2];g=f+g|0;x[g>>2]=x[h>>2];x[g+4>>2]=l;x[g+8>>2]=x[h+8>>2];g=D(e|1,12);h=g+x[a+16>>2]|0;l=x[h+4>>2];g=f+g|0;x[g>>2]=x[h>>2];x[g+4>>2]=l;x[g+8>>2]=x[h+8>>2];e=e+2|0;o=o+2|0;if((p|0)!=(o|0)){continue}break}}if(!(d&1)){break e}e=D(e,12);d=e+f|0;e=e+x[a+16>>2]|0;h=x[e+4>>2];x[d>>2]=x[e>>2];x[d+4>>2]=h;x[d+8>>2]=x[e+8>>2]}d=x[a+16>>2];if(!(d?!d|!y[a+20|0]:1)){x[8457]=x[8457]+1;ia[x[8259]](d)}x[a+16>>2]=f;v[a+20|0]=1;x[a+12>>2]=j;x[a+8>>2]=x[a+8>>2]+1;if(n){break b}yc(a);k=x[a+12>>2]-1&m}f=D(i,12)+f|0;x[f+8>>2]=0;x[f+4>>2]=c;x[f>>2]=b;b=x[a+56>>2]+(i<<2)|0;a=x[a+36>>2]+(k<<2)|0;x[b>>2]=x[a>>2];x[a>>2]=i}return f|0}function nf(a,b){var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;e=ga-32|0;ga=e;a:{if(!x[a>>2]){break a}g=(b|0)<0?x[a+12>>2]:b;if((g|0)<=0){break a}while(1){h=0;b=x[a>>2];f=b+40|0;if(x[f>>2]){while(1){d=x[b+32>>2];b:{if(d>>>0<=b>>>0){d=b;break b}c=x[d+40>>2];l=(c|0)==(b|0);i=((b|0)!=(c|0))<<2;j=x[(i+d|0)+36>>2];c=x[d+32>>2];if(c){k=(((x[c+40>>2]==(d|0))<<2)+c|0)+36|0}else{k=a}x[k>>2]=b;x[j+32>>2]=b;x[d+32>>2]=b;x[b+32>>2]=c;x[d+36>>2]=x[b+36>>2];x[d+40>>2]=x[f>>2];x[x[b+36>>2]+32>>2]=d;x[x[f>>2]+32>>2]=d;c=b+36|0;x[c+(l<<2)>>2]=d;x[c+i>>2]=j;c=d+24|0;f=x[c+4>>2];x[e+24>>2]=x[c>>2];x[e+28>>2]=f;c=d+16|0;f=x[c+4>>2];x[e+16>>2]=x[c>>2];x[e+20>>2]=f;c=d+8|0;f=x[c+4>>2];x[e+8>>2]=x[c>>2];x[e+12>>2]=f;c=x[d+4>>2];x[e>>2]=x[d>>2];x[e+4>>2]=c;c=b+24|0;f=x[c+4>>2];x[d+24>>2]=x[c>>2];x[d+28>>2]=f;c=b+16|0;f=x[c+4>>2];x[d+16>>2]=x[c>>2];x[d+20>>2]=f;c=b+8|0;f=x[c+4>>2];x[d+8>>2]=x[c>>2];x[d+12>>2]=f;c=x[b+4>>2];x[d>>2]=x[b>>2];x[d+4>>2]=c;c=x[e+28>>2];x[b+24>>2]=x[e+24>>2];x[b+28>>2]=c;c=x[e+20>>2];x[b+16>>2]=x[e+16>>2];x[b+20>>2]=c;c=x[e+12>>2];x[b+8>>2]=x[e+8>>2];x[b+12>>2]=c;c=x[e+4>>2];x[b>>2]=x[e>>2];x[b+4>>2]=c}b=x[a+16>>2]>>>h|0;h=h+1&31;b=x[(((b&1)<<2)+d|0)+36>>2];f=b+40|0;if(x[f>>2]){continue}break}}d=Sb(a,b);Rb(a,d?x[a>>2]:0,b);x[a+16>>2]=x[a+16>>2]+1;g=g-1|0;if(g){continue}break}}ga=e+32|0}function yd(a){a=a|0;var b=0;x[a>>2]=23736;b=x[a+204>>2];if(!(b?!b|!y[a+208|0]:1)){x[8457]=x[8457]+1;ia[x[8259]](b)}x[a+204>>2]=0;v[a+208|0]=1;x[a+196>>2]=0;x[a+200>>2]=0;b=x[a+176>>2];if(!(b?!b|!y[a+180|0]:1)){x[8457]=x[8457]+1;ia[x[8259]](b)}x[a+176>>2]=0;v[a+180|0]=1;x[a+168>>2]=0;x[a+172>>2]=0;b=x[a+156>>2];if(!(b?!b|!y[a+160|0]:1)){x[8457]=x[8457]+1;ia[x[8259]](b)}x[a+156>>2]=0;v[a+160|0]=1;x[a+148>>2]=0;x[a+152>>2]=0;b=x[a+136>>2];if(!(b?!b|!y[a+140|0]:1)){x[8457]=x[8457]+1;ia[x[8259]](b)}x[a+136>>2]=0;v[a+140|0]=1;x[a+128>>2]=0;x[a+132>>2]=0;b=x[a+116>>2];if(!(b?!b|!y[a+120|0]:1)){x[8457]=x[8457]+1;ia[x[8259]](b)}x[a+116>>2]=0;v[a+120|0]=1;x[a+108>>2]=0;x[a+112>>2]=0;b=x[a+96>>2];if(!(b?!b|!y[a+100|0]:1)){x[8457]=x[8457]+1;ia[x[8259]](b)}x[a+96>>2]=0;v[a+100|0]=1;x[a+88>>2]=0;x[a+92>>2]=0;b=x[a+76>>2];if(!(b?!b|!y[a+80|0]:1)){x[8457]=x[8457]+1;ia[x[8259]](b)}x[a+76>>2]=0;v[a+80|0]=1;x[a+68>>2]=0;x[a+72>>2]=0;b=x[a+56>>2];if(!(b?!b|!y[a+60|0]:1)){x[8457]=x[8457]+1;ia[x[8259]](b)}x[a+56>>2]=0;v[a+60|0]=1;x[a+48>>2]=0;x[a+52>>2]=0;b=x[a+36>>2];if(!(b?!b|!y[a+40|0]:1)){x[8457]=x[8457]+1;ia[x[8259]](b)}x[a+36>>2]=0;v[a+40|0]=1;x[a+28>>2]=0;x[a+32>>2]=0;b=x[a+16>>2];if(!(b?!b|!y[a+20|0]:1)){x[8457]=x[8457]+1;ia[x[8259]](b)}x[a+16>>2]=0;v[a+20|0]=1;x[a+8>>2]=0;x[a+12>>2]=0;return a|0}function ol(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;g=ga-160|0;ga=g;f=x[a+12>>2];a:{if(!f){break a}h=y[a+16|0];i=h?b:c;j=x[i+4>>2];b=h?c:b;h=x[b+4>>2];x[e+4>>2]=f;c=g+144|0;B[c+12>>2]=B[f+848>>2]+B[e+32>>2];x[c+8>>2]=j;x[c+4>>2]=h;x[c>>2]=18068;x[g+136>>2]=1566444395;b=x[b+12>>2];f=x[b+12>>2];x[g+16>>2]=x[b+8>>2];x[g+20>>2]=f;f=x[b+4>>2];x[g+8>>2]=x[b>>2];x[g+12>>2]=f;f=x[b+28>>2];x[g+32>>2]=x[b+24>>2];x[g+36>>2]=f;f=x[b+20>>2];x[g+24>>2]=x[b+16>>2];x[g+28>>2]=f;f=x[b+44>>2];x[g+48>>2]=x[b+40>>2];x[g+52>>2]=f;f=x[b+36>>2];x[g+40>>2]=x[b+32>>2];x[g+44>>2]=f;h=x[b+60>>2];f=g- -64|0;x[f>>2]=x[b+56>>2];x[f+4>>2]=h;f=x[b+52>>2];x[g+56>>2]=x[b+48>>2];x[g+60>>2]=f;b=x[i+12>>2];f=x[b+12>>2];x[g+80>>2]=x[b+8>>2];x[g+84>>2]=f;f=x[b+4>>2];x[g+72>>2]=x[b>>2];x[g+76>>2]=f;f=x[b+20>>2];x[g+88>>2]=x[b+16>>2];x[g+92>>2]=f;f=x[b+28>>2];x[g+96>>2]=x[b+24>>2];x[g+100>>2]=f;f=x[b+36>>2];x[g+104>>2]=x[b+32>>2];x[g+108>>2]=f;f=x[b+44>>2];x[g+112>>2]=x[b+40>>2];x[g+116>>2]=f;f=x[b+52>>2];x[g+120>>2]=x[b+48>>2];x[g+124>>2]=f;f=x[b+60>>2];x[g+128>>2]=x[b+56>>2];x[g+132>>2]=f;xe(c,g+8|0,e,x[d+20>>2],y[a+16|0]);if(!y[a+8|0]){break a}a=x[e+4>>2];if(!x[a+844>>2]){break a}c=x[a+836>>2];d=x[x[e+8>>2]+8>>2];b=(c|0)==(d|0);f=a;a=x[x[e+12>>2]+8>>2];Ja(f,(b?c:a)+4|0,(b?a:d)+4|0)}ga=g+160|0}function _f(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;f=ga+-64|0;ga=f;a:{if(za(b,30288,0)){x[c>>2]=0;d=1;break a}b:{if(y[a+8|0]&24){e=1}else{if(!b){break b}e=Ia(b,30020);if(!e){break b}e=(y[e+8|0]&24)!=0}g=za(a,b,e)}if(g){d=1;a=x[c>>2];if(!a){break a}x[c>>2]=x[a>>2];break a}c:{if(!b){break c}e=Ia(b,30068);if(!e){break a}b=x[c>>2];if(b){x[c>>2]=x[b>>2]}g=x[e+8>>2];b=x[a+8>>2];if(g&(b^-1)&7|b&(g^-1)&96){break a}d=1;if(za(x[a+12>>2],x[e+12>>2],0)){break a}if(za(x[a+12>>2],30276,0)){a=x[e+12>>2];if(!a){break a}d=!Ia(a,30120);break a}g=x[a+12>>2];if(!g){break c}d=0;b=Ia(g,30068);if(b){if(!(v[a+8|0]&1)){break a}a=x[e+12>>2];c=0;d:{e:{while(1){d=0;if(!a){break d}a=Ia(a,30068);if(!a|x[a+8>>2]&(x[b+8>>2]^-1)){break e}d=1;if(za(x[b+12>>2],x[a+12>>2],0)){break d}if(!(v[b+8|0]&1)){break e}d=x[b+12>>2];if(!d){break e}b=Ia(d,30068);if(b){a=x[a+12>>2];continue}break}b=Ia(d,30180);if(!b){break e}c=Zc(b,x[a+12>>2])}d=c}break a}b=Ia(g,30180);if(b){if(!(v[a+8|0]&1)){break a}d=Zc(b,x[e+12>>2]);break a}b=Ia(g,29972);if(!b){break a}a=x[e+12>>2];if(!a){break a}a=Ia(a,29972);if(!a){break a}ua(f+12|0,0,52);x[f+56>>2]=1;x[f+20>>2]=-1;x[f+16>>2]=b;x[f+8>>2]=a;ia[x[x[a>>2]+28>>2]](a,f+8|0,x[c>>2],1);a=x[f+32>>2];if(!(!x[c>>2]|(a|0)!=1)){x[c>>2]=x[f+24>>2]}d=(a|0)==1;break a}d=0}ga=f- -64|0;return d|0}function Jd(a,b,c,d,e,f){var g=0;x[a+4>>2]=b;x[a>>2]=23140;b=x[c+12>>2];x[a+16>>2]=x[c+8>>2];x[a+20>>2]=b;b=x[c+4>>2];x[a+8>>2]=x[c>>2];x[a+12>>2]=b;b=x[c+28>>2];x[a+32>>2]=x[c+24>>2];x[a+36>>2]=b;b=x[c+20>>2];x[a+24>>2]=x[c+16>>2];x[a+28>>2]=b;b=x[c+44>>2];x[a+48>>2]=x[c+40>>2];x[a+52>>2]=b;b=x[c+36>>2];x[a+40>>2]=x[c+32>>2];x[a+44>>2]=b;g=x[c+60>>2];b=a- -64|0;x[b>>2]=x[c+56>>2];x[b+4>>2]=g;b=x[c+52>>2];x[a+56>>2]=x[c+48>>2];x[a+60>>2]=b;b=x[d+12>>2];x[a+80>>2]=x[d+8>>2];x[a+84>>2]=b;b=x[d+4>>2];x[a+72>>2]=x[d>>2];x[a+76>>2]=b;b=x[d+28>>2];x[a+96>>2]=x[d+24>>2];x[a+100>>2]=b;b=x[d+20>>2];x[a+88>>2]=x[d+16>>2];x[a+92>>2]=b;b=x[d+44>>2];x[a+112>>2]=x[d+40>>2];x[a+116>>2]=b;b=x[d+36>>2];x[a+104>>2]=x[d+32>>2];x[a+108>>2]=b;b=x[d+60>>2];x[a+128>>2]=x[d+56>>2];x[a+132>>2]=b;b=x[d+52>>2];x[a+120>>2]=x[d+48>>2];x[a+124>>2]=b;b=x[e+12>>2];x[a+144>>2]=x[e+8>>2];x[a+148>>2]=b;b=x[e+4>>2];x[a+136>>2]=x[e>>2];x[a+140>>2]=b;b=x[e+28>>2];x[a+160>>2]=x[e+24>>2];x[a+164>>2]=b;b=x[e+20>>2];x[a+152>>2]=x[e+16>>2];x[a+156>>2]=b;b=x[e+44>>2];x[a+176>>2]=x[e+40>>2];x[a+180>>2]=b;b=x[e+36>>2];x[a+168>>2]=x[e+32>>2];x[a+172>>2]=b;b=x[e+60>>2];x[a+192>>2]=x[e+56>>2];x[a+196>>2]=b;b=x[e+52>>2];x[a+184>>2]=x[e+48>>2];x[a+188>>2]=b;x[a+208>>2]=0;B[a+204>>2]=f;x[a+200>>2]=1065353216;return a}function sh(a,b){a=a|0;b=E(b);var c=0,d=0,e=0,f=E(0),g=0,h=E(0),i=E(0),j=E(0),k=E(0);e=x[a+8>>2];if((e|0)>0){while(1){c=x[x[a+16>>2]+(g<<2)>>2];if(!(!c|!(x[c+252>>2]&2)|(!(y[c+204|0]&2)|x[c+220>>2]==2))){e=ga-32|0;ga=e;if(b!=E(0)){d=x[c+540>>2];if(d){ia[x[x[d>>2]+8>>2]](d,c+4|0)}x[c+384>>2]=0;f=E(E(1)/b);B[c+380>>2]=f*E(B[c+60>>2]-B[c+124>>2]);B[c+376>>2]=f*E(B[c+56>>2]-B[c+120>>2]);B[c+372>>2]=f*E(B[c+52>>2]-B[c+116>>2]);Kb(c+68|0,c+4|0,e+16|0,e+12|0);i=B[e+16>>2];j=B[e+20>>2];k=B[e+24>>2];h=B[e+12>>2];x[c+400>>2]=0;B[c+396>>2]=f*E(h*k);B[c+392>>2]=f*E(h*j);B[c+388>>2]=f*E(i*h);d=x[c+384>>2];x[c+140>>2]=x[c+380>>2];x[c+144>>2]=d;d=x[c+376>>2];x[c+132>>2]=x[c+372>>2];x[c+136>>2]=d;d=x[c+392>>2];x[c+148>>2]=x[c+388>>2];x[c+152>>2]=d;d=x[c+400>>2];x[c+156>>2]=x[c+396>>2];x[c+160>>2]=d;d=x[c+8>>2];x[c+68>>2]=x[c+4>>2];x[c+72>>2]=d;d=x[c+16>>2];x[c+76>>2]=x[c+12>>2];x[c+80>>2]=d;d=x[c+24>>2];x[c+84>>2]=x[c+20>>2];x[c+88>>2]=d;d=x[c+32>>2];x[c+92>>2]=x[c+28>>2];x[c+96>>2]=d;d=x[c+48>>2];x[c+108>>2]=x[c+44>>2];x[c+112>>2]=d;d=x[c+40>>2];x[c+100>>2]=x[c+36>>2];x[c+104>>2]=d;d=x[c+64>>2];x[c+124>>2]=x[c+60>>2];x[c+128>>2]=d;d=x[c+56>>2];x[c+116>>2]=x[c+52>>2];x[c+120>>2]=d}ga=e+32|0;e=x[a+8>>2]}g=g+1|0;if((g|0)<(e|0)){continue}break}}}function Pl(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;f=ga-160|0;ga=f;g=x[a+12>>2];a:{if(!g){break a}h=x[c+4>>2];i=x[b+4>>2];x[e+4>>2]=g;x[f+152>>2]=1566444395;b=x[b+12>>2];g=x[b+12>>2];x[f+32>>2]=x[b+8>>2];x[f+36>>2]=g;g=x[b+4>>2];x[f+24>>2]=x[b>>2];x[f+28>>2]=g;g=x[b+28>>2];x[f+48>>2]=x[b+24>>2];x[f+52>>2]=g;g=x[b+20>>2];x[f+40>>2]=x[b+16>>2];x[f+44>>2]=g;j=x[b+44>>2];g=f- -64|0;x[g>>2]=x[b+40>>2];x[g+4>>2]=j;g=x[b+36>>2];x[f+56>>2]=x[b+32>>2];x[f+60>>2]=g;g=x[b+60>>2];x[f+80>>2]=x[b+56>>2];x[f+84>>2]=g;g=x[b+52>>2];x[f+72>>2]=x[b+48>>2];x[f+76>>2]=g;b=x[c+12>>2];c=x[b+12>>2];x[f+96>>2]=x[b+8>>2];x[f+100>>2]=c;c=x[b+4>>2];x[f+88>>2]=x[b>>2];x[f+92>>2]=c;c=x[b+20>>2];x[f+104>>2]=x[b+16>>2];x[f+108>>2]=c;c=x[b+28>>2];x[f+112>>2]=x[b+24>>2];x[f+116>>2]=c;c=x[b+36>>2];x[f+120>>2]=x[b+32>>2];x[f+124>>2]=c;c=x[b+44>>2];x[f+128>>2]=x[b+40>>2];x[f+132>>2]=c;c=x[b+52>>2];x[f+136>>2]=x[b+48>>2];x[f+140>>2]=c;c=x[b+60>>2];x[f+144>>2]=x[b+56>>2];x[f+148>>2]=c;b=f+12|0;x[b+8>>2]=h;x[b+4>>2]=i;x[b>>2]=16504;Ee(b,f+24|0,e,x[d+20>>2],0);if(!y[a+8|0]){break a}a=x[e+4>>2];if(!x[a+844>>2]){break a}c=x[a+836>>2];d=x[x[e+8>>2]+8>>2];b=(c|0)==(d|0);g=a;a=x[x[e+12>>2]+8>>2];Ja(g,(b?c:a)+4|0,(b?a:d)+4|0)}ga=f+160|0}function qk(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;Sa(a,b,c);B[b+20>>2]=B[a+80>>2];d=x[a+24>>2];x[b+12>>2]=0;x[b+16>>2]=d;if(d){g=ia[x[x[c>>2]+16>>2]](c,76,d)|0;d=x[g+8>>2];j=b,k=ia[x[x[c>>2]+28>>2]](c,d)|0,x[j+12>>2]=k;if(x[b+16>>2]>0){f=x[a+32>>2];while(1){e=D(h,80);f=e+f|0;B[d+72>>2]=B[f+72>>2];j=d,k=ia[x[x[c>>2]+28>>2]](c,x[f+64>>2])|0,x[j+64>>2]=k;if(!(ia[x[x[c>>2]+24>>2]](c,x[(e+x[a+32>>2]|0)+64>>2])|0)){f=x[(e+x[a+32>>2]|0)+64>>2];f=(k=c,l=ia[x[x[f>>2]+52>>2]](f)|0,m=1,j=x[x[c>>2]+16>>2],ia[j](k|0,l|0,m|0)|0);i=x[(e+x[a+32>>2]|0)+64>>2];m=c,l=f,k=ia[x[x[i>>2]+56>>2]](i,x[f+8>>2],c)|0,n=1346455635,o=x[(e+x[a+32>>2]|0)+64>>2],j=x[x[c>>2]+20>>2],ia[j](m|0,l|0,k|0,n|0,o|0)}f=x[a+32>>2];e=e+f|0;x[d+68>>2]=x[e+68>>2];B[d>>2]=B[e>>2];B[d+4>>2]=B[e+4>>2];B[d+8>>2]=B[e+8>>2];B[d+12>>2]=B[e+12>>2];B[d+16>>2]=B[e+16>>2];B[d+20>>2]=B[e+20>>2];B[d+24>>2]=B[e+24>>2];B[d+28>>2]=B[e+28>>2];B[d+32>>2]=B[e+32>>2];B[d+36>>2]=B[e+36>>2];B[d+40>>2]=B[e+40>>2];B[d+44>>2]=B[e+44>>2];B[d+48>>2]=B[e+48>>2];B[d+52>>2]=B[e+52>>2];B[d+56>>2]=B[e+56>>2];B[d+60>>2]=B[e+60>>2];d=d+76|0;h=h+1|0;if((h|0)>2]){continue}break}}ia[x[x[c>>2]+20>>2]](c,g,9087,1497453121,x[g+8>>2])}return 8973}function am(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=E(0);c=ga-800|0;ga=c;ia[x[8262]](7501);x[c+744>>2]=0;x[c+748>>2]=0;x[c+756>>2]=0;x[c+760>>2]=0;x[c+752>>2]=1065353216;x[c+764>>2]=0;x[c+768>>2]=0;x[c+776>>2]=0;x[c+780>>2]=0;x[c+772>>2]=1065353216;x[c+784>>2]=0;x[c+788>>2]=0;x[c+792>>2]=0;x[c+736>>2]=0;x[c+740>>2]=0;x[c+732>>2]=1065353216;x[c+724>>2]=0;x[c+728>>2]=0;x[c+556>>2]=13156;B[c+720>>2]=B[a+200>>2];g=B[a+196>>2];d=Ha(c+496|0);x[d+32>>2]=0;x[d+36>>2]=0;x[d+20>>2]=1065353216;x[d+24>>2]=1065353216;x[d+4>>2]=8;x[d>>2]=21396;x[d+56>>2]=0;B[d+52>>2]=g;x[d+28>>2]=1065353216;x[d+40>>2]=0;x[d+44>>2]=0;x[d+48>>2]=0;B[d+36>>2]=g;e=Db(c+384|0);x[e+4>>2]=1;x[e>>2]=15832;f=x[b+12>>2];x[e+72>>2]=x[b+8>>2];x[e+76>>2]=f;f=x[b+4>>2];x[e+64>>2]=x[b>>2];x[e+68>>2]=f;f=x[b+20>>2];x[e+80>>2]=x[b+16>>2];x[e+84>>2]=f;f=x[b+28>>2];x[e+88>>2]=x[b+24>>2];x[e+92>>2]=f;f=x[b+36>>2];x[e+96>>2]=x[b+32>>2];x[e+100>>2]=f;f=x[b+44>>2];x[e+104>>2]=x[b+40>>2];x[e+108>>2]=f;v[c+356|0]=0;x[c+332>>2]=953267991;b=c+8|0;x[b+12>>2]=e;x[b+8>>2]=d;x[b+4>>2]=c+24;x[b>>2]=23248;d=b;b=c+732|0;a:{if(!Id(d,a+4|0,a+68|0,b,b,c+556|0)){break a}g=B[c+720>>2];if(!(g>2])){break a}B[a+200>>2]=g}hb(e);ia[x[8263]]();ga=c+800|0}function Ji(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;a:{b:{if(y[a+164|0]){k=a+132|0;if(x[k>>2]>=(b|0)){break a}if(b){x[8456]=x[8456]+1;e=ia[x[8258]](b<<2,16)|0}else{e=0}d=x[a+136>>2];f=x[a+128>>2];c:{d:{if((f|0)>0){if(f>>>0>=4){l=f&-4;while(1){c=g<<2;x[c+e>>2]=x[d+c>>2];h=c|4;x[h+e>>2]=x[d+h>>2];h=c|8;x[h+e>>2]=x[d+h>>2];c=c|12;x[c+e>>2]=x[d+c>>2];g=g+4|0;i=i+4|0;if((l|0)!=(i|0)){continue}break}}c=f&3;if(c){while(1){f=g<<2;x[f+e>>2]=x[d+f>>2];g=g+1|0;j=j+1|0;if((c|0)!=(j|0)){continue}break}}if(y[a+140|0]){break d}break c}if(!d|!y[a+140|0]){break c}}if(d){x[8457]=x[8457]+1;ia[x[8259]](d)}}x[a+136>>2]=e;v[a+140|0]=1;break b}k=a+152|0;if(x[k>>2]>=(b|0)){break a}if(b){x[8456]=x[8456]+1;e=ia[x[8258]](b<<1,16)|0}else{e=0}d=x[a+156>>2];f=x[a+148>>2];e:{f:{if((f|0)>0){if(f>>>0>=4){l=f&-4;while(1){c=g<<1;w[c+e>>1]=z[d+c>>1];h=c|2;w[h+e>>1]=z[d+h>>1];h=c|4;w[h+e>>1]=z[d+h>>1];c=c|6;w[c+e>>1]=z[d+c>>1];g=g+4|0;i=i+4|0;if((l|0)!=(i|0)){continue}break}}c=f&3;if(c){while(1){f=g<<1;w[f+e>>1]=z[d+f>>1];g=g+1|0;j=j+1|0;if((c|0)!=(j|0)){continue}break}}if(y[a+160|0]){break f}break e}if(!d|!y[a+160|0]){break e}}if(d){x[8457]=x[8457]+1;ia[x[8259]](d)}}x[a+156>>2]=e;v[a+160|0]=1}x[k>>2]=b}}function Lb(a){var b=0;x[a+132>>2]=0;x[a+136>>2]=0;x[a+188>>2]=0;x[a+192>>2]=0;x[a+180>>2]=0;x[a+184>>2]=1566444395;x[a+164>>2]=1065353216;x[a+168>>2]=1065353216;x[a+276>>2]=0;x[a+280>>2]=0;x[a+268>>2]=1065353216;x[a+272>>2]=0;x[a+260>>2]=-1;x[a+264>>2]=-1;x[a+252>>2]=1;x[a+256>>2]=0;x[a+244>>2]=1036831949;x[a+248>>2]=1176256512;x[a+236>>2]=0;x[a+240>>2]=0;x[a+228>>2]=1056964608;x[a+232>>2]=0;x[a+220>>2]=1;x[a+224>>2]=0;x[a+212>>2]=-1;x[a+216>>2]=-1;x[a+204>>2]=1;x[a+208>>2]=-1;x[a>>2]=13004;x[a+140>>2]=0;x[a+144>>2]=0;x[a+148>>2]=0;x[a+152>>2]=0;x[a+156>>2]=0;x[a+160>>2]=0;x[a+172>>2]=1065353216;x[a+176>>2]=0;x[a+196>>2]=0;x[a+200>>2]=0;v[a+300|0]=1;x[a+304>>2]=0;x[a+296>>2]=0;x[a+288>>2]=0;x[a+292>>2]=0;x[a+4>>2]=1065353216;x[a+8>>2]=0;x[a+12>>2]=0;x[a+16>>2]=0;x[a+20>>2]=0;x[a+24>>2]=1065353216;x[a+28>>2]=0;x[a+32>>2]=0;x[a+36>>2]=0;x[a+40>>2]=0;x[a+44>>2]=1065353216;x[a+48>>2]=0;x[a+52>>2]=0;x[a+56>>2]=0;x[a+60>>2]=0;b=a- -64|0;x[b>>2]=0;x[b+4>>2]=1065353216;x[a+72>>2]=0;x[a+76>>2]=0;x[a+80>>2]=0;x[a+84>>2]=0;x[a+88>>2]=1065353216;x[a+92>>2]=0;x[a+96>>2]=0;x[a+100>>2]=0;x[a+104>>2]=0;x[a+112>>2]=0;x[a+116>>2]=0;x[a+108>>2]=1065353216;x[a+120>>2]=0;x[a+124>>2]=0;x[a+128>>2]=0;return a}function rr(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;x[8456]=x[8456]+1;a=bc(ia[x[8258]](768,16)|0,4,a,b);x[a>>2]=23552;b=x[c+12>>2];x[a+560>>2]=x[c+8>>2];x[a+564>>2]=b;b=x[c+4>>2];x[a+552>>2]=x[c>>2];x[a+556>>2]=b;b=x[c+28>>2];x[a+576>>2]=x[c+24>>2];x[a+580>>2]=b;b=x[c+20>>2];x[a+568>>2]=x[c+16>>2];x[a+572>>2]=b;b=x[c+44>>2];x[a+592>>2]=x[c+40>>2];x[a+596>>2]=b;b=x[c+36>>2];x[a+584>>2]=x[c+32>>2];x[a+588>>2]=b;b=x[c+60>>2];x[a+608>>2]=x[c+56>>2];x[a+612>>2]=b;b=x[c+52>>2];x[a+600>>2]=x[c+48>>2];x[a+604>>2]=b;b=x[d+12>>2];x[a+624>>2]=x[d+8>>2];x[a+628>>2]=b;b=x[d+4>>2];x[a+616>>2]=x[d>>2];x[a+620>>2]=b;b=x[d+20>>2];x[a+632>>2]=x[d+16>>2];x[a+636>>2]=b;b=x[d+28>>2];x[a+640>>2]=x[d+24>>2];x[a+644>>2]=b;b=x[d+36>>2];x[a+648>>2]=x[d+32>>2];x[a+652>>2]=b;b=x[d+44>>2];x[a+656>>2]=x[d+40>>2];x[a+660>>2]=b;b=x[d+52>>2];x[a+664>>2]=x[d+48>>2];x[a+668>>2]=b;b=x[d+60>>2];x[a+672>>2]=x[d+56>>2];x[a+676>>2]=b;x[a+688>>2]=0;x[a+692>>2]=-1082130432;x[a+696>>2]=1063675494;x[a+700>>2]=1050253722;x[a+704>>2]=1065353216;x[a+708>>2]=0;x[a+712>>2]=0;v[a+716|0]=0;v[a+740|0]=0;x[a+736>>2]=16777216;x[a+764>>2]=0;x[a+756>>2]=0;x[a+760>>2]=0;x[a+748>>2]=0;x[a+752>>2]=0;B[a+732>>2]=1;return a|0}function so(a,b,c,d,e,f,g,h,i,j,k){a=a|0;b=b|0;c=c|0;d=d|0;e=E(e);f=E(f);g=E(g);h=E(h);i=i|0;j=j|0;k=E(k);var l=0,m=E(0),n=E(0),o=E(0),p=E(0),q=E(0),r=E(0),s=0,t=E(0),u=E(0),v=E(0),w=0,y=E(0),z=E(0),A=E(0);l=ga-32|0;ga=l;t=B[c+8>>2];n=B[d+8>>2];p=B[c>>2];o=B[d+4>>2];q=B[d>>2];u=B[c+4>>2];v=B[b>>2];z=B[b+4>>2];m=B[b+8>>2];x[l+28>>2]=0;r=Ca(g);y=E(E(E(p*o)-E(q*u))*f);A=m;m=Ba(g);B[l+24>>2]=E(r*y)+E(A+E(m*E(n*e)));p=E(E(E(t*q)-E(n*p))*f);B[l+20>>2]=E(z+E(m*E(o*e)))+E(r*p);n=E(E(E(u*n)-E(o*t))*f);B[l+16>>2]=E(r*n)+E(v+E(m*E(q*e)));o=E(h-g);f=E(F(E(o/E(k*E(.01745329238474369)))));a:{if(E(F(f))>2]+16>>2]](a,b,l+16|0,i)}w=c>>>0<=1?1:c;if((w|0)>0){k=E(w|0);c=1;while(1){q=B[d+8>>2];h=E(E(E(o*E(c|0))/k)+g);f=Ba(h);t=B[b+8>>2];h=Ca(h);u=B[b>>2];r=B[d>>2];m=B[b+4>>2];v=B[d+4>>2];B[l+8>>2]=E(y*h)+E(t+E(f*E(q*e)));x[l+12>>2]=0;B[l+4>>2]=E(p*h)+E(m+E(f*E(v*e)));B[l>>2]=E(n*h)+E(u+E(f*E(r*e)));ia[x[x[a>>2]+16>>2]](a,l+16|0,l,i);s=x[l+12>>2];x[l+24>>2]=x[l+8>>2];x[l+28>>2]=s;s=x[l+4>>2];x[l+16>>2]=x[l>>2];x[l+20>>2]=s;s=(c|0)==(w|0);c=c+1|0;if(!s){continue}break}}if(j){ia[x[x[a>>2]+16>>2]](a,b,l+16|0,i)}ga=l+32|0}function ab(a,b){var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;d=x[a+16>>2];c=x[b+16>>2];if((d|0)!=(c|0)){return d-c|0}if(!d){return 0}n=d;e=x[b+8>>2];f=x[a+4>>2];i=x[b+12>>2];k=x[a>>2];j=js(i,0,k,0);d=ha;g=f;c=0;f=js(i,0,f,c);h=d+f|0;d=ha+c|0;l=e;i=0;e=js(e,i,g,c);c=f>>>0>h>>>0?d+1|0:d;f=ha;g=f+h|0;d=g;f=f>>>0>d>>>0?c+1|0:c;c=0;g=e;e=e+j|0;j=g>>>0>e>>>0?c+1|0:c;g=j+d|0;d=f;d=g>>>0>>0?d+1|0:d;h=g;j=0;f=js(k,m,l,i);i=j+f|0;c=ha+e|0;c=f>>>0>i>>>0?c+1|0:c;g=c;e=(e|0)==(c|0)&i>>>0>>0|c>>>0>>0;c=d;d=e+h|0;c=d>>>0>>0?c+1|0:c;j=d;k=c;e=x[b>>2];d=x[b+4>>2];b=x[a+8>>2];a=x[a+12>>2];c=0;l=b;f=js(d,c,b,0);b=ha;h=a;a=js(d,c,a,0);b=b+a|0;d=ha;d=a>>>0>b>>>0?d+1|0:d;a=js(e,0,h,c);c=d;d=b;b=ha;h=d+b|0;d=h;b=b>>>0>d>>>0?c+1|0:c;c=0;h=a;a=a+f|0;f=h>>>0>a>>>0?c+1|0:c;h=f+d|0;d=b;d=f>>>0>h>>>0?d+1|0:d;f=0;e=js(e,m,l,m);b=f+e|0;c=ha+a|0;c=b>>>0>>0?c+1|0:c;e=c;a=(a|0)==(c|0)&b>>>0>>0|a>>>0>c>>>0;c=d;d=a;a=a+h|0;c=d>>>0>a>>>0?c+1|0:c;d=-1;a:{if((c|0)==(k|0)&a>>>0>j>>>0|c>>>0>k>>>0){break a}d=1;if((c|0)==(k|0)&a>>>0>>0|c>>>0>>0){break a}d=-1;if((e|0)==(g|0)&b>>>0>i>>>0|e>>>0>g>>>0){break a}d=(e|0)==(g|0)&b>>>0>>0|e>>>0>>0}return D(n,d)}function Yf(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0;if(za(a,x[b+8>>2],e)){if(!(x[b+28>>2]==1|x[b+4>>2]!=(c|0))){x[b+28>>2]=d}return}a:{if(za(a,x[b>>2],e)){if(!(x[b+16>>2]!=(c|0)&x[b+20>>2]!=(c|0))){if((d|0)!=1){break a}x[b+32>>2]=1;return}x[b+32>>2]=d;if(x[b+44>>2]!=4){f=a+16|0;h=f+(x[a+12>>2]<<3)|0;d=0;b:{c:{while(1){d:{if(f>>>0>=h>>>0){break d}w[b+52>>1]=0;Wb(f,b,c,c,1,e);if(y[b+54|0]){break d}e:{if(!y[b+53|0]){break e}if(y[b+52|0]){d=1;if(x[b+24>>2]==1){break c}g=1;if(y[a+8|0]&2){break e}break c}g=1;if(!(v[a+8|0]&1)){break c}}f=f+8|0;continue}break}a=4;if(!g){break b}}a=3}x[b+44>>2]=a;if(d&1){break a}}x[b+20>>2]=c;x[b+40>>2]=x[b+40>>2]+1;if(x[b+36>>2]!=1|x[b+24>>2]!=2){break a}v[b+54|0]=1;return}g=x[a+12>>2];h=a+16|0;nb(h,b,c,d,e);f=a+24|0;g=h+(g<<3)|0;if(f>>>0>=g>>>0){break a}a=x[a+8>>2];if(!(!(a&2)&x[b+36>>2]!=1)){while(1){if(y[b+54|0]){break a}nb(f,b,c,d,e);f=f+8|0;if(g>>>0>f>>>0){continue}break}break a}if(!(a&1)){while(1){if(y[b+54|0]|x[b+36>>2]==1){break a}nb(f,b,c,d,e);f=f+8|0;if(g>>>0>f>>>0){continue}break a}}while(1){if(y[b+54|0]|x[b+36>>2]==1&x[b+24>>2]==1){break a}nb(f,b,c,d,e);f=f+8|0;if(g>>>0>f>>>0){continue}break}}}function ck(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;e=ga-80|0;ga=e;a:{if((d|0)<=0){break a}if(d>>>0>=8){j=d&-8;while(1){f=i<<4;x[(f+c|0)+12>>2]=-581039253;x[((f|16)+c|0)+12>>2]=-581039253;x[((f|32)+c|0)+12>>2]=-581039253;x[((f|48)+c|0)+12>>2]=-581039253;x[((f|64)+c|0)+12>>2]=-581039253;x[((f|80)+c|0)+12>>2]=-581039253;x[((f|96)+c|0)+12>>2]=-581039253;x[((f|112)+c|0)+12>>2]=-581039253;i=i+8|0;g=g+8|0;if((j|0)!=(g|0)){continue}break}}g=d&7;if(g){while(1){x[((i<<4)+c|0)+12>>2]=-581039253;i=i+1|0;h=h+1|0;if((g|0)!=(h|0)){continue}break}}if((d|0)<=0){break a}f=e- -64|0;i=0;while(1){x[e+40>>2]=19952;x[e+52>>2]=0;x[e+56>>2]=0;x[e+44>>2]=0;x[e+48>>2]=0;x[e+60>>2]=-581039253;g=i<<4;j=g+b|0;h=x[j+12>>2];x[f+8>>2]=x[j+8>>2];x[f+12>>2]=h;h=x[j+4>>2];x[f>>2]=x[j>>2];x[f+4>>2]=h;x[e+32>>2]=1566444395;x[e+36>>2]=0;x[e+24>>2]=1566444395;x[e+28>>2]=1566444395;h=x[a+100>>2];x[e+16>>2]=-581039253;x[e+20>>2]=0;x[e+8>>2]=-581039253;x[e+12>>2]=-581039253;ia[x[x[h>>2]+8>>2]](h,e+40|0,e+8|0,e+24|0);h=x[e+56>>2];g=c+g|0;x[g+8>>2]=x[e+52>>2];x[g+12>>2]=h;h=x[e+48>>2];x[g>>2]=x[e+44>>2];x[g+4>>2]=h;i=i+1|0;if((i|0)!=(d|0)){continue}break}}ga=e+80|0}function sj(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=E(0),f=E(0),g=E(0),h=E(0),i=0,j=E(0),k=E(0),l=E(0),m=E(0),n=E(0),o=E(0),p=E(0),q=E(0),r=E(0),s=E(0),t=E(0),u=E(0),v=E(0),w=E(0),y=E(0),z=E(0),A=E(0),C=E(0),D=E(0);i=x[a+40>>2];e=B[i+32>>2];f=B[a+32>>2];h=B[i+48>>2];k=B[i+28>>2];g=B[a+28>>2];l=B[i+44>>2];m=B[i+24>>2];t=B[i+40>>2];j=B[a+24>>2];n=E(ia[x[x[i>>2]+48>>2]](i));A=B[b+52>>2];q=B[b+24>>2];u=B[b+20>>2];o=B[b+56>>2];p=B[b+40>>2];r=B[b+36>>2];C=B[b+48>>2];v=B[b+8>>2];w=B[b+4>>2];y=B[b>>2];z=B[b+16>>2];s=B[b+32>>2];x[c+12>>2]=0;D=o;e=E(e*f);h=E(h*f);o=f<=E(0)?e:h;e=f>=E(0)?e:h;f=E(E(o+e)*E(.5));h=E(m*j);m=E(t*j);t=j<=E(0)?h:m;h=j>=E(0)?h:m;j=E(E(t+h)*E(.5));k=E(k*g);l=E(l*g);m=g<=E(0)?k:l;k=g>=E(0)?k:l;g=E(E(m+k)*E(.5));l=E(D+E(E(p*f)+E(E(s*j)+E(r*g))));e=E(n+E(E(o-e)*E(.5)));o=E(e*E(F(p)));p=E(n+E(E(t-h)*E(.5)));n=E(n+E(E(m-k)*E(.5)));r=E(o+E(E(p*E(F(s)))+E(n*E(F(r)))));B[c+8>>2]=l-r;s=E(A+E(E(f*q)+E(E(j*z)+E(g*u))));q=E(E(e*E(F(q)))+E(E(p*E(F(z)))+E(n*E(F(u)))));B[c+4>>2]=s-q;f=E(C+E(E(f*v)+E(E(j*y)+E(g*w))));g=E(E(e*E(F(v)))+E(E(p*E(F(y)))+E(n*E(F(w)))));B[c>>2]=f-g;x[d+12>>2]=0;B[d+8>>2]=r+l;B[d+4>>2]=q+s;B[d>>2]=g+f}function Nb(a,b,c,d){var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;while(1){q=c;g=x[a+12>>2]+((c+d|0)/2<<4)|0;r=x[g+8>>2];l=x[g+4>>2];k=x[g>>2];g=d;while(1){s=x[a+12>>2];while(1){e=-1;i=-1;f=(c<<4)+s|0;m=x[f>>2];if(m){i=x[m+12>>2]}e=k?x[k+12>>2]:e;j=-1;h=-1;n=x[f+4>>2];if(n){h=x[n+12>>2]}j=l?x[l+12>>2]:j;a:{b:{if((e|0)<(i|0)){break b}e=(k|0)==(m|0)&(h|0)>(j|0);if(!(e|(k|0)!=(m|0))){if((l|0)!=(n|0)){break a}if(A[f+8>>2]>r>>>0){break b}break a}if(!e){break a}}c=c+1|0;continue}break}while(1){t=g<<4;e=t+s|0;i=-1;j=-1;j=k?x[k+12>>2]:j;h=x[e>>2];if(h){i=x[h+12>>2]}u=-1;o=-1;o=l?x[l+12>>2]:o;p=x[e+4>>2];if(p){u=x[p+12>>2]}c:{d:{if((i|0)<(j|0)){break d}i=(h|0)==(k|0)&(u|0)<(o|0);if(!(i|(h|0)!=(k|0))){if((l|0)!=(p|0)){break c}if(A[e+8>>2]>>0){break d}break c}if(!i){break c}}g=g-1|0;continue}break}if((c|0)<=(g|0)){i=x[f+8>>2];j=x[f+12>>2];h=x[e+4>>2];x[f>>2]=x[e>>2];x[f+4>>2]=h;h=x[e+12>>2];x[f+8>>2]=x[e+8>>2];x[f+12>>2]=h;f=x[a+12>>2]+t|0;x[f+4>>2]=n;x[f+8>>2]=i;x[f+12>>2]=j;x[f>>2]=m;g=g-1|0;c=c+1|0}if((c|0)<=(g|0)){continue}break}if((g|0)>(q|0)){Nb(a,b,q,g)}if((c|0)<(d|0)){continue}break}}function Gi(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=E(0),f=E(0),g=E(0),h=E(0),i=E(0),j=E(0),k=E(0),l=E(0),m=E(0),n=E(0),o=E(0),p=E(0),q=E(0),r=E(0),s=E(0),t=E(0),u=E(0),v=E(0),w=E(0),y=E(0),z=E(0),A=E(0),C=E(0),D=E(0),G=E(0),H=E(0),I=E(0),J=E(0);h=B[a+32>>2];f=B[a+48>>2];u=B[a+28>>2];v=B[a+44>>2];w=B[a+24>>2];y=B[a+40>>2];z=E(ia[x[x[a>>2]+48>>2]](a));A=E(ia[x[x[a>>2]+48>>2]](a));C=E(ia[x[x[a>>2]+48>>2]](a));D=B[b+52>>2];i=B[b+24>>2];j=B[b+20>>2];k=B[b+56>>2];l=B[a+28>>2];o=B[a+44>>2];m=B[a+32>>2];G=B[a+48>>2];e=B[b+40>>2];n=B[b+36>>2];H=B[b+48>>2];q=B[b+8>>2];r=B[b>>2];s=B[b+4>>2];t=B[b+16>>2];I=B[a+24>>2];J=B[a+40>>2];g=B[b+32>>2];x[c+12>>2]=0;p=k;k=E(E(G+m)*E(.5));m=E(E(J+I)*E(.5));l=E(E(o+l)*E(.5));o=E(p+E(E(e*k)+E(E(g*m)+E(n*l))));h=E(C+E(E(f-h)*E(.5)));p=E(h*E(F(e)));e=E(z+E(E(y-w)*E(.5)));f=E(e*E(F(g)));g=E(A+E(E(v-u)*E(.5)));n=E(p+E(f+E(g*E(F(n)))));B[c+8>>2]=o-n;f=E(D+E(E(k*i)+E(E(m*t)+E(l*j))));i=E(E(h*E(F(i)))+E(E(e*E(F(t)))+E(g*E(F(j)))));B[c+4>>2]=f-i;j=E(H+E(E(k*q)+E(E(m*r)+E(l*s))));e=E(E(h*E(F(q)))+E(E(e*E(F(r)))+E(g*E(F(s)))));B[c>>2]=j-e;x[d+12>>2]=0;B[d+8>>2]=n+o;B[d+4>>2]=i+f;B[d>>2]=e+j}function rl(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=E(0),h=E(0),i=E(0),j=E(0),k=0,l=E(0),m=E(0),n=E(0),o=E(0),p=0;d=ga-32|0;ga=d;a=x[a+12>>2];a:{if(!a){break a}x[e+4>>2]=a;f=x[b+12>>2];k=x[c+12>>2];i=E(B[f+56>>2]-B[k+56>>2]);m=E(B[f+48>>2]-B[k+48>>2]);j=E(B[f+52>>2]-B[k+52>>2]);g=E(E(i*i)+E(E(m*m)+E(j*j)));f=x[c+4>>2];l=B[f+20>>2];h=B[f+36>>2];b=x[b+4>>2];n=B[b+20>>2];o=B[b+36>>2];f=x[a+844>>2];if((f|0)>0){b=0;while(1){f=a+D(b,208)|0;k=x[f+120>>2];b:{if(!k){break b}p=x[8753];if(!p){break b}ia[p|0](k)|0;x[f+120>>2]=0}b=b+1|0;f=x[a+844>>2];if((b|0)<(f|0)){continue}break}}g=E(M(g));l=E(h*l);h=E(o*n);c:{if(!f){break c}b=x[8756];if(!b){break c}x[d+16>>2]=a;ia[b|0](d+16|0)}x[a+844>>2]=0;h=E(h+l);if(g>E(h+B[e+32>>2])){break a}x[d+24>>2]=0;x[d+28>>2]=0;x[d+16>>2]=1065353216;x[d+20>>2]=0;h=E(g-h);d:{if(!(g>E(1.1920928955078125e-7))){g=E(1);i=E(0);j=E(0);break d}g=E(E(1)/g);i=E(i*g);B[d+24>>2]=i;j=E(j*g);B[d+20>>2]=j;g=E(m*g);B[d+16>>2]=g}a=x[c+12>>2];m=B[a+52>>2];n=B[a+56>>2];o=B[a+48>>2];x[d+12>>2]=0;B[d>>2]=o+E(l*g);B[d+8>>2]=n+E(l*i);B[d+4>>2]=m+E(l*j);ia[x[x[e>>2]+16>>2]](e,d+16|0,d,h)}ga=d+32|0}function vl(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;x[8466]=x[8466]+1;k=x[a+36>>2];d=c<<16|b;d=(d<<15^-1)+d|0;d=D(d>>>10^d,9);d=d>>>6^d;d=(d<<11^-1)+d|0;i=k+((x[a+12>>2]-1&(d>>>16^d))<<2)|0;d=x[i>>2];a:{if((d|0)==-1){break a}f=x[a+56>>2];g=x[a+16>>2];e=d;while(1){j=g+D(e,12)|0;if(!(x[j>>2]==(b|0)&x[j+4>>2]==(c|0))){e=x[(e<<2)+f>>2];if((e|0)!=-1){continue}break a}break}l=x[(g+D(e,12)|0)+8>>2];b:{c:{if((d|0)==(e|0)){break c}while(1){b=d;d=x[(b<<2)+f>>2];if((e|0)!=(d|0)){continue}break}if((b|0)==-1){break c}x[(b<<2)+f>>2]=x[(e<<2)+f>>2];break b}x[i>>2]=x[(e<<2)+f>>2]}h=x[a+8>>2]-1|0;if((h|0)!=(e|0)){d:{e:{g=g+D(h,12)|0;b=x[g+4>>2]<<16|x[g>>2];b=(b<<15^-1)+b|0;b=D(b>>>10^b,9);b=b>>>6^b;b=(b<<11^-1)+b|0;i=x[a+12>>2]-1&(b>>>16^b);d=k+(i<<2)|0;b=x[d>>2];if((h|0)==(b|0)){break e}while(1){c=b;b=x[(b<<2)+f>>2];if((h|0)!=(b|0)){continue}break}if((c|0)==-1){break e}x[(c<<2)+f>>2]=x[(h<<2)+f>>2];break d}x[d>>2]=x[(h<<2)+f>>2]}b=x[g+4>>2];x[j>>2]=x[g>>2];x[j+4>>2]=b;x[j+8>>2]=x[g+8>>2];b=x[a+36>>2]+(i<<2)|0;x[x[a+56>>2]+(e<<2)>>2]=x[b>>2];x[b>>2]=e;e=x[a+8>>2]-1|0}x[a+8>>2]=e}return l|0}function lc(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=ga-48|0;ga=c;d=x[b+4>>2];e=x[a+56>>2];x[e+4>>2]=x[b>>2];x[e+8>>2]=d;d=x[b+12>>2];x[e+12>>2]=x[b+8>>2];x[e+16>>2]=d;x[c+44>>2]=0;x[c+36>>2]=0;x[c+40>>2]=0;x[c+32>>2]=1065353216;e=c+16|0;b=c+32|0;ia[x[x[a>>2]+68>>2]](e,a,b);B[a+40>>2]=B[c+16>>2]+B[a+20>>2];x[c+32>>2]=-1082130432;ia[x[x[a>>2]+68>>2]](c,a,b);d=x[c+12>>2];x[c+24>>2]=x[c+8>>2];x[c+28>>2]=d;d=x[c+4>>2];x[c+16>>2]=x[c>>2];x[c+20>>2]=d;B[a+24>>2]=B[c+16>>2]-B[a+20>>2];x[c+40>>2]=0;x[c+44>>2]=0;x[c+32>>2]=0;x[c+36>>2]=0;x[c+36>>2]=1065353216;ia[x[x[a>>2]+68>>2]](e,a,b);B[a+44>>2]=B[c+20>>2]+B[a+20>>2];x[c+36>>2]=-1082130432;ia[x[x[a>>2]+68>>2]](c,a,b);d=x[c+12>>2];x[c+24>>2]=x[c+8>>2];x[c+28>>2]=d;d=x[c+4>>2];x[c+16>>2]=x[c>>2];x[c+20>>2]=d;B[a+28>>2]=B[c+20>>2]-B[a+20>>2];x[c+40>>2]=0;x[c+44>>2]=0;x[c+40>>2]=1065353216;x[c+32>>2]=0;x[c+36>>2]=0;ia[x[x[a>>2]+68>>2]](e,a,b);B[a+48>>2]=B[c+24>>2]+B[a+20>>2];x[c+40>>2]=-1082130432;ia[x[x[a>>2]+68>>2]](c,a,b);b=x[c+12>>2];x[c+24>>2]=x[c+8>>2];x[c+28>>2]=b;b=x[c+4>>2];x[c+16>>2]=x[c>>2];x[c+20>>2]=b;B[a+32>>2]=B[c+24>>2]-B[a+20>>2];ga=c+48|0}function ya(a,b,c){var d=0,e=0,f=0;if(c>>>0>=512){ca(a|0,b|0,c|0);return a}e=a+c|0;a:{if(!((a^b)&3)){b:{if(!(a&3)){c=a;break b}if(!c){c=a;break b}c=a;while(1){v[c|0]=y[b|0];b=b+1|0;c=c+1|0;if(!(c&3)){break b}if(c>>>0>>0){continue}break}}d=e&-4;c:{if(d>>>0<64){break c}f=d+-64|0;if(f>>>0>>0){break c}while(1){x[c>>2]=x[b>>2];x[c+4>>2]=x[b+4>>2];x[c+8>>2]=x[b+8>>2];x[c+12>>2]=x[b+12>>2];x[c+16>>2]=x[b+16>>2];x[c+20>>2]=x[b+20>>2];x[c+24>>2]=x[b+24>>2];x[c+28>>2]=x[b+28>>2];x[c+32>>2]=x[b+32>>2];x[c+36>>2]=x[b+36>>2];x[c+40>>2]=x[b+40>>2];x[c+44>>2]=x[b+44>>2];x[c+48>>2]=x[b+48>>2];x[c+52>>2]=x[b+52>>2];x[c+56>>2]=x[b+56>>2];x[c+60>>2]=x[b+60>>2];b=b- -64|0;c=c- -64|0;if(f>>>0>=c>>>0){continue}break}}if(c>>>0>=d>>>0){break a}while(1){x[c>>2]=x[b>>2];b=b+4|0;c=c+4|0;if(d>>>0>c>>>0){continue}break}break a}if(e>>>0<4){c=a;break a}d=e-4|0;if(d>>>0>>0){c=a;break a}c=a;while(1){v[c|0]=y[b|0];v[c+1|0]=y[b+1|0];v[c+2|0]=y[b+2|0];v[c+3|0]=y[b+3|0];b=b+4|0;c=c+4|0;if(d>>>0>=c>>>0){continue}break}}if(c>>>0>>0){while(1){v[c|0]=y[b|0];b=b+1|0;c=c+1|0;if((e|0)!=(c|0)){continue}break}}return a}function qc(a,b){var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;x[a+12>>2]=0;v[a+16|0]=1;x[a+4>>2]=0;x[a+8>>2]=0;d=x[b+4>>2];if((d|0)<=0){x[a+4>>2]=d;return}x[8456]=x[8456]+1;l=d<<2;e=ia[x[8258]](l,16)|0;g=x[a+12>>2];a:{b:{c:{d:{k=x[a+4>>2];if((k|0)>0){if(k>>>0>=4){m=k&-4;while(1){c=f<<2;x[c+e>>2]=x[c+g>>2];j=c|4;x[j+e>>2]=x[g+j>>2];j=c|8;x[j+e>>2]=x[g+j>>2];c=c|12;x[c+e>>2]=x[c+g>>2];f=f+4|0;h=h+4|0;if((m|0)!=(h|0)){continue}break}}c=k&3;if(c){while(1){h=f<<2;x[h+e>>2]=x[g+h>>2];f=f+1|0;i=i+1|0;if((c|0)!=(i|0)){continue}break}}if(!y[a+16|0]){break c}break d}if(y[a+16|0]?g:0){break d}x[a+12>>2]=e;v[a+16|0]=1;x[a+8>>2]=d;ua(e,0,l);x[a+4>>2]=d;break b}if(g){x[8457]=x[8457]+1;ia[x[8259]](g)}}x[a+12>>2]=e;v[a+16|0]=1;x[a+8>>2]=d;ua(e,0,l);x[a+4>>2]=d;if((d|0)<=0){break a}}a=x[b+12>>2];i=0;f=0;if(d>>>0>=4){g=d&-4;h=0;while(1){b=f<<2;x[b+e>>2]=x[a+b>>2];c=b|4;x[c+e>>2]=x[a+c>>2];c=b|8;x[c+e>>2]=x[a+c>>2];b=b|12;x[b+e>>2]=x[a+b>>2];f=f+4|0;h=h+4|0;if((g|0)!=(h|0)){continue}break}}b=d&3;if(!b){break a}while(1){d=f<<2;x[d+e>>2]=x[a+d>>2];f=f+1|0;i=i+1|0;if((b|0)!=(i|0)){continue}break}}}function dh(a,b){a=a|0;b=E(b);var c=0,d=E(0),e=0,f=E(0),g=0,h=E(0),i=0;i=ga-16|0;ga=i;ia[x[8262]](7100);if(x[a+248>>2]>0){while(1){c=x[x[a+256>>2]+(g<<2)>>2];a:{if(!c){break a}b:{c:{d:{e=x[c+220>>2];switch(e-2|0){case 0:case 2:break c;default:break d}}e:{d=B[c+380>>2];f=E(d*d);d=B[c+372>>2];h=E(d*d);d=B[c+376>>2];f=E(f+E(h+E(d*d)));d=B[c+532>>2];if(!(f>2];f=E(d*d);d=B[c+388>>2];h=E(d*d);d=B[c+392>>2];f=E(f+E(h+E(d*d)));d=B[c+536>>2];if(!(f>2]=B[c+224>>2]+b;break b}x[c+224>>2]=0;if((x[c+220>>2]&-2)!=4){x[c+220>>2]=0}e=x[c+220>>2]}if((e|0)==4){break a}}f:{if(y[35721]){break f}d=B[8267];if(d==E(0)|!(d>2])&(e&-2)!=2){break f}if(y[c+204|0]&3){if((x[c+220>>2]&-2)!=4){x[c+220>>2]=2}break a}if((e|0)==1){if((x[c+220>>2]&-2)!=4){x[c+220>>2]=3}e=x[c+220>>2]}if((e|0)!=2){break a}x[c+388>>2]=0;x[c+392>>2]=0;x[c+372>>2]=0;x[c+376>>2]=0;x[c+396>>2]=0;x[c+400>>2]=0;x[c+380>>2]=0;x[c+384>>2]=0;x[c+304>>2]=x[c+304>>2]+2;break a}if((x[c+220>>2]&-2)!=4){x[c+220>>2]=1}}g=g+1|0;if((g|0)>2]){continue}break}}ia[x[8263]]();ga=i+16|0}function Uk(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;Sa(a,b,c);d=x[a+56>>2];ia[x[x[d>>2]+56>>2]](d,b+12|0,c)|0;B[b+52>>2]=B[a+20>>2];a:{b:{if(!x[a+60>>2]){break b}if(ia[x[x[c>>2]+52>>2]](c)&1){break b}d=ia[x[x[c>>2]+24>>2]](c,x[a+60>>2])|0;if(d){x[b+44>>2]=0;x[b+40>>2]=d;break a}d=ia[x[x[c>>2]+28>>2]](c,x[a+60>>2])|0;x[b+44>>2]=0;x[b+40>>2]=d;d=x[a+60>>2];d=(g=c,h=ia[x[x[d>>2]+12>>2]](d)|0,i=1,f=x[x[c>>2]+16>>2],ia[f](g|0,h|0,i|0)|0);e=x[a+60>>2];i=c,h=d,g=ia[x[x[e>>2]+16>>2]](e,x[d+8>>2],c)|0,j=1213612625,k=x[a+60>>2],f=x[x[c>>2]+20>>2],ia[f](i|0,h|0,g|0,j|0,k|0);break a}x[b+40>>2]=0;x[b+44>>2]=0}c:{d:{if(!x[a+64>>2]){break d}if(ia[x[x[c>>2]+52>>2]](c)&2){break d}d=ia[x[x[c>>2]+24>>2]](c,x[a+64>>2])|0;if(d){x[b+48>>2]=d;break c}f=b,k=ia[x[x[c>>2]+28>>2]](c,x[a+64>>2])|0,x[f+48>>2]=k;d=x[a+64>>2];d=(k=c,j=ia[x[x[d>>2]+8>>2]](d)|0,g=1,f=x[x[c>>2]+16>>2],ia[f](k|0,j|0,g|0)|0);e=x[a+64>>2];g=c,j=d,k=ia[x[x[e>>2]+12>>2]](e,x[d+8>>2],c)|0,h=1346456916,i=x[a+64>>2],f=x[x[c>>2]+20>>2],ia[f](g|0,j|0,k|0,h|0,i|0);break c}x[b+48>>2]=0}x[b+56>>2]=0;return 8861}function ai(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=E(0);vb(a,b,c);B[b+52>>2]=B[a+552>>2];B[b+56>>2]=B[a+556>>2];B[b+60>>2]=B[a+560>>2];B[b- -64>>2]=B[a+564>>2];B[b+68>>2]=B[a+568>>2];B[b+72>>2]=B[a+572>>2];B[b+76>>2]=B[a+576>>2];B[b+80>>2]=B[a+580>>2];B[b+84>>2]=B[a+584>>2];B[b+88>>2]=B[a+588>>2];B[b+92>>2]=B[a+592>>2];B[b+96>>2]=B[a+596>>2];B[b+100>>2]=B[a+600>>2];B[b+104>>2]=B[a+604>>2];B[b+108>>2]=B[a+608>>2];B[b+112>>2]=B[a+612>>2];B[b+116>>2]=B[a+616>>2];B[b+120>>2]=B[a+620>>2];B[b+124>>2]=B[a+624>>2];B[b+128>>2]=B[a+628>>2];B[b+132>>2]=B[a+632>>2];B[b+136>>2]=B[a+636>>2];B[b+140>>2]=B[a+640>>2];B[b+144>>2]=B[a+644>>2];B[b+148>>2]=B[a+648>>2];B[b+152>>2]=B[a+652>>2];B[b+156>>2]=B[a+656>>2];B[b+160>>2]=B[a+660>>2];B[b+164>>2]=B[a+664>>2];B[b+168>>2]=B[a+668>>2];B[b+172>>2]=B[a+672>>2];B[b+176>>2]=B[a+676>>2];x[b+184>>2]=y[a+736|0];x[b+188>>2]=y[a+737|0];B[b+196>>2]=B[a+684>>2];B[b+192>>2]=B[a+680>>2];x[b+180>>2]=y[a+740|0];c=a+688|0;d=b,e=tb(c),B[d+200>>2]=e;d=b,e=ub(c),B[d+204>>2]=e;B[b+208>>2]=B[a+696>>2];B[b+212>>2]=B[a+700>>2];B[b+216>>2]=B[a+704>>2];return 8624}function Fl(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;a=x[b>>2];b=Ec(ia[x[x[a>>2]+56>>2]](a,116)|0,b,c,d,0);x[b>>2]=16340;v[b+104|0]=1;x[b+100>>2]=0;x[b+92>>2]=0;x[b+96>>2]=0;x[8456]=x[8456]+1;a=ia[x[8258]](64,16)|0;v[a+20|0]=1;x[a>>2]=17788;x[a+16>>2]=0;v[a+40|0]=1;x[a+8>>2]=0;x[a+12>>2]=0;x[a+36>>2]=0;v[a+60|0]=1;x[a+28>>2]=0;x[a+32>>2]=0;x[a+56>>2]=0;x[a+48>>2]=0;x[a+52>>2]=0;x[8456]=x[8456]+1;i=ia[x[8258]](24,16)|0;g=x[a+8>>2];a:{if((g|0)<=0){break a}if((g|0)!=1){l=g&-2;while(1){e=D(f,12);h=e+x[a+16>>2]|0;j=x[h+4>>2];e=e+i|0;x[e>>2]=x[h>>2];x[e+4>>2]=j;x[e+8>>2]=x[h+8>>2];e=D(f|1,12);h=e+x[a+16>>2]|0;j=x[h+4>>2];e=e+i|0;x[e>>2]=x[h>>2];x[e+4>>2]=j;x[e+8>>2]=x[h+8>>2];f=f+2|0;k=k+2|0;if((l|0)!=(k|0)){continue}break}}if(!(g&1)){break a}g=D(f,12);f=g+x[a+16>>2]|0;h=x[f+4>>2];g=g+i|0;x[g>>2]=x[f>>2];x[g+4>>2]=h;x[g+8>>2]=x[f+8>>2]}f=x[a+16>>2];if(!(f?!f|!y[a+20|0]:1)){x[8457]=x[8457]+1;ia[x[8259]](f)}x[a+16>>2]=i;v[a+20|0]=1;x[a+12>>2]=2;yc(a);x[b+84>>2]=a;x[b+108>>2]=x[x[c+4>>2]+76>>2];x[b+112>>2]=x[x[d+4>>2]+76>>2];return b|0}function ec(a,b){var c=E(0),d=E(0),e=0,f=E(0),g=E(0),h=E(0);d=B[((b<<2)+a|0)+1364>>2];e=D(b,88)+a|0;f=B[e+968>>2];g=B[e+972>>2];a:{if(f>=g){break a}if(dE(3.1415927410125732))){break b}c=E(c+E(-6.2831854820251465))}h=E(F(c));c=Fa(E(g-d));c:{if(cE(3.1415927410125732))){break c}c=E(c+E(-6.2831854820251465))}d=hg)){break a}c=Fa(E(d-g));d:{if(cE(3.1415927410125732))){break d}c=E(c+E(-6.2831854820251465))}h=E(F(c));c=Fa(E(d-f));e:{if(cE(3.1415927410125732))){break e}c=E(c+E(-6.2831854820251465))}d=h>E(F(c))?E(d+E(-6.2831854820251465)):d}B[e+1048>>2]=d;e=e+1040|0;if(f>g){x[(D(b,88)+a|0)+1052>>2]=0;x[e>>2]=0;return}B[e>>2]=d-f;if(f==g){x[(D(b,88)+a|0)+1052>>2]=3;return}a=D(b,88)+a|0;x[a+1052>>2]=4;B[a+1044>>2]=d-g}function ri(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=E(0),i=E(0),j=E(0),k=E(0),l=E(0),m=E(0);e=ga-688|0;ga=e;f=Db(e+576|0);x[f+4>>2]=1;x[f>>2]=15832;g=x[b+12>>2];x[f+72>>2]=x[b+8>>2];x[f+76>>2]=g;g=x[b+4>>2];x[f+64>>2]=x[b>>2];x[f+68>>2]=g;g=x[b+28>>2];x[f+88>>2]=x[b+24>>2];x[f+92>>2]=g;g=x[b+20>>2];x[f+80>>2]=x[b+16>>2];x[f+84>>2]=g;g=x[b+44>>2];x[f+104>>2]=x[b+40>>2];x[f+108>>2]=g;g=x[b+36>>2];x[f+96>>2]=x[b+32>>2];x[f+100>>2]=g;B[f+52>>2]=B[a+204>>2];v[e+548|0]=0;x[e+524>>2]=953267991;x[e+212>>2]=22676;g=x[a+4>>2];b=e+188|0;x[b+20>>2]=0;x[b+16>>2]=f;x[b+12>>2]=g;x[b+8>>2]=e+212;x[b+4>>2]=e+216;x[b>>2]=22452;x[e+12>>2]=13156;x[e+176>>2]=1065353216;x[e+180>>2]=0;B[e+184>>2]=B[a+208>>2];g=b;b=a+136|0;a:{if(!Nd(g,a+8|0,a+72|0,b,b,e+12|0)){break a}h=B[e+152>>2];i=B[e+144>>2];j=B[e+148>>2];k=E(E(h*h)+E(E(i*i)+E(j*j)));if(!(k>E(9999999747378752e-20))){break a}l=B[e+176>>2];if(!(l>2])){break a}m=h;h=E(E(1)/E(M(k)));B[e+152>>2]=m*h;B[e+148>>2]=j*h;B[e+144>>2]=i*h;E(ia[x[x[a>>2]+12>>2]](a,e+144|0,e+160|0,l,c,d))}hb(f);ga=e+688|0}function mi(a,b){a=a|0;b=b|0;var c=0,d=0;fc(a,x[a+28>>2]+4|0,x[a+32>>2]+4|0);x[b>>2]=0;x[b+4>>2]=0;d=2;a:{b:{c:{c=x[a+956>>2];switch(c|0){case 0:break a;case 4:break b;default:break c}}d=1}x[b>>2]=d;c=d}if(y[a+792|0]){c=c+1|0;x[b>>2]=c}if(y[a+798|0]){c=c+1|0;x[b>>2]=c}d=2;d:{switch(x[a+960>>2]){default:d=1;case 4:c=c+d|0;x[b>>2]=c;break;case 0:break d}}if(y[a+793|0]){c=c+1|0;x[b>>2]=c}if(y[a+799|0]){c=c+1|0;x[b>>2]=c}d=2;e:{switch(x[a+964>>2]){default:d=1;case 4:c=c+d|0;x[b>>2]=c;break;case 0:break e}}if(y[a+794|0]){c=c+1|0;x[b>>2]=c}if(y[a+800|0]){x[b>>2]=c+1}ec(a,0);c=2;f:{switch(x[a+1052>>2]){default:c=1;case 4:x[b>>2]=x[b>>2]+c;break;case 0:break f}}if(y[a+996|0]){x[b>>2]=x[b>>2]+1}if(y[a+1016|0]){x[b>>2]=x[b>>2]+1}ec(a,1);c=2;g:{switch(x[a+1140>>2]){default:c=1;case 4:x[b>>2]=x[b>>2]+c;break;case 0:break g}}if(y[a+1084|0]){x[b>>2]=x[b>>2]+1}if(y[a+1104|0]){x[b>>2]=x[b>>2]+1}c=2;ec(a,2);h:{switch(x[a+1228>>2]){default:c=1;case 4:x[b>>2]=x[b>>2]+c;break;case 0:break h}}if(y[a+1172|0]){x[b>>2]=x[b>>2]+1}if(y[a+1192|0]){x[b>>2]=x[b>>2]+1}}function uk(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=E(0),f=E(0),g=E(0),h=E(0),i=E(0),j=E(0),k=E(0),l=E(0),m=E(0),n=E(0),o=E(0),p=E(0),q=E(0),r=E(0),s=E(0),t=E(0),u=E(0),v=E(0),w=E(0),y=E(0),z=E(0);a:{if(x[a+24>>2]){g=B[a- -64>>2];e=B[a+48>>2];h=E(E(g+e)*E(.5));f=B[a+60>>2];k=B[a+44>>2];i=E(E(f+k)*E(.5));l=E(E(g-e)*E(.5));u=E(E(f-k)*E(.5));e=B[a+56>>2];f=B[a+40>>2];g=E(E(e+f)*E(.5));e=E(E(e-f)*E(.5));break a}e=E(0)}v=E(ia[x[x[a>>2]+48>>2]](a));w=E(ia[x[x[a>>2]+48>>2]](a));p=E(ia[x[x[a>>2]+48>>2]](a));y=B[b+52>>2];f=B[b+20>>2];k=B[b+24>>2];o=B[b+56>>2];m=B[b+36>>2];j=B[b+40>>2];z=B[b+48>>2];q=B[b+8>>2];r=B[b>>2];s=B[b+4>>2];t=B[b+16>>2];n=B[b+32>>2];x[c+12>>2]=0;o=E(o+E(E(h*j)+E(E(g*n)+E(i*m))));l=E(l+p);p=E(l*E(F(j)));e=E(e+v);j=E(u+w);m=E(p+E(E(e*E(F(n)))+E(j*E(F(m)))));B[c+8>>2]=o-m;n=E(y+E(E(h*k)+E(E(g*t)+E(i*f))));f=E(E(l*E(F(k)))+E(E(e*E(F(t)))+E(j*E(F(f)))));B[c+4>>2]=n-f;h=E(z+E(E(h*q)+E(E(g*r)+E(i*s))));i=E(E(l*E(F(q)))+E(E(e*E(F(r)))+E(j*E(F(s)))));B[c>>2]=h-i;x[d+12>>2]=0;B[d+8>>2]=m+o;B[d+4>>2]=f+n;B[d>>2]=i+h}function Ga(a,b,c){var d=0,e=E(0),f=0,g=0,h=E(0),i=E(0),j=E(0),k=E(0),l=E(0),m=E(0),n=E(0),o=E(0),p=E(0),q=E(0),r=E(0),s=E(0),t=E(0),u=E(0),v=0,w=E(0),y=E(0),z=E(0);d=ga-48|0;ga=d;f=x[b+120>>2];v=x[b+124>>2];g=x[b>>2]+(v>>1)|0;if(v&1){f=x[f+x[g>>2]>>2]}ia[f|0](d,g,c);h=B[c+8>>2];i=B[c+4>>2];k=B[c>>2];f=x[b+124>>2];g=x[b+4>>2]+(f>>1)|0;c=x[b+120>>2];c=f&1?x[x[g>>2]+c>>2]:c;l=B[b+16>>2];m=B[b+12>>2];n=B[b+32>>2];o=B[b+24>>2];p=B[b+28>>2];q=B[b+48>>2];e=B[b+40>>2];r=B[b+44>>2];s=B[b+8>>2];x[d+28>>2]=0;j=e;e=E(-k);B[d+24>>2]=E(E(j*e)-E(r*i))-E(q*h);B[d+20>>2]=E(E(o*e)-E(p*i))-E(n*h);B[d+16>>2]=E(E(s*e)-E(m*i))-E(l*h);ia[c|0](d+32|0,g,d+16|0);w=B[b+104>>2];y=B[b- -64>>2];z=B[b+60>>2];h=B[b+108>>2];i=B[b+80>>2];k=B[b+72>>2];l=B[b+76>>2];m=B[b+112>>2];n=B[b+96>>2];o=B[b+88>>2];p=B[b+92>>2];q=B[b+56>>2];j=B[d+40>>2];t=B[d+32>>2];u=B[d+36>>2];e=B[d>>2];r=B[d+4>>2];s=B[d+8>>2];x[a+12>>2]=0;B[a+8>>2]=s-E(m+E(E(j*n)+E(E(t*o)+E(u*p))));B[a+4>>2]=r-E(h+E(E(j*i)+E(E(t*k)+E(u*l))));B[a>>2]=e-E(w+E(E(j*y)+E(E(t*q)+E(u*z))));ga=d+48|0}function gi(a,b){a=a|0;b=b|0;var c=E(0),d=0,e=0,f=E(0),g=E(0),h=E(0),i=E(0),j=E(0),k=E(0),l=E(0),m=E(0),n=E(0),o=E(0),p=E(0),q=E(0),r=E(0),s=E(0),t=E(0),u=E(0),v=E(0),w=E(0);a:{b:{if(y[a+738|0]){x[b>>2]=0;a=0;break b}x[b>>2]=5;x[b+4>>2]=1;d=x[a+32>>2];c=B[a+652>>2];f=B[a+620>>2];g=B[a+636>>2];l=E(E(B[d+44>>2]*c)+E(E(B[d+36>>2]*f)+E(g*B[d+40>>2])));e=x[a+28>>2];m=B[e+44>>2];h=B[a+584>>2];n=B[e+36>>2];i=B[a+552>>2];j=B[a+568>>2];o=B[e+40>>2];u=E(l*E(E(m*h)+E(E(n*i)+E(j*o))));p=E(E(B[d+12>>2]*c)+E(E(B[d+4>>2]*f)+E(g*B[d+8>>2])));q=B[e+12>>2];r=B[e+4>>2];s=B[e+8>>2];v=E(p*E(E(q*h)+E(E(r*i)+E(j*s))));t=B[e+28>>2];k=E(t*h);h=B[e+20>>2];w=E(h*i);i=B[e+24>>2];k=E(k+E(w+E(j*i)));j=E(E(B[d+28>>2]*c)+E(E(B[d+20>>2]*f)+E(g*B[d+24>>2])));c=B[a+588>>2];f=B[a+556>>2];g=B[a+572>>2];c=E(xa(E(u+E(v+E(k*j))),E(E(l*E(E(m*c)+E(E(n*f)+E(o*g))))+E(E(p*E(E(q*c)+E(E(r*f)+E(s*g))))+E(E(E(t*c)+E(E(h*f)+E(i*g)))*j))))*B[a+732>>2]);B[a+728>>2]=c;xd(a+688|0,c);if(!(y[a+716|0]|y[a+737|0])){break a}x[b>>2]=x[b>>2]+1;a=x[b+4>>2]-1|0}x[b+4>>2]=a}}function rh(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0;d=ga-16|0;ga=d;ia[x[8262]](7775);Xe(a);a:{if(!(ia[x[x[a>>2]+20>>2]](a)|0)){break a}b=ia[x[x[a>>2]+20>>2]](a)|0;if(!(ia[x[x[b>>2]+56>>2]](b)&6144)){break a}b=ia[x[x[a>>2]+104>>2]](a)|0;if((b|0)<=0){break a}c=b;if(b&1){c=b-1|0;f=a,g=ia[x[x[a>>2]+108>>2]](a,c)|0,e=x[x[a>>2]+172>>2],ia[e](f|0,g|0)}if((b|0)==1){break a}while(1){b=c-1|0;g=a,f=ia[x[x[a>>2]+108>>2]](a,b)|0,e=x[x[a>>2]+172>>2],ia[e](g|0,f|0);c=c-2|0;f=a,g=ia[x[x[a>>2]+108>>2]](a,c)|0,e=x[x[a>>2]+172>>2],ia[e](f|0,g|0);if(b>>>0>1){continue}break}}b:{if(!(ia[x[x[a>>2]+20>>2]](a)|0)){break b}b=ia[x[x[a>>2]+20>>2]](a)|0;if(!(ia[x[x[b>>2]+56>>2]](b)&16387)){break b}if(!(ia[x[x[a>>2]+20>>2]](a)|0)){break b}b=ia[x[x[a>>2]+20>>2]](a)|0;if(!(ia[x[x[b>>2]+56>>2]](b)|0)|x[a+296>>2]<=0){break b}c=0;while(1){b=x[x[a+304>>2]+(c<<2)>>2];ia[x[x[b>>2]+12>>2]](b,x[a+72>>2]);c=c+1|0;if((c|0)>2]){continue}break}}if(ia[x[x[a>>2]+20>>2]](a)|0){a=ia[x[x[a>>2]+20>>2]](a)|0;ia[x[x[a>>2]+104>>2]](a)}ia[x[8263]]();ga=d+16|0}function Mh(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;d=x[a+288>>2];a:{b:{if(c){c:{if(x[a+292>>2]!=(d|0)){break c}h=d?d<<1:1;if((h|0)<=(d|0)){break c}if(h){x[8456]=x[8456]+1;f=ia[x[8258]](h<<2,16)|0;d=x[a+288>>2]}d:{if((d|0)<=0){break d}c=0;if(d>>>0>=4){i=d&-4;while(1){e=c<<2;x[e+f>>2]=x[e+x[a+296>>2]>>2];g=e|4;x[g+f>>2]=x[g+x[a+296>>2]>>2];g=e|8;x[g+f>>2]=x[g+x[a+296>>2]>>2];e=e|12;x[e+f>>2]=x[e+x[a+296>>2]>>2];c=c+4|0;j=j+4|0;if((i|0)!=(j|0)){continue}break}}e=d&3;if(!e){break d}while(1){i=c<<2;x[i+f>>2]=x[i+x[a+296>>2]>>2];c=c+1|0;k=k+1|0;if((e|0)!=(k|0)){continue}break}}c=x[a+296>>2];if(!(!c|!y[a+300|0])){if(c){x[8457]=x[8457]+1;ia[x[8259]](c)}d=x[a+288>>2]}x[a+296>>2]=f;v[a+300|0]=1;x[a+292>>2]=h}x[x[a+296>>2]+(d<<2)>>2]=b;d=d+1|0;break b}if((d|0)<=0){break a}f=x[a+296>>2];c=0;while(1){e=f+(c<<2)|0;if(x[e>>2]!=(b|0)){c=c+1|0;if((d|0)!=(c|0)){continue}break a}break}if((c|0)>=(d|0)){break a}d=d-1|0;c=d<<2;x[e>>2]=x[c+f>>2];x[c+x[a+296>>2]>>2]=b}x[a+288>>2]=d}x[a+280>>2]=(d|0)>0}function Ae(a){var b=0,c=0,d=0,e=0,f=0,g=0,h=0,i=0;b=x[a+16>>2];if(!(b?!b|!y[a+20|0]:1)){x[8457]=x[8457]+1;ia[x[8259]](b)}x[a+16>>2]=0;v[a+20|0]=1;x[a+8>>2]=0;x[a+12>>2]=0;b=x[a+36>>2];if(!(b?!b|!y[a+40|0]:1)){x[8457]=x[8457]+1;ia[x[8259]](b)}x[a+36>>2]=0;v[a+40|0]=1;x[a+28>>2]=0;x[a+32>>2]=0;b=x[a+56>>2];if(!(b?!b|!y[a+60|0]:1)){x[8457]=x[8457]+1;ia[x[8259]](b)}x[a+56>>2]=0;v[a+60|0]=1;x[a+48>>2]=0;x[a+52>>2]=0;if(x[a+12>>2]<=1){x[8456]=x[8456]+1;f=ia[x[8258]](24,16)|0;d=x[a+8>>2];a:{if((d|0)<=0){break a}b=0;if((d|0)!=1){i=d&-2;while(1){c=D(b,12);e=c+x[a+16>>2]|0;g=x[e+4>>2];c=c+f|0;x[c>>2]=x[e>>2];x[c+4>>2]=g;x[c+8>>2]=x[e+8>>2];c=D(b|1,12);e=c+x[a+16>>2]|0;g=x[e+4>>2];c=c+f|0;x[c>>2]=x[e>>2];x[c+4>>2]=g;x[c+8>>2]=x[e+8>>2];b=b+2|0;h=h+2|0;if((h|0)!=(i|0)){continue}break}}if(!(d&1)){break a}d=D(b,12);b=d+x[a+16>>2]|0;e=x[b+4>>2];d=d+f|0;x[d>>2]=x[b>>2];x[d+4>>2]=e;x[d+8>>2]=x[b+8>>2]}b=x[a+16>>2];if(!(b?!b|!y[a+20|0]:1)){x[8457]=x[8457]+1;ia[x[8259]](b)}x[a+16>>2]=f;v[a+20|0]=1;x[a+12>>2]=2}yc(a)}function sg(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;f=x[a+188>>2];j=x[b>>2];d=x[a+328>>2];a:{b:{if((d|0)<=0){break b}g=x[a+336>>2];while(1){if(x[g+(e<<2)>>2]!=(j|0)){e=e+1|0;if((e|0)!=(d|0)){continue}break b}break}if((d|0)!=(e|0)){break a}}m=c?c:f;c:{if(x[a+332>>2]!=(d|0)){break c}g=d?d<<1:1;if((g|0)<=(d|0)){break c}d:{if(!g){c=0;break d}x[8456]=x[8456]+1;c=ia[x[8258]](g<<2,16)|0;d=x[a+328>>2]}e:{if((d|0)<=0){break e}e=0;if(d>>>0>=4){i=d&-4;while(1){f=e<<2;x[f+c>>2]=x[f+x[a+336>>2]>>2];h=f|4;x[h+c>>2]=x[h+x[a+336>>2]>>2];h=f|8;x[h+c>>2]=x[h+x[a+336>>2]>>2];f=f|12;x[f+c>>2]=x[f+x[a+336>>2]>>2];e=e+4|0;k=k+4|0;if((i|0)!=(k|0)){continue}break}}f=d&3;if(!f){break e}while(1){i=e<<2;x[i+c>>2]=x[i+x[a+336>>2]>>2];e=e+1|0;l=l+1|0;if((f|0)!=(l|0)){continue}break}}e=x[a+336>>2];if(!(!e|!y[a+340|0])){if(e){x[8457]=x[8457]+1;ia[x[8259]](e)}d=x[a+328>>2]}x[a+336>>2]=c;v[a+340|0]=1;x[a+332>>2]=g}x[x[a+336>>2]+(d<<2)>>2]=j;x[a+328>>2]=d+1;a=x[a+344>>2];ia[x[x[a>>2]+8>>2]](a,m,b)|0}}function rb(a){a=a|0;var b=0;x[a>>2]=24120;if(y[a+288|0]){b=x[a+220>>2];ia[x[x[b>>2]>>2]](b)|0;b=x[a+220>>2];if(b){x[8457]=x[8457]+1;ia[x[8259]](b)}}b=x[a+212>>2];if(b){ia[x[x[b>>2]>>2]](b)|0;b=x[a+212>>2];if(b){x[8457]=x[8457]+1;ia[x[8259]](b)}}if(y[a+289|0]){b=x[a+216>>2];ia[x[x[b>>2]>>2]](b)|0;b=x[a+216>>2];if(b){x[8457]=x[8457]+1;ia[x[8259]](b)}}b=x[a+332>>2];if(!(b?!b|!y[a+336|0]:1)){x[8457]=x[8457]+1;ia[x[8259]](b)}x[a+332>>2]=0;v[a+336|0]=1;x[a+324>>2]=0;x[a+328>>2]=0;b=x[a+304>>2];if(!(b?!b|!y[a+308|0]:1)){x[8457]=x[8457]+1;ia[x[8259]](b)}x[a+304>>2]=0;v[a+308|0]=1;x[a+296>>2]=0;x[a+300>>2]=0;b=x[a+256>>2];if(!(b?!b|!y[a+260|0]:1)){x[8457]=x[8457]+1;ia[x[8259]](b)}x[a+256>>2]=0;v[a+260|0]=1;x[a+248>>2]=0;x[a+252>>2]=0;b=x[a+236>>2];if(!(b?!b|!y[a+240|0]:1)){x[8457]=x[8457]+1;ia[x[8259]](b)}x[a+236>>2]=0;v[a+240|0]=1;x[a+228>>2]=0;x[a+232>>2]=0;b=x[a+204>>2];if(!(b?!b|!y[a+208|0]:1)){x[8457]=x[8457]+1;ia[x[8259]](b)}x[a+204>>2]=0;v[a+208|0]=1;x[a+196>>2]=0;x[a+200>>2]=0;return Lc(a)|0}function bb(a,b,c,d,e,f,g){var h=E(0),i=E(0),j=0,k=0,l=E(0),m=E(0),n=E(0),o=0;x[d>>2]=2139095039;x[e>>2]=-8388609;o=x[a+8>>2];if((o|0)<=0){h=E(-34028234663852886e22)}else{while(1){k=x[a+16>>2]+(j<<4)|0;h=B[k+8>>2];i=B[k>>2];l=B[k+4>>2];m=E(E(E(h*B[b+40>>2])+E(E(i*B[b+32>>2])+E(l*B[b+36>>2])))+B[b+56>>2]);n=E(E(E(h*B[b+8>>2])+E(E(i*B[b>>2])+E(l*B[b+4>>2])))+B[b+48>>2]);i=E(E(E(h*B[b+24>>2])+E(E(i*B[b+16>>2])+E(l*B[b+20>>2])))+B[b+52>>2]);h=E(E(m*B[c+8>>2])+E(E(n*B[c>>2])+E(i*B[c+4>>2])));if(h>2]){B[d>>2]=h;x[f+12>>2]=0;B[f+8>>2]=m;B[f+4>>2]=i;B[f>>2]=n}if(h>B[e>>2]){B[e>>2]=h;x[g+12>>2]=0;B[g+8>>2]=m;B[g+4>>2]=i;B[g>>2]=n}j=j+1|0;if((o|0)!=(j|0)){continue}break}h=B[e>>2]}i=B[d>>2];if(h>2]=h;B[e>>2]=i;b=x[f+12>>2];a=ga-16|0;x[a+8>>2]=x[f+8>>2];x[a+12>>2]=b;b=x[f+4>>2];x[a>>2]=x[f>>2];x[a+4>>2]=b;b=x[g+12>>2];x[f+8>>2]=x[g+8>>2];x[f+12>>2]=b;b=x[g+4>>2];x[f>>2]=x[g>>2];x[f+4>>2]=b;b=x[a+12>>2];x[g+8>>2]=x[a+8>>2];x[g+12>>2]=b;b=x[a+4>>2];x[g>>2]=x[a>>2];x[g+4>>2]=b}}function Wd(a,b,c,d){var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;h=ga-16|0;ga=h;while(1){m=c;g=x[a+12>>2]+((c+d|0)/2<<4)|0;n=x[g+8>>2];k=x[g+4>>2];l=x[g>>2];g=d;while(1){i=x[a+12>>2];while(1){a:{f=(c<<4)+i|0;e=x[f+4>>2];b:{if((e|0)<(k|0)){break b}if((e|0)!=(k|0)){break a}e=x[f>>2];if((e|0)<(l|0)){break b}if((e|0)!=(l|0)|x[f+8>>2]>=(n|0)){break a}}c=c+1|0;continue}break}while(1){c:{o=g<<4;e=o+i|0;j=x[e+4>>2];d:{if((j|0)>(k|0)){break d}if((k|0)!=(j|0)){break c}j=x[e>>2];if((j|0)>(l|0)){break d}if((l|0)!=(j|0)|x[e+8>>2]<=(n|0)){break c}}g=g-1|0;continue}break}if((c|0)<=(g|0)){i=x[f+12>>2];x[h+8>>2]=x[f+8>>2];x[h+12>>2]=i;i=x[f+4>>2];x[h>>2]=x[f>>2];x[h+4>>2]=i;i=x[e+4>>2];x[f>>2]=x[e>>2];x[f+4>>2]=i;i=x[e+12>>2];x[f+8>>2]=x[e+8>>2];x[f+12>>2]=i;e=x[h+4>>2];f=x[a+12>>2]+o|0;x[f>>2]=x[h>>2];x[f+4>>2]=e;e=x[h+12>>2];x[f+8>>2]=x[h+8>>2];x[f+12>>2]=e;g=g-1|0;c=c+1|0}if((c|0)<=(g|0)){continue}break}if((g|0)>(m|0)){Wd(a,b,m,g)}if((c|0)<(d|0)){continue}break}ga=h+16|0}function kd(a,b,c){var d=E(0),e=E(0),f=E(0),g=E(0),h=E(0),i=E(0),j=E(0),k=E(0),l=E(0),m=E(0),n=E(0),o=E(0),p=E(0),q=E(0),r=E(0),s=E(0),t=E(0),u=E(0),v=E(0),w=E(0),y=E(0),z=E(0),A=E(0),C=E(0);z=B[b+52>>2];A=B[b+56>>2];m=B[c+52>>2];n=B[c+56>>2];d=B[b+20>>2];e=B[b+24>>2];o=B[c+20>>2];p=B[c+36>>2];f=B[b+36>>2];q=B[c+24>>2];g=B[b+40>>2];r=B[c+40>>2];C=B[b+48>>2];s=B[c+48>>2];h=B[b+16>>2];t=B[c+4>>2];i=B[b+32>>2];u=B[c+8>>2];j=B[b+8>>2];v=B[c+32>>2];k=B[b>>2];w=B[c>>2];l=B[b+4>>2];y=B[c+16>>2];x[a+60>>2]=0;x[a+44>>2]=0;x[a+28>>2]=0;x[a+12>>2]=0;B[a>>2]=E(v*j)+E(E(w*k)+E(y*l));B[a+40>>2]=E(r*g)+E(E(u*i)+E(q*f));B[a+36>>2]=E(p*g)+E(E(t*i)+E(o*f));B[a+32>>2]=E(v*g)+E(E(w*i)+E(y*f));B[a+24>>2]=E(r*e)+E(E(u*h)+E(q*d));B[a+20>>2]=E(p*e)+E(E(t*h)+E(o*d));B[a+16>>2]=E(v*e)+E(E(w*h)+E(y*d));B[a+8>>2]=E(r*j)+E(E(u*k)+E(l*q));B[a+4>>2]=E(p*j)+E(E(t*k)+E(l*o));B[a+56>>2]=A+E(E(n*g)+E(E(s*i)+E(f*m)));B[a+52>>2]=z+E(E(n*e)+E(E(s*h)+E(d*m)));B[a+48>>2]=C+E(E(n*j)+E(E(s*k)+E(l*m)))}function Sb(a,b){var c=0,d=0,e=E(0),f=E(0),g=E(0),h=E(0),i=E(0),j=E(0),k=E(0),l=E(0),m=E(0),n=E(0),o=E(0),p=E(0),q=E(0);if(x[a>>2]==(b|0)){x[a>>2]=0;return 0}d=x[b+32>>2];c=x[(((x[d+40>>2]!=(b|0))<<2)+d|0)+36>>2];b=x[d+32>>2];a:{b:{if(b){x[((((d|0)==x[b+40>>2])<<2)+b|0)+36>>2]=c;x[c+32>>2]=b;c=x[a+4>>2];if(c){x[8457]=x[8457]+1;ia[x[8259]](c)}x[a+4>>2]=d;while(1){q=B[b>>2];d=x[b+36>>2];e=B[d>>2];c=x[b+40>>2];k=B[c>>2];e=e>2]=e;k=B[b+16>>2];f=B[d+16>>2];l=B[c+16>>2];f=f>l?f:l;B[b+16>>2]=f;l=B[b+4>>2];g=B[d+4>>2];m=B[c+4>>2];g=g>2]=g;m=B[b+20>>2];h=B[d+20>>2];n=B[c+20>>2];h=h>n?h:n;B[b+20>>2]=h;n=B[b+8>>2];i=B[d+8>>2];o=B[c+8>>2];i=i>2]=i;o=B[b+24>>2];j=B[d+24>>2];p=B[c+24>>2];j=j>p?j:p;B[b+24>>2]=j;c:{if(e!=q|l!=g|(n!=i|k!=f)){break c}if(m!=h){break c}if(o==j){break a}}b=x[b+32>>2];if(b){continue}break}break b}x[a>>2]=c;x[c+32>>2]=0;b=x[a+4>>2];if(b){x[8457]=x[8457]+1;ia[x[8259]](b)}x[a+4>>2]=d}b=x[a>>2]}return b}function pd(a,b,c,d){var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;while(1){n=c;m=x[x[a+12>>2]+((c+d|0)/2<<2)>>2];f=d;while(1){k=x[a+12>>2];j=x[x[m+836>>2]+208>>2];g=(j|0)<0;a:{if(!g){while(1){h=c;l=(c<<2)+k|0;i=x[l>>2];e=x[x[i+836>>2]+208>>2];if((e|0)<0){e=x[x[i+840>>2]+208>>2]}c=h+1|0;if((e|0)<(j|0)){continue}break a}}o=x[x[m+840>>2]+208>>2];while(1){h=c;l=(c<<2)+k|0;i=x[l>>2];e=x[x[i+836>>2]+208>>2];if((e|0)<0){e=x[x[i+840>>2]+208>>2]}c=h+1|0;if((e|0)<(o|0)){continue}break}}b:{if(!g){while(1){c=f;g=x[(c<<2)+k>>2];e=x[x[g+836>>2]+208>>2];if((e|0)<0){e=x[x[g+840>>2]+208>>2]}f=c-1|0;if((e|0)>(j|0)){continue}break b}}j=x[x[m+840>>2]+208>>2];while(1){c=f;g=x[(c<<2)+k>>2];e=x[x[g+836>>2]+208>>2];if((e|0)<0){e=x[x[g+840>>2]+208>>2]}f=c-1|0;if((e|0)>(j|0)){continue}break}}c:{if((c|0)<(h|0)){f=c;c=h;break c}x[l>>2]=g;x[x[a+12>>2]+(c<<2)>>2]=i;f=c-1|0;c=h+1|0}if((c|0)<=(f|0)){continue}break}if((f|0)>(n|0)){pd(a,b,n,f)}if((c|0)<(d|0)){continue}break}}function as(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0;g=x[a+32>>2];e=x[a+24>>2];a:{while(1){if((e|0)<=0){break a}e=e-1|0;if(x[(g+D(e,80)|0)+64>>2]!=(b|0)){continue}break}b=ga+-64|0;ga=b;f=x[c+4>>2];g=D(e,80);e=g+x[a+32>>2]|0;x[e>>2]=x[c>>2];x[e+4>>2]=f;f=x[c+12>>2];x[e+8>>2]=x[c+8>>2];x[e+12>>2]=f;f=x[c+28>>2];x[e+24>>2]=x[c+24>>2];x[e+28>>2]=f;f=x[c+20>>2];x[e+16>>2]=x[c+16>>2];x[e+20>>2]=f;f=x[c+44>>2];x[e+40>>2]=x[c+40>>2];x[e+44>>2]=f;f=x[c+36>>2];x[e+32>>2]=x[c+32>>2];x[e+36>>2]=f;f=x[c+60>>2];x[e+56>>2]=x[c+56>>2];x[e+60>>2]=f;f=x[c+52>>2];x[e+48>>2]=x[c+48>>2];x[e+52>>2]=f;if(x[a+72>>2]){e=x[(g+x[a+32>>2]|0)+64>>2];ia[x[x[e>>2]+8>>2]](e,c,b+48|0,b+32|0);c=x[b+60>>2];x[b+8>>2]=x[b+56>>2];x[b+12>>2]=c;c=x[b+44>>2];x[b+24>>2]=x[b+40>>2];x[b+28>>2]=c;c=x[b+36>>2];x[b+16>>2]=x[b+32>>2];x[b+20>>2]=c;c=x[b+52>>2];x[b>>2]=x[b+48>>2];x[b+4>>2]=c;Pc(x[a+72>>2],x[(g+x[a+32>>2]|0)+76>>2],b)}if(d){ia[x[x[a>>2]+68>>2]](a)}ga=b- -64|0}}function md(a,b,c,d){var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;while(1){n=c;m=x[x[a+12>>2]+((c+d|0)/2<<2)>>2];f=d;while(1){k=x[a+12>>2];j=x[x[m+28>>2]+208>>2];g=(j|0)<0;a:{if(!g){while(1){h=c;l=(c<<2)+k|0;i=x[l>>2];e=x[x[i+28>>2]+208>>2];if((e|0)<0){e=x[x[i+32>>2]+208>>2]}c=h+1|0;if((e|0)<(j|0)){continue}break a}}o=x[x[m+32>>2]+208>>2];while(1){h=c;l=(c<<2)+k|0;i=x[l>>2];e=x[x[i+28>>2]+208>>2];if((e|0)<0){e=x[x[i+32>>2]+208>>2]}c=h+1|0;if((e|0)<(o|0)){continue}break}}b:{if(!g){while(1){c=f;g=x[(c<<2)+k>>2];e=x[x[g+28>>2]+208>>2];if((e|0)<0){e=x[x[g+32>>2]+208>>2]}f=c-1|0;if((e|0)>(j|0)){continue}break b}}j=x[x[m+32>>2]+208>>2];while(1){c=f;g=x[(c<<2)+k>>2];e=x[x[g+28>>2]+208>>2];if((e|0)<0){e=x[x[g+32>>2]+208>>2]}f=c-1|0;if((e|0)>(j|0)){continue}break}}c:{if((c|0)<(h|0)){f=c;c=h;break c}x[l>>2]=g;x[x[a+12>>2]+(c<<2)>>2]=i;f=c-1|0;c=h+1|0}if((c|0)<=(f|0)){continue}break}if((f|0)>(n|0)){md(a,b,n,f)}if((c|0)<(d|0)){continue}break}}function fh(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;if(!(y[b+204|0]&3|v[b+564|0]&1)){sb(b,a+264|0)}if(x[b+192>>2]){a:{if(!(v[b+204|0]&1)){c=x[a+248>>2];b:{if((c|0)!=x[a+252>>2]){break b}h=c?c<<1:1;if((h|0)<=(c|0)){break b}if(h){x[8456]=x[8456]+1;f=ia[x[8258]](h<<2,16)|0;c=x[a+248>>2]}c:{if((c|0)<=0){break c}if(c>>>0>=4){i=c&-4;while(1){d=e<<2;x[d+f>>2]=x[d+x[a+256>>2]>>2];g=d|4;x[g+f>>2]=x[g+x[a+256>>2]>>2];g=d|8;x[g+f>>2]=x[g+x[a+256>>2]>>2];d=d|12;x[d+f>>2]=x[d+x[a+256>>2]>>2];e=e+4|0;j=j+4|0;if((i|0)!=(j|0)){continue}break}}d=c&3;if(!d){break c}while(1){i=e<<2;x[i+f>>2]=x[i+x[a+256>>2]>>2];e=e+1|0;k=k+1|0;if((d|0)!=(k|0)){continue}break}}e=x[a+256>>2];if(!(!e|!y[a+260|0])){if(e){x[8457]=x[8457]+1;ia[x[8259]](e)}c=x[a+248>>2]}x[a+256>>2]=f;v[a+260|0]=1;x[a+252>>2]=h}x[x[a+256>>2]+(c<<2)>>2]=b;x[a+248>>2]=c+1;break a}if((x[b+220>>2]&-2)!=4){x[b+220>>2]=2}}c=b;b=x[b+204>>2]&3;ia[x[x[a>>2]+36>>2]](a,c,b?2:1,b?-3:-1)}}function sd(a,b){var c=0,d=0,e=0,f=0;a:{d=x[a+548>>2];if((d|0)<=0){break a}e=x[a+556>>2];while(1){if(x[e+(c<<2)>>2]!=(b|0)){c=c+1|0;if((d|0)!=(c|0)){continue}break a}break}if((c|0)>=(d|0)){break a}c=0;b:{while(1){f=e+(c<<2)|0;if(x[f>>2]!=(b|0)){c=c+1|0;if((d|0)!=(c|0)){continue}break b}break}if((c|0)>=(d|0)){break b}d=d-1|0;c=d<<2;x[f>>2]=x[c+e>>2];x[c+x[a+556>>2]>>2]=b;x[a+548>>2]=d}d=x[b+32>>2];e=x[b+28>>2];c:{if((e|0)==(a|0)){b=x[a+288>>2];if((b|0)<=0){break c}e=x[a+296>>2];c=0;while(1){f=e+(c<<2)|0;if((d|0)!=x[f>>2]){c=c+1|0;if((c|0)!=(b|0)){continue}break c}break}if((b|0)<=(c|0)){break c}b=b-1|0;c=b<<2;x[f>>2]=x[c+e>>2];x[c+x[a+296>>2]>>2]=d;x[a+288>>2]=b;break c}b=x[d+288>>2];d:{if((b|0)<=0){break d}a=x[d+296>>2];c=0;while(1){f=a+(c<<2)|0;if((e|0)!=x[f>>2]){c=c+1|0;if((c|0)!=(b|0)){continue}break d}break}if((b|0)<=(c|0)){break d}c=a;b=b-1|0;a=b<<2;x[f>>2]=x[c+a>>2];x[a+x[d+296>>2]>>2]=e;x[d+288>>2]=b}a=d}x[a+280>>2]=(b|0)>0}}function Zb(a){var b=0,c=E(0),d=0,e=E(0),f=0,g=E(0),h=E(0),i=E(0),j=0,k=0;d=ga-16|0;ga=d;b=x[a+8>>2];a:{if(!b){x[8456]=x[8456]+1;b=ie(ia[x[8258]](64,16)|0,B[a+152>>2],B[a+156>>2]);x[a+8>>2]=b;break a}e=B[a+156>>2];c=B[a+152>>2];B[b+52>>2]=c;x[b+48>>2]=0;B[b+44>>2]=c;B[b+36>>2]=c;x[b+28>>2]=1065353216;x[b+32>>2]=0;x[b+20>>2]=1065353216;x[b+24>>2]=1065353216;x[b+60>>2]=1;B[b+40>>2]=e*E(.5)}f=x[a+4>>2];ia[x[x[f>>2]+8>>2]](f,b);e=E(ia[x[x[a>>2]+20>>2]](a));c=B[a+152>>2];x[d+12>>2]=0;B[d+8>>2]=c;B[d+4>>2]=e;B[d>>2]=c;b=x[a+104>>2];b:{if(!b){x[8456]=x[8456]+1;j=a,k=xc(ia[x[8258]](64,16)|0,d),x[j+104>>2]=k;break b}g=E(ia[x[x[b>>2]+48>>2]](b));h=E(ia[x[x[b>>2]+48>>2]](b));i=E(ia[x[x[b>>2]+48>>2]](b));x[b+48>>2]=0;B[b+44>>2]=E(c*B[b+28>>2])-i;B[b+40>>2]=E(e*B[b+24>>2])-h;B[b+36>>2]=E(c*B[b+20>>2])-g;a=c(a?c:e)?!a:2)<<2)+d>>2]*E(.10000000149011612));if(!(E(ia[x[x[b>>2]+48>>2]](b))>c)){break b}ia[x[x[b>>2]+44>>2]](b,c)}ga=d+16|0}function xg(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;i=x[b>>2];c=x[a+328>>2];a:{b:{if((c|0)<=0){break b}e=x[a+336>>2];b=0;while(1){if(x[e+(b<<2)>>2]!=(i|0)){b=b+1|0;if((c|0)!=(b|0)){continue}break b}break}if((b|0)!=(c|0)){break a}}c:{if(x[a+332>>2]!=(c|0)){break c}g=c?c<<1:1;if((g|0)<=(c|0)){break c}d:{if(!g){e=0;break d}x[8456]=x[8456]+1;e=ia[x[8258]](g<<2,16)|0;c=x[a+328>>2]}e:{if((c|0)<=0){break e}b=0;if(c>>>0>=4){h=c&-4;while(1){d=b<<2;x[d+e>>2]=x[d+x[a+336>>2]>>2];f=d|4;x[f+e>>2]=x[f+x[a+336>>2]>>2];f=d|8;x[f+e>>2]=x[f+x[a+336>>2]>>2];d=d|12;x[d+e>>2]=x[d+x[a+336>>2]>>2];b=b+4|0;j=j+4|0;if((h|0)!=(j|0)){continue}break}}d=c&3;if(!d){break e}while(1){h=b<<2;x[h+e>>2]=x[h+x[a+336>>2]>>2];b=b+1|0;k=k+1|0;if((d|0)!=(k|0)){continue}break}}b=x[a+336>>2];if(!(!b|!y[a+340|0])){if(b){x[8457]=x[8457]+1;ia[x[8259]](b)}c=x[a+328>>2]}x[a+336>>2]=e;v[a+340|0]=1;x[a+332>>2]=g}x[x[a+336>>2]+(c<<2)>>2]=i;x[a+328>>2]=c+1}}function Sd(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=E(0),f=E(0),g=E(0),h=E(0),i=E(0),j=E(0),k=E(0),l=E(0),m=E(0),n=E(0),o=E(0),p=E(0),q=E(0),r=E(0),s=E(0),t=E(0),u=E(0),v=E(0),w=E(0),y=E(0),z=E(0),A=E(0);e=E(ia[x[x[a>>2]+48>>2]](a));z=B[b+52>>2];i=B[b+24>>2];j=B[b+20>>2];k=B[b+56>>2];g=B[b+40>>2];h=B[a+72>>2];f=B[a+88>>2];l=B[b+36>>2];p=B[a+68>>2];q=B[a+84>>2];A=B[b+48>>2];r=B[b+8>>2];s=B[b>>2];t=B[b+4>>2];u=B[b+16>>2];v=B[b+32>>2];w=B[a+64>>2];y=B[a+80>>2];x[c+12>>2]=0;m=k;k=E(E(f+h)*E(.5));n=E(E(y+w)*E(.5));o=E(E(q+p)*E(.5));m=E(m+E(E(g*k)+E(E(v*n)+E(l*o))));h=E(e+E(E(f-h)*E(.5)));f=E(h*E(F(g)));g=E(e+E(E(y-w)*E(.5)));e=E(e+E(E(q-p)*E(.5)));f=E(f+E(E(g*E(F(v)))+E(e*E(F(l)))));B[c+8>>2]=m-f;l=E(z+E(E(k*i)+E(E(n*u)+E(o*j))));i=E(E(h*E(F(i)))+E(E(g*E(F(u)))+E(e*E(F(j)))));B[c+4>>2]=l-i;j=E(A+E(E(k*r)+E(E(n*s)+E(o*t))));e=E(E(h*E(F(r)))+E(E(g*E(F(s)))+E(e*E(F(t)))));B[c>>2]=j-e;x[d+12>>2]=0;B[d+8>>2]=f+m;B[d+4>>2]=i+l;B[d>>2]=e+j}function ur(){var a=0,b=0,c=0,d=0,e=0;b=ga-16|0;ga=b;if(!y[35720]){x[b+8>>2]=0;x[b+12>>2]=0;x[b>>2]=0;x[b+4>>2]=0;a=ga-144|0;ga=a;c=Lb(35044);x[c>>2]=23996;v[c+560|0]=1;x[c+556>>2]=0;x[c+548>>2]=0;x[c+552>>2]=0;x[a+72>>2]=0;x[a+4>>2]=0;B[a>>2]=0;d=x[b+12>>2];x[a+84>>2]=x[b+8>>2];x[a+88>>2]=d;e=x[b>>2];d=x[b+4>>2];x[a+20>>2]=0;x[a+24>>2]=0;x[a+12>>2]=0;x[a+16>>2]=0;x[a+28>>2]=1065353216;x[a+40>>2]=0;x[a+44>>2]=0;x[a+32>>2]=0;x[a+36>>2]=0;x[a+48>>2]=1065353216;x[a+52>>2]=0;x[a+56>>2]=0;x[a+60>>2]=0;x[a+64>>2]=0;x[a+68>>2]=0;x[a+76>>2]=e;x[a+80>>2]=d;x[a+136>>2]=1008981770;x[a+140>>2]=1008981770;x[a+128>>2]=1000593162;x[a+132>>2]=1008981770;v[a+124|0]=0;x[a+116>>2]=1061997773;x[a+120>>2]=1065353216;x[a+108>>2]=0;x[a+112>>2]=0;x[a+100>>2]=1056964608;x[a+104>>2]=0;x[a+92>>2]=0;x[a+96>>2]=0;x[a+8>>2]=1065353216;wd(c,a);ga=a+144|0;v[35720]=1}x[b+8>>2]=0;x[b+12>>2]=0;x[b>>2]=0;x[b+4>>2]=0;ac(35044,E(0),b);ga=b+16|0;return 35044}function eh(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;if(!(y[b+204|0]&3|v[b+564|0]&1)){sb(b,a+264|0)}if(x[b+192>>2]){a:{if(!(v[b+204|0]&1)){e=x[a+248>>2];b:{if((e|0)!=x[a+252>>2]){break b}j=e?e<<1:1;if((j|0)<=(e|0)){break b}if(j){x[8456]=x[8456]+1;h=ia[x[8258]](j<<2,16)|0;e=x[a+248>>2]}c:{if((e|0)<=0){break c}if(e>>>0>=4){k=e&-4;while(1){f=g<<2;x[f+h>>2]=x[f+x[a+256>>2]>>2];i=f|4;x[i+h>>2]=x[i+x[a+256>>2]>>2];i=f|8;x[i+h>>2]=x[i+x[a+256>>2]>>2];f=f|12;x[f+h>>2]=x[f+x[a+256>>2]>>2];g=g+4|0;l=l+4|0;if((k|0)!=(l|0)){continue}break}}f=e&3;if(!f){break c}while(1){k=g<<2;x[k+h>>2]=x[k+x[a+256>>2]>>2];g=g+1|0;m=m+1|0;if((f|0)!=(m|0)){continue}break}}g=x[a+256>>2];if(!(!g|!y[a+260|0])){if(g){x[8457]=x[8457]+1;ia[x[8259]](g)}e=x[a+248>>2]}x[a+256>>2]=h;v[a+260|0]=1;x[a+252>>2]=j}x[x[a+256>>2]+(e<<2)>>2]=b;x[a+248>>2]=e+1;break a}if((x[b+220>>2]&-2)!=4){x[b+220>>2]=2}}ia[x[x[a>>2]+36>>2]](a,b,c,d)}}function oh(a){a=a|0;var b=0,c=0,d=E(0),e=0,f=0,g=0,h=0;f=ga+-64|0;ga=f;a:{if(y[a+290|0]){c=x[a+8>>2];if((c|0)<=0){break a}while(1){b=x[x[a+16>>2]+(e<<2)>>2];if(!(!b|!(x[b+252>>2]&2)|(!x[b+540>>2]|y[b+204|0]&3))){c=b+68|0;g=b+132|0;h=b+148|0;b:{c:{if(!y[a+316|0]){break c}d=B[a+284>>2];if(d==E(0)){break c}d=E(B[a+280>>2]-d);break b}d=E(B[a+280>>2]*B[b+268>>2])}$a(c,g,h,d,f);b=x[b+540>>2];ia[x[x[b>>2]+12>>2]](b,f);c=x[a+8>>2]}e=e+1|0;if((c|0)>(e|0)){continue}break}break a}c=x[a+248>>2];if((c|0)<=0){break a}while(1){d:{e:{b=x[x[a+256>>2]+(e<<2)>>2];switch(x[b+220>>2]-2|0){case 0:case 3:break d;default:break e}}if(!x[b+540>>2]|y[b+204|0]&3){break d}c=b+68|0;g=b+132|0;h=b+148|0;f:{g:{if(!y[a+316|0]){break g}d=B[a+284>>2];if(d==E(0)){break g}d=E(B[a+280>>2]-d);break f}d=E(B[a+280>>2]*B[b+268>>2])}$a(c,g,h,d,f);b=x[b+540>>2];ia[x[x[b>>2]+12>>2]](b,f);c=x[a+248>>2]}e=e+1|0;if((c|0)>(e|0)){continue}break}}ga=f- -64|0}function sq(a,b){a=E(a);b=b|0;var c=0;c=ga-144|0;ga=c;if(!y[33688]){x[8415]=0;x[8416]=0;x[8413]=35;x[8414]=0;x[8417]=0;x[8412]=20152;x[8413]=27;x[8412]=20260;v[33688]=1}x[c+88>>2]=0;x[c+92>>2]=0;x[c+12>>2]=0;x[c+16>>2]=0;x[c+20>>2]=0;x[c+24>>2]=0;B[c>>2]=a;a=a==E(0)?E(0):E(1.6666666269302368);B[c+84>>2]=a;B[c+80>>2]=a;x[c+136>>2]=1008981770;x[c+140>>2]=1008981770;x[c+128>>2]=1000593162;x[c+132>>2]=1008981770;v[c+124|0]=0;x[c+120>>2]=1065353216;x[c+112>>2]=0;x[c+116>>2]=1061997773;x[c+104>>2]=0;x[c+108>>2]=0;x[c+96>>2]=0;x[c+100>>2]=1056964608;x[c+4>>2]=b;x[c+8>>2]=1065353216;x[c+72>>2]=33648;B[c+76>>2]=a;x[c+32>>2]=0;x[c+36>>2]=0;x[c+28>>2]=1065353216;x[c+40>>2]=0;x[c+44>>2]=0;x[c+48>>2]=1065353216;x[c+52>>2]=0;x[c+56>>2]=0;x[c+60>>2]=0;x[c+64>>2]=0;x[c+68>>2]=0;x[8456]=x[8456]+1;b=Lb(ia[x[8258]](676,16)|0);x[b>>2]=23996;v[b+560|0]=1;x[b+556>>2]=0;x[b+548>>2]=0;x[b+552>>2]=0;wd(b,c);ga=c+144|0;return b|0}function Tn(a,b,c,d,e,f,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0;h=ga-48|0;ga=h;x[8456]=x[8456]+1;d=ia[x[8258]](64,16)|0;x[d+8>>2]=g;x[d+4>>2]=f;x[d>>2]=e;e=x[b+4>>2];x[d+16>>2]=x[b>>2];x[d+20>>2]=e;e=x[b+12>>2];x[d+24>>2]=x[b+8>>2];x[d+28>>2]=e;e=x[c+4>>2];x[d+32>>2]=x[c>>2];x[d+36>>2]=e;e=x[c+12>>2];x[d+40>>2]=x[c+8>>2];x[d+44>>2]=e;x[d+52>>2]=0;x[d+56>>2]=0;e=x[b+12>>2];x[h+24>>2]=x[b+8>>2];x[h+28>>2]=e;e=x[b+4>>2];x[h+16>>2]=x[b>>2];x[h+20>>2]=e;b=x[c+12>>2];x[h+40>>2]=x[c+8>>2];x[h+44>>2]=b;b=x[c+4>>2];x[h+32>>2]=x[c>>2];x[h+36>>2]=b;x[d+60>>2]=x[a+104>>2];b=x[a+148>>2]+1|0;x[a+148>>2]=b;x[d+12>>2]=b;i=d,j=Qb(a+4|0,h+16|0,d),x[i+48>>2]=j;b=x[a+104>>2];x[d+52>>2]=0;b=(b<<2)+a|0;x[d+56>>2]=x[b+84>>2];c=x[b+84>>2];if(c){x[c+52>>2]=d}x[b+84>>2]=d;if(!y[a+153|0]){x[h+12>>2]=d;x[h+4>>2]=12044;x[h+8>>2]=a;b=h+16|0;c=h+4|0;mb(x[a+4>>2],b,c);mb(x[a+44>>2],b,c)}ga=h+48|0;return d|0}function jc(a,b,c,d,e,f){var g=0,h=0,i=0;a:{if(y[d+55|0]==(b|0)){break a}g=e<<2;h=x[g+22644>>2];b:{if(E(E(E(B[d+8>>2]*B[c+24>>2])+E(E(B[d>>2]*B[c+16>>2])+E(B[d+4>>2]*B[c+20>>2])))-B[d+16>>2])>2],x[a+g>>2],c,0);if(!a){break a}x[a+32>>2]=d;v[a+52|0]=e;v[(d+e|0)+52|0]=0;x[((e<<2)+d|0)+32>>2]=a;b=x[f>>2];c:{if(b){x[b+36>>2]=a;v[b+53|0]=2;x[a+40>>2]=b;v[a+54|0]=1;break c}x[f+4>>2]=a}x[f>>2]=a;a=f+8|0;break b}v[d+55|0]=b;e=x[g+22656>>2];if(!jc(a,b,c,x[((h<<2)+d|0)+32>>2],y[(d+h|0)+52|0],f)){break a}if(!jc(a,b,c,x[((e<<2)+d|0)+32>>2],y[(d+e|0)+52|0],f)){break a}b=x[d+48>>2];if(b){x[b+44>>2]=x[d+44>>2]}b=x[d+44>>2];if(b){x[b+48>>2]=x[d+48>>2]}if(x[a+18496>>2]==(d|0)){x[a+18496>>2]=x[d+48>>2]}b=a+18500|0;x[b>>2]=x[b>>2]-1;x[d+44>>2]=0;x[d+48>>2]=x[a+18504>>2];b=x[a+18504>>2];if(b){x[b+44>>2]=d}x[a+18504>>2]=d;a=a+18508|0}i=1;x[a>>2]=x[a>>2]+1}return i}function Nj(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=E(0),f=E(0),g=E(0),h=E(0),i=E(0),j=E(0),k=E(0),l=E(0),m=E(0),n=E(0),o=E(0),p=E(0),q=E(0),r=E(0),s=E(0),t=E(0),u=E(0),v=E(0),w=E(0),y=E(0),z=E(0),A=E(0),C=E(0),D=E(0);k=B[b+56>>2];n=B[b+36>>2];o=B[b+40>>2];l=B[b+52>>2];h=B[b+20>>2];f=B[a+120>>2];i=B[a+28>>2];p=B[a+44>>2];g=B[b+24>>2];e=B[a+124>>2];j=B[a+32>>2];q=B[a+48>>2];r=B[b+32>>2];m=B[b+48>>2];s=B[b>>2];t=B[b+4>>2];u=B[b+8>>2];v=B[b+16>>2];w=B[a+116>>2];y=B[a+24>>2];z=B[a+40>>2];A=E(ia[x[x[a>>2]+48>>2]](a));C=E(ia[x[x[a>>2]+48>>2]](a));D=E(ia[x[x[a>>2]+48>>2]](a));x[c+12>>2]=0;e=E(E(e*E(q-j))*E(.5));j=E(e*E(F(g)));g=E(E(w*E(z-y))*E(.5));f=E(E(f*E(p-i))*E(.5));h=E(C+E(j+E(E(g*E(F(v)))+E(f*E(F(h))))));B[c+4>>2]=l-h;i=E(A+E(E(e*E(F(u)))+E(E(g*E(F(s)))+E(f*E(F(t))))));B[c>>2]=m-i;e=E(D+E(E(e*E(F(o)))+E(E(g*E(F(r)))+E(f*E(F(n))))));B[c+8>>2]=k-e;x[d+12>>2]=0;B[d+8>>2]=k+e;B[d+4>>2]=l+h;B[d>>2]=m+i}function Di(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=E(0),f=0,g=E(0),h=E(0),i=E(0);d=ga-144|0;ga=d;x[d+72>>2]=0;x[d+76>>2]=0;f=d- -64|0;x[f>>2]=0;x[f+4>>2]=0;x[d+108>>2]=0;x[d+112>>2]=0;x[d+116>>2]=0;x[d+120>>2]=0;x[d+52>>2]=0;x[d+56>>2]=0;x[d+84>>2]=0;x[d+88>>2]=0;x[d+80>>2]=1065353216;x[d+92>>2]=0;x[d+96>>2]=0;x[d+100>>2]=1065353216;x[d+104>>2]=0;x[d+44>>2]=0;x[d+48>>2]=0;x[d+60>>2]=1065353216;x[d+124>>2]=-581039253;x[d+40>>2]=22396;e=B[c+8>>2];g=B[c>>2];h=B[c+4>>2];x[d+140>>2]=0;i=E(h*E(0));B[d+136>>2]=e+E(E(g*B[d+68>>2])+i);e=E(e*E(0));B[d+132>>2]=e+E(h+E(g*B[f>>2]));B[d+128>>2]=e+E(g+i);x[d+32>>2]=1566444395;x[d+36>>2]=0;x[d+24>>2]=1566444395;x[d+28>>2]=1566444395;x[d+16>>2]=-581039253;x[d+20>>2]=0;x[d+8>>2]=-581039253;x[d+12>>2]=-581039253;ia[x[x[b>>2]+64>>2]](b,d+40|0,d+8|0,d+24|0);b=x[d+56>>2];x[a+8>>2]=x[d+52>>2];x[a+12>>2]=b;b=x[d+48>>2];x[a>>2]=x[d+44>>2];x[a+4>>2]=b;ga=d+144|0}function Jf(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=x[b+4>>2];x[a+48>>2]=x[b>>2];x[a+52>>2]=d;d=x[b+12>>2];x[a+56>>2]=x[b+8>>2];x[a+60>>2]=d;d=x[b+28>>2];x[a+72>>2]=x[b+24>>2];x[a+76>>2]=d;e=x[b+20>>2];d=a- -64|0;x[d>>2]=x[b+16>>2];x[d+4>>2]=e;d=x[b+44>>2];x[a+88>>2]=x[b+40>>2];x[a+92>>2]=d;d=x[b+36>>2];x[a+80>>2]=x[b+32>>2];x[a+84>>2]=d;d=x[b+60>>2];x[a+104>>2]=x[b+56>>2];x[a+108>>2]=d;d=x[b+52>>2];x[a+96>>2]=x[b+48>>2];x[a+100>>2]=d;b=x[c+12>>2];x[a+120>>2]=x[c+8>>2];x[a+124>>2]=b;b=x[c+4>>2];x[a+112>>2]=x[c>>2];x[a+116>>2]=b;b=x[c+20>>2];x[a+128>>2]=x[c+16>>2];x[a+132>>2]=b;b=x[c+28>>2];x[a+136>>2]=x[c+24>>2];x[a+140>>2]=b;b=x[c+36>>2];x[a+144>>2]=x[c+32>>2];x[a+148>>2]=b;b=x[c+44>>2];x[a+152>>2]=x[c+40>>2];x[a+156>>2]=b;b=x[c+60>>2];x[a+168>>2]=x[c+56>>2];x[a+172>>2]=b;b=x[c+52>>2];x[a+160>>2]=x[c+48>>2];x[a+164>>2]=b;ia[x[x[a>>2]+8>>2]](a);fc(a,x[a+28>>2]+4|0,x[a+32>>2]+4|0)}function _a(a,b,c,d,e,f,g,h){var i=E(0),j=E(0),k=E(0),l=0,m=E(0),n=E(0),o=E(0),p=0,q=E(0),r=E(0),s=0,t=0,u=0,v=0,w=E(0),z=E(0),A=0;p=x[(g?20:16)+d>>2];l=x[(g?12:8)+d>>2];s=e<<2;B[l+s>>2]=B[f>>2];t=e+1|0;u=t<<2;B[u+l>>2]=B[f+4>>2];A=l;l=e+2|0;v=l<<2;B[A+v>>2]=B[f+8>>2];B[p+s>>2]=-B[f>>2];B[p+u>>2]=-B[f+4>>2];B[p+v>>2]=-B[f+8>>2];if(!g){m=E(B[a+1352>>2]-B[c+52>>2]);j=B[f+8>>2];k=B[f+4>>2];n=E(B[a+1356>>2]-B[c+56>>2]);q=E(E(m*j)-E(k*n));w=E(B[a+1288>>2]-B[b+52>>2]);z=E(B[a+1292>>2]-B[b+56>>2]);r=E(E(w*j)-E(k*z));o=E(B[a+1348>>2]-B[c+48>>2]);i=B[f>>2];m=E(E(o*k)-E(i*m));n=E(E(n*i)-E(j*o));o=E(B[a+1284>>2]-B[b+48>>2]);k=E(E(o*k)-E(i*w));j=E(E(z*i)-E(j*o));if(!(!y[a+1452|0]|h)){i=B[a+1448>>2];m=E(i*m);n=E(i*n);q=E(q*i);i=B[a+1444>>2];k=E(i*k);r=E(r*i);j=E(i*j)}b=e<<2;a=b+x[d+12>>2]|0;B[a+8>>2]=k;B[a+4>>2]=j;B[a>>2]=r;a=x[d+20>>2];B[a+b>>2]=-q;B[a+(t<<2)>>2]=-n;B[a+(l<<2)>>2]=-m}}function xa(a,b){var c=0,d=0,e=0,f=E(0),g=0;if(!(((p(a),j(2))&2147483647)>>>0<2139095041&((p(b),j(2))&2147483647)>>>0<=2139095040)){return E(a+b)}c=(p(b),j(2));if((c|0)==1065353216){return dd(a)}g=c>>>30&2;d=(p(a),j(2));e=g|d>>>31;a:{b:{d=d&2147483647;c:{if(!d){d:{switch(e-2|0){case 0:return E(3.1415927410125732);case 1:break d;default:break c}}return E(-3.1415927410125732)}c=c&2147483647;if((c|0)!=2139095040){if(!c|!((d|0)!=2139095040&d>>>0<=c+218103808>>>0)){break a}e:{if(g){f=E(0);if(c>>>0>d+218103808>>>0){break e}}f=dd(E(F(E(a/b))))}a=f;f:{switch(e|0){case 1:return E(-a);case 2:return E(E(3.1415927410125732)-E(a+E(8.742277657347586e-8)));case 0:break c;default:break f}}return E(E(a+E(8.742277657347586e-8))+E(-3.1415927410125732))}if((d|0)==2139095040){break b}a=B[(e<<2)+26368>>2]}return a}return B[(e<<2)+26352>>2]}return l(2,(p(a),j(2))&-2147483648|1070141403),q()}function mh(a,b,c,d){a=a|0;b=E(b);c=c|0;d=E(d);var e=0,f=0,g=0,h=E(0),i=0,j=0;a:{if(c){B[a+284>>2]=d;b=E(B[a+280>>2]+b);B[a+280>>2]=b;if(!(b>=d)){break a}h=b;b=E(b/d);b:{if(E(F(b))>2]=h-E(E(e|0)*d);break a}x[a+284>>2]=0;B[a+280>>2]=y[a+316|0]?E(0):b;d=b;e=!(E(F(b))>2]+20>>2]](a)|0){g=ia[x[x[a>>2]+20>>2]](a)|0;i=35721,j=ia[x[x[g>>2]+56>>2]](g)>>>4&1,v[i|0]=j}c:{if(e){f=(c|0)>(e|0)?e:c;ia[x[x[a>>2]+168>>2]](a,E(d*E(f|0)));ia[x[x[a>>2]+176>>2]](a);if((f|0)<=0){break c}if((f|0)!=1){g=f&-2;c=0;while(1){ia[x[x[a>>2]+160>>2]](a,d);ia[x[x[a>>2]+80>>2]](a);ia[x[x[a>>2]+160>>2]](a,d);ia[x[x[a>>2]+80>>2]](a);c=c+2|0;if((g|0)!=(c|0)){continue}break}}if(!(f&1)){break c}ia[x[x[a>>2]+160>>2]](a,d);ia[x[x[a>>2]+80>>2]](a);break c}ia[x[x[a>>2]+80>>2]](a)}ia[x[x[a>>2]+120>>2]](a);return e|0}function Vp(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=E(0),f=E(0),g=0,h=E(0),i=0,j=E(0),k=E(0),l=E(0),m=E(0),n=E(0),o=E(0),p=E(0),q=E(0),r=E(0);d=x[b>>2];g=x[d+192>>2];a:{if(x[g+4>>2]!=31){break a}i=x[b+4>>2];if(!i){break a}g=x[(x[g+32>>2]+D(x[i>>2],80)|0)+64>>2]}x[a+84>>2]=x[g+8>>2];e=B[b+24>>2];x[a+8>>2]=d;B[a+4>>2]=e;b:{if(c){c=x[b+12>>2];x[a+52>>2]=x[b+8>>2];x[a+56>>2]=c;c=x[b+20>>2];x[a+60>>2]=x[b+16>>2];x[a+64>>2]=c;break b}j=B[d+8>>2];k=B[d+12>>2];l=B[d+20>>2];m=B[d+24>>2];n=B[d+28>>2];o=B[d+36>>2];p=B[d+40>>2];e=B[b+12>>2];q=B[d+44>>2];f=B[b+16>>2];r=B[d+4>>2];h=B[b+8>>2];x[a- -64>>2]=0;B[a+60>>2]=E(q*f)+E(E(o*h)+E(e*p));B[a+56>>2]=E(n*f)+E(E(l*h)+E(e*m));B[a+52>>2]=E(k*f)+E(E(r*h)+E(j*e))}e=B[b+24>>2];f=E(E(1)-e);B[a+68>>2]=E(f*B[a+20>>2])+E(e*B[a+36>>2]);B[a+72>>2]=E(f*B[a+24>>2])+E(e*B[a+40>>2]);B[a+76>>2]=E(f*B[a+28>>2])+E(e*B[a+44>>2]);return E(B[b+24>>2])}function nk(a,b,c){a=a|0;b=b|0;c=c|0;var d=E(0),e=E(0),f=E(0),g=0,h=E(0),i=E(0),j=0,k=0;e=E(B[b+68>>2]*E(.5));j=x[b+72>>2];k=x[b+76>>2];g=k<<2;d=B[c+8>>2];i=E(d*d);d=B[c>>2];f=E(d*d);d=B[c+4>>2];a:{b:{if(B[g+c>>2]>E(B[b+60>>2]*E(M(E(i+E(f+E(d*d))))))){x[(j<<2)+a>>2]=0;B[a+g>>2]=e;g=x[b+80>>2];break b}d=B[(j<<2)+c>>2];g=x[b+80>>2];f=B[(g<<2)+c>>2];h=E(M(E(E(d*d)+E(f*f))));if(h>E(1.1920928955078125e-7)){i=d;d=E(B[b+64>>2]/h);B[(j<<2)+a>>2]=i*d;B[(k<<2)+a>>2]=-e;e=E(f*d);break a}x[(j<<2)+a>>2]=0;B[(k<<2)+a>>2]=-e}e=E(0)}B[(g<<2)+a>>2]=e;if(E(ia[x[x[b>>2]+48>>2]](b))!=E(0)){e=B[c+4>>2];d=B[c>>2];f=B[c+8>>2];h=E(ia[x[x[b>>2]+48>>2]](b));b=E(E(f*f)+E(E(d*d)+E(e*e)))>2]=B[a>>2]+E(h*E(i*d));B[a+4>>2]=B[a+4>>2]+E(h*E(e*d));B[a+8>>2]=B[a+8>>2]+E(h*E(f*d))}}function Kg(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=E(0),f=E(0),g=E(0),h=E(0),i=E(0),j=E(0),k=E(0),l=E(0),m=E(0),n=E(0),o=E(0),p=E(0);e=E(1);d=x[b>>2];if(!((d|0)==x[a+84>>2]|y[d+204|0]&4|E(-B[a+88>>2])<=E(E(B[b+16>>2]*E(B[a+44>>2]-B[a+28>>2]))+E(E(B[b+8>>2]*E(B[a+36>>2]-B[a+20>>2]))+E(E(B[a+40>>2]-B[a+24>>2])*B[b+12>>2]))))){e=B[b+40>>2];x[a+16>>2]=d;B[a+4>>2]=e;a:{if(c){c=b+8|0;d=x[c+4>>2];x[a+52>>2]=x[c>>2];x[a+56>>2]=d;d=x[c+12>>2];x[a+60>>2]=x[c+8>>2];x[a+64>>2]=d;break a}h=B[d+12>>2];i=B[d+8>>2];j=B[d+28>>2];k=B[d+20>>2];l=B[d+24>>2];m=B[d+44>>2];n=B[d+36>>2];o=B[d+40>>2];p=B[d+4>>2];e=B[b+16>>2];f=B[b+8>>2];g=B[b+12>>2];x[a- -64>>2]=0;B[a+60>>2]=E(m*e)+E(E(n*f)+E(g*o));B[a+56>>2]=E(j*e)+E(E(k*f)+E(g*l));B[a+52>>2]=E(h*e)+E(E(p*f)+E(i*g))}c=x[b+28>>2];x[a+68>>2]=x[b+24>>2];x[a+72>>2]=c;c=x[b+36>>2];x[a+76>>2]=x[b+32>>2];x[a+80>>2]=c;e=B[b+40>>2]}return E(e)}function qr(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=x[b+4>>2];x[a+552>>2]=x[b>>2];x[a+556>>2]=d;d=x[b+12>>2];x[a+560>>2]=x[b+8>>2];x[a+564>>2]=d;d=x[b+28>>2];x[a+576>>2]=x[b+24>>2];x[a+580>>2]=d;d=x[b+20>>2];x[a+568>>2]=x[b+16>>2];x[a+572>>2]=d;d=x[b+44>>2];x[a+592>>2]=x[b+40>>2];x[a+596>>2]=d;d=x[b+36>>2];x[a+584>>2]=x[b+32>>2];x[a+588>>2]=d;d=x[b+60>>2];x[a+608>>2]=x[b+56>>2];x[a+612>>2]=d;d=x[b+52>>2];x[a+600>>2]=x[b+48>>2];x[a+604>>2]=d;b=x[c+12>>2];x[a+624>>2]=x[c+8>>2];x[a+628>>2]=b;b=x[c+4>>2];x[a+616>>2]=x[c>>2];x[a+620>>2]=b;b=x[c+20>>2];x[a+632>>2]=x[c+16>>2];x[a+636>>2]=b;b=x[c+28>>2];x[a+640>>2]=x[c+24>>2];x[a+644>>2]=b;b=x[c+36>>2];x[a+648>>2]=x[c+32>>2];x[a+652>>2]=b;b=x[c+44>>2];x[a+656>>2]=x[c+40>>2];x[a+660>>2]=b;b=x[c+60>>2];x[a+672>>2]=x[c+56>>2];x[a+676>>2]=b;b=x[c+52>>2];x[a+664>>2]=x[c+48>>2];x[a+668>>2]=b;ia[x[x[a>>2]+8>>2]](a)}function cq(a,b,c){a=a|0;b=b|0;c=c|0;var d=E(0),e=E(0),f=E(0),g=E(0),h=E(0),i=E(0),j=E(0),k=E(0),l=E(0),m=E(0),n=E(0),o=E(0),p=E(0),q=E(0),r=E(0);g=B[a+404>>2];if(g!=E(0)){e=B[b+8>>2];d=B[b+4>>2];h=B[a+408>>2];B[a+372>>2]=E(g*E(B[b>>2]*h))+B[a+372>>2];f=d;d=B[a+412>>2];B[a+376>>2]=E(g*E(f*d))+B[a+376>>2];f=e;e=B[a+416>>2];B[a+380>>2]=E(g*E(f*e))+B[a+380>>2];j=B[a+612>>2];k=B[a+364>>2];l=B[a+356>>2];m=B[a+360>>2];n=B[a+608>>2];o=B[a+348>>2];p=B[a+340>>2];q=B[a+344>>2];i=B[c>>2];d=E(d*B[b+4>>2]);h=E(h*B[b>>2]);f=B[c+4>>2];g=E(E(i*d)-E(h*f));r=f;f=E(e*B[b+8>>2]);e=d;d=B[c+8>>2];e=E(E(r*f)-E(e*d));d=E(E(d*h)-E(f*i));B[a+388>>2]=E(E(E(B[a+332>>2]*g)+E(E(B[a+324>>2]*e)+E(B[a+328>>2]*d)))*B[a+604>>2])+B[a+388>>2];B[a+392>>2]=E(n*E(E(o*g)+E(E(p*e)+E(d*q))))+B[a+392>>2];B[a+396>>2]=E(j*E(E(k*g)+E(E(l*e)+E(d*m))))+B[a+396>>2]}}function Ab(a){x[a>>2]=1025;x[a+120>>2]=0;x[a+124>>2]=0;x[a+128>>2]=0;x[a+132>>2]=0;x[a+136>>2]=0;x[a+140>>2]=0;x[a+144>>2]=0;x[a+148>>2]=0;x[a+152>>2]=0;x[a+156>>2]=0;x[a+160>>2]=0;x[a+164>>2]=0;x[a+168>>2]=0;x[a+328>>2]=0;x[a+332>>2]=0;x[a+336>>2]=0;x[a+340>>2]=0;x[a+344>>2]=0;x[a+348>>2]=0;x[a+352>>2]=0;x[a+356>>2]=0;x[a+360>>2]=0;x[a+364>>2]=0;x[a+368>>2]=0;x[a+372>>2]=0;x[a+376>>2]=0;x[a+536>>2]=0;x[a+540>>2]=0;x[a+544>>2]=0;x[a+548>>2]=0;x[a+552>>2]=0;x[a+556>>2]=0;x[a+560>>2]=0;x[a+564>>2]=0;x[a+568>>2]=0;x[a+572>>2]=0;x[a+576>>2]=0;x[a+580>>2]=0;x[a+584>>2]=0;x[a+792>>2]=0;x[a+784>>2]=0;x[a+788>>2]=0;x[a+776>>2]=0;x[a+780>>2]=0;x[a+768>>2]=0;x[a+772>>2]=0;x[a+760>>2]=0;x[a+764>>2]=0;x[a+752>>2]=0;x[a+756>>2]=0;x[a+744>>2]=0;x[a+748>>2]=0;x[a+836>>2]=0;x[a+840>>2]=0;x[a+864>>2]=0;x[a+844>>2]=0;return a}function Jk(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=E(0),i=E(0),j=E(0),k=E(0),l=0,m=0,n=E(0),o=E(0),p=E(0),q=0,r=E(0),s=E(0);if((d|0)>0){e=ga-16|0;q=a+36|0;while(1){x[e+8>>2]=0;x[e+12>>2]=0;x[e>>2]=0;x[e+4>>2]=0;g=x[a+60>>2];f=g<<2;h=B[f+q>>2];B[e+f>>2]=h;i=E(-0xde0b6b000000000);m=l<<4;f=m+b|0;n=B[f+8>>2];k=B[e+8>>2];o=B[f>>2];r=B[e>>2];s=B[e+4>>2];p=B[f+4>>2];j=E(E(n*k)+E(E(o*r)+E(s*p)));if(j>E(-0xde0b6b000000000)){g=c+m|0;B[g+12>>2]=B[e+12>>2];B[g+8>>2]=k;B[g+4>>2]=s;B[g>>2]=r;g=x[a+60>>2];h=B[(g<<2)+q>>2];n=B[f+8>>2];p=B[f+4>>2];o=B[f>>2];i=j}x[e+8>>2]=0;x[e+12>>2]=0;x[e>>2]=0;x[e+4>>2]=0;B[(g<<2)+e>>2]=-h;k=i;i=B[e+8>>2];j=B[e>>2];h=B[e+4>>2];if(k>2]=B[e+12>>2];B[f+8>>2]=i;B[f+4>>2]=h;B[f>>2]=j}l=l+1|0;if((l|0)!=(d|0)){continue}break}}}function ch(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;d=x[a+228>>2];a:{if((d|0)!=x[a+232>>2]){break a}i=d?d<<1:1;if((i|0)<=(d|0)){break a}if(i){x[8456]=x[8456]+1;g=ia[x[8258]](i<<2,16)|0;d=x[a+228>>2]}b:{if((d|0)<=0){break b}if(d>>>0>=4){j=d&-4;while(1){e=f<<2;x[e+g>>2]=x[e+x[a+236>>2]>>2];h=e|4;x[h+g>>2]=x[h+x[a+236>>2]>>2];h=e|8;x[h+g>>2]=x[h+x[a+236>>2]>>2];e=e|12;x[e+g>>2]=x[e+x[a+236>>2]>>2];f=f+4|0;k=k+4|0;if((j|0)!=(k|0)){continue}break}}e=d&3;if(!e){break b}while(1){j=f<<2;x[j+g>>2]=x[j+x[a+236>>2]>>2];f=f+1|0;l=l+1|0;if((e|0)!=(l|0)){continue}break}}f=x[a+236>>2];if(!(!f|!y[a+240|0])){if(f){x[8457]=x[8457]+1;ia[x[8259]](f)}d=x[a+228>>2]}x[a+236>>2]=g;v[a+240|0]=1;x[a+232>>2]=i}x[x[a+236>>2]+(d<<2)>>2]=b;x[a+228>>2]=d+1;if(c){td(x[b+28>>2],b);td(x[b+32>>2],b)}}function Lk(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=E(0),f=E(0),g=E(0),h=E(0),i=E(0),j=E(0),k=E(0),l=0,m=E(0),n=E(0);d=ga-16|0;x[a>>2]=0;x[a+4>>2]=0;x[a+8>>2]=0;x[a+12>>2]=0;e=B[c+8>>2];f=B[c>>2];g=B[c+4>>2];h=E(E(e*e)+E(E(f*f)+E(g*g)));a:{if(h>2]=0;x[d+12>>2]=0;x[d>>2]=0;x[d+4>>2]=0;c=x[b+60>>2]<<2;l=c+d|0;i=B[(b+c|0)+36>>2];B[l>>2]=i;f=E(-0xde0b6b000000000);j=B[d+8>>2];m=B[d>>2];n=B[d+4>>2];g=E(E(k*j)+E(E(h*m)+E(e*n)));if(g>E(-0xde0b6b000000000)){B[a+12>>2]=B[d+12>>2];B[a+8>>2]=j;B[a+4>>2]=n;B[a>>2]=m;f=g}x[d+8>>2]=0;x[d+12>>2]=0;x[d>>2]=0;x[d+4>>2]=0;B[l>>2]=-i;i=f;f=B[d+8>>2];g=B[d>>2];j=e;e=B[d+4>>2];if(i>2]=B[d+12>>2];B[a+8>>2]=f;B[a+4>>2]=e;B[a>>2]=g}}function dd(a){var b=0,c=0,d=E(0),e=E(0),f=0,g=E(0);f=(p(a),j(2));c=f&2147483647;if(c>>>0>=1283457024){return((p(a),j(2))&2147483647)>>>0>2139095040?a:(l(2,(p(a),j(2))&-2147483648|1070141402),q())}a:{b:{if(c>>>0<=1054867455){b=-1;if(c>>>0>=964689920){break b}break a}a=E(F(a));if(c>>>0<=1066926079){if(c>>>0<=1060110335){a=E(E(E(a+a)+E(-1))/E(a+E(2)));b=0;break b}a=E(E(a+E(-1))/E(a+E(1)));b=1;break b}if(c>>>0<=1075576831){a=E(E(a+E(-1.5))/E(E(a*E(1.5))+E(1)));b=2;break b}a=E(E(-1)/a);b=3}e=E(a*a);d=E(e*e);g=E(d*E(E(d*E(-.106480173766613))+E(-.19999158382415771)));d=E(e*E(E(d*E(E(d*E(.06168760731816292))+E(.14253635704517365)))+E(.333333283662796)));if(c>>>0<=1054867455){return E(a-E(a*E(g+d)))}b=b<<2;a=E(B[b+26384>>2]-E(E(E(a*E(g+d))-B[b+26400>>2])-a));a=(f|0)<0?E(-a):a}return a}function Lp(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;m=x[x[x[b+4>>2]+8>>2]+8>>2];d=x[a+136>>2];a:{if((d|0)!=x[a+140>>2]){break a}j=d?d<<1:1;if((j|0)<=(d|0)){break a}if(j){x[8456]=x[8456]+1;g=ia[x[8258]](j<<2,16)|0;d=x[a+136>>2]}f=x[a+144>>2];b:{c:{if((d|0)>0){if(d>>>0>=4){n=d&-4;while(1){e=h<<2;x[e+g>>2]=x[f+e>>2];i=e|4;x[i+g>>2]=x[f+i>>2];i=e|8;x[i+g>>2]=x[f+i>>2];e=e|12;x[e+g>>2]=x[f+e>>2];h=h+4|0;k=k+4|0;if((k|0)!=(n|0)){continue}break}}d=d&3;if(!d){break c}while(1){e=h<<2;x[e+g>>2]=x[f+e>>2];h=h+1|0;l=l+1|0;if((d|0)!=(l|0)){continue}break}break c}if(!f){break b}}if(f?y[a+148|0]:0){x[8457]=x[8457]+1;ia[x[8259]](f)}d=x[a+136>>2]}x[a+144>>2]=g;x[a+140>>2]=j;v[a+148|0]=1}x[x[a+144>>2]+(d<<2)>>2]=m;x[a+136>>2]=x[a+136>>2]+1;return E(yf(a,b,c))}function wm(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;c=x[a+56>>2];if(!(!c|!y[a+52|0])){d=x[b+4>>2];a:{if((d|0)!=x[b+8>>2]){break a}h=d?d<<1:1;if((h|0)<=(d|0)){break a}if(h){x[8456]=x[8456]+1;f=ia[x[8258]](h<<2,16)|0;d=x[b+4>>2]}b:{if((d|0)<=0){break b}c=0;if(d>>>0>=4){i=d&-4;while(1){e=c<<2;x[e+f>>2]=x[e+x[b+12>>2]>>2];g=e|4;x[g+f>>2]=x[g+x[b+12>>2]>>2];g=e|8;x[g+f>>2]=x[g+x[b+12>>2]>>2];e=e|12;x[e+f>>2]=x[e+x[b+12>>2]>>2];c=c+4|0;j=j+4|0;if((i|0)!=(j|0)){continue}break}}e=d&3;if(!e){break b}while(1){i=c<<2;x[i+f>>2]=x[i+x[b+12>>2]>>2];c=c+1|0;k=k+1|0;if((e|0)!=(k|0)){continue}break}}c=x[b+12>>2];if(!(!c|!y[b+16|0])){if(c){x[8457]=x[8457]+1;ia[x[8259]](c)}d=x[b+4>>2]}x[b+12>>2]=f;v[b+16|0]=1;x[b+8>>2]=h;c=x[a+56>>2]}x[x[b+12>>2]+(d<<2)>>2]=c;x[b+4>>2]=d+1}}function ed(){fa(30276,8254);ea(30300,6219,1,1,0);S(30312,5359,1,-128,127);S(30336,5352,1,-128,127);S(30324,5350,1,0,255);S(30348,2375,2,-32768,32767);S(30360,2366,2,0,65535);S(30372,2561,4,-2147483648,2147483647);S(30384,2552,4,0,-1);S(30396,6567,4,-2147483648,2147483647);S(30408,6558,4,0,-1);Yc(30420,3510,-2147483648,2147483647);Yc(30432,3509,0,-1);_(30444,3476,4);_(30456,7542,8);Z(31628,6585);Z(25600,9944);Y(25672,4,6572);Y(25748,2,6597);Y(25824,4,6612);da(31336,6224);O(25864,0,9875);O(25904,0,9977);O(25944,1,9905);O(25984,2,9440);O(26024,3,9471);O(26064,4,9511);O(26104,5,9540);O(26144,4,10014);O(26184,5,10044);O(25904,0,9642);O(25944,1,9609);O(25984,2,9708);O(26024,3,9674);O(26064,4,9842);O(26104,5,9808);O(26224,8,9775);O(26264,9,9741);O(26304,6,9578);O(26344,7,10083)}function dk(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=E(0),f=E(0),g=E(0),h=E(0),i=E(0);d=ga-80|0;ga=d;x[a>>2]=0;x[a+4>>2]=0;x[a+8>>2]=0;x[a+12>>2]=0;f=B[c+8>>2];h=B[c>>2];g=B[c+4>>2];e=E(E(f*f)+E(E(h*h)+E(g*g)));a:{if(e>2];e=E(h*e)}x[d+52>>2]=0;x[d+56>>2]=0;B[d+76>>2]=g;B[d+72>>2]=f;B[d+68>>2]=i;x[d+44>>2]=0;x[d+48>>2]=0;B[d+64>>2]=e;x[d+60>>2]=-581039253;x[d+40>>2]=19952;x[d+32>>2]=1566444395;x[d+36>>2]=0;x[d+24>>2]=1566444395;x[d+28>>2]=1566444395;b=x[b+100>>2];x[d+16>>2]=-581039253;x[d+20>>2]=0;x[d+8>>2]=-581039253;x[d+12>>2]=-581039253;ia[x[x[b>>2]+8>>2]](b,d+40|0,d+8|0,d+24|0);b=x[d+56>>2];x[a+8>>2]=x[d+52>>2];x[a+12>>2]=b;b=x[d+48>>2];x[a>>2]=x[d+44>>2];x[a+4>>2]=b;ga=d+80|0}function Kk(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=Aa(164);v[d+108|0]=0;x[d+104>>2]=0;v[d+65|0]=0;v[d+61|0]=0;v[d+62|0]=1;v[d+63|0]=1;v[d+64|0]=0;x[d+20>>2]=0;x[d+4>>2]=0;x[d+8>>2]=0;x[d+24>>2]=c;x[d+12>>2]=a;v[d+128|0]=1;x[d>>2]=25216;x[d+124>>2]=0;x[d+116>>2]=0;x[d+120>>2]=0;x[d+56>>2]=x[b+44>>2];a=x[b+16>>2];x[d+40>>2]=x[b+12>>2];x[d+44>>2]=a;a=x[b+24>>2];x[d+48>>2]=x[b+20>>2];x[d+52>>2]=a;B[d+32>>2]=B[b+4>>2];B[d+36>>2]=B[b+8>>2];B[d+28>>2]=B[b>>2];a=x[b+48>>2];x[d+132>>2]=0;x[d+20>>2]=a;x[d>>2]=25280;B[d+156>>2]=B[b+56>>2];B[d+152>>2]=B[b+52>>2];B[d+160>>2]=B[b+60>>2];x[8456]=x[8456]+1;a=hd(ia[x[8258]](348,16)|0);x[d+4>>2]=a;x[a+204>>2]=4;c=x[b+32>>2];x[a+52>>2]=x[b+28>>2];x[a+56>>2]=c;c=x[b+40>>2];x[a+60>>2]=x[b+36>>2];x[a+64>>2]=c;x[x[d+4>>2]+256>>2]=d;qb(d);return d|0}function Hb(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;c=x[a+12>>2];if(!(!c|!y[a+8|0])){d=x[b+4>>2];a:{if((d|0)!=x[b+8>>2]){break a}h=d?d<<1:1;if((h|0)<=(d|0)){break a}if(h){x[8456]=x[8456]+1;f=ia[x[8258]](h<<2,16)|0;d=x[b+4>>2]}b:{if((d|0)<=0){break b}c=0;if(d>>>0>=4){i=d&-4;while(1){e=c<<2;x[e+f>>2]=x[e+x[b+12>>2]>>2];g=e|4;x[g+f>>2]=x[g+x[b+12>>2]>>2];g=e|8;x[g+f>>2]=x[g+x[b+12>>2]>>2];e=e|12;x[e+f>>2]=x[e+x[b+12>>2]>>2];c=c+4|0;j=j+4|0;if((i|0)!=(j|0)){continue}break}}e=d&3;if(!e){break b}while(1){i=c<<2;x[i+f>>2]=x[i+x[b+12>>2]>>2];c=c+1|0;k=k+1|0;if((e|0)!=(k|0)){continue}break}}c=x[b+12>>2];if(!(!c|!y[b+16|0])){if(c){x[8457]=x[8457]+1;ia[x[8259]](c)}d=x[b+4>>2]}x[b+12>>2]=f;v[b+16|0]=1;x[b+8>>2]=h;c=x[a+12>>2]}x[x[b+12>>2]+(d<<2)>>2]=c;x[b+4>>2]=d+1}}function ek(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=E(0),f=E(0),g=E(0),h=0,i=E(0),j=E(0),k=E(0),l=E(0);d=ga-32|0;ga=d;h=x[c+12>>2];x[d+24>>2]=x[c+8>>2];x[d+28>>2]=h;h=x[c+4>>2];x[d+16>>2]=x[c>>2];x[d+20>>2]=h;e=B[d+24>>2];f=B[d+16>>2];g=B[d+20>>2];if(E(E(e*e)+E(E(f*f)+E(g*g)))>2]=0;g=E(-1);f=E(-1);e=E(-1)}i=e;e=E(E(1)/E(M(E(E(e*e)+E(E(f*f)+E(g*g))))));B[d+24>>2]=i*e;B[d+20>>2]=g*e;B[d+16>>2]=f*e;Ra(d,b,d+16|0);a:{b:{switch(x[b+4>>2]){case 8:e=E(B[b+36>>2]*B[b+20>>2]);break a;case 0:case 1:case 4:case 5:case 10:case 11:case 13:e=B[b+52>>2];break a;default:break b}}e=E(ia[x[x[b>>2]+48>>2]](b))}f=B[d>>2];g=B[d+16>>2];i=B[d+4>>2];j=B[d+20>>2];k=B[d+8>>2];l=B[d+24>>2];x[a+12>>2]=0;B[a+8>>2]=k+E(e*l);B[a+4>>2]=i+E(e*j);B[a>>2]=f+E(e*g);ga=d+32|0}function Ba(a){var b=E(0),c=0,d=0,e=0,f=0;c=ga-16|0;ga=c;e=(p(a),j(2));d=e&2147483647;a:{if(d>>>0<=1061752794){b=E(1);if(d>>>0<964689920){break a}b=La(+a);break a}if(d>>>0<=1081824209){if(d>>>0>=1075235812){b=E(-La(((e|0)<0?3.141592653589793:-3.141592653589793)+ +a));break a}f=+a;if((e|0)<0){b=Ka(f+1.5707963267948966);break a}b=Ka(1.5707963267948966-f);break a}if(d>>>0<=1088565717){if(d>>>0>=1085271520){b=La(((e|0)<0?6.283185307179586:-6.283185307179586)+ +a);break a}if((e|0)<0){b=Ka(-4.71238898038469-+a);break a}b=Ka(+a+-4.71238898038469);break a}b=E(a-a);if(d>>>0>=2139095040){break a}b:{switch(cd(a,c+8|0)&3){case 0:b=La(C[c+8>>3]);break a;case 1:b=Ka(-C[c+8>>3]);break a;case 2:b=E(-La(C[c+8>>3]));break a;default:break b}}b=Ka(C[c+8>>3])}a=b;ga=c+16|0;return a}function rm(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;c=x[a+72>>2];if(c){d=x[b+4>>2];a:{if((d|0)!=x[b+8>>2]){break a}h=d?d<<1:1;if((h|0)<=(d|0)){break a}if(h){x[8456]=x[8456]+1;f=ia[x[8258]](h<<2,16)|0;d=x[b+4>>2]}b:{if((d|0)<=0){break b}c=0;if(d>>>0>=4){i=d&-4;while(1){e=c<<2;x[e+f>>2]=x[e+x[b+12>>2]>>2];g=e|4;x[g+f>>2]=x[g+x[b+12>>2]>>2];g=e|8;x[g+f>>2]=x[g+x[b+12>>2]>>2];e=e|12;x[e+f>>2]=x[e+x[b+12>>2]>>2];c=c+4|0;j=j+4|0;if((i|0)!=(j|0)){continue}break}}e=d&3;if(!e){break b}while(1){i=c<<2;x[i+f>>2]=x[i+x[b+12>>2]>>2];c=c+1|0;k=k+1|0;if((e|0)!=(k|0)){continue}break}}c=x[b+12>>2];if(!(!c|!y[b+16|0])){if(c){x[8457]=x[8457]+1;ia[x[8259]](c)}d=x[b+4>>2]}x[b+12>>2]=f;v[b+16|0]=1;x[b+8>>2]=h;c=x[a+72>>2]}x[x[b+12>>2]+(d<<2)>>2]=c;x[b+4>>2]=d+1}}function Ca(a){var b=0,c=0,d=0,e=0;b=ga-16|0;ga=b;e=(p(a),j(2));c=e&2147483647;a:{if(c>>>0<=1061752794){if(c>>>0<964689920){break a}a=Ka(+a);break a}if(c>>>0<=1081824209){d=+a;if(c>>>0<=1075235811){if((e|0)<0){a=E(-La(d+1.5707963267948966));break a}a=La(d+-1.5707963267948966);break a}a=Ka(-(((e|0)>=0?-3.141592653589793:3.141592653589793)+d));break a}if(c>>>0<=1088565717){if(c>>>0<=1085271519){d=+a;if((e|0)<0){a=La(d+4.71238898038469);break a}a=E(-La(d+-4.71238898038469));break a}a=Ka(((e|0)<0?6.283185307179586:-6.283185307179586)+ +a);break a}if(c>>>0>=2139095040){a=E(a-a);break a}b:{switch(cd(a,b+8|0)&3){case 0:a=Ka(C[b+8>>3]);break a;case 1:a=La(C[b+8>>3]);break a;case 2:a=Ka(-C[b+8>>3]);break a;default:break b}}a=E(-La(C[b+8>>3]))}ga=b+16|0;return a}function ll(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=Aa(160);v[d+108|0]=0;x[d+104>>2]=0;v[d+65|0]=0;v[d+61|0]=0;v[d+62|0]=1;v[d+63|0]=1;v[d+64|0]=0;x[d+20>>2]=0;x[d+4>>2]=0;x[d+8>>2]=0;x[d+24>>2]=c;x[d+12>>2]=a;v[d+128|0]=1;x[d>>2]=25216;x[d+124>>2]=0;x[d+116>>2]=0;x[d+120>>2]=0;x[d+56>>2]=x[b+44>>2];a=x[b+16>>2];x[d+40>>2]=x[b+12>>2];x[d+44>>2]=a;a=x[b+24>>2];x[d+48>>2]=x[b+20>>2];x[d+52>>2]=a;B[d+32>>2]=B[b+4>>2];B[d+36>>2]=B[b+8>>2];B[d+28>>2]=B[b>>2];a=x[b+48>>2];x[d+132>>2]=0;x[d+20>>2]=a;x[d>>2]=25248;B[d+152>>2]=B[b+52>>2];B[d+156>>2]=B[b+56>>2];x[8456]=x[8456]+1;a=hd(ia[x[8258]](348,16)|0);x[d+4>>2]=a;x[a+204>>2]=4;c=x[b+32>>2];x[a+52>>2]=x[b+28>>2];x[a+56>>2]=c;c=x[b+40>>2];x[a+60>>2]=x[b+36>>2];x[a+64>>2]=c;x[x[d+4>>2]+256>>2]=d;Zb(d);return d|0}function kg(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=E(0),f=E(0),g=E(0),h=E(0),i=E(0),j=E(0),k=E(0),l=E(0),m=E(0),n=E(0),o=E(0),p=E(0);e=E(1);d=x[b>>2];if(!((d|0)==x[a+88>>2]|y[d+204|0]&4)){x[a+84>>2]=x[x[b+4>>2]+8>>2];e=B[b+40>>2];x[a+16>>2]=d;B[a+4>>2]=e;a:{if(c){c=x[b+12>>2];x[a+52>>2]=x[b+8>>2];x[a+56>>2]=c;c=x[b+20>>2];x[a+60>>2]=x[b+16>>2];x[a+64>>2]=c;break a}h=B[d+8>>2];i=B[d+12>>2];j=B[d+20>>2];k=B[d+24>>2];l=B[d+28>>2];m=B[d+36>>2];n=B[d+40>>2];e=B[b+12>>2];o=B[d+44>>2];f=B[b+16>>2];p=B[d+4>>2];g=B[b+8>>2];x[a- -64>>2]=0;B[a+60>>2]=E(o*f)+E(E(m*g)+E(e*n));B[a+56>>2]=E(l*f)+E(E(j*g)+E(e*k));B[a+52>>2]=E(i*f)+E(E(p*g)+E(h*e))}c=x[b+28>>2];x[a+68>>2]=x[b+24>>2];x[a+72>>2]=c;c=x[b+36>>2];x[a+76>>2]=x[b+32>>2];x[a+80>>2]=c;e=B[b+40>>2]}return E(e)}function ah(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;c=x[a+296>>2];a:{if((c|0)!=x[a+300>>2]){break a}h=c?c<<1:1;if((h|0)<=(c|0)){break a}if(h){x[8456]=x[8456]+1;f=ia[x[8258]](h<<2,16)|0;c=x[a+296>>2]}b:{if((c|0)<=0){break b}if(c>>>0>=4){i=c&-4;while(1){d=e<<2;x[d+f>>2]=x[d+x[a+304>>2]>>2];g=d|4;x[g+f>>2]=x[g+x[a+304>>2]>>2];g=d|8;x[g+f>>2]=x[g+x[a+304>>2]>>2];d=d|12;x[d+f>>2]=x[d+x[a+304>>2]>>2];e=e+4|0;j=j+4|0;if((i|0)!=(j|0)){continue}break}}d=c&3;if(!d){break b}while(1){i=e<<2;x[i+f>>2]=x[i+x[a+304>>2]>>2];e=e+1|0;k=k+1|0;if((d|0)!=(k|0)){continue}break}}e=x[a+304>>2];if(!(!e|!y[a+308|0])){if(e){x[8457]=x[8457]+1;ia[x[8259]](e)}c=x[a+296>>2]}x[a+304>>2]=f;v[a+308|0]=1;x[a+300>>2]=h}x[x[a+304>>2]+(c<<2)>>2]=b;x[a+296>>2]=c+1}function dg(a){a=a|0;var b=0,c=E(0),d=E(0),e=E(0),f=E(0),g=0,h=E(0),i=E(0),j=E(0),k=E(0),l=E(0);x[8456]=x[8456]+1;b=Ha(ia[x[8258]](64,16)|0);x[b+60>>2]=1;x[b>>2]=20016;d=B[a>>2];e=B[a+4>>2];c=B[a+8>>2];x[b+48>>2]=0;f=E(c*B[b+28>>2]);c=B[b+52>>2];B[b+44>>2]=f-c;B[b+40>>2]=E(e*B[b+24>>2])-c;B[b+36>>2]=E(d*B[b+20>>2])-c;e=c;c=B[a>>2];d=B[a+4>>2];g=c>2]>(g?c:d)?!g:2)<<2)+a>>2]*E(.10000000149011612));if(e>c){d=B[b+52>>2];e=E(ia[x[x[b>>2]+48>>2]](b));f=E(ia[x[x[b>>2]+48>>2]](b));B[b+52>>2]=c;c=B[b+44>>2];h=B[b+36>>2];i=B[b+40>>2];j=E(ia[x[x[b>>2]+48>>2]](b));k=E(ia[x[x[b>>2]+48>>2]](b));l=E(ia[x[x[b>>2]+48>>2]](b));x[b+48>>2]=0;B[b+40>>2]=E(e+i)-k;B[b+36>>2]=E(d+h)-j;B[b+44>>2]=E(f+c)-l}x[b+4>>2]=13;return b|0}function vj(a,b,c){a=a|0;b=E(b);c=c|0;var d=0,e=E(0),f=E(0),g=E(0),h=0,i=E(0),j=E(0),k=E(0),l=E(0);d=ga-96|0;ga=d;e=E(ia[x[x[a>>2]+48>>2]](a));x[d+44>>2]=0;x[d+48>>2]=0;x[d+56>>2]=0;x[d+60>>2]=0;x[d+52>>2]=1065353216;h=d- -64|0;x[h>>2]=0;x[h+4>>2]=0;x[d+76>>2]=0;x[d+80>>2]=0;x[d+72>>2]=1065353216;x[d+84>>2]=0;x[d+88>>2]=0;x[d+92>>2]=0;x[d+36>>2]=0;x[d+40>>2]=0;x[d+32>>2]=1065353216;ia[x[x[a>>2]+8>>2]](a,d+32|0,d+16|0,d);i=B[d+24>>2];j=B[d+8>>2];f=B[d+16>>2];g=B[d>>2];k=B[d+20>>2];l=B[d+4>>2];x[c+12>>2]=0;b=E(b*E(.0833333283662796));f=E(e+E(E(g-f)*E(.5)));f=E(f+f);f=E(f*f);g=E(e+E(E(l-k)*E(.5)));g=E(g+g);g=E(g*g);B[c+8>>2]=b*E(f+g);e=E(e+E(E(j-i)*E(.5)));e=E(e+e);e=E(e*e);B[c+4>>2]=b*E(f+e);B[c>>2]=b*E(g+e);ga=d+96|0}function lk(a,b,c){a=a|0;b=E(b);c=c|0;var d=0,e=E(0),f=E(0),g=E(0),h=0,i=E(0),j=E(0),k=E(0),l=E(0);d=ga-96|0;ga=d;x[d+44>>2]=0;x[d+48>>2]=0;x[d+56>>2]=0;x[d+60>>2]=0;x[d+52>>2]=1065353216;h=d- -64|0;x[h>>2]=0;x[h+4>>2]=0;x[d+76>>2]=0;x[d+80>>2]=0;x[d+72>>2]=1065353216;x[d+84>>2]=0;x[d+88>>2]=0;x[d+92>>2]=0;x[d+36>>2]=0;x[d+40>>2]=0;x[d+32>>2]=1065353216;ia[x[x[a>>2]+8>>2]](a,d+32|0,d+16|0,d);i=B[d+24>>2];j=B[d+8>>2];f=B[d+16>>2];g=B[d>>2];k=B[d+20>>2];l=B[d+4>>2];e=E(ia[x[x[a>>2]+48>>2]](a));x[c+12>>2]=0;b=E(b*E(.0833333283662796));f=E(e+E(E(g-f)*E(.5)));f=E(f+f);f=E(f*f);g=E(e+E(E(l-k)*E(.5)));g=E(g+g);g=E(g*g);B[c+8>>2]=b*E(f+g);e=E(e+E(E(j-i)*E(.5)));e=E(e+e);e=E(e*e);B[c+4>>2]=b*E(f+e);B[c>>2]=b*E(g+e);ga=d+96|0}function ok(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=E(0),f=0,g=0,h=0,i=E(0),j=0,k=E(0),l=0,m=E(0),n=0,o=0,p=E(0);if((d|0)>0){f=ga-16|0;while(1){i=E(B[a+68>>2]*E(.5));j=x[a+72>>2];o=l<<4;g=o+b|0;e=B[g+8>>2];h=x[a+76>>2]<<2;m=E(e*e);e=B[g>>2];k=E(e*e);e=B[g+4>>2];a:{b:{if(B[g+h>>2]>E(B[a+60>>2]*E(M(E(m+E(k+E(e*e))))))){x[(j<<2)+f>>2]=0;B[f+h>>2]=i;j=x[a+80>>2];break b}n=j<<2;e=B[g+n>>2];j=x[a+80>>2];k=B[g+(j<<2)>>2];p=E(M(E(E(e*e)+E(k*k))));if(p>E(1.1920928955078125e-7)){m=e;e=E(B[a+64>>2]/p);B[f+n>>2]=m*e;B[f+h>>2]=-i;i=E(k*e);break a}x[f+n>>2]=0;B[f+h>>2]=-i}i=E(0)}B[(j<<2)+f>>2]=i;h=x[f+12>>2];g=c+o|0;x[g+8>>2]=x[f+8>>2];x[g+12>>2]=h;h=x[f+4>>2];x[g>>2]=x[f>>2];x[g+4>>2]=h;l=l+1|0;if((l|0)!=(d|0)){continue}break}}}function Il(a,b,c,d){a=a|0;b=b|0;c=E(c);d=E(d);var e=0,f=0;f=ga-16|0;ga=f;e=x[b+12>>2];x[f+8>>2]=x[b+8>>2];x[f+12>>2]=e;e=x[b+4>>2];x[f>>2]=x[b>>2];x[f+4>>2]=e;d=E(ia[x[x[a>>2]+20>>2]](a));v[a+65|0]=0;B[a+16>>2]=d;d=B[a+36>>2];B[a+36>>2]=d>E(.009999999776482582)?d:E(.009999999776482582);b=x[a+4>>2];e=x[b+56>>2];x[a+136>>2]=x[b+52>>2];x[a+140>>2]=e;e=x[b+64>>2];x[a+144>>2]=x[b+60>>2];x[a+148>>2]=e;b=$b(a,f,c);if(y[a+60|0]){v[a+61|0]=1;e=x[a+148>>2];b=x[a+4>>2];x[b+60>>2]=x[a+144>>2];x[b+64>>2]=e;e=x[a+140>>2];x[b+52>>2]=x[a+136>>2];x[b+56>>2]=e;b=$b(a,f,c);v[a+61|0]=0}a:{if(!y[a+65|0]){break a}if(!(b&4)|(ia[x[x[a>>2]+16>>2]](a)|0)!=1){break a}v[a+64|0]=1;$b(a,f,c);v[a+64|0]=0}x[a+132>>2]=b;ga=f+16|0;return b|0}function Ia(a,b){var c=0,d=0,e=0;c=ga+-64|0;ga=c;d=x[a>>2];e=x[d-4>>2];d=x[d-8>>2];x[c+32>>2]=0;x[c+36>>2]=0;x[c+40>>2]=0;x[c+44>>2]=0;x[c+48>>2]=0;x[c+52>>2]=0;v[c+55|0]=0;v[c+56|0]=0;v[c+57|0]=0;v[c+58|0]=0;v[c+59|0]=0;v[c+60|0]=0;v[c+61|0]=0;v[c+62|0]=0;x[c+24>>2]=0;x[c+28>>2]=0;x[c+20>>2]=0;x[c+16>>2]=29924;x[c+12>>2]=a;x[c+8>>2]=b;a=a+d|0;d=0;a:{if(za(e,b,0)){x[c+56>>2]=1;ia[x[x[e>>2]+20>>2]](e,c+8|0,a,a,1,0);d=x[c+32>>2]==1?a:0;break a}ia[x[x[e>>2]+24>>2]](e,c+8|0,a,1,0);b:{switch(x[c+44>>2]){case 0:d=x[c+48>>2]==1?x[c+36>>2]==1?x[c+40>>2]==1?x[c+28>>2]:0:0:0;break a;case 1:break b;default:break a}}if(x[c+32>>2]!=1){if(x[c+48>>2]|x[c+36>>2]!=1|x[c+40>>2]!=1){break a}}d=x[c+24>>2]}ga=c- -64|0;return d}function Nr(){var a=0,b=0,c=0,d=0,e=0,f=0,g=0,h=0;b=ga-32|0;ga=b;a=Aa(10448);if(!y[33780]){x[b+24>>2]=0;x[b+28>>2]=1;x[b+16>>2]=4096;x[b+20>>2]=4096;x[b+8>>2]=0;x[b+12>>2]=0;Ac(b+8|0);v[33780]=1}x[a+4>>2]=2;x[a+10444>>2]=33692;x[a+64>>2]=466;v[a+24|0]=1;x[a>>2]=12836;x[a+20>>2]=0;x[a+60>>2]=0;x[a+28>>2]=17852;x[a+12>>2]=0;x[a+16>>2]=0;g=a,h=ia[x[x[8423]+12>>2]](33692)|0,x[g+68>>2]=h;g=a,h=ia[x[x[8423]+8>>2]](33692)|0,x[g+72>>2]=h;while(1){c=0;while(1){e=(D(d,144)+a|0)+(c<<2)|0;f=x[a+10444>>2];g=e,h=ia[x[x[f>>2]+16>>2]](f,d,c)|0,x[g+76>>2]=h;f=e+5260|0;e=x[a+10444>>2];g=f,h=ia[x[x[e>>2]+20>>2]](e,d,c)|0,x[g>>2]=h;c=c+1|0;if((c|0)!=36){continue}break}d=d+1|0;if((d|0)!=36){continue}break}ga=b+32|0;return a|0}function Ao(a,b,c,d){a=a|0;b=E(b);c=c|0;d=d|0;var e=0,f=0,g=E(0);e=ga+-64|0;ga=e;f=x[c+60>>2];x[e+56>>2]=x[c+56>>2];x[e+60>>2]=f;f=x[c+52>>2];x[e+48>>2]=x[c+48>>2];x[e+52>>2]=f;B[e+32>>2]=B[c+4>>2];B[e+36>>2]=B[c+20>>2];g=B[c+36>>2];x[e+44>>2]=0;B[e+40>>2]=g;B[e+16>>2]=B[c>>2];B[e+20>>2]=B[c+16>>2];g=B[c+32>>2];x[e+28>>2]=0;B[e+24>>2]=g;c=e+48|0;f=e+32|0;ia[x[x[a>>2]+72>>2]](a,c,f,e+16|0,b,E(-1.5707963705062866),E(1.5707963705062866),E(-1.5707963705062866),E(1.5707963705062866),d,E(30),0);x[e+12>>2]=0;B[e+8>>2]=-B[e+24>>2];B[e+4>>2]=-B[e+20>>2];B[e>>2]=-B[e+16>>2];ia[x[x[a>>2]+72>>2]](a,c,f,e,b,E(-1.5707963705062866),E(1.5707963705062866),E(-1.5707963705062866),E(1.5707963705062866),d,E(30),0);ga=e- -64|0}function Hk(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=E(0),f=0,g=E(0),h=E(0),i=E(0),j=E(0),k=0,l=E(0),m=E(0),n=E(0),o=E(0),p=E(0),q=E(0),r=E(0),s=E(0),t=E(0),u=E(0);f=ga-16|0;k=a+36|0;a=x[a+60>>2];e=B[k+((a+2|0)%3<<2)>>2];B[f+8>>2]=e;B[f+4>>2]=e;B[f>>2]=e;a=a<<2;B[a+f>>2]=e+B[a+k>>2];l=B[b+52>>2];g=B[b+24>>2];o=B[b+20>>2];m=B[b+56>>2];h=B[b+40>>2];p=B[b+36>>2];n=B[b+48>>2];q=B[b+8>>2];r=B[b>>2];s=B[b+4>>2];t=B[b+16>>2];u=B[b+32>>2];e=B[f+8>>2];i=B[f>>2];j=B[f+4>>2];x[c+12>>2]=0;h=E(E(e*E(F(h)))+E(E(i*E(F(u)))+E(j*E(F(p)))));B[c+8>>2]=m-h;g=E(E(e*E(F(g)))+E(E(i*E(F(t)))+E(j*E(F(o)))));B[c+4>>2]=l-g;e=E(E(e*E(F(q)))+E(E(i*E(F(r)))+E(j*E(F(s)))));B[c>>2]=n-e;x[d+12>>2]=0;B[d+8>>2]=m+h;B[d+4>>2]=l+g;B[d>>2]=n+e}function Op(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=E(0),f=E(0),g=E(0),h=E(0),i=E(0),j=E(0),k=E(0),l=E(0),m=E(0),n=E(0),o=E(0),p=E(0);x[a+84>>2]=x[x[x[b+4>>2]+8>>2]+8>>2];B[a+4>>2]=B[b+40>>2];d=x[b>>2];x[a+16>>2]=d;a:{if(c){c=x[b+12>>2];x[a+52>>2]=x[b+8>>2];x[a+56>>2]=c;c=x[b+20>>2];x[a+60>>2]=x[b+16>>2];x[a+64>>2]=c;break a}h=B[d+8>>2];i=B[d+12>>2];j=B[d+20>>2];k=B[d+24>>2];l=B[d+28>>2];m=B[d+36>>2];n=B[d+40>>2];e=B[b+12>>2];o=B[d+44>>2];f=B[b+16>>2];p=B[d+4>>2];g=B[b+8>>2];x[a- -64>>2]=0;B[a+60>>2]=E(o*f)+E(E(m*g)+E(e*n));B[a+56>>2]=E(l*f)+E(E(j*g)+E(e*k));B[a+52>>2]=E(i*f)+E(E(p*g)+E(h*e))}c=x[b+28>>2];x[a+68>>2]=x[b+24>>2];x[a+72>>2]=c;c=x[b+36>>2];x[a+76>>2]=x[b+32>>2];x[a+80>>2]=c;return E(B[b+40>>2])}function Sr(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=E(d);e=E(e);f=E(f);var g=0,h=E(0);x[8456]=x[8456]+1;g=ia[x[8258]](132,16)|0;x[g+12>>2]=0;x[g+16>>2]=0;x[g+4>>2]=35;x[g+8>>2]=0;x[g+20>>2]=0;x[g>>2]=20152;x[g>>2]=20364;x[g+116>>2]=1065353216;x[g+120>>2]=1065353216;x[g+112>>2]=1;v[g+109|0]=0;v[g+110|0]=0;v[g+108|0]=0;x[g+104>>2]=0;x[g+100>>2]=c;B[g+96>>2]=d;B[g+84>>2]=f;B[g+80>>2]=e;x[g+76>>2]=b;x[g+72>>2]=a;x[g+4>>2]=24;x[g+124>>2]=1065353216;x[g+128>>2]=0;d=E(b-1|0);B[g+92>>2]=d;h=E(a-1|0);B[g+88>>2]=h;B[g+40>>2]=h;x[g+24>>2]=0;x[g+52>>2]=0;B[g+48>>2]=d;B[g+44>>2]=f;x[g+32>>2]=0;x[g+36>>2]=0;B[g+28>>2]=e;x[g+68>>2]=0;B[g- -64>>2]=E(d+E(0))*E(.5);B[g+60>>2]=E(e+f)*E(.5);B[g+56>>2]=E(h+E(0))*E(.5);return g|0}function ua(a,b,c){var d=0,e=0,f=0,g=0;a:{if(!c){break a}v[a|0]=b;d=a+c|0;v[d-1|0]=b;if(c>>>0<3){break a}v[a+2|0]=b;v[a+1|0]=b;v[d-3|0]=b;v[d-2|0]=b;if(c>>>0<7){break a}v[a+3|0]=b;v[d-4|0]=b;if(c>>>0<9){break a}d=0-a&3;e=d+a|0;b=D(b&255,16843009);x[e>>2]=b;d=c-d&-4;c=d+e|0;x[c-4>>2]=b;if(d>>>0<9){break a}x[e+8>>2]=b;x[e+4>>2]=b;x[c-8>>2]=b;x[c-12>>2]=b;if(d>>>0<25){break a}x[e+24>>2]=b;x[e+20>>2]=b;x[e+16>>2]=b;x[e+12>>2]=b;x[c-16>>2]=b;x[c-20>>2]=b;x[c-24>>2]=b;x[c-28>>2]=b;g=e&4|24;c=d-g|0;if(c>>>0<32){break a}d=js(b,0,1,1);f=ha;b=e+g|0;while(1){x[b+24>>2]=d;x[b+28>>2]=f;x[b+16>>2]=d;x[b+20>>2]=f;x[b+8>>2]=d;x[b+12>>2]=f;x[b>>2]=d;x[b+4>>2]=f;b=b+32|0;c=c-32|0;if(c>>>0>31){continue}break}}return a}function Wc(a){a=a|0;var b=0;x[a>>2]=30840;b=x[a+144>>2];if(!(b?!b|!y[a+148|0]:1)){x[8457]=x[8457]+1;ia[x[8259]](b)}x[a+144>>2]=0;v[a+148|0]=1;x[a+136>>2]=0;x[a+140>>2]=0;x[a>>2]=30888;b=x[a+124>>2];if(!(b?!b|!y[a+128|0]:1)){x[8457]=x[8457]+1;ia[x[8259]](b)}x[a+124>>2]=0;v[a+128|0]=1;x[a+116>>2]=0;x[a+120>>2]=0;b=x[a+104>>2];if(!(b?!b|!y[a+108|0]:1)){x[8457]=x[8457]+1;ia[x[8259]](b)}x[a+104>>2]=0;v[a+108|0]=1;x[a+96>>2]=0;x[a+100>>2]=0;b=x[a+84>>2];if(!(b?!b|!y[a+88|0]:1)){x[8457]=x[8457]+1;ia[x[8259]](b)}x[a+84>>2]=0;v[a+88|0]=1;x[a+76>>2]=0;x[a+80>>2]=0;b=x[a+32>>2];if(!(b?!b|!y[a+36|0]:1)){x[8457]=x[8457]+1;ia[x[8259]](b)}x[a+32>>2]=0;v[a+36|0]=1;x[a+24>>2]=0;x[a+28>>2]=0;x[a>>2]=30816;return a|0}function db(a,b){var c=E(0),d=0,e=0,f=E(0),g=0,h=E(0),i=E(0),j=0,k=0,l=0,m=0;e=ga-16|0;c=B[a>>2];h=B[a+20>>2];i=B[a+40>>2];f=E(E(c+h)+i);a:{if(f>E(0)){f=E(M(E(f+E(1))));c=E(E(.5)/f);h=E(c*E(B[a+16>>2]-B[a+4>>2]));i=E(c*E(B[a+8>>2]-B[a+32>>2]));f=E(f*E(.5));c=E(c*E(B[a+36>>2]-B[a+24>>2]));break a}g=c>>0)%3|0;g=m+(a<<4)|0;a=a<<2;c=E(M(E(E(E(B[k+j>>2]-B[l+d>>2])-B[g+a>>2])+E(1))));B[j+e>>2]=c*E(.5);c=E(E(.5)/c);B[e+12>>2]=E(B[d+g>>2]-B[a+l>>2])*c;B[e+d>>2]=c*E(B[j+l>>2]+B[d+k>>2]);B[(a|e)>>2]=c*E(B[g+j>>2]+B[a+k>>2]);f=B[e+12>>2];h=B[e+8>>2];i=B[e+4>>2];c=B[e>>2]}B[b+12>>2]=f;B[b+8>>2]=h;B[b+4>>2]=i;B[b>>2]=c}function zg(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=E(0),f=E(0),g=E(0),h=E(0),i=E(0),j=E(0),k=E(0),l=E(0),m=E(0),n=E(0),o=E(0),p=E(0);x[a+84>>2]=x[x[b+4>>2]+8>>2];B[a+4>>2]=B[b+40>>2];d=x[b>>2];x[a+16>>2]=d;a:{if(c){c=x[b+12>>2];x[a+52>>2]=x[b+8>>2];x[a+56>>2]=c;c=x[b+20>>2];x[a+60>>2]=x[b+16>>2];x[a+64>>2]=c;break a}h=B[d+8>>2];i=B[d+12>>2];j=B[d+20>>2];k=B[d+24>>2];l=B[d+28>>2];m=B[d+36>>2];n=B[d+40>>2];e=B[b+12>>2];o=B[d+44>>2];f=B[b+16>>2];p=B[d+4>>2];g=B[b+8>>2];x[a- -64>>2]=0;B[a+60>>2]=E(o*f)+E(E(m*g)+E(e*n));B[a+56>>2]=E(l*f)+E(E(j*g)+E(e*k));B[a+52>>2]=E(i*f)+E(E(p*g)+E(h*e))}c=x[b+28>>2];x[a+68>>2]=x[b+24>>2];x[a+72>>2]=c;c=x[b+36>>2];x[a+76>>2]=x[b+32>>2];x[a+80>>2]=c;return E(B[b+40>>2])}function Uc(a){a=a|0;var b=0;x[a>>2]=30968;b=x[a+144>>2];if(!(b?!b|!y[a+148|0]:1)){x[8457]=x[8457]+1;ia[x[8259]](b)}x[a+144>>2]=0;v[a+148|0]=1;x[a+136>>2]=0;x[a+140>>2]=0;x[a>>2]=31016;b=x[a+124>>2];if(!(b?!b|!y[a+128|0]:1)){x[8457]=x[8457]+1;ia[x[8259]](b)}x[a+124>>2]=0;v[a+128|0]=1;x[a+116>>2]=0;x[a+120>>2]=0;b=x[a+104>>2];if(!(b?!b|!y[a+108|0]:1)){x[8457]=x[8457]+1;ia[x[8259]](b)}x[a+104>>2]=0;v[a+108|0]=1;x[a+96>>2]=0;x[a+100>>2]=0;b=x[a+84>>2];if(!(b?!b|!y[a+88|0]:1)){x[8457]=x[8457]+1;ia[x[8259]](b)}x[a+84>>2]=0;v[a+88|0]=1;x[a+76>>2]=0;x[a+80>>2]=0;b=x[a+32>>2];if(!(b?!b|!y[a+36|0]:1)){x[8457]=x[8457]+1;ia[x[8259]](b)}x[a+32>>2]=0;v[a+36|0]=1;x[a+24>>2]=0;x[a+28>>2]=0;return a|0}function xp(a){a=a|0;var b=0,c=0;x[8456]=x[8456]+1;b=ia[x[8258]](144,16)|0;x[b+8>>2]=1065353216;x[b+12>>2]=1065353216;x[b+4>>2]=0;x[b+104>>2]=1065353216;x[b+108>>2]=1065353216;x[b+96>>2]=0;x[b+100>>2]=0;x[b+88>>2]=1065353216;x[b+92>>2]=0;x[b+80>>2]=0;x[b+84>>2]=0;x[b+72>>2]=1065353216;x[b+76>>2]=1065353216;c=b- -64|0;x[c>>2]=0;x[c+4>>2]=0;x[b+56>>2]=1065353216;x[b+60>>2]=0;x[b+48>>2]=1065353216;x[b+52>>2]=0;x[b+40>>2]=0;x[b+44>>2]=1065353216;x[b+32>>2]=0;x[b+36>>2]=0;x[b+24>>2]=0;x[b+28>>2]=1065353216;x[b+16>>2]=1065353216;x[b+20>>2]=0;x[b+112>>2]=0;x[b+116>>2]=0;x[b+120>>2]=0;x[b+124>>2]=0;x[b+128>>2]=0;x[b+132>>2]=0;v[b+136|0]=0;x[b+140>>2]=x[a>>2];x[a>>2]=0;x[b>>2]=31352;return b|0}function Kc(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0;d=x[b+188>>2];if(d){c=x[a+68>>2];c=ia[x[x[c>>2]+36>>2]](c)|0;ia[x[x[c>>2]+40>>2]](c,d,x[a+24>>2]);c=x[a+68>>2];ia[x[x[c>>2]+12>>2]](c,d,x[a+24>>2]);x[b+188>>2]=0}c=x[b+216>>2];d=x[a+8>>2];a:{if(!((c|0)<0|(c|0)>=(d|0))){e=x[a+16>>2];f=c<<2;g=e+f|0;h=x[g>>2];i=e;d=d-1|0;e=d<<2;x[g>>2]=x[i+e>>2];x[e+x[a+16>>2]>>2]=h;x[a+8>>2]=d;if((c|0)>=(d|0)){break a}x[x[f+x[a+16>>2]>>2]+216>>2]=c;break a}if((d|0)<=0){break a}e=x[a+16>>2];c=0;while(1){f=e+(c<<2)|0;if(x[f>>2]!=(b|0)){c=c+1|0;if((d|0)!=(c|0)){continue}break a}break}if((c|0)>=(d|0)){break a}d=d-1|0;c=d<<2;x[f>>2]=x[c+e>>2];x[c+x[a+16>>2]>>2]=b;x[a+8>>2]=d}x[b+216>>2]=-1}function vc(a){a=a|0;var b=0;x[a>>2]=18460;b=x[a+160>>2];if(!(b?!b|!y[a+164|0]:1)){x[8457]=x[8457]+1;ia[x[8259]](b)}x[a+160>>2]=0;v[a+164|0]=1;x[a+152>>2]=0;x[a+156>>2]=0;b=x[a+136>>2];if(!(b?!b|!y[a+140|0]:1)){x[8457]=x[8457]+1;ia[x[8259]](b)}x[a+136>>2]=0;v[a+140|0]=1;x[a+128>>2]=0;x[a+132>>2]=0;b=x[a+116>>2];if(!(b?!b|!y[a+120|0]:1)){x[8457]=x[8457]+1;ia[x[8259]](b)}x[a+116>>2]=0;v[a+120|0]=1;x[a+108>>2]=0;x[a+112>>2]=0;b=x[a+96>>2];if(!(b?!b|!y[a+100|0]:1)){x[8457]=x[8457]+1;ia[x[8259]](b)}x[a+96>>2]=0;v[a+100|0]=1;x[a+88>>2]=0;x[a+92>>2]=0;b=x[a+76>>2];if(!(b?!b|!y[a+80|0]:1)){x[8457]=x[8457]+1;ia[x[8259]](b)}x[a+76>>2]=0;v[a+80|0]=1;x[a+68>>2]=0;x[a+72>>2]=0;return a|0}function qn(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=E(0);d=ga-96|0;ga=d;f=x[x[a>>2]>>2];g=x[x[a+4>>2]>>2];a:{if(!(ia[x[x[b>>2]+24>>2]](b,f,g)|0)){break a}e=x[f+192>>2];x[d+88>>2]=-1;x[d+92>>2]=-1;x[d+84>>2]=f+4;x[d+80>>2]=f;x[d+76>>2]=e;x[d+72>>2]=0;e=x[g+192>>2];x[d+64>>2]=-1;x[d+68>>2]=-1;x[d+60>>2]=g+4;x[d+56>>2]=g;x[d+52>>2]=e;x[d+48>>2]=0;if(!x[a+8>>2]){b=ia[x[x[b>>2]+8>>2]](b,d+72|0,d+48|0,0,1)|0;x[a+8>>2]=b;if(!b){break a}}b=d+12|0;x[b+32>>2]=0;x[b+12>>2]=d+48;x[b+8>>2]=d+72;x[b+4>>2]=0;x[b>>2]=17852;a=x[a+8>>2];e=x[a>>2];if(x[c+8>>2]==1){ia[x[e+8>>2]](a,d+72|0,d+48|0,c,b);break a}h=E(ia[x[e+12>>2]](a,f,g,c,b));if(!(h>2])){break a}B[c+12>>2]=h}ga=d+96|0}function Ln(a,b,c){a=a|0;b=b|0;c=c|0;var d=E(0),e=E(0),f=0,g=E(0),h=E(0),i=E(0),j=E(0),k=E(0),l=E(0);f=x[a+44>>2];a=x[a+4>>2];a:{if(a){if(f){e=B[a+24>>2];d=B[f+24>>2];g=e>d?e:d;e=B[a+20>>2];d=B[f+20>>2];h=e>d?e:d;e=B[a+8>>2];d=B[f+8>>2];i=e>2];d=B[f+4>>2];j=e>2];d=B[f+16>>2];k=e>d?e:d;d=B[a>>2];e=B[f>>2];d=e>d?d:e;break a}l=B[a+28>>2];g=B[a+24>>2];h=B[a+20>>2];k=B[a+16>>2];e=B[a+12>>2];i=B[a+8>>2];j=B[a+4>>2];d=B[a>>2];break a}d=E(0);if(!f){break a}l=B[f+28>>2];g=B[f+24>>2];h=B[f+20>>2];k=B[f+16>>2];e=B[f+12>>2];i=B[f+8>>2];j=B[f+4>>2];d=B[f>>2]}B[b+12>>2]=e;B[b+8>>2]=i;B[b+4>>2]=j;B[b>>2]=d;B[c+12>>2]=l;B[c+8>>2]=g;B[c+4>>2]=h;B[c>>2]=k}function Fa(a){var b=0,c=0,d=0,e=0;e=(p(a),j(2));c=e>>>23&255;if((c|0)==255){a=E(a*E(6.2831854820251465));return E(a/a)}b=e<<1;if(b>>>0<=2173837238){return(b|0)==-2121130058?E(a*E(0)):a}a:{if(!c){c=0;b=e<<9;if((b|0)>=0){while(1){c=c-1|0;b=b<<1;if((b|0)>=0){continue}break}}b=e<<1-c;break a}b=e&8388607|8388608}if((c|0)>129){while(1){b:{d=b-13176795|0;if((d|0)<0){break b}b=d;if(b){break b}return E(a*E(0))}b=b<<1;c=c-1|0;if((c|0)>129){continue}break}c=129}c:{d=b-13176795|0;if((d|0)<0){break c}b=d;if(b){break c}return E(a*E(0))}if(b>>>0<=8388607){while(1){c=c-1|0;d=b>>>0<4194304;b=b<<1;if(d){continue}break}}return l(2,e&-2147483648|((c|0)>0?b-8388608|c<<23:b>>>1-c|0)),q()}function tj(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=E(0),g=E(0),h=E(0),i=E(0),j=E(0),k=E(0),l=E(0),m=E(0),n=E(0),o=E(0),p=E(0);e=ga+-64|0;ga=e;x[e+44>>2]=b;x[e+40>>2]=21336;b=x[a+36>>2];x[e+56>>2]=x[a+32>>2];x[e+60>>2]=b;b=x[a+28>>2];x[e+48>>2]=x[a+24>>2];x[e+52>>2]=b;g=B[a+32>>2];f=B[a+28>>2];h=B[a+24>>2];i=E(E(1)/h);j=B[c>>2];k=B[d>>2];B[e+24>>2]=i*(h>=E(0)?j:k);l=E(E(1)/f);m=B[c+4>>2];n=B[d+4>>2];B[e+28>>2]=l*(f>=E(0)?m:n);o=B[d+8>>2];p=B[c+8>>2];x[e+36>>2]=0;x[e+20>>2]=0;B[e+12>>2]=l*(f<=E(0)?m:n);B[e+8>>2]=i*(h<=E(0)?j:k);f=E(E(1)/g);B[e+32>>2]=f*(g>=E(0)?p:o);B[e+16>>2]=f*(g<=E(0)?p:o);a=x[a+40>>2];ia[x[x[a>>2]+64>>2]](a,e+40|0,e+24|0,e+8|0);ga=e- -64|0}function xc(a,b){var c=E(0),d=E(0),e=E(0),f=E(0),g=0,h=E(0),i=E(0),j=E(0),k=E(0),l=E(0);a=Db(a);x[a+4>>2]=0;x[a>>2]=18128;d=B[b>>2];f=B[b+4>>2];c=B[b+8>>2];x[a+48>>2]=0;e=E(c*B[a+28>>2]);c=B[a+52>>2];B[a+44>>2]=e-c;B[a+40>>2]=E(f*B[a+24>>2])-c;B[a+36>>2]=E(d*B[a+20>>2])-c;e=c;c=B[b>>2];d=B[b+4>>2];g=c>2]>(g?c:d)?!g:2)<<2)+b>>2]*E(.10000000149011612));if(e>c){d=B[a+52>>2];f=E(ia[x[x[a>>2]+48>>2]](a));h=E(ia[x[x[a>>2]+48>>2]](a));B[a+52>>2]=c;c=B[a+44>>2];i=B[a+36>>2];j=B[a+40>>2];k=E(ia[x[x[a>>2]+48>>2]](a));l=E(ia[x[x[a>>2]+48>>2]](a));e=E(ia[x[x[a>>2]+48>>2]](a));x[a+48>>2]=0;B[a+40>>2]=E(f+j)-l;B[a+36>>2]=E(d+i)-k;B[a+44>>2]=E(h+c)-e}return a}function we(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=E(0),f=E(0),g=E(0),h=E(0),i=E(0),j=E(0),k=E(0),l=E(0),m=E(0),n=E(0),o=E(0),p=E(0),q=E(0),r=E(0),s=E(0),t=E(0),u=E(0);e=E(ia[x[x[a>>2]+48>>2]](a));j=B[b+52>>2];h=B[b+20>>2];m=B[b+24>>2];k=B[b+56>>2];i=B[b+36>>2];n=B[a+40>>2];f=B[b+40>>2];g=B[a+44>>2];l=B[b+48>>2];o=B[b>>2];p=B[b+4>>2];q=B[b+8>>2];r=B[b+16>>2];s=B[b+32>>2];t=B[a+36>>2];x[c+12>>2]=0;g=E(e+g);u=E(g*E(F(f)));f=E(e+t);e=E(e+n);i=E(u+E(E(f*E(F(s)))+E(e*E(F(i)))));B[c+8>>2]=k-i;h=E(E(g*E(F(m)))+E(E(f*E(F(r)))+E(e*E(F(h)))));B[c+4>>2]=j-h;e=E(E(g*E(F(q)))+E(E(f*E(F(o)))+E(e*E(F(p)))));B[c>>2]=l-e;x[d+12>>2]=0;B[d+8>>2]=k+i;B[d+4>>2]=h+j;B[d>>2]=e+l}function qb(a){var b=0,c=0,d=E(0),e=E(0),f=E(0),g=0,h=E(0),i=E(0),j=E(0),k=0,l=0;c=ga-16|0;ga=c;d=B[a+156>>2];B[c>>2]=d;e=B[a+152>>2];B[c+4>>2]=e;f=B[a+160>>2];x[c+12>>2]=0;B[c+8>>2]=f;b=x[a+8>>2];a:{if(!b){x[8456]=x[8456]+1;k=a,l=xc(ia[x[8258]](64,16)|0,c),x[k+8>>2]=l;break a}h=E(ia[x[x[b>>2]+48>>2]](b));i=E(ia[x[x[b>>2]+48>>2]](b));j=E(ia[x[x[b>>2]+48>>2]](b));x[b+48>>2]=0;B[b+44>>2]=E(f*B[b+28>>2])-j;B[b+40>>2]=E(e*B[b+24>>2])-i;B[b+36>>2]=E(d*B[b+20>>2])-h;g=d>2]*E(.10000000149011612));if(!(E(ia[x[x[b>>2]+48>>2]](b))>d)){break a}ia[x[x[b>>2]+44>>2]](b,d)}b=x[a+4>>2];ia[x[x[b>>2]+8>>2]](b,x[a+8>>2]);ga=c+16|0}function Zj(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=E(0),f=E(0),g=E(0),h=E(0),i=E(0);f=B[a+20>>2];g=B[a+32>>2];h=B[a+24>>2];i=B[a+28>>2];e=E(E(g*B[b+8>>2])+E(E(h*B[b>>2])+E(i*B[b+4>>2])));if(f>2]=e;c=x[b+12>>2];x[a+12>>2]=x[b+8>>2];x[a+16>>2]=c;c=x[b+4>>2];x[a+4>>2]=x[b>>2];x[a+8>>2]=c;f=e}e=E(E(g*B[b+24>>2])+E(E(h*B[b+16>>2])+E(i*B[b+20>>2])));if(e>f){B[a+20>>2]=e;c=x[b+28>>2];x[a+12>>2]=x[b+24>>2];x[a+16>>2]=c;c=x[b+20>>2];x[a+4>>2]=x[b+16>>2];x[a+8>>2]=c}else{e=f}f=E(E(g*B[b+40>>2])+E(E(h*B[b+32>>2])+E(i*B[b+36>>2])));if(e>2]=f;c=x[b+44>>2];x[a+12>>2]=x[b+40>>2];x[a+16>>2]=c;c=x[b+36>>2];x[a+4>>2]=x[b+32>>2];x[a+8>>2]=c}}function Dk(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=E(0),f=E(0),g=0,h=E(0),i=E(0),j=E(0),k=E(0),l=E(0),m=E(0),n=E(0);d=ga-96|0;ga=d;x[d+44>>2]=0;x[d+48>>2]=0;x[d+56>>2]=0;x[d+60>>2]=0;x[d+52>>2]=1065353216;g=d- -64|0;x[g>>2]=0;x[g+4>>2]=0;x[d+76>>2]=0;x[d+80>>2]=0;x[d+72>>2]=1065353216;x[d+84>>2]=0;x[d+88>>2]=0;x[d+92>>2]=0;x[d+36>>2]=0;x[d+40>>2]=0;x[d+32>>2]=1065353216;ia[x[x[a>>2]+8>>2]](a,d+32|0,d+16|0,d);h=B[d+8>>2];i=B[d+24>>2];e=E(h-i);m=E(e*e);e=B[d>>2];j=B[d+16>>2];f=E(e-j);n=E(f*f);f=B[d+4>>2];k=B[d+20>>2];l=E(f-k);B[c>>2]=E(M(E(m+E(n+E(l*l)))))*E(.5);x[b+12>>2]=0;B[b+8>>2]=E(h+i)*E(.5);B[b+4>>2]=E(f+k)*E(.5);B[b>>2]=E(e+j)*E(.5);ga=d+96|0}function Ai(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=E(0),f=E(0),g=E(0),h=E(0),i=E(0);f=B[a+84>>2];g=B[a+96>>2];h=B[a+88>>2];i=B[a+92>>2];e=E(E(g*B[b+8>>2])+E(E(h*B[b>>2])+E(i*B[b+4>>2])));if(f>2]=e;c=x[b+12>>2];x[a+12>>2]=x[b+8>>2];x[a+16>>2]=c;c=x[b+4>>2];x[a+4>>2]=x[b>>2];x[a+8>>2]=c;f=e}e=E(E(g*B[b+24>>2])+E(E(h*B[b+16>>2])+E(i*B[b+20>>2])));if(e>f){B[a+84>>2]=e;c=x[b+28>>2];x[a+12>>2]=x[b+24>>2];x[a+16>>2]=c;c=x[b+20>>2];x[a+4>>2]=x[b+16>>2];x[a+8>>2]=c}else{e=f}f=E(E(g*B[b+40>>2])+E(E(h*B[b+32>>2])+E(i*B[b+36>>2])));if(e>2]=f;c=x[b+44>>2];x[a+12>>2]=x[b+40>>2];x[a+16>>2]=c;c=x[b+36>>2];x[a+4>>2]=x[b+32>>2];x[a+8>>2]=c}}function ic(a,b,c,d){var e=E(0),f=E(0),g=E(0),h=E(0),i=E(0),j=E(0),k=E(0),l=E(0),m=E(0),n=E(0),o=E(0),p=E(0);i=B[c+24>>2];e=B[b+24>>2];l=E(i-e);j=B[c+16>>2];g=B[b+16>>2];m=E(j-g);f=B[a+4>>2];o=B[a>>2];k=B[c+20>>2];h=B[b+20>>2];n=E(k-h);p=B[a+8>>2];a=E(E(e*E(E(m*f)-E(o*n)))+E(E(g*E(E(n*p)-E(f*l)))+E(h*E(E(l*o)-E(p*m)))))E(0)){break a}f=E(E(i*i)+E(E(j*j)+E(k*k)));if(E(E(i*l)+E(E(j*m)+E(k*n)))E(0)?e:E(0)}B[d>>2]=M(f)}return a}function _d(a){a=a|0;var b=0,c=0,d=0,e=0;x[a>>2]=20812;b=x[a+56>>2];if(!(b?!b|!y[a+60|0]:1)){x[8457]=x[8457]+1;ia[x[8259]](b)}x[a+56>>2]=0;v[a+60|0]=1;x[a+48>>2]=0;x[a+52>>2]=0;e=x[a+28>>2];if((e|0)>0){while(1){b=x[a+36>>2]+D(c,36)|0;d=x[b+12>>2];if(!(d?!d|!y[b+16|0]:1)){x[8457]=x[8457]+1;ia[x[8259]](d)}x[b+12>>2]=0;v[b+16|0]=1;x[b+4>>2]=0;x[b+8>>2]=0;c=c+1|0;if((e|0)!=(c|0)){continue}break}}b=x[a+36>>2];if(!(b?!b|!y[a+40|0]:1)){x[8457]=x[8457]+1;ia[x[8259]](b)}x[a+36>>2]=0;v[a+40|0]=1;x[a+28>>2]=0;x[a+32>>2]=0;b=x[a+16>>2];if(!(b?!b|!y[a+20|0]:1)){x[8457]=x[8457]+1;ia[x[8259]](b)}x[a+16>>2]=0;v[a+20|0]=1;x[a+8>>2]=0;x[a+12>>2]=0;return a|0}function zd(a){v[a+20|0]=1;x[a>>2]=23736;x[a+16>>2]=0;v[a+40|0]=1;x[a+8>>2]=0;x[a+12>>2]=0;x[a+36>>2]=0;v[a+60|0]=1;x[a+28>>2]=0;x[a+32>>2]=0;x[a+56>>2]=0;v[a+80|0]=1;x[a+48>>2]=0;x[a+52>>2]=0;x[a+76>>2]=0;v[a+100|0]=1;x[a+68>>2]=0;x[a+72>>2]=0;x[a+96>>2]=0;v[a+120|0]=1;x[a+88>>2]=0;x[a+92>>2]=0;x[a+116>>2]=0;v[a+140|0]=1;x[a+108>>2]=0;x[a+112>>2]=0;x[a+136>>2]=0;x[a+128>>2]=0;x[a+132>>2]=0;v[a+160|0]=1;x[a+156>>2]=0;x[a+148>>2]=0;x[a+152>>2]=0;v[a+180|0]=1;x[a+176>>2]=0;x[a+168>>2]=0;x[a+172>>2]=0;v[a+208|0]=1;x[a+232>>2]=0;x[a+204>>2]=0;x[a+196>>2]=0;x[a+200>>2]=0;x[a+224>>2]=0;x[a+212>>2]=952;x[a+216>>2]=953;x[a+220>>2]=954;return a}function vk(a){a=a|0;var b=E(0),c=0,d=0,e=0,f=0;c=ga-32|0;ga=c;x[a+56>>2]=-581039253;x[a+60>>2]=-581039253;x[a+40>>2]=1566444395;x[a+44>>2]=1566444395;d=a- -64|0;x[d>>2]=-581039253;x[d+4>>2]=0;x[a+48>>2]=1566444395;x[a+52>>2]=0;if(x[a+24>>2]>0){while(1){d=x[a+32>>2]+D(e,80)|0;f=x[d+64>>2];ia[x[x[f>>2]+8>>2]](f,d,c+16|0,c);b=B[c+16>>2];if(b>2]){B[a+40>>2]=b}b=B[c>>2];if(b>B[a+56>>2]){B[a+56>>2]=b}b=B[c+20>>2];if(b>2]){B[a+44>>2]=b}b=B[c+4>>2];if(b>B[a+60>>2]){B[a+60>>2]=b}b=B[c+24>>2];if(b>2]){B[a+48>>2]=b}b=B[c+8>>2];if(b>B[a+64>>2]){B[a+64>>2]=b}e=e+1|0;if((e|0)>2]){continue}break}}ga=c+32|0}function Ya(a){var b=0,c=0,d=E(0),e=0;e=(p(a),j(2));c=e&2147483647;if(c>>>0>=1065353216){if((c|0)==1065353216){return E(+a*1.5707963267948966+752316384526264e-51)}return E(E(0)/E(a-a))}a:{if(c>>>0<=1056964607){if(c-8388608>>>0<956301312){break a}d=E(a*a);return E(E(a*E(E(E(E(d*E(E(d*E(-.008656363002955914))+E(-.04274342209100723)))+E(.16666586697101593))*d)/E(E(d*E(-.7066296339035034))+E(1))))+a)}a=E(E(E(1)-E(F(a)))*E(.5));b=M(+a);b=b+b*+E(E(E(E(a*E(E(a*E(-.008656363002955914))+E(-.04274342209100723)))+E(.16666586697101593))*a)/E(E(a*E(-.7066296339035034))+E(1)));a=E(1.5707963267948966-(b+b));a=(e|0)<0?E(-a):a}return a}function xq(a,b){a=a|0;b=b|0;a:{b:{c:{switch(b|0){case 0:if(!a){break b}if(a){x[8457]=x[8457]+1;ia[x[8259]](a)}return;case 1:if(!a){break b}va(a);return;case 2:if(!a){break b}va(a);return;case 3:if(!a){break b}break a;case 4:if(!a){break b}break a;case 5:if(!a){break b}break a;case 7:if(!a){break b}break a;case 8:if(!a){break b}break a;case 9:if(!a){break b}break a;case 10:if(!a){break b}break a;case 11:if(!a){break b}break a;case 12:if(!a){break b}break a;case 13:if(!a){break b}break a;case 6:if(!a){break b}break a;case 14:break c;default:break b}}if(!a){break b}ia[x[x[a>>2]+4>>2]](a)}return}ia[x[x[a>>2]+4>>2]](a)}function od(a,b,c,d){var e=E(0),f=E(0),g=E(0),h=E(0),i=E(0),j=E(0),k=E(0);f=Ba(c);e=B[b+444>>2];c=Ca(c);a:{if(!(E(F(f))>E(1.1920928955078125e-7))){h=E(f*f);break a}h=E(f*f);g=E(E(c*c)/h);i=E(g/E(e*e));e=B[b+448>>2];e=E(M(E(E(g+E(1))/E(i+E(E(1)/E(e*e))))))}x[a+12>>2]=0;e=E(e*E(.5));g=E(Ca(e)/E(M(E(E(c*c)+E(h+E(0))))));c=E(g*E(-c));e=Ba(e);i=E(e*E(0));h=E(g*E(0));j=E(h*E(0));k=E(E(i+E(c*d))-j);f=E(f*g);g=E(E(i+j)-E(f*d));j=E(c*E(-0));i=E(j+E(E(f*E(-0))-E(h*d)));d=E(j+E(E(e*d)+E(f*E(0))));B[a+8>>2]=E(k*h)+E(E(E(e*g)-E(i*c))-E(d*f));B[a+4>>2]=E(d*c)+E(E(E(e*k)-E(i*f))-E(g*h));B[a>>2]=E(g*f)+E(E(E(e*d)-E(i*h))-E(k*c))}function Dc(a){a=a|0;var b=0,c=0,d=0,e=0;x[a>>2]=16192;d=x[a+52>>2];if((d|0)>0){while(1){e=b<<2;c=x[e+x[a+60>>2]>>2];if(c){ia[x[x[c>>2]>>2]](c)|0;c=x[a+4>>2];ia[x[x[c>>2]+60>>2]](c,x[x[a+60>>2]+e>>2])}b=b+1|0;if((d|0)!=(b|0)){continue}break}}b=x[a+60>>2];if(!(b?!b|!y[a- -64|0]:1)){x[8457]=x[8457]+1;ia[x[8259]](b)}x[a+60>>2]=0;v[a+64|0]=1;x[a+52>>2]=0;x[a+56>>2]=0;b=x[a+40>>2];if(!(b?!b|!y[a+44|0]:1)){x[8457]=x[8457]+1;ia[x[8259]](b)}x[a+40>>2]=0;v[a+44|0]=1;x[a+32>>2]=0;x[a+36>>2]=0;b=x[a+20>>2];if(!(b?!b|!y[a+24|0]:1)){x[8457]=x[8457]+1;ia[x[8259]](b)}x[a+20>>2]=0;v[a+24|0]=1;x[a+12>>2]=0;x[a+16>>2]=0;return a|0}function Of(){var a=0;v[33090]=0;w[16544]=20565;v[33099]=2;x[8275]=1162103123;x[8278]=1314344772;v[33111]=4;v[33123]=4;v[33104]=0;v[33135]=6;v[33116]=0;x[8281]=y[9159]|y[9160]<<8|(y[9161]<<16|y[9162]<<24);v[33130]=0;a=y[9163]|y[9164]<<8;v[33128]=a;v[33129]=a>>>8;x[8447]=0;x[8446]=324;xf();x[8447]=x[8948];x[8948]=33784;v[35767]=4;w[17872]=20565;v[35755]=2;v[35779]=4;x[8939]=1162103123;v[35791]=6;x[8942]=1314344772;x[8945]=y[9159]|y[9160]<<8|(y[9161]<<16|y[9162]<<24);a=y[9163]|y[9164]<<8;v[35784]=a;v[35785]=a>>>8;v[35746]=0;v[35760]=0;v[35772]=0;v[35786]=0;x[8949]=1063;x[8950]=0;ed();x[8950]=x[8948];x[8948]=35796}function tk(a,b,c){a=a|0;b=E(b);c=c|0;var d=0,e=E(0),f=E(0),g=E(0),h=0,i=E(0);d=ga-96|0;ga=d;x[d+44>>2]=0;x[d+48>>2]=0;x[d+56>>2]=0;x[d+60>>2]=0;x[d+52>>2]=1065353216;h=d- -64|0;x[h>>2]=0;x[h+4>>2]=0;x[d+76>>2]=0;x[d+80>>2]=0;x[d+72>>2]=1065353216;x[d+84>>2]=0;x[d+88>>2]=0;x[d+92>>2]=0;x[d+36>>2]=0;x[d+40>>2]=0;x[d+32>>2]=1065353216;ia[x[x[a>>2]+8>>2]](a,d+32|0,d+16|0,d);e=B[d+24>>2];i=B[d+8>>2];b=E(b/E(12));f=E(E(B[d>>2]-B[d+16>>2])*E(.5));f=E(f+f);f=E(f*f);g=E(E(B[d+4>>2]-B[d+20>>2])*E(.5));g=E(g+g);g=E(g*g);B[c+8>>2]=b*E(f+g);e=E(E(i-e)*E(.5));e=E(e+e);e=E(e*e);B[c+4>>2]=b*E(f+e);B[c>>2]=b*E(g+e);ga=d+96|0}function lh(a,b){a=a|0;b=E(b);var c=0,d=0,e=0,f=0,g=0;d=ga-16|0;ga=d;ia[x[8262]](5872);c=x[a+84>>2];if(c){ia[c|0](a,b)}ia[x[x[a>>2]+140>>2]](a,b);c=0;x[a+32>>2]=0;B[a+28>>2]=b;f=a,g=ia[x[x[a>>2]+20>>2]](a)|0,x[f+48>>2]=g;ia[x[x[a>>2]+164>>2]](a,b);ia[x[x[a>>2]+44>>2]](a);ia[x[x[a>>2]+148>>2]](a);B[a+104>>2]=b;ia[x[x[a>>2]+152>>2]](a,a+92|0);ia[x[x[a>>2]+144>>2]](a,b);ia[x[8262]](4095);if(x[a+296>>2]>0){while(1){e=x[x[a+304>>2]+(c<<2)>>2];ia[x[x[e>>2]+8>>2]](e,a,b);c=c+1|0;if((c|0)>2]){continue}break}}ia[x[8263]]();ia[x[x[a>>2]+156>>2]](a,b);c=x[a+80>>2];if(c){ia[c|0](a,b)}ia[x[8263]]();ga=d+16|0}function uj(a,b){a=a|0;b=b|0;var c=E(0),d=0;d=ga-96|0;ga=d;ib(a,b);v[a+96|0]=1;if(!y[34e3]){x[8477]=0;x[8478]=0;x[8476]=1065353216;x[8479]=0;x[8480]=0;x[8482]=0;x[8483]=0;x[8481]=1065353216;x[8484]=0;x[8485]=0;x[8489]=0;x[8490]=0;x[8488]=-1082130432;x[8486]=1065353216;x[8487]=0;x[8491]=0;x[8492]=0;x[8494]=0;x[8495]=0;x[8493]=-1082130432;x[8496]=0;x[8497]=0;x[8498]=-1082130432;x[8499]=0;v[34e3]=1}b=ua(d,0,96);ia[x[x[a>>2]+76>>2]](a,33904,b,6);c=B[a+52>>2];B[a+80>>2]=c+B[b>>2];B[a+64>>2]=B[b+48>>2]-c;B[a+84>>2]=c+B[b+20>>2];B[a+68>>2]=B[b+68>>2]-c;B[a+88>>2]=c+B[b+40>>2];B[a+72>>2]=B[b+88>>2]-c;ga=b+96|0}function Om(a,b,c,d,e){a=a|0;b=b|0;c=E(c);d=d|0;e=e|0;var f=0,g=E(0),h=E(0),i=E(0),j=E(0),k=E(0),l=E(0),m=E(0),n=E(0),o=E(0),p=E(0),q=E(0),r=E(0);f=ga-48|0;ga=f;x[f+40>>2]=e;x[f+36>>2]=d;x[f+44>>2]=x[a+52>>2];j=B[a- -64>>2];k=B[a+60>>2];l=B[a+80>>2];m=B[a+72>>2];n=B[a+76>>2];o=B[a+96>>2];p=B[a+88>>2];q=B[a+92>>2];r=B[a+56>>2];g=B[b+8>>2];h=B[b>>2];i=B[b+4>>2];b=x[a+48>>2];x[f+28>>2]=0;B[f+24>>2]=E(o*g)+E(E(p*h)+E(i*q));B[f+20>>2]=E(l*g)+E(E(m*h)+E(i*n));B[f+32>>2]=c;x[f+8>>2]=b;B[f+16>>2]=E(j*g)+E(E(r*h)+E(k*i));x[f+12>>2]=f+36;a=x[a+44>>2];c=E(ia[x[x[a>>2]+12>>2]](a,f+8|0,1));ga=f+48|0;return E(c)}function Vf(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0;if(za(a,x[b+8>>2],f)){Xb(b,c,d,e);return}g=y[b+53|0];j=x[a+12>>2];v[b+53|0]=0;h=y[b+52|0];v[b+52|0]=0;m=a+16|0;Wb(m,b,c,d,e,f);k=y[b+53|0];g=g|k;l=y[b+52|0];h=h|l;i=a+24|0;j=(j<<3)+m|0;a:{if(i>>>0>=j>>>0){break a}while(1){if(y[b+54|0]){break a}b:{if(l){if(x[b+24>>2]==1){break a}if(y[a+8|0]&2){break b}break a}if(!k){break b}if(!(v[a+8|0]&1)){break a}}w[b+52>>1]=0;Wb(i,b,c,d,e,f);k=y[b+53|0];g=k|g;l=y[b+52|0];h=l|h;i=i+8|0;if(j>>>0>i>>>0){continue}break}}v[b+53|0]=(g&255)!=0;v[b+52|0]=(h&255)!=0}function pc(a){var b=0,c=E(0);b=ga-96|0;ga=b;v[a+96|0]=1;if(!y[34e3]){x[8477]=0;x[8478]=0;x[8476]=1065353216;x[8479]=0;x[8480]=0;x[8482]=0;x[8483]=0;x[8481]=1065353216;x[8484]=0;x[8485]=0;x[8489]=0;x[8490]=0;x[8488]=-1082130432;x[8486]=1065353216;x[8487]=0;x[8491]=0;x[8492]=0;x[8494]=0;x[8495]=0;x[8493]=-1082130432;x[8496]=0;x[8497]=0;x[8498]=-1082130432;x[8499]=0;v[34e3]=1}b=ua(b,0,96);ia[x[x[a>>2]+76>>2]](a,33904,b,6);c=B[a+52>>2];B[a+80>>2]=B[b>>2]+c;B[a+64>>2]=B[b+48>>2]-c;B[a+84>>2]=c+B[b+20>>2];B[a+68>>2]=B[b+68>>2]-c;B[a+88>>2]=c+B[b+40>>2];B[a+72>>2]=B[b+88>>2]-c;ga=b+96|0}function ff(a){var b=0,c=0,d=0,e=0,f=0;x[a+24>>2]=0;x[a+68>>2]=0;v[a+20|0]=1;x[a>>2]=12284;x[a+16>>2]=0;v[a+44|0]=1;x[a+8>>2]=0;x[a+12>>2]=0;x[a+40>>2]=0;v[a- -64|0]=1;x[a+32>>2]=0;x[a+36>>2]=0;x[a+60>>2]=0;x[a+52>>2]=0;x[a+56>>2]=0;x[8456]=x[8456]+1;e=ia[x[8258]](32,16)|0;f=x[a+8>>2];if((f|0)>0){while(1){c=d<<4;b=c+e|0;c=c+x[a+16>>2]|0;x[b>>2]=x[c>>2];x[b+4>>2]=x[c+4>>2];x[b+8>>2]=x[c+8>>2];x[b+12>>2]=x[c+12>>2];d=d+1|0;if((f|0)!=(d|0)){continue}break}}b=x[a+16>>2];if(!(b?!b|!y[a+20|0]:1)){x[8457]=x[8457]+1;ia[x[8259]](b)}x[a+16>>2]=e;v[a+20|0]=1;x[a+12>>2]=2;ef(a);return a}function Bi(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=E(0),f=E(0),g=0,h=E(0),i=E(0),j=0,k=0;a:{e=B[b>>2];f=B[b+16>>2];i=e>2];if(B[a+24>>2]<(h>i?i:h)){break a}g=e>f;if(B[(h<(g?e:f)?!g<<4:32)+b>>2]>2]){break a}e=B[b+8>>2];g=b+24|0;f=B[g>>2];i=e>2];if(B[a+32>>2]<(h>i?i:h)){break a}k=g;g=e>f;if(B[(h<(g?e:f)?g?b+8|0:k:j)>>2]>2]){break a}e=B[b+4>>2];g=b+20|0;f=B[g>>2];i=e>2];if(B[a+28>>2]<(h>i?i:h)){break a}k=g;g=e>f;if(B[(h<(g?e:f)?g?b+4|0:k:j)>>2]>2]){break a}a=x[a+4>>2];ia[x[x[a>>2]+8>>2]](a,b,c,d)}}function Yj(a,b,c){a=a|0;b=E(b);c=c|0;var d=E(0),e=E(0),f=E(0),g=E(0),h=E(0),i=E(0),j=E(0),k=E(0);f=B[a+44>>2];d=B[a+40>>2];i=B[a+36>>2];j=E(ia[x[x[a>>2]+48>>2]](a));d=E(d+E(ia[x[x[a>>2]+48>>2]](a)));k=E(ia[x[x[a>>2]+48>>2]](a));e=E(b*E(.5));g=E(b*E(.25));h=E(b/E(12));b=E(j+i);a:{b:{switch(x[a+60>>2]){case 0:f=e;e=E(d*d);d=E(f*e);b=E(E(h*E(b*E(b*E(4))))+E(g*e));e=b;break a;case 2:b=E(b*b);e=E(e*b);d=E(k+f);d=E(E(h*E(d*E(d*E(4))))+E(g*b));b=d;break a;default:break b}}f=e;e=E(b*b);b=E(f*e);d=E(E(h*E(d*E(d*E(4))))+E(g*e));e=d}x[c+12>>2]=0;B[c+8>>2]=e;B[c+4>>2]=b;B[c>>2]=d}function Qp(a){a=a|0;var b=0;x[a>>2]=30888;b=x[a+124>>2];if(!(b?!b|!y[a+128|0]:1)){x[8457]=x[8457]+1;ia[x[8259]](b)}x[a+124>>2]=0;v[a+128|0]=1;x[a+116>>2]=0;x[a+120>>2]=0;b=x[a+104>>2];if(!(b?!b|!y[a+108|0]:1)){x[8457]=x[8457]+1;ia[x[8259]](b)}x[a+104>>2]=0;v[a+108|0]=1;x[a+96>>2]=0;x[a+100>>2]=0;b=x[a+84>>2];if(!(b?!b|!y[a+88|0]:1)){x[8457]=x[8457]+1;ia[x[8259]](b)}x[a+84>>2]=0;v[a+88|0]=1;x[a+76>>2]=0;x[a+80>>2]=0;b=x[a+32>>2];if(!(b?!b|!y[a+36|0]:1)){x[8457]=x[8457]+1;ia[x[8259]](b)}x[a+32>>2]=0;v[a+36|0]=1;x[a+24>>2]=0;x[a+28>>2]=0;x[a>>2]=30816;return a|0}function Qd(a){a=a|0;var b=0;x[a>>2]=22040;b=x[a+156>>2];if(!(b?!b|!y[a+160|0]:1)){x[8457]=x[8457]+1;ia[x[8259]](b)}x[a+156>>2]=0;v[a+160|0]=1;x[a+148>>2]=0;x[a+152>>2]=0;b=x[a+136>>2];if(!(b?!b|!y[a+140|0]:1)){x[8457]=x[8457]+1;ia[x[8259]](b)}x[a+136>>2]=0;v[a+140|0]=1;x[a+128>>2]=0;x[a+132>>2]=0;b=x[a+116>>2];if(!(b?!b|!y[a+120|0]:1)){x[8457]=x[8457]+1;ia[x[8259]](b)}x[a+116>>2]=0;v[a+120|0]=1;x[a+108>>2]=0;x[a+112>>2]=0;b=x[a+96>>2];if(!(b?!b|!y[a+100|0]:1)){x[8457]=x[8457]+1;ia[x[8259]](b)}x[a+96>>2]=0;v[a+100|0]=1;x[a+88>>2]=0;x[a+92>>2]=0;return oc(a)|0}function Ed(a,b){var c=E(0),d=0,e=0,f=0,g=E(0),h=E(0),i=E(0),j=E(0),k=E(0),l=E(0),m=0;f=x[a>>2];d=0;a:{if((f|0)<=0){break a}i=B[a+308>>2];j=B[b+8>>2];c=E(j-B[a+12>>2]);g=E(c*c);k=B[b>>2];c=E(k-B[a+4>>2]);h=E(c*c);l=B[b+4>>2];c=E(l-B[a+8>>2]);d=1;if(i>=E(g+E(h+E(c*c)))){break a}while(1){e=e+1|0;if((f|0)!=(e|0)){d=(e<<4)+a|0;c=E(j-B[d+12>>2]);g=E(c*c);c=E(k-B[d+4>>2]);h=E(c*c);c=E(l-B[d+8>>2]);if(!(E(g+E(h+E(c*c)))<=i)){continue}}break}d=(e|0)<(f|0)}if(!(B[b+12>>2]!=B[a+304>>2]|B[b+8>>2]!=B[a+300>>2]|B[b+4>>2]!=B[a+296>>2])){m=B[b>>2]==B[a+292>>2]}return d|m}function aq(){var a=0,b=0;a=ga-32|0;ga=a;if(!y[33644]){x[8375]=-1;x[8376]=0;x[8373]=1065353216;x[8374]=1;v[33524]=1;x[8372]=31016;x[8380]=0;x[8378]=0;x[8379]=0;b=x[a+20>>2];x[8382]=x[a+16>>2];x[8383]=b;b=x[a+28>>2];x[8384]=x[a+24>>2];x[8385]=b;b=x[a+4>>2];x[8386]=x[a>>2];x[8387]=b;b=x[a+12>>2];x[8388]=x[a+8>>2];x[8389]=b;v[33576]=1;x[8393]=0;v[33596]=1;x[8391]=0;x[8392]=0;x[8398]=0;x[8396]=0;x[8397]=0;v[33616]=1;x[8403]=0;x[8401]=0;x[8402]=0;v[33636]=1;x[8372]=30968;x[8408]=0;v[33640]=1;x[8406]=0;x[8407]=0;x[8374]=-1;v[33644]=1}ga=a+32|0;return 33488}function Xf(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;if(za(a,x[b+8>>2],e)){if(!(x[b+28>>2]==1|x[b+4>>2]!=(c|0))){x[b+28>>2]=d}return}a:{if(za(a,x[b>>2],e)){if(!(x[b+16>>2]!=(c|0)&x[b+20>>2]!=(c|0))){if((d|0)!=1){break a}x[b+32>>2]=1;return}x[b+32>>2]=d;b:{if(x[b+44>>2]==4){break b}w[b+52>>1]=0;a=x[a+8>>2];ia[x[x[a>>2]+20>>2]](a,b,c,c,1,e);if(y[b+53|0]){x[b+44>>2]=3;if(!y[b+52|0]){break b}break a}x[b+44>>2]=4}x[b+20>>2]=c;x[b+40>>2]=x[b+40>>2]+1;if(x[b+36>>2]!=1|x[b+24>>2]!=2){break a}v[b+54|0]=1;return}a=x[a+8>>2];ia[x[x[a>>2]+24>>2]](a,b,c,d,e)}}function Kp(a){a=a|0;var b=0;x[a>>2]=31016;b=x[a+124>>2];if(!(b?!b|!y[a+128|0]:1)){x[8457]=x[8457]+1;ia[x[8259]](b)}x[a+124>>2]=0;v[a+128|0]=1;x[a+116>>2]=0;x[a+120>>2]=0;b=x[a+104>>2];if(!(b?!b|!y[a+108|0]:1)){x[8457]=x[8457]+1;ia[x[8259]](b)}x[a+104>>2]=0;v[a+108|0]=1;x[a+96>>2]=0;x[a+100>>2]=0;b=x[a+84>>2];if(!(b?!b|!y[a+88|0]:1)){x[8457]=x[8457]+1;ia[x[8259]](b)}x[a+84>>2]=0;v[a+88|0]=1;x[a+76>>2]=0;x[a+80>>2]=0;b=x[a+32>>2];if(!(b?!b|!y[a+36|0]:1)){x[8457]=x[8457]+1;ia[x[8259]](b)}x[a+32>>2]=0;v[a+36|0]=1;x[a+24>>2]=0;x[a+28>>2]=0;return a|0}function Sj(a,b,c){a=a|0;b=b|0;c=c|0;var d=E(0),e=0,f=E(0),g=E(0),h=0,i=E(0),j=E(0);e=ga-16|0;ga=e;ia[x[x[b>>2]+68>>2]](e,b,c);h=x[e+12>>2];x[a+8>>2]=x[e+8>>2];x[a+12>>2]=h;h=x[e+4>>2];x[a>>2]=x[e>>2];x[a+4>>2]=h;if(E(ia[x[x[b>>2]+48>>2]](b))!=E(0)){f=B[c+4>>2];d=B[c>>2];g=B[c+8>>2];i=E(ia[x[x[b>>2]+48>>2]](b));b=E(E(g*g)+E(E(d*d)+E(f*f)))>2]=B[a>>2]+E(i*E(j*d));B[a+4>>2]=B[a+4>>2]+E(i*E(f*d));B[a+8>>2]=B[a+8>>2]+E(i*E(g*d))}ga=e+16|0}function bm(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=E(0),f=E(0),g=E(0),h=E(0),i=E(0),j=E(0),k=E(0),l=E(0),m=E(0),n=E(0);h=B[a+96>>2];i=B[a+80>>2];k=B[a+84>>2];l=B[a+104>>2];j=B[a+100>>2];e=B[a+68>>2];f=B[a+72>>2];m=B[a+88>>2];g=B[a+64>>2];x[c+12>>2]=0;i=E(i-g);j=E(j-e);g=E(h-g);h=E(k-e);e=E(E(i*j)-E(g*h));k=e;n=E(e*e);e=h;h=E(l-f);f=E(m-f);e=E(E(e*h)-E(j*f));f=E(E(f*g)-E(h*i));g=E(E(1)/E(M(E(n+E(E(e*e)+E(f*f))))));B[c+8>>2]=k*g;B[c+4>>2]=f*g;B[c>>2]=e*g;b=x[a+76>>2];x[d+8>>2]=x[a+72>>2];x[d+12>>2]=b;b=x[a+68>>2];x[d>>2]=x[a+64>>2];x[d+4>>2]=b}function ji(a,b,c,d){a=a|0;b=b|0;c=E(c);d=d|0;var e=0;a:{b:{c:{if(d>>>0<=2){d:{switch(b-1|0){case 1:b=((d<<2)+a|0)+728|0;e=2;break b;case 3:b=((d<<2)+a|0)+744|0;e=1;break b;case 0:b=((d<<2)+a|0)+760|0;e=8;break b;case 2:break d;default:break a}}b=((d<<2)+a|0)+776|0;break c}e=d-3|0;if(e>>>0>2){break a}e:{switch(b-1|0){case 1:b=(D(e,88)+a|0)+980|0;e=2;break b;case 3:b=(D(e,88)+a|0)+984|0;e=1;break b;case 0:b=(D(e,88)+a|0)+988|0;e=8;break b;case 2:break e;default:break a}}b=(D(e,88)+a|0)+992|0}e=4}B[b>>2]=c;x[a+1456>>2]=x[a+1456>>2]|e<<(d<<2)}}function Hr(){var a=0,b=0;a=ga-32|0;ga=a;if(!y[33388]){x[8312]=0;x[8309]=1065353216;x[8310]=0;v[33268]=1;x[8308]=30888;x[8316]=0;x[8314]=0;x[8315]=0;b=x[a+20>>2];x[8318]=x[a+16>>2];x[8319]=b;b=x[a+28>>2];x[8320]=x[a+24>>2];x[8321]=b;b=x[a+4>>2];x[8322]=x[a>>2];x[8323]=b;b=x[a+12>>2];x[8324]=x[a+8>>2];x[8325]=b;v[33320]=1;x[8329]=0;v[33340]=1;x[8327]=0;x[8328]=0;x[8334]=0;x[8332]=0;x[8333]=0;v[33360]=1;x[8339]=0;x[8337]=0;x[8338]=0;v[33380]=1;x[8308]=30840;x[8344]=0;v[33384]=1;x[8342]=0;x[8343]=0;x[8311]=-1;v[33388]=1}ga=a+32|0;return 33232}function Kl(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=(b|0)!=8;if(!(d|(c|0)!=8)){return x[a+56>>2]}if(!((c|0)!=1|d)){return x[a+72>>2]}if(!((b|0)!=1|(c|0)!=8)){return x[a+76>>2]}if(!(b|c)){return x[a+68>>2]}if(!((c|0)!=28|(b|0)>19)){return x[a+84>>2]}if(!((b|0)!=28|(c|0)>19)){return x[a+80>>2]}a:{if((b|0)<=19){if((c|0)<=19){return x[a+28>>2]}if(c-21>>>0>8){break a}return x[a+32>>2]}if(!((c|0)>19|b-21>>>0>8)){return x[a+36>>2]}if((b|0)!=31){break a}if((c|0)==31){return x[a+44>>2]}return x[a+40>>2]}if((c|0)==31){return x[a+48>>2]}return x[a+52>>2]}function pk(a,b,c){a=a|0;b=b|0;c=c|0;var d=E(0),e=E(0),f=E(0),g=0,h=0,i=0,j=E(0),k=E(0);e=E(B[b+68>>2]*E(.5));g=x[b+72>>2];i=x[b+76>>2];h=i<<2;d=B[c+8>>2];j=E(d*d);d=B[c>>2];f=E(d*d);d=B[c+4>>2];a:{b:{if(B[h+c>>2]>E(B[b+60>>2]*E(M(E(j+E(f+E(d*d))))))){x[(g<<2)+a>>2]=0;B[a+h>>2]=e;c=x[b+80>>2];break b}d=B[(g<<2)+c>>2];h=c;c=x[b+80>>2];f=B[h+(c<<2)>>2];k=E(M(E(E(d*d)+E(f*f))));if(k>E(1.1920928955078125e-7)){j=d;d=E(B[b+64>>2]/k);B[(g<<2)+a>>2]=j*d;B[(i<<2)+a>>2]=-e;e=E(f*d);break a}x[(g<<2)+a>>2]=0;B[(i<<2)+a>>2]=-e}e=E(0)}B[(c<<2)+a>>2]=e}function lf(a){a=a|0;var b=0,c=0,d=0,e=0;x[a>>2]=11916;if(y[a+152|0]){b=x[a+96>>2];ia[x[x[b>>2]>>2]](b)|0;b=x[a+96>>2];if(b){x[8457]=x[8457]+1;ia[x[8259]](b)}}e=x[a+160>>2];if((e|0)>0){while(1){b=x[a+168>>2]+D(c,20)|0;d=x[b+12>>2];if(!(d?!d|!y[b+16|0]:1)){x[8457]=x[8457]+1;ia[x[8259]](d)}v[b+16|0]=1;x[b+12>>2]=0;x[b+4>>2]=0;x[b+8>>2]=0;c=c+1|0;if((e|0)!=(c|0)){continue}break}}b=x[a+168>>2];if(!(b?!b|!y[a+172|0]:1)){x[8457]=x[8457]+1;ia[x[8259]](b)}x[a+168>>2]=0;v[a+172|0]=1;x[a+160>>2]=0;x[a+164>>2]=0;Qc(a+44|0);Qc(a+4|0);return a|0}function Kh(a,b,c,d,e,f,g,h,i){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=E(0),k=E(0);a:{if(!x[h+52>>2]){break a}b=x[h+20>>2];if((b|0)<=0){break a}c=0;d=x[a+28>>2];if((d|0)<=0){break a}while(1){e=0;j=E(0);if((d|0)>0){while(1){f=x[a+16>>2];b=x[a+36>>2]+D(x[x[a+116>>2]+(e<<2)>>2],152)|0;k=E(ia[x[a+220>>2]](f+D(x[b+144>>2],244)|0,D(x[b+148>>2],244)+f|0,b));j=E(E(k*k)+j);e=e+1|0;if((e|0)!=(d|0)){continue}break}b=x[h+20>>2]}if((b-1|0)<=(c|0)|B[h+92>>2]>=j){break a}c=c+1|0;if((c|0)>=(b|0)){break a}d=x[a+28>>2];continue}}}function wo(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=E(d);e=e|0;f=f|0;var g=E(0),h=E(0),i=E(0),j=E(0),k=E(0),l=E(0);e=ga-16|0;ga=e;g=B[b>>2];h=B[c>>2];i=B[b+4>>2];j=B[c+4>>2];k=B[b+8>>2];l=B[c+8>>2];x[e+12>>2]=0;B[e+8>>2]=k+E(l*d);B[e+4>>2]=i+E(j*d);B[e>>2]=g+E(h*d);ia[x[x[a>>2]+16>>2]](a,b,e,f);d=B[b>>2];g=B[c>>2];h=B[b+4>>2];i=B[c+4>>2];j=B[b+8>>2];k=B[c+8>>2];x[e+12>>2]=0;B[e+8>>2]=j+E(k*E(.009999999776482582));B[e+4>>2]=h+E(i*E(.009999999776482582));B[e>>2]=d+E(g*E(.009999999776482582));ia[x[x[a>>2]+16>>2]](a,b,e,f);ga=e+16|0}function dq(a,b,c){a=a|0;b=b|0;c=c|0;var d=E(0),e=E(0),f=E(0),g=E(0),h=E(0),i=E(0),j=E(0),k=E(0);g=B[b+8>>2];d=B[b+4>>2];e=B[a+408>>2];B[a+472>>2]=E(B[b>>2]*e)+B[a+472>>2];h=d;d=B[a+412>>2];B[a+476>>2]=E(h*d)+B[a+476>>2];f=B[a+416>>2];B[a+480>>2]=E(g*f)+B[a+480>>2];k=B[b>>2];g=B[c>>2];i=B[c+4>>2];f=E(f*B[b+8>>2]);d=E(d*B[b+4>>2]);j=B[c+8>>2];B[a+488>>2]=E(E(E(i*f)-E(d*j))*B[a+604>>2])+B[a+488>>2];h=B[a+612>>2];e=E(e*k);B[a+492>>2]=E(E(E(j*e)-E(f*g))*B[a+608>>2])+B[a+492>>2];B[a+496>>2]=E(h*E(E(g*d)-E(e*i)))+B[a+496>>2]}function im(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=E(0),i=E(0),j=E(0),k=0,l=E(0),m=E(0),n=0;if((d|0)>0){n=a- -64|0;while(1){e=g<<4;f=e+c|0;e=b+e|0;h=B[e+8>>2];i=B[e>>2];j=B[e+4>>2];l=E(E(h*B[a+72>>2])+E(E(i*B[a+64>>2])+E(j*B[a+68>>2])));m=E(E(h*B[a+88>>2])+E(E(i*B[a+80>>2])+E(j*B[a+84>>2])));e=l>2])+E(E(i*B[a+96>>2])+E(j*B[a+100>>2])))>(e?m:l)?2:e)<<4)+n|0;k=x[e+4>>2];x[f>>2]=x[e>>2];x[f+4>>2]=k;k=x[e+12>>2];x[f+8>>2]=x[e+8>>2];x[f+12>>2]=k;g=g+1|0;if((g|0)!=(d|0)){continue}break}}}function Qb(a,b,c){var d=0;d=x[a+4>>2];a:{if(d){x[a+4>>2]=0;break a}x[8456]=x[8456]+1;d=ia[x[8258]](44,16)|0;x[d>>2]=0;x[d+4>>2]=0;x[d+40>>2]=0;x[d+32>>2]=0;x[d+36>>2]=0;x[d+24>>2]=0;x[d+28>>2]=0;x[d+16>>2]=0;x[d+20>>2]=0;x[d+8>>2]=0;x[d+12>>2]=0}x[d+36>>2]=c;x[d+32>>2]=0;x[d+40>>2]=0;c=x[b+4>>2];x[d>>2]=x[b>>2];x[d+4>>2]=c;c=x[b+12>>2];x[d+8>>2]=x[b+8>>2];x[d+12>>2]=c;c=x[b+20>>2];x[d+16>>2]=x[b+16>>2];x[d+20>>2]=c;c=x[b+28>>2];x[d+24>>2]=x[b+24>>2];x[d+28>>2]=c;Rb(a,x[a>>2],d);x[a+12>>2]=x[a+12>>2]+1;return d}function Ll(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=(b|0)!=8;if(!(d|(c|0)!=8)){return x[a+56>>2]}if(!((c|0)!=1|d)){return x[a+72>>2]}if(!((b|0)!=1|(c|0)!=8)){return x[a+76>>2]}if(!((c|0)!=28|(b|0)>19)){return x[a+84>>2]}if(!((b|0)!=28|(c|0)>19)){return x[a+80>>2]}a:{if((b|0)<=19){if((c|0)<=19){return x[a+28>>2]}if(c-21>>>0>8){break a}return x[a+32>>2]}if(!((c|0)>19|b-21>>>0>8)){return x[a+36>>2]}if((b|0)!=31){break a}if((c|0)==31){return x[a+44>>2]}return x[a+40>>2]}if((c|0)==31){return x[a+48>>2]}return x[a+52>>2]}function kj(a,b,c){a=a|0;b=b|0;c=c|0;var d=E(0),e=0,f=E(0),g=E(0),h=0,i=E(0),j=E(0);e=ga-16|0;ga=e;ia[x[x[b>>2]+68>>2]](e,b,c);h=x[e+12>>2];x[a+8>>2]=x[e+8>>2];x[a+12>>2]=h;h=x[e+4>>2];x[a>>2]=x[e>>2];x[a+4>>2]=h;f=B[c+4>>2];d=B[c>>2];g=B[c+8>>2];i=E(ia[x[x[b>>2]+48>>2]](b));b=E(E(g*g)+E(E(d*d)+E(f*f)))>2]=B[a>>2]+E(i*E(j*d));B[a+4>>2]=B[a+4>>2]+E(i*E(f*d));B[a+8>>2]=B[a+8>>2]+E(i*E(g*d));ga=e+16|0}function gm(a,b,c){a=a|0;b=b|0;c=c|0;var d=E(0),e=E(0),f=E(0),g=E(0),h=E(0),i=E(0),j=E(0),k=E(0),l=E(0),m=E(0);f=B[a+96>>2];h=B[a+80>>2];j=B[a+84>>2];k=B[a+104>>2];i=B[a+100>>2];d=B[a+68>>2];e=B[a+72>>2];l=B[a+88>>2];g=B[a+64>>2];x[c+12>>2]=0;h=E(h-g);i=E(i-d);g=E(f-g);f=E(j-d);d=E(E(h*i)-E(g*f));j=d;m=E(d*d);d=f;f=E(k-e);e=E(l-e);d=E(E(d*f)-E(i*e));e=E(E(e*g)-E(f*h));g=E(E(1)/E(M(E(m+E(E(d*d)+E(e*e))))));f=E(j*g);B[c+8>>2]=f;e=E(e*g);B[c+4>>2]=e;d=E(d*g);B[c>>2]=d;if(b){B[c+8>>2]=-f;B[c+4>>2]=-e;B[c>>2]=-d}}function re(a){v[a+60|0]=0;x[a+52>>2]=287;x[a+144>>2]=0;v[a+80|0]=1;x[a>>2]=18460;x[a+76>>2]=0;v[a+100|0]=1;x[a+68>>2]=0;x[a+72>>2]=0;x[a+96>>2]=0;v[a+120|0]=1;x[a+88>>2]=0;x[a+92>>2]=0;x[a+116>>2]=0;v[a+140|0]=1;x[a+108>>2]=0;x[a+112>>2]=0;x[a+136>>2]=0;v[a+164|0]=1;x[a+128>>2]=0;x[a+132>>2]=0;x[a+160>>2]=0;x[a+168>>2]=0;x[a+152>>2]=0;x[a+156>>2]=0;x[a+4>>2]=-8388609;x[a+8>>2]=-8388609;x[a+12>>2]=-8388609;x[a+16>>2]=0;x[a+20>>2]=2139095039;x[a+24>>2]=2139095039;x[a+28>>2]=2139095039;x[a+32>>2]=0;return a}function Cq(a,b){a=a|0;b=b|0;var c=E(0),d=E(0),e=E(0),f=E(0),g=E(0),h=E(0),i=E(0),j=E(0),k=E(0),l=E(0),m=E(0);d=B[b+12>>2];h=B[b+8>>2];c=B[b>>2];f=B[b+4>>2];x[a+44>>2]=0;x[a+28>>2]=0;x[a+12>>2]=0;e=E(E(2)/E(E(d*d)+E(E(h*h)+E(E(c*c)+E(f*f)))));i=E(h*e);g=E(f*i);k=E(c*e);l=E(d*k);B[a+36>>2]=g+l;m=E(c*i);e=E(f*e);j=E(d*e);B[a+32>>2]=m-j;B[a+24>>2]=g-l;g=E(c*e);d=E(d*i);B[a+16>>2]=g+d;B[a+8>>2]=m+j;B[a+4>>2]=g-d;c=E(c*k);d=E(f*e);B[a+40>>2]=E(1)-E(c+d);j=c;c=E(h*i);B[a+20>>2]=E(1)-E(j+c);B[a>>2]=E(1)-E(d+c)}function zn(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;x[8461]=x[8461]+1;d=x[b+12>>2]>x[c+12>>2];e=x[(d?b:c)+12>>2];d=x[(d?c:b)+12>>2];b=e<<16|d;b=(b<<15^-1)+b|0;b=D(b>>>10^b,9);b=b>>>6^b;b=(b<<11^-1)+b|0;b=x[a+12>>2]-1&(b>>>16^b);a:{b:{if((b|0)>=x[a+32>>2]){break b}c=x[x[a+40>>2]+(b<<2)>>2];if((c|0)==-1){break b}g=x[a+60>>2];a=x[a+16>>2];while(1){f=c<<4;b=a+f|0;if((d|0)==x[x[b>>2]+12>>2]&x[x[(a+f|0)+4>>2]+12>>2]==(e|0)){break a}c=x[(c<<2)+g>>2];if((c|0)!=-1){continue}break}}b=0}return b|0}function Pp(a){a=a|0;var b=0;x[a>>2]=30888;b=x[a+124>>2];if(!(b?!b|!y[a+128|0]:1)){x[8457]=x[8457]+1;ia[x[8259]](b)}x[a+124>>2]=0;v[a+128|0]=1;x[a+116>>2]=0;x[a+120>>2]=0;b=x[a+104>>2];if(!(b?!b|!y[a+108|0]:1)){x[8457]=x[8457]+1;ia[x[8259]](b)}x[a+104>>2]=0;v[a+108|0]=1;x[a+96>>2]=0;x[a+100>>2]=0;b=x[a+84>>2];if(!(b?!b|!y[a+88|0]:1)){x[8457]=x[8457]+1;ia[x[8259]](b)}x[a+84>>2]=0;v[a+88|0]=1;x[a+76>>2]=0;x[a+80>>2]=0;b=x[a+32>>2];if(!(b?!b|!y[a+36|0]:1)){x[8457]=x[8457]+1;ia[x[8259]](b)}va(a)}function Jp(a){a=a|0;var b=0;x[a>>2]=31016;b=x[a+124>>2];if(!(b?!b|!y[a+128|0]:1)){x[8457]=x[8457]+1;ia[x[8259]](b)}x[a+124>>2]=0;v[a+128|0]=1;x[a+116>>2]=0;x[a+120>>2]=0;b=x[a+104>>2];if(!(b?!b|!y[a+108|0]:1)){x[8457]=x[8457]+1;ia[x[8259]](b)}x[a+104>>2]=0;v[a+108|0]=1;x[a+96>>2]=0;x[a+100>>2]=0;b=x[a+84>>2];if(!(b?!b|!y[a+88|0]:1)){x[8457]=x[8457]+1;ia[x[8259]](b)}x[a+84>>2]=0;v[a+88|0]=1;x[a+76>>2]=0;x[a+80>>2]=0;b=x[a+32>>2];if(!(b?!b|!y[a+36|0]:1)){x[8457]=x[8457]+1;ia[x[8259]](b)}va(a)}function rd(a,b,c,d){var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;while(1){k=c;l=x[x[a+12>>2]+((c+d|0)/2<<3)>>2];e=d;while(1){g=x[a+12>>2];h=c;while(1){c=h;h=c+1|0;f=(c<<3)+g|0;if(x[f>>2]<(l|0)){continue}break}i=e;while(1){e=i;i=e-1|0;m=e<<3;j=m+g|0;if(x[j>>2]>(l|0)){continue}break}if((c|0)<=(e|0)){c=x[f>>2];e=x[f+4>>2];g=x[j+4>>2];x[f>>2]=x[j>>2];x[f+4>>2]=g;f=x[a+12>>2]+m|0;x[f>>2]=c;x[f+4>>2]=e;e=i;c=h}if((c|0)<=(e|0)){continue}break}if((e|0)>(k|0)){rd(a,b,k,e)}if((c|0)<(d|0)){continue}break}}function Fe(a){a=a|0;var b=0,c=0,d=0,e=0,f=0;x[a>>2]=16340;b=x[a+84>>2];e=x[b+8>>2];if((e|0)>0){while(1){c=x[(x[b+16>>2]+D(d,12)|0)+8>>2];if(c){ia[x[x[c>>2]>>2]](c)|0;f=x[a+4>>2];ia[x[x[f>>2]+60>>2]](f,c)}d=d+1|0;if((e|0)!=(d|0)){continue}break}b=x[a+84>>2]}Ae(b);b=x[a+84>>2];ia[x[x[b>>2]>>2]](b)|0;b=x[a+84>>2];if(b){x[8457]=x[8457]+1;ia[x[8259]](b)}b=x[a+100>>2];if(!(b?!b|!y[a+104|0]:1)){x[8457]=x[8457]+1;ia[x[8259]](b)}x[a+100>>2]=0;v[a+104|0]=1;x[a+92>>2]=0;x[a+96>>2]=0;return Dc(a)|0} +function Hd(a,b,c,d){var e=0,f=0;e=x[b+4>>2];x[a+292>>2]=x[b>>2];x[a+296>>2]=e;e=x[b+12>>2];x[a+300>>2]=x[b+8>>2];x[a+304>>2]=e;v[a+356|0]=1;f=x[b+4>>2];e=a+(x[a>>2]<<4)|0;x[e+4>>2]=x[b>>2];x[e+8>>2]=f;f=x[b+12>>2];x[e+12>>2]=x[b+8>>2];x[e+16>>2]=f;e=x[c+12>>2];b=(x[a>>2]<<4)+a|0;x[b+92>>2]=x[c+8>>2];x[b+96>>2]=e;e=x[c+4>>2];x[b+84>>2]=x[c>>2];x[b+88>>2]=e;c=x[d+12>>2];b=(x[a>>2]<<4)+a|0;x[b+172>>2]=x[d+8>>2];x[b+176>>2]=c;c=x[d+4>>2];x[b+164>>2]=x[d>>2];x[b+168>>2]=c;x[a>>2]=x[a>>2]+1}function um(a,b,c,d){a=a|0;b=b|0;c=c|0;d=E(d);var e=0,f=E(0),g=0,h=E(0),i=E(0),j=E(0),k=E(0),l=E(0),m=E(0);e=ga-16|0;ga=e;B[a+32>>2]=d;g=x[b+4>>2];x[a+8>>2]=x[b>>2];x[a+12>>2]=g;g=x[b+12>>2];x[a+16>>2]=x[b+8>>2];x[a+20>>2]=g;h=B[b+8>>2];i=B[c>>2];j=B[b>>2];k=B[c+4>>2];l=B[b+4>>2];m=B[c+8>>2];f=B[a+28>>2];x[e+12>>2]=0;B[e+8>>2]=m-E(f*h);B[e+4>>2]=k-E(f*l);B[e>>2]=i-E(j*f);d=E(E(f+B[a+24>>2])+d);B[a+32>>2]=d;if(d>2];ia[x[x[a>>2]+16>>2]](a,b,e,d);ga=e+16|0}function ii(a,b,c){a=a|0;b=b|0;c=c|0;var d=E(0);a:{b:{if(c>>>0<=2){c:{switch(b-1|0){case 1:a=((c<<2)+a|0)+728|0;break b;case 3:a=((c<<2)+a|0)+744|0;break b;case 0:a=((c<<2)+a|0)+760|0;break b;case 2:break c;default:break a}}a=((c<<2)+a|0)+776|0;break b}c=c-3|0;if(c>>>0>2){break a}d:{switch(b-1|0){case 1:a=(D(c,88)+a|0)+980|0;break b;case 3:a=(D(c,88)+a|0)+984|0;break b;case 0:a=(D(c,88)+a|0)+988|0;break b;case 2:break d;default:break a}}a=(D(c,88)+a|0)+992|0}d=B[a>>2]}return E(d)}function ac(a,b,c){var d=E(0),e=0,f=E(0),g=E(0);e=x[a+204>>2];a:{if(b==E(0)){x[a+204>>2]=e|1;break a}x[a+204>>2]=e&-2;d=E(E(1)/b)}B[a+404>>2]=d;x[a+436>>2]=0;B[a+424>>2]=B[a+440>>2]*b;B[a+432>>2]=B[a+448>>2]*b;B[a+428>>2]=B[a+444>>2]*b;b=B[c+8>>2];f=B[c+4>>2];g=B[c>>2];B[a+620>>2]=B[a+408>>2]*d;B[a+624>>2]=d*B[a+412>>2];B[a+628>>2]=d*B[a+416>>2];x[a+632>>2]=0;x[a+468>>2]=0;B[a+456>>2]=g!=E(0)?E(E(1)/g):E(0);B[a+460>>2]=f!=E(0)?E(E(1)/f):E(0);B[a+464>>2]=b!=E(0)?E(E(1)/b):E(0)}function nj(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=E(0),g=E(0),h=E(0),i=E(0),j=E(0),k=E(0);e=ga-48|0;ga=e;i=B[a+12>>2];j=B[a+16>>2];f=B[b+4>>2];g=B[b+8>>2];k=B[a+8>>2];h=B[b>>2];x[e+12>>2]=0;B[e>>2]=h*k;B[e+8>>2]=g*j;B[e+4>>2]=f*i;f=B[b+20>>2];g=B[b+24>>2];h=B[b+16>>2];x[e+28>>2]=0;B[e+24>>2]=j*g;B[e+20>>2]=i*f;B[e+16>>2]=k*h;f=B[b+36>>2];g=B[b+40>>2];h=B[b+32>>2];x[e+44>>2]=0;B[e+40>>2]=j*g;B[e+36>>2]=i*f;B[e+32>>2]=k*h;a=x[a+4>>2];ia[x[x[a>>2]+8>>2]](a,e,c,d);ga=e+48|0}function gs(a,b){a=a|0;b=E(b);var c=0,d=E(0),e=E(0),f=E(0),g=E(0);x[8456]=x[8456]+1;c=ia[x[8258]](92,16)|0;x[c+12>>2]=0;x[c+16>>2]=0;x[c+4>>2]=35;x[c+8>>2]=0;x[c+20>>2]=0;x[c>>2]=20152;x[c>>2]=21524;d=B[a+8>>2];e=B[a>>2];f=B[a+4>>2];g=B[a+12>>2];x[c+84>>2]=1065353216;x[c+88>>2]=0;x[c+76>>2]=1065353216;x[c+80>>2]=1065353216;B[c+72>>2]=b;B[c+68>>2]=g;x[c+4>>2]=28;b=E(E(1)/E(M(E(E(d*d)+E(E(e*e)+E(f*f))))));B[c- -64>>2]=d*b;B[c+60>>2]=f*b;B[c+56>>2]=e*b;return c|0}function Se(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=E(d);e=e|0;f=f|0;var g=0;g=ga+-64|0;ga=g;x[g+56>>2]=f;x[g+52>>2]=e;x[g+60>>2]=x[a+220>>2];e=x[a+212>>2];if(B[e+4>>2]>=d){x[g+8>>2]=x[a+216>>2];x[g+12>>2]=g+52;a=x[b+12>>2];x[g+24>>2]=x[b+8>>2];x[g+28>>2]=a;a=x[b+4>>2];x[g+16>>2]=x[b>>2];x[g+20>>2]=a;a=x[c+12>>2];x[g+40>>2]=x[c+8>>2];x[g+44>>2]=a;a=x[c+4>>2];x[g+32>>2]=x[c>>2];x[g+36>>2]=a;B[g+48>>2]=d;d=E(ia[x[x[e>>2]+12>>2]](e,g+8|0,1))}ga=g- -64|0;return E(d)}function Lc(a){a=a|0;var b=0,c=0,d=0,e=0;x[a>>2]=13068;b=x[a+8>>2];if((b|0)>0){while(1){e=x[x[a+16>>2]+(c<<2)>>2];d=x[e+188>>2];if(d){b=x[a+68>>2];b=ia[x[x[b>>2]+36>>2]](b)|0;ia[x[x[b>>2]+40>>2]](b,d,x[a+24>>2]);b=x[a+68>>2];ia[x[x[b>>2]+12>>2]](b,d,x[a+24>>2]);x[e+188>>2]=0;b=x[a+8>>2]}c=c+1|0;if((c|0)<(b|0)){continue}break}}b=x[a+16>>2];if(!(b?!b|!y[a+20|0]:1)){x[8457]=x[8457]+1;ia[x[8259]](b)}x[a+16>>2]=0;v[a+20|0]=1;x[a+8>>2]=0;x[a+12>>2]=0;return a|0}function $n(a,b){a=a|0;b=b|0;var c=0,d=0;c=x[b+4>>2];x[a+8>>2]=x[b>>2];x[a+12>>2]=c;c=x[b+12>>2];x[a+16>>2]=x[b+8>>2];x[a+20>>2]=c;c=x[b+28>>2];x[a+32>>2]=x[b+24>>2];x[a+36>>2]=c;c=x[b+20>>2];x[a+24>>2]=x[b+16>>2];x[a+28>>2]=c;c=x[b+44>>2];x[a+48>>2]=x[b+40>>2];x[a+52>>2]=c;c=x[b+36>>2];x[a+40>>2]=x[b+32>>2];x[a+44>>2]=c;d=x[b+60>>2];c=a- -64|0;x[c>>2]=x[b+56>>2];x[c+4>>2]=d;c=x[b+52>>2];x[a+56>>2]=x[b+48>>2];x[a+60>>2]=c;ia[x[x[a>>2]+16>>2]](a,x[a+4>>2])}function Zf(a,b,c,d){a=a|0;b=E(b);c=E(c);d=d|0;var e=E(0),f=E(0);x[a+20>>2]=1065353216;x[a+24>>2]=1065353216;x[a+60>>2]=d;x[a+28>>2]=1065353216;x[a+32>>2]=0;f=b;e=c;a:{b:{switch(d|0){case 0:f=c;e=b;break a;case 1:break a;default:break b}}e=b;b=c}B[a+36>>2]=f;x[a+48>>2]=0;B[a+44>>2]=b;B[a+40>>2]=e;b=E(ia[x[x[a>>2]+48>>2]](a));c=E(ia[x[x[a>>2]+48>>2]](a));e=E(ia[x[x[a>>2]+48>>2]](a));B[a+36>>2]=B[a+36>>2]-b;B[a+40>>2]=B[a+40>>2]-c;B[a+44>>2]=B[a+44>>2]-e}function Jh(a,b,c,d,e,f,g,h,i){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=E(0),n=0;l=ga-16|0;ga=l;ia[x[8262]](4109);ia[x[x[a>>2]+32>>2]](a,b,c,d,e,f,g,h,i);j=x[a+184>>2];k=x[h+20>>2];k=(j|0)>(k|0)?j:k;a:{if((k|0)<=0){break a}n=k-1|0;j=0;while(1){m=E(ia[x[x[a>>2]+40>>2]](a,j,b,c,d,e,f,g,h,i));B[a+228>>2]=m;if((j|0)>=(n|0)|B[h+92>>2]>=m){break a}j=j+1|0;if((k|0)!=(j|0)){continue}break}}ia[x[8263]]();ga=l+16|0;return E(E(0))}function uh(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;h=x[b+8>>2];if((h|0)>0){d=x[a+16>>2];j=x[b+16>>2];a=0;while(1){c=x[(e<<2)+j>>2];a:{if(!(y[c+204|0]&3)){b=a;i=b<<3;f=i+d|0;g=x[f>>2];if((b|0)!=(g|0)){while(1){b=(g<<3)+d|0;x[f>>2]=x[b>>2];b=x[b>>2];f=(b<<3)+d|0;g=x[f>>2];if((b|0)!=(g|0)){continue}break}}x[c+208>>2]=b;x[(d+i|0)+4>>2]=e;x[c+212>>2]=-1;a=a+1|0;break a}x[c+208>>2]=-1;x[c+212>>2]=-2}e=e+1|0;if((h|0)!=(e|0)){continue}break}}}function Cg(a,b){a=a|0;b=b|0;var c=E(0),d=E(0),e=0,f=E(0),g=E(0),h=E(0),i=E(0);c=E(ia[x[x[a>>2]+48>>2]](a));d=E(ia[x[x[a>>2]+48>>2]](a));f=E(ia[x[x[a>>2]+48>>2]](a));g=B[b>>2];h=B[b+4>>2];i=B[b+8>>2];x[a+48>>2]=0;B[a+44>>2]=E(i*B[a+28>>2])-f;B[a+40>>2]=E(h*B[a+24>>2])-d;B[a+36>>2]=E(g*B[a+20>>2])-c;c=B[b>>2];d=B[b+4>>2];e=c>2]>(e?c:d)?!e:2)<<2)+b>>2]*E(.10000000149011612));if(E(ia[x[x[a>>2]+48>>2]](a))>c){ia[x[x[a>>2]+44>>2]](a,c)}}function mn(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0;x[8462]=x[8462]-1;ia[x[x[a>>2]+20>>2]](a,b);c=x[b+864>>2];e=c<<2;f=x[a+20>>2];d=e+f|0;h=x[d>>2];i=d;d=x[a+12>>2]-1|0;g=d<<2;x[i>>2]=x[f+g>>2];x[x[a+20>>2]+g>>2]=h;x[x[x[a+20>>2]+e>>2]+864>>2]=c;x[a+12>>2]=d;a=x[a+72>>2];c=x[a+16>>2];if(!(c>>>0>b>>>0|c+D(x[a>>2],x[a+4>>2])>>>0<=b>>>0)){x[b>>2]=x[a+12>>2];x[a+12>>2]=b;x[a+8>>2]=x[a+8>>2]+1;return}if(b){x[8457]=x[8457]+1;ia[x[8259]](b)}}function Vk(a,b){a=a|0;b=b|0;var c=E(0),d=0,e=E(0),f=E(0);d=ia[x[x[a>>2]+28>>2]](a)|0;c=E(B[d+8>>2]-B[b+8>>2]);e=E(c*c);c=E(B[d>>2]-B[b>>2]);f=E(c*c);c=E(B[d+4>>2]-B[b+4>>2]);if(E(e+E(f+E(c*c)))>E(1.1920928955078125e-7)){lc(a,b);if(y[a+69|0]){b=x[a+60>>2];ia[x[x[b>>2]>>2]](b)|0;b=x[a+60>>2];if(b){x[8457]=x[8457]+1;ia[x[8259]](b)}}x[8456]=x[8456]+1;b=ae(ia[x[8258]](172,16)|0);x[a+60>>2]=b;$d(b,x[a+56>>2],y[a+68|0],a+24|0,a+40|0);v[a+69|0]=1}}function tq(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;x[a+4>>2]=b;b=x[c+12>>2];x[a+16>>2]=x[c+8>>2];x[a+20>>2]=b;b=x[c+4>>2];x[a+8>>2]=x[c>>2];x[a+12>>2]=b;b=x[c+28>>2];x[a+32>>2]=x[c+24>>2];x[a+36>>2]=b;b=x[c+20>>2];x[a+24>>2]=x[c+16>>2];x[a+28>>2]=b;b=x[c+36>>2];x[a+40>>2]=x[c+32>>2];x[a+44>>2]=b;b=x[c+44>>2];x[a+48>>2]=x[c+40>>2];x[a+52>>2]=b;d=x[c+60>>2];b=a- -64|0;x[b>>2]=x[c+56>>2];x[b+4>>2]=d;b=x[c+52>>2];x[a+56>>2]=x[c+48>>2];x[a+60>>2]=b}function cr(a,b,c,d){a=a|0;b=b|0;c=E(c);d=E(d);if((b|0)<=2){a=(b<<2)+a|0;B[a+696>>2]=d;B[a+680>>2]=c;return}c=Fa(c);a:{if(cE(3.1415927410125732))){break a}c=E(c+E(-6.2831854820251465))}d=Fa(d);b:{if(dE(3.1415927410125732))){break b}d=E(d+E(-6.2831854820251465))}a=D(b,88)+a|0;B[a+708>>2]=d;B[a+704>>2]=c}function ge(a,b,c){a=a|0;b=b|0;c=c|0;var d=E(0),e=E(0),f=E(0),g=E(0),h=E(0);ia[x[x[b>>2]+68>>2]](a,b,c);if(E(ia[x[x[b>>2]+48>>2]](b))!=E(0)){e=B[c+4>>2];d=B[c>>2];f=B[c+8>>2];g=E(ia[x[x[b>>2]+48>>2]](b));b=E(E(f*f)+E(E(d*d)+E(e*e)))>2]=B[a>>2]+E(g*E(h*d));B[a+4>>2]=B[a+4>>2]+E(g*E(e*d));B[a+8>>2]=B[a+8>>2]+E(g*E(f*d))}}function ao(a,b){a=a|0;b=b|0;var c=0,d=0;c=x[a+12>>2];x[b>>2]=x[a+8>>2];x[b+4>>2]=c;c=x[a+20>>2];x[b+8>>2]=x[a+16>>2];x[b+12>>2]=c;c=x[a+36>>2];x[b+24>>2]=x[a+32>>2];x[b+28>>2]=c;c=x[a+28>>2];x[b+16>>2]=x[a+24>>2];x[b+20>>2]=c;c=x[a+44>>2];x[b+32>>2]=x[a+40>>2];x[b+36>>2]=c;c=x[a+52>>2];x[b+40>>2]=x[a+48>>2];x[b+44>>2]=c;c=a- -64|0;d=x[c+4>>2];x[b+56>>2]=x[c>>2];x[b+60>>2]=d;c=x[a+60>>2];x[b+48>>2]=x[a+56>>2];x[b+52>>2]=c}function Pg(a){a=a|0;var b=0;x[a>>2]=24384;b=x[a+80>>2];if(!(b?!b|!y[a+84|0]:1)){x[8457]=x[8457]+1;ia[x[8259]](b)}x[a+80>>2]=0;v[a+84|0]=1;x[a+72>>2]=0;x[a+76>>2]=0;b=x[a+60>>2];if(!(b?!b|!y[a- -64|0]:1)){x[8457]=x[8457]+1;ia[x[8259]](b)}x[a+60>>2]=0;v[a+64|0]=1;x[a+52>>2]=0;x[a+56>>2]=0;b=x[a+40>>2];if(!(b?!b|!y[a+44|0]:1)){x[8457]=x[8457]+1;ia[x[8259]](b)}x[a+40>>2]=0;v[a+44|0]=1;x[a+32>>2]=0;x[a+36>>2]=0;return a|0}function df(a){a=a|0;var b=0;x[a>>2]=12284;b=x[a+60>>2];if(!(b?!b|!y[a- -64|0]:1)){x[8457]=x[8457]+1;ia[x[8259]](b)}x[a+60>>2]=0;v[a+64|0]=1;x[a+52>>2]=0;x[a+56>>2]=0;b=x[a+40>>2];if(!(b?!b|!y[a+44|0]:1)){x[8457]=x[8457]+1;ia[x[8259]](b)}x[a+40>>2]=0;v[a+44|0]=1;x[a+32>>2]=0;x[a+36>>2]=0;b=x[a+16>>2];if(!(b?!b|!y[a+20|0]:1)){x[8457]=x[8457]+1;ia[x[8259]](b)}x[a+16>>2]=0;v[a+20|0]=1;x[a+8>>2]=0;x[a+12>>2]=0;return a|0}function zl(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0;e=x[b>>2];e=ia[x[x[e>>2]+56>>2]](e,28)|0;f=y[a+4|0];g=x[a+8>>2];a=x[a+12>>2];x[e>>2]=14940;x[e+4>>2]=x[b>>2];x[e+24>>2]=a;x[e+20>>2]=g;v[e+16|0]=f;x[e+12>>2]=0;v[e+8|0]=0;x[e>>2]=16676;a=x[e+4>>2];b=f?d:c;c=f?c:d;if(ia[x[x[a>>2]+24>>2]](a,x[b+8>>2],x[c+8>>2])|0){a=x[e+4>>2];a=ia[x[x[a>>2]+12>>2]](a,x[b+8>>2],x[c+8>>2])|0;v[e+8|0]=1;x[e+12>>2]=a}return e|0}function qd(a){a=a|0;var b=0;x[a>>2]=24060;b=x[a+56>>2];if(!(b?!b|!y[a+60|0]:1)){x[8457]=x[8457]+1;ia[x[8259]](b)}x[a+56>>2]=0;v[a+60|0]=1;x[a+48>>2]=0;x[a+52>>2]=0;b=x[a+36>>2];if(!(b?!b|!y[a+40|0]:1)){x[8457]=x[8457]+1;ia[x[8259]](b)}x[a+36>>2]=0;v[a+40|0]=1;x[a+28>>2]=0;x[a+32>>2]=0;b=x[a+16>>2];if(!(b?!b|!y[a+20|0]:1)){x[8457]=x[8457]+1;ia[x[8259]](b)}x[a+16>>2]=0;v[a+20|0]=1;x[a+8>>2]=0;x[a+12>>2]=0;return a|0}function Be(a){a=a|0;var b=0;x[a>>2]=17788;b=x[a+56>>2];if(!(b?!b|!y[a+60|0]:1)){x[8457]=x[8457]+1;ia[x[8259]](b)}x[a+56>>2]=0;v[a+60|0]=1;x[a+48>>2]=0;x[a+52>>2]=0;b=x[a+36>>2];if(!(b?!b|!y[a+40|0]:1)){x[8457]=x[8457]+1;ia[x[8259]](b)}x[a+36>>2]=0;v[a+40|0]=1;x[a+28>>2]=0;x[a+32>>2]=0;b=x[a+16>>2];if(!(b?!b|!y[a+20|0]:1)){x[8457]=x[8457]+1;ia[x[8259]](b)}x[a+16>>2]=0;v[a+20|0]=1;x[a+8>>2]=0;x[a+12>>2]=0;return a|0}function vp(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0;d=ga-32|0;ga=d;e=x[b>>2];if(e>>>0<2147483632){a:{if(e>>>0<=10){v[d+27|0]=e;f=d+16|0;break a}g=(e|15)+1|0;f=Aa(g);x[d+24>>2]=g|-2147483648;x[d+16>>2]=f;x[d+20>>2]=e}h=ya(f,b+4|0,e)+e|0,i=0,v[h|0]=i;x[d+12>>2]=c;ia[a|0](d+28|0,d+16|0,d+12|0);$(x[d+28>>2]);a=x[d+28>>2];R(a|0);R(x[d+12>>2]);if(v[d+27|0]<0){va(x[d+16>>2])}ga=d+32|0;return a|0}W();r()}function Jg(a){a=a|0;var b=0,c=0;if(x[a+248>>2]>0){while(1){a:{b:{b=x[x[a+256>>2]+(c<<2)>>2];switch(x[b+220>>2]-2|0){case 0:case 3:break a;default:break b}}if(y[b+204|0]&2){break a}c:{if(B[b+504>>2]==E(1)){x[b+472>>2]=0;x[b+476>>2]=0;x[b+480>>2]=0;x[b+484>>2]=0;break c}vd(b)}if(B[b+508>>2]!=E(1)){break a}x[b+488>>2]=0;x[b+492>>2]=0;x[b+496>>2]=0;x[b+500>>2]=0}c=c+1|0;if((c|0)>2]){continue}break}}}function jm(a,b,c){a=a|0;b=b|0;c=c|0;var d=E(0),e=E(0),f=E(0),g=E(0),h=E(0);d=B[c+8>>2];e=B[c>>2];f=B[c+4>>2];g=E(E(d*B[b+72>>2])+E(E(e*B[b+64>>2])+E(f*B[b+68>>2])));h=E(E(d*B[b+88>>2])+E(E(e*B[b+80>>2])+E(f*B[b+84>>2])));c=g>2])+E(E(e*B[b+96>>2])+E(f*B[b+100>>2])))>(c?h:g)?2:c)<<4)|0;c=x[b+4>>2];x[a>>2]=x[b>>2];x[a+4>>2]=c;c=x[b+12>>2];x[a+8>>2]=x[b+8>>2];x[a+12>>2]=c}function Sk(a,b,c,d,e,f,g,h,i){a=E(a);b=E(b);c=E(c);d=d|0;e=e|0;f=f|0;g=E(g);h=E(h);i=E(i);var j=0,k=0;j=Aa(64);B[j+8>>2]=c;B[j+4>>2]=b;B[j>>2]=a;x[j+44>>2]=0;k=x[d+4>>2];x[j+12>>2]=x[d>>2];x[j+16>>2]=k;k=x[d+12>>2];x[j+20>>2]=x[d+8>>2];x[j+24>>2]=k;d=x[e+4>>2];x[j+28>>2]=x[e>>2];x[j+32>>2]=d;d=x[e+12>>2];x[j+36>>2]=x[e+8>>2];x[j+40>>2]=d;B[j+60>>2]=i;B[j+56>>2]=h;B[j+52>>2]=g;x[j+48>>2]=f;return j|0}function Pc(a,b,c){var d=0,e=0,f=0,g=0;e=Sb(a,b);a:{if(!e){e=0;break a}f=x[a+8>>2];if((f|0)>=0){if(!f){break a}while(1){d=x[e+32>>2];if(!d){break a}e=d;g=g+1|0;if((f|0)!=(g|0)){continue}break}break a}e=x[a>>2]}d=x[c+4>>2];x[b>>2]=x[c>>2];x[b+4>>2]=d;d=x[c+28>>2];x[b+24>>2]=x[c+24>>2];x[b+28>>2]=d;d=x[c+20>>2];x[b+16>>2]=x[c+16>>2];x[b+20>>2]=d;d=x[c+12>>2];x[b+8>>2]=x[c+8>>2];x[b+12>>2]=d;Rb(a,e,b)}function jr(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;x[8456]=x[8456]+1;a=bc(ia[x[8258]](360,16)|0,3,a,b);x[a>>2]=23640;b=x[c+4>>2];x[a+300>>2]=x[c>>2];x[a+304>>2]=b;b=x[c+12>>2];x[a+308>>2]=x[c+8>>2];x[a+312>>2]=b;b=x[d+4>>2];x[a+316>>2]=x[d>>2];x[a+320>>2]=b;b=x[d+12>>2];x[a+324>>2]=x[d+8>>2];x[a+328>>2]=b;x[a+356>>2]=0;x[a+348>>2]=1050253722;x[a+352>>2]=1065353216;v[a+344|0]=0;x[a+332>>2]=0;return a|0} +function ve(a,b){a=a|0;b=b|0;var c=E(0),d=E(0),e=E(0),f=E(0),g=E(0),h=E(0),i=E(0),j=E(0),k=E(0);c=E(ia[x[x[a>>2]+48>>2]](a));d=E(ia[x[x[a>>2]+48>>2]](a));e=E(ia[x[x[a>>2]+48>>2]](a));f=B[a+24>>2];g=B[a+40>>2];h=B[a+28>>2];i=B[a+44>>2];j=B[a+20>>2];k=B[a+36>>2];ib(a,b);x[a+48>>2]=0;B[a+44>>2]=E(E(E(e+i)/h)*B[a+28>>2])-e;B[a+40>>2]=E(E(E(d+g)/f)*B[a+24>>2])-d;B[a+36>>2]=E(E(E(c+k)/j)*B[a+20>>2])-c}function Xr(a,b,c,d){a=a|0;b=E(b);c=E(c);d=E(d);var e=0,f=0,g=0;f=ga-16|0;ga=f;x[8456]=x[8456]+1;e=ia[x[8258]](44,16)|0;x[f+12>>2]=0;B[f+8>>2]=d;B[f+4>>2]=c;B[f>>2]=b;x[e+12>>2]=0;x[e+16>>2]=0;x[e+4>>2]=35;x[e+8>>2]=0;x[e+20>>2]=0;x[e>>2]=20152;x[e>>2]=21216;g=x[f+4>>2];x[e+24>>2]=x[f>>2];x[e+28>>2]=g;g=x[f+12>>2];x[e+32>>2]=x[f+8>>2];x[e+36>>2]=g;x[e+40>>2]=a;x[e+4>>2]=22;ga=f+16|0;return e|0}function xm(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0;c=x[b>>2];c=ia[x[x[c>>2]+56>>2]](c,72)|0;e=x[b+4>>2];d=x[a+8>>2];f=x[a+12>>2];a=x[a+16>>2];x[c>>2]=14940;x[c+4>>2]=x[b>>2];x[c>>2]=14968;x[c+8>>2]=d;x[c>>2]=15092;x[c+68>>2]=a;x[c+64>>2]=f;v[c+60|0]=0;x[c+56>>2]=e;v[c+52|0]=0;v[c+28|0]=1;x[c+24>>2]=0;v[c+48|0]=1;x[c+16>>2]=0;x[c+20>>2]=0;x[c+44>>2]=0;x[c+36>>2]=0;x[c+40>>2]=0;return c|0}function Wj(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=E(0),g=E(0),h=E(0),i=0,j=E(0),k=0,l=E(0);if((d|0)>0){while(1){f=B[a+40>>2];g=B[a+36>>2];k=i<<4;e=k+b|0;j=B[e>>2];h=B[e+8>>2];l=E(M(E(E(j*j)+E(h*h))));a:{if(l!=E(0)){g=E(g/l);h=E(h*g);g=E(j*g);f=B[e+4>>2]>2]>2]=h;B[e+4>>2]=f;B[e>>2]=g;i=i+1|0;if((i|0)!=(d|0)){continue}break}}}function Re(a){a=a|0;var b=0,c=0;x[a>>2]=15092;a:{if(!y[a+52|0]){break a}b=x[a+56>>2];if(!b){break a}c=x[a+4>>2];ia[x[x[c>>2]+16>>2]](c,b)}b=x[a+44>>2];if(!(b?!b|!y[a+48|0]:1)){x[8457]=x[8457]+1;ia[x[8259]](b)}x[a+44>>2]=0;v[a+48|0]=1;x[a+36>>2]=0;x[a+40>>2]=0;b=x[a+24>>2];if(!(b?!b|!y[a+28|0]:1)){x[8457]=x[8457]+1;ia[x[8259]](b)}x[a+24>>2]=0;v[a+28|0]=1;x[a+16>>2]=0;x[a+20>>2]=0;return a|0}function Pf(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;a:{b:{switch(b|0){default:d=x[a+76>>2];c=x[a+72>>2];b=x[a+80>>2];break a;case 0:x[a+72>>2]=1;x[a+76>>2]=0;x[a+80>>2]=2;c=1;b=2;break a;case 1:x[a+72>>2]=0;x[a+76>>2]=1;x[a+80>>2]=2;d=1;b=2;break a;case 2:break b}}x[a+72>>2]=0;x[a+76>>2]=2;x[a+80>>2]=1;d=2;b=1}e=c<<2;c=a+36|0;B[e+c>>2]=B[a+64>>2];B[c+(d<<2)>>2]=B[a+68>>2];B[c+(b<<2)>>2]=B[a+64>>2]}function dl(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=E(0),g=E(0),h=E(0);e=ga-48|0;ga=e;ia[x[x[a>>2]+124>>2]](a,e+32|0,d);f=B[e+32>>2];g=B[e+36>>2];h=B[e+40>>2];x[b+12>>2]=0;B[b+8>>2]=h;B[b+4>>2]=g;B[b>>2]=f;x[e+12>>2]=0;B[e+8>>2]=-h;B[e+4>>2]=-g;B[e>>2]=-f;ia[x[x[a>>2]+64>>2]](e+16|0,a,e);a=x[e+28>>2];x[c+8>>2]=x[e+24>>2];x[c+12>>2]=a;a=x[e+20>>2];x[c>>2]=x[e+16>>2];x[c+4>>2]=a;ga=e+48|0}function xd(a,b){var c=E(0);x[a+20>>2]=0;x[a+24>>2]=0;v[a+28|0]=0;c=B[a+4>>2];a:{if(!(c>=E(0))){break a}b=Fa(E(b-B[a>>2]));b:{if(bE(3.1415927410125732))){break b}b=E(b+E(-6.2831854820251465))}c:{if(E(-c)>b){v[a+28|0]=1;b=E(-E(c+b));c=E(1);break c}if(!(b>c)){break a}v[a+28|0]=1;b=E(c-b);c=E(-1)}B[a+24>>2]=c;B[a+20>>2]=b}}function Ik(a,b,c){a=a|0;b=E(b);c=c|0;var d=E(0),e=E(0),f=E(0),g=0,h=0,i=0;h=a+36|0;g=x[a+60>>2];d=B[h+((g+2|0)%3<<2)>>2];a=ga-16|0;x[a+12>>2]=0;B[a+8>>2]=d;B[a+4>>2]=d;B[a>>2]=d;g=g<<2;i=g+a|0;B[i>>2]=B[g+h>>2]+B[i>>2];d=B[a+8>>2];b=E(b*E(.0833333283662796));e=B[a>>2];e=E(e+e);e=E(e*e);f=B[a+4>>2];f=E(f+f);f=E(f*f);B[c+8>>2]=b*E(e+f);d=E(d+d);d=E(d*d);B[c+4>>2]=b*E(e+d);B[c>>2]=b*E(f+d)}function ue(a,b){a=a|0;b=E(b);var c=E(0),d=E(0),e=E(0),f=E(0),g=E(0),h=E(0),i=E(0),j=E(0);c=E(ia[x[x[a>>2]+48>>2]](a));d=E(ia[x[x[a>>2]+48>>2]](a));e=E(ia[x[x[a>>2]+48>>2]](a));B[a+52>>2]=b;b=B[a+44>>2];f=B[a+40>>2];g=B[a+36>>2];h=E(ia[x[x[a>>2]+48>>2]](a));i=E(ia[x[x[a>>2]+48>>2]](a));j=E(ia[x[x[a>>2]+48>>2]](a));x[a+48>>2]=0;B[a+40>>2]=E(d+f)-i;B[a+36>>2]=E(c+g)-h;B[a+44>>2]=E(e+b)-j}function zo(a,b,c,d){a=a|0;b=b|0;c=E(c);d=d|0;var e=0,f=0;e=ga+-64|0;ga=e;x[e+12>>2]=0;x[e+16>>2]=0;x[e+24>>2]=0;x[e+28>>2]=0;x[e+20>>2]=1065353216;x[e+32>>2]=0;x[e+36>>2]=0;x[e+40>>2]=1065353216;x[e+44>>2]=0;x[e+4>>2]=0;x[e+8>>2]=0;x[e>>2]=1065353216;f=x[b+12>>2];x[e+56>>2]=x[b+8>>2];x[e+60>>2]=f;f=x[b+4>>2];x[e+48>>2]=x[b>>2];x[e+52>>2]=f;ia[x[x[a>>2]+24>>2]](a,c,e,d);ga=e- -64|0}function al(a,b,c){a=a|0;b=b|0;c=c|0;var d=E(0),e=E(0),f=E(0),g=E(0),h=E(0),i=E(0);g=B[a+44>>2];h=B[a+40>>2];d=B[a+36>>2];e=E(1);a:{b:{c:{d:{e:{switch(c|0){case 1:e=E(-1);break b;case 2:f=E(1);break c;case 3:f=E(-1);break c;case 4:d=E(1);break d;case 0:break b;case 5:break e;default:break a}}d=E(-1)}i=d;e=E(0);d=g;break b}e=E(0);d=h}B[b+8>>2]=i;B[b+4>>2]=f;B[b>>2]=e;B[b+12>>2]=-d}}function Im(a,b){a=a|0;b=b|0;var c=0,d=0,e=E(0),f=E(0),g=0,h=0;c=ga-32|0;ga=c;d=x[a+184>>2];e=B[d+4>>2];a:{if(e==E(0)){break a}b=x[b>>2];if(!(ia[x[x[d>>2]+8>>2]](d,x[b+188>>2])|0)){break a}f=B[a+188>>2];d=x[a+184>>2];g=x[a+192>>2];h=x[b+192>>2];x[c+24>>2]=-1;x[c+28>>2]=-1;x[c+20>>2]=b+4;x[c+16>>2]=b;x[c+12>>2]=h;x[c+8>>2]=0;Ic(g,a+36|0,a+100|0,c+8|0,d,f)}ga=c+32|0;return e!=E(0)|0}function ql(a,b,c,d,e,f,g,h){a=E(a);b=E(b);c=E(c);d=d|0;e=e|0;f=f|0;g=E(g);h=E(h);var i=0,j=0;i=Aa(60);B[i+8>>2]=c;B[i+4>>2]=b;B[i>>2]=a;x[i+44>>2]=1;j=x[d+4>>2];x[i+12>>2]=x[d>>2];x[i+16>>2]=j;j=x[d+12>>2];x[i+20>>2]=x[d+8>>2];x[i+24>>2]=j;d=x[e+4>>2];x[i+28>>2]=x[e>>2];x[i+32>>2]=d;d=x[e+12>>2];x[i+36>>2]=x[e+8>>2];x[i+40>>2]=d;B[i+56>>2]=h;B[i+52>>2]=g;x[i+48>>2]=f;return i|0}function Zq(a,b,c){a=a|0;b=b|0;c=E(c);var d=E(0);a:{if((b|0)<=2){B[((b<<2)+a|0)+804>>2]=c;break a}a=D(b,88)+a|0;c=E(c+E(3.1415927410125732));c=E(E(E(J(E(c/E(6.2831854820251465))))*E(-6.2831854820251465))+c);d=E(0);b:{if(c>=E(6.2831854820251465)){break b}d=c;if(!(c>2]=d+E(-3.1415927410125732)}}function Va(a){var b=0,c=0,d=0,e=0,f=E(0);b=ga-16|0;ga=b;d=x[a+8>>2];e=x[a+12>>2];a:{if((e|0)>0|(e|0)>=0){f=E(E(E(+(d>>>0)+ +(e>>>0)*4294967296)*E(0x10000000000000000))+E(+A[a>>2]+ +A[a+4>>2]*4294967296));break a}c=x[a>>2];a=x[a+4>>2];x[b>>2]=0-c;x[b+4>>2]=0-(a+((c|0)!=0)|0);a=!(a|c);c=d^-1;d=a+c|0;a=e^-1;x[b+8>>2]=d;x[b+12>>2]=d>>>0>>0?a+1|0:a;f=E(-Va(b))}ga=b+16|0;return f}function kl(a,b,c){a=a|0;b=b|0;c=c|0;var d=E(0),e=E(0),f=E(0),g=E(0),h=E(0),i=E(0),j=E(0),k=E(0),l=E(0);d=B[b+40>>2];e=B[b+44>>2];f=B[b+36>>2];g=E(ia[x[x[b>>2]+48>>2]](b));h=E(ia[x[x[b>>2]+48>>2]](b));i=E(ia[x[x[b>>2]+48>>2]](b));j=B[c>>2];k=B[c+4>>2];l=B[c+8>>2];x[a+12>>2]=0;e=E(e+i);B[a+8>>2]=l>=E(0)?e:E(-e);d=E(d+h);B[a+4>>2]=k>=E(0)?d:E(-d);d=E(f+g);B[a>>2]=j>=E(0)?d:E(-d)}function el(a,b,c){a=a|0;b=b|0;c=c|0;var d=E(0),e=E(0),f=E(0),g=E(0),h=E(0),i=E(0);e=B[a+44>>2];d=B[a+40>>2];f=B[a+36>>2];g=E(ia[x[x[a>>2]+48>>2]](a));h=E(ia[x[x[a>>2]+48>>2]](a));i=E(ia[x[x[a>>2]+48>>2]](a));x[c+12>>2]=0;d=E(d+h);a=b>>>1&1;B[c+4>>2]=E(d*E(!a|0))-E(E(a|0)*d);d=E(f+g);a=b&1;B[c>>2]=E(d*E(!a|0))-E(E(a|0)*d);e=E(e+i);a=b>>>2&1;B[c+8>>2]=E(e*E(!a|0))-E(E(a|0)*e)}function nl(a,b,c){a=a|0;b=E(b);c=c|0;var d=E(0),e=E(0),f=E(0),g=E(0),h=E(0),i=E(0);d=B[a+44>>2];e=B[a+40>>2];f=B[a+36>>2];g=E(ia[x[x[a>>2]+48>>2]](a));h=E(ia[x[x[a>>2]+48>>2]](a));i=E(ia[x[x[a>>2]+48>>2]](a));x[c+12>>2]=0;b=E(b/E(12));f=E(f+g);f=E(f+f);f=E(f*f);e=E(e+h);e=E(e+e);e=E(e*e);B[c+8>>2]=b*E(f+e);d=E(d+i);d=E(d+d);d=E(d*d);B[c+4>>2]=b*E(f+d);B[c>>2]=b*E(e+d)}function jg(a){a=a|0;var b=0,c=0,d=0;a:{b:{c:{c=x[a+4>>2];a=c;if(!(a&3)){break c}b=0;if(!y[c|0]){break a}while(1){a=a+1|0;if(!(a&3)){break c}if(y[a|0]){continue}break}break b}while(1){b=a;a=a+4|0;d=x[b>>2];if(!((d^-1)&d-16843009&-2139062144)){continue}break}while(1){a=b;b=a+1|0;if(y[a|0]){continue}break}}b=a-c|0}a=b+1|0;b=ob(a);if(b){a=ya(b,c,a)}else{a=0}return a|0}function Og(a){a=a|0;var b=0;x[a>>2]=24384;b=x[a+80>>2];if(!(b?!b|!y[a+84|0]:1)){x[8457]=x[8457]+1;ia[x[8259]](b)}x[a+80>>2]=0;v[a+84|0]=1;x[a+72>>2]=0;x[a+76>>2]=0;b=x[a+60>>2];if(!(b?!b|!y[a- -64|0]:1)){x[8457]=x[8457]+1;ia[x[8259]](b)}x[a+60>>2]=0;v[a+64|0]=1;x[a+52>>2]=0;x[a+56>>2]=0;b=x[a+40>>2];if(!(b?!b|!y[a+44|0]:1)){x[8457]=x[8457]+1;ia[x[8259]](b)}va(a)}function ee(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=E(0),f=E(0),g=E(0),h=E(0),i=E(0),j=E(0);h=E(ia[x[x[a>>2]+48>>2]](a));i=E(ia[x[x[a>>2]+48>>2]](a));j=E(ia[x[x[a>>2]+48>>2]](a));e=B[b+52>>2];f=B[b+56>>2];g=B[b+48>>2];x[c+12>>2]=0;B[c+8>>2]=f-j;B[c+4>>2]=e-i;B[c>>2]=g-h;e=B[b+52>>2];f=B[b+56>>2];g=B[b+48>>2];x[d+12>>2]=0;B[d+8>>2]=j+f;B[d+4>>2]=i+e;B[d>>2]=h+g}function hc(a,b,c,d,e){var f=E(0),g=0,h=E(0);x[a+32>>2]=c;x[a+28>>2]=b;x[a+24>>2]=d;x[a+20>>2]=e;x[a+4>>2]=0;x[a+8>>2]=1065353216;x[a+12>>2]=0;x[a+16>>2]=0;x[a>>2]=22784;x[a+36>>2]=x[b+4>>2];x[a+40>>2]=x[c+4>>2];g=a,h=E(ia[x[x[b>>2]+48>>2]](b)),B[g+44>>2]=h;f=E(ia[x[x[c>>2]+48>>2]](c));x[a+72>>2]=1;x[a+76>>2]=1;x[a+60>>2]=-1;v[a+52|0]=0;B[a+48>>2]=f;return a}function Wf(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;if(za(a,x[b+8>>2],e)){if(!(x[b+28>>2]==1|x[b+4>>2]!=(c|0))){x[b+28>>2]=d}return}a:{if(!za(a,x[b>>2],e)){break a}if(!(x[b+16>>2]!=(c|0)&x[b+20>>2]!=(c|0))){if((d|0)!=1){break a}x[b+32>>2]=1;return}x[b+20>>2]=c;x[b+32>>2]=d;x[b+40>>2]=x[b+40>>2]+1;if(!(x[b+36>>2]!=1|x[b+24>>2]!=2)){v[b+54|0]=1}x[b+44>>2]=4}}function rg(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;a:{e=x[a+328>>2];if((e|0)<=0){break a}h=d?d:x[a+188>>2];i=x[b>>2];f=x[a+336>>2];d=0;while(1){g=(d<<2)+f|0;if(x[g>>2]!=(i|0)){d=d+1|0;if((e|0)!=(d|0)){continue}break a}break}if((d|0)>=(e|0)){break a}d=e-1|0;x[g>>2]=x[(d<<2)+f>>2];x[a+328>>2]=d;a=x[a+344>>2];ia[x[x[a>>2]+12>>2]](a,h,b,c)|0}}function kh(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=x[b+4>>2];x[a+264>>2]=x[b>>2];x[a+268>>2]=c;c=x[b+12>>2];x[a+272>>2]=x[b+8>>2];x[a+276>>2]=c;c=x[a+248>>2];if((c|0)>0){while(1){a:{b:{e=x[x[a+256>>2]+(d<<2)>>2];switch(x[e+220>>2]-2|0){case 0:case 3:break a;default:break b}}if(v[e+564|0]&1){break a}sb(e,b);c=x[a+248>>2]}d=d+1|0;if((c|0)>(d|0)){continue}break}}}function pe(a,b,c,d,e){var f=0,g=0;while(1){a:{b:{if(z[e>>1]>1]|z[d>>1]>z[b+6>>1]|(z[e+4>>1]>1]|z[d+4>>1]>z[b+10>>1])){break b}if(z[e+2>>1]>1]|z[d+2>>1]>z[b+8>>1]){break b}f=x[b+12>>2];if((f|0)<0){break a}ia[x[x[c>>2]+8>>2]](c,f>>>21|0,f&2097151)}return}f=b+16|0;pe(a,f,c,d,e);g=f;f=x[b+28>>2];b=(f|0)<0?g-(f<<4)|0:b+32|0;continue}}function il(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=E(0),i=E(0),j=E(0),k=E(0),l=E(0),m=E(0);if((d|0)>0){while(1){g=f<<4;e=g+b|0;k=B[e>>2];l=B[e+4>>2];m=B[e+8>>2];h=B[a+36>>2];i=B[a+40>>2];j=B[a+44>>2];e=c+g|0;x[e+12>>2]=0;B[e+8>>2]=m>=E(0)?j:E(-j);B[e+4>>2]=l>=E(0)?i:E(-i);B[e>>2]=k>=E(0)?h:E(-h);f=f+1|0;if((f|0)!=(d|0)){continue}break}}}function nn(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;a=ga-16|0;ga=a;c=x[b+844>>2];if((c|0)>0){while(1){c=D(d,208)+b|0;e=x[c+120>>2];a:{if(!e){break a}f=x[8753];if(!f){break a}ia[f|0](e)|0;x[c+120>>2]=0}c=x[b+844>>2];d=d+1|0;if((c|0)>(d|0)){continue}break}}b:{if(!c){break b}c=x[8756];if(!c){break b}x[a+12>>2]=b;ia[c|0](a+12|0)}x[b+844>>2]=0;ga=a+16|0}function Xb(a,b,c,d){v[a+53|0]=1;a:{if(x[a+4>>2]!=(c|0)){break a}v[a+52|0]=1;c=x[a+16>>2];b:{if(!c){x[a+36>>2]=1;x[a+24>>2]=d;x[a+16>>2]=b;if((d|0)!=1){break a}if(x[a+48>>2]==1){break b}break a}if((b|0)==(c|0)){c=x[a+24>>2];if((c|0)==2){x[a+24>>2]=d;c=d}if(x[a+48>>2]!=1){break a}if((c|0)==1){break b}break a}x[a+36>>2]=x[a+36>>2]+1}v[a+54|0]=1}}function On(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0;e=ga-48|0;ga=e;x[e+44>>2]=d;x[e+40>>2]=12212;d=x[b+12>>2];x[e+16>>2]=x[b+8>>2];x[e+20>>2]=d;d=x[b+4>>2];x[e+8>>2]=x[b>>2];x[e+12>>2]=d;b=x[c+12>>2];x[e+32>>2]=x[c+8>>2];x[e+36>>2]=b;b=x[c+4>>2];x[e+24>>2]=x[c>>2];x[e+28>>2]=b;b=e+8|0;c=e+40|0;mb(x[a+4>>2],b,c);mb(x[a+44>>2],b,c);ga=e+48|0}function Ec(a,b,c,d,e){x[a>>2]=14940;x[a+4>>2]=x[b>>2];x[a>>2]=14968;x[a>>2]=16192;v[a+68|0]=e;v[a+24|0]=1;x[a+20>>2]=0;v[a+44|0]=1;x[a+12>>2]=0;x[a+16>>2]=0;x[a+40>>2]=0;v[a- -64|0]=1;x[a+32>>2]=0;x[a+36>>2]=0;x[a+60>>2]=0;x[a+52>>2]=0;x[a+56>>2]=0;b=x[b+4>>2];v[a+76|0]=0;x[a+72>>2]=b;x[a+80>>2]=x[x[(e?d:c)+4>>2]+76>>2];Ie(a,c,d);return a}function Jm(a,b){a=a|0;b=b|0;var c=0,d=0,e=E(0),f=0;c=ga-32|0;ga=c;d=x[a+216>>2];e=B[d+4>>2];a:{if(e==E(0)){break a}b=x[b>>2];if(!(ia[x[x[d>>2]+8>>2]](d,x[b+188>>2])|0)){break a}d=x[a+216>>2];f=x[b+192>>2];x[c+24>>2]=-1;x[c+28>>2]=-1;x[c+20>>2]=b+4;x[c+16>>2]=b;x[c+12>>2]=f;x[c+8>>2]=0;Jc(a+68|0,a+132|0,c+8|0,d)}ga=c+32|0;return e!=E(0)|0}function pb(a,b){a:{if((b|0)>=1024){a=a*898846567431158e293;if(b>>>0<2047){b=b-1023|0;break a}a=a*898846567431158e293;b=((b|0)>=3069?3069:b)-2046|0;break a}if((b|0)>-1023){break a}a=a*2004168360008973e-307;if(b>>>0>4294965304){b=b+969|0;break a}a=a*2004168360008973e-307;b=((b|0)<=-2960?-2960:b)+1938|0}l(0,0);l(1,b+1023<<20);return a*+n()}function gg(a,b,c,d){a=a|0;b=E(b);c=E(c);d=d|0;var e=E(0),f=E(0);x[a+20>>2]=1065353216;x[a+24>>2]=1065353216;x[a+60>>2]=d;x[a+28>>2]=1065353216;x[a+32>>2]=0;f=b;e=c;a:{b:{switch(d|0){case 0:f=c;e=b;break a;case 1:break a;default:break b}}e=b;b=c}B[a+36>>2]=f;x[a+48>>2]=0;B[a+44>>2]=b;B[a+40>>2]=e;B[a+52>>2]=B[(a+36|0)+((d+2|0)%3<<2)>>2]}function Gk(a,b){a=a|0;b=b|0;var c=E(0),d=E(0),e=E(0),f=E(0),g=E(0),h=E(0),i=E(0),j=E(0),k=E(0);c=B[a+24>>2];d=B[a+40>>2];e=B[a+28>>2];f=B[a+44>>2];g=B[a+20>>2];h=B[a+36>>2];ib(a,b);i=B[b>>2];j=B[b+4>>2];k=B[b+8>>2];x[a+48>>2]=0;B[a+44>>2]=k*E(f/e);B[a+40>>2]=j*E(d/c);B[a+36>>2]=i*E(h/g);B[a+52>>2]=B[(a+36|0)+((x[a+60>>2]+2|0)%3<<2)>>2]}function cg(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=ga+-64|0;ga=d;e=1;a:{if(za(a,b,0)){break a}e=0;if(!b){break a}b=Ia(b,29972);e=0;if(!b){break a}ua(d+12|0,0,52);x[d+56>>2]=1;x[d+20>>2]=-1;x[d+16>>2]=a;x[d+8>>2]=b;ia[x[x[b>>2]+28>>2]](b,d+8|0,x[c>>2],1);a=x[d+32>>2];if((a|0)==1){x[c>>2]=x[d+24>>2]}e=(a|0)==1}a=e;ga=d- -64|0;return a|0}function Ei(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0;e=ga-48|0;ga=e;x[e+12>>2]=b;x[e+8>>2]=22260;b=x[c+12>>2];x[e+24>>2]=x[c+8>>2];x[e+28>>2]=b;b=x[c+4>>2];x[e+16>>2]=x[c>>2];x[e+20>>2]=b;b=x[d+12>>2];x[e+40>>2]=x[d+8>>2];x[e+44>>2]=b;b=x[d+4>>2];x[e+32>>2]=x[d>>2];x[e+36>>2]=b;a=x[a+56>>2];ia[x[x[a>>2]+8>>2]](a,e+8|0,c,d);ga=e+48|0}function gr(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;x[8456]=x[8456]+1;a=Ad(ia[x[8258]](1460,16)|0,a,b,c,d,0);x[a>>2]=23308;x[a+968>>2]=0;x[a+972>>2]=0;x[a+680>>2]=0;x[a+684>>2]=0;b=a+1144|0;x[b>>2]=0;x[b+4>>2]=0;b=a+1056|0;x[b>>2]=0;x[b+4>>2]=0;x[a+688>>2]=0;x[a+692>>2]=0;x[a+696>>2]=0;x[a+700>>2]=0;x[a+704>>2]=0;x[a+708>>2]=0;return a|0}function Yr(a,b,c,d,e){a=a|0;b=b|0;c=E(c);d=E(d);e=E(e);var f=0;f=ga-16|0;ga=f;x[f+12>>2]=0;B[f+8>>2]=e;B[f+4>>2]=d;B[f>>2]=c;v[a+69|0]=0;x[a+60>>2]=b;b=ia[x[x[a>>2]+28>>2]](a)|0;c=E(B[b+8>>2]-B[f+8>>2]);d=E(c*c);c=E(B[b>>2]-B[f>>2]);e=E(c*c);c=E(B[b+4>>2]-B[f+4>>2]);if(E(d+E(e+E(c*c)))>E(1.1920928955078125e-7)){lc(a,f)}ga=f+16|0}function Al(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;a=x[b>>2];a=ia[x[x[a>>2]+56>>2]](a,16)|0;x[a>>2]=14940;x[a+4>>2]=x[b>>2];x[a>>2]=14968;x[a+12>>2]=0;v[a+8|0]=0;x[a>>2]=16604;b=x[a+4>>2];if(ia[x[x[b>>2]+24>>2]](b,x[c+8>>2],x[d+8>>2])|0){b=x[a+4>>2];b=ia[x[x[b>>2]+12>>2]](b,x[c+8>>2],x[d+8>>2])|0;v[a+8|0]=1;x[a+12>>2]=b}return a|0}function oq(a,b){a=a|0;b=E(b);var c=0,d=0;c=ga-16|0;ga=c;x[c+8>>2]=1070945621;x[c+12>>2]=0;x[c>>2]=1070945621;x[c+4>>2]=1070945621;d=x[a+192>>2];a:{if(!$c(ia[x[x[d>>2]+36>>2]](d)|0,1038)){break a}if(x[d+4>>2]==31){if(x[d+24>>2]<=0){break a}ia[x[x[d>>2]+32>>2]](d,b,c);break a}ia[x[x[d>>2]+32>>2]](d,b,c)}ac(a,b,c);ga=c+16|0}function ik(a,b,c){a=a|0;b=b|0;c=c|0;var d=E(0);Sa(a,b,c);B[b+28>>2]=B[a+36>>2];B[b+32>>2]=B[a+40>>2];B[b+36>>2]=B[a+44>>2];B[b+40>>2]=B[a+48>>2];B[b+12>>2]=B[a+20>>2];B[b+16>>2]=B[a+24>>2];B[b+20>>2]=B[a+28>>2];B[b+24>>2]=B[a+32>>2];d=B[a+52>>2];x[b+48>>2]=0;B[b+44>>2]=d;a=x[a+76>>2];x[b+56>>2]=0;x[b+52>>2]=a;return 8915}function hn(a,b,c){a=a|0;b=b|0;c=c|0;a:{b:{c:{switch(x[b+220>>2]-2|0){case 0:case 3:break c;default:break b}}a=0;switch(x[c+220>>2]-2|0){case 0:case 3:break a;default:break b}}d:{if(x[b+280>>2]){if(!(ia[x[x[b>>2]+12>>2]](b,c)|0)){break d}}a=1;if(!x[c+280>>2]){break a}if(ia[x[x[c>>2]+12>>2]](c,b)|0){break a}}a=0}return a|0}function Uj(a,b,c){a=a|0;b=b|0;c=c|0;var d=E(0);Sa(a,b,c);B[b+28>>2]=B[a+36>>2];B[b+32>>2]=B[a+40>>2];B[b+36>>2]=B[a+44>>2];B[b+40>>2]=B[a+48>>2];B[b+12>>2]=B[a+20>>2];B[b+16>>2]=B[a+24>>2];B[b+20>>2]=B[a+28>>2];B[b+24>>2]=B[a+32>>2];d=B[a+52>>2];x[b+48>>2]=0;B[b+44>>2]=d;a=x[a+60>>2];x[b+56>>2]=0;x[b+52>>2]=a;return 8794}function Ek(a,b,c){a=a|0;b=b|0;c=c|0;var d=E(0);Sa(a,b,c);B[b+28>>2]=B[a+36>>2];B[b+32>>2]=B[a+40>>2];B[b+36>>2]=B[a+44>>2];B[b+40>>2]=B[a+48>>2];B[b+12>>2]=B[a+20>>2];B[b+16>>2]=B[a+24>>2];B[b+20>>2]=B[a+28>>2];B[b+24>>2]=B[a+32>>2];d=B[a+52>>2];x[b+48>>2]=0;B[b+44>>2]=d;a=x[a+60>>2];x[b+56>>2]=0;x[b+52>>2]=a;return 8954}function Tm(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,i=0;c=ga-16|0;ga=c;ia[x[8262]](5665);ia[x[x[a>>2]+8>>2]](a);ia[x[x[a>>2]+12>>2]](a);b=x[a+24>>2];ia[x[8262]](3934);if(b){d=x[a+68>>2];f=b,g=ia[x[x[d>>2]+36>>2]](d)|0,h=a+28|0,i=x[a+24>>2],e=x[x[b>>2]+32>>2],ia[e](f|0,g|0,h|0,i|0)}ia[x[8263]]();ia[x[8263]]();ga=c+16|0}function Bl(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0;e=x[b>>2];e=ia[x[x[e>>2]+56>>2]](e,20)|0;f=x[b+4>>2];a=y[a+4|0];x[e>>2]=14940;x[e+4>>2]=x[b>>2];x[e>>2]=14968;v[e+16|0]=a;x[e+12>>2]=f;v[e+8|0]=0;x[e>>2]=17988;if(!f){a=x[e+4>>2];a=ia[x[x[a>>2]+12>>2]](a,x[c+8>>2],x[d+8>>2])|0;v[e+8|0]=1;x[e+12>>2]=a}return e|0}function bh(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;c=x[a+228>>2];a:{if((c|0)<=0){break a}e=x[a+236>>2];while(1){f=(d<<2)+e|0;if(x[f>>2]!=(b|0)){d=d+1|0;if((c|0)!=(d|0)){continue}break a}break}if((c|0)<=(d|0)){break a}c=c-1|0;d=c<<2;x[f>>2]=x[d+e>>2];x[d+x[a+236>>2]>>2]=b;x[a+228>>2]=c}sd(x[b+28>>2],b);sd(x[b+32>>2],b)}function Kn(a,b){a=a|0;b=b|0;if(x[a+16>>2]==(0-x[a+56>>2]|0)){of(a+4|0);of(a+44|0);x[a+124>>2]=0;x[a+104>>2]=0;v[a+153|0]=0;v[a+154|0]=1;x[a+116>>2]=10;x[a+120>>2]=1;x[a+108>>2]=1;x[a+112>>2]=0;x[a+84>>2]=0;x[a+88>>2]=0;x[a+92>>2]=0;x[a+128>>2]=0;x[a+132>>2]=0;x[a+136>>2]=0;x[a+140>>2]=0;x[a+144>>2]=0;x[a+148>>2]=0}}function xn(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;f=ga-16|0;ga=f;ia[x[8262]](3960);if(x[a+8>>2]>0){while(1){e=x[a+16>>2]+(d<<4)|0;a:{if(ia[x[x[b>>2]+8>>2]](b,e)|0){ia[x[x[a>>2]+12>>2]](a,x[e>>2],x[e+4>>2],c)|0;x[8458]=x[8458]-1;break a}d=d+1|0}if(x[a+8>>2]>(d|0)){continue}break}}ia[x[8263]]();ga=f+16|0}function mk(a,b){a=a|0;b=b|0;var c=E(0),d=0,e=0,f=E(0);e=x[a+76>>2]<<2;c=B[e+b>>2];d=e;e=a+20|0;f=E(B[a+68>>2]*E(c/B[d+e>>2]));B[a+68>>2]=f;d=x[a+72>>2]<<2;c=E(B[d+b>>2]/B[e+d>>2]);d=x[a+80>>2]<<2;c=E(B[a+64>>2]*E(E(c+E(B[d+b>>2]/B[e+d>>2]))*E(.5)));B[a+64>>2]=c;B[a+60>>2]=c/E(M(E(E(c*c)+E(f*f))));ib(a,b)}function Pe(a,b,c,d,e){var f=0;x[a>>2]=14940;x[a+4>>2]=x[b>>2];x[a>>2]=14968;x[a>>2]=15696;b=x[b>>2];x[a+60>>2]=0;x[a+56>>2]=b;x[a+8>>2]=15724;f=e?c:d;x[a+48>>2]=f;c=e?d:c;x[a+44>>2]=c;b=ia[x[x[b>>2]+12>>2]](b,x[c+8>>2],x[f+8>>2])|0;x[a+72>>2]=b;c=x[a+56>>2];ia[x[x[c>>2]+20>>2]](c,b);v[a+76|0]=e;return a}function pr(a,b,c,d,e,f){a=a|0;b=E(b);c=E(c);d=E(d);e=E(e);f=E(f);c=E(E(c-b)*E(.5));B[a+692>>2]=c;b=Fa(E(c+b));a:{if(bE(3.1415927410125732))){break a}b=E(b+E(-6.2831854820251465))}B[a+704>>2]=f;B[a+700>>2]=e;B[a+696>>2]=d;B[a+688>>2]=b}function Lj(a,b,c){a=a|0;b=b|0;c=c|0;var d=E(0);a:{switch(x[a+104>>2]){case 0:return E(B[x[a+100>>2]+(D(x[a+72>>2],c)+b<<2)>>2]);case 5:return E(E(B[a+96>>2]*E(y[x[a+100>>2]+(D(x[a+72>>2],c)+b|0)|0])));case 3:d=E(B[a+96>>2]*E(w[x[a+100>>2]+(D(x[a+72>>2],c)+b<<1)>>1]));break;default:break a}}return E(d)}function lq(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0;f=x[b+4>>2];x[a+20>>2]=x[b>>2];x[a+24>>2]=f;f=x[b+12>>2];x[a+28>>2]=x[b+8>>2];x[a+32>>2]=f;b=x[c+4>>2];x[a+36>>2]=x[c>>2];x[a+40>>2]=b;b=x[c+12>>2];x[a+44>>2]=x[c+8>>2];x[a+48>>2]=b;v[a+88|0]=e;x[a+12>>2]=d;x[a+16>>2]=0;x[a+4>>2]=1065353216}function ug(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0;f=x[b+4>>2];x[a+20>>2]=x[b>>2];x[a+24>>2]=f;f=x[b+12>>2];x[a+28>>2]=x[b+8>>2];x[a+32>>2]=f;b=x[c+4>>2];x[a+36>>2]=x[c>>2];x[a+40>>2]=b;b=x[c+12>>2];x[a+44>>2]=x[c+8>>2];x[a+48>>2]=b;v[a+88|0]=e;x[a+12>>2]=d;x[a+4>>2]=1065353216;x[a+8>>2]=0}function Tk(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;c=x[a+60>>2];if(c){c=(f=b,g=ia[x[x[c>>2]+12>>2]](c)|0,h=1,e=x[x[b>>2]+16>>2],ia[e](f|0,g|0,h|0)|0);d=x[a+60>>2];h=b,g=c,f=ia[x[x[d>>2]+16>>2]](d,x[c+8>>2],b)|0,i=1213612625,j=x[a+60>>2],e=x[x[b>>2]+20>>2],ia[e](h|0,g|0,f|0,i|0,j|0)}}function Rk(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;c=x[a+64>>2];if(c){c=(f=b,g=ia[x[x[c>>2]+8>>2]](c)|0,h=1,e=x[x[b>>2]+16>>2],ia[e](f|0,g|0,h|0)|0);d=x[a+64>>2];h=b,g=c,f=ia[x[x[d>>2]+12>>2]](d,x[c+8>>2],b)|0,i=1346456916,j=x[a+64>>2],e=x[x[b>>2]+20>>2],ia[e](h|0,g|0,f|0,i|0,j|0)}}function ei(a,b,c,d){a=a|0;b=b|0;c=E(c);d=d|0;a:{b:{switch(d+1|0){case 0:case 6:break b;default:break a}}c:{d:{switch(b-1|0){case 1:d=a+764|0;b=2;break c;case 3:d=a+760|0;b=1;break c;case 2:d=a+752|0;b=4;break c;case 0:break d;default:break a}}d=a+756|0;b=8}B[d>>2]=c;x[a+748>>2]=b|x[a+748>>2]}}function gh(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;c=x[a+248>>2];a:{if((c|0)<=0){break a}e=x[a+256>>2];while(1){f=(d<<2)+e|0;if(x[f>>2]!=(b|0)){d=d+1|0;if((c|0)!=(d|0)){continue}break a}break}if((c|0)<=(d|0)){break a}c=c-1|0;d=c<<2;x[f>>2]=x[d+e>>2];x[d+x[a+256>>2]>>2]=b;x[a+248>>2]=c}Kc(a,b)}function gd(a){a=a|0;var b=0;x[a>>2]=25104;b=x[a+344>>2];ia[x[x[b>>2]>>2]](b)|0;b=x[a+344>>2];if(b){x[8457]=x[8457]+1;ia[x[8259]](b)}x[a>>2]=25060;b=x[a+336>>2];if(!(b?!b|!y[a+340|0]:1)){x[8457]=x[8457]+1;ia[x[8259]](b)}x[a+336>>2]=0;v[a+340|0]=1;x[a+328>>2]=0;x[a+332>>2]=0;return Wa(a)|0}function Xj(a,b,c){a=a|0;b=b|0;c=c|0;var d=E(0),e=E(0),f=E(0),g=E(0),h=E(0),i=E(0);d=B[b+40>>2];e=B[b+36>>2];f=B[c>>2];g=B[c+8>>2];h=E(M(E(E(f*f)+E(g*g))));a:{if(h!=E(0)){e=E(e/h);i=E(g*e);e=E(f*e);d=B[c+4>>2]>2]>2]=i;B[a+4>>2]=d;B[a>>2]=e}function Sn(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;Pb((x[b+60>>2]==2?44:4)+a|0,x[b+48>>2]);d=x[b+52>>2];x[(d?d+56|0:((x[b+60>>2]<<2)+a|0)+84|0)>>2]=x[b+56>>2];d=x[b+56>>2];if(d){x[d+52>>2]=x[b+52>>2]}d=x[a+96>>2];ia[x[x[d>>2]+16>>2]](d,b,c);if(b){x[8457]=x[8457]+1;ia[x[8259]](b)}v[a+154|0]=1}function $i(a,b,c){a=a|0;b=b|0;c=c|0;var d=E(0);Sa(a,b,c);B[b+12>>2]=B[a+76>>2];B[b+16>>2]=B[a+80>>2];B[b+20>>2]=B[a+84>>2];B[b+24>>2]=B[a+88>>2];B[b+28>>2]=B[a+56>>2];B[b+32>>2]=B[a+60>>2];B[b+36>>2]=B[a- -64>>2];B[b+40>>2]=B[a+68>>2];d=B[a+72>>2];x[b+48>>2]=0;B[b+44>>2]=d;return 8931}function km(a,b,c){a=a|0;b=b|0;c=c|0;var d=E(0);Sa(a,b,c);B[b+28>>2]=B[a+36>>2];B[b+32>>2]=B[a+40>>2];B[b+36>>2]=B[a+44>>2];B[b+40>>2]=B[a+48>>2];B[b+12>>2]=B[a+20>>2];B[b+16>>2]=B[a+24>>2];B[b+20>>2]=B[a+28>>2];B[b+24>>2]=B[a+32>>2];d=B[a+52>>2];x[b+48>>2]=0;B[b+44>>2]=d;return 8835}function $g(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;a:{c=x[a+296>>2];if((c|0)<=0){break a}e=x[a+304>>2];while(1){f=(d<<2)+e|0;if(x[f>>2]!=(b|0)){d=d+1|0;if((c|0)!=(d|0)){continue}break a}break}if((c|0)<=(d|0)){break a}c=c-1|0;d=c<<2;x[f>>2]=x[d+e>>2];x[d+x[a+304>>2]>>2]=b;x[a+296>>2]=c}}function Hh(a,b,c,d,e,f,g,h,i,j){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;j=ga-16|0;ga=j;ia[x[8262]](5413);E(ia[x[x[a>>2]+44>>2]](a,b,c,d,e,f,g,h,i));E(ia[x[x[a>>2]+48>>2]](a,b,c,d,e,f,g,h,i));E(ia[x[x[a>>2]+36>>2]](a,b,c,h));ia[x[8263]]();ga=j+16|0;return E(E(0))}function wg(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0;a:{c=x[a+328>>2];if((c|0)<=0){break a}f=x[b>>2];d=x[a+336>>2];b=0;while(1){e=(b<<2)+d|0;if(x[e>>2]!=(f|0)){b=b+1|0;if((c|0)!=(b|0)){continue}break a}break}if((b|0)>=(c|0)){break a}b=c-1|0;x[e>>2]=x[(b<<2)+d>>2];x[a+328>>2]=b}}function tg(a){a=E(a);var b=0;x[8456]=x[8456]+1;b=Ha(ia[x[8258]](60,16)|0);x[b+32>>2]=0;x[b+36>>2]=0;x[b+20>>2]=1065353216;x[b+24>>2]=1065353216;x[b+4>>2]=8;x[b>>2]=21396;x[b+56>>2]=0;B[b+52>>2]=a;x[b+28>>2]=1065353216;x[b+40>>2]=0;x[b+44>>2]=0;x[b+48>>2]=0;B[b+36>>2]=a;return b|0}function sb(a,b){var c=E(0),d=0,e=E(0),f=E(0),g=E(0);c=B[a+404>>2];if(c!=E(0)){e=B[b>>2];f=B[b+4>>2];g=B[b+8>>2];x[a+436>>2]=0;c=E(E(1)/c);B[a+432>>2]=g*c;B[a+428>>2]=c*f;B[a+424>>2]=c*e}d=x[b+4>>2];x[a+440>>2]=x[b>>2];x[a+444>>2]=d;d=x[b+12>>2];x[a+448>>2]=x[b+8>>2];x[a+452>>2]=d}function zi(a,b,c,d){a=a|0;b=b|0;c=c|0;d=E(d);var e=0;if(B[a+36>>2]>d){v[a+40|0]=1;e=x[b+4>>2];x[a+4>>2]=x[b>>2];x[a+8>>2]=e;e=x[b+12>>2];x[a+12>>2]=x[b+8>>2];x[a+16>>2]=e;b=x[c+4>>2];x[a+20>>2]=x[c>>2];x[a+24>>2]=b;b=x[c+12>>2];x[a+28>>2]=x[c+8>>2];x[a+32>>2]=b;B[a+36>>2]=d}}function Mm(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=E(0);e=ga-16|0;ga=e;d=x[a+28>>2];x[e+8>>2]=d;x[e+4>>2]=d;f=x[b+4>>2];a:{if(!f){x[b+4>>2]=e+4;break a}x[f+4>>2]=d;x[f>>2]=d}d=x[a+24>>2];g=E(ia[x[x[d>>2]+12>>2]](d,b,c));B[a+4>>2]=B[x[a+24>>2]+4>>2];ga=e+16|0;return E(g)}function bl(a,b,c){a=a|0;b=b|0;c=E(c);var d=E(0),e=E(0),f=0;d=B[b>>2];e=B[a+36>>2];a:{if(!(d<=E(e+c))|!(d>=E(E(-e)-c))){break a}d=B[b+4>>2];e=B[a+40>>2];if(!(d<=E(e+c))|!(d>=E(E(-e)-c))){break a}d=B[b+8>>2];e=B[a+44>>2];if(!(d<=E(e+c))){break a}f=d>=E(E(-e)-c)}return f|0}function Eq(){var a=0;a=Aa(64);x[a+4>>2]=0;x[a+8>>2]=0;x[a>>2]=1065353216;x[a+12>>2]=0;x[a+16>>2]=0;x[a+24>>2]=0;x[a+28>>2]=0;x[a+20>>2]=1065353216;x[a+32>>2]=0;x[a+36>>2]=0;x[a+44>>2]=0;x[a+48>>2]=0;x[a+40>>2]=1065353216;x[a+52>>2]=0;x[a+56>>2]=0;x[a+60>>2]=0;return a|0}function di(a,b,c){a=a|0;b=b|0;c=c|0;var d=E(0);a:{b:{switch(c+1|0){case 0:case 6:break b;default:break a}}c:{switch(b-1|0){case 1:return E(B[a+764>>2]);case 3:return E(B[a+760>>2]);case 2:return E(B[a+752>>2]);case 0:break c;default:break a}}d=B[a+756>>2]}return E(d)}function Kd(a,b,c,d){var e=0;x[a>>2]=23116;e=x[b+4>>2];x[a+4>>2]=x[b>>2];x[a+8>>2]=e;e=x[b+12>>2];x[a+12>>2]=x[b+8>>2];x[a+16>>2]=e;b=x[c+4>>2];x[a+20>>2]=x[c>>2];x[a+24>>2]=b;b=x[c+12>>2];x[a+28>>2]=x[c+8>>2];x[a+32>>2]=b;x[a+40>>2]=1065353216;x[a+36>>2]=d;return a}function Cl(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;a=x[b>>2];a=ia[x[x[a>>2]+56>>2]](a,16)|0;x[a>>2]=14940;x[a+4>>2]=x[b>>2];x[a>>2]=14968;x[a+12>>2]=0;v[a+8|0]=0;x[a>>2]=17912;b=x[a+4>>2];b=ia[x[x[b>>2]+12>>2]](b,x[c+8>>2],x[d+8>>2])|0;v[a+8|0]=1;x[a+12>>2]=b;return a|0}function wb(a,b,c,d,e){var f=E(0);f=E(1);a:{if(b>c){break a}f=E(0);if(b==c){break a}d=E(d/e);if(d=b)|!(E(b-d)>a))){return E(E(b-a)/d)}return aE(0))){break a}if(!(!(a<=c)|!(E(c-d)c?E(0):E(1)}return f}function $f(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0;if(za(a,x[b+8>>2],0)){Yb(b,c,d);return}e=x[a+12>>2];f=a+16|0;_c(f,b,c,d);a=a+24|0;e=(e<<3)+f|0;a:{if(a>>>0>=e>>>0){break a}while(1){_c(a,b,c,d);if(y[b+54|0]){break a}a=a+8|0;if(e>>>0>a>>>0){continue}break}}}function Sf(a,b){a=E(a);b=E(b);var c=0;x[8456]=x[8456]+1;c=Ha(ia[x[8258]](84,16)|0);B[c+68>>2]=b;B[c+64>>2]=a;x[c>>2]=19388;x[c+72>>2]=0;x[c+76>>2]=1;x[c+4>>2]=11;B[c+36>>2]=a;x[c+80>>2]=2;B[c+44>>2]=a;B[c+40>>2]=b;B[c+60>>2]=a/E(M(E(E(a*a)+E(b*b))));return c|0}function Rd(a,b,c,d,e,f,g,h,i,j){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;a=x[a+32>>2]+(j<<5)|0;x[c>>2]=x[a+12>>2];x[b>>2]=x[a+16>>2];x[d>>2]=x[a+28>>2];x[e>>2]=x[a+20>>2];x[h>>2]=x[a>>2];x[f>>2]=x[a+4>>2];x[g>>2]=x[a+8>>2];x[i>>2]=x[a+24>>2]}function ui(a,b,c,d){a=a|0;b=b|0;c=c|0;d=E(d);var e=0;e=x[b+4>>2];x[a+4>>2]=x[b>>2];x[a+8>>2]=e;e=x[b+12>>2];x[a+12>>2]=x[b+8>>2];x[a+16>>2]=e;b=x[c+4>>2];x[a+20>>2]=x[c>>2];x[a+24>>2]=b;b=x[c+12>>2];x[a+28>>2]=x[c+8>>2];x[a+32>>2]=b;v[a+40|0]=1;B[a+36>>2]=d}function of(a){var b=0;b=x[a>>2];if(b){Tb(a,b)}b=x[a+4>>2];if(b){x[8457]=x[8457]+1;ia[x[8259]](b)}x[a+4>>2]=0;x[a+8>>2]=-1;b=x[a+32>>2];if(!(b?!b|!y[a+36|0]:1)){x[8457]=x[8457]+1;ia[x[8259]](b)}x[a+32>>2]=0;v[a+36|0]=1;x[a+16>>2]=0;x[a+24>>2]=0;x[a+28>>2]=0}function Qc(a){var b=0;b=x[a>>2];if(b){Tb(a,b)}b=x[a+4>>2];if(b){x[8457]=x[8457]+1;ia[x[8259]](b)}x[a+4>>2]=0;x[a+8>>2]=-1;b=x[a+32>>2];if(!(b?!b|!y[a+36|0]:1)){x[8457]=x[8457]+1;ia[x[8259]](b)}v[a+36|0]=1;x[a+16>>2]=0;x[a+32>>2]=0;x[a+24>>2]=0;x[a+28>>2]=0}function uc(a){a=a|0;var b=0;x[a>>2]=19276;b=x[a+72>>2];if(b){Qc(b);b=x[a+72>>2];if(b){x[8457]=x[8457]+1;ia[x[8259]](b)}}b=x[a+32>>2];if(!(b?!b|!y[a+36|0]:1)){x[8457]=x[8457]+1;ia[x[8259]](b)}x[a+32>>2]=0;v[a+36|0]=1;x[a+24>>2]=0;x[a+28>>2]=0;return a|0}function Qn(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0;c=ga-16|0;ga=c;x[c+8>>2]=12140;x[c+12>>2]=d;g=d+4|0;h=d+20|0;i=x[a+168>>2];j=c+8|0;kf(x[a+4>>2],b,g,h,B[d+32>>2],e,f,i,j);kf(x[a+44>>2],b,g,h,B[d+32>>2],e,f,i,j);ga=c+16|0}function Km(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=E(0);d=ga-16|0;ga=d;x[d+4>>2]=-1;x[d+8>>2]=x[a+28>>2];x[d+12>>2]=x[a+20>>2];if(!x[b+4>>2]){x[b+4>>2]=d+4}e=x[a+24>>2];f=E(ia[x[x[e>>2]+12>>2]](e,b,c));B[a+4>>2]=B[x[a+24>>2]+4>>2];ga=d+16|0;return E(f)}function yk(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0;c=(e=b,f=ia[x[x[a>>2]+52>>2]](a)|0,g=1,d=x[x[b>>2]+16>>2],ia[d](e|0,f|0,g|0)|0);g=b,f=c,e=ia[x[x[a>>2]+56>>2]](a,x[c+8>>2],b)|0,h=1346455635,i=a,d=x[x[b>>2]+20>>2],ia[d](g|0,f|0,e|0,h|0,i|0)}function _m(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0;c=(e=b,f=ia[x[x[a>>2]+16>>2]](a)|0,g=1,d=x[x[b>>2]+16>>2],ia[d](e|0,f|0,g|0)|0);g=b,f=c,e=ia[x[x[a>>2]+20>>2]](a,x[c+8>>2],b)|0,h=1245859651,i=a,d=x[x[b>>2]+20>>2],ia[d](g|0,f|0,e|0,h|0,i|0)}function Ah(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0;c=(e=b,f=ia[x[x[a>>2]+16>>2]](a)|0,g=1,d=x[x[b>>2]+16>>2],ia[d](e|0,f|0,g|0)|0);g=b,f=c,e=ia[x[x[a>>2]+20>>2]](a,x[c+8>>2],b)|0,h=1497645650,i=a,d=x[x[b>>2]+20>>2],ia[d](g|0,f|0,e|0,h|0,i|0)}function Dq(a){a=a|0;x[a+4>>2]=0;x[a+8>>2]=0;x[a>>2]=1065353216;x[a+12>>2]=0;x[a+16>>2]=0;x[a+24>>2]=0;x[a+28>>2]=0;x[a+20>>2]=1065353216;x[a+32>>2]=0;x[a+36>>2]=0;x[a+44>>2]=0;x[a+48>>2]=0;x[a+40>>2]=1065353216;x[a+52>>2]=0;x[a+56>>2]=0;x[a+60>>2]=0}function qh(a){a=a|0;var b=0,c=0;if(x[a+248>>2]>0){while(1){b=x[x[a+256>>2]+(c<<2)>>2];x[b+472>>2]=0;x[b+476>>2]=0;x[b+496>>2]=0;x[b+500>>2]=0;x[b+488>>2]=0;x[b+492>>2]=0;x[b+480>>2]=0;x[b+484>>2]=0;c=c+1|0;if((c|0)>2]){continue}break}}}function Vh(a,b,c){a=a|0;b=b|0;c=c|0;vb(a,b,c);B[b+52>>2]=B[a+300>>2];B[b+56>>2]=B[a+304>>2];B[b+60>>2]=B[a+308>>2];B[b- -64>>2]=B[a+312>>2];B[b+68>>2]=B[a+316>>2];B[b+72>>2]=B[a+320>>2];B[b+76>>2]=B[a+324>>2];B[b+80>>2]=B[a+328>>2];return 8591} +function mq(a,b){a=a|0;b=b|0;var c=0,d=E(0);c=x[b+4>>2];x[a+408>>2]=x[b>>2];x[a+412>>2]=c;c=x[b+12>>2];x[a+416>>2]=x[b+8>>2];x[a+420>>2]=c;x[a+632>>2]=0;d=B[a+404>>2];B[a+624>>2]=d*B[a+412>>2];B[a+620>>2]=d*B[a+408>>2];B[a+628>>2]=d*B[a+416>>2]}function jl(a,b,c){a=a|0;b=b|0;c=c|0;var d=E(0),e=E(0),f=E(0),g=E(0),h=E(0),i=E(0);d=B[b+40>>2];e=B[b+44>>2];g=B[c+4>>2];h=B[c+8>>2];f=B[b+36>>2];i=B[c>>2];x[a+12>>2]=0;B[a>>2]=i>=E(0)?f:E(-f);B[a+8>>2]=h>=E(0)?e:E(-e);B[a+4>>2]=g>=E(0)?d:E(-d)}function Yp(a){a=a|0;x[a+372>>2]=0;x[a+376>>2]=0;x[a+472>>2]=0;x[a+476>>2]=0;x[a+396>>2]=0;x[a+400>>2]=0;x[a+388>>2]=0;x[a+392>>2]=0;x[a+380>>2]=0;x[a+384>>2]=0;x[a+480>>2]=0;x[a+484>>2]=0;x[a+488>>2]=0;x[a+492>>2]=0;x[a+496>>2]=0;x[a+500>>2]=0}function ln(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0;f=ga-16|0;ga=f;x[f+12>>2]=d;x[f+8>>2]=a;a=x[((((e|0)==1?76:5260)+a|0)+D(x[x[b+4>>2]+4>>2],144)|0)+(x[x[c+4>>2]+4>>2]<<2)>>2];a=ia[x[x[a>>2]+8>>2]](a,f+8|0,b,c)|0;ga=f+16|0;return a|0}function en(a,b){a=a|0;b=b|0;var c=0;a:{if(!b){break a}a=x[a+68>>2];c=x[a+16>>2];if(c>>>0>b>>>0|D(x[a>>2],x[a+4>>2])+c>>>0<=b>>>0){break a}x[b>>2]=x[a+12>>2];x[a+12>>2]=b;x[a+8>>2]=x[a+8>>2]+1;return}if(b){x[8457]=x[8457]+1;ia[x[8259]](b)}}function Ni(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=x[b+4>>2];x[a+52>>2]=x[b>>2];x[a+56>>2]=d;d=x[b+12>>2];x[a+60>>2]=x[b+8>>2];x[a+64>>2]=d;b=x[c+4>>2];x[a+68>>2]=x[c>>2];x[a+72>>2]=b;b=x[c+12>>2];x[a+76>>2]=x[c+8>>2];x[a+80>>2]=b;x[a+48>>2]=1}function Td(a){a=Ha(a);v[a+96|0]=0;x[a+80>>2]=-1082130432;x[a+84>>2]=-1082130432;x[a+64>>2]=1065353216;x[a+68>>2]=1065353216;x[a>>2]=20992;x[a+60>>2]=0;x[a+88>>2]=-1082130432;x[a+92>>2]=0;x[a+72>>2]=1065353216;x[a+76>>2]=0;return a}function Fg(a,b){a=a|0;b=E(b);var c=0,d=0,e=0;d=ga-16|0;ga=d;ia[x[8262]](4095);if(x[a+296>>2]>0){while(1){e=x[x[a+304>>2]+(c<<2)>>2];ia[x[x[e>>2]+8>>2]](e,a,b);c=c+1|0;if((c|0)>2]){continue}break}}ia[x[8263]]();ga=d+16|0}function zb(a){v[a+356|0]=1;x[a>>2]=0;v[a+312|0]=0;x[a+292>>2]=1566444395;x[a+296>>2]=1566444395;x[a+336>>2]=0;x[a+340>>2]=0;x[a+300>>2]=1566444395;x[a+304>>2]=0;x[a+344>>2]=0;x[a+348>>2]=0;v[a+352|0]=0;v[a+332|0]=y[a+332|0]&240}function ph(a){a=a|0;var b=0,c=0,d=0;b=x[a+248>>2];if((b|0)>0){while(1){a:{b:{d=x[x[a+256>>2]+(c<<2)>>2];switch(x[d+220>>2]-2|0){case 0:case 3:break a;default:break b}}vd(d);b=x[a+248>>2]}c=c+1|0;if((b|0)>(c|0)){continue}break}}}function Rn(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;a=x[b+20>>2];x[c>>2]=x[b+16>>2];x[c+4>>2]=a;a=x[b+28>>2];x[c+8>>2]=x[b+24>>2];x[c+12>>2]=a;a=x[b+44>>2];x[d+8>>2]=x[b+40>>2];x[d+12>>2]=a;a=x[b+36>>2];x[d>>2]=x[b+32>>2];x[d+4>>2]=a}function Mi(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=x[a+56>>2];x[b>>2]=x[a+52>>2];x[b+4>>2]=d;d=x[a+64>>2];x[b+8>>2]=x[a+60>>2];x[b+12>>2]=d;b=x[a+80>>2];x[c+8>>2]=x[a+76>>2];x[c+12>>2]=b;b=x[a+72>>2];x[c>>2]=x[a+68>>2];x[c+4>>2]=b}function Dd(a,b,c){var d=0;Gd(a);d=x[a+248>>2];x[b>>2]=x[a+244>>2];x[b+4>>2]=d;d=x[a+256>>2];x[b+8>>2]=x[a+252>>2];x[b+12>>2]=d;b=x[a+272>>2];x[c+8>>2]=x[a+268>>2];x[c+12>>2]=b;b=x[a+264>>2];x[c>>2]=x[a+260>>2];x[c+4>>2]=b}function ho(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0;e=ga-32|0;ga=e;a=x[a+140>>2];if(!(v[33804]&1)){f=Q(4,31600)|0;v[33804]=1;x[8450]=f}f=x[8450];x[e+24>>2]=d;x[e+16>>2]=c;x[e+8>>2]=b;P(f|0,a|0,7459,e+8|0);ga=e+32|0}function yh(a){a=a|0;var b=0;x[a>>2]=23996;b=x[a+556>>2];if(!(b?!b|!y[a+560|0]:1)){x[8457]=x[8457]+1;ia[x[8259]](b)}x[a+556>>2]=0;v[a+560|0]=1;x[a+548>>2]=0;x[a+552>>2]=0;a=Wa(a);if(a){x[8457]=x[8457]+1;ia[x[8259]](a)}}function zk(a){a=a|0;var b=0,c=E(0),d=E(0),e=E(0);b=ga-32|0;ga=b;ia[x[x[a>>2]+12>>2]](a,b+16|0,b+12|0);ga=b+32|0;c=B[b+24>>2];d=E(c*c);c=B[b+16>>2];e=E(c*c);c=B[b+20>>2];return E(E(B[b+12>>2]+E(M(E(d+E(e+E(c*c)))))))}function Xh(a,b,c,d){a=a|0;b=b|0;c=E(c);d=d|0;a:{if((d|0)!=-1){break a}b:{c:{switch(b-1|0){case 0:case 1:d=a+336|0;b=1;break b;case 2:case 3:break c;default:break a}}d=a+340|0;b=2}B[d>>2]=c;x[a+332>>2]=b|x[a+332>>2]}}function Wh(a,b,c){a=a|0;b=b|0;c=c|0;var d=E(0);d=E(34028234663852886e22);a:{if((c|0)!=-1){break a}b:{switch(b-1|0){case 0:case 1:return E(B[a+336>>2]);case 2:case 3:break b;default:break a}}d=B[a+340>>2]}return E(d)}function js(a,b,c,d){var e=0,f=0,g=0,h=0,i=0,j=0;e=c>>>16|0;f=a>>>16|0;j=D(e,f);g=c&65535;h=a&65535;i=D(g,h);f=(i>>>16|0)+D(f,g)|0;e=(f&65535)+D(e,h)|0;ha=(D(b,c)+j|0)+D(a,d)+(f>>>16)+(e>>>16)|0;return i&65535|e<<16}function Ul(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=x[a+84>>2];d=x[c+8>>2];if((d|0)>0){a=0;while(1){e=x[(x[c+16>>2]+D(a,12)|0)+8>>2];if(e){ia[x[x[e>>2]+16>>2]](e,b);d=x[c+8>>2]}a=a+1|0;if((d|0)>(a|0)){continue}break}}}function Ym(a,b){a=a|0;b=b|0;var c=0,d=0;d=x[a+288>>2];c=d;a:{if((d|0)<=0){break a}a=x[a+296>>2];c=0;while(1){if(x[a+(c<<2)>>2]==(b|0)){break a}c=c+1|0;if((d|0)!=(c|0)){continue}break}c=d}return(c|0)>=(d|0)|0}function Yb(a,b,c){var d=0;d=x[a+16>>2];if(!d){x[a+36>>2]=1;x[a+24>>2]=c;x[a+16>>2]=b;return}a:{if((b|0)==(d|0)){if(x[a+24>>2]!=2){break a}x[a+24>>2]=c;return}v[a+54|0]=1;x[a+24>>2]=2;x[a+36>>2]=x[a+36>>2]+1}}function Go(a){a=a|0;var b=0,c=0;x[a>>2]=31472;if(y[a+136|0]){b=x[a+140>>2];if(!(v[33796]&1)){c=Q(1,31584)|0;v[33796]=1;x[8448]=c}P(x[8448],b|0,3211,0)}R(x[a+140>>2]);if(a){x[8457]=x[8457]+1;ia[x[8259]](a)}}function Eg(a,b,c){a=a|0;b=b|0;c=c|0;a=0;a:{if(!(x[c+8>>2]&x[b+4>>2])|!(x[b+8>>2]&x[c+4>>2])){break a}b=x[b>>2];c=x[c>>2];if(v[b+204|0]&1&(v[c+204|0]&1)|x[b+220>>2]==2&x[c+220>>2]==2){break a}a=1}return a|0}function bc(a,b,c,d){x[a+44>>2]=0;x[a+36>>2]=0;x[a+40>>2]=1028443341;x[a+32>>2]=d;x[a+28>>2]=c;x[a+24>>2]=-1;w[a+20>>1]=1;x[a+16>>2]=2139095039;x[a+8>>2]=-1;x[a+12>>2]=-1;x[a+4>>2]=b;x[a>>2]=23876;return a}function Ha(a){x[a+12>>2]=0;x[a+16>>2]=0;x[a+4>>2]=35;x[a+8>>2]=0;x[a>>2]=19652;x[a+52>>2]=1025758986;x[a+20>>2]=1065353216;x[a+24>>2]=1065353216;x[a>>2]=19516;x[a+28>>2]=1065353216;x[a+32>>2]=0;return a}function oj(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=x[a+40>>2];ia[x[x[d>>2]+56>>2]](d,b,c)|0;x[b+4>>2]=22;B[b+60>>2]=B[a+24>>2];B[b- -64>>2]=B[a+28>>2];B[b+68>>2]=B[a+32>>2];B[b+72>>2]=B[a+36>>2];return 8885}function Ag(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=x[b>>2];d=x[a+88>>2];if(!(!(x[b+8>>2]&x[a+8>>2])|(!(x[a+12>>2]&x[b+4>>2])|(c|0)==(d|0)))){a=x[x[a+92>>2]+24>>2];e=ia[x[x[a>>2]+28>>2]](a,d,c)|0}return e|0}function eq(a,b){a=a|0;b=b|0;var c=E(0),d=E(0);c=B[b+8>>2];d=B[b+4>>2];B[a+488>>2]=E(B[b>>2]*B[a+604>>2])+B[a+488>>2];B[a+492>>2]=E(d*B[a+608>>2])+B[a+492>>2];B[a+496>>2]=E(c*B[a+612>>2])+B[a+496>>2]}function jj(a,b,c){a=a|0;b=E(b);c=c|0;var d=E(0),e=E(0);d=E(ia[x[x[a>>2]+48>>2]](a));e=E(ia[x[x[a>>2]+48>>2]](a));x[c+12>>2]=0;b=E(e*E(d*E(b*E(.4000000059604645))));B[c+8>>2]=b;B[c+4>>2]=b;B[c>>2]=b}function Sa(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=ia[x[x[c>>2]+40>>2]](c,a)|0;e=ia[x[x[c>>2]+28>>2]](c,d)|0;x[b>>2]=e;if(e){ia[x[x[c>>2]+48>>2]](c,d)}a=x[a+4>>2];x[b+8>>2]=0;x[b+4>>2]=a;return 8814}function Fb(a){a:{switch(x[a+4>>2]){case 8:return E(B[a+36>>2]*B[a+20>>2]);case 0:case 1:case 4:case 5:case 10:case 11:case 13:return B[a+52>>2];default:break a}}return E(ia[x[x[a>>2]+48>>2]](a))}function Bg(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0;a=x[c>>2];a=x[a+252>>2]==4?a:0;e=x[b>>2];if(!(!e|x[e+252>>2]!=4)){ia[x[x[e>>2]+32>>2]](e,c,d,b)}if(a){ia[x[x[a>>2]+32>>2]](a,b,d,c)}return 0}function gj(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;x[c+8>>2]=-581039253;x[c+12>>2]=0;x[c>>2]=-581039253;x[c+4>>2]=-581039253;x[d+8>>2]=1566444395;x[d+12>>2]=0;x[d>>2]=1566444395;x[d+4>>2]=1566444395}function Lg(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=x[b>>2];d=x[a+84>>2];if(!(!(x[b+8>>2]&x[a+8>>2])|(!(x[a+12>>2]&x[b+4>>2])|(c|0)==(d|0)))){a=x[a+96>>2];e=ia[x[x[a>>2]+28>>2]](a,d,c)|0}return e|0}function co(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=ga-16|0;ga=d;a=x[a+8>>2];if(!(v[33812]&1)){e=Q(3,31860)|0;v[33812]=1;x[8452]=e}e=x[8452];x[d+8>>2]=c;x[d>>2]=b;P(e|0,a|0,2251,d|0);ga=d+16|0}function Yl(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=x[a+52>>2];if((c|0)>0){while(1){e=x[x[a+60>>2]+(d<<2)>>2];if(e){ia[x[x[e>>2]+16>>2]](e,b);c=x[a+52>>2]}d=d+1|0;if((c|0)>(d|0)){continue}break}}}function hd(a){var b=0,c=0;a=Lb(a);x[a+252>>2]=4;x[a>>2]=25104;x[a+336>>2]=0;v[a+340|0]=1;x[a+328>>2]=0;x[a+332>>2]=0;x[8456]=x[8456]+1;b=a,c=ff(ia[x[8258]](72,16)|0),x[b+344>>2]=c;return a}function vd(a){if(!(y[a+204|0]&3)){B[a+472>>2]=E(B[a+424>>2]*B[a+408>>2])+B[a+472>>2];B[a+476>>2]=E(B[a+428>>2]*B[a+412>>2])+B[a+476>>2];B[a+480>>2]=E(B[a+432>>2]*B[a+416>>2])+B[a+480>>2]}}function zh(a){a=a|0;var b=0;x[a>>2]=23996;b=x[a+556>>2];if(!(b?!b|!y[a+560|0]:1)){x[8457]=x[8457]+1;ia[x[8259]](b)}x[a+556>>2]=0;v[a+560|0]=1;x[a+548>>2]=0;x[a+552>>2]=0;return Wa(a)|0}function id(a){a=a|0;var b=0;x[a>>2]=25060;b=x[a+336>>2];if(!(b?!b|!y[a+340|0]:1)){x[8457]=x[8457]+1;ia[x[8259]](b)}x[a+336>>2]=0;v[a+340|0]=1;x[a+328>>2]=0;x[a+332>>2]=0;return Wa(a)|0}function $c(a,b){var c=0,d=0;c=y[a|0];d=y[b|0];a:{if(!c|(c|0)!=(d|0)){break a}while(1){d=y[b+1|0];c=y[a+1|0];if(!c){break a}b=b+1|0;a=a+1|0;if((c|0)==(d|0)){continue}break}}return c-d|0}function Tr(a,b){a=a|0;b=b|0;var c=0,d=0;c=x[a+100>>2];x[a+100>>2]=c+1;d=x[b+12>>2];c=(c<<4)+a|0;x[c+112>>2]=x[b+8>>2];x[c+116>>2]=d;d=x[b+4>>2];x[c+104>>2]=x[b>>2];x[c+108>>2]=d;pc(a)}function lg(a){a=a|0;var b=0;x[a>>2]=25216;b=x[a+124>>2];if(!(b?!b|!y[a+128|0]:1)){x[8457]=x[8457]+1;ia[x[8259]](b)}x[a+124>>2]=0;v[a+128|0]=1;x[a+116>>2]=0;x[a+120>>2]=0;return a|0}function Wa(a){a=a|0;var b=0;x[a>>2]=13004;b=x[a+296>>2];if(!(b?!b|!y[a+300|0]:1)){x[8457]=x[8457]+1;ia[x[8259]](b)}x[a+296>>2]=0;v[a+300|0]=1;x[a+288>>2]=0;x[a+292>>2]=0;return a|0}function Dg(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;a=x[c>>2];a=x[a+252>>2]==4?a:0;d=x[b>>2];if(!(!d|x[d+252>>2]!=4)){ia[x[x[d>>2]+28>>2]](d,c,b)}if(a){ia[x[x[a>>2]+28>>2]](a,b,c)}return 0}function Rr(){var a=0;a=ga-32|0;ga=a;if(!y[33780]){x[a+24>>2]=0;x[a+28>>2]=1;x[a+16>>2]=4096;x[a+20>>2]=4096;x[a+8>>2]=0;x[a+12>>2]=0;Ac(a+8|0);v[33780]=1}ga=a+32|0;return 33692}function Ho(a){a=a|0;var b=0,c=0;x[a>>2]=31472;if(y[a+136|0]){b=x[a+140>>2];if(!(v[33796]&1)){c=Q(1,31584)|0;v[33796]=1;x[8448]=c}P(x[8448],b|0,3211,0)}R(x[a+140>>2]);return a|0}function ub(a){var b=E(0);b=Fa(E(B[a>>2]+B[a+4>>2]));if(bE(3.1415927410125732)?E(b+E(-6.2831854820251465)):b}function tb(a){var b=E(0);b=Fa(E(B[a>>2]-B[a+4>>2]));if(bE(3.1415927410125732)?E(b+E(-6.2831854820251465)):b}function _n(a,b){a=a|0;b=b|0;var c=0,d=0;c=ga-16|0;ga=c;a=x[a+76>>2];if(!(v[33820]&1)){d=Q(2,32076)|0;v[33820]=1;x[8454]=d}d=x[8454];x[c+8>>2]=b;P(d|0,a|0,4677,c+8|0);ga=c+16|0}function Zc(a,b){var c=0;a:{if(!b){break a}b=Ia(b,30180);if(!b|x[b+8>>2]&(x[a+8>>2]^-1)){break a}if(!za(x[a+12>>2],x[b+12>>2],0)){break a}c=za(x[a+16>>2],x[b+16>>2],0)}return c}function oc(a){a=a|0;var b=0;x[a>>2]=21928;b=x[a+32>>2];if(!(b?!b|!y[a+36|0]:1)){x[8457]=x[8457]+1;ia[x[8259]](b)}x[a+32>>2]=0;v[a+36|0]=1;x[a+24>>2]=0;x[a+28>>2]=0;return a|0}function cf(a){a=a|0;var b=0;x[a>>2]=12836;b=x[a+20>>2];if(!(b?!b|!y[a+24|0]:1)){x[8457]=x[8457]+1;ia[x[8259]](b)}x[a+20>>2]=0;v[a+24|0]=1;x[a+12>>2]=0;x[a+16>>2]=0;return a|0}function Kq(a,b,c,d){a=a|0;b=E(b);c=E(c);d=E(d);var e=0;e=ga-128|0;ga=e;ia[x[x[a>>2]+8>>2]](e,a);B[e+120>>2]=d;B[e+116>>2]=c;B[e+112>>2]=b;ia[x[x[a>>2]+12>>2]](a,e);ga=e+128|0}function Yn(a){a=a|0;var b=0,c=0;x[a>>2]=32056;if(y[a+72|0]){b=x[a+76>>2];if(!(v[33796]&1)){c=Q(1,31584)|0;v[33796]=1;x[8448]=c}P(x[8448],b|0,3211,0)}R(x[a+76>>2]);return a|0}function Lq(a,b,c,d){a=a|0;b=E(b);c=E(c);d=E(d);var e=0;e=ga-128|0;ga=e;ia[x[x[a>>2]+8>>2]](e,a);B[e+104>>2]=d;B[e+100>>2]=c;B[e+96>>2]=b;ia[x[x[a>>2]+12>>2]](a,e);ga=e+128|0}function Xa(a){var b=0,c=0;b=x[8268];c=a+7&-8;a=b+c|0;a:{if(a>>>0<=b>>>0?c:0){break a}if(a>>>0>ja()<<16>>>0){if(!(ba(a|0)|0)){break a}}x[8268]=a;return b}x[8951]=48;return-1}function fl(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0;if(b>>>0<=11){b=b<<2;e=x[b+18404>>2];b=x[b+18356>>2]}else{b=0}ia[x[x[a>>2]+108>>2]](a,b,c);ia[x[x[a>>2]+108>>2]](a,e,d)}function Qq(a,b,c,d){a=a|0;b=E(b);c=E(c);d=E(d);var e=0;e=ga-128|0;ga=e;ia[x[x[a>>2]+8>>2]](e,a);B[e+24>>2]=d;B[e+20>>2]=c;B[e+16>>2]=b;ia[x[x[a>>2]+12>>2]](a,e);ga=e+128|0}function Pq(a,b,c,d){a=a|0;b=E(b);c=E(c);d=E(d);var e=0;e=ga-128|0;ga=e;ia[x[x[a>>2]+8>>2]](e,a);B[e+40>>2]=d;B[e+36>>2]=c;B[e+32>>2]=b;ia[x[x[a>>2]+12>>2]](a,e);ga=e+128|0}function Oq(a,b,c,d){a=a|0;b=E(b);c=E(c);d=E(d);var e=0;e=ga-128|0;ga=e;ia[x[x[a>>2]+8>>2]](e,a);B[e+56>>2]=d;B[e+52>>2]=c;B[e+48>>2]=b;ia[x[x[a>>2]+12>>2]](a,e);ga=e+128|0}function Nq(a,b,c,d){a=a|0;b=E(b);c=E(c);d=E(d);var e=0;e=ga-128|0;ga=e;ia[x[x[a>>2]+8>>2]](e,a);B[e+72>>2]=d;B[e+68>>2]=c;B[e+64>>2]=b;ia[x[x[a>>2]+12>>2]](a,e);ga=e+128|0}function Mq(a,b,c,d){a=a|0;b=E(b);c=E(c);d=E(d);var e=0;e=ga-128|0;ga=e;ia[x[x[a>>2]+8>>2]](e,a);B[e+88>>2]=d;B[e+84>>2]=c;B[e+80>>2]=b;ia[x[x[a>>2]+12>>2]](a,e);ga=e+128|0}function fo(a){a=a|0;var b=0,c=0;x[a>>2]=31840;if(y[a+4|0]){b=x[a+8>>2];if(!(v[33796]&1)){c=Q(1,31584)|0;v[33796]=1;x[8448]=c}P(x[8448],b|0,3211,0)}R(x[a+8>>2]);return a|0}function bo(a){a=a|0;var b=0,c=0;x[a>>2]=32056;if(y[a+72|0]){b=x[a+76>>2];if(!(v[33796]&1)){c=Q(1,31584)|0;v[33796]=1;x[8448]=c}P(x[8448],b|0,3211,0)}R(x[a+76>>2]);va(a)}function Zp(a){a=a|0;var b=0,c=E(0),d=0;b=x[a+220>>2];a:{if(y[35721]|(b|0)==4){break a}c=B[8267];if(c==E(0)){break a}d=1;if((b&-2)==2){break a}d=B[a+224>>2]>c}return d|0}function Jn(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;if((b|0)!=(c|0)){d=x[x[a+4>>2]+96>>2];ia[x[x[d>>2]+8>>2]](d,x[b+36>>2],x[c+36>>2])|0;a=x[a+4>>2];x[a+120>>2]=x[a+120>>2]+1}}function Rq(a,b,c,d){a=a|0;b=E(b);c=E(c);d=E(d);var e=0;e=ga-128|0;ga=e;ia[x[x[a>>2]+8>>2]](e,a);B[e+8>>2]=d;B[e+4>>2]=c;B[e>>2]=b;ia[x[x[a>>2]+12>>2]](a,e);ga=e+128|0}function eo(a){a=a|0;var b=0,c=0;x[a>>2]=31840;if(y[a+4|0]){b=x[a+8>>2];if(!(v[33796]&1)){c=Q(1,31584)|0;v[33796]=1;x[8448]=c}P(x[8448],b|0,3211,0)}R(x[a+8>>2]);va(a)}function fn(a,b){a=a|0;b=b|0;var c=0;a=x[a+68>>2];c=x[a+12>>2];if(c){x[a+12>>2]=x[c>>2];x[a+8>>2]=x[a+8>>2]-1;return c|0}x[8456]=x[8456]+1;return ia[x[8258]](b,16)|0}function Tb(a,b){var c=0;if(x[b+40>>2]){Tb(a,x[b+36>>2]);Tb(a,x[b+40>>2])}if(x[a>>2]==(b|0)){x[a>>2]=0}c=x[a+4>>2];if(c){x[8457]=x[8457]+1;ia[x[8259]](c)}x[a+4>>2]=b}function _c(a,b,c,d){var e=0,f=0;e=x[a+4>>2];f=x[a>>2];a=0;a:{if(!c){break a}a=e>>8;if(!(e&1)){break a}a=x[a+x[c>>2]>>2]}ia[x[x[f>>2]+28>>2]](f,b,a+c|0,e&2?d:2)}function kq(a,b){a=a|0;b=b|0;var c=0;x[a+304>>2]=x[a+304>>2]+1;c=x[b+4>>2];x[a+604>>2]=x[b>>2];x[a+608>>2]=c;c=x[b+12>>2];x[a+612>>2]=x[b+8>>2];x[a+616>>2]=c}function hq(a,b){a=a|0;b=b|0;var c=0;x[a+304>>2]=x[a+304>>2]+1;c=x[b+4>>2];x[a+372>>2]=x[b>>2];x[a+376>>2]=c;c=x[b+12>>2];x[a+380>>2]=x[b+8>>2];x[a+384>>2]=c}function gq(a,b){a=a|0;b=b|0;var c=0;x[a+304>>2]=x[a+304>>2]+1;c=x[b+4>>2];x[a+388>>2]=x[b>>2];x[a+392>>2]=c;c=x[b+12>>2];x[a+396>>2]=x[b+8>>2];x[a+400>>2]=c}function Xq(a,b,c){a=a|0;b=b|0;c=E(c);a:{if((b|0)<=2){a=a+680|0;B[(a+(b<<2)|0)+140>>2]=c;v[(a+b|0)+156|0]=1;break a}a=D(b,88)+a|0;v[a+760|0]=1;B[a+756>>2]=c}}function Wq(a,b,c){a=a|0;b=b|0;c=E(c);a:{if((b|0)<=2){a=a+680|0;B[(a+(b<<2)|0)+160>>2]=c;v[(a+b|0)+176|0]=1;break a}a=D(b,88)+a|0;v[a+768|0]=1;B[a+764>>2]=c}}function Af(a,b){a=a|0;b=b|0;var c=0;if(!(x[a+12>>2]&x[b+4>>2])){return 0}c=1;a:{if(y[a+152|0]){break a}a=x[b>>2];if(!a){break a}c=!(y[a+204|0]&4)}return c|0}function ke(a){a=a|0;var b=0;x[a>>2]=18524;if(y[a+69|0]){b=x[a+60>>2];ia[x[x[b>>2]>>2]](b)|0;b=x[a+60>>2];if(b){x[8457]=x[8457]+1;ia[x[8259]](b)}}return a|0}function Bf(a,b){a=a|0;b=b|0;var c=0;if(!(x[a+12>>2]&x[b+4>>2])){return 0}c=1;a:{if(y[a+88|0]){break a}a=x[b>>2];if(!a){break a}c=!(y[a+204|0]&4)}return c|0}function Tg(a,b){a=a|0;b=b|0;var c=0;if(y[a+289|0]){c=x[a+216>>2];if(c){x[8457]=x[8457]+1;ia[x[8259]](c)}}x[a+216>>2]=b;v[a+289|0]=0;x[x[a+212>>2]+8>>2]=b}function Ka(a){var b=0,c=0;b=a*a;c=b*a;return E(c*(b*b)*(b*2718311493989822e-21+-.00019839334836096632)+(c*(b*.008333329385889463+-.16666666641626524)+a))}function Fh(a){a=a|0;x[8761]=23996;a=x[8900];if(!(a?!a|!y[35604]:1)){x[8457]=x[8457]+1;ia[x[8259]](a)}v[35604]=1;x[8898]=0;x[8899]=0;x[8900]=0;Wa(35044)}function xo(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=E(f);ia[x[x[a>>2]+16>>2]](a,b,c,e);ia[x[x[a>>2]+16>>2]](a,c,d,e);ia[x[x[a>>2]+16>>2]](a,d,b,e)}function Rj(a){a=a|0;var b=E(0),c=E(0);b=B[a+36>>2];c=E(ia[x[x[a>>2]+48>>2]](a));E(ia[x[x[a>>2]+48>>2]](a));E(ia[x[x[a>>2]+48>>2]](a));return E(E(b+c))}function Dn(a,b,c){a=a|0;b=b|0;c=c|0;a:{if(!c){break a}a=x[b+8>>2];if(!a){break a}ia[x[x[a>>2]>>2]](a)|0;ia[x[x[c>>2]+60>>2]](c,x[b+8>>2]);x[b+8>>2]=0}}function gn(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0;e=ga-16|0;ga=e;x[e+12>>2]=a;x[e+8>>2]=c;x[e+4>>2]=12944;ia[x[x[b>>2]+48>>2]](b,e+4|0,d);ga=e+16|0}function ak(a,b){a=a|0;b=b|0;var c=0,d=0;d=x[b+4>>2];c=x[a+100>>2];x[c+4>>2]=x[b>>2];x[c+8>>2]=d;d=x[b+12>>2];x[c+12>>2]=x[b+8>>2];x[c+16>>2]=d;pc(a)}function Gc(a){a=a|0;var b=0;x[a>>2]=15724;b=x[a+48>>2];ia[x[x[b>>2]+20>>2]](b,x[a+64>>2]);b=x[a+48>>2];ia[x[x[b>>2]+16>>2]](b,x[a+64>>2]);return a|0}function ze(a){a=a|0;var b=0,c=0;x[a>>2]=17912;a:{if(!y[a+8|0]){break a}b=x[a+12>>2];if(!b){break a}c=x[a+4>>2];ia[x[x[c>>2]+16>>2]](c,b)}return a|0}function ye(a){a=a|0;var b=0,c=0;x[a>>2]=17988;a:{if(!y[a+8|0]){break a}b=x[a+12>>2];if(!b){break a}c=x[a+4>>2];ia[x[x[c>>2]+16>>2]](c,b)}return a|0}function ib(a,b){a=a|0;b=b|0;var c=E(0),d=E(0),e=E(0);c=B[b>>2];d=B[b+4>>2];e=B[b+8>>2];x[a+32>>2]=0;B[a+28>>2]=F(e);B[a+24>>2]=F(d);B[a+20>>2]=F(c)}function hb(a){a=a|0;var b=0;x[a>>2]=20860;b=x[a+60>>2];if(b){ia[x[x[b>>2]>>2]](b)|0;b=x[a+60>>2];if(b){x[8457]=x[8457]+1;ia[x[8259]](b)}}return a|0}function De(a){a=a|0;var b=0,c=0;x[a>>2]=16604;a:{if(!y[a+8|0]){break a}b=x[a+12>>2];if(!b){break a}c=x[a+4>>2];ia[x[x[c>>2]+16>>2]](c,b)}return a|0}function Ce(a){a=a|0;var b=0,c=0;x[a>>2]=16676;a:{if(!y[a+8|0]){break a}b=x[a+12>>2];if(!b){break a}c=x[a+4>>2];ia[x[x[c>>2]+16>>2]](c,b)}return a|0}function Bn(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=ga-16|0;ga=d;x[d+12>>2]=c;x[d+8>>2]=a;x[d+4>>2]=b;x[d>>2]=12476;ia[x[x[a>>2]+48>>2]](a,d,c);ga=d+16|0}function em(a,b,c){a=a|0;b=b|0;c=c|0;a=(b<<4)+a|0;b=x[a+76>>2];x[c+8>>2]=x[a+72>>2];x[c+12>>2]=b;a=a- -64|0;b=x[a+4>>2];x[c>>2]=x[a>>2];x[c+4>>2]=b}function Uf(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;if(za(a,x[b+8>>2],f)){Xb(b,c,d,e);return}a=x[a+8>>2];ia[x[x[a>>2]+20>>2]](a,b,c,d,e,f)}function ie(a,b,c){a=Ha(a);B[a+52>>2]=b;x[a>>2]=19116;x[a+60>>2]=1;x[a+4>>2]=10;B[a+36>>2]=b;x[a+48>>2]=0;B[a+44>>2]=b;B[a+40>>2]=c*E(.5);return a}function ad(a){var b=0,c=0;c=a>>>23&255;b=0;a:{if(c>>>0<127){break a}b=2;if(c>>>0>150){break a}c=1<<150-c;b=0;if(c-1&a){break a}b=a&c?1:2}return b}function Iq(a,b,c){a=E(a);b=E(b);c=E(c);var d=0;x[8456]=x[8456]+1;d=ia[x[8258]](16,16)|0;x[d+12>>2]=0;B[d+8>>2]=c;B[d+4>>2]=b;B[d>>2]=a;return d|0}function sn(a,b){a=a|0;b=b|0;var c=0;c=x[a+4>>2];if(!((c|0)!=x[b>>2]&(c|0)!=x[b+4>>2])){c=x[a+8>>2];ia[x[x[c>>2]+32>>2]](c,b,x[a+12>>2])}return 0}function Wi(a,b,c){a=a|0;b=b|0;c=c|0;a=(b<<4)+a|0;b=x[a+116>>2];x[c+8>>2]=x[a+112>>2];x[c+12>>2]=b;b=x[a+108>>2];x[c>>2]=x[a+104>>2];x[c+4>>2]=b}function jn(a,b,c){a=a|0;b=b|0;c=c|0;a=0;b=x[b+204>>2];a:{if(b&4){break a}c=x[c+204>>2];if(c&4){break a}if(!(b&3)){return 1}a=!(c&3)}return a|0}function Vr(){if(!y[33688]){x[8415]=0;x[8416]=0;x[8413]=35;x[8414]=0;x[8417]=0;x[8412]=20152;x[8413]=27;x[8412]=20260;v[33688]=1}return 33648}function La(a){var b=0;a=a*a;b=a*a;return E(a*b*(a*2439044879627741e-20+-.001388676377460993)+(b*.04166662332373906+(a*-.499999997251031+1)))}function Dl(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;a=x[b>>2];a=ia[x[x[a>>2]+56>>2]](a,8)|0;x[a>>2]=14940;x[a+4>>2]=x[b>>2];x[a>>2]=17728;return a|0}function hl(a,b,c){a=a|0;b=b|0;c=c|0;if(b>>>0<=5){x[c+12>>2]=0;a=b<<2;B[c+8>>2]=B[a+18332>>2];B[c+4>>2]=B[a+18308>>2];B[c>>2]=B[a+18284>>2]}}function Fd(a,b){var c=0,d=0;d=Gd(a);c=x[a+288>>2];x[b+8>>2]=x[a+284>>2];x[b+12>>2]=c;c=x[a+280>>2];x[b>>2]=x[a+276>>2];x[b+4>>2]=c;return d}function _r(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0;f=x[a+32>>2];x[f>>2]=x[f>>2]+1;nc(a,mc(a,b,e));nc(a,mc(a,c,e));nc(a,mc(a,d,e))}function zp(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0;f=x[a>>2];a=x[a+4>>2];b=(a>>1)+b|0;if(a&1){f=x[f+x[b>>2]>>2]}ia[f|0](b,c,d,e)}function Ui(a,b,c,d,e){a=a|0;b=E(b);c=E(c);d=E(d);e=E(e);B[a+232>>2]=b;B[a+236>>2]=d;B[a+228>>2]=c;B[a+240>>2]=e;x[a+304>>2]=x[a+304>>2]+4}function wq(){if(!y[33484]){x[8351]=-1;x[8352]=0;x[8349]=1065353216;x[8350]=-1;v[33480]=1;x[8369]=0;x[8348]=30912;v[33484]=1}return 33392}function Um(a){a=a|0;var b=0,c=0;b=ga-16|0;ga=b;ia[x[8262]](4017);c=x[a+68>>2];ia[x[x[c>>2]+32>>2]](c,x[a+24>>2]);ia[x[8263]]();ga=b+16|0}function Wl(){if(!y[33228]){x[8285]=1065353216;x[8286]=0;v[33224]=1;x[8305]=0;x[8284]=30760;x[8287]=-1;x[8288]=0;v[33228]=1}return 33136}function Wb(a,b,c,d,e,f){var g=0,h=0;g=x[a+4>>2];h=g>>8;a=x[a>>2];if(g&1){h=x[x[d>>2]+h>>2]}ia[x[x[a>>2]+20>>2]](a,b,c,d+h|0,g&2?e:2,f)}function Io(a,b,c,d,e,f,g,h,i,j){a=a|0;b=E(b);c=E(c);d=E(d);e=e|0;f=f|0;g=g|0;h=E(h);i=E(i);j=E(j);return ia[a|0](b,c,d,e,f,g,h,i,j)|0}function _p(a){a=a|0;x[a+472>>2]=0;x[a+476>>2]=0;x[a+496>>2]=0;x[a+500>>2]=0;x[a+488>>2]=0;x[a+492>>2]=0;x[a+480>>2]=0;x[a+484>>2]=0}function nb(a,b,c,d,e){var f=0,g=0;f=x[a+4>>2];g=f>>8;a=x[a>>2];if(f&1){g=x[x[c>>2]+g>>2]}ia[x[x[a>>2]+24>>2]](a,b,c+g|0,f&2?d:2,e)}function jh(a,b){a=a|0;b=b|0;var c=0;c=x[b+268>>2];x[a>>2]=x[b+264>>2];x[a+4>>2]=c;c=x[b+276>>2];x[a+8>>2]=x[b+272>>2];x[a+12>>2]=c}function ir(a,b){a=a|0;b=b|0;var c=0;c=x[b+4>>2];x[a+300>>2]=x[b>>2];x[a+304>>2]=c;c=x[b+12>>2];x[a+308>>2]=x[b+8>>2];x[a+312>>2]=c}function hr(a,b){a=a|0;b=b|0;var c=0;c=x[b+4>>2];x[a+316>>2]=x[b>>2];x[a+320>>2]=c;c=x[b+12>>2];x[a+324>>2]=x[b+8>>2];x[a+328>>2]=c}function Wr(a){a=a|0;var b=0;x[8456]=x[8456]+1;b=Td(ia[x[8258]](104,16)|0);x[b+100>>2]=a;x[b>>2]=19780;x[b+4>>2]=3;pc(b);return b|0}function Jj(a,b){a=a|0;b=b|0;var c=0;c=x[b+4>>2];x[a+116>>2]=x[b>>2];x[a+120>>2]=c;c=x[b+12>>2];x[a+124>>2]=x[b+8>>2];x[a+128>>2]=c}function An(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=ga-16|0;ga=d;x[d+12>>2]=b;x[d+8>>2]=12648;ia[x[x[a>>2]+48>>2]](a,d+8|0,c);ga=d+16|0}function qg(a){a=a|0;if(v[35791]<0){va(x[8945])}if(v[35779]<0){va(x[8942])}if(v[35767]<0){va(x[8939])}if(v[35755]<0){va(x[8936])}}function hs(a){a=a|0;if(v[33135]<0){va(x[8281])}if(v[33123]<0){va(x[8278])}if(v[33111]<0){va(x[8275])}if(v[33099]<0){va(x[8272])}}function Aa(a){var b=0;a=a>>>0<=1?1:a;a:{while(1){b=ob(a);if(b){break a}b=x[9076];if(b){ia[b|0]();continue}break}W();r()}return b}function up(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0;e=x[a>>2];a=x[a+4>>2];b=(a>>1)+b|0;if(a&1){e=x[e+x[b>>2]>>2]}ia[e|0](b,c,d)}function cj(a,b){a=a|0;b=b|0;var c=0;c=x[b+4>>2];x[a+76>>2]=x[b>>2];x[a+80>>2]=c;c=x[b+12>>2];x[a+84>>2]=x[b+8>>2];x[a+88>>2]=c}function ce(a,b){a=a|0;b=b|0;var c=0;c=x[b+4>>2];x[a+24>>2]=x[b>>2];x[a+28>>2]=c;c=x[b+12>>2];x[a+32>>2]=x[b+8>>2];x[a+36>>2]=c}function ag(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;if(za(a,x[b+8>>2],0)){Yb(b,c,d);return}a=x[a+8>>2];ia[x[x[a>>2]+28>>2]](a,b,c,d)}function vq(){var a=0;a=Aa(16);x[a+8>>2]=1036831949;x[a+12>>2]=1036831949;x[a>>2]=1036831949;x[a+4>>2]=1058642330;return a|0}function Jo(a,b,c,d,e,f,g,h,i){a=a|0;b=E(b);c=E(c);d=E(d);e=e|0;f=f|0;g=g|0;h=E(h);i=E(i);return ia[a|0](b,c,d,e,f,g,h,i)|0}function Gq(a,b,c,d){a=E(a);b=E(b);c=E(c);d=E(d);var e=0;e=Aa(16);B[e+12>>2]=d;B[e+8>>2]=c;B[e+4>>2]=b;B[e>>2]=a;return e|0}function fd(a){a=a|0;var b=0;x[a>>2]=25216;b=x[a+124>>2];if(!(b?!b|!y[a+128|0]:1)){x[8457]=x[8457]+1;ia[x[8259]](b)}va(a)}function yo(a,b,c,d,e,f,g,h,i){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=E(i);ia[x[x[a>>2]+36>>2]](a,b,c,d,h,i)}function Sc(a,b){a=a|0;b=b|0;var c=0;c=ga-16|0;ga=c;x[c+12>>2]=b;a=ia[a|0](c+12|0)|0;R(x[c+12>>2]);ga=c+16|0;return a|0}function Pb(a,b){var c=0;Sb(a,b);c=x[a+4>>2];if(c){x[8457]=x[8457]+1;ia[x[8259]](c)}x[a+4>>2]=b;x[a+12>>2]=x[a+12>>2]-1}function qp(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=x[a>>2];a=x[a+4>>2];b=(a>>1)+b|0;if(a&1){d=x[d+x[b>>2]>>2]}ia[d|0](b,c)}function ko(a){a=a|0;var b=0;a=x[a+140>>2];if(!(v[33796]&1)){b=Q(1,31584)|0;v[33796]=1;x[8448]=b}P(x[8448],a|0,4404,0)}function io(a){a=a|0;var b=0;a=x[a+140>>2];if(!(v[33796]&1)){b=Q(1,31584)|0;v[33796]=1;x[8448]=b}P(x[8448],a|0,4415,0)}function Ur(){var a=0;x[8456]=x[8456]+1;a=Td(ia[x[8258]](168,16)|0);x[a+100>>2]=0;x[a>>2]=21636;x[a+4>>2]=2;return a|0}function Xl(a,b){a=a|0;b=b|0;var c=0,d=0;c=a;d=x[x[x[a+4>>2]+4>>2]+32>>2];a=x[b+36>>2];Ge(c,x[(d+D(a,80)|0)+64>>2],a)}function op(a){a=a|0;var b=0;b=Aa(80);v[b+72|0]=0;x[b+4>>2]=-1;x[b+76>>2]=x[a>>2];x[a>>2]=0;x[b>>2]=32028;return b|0}function er(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;x[8456]=x[8456]+1;return Ad(ia[x[8258]](1460,16)|0,a,b,c,d,e)|0}function pq(a,b,c){a=a|0;b=E(b);c=E(c);B[a+508>>2]=cE(1)?E(1):c;B[a+504>>2]=bE(1)?E(1):b}function fm(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;ia[x[x[a>>2]+108>>2]](a,b,c);ia[x[x[a>>2]+108>>2]](a,(b+1|0)%3|0,d)}function za(a,b,c){if(!c){return x[a+4>>2]==x[b+4>>2]}if((a|0)==(b|0)){return 1}return!$c(x[a+4>>2],x[b+4>>2])}function he(a,b){a=a|0;b=b|0;x[a>>2]=0;x[a+4>>2]=0;x[a+8>>2]=0;x[a+12>>2]=0;x[a+(x[b+60>>2]<<2)>>2]=1065353216}function Wn(a,b){a=a|0;b=b|0;var c=0;a=ia[x[8260]]((a+b|0)+3|0)|0;if(a){c=(a+b|0)+3&0-b;x[c-4>>2]=a}return c|0}function wp(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=a,e=X((v[b+11|0]<0?x[b>>2]:b)|0,31276,x[c>>2])|0,x[d>>2]=e}function rp(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=a,e=X((v[b+11|0]<0?x[b>>2]:b)|0,31744,x[c>>2])|0,x[d>>2]=e}function np(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=a,e=X((v[b+11|0]<0?x[b>>2]:b)|0,31960,x[c>>2])|0,x[d>>2]=e}function Ap(a,b){a=a|0;b=b|0;var c=0;c=x[a>>2];a=x[a+4>>2];b=(a>>1)+b|0;if(a&1){c=x[c+x[b>>2]>>2]}ia[c|0](b)}function br(a,b,c){a=a|0;b=b|0;c=c|0;a:{if((b|0)<=2){v[(a+b|0)+792|0]=c;break a}v[(D(b,88)+a|0)+732|0]=c}}function _q(a,b,c){a=a|0;b=b|0;c=c|0;a:{if((b|0)<=2){v[(a+b|0)+795|0]=c;break a}v[(D(b,88)+a|0)+744|0]=c}}function Yq(a,b,c){a=a|0;b=b|0;c=c|0;a:{if((b|0)<=2){v[(a+b|0)+798|0]=c;break a}v[(D(b,88)+a|0)+752|0]=c}}function Jl(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;a=x[b>>2];return Pe(ia[x[x[a>>2]+56>>2]](a,80)|0,b,c,d,0)|0}function Hl(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;a=x[b>>2];return Pe(ia[x[x[a>>2]+56>>2]](a,80)|0,b,c,d,1)|0}function Gl(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;a=x[b>>2];return Ec(ia[x[x[a>>2]+56>>2]](a,84)|0,b,c,d,0)|0}function El(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;a=x[b>>2];return Ec(ia[x[x[a>>2]+56>>2]](a,84)|0,b,c,d,1)|0}function Cf(a,b,c,d,e){a=a|0;b=E(b);c=E(c);d=E(d);e=E(e);B[a+12>>2]=e;B[a+8>>2]=d;B[a+4>>2]=c;B[a>>2]=b}function Fp(a,b){a=a|0;b=b|0;x[a+8>>2]=1065353216;x[a+12>>2]=0;x[a>>2]=1065353216;x[a+4>>2]=1065353216}function sp(a){a=a|0;var b=0;b=Aa(12);v[b+4|0]=0;x[b+8>>2]=x[a>>2];x[a>>2]=0;x[b>>2]=31812;return b|0}function So(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=E(e);f=E(f);g=E(g);return ia[a|0](b,c,d,e,f,g)|0}function Np(a,b){a=a|0;b=b|0;if(!(x[a+12>>2]&x[b+4>>2])){return 0}return(x[b+8>>2]&x[a+8>>2])!=0|0}function hh(a,b){a=a|0;b=b|0;if(!(!b|!(x[b+252>>2]&2))){ia[x[x[a>>2]+92>>2]](a,b);return}Kc(a,b)}function ig(){var a=0;a=x[8948];if(a){while(1){ia[x[a>>2]]();a=x[a+4>>2];if(a){continue}break}}}function Tf(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;if(za(a,x[b+8>>2],f)){Xb(b,c,d,e)}}function ar(a,b,c){a=a|0;b=b|0;c=E(c);B[((b|0)<3?((b<<2)+a|0)+892|0:(D(b,88)+a|0)+740|0)>>2]=c}function ap(a,b,c,d,e,f,g){a=a|0;b=b|0;c=E(c);d=E(d);e=E(e);f=E(f);g=E(g);ia[a|0](b,c,d,e,f,g)}function Uq(a,b,c){a=a|0;b=b|0;c=E(c);B[((b|0)<3?((b<<2)+a|0)+860|0:(D(b,88)+a|0)+772|0)>>2]=c}function Up(a,b){a=a|0;b=b|0;a=x[a+12>>2];if(!(a&x[b+4>>2])){return 0}return(a&x[b+8>>2])!=0|0}function Hq(a,b,c,d){a=a|0;b=E(b);c=E(c);d=E(d);x[a+12>>2]=0;B[a+8>>2]=d;B[a+4>>2]=c;B[a>>2]=b}function $q(a,b,c){a=a|0;b=b|0;c=E(c);B[((b|0)<3?((b<<2)+a|0)+876|0:(D(b,88)+a|0)+736|0)>>2]=c}function Yi(a){a=a|0;a=x[a+100>>2]-2|0;if(a>>>0<=2){a=x[(a<<2)+21796>>2]}else{a=0}return a|0}function an(a,b){a=a|0;b=b|0;var c=0;c=b;b=x[a+8>>2];ia[x[b+64>>2]](c,b,x[a+4>>2]);return 0}function Mo(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=E(g);ia[a|0](b,c,d,e,f,g)}function Mc(a,b){if(y[a+204|0]&3?b:1){if((x[a+220>>2]&-2)!=4){x[a+220>>2]=1}x[a+224>>2]=0}}function _o(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ia[a|0](b,c,d,e,f)|0}function hg(a,b){a=E(a);b=E(b);x[8456]=x[8456]+1;return ie(ia[x[8258]](64,16)|0,a,b)|0}function jk(a,b){a=a|0;b=b|0;x[a+8>>2]=0;x[a+12>>2]=0;x[a>>2]=0;x[a+4>>2]=1065353216}function Qm(a,b){a=a|0;b=b|0;ia[x[x[b>>2]+32>>2]](b);We(a,b);ia[x[x[b>>2]+36>>2]](b)}function Ib(a,b,c){a=a|0;b=E(b);c=c|0;x[c>>2]=0;x[c+4>>2]=0;x[c+8>>2]=0;x[c+12>>2]=0}function mj(a,b,c){a=a|0;b=b|0;c=c|0;x[a>>2]=0;x[a+4>>2]=0;x[a+8>>2]=0;x[a+12>>2]=0}function fp(a,b,c,d,e,f){a=a|0;b=b|0;c=E(c);d=E(d);e=E(e);f=E(f);ia[a|0](b,c,d,e,f)}function gp(a,b,c,d,e){a=a|0;b=E(b);c=E(c);d=E(d);e=E(e);return ia[a|0](b,c,d,e)|0}function Zm(a,b){a=a|0;b=b|0;x[a+200>>2]=b;x[a+192>>2]=b;x[a+304>>2]=x[a+304>>2]+1}function Vq(a,b,c){a=a|0;b=b|0;c=E(c);B[((b|0)<3?(b<<2)+a|0:D(b,88)+a|0)+712>>2]=c}function Ro(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=E(d);e=E(e);f=E(f);ia[a|0](b,c,d,e,f)}function Bo(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;ia[x[x[a>>2]+16>>2]](a,b,c,d)}function Qo(a,b,c,d,e){a=a|0;b=b|0;c=E(c);d=E(d);e=E(e);return ia[a|0](b,c,d,e)|0}function Bm(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;a=a-4|0;ia[x[x[a>>2]+8>>2]](a,b,c,d)}function Ko(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=E(d);e=E(e);return ia[a|0](b,c,d,e)|0}function rf(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;ia[a|0](b,c,d,e,f)}function wr(a,b,c,d){a=a|0;b=E(b);c=c|0;d=E(d);ia[x[x[a>>2]+52>>2]](a,b,c,d)|0}function rn(a,b){a=a|0;b=b|0;a=x[a+4>>2];return(a|0)==x[b>>2]|(a|0)==x[b+4>>2]}function bp(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return ia[a|0](b,c,d,e)|0}function bg(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;if(za(a,x[b+8>>2],0)){Yb(b,c,d)}}function Gr(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=E(f);kb(a,b,c,d,e,f)}function pg(a,b,c){a=a|0;b=b|0;c=E(c);if(y[a+62|0]){Qa(a);Qa(a);Qa(a);Qa(a)}}function gf(a,b){a=a|0;b=b|0;a=x[a+4>>2];ia[x[x[a>>2]+8>>2]](a,x[b+36>>2])|0}function ks(a){var b=0;b=a&31;a=0-a&31;return(-1>>>b&-2)<>>a} +function dm(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;ia[x[x[a>>2]+124>>2]](a,d,b,c)}function Ue(a,b){a=a|0;b=b|0;a=x[a+24>>2];return ia[x[x[a>>2]+8>>2]](a,b)|0}function Do(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;ia[x[x[a>>2]+108>>2]](a,b,c,d)}function yb(a){a=a|0;x[a>>2]=23876;if(a){x[8457]=x[8457]+1;ia[x[8259]](a)}}function Oj(a){a=a|0;x[a>>2]=20364;if(a){x[8457]=x[8457]+1;ia[x[8259]](a)}}function Ng(a){a=a|0;x[8456]=x[8456]+1;return xc(ia[x[8258]](64,16)|0,a)|0}function Me(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;ia[x[x[a>>2]+80>>2]](a,b,c,d)}function Kr(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;ia[x[x[a>>2]+32>>2]](a,b,c,d)}function Jr(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;ia[x[x[a>>2]+36>>2]](a,b,c,d)}function Br(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;ia[x[x[a>>2]+88>>2]](a,b,c,d)}function nd(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;ia[x[x[a>>2]+8>>2]](a,b,c,d)}function hp(a,b,c,d,e){a=a|0;b=b|0;c=E(c);d=E(d);e=E(e);ia[a|0](b,c,d,e)}function Hn(a,b){a=a|0;b=b|0;ia[x[x[a>>2]+8>>2]](a,b,x[x[a+8>>2]+48>>2])}function ip(a,b,c,d){a=a|0;b=E(b);c=E(c);d=E(d);return ia[a|0](b,c,d)|0}function Zo(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=E(d);e=E(e);ia[a|0](b,c,d,e)}function Vo(a,b,c,d,e){a=a|0;b=b|0;c=E(c);d=E(d);e=e|0;ia[a|0](b,c,d,e)}function Lo(a,b,c,d,e){a=a|0;b=b|0;c=E(c);d=d|0;e=E(e);ia[a|0](b,c,d,e)}function Ck(a,b){a=a|0;b=E(b);return E(E(E(ia[x[x[a>>2]+16>>2]](a))*b))}function lj(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;if((d|0)>0){ua(c,0,d<<4)}}function Vi(a){a=a|0;a=x[a+100>>2];return((a|0)==4?4:((a|0)==3)<<1)|0}function Rc(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;ia[a|0](b,c,d,e)}function qf(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ia[a|0](b,c,d)|0}function Jb(a){a=a|0;a=hb(a);if(a){x[8457]=x[8457]+1;ia[x[8259]](a)}}function Ip(a){a=a|0;a=uc(a);if(a){x[8457]=x[8457]+1;ia[x[8259]](a)}}function Ii(a){a=a|0;a=Qd(a);if(a){x[8457]=x[8457]+1;ia[x[8259]](a)}}function Gg(a){a=a|0;a=rb(a);if(a){x[8457]=x[8457]+1;ia[x[8259]](a)}}function jb(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return E(E(1))}function bs(a,b){a=a|0;b=b|0;return x[(x[a+32>>2]+D(b,80)|0)+64>>2]}function Zh(a,b){a=a|0;b=b|0;a=y[a+344|0]?0:3;x[b+4>>2]=a;x[b>>2]=a}function Wp(a,b){a=a|0;b=b|0;a=x[a+540>>2];ia[x[x[a>>2]+8>>2]](a,b)}function Sl(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return E(E(0))}function yg(a){a=a|0;id(a);if(a){x[8457]=x[8457]+1;ia[x[8259]](a)}}function xk(a){a=a|0;uc(a);if(a){x[8457]=x[8457]+1;ia[x[8259]](a)}}function vg(a){a=a|0;gd(a);if(a){x[8457]=x[8457]+1;ia[x[8259]](a)}}function th(a){a=a|0;rb(a);if(a){x[8457]=x[8457]+1;ia[x[8259]](a)}}function sm(a){a=a|0;Oe(a);if(a){x[8457]=x[8457]+1;ia[x[8259]](a)}}function rq(a,b,c){a=a|0;b=E(b);c=E(c);B[a+536>>2]=c;B[a+532>>2]=b}function qm(a){a=a|0;Gc(a);if(a){x[8457]=x[8457]+1;ia[x[8259]](a)}}function qe(a){a=a|0;vc(a);if(a){x[8457]=x[8457]+1;ia[x[8259]](a)}}function og(a){a=a|0;return E(E(E(B[a+156>>2]*E(.5))+B[a+152>>2]))}function bk(){x[8456]=x[8456]+1;return Lb(ia[x[8258]](324,16)|0)|0}function Xk(a){a=a|0;ke(a);if(a){x[8457]=x[8457]+1;ia[x[8259]](a)}}function Pi(a){a=a|0;oc(a);if(a){x[8457]=x[8457]+1;ia[x[8259]](a)}}function Ph(a){a=a|0;yd(a);if(a){x[8457]=x[8457]+1;ia[x[8259]](a)}}function Lr(){x[8456]=x[8456]+1;return zd(ia[x[8258]](236,16)|0)|0}function En(a){a=a|0;df(a);if(a){x[8457]=x[8457]+1;ia[x[8259]](a)}}function Bj(a){a=a|0;_d(a);if(a){x[8457]=x[8457]+1;ia[x[8259]](a)}}function $m(a){a=a|0;Wa(a);if(a){x[8457]=x[8457]+1;ia[x[8259]](a)}}function vh(a,b,c){a=a|0;b=E(b);c=c|0;ia[x[x[a>>2]+32>>2]](a,b,c)}function Fj(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return me(a,b,c,d)|0}function zr(a,b,c){a=a|0;b=b|0;c=c|0;ia[x[x[a>>2]+56>>2]](a,b,c)}function Nk(a,b,c){a=a|0;b=b|0;c=c|0;ia[x[x[b>>2]+68>>2]](a,b,c)}function Or(a,b){a=a|0;b=b|0;return ia[x[x[a>>2]+40>>2]](a,b)|0}function Gn(a,b,c){a=a|0;b=b|0;c=E(c);ia[x[x[a>>2]+12>>2]](a,b)}function go(a,b){a=a|0;b=b|0;ia[x[x[a>>2]+16>>2]](a,b,x[b>>2])}function Hm(a,b,c){a=a|0;b=b|0;c=c|0;x[a+24>>2]=c;x[a+16>>2]=b}function Gm(a,b,c){a=a|0;b=b|0;c=c|0;x[a+28>>2]=c;x[a+20>>2]=b}function $o(a,b,c,d){a=a|0;b=b|0;c=E(c);d=E(d);ia[a|0](b,c,d)}function jd(a,b){a=a|0;b=b|0;return x[x[a+236>>2]+(b<<2)>>2]}function Yo(a,b,c,d){a=a|0;b=b|0;c=c|0;d=E(d);ia[a|0](b,c,d)}function Xo(a,b,c,d){a=a|0;b=b|0;c=E(c);d=d|0;ia[a|0](b,c,d)}function Uo(a,b,c){a=a|0;b=E(b);c=E(c);return ia[a|0](b,c)|0}function Ta(a){a=a|0;if(a){x[8457]=x[8457]+1;ia[x[8259]](a)}}function yq(a,b){a=a|0;b=b|0;return x[x[a+12>>2]+(b<<2)>>2]}function sf(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;ia[a|0](b,c,d)}function cn(a,b){a=a|0;b=b|0;return x[x[a+20>>2]+(b<<2)>>2]}function To(a,b,c){a=a|0;b=b|0;c=E(c);return ia[a|0](b,c)|0}function Po(a,b,c){a=a|0;b=E(b);c=c|0;return ia[a|0](b,c)|0}function dj(a){a=a|0;a=x[a+220>>2];return(a|0)!=2&(a|0)!=5}function cp(a,b,c){a=a|0;b=b|0;c=c|0;return ia[a|0](b,c)|0}function Db(a){a=Ha(a);x[a+60>>2]=0;x[a>>2]=20860;return a}function ih(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ze(a,b,c,d)}function _i(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Sd(a,b,c,d)}function zq(a,b){a=a|0;b=b|0;return x[a+12>>2]+(b<<4)|0}function ng(a,b){a=a|0;b=E(b);B[a+52>>2]=b;B[a+36>>2]=b}function hj(a){a=a|0;return E(E(B[a+36>>2]*B[a+20>>2]))}function eg(a,b,c){a=a|0;b=b|0;c=c|0;return za(a,b,0)|0}function Wg(a,b){a=a|0;b=E(b);ia[x[x[a>>2]+44>>2]](a,b)}function Oe(a){a=a|0;x[a>>2]=15696;Gc(a+8|0);return a|0}function yr(a,b){a=a|0;b=b|0;ia[x[x[a>>2]+60>>2]](a,b)}function uq(a,b){a=a|0;b=b|0;ia[x[x[a>>2]+12>>2]](a,b)}function bn(a){a=a|0;return(x[a+12>>2]?x[a+20>>2]:0)|0}function Xc(a,b){a=a|0;b=b|0;ia[x[x[a>>2]+68>>2]](a,b)}function Vb(a,b){a=a|0;b=b|0;ia[x[x[a>>2]+64>>2]](a,b)}function Tq(a,b){a=a|0;b=b|0;ia[x[x[a>>2]+52>>2]](a,b)}function Ir(a,b){a=a|0;b=b|0;ia[x[x[a>>2]+40>>2]](a,b)}function Fr(a,b){a=a|0;b=b|0;ia[x[x[a>>2]+16>>2]](a,b)}function Dh(a,b){a=a|0;b=b|0;ia[x[x[a>>2]+24>>2]](a,b)}function Cr(a,b){a=a|0;b=b|0;ia[x[x[a>>2]+72>>2]](a,b)}function Ar(a,b){a=a|0;b=b|0;ia[x[x[a>>2]+92>>2]](a,b)}function pi(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=E(e)}function Sq(a){a=a|0;return ia[x[x[a>>2]+56>>2]](a)|0}function Pr(a){a=a|0;return ia[x[x[a>>2]+36>>2]](a)|0}function Pd(a,b){a=a|0;b=b|0;ia[x[x[a>>2]+8>>2]](a,b)}function Cn(a,b){a=a|0;b=b|0;return(D(b,208)+a|0)+4|0}function yl(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0}function kp(a,b){a=a|0;b=b|0;return E(E(ia[a|0](b)))}function vf(a){a=a|0;if(a){ia[x[x[a>>2]+12>>2]](a)}}function is(a){if(a){return 31-G(a-1^a)|0}return 32}function jp(a,b,c){a=a|0;b=b|0;c=E(c);ia[a|0](b,c)}function cl(a,b){a=a|0;b=E(b);B[a+152>>2]=b;Zb(a)} +function Xn(a){a=a|0;if(a){ia[x[8261]](x[a-4>>2])}}function Ub(a){a=a|0;if(a){ia[x[x[a>>2]+4>>2]](a)}}function Aq(a,b){a=a|0;b=b|0;db(a,b);return a+48|0}function tf(a,b,c){a=a|0;b=b|0;c=c|0;ia[a|0](b,c)}function rk(a,b){a=a|0;b=E(b);B[a+156>>2]=b;qb(a)}function mg(a){a=a|0;return E(B[x[a+8>>2]+40>>2])}function hk(a,b){a=a|0;b=E(b);B[a+160>>2]=b;qb(a)}function Wo(a,b){a=a|0;b=E(b);return ia[a|0](b)|0}function Ak(a,b){a=a|0;b=E(b);B[a+152>>2]=b;qb(a)}function $k(a,b){a=a|0;b=E(b);B[a+156>>2]=b;Zb(a)}function uf(a,b){a=a|0;b=b|0;return ia[a|0](b)|0}function eb(a,b,c){$a(a+4|0,a+372|0,a+388|0,b,c)}function nq(a,b,c){a=a|0;b=E(b);c=c|0;ac(a,b,c)}function Yc(a,b,c,d){aa(a|0,b|0,8,0,c|0,-1,d|0)}function Mj(a){a=a|0;return(y[a+204|0]&2)>>>1|0}function Bq(a,b){a=a|0;b=b|0;db(a,b);return b|0}function fe(a,b,c){a=a|0;b=b|0;c=E(c);return 0}function Dj(a){a=a|0;return(y[a+204|0]&3)!=0|0}function ej(a){a=a|0;x[a>>2]=30816;return a|0}function ae(a){a=re(a);x[a>>2]=20484;return a}function Qe(a,b,c,d){a=a|0;b=b|0;c=c|0;d=E(d)}function Pj(a){a=a|0;x[a>>2]=20364;return a|0}function Bd(a){a=a|0;x[a>>2]=23876;return a|0}function bi(a){a=a|0;return x[a+220>>2]==2|0}function Fo(a,b){a=a|0;b=b|0;ya(a,b+8|0,128)}function Er(a){a=a|0;ia[x[x[a>>2]+24>>2]](a)}function Eo(a,b){a=a|0;b=b|0;ya(a+8|0,b,128)}function Eb(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0}function Aj(a,b){a=a|0;b=b|0;B[a+184>>2]=b|0}function wi(a,b){a=a|0;b=E(b);B[a+276>>2]=b}function si(a,b){a=a|0;b=E(b);B[a+272>>2]=b}function nh(a){a=a|0;return x[a+4>>2]==31|0}function mr(a,b){a=a|0;b=E(b);B[a+680>>2]=b}function lr(a,b){a=a|0;b=E(b);B[a+684>>2]=b}function kn(a){a=a|0;return x[a+16>>2]!=0|0}function cb(a){a=a|0;return x[x[a>>2]-4>>2]}function Tc(a,b){a=a|0;b=b|0;ia[x[a>>2]](b)}function Oi(a){a=a|0;return x[a+48>>2]==1|0}function $j(a){a=a|0;return x[a+100>>2]+4|0}function xl(a){a=a|0;return x[a+4>>2]+52|0}function wj(a,b){a=a|0;b=b|0;x[a+220>>2]=b}function vm(a,b){a=a|0;b=E(b);B[a+32>>2]=b}function sr(a,b){a=a|0;b=E(b);B[a+40>>2]=b}function qq(a){a=a|0;return E(B[a+532>>2])}function om(a,b){a=a|0;b=E(b);B[a+28>>2]=b}function ki(a,b){a=a|0;b=b|0;x[a+264>>2]=b}function fs(a,b){a=a|0;b=E(b);B[a+72>>2]=b}function fr(a,b){a=a|0;b=E(b);B[a+16>>2]=b}function Rf(a,b){a=a|0;b=E(b);B[a+64>>2]=b}function Qf(a,b){a=a|0;b=E(b);B[a+68>>2]=b}function Pk(a,b){a=a|0;b=E(b);B[a+20>>2]=b}function Oo(a){a=a|0;return x[a+8>>2]!=0|0}function Ne(a,b){a=a|0;b=E(b);B[a+52>>2]=b}function Li(a,b){a=a|0;b=b|0;x[a+204>>2]=b}function Fi(a){a=a|0;return x[a+56>>2]+4|0}function Ep(a,b){a=a|0;b=E(b);B[a+80>>2]=b}function Dm(a,b){a=a|0;b=E(b);B[a+36>>2]=b}function $p(a,b){a=a|0;b=b|0;x[a+564>>2]=b}function vr(a,b){a=a|0;b=b|0;v[35721]=b^1}function un(a,b){a=a|0;b=b|0;x[a+24>>2]=b}function tr(a){a=a|0;return E(B[a+40>>2])}function tn(a,b){a=a|0;b=b|0;x[a+68>>2]=b}function or(a,b){a=a|0;b=b|0;v[a+736|0]=b}function nr(a,b){a=a|0;b=b|0;v[a+737|0]=b}function dc(a,b){a=a|0;b=b|0;x[a+16>>2]=b}function _e(a){a=a|0;return E(B[a+52>>2])}function Tj(a){a=a|0;return x[a+204>>2]&1}function Pm(a,b){a=a|0;b=b|0;x[a+72>>2]=b}function Ok(a){a=a|0;return E(B[a+20>>2])}function Fq(a){a=a|0;return E(B[a+12>>2])}function Dp(a){a=a|0;return E(B[a+80>>2])}function vo(a,b){a=a|0;b=b|0;x[a+4>>2]=b}function hm(a,b){a=a|0;b=b|0;v[a+62|0]=b}function Ff(a){a=a|0;return E(B[a+4>>2])}function Eh(a,b){a=a|0;b=b|0;x[a+8>>2]=b}function Ef(a){a=a|0;return E(B[a+8>>2])}function $l(a,b){a=a|0;b=b|0;v[a+63|0]=b}function yi(a){a=a|0;return x[a+192>>2]}function qi(a){a=a|0;return x[a+264>>2]}function pf(a){a=a|0;return x[a+204>>2]}function lp(a,b){a=a|0;b=b|0;ia[a|0](b)}function jo(a){a=a|0;return x[a+108>>2]}function ep(a){a=a|0;return ia[a|0]()|0}function bq(a){a=a|0;return x[a+564>>2]}function Zn(a){a=a|0;return x[a+112>>2]}function Zi(a){a=a|0;return x[a+100>>2]}function Xp(a){a=a|0;return x[a+540>>2]}function Vn(a){a=a|0;return x[a+836>>2]}function Uh(a){a=a|0;return x[a+332>>2]}function Th(a){a=a|0;return x[a+220>>2]}function Sg(a){a=a|0;return x[a+216>>2]}function Rg(a){a=a|0;return x[a+228>>2]}function Pn(a){a=a|0;return x[a+840>>2]}function Jq(a,b){a=a|0;b=E(b);B[a>>2]=b}function In(a){a=a|0;return x[a+844>>2]}function Co(a){a=a|0;return x[a+200>>2]}function $h(a){a=a|0;return x[a+748>>2]}function jf(a){a=a|0;return x[a+96>>2]}function dn(a){a=a|0;return x[a+12>>2]}function Ye(a){a=a|0;return x[a+56>>2]}function Vc(a){a=a|0;return E(B[a>>2])}function Te(a){a=a|0;return x[a+60>>2]}function Nc(a){a=a|0;return x[a+72>>2]}function Mf(a){a=a|0;return x[a+24>>2]}function Mb(a){a=a|0;return x[a+16>>2]}function Kf(a){a=a|0;return x[a+84>>2]}function hf(a,b){a=a|0;b=b|0;return 1}function de(a,b,c){a=a|0;b=E(b);c=c|0}function Ti(a,b){a=a|0;b=b|0;return 0}function Cc(a){a=a|0;return x[a+4>>2]}function Bc(a){a=a|0;return x[a+8>>2]}function pj(a,b){a=a|0;b=b|0;Mc(a,b)}function fq(a,b){a=a|0;b=b|0;sb(a,b)}function dp(a){a=a|0;return a- -64|0}function Da(a,b,c){a=a|0;b=b|0;c=c|0}function jq(a){a=a|0;return a+372|0}function iq(a){a=a|0;return a+388|0}function Ij(a){a=a|0;return a+116|0}function Hg(a){a=a|0;return rb(a)|0}function Gj(a){a=a|0;return vc(a)|0}function Gf(a){a=a|0;return ob(a)|0}function Df(a){a=a|0;return a+132|0}function wf(a){a=a|0;return a+48|0}function mp(a){a=a|0;return a+32|0}function es(a){a=a|0;return a+56|0}function bj(a){a=a|0;return a+76|0}function bf(a){a=a|0;return a+20|0}function be(a){a=a|0;return a+24|0}function af(a){a=a|0;return a+36|0}function No(a){a=a|0;return a+16|0}function Nf(a){a=a|0;return a+52|0}function Lf(a){a=a|0;return a+68|0}function If(a){a=a|0;return a+92|0}function Hp(a){a=a|0;return a+84|0}function Hf(a){a=a|0;return a+72|0}function Gh(a){a=a|0;x[a+232>>2]=0}function Bk(a){a=a|0;x[8284]=30816}function yp(a){a=a|0;v[a+136|0]=1}function Si(a){a=a|0;return 10115}function Oc(a){a=a|0;return a+4|0}function Em(a){a=a|0;return a-4|0}function xh(a){a=a|0;qd(a);va(a)}function wl(a){a=a|0;Be(a);va(a)}function sl(a){a=a|0;ze(a);va(a)}function rj(a){a=a|0;return 9166}function pp(a){a=a|0;v[a+72|0]=1}function pn(a){a=a|0;cf(a);va(a)}function pl(a){a=a|0;ye(a);va(a)}function ml(a){a=a|0;return 1476}function lm(a){a=a|0;return 7533}function kk(a){a=a|0;return 7454}function ij(a){a=a|0;return 9188}function aj(a){a=a|0;return 9195}function _l(a){a=a|0;Dc(a);va(a)}function _j(a){a=a|0;return 6544}function Wm(a){a=a|0;Lc(a);va(a)}function Vl(a){a=a|0;Fe(a);va(a)}function Vj(a){a=a|0;return 9149}function Un(a){a=a|0;lf(a);va(a)}function Ql(a){a=a|0;De(a);va(a)}function Qk(a){a=a|0;return 9172}function Qj(a){a=a|0;return 1038}function Ol(a){a=a|0;Ce(a);va(a)}function Ml(a){a=a|0;zc(a);va(a)}function Hj(a){a=a|0;return 9207}function Gp(a){a=a|0;return 7744}function Fk(a){a=a|0;return 7354}function Ci(a){a=a|0;return 9175}function Am(a){a=a|0;Re(a);va(a)}function wa(a){a=a|0;return a|0}function tp(a){a=a|0;v[a+4|0]=1}function oi(a){a=a|0;return 644}function ci(a){a=a|0;return 220}function Xm(a){a=a|0;return 264}function Ch(a){a=a|0;return 496}function xr(a){a=a|0;Wc(33232)}function se(a){a=a|0;return 12}function qj(a){a=a|0;return 76}function le(a){a=a|0;return 84}function Tp(a){a=a|0;Uc(33488)}function Sp(a){a=a|0;va(Wc(a))}function Qr(a){a=a|0;zc(33692)}function Mp(a){a=a|0;va(Uc(a))}function Hi(a){a=a|0;return 28}function Gb(a){a=a|0;return 60}function Fc(a){a=a|0;return 52}function Cp(a){a=a|0;return 24}function Cm(a){a=a|0;va(a-4|0)}function te(a){a=a|0;return 6}function lb(a){a=a|0;return 0}function gl(a){a=a|0;return 8}function Ve(a,b){a=a|0;b=E(b)}function Le(a){a=a|0;return 2}function Ke(a){a=a|0;return 3}function Je(a){a=a|0;return 1}function Na(a,b){a=a|0;b=b|0}function ta(a){a=a|0;va(a)}function Ea(a){a=a|0;r()}function fg(){W();r()}function Pa(a){a=a|0}function Fn(){} // EMSCRIPTEN_END_FUNCS -e=K;p(q);var va=c([null,Uk,Ns,cr,ib,it,rc,zb,Tq,Sq,rc,La,La,zb,Rq,Qq,Id,Pq,Oq,Wg,zb,Mq,Wg,La,La,zb,Lq,Kq,Id,Jq,rc,zb,Iq,rc,La,La,zb,Hq,Gq,Id,Fq,gh,Vg,Ia,Eq,Kd,Dq,as,Cq,mq,Tg,$r,Bq,Kd,eh,dh,_r,Aq,Zr,zq,Kd,eh,dh,Yr,ch,yq,Xr,xq,Wr,Ur,Ug,Tr,wq,Sr,Ue,Or,Nr,Sg,od,Qr,Rr,Ps,Os,Ms,zs,Ls,uq,Ks,Js,tq,Hs,Tg,Is,Fs,Es,sq,Gs,Ds,Cs,Bs,As,hh,ys,rq,hh,xs,qq,qs,Sg,ps,pq,os,ns,ms,ws,vs,us,ss,rs,Ti,Vg,cj,Ui,oq,me,Hd,Ki,Dc,hj,jh,vg,Bi,qi,Th,nq,Lh,Rt,Qt,kq,Fh,jq,zh,Mt,Ht,At,zt,yt,iq,wt,xt,jt,hq,rt,qt,Rg,pt,Qg,jg,ot,gq,nt,fq,mt,lt,kt,vt,lh,ut,tt,tc,st,Hd,El,jk,Ue,bl,Jj,Gj,Tk,Rk,Qk,ql,wl,gl,zd,Dk,Og,ck,Vj,Nj,Pj,Kk,Ej,Mr,eq,vr,ur,zr,Jr,Ir,Hr,Gr,Fr,Br,Er,Ar,Dr,qr,tr,rr,Lr,Kr,pr,yr,xr,wr,or,Md,ft,ht,gt,Op,Og,vp,qp,np,gp,$o,Xo,La,Xp,Ug,vq,lq,et,dt,bt,Hd,at,ct,$s,dq,_s,Zs,Xs,Qg,Qs,Ws,Rs,cq,Vs,Us,Ts,Ss,tc,Ld,ls,ks,js,hs,gs,fs,es,ds,cs,bs,Yo,Fn,Ys,Dc,is,Rg,fh,bh,ah,rm,Dc,St,kh,mh,ih,kr,Nq,fh,bh,ah,Cr,sr,kh,mh,ih,Pr,ch,od,md,zd,wg,vg,tg,qg,jg,fn,bq,$m,bo,Un,Mn,En,yn,Qm,aq,Jm,Dm,vm,qm,$p,lm,bm,Vl,Ol,Gd,Gd,Gd,Vr,Xg,Oj,Ia,$g,nr,Xa,mr,Pt,ts,lr,_g,jr,ir,hr,Zg,La,Ia,$g,gr,Uq,er,_g,dr,br,ar,fr,Yg,gd,$q,Ll,Tl,Rl,Sl,Jl,_q,Kl,Zq,Yq,Xq,Wq,Vq,Il,Ql,Nl,Ml,Pg,_p,Zp,Yp,Wp,Vp,Up,Tp,Sp,Rp,Qp,Ya,Wa,Pp,od,Np,Mp,Lp,Kp,Jp,Ip,Hp,Gp,Fp,Ep,Dp,Cp,Bp,Xa,ib,ib,La,Xa,Ap,Ya,Ng,zp,yp,Xa,Mg,xp,wp,up,tp,Xa,rp,sp,gh,Ia,Hg,pp,op,mp,ip,lp,kp,jp,hp,Fg,Fg,fp,ep,ib,La,Ia,dp,cp,bp,Eg,Eg,Ia,Wa,Dg,Ia,Dg,ap,_o,ib,Zo,yg,Wo,Oo,Ro,To,nc,nc,zd,Vo,md,Uo,No,Qo,So,yb,Mo,Po,La,Ia,Lo,Ia,Ko,Jo,xg,Io,Eo,Ho,Fo,Go,Co,Do,Bo,yo,xo,wo,yd,yd,Ao,zo,Ia,vo,sb,uo,so,ro,qo,ug,to,wd,po,oo,no,io,yd,mg,ko,lo,sg,vd,mo,jo,ig,Ya,Wa,La,Ia,La,Ia,Ij,ho,Ia,go,Ia,hg,fo,Ia,Hj,gg,Ia,gg,Ia,eo,Ia,hg,co,La,Ia,ao,Ia,$n,La,Ia,Yn,me,Xn,Wn,Vn,La,Xa,La,Xa,La,Ia,Qn,fg,Tn,Sn,Rn,Pn,La,Ia,Wa,Wa,eg,Ia,Wa,Wa,On,Ia,_n,Zn,Nn,cg,Ln,Hn,Gn,Kn,sd,Jn,In,Hb,kc,ag,Lb,wg,jc,Dn,bg,tg,rd,Cn,rf,Bn,xl,An,yl,$f,zn,Pk,_f,_f,xn,wn,Zf,vn,un,tn,Ia,sn,nd,rn,Wf,qn,pn,Ia,on,Uf,nn,ln,kn,mn,Ia,jn,Ya,La,Ia,Sf,Rf,hn,gn,Ob,ic,Qf,en,dn,Ob,ic,ld,cn,md,nc,an,bn,La,Ia,_m,Ia,Zm,Ia,Ym,Ia,Xm,Ia,Wm,Ia,Vm,Ia,Um,Ia,Tm,Ia,Sm,Ia,Rm,Ia,Pm,Ob,Ya,Of,Om,Nm,Mm,nc,Ia,Lm,Mf,Km,Im,Ob,ic,Lf,Hm,Gm,Ob,ic,Ia,Kf,kc,Jf,If,Fm,Em,Hf,Cm,Bm,Am,Gf,zm,ym,Ff,xm,wm,Gf,um,tm,sm,hd,Df,zf,yf,nm,pm,om,wf,mm,Yj,jm,Xj,jc,fm,em,dm,hc,im,km,Uj,cm,hm,gm,La,Ia,vf,Ia,vf,Ia,am,La,mb,Yl,Xl,Zl,Wl,tf,ig,hc,Ul,$l,_l,yb,Wa,Pl,mb,ag,Dl,Cl,Bl,Al,hc,zl,Fl,Hl,Gl,Xa,Xa,Ff,lb,kc,We,sl,rl,Mk,pl,rf,ul,tl,yb,yb,gc,Wa,yb,gc,pf,La,Ia,ol,mb,Jf,If,nl,kl,tf,Hf,hc,jl,il,ml,ll,hl,La,Xa,La,mb,of,mf,lf,nf,fl,gc,kf,el,dl,$k,_k,jc,Zk,al,cl,Yk,Df,Xk,Ia,Wk,Ia,Vk,hf,Sk,Xa,Ok,Nk,Xa,Lk,La,mb,Ik,mf,lf,nf,Hk,Gk,Fk,Jk,Ia,Ek,mb,of,zk,yk,bg,xk,Ak,Ck,Bk,La,mb,wk,uk,tk,jc,sk,rd,rk,vk,kc,qk,kk,pk,ok,nk,mk,lk,gc,pf,_c,cc,gk,ik,Te,Te,Ya,Ya,lh,Ya,Ya,fk,ek,dk,Zj,hk,$j,_j,bk,ak,La,mb,Xc,Tj,Wj,Ia,Sj,Ia,Rj,La,Ia,Pe,Ia,Wa,Wa,Qj,Ia,Vc,vl,kb,La,Ia,Mj,Ia,fb,Ia,Lj,Ia,Wa,Wa,Kj,Xa,Xa,Ia,Ge,Mc,Fj,ib,Dj,Aj,zj,eg,yj,xj,Cj,Bj,Mc,Jc,Jc,wj,vj,uj,tj,sj,rj,qj,pj,Jc,oj,nj,mj,lj,kj,yf,jj,ij,gj,fj,ej,ve,dj,Wa,Xi,Wa,Wi,Zf,bj,_i,Yi,$i,aj,Zi,Vi,Xa,ib,rd,Zb,Pi,Oi,Si,Ri,Qi,ke,Ni,Mi,Li,Ub,Ji,Hi,yi,xi,ei,Di,si,ri,pi,oi,Ai,zi,Ei,vi,ui,wi,hi,gi,fi,ae,ae,$f,Gi,tc,Ld,tc,Ld,ji,ki,mi,ni,ti,Ci,li,Ii,ii,Fi,Ya,Wh,Xa,Wa,Ya,yb,_c,_c,Ya,Ya,Ya,Ya,di,ci,bi,Ia,ai,$h,Yh,Xh,Zh,_h,La,Ia,Vh,La,Ia,Uh,Sh,Wa,Ia,Rh,Qh,$d,Ph,Oh,Nh,Zd,Mh,Kh,Jh,Ih,Dh,Xa,Hh,Ya,qg,Wd,Gh,Wd,Eh,Ia,Ch,Vd,La,Ia,ib,ib,Ot,Ia,Nt,Bt,Et,Lt,Ia,Ct,Ft,Kt,Ia,Dt,Gt,Jt,Ia,It]);function wa(){return G.byteLength/65536|0}function Ba(Ca){Ca=Ca|0;var xa=wa()|0;var ya=xa+Ca|0;if(xa=65536,"INITIAL_MEMORY should be larger than STACK_SIZE, was "+INITIAL_MEMORY+"! (STACK_SIZE="+65536+")");if(Module["wasmMemory"]){wasmMemory=Module["wasmMemory"]}else{wasmMemory=new WebAssembly.Memory({"initial":INITIAL_MEMORY/65536,"maximum":2147483648/65536})}updateMemoryViews();INITIAL_MEMORY=wasmMemory.buffer.byteLength;var wasmTable;var __ATPRERUN__=[];var __ATINIT__=[];var __ATPOSTRUN__=[];var runtimeInitialized=false;function preRun(){if(Module["preRun"]){if(typeof Module["preRun"]=="function")Module["preRun"]=[Module["preRun"]];while(Module["preRun"].length){addOnPreRun(Module["preRun"].shift())}}callRuntimeCallbacks(__ATPRERUN__)}function initRuntime(){runtimeInitialized=true;callRuntimeCallbacks(__ATINIT__)}function postRun(){if(Module["postRun"]){if(typeof Module["postRun"]=="function")Module["postRun"]=[Module["postRun"]];while(Module["postRun"].length){addOnPostRun(Module["postRun"].shift())}}callRuntimeCallbacks(__ATPOSTRUN__)}function addOnPreRun(cb){__ATPRERUN__.unshift(cb)}function addOnInit(cb){__ATINIT__.unshift(cb)}function addOnPostRun(cb){__ATPOSTRUN__.unshift(cb)}var runDependencies=0;var runDependencyWatcher=null;var dependenciesFulfilled=null;function addRunDependency(id){runDependencies++;if(Module["monitorRunDependencies"]){Module["monitorRunDependencies"](runDependencies)}}function removeRunDependency(id){runDependencies--;if(Module["monitorRunDependencies"]){Module["monitorRunDependencies"](runDependencies)}if(runDependencies==0){if(runDependencyWatcher!==null){clearInterval(runDependencyWatcher);runDependencyWatcher=null}if(dependenciesFulfilled){var callback=dependenciesFulfilled;dependenciesFulfilled=null;callback()}}}function abort(what){if(Module["onAbort"]){Module["onAbort"](what)}what="Aborted("+what+")";err(what);ABORT=true;EXITSTATUS=1;what+=". Build with -sASSERTIONS for more info.";var e=new WebAssembly.RuntimeError(what);readyPromiseReject(e);throw e}var dataURIPrefix="data:application/octet-stream;base64,";function isDataURI(filename){return filename.startsWith(dataURIPrefix)}var wasmBinaryFile;wasmBinaryFile="<<< WASM_BINARY_FILE >>>";if(!isDataURI(wasmBinaryFile)){wasmBinaryFile=locateFile(wasmBinaryFile)}function getBinary(file){try{if(file==wasmBinaryFile&&wasmBinary){return new Uint8Array(wasmBinary)}var binary=tryParseAsDataURI(file);if(binary){return binary}if(readBinary){return readBinary(file)}throw"both async and sync fetching of the wasm failed"}catch(err){abort(err)}}function getBinaryPromise(binaryFile){if(!wasmBinary&&(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER)){if(typeof fetch=="function"){return fetch(binaryFile,{credentials:"same-origin"}).then(response=>{if(!response["ok"]){throw"failed to load wasm binary file at '"+binaryFile+"'"}return response["arrayBuffer"]()}).catch(()=>getBinary(binaryFile))}}return Promise.resolve().then(()=>getBinary(binaryFile))}function instantiateArrayBuffer(binaryFile,imports,receiver){return getBinaryPromise(binaryFile).then(binary=>{return WebAssembly.instantiate(binary,imports)}).then(instance=>{return instance}).then(receiver,reason=>{err("failed to asynchronously prepare wasm: "+reason);abort(reason)})}function instantiateAsync(binary,binaryFile,imports,callback){if(!binary&&typeof WebAssembly.instantiateStreaming=="function"&&!isDataURI(binaryFile)&&typeof fetch=="function"){return fetch(binaryFile,{credentials:"same-origin"}).then(response=>{var result=WebAssembly.instantiateStreaming(response,imports);return result.then(callback,function(reason){err("wasm streaming compile failed: "+reason);err("falling back to ArrayBuffer instantiation");return instantiateArrayBuffer(binaryFile,imports,callback)})})}else{return instantiateArrayBuffer(binaryFile,imports,callback)}}function createWasm(){var info={"a":wasmImports};function receiveInstance(instance,module){var exports=instance.exports;Module["asm"]=exports;wasmTable=Module["asm"]["A"];addOnInit(Module["asm"]["x"]);removeRunDependency("wasm-instantiate");return exports}addRunDependency("wasm-instantiate");function receiveInstantiationResult(result){receiveInstance(result["instance"])}if(Module["instantiateWasm"]){try{return Module["instantiateWasm"](info,receiveInstance)}catch(e){err("Module.instantiateWasm callback failed with error: "+e);readyPromiseReject(e)}}instantiateAsync(wasmBinary,wasmBinaryFile,info,receiveInstantiationResult).catch(readyPromiseReject);return{}}function callRuntimeCallbacks(callbacks){while(callbacks.length>0){callbacks.shift()(Module)}}function intArrayToString(array){var ret=[];for(var i=0;i255){chr&=255}ret.push(String.fromCharCode(chr))}return ret.join("")}var char_0=48;var char_9=57;function makeLegalFunctionName(name){if(undefined===name){return"_unknown"}name=name.replace(/[^a-zA-Z0-9_]/g,"$");var f=name.charCodeAt(0);if(f>=char_0&&f<=char_9){return`_${name}`}return name}function createNamedFunction(name,body){name=makeLegalFunctionName(name);return{[name]:function(){return body.apply(this,arguments)}}[name]}function HandleAllocator(){this.allocated=[undefined];this.freelist=[];this.get=function(id){return this.allocated[id]};this.has=function(id){return this.allocated[id]!==undefined};this.allocate=function(handle){var id=this.freelist.pop()||this.allocated.length;this.allocated[id]=handle;return id};this.free=function(id){this.allocated[id]=undefined;this.freelist.push(id)}}var emval_handles=new HandleAllocator;function extendError(baseErrorType,errorName){var errorClass=createNamedFunction(errorName,function(message){this.name=errorName;this.message=message;var stack=new Error(message).stack;if(stack!==undefined){this.stack=this.toString()+"\n"+stack.replace(/^Error(:[^\n]*)?\n/,"")}});errorClass.prototype=Object.create(baseErrorType.prototype);errorClass.prototype.constructor=errorClass;errorClass.prototype.toString=function(){if(this.message===undefined){return this.name}else{return`${this.name}: ${this.message}`}};return errorClass}var BindingError=undefined;function throwBindingError(message){throw new BindingError(message)}function count_emval_handles(){var count=0;for(var i=emval_handles.reserved;i{if(!handle){throwBindingError("Cannot use deleted val. handle = "+handle)}return emval_handles.get(handle).value},toHandle:value=>{switch(value){case undefined:return 1;case null:return 2;case true:return 3;case false:return 4;default:{return emval_handles.allocate({refcount:1,value:value})}}}};var PureVirtualError=undefined;function embind_init_charCodes(){var codes=new Array(256);for(var i=0;i<256;++i){codes[i]=String.fromCharCode(i)}embind_charCodes=codes}var embind_charCodes=undefined;function readLatin1String(ptr){var ret="";var c=ptr;while(HEAPU8[c]){ret+=embind_charCodes[HEAPU8[c++]]}return ret}function getInheritedInstanceCount(){return Object.keys(registeredInstances).length}function getLiveInheritedInstances(){var rv=[];for(var k in registeredInstances){if(registeredInstances.hasOwnProperty(k)){rv.push(registeredInstances[k])}}return rv}var deletionQueue=[];function flushPendingDeletes(){while(deletionQueue.length){var obj=deletionQueue.pop();obj.$$.deleteScheduled=false;obj["delete"]()}}var delayFunction=undefined;function setDelayFunction(fn){delayFunction=fn;if(deletionQueue.length&&delayFunction){delayFunction(flushPendingDeletes)}}function init_embind(){Module["getInheritedInstanceCount"]=getInheritedInstanceCount;Module["getLiveInheritedInstances"]=getLiveInheritedInstances;Module["flushPendingDeletes"]=flushPendingDeletes;Module["setDelayFunction"]=setDelayFunction}var registeredInstances={};function getBasestPointer(class_,ptr){if(ptr===undefined){throwBindingError("ptr should not be undefined")}while(class_.baseClass){ptr=class_.upcast(ptr);class_=class_.baseClass}return ptr}function registerInheritedInstance(class_,ptr,instance){ptr=getBasestPointer(class_,ptr);if(registeredInstances.hasOwnProperty(ptr)){throwBindingError(`Tried to register registered instance: ${ptr}`)}else{registeredInstances[ptr]=instance}}var registeredTypes={};function getTypeName(type){var ptr=___getTypeName(type);var rv=readLatin1String(ptr);_free(ptr);return rv}function requireRegisteredType(rawType,humanName){var impl=registeredTypes[rawType];if(undefined===impl){throwBindingError(humanName+" has unknown type "+getTypeName(rawType))}return impl}function unregisterInheritedInstance(class_,ptr){ptr=getBasestPointer(class_,ptr);if(registeredInstances.hasOwnProperty(ptr)){delete registeredInstances[ptr]}else{throwBindingError(`Tried to unregister unregistered instance: ${ptr}`)}}function detachFinalizer(handle){}var finalizationRegistry=false;function runDestructor($$){if($$.smartPtr){$$.smartPtrType.rawDestructor($$.smartPtr)}else{$$.ptrType.registeredClass.rawDestructor($$.ptr)}}function releaseClassHandle($$){$$.count.value-=1;var toDelete=0===$$.count.value;if(toDelete){runDestructor($$)}}function downcastPointer(ptr,ptrClass,desiredClass){if(ptrClass===desiredClass){return ptr}if(undefined===desiredClass.baseClass){return null}var rv=downcastPointer(ptr,ptrClass,desiredClass.baseClass);if(rv===null){return null}return desiredClass.downcast(rv)}var registeredPointers={};function getInheritedInstance(class_,ptr){ptr=getBasestPointer(class_,ptr);return registeredInstances[ptr]}var InternalError=undefined;function throwInternalError(message){throw new InternalError(message)}function makeClassHandle(prototype,record){if(!record.ptrType||!record.ptr){throwInternalError("makeClassHandle requires ptr and ptrType")}var hasSmartPtrType=!!record.smartPtrType;var hasSmartPtr=!!record.smartPtr;if(hasSmartPtrType!==hasSmartPtr){throwInternalError("Both smartPtrType and smartPtr must be specified")}record.count={value:1};return attachFinalizer(Object.create(prototype,{$$:{value:record}}))}function RegisteredPointer_fromWireType(ptr){var rawPointer=this.getPointee(ptr);if(!rawPointer){this.destructor(ptr);return null}var registeredInstance=getInheritedInstance(this.registeredClass,rawPointer);if(undefined!==registeredInstance){if(0===registeredInstance.$$.count.value){registeredInstance.$$.ptr=rawPointer;registeredInstance.$$.smartPtr=ptr;return registeredInstance["clone"]()}else{var rv=registeredInstance["clone"]();this.destructor(ptr);return rv}}function makeDefaultHandle(){if(this.isSmartPointer){return makeClassHandle(this.registeredClass.instancePrototype,{ptrType:this.pointeeType,ptr:rawPointer,smartPtrType:this,smartPtr:ptr})}else{return makeClassHandle(this.registeredClass.instancePrototype,{ptrType:this,ptr:ptr})}}var actualType=this.registeredClass.getActualType(rawPointer);var registeredPointerRecord=registeredPointers[actualType];if(!registeredPointerRecord){return makeDefaultHandle.call(this)}var toType;if(this.isConst){toType=registeredPointerRecord.constPointerType}else{toType=registeredPointerRecord.pointerType}var dp=downcastPointer(rawPointer,this.registeredClass,toType.registeredClass);if(dp===null){return makeDefaultHandle.call(this)}if(this.isSmartPointer){return makeClassHandle(toType.registeredClass.instancePrototype,{ptrType:toType,ptr:dp,smartPtrType:this,smartPtr:ptr})}else{return makeClassHandle(toType.registeredClass.instancePrototype,{ptrType:toType,ptr:dp})}}function attachFinalizer(handle){if("undefined"===typeof FinalizationRegistry){attachFinalizer=handle=>handle;return handle}finalizationRegistry=new FinalizationRegistry(info=>{releaseClassHandle(info.$$)});attachFinalizer=handle=>{var $$=handle.$$;var hasSmartPtr=!!$$.smartPtr;if(hasSmartPtr){var info={$$:$$};finalizationRegistry.register(handle,info,handle)}return handle};detachFinalizer=handle=>finalizationRegistry.unregister(handle);return attachFinalizer(handle)}function __embind_create_inheriting_constructor(constructorName,wrapperType,properties){constructorName=readLatin1String(constructorName);wrapperType=requireRegisteredType(wrapperType,"wrapper");properties=Emval.toValue(properties);var arraySlice=[].slice;var registeredClass=wrapperType.registeredClass;var wrapperPrototype=registeredClass.instancePrototype;var baseClass=registeredClass.baseClass;var baseClassPrototype=baseClass.instancePrototype;var baseConstructor=registeredClass.baseClass.constructor;var ctor=createNamedFunction(constructorName,function(){registeredClass.baseClass.pureVirtualFunctions.forEach(function(name){if(this[name]===baseClassPrototype[name]){throw new PureVirtualError(`Pure virtual function ${name} must be implemented in JavaScript`)}}.bind(this));Object.defineProperty(this,"__parent",{value:wrapperPrototype});this["__construct"].apply(this,arraySlice.call(arguments))});wrapperPrototype["__construct"]=function __construct(){if(this===wrapperPrototype){throwBindingError("Pass correct 'this' to __construct")}var inner=baseConstructor["implement"].apply(undefined,[this].concat(arraySlice.call(arguments)));detachFinalizer(inner);var $$=inner.$$;inner["notifyOnDestruction"]();$$.preservePointerOnDelete=true;Object.defineProperties(this,{$$:{value:$$}});attachFinalizer(this);registerInheritedInstance(registeredClass,$$.ptr,this)};wrapperPrototype["__destruct"]=function __destruct(){if(this===wrapperPrototype){throwBindingError("Pass correct 'this' to __destruct")}detachFinalizer(this);unregisterInheritedInstance(registeredClass,this.$$.ptr)};ctor.prototype=Object.create(wrapperPrototype);for(var p in properties){ctor.prototype[p]=properties[p]}return Emval.toHandle(ctor)}function __embind_register_bigint(primitiveType,name,size,minRange,maxRange){}function getShiftFromSize(size){switch(size){case 1:return 0;case 2:return 1;case 4:return 2;case 8:return 3;default:throw new TypeError(`Unknown type size: ${size}`)}}var awaitingDependencies={};var typeDependencies={};function whenDependentTypesAreResolved(myTypes,dependentTypes,getTypeConverters){myTypes.forEach(function(type){typeDependencies[type]=dependentTypes});function onComplete(typeConverters){var myTypeConverters=getTypeConverters(typeConverters);if(myTypeConverters.length!==myTypes.length){throwInternalError("Mismatched type converter count")}for(var i=0;i{if(registeredTypes.hasOwnProperty(dt)){typeConverters[i]=registeredTypes[dt]}else{unregisteredTypes.push(dt);if(!awaitingDependencies.hasOwnProperty(dt)){awaitingDependencies[dt]=[]}awaitingDependencies[dt].push(()=>{typeConverters[i]=registeredTypes[dt];++registered;if(registered===unregisteredTypes.length){onComplete(typeConverters)}})}});if(0===unregisteredTypes.length){onComplete(typeConverters)}}function registerType(rawType,registeredInstance,options={}){if(!("argPackAdvance"in registeredInstance)){throw new TypeError("registerType registeredInstance requires argPackAdvance")}var name=registeredInstance.name;if(!rawType){throwBindingError(`type "${name}" must have a positive integer typeid pointer`)}if(registeredTypes.hasOwnProperty(rawType)){if(options.ignoreDuplicateRegistrations){return}else{throwBindingError(`Cannot register type '${name}' twice`)}}registeredTypes[rawType]=registeredInstance;delete typeDependencies[rawType];if(awaitingDependencies.hasOwnProperty(rawType)){var callbacks=awaitingDependencies[rawType];delete awaitingDependencies[rawType];callbacks.forEach(cb=>cb())}}function __embind_register_bool(rawType,name,size,trueValue,falseValue){var shift=getShiftFromSize(size);name=readLatin1String(name);registerType(rawType,{name:name,"fromWireType":function(wt){return!!wt},"toWireType":function(destructors,o){return o?trueValue:falseValue},"argPackAdvance":8,"readValueFromPointer":function(pointer){var heap;if(size===1){heap=HEAP8}else if(size===2){heap=HEAP16}else if(size===4){heap=HEAP32}else{throw new TypeError("Unknown boolean type size: "+name)}return this["fromWireType"](heap[pointer>>shift])},destructorFunction:null})}function ClassHandle_isAliasOf(other){if(!(this instanceof ClassHandle)){return false}if(!(other instanceof ClassHandle)){return false}var leftClass=this.$$.ptrType.registeredClass;var left=this.$$.ptr;var rightClass=other.$$.ptrType.registeredClass;var right=other.$$.ptr;while(leftClass.baseClass){left=leftClass.upcast(left);leftClass=leftClass.baseClass}while(rightClass.baseClass){right=rightClass.upcast(right);rightClass=rightClass.baseClass}return leftClass===rightClass&&left===right}function shallowCopyInternalPointer(o){return{count:o.count,deleteScheduled:o.deleteScheduled,preservePointerOnDelete:o.preservePointerOnDelete,ptr:o.ptr,ptrType:o.ptrType,smartPtr:o.smartPtr,smartPtrType:o.smartPtrType}}function throwInstanceAlreadyDeleted(obj){function getInstanceTypeName(handle){return handle.$$.ptrType.registeredClass.name}throwBindingError(getInstanceTypeName(obj)+" instance already deleted")}function ClassHandle_clone(){if(!this.$$.ptr){throwInstanceAlreadyDeleted(this)}if(this.$$.preservePointerOnDelete){this.$$.count.value+=1;return this}else{var clone=attachFinalizer(Object.create(Object.getPrototypeOf(this),{$$:{value:shallowCopyInternalPointer(this.$$)}}));clone.$$.count.value+=1;clone.$$.deleteScheduled=false;return clone}}function ClassHandle_delete(){if(!this.$$.ptr){throwInstanceAlreadyDeleted(this)}if(this.$$.deleteScheduled&&!this.$$.preservePointerOnDelete){throwBindingError("Object already scheduled for deletion")}detachFinalizer(this);releaseClassHandle(this.$$);if(!this.$$.preservePointerOnDelete){this.$$.smartPtr=undefined;this.$$.ptr=undefined}}function ClassHandle_isDeleted(){return!this.$$.ptr}function ClassHandle_deleteLater(){if(!this.$$.ptr){throwInstanceAlreadyDeleted(this)}if(this.$$.deleteScheduled&&!this.$$.preservePointerOnDelete){throwBindingError("Object already scheduled for deletion")}deletionQueue.push(this);if(deletionQueue.length===1&&delayFunction){delayFunction(flushPendingDeletes)}this.$$.deleteScheduled=true;return this}function init_ClassHandle(){ClassHandle.prototype["isAliasOf"]=ClassHandle_isAliasOf;ClassHandle.prototype["clone"]=ClassHandle_clone;ClassHandle.prototype["delete"]=ClassHandle_delete;ClassHandle.prototype["isDeleted"]=ClassHandle_isDeleted;ClassHandle.prototype["deleteLater"]=ClassHandle_deleteLater}function ClassHandle(){}function ensureOverloadTable(proto,methodName,humanName){if(undefined===proto[methodName].overloadTable){var prevFunc=proto[methodName];proto[methodName]=function(){if(!proto[methodName].overloadTable.hasOwnProperty(arguments.length)){throwBindingError(`Function '${humanName}' called with an invalid number of arguments (${arguments.length}) - expects one of (${proto[methodName].overloadTable})!`)}return proto[methodName].overloadTable[arguments.length].apply(this,arguments)};proto[methodName].overloadTable=[];proto[methodName].overloadTable[prevFunc.argCount]=prevFunc}}function exposePublicSymbol(name,value,numArguments){if(Module.hasOwnProperty(name)){if(undefined===numArguments||undefined!==Module[name].overloadTable&&undefined!==Module[name].overloadTable[numArguments]){throwBindingError(`Cannot register public name '${name}' twice`)}ensureOverloadTable(Module,name,name);if(Module.hasOwnProperty(numArguments)){throwBindingError(`Cannot register multiple overloads of a function with the same number of arguments (${numArguments})!`)}Module[name].overloadTable[numArguments]=value}else{Module[name]=value;if(undefined!==numArguments){Module[name].numArguments=numArguments}}}function RegisteredClass(name,constructor,instancePrototype,rawDestructor,baseClass,getActualType,upcast,downcast){this.name=name;this.constructor=constructor;this.instancePrototype=instancePrototype;this.rawDestructor=rawDestructor;this.baseClass=baseClass;this.getActualType=getActualType;this.upcast=upcast;this.downcast=downcast;this.pureVirtualFunctions=[]}function upcastPointer(ptr,ptrClass,desiredClass){while(ptrClass!==desiredClass){if(!ptrClass.upcast){throwBindingError(`Expected null or instance of ${desiredClass.name}, got an instance of ${ptrClass.name}`)}ptr=ptrClass.upcast(ptr);ptrClass=ptrClass.baseClass}return ptr}function constNoSmartPtrRawPointerToWireType(destructors,handle){if(handle===null){if(this.isReference){throwBindingError(`null is not a valid ${this.name}`)}return 0}if(!handle.$$){throwBindingError(`Cannot pass "${embindRepr(handle)}" as a ${this.name}`)}if(!handle.$$.ptr){throwBindingError(`Cannot pass deleted object as a pointer of type ${this.name}`)}var handleClass=handle.$$.ptrType.registeredClass;var ptr=upcastPointer(handle.$$.ptr,handleClass,this.registeredClass);return ptr}function genericPointerToWireType(destructors,handle){var ptr;if(handle===null){if(this.isReference){throwBindingError(`null is not a valid ${this.name}`)}if(this.isSmartPointer){ptr=this.rawConstructor();if(destructors!==null){destructors.push(this.rawDestructor,ptr)}return ptr}else{return 0}}if(!handle.$$){throwBindingError(`Cannot pass "${embindRepr(handle)}" as a ${this.name}`)}if(!handle.$$.ptr){throwBindingError(`Cannot pass deleted object as a pointer of type ${this.name}`)}if(!this.isConst&&handle.$$.ptrType.isConst){throwBindingError(`Cannot convert argument of type ${handle.$$.smartPtrType?handle.$$.smartPtrType.name:handle.$$.ptrType.name} to parameter type ${this.name}`)}var handleClass=handle.$$.ptrType.registeredClass;ptr=upcastPointer(handle.$$.ptr,handleClass,this.registeredClass);if(this.isSmartPointer){if(undefined===handle.$$.smartPtr){throwBindingError("Passing raw pointer to smart pointer is illegal")}switch(this.sharingPolicy){case 0:if(handle.$$.smartPtrType===this){ptr=handle.$$.smartPtr}else{throwBindingError(`Cannot convert argument of type ${handle.$$.smartPtrType?handle.$$.smartPtrType.name:handle.$$.ptrType.name} to parameter type ${this.name}`)}break;case 1:ptr=handle.$$.smartPtr;break;case 2:if(handle.$$.smartPtrType===this){ptr=handle.$$.smartPtr}else{var clonedHandle=handle["clone"]();ptr=this.rawShare(ptr,Emval.toHandle(function(){clonedHandle["delete"]()}));if(destructors!==null){destructors.push(this.rawDestructor,ptr)}}break;default:throwBindingError("Unsupporting sharing policy")}}return ptr}function nonConstNoSmartPtrRawPointerToWireType(destructors,handle){if(handle===null){if(this.isReference){throwBindingError(`null is not a valid ${this.name}`)}return 0}if(!handle.$$){throwBindingError(`Cannot pass "${embindRepr(handle)}" as a ${this.name}`)}if(!handle.$$.ptr){throwBindingError(`Cannot pass deleted object as a pointer of type ${this.name}`)}if(handle.$$.ptrType.isConst){throwBindingError(`Cannot convert argument of type ${handle.$$.ptrType.name} to parameter type ${this.name}`)}var handleClass=handle.$$.ptrType.registeredClass;var ptr=upcastPointer(handle.$$.ptr,handleClass,this.registeredClass);return ptr}function simpleReadValueFromPointer(pointer){return this["fromWireType"](HEAP32[pointer>>2])}function RegisteredPointer_getPointee(ptr){if(this.rawGetPointee){ptr=this.rawGetPointee(ptr)}return ptr}function RegisteredPointer_destructor(ptr){if(this.rawDestructor){this.rawDestructor(ptr)}}function RegisteredPointer_deleteObject(handle){if(handle!==null){handle["delete"]()}}function init_RegisteredPointer(){RegisteredPointer.prototype.getPointee=RegisteredPointer_getPointee;RegisteredPointer.prototype.destructor=RegisteredPointer_destructor;RegisteredPointer.prototype["argPackAdvance"]=8;RegisteredPointer.prototype["readValueFromPointer"]=simpleReadValueFromPointer;RegisteredPointer.prototype["deleteObject"]=RegisteredPointer_deleteObject;RegisteredPointer.prototype["fromWireType"]=RegisteredPointer_fromWireType}function RegisteredPointer(name,registeredClass,isReference,isConst,isSmartPointer,pointeeType,sharingPolicy,rawGetPointee,rawConstructor,rawShare,rawDestructor){this.name=name;this.registeredClass=registeredClass;this.isReference=isReference;this.isConst=isConst;this.isSmartPointer=isSmartPointer;this.pointeeType=pointeeType;this.sharingPolicy=sharingPolicy;this.rawGetPointee=rawGetPointee;this.rawConstructor=rawConstructor;this.rawShare=rawShare;this.rawDestructor=rawDestructor;if(!isSmartPointer&®isteredClass.baseClass===undefined){if(isConst){this["toWireType"]=constNoSmartPtrRawPointerToWireType;this.destructorFunction=null}else{this["toWireType"]=nonConstNoSmartPtrRawPointerToWireType;this.destructorFunction=null}}else{this["toWireType"]=genericPointerToWireType}}function replacePublicSymbol(name,value,numArguments){if(!Module.hasOwnProperty(name)){throwInternalError("Replacing nonexistant public symbol")}if(undefined!==Module[name].overloadTable&&undefined!==numArguments){Module[name].overloadTable[numArguments]=value}else{Module[name]=value;Module[name].argCount=numArguments}}function dynCallLegacy(sig,ptr,args){var f=Module["dynCall_"+sig];return args&&args.length?f.apply(null,[ptr].concat(args)):f.call(null,ptr)}function getWasmTableEntry(funcPtr){return wasmTable.get(funcPtr)}function dynCall(sig,ptr,args){if(sig.includes("j")){return dynCallLegacy(sig,ptr,args)}var rtn=getWasmTableEntry(ptr).apply(null,args);return rtn}function getDynCaller(sig,ptr){var argCache=[];return function(){argCache.length=0;Object.assign(argCache,arguments);return dynCall(sig,ptr,argCache)}}function embind__requireFunction(signature,rawFunction){signature=readLatin1String(signature);function makeDynCaller(){if(signature.includes("j")){return getDynCaller(signature,rawFunction)}return getWasmTableEntry(rawFunction)}var fp=makeDynCaller();if(typeof fp!="function"){throwBindingError(`unknown function pointer with signature ${signature}: ${rawFunction}`)}return fp}var UnboundTypeError=undefined;function throwUnboundTypeError(message,types){var unboundTypes=[];var seen={};function visit(type){if(seen[type]){return}if(registeredTypes[type]){return}if(typeDependencies[type]){typeDependencies[type].forEach(visit);return}unboundTypes.push(type);seen[type]=true}types.forEach(visit);throw new UnboundTypeError(`${message}: `+unboundTypes.map(getTypeName).join([", "]))}function __embind_register_class(rawType,rawPointerType,rawConstPointerType,baseClassRawType,getActualTypeSignature,getActualType,upcastSignature,upcast,downcastSignature,downcast,name,destructorSignature,rawDestructor){name=readLatin1String(name);getActualType=embind__requireFunction(getActualTypeSignature,getActualType);if(upcast){upcast=embind__requireFunction(upcastSignature,upcast)}if(downcast){downcast=embind__requireFunction(downcastSignature,downcast)}rawDestructor=embind__requireFunction(destructorSignature,rawDestructor);var legalFunctionName=makeLegalFunctionName(name);exposePublicSymbol(legalFunctionName,function(){throwUnboundTypeError(`Cannot construct ${name} due to unbound types`,[baseClassRawType])});whenDependentTypesAreResolved([rawType,rawPointerType,rawConstPointerType],baseClassRawType?[baseClassRawType]:[],function(base){base=base[0];var baseClass;var basePrototype;if(baseClassRawType){baseClass=base.registeredClass;basePrototype=baseClass.instancePrototype}else{basePrototype=ClassHandle.prototype}var constructor=createNamedFunction(legalFunctionName,function(){if(Object.getPrototypeOf(this)!==instancePrototype){throw new BindingError("Use 'new' to construct "+name)}if(undefined===registeredClass.constructor_body){throw new BindingError(name+" has no accessible constructor")}var body=registeredClass.constructor_body[arguments.length];if(undefined===body){throw new BindingError(`Tried to invoke ctor of ${name} with invalid number of parameters (${arguments.length}) - expected (${Object.keys(registeredClass.constructor_body).toString()}) parameters instead!`)}return body.apply(this,arguments)});var instancePrototype=Object.create(basePrototype,{constructor:{value:constructor}});constructor.prototype=instancePrototype;var registeredClass=new RegisteredClass(name,constructor,instancePrototype,rawDestructor,baseClass,getActualType,upcast,downcast);if(registeredClass.baseClass){if(registeredClass.baseClass.__derivedClasses===undefined){registeredClass.baseClass.__derivedClasses=[]}registeredClass.baseClass.__derivedClasses.push(registeredClass)}var referenceConverter=new RegisteredPointer(name,registeredClass,true,false,false);var pointerConverter=new RegisteredPointer(name+"*",registeredClass,false,false,false);var constPointerConverter=new RegisteredPointer(name+" const*",registeredClass,false,true,false);registeredPointers[rawType]={pointerType:pointerConverter,constPointerType:constPointerConverter};replacePublicSymbol(legalFunctionName,constructor);return[referenceConverter,pointerConverter,constPointerConverter]})}function runDestructors(destructors){while(destructors.length){var ptr=destructors.pop();var del=destructors.pop();del(ptr)}}function craftInvokerFunction(humanName,argTypes,classType,cppInvokerFunc,cppTargetFunc,isAsync){var argCount=argTypes.length;if(argCount<2){throwBindingError("argTypes array size mismatch! Must at least get return value and 'this' types!")}var isClassMethodFunc=argTypes[1]!==null&&classType!==null;var needsDestructorStack=false;for(var i=1;i>2])}return array}function __embind_register_class_class_function(rawClassType,methodName,argCount,rawArgTypesAddr,invokerSignature,rawInvoker,fn,isAsync){var rawArgTypes=heap32VectorToArray(argCount,rawArgTypesAddr);methodName=readLatin1String(methodName);rawInvoker=embind__requireFunction(invokerSignature,rawInvoker);whenDependentTypesAreResolved([],[rawClassType],function(classType){classType=classType[0];var humanName=`${classType.name}.${methodName}`;function unboundTypesHandler(){throwUnboundTypeError(`Cannot call ${humanName} due to unbound types`,rawArgTypes)}if(methodName.startsWith("@@")){methodName=Symbol[methodName.substring(2)]}var proto=classType.registeredClass.constructor;if(undefined===proto[methodName]){unboundTypesHandler.argCount=argCount-1;proto[methodName]=unboundTypesHandler}else{ensureOverloadTable(proto,methodName,humanName);proto[methodName].overloadTable[argCount-1]=unboundTypesHandler}whenDependentTypesAreResolved([],rawArgTypes,function(argTypes){var invokerArgsArray=[argTypes[0],null].concat(argTypes.slice(1));var func=craftInvokerFunction(humanName,invokerArgsArray,null,rawInvoker,fn,isAsync);if(undefined===proto[methodName].overloadTable){func.argCount=argCount-1;proto[methodName]=func}else{proto[methodName].overloadTable[argCount-1]=func}if(classType.registeredClass.__derivedClasses){for(const derivedClass of classType.registeredClass.__derivedClasses){if(!derivedClass.constructor.hasOwnProperty(methodName)){derivedClass.constructor[methodName]=func}}}return[]});return[]})}function __embind_register_class_function(rawClassType,methodName,argCount,rawArgTypesAddr,invokerSignature,rawInvoker,context,isPureVirtual,isAsync){var rawArgTypes=heap32VectorToArray(argCount,rawArgTypesAddr);methodName=readLatin1String(methodName);rawInvoker=embind__requireFunction(invokerSignature,rawInvoker);whenDependentTypesAreResolved([],[rawClassType],function(classType){classType=classType[0];var humanName=`${classType.name}.${methodName}`;if(methodName.startsWith("@@")){methodName=Symbol[methodName.substring(2)]}if(isPureVirtual){classType.registeredClass.pureVirtualFunctions.push(methodName)}function unboundTypesHandler(){throwUnboundTypeError(`Cannot call ${humanName} due to unbound types`,rawArgTypes)}var proto=classType.registeredClass.instancePrototype;var method=proto[methodName];if(undefined===method||undefined===method.overloadTable&&method.className!==classType.name&&method.argCount===argCount-2){unboundTypesHandler.argCount=argCount-2;unboundTypesHandler.className=classType.name;proto[methodName]=unboundTypesHandler}else{ensureOverloadTable(proto,methodName,humanName);proto[methodName].overloadTable[argCount-2]=unboundTypesHandler}whenDependentTypesAreResolved([],rawArgTypes,function(argTypes){var memberFunction=craftInvokerFunction(humanName,argTypes,classType,rawInvoker,context,isAsync);if(undefined===proto[methodName].overloadTable){memberFunction.argCount=argCount-2;proto[methodName]=memberFunction}else{proto[methodName].overloadTable[argCount-2]=memberFunction}return[]});return[]})}function __emval_decref(handle){if(handle>=emval_handles.reserved&&0===--emval_handles.get(handle).refcount){emval_handles.free(handle)}}function __embind_register_emval(rawType,name){name=readLatin1String(name);registerType(rawType,{name:name,"fromWireType":function(handle){var rv=Emval.toValue(handle);__emval_decref(handle);return rv},"toWireType":function(destructors,value){return Emval.toHandle(value)},"argPackAdvance":8,"readValueFromPointer":simpleReadValueFromPointer,destructorFunction:null})}function embindRepr(v){if(v===null){return"null"}var t=typeof v;if(t==="object"||t==="array"||t==="function"){return v.toString()}else{return""+v}}function floatReadValueFromPointer(name,shift){switch(shift){case 2:return function(pointer){return this["fromWireType"](HEAPF32[pointer>>2])};case 3:return function(pointer){return this["fromWireType"](HEAPF64[pointer>>3])};default:throw new TypeError("Unknown float type: "+name)}}function __embind_register_float(rawType,name,size){var shift=getShiftFromSize(size);name=readLatin1String(name);registerType(rawType,{name:name,"fromWireType":function(value){return value},"toWireType":function(destructors,value){return value},"argPackAdvance":8,"readValueFromPointer":floatReadValueFromPointer(name,shift),destructorFunction:null})}function __embind_register_function(name,argCount,rawArgTypesAddr,signature,rawInvoker,fn,isAsync){var argTypes=heap32VectorToArray(argCount,rawArgTypesAddr);name=readLatin1String(name);rawInvoker=embind__requireFunction(signature,rawInvoker);exposePublicSymbol(name,function(){throwUnboundTypeError(`Cannot call ${name} due to unbound types`,argTypes)},argCount-1);whenDependentTypesAreResolved([],argTypes,function(argTypes){var invokerArgsArray=[argTypes[0],null].concat(argTypes.slice(1));replacePublicSymbol(name,craftInvokerFunction(name,invokerArgsArray,null,rawInvoker,fn,isAsync),argCount-1);return[]})}function integerReadValueFromPointer(name,shift,signed){switch(shift){case 0:return signed?function readS8FromPointer(pointer){return HEAP8[pointer]}:function readU8FromPointer(pointer){return HEAPU8[pointer]};case 1:return signed?function readS16FromPointer(pointer){return HEAP16[pointer>>1]}:function readU16FromPointer(pointer){return HEAPU16[pointer>>1]};case 2:return signed?function readS32FromPointer(pointer){return HEAP32[pointer>>2]}:function readU32FromPointer(pointer){return HEAPU32[pointer>>2]};default:throw new TypeError("Unknown integer type: "+name)}}function __embind_register_integer(primitiveType,name,size,minRange,maxRange){name=readLatin1String(name);if(maxRange===-1){maxRange=4294967295}var shift=getShiftFromSize(size);var fromWireType=value=>value;if(minRange===0){var bitshift=32-8*size;fromWireType=value=>value<>>bitshift}var isUnsignedType=name.includes("unsigned");var checkAssertions=(value,toTypeName)=>{};var toWireType;if(isUnsignedType){toWireType=function(destructors,value){checkAssertions(value,this.name);return value>>>0}}else{toWireType=function(destructors,value){checkAssertions(value,this.name);return value}}registerType(primitiveType,{name:name,"fromWireType":fromWireType,"toWireType":toWireType,"argPackAdvance":8,"readValueFromPointer":integerReadValueFromPointer(name,shift,minRange!==0),destructorFunction:null})}function __embind_register_memory_view(rawType,dataTypeIndex,name){var typeMapping=[Int8Array,Uint8Array,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array];var TA=typeMapping[dataTypeIndex];function decodeMemoryView(handle){handle=handle>>2;var heap=HEAPU32;var size=heap[handle];var data=heap[handle+1];return new TA(heap.buffer,data,size)}name=readLatin1String(name);registerType(rawType,{name:name,"fromWireType":decodeMemoryView,"argPackAdvance":8,"readValueFromPointer":decodeMemoryView},{ignoreDuplicateRegistrations:true})}function stringToUTF8Array(str,heap,outIdx,maxBytesToWrite){if(!(maxBytesToWrite>0))return 0;var startIdx=outIdx;var endIdx=outIdx+maxBytesToWrite-1;for(var i=0;i=55296&&u<=57343){var u1=str.charCodeAt(++i);u=65536+((u&1023)<<10)|u1&1023}if(u<=127){if(outIdx>=endIdx)break;heap[outIdx++]=u}else if(u<=2047){if(outIdx+1>=endIdx)break;heap[outIdx++]=192|u>>6;heap[outIdx++]=128|u&63}else if(u<=65535){if(outIdx+2>=endIdx)break;heap[outIdx++]=224|u>>12;heap[outIdx++]=128|u>>6&63;heap[outIdx++]=128|u&63}else{if(outIdx+3>=endIdx)break;heap[outIdx++]=240|u>>18;heap[outIdx++]=128|u>>12&63;heap[outIdx++]=128|u>>6&63;heap[outIdx++]=128|u&63}}heap[outIdx]=0;return outIdx-startIdx}function stringToUTF8(str,outPtr,maxBytesToWrite){return stringToUTF8Array(str,HEAPU8,outPtr,maxBytesToWrite)}function lengthBytesUTF8(str){var len=0;for(var i=0;i=55296&&c<=57343){len+=4;++i}else{len+=3}}return len}var UTF8Decoder=typeof TextDecoder!="undefined"?new TextDecoder("utf8"):undefined;function UTF8ArrayToString(heapOrArray,idx,maxBytesToRead){var endIdx=idx+maxBytesToRead;var endPtr=idx;while(heapOrArray[endPtr]&&!(endPtr>=endIdx))++endPtr;if(endPtr-idx>16&&heapOrArray.buffer&&UTF8Decoder){return UTF8Decoder.decode(heapOrArray.subarray(idx,endPtr))}var str="";while(idx>10,56320|ch&1023)}}return str}function UTF8ToString(ptr,maxBytesToRead){return ptr?UTF8ArrayToString(HEAPU8,ptr,maxBytesToRead):""}function __embind_register_std_string(rawType,name){name=readLatin1String(name);var stdStringIsUTF8=name==="std::string";registerType(rawType,{name:name,"fromWireType":function(value){var length=HEAPU32[value>>2];var payload=value+4;var str;if(stdStringIsUTF8){var decodeStartPtr=payload;for(var i=0;i<=length;++i){var currentBytePtr=payload+i;if(i==length||HEAPU8[currentBytePtr]==0){var maxRead=currentBytePtr-decodeStartPtr;var stringSegment=UTF8ToString(decodeStartPtr,maxRead);if(str===undefined){str=stringSegment}else{str+=String.fromCharCode(0);str+=stringSegment}decodeStartPtr=currentBytePtr+1}}}else{var a=new Array(length);for(var i=0;i>2]=length;if(stdStringIsUTF8&&valueIsOfTypeString){stringToUTF8(value,ptr,length+1)}else{if(valueIsOfTypeString){for(var i=0;i255){_free(ptr);throwBindingError("String has UTF-16 code units that do not fit in 8 bits")}HEAPU8[ptr+i]=charCode}}else{for(var i=0;i>1;var maxIdx=idx+maxBytesToRead/2;while(!(idx>=maxIdx)&&HEAPU16[idx])++idx;endPtr=idx<<1;if(endPtr-ptr>32&&UTF16Decoder)return UTF16Decoder.decode(HEAPU8.subarray(ptr,endPtr));var str="";for(var i=0;!(i>=maxBytesToRead/2);++i){var codeUnit=HEAP16[ptr+i*2>>1];if(codeUnit==0)break;str+=String.fromCharCode(codeUnit)}return str}function stringToUTF16(str,outPtr,maxBytesToWrite){if(maxBytesToWrite===undefined){maxBytesToWrite=2147483647}if(maxBytesToWrite<2)return 0;maxBytesToWrite-=2;var startPtr=outPtr;var numCharsToWrite=maxBytesToWrite>1]=codeUnit;outPtr+=2}HEAP16[outPtr>>1]=0;return outPtr-startPtr}function lengthBytesUTF16(str){return str.length*2}function UTF32ToString(ptr,maxBytesToRead){var i=0;var str="";while(!(i>=maxBytesToRead/4)){var utf32=HEAP32[ptr+i*4>>2];if(utf32==0)break;++i;if(utf32>=65536){var ch=utf32-65536;str+=String.fromCharCode(55296|ch>>10,56320|ch&1023)}else{str+=String.fromCharCode(utf32)}}return str}function stringToUTF32(str,outPtr,maxBytesToWrite){if(maxBytesToWrite===undefined){maxBytesToWrite=2147483647}if(maxBytesToWrite<4)return 0;var startPtr=outPtr;var endPtr=startPtr+maxBytesToWrite-4;for(var i=0;i=55296&&codeUnit<=57343){var trailSurrogate=str.charCodeAt(++i);codeUnit=65536+((codeUnit&1023)<<10)|trailSurrogate&1023}HEAP32[outPtr>>2]=codeUnit;outPtr+=4;if(outPtr+4>endPtr)break}HEAP32[outPtr>>2]=0;return outPtr-startPtr}function lengthBytesUTF32(str){var len=0;for(var i=0;i=55296&&codeUnit<=57343)++i;len+=4}return len}function __embind_register_std_wstring(rawType,charSize,name){name=readLatin1String(name);var decodeString,encodeString,getHeap,lengthBytesUTF,shift;if(charSize===2){decodeString=UTF16ToString;encodeString=stringToUTF16;lengthBytesUTF=lengthBytesUTF16;getHeap=()=>HEAPU16;shift=1}else if(charSize===4){decodeString=UTF32ToString;encodeString=stringToUTF32;lengthBytesUTF=lengthBytesUTF32;getHeap=()=>HEAPU32;shift=2}registerType(rawType,{name:name,"fromWireType":function(value){var length=HEAPU32[value>>2];var HEAP=getHeap();var str;var decodeStartPtr=value+4;for(var i=0;i<=length;++i){var currentBytePtr=value+4+i*charSize;if(i==length||HEAP[currentBytePtr>>shift]==0){var maxReadBytes=currentBytePtr-decodeStartPtr;var stringSegment=decodeString(decodeStartPtr,maxReadBytes);if(str===undefined){str=stringSegment}else{str+=String.fromCharCode(0);str+=stringSegment}decodeStartPtr=currentBytePtr+charSize}}_free(value);return str},"toWireType":function(destructors,value){if(!(typeof value=="string")){throwBindingError(`Cannot pass non-string to C++ string type ${name}`)}var length=lengthBytesUTF(value);var ptr=_malloc(4+length+charSize);HEAPU32[ptr>>2]=length>>shift;encodeString(value,ptr+4,length+charSize);if(destructors!==null){destructors.push(_free,ptr)}return ptr},"argPackAdvance":8,"readValueFromPointer":simpleReadValueFromPointer,destructorFunction:function(ptr){_free(ptr)}})}function __embind_register_void(rawType,name){name=readLatin1String(name);registerType(rawType,{isVoid:true,name:name,"argPackAdvance":0,"fromWireType":function(){return undefined},"toWireType":function(destructors,o){return undefined}})}var emval_symbols={};function getStringOrSymbol(address){var symbol=emval_symbols[address];if(symbol===undefined){return readLatin1String(address)}return symbol}var emval_methodCallers=[];function __emval_call_void_method(caller,handle,methodName,args){caller=emval_methodCallers[caller];handle=Emval.toValue(handle);methodName=getStringOrSymbol(methodName);caller(handle,methodName,null,args)}function emval_addMethodCaller(caller){var id=emval_methodCallers.length;emval_methodCallers.push(caller);return id}function emval_lookupTypes(argCount,argTypes){var a=new Array(argCount);for(var i=0;i>2],"parameter "+i)}return a}var emval_registeredMethods=[];function __emval_get_method_caller(argCount,argTypes){var types=emval_lookupTypes(argCount,argTypes);var retType=types[0];var signatureName=retType.name+"_$"+types.slice(1).map(function(t){return t.name}).join("_")+"$";var returnId=emval_registeredMethods[signatureName];if(returnId!==undefined){return returnId}var argN=new Array(argCount-1);var invokerFunction=(handle,name,destructors,args)=>{var offset=0;for(var i=0;i4){emval_handles.get(handle).refcount+=1}}function _abort(){abort("")}function _emscripten_date_now(){return Date.now()}function _emscripten_memcpy_big(dest,src,num){HEAPU8.copyWithin(dest,src,src+num)}function getHeapMax(){return 2147483648}function emscripten_realloc_buffer(size){var b=wasmMemory.buffer;var pages=size-b.byteLength+65535>>>16;try{wasmMemory.grow(pages);updateMemoryViews();return 1}catch(e){}}function _emscripten_resize_heap(requestedSize){var oldSize=HEAPU8.length;requestedSize=requestedSize>>>0;var maxHeapSize=getHeapMax();if(requestedSize>maxHeapSize){return false}var alignUp=(x,multiple)=>x+(multiple-x%multiple)%multiple;for(var cutDown=1;cutDown<=4;cutDown*=2){var overGrownHeapSize=oldSize*(1+.2/cutDown);overGrownHeapSize=Math.min(overGrownHeapSize,requestedSize+100663296);var newSize=Math.min(maxHeapSize,alignUp(Math.max(requestedSize,overGrownHeapSize),65536));var replacement=emscripten_realloc_buffer(newSize);if(replacement){return true}}return false}BindingError=Module["BindingError"]=extendError(Error,"BindingError");init_emval();PureVirtualError=Module["PureVirtualError"]=extendError(Error,"PureVirtualError");embind_init_charCodes();init_embind();InternalError=Module["InternalError"]=extendError(Error,"InternalError");init_ClassHandle();init_RegisteredPointer();UnboundTypeError=Module["UnboundTypeError"]=extendError(Error,"UnboundTypeError");var decodeBase64=typeof atob=="function"?atob:function(input){var keyStr="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";var output="";var chr1,chr2,chr3;var enc1,enc2,enc3,enc4;var i=0;input=input.replace(/[^A-Za-z0-9\+\/\=]/g,"");do{enc1=keyStr.indexOf(input.charAt(i++));enc2=keyStr.indexOf(input.charAt(i++));enc3=keyStr.indexOf(input.charAt(i++));enc4=keyStr.indexOf(input.charAt(i++));chr1=enc1<<2|enc2>>4;chr2=(enc2&15)<<4|enc3>>2;chr3=(enc3&3)<<6|enc4;output=output+String.fromCharCode(chr1);if(enc3!==64){output=output+String.fromCharCode(chr2)}if(enc4!==64){output=output+String.fromCharCode(chr3)}}while(i0){return}preRun();if(runDependencies>0){return}function doRun(){if(calledRun)return;calledRun=true;Module["calledRun"]=true;if(ABORT)return;initRuntime();readyPromiseResolve(Module);if(Module["onRuntimeInitialized"])Module["onRuntimeInitialized"]();postRun()}if(Module["setStatus"]){Module["setStatus"]("Running...");setTimeout(function(){setTimeout(function(){Module["setStatus"]("")},1);doRun()},1)}else{doRun()}}if(Module["preInit"]){if(typeof Module["preInit"]=="function")Module["preInit"]=[Module["preInit"]];while(Module["preInit"].length>0){Module["preInit"].pop()()}}run(); +)(info)},instantiate:function(binary,info){return{then:function(ok){var module=new WebAssembly.Module(binary);ok({"instance":new WebAssembly.Instance(module,info)})}}},RuntimeError:Error};wasmBinary=[];if(typeof WebAssembly!="object"){abort("no native wasm support detected")}var wasmMemory;var ABORT=false;var EXITSTATUS;function assert(condition,text){if(!condition){abort(text)}}var HEAP8,HEAPU8,HEAP16,HEAPU16,HEAP32,HEAPU32,HEAPF32,HEAPF64;function updateMemoryViews(){var b=wasmMemory.buffer;Module["HEAP8"]=HEAP8=new Int8Array(b);Module["HEAP16"]=HEAP16=new Int16Array(b);Module["HEAP32"]=HEAP32=new Int32Array(b);Module["HEAPU8"]=HEAPU8=new Uint8Array(b);Module["HEAPU16"]=HEAPU16=new Uint16Array(b);Module["HEAPU32"]=HEAPU32=new Uint32Array(b);Module["HEAPF32"]=HEAPF32=new Float32Array(b);Module["HEAPF64"]=HEAPF64=new Float64Array(b)}var INITIAL_MEMORY=Module["INITIAL_MEMORY"]||16777216;assert(INITIAL_MEMORY>=65536,"INITIAL_MEMORY should be larger than STACK_SIZE, was "+INITIAL_MEMORY+"! (STACK_SIZE="+65536+")");if(Module["wasmMemory"]){wasmMemory=Module["wasmMemory"]}else{wasmMemory=new WebAssembly.Memory({"initial":INITIAL_MEMORY/65536,"maximum":2147483648/65536})}updateMemoryViews();INITIAL_MEMORY=wasmMemory.buffer.byteLength;var wasmTable;var __ATPRERUN__=[];var __ATINIT__=[];var __ATPOSTRUN__=[];var runtimeInitialized=false;function preRun(){if(Module["preRun"]){if(typeof Module["preRun"]=="function")Module["preRun"]=[Module["preRun"]];while(Module["preRun"].length){addOnPreRun(Module["preRun"].shift())}}callRuntimeCallbacks(__ATPRERUN__)}function initRuntime(){runtimeInitialized=true;callRuntimeCallbacks(__ATINIT__)}function postRun(){if(Module["postRun"]){if(typeof Module["postRun"]=="function")Module["postRun"]=[Module["postRun"]];while(Module["postRun"].length){addOnPostRun(Module["postRun"].shift())}}callRuntimeCallbacks(__ATPOSTRUN__)}function addOnPreRun(cb){__ATPRERUN__.unshift(cb)}function addOnInit(cb){__ATINIT__.unshift(cb)}function addOnPostRun(cb){__ATPOSTRUN__.unshift(cb)}var runDependencies=0;var runDependencyWatcher=null;var dependenciesFulfilled=null;function addRunDependency(id){runDependencies++;if(Module["monitorRunDependencies"]){Module["monitorRunDependencies"](runDependencies)}}function removeRunDependency(id){runDependencies--;if(Module["monitorRunDependencies"]){Module["monitorRunDependencies"](runDependencies)}if(runDependencies==0){if(runDependencyWatcher!==null){clearInterval(runDependencyWatcher);runDependencyWatcher=null}if(dependenciesFulfilled){var callback=dependenciesFulfilled;dependenciesFulfilled=null;callback()}}}function abort(what){if(Module["onAbort"]){Module["onAbort"](what)}what="Aborted("+what+")";err(what);ABORT=true;EXITSTATUS=1;what+=". Build with -sASSERTIONS for more info.";var e=new WebAssembly.RuntimeError(what);readyPromiseReject(e);throw e}var dataURIPrefix="data:application/octet-stream;base64,";function isDataURI(filename){return filename.startsWith(dataURIPrefix)}var wasmBinaryFile;wasmBinaryFile="bullet.release.asm.wasm";if(!isDataURI(wasmBinaryFile)){wasmBinaryFile=locateFile(wasmBinaryFile)}function getBinary(file){try{if(file==wasmBinaryFile&&wasmBinary){return new Uint8Array(wasmBinary)}if(readBinary){return readBinary(file)}throw"both async and sync fetching of the wasm failed"}catch(err){abort(err)}}function getBinaryPromise(binaryFile){if(!wasmBinary&&(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER)){if(typeof fetch=="function"){return fetch(binaryFile,{credentials:"same-origin"}).then(response=>{if(!response["ok"]){throw"failed to load wasm binary file at '"+binaryFile+"'"}return response["arrayBuffer"]()}).catch(()=>getBinary(binaryFile))}}return Promise.resolve().then(()=>getBinary(binaryFile))}function instantiateArrayBuffer(binaryFile,imports,receiver){return getBinaryPromise(binaryFile).then(binary=>{return WebAssembly.instantiate(binary,imports)}).then(instance=>{return instance}).then(receiver,reason=>{err("failed to asynchronously prepare wasm: "+reason);abort(reason)})}function instantiateAsync(binary,binaryFile,imports,callback){if(!binary&&typeof WebAssembly.instantiateStreaming=="function"&&!isDataURI(binaryFile)&&typeof fetch=="function"){return fetch(binaryFile,{credentials:"same-origin"}).then(response=>{var result=WebAssembly.instantiateStreaming(response,imports);return result.then(callback,function(reason){err("wasm streaming compile failed: "+reason);err("falling back to ArrayBuffer instantiation");return instantiateArrayBuffer(binaryFile,imports,callback)})})}else{return instantiateArrayBuffer(binaryFile,imports,callback)}}function createWasm(){var info={"a":wasmImports};function receiveInstance(instance,module){var exports=instance.exports;Module["asm"]=exports;runMemoryInitializer();wasmTable=Module["asm"]["z"];addOnInit(Module["asm"]["w"]);removeRunDependency("wasm-instantiate");return exports}addRunDependency("wasm-instantiate");function receiveInstantiationResult(result){receiveInstance(result["instance"])}if(Module["instantiateWasm"]){try{return Module["instantiateWasm"](info,receiveInstance)}catch(e){err("Module.instantiateWasm callback failed with error: "+e);readyPromiseReject(e)}}instantiateAsync(wasmBinary,wasmBinaryFile,info,receiveInstantiationResult).catch(readyPromiseReject);return{}}var memoryInitializer="bullet.release.asm.js.mem";function runMemoryInitializer(){if(!isDataURI(memoryInitializer)){memoryInitializer=locateFile(memoryInitializer)}if(ENVIRONMENT_IS_NODE||ENVIRONMENT_IS_SHELL){var data=readBinary(memoryInitializer);HEAPU8.set(data,1024)}else{addRunDependency("memory initializer");var applyMemoryInitializer=data=>{if(data.byteLength)data=new Uint8Array(data);HEAPU8.set(data,1024);if(Module["memoryInitializerRequest"])delete Module["memoryInitializerRequest"].response;removeRunDependency("memory initializer")};var doBrowserLoad=()=>{readAsync(memoryInitializer,applyMemoryInitializer,()=>{var e=new Error("could not load memory initializer "+memoryInitializer);readyPromiseReject(e)})};if(Module["memoryInitializerRequest"]){var useRequest=()=>{var request=Module["memoryInitializerRequest"];var response=request.response;if(request.status!==200&&request.status!==0){console.warn("a problem seems to have happened with Module.memoryInitializerRequest, status: "+request.status+", retrying "+memoryInitializer);doBrowserLoad();return}applyMemoryInitializer(response)};if(Module["memoryInitializerRequest"].response){setTimeout(useRequest,0)}else{Module["memoryInitializerRequest"].addEventListener("load",useRequest)}}else{doBrowserLoad()}}}function callRuntimeCallbacks(callbacks){while(callbacks.length>0){callbacks.shift()(Module)}}var char_0=48;var char_9=57;function makeLegalFunctionName(name){if(undefined===name){return"_unknown"}name=name.replace(/[^a-zA-Z0-9_]/g,"$");var f=name.charCodeAt(0);if(f>=char_0&&f<=char_9){return`_${name}`}return name}function createNamedFunction(name,body){name=makeLegalFunctionName(name);return{[name]:function(){return body.apply(this,arguments)}}[name]}function HandleAllocator(){this.allocated=[undefined];this.freelist=[];this.get=function(id){return this.allocated[id]};this.has=function(id){return this.allocated[id]!==undefined};this.allocate=function(handle){var id=this.freelist.pop()||this.allocated.length;this.allocated[id]=handle;return id};this.free=function(id){this.allocated[id]=undefined;this.freelist.push(id)}}var emval_handles=new HandleAllocator;function extendError(baseErrorType,errorName){var errorClass=createNamedFunction(errorName,function(message){this.name=errorName;this.message=message;var stack=new Error(message).stack;if(stack!==undefined){this.stack=this.toString()+"\n"+stack.replace(/^Error(:[^\n]*)?\n/,"")}});errorClass.prototype=Object.create(baseErrorType.prototype);errorClass.prototype.constructor=errorClass;errorClass.prototype.toString=function(){if(this.message===undefined){return this.name}else{return`${this.name}: ${this.message}`}};return errorClass}var BindingError=undefined;function throwBindingError(message){throw new BindingError(message)}function count_emval_handles(){var count=0;for(var i=emval_handles.reserved;i{if(!handle){throwBindingError("Cannot use deleted val. handle = "+handle)}return emval_handles.get(handle).value},toHandle:value=>{switch(value){case undefined:return 1;case null:return 2;case true:return 3;case false:return 4;default:{return emval_handles.allocate({refcount:1,value:value})}}}};var PureVirtualError=undefined;function embind_init_charCodes(){var codes=new Array(256);for(var i=0;i<256;++i){codes[i]=String.fromCharCode(i)}embind_charCodes=codes}var embind_charCodes=undefined;function readLatin1String(ptr){var ret="";var c=ptr;while(HEAPU8[c]){ret+=embind_charCodes[HEAPU8[c++]]}return ret}function getInheritedInstanceCount(){return Object.keys(registeredInstances).length}function getLiveInheritedInstances(){var rv=[];for(var k in registeredInstances){if(registeredInstances.hasOwnProperty(k)){rv.push(registeredInstances[k])}}return rv}var deletionQueue=[];function flushPendingDeletes(){while(deletionQueue.length){var obj=deletionQueue.pop();obj.$$.deleteScheduled=false;obj["delete"]()}}var delayFunction=undefined;function setDelayFunction(fn){delayFunction=fn;if(deletionQueue.length&&delayFunction){delayFunction(flushPendingDeletes)}}function init_embind(){Module["getInheritedInstanceCount"]=getInheritedInstanceCount;Module["getLiveInheritedInstances"]=getLiveInheritedInstances;Module["flushPendingDeletes"]=flushPendingDeletes;Module["setDelayFunction"]=setDelayFunction}var registeredInstances={};function getBasestPointer(class_,ptr){if(ptr===undefined){throwBindingError("ptr should not be undefined")}while(class_.baseClass){ptr=class_.upcast(ptr);class_=class_.baseClass}return ptr}function registerInheritedInstance(class_,ptr,instance){ptr=getBasestPointer(class_,ptr);if(registeredInstances.hasOwnProperty(ptr)){throwBindingError(`Tried to register registered instance: ${ptr}`)}else{registeredInstances[ptr]=instance}}var registeredTypes={};function getTypeName(type){var ptr=___getTypeName(type);var rv=readLatin1String(ptr);_free(ptr);return rv}function requireRegisteredType(rawType,humanName){var impl=registeredTypes[rawType];if(undefined===impl){throwBindingError(humanName+" has unknown type "+getTypeName(rawType))}return impl}function unregisterInheritedInstance(class_,ptr){ptr=getBasestPointer(class_,ptr);if(registeredInstances.hasOwnProperty(ptr)){delete registeredInstances[ptr]}else{throwBindingError(`Tried to unregister unregistered instance: ${ptr}`)}}function detachFinalizer(handle){}var finalizationRegistry=false;function runDestructor($$){if($$.smartPtr){$$.smartPtrType.rawDestructor($$.smartPtr)}else{$$.ptrType.registeredClass.rawDestructor($$.ptr)}}function releaseClassHandle($$){$$.count.value-=1;var toDelete=0===$$.count.value;if(toDelete){runDestructor($$)}}function downcastPointer(ptr,ptrClass,desiredClass){if(ptrClass===desiredClass){return ptr}if(undefined===desiredClass.baseClass){return null}var rv=downcastPointer(ptr,ptrClass,desiredClass.baseClass);if(rv===null){return null}return desiredClass.downcast(rv)}var registeredPointers={};function getInheritedInstance(class_,ptr){ptr=getBasestPointer(class_,ptr);return registeredInstances[ptr]}var InternalError=undefined;function throwInternalError(message){throw new InternalError(message)}function makeClassHandle(prototype,record){if(!record.ptrType||!record.ptr){throwInternalError("makeClassHandle requires ptr and ptrType")}var hasSmartPtrType=!!record.smartPtrType;var hasSmartPtr=!!record.smartPtr;if(hasSmartPtrType!==hasSmartPtr){throwInternalError("Both smartPtrType and smartPtr must be specified")}record.count={value:1};return attachFinalizer(Object.create(prototype,{$$:{value:record}}))}function RegisteredPointer_fromWireType(ptr){var rawPointer=this.getPointee(ptr);if(!rawPointer){this.destructor(ptr);return null}var registeredInstance=getInheritedInstance(this.registeredClass,rawPointer);if(undefined!==registeredInstance){if(0===registeredInstance.$$.count.value){registeredInstance.$$.ptr=rawPointer;registeredInstance.$$.smartPtr=ptr;return registeredInstance["clone"]()}else{var rv=registeredInstance["clone"]();this.destructor(ptr);return rv}}function makeDefaultHandle(){if(this.isSmartPointer){return makeClassHandle(this.registeredClass.instancePrototype,{ptrType:this.pointeeType,ptr:rawPointer,smartPtrType:this,smartPtr:ptr})}else{return makeClassHandle(this.registeredClass.instancePrototype,{ptrType:this,ptr:ptr})}}var actualType=this.registeredClass.getActualType(rawPointer);var registeredPointerRecord=registeredPointers[actualType];if(!registeredPointerRecord){return makeDefaultHandle.call(this)}var toType;if(this.isConst){toType=registeredPointerRecord.constPointerType}else{toType=registeredPointerRecord.pointerType}var dp=downcastPointer(rawPointer,this.registeredClass,toType.registeredClass);if(dp===null){return makeDefaultHandle.call(this)}if(this.isSmartPointer){return makeClassHandle(toType.registeredClass.instancePrototype,{ptrType:toType,ptr:dp,smartPtrType:this,smartPtr:ptr})}else{return makeClassHandle(toType.registeredClass.instancePrototype,{ptrType:toType,ptr:dp})}}function attachFinalizer(handle){if("undefined"===typeof FinalizationRegistry){attachFinalizer=handle=>handle;return handle}finalizationRegistry=new FinalizationRegistry(info=>{releaseClassHandle(info.$$)});attachFinalizer=handle=>{var $$=handle.$$;var hasSmartPtr=!!$$.smartPtr;if(hasSmartPtr){var info={$$:$$};finalizationRegistry.register(handle,info,handle)}return handle};detachFinalizer=handle=>finalizationRegistry.unregister(handle);return attachFinalizer(handle)}function __embind_create_inheriting_constructor(constructorName,wrapperType,properties){constructorName=readLatin1String(constructorName);wrapperType=requireRegisteredType(wrapperType,"wrapper");properties=Emval.toValue(properties);var arraySlice=[].slice;var registeredClass=wrapperType.registeredClass;var wrapperPrototype=registeredClass.instancePrototype;var baseClass=registeredClass.baseClass;var baseClassPrototype=baseClass.instancePrototype;var baseConstructor=registeredClass.baseClass.constructor;var ctor=createNamedFunction(constructorName,function(){registeredClass.baseClass.pureVirtualFunctions.forEach(function(name){if(this[name]===baseClassPrototype[name]){throw new PureVirtualError(`Pure virtual function ${name} must be implemented in JavaScript`)}}.bind(this));Object.defineProperty(this,"__parent",{value:wrapperPrototype});this["__construct"].apply(this,arraySlice.call(arguments))});wrapperPrototype["__construct"]=function __construct(){if(this===wrapperPrototype){throwBindingError("Pass correct 'this' to __construct")}var inner=baseConstructor["implement"].apply(undefined,[this].concat(arraySlice.call(arguments)));detachFinalizer(inner);var $$=inner.$$;inner["notifyOnDestruction"]();$$.preservePointerOnDelete=true;Object.defineProperties(this,{$$:{value:$$}});attachFinalizer(this);registerInheritedInstance(registeredClass,$$.ptr,this)};wrapperPrototype["__destruct"]=function __destruct(){if(this===wrapperPrototype){throwBindingError("Pass correct 'this' to __destruct")}detachFinalizer(this);unregisterInheritedInstance(registeredClass,this.$$.ptr)};ctor.prototype=Object.create(wrapperPrototype);for(var p in properties){ctor.prototype[p]=properties[p]}return Emval.toHandle(ctor)}function __embind_register_bigint(primitiveType,name,size,minRange,maxRange){}function getShiftFromSize(size){switch(size){case 1:return 0;case 2:return 1;case 4:return 2;case 8:return 3;default:throw new TypeError(`Unknown type size: ${size}`)}}var awaitingDependencies={};var typeDependencies={};function whenDependentTypesAreResolved(myTypes,dependentTypes,getTypeConverters){myTypes.forEach(function(type){typeDependencies[type]=dependentTypes});function onComplete(typeConverters){var myTypeConverters=getTypeConverters(typeConverters);if(myTypeConverters.length!==myTypes.length){throwInternalError("Mismatched type converter count")}for(var i=0;i{if(registeredTypes.hasOwnProperty(dt)){typeConverters[i]=registeredTypes[dt]}else{unregisteredTypes.push(dt);if(!awaitingDependencies.hasOwnProperty(dt)){awaitingDependencies[dt]=[]}awaitingDependencies[dt].push(()=>{typeConverters[i]=registeredTypes[dt];++registered;if(registered===unregisteredTypes.length){onComplete(typeConverters)}})}});if(0===unregisteredTypes.length){onComplete(typeConverters)}}function registerType(rawType,registeredInstance,options={}){if(!("argPackAdvance"in registeredInstance)){throw new TypeError("registerType registeredInstance requires argPackAdvance")}var name=registeredInstance.name;if(!rawType){throwBindingError(`type "${name}" must have a positive integer typeid pointer`)}if(registeredTypes.hasOwnProperty(rawType)){if(options.ignoreDuplicateRegistrations){return}else{throwBindingError(`Cannot register type '${name}' twice`)}}registeredTypes[rawType]=registeredInstance;delete typeDependencies[rawType];if(awaitingDependencies.hasOwnProperty(rawType)){var callbacks=awaitingDependencies[rawType];delete awaitingDependencies[rawType];callbacks.forEach(cb=>cb())}}function __embind_register_bool(rawType,name,size,trueValue,falseValue){var shift=getShiftFromSize(size);name=readLatin1String(name);registerType(rawType,{name:name,"fromWireType":function(wt){return!!wt},"toWireType":function(destructors,o){return o?trueValue:falseValue},"argPackAdvance":8,"readValueFromPointer":function(pointer){var heap;if(size===1){heap=HEAP8}else if(size===2){heap=HEAP16}else if(size===4){heap=HEAP32}else{throw new TypeError("Unknown boolean type size: "+name)}return this["fromWireType"](heap[pointer>>shift])},destructorFunction:null})}function ClassHandle_isAliasOf(other){if(!(this instanceof ClassHandle)){return false}if(!(other instanceof ClassHandle)){return false}var leftClass=this.$$.ptrType.registeredClass;var left=this.$$.ptr;var rightClass=other.$$.ptrType.registeredClass;var right=other.$$.ptr;while(leftClass.baseClass){left=leftClass.upcast(left);leftClass=leftClass.baseClass}while(rightClass.baseClass){right=rightClass.upcast(right);rightClass=rightClass.baseClass}return leftClass===rightClass&&left===right}function shallowCopyInternalPointer(o){return{count:o.count,deleteScheduled:o.deleteScheduled,preservePointerOnDelete:o.preservePointerOnDelete,ptr:o.ptr,ptrType:o.ptrType,smartPtr:o.smartPtr,smartPtrType:o.smartPtrType}}function throwInstanceAlreadyDeleted(obj){function getInstanceTypeName(handle){return handle.$$.ptrType.registeredClass.name}throwBindingError(getInstanceTypeName(obj)+" instance already deleted")}function ClassHandle_clone(){if(!this.$$.ptr){throwInstanceAlreadyDeleted(this)}if(this.$$.preservePointerOnDelete){this.$$.count.value+=1;return this}else{var clone=attachFinalizer(Object.create(Object.getPrototypeOf(this),{$$:{value:shallowCopyInternalPointer(this.$$)}}));clone.$$.count.value+=1;clone.$$.deleteScheduled=false;return clone}}function ClassHandle_delete(){if(!this.$$.ptr){throwInstanceAlreadyDeleted(this)}if(this.$$.deleteScheduled&&!this.$$.preservePointerOnDelete){throwBindingError("Object already scheduled for deletion")}detachFinalizer(this);releaseClassHandle(this.$$);if(!this.$$.preservePointerOnDelete){this.$$.smartPtr=undefined;this.$$.ptr=undefined}}function ClassHandle_isDeleted(){return!this.$$.ptr}function ClassHandle_deleteLater(){if(!this.$$.ptr){throwInstanceAlreadyDeleted(this)}if(this.$$.deleteScheduled&&!this.$$.preservePointerOnDelete){throwBindingError("Object already scheduled for deletion")}deletionQueue.push(this);if(deletionQueue.length===1&&delayFunction){delayFunction(flushPendingDeletes)}this.$$.deleteScheduled=true;return this}function init_ClassHandle(){ClassHandle.prototype["isAliasOf"]=ClassHandle_isAliasOf;ClassHandle.prototype["clone"]=ClassHandle_clone;ClassHandle.prototype["delete"]=ClassHandle_delete;ClassHandle.prototype["isDeleted"]=ClassHandle_isDeleted;ClassHandle.prototype["deleteLater"]=ClassHandle_deleteLater}function ClassHandle(){}function ensureOverloadTable(proto,methodName,humanName){if(undefined===proto[methodName].overloadTable){var prevFunc=proto[methodName];proto[methodName]=function(){if(!proto[methodName].overloadTable.hasOwnProperty(arguments.length)){throwBindingError(`Function '${humanName}' called with an invalid number of arguments (${arguments.length}) - expects one of (${proto[methodName].overloadTable})!`)}return proto[methodName].overloadTable[arguments.length].apply(this,arguments)};proto[methodName].overloadTable=[];proto[methodName].overloadTable[prevFunc.argCount]=prevFunc}}function exposePublicSymbol(name,value,numArguments){if(Module.hasOwnProperty(name)){if(undefined===numArguments||undefined!==Module[name].overloadTable&&undefined!==Module[name].overloadTable[numArguments]){throwBindingError(`Cannot register public name '${name}' twice`)}ensureOverloadTable(Module,name,name);if(Module.hasOwnProperty(numArguments)){throwBindingError(`Cannot register multiple overloads of a function with the same number of arguments (${numArguments})!`)}Module[name].overloadTable[numArguments]=value}else{Module[name]=value;if(undefined!==numArguments){Module[name].numArguments=numArguments}}}function RegisteredClass(name,constructor,instancePrototype,rawDestructor,baseClass,getActualType,upcast,downcast){this.name=name;this.constructor=constructor;this.instancePrototype=instancePrototype;this.rawDestructor=rawDestructor;this.baseClass=baseClass;this.getActualType=getActualType;this.upcast=upcast;this.downcast=downcast;this.pureVirtualFunctions=[]}function upcastPointer(ptr,ptrClass,desiredClass){while(ptrClass!==desiredClass){if(!ptrClass.upcast){throwBindingError(`Expected null or instance of ${desiredClass.name}, got an instance of ${ptrClass.name}`)}ptr=ptrClass.upcast(ptr);ptrClass=ptrClass.baseClass}return ptr}function constNoSmartPtrRawPointerToWireType(destructors,handle){if(handle===null){if(this.isReference){throwBindingError(`null is not a valid ${this.name}`)}return 0}if(!handle.$$){throwBindingError(`Cannot pass "${embindRepr(handle)}" as a ${this.name}`)}if(!handle.$$.ptr){throwBindingError(`Cannot pass deleted object as a pointer of type ${this.name}`)}var handleClass=handle.$$.ptrType.registeredClass;var ptr=upcastPointer(handle.$$.ptr,handleClass,this.registeredClass);return ptr}function genericPointerToWireType(destructors,handle){var ptr;if(handle===null){if(this.isReference){throwBindingError(`null is not a valid ${this.name}`)}if(this.isSmartPointer){ptr=this.rawConstructor();if(destructors!==null){destructors.push(this.rawDestructor,ptr)}return ptr}else{return 0}}if(!handle.$$){throwBindingError(`Cannot pass "${embindRepr(handle)}" as a ${this.name}`)}if(!handle.$$.ptr){throwBindingError(`Cannot pass deleted object as a pointer of type ${this.name}`)}if(!this.isConst&&handle.$$.ptrType.isConst){throwBindingError(`Cannot convert argument of type ${handle.$$.smartPtrType?handle.$$.smartPtrType.name:handle.$$.ptrType.name} to parameter type ${this.name}`)}var handleClass=handle.$$.ptrType.registeredClass;ptr=upcastPointer(handle.$$.ptr,handleClass,this.registeredClass);if(this.isSmartPointer){if(undefined===handle.$$.smartPtr){throwBindingError("Passing raw pointer to smart pointer is illegal")}switch(this.sharingPolicy){case 0:if(handle.$$.smartPtrType===this){ptr=handle.$$.smartPtr}else{throwBindingError(`Cannot convert argument of type ${handle.$$.smartPtrType?handle.$$.smartPtrType.name:handle.$$.ptrType.name} to parameter type ${this.name}`)}break;case 1:ptr=handle.$$.smartPtr;break;case 2:if(handle.$$.smartPtrType===this){ptr=handle.$$.smartPtr}else{var clonedHandle=handle["clone"]();ptr=this.rawShare(ptr,Emval.toHandle(function(){clonedHandle["delete"]()}));if(destructors!==null){destructors.push(this.rawDestructor,ptr)}}break;default:throwBindingError("Unsupporting sharing policy")}}return ptr}function nonConstNoSmartPtrRawPointerToWireType(destructors,handle){if(handle===null){if(this.isReference){throwBindingError(`null is not a valid ${this.name}`)}return 0}if(!handle.$$){throwBindingError(`Cannot pass "${embindRepr(handle)}" as a ${this.name}`)}if(!handle.$$.ptr){throwBindingError(`Cannot pass deleted object as a pointer of type ${this.name}`)}if(handle.$$.ptrType.isConst){throwBindingError(`Cannot convert argument of type ${handle.$$.ptrType.name} to parameter type ${this.name}`)}var handleClass=handle.$$.ptrType.registeredClass;var ptr=upcastPointer(handle.$$.ptr,handleClass,this.registeredClass);return ptr}function simpleReadValueFromPointer(pointer){return this["fromWireType"](HEAP32[pointer>>2])}function RegisteredPointer_getPointee(ptr){if(this.rawGetPointee){ptr=this.rawGetPointee(ptr)}return ptr}function RegisteredPointer_destructor(ptr){if(this.rawDestructor){this.rawDestructor(ptr)}}function RegisteredPointer_deleteObject(handle){if(handle!==null){handle["delete"]()}}function init_RegisteredPointer(){RegisteredPointer.prototype.getPointee=RegisteredPointer_getPointee;RegisteredPointer.prototype.destructor=RegisteredPointer_destructor;RegisteredPointer.prototype["argPackAdvance"]=8;RegisteredPointer.prototype["readValueFromPointer"]=simpleReadValueFromPointer;RegisteredPointer.prototype["deleteObject"]=RegisteredPointer_deleteObject;RegisteredPointer.prototype["fromWireType"]=RegisteredPointer_fromWireType}function RegisteredPointer(name,registeredClass,isReference,isConst,isSmartPointer,pointeeType,sharingPolicy,rawGetPointee,rawConstructor,rawShare,rawDestructor){this.name=name;this.registeredClass=registeredClass;this.isReference=isReference;this.isConst=isConst;this.isSmartPointer=isSmartPointer;this.pointeeType=pointeeType;this.sharingPolicy=sharingPolicy;this.rawGetPointee=rawGetPointee;this.rawConstructor=rawConstructor;this.rawShare=rawShare;this.rawDestructor=rawDestructor;if(!isSmartPointer&®isteredClass.baseClass===undefined){if(isConst){this["toWireType"]=constNoSmartPtrRawPointerToWireType;this.destructorFunction=null}else{this["toWireType"]=nonConstNoSmartPtrRawPointerToWireType;this.destructorFunction=null}}else{this["toWireType"]=genericPointerToWireType}}function replacePublicSymbol(name,value,numArguments){if(!Module.hasOwnProperty(name)){throwInternalError("Replacing nonexistant public symbol")}if(undefined!==Module[name].overloadTable&&undefined!==numArguments){Module[name].overloadTable[numArguments]=value}else{Module[name]=value;Module[name].argCount=numArguments}}function dynCallLegacy(sig,ptr,args){var f=Module["dynCall_"+sig];return args&&args.length?f.apply(null,[ptr].concat(args)):f.call(null,ptr)}var wasmTableMirror=[];function getWasmTableEntry(funcPtr){var func=wasmTableMirror[funcPtr];if(!func){if(funcPtr>=wasmTableMirror.length)wasmTableMirror.length=funcPtr+1;wasmTableMirror[funcPtr]=func=wasmTable.get(funcPtr)}return func}function dynCall(sig,ptr,args){if(sig.includes("j")){return dynCallLegacy(sig,ptr,args)}var rtn=getWasmTableEntry(ptr).apply(null,args);return rtn}function getDynCaller(sig,ptr){var argCache=[];return function(){argCache.length=0;Object.assign(argCache,arguments);return dynCall(sig,ptr,argCache)}}function embind__requireFunction(signature,rawFunction){signature=readLatin1String(signature);function makeDynCaller(){if(signature.includes("j")){return getDynCaller(signature,rawFunction)}return getWasmTableEntry(rawFunction)}var fp=makeDynCaller();if(typeof fp!="function"){throwBindingError(`unknown function pointer with signature ${signature}: ${rawFunction}`)}return fp}var UnboundTypeError=undefined;function throwUnboundTypeError(message,types){var unboundTypes=[];var seen={};function visit(type){if(seen[type]){return}if(registeredTypes[type]){return}if(typeDependencies[type]){typeDependencies[type].forEach(visit);return}unboundTypes.push(type);seen[type]=true}types.forEach(visit);throw new UnboundTypeError(`${message}: `+unboundTypes.map(getTypeName).join([", "]))}function __embind_register_class(rawType,rawPointerType,rawConstPointerType,baseClassRawType,getActualTypeSignature,getActualType,upcastSignature,upcast,downcastSignature,downcast,name,destructorSignature,rawDestructor){name=readLatin1String(name);getActualType=embind__requireFunction(getActualTypeSignature,getActualType);if(upcast){upcast=embind__requireFunction(upcastSignature,upcast)}if(downcast){downcast=embind__requireFunction(downcastSignature,downcast)}rawDestructor=embind__requireFunction(destructorSignature,rawDestructor);var legalFunctionName=makeLegalFunctionName(name);exposePublicSymbol(legalFunctionName,function(){throwUnboundTypeError(`Cannot construct ${name} due to unbound types`,[baseClassRawType])});whenDependentTypesAreResolved([rawType,rawPointerType,rawConstPointerType],baseClassRawType?[baseClassRawType]:[],function(base){base=base[0];var baseClass;var basePrototype;if(baseClassRawType){baseClass=base.registeredClass;basePrototype=baseClass.instancePrototype}else{basePrototype=ClassHandle.prototype}var constructor=createNamedFunction(legalFunctionName,function(){if(Object.getPrototypeOf(this)!==instancePrototype){throw new BindingError("Use 'new' to construct "+name)}if(undefined===registeredClass.constructor_body){throw new BindingError(name+" has no accessible constructor")}var body=registeredClass.constructor_body[arguments.length];if(undefined===body){throw new BindingError(`Tried to invoke ctor of ${name} with invalid number of parameters (${arguments.length}) - expected (${Object.keys(registeredClass.constructor_body).toString()}) parameters instead!`)}return body.apply(this,arguments)});var instancePrototype=Object.create(basePrototype,{constructor:{value:constructor}});constructor.prototype=instancePrototype;var registeredClass=new RegisteredClass(name,constructor,instancePrototype,rawDestructor,baseClass,getActualType,upcast,downcast);if(registeredClass.baseClass){if(registeredClass.baseClass.__derivedClasses===undefined){registeredClass.baseClass.__derivedClasses=[]}registeredClass.baseClass.__derivedClasses.push(registeredClass)}var referenceConverter=new RegisteredPointer(name,registeredClass,true,false,false);var pointerConverter=new RegisteredPointer(name+"*",registeredClass,false,false,false);var constPointerConverter=new RegisteredPointer(name+" const*",registeredClass,false,true,false);registeredPointers[rawType]={pointerType:pointerConverter,constPointerType:constPointerConverter};replacePublicSymbol(legalFunctionName,constructor);return[referenceConverter,pointerConverter,constPointerConverter]})}function runDestructors(destructors){while(destructors.length){var ptr=destructors.pop();var del=destructors.pop();del(ptr)}}function craftInvokerFunction(humanName,argTypes,classType,cppInvokerFunc,cppTargetFunc,isAsync){var argCount=argTypes.length;if(argCount<2){throwBindingError("argTypes array size mismatch! Must at least get return value and 'this' types!")}var isClassMethodFunc=argTypes[1]!==null&&classType!==null;var needsDestructorStack=false;for(var i=1;i>2])}return array}function __embind_register_class_class_function(rawClassType,methodName,argCount,rawArgTypesAddr,invokerSignature,rawInvoker,fn,isAsync){var rawArgTypes=heap32VectorToArray(argCount,rawArgTypesAddr);methodName=readLatin1String(methodName);rawInvoker=embind__requireFunction(invokerSignature,rawInvoker);whenDependentTypesAreResolved([],[rawClassType],function(classType){classType=classType[0];var humanName=`${classType.name}.${methodName}`;function unboundTypesHandler(){throwUnboundTypeError(`Cannot call ${humanName} due to unbound types`,rawArgTypes)}if(methodName.startsWith("@@")){methodName=Symbol[methodName.substring(2)]}var proto=classType.registeredClass.constructor;if(undefined===proto[methodName]){unboundTypesHandler.argCount=argCount-1;proto[methodName]=unboundTypesHandler}else{ensureOverloadTable(proto,methodName,humanName);proto[methodName].overloadTable[argCount-1]=unboundTypesHandler}whenDependentTypesAreResolved([],rawArgTypes,function(argTypes){var invokerArgsArray=[argTypes[0],null].concat(argTypes.slice(1));var func=craftInvokerFunction(humanName,invokerArgsArray,null,rawInvoker,fn,isAsync);if(undefined===proto[methodName].overloadTable){func.argCount=argCount-1;proto[methodName]=func}else{proto[methodName].overloadTable[argCount-1]=func}if(classType.registeredClass.__derivedClasses){for(const derivedClass of classType.registeredClass.__derivedClasses){if(!derivedClass.constructor.hasOwnProperty(methodName)){derivedClass.constructor[methodName]=func}}}return[]});return[]})}function __embind_register_class_function(rawClassType,methodName,argCount,rawArgTypesAddr,invokerSignature,rawInvoker,context,isPureVirtual,isAsync){var rawArgTypes=heap32VectorToArray(argCount,rawArgTypesAddr);methodName=readLatin1String(methodName);rawInvoker=embind__requireFunction(invokerSignature,rawInvoker);whenDependentTypesAreResolved([],[rawClassType],function(classType){classType=classType[0];var humanName=`${classType.name}.${methodName}`;if(methodName.startsWith("@@")){methodName=Symbol[methodName.substring(2)]}if(isPureVirtual){classType.registeredClass.pureVirtualFunctions.push(methodName)}function unboundTypesHandler(){throwUnboundTypeError(`Cannot call ${humanName} due to unbound types`,rawArgTypes)}var proto=classType.registeredClass.instancePrototype;var method=proto[methodName];if(undefined===method||undefined===method.overloadTable&&method.className!==classType.name&&method.argCount===argCount-2){unboundTypesHandler.argCount=argCount-2;unboundTypesHandler.className=classType.name;proto[methodName]=unboundTypesHandler}else{ensureOverloadTable(proto,methodName,humanName);proto[methodName].overloadTable[argCount-2]=unboundTypesHandler}whenDependentTypesAreResolved([],rawArgTypes,function(argTypes){var memberFunction=craftInvokerFunction(humanName,argTypes,classType,rawInvoker,context,isAsync);if(undefined===proto[methodName].overloadTable){memberFunction.argCount=argCount-2;proto[methodName]=memberFunction}else{proto[methodName].overloadTable[argCount-2]=memberFunction}return[]});return[]})}function __emval_decref(handle){if(handle>=emval_handles.reserved&&0===--emval_handles.get(handle).refcount){emval_handles.free(handle)}}function __embind_register_emval(rawType,name){name=readLatin1String(name);registerType(rawType,{name:name,"fromWireType":function(handle){var rv=Emval.toValue(handle);__emval_decref(handle);return rv},"toWireType":function(destructors,value){return Emval.toHandle(value)},"argPackAdvance":8,"readValueFromPointer":simpleReadValueFromPointer,destructorFunction:null})}function embindRepr(v){if(v===null){return"null"}var t=typeof v;if(t==="object"||t==="array"||t==="function"){return v.toString()}else{return""+v}}function floatReadValueFromPointer(name,shift){switch(shift){case 2:return function(pointer){return this["fromWireType"](HEAPF32[pointer>>2])};case 3:return function(pointer){return this["fromWireType"](HEAPF64[pointer>>3])};default:throw new TypeError("Unknown float type: "+name)}}function __embind_register_float(rawType,name,size){var shift=getShiftFromSize(size);name=readLatin1String(name);registerType(rawType,{name:name,"fromWireType":function(value){return value},"toWireType":function(destructors,value){return value},"argPackAdvance":8,"readValueFromPointer":floatReadValueFromPointer(name,shift),destructorFunction:null})}function __embind_register_function(name,argCount,rawArgTypesAddr,signature,rawInvoker,fn,isAsync){var argTypes=heap32VectorToArray(argCount,rawArgTypesAddr);name=readLatin1String(name);rawInvoker=embind__requireFunction(signature,rawInvoker);exposePublicSymbol(name,function(){throwUnboundTypeError(`Cannot call ${name} due to unbound types`,argTypes)},argCount-1);whenDependentTypesAreResolved([],argTypes,function(argTypes){var invokerArgsArray=[argTypes[0],null].concat(argTypes.slice(1));replacePublicSymbol(name,craftInvokerFunction(name,invokerArgsArray,null,rawInvoker,fn,isAsync),argCount-1);return[]})}function integerReadValueFromPointer(name,shift,signed){switch(shift){case 0:return signed?function readS8FromPointer(pointer){return HEAP8[pointer]}:function readU8FromPointer(pointer){return HEAPU8[pointer]};case 1:return signed?function readS16FromPointer(pointer){return HEAP16[pointer>>1]}:function readU16FromPointer(pointer){return HEAPU16[pointer>>1]};case 2:return signed?function readS32FromPointer(pointer){return HEAP32[pointer>>2]}:function readU32FromPointer(pointer){return HEAPU32[pointer>>2]};default:throw new TypeError("Unknown integer type: "+name)}}function __embind_register_integer(primitiveType,name,size,minRange,maxRange){name=readLatin1String(name);if(maxRange===-1){maxRange=4294967295}var shift=getShiftFromSize(size);var fromWireType=value=>value;if(minRange===0){var bitshift=32-8*size;fromWireType=value=>value<>>bitshift}var isUnsignedType=name.includes("unsigned");var checkAssertions=(value,toTypeName)=>{};var toWireType;if(isUnsignedType){toWireType=function(destructors,value){checkAssertions(value,this.name);return value>>>0}}else{toWireType=function(destructors,value){checkAssertions(value,this.name);return value}}registerType(primitiveType,{name:name,"fromWireType":fromWireType,"toWireType":toWireType,"argPackAdvance":8,"readValueFromPointer":integerReadValueFromPointer(name,shift,minRange!==0),destructorFunction:null})}function __embind_register_memory_view(rawType,dataTypeIndex,name){var typeMapping=[Int8Array,Uint8Array,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array];var TA=typeMapping[dataTypeIndex];function decodeMemoryView(handle){handle=handle>>2;var heap=HEAPU32;var size=heap[handle];var data=heap[handle+1];return new TA(heap.buffer,data,size)}name=readLatin1String(name);registerType(rawType,{name:name,"fromWireType":decodeMemoryView,"argPackAdvance":8,"readValueFromPointer":decodeMemoryView},{ignoreDuplicateRegistrations:true})}function stringToUTF8Array(str,heap,outIdx,maxBytesToWrite){if(!(maxBytesToWrite>0))return 0;var startIdx=outIdx;var endIdx=outIdx+maxBytesToWrite-1;for(var i=0;i=55296&&u<=57343){var u1=str.charCodeAt(++i);u=65536+((u&1023)<<10)|u1&1023}if(u<=127){if(outIdx>=endIdx)break;heap[outIdx++]=u}else if(u<=2047){if(outIdx+1>=endIdx)break;heap[outIdx++]=192|u>>6;heap[outIdx++]=128|u&63}else if(u<=65535){if(outIdx+2>=endIdx)break;heap[outIdx++]=224|u>>12;heap[outIdx++]=128|u>>6&63;heap[outIdx++]=128|u&63}else{if(outIdx+3>=endIdx)break;heap[outIdx++]=240|u>>18;heap[outIdx++]=128|u>>12&63;heap[outIdx++]=128|u>>6&63;heap[outIdx++]=128|u&63}}heap[outIdx]=0;return outIdx-startIdx}function stringToUTF8(str,outPtr,maxBytesToWrite){return stringToUTF8Array(str,HEAPU8,outPtr,maxBytesToWrite)}function lengthBytesUTF8(str){var len=0;for(var i=0;i=55296&&c<=57343){len+=4;++i}else{len+=3}}return len}var UTF8Decoder=typeof TextDecoder!="undefined"?new TextDecoder("utf8"):undefined;function UTF8ArrayToString(heapOrArray,idx,maxBytesToRead){var endIdx=idx+maxBytesToRead;var endPtr=idx;while(heapOrArray[endPtr]&&!(endPtr>=endIdx))++endPtr;if(endPtr-idx>16&&heapOrArray.buffer&&UTF8Decoder){return UTF8Decoder.decode(heapOrArray.subarray(idx,endPtr))}var str="";while(idx>10,56320|ch&1023)}}return str}function UTF8ToString(ptr,maxBytesToRead){return ptr?UTF8ArrayToString(HEAPU8,ptr,maxBytesToRead):""}function __embind_register_std_string(rawType,name){name=readLatin1String(name);var stdStringIsUTF8=name==="std::string";registerType(rawType,{name:name,"fromWireType":function(value){var length=HEAPU32[value>>2];var payload=value+4;var str;if(stdStringIsUTF8){var decodeStartPtr=payload;for(var i=0;i<=length;++i){var currentBytePtr=payload+i;if(i==length||HEAPU8[currentBytePtr]==0){var maxRead=currentBytePtr-decodeStartPtr;var stringSegment=UTF8ToString(decodeStartPtr,maxRead);if(str===undefined){str=stringSegment}else{str+=String.fromCharCode(0);str+=stringSegment}decodeStartPtr=currentBytePtr+1}}}else{var a=new Array(length);for(var i=0;i>2]=length;if(stdStringIsUTF8&&valueIsOfTypeString){stringToUTF8(value,ptr,length+1)}else{if(valueIsOfTypeString){for(var i=0;i255){_free(ptr);throwBindingError("String has UTF-16 code units that do not fit in 8 bits")}HEAPU8[ptr+i]=charCode}}else{for(var i=0;i>1;var maxIdx=idx+maxBytesToRead/2;while(!(idx>=maxIdx)&&HEAPU16[idx])++idx;endPtr=idx<<1;if(endPtr-ptr>32&&UTF16Decoder)return UTF16Decoder.decode(HEAPU8.subarray(ptr,endPtr));var str="";for(var i=0;!(i>=maxBytesToRead/2);++i){var codeUnit=HEAP16[ptr+i*2>>1];if(codeUnit==0)break;str+=String.fromCharCode(codeUnit)}return str}function stringToUTF16(str,outPtr,maxBytesToWrite){if(maxBytesToWrite===undefined){maxBytesToWrite=2147483647}if(maxBytesToWrite<2)return 0;maxBytesToWrite-=2;var startPtr=outPtr;var numCharsToWrite=maxBytesToWrite>1]=codeUnit;outPtr+=2}HEAP16[outPtr>>1]=0;return outPtr-startPtr}function lengthBytesUTF16(str){return str.length*2}function UTF32ToString(ptr,maxBytesToRead){var i=0;var str="";while(!(i>=maxBytesToRead/4)){var utf32=HEAP32[ptr+i*4>>2];if(utf32==0)break;++i;if(utf32>=65536){var ch=utf32-65536;str+=String.fromCharCode(55296|ch>>10,56320|ch&1023)}else{str+=String.fromCharCode(utf32)}}return str}function stringToUTF32(str,outPtr,maxBytesToWrite){if(maxBytesToWrite===undefined){maxBytesToWrite=2147483647}if(maxBytesToWrite<4)return 0;var startPtr=outPtr;var endPtr=startPtr+maxBytesToWrite-4;for(var i=0;i=55296&&codeUnit<=57343){var trailSurrogate=str.charCodeAt(++i);codeUnit=65536+((codeUnit&1023)<<10)|trailSurrogate&1023}HEAP32[outPtr>>2]=codeUnit;outPtr+=4;if(outPtr+4>endPtr)break}HEAP32[outPtr>>2]=0;return outPtr-startPtr}function lengthBytesUTF32(str){var len=0;for(var i=0;i=55296&&codeUnit<=57343)++i;len+=4}return len}function __embind_register_std_wstring(rawType,charSize,name){name=readLatin1String(name);var decodeString,encodeString,getHeap,lengthBytesUTF,shift;if(charSize===2){decodeString=UTF16ToString;encodeString=stringToUTF16;lengthBytesUTF=lengthBytesUTF16;getHeap=()=>HEAPU16;shift=1}else if(charSize===4){decodeString=UTF32ToString;encodeString=stringToUTF32;lengthBytesUTF=lengthBytesUTF32;getHeap=()=>HEAPU32;shift=2}registerType(rawType,{name:name,"fromWireType":function(value){var length=HEAPU32[value>>2];var HEAP=getHeap();var str;var decodeStartPtr=value+4;for(var i=0;i<=length;++i){var currentBytePtr=value+4+i*charSize;if(i==length||HEAP[currentBytePtr>>shift]==0){var maxReadBytes=currentBytePtr-decodeStartPtr;var stringSegment=decodeString(decodeStartPtr,maxReadBytes);if(str===undefined){str=stringSegment}else{str+=String.fromCharCode(0);str+=stringSegment}decodeStartPtr=currentBytePtr+charSize}}_free(value);return str},"toWireType":function(destructors,value){if(!(typeof value=="string")){throwBindingError(`Cannot pass non-string to C++ string type ${name}`)}var length=lengthBytesUTF(value);var ptr=_malloc(4+length+charSize);HEAPU32[ptr>>2]=length>>shift;encodeString(value,ptr+4,length+charSize);if(destructors!==null){destructors.push(_free,ptr)}return ptr},"argPackAdvance":8,"readValueFromPointer":simpleReadValueFromPointer,destructorFunction:function(ptr){_free(ptr)}})}function __embind_register_void(rawType,name){name=readLatin1String(name);registerType(rawType,{isVoid:true,name:name,"argPackAdvance":0,"fromWireType":function(){return undefined},"toWireType":function(destructors,o){return undefined}})}var emval_symbols={};function getStringOrSymbol(address){var symbol=emval_symbols[address];if(symbol===undefined){return readLatin1String(address)}return symbol}var emval_methodCallers=[];function __emval_call_void_method(caller,handle,methodName,args){caller=emval_methodCallers[caller];handle=Emval.toValue(handle);methodName=getStringOrSymbol(methodName);caller(handle,methodName,null,args)}function emval_addMethodCaller(caller){var id=emval_methodCallers.length;emval_methodCallers.push(caller);return id}function emval_lookupTypes(argCount,argTypes){var a=new Array(argCount);for(var i=0;i>2],"parameter "+i)}return a}var emval_registeredMethods=[];function __emval_get_method_caller(argCount,argTypes){var types=emval_lookupTypes(argCount,argTypes);var retType=types[0];var signatureName=retType.name+"_$"+types.slice(1).map(function(t){return t.name}).join("_")+"$";var returnId=emval_registeredMethods[signatureName];if(returnId!==undefined){return returnId}var argN=new Array(argCount-1);var invokerFunction=(handle,name,destructors,args)=>{var offset=0;for(var i=0;i4){emval_handles.get(handle).refcount+=1}}function _abort(){abort("")}function _emscripten_memcpy_big(dest,src,num){HEAPU8.copyWithin(dest,src,src+num)}function getHeapMax(){return 2147483648}function emscripten_realloc_buffer(size){var b=wasmMemory.buffer;var pages=size-b.byteLength+65535>>>16;try{wasmMemory.grow(pages);updateMemoryViews();return 1}catch(e){}}function _emscripten_resize_heap(requestedSize){var oldSize=HEAPU8.length;requestedSize=requestedSize>>>0;var maxHeapSize=getHeapMax();if(requestedSize>maxHeapSize){return false}var alignUp=(x,multiple)=>x+(multiple-x%multiple)%multiple;for(var cutDown=1;cutDown<=4;cutDown*=2){var overGrownHeapSize=oldSize*(1+.2/cutDown);overGrownHeapSize=Math.min(overGrownHeapSize,requestedSize+100663296);var newSize=Math.min(maxHeapSize,alignUp(Math.max(requestedSize,overGrownHeapSize),65536));var replacement=emscripten_realloc_buffer(newSize);if(replacement){return true}}return false}BindingError=Module["BindingError"]=extendError(Error,"BindingError");init_emval();PureVirtualError=Module["PureVirtualError"]=extendError(Error,"PureVirtualError");embind_init_charCodes();init_embind();InternalError=Module["InternalError"]=extendError(Error,"InternalError");init_ClassHandle();init_RegisteredPointer();UnboundTypeError=Module["UnboundTypeError"]=extendError(Error,"UnboundTypeError");var wasmImports={"l":__embind_create_inheriting_constructor,"q":__embind_register_bigint,"u":__embind_register_bool,"j":__embind_register_class,"i":__embind_register_class_class_function,"h":__embind_register_class_function,"t":__embind_register_emval,"o":__embind_register_float,"b":__embind_register_function,"g":__embind_register_integer,"c":__embind_register_memory_view,"n":__embind_register_std_string,"m":__embind_register_std_wstring,"v":__embind_register_void,"d":__emval_call_void_method,"f":__emval_decref,"e":__emval_get_method_caller,"p":__emval_incref,"k":_abort,"s":_emscripten_memcpy_big,"r":_emscripten_resize_heap,"a":wasmMemory};var asm=createWasm();var ___wasm_call_ctors=function(){return(___wasm_call_ctors=Module["asm"]["w"]).apply(null,arguments)};var _malloc=function(){return(_malloc=Module["asm"]["x"]).apply(null,arguments)};var _free=function(){return(_free=Module["asm"]["y"]).apply(null,arguments)};var ___getTypeName=function(){return(___getTypeName=Module["asm"]["A"]).apply(null,arguments)};var __embind_initialize_bindings=Module["__embind_initialize_bindings"]=function(){return(__embind_initialize_bindings=Module["__embind_initialize_bindings"]=Module["asm"]["B"]).apply(null,arguments)};var ___errno_location=function(){return(___errno_location=Module["asm"]["__errno_location"]).apply(null,arguments)};var calledRun;dependenciesFulfilled=function runCaller(){if(!calledRun)run();if(!calledRun)dependenciesFulfilled=runCaller};function run(){if(runDependencies>0){return}preRun();if(runDependencies>0){return}function doRun(){if(calledRun)return;calledRun=true;Module["calledRun"]=true;if(ABORT)return;initRuntime();readyPromiseResolve(Module);if(Module["onRuntimeInitialized"])Module["onRuntimeInitialized"]();postRun()}if(Module["setStatus"]){Module["setStatus"]("Running...");setTimeout(function(){setTimeout(function(){Module["setStatus"]("")},1);doRun()},1)}else{doRun()}}if(Module["preInit"]){if(typeof Module["preInit"]=="function")Module["preInit"]=[Module["preInit"]];while(Module["preInit"].length>0){Module["preInit"].pop()()}}run(); return Bullet.ready diff --git a/emscripten/bullet/bullet.release.asm.js.mem b/emscripten/bullet/bullet.release.asm.js.mem new file mode 100644 index 0000000000000000000000000000000000000000..54acc5d4ef9da532f7f05ab481ba1d301748ac5c GIT binary patch literal 32051 zcmdUY3!Kc=`~RcdDH5WnrE&}H?6P)|*|oduvb&aDcN()Zv%ACW%$S+Ip%M~BNrVv9 zmV2obNmg#<5-Q~`iBhpkC_;Yk=X^eA<}J% zPXL9*pCZ}eak#t$emce2vvO_5V2R*aej>ysS?!kcG6tl@W*c2blgHwMS{|3fX0y0h z@jiJLm(A$xXE8Yt3aYuPK_9ytQXhh<2gA z+-ikNs})jrM**c-bDTCyL0Y!aX)%D&0E^3GDWF*BZFO56_C6USEhbU({oNK=jrZp7|qUXquU}?QYu-LLfeKyt3sOl& zq+47(gnSXG#ym@bR+KL-&1AHp!{lX`lk7w>)HW8<(8!w19;3%kEBwVFnyaayXy<+i##=%vXL0V2M z+{*fX%PyT}apgHwT7$uiBDr!+!K(nHrDwLo?NL@TZa#H5ikSy3%Hs)Mz(P@GA`naP zEr_symP?_oq*k}mt-b2_FSJ&7Z_3eGi zMOs7$1L~>5-rCP-w&uFIrhL8C8|SYsnljd8#ysfsq={ugrBfc1xg9k9?QXHAsHtvV zTfttPaNImUl%eG*M41xYFrOcMk{z^U}|+|Tg<9C>4g2u39&}l7M(jg6%~;!ARWSuHWQ3rkEKjXnew2ZPSO0n zbxR#1VogkSxGC3Z2CEpXcxXiu?b*}i$aM-mdbq3>yV+Kl2%`oanJJV~C)yEXH`9TZ}3 zHLJrEwBD%T6xx=P6k3x8>D)oHtv1ERfx0&AA$Ygorc7I|J6j0`nF)Kij5#0*w18QE zCFNF~S|#(9Q;5boiw;a`CrK1Who)m-E5IED4IqUt8H@Pe* zk=qjDZ~gFq49QWA6*p;2U!_W<9fN*TXg8&17rL=MOm|?z=*&h)_AO&ZMma64t$8`R ze0||I23VQZ$6_~Tz~JVcW5r94me8+u)V*5|lpQ?$l9c_Sn&P!SdGb&vDPfeMw;^L- zvN}TwV|2x3BIu5BR#)I^jLP#?l|_@P%q&Rd4XLPCq_VL;5WUMOC^b?PYg{HN!gz7D z$SAM1Yk~oWE~X*j_RDpaH}$0jBvP#3mQ0yGd7hO^v7)#p-ed~C8-iF&YmR&|94qdu zAQg5Jq3E{45VzAJRseOAB8Dl3GLBtxxt1|6h&@byyUDvUE9DJpSz-`kA+U;^b~ICF zVIMm-Tfz<#+$=6W+>wPq8!HD2aoFF9Wg}plq3lAqw?GyD4GOF(HQu`%aP9YV@csbQ zzE~*bjpcO?7EykP)gBUqUe-3mA>TgX?M?FacyFIh#@UxOptyZpICKk$ zlU0Cyq?#PiZ^bh1tu@VTh58Ff^Xj7vaJB;iD73uGrb<&v+rPz{=o6peaM;L_gRQ^S ziQQu7&Ur>#z^WmajP8ZvEJ@lCWp{{BK>bVIsAx%6-24{B#S-Elg%Yn&U0Wm zWc$t+Yz})Cxjp92o%1m?(RY;xZ8%pK;rAFGrao3^WGD-vazsn9v2h_eVyX@?*^D`C zC1^So3LK|KR>)FA=UYGXd4-dvhp$c4ipOS3wMu+R-rv4oeyYzN_h2CmOo8xh`Bi3;ljZq8QjK93wEzI%!y_48kI%e zqRA_)II%!!BB7gR2$o@kWTAtYDwVuG<6SWtl-R(Lj@jEJEPO4IuVF+v)Kk+k_7ti! z*;oLz94<-X>%pRdd~3XTETc9!cohmxfr1561UV%MLZvy2gxCO+-Dj@{q^YN5UUNPm znRou$G`j`oie3|iO+fD=AWv0&J4@9fmkC(VG$+8|ET75j$b}I{hD?{m;%_SoQOORo zHX3F3MF+H;*bCg!e2|TJd(_==o@>%{WMw2;-LjI&###7;(Clk}F+F2UsE4%T z(P!LiPpD8l^de#8NvePiUl5Am$5}xL!AhA^WizQ;U_W_5wx0?sWqqkoEq{`V^zx@H zPcbc(cVPGyC>+x$(}Z{b=BslJm2#c}%ao5gFmd{*eH{ozRQ5D-^7Rn~nOD(=)H%RM zmglgV$$%9aukp~2GmW`6-(W_yXIiszm7@cLTO0xh?*ZPlfOhxB2d`Cca@nd>lf?T> zrTeNe-WpY6Q3WyBpkhqJ77;c{oY7;%BfqpsHM+3kiN}f-Je4GkUjaxi80mN&Cv)>U zBbfU~dt0IhANZ+kM86CZ|Dyu2g!3CyEkVFJgElFk)wD_8aw~mAn}jo7ygE~?7;U_t z@vcq4VI&rWaBUPUq_o@&52mw3d!|Dzir-#I#z~V|)W0{9jULpU?^H=mkuxSYhc<`u zYOB0dRGf0+sd7mRcmW~BYE}>#rCmqVIJLNOV$N3Mv~`w(*;^+_#vtTU zh*D-6O)`s|Kt<`q(j$0z+e_)Euzr+NKVb|d;@vu4c6v9XgDEXOC9O|CN{fw2ijV6) zAR)b9VoXZUr1<3cv;;~^O^ELoPig5f>4~waNiiw$ln|fTGaX%S1loZ|UfQjugCq z2D`FJVm{H8^CpJbg_g~OfiKtvNfPWrDK*z+3CXj%Jh?_&NG8ljKF|rlT!Ev?W|Wv2 zQs~IVqaBAfFp|x=CQFDX+v;u`f?T4BiHRzj+EP*962>9 zJ=*hT~{0o><3}G*7s} z5Qai%=DI{vN}55Z<2lU02BgQGXo`o0V2CoZrEcWyJR+c{C}$X|5iRFCwO4Pqgmugi z=kLMNQp?Mf+Pl0IQL7Y&!UbViarKtN5(P-T1wW{B3xV9#!u?(efGf`tWn+5>jplMu zSg0S1ii;DBjVMcSCMZMjgiNKcW}+E0Gc&o{vM2tRPy8qvSxJ;sYOK=Ll}M|S#me~= zRw5`Es9aPbf}fYGDpQJrLzb6_J-3~U0v05$_# zfUUqbU_0<7@D;EF*a_?cb^|=R%D>4#VVIKxE-Hwt1;lepnFQs6mZ-x5=*K!6;LlRS z(eM`l?9z2aUqk*LU@tHvrD9EVQGDoX$AL&eVGq1861OnoQ+1uR{Y0dS1;O{SJ6?yy zl5>jN8LEbyP1Rmn4bX}ERs{57y}yEtI0xRXH941t!aqz!`&ijGyfggYaz(L>;a2PlO z90iU6$AKS#6TnZvNkEys<$FW#4O*dt8T{+3vev=pHvJhm#rd$@d#$j50M)s=NI5t;0*8^@H_Aaz%AzGrJR9?_Bx}=P7fzK3%YYa2~Y~02QC1A0vCZxz-8bs z;BVjxP}a0j>Mt7n*v*B16?Fdq*MRH54IqUp9Sth(5V<|N&{!j`^9egNp7U{EDo}YO zbs+i|d2Rx92T>(pNH7~!=Tc^lG;|RgPGS_RBfg(7eY`K~(!vZ_Q96{V4|UDz$F@Td z^EEyUQj+f9VqBNA}Zj`4EP!|{ybin+F3X@V^X>?&&LHW&yIB<=(rg2aAo65y_h}U)S zABsxbrlLLfspD`p>fj!fyB=^apo_}zD8mdhjdyC~mCR?C`K4eU_NB1J=FKG5fbrnZ zV?PuA0yUfpzX)J=20qKL4>SOHtyScUj~cwpn8!X%z7Cy<8iM{lpb^j*xPJ5IO^&}G z;Rk>wfUc8wM{UC9kuT8GH1G-m9XpUvLVv~guwPk3(^jN6MdE`%Z}brfPTh^PhY%kU zkQN@A;eE$#&+@L;-pe)EWN8*HUo@|ktH6`XI1N6_W*6Fps2OB52Ob944MN-_2tNw6 z09pdAfE2~p5bLp6mA&k-G>bdQJ#eZOFJx2)kGSsAJ_(Wqa#)wHpyRT#i|$I)8gkkI zj{$9gb^z>F?;Nbmkv_o@PPLQDlc@NL)@>~7n7?^P;8o5oUKqEoXa_?QtL!(EX>%$%A1a zu4OrLQ3HJEN+|&A$$Do)SE+Z`CzSRHgRbE~2cRRsb`p+WJ-Mz7@i`vfwv$|#M+owr z5*8cAC&CfP(+P+KqJYi-yRAs;f^b*h2_RhC>cQ`l2^|ZNkNc2fuW?_K=9hP93%aGC z<8jE&){UqeWaxotAOqvi1ek#sJa-3TfjGd5xOn(IfSy1CU`Jdc{9ZtBAPGnYQh+`{ zD$p0`2c!Y%K!0EWFc267=&-+&nu@s;dU1UXf^KvB2{oy$URm!4gMJ7j1e64*@-YUkm$aPwT{BljM8;$lx zeiL8@EI=l}BV4ZQK0ml_XTXok#?BnA=#~W@*?<+$>c(@nkDpTJV0J?^_(&bULU<(j zi~?)`&rtYs1pnleBh)SD%Bf~Tf_^;r&jCNKhe_}^0qp9=5aock9dH0nU^EcsmF4X# z-U*lUF`x6%zP1?#J}%^Q10En3$OFQaGgFL5^-H$0RVjEyBEMXZ_92{)yahlZFa{V4 zj02cog%>E)89)_-rNVc&g7xNlSPuTI{}lLN0ql~x6Fmj~PXo^Yw==~2S3ISK1B>Td z6BXIbAxG35a| zF;HFqB0)Fi_Z4_ZeyOnvze(Wr9P_)q0TYyOBk+=Zi&Vao!Si|MTk+(e3s!vA)v4im zM&&sL{H8Kb9zf!%i?=HW)oZJUN7p!|ye}aCi_9Y&hQIo?mooQBqoZP;)xk%Wb%x4w z8u(2YJh6BxJmtJvcF+ZA%4Hp<;dxZ$`4afO%seX^z(IJe*6?bJp2U4-2Ji~=y5%7D zXUMu;*YL{*zoy_b6L=Mv16STa-OQZ5mt`9 z@KG50ERXRS$j6Rt4z?%f1JYhufN)uBPm#S3^wQP|?Lo81?Vk7G_W-nZ&--{@4Y1ww0l;?8hrmYw+dXT5kAY8s zwZJ;yQ(!&t8KA>@D8GVaow$6d&`Ys-#$#0-U(E5r-G46~MIeY2PKNKqQ)LxZ;8z8- zX);}=RYSTq%+KtS5^#P2=AQ!_fns12@CC3L(4l>`m!LQg_s>Y=W49ar7SL@4wgK9< z*pBBffv~#9>89!oZPw&_@;<&3#ezBuqN?d!#ioI8{dAtvAI`ogQaya#E0pU3;C8;;F|#6 zb_9#(`bmdQtmj$iX+xM@^%wzjF@FQ>n z_zB>#eG>Q?kb9a_2=mxJ4e;3h1^5-<{v4~h56JDpby6L2S0^d+s(0~HH#FRyt&q-c zDSQL^>>2Pf!q@6&!E+{%1!M!<-$w$Y02`14uzn7}3Gm)YnljqG(=5p7s>*8xowz=J z1AYgz^8Uax*T-4l98dzp16&`azU4Z{5!1Zwv@T(8SzE!SKqI_HzjUbcjf*t!T z{}K==KL&9uU!M6?w8s=QDy>$&^3I6&yYe-LQWLDlT*wYhR`g(>^|-9^(AI;LFMZZS zhW`Tn-vHNxjN^LnhSm6h6LL`xA&@EC;V8o0knaj`70}B62hZ1l>%a}5yn6T-X*U6u zPne*!^}uURCB)qU+zC_$ssL4iY5>1SRVD*D^t@MPg|3^R-)?ok-6RG58F^{|H92pD z*z>04I{C*;lwS;rm4|##h3on{^7FYKyCUT0x~_%1wE=Be@4_>;`Q7mA0CjdnS@%QE13(i%E2}A<9|Rr(LV)sQHA5P|?(^M7SIU$P-dq-T z=ixU8-NV2mfL6|T^OzT75{ATQeq>^30GeXBk2IDppx0l7M6;MZ%+@u_U#2E7oSQD%LO z@>&?YoXQUF?V_y1Ajp;dGqSIuLn!O~e@lnZprS?jk7{JwAUg~)!&$a+49^`qW1L(_}KY8BZ{#@R?k%;t;$j@Ub0={-E@w^c@7PQZ-1J4Vr zLnq`7oVy|s$K&~bQwQz|vWAT6S2}Vaa@&rBemv%RFA+!=Bi@vlvhk){W)W>tggo+m zF)j^fuqa1opbMZKQ(f`=1ker81KKeajprDE=d14UdCRVRa1h+`6k`Fhc=SnzgXp|ctE@=TG^l{q#Z`Fa3ao#ndP6Y&WE>zoL`7ogq4^u}`%!2Kc_ zzP4ZRdZupk`KRK9{PU16=T;}=ryx%sAQjNc?~CVtKpKz^XzQ#$o(BM2X9MB$7zq6A zg8Q5pvydU{su9)}?t_DnXE30Zr|pA7koG?v2Sbr}7%&`o5-_;Oj;@g6M?`SXFm{b2#(V_VQoLtuHj>lCijQ@-c>78 zP6}MMuOLhIx9ow+8Zj1m#{ol9dI!y_`=4)WbP+wQHe9{I8K%#eVm%15KZj|ZOReBxe{yfLp>g5G@!L~{O3$P+n;YaKQW{MHz6 z6OeZzFbQ}L;4z?nbcQ?o;>S-!-s+&|b0h!jN=kokrSi;%&pJ&8o@ZXLKYETFr7DAW zD3Hr~q%$vo#}iZ#PWl|j?kv(@0FM`eX#k%-gIB!Mn2KK%#bsvxupkaUQ$JY(}kJv{tJ>sCB*mRUHJe9 zEDVQL{f0!Tm@=1pZ~zc^zo(O-pXNj(%8(Xi2)GU(&#&CYe3pYB6~Uc*?YqxuD3d%> zxQ;*2U=#2Kuo>6_Yz4Lf z+kr2EaP+%d{!*;8-qkN})mcWY+4UfobvX-NTB&8_GIJa60CoagR%vH*S!H+^!n*;k zzkttl#b+%dPIE7H68Q2x8>cFV+in)Z@_x-3gue#AJ%GILx)`= z^S}k*Pv9bO3AhaW1^f+M0j>i70M~%)zzu-=ntZwJ_mQ($x%^|ez3)bO`F=2mFQE=X z@XT&8{C~mkCcua8VVx4~P8&WmP&$qB>ucVbEv16$)phVER=y(`3H~fI3I1GF=2`fB z=dKduabLI-;Qf*ML05_cU#=@NoibB<#Y08rwH5gf7O?hcj}cHC`Kti`FSlb==qKB; z8p5(2#fNHutHik~kHa*sV5dH5R#cKZhmg^t7Fw}9UP_38Z$*xMM$tmh=~;WiHb{a<#O@Bgv` zzyCu7J~7z#Q>T7-cC)v_?*wsW6;jw1Az?O8Z!)3}ivWdFRn@uq@V#(C^U;6C$3R-L2MxE`C(6`CmDY5Da zs_}b!YBKX1`lIQ;)cS)abf()9y4-OB#eLSE7W_7e*0gX^%+m(?;gu*#n;1n4E=AFc zhDp@w>gROjp)Pd%<{YXsw+h|!cq!E!@*?FtltX);j-VR5T2hZbYw3+lJ+=GYKnN3Y4F50^kUvtdbi1I6!-oyYCP~8dZ$|zs#5JHg+HyQ&0%L~ZlB}y*;8TE;)yNv z;HXksbmd9v_)uqh=FgpU;rXUCZbma2`N%l>-u@4Tw#%mmU1I6u`rBzst<@3 z97DBfI8A=42mL&{9nIhVI)!8IUi0lZTC-#hb?W~;9q9HKy9CS^W2 zlI9IG(#mT+>FH+brl^u>5D}?adR(*mVlM;4Yx|rwt*; zfzPSkyC%9+yo;tkTS_gy$fEu`<7wxi2x_(TTiR@#PW5)=Q{@)*sa}uyv~}=S`f6Jo zC4cw|7X6E~KXw(hPCQLFzORc7)pdGs)^2j{DWQA2U8b`a#?wc?ZlN!)w4zt5%%U$w zccb<-KB8Lj7imhp1+*e$EVci55%rw8nZ|}aPPO~zkZZ{d8ujZ#q}%lx6*lZeF@-1T z(vMT=%&a+d@|Q_8PdA6AoEt?3Lj-+x<8DfLeGO$5*=V$@J53)RMvEG(qYbBP&~)9S z^tUI9LaQ{PyJ}aW-qo|IZOI_&xqJqBe!YV}|KSn(`>A)yp5UTI4NK{zS?|)CSN@`J z()!ZgntxIVKES)&`)T^nlugIF87O-Ao%Gz)XQ+R_*3`+oiE<9srLcrB8k&?#DWmsO ze7c=#)%b$iT((mE%s(a5&s&nQb*~Y(5M{f3}$QgBL zaHBlRc&7mwcYQ`*PW_bXMt@G<{#lt4b6e6MpZrBfntw($>o2FNEgmQH#5}6eC7kY_ zbwBm(yquc8y_w!W_Z|&vQIB#qCsVsI3ux1TIdrFfBGowm7d;j|jdFDJC~8eLsvXjR z4sIDrmuGIJ?W=lI%FcIaNvE&rmt_&OV&*J5);*gVn~qc7v{K4`u^(MO(uv-Ca|Qj_ zK!?MEH>viu!(>j*q;pl)Qfo^n4IEHRJ#TiVkyk&Z+>IBh)vG_!it(Y8Iqfg1ysH8I z)4VDjI@Oe(_^5~mKJYR{d|iW5y8lM^ZY-kkhd-wC%kQT?mZkLV7w=FleH|KF@HIVr zHIK%=Sed5Y=c4WJrs2o>PEzR~IB)4Sh_)VHOUpCYQ{LXaxIfgCKDf}1rp^0;wyesh z$q9$)@8OGS`}j+=^8Dj;?Ck5LAGU$^9nYZ|Up_=_j(kFIKiU}|guhO!(q5%c23Drl z?bcB5@lVs?YD*|@`Q0>j@SD`IUK={PwjKR*`UXus@-I!@c!N&m*{JHW>(p($lb*9T zpc~KMq*mRkkufWr+BBL>$)Ep@@$^2uoMWfiSy7}b9!irABv9y&4e85vvGl01BkgeR zq0n9HsMvOcis&t>Vmn1cjxDBUj-HfJ?_2tG*d%fq6KT|d6Ev@1B}(nzi5~oZErnm$ zO843gG(7YaJ=cC2HT`f4y%`ok)z=o$?;l`}`nwsuY&}ISZ|372{&>vm?WoV!iz(!t zdGyg+-_hg4Ytovl-RYjgyXdKn`)K}=FKESmpVQ8_o~7y|hf(|f_fbpgPtVjpPd`9v^Y^!&!-bofRa8ujQWGp7Q9;#Fg-y5x7Ngr<7 zM}7Mz(1X|RrrEA7^mf%QIFs#2RgaFP6Y;w#rS(7b!_Keh%*7ZQXFg8z%?IhwMjaK+ z*+Th)_LKGJZFK(dy|lh_SL)HI2ldZ2(6^soCi~3ow6gthx;yS1HR;x!j9Z_l);E5m zUw^nr&ByH|$15GF`iX6H^T2enk331MZ)~SmtA9b`hI?q#st@UF`$FpG8cW;n8A*Td zT}G|lKhnoL*3(+*OD8|Pi#+Qeq0>)|AkV=U=&lBB>DflL>FLZ_RH=1CS~Mn)Zrs>N z1L8~R5Z3Oqhwh~p*MCY|=UgY<(w20=zJ+FOi=cx`2hf_OAJg95cT>Ho?Z`2(1GOD6 zmFDgFnSKcQltw+doVvAHK=&AS(~Vla=%-89=%p?>baHZA`fdLty1r%^m6m)%?K|$E z$D@oC*({D8IP?`gd%Y%I>ot-dZ*q{*)=Z+5dDAGp`EF{{|0r$R{sYx&{2JZwTu0W~ zW@<5H1nK*g&@=bcp-Ug%L)Uj*rVbn00VQ;1_-;D(0`SjDk z4b*qyb~@OtE*%@4K<%0wqxT!VNzK~!purap(4jGN>5cSF)MxTPG@$BrI$ii4O>G`Q zk*k_h)~iRU|C!}9p+zL^{B=I{y{m}kg?~WH4%|)FDhXuy@H{;;WeH75nnPE=iJ)dP zKccY{dePjy%_w@&Q99bQKmFwCOj&<)r+*jzNKfuJ(AcaZTEB7(_5bTFdTh$W6tliR z4YpUOW^E=@RL_Yt_2*yc^c(vr@me(99Pk@8sk4)|4Ss=U{qq=o_r*4i_M^BleF+G`ftkf*dHXSX;?)o6^KrGPsP9o~dCWxCpN`S%vl`RV*0U*lPb;c%ZVkmP3Zay_ zJIOi0L{E=rHZ<%b}?0V`##m81-n0!{ZL;=v&IC>zDddrNPN`V)S@evR)T`t=UyQ zKeda)FMh!`p4;O}SNJ3P?k?!U&l4Xw9|b=;xP&k^vc=|yWt_Hi<&_dM6& zyVZwE^>wCRwGH~XRNr@Ky?vElE!B_h`&8F;u2TK-PqTH;rG z-pvyIf_~2(o8P!pZ=F$kG^A6h{`sP7M;i?))f?uI4WBcvRDXCz(Od5qmFlD8?L+hS zm5O@9$z}Ih55Lm;%E*=ai(CIm-BY|r|3kmpH@mn0MNN;4{ddA+mYxlIMk{n1x+!$+ zRl3*o8!uidJZt<*-#GNOq1*pGUi`$A_j{cieOX_0eScVXts}*&>z+R!HT#l&?AnKF zz8G_$__;gRt)9K(qJHe&ocn)U_+9Zk<|(xs-*r*1`{d7y^PBD~Ui?z6vCW_SQ-6L; zmj{}T+fl6VaDT5}pIy)|>iYhxKVRKky#DkH=LbD}K|gGILGi8;pB68nc`^Fg=kC<*?WwK3YE9asZ@2tS(>I%c(>JkfKObLpzy4fI!JWTMKBK>~=z+EiUOK4HNJzVU zH0xLW?y(=F6rDJ#uVqi%(J=2@{g~~!i>-|h6dzl^#8&gmCv8 zKA4O!tqg|&2OAmw(v2;+E3gv|)^WdNpeB5YK{;}CYM;VB4%t)Q8O zuvHB&MtGzeUWu?x4X;BuM-6X97)>nl?nAgx4If1qTYnLM24S-rzJxHl`p}2#qa7gY zqdmfp1EGKpU{`>0GhG;4N7Q_e!ck7cvlukwxv;N1z&kw8=# z-a3OJFDEE-Zl9GJ-X67loi)6>Ae`oj^7cyBfzPzB1A#6HmCC=1(F5oSV7n@4<60|y zs{#B-(6HQ#t^5#TtE^Cbek0C}!E3-L*KP6kqdJ^<%^NyEp6@D!B~`>CMm3osv; zyTYA9JfEee1O0&k0GFYD8-?FV@Zj(CnfK=iA5{6(N5>cl+CjizU#K+$UB3$!w9o0 zQlEdrGpoeUap=Eqe18b+<*tj1@eG=pa3WY#sFi1alli+ z)4(&pc;H!J0x%Jn1Uv^!2A&6|08@b%fER&j06W&3bo-hSxD#ljzpN<0`<8so*_a!iv;|~{FfqK%HTGgq2}YZ zwWYc$eNs602Rv@}kUc|w)J&&-?s+5qb<9Kti8#4Er|;8kE2z>axp(`F-H z)``@Qs}IbPFjIkN5*qpu<}TL zEQ_6_m+?}LlIqi6(#iT@I*yA|eGacyA@j1YO=lVjDMvm_KTf5Q{3V^_DbpoA%M4b2 xPUpOV`L*#rRRJLFqRhrZvcyc^}uI { - var _scriptDir = typeof document !== 'undefined' && document.currentScript ? document.currentScript.src : undefined; - - return ( -function(Bullet = {}) { - -var Module=typeof Bullet!="undefined"?Bullet:{};var readyPromiseResolve,readyPromiseReject;Module["ready"]=new Promise((resolve,reject)=>{readyPromiseResolve=resolve;readyPromiseReject=reject});var moduleOverrides=Object.assign({},Module);var arguments_=[];var thisProgram="./this.program";var quit_=(status,toThrow)=>{throw toThrow};var ENVIRONMENT_IS_WEB=true;var ENVIRONMENT_IS_WORKER=false;var scriptDirectory="";function locateFile(path){if(Module["locateFile"]){return Module["locateFile"](path,scriptDirectory)}return scriptDirectory+path}var read_,readAsync,readBinary,setWindowTitle;if(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER){if(ENVIRONMENT_IS_WORKER){scriptDirectory=self.location.href}else if(typeof document!="undefined"&&document.currentScript){scriptDirectory=document.currentScript.src}if(_scriptDir){scriptDirectory=_scriptDir}if(scriptDirectory.indexOf("blob:")!==0){scriptDirectory=scriptDirectory.substr(0,scriptDirectory.replace(/[?#].*/,"").lastIndexOf("/")+1)}else{scriptDirectory=""}{read_=url=>{var xhr=new XMLHttpRequest;xhr.open("GET",url,false);xhr.send(null);return xhr.responseText};if(ENVIRONMENT_IS_WORKER){readBinary=url=>{var xhr=new XMLHttpRequest;xhr.open("GET",url,false);xhr.responseType="arraybuffer";xhr.send(null);return new Uint8Array(xhr.response)}}readAsync=(url,onload,onerror)=>{var xhr=new XMLHttpRequest;xhr.open("GET",url,true);xhr.responseType="arraybuffer";xhr.onload=()=>{if(xhr.status==200||xhr.status==0&&xhr.response){onload(xhr.response);return}onerror()};xhr.onerror=onerror;xhr.send(null)}}setWindowTitle=title=>document.title=title}else{}var out=Module["print"]||console.log.bind(console);var err=Module["printErr"]||console.error.bind(console);Object.assign(Module,moduleOverrides);moduleOverrides=null;if(Module["arguments"])arguments_=Module["arguments"];if(Module["thisProgram"])thisProgram=Module["thisProgram"];if(Module["quit"])quit_=Module["quit"];var wasmBinary;if(Module["wasmBinary"])wasmBinary=Module["wasmBinary"];var noExitRuntime=Module["noExitRuntime"]||true;if(typeof WebAssembly!="object"){abort("no native wasm support detected")}var wasmMemory;var ABORT=false;var EXITSTATUS;var HEAP8,HEAPU8,HEAP16,HEAPU16,HEAP32,HEAPU32,HEAPF32,HEAPF64;function updateMemoryViews(){var b=wasmMemory.buffer;Module["HEAP8"]=HEAP8=new Int8Array(b);Module["HEAP16"]=HEAP16=new Int16Array(b);Module["HEAP32"]=HEAP32=new Int32Array(b);Module["HEAPU8"]=HEAPU8=new Uint8Array(b);Module["HEAPU16"]=HEAPU16=new Uint16Array(b);Module["HEAPU32"]=HEAPU32=new Uint32Array(b);Module["HEAPF32"]=HEAPF32=new Float32Array(b);Module["HEAPF64"]=HEAPF64=new Float64Array(b)}var wasmTable;var __ATPRERUN__=[];var __ATINIT__=[];var __ATPOSTRUN__=[];var runtimeInitialized=false;function preRun(){if(Module["preRun"]){if(typeof Module["preRun"]=="function")Module["preRun"]=[Module["preRun"]];while(Module["preRun"].length){addOnPreRun(Module["preRun"].shift())}}callRuntimeCallbacks(__ATPRERUN__)}function initRuntime(){runtimeInitialized=true;callRuntimeCallbacks(__ATINIT__)}function postRun(){if(Module["postRun"]){if(typeof Module["postRun"]=="function")Module["postRun"]=[Module["postRun"]];while(Module["postRun"].length){addOnPostRun(Module["postRun"].shift())}}callRuntimeCallbacks(__ATPOSTRUN__)}function addOnPreRun(cb){__ATPRERUN__.unshift(cb)}function addOnInit(cb){__ATINIT__.unshift(cb)}function addOnPostRun(cb){__ATPOSTRUN__.unshift(cb)}var runDependencies=0;var runDependencyWatcher=null;var dependenciesFulfilled=null;function addRunDependency(id){runDependencies++;if(Module["monitorRunDependencies"]){Module["monitorRunDependencies"](runDependencies)}}function removeRunDependency(id){runDependencies--;if(Module["monitorRunDependencies"]){Module["monitorRunDependencies"](runDependencies)}if(runDependencies==0){if(runDependencyWatcher!==null){clearInterval(runDependencyWatcher);runDependencyWatcher=null}if(dependenciesFulfilled){var callback=dependenciesFulfilled;dependenciesFulfilled=null;callback()}}}function abort(what){if(Module["onAbort"]){Module["onAbort"](what)}what="Aborted("+what+")";err(what);ABORT=true;EXITSTATUS=1;what+=". Build with -sASSERTIONS for more info.";var e=new WebAssembly.RuntimeError(what);readyPromiseReject(e);throw e}var dataURIPrefix="data:application/octet-stream;base64,";function isDataURI(filename){return filename.startsWith(dataURIPrefix)}var wasmBinaryFile;wasmBinaryFile="bullet.release.wasm.wasm";if(!isDataURI(wasmBinaryFile)){wasmBinaryFile=locateFile(wasmBinaryFile)}function getBinary(file){try{if(file==wasmBinaryFile&&wasmBinary){return new Uint8Array(wasmBinary)}if(readBinary){return readBinary(file)}throw"both async and sync fetching of the wasm failed"}catch(err){abort(err)}}function getBinaryPromise(binaryFile){if(!wasmBinary&&(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER)){if(typeof fetch=="function"){return fetch(binaryFile,{credentials:"same-origin"}).then(response=>{if(!response["ok"]){throw"failed to load wasm binary file at '"+binaryFile+"'"}return response["arrayBuffer"]()}).catch(()=>getBinary(binaryFile))}}return Promise.resolve().then(()=>getBinary(binaryFile))}function instantiateArrayBuffer(binaryFile,imports,receiver){return getBinaryPromise(binaryFile).then(binary=>{return WebAssembly.instantiate(binary,imports)}).then(instance=>{return instance}).then(receiver,reason=>{err("failed to asynchronously prepare wasm: "+reason);abort(reason)})}function instantiateAsync(binary,binaryFile,imports,callback){if(!binary&&typeof WebAssembly.instantiateStreaming=="function"&&!isDataURI(binaryFile)&&typeof fetch=="function"){return fetch(binaryFile,{credentials:"same-origin"}).then(response=>{var result=WebAssembly.instantiateStreaming(response,imports);return result.then(callback,function(reason){err("wasm streaming compile failed: "+reason);err("falling back to ArrayBuffer instantiation");return instantiateArrayBuffer(binaryFile,imports,callback)})})}else{return instantiateArrayBuffer(binaryFile,imports,callback)}}function createWasm(){var info={"a":wasmImports};function receiveInstance(instance,module){var exports=instance.exports;Module["asm"]=exports;wasmMemory=Module["asm"]["v"];updateMemoryViews();wasmTable=Module["asm"]["z"];addOnInit(Module["asm"]["w"]);removeRunDependency("wasm-instantiate");return exports}addRunDependency("wasm-instantiate");function receiveInstantiationResult(result){receiveInstance(result["instance"])}if(Module["instantiateWasm"]){try{return Module["instantiateWasm"](info,receiveInstance)}catch(e){err("Module.instantiateWasm callback failed with error: "+e);readyPromiseReject(e)}}instantiateAsync(wasmBinary,wasmBinaryFile,info,receiveInstantiationResult).catch(readyPromiseReject);return{}}function callRuntimeCallbacks(callbacks){while(callbacks.length>0){callbacks.shift()(Module)}}var char_0=48;var char_9=57;function makeLegalFunctionName(name){if(undefined===name){return"_unknown"}name=name.replace(/[^a-zA-Z0-9_]/g,"$");var f=name.charCodeAt(0);if(f>=char_0&&f<=char_9){return`_${name}`}return name}function createNamedFunction(name,body){name=makeLegalFunctionName(name);return{[name]:function(){return body.apply(this,arguments)}}[name]}function HandleAllocator(){this.allocated=[undefined];this.freelist=[];this.get=function(id){return this.allocated[id]};this.has=function(id){return this.allocated[id]!==undefined};this.allocate=function(handle){var id=this.freelist.pop()||this.allocated.length;this.allocated[id]=handle;return id};this.free=function(id){this.allocated[id]=undefined;this.freelist.push(id)}}var emval_handles=new HandleAllocator;function extendError(baseErrorType,errorName){var errorClass=createNamedFunction(errorName,function(message){this.name=errorName;this.message=message;var stack=new Error(message).stack;if(stack!==undefined){this.stack=this.toString()+"\n"+stack.replace(/^Error(:[^\n]*)?\n/,"")}});errorClass.prototype=Object.create(baseErrorType.prototype);errorClass.prototype.constructor=errorClass;errorClass.prototype.toString=function(){if(this.message===undefined){return this.name}else{return`${this.name}: ${this.message}`}};return errorClass}var BindingError=undefined;function throwBindingError(message){throw new BindingError(message)}function count_emval_handles(){var count=0;for(var i=emval_handles.reserved;i{if(!handle){throwBindingError("Cannot use deleted val. handle = "+handle)}return emval_handles.get(handle).value},toHandle:value=>{switch(value){case undefined:return 1;case null:return 2;case true:return 3;case false:return 4;default:{return emval_handles.allocate({refcount:1,value:value})}}}};var PureVirtualError=undefined;function embind_init_charCodes(){var codes=new Array(256);for(var i=0;i<256;++i){codes[i]=String.fromCharCode(i)}embind_charCodes=codes}var embind_charCodes=undefined;function readLatin1String(ptr){var ret="";var c=ptr;while(HEAPU8[c]){ret+=embind_charCodes[HEAPU8[c++]]}return ret}function getInheritedInstanceCount(){return Object.keys(registeredInstances).length}function getLiveInheritedInstances(){var rv=[];for(var k in registeredInstances){if(registeredInstances.hasOwnProperty(k)){rv.push(registeredInstances[k])}}return rv}var deletionQueue=[];function flushPendingDeletes(){while(deletionQueue.length){var obj=deletionQueue.pop();obj.$$.deleteScheduled=false;obj["delete"]()}}var delayFunction=undefined;function setDelayFunction(fn){delayFunction=fn;if(deletionQueue.length&&delayFunction){delayFunction(flushPendingDeletes)}}function init_embind(){Module["getInheritedInstanceCount"]=getInheritedInstanceCount;Module["getLiveInheritedInstances"]=getLiveInheritedInstances;Module["flushPendingDeletes"]=flushPendingDeletes;Module["setDelayFunction"]=setDelayFunction}var registeredInstances={};function getBasestPointer(class_,ptr){if(ptr===undefined){throwBindingError("ptr should not be undefined")}while(class_.baseClass){ptr=class_.upcast(ptr);class_=class_.baseClass}return ptr}function registerInheritedInstance(class_,ptr,instance){ptr=getBasestPointer(class_,ptr);if(registeredInstances.hasOwnProperty(ptr)){throwBindingError(`Tried to register registered instance: ${ptr}`)}else{registeredInstances[ptr]=instance}}var registeredTypes={};function getTypeName(type){var ptr=___getTypeName(type);var rv=readLatin1String(ptr);_free(ptr);return rv}function requireRegisteredType(rawType,humanName){var impl=registeredTypes[rawType];if(undefined===impl){throwBindingError(humanName+" has unknown type "+getTypeName(rawType))}return impl}function unregisterInheritedInstance(class_,ptr){ptr=getBasestPointer(class_,ptr);if(registeredInstances.hasOwnProperty(ptr)){delete registeredInstances[ptr]}else{throwBindingError(`Tried to unregister unregistered instance: ${ptr}`)}}function detachFinalizer(handle){}var finalizationRegistry=false;function runDestructor($$){if($$.smartPtr){$$.smartPtrType.rawDestructor($$.smartPtr)}else{$$.ptrType.registeredClass.rawDestructor($$.ptr)}}function releaseClassHandle($$){$$.count.value-=1;var toDelete=0===$$.count.value;if(toDelete){runDestructor($$)}}function downcastPointer(ptr,ptrClass,desiredClass){if(ptrClass===desiredClass){return ptr}if(undefined===desiredClass.baseClass){return null}var rv=downcastPointer(ptr,ptrClass,desiredClass.baseClass);if(rv===null){return null}return desiredClass.downcast(rv)}var registeredPointers={};function getInheritedInstance(class_,ptr){ptr=getBasestPointer(class_,ptr);return registeredInstances[ptr]}var InternalError=undefined;function throwInternalError(message){throw new InternalError(message)}function makeClassHandle(prototype,record){if(!record.ptrType||!record.ptr){throwInternalError("makeClassHandle requires ptr and ptrType")}var hasSmartPtrType=!!record.smartPtrType;var hasSmartPtr=!!record.smartPtr;if(hasSmartPtrType!==hasSmartPtr){throwInternalError("Both smartPtrType and smartPtr must be specified")}record.count={value:1};return attachFinalizer(Object.create(prototype,{$$:{value:record}}))}function RegisteredPointer_fromWireType(ptr){var rawPointer=this.getPointee(ptr);if(!rawPointer){this.destructor(ptr);return null}var registeredInstance=getInheritedInstance(this.registeredClass,rawPointer);if(undefined!==registeredInstance){if(0===registeredInstance.$$.count.value){registeredInstance.$$.ptr=rawPointer;registeredInstance.$$.smartPtr=ptr;return registeredInstance["clone"]()}else{var rv=registeredInstance["clone"]();this.destructor(ptr);return rv}}function makeDefaultHandle(){if(this.isSmartPointer){return makeClassHandle(this.registeredClass.instancePrototype,{ptrType:this.pointeeType,ptr:rawPointer,smartPtrType:this,smartPtr:ptr})}else{return makeClassHandle(this.registeredClass.instancePrototype,{ptrType:this,ptr:ptr})}}var actualType=this.registeredClass.getActualType(rawPointer);var registeredPointerRecord=registeredPointers[actualType];if(!registeredPointerRecord){return makeDefaultHandle.call(this)}var toType;if(this.isConst){toType=registeredPointerRecord.constPointerType}else{toType=registeredPointerRecord.pointerType}var dp=downcastPointer(rawPointer,this.registeredClass,toType.registeredClass);if(dp===null){return makeDefaultHandle.call(this)}if(this.isSmartPointer){return makeClassHandle(toType.registeredClass.instancePrototype,{ptrType:toType,ptr:dp,smartPtrType:this,smartPtr:ptr})}else{return makeClassHandle(toType.registeredClass.instancePrototype,{ptrType:toType,ptr:dp})}}function attachFinalizer(handle){if("undefined"===typeof FinalizationRegistry){attachFinalizer=handle=>handle;return handle}finalizationRegistry=new FinalizationRegistry(info=>{releaseClassHandle(info.$$)});attachFinalizer=handle=>{var $$=handle.$$;var hasSmartPtr=!!$$.smartPtr;if(hasSmartPtr){var info={$$:$$};finalizationRegistry.register(handle,info,handle)}return handle};detachFinalizer=handle=>finalizationRegistry.unregister(handle);return attachFinalizer(handle)}function __embind_create_inheriting_constructor(constructorName,wrapperType,properties){constructorName=readLatin1String(constructorName);wrapperType=requireRegisteredType(wrapperType,"wrapper");properties=Emval.toValue(properties);var arraySlice=[].slice;var registeredClass=wrapperType.registeredClass;var wrapperPrototype=registeredClass.instancePrototype;var baseClass=registeredClass.baseClass;var baseClassPrototype=baseClass.instancePrototype;var baseConstructor=registeredClass.baseClass.constructor;var ctor=createNamedFunction(constructorName,function(){registeredClass.baseClass.pureVirtualFunctions.forEach(function(name){if(this[name]===baseClassPrototype[name]){throw new PureVirtualError(`Pure virtual function ${name} must be implemented in JavaScript`)}}.bind(this));Object.defineProperty(this,"__parent",{value:wrapperPrototype});this["__construct"].apply(this,arraySlice.call(arguments))});wrapperPrototype["__construct"]=function __construct(){if(this===wrapperPrototype){throwBindingError("Pass correct 'this' to __construct")}var inner=baseConstructor["implement"].apply(undefined,[this].concat(arraySlice.call(arguments)));detachFinalizer(inner);var $$=inner.$$;inner["notifyOnDestruction"]();$$.preservePointerOnDelete=true;Object.defineProperties(this,{$$:{value:$$}});attachFinalizer(this);registerInheritedInstance(registeredClass,$$.ptr,this)};wrapperPrototype["__destruct"]=function __destruct(){if(this===wrapperPrototype){throwBindingError("Pass correct 'this' to __destruct")}detachFinalizer(this);unregisterInheritedInstance(registeredClass,this.$$.ptr)};ctor.prototype=Object.create(wrapperPrototype);for(var p in properties){ctor.prototype[p]=properties[p]}return Emval.toHandle(ctor)}function __embind_register_bigint(primitiveType,name,size,minRange,maxRange){}function getShiftFromSize(size){switch(size){case 1:return 0;case 2:return 1;case 4:return 2;case 8:return 3;default:throw new TypeError(`Unknown type size: ${size}`)}}var awaitingDependencies={};var typeDependencies={};function whenDependentTypesAreResolved(myTypes,dependentTypes,getTypeConverters){myTypes.forEach(function(type){typeDependencies[type]=dependentTypes});function onComplete(typeConverters){var myTypeConverters=getTypeConverters(typeConverters);if(myTypeConverters.length!==myTypes.length){throwInternalError("Mismatched type converter count")}for(var i=0;i{if(registeredTypes.hasOwnProperty(dt)){typeConverters[i]=registeredTypes[dt]}else{unregisteredTypes.push(dt);if(!awaitingDependencies.hasOwnProperty(dt)){awaitingDependencies[dt]=[]}awaitingDependencies[dt].push(()=>{typeConverters[i]=registeredTypes[dt];++registered;if(registered===unregisteredTypes.length){onComplete(typeConverters)}})}});if(0===unregisteredTypes.length){onComplete(typeConverters)}}function registerType(rawType,registeredInstance,options={}){if(!("argPackAdvance"in registeredInstance)){throw new TypeError("registerType registeredInstance requires argPackAdvance")}var name=registeredInstance.name;if(!rawType){throwBindingError(`type "${name}" must have a positive integer typeid pointer`)}if(registeredTypes.hasOwnProperty(rawType)){if(options.ignoreDuplicateRegistrations){return}else{throwBindingError(`Cannot register type '${name}' twice`)}}registeredTypes[rawType]=registeredInstance;delete typeDependencies[rawType];if(awaitingDependencies.hasOwnProperty(rawType)){var callbacks=awaitingDependencies[rawType];delete awaitingDependencies[rawType];callbacks.forEach(cb=>cb())}}function __embind_register_bool(rawType,name,size,trueValue,falseValue){var shift=getShiftFromSize(size);name=readLatin1String(name);registerType(rawType,{name:name,"fromWireType":function(wt){return!!wt},"toWireType":function(destructors,o){return o?trueValue:falseValue},"argPackAdvance":8,"readValueFromPointer":function(pointer){var heap;if(size===1){heap=HEAP8}else if(size===2){heap=HEAP16}else if(size===4){heap=HEAP32}else{throw new TypeError("Unknown boolean type size: "+name)}return this["fromWireType"](heap[pointer>>shift])},destructorFunction:null})}function ClassHandle_isAliasOf(other){if(!(this instanceof ClassHandle)){return false}if(!(other instanceof ClassHandle)){return false}var leftClass=this.$$.ptrType.registeredClass;var left=this.$$.ptr;var rightClass=other.$$.ptrType.registeredClass;var right=other.$$.ptr;while(leftClass.baseClass){left=leftClass.upcast(left);leftClass=leftClass.baseClass}while(rightClass.baseClass){right=rightClass.upcast(right);rightClass=rightClass.baseClass}return leftClass===rightClass&&left===right}function shallowCopyInternalPointer(o){return{count:o.count,deleteScheduled:o.deleteScheduled,preservePointerOnDelete:o.preservePointerOnDelete,ptr:o.ptr,ptrType:o.ptrType,smartPtr:o.smartPtr,smartPtrType:o.smartPtrType}}function throwInstanceAlreadyDeleted(obj){function getInstanceTypeName(handle){return handle.$$.ptrType.registeredClass.name}throwBindingError(getInstanceTypeName(obj)+" instance already deleted")}function ClassHandle_clone(){if(!this.$$.ptr){throwInstanceAlreadyDeleted(this)}if(this.$$.preservePointerOnDelete){this.$$.count.value+=1;return this}else{var clone=attachFinalizer(Object.create(Object.getPrototypeOf(this),{$$:{value:shallowCopyInternalPointer(this.$$)}}));clone.$$.count.value+=1;clone.$$.deleteScheduled=false;return clone}}function ClassHandle_delete(){if(!this.$$.ptr){throwInstanceAlreadyDeleted(this)}if(this.$$.deleteScheduled&&!this.$$.preservePointerOnDelete){throwBindingError("Object already scheduled for deletion")}detachFinalizer(this);releaseClassHandle(this.$$);if(!this.$$.preservePointerOnDelete){this.$$.smartPtr=undefined;this.$$.ptr=undefined}}function ClassHandle_isDeleted(){return!this.$$.ptr}function ClassHandle_deleteLater(){if(!this.$$.ptr){throwInstanceAlreadyDeleted(this)}if(this.$$.deleteScheduled&&!this.$$.preservePointerOnDelete){throwBindingError("Object already scheduled for deletion")}deletionQueue.push(this);if(deletionQueue.length===1&&delayFunction){delayFunction(flushPendingDeletes)}this.$$.deleteScheduled=true;return this}function init_ClassHandle(){ClassHandle.prototype["isAliasOf"]=ClassHandle_isAliasOf;ClassHandle.prototype["clone"]=ClassHandle_clone;ClassHandle.prototype["delete"]=ClassHandle_delete;ClassHandle.prototype["isDeleted"]=ClassHandle_isDeleted;ClassHandle.prototype["deleteLater"]=ClassHandle_deleteLater}function ClassHandle(){}function ensureOverloadTable(proto,methodName,humanName){if(undefined===proto[methodName].overloadTable){var prevFunc=proto[methodName];proto[methodName]=function(){if(!proto[methodName].overloadTable.hasOwnProperty(arguments.length)){throwBindingError(`Function '${humanName}' called with an invalid number of arguments (${arguments.length}) - expects one of (${proto[methodName].overloadTable})!`)}return proto[methodName].overloadTable[arguments.length].apply(this,arguments)};proto[methodName].overloadTable=[];proto[methodName].overloadTable[prevFunc.argCount]=prevFunc}}function exposePublicSymbol(name,value,numArguments){if(Module.hasOwnProperty(name)){if(undefined===numArguments||undefined!==Module[name].overloadTable&&undefined!==Module[name].overloadTable[numArguments]){throwBindingError(`Cannot register public name '${name}' twice`)}ensureOverloadTable(Module,name,name);if(Module.hasOwnProperty(numArguments)){throwBindingError(`Cannot register multiple overloads of a function with the same number of arguments (${numArguments})!`)}Module[name].overloadTable[numArguments]=value}else{Module[name]=value;if(undefined!==numArguments){Module[name].numArguments=numArguments}}}function RegisteredClass(name,constructor,instancePrototype,rawDestructor,baseClass,getActualType,upcast,downcast){this.name=name;this.constructor=constructor;this.instancePrototype=instancePrototype;this.rawDestructor=rawDestructor;this.baseClass=baseClass;this.getActualType=getActualType;this.upcast=upcast;this.downcast=downcast;this.pureVirtualFunctions=[]}function upcastPointer(ptr,ptrClass,desiredClass){while(ptrClass!==desiredClass){if(!ptrClass.upcast){throwBindingError(`Expected null or instance of ${desiredClass.name}, got an instance of ${ptrClass.name}`)}ptr=ptrClass.upcast(ptr);ptrClass=ptrClass.baseClass}return ptr}function constNoSmartPtrRawPointerToWireType(destructors,handle){if(handle===null){if(this.isReference){throwBindingError(`null is not a valid ${this.name}`)}return 0}if(!handle.$$){throwBindingError(`Cannot pass "${embindRepr(handle)}" as a ${this.name}`)}if(!handle.$$.ptr){throwBindingError(`Cannot pass deleted object as a pointer of type ${this.name}`)}var handleClass=handle.$$.ptrType.registeredClass;var ptr=upcastPointer(handle.$$.ptr,handleClass,this.registeredClass);return ptr}function genericPointerToWireType(destructors,handle){var ptr;if(handle===null){if(this.isReference){throwBindingError(`null is not a valid ${this.name}`)}if(this.isSmartPointer){ptr=this.rawConstructor();if(destructors!==null){destructors.push(this.rawDestructor,ptr)}return ptr}else{return 0}}if(!handle.$$){throwBindingError(`Cannot pass "${embindRepr(handle)}" as a ${this.name}`)}if(!handle.$$.ptr){throwBindingError(`Cannot pass deleted object as a pointer of type ${this.name}`)}if(!this.isConst&&handle.$$.ptrType.isConst){throwBindingError(`Cannot convert argument of type ${handle.$$.smartPtrType?handle.$$.smartPtrType.name:handle.$$.ptrType.name} to parameter type ${this.name}`)}var handleClass=handle.$$.ptrType.registeredClass;ptr=upcastPointer(handle.$$.ptr,handleClass,this.registeredClass);if(this.isSmartPointer){if(undefined===handle.$$.smartPtr){throwBindingError("Passing raw pointer to smart pointer is illegal")}switch(this.sharingPolicy){case 0:if(handle.$$.smartPtrType===this){ptr=handle.$$.smartPtr}else{throwBindingError(`Cannot convert argument of type ${handle.$$.smartPtrType?handle.$$.smartPtrType.name:handle.$$.ptrType.name} to parameter type ${this.name}`)}break;case 1:ptr=handle.$$.smartPtr;break;case 2:if(handle.$$.smartPtrType===this){ptr=handle.$$.smartPtr}else{var clonedHandle=handle["clone"]();ptr=this.rawShare(ptr,Emval.toHandle(function(){clonedHandle["delete"]()}));if(destructors!==null){destructors.push(this.rawDestructor,ptr)}}break;default:throwBindingError("Unsupporting sharing policy")}}return ptr}function nonConstNoSmartPtrRawPointerToWireType(destructors,handle){if(handle===null){if(this.isReference){throwBindingError(`null is not a valid ${this.name}`)}return 0}if(!handle.$$){throwBindingError(`Cannot pass "${embindRepr(handle)}" as a ${this.name}`)}if(!handle.$$.ptr){throwBindingError(`Cannot pass deleted object as a pointer of type ${this.name}`)}if(handle.$$.ptrType.isConst){throwBindingError(`Cannot convert argument of type ${handle.$$.ptrType.name} to parameter type ${this.name}`)}var handleClass=handle.$$.ptrType.registeredClass;var ptr=upcastPointer(handle.$$.ptr,handleClass,this.registeredClass);return ptr}function simpleReadValueFromPointer(pointer){return this["fromWireType"](HEAP32[pointer>>2])}function RegisteredPointer_getPointee(ptr){if(this.rawGetPointee){ptr=this.rawGetPointee(ptr)}return ptr}function RegisteredPointer_destructor(ptr){if(this.rawDestructor){this.rawDestructor(ptr)}}function RegisteredPointer_deleteObject(handle){if(handle!==null){handle["delete"]()}}function init_RegisteredPointer(){RegisteredPointer.prototype.getPointee=RegisteredPointer_getPointee;RegisteredPointer.prototype.destructor=RegisteredPointer_destructor;RegisteredPointer.prototype["argPackAdvance"]=8;RegisteredPointer.prototype["readValueFromPointer"]=simpleReadValueFromPointer;RegisteredPointer.prototype["deleteObject"]=RegisteredPointer_deleteObject;RegisteredPointer.prototype["fromWireType"]=RegisteredPointer_fromWireType}function RegisteredPointer(name,registeredClass,isReference,isConst,isSmartPointer,pointeeType,sharingPolicy,rawGetPointee,rawConstructor,rawShare,rawDestructor){this.name=name;this.registeredClass=registeredClass;this.isReference=isReference;this.isConst=isConst;this.isSmartPointer=isSmartPointer;this.pointeeType=pointeeType;this.sharingPolicy=sharingPolicy;this.rawGetPointee=rawGetPointee;this.rawConstructor=rawConstructor;this.rawShare=rawShare;this.rawDestructor=rawDestructor;if(!isSmartPointer&®isteredClass.baseClass===undefined){if(isConst){this["toWireType"]=constNoSmartPtrRawPointerToWireType;this.destructorFunction=null}else{this["toWireType"]=nonConstNoSmartPtrRawPointerToWireType;this.destructorFunction=null}}else{this["toWireType"]=genericPointerToWireType}}function replacePublicSymbol(name,value,numArguments){if(!Module.hasOwnProperty(name)){throwInternalError("Replacing nonexistant public symbol")}if(undefined!==Module[name].overloadTable&&undefined!==numArguments){Module[name].overloadTable[numArguments]=value}else{Module[name]=value;Module[name].argCount=numArguments}}function dynCallLegacy(sig,ptr,args){var f=Module["dynCall_"+sig];return args&&args.length?f.apply(null,[ptr].concat(args)):f.call(null,ptr)}var wasmTableMirror=[];function getWasmTableEntry(funcPtr){var func=wasmTableMirror[funcPtr];if(!func){if(funcPtr>=wasmTableMirror.length)wasmTableMirror.length=funcPtr+1;wasmTableMirror[funcPtr]=func=wasmTable.get(funcPtr)}return func}function dynCall(sig,ptr,args){if(sig.includes("j")){return dynCallLegacy(sig,ptr,args)}var rtn=getWasmTableEntry(ptr).apply(null,args);return rtn}function getDynCaller(sig,ptr){var argCache=[];return function(){argCache.length=0;Object.assign(argCache,arguments);return dynCall(sig,ptr,argCache)}}function embind__requireFunction(signature,rawFunction){signature=readLatin1String(signature);function makeDynCaller(){if(signature.includes("j")){return getDynCaller(signature,rawFunction)}return getWasmTableEntry(rawFunction)}var fp=makeDynCaller();if(typeof fp!="function"){throwBindingError(`unknown function pointer with signature ${signature}: ${rawFunction}`)}return fp}var UnboundTypeError=undefined;function throwUnboundTypeError(message,types){var unboundTypes=[];var seen={};function visit(type){if(seen[type]){return}if(registeredTypes[type]){return}if(typeDependencies[type]){typeDependencies[type].forEach(visit);return}unboundTypes.push(type);seen[type]=true}types.forEach(visit);throw new UnboundTypeError(`${message}: `+unboundTypes.map(getTypeName).join([", "]))}function __embind_register_class(rawType,rawPointerType,rawConstPointerType,baseClassRawType,getActualTypeSignature,getActualType,upcastSignature,upcast,downcastSignature,downcast,name,destructorSignature,rawDestructor){name=readLatin1String(name);getActualType=embind__requireFunction(getActualTypeSignature,getActualType);if(upcast){upcast=embind__requireFunction(upcastSignature,upcast)}if(downcast){downcast=embind__requireFunction(downcastSignature,downcast)}rawDestructor=embind__requireFunction(destructorSignature,rawDestructor);var legalFunctionName=makeLegalFunctionName(name);exposePublicSymbol(legalFunctionName,function(){throwUnboundTypeError(`Cannot construct ${name} due to unbound types`,[baseClassRawType])});whenDependentTypesAreResolved([rawType,rawPointerType,rawConstPointerType],baseClassRawType?[baseClassRawType]:[],function(base){base=base[0];var baseClass;var basePrototype;if(baseClassRawType){baseClass=base.registeredClass;basePrototype=baseClass.instancePrototype}else{basePrototype=ClassHandle.prototype}var constructor=createNamedFunction(legalFunctionName,function(){if(Object.getPrototypeOf(this)!==instancePrototype){throw new BindingError("Use 'new' to construct "+name)}if(undefined===registeredClass.constructor_body){throw new BindingError(name+" has no accessible constructor")}var body=registeredClass.constructor_body[arguments.length];if(undefined===body){throw new BindingError(`Tried to invoke ctor of ${name} with invalid number of parameters (${arguments.length}) - expected (${Object.keys(registeredClass.constructor_body).toString()}) parameters instead!`)}return body.apply(this,arguments)});var instancePrototype=Object.create(basePrototype,{constructor:{value:constructor}});constructor.prototype=instancePrototype;var registeredClass=new RegisteredClass(name,constructor,instancePrototype,rawDestructor,baseClass,getActualType,upcast,downcast);if(registeredClass.baseClass){if(registeredClass.baseClass.__derivedClasses===undefined){registeredClass.baseClass.__derivedClasses=[]}registeredClass.baseClass.__derivedClasses.push(registeredClass)}var referenceConverter=new RegisteredPointer(name,registeredClass,true,false,false);var pointerConverter=new RegisteredPointer(name+"*",registeredClass,false,false,false);var constPointerConverter=new RegisteredPointer(name+" const*",registeredClass,false,true,false);registeredPointers[rawType]={pointerType:pointerConverter,constPointerType:constPointerConverter};replacePublicSymbol(legalFunctionName,constructor);return[referenceConverter,pointerConverter,constPointerConverter]})}function runDestructors(destructors){while(destructors.length){var ptr=destructors.pop();var del=destructors.pop();del(ptr)}}function craftInvokerFunction(humanName,argTypes,classType,cppInvokerFunc,cppTargetFunc,isAsync){var argCount=argTypes.length;if(argCount<2){throwBindingError("argTypes array size mismatch! Must at least get return value and 'this' types!")}var isClassMethodFunc=argTypes[1]!==null&&classType!==null;var needsDestructorStack=false;for(var i=1;i>2])}return array}function __embind_register_class_class_function(rawClassType,methodName,argCount,rawArgTypesAddr,invokerSignature,rawInvoker,fn,isAsync){var rawArgTypes=heap32VectorToArray(argCount,rawArgTypesAddr);methodName=readLatin1String(methodName);rawInvoker=embind__requireFunction(invokerSignature,rawInvoker);whenDependentTypesAreResolved([],[rawClassType],function(classType){classType=classType[0];var humanName=`${classType.name}.${methodName}`;function unboundTypesHandler(){throwUnboundTypeError(`Cannot call ${humanName} due to unbound types`,rawArgTypes)}if(methodName.startsWith("@@")){methodName=Symbol[methodName.substring(2)]}var proto=classType.registeredClass.constructor;if(undefined===proto[methodName]){unboundTypesHandler.argCount=argCount-1;proto[methodName]=unboundTypesHandler}else{ensureOverloadTable(proto,methodName,humanName);proto[methodName].overloadTable[argCount-1]=unboundTypesHandler}whenDependentTypesAreResolved([],rawArgTypes,function(argTypes){var invokerArgsArray=[argTypes[0],null].concat(argTypes.slice(1));var func=craftInvokerFunction(humanName,invokerArgsArray,null,rawInvoker,fn,isAsync);if(undefined===proto[methodName].overloadTable){func.argCount=argCount-1;proto[methodName]=func}else{proto[methodName].overloadTable[argCount-1]=func}if(classType.registeredClass.__derivedClasses){for(const derivedClass of classType.registeredClass.__derivedClasses){if(!derivedClass.constructor.hasOwnProperty(methodName)){derivedClass.constructor[methodName]=func}}}return[]});return[]})}function __embind_register_class_function(rawClassType,methodName,argCount,rawArgTypesAddr,invokerSignature,rawInvoker,context,isPureVirtual,isAsync){var rawArgTypes=heap32VectorToArray(argCount,rawArgTypesAddr);methodName=readLatin1String(methodName);rawInvoker=embind__requireFunction(invokerSignature,rawInvoker);whenDependentTypesAreResolved([],[rawClassType],function(classType){classType=classType[0];var humanName=`${classType.name}.${methodName}`;if(methodName.startsWith("@@")){methodName=Symbol[methodName.substring(2)]}if(isPureVirtual){classType.registeredClass.pureVirtualFunctions.push(methodName)}function unboundTypesHandler(){throwUnboundTypeError(`Cannot call ${humanName} due to unbound types`,rawArgTypes)}var proto=classType.registeredClass.instancePrototype;var method=proto[methodName];if(undefined===method||undefined===method.overloadTable&&method.className!==classType.name&&method.argCount===argCount-2){unboundTypesHandler.argCount=argCount-2;unboundTypesHandler.className=classType.name;proto[methodName]=unboundTypesHandler}else{ensureOverloadTable(proto,methodName,humanName);proto[methodName].overloadTable[argCount-2]=unboundTypesHandler}whenDependentTypesAreResolved([],rawArgTypes,function(argTypes){var memberFunction=craftInvokerFunction(humanName,argTypes,classType,rawInvoker,context,isAsync);if(undefined===proto[methodName].overloadTable){memberFunction.argCount=argCount-2;proto[methodName]=memberFunction}else{proto[methodName].overloadTable[argCount-2]=memberFunction}return[]});return[]})}function __emval_decref(handle){if(handle>=emval_handles.reserved&&0===--emval_handles.get(handle).refcount){emval_handles.free(handle)}}function __embind_register_emval(rawType,name){name=readLatin1String(name);registerType(rawType,{name:name,"fromWireType":function(handle){var rv=Emval.toValue(handle);__emval_decref(handle);return rv},"toWireType":function(destructors,value){return Emval.toHandle(value)},"argPackAdvance":8,"readValueFromPointer":simpleReadValueFromPointer,destructorFunction:null})}function embindRepr(v){if(v===null){return"null"}var t=typeof v;if(t==="object"||t==="array"||t==="function"){return v.toString()}else{return""+v}}function floatReadValueFromPointer(name,shift){switch(shift){case 2:return function(pointer){return this["fromWireType"](HEAPF32[pointer>>2])};case 3:return function(pointer){return this["fromWireType"](HEAPF64[pointer>>3])};default:throw new TypeError("Unknown float type: "+name)}}function __embind_register_float(rawType,name,size){var shift=getShiftFromSize(size);name=readLatin1String(name);registerType(rawType,{name:name,"fromWireType":function(value){return value},"toWireType":function(destructors,value){return value},"argPackAdvance":8,"readValueFromPointer":floatReadValueFromPointer(name,shift),destructorFunction:null})}function __embind_register_function(name,argCount,rawArgTypesAddr,signature,rawInvoker,fn,isAsync){var argTypes=heap32VectorToArray(argCount,rawArgTypesAddr);name=readLatin1String(name);rawInvoker=embind__requireFunction(signature,rawInvoker);exposePublicSymbol(name,function(){throwUnboundTypeError(`Cannot call ${name} due to unbound types`,argTypes)},argCount-1);whenDependentTypesAreResolved([],argTypes,function(argTypes){var invokerArgsArray=[argTypes[0],null].concat(argTypes.slice(1));replacePublicSymbol(name,craftInvokerFunction(name,invokerArgsArray,null,rawInvoker,fn,isAsync),argCount-1);return[]})}function integerReadValueFromPointer(name,shift,signed){switch(shift){case 0:return signed?function readS8FromPointer(pointer){return HEAP8[pointer]}:function readU8FromPointer(pointer){return HEAPU8[pointer]};case 1:return signed?function readS16FromPointer(pointer){return HEAP16[pointer>>1]}:function readU16FromPointer(pointer){return HEAPU16[pointer>>1]};case 2:return signed?function readS32FromPointer(pointer){return HEAP32[pointer>>2]}:function readU32FromPointer(pointer){return HEAPU32[pointer>>2]};default:throw new TypeError("Unknown integer type: "+name)}}function __embind_register_integer(primitiveType,name,size,minRange,maxRange){name=readLatin1String(name);if(maxRange===-1){maxRange=4294967295}var shift=getShiftFromSize(size);var fromWireType=value=>value;if(minRange===0){var bitshift=32-8*size;fromWireType=value=>value<>>bitshift}var isUnsignedType=name.includes("unsigned");var checkAssertions=(value,toTypeName)=>{};var toWireType;if(isUnsignedType){toWireType=function(destructors,value){checkAssertions(value,this.name);return value>>>0}}else{toWireType=function(destructors,value){checkAssertions(value,this.name);return value}}registerType(primitiveType,{name:name,"fromWireType":fromWireType,"toWireType":toWireType,"argPackAdvance":8,"readValueFromPointer":integerReadValueFromPointer(name,shift,minRange!==0),destructorFunction:null})}function __embind_register_memory_view(rawType,dataTypeIndex,name){var typeMapping=[Int8Array,Uint8Array,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array];var TA=typeMapping[dataTypeIndex];function decodeMemoryView(handle){handle=handle>>2;var heap=HEAPU32;var size=heap[handle];var data=heap[handle+1];return new TA(heap.buffer,data,size)}name=readLatin1String(name);registerType(rawType,{name:name,"fromWireType":decodeMemoryView,"argPackAdvance":8,"readValueFromPointer":decodeMemoryView},{ignoreDuplicateRegistrations:true})}function stringToUTF8Array(str,heap,outIdx,maxBytesToWrite){if(!(maxBytesToWrite>0))return 0;var startIdx=outIdx;var endIdx=outIdx+maxBytesToWrite-1;for(var i=0;i=55296&&u<=57343){var u1=str.charCodeAt(++i);u=65536+((u&1023)<<10)|u1&1023}if(u<=127){if(outIdx>=endIdx)break;heap[outIdx++]=u}else if(u<=2047){if(outIdx+1>=endIdx)break;heap[outIdx++]=192|u>>6;heap[outIdx++]=128|u&63}else if(u<=65535){if(outIdx+2>=endIdx)break;heap[outIdx++]=224|u>>12;heap[outIdx++]=128|u>>6&63;heap[outIdx++]=128|u&63}else{if(outIdx+3>=endIdx)break;heap[outIdx++]=240|u>>18;heap[outIdx++]=128|u>>12&63;heap[outIdx++]=128|u>>6&63;heap[outIdx++]=128|u&63}}heap[outIdx]=0;return outIdx-startIdx}function stringToUTF8(str,outPtr,maxBytesToWrite){return stringToUTF8Array(str,HEAPU8,outPtr,maxBytesToWrite)}function lengthBytesUTF8(str){var len=0;for(var i=0;i=55296&&c<=57343){len+=4;++i}else{len+=3}}return len}var UTF8Decoder=typeof TextDecoder!="undefined"?new TextDecoder("utf8"):undefined;function UTF8ArrayToString(heapOrArray,idx,maxBytesToRead){var endIdx=idx+maxBytesToRead;var endPtr=idx;while(heapOrArray[endPtr]&&!(endPtr>=endIdx))++endPtr;if(endPtr-idx>16&&heapOrArray.buffer&&UTF8Decoder){return UTF8Decoder.decode(heapOrArray.subarray(idx,endPtr))}var str="";while(idx>10,56320|ch&1023)}}return str}function UTF8ToString(ptr,maxBytesToRead){return ptr?UTF8ArrayToString(HEAPU8,ptr,maxBytesToRead):""}function __embind_register_std_string(rawType,name){name=readLatin1String(name);var stdStringIsUTF8=name==="std::string";registerType(rawType,{name:name,"fromWireType":function(value){var length=HEAPU32[value>>2];var payload=value+4;var str;if(stdStringIsUTF8){var decodeStartPtr=payload;for(var i=0;i<=length;++i){var currentBytePtr=payload+i;if(i==length||HEAPU8[currentBytePtr]==0){var maxRead=currentBytePtr-decodeStartPtr;var stringSegment=UTF8ToString(decodeStartPtr,maxRead);if(str===undefined){str=stringSegment}else{str+=String.fromCharCode(0);str+=stringSegment}decodeStartPtr=currentBytePtr+1}}}else{var a=new Array(length);for(var i=0;i>2]=length;if(stdStringIsUTF8&&valueIsOfTypeString){stringToUTF8(value,ptr,length+1)}else{if(valueIsOfTypeString){for(var i=0;i255){_free(ptr);throwBindingError("String has UTF-16 code units that do not fit in 8 bits")}HEAPU8[ptr+i]=charCode}}else{for(var i=0;i>1;var maxIdx=idx+maxBytesToRead/2;while(!(idx>=maxIdx)&&HEAPU16[idx])++idx;endPtr=idx<<1;if(endPtr-ptr>32&&UTF16Decoder)return UTF16Decoder.decode(HEAPU8.subarray(ptr,endPtr));var str="";for(var i=0;!(i>=maxBytesToRead/2);++i){var codeUnit=HEAP16[ptr+i*2>>1];if(codeUnit==0)break;str+=String.fromCharCode(codeUnit)}return str}function stringToUTF16(str,outPtr,maxBytesToWrite){if(maxBytesToWrite===undefined){maxBytesToWrite=2147483647}if(maxBytesToWrite<2)return 0;maxBytesToWrite-=2;var startPtr=outPtr;var numCharsToWrite=maxBytesToWrite>1]=codeUnit;outPtr+=2}HEAP16[outPtr>>1]=0;return outPtr-startPtr}function lengthBytesUTF16(str){return str.length*2}function UTF32ToString(ptr,maxBytesToRead){var i=0;var str="";while(!(i>=maxBytesToRead/4)){var utf32=HEAP32[ptr+i*4>>2];if(utf32==0)break;++i;if(utf32>=65536){var ch=utf32-65536;str+=String.fromCharCode(55296|ch>>10,56320|ch&1023)}else{str+=String.fromCharCode(utf32)}}return str}function stringToUTF32(str,outPtr,maxBytesToWrite){if(maxBytesToWrite===undefined){maxBytesToWrite=2147483647}if(maxBytesToWrite<4)return 0;var startPtr=outPtr;var endPtr=startPtr+maxBytesToWrite-4;for(var i=0;i=55296&&codeUnit<=57343){var trailSurrogate=str.charCodeAt(++i);codeUnit=65536+((codeUnit&1023)<<10)|trailSurrogate&1023}HEAP32[outPtr>>2]=codeUnit;outPtr+=4;if(outPtr+4>endPtr)break}HEAP32[outPtr>>2]=0;return outPtr-startPtr}function lengthBytesUTF32(str){var len=0;for(var i=0;i=55296&&codeUnit<=57343)++i;len+=4}return len}function __embind_register_std_wstring(rawType,charSize,name){name=readLatin1String(name);var decodeString,encodeString,getHeap,lengthBytesUTF,shift;if(charSize===2){decodeString=UTF16ToString;encodeString=stringToUTF16;lengthBytesUTF=lengthBytesUTF16;getHeap=()=>HEAPU16;shift=1}else if(charSize===4){decodeString=UTF32ToString;encodeString=stringToUTF32;lengthBytesUTF=lengthBytesUTF32;getHeap=()=>HEAPU32;shift=2}registerType(rawType,{name:name,"fromWireType":function(value){var length=HEAPU32[value>>2];var HEAP=getHeap();var str;var decodeStartPtr=value+4;for(var i=0;i<=length;++i){var currentBytePtr=value+4+i*charSize;if(i==length||HEAP[currentBytePtr>>shift]==0){var maxReadBytes=currentBytePtr-decodeStartPtr;var stringSegment=decodeString(decodeStartPtr,maxReadBytes);if(str===undefined){str=stringSegment}else{str+=String.fromCharCode(0);str+=stringSegment}decodeStartPtr=currentBytePtr+charSize}}_free(value);return str},"toWireType":function(destructors,value){if(!(typeof value=="string")){throwBindingError(`Cannot pass non-string to C++ string type ${name}`)}var length=lengthBytesUTF(value);var ptr=_malloc(4+length+charSize);HEAPU32[ptr>>2]=length>>shift;encodeString(value,ptr+4,length+charSize);if(destructors!==null){destructors.push(_free,ptr)}return ptr},"argPackAdvance":8,"readValueFromPointer":simpleReadValueFromPointer,destructorFunction:function(ptr){_free(ptr)}})}function __embind_register_void(rawType,name){name=readLatin1String(name);registerType(rawType,{isVoid:true,name:name,"argPackAdvance":0,"fromWireType":function(){return undefined},"toWireType":function(destructors,o){return undefined}})}var emval_symbols={};function getStringOrSymbol(address){var symbol=emval_symbols[address];if(symbol===undefined){return readLatin1String(address)}return symbol}var emval_methodCallers=[];function __emval_call_void_method(caller,handle,methodName,args){caller=emval_methodCallers[caller];handle=Emval.toValue(handle);methodName=getStringOrSymbol(methodName);caller(handle,methodName,null,args)}function emval_addMethodCaller(caller){var id=emval_methodCallers.length;emval_methodCallers.push(caller);return id}function emval_lookupTypes(argCount,argTypes){var a=new Array(argCount);for(var i=0;i>2],"parameter "+i)}return a}var emval_registeredMethods=[];function __emval_get_method_caller(argCount,argTypes){var types=emval_lookupTypes(argCount,argTypes);var retType=types[0];var signatureName=retType.name+"_$"+types.slice(1).map(function(t){return t.name}).join("_")+"$";var returnId=emval_registeredMethods[signatureName];if(returnId!==undefined){return returnId}var argN=new Array(argCount-1);var invokerFunction=(handle,name,destructors,args)=>{var offset=0;for(var i=0;i4){emval_handles.get(handle).refcount+=1}}function _abort(){abort("")}function _emscripten_memcpy_big(dest,src,num){HEAPU8.copyWithin(dest,src,src+num)}function getHeapMax(){return 2147483648}function emscripten_realloc_buffer(size){var b=wasmMemory.buffer;var pages=size-b.byteLength+65535>>>16;try{wasmMemory.grow(pages);updateMemoryViews();return 1}catch(e){}}function _emscripten_resize_heap(requestedSize){var oldSize=HEAPU8.length;requestedSize=requestedSize>>>0;var maxHeapSize=getHeapMax();if(requestedSize>maxHeapSize){return false}var alignUp=(x,multiple)=>x+(multiple-x%multiple)%multiple;for(var cutDown=1;cutDown<=4;cutDown*=2){var overGrownHeapSize=oldSize*(1+.2/cutDown);overGrownHeapSize=Math.min(overGrownHeapSize,requestedSize+100663296);var newSize=Math.min(maxHeapSize,alignUp(Math.max(requestedSize,overGrownHeapSize),65536));var replacement=emscripten_realloc_buffer(newSize);if(replacement){return true}}return false}BindingError=Module["BindingError"]=extendError(Error,"BindingError");init_emval();PureVirtualError=Module["PureVirtualError"]=extendError(Error,"PureVirtualError");embind_init_charCodes();init_embind();InternalError=Module["InternalError"]=extendError(Error,"InternalError");init_ClassHandle();init_RegisteredPointer();UnboundTypeError=Module["UnboundTypeError"]=extendError(Error,"UnboundTypeError");var wasmImports={"k":__embind_create_inheriting_constructor,"p":__embind_register_bigint,"t":__embind_register_bool,"i":__embind_register_class,"h":__embind_register_class_class_function,"g":__embind_register_class_function,"s":__embind_register_emval,"n":__embind_register_float,"a":__embind_register_function,"f":__embind_register_integer,"b":__embind_register_memory_view,"m":__embind_register_std_string,"l":__embind_register_std_wstring,"u":__embind_register_void,"c":__emval_call_void_method,"e":__emval_decref,"d":__emval_get_method_caller,"o":__emval_incref,"j":_abort,"r":_emscripten_memcpy_big,"q":_emscripten_resize_heap};var asm=createWasm();var ___wasm_call_ctors=function(){return(___wasm_call_ctors=Module["asm"]["w"]).apply(null,arguments)};var _malloc=function(){return(_malloc=Module["asm"]["x"]).apply(null,arguments)};var _free=function(){return(_free=Module["asm"]["y"]).apply(null,arguments)};var ___getTypeName=function(){return(___getTypeName=Module["asm"]["A"]).apply(null,arguments)};var __embind_initialize_bindings=Module["__embind_initialize_bindings"]=function(){return(__embind_initialize_bindings=Module["__embind_initialize_bindings"]=Module["asm"]["B"]).apply(null,arguments)};var ___errno_location=function(){return(___errno_location=Module["asm"]["__errno_location"]).apply(null,arguments)};var calledRun;dependenciesFulfilled=function runCaller(){if(!calledRun)run();if(!calledRun)dependenciesFulfilled=runCaller};function run(){if(runDependencies>0){return}preRun();if(runDependencies>0){return}function doRun(){if(calledRun)return;calledRun=true;Module["calledRun"]=true;if(ABORT)return;initRuntime();readyPromiseResolve(Module);if(Module["onRuntimeInitialized"])Module["onRuntimeInitialized"]();postRun()}if(Module["setStatus"]){Module["setStatus"]("Running...");setTimeout(function(){setTimeout(function(){Module["setStatus"]("")},1);doRun()},1)}else{doRun()}}if(Module["preInit"]){if(typeof Module["preInit"]=="function")Module["preInit"]=[Module["preInit"]];while(Module["preInit"].length>0){Module["preInit"].pop()()}}run(); - - - return Bullet.ready -} - -); -})(); -if (typeof exports === 'object' && typeof module === 'object') - module.exports = Bullet; -else if (typeof define === 'function' && define['amd']) - define([], function() { return Bullet; }); -else if (typeof exports === 'object') - exports["Bullet"] = Bullet; + +var Bullet = (() => { + var _scriptDir = typeof document !== 'undefined' && document.currentScript ? document.currentScript.src : undefined; + + return ( +function(Bullet = {}) { + +var Module=typeof Bullet!="undefined"?Bullet:{};var readyPromiseResolve,readyPromiseReject;Module["ready"]=new Promise((resolve,reject)=>{readyPromiseResolve=resolve;readyPromiseReject=reject});var moduleOverrides=Object.assign({},Module);var arguments_=[];var thisProgram="./this.program";var quit_=(status,toThrow)=>{throw toThrow};var ENVIRONMENT_IS_WEB=true;var ENVIRONMENT_IS_WORKER=false;var scriptDirectory="";function locateFile(path){if(Module["locateFile"]){return Module["locateFile"](path,scriptDirectory)}return scriptDirectory+path}var read_,readAsync,readBinary,setWindowTitle;if(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER){if(ENVIRONMENT_IS_WORKER){scriptDirectory=self.location.href}else if(typeof document!="undefined"&&document.currentScript){scriptDirectory=document.currentScript.src}if(_scriptDir){scriptDirectory=_scriptDir}if(scriptDirectory.indexOf("blob:")!==0){scriptDirectory=scriptDirectory.substr(0,scriptDirectory.replace(/[?#].*/,"").lastIndexOf("/")+1)}else{scriptDirectory=""}{read_=url=>{var xhr=new XMLHttpRequest;xhr.open("GET",url,false);xhr.send(null);return xhr.responseText};if(ENVIRONMENT_IS_WORKER){readBinary=url=>{var xhr=new XMLHttpRequest;xhr.open("GET",url,false);xhr.responseType="arraybuffer";xhr.send(null);return new Uint8Array(xhr.response)}}readAsync=(url,onload,onerror)=>{var xhr=new XMLHttpRequest;xhr.open("GET",url,true);xhr.responseType="arraybuffer";xhr.onload=()=>{if(xhr.status==200||xhr.status==0&&xhr.response){onload(xhr.response);return}onerror()};xhr.onerror=onerror;xhr.send(null)}}setWindowTitle=title=>document.title=title}else{}var out=Module["print"]||console.log.bind(console);var err=Module["printErr"]||console.error.bind(console);Object.assign(Module,moduleOverrides);moduleOverrides=null;if(Module["arguments"])arguments_=Module["arguments"];if(Module["thisProgram"])thisProgram=Module["thisProgram"];if(Module["quit"])quit_=Module["quit"];var wasmBinary;if(Module["wasmBinary"])wasmBinary=Module["wasmBinary"];var noExitRuntime=Module["noExitRuntime"]||true;if(typeof WebAssembly!="object"){abort("no native wasm support detected")}var wasmMemory;var ABORT=false;var EXITSTATUS;var HEAP8,HEAPU8,HEAP16,HEAPU16,HEAP32,HEAPU32,HEAPF32,HEAPF64;function updateMemoryViews(){var b=wasmMemory.buffer;Module["HEAP8"]=HEAP8=new Int8Array(b);Module["HEAP16"]=HEAP16=new Int16Array(b);Module["HEAP32"]=HEAP32=new Int32Array(b);Module["HEAPU8"]=HEAPU8=new Uint8Array(b);Module["HEAPU16"]=HEAPU16=new Uint16Array(b);Module["HEAPU32"]=HEAPU32=new Uint32Array(b);Module["HEAPF32"]=HEAPF32=new Float32Array(b);Module["HEAPF64"]=HEAPF64=new Float64Array(b)}var wasmTable;var __ATPRERUN__=[];var __ATINIT__=[];var __ATPOSTRUN__=[];var runtimeInitialized=false;function preRun(){if(Module["preRun"]){if(typeof Module["preRun"]=="function")Module["preRun"]=[Module["preRun"]];while(Module["preRun"].length){addOnPreRun(Module["preRun"].shift())}}callRuntimeCallbacks(__ATPRERUN__)}function initRuntime(){runtimeInitialized=true;callRuntimeCallbacks(__ATINIT__)}function postRun(){if(Module["postRun"]){if(typeof Module["postRun"]=="function")Module["postRun"]=[Module["postRun"]];while(Module["postRun"].length){addOnPostRun(Module["postRun"].shift())}}callRuntimeCallbacks(__ATPOSTRUN__)}function addOnPreRun(cb){__ATPRERUN__.unshift(cb)}function addOnInit(cb){__ATINIT__.unshift(cb)}function addOnPostRun(cb){__ATPOSTRUN__.unshift(cb)}var runDependencies=0;var runDependencyWatcher=null;var dependenciesFulfilled=null;function addRunDependency(id){runDependencies++;if(Module["monitorRunDependencies"]){Module["monitorRunDependencies"](runDependencies)}}function removeRunDependency(id){runDependencies--;if(Module["monitorRunDependencies"]){Module["monitorRunDependencies"](runDependencies)}if(runDependencies==0){if(runDependencyWatcher!==null){clearInterval(runDependencyWatcher);runDependencyWatcher=null}if(dependenciesFulfilled){var callback=dependenciesFulfilled;dependenciesFulfilled=null;callback()}}}function abort(what){if(Module["onAbort"]){Module["onAbort"](what)}what="Aborted("+what+")";err(what);ABORT=true;EXITSTATUS=1;what+=". Build with -sASSERTIONS for more info.";var e=new WebAssembly.RuntimeError(what);readyPromiseReject(e);throw e}var dataURIPrefix="data:application/octet-stream;base64,";function isDataURI(filename){return filename.startsWith(dataURIPrefix)}var wasmBinaryFile;wasmBinaryFile="bullet.release.wasm.wasm";if(!isDataURI(wasmBinaryFile)){wasmBinaryFile=locateFile(wasmBinaryFile)}function getBinary(file){try{if(file==wasmBinaryFile&&wasmBinary){return new Uint8Array(wasmBinary)}if(readBinary){return readBinary(file)}throw"both async and sync fetching of the wasm failed"}catch(err){abort(err)}}function getBinaryPromise(binaryFile){if(!wasmBinary&&(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER)){if(typeof fetch=="function"){return fetch(binaryFile,{credentials:"same-origin"}).then(response=>{if(!response["ok"]){throw"failed to load wasm binary file at '"+binaryFile+"'"}return response["arrayBuffer"]()}).catch(()=>getBinary(binaryFile))}}return Promise.resolve().then(()=>getBinary(binaryFile))}function instantiateArrayBuffer(binaryFile,imports,receiver){return getBinaryPromise(binaryFile).then(binary=>{return WebAssembly.instantiate(binary,imports)}).then(instance=>{return instance}).then(receiver,reason=>{err("failed to asynchronously prepare wasm: "+reason);abort(reason)})}function instantiateAsync(binary,binaryFile,imports,callback){if(!binary&&typeof WebAssembly.instantiateStreaming=="function"&&!isDataURI(binaryFile)&&typeof fetch=="function"){return fetch(binaryFile,{credentials:"same-origin"}).then(response=>{var result=WebAssembly.instantiateStreaming(response,imports);return result.then(callback,function(reason){err("wasm streaming compile failed: "+reason);err("falling back to ArrayBuffer instantiation");return instantiateArrayBuffer(binaryFile,imports,callback)})})}else{return instantiateArrayBuffer(binaryFile,imports,callback)}}function createWasm(){var info={"a":wasmImports};function receiveInstance(instance,module){var exports=instance.exports;Module["asm"]=exports;wasmMemory=Module["asm"]["v"];updateMemoryViews();wasmTable=Module["asm"]["z"];addOnInit(Module["asm"]["w"]);removeRunDependency("wasm-instantiate");return exports}addRunDependency("wasm-instantiate");function receiveInstantiationResult(result){receiveInstance(result["instance"])}if(Module["instantiateWasm"]){try{return Module["instantiateWasm"](info,receiveInstance)}catch(e){err("Module.instantiateWasm callback failed with error: "+e);readyPromiseReject(e)}}instantiateAsync(wasmBinary,wasmBinaryFile,info,receiveInstantiationResult).catch(readyPromiseReject);return{}}function callRuntimeCallbacks(callbacks){while(callbacks.length>0){callbacks.shift()(Module)}}var char_0=48;var char_9=57;function makeLegalFunctionName(name){if(undefined===name){return"_unknown"}name=name.replace(/[^a-zA-Z0-9_]/g,"$");var f=name.charCodeAt(0);if(f>=char_0&&f<=char_9){return`_${name}`}return name}function createNamedFunction(name,body){name=makeLegalFunctionName(name);return{[name]:function(){return body.apply(this,arguments)}}[name]}function HandleAllocator(){this.allocated=[undefined];this.freelist=[];this.get=function(id){return this.allocated[id]};this.has=function(id){return this.allocated[id]!==undefined};this.allocate=function(handle){var id=this.freelist.pop()||this.allocated.length;this.allocated[id]=handle;return id};this.free=function(id){this.allocated[id]=undefined;this.freelist.push(id)}}var emval_handles=new HandleAllocator;function extendError(baseErrorType,errorName){var errorClass=createNamedFunction(errorName,function(message){this.name=errorName;this.message=message;var stack=new Error(message).stack;if(stack!==undefined){this.stack=this.toString()+"\n"+stack.replace(/^Error(:[^\n]*)?\n/,"")}});errorClass.prototype=Object.create(baseErrorType.prototype);errorClass.prototype.constructor=errorClass;errorClass.prototype.toString=function(){if(this.message===undefined){return this.name}else{return`${this.name}: ${this.message}`}};return errorClass}var BindingError=undefined;function throwBindingError(message){throw new BindingError(message)}function count_emval_handles(){var count=0;for(var i=emval_handles.reserved;i{if(!handle){throwBindingError("Cannot use deleted val. handle = "+handle)}return emval_handles.get(handle).value},toHandle:value=>{switch(value){case undefined:return 1;case null:return 2;case true:return 3;case false:return 4;default:{return emval_handles.allocate({refcount:1,value:value})}}}};var PureVirtualError=undefined;function embind_init_charCodes(){var codes=new Array(256);for(var i=0;i<256;++i){codes[i]=String.fromCharCode(i)}embind_charCodes=codes}var embind_charCodes=undefined;function readLatin1String(ptr){var ret="";var c=ptr;while(HEAPU8[c]){ret+=embind_charCodes[HEAPU8[c++]]}return ret}function getInheritedInstanceCount(){return Object.keys(registeredInstances).length}function getLiveInheritedInstances(){var rv=[];for(var k in registeredInstances){if(registeredInstances.hasOwnProperty(k)){rv.push(registeredInstances[k])}}return rv}var deletionQueue=[];function flushPendingDeletes(){while(deletionQueue.length){var obj=deletionQueue.pop();obj.$$.deleteScheduled=false;obj["delete"]()}}var delayFunction=undefined;function setDelayFunction(fn){delayFunction=fn;if(deletionQueue.length&&delayFunction){delayFunction(flushPendingDeletes)}}function init_embind(){Module["getInheritedInstanceCount"]=getInheritedInstanceCount;Module["getLiveInheritedInstances"]=getLiveInheritedInstances;Module["flushPendingDeletes"]=flushPendingDeletes;Module["setDelayFunction"]=setDelayFunction}var registeredInstances={};function getBasestPointer(class_,ptr){if(ptr===undefined){throwBindingError("ptr should not be undefined")}while(class_.baseClass){ptr=class_.upcast(ptr);class_=class_.baseClass}return ptr}function registerInheritedInstance(class_,ptr,instance){ptr=getBasestPointer(class_,ptr);if(registeredInstances.hasOwnProperty(ptr)){throwBindingError(`Tried to register registered instance: ${ptr}`)}else{registeredInstances[ptr]=instance}}var registeredTypes={};function getTypeName(type){var ptr=___getTypeName(type);var rv=readLatin1String(ptr);_free(ptr);return rv}function requireRegisteredType(rawType,humanName){var impl=registeredTypes[rawType];if(undefined===impl){throwBindingError(humanName+" has unknown type "+getTypeName(rawType))}return impl}function unregisterInheritedInstance(class_,ptr){ptr=getBasestPointer(class_,ptr);if(registeredInstances.hasOwnProperty(ptr)){delete registeredInstances[ptr]}else{throwBindingError(`Tried to unregister unregistered instance: ${ptr}`)}}function detachFinalizer(handle){}var finalizationRegistry=false;function runDestructor($$){if($$.smartPtr){$$.smartPtrType.rawDestructor($$.smartPtr)}else{$$.ptrType.registeredClass.rawDestructor($$.ptr)}}function releaseClassHandle($$){$$.count.value-=1;var toDelete=0===$$.count.value;if(toDelete){runDestructor($$)}}function downcastPointer(ptr,ptrClass,desiredClass){if(ptrClass===desiredClass){return ptr}if(undefined===desiredClass.baseClass){return null}var rv=downcastPointer(ptr,ptrClass,desiredClass.baseClass);if(rv===null){return null}return desiredClass.downcast(rv)}var registeredPointers={};function getInheritedInstance(class_,ptr){ptr=getBasestPointer(class_,ptr);return registeredInstances[ptr]}var InternalError=undefined;function throwInternalError(message){throw new InternalError(message)}function makeClassHandle(prototype,record){if(!record.ptrType||!record.ptr){throwInternalError("makeClassHandle requires ptr and ptrType")}var hasSmartPtrType=!!record.smartPtrType;var hasSmartPtr=!!record.smartPtr;if(hasSmartPtrType!==hasSmartPtr){throwInternalError("Both smartPtrType and smartPtr must be specified")}record.count={value:1};return attachFinalizer(Object.create(prototype,{$$:{value:record}}))}function RegisteredPointer_fromWireType(ptr){var rawPointer=this.getPointee(ptr);if(!rawPointer){this.destructor(ptr);return null}var registeredInstance=getInheritedInstance(this.registeredClass,rawPointer);if(undefined!==registeredInstance){if(0===registeredInstance.$$.count.value){registeredInstance.$$.ptr=rawPointer;registeredInstance.$$.smartPtr=ptr;return registeredInstance["clone"]()}else{var rv=registeredInstance["clone"]();this.destructor(ptr);return rv}}function makeDefaultHandle(){if(this.isSmartPointer){return makeClassHandle(this.registeredClass.instancePrototype,{ptrType:this.pointeeType,ptr:rawPointer,smartPtrType:this,smartPtr:ptr})}else{return makeClassHandle(this.registeredClass.instancePrototype,{ptrType:this,ptr:ptr})}}var actualType=this.registeredClass.getActualType(rawPointer);var registeredPointerRecord=registeredPointers[actualType];if(!registeredPointerRecord){return makeDefaultHandle.call(this)}var toType;if(this.isConst){toType=registeredPointerRecord.constPointerType}else{toType=registeredPointerRecord.pointerType}var dp=downcastPointer(rawPointer,this.registeredClass,toType.registeredClass);if(dp===null){return makeDefaultHandle.call(this)}if(this.isSmartPointer){return makeClassHandle(toType.registeredClass.instancePrototype,{ptrType:toType,ptr:dp,smartPtrType:this,smartPtr:ptr})}else{return makeClassHandle(toType.registeredClass.instancePrototype,{ptrType:toType,ptr:dp})}}function attachFinalizer(handle){if("undefined"===typeof FinalizationRegistry){attachFinalizer=handle=>handle;return handle}finalizationRegistry=new FinalizationRegistry(info=>{releaseClassHandle(info.$$)});attachFinalizer=handle=>{var $$=handle.$$;var hasSmartPtr=!!$$.smartPtr;if(hasSmartPtr){var info={$$:$$};finalizationRegistry.register(handle,info,handle)}return handle};detachFinalizer=handle=>finalizationRegistry.unregister(handle);return attachFinalizer(handle)}function __embind_create_inheriting_constructor(constructorName,wrapperType,properties){constructorName=readLatin1String(constructorName);wrapperType=requireRegisteredType(wrapperType,"wrapper");properties=Emval.toValue(properties);var arraySlice=[].slice;var registeredClass=wrapperType.registeredClass;var wrapperPrototype=registeredClass.instancePrototype;var baseClass=registeredClass.baseClass;var baseClassPrototype=baseClass.instancePrototype;var baseConstructor=registeredClass.baseClass.constructor;var ctor=createNamedFunction(constructorName,function(){registeredClass.baseClass.pureVirtualFunctions.forEach(function(name){if(this[name]===baseClassPrototype[name]){throw new PureVirtualError(`Pure virtual function ${name} must be implemented in JavaScript`)}}.bind(this));Object.defineProperty(this,"__parent",{value:wrapperPrototype});this["__construct"].apply(this,arraySlice.call(arguments))});wrapperPrototype["__construct"]=function __construct(){if(this===wrapperPrototype){throwBindingError("Pass correct 'this' to __construct")}var inner=baseConstructor["implement"].apply(undefined,[this].concat(arraySlice.call(arguments)));detachFinalizer(inner);var $$=inner.$$;inner["notifyOnDestruction"]();$$.preservePointerOnDelete=true;Object.defineProperties(this,{$$:{value:$$}});attachFinalizer(this);registerInheritedInstance(registeredClass,$$.ptr,this)};wrapperPrototype["__destruct"]=function __destruct(){if(this===wrapperPrototype){throwBindingError("Pass correct 'this' to __destruct")}detachFinalizer(this);unregisterInheritedInstance(registeredClass,this.$$.ptr)};ctor.prototype=Object.create(wrapperPrototype);for(var p in properties){ctor.prototype[p]=properties[p]}return Emval.toHandle(ctor)}function __embind_register_bigint(primitiveType,name,size,minRange,maxRange){}function getShiftFromSize(size){switch(size){case 1:return 0;case 2:return 1;case 4:return 2;case 8:return 3;default:throw new TypeError(`Unknown type size: ${size}`)}}var awaitingDependencies={};var typeDependencies={};function whenDependentTypesAreResolved(myTypes,dependentTypes,getTypeConverters){myTypes.forEach(function(type){typeDependencies[type]=dependentTypes});function onComplete(typeConverters){var myTypeConverters=getTypeConverters(typeConverters);if(myTypeConverters.length!==myTypes.length){throwInternalError("Mismatched type converter count")}for(var i=0;i{if(registeredTypes.hasOwnProperty(dt)){typeConverters[i]=registeredTypes[dt]}else{unregisteredTypes.push(dt);if(!awaitingDependencies.hasOwnProperty(dt)){awaitingDependencies[dt]=[]}awaitingDependencies[dt].push(()=>{typeConverters[i]=registeredTypes[dt];++registered;if(registered===unregisteredTypes.length){onComplete(typeConverters)}})}});if(0===unregisteredTypes.length){onComplete(typeConverters)}}function registerType(rawType,registeredInstance,options={}){if(!("argPackAdvance"in registeredInstance)){throw new TypeError("registerType registeredInstance requires argPackAdvance")}var name=registeredInstance.name;if(!rawType){throwBindingError(`type "${name}" must have a positive integer typeid pointer`)}if(registeredTypes.hasOwnProperty(rawType)){if(options.ignoreDuplicateRegistrations){return}else{throwBindingError(`Cannot register type '${name}' twice`)}}registeredTypes[rawType]=registeredInstance;delete typeDependencies[rawType];if(awaitingDependencies.hasOwnProperty(rawType)){var callbacks=awaitingDependencies[rawType];delete awaitingDependencies[rawType];callbacks.forEach(cb=>cb())}}function __embind_register_bool(rawType,name,size,trueValue,falseValue){var shift=getShiftFromSize(size);name=readLatin1String(name);registerType(rawType,{name:name,"fromWireType":function(wt){return!!wt},"toWireType":function(destructors,o){return o?trueValue:falseValue},"argPackAdvance":8,"readValueFromPointer":function(pointer){var heap;if(size===1){heap=HEAP8}else if(size===2){heap=HEAP16}else if(size===4){heap=HEAP32}else{throw new TypeError("Unknown boolean type size: "+name)}return this["fromWireType"](heap[pointer>>shift])},destructorFunction:null})}function ClassHandle_isAliasOf(other){if(!(this instanceof ClassHandle)){return false}if(!(other instanceof ClassHandle)){return false}var leftClass=this.$$.ptrType.registeredClass;var left=this.$$.ptr;var rightClass=other.$$.ptrType.registeredClass;var right=other.$$.ptr;while(leftClass.baseClass){left=leftClass.upcast(left);leftClass=leftClass.baseClass}while(rightClass.baseClass){right=rightClass.upcast(right);rightClass=rightClass.baseClass}return leftClass===rightClass&&left===right}function shallowCopyInternalPointer(o){return{count:o.count,deleteScheduled:o.deleteScheduled,preservePointerOnDelete:o.preservePointerOnDelete,ptr:o.ptr,ptrType:o.ptrType,smartPtr:o.smartPtr,smartPtrType:o.smartPtrType}}function throwInstanceAlreadyDeleted(obj){function getInstanceTypeName(handle){return handle.$$.ptrType.registeredClass.name}throwBindingError(getInstanceTypeName(obj)+" instance already deleted")}function ClassHandle_clone(){if(!this.$$.ptr){throwInstanceAlreadyDeleted(this)}if(this.$$.preservePointerOnDelete){this.$$.count.value+=1;return this}else{var clone=attachFinalizer(Object.create(Object.getPrototypeOf(this),{$$:{value:shallowCopyInternalPointer(this.$$)}}));clone.$$.count.value+=1;clone.$$.deleteScheduled=false;return clone}}function ClassHandle_delete(){if(!this.$$.ptr){throwInstanceAlreadyDeleted(this)}if(this.$$.deleteScheduled&&!this.$$.preservePointerOnDelete){throwBindingError("Object already scheduled for deletion")}detachFinalizer(this);releaseClassHandle(this.$$);if(!this.$$.preservePointerOnDelete){this.$$.smartPtr=undefined;this.$$.ptr=undefined}}function ClassHandle_isDeleted(){return!this.$$.ptr}function ClassHandle_deleteLater(){if(!this.$$.ptr){throwInstanceAlreadyDeleted(this)}if(this.$$.deleteScheduled&&!this.$$.preservePointerOnDelete){throwBindingError("Object already scheduled for deletion")}deletionQueue.push(this);if(deletionQueue.length===1&&delayFunction){delayFunction(flushPendingDeletes)}this.$$.deleteScheduled=true;return this}function init_ClassHandle(){ClassHandle.prototype["isAliasOf"]=ClassHandle_isAliasOf;ClassHandle.prototype["clone"]=ClassHandle_clone;ClassHandle.prototype["delete"]=ClassHandle_delete;ClassHandle.prototype["isDeleted"]=ClassHandle_isDeleted;ClassHandle.prototype["deleteLater"]=ClassHandle_deleteLater}function ClassHandle(){}function ensureOverloadTable(proto,methodName,humanName){if(undefined===proto[methodName].overloadTable){var prevFunc=proto[methodName];proto[methodName]=function(){if(!proto[methodName].overloadTable.hasOwnProperty(arguments.length)){throwBindingError(`Function '${humanName}' called with an invalid number of arguments (${arguments.length}) - expects one of (${proto[methodName].overloadTable})!`)}return proto[methodName].overloadTable[arguments.length].apply(this,arguments)};proto[methodName].overloadTable=[];proto[methodName].overloadTable[prevFunc.argCount]=prevFunc}}function exposePublicSymbol(name,value,numArguments){if(Module.hasOwnProperty(name)){if(undefined===numArguments||undefined!==Module[name].overloadTable&&undefined!==Module[name].overloadTable[numArguments]){throwBindingError(`Cannot register public name '${name}' twice`)}ensureOverloadTable(Module,name,name);if(Module.hasOwnProperty(numArguments)){throwBindingError(`Cannot register multiple overloads of a function with the same number of arguments (${numArguments})!`)}Module[name].overloadTable[numArguments]=value}else{Module[name]=value;if(undefined!==numArguments){Module[name].numArguments=numArguments}}}function RegisteredClass(name,constructor,instancePrototype,rawDestructor,baseClass,getActualType,upcast,downcast){this.name=name;this.constructor=constructor;this.instancePrototype=instancePrototype;this.rawDestructor=rawDestructor;this.baseClass=baseClass;this.getActualType=getActualType;this.upcast=upcast;this.downcast=downcast;this.pureVirtualFunctions=[]}function upcastPointer(ptr,ptrClass,desiredClass){while(ptrClass!==desiredClass){if(!ptrClass.upcast){throwBindingError(`Expected null or instance of ${desiredClass.name}, got an instance of ${ptrClass.name}`)}ptr=ptrClass.upcast(ptr);ptrClass=ptrClass.baseClass}return ptr}function constNoSmartPtrRawPointerToWireType(destructors,handle){if(handle===null){if(this.isReference){throwBindingError(`null is not a valid ${this.name}`)}return 0}if(!handle.$$){throwBindingError(`Cannot pass "${embindRepr(handle)}" as a ${this.name}`)}if(!handle.$$.ptr){throwBindingError(`Cannot pass deleted object as a pointer of type ${this.name}`)}var handleClass=handle.$$.ptrType.registeredClass;var ptr=upcastPointer(handle.$$.ptr,handleClass,this.registeredClass);return ptr}function genericPointerToWireType(destructors,handle){var ptr;if(handle===null){if(this.isReference){throwBindingError(`null is not a valid ${this.name}`)}if(this.isSmartPointer){ptr=this.rawConstructor();if(destructors!==null){destructors.push(this.rawDestructor,ptr)}return ptr}else{return 0}}if(!handle.$$){throwBindingError(`Cannot pass "${embindRepr(handle)}" as a ${this.name}`)}if(!handle.$$.ptr){throwBindingError(`Cannot pass deleted object as a pointer of type ${this.name}`)}if(!this.isConst&&handle.$$.ptrType.isConst){throwBindingError(`Cannot convert argument of type ${handle.$$.smartPtrType?handle.$$.smartPtrType.name:handle.$$.ptrType.name} to parameter type ${this.name}`)}var handleClass=handle.$$.ptrType.registeredClass;ptr=upcastPointer(handle.$$.ptr,handleClass,this.registeredClass);if(this.isSmartPointer){if(undefined===handle.$$.smartPtr){throwBindingError("Passing raw pointer to smart pointer is illegal")}switch(this.sharingPolicy){case 0:if(handle.$$.smartPtrType===this){ptr=handle.$$.smartPtr}else{throwBindingError(`Cannot convert argument of type ${handle.$$.smartPtrType?handle.$$.smartPtrType.name:handle.$$.ptrType.name} to parameter type ${this.name}`)}break;case 1:ptr=handle.$$.smartPtr;break;case 2:if(handle.$$.smartPtrType===this){ptr=handle.$$.smartPtr}else{var clonedHandle=handle["clone"]();ptr=this.rawShare(ptr,Emval.toHandle(function(){clonedHandle["delete"]()}));if(destructors!==null){destructors.push(this.rawDestructor,ptr)}}break;default:throwBindingError("Unsupporting sharing policy")}}return ptr}function nonConstNoSmartPtrRawPointerToWireType(destructors,handle){if(handle===null){if(this.isReference){throwBindingError(`null is not a valid ${this.name}`)}return 0}if(!handle.$$){throwBindingError(`Cannot pass "${embindRepr(handle)}" as a ${this.name}`)}if(!handle.$$.ptr){throwBindingError(`Cannot pass deleted object as a pointer of type ${this.name}`)}if(handle.$$.ptrType.isConst){throwBindingError(`Cannot convert argument of type ${handle.$$.ptrType.name} to parameter type ${this.name}`)}var handleClass=handle.$$.ptrType.registeredClass;var ptr=upcastPointer(handle.$$.ptr,handleClass,this.registeredClass);return ptr}function simpleReadValueFromPointer(pointer){return this["fromWireType"](HEAP32[pointer>>2])}function RegisteredPointer_getPointee(ptr){if(this.rawGetPointee){ptr=this.rawGetPointee(ptr)}return ptr}function RegisteredPointer_destructor(ptr){if(this.rawDestructor){this.rawDestructor(ptr)}}function RegisteredPointer_deleteObject(handle){if(handle!==null){handle["delete"]()}}function init_RegisteredPointer(){RegisteredPointer.prototype.getPointee=RegisteredPointer_getPointee;RegisteredPointer.prototype.destructor=RegisteredPointer_destructor;RegisteredPointer.prototype["argPackAdvance"]=8;RegisteredPointer.prototype["readValueFromPointer"]=simpleReadValueFromPointer;RegisteredPointer.prototype["deleteObject"]=RegisteredPointer_deleteObject;RegisteredPointer.prototype["fromWireType"]=RegisteredPointer_fromWireType}function RegisteredPointer(name,registeredClass,isReference,isConst,isSmartPointer,pointeeType,sharingPolicy,rawGetPointee,rawConstructor,rawShare,rawDestructor){this.name=name;this.registeredClass=registeredClass;this.isReference=isReference;this.isConst=isConst;this.isSmartPointer=isSmartPointer;this.pointeeType=pointeeType;this.sharingPolicy=sharingPolicy;this.rawGetPointee=rawGetPointee;this.rawConstructor=rawConstructor;this.rawShare=rawShare;this.rawDestructor=rawDestructor;if(!isSmartPointer&®isteredClass.baseClass===undefined){if(isConst){this["toWireType"]=constNoSmartPtrRawPointerToWireType;this.destructorFunction=null}else{this["toWireType"]=nonConstNoSmartPtrRawPointerToWireType;this.destructorFunction=null}}else{this["toWireType"]=genericPointerToWireType}}function replacePublicSymbol(name,value,numArguments){if(!Module.hasOwnProperty(name)){throwInternalError("Replacing nonexistant public symbol")}if(undefined!==Module[name].overloadTable&&undefined!==numArguments){Module[name].overloadTable[numArguments]=value}else{Module[name]=value;Module[name].argCount=numArguments}}function dynCallLegacy(sig,ptr,args){var f=Module["dynCall_"+sig];return args&&args.length?f.apply(null,[ptr].concat(args)):f.call(null,ptr)}var wasmTableMirror=[];function getWasmTableEntry(funcPtr){var func=wasmTableMirror[funcPtr];if(!func){if(funcPtr>=wasmTableMirror.length)wasmTableMirror.length=funcPtr+1;wasmTableMirror[funcPtr]=func=wasmTable.get(funcPtr)}return func}function dynCall(sig,ptr,args){if(sig.includes("j")){return dynCallLegacy(sig,ptr,args)}var rtn=getWasmTableEntry(ptr).apply(null,args);return rtn}function getDynCaller(sig,ptr){var argCache=[];return function(){argCache.length=0;Object.assign(argCache,arguments);return dynCall(sig,ptr,argCache)}}function embind__requireFunction(signature,rawFunction){signature=readLatin1String(signature);function makeDynCaller(){if(signature.includes("j")){return getDynCaller(signature,rawFunction)}return getWasmTableEntry(rawFunction)}var fp=makeDynCaller();if(typeof fp!="function"){throwBindingError(`unknown function pointer with signature ${signature}: ${rawFunction}`)}return fp}var UnboundTypeError=undefined;function throwUnboundTypeError(message,types){var unboundTypes=[];var seen={};function visit(type){if(seen[type]){return}if(registeredTypes[type]){return}if(typeDependencies[type]){typeDependencies[type].forEach(visit);return}unboundTypes.push(type);seen[type]=true}types.forEach(visit);throw new UnboundTypeError(`${message}: `+unboundTypes.map(getTypeName).join([", "]))}function __embind_register_class(rawType,rawPointerType,rawConstPointerType,baseClassRawType,getActualTypeSignature,getActualType,upcastSignature,upcast,downcastSignature,downcast,name,destructorSignature,rawDestructor){name=readLatin1String(name);getActualType=embind__requireFunction(getActualTypeSignature,getActualType);if(upcast){upcast=embind__requireFunction(upcastSignature,upcast)}if(downcast){downcast=embind__requireFunction(downcastSignature,downcast)}rawDestructor=embind__requireFunction(destructorSignature,rawDestructor);var legalFunctionName=makeLegalFunctionName(name);exposePublicSymbol(legalFunctionName,function(){throwUnboundTypeError(`Cannot construct ${name} due to unbound types`,[baseClassRawType])});whenDependentTypesAreResolved([rawType,rawPointerType,rawConstPointerType],baseClassRawType?[baseClassRawType]:[],function(base){base=base[0];var baseClass;var basePrototype;if(baseClassRawType){baseClass=base.registeredClass;basePrototype=baseClass.instancePrototype}else{basePrototype=ClassHandle.prototype}var constructor=createNamedFunction(legalFunctionName,function(){if(Object.getPrototypeOf(this)!==instancePrototype){throw new BindingError("Use 'new' to construct "+name)}if(undefined===registeredClass.constructor_body){throw new BindingError(name+" has no accessible constructor")}var body=registeredClass.constructor_body[arguments.length];if(undefined===body){throw new BindingError(`Tried to invoke ctor of ${name} with invalid number of parameters (${arguments.length}) - expected (${Object.keys(registeredClass.constructor_body).toString()}) parameters instead!`)}return body.apply(this,arguments)});var instancePrototype=Object.create(basePrototype,{constructor:{value:constructor}});constructor.prototype=instancePrototype;var registeredClass=new RegisteredClass(name,constructor,instancePrototype,rawDestructor,baseClass,getActualType,upcast,downcast);if(registeredClass.baseClass){if(registeredClass.baseClass.__derivedClasses===undefined){registeredClass.baseClass.__derivedClasses=[]}registeredClass.baseClass.__derivedClasses.push(registeredClass)}var referenceConverter=new RegisteredPointer(name,registeredClass,true,false,false);var pointerConverter=new RegisteredPointer(name+"*",registeredClass,false,false,false);var constPointerConverter=new RegisteredPointer(name+" const*",registeredClass,false,true,false);registeredPointers[rawType]={pointerType:pointerConverter,constPointerType:constPointerConverter};replacePublicSymbol(legalFunctionName,constructor);return[referenceConverter,pointerConverter,constPointerConverter]})}function runDestructors(destructors){while(destructors.length){var ptr=destructors.pop();var del=destructors.pop();del(ptr)}}function craftInvokerFunction(humanName,argTypes,classType,cppInvokerFunc,cppTargetFunc,isAsync){var argCount=argTypes.length;if(argCount<2){throwBindingError("argTypes array size mismatch! Must at least get return value and 'this' types!")}var isClassMethodFunc=argTypes[1]!==null&&classType!==null;var needsDestructorStack=false;for(var i=1;i>2])}return array}function __embind_register_class_class_function(rawClassType,methodName,argCount,rawArgTypesAddr,invokerSignature,rawInvoker,fn,isAsync){var rawArgTypes=heap32VectorToArray(argCount,rawArgTypesAddr);methodName=readLatin1String(methodName);rawInvoker=embind__requireFunction(invokerSignature,rawInvoker);whenDependentTypesAreResolved([],[rawClassType],function(classType){classType=classType[0];var humanName=`${classType.name}.${methodName}`;function unboundTypesHandler(){throwUnboundTypeError(`Cannot call ${humanName} due to unbound types`,rawArgTypes)}if(methodName.startsWith("@@")){methodName=Symbol[methodName.substring(2)]}var proto=classType.registeredClass.constructor;if(undefined===proto[methodName]){unboundTypesHandler.argCount=argCount-1;proto[methodName]=unboundTypesHandler}else{ensureOverloadTable(proto,methodName,humanName);proto[methodName].overloadTable[argCount-1]=unboundTypesHandler}whenDependentTypesAreResolved([],rawArgTypes,function(argTypes){var invokerArgsArray=[argTypes[0],null].concat(argTypes.slice(1));var func=craftInvokerFunction(humanName,invokerArgsArray,null,rawInvoker,fn,isAsync);if(undefined===proto[methodName].overloadTable){func.argCount=argCount-1;proto[methodName]=func}else{proto[methodName].overloadTable[argCount-1]=func}if(classType.registeredClass.__derivedClasses){for(const derivedClass of classType.registeredClass.__derivedClasses){if(!derivedClass.constructor.hasOwnProperty(methodName)){derivedClass.constructor[methodName]=func}}}return[]});return[]})}function __embind_register_class_function(rawClassType,methodName,argCount,rawArgTypesAddr,invokerSignature,rawInvoker,context,isPureVirtual,isAsync){var rawArgTypes=heap32VectorToArray(argCount,rawArgTypesAddr);methodName=readLatin1String(methodName);rawInvoker=embind__requireFunction(invokerSignature,rawInvoker);whenDependentTypesAreResolved([],[rawClassType],function(classType){classType=classType[0];var humanName=`${classType.name}.${methodName}`;if(methodName.startsWith("@@")){methodName=Symbol[methodName.substring(2)]}if(isPureVirtual){classType.registeredClass.pureVirtualFunctions.push(methodName)}function unboundTypesHandler(){throwUnboundTypeError(`Cannot call ${humanName} due to unbound types`,rawArgTypes)}var proto=classType.registeredClass.instancePrototype;var method=proto[methodName];if(undefined===method||undefined===method.overloadTable&&method.className!==classType.name&&method.argCount===argCount-2){unboundTypesHandler.argCount=argCount-2;unboundTypesHandler.className=classType.name;proto[methodName]=unboundTypesHandler}else{ensureOverloadTable(proto,methodName,humanName);proto[methodName].overloadTable[argCount-2]=unboundTypesHandler}whenDependentTypesAreResolved([],rawArgTypes,function(argTypes){var memberFunction=craftInvokerFunction(humanName,argTypes,classType,rawInvoker,context,isAsync);if(undefined===proto[methodName].overloadTable){memberFunction.argCount=argCount-2;proto[methodName]=memberFunction}else{proto[methodName].overloadTable[argCount-2]=memberFunction}return[]});return[]})}function __emval_decref(handle){if(handle>=emval_handles.reserved&&0===--emval_handles.get(handle).refcount){emval_handles.free(handle)}}function __embind_register_emval(rawType,name){name=readLatin1String(name);registerType(rawType,{name:name,"fromWireType":function(handle){var rv=Emval.toValue(handle);__emval_decref(handle);return rv},"toWireType":function(destructors,value){return Emval.toHandle(value)},"argPackAdvance":8,"readValueFromPointer":simpleReadValueFromPointer,destructorFunction:null})}function embindRepr(v){if(v===null){return"null"}var t=typeof v;if(t==="object"||t==="array"||t==="function"){return v.toString()}else{return""+v}}function floatReadValueFromPointer(name,shift){switch(shift){case 2:return function(pointer){return this["fromWireType"](HEAPF32[pointer>>2])};case 3:return function(pointer){return this["fromWireType"](HEAPF64[pointer>>3])};default:throw new TypeError("Unknown float type: "+name)}}function __embind_register_float(rawType,name,size){var shift=getShiftFromSize(size);name=readLatin1String(name);registerType(rawType,{name:name,"fromWireType":function(value){return value},"toWireType":function(destructors,value){return value},"argPackAdvance":8,"readValueFromPointer":floatReadValueFromPointer(name,shift),destructorFunction:null})}function __embind_register_function(name,argCount,rawArgTypesAddr,signature,rawInvoker,fn,isAsync){var argTypes=heap32VectorToArray(argCount,rawArgTypesAddr);name=readLatin1String(name);rawInvoker=embind__requireFunction(signature,rawInvoker);exposePublicSymbol(name,function(){throwUnboundTypeError(`Cannot call ${name} due to unbound types`,argTypes)},argCount-1);whenDependentTypesAreResolved([],argTypes,function(argTypes){var invokerArgsArray=[argTypes[0],null].concat(argTypes.slice(1));replacePublicSymbol(name,craftInvokerFunction(name,invokerArgsArray,null,rawInvoker,fn,isAsync),argCount-1);return[]})}function integerReadValueFromPointer(name,shift,signed){switch(shift){case 0:return signed?function readS8FromPointer(pointer){return HEAP8[pointer]}:function readU8FromPointer(pointer){return HEAPU8[pointer]};case 1:return signed?function readS16FromPointer(pointer){return HEAP16[pointer>>1]}:function readU16FromPointer(pointer){return HEAPU16[pointer>>1]};case 2:return signed?function readS32FromPointer(pointer){return HEAP32[pointer>>2]}:function readU32FromPointer(pointer){return HEAPU32[pointer>>2]};default:throw new TypeError("Unknown integer type: "+name)}}function __embind_register_integer(primitiveType,name,size,minRange,maxRange){name=readLatin1String(name);if(maxRange===-1){maxRange=4294967295}var shift=getShiftFromSize(size);var fromWireType=value=>value;if(minRange===0){var bitshift=32-8*size;fromWireType=value=>value<>>bitshift}var isUnsignedType=name.includes("unsigned");var checkAssertions=(value,toTypeName)=>{};var toWireType;if(isUnsignedType){toWireType=function(destructors,value){checkAssertions(value,this.name);return value>>>0}}else{toWireType=function(destructors,value){checkAssertions(value,this.name);return value}}registerType(primitiveType,{name:name,"fromWireType":fromWireType,"toWireType":toWireType,"argPackAdvance":8,"readValueFromPointer":integerReadValueFromPointer(name,shift,minRange!==0),destructorFunction:null})}function __embind_register_memory_view(rawType,dataTypeIndex,name){var typeMapping=[Int8Array,Uint8Array,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array];var TA=typeMapping[dataTypeIndex];function decodeMemoryView(handle){handle=handle>>2;var heap=HEAPU32;var size=heap[handle];var data=heap[handle+1];return new TA(heap.buffer,data,size)}name=readLatin1String(name);registerType(rawType,{name:name,"fromWireType":decodeMemoryView,"argPackAdvance":8,"readValueFromPointer":decodeMemoryView},{ignoreDuplicateRegistrations:true})}function stringToUTF8Array(str,heap,outIdx,maxBytesToWrite){if(!(maxBytesToWrite>0))return 0;var startIdx=outIdx;var endIdx=outIdx+maxBytesToWrite-1;for(var i=0;i=55296&&u<=57343){var u1=str.charCodeAt(++i);u=65536+((u&1023)<<10)|u1&1023}if(u<=127){if(outIdx>=endIdx)break;heap[outIdx++]=u}else if(u<=2047){if(outIdx+1>=endIdx)break;heap[outIdx++]=192|u>>6;heap[outIdx++]=128|u&63}else if(u<=65535){if(outIdx+2>=endIdx)break;heap[outIdx++]=224|u>>12;heap[outIdx++]=128|u>>6&63;heap[outIdx++]=128|u&63}else{if(outIdx+3>=endIdx)break;heap[outIdx++]=240|u>>18;heap[outIdx++]=128|u>>12&63;heap[outIdx++]=128|u>>6&63;heap[outIdx++]=128|u&63}}heap[outIdx]=0;return outIdx-startIdx}function stringToUTF8(str,outPtr,maxBytesToWrite){return stringToUTF8Array(str,HEAPU8,outPtr,maxBytesToWrite)}function lengthBytesUTF8(str){var len=0;for(var i=0;i=55296&&c<=57343){len+=4;++i}else{len+=3}}return len}var UTF8Decoder=typeof TextDecoder!="undefined"?new TextDecoder("utf8"):undefined;function UTF8ArrayToString(heapOrArray,idx,maxBytesToRead){var endIdx=idx+maxBytesToRead;var endPtr=idx;while(heapOrArray[endPtr]&&!(endPtr>=endIdx))++endPtr;if(endPtr-idx>16&&heapOrArray.buffer&&UTF8Decoder){return UTF8Decoder.decode(heapOrArray.subarray(idx,endPtr))}var str="";while(idx>10,56320|ch&1023)}}return str}function UTF8ToString(ptr,maxBytesToRead){return ptr?UTF8ArrayToString(HEAPU8,ptr,maxBytesToRead):""}function __embind_register_std_string(rawType,name){name=readLatin1String(name);var stdStringIsUTF8=name==="std::string";registerType(rawType,{name:name,"fromWireType":function(value){var length=HEAPU32[value>>2];var payload=value+4;var str;if(stdStringIsUTF8){var decodeStartPtr=payload;for(var i=0;i<=length;++i){var currentBytePtr=payload+i;if(i==length||HEAPU8[currentBytePtr]==0){var maxRead=currentBytePtr-decodeStartPtr;var stringSegment=UTF8ToString(decodeStartPtr,maxRead);if(str===undefined){str=stringSegment}else{str+=String.fromCharCode(0);str+=stringSegment}decodeStartPtr=currentBytePtr+1}}}else{var a=new Array(length);for(var i=0;i>2]=length;if(stdStringIsUTF8&&valueIsOfTypeString){stringToUTF8(value,ptr,length+1)}else{if(valueIsOfTypeString){for(var i=0;i255){_free(ptr);throwBindingError("String has UTF-16 code units that do not fit in 8 bits")}HEAPU8[ptr+i]=charCode}}else{for(var i=0;i>1;var maxIdx=idx+maxBytesToRead/2;while(!(idx>=maxIdx)&&HEAPU16[idx])++idx;endPtr=idx<<1;if(endPtr-ptr>32&&UTF16Decoder)return UTF16Decoder.decode(HEAPU8.subarray(ptr,endPtr));var str="";for(var i=0;!(i>=maxBytesToRead/2);++i){var codeUnit=HEAP16[ptr+i*2>>1];if(codeUnit==0)break;str+=String.fromCharCode(codeUnit)}return str}function stringToUTF16(str,outPtr,maxBytesToWrite){if(maxBytesToWrite===undefined){maxBytesToWrite=2147483647}if(maxBytesToWrite<2)return 0;maxBytesToWrite-=2;var startPtr=outPtr;var numCharsToWrite=maxBytesToWrite>1]=codeUnit;outPtr+=2}HEAP16[outPtr>>1]=0;return outPtr-startPtr}function lengthBytesUTF16(str){return str.length*2}function UTF32ToString(ptr,maxBytesToRead){var i=0;var str="";while(!(i>=maxBytesToRead/4)){var utf32=HEAP32[ptr+i*4>>2];if(utf32==0)break;++i;if(utf32>=65536){var ch=utf32-65536;str+=String.fromCharCode(55296|ch>>10,56320|ch&1023)}else{str+=String.fromCharCode(utf32)}}return str}function stringToUTF32(str,outPtr,maxBytesToWrite){if(maxBytesToWrite===undefined){maxBytesToWrite=2147483647}if(maxBytesToWrite<4)return 0;var startPtr=outPtr;var endPtr=startPtr+maxBytesToWrite-4;for(var i=0;i=55296&&codeUnit<=57343){var trailSurrogate=str.charCodeAt(++i);codeUnit=65536+((codeUnit&1023)<<10)|trailSurrogate&1023}HEAP32[outPtr>>2]=codeUnit;outPtr+=4;if(outPtr+4>endPtr)break}HEAP32[outPtr>>2]=0;return outPtr-startPtr}function lengthBytesUTF32(str){var len=0;for(var i=0;i=55296&&codeUnit<=57343)++i;len+=4}return len}function __embind_register_std_wstring(rawType,charSize,name){name=readLatin1String(name);var decodeString,encodeString,getHeap,lengthBytesUTF,shift;if(charSize===2){decodeString=UTF16ToString;encodeString=stringToUTF16;lengthBytesUTF=lengthBytesUTF16;getHeap=()=>HEAPU16;shift=1}else if(charSize===4){decodeString=UTF32ToString;encodeString=stringToUTF32;lengthBytesUTF=lengthBytesUTF32;getHeap=()=>HEAPU32;shift=2}registerType(rawType,{name:name,"fromWireType":function(value){var length=HEAPU32[value>>2];var HEAP=getHeap();var str;var decodeStartPtr=value+4;for(var i=0;i<=length;++i){var currentBytePtr=value+4+i*charSize;if(i==length||HEAP[currentBytePtr>>shift]==0){var maxReadBytes=currentBytePtr-decodeStartPtr;var stringSegment=decodeString(decodeStartPtr,maxReadBytes);if(str===undefined){str=stringSegment}else{str+=String.fromCharCode(0);str+=stringSegment}decodeStartPtr=currentBytePtr+charSize}}_free(value);return str},"toWireType":function(destructors,value){if(!(typeof value=="string")){throwBindingError(`Cannot pass non-string to C++ string type ${name}`)}var length=lengthBytesUTF(value);var ptr=_malloc(4+length+charSize);HEAPU32[ptr>>2]=length>>shift;encodeString(value,ptr+4,length+charSize);if(destructors!==null){destructors.push(_free,ptr)}return ptr},"argPackAdvance":8,"readValueFromPointer":simpleReadValueFromPointer,destructorFunction:function(ptr){_free(ptr)}})}function __embind_register_void(rawType,name){name=readLatin1String(name);registerType(rawType,{isVoid:true,name:name,"argPackAdvance":0,"fromWireType":function(){return undefined},"toWireType":function(destructors,o){return undefined}})}var emval_symbols={};function getStringOrSymbol(address){var symbol=emval_symbols[address];if(symbol===undefined){return readLatin1String(address)}return symbol}var emval_methodCallers=[];function __emval_call_void_method(caller,handle,methodName,args){caller=emval_methodCallers[caller];handle=Emval.toValue(handle);methodName=getStringOrSymbol(methodName);caller(handle,methodName,null,args)}function emval_addMethodCaller(caller){var id=emval_methodCallers.length;emval_methodCallers.push(caller);return id}function emval_lookupTypes(argCount,argTypes){var a=new Array(argCount);for(var i=0;i>2],"parameter "+i)}return a}var emval_registeredMethods=[];function __emval_get_method_caller(argCount,argTypes){var types=emval_lookupTypes(argCount,argTypes);var retType=types[0];var signatureName=retType.name+"_$"+types.slice(1).map(function(t){return t.name}).join("_")+"$";var returnId=emval_registeredMethods[signatureName];if(returnId!==undefined){return returnId}var argN=new Array(argCount-1);var invokerFunction=(handle,name,destructors,args)=>{var offset=0;for(var i=0;i4){emval_handles.get(handle).refcount+=1}}function _abort(){abort("")}function _emscripten_memcpy_big(dest,src,num){HEAPU8.copyWithin(dest,src,src+num)}function getHeapMax(){return 2147483648}function emscripten_realloc_buffer(size){var b=wasmMemory.buffer;var pages=size-b.byteLength+65535>>>16;try{wasmMemory.grow(pages);updateMemoryViews();return 1}catch(e){}}function _emscripten_resize_heap(requestedSize){var oldSize=HEAPU8.length;requestedSize=requestedSize>>>0;var maxHeapSize=getHeapMax();if(requestedSize>maxHeapSize){return false}var alignUp=(x,multiple)=>x+(multiple-x%multiple)%multiple;for(var cutDown=1;cutDown<=4;cutDown*=2){var overGrownHeapSize=oldSize*(1+.2/cutDown);overGrownHeapSize=Math.min(overGrownHeapSize,requestedSize+100663296);var newSize=Math.min(maxHeapSize,alignUp(Math.max(requestedSize,overGrownHeapSize),65536));var replacement=emscripten_realloc_buffer(newSize);if(replacement){return true}}return false}BindingError=Module["BindingError"]=extendError(Error,"BindingError");init_emval();PureVirtualError=Module["PureVirtualError"]=extendError(Error,"PureVirtualError");embind_init_charCodes();init_embind();InternalError=Module["InternalError"]=extendError(Error,"InternalError");init_ClassHandle();init_RegisteredPointer();UnboundTypeError=Module["UnboundTypeError"]=extendError(Error,"UnboundTypeError");var wasmImports={"k":__embind_create_inheriting_constructor,"p":__embind_register_bigint,"t":__embind_register_bool,"i":__embind_register_class,"h":__embind_register_class_class_function,"g":__embind_register_class_function,"s":__embind_register_emval,"n":__embind_register_float,"a":__embind_register_function,"f":__embind_register_integer,"b":__embind_register_memory_view,"m":__embind_register_std_string,"l":__embind_register_std_wstring,"u":__embind_register_void,"c":__emval_call_void_method,"e":__emval_decref,"d":__emval_get_method_caller,"o":__emval_incref,"j":_abort,"r":_emscripten_memcpy_big,"q":_emscripten_resize_heap};var asm=createWasm();var ___wasm_call_ctors=function(){return(___wasm_call_ctors=Module["asm"]["w"]).apply(null,arguments)};var _malloc=function(){return(_malloc=Module["asm"]["x"]).apply(null,arguments)};var _free=function(){return(_free=Module["asm"]["y"]).apply(null,arguments)};var ___getTypeName=function(){return(___getTypeName=Module["asm"]["A"]).apply(null,arguments)};var __embind_initialize_bindings=Module["__embind_initialize_bindings"]=function(){return(__embind_initialize_bindings=Module["__embind_initialize_bindings"]=Module["asm"]["B"]).apply(null,arguments)};var ___errno_location=function(){return(___errno_location=Module["asm"]["__errno_location"]).apply(null,arguments)};var calledRun;dependenciesFulfilled=function runCaller(){if(!calledRun)run();if(!calledRun)dependenciesFulfilled=runCaller};function run(){if(runDependencies>0){return}preRun();if(runDependencies>0){return}function doRun(){if(calledRun)return;calledRun=true;Module["calledRun"]=true;if(ABORT)return;initRuntime();readyPromiseResolve(Module);if(Module["onRuntimeInitialized"])Module["onRuntimeInitialized"]();postRun()}if(Module["setStatus"]){Module["setStatus"]("Running...");setTimeout(function(){setTimeout(function(){Module["setStatus"]("")},1);doRun()},1)}else{doRun()}}if(Module["preInit"]){if(typeof Module["preInit"]=="function")Module["preInit"]=[Module["preInit"]];while(Module["preInit"].length>0){Module["preInit"].pop()()}}run(); + + + return Bullet.ready +} + +); +})(); +if (typeof exports === 'object' && typeof module === 'object') + module.exports = Bullet; +else if (typeof define === 'function' && define['amd']) + define([], function() { return Bullet; }); +else if (typeof exports === 'object') + exports["Bullet"] = Bullet;