From 2e84934ac8f09867df77e0239036862daa7ce3cb Mon Sep 17 00:00:00 2001 From: bofeng Date: Mon, 4 Dec 2023 11:36:18 +0800 Subject: [PATCH] Revert "fix bullet can not work normaly at taobao_creative_app (#446)" This reverts commit 99dc2d776fce8ce84c99091aca3ea74b88d6aeff. --- emscripten/bullet/bullet.asm.js | 2 + emscripten/bullet/bullet.release.asm.js | 74 ++++++++++---------- emscripten/bullet/bullet.release.asm.js.mem | Bin 32051 -> 0 bytes emscripten/bullet/bullet.release.wasm.js | 42 +++++------ emscripten/bullet/bullet.wasm | Bin 0 -> 493437 bytes 5 files changed, 60 insertions(+), 58 deletions(-) create mode 100644 emscripten/bullet/bullet.asm.js delete mode 100644 emscripten/bullet/bullet.release.asm.js.mem create mode 100644 emscripten/bullet/bullet.wasm diff --git a/emscripten/bullet/bullet.asm.js b/emscripten/bullet/bullet.asm.js new file mode 100644 index 00000000..2f0d6cb2 --- /dev/null +++ b/emscripten/bullet/bullet.asm.js @@ -0,0 +1,2 @@ +(function(global,factory){if(typeof define==="function"&&define.amd){define("bullet",["exports"],factory)}else if(typeof exports!=="undefined"){factory(exports)}else{var mod={exports:{}};factory(mod.exports);global.bullet=mod.exports}})(typeof globalThis!=="undefined"?globalThis:typeof self!=="undefined"?self:this,function(_exports){"use strict";Object.defineProperty(_exports,"__esModule",{value:true});_exports.default=void 0;//Thu Sep 07 2023 18:07:31 GMT+0800 (China Standard Time) +function instantiate(r){for(var f,o=new Uint8Array(123),i=25;0<=i;--i)o[48+i]=52+i,o[65+i]=i,o[97+i]=26+i;function a(A,e,r){for(var f,i,a=0,n=e,b=r.length,t=e+(3*b>>2)-("="==r[b-2])-("="==r[b-1]);a>4,n>2),n>2]))&&(y2[6424]=A,e=-1),0|e},function(A,e,r){A|=0,e|=0;var f,i,a,n=0,b=0,t=0;y2[12+(L2=a=L2-16|0)>>2]=r|=0,y2[8+a>>2]=e,e=y2[A+24>>2],y2[a>>2]=e,e=y2[A+20>>2]-e|0,y2[4+a>>2]=e;A:{if((0|(n=K(y2[A+56>>(b=2)],a,2)))!=(0|(t=e+r|0)))for(e=a;;){if((0|n)<=-1){if(y2[A+24>>2]=0,y2[A+16>>2]=0,y2[A+20>>2]=0,y2[A>>2]=32|y2[A>>2],2==((A=0)|b))break A;A=r-y2[e+4>>2]|0;break A}if(f=y2[e+4>>2],y2[(e=(i=f>>>0>>0)?e+8|0:e)>>2]=(f=n-(i?f:0)|0)+y2[e>>2],y2[e+4>>2]=y2[e+4>>2]-f,(0|(t=t-n|0))==(0|(n=K(y2[A+56>>2],e,b=b-i|0))))break}e=y2[A+40>>2],y2[A+24>>2]=e,y2[A+20>>2]=e,y2[A+16>>2]=e+y2[A+44>>2],A=r}return L2=16+a|0,0|A},function(A,e,r,f){var i;return L2=i=L2-16|0,A=(A=0|g(y2[(A|=0)+56>>2],0|(e|=0),0|(r|=0),255&(f|=0),8+i|0))?(y2[6424]=76==(0|A)?70:A,e=-1):(e=y2[12+i>>2],y2[8+i>>2]),L2=16+i|0,L=e,0|A},t2,k2,k2,_2,u2,B2,g2,Z2,o2,c2,u2,l2,t2,k2,k2,u2,F2,u2,Y2,o2,_2,_2,_2,_2,_2,x2,x2,_2,x2,x2,k2,function(A){y2[12+(L2-16|0)>>2]=A|=0,U()},V2,V2,O,g2,S2,g2,J2,g2,J2,g2,S2,g2,function(A,e,r){var f;return e|=0,r|=0,y2[72+(L2=f=L2-80|0)>>2]=A|=0,y2[68+f>>2]=e,y2[64+f>>2]=r,1&t(e=y2[72+f>>2],y2[68+f>>2],0)?X2[79+f|0]=1:(A=(A=y2[68+(r=f)>>2])?M2(A,4072,4120,0):0,y2[r+60>>2]=A,y2[60+f>>2]&&(y2[f>>2]=y2[60+f>>2],y2[4+f>>2]=0,y2[8+f>>2]=e,y2[12+f>>2]=-1,y2[16+f>>2]=0,y2[20+f>>2]=0,y2[24+f>>2]=0,y2[28+f>>2]=0,y2[32+f>>2]=0,y2[36+f>>2]=0,y2[40+f>>2]=0,y2[44+f>>2]=0,y2[48+f>>2]=0,X2[52+f|0]=0,X2[53+f|0]=0,X2[54+f|0]=0,y2[48+f>>2]=1,A=y2[60+f>>2],N2[y2[y2[A>>2]+28>>2]](A,f,y2[y2[64+f>>2]>>2],1),1==y2[24+f>>2])?(y2[y2[64+f>>2]>>2]=y2[16+f>>2],X2[79+f|0]=1):X2[79+f|0]=0),L2=80+f|0,1&X2[79+f|0]},function(A,e,r,f,i,a){var n;e|=0,r|=0,f|=0,i|=0,a|=0,y2[28+(L2=n=L2-32|0)>>2]=A|=0,y2[24+n>>2]=e,y2[20+n>>2]=r,y2[16+n>>2]=f,y2[12+n>>2]=i,X2[11+n|0]=a,1&t(A=y2[28+n>>2],y2[y2[24+n>>2]+8>>2],1&X2[11+n|0])&&a0(A,y2[24+n>>2],y2[20+n>>2],y2[16+n>>2],y2[12+n>>2]),L2=32+n|0},function(A,e,r,f,i){var a;e|=0,r|=0,f|=0,i|=0,y2[28+(L2=a=L2-32|0)>>2]=A|=0,y2[24+a>>2]=e,y2[20+a>>2]=r,y2[16+a>>2]=f,X2[15+a|0]=i,1&t(A=y2[28+a>>2],y2[y2[24+a>>2]+8>>2],1&X2[15+a|0])?n0(A,y2[24+a>>2],y2[20+a>>2],y2[16+a>>2]):1&t(A,y2[y2[24+a>>2]>>2],1&X2[15+a|0])&&(y2[20+a>>2]==y2[y2[24+a>>2]+20>>2]||y2[20+a>>2]==y2[y2[24+a>>2]+16>>2]?1==y2[16+a>>2]&&(y2[y2[24+a>>2]+32>>2]=1):(y2[y2[24+a>>2]+32>>2]=y2[16+a>>2],y2[y2[24+a>>2]+20>>2]=y2[20+a>>2],A=y2[24+a>>2],y2[A+40>>2]=y2[A+40>>2]+1,1==y2[y2[24+a>>2]+36>>2]&&2==y2[y2[24+a>>2]+24>>2]&&(X2[y2[24+a>>2]+54|0]=1),y2[y2[24+a>>2]+44>>2]=4)),L2=32+a|0},function(A,e,r,f){var i;e|=0,r|=0,f|=0,y2[12+(L2=i=L2-16|0)>>2]=A|=0,y2[8+i>>2]=e,y2[4+i>>2]=r,y2[i>>2]=f,1&t(A=y2[12+i>>2],y2[y2[8+i>>2]+8>>2],0)&&e0(A,y2[8+i>>2],y2[4+i>>2],y2[i>>2]),L2=16+i|0},p2,function(A,e,r,f,i,a){var n;e|=0,r|=0,f|=0,i|=0,a|=0,y2[28+(L2=n=L2-32|0)>>2]=A|=0,y2[24+n>>2]=e,y2[20+n>>2]=r,y2[16+n>>2]=f,y2[12+n>>2]=i,X2[11+n|0]=a,1&t(A=y2[28+n>>2],y2[y2[24+n>>2]+8>>2],1&X2[11+n|0])?a0(A,y2[24+n>>2],y2[20+n>>2],y2[16+n>>2],y2[12+n>>2]):(A=y2[A+8>>2],N2[y2[y2[A>>2]+20>>2]](A,y2[24+n>>2],y2[20+n>>2],y2[16+n>>2],y2[12+n>>2],1&X2[11+n|0])),L2=32+n|0},function(A,e,r,f,i){var a;e|=0,r|=0,f|=0,i|=0,y2[28+(L2=a=L2-32|0)>>2]=A|=0,y2[24+a>>2]=e,y2[20+a>>2]=r,y2[16+a>>2]=f,X2[15+a|0]=i,1&t(A=y2[28+a>>2],y2[y2[24+a>>2]+8>>2],1&X2[15+a|0])?n0(A,y2[24+a>>2],y2[20+a>>2],y2[16+a>>2]):1&t(A,y2[y2[24+a>>2]>>2],1&X2[15+a|0])?y2[20+a>>2]==y2[y2[24+a>>2]+20>>2]||y2[20+a>>2]==y2[y2[24+a>>2]+16>>2]?1==y2[16+a>>2]&&(y2[y2[24+a>>2]+32>>2]=1):(y2[y2[24+a>>2]+32>>2]=y2[16+a>>2],X2[14+a|0]=0,4!=y2[y2[24+a>>2]+44>>2]&&(X2[13+a|0]=0,X2[y2[24+a>>2]+52|0]=0,X2[y2[24+a>>2]+53|0]=0,A=y2[A+8>>2],N2[y2[y2[A>>2]+20>>2]](A,y2[24+a>>2],y2[20+a>>2],y2[20+a>>2],1,1&X2[15+a|0]),1&X2[y2[24+a>>2]+53|0]&&(X2[13+a|0]=1)&X2[y2[24+a>>2]+52|0]&&(X2[14+a|0]=1),1&X2[13+a|0]?y2[y2[24+a>>2]+44>>2]=3:y2[y2[24+a>>2]+44>>2]=4),1&X2[14+a|0]||(y2[y2[24+a>>2]+20>>2]=y2[20+a>>2],A=y2[24+a>>2],y2[A+40>>2]=y2[A+40>>2]+1,1==y2[y2[24+a>>2]+36>>2]&&2==y2[y2[24+a>>2]+24>>2]&&(X2[y2[24+a>>2]+54|0]=1))):(A=y2[A+8>>2],N2[y2[y2[A>>2]+24>>2]](A,y2[24+a>>2],y2[20+a>>2],y2[16+a>>2],1&X2[15+a|0])),L2=32+a|0},function(A,e,r,f){var i;e|=0,r|=0,f|=0,y2[12+(L2=i=L2-16|0)>>2]=A|=0,y2[8+i>>2]=e,y2[4+i>>2]=r,y2[i>>2]=f,1&t(A=y2[12+i>>2],y2[y2[8+i>>2]+8>>2],0)?e0(A,y2[8+i>>2],y2[4+i>>2],y2[i>>2]):(A=y2[A+8>>2],N2[y2[y2[A>>2]+28>>2]](A,y2[8+i>>2],y2[4+i>>2],y2[i>>2])),L2=16+i|0},p2,function(A,e,r,f,i,a){var n;if(e|=0,r|=0,f|=0,i|=0,a|=0,y2[28+(L2=n=L2-32|0)>>2]=A|=0,y2[24+n>>2]=e,y2[20+n>>2]=r,y2[16+n>>2]=f,y2[12+n>>2]=i,X2[11+n|0]=a,1&t(A=y2[28+n>>2],y2[y2[24+n>>2]+8>>2],1&X2[11+n|0]))a0(A,y2[24+n>>2],y2[20+n>>2],y2[16+n>>2],y2[12+n>>2]);else{if(X2[10+n|0]=1&X2[y2[24+n>>2]+52|0],X2[9+n|0]=1&X2[y2[24+n>>2]+53|0],y2[4+n>>2]=(A+16|0)+(y2[A+12>>2]<<3),y2[n>>2]=A+16,X2[y2[24+n>>2]+52|0]=0,X2[y2[24+n>>2]+53|0]=0,b0(y2[n>>2],y2[24+n>>2],y2[20+n>>2],y2[16+n>>2],y2[12+n>>2],1&X2[11+n|0]),X2[10+n|0]=1&X2[y2[24+n>>2]+52|0]|1&X2[10+n|0],X2[9+n|0]=1&X2[y2[24+n>>2]+53|0]|1&X2[9+n|0],e=y2[n>>2]+8|0,(y2[n>>2]=e)>>>0>2])for(;;){A:if(!(1&X2[y2[24+n>>2]+54|0])){e:{if(1&X2[y2[24+n>>2]+52|0]){if(1==y2[y2[24+n>>2]+24>>2])break A;if(2&y2[A+8>>2])break e;break A}if(!(1&y2[A+8>>2])&&1&X2[y2[24+n>>2]+53|0])break A}if(X2[y2[24+n>>2]+52|0]=0,X2[y2[24+n>>2]+53|0]=0,b0(y2[n>>2],y2[24+n>>2],y2[20+n>>2],y2[16+n>>2],y2[12+n>>2],1&X2[11+n|0]),X2[10+n|0]=1&X2[y2[24+n>>2]+52|0]|1&X2[10+n|0],X2[9+n|0]=1&X2[y2[24+n>>2]+53|0]|1&X2[9+n|0],e=y2[n>>2]+8|0,(y2[n>>2]=e)>>>0>2])continue}break}X2[y2[24+n>>2]+52|0]=1&X2[10+n|0],X2[y2[24+n>>2]+53|0]=1&X2[9+n|0]}L2=32+n|0},function(A,e,r,f,i){var a;if(e|=0,r|=0,f|=0,i|=0,y2[44+(L2=a=L2-48|0)>>2]=A|=0,y2[40+a>>2]=e,y2[36+a>>2]=r,y2[32+a>>2]=f,X2[31+a|0]=i,1&t(A=y2[44+a>>2],y2[y2[40+a>>2]+8>>2],1&X2[31+a|0]))n0(A,y2[40+a>>2],y2[36+a>>2],y2[32+a>>2]);else if(1&t(A,y2[y2[40+a>>2]>>2],1&X2[31+a|0])){if(y2[36+a>>2]==y2[y2[40+a>>2]+20>>2]||y2[36+a>>2]==y2[y2[40+a>>2]+16>>2])1==y2[32+a>>2]&&(y2[y2[40+a>>2]+32>>2]=1);else{if(y2[y2[40+a>>2]+32>>2]=y2[32+a>>2],X2[30+a|0]=0,4!=y2[y2[40+a>>2]+44>>2]){for(X2[29+a|0]=0,y2[24+a>>2]=(A+16|0)+(y2[A+12>>2]<<3),y2[20+a>>2]=A+16;;){A:if(!(X[20+a>>2]>=X[24+a>>2]||(X2[y2[40+a>>2]+52|0]=0,X2[y2[40+a>>2]+53|0]=0,b0(y2[20+a>>2],y2[40+a>>2],y2[36+a>>2],y2[36+a>>2],1,1&X2[31+a|0]),1&X2[y2[40+a>>2]+54|0]))){if(1&X2[y2[40+a>>2]+53|0])e:{if((X2[29+a|0]=1)&X2[y2[40+a>>2]+52|0]){if((X2[30+a|0]=1)==y2[y2[40+a>>2]+24>>2])break A;if(2&y2[A+8>>2])break e;break A}if(!(1&y2[A+8>>2]))break A}y2[20+a>>2]=y2[20+a>>2]+8;continue}break}1&X2[29+a|0]?y2[y2[40+a>>2]+44>>2]=3:y2[y2[40+a>>2]+44>>2]=4}1&X2[30+a|0]||(y2[y2[40+a>>2]+20>>2]=y2[36+a>>2],A=y2[40+a>>2],y2[A+40>>2]=y2[A+40>>2]+1,1==y2[y2[40+a>>2]+36>>2]&&2==y2[y2[40+a>>2]+24>>2]&&(X2[y2[40+a>>2]+54|0]=1))}}else if(y2[16+a>>2]=(A+16|0)+(y2[A+12>>2]<<3),y2[12+a>>2]=A+16,t0(y2[12+a>>2],y2[40+a>>2],y2[36+a>>2],y2[32+a>>2],1&X2[31+a|0]),e=y2[12+a>>2]+8|0,(y2[12+a>>2]=e)>>>0>2])if(1==y2[y2[40+a>>2]+36>>2]||2&y2[A+8>>2]){for(;;)if(1&X2[y2[40+a>>2]+54|0]||(t0(y2[12+a>>2],y2[40+a>>2],y2[36+a>>2],y2[32+a>>2],1&X2[31+a|0]),A=y2[12+a>>2]+8|0,!((y2[12+a>>2]=A)>>>0>2])))break}else if(1&y2[A+8>>2]){for(;;)if(1&X2[y2[40+a>>2]+54|0]||1==y2[y2[40+a>>2]+36>>2]&&1==y2[y2[40+a>>2]+24>>2]||(t0(y2[12+a>>2],y2[40+a>>2],y2[36+a>>2],y2[32+a>>2],1&X2[31+a|0]),A=y2[12+a>>2]+8|0,!((y2[12+a>>2]=A)>>>0>2])))break}else for(;;)if(1&X2[y2[40+a>>2]+54|0]||1==y2[y2[40+a>>2]+36>>2]||(t0(y2[12+a>>2],y2[40+a>>2],y2[36+a>>2],y2[32+a>>2],1&X2[31+a|0]),A=y2[12+a>>2]+8|0,!((y2[12+a>>2]=A)>>>0>2])))break;L2=48+a|0},function(A,e,r,f){var i;if(e|=0,r|=0,f|=0,y2[28+(L2=i=L2-32|0)>>2]=A|=0,y2[24+i>>2]=e,y2[20+i>>2]=r,y2[16+i>>2]=f,1&t(A=y2[28+i>>2],y2[y2[24+i>>2]+8>>2],0))e0(A,y2[24+i>>2],y2[20+i>>2],y2[16+i>>2]);else if(y2[12+i>>2]=(A+16|0)+(y2[A+12>>2]<<3),y2[8+i>>2]=A+16,r0(y2[8+i>>2],y2[24+i>>2],y2[20+i>>2],y2[16+i>>2]),A=y2[8+i>>2]+8|0,(y2[8+i>>2]=A)>>>0>2])for(;;)if(r0(y2[8+i>>2],y2[24+i>>2],y2[20+i>>2],y2[16+i>>2]),1&X2[y2[24+i>>2]+54|0]||(A=y2[8+i>>2]+8|0,!((y2[8+i>>2]=A)>>>0>2])))break;L2=32+i|0},g2,f0,p2,function(A,e,r){e|=0,r|=0;var f,i=0,a=0;return y2[88+(L2=f=L2-96|0)>>2]=A|=0,y2[84+f>>2]=e,y2[80+f>>2]=r,A=y2[88+f>>2],1&t(y2[84+f>>2],4516,0)?(y2[y2[80+f>>2]>>2]=0,X2[95+f|0]=1):1&f0(A,y2[84+f>>2],y2[80+f>>2])?(y2[y2[80+f>>2]>>2]&&(y2[y2[80+f>>2]>>2]=y2[y2[y2[80+f>>2]>>2]>>2]),X2[95+f|0]=1):(e=(e=y2[84+(r=f)>>2])?M2(e,4072,4216,0):0,y2[r+76>>2]=e,!y2[76+f>>2]||(y2[y2[80+f>>2]>>2]&&(y2[y2[80+f>>2]>>2]=y2[y2[y2[80+f>>2]>>2]>>2]),y2[y2[76+f>>2]+8>>2]&(-1^y2[A+8>>2])&7)||y2[A+8>>2]&(-1^y2[y2[76+f>>2]+8>>2])&96?X2[95+f|0]=0:1&t(y2[A+12>>2],y2[y2[76+f>>2]+12>>2],0)?X2[95+f|0]=1:1&t(y2[A+12>>2],4464,0)?(A=(A=y2[y2[76+(e=f)>>2]+12>>2])?M2(A,4072,4268,0):0,y2[e+72>>2]=A,X2[95+f|0]=!y2[72+f>>2]):(r=f,e=(e=y2[A+12>>2])?M2(e,4072,4216,0):0,y2[r+68>>2]=e,y2[68+f>>2]?1&(-1^y2[A+8>>2])?X2[95+f|0]=0:(a=1&function A(e,r){var f=0,i=0,a=0,n=0;f=L2-32|0;L2=f;y2[24+f>>2]=e;y2[20+f>>2]=r;e=y2[24+f>>2];i=f;r=y2[20+f>>2];r=r?M2(r,4072,4216,0):0;y2[16+i>>2]=r;!y2[16+f>>2]||y2[y2[16+f>>2]+8>>2]&(-1^y2[e+8>>2])?X2[31+f|0]=0:1&t(y2[e+12>>2],y2[y2[16+f>>2]+12>>2],0)?X2[31+f|0]=1:1&(-1^y2[e+8>>2])?X2[31+f|0]=0:(i=f,r=(r=y2[e+12>>2])?M2(r,4072,4216,0):0,y2[12+i>>2]=r,y2[12+f>>2]?(n=1&A(y2[12+(a=f)>>2],y2[y2[16+f>>2]+12>>2]),X2[a+31|0]=n):(r=f,e=(e=y2[e+12>>2])?M2(e,4072,4328,0):0,y2[r+8>>2]=e,y2[8+f>>2]?(n=1&i0(y2[8+(a=f)>>2],y2[y2[16+f>>2]+12>>2]),X2[a+31|0]=n):X2[31+f|0]=0));L2=32+f|0;return 1&X2[31+f|0]}(y2[68+(i=f)>>2],y2[y2[76+f>>2]+12>>2]),X2[i+95|0]=a):(r=f,e=(e=y2[A+12>>2])?M2(e,4072,4328,0):0,y2[r+64>>2]=e,y2[64+f>>2]?1&(-1^y2[A+8>>2])?X2[95+f|0]=0:(a=1&i0(y2[64+(i=f)>>2],y2[y2[76+f>>2]+12>>2]),X2[i+95|0]=a):(e=f,A=(A=y2[A+12>>2])?M2(A,4072,4120,0):0,y2[e+60>>2]=A,y2[60+f>>2]&&(A=(A=y2[y2[76+(e=f)>>2]+12>>2])?M2(A,4072,4120,0):0,y2[e+56>>2]=A,y2[56+f>>2])&&(y2[f>>2]=y2[56+f>>2],y2[4+f>>2]=0,y2[8+f>>2]=y2[60+f>>2],y2[12+f>>2]=-1,y2[16+f>>2]=0,y2[20+f>>2]=0,y2[24+f>>2]=0,y2[28+f>>2]=0,y2[32+f>>2]=0,y2[36+f>>2]=0,y2[40+f>>2]=0,y2[44+f>>2]=0,y2[48+f>>2]=0,X2[52+f|0]=0,X2[53+f|0]=0,X2[54+f|0]=0,y2[48+f>>2]=1,A=y2[56+f>>2],N2[y2[y2[A>>2]+28>>2]](A,f,y2[y2[80+f>>2]>>2],1),1==y2[24+f>>2])?(y2[y2[80+f>>2]>>2]&&(y2[y2[80+f>>2]>>2]=y2[16+f>>2]),X2[95+f|0]=1):X2[95+f|0]=0)))),L2=96+f|0,1&X2[95+f|0]},p2,function(A,e,r){var f;return e|=0,r|=0,y2[24+(L2=f=L2-32|0)>>2]=A|=0,y2[20+f>>2]=e,y2[16+f>>2]=r,A=y2[24+f>>2],1&t(y2[20+f>>2],4516,0)?(A=(A=y2[A+12>>2])?M2(A,4072,4268,0):0,y2[y2[16+f>>2]>>2]=A?4340:4348,X2[31+f|0]=1):1&f0(A,y2[20+f>>2],y2[16+f>>2])||(e=(e=y2[20+(r=f)>>2])?M2(e,4072,4328,0):0,y2[r+12>>2]=e,y2[12+f>>2]&&!(y2[y2[12+f>>2]+8>>2]&(-1^y2[A+8>>2])&7)&&!(y2[A+8>>2]&(-1^y2[y2[12+f>>2]+8>>2])&96)&&1&t(y2[A+12>>2],y2[y2[12+f>>2]+12>>2],0)&&1&t(y2[A+16>>2],y2[y2[12+f>>2]+16>>2],0))?X2[31+f|0]=1:X2[31+f|0]=0,L2=32+f|0,1&X2[31+f|0]},function(A){y2[6505]=9776},function(A){A|=0,y2[6529]=9956,(A=y2[6565])&&(U2[26264]&&(y2[6503]=y2[6503]+1,$2(y2[A-4>>2])),y2[6565]=0),X2[26264]=1,y2[6563]=0,y2[6564]=0,y2[6565]=0,Z0(26116)},function(A){A|=0,y2[6593]=10304,(A=y2[6629])&&(U2[26520]&&(y2[6503]=y2[6503]+1,$2(y2[A-4>>2])),y2[6629]=0),X2[26520]=1,y2[6627]=0,y2[6628]=0,y2[6629]=0,G0(26372)},function(A,e,r){A|=0,e|=0,r|=0;var f,i,a,n,b=j2(0),t=j2(0),o=j2(0),c=0;j2(0),L2=n=L2-32|0,i=y2[4+(a=r+8|0)>>2],y2[(c=f=24+n|0)>>2]=y2[a>>2],y2[4+c>>2]=i,c=y2[r+4>>2],y2[16+n>>2]=y2[r>>2],y2[20+n>>2]=c,b=H2[16+n>>2],o=H2[20+n>>2],t=H2[f>>2],j2(j2(j2(b*b)+j2(o*o))+j2(t*t))>2]=-1082130432,y2[28+n>>2]=0,y2[16+n>>2]=-1082130432,y2[20+n>>2]=-1082130432,t=j2(-1),o=j2(-1),b=j2(-1)),a=t,t=j2(j2(1)/j2(K2(j2(j2(j2(b*b)+j2(o*o))+j2(t*t))))),H2[24+n>>2]=a*t,H2[20+n>>2]=o*t,H2[16+n>>2]=b*t,n1(n,e,16+n|0);A:{e:if(!(13<(r=y2[e+4>>2])>>>0)){r:switch(r-1|0){case 7:b=j2(H2[e+36>>2]*H2[e+20>>2]);break A;default:case 0:case 12:case 10:case 9:b=H2[e+52>>2];break A;case 1:case 2:case 5:case 6:case 8:case 11:break e;case 3:case 4:break r;}b=H2[e+52>>2];break A}b=j2(N2[y2[y2[e>>2]+48>>2]](e))}y2[A+12>>2]=0,H2[A+8>>2]=j2(b*H2[24+n>>2])+H2[8+n>>2],H2[A+4>>2]=j2(b*H2[20+n>>2])+H2[4+n>>2],H2[A>>2]=j2(b*H2[16+n>>2])+H2[n>>2],L2=32+n|0},n1,function(A,e,r){A|=0,e|=0,r|=0;var f,i,a,n,b=j2(0),t=j2(0),o=j2(0),c=j2(0);return j2(0),j2(0),j2(0),(t=H2[r+128>>2])!=j2(0)&&(y2[6944]=y2[6944]+1,b=H2[r+96>>2],o=j2(t-j2(b*H2[r+116>>2])),c=H2[r+16>>2],f=H2[r+20>>2],i=H2[r+24>>2],t=H2[r+108>>2],t=j2(j2(o-j2(j2(j2(j2(j2(c*H2[A+144>>2])+j2(f*H2[A+148>>2]))+j2(i*H2[A+152>>2]))+j2(j2(j2(H2[r>>2]*H2[A+160>>2])+j2(H2[r+4>>2]*H2[A+164>>2]))+j2(H2[r+8>>2]*H2[A+168>>2])))*t))-j2(t*j2(j2(j2(j2(H2[r+48>>2]*H2[e+144>>2])+j2(H2[r+52>>2]*H2[e+148>>2]))+j2(H2[r+56>>2]*H2[e+152>>2]))+j2(j2(j2(H2[r+32>>2]*H2[e+160>>2])+j2(H2[r+36>>2]*H2[e+164>>2]))+j2(H2[r+40>>2]*H2[e+168>>2]))))),a=j2(b+t),o=H2[r+120>>2],H2[r+96>>2]=(n=a>2]&&(H2[A+144>>2]=j2(H2[A+112>>2]*j2(b*j2(c*H2[A+128>>2])))+H2[A+144>>2],H2[A+148>>2]=j2(j2(b*j2(f*H2[A+132>>2]))*H2[A+116>>2])+H2[A+148>>2],H2[A+152>>2]=j2(j2(b*j2(i*H2[A+136>>2]))*H2[A+120>>2])+H2[A+152>>2],t=H2[r+72>>2],o=H2[r+68>>2],H2[A+160>>2]=j2(j2(b*H2[A+96>>2])*H2[r+64>>2])+H2[A+160>>2],c=H2[A+104>>2],H2[A+164>>2]=j2(o*j2(b*H2[A+100>>2]))+H2[A+164>>2],H2[A+168>>2]=j2(t*j2(b*c))+H2[A+168>>2]),y2[e+240>>2])&&(t=H2[r+56>>2],o=H2[r+52>>2],H2[e+144>>2]=j2(H2[e+112>>2]*j2(b*j2(H2[r+48>>2]*H2[e+128>>2])))+H2[e+144>>2],H2[e+148>>2]=j2(j2(b*j2(o*H2[e+132>>2]))*H2[e+116>>2])+H2[e+148>>2],H2[e+152>>2]=j2(j2(b*j2(t*H2[e+136>>2]))*H2[e+120>>2])+H2[e+152>>2],t=H2[r+88>>2],o=H2[r+84>>2],H2[e+160>>2]=j2(j2(b*H2[e+96>>2])*H2[r+80>>2])+H2[e+160>>2],c=H2[e+104>>2],H2[e+164>>2]=j2(o*j2(b*H2[e+100>>2]))+H2[e+164>>2],H2[e+168>>2]=j2(t*j2(b*c))+H2[e+168>>2]),j2(b)},function(A,e,r){A|=0,e|=0,r|=0,j2(0);var f,i,a=j2(0),n=j2(0),b=j2(0),t=(j2(0),j2(0),j2(0),H2[r+100>>2]),b=H2[r+16>>2],o=H2[r+20>>2],c=H2[r+24>>2],a=H2[r+108>>2];return a=j2(j2(j2(H2[r+112>>2]-j2(t*H2[r+116>>2]))-j2(j2(j2(j2(j2(b*H2[A+64>>2])+j2(o*H2[A+68>>2]))+j2(c*H2[A+72>>2]))+j2(j2(j2(H2[r>>2]*H2[A+80>>2])+j2(H2[r+4>>2]*H2[A+84>>2]))+j2(H2[r+8>>2]*H2[A+88>>2])))*a))-j2(a*j2(j2(j2(j2(H2[r+48>>2]*H2[e+64>>2])+j2(H2[r+52>>2]*H2[e+68>>2]))+j2(H2[r+56>>2]*H2[e+72>>2]))+j2(j2(j2(H2[r+32>>2]*H2[e+80>>2])+j2(H2[r+36>>2]*H2[e+84>>2]))+j2(H2[r+40>>2]*H2[e+88>>2]))))),f=j2(t+a),n=H2[r+120>>2],H2[r+100>>2]=(i=f>2]&&(H2[A+64>>2]=j2(H2[A+112>>2]*j2(t*j2(b*H2[A+128>>2])))+H2[A+64>>2],H2[A+68>>2]=j2(j2(t*j2(o*H2[A+132>>2]))*H2[A+116>>2])+H2[A+68>>2],H2[A+72>>2]=j2(j2(t*j2(c*H2[A+136>>2]))*H2[A+120>>2])+H2[A+72>>2],a=H2[r+72>>2],n=H2[r+68>>2],H2[A+80>>2]=j2(j2(t*H2[A+96>>2])*H2[r+64>>2])+H2[A+80>>2],b=H2[A+104>>2],H2[A+84>>2]=j2(n*j2(t*H2[A+100>>2]))+H2[A+84>>2],H2[A+88>>2]=j2(a*j2(t*b))+H2[A+88>>2]),y2[e+240>>2]&&(a=H2[r+56>>2],n=H2[r+52>>2],H2[e+64>>2]=j2(H2[e+112>>2]*j2(t*j2(H2[r+48>>2]*H2[e+128>>2])))+H2[e+64>>2],H2[e+68>>2]=j2(j2(t*j2(n*H2[e+132>>2]))*H2[e+116>>2])+H2[e+68>>2],H2[e+72>>2]=j2(j2(t*j2(a*H2[e+136>>2]))*H2[e+120>>2])+H2[e+72>>2],a=H2[r+88>>2],n=H2[r+84>>2],H2[e+80>>2]=j2(j2(t*H2[e+96>>2])*H2[r+80>>2])+H2[e+80>>2],b=H2[e+104>>2],H2[e+84>>2]=j2(n*j2(t*H2[e+100>>2]))+H2[e+84>>2],H2[e+88>>2]=j2(a*j2(t*b))+H2[e+88>>2]),j2(t)},function(A,e,r){A|=0,e|=0,r|=0;var f=j2(0),i=j2(0),a=j2(0),n=j2(0),n=(j2(0),j2(0),j2(0),H2[r+100>>2]),b=H2[r+16>>2],t=H2[r+20>>2],o=H2[r+24>>2],i=H2[r+108>>2],f=j2(j2(j2(H2[r+112>>2]-j2(n*H2[r+116>>2]))-j2(j2(j2(j2(j2(b*H2[A+64>>2])+j2(t*H2[A+68>>2]))+j2(o*H2[A+72>>2]))+j2(j2(j2(H2[r>>2]*H2[A+80>>2])+j2(H2[r+4>>2]*H2[A+84>>2]))+j2(H2[r+8>>2]*H2[A+88>>2])))*i))-j2(i*j2(j2(j2(j2(H2[r+48>>2]*H2[e+64>>2])+j2(H2[r+52>>2]*H2[e+68>>2]))+j2(H2[r+56>>2]*H2[e+72>>2]))+j2(j2(j2(H2[r+32>>2]*H2[e+80>>2])+j2(H2[r+36>>2]*H2[e+84>>2]))+j2(H2[r+40>>2]*H2[e+88>>2])))));return((i=j2(n+f))<(a=H2[r+120>>2])||(a=H2[r+124>>2])>2]=i,y2[A+240>>2]&&(H2[A+64>>2]=j2(H2[A+112>>2]*j2(f*j2(b*H2[A+128>>2])))+H2[A+64>>2],H2[A+68>>2]=j2(j2(f*j2(t*H2[A+132>>2]))*H2[A+116>>2])+H2[A+68>>2],H2[A+72>>2]=j2(j2(f*j2(o*H2[A+136>>2]))*H2[A+120>>2])+H2[A+72>>2],i=H2[r+72>>2],a=H2[r+68>>2],H2[A+80>>2]=j2(j2(f*H2[A+96>>2])*H2[r+64>>2])+H2[A+80>>2],n=H2[A+104>>2],H2[A+84>>2]=j2(a*j2(f*H2[A+100>>2]))+H2[A+84>>2],H2[A+88>>2]=j2(i*j2(f*n))+H2[A+88>>2]),y2[e+240>>2]&&(i=H2[r+56>>2],a=H2[r+52>>2],H2[e+64>>2]=j2(H2[e+112>>2]*j2(f*j2(H2[r+48>>2]*H2[e+128>>2])))+H2[e+64>>2],H2[e+68>>2]=j2(j2(f*j2(a*H2[e+132>>2]))*H2[e+116>>2])+H2[e+68>>2],H2[e+72>>2]=j2(j2(f*j2(i*H2[e+136>>2]))*H2[e+120>>2])+H2[e+72>>2],i=H2[r+88>>2],a=H2[r+84>>2],H2[e+80>>2]=j2(j2(f*H2[e+96>>2])*H2[r+80>>2])+H2[e+80>>2],n=H2[e+104>>2],H2[e+84>>2]=j2(a*j2(f*H2[e+100>>2]))+H2[e+84>>2],H2[e+88>>2]=j2(i*j2(f*n))+H2[e+88>>2]),j2(f)},function(A){$4(28468)},function(A,e,r){A|=0,e|=0,r|=0;var f,i,a,n=0;j2(0),L2=a=L2-96|0,f=y2[y2[A>>2]>>2],i=y2[y2[A+4>>2]>>2],0|N2[y2[y2[e>>2]+24>>2]](e,f,i)&&(y2[88+a>>2]=-1,y2[92+a>>2]=-1,y2[72+a>>2]=0,y2[80+a>>2]=f,y2[84+a>>2]=f+4,y2[76+a>>2]=y2[f+192>>2],y2[64+a>>2]=-1,y2[68+a>>2]=-1,y2[48+a>>2]=0,y2[56+a>>2]=i,y2[60+a>>2]=i+4,y2[52+a>>2]=y2[i+192>>2],(n=y2[A+8>>2])||(n=0|N2[y2[y2[e>>2]+8>>2]](e,72+a|0,48+a|0,0,1),y2[A+8>>2]=n))&&(y2[40+a>>2]=0,y2[12+a>>2]=0,y2[8+a>>2]=13796,A=y2[r+8>>2],y2[20+a>>2]=48+a,y2[16+a>>2]=72+a,1==(0|A)?N2[y2[y2[n>>2]+8>>2]](n,72+a|0,48+a|0,r,8+a|0):(e=j2(N2[y2[y2[n>>2]+12>>2]](n,f,i,r,8+a|0)))>2]&&(H2[r+12>>2]=e)),L2=96+a|0},function(A){A|=0,y2[6946]=22904,(A=y2[7085])&&(U2[28344]&&(y2[6503]=y2[6503]+1,$2(y2[A-4>>2])),y2[7085]=0),X2[28344]=1,y2[7083]=0,y2[7084]=0,y2[6946]=10468,y2[7085]=0,(A=y2[7020])&&(U2[28084]&&(y2[6503]=y2[6503]+1,$2(y2[A-4>>2])),y2[7020]=0),X2[28084]=1,y2[7018]=0,y2[7019]=0,y2[7020]=0},function(A){return y2[(A|=0)>>2]=9776,0|A},A,v0,function(A,e,r){A|=0,e|=0,r|=0;var f,i,a,n,b,t,o,c=0,k=j2(0),u=j2(0),l=0,c=(j2(0),j2(0),j2(0),j2(0),j2(0),j2(0),j2(0),j2(0),j2(0),j2(0),y2[e>>2]),l=y2[c+192>>2];return 31==y2[l+4>>2]&&(i=y2[e+4>>2])&&(l=y2[64+(y2[l+32>>2]+P2(y2[i>>2],80)|0)>>2]),y2[A+8>>2]=c,y2[A+84>>2]=y2[l+8>>2],y2[A+4>>2]=y2[e+24>>2],r?(r=y2[e+12>>2],y2[A+52>>2]=y2[e+8>>2],y2[A+56>>2]=r,l=y2[(c=e+16|0)+4>>2],y2[(r=A+60|0)>>2]=y2[c>>2],y2[r+4>>2]=l):(i=H2[c+8>>2],r=H2[c+12>>2],l=H2[c+20>>2],a=H2[c+24>>2],n=H2[c+28>>2],b=H2[c+36>>2],t=H2[c+40>>2],k=H2[e+12>>2],o=H2[c+44>>2],u=H2[e+16>>2],c=H2[c+4>>2],f=H2[e+8>>2],y2[A- -64>>2]=0,H2[A+60>>2]=j2(j2(f*b)+j2(k*t))+j2(u*o),H2[A+56>>2]=j2(j2(f*l)+j2(k*a))+j2(u*n),H2[A+52>>2]=j2(j2(c*f)+j2(i*k))+j2(r*u)),k=H2[e+24>>2],u=j2(j2(1)-k),H2[A+68>>2]=j2(u*H2[A+20>>2])+j2(k*H2[A+36>>2]),H2[A+72>>2]=j2(u*H2[A+24>>2])+j2(k*H2[A+40>>2]),H2[A+76>>2]=j2(u*H2[A+28>>2])+j2(k*H2[A+44>>2]),j2(H2[e+24>>2])},s0,function(A,e){return(A=y2[(A|=0)+12>>2])&y2[(e|=0)+4>>2]?0!=(A&y2[e+8>>2])|0:0},function(A){var e;return y2[(A|=0)>>2]=9956,(e=y2[A+144>>2])&&(U2[A+148|0]&&(y2[6503]=y2[6503]+1,$2(y2[e-4>>2])),y2[A+144>>2]=0),y2[A+144>>2]=0,y2[A+136>>2]=0,y2[A+140>>2]=0,X2[A+148|0]=1,Z0(A),0|A},function(A){var e;y2[(A|=0)>>2]=9956,(e=y2[A+144>>2])&&(U2[A+148|0]&&(y2[6503]=y2[6503]+1,$2(y2[e-4>>2])),y2[A+144>>2]=0),y2[A+144>>2]=0,y2[A+136>>2]=0,y2[A+140>>2]=0,X2[A+148|0]=1,Z0(A),b(A)},w0,function(A,e,r){A|=0,r|=0;var f=0,i=0,a=0,n=0,b=0,t=0,o=0,i=y2[y2[(e|=0)>>2]+192>>2];if(31==y2[i+4>>2]&&(a=y2[e+4>>2])){if(o=y2[y2[64+(y2[i+32>>2]+P2(y2[a>>2],80)|0)>>2]+8>>2],(0|(f=y2[A+136>>2]))==y2[A+140>>2]&&!((0|(n=f?f<<1:1))<=(0|f))){n&&(y2[6502]=y2[6502]+1,i=q2(16+(n<<2|3)|0))&&(y2[(b=i+19&-16)-4>>2]=i),t=y2[A+144>>2];A:{if(1<=(0|f)){for(i=b,a=t;;)if(y2[i>>2]=y2[a>>2],i=i+4|0,a=a+4|0,!(f=f-1|0))break}else if(!t)break A;U2[A+148|0]&&(y2[6503]=y2[6503]+1,$2(y2[t-4>>2])),y2[A+144>>2]=0,f=y2[A+136>>2]}y2[A+144>>2]=b,y2[A+140>>2]=n,X2[A+148|0]=1}}else if(o=y2[i+8>>2],(0|(f=y2[A+136>>2]))==y2[A+140>>2]&&!((0|(n=f?f<<1:1))<=(0|f))){n&&(y2[6502]=y2[6502]+1,i=q2(16+(n<<2|3)|0))&&(y2[(b=i+19&-16)-4>>2]=i),t=y2[A+144>>2];A:{if(1<=(0|f)){for(i=b,a=t;;)if(y2[i>>2]=y2[a>>2],i=i+4|0,a=a+4|0,!(f=f-1|0))break}else if(!t)break A;U2[A+148|0]&&(y2[6503]=y2[6503]+1,$2(y2[t-4>>2])),y2[A+144>>2]=0,f=y2[A+136>>2]}y2[A+144>>2]=b,y2[A+140>>2]=n,X2[A+148|0]=1}return y2[y2[A+144>>2]+(f<<2)>>2]=o,y2[A+136>>2]=y2[A+136>>2]+1,j2(C0(A,e,r))},Z0,function(A){b(Z0(A|=0))},C0,e,A,v0,function(A,e,r){A|=0,e|=0,r|=0;var f,i,a,n,b,t,o,c,k,u,l,s,v=0;return j2(0),j2(0),j2(0),j2(0),j2(0),j2(0),j2(0),j2(0),j2(0),j2(0),j2(0),j2(0),y2[A+4>>2]=y2[e+40>>2],v=y2[e>>2],y2[A+16>>2]=v,y2[A+84>>2]=y2[y2[y2[e+4>>2]+8>>2]+8>>2],r?(r=y2[e+12>>2],y2[A+52>>2]=y2[e+8>>2],y2[A+56>>2]=r,n=y2[(v=e+16|0)+4>>2],y2[(r=A+60|0)>>2]=y2[v>>2],y2[r+4>>2]=n):(n=H2[v+8>>2],b=H2[v+12>>2],t=H2[v+20>>2],o=H2[v+24>>2],c=H2[v+28>>2],k=H2[v+36>>2],u=H2[v+40>>2],f=H2[e+12>>2],l=H2[v+44>>2],i=H2[e+16>>2],s=H2[v+4>>2],a=H2[e+8>>2],y2[A- -64>>2]=0,H2[A+60>>2]=j2(j2(a*k)+j2(f*u))+j2(i*l),H2[A+56>>2]=j2(j2(a*t)+j2(f*o))+j2(i*c),H2[A+52>>2]=j2(j2(s*a)+j2(n*f))+j2(b*i)),r=y2[e+28>>2],y2[A+68>>2]=y2[e+24>>2],y2[A+72>>2]=r,v=y2[(r=e+32|0)+4>>2],y2[(A=A+76|0)>>2]=y2[r>>2],y2[A+4>>2]=v,j2(H2[e+40>>2])},function(A){var e;return y2[(A|=0)>>2]=10304,(e=y2[A+144>>2])&&(U2[A+148|0]&&(y2[6503]=y2[6503]+1,$2(y2[e-4>>2])),y2[A+144>>2]=0),y2[A+144>>2]=0,y2[A+136>>2]=0,y2[A+140>>2]=0,X2[A+148|0]=1,G0(A),0|A},function(A){var e;y2[(A|=0)>>2]=10304,(e=y2[A+144>>2])&&(U2[A+148|0]&&(y2[6503]=y2[6503]+1,$2(y2[e-4>>2])),y2[A+144>>2]=0),y2[A+144>>2]=0,y2[A+136>>2]=0,y2[A+140>>2]=0,X2[A+148|0]=1,G0(A),b(A)},w0,function(A,e,r){r|=0;var f,i=0,a=0,n=0,b=0,t=0,o=y2[y2[y2[(e|=0)+4>>2]+8>>2]+8>>2],i=y2[(A|=0)+136>>2];if((0|i)==y2[A+140>>2]&&!((0|(f=i?i<<1:1))<=(0|i))){f&&(y2[6502]=y2[6502]+1,a=q2(16+(f<<2|3)|0))&&(y2[(n=a+19&-16)-4>>2]=a),a=y2[A+144>>2];A:{if(1<=(0|i)){for(b=n,t=a;;)if(y2[b>>2]=y2[t>>2],b=b+4|0,t=t+4|0,!(i=i-1|0))break}else if(!a)break A;U2[A+148|0]&&(y2[6503]=y2[6503]+1,$2(y2[a-4>>2])),y2[A+144>>2]=0,i=y2[A+136>>2]}y2[A+144>>2]=n,y2[A+140>>2]=f,X2[A+148|0]=1}return y2[y2[A+144>>2]+(i<<2)>>2]=o,y2[A+136>>2]=y2[A+136>>2]+1,j2(F0(A,e,r))},G0,function(A){b(G0(A|=0))},function(A,e){return y2[(A|=0)+12>>2]&y2[(e|=0)+4>>2]?0!=(y2[e+8>>2]&y2[A+8>>2])|0:0},F0,function(A){var e;return y2[(A|=0)>>2]=10468,(e=y2[A+296>>2])&&(U2[A+300|0]&&(y2[6503]=y2[6503]+1,$2(y2[e-4>>2])),y2[A+296>>2]=0),y2[A+296>>2]=0,y2[A+288>>2]=0,y2[A+292>>2]=0,X2[A+300|0]=1,0|A},function(A){var e;y2[(A|=0)>>2]=10468,(e=y2[A+296>>2])&&(U2[A+300|0]&&(y2[6503]=y2[6503]+1,$2(y2[e-4>>2])),y2[A+296>>2]=0),y2[A+296>>2]=0,y2[A+288>>2]=0,y2[A+292>>2]=0,X2[A+300|0]=1,y2[6503]=y2[6503]+1,$2(y2[A-4>>2])},function(A,e){y2[(A|=0)+200>>2]=e|=0,y2[A+192>>2]=e,y2[A+304>>2]=y2[A+304>>2]+1},function(A,e){e|=0;var r,f=0,f=r=y2[(A|=0)+288>>2];A:if(!((0|r)<1)){for(A=y2[A+296>>2],f=0;;){if(y2[A>>2]==(0|e))break A;if(A=A+4|0,(0|r)==(0|(f=f+1|0)))break}f=r}return(0|r)<=(0|f)|0},function(A){return 264},m0,function(A,e){var r,f=0,i=0,i=e|=0,a=0|N2[y2[y2[(A|=0)>>2]+16>>2]](A),n=y2[y2[e>>2]+16>>2],f=0|N2[n](0|i,0|a,1);r=e,i=0|N2[y2[y2[A>>2]+20>>2]](A,y2[8+(a=f)>>2],e),f=A,n=y2[y2[e>>2]+20>>2],N2[n](0|r,0|a,0|i,1245859651,0|f)},e,A,I0,e,W0,function(A,e,r,f){A|=0,e|=0,r|=0,f|=0,j2(0),j2(0),j2(0),j2(0),j2(0),j2(0),j2(0),j2(0),j2(0),j2(0),j2(0),j2(0),j2(0),j2(0),j2(0);var i,a,n,b,t,o,c,k,u,l,s,v,B,d=A+36|(y2[12+(B=L2-16|0)>>2]=0);A=y2[A+60>>2],a=H2[d+((A+2|0)%3<<2)>>2],H2[8+B>>2]=a,H2[4+B>>2]=a,H2[B>>2]=a,H2[(A<<=2)+B>>2]=a+H2[A+d>>2],a=H2[e+56>>2],A=H2[e+40>>2],d=H2[e+36>>2],o=H2[e+52>>2],b=H2[e+24>>2],k=H2[e+20>>2],u=H2[e+32>>2],l=H2[e+16>>2],c=H2[e+48>>2],n=H2[e+8>>2],i=H2[e>>2],e=H2[e+4>>2],y2[r+12>>2]=0,t=j2(z2(i)),i=H2[B>>2],s=j2(z2(e)),e=H2[4+B>>2],v=j2(z2(n)),n=H2[8+B>>2],t=j2(j2(j2(t*i)+j2(s*e))+j2(v*n)),H2[r>>2]=c-t,b=j2(j2(j2(i*j2(z2(l)))+j2(e*j2(z2(k))))+j2(n*j2(z2(b)))),H2[r+4>>2]=o-b,i=j2(j2(j2(i*j2(z2(u)))+j2(e*j2(z2(d))))+j2(n*j2(z2(A)))),H2[r+8>>2]=a-i,H2[f>>2]=c+t,H2[f+4>>2]=o+b,H2[f+8>>2]=a+i,y2[f+12>>2]=0},function(A,e,r){var f,i,a,n,b,t,o,c;A|=0,e|=0,r|=0,j2(0),j2(0),j2(0),j2(0),j2(0),j2(0),j2(0),j2(0),y2[(n=44+(L2=c=L2-96|0)|0)>>2]=0,y2[4+n>>2]=0,y2[(n=56+c|0)>>2]=0,y2[4+n>>2]=0,y2[52+c>>2]=1065353216,y2[(n=76+c|0)>>2]=0,y2[4+n>>2]=0,y2[72+c>>2]=1065353216,y2[(n=84+c|0)>>2]=0,y2[4+n>>2]=0,y2[92+c>>2]=0,y2[36+c>>2]=0,y2[40+c>>2]=0,y2[32+c>>2]=1065353216,y2[64+c>>2]=0,y2[68+c>>2]=0,N2[y2[y2[A>>2]+8>>2]](A,32+c|0,16+c|0,c),n=H2[c>>2],A=H2[16+c>>2],f=j2(n-A),a=j2(f*f),f=H2[4+c>>2],b=H2[20+c>>2],i=j2(f-b),o=j2(a+j2(i*i)),i=H2[8+c>>2],a=H2[24+c>>2],t=j2(i-a),H2[r>>2]=j2(K2(j2(o+j2(t*t))))*j2(.5),y2[e+12>>2]=0,H2[e+8>>2]=j2(i+a)*j2(.5),H2[e+4>>2]=j2(f+b)*j2(.5),H2[e>>2]=j2(n+A)*j2(.5),L2=96+c|0},function(A){var e,r;return A|=0,j2(0),j2(0),L2=r=L2-32|0,N2[y2[y2[A>>2]+12>>2]](A,16+r|0,12+r|0),L2=32+r|0,A=H2[16+r>>2],e=j2(A*A),A=H2[20+r>>2],e=j2(e+j2(A*A)),A=H2[24+r>>2],j2(j2(H2[12+r>>2]+j2(K2(j2(e+j2(A*A))))))},function(A,e){return A|=0,e=j2(e),j2(j2(j2(N2[y2[y2[A>>2]+16>>2]](A))*e))},function(A,e){A|=0,e|=0,j2(0),j2(0),j2(0),j2(0),j2(0),j2(0);var r,f,i,a=H2[e>>2],n=H2[e+4>>2],b=H2[e+8>>2];y2[A+32>>2]=0,r=H2[(f=A+28|0)>>2],H2[f>>2]=z2(b),b=H2[(f=A+24|0)>>2],H2[f>>2]=z2(n),n=H2[A+20>>2],H2[A+20>>2]=z2(a),a=H2[e+8>>2],f=H2[e+4>>2],i=H2[e>>2],y2[A+48>>2]=0,H2[A+36>>2]=i*j2(H2[A+36>>2]/n),H2[(e=A+40|0)>>2]=f*j2(H2[e>>2]/b),H2[(e=A+44|0)>>2]=a*j2(H2[e>>2]/r),y2[A+52>>2]=y2[(A+36|0)+((y2[A+60>>2]+2|0)%3<<2)>>2]},r1,function(A,e,r){A|=0,e=j2(e),r|=0,j2(0),j2(0),j2(0);var f,i=y2[A+60>>2],a=y2[(f=A+36|0)+((i+2|0)%3<<2)>>2];y2[(A=L2-16|0)+12>>2]=0,y2[A+8>>2]=a,y2[A+4>>2]=a,y2[A>>2]=a,H2[(i=(a=i<<2)+A|0)>>2]=H2[a+f>>2]+H2[i>>2],e=j2(e*j2(.0833333283662796)),a=H2[A>>2],a=j2(a+a),a=j2(a*a),f=H2[A+4>>2],f=j2(f+f),f=j2(f*f),H2[r+8>>2]=e*j2(a+f),i=a,a=H2[A+8>>2],a=j2(a+a),a=j2(a*a),H2[r+4>>2]=e*j2(i+a),H2[r>>2]=e*j2(f+a)},function(A){return 10767},T0,V0,f1,x0,function(A,e,r){e|=0;var f=0|N2[y2[y2[(r|=0)>>2]+40>>2]](r,A|=0),i=0|N2[y2[y2[r>>2]+28>>2]](r,f);return(y2[e>>2]=i)&&N2[y2[y2[r>>2]+48>>2]](r,f),r=y2[A+4>>2],y2[e+8>>2]=0,y2[e+28>>2]=y2[A+36>>2],y2[e+32>>2]=y2[A+40>>2],y2[e+36>>2]=y2[A+44>>2],y2[e+40>>2]=y2[A+48>>2],y2[e+12>>2]=y2[A+20>>2],y2[e+16>>2]=y2[A+24>>2],y2[e+20>>2]=y2[A+28>>2],y2[e+24>>2]=y2[A+32>>2],y2[e+4>>2]=r,y2[e+44>>2]=y2[A+52>>2],y2[e+48>>2]=0,A=y2[A+60>>2],y2[e+56>>2]=0,y2[e+52>>2]=A,10748},function(A,e){var r,f=0,i=0,i=e|=0,a=0|N2[y2[y2[(A|=0)>>2]+52>>2]](A),n=y2[y2[e>>2]+16>>2],f=0|N2[n](0|i,0|a,1);r=e,i=0|N2[y2[y2[A>>2]+56>>2]](A,y2[8+(a=f)>>2],e),f=A,n=y2[y2[e>>2]+20>>2],N2[n](0|r,0|a,0|i,1346455635,0|f)},p0,function(A,e,r){A|=0,e|=0,r|=0;var f,i,a=j2(0),n=j2(0),b=j2(0),t=j2(0),o=j2(0),c=(j2(0),j2(0)),k=(j2(0),j2(0),L2-16|0);y2[A>>2]=0,y2[A+4>>2]=0,y2[(f=A+8|0)>>2]=0,y2[4+f>>2]=0,n=H2[r>>2],b=H2[r+4>>2],a=H2[r+8>>2],n=(t=j2(j2(j2(n*n)+j2(b*b))+j2(a*a)))>2]=0,y2[12+k>>2]=0,y2[k>>2]=0,y2[4+k>>2]=0,r=y2[e+60>>2]<<2,o=H2[36+(e+r|0)>>2],H2[(f=r+k|0)>>2]=o,b=j2(-0xde0b6b000000000),e=H2[k>>2],r=H2[4+k>>2],i=H2[8+k>>2],(a=j2(j2(j2(n*e)+j2(t*r))+j2(c*i)))>j2(-0xde0b6b000000000)&&(y2[A+12>>2]=y2[12+k>>2],H2[A+8>>2]=i,H2[A+4>>2]=r,H2[A>>2]=e,b=a),y2[8+k>>2]=0,y2[12+k>>2]=0,y2[k>>2]=0,y2[4+k>>2]=0,H2[f>>2]=-o,o=b,e=n,n=H2[k>>2],b=H2[4+k>>2],a=H2[8+k>>2],o>2]=y2[12+k>>2],H2[A+8>>2]=a,H2[A+4>>2]=b,H2[A>>2]=n)},function(A,e,r,f,i,a,n){var b,t,o,c,k,u,l,s,v,B,d,_,g,Z,C,w,E,Q,h,G,F,D,Y,m,N,R,I,W,T;A|=0,e|=0,r|=0,f|=0,i|=0,a|=0,n|=0,j2(0),j2(0),j2(0),j2(0),j2(0),j2(0),j2(0),j2(0),j2(0),j2(0),j2(0),j2(0),j2(0),j2(0),j2(0),j2(0),j2(0),j2(0),j2(0),j2(0),j2(0),j2(0),j2(0),j2(0),j2(0),j2(0),j2(0),j2(0),j2(0),j2(0),y2[44+(L2=T=L2-48|0)>>2]=0,b=H2[r>>2],t=H2[r+4>>2],o=H2[r+8>>2],H2[32+T>>2]=j2(j2(H2[e>>2]*b)+j2(H2[e+16>>2]*t))+j2(H2[e+32>>2]*o),Y=e+24|0,G=e+40|0,H2[40+T>>2]=j2(j2(b*H2[e+8>>2])+j2(t*H2[Y>>2]))+j2(o*H2[G>>2]),m=e+20|0,F=e+36|0,H2[36+T>>2]=j2(j2(b*H2[e+4>>2])+j2(t*H2[m>>2]))+j2(o*H2[F>>2]),N2[y2[y2[A>>2]+64>>2]](16+T|0,A,32+T|0),v=H2[(h=e+56|0)>>2],B=H2[G>>2],d=H2[F>>2],l=H2[(D=e+52|0)>>2],_=H2[Y>>2],g=H2[m>>2],Z=H2[e+32>>2],s=H2[e+48>>2],C=H2[e+8>>2],w=H2[e>>2],E=H2[e+4>>2],Q=H2[e+16>>2],b=H2[24+T>>2],t=H2[16+T>>2],o=H2[20+T>>2],y2[12+T>>2]=0,H2[8+T>>2]=-H2[40+T>>2],H2[4+T>>2]=-H2[36+T>>2],H2[T>>2]=-H2[32+T>>2],N2[y2[y2[A>>2]+64>>2]](16+T|0,A,T),A=H2[h>>2],h=H2[G>>2],G=H2[F>>2],F=H2[D>>2],D=H2[Y>>2],Y=H2[m>>2],m=H2[e+32>>2],N=H2[e+48>>2],R=H2[e+8>>2],I=H2[e>>2],W=H2[e+4>>2],e=H2[e+16>>2],c=H2[24+T>>2],k=H2[16+T>>2],u=H2[20+T>>2],s=j2(s+j2(j2(j2(t*w)+j2(o*E))+j2(b*C))),l=j2(l+j2(j2(j2(t*Q)+j2(o*g))+j2(b*_))),b=j2(v+j2(j2(j2(t*Z)+j2(o*d))+j2(b*B))),H2[f>>2]=j2(j2(s*H2[r>>2])+j2(l*H2[r+4>>2]))+j2(b*H2[r+8>>2]),t=j2(N+j2(j2(j2(k*I)+j2(u*W))+j2(c*R))),o=j2(F+j2(j2(j2(k*e)+j2(u*Y))+j2(c*D))),c=j2(A+j2(j2(j2(k*m)+j2(u*G))+j2(c*h))),H2[i>>2]=j2(j2(t*H2[r>>2])+j2(o*H2[r+4>>2]))+j2(c*H2[r+8>>2]),y2[n+12>>2]=0,H2[n+8>>2]=c,H2[n+4>>2]=o,H2[n>>2]=t,y2[a+12>>2]=0,H2[a+8>>2]=b,H2[a+4>>2]=l,H2[a>>2]=s,k=H2[f>>2],(u=H2[i>>2])>2]=u,H2[i>>2]=k,y2[n+12>>2]=0,H2[n+8>>2]=b,H2[n+4>>2]=l,H2[n>>2]=s,y2[a+12>>2]=0,H2[a+8>>2]=c,H2[a+4>>2]=o,H2[a>>2]=t),L2=48+T|0},function(A,e,r,f){A|=0,e|=0,r|=0,f|=0;var i,a,n,b,t,o,c,k,u=0,l=j2(0),s=(j2(0),j2(0),0),v=j2(0),B=j2(0),d=j2(0),_=j2(0),g=(j2(0),j2(0),L2-16|0);if(1<=(0|f))for(;;)if(y2[(i=8+g|0)>>2]=0,y2[4+i>>2]=0,y2[g>>2]=0,y2[4+g>>2]=0,t=(a=(u=y2[A+60>>2])<<2)+g|0,l=H2[(a=36+(A+a|0)|0)>>2],y2[t>>2]=y2[a>>2],n=H2[g>>2],B=H2[(a=e+s|0)>>2],o=H2[4+g>>2],d=H2[(t=4+a|0)>>2],c=H2[i>>2],_=H2[(k=8+a|0)>>2],b=j2(j2(j2(n*B)+j2(o*d))+j2(c*_)),v=j2(-0xde0b6b000000000),b>j2(-0xde0b6b000000000)&&(H2[(u=r+s|0)>>2]=n,y2[u+12>>2]=y2[12+g>>2],H2[u+8>>2]=c,H2[u+4>>2]=o,_=H2[k>>2],d=H2[t>>2],B=H2[a>>2],u=y2[A+60>>2],l=H2[36+((u<<2)+A|0)>>2],v=b),y2[i>>2]=0,y2[4+i>>2]=0,y2[g>>2]=0,y2[4+g>>2]=0,H2[(u<<2)+g>>2]=-l,n=H2[g>>2],l=H2[4+g>>2],b=H2[i>>2],v>2]=n,y2[12+i>>2]=y2[12+g>>2],H2[8+i>>2]=b,H2[4+i>>2]=l),s=s+16|0,!(f=f-1|0))break},function(A,e,r,f){A|=0,e|=0,r|=0,f|=0,j2(0),j2(0),j2(0);var i,a,n,b,t,o,c,k=0;for(j2(0),L2=c=L2-80|0,o=j2(N2[y2[y2[A>>2]+48>>2]](A)),t=72+c|0;;)if(y2[t>>2]=0,y2[4+t>>2]=0,y2[64+c>>2]=0,y2[68+c>>2]=0,y2[(b=(c+64|0)+k|0)>>2]=1065353216,y2[44+c>>2]=0,i=H2[64+c>>2],a=H2[68+c>>2],n=H2[t>>2],H2[40+c>>2]=j2(j2(i*H2[e+8>>2])+j2(a*H2[e+24>>2]))+j2(n*H2[e+40>>2]),H2[36+c>>2]=j2(j2(i*H2[e+4>>2])+j2(a*H2[e+20>>2]))+j2(n*H2[e+36>>2]),H2[32+c>>2]=j2(j2(i*H2[e>>2])+j2(a*H2[e+16>>2]))+j2(n*H2[e+32>>2]),N2[y2[y2[A>>2]+64>>2]](48+c|0,A,32+c|0),y2[44+c>>2]=0,i=H2[48+c>>2],a=H2[52+c>>2],n=H2[56+c>>2],H2[40+c>>2]=j2(j2(j2(i*H2[e+32>>2])+j2(a*H2[e+36>>2]))+j2(n*H2[e+40>>2]))+H2[e+56>>2],H2[36+c>>2]=j2(j2(j2(i*H2[e+16>>2])+j2(a*H2[e+20>>2]))+j2(n*H2[e+24>>2]))+H2[e+52>>2],H2[32+c>>2]=j2(j2(j2(i*H2[e>>2])+j2(a*H2[e+4>>2]))+j2(n*H2[e+8>>2]))+H2[e+48>>2],y2[b>>2]=-1082130432,H2[f+k>>2]=o+H2[(b=(32+c|0)+k|0)>>2],y2[12+c>>2]=0,i=H2[64+c>>2],a=H2[68+c>>2],n=H2[t>>2],H2[8+c>>2]=j2(j2(i*H2[e+8>>2])+j2(a*H2[e+24>>2]))+j2(n*H2[e+40>>2]),H2[4+c>>2]=j2(j2(i*H2[e+4>>2])+j2(a*H2[e+20>>2]))+j2(n*H2[e+36>>2]),H2[c>>2]=j2(j2(i*H2[e>>2])+j2(a*H2[e+16>>2]))+j2(n*H2[e+32>>2]),N2[y2[y2[A>>2]+64>>2]](16+c|0,A,c),y2[44+c>>2]=0,i=H2[16+c>>2],a=H2[20+c>>2],n=H2[24+c>>2],H2[40+c>>2]=j2(j2(j2(i*H2[e+32>>2])+j2(a*H2[e+36>>2]))+j2(n*H2[e+40>>2]))+H2[e+56>>2],H2[36+c>>2]=j2(j2(j2(i*H2[e+16>>2])+j2(a*H2[e+20>>2]))+j2(n*H2[e+24>>2]))+H2[e+52>>2],H2[32+c>>2]=j2(j2(j2(i*H2[e>>2])+j2(a*H2[e+4>>2]))+j2(n*H2[e+8>>2]))+H2[e+48>>2],H2[r+k>>2]=H2[b>>2]-o,12==(0|(k=k+4|0)))break;L2=80+c|0},L0,q0,W0,O0,function(A,e){A|=0,e|=0,j2(0),j2(0),j2(0);var r,f=y2[A+76>>2]<<2,i=H2[f+e>>2],a=j2(H2[A+68>>2]*j2(i/H2[f+(f=A+20|0)>>2]));H2[A+68>>2]=a,r=y2[A+72>>2]<<2,i=j2(H2[r+e>>2]/H2[f+r>>2]),r=y2[A+80>>2]<<2,f=j2(H2[A+64>>2]*j2(j2(i+j2(H2[r+e>>2]/H2[f+r>>2]))*j2(.5))),H2[A+64>>2]=f,H2[A+60>>2]=f/j2(K2(j2(j2(a*a)+j2(f*f)))),f=H2[e+8>>2],a=H2[e+4>>2],i=H2[e>>2],y2[A+32>>2]=0,H2[A+20>>2]=z2(i),H2[A+24>>2]=z2(a),H2[A+28>>2]=z2(f)},function(A,e,r){var f,i,a,n,b,t,o;A|=0,e=j2(e),r|=0,j2(0),j2(0),j2(0),j2(0),j2(0),j2(0),j2(0),y2[(a=44+(L2=o=L2-96|0)|0)>>2]=0,y2[4+a>>2]=0,y2[(a=56+o|0)>>2]=0,y2[4+a>>2]=0,y2[52+o>>2]=1065353216,y2[(a=76+o|0)>>2]=0,y2[4+a>>2]=0,y2[72+o>>2]=1065353216,y2[(a=84+o|0)>>2]=0,y2[4+a>>2]=0,y2[92+o>>2]=0,y2[36+o>>2]=0,y2[40+o>>2]=0,y2[32+o>>2]=1065353216,y2[64+o>>2]=0,y2[68+o>>2]=0,N2[y2[y2[A>>2]+8>>2]](A,32+o|0,16+o|0,o),a=H2[24+o>>2],n=H2[8+o>>2],f=H2[16+o>>2],i=H2[o>>2],b=H2[20+o>>2],t=H2[4+o>>2],A=j2(N2[y2[y2[A>>2]+48>>2]](A)),y2[r+12>>2]=0,e=j2(e*j2(.0833333283662796)),f=j2(A+j2(j2(i-f)*j2(.5))),f=j2(f+f),f=j2(f*f),i=j2(A+j2(j2(t-b)*j2(.5))),i=j2(i+i),i=j2(i*i),H2[r+8>>2]=e*j2(f+i),A=j2(A+j2(j2(n-a)*j2(.5))),A=j2(A+A),A=j2(A*A),H2[r+4>>2]=e*j2(f+A),H2[r>>2]=e*j2(i+A),L2=96+o|0},function(A){return 10928},function(A,e){y2[(A|=0)+8>>2]=0,y2[A+12>>2]=0,y2[A>>2]=0,y2[A+4>>2]=1065353216},K0,x0,function(A,e,r){e|=0;var f=0|N2[y2[y2[(r|=0)>>2]+40>>2]](r,A|=0),i=0|N2[y2[y2[r>>2]+28>>2]](r,f);return(y2[e>>2]=i)&&N2[y2[y2[r>>2]+48>>2]](r,f),r=y2[A+4>>2],y2[e+8>>2]=0,y2[e+28>>2]=y2[A+36>>2],y2[e+32>>2]=y2[A+40>>2],y2[e+36>>2]=y2[A+44>>2],y2[e+40>>2]=y2[A+48>>2],y2[e+12>>2]=y2[A+20>>2],y2[e+16>>2]=y2[A+24>>2],y2[e+20>>2]=y2[A+28>>2],y2[e+24>>2]=y2[A+32>>2],y2[e+4>>2]=r,r=y2[A+52>>2],y2[e+48>>2]=0,y2[e+44>>2]=r,A=y2[A+76>>2],y2[e+56>>2]=0,y2[e+52>>2]=A,10912},function(A,e,r){A|=0,e|=0,r|=0;var f,i=j2(0),a=j2(0),n=j2(0),b=j2(0),t=0,o=j2(0),a=j2(H2[e+68>>2]*j2(.5)),c=y2[e+72>>2],t=(f=y2[e+76>>2])<<2,i=H2[r>>2],b=j2(i*i);i=H2[r+4>>2],b=j2(b+j2(i*i)),i=H2[r+8>>2];A:{if(H2[t+r>>2]>j2(H2[e+60>>2]*j2(K2(j2(b+j2(i*i))))))y2[(c<<2)+A>>2]=0,H2[A+t>>2]=a,t=y2[e+80>>2];else{if(i=H2[(c<<2)+r>>2],t=y2[e+80>>2],n=H2[(t<<2)+r>>2],(o=j2(K2(j2(j2(i*i)+j2(n*n)))))>j2(1.1920928955078125e-7)){b=i,i=j2(H2[e+64>>2]/o),H2[(c<<2)+A>>2]=b*i,H2[(f<<2)+A>>2]=-a,a=j2(n*i);break A}y2[(c<<2)+A>>2]=0,H2[(f<<2)+A>>2]=-a}a=j2(0)}H2[(t<<2)+A>>2]=a,j2(N2[y2[y2[e>>2]+48>>2]](e))!=j2(0)&&(a=H2[r+4>>2],i=H2[r>>2],n=H2[r+8>>2],o=j2(N2[y2[y2[e>>2]+48>>2]](e)),b=i=(e=j2(j2(j2(i*i)+j2(a*a))+j2(n*n))>2]=H2[A>>2]+j2(o*j2(b*i)),H2[A+4>>2]=H2[A+4>>2]+j2(o*j2(a*i)),H2[A+8>>2]=H2[A+8>>2]+j2(o*j2(n*i)))},function(A,e,r){A|=0,e|=0,r|=0,j2(0);var f,i,a,n=j2(0),n=(j2(0),j2(0),j2(0),j2(H2[e+68>>2]*j2(.5))),b=y2[e+72>>2],t=(a=y2[e+76>>2])<<2,o=H2[r>>2],c=j2(o*o);o=H2[r+4>>2],c=j2(c+j2(o*o)),o=H2[r+8>>2];A:{if(H2[t+r>>2]>j2(H2[e+60>>2]*j2(K2(j2(c+j2(o*o))))))y2[(b<<2)+A>>2]=0,H2[A+t>>2]=n,r=y2[e+80>>2];else{if(o=H2[(b<<2)+r>>2],t=r,r=y2[e+80>>2],f=H2[t+(r<<2)>>2],(i=j2(K2(j2(j2(o*o)+j2(f*f)))))>j2(1.1920928955078125e-7)){c=o,o=j2(H2[e+64>>2]/i),H2[(b<<2)+A>>2]=c*o,H2[(a<<2)+A>>2]=-n,n=j2(f*o);break A}y2[(b<<2)+A>>2]=0,H2[(a<<2)+A>>2]=-n}n=j2(0)}H2[(r<<2)+A>>2]=n},function(A,e,r,f){A|=0,e|=0,r|=0,f|=0,j2(0);var i,a,n,b,t,o=0,c=j2(0),k=(j2(0),0),u=(j2(0),j2(0),L2-16|0);if(1<=(0|f))for(;;){c=j2(H2[A+68>>2]*j2(.5)),o=y2[A+72>>2],a=y2[A+76>>2]<<2,i=H2[e>>2],n=j2(i*i),i=H2[e+4>>2],n=j2(n+j2(i*i)),i=H2[e+8>>2];A:{if(H2[a+e>>2]>j2(H2[A+60>>2]*j2(K2(j2(n+j2(i*i))))))y2[(o<<2)+u>>2]=0,H2[u+a>>2]=c,o=y2[A+80>>2];else{if(i=H2[(k=o<<2)+e>>2],o=y2[A+80>>2],b=H2[(o<<2)+e>>2],(t=j2(K2(j2(j2(i*i)+j2(b*b)))))>j2(1.1920928955078125e-7)){n=i,i=j2(H2[A+64>>2]/t),H2[u+k>>2]=n*i,H2[u+a>>2]=-c,c=j2(b*i);break A}y2[u+k>>2]=0,H2[u+a>>2]=-c}c=j2(0)}if(H2[(o<<2)+u>>2]=c,k=y2[(o=8+u|0)+4>>2],y2[(a=r+8|0)>>2]=y2[o>>2],y2[4+a>>2]=k,a=y2[4+u>>2],y2[r>>2]=y2[u>>2],y2[r+4>>2]=a,e=e+16|0,r=r+16|0,!(f=f-1|0))break}},S0,function(A){(A=S0(A|=0))&&(y2[6503]=y2[6503]+1,$2(y2[A-4>>2]))},function(A){var e;return y2[(A|=0)>>2]=11040,(e=y2[A+60>>2])&&(N2[y2[y2[e>>2]>>2]](e),e=y2[A+60>>2])&&(y2[6503]=y2[6503]+1,$2(y2[e-4>>2])),0|A},s0,function(A,e){A|=0,e|=0,j2(0),j2(0),j2(0);var r=H2[e>>2],f=H2[e+4>>2],e=H2[e+8>>2];y2[A+32>>2]=0,H2[A+28>>2]=z2(e),H2[A+24>>2]=z2(f),H2[A+20>>2]=z2(r)},function(A,e,r){var f,i,a;A|=0,e=j2(e),r|=0,j2(0),j2(0),j2(0),L2=a=L2-96|0,f=j2(N2[y2[y2[A>>2]+48>>2]](A)),y2[(i=44+a|0)>>2]=0,y2[4+i>>2]=0,y2[(i=56+a|0)>>2]=0,y2[4+i>>2]=0,y2[52+a>>2]=1065353216,y2[(i=76+a|0)>>2]=0,y2[4+i>>2]=0,y2[72+a>>2]=1065353216,y2[(i=84+a|0)>>2]=0,y2[4+i>>2]=0,y2[92+a>>2]=0,y2[36+a>>2]=0,y2[40+a>>2]=0,y2[32+a>>2]=1065353216,y2[64+a>>2]=0,y2[68+a>>2]=0,N2[y2[y2[A>>2]+8>>2]](A,32+a|0,16+a|0,a),y2[r+12>>2]=0,e=j2(e*j2(.0833333283662796)),i=j2(f+j2(j2(H2[a>>2]-H2[16+a>>2])*j2(.5))),i=j2(i+i),i=j2(i*i),A=j2(f+j2(j2(H2[4+a>>2]-H2[20+a>>2])*j2(.5))),A=j2(A+A),A=j2(A*A),H2[r+8>>2]=e*j2(i+A),f=j2(f+j2(j2(H2[8+a>>2]-H2[24+a>>2])*j2(.5))),f=j2(f+f),f=j2(f*f),H2[r+4>>2]=e*j2(i+f),H2[r>>2]=e*j2(A+f),L2=96+a|0},function(A,e){y2[(A|=0)+8>>2]=1065353216,y2[A+12>>2]=0,y2[A>>2]=1065353216,y2[A+4>>2]=1065353216},i1,function(A,e,r){e|=0;var f=0|N2[y2[y2[(r|=0)>>2]+40>>2]](r,A|=0),i=0|N2[y2[y2[r>>2]+28>>2]](r,f);return(y2[e>>2]=i)&&N2[y2[y2[r>>2]+48>>2]](r,f),r=y2[A+4>>2],y2[e+8>>2]=0,y2[e+28>>2]=y2[A+36>>2],y2[e+32>>2]=y2[A+40>>2],y2[e+36>>2]=y2[A+44>>2],y2[e+40>>2]=y2[A+48>>2],y2[e+12>>2]=y2[A+20>>2],y2[e+16>>2]=y2[A+24>>2],y2[e+20>>2]=y2[A+28>>2],y2[e+24>>2]=y2[A+32>>2],y2[e+4>>2]=r,y2[e+44>>2]=y2[A+52>>2],y2[e+48>>2]=0,11253},function(A,e,r){A|=0,e|=0,r|=0;var f,i=0,a=j2(0),n=j2(0),b=0,t=j2(0),o=j2(0),c=0,k=0,u=0,l=j2(0),s=j2(0),v=j2(0);if(L2=f=L2-2048|0,y2[A>>2]=0,y2[A+4>>2]=0,y2[(i=A+8|0)>>2]=0,y2[i+4>>2]=0,t=H2[r>>2],a=H2[r+4>>2],o=H2[r+8>>2],n=j2(j2(j2(t*t)+j2(a*a))+j2(o*o)),l=j2(1),n>2]+96>>2]](e)))for(o=j2(-0xde0b6b000000000);;){if(c=128,127<((0|N2[y2[y2[e>>2]+96>>2]](e))-k|0)||1<=(0|(c=(0|N2[y2[y2[e>>2]+96>>2]](e))-k|0))){for(r=0,i=f;;)if(N2[y2[y2[e>>2]+108>>2]](e,r,i),i=i+16|0,(0|c)==(0|(r=r+1|0)))break;for(i=0,u=-1,a=j2(-34028234663852886e22),r=f;;)if(a=(b=a<(t=j2(j2(j2(n*H2[r>>2])+j2(v*H2[r+4>>2]))+j2(s*H2[r+8>>2]))))?t:a,u=b?i:u,r=r+16|0,(0|c)==(0|(i=i+1|0)))break}else a=j2(-34028234663852886e22),u=-1;if(o>2],y2[(i=A+8|0)>>2]=y2[b+8>>2],y2[i+4>>2]=r,r=y2[b+4>>2],y2[A>>2]=y2[b>>2],y2[A+4>>2]=r,o=a),k=k+128|0,!((0|N2[y2[y2[e>>2]+96>>2]](e))>(0|k)))break}L2=2048+f|0},function(A,e,r,f){A|=0,e|=0,r|=0,f|=0;var i,a,n,b,t,o,c,k,u,l,s,v=0,B=0,d=j2(0),_=0,g=0,Z=0,C=0;if(j2(0),j2(0),j2(0),j2(0),L2=s=L2-2048|0,1<=(0|f)){for(B=r+12|0,v=f;;)if(y2[B>>2]=-581039253,B=B+16|0,!(v=v-1|0))break;for(;;){if(1<=(0|N2[y2[y2[A>>2]+96>>2]](A)))for(n=12+(i=(v=C<<4)+r|0)|0,o=8+(a=e+v|0)|0,c=4+a|0,g=0;;){if(Z=128,127<((0|N2[y2[y2[A>>2]+96>>2]](A))-g|0)||1<=(0|(Z=(0|N2[y2[y2[A>>2]+96>>2]](A))-g|0))){for(B=0,v=s;;)if(N2[y2[y2[A>>2]+108>>2]](A,B,v),v=v+16|0,(0|Z)==(0|(B=B+1|0)))break;for(k=H2[o>>2],u=H2[c>>2],l=H2[a>>2],v=0,_=-1,d=j2(-34028234663852886e22),B=s;;)if(d=(t=d<(b=j2(j2(j2(l*H2[B>>2])+j2(u*H2[B+4>>2]))+j2(k*H2[B+8>>2]))))?b:d,_=t?v:_,B=B+16|0,(0|Z)==(0|(v=v+1|0)))break}else d=j2(-34028234663852886e22),_=-1;if(H2[n>>2]>2],y2[(B=8+i|0)>>2]=y2[v+8>>2],y2[B+4>>2]=_,B=y2[v+4>>2],y2[i>>2]=y2[v>>2],y2[4+i>>2]=B,H2[n>>2]=d),g=g+128|0,!((0|N2[y2[y2[A>>2]+96>>2]](A))>(0|g)))break}if((0|(C=C+1|0))==(0|f))break}}L2=2048+s|0},function(A,e){A|=0,e|=0;var V,x,p,r=0,f=0,i=0,a=0,n=0,b=0,t=j2(0),o=0,c=0,k=j2(0),u=0,l=0,s=j2(0),v=0,B=j2(0),d=0,_=0,g=j2(0),Z=0,C=0,w=0,E=j2(0),Q=j2(0),h=0,G=j2(0),F=j2(0),D=j2(0),Y=j2(0),m=j2(0),N=0,R=0,I=j2(0),W=j2(0),S=0,J=j2(0),M=0,X=j2(0),y=0,T=L2-192|0;if(L2=T,(f=y2[A+60>>2])&&(N2[y2[y2[f>>2]>>2]](f),f=y2[A+60>>2])&&(y2[6503]=y2[6503]+1,$2(y2[f-4>>2])),y2[6502]=y2[6502]+1,(f=q2(151))&&(y2[(r=f+19&-16)-4>>2]=f),y2[r>>2]=10992,X2[r+20|0]=1,y2[r+16>>2]=0,X2[r+40|0]=1,y2[r+8>>2]=0,y2[r+12>>2]=0,y2[r+36>>2]=0,X2[r+60|0]=1,y2[r+28>>2]=0,y2[r+32>>2]=0,y2[r+56>>2]=0,y2[r+48>>2]=0,y2[r+52>>2]=0,y2[A+60>>2]=r,!(((f=0)|N2[y2[y2[A>>2]+96>>2]](A))<1)){for(f=0;;){if((0|f)==(0|c)&&!((0|(n=f?f<<1:1))<=(0|f))){a=0,n&&(y2[6502]=y2[6502]+1,r=q2(16+(n<<4|3)|0))&&(y2[(a=r+19&-16)-4>>2]=r);A:{if(1<=(0|f)){for(r=a,i=S;;)if(l=y2[i+4>>2],y2[r>>2]=y2[i>>2],y2[r+4>>2]=l,l=y2[(d=i+8|0)+4>>2],y2[(u=r+8|0)>>2]=y2[d>>2],y2[u+4>>2]=l,r=r+16|0,i=i+16|0,!(f=f-1|0))break}else if(!S)break A;y2[6503]=y2[6503]+1,$2(y2[S-4>>2])}f=n,S=a}if(r=y2[108+T>>2],y2[(a=n=(c<<4)+S|0)>>2]=y2[104+T>>2],y2[a+4>>2]=r,r=y2[(a=112+T|0)+4>>2],y2[(i=n+8|0)>>2]=y2[a>>2],y2[i+4>>2]=r,N2[y2[y2[A>>2]+108>>2]](A,c,n),c=c+1|0,!((0|N2[y2[y2[A>>2]+96>>2]](A))>(0|c)))break}f=S}X2[140+T|0]=1,y2[136+T>>2]=0,X2[160+T|0]=1,y2[(r=128+T|0)>>2]=0,y2[r+4>>2]=0,y2[156+T>>2]=0,y2[(r=148+T|0)>>2]=0,y2[r+4>>2]=0,y2[116+T>>2]=0,X2[120+T|0]=1,y2[108+T>>2]=0,y2[112+T>>2]=0;A:{e:{if(!e){z0(104+T|0,f,c);break A}if(!(((a=0)|c)<1)){for(f=0;;){if((v=(e=v)+1|0)>>>0>>0)for(C=(M=(e<<4)+S|0)+8|0,R=M+4|0,d=v;;){if((0|(d=(e=d)+1|0))<(0|c))for(w=(h=(e<<4)+S|0)+8|0,_=h+4|0,n=d;;){J=H2[M>>2],g=j2(H2[h>>2]-J),G=H2[R>>2],B=j2(H2[(e=(n<<4)+S|0)+4>>2]-G),t=j2(H2[_>>2]-G),s=j2(H2[e>>2]-J),X=j2(j2(g*B)-j2(t*s)),E=H2[C>>2],k=j2(H2[e+8>>2]-E),Q=j2(t*k),t=j2(H2[w>>2]-E),B=j2(Q-j2(t*B)),s=j2(j2(t*s)-j2(g*k)),N=!((t=j2(j2(X*X)+j2(j2(B*B)+j2(s*s))))>j2(9999999747378752e-20));r:if(!N){D=j2(j2(1)/j2(K2(t))),Y=j2(X*D),I=j2(s*D),g=j2(B*D),r=a,i=f;f:{i:if(!(l=(0|f)<1)){for(;;){if(j2(j2(j2(g*H2[r>>2])+j2(I*H2[r+4>>2]))+j2(Y*H2[r+8>>2]))>j2(.9990000128746033))break;if(r=r+16|0,!(i=i-1|0))break i}e=a;break f}k=j2(j2(j2(g*J)+j2(I*G))+j2(Y*E)),t=j2(-k),r=S,i=c;i:{for(;;){if(j2(j2(j2(j2(j2(g*H2[r>>2])+j2(I*H2[r+4>>2]))+j2(Y*H2[r+8>>2]))-k)+j2(-.009999999776482582))>j2(0))break;if(r=r+16|0,!(i=i-1|0))break i}e=a;break f}i:if((0|f)!=(0|b))e=a;else if((0|(b=f?f<<1:1))<=(0|f))b=f,e=a;else{if(e=0,b&&(y2[6502]=y2[6502]+1,r=q2(16+(b<<4|3)|0))&&(y2[(e=r+19&-16)-4>>2]=r),l){if(!a)break i}else for(r=e,i=a,o=f;;)if(l=y2[i+4>>2],y2[r>>2]=y2[i>>2],y2[r+4>>2]=l,l=y2[(u=i+8|0)+4>>2],y2[(Z=r+8|0)>>2]=y2[u>>2],y2[Z+4>>2]=l,r=r+16|0,i=i+16|0,!(o=o-1|0))break;y2[6503]=y2[6503]+1,$2(y2[a-4>>2])}H2[(r=(f<<4)+e|0)+12>>2]=t,H2[r+8>>2]=Y,H2[r+4>>2]=I,H2[r>>2]=g,f=f+1|0}if(N)a=e;else{if(E=j2(D*j2(-X)),g=j2(D*j2(-s)),s=j2(D*j2(-B)),!(l=(0|f)<1))for(r=e,i=f;;){if(j2(j2(j2(s*H2[r>>2])+j2(g*H2[r+4>>2]))+j2(E*H2[r+8>>2]))>j2(.9990000128746033)){a=e;break r}if(r=r+16|0,!(i=i-1|0))break}for(k=j2(j2(j2(s*H2[M>>2])+j2(g*H2[R>>2]))+j2(E*H2[C>>2])),t=j2(-k),r=S,i=c;;){if(j2(j2(j2(j2(j2(s*H2[r>>2])+j2(g*H2[r+4>>2]))+j2(E*H2[r+8>>2]))-k)+j2(-.009999999776482582))>j2(0)){a=e;break r}if(r=r+16|0,!(i=i-1|0))break}f:if((0|f)!=(0|b))a=e;else if((0|(b=f?f<<1:1))<=(0|f))b=f,a=e;else{if(a=0,b&&(y2[6502]=y2[6502]+1,r=q2(16+(b<<4|3)|0))&&(y2[(a=r+19&-16)-4>>2]=r),l){if(!e)break f}else for(r=0,i=f;;)if(l=y2[(Z=e+r|0)+4>>2],y2[(o=u=r+a|0)>>2]=y2[Z>>2],y2[o+4>>2]=l,l=y2[(o=Z+8|0)+4>>2],y2[(u=u+8|0)>>2]=y2[o>>2],y2[u+4>>2]=l,r=r+16|0,!(i=i-1|0))break;y2[6503]=y2[6503]+1,$2(y2[e-4>>2])}H2[(e=(f<<4)+a|0)+12>>2]=t,H2[e+8>>2]=E,H2[e+4>>2]=g,H2[e>>2]=s,f=f+1|0}}if((0|c)==(0|(n=n+1|0)))break}if((0|c)==(0|d))break}if((0|c)==(0|v))break}if((0|f)<1)o=0;else{for(c=b=o=0;;){if(y2[(Z=40+T|0)>>2]=y2[(r=(c<<4)+a|0)+8>>2],e=y2[r+4>>2],y2[32+T>>2]=y2[r>>2],y2[36+T>>2]=e,t=j2(H2[r+12>>2]-j2(N2[y2[y2[A>>2]+48>>2]](A))),(0|c)!=(0|(e=b)))e=c;else if((0|(b=e?e<<1:1))<=(0|e))b=e;else{u=0,b&&(y2[6502]=y2[6502]+1,r=q2(16+(b<<4|3)|0))&&(y2[(u=r+19&-16)-4>>2]=r);r:{if(1<=(0|e)){for(r=u,i=o,n=e;;)if(l=y2[i+4>>2],y2[r>>2]=y2[i>>2],y2[r+4>>2]=l,l=y2[(d=i+8|0)+4>>2],y2[(v=r+8|0)>>2]=y2[d>>2],y2[v+4>>2]=l,r=r+16|0,i=i+16|0,!(n=n-1|0))break}else if(!o)break r;y2[6503]=y2[6503]+1,$2(y2[o-4>>2])}o=u}if(r=(e<<4)+o|0,e=y2[36+T>>2],y2[r>>2]=y2[32+T>>2],y2[r+4>>2]=e,e=y2[Z>>2],H2[r+12>>2]=t,y2[r+8>>2]=e,(0|(c=c+1|0))==(0|f))break}if(!((0|f)<1)){for(c=d=r=l=0;;){if((c=(e=c)+1|0)>>>0>>0)for(p=12+(V=(e<<4)+o|0)|0,y=4+V|0,M=8+V|0,b=c;;){if((0|(b=(e=b)+1|0))<(0|f))for(C=12+(x=(e<<4)+o|0)|0,R=8+x|0,h=4+x|0,i=b;;){n=r,G=H2[(e=(i<<4)+o|0)+4>>2],E=H2[x>>2],g=H2[h>>2],s=H2[e>>2],B=j2(j2(G*E)-j2(g*s)),k=H2[e+8>>2],t=H2[R>>2],D=j2(j2(g*k)-j2(t*G)),Y=j2(j2(t*s)-j2(k*E));r:if(j2(j2(B*B)+j2(j2(D*D)+j2(Y*Y)))>j2(9999999747378752e-20)&&(F=H2[y>>2],m=H2[V>>2],I=j2(j2(s*F)-j2(G*m)),W=H2[M>>2],X=j2(j2(G*W)-j2(k*F)),J=j2(j2(k*m)-j2(s*W)),j2(j2(I*I)+j2(j2(X*X)+j2(J*J)))>j2(9999999747378752e-20))&&(s=j2(j2(g*m)-j2(E*F)),G=j2(j2(t*F)-j2(g*W)),k=j2(j2(E*W)-j2(t*m)),j2(j2(s*s)+j2(j2(G*G)+j2(k*k)))>j2(9999999747378752e-20))&&(t=j2(j2(W*B)+j2(j2(F*Y)+j2(D*m))),j2(z2(t))>j2(9.999999974752427e-7))){E=j2(j2(-1)/t),g=H2[e+12>>2],Q=B,B=H2[p>>2],t=H2[C>>2],s=j2(E*j2(j2(s*g)+j2(j2(Q*B)+j2(I*t)))),k=j2(E*j2(j2(k*g)+j2(j2(Y*B)+j2(J*t)))),t=j2(E*j2(j2(G*g)+j2(j2(D*B)+j2(X*t)))),r=o,e=f;f:{for(;;){if(j2(j2(H2[r+12>>2]+j2(j2(j2(t*H2[r>>2])+j2(k*H2[r+4>>2]))+j2(s*H2[r+8>>2])))+j2(-.009999999776482582))>j2(0))break;if(r=r+16|0,!(e=e-1|0))break f}r=n;break r}if((0|n)!=(0|d))r=n,n=d;else if((0|(r=n?n<<1:1))<=(0|n))r=n;else{v=0,r&&(y2[6502]=y2[6502]+1,e=q2(16+(r<<4|3)|0))&&(y2[(v=e+19&-16)-4>>2]=e);f:{if(1<=(0|n)){for(e=v,u=l,Z=n;;)if(N=y2[u+4>>2],y2[e>>2]=y2[u>>2],y2[e+4>>2]=N,N=y2[(_=u+8|0)+4>>2],y2[(w=e+8|0)>>2]=y2[_>>2],y2[w+4>>2]=N,e=e+16|0,u=u+16|0,!(Z=Z-1|0))break}else if(!l)break f;y2[6503]=y2[6503]+1,$2(y2[l-4>>2])}l=v}y2[(e=(n<<4)+l|0)+12>>2]=0,H2[e+8>>2]=s,H2[e+4>>2]=k,H2[e>>2]=t,d=d+1|0}if((0|(i=i+1|0))==(0|f))break}if((0|f)==(0|b))break}if((0|f)==(0|c))break}if(z0(104+T|0,l,d),!l)break e;y2[6503]=y2[6503]+1,$2(y2[l-4>>2]);break e}}}z0(104+T|0,0,0)}o&&(y2[6503]=y2[6503]+1,$2(y2[o-4>>2])),a&&(y2[6503]=y2[6503]+1,$2(y2[a-4>>2]))}if(1<=((N=0)|(e=y2[148+T>>2])))for(y2[6502]=y2[6502]+1,(f=q2(16+(e<<4|3)|0))&&(y2[(N=f+19&-16)-4>>2]=f),r=N,i=e;;)if(f=y2[36+T>>2],y2[r>>2]=y2[32+T>>2],y2[r+4>>2]=f,f=y2[(a=40+T|0)+4>>2],y2[(n=r+8|0)>>2]=y2[a>>2],y2[n+4>>2]=f,r=r+16|0,!(i=i-1|0))break;if(y2[92+T>>2]=0,X2[96+T|0]=1,y2[84+T>>2]=0,y2[88+T>>2]=0,X2[0|(f=47+T|0)]=0,X2[f+1|0]=0,X2[f+2|0]=0,X2[f+3|0]=0,y2[(f=40+T|0)>>2]=0,y2[f+4>>2]=0,y2[32+T>>2]=0,-1<((y2[36+T>>2]=0)|e)){if(e)for($0(80+T|0,e),r=y2[92+T>>2]+20|0,a=32+T|3,f=e;;)if(y2[(i=r-16|0)>>2]=0,y2[i+4>>2]=0,X2[r-4|0]=1,y2[i+8>>2]=0,n=U2[a+4|0]|U2[a+5|0]<<8|(U2[a+6|0]<<16|U2[a+7|0]<<24),i=U2[0|a]|U2[a+1|0]<<8|(U2[a+2|0]<<16|U2[a+3|0]<<24),X2[0|r]=i,X2[r+1|0]=i>>>8,X2[r+2|0]=i>>>16,X2[r+3|0]=i>>>24,X2[r+4|0]=n,X2[r+5|0]=n>>>8,X2[r+6|0]=n>>>16,X2[r+7|0]=n>>>24,n=U2[(i=a+8|0)+4|0]|U2[i+5|0]<<8|(U2[i+6|0]<<16|U2[i+7|0]<<24),i=U2[0|i]|U2[i+1|0]<<8|(U2[i+2|0]<<16|U2[i+3|0]<<24),X2[0|(b=r+8|0)]=i,X2[b+1|0]=i>>>8,X2[b+2|0]=i>>>16,X2[b+3|0]=i>>>24,X2[b+4|0]=n,X2[b+5|0]=n>>>8,X2[b+6|0]=n>>>16,X2[b+7|0]=n>>>24,r=r+36|0,!(f=f-1|0))break;if(y2[84+T>>2]=e,i=y2[108+T>>2],u=y2[A+60>>2],(0|(a=y2[u+8>>2]))<(0|i)){if(y2[u+12>>2]<(0|i)){if(1<=((o=0)|(f=i?(y2[6502]=y2[6502]+1,(f=q2(16+(i<<4|3)|0))&&(y2[(o=f+19&-16)-4>>2]=f),y2[u+8>>2]):a)))for(r=0;;)if(d=y2[u+16>>2]+r|0,n=y2[d+4>>2],y2[(b=l=r+o|0)>>2]=y2[d>>2],y2[b+4>>2]=n,n=y2[(b=d+8|0)+4>>2],y2[(l=l+8|0)>>2]=y2[b>>2],y2[l+4>>2]=n,r=r+16|0,!(f=f-1|0))break;(f=y2[u+16>>2])&&(U2[u+20|0]&&(y2[6503]=y2[6503]+1,$2(y2[f-4>>2])),y2[u+16>>2]=0),y2[u+16>>2]=o,y2[u+12>>2]=i,X2[u+20|0]=1}for(r=a<<4,f=i-a|0;;)if(a=y2[36+T>>2],b=y2[u+16>>2]+r|0,y2[(n=b)>>2]=y2[32+T>>2],y2[n+4>>2]=a,a=y2[(n=40+T|0)+4>>2],y2[(b=b+8|0)>>2]=y2[n>>2],y2[b+4>>2]=a,r=r+16|0,!(f=f-1|0))break}if(1<=(0|(y2[u+8>>2]=i)))for(r=0;;)if(b=y2[116+T>>2]+r|0,f=y2[b+4>>2],n=y2[y2[A+60>>2]+16>>2]+r|0,y2[(a=n)>>2]=y2[b>>2],y2[a+4>>2]=f,f=y2[(a=b+8|0)+4>>2],y2[(n=n+8|0)>>2]=y2[a>>2],y2[n+4>>2]=f,r=r+16|0,!(i=i-1|0))break;if(!((0|e)<1))for(c=0;;){for(o=0,n=d=y2[136+T>>2]+P2(y2[y2[156+T>>2]+(c<<2)>>2],12)|0;;){if(w=(h=(Z=P2(c,36))+y2[92+T>>2]|0)+4|0,v=y2[8+(P2(y2[n+4>>2],12)+n|0)>>2],(0|(f=y2[h+4>>2]))==y2[h+8>>2]&&!((0|(_=f?f<<1:1))<=(0|f))){_?(l=0,y2[6502]=y2[6502]+1,(f=q2(16+(_<<2|3)|0))&&(y2[(l=f+19&-16)-4>>2]=f),f=y2[w>>2]):l=0,b=h+8|0,u=h+12|0,a=y2[h+12>>2];A:{if(1<=(0|f)){for(r=l,i=a;;)if(y2[r>>2]=y2[i>>2],r=r+4|0,i=i+4|0,!(f=f-1|0))break}else if(!a)break A;U2[h+16|0]&&(y2[6503]=y2[6503]+1,$2(y2[a-4>>2])),y2[u>>2]=0,f=y2[w>>2]}y2[u>>2]=l,y2[b>>2]=_,X2[h+16|0]=1}if(y2[y2[h+12>>2]+(f<<2)>>2]=v,y2[w>>2]=y2[w>>2]+1,(0|o)<=1&&(f=y2[116+T>>2],E=H2[(r=f+(v<<4)|0)+4>>2],f=f+(y2[n+8>>2]<<4)|0,g=H2[f+4>>2],B=H2[r>>2],s=H2[f>>2],k=H2[r+8>>2],t=H2[f+8>>2],y2[(f=(32+T|0)+(o<<4)|0)+12>>2]=0,B=j2(s-B),s=j2(g-E),t=j2(t-k),k=j2(j2(1)/j2(K2(j2(j2(j2(B*B)+j2(s*s))+j2(t*t))))),H2[f+8>>2]=t*k,H2[f+4>>2]=s*k,H2[f>>2]=B*k,o=o+1|0),f=P2(y2[n+4>>2],12)+n|0,(0|d)==(0|(n=P2(y2[f>>2],12)+f|0)))break}if(2==(0|o)?(G=H2[36+T>>2],k=H2[52+T>>2],E=H2[48+T>>2],g=H2[40+T>>2],B=H2[32+T>>2],t=H2[56+T>>2],y2[(r=(c<<4)+N|0)+12>>2]=0,s=j2(j2(k*B)-j2(G*E)),k=j2(j2(G*t)-j2(g*k)),t=j2(j2(g*E)-j2(t*B)),B=j2(j2(1)/j2(K2(j2(j2(s*s)+j2(j2(k*k)+j2(t*t)))))),H2[r+8>>2]=s*B,H2[r+4>>2]=t*B,t=j2(k*B),H2[r>>2]=t,i=y2[92+T>>2],H2[(f=Z+i|0)+20>>2]=t,y2[f+24>>2]=y2[r+4>>2],y2[f+28>>2]=y2[r+8>>2],y2[f+32>>2]=1900671690):(y2[(f=(c<<4)+N|0)>>2]=0,y2[f+4>>2]=0,y2[(f=f+8|0)>>2]=0,y2[f+4>>2]=0,i=y2[92+T>>2]),(0|(f=y2[(n=i+Z|0)+4>>2]))<1)Q=j2(1.0000000150474662e30);else for(r=y2[n+12>>2],B=H2[(a=(c<<4)+N|0)+8>>2],s=H2[a+4>>2],k=H2[a>>2],a=y2[y2[A+60>>2]+16>>2],Q=j2(1.0000000150474662e30);;)if(i=a+(y2[r>>2]<<4)|0,Q=(t=j2(j2(j2(H2[i>>2]*k)+j2(H2[i+4>>2]*s))+j2(H2[i+8>>2]*B)))>2]=-Q,(0|e)==(0|(c=c+1|0)))break}}else U();if(1<=y2[84+T>>2]){for(n=d=u=0;;){if((0|n)==(0|u))if((0|(n=u?u<<1:1))<=(0|u))n=u;else{a=0,n&&(y2[6502]=y2[6502]+1,e=q2(16+(n<<2|3)|0))&&(y2[(a=e+19&-16)-4>>2]=e);A:{if(u){for(r=a,i=d,f=u;;)if(y2[r>>2]=y2[i>>2],r=r+4|0,i=i+4|0,!(f=f-1|0))break}else if(!d){n=1;break A}y2[6503]=y2[6503]+1,$2(y2[d-4>>2])}d=a}if(!((0|(u=(y2[(u<<2)+d>>2]=u)+1|0))>2]))break}for(y=52+T|0;;){r=y2[((e=u-1|0)<<2)+d>>2],y2[6502]=y2[6502]+1,l=0,(f=q2(23))&&(y2[(l=f+19&-16)-4>>2]=f),y2[l>>2]=r;A:{if((0|u)<2)Z=1,u=e;else{for(f=(i=y2[92+T>>2])+P2(r,36)|0,s=H2[f+20>>2],k=H2[f+28>>2],t=H2[f+24>>2],a=u-2|0,u=e,o=l,Z=r=1;;){n=y2[(a<<2)+d>>2],e=P2(n,36)+i|0;e:if(j2(j2(j2(s*H2[e+20>>2])+j2(t*H2[e+24>>2]))+j2(k*H2[e+28>>2]))>j2(.9990000128746033)){r:if((0|r)!=(0|Z)||(0|(e=r?r<<1:1))<=(0|r))e=r,l=o;else{if(l=0,e&&(y2[6502]=y2[6502]+1,f=q2(16+(e<<2|3)|0))&&(y2[(l=f+19&-16)-4>>2]=f),1<=(0|r)){for(i=l,f=o;;)if(y2[i>>2]=y2[f>>2],i=i+4|0,f=f+4|0,!(r=r-1|0))break}else if(!o)break r;y2[6503]=y2[6503]+1,$2(y2[o-4>>2])}if(y2[(Z<<2)+l>>2]=n,Z=Z+1|0,!((0|u)<1)){for(i=0,r=d;;){if((0|n)==y2[r>>2])break;if(r=r+4|0,(0|u)==(0|(i=i+1|0)))break e}(0|u)<=(0|i)||(y2[r>>2]=y2[(f=((u=u-1|0)<<2)+d|0)>>2],y2[f>>2]=n)}}else e=r,l=o;if(!(1<=(0|a)))break;a=a-1|0,i=y2[92+T>>2],o=l,r=e}e:if(!((0|Z)<=1)){for(y2[20+T>>2]=f=0,X2[24+T|0]=1,y2[12+T>>2]=0,y2[16+T>>2]=0,Q=j2(0),F=j2(a=0),m=j2(0),v=0;;){if(e=y2[92+T>>2]+P2(y2[(v<<2)+l>>2],36)|0,s=H2[e+20>>2],k=H2[e+28>>2],t=H2[e+24>>2],1<=(0|(o=y2[e+4>>2])))for(h=e+4|0,w=e+12|0,e=0;;){C=y2[y2[w>>2]+(e<<2)>>2],b=y2[y2[A+60>>2]+16>>2]+(C<<4)|0,r=y2[(i=b+8|0)+4>>2],y2[(n=c=176+T|0)>>2]=y2[i>>2],y2[n+4>>2]=r,r=y2[b+4>>2],y2[168+T>>2]=y2[b>>2],y2[172+T>>2]=r;r:{if(1<=(0|a)){for(r=y2[20+T>>2]+20|0,i=0;;){if((0|C)==y2[r>>2])break r;if(r=r+24|0,!((0|(i=i+1|0))<(0|f)))break}a=f}if(r=y2[c+4>>2],y2[(i=R=40+T|0)>>2]=y2[c>>2],y2[i+4>>2]=r,r=y2[172+T>>2],y2[32+T>>2]=y2[168+T>>2],y2[36+T>>2]=r,y2[16+T>>2]!=(0|a))f=a;else if((0|(M=a?a<<1:1))<=(0|a))f=a;else{n=0,M&&(y2[6502]=y2[6502]+1,(r=q2(16+(3|P2(M,24))|0))&&(y2[(n=r+19&-16)-4>>2]=r),a=f),b=y2[20+T>>2];f:{if(1<=(0|a)){for(r=n,i=b;;)if(o=y2[i+4>>2],y2[r>>2]=y2[i>>2],y2[r+4>>2]=o,o=y2[(c=i+16|0)+4>>2],y2[(_=r+16|0)>>2]=y2[c>>2],y2[_+4>>2]=o,o=y2[(c=i+8|0)+4>>2],y2[(_=r+8|0)>>2]=y2[c>>2],y2[_+4>>2]=o,r=r+24|0,i=i+24|0,!(a=a-1|0))break}else if(!b)break f;U2[24+T|0]&&(y2[6503]=y2[6503]+1,$2(y2[b-4>>2]),f=y2[12+T>>2]),y2[20+T>>2]=0}y2[20+T>>2]=n,X2[24+T|0]=1,y2[16+T>>2]=M}r=y2[20+T>>2]+P2(f,24)|0,f=y2[36+T>>2],y2[r>>2]=y2[32+T>>2],y2[r+4>>2]=f,y2[r+20>>2]=C,y2[r+16>>2]=y2[48+T>>2],f=y2[R+4>>2],y2[(r=r+8|0)>>2]=y2[R>>2],y2[r+4>>2]=f,f=y2[12+T>>2]+1|0,y2[12+T>>2]=f,o=y2[h>>2]}if(a=f,!((0|(e=e+1|0))<(0|o)))break}if(m=j2(s+m),Q=j2(k+Q),F=j2(t+F),(0|Z)==(0|(v=v+1|0)))break}y2[36+T>>2]=0,y2[40+T>>2]=0,e=y2[92+T>>2]+P2(y2[l>>2],36)|0,y2[52+T>>2]=y2[e+20>>2],y2[56+T>>2]=y2[e+24>>2],y2[60+T>>2]=y2[e+28>>2],y2[44+T>>2]=0,y2[64+T>>2]=y2[e+32>>2],t=j2(j2(1)/j2(K2(j2(j2(j2(m*m)+j2(F*F))+j2(Q*Q))))),W=j2(F*t),D=j2(m*t),X2[48+T|0]=1,Y=j2(Q*t),t=j2(z2(Y))>j2(.7071067690849304)?(t=j2(j2(Y*Y)+j2(W*W)),k=j2(j2(1)/j2(K2(t))),X=j2(t*k),Q=j2(k*j2(-Y)),J=j2(D*Q),m=j2(0),F=j2(W*k),j2(F*j2(-D))):(t=j2(j2(D*D)+j2(W*W)),k=j2(j2(1)/j2(K2(t))),J=j2(t*k),Q=j2(D*k),X=j2(Q*j2(-Y)),F=j2(0),m=j2(k*j2(-W)),j2(Y*m));r:{f:{i:if(2<=(0|f)){for(n=0,r=C=y2[20+T>>2];;)if(R=r+8|0,j2(j2(j2(m*H2[r>>2])+j2(Q*H2[r+4>>2]))+j2(F*H2[R>>2]))>2])+j2(Q*H2[C+4>>2]))+j2(F*H2[C+8>>2]))&&(_=y2[(h=C+16|0)+4>>2],b=y2[h>>2],y2[(e=184+T|0)>>2]=b,y2[e+4>>2]=_,c=y2[(e=v=C+8|0)+4>>2],i=y2[e>>2],y2[(a=176+T|0)>>2]=i,y2[a+4>>2]=c,o=y2[C+4>>2],a=y2[C>>2],y2[168+T>>2]=a,y2[172+T>>2]=o,e=y2[(w=r+16|0)+4>>2],y2[h>>2]=y2[w>>2],y2[h+4>>2]=e,e=y2[R+4>>2],y2[v>>2]=y2[R>>2],y2[v+4>>2]=e,e=y2[r+4>>2],y2[C>>2]=y2[r>>2],y2[C+4>>2]=e,y2[w>>2]=b,y2[w+4>>2]=_,y2[R>>2]=i,y2[R+4>>2]=c,y2[r>>2]=a,y2[r+4>>2]=o),r=r+24|0,!((0|(n=n+1|0))<(0|f)))break;if(y2[C+16>>2]=-246811958,2<=(0|f))for(r=C+40|0,n=f-1|0,G=H2[C+8>>2],E=H2[C>>2],g=H2[C+4>>2];;)if(B=j2(H2[(e=r)-16>>2]-E),s=j2(H2[r-12>>2]-g),k=j2(H2[r-8>>2]-G),I=j2(j2(j2(X*B)+j2(t*s))+j2(J*k)),s=j2(j2(j2(m*B)+j2(Q*s))+j2(F*k)),B=j2(j2(I*I)+j2(s*s))=j2(0)?(s=j2(j2(s-k)/j2(s+k)),j2(.7853981852531433)):(s=j2(j2(s+k)/j2(k-s)),j2(2.356194496154785)),k=j2(B+j2(s*j2(-.7853981852531433))),I>2]=B,r=r+24|0,!(n=n-1|0))break;if(e=y2[(r=C+8|0)+4>>2],y2[(a=176+T|0)>>2]=y2[r>>2],y2[a+4>>2]=e,e=y2[C+4>>2],y2[168+T>>2]=y2[C>>2],y2[172+T>>2]=e,!function A(e,r,f,i){var a=j2(0),n=0,b=0,t=0,o=j2(0),c=0,k=0,u=0,l=0,s=0,v=j2(0),B=0,d=j2(0),_=j2(0),g=j2(0),Z=j2(0),C=0,w=0,E=0,Q=0,h=j2(0),G=j2(0),F=j2(0),D=0;u=L2-32|0;L2=u;c=y2[e+12>>2];b=c+P2((f+i|0)/2|0,24)|0;Q=y2[b+20>>2];d=H2[b+16>>2];h=H2[b+8>>2];G=H2[b+4>>2];F=H2[b>>2];b=f;k=i;for(;;){for(_=H2[r>>2],o=j2(F-_),a=j2(o*o),g=H2[r+4>>2],o=j2(G-g),a=j2(a+j2(o*o)),Z=H2[r+8>>2],o=j2(h-Z),o=j2(a+j2(o*o)),n=20+(P2(b,24)+c|0)|0;;){a:{n:{if((a=H2[n-4>>2])!=d){if(a>2]-_),v=j2(a*a),a=j2(H2[n-16>>2]-g),v=j2(v+j2(a*a)),a=j2(H2[n-12>>2]-Z),1!=(0|((a=j2(v+j2(a*a)))!=o?a>2]<(0|Q))))break a}n=n+24|0,b=b+1|0;continue}break}for(l=P2(k,24);;){a:{n:{if((a=H2[(C=(t=l+c|0)+16|0)>>2])!=d){if(d>2]-_),v=j2(a*a),a=j2(H2[t+4>>2]-g),v=j2(v+j2(a*a)),a=j2(H2[t+8>>2]-Z),1!=(0|((a=j2(v+j2(a*a)))!=o?o>2]>(0|Q))))break a}l=l-24|0,k=k-1|0;continue}break}if((0|b)<=(0|k)&&(s=y2[4+(B=w=(n=n-20|0)+16|0)>>2],y2[(c=24+u|0)>>2]=y2[B>>2],y2[c+4>>2]=s,D=y2[4+(B=n+8|0)>>2],y2[(s=E=16+u|0)>>2]=y2[B>>2],y2[4+s>>2]=D,s=y2[n+4>>2],y2[8+u>>2]=y2[n>>2],y2[12+u>>2]=s,s=y2[t+4>>2],y2[n>>2]=y2[t>>2],y2[n+4>>2]=s,t=y2[(n=t+8|0)+4>>2],y2[B>>2]=y2[n>>2],y2[4+B>>2]=t,n=y2[C+4>>2],y2[w>>2]=y2[C>>2],y2[4+w>>2]=n,n=y2[e+12>>2]+l|0,l=y2[12+u>>2],y2[n>>2]=y2[8+u>>2],y2[n+4>>2]=l,l=y2[c+4>>2],y2[(t=n+16|0)>>2]=y2[c>>2],y2[t+4>>2]=l,t=y2[4+E>>2],y2[(n=n+8|0)>>2]=y2[E>>2],y2[n+4>>2]=t,k=k-1|0,b=b+1|0),!((0|b)<=(0|k)))break;c=y2[e+12>>2]}(0|f)<(0|k)&&A(e,r,f,k);(0|b)<(0|i)&&A(e,r,b,i);L2=32+u|0}(8+T|0,168+T|0,1,f-1|0),b=0,y2[6502]=y2[6502]+1,c=y2[20+T>>2],r=0,(e=q2(43))&&(y2[(r=e+19&-16)-4>>2]=e),i=y2[20+T>>2],e=y2[c+4>>2],y2[r>>2]=y2[c>>2],y2[r+4>>2]=e,e=y2[(f=c+16|0)+4>>2],y2[(a=o=r+16|0)>>2]=y2[f>>2],y2[a+4>>2]=e,e=y2[(f=c+8|0)+4>>2],y2[(a=n=r+8|0)>>2]=y2[f>>2],y2[a+4>>2]=e,y2[6502]=y2[6502]+1,(e=q2(67))&&(y2[(b=e+19&-16)-4>>2]=e),e=y2[r+4>>2],y2[b>>2]=y2[r>>2],y2[b+4>>2]=e,e=y2[o+4>>2],y2[(f=b+16|0)>>2]=y2[o>>2],y2[f+4>>2]=e,e=y2[n+4>>2],y2[(f=b+8|0)>>2]=y2[n>>2],y2[f+4>>2]=e,r&&(y2[6503]=y2[6503]+1,$2(y2[r-4>>2])),e=y2[(a=i+24|0)+4>>2],y2[b+24>>2]=y2[a>>2],y2[b+28>>2]=e,e=y2[(f=a+16|0)+4>>2],y2[(r=b+40|0)>>2]=y2[f>>2],y2[r+4>>2]=e,e=y2[(f=a+8|0)+4>>2],y2[(r=b+32|0)>>2]=y2[f>>2],y2[r+4>>2]=e,2!=y2[12+T>>2]){for(c=i=a=f=2;;){if((0|i)<2)n=b,e=f;else{r=(P2(i,24)+b|0)-48|0,w=y2[20+T>>2]+P2(c,24)|0,J=H2[w+8>>2],G=H2[w+4>>2],E=H2[w>>2];a:{for(;;){if(k=H2[r>>2],g=j2(k-H2[r+24>>2]),t=H2[r+4>>2],B=j2(t-G),t=j2(t-H2[r+28>>2]),s=j2(k-E),F=j2(j2(j2(g*B)-j2(t*s))*Y),Q=t,t=H2[r+8>>2],k=j2(t-J),t=j2(t-H2[r+32>>2]),j2(F+j2(j2(D*j2(j2(Q*k)-j2(t*B)))+j2(W*j2(j2(t*s)-j2(g*k)))))>j2(0)){if((0|f)!=(0|i))n=b,e=f;else if((0|(e=f<<1))<=(0|f))n=b,i=e=f;else{if(n=0,y2[6502]=y2[6502]+1,(f=q2(16+(3|P2(f,48))|0))&&(y2[(n=f+19&-16)-4>>2]=f),1<=(0|a))for(r=n,i=b,f=a;;)if(o=y2[i+4>>2],y2[r>>2]=y2[i>>2],y2[r+4>>2]=o,o=y2[(v=i+16|0)+4>>2],y2[(_=r+16|0)>>2]=y2[v>>2],y2[_+4>>2]=o,o=y2[(v=i+8|0)+4>>2],y2[(_=r+8|0)>>2]=y2[v>>2],y2[_+4>>2]=o,r=r+24|0,i=i+24|0,!(f=f-1|0))break;y2[6503]=y2[6503]+1,$2(y2[b-4>>2]),i=a}f=y2[w+4>>2],b=P2(i,24)+n|0,y2[(r=b)>>2]=y2[w>>2],y2[r+4>>2]=f,f=y2[(r=w+16|0)+4>>2],y2[(i=b+16|0)>>2]=y2[r>>2],y2[i+4>>2]=f,f=y2[(r=w+8|0)+4>>2],y2[(i=b+8|0)>>2]=y2[r>>2],y2[i+4>>2]=f,a=a+1|0;break a}if(r=r-24|0,!(2<((i=a=i-1|0)+1|0)))break}n=b,e=f}i=a}if(1!=(0|i))b=n,f=e;else{if(_=y2[20+T>>2]+P2(c,24)|0,(r=1)!=(0|e))b=n;else{b=0,y2[6502]=y2[6502]+1,(e=q2(67))&&(y2[(b=e+19&-16)-4>>2]=e);a:{if(1<=(0|a)){for(r=b,i=n,f=a;;)if(e=y2[i+4>>2],y2[r>>2]=y2[i>>2],y2[r+4>>2]=e,e=y2[(o=i+16|0)+4>>2],y2[(v=r+16|0)>>2]=y2[o>>2],y2[v+4>>2]=e,e=y2[(o=i+8|0)+4>>2],y2[(v=r+8|0)>>2]=y2[o>>2],y2[v+4>>2]=e,r=r+24|0,i=i+24|0,!(f=f-1|0))break}else if(!n)break a;y2[6503]=y2[6503]+1,$2(y2[n-4>>2])}r=a,e=2}f=e,e=y2[_+4>>2],n=P2(r,24)+b|0,y2[(r=n)>>2]=y2[_>>2],y2[r+4>>2]=e,e=y2[(r=_+16|0)+4>>2],y2[(i=n+16|0)>>2]=y2[r>>2],y2[i+4>>2]=e,e=y2[(r=_+8|0)+4>>2],y2[(i=n+8|0)>>2]=y2[r>>2],y2[i+4>>2]=e,i=a=a+1|0}if((0|(c=c+1|0))==y2[12+T>>2])break}if(0<(0|a))break i;break f}a=2}else{if(1!=((b=0)|f))break r;y2[6502]=y2[6502]+1,a=y2[20+T>>2],(e=q2(43))&&(y2[(b=e+19&-16)-4>>2]=e),e=y2[a+4>>2],y2[b>>2]=y2[a>>2],y2[b+4>>2]=e,e=y2[(f=a+16|0)+4>>2],y2[(r=b+16|0)>>2]=y2[f>>2],y2[r+4>>2]=e,e=y2[(f=a+8|0)+4>>2],y2[(r=b+8|0)>>2]=y2[f>>2],y2[r+4>>2]=e,a=1}for(f=y2[40+T>>2],n=U2[48+T|(o=0)],e=y2[36+T>>2];;){if(w=20+(P2(o,24)+b|0)|0,(0|e)==(0|f))if((0|(v=f?f<<1:1))<=(0|f))e=f;else{c=0,v&&(y2[6502]=y2[6502]+1,e=q2(16+(v<<2|3)|0))&&(y2[(c=e+19&-16)-4>>2]=e),e=y2[44+T>>2];i:{if(1<=(0|f)){for(r=c,i=e;;)if(y2[r>>2]=y2[i>>2],r=r+4|0,i=i+4|0,!(f=f-1|0))break}else if(!e)break i;255&n&&(y2[6503]=y2[6503]+1,$2(y2[e-4>>2])),y2[44+T>>2]=0,f=y2[36+T>>2]}e=f,y2[40+T>>2]=v,y2[44+T>>2]=c,n=1,f=v}y2[y2[44+T>>2]+(e<<2)>>2]=y2[w>>2],y2[36+T>>2]=e=e+1|0,_=(0|(c=y2[12+T>>2]))<1;i:if(!_){for(r=y2[20+T>>2]+20|0,v=y2[w>>2],i=c;;){if((0|v)==y2[r>>2])break;if(r=r+24|0,!(i=i-1|0))break i}y2[r>>2]=-1}if(!((0|(o=o+1|0))<(0|a)))break}if(X2[48+T|0]=n,_)break r}if(!((0|(v=y2[84+T>>2]))<1))for(o=y2[92+T>>2],a=y2[20+T>>2],e=0;;){f:if(-1!=(0|(n=y2[20+(a+P2(e,24)|0)>>2]))){i:{if((0|Z)<=0){for(f=0;;){if(r=o+P2(f,36)|0,0<(0|(i=y2[r+4>>2])))for(r=y2[r+12>>2];;){if((0|n)==y2[r>>2])break i;if(r=r+4|0,!(i=i-1|0))break}if((0|v)==(0|(f=f+1|0)))break}break f}for(f=0;;){r=l,i=Z;a:{for(;;){if(y2[r>>2]==(0|f))break a;if(r=r+4|0,!(i=i-1|0))break}if(r=o+P2(f,36)|0,!((0|(i=y2[r+4>>2]))<1))for(r=y2[r+12>>2];;){if((0|n)==y2[r>>2])break i;if(r=r+4|0,!(i=i-1|0))break}}if((0|v)==(0|(f=f+1|0)))break}break f}if(b&&(y2[6503]=y2[6503]+1,$2(y2[b-4>>2])),(e=y2[44+T>>2])&&(U2[48+T|0]&&(y2[6503]=y2[6503]+1,$2(y2[e-4>>2])),y2[44+T>>2]=0),!(e=y2[20+T>>2]))break e;U2[24+T|0]&&(y2[6503]=y2[6503]+1,$2(y2[e-4>>2])),y2[20+T>>2]=0;break e}if((0|c)==(0|(e=e+1|0)))break}}if(A1(y2[A+60>>2]+24|0,32+T|0),b&&(y2[6503]=y2[6503]+1,$2(y2[b-4>>2])),(e=y2[44+T>>2])&&(U2[48+T|0]&&(y2[6503]=y2[6503]+1,$2(y2[e-4>>2])),y2[44+T>>2]=0),!(e=y2[20+T>>2]))break A;U2[24+T|0]&&(y2[6503]=y2[6503]+1,$2(y2[e-4>>2])),y2[20+T>>2]=0;break A}if((0|Z)<1)break A}for(a=0;;){if(y2[44+T>>2]=0,e=y2[(a<<2)+l>>2],y2[36+T>>2]=0,y2[40+T>>2]=0,n=y2[92+T>>2]+P2(e,36)|0,f=y2[n+4>>2],(X2[48+T|0]=1)<=(0|f)){for(r=0,y2[6502]=y2[6502]+1,(e=q2(16+(3|(i=f<<2))|0))&&(y2[(r=e+19&-16)-4>>2]=e,e=y2[44+T>>2])&&(y2[6503]=y2[6503]+1,$2(y2[e-4>>2])),y2[44+T>>2]=r,X2[48+T|0]=1,y2[40+T>>2]=f,v2(r,0,i),y2[36+T>>2]=f,i=y2[n+12>>2];;)if(y2[r>>2]=y2[i>>2],r=r+4|0,i=i+4|0,!(f=f-1|0))break;e=y2[44+T>>2]}else y2[36+T>>2]=f,e=0;if(f=y2[n+24>>2],y2[y>>2]=y2[n+20>>2],y2[y+4>>2]=f,f=y2[(r=n+28|0)+4>>2],y2[(i=y+8|0)>>2]=y2[r>>2],y2[i+4>>2]=f,A1(y2[A+60>>2]+24|0,32+T|0),e&&(U2[48+T|0]&&(y2[6503]=y2[6503]+1,$2(y2[e-4>>2])),y2[44+T>>2]=0),(0|Z)==(0|(a=a+1|0)))break}}if(l&&(y2[6503]=y2[6503]+1,$2(y2[l-4>>2])),!u)break}if(M0(y2[A+60>>2]),d&&(y2[6503]=y2[6503]+1,$2(y2[d-4>>2])),!((0|(i=y2[84+T>>2]))<1))for(r=y2[92+T>>2]+8|0;;)if((A=y2[(e=r+4|0)>>2])&&(U2[r+8|0]&&(y2[6503]=y2[6503]+1,$2(y2[A-4>>2])),y2[e>>2]=0),y2[r-4>>2]=0,y2[r>>2]=0,y2[r+4>>2]=0,X2[r+8|0]=1,r=r+36|0,!(i=i-1|0))break}else M0(y2[A+60>>2]);return(A=y2[92+T>>2])&&(U2[96+T|0]&&(y2[6503]=y2[6503]+1,$2(y2[A-4>>2])),y2[92+T>>2]=0),N&&(y2[6503]=y2[6503]+1,$2(y2[N-4>>2])),(A=y2[156+T>>2])&&(U2[160+T|0]&&(y2[6503]=y2[6503]+1,$2(y2[A-4>>2])),y2[156+T>>2]=0),y2[156+T>>2]=0,X2[160+T|0]=1,y2[148+T>>2]=0,y2[152+T>>2]=0,(A=y2[136+T>>2])&&(U2[140+T|0]&&(y2[6503]=y2[6503]+1,$2(y2[A-4>>2])),y2[136+T>>2]=0),y2[136+T>>2]=0,X2[140+T|0]=1,y2[128+T>>2]=0,y2[132+T>>2]=0,(A=y2[116+T>>2])&&(U2[120+T|0]&&(y2[6503]=y2[6503]+1,$2(y2[A-4>>2])),y2[116+T>>2]=0),S&&(y2[6503]=y2[6503]+1,$2(y2[S-4>>2])),L2=192+T|0,1},e,A,b1,A,t1,e,A,q0,q0,function(A,e,r,f){var i,a;A|=0,e|=0,r|=0,f=j2(f),H2[A+36>>2]>f&&(X2[A+40|0]=1,i=y2[e+4>>2],y2[A+4>>2]=y2[e>>2],y2[A+8>>2]=i,a=y2[(e=e+8|0)+4>>2],y2[(i=A+12|0)>>2]=y2[e>>2],y2[4+i>>2]=a,e=y2[r+4>>2],y2[A+20>>2]=y2[r>>2],y2[A+24>>2]=e,i=y2[(r=r+8|0)+4>>2],y2[(e=A+28|0)>>2]=y2[r>>2],y2[e+4>>2]=i,H2[A+36>>2]=f)},e,W0,function(A,e,r,f){A|=0,e|=0,r|=0,f|=0,j2(0),j2(0),j2(0),j2(0),j2(0),j2(0),j2(0),j2(0),j2(0),j2(0),j2(0),j2(0),j2(0),j2(0),j2(0),j2(0),j2(0),j2(0),j2(0),j2(0),j2(0),j2(0),j2(0),j2(0),j2(0),j2(0),j2(0),j2(0);var i,a=H2[(Z=A+32|0)>>2],n=H2[(C=A+48|0)>>2],b=H2[(_=A+28|0)>>2],t=H2[(g=A+44|0)>>2],o=H2[A+24>>2],c=H2[A+40>>2],k=j2(N2[y2[y2[A>>2]+48>>2]](A)),u=j2(N2[y2[y2[A>>2]+48>>2]](A)),l=j2(N2[y2[y2[A>>2]+48>>2]](A)),s=H2[e+52>>2],v=H2[e+24>>2],B=H2[e+20>>2],d=H2[e+56>>2],_=H2[_>>2],g=H2[g>>2],Z=H2[Z>>2],C=H2[C>>2],w=H2[e+40>>2],E=H2[e+36>>2],Q=H2[e+48>>2],h=H2[e+8>>2],G=H2[e>>2],F=H2[e+4>>2],D=H2[e+16>>2],Y=H2[A+24>>2],A=H2[A+40>>2],e=H2[e+32>>2];y2[r+12>>2]=0,i=d,d=j2(j2(A+Y)*j2(.5)),_=j2(j2(g+_)*j2(.5)),g=j2(j2(C+Z)*j2(.5)),Z=j2(i+j2(j2(j2(e*d)+j2(E*_))+j2(w*g))),o=j2(k+j2(j2(c-o)*j2(.5))),i=j2(o*j2(z2(e))),e=j2(u+j2(j2(t-b)*j2(.5))),i=j2(i+j2(e*j2(z2(E)))),E=j2(l+j2(j2(n-a)*j2(.5))),w=j2(i+j2(E*j2(z2(w)))),H2[r+8>>2]=Z-w,a=j2(s+j2(j2(j2(d*D)+j2(_*B))+j2(g*v))),v=j2(j2(j2(o*j2(z2(D)))+j2(e*j2(z2(B))))+j2(E*j2(z2(v)))),H2[r+4>>2]=a-v,B=j2(Q+j2(j2(j2(d*G)+j2(_*F))+j2(g*h))),E=j2(j2(j2(o*j2(z2(G)))+j2(e*j2(z2(F))))+j2(E*j2(z2(h)))),H2[r>>2]=B-E,y2[f+12>>2]=0,H2[f+8>>2]=w+Z,H2[f+4>>2]=v+a,H2[f>>2]=E+B},o1,function(A){return y2[(A|=0)+56>>2]+4|0},c1,function(A){return 12014},function(A,e){A|=0,e=j2(e),H2[A+20>>2]=e},function(A){return j2(H2[(A|=0)+20>>2])},a1,function(A,e,r){e|=0;var f=0|N2[y2[y2[(r|=0)>>2]+40>>2]](r,A|=0),i=0|N2[y2[y2[r>>2]+28>>2]](r,f);return(y2[e>>2]=i)&&N2[y2[y2[r>>2]+48>>2]](r,f),A=y2[A+4>>2],y2[e+8>>2]=0,y2[e+4>>2]=A,11279},function(A,e,r,f){var i,a,n,b;A|=0,e|=0,f|=0,L2=b=L2-48|0,n=y2[4+(a=(r|=0)+8|0)>>2],y2[(i=24+b|0)>>2]=y2[a>>2],y2[4+i>>2]=n,n=y2[4+(a=f+8|0)>>2],y2[(i=40+b|0)>>2]=y2[a>>2],y2[4+i>>2]=n,y2[8+b>>2]=11888,i=y2[r+4>>2],y2[16+b>>2]=y2[r>>2],y2[20+b>>2]=i,i=y2[f+4>>2],y2[32+b>>2]=y2[f>>2],y2[36+b>>2]=i,y2[12+b>>2]=e,A=y2[A+56>>2],N2[y2[y2[A>>2]+8>>2]](A,8+b|0,r,f),L2=48+b|0},function(A,e,r){A|=0,e|=0,r|=0;var f,i,a,n,b,t,o=0;j2(0),j2(0),j2(0),j2(0),j2(0),y2[152+(L2=t=L2-160|0)>>2]=0,y2[(f=144+t|0)>>2]=0,y2[4+f>>2]=0,y2[136+t>>2]=0,y2[140+t>>2]=0,y2[(o=f=44+t|0)>>2]=0,y2[4+o>>2]=0,y2[(o=56+t|0)>>2]=0,y2[4+o>>2]=0,y2[(o=t+64|0)>>2]=0,y2[4+o>>2]=0,y2[(o=76+t|0)>>2]=0,y2[4+o>>2]=0,y2[72+t>>2]=1065353216,y2[(o=84+t|0)>>2]=0,y2[4+o>>2]=0,y2[(o=92+t|0)>>2]=1065353216,y2[4+o>>2]=0,i=y2[144+t>>2],y2[(o=100+t|0)>>2]=y2[140+t>>2],y2[4+o>>2]=i,b=y2[4+(i=148+t|0)>>2],y2[(o=108+t|0)>>2]=y2[i>>2],y2[4+o>>2]=b,y2[36+t>>2]=0,y2[40+t>>2]=0,y2[32+t>>2]=11832,y2[52+t>>2]=1065353216,y2[116+t>>2]=-581039253,i=H2[r+8>>2],o=H2[r>>2],b=H2[r+4>>2],y2[132+t>>2]=0,a=j2(o*j2(0)),n=j2(b*j2(0)),H2[128+t>>2]=i+j2(a+n),i=j2(i*j2(0)),H2[124+t>>2]=j2(a+b)+i,H2[120+t>>2]=j2(o+n)+i,y2[24+t>>2]=1566444395,y2[28+t>>2]=0,y2[16+t>>2]=1566444395,y2[20+t>>2]=1566444395,y2[8+t>>2]=-581039253,y2[12+t>>2]=0,y2[t>>2]=-581039253,y2[4+t>>2]=-581039253,N2[y2[y2[e>>2]+64>>2]](e,32+t|0,t,16+t|0),r=y2[4+f>>2],y2[(e=A+8|0)>>2]=y2[f>>2],y2[e+4>>2]=r,e=y2[40+t>>2],y2[A>>2]=y2[36+t>>2],y2[A+4>>2]=e,L2=160+t|0},function(A,e,r){N2[y2[y2[(e|=0)>>2]+68>>2]](A|=0,e,r|=0)},e,A,function(A,e,r,f){A|=0,e|=0,r|=0,f|=0;var i,a,n,b=j2(0),t=j2(0),o=0,c=(j2(0),j2(0),j2(0),0);r=A+4|0,t=H2[A+84>>2],i=H2[A+88>>2],a=H2[A+92>>2],n=H2[A+96>>2],t<(b=j2(j2(j2(i*H2[e>>2])+j2(a*H2[e+4>>2]))+j2(n*H2[e+8>>2])))&&(H2[A+84>>2]=b,f=y2[e+4>>2],y2[r>>2]=y2[e>>2],y2[r+4>>2]=f,c=y2[(o=e+8|0)+4>>2],y2[(f=r+8|0)>>2]=y2[o>>2],y2[f+4>>2]=c,t=b),t<(b=j2(j2(j2(i*H2[e+16>>2])+j2(a*H2[e+20>>2]))+j2(n*H2[e+24>>2])))?(H2[A+84>>2]=b,o=y2[(f=e+16|0)+4>>2],y2[r>>2]=y2[f>>2],y2[r+4>>2]=o,c=y2[(f=f+8|0)+4>>2],y2[(o=r+8|0)>>2]=y2[f>>2],y2[o+4>>2]=c):b=t,b<(t=j2(j2(j2(i*H2[e+32>>2])+j2(a*H2[e+36>>2]))+j2(n*H2[e+40>>2])))&&(H2[A+84>>2]=t,e=y2[(A=e+32|0)+4>>2],y2[r>>2]=y2[A>>2],y2[r+4>>2]=e,e=r+8|0,r=y2[(A=A+8|0)+4>>2],y2[e>>2]=y2[A>>2],y2[e+4>>2]=r)},e,A,function(A,e,r,f){A|=0,e|=0,r|=0,f|=0,j2(0),j2(0),j2(0),j2(0);var i,a,n,b=H2[e>>2],t=H2[e+16>>2],o=H2[e+32>>2];H2[A+24>>2]<((a=b>2]?i:32)+e>>2]>2]||(b=H2[e+8>>2],t=H2[(i=e+24|0)>>2],o=H2[(n=e+40|0)>>2],H2[A+32>>2]<((a=b>2]?i:n)>>2]>2]||(b=H2[e+4>>2],t=H2[(i=e+20|0)>>2],o=H2[(n=e+36|0)>>2],H2[A+28>>2]<((a=b>2]?i:n)>>2]>2]||(A=y2[A+4>>2],N2[y2[y2[A>>2]+8>>2]](A,e,r,f))},k1,function(A){(A=k1(A|=0))&&(y2[6503]=y2[6503]+1,$2(y2[A-4>>2]))},u1,v1,function(A,e,r){r|=0;var f,i,a=0,n=0,b=0,t=0,o=0;if(y2[(e|=0)+16>>2]=y2[(A|=0)+20>>2],y2[e+20>>2]=y2[A+24>>2],y2[e+24>>2]=y2[A+28>>2],y2[e+28>>2]=y2[A+32>>2],y2[e>>2]=y2[A+4>>2],y2[e+4>>2]=y2[A+8>>2],y2[e+8>>2]=y2[A+12>>2],y2[e+12>>2]=y2[A+16>>2],y2[e+32>>2]=y2[A+36>>2],y2[e+36>>2]=y2[A+40>>2],y2[e+40>>2]=y2[A+44>>2],y2[e+44>>2]=y2[A+48>>2],y2[e+48>>2]=y2[A+56>>2],y2[e+52>>2]=U2[A+60|0],a=y2[A+88>>2],y2[e+56>>2]=a){if(a=0|N2[y2[y2[r>>2]+28>>2]](r,y2[A+96>>2]),y2[e+64>>2]=a){if(b=y2[A+88>>2],o=0|N2[y2[y2[r>>2]+16>>2]](r,48,b),n=y2[A+96>>2],1<=(0|b))for(a=y2[o+8>>2]+44|0,t=40;;)if(y2[a-28>>2]=y2[(n=n+t|0)-24>>2],y2[a-24>>2]=y2[n-20>>2],y2[a-20>>2]=y2[n-16>>2],y2[a-16>>2]=y2[n-12>>2],y2[a-44>>2]=y2[n-40>>2],y2[a-40>>2]=y2[n-36>>2],y2[a-36>>2]=y2[n-32>>2],y2[a-12>>2]=y2[n-8>>2],y2[a-32>>2]=y2[n-28>>2],y2[a-8>>2]=y2[n-4>>2],n=y2[n>>2],y2[a>>2]=0,y2[a-4>>2]=n,t=t- -64|0,a=a+48|0,n=y2[A+96>>2],!(b=b-1|0))break;N2[y2[y2[r>>2]+20>>2]](r,o,12096,1497453121,n)}}else y2[e+64>>2]=0;if(a=y2[A+128>>2],y2[e+60>>2]=a){if(a=0|N2[y2[y2[r>>2]+28>>2]](r,y2[A+136>>2]),y2[e+68>>2]=a){if(b=y2[A+128>>2],o=0|N2[y2[y2[r>>2]+16>>2]](r,16,b),f=y2[A+136>>2],1<=(0|b))for(i=y2[o+8>>2],t=0;;)if(A2[(a=t+i|0)+6>>1]=e2[(n=t+f|0)+6>>1],A2[a+8>>1]=e2[n+8>>1],A2[a+10>>1]=e2[n+10>>1],A2[a>>1]=e2[n>>1],A2[a+2>>1]=e2[n+2>>1],y2[a+12>>2]=y2[n+12>>2],A2[a+4>>1]=e2[n+4>>1],t=t+16|0,!(b=b-1|0))break;N2[y2[y2[r>>2]+20>>2]](r,o,12119,1497453121,f)}}else y2[e+68>>2]=0;if(y2[e+76>>2]=y2[A+144>>2],a=y2[A+152>>2],y2[e+80>>2]=a){if(a=e,e=0|N2[y2[y2[r>>2]+28>>2]](r,y2[A+160>>2]),y2[a+72>>2]=e){if(t=y2[A+152>>2],e=0|N2[y2[y2[r>>2]+16>>2]](r,20,t),A=y2[A+160>>2],1<=(0|t))for(a=A+16|0,n=y2[e+8>>2];;)if(A2[n+14>>1]=e2[a-10>>1],A2[n+16>>1]=e2[a-8>>1],A2[n+18>>1]=e2[a-6>>1],A2[n+8>>1]=e2[a-16>>1],A2[n+10>>1]=e2[a-14>>1],o=y2[(b=a-4|0)+4>>2],y2[n>>2]=y2[b>>2],y2[n+4>>2]=o,A2[n+12>>1]=e2[a-12>>1],a=a+32|0,n=n+20|0,!(t=t-1|0))break;N2[y2[y2[r>>2]+20>>2]](r,e,12142,1497453121,A)}}else y2[e+72>>2]=0;return 12163},function(A,e){var r,f=0,i=0,a=0,n=0,b=0,t=0,o=0,c=0,k=0,u=0;if(L2=r=L2+-64|0,y2[(A|=0)+20>>2]=y2[(e|=0)+16>>2],y2[A+24>>2]=y2[e+20>>2],y2[A+28>>2]=y2[e+24>>2],y2[A+32>>2]=y2[e+28>>2],y2[A+4>>2]=y2[e>>2],y2[A+8>>2]=y2[e+4>>2],y2[A+12>>2]=y2[e+8>>2],y2[A+16>>2]=y2[e+12>>2],y2[A+36>>2]=y2[e+32>>2],y2[A+40>>2]=y2[e+36>>2],y2[A+44>>2]=y2[e+40>>2],y2[A+48>>2]=y2[e+44>>2],y2[A+56>>2]=y2[e+48>>2],X2[A+60|0]=0!=y2[e+52>>2],o=y2[e+56>>2],y2[(f=56+r|0)>>2]=0,y2[f+4>>2]=0,y2[(f=48+r|0)>>2]=0,y2[f+4>>2]=0,y2[(f=40+r|0)>>2]=0,y2[f+4>>2]=0,y2[(f=32+r|0)>>2]=0,y2[f+4>>2]=0,y2[(f=24+r|0)>>2]=0,y2[f+4>>2]=0,y2[(f=16+r|0)>>2]=0,y2[f+4>>2]=0,y2[(f=8+r|0)>>2]=0,y2[f+4>>2]=0,y2[r>>2]=0,((y2[4+r>>2]=0)|(a=y2[A+88>>2]))<(0|o)){if(y2[A+92>>2]<(0|o)){if(o&&(y2[6502]=y2[6502]+1,f=q2(o<<6|19))&&(y2[(n=f+19&-16)-4>>2]=f),1<=(0|a))for(f=a;;)if(t=y2[A+96>>2]+c|0,u=y2[(b=t)+4>>2],y2[(i=n+c|0)>>2]=y2[b>>2],y2[i+4>>2]=u,u=y2[(b=b+56|0)+4>>2],y2[(k=i+56|0)>>2]=y2[b>>2],y2[k+4>>2]=u,u=y2[(k=t+48|0)+4>>2],y2[(b=i+48|0)>>2]=y2[k>>2],y2[b+4>>2]=u,u=y2[(k=t+40|0)+4>>2],y2[(b=i+40|0)>>2]=y2[k>>2],y2[b+4>>2]=u,u=y2[(k=t+32|0)+4>>2],y2[(b=i+32|0)>>2]=y2[k>>2],y2[b+4>>2]=u,u=y2[(k=t+24|0)+4>>2],y2[(b=i+24|0)>>2]=y2[k>>2],y2[b+4>>2]=u,u=y2[(k=t+16|0)+4>>2],y2[(b=i+16|0)>>2]=y2[k>>2],y2[b+4>>2]=u,b=y2[(t=t+8|0)+4>>2],y2[(i=i+8|0)>>2]=y2[t>>2],y2[i+4>>2]=b,c=c- -64|0,!(f=f-1|0))break;(f=y2[A+96>>2])&&(U2[A+100|0]&&(y2[6503]=y2[6503]+1,$2(y2[f-4>>2])),y2[A+96>>2]=0),y2[A+96>>2]=n,y2[A+92>>2]=o,X2[A+100|0]=1}for(f=a<<6,c=o-a|0;;)if(n=y2[4+r>>2],a=y2[A+96>>2]+f|0,y2[(i=a)>>2]=y2[r>>2],y2[i+4>>2]=n,t=y2[(n=56+r|0)+4>>2],y2[(i=i+56|0)>>2]=y2[n>>2],y2[i+4>>2]=t,t=y2[(n=48+r|0)+4>>2],y2[(i=a+48|0)>>2]=y2[n>>2],y2[i+4>>2]=t,t=y2[(n=40+r|0)+4>>2],y2[(i=a+40|0)>>2]=y2[n>>2],y2[i+4>>2]=t,t=y2[(n=32+r|0)+4>>2],y2[(i=a+32|0)>>2]=y2[n>>2],y2[i+4>>2]=t,t=y2[(n=24+r|0)+4>>2],y2[(i=a+24|0)>>2]=y2[n>>2],y2[i+4>>2]=t,t=y2[(n=16+r|0)+4>>2],y2[(i=a+16|0)>>2]=y2[n>>2],y2[i+4>>2]=t,n=y2[(i=8+r|0)+4>>2],y2[(a=a+8|0)>>2]=y2[i>>2],y2[a+4>>2]=n,f=f- -64|0,!(c=c-1|0))break}if(1<=(0|(y2[A+88>>2]=o)))for(i=y2[e+64>>2]+40|0,f=y2[A+96>>2]+40|0;;)if(y2[f-24>>2]=y2[i-24>>2],y2[f-20>>2]=y2[i-20>>2],y2[f-16>>2]=y2[i-16>>2],y2[f-12>>2]=y2[i-12>>2],y2[f-40>>2]=y2[i-40>>2],y2[f-36>>2]=y2[i-36>>2],y2[f-32>>2]=y2[i-32>>2],y2[f-8>>2]=y2[i-8>>2],y2[f-28>>2]=y2[i-28>>2],y2[f-4>>2]=y2[i-4>>2],y2[f>>2]=y2[i>>2],f=f- -64|0,i=i+48|0,!(o=o-1|0))break;if(c=y2[e+60>>2],y2[(f=8+r|0)>>2]=0,y2[f+4>>2]=0,y2[r>>2]=0,((y2[4+r>>2]=0)|(a=y2[A+128>>2]))<(0|c)){if(y2[A+132>>2]<(0|c)){if(n=0,c&&(y2[6502]=y2[6502]+1,f=q2(16+(c<<4|3)|0))&&(y2[(n=f+19&-16)-4>>2]=f),1<=(0|a))for(i=0,f=a;;)if(o=y2[A+136>>2]+i|0,k=y2[o+4>>2],y2[(b=t=i+n|0)>>2]=y2[o>>2],y2[b+4>>2]=k,b=y2[(o=o+8|0)+4>>2],y2[(t=t+8|0)>>2]=y2[o>>2],y2[t+4>>2]=b,i=i+16|0,!(f=f-1|0))break;(f=y2[A+136>>2])&&(U2[A+140|0]&&(y2[6503]=y2[6503]+1,$2(y2[f-4>>2])),y2[A+136>>2]=0),y2[A+136>>2]=n,y2[A+132>>2]=c,X2[A+140|0]=1}for(i=a<<4,f=c-a|0;;)if(n=y2[4+r>>2],a=y2[A+136>>2]+i|0,y2[a>>2]=y2[r>>2],y2[a+4>>2]=n,n=y2[(o=8+r|0)+4>>2],y2[(a=a+8|0)>>2]=y2[o>>2],y2[a+4>>2]=n,i=i+16|0,!(f=f-1|0))break}if(1<=(0|(y2[A+128>>2]=c)))for(i=y2[A+136>>2],n=y2[e+68>>2],o=0;;)if(A2[(f=i+o|0)+6>>1]=e2[(a=n+o|0)+6>>1],A2[f+8>>1]=e2[a+8>>1],A2[f+10>>1]=e2[a+10>>1],A2[f>>1]=e2[a>>1],A2[f+2>>1]=e2[a+2>>1],y2[f+12>>2]=y2[a+12>>2],A2[f+4>>1]=e2[a+4>>1],o=o+16|0,!(c=c-1|0))break;if(y2[A+144>>2]=y2[e+76>>2],o=y2[e+80>>2],(0|(a=y2[A+152>>2]))<(0|o)){if(y2[A+156>>2]<(0|o)){if(n=0,o&&(y2[6502]=y2[6502]+1,f=q2(o<<5|19))&&(y2[(n=f+19&-16)-4>>2]=f),1<=(0|a))for(i=0,f=a;;)if(t=y2[A+160>>2]+i|0,u=y2[(b=t)+4>>2],y2[(c=i+n|0)>>2]=y2[b>>2],y2[c+4>>2]=u,u=y2[(b=b+24|0)+4>>2],y2[(k=c+24|0)>>2]=y2[b>>2],y2[k+4>>2]=u,u=y2[(k=t+16|0)+4>>2],y2[(b=c+16|0)>>2]=y2[k>>2],y2[b+4>>2]=u,b=y2[(t=t+8|0)+4>>2],y2[(c=c+8|0)>>2]=y2[t>>2],y2[c+4>>2]=b,i=i+32|0,!(f=f-1|0))break;(f=y2[A+160>>2])&&(U2[A+164|0]&&(y2[6503]=y2[6503]+1,$2(y2[f-4>>2])),y2[A+160>>2]=0),y2[A+160>>2]=n,y2[A+156>>2]=o,X2[A+164|0]=1}for(f=a<<5,c=o-a|0;;)if(n=y2[4+r>>2],a=y2[A+160>>2]+f|0,y2[(i=a)>>2]=y2[r>>2],y2[i+4>>2]=n,t=y2[(n=24+r|0)+4>>2],y2[(i=i+24|0)>>2]=y2[n>>2],y2[i+4>>2]=t,t=y2[(n=16+r|0)+4>>2],y2[(i=a+16|0)>>2]=y2[n>>2],y2[i+4>>2]=t,n=y2[(i=8+r|0)+4>>2],y2[(a=a+8|0)>>2]=y2[i>>2],y2[a+4>>2]=n,f=f+32|0,!(c=c-1|0))break}if(1<=(0|(y2[A+152>>2]=o)))for(i=y2[A+160>>2]+16|0,f=y2[e+72>>2];;)if(A2[i-10>>1]=e2[f+14>>1],A2[i-8>>1]=e2[f+16>>1],A2[i-6>>1]=e2[f+18>>1],A2[i-16>>1]=e2[f+8>>1],A2[i-14>>1]=e2[f+10>>1],e=y2[f+4>>2],y2[(A=i-4|0)>>2]=y2[f>>2],y2[A+4>>2]=e,A2[i-12>>1]=e2[f+12>>1],i=i+32|0,f=f+20|0,!(o=o-1|0))break;L2=r+64|0},function(A,e){var r,f=0,i=0,a=0,n=0,b=0,t=0,o=0,c=0,k=0,u=0;if(L2=r=L2+-64|0,H2[(A|=0)+20>>2]=J[(e|=0)+32>>3],H2[A+4>>2]=J[e>>3],H2[A+8>>2]=J[e+8>>3],H2[A+12>>2]=J[e+16>>3],H2[A+16>>2]=J[e+24>>3],H2[A+36>>2]=J[e+64>>3],H2[A+24>>2]=J[e+40>>3],H2[A+28>>2]=J[e+48>>3],H2[A+32>>2]=J[e+56>>3],H2[A+40>>2]=J[e+72>>3],y2[A+56>>2]=y2[e+96>>2],H2[A+44>>2]=J[e+80>>3],H2[A+48>>2]=J[e+88>>3],X2[A+60|0]=0!=y2[e+100>>2],o=y2[e+104>>2],y2[(f=56+r|0)>>2]=0,y2[f+4>>2]=0,y2[(f=48+r|0)>>2]=0,y2[f+4>>2]=0,y2[(f=40+r|0)>>2]=0,y2[f+4>>2]=0,y2[(f=32+r|0)>>2]=0,y2[f+4>>2]=0,y2[(f=24+r|0)>>2]=0,y2[f+4>>2]=0,y2[(f=16+r|0)>>2]=0,y2[f+4>>2]=0,y2[(f=8+r|0)>>2]=0,y2[f+4>>2]=0,y2[r>>2]=0,((y2[4+r>>2]=0)|(a=y2[A+88>>2]))<(0|o)){if(y2[A+92>>2]<(0|o)){if(o&&(y2[6502]=y2[6502]+1,f=q2(o<<6|19))&&(y2[(n=f+19&-16)-4>>2]=f),1<=(0|a))for(f=a;;)if(t=y2[A+96>>2]+c|0,u=y2[(b=t)+4>>2],y2[(i=n+c|0)>>2]=y2[b>>2],y2[i+4>>2]=u,u=y2[(b=b+56|0)+4>>2],y2[(k=i+56|0)>>2]=y2[b>>2],y2[k+4>>2]=u,u=y2[(k=t+48|0)+4>>2],y2[(b=i+48|0)>>2]=y2[k>>2],y2[b+4>>2]=u,u=y2[(k=t+40|0)+4>>2],y2[(b=i+40|0)>>2]=y2[k>>2],y2[b+4>>2]=u,u=y2[(k=t+32|0)+4>>2],y2[(b=i+32|0)>>2]=y2[k>>2],y2[b+4>>2]=u,u=y2[(k=t+24|0)+4>>2],y2[(b=i+24|0)>>2]=y2[k>>2],y2[b+4>>2]=u,u=y2[(k=t+16|0)+4>>2],y2[(b=i+16|0)>>2]=y2[k>>2],y2[b+4>>2]=u,b=y2[(t=t+8|0)+4>>2],y2[(i=i+8|0)>>2]=y2[t>>2],y2[i+4>>2]=b,c=c- -64|0,!(f=f-1|0))break;(f=y2[A+96>>2])&&(U2[A+100|0]&&(y2[6503]=y2[6503]+1,$2(y2[f-4>>2])),y2[A+96>>2]=0),y2[A+96>>2]=n,y2[A+92>>2]=o,X2[A+100|0]=1}for(f=a<<6,c=o-a|0;;)if(n=y2[4+r>>2],a=y2[A+96>>2]+f|0,y2[(i=a)>>2]=y2[r>>2],y2[i+4>>2]=n,t=y2[(n=56+r|0)+4>>2],y2[(i=i+56|0)>>2]=y2[n>>2],y2[i+4>>2]=t,t=y2[(n=48+r|0)+4>>2],y2[(i=a+48|0)>>2]=y2[n>>2],y2[i+4>>2]=t,t=y2[(n=40+r|0)+4>>2],y2[(i=a+40|0)>>2]=y2[n>>2],y2[i+4>>2]=t,t=y2[(n=32+r|0)+4>>2],y2[(i=a+32|0)>>2]=y2[n>>2],y2[i+4>>2]=t,t=y2[(n=24+r|0)+4>>2],y2[(i=a+24|0)>>2]=y2[n>>2],y2[i+4>>2]=t,t=y2[(n=16+r|0)+4>>2],y2[(i=a+16|0)>>2]=y2[n>>2],y2[i+4>>2]=t,n=y2[(i=8+r|0)+4>>2],y2[(a=a+8|0)>>2]=y2[i>>2],y2[a+4>>2]=n,f=f- -64|0,!(c=c-1|0))break}if(1<=(0|(y2[A+88>>2]=o)))for(i=y2[e+112>>2]+72|0,f=y2[A+96>>2]+40|0;;)if(y2[f-8>>2]=y2[i-8>>2],H2[f-24>>2]=J[i-40>>3],H2[f-20>>2]=J[i-32>>3],H2[f-16>>2]=J[i-24>>3],H2[f-12>>2]=J[i-16>>3],H2[f-40>>2]=J[i-72>>3],H2[f-36>>2]=J[i+-64>>3],H2[f-32>>2]=J[i-56>>3],H2[f-28>>2]=J[i-48>>3],y2[f-4>>2]=y2[i-4>>2],y2[f>>2]=y2[i>>2],f=f- -64|0,i=i+80|0,!(o=o-1|0))break;if(c=y2[e+108>>2],y2[(f=8+r|0)>>2]=0,y2[f+4>>2]=0,y2[r>>2]=0,((y2[4+r>>2]=0)|(a=y2[A+128>>2]))<(0|c)){if(y2[A+132>>2]<(0|c)){if(n=0,c&&(y2[6502]=y2[6502]+1,f=q2(16+(c<<4|3)|0))&&(y2[(n=f+19&-16)-4>>2]=f),1<=(0|a))for(i=0,f=a;;)if(o=y2[A+136>>2]+i|0,k=y2[o+4>>2],y2[(b=t=i+n|0)>>2]=y2[o>>2],y2[b+4>>2]=k,b=y2[(o=o+8|0)+4>>2],y2[(t=t+8|0)>>2]=y2[o>>2],y2[t+4>>2]=b,i=i+16|0,!(f=f-1|0))break;(f=y2[A+136>>2])&&(U2[A+140|0]&&(y2[6503]=y2[6503]+1,$2(y2[f-4>>2])),y2[A+136>>2]=0),y2[A+136>>2]=n,y2[A+132>>2]=c,X2[A+140|0]=1}for(i=a<<4,f=c-a|0;;)if(n=y2[4+r>>2],a=y2[A+136>>2]+i|0,y2[a>>2]=y2[r>>2],y2[a+4>>2]=n,n=y2[(o=8+r|0)+4>>2],y2[(a=a+8|0)>>2]=y2[o>>2],y2[a+4>>2]=n,i=i+16|0,!(f=f-1|0))break}if(1<=(0|(y2[A+128>>2]=c)))for(i=y2[A+136>>2],n=y2[e+116>>2],o=0;;)if(A2[(f=i+o|0)+6>>1]=e2[(a=n+o|0)+6>>1],A2[f+8>>1]=e2[a+8>>1],A2[f+10>>1]=e2[a+10>>1],A2[f>>1]=e2[a>>1],A2[f+2>>1]=e2[a+2>>1],y2[f+12>>2]=y2[a+12>>2],A2[f+4>>1]=e2[a+4>>1],o=o+16|0,!(c=c-1|0))break;if(y2[A+144>>2]=y2[e+120>>2],o=y2[e+124>>2],(0|(a=y2[A+152>>2]))<(0|o)){if(y2[A+156>>2]<(0|o)){if(n=0,o&&(y2[6502]=y2[6502]+1,f=q2(o<<5|19))&&(y2[(n=f+19&-16)-4>>2]=f),1<=(0|a))for(i=0,f=a;;)if(t=y2[A+160>>2]+i|0,u=y2[(b=t)+4>>2],y2[(c=i+n|0)>>2]=y2[b>>2],y2[c+4>>2]=u,u=y2[(b=b+24|0)+4>>2],y2[(k=c+24|0)>>2]=y2[b>>2],y2[k+4>>2]=u,u=y2[(k=t+16|0)+4>>2],y2[(b=c+16|0)>>2]=y2[k>>2],y2[b+4>>2]=u,b=y2[(t=t+8|0)+4>>2],y2[(c=c+8|0)>>2]=y2[t>>2],y2[c+4>>2]=b,i=i+32|0,!(f=f-1|0))break;(f=y2[A+160>>2])&&(U2[A+164|0]&&(y2[6503]=y2[6503]+1,$2(y2[f-4>>2])),y2[A+160>>2]=0),y2[A+160>>2]=n,y2[A+156>>2]=o,X2[A+164|0]=1}for(f=a<<5,c=o-a|0;;)if(n=y2[4+r>>2],a=y2[A+160>>2]+f|0,y2[(i=a)>>2]=y2[r>>2],y2[i+4>>2]=n,t=y2[(n=24+r|0)+4>>2],y2[(i=i+24|0)>>2]=y2[n>>2],y2[i+4>>2]=t,t=y2[(n=16+r|0)+4>>2],y2[(i=a+16|0)>>2]=y2[n>>2],y2[i+4>>2]=t,n=y2[(i=8+r|0)+4>>2],y2[(a=a+8|0)>>2]=y2[i>>2],y2[a+4>>2]=n,f=f+32|0,!(c=c-1|0))break}if(1<=(0|(y2[A+152>>2]=o)))for(i=y2[A+160>>2]+16|0,f=y2[e+128>>2];;)if(A2[i-10>>1]=e2[f+14>>1],A2[i-8>>1]=e2[f+16>>1],A2[i-6>>1]=e2[f+18>>1],A2[i-16>>1]=e2[f+8>>1],A2[i-14>>1]=e2[f+10>>1],e=y2[f+4>>2],y2[(A=i-4|0)>>2]=y2[f>>2],y2[A+4>>2]=e,A2[i-12>>1]=e2[f+12>>1],i=i+32|0,f=f+20|0,!(o=o-1|0))break;L2=r+64|0},function(A){return k1(A|=0),0|A},function(A){k1(A|=0),A&&(y2[6503]=y2[6503]+1,$2(y2[A-4>>2]))},function(A,e,r,f){return u1(A|=0,e|=0,r|=0,f|=0),1},A,function(A,e,r,f){A|=0,e|=0,r|=0,f|=0;var i,a,n,b,t,o,c,k,u,l,s,v,B,d,_,g=0,Z=j2(0),C=j2(0),w=j2(0),E=j2(0),Q=0,Z=(j2(0),j2(0),j2(0),j2(0),j2(0),j2(0),H2[(g=e+40|0)>>2]),w=H2[(_=e+24|0)>>2];if(g=y2[g>>2],_=y2[_>>2],n=y2[e+8>>2],b=w<(E2(2,b=(E=H2[e+8>>2])(E2(2,g=E>j2(-0xde0b6b000000000)?n:-581039253),h2())?_:g,E2(2,Z>(E2(2,g),h2())?Q:g),Z=h2(),n=j2(Z-C)>2],v=H2[g+12>>2],B=H2[g+44>>2],b=65534&(Q=(w=j2(j2((n?j2(C+j2(-.0010000000474974513)):C)-v)*B))=j2(0)?~~w>>>0:0),w=H2[(_=e+36|0)>>2],C=H2[(i=e+20|0)>>2],_=y2[_>>2],i=y2[i>>2],l=y2[e+4>>2],a=C<(E2(2,a=(c=H2[e+4>>2])(E2(2,_=c>j2(-0xde0b6b000000000)?l:-581039253),h2())?i:_,E2(2,w>(E2(2,_),h2())?Q:_),w=h2(),i=j2(w-E)>2],d=H2[g+40>>2],l=65534&(Q=(C=j2(j2((i?j2(E+j2(-.0010000000474974513)):E)-c)*d))=j2(0)?~~C>>>0:0),_=y2[e+32>>2],a=y2[e+16>>2],s=y2[e>>2],t=(E=H2[e>>2])>2])<(E2(2,t),h2())?a:t,E2(2,(u=H2[e+32>>2])<(E2(2,t),h2())?_:t),C=h2(),e=k>(E2(2,e=E>j2(-0xde0b6b000000000)?s:-581039253),h2())?a:e,E2(2,u>(E2(2,e),h2())?_:e),E=h2(),_=j2(E-C)>2],u=H2[g+36>>2],a=65534&(e=(C=j2(j2((_?j2(C+j2(-.0010000000474974513)):C)-k)*u))=j2(0)?~~C>>>0:0),n=1|(e=(Z=j2(j2(j2((n?j2(Z+j2(.0010000000474974513)):Z)-v)*B)+j2(1)))=j2(0)?~~Z>>>0:0),i=1|(e=(Z=j2(j2(j2((i?j2(w+j2(.0010000000474974513)):w)-c)*d)+j2(1)))=j2(0)?~~Z>>>0:0),s=1|(e=(Z=j2(j2(j2((_?j2(E+j2(.0010000000474974513)):E)-k)*u)+j2(1)))=j2(0)?~~Z>>>0:0),t=r<<21|f,A=y2[A+4>>2],(0|(r=y2[A+4>>2]))==y2[A+8>>2]&&!((0|(f=r?r<<1:1))<=(0|r))){if(g=0,f&&(y2[6502]=y2[6502]+1,(e=q2(16+(f<<4|3)|0))&&(y2[(g=e+19&-16)-4>>2]=e),r=y2[A+4>>2]),1<=(0|r))for(e=0;;)if(_=y2[A+12>>2]+e|0,Q=y2[4+_>>2],y2[(o=e+g|0)>>2]=y2[_>>2],y2[4+o>>2]=Q,Q=y2[4+(_=8+_|0)>>2],y2[(o=8+o|0)>>2]=y2[_>>2],y2[4+o>>2]=Q,e=e+16|0,!(r=r-1|0))break;(e=y2[A+12>>2])&&(U2[A+16|0]&&(y2[6503]=y2[6503]+1,$2(y2[e-4>>2])),y2[A+12>>2]=0),y2[A+12>>2]=g,X2[A+16|0]=1,y2[A+8>>2]=f,r=y2[A+4>>2]}e=y2[A+12>>2]+(r<<4)|0,y2[e+12>>2]=t,A2[e+6>>1]=s,A2[e+4>>1]=b,A2[e+2>>1]=l,A2[e>>1]=a,A2[e+10>>1]=n,A2[e+8>>1]=i,y2[A+4>>2]=y2[A+4>>2]+1},A,function(A,e,r,f){A|=0,e|=0,r|=0,f|=0;var i,a,n,b,t,o,c,k,u,l,s,v,B,d,_,g=0,Z=0,C=0,w=0,E=(j2(0),j2(0),0),Q=(j2(0),j2(0),0),h=0,G=0,F=(j2(0),j2(0),j2(0),j2(0),j2(0),j2(0),j2(0),L2-32|0);if(L2=F,t=H2[e+44>>2],d=H2[e+28>>2],s=(b=(b=(n=H2[e+12>>2])>j2(0)?n:j2(0))>2],d=H2[(C=e+24|0)>>2],i=y2[i>>2],C=y2[C>>2],Q=y2[e+8>>2],a=d>(E2(2,a=(_=H2[e+8>>2])>j2(-0xde0b6b000000000)?Q:-581039253),h2())?C:a,B=t>(E2(2,a),h2())?i:a,n=H2[(a=e+36|0)>>2],b=H2[(E=e+20|0)>>2],a=y2[a>>2],E=y2[E>>2],g=y2[e+4>>2],E2(2,h=(c=H2[e+4>>2])>j2(-0xde0b6b000000000)?g:-581039253),h=n>(E2(2,h=h2()>2],Z=y2[e+16>>2],w=y2[e>>2],o=(k=H2[e>>2])>j2(-0xde0b6b000000000)?w:-581039253,o=(u=H2[e+16>>2])>(E2(2,o),h2())?Z:o,o=(l=H2[e+32>>2])>(E2(2,o),h2())?G:o,e=d<(E2(2,e=_b?E:e),h2())?a:e,E2(2,e=ku?Z:e),G=h2()>l?G:e,i=y2[A+4>>2],(0|(e=y2[i+4>>2]))==y2[i+8>>2]&&!((0|(a=e?e<<1:1))<=(0|e))){if(E=0,a&&(y2[6502]=y2[6502]+1,(A=q2(a<<6|19))&&(y2[(E=A+19&-16)-4>>2]=A),e=y2[i+4>>2]),1<=(0|e))for(Q=0;;)if(C=y2[i+12>>2]+Q|0,w=y2[(g=C)+4>>2],y2[(A=E+Q|0)>>2]=y2[g>>2],y2[A+4>>2]=w,w=y2[(g=g+56|0)+4>>2],y2[(Z=A+56|0)>>2]=y2[g>>2],y2[Z+4>>2]=w,w=y2[(Z=C+48|0)+4>>2],y2[(g=A+48|0)>>2]=y2[Z>>2],y2[g+4>>2]=w,w=y2[(Z=C+40|0)+4>>2],y2[(g=A+40|0)>>2]=y2[Z>>2],y2[g+4>>2]=w,w=y2[(Z=C+32|0)+4>>2],y2[(g=A+32|0)>>2]=y2[Z>>2],y2[g+4>>2]=w,w=y2[(Z=C+24|0)+4>>2],y2[(g=A+24|0)>>2]=y2[Z>>2],y2[g+4>>2]=w,w=y2[(Z=C+16|0)+4>>2],y2[(g=A+16|0)>>2]=y2[Z>>2],y2[g+4>>2]=w,g=y2[(C=C+8|0)+4>>2],y2[(A=A+8|0)>>2]=y2[C>>2],y2[A+4>>2]=g,Q=Q- -64|0,!(e=e-1|0))break;(A=y2[i+12>>2])&&(U2[i+16|0]&&(y2[6503]=y2[6503]+1,$2(y2[A-4>>2])),y2[i+12>>2]=0),y2[i+12>>2]=E,X2[i+16|0]=1,y2[i+8>>2]=a,e=y2[i+4>>2]}A=y2[i+12>>2]+(e<<6)|0,y2[A+40>>2]=f,y2[A+36>>2]=r,y2[A+32>>2]=-1,y2[A+16>>2]=o,H2[A+12>>2]=v,y2[A+8>>2]=d,y2[A+4>>2]=_,y2[A>>2]=G,e=y2[16+F>>2],y2[A+44>>2]=y2[12+F>>2],y2[A+48>>2]=e,H2[A+28>>2]=s,y2[A+24>>2]=B,y2[A+20>>2]=h,f=y2[(r=20+F|0)+4>>2],y2[(e=A+52|0)>>2]=y2[r>>2],y2[e+4>>2]=f,y2[A+60>>2]=y2[28+F>>2],y2[i+4>>2]=y2[i+4>>2]+1,L2=32+F|0},function(A){var e;return y2[(A|=0)>>2]=12540,U2[A+69|0]&&(e=y2[A+60>>2],N2[y2[y2[e>>2]>>2]](e),e=y2[A+60>>2])&&(y2[6503]=y2[6503]+1,$2(y2[e-4>>2])),0|A},function(A){var e;y2[(A|=0)>>2]=12540,U2[A+69|0]&&(e=y2[A+60>>2],N2[y2[y2[e>>2]>>2]](e),e=y2[A+60>>2])&&(y2[6503]=y2[6503]+1,$2(y2[e-4>>2])),y2[6503]=y2[6503]+1,$2(y2[A-4>>2])},function(A,e){A|=0,e|=0,j2(0),j2(0);var r=0|N2[y2[y2[A>>2]+28>>2]](A),f=j2(H2[r>>2]-H2[e>>2]),i=j2(f*f);f=j2(H2[4+r>>2]-H2[e+4>>2]),i=j2(i+j2(f*f)),f=j2(H2[8+r>>2]-H2[e+8>>2]),j2(i+j2(f*f))>j2(1.1920928955078125e-7)&&(o1(A,e),U2[A+69|0]&&(e=y2[A+60>>2],N2[y2[y2[e>>2]>>2]](e),e=y2[A+60>>2])&&(y2[6503]=y2[6503]+1,$2(y2[e-4>>2])),y2[6502]=y2[6502]+1,e=0,(r=q2(191))&&(y2[(e=r+19&-16)-4>>2]=r),X2[e+80|0]=1,X2[e+60|0]=0,y2[e+52>>2]=287,y2[e+76>>2]=0,X2[e+100|0]=1,y2[e+68>>2]=0,y2[e+72>>2]=0,y2[e+96>>2]=0,X2[e+120|0]=1,y2[e+88>>2]=0,y2[e+92>>2]=0,y2[e+116>>2]=0,X2[e+140|0]=1,y2[e+108>>2]=0,y2[e+112>>2]=0,y2[e+136>>2]=0,X2[e+164|0]=1,y2[e+144>>2]=0,y2[e+128>>2]=0,y2[e+132>>2]=0,y2[e+160>>2]=0,y2[e+152>>2]=0,y2[e+156>>2]=0,y2[e+168>>2]=0,y2[e+28>>2]=2139095039,y2[e+32>>2]=0,y2[e+20>>2]=2139095039,y2[e+24>>2]=2139095039,y2[e+12>>2]=-8388609,y2[e+16>>2]=0,y2[e+4>>2]=-8388609,y2[e+8>>2]=-8388609,y2[e>>2]=12212,B1(y2[A+60>>2]=e,y2[A+56>>2],U2[A+68|0],A+24|0,A+40|0),X2[A+69|0]=1)},function(A){return 12836},x0,function(A,e,r){e|=0;var f=0,i=0,a=0,n=0,b=0,t=0,o=0,c=0,f=0|N2[y2[y2[(r|=0)>>2]+40>>2]](r,A|=0),i=0|N2[y2[y2[r>>2]+28>>2]](r,f);return(y2[e>>2]=i)&&N2[y2[y2[r>>2]+48>>2]](r,f),f=y2[A+4>>2],y2[e+8>>2]=0,y2[e+4>>2]=f,f=y2[A+56>>2],N2[y2[y2[f>>2]+56>>2]](f,e+12|0,r),y2[e+52>>2]=y2[A+20>>2],!y2[A+60>>2]||1&N2[y2[y2[r>>2]+52>>2]](r)?(y2[e+40>>2]=0,y2[e+44>>2]=0):(f=0|N2[y2[y2[r>>2]+24>>2]](r,y2[A+60>>2]))?(y2[e+44>>2]=0,y2[e+40>>2]=f):(f=0|N2[y2[y2[r>>2]+28>>2]](r,y2[A+60>>2]),y2[e+44>>2]=0,y2[e+40>>2]=f,f=y2[A+60>>2],n=r,b=0|N2[y2[y2[f>>2]+12>>2]](f),a=y2[y2[r>>2]+16>>2],f=0|N2[a](0|n,0|b,0|(t=1)),i=y2[A+60>>2],t=r,b=f,n=0|N2[y2[y2[i>>2]+16>>2]](i,y2[f+8>>2],r),c=y2[A+60>>2],a=y2[y2[r>>2]+20>>2],N2[a](0|t,0|b,0|n,0|(o=1213612625),0|c)),!y2[A+64>>2]||2&N2[y2[y2[r>>2]+52>>2]](r)?y2[e+48>>2]=0:(f=0|N2[y2[y2[r>>2]+24>>2]](r,y2[A+64>>2]))?y2[e+48>>2]=f:(a=e,c=0|N2[y2[y2[r>>2]+28>>2]](r,y2[A+64>>2]),y2[a+48>>2]=c,f=y2[A+64>>2],c=r,o=0|N2[y2[y2[f>>2]+8>>2]](f),a=y2[y2[r>>2]+16>>2],f=0|N2[a](0|c,0|o,0|(n=1)),i=y2[A+64>>2],n=r,o=f,c=0|N2[y2[y2[i>>2]+12>>2]](i,y2[f+8>>2],r),t=y2[A+64>>2],a=y2[y2[r>>2]+20>>2],N2[a](0|n,0|o,0|c,0|(b=1346456916),0|t)),y2[e+56>>2]=0,12812},function(A,e,r,f){A|=0,e|=0,r|=0,f|=0;var i,a,n,b,t,o,c,k,u,l,s,v,B,d=0,_=0,g=(j2(0),j2(0),0),Z=(j2(0),j2(0),0),C=(j2(0),0),w=0,E=0,Q=0,h=0;j2(0),j2(0),j2(0),j2(0),j2(0),y2[60+(L2=B=L2-80|0)>>2]=0,y2[8+B>>2]=e,y2[B>>2]=12644,y2[4+B>>2]=y2[A+56>>2],d=y2[A+60>>2];A:if(U2[d+60|0]){if(_=A=B,t=H2[d+28>>2],i=H2[d+12>>2],a=H2[r+8>>2],k=H2[d+44>>2],e=(a=j2(j2((t<(a=a=j2(0)?~~a>>>0:0,A2[_+78>>1]=e&=65534,Z=A,o=H2[d+24>>2],a=H2[d+8>>2],n=H2[r+4>>2],u=H2[d+40>>2],_=(n=j2(j2((o<(n=n=j2(0)?~~n>>>0:0,A2[Z+76>>1]=_&=65534,Z=A,c=H2[d+20>>2],n=H2[d+4>>2],b=H2[r>>2],l=H2[d+36>>2],r=(b=j2(j2((c<(b=b=j2(0)?~~b>>>0:0,A2[Z+74>>1]=C=65534&r,b=H2[f+8>>2],r=(i=j2(j2(k*j2((t<(b=b=j2(0)?~~i>>>0:0,i=H2[f>>2],t=H2[f+4>>2],A2[A+72>>1]=f=1|r,r=(a=j2(j2(u*j2((o<(t=t=j2(0)?~~a>>>0:0,A2[A+70>>1]=Z=1|r,A=B,r=(i=j2(j2(l*j2((c<(i=i=j2(0)?~~i>>>0:0,A2[A+68>>1]=w=1|r,!(2<(A=y2[d+144>>2])>>>0)){e:switch(A-1|0){default:if(1<=(0|(E=y2[d+56>>2])))for(A=y2[d+136>>2],r=0;;)if(d=C>>>0<=e2[A+6>>1]&w>>>0>=e2[A>>1]&e>>>0<=e2[A+10>>1]&f>>>0>=e2[A+4>>1]&_>>>0<=e2[A+8>>1]&Z>>>0>=e2[A+2>>1],(h=(0|(Q=y2[A+12>>2]))<0)||d&&N2[y2[y2[B>>2]+8>>2]](B,Q>>>21|0,2097151&Q),A=h&(-1^d)?(r=r-(d=y2[A+12>>2])|0,A-(d<<4)|0):(r=r+1|0,A+16|0),g=g+1|0,!((0|r)<(0|E)))break;if(y2[6662]>=(0|g))break A;y2[6662]=g;break A;case 0:if(y2[d+152>>2]<1)break A;for(;;){if(A=y2[d+160>>2]+(Q<<5)|0,!(C>>>0>e2[A+6>>1]||w>>>0>1]||e>>>0>e2[A+10>>1]||f>>>0>1]||_>>>0>e2[A+8>>1]||Z>>>0>1])){if((0|(g=y2[A+16>>2]))<1)g=0;else for(v=g+(r=y2[A+12>>2])|0,A=y2[d+136>>2]+(r<<4)|0,g=0;;)if(E=C>>>0<=e2[A+6>>1]&w>>>0>=e2[A>>1]&e>>>0<=e2[A+10>>1]&f>>>0>=e2[A+4>>1]&_>>>0<=e2[A+8>>1]&Z>>>0>=e2[A+2>>1],(s=(0|(h=y2[A+12>>2]))<0)||E&&N2[y2[y2[B>>2]+8>>2]](B,h>>>21|0,2097151&h),A=(-1^E)&s?(r=r-(E=y2[A+12>>2])|0,A-(E<<4)|0):(r=r+1|0,A+16|0),g=g+1|0,!((0|r)<(0|v)))break;y2[6662]>=(0|g)||(y2[6662]=g)}if(!((0|(Q=Q+1|0))>2]))break}break A;case 1:break e;}!function A(e,r,f,i){for(var a,n=0;;){e:{if(!(e2[f>>1]>e2[e+6>>1]||e2[i>>1]>1]||e2[f+4>>1]>e2[e+10>>1]||e2[i+4>>1]>1]||e2[f+2>>1]>e2[e+8>>1]||e2[i+2>>1]>1])){if((0|(n=y2[e+12>>2]))<0)break e;N2[y2[y2[r>>2]+8>>2]](r,n>>>21|0,2097151&n)}return}A(n=e+16|0,r,f,i),a=e+32|0,e=-1<(0|(e=y2[e+28>>2]))?a:n-(e<<4)|0}}(y2[d+136>>2],B,74+B|0,68+B|0)}}else{if(1<=(0|(Z=y2[d+56>>2])))for(A=y2[d+96>>2],e=0;;){_=0,H2[r>>2]>H2[A+16>>2]||(_=0,H2[f>>2]>2])||(_=1),g=0,H2[r+8>>2]>H2[A+24>>2]||H2[f+8>>2]>2]||(g=_);e:{r:{if(H2[f+4>>2]>2]||H2[r+4>>2]>H2[A+20>>2])w=-1==(0|(_=y2[A+32>>2])),g=0;else if((w=-1==(0|(_=y2[A+32>>2])))&g){N2[y2[y2[B>>2]+8>>2]](B,y2[A+36>>2],y2[A+40>>2]),Z=y2[d+56>>2];break r}if(!w&&!g){e=e+_|0,A=(_<<6)+A|0;break e}}e=e+1|0,A=A- -64|0}if(C=C+1|0,!((0|e)<(0|Z)))break}y2[6662]>=(0|C)||(y2[6662]=C)}L2=80+B|0},function(A,e){e|=0;var r,f,i,a,n,b=0;(b=y2[(A|=0)+60>>2])&&(f=e,i=0|N2[y2[y2[b>>2]+12>>2]](b),r=y2[y2[e>>2]+16>>2],b=0|N2[r](0|f,0|i,1),n=y2[A+60>>2],a=e,f=0|N2[y2[y2[n>>2]+16>>2]](n,y2[8+(i=b)>>2],e),n=y2[A+60>>2],r=y2[y2[e>>2]+20>>2],N2[r](0|a,0|i,0|f,1213612625,0|n))},function(A,e){e|=0;var r,f,i,a,n,b=0;(b=y2[(A|=0)+64>>2])&&(f=e,i=0|N2[y2[y2[b>>2]+8>>2]](b),r=y2[y2[e>>2]+16>>2],b=0|N2[r](0|f,0|i,1),n=y2[A+64>>2],a=e,f=0|N2[y2[y2[n>>2]+12>>2]](n,y2[8+(i=b)>>2],e),n=y2[A+64>>2],r=y2[y2[e>>2]+20>>2],N2[r](0|a,0|i,0|f,1346456916,0|n))},e,A,function(A,e,r){A|=0,e|=0,r|=0;var f,i,a,n,b,t,o,c=0,k=0,u=j2(0),l=j2(0),s=j2(0),v=0,B=j2(0),d=0;L2=o=L2-32|0,y2[A+60>>2]=y2[A+60>>2]+1,v=y2[A+4>>2],N2[y2[y2[v>>2]+16>>2]](v,28+o|0,24+o|0,20+o|0,16+o|0,12+o|0,8+o|0,4+o|0,o,e),v=(f=y2[A+4>>2])+12|0,i=y2[12+o>>2]+P2(y2[8+o>>2],r)|0,a=y2[20+o>>2],b=k=y2[28+o>>2],t=n=y2[16+o>>2];A:{e:{r:{f:{i:{a:{n:{if(3!=(0|(d=y2[o>>2]))){if(2!=(0|d))break n;c=y2[8+i>>2];break a}if(c=P2(e2[4+i>>1],n)+k|0,c=a?(l=j2(H2[f+8>>2]*j2(J[c+8>>3])),s=j2(H2[f+4>>2]*j2(J[c>>3])),u=j2(J[c+16>>3]),v):(l=j2(H2[c+4>>2]*H2[f+8>>2]),s=j2(H2[c>>2]*H2[f+4>>2]),u=H2[f+12>>2],c+8|0),B=H2[c>>2],y2[A+56>>2]=0,H2[A+48>>2]=l,H2[A+44>>2]=s,H2[A+52>>2]=B*u,c=P2(e2[2+i>>1],n)+k|0,!a)break i;l=j2(H2[f+8>>2]*j2(J[c+8>>3])),s=j2(H2[f+4>>2]*j2(J[c>>3])),u=j2(J[c+16>>3]),c=v;break f}c=U2[2+i|0]}if(c=P2(c,n)+k|0,c=a?(l=j2(H2[f+8>>2]*j2(J[c+8>>3])),s=j2(H2[f+4>>2]*j2(J[c>>3])),u=j2(J[c+16>>3]),v):(l=j2(H2[c+4>>2]*H2[f+8>>2]),s=j2(H2[c>>2]*H2[f+4>>2]),u=H2[f+12>>2],c+8|0),B=H2[c>>2],y2[A+56>>2]=0,H2[A+48>>2]=l,H2[A+44>>2]=s,H2[A+52>>2]=B*u,2==(0|d))break r;c=U2[1+i|0];break e}l=j2(H2[c+4>>2]*H2[f+8>>2]),s=j2(H2[c>>2]*H2[f+4>>2]),u=H2[f+12>>2],c=c+8|0}B=H2[c>>2],y2[A+40>>2]=0,H2[A+32>>2]=l,H2[A+28>>2]=s,H2[A+36>>2]=B*u,k=P2(e2[i>>1],n)+k|0,l=a?(s=j2(H2[f+4>>2]*j2(J[k>>3])),u=j2(J[k+16>>3]),j2(H2[f+8>>2]*j2(J[k+8>>3]))):(v=k+8|0,s=j2(H2[k>>2]*H2[f+4>>2]),u=H2[f+12>>2],j2(H2[k+4>>2]*H2[f+8>>2])),u=j2(H2[v>>2]*u);break A}c=y2[4+i>>2]}c=b+P2(t,c)|0,c=a?(l=j2(H2[f+8>>2]*j2(J[c+8>>3])),s=j2(H2[f+4>>2]*j2(J[c>>3])),u=j2(J[c+16>>3]),v):(l=j2(H2[c+4>>2]*H2[f+8>>2]),s=j2(H2[c>>2]*H2[f+4>>2]),u=H2[f+12>>2],c+8|0),B=H2[c>>2],y2[A+40>>2]=0,H2[A+32>>2]=l,H2[A+28>>2]=s,H2[A+36>>2]=B*u,c=2!=(0|d)?U2[0|i]:y2[i>>2],k=P2(c,n)+k|0,l=a?(s=j2(H2[f+4>>2]*j2(J[k>>3])),u=j2(J[k+16>>3]),j2(H2[f+8>>2]*j2(J[k+8>>3]))):(v=k+8|0,s=j2(H2[k>>2]*H2[f+4>>2]),u=H2[f+12>>2],j2(H2[k+4>>2]*H2[f+8>>2])),u=j2(H2[v>>2]*u)}H2[A+12>>2]=s,y2[A+24>>2]=0,H2[A+20>>2]=u,H2[A+16>>2]=l,v=y2[A+8>>2],N2[y2[y2[v>>2]+8>>2]](v,A+12|0,e,r),A=y2[A+4>>2],N2[y2[y2[A>>2]+24>>2]](A,e),L2=32+o|0},A,d1,A,d1,A,_1,W0,E1,function(A,e,r){A|=0,e=j2(e),r|=0,j2(0),j2(0);var f=j2(N2[y2[y2[A>>2]+48>>2]](A)),A=j2(N2[y2[y2[A>>2]+48>>2]](A));y2[r+12>>2]=0,e=j2(A*j2(f*j2(e*j2(.4000000059604645)))),H2[r+8>>2]=e,H2[r+4>>2]=e,H2[r>>2]=e},function(A){return 13226},K0,function(A){return j2(j2(H2[(A|=0)+36>>2]*H2[A+20>>2]))},function(A,e,r){var f,i,a,n,b,t;A|=0,e|=0,r|=0,j2(0),j2(0),j2(0),j2(0),j2(0),L2=t=L2-16|0,N2[y2[y2[e>>2]+68>>2]](t,e,r),i=y2[4+(n=8+t|0)>>2],y2[(f=A+8|0)>>2]=y2[n>>2],y2[4+f>>2]=i,i=y2[4+t>>2],y2[A>>2]=y2[t>>2],y2[A+4>>2]=i,n=H2[r+4>>2],i=H2[r>>2],r=H2[r+8>>2],a=j2(N2[y2[y2[e>>2]+48>>2]](e)),b=i=(e=j2(j2(j2(i*i)+j2(n*n))+j2(r*r))>2]=H2[A>>2]+j2(a*j2(b*i)),H2[A+4>>2]=H2[A+4>>2]+j2(a*j2(n*i)),H2[f>>2]=H2[f>>2]+j2(a*j2(r*i)),L2=16+t|0},function(A,e,r){y2[(A|=0)>>2]=0,y2[A+4>>2]=0,y2[(A=A+8|0)>>2]=0,y2[A+4>>2]=0},function(A,e,r,f){r|=0,1<=(0|(f|=0))&&v2(r,0,f<<4)},e,A,function(A,e,r,f,i,a,n,V,x,b){A|=0,e|=0,r|=0,f|=0,i|=0,a|=0,n|=0,V|=0,x|=0,b|=0;var p,S,J,M,t,o=j2(0),c=j2(0),k=j2(0),u=j2(0),l=j2(0),s=j2(0),v=j2(0),B=j2(0),d=0,_=j2(0),g=0,Z=j2(0),C=j2(0),w=0,E=j2(0),Q=j2(0),h=j2(0),G=j2(0),F=j2(0),D=j2(0),Y=j2(0),m=0,N=j2(0),R=j2(0),I=j2(0),W=0,T=0;j2(0),j2(0),j2(0),y2[12+(L2=t=L2-19056|0)>>2]=0,H2[t>>2]=H2[a+48>>2]-H2[i+48>>2],H2[8+t>>2]=H2[(A=a+56|0)>>2]-H2[(e=i+56|0)>>2],H2[4+t>>2]=H2[(b=a+52|0)>>2]-H2[(g=i+52|0)>>2],y2[18916+t>>2]=f,y2[18912+t>>2]=r,c=H2[a+20>>2],k=H2[a+36>>2],u=H2[(d=i+20|0)>>2],s=H2[(w=i+36|0)>>2],v=H2[(m=i+24|0)>>2],l=H2[a+24>>2],o=H2[i+40>>2],B=H2[a+40>>2],_=H2[a+32>>2],C=H2[a>>2],Q=H2[a+16>>2],h=H2[a+4>>2],Z=H2[i+32>>2],G=H2[i>>2],F=H2[i+16>>2],D=H2[i+4>>2],Y=H2[i+8>>2],E=H2[a+8>>2],y2[18964+t>>2]=0,y2[18948+t>>2]=0,y2[18932+t>>2]=0,N=j2(j2(j2(Y*E)+j2(v*l))+j2(o*B)),H2[18960+t>>2]=N,R=j2(j2(j2(D*E)+j2(u*l))+j2(s*B)),H2[18956+t>>2]=R,l=j2(j2(j2(G*E)+j2(F*l))+j2(Z*B)),H2[18952+t>>2]=l,B=j2(j2(j2(Y*h)+j2(v*c))+j2(o*k)),H2[18944+t>>2]=B,E=j2(j2(j2(D*h)+j2(u*c))+j2(s*k)),H2[18940+t>>2]=E,c=j2(j2(j2(G*h)+j2(F*c))+j2(Z*k)),H2[18936+t>>2]=c,k=j2(j2(j2(C*Y)+j2(Q*v))+j2(_*o)),H2[18928+t>>2]=k,u=j2(j2(j2(C*D)+j2(Q*u))+j2(_*s)),H2[18924+t>>2]=u,s=j2(j2(j2(C*G)+j2(Q*F))+j2(_*Z)),H2[18920+t>>2]=s,v=H2[d>>2],_=H2[w>>2],C=H2[m>>2],Q=H2[b>>2],h=H2[g>>2],Z=H2[A>>2],G=H2[e>>2],F=H2[i>>2],D=H2[i+16>>2],Y=H2[i+32>>2],I=H2[i+4>>2],p=H2[i+8>>2],S=H2[a+48>>2],J=H2[i+48>>2],y2[19036+t>>2]=0,y2[19028+t>>2]=0,y2[19012+t>>2]=0,H2[19008+t>>2]=N,H2[19004+t>>2]=B,H2[19e3+t>>2]=k,y2[18996+t>>2]=0,H2[18992+t>>2]=R,H2[18988+t>>2]=E,H2[18984+t>>2]=u,y2[18980+t>>2]=0,H2[18976+t>>2]=l,H2[18972+t>>2]=c,c=j2(S-J),k=j2(Q-h),l=o,o=j2(Z-G),H2[19024+t>>2]=j2(j2(p*c)+j2(C*k))+j2(l*o),H2[19020+t>>2]=j2(j2(c*I)+j2(k*v))+j2(o*_),H2[19016+t>>2]=j2(j2(c*F)+j2(k*D))+j2(o*Y),y2[19032+t>>2]=71,H2[18968+t>>2]=s,y2[(A=18664+t|0)>>2]=0,y2[A+4>>2]=0,y2[18656+t>>2]=0,y2[18660+t>>2]=0,y2[18892+t>>2]=0,y2[18896+t>>2]=0,y2[18904+t>>2]=2,y2[18672+t>>2]=0,y2[28+t>>2]=0,o=H2[8+t>>2],H2[24+t>>2]=-o,c=H2[4+t>>2],H2[20+t>>2]=-c,k=H2[t>>2],H2[16+t>>2]=-k;A:{e:{r:{f:{i:{if(1==(0|Q1(18528+t|0,18912+t|0,16+t|0))){for(y2[(A=18520+t|0)>>2]=0,y2[A+4>>2]=0,y2[(A=t+64|0)>>2]=0,y2[A+4>>2]=0,y2[72+t>>2]=0,y2[18512+t>>2]=0,y2[18516+t>>2]=0,y2[18508+t>>2]=0,y2[16+t>>2]=9,y2[56+t>>2]=0,y2[60+t>>2]=0,A=14336;;)if(y2[(e=(16+t|0)+A|0)+4144>>2]=0,b=y2[18520+t>>2],y2[e+4148>>2]=b,e=e+4100|0,b&&(y2[b+44>>2]=e),y2[18520+t>>2]=e,!(A=A-56|0))break;if(y2[18524+t>>2]=256,g=y2[18900+t>>2],X[g+32>>2]<2)break i;if(!function A(e){var r=0,f=0,i=0,a=0,n=j2(0),b=j2(0),t=j2(0),o=j2(0),c=j2(0),k=0,u=j2(0),l=j2(0),s=j2(0),v=j2(0),r=y2[e+372>>2],i=y2[r+32>>2]-1|0;a:{n:if(!(3>>0)){switch(i-1|0){default:if(y2[r+32>>2]=2,y2[r+20>>2]=0,i=y2[e+364>>2]-1|0,y2[e+364>>2]=i,k=r,r=y2[348+((i<<2)+e|0)>>2],y2[k+4>>2]=r,z(e,j2(1),j2(0),j2(0),r),i=1,A(e))break a;if(r=y2[e+372>>2],i=y2[r+32>>2]-1|0,f=y2[(i<<2)+r>>2],y2[348+((y2[e+364>>2]<<2)+e|0)>>2]=f,y2[r+32>>2]=i,r=y2[e+372>>2],a=y2[r+32>>2],y2[r+32>>2]=a+(i=1),y2[(r=r+(a<<2)|0)>>2]=f,y2[r+16>>2]=0,z(e,j2(-1),j2(-0),j2(-0),f),A(e))break a;if(r=y2[e+372>>2],i=y2[r+32>>2]-1|0,f=y2[(i<<2)+r>>2],y2[348+((y2[e+364>>2]<<2)+e|0)>>2]=f,y2[r+32>>2]=i,r=y2[e+372>>2],a=y2[r+32>>2],y2[r+32>>2]=a+(i=1),y2[(r=r+(a<<2)|0)>>2]=f,y2[r+16>>2]=0,z(e,j2(0),j2(1),j2(0),f),A(e))break a;if(r=y2[e+372>>2],i=y2[r+32>>2]-1|0,f=y2[(i<<2)+r>>2],y2[348+((y2[e+364>>2]<<2)+e|0)>>2]=f,y2[r+32>>2]=i,r=y2[e+372>>2],a=y2[r+32>>2],y2[r+32>>2]=a+(i=1),y2[(r=r+(a<<2)|0)>>2]=f,y2[r+16>>2]=0,z(e,j2(-0),j2(-1),j2(-0),f),A(e))break a;if(r=y2[e+372>>2],i=y2[r+32>>2]-1|0,f=y2[(i<<2)+r>>2],y2[348+((y2[e+364>>2]<<2)+e|0)>>2]=f,y2[r+32>>2]=i,r=y2[e+372>>2],a=y2[r+32>>2],y2[r+32>>2]=a+(i=1),y2[(r=r+(a<<2)|0)>>2]=f,y2[r+16>>2]=0,z(e,j2(0),j2(0),j2(1),f),A(e))break a;if(r=y2[e+372>>2],i=y2[r+32>>2]-1|0,f=y2[(i<<2)+r>>2],y2[348+((y2[e+364>>2]<<2)+e|0)>>2]=f,y2[r+32>>2]=i,r=y2[e+372>>2],a=y2[r+32>>2],y2[r+32>>2]=a+(i=1),y2[(r=r+(a<<2)|0)>>2]=f,y2[r+16>>2]=0,z(e,j2(-0),j2(-0),j2(-1),f),A(e))break a;f=y2[e+364>>2],y2[e+364>>2]=f+1,r=y2[e+372>>2],i=y2[r+32>>2]-1|0,y2[r+32>>2]=i,y2[348+((f<<2)+e|0)>>2]=y2[r+(i<<2)>>2];break n;case 0:if(i=1,f=y2[r+4>>2],a=y2[r>>2],l=j2(H2[f+16>>2]-H2[a+16>>2]),b=j2(l*j2(0)),s=j2(H2[f+20>>2]-H2[a+20>>2]),n=j2(b-s),t=j2(s*j2(0)),v=j2(H2[f+24>>2]-H2[a+24>>2]),u=j2(v*j2(0)),o=j2(t-u),c=j2(v-b),j2(j2(n*n)+j2(j2(o*o)+j2(c*c)))>j2(0)){if(y2[r+32>>2]=3,y2[r+24>>2]=0,f=y2[e+364>>2]-1|0,y2[e+364>>2]=f,k=r,r=y2[348+((f<<2)+e|0)>>2],z(e,o,c,n,y2[k+8>>2]=r),A(e))break a;if(r=y2[e+372>>2],i=y2[r+32>>2]-1|0,f=y2[(i<<2)+r>>2],y2[348+((y2[e+364>>2]<<2)+e|0)>>2]=f,y2[r+32>>2]=i,r=y2[e+372>>2],a=y2[r+32>>2],y2[r+32>>2]=a+(i=1),y2[(r=r+(a<<2)|0)>>2]=f,y2[r+16>>2]=0,z(e,j2(-o),j2(-c),j2(-n),f),A(e))break a;f=y2[e+364>>2],y2[e+364>>2]=f+1,r=y2[e+372>>2],i=y2[r+32>>2]-1|0,y2[r+32>>2]=i,y2[348+((f<<2)+e|0)>>2]=y2[r+(i<<2)>>2]}if(n=j2(l-t),o=j2(t-v),c=j2(u-b),j2(j2(n*n)+j2(j2(o*o)+j2(c*c)))>j2(0)){if(a=y2[e+364>>2]-1|0,y2[e+364>>2]=a,r=y2[e+372>>2],f=y2[r+32>>2],y2[r+32>>2]=f+(i=1),y2[16+(r=r+(f<<2)|0)>>2]=0,k=r,r=y2[348+((a<<2)+e|0)>>2],z(e,o,c,n,y2[k>>2]=r),A(e))break a;if(r=y2[e+372>>2],i=y2[r+32>>2]-1|0,f=y2[(i<<2)+r>>2],y2[348+((y2[e+364>>2]<<2)+e|0)>>2]=f,y2[r+32>>2]=i,r=y2[e+372>>2],a=y2[r+32>>2],y2[r+32>>2]=a+(i=1),y2[(r=r+(a<<2)|0)>>2]=f,y2[r+16>>2]=0,z(e,j2(-o),j2(-c),j2(-n),f),A(e))break a;f=y2[e+364>>2],y2[e+364>>2]=f+1,r=y2[e+372>>2],i=y2[r+32>>2]-1|0,y2[r+32>>2]=i,y2[348+((f<<2)+e|0)>>2]=y2[r+(i<<2)>>2]}if(i=1,b=j2(b-t),n=j2(s-u),t=j2(u-l),!(j2(j2(b*b)+j2(j2(n*n)+j2(t*t)))>j2(0)))break n;if(a=y2[e+364>>2]-1|0,y2[e+364>>2]=a,r=y2[e+372>>2],f=y2[r+32>>2],y2[r+32>>2]=f+1,y2[16+(r=r+(f<<2)|0)>>2]=0,k=r,r=y2[348+((a<<2)+e|0)>>2],z(e,n,t,b,y2[k>>2]=r),A(e))break a;if(r=y2[e+372>>2],i=y2[r+32>>2]-1|0,f=y2[(i<<2)+r>>2],y2[348+((y2[e+364>>2]<<2)+e|0)>>2]=f,y2[r+32>>2]=i,r=y2[e+372>>2],a=y2[r+32>>2],y2[r+32>>2]=a+(i=1),y2[(r=r+(a<<2)|0)>>2]=f,y2[r+16>>2]=0,z(e,j2(-n),j2(-t),j2(-b),f),A(e))break a;f=y2[e+364>>2],y2[e+364>>2]=f+1,r=y2[e+372>>2],i=y2[r+32>>2]-1|0,y2[r+32>>2]=i,y2[348+((f<<2)+e|0)>>2]=y2[r+(i<<2)>>2];break n;case 1:if(i=1,f=y2[r+4>>2],a=y2[r>>2],b=H2[a+16>>2],t=j2(H2[f+16>>2]-b),k=y2[r+8>>2],n=H2[a+20>>2],u=j2(H2[k+20>>2]-n),n=j2(H2[f+20>>2]-n),o=j2(H2[k+16>>2]-b),b=j2(j2(t*u)-j2(n*o)),s=n,n=H2[a+24>>2],c=j2(H2[k+24>>2]-n),l=j2(H2[f+24>>2]-n),n=j2(j2(s*c)-j2(l*u)),t=j2(j2(l*o)-j2(t*c)),!(j2(j2(b*b)+j2(j2(n*n)+j2(t*t)))>j2(0)))break n;if(y2[(f=r+28|0)>>2]=0,y2[f+4>>2]=4,f=y2[e+364>>2]-1|0,y2[e+364>>2]=f,k=r,r=y2[348+((f<<2)+e|0)>>2],z(e,n,t,b,y2[k+12>>2]=r),A(e))break a;if(r=y2[e+372>>2],i=y2[r+32>>2]-1|0,f=y2[(i<<2)+r>>2],y2[348+((y2[e+364>>2]<<2)+e|0)>>2]=f,y2[r+32>>2]=i,r=y2[e+372>>2],a=y2[r+32>>2],y2[r+32>>2]=a+(i=1),y2[(r=r+(a<<2)|0)>>2]=f,y2[r+16>>2]=0,z(e,j2(-n),j2(-t),j2(-b),f),A(e))break a;f=y2[e+364>>2],y2[e+364>>2]=f+1,r=y2[e+372>>2],i=y2[r+32>>2]-1|0,y2[r+32>>2]=i,y2[348+((f<<2)+e|0)>>2]=y2[r+(i<<2)>>2];break n;case 2:}if(i=1,e=y2[r>>2],f=y2[r+12>>2],b=H2[f+16>>2],u=j2(H2[e+16>>2]-b),a=y2[r+4>>2],n=H2[f+20>>2],o=j2(H2[a+20>>2]-n),r=y2[r+8>>2],t=H2[f+24>>2],c=j2(H2[r+24>>2]-t),l=j2(H2[e+20>>2]-n),s=j2(H2[a+24>>2]-t),v=j2(H2[r+16>>2]-b),t=j2(H2[e+24>>2]-t),b=j2(H2[a+16>>2]-b),n=j2(H2[r+20>>2]-n),(b=j2(j2(j2(j2(u*o)*c)+j2(j2(j2(j2(j2(l*s)*v)+j2(j2(t*b)*n))-j2(j2(u*s)*n))-j2(j2(l*b)*c)))-j2(j2(t*o)*v)))!=j2(0)&b==b)break a}i=0}return i}(18528+t|0))break i;if(A=y2[18512+t>>2]){for(b=y2[18516+t>>2],e=y2[18524+t>>2];;)if((d=y2[A+48>>2])&&(y2[d+44>>2]=y2[A+44>>2]),(d=y2[A+44>>2])&&(y2[d+48>>2]=y2[A+48>>2]),y2[18512+t>>2]==(0|A)&&(y2[18512+t>>2]=y2[A+48>>2]),y2[A+44>>2]=0,y2[A+48>>2]=y2[18520+t>>2],(d=y2[18520+t>>2])&&(y2[d+44>>2]=A),b=b-1|0,y2[18520+t>>2]=A,e=e+1|0,!(A=y2[18512+t>>2]))break;y2[18524+t>>2]=e,y2[18516+t>>2]=b}if(y2[18508+t>>2]=0,y2[16+t>>2]=0,b=y2[g>>2],e=y2[g+12>>2],u=H2[e+16>>2],l=j2(H2[b+16>>2]-u),A=y2[g+4>>2],s=H2[e+20>>2],B=j2(H2[A+20>>2]-s),d=y2[g+8>>2],v=H2[e+24>>2],_=j2(H2[d+24>>2]-v),C=j2(H2[b+20>>2]-s),Q=j2(H2[A+24>>2]-v),h=j2(H2[d+16>>2]-u),v=j2(H2[b+24>>2]-v),u=j2(H2[A+16>>2]-u),s=j2(H2[d+20>>2]-s),j2(j2(j2(j2(l*B)*_)+j2(j2(j2(j2(j2(C*Q)*h)+j2(j2(v*u)*s))-j2(j2(l*Q)*s))-j2(j2(C*u)*_)))-j2(j2(v*B)*h))>2]=b,y2[g>>2]=A,e=y2[g+16>>2],y2[g+16>>2]=y2[(w=g+20|0)>>2],y2[w>>2]=e,e=b):(e=A,A=b),e=G1(16+t|0,A,e,d,1),d=G1(16+t|0,y2[g+4>>2],y2[g>>2],y2[g+12>>2],1),m=G1(16+t|0,y2[g+8>>2],y2[g+4>>2],y2[g+12>>2],1),w=G1(16+t|0,y2[g>>2],y2[g+8>>2],y2[g+12>>2],1),4!=y2[18516+t>>2])break i;if(A=y2[18512+t>>2],o=H2[A+16>>2],b=y2[A+48>>2]){for(o=j2(o*o);;)if(c=H2[b+16>>2],A=(g=(c=j2(c*c))>2]))break;o=H2[A+16>>2]}for(g=y2[A+28>>2],W=y2[A+24>>2],T=y2[A+20>>2],s=H2[A+12>>2],c=H2[A+8>>2],k=H2[A+4>>2],u=H2[A>>2],y2[e+32>>2]=d,X2[e+52|0]=0,y2[d+32>>2]=e,X2[d+52|0]=0,y2[e+36>>2]=m,X2[e+53|0]=0,y2[m+32>>2]=e,X2[m+52|0]=1,y2[e+40>>2]=w,X2[e+54|0]=0,y2[w+32>>2]=e,X2[w+52|0]=2,y2[d+36>>2]=w,X2[d+53|0]=2,y2[w+40>>2]=d,X2[w+54|0]=1,y2[d+40>>2]=m,X2[d+54|0]=1,y2[m+36>>2]=d,X2[0|(e=m+53|0)]=2,X2[e+1|0]=1,y2[m+40>>2]=w,y2[w+36>>2]=m,X2[w+53|0]=2,d=y2[16+t>>2]=0;;){a:{n:{if(!((e=y2[18508+t>>2])>>>0<=127)){y2[16+t>>2]=6;break a}if(X2[A+55|0]=d=d+1|0,y2[19048+t>>2]=0,y2[19040+t>>2]=0,y2[19044+t>>2]=0,y2[18508+t>>2]=e+1,z(18528+t|0,H2[A>>2],H2[(b=A+4|0)>>2],H2[(w=A+8|0)>>2],m=(e=(16+t|0)+(e<<5)|0)+60|0),!(j2(j2(j2(j2(H2[A>>2]*H2[e+76>>2])+j2(H2[b>>2]*H2[e+80>>2]))+j2(H2[w>>2]*H2[e+84>>2]))-H2[A+16>>2])>j2(9999999747378752e-20))){y2[16+t>>2]=7;break a}for(b=0,e=32;;){if(!(w=function A(e,r,f,i,a,n){var b,t,o=0;if(U2[i+55|0]!=(0|r))if(t=y2[13364+(b=a<<2)>>2],j2(j2(j2(j2(H2[i>>2]*H2[f+16>>2])+j2(H2[i+4>>2]*H2[f+20>>2]))+j2(H2[i+8>>2]*H2[f+24>>2]))-H2[i+16>>2])>2],y2[e+b>>2],f,0))return y2[e+32>>2]=i,X2[e+52|0]=a,X2[52+(i+a|0)|0]=0,y2[32+((a<<2)+i|0)>>2]=e,(r=y2[n>>2])?(y2[r+36>>2]=e,X2[r+53|0]=2,y2[e+40>>2]=r,X2[e+54|0]=1):y2[n+4>>2]=e,y2[n>>2]=e,y2[n+8>>2]=y2[n+8>>2]+1,1}else A(e,X2[i+55|0]=r,f,y2[32+((t<<2)+i|0)>>2],U2[52+(i+t|0)|0],n)&&(a=r,r=y2[13376+b>>2],A(e,a,f,y2[32+((r<<2)+i|0)>>2],U2[52+(r+i|0)|0],n))&&((r=y2[i+48>>2])&&(y2[r+44>>2]=y2[i+44>>2]),(r=y2[i+44>>2])&&(y2[r+48>>2]=y2[i+48>>2]),y2[e+18496>>2]==(0|i)&&(y2[e+18496>>2]=y2[i+48>>2]),y2[i+44>>2]=0,y2[i+48>>2]=y2[e+18504>>2],y2[(r=e+18500|0)>>2]=y2[r>>2]-1,(r=y2[e+18504>>2])&&(y2[r+44>>2]=i),y2[e+18504>>2]=i,y2[(e=e+18508|0)>>2]=y2[e>>2]+(o=1));return o}(16+t|0,d,m,y2[A+e>>2],U2[52+(A+b|0)|0],19040+t|0)))break n;if(e=e+4|0,M=b>>>0<2,b=b+1|0,!M)break}}if(w&2>2]){if(e=y2[19040+t>>2],X2[e+53|0]=2,b=y2[19044+t>>2],y2[e+36>>2]=b,y2[b+40>>2]=e,X2[b+54|0]=1,(e=y2[A+48>>2])&&(y2[e+44>>2]=y2[A+44>>2]),(e=y2[A+44>>2])&&(y2[e+48>>2]=y2[A+48>>2]),y2[18512+t>>2]==(0|A)&&(y2[18512+t>>2]=y2[A+48>>2]),y2[A+44>>2]=0,y2[A+48>>2]=y2[18520+t>>2],y2[18516+t>>2]=y2[18516+t>>2]-1,(e=y2[18520+t>>2])&&(y2[e+44>>2]=A),y2[18520+t>>2]=A,y2[18524+t>>2]=y2[18524+t>>2]+1,A=y2[18512+t>>2],o=H2[A+16>>2],b=y2[A+48>>2]){for(o=j2(o*o);;)if(c=H2[b+16>>2],A=(e=(c=j2(c*c))>2]))break;o=H2[A+16>>2]}if(g=y2[A+28>>2],W=y2[A+24>>2],T=y2[A+20>>2],s=H2[A+12>>2],c=H2[A+8>>2],k=H2[A+4>>2],u=H2[A>>2],255!=(0|d))continue}else y2[16+t>>2]=4}break}if(H2[68+t>>2]=s,H2[t+64>>2]=c,H2[60+t>>2]=k,H2[72+t>>2]=o,H2[56+t>>2]=u,A=36+t|0,u=j2(u*o),s=j2(H2[W+16>>2]-u),e=g+20|0,k=j2(k*o),v=j2(H2[e>>2]-k),l=j2(H2[(b=W+20|0)>>2]-k),B=j2(H2[g+16>>2]-u),_=j2(j2(s*v)-j2(l*B)),o=j2(c*o),c=j2(H2[g+24>>2]-o),Z=j2(l*c),l=j2(H2[(d=W+24|0)>>2]-o),v=j2(Z-j2(l*v)),s=j2(j2(l*B)-j2(s*c)),s=j2(K2(j2(j2(_*_)+j2(j2(v*v)+j2(s*s))))),H2[A>>2]=s,y2[20+t>>2]=T,w=40+t|0,v=j2(H2[g+16>>2]-u),l=j2(H2[(m=T+20|0)>>2]-k),B=j2(H2[e>>2]-k),_=j2(H2[T+16>>2]-u),C=j2(j2(v*l)-j2(B*_)),Z=B,B=j2(H2[(e=T+24|0)>>2]-o),l=j2(j2(Z*B)-j2(c*l)),c=j2(j2(c*_)-j2(v*B)),c=j2(K2(j2(j2(C*C)+j2(j2(l*l)+j2(c*c))))),H2[w>>2]=c,y2[52+t>>2]=3,y2[28+t>>2]=g,y2[24+t>>2]=W,Z=j2((B=s)+c),s=j2(H2[T+16>>2]-u),v=j2(H2[b>>2]-k),k=j2(H2[m>>2]-k),u=j2(H2[W+16>>2]-u),l=j2(j2(s*v)-j2(k*u)),_=k,k=j2(H2[d>>2]-o),o=j2(H2[e>>2]-o),v=j2(j2(_*k)-j2(o*v)),o=j2(j2(o*u)-j2(s*k)),k=j2(K2(j2(j2(l*l)+j2(j2(v*v)+j2(o*o))))),o=j2(Z+k),H2[A>>2]=B/o,H2[44+t>>2]=k/o,H2[w>>2]=c/o,9!=y2[16+t>>2]){if(y2[52+t>>2])break f;u=j2(0),k=j2(0),c=j2(0);break r}}if(y2[18532+t>>2]=f,y2[18528+t>>2]=r,C=H2[a+32>>2],Q=H2[a>>2],h=H2[a+16>>2],Z=H2[a+36>>2],G=H2[a+4>>2],F=H2[a+20>>2],o=H2[i+32>>2],c=H2[i>>2],k=H2[i+16>>2],u=H2[i+36>>2],s=H2[i+4>>2],v=H2[i+20>>2],l=H2[i+40>>2],D=H2[a+40>>2],B=H2[i+8>>2],Y=H2[a+8>>2],_=H2[i+24>>2],E=H2[a+24>>2],y2[18580+t>>2]=0,y2[18564+t>>2]=0,y2[18548+t>>2]=0,y2[18652+t>>2]=0,y2[18644+t>>2]=0,y2[18628+t>>2]=0,y2[18612+t>>2]=0,y2[18596+t>>2]=0,N=j2(j2(j2(B*Y)+j2(_*E))+j2(l*D)),H2[18576+t>>2]=N,R=j2(j2(j2(s*Y)+j2(v*E))+j2(u*D)),H2[18572+t>>2]=R,D=j2(j2(j2(c*Y)+j2(k*E))+j2(o*D)),H2[18568+t>>2]=D,Y=j2(j2(j2(B*G)+j2(_*F))+j2(l*Z)),H2[18560+t>>2]=Y,E=j2(j2(j2(s*G)+j2(v*F))+j2(u*Z)),H2[18556+t>>2]=E,Z=j2(j2(j2(c*G)+j2(k*F))+j2(o*Z)),H2[18552+t>>2]=Z,G=j2(j2(j2(Q*B)+j2(h*_))+j2(C*l)),H2[18544+t>>2]=G,F=j2(j2(j2(Q*s)+j2(h*v))+j2(C*u)),H2[18540+t>>2]=F,H2[18624+t>>2]=N,H2[18620+t>>2]=Y,H2[18616+t>>2]=G,H2[18608+t>>2]=R,H2[18604+t>>2]=E,H2[18600+t>>2]=F,H2[18592+t>>2]=D,H2[18588+t>>2]=Z,Z=B,B=j2(H2[a+48>>2]-H2[i+48>>2]),E=_,_=j2(H2[a+52>>2]-H2[i+52>>2]),G=l,l=j2(H2[a+56>>2]-H2[i+56>>2]),H2[18640+t>>2]=j2(j2(Z*B)+j2(E*_))+j2(G*l),H2[18636+t>>2]=j2(j2(B*s)+j2(_*v))+j2(l*u),H2[18632+t>>2]=j2(j2(B*c)+j2(_*k))+j2(l*o),y2[18648+t>>2]=72,o=j2(j2(j2(Q*c)+j2(h*k))+j2(C*o)),H2[18536+t>>2]=o,H2[18584+t>>2]=o,y2[(A=152+t|0)>>2]=0,y2[A+4>>2]=0,y2[144+t>>2]=0,y2[148+t>>2]=0,y2[380+t>>2]=0,y2[384+t>>2]=0,y2[392+t>>2]=2,Q1(16+t|(y2[160+t>>2]=0),18528+t|0,t)){A=0;break A}if(b=y2[388+t>>2],y2[b+32>>2]){for(C=j2(0),_=j2(e=A=0),B=j2(0),l=j2(0),v=j2(0),s=j2(0);;)if(o=H2[(f=A+b|0)+16>>2],r=y2[18648+t>>2],b=y2[18652+t>>2],d=g=y2[18528+t>>2]+(b>>1)|0,f=y2[f>>2],1&b&&(r=y2[r+y2[g>>2]>>2]),N2[0|r](a=18912+t|0,d,f),a=y2[18652+t>>2],r=y2[18532+t>>2]+(a>>1)|0,Q=j2(o*H2[18920+t>>2]),h=j2(o*H2[18916+t>>2]),Z=j2(o*H2[18912+t>>2]),f=y2[y2[388+t>>2]+A>>2],c=H2[f+8>>2],k=H2[f>>2],u=j2(-H2[f+4>>2]),b=y2[18648+t>>2],b=1&a?y2[y2[r>>2]+b>>2]:b,C=j2(C+Q),_=j2(_+h),B=j2(B+Z),y2[19052+t>>2]=0,H2[19048+t>>2]=j2(j2(H2[18572+t>>2]*u)-j2(k*H2[18568+t>>2]))-j2(c*H2[18576+t>>2]),H2[19044+t>>2]=j2(j2(H2[18556+t>>2]*u)-j2(k*H2[18552+t>>2]))-j2(c*H2[18560+t>>2]),H2[19040+t>>2]=j2(j2(H2[18540+t>>2]*u)-j2(k*H2[18536+t>>2]))-j2(c*H2[18544+t>>2]),N2[0|b](18912+t|0,r,19040+t|0),c=H2[18912+t>>2],k=H2[18916+t>>2],u=H2[18920+t>>2],l=j2(l+j2(o*j2(j2(j2(j2(c*H2[18616+t>>2])+j2(k*H2[18620+t>>2]))+j2(u*H2[18624+t>>2]))+H2[18640+t>>2]))),v=j2(v+j2(o*j2(j2(j2(j2(c*H2[18600+t>>2])+j2(k*H2[18604+t>>2]))+j2(u*H2[18608+t>>2]))+H2[18636+t>>2]))),s=j2(s+j2(o*j2(j2(j2(j2(c*H2[18584+t>>2])+j2(k*H2[18588+t>>2]))+j2(u*H2[18592+t>>2]))+H2[18632+t>>2]))),A=A+4|0,b=y2[388+t>>2],!((e=e+1|0)>>>0>2]))break}else s=j2(0),v=j2(0),l=j2(0),B=j2(0),_=j2(0),C=j2(0);c=j2(B-s),k=j2(_-v),u=j2(C-l),o=(o=j2(K2(j2(j2(j2(c*c)+j2(k*k))+j2(u*u)))))>j2(9999999747378752e-20)?j2(j2(1)/o):j2(1),u=j2(u*o),Q=j2(k*o),k=j2(c*o),Z=H2[i+32>>2],G=H2[i+36>>2],F=H2[i+40>>2],D=H2[i+56>>2],c=j2(j2(j2(j2(s*Z)+j2(v*G))+j2(l*F))+D),Y=H2[i+16>>2],E=H2[i+20>>2],N=H2[i+24>>2],R=H2[i+52>>2],h=j2(j2(j2(j2(s*Y)+j2(v*E))+j2(l*N))+R),I=H2[i>>2],p=H2[i+4>>2],o=l,l=H2[i+8>>2],S=H2[i+48>>2],o=j2(j2(j2(j2(s*I)+j2(v*p))+j2(o*l))+S),s=j2(j2(j2(j2(B*Z)+j2(_*G))+j2(C*F))+D),v=j2(j2(j2(j2(B*Y)+j2(_*E))+j2(C*N))+R),l=j2(j2(j2(j2(B*I)+j2(_*p))+j2(C*l))+S),A=0;break e}y2[68+t>>2]=0,H2[t+64>>2]=o,H2[60+t>>2]=c,y2[16+t>>2]=8,H2[56+t>>2]=k,(u=j2(K2(j2(j2(j2(k*k)+j2(c*c))+j2(o*o)))))>j2(0)?(u=j2(j2(1)/u),H2[64+t>>2]=u*o,H2[60+t>>2]=u*c,H2[56+t>>2]=u*k):(y2[64+t>>2]=0,y2[56+t>>2]=1065353216,y2[60+t>>2]=0),y2[52+t>>2]=1,y2[36+t>>2]=1065353216,y2[68+t>>2]=0,y2[72+t>>2]=0,y2[20+t>>2]=y2[g>>2]}for(A=36+t|0,c=j2(0),k=j2(e=0),u=j2(0);;)if(r=y2[19032+t>>2],a=y2[19036+t>>2],g=b=y2[18912+t>>2]+(a>>1)|0,d=y2[A-16>>2],1&a&&(r=y2[r+y2[b>>2]>>2]),N2[0|r](f=19040+t|0,g,d),o=H2[A>>2],c=j2(c+j2(o*H2[19048+t>>2])),k=j2(k+j2(o*H2[19044+t>>2])),u=j2(u+j2(H2[19040+t>>2]*o)),A=A+4|0,!((e=e+1|0)>>>0>2]))break}B=H2[i+32>>2],_=H2[i+36>>2],C=H2[i+40>>2],Q=H2[i+56>>2],s=j2(j2(j2(j2(u*B)+j2(k*_))+j2(c*C))+Q),h=H2[i+16>>2],Z=H2[i+20>>2],G=H2[i+24>>2],F=H2[i+52>>2],v=j2(j2(j2(j2(u*h)+j2(k*Z))+j2(c*G))+F),D=H2[i>>2],Y=H2[i+4>>2],E=H2[i+8>>2],N=H2[i+48>>2],l=j2(j2(j2(j2(u*D)+j2(k*Y))+j2(c*E))+N),R=H2[56+t>>2],o=H2[72+t>>2],u=j2(u-j2(R*o)),I=j2(u*B),B=H2[60+t>>2],k=j2(k-j2(o*B)),I=j2(I+j2(k*_)),_=H2[t+64>>2],o=j2(c-j2(o*_)),c=j2(j2(I+j2(o*C))+Q),h=j2(j2(j2(j2(u*h)+j2(k*Z))+j2(o*G))+F),o=j2(j2(j2(j2(u*D)+j2(k*Y))+j2(o*E))+N),k=j2(-R),u=j2(-_),Q=j2(-B),A=1}y2[V+12>>2]=0,H2[V+8>>2]=s,H2[V+4>>2]=v,H2[V>>2]=l,y2[x+12>>2]=0,H2[x+8>>2]=c,H2[x+4>>2]=h,H2[x>>2]=o,y2[n+12>>2]=0,H2[n+8>>2]=u,H2[n+4>>2]=Q,H2[n>>2]=k}return L2=19056+t|0,0|A},s0,function(A,e,r,f){var i,a,n,b,t,o;A|=0,e|=0,r|=0,f|=0,j2(0),j2(0),j2(0),j2(0),j2(0),j2(0),y2[(i=604+(L2=o=L2-688|0)|0)>>2]=1065353216,y2[4+i>>2]=0,a=y2[e+20>>2],y2[(i=656+o|0)>>2]=y2[e+16>>2],y2[4+i>>2]=a,a=y2[e+36>>2],y2[(i=672+o|0)>>2]=y2[e+32>>2],y2[4+i>>2]=a,n=y2[4+(a=e+8|0)>>2],y2[(i=648+o|0)>>2]=y2[a>>2],y2[4+i>>2]=n,n=y2[4+(a=e+24|0)>>2],y2[(i=664+o|0)>>2]=y2[a>>2],y2[4+i>>2]=n,n=y2[4+(a=e+40|0)>>2],y2[(i=680+o|0)>>2]=y2[a>>2],y2[4+i>>2]=n,y2[636+o>>2]=0,y2[596+o>>2]=1065353216,y2[600+o>>2]=1065353216,y2[588+o>>2]=0,y2[592+o>>2]=0,y2[580+o>>2]=1,y2[584+o>>2]=0,y2[576+o>>2]=13584,i=y2[e+4>>2],y2[640+o>>2]=y2[e>>2],y2[644+o>>2]=i,y2[628+o>>2]=y2[A+204>>2],X2[548+o|0]=0,y2[524+o>>2]=953267991,y2[208+o>>2]=13396,y2[204+o>>2]=0,y2[184+o>>2]=13172,y2[196+o>>2]=y2[A+4>>2],y2[200+o>>2]=576+o,y2[192+o>>2]=208+o,y2[188+o>>2]=216+o,y2[8+o>>2]=13956,y2[172+o>>2]=1065353216,y2[176+o>>2]=0,y2[180+o>>2]=y2[A+208>>2],_1(184+o|0,A+8|0,A+72|0,e=A+136|0,e,8+o|0)&&(a=H2[140+o>>2],n=H2[144+o>>2],i=H2[148+o>>2],(e=j2(j2(j2(a*a)+j2(n*n))+j2(i*i)))>j2(9999999747378752e-20))&&(b=H2[172+o>>2])>2]&&(t=i,i=j2(j2(1)/j2(K2(e))),H2[148+o>>2]=t*i,H2[144+o>>2]=n*i,H2[140+o>>2]=a*i,j2(N2[y2[y2[A>>2]+12>>2]](A,140+o|0,156+o|0,b,r,f))),y2[576+o>>2]=11040,(A=y2[636+o>>2])&&(N2[y2[y2[A>>2]>>2]](A),A=y2[636+o>>2])&&(y2[6503]=y2[6503]+1,$2(y2[A-4>>2])),L2=688+o|0},D1,O0,c1,function(A){return 13724},function(A,e,r){A|=0,e|=0,r|=0,j2(0),j2(0),j2(0),j2(0),j2(0);var f=H2[r>>2],i=H2[r+4>>2],a=H2[r+8>>2],n=j2(j2(j2(f*H2[e+80>>2])+j2(i*H2[e+84>>2]))+j2(a*H2[e+88>>2])),b=j2(j2(j2(f*H2[e+96>>2])+j2(i*H2[e+100>>2]))+j2(a*H2[e+104>>2]));f=j2(j2(j2(f*H2[e+64>>2])+j2(i*H2[e+68>>2]))+j2(a*H2[e+72>>2])),r=y2[(e=(e- -64|0)+((f>2],y2[A>>2]=y2[e>>2],y2[A+4>>2]=r,r=y2[(e=e+8|0)+4>>2],y2[(A=A+8|0)>>2]=y2[e>>2],y2[A+4>>2]=r},function(A,e,r,f){var i,a,n,b,t,o;if(A|=0,e|=0,r|=0,f|=0,j2(0),j2(0),j2(0),j2(0),j2(0),1<=(0|f))for(t=A- -64|0;;)if(i=H2[e>>2],a=H2[e+4>>2],n=H2[e+8>>2],o=j2(j2(j2(i*H2[A+80>>2])+j2(a*H2[A+84>>2]))+j2(n*H2[A+88>>2])),b=j2(j2(j2(i*H2[A+96>>2])+j2(a*H2[A+100>>2]))+j2(n*H2[A+104>>2])),i=j2(j2(j2(i*H2[A+64>>2])+j2(a*H2[A+68>>2]))+j2(n*H2[A+72>>2])),n=y2[4+(a=((i>2],y2[r>>2]=y2[a>>2],y2[r+4>>2]=n,o=y2[4+(a=8+a|0)>>2],y2[(n=r+8|0)>>2]=y2[a>>2],y2[4+n>>2]=o,e=e+16|0,r=r+16|0,!(f=f-1|0))break},Y1,function(A,e,r){A|=0,e|=0,r|=0,j2(0),j2(0),j2(0),j2(0),j2(0),j2(0),j2(0),j2(0),j2(0),j2(0),j2(0);var f,i,a=H2[A+96>>2],n=H2[A+80>>2],b=H2[A+84>>2],t=H2[A+104>>2],o=H2[A+72>>2],c=H2[A+88>>2],k=H2[A+100>>2],u=H2[A+68>>2],A=H2[A+64>>2];y2[r+12>>2]=0,n=j2(n-A),k=j2(k-u),b=j2(b-u),A=j2(a-A),u=j2(j2(n*k)-j2(b*A)),i=j2((f=u)*u),u=j2(t-o),a=j2(c-o),o=j2(j2(b*u)-j2(a*k)),u=j2(j2(a*A)-j2(n*u)),A=j2(j2(1)/j2(K2(j2(i+j2(j2(o*o)+j2(u*u)))))),a=j2(f*A),H2[r+8>>2]=a,u=j2(u*A),H2[r+4>>2]=u,o=j2(o*A),H2[r>>2]=o,e&&(H2[r+8>>2]=-a,H2[r+4>>2]=-u,H2[r>>2]=-o)},m1,m1,function(A,e,r,f){f|=0,N2[y2[y2[(A|=0)>>2]+108>>2]](A,e|=0,r|=0),N2[y2[y2[A>>2]+108>>2]](A,(e+1|0)%3|0,f)},function(A,e,r){var f,i=y2[(e=(A=((e|=0)<<4)+(A|=0)|0)+72|0)+4>>2];y2[(f=(r|=0)+8|0)>>2]=y2[e>>2],y2[4+f>>2]=i,e=y2[(A=A- -64|0)+4>>2],y2[r>>2]=y2[A>>2],y2[r+4>>2]=e},N1,function(A,e,r,f){N2[y2[y2[(A|=0)>>2]+124>>2]](A,f|=0,e|=0,r|=0)},function(A,e,r){A|=0,e|=0,r=j2(r),j2(0),j2(0),j2(0),j2(0),j2(0),j2(0),j2(0),j2(0),j2(0),j2(0),j2(0);var f,i,a,n,b,t,o,c,k,u,l,s,v=0;return L2=s=L2-32|0,c=H2[A+64>>2],b=j2(H2[A+80>>2]-c),f=H2[A+68>>2],n=j2(H2[A+100>>2]-f),i=j2(H2[A+84>>2]-f),t=j2(H2[A+96>>2]-c),a=j2(j2(b*n)-j2(i*t)),l=j2((o=a)*a),u=i,i=H2[A+72>>2],a=j2(H2[A+104>>2]-i),k=j2(H2[A+88>>2]-i),n=j2(j2(u*a)-j2(k*n)),b=j2(j2(k*t)-j2(b*a)),t=j2(j2(1)/j2(K2(j2(l+j2(j2(n*n)+j2(b*b)))))),a=j2(o*t),n=j2(n*t),b=j2(b*t),f=j2(j2(j2(H2[e+8>>2]*a)+j2(j2(H2[e>>2]*n)+j2(H2[e+4>>2]*b)))-j2(j2(i*a)+j2(j2(c*n)+j2(f*b)))),(c=j2(-r))<=f&&f<=r&&(N2[y2[y2[A>>2]+104>>2]](A,0,16+s|0,s),t=H2[16+s>>2],f=j2(H2[s>>2]-t),k=H2[20+s>>2],i=j2(H2[4+s>>2]-k),r=j2(j2(b*f)-j2(n*i)),l=j2((o=r)*r),r=j2(a*i),u=H2[24+s>>2],i=j2(H2[8+s>>2]-u),r=j2(r-j2(b*i)),f=j2(j2(n*i)-j2(a*f)),i=j2(j2(1)/j2(K2(j2(l+j2(j2(r*r)+j2(f*f)))))),o=j2(o*i),r=j2(r*i),f=j2(f*i),c>j2(j2(j2(H2[e+8>>2]*o)+j2(j2(H2[e>>2]*r)+j2(H2[e+4>>2]*f)))-j2(j2(u*o)+j2(j2(t*r)+j2(k*f))))||(N2[y2[y2[A>>2]+104>>2]](A,1,16+s|0,s),t=H2[16+s>>2],f=j2(H2[s>>2]-t),k=H2[20+s>>2],i=j2(H2[4+s>>2]-k),r=j2(j2(b*f)-j2(n*i)),l=j2((o=r)*r),r=j2(a*i),u=H2[24+s>>2],i=j2(H2[8+s>>2]-u),r=j2(r-j2(b*i)),f=j2(j2(n*i)-j2(a*f)),i=j2(j2(1)/j2(K2(j2(l+j2(j2(r*r)+j2(f*f)))))),o=j2(o*i),r=j2(r*i),f=j2(f*i),c>j2(j2(j2(H2[e+8>>2]*o)+j2(j2(H2[e>>2]*r)+j2(H2[e+4>>2]*f)))-j2(j2(u*o)+j2(j2(t*r)+j2(k*f)))))||(N2[y2[y2[A>>2]+104>>2]](A,2,16+s|0,s),o=c,c=H2[16+s>>2],f=j2(H2[s>>2]-c),i=H2[20+s>>2],t=j2(H2[4+s>>2]-i),r=j2(j2(b*f)-j2(n*t)),k=j2((u=r)*r),l=j2(a*t),r=b,b=H2[24+s>>2],t=j2(H2[8+s>>2]-b),r=j2(l-j2(r*t)),a=j2(j2(n*t)-j2(a*f)),n=j2(j2(1)/j2(K2(j2(k+j2(j2(r*r)+j2(a*a)))))),f=j2(u*n),r=j2(r*n),a=j2(a*n),o>j2(j2(j2(H2[e+8>>2]*f)+j2(j2(H2[e>>2]*r)+j2(H2[e+4>>2]*a)))-j2(j2(b*f)+j2(j2(c*r)+j2(i*a)))))||(v=1)),L2=32+s|0,0|v},function(A,e,r,f){A|=0,e|=0,r|=0,f|=0,j2(0),j2(0),j2(0),j2(0),j2(0),j2(0),j2(0),j2(0),j2(0),j2(0),j2(0);var i,a,n=H2[A+96>>2],b=H2[A+80>>2],t=H2[A+84>>2],o=H2[A+104>>2],c=H2[(e=A+72|0)>>2],k=H2[A+88>>2],u=H2[A+100>>2],l=H2[A+68>>2],s=H2[A+64>>2];y2[r+12>>2]=0,b=j2(b-s),u=j2(u-l),t=j2(t-l),s=j2(n-s),l=j2(j2(b*u)-j2(t*s)),a=j2((i=l)*l),l=j2(o-c),n=j2(k-c),c=j2(j2(t*l)-j2(n*u)),l=j2(j2(n*s)-j2(b*l)),s=j2(j2(1)/j2(K2(j2(a+j2(j2(c*c)+j2(l*l)))))),H2[r+8>>2]=i*s,H2[r+4>>2]=l*s,H2[r>>2]=c*s,o=y2[e+4>>2],y2[(r=f+8|0)>>2]=y2[e>>2],y2[r+4>>2]=o,e=y2[A+68>>2],y2[f>>2]=y2[A+64>>2],y2[f+4>>2]=e},A,function(A,e,r){e|=0,y2[(A|=0)+24>>2]=r|=0,y2[A+16>>2]=e},function(A,e,r){e|=0,y2[(A|=0)+28>>2]=r|=0,y2[A+20>>2]=e},function(A,e,r,f){A|=0,e|=0,r|=0,f=j2(f);var i,a,n,b,t,o,c,k,u,l,s,v,B,d,_,g,Z=0,C=0,w=j2(0),E=j2(0),Q=j2(0),h=j2(0),G=j2(0),F=j2(0),D=j2(0),Y=0,m=0,N=0,R=0,I=(j2(0),j2(0)),W=j2(0);j2(0),j2(0),j2(0),j2(0),j2(0),j2(0),j2(0),j2(0),j2(0),j2(0),j2(0),j2(0),j2(0),L2=g=L2-208|0,m=y2[A+4>>2],a=H2[m+848>>2];A:if(!(a>2],w=j2(j2(H2[e+8>>2]*f)+G),n=H2[r+4>>2],h=j2(j2(H2[e+4>>2]*f)+n),b=H2[r>>2],F=j2(j2(H2[e>>2]*f)+b),i=y2[A+8>>2],D=((N=(0|(Z=y2[i+8>>2]))==(0|(C=y2[m+836>>2])))?(D=j2(F-H2[C+52>>2]),E=j2(h-H2[C+56>>2]),Q=j2(w-H2[C+60>>2]),I=j2(j2(j2(D*H2[C+12>>2])+j2(E*H2[C+28>>2]))+j2(Q*H2[C+44>>2])),W=j2(j2(j2(D*H2[C+8>>2])+j2(E*H2[C+24>>2]))+j2(Q*H2[C+40>>2])),Y=y2[A+12>>2],Z=y2[Y+8>>2]):(Y=y2[A+12>>2],C=y2[Y+8>>2],D=j2(F-H2[C+52>>2]),E=j2(h-H2[C+56>>2]),Q=j2(w-H2[C+60>>2]),I=j2(j2(j2(D*H2[C+12>>2])+j2(E*H2[C+28>>2]))+j2(Q*H2[C+44>>2])),W=j2(j2(j2(D*H2[C+8>>2])+j2(E*H2[C+24>>2]))+j2(Q*H2[C+40>>2]))),j2(j2(j2(D*H2[C+4>>2])+j2(E*H2[C+20>>2]))+j2(Q*H2[C+36>>2]))),t=H2[Z+20>>2],o=H2[Z+36>>2],c=H2[Z+40>>2],k=H2[Z+8>>2],u=H2[Z+24>>2],l=H2[Z+44>>2],s=H2[Z+60>>2],E=H2[Z+12>>2],Q=H2[Z+52>>2],v=H2[Z+28>>2],B=H2[Z+56>>2],d=H2[Z+4>>2],y2[28+g>>2]=0,y2[(Z=92+g|0)>>2]=0,y2[Z+4>>2]=0,y2[(Z=124+g|0)>>2]=0,y2[Z+4>>2]=0,y2[(Z=132+g|0)>>2]=0,y2[Z+4>>2]=0,y2[(Z=140+g|0)>>2]=0,y2[Z+4>>2]=0,y2[(Z=148+g|0)>>2]=0,y2[Z+4>>2]=0,y2[(Z=156+g|0)>>2]=0,y2[Z+4>>2]=0,y2[164+g>>2]=0,R=y2[(C=e+8|0)+4>>2],y2[(Z=72+g|0)>>2]=y2[C>>2],y2[Z+4>>2]=R,_=E,E=j2(b-Q),Q=j2(n-B),G=j2(G-s),H2[24+g>>2]=j2(j2(_*E)+j2(v*Q))+j2(l*G),H2[20+g>>2]=j2(j2(E*k)+j2(Q*u))+j2(G*c),y2[12+g>>2]=0,H2[8+g>>2]=I,H2[4+g>>2]=W,H2[g>>2]=D,y2[84+g>>2]=0,y2[88+g>>2]=0,H2[80+g>>2]=f,y2[116+g>>2]=0,y2[120+g>>2]=0,Z=y2[e+4>>2],y2[64+g>>2]=y2[e>>2],y2[68+g>>2]=Z,H2[16+g>>2]=j2(j2(E*d)+j2(Q*t))+j2(G*o),y2[60+g>>2]=0,H2[56+g>>2]=w,H2[52+g>>2]=h,C=y2[(Z=r+8|0)+4>>2],y2[(e=40+g|0)>>2]=y2[Z>>2],y2[e+4>>2]=C,H2[48+g>>2]=F,e=y2[r+4>>2],y2[32+g>>2]=y2[r>>2],y2[36+g>>2]=e,A=N?(y2[100+g>>2]=y2[A+16>>2],e=y2[Y>>2],C=y2[(e||Y)+4>>2],y2[204+g>>2]=C,N=200+g|0,e=y2[A+28>>2],r=y2[A+24>>2],Z=y2[i>>2],Z=R=y2[(Z||i)+4>>2],y2[A+20>>2]):(y2[100+g>>2]=y2[A+20>>2],e=y2[Y>>2],Z=y2[(e||Y)+4>>2],y2[200+g>>2]=Z,N=204+g|0,e=y2[A+24>>2],r=y2[A+28>>2],C=y2[i>>2],C=R=y2[(C||i)+4>>2],y2[A+16>>2]),y2[N>>2]=R,y2[112+g>>2]=e,y2[108+g>>2]=r,y2[104+g>>2]=A,31==y2[Z+4>>2]&&(Z=y2[64+(y2[Z+32>>2]+P2(r,80)|0)>>2],y2[200+g>>2]=Z),31==y2[C+4>>2]&&(C=y2[64+(y2[C+32>>2]+P2(e,80)|0)>>2],y2[204+g>>2]=C),r=g,f=(A=y2[Z+16>>2])&&(e=y2[C+16>>2])?(H2[96+g>>2]=H2[A>>2]*H2[e>>2],f=H2[A+4>>2],w=H2[e+4>>2],H2[84+g>>2]=m2(j2(O2(j2(f*w),j2(-10))),j2(10)),H2[88+g>>2]=m2(j2(O2(j2(j2(w*H2[A+8>>2])+j2(f*H2[e+8>>2])),j2(-10))),j2(10)),j2(m2(j2(O2(j2(j2(w*H2[A+12>>2])+j2(f*H2[e+12>>2])),j2(-10))),j2(10)))):(A=y2[i+8>>2],e=y2[Y+8>>2],H2[96+g>>2]=H2[A+232>>2]*H2[e+232>>2],f=H2[A+228>>2],w=H2[e+228>>2],H2[84+g>>2]=m2(j2(O2(j2(f*w),j2(-10))),j2(10)),H2[88+g>>2]=m2(j2(O2(j2(j2(w*H2[A+236>>2])+j2(f*H2[e+236>>2])),j2(-10))),j2(10)),j2(m2(j2(O2(j2(j2(w*H2[A+240>>2])+j2(f*H2[e+240>>2])),j2(-10))),j2(10)))),H2[r+92>>2]=f,f=H2[72+g>>2],j2(z2(f))>j2(.7071067690849304)?(h=H2[68+g>>2],F=j2(j2(f*f)+j2(h*h)),w=j2(j2(1)/j2(K2(F))),F=j2(F*w),G=H2[64+g>>2],E=j2(w*j2(-f)),Q=j2(G*E),f=j2(h*w),h=j2(f*j2(-G)),G=j2(0)):(F=H2[64+g>>2],h=H2[68+g>>2],E=j2(j2(F*F)+j2(h*h)),w=j2(j2(1)/j2(K2(E))),Q=j2(E*w),G=j2(w*j2(-h)),h=j2(f*G),E=j2(F*w),F=j2(E*j2(-f)),f=j2(0)),H2[192+g>>2]=Q,H2[188+g>>2]=h,H2[176+g>>2]=f,H2[172+g>>2]=E,H2[184+g>>2]=F,H2[168+g>>2]=G,!((0|(r=y2[m+844>>2]))<1)){for(Z=m+12|0,f=j2(a*a),A=0,C=-1;;)if(w=j2(H2[Z-8>>2]-D),E=j2(w*w),w=j2(H2[Z-4>>2]-W),E=j2(E+j2(w*w)),w=j2(H2[Z>>2]-I),f=(e=(w=j2(E+j2(w*w)))>2],C=y2[(e=A+136|0)+4>>2],Y=y2[e>>2],i=y2[(m=A+144|0)>>2],R=y2[(N=A+168|0)>>2],A0(A+4|0,g,208),y2[N>>2]=R,y2[m>>2]=i,y2[e>>2]=Y,y2[e+4>>2]=C,y2[r>>2]=Z;break A}}R1(m,g)}L2=208+g|0},I1,function(A){var e,r,f=0,i=0,a=0,n=0;if(y2[(A|=0)>>2]=13856,f=y2[A+16>>2],1<=(0|(i=y2[A+8>>2])))for(;;)if(r=y2[f+a>>2],(e=y2[r+188>>2])&&(f=y2[A+68>>2],f=0|N2[y2[y2[f>>2]+36>>2]](f),N2[y2[y2[f>>2]+40>>2]](f,e,y2[A+24>>2]),f=y2[A+68>>2],N2[y2[y2[f>>2]+12>>2]](f,e,y2[A+24>>2]),y2[r+188>>2]=0,i=y2[A+8>>2],f=y2[A+16>>2]),a=a+4|0,!((0|(n=n+1|0))<(0|i)))break;f&&U2[A+20|0]&&(y2[6503]=y2[6503]+1,$2(y2[f-4>>2])),b(A)},function(A){A|=0;var e,r,f,i,a=j2(0),n=j2(0),b=0,t=j2(0),o=j2(0),c=j2(0),k=j2(0),u=(j2(0),0),l=0;if(L2=i=L2+-64|0,1<=(0|(b=y2[A+8>>2])))for(;;){e=y2[y2[A+16>>2]+u>>2];A:{e:if(!(U2[A+76|0]||3<(f=y2[e+220>>2]-2|0)>>>0))switch(f-1|0){case 0:case 1:break e;default:break A;}b=y2[e+192>>2],N2[y2[y2[b>>2]+8>>2]](b,e+4|0,48+i|0,32+i|0),n=j2(H2[48+i>>2]+j2(-.019999999552965164)),H2[48+i>>2]=n,t=j2(H2[52+i>>2]+j2(-.019999999552965164)),H2[52+i>>2]=t,o=j2(H2[56+i>>2]+j2(-.019999999552965164)),H2[56+i>>2]=o,a=j2(H2[32+i>>2]+j2(.019999999552965164)),H2[32+i>>2]=a,c=j2(H2[36+i>>2]+j2(.019999999552965164)),H2[36+i>>2]=c,k=j2(H2[40+i>>2]+j2(.019999999552965164)),H2[40+i>>2]=k,!U2[A+44|0]||2!=y2[e+252>>2]||3&U2[e+204|0]||(b=y2[e+192>>2],N2[y2[y2[b>>2]+8>>2]](b,e+68|0,16+i|0,i),t=j2(H2[16+i>>2]+j2(-.019999999552965164)),H2[16+i>>2]=t,o=j2(H2[20+i>>2]+j2(-.019999999552965164)),H2[20+i>>2]=o,a=j2(H2[24+i>>2]+j2(-.019999999552965164)),H2[24+i>>2]=a,c=j2(H2[i>>2]+j2(.019999999552965164)),H2[i>>2]=c,k=j2(H2[4+i>>2]+j2(.019999999552965164)),H2[4+i>>2]=k,r=j2(H2[8+i>>2]+j2(.019999999552965164)),H2[8+i>>2]=r,t<(n=H2[48+i>>2])&&(n=H2[48+i>>2]=t),o<(t=H2[52+i>>2])&&(t=H2[52+i>>2]=o),a<(o=H2[56+i>>2])&&(o=H2[56+i>>2]=a),(a=H2[28+i>>2])>2]&&(H2[60+i>>2]=a),(a=H2[32+i>>2])>2]=c),(c=H2[36+i>>2])>2]=k),(k=H2[40+i>>2])>2]=r),(r=H2[12+i>>2])>H2[44+i>>2]&&(H2[44+i>>2]=r)),b=y2[A+68>>2],1&X2[e+204|0]||(n=j2(a-n),a=j2(n*n),n=j2(c-t),a=j2(a+j2(n*n)),n=j2(k-o),j2(a+j2(n*n))>2]+16>>2]](b,y2[e+188>>2],48+i|0,32+i|0,y2[A+24>>2]):(4!=(-2&y2[e+220>>2])&&(y2[e+220>>2]=5),U2[26652]||(e=y2[A+72>>2])&&(X2[26652]=1,N2[y2[y2[e>>2]+44>>2]](e,14768),e=y2[A+72>>2],N2[y2[y2[e>>2]+44>>2]](e,14817),e=y2[A+72>>2],N2[y2[y2[e>>2]+44>>2]](e,14885),e=y2[A+72>>2],N2[y2[y2[e>>2]+44>>2]](e,14950))),b=y2[A+8>>2]}if(u=u+4|0,!((0|(l=l+1|0))<(0|b)))break}L2=i+64|0},function(A){var e=y2[(A|=0)+68>>2];N2[y2[y2[e>>2]+32>>2]](e,y2[A+24>>2])},function(A,e){y2[(A|=0)+72>>2]=e|=0},W1,T1,function(A,e,r,f){A|=0,e|=0,r|=0,f|=0;var V,i,x,p,a,n=0,b=0,t=0,o=j2(0),c=j2(0),k=j2(0),u=j2(0),l=0,s=j2(0),v=j2(0),B=j2(0),d=j2(0),_=j2(0),g=j2(0),Z=j2(0),C=j2(0),w=j2(0),E=j2(0),Q=j2(0),h=j2(0),G=j2(0),F=j2(0),D=0,Y=j2(0),m=j2(0),N=j2(0),R=0,I=0,W=0,T=0;j2(0),L2=a=L2-144|0,0|N2[y2[y2[A>>2]+20>>2]](A)&&(n=0|N2[y2[y2[A>>2]+20>>2]](A),32768&N2[y2[y2[n>>2]+56>>2]](n))&&(n=0|N2[y2[y2[A>>2]+20>>2]](A),N2[y2[y2[n>>2]+64>>2]](n,e,j2(.10000000149011612)));A:{e:if(!(31<(n=y2[r+4>>2])>>>0)){r:switch(n-1|0){case 30:if((0|(n=y2[r+24>>2]))<1)break A;for(b=n+1|0,t=P2(n,80)-80|0;;)if(n=y2[r+32>>2]+t|0,l=y2[n- -64>>2],o=H2[n+56>>2],c=H2[n+48>>2],k=H2[n+52>>2],s=H2[n+32>>2],d=H2[n>>2],_=H2[n+16>>2],g=H2[n+36>>2],C=H2[n+4>>2],E=H2[n+20>>2],u=H2[n+40>>2],v=H2[n+8>>2],B=H2[n+24>>2],y2[60+a>>2]=0,y2[44+a>>2]=0,y2[28+a>>2]=0,y2[12+a>>2]=0,Q=H2[e+32>>2],Z=H2[e+36>>2],w=H2[e+40>>2],H2[40+a>>2]=j2(j2(v*Q)+j2(B*Z))+j2(u*w),H2[36+a>>2]=j2(j2(C*Q)+j2(E*Z))+j2(g*w),H2[32+a>>2]=j2(j2(d*Q)+j2(_*Z))+j2(s*w),h=H2[e+16>>2],G=H2[e+20>>2],F=H2[e+24>>2],H2[24+a>>2]=j2(j2(v*h)+j2(B*G))+j2(u*F),H2[20+a>>2]=j2(j2(C*h)+j2(E*G))+j2(g*F),H2[16+a>>2]=j2(j2(d*h)+j2(_*G))+j2(s*F),Y=v,v=H2[e>>2],m=B,B=H2[e+4>>2],N=u,u=H2[e+8>>2],H2[8+a>>2]=j2(j2(Y*v)+j2(m*B))+j2(N*u),H2[4+a>>2]=j2(j2(C*v)+j2(E*B))+j2(g*u),H2[a>>2]=j2(j2(d*v)+j2(_*B))+j2(s*u),H2[56+a>>2]=j2(j2(j2(c*Q)+j2(k*Z))+j2(o*w))+H2[e+56>>2],H2[52+a>>2]=j2(j2(j2(c*h)+j2(k*G))+j2(o*F))+H2[e+52>>2],H2[48+a>>2]=j2(j2(j2(c*v)+j2(k*B))+j2(o*u))+H2[e+48>>2],N2[y2[y2[A>>2]+28>>2]](A,a,l,f),t=t-80|0,!(1<(0|(b=b-1|0))))break;break A;default:l=y2[(t=r+44|0)+4>>2],y2[(n=b=8+a|0)>>2]=y2[t>>2],y2[n+4>>2]=l,t=y2[(n=r+36|0)+4>>2],y2[a>>2]=y2[n>>2],y2[4+a>>2]=t,o=j2(N2[y2[y2[r>>2]+48>>2]](r)),c=j2(N2[y2[y2[r>>2]+48>>2]](r)),k=j2(j2(N2[y2[y2[r>>2]+48>>2]](r))+H2[b>>2]),H2[b>>2]=k,o=j2(o+H2[a>>2]),H2[a>>2]=o,c=j2(c+H2[4+a>>2]),H2[4+a>>2]=c,A=0|N2[y2[y2[A>>2]+20>>2]](A),y2[140+a>>2]=0,H2[136+a>>2]=-k,H2[132+a>>2]=-c,H2[128+a>>2]=-o,N2[y2[y2[A>>2]+80>>2]](A,128+a|0,a,e,f);break A;case 7:o=j2(N2[y2[y2[r>>2]+48>>2]](r)),A=0|N2[y2[y2[A>>2]+20>>2]](A),N2[y2[y2[A>>2]+24>>2]](A,o,e,f);break A;case 8:if((0|(n=y2[r+100>>2]))<1)break A;for(D=n+1|0,b=(n<<4)-8|0,t=(n<<2)-4|0;;)if(n=y2[r+108>>2]+b|0,o=H2[n>>2],c=H2[n-8>>2],k=H2[n-4>>2],n=0|N2[y2[y2[A>>2]+20>>2]](A),Q=H2[y2[r+128>>2]+t>>2],y2[60+a>>2]=0,y2[44+a>>2]=0,y2[28+a>>2]=0,y2[12+a>>2]=0,s=H2[e+40>>2],d=H2[e+32>>2],g=j2(d*j2(0)),_=H2[e+36>>2],C=j2(_*j2(0)),H2[40+a>>2]=s+j2(g+C),u=j2(g+_),g=j2(s*j2(0)),H2[36+a>>2]=u+g,H2[32+a>>2]=j2(d+C)+g,g=H2[e+24>>2],C=H2[e+16>>2],u=j2(C*j2(0)),E=H2[e+20>>2],v=j2(E*j2(0)),H2[24+a>>2]=g+j2(u+v),B=j2(u+E),u=j2(g*j2(0)),H2[20+a>>2]=B+u,H2[16+a>>2]=j2(C+v)+u,u=H2[e+8>>2],v=H2[e>>2],Z=j2(v*j2(0)),B=H2[e+4>>2],w=j2(B*j2(0)),H2[8+a>>2]=u+j2(Z+w),Y=j2(Z+B),Z=j2(u*j2(0)),H2[4+a>>2]=Y+Z,H2[a>>2]=j2(v+w)+Z,H2[56+a>>2]=j2(j2(j2(c*d)+j2(k*_))+j2(o*s))+H2[e+56>>2],H2[52+a>>2]=j2(j2(j2(c*C)+j2(k*E))+j2(o*g))+H2[e+52>>2],H2[48+a>>2]=j2(j2(j2(c*v)+j2(k*B))+j2(o*u))+H2[e+48>>2],N2[y2[y2[n>>2]+24>>2]](n,Q,a,f),b=b-16|0,t=t-4|0,!(1<(0|(D=D-1|0))))break;break A;case 9:b=y2[r+60>>2],o=H2[(b<<2)+(r=r+36|0)>>2],c=H2[r+((b+2|0)%3<<2)>>2],A=0|N2[y2[y2[A>>2]+20>>2]](A),N2[y2[y2[A>>2]+84>>2]](A,c,o,b,e,f);break A;case 10:b=y2[r+76>>2],o=H2[r+68>>2],c=H2[r- -64>>2],A=0|N2[y2[y2[A>>2]+20>>2]](A),N2[y2[y2[A>>2]+92>>2]](A,c,o,b,e,f);break A;case 12:b=y2[r+60>>2],o=j2(N2[y2[y2[r>>2]+92>>2]](r)),D=y2[(l=r+44|0)+4>>2],y2[(n=8+a|0)>>2]=y2[l>>2],y2[n+4>>2]=D,l=y2[(t=r+36|0)+4>>2],y2[a>>2]=y2[t>>2],y2[4+a>>2]=l,c=j2(N2[y2[y2[r>>2]+48>>2]](r)),k=j2(N2[y2[y2[r>>2]+48>>2]](r)),x=n,p=j2(j2(N2[y2[y2[r>>2]+48>>2]](r))+H2[n>>2]),H2[x>>2]=p,H2[a>>2]=c+H2[a>>2],H2[4+a>>2]=k+H2[4+a>>2],c=H2[(b<<2)+a>>2],A=0|N2[y2[y2[A>>2]+20>>2]](A),N2[y2[y2[A>>2]+88>>2]](A,o,c,b,e,f);break A;case 0:case 1:case 2:case 3:case 4:case 5:case 6:case 11:case 13:case 14:case 15:case 16:case 17:case 18:case 19:case 20:case 21:case 22:case 23:case 24:case 25:case 26:case 28:case 29:break e;case 27:break r;}o=H2[r+72>>2],A=0|N2[y2[y2[A>>2]+20>>2]](A),N2[y2[y2[A>>2]+96>>2]](A,r+56|0,o,e,f);break A}if(!(6<(0|n)))if(l=y2[r+60>>2]){if(!(y2[l+28>>2]<1))for(;;){k=j2(0);e:if(b=(W=P2(I,36))+y2[l+36>>2]|0,R=y2[b+4>>2]){if(o=j2(0),c=j2(0),!((0|R)<1))for(t=y2[b+12>>2],b=y2[(t+(R<<2)|0)-4>>2],D=1,T=0;;){if(t=(V=(n=y2[t+T>>2])<<4)+y2[l+16>>2]|0,g=H2[t>>2],C=H2[t+4>>2],E=H2[t+8>>2],t=0|N2[y2[y2[A>>2]+20>>2]](A),y2[12+a>>2]=0,i=y2[l+16>>2],s=H2[(b=i+(b<<4)|0)>>2],u=H2[e+32>>2],d=H2[b+4>>2],v=H2[e+36>>2],_=H2[b+8>>2],B=H2[e+40>>2],Q=H2[e+56>>2],H2[8+a>>2]=j2(j2(j2(s*u)+j2(d*v))+j2(_*B))+Q,Z=H2[e+16>>2],w=H2[e+20>>2],h=H2[e+24>>2],G=H2[e+52>>2],H2[4+a>>2]=j2(j2(j2(s*Z)+j2(d*w))+j2(_*h))+G,F=H2[e>>2],Y=H2[e+4>>2],m=H2[e+8>>2],N=H2[e+48>>2],H2[a>>2]=j2(j2(j2(s*F)+j2(d*Y))+j2(_*m))+N,y2[140+a>>2]=0,s=H2[(b=V+i|0)>>2],d=H2[b+4>>2],_=H2[b+8>>2],H2[136+a>>2]=Q+j2(j2(j2(u*s)+j2(v*d))+j2(B*_)),H2[132+a>>2]=G+j2(j2(j2(Z*s)+j2(w*d))+j2(h*_)),H2[128+a>>2]=N+j2(j2(j2(F*s)+j2(Y*d))+j2(m*_)),N2[y2[y2[t>>2]+16>>2]](t,a,128+a|0,f),c=j2(c+E),o=j2(o+C),k=j2(k+g),b=y2[l+36>>2]+W|0,y2[b+4>>2]<=(0|D))break e;T=T+4|0,D=D+1|0,t=y2[b+12>>2],b=n}}else o=j2(0),c=j2(0);if(b=0|N2[y2[y2[A>>2]+20>>2]](A),16384&N2[y2[y2[b>>2]+56>>2]](b)&&(y2[8+a>>2]=0,y2[12+a>>2]=0,y2[a>>2]=1065353216,y2[4+a>>2]=1065353216,b=y2[l+36>>2]+W|0,d=H2[b+28>>2],_=H2[b+20>>2],g=H2[b+24>>2],b=0|N2[y2[y2[A>>2]+20>>2]](A),y2[140+a>>2]=0,s=j2(j2(1)/j2(0|R)),k=j2(s*k),C=H2[e+32>>2],o=j2(s*o),E=H2[e+36>>2],c=j2(s*c),s=H2[e+40>>2],u=H2[e+56>>2],H2[136+a>>2]=j2(j2(j2(k*C)+j2(o*E))+j2(c*s))+u,v=H2[e+16>>2],B=H2[e+20>>2],Q=H2[e+24>>2],Z=H2[e+52>>2],H2[132+a>>2]=j2(j2(j2(k*v)+j2(o*B))+j2(c*Q))+Z,w=H2[e>>2],h=H2[e+4>>2],G=H2[e+8>>2],F=H2[e+48>>2],H2[128+a>>2]=j2(j2(j2(k*w)+j2(o*h))+j2(c*G))+F,y2[124+a>>2]=0,k=j2(k+_),o=j2(o+g),c=j2(c+d),H2[120+a>>2]=u+j2(j2(j2(C*k)+j2(E*o))+j2(s*c)),H2[116+a>>2]=Z+j2(j2(j2(k*v)+j2(o*B))+j2(c*Q)),H2[112+a>>2]=F+j2(j2(j2(k*w)+j2(o*h))+j2(c*G)),N2[y2[y2[b>>2]+16>>2]](b,128+a|0,112+a|0,a)),!((0|(I=I+1|0))>2]))break}}else if(!((0|N2[y2[y2[r>>2]+100>>2]](r))<1))for(;;)if(N2[y2[y2[r>>2]+104>>2]](r,b,a,128+a|0),y2[124+a>>2]=0,o=H2[a>>2],s=H2[e+32>>2],c=H2[4+a>>2],d=H2[e+36>>2],k=H2[8+a>>2],_=H2[e+40>>2],g=H2[e+56>>2],H2[120+a>>2]=j2(j2(j2(o*s)+j2(c*d))+j2(k*_))+g,C=H2[e+16>>2],E=H2[e+20>>2],u=H2[e+24>>2],v=H2[e+52>>2],H2[116+a>>2]=j2(j2(j2(o*C)+j2(c*E))+j2(k*u))+v,B=H2[e>>2],Q=H2[e+4>>2],Z=H2[e+8>>2],w=H2[e+48>>2],H2[112+a>>2]=j2(j2(j2(o*B)+j2(c*Q))+j2(k*Z))+w,y2[108+a>>2]=0,o=H2[128+a>>2],c=H2[132+a>>2],k=H2[136+a>>2],H2[104+a>>2]=g+j2(j2(j2(s*o)+j2(d*c))+j2(_*k)),H2[100+a>>2]=v+j2(j2(j2(C*o)+j2(E*c))+j2(u*k)),H2[96+a>>2]=w+j2(j2(j2(B*o)+j2(Q*c))+j2(Z*k)),n=0|N2[y2[y2[A>>2]+20>>2]](A),N2[y2[y2[n>>2]+16>>2]](n,112+a|0,96+a|0,f),b=b+1|0,!((0|N2[y2[y2[r>>2]+100>>2]](r))>(0|b)))break;(b=y2[r+4>>2])-21>>>0<=8&&(y2[136+a>>2]=1566444395,y2[140+a>>2]=0,y2[128+a>>2]=1566444395,y2[132+a>>2]=1566444395,y2[120+a>>2]=-581039253,y2[124+a>>2]=0,y2[112+a>>2]=-581039253,y2[116+a>>2]=-581039253,b=0|N2[y2[y2[A>>2]+20>>2]](A),l=y2[(t=f+8|0)+4>>2],y2[(n=20+a|0)>>2]=y2[t>>2],y2[n+4>>2]=l,l=y2[(t=e+8|0)+4>>2],y2[(n=36+a|0)>>2]=y2[t>>2],y2[n+4>>2]=l,t=y2[e+20>>2],y2[(n=44+a|0)>>2]=y2[e+16>>2],y2[n+4>>2]=t,l=y2[(t=e+24|0)+4>>2],y2[(n=52+a|0)>>2]=y2[t>>2],y2[n+4>>2]=l,t=y2[e+36>>2],y2[(n=60+a|0)>>2]=y2[e+32>>2],y2[n+4>>2]=t,l=y2[(t=e+40|0)+4>>2],y2[(n=68+a|0)>>2]=y2[t>>2],y2[n+4>>2]=l,y2[8+a>>2]=b,y2[4+a>>2]=14704,y2[a>>2]=14680,b=y2[f+4>>2],y2[12+a>>2]=y2[f>>2],y2[16+a>>2]=b,b=y2[e+4>>2],y2[28+a>>2]=y2[e>>2],y2[32+a>>2]=b,t=y2[(n=e+56|0)+4>>2],y2[(b=84+a|0)>>2]=y2[n>>2],y2[b+4>>2]=t,n=y2[e+52>>2],y2[(b=76+a|0)>>2]=y2[e+48>>2],y2[b+4>>2]=n,N2[y2[y2[r>>2]+64>>2]](r,a,112+a|0,128+a|0),b=y2[r+4>>2]),3==(0|b)&&(y2[136+a>>2]=1566444395,y2[140+a>>2]=0,y2[128+a>>2]=1566444395,y2[132+a>>2]=1566444395,y2[120+a>>2]=-581039253,y2[124+a>>2]=0,y2[112+a>>2]=-581039253,y2[116+a>>2]=-581039253,A=0|N2[y2[y2[A>>2]+20>>2]](A),t=y2[(n=f+8|0)+4>>2],y2[(b=20+a|0)>>2]=y2[n>>2],y2[b+4>>2]=t,t=y2[(n=e+8|0)+4>>2],y2[(b=36+a|0)>>2]=y2[n>>2],y2[b+4>>2]=t,n=y2[e+20>>2],y2[(b=44+a|0)>>2]=y2[e+16>>2],y2[b+4>>2]=n,t=y2[(n=e+24|0)+4>>2],y2[(b=52+a|0)>>2]=y2[n>>2],y2[b+4>>2]=t,n=y2[e+36>>2],y2[(b=60+a|0)>>2]=y2[e+32>>2],y2[b+4>>2]=n,t=y2[(n=e+40|0)+4>>2],y2[(b=68+a|0)>>2]=y2[n>>2],y2[b+4>>2]=t,y2[8+a>>2]=A,y2[4+a>>2]=14704,y2[a>>2]=14680,A=y2[f+4>>2],y2[12+a>>2]=y2[f>>2],y2[16+a>>2]=A,A=y2[e+4>>2],y2[28+a>>2]=y2[e>>2],y2[32+a>>2]=A,b=y2[(f=e+56|0)+4>>2],y2[(A=84+a|0)>>2]=y2[f>>2],y2[A+4>>2]=b,f=y2[e+52>>2],y2[(A=76+a|0)>>2]=y2[e+48>>2],y2[A+4>>2]=f,A=y2[r+100>>2],N2[y2[y2[A>>2]+8>>2]](A,4|a,112+a|0,128+a|0))}L2=144+a|0},function(A,e,r,f){A|=0,e|=0,r|=0,f|=0;var i,a,n,b,t,o,c,k,u=0;j2(0),j2(0),j2(0),j2(0),j2(0),j2(0),y2[(a=104+(L2=k=L2-256|0)|0)>>2]=0,y2[4+a>>2]=0,y2[(a=112+k|0)>>2]=0,y2[4+a>>2]=0,y2[(a=124+k|0)>>2]=0,y2[4+a>>2]=0,y2[120+k>>2]=1065353216,y2[(a=132+k|0)>>2]=0,y2[4+a>>2]=0,y2[(a=140+k|0)>>2]=1065353216,y2[4+a>>2]=0,n=y2[4+(c=e+8|0)>>2],t=y2[c>>2],y2[(u=b=76+k|0)>>2]=t,y2[4+u>>2]=n,u=y2[4+(a=r+8|0)>>2],y2[(i=92+k|0)>>2]=y2[a>>2],y2[4+i>>2]=u,y2[32+k>>2]=13924,y2[248+k>>2]=f,y2[100+k>>2]=1065353216,o=y2[e+4>>2],u=y2[e>>2],y2[68+k>>2]=u,y2[72+k>>2]=o,f=y2[r+4>>2],y2[84+k>>2]=y2[r>>2],y2[88+k>>2]=f,y2[244+k>>2]=A,y2[(f=156+k|0)>>2]=t,y2[f+4>>2]=n,y2[(f=148+k|0)>>2]=u,y2[f+4>>2]=o,y2[(f=168+k|0)>>2]=0,y2[f+4>>2]=0,y2[(f=176+k|0)>>2]=0,y2[f+4>>2]=0,y2[(f=188+k|0)>>2]=0,y2[f+4>>2]=0,y2[184+k>>2]=1065353216,y2[(f=196+k|0)>>2]=0,y2[f+4>>2]=0,y2[(f=204+k|0)>>2]=1065353216,y2[f+4>>2]=0,f=y2[r+4>>2],y2[(u=212+k|0)>>2]=y2[r>>2],y2[4+u>>2]=f,f=y2[4+a>>2],y2[(u=220+k|0)>>2]=y2[a>>2],y2[4+u>>2]=f,y2[164+k>>2]=1065353216,t=j2(H2[r>>2]-H2[e>>2]),n=j2(H2[r+4>>2]-H2[e+4>>2]),o=j2(H2[a>>2]-H2[c>>2]),u=j2(j2(1)/j2(K2(j2(j2(j2(t*t)+j2(n*n))+j2(o*o))))),c=(a=j2(o*u))==j2(0)?j2(0xde0b6b000000000):j2(j2(1)/a),H2[44+k>>2]=c,o=(n=j2(n*u))==j2(0)?j2(0xde0b6b000000000):j2(j2(1)/n),H2[40+k>>2]=o,y2[60+k>>2]=c>2]=o>2]=j2(j2(o*j2(H2[84+k>>2]-H2[68+k>>2]))+j2(n*j2(H2[88+k>>2]-H2[72+k>>2])))+j2(a*j2(H2[i>>2]-H2[b>>2])),o=o==j2(0)?j2(0xde0b6b000000000):j2(j2(1)/o),H2[36+k>>2]=o,y2[52+k>>2]=o>2],y2[(A=24+k|0)>>2]=0,y2[A+4>>2]=0,y2[16+k>>2]=0,y2[20+k>>2]=0,y2[(A=8+k|0)>>2]=0,y2[A+4>>2]=0,y2[k>>2]=0,y2[4+k>>2]=0,N2[y2[y2[f>>2]+24>>2]](f,e,r,32+k|0,16+k|0,k),L2=256+k|0},V1,x1,function(A){var e,r,f,i;N2[y2[y2[(A|=0)>>2]+8>>2]](A),N2[y2[y2[A>>2]+12>>2]](A),(e=y2[A+24>>2])&&(f=y2[A+68>>2],r=e,f=0|N2[y2[y2[f>>2]+36>>2]](f),i=y2[A+24>>2],e=y2[y2[e>>2]+32>>2],N2[e](0|r,0|f,0|(A+28|0),0|i))},function(A,e){A|=0,N2[y2[y2[(e|=0)>>2]+32>>2]](e),p1(A,e),N2[y2[y2[e>>2]+36>>2]](e)},e,A,function(A,e){e|=0;var r,f,i,a=0;return L2=i=L2-32|0,r=y2[(A|=0)+216>>2],H2[r+4>>2]!=j2(0)&&(a=1,e=y2[e>>2],0|N2[y2[y2[r>>2]+8>>2]](r,y2[e+188>>2]))&&(r=y2[A+216>>2],f=y2[e+192>>2],y2[24+i>>2]=-1,y2[28+i>>2]=-1,y2[20+i>>2]=e+4,y2[16+i>>2]=e,y2[12+i>>2]=f,S1(A+68|(y2[8+i>>2]=0),A+132|0,8+i|0,r)),L2=32+i|0,0|a},V0,X1,q0,e,A,A,function(A,e,r,f){A|=0,e|=0,r|=0,f|=0,j2(0),j2(0),j2(0),j2(0),j2(0),j2(0),j2(0),j2(0),j2(0),j2(0),j2(0),j2(0),j2(0),j2(0),j2(0),j2(0),j2(0),j2(0),j2(0),j2(0),j2(0);var i,a,n,b,t,o,c,k,u,l,s,v,B,d,_,g,Z,C,w,E,Q,h,G=0,F=j2(0);L2=h=L2-32|0,s=H2[e+24>>2],Q=H2[e+40>>2],v=H2[e+36>>2],o=H2[e+20>>2],c=H2[e+8>>2],B=H2[e+16>>2],u=H2[e+4>>2],d=H2[e+32>>2],l=H2[e>>2],y2[28+h>>2]=0,a=j2(B-l),b=j2(v-u),n=j2(o-u),k=j2(d-l),i=j2(j2(a*b)-j2(n*k)),H2[24+h>>2]=i,t=j2(s-c),_=j2(t*k),k=j2(Q-c),a=j2(_-j2(a*k)),H2[20+h>>2]=a,b=j2(j2(n*k)-j2(t*b)),H2[16+h>>2]=b,g=H2[A+4>>2],t=H2[A+8>>2],Z=H2[A+12>>2],n=j2(j2(c*i)+j2(j2(l*b)+j2(u*a))),k=j2(j2(j2(j2(b*g)+j2(a*t))+j2(i*Z))-n),w=H2[A+20>>2],C=H2[A+24>>2],E=H2[A+28>>2],n=j2(j2(j2(j2(b*w)+j2(a*C))+j2(i*E))-n),j2(k*n)>=j2(0)||1&(e=y2[A+36>>2])&&k<=j2(0)||(n=j2(k/j2(k-n)))>2]&&(_=t,t=j2(j2(1)-n),C=j2(j2(C*n)+j2(_*t)),o=j2(o-C),g=j2(j2(w*n)+j2(g*t)),l=j2(l-g),u=j2(u-C),B=j2(B-g),t=j2(j2(E*n)+j2(Z*t)),s=j2(s-t),c=j2(c-t),w=j2(j2(i*i)+j2(j2(b*b)+j2(a*a))),Z=j2(w*j2(-9999999747378752e-20)),j2(j2(i*j2(j2(o*l)-j2(u*B)))+j2(j2(b*j2(j2(u*s)-j2(c*o)))+j2(a*j2(j2(c*B)-j2(s*l)))))>=Z)&&(v=j2(v-C),d=j2(d-g),E=j2(i*j2(j2(v*B)-j2(o*d))),_=o,o=j2(Q-t),Z<=j2(E+j2(j2(b*j2(j2(_*o)-j2(s*v)))+j2(a*j2(j2(s*d)-j2(o*B))))))&&Z<=j2(j2(i*j2(j2(u*d)-j2(v*l)))+j2(j2(b*j2(j2(v*c)-j2(o*u)))+j2(a*j2(j2(o*l)-j2(c*d)))))&&(_=i,i=j2(j2(1)/j2(K2(w))),c=j2(_*i),H2[24+h>>2]=c,a=j2(a*i),H2[20+h>>2]=a,i=j2(b*i),H2[16+h>>2]=i,F=k<=j2(0)&&!(2&e)?(y2[12+h>>2]=0,H2[8+h>>2]=-c,H2[4+h>>2]=-a,H2[h>>2]=-i,j2(N2[y2[y2[(G=A)>>2]+12>>2]](A,h,n,r,f))):j2(N2[y2[y2[(G=A)>>2]+12>>2]](A,16+h|0,n,r,f)),H2[G+40>>2]=F),L2=32+h|0},function(A,e,r,f,i){var a,n,b,t,o,c,k,u,l,s;return A|=0,e|=0,r=j2(r),f|=0,i|=0,j2(0),j2(0),j2(0),j2(0),j2(0),j2(0),j2(0),j2(0),j2(0),j2(0),j2(0),j2(0),y2[36+(L2=s=L2-48|0)>>2]=i,y2[32+s>>2]=f,y2[40+s>>2]=y2[A+52>>2],i=H2[A- -64>>2],f=H2[A+60>>2],b=H2[A+80>>2],t=H2[A+72>>2],o=H2[A+76>>2],c=H2[A+96>>2],k=H2[A+88>>2],u=H2[A+92>>2],l=H2[A+56>>2],a=H2[e+8>>2],n=H2[e>>2],e=H2[e+4>>2],y2[20+s>>2]=0,H2[16+s>>2]=j2(j2(n*k)+j2(e*u))+j2(a*c),H2[12+s>>2]=j2(j2(n*t)+j2(e*o))+j2(a*b),H2[8+s>>2]=j2(j2(l*n)+j2(f*e))+j2(i*a),H2[24+s>>2]=r,y2[s>>2]=y2[A+48>>2],y2[4+s>>2]=32+s,A=y2[A+44>>2],r=j2(N2[y2[y2[A>>2]+12>>2]](A,s,1)),L2=48+s|0,j2(r)},e,A,q0,function(A,e){var r,f,i,a,n,b,t,o,c,k,u,l,s,v,B,d,_,g,Z,C,w,E,Q,h,G,F,D;A|=0,e|=0,j2(0),j2(0),j2(0),j2(0),j2(0),j2(0),j2(0),j2(0),j2(0),j2(0),j2(0),j2(0),j2(0),j2(0),j2(0),j2(0),j2(0),j2(0),j2(0),j2(0),j2(0),j2(0),j2(0),j2(0),L2=D=L2-128|0,k=y2[e+36>>2],e=y2[y2[A+8>>2]+32>>2]+P2(k,80)|0,Q=y2[e+64>>2],u=H2[e+32>>2],l=H2[e>>2],s=H2[e+16>>2],v=H2[e+56>>2],B=H2[e+52>>2],d=H2[e+48>>2],_=H2[e+36>>2],g=H2[e+20>>2],Z=H2[e+4>>2],C=H2[e+40>>2],w=H2[e+24>>2],E=H2[e+8>>2],e=y2[A+12>>2],h=H2[e+52>>2],G=H2[e+56>>2],r=H2[e+24>>2],f=H2[e+20>>2],i=H2[e+40>>2],a=H2[e+36>>2],F=H2[e+48>>2],n=H2[e+8>>2],b=H2[e>>2],t=H2[e+4>>2],o=H2[e+16>>2],c=H2[e+32>>2],y2[124+D>>2]=0,y2[108+D>>2]=0,y2[92+D>>2]=0,H2[104+D>>2]=j2(j2(E*c)+j2(w*a))+j2(C*i),H2[100+D>>2]=j2(j2(Z*c)+j2(g*a))+j2(_*i),H2[88+D>>2]=j2(j2(E*o)+j2(w*f))+j2(C*r),H2[84+D>>2]=j2(j2(Z*o)+j2(g*f))+j2(_*r),H2[120+D>>2]=G+j2(j2(j2(c*d)+j2(a*B))+j2(i*v)),H2[116+D>>2]=h+j2(j2(j2(o*d)+j2(f*B))+j2(r*v)),y2[76+D>>2]=0,H2[72+D>>2]=j2(j2(b*E)+j2(t*w))+j2(n*C),H2[68+D>>2]=j2(j2(b*Z)+j2(t*g))+j2(n*_),H2[64+D>>2]=j2(j2(l*b)+j2(s*t))+j2(u*n),H2[112+D>>2]=F+j2(j2(j2(b*d)+j2(t*B))+j2(n*v)),H2[96+D>>2]=j2(j2(l*c)+j2(s*a))+j2(u*i),H2[80+D>>2]=j2(j2(l*o)+j2(s*f))+j2(u*r),y2[60+D>>2]=k,y2[56+D>>2]=-1,y2[44+D>>2]=Q,y2[40+D>>2]=0,y2[48+D>>2]=y2[A+4>>2],y2[52+D>>2]=D+64,y2[12+D>>2]=1065353216,y2[16+D>>2]=0,y2[24+D>>2]=0,y2[36+D>>2]=k,y2[28+D>>2]=Q,y2[8+D>>2]=14044,e=y2[A+24>>2],y2[32+D>>2]=e,y2[12+D>>2]=y2[e+4>>2],y2[24+D>>2]=y2[e+16>>2],S1(y2[A+16>>2],y2[A+20>>2],40+D|0,8+D|0),L2=128+D|0},function(A,e,r){A|=0,e|=0,r=j2(r),N2[y2[y2[A>>2]+12>>2]](A,e)},M1,M1,A,J1,function(A,e,r){var f,i,a;return A|=0,e|=0,r|=0,j2(0),L2=a=L2-16|0,f=y2[A+28>>2],y2[4+a>>2]=f,y2[a>>2]=f,(i=y2[e+4>>2])?(y2[i+4>>2]=f,y2[i>>2]=f):y2[e+4>>2]=a,f=y2[A+24>>2],i=j2(N2[y2[y2[f>>2]+12>>2]](f,e,r)),y2[A+4>>2]=y2[y2[A+24>>2]+4>>2],L2=16+a|0,j2(i)},e,A,function(A,e,r,f){var i,a,n,b,t,o,c,k,u,l,s,v,B,d,_,g,Z,C,w,E,Q;A|=0,e|=0,r|=0,f|=0,j2(0),j2(0),j2(0),j2(0),j2(0),j2(0),j2(0),j2(0),j2(0),j2(0),j2(0),j2(0),j2(0),j2(0),j2(0),j2(0),j2(0),j2(0),j2(0),j2(0),j2(0),y2[(L2=r=L2-96|0)+92>>2]=0,i=H2[e>>2],o=H2[A+60>>2],n=H2[e+4>>2],v=H2[A- -64>>2],b=H2[e+8>>2],B=H2[A+68>>2],d=H2[A+84>>2],u=j2(j2(j2(j2(i*o)+j2(n*v))+j2(b*B))+d),H2[r+88>>2]=u,t=H2[A+44>>2],_=H2[A+48>>2],g=H2[A+52>>2],Z=H2[A+80>>2],a=j2(j2(j2(j2(i*t)+j2(n*_))+j2(b*g))+Z),H2[r+84>>2]=a,c=i,i=H2[A+28>>2],k=n,n=H2[A+32>>2],C=b,b=H2[A+36>>2],l=H2[A+76>>2],Q=j2(j2(j2(j2(c*i)+j2(k*n))+j2(C*b))+l),H2[r+80>>2]=Q,y2[r+76>>2]=0,y2[r+60>>2]=0,s=H2[e+16>>2],c=H2[e+20>>2],k=H2[e+24>>2],w=j2(l+j2(j2(j2(i*s)+j2(n*c))+j2(b*k))),H2[r+64>>2]=w,E=j2(Z+j2(j2(j2(t*s)+j2(_*c))+j2(g*k))),H2[r+68>>2]=E,s=j2(d+j2(j2(j2(o*s)+j2(v*c))+j2(B*k))),H2[r+72>>2]=s,c=i,i=H2[e+32>>2],k=n,n=H2[e+36>>2],C=b,b=H2[e+40>>2],l=j2(l+j2(j2(j2(c*i)+j2(k*n))+j2(C*b))),H2[r+48>>2]=l,t=j2(Z+j2(j2(j2(t*i)+j2(_*n))+j2(g*b))),H2[r+52>>2]=t,i=j2(d+j2(j2(j2(o*i)+j2(v*n))+j2(B*b))),H2[r+56>>2]=i,y2[r+44>>2]=0,n=j2(j2(j2(u+s)+i)*j2(.3333333432674408)),H2[r+40>>2]=n,v=j2(j2(j2(a+E)+t)*j2(.3333333432674408)),H2[r+36>>2]=v,b=j2(j2(j2(Q+w)+l)*j2(.3333333432674408)),H2[r+32>>2]=b,e=y2[A+8>>2],16384&N2[y2[y2[e>>2]+56>>2]](e)&&(o=H2[r+80>>2],y2[r+24>>2]=0,y2[r+28>>2]=0,y2[r+16>>2]=1065353216,y2[r+20>>2]=1065353216,e=y2[A+8>>2],y2[r+12>>2]=0,B=j2(w-o),d=j2(t-a),t=j2(E-a),o=j2(l-o),a=j2(j2(B*d)-j2(t*o)),k=j2((c=a)*a),a=j2(i-u),i=j2(s-u),u=j2(j2(t*a)-j2(i*d)),a=j2(j2(i*o)-j2(B*a)),i=j2(j2(1)/j2(K2(j2(k+j2(j2(u*u)+j2(a*a)))))),H2[r+8>>2]=j2(c*i)+n,H2[r+4>>2]=v+j2(a*i),H2[r>>2]=b+j2(u*i),N2[y2[y2[e>>2]+16>>2]](e,r+32|0,r,r+16|0)),f=y2[A+8>>2],N2[y2[y2[f>>2]+16>>2]](f,r+80|0,r- -64|0,e=A+12|0),f=y2[A+8>>2],N2[y2[y2[f>>2]+16>>2]](f,r- -64|0,r+48|0,e),A=y2[A+8>>2],N2[y2[y2[A>>2]+16>>2]](A,r+48|0,r+80|0,e),L2=r+96|0},y1,function(A){return(A|=0)-4|0},function(A){b((A|=0)-4|0)},function(A,e,r,f){N2[y2[y2[(A=(A|=0)-4|0)>>2]+8>>2]](A,e|=0,r|=0,f|=0)},A,P1,A,P1,A,function(A,e){var r,f,i,a,n,b,t,o,c,k,u,l,s,v,B,d,_,g,Z,C,w,E,Q,h;A|=0,e|=0,j2(0),j2(0),j2(0),j2(0),j2(0),j2(0),j2(0),j2(0),j2(0),j2(0),j2(0),j2(0),j2(0),j2(0),j2(0),j2(0),j2(0),j2(0),j2(0),j2(0),j2(0),L2=h=L2-128|0,k=y2[e+36>>2],e=y2[y2[A+24>>2]+32>>2]+P2(k,80)|0,C=y2[e+64>>2],u=H2[e+32>>2],l=H2[e>>2],s=H2[e+16>>2],v=H2[e+56>>2],B=H2[e+52>>2],d=H2[e+48>>2],_=H2[e+36>>2],g=H2[e+20>>2],Z=H2[e+4>>2],r=H2[e+40>>2],f=H2[e+24>>2],i=H2[e+8>>2],y2[124+h>>2]=0,y2[108+h>>2]=0,y2[92+h>>2]=0,e=y2[A+28>>2],a=H2[e+32>>2],n=H2[e+36>>2],b=H2[e+40>>2],H2[104+h>>2]=j2(j2(i*a)+j2(f*n))+j2(r*b),H2[100+h>>2]=j2(j2(Z*a)+j2(g*n))+j2(_*b),t=H2[e+16>>2],o=H2[e+20>>2],c=H2[e+24>>2],H2[88+h>>2]=j2(j2(i*t)+j2(f*o))+j2(r*c),H2[84+h>>2]=j2(j2(Z*t)+j2(g*o))+j2(_*c),H2[120+h>>2]=j2(j2(j2(d*a)+j2(B*n))+j2(v*b))+H2[e+56>>2],H2[116+h>>2]=j2(j2(j2(d*t)+j2(B*o))+j2(v*c))+H2[e+52>>2],y2[76+h>>2]=0,w=i,i=H2[e>>2],E=f,f=H2[e+4>>2],Q=r,r=H2[e+8>>2],H2[72+h>>2]=j2(j2(w*i)+j2(E*f))+j2(Q*r),H2[68+h>>2]=j2(j2(Z*i)+j2(g*f))+j2(_*r),H2[64+h>>2]=j2(j2(l*i)+j2(s*f))+j2(u*r),H2[112+h>>2]=j2(j2(j2(d*i)+j2(B*f))+j2(v*r))+H2[e+48>>2],H2[96+h>>2]=j2(j2(l*a)+j2(s*n))+j2(u*b),H2[80+h>>2]=j2(j2(l*t)+j2(s*o))+j2(u*c),y2[36+h>>2]=1065353216,y2[48+h>>2]=0,y2[40+h>>2]=1,y2[44+h>>2]=-1,y2[60+h>>2]=k,y2[52+h>>2]=C,y2[32+h>>2]=15072,e=y2[A+32>>2],y2[56+h>>2]=e,y2[36+h>>2]=y2[e+4>>2],y2[28+h>>2]=k,y2[24+h>>2]=-1,y2[12+h>>2]=C,e=y2[A+4>>2],y2[8+h>>2]=e,y2[16+h>>2]=y2[e+8>>2],y2[20+h>>2]=h+64,U1(y2[A+8>>2],y2[A+12>>2],y2[A+16>>2],8+h|0,32+h|0,H2[A+20>>2]),L2=128+h|0},A,J1,function(A,e,r){var f,i;return A|=0,e|=0,r|=0,j2(0),y2[(L2=i=L2-16|0)>>2]=-1,y2[4+i>>2]=y2[A+28>>2],y2[8+i>>2]=y2[A+20>>2],y2[e+4>>2]||(y2[e+4>>2]=i),f=y2[A+24>>2],f=j2(N2[y2[y2[f>>2]+12>>2]](f,e,r)),y2[A+4>>2]=y2[y2[A+24>>2]+4>>2],L2=16+i|0,j2(f)},A,function(A,e){A|=0,e|=0;var r,f,i,a,n,b=0;return j2(0),L2=n=L2-32|0,r=y2[A+184>>2],H2[r+4>>2]!=j2(0)&&(b=1,e=y2[e>>2],0|N2[y2[y2[r>>2]+8>>2]](r,y2[e+188>>2]))&&(f=H2[A+188>>2],r=y2[A+184>>2],i=y2[A+192>>2],a=y2[e+192>>2],y2[24+n>>2]=-1,y2[28+n>>2]=-1,y2[20+n>>2]=e+4,y2[16+n>>2]=e,y2[12+n>>2]=a,U1(i,A+36|(y2[8+n>>2]=0),A+100|0,8+n|0,r,f)),L2=32+n|0,0|b},function(A){var e;return y2[(A|=0)>>2]=15948,(e=y2[A+60>>2])&&(U2[A- -64|0]&&(y2[6503]=y2[6503]+1,$2(y2[e-4>>2])),y2[A+60>>2]=0),y2[A+60>>2]=0,y2[A+52>>2]=0,y2[A+56>>2]=0,X2[A- -64|0]=1,(e=y2[A+40>>2])&&(U2[A+44|0]&&(y2[6503]=y2[6503]+1,$2(y2[e-4>>2])),y2[A+40>>2]=0),y2[A+40>>2]=0,y2[A+32>>2]=0,y2[A+36>>2]=0,X2[A+44|0]=1,(e=y2[A+16>>2])&&(U2[A+20|0]&&(y2[6503]=y2[6503]+1,$2(y2[e-4>>2])),y2[A+16>>2]=0),y2[A+16>>2]=0,y2[A+8>>2]=0,y2[A+12>>2]=0,X2[A+20|0]=1,0|A},function(A){var e;y2[(A|=0)>>2]=15948,(e=y2[A+60>>2])&&(U2[A- -64|0]&&(y2[6503]=y2[6503]+1,$2(y2[e-4>>2])),y2[A+60>>2]=0),y2[A+60>>2]=0,y2[A+52>>2]=0,y2[A+56>>2]=0,X2[A- -64|0]=1,(e=y2[A+40>>2])&&(U2[A+44|0]&&(y2[6503]=y2[6503]+1,$2(y2[e-4>>2])),y2[A+40>>2]=0),y2[A+40>>2]=0,y2[A+32>>2]=0,y2[A+36>>2]=0,X2[A+44|0]=1,(e=y2[A+16>>2])&&(U2[A+20|0]&&(y2[6503]=y2[6503]+1,$2(y2[e-4>>2])),y2[A+16>>2]=0),y2[A+16>>2]=0,y2[A+8>>2]=0,y2[A+12>>2]=0,X2[A+20|0]=1,y2[6503]=y2[6503]+1,$2(y2[A-4>>2])},function(A,e,r){A|=0,e|=0,r|=0;var f,i,a,n,b,t,o,c,k=0,u=0,l=0,s=0,v=0;y2[6667]=y2[6667]+1;A:{e:{if(f=y2[A+24>>2]){if(0|N2[y2[y2[f>>2]+8>>2]](f,e,r))break e;break A}if(!(y2[r+8>>2]&y2[e+4>>2]))break A;if(!(y2[e+8>>2]&y2[r+4>>2]))break A}if(f=y2[e+12>>2]>y2[r+12>>2],u=y2[(i=f?e:r)+12>>2],l=y2[(a=f?r:e)+12>>2],e=P2((e=((e=u<<16|l)<<15^-1)+e|0)>>>10^e,9),f=y2[A+12>>2],-1!=(0|(e=y2[y2[A+40>>2]+((v=(b=(e=((e^=e>>>6)<<11^-1)+e|0)>>>16^e)&f-1)<<2)>>2])))for(r=y2[A+16>>2];;){if(k=(s=e<<4)+r|0,(0|u)==y2[y2[4+(r+s|0)>>2]+12>>2]&&(0|l)==y2[y2[k>>2]+12>>2])break A;if(-1==(0|(e=y2[y2[A+60>>2]+(e<<2)>>2])))break}if((0|(e=f))==(0|(r=l=y2[A+8>>2]))&&(r=f,!((0|(u=e?e<<1:1))<=(0|e)))){if(r=0,u&&(y2[6502]=y2[6502]+1,e=q2(16+(u<<4|3)|0))&&(y2[(r=e+19&-16)-4>>2]=e),1<=(0|f))for(e=12,k=f;;)if(n=y2[A+16>>2]+e|0,y2[(s=e+r|0)-12>>2]=y2[n-12>>2],c=y2[4+(t=n-8|0)>>2],y2[(o=s-8|0)>>2]=y2[t>>2],y2[4+o>>2]=c,y2[s>>2]=y2[n>>2],e=e+16|0,!(k=k-1|0))break;(e=y2[A+16>>2])&&(U2[A+20|0]&&(y2[6503]=y2[6503]+1,$2(y2[e-4>>2])),y2[A+16>>2]=0),y2[A+16>>2]=r,y2[A+12>>2]=u,X2[A+20|0]=1,r=y2[A+8>>2],e=u}y2[A+8>>2]=r+1,r=y2[A+16>>2],(k=y2[A+68>>2])&&(N2[y2[y2[k>>2]+8>>2]](k,a,i),e=y2[A+12>>2]),k=r+(l<<4)|0,(0|f)<(0|e)&&(O1(A),v=y2[A+12>>2]-1&b),f=y2[i+12>>2],u=y2[a+12>>2],y2[(e=r+(l<<4)|0)+8>>2]=0,y2[e+12>>2]=0,y2[(r=e)+4>>2]=(e=(0|u)<(0|f))?i:a,r=y2[A+60>>2]+(l<<2)|0,A=y2[A+40>>2]+(v<<2)|0,y2[r>>2]=y2[A>>2],y2[k>>2]=e?a:i,y2[A>>2]=l}return 0|k},function(A,e,r,f){A|=0,e|=0,r|=0,f|=0;var i,a=0,n=0,b=0,t=0,o=0,c=0,k=0;y2[6666]=y2[6666]+1,a=y2[e+12>>2]>y2[r+12>>2],n=y2[(i=a?e:r)+12>>2],b=y2[(o=a?r:e)+12>>2],e=P2((e=((e=n<<16|b)<<15^-1)+e|0)>>>10^e,9),t=y2[A+12>>2]-1&((e=((e^=e>>>6)<<11^-1)+e|0)>>>16^e),e=y2[y2[A+40>>2]+(t<<2)>>2];A:if(-1!=(0|e)){for(a=y2[A+16>>2];;){if((0|n)==y2[y2[(r=a+(e<<4)|0)+4>>2]+12>>2]&&(0|b)==y2[y2[r>>2]+12>>2])break;if(-1==(0|(e=y2[y2[A+60>>2]+(e<<2)>>2])))break A}N2[y2[y2[A>>2]+32>>2]](A,r,f),c=y2[12+(a+(e<<4)|0)>>2],n=y2[A+60>>2];e:{if(b=y2[A+40>>2]+(t<<2)|0,(0|(e=y2[b>>2]))==(0|(a=r-y2[A+16>>2]>>4)))e=y2[n+(a<<2)>>2];else{for(;;)if((0|a)==(0|(e=y2[(t=n+((r=e)<<2)|0)>>2])))break;if(e=y2[n+(a<<2)>>2],-1!=(0|r)){y2[t>>2]=e;break e}}y2[b>>2]=e}if(n=y2[A+8>>2]-1|0,(e=y2[A+68>>2])&&N2[y2[y2[e>>2]+12>>2]](e,o,i,f),(0|a)==(0|n))return y2[A+8>>2]=y2[A+8>>2]-1,0|c;i=y2[A+60>>2];e:{if(o=y2[A+16>>2],e=y2[y2[(f=o+(n<<4)|0)+4>>2]+12>>2]<<16|y2[y2[f>>2]+12>>2],e=P2((e=(e<<15^-1)+e|0)>>>10^e,9),b=y2[A+12>>2]-1&((e=((e^=e>>>6)<<11^-1)+e|0)>>>16^e),t=y2[A+40>>2]+(b<<2)|0,(0|n)==(0|(e=y2[t>>2])))e=y2[i+(n<<2)>>2];else{for(;;)if((0|n)==(0|(e=y2[(k=i+((r=e)<<2)|0)>>2])))break;if(e=y2[i+(n<<2)>>2],-1!=(0|r)){y2[k>>2]=e;break e}}y2[t>>2]=e}r=y2[f+4>>2],y2[(e=o+(a<<4)|0)>>2]=y2[f>>2],y2[e+4>>2]=r,f=y2[(r=f+8|0)+4>>2],y2[(e=e+8|0)>>2]=y2[r>>2],y2[e+4>>2]=f,e=y2[A+40>>2]+(b<<2)|0,y2[y2[A+60>>2]+(a<<2)>>2]=y2[e>>2],y2[e>>2]=a,y2[A+8>>2]=y2[A+8>>2]-1}return 0|c},function(A,e,r){var f;A|=0,r|=0,y2[12+(L2=f=L2-16|0)>>2]=e|=0,y2[8+f>>2]=16208,N2[y2[y2[A>>2]+48>>2]](A,8+f|0,r),L2=16+f|0},K1,K1,L1,function(A,e,r){A|=0,e|=0,(r|=0)&&(A=y2[e+8>>2])&&(N2[y2[y2[A>>2]>>2]](A),N2[y2[y2[r>>2]+60>>2]](r,y2[e+8>>2]),y2[e+8>>2]=0)},function(A){return y2[(A|=0)+8>>2]},function(A,e,r){var f;A|=0,e|=0,y2[12+(L2=f=L2-16|0)>>2]=r|=0,y2[8+f>>2]=A,y2[4+f>>2]=e,y2[f>>2]=16036,N2[y2[y2[A>>2]+48>>2]](A,f,r),L2=16+f|0},q1,function(A,e,r){e|=0,r|=0;var f,i=0;if(1<=y2[(A|=0)+8>>2])for(;;)if(f=y2[A+16>>2]+(i<<4)|0,0|N2[y2[y2[e>>2]+8>>2]](e,f)?(N2[y2[y2[A>>2]+12>>2]](A,y2[f>>2],y2[4+f>>2],r),y2[6665]=y2[6665]-1):i=i+1|0,!(y2[A+8>>2]>(0|i)))break},function(A,e,r){A|=0,e|=0,r|=0;var f,i,a=0;y2[6664]=y2[6664]+1,a=y2[e+12>>2]>y2[r+12>>2],f=y2[(a?e:r)+12>>2],i=y2[(a?r:e)+12>>2],e=P2((e=((e=i|f<<16)<<15^-1)+e|0)>>>10^e,9),e=y2[A+12>>2]-1&((e=((e^=e>>>6)<<11^-1)+e|0)>>>16^e);A:{if(!((0|e)>=y2[A+32>>2])&&-1!=(0|(e=y2[y2[A+40>>2]+(e<<2)>>2])))for(r=y2[A+16>>2];;){if(y2[y2[4+(a=r+(e<<4)|0)>>2]+12>>2]==(0|f)&&y2[y2[a>>2]+12>>2]==(0|i))break A;if(-1==(0|(e=y2[y2[A+60>>2]+(e<<2)>>2])))break}a=0}return 0|a},L0,function(A,e){y2[(A|=0)+68>>2]=e|=0},function(A,e){A|=0,e|=0;var r,f,i,a,n,b=0,t=0,o=0,c=0,k=0,u=0,l=L2-32|0;if(y2[20+(L2=l)>>2]=0,y2[12+l>>2]=0,!(((y2[16+l>>2]=0)|(t=y2[A+8>>2]))<(X2[24+l|0]=1))){for(t=0;;){if(r=y2[A+16>>2]+(u<<4)|0,(0|b)==(0|o))if((0|(f=o?o<<1:1))<=(0|o))b=o;else{if(k=0,f&&(y2[6502]=y2[6502]+1,b=q2(16+(f<<4|3)|0))&&(y2[(k=b+19&-16)-4>>2]=b),1<=(0|o))for(b=12;;)if(c=y2[20+l>>2]+b|0,y2[(t=b+k|0)-12>>2]=y2[c-12>>2],n=y2[4+(i=c-8|0)>>2],y2[(a=t-8|0)>>2]=y2[i>>2],y2[4+a>>2]=n,y2[t>>2]=y2[c>>2],b=b+16|0,!(o=o-1|0))break;(b=y2[20+l>>2])&&(U2[24+l|0]&&(y2[6503]=y2[6503]+1,$2(y2[b-4>>2])),y2[20+l>>2]=0),y2[20+l>>2]=k,X2[24+l|0]=1,y2[16+l>>2]=f,b=y2[12+l>>2],c=t=k}if(y2[(b=(b<<4)+c|0)>>2]=y2[r>>2],o=y2[8+r>>2],y2[b+4>>2]=y2[4+r>>2],y2[b+8>>2]=o,y2[b+12>>2]=y2[12+r>>2],o=y2[12+l>>2],y2[12+l>>2]=b=o+1|0,!((0|(u=u+1|0))>2]))break;o=y2[16+l>>2]}if(!((0|o)<0))for(c=o+1|0;;)if(N2[y2[y2[A>>2]+12>>2]](A,y2[t>>2],y2[t+4>>2],e),t=t+16|0,!(c=c-1|0))break}if(1<=y2[A+52>>2])for(t=y2[A+60>>2],c=0;;)if(y2[t>>2]=-1,t=t+4|0,!((0|(c=c+1|0))>2]))break;A:{e:{r:{if(2<=(0|b))$1(8+l|0,0,b-1|0);else if((0|b)<1)break r;if(e=y2[k+4>>2],t=y2[k>>2],k=y2[20+l>>2],N2[y2[y2[A>>2]+8>>2]](A,t,e),1!=(0|b)){for(t=k+20|0,b=b-1|0;;)if(N2[y2[y2[A>>2]+8>>2]](A,y2[t-4>>2],y2[t>>2]),t=t+16|0,!(b=b-1|0))break;break e}}if(!k)break A}y2[6503]=y2[6503]+1,$2(y2[k-4>>2]),y2[20+l>>2]=0}L2=32+l|0},e,A,function(A,e){var r;return(0|(r=y2[(A|=0)+4>>2]))!=y2[(e|=0)+4>>2]&&(0|r)!=y2[e>>2]||(r=y2[A+8>>2],N2[y2[y2[r>>2]+32>>2]](r,e,y2[A+12>>2])),0},A,function(A,e){return(0|(A=y2[(A|=0)+4>>2]))==y2[(e|=0)>>2]|(0|A)==y2[e+4>>2]},function(A){var e;return y2[(A|=0)>>2]=16476,(e=y2[A+336>>2])&&(U2[A+340|0]&&(y2[6503]=y2[6503]+1,$2(y2[e-4>>2])),y2[A+336>>2]=0),y2[A+336>>2]=0,y2[A+328>>2]=0,y2[A+332>>2]=0,y2[A>>2]=10468,X2[A+340|0]=1,(e=y2[A+296>>2])&&(U2[A+300|0]&&(y2[6503]=y2[6503]+1,$2(y2[e-4>>2])),y2[A+296>>2]=0),y2[A+296>>2]=0,y2[A+288>>2]=0,y2[A+292>>2]=0,X2[A+300|0]=1,0|A},function(A){var e;y2[(A|=0)>>2]=16476,(e=y2[A+336>>2])&&(U2[A+340|0]&&(y2[6503]=y2[6503]+1,$2(y2[e-4>>2])),y2[A+336>>2]=0),y2[A+336>>2]=0,y2[A+328>>2]=0,y2[A+332>>2]=0,y2[A>>2]=10468,X2[A+340|0]=1,(e=y2[A+296>>2])&&(U2[A+300|0]&&(y2[6503]=y2[6503]+1,$2(y2[e-4>>2])),y2[A+296>>2]=0),y2[A+296>>2]=0,y2[A+288>>2]=0,y2[A+292>>2]=0,X2[A+300|0]=1,y2[6503]=y2[6503]+1,$2(y2[A-4>>2])},function(A,e,r){r|=0;var f,i=0,a=0,n=y2[(e|=0)>>2];r=y2[(A|=0)+328>>2];A:{e:if(!((0|r)<1)){for(e=y2[A+336>>2],i=r;;){if(y2[e>>2]==(0|n))break;if(e=e+4|0,!(i=i-1|0))break e}if(i)break A}if(y2[A+332>>2]==(0|r)&&!((0|(f=r?r<<1:1))<=(0|r))){if(f&&(y2[6502]=y2[6502]+1,e=q2(16+(f<<2|3)|0))&&(y2[(a=e+19&-16)-4>>2]=e),1<=(0|r))for(e=0,i=r;;)if(y2[e+a>>2]=y2[y2[A+336>>2]+e>>2],e=e+4|0,!(i=i-1|0))break;(e=y2[A+336>>2])&&(U2[A+340|0]&&(y2[6503]=y2[6503]+1,$2(y2[e-4>>2]),r=y2[A+328>>2]),y2[A+336>>2]=0),y2[A+336>>2]=a,y2[A+332>>2]=f,X2[A+340|0]=1}y2[A+328>>2]=r+1,y2[y2[A+336>>2]+(r<<2)>>2]=n}},function(A,e,r,f){var i,a;A|=0,e|=0,r|=0,f|=0;A:if(!((0|(r=y2[A+328>>2]))<1)){for(a=y2[e>>2],f=0,e=i=y2[A+336>>2];;){if(y2[e>>2]==(0|a))break;if(e=e+4|0,(0|(f=f+1|0))==(0|r))break A}(0|r)<=(0|f)||(y2[(f=A)+328>>2]=A=r-1|0,y2[e>>2]=y2[(A<<2)+i>>2])}},function(A){var e;return y2[(A|=0)>>2]=16548,e=y2[A+344>>2],N2[y2[y2[e>>2]>>2]](e),(e=y2[A+344>>2])&&(y2[6503]=y2[6503]+1,$2(y2[e-4>>2])),y2[A>>2]=16476,(e=y2[A+336>>2])&&(U2[A+340|0]&&(y2[6503]=y2[6503]+1,$2(y2[e-4>>2])),y2[A+336>>2]=0),y2[A+336>>2]=0,y2[A+328>>2]=0,y2[A+332>>2]=0,y2[A>>2]=10468,X2[A+340|0]=1,(e=y2[A+296>>2])&&(U2[A+300|0]&&(y2[6503]=y2[6503]+1,$2(y2[e-4>>2])),y2[A+296>>2]=0),y2[A+296>>2]=0,y2[A+288>>2]=0,y2[A+292>>2]=0,X2[A+300|0]=1,0|A},function(A){var e;y2[(A|=0)>>2]=16548,e=y2[A+344>>2],N2[y2[y2[e>>2]>>2]](e),(e=y2[A+344>>2])&&(y2[6503]=y2[6503]+1,$2(y2[e-4>>2])),y2[A>>2]=16476,(e=y2[A+336>>2])&&(U2[A+340|0]&&(y2[6503]=y2[6503]+1,$2(y2[e-4>>2])),y2[A+336>>2]=0),y2[A+336>>2]=0,y2[A+328>>2]=0,y2[A+332>>2]=0,y2[A>>2]=10468,X2[A+340|0]=1,(e=y2[A+296>>2])&&(U2[A+300|0]&&(y2[6503]=y2[6503]+1,$2(y2[e-4>>2])),y2[A+296>>2]=0),y2[A+296>>2]=0,y2[A+288>>2]=0,y2[A+292>>2]=0,X2[A+300|0]=1,y2[6503]=y2[6503]+1,$2(y2[A-4>>2])},function(A,e,r){A|=0;var f,i,a=0,n=0,b=0,t=0;r=(r|=0)||y2[A+188>>2],i=y2[(e|=0)>>2],n=y2[A+328>>2];A:{e:if(!((0|n)<1)){for(b=y2[A+336>>2],a=n;;){if(y2[b>>2]==(0|i))break;if(b=b+4|0,!(a=a-1|0))break e}if(a)break A}if(y2[A+332>>2]==(0|n)&&!((0|(f=n?n<<1:1))<=(0|n))){if(f&&(y2[6502]=y2[6502]+1,a=q2(16+(f<<2|3)|0))&&(y2[(t=a+19&-16)-4>>2]=a),1<=(0|n))for(b=0,a=n;;)if(y2[b+t>>2]=y2[y2[A+336>>2]+b>>2],b=b+4|0,!(a=a-1|0))break;(a=y2[A+336>>2])&&(U2[A+340|0]&&(y2[6503]=y2[6503]+1,$2(y2[a-4>>2]),n=y2[A+328>>2]),y2[A+336>>2]=0),y2[A+336>>2]=t,y2[A+332>>2]=f,X2[A+340|0]=1}y2[y2[A+336>>2]+(n<<2)>>2]=i,y2[A+328>>2]=n+1,A=y2[A+344>>2],N2[y2[y2[A>>2]+8>>2]](A,r,e)}},function(A,e,r,f){A|=0,r|=0;var i,a,n=0,b=0,t=y2[(e|=0)>>2];f=(f|=0)||y2[A+188>>2],i=y2[A+328>>2];A:if(!((0|i)<1)){for(n=a=y2[A+336>>2];;){if(y2[n>>2]==(0|t))break;if(n=n+4|0,(0|(b=b+1|0))==(0|i))break A}(0|i)<=(0|b)||(y2[(b=n)>>2]=y2[((n=i-1|0)<<2)+a>>2],y2[A+328>>2]=n,A=y2[A+344>>2],N2[y2[y2[A>>2]+12>>2]](A,f,e,r))}},D1,e4,r4,function(A,e,r){A|=0,e=j2(e),r|=0,j2(0),j2(0),j2(0),j2(0),j2(0),j2(0);var f=H2[A+44>>2],i=H2[A+40>>2],a=H2[A+36>>2],n=j2(N2[y2[y2[A>>2]+48>>2]](A)),b=j2(N2[y2[y2[A>>2]+48>>2]](A)),A=j2(N2[y2[y2[A>>2]+48>>2]](A));y2[r+12>>2]=0,e=j2(e/j2(12)),a=j2(a+n),a=j2(a+a),a=j2(a*a),i=j2(i+b),i=j2(i+i),i=j2(i*i),H2[r+8>>2]=e*j2(a+i),f=j2(f+A),f=j2(f+f),f=j2(f*f),H2[r+4>>2]=e*j2(a+f),H2[r>>2]=e*j2(i+f)},function(A){return 16940},A4,function(A,e,r){A|=0,e|=0,r|=0,j2(0),j2(0),j2(0),j2(0),j2(0),j2(0);var f=H2[e+40>>2],i=H2[e+44>>2],a=H2[e+36>>2],n=j2(N2[y2[y2[e>>2]+48>>2]](e)),b=j2(N2[y2[y2[e>>2]+48>>2]](e)),e=j2(N2[y2[y2[e>>2]+48>>2]](e));y2[A+12>>2]=0,i=j2(i+e),H2[A+8>>2]=H2[r+8>>2]>=j2(0)?i:j2(-i),f=j2(f+b),H2[A+4>>2]=H2[r+4>>2]>=j2(0)?f:j2(-f),f=j2(a+n),H2[A>>2]=H2[r>>2]>=j2(0)?f:j2(-f)},function(A,e,r){var f;A|=0,e|=0,r|=0,j2(0),y2[A+12>>2]=0,f=H2[e+36>>2],H2[A>>2]=H2[r>>2]>=j2(0)?f:j2(-f),f=H2[e+44>>2],H2[A+8>>2]=H2[r+8>>2]>=j2(0)?f:j2(-f),f=H2[e+40>>2],H2[A+4>>2]=H2[r+4>>2]>=j2(0)?f:j2(-f)},function(A,e,r,f){A|=0,e|=0,r|=0,f|=0;var i,a,n,b,t,o,c,k=0;if(j2(0),j2(0),j2(0),j2(0),j2(0),j2(0),1<=(0|f))for(;;)if(t=H2[4+(i=e+k|0)>>2],o=H2[8+i>>2],c=H2[i>>2],a=H2[A+40>>2],n=H2[A+44>>2],b=H2[A+36>>2],y2[12+(i=r+k|0)>>2]=0,H2[i>>2]=c>=j2(0)?b:j2(-b),H2[8+i>>2]=o>=j2(0)?n:j2(-n),H2[4+i>>2]=t>=j2(0)?a:j2(-a),k=k+16|0,!(f=f-1|0))break},f4,function(A,e,r){A|=0,r|=0,(e|=0)>>>0<=5&&(y2[r+12>>2]=0,y2[r+8>>2]=y2[(A=e<<2)+16916>>2],y2[r+4>>2]=y2[A+16892>>2],y2[r>>2]=y2[A+16868>>2])},function(A){return 8},a1,function(A,e,r,f){f|=0;var i=0,a=0,i=A|=0;e=(e|=0)>>>0<=11?(a=y2[(e<<=2)+16820>>2],y2[e+16772>>2]):0,N2[y2[y2[A>>2]+108>>2]](i,e,r|=0),N2[y2[y2[A>>2]+108>>2]](A,a,f)},function(A,e,r){A|=0,e|=0,r|=0,j2(0),j2(0),j2(0),j2(0),j2(0),j2(0);var f=H2[A+44>>2],i=H2[A+40>>2],a=H2[A+36>>2],n=j2(N2[y2[y2[A>>2]+48>>2]](A)),b=j2(N2[y2[y2[A>>2]+48>>2]](A)),t=j2(N2[y2[y2[A>>2]+48>>2]](A));y2[r+12>>2]=0,i=j2(i+b),H2[r+4>>2]=j2(i*j2(0|!(A=e>>>1&1)))-j2(i*j2(0|A)),i=j2(a+n),H2[r>>2]=j2(i*j2(0|!(A=1&e)))-j2(i*j2(0|A)),f=j2(f+t),H2[r+8>>2]=j2(f*j2(0|!(A=e>>>2&1)))-j2(f*j2(0|A))},f4,function(A,e,r,f){var i,a,n;e|=0,r|=0,L2=n=L2-48|0,N2[y2[y2[(A|=0)>>2]+124>>2]](A,32+n|0,f|=0),y2[e+12>>2]=0,f=y2[40+n>>2],y2[e+8>>2]=f,i=y2[36+n>>2],y2[e+4>>2]=i,a=e,e=y2[32+n>>2],y2[a>>2]=e,y2[12+n>>2]=0,y2[8+n>>2]=-2147483648^f,y2[4+n>>2]=-2147483648^i,y2[n>>2]=-2147483648^e,N2[y2[y2[A>>2]+64>>2]](16+n|0,A,n),f=y2[(e=24+n|0)+4>>2],y2[(A=r+8|0)>>2]=y2[e>>2],y2[A+4>>2]=f,A=y2[20+n>>2],y2[r>>2]=y2[16+n>>2],y2[r+4>>2]=A,L2=48+n|0},function(A,e,r){A|=0,e|=0,r=j2(r),j2(0),j2(0);var f=0,i=H2[e>>2],a=H2[A+36>>2];return 0|(f=i<=j2(a+r)&&i>=j2(j2(-a)-r)&&(i=H2[e+4>>2],a=H2[A+40>>2],i<=j2(a+r))&&i>=j2(j2(-a)-r)&&(i=H2[e+8>>2],a=H2[A+44>>2],i<=j2(a+r))?i>=j2(j2(-a)-r):f)},function(A,e,r){A|=0,e|=0,r|=0;var f,i,a=j2(0),n=0,b=0;if(j2(0),j2(0),r>>>0<=5){f=H2[A+44>>2],i=H2[A+40>>2],a=H2[A+36>>2],A=1065353216;A:{e:{r:{f:switch(r-1|0){case 0:A=-1082130432;break A;case 1:n=1065353216;break e;case 2:n=-1082130432;break e;case 3:b=1065353216;break r;case 4:break f;default:break A;}b=-1082130432}A=0,a=f;break A}A=0,a=i}y2[e+8>>2]=b,y2[e+4>>2]=n,y2[e>>2]=A,H2[e+12>>2]=-a}},A,function(A,e,r){A|=0,e|=0,r|=0;var f,i,a,n,b,t,o,c,k,u,l,s=0,v=j2(0),v=(j2(0),j2(0),j2(0),j2(0),j2(0),j2(0),j2(0),j2(0),j2(0),j2(0),j2(0),j2(1));return(0|(s=y2[e>>2]))==y2[A+88>>2]||4&U2[s+204|0]||(y2[A+16>>2]=s,y2[A+4>>2]=y2[e+40>>2],y2[A+84>>2]=y2[y2[e+4>>2]+8>>2],r?(r=y2[e+12>>2],y2[A+52>>2]=y2[e+8>>2],y2[A+56>>2]=r,a=y2[(s=e+16|0)+4>>2],y2[(r=A+60|0)>>2]=y2[s>>2],y2[r+4>>2]=a):(a=H2[s+8>>2],n=H2[s+12>>2],b=H2[s+20>>2],t=H2[s+24>>2],o=H2[s+28>>2],c=H2[s+36>>2],k=H2[s+40>>2],v=H2[e+12>>2],u=H2[s+44>>2],f=H2[e+16>>2],l=H2[s+4>>2],i=H2[e+8>>2],y2[A- -64>>2]=0,H2[A+60>>2]=j2(j2(i*c)+j2(v*k))+j2(f*u),H2[A+56>>2]=j2(j2(i*b)+j2(v*t))+j2(f*o),H2[A+52>>2]=j2(j2(l*i)+j2(a*v))+j2(n*f)),r=y2[e+28>>2],y2[A+68>>2]=y2[e+24>>2],y2[A+72>>2]=r,s=y2[(r=e+32|0)+4>>2],y2[(A=A+76|0)>>2]=y2[r>>2],y2[A+4>>2]=s,v=H2[e+40>>2]),j2(v)},function(A){var e;return y2[(A|=0)>>2]=17052,(e=y2[A+124>>2])&&(U2[A+128|0]&&(y2[6503]=y2[6503]+1,$2(y2[e-4>>2])),y2[A+124>>2]=0),y2[A+124>>2]=0,y2[A+116>>2]=0,y2[A+120>>2]=0,X2[A+128|0]=1,0|A},s0,function(A,e,r){A|=0,r=j2(r),U2[A+62|0]&&(n4(A),n4(A),n4(A),n4(A))},X1,o4,t4,function(A){return j2(j2(H2[(A|=0)+152>>2]+j2(H2[A+156>>2]*j2(.5))))},t4,function(A){return j2(H2[y2[(A|=0)+8>>2]+40>>2])},function(A,e){k(0|(e|=0),y2[e>>2])},X1,e,A,W0,e4,r4,function(A,e,r){A|=0,e=j2(e),r|=0;var f,i,a,n=j2(0),b=j2(0),t=j2(0),t=(j2(0),j2(0),j2(0),j2(0),j2(0),H2[A+44>>2]),n=H2[A+40>>2],o=H2[A+36>>2],c=j2(N2[y2[y2[A>>2]+48>>2]](A));n=j2(n+j2(N2[y2[y2[A>>2]+48>>2]](A))),a=j2(N2[y2[y2[A>>2]+48>>2]](A)),b=j2(e*j2(.5)),f=j2(e*j2(.25)),i=j2(e/j2(12)),e=j2(c+o);A:{e:if(!(2<(A=y2[A+60>>2])>>>0)){r:switch(A-1|0){default:t=b,b=j2(n*n),n=j2(t*b),b=e=j2(j2(f*b)+j2(i*j2(e*j2(e*j2(4)))));break A;case 0:break e;case 1:break r;}e=j2(e*e),b=j2(b*e),n=j2(f*e),e=j2(a+t),e=n=j2(n+j2(i*j2(e*j2(e*j2(4)))));break A}t=b,b=j2(e*e),e=j2(t*b),b=n=j2(j2(f*b)+j2(i*j2(n*j2(n*j2(4)))))}y2[r+12>>2]=0,H2[r+8>>2]=b,H2[r+4>>2]=e,H2[r>>2]=n},function(A){return 17520},T0,A4,x0,function(A,e,r){e|=0;var f=0|N2[y2[y2[(r|=0)>>2]+40>>2]](r,A|=0),i=0|N2[y2[y2[r>>2]+28>>2]](r,f);return(y2[e>>2]=i)&&N2[y2[y2[r>>2]+48>>2]](r,f),r=y2[A+4>>2],y2[e+8>>2]=0,y2[e+28>>2]=y2[A+36>>2],y2[e+32>>2]=y2[A+40>>2],y2[e+36>>2]=y2[A+44>>2],y2[e+40>>2]=y2[A+48>>2],y2[e+12>>2]=y2[A+20>>2],y2[e+16>>2]=y2[A+24>>2],y2[e+20>>2]=y2[A+28>>2],y2[e+24>>2]=y2[A+32>>2],y2[e+4>>2]=r,y2[e+44>>2]=y2[A+52>>2],y2[e+48>>2]=0,A=y2[A+60>>2],y2[e+56>>2]=0,y2[e+52>>2]=A,17500},function(A,e,r){var f,i,a,n,b;A|=0,e|=0,r|=0,j2(0),j2(0),j2(0),j2(0),j2(0),L2=b=L2-16|0,N2[y2[y2[e>>2]+68>>2]](b,e,r),a=y2[4+(i=8+b|0)>>2],y2[(f=A+8|0)>>2]=y2[i>>2],y2[4+f>>2]=a,f=y2[4+b>>2],y2[A>>2]=y2[b>>2],y2[A+4>>2]=f,j2(N2[y2[y2[e>>2]+48>>2]](e))!=j2(0)&&(i=H2[r+4>>2],a=H2[r>>2],f=H2[r+8>>2],r=j2(N2[y2[y2[e>>2]+48>>2]](e)),n=a=(e=j2(j2(j2(a*a)+j2(i*i))+j2(f*f))>2]=H2[A>>2]+j2(r*j2(n*a)),H2[A+4>>2]=H2[A+4>>2]+j2(r*j2(i*a)),H2[A+8>>2]=H2[A+8>>2]+j2(r*j2(f*a))),L2=16+b|0},function(A,e,r){A|=0,e|=0,r|=0;var f,i=j2(0),a=j2(0),n=(j2(0),j2(0),j2(0),j2(0)),i=H2[e+40>>2],a=H2[e+36>>2],e=H2[r>>2],b=H2[r+8>>2];i=((f=j2(K2(j2(j2(e*e)+j2(b*b)))))!=j2(0)&&(a=j2(a/f),n=j2(b*a),a=j2(e*a)),H2[r+4>>2]>2]=n,H2[A+4>>2]=i,H2[A>>2]=a},function(A,e,r,f){A|=0,e|=0,r|=0,f|=0;var i,a,n=j2(0),b=j2(0),t=j2(0);if(j2(0),j2(0),1<=(0|f))for(;;)if(n=H2[A+40>>2],b=H2[A+36>>2],i=H2[e>>2],t=H2[e+8>>2],n=((a=j2(K2(j2(j2(i*i)+j2(t*t)))))!=j2(0)?(b=j2(b/a),t=j2(t*b),b=j2(i*b)):t=j2(0),H2[e+4>>2]>2]=b,H2[r+8>>2]=t,H2[r+4>>2]=n,e=e+16|0,r=r+16|0,!(f=f-1|0))break},function(A){A|=0,j2(0),j2(0);var e=H2[A+36>>2],r=j2(N2[y2[y2[A>>2]+48>>2]](A));return j2(N2[y2[y2[A>>2]+48>>2]](A)),j2(N2[y2[y2[A>>2]+48>>2]](A)),j2(j2(e+r))},e,W0,function(A,e,r,f){f|=0,y2[(r|=0)+8>>2]=-581039253,y2[r+12>>2]=0,y2[r>>2]=-581039253,y2[r+4>>2]=-581039253,y2[f+8>>2]=1566444395,y2[f+12>>2]=0,y2[f>>2]=1566444395,y2[f+4>>2]=1566444395},function(A,e){var r=y2[(e|=0)+4>>2];y2[(A|=0)+76>>2]=y2[e>>2],y2[A+80>>2]=r,r=y2[(e=e+8|0)+4>>2],y2[(A=A+84|0)>>2]=y2[e>>2],y2[A+4>>2]=r},function(A){return(A|=0)+76|0},c1,function(A){return 17659},i1,function(A,e,r){e|=0;var f=0|N2[y2[y2[(r|=0)>>2]+40>>2]](r,A|=0),i=0|N2[y2[y2[r>>2]+28>>2]](r,f);return(y2[e>>2]=i)&&N2[y2[y2[r>>2]+48>>2]](r,f),r=y2[A+4>>2],y2[e+8>>2]=0,y2[e+12>>2]=y2[A+76>>2],y2[e+16>>2]=y2[A+80>>2],y2[e+20>>2]=y2[A+84>>2],y2[e+24>>2]=y2[A+88>>2],y2[e+28>>2]=y2[A+56>>2],y2[e+32>>2]=y2[A+60>>2],y2[e+36>>2]=y2[A- -64>>2],y2[e+40>>2]=y2[A+68>>2],y2[e+4>>2]=r,A=y2[A+72>>2],y2[e+48>>2]=0,y2[e+44>>2]=A,17636},function(A,e,r,f){A|=0,e|=0,r|=0,f|=0;var i,a,n,b,t,o,c,k,u,l,s,v=j2(0),B=j2(0),d=(j2(0),j2(0)),_=(j2(0),j2(0),j2(0),j2(0)),g=(j2(0),j2(0),j2(0)),Z=j2(0),C=j2(0),w=(j2(0),j2(0));j2(0),L2=s=L2-48|0,n=H2[f>>2],d=H2[r>>2],i=j2(j2(n-d)*j2(.5)),a=j2(i*i),B=H2[f+4>>2],v=H2[r+4>>2],i=j2(j2(B-v)*j2(.5)),t=j2(a+j2(i*i)),a=H2[f+8>>2],b=H2[r+8>>2],i=j2(j2(a-b)*j2(.5)),i=j2(K2(j2(t+j2(i*i)))),a=j2(j2(a+b)*j2(.5)),b=j2(j2(B+v)*j2(.5)),o=j2(j2(n+d)*j2(.5)),n=H2[A- -64>>2],j2(z2(n))>j2(.7071067690849304)?(d=H2[A+60>>2],B=j2(j2(n*n)+j2(d*d)),v=j2(j2(1)/j2(K2(B))),g=j2(B*v),_=j2(d*v),B=H2[A+56>>2],Z=j2(_*j2(-B)),v=j2(v*j2(-n)),C=j2(B*v)):(B=H2[A+56>>2],d=H2[A+60>>2],g=j2(j2(B*B)+j2(d*d)),v=j2(j2(1)/j2(K2(g))),C=j2(g*v),w=j2(v*j2(-d)),Z=j2(n*w),v=j2(B*v),g=j2(v*j2(-n))),l=H2[A+72>>2],y2[(A=44+s|0)>>2]=0,f=40+s|(y2[(r=28+s|0)>>2]=0),a=j2(j2(j2(n*(t=a))+j2(j2(o*B)+j2(b*d)))-l),l=j2(t-j2(n*a)),_=j2(i*_),t=j2(l-_),n=j2(i*C),C=j2(t-n),H2[f>>2]=C,c=36+s|0,b=j2(b-j2(d*a)),v=j2(i*v),k=j2(b-v),d=j2(i*Z),Z=j2(k-d),H2[c>>2]=Z,u=24+s|0,_=j2(_+l),H2[u>>2]=_-n,l=20+s|0,v=j2(v+b),H2[l>>2]=v-d,y2[12+s>>2]=0,B=j2(o-j2(B*a)),a=j2(i*w),b=j2(B-a),i=j2(i*g),o=j2(b-i),H2[32+s>>2]=o,B=j2(a+B),H2[16+s>>2]=B-i,a=j2(n+_),H2[8+s>>2]=a,v=j2(d+v),H2[4+s>>2]=v,B=j2(i+B),H2[s>>2]=B,N2[y2[y2[e>>2]+8>>2]](e,s,0,0),y2[A>>2]=0,H2[f>>2]=a,H2[c>>2]=v,y2[r>>2]=0,H2[u>>2]=n+t,H2[l>>2]=d+k,H2[32+s>>2]=B,H2[16+s>>2]=i+b,y2[12+s>>2]=0,H2[8+s>>2]=C,H2[4+s>>2]=Z,H2[s>>2]=o,N2[y2[y2[e>>2]+8>>2]](e,s,0,1),L2=48+s|0},w4,function(A){var e=0;y2[(A|=0)>>2]=17700,(e=y2[A+72>>2])&&(B4(e),e=y2[A+72>>2])&&(y2[6503]=y2[6503]+1,$2(y2[e-4>>2])),(e=y2[A+32>>2])&&(U2[A+36|0]&&(y2[6503]=y2[6503]+1,$2(y2[e-4>>2])),y2[A+32>>2]=0),y2[A+32>>2]=0,y2[A+24>>2]=0,y2[A+28>>2]=0,X2[A+36|0]=1,y2[6503]=y2[6503]+1,$2(y2[A-4>>2])},function(A,e,r,f){A|=0,e|=0,r|=0,f|=0,j2(0),j2(0),j2(0),j2(0),j2(0),j2(0),j2(0),j2(0),j2(0),j2(0),j2(0),j2(0),j2(0),j2(0),j2(0),j2(0),j2(0),j2(0),j2(0),j2(0),j2(0),j2(0),j2(0),j2(0);var i,a,n,b=H2[A+48>>2],t=H2[A- -64>>2],o=y2[A+24>>2],c=H2[A+44>>2],k=H2[A+60>>2],u=H2[A+40>>2],l=H2[A+56>>2],s=j2(N2[y2[y2[A>>2]+48>>2]](A)),v=j2(N2[y2[y2[A>>2]+48>>2]](A)),A=j2(N2[y2[y2[A>>2]+48>>2]](A)),B=H2[e+52>>2],d=H2[e+24>>2],_=H2[e+20>>2],g=H2[e+56>>2],Z=H2[e+40>>2],C=H2[e+36>>2],w=H2[e+48>>2],E=H2[e+8>>2],Q=H2[e>>2],h=H2[e+4>>2],G=H2[e+16>>2],e=H2[e+32>>2];y2[r+12>>2]=0,i=g,g=j2(o?j2(l+u)*j2(.5):0),a=j2(o?j2(k+c)*j2(.5):0),n=j2(o?j2(t+b)*j2(.5):0),i=j2(i+j2(j2(j2(e*g)+j2(C*a))+j2(Z*n))),u=j2(s+j2(o?j2(l-u)*j2(.5):0)),c=j2(v+j2(o?j2(k-c)*j2(.5):0)),b=j2(A+j2(o?j2(t-b)*j2(.5):0)),t=j2(j2(j2(u*j2(z2(e)))+j2(c*j2(z2(C))))+j2(b*j2(z2(Z)))),H2[r+8>>2]=i-t,k=j2(B+j2(j2(j2(g*G)+j2(a*_))+j2(n*d))),l=j2(j2(j2(u*j2(z2(G)))+j2(c*j2(z2(_))))+j2(b*j2(z2(d)))),H2[r+4>>2]=k-l,d=j2(w+j2(j2(j2(g*Q)+j2(a*h))+j2(n*E))),b=j2(j2(j2(u*j2(z2(Q)))+j2(c*j2(z2(h))))+j2(b*j2(z2(E)))),H2[r>>2]=d-b,y2[f+12>>2]=0,H2[f+8>>2]=t+i,H2[f+4>>2]=l+k,H2[f>>2]=b+d},function(A,e){e|=0;var r,f,i,a,n,b,t,o,c,k,u=0,l=0,s=0,v=0,B=0;if(L2=k=L2-144|0,1<=y2[(A|=0)+24>>2])for(n=96+k|0,b=k+64|0,t=48+k|0,o=32+k|0;;){if(u=(s=P2(B,80))+y2[A+32>>2]|0,i=y2[(l=u+8|0)+4>>2],y2[(r=24+k|0)>>2]=y2[l>>2],y2[4+r>>2]=i,f=y2[u+4>>2],y2[16+k>>2]=y2[u>>2],y2[20+k>>2]=f,v=y2[4+(i=u+24|0)>>2],y2[(l=f=8+o|0)>>2]=y2[i>>2],y2[l+4>>2]=v,l=y2[u+20>>2],y2[o>>2]=y2[u+16>>2],y2[4+o>>2]=l,a=y2[4+(v=u+40|0)>>2],y2[(l=8+t|0)>>2]=y2[v>>2],y2[l+4>>2]=a,i=y2[u+36>>2],y2[t>>2]=y2[u+32>>2],y2[4+t>>2]=i,c=y2[4+(a=u+56|0)>>2],y2[(v=i=8+b|0)>>2]=y2[a>>2],y2[4+v>>2]=c,v=y2[u+52>>2],y2[b>>2]=y2[u+48>>2],y2[4+b>>2]=v,v=8+k|0,u=y2[u+64>>2],u=0|N2[y2[y2[u>>2]+28>>2]](u),y2[v>>2]=y2[u+8>>2],a=y2[u+4>>2],u=y2[u>>2],H2[v>>2]=j2(H2[v>>2]*H2[e+8>>2])/H2[A+92>>2],y2[k>>2]=u,y2[4+k>>2]=a,y2[12+k>>2]=0,H2[k>>2]=j2(H2[k>>2]*H2[e>>2])/H2[A+84>>2],H2[4+k>>2]=j2(H2[4+k>>2]*H2[e+4>>2])/H2[A+88>>2],u=y2[64+(s+y2[A+32>>2]|0)>>2],N2[y2[y2[u>>2]+24>>2]](u,k),y2[76+k>>2]=0,H2[72+k>>2]=j2(H2[72+k>>2]*H2[e+8>>2])/H2[A+92>>2],H2[68+k>>2]=j2(H2[68+k>>2]*H2[e+4>>2])/H2[A+88>>2],H2[64+k>>2]=j2(H2[64+k>>2]*H2[e>>2])/H2[A+84>>2],a=y2[4+r>>2],u=s+y2[A+32>>2]|0,y2[(v=u+8|0)>>2]=y2[r>>2],y2[4+v>>2]=a,r=y2[20+k>>2],y2[u>>2]=y2[16+k>>2],y2[u+4>>2]=r,v=y2[4+f>>2],y2[(r=u+24|0)>>2]=y2[f>>2],y2[4+r>>2]=v,r=y2[4+o>>2],y2[u+16>>2]=y2[o>>2],y2[u+20>>2]=r,f=y2[l+4>>2],y2[(r=u+40|0)>>2]=y2[l>>2],y2[4+r>>2]=f,r=y2[4+t>>2],y2[u+32>>2]=y2[t>>2],y2[u+36>>2]=r,r=y2[4+b>>2],y2[u+48>>2]=y2[b>>2],y2[u+52>>2]=r,r=y2[4+i>>2],y2[(u=u+56|0)>>2]=y2[i>>2],y2[u+4>>2]=r,y2[A+72>>2]){u=y2[64+(s+y2[A+32>>2]|0)>>2],N2[y2[y2[u>>2]+8>>2]](u,16+k|0,128+k|0,112+k|0),f=y2[4+(r=136+k|0)>>2],y2[(u=i=88+k|0)>>2]=y2[r>>2],y2[u+4>>2]=f,u=y2[116+k>>2],y2[n>>2]=y2[112+k>>2],y2[4+n>>2]=u,f=y2[4+(r=120+k|0)>>2],y2[(u=8+n|0)>>2]=y2[r>>2],y2[u+4>>2]=f,u=y2[132+k>>2],y2[80+k>>2]=y2[128+k>>2],y2[84+k>>2]=u;A:if(u=Z4(f=y2[A+72>>2],r=y2[76+(s+y2[A+32>>2]|0)>>2])){if(0<=(0|(l=y2[f+8>>2]))){if(l)for(;;){if(!(s=y2[u+32>>2]))break A;if(u=s,!(l=l-1|0))break}}else u=y2[f>>2];}else u=0;s=y2[84+k>>2],y2[r>>2]=y2[80+k>>2],y2[r+4>>2]=s,v=y2[(l=104+k|0)+4>>2],y2[(s=r+24|0)>>2]=y2[l>>2],y2[s+4>>2]=v,l=y2[4+n>>2],y2[(s=r+16|0)>>2]=y2[n>>2],y2[s+4>>2]=l,l=y2[4+i>>2],y2[(s=r+8|0)>>2]=y2[i>>2],y2[s+4>>2]=l,C4(f,u,r)}if(!((0|(B=B+1|0))>2]))break}u=y2[e+4>>2],y2[A+84>>2]=y2[e>>2],y2[A+88>>2]=u,s=y2[(e=e+8|0)+4>>2],y2[(u=A+92|0)>>2]=y2[e>>2],y2[u+4>>2]=s,N2[y2[y2[A>>2]+68>>2]](A),L2=144+k|0},function(A){return(A|=0)+84|0},function(A,e,r){var f,i,a;A|=0,e=j2(e),r|=0,j2(0),j2(0),j2(0),y2[(f=44+(L2=a=L2-96|0)|0)>>2]=0,y2[4+f>>2]=0,y2[(f=56+a|0)>>2]=0,y2[4+f>>2]=0,y2[52+a>>2]=1065353216,y2[(f=76+a|0)>>2]=0,y2[4+f>>2]=0,y2[72+a>>2]=1065353216,y2[(f=84+a|0)>>2]=0,y2[4+f>>2]=0,y2[92+a>>2]=0,y2[36+a>>2]=0,y2[40+a>>2]=0,y2[32+a>>2]=1065353216,y2[64+a>>2]=0,y2[68+a>>2]=0,N2[y2[y2[A>>2]+8>>2]](A,32+a|0,16+a|0,a),e=j2(e/j2(12)),f=j2(j2(H2[a>>2]-H2[16+a>>2])*j2(.5)),f=j2(f+f),f=j2(f*f),A=j2(j2(H2[4+a>>2]-H2[20+a>>2])*j2(.5)),A=j2(A+A),A=j2(A*A),H2[r+8>>2]=e*j2(f+A),i=f,f=j2(j2(H2[8+a>>2]-H2[24+a>>2])*j2(.5)),f=j2(f+f),f=j2(f*f),H2[r+4>>2]=e*j2(i+f),H2[r>>2]=e*j2(A+f),L2=96+a|0},function(A){return 19252},function(A,e){A|=0,e=j2(e),H2[A+80>>2]=e},function(A){return j2(H2[(A|=0)+80>>2])},function(A){return 24},function(A,e,r){e|=0;var f,i,a,n,b,t,o=0,c=0,k=0,u=0,o=0|N2[y2[y2[(r|=0)>>2]+40>>2]](r,A|=0),c=0|N2[y2[y2[r>>2]+28>>2]](r,o);if((y2[e>>2]=c)&&N2[y2[y2[r>>2]+48>>2]](r,o),o=y2[A+4>>2],y2[e+8>>2]=0,y2[e+12>>2]=0,y2[e+4>>2]=o,y2[e+20>>2]=y2[A+80>>2],o=y2[A+24>>2],y2[e+16>>2]=o){if(f=0|N2[y2[y2[r>>2]+16>>2]](r,76,o),o=y2[8+f>>2],i=e,a=0|N2[y2[y2[r>>2]+28>>2]](r,o),y2[i+12>>2]=a,0>2])for(o=o+36|0,k=36;;)if(c=y2[A+32>>2]+k|0,y2[o+36>>2]=y2[c+36>>2],i=o+28|0,a=0|N2[y2[y2[r>>2]+28>>2]](r,y2[c+28>>2]),y2[i>>2]=a,0|N2[y2[y2[r>>2]+24>>2]](r,y2[28+(y2[A+32>>2]+k|0)>>2])||(c=y2[28+(y2[A+32>>2]+k|0)>>2],a=r,n=0|N2[y2[y2[c>>2]+52>>2]](c),i=y2[y2[r>>2]+16>>2],c=0|N2[i](0|a,0|n,1),t=y2[28+(y2[A+32>>2]+k|0)>>2],b=r,n=c,a=0|N2[y2[y2[t>>2]+56>>2]](t,y2[c+8>>2],r),t=y2[28+(y2[A+32>>2]+k|0)>>2],i=y2[y2[r>>2]+20>>2],N2[i](0|b,0|n,0|a,1346455635,0|t)),c=y2[A+32>>2]+k|0,y2[o-36>>2]=y2[c-36>>2],y2[o-32>>2]=y2[c-32>>2],y2[o-28>>2]=y2[c-28>>2],y2[o-24>>2]=y2[c-24>>2],y2[o-20>>2]=y2[c-20>>2],y2[o-16>>2]=y2[c-16>>2],y2[o-12>>2]=y2[c-12>>2],y2[o-8>>2]=y2[c-8>>2],y2[o-4>>2]=y2[c-4>>2],y2[o>>2]=y2[c>>2],y2[o+4>>2]=y2[c+4>>2],y2[o+8>>2]=y2[c+8>>2],y2[o+12>>2]=y2[c+12>>2],y2[o+16>>2]=y2[c+16>>2],y2[o+20>>2]=y2[c+20>>2],y2[o+32>>2]=y2[c+32>>2],y2[o+24>>2]=y2[c+24>>2],k=k+80|0,o=o+76|0,!((0|(u=u+1|0))>2]))break;N2[y2[y2[r>>2]+20>>2]](r,f,17784,1497453121,y2[8+f>>2])}return 17809},function(A,e){e|=0;var r=0,f=0;if(y2[(A|=0)+76>>2]=y2[A+76>>2]+1,1<=(0|(r=y2[A+24>>2])))for(f=r+1|0,r=P2(r,80)-16|0;;)if(y2[y2[A+32>>2]+r>>2]==(0|e)&&E4(A,f-2|0),r=r-80|0,!(1<(0|(f=f-1|0))))break;N2[y2[y2[A>>2]+68>>2]](A)},function(A){A|=0,j2(0);var e,r,f,i=0,a=0;if(L2=f=L2-32|0,y2[A+56>>2]=-581039253,y2[A+60>>2]=-581039253,y2[A+40>>2]=1566444395,y2[A+44>>2]=1566444395,y2[(e=A- -64|0)>>2]=-581039253,y2[4+e>>2]=0,y2[(e=A+48|0)>>2]=1566444395,y2[4+e>>2]=0,1<=y2[A+24>>2])for(;;)if(e=y2[A+32>>2]+i|0,r=y2[e+64>>2],N2[y2[y2[r>>2]+8>>2]](r,e,16+f|0,f),(r=H2[16+f>>2])>2]&&(H2[A+40>>2]=r),(r=H2[f>>2])>H2[A+56>>2]&&(H2[A+56>>2]=r),(r=H2[20+f>>2])>2]&&(H2[A+44>>2]=r),(r=H2[4+f>>2])>H2[A+60>>2]&&(H2[A+60>>2]=r),(r=H2[24+f>>2])>2]&&(H2[A+48>>2]=r),(r=H2[8+f>>2])>H2[A+64>>2]&&(H2[A+64>>2]=r),i=i+80|0,!((0|(a=a+1|0))>2]))break;L2=32+f|0},function(A){var e;return y2[(A|=0)>>2]=18036,(e=y2[A+32>>2])&&(U2[A+36|0]&&(y2[6503]=y2[6503]+1,$2(y2[e-4>>2])),y2[A+32>>2]=0),y2[A+32>>2]=0,y2[A+24>>2]=0,y2[A+28>>2]=0,X2[A+36|0]=1,0|A},function(A){var e;y2[(A|=0)>>2]=18036,(e=y2[A+32>>2])&&(U2[A+36|0]&&(y2[6503]=y2[6503]+1,$2(y2[e-4>>2])),y2[A+32>>2]=0),y2[A+32>>2]=0,y2[A+24>>2]=0,y2[A+28>>2]=0,X2[A+36|0]=1,y2[6503]=y2[6503]+1,$2(y2[A-4>>2])},function(A,e,r,f){A|=0,e|=0,r|=0,f|=0;var i,a,n,b,t,o,c,k=0,u=0,l=0,s=0,v=(j2(0),j2(0),j2(0),j2(0)),B=j2(0),d=j2(0),_=0;if(L2=r=L2-80|0,1<=(0|(b=0|N2[y2[y2[A>>2]+28>>2]](A))))for(i=H2[A+12>>2],a=H2[A+8>>2],n=H2[A+4>>2];;){N2[y2[y2[A>>2]+16>>2]](A,r+76|0,r+52|0,r- -64|0,r+56|0,r+72|0,r+68|0,r+48|0,r+60|0,_),f=y2[r+64>>2];A:if(!(1>>0))if(1!=(0|f)){if(!(3<(f=y2[r+60>>2]-2|0)>>>0)){e:switch(f-1|0){case 2:if(y2[r+48>>2]<1)break A;for(f=0;;)if(s=y2[r+76>>2],l=y2[r+56>>2],u=y2[r+72>>2]+P2(y2[r+68>>2],f)|0,k=s+P2(l,U2[0|u])|0,v=H2[k>>2],B=H2[k+4>>2],d=H2[k+8>>2],y2[r+12>>2]=0,H2[r+8>>2]=i*d,H2[r+4>>2]=a*B,H2[r>>2]=n*v,k=s+P2(l,U2[u+1|0])|0,v=H2[k>>2],B=H2[k+4>>2],d=H2[k+8>>2],y2[r+28>>2]=0,H2[r+24>>2]=i*d,H2[r+20>>2]=a*B,H2[r+16>>2]=n*v,u=s+P2(l,U2[u+2|0])|0,v=H2[u>>2],B=H2[u+4>>2],d=H2[u+8>>2],y2[r+44>>2]=0,H2[r+40>>2]=i*d,H2[r+36>>2]=a*B,H2[r+32>>2]=n*v,N2[y2[y2[e>>2]+8>>2]](e,r,_,f),!((0|(f=f+1|0))>2]))break;break A;case 0:if(y2[r+48>>2]<1)break A;for(f=0;;)if(s=y2[r+76>>2],l=y2[r+56>>2],u=y2[r+72>>2]+P2(y2[r+68>>2],f)|0,k=s+P2(l,e2[u>>1])|0,v=H2[k>>2],B=H2[k+4>>2],d=H2[k+8>>2],y2[r+12>>2]=0,H2[r+8>>2]=i*d,H2[r+4>>2]=a*B,H2[r>>2]=n*v,k=s+P2(l,e2[u+2>>1])|0,v=H2[k>>2],B=H2[k+4>>2],d=H2[k+8>>2],y2[r+28>>2]=0,H2[r+24>>2]=i*d,H2[r+20>>2]=a*B,H2[r+16>>2]=n*v,u=s+P2(l,e2[u+4>>1])|0,v=H2[u+8>>2],B=H2[u+4>>2],d=H2[u>>2],y2[r+44>>2]=0,H2[r+32>>2]=n*d,H2[r+36>>2]=a*B,H2[r+40>>2]=i*v,N2[y2[y2[e>>2]+8>>2]](e,r,_,f),!((0|(f=f+1|0))>2]))break;break A;case 1:break A;default:break e;}if(!(y2[r+48>>2]<1))for(f=0;;)if(s=y2[r+76>>2],l=y2[r+56>>2],u=y2[r+72>>2]+P2(y2[r+68>>2],f)|0,k=s+P2(l,y2[u>>2])|0,v=H2[k>>2],B=H2[k+4>>2],d=H2[k+8>>2],y2[r+12>>2]=0,H2[r+8>>2]=i*d,H2[r+4>>2]=a*B,H2[r>>2]=n*v,k=s+P2(l,y2[u+4>>2])|0,v=H2[k>>2],B=H2[k+4>>2],d=H2[k+8>>2],y2[r+28>>2]=0,H2[r+24>>2]=i*d,H2[r+20>>2]=a*B,H2[r+16>>2]=n*v,u=s+P2(l,y2[u+8>>2])|0,v=H2[u+8>>2],B=H2[u+4>>2],d=H2[u>>2],y2[r+44>>2]=0,H2[r+32>>2]=n*d,H2[r+36>>2]=a*B,H2[r+40>>2]=i*v,N2[y2[y2[e>>2]+8>>2]](e,r,_,f),!((0|(f=f+1|0))>2]))break}}else if(!(3<(f=y2[r+60>>2]-2|0)>>>0)){e:switch(f-1|0){case 2:if(y2[r+48>>2]<1)break A;for(f=0;;)if(u=y2[r+72>>2]+P2(y2[r+68>>2],f)|0,l=U2[0|u],y2[r+12>>2]=0,s=y2[r+76>>2],k=l,l=y2[r+56>>2],k=s+P2(k,l)|0,H2[r+8>>2]=i*j2(J[k+16>>3]),H2[r+4>>2]=a*j2(J[k+8>>3]),H2[r>>2]=n*j2(J[k>>3]),k=U2[u+1|0],y2[r+28>>2]=0,k=s+P2(k,l)|0,H2[r+24>>2]=i*j2(J[k+16>>3]),H2[r+20>>2]=a*j2(J[k+8>>3]),H2[r+16>>2]=n*j2(J[k>>3]),u=s+P2(l,U2[u+2|0])|0,t=J[u>>3],o=J[u+8>>3],c=J[u+16>>3],y2[r+44>>2]=0,H2[r+40>>2]=i*j2(c),H2[r+36>>2]=a*j2(o),H2[r+32>>2]=n*j2(t),N2[y2[y2[e>>2]+8>>2]](e,r,_,f),!((0|(f=f+1|0))>2]))break;break A;case 0:if(y2[r+48>>2]<1)break A;for(f=0;;)if(y2[r+12>>2]=0,y2[r+28>>2]=0,s=y2[r+76>>2],l=y2[r+56>>2],u=y2[r+72>>2]+P2(y2[r+68>>2],f)|0,k=s+P2(l,e2[u>>1])|0,H2[r+8>>2]=i*j2(J[k+16>>3]),H2[r+4>>2]=a*j2(J[k+8>>3]),H2[r>>2]=n*j2(J[k>>3]),k=s+P2(l,e2[u+2>>1])|0,H2[r+24>>2]=i*j2(J[k+16>>3]),H2[r+20>>2]=a*j2(J[k+8>>3]),H2[r+16>>2]=n*j2(J[k>>3]),y2[r+44>>2]=0,u=s+P2(l,e2[u+4>>1])|0,H2[r+32>>2]=n*j2(J[u>>3]),H2[r+36>>2]=a*j2(J[u+8>>3]),H2[r+40>>2]=i*j2(J[u+16>>3]),N2[y2[y2[e>>2]+8>>2]](e,r,_,f),!((0|(f=f+1|0))>2]))break;break A;case 1:break A;default:break e;}if(!(y2[r+48>>2]<1))for(f=0;;)if(y2[r+12>>2]=0,y2[r+28>>2]=0,s=y2[r+76>>2],l=y2[r+56>>2],u=y2[r+72>>2]+P2(y2[r+68>>2],f)|0,k=s+P2(l,y2[u>>2])|0,H2[r+8>>2]=i*j2(J[k+16>>3]),H2[r+4>>2]=a*j2(J[k+8>>3]),H2[r>>2]=n*j2(J[k>>3]),k=s+P2(l,y2[u+4>>2])|0,H2[r+24>>2]=i*j2(J[k+16>>3]),H2[r+20>>2]=a*j2(J[k+8>>3]),H2[r+16>>2]=n*j2(J[k>>3]),y2[r+44>>2]=0,u=s+P2(l,y2[u+8>>2])|0,H2[r+32>>2]=n*j2(J[u>>3]),H2[r+36>>2]=a*j2(J[u+8>>3]),H2[r+40>>2]=i*j2(J[u+16>>3]),N2[y2[y2[e>>2]+8>>2]](e,r,_,f),!((0|(f=f+1|0))>2]))break}if(N2[y2[y2[A>>2]+24>>2]](A,_),(0|b)==(0|(_=_+1|0)))break}L2=r+80|0},Q4,Q4,X1,X1,G4,X1,X1,function(A){return 1==y2[(A|=0)+48>>2]|0},function(A,e,r){r|=0;var f,i=y2[(e|=0)+4>>2];y2[(A|=0)+52>>2]=y2[e>>2],y2[A+56>>2]=i,f=y2[(e=e+8|0)+4>>2],y2[(i=A+60|0)>>2]=y2[e>>2],y2[4+i>>2]=f,e=y2[r+4>>2],y2[A+68>>2]=y2[r>>2],y2[A+72>>2]=e,i=y2[(r=r+8|0)+4>>2],y2[(e=A+76|0)>>2]=y2[r>>2],y2[e+4>>2]=i,y2[A+48>>2]=1},function(A,e,r){r|=0;var f,i=y2[(A|=0)+56>>2];y2[(e|=0)>>2]=y2[A+52>>2],y2[e+4>>2]=i,f=y2[4+(i=A+60|0)>>2],y2[(e=e+8|0)>>2]=y2[i>>2],y2[e+4>>2]=f,f=y2[4+(i=A+76|0)>>2],y2[(e=r+8|0)>>2]=y2[i>>2],y2[e+4>>2]=f,e=y2[A+72>>2],y2[r>>2]=y2[A+68>>2],y2[r+4>>2]=e},function(A){return 28},function(A,e,r){e|=0,r|=0;var f,i,a,n,b,t,o=0,c=0,k=0,u=0,l=0,s=0,v=0,B=0,d=0;if(L2=t=L2-32|0,o=0|N2[y2[y2[(A|=0)>>2]+28>>2]](A),y2[e>>2]=0,y2[e+20>>2]=o){if(a=0|N2[y2[y2[r>>2]+16>>2]](r,32,o),l=y2[8+a>>2],B=e,d=0|N2[y2[y2[r>>2]+28>>2]](r,l),y2[B>>2]=d,0<(0|(b=0|N2[y2[y2[A>>2]+28>>2]](A))))for(;;){N2[y2[y2[A>>2]+16>>2]](A,28+t|0,4+t|0,16+t|0,8+t|0,24+t|0,20+t|0,t,12+t|0,v),y2[l>>2]=0,y2[l+4>>2]=0,y2[(o=l+8|0)>>2]=0,y2[o+4>>2]=0,y2[(o=l+16|0)>>2]=0,y2[o+4>>2]=0,o=y2[t>>2],y2[l+24>>2]=o,y2[l+28>>2]=y2[4+t>>2],c=y2[12+t>>2]-2|0;A:if(!(3>>0)){e:switch(c-1|0){default:if(!o)break A;if(k=0|N2[y2[y2[r>>2]+16>>2]](r,4,P2(o,3)),o=y2[k+8>>2],B=l,d=0|N2[y2[y2[r>>2]+28>>2]](r,o),y2[B+8>>2]=d,1<=y2[t>>2])for(c=0,s=y2[24+t>>2];;)if(u=s+P2(y2[20+t>>2],c)|0,y2[o>>2]=y2[u>>2],y2[o+4>>2]=y2[u+4>>2],y2[o+8>>2]=y2[u+8>>2],o=o+12|0,!((0|(c=c+1|0))>2]))break;N2[y2[y2[r>>2]+20>>2]](r,k,17847,1497453121,y2[k+8>>2]);break A;case 0:if(!o)break A;if(k=0|N2[y2[y2[r>>2]+16>>2]](r,8,o),o=y2[k+8>>2],B=l,d=0|N2[y2[y2[r>>2]+28>>2]](r,o),y2[B+12>>2]=d,1<=y2[t>>2])for(c=0;;)if(u=y2[24+t>>2]+P2(y2[20+t>>2],c)|0,A2[o>>1]=e2[u>>1],A2[o+2>>1]=e2[u+2>>1],u=e2[u+4>>1],A2[o+6>>1]=0,A2[o+4>>1]=u,o=o+8|0,!((0|(c=c+1|0))>2]))break;N2[y2[y2[r>>2]+20>>2]](r,k,17862,1497453121,y2[k+8>>2]);break A;case 1:break A;case 2:break e;}if(o){if(k=0|N2[y2[y2[r>>2]+16>>2]](r,4,o),o=y2[k+8>>2],B=l,d=0|N2[y2[y2[r>>2]+28>>2]](r,o),y2[B+16>>2]=d,1<=y2[t>>2])for(c=0;;)if(u=y2[24+t>>2]+P2(y2[20+t>>2],c)|0,X2[0|o]=U2[0|u],X2[o+1|0]=U2[u+1|0],X2[o+2|0]=U2[u+2|0],o=o+4|(X2[o+3|0]=0),!((0|(c=c+1|0))>2]))break;N2[y2[y2[r>>2]+20>>2]](r,k,17889,1497453121,y2[k+8>>2])}}if(!(1<(o=y2[16+t>>2])>>>0))if(1!=(0|o)){if(o=y2[4+t>>2]){if(u=0|N2[y2[y2[r>>2]+16>>2]](r,16,o),o=y2[u+8>>2],B=l,d=0|N2[y2[y2[r>>2]+28>>2]](r,o),y2[B>>2]=d,1<=(0|(k=y2[4+t>>2])))for(s=y2[8+t>>2],c=y2[28+t>>2];;)if(y2[o>>2]=y2[c>>2],y2[o+4>>2]=y2[c+4>>2],y2[o+8>>2]=y2[c+8>>2],c=c+s|0,o=o+16|0,!(k=k-1|0))break;N2[y2[y2[r>>2]+20>>2]](r,u,17912,1497453121,y2[u+8>>2])}}else if(o=y2[4+t>>2]){if(u=0|N2[y2[y2[r>>2]+16>>2]](r,32,o),o=y2[u+8>>2],B=l,d=0|N2[y2[y2[r>>2]+28>>2]](r,o),y2[B+4>>2]=d,1<=(0|(k=y2[4+t>>2])))for(s=y2[8+t>>2],c=y2[28+t>>2];;)if(f=y2[c+4>>2],y2[o>>2]=y2[c>>2],y2[o+4>>2]=f,n=y2[4+(i=c+8|0)>>2],y2[(f=o+8|0)>>2]=y2[i>>2],y2[4+f>>2]=n,n=y2[4+(i=c+16|0)>>2],y2[(f=o+16|0)>>2]=y2[i>>2],y2[4+f>>2]=n,c=c+s|0,o=o+32|0,!(k=k-1|0))break;N2[y2[y2[r>>2]+20>>2]](r,u,17931,1497453121,y2[u+8>>2])}if(N2[y2[y2[A>>2]+24>>2]](A,v),l=l+32|0,(0|b)==(0|(v=v+1|0)))break}N2[y2[y2[r>>2]+20>>2]](r,a,17951,1497453121,y2[8+a>>2])}return y2[e+24>>2]=0,y2[e+4>>2]=y2[A+4>>2],y2[e+8>>2]=y2[A+8>>2],y2[e+12>>2]=y2[A+12>>2],y2[e+16>>2]=y2[A+16>>2],L2=32+t|0,17966},h4,function(A){(A=h4(A|=0))&&(y2[6503]=y2[6503]+1,$2(y2[A-4>>2]))},function(A,e){e|=0;var r,f=0,i=0,a=0,n=0,b=0;A:{if(U2[(A|=0)+165|0]){if(y2[A+92>>2]>=(0|e))break A;if(e&&(y2[6502]=y2[6502]+1,f=q2(16+(e<<4|3)|0))&&(y2[(a=f+19&-16)-4>>2]=f),1<=(0|(n=y2[A+88>>2])))for(;;)if(i=y2[A+96>>2]+b|0,f=y2[i+4>>2],y2[(r=b+a|0)>>2]=y2[i>>2],y2[4+r>>2]=f,f=y2[(i=i+8|0)+4>>2],y2[(r=8+r|0)>>2]=y2[i>>2],y2[4+r>>2]=f,b=b+16|0,!(n=n-1|0))break;return(f=y2[A+96>>2])&&(U2[A+100|0]&&(y2[6503]=y2[6503]+1,$2(y2[f-4>>2])),y2[A+96>>2]=0),y2[A+96>>2]=a,y2[A+92>>2]=e,void(X2[A+100|0]=1)}if(!(y2[A+112>>2]>=(0|e))){e&&(y2[6502]=y2[6502]+1,i=q2(16+(e<<2|3)|0))&&(y2[(f=i+19&-16)-4>>2]=i),i=y2[A+116>>2];e:{if(1<=(0|(a=y2[A+108>>2]))){for(b=f,n=i;;)if(y2[b>>2]=y2[n>>2],b=b+4|0,n=n+4|0,!(a=a-1|0))break}else if(!i)break e;U2[A+120|0]&&(y2[6503]=y2[6503]+1,$2(y2[i-4>>2])),y2[A+116>>2]=0}y2[A+116>>2]=f,y2[A+112>>2]=e,X2[A+120|0]=1}}},function(A,e){e|=0;var r=0,f=0,i=0,a=0,n=0;A:{if(U2[(A|=0)+164|0]){if(y2[A+132>>2]>=(0|e))break A;e&&(y2[6502]=y2[6502]+1,r=q2(16+(e<<2|3)|0))&&(y2[(i=r+19&-16)-4>>2]=r),a=y2[A+136>>2];e:{if(1<=(0|(f=y2[A+128>>2]))){for(n=i,r=a;;)if(y2[n>>2]=y2[r>>2],n=n+4|0,r=r+4|0,!(f=f-1|0))break}else if(!a)break e;U2[A+140|0]&&(y2[6503]=y2[6503]+1,$2(y2[a-4>>2])),y2[A+136>>2]=0}return y2[A+136>>2]=i,y2[A+132>>2]=e,void(X2[A+140|0]=1)}if(!(y2[A+152>>2]>=(0|e))){e&&(y2[6502]=y2[6502]+1,r=q2(19+(e<<1)|0))&&(y2[(i=r+19&-16)-4>>2]=r),a=y2[A+156>>2];e:{if(1<=(0|(f=y2[A+148>>2]))){for(n=i,r=a;;)if(A2[n>>1]=e2[r>>1],n=n+2|0,r=r+2|0,!(f=f-1|0))break}else if(!a)break e;U2[A+160|0]&&(y2[6503]=y2[6503]+1,$2(y2[a-4>>2])),y2[A+156>>2]=0}y2[A+156>>2]=i,y2[A+152>>2]=e,X2[A+160|0]=1}}},e,W0,function(A,e,r,f){var i,a,n,b,t,o,c,k,u,l,s,v,B,d,_,g,Z,C,w,E,Q;A|=0,e|=0,r|=0,f|=0,j2(0),j2(0),j2(0),j2(0),j2(0),j2(0),j2(0),j2(0),j2(0),j2(0),j2(0),j2(0),j2(0),j2(0),j2(0),j2(0),j2(0),j2(0),j2(0),j2(0),j2(0),j2(0),L2=Q=L2-32|0,w=y2[A+40>>2],o=H2[w+44>>2],c=H2[w+48>>2],n=H2[w+28>>2],i=H2[w+32>>2],t=H2[w+40>>2],b=H2[w+24>>2],y2[28+Q>>2]=0,a=i,i=H2[A+32>>2],H2[24+Q>>2]=a*i,a=n,n=H2[A+28>>2],H2[20+Q>>2]=a*n,a=b,b=H2[A+24>>2],A=j2(a*b),H2[16+Q>>2]=A,y2[12+Q>>2]=0,H2[8+Q>>2]=c*i,H2[4+Q>>2]=o*n,o=H2[8+(i>=j2(0)?16+Q|0:Q)>>2],c=H2[8+(i<=j2(0)?16+Q|0:Q)>>2],k=H2[4+(n>=j2(0)?16+Q|0:Q)>>2],n=H2[4+(n<=j2(0)?16+Q|0:Q)>>2],t=j2(t*b),H2[Q>>2]=t,i=j2(N2[y2[y2[w>>2]+48>>2]](w)),w=H2[e+52>>2],l=H2[e+24>>2],s=H2[e+20>>2],a=H2[e+56>>2],v=H2[e+40>>2],B=H2[e+36>>2],E=H2[e+48>>2],d=H2[e+8>>2],_=H2[e+4>>2],g=H2[e>>2],Z=H2[e+16>>2],e=H2[e+32>>2],y2[r+12>>2]=0,u=a,a=b>=j2(0)?A:t,C=b<=j2(0)?A:t,b=j2(j2(a+C)*j2(.5)),A=j2(j2(k+n)*j2(.5)),t=j2(j2(o+c)*j2(.5)),u=j2(u+j2(j2(j2(e*b)+j2(B*A))+j2(v*t))),a=j2(i+j2(j2(C-a)*j2(.5))),n=j2(i+j2(j2(n-k)*j2(.5))),i=j2(i+j2(j2(c-o)*j2(.5))),o=j2(j2(j2(a*j2(z2(e)))+j2(n*j2(z2(B))))+j2(i*j2(z2(v)))),H2[r+8>>2]=u-o,c=j2(w+j2(j2(j2(b*Z)+j2(A*s))+j2(t*l))),k=j2(j2(j2(a*j2(z2(Z)))+j2(n*j2(z2(s))))+j2(i*j2(z2(l)))),H2[r+4>>2]=c-k,b=j2(E+j2(j2(j2(b*g)+j2(A*_))+j2(t*d))),i=j2(j2(j2(a*j2(z2(g)))+j2(n*j2(z2(_))))+j2(i*j2(z2(d)))),H2[r>>2]=b-i,y2[f+12>>2]=0,H2[f+8>>2]=o+u,H2[f+4>>2]=k+c,H2[f>>2]=i+b,L2=32+Q|0},Y4,m4,N4,function(A){return 18417},function(A){return 76},function(A,e,r){var f=y2[(A|=0)+40>>2];return N2[y2[y2[f>>2]+56>>2]](f,e|=0,r|=0),y2[e+60>>2]=y2[A+24>>2],y2[e+64>>2]=y2[A+28>>2],y2[e+68>>2]=y2[A+32>>2],y2[e+4>>2]=22,y2[e+72>>2]=y2[A+36>>2],18387},function(A,e,r,f){var i,a,n,b,t,o,c,k,u,l;A|=0,e|=0,r|=0,f|=0,j2(0),j2(0),j2(0),j2(0),j2(0),j2(0),j2(0),j2(0),j2(0),j2(0),j2(0),j2(0),L2=l=L2+-64|0,u=y2[4+(a=A+32|0)>>2],y2[(i=56+l|0)>>2]=y2[a>>2],y2[4+i>>2]=u,y2[44+l>>2]=e,y2[40+l>>2]=18336,e=y2[A+28>>2],y2[48+l>>2]=y2[A+24>>2],y2[52+l>>2]=e,i=H2[a>>2],u=H2[A+28>>2],e=H2[A+24>>2],y2[36+l>>2]=0,y2[20+l>>2]=0,a=j2(j2(1)/e),n=H2[r>>2],b=H2[f>>2],H2[24+l>>2]=a*(e>=j2(0)?n:b),t=j2(j2(1)/u),o=H2[r+4>>2],c=H2[f+4>>2],H2[28+l>>2]=t*(u>=j2(0)?o:c),k=j2(j2(1)/i),r=H2[r+8>>2],f=H2[f+8>>2],H2[32+l>>2]=k*(i>=j2(0)?r:f),H2[16+l>>2]=k*(i<=j2(0)?r:f),H2[12+l>>2]=t*(u<=j2(0)?o:c),H2[8+l>>2]=a*(e<=j2(0)?n:b),A=y2[A+40>>2],N2[y2[y2[A>>2]+64>>2]](A,40+l|0,24+l|0,8+l|0),L2=l+64|0},A,function(A,e,r,f){var i,a,n,b,t,o;A|=0,e|=0,r|=0,f|=0,j2(0),j2(0),j2(0),j2(0),j2(0),j2(0),y2[28+(L2=o=L2-48|0)>>2]=0,i=H2[A+16>>2],H2[24+o>>2]=i*H2[e+24>>2],a=H2[A+12>>2],H2[20+o>>2]=a*H2[e+20>>2],y2[12+o>>2]=0,n=H2[A+8>>2],H2[o>>2]=H2[e>>2]*n,H2[16+o>>2]=n*H2[e+16>>2],H2[8+o>>2]=i*H2[e+8>>2],H2[4+o>>2]=a*H2[e+4>>2],b=H2[e+36>>2],t=H2[e+40>>2],e=H2[e+32>>2],y2[44+o>>2]=0,H2[40+o>>2]=i*t,H2[36+o>>2]=a*b,H2[32+o>>2]=n*e,A=y2[A+4>>2],N2[y2[y2[A>>2]+8>>2]](A,o,r,f),L2=48+o|0},D1,e1,function(A,e){var r,f,i;A|=0,e|=0,j2(0),L2=i=L2-96|0,f=y2[e+4>>2],r=y2[A+100>>2],y2[r+4>>2]=y2[e>>2],y2[r+8>>2]=f,f=y2[(e=e+8|0)+4>>2],y2[(r=r+12|0)>>2]=y2[e>>2],y2[4+r>>2]=f,X2[A+96|0]=1,U2[26528]||(y2[6637]=0,y2[6638]=0,y2[6636]=1065353216,y2[6639]=0,y2[6640]=0,y2[6642]=0,y2[6643]=0,y2[6641]=1065353216,y2[6644]=0,y2[6645]=0,y2[6649]=0,y2[6650]=0,y2[6648]=-1082130432,y2[6646]=1065353216,y2[6647]=0,y2[6651]=0,y2[6652]=0,y2[6654]=0,y2[6655]=0,y2[6653]=-1082130432,y2[6656]=0,y2[6657]=0,y2[6658]=-1082130432,y2[6659]=0,X2[26528]=1),e=v2(i,0,96),N2[y2[y2[A>>2]+76>>2]](A,26544,e,6),r=H2[A+52>>2],H2[A+80>>2]=H2[e>>2]+r,H2[A+64>>2]=H2[e+48>>2]-r,H2[A+84>>2]=r+H2[e+20>>2],H2[A+68>>2]=H2[e+68>>2]-r,H2[A+88>>2]=r+H2[e+40>>2],H2[A+72>>2]=H2[e+88>>2]-r,L2=e+96|0},function(A){return y2[(A|=0)+100>>2]+4|0},function(A){return 18677},p0,function(A,e,r){A|=0,e|=0,r|=0;var f,i,a,n,b,t=j2(0),o=0,c=(j2(0),j2(0),j2(0),0),k=0,u=0;L2=b=L2-80|0,y2[A>>2]=0,y2[A+4>>2]=0,y2[(o=f=A+8|0)>>2]=0,y2[4+o>>2]=0,i=H2[r>>2],a=H2[r+4>>2],n=H2[r+8>>2],t=(t=j2(j2(j2(i*i)+j2(a*a))+j2(n*n)))>2]),y2[(r=o=52+b|0)>>2]=0,y2[r+4>>2]=0,H2[76+b>>2]=t,y2[72+b>>2]=k,y2[68+b>>2]=u,y2[44+b>>2]=0,y2[48+b>>2]=0,y2[40+b>>2]=18624,y2[64+b>>2]=c,y2[60+b>>2]=-581039253,y2[32+b>>2]=1566444395,y2[36+b>>2]=0,y2[24+b>>2]=1566444395,y2[28+b>>2]=1566444395,e=y2[e+100>>2],y2[16+b>>2]=-581039253,y2[20+b>>2]=0,y2[8+b>>2]=-581039253,y2[12+b>>2]=-581039253,N2[y2[y2[e>>2]+8>>2]](e,40+b|0,8+b|0,24+b|0),e=y2[r+4>>2],y2[f>>2]=y2[r>>2],y2[4+f>>2]=e,e=y2[48+b>>2],y2[A>>2]=y2[44+b>>2],y2[A+4>>2]=e,L2=80+b|0},function(A,e,r,f){A|=0,e|=0,r|=0;var i,a,n,b,t=0,o=0,c=0;if(L2=b=L2-80|0,1<=(0|(f|=0))){for(c=r+12|0,o=f;;)if(y2[c>>2]=-581039253,c=c+16|0,!(o=o-1|0))break;for(c=b+64|0,o=40+b|4;;)if(y2[o>>2]=0,y2[o+4>>2]=0,y2[(t=i=o+8|0)>>2]=0,y2[4+t>>2]=0,y2[40+b>>2]=18624,y2[60+b>>2]=-581039253,t=y2[e+4>>2],y2[c>>2]=y2[e>>2],y2[c+4>>2]=t,n=y2[4+(a=e+8|0)>>2],y2[(t=c+8|0)>>2]=y2[a>>2],y2[4+t>>2]=n,y2[32+b>>2]=1566444395,y2[36+b>>2]=0,y2[24+b>>2]=1566444395,y2[28+b>>2]=1566444395,t=y2[A+100>>2],y2[16+b>>2]=-581039253,y2[20+b>>2]=0,y2[8+b>>2]=-581039253,y2[12+b>>2]=-581039253,N2[y2[y2[t>>2]+8>>2]](t,40+b|0,8+b|0,24+b|0),a=y2[4+i>>2],y2[(t=r+8|0)>>2]=y2[i>>2],y2[4+t>>2]=a,i=y2[o+4>>2],y2[r>>2]=y2[o>>2],y2[r+4>>2]=i,e=e+16|0,r=r+16|0,!(f=f-1|0))break}L2=80+b|0},L0,L0,R4,q0,L0,R4,I4,A,function(A,e,r,f){A|=0,e|=0,r|=0,f|=0;var i,a,n,b=j2(0),t=j2(0),o=0,c=(j2(0),j2(0),j2(0),0);r=A+4|0,t=H2[A+20>>2],i=H2[A+24>>2],a=H2[A+28>>2],n=H2[A+32>>2],t<(b=j2(j2(j2(i*H2[e>>2])+j2(a*H2[e+4>>2]))+j2(n*H2[e+8>>2])))&&(H2[A+20>>2]=b,f=y2[e+4>>2],y2[r>>2]=y2[e>>2],y2[r+4>>2]=f,c=y2[(o=e+8|0)+4>>2],y2[(f=r+8|0)>>2]=y2[o>>2],y2[f+4>>2]=c,t=b),t<(b=j2(j2(j2(i*H2[e+16>>2])+j2(a*H2[e+20>>2]))+j2(n*H2[e+24>>2])))?(H2[A+20>>2]=b,o=y2[(f=e+16|0)+4>>2],y2[r>>2]=y2[f>>2],y2[r+4>>2]=o,c=y2[(f=f+8|0)+4>>2],y2[(o=r+8|0)>>2]=y2[f>>2],y2[o+4>>2]=c):b=t,b<(t=j2(j2(j2(i*H2[e+32>>2])+j2(a*H2[e+36>>2]))+j2(n*H2[e+40>>2])))&&(H2[A+20>>2]=t,e=y2[(A=e+32|0)+4>>2],y2[r>>2]=y2[A>>2],y2[r+4>>2]=e,e=r+8|0,r=y2[(A=A+8|0)+4>>2],y2[e>>2]=y2[A>>2],y2[e+4>>2]=r)},e,W0,E1,Y4,m4,N4,function(A){return 18808},R4,D1,function(A,e,r,f){e1(A|=0,e|=0,r|=0,f|=0)},function(A,e){var r,f,i,a;A|=0,e|=0,j2(0),j2(0),j2(0),L2=a=L2-96|0,X2[A+96|0]=1,r=H2[e>>2],f=H2[e+4>>2],i=H2[e+8>>2],y2[A+32>>2]=0,H2[A+28>>2]=z2(i),H2[A+24>>2]=z2(f),H2[A+20>>2]=z2(r),U2[26528]||(y2[6637]=0,y2[6638]=0,y2[6636]=1065353216,y2[6639]=0,y2[6640]=0,y2[6642]=0,y2[6643]=0,y2[6641]=1065353216,y2[6644]=0,y2[6645]=0,y2[6649]=0,y2[6650]=0,y2[6648]=-1082130432,y2[6646]=1065353216,y2[6647]=0,y2[6651]=0,y2[6652]=0,y2[6654]=0,y2[6655]=0,y2[6653]=-1082130432,y2[6656]=0,y2[6657]=0,y2[6658]=-1082130432,y2[6659]=0,X2[26528]=1),e=v2(a,0,96),N2[y2[y2[A>>2]+76>>2]](A,26544,e,6),r=H2[A+52>>2],H2[A+80>>2]=r+H2[e>>2],H2[A+64>>2]=H2[e+48>>2]-r,H2[A+84>>2]=r+H2[e+20>>2],H2[A+68>>2]=H2[e+68>>2]-r,H2[A+88>>2]=r+H2[e+40>>2],H2[A+72>>2]=H2[e+88>>2]-r,L2=e+96|0},function(A){return 18992},function(A){return y2[(A|=0)+100>>2]},function(A){return(A=y2[(A|=0)+100>>2]-2|0)>>>0<=2?y2[18980+(A<<2)>>2]:0},function(A,e,r,f){e|=0,r|=0,f|=0;var i=0,a=0;A:{e:{r:{f:{i=y2[(A|=0)+100>>2]-2|0;i:if(!(2>>0)){a:switch(i-1|0){case 0:if(2>>0)break i;n:switch(e-1|0){case 0:break r;case 1:break n;default:break f;}break e;case 1:break a;default:break f;}if(!(5>>0)){a:switch(e-1|0){case 2:e=y2[A+108>>2],y2[r>>2]=y2[A+104>>2],y2[r+4>>2]=e,e=r+8|0,i=y2[(r=A+112|0)+4>>2],y2[e>>2]=y2[r>>2],y2[e+4>>2]=i;break A;case 3:a=y2[(i=A+128|0)+4>>2],y2[(e=r+8|0)>>2]=y2[i>>2],y2[e+4>>2]=a,i=y2[(e=A+120|0)+4>>2],y2[r>>2]=y2[e>>2],y2[r+4>>2]=i;break A;case 1:break e;case 0:break r;case 4:break a;default:break f;}a=y2[(i=A+144|0)+4>>2],y2[(e=r+8|0)>>2]=y2[i>>2],y2[e+4>>2]=a,i=y2[(e=A+136|0)+4>>2],y2[r>>2]=y2[e>>2],y2[r+4>>2]=i,i=y2[(r=A+160|0)+4>>2],y2[(e=f+8|0)>>2]=y2[r>>2],y2[e+4>>2]=i,e=y2[(A=A+152|0)+4>>2],y2[f>>2]=y2[A>>2],y2[f+4>>2]=e}}return}return e=y2[A+108>>2],y2[r>>2]=y2[A+104>>2],y2[r+4>>2]=e,e=r+8|0,i=y2[(r=A+112|0)+4>>2],y2[e>>2]=y2[r>>2],y2[e+4>>2]=i,i=y2[(r=A+128|0)+4>>2],y2[(e=f+8|0)>>2]=y2[r>>2],y2[e+4>>2]=i,e=y2[(A=A+120|0)+4>>2],y2[f>>2]=y2[A>>2],void(y2[f+4>>2]=e)}return a=y2[(i=A+128|0)+4>>2],y2[(e=r+8|0)>>2]=y2[i>>2],y2[e+4>>2]=a,i=y2[(e=A+120|0)+4>>2],y2[r>>2]=y2[e>>2],y2[r+4>>2]=i,i=y2[(r=A+144|0)+4>>2],y2[(e=f+8|0)>>2]=y2[r>>2],y2[e+4>>2]=i,e=y2[(A=A+136|0)+4>>2],y2[f>>2]=y2[A>>2],void(y2[f+4>>2]=e)}return a=y2[(i=A+144|0)+4>>2],y2[(e=r+8|0)>>2]=y2[i>>2],y2[e+4>>2]=a,i=y2[(e=A+136|0)+4>>2],y2[r>>2]=y2[e>>2],y2[r+4>>2]=i,i=y2[(r=A+112|0)+4>>2],y2[(e=f+8|0)>>2]=y2[r>>2],y2[e+4>>2]=i,e=y2[A+108>>2],y2[f>>2]=y2[A+104>>2],void(y2[f+4>>2]=e)}i=y2[(r=A+160|0)+4>>2],y2[(e=f+8|0)>>2]=y2[r>>2],y2[e+4>>2]=i,e=y2[(A=A+152|0)+4>>2],y2[f>>2]=y2[A>>2],y2[f+4>>2]=e},function(A,e,r){var f,i=y2[(e=(A=((e|=0)<<4)+(A|=0)|0)+112|0)+4>>2];y2[(f=(r|=0)+8|0)>>2]=y2[e>>2],y2[4+f>>2]=i,e=y2[(A=A+104|0)+4>>2],y2[r>>2]=y2[A>>2],y2[r+4>>2]=e},function(A){return 0|(4==(0|(A=y2[(A|=0)+100>>2]))?4:(3==(0|A))<<1)},R4,I4,function(A,e){return 0},function(A){return y2[(A|=0)>>2]=19036,0|A},function(A){y2[(A|=0)>>2]=19036,A&&(y2[6503]=y2[6503]+1,$2(y2[A-4>>2]))},function(A,e,r,f){A|=0,e|=0,r|=0,f|=0,j2(0),j2(0),j2(0),j2(0),j2(0),j2(0),j2(0),j2(0),j2(0),j2(0),j2(0),j2(0),j2(0),j2(0),j2(0),j2(0),j2(0),j2(0),j2(0),j2(0),j2(0),j2(0),j2(0),j2(0);var i=H2[e+56>>2],a=H2[e+36>>2],n=H2[e+40>>2],b=H2[e+52>>2],t=H2[e+20>>2],o=H2[A+120>>2],c=H2[A+28>>2],k=H2[A+44>>2],u=H2[e+24>>2],l=H2[A+124>>2],s=H2[A+32>>2],v=H2[A+48>>2],B=H2[e+32>>2],d=H2[e+48>>2],_=H2[e>>2],g=H2[e+4>>2],Z=H2[e+8>>2],e=H2[e+16>>2],C=H2[A+116>>2],w=H2[A+24>>2],E=H2[A+40>>2],Q=j2(N2[y2[y2[A>>2]+48>>2]](A)),h=j2(N2[y2[y2[A>>2]+48>>2]](A)),A=j2(N2[y2[y2[A>>2]+48>>2]](A));y2[r+12>>2]=0,C=j2(j2(C*j2(E-w))*j2(.5)),o=j2(j2(o*j2(k-c))*j2(.5)),c=j2(j2(C*j2(z2(e)))+j2(o*j2(z2(t)))),t=j2(j2(l*j2(v-s))*j2(.5)),c=j2(h+j2(c+j2(t*j2(z2(u))))),H2[r+4>>2]=b-c,k=j2(Q+j2(j2(j2(C*j2(z2(_)))+j2(o*j2(z2(g))))+j2(t*j2(z2(Z))))),H2[r>>2]=d-k,C=j2(A+j2(j2(j2(C*j2(z2(B)))+j2(o*j2(z2(a))))+j2(t*j2(z2(n))))),H2[r+8>>2]=i-C,y2[f+12>>2]=0,H2[f+8>>2]=i+C,H2[f+4>>2]=b+c,H2[f>>2]=d+k},function(A,e){var r=y2[(e|=0)+4>>2];y2[(A|=0)+116>>2]=y2[e>>2],y2[A+120>>2]=r,r=y2[(e=e+8|0)+4>>2],y2[(A=A+124|0)>>2]=y2[e>>2],y2[A+4>>2]=r},function(A){return(A|=0)+116|0},c1,function(A){return 19120},function(A,e,r,f){A|=0,e|=0,r|=0,f|=0;var i,a,n,b,t,o=j2(0),c=0,k=j2(0),u=j2(0),l=0,s=(j2(0),j2(0),0),v=0,B=0,d=0,_=0,g=0,Z=0;L2=t=L2-48|0,k=H2[A+48>>2],u=H2[A+32>>2],i=j2(j2(1)/H2[A+124>>2]),a=H2[A- -64>>2],n=((o=k<(o=(o=j2(j2(i*H2[f+8>>2])+a))>2])+a))>2],u=H2[A+28>>2],i=j2(j2(1)/H2[A+120>>2]),a=H2[A+60>>2],n=((o=k<(o=(o=j2(j2(i*H2[f+4>>2])+a))>2])+a))>2],u=H2[A+24>>2],i=j2(j2(1)/H2[A+116>>2]),a=H2[A+56>>2],n=((o=k<(o=(o=j2(j2(i*H2[f>>2])+a))>2])+a))>2]-1|0,_=y2[A+72>>2]-1|0;A:if(2<(B=y2[A+112>>2])>>>0)l=g=0;else{Z=v+1|0,v=g-1|0,l=l+1|0,c=c-1|0,f=f+1|0,r=r-1|0;e:switch(B-1|0){default:d=(0|Z)<(0|d)?Z:d,_=(0|l)<(0|_)?l:_,g=0<(0|c)?c:0,l=0<(0|v)?v:0;break A;case 0:d=(0|Z)<(0|d)?Z:d,_=(0|f)<(0|_)?f:_,g=0<(0|r)?r:0,l=0<(0|v)?v:0;break A;case 1:break e;}d=(0|l)<(0|d)?l:d,_=(0|f)<(0|_)?f:_,g=0<(0|r)?r:0,l=0<(0|c)?c:0}if((0|l)<(0|d))for(;;){if(b=d,(0|_)<=(0|g))l=l+1|0;else{for(Z=1&l,i=j2(0|(v=l+1|0)),a=j2(0|l),r=g;;){A:{e:{if(!U2[A+108|0]&&(r+l&1||!U2[A+109|0])){if(Z)break e;if(!U2[A+110|0])break e}o=j2(N2[y2[y2[A>>2]+68>>2]](A,r,l)),s=c=t;r:{f:{i:{a:{n:{if((f=y2[A+112>>2])>>>0<=2)switch(f-1|0){case 1:break i;case 0:break a;default:break n;}k=H2[c+8>>2],u=H2[c+4>>2],o=H2[c>>2];break r}y2[c+12>>2]=0,o=j2(o-H2[A+56>>2]),H2[c>>2]=o,k=j2(a-j2(H2[A+92>>2]*j2(.5))),H2[c+8>>2]=k,u=j2(j2(0|r)-j2(H2[A+88>>2]*j2(.5))),H2[c+4>>2]=u;break r}y2[c+12>>2]=0,u=j2(o-H2[A+60>>2]),H2[c+4>>2]=u,k=j2(a-j2(H2[A+92>>2]*j2(.5))),H2[c+8>>2]=k,o=j2(j2(0|r)-j2(H2[A+88>>2]*j2(.5)));break f}y2[c+12>>2]=0,k=j2(o-H2[A+64>>2]),H2[c+8>>2]=k,u=j2(a-j2(H2[A+92>>2]*j2(.5))),H2[c+4>>2]=u,o=j2(j2(0|r)-j2(H2[A+88>>2]*j2(.5)))}H2[s>>2]=o}H2[c>>2]=o*H2[A+116>>2],H2[c+4>>2]=u*H2[A+120>>2],H2[c+8>>2]=k*H2[A+124>>2],o=j2(N2[y2[y2[A>>2]+68>>2]](A,r,v)),s=c;r:{f:{i:{a:{n:{if((f=y2[A+112>>2])>>>0<=2)switch(f-1|0){case 1:break i;case 0:break a;default:break n;}k=H2[c+24>>2],u=H2[c+20>>2],o=H2[c+16>>2];break r}y2[c+28>>2]=0,o=j2(o-H2[A+56>>2]),H2[c+16>>2]=o,k=j2(i-j2(H2[A+92>>2]*j2(.5))),H2[c+24>>2]=k,u=j2(j2(0|r)-j2(H2[A+88>>2]*j2(.5))),H2[c+20>>2]=u;break r}y2[c+28>>2]=0,u=j2(o-H2[A+60>>2]),H2[c+20>>2]=u,k=j2(i-j2(H2[A+92>>2]*j2(.5))),H2[c+24>>2]=k,o=j2(j2(0|r)-j2(H2[A+88>>2]*j2(.5)));break f}y2[c+28>>2]=0,k=j2(o-H2[A+64>>2]),H2[c+24>>2]=k,u=j2(i-j2(H2[A+92>>2]*j2(.5))),H2[c+20>>2]=u,o=j2(j2(0|r)-j2(H2[A+88>>2]*j2(.5)))}H2[s+16>>2]=o}H2[c+16>>2]=o*H2[A+116>>2],H2[c+20>>2]=u*H2[A+120>>2],H2[c+24>>2]=k*H2[A+124>>2],o=j2(N2[y2[y2[A>>2]+68>>2]](A,f=r+1|0,v)),s=c;r:{f:{i:{a:{n:{if((B=y2[A+112>>2])>>>0<=2)switch(B-1|0){case 1:break i;case 0:break a;default:break n;}k=H2[c+40>>2],u=H2[c+36>>2],o=H2[c+32>>2];break r}y2[c+44>>2]=0,o=j2(o-H2[A+56>>2]),H2[c+32>>2]=o,k=j2(i-j2(H2[A+92>>2]*j2(.5))),H2[c+40>>2]=k,u=j2(j2(0|f)-j2(H2[A+88>>2]*j2(.5))),H2[c+36>>2]=u;break r}y2[c+44>>2]=0,u=j2(o-H2[A+60>>2]),H2[c+36>>2]=u,k=j2(i-j2(H2[A+92>>2]*j2(.5))),H2[c+40>>2]=k,o=j2(j2(0|f)-j2(H2[A+88>>2]*j2(.5)));break f}y2[c+44>>2]=0,k=j2(o-H2[A+64>>2]),H2[c+40>>2]=k,u=j2(i-j2(H2[A+92>>2]*j2(.5))),H2[c+36>>2]=u,o=j2(j2(0|f)-j2(H2[A+88>>2]*j2(.5)))}H2[s+32>>2]=o}H2[c+32>>2]=o*H2[A+116>>2],H2[c+36>>2]=u*H2[A+120>>2],H2[c+40>>2]=k*H2[A+124>>2],N2[y2[y2[e>>2]+8>>2]](e,c,r,l),o=j2(N2[y2[y2[A>>2]+68>>2]](A,f,v)),s=c;r:{f:{i:{a:{n:{if((B=y2[A+112>>2])>>>0<=2)switch(B-1|0){case 1:break i;case 0:break a;default:break n;}k=H2[c+24>>2],u=H2[c+20>>2],o=H2[c+16>>2];break r}y2[c+28>>2]=0,o=j2(o-H2[A+56>>2]),H2[c+16>>2]=o,k=j2(i-j2(H2[A+92>>2]*j2(.5))),H2[c+24>>2]=k,u=j2(j2(0|f)-j2(H2[A+88>>2]*j2(.5))),H2[c+20>>2]=u;break r}y2[c+28>>2]=0,u=j2(o-H2[A+60>>2]),H2[c+20>>2]=u,k=j2(i-j2(H2[A+92>>2]*j2(.5))),H2[c+24>>2]=k,o=j2(j2(0|f)-j2(H2[A+88>>2]*j2(.5)));break f}y2[c+28>>2]=0,k=j2(o-H2[A+64>>2]),H2[c+24>>2]=k,u=j2(i-j2(H2[A+92>>2]*j2(.5))),H2[c+20>>2]=u,o=j2(j2(0|f)-j2(H2[A+88>>2]*j2(.5)))}H2[s+16>>2]=o}H2[c+16>>2]=o*H2[A+116>>2],H2[c+20>>2]=u*H2[A+120>>2],H2[c+24>>2]=k*H2[A+124>>2],o=j2(N2[y2[y2[A>>2]+68>>2]](A,f,l)),s=t;r:{f:{i:{a:{n:{if((c=y2[A+112>>2])>>>0<=2)switch(c-1|0){case 1:break i;case 0:break a;default:break n;}k=H2[40+t>>2],u=H2[36+t>>2],o=H2[32+t>>2];break r}y2[44+t>>2]=0,o=j2(o-H2[A+56>>2]),H2[32+t>>2]=o,k=j2(a-j2(H2[A+92>>2]*j2(.5))),H2[40+t>>2]=k,u=j2(j2(0|f)-j2(H2[A+88>>2]*j2(.5))),H2[36+t>>2]=u;break r}y2[44+t>>2]=0,u=j2(o-H2[A+60>>2]),H2[36+t>>2]=u,k=j2(a-j2(H2[A+92>>2]*j2(.5))),H2[40+t>>2]=k,o=j2(j2(0|f)-j2(H2[A+88>>2]*j2(.5)));break f}y2[44+t>>2]=0,k=j2(o-H2[A+64>>2]),H2[40+t>>2]=k,u=j2(a-j2(H2[A+92>>2]*j2(.5))),H2[36+t>>2]=u,o=j2(j2(0|f)-j2(H2[A+88>>2]*j2(.5)))}H2[s+32>>2]=o}break A}o=j2(N2[y2[y2[A>>2]+68>>2]](A,r,l)),s=c=t;e:{r:{f:{i:{a:{if((f=y2[A+112>>2])>>>0<=2)switch(f-1|0){case 1:break f;case 0:break i;default:break a;}k=H2[c+8>>2],u=H2[c+4>>2],o=H2[c>>2];break e}y2[c+12>>2]=0,o=j2(o-H2[A+56>>2]),H2[c>>2]=o,k=j2(a-j2(H2[A+92>>2]*j2(.5))),H2[c+8>>2]=k,u=j2(j2(0|r)-j2(H2[A+88>>2]*j2(.5))),H2[c+4>>2]=u;break e}y2[c+12>>2]=0,u=j2(o-H2[A+60>>2]),H2[c+4>>2]=u,k=j2(a-j2(H2[A+92>>2]*j2(.5))),H2[c+8>>2]=k,o=j2(j2(0|r)-j2(H2[A+88>>2]*j2(.5)));break r}y2[c+12>>2]=0,k=j2(o-H2[A+64>>2]),H2[c+8>>2]=k,u=j2(a-j2(H2[A+92>>2]*j2(.5))),H2[c+4>>2]=u,o=j2(j2(0|r)-j2(H2[A+88>>2]*j2(.5)))}H2[s>>2]=o}H2[c>>2]=o*H2[A+116>>2],H2[c+4>>2]=u*H2[A+120>>2],H2[c+8>>2]=k*H2[A+124>>2],o=j2(N2[y2[y2[A>>2]+68>>2]](A,r,v)),s=c;e:{r:{f:{i:{a:{if((f=y2[A+112>>2])>>>0<=2)switch(f-1|0){case 1:break f;case 0:break i;default:break a;}k=H2[c+24>>2],u=H2[c+20>>2],o=H2[c+16>>2];break e}y2[c+28>>2]=0,o=j2(o-H2[A+56>>2]),H2[c+16>>2]=o,k=j2(i-j2(H2[A+92>>2]*j2(.5))),H2[c+24>>2]=k,u=j2(j2(0|r)-j2(H2[A+88>>2]*j2(.5))),H2[c+20>>2]=u;break e}y2[c+28>>2]=0,u=j2(o-H2[A+60>>2]),H2[c+20>>2]=u,k=j2(i-j2(H2[A+92>>2]*j2(.5))),H2[c+24>>2]=k,o=j2(j2(0|r)-j2(H2[A+88>>2]*j2(.5)));break r}y2[c+28>>2]=0,k=j2(o-H2[A+64>>2]),H2[c+24>>2]=k,u=j2(i-j2(H2[A+92>>2]*j2(.5))),H2[c+20>>2]=u,o=j2(j2(0|r)-j2(H2[A+88>>2]*j2(.5)))}H2[s+16>>2]=o}H2[c+16>>2]=o*H2[A+116>>2],H2[c+20>>2]=u*H2[A+120>>2],H2[c+24>>2]=k*H2[A+124>>2],o=j2(N2[y2[y2[A>>2]+68>>2]](A,f=r+1|0,l)),s=c;e:{r:{f:{i:{a:{if((B=y2[A+112>>2])>>>0<=2)switch(B-1|0){case 1:break f;case 0:break i;default:break a;}k=H2[c+40>>2],u=H2[c+36>>2],o=H2[c+32>>2];break e}y2[c+44>>2]=0,o=j2(o-H2[A+56>>2]),H2[c+32>>2]=o,k=j2(a-j2(H2[A+92>>2]*j2(.5))),H2[c+40>>2]=k,u=j2(j2(0|f)-j2(H2[A+88>>2]*j2(.5))),H2[c+36>>2]=u;break e}y2[c+44>>2]=0,u=j2(o-H2[A+60>>2]),H2[c+36>>2]=u,k=j2(a-j2(H2[A+92>>2]*j2(.5))),H2[c+40>>2]=k,o=j2(j2(0|f)-j2(H2[A+88>>2]*j2(.5)));break r}y2[c+44>>2]=0,k=j2(o-H2[A+64>>2]),H2[c+40>>2]=k,u=j2(a-j2(H2[A+92>>2]*j2(.5))),H2[c+36>>2]=u,o=j2(j2(0|f)-j2(H2[A+88>>2]*j2(.5)))}H2[s+32>>2]=o}H2[c+32>>2]=o*H2[A+116>>2],H2[c+36>>2]=u*H2[A+120>>2],H2[c+40>>2]=k*H2[A+124>>2],N2[y2[y2[e>>2]+8>>2]](e,c,r,l),o=j2(N2[y2[y2[A>>2]+68>>2]](A,f,l)),s=c;e:{r:{f:{i:{a:{if((B=y2[A+112>>2])>>>0<=2)switch(B-1|0){case 1:break f;case 0:break i;default:break a;}k=H2[c+8>>2],u=H2[c+4>>2],o=H2[c>>2];break e}y2[c+12>>2]=0,o=j2(o-H2[A+56>>2]),H2[c>>2]=o,k=j2(a-j2(H2[A+92>>2]*j2(.5))),H2[c+8>>2]=k,u=j2(j2(0|f)-j2(H2[A+88>>2]*j2(.5))),H2[c+4>>2]=u;break e}y2[c+12>>2]=0,u=j2(o-H2[A+60>>2]),H2[c+4>>2]=u,k=j2(a-j2(H2[A+92>>2]*j2(.5))),H2[c+8>>2]=k,o=j2(j2(0|f)-j2(H2[A+88>>2]*j2(.5)));break r}y2[c+12>>2]=0,k=j2(o-H2[A+64>>2]),H2[c+8>>2]=k,u=j2(a-j2(H2[A+92>>2]*j2(.5))),H2[c+4>>2]=u,o=j2(j2(0|f)-j2(H2[A+88>>2]*j2(.5)))}H2[s>>2]=o}H2[c>>2]=o*H2[A+116>>2],H2[c+4>>2]=u*H2[A+120>>2],H2[c+8>>2]=k*H2[A+124>>2],o=j2(N2[y2[y2[A>>2]+68>>2]](A,f,v)),s=t;e:{r:{f:{i:{a:{if((c=y2[A+112>>2])>>>0<=2)switch(c-1|0){case 1:break f;case 0:break i;default:break a;}k=H2[40+t>>2],u=H2[36+t>>2],o=H2[32+t>>2];break e}y2[44+t>>2]=0,o=j2(o-H2[A+56>>2]),H2[32+t>>2]=o,k=j2(i-j2(H2[A+92>>2]*j2(.5))),H2[40+t>>2]=k,u=j2(j2(0|f)-j2(H2[A+88>>2]*j2(.5))),H2[36+t>>2]=u;break e}y2[44+t>>2]=0,u=j2(o-H2[A+60>>2]),H2[36+t>>2]=u,k=j2(i-j2(H2[A+92>>2]*j2(.5))),H2[40+t>>2]=k,o=j2(j2(0|f)-j2(H2[A+88>>2]*j2(.5)));break r}y2[44+t>>2]=0,k=j2(o-H2[A+64>>2]),H2[40+t>>2]=k,u=j2(i-j2(H2[A+92>>2]*j2(.5))),H2[36+t>>2]=u,o=j2(j2(0|f)-j2(H2[A+88>>2]*j2(.5)))}H2[s+32>>2]=o}}if(H2[32+t>>2]=o*H2[A+116>>2],H2[36+t>>2]=u*H2[A+120>>2],H2[40+t>>2]=k*H2[A+124>>2],N2[y2[y2[e>>2]+8>>2]](e,t,r,l),(0|_)==(0|(r=f)))break}l=v}if((0|b)==(0|l))break}L2=48+t|0},function(A,e,r){A|=0,e|=0,r|=0;var f=j2(0),i=y2[A+104>>2];A:if(!(5>>0)){e:switch(i-1|0){default:return j2(H2[y2[A+100>>2]+(P2(y2[A+72>>2],r)+e<<2)>>2]);case 4:return j2(j2(H2[A+96>>2]*j2(U2[y2[A+100>>2]+(P2(y2[A+72>>2],r)+e|0)|0])));case 0:case 1:case 3:break A;case 2:break e;}f=j2(H2[A+96>>2]*j2(A2[y2[A+100>>2]+(P2(y2[A+72>>2],r)+e<<1)>>1]))}return j2(f)},function(A){w4(A|=0),A&&(y2[6503]=y2[6503]+1,$2(y2[A-4>>2]))},e,A,function(A,e,r,f){var i;return A|=0,r|=0,f|=0,r=y2[(e|=0)>>2],r=0|N2[y2[y2[r>>2]+56>>2]](r,72),X2[r+60|0]=0,X2[r+52|0]=0,y2[r+36>>2]=0,y2[r+40>>2]=0,f=y2[A+12>>2],i=y2[A+16>>2],y2[r+4>>2]=y2[e>>2],X2[r+28|0]=1,y2[r+8>>2]=y2[A+8>>2],y2[r>>2]=19404,y2[r+24>>2]=0,X2[r+48|0]=1,y2[r+16>>2]=0,y2[r+20>>2]=0,y2[r+44>>2]=0,y2[r+64>>2]=f,y2[r+68>>2]=i,y2[r+56>>2]=y2[e+4>>2],0|r},function(A){var e,r=0;return y2[(A|=0)>>2]=19404,U2[A+52|0]&&(r=y2[A+56>>2])&&(e=y2[A+4>>2],N2[y2[y2[e>>2]+16>>2]](e,r)),(r=y2[A+44>>2])&&(U2[A+48|0]&&(y2[6503]=y2[6503]+1,$2(y2[r-4>>2])),y2[A+44>>2]=0),y2[A+44>>2]=0,y2[A+36>>2]=0,y2[A+40>>2]=0,X2[A+48|0]=1,(r=y2[A+24>>2])&&(U2[A+28|0]&&(y2[6503]=y2[6503]+1,$2(y2[r-4>>2])),y2[A+24>>2]=0),y2[A+24>>2]=0,y2[A+16>>2]=0,y2[A+20>>2]=0,X2[A+28|0]=1,0|A},function(A){var e,r=0;y2[(A|=0)>>2]=19404,U2[A+52|0]&&(r=y2[A+56>>2])&&(e=y2[A+4>>2],N2[y2[y2[e>>2]+16>>2]](e,r)),(r=y2[A+44>>2])&&(U2[A+48|0]&&(y2[6503]=y2[6503]+1,$2(y2[r-4>>2])),y2[A+44>>2]=0),y2[A+44>>2]=0,y2[A+36>>2]=0,y2[A+40>>2]=0,X2[A+48|0]=1,(r=y2[A+24>>2])&&U2[A+28|0]&&(y2[6503]=y2[6503]+1,$2(y2[r-4>>2])),b(A)},function(A,e,r,f,i){A|=0,e|=0,r|=0,f|=0,i|=0;var V,x,p,S,J,M,X,y,U,H,P,j,z,O,K,L,q,$,A2,e2,r2,f2,i2,a2,n2,b2,t2,a,n=0,b=j2(0),t=0,o=0,c=j2(0),k=0,u=j2(0),l=j2(0),s=j2(0),v=0,B=j2(0),d=j2(0),_=j2(0),g=0,Z=0,C=0,w=0,E=j2(0),Q=j2(0),h=0,G=0,F=j2(0),D=j2(0),Y=j2(0),m=0,N=0,R=j2(0),I=j2(0),W=j2(0),T=0,o2=j2(0),c2=j2(0),k2=j2(0),u2=j2(0),l2=j2(0),s2=j2(0),v2=j2(0),B2=j2(0),d2=j2(0),_2=j2(0),g2=j2(0),Z2=j2(0),C2=j2(0),w2=j2(0),E2=j2(0),Q2=j2(0),h2=j2(0),G2=j2(0),F2=j2(0),D2=j2(0),Y2=(j2(0),j2(0),j2(0),j2(0),j2(0),j2(0),j2(0));j2(0),L2=a=L2-976|0,(t=y2[A+56>>2])||(t=y2[A+4>>2],t=0|N2[y2[y2[t>>2]+12>>2]](t,y2[e+8>>2],y2[r+8>>2]),X2[A+52|0]=1,y2[A+56>>2]=t),y2[i+4>>2]=t,C=y2[r+4>>2];A:{e:if(h=y2[e+4>>2],!(2<(n=y2[h+4>>2]-8|0)>>>0)){r:switch(n-1|0){case 1:if(2<(n=y2[C+4>>2]-8|0)>>>0)break e;f:switch(n-1|0){case 1:if(n=y2[h+60>>2],l=H2[(A=h+36|0)+(n<<2)>>2],s=H2[A+((n+2|0)%3<<2)>>2],f=y2[C+60>>2],b=H2[t+848>>2],(c=p4(400+a|0,8+a|0,l,s,H2[(A=C+36|0)+(f<<2)>>2],H2[A+((f+2|0)%3<<2)>>2],n,f,y2[e+12>>2],y2[r+12>>2],b))>2]+16>>2]](i,400+a|0,8+a|0,c),r=y2[i+4>>2],!y2[r+844>>2])break A;if((0|(e=y2[r+836>>2]))!=(0|(A=y2[y2[i+8>>2]+8>>2]))){W2(r,y2[y2[i+12>>2]+8>>2]+4|0,A+4|0);break A}W2(r,e+4|0,y2[y2[i+12>>2]+8>>2]+4|0);break A;case 0:break e;default:break f;}if(f=y2[h+60>>2],b=H2[t+848>>2],(c=p4(400+a|0,8+a|0,H2[(A=h+36|0)+(f<<2)>>2],H2[A+((f+2|0)%3<<2)>>2],j2(0),j2(H2[C+36>>2]*H2[C+20>>2]),f,1,y2[e+12>>2],y2[r+12>>2],b))>2]+16>>2]](i,400+a|0,8+a|0,c),r=y2[i+4>>2],!y2[r+844>>2])break A;if((0|(e=y2[r+836>>2]))!=(0|(A=y2[y2[i+8>>2]+8>>2]))){W2(r,y2[y2[i+12>>2]+8>>2]+4|0,A+4|0);break A}W2(r,e+4|0,y2[y2[i+12>>2]+8>>2]+4|0);break A;case 0:break e;default:break r;}if(10==y2[C+4>>2]){if(A=C+36|0,f=y2[C+60>>2],b=H2[t+848>>2],(c=p4(400+a|0,8+a|0,j2(0),j2(H2[h+36>>2]*H2[h+20>>2]),H2[A+(f<<2)>>2],H2[A+((f+2|0)%3<<2)>>2],1,f,y2[e+12>>2],y2[r+12>>2],b))>2]+16>>2]](i,400+a|0,8+a|0,c),r=y2[i+4>>2],!y2[r+844>>2])break A;if((0|(e=y2[r+836>>2]))!=(0|(A=y2[y2[i+8>>2]+8>>2]))){W2(r,y2[y2[i+12>>2]+8>>2]+4|0,A+4|0);break A}W2(r,e+4|0,y2[y2[i+12>>2]+8>>2]+4|0);break A}}y2[888+a>>2]=1566444395,X2[732+a|0]=0,y2[708+a>>2]=953267991,y2[(t=332+a|0)>>2]=0,y2[t+4>>2]=0,y2[320+a>>2]=11364,y2[352+a>>2]=C,y2[348+a>>2]=h,y2[324+a>>2]=0,y2[328+a>>2]=1065353216,y2[340+a>>2]=y2[A+8>>2],y2[356+a>>2]=y2[h+4>>2],y2[360+a>>2]=y2[C+4>>2],y2[344+a>>2]=400+a,b2=a,t2=j2(N2[y2[y2[h>>2]+48>>2]](h)),H2[364+b2>>2]=t2,b=j2(N2[y2[y2[C>>2]+48>>2]](C)),y2[392+a>>2]=1,y2[396+a>>2]=1,y2[380+a>>2]=-1,X2[372+a|0]=0,H2[368+a>>2]=b,y2[352+a>>2]=C,y2[348+a>>2]=h,b=j2(j2(j2(j2(N2[y2[y2[h>>2]+48>>2]](h))+j2(N2[y2[y2[C>>2]+48>>2]](C)))+H2[y2[A+56>>2]+848>>2])+H2[i+32>>2]),H2[888+a>>2]=b*b,T=y2[e+12>>2],v=y2[(t=T+8|0)>>2],k=y2[t+4>>2],g=y2[T>>2],Z=y2[T+4>>2],t=y2[(n=T+24|0)+4>>2],y2[(o=784+a|0)>>2]=y2[n>>2],y2[o+4>>2]=t,y2[(t=768+a|0)>>2]=v,y2[t+4>>2]=k,w=y2[T+16>>2],G=y2[T+20>>2],t=y2[(n=T+40|0)+4>>2],y2[(o=800+a|0)>>2]=y2[n>>2],y2[o+4>>2]=t,v=y2[T+32>>2],k=y2[T+36>>2],t=y2[(n=T+56|0)+4>>2],y2[(o=816+a|0)>>2]=y2[n>>2],y2[o+4>>2]=t,y2[776+a>>2]=w,y2[780+a>>2]=G,y2[760+a>>2]=g,y2[764+a>>2]=Z,y2[792+a>>2]=v,y2[796+a>>2]=k,t=y2[T+52>>2],y2[808+a>>2]=y2[T+48>>2],y2[812+a>>2]=t,t=y2[r+12>>2],n=y2[(o=t+8|0)+4>>2],y2[(k=832+a|0)>>2]=y2[o>>2],y2[k+4>>2]=n,n=y2[t+4>>2],y2[824+a>>2]=y2[t>>2],y2[828+a>>2]=n,n=y2[t+20>>2],y2[(o=x=840+a|0)>>2]=y2[t+16>>2],y2[o+4>>2]=n,n=y2[(o=t+24|0)+4>>2],y2[(k=848+a|0)>>2]=y2[o>>2],y2[k+4>>2]=n,n=y2[t+36>>2],y2[(o=p=856+a|0)>>2]=y2[t+32>>2],y2[o+4>>2]=n,n=y2[(o=t+40|0)+4>>2],y2[(k=864+a|0)>>2]=y2[o>>2],y2[k+4>>2]=n,n=y2[t+52>>2],y2[(o=S=872+a|0)>>2]=y2[t+48>>2],y2[o+4>>2]=n,t=y2[(n=t+56|0)+4>>2],y2[(o=880+a|0)>>2]=y2[n>>2],y2[o+4>>2]=t;e:{r:{f:{if(!(6<(0|(n=y2[h+4>>2])))&&!(6<(0|(t=y2[C+4>>2])))&&(y2[312+a>>2]=19444,b=j2(0),n&&(u=j2(N2[y2[y2[h>>2]+48>>2]](h)),t=y2[C+4>>2]),t&&(b=j2(N2[y2[y2[C>>2]+48>>2]](C))),X2[44+a|0]=0,H2[36+a>>2]=b,H2[32+a>>2]=u,y2[12+a>>2]=i,y2[8+a>>2]=19472,G=y2[h+60>>2])){if(v=y2[C+60>>2]){if(Y2=H2[y2[A+56>>2]+848>>2],U2[f+24|0]){if(y2[6684]=y2[6684]+1,o2=H2[G+64>>2],g=y2[e+12>>2],b=H2[g+32>>2],B=H2[G+68>>2],u=H2[g+36>>2],s=H2[G+72>>2],R=H2[g+40>>2],c2=H2[v+64>>2],Z=y2[r+12>>2],l=H2[v+68>>2],F=H2[v+72>>2],h2=j2(j2(j2(j2(j2(o2*b)+j2(B*u))+j2(s*R))+H2[g+56>>2])-j2(j2(j2(j2(c2*H2[Z+32>>2])+j2(l*H2[Z+36>>2]))+j2(F*H2[Z+40>>2]))+H2[Z+56>>2])),D2=H2[g+16>>2],I=H2[g+20>>2],W=H2[g+24>>2],G2=j2(j2(j2(j2(j2(o2*D2)+j2(B*I))+j2(s*W))+H2[g+52>>2])-j2(j2(j2(j2(c2*H2[Z+16>>2])+j2(l*H2[Z+20>>2]))+j2(F*H2[Z+24>>2]))+H2[Z+52>>2])),u2=B,B=H2[g+4>>2],s2=s,s=H2[g+8>>2],F2=j2(j2(j2(j2(j2(o2*H2[g>>2])+j2(u2*B))+j2(s2*s))+H2[g+48>>2])-j2(j2(j2(j2(c2*H2[Z>>2])+j2(l*H2[Z+4>>2]))+j2(F*H2[Z+8>>2]))+H2[Z+48>>2])),(0|(f=y2[G+28>>2]))<1){l=j2(34028234663852886e22);break f}for(t=f-1|0,l=j2(34028234663852886e22),w=28;;){if(f=y2[G+36>>2]+w|0,u2=H2[f>>2],o2=H2[f-8>>2],c2=H2[f-4>>2],y2[908+a>>2]=0,b=j2(j2(j2(o2*b)+j2(c2*u))+j2(u2*R)),H2[904+a>>2]=b,u=j2(j2(j2(o2*D2)+j2(c2*I))+j2(u2*W)),H2[900+a>>2]=u,s=j2(j2(j2(o2*H2[g>>2])+j2(c2*B))+j2(u2*s)),H2[896+a>>2]=s,j2(j2(j2(s*F2)+j2(u*G2))+j2(b*h2))>2]=b,u=j2(-u),H2[900+a>>2]=u,s=j2(-s),H2[896+a>>2]=s),y2[6685]=y2[6685]+1,V4(g,Z,F2,G2,h2,s,u,b,G,v,l)){if(m=0,y2[6686]=y2[6686]+1,X0(G,g,896+a|0,972+a|0,968+a|0,248+a|0,944+a|0),X0(v,Z,896+a|0,964+a|0,960+a|0,928+a|0,912+a|0),(I=H2[968+a>>2])<(B=H2[964+a>>2])||(R=H2[960+a>>2])<(W=H2[972+a>>2])||(F=(B=j2(I-B))<(F=j2(R-W))?B:F,m=1),!m)break e;F>2],R=H2[g+40>>2],u=H2[g+36>>2],b=H2[g+32>>2],W=H2[g+24>>2],I=H2[g+20>>2],D2=H2[g+16>>2],s=H2[g+8>>2]}}if(b1(320+a|0,760+a|0,8+a|0,y2[f+20>>2],0),!((u=H2[40+a>>2])>2],d=H2[24+a>>2],_=H2[20+a>>2],c=H2[16+a>>2];break r}if(1==y2[C+4>>2]){if(y2[252+a>>2]=0,t=y2[r+12>>2],D=H2[t+52>>2],E=H2[t+20>>2],R=H2[t+24>>2],F=H2[t+56>>2],Y=H2[C- -64>>2],k2=H2[C+68>>2],Q=H2[t+36>>2],B=H2[C+72>>2],u=H2[t+40>>2],s=H2[t+48>>2],l=H2[t+8>>2],d=H2[t>>2],_=H2[t+4>>2],c=H2[t+16>>2],b=H2[t+32>>2],y2[6502]=y2[6502]+1,t=0,(n=q2(35))&&(y2[(t=n+19&-16)-4>>2]=n),y2[256+a>>2]=1,y2[260+a>>2]=t,X2[264+a|0]=1,H2[t+4>>2]=D+j2(j2(j2(Y*c)+j2(k2*E))+j2(B*R)),H2[t>>2]=s+j2(j2(j2(Y*d)+j2(k2*_))+j2(B*l)),y2[t+12>>2]=0,H2[t+8>>2]=F+j2(j2(j2(Y*b)+j2(k2*Q))+j2(B*u)),n=y2[252+a>>2],y2[252+a>>2]=o=n+1|0,l=H2[C+80>>2],t=y2[r+12>>2],d=H2[C+84>>2],b=H2[C+88>>2],_=j2(j2(j2(j2(l*H2[t>>2])+j2(d*H2[t+4>>2]))+j2(b*H2[t+8>>2]))+H2[t+48>>2]),c=j2(j2(j2(j2(l*H2[t+32>>2])+j2(d*H2[t+36>>2]))+j2(b*H2[t+40>>2]))+H2[t+56>>2]),b=j2(j2(j2(j2(l*H2[t+16>>2])+j2(d*H2[t+20>>2]))+j2(b*H2[t+24>>2]))+H2[t+52>>2]),y2[256+a>>2]==(0|o)&&!((0|(w=o?o<<1:1))<=(0|o))){if(w&&(y2[6502]=y2[6502]+1,t=q2(16+(w<<4|3)|0))&&(y2[(m=t+19&-16)-4>>2]=t),0<=(0|n))for(o=n+1|0,t=0;;)if(G=y2[260+a>>2]+t|0,n=y2[G+4>>2],y2[(k=v=t+m|0)>>2]=y2[G>>2],y2[k+4>>2]=n,n=y2[(k=G+8|0)+4>>2],y2[(v=v+8|0)>>2]=y2[k>>2],y2[v+4>>2]=n,t=t+16|0,!(o=o-1|0))break;(t=y2[260+a>>2])&&(U2[264+a|0]&&(y2[6503]=y2[6503]+1,$2(y2[t-4>>2])),y2[260+a>>2]=0),y2[260+a>>2]=m,X2[264+a|0]=1,y2[256+a>>2]=w,o=y2[252+a>>2]}if(t=y2[260+a>>2]+(o<<4)|0,y2[t+12>>2]=0,H2[t+8>>2]=c,H2[t+4>>2]=b,H2[t>>2]=_,t=y2[252+a>>2],y2[252+a>>2]=o=t+1|0,l=H2[C+96>>2],r=y2[r+12>>2],d=H2[C+100>>2],b=H2[C+104>>2],_=j2(j2(j2(j2(l*H2[r>>2])+j2(d*H2[r+4>>2]))+j2(b*H2[r+8>>2]))+H2[r+48>>2]),c=j2(j2(j2(j2(l*H2[r+32>>2])+j2(d*H2[r+36>>2]))+j2(b*H2[r+40>>2]))+H2[r+56>>2]),b=j2(j2(j2(j2(l*H2[r+16>>2])+j2(d*H2[r+20>>2]))+j2(b*H2[r+24>>2]))+H2[r+52>>2]),y2[256+a>>2]==(0|o)&&!((0|(w=o?o<<1:1))<=(0|o))){if(n=0,w&&(y2[6502]=y2[6502]+1,r=q2(16+(w<<4|3)|0))&&(y2[(n=r+19&-16)-4>>2]=r),0<=(0|t))for(o=t+1|0,t=0;;)if(G=y2[260+a>>2]+t|0,r=y2[G+4>>2],y2[(k=v=n+t|0)>>2]=y2[G>>2],y2[k+4>>2]=r,r=y2[(k=G+8|0)+4>>2],y2[(v=v+8|0)>>2]=y2[k>>2],y2[v+4>>2]=r,t=t+16|0,!(o=o-1|0))break;(r=y2[260+a>>2])&&(U2[264+a|0]&&(y2[6503]=y2[6503]+1,$2(y2[r-4>>2])),y2[260+a>>2]=0),y2[260+a>>2]=n,X2[264+a|0]=1,y2[256+a>>2]=w,o=y2[252+a>>2]}if(r=y2[260+a>>2]+(o<<4)|0,y2[r+12>>2]=0,H2[r+8>>2]=c,H2[r+4>>2]=b,H2[r>>2]=_,y2[252+a>>2]=y2[252+a>>2]+1,l=H2[y2[A+56>>2]+848>>2],b1(320+a|0,760+a|0,312+a|0,y2[f+20>>2],0),d=H2[324+a>>2],_=H2[328+a>>2],c=H2[332+a>>2],(b=j2(j2(j2(d*d)+j2(_*_))+j2(c*c)))>j2(1.1920928955078125e-7)){if(y2[956+a>>2]=0,b=j2(j2(1)/b),H2[952+a>>2]=c*b,H2[948+a>>2]=_*b,H2[944+a>>2]=d*b,b=j2(j2(H2[376+a>>2]-j2(N2[y2[y2[h>>2]+48>>2]](h)))-j2(N2[y2[y2[C>>2]+48>>2]](C))),(0|(t=y2[A+36>>2]))<=-1)for(y2[A+40>>2]<=-1&&((r=y2[A+44>>2])&&(U2[A+48|0]&&(y2[6503]=y2[6503]+1,$2(y2[r-4>>2])),y2[A+44>>2]=0),y2[A+40>>2]=0,y2[A+44>>2]=0,X2[A+48|0]=1),o=t<<4;;)if(r=y2[932+a>>2],n=y2[A+44>>2]+o|0,y2[n>>2]=y2[928+a>>2],y2[n+4>>2]=r,r=y2[(f=936+a|0)+4>>2],y2[(n=n+8|0)>>2]=y2[f>>2],y2[n+4>>2]=r,o=o+16|0,!((r=t)>>>0<=(t=t+1|0)>>>0))break;x4(944+a|(y2[A+36>>2]=0),y2[h+60>>2],y2[e+12>>2],248+a|0,A+32|0,j2(b-l),l,i)}if(U2[A+52|0]&&(r=y2[i+4>>2],y2[r+844>>2])&&((0|(e=y2[r+836>>2]))!=(0|(A=y2[y2[i+8>>2]+8>>2]))?W2(r,y2[y2[i+12>>2]+8>>2]+4|0,A+4|0):W2(r,e+4|0,y2[y2[i+12>>2]+8>>2]+4|0)),!(A=y2[260+a>>2]))break A;U2[264+a|0]&&(y2[6503]=y2[6503]+1,$2(y2[A-4>>2])),y2[260+a>>2]=0;break A}}if(b1(320+a|0,760+a|0,i,y2[f+20>>2],0),y2[A+64>>2]&&!(y2[y2[i+4>>2]+844>>2]>=y2[A+68>>2])&&(d=H2[324+a>>2],_=H2[328+a>>2],c=H2[332+a>>2],(b=j2(j2(j2(d*d)+j2(_*_))+j2(c*c)))>j2(1.1920928955078125e-7))&&(J=824+a|0,M=808+a|0,X=792+a|0,y=776+a|0,b=j2(j2(1)/b),s2=j2(_*b),C2=j2(d*b),Z2=j2(c*b),j2(z2(Z2))>j2(.7071067690849304)?(c=j2(j2(1)/j2(K2(j2(j2(Z2*Z2)+j2(s2*s2))))),b=j2(s2*c),u=j2(c*j2(-Z2))):(b=j2(j2(1)/j2(K2(j2(j2(C2*C2)+j2(s2*s2))))),u=j2(C2*b),s=j2(b*j2(-s2)),b=j2(0)),_=j2(N2[y2[y2[h>>2]+16>>2]](h)),c=j2(N2[y2[y2[C>>2]+16>>2]](C)),t=y2[(n=(w=(U=_>2],y2[(o=g=256+a|0)>>2]=y2[n>>2],y2[o+4>>2]=t,t=y2[(n=(G=U?y:x)+8|0)+4>>2],y2[(o=272+a|0)>>2]=y2[n>>2],y2[o+4>>2]=t,t=y2[(n=(v=U?X:p)+8|0)+4>>2],y2[(o=288+a|0)>>2]=y2[n>>2],y2[o+4>>2]=t,t=y2[(n=(k=U?M:S)+8|0)+4>>2],y2[(o=304+a|0)>>2]=y2[n>>2],y2[o+4>>2]=t,t=y2[w+4>>2],y2[248+a>>2]=y2[w>>2],y2[252+a>>2]=t,t=y2[G+4>>2],y2[264+a>>2]=y2[G>>2],y2[268+a>>2]=t,t=y2[v+4>>2],y2[280+a>>2]=y2[v>>2],y2[284+a>>2]=t,t=y2[k+4>>2],y2[296+a>>2]=y2[k>>2],y2[300+a>>2]=t,!((0|(o=y2[A+64>>2]))<1)))for(z=296+a|0,O=280+a|0,K=264+a|0,l=b,c=j2(j2(m2(j2(j2(.019999999552965164)/(U?_:c)),j2(.39269909262657166)))*j2(.5)),R=j2(j2(j2(s*s)+j2(u*u))+j2(b*b)),b=j2(R2(c)/j2(K2(R))),u2=j2(l*b),o2=j2(u*b),_2=j2(s*b),g2=I2(c),F=j2(K2(j2(j2(Z2*Z2)+j2(j2(C2*C2)+j2(s2*s2))))),L=224+a|0,q=208+a|0,$=192+a|0,A2=176+a|0,e2=160+a|0,r2=144+a|0,f2=128+a|0,C=112+a|0,N=96+a|0,h=80+a|0,m=a+64|0,T=48+a|0,t=0;;)if(R>j2(1.1920928955078125e-7)&&(b=j2(j2(j2(j2(6.2831854820251465)/j2(0|o))*j2(0|t))*j2(.5)),c=j2(R2(b)/F),Q=j2(Z2*c),u=j2(s2*c),s=j2(C2*c),l=I2(b),U?(n=y2[e+12>>2],c2=H2[n>>2],I=H2[n+4>>2],W=H2[n+8>>2],y2[772+a>>2]=0,w2=H2[n+36>>2],E2=H2[n+20>>2],Q2=H2[n+40>>2],B2=H2[n+24>>2],d2=H2[n+32>>2],Y=H2[n+16>>2],y2[804+a>>2]=0,y2[788+a>>2]=0,d=j2(j2(u2*s)+j2(j2(j2(o2*l)-j2(g2*u))-j2(_2*Q))),_=j2(j2(u2*Q)+j2(j2(o2*u)+j2(j2(g2*l)+j2(_2*s)))),c=j2(j2(o2*Q)+j2(j2(j2(_2*l)-j2(g2*s))-j2(u2*u))),b=j2(j2(_2*u)+j2(j2(j2(u2*l)-j2(g2*Q))-j2(o2*s))),l2=j2(j2(j2(Q*d)+j2(j2(s*_)+j2(l*c)))-j2(u*b)),v2=j2(j2(j2(j2(l*_)-j2(s*c))-j2(u*d))-j2(Q*b)),k2=j2(j2(j2(u*c)+j2(j2(Q*_)+j2(l*b)))-j2(s*d)),c=j2(j2(j2(s*b)+j2(j2(l*d)+j2(u*_)))-j2(Q*c)),b=j2(j2(2)/j2(j2(v2*v2)+j2(j2(k2*k2)+j2(j2(l2*l2)+j2(c*c))))),B=j2(k2*b),Q=j2(l2*B),D=j2(c*b),u=j2(v2*D),E=j2(Q-u),s=j2(c*B),b=j2(l2*b),l=j2(v2*b),_=j2(s+l),b=j2(l2*b),d=j2(c*D),c=j2(j2(1)-j2(b+d)),H2[800+a>>2]=j2(j2(W*E)+j2(B2*_))+j2(Q2*c),H2[796+a>>2]=j2(j2(E*I)+j2(_*E2))+j2(c*w2),H2[792+a>>2]=j2(j2(E*c2)+j2(_*Y))+j2(c*d2),_=j2(l2*D),c=j2(v2*B),D=j2(_+c),E=b,b=j2(k2*B),E=j2(j2(1)-j2(E+b)),l=j2(s-l),H2[784+a>>2]=j2(j2(W*D)+j2(B2*E))+j2(Q2*l),H2[780+a>>2]=j2(j2(D*I)+j2(E*E2))+j2(l*w2),H2[776+a>>2]=j2(j2(D*c2)+j2(E*Y))+j2(l*d2),d=j2(j2(1)-j2(d+b)),c=j2(_-c),b=j2(Q+u),H2[768+a>>2]=j2(j2(W*d)+j2(B2*c))+j2(Q2*b),H2[764+a>>2]=j2(j2(d*I)+j2(c*E2))+j2(b*w2),H2[760+a>>2]=j2(j2(d*c2)+j2(c*Y))+j2(b*d2),v=y2[r+12>>2],n=y2[(o=v)+4>>2],y2[J>>2]=y2[o>>2],y2[4+J>>2]=n,n=y2[(o=o+8|0)+4>>2],y2[(k=8+J|0)>>2]=y2[o>>2],y2[k+4>>2]=n,n=y2[(o=v+24|0)+4>>2],y2[(k=8+x|0)>>2]=y2[o>>2],y2[k+4>>2]=n,n=y2[v+20>>2],y2[x>>2]=y2[v+16>>2],y2[4+x>>2]=n,n=y2[(o=v+40|0)+4>>2],y2[(k=8+p|0)>>2]=y2[o>>2],y2[k+4>>2]=n,n=y2[v+36>>2],y2[p>>2]=y2[v+32>>2],y2[4+p>>2]=n,n=y2[(o=v+56|0)+4>>2],y2[(k=8+S|0)>>2]=y2[o>>2],y2[k+4>>2]=n,n=y2[v+52>>2],y2[S>>2]=y2[v+48>>2],y2[4+S>>2]=n):(V=y2[e+12>>2],Z=y2[(n=V+8|0)>>2],w=y2[n+4>>2],G=y2[V>>2],v=y2[V+4>>2],n=y2[V+20>>2],y2[y>>2]=y2[V+16>>2],y2[4+y>>2]=n,n=y2[(o=V+24|0)+4>>2],y2[(k=8+y|0)>>2]=y2[o>>2],y2[k+4>>2]=n,y2[(n=768+a|0)>>2]=Z,y2[n+4>>2]=w,n=y2[V+36>>2],y2[X>>2]=y2[V+32>>2],y2[4+X>>2]=n,n=y2[(o=V+40|0)+4>>2],y2[(k=8+X|0)>>2]=y2[o>>2],y2[k+4>>2]=n,n=y2[(o=V+56|0)+4>>2],y2[(k=8+M|0)>>2]=y2[o>>2],y2[k+4>>2]=n,n=y2[V+52>>2],y2[M>>2]=y2[V+48>>2],y2[4+M>>2]=n,y2[760+a>>2]=G,y2[764+a>>2]=v,n=y2[r+12>>2],c2=H2[n+36>>2],I=H2[n+20>>2],W=H2[n+40>>2],w2=H2[n+24>>2],E2=H2[n+32>>2],Q2=H2[n>>2],B2=H2[n+16>>2],d2=H2[n+4>>2],Y=H2[n+8>>2],y2[868+a>>2]=0,y2[852+a>>2]=0,y2[836+a>>2]=0,d=j2(j2(u2*s)+j2(j2(j2(o2*l)-j2(g2*u))-j2(_2*Q))),_=j2(j2(u2*Q)+j2(j2(o2*u)+j2(j2(g2*l)+j2(_2*s)))),c=j2(j2(o2*Q)+j2(j2(j2(_2*l)-j2(g2*s))-j2(u2*u))),b=j2(j2(_2*u)+j2(j2(j2(u2*l)-j2(g2*Q))-j2(o2*s))),l2=j2(j2(j2(Q*d)+j2(j2(s*_)+j2(l*c)))-j2(u*b)),v2=j2(j2(j2(j2(l*_)-j2(s*c))-j2(u*d))-j2(Q*b)),k2=j2(j2(j2(u*c)+j2(j2(Q*_)+j2(l*b)))-j2(s*d)),c=j2(j2(j2(s*b)+j2(j2(l*d)+j2(u*_)))-j2(Q*c)),b=j2(j2(2)/j2(j2(v2*v2)+j2(j2(k2*k2)+j2(j2(l2*l2)+j2(c*c))))),B=j2(k2*b),Q=j2(l2*B),D=j2(c*b),u=j2(v2*D),E=j2(Q-u),s=j2(c*B),b=j2(l2*b),l=j2(v2*b),_=j2(s+l),b=j2(l2*b),d=j2(c*D),c=j2(j2(1)-j2(b+d)),H2[864+a>>2]=j2(j2(Y*E)+j2(w2*_))+j2(W*c),H2[860+a>>2]=j2(j2(E*d2)+j2(_*I))+j2(c*c2),H2[856+a>>2]=j2(j2(E*Q2)+j2(_*B2))+j2(c*E2),_=j2(l2*D),c=j2(v2*B),D=j2(_+c),E=b,b=j2(k2*B),E=j2(j2(1)-j2(E+b)),l=j2(s-l),H2[848+a>>2]=j2(j2(Y*D)+j2(w2*E))+j2(W*l),H2[844+a>>2]=j2(j2(D*d2)+j2(E*I))+j2(l*c2),H2[840+a>>2]=j2(j2(D*Q2)+j2(E*B2))+j2(l*E2),d=j2(j2(1)-j2(d+b)),c=j2(_-c),b=j2(Q+u),H2[832+a>>2]=j2(j2(Y*d)+j2(w2*c))+j2(W*b),H2[828+a>>2]=j2(j2(d*d2)+j2(c*I))+j2(b*c2),H2[824+a>>2]=j2(j2(d*Q2)+j2(c*B2))+j2(b*E2)),n=y2[764+a>>2],y2[T>>2]=y2[760+a>>2],y2[T+4>>2]=n,n=y2[4+y>>2],y2[m>>2]=y2[y>>2],y2[m+4>>2]=n,n=y2[4+X>>2],y2[h>>2]=y2[X>>2],y2[h+4>>2]=n,n=y2[4+M>>2],y2[N>>2]=y2[M>>2],y2[N+4>>2]=n,n=y2[(o=768+a|0)+4>>2],y2[(k=T+8|0)>>2]=y2[o>>2],y2[k+4>>2]=n,n=y2[(o=8+y|0)+4>>2],y2[(k=m+8|0)>>2]=y2[o>>2],y2[k+4>>2]=n,n=y2[(o=8+X|0)+4>>2],y2[(k=h+8|0)>>2]=y2[o>>2],y2[k+4>>2]=n,n=y2[(o=8+M|0)+4>>2],y2[(k=N+8|0)>>2]=y2[o>>2],y2[k+4>>2]=n,y2[40+a>>2]=0,y2[44+a>>2]=i,y2[8+a>>2]=19500,v=y2[f+20>>2],n=y2[(o=8+J|0)+4>>2],y2[(k=C+8|0)>>2]=y2[o>>2],y2[k+4>>2]=n,n=y2[4+J>>2],y2[C>>2]=y2[J>>2],y2[C+4>>2]=n,n=y2[(o=8+x|0)+4>>2],y2[(k=8+f2|0)>>2]=y2[o>>2],y2[k+4>>2]=n,n=y2[4+x>>2],y2[f2>>2]=y2[x>>2],y2[4+f2>>2]=n,n=y2[(o=8+p|0)+4>>2],y2[(k=8+r2|0)>>2]=y2[o>>2],y2[k+4>>2]=n,n=y2[4+p>>2],y2[r2>>2]=y2[p>>2],y2[4+r2>>2]=n,n=y2[(o=8+S|0)+4>>2],y2[(k=8+e2|0)>>2]=y2[o>>2],y2[k+4>>2]=n,n=y2[4+S>>2],y2[e2>>2]=y2[S>>2],y2[4+e2>>2]=n,n=y2[g+4>>2],y2[(o=8+A2|0)>>2]=y2[g>>2],y2[o+4>>2]=n,n=y2[252+a>>2],y2[A2>>2]=y2[248+a>>2],y2[4+A2>>2]=n,n=y2[(o=8+K|0)+4>>2],y2[(k=8+$|0)>>2]=y2[o>>2],y2[k+4>>2]=n,n=y2[4+K>>2],y2[$>>2]=y2[K>>2],y2[4+$>>2]=n,n=y2[(o=8+O|0)+4>>2],y2[(k=8+q|0)>>2]=y2[o>>2],y2[k+4>>2]=n,n=y2[4+O>>2],y2[q>>2]=y2[O>>2],y2[4+q>>2]=n,n=y2[(o=8+z|0)+4>>2],y2[(k=8+L|0)>>2]=y2[o>>2],y2[k+4>>2]=n,n=y2[4+z>>2],y2[L>>2]=y2[z>>2],y2[4+L>>2]=n,y2[244+a>>2]=v,X2[240+a|0]=U,b1(320+a|0,760+a|0,8+a|0,v,0),o=y2[A+64>>2]),!((0|(t=t+1|0))<(0|o)))break;if(!U2[A+52|0])break A;if(r=y2[i+4>>2],!y2[r+844>>2])break A;if((0|(e=y2[r+836>>2]))!=(0|(A=y2[y2[i+8>>2]+8>>2]))){W2(r,y2[y2[i+12>>2]+8>>2]+4|0,A+4|0);break A}W2(r,e+4|0,y2[y2[i+12>>2]+8>>2]+4|0);break A}if(1<=(0|(t=y2[v+28>>2])))for(m=28;;){if(f=y2[v+36>>2]+m|0,B=H2[f>>2],F=H2[f-8>>2],s=H2[f-4>>2],y2[908+a>>2]=0,b=j2(j2(j2(F*H2[Z+32>>2])+j2(s*H2[Z+36>>2]))+j2(B*H2[Z+40>>2])),H2[904+a>>2]=b,u=j2(j2(j2(F*H2[Z+16>>2])+j2(s*H2[Z+20>>2]))+j2(B*H2[Z+24>>2])),H2[900+a>>2]=u,s=j2(j2(j2(F*H2[Z>>2])+j2(s*H2[Z+4>>2]))+j2(B*H2[Z+8>>2])),H2[896+a>>2]=s,j2(j2(j2(s*F2)+j2(u*G2))+j2(b*h2))>2]=b,u=j2(-u),H2[900+a>>2]=u,s=j2(-s),H2[896+a>>2]=s),y2[6685]=y2[6685]+1,V4(g,Z,F2,G2,h2,s,u,b,G,v,l)){if(w=0,y2[6686]=y2[6686]+1,X0(G,g,896+a|0,972+a|0,968+a|0,248+a|0,944+a|0),X0(v,Z,896+a|0,964+a|0,960+a|0,928+a|0,912+a|0),(I=H2[968+a>>2])<(W=H2[964+a>>2])||(B=H2[960+a>>2])<(F=H2[972+a>>2])||(R=(R=j2(I-W))<(F=j2(B-F))?R:F,w=1),!w)break e;R>2]))<1)f=-1,R=j2(0),F=j2(0),D2=j2(0),n=-1;else for(w=y2[v+48>>2],f=n=-1,D2=j2(o=0),F=j2(0),R=j2(0);;){if(1<=(0|w)){for(t=y2[G+56>>2]+(o<<4)|0,u=H2[t>>2],s=H2[t+4>>2],b=H2[t+8>>2],s2=j2(j2(j2(u*H2[g+32>>2])+j2(s*H2[g+36>>2]))+j2(b*H2[g+40>>2])),u2=j2(j2(j2(u*H2[g+16>>2])+j2(s*H2[g+20>>2]))+j2(b*H2[g+24>>2])),o2=j2(j2(j2(u*H2[g>>2])+j2(s*H2[g+4>>2]))+j2(b*H2[g+8>>2])),t=0,m=8;;){if(k=y2[v+56>>2]+m|0,i2=H2[k>>2],a2=H2[k-8>>2],n2=H2[k-4>>2],H=H2[Z+40>>2],P=H2[Z+32>>2],j=H2[Z+36>>2],I=H2[Z+24>>2],W=H2[Z+16>>2],B=H2[Z+20>>2],u=H2[Z+8>>2],s=H2[Z>>2],b=H2[Z+4>>2],y2[908+a>>2]=0,c2=j2(j2(j2(a2*W)+j2(n2*B))+j2(i2*I)),I=j2(j2(j2(a2*s)+j2(n2*b))+j2(i2*u)),b=j2(j2(o2*c2)-j2(u2*I)),H2[904+a>>2]=b,W=j2(j2(j2(a2*P)+j2(n2*j))+j2(i2*H)),u=j2(j2(s2*I)-j2(o2*W)),H2[900+a>>2]=u,B=j2(j2(u2*W)-j2(s2*c2)),H2[896+a>>2]=B,(1e-6<+j2(z2(B))||1e-6<+j2(z2(u))||1e-6<+j2(z2(b)))&&(s=b,b=j2(j2(1)/j2(K2(j2(j2(b*b)+j2(j2(B*B)+j2(u*u)))))),s=j2(s*b),H2[904+a>>2]=s,u=j2(u*b),H2[900+a>>2]=u,b=j2(B*b),H2[896+a>>2]=b,j2(j2(j2(b*F2)+j2(u*G2))+j2(h2*s))>2]=s,u=j2(-u),H2[900+a>>2]=u,b=j2(-b),H2[896+a>>2]=b),y2[6685]=y2[6685]+1,V4(g,Z,F2,G2,h2,b,u,s,G,v,l))){if(w=0,y2[6686]=y2[6686]+1,X0(G,g,896+a|0,972+a|0,968+a|0,248+a|0,944+a|0),X0(v,Z,896+a|0,964+a|0,960+a|0,928+a|0,912+a|0),(H=H2[968+a>>2])<(P=H2[964+a>>2])||(j=H2[960+a>>2])<(B=H2[972+a>>2])||((Q=j2(H-P))<(B=j2(j-B))?(w=1,w2=H2[936+a>>2],E2=H2[932+a>>2],Q2=H2[928+a>>2],B2=H2[952+a>>2],d2=H2[948+a>>2],Y=H2[944+a>>2]):(w=1,w2=H2[920+a>>2],E2=H2[916+a>>2],Q2=H2[912+a>>2],B2=H2[256+a>>2],d2=H2[252+a>>2],Y=H2[248+a>>2],Q=B)),!w)break e;Q>2]))))break}m=y2[G+48>>2]}if(!((0|(o=o+1|0))<(0|m)))break}(f|n)<(w=0)||(B=j2(R-D),D=j2(F-E),E=j2(k2-D2),s=j2(j2(j2(B*_2)+j2(D*g2))+j2(E*C2)),Q=j2(j2(j2(B*Z2)+j2(D*l2))+j2(E*v2)),b=j2(0),Y=j2(j2(j2(_2*Z2)+j2(g2*l2))+j2(C2*v2)),(l=j2(j2(1)-j2(Y*Y)))==j2(0)||(b=j2(-1.0000000150474662e30),(l=j2(j2(Q-j2(s*Y))/l))j2(1.0000000150474662e30)&&(b=j2(1.0000000150474662e30)),(u=j2(j2(Y*b)-s))j2(1.0000000150474662e30)?u=j2(-1.0000000150474662e30):(u=j2(-1.0000000150474662e30),b=l)):u>j2(1.0000000150474662e30)&&(b=j2(-1.0000000150474662e30),u=j2(1.0000000150474662e30),(l=j2(Q+j2(Y*j2(1.0000000150474662e30))))j2(1.0000000150474662e30)&&(b=j2(1.0000000150474662e30))),y2[260+a>>2]=0,Q=j2(C2*u),Y=j2(Q+j2(E-j2(v2*b))),H2[256+a>>2]=Y,s=j2(g2*u),E=j2(s+j2(D-j2(l2*b))),H2[252+a>>2]=E,l=j2(_2*u),B=j2(l+j2(B-j2(Z2*b))),H2[248+a>>2]=B,(b=j2(j2(Y*Y)+j2(j2(B*B)+j2(E*E))))>j2(1.1920928955078125e-7)&&(b=j2(K2(b)),u=j2(j2(1)/b),D=j2(Y*u),H2[256+a>>2]=D,E=j2(E*u),H2[252+a>>2]=E,u=j2(B*u),H2[248+a>>2]=u,j2(j2(j2(u*F2)+j2(E*G2))+j2(D*h2))>2]=-D,H2[252+a>>2]=-E,H2[248+a>>2]=-u),y2[956+a>>2]=0,H2[952+a>>2]=k2+Q,H2[948+a>>2]=F+s,H2[944+a>>2]=R+l,N2[y2[y2[i>>2]+16>>2]](i,248+a|0,944+a|0,j2(-b)))),u=j2(-1.0000000150474662e30),j2(j2(j2(F2*c)+j2(G2*_))+j2(h2*d))>2]))<=(n=-1))for(y2[A+20>>2]<=-1&&((f=y2[A+24>>2])&&(U2[A+28|0]&&(y2[6503]=y2[6503]+1,$2(y2[f-4>>2])),y2[A+24>>2]=0),y2[A+20>>2]=0,y2[A+24>>2]=0,X2[A+28|0]=1),o=t<<4;;)if(f=y2[252+a>>2],v=y2[A+24>>2]+o|0,y2[(k=v)>>2]=y2[248+a>>2],y2[k+4>>2]=f,f=y2[(k=256+a|0)+4>>2],y2[(v=v+8|0)>>2]=y2[k>>2],y2[v+4>>2]=f,o=o+16|0,!((f=t)>>>0<=(t=t+1|0)>>>0))break;if(y2[A+16>>2]=0,N=y2[r+12>>2],g=y2[e+12>>2],Z=y2[h+60>>2],h=y2[C+60>>2],y2[260+a>>2]=w,b=j2(j2(1)/j2(K2(j2(j2(j2(c*c)+j2(_*_))+j2(d*d))))),Y=j2(d*b),H2[256+a>>2]=Y,k2=j2(_*b),H2[252+a>>2]=k2,B=j2(c*b),H2[248+a>>2]=B,1<=(0|(e=y2[h+28>>2])))for(t=y2[h+36>>2]+28|0,D=H2[N+40>>2],E=H2[N+36>>2],R=H2[N+24>>2],F=H2[N+20>>2],Q=H2[N+32>>2],s=H2[N+16>>2],l=H2[N+8>>2],d=H2[N+4>>2],_=H2[N>>2],b=j2(-34028234663852886e22),o=0;;)if(B2=H2[t-8>>2],d2=H2[t-4>>2],c=H2[t>>2],b=(r=b<(c=j2(j2(j2(B*j2(j2(j2(B2*_)+j2(d2*d))+j2(c*l)))+j2(k2*j2(j2(j2(B2*s)+j2(d2*F))+j2(c*R))))+j2(Y*j2(j2(j2(B2*Q)+j2(d2*E))+j2(c*D))))))?c:b,n=r?o:n,t=t+36|0,(0|e)==(0|(o=o+1|0)))break;if(y2[A+16>>2]=0,e=y2[h+36>>2]+P2(n,36)|0,1<=(0|(w=y2[e+4>>2])))for(G=e+12|0,e=o=0;;){if(r=y2[h+16>>2]+(y2[y2[G>>2]+(e<<2)>>2]<<4)|0,l=H2[r>>2],d=H2[r+4>>2],b=H2[r+8>>2],_=j2(j2(j2(j2(l*H2[N+32>>2])+j2(d*H2[N+36>>2]))+j2(b*H2[N+40>>2]))+H2[N+56>>2]),c=j2(j2(j2(j2(l*H2[N+16>>2])+j2(d*H2[N+20>>2]))+j2(b*H2[N+24>>2]))+H2[N+52>>2]),b=j2(j2(j2(j2(l*H2[N>>2])+j2(d*H2[N+4>>2]))+j2(b*H2[N+8>>2]))+H2[N+48>>2]),y2[A+20>>2]==(0|o)&&!((0|(m=o?o<<1:1))<=(0|o))){if(r=0,m&&(y2[6502]=y2[6502]+1,f=q2(16+(m<<4|3)|0))&&(y2[(r=f+19&-16)-4>>2]=f),1<=(0|o))for(t=0;;)if(T=y2[A+24>>2]+t|0,f=y2[T+4>>2],y2[(k=v=r+t|0)>>2]=y2[T>>2],y2[k+4>>2]=f,f=y2[(k=T+8|0)+4>>2],y2[(v=v+8|0)>>2]=y2[k>>2],y2[v+4>>2]=f,t=t+16|0,!(o=o-1|0))break;(f=y2[A+24>>2])&&(U2[A+28|0]&&(y2[6503]=y2[6503]+1,$2(y2[f-4>>2])),y2[A+24>>2]=0),y2[A+24>>2]=r,X2[A+28|0]=1,y2[A+20>>2]=m,o=y2[A+16>>2]}if(r=y2[A+24>>2]+(o<<4)|0,y2[r+12>>2]=0,H2[r+8>>2]=_,H2[r+4>>2]=c,H2[r>>2]=b,o=y2[A+16>>2]+1|0,y2[A+16>>2]=o,(0|w)==(0|(e=e+1|0)))break}(0|n)<=-1||x4(248+a|0,Z,g,A+12|0,A+32|0,j2(u-Y2),Y2,i)}U2[A+52|0]&&(r=y2[i+4>>2],y2[r+844>>2])&&((0|(e=y2[r+836>>2]))!=(0|(A=y2[y2[i+8>>2]+8>>2]))?W2(r,y2[y2[i+12>>2]+8>>2]+4|0,A+4|0):W2(r,e+4|0,y2[y2[i+12>>2]+8>>2]+4|0))}L2=976+a|0},function(A,e,r,f,i){A|=0,e|=0,r|=0,f|=0,i|=0;var a,n,b,t,o,c,k,u,l,s=j2(0),v=j2(0);return j2(0),L2=A=L2-624|0,v=j2(H2[e+116>>2]-H2[e+52>>2]),s=j2(v*v),v=j2(H2[e+120>>2]-H2[e+56>>2]),s=j2(s+j2(v*v)),v=j2(H2[e+124>>2]-H2[e+60>>2]),s=j2(s+j2(v*v)),v=H2[e+276>>2],s>2]-H2[r+52>>2]),a=j2(s*s),s=j2(H2[r+120>>2]-H2[r+56>>2]),a=j2(a+j2(s*s)),s=j2(H2[r+124>>2]-H2[r+60>>2]),a=j2(a+j2(s*s)),s=H2[r+276>>2],a>2],y2[(f=a=A+592|0)>>2]=0,y2[f+4>>2]=0,y2[(b=A+588|0)>>2]=1065353216,y2[(f=n=A+600|0)>>2]=0,y2[f+4>>2]=0,y2[(t=A+608|0)>>2]=0,y2[A+572>>2]=0,y2[A+576>>2]=0,y2[A+580>>2]=1065353216,y2[A+584>>2]=1065353216,y2[A+564>>2]=8,y2[A+568>>2]=0,y2[A+560>>2]=13244,y2[A+616>>2]=0,f=y2[r+272>>2],y2[A+596>>2]=f,y2[A+612>>2]=f,y2[A+556>>2]=0,y2[A+548>>2]=1566444395,y2[A+552>>2]=0,y2[A+384>>2]=13956,X2[0|(o=A+356|0)]=0,y2[A+332>>2]=953267991,y2[A+16>>2]=i,y2[A+8>>2]=11464,y2[A+20>>2]=A+560,y2[A+12>>2]=A+24,c=e+4|0,k=e+68|0,u=r+4|0,l=r+68|0,v=j2(1),t1(A+8|0,c,k,u,l,A+384|0)&&((s=H2[A+548>>2])>2]&&(H2[e+268>>2]=s),s>2]&&(H2[r+268>>2]=s),v=j2(1),s>2],y2[a>>2]=0,y2[4+a>>2]=0,y2[b>>2]=1065353216,y2[n>>2]=0,y2[4+n>>2]=0,y2[t>>2]=0,y2[A+572>>2]=0,y2[A+576>>2]=0,y2[A+580>>2]=1065353216,y2[A+584>>2]=1065353216,y2[A+564>>2]=8,y2[A+568>>2]=0,y2[A+560>>2]=13244,y2[A+616>>2]=0,f=y2[e+272>>2],y2[A+596>>2]=f,y2[A+612>>2]=f,y2[A+556>>2]=0,y2[A+548>>2]=1566444395,y2[A+552>>2]=0,y2[A+384>>2]=13956,X2[0|o]=0,y2[A+332>>2]=953267991,y2[A+20>>2]=i,y2[A+8>>2]=11464,y2[A+16>>2]=A+560,y2[A+12>>2]=A+24,t1(A+8|0,c,k,u,l,A+384|0)&&((s=H2[A+548>>2])>2]&&(H2[e+268>>2]=s),s>2]&&(H2[r+268>>2]=s),s>2])&&U2[A+52|0]){if((0|(i=y2[e+4>>2]))==y2[e+8>>2]&&!((0|(r=i?i<<1:1))<=(0|i))){if(r&&(y2[6502]=y2[6502]+1,f=q2(16+(r<<2|3)|0))&&(y2[(n=f+19&-16)-4>>2]=f),1<=(0|i))for(a=0,f=i;;)if(y2[a+n>>2]=y2[y2[e+12>>2]+a>>2],a=a+4|0,!(f=f-1|0))break;(f=y2[e+12>>2])&&(U2[e+16|0]&&(y2[6503]=y2[6503]+1,$2(y2[f-4>>2]),i=y2[e+4>>2]),y2[e+12>>2]=0),y2[e+12>>2]=n,X2[e+16|0]=1,y2[e+8>>2]=r,a=y2[A+56>>2]}y2[e+4>>2]=i+1,y2[y2[e+12>>2]+(i<<2)>>2]=a}},A,q0,q0,S4,A,q0,q0,function(A,e,r,f){var i,a,n,b,t,o,c;A|=0,e|=0,r|=0,f=j2(f),j2(0),j2(0),j2(0),j2(0),j2(0),j2(0),j2(0),L2=c=L2-16|0,H2[A+32>>2]=f,b=y2[e+4>>2],y2[A+8>>2]=y2[e>>2],y2[A+12>>2]=b,n=y2[4+(b=e+8|0)>>2],y2[(a=A+16|0)>>2]=y2[b>>2],y2[4+a>>2]=n,a=H2[b>>2],n=H2[r>>2],b=H2[e>>2],t=H2[r+4>>2],o=H2[e+4>>2],r=H2[r+8>>2],i=H2[A+28>>2],f=j2(j2(i+H2[A+24>>2])+f),H2[A+32>>2]=f,y2[12+c>>2]=0,H2[8+c>>2]=r-j2(i*a),H2[4+c>>2]=t-j2(i*o),H2[c>>2]=n-j2(b*i),f>2],N2[y2[y2[A>>2]+16>>2]](A,e,c,f),L2=16+c|0},A,function(A,e,r,f){A|=0,e|=0,r|=0,f=j2(f);var i,a,n,b,t,o,c,k,u,l,s,v,B=j2(0),d=j2(0),_=j2(0),g=j2(0),Z=j2(0),C=j2(0),w=j2(0),E=(j2(0),j2(0)),Q=j2(0),h=j2(0),G=j2(0),F=j2(0),D=j2(0),Y=j2(0),m=j2(0),N=j2(0),R=j2(0),I=j2(0),W=(j2(0),j2(0));j2(0),j2(0),j2(0),j2(0),j2(0),j2(0),j2(0),j2(0),j2(0),j2(0),L2=v=L2-16|0,b=H2[e+8>>2],G=H2[r+8>>2],W=j2(j2(b*f)+G),t=H2[e+4>>2],E=H2[r+4>>2],o=j2(j2(t*f)+E),c=H2[e>>2],B=j2(c*f),f=H2[r>>2],r=j2(B+f),U2[A+232|0]?(F=H2[A+56>>2],Z=j2(-H2[A+92>>2]),D=H2[A+40>>2],g=H2[A+88>>2],Y=H2[A+72>>2],C=H2[A+96>>2],d=j2(j2(j2(F*Z)-j2(D*g))-j2(Y*C)),m=H2[A+60>>2],N=H2[A+44>>2],R=H2[A+76>>2],Q=j2(j2(j2(m*Z)-j2(N*g))-j2(R*C)),I=H2[A- -64>>2],B=j2(I*Z),Z=H2[A+48>>2],B=j2(B-j2(Z*g)),g=H2[A+80>>2],C=j2(B-j2(g*C)),B=H2[A+168>>2],_=H2[A+172>>2],w=H2[A+176>>2],w=j2(j2(j2(W*j2(j2(j2(Y*B)+j2(R*_))+j2(g*w)))+j2(j2(r*j2(j2(j2(D*B)+j2(N*_))+j2(Z*w)))+j2(o*j2(j2(j2(F*B)+j2(m*_))+j2(I*w)))))+j2(j2(j2(j2(B*d)+j2(Q*_))+j2(C*w))+H2[A+216>>2])),h=j2(c*j2(w-f)),f=H2[A+184>>2],B=H2[A+188>>2],_=H2[A+192>>2],B=j2(j2(j2(W*j2(j2(j2(Y*f)+j2(R*B))+j2(g*_)))+j2(j2(r*j2(j2(j2(D*f)+j2(N*B))+j2(Z*_)))+j2(o*j2(j2(j2(F*f)+j2(m*B))+j2(I*_)))))+j2(j2(j2(j2(d*f)+j2(Q*B))+j2(C*_))+H2[A+220>>2])),_=j2(h+j2(t*j2(B-E))),f=H2[A+200>>2],E=H2[A+204>>2],Q=j2(j2(d*f)+j2(Q*E)),d=H2[A+208>>2],W=j2(j2(j2(Q+j2(C*d))+H2[A+224>>2])+j2(j2(W*j2(j2(j2(Y*f)+j2(R*E))+j2(g*d)))+j2(j2(r*j2(j2(j2(D*f)+j2(N*E))+j2(Z*d)))+j2(o*j2(j2(j2(F*f)+j2(m*E))+j2(I*d)))))),f=j2(_+j2(b*j2(W-G))),H2[4+v>>2]=B+j2(t*f),H2[v>>2]=w+j2(c*f),G=j2(W+j2(b*f))):(l=H2[A+224>>2],F=H2[A+208>>2],D=H2[A+200>>2],Y=H2[A+204>>2],s=H2[A+216>>2],d=H2[A+172>>2],m=H2[A+176>>2],N=H2[A+168>>2],R=H2[A+120>>2],h=j2(-H2[A+156>>2]),Q=H2[A+104>>2],a=H2[A+152>>2],I=H2[A+136>>2],n=H2[A+160>>2],Z=j2(j2(j2(R*h)-j2(Q*a))-j2(I*n)),g=H2[A+124>>2],C=H2[A+108>>2],B=H2[A+140>>2],_=j2(j2(j2(g*h)-j2(C*a))-j2(B*n)),w=H2[A+128>>2],i=j2(w*h),h=H2[A+112>>2],i=j2(i-j2(h*a)),a=H2[A+144>>2],n=j2(i-j2(a*n)),i=H2[A+184>>2],k=H2[A+188>>2],u=H2[A+192>>2],i=j2(j2(j2(G*j2(j2(j2(I*i)+j2(B*k))+j2(a*u)))+j2(j2(f*j2(j2(j2(Q*i)+j2(C*k))+j2(h*u)))+j2(E*j2(j2(j2(R*i)+j2(g*k))+j2(w*u)))))+j2(j2(j2(j2(Z*i)+j2(_*k))+j2(n*u))+H2[A+220>>2])),H2[4+v>>2]=i,d=j2(j2(j2(G*j2(j2(j2(I*N)+j2(B*d))+j2(a*m)))+j2(j2(f*j2(j2(j2(Q*N)+j2(C*d))+j2(h*m)))+j2(E*j2(j2(j2(R*N)+j2(g*d))+j2(w*m)))))+j2(s+j2(j2(j2(N*Z)+j2(_*d))+j2(n*m)))),H2[v>>2]=d,G=j2(j2(l+j2(j2(j2(Z*D)+j2(_*Y))+j2(n*F)))+j2(j2(G*j2(j2(j2(I*D)+j2(B*Y))+j2(a*F)))+j2(j2(f*j2(j2(j2(Q*D)+j2(C*Y))+j2(h*F)))+j2(E*j2(j2(j2(R*D)+j2(g*Y))+j2(w*F)))))),f=j2(j2(j2(c*j2(r-d))+j2(t*j2(o-i)))+j2(b*j2(W-G)))),y2[12+v>>2]=0,H2[8+v>>2]=G,A=y2[A+36>>2],N2[y2[y2[A>>2]+16>>2]](A,e,v,f),L2=16+v|0},function(A){var e,r;return y2[(A|=0)+8>>2]=19964,y2[A>>2]=19936,r=y2[(e=A+56|0)>>2],N2[y2[y2[r>>2]+20>>2]](r,y2[(r=A+72|0)>>2]),e=y2[e>>2],N2[y2[y2[e>>2]+16>>2]](e,y2[r>>2]),0|A},function(A){var e,r;y2[(A|=0)+8>>2]=19964,y2[A>>2]=19936,r=y2[(e=A+56|0)>>2],N2[y2[y2[r>>2]+20>>2]](r,y2[(r=A+72|0)>>2]),e=y2[e>>2],N2[y2[y2[e>>2]+16>>2]](e,y2[r>>2]),A&&(y2[6503]=y2[6503]+1,$2(y2[A-4>>2]))},function(A,e,r,f,i){var a,n,b,t,o,c,k,u,l,s,v,B,d,_,g,Z,C,w,E,Q,h,G,F,D,Y,m,N,R,I;A|=0,e|=0,r|=0,f|=0,i|=0,j2(0),j2(0),j2(0),j2(0),j2(0),j2(0),j2(0),j2(0),j2(0),j2(0),j2(0),j2(0),j2(0),j2(0),j2(0),j2(0),j2(0),j2(0),j2(0),j2(0),j2(0),j2(0),j2(0),j2(0),j2(0),L2=I=L2+-64|0,n=U2[A+76|0],b=y2[(d=n?e:r)+4>>2],8>2]-21>>>0||19>2]+4>>2]||(R=j2(N2[y2[y2[b>>2]+48>>2]](b)),H2[A- -64>>2]=R,y2[A+60>>2]=f,y2[A+48>>2]=d,y2[A+44>>2]=n,y2[A+52>>2]=i,y2[i+4>>2]=y2[(f=A+72|0)>>2],e=y2[d+12>>2],t=H2[e+52>>2],_=H2[e+56>>2],r=y2[n+12>>2],g=H2[r+52>>2],Z=H2[r+56>>2],a=H2[e+20>>2],o=H2[e+36>>2],C=H2[r+20>>2],w=H2[r+36>>2],E=H2[r+24>>2],c=H2[e+24>>2],Q=H2[r+40>>2],k=H2[e+40>>2],h=H2[r+32>>2],u=H2[e+32>>2],G=H2[r>>2],l=H2[e>>2],F=H2[r+16>>2],s=H2[e+16>>2],D=H2[e+48>>2],Y=H2[r+48>>2],v=H2[e+4>>2],m=H2[r+4>>2],N=H2[r+8>>2],B=H2[e+8>>2],y2[60+I>>2]=0,y2[44+I>>2]=0,y2[28+I>>2]=0,H2[40+I>>2]=j2(j2(B*N)+j2(c*E))+j2(k*Q),H2[36+I>>2]=j2(j2(B*m)+j2(c*C))+j2(k*w),H2[24+I>>2]=j2(j2(v*N)+j2(a*E))+j2(o*Q),H2[20+I>>2]=j2(j2(v*m)+j2(a*C))+j2(o*w),t=j2(-t),H2[56+I>>2]=j2(j2(j2(c*t)-j2(B*D))-j2(k*_))+j2(j2(j2(B*Y)+j2(c*g))+j2(k*Z)),H2[52+I>>2]=j2(j2(j2(a*t)-j2(v*D))-j2(o*_))+j2(j2(j2(v*Y)+j2(a*g))+j2(o*Z)),y2[12+I>>2]=0,H2[I>>2]=j2(j2(l*G)+j2(s*F))+j2(u*h),H2[32+I>>2]=j2(j2(B*G)+j2(c*F))+j2(k*h),H2[16+I>>2]=j2(j2(v*G)+j2(a*F))+j2(o*h),H2[8+I>>2]=j2(j2(l*N)+j2(s*E))+j2(u*Q),H2[4+I>>2]=j2(j2(l*m)+j2(s*C))+j2(u*w),H2[48+I>>2]=j2(j2(j2(s*t)-j2(l*D))-j2(u*_))+j2(j2(j2(l*Y)+j2(s*g))+j2(u*Z)),B=y2[n+4>>2],N2[y2[y2[B>>2]+8>>2]](B,I,e=A+12|0,r=A+28|0),a=j2(R+H2[i+32>>2]),H2[r>>2]=a+H2[r>>2],H2[(B=A+32|0)>>2]=a+H2[B>>2],H2[(B=A+36|0)>>2]=a+H2[B>>2],H2[e>>2]=H2[e>>2]-a,H2[(B=A+16|0)>>2]=H2[B>>2]-a,H2[(B=A+20|0)>>2]=H2[B>>2]-a,f=y2[f>>2],y2[f+840>>2]=y2[d+8>>2],y2[f+836>>2]=y2[n+8>>2],N2[y2[y2[b>>2]+64>>2]](b,A+8|0,e,r),e=y2[i+4>>2],y2[e+844>>2]&&(f=y2[e+836>>2],b=y2[y2[i+8>>2]+8>>2],B=e,e=y2[y2[i+12>>2]+8>>2],W2(B,((r=(0|f)==(0|b))?f:e)+4|0,(r?e:b)+4|0)),y2[A+44>>2]=0,y2[A+48>>2]=0),L2=I+64|0},function(A,e,r,f,i){A|=0,e|=0,r|=0,f|=0,i|=0,j2(0);var a,n,b,t,o,c,k,u,l,s,v,B,d,_,g,Z,C,w,E,Q,h,G,F,D,Y,V,x,p,S,J,M,X,y,m=j2(0),N=(j2(0),j2(0),j2(0),j2(0),j2(0),j2(0),j2(0),j2(0),j2(0),j2(0),j2(0),j2(0),j2(0)),R=(j2(0),j2(0)),I=j2(0),W=j2(0),T=j2(0),U=(j2(0),j2(0),j2(0),j2(0),j2(0),j2(0),j2(0),j2(0),j2(0),j2(0),j2(0),j2(0),j2(0),j2(0),j2(0),j2(0),j2(0),j2(0),j2(0),j2(0),j2(0));return j2(0),L2=f=L2-240|0,U=j2(1),i=U2[A+76|0],a=j2(H2[(A=i?r:e)+116>>2]-H2[A+52>>2]),m=j2(a*a),a=j2(H2[A+120>>2]-H2[A+56>>2]),m=j2(m+j2(a*a)),a=j2(H2[A+124>>2]-H2[A+60>>2]),m=j2(m+j2(a*a)),a=H2[A+276>>2],m>2],8>2]-21>>>0)||(i=H2[A+92>>2],Z=H2[A+76>>2],C=H2[A+108>>2],w=H2[A+88>>2],E=H2[A+72>>2],Q=H2[A+104>>2],h=H2[A+100>>2],G=H2[A+84>>2],F=H2[A+68>>2],o=H2[e+36>>2],c=H2[e+20>>2],k=H2[e+4>>2],D=H2[A+28>>2],Y=H2[A+12>>2],V=H2[A+44>>2],x=H2[A+24>>2],p=H2[A+8>>2],S=H2[A+40>>2],J=H2[A+36>>2],M=H2[A+20>>2],X=H2[A+4>>2],u=H2[e+12>>2],R=H2[A+116>>2],l=H2[e+28>>2],m=H2[A+120>>2],s=H2[e+44>>2],I=H2[A+124>>2],y=j2(j2(j2(u*R)+j2(l*m))+j2(s*I)),v=H2[e+24>>2],W=j2(-H2[e+56>>2]),B=H2[e+8>>2],N=H2[e+52>>2],d=H2[e+40>>2],T=H2[e+60>>2],e=j2(j2(j2(v*W)-j2(B*N))-j2(d*T)),a=j2(e+j2(j2(j2(B*R)+j2(v*m))+j2(d*I))),n=H2[A+56>>2],b=H2[A+52>>2],t=H2[A+60>>2],y2[f+236>>2]=0,g=j2(j2(j2(l*W)-j2(u*N))-j2(s*T)),_=j2(g+j2(j2(j2(u*b)+j2(l*n))+j2(s*t))),H2[f+232>>2]=_,e=j2(e+j2(j2(j2(B*b)+j2(v*n))+j2(d*t))),H2[f+228>>2]=e,N=j2(j2(j2(c*W)-j2(k*N))-j2(o*T)),n=j2(N+j2(j2(j2(k*b)+j2(c*n))+j2(o*t))),W=H2[f+224>>2]=n,(b=j2(N+j2(j2(j2(k*R)+j2(c*m))+j2(o*I))))>2]=b),a<(R=e)&&(R=H2[f+228>>2]=a),m=_,(t=j2(g+y))>2]=t),y2[f+220>>2]=0,H2[f+216>>2]=_,H2[f+212>>2]=e,(I=H2[f+208>>2]=n)>2]=b),(N=e)>2]=a),(T=_)>2]=t),g=m,m=H2[A+272>>2],H2[f+232>>2]=g-m,H2[f+228>>2]=R-m,H2[f+224>>2]=W-m,H2[f+216>>2]=m+T,H2[f+212>>2]=m+N,H2[f+208>>2]=m+I,y2[f+128>>2]=0,H2[f+124>>2]=t,H2[f+120>>2]=a,H2[f+116>>2]=b,y2[f+112>>2]=0,H2[f+108>>2]=j2(j2(u*Z)+j2(l*i))+j2(s*C),H2[f+104>>2]=j2(j2(u*E)+j2(l*w))+j2(s*Q),H2[f+100>>2]=j2(j2(u*F)+j2(l*G))+j2(s*h),y2[f+96>>2]=0,H2[f+92>>2]=j2(j2(B*Z)+j2(v*i))+j2(d*C),H2[f+88>>2]=j2(j2(B*E)+j2(v*w))+j2(d*Q),H2[f+84>>2]=j2(j2(B*F)+j2(v*G))+j2(d*h),y2[f+80>>2]=0,H2[f+76>>2]=j2(j2(k*Z)+j2(c*i))+j2(o*C),H2[f+72>>2]=j2(j2(k*E)+j2(c*w))+j2(o*Q),y2[f- -64>>2]=0,H2[f+60>>2]=_,H2[f+56>>2]=e,H2[f+52>>2]=n,y2[f+48>>2]=0,H2[f+44>>2]=j2(j2(u*Y)+j2(l*D))+j2(s*V),H2[f+40>>2]=j2(j2(u*p)+j2(l*x))+j2(s*S),H2[f+36>>2]=j2(j2(u*X)+j2(l*M))+j2(s*J),y2[f+32>>2]=0,H2[f+28>>2]=j2(j2(B*Y)+j2(v*D))+j2(d*V),H2[f+24>>2]=j2(j2(B*p)+j2(v*x))+j2(d*S),H2[f+20>>2]=j2(j2(B*X)+j2(v*M))+j2(d*J),y2[f+16>>2]=0,H2[f+12>>2]=j2(j2(k*Y)+j2(c*D))+j2(o*V),H2[f+8>>2]=j2(j2(k*p)+j2(c*x))+j2(o*S),H2[f+196>>2]=m,H2[f+68>>2]=j2(j2(k*F)+j2(c*G))+j2(o*h),H2[f+4>>2]=j2(j2(k*X)+j2(c*M))+j2(o*J),y2[f>>2]=20036,y2[f+200>>2]=y2[A+268>>2],r&&(N2[y2[y2[r>>2]+64>>2]](r,f,f+224|0,f+208|0),(a=H2[f+200>>2])>2])&&(U=H2[A+268>>2]=a)),L2=f+240|0,j2(U)},function(A,e){e|=0;var r,f=0,i=0,a=0,n=0;if(a=y2[(A|=0)+72>>2]){if((0|(i=y2[e+4>>2]))==y2[e+8>>2]&&!((0|(r=i?i<<1:1))<=(0|i))){if(r&&(y2[6502]=y2[6502]+1,f=q2(16+(r<<2|3)|0))&&(y2[(n=f+19&-16)-4>>2]=f),1<=(0|i))for(a=0,f=i;;)if(y2[a+n>>2]=y2[y2[e+12>>2]+a>>2],a=a+4|0,!(f=f-1|0))break;(f=y2[e+12>>2])&&(U2[e+16|0]&&(y2[6503]=y2[6503]+1,$2(y2[f-4>>2]),i=y2[e+4>>2]),y2[e+12>>2]=0),y2[e+12>>2]=n,X2[e+16|0]=1,y2[e+8>>2]=r,a=y2[A+72>>2]}y2[e+4>>2]=i+1,y2[y2[e+12>>2]+(i<<2)>>2]=a}},function(A){var e;return y2[(A|=0)>>2]=19964,e=y2[A+48>>2],N2[y2[y2[e>>2]+20>>2]](e,y2[A+64>>2]),e=y2[A+48>>2],N2[y2[y2[e>>2]+16>>2]](e,y2[A+64>>2]),0|A},function(A){var e;y2[(A|=0)>>2]=19964,e=y2[A+48>>2],N2[y2[y2[e>>2]+20>>2]](e,y2[A+64>>2]),e=y2[A+48>>2],N2[y2[y2[e>>2]+16>>2]](e,y2[A+64>>2]),A&&(y2[6503]=y2[6503]+1,$2(y2[A-4>>2]))},function(A,e,r,f){A|=0,e|=0,r|=0,f|=0;var i,a,n,b,t,o,c,k=0;j2(0),j2(0),j2(0),j2(0),L2=c=L2-144|0,a=H2[e>>2],b=H2[e+16>>2],o=H2[e+32>>2],H2[A+20>>2]<((t=a>2]?i:32)+e>>2]>2]||(a=H2[e+8>>2],b=H2[(i=e+24|0)>>2],o=H2[(n=e+40|0)>>2],H2[A+28>>2]<((t=a>2]?i:n)>>2]>2]||(a=H2[e+4>>2],b=H2[(i=e+20|0)>>2],o=H2[(n=e+36|0)>>2],H2[A+24>>2]<((t=a>2]?i:n)>>2]>2]||(i=y2[A+36>>2],19>2]+4>>2])||(n=y2[A+48>>2],y2[(k=60+c|0)>>2]=1065353216,y2[k+4>>2]=0,o=y2[4+(t=e+8|0)>>2],y2[(k=104+c|0)>>2]=y2[t>>2],y2[k+4>>2]=o,t=y2[e+20>>2],y2[(k=112+c|0)>>2]=y2[e+16>>2],y2[k+4>>2]=t,o=y2[4+(t=e+24|0)>>2],y2[(k=120+c|0)>>2]=y2[t>>2],y2[k+4>>2]=o,o=y2[4+(t=e+40|0)>>2],y2[(k=136+c|0)>>2]=y2[t>>2],y2[k+4>>2]=o,t=y2[e+36>>2],y2[(k=128+c|0)>>2]=y2[e+32>>2],y2[k+4>>2]=t,y2[92+c>>2]=0,y2[52+c>>2]=1065353216,y2[56+c>>2]=1065353216,y2[44+c>>2]=0,y2[48+c>>2]=0,y2[36+c>>2]=1,y2[40+c>>2]=0,y2[32+c>>2]=13584,k=y2[e+4>>2],y2[96+c>>2]=y2[e>>2],y2[100+c>>2]=k,y2[84+c>>2]=y2[A+56>>2],y2[28+c>>2]=f,y2[24+c>>2]=r,e=y2[A+40>>2],y2[8+c>>2]=e,k=y2[e+8>>2],y2[20+c>>2]=y2[e+12>>2],y2[16+c>>2]=k,a=H2[y2[A+44>>2]+32>>2],y2[12+c>>2]=32+c,e=a>j2(0)?0|N2[y2[y2[n>>2]+8>>2]](n,i,8+c|0,0,2):0|N2[y2[y2[n>>2]+8>>2]](n,i,8+c|0,y2[A+64>>2],1),i=y2[A+44>>2],k=y2[i+8>>2],y2[k+8>>2]==y2[y2[A+40>>2]+8>>2]?(y2[i+8>>2]=8+c,N2[y2[y2[i>>2]+8>>2]](i,r,f)):(k=y2[i+12>>2],y2[i+12>>2]=8+c,N2[y2[y2[i>>2]+12>>2]](i,r,f)),N2[y2[y2[e>>2]+8>>2]](e,y2[A+36>>2],8+c|0,y2[A+52>>2],y2[A+44>>2]),r=y2[A+44>>2],y2[(y2[y2[r+8>>2]+8>>2]==y2[y2[A+40>>2]+8>>2]?8:12)+r>>2]=k,N2[y2[y2[e>>2]>>2]](e),N2[y2[y2[n>>2]+60>>2]](n,e),y2[32+c>>2]=11040,(A=y2[92+c>>2])&&(N2[y2[y2[A>>2]>>2]](A),A=y2[92+c>>2])&&(y2[6503]=y2[6503]+1,$2(y2[A-4>>2]))),L2=144+c|0},A,function(A,e,r,f){var i,a;A|=0,e|=0,r|=0,f|=0,j2(0),y2[(f=(L2=r=L2-800|0)+748|0)>>2]=0,y2[f+4>>2]=0,y2[(f=r+760|0)>>2]=0,y2[f+4>>2]=0,y2[r+756>>2]=1065353216,y2[(f=r+780|0)>>2]=0,y2[f+4>>2]=0,y2[r+776>>2]=1065353216,y2[(f=r+788|0)>>2]=0,y2[f+4>>2]=0,y2[r+796>>2]=0,y2[r+740>>2]=0,y2[r+744>>2]=0,y2[r+736>>2]=1065353216,y2[r+768>>2]=0,y2[r+772>>2]=0,y2[r+728>>2]=0,y2[r+732>>2]=0,y2[r+560>>2]=13956,y2[r+724>>2]=y2[A+200>>2],y2[(f=r+528|0)>>2]=0,y2[f+4>>2]=0,y2[r+524>>2]=1065353216,y2[(f=r+536|0)>>2]=0,y2[f+4>>2]=0,y2[r+544>>2]=0,y2[r+508>>2]=0,y2[r+512>>2]=0,y2[r+516>>2]=1065353216,y2[r+520>>2]=1065353216,y2[r+500>>2]=8,y2[r+504>>2]=0,y2[r+496>>2]=13244,y2[r+552>>2]=0,f=y2[A+196>>2],y2[r+532>>2]=f,y2[r+548>>2]=f,y2[(f=r+412|0)>>2]=1065353216,y2[f+4>>2]=0,i=y2[4+(a=e+8|0)>>2],y2[(f=r+456|0)>>2]=y2[a>>2],y2[f+4>>2]=i,a=y2[e+20>>2],y2[(f=r+464|0)>>2]=y2[e+16>>2],y2[f+4>>2]=a,i=y2[4+(a=e+24|0)>>2],y2[(f=r+472|0)>>2]=y2[a>>2],y2[f+4>>2]=i,a=y2[e+36>>2],y2[(f=r+480|0)>>2]=y2[e+32>>2],y2[f+4>>2]=a,i=y2[4+(a=e+40|0)>>2],y2[(f=r+488|0)>>2]=y2[a>>2],y2[f+4>>2]=i,y2[r+444>>2]=0,y2[r+436>>2]=1025758986,y2[r+404>>2]=1065353216,y2[r+408>>2]=1065353216,y2[r+396>>2]=0,y2[r+400>>2]=0,y2[r+388>>2]=1,y2[r+392>>2]=0,y2[r+384>>2]=13584,f=y2[e+4>>2],y2[r+448>>2]=y2[e>>2],y2[r+452>>2]=f,X2[r+356|0]=0,y2[r+332>>2]=953267991,y2[r+8>>2]=10584,y2[r+20>>2]=r+384,y2[r+16>>2]=r+496,y2[r+12>>2]=r+24,I0(r+8|0,A+4|0,A+68|0,r+736|0,r+736|0,r+560|0)&&(a=H2[r+724>>2])>2]&&(H2[A+200>>2]=a),y2[r+384>>2]=11040,(A=y2[r+444>>2])&&(N2[y2[y2[A>>2]>>2]](A),A=y2[r+444>>2])&&(y2[6503]=y2[6503]+1,$2(y2[A-4>>2])),L2=r+800|0},M4,function(A){b(M4(A|=0))},X4,function(A,e,r,f,i){A|=0,e|=0,r|=0,f|=0,i|=0;var a,n,b,t,o,c,k,u,l,s,v,B,d,_,g,Z,C,w,E,Q,h,G,F,D,Y,m,N,V,x,p,R=0,I=(j2(0),j2(0),j2(0),j2(0),j2(0),j2(0),j2(0),j2(0),j2(0),j2(0),0),W=j2(0),T=(j2(0),j2(0),j2(0),j2(0),j2(0),j2(0),j2(0),j2(0),j2(0),j2(0),j2(0),j2(0),j2(0),j2(0),0);if((0|(I=y2[A+52>>2]))<1)return j2(j2(1));for(Y=(R=U2[A+68|0])?e:r,m=y2[(e=R?r:e)- -64>>2],G=H2[e+60>>2],F=H2[e+(R=56)>>2],D=H2[e+52>>2],N=y2[e+48>>2],n=H2[e+44>>2],b=H2[e+40>>2],t=H2[e+36>>2],V=y2[e+32>>2],o=H2[e+28>>2],c=H2[e+24>>2],k=H2[e+20>>2],x=y2[e+16>>2],u=H2[e+12>>2],l=H2[e+8>>2],r=y2[e+304>>2],s=H2[e+4>>2],p=y2[e+192>>2],W=j2(1);;)if(y2[e+304>>2]=r+1,r=y2[p+32>>2]+R|0,a=H2[r>>2],v=H2[r-8>>2],B=H2[r-4>>2],d=H2[r-24>>2],_=H2[r-56>>2],g=H2[r-40>>2],Z=H2[r-20>>2],C=H2[r-52>>2],w=H2[r-36>>2],E=H2[r-16>>2],Q=H2[r-48>>2],h=H2[r-32>>2],y2[e+64>>2]=0,y2[e+48>>2]=0,y2[e+32>>2]=0,y2[e+16>>2]=0,H2[e+44>>2]=j2(j2(t*Q)+j2(b*h))+j2(n*E),H2[e+40>>2]=j2(j2(t*C)+j2(b*w))+j2(n*Z),H2[e+36>>2]=j2(j2(t*_)+j2(b*g))+j2(n*d),H2[e+28>>2]=j2(j2(k*Q)+j2(c*h))+j2(o*E),H2[e+24>>2]=j2(j2(k*C)+j2(c*w))+j2(o*Z),H2[e+20>>2]=j2(j2(k*_)+j2(c*g))+j2(o*d),H2[e+12>>2]=j2(j2(s*Q)+j2(l*h))+j2(u*E),H2[e+8>>2]=j2(j2(s*C)+j2(l*w))+j2(u*Z),H2[e+4>>2]=j2(j2(s*_)+j2(l*g))+j2(u*d),H2[e+60>>2]=G+j2(j2(j2(t*v)+j2(b*B))+j2(n*a)),H2[e+56>>2]=F+j2(j2(j2(k*v)+j2(c*B))+j2(o*a)),H2[e+52>>2]=D+j2(j2(j2(s*v)+j2(l*B))+j2(u*a)),r=y2[y2[A+60>>2]+T>>2],a=j2(N2[y2[y2[r>>2]+12>>2]](r,e,Y,f,i)),y2[e+64>>2]=m,H2[e+60>>2]=G,H2[e+56>>2]=F,H2[e+52>>2]=D,y2[e+48>>2]=N,H2[e+44>>2]=n,H2[e+40>>2]=b,H2[e+36>>2]=t,y2[e+32>>2]=V,H2[e+28>>2]=o,H2[e+24>>2]=c,H2[e+20>>2]=k,y2[e+16>>2]=x,H2[e+12>>2]=u,H2[e+8>>2]=l,H2[e+4>>2]=s,r=y2[e+304>>2]+1|0,y2[e+304>>2]=r,W=a>2])))for(;;)if((r=y2[y2[A+60>>2]+i>>2])&&(N2[y2[y2[r>>2]+16>>2]](r,e),f=y2[A+52>>2]),i=i+4|0,!((0|(a=a+1|0))<(0|f)))break},A,function(A,e){var r=0,r=A|=0,f=y2[y2[y2[A+4>>2]+4>>2]+32>>2];A=y2[(e|=0)+36>>2],y4(r,y2[64+(f+P2(A,80)|0)>>2],A)},function(A){var e;return y2[(A|=0)>>2]=20408,(e=y2[A+56>>2])&&(U2[A+60|0]&&(y2[6503]=y2[6503]+1,$2(y2[e-4>>2])),y2[A+56>>2]=0),y2[A+56>>2]=0,y2[A+48>>2]=0,y2[A+52>>2]=0,X2[A+60|0]=1,(e=y2[A+36>>2])&&(U2[A+40|0]&&(y2[6503]=y2[6503]+1,$2(y2[e-4>>2])),y2[A+36>>2]=0),y2[A+36>>2]=0,y2[A+28>>2]=0,y2[A+32>>2]=0,X2[A+40|0]=1,(e=y2[A+16>>2])&&(U2[A+20|0]&&(y2[6503]=y2[6503]+1,$2(y2[e-4>>2])),y2[A+16>>2]=0),y2[A+16>>2]=0,y2[A+8>>2]=0,y2[A+12>>2]=0,X2[A+20|0]=1,0|A},function(A){var e;y2[(A|=0)>>2]=20408,(e=y2[A+56>>2])&&(U2[A+60|0]&&(y2[6503]=y2[6503]+1,$2(y2[e-4>>2])),y2[A+56>>2]=0),y2[A+56>>2]=0,y2[A+48>>2]=0,y2[A+52>>2]=0,X2[A+60|0]=1,(e=y2[A+36>>2])&&(U2[A+40|0]&&(y2[6503]=y2[6503]+1,$2(y2[e-4>>2])),y2[A+36>>2]=0),y2[A+36>>2]=0,y2[A+28>>2]=0,y2[A+32>>2]=0,X2[A+40|0]=1,(e=y2[A+16>>2])&&U2[A+20|0]&&(y2[6503]=y2[6503]+1,$2(y2[e-4>>2])),b(A)},function(A,e,r){A|=0,e|=0,r|=0;var f,i=0,a=0,n=0,b=0,t=0,o=0,c=0,k=0;y2[6688]=y2[6688]+1,b=y2[A+36>>2],i=P2((i=((i=r<<16|e)<<15^-1)+i|0)>>>10^i,9),f=b+((y2[A+12>>2]-1&((i=((i^=i>>>6)<<11^-1)+i|0)>>>16^i))<<2)|0,i=y2[f>>2];A:if(-1!=(0|i)){for(n=y2[A+16>>2],a=i;;){if(t=n+P2(a,12)|0,y2[t+4>>2]==(0|r)&&y2[t>>2]==(0|e))break;if(-1==(0|(a=y2[y2[A+56>>2]+(a<<2)>>2])))break A}k=y2[8+(n+P2(a,12)|0)>>2],r=y2[A+56>>2];e:{r:{if((0|i)!=(0|a)){for(;;)if((0|a)==(0|(i=y2[(o=r+((e=i)<<2)|0)>>2])))break;if(i=c=y2[r+(a<<2)>>2],-1==(0|e))break r;y2[o>>2]=c;break e}i=y2[r+(i<<2)>>2]}y2[f>>2]=i}if((0|(f=y2[A+8>>2]-1|0))==(0|a))return y2[A+8>>2]=a,0|k;e:{if(n=n+P2(f,12)|0,e=y2[n+4>>2]<<16|y2[n>>2],e=P2((e=(e<<15^-1)+e|0)>>>10^e,9),o=y2[A+12>>2]-1&((e=((e^=e>>>6)<<11^-1)+e|0)>>>16^e),(0|f)==(0|(i=y2[(b=b+(o<<2)|0)>>2])))i=y2[r+(f<<2)>>2];else{for(;;)if((0|f)==(0|(i=y2[(c=r+((e=i)<<2)|0)>>2])))break;if(i=y2[r+(f<<2)>>2],-1!=(0|e)){y2[c>>2]=i;break e}}y2[b>>2]=i}e=y2[n+4>>2],y2[t>>2]=y2[n>>2],y2[t+4>>2]=e,y2[t+8>>2]=y2[n+8>>2],e=y2[A+36>>2]+(o<<2)|0,y2[y2[A+56>>2]+(a<<2)>>2]=y2[e>>2],y2[e>>2]=a,y2[A+8>>2]=y2[A+8>>2]-1}return 0|k},function(A,e,r){A|=0,e|=0,r|=0;var f,i,a,n=0,b=0,t=0,o=0,c=0,k=0,u=0;y2[6687]=y2[6687]+1,n=P2((n=((n=r<<16|e)<<15^-1)+n|0)>>>10^n,9),i=(n=((n^=n>>>6)<<11^-1)+n|0)>>>16^n,n=y2[A+12>>2];A:{if(-1!=(0|(t=y2[y2[A+36>>2]+((o=i&n-1)<<2)>>2])))for(c=y2[A+16>>2];;){if(b=c+P2(t,12)|0,y2[b+4>>2]==(0|r)&&y2[b>>2]==(0|e))break A;if(-1==(0|(t=y2[y2[A+56>>2]+(t<<2)>>2])))break}e:{r:{if((0|(b=c=y2[A+8>>2]))==(0|n)){if((0|n)<(0|(u=n?n<<1:1)))break r}else n=b;y2[A+8>>2]=n+1,b=(k=y2[A+16>>2])+P2(c,12)|0;break e}if(u&&(y2[6502]=y2[6502]+1,b=q2(16+(3|P2(u,12))|0))&&(y2[(k=b+19&-16)-4>>2]=b),1<=(0|n))for(t=0,b=n;;)if(f=y2[A+16>>2]+t|0,a=y2[4+f>>2],y2[(o=t+k|0)>>2]=y2[f>>2],y2[o+4>>2]=a,y2[o+8>>2]=y2[8+f>>2],t=t+12|0,!(b=b-1|0))break;(b=y2[A+16>>2])&&(U2[A+20|0]&&(y2[6503]=y2[6503]+1,$2(y2[b-4>>2])),y2[A+16>>2]=0),y2[A+16>>2]=k,y2[A+12>>2]=u,X2[A+20|0]=1,y2[A+8>>2]=y2[A+8>>2]+1,U4(A),o=y2[A+12>>2]-1&i,b=P2(n,12)+k|0}y2[b>>2]=e,e=P2(c,12)+k|0,y2[e+8>>2]=0,y2[e+4>>2]=r,e=y2[A+56>>2]+(c<<2)|0,A=y2[A+36>>2]+(o<<2)|0,y2[e>>2]=y2[A>>2],y2[A>>2]=c}return 0|b},K1,P4,function(A){b(P4(A|=0))},function(A,e,V,r,x){A|=0,e|=0,V|=0,r|=0,x|=0;var f,p,S,J,M,X,y,U,H,P,i=0,a=0,n=0,b=0,t=0,o=j2(0),c=j2(0),k=j2(0),u=j2(0),l=j2(0),s=0,v=j2(0),B=j2(0),d=j2(0),_=0,g=0,Z=j2(0),C=j2(0),w=j2(0),E=j2(0),Q=j2(0),h=j2(0),G=j2(0),F=j2(0),D=j2(0),Y=j2(0),m=j2(0),N=j2(0),R=j2(0),I=0,W=j2(0),j=j2(0),z=0,O=j2(0),K=0,L=0,q=0,$=j2(0),T=(j2(0),j2(0),j2(0),j2(0),j2(0),j2(0),j2(0),j2(0),j2(0),L2-3584|0);if(L2=T,L=y2[e+4>>2],(g=y2[L+72>>2])&&(q=y2[V+4>>2],I=y2[q+72>>2])){if(y2[q+76>>2]!=y2[A+112>>2]||y2[L+76>>2]!=y2[A+108>>2]){if(a=y2[A+84>>2],1<=(0|(n=y2[a+(i=8)>>2]))){for(;;)if((s=y2[y2[a+16>>2]+i>>2])&&(N2[y2[y2[s>>2]>>2]](s),t=y2[A+4>>2],N2[y2[y2[t>>2]+60>>2]](t,s)),i=i+12|0,!(n=n-1|0))break;a=y2[A+84>>2]}H4(a),y2[A+108>>2]=y2[L+76>>2],y2[A+112>>2]=y2[q+76>>2]}y2[84+T>>2]=0,X2[88+T|0]=1,y2[76+T>>2]=0,y2[80+T>>2]=0,y2[(i=232+T|0)>>2]=0,y2[i+4>>2]=0,y2[(i=240+T|0)>>2]=0,y2[i+4>>2]=0,y2[(i=248+T|0)>>2]=0,y2[i+4>>2]=0,y2[(i=256+T|0)>>2]=0,y2[i+4>>2]=0,y2[(i=264+T|0)>>2]=0,y2[i+4>>2]=0,y2[(i=272+T|0)>>2]=0,y2[i+4>>2]=0,y2[280+T>>2]=0,y2[(i=440+T|0)>>2]=0,y2[i+4>>2]=0,y2[(i=448+T|0)>>2]=0,y2[i+4>>2]=0,y2[(i=456+T|0)>>2]=0,y2[i+4>>2]=0,y2[(i=464+T|0)>>2]=0,y2[i+4>>2]=0,y2[(i=472+T|0)>>2]=0,y2[i+4>>2]=0,y2[(i=480+T|0)>>2]=0,y2[i+4>>2]=0,y2[488+T>>2]=0,y2[(i=648+T|0)>>2]=0,y2[i+4>>2]=0,y2[(i=656+T|0)>>2]=0,y2[i+4>>2]=0,y2[(i=664+T|0)>>2]=0,y2[i+4>>2]=0,y2[(i=672+T|0)>>2]=0,y2[i+4>>2]=0,y2[(i=680+T|0)>>2]=0,y2[i+4>>2]=0,y2[(i=688+T|0)>>2]=0,y2[i+4>>2]=0,y2[696+T>>2]=0,y2[112+T>>2]=1025,y2[904+T>>2]=0,y2[(i=896+T|0)>>2]=0,y2[i+4>>2]=0,y2[(i=888+T|0)>>2]=0,y2[i+4>>2]=0,y2[(i=880+T|0)>>2]=0,y2[i+4>>2]=0,y2[(i=872+T|0)>>2]=0,y2[i+4>>2]=0,y2[(i=864+T|0)>>2]=0,y2[i+4>>2]=0,y2[(i=856+T|0)>>2]=0,y2[i+4>>2]=0,y2[(i=1100+T|0)>>2]=0,y2[i+4>>2]=0,y2[(i=1108+T|0)>>2]=0,y2[i+4>>2]=0,y2[(i=1116+T|0)>>2]=0,y2[i+4>>2]=0,y2[(i=1124+T|0)>>2]=0,y2[i+4>>2]=0,y2[(i=1132+T|0)>>2]=0,y2[i+4>>2]=0,y2[(i=1140+T|0)>>2]=0,y2[i+4>>2]=0,y2[1148+T>>2]=0,y2[(i=1308+T|0)>>2]=0,y2[i+4>>2]=0,y2[(i=1316+T|0)>>2]=0,y2[i+4>>2]=0,y2[(i=1324+T|0)>>2]=0,y2[i+4>>2]=0,y2[(i=1332+T|0)>>2]=0,y2[i+4>>2]=0,y2[(i=1340+T|0)>>2]=0,y2[i+4>>2]=0,y2[(i=1348+T|0)>>2]=0,y2[i+4>>2]=0,y2[1356+T>>2]=0,y2[956+T>>2]=0,y2[948+T>>2]=0,y2[952+T>>2]=0,y2[976+T>>2]=0,y2[980+T>>2]=1025,y2[1564+T>>2]=0,y2[(i=1556+T|0)>>2]=0,y2[i+4>>2]=0,y2[(i=1548+T|0)>>2]=0,y2[i+4>>2]=0,y2[(i=1540+T|0)>>2]=0,y2[i+4>>2]=0,y2[(i=1532+T|0)>>2]=0,y2[i+4>>2]=0,y2[(i=1524+T|0)>>2]=0,y2[i+4>>2]=0,y2[(i=1516+T|0)>>2]=0,y2[i+4>>2]=0,y2[1772+T>>2]=0,y2[(i=1764+T|0)>>2]=0,y2[i+4>>2]=0,y2[(i=1756+T|0)>>2]=0,y2[i+4>>2]=0,y2[(i=1748+T|0)>>2]=0,y2[i+4>>2]=0,y2[(i=1740+T|0)>>2]=0,y2[i+4>>2]=0,y2[(i=1732+T|0)>>2]=0,y2[i+4>>2]=0,y2[(i=1724+T|0)>>2]=0,y2[i+4>>2]=0,y2[(i=1844+T|0)>>2]=0,y2[i+4>>2]=1025,y2[(i=1816+T|0)>>2]=0,y2[i+4>>2]=0,y2[1824+T>>2]=0,y2[(i=1968+T|0)>>2]=0,y2[i+4>>2]=0,y2[(i=1976+T|0)>>2]=0,y2[i+4>>2]=0,y2[(i=1984+T|0)>>2]=0,y2[i+4>>2]=0,y2[(i=1992+T|0)>>2]=0,y2[i+4>>2]=0,y2[(i=2e3+T|0)>>2]=0,y2[i+4>>2]=0,y2[(i=2008+T|0)>>2]=0,y2[i+4>>2]=0,y2[2016+T>>2]=0,y2[2224+T>>2]=0,y2[(i=2216+T|0)>>2]=0,y2[i+4>>2]=0,y2[(i=2208+T|0)>>2]=0,y2[i+4>>2]=0,y2[(i=2200+T|0)>>2]=0,y2[i+4>>2]=0,y2[(i=2192+T|0)>>2]=0,y2[i+4>>2]=0,y2[(i=2184+T|0)>>2]=0,y2[i+4>>2]=0,y2[(i=2176+T|0)>>2]=0,y2[i+4>>2]=0,y2[2432+T>>2]=0,y2[(i=2424+T|0)>>2]=0,y2[i+4>>2]=0,y2[(i=2416+T|0)>>2]=0,y2[i+4>>2]=0,y2[(i=2408+T|0)>>2]=0,y2[i+4>>2]=0,y2[(i=2400+T|0)>>2]=0,y2[i+4>>2]=0,y2[(i=2392+T|0)>>2]=0,y2[i+4>>2]=0,y2[(i=2384+T|0)>>2]=0,y2[i+4>>2]=0,y2[2640+T>>2]=0,y2[(i=2632+T|0)>>2]=0,y2[i+4>>2]=0,y2[(i=2624+T|0)>>2]=0,y2[i+4>>2]=0,y2[(i=2616+T|0)>>2]=0,y2[i+4>>2]=0,y2[(i=2608+T|0)>>2]=0,y2[i+4>>2]=0,y2[(i=2600+T|0)>>2]=0,y2[i+4>>2]=0,y2[(i=2592+T|0)>>2]=0,y2[i+4>>2]=0,y2[(i=2712+T|0)>>2]=0,y2[i+4>>2]=1025,y2[2692+T>>2]=0,y2[(i=2684+T|0)>>2]=0,y2[i+4>>2]=0,y2[2884+T>>2]=0,y2[(i=2876+T|0)>>2]=0,y2[i+4>>2]=0,y2[(i=2868+T|0)>>2]=0,y2[i+4>>2]=0,y2[(i=2860+T|0)>>2]=0,y2[i+4>>2]=0,y2[(i=2852+T|0)>>2]=0,y2[i+4>>2]=0,y2[(i=2844+T|0)>>2]=0,y2[i+4>>2]=0,y2[(i=2836+T|0)>>2]=0,y2[i+4>>2]=0,y2[3092+T>>2]=0,y2[(i=3084+T|0)>>2]=0,y2[i+4>>2]=0,y2[(i=3076+T|0)>>2]=0,y2[i+4>>2]=0,y2[(i=3068+T|0)>>2]=0,y2[i+4>>2]=0,y2[(i=3060+T|0)>>2]=0,y2[i+4>>2]=0,y2[(i=3052+T|0)>>2]=0,y2[i+4>>2]=0,y2[(i=3044+T|0)>>2]=0,y2[i+4>>2]=0,y2[3300+T>>2]=0,y2[(i=3292+T|0)>>2]=0,y2[i+4>>2]=0,y2[(i=3284+T|0)>>2]=0,y2[i+4>>2]=0,y2[(i=3276+T|0)>>2]=0,y2[i+4>>2]=0,y2[(i=3268+T|0)>>2]=0,y2[i+4>>2]=0,y2[(i=3260+T|0)>>2]=0,y2[i+4>>2]=0,y2[(i=3252+T|0)>>2]=0,y2[i+4>>2]=0,y2[3508+T>>2]=0,y2[(i=3500+T|0)>>2]=0,y2[i+4>>2]=0,y2[(i=3492+T|0)>>2]=0,y2[i+4>>2]=0,y2[(i=3484+T|0)>>2]=0,y2[i+4>>2]=0,y2[(i=3476+T|0)>>2]=0,y2[i+4>>2]=0,y2[(i=3468+T|0)>>2]=0,y2[i+4>>2]=0,y2[(i=3460+T|0)>>2]=0,y2[i+4>>2]=0,y2[3580+T>>2]=0,y2[3560+T>>2]=0,y2[(i=3552+T|0)>>2]=0,y2[i+4>>2]=0,X2[88+T|0]=0,y2[84+T>>2]=112+T,y2[76+T>>2]=0,y2[80+T>>2]=4,s=y2[A+84>>2],b=y2[s+8>>2];A:{if(!((0|b)<=0)){for(t=0;;){if(i=y2[8+(y2[s+16>>2]+P2(t,12)|0)>>2]){if(N2[y2[y2[i>>2]+16>>2]](i,72+T|0),1<=(0|(i=y2[76+T>>2])))for(n=b=0;;)if(a=y2[y2[84+T>>2]+b>>2],y2[a+844>>2]&&(y2[x+4>>2]=a,z=y2[a+836>>2],_=y2[y2[x+8>>2]+8>>2],K=a,a=y2[y2[x+12>>2]+8>>2],W2(K,((i=(0|z)==(0|_))?z:a)+4|0,(i?a:_)+4|0),y2[x+4>>2]=0,i=y2[76+T>>2]),b=b+4|0,!((0|(n=n+1|0))<(0|i)))break;if((0|i)<=-1)for(y2[80+T>>2]<=-1&&((a=y2[84+T>>2])&&(U2[88+T|0]&&(y2[6503]=y2[6503]+1,$2(y2[a-4>>2])),y2[84+T>>2]=0),X2[88+T|0]=1,y2[80+T>>2]=0,y2[84+T>>2]=0),b=i<<2;;)if(b=b+4|(y2[y2[84+T>>2]+b>>2]=0),!((a=i)>>>0<=(i=i+1|0)>>>0))break;y2[76+T>>2]=0,b=y2[s+8>>2]}if(!((0|(t=t+1|0))<(0|b)))break}if(!(i=y2[84+T>>2]))break A;U2[88+T|0]&&(y2[6503]=y2[6503]+1,$2(y2[i-4>>2]))}y2[84+T>>2]=0}if(y2[92+T>>2]=r,y2[76+T>>2]=0,y2[72+T>>2]=20512,y2[88+T>>2]=y2[A+4>>2],y2[104+T>>2]=y2[A+72>>2],y2[100+T>>2]=y2[A+84>>2],y2[84+T>>2]=V,r=y2[V+12>>2],o=H2[r+56>>2],y2[80+T>>2]=e,i=y2[e+12>>2],c=H2[i+40>>2],Y=H2[r+52>>2],k=H2[i+24>>2],E=H2[r+48>>2],B=H2[i+8>>2],m=H2[i+56>>2],W=H2[i+52>>2],Q=H2[i+48>>2],u=H2[i+36>>2],l=H2[i+20>>2],d=H2[i+4>>2],h=H2[r+40>>2],N=H2[r+24>>2],G=H2[r+8>>2],R=H2[r+36>>2],C=H2[r+20>>2],F=H2[r+4>>2],Z=H2[i>>2],w=H2[i+16>>2],v=H2[i+32>>2],D=H2[r+16>>2],j=H2[r>>2],O=H2[r+32>>2],y2[96+T>>2]=x,(r=y2[g>>2])&&(i=y2[I>>2])){for(W=j2(-W),$=j2(j2(j2(j2(k*W)-j2(B*Q))-j2(c*m))+j2(j2(j2(B*E)+j2(k*Y))+j2(c*o))),X=j2(j2(j2(j2(l*W)-j2(d*Q))-j2(u*m))+j2(j2(j2(d*E)+j2(l*Y))+j2(u*o))),Y=j2(j2(j2(j2(w*W)-j2(Z*Q))-j2(v*m))+j2(j2(j2(Z*E)+j2(w*Y))+j2(v*o))),o=H2[x+32>>2],y2[116+T>>2]=i,y2[112+T>>2]=r,E=j2(j2(j2(B*G)+j2(k*N))+j2(c*h)),m=j2(z2(E)),Q=j2(j2(j2(B*F)+j2(k*C))+j2(c*R)),W=j2(z2(Q)),p=j2(j2(j2(B*j)+j2(k*D))+j2(c*O)),y=j2(z2(p)),S=j2(j2(j2(d*G)+j2(l*N))+j2(u*h)),U=j2(z2(S)),J=j2(j2(j2(d*F)+j2(l*C))+j2(u*R)),H=j2(z2(J)),M=j2(j2(j2(d*j)+j2(l*D))+j2(u*O)),P=j2(z2(M)),h=j2(j2(j2(Z*G)+j2(w*N))+j2(v*h)),N=j2(z2(h)),G=j2(j2(j2(Z*F)+j2(w*C))+j2(v*R)),R=j2(z2(G)),Z=j2(j2(j2(Z*j)+j2(w*D))+j2(v*O)),w=j2(z2(Z)),I=124,a=112+T|0,r=t=128,n=0,b=1;;){A:{e:{r:{if(f=y2[(i=(K=(z=b-1|0)<<3)+a|0)>>2],_=y2[i+4>>2],u=H2[_+16>>2],l=H2[_>>2],c=j2(j2(j2(u-l)*j2(.5))+j2(0)),d=H2[_+20>>2],v=H2[_+4>>2],k=j2(j2(j2(d-v)*j2(.5))+j2(0)),C=H2[_+24>>2],F=H2[_+8>>2],B=j2(j2(j2(C-F)*j2(.5))+j2(0)),D=j2(j2(j2(w*c)+j2(R*k))+j2(N*B)),u=j2(j2(u+l)*j2(.5)),l=j2(j2(d+v)*j2(.5)),d=j2(j2(C+F)*j2(.5)),v=j2(Y+j2(j2(j2(Z*u)+j2(G*l))+j2(h*d))),H2[f>>2]<=j2(o+j2(D+v))&&H2[f+16>>2]>=j2(j2(v-D)-o)&&(v=j2(j2(j2(P*c)+j2(H*k))+j2(U*B)),C=j2(X+j2(j2(j2(M*u)+j2(J*l))+j2(S*d))),H2[f+4>>2]<=j2(o+j2(v+C)))&&H2[f+20>>2]>=j2(j2(C-v)-o)&&(c=j2(j2(j2(y*c)+j2(W*k))+j2(m*B)),k=j2($+j2(j2(j2(p*u)+j2(Q*l))+j2(E*d))),H2[f+8>>2]<=j2(o+j2(c+k)))&&H2[f+24>>2]>=j2(j2(k-c)-o)){if((0|z)<=(0|I))s=t,i=a,g=n;else{f:if((0|(s=t<<1))<=(0|t)||(0|s)<=(0|r))i=a,g=n;else{i=0;i:{a:{if(t&&(y2[6502]=y2[6502]+1,(r=q2(16+(t<<4|3)|0))&&(y2[(i=r+19&-16)-4>>2]=r),!((0|t)<1))){for(I=i,r=a;;)if(g=y2[r+4>>2],y2[I>>2]=y2[r>>2],y2[I+4>>2]=g,I=I+8|0,r=r+8|0,!(t=t-1|0))break;if(255&n)break a;break i}if(g=1,!a)break i;if(r=s,!(255&n))break f}y2[6503]=y2[6503]+1,$2(y2[a-4>>2])}g=1,r=s}I=s-4|0}if(a=y2[_+40>>2],y2[f+40>>2]){if(n=y2[f+36>>2],a){y2[(a=i+K|0)+4>>2]=y2[_+36>>2],y2[a>>2]=n,n=y2[f+40>>2],y2[(a=(b<<3)+i|0)+4>>2]=y2[_+36>>2],y2[a>>2]=n,n=y2[f+36>>2],y2[a+12>>2]=y2[_+40>>2],y2[a+8>>2]=n,n=y2[f+40>>2],y2[a+20>>2]=y2[_+40>>2],y2[a+16>>2]=n,b=b+3|0;break e}y2[(a=i+K|0)+4>>2]=_,y2[a>>2]=n,a=y2[f+40>>2],y2[(n=(b<<3)+i|0)+4>>2]=_,y2[n>>2]=a;break r}if(a){y2[(a=i+K|0)+4>>2]=y2[_+36>>2],y2[a>>2]=f,y2[(a=(b<<3)+i|0)+4>>2]=y2[_+40>>2],y2[a>>2]=f;break r}N2[y2[y2[72+T>>2]+8>>2]](72+T|0,f,_),t=s,a=i,n=g}b=z;break A}b=b+1|0}t=s,a=i,n=g}if(!b)break}a&&255&n&&(y2[6503]=y2[6503]+1,$2(y2[a-4>>2]))}if(s=y2[A+84>>2],1<=y2[s+8>>2])for(a=0;;){if(r=(g=P2(a,12))+y2[s+16>>2]|0,(n=y2[r+8>>2])&&(r=y2[L+32>>2]+P2(y2[r>>2],80)|0,t=y2[r+64>>2],i=y2[e+12>>2],j=H2[i+52>>2],O=H2[i+56>>2],v=H2[r+48>>2],Y=H2[r+52>>2],E=H2[r+56>>2],m=H2[r+4>>2],Q=H2[r+20>>2],h=H2[r+36>>2],N=H2[r+8>>2],G=H2[r+24>>2],R=H2[r+40>>2],o=H2[i+20>>2],c=H2[i+24>>2],C=H2[r>>2],k=H2[i+36>>2],F=H2[r+16>>2],B=H2[i+40>>2],D=H2[r+32>>2],W=H2[i+48>>2],u=H2[i+8>>2],l=H2[i>>2],d=H2[i+4>>2],Z=H2[i+16>>2],w=H2[i+32>>2],y2[172+T>>2]=0,y2[156+T>>2]=0,y2[140+T>>2]=0,y2[124+T>>2]=0,H2[144+T>>2]=j2(j2(w*C)+j2(k*F))+j2(B*D),H2[128+T>>2]=j2(j2(Z*C)+j2(o*F))+j2(c*D),H2[112+T>>2]=j2(j2(l*C)+j2(d*F))+j2(u*D),H2[152+T>>2]=j2(j2(w*N)+j2(k*G))+j2(B*R),H2[148+T>>2]=j2(j2(w*m)+j2(k*Q))+j2(B*h),H2[136+T>>2]=j2(j2(Z*N)+j2(o*G))+j2(c*R),H2[132+T>>2]=j2(j2(Z*m)+j2(o*Q))+j2(c*h),H2[120+T>>2]=j2(j2(l*N)+j2(d*G))+j2(u*R),H2[116+T>>2]=j2(j2(l*m)+j2(d*Q))+j2(u*h),H2[168+T>>2]=O+j2(j2(j2(w*v)+j2(k*Y))+j2(B*E)),H2[164+T>>2]=j+j2(j2(j2(Z*v)+j2(o*Y))+j2(c*E)),H2[160+T>>2]=W+j2(j2(j2(l*v)+j2(d*Y))+j2(u*E)),N2[y2[y2[t>>2]+8>>2]](t,112+T|0,56+T|0,40+T|0),o=H2[x+32>>2],H2[56+T>>2]=H2[56+T>>2]-o,H2[60+T>>2]=H2[60+T>>2]-o,H2[64+T>>2]=H2[64+T>>2]-o,H2[40+T>>2]=o+H2[40+T>>2],H2[44+T>>2]=o+H2[44+T>>2],H2[48+T>>2]=o+H2[48+T>>2],r=y2[q+32>>2]+P2(y2[4+(g+y2[s+16>>2]|0)>>2],80)|0,t=y2[r+64>>2],i=y2[V+12>>2],O=H2[i+52>>2],W=H2[i+56>>2],Y=H2[r+48>>2],E=H2[r+52>>2],m=H2[r+56>>2],Q=H2[r+4>>2],h=H2[r+20>>2],N=H2[r+36>>2],G=H2[r+8>>2],R=H2[r+24>>2],C=H2[r+40>>2],c=H2[i+20>>2],k=H2[i+24>>2],F=H2[r>>2],B=H2[i+36>>2],D=H2[r+16>>2],u=H2[i+40>>2],j=H2[r+32>>2],$=H2[i+48>>2],l=H2[i+8>>2],d=H2[i>>2],Z=H2[i+4>>2],w=H2[i+16>>2],v=H2[i+32>>2],y2[172+T>>2]=0,y2[156+T>>2]=0,y2[140+T>>2]=0,y2[124+T>>2]=0,H2[144+T>>2]=j2(j2(v*F)+j2(B*D))+j2(u*j),H2[128+T>>2]=j2(j2(w*F)+j2(c*D))+j2(k*j),H2[112+T>>2]=j2(j2(d*F)+j2(Z*D))+j2(l*j),H2[152+T>>2]=j2(j2(v*G)+j2(B*R))+j2(u*C),H2[148+T>>2]=j2(j2(v*Q)+j2(B*h))+j2(u*N),H2[136+T>>2]=j2(j2(w*G)+j2(c*R))+j2(k*C),H2[132+T>>2]=j2(j2(w*Q)+j2(c*h))+j2(k*N),H2[120+T>>2]=j2(j2(d*G)+j2(Z*R))+j2(l*C),H2[116+T>>2]=j2(j2(d*Q)+j2(Z*h))+j2(l*N),H2[168+T>>2]=W+j2(j2(j2(v*Y)+j2(B*E))+j2(u*m)),H2[164+T>>2]=O+j2(j2(j2(w*Y)+j2(c*E))+j2(k*m)),H2[160+T>>2]=$+j2(j2(j2(d*Y)+j2(Z*E))+j2(l*m)),N2[y2[y2[t>>2]+8>>2]](t,112+T|0,24+T|0,8+T|0),c=j2(H2[24+T>>2]-o),H2[24+T>>2]=c,k=j2(H2[28+T>>2]-o),H2[28+T>>2]=k,B=j2(H2[32+T>>2]-o),H2[32+T>>2]=B,u=j2(o+H2[8+T>>2]),H2[8+T>>2]=u,l=j2(o+H2[16+T>>2]),H2[16+T>>2]=l,o=j2(o+H2[12+T>>2]),(H2[12+T>>2]=o)>2]||k>H2[44+T>>2]||u>2]||c>H2[40+T>>2]||l>2]||B>H2[48+T>>2])){if(N2[y2[y2[n>>2]>>2]](n),r=y2[A+4>>2],N2[y2[y2[r>>2]+60>>2]](r,n),r=g+y2[s+16>>2]|0,I=y2[r+4>>2],z=y2[r>>2],(0|(b=y2[A+92>>2]))==y2[A+96>>2]&&!((0|(r=b?b<<1:1))<=(0|b))){if(r?(t=0,y2[6502]=y2[6502]+1,(i=q2(16+(3|P2(r,12))|0))&&(y2[(t=i+19&-16)-4>>2]=i)):t=0,1<=(0|b))for(i=0;;)if(g=y2[A+100>>2]+i|0,_=y2[g+4>>2],y2[(n=i+t|0)>>2]=y2[g>>2],y2[n+4>>2]=_,y2[n+8>>2]=y2[g+8>>2],i=i+12|0,!(b=b-1|0))break;(i=y2[A+100>>2])&&(U2[A+104|0]&&(y2[6503]=y2[6503]+1,$2(y2[i-4>>2])),y2[A+100>>2]=0),y2[A+100>>2]=t,X2[A+104|0]=1,y2[A+96>>2]=r,b=y2[A+92>>2]}r=y2[A+100>>2]+P2(b,12)|0,y2[r+8>>2]=0,y2[r+4>>2]=I,y2[r>>2]=z,y2[A+92>>2]=y2[A+92>>2]+1}if(!((0|(a=a+1|0))>2]))break}if(1<=y2[A+92>>2])for(b=0,i=4;;)if(e=y2[A+84>>2],V=y2[A+100>>2]+i|0,N2[y2[y2[e>>2]+8>>2]](e,y2[V-4>>2],y2[V>>2]),i=i+12|0,!((0|(b=b+1|0))>2]))break;(e=y2[A+100>>2])&&(U2[A+104|0]&&(y2[6503]=y2[6503]+1,$2(y2[e-4>>2])),y2[A+100>>2]=0),y2[A+100>>2]=0,y2[A+92>>2]=0,y2[A+96>>2]=0,X2[A+104|0]=1}else X4(A,e,V,r,x);L2=3584+T|0},function(A,e,r,f,i){return j2(j2(0))},function(A,e){e|=0;var r,f=0,i=0,a=0,f=8;if(A=y2[(A|=0)+84>>2],1<=(0|(i=y2[A+8>>2])))for(;;)if((r=y2[y2[A+16>>2]+f>>2])&&(N2[y2[y2[r>>2]+16>>2]](r,e),i=y2[A+8>>2]),f=f+12|0,!((0|(a=a+1|0))<(0|i)))break},A,function(A,e,r){A|=0,e|=0,r|=0,j2(0),j2(0),j2(0),j2(0),j2(0),j2(0),j2(0),j2(0);var f,i,a,n,b,t,o,c,k,u,l,s,v,B,d,_,g,Z,C,w,E,Q,h,G,F,D,Y,m=0,N=(j2(0),0),R=(j2(0),j2(0),j2(0),j2(0),j2(0),j2(0),j2(0),j2(0),j2(0),j2(0),j2(0),j2(0),j2(0),L2-240|0);if(L2=R,y2[A+4>>2]=y2[A+4>>2]+1,E=y2[r+36>>2],F=P2(E,80),Y=y2[A+12>>2],D=y2[Y+4>>2]+32|0,m=y2[64+(F+y2[D>>2]|0)>>2],r=y2[A+8>>2],Q=y2[e+36>>2],e=y2[y2[r+4>>2]+32>>2]+P2(Q,80)|0,N=y2[e+64>>2],r=y2[r+12>>2],l=H2[r+52>>2],k=H2[r+56>>2],a=H2[r+24>>2],b=H2[r+20>>2],f=H2[r+40>>2],i=H2[r+36>>2],h=H2[r+48>>2],t=H2[r+8>>2],o=H2[r>>2],c=H2[r+4>>2],u=H2[r+16>>2],n=H2[r+32>>2],y2[236+R>>2]=r=0,y2[220+R>>2]=0,y2[204+R>>2]=0,s=H2[e+8>>2],v=H2[e+24>>2],B=H2[e+40>>2],H2[216+R>>2]=j2(j2(n*s)+j2(i*v))+j2(f*B),d=H2[e+4>>2],_=H2[e+20>>2],g=H2[e+36>>2],H2[212+R>>2]=j2(j2(n*d)+j2(i*_))+j2(f*g),H2[200+R>>2]=j2(j2(u*s)+j2(b*v))+j2(a*B),H2[196+R>>2]=j2(j2(u*d)+j2(b*_))+j2(a*g),Z=k,k=H2[e+48>>2],C=H2[e+52>>2],w=H2[e+56>>2],H2[232+R>>2]=Z+j2(j2(j2(n*k)+j2(i*C))+j2(f*w)),H2[228+R>>2]=l+j2(j2(j2(u*k)+j2(b*C))+j2(a*w)),y2[188+R>>2]=0,Z=n,n=H2[e>>2],l=i,i=H2[e+16>>2],G=f,f=H2[e+32>>2],H2[208+R>>2]=j2(j2(Z*n)+j2(l*i))+j2(G*f),H2[192+R>>2]=j2(j2(u*n)+j2(b*i))+j2(a*f),H2[184+R>>2]=j2(j2(o*s)+j2(c*v))+j2(t*B),H2[180+R>>2]=j2(j2(o*d)+j2(c*_))+j2(t*g),H2[176+R>>2]=j2(j2(o*n)+j2(c*i))+j2(t*f),H2[224+R>>2]=h+j2(j2(j2(o*k)+j2(c*C))+j2(t*w)),e=y2[Y+12>>2],l=H2[e+52>>2],k=H2[e+56>>2],a=H2[e+24>>2],b=H2[e+20>>2],f=H2[e+40>>2],i=H2[e+36>>2],Y=y2[D>>2],h=H2[e+48>>2],t=H2[e+8>>2],o=H2[e>>2],c=H2[e+4>>2],u=H2[e+16>>2],n=H2[e+32>>2],y2[172+R>>2]=0,y2[156+R>>2]=0,y2[140+R>>2]=0,s=H2[(e=Y+F|0)+8>>2],v=H2[e+24>>2],B=H2[e+40>>2],H2[152+R>>2]=j2(j2(n*s)+j2(i*v))+j2(f*B),d=H2[e+4>>2],_=H2[e+20>>2],g=H2[e+36>>2],H2[148+R>>2]=j2(j2(n*d)+j2(i*_))+j2(f*g),H2[136+R>>2]=j2(j2(u*s)+j2(b*v))+j2(a*B),H2[132+R>>2]=j2(j2(u*d)+j2(b*_))+j2(a*g),Z=k,k=H2[e+48>>2],C=H2[e+52>>2],w=H2[e+56>>2],H2[168+R>>2]=Z+j2(j2(j2(n*k)+j2(i*C))+j2(f*w)),H2[164+R>>2]=l+j2(j2(j2(u*k)+j2(b*C))+j2(a*w)),y2[124+R>>2]=0,Z=n,n=H2[e>>2],l=i,i=H2[e+16>>2],G=f,f=H2[e+32>>2],H2[144+R>>2]=j2(j2(Z*n)+j2(l*i))+j2(G*f),H2[128+R>>2]=j2(j2(u*n)+j2(b*i))+j2(a*f),H2[120+R>>2]=j2(j2(o*s)+j2(c*v))+j2(t*B),H2[116+R>>2]=j2(j2(o*d)+j2(c*_))+j2(t*g),H2[112+R>>2]=j2(j2(o*n)+j2(c*i))+j2(t*f),H2[160+R>>2]=h+j2(j2(j2(o*k)+j2(c*C))+j2(t*w)),N2[y2[y2[N>>2]+8>>2]](N,176+R|0,96+R|0,80+R|0),N2[y2[y2[m>>2]+8>>2]](m,112+R|0,R+64|0,48+R|0),a=H2[y2[A+24>>2]+32>>2],b=j2(H2[100+R>>2]-a),H2[100+R>>2]=b,f=j2(H2[104+R>>2]-a),H2[104+R>>2]=f,i=j2(a+H2[80+R>>2]),H2[80+R>>2]=i,t=j2(a+H2[84+R>>2]),H2[84+R>>2]=t,o=j2(a+H2[88+R>>2]),H2[88+R>>2]=o,c=j2(H2[96+R>>2]-a),e=0,(H2[96+R>>2]=c)>H2[48+R>>2]||(e=0,i>2])||(e=1),f>H2[56+R>>2]||o>2]||(r=e),!(b>H2[52+R>>2]||t>2]||1^r)){y2[40+R>>2]=-1,y2[28+R>>2]=N,e=y2[A+8>>2],y2[24+R>>2]=e,y2[32+R>>2]=y2[e+8>>2],y2[36+R>>2]=176+R,y2[44+R>>2]=Q,y2[6689]=y2[6689]+1,y2[16+R>>2]=-1,y2[4+R>>2]=m,e=y2[A+12>>2],y2[R>>2]=e,y2[8+R>>2]=y2[e+8>>2],y2[20+R>>2]=E,m=y2[A+28>>2],e=y2[m+12>>2],r=y2[m+28>>2],y2[12+R>>2]=112+R,N=e-1|0,e=P2((e=((e=E<<16|Q)<<15^-1)+e|0)>>>10^e,9),e=N&((e=((e^=e>>>6)<<11^-1)+e|0)>>>16^e);A:{if(!((0|r)<=(0|e))&&-1!=(0|(e=y2[y2[m+36>>2]+(e<<2)>>2])))for(N=y2[m+16>>2];;){if(r=N+P2(e,12)|0,y2[r+4>>2]==(0|E)&&y2[r>>2]==(0|Q))break A;if(-1==(0|(e=y2[y2[m+56>>2]+(e<<2)>>2])))break}r=0}a>j2(0)?(e=y2[A+16>>2],r=0|N2[y2[y2[e>>2]+8>>2]](e,24+R|0,R,0,2)):r?r=y2[r+8>>2]:(e=y2[A+16>>2],r=0|N2[y2[y2[e>>2]+8>>2]](e,24+R|0,R,y2[A+32>>2],1),e=y2[A+28>>2],D=0|N2[y2[y2[e>>2]+12>>2]](e,Q,E),Y=r,y2[8+D>>2]=Y),e=y2[A+24>>2],m=y2[e+12>>2],N=y2[e+8>>2],y2[e+12>>2]=R,y2[e+8>>2]=24+R,N2[y2[y2[e>>2]+8>>2]](e,-1,Q),e=y2[A+24>>2],N2[y2[y2[e>>2]+12>>2]](e,-1,E),N2[y2[y2[r>>2]+8>>2]](r,24+R|0,R,y2[A+20>>2],y2[A+24>>2]),A=y2[A+24>>2],y2[A+8>>2]=N,y2[A+12>>2]=m}L2=240+R|0},X1,e,A,function(A,e,r,f,i){},j4,X1,function(A){var e,r;return y2[(A|=0)>>2]=20692,U2[A+8|0]&&(e=y2[A+12>>2])&&(r=y2[A+4>>2],N2[y2[y2[r>>2]+16>>2]](r,e)),0|A},function(A){var e,r;y2[(A|=0)>>2]=20692,U2[A+8|0]&&(e=y2[A+12>>2])&&(r=y2[A+4>>2],N2[y2[y2[r>>2]+16>>2]](r,e)),b(A)},function(A,e,r,f,i){A|=0,e|=0,r|=0,f|=0,i|=0;var a,n,b,t,o=j2(0),c=j2(0),k=j2(0);j2(0),j2(0),j2(0),j2(0),j2(0),j2(0),L2=f=L2-32|0,(A=y2[A+12>>2])&&(y2[i+4>>2]=A,y2[A+844>>2]=0,A=y2[e+4>>2],o=j2(H2[A+36>>2]*H2[A+20>>2]),A=y2[r+4>>2],a=j2(H2[A+36>>2]*H2[A+20>>2]),n=j2(o+a),A=y2[e+12>>2],e=y2[r+12>>2],r=H2[e+48>>2],b=j2(H2[A+48>>2]-r),t=H2[e+52>>2],c=j2(H2[A+52>>2]-t),e=H2[e+56>>2],k=j2(H2[A+56>>2]-e),o=j2(K2(j2(j2(j2(b*b)+j2(c*c))+j2(k*k)))),j2(n+H2[i+32>>2])>2]=0,y2[f+28>>2]=0,y2[f+16>>2]=1065353216,y2[f+20>>2]=0,n=j2(o-n),o>j2(1.1920928955078125e-7)?(y2[f+28>>2]=0,o=j2(j2(1)/o),k=j2(k*o),H2[f+24>>2]=k,c=j2(c*o),H2[f+20>>2]=c,o=j2(b*o),H2[f+16>>2]=o):(o=j2(1),k=j2(0),c=j2(0)),y2[f+12>>2]=0,H2[f+8>>2]=j2(a*k)+e,H2[f+4>>2]=j2(a*c)+t,H2[f>>2]=j2(a*o)+r,N2[y2[y2[i>>2]+16>>2]](i,f+16|0,f,n))),L2=f+32|0},j4,z4,A,O4,function(A){var e,r;return y2[(A|=0)>>2]=20828,U2[A+8|0]&&(e=y2[A+12>>2])&&(r=y2[A+4>>2],N2[y2[y2[r>>2]+16>>2]](r,e)),0|A},function(A){var e,r;y2[(A|=0)>>2]=20828,U2[A+8|0]&&(e=y2[A+12>>2])&&(r=y2[A+4>>2],N2[y2[y2[r>>2]+16>>2]](r,e)),b(A)},function(A,e,r,f,i){var a,n,b,t,o,c,k,u,l,s,v;e|=0,r|=0,f|=0,i|=0,L2=v=L2-160|0,(a=y2[(A|=0)+12>>2])&&(y2[i+4>>2]=a,u=U2[A+16|0],b=y2[(n=u?r:e)+4>>2],y2[152+v>>2]=y2[(r=u?e:r)+4>>2],y2[148+v>>2]=b,y2[144+v>>2]=20768,H2[156+v>>2]=H2[a+848>>2]+H2[i+32>>2],y2[136+v>>2]=1566444395,e=y2[n+12>>2],b=y2[4+(n=e+8|0)>>2],y2[(a=16+v|0)>>2]=y2[n>>2],y2[4+a>>2]=b,a=y2[e>>2],n=y2[e+4>>2],t=y2[4+(o=e+24|0)>>2],y2[(b=32+v|0)>>2]=y2[o>>2],y2[4+b>>2]=t,b=y2[e+16>>2],o=y2[e+20>>2],k=y2[4+(c=e+40|0)>>2],y2[(t=48+v|0)>>2]=y2[c>>2],y2[4+t>>2]=k,t=y2[e+32>>2],c=y2[e+36>>2],s=y2[4+(l=e+56|0)>>2],y2[(k=v+64|0)>>2]=y2[l>>2],y2[4+k>>2]=s,y2[8+v>>2]=a,y2[12+v>>2]=n,y2[24+v>>2]=b,y2[28+v>>2]=o,y2[40+v>>2]=t,y2[44+v>>2]=c,a=y2[e+52>>2],y2[56+v>>2]=y2[e+48>>2],y2[60+v>>2]=a,e=y2[r+12>>2],n=y2[(r=e+8|0)+4>>2],y2[(a=80+v|0)>>2]=y2[r>>2],y2[4+a>>2]=n,r=y2[e+4>>2],y2[72+v>>2]=y2[e>>2],y2[76+v>>2]=r,a=y2[e+20>>2],y2[(r=88+v|0)>>2]=y2[e+16>>2],y2[r+4>>2]=a,n=y2[4+(a=e+24|0)>>2],y2[(r=96+v|0)>>2]=y2[a>>2],y2[r+4>>2]=n,n=y2[4+(a=e+40|0)>>2],y2[(r=112+v|0)>>2]=y2[a>>2],y2[r+4>>2]=n,a=y2[e+36>>2],y2[(r=104+v|0)>>2]=y2[e+32>>2],y2[r+4>>2]=a,a=y2[e+52>>2],y2[(r=120+v|0)>>2]=y2[e+48>>2],y2[r+4>>2]=a,a=y2[(e=e+56|0)+4>>2],y2[(r=128+v|0)>>2]=y2[e>>2],y2[r+4>>2]=a,O4(144+v|0,8+v|0,i,y2[f+20>>2],u),U2[A+8|0])&&(A=y2[i+4>>2],y2[A+844>>2])&&((0|(e=y2[A+836>>2]))!=(0|(r=y2[y2[i+8>>2]+8>>2]))?W2(A,y2[y2[i+12>>2]+8>>2]+4|0,r+4|0):W2(A,e+4|0,y2[y2[i+12>>2]+8>>2]+4|0)),L2=160+v|0},j4,z4,A,K4,function(A){var e,r;return y2[(A|=0)>>2]=20960,U2[A+8|0]&&(e=y2[A+12>>2])&&(r=y2[A+4>>2],N2[y2[y2[r>>2]+16>>2]](r,e)),0|A},function(A){var e,r;y2[(A|=0)>>2]=20960,U2[A+8|0]&&(e=y2[A+12>>2])&&(r=y2[A+4>>2],N2[y2[y2[r>>2]+16>>2]](r,e)),b(A)},function(A,e,r,f,i){var a,n,b,t,o,c;e|=0,r|=0,f|=0,i|=0,L2=c=L2-160|0,(t=y2[(A|=0)+12>>2])&&(y2[i+4>>2]=t,t=y2[e+4>>2],o=y2[r+4>>2],e=y2[e+12>>2],b=y2[4+(n=e+8|0)>>2],y2[(a=32+c|0)>>2]=y2[n>>2],y2[4+a>>2]=b,b=y2[4+(n=e+24|0)>>2],y2[(a=48+c|0)>>2]=y2[n>>2],y2[4+a>>2]=b,b=y2[4+(n=e+40|0)>>2],y2[(a=c+64|0)>>2]=y2[n>>2],y2[4+a>>2]=b,b=y2[4+(n=e+56|0)>>2],y2[(a=80+c|0)>>2]=y2[n>>2],y2[4+a>>2]=b,y2[152+c>>2]=1566444395,a=y2[e+4>>2],y2[24+c>>2]=y2[e>>2],y2[28+c>>2]=a,a=y2[e+20>>2],y2[40+c>>2]=y2[e+16>>2],y2[44+c>>2]=a,a=y2[e+36>>2],y2[56+c>>2]=y2[e+32>>2],y2[60+c>>2]=a,a=y2[e+52>>2],y2[72+c>>2]=y2[e+48>>2],y2[76+c>>2]=a,e=y2[r+12>>2],n=y2[(r=e+8|0)+4>>2],y2[(a=96+c|0)>>2]=y2[r>>2],y2[4+a>>2]=n,a=y2[e+20>>2],y2[(r=104+c|0)>>2]=y2[e+16>>2],y2[r+4>>2]=a,n=y2[4+(a=e+24|0)>>2],y2[(r=112+c|0)>>2]=y2[a>>2],y2[r+4>>2]=n,a=y2[e+36>>2],y2[(r=120+c|0)>>2]=y2[e+32>>2],y2[r+4>>2]=a,n=y2[4+(a=e+40|0)>>2],y2[(r=128+c|0)>>2]=y2[a>>2],y2[r+4>>2]=n,a=y2[e+52>>2],y2[(r=136+c|0)>>2]=y2[e+48>>2],y2[r+4>>2]=a,n=y2[4+(a=e+56|0)>>2],y2[(r=144+c|0)>>2]=y2[a>>2],y2[r+4>>2]=n,r=y2[e+4>>2],y2[88+c>>2]=y2[e>>2],y2[92+c>>2]=r,y2[16+c>>2]=o,y2[12+c>>2]=t,y2[8+c>>2]=20908,K4(8+c|0,24+c|0,i,y2[f+20>>2],0),U2[A+8|0])&&(A=y2[i+4>>2],y2[A+844>>2])&&((0|(e=y2[A+836>>2]))!=(0|(r=y2[y2[i+8>>2]+8>>2]))?W2(A,y2[y2[i+12>>2]+8>>2]+4|0,r+4|0):W2(A,e+4|0,y2[y2[i+12>>2]+8>>2]+4|0)),L2=160+c|0},j4,z4,function(A){var e,r;return y2[(A|=0)>>2]=21032,U2[A+8|0]&&(e=y2[A+12>>2])&&(r=y2[A+4>>2],N2[y2[y2[r>>2]+16>>2]](r,e)),0|A},function(A){var e,r;y2[(A|=0)>>2]=21032,U2[A+8|0]&&(e=y2[A+12>>2])&&(r=y2[A+4>>2],N2[y2[y2[r>>2]+16>>2]](r,e)),b(A)},function(A,V,x,e,r){A|=0,V|=0,x|=0,e|=0,r|=0;var f,i,a,n,b,t,o,c,k,u,l,s,v,B,d,_,g,Z,C,w,E,p,S,J,M,X,y,U,H,P,j,z,O,K,L,q,Q=j2(0),h=j2(0),G=j2(0),F=j2(0),D=j2(0),Y=j2(0),m=(j2(0),j2(0)),N=j2(0),R=(j2(0),j2(0)),I=(j2(0),j2(0)),W=(j2(0),j2(0),0),T=(j2(0),j2(0),j2(0),j2(0),j2(0),j2(0),j2(0),j2(0)),$=(j2(0),j2(0),0),A2=(j2(0),j2(0),j2(0),j2(0),j2(0),j2(0),j2(0)),e2=(j2(0),j2(0)),r2=(j2(0),0),f2=j2(0),i2=j2(0),a2=(j2(0),j2(0),j2(0),j2(0),j2(0),j2(0),j2(0));if(j2(0),j2(0),j2(0),j2(0),j2(0),L2=e=L2+-64|0,y2[A+12>>2]){if(b=U2[A+16|0],f=y2[($=b?V:x)+12>>2],a=H2[f+56>>2],e2=H2[f+52>>2],w=H2[f+48>>2],i=y2[(b=b?x:V)+12>>2],E=H2[i+56>>2],p=H2[i+52>>2],S=H2[i+48>>2],W=y2[b+4>>2],Q=H2[i+32>>2],h=H2[i>>2],F=H2[i+16>>2],k=H2[i+36>>2],u=H2[i+20>>2],l=H2[i+4>>2],G=H2[f+40>>2],Y=H2[f+24>>2],D=H2[f+8>>2],m=H2[f+36>>2],c=H2[f+20>>2],s=H2[f+4>>2],b=y2[$+4>>2],v=H2[f+32>>2],I=H2[i+40>>2],B=H2[f+16>>2],T=H2[i+24>>2],d=H2[f>>2],N=H2[i+8>>2],y2[e+60>>2]=0,H=j2(j2(j2(N*s)+j2(T*c))+j2(I*m)),Z=j2(-H2[(i=b+60|0)>>2]),P=j2(j2(j2(N*d)+j2(T*B))+j2(I*v)),C=H2[b+56>>2],j=j2(j2(j2(N*D)+j2(T*Y))+j2(I*G)),I=H2[(r2=b- -64|0)>>2],H2[e+56>>2]=j2(j2(H*Z)-j2(P*C))-j2(j*I),t=j2(j2(j2(l*s)+j2(u*c))+j2(k*m)),n=j2(j2(j2(l*d)+j2(u*B))+j2(k*v)),o=j2(j2(j2(l*D)+j2(u*Y))+j2(k*G)),H2[e+52>>2]=j2(j2(t*Z)-j2(C*n))-j2(I*o),_=j2(j2(j2(h*s)+j2(F*c))+j2(Q*m)),g=j2(j2(j2(h*d)+j2(F*B))+j2(Q*v)),M=j2(j2(j2(h*D)+j2(F*Y))+j2(Q*G)),H2[e+48>>2]=j2(j2(_*Z)-j2(C*g))-j2(I*M),N2[y2[y2[W>>2]+64>>2]](e,W,e+48|0),f=y2[$+12>>2],A2=H2[f+48>>2],I=H2[f+32>>2],T=H2[f+16>>2],N=H2[f+8>>2],Z=H2[f+4>>2],C=H2[f>>2],f2=H2[f+56>>2],i2=H2[f+52>>2],X=H2[f+40>>2],y=H2[f+36>>2],R=H2[f+24>>2],a2=H2[f+20>>2],U=H2[b+72>>2],Q=H2[r2>>2],h=H2[b+56>>2],F=H2[i>>2],f=y2[A+12>>2],z=H2[f+848>>2],k=H2[e+8>>2],u=H2[e>>2],l=H2[e+4>>2],y2[r+4>>2]=f,O=j2(j2(j2(S*D)+j2(p*Y))+j2(E*G)),J=Y,Y=j2(-e2),e2=j2(j2(O+j2(j2(j2(J*Y)-j2(w*D))-j2(a*G)))+j2(j2(j2(M*u)+j2(o*l))+j2(j*k))),D=j2(j2(j2(j2(j2(S*d)+j2(p*B))+j2(E*v))+j2(j2(j2(B*Y)-j2(w*d))-j2(a*v)))+j2(j2(j2(g*u)+j2(n*l))+j2(P*k))),m=j2(j2(j2(j2(j2(S*s)+j2(p*c))+j2(E*m))+j2(j2(j2(c*Y)-j2(w*s))-j2(a*m)))+j2(j2(j2(_*u)+j2(t*l))+j2(H*k))),(G=j2(j2(j2(Q*e2)+j2(j2(h*D)+j2(F*m)))-U))>2]=0,H2[e+56>>2]=j2(j2(h*I)+j2(F*y))+j2(Q*X),H2[e+52>>2]=j2(j2(h*T)+j2(F*a2))+j2(Q*R),H2[e+48>>2]=j2(j2(C*h)+j2(Z*F))+j2(N*Q),y2[e+44>>2]=0,Y=j2(D-j2(h*G)),D=j2(m-j2(F*G)),m=j2(e2-j2(Q*G)),H2[e+40>>2]=j2(j2(j2(Y*I)+j2(D*y))+j2(m*X))+f2,H2[e+36>>2]=j2(j2(j2(Y*T)+j2(D*a2))+j2(m*R))+i2,H2[e+32>>2]=j2(j2(N*m)+j2(j2(C*Y)+j2(Z*D)))+A2,N2[y2[y2[r>>2]+16>>2]](r,e+48|0,e+32|0,G)),!(6>2]||y2[y2[r+4>>2]+844>>2]>=y2[A+24>>2]||(Y=H2[b+64>>2],D=j2(z2(Y))>j2(.7071067690849304)?(G=H2[b+60>>2],D=j2(j2(1)/j2(K2(j2(j2(Y*Y)+j2(G*G))))),G=j2(G*D),Y=j2(D*j2(-Y)),j2(0)):(G=H2[b+56>>2],D=H2[b+60>>2],m=j2(j2(1)/j2(K2(j2(j2(G*G)+j2(D*D))))),Y=j2(G*m),G=j2(0),j2(m*j2(-D))),c=R2(m=j2(j2(m2(j2(j2(.019999999552965164)/j2(N2[y2[y2[W>>2]+16>>2]](W))),j2(.39269909262657166)))*j2(.5))),$=y2[A+20>>2],Z=I2(m),(0|$)<1)))for(J=G,G=j2(c/j2(K2(j2(j2(j2(D*D)+j2(Y*Y))+j2(G*G))))),C=j2(J*G),X=j2(Y*G),y=j2(D*G),r2=0;;)if(i=U2[A+16|0],f=y2[(L=i?V:x)+12>>2],a2=H2[f+56>>2],U=H2[f+52>>2],e2=H2[f+48>>2],i=y2[(W=i?x:V)+12>>2],H=H2[i+56>>2],P=H2[i+52>>2],j=H2[i+48>>2],K=y2[W+4>>2],G=H2[f+40>>2],Y=H2[f+8>>2],D=H2[f+24>>2],m=H2[f+36>>2],c=H2[f+4>>2],s=H2[f+20>>2],W=y2[L+4>>2],v=H2[f+32>>2],w=H2[i+40>>2],E=H2[i+32>>2],p=H2[i+36>>2],B=H2[f>>2],S=H2[i+8>>2],k=H2[i>>2],u=H2[i+4>>2],d=H2[f+16>>2],l=H2[i+24>>2],I=H2[i+16>>2],T=H2[i+20>>2],Q=H2[b+64>>2],h=H2[b+56>>2],a=H2[b+60>>2],y2[e+44>>2]=0,F=j2(j2(j2(j2(6.2831854820251465)/j2(0|$))*j2(0|r2))*j2(.5)),N=j2(R2(F)/j2(K2(j2(j2(j2(h*h)+j2(a*a))+j2(Q*Q))))),Q=j2(Q*N),h=j2(h*N),F=I2(F),a=j2(a*N),t=j2(j2(C*h)+j2(j2(j2(X*F)-j2(Z*a))-j2(y*Q))),n=j2(j2(C*Q)+j2(j2(X*a)+j2(j2(Z*F)+j2(y*h)))),o=j2(j2(X*Q)+j2(j2(j2(y*F)-j2(Z*h))-j2(C*a))),_=j2(j2(y*a)+j2(j2(j2(C*F)-j2(Z*Q))-j2(X*h))),N=j2(j2(j2(Q*t)+j2(j2(h*n)+j2(F*o)))-j2(a*_)),R=j2(j2(j2(h*_)+j2(j2(F*t)+j2(a*n)))-j2(Q*o)),g=j2(j2(j2(a*o)+j2(j2(Q*n)+j2(F*_)))-j2(h*t)),Q=j2(j2(j2(j2(F*n)-j2(h*o))-j2(a*t))-j2(Q*_)),h=j2(j2(2)/j2(j2(j2(j2(N*N)+j2(R*R))+j2(g*g))+j2(Q*Q))),F=j2(g*h),_=j2(N*F),a=j2(R*h),M=j2(Q*a),t=j2(_+M),A2=j2(R*F),n=j2(N*h),f2=j2(Q*n),h=j2(A2-f2),i2=j2(N*n),z=j2(R*a),R=j2(j2(1)-j2(i2+z)),n=j2(j2(j2(E*t)+j2(p*h))+j2(w*R)),o=j2(j2(j2(k*t)+j2(u*h))+j2(S*R)),h=j2(j2(j2(I*t)+j2(T*h))+j2(l*R)),R=j2(-H2[(i=W+60|0)>>2]),t=H2[W+56>>2],J=j2(j2(j2(j2(m*n)+j2(j2(c*o)+j2(s*h)))*R)-j2(t*j2(j2(v*n)+j2(j2(B*o)+j2(d*h))))),O=j2(j2(G*n)+j2(j2(Y*o)+j2(D*h))),h=H2[($=W- -64|0)>>2],H2[e+40>>2]=J-j2(O*h),n=j2(A2+f2),o=j2(N*a),A2=j2(Q*F),Q=j2(o-A2),g=j2(g*F),F=j2(j2(1)-j2(i2+g)),a=j2(j2(w*n)+j2(j2(E*Q)+j2(p*F))),N=j2(j2(S*n)+j2(j2(k*Q)+j2(u*F))),Q=j2(j2(l*n)+j2(j2(I*Q)+j2(T*F))),H2[e+36>>2]=j2(j2(j2(j2(m*a)+j2(j2(c*N)+j2(s*Q)))*R)-j2(t*j2(j2(v*a)+j2(j2(B*N)+j2(d*Q)))))-j2(h*j2(j2(G*a)+j2(j2(Y*N)+j2(D*Q)))),Q=j2(_-M),F=j2(o+A2),a=j2(j2(1)-j2(z+g)),N=j2(j2(w*Q)+j2(j2(p*F)+j2(E*a))),n=j2(j2(S*Q)+j2(j2(u*F)+j2(k*a))),Q=j2(j2(l*Q)+j2(j2(T*F)+j2(I*a))),H2[e+32>>2]=j2(j2(j2(j2(m*N)+j2(j2(c*n)+j2(s*Q)))*R)-j2(t*j2(j2(v*N)+j2(j2(B*n)+j2(d*Q)))))-j2(h*j2(j2(G*N)+j2(j2(Y*n)+j2(D*Q)))),N2[y2[y2[K>>2]+64>>2]](e+48|0,K,e+32|0),f=y2[L+12>>2],z=H2[f+48>>2],t=H2[f+32>>2],n=H2[f+16>>2],o=H2[f+8>>2],_=H2[f+4>>2],g=H2[f>>2],K=H2[f+56>>2],L=H2[f+52>>2],M=H2[f+40>>2],A2=H2[f+36>>2],f2=H2[f+24>>2],i2=H2[f+20>>2],q=H2[W+72>>2],Q=H2[$>>2],h=H2[W+56>>2],F=H2[i>>2],f=y2[A+12>>2],J=H2[f+848>>2],a=H2[e+56>>2],N=H2[e+48>>2],R=H2[e+52>>2],y2[r+4>>2]=f,O=J,U=j2(-U),J=j2(j2(j2(j2(j2(j*Y)+j2(P*D))+j2(H*G))+j2(j2(j2(D*U)-j2(Y*e2))-j2(G*a2)))+j2(j2(j2(N*j2(j2(j2(k*Y)+j2(I*D))+j2(E*G)))+j2(R*j2(j2(j2(u*Y)+j2(T*D))+j2(p*G))))+j2(a*j2(j2(j2(S*Y)+j2(l*D))+j2(w*G))))),Y=j2(j2(j2(j2(j2(j*B)+j2(P*d))+j2(H*v))+j2(j2(j2(d*U)-j2(B*e2))-j2(v*a2)))+j2(j2(j2(N*j2(j2(j2(k*B)+j2(I*d))+j2(E*v)))+j2(R*j2(j2(j2(u*B)+j2(T*d))+j2(p*v))))+j2(a*j2(j2(j2(S*B)+j2(l*d))+j2(w*v))))),D=j2(j2(j2(j2(j2(j*c)+j2(P*s))+j2(H*m))+j2(j2(j2(s*U)-j2(c*e2))-j2(m*a2)))+j2(j2(j2(N*j2(j2(j2(k*c)+j2(I*s))+j2(E*m)))+j2(R*j2(j2(j2(u*c)+j2(T*s))+j2(p*m))))+j2(a*j2(j2(j2(S*c)+j2(l*s))+j2(w*m))))),(G=j2(j2(j2(Q*J)+j2(j2(h*Y)+j2(F*D)))-q))>2]=0,H2[e+40>>2]=j2(j2(h*t)+j2(F*A2))+j2(Q*M),H2[e+36>>2]=j2(j2(h*n)+j2(F*i2))+j2(Q*f2),H2[e+32>>2]=j2(j2(g*h)+j2(_*F))+j2(o*Q),y2[e+28>>2]=0,Y=j2(Y-j2(h*G)),D=j2(D-j2(F*G)),m=j2(J-j2(Q*G)),H2[e+24>>2]=j2(j2(j2(Y*t)+j2(D*A2))+j2(m*M))+K,H2[e+20>>2]=j2(j2(j2(Y*n)+j2(D*i2))+j2(m*f2))+L,H2[e+16>>2]=j2(j2(o*m)+j2(j2(g*Y)+j2(_*D)))+z,N2[y2[y2[r>>2]+16>>2]](r,e+32|0,e+16|0,G)),!((0|(r2=r2+1|0))<(0|($=y2[A+20>>2]))))break;U2[A+8|0]&&y2[y2[A+12>>2]+844>>2]&&(A=y2[r+4>>2],y2[A+844>>2])&&((0|(V=y2[A+836>>2]))!=(0|(x=y2[y2[r+8>>2]+8>>2]))?W2(A,y2[y2[r+12>>2]+8>>2]+4|0,x+4|0):W2(A,V+4|0,y2[y2[r+12>>2]+8>>2]+4|0))}L2=e- -64|0},j4,z4,A,q0,q0,function(A,e,r,f){A|=0,e|=0,r|=0,f=j2(f);var i,a=y2[e+4>>2];y2[A+4>>2]=y2[e>>2],y2[A+8>>2]=a,i=y2[(e=e+8|0)+4>>2],y2[(a=A+12|0)>>2]=y2[e>>2],y2[4+a>>2]=i,e=y2[r+4>>2],y2[A+20>>2]=y2[r>>2],y2[A+24>>2]=e,a=y2[(r=r+8|0)+4>>2],y2[(e=A+28|0)>>2]=y2[r>>2],y2[e+4>>2]=a,X2[A+40|0]=1,H2[A+36>>2]=f},A,function(A,e,r,f,i,a,n,b,t,o){A|=0,e|=0,r|=0,f|=0,i|=0,a|=0,n|=0,b|=0,t|=0,o|=0;var c,k,u,V,l,s,v=0,B=j2(0),d=0,_=0,g=j2(0),Z=j2(0),C=j2(0),w=j2(0),E=j2(0),Q=j2(0),h=j2(0),G=j2(0),F=j2(0),D=j2(0),Y=j2(0),m=0,N=0,R=j2(0),I=0,W=0,T=0,x=j2(0);for(j2(0),L2=A=L2-4240|0,u=y2[r+4>>2]-17>>>0<=1?y2[f+4>>2]-17>>>0<2:0;;)if(L4(),y2[(_=(A+1264|0)+v|0)+12>>2]=0,Q=H2[v+26772>>2],B=j2(-Q),C=H2[v+26768>>2],w=H2[v+26776>>2],H2[_+8>>2]=j2(j2(H2[i+24>>2]*B)-j2(C*H2[i+8>>2]))-j2(w*H2[i+40>>2]),H2[_+4>>2]=j2(j2(H2[i+20>>2]*B)-j2(C*H2[i+4>>2]))-j2(w*H2[i+36>>2]),H2[_>>2]=j2(j2(H2[i+16>>2]*B)-j2(C*H2[i>>2]))-j2(w*H2[i+32>>2]),Y=H2[a+32>>2],h=H2[a>>2],G=H2[a+16>>2],F=H2[a+36>>2],D=H2[a+4>>2],E=H2[a+20>>2],g=H2[a+40>>2],Z=H2[a+8>>2],B=H2[a+24>>2],y2[(_=(A+272|0)+v|0)+12>>2]=0,H2[_+8>>2]=j2(j2(C*Z)+j2(Q*B))+j2(w*g),H2[_+4>>2]=j2(j2(C*D)+j2(Q*E))+j2(w*F),H2[_>>2]=j2(j2(C*h)+j2(Q*G))+j2(w*Y),672==(0|(v=v+16|0)))break;if(_=42,!((0|(N=0|N2[y2[y2[r>>2]+84>>2]](r)))<1)){for(_=v=0;;)if(N2[y2[y2[r>>2]+88>>2]](r,_,A+3248|0),y2[A+3260>>2]=0,g=H2[A+3248>>2],Z=H2[A+3252>>2],B=H2[A+3256>>2],H2[A+3256>>2]=j2(j2(g*H2[i+32>>2])+j2(Z*H2[i+36>>2]))+j2(B*H2[i+40>>2]),H2[A+3252>>2]=j2(j2(g*H2[i+16>>2])+j2(Z*H2[i+20>>2]))+j2(B*H2[i+24>>2]),H2[A+3248>>2]=j2(j2(g*H2[i>>2])+j2(Z*H2[i+4>>2]))+j2(B*H2[i+8>>2]),L4(),d=y2[A+3260>>2],y2[(m=v+27448|0)>>2]=y2[A+3256>>2],y2[m+4>>2]=d,d=y2[A+3252>>2],y2[(m=v+27440|0)>>2]=y2[A+3248>>2],y2[m+4>>2]=d,y2[(d=(A+1264|0)+v|0)+684>>2]=0,Z=H2[A+3252>>2],B=j2(-Z),E=H2[A+3248>>2],g=H2[A+3256>>2],H2[d+680>>2]=j2(j2(H2[i+24>>2]*B)-j2(E*H2[i+8>>2]))-j2(g*H2[i+40>>2]),H2[d+676>>2]=j2(j2(H2[i+20>>2]*B)-j2(E*H2[i+4>>2]))-j2(g*H2[i+36>>2]),H2[d+672>>2]=j2(j2(H2[i+16>>2]*B)-j2(E*H2[i>>2]))-j2(g*H2[i+32>>2]),y2[(d=(A+272|0)+v|0)+684>>2]=0,H2[d+672>>2]=j2(j2(E*H2[a>>2])+j2(Z*H2[a+16>>2]))+j2(g*H2[a+32>>2]),H2[d+676>>2]=j2(j2(E*H2[a+4>>2])+j2(Z*H2[a+20>>2]))+j2(g*H2[a+36>>2]),H2[d+680>>2]=j2(j2(E*H2[a+8>>2])+j2(Z*H2[a+24>>2]))+j2(g*H2[a+40>>2]),v=v+16|0,(0|N)==(0|(_=_+1|0)))break;_=_+42|0}if(l=r,s=A+1264|0,V=A+3248|0,1<=(0|(N=0|N2[y2[y2[f>>2]+84>>2]](f)))){for(c=_<<4,I=A+272|0,W=A+1264|0,T=26768,v=0;;)if(N2[y2[y2[f>>2]+88>>2]](f,v,A+3248|0),y2[A+3260>>2]=0,g=H2[A+3248>>2],Z=H2[A+3252>>2],B=H2[A+3256>>2],H2[A+3256>>2]=j2(j2(g*H2[a+32>>2])+j2(Z*H2[a+36>>2]))+j2(B*H2[a+40>>2]),H2[A+3252>>2]=j2(j2(g*H2[a+16>>2])+j2(Z*H2[a+20>>2]))+j2(B*H2[a+24>>2]),H2[A+3248>>2]=j2(j2(g*H2[a>>2])+j2(Z*H2[a+4>>2]))+j2(B*H2[a+8>>2]),L4(),d=y2[A+3260>>2],y2[(m=8+(k=c+T|0)|0)>>2]=y2[A+3256>>2],y2[m+4>>2]=d,d=y2[A+3252>>2],y2[k>>2]=y2[A+3248>>2],y2[4+k>>2]=d,Y=H2[i+32>>2],h=H2[i+16>>2],G=H2[i>>2],F=H2[i+36>>2],D=H2[i+20>>2],E=H2[i+4>>2],g=H2[i+40>>2],Z=H2[i+24>>2],B=H2[i+8>>2],C=H2[A+3256>>2],Q=H2[A+3252>>2],w=H2[A+3248>>2],y2[(d=c+W|0)+12>>2]=0,R=Z,Z=j2(-Q),H2[d+8>>2]=j2(j2(R*Z)-j2(w*B))-j2(C*g),H2[d+4>>2]=j2(j2(D*Z)-j2(w*E))-j2(C*F),H2[d>>2]=j2(j2(h*Z)-j2(w*G))-j2(C*Y),Y=H2[a+32>>2],h=H2[a>>2],G=H2[a+16>>2],F=H2[a+36>>2],D=H2[a+4>>2],E=H2[a+20>>2],g=H2[a+40>>2],Z=H2[a+8>>2],B=H2[a+24>>2],y2[(d=c+I|0)+12>>2]=0,H2[d+8>>2]=j2(j2(w*Z)+j2(Q*B))+j2(C*g),H2[d+4>>2]=j2(j2(w*D)+j2(Q*E))+j2(C*F),H2[d>>2]=j2(j2(w*h)+j2(Q*G))+j2(C*Y),T=T+16|0,W=W+16|0,I=I+16|0,(0|N)==(0|(v=v+1|0)))break;_=v+_|0}if(N2[y2[y2[r>>2]+76>>2]](l,s,V,_),N2[y2[y2[f>>2]+76>>2]](f,A+272|0,A+2256|0,_),(0|_)<1)D=j2(0xde0b6b000000000),h=j2(0),G=j2(0),F=j2(0);else for(D=j2(0xde0b6b000000000),F=j2(v=0),G=j2(0),h=j2(0);;)if(L4(),E=H2[v+26768>>2],g=H2[v+26772>>2],Z=u?j2(0):H2[v+26776>>2],.01<+j2(j2(j2(E*E)+j2(g*g))+j2(Z*Z))&&(R=H2[(d=(A+2256|0)+v|0)>>2],C=H2[d+4>>2],w=H2[d+8>>2],Q=H2[(d=(A+3248|0)+v|0)>>2],Y=H2[d+4>>2],B=H2[d+8>>2],(B=j2(j2(j2(E*j2(j2(j2(j2(j2(R*H2[a>>2])+j2(C*H2[a+4>>2]))+j2(w*H2[a+8>>2]))+H2[a+48>>2])-j2(j2(j2(j2(Q*H2[i>>2])+j2(Y*H2[i+4>>2]))+j2(B*H2[i+8>>2]))+H2[i+48>>2])))+j2(g*j2(j2(j2(j2(j2(R*H2[a+16>>2])+j2(C*H2[a+20>>2]))+j2(w*H2[a+24>>2]))+H2[a+52>>2])-j2(j2(j2(j2(Q*H2[i+16>>2])+j2(Y*H2[i+20>>2]))+j2(B*H2[i+24>>2]))+H2[i+52>>2]))))+j2(Z*j2(u?0:j2(j2(j2(j2(R*H2[a+32>>2])+j2(C*H2[a+36>>2]))+j2(w*H2[a+40>>2]))+H2[a+56>>2])-j2(j2(j2(j2(Q*H2[i+32>>2])+j2(Y*H2[i+36>>2]))+j2(B*H2[i+40>>2]))+H2[i+56>>2])))))>2],h=E,G=g,F=Z,D=B),v=v+16|0,!(_=_-1|0))break;if(1<<(_=y2[r+4>>2])&11571&&_>>>0<=13||j2(N2[y2[y2[r>>2]+48>>2]](r)),1<<(_=y2[f+4>>2])&11571&&_>>>0<=13||j2(N2[y2[y2[f>>2]+48>>2]](f)),!(D>2])>>>0)){r:switch(_-1|0){case 7:B=j2(H2[r+36>>2]*H2[r+20>>2]);break A;default:case 0:case 12:case 10:case 9:B=H2[r+52>>2];break A;case 1:case 2:case 5:case 6:case 8:case 11:break e;case 3:case 4:break r;}B=H2[r+52>>2];break A}B=j2(N2[y2[y2[r>>2]+48>>2]](r))}A:{e:if(!(13<(v=y2[f+4>>2])>>>0)){r:switch(v-1|0){case 7:g=j2(H2[f+36>>2]*H2[f+20>>2]),v=8;break A;default:g=H2[f+52>>2],v=0;break A;case 0:g=H2[f+52>>2],v=1;break A;case 12:g=H2[f+52>>2],v=13;break A;case 10:g=H2[f+52>>2],v=11;break A;case 9:g=H2[f+52>>2],v=10;break A;case 1:case 2:case 5:case 6:case 8:case 11:break e;case 3:case 4:break r;}g=H2[f+52>>2];break A}g=j2(N2[y2[y2[f>>2]+48>>2]](f)),v=y2[f+4>>2]}y2[(d=A+204|0)>>2]=0,y2[d+4>>2]=0,y2[A+216>>2]=e,y2[A+212>>2]=0,y2[A+196>>2]=0,y2[A+200>>2]=1065353216,y2[A+192>>2]=11364,y2[A+232>>2]=v,y2[A+220>>2]=r,y2[A+228>>2]=y2[r+4>>2],y2[A+224>>2]=f,l=A,s=j2(N2[y2[y2[r>>2]+48>>2]](r)),H2[l+236>>2]=s,Z=j2(N2[y2[y2[f>>2]+48>>2]](f)),y2[A+264>>2]=1,y2[A+268>>2]=1,y2[A+252>>2]=-1,X2[A+244|0]=0,H2[A+240>>2]=Z,y2[A+116>>2]=0,e=y2[(r=i+8|0)+4>>2],y2[(f=A- -64|0)>>2]=y2[r>>2],y2[f+4>>2]=e,e=y2[(r=i+24|0)+4>>2],y2[(f=A+80|0)>>2]=y2[r>>2],y2[f+4>>2]=e,e=y2[(r=i+40|0)+4>>2],y2[(f=A+96|0)>>2]=y2[r>>2],y2[f+4>>2]=e,Z=j2(D+j2(j2(B+g)+j2(.5))),H2[A+112>>2]=j2(F*Z)+H2[i+56>>2],H2[A+108>>2]=j2(G*Z)+H2[i+52>>2],e=y2[i+4>>2],y2[A+56>>2]=y2[i>>2],y2[A+60>>2]=e,e=y2[i+20>>2],y2[A+72>>2]=y2[i+16>>2],y2[A+76>>2]=e,e=y2[i+36>>2],y2[A+88>>2]=y2[i+32>>2],y2[A+92>>2]=e,H2[A+104>>2]=j2(h*Z)+H2[i+48>>2],e=y2[(r=a+8|0)+4>>2],y2[(f=A+128|0)>>2]=y2[r>>2],y2[f+4>>2]=e,e=y2[a+20>>2],y2[(r=A+136|0)>>2]=y2[a+16>>2],y2[r+4>>2]=e,e=y2[(r=a+24|0)+4>>2],y2[(f=A+144|0)>>2]=y2[r>>2],y2[f+4>>2]=e,e=y2[a+36>>2],y2[(r=A+152|0)>>2]=y2[a+32>>2],y2[r+4>>2]=e,e=y2[(r=a+40|0)+4>>2],y2[(f=A+160|0)>>2]=y2[r>>2],y2[f+4>>2]=e,e=y2[a+52>>2],y2[(r=A+168|0)>>2]=y2[a+48>>2],y2[r+4>>2]=e,e=y2[(r=a+56|0)+4>>2],y2[(f=A+176|0)>>2]=y2[r>>2],y2[f+4>>2]=e,y2[A+184>>2]=1566444395,e=y2[a+4>>2],y2[A+120>>2]=y2[a>>2],y2[A+124>>2]=e,H2[A+200>>2]=-G,H2[d>>2]=-F,y2[A+208>>2]=0,H2[A+196>>2]=-h,X2[A+48|0]=0,y2[A+8>>2]=21108,b1(A+192|0,A+56|0,A+8|0,o,0),(f=U2[A+48|0])&&(B=H2[A+44>>2],y2[b+12>>2]=0,B=j2(Z-B),H2[b>>2]=H2[A+28>>2]-j2(h*B),H2[b+8>>2]=H2[(i=A+36|0)>>2]-j2(F*B),H2[b+4>>2]=H2[A+32>>2]-j2(G*B),e=y2[A+32>>2],y2[t>>2]=y2[A+28>>2],y2[t+4>>2]=e,e=y2[i+4>>2],y2[(r=t+8|0)>>2]=y2[i>>2],y2[r+4>>2]=e,H2[n>>2]=h,H2[n+4>>2]=G,H2[n+8>>2]=F,H2[n+12>>2]=x),v=0!=(0|f)}return L2=A+4240|0,0|v},$4,function(A){b($4(A|=0))},s4,W4,function(A,e,r){A|=0,e|=0,r|=0;var f=0;if(!(f=8!=(0|e))&&8==(0|r))return y2[A+56>>2];if(!f&&1==(0|r))return y2[A+72>>2];if(1==(0|e)&&8==(0|r))return y2[A+76>>2];if(!(e|r))return y2[A+68>>2];if(!(19<(0|e))&&28==(0|r))return y2[A+84>>2];if(28==(0|e)&&!(19<(0|r)))return y2[A+80>>2];A:{if((0|e)<=19){if((0|r)<=19)return y2[A+28>>2];if(8>>0)break A;return y2[A+32>>2]}if(!(19<(0|r)||8>>0))return y2[A+36>>2];if(31==(0|e))return 31==(0|r)?y2[A+44>>2]:y2[A+40>>2]}return 31==(0|r)?y2[A+48>>2]:y2[A+52>>2]},function(A,e,r){A|=0,e|=0,r|=0;var f=0;if(!(f=8!=(0|e))&&8==(0|r))return y2[A+56>>2];if(!f&&1==(0|r))return y2[A+72>>2];if(1==(0|e)&&8==(0|r))return y2[A+76>>2];if(!(19<(0|e))&&28==(0|r))return y2[A+84>>2];if(28==(0|e)&&!(19<(0|r)))return y2[A+80>>2];A:{if((0|e)<=19){if((0|r)<=19)return y2[A+28>>2];if(8>>0)break A;return y2[A+32>>2]}if(!(19<(0|r)||8>>0))return y2[A+36>>2];if(31==(0|e))return 31==(0|r)?y2[A+44>>2]:y2[A+40>>2]}return 31==(0|r)?y2[A+48>>2]:y2[A+52>>2]},e,A,function(A,e,r,f){return A|=0,r|=0,f|=0,A=y2[(e|=0)>>2],A=0|N2[y2[y2[A>>2]+56>>2]](A,80),y2[A+8>>2]=19964,y2[A>>2]=19936,y2[A+60>>2]=0,y2[A+48>>2]=f,y2[A+44>>2]=r,e=y2[e>>2],y2[A+4>>2]=e,y2[A+56>>2]=e,e=0|N2[y2[y2[e>>2]+12>>2]](e,y2[r+8>>2],y2[f+8>>2]),y2[A+72>>2]=e,r=y2[A+56>>2],N2[y2[y2[r>>2]+20>>2]](r,e),(X2[A+76|0]=0)|A},A,function(A,e,r,f){return A|=0,r|=0,f|=0,A=y2[(e|=0)>>2],A=0|N2[y2[y2[A>>2]+56>>2]](A,80),y2[A+8>>2]=19964,y2[A>>2]=19936,y2[A+60>>2]=0,y2[A+48>>2]=r,y2[A+44>>2]=f,e=y2[e>>2],y2[A+4>>2]=e,y2[A+56>>2]=e,e=0|N2[y2[y2[e>>2]+12>>2]](e,y2[f+8>>2],y2[r+8>>2]),y2[A+72>>2]=e,r=y2[A+56>>2],N2[y2[y2[r>>2]+20>>2]](r,e),X2[A+76|0]=1,0|A},A,function(A,e,r,f){return A|=0,r|=0,f|=0,A=y2[(e|=0)>>2],A=0|N2[y2[y2[A>>2]+56>>2]](A,84),y2[A+52>>2]=0,y2[A+56>>2]=0,X2[A+24|0]=1,y2[A>>2]=20264,y2[A+20>>2]=0,X2[A+44|0]=1,y2[A+12>>2]=0,y2[A+16>>2]=0,y2[A+40>>2]=0,X2[A+64|0]=1,y2[A+32>>2]=0,y2[A+36>>2]=0,y2[A+60>>2]=0,X2[A+68|0]=0,X2[A+76|0]=0,y2[A+4>>2]=y2[e>>2],y2[A+72>>2]=y2[e+4>>2],y2[A+80>>2]=y2[y2[r+4>>2]+76>>2],J4(A,r,f),0|A},A,function(A,e,r,f){A|=0,r|=0,f|=0;var i,a,n,b=0,t=0,o=0;if(A=y2[(e|=0)>>2],A=0|N2[y2[y2[A>>2]+56>>2]](A,116),y2[A+52>>2]=0,y2[A+56>>2]=0,X2[A+24|0]=1,y2[A>>2]=20264,y2[A+20>>2]=0,X2[A+44|0]=1,y2[A+12>>2]=0,y2[A+16>>2]=0,y2[A+40>>2]=0,X2[A+64|0]=1,y2[A+32>>2]=0,y2[A+36>>2]=0,y2[A+60>>2]=0,X2[A+68|0]=0,X2[A+76|0]=0,y2[A+4>>2]=y2[e>>2],y2[A+72>>2]=y2[e+4>>2],y2[A+80>>2]=y2[y2[r+4>>2]+76>>2],J4(A,r,f),X2[A+104|0]=1,y2[A>>2]=20472,y2[A+100>>2]=0,y2[A+92>>2]=0,y2[A+96>>2]=0,t=y2[6502],y2[6502]=t+1,(e=q2(83))&&(y2[(b=e+19&-16)-4>>2]=e),X2[b+20|0]=1,y2[b>>2]=20408,y2[b+16>>2]=0,X2[b+40|0]=1,y2[b+8>>2]=0,y2[b+12>>2]=0,y2[b+36>>2]=0,X2[b+60|0]=1,y2[b+28>>2]=0,y2[b+32>>2]=0,y2[b+56>>2]=0,y2[b+48>>2]=0,y2[b+52>>2]=0,y2[6502]=t+2,(e=q2(43))&&(y2[(o=e+19&-16)-4>>2]=e),1<=(0|(t=y2[b+8>>2])))for(e=0;;)if(i=y2[b+16>>2]+e|0,n=y2[4+i>>2],y2[(a=e+o|0)>>2]=y2[i>>2],y2[4+a>>2]=n,y2[8+a>>2]=y2[8+i>>2],e=e+12|0,!(t=t-1|0))break;return(e=y2[b+16>>2])&&(U2[b+20|0]&&(y2[6503]=y2[6503]+1,$2(y2[e-4>>2])),y2[b+16>>2]=0),y2[b+16>>2]=o,X2[b+20|0]=1,y2[b+12>>2]=2,U4(b),y2[A+84>>2]=b,y2[A+108>>2]=y2[y2[r+4>>2]+76>>2],y2[A+112>>2]=y2[y2[f+4>>2]+76>>2],0|A},A,function(A,e,r,f){return A|=0,r|=0,f|=0,A=y2[(e|=0)>>2],A=0|N2[y2[y2[A>>2]+56>>2]](A,84),y2[A+52>>2]=0,y2[A+56>>2]=0,X2[A+24|0]=1,y2[A>>2]=20264,y2[A+20>>2]=0,X2[A+44|0]=1,y2[A+12>>2]=0,y2[A+16>>2]=0,y2[A+40>>2]=0,X2[A+64|0]=1,y2[A+32>>2]=0,y2[A+36>>2]=0,y2[A+60>>2]=0,X2[A+68|0]=1,X2[A+76|0]=0,y2[A+4>>2]=y2[e>>2],y2[A+72>>2]=y2[e+4>>2],y2[A+80>>2]=y2[y2[f+4>>2]+76>>2],J4(A,r,f),0|A},A,function(A,e,r,f){return A|=0,A=y2[(e|=0)>>2],A=0|N2[y2[y2[A>>2]+56>>2]](A,8),y2[A>>2]=20632,y2[A+4>>2]=y2[e>>2],0|A},A,function(A,e,r,f){return A|=0,r|=0,f|=0,A=y2[(e|=0)>>2],A=0|N2[y2[y2[A>>2]+56>>2]](A,16),y2[A>>2]=20692,y2[A+12>>2]=0,X2[A+8|0]=0,e=y2[e>>2],y2[A+4>>2]=e,e=0|N2[y2[y2[e>>2]+12>>2]](e,y2[r+8>>2],y2[f+8>>2]),X2[A+8|0]=1,y2[A+12>>2]=e,0|A},A,function(A,e,r,f){A|=0,r|=0,f|=0;var i,a=y2[(e|=0)>>2];return a=0|N2[y2[y2[a>>2]+56>>2]](a,20),X2[8+a|0]=0,y2[a>>2]=20828,i=y2[e>>2],y2[4+a>>2]=i,X2[16+a|0]=U2[A+4|0],A=y2[e+4>>2],(y2[12+a>>2]=A)||(A=0|N2[y2[y2[i>>2]+12>>2]](i,y2[r+8>>2],y2[f+8>>2]),X2[8+a|0]=1,y2[12+a>>2]=A),0|a},A,function(A,e,r,f){return A|=0,r|=0,f|=0,A=y2[(e|=0)>>2],A=0|N2[y2[y2[A>>2]+56>>2]](A,16),y2[A>>2]=20960,y2[A+12>>2]=0,X2[A+8|0]=0,e=y2[e>>2],y2[A+4>>2]=e,0|N2[y2[y2[e>>2]+24>>2]](e,y2[r+8>>2],y2[f+8>>2])&&(e=y2[A+4>>2],e=0|N2[y2[y2[e>>2]+12>>2]](e,y2[r+8>>2],y2[f+8>>2]),X2[A+8|0]=1,y2[A+12>>2]=e),0|A},A,function(A,e,r,f){A|=0,r|=0,f|=0;var i,a,n=y2[(e|=0)>>2];return n=0|N2[y2[y2[n>>2]+56>>2]](n,28),i=y2[A+12>>2],a=y2[A+8>>2],y2[n>>2]=21032,y2[12+n>>2]=0,X2[8+n|0]=0,y2[20+n>>2]=a,y2[24+n>>2]=i,A=U2[A+4|0],X2[16+n|0]=A,e=y2[e>>2],y2[4+n>>2]=e,0|N2[y2[y2[e>>2]+24>>2]](e,y2[(i=A?f:r)+8>>2],y2[(A=A?r:f)+8>>2])&&(e=y2[4+n>>2],A=0|N2[y2[y2[e>>2]+12>>2]](e,y2[i+8>>2],y2[A+8>>2]),X2[8+n|0]=1,y2[12+n>>2]=A),0|n},function(A){var e;return y2[(A|=0)>>2]=22392,(e=y2[A+20>>2])&&(U2[A+24|0]&&(y2[6503]=y2[6503]+1,$2(y2[e-4>>2])),y2[A+20>>2]=0),y2[A+20>>2]=0,y2[A+12>>2]=0,y2[A+16>>2]=0,X2[A+24|0]=1,0|A},function(A){var e;y2[(A|=0)>>2]=22392,(e=y2[A+20>>2])&&U2[A+24|0]&&(y2[6503]=y2[6503]+1,$2(y2[e-4>>2])),b(A)},function(A,e,r,f,i){var a,n;return A|=0,e|=0,r|=0,i|=0,y2[12+(L2=n=L2-16|0)>>2]=f|=0,y2[8+n>>2]=A,f=y2[y2[r+4>>2]+4>>2],a=y2[y2[e+4>>2]+4>>2],A=(A=1==(0|i)?y2[76+((P2(a,144)+A|0)+(f<<2)|0)>>2]:y2[5260+((P2(a,144)+A|0)+(f<<2)|0)>>2],0|N2[y2[y2[A>>2]+8>>2]](A,8+n|0,e,r)),L2=16+n|0,0|A},function(A,e,r){A|=0,e|=0,r|=0;var f,i,a=0,n=0,b=j2(0),t=j2(0),o=0;L2=i=L2-16|0,y2[6941]=y2[6941]+1,a=2&y2[A+4>>2]?(a=y2[e+192>>2],b=j2(N2[y2[y2[a>>2]+20>>2]](a,j2(.019999999552965164))),H2[12+i>>2]=b,a=y2[r+192>>2],t=j2(N2[y2[y2[a>>2]+20>>2]](a,j2(.019999999552965164))),b<(H2[8+i>>2]=t)?12+i|0:8+i|0):13784,f=y2[a>>2],b=H2[r+184>>2],t=H2[e+184>>2],a=y2[A+72>>2];A:{if(n=y2[a+12>>2])y2[a+12>>2]=y2[n>>2],y2[a+8>>2]=y2[a+8>>2]-1;else{if(4&U2[A+4|(n=0)])break A;y2[6502]=y2[6502]+1,(a=q2(887))&&(y2[(n=a+19&-16)-4>>2]=a)}if(y2[n>>2]=1025,y2[n+168>>2]=0,y2[(a=n+160|0)>>2]=0,y2[a+4>>2]=0,y2[(a=n+152|0)>>2]=0,y2[a+4>>2]=0,y2[(a=n+144|0)>>2]=0,y2[a+4>>2]=0,y2[(a=n+136|0)>>2]=0,y2[a+4>>2]=0,y2[(a=n+128|0)>>2]=0,y2[a+4>>2]=0,y2[n+120>>2]=0,y2[n+124>>2]=0,y2[n+328>>2]=0,y2[n+332>>2]=0,y2[(a=n+336|0)>>2]=0,y2[a+4>>2]=0,y2[(a=n+344|0)>>2]=0,y2[a+4>>2]=0,y2[(a=n+352|0)>>2]=0,y2[a+4>>2]=0,y2[(a=n+360|0)>>2]=0,y2[a+4>>2]=0,y2[(a=n+368|0)>>2]=0,y2[a+4>>2]=0,y2[n+376>>2]=0,y2[n+536>>2]=0,y2[n+540>>2]=0,y2[(a=n+544|0)>>2]=0,y2[a+4>>2]=0,y2[(a=n+552|0)>>2]=0,y2[a+4>>2]=0,y2[(a=n+560|0)>>2]=0,y2[a+4>>2]=0,y2[(a=n+568|0)>>2]=0,y2[a+4>>2]=0,y2[(a=n+576|0)>>2]=0,y2[a+4>>2]=0,y2[n+584>>2]=0,y2[n+792>>2]=0,y2[(a=n+784|0)>>2]=0,y2[a+4>>2]=0,y2[(a=n+776|0)>>2]=0,y2[a+4>>2]=0,y2[(a=n+768|0)>>2]=0,y2[a+4>>2]=0,y2[(a=n+760|0)>>2]=0,y2[a+4>>2]=0,y2[(a=n+752|0)>>2]=0,y2[a+4>>2]=0,y2[n+744>>2]=0,y2[n+748>>2]=0,y2[n+836>>2]=e,y2[n+840>>2]=r,y2[n+844>>2]=0,y2[n+848>>2]=f,H2[n+852>>2]=t>2],y2[n+864>>2]=a,y2[A+16>>2]==(0|a)&&!((0|(f=a?a<<1:1))<=(0|a))){if(f&&(y2[6502]=y2[6502]+1,e=q2(16+(f<<2|3)|0))&&(y2[(o=e+19&-16)-4>>2]=e),1<=(0|a))for(e=0,r=a;;)if(y2[e+o>>2]=y2[y2[A+20>>2]+e>>2],e=e+4|0,!(r=r-1|0))break;(e=y2[A+20>>2])&&(U2[A+24|0]&&(y2[6503]=y2[6503]+1,$2(y2[e-4>>2]),a=y2[A+12>>2]),y2[A+20>>2]=0),y2[A+20>>2]=o,y2[A+16>>2]=f,X2[A+24|0]=1}y2[A+12>>2]=a+1,y2[y2[A+20>>2]+(a<<2)>>2]=n}return L2=16+i|0,0|n},function(A,e){var r,f,i,a,n,b,t,o;A|=0,e|=0,y2[6941]=y2[6941]-1,N2[y2[y2[A>>2]+20>>2]](A,e),f=y2[(r=A+20|0)>>2],a=y2[e+864>>2],b=y2[(i=f+(n=a<<2)|0)>>2],t=i,o=f,i=y2[(f=A+12|0)>>2]-1|0,y2[t>>2]=y2[o+(t=i<<2)>>2],y2[y2[r>>2]+t>>2]=b,y2[f>>2]=i,y2[y2[y2[r>>2]+n>>2]+864>>2]=a,e&&(A=y2[A+72>>2],e>>>0<(r=y2[A+16>>2])>>>0||r+P2(y2[A>>2],y2[A+4>>2])>>>0<=e>>>0?(y2[6503]=y2[6503]+1,$2(y2[e-4>>2])):(y2[e>>2]=y2[A+12>>2],y2[A+12>>2]=e,y2[A+8>>2]=y2[A+8>>2]+1))},function(A,e){y2[(e|=0)+844>>2]=0},function(A,e,r){var f;A|=0,e|=0,r|=0;A:{e:if(!(3<(A=y2[e+220>>2]-2|0)>>>0)){r:switch(A-1|0){case 0:case 1:break e;default:break r;}if(!(3<(f=y2[r+220>>2]-2|0)>>>0))switch(f-1|(A=0)){case 0:case 1:break e;default:break A;}}if(!y2[e+280>>2]||0|N2[y2[y2[e>>2]+12>>2]](e,r)){if(A=1,!y2[r+280>>2])break A;if(0|N2[y2[y2[r>>2]+12>>2]](r,e))break A}A=0}return 0|A},function(A,e,r){if(A|=0,r|=0,!(4&(e=y2[(e|=A=0)+204>>2])||4&(r=y2[r+204>>2]))){if(!(3&e))return 1;A=!(3&r)}return 0|A},function(A,e,r,f){var i;e|=0,r|=0,f|=0,y2[8+(L2=i=L2-16|0)>>2]=A|=0,y2[4+i>>2]=r,y2[i>>2]=22476,N2[y2[y2[e>>2]+48>>2]](e,i,f),L2=16+i|0},function(A){return y2[(A|=0)+12>>2]},function(A,e){return y2[y2[(A|=0)+20>>2]+((e|=0)<<2)>>2]},function(A){return y2[(A|=0)+12>>2]?y2[A+20>>2]:0},W1,W1,function(A,e){var r;return e|=0,A=y2[(A|=0)+68>>2],(r=y2[A+12>>2])?(y2[A+12>>2]=y2[r>>2],y2[A+8>>2]=y2[A+8>>2]-1,0|r):(A=0,y2[6502]=y2[6502]+1,(e=q2(e+19|0))&&(y2[(A=e+19&-16)-4>>2]=e),0|A)},function(A,e){var r;A|=0,(e|=0)&&(A=y2[A+68>>2],e>>>0<(r=y2[A+16>>2])>>>0||P2(y2[A>>2],y2[A+4>>2])+r>>>0<=e>>>0?(y2[6503]=y2[6503]+1,$2(y2[e-4>>2])):(y2[e>>2]=y2[A+12>>2],y2[A+12>>2]=e,y2[A+8>>2]=y2[A+8>>2]+1))},A,function(A,e){var r=0,r=e|=0;return e=y2[(A|=0)+8>>2],N2[y2[e+64>>2]](r,e,y2[A+4>>2]),0},A6,function(A){b(A6(A|=0))},function(A,e,r,f,i,a,n,b){var t,o;return A|=0,e|=0,r|=0,f|=0,i|=0,a|=0,n|=0,b|=0,L2=b=L2-48|0,f=0,o=y2[6502],y2[6502]=o+1,(t=q2(83))&&(y2[(f=t+19&-16)-4>>2]=t),y2[f+8>>2]=n,y2[f+4>>2]=a,y2[f>>2]=i,i=y2[e+4>>2],y2[f+16>>2]=y2[e>>2],y2[f+20>>2]=i,t=y2[(n=i=e+8|0)+4>>2],y2[(a=f+24|0)>>2]=y2[n>>2],y2[a+4>>2]=t,a=y2[r+4>>2],y2[f+32>>2]=y2[r>>2],y2[f+36>>2]=a,t=y2[(a=r+8|0)+4>>2],y2[(n=f+40|0)>>2]=y2[a>>2],y2[n+4>>2]=t,y2[f+52>>2]=0,y2[f+56>>2]=0,t=y2[i+4>>2],y2[(n=b+24|0)>>2]=y2[i>>2],y2[n+4>>2]=t,n=y2[a+4>>2],y2[(i=b+40|0)>>2]=y2[a>>2],y2[i+4>>2]=n,i=y2[e>>2],e=y2[e+4>>2],a=y2[r+4>>2],r=y2[r>>2],y2[f+60>>2]=y2[A+104>>2],y2[b+32>>2]=r,y2[b+36>>2]=a,r=y2[A+148>>2]+1|0,y2[f+12>>2]=r,y2[A+148>>2]=r,y2[b+16>>2]=i,y2[b+20>>2]=e,i=A+4|0,(e=y2[A+8>>2])?y2[A+8>>2]=0:(y2[6502]=o+2,e=0,(r=q2(63))&&(y2[(e=r+19&-16)-4>>2]=r),y2[e>>2]=0,y2[e+4>>2]=0,y2[e+40>>2]=0,y2[(r=e+32|0)>>2]=0,y2[r+4>>2]=0,y2[(r=e+24|0)>>2]=0,y2[r+4>>2]=0,y2[(r=e+16|0)>>2]=0,y2[r+4>>2]=0,y2[(r=e+8|0)>>2]=0,y2[r+4>>2]=0),y2[e+36>>2]=f,r=y2[b+20>>2],y2[e>>2]=y2[b+16>>2],y2[e+4>>2]=r,y2[e+40>>2]=0,n=y2[(a=b+24|0)+4>>2],y2[(r=e+8|0)>>2]=y2[a>>2],y2[r+4>>2]=n,n=y2[(a=b+32|0)+4>>2],y2[(r=e+16|0)>>2]=y2[a>>2],y2[r+4>>2]=n,n=y2[(a=b+40|0)+4>>2],y2[(r=e+24|0)>>2]=y2[a>>2],y2[r+4>>2]=n,y2[e+32>>2]=0,C4(i,y2[A+4>>2],e),y2[f+52>>2]=0,y2[f+48>>2]=e,e=84+((y2[A+104>>2]<<2)+A|0)|0,y2[f+56>>2]=y2[e>>2],y2[(r=A+16|0)>>2]=y2[r>>2]+1,(r=y2[e>>2])&&(y2[r+52>>2]=f),y2[e>>2]=f,U2[A+153|0]||(y2[b+8>>2]=f,y2[b>>2]=22636,y2[b+4>>2]=A,H1(y2[A+4>>2],b+16|0,b),H1(y2[A+44>>2],b+16|0,b)),L2=b+48|0,0|f},function(A,e,r){A|=0,r|=0;var f,i,a=0;Z4(a=2==y2[(e|=0)+60>>2]?A+44|0:A+4|0,i=y2[e+48>>2]),(f=y2[a+4>>2])&&(y2[6503]=y2[6503]+1,$2(y2[f-4>>2])),y2[a+4>>2]=i,y2[a+12>>2]=y2[a+12>>2]-1,i=y2[e+56>>2],a=(a=y2[e+52>>2])?a+56|0:84+((y2[e+60>>2]<<2)+A|0)|0,y2[a>>2]=i,(a=y2[e+56>>2])&&(y2[a+52>>2]=y2[e+52>>2]),a=y2[A+96>>2],N2[y2[y2[a>>2]+16>>2]](a,e,r),y2[6503]=y2[6503]+1,$2(y2[e-4>>2]),X2[A+154|0]=1},function(A,e,r,f,i){A|=0,e|=0,r|=0,f|=0,i|=0;var a,n,b,t,o,c,k,u,l,s,v,B,d,_,g,Z,C=0,w=0,E=j2(0),Q=j2(0),h=j2(0),G=j2(0),F=0,D=j2(0),Y=j2(0),m=0;if(j2(0),j2(0),j2(0),j2(0),j2(0),j2(0),j2(0),j2(0),j2(0),j2(0),j2(0),j2(0),j2(0),L2=Z=L2-48|0,h=H2[r>>2],H2[44+Z>>2]=h,E=H2[r+4>>2],H2[40+Z>>2]=E,Q=H2[r+8>>2],H2[36+Z>>2]=Q,D=H2[f>>2],H2[32+Z>>2]=D,G=H2[f+4>>2],H2[28+Z>>2]=G,Y=H2[f+8>>2],H2[24+Z>>2]=Y,b=y2[f+12>>2],t=y2[r+12>>2],2==y2[e+60>>2])Z4(A+44|0,i=y2[e+48>>2]),(C=y2[A+48>>2])&&(y2[6503]=y2[6503]+1,$2(y2[C-4>>2])),y2[A+48>>2]=i,y2[(i=A+56|0)>>2]=y2[i>>2]-1,w=A+4|0,(i=y2[A+8>>2])?y2[A+8>>2]=0:(y2[6502]=y2[6502]+1,i=0,(C=q2(63))&&(y2[(i=C+19&-16)-4>>2]=C,h=H2[44+Z>>2]),y2[i>>2]=0,y2[i+4>>2]=0,y2[i+40>>2]=0,y2[(C=i+32|0)>>2]=0,y2[C+4>>2]=0,y2[(C=i+24|0)>>2]=0,y2[C+4>>2]=0,y2[(C=i+16|0)>>2]=0,y2[C+4>>2]=0,y2[(C=i+8|0)>>2]=0,y2[C+4>>2]=0),H2[i>>2]=h,y2[i+36>>2]=e,y2[i+12>>2]=t,y2[i+40>>2]=0,y2[i+28>>2]=b,y2[i+4>>2]=y2[40+Z>>2],y2[i+8>>2]=y2[36+Z>>2],y2[i+16>>2]=y2[32+Z>>2],y2[i+20>>2]=y2[28+Z>>2],y2[i+24>>2]=y2[24+Z>>2],y2[i+32>>2]=0,C4(w,y2[A+4>>2],i),y2[e+48>>2]=i,y2[(i=A+16|0)>>2]=y2[i>>2]+1,i=1;else if(y2[A+128>>2]=y2[A+128>>2]+1,w=y2[e+48>>2],(a=H2[w>>2])<=D&&h<=(n=H2[w+16>>2])&&(c=H2[w+4>>2])<=G&&E<=(k=H2[w+20>>2])&&(u=H2[w+8>>2])<=Y&&Q<=(l=H2[w+24>>2])){if(s=H2[e+16>>2],d=H2[e+32>>2],o=H2[A+100>>2],v=H2[e+24>>2],_=H2[e+40>>2],B=H2[e+20>>2],g=H2[e+36>>2],!(a<=h&&c<=E&&u<=Q&&D<=n&&G<=k&&(i=0,Y<=l))){G=j2(G+j2(.05000000074505806)),H2[28+Z>>2]=G,a=j2(E+j2(-.05000000074505806)),H2[40+Z>>2]=a,n=j2(o*j2(j2(g-B)*j2(.5))),i=(E=j2(E-B)j2(0),H2[(i?28+Z|0:40+Z|0)>>2]=(i?G:a)+E,E=j2(Q+j2(-.05000000074505806)),H2[36+Z>>2]=E,G=j2(Y+j2(.05000000074505806)),H2[24+Z>>2]=G,Y=j2(o*j2(j2(_-v)*j2(.5))),i=(Q=j2(Q-v)j2(0),H2[(i?24+Z|0:36+Z|0)>>2]=(i?G:E)+Q,E=j2(D+j2(.05000000074505806)),H2[32+Z>>2]=E,Q=j2(h+j2(-.05000000074505806)),H2[44+Z>>2]=Q,D=j2(j2(j2(d-s)*j2(.5))*o),i=(h=j2(h-s)j2(0),H2[(i?32+Z|0:44+Z|0)>>2]=(i?E:Q)+h;A:if(i=Z4(m=A+4|0,w)){if(0<=(0|(F=y2[A+12>>2]))){if(F)for(;;){if(!(C=y2[i+32>>2]))break A;if(i=C,!(F=F-1|0))break}}else i=y2[m>>2];}else i=0;y2[w>>2]=y2[44+Z>>2],y2[w+4>>2]=y2[40+Z>>2],y2[w+12>>2]=t,y2[w+8>>2]=y2[36+Z>>2],y2[w+16>>2]=y2[32+Z>>2],y2[w+20>>2]=y2[28+Z>>2],y2[w+24>>2]=y2[24+Z>>2],y2[w+28>>2]=b,C4(m,i,w),y2[A+132>>2]=y2[A+132>>2]+1,i=1}}else{A:if(i=Z4(m=A+4|0,w)){if(0<=(0|(F=y2[A+12>>2]))){if(F)for(;;){if(!(C=y2[i+32>>2]))break A;if(i=C,!(F=F-1|0))break}}else i=y2[m>>2];}else i=0;H2[w+16>>2]=D,y2[w+12>>2]=t,H2[w+8>>2]=Q,H2[w+4>>2]=E,H2[w>>2]=h,y2[w+28>>2]=b,H2[w+24>>2]=Y,H2[w+20>>2]=G,C4(m,i,w),y2[A+132>>2]=y2[A+132>>2]+1,i=1}w=y2[e+56>>2],C=(C=y2[e+52>>2])?C+56|0:84+((y2[e+60>>2]<<2)+A|0)|0,y2[C>>2]=w,(C=y2[e+56>>2])&&(y2[C+52>>2]=y2[e+52>>2]),C=y2[r+4>>2],y2[e+16>>2]=y2[r>>2],y2[e+20>>2]=C,w=y2[(r=r+8|0)+4>>2],y2[(C=e+24|0)>>2]=y2[r>>2],y2[C+4>>2]=w,w=y2[(C=f+8|0)+4>>2],y2[(r=e+40|0)>>2]=y2[C>>2],y2[r+4>>2]=w,r=y2[f+4>>2],y2[e+32>>2]=y2[f>>2],y2[e+36>>2]=r,y2[e+52>>2]=0,f=y2[A+104>>2],y2[e+56>>2]=y2[(r=84+((f<<2)+A|0)|0)>>2],y2[e+60>>2]=f,(f=y2[r>>2])&&(y2[f+52>>2]=e),y2[r>>2]=e,i&&(X2[A+154|0]=1,U2[A+153|0]||(y2[8+Z>>2]=22636,e6(r=(y2[12+Z>>2]=A)+44|0,y2[r>>2],y2[e+48>>2],8+Z|0),e6(A+4|0,y2[A+4>>2],y2[e+48>>2],8+Z|0))),L2=48+Z|0},function(A,e,r,f){var i;A|=0,f|=0,A=y2[(e|=0)+20>>2],y2[(r|=0)>>2]=y2[e+16>>2],y2[r+4>>2]=A,A=r+8|0,i=y2[(r=e+24|0)+4>>2],y2[A>>2]=y2[r>>2],y2[A+4>>2]=i,i=y2[(r=e+40|0)+4>>2],y2[(A=f+8|0)>>2]=y2[r>>2],y2[A+4>>2]=i,A=y2[e+36>>2],y2[f>>2]=y2[e+32>>2],y2[f+4>>2]=A},function(A,e,r,f,i,a){var n,b,t;A|=0,e|=0,r|=0,f|=0,i|=0,a|=0,y2[(L2=r=L2-16|0)+8>>2]=22780,y2[r+12>>2]=f,t=y2[A+168>>2],r6(y2[A+4>>2],e,n=f+4|0,b=f+20|0,H2[f+32>>2],i,a,t,r+8|0),r6(y2[A+44>>2],e,n,b,H2[f+32>>2],i,a,t,r+8|0),L2=r+16|0},function(A,e,r,f){var i,a,n;A|=0,e|=0,r|=0,y2[44+(L2=n=L2-48|0)>>2]=f|=0,y2[40+n>>2]=22708,a=y2[4+(i=e+8|0)>>2],y2[(f=16+n|0)>>2]=y2[i>>2],y2[f+4>>2]=a,a=y2[4+(i=r+8|0)>>2],y2[(f=32+n|0)>>2]=y2[i>>2],y2[f+4>>2]=a,f=y2[e+4>>2],y2[8+n>>2]=y2[e>>2],y2[12+n>>2]=f,e=y2[r+4>>2],y2[24+n>>2]=y2[r>>2],y2[28+n>>2]=e,H1(y2[A+4>>2],8+n|0,40+n|0),H1(y2[A+44>>2],8+n|0,40+n|0),L2=48+n|0},function(A,e){A|=0,e|=0;var r,f=0,i=0,a=0,n=0,b=0,t=0,o=0,c=0,k=0,u=0,l=0,s=j2(0);if(L2=r=L2-32|0,g4(k=A+4|0,1+((0|P2(y2[A+112>>2],y2[A+16>>2]))/100|0)|0),y2[A+124>>2]&&(g4(A+44|0,f=1+((0|P2(y2[A+108>>2],y2[A+56>>2]))/100|0)|0),f=y2[A+124>>2]-f|0,y2[A+124>>2]=0<(0|f)?f:0),f=(y2[A+104>>2]+1|0)%2|0,y2[A+104>>2]=f,a=y2[84+((f<<2)+A|0)>>2]){for(u=A+44|0,o=16+r|0;;)if(f=y2[a+56>>2],i=(i=y2[a+52>>2])?i+56|0:84+((y2[a+60>>2]<<2)+A|0)|0,y2[i>>2]=f,(i=y2[a+56>>2])&&(y2[i+52>>2]=y2[a+52>>2]),y2[a+52>>2]=0,y2[a+56>>2]=y2[A+92>>2],(i=y2[A+92>>2])&&(y2[i+52>>2]=a),y2[A+92>>2]=a,Z4(k,b=y2[a+48>>2]),(i=y2[A+8>>2])&&(y2[6503]=y2[6503]+1,$2(y2[i-4>>2])),y2[A+8>>2]=b,y2[A+16>>2]=y2[A+16>>2]-1,i=y2[(b=a+24|0)+4>>2],y2[(t=c=8+r|0)>>2]=y2[b>>2],y2[t+4>>2]=i,i=y2[a+36>>2],y2[o>>2]=y2[a+32>>2],y2[o+4>>2]=i,i=y2[(b=a+40|0)+4>>2],y2[(t=o+8|0)>>2]=y2[b>>2],y2[t+4>>2]=i,i=y2[a+20>>2],y2[r>>2]=y2[a+16>>2],y2[4+r>>2]=i,(n=y2[A+48>>2])?y2[A+48>>2]=0:(n=0,y2[6502]=y2[6502]+1,(i=q2(63))&&(y2[(n=i+19&-16)-4>>2]=i),y2[n>>2]=0,y2[n+4>>2]=0,y2[n+40>>2]=0,y2[(i=n+32|0)>>2]=0,y2[i+4>>2]=0,y2[(i=n+24|0)>>2]=0,y2[i+4>>2]=0,y2[(i=n+16|0)>>2]=0,y2[i+4>>2]=0,y2[(i=n+8|0)>>2]=0,y2[i+4>>2]=0),y2[n+36>>2]=a,i=y2[4+r>>2],y2[n>>2]=y2[r>>2],y2[n+4>>2]=i,y2[n+40>>2]=0,i=y2[c+4>>2],y2[(b=n+8|0)>>2]=y2[c>>2],y2[b+4>>2]=i,i=y2[o+4>>2],y2[(b=n+16|0)>>2]=y2[o>>2],y2[b+4>>2]=i,i=y2[(b=24+r|0)+4>>2],y2[(t=n+24|0)>>2]=y2[b>>2],y2[t+4>>2]=i,y2[n+32>>2]=0,C4(u,y2[A+44>>2],n),y2[a+60>>2]=2,y2[a+48>>2]=n,i=y2[A+56>>2]+1|0,y2[A+56>>2]=i,!(a=f))break;X2[A+154|0]=1,y2[A+124>>2]=i}if(y2[r>>2]=22636,y2[4+r>>2]=A,U2[A+153|0]&&(e6(k,y2[A+4>>2],y2[A+44>>2],r),U2[A+153|0])&&e6(k,f=y2[k>>2],f,r),U2[A+154|0]&&(f=y2[A+96>>2],u=0|N2[y2[y2[f>>2]+28>>2]](f),!((0|(t=y2[u+4>>2]))<1))){i=y2[(k=A)+120>>2];A:{if(1<=(0|(n=(0|t)<(0|(f=(0|(f=(0|P2(y2[A+116>>2],t))/100|0))<(0|i)?i:f))?t:f))){for(a=0;;)if(f=y2[u+12>>2]+((y2[A+144>>2]+a|0)%(0|t)<<4)|0,b=y2[f>>2],c=y2[b+48>>2],i=y2[f+4>>2],f=y2[i+48>>2],H2[c>>2]<=H2[f+16>>2]&&H2[c+16>>2]>=H2[f>>2]&&H2[c+4>>2]<=H2[f+20>>2]&&H2[c+20>>2]>=H2[f+4>>2]&&H2[c+8>>2]<=H2[f+24>>2]&&H2[c+24>>2]>=H2[f+8>>2]||(f=y2[A+96>>2],N2[y2[y2[f>>2]+12>>2]](f,b,i,e),a=a-1|0,n=n-1|0,t=y2[u+4>>2]),!((0|(a=a+1|0))<(0|n)))break;if(((f=0)|t)<=0)break A}f=(y2[A+144>>2]+n|0)%(0|t)|0}y2[k+144>>2]=f}if(X2[A+154|0]=0,y2[A+120>>2]=1,y2[A+140>>2]=y2[A+140>>2]+1,i=y2[A+132>>2],f=y2[(a=A)+128>>2],s=j2(0),f&&(s=j2(j2(i>>>0)/j2(f>>>0))),H2[a+136>>2]=s,y2[A+132>>2]=i>>>1,y2[A+128>>2]=f>>>1,f=y2[A+96>>2],0|N2[y2[y2[f>>2]+56>>2]](f)){if(f=y2[A+96>>2],o=0|N2[y2[y2[f>>2]+28>>2]](f),2<=(0|(f=y2[o+4>>2]))&&($1(o,0,f-1|0),f=y2[o+4>>2]),1<=(0|f)){for(a=i=t=n=0;;)if(c=y2[o+12>>2]+n|0,b=y2[(u=c+4|0)>>2],k=i,i=y2[c>>2],((0|a)!=(0|b)||(0|k)!=(0|i))&&(k=y2[i+48>>2],a=y2[b+48>>2],H2[k>>2]<=H2[a+16>>2])&&H2[k+16>>2]>=H2[a>>2]&&H2[k+4>>2]<=H2[a+20>>2]&&H2[k+20>>2]>=H2[a+4>>2]&&H2[k+8>>2]<=H2[a+24>>2]&&H2[k+24>>2]>=H2[a+8>>2]||(f=y2[A+96>>2],N2[y2[y2[f>>2]+32>>2]](f,c,e),y2[u>>2]=0,t=t+1|(y2[c>>2]=0),f=y2[o+4>>2]),n=n+16|0,a=b,!((0|(l=l+1|0))<(0|f)))break;if(2<=(0|f)&&($1(o,0,f-1|0),f=y2[o+4>>2]),i=f-t|0,(0|t)<=-1){if((0|i)>y2[o+8>>2]){if(1<=((e=0)|(n=A=i?(y2[6502]=y2[6502]+1,(A=q2(16+(i<<4|3)|0))&&(y2[(e=A+19&-16)-4>>2]=A),y2[o+4>>2]):f)))for(a=12;;)if(u=y2[o+12>>2]+a|0,y2[(c=e+a|0)-12>>2]=y2[u-12>>2],A=y2[(b=u-8|0)+4>>2],y2[(l=c-8|0)>>2]=y2[b>>2],y2[l+4>>2]=A,y2[c>>2]=y2[u>>2],a=a+16|0,!(n=n-1|0))break;(A=y2[o+12>>2])&&(U2[o+16|0]&&(y2[6503]=y2[6503]+1,$2(y2[A-4>>2])),y2[o+12>>2]=0),y2[o+12>>2]=e,X2[o+16|0]=1,y2[o+8>>2]=i}for(a=f<<4;;)if(A=y2[o+12>>2]+a|0,y2[A>>2]=0,y2[A+4>>2]=0,y2[(A=A+8|0)>>2]=0,a=a+16|(y2[A+4>>2]=0),!((A=t)>>>0<=(t=A+1|0)>>>0))break}f=i}y2[o+4>>2]=f}L2=32+r|0},f6,f6,function(A,e,r){A|=0,e|=0,r|=0;var f=j2(0),i=j2(0),a=j2(0),n=j2(0),b=j2(0),t=j2(0),o=j2(0),c=j2(0),k=y2[A+44>>2];(A=y2[A+4>>2])?(a=H2[A>>2],k?(f=H2[A+20>>2],n=(i=H2[k+20>>2])>2])<(i=H2[k+8>>2])?f:i,t=(f=H2[A+4>>2])<(i=H2[k+4>>2])?f:i,f=H2[A+16>>2],o=(i=H2[k+16>>2])>2])?a:f,f=H2[A+24>>2],(i=H2[k+24>>2])>2],f=H2[A+24>>2],n=H2[A+20>>2],o=H2[A+16>>2],c=H2[A+12>>2],b=H2[A+8>>2],t=H2[A+4>>2])):k&&(i=H2[k+28>>2],f=H2[k+24>>2],n=H2[k+20>>2],o=H2[k+16>>2],c=H2[k+12>>2],b=H2[k+8>>2],t=H2[k+4>>2],a=H2[k>>2]),H2[e+12>>2]=c,H2[e+8>>2]=b,H2[e+4>>2]=t,H2[e>>2]=a,H2[r+12>>2]=i,H2[r+8>>2]=f,H2[r+4>>2]=n,H2[r>>2]=o},function(A,e){e|=0,y2[(A|=0)+16>>2]==(0-y2[A+56>>2]|0)&&(_4(A+4|0),_4(A+44|0),X2[A+153|0]=0,X2[A+154|0]=1,y2[A+124>>2]=0,y2[A+104>>2]=0,y2[A+116>>2]=10,y2[A+120>>2]=1,y2[A+108>>2]=1,y2[A+112>>2]=0,y2[(e=A+84|0)>>2]=0,y2[e+4>>2]=0,y2[A+92>>2]=0,y2[A+128>>2]=0,y2[A+132>>2]=0,y2[(e=A+136|0)>>2]=0,y2[e+4>>2]=0,y2[(A=A+144|0)>>2]=0,y2[A+4>>2]=0)},i6,A,function(A,e,r){var f;A|=0,(0|(e|=0))!=(0|(r|=0))&&(f=y2[y2[A+4>>2]+96>>2],N2[y2[y2[f>>2]+8>>2]](f,y2[e+36>>2],y2[r+36>>2]),A=y2[A+4>>2],y2[A+120>>2]=y2[A+120>>2]+1)},function(A,e){N2[y2[y2[(A|=0)>>2]+8>>2]](A,e|=0,y2[y2[A+8>>2]+48>>2])},A,a6,A,a6,function(A){var e;return y2[(A|=0)>>2]=22904,(e=y2[A+556>>2])&&(U2[A+560|0]&&(y2[6503]=y2[6503]+1,$2(y2[e-4>>2])),y2[A+556>>2]=0),y2[A+556>>2]=0,y2[A+548>>2]=0,y2[A+552>>2]=0,y2[A>>2]=10468,X2[A+560|0]=1,(e=y2[A+296>>2])&&(U2[A+300|0]&&(y2[6503]=y2[6503]+1,$2(y2[e-4>>2])),y2[A+296>>2]=0),y2[A+296>>2]=0,y2[A+288>>2]=0,y2[A+292>>2]=0,X2[A+300|0]=1,0|A},function(A){var e;y2[(A|=0)>>2]=22904,(e=y2[A+556>>2])&&(U2[A+560|0]&&(y2[6503]=y2[6503]+1,$2(y2[e-4>>2])),y2[A+556>>2]=0),y2[A+556>>2]=0,y2[A+548>>2]=0,y2[A+552>>2]=0,y2[A>>2]=10468,X2[A+560|0]=1,(e=y2[A+296>>2])&&(U2[A+300|0]&&(y2[6503]=y2[6503]+1,$2(y2[e-4>>2])),y2[A+296>>2]=0),y2[A+296>>2]=0,y2[A+288>>2]=0,y2[A+292>>2]=0,X2[A+300|0]=1,y2[6503]=y2[6503]+1,$2(y2[A-4>>2])},function(A){return 496},function(A,e,r){return m0(A|=0,e|=0,r|=0),y2[e+264>>2]=y2[A+324>>2],y2[e+268>>2]=y2[A+328>>2],y2[e+272>>2]=y2[A+332>>2],y2[e+276>>2]=y2[A+336>>2],y2[e+280>>2]=y2[A+340>>2],y2[e+284>>2]=y2[A+344>>2],y2[e+288>>2]=y2[A+348>>2],y2[e+292>>2]=y2[A+352>>2],y2[e+296>>2]=y2[A+356>>2],y2[e+300>>2]=y2[A+360>>2],y2[e+304>>2]=y2[A+364>>2],y2[e+308>>2]=y2[A+368>>2],y2[e+312>>2]=y2[A+372>>2],y2[e+316>>2]=y2[A+376>>2],y2[e+320>>2]=y2[A+380>>2],y2[e+324>>2]=y2[A+384>>2],y2[e+328>>2]=y2[A+388>>2],y2[e+332>>2]=y2[A+392>>2],y2[e+336>>2]=y2[A+396>>2],y2[e+340>>2]=y2[A+400>>2],y2[e+456>>2]=y2[A+404>>2],y2[e+344>>2]=y2[A+604>>2],y2[e+348>>2]=y2[A+608>>2],y2[e+352>>2]=y2[A+612>>2],y2[e+356>>2]=y2[A+616>>2],y2[e+360>>2]=y2[A+408>>2],y2[e+364>>2]=y2[A+412>>2],y2[e+368>>2]=y2[A+416>>2],y2[e+372>>2]=y2[A+420>>2],y2[e+376>>2]=y2[A+424>>2],y2[e+380>>2]=y2[A+428>>2],y2[e+384>>2]=y2[A+432>>2],y2[e+388>>2]=y2[A+436>>2],y2[e+392>>2]=y2[A+440>>2],y2[e+396>>2]=y2[A+444>>2],y2[e+400>>2]=y2[A+448>>2],y2[e+404>>2]=y2[A+452>>2],y2[e+408>>2]=y2[A+456>>2],y2[e+412>>2]=y2[A+460>>2],y2[e+416>>2]=y2[A+464>>2],y2[e+420>>2]=y2[A+468>>2],y2[e+424>>2]=y2[A+472>>2],y2[e+428>>2]=y2[A+476>>2],y2[e+432>>2]=y2[A+480>>2],y2[e+436>>2]=y2[A+484>>2],y2[e+440>>2]=y2[A+488>>2],y2[e+444>>2]=y2[A+492>>2],y2[e+448>>2]=y2[A+496>>2],y2[e+452>>2]=y2[A+500>>2],r=y2[A+508>>2],y2[e+460>>2]=y2[A+504>>2],y2[e+464>>2]=r,r=y2[A+520>>2],y2[e+468>>2]=y2[A+516>>2],y2[e+472>>2]=r,r=y2[A+528>>2],y2[e+476>>2]=y2[A+524>>2],y2[e+480>>2]=r,r=y2[A+536>>2],y2[e+484>>2]=y2[A+532>>2],y2[e+488>>2]=r,y2[e+492>>2]=U2[A+512|0],22944},function(A,e){var r,f=0,i=0,i=e|=0,a=0|N2[y2[y2[(A|=0)>>2]+16>>2]](A),n=y2[y2[e>>2]+16>>2],f=0|N2[n](0|i,0|a,1);r=e,i=0|N2[y2[y2[A>>2]+20>>2]](A,y2[8+(a=f)>>2],e),f=A,n=y2[y2[e>>2]+20>>2],N2[n](0|r,0|a,0|i,1497645650,0|f)},c6,function(A){(A=c6(A|=0))&&(y2[6503]=y2[6503]+1,$2(y2[A-4>>2]))},q0,function(A,e,r,f,i,a,n,b,t,o){return j2(N2[y2[y2[(A|=0)>>2]+44>>2]](A,e|=0,r|=0,f|=0,i|=0,a|=0,n|=0,b|=0,t|=0)),j2(N2[y2[y2[A>>2]+48>>2]](A,e,r,f,i,a,n,b,t)),j2(N2[y2[y2[A>>2]+36>>2]](A,e,r,b)),j2(j2(0))},q0,function(A){y2[(A|=0)+232>>2]=0},N1,function(A,V,x,e){A|=0,V|=0,x|=0,e|=0;var r,f,i,a,n,b,t,o,p,S,J,M,X,y,U,H,P,j,z,O,K,L,q,$,A2,e2,r2,f2,i2,a2,n2,b2,t2,o2,c2,k2,u2,l2,s2,v2,B2,d2,_2,g2,Z2,C2,w2,E2,Q2,c,k=j2(0),u=0,l=j2(0),s=j2(0),v=j2(0),B=j2(0),d=j2(0),_=j2(0),g=j2(0),Z=0,C=j2(0),w=0,E=j2(0),Q=j2(0),h=j2(0),G=j2(0),F=0,D=j2(0),Y=j2(0),m=j2(0),N=0,R=j2(0),I=j2(0),h2=0,W=j2(0),T=0,G2=0,F2=0,D2=j2(0),Y2=j2(0),m2=j2(0),N2=j2(0),R2=(j2(0),j2(0)),I2=j2(0),W2=j2(0),T2=j2(0),V2=0,x2=0,p2=(j2(0),j2(0),j2(0),j2(0)),S2=j2(0),J2=j2(0),M2=j2(0);if(L2=c=L2+-64|0,1<=(0|x))for(;;){if(P=y2[(x2<<2)+V>>2],r=y2[P+840>>2],J=k6(A,f=y2[P+836>>2],H2[e+12>>2]),S=k6(A,r,H2[e+12>>2]),z=P2(J,244),N=y2[A+16>>2],k=H2[(w=z+N|0)+128>>2],s=j2(k*k),k=H2[w+132>>2],s=j2(s+j2(k*k)),k=H2[w+136>>2],!(j2(s+j2(k*k))>2],s=j2(k*k),k=H2[u+132>>2],s=j2(s+j2(k*k)),k=H2[u+136>>2],j2(s+j2(k*k))>2]))<1))for($=(u=N+(O=P2(S,244))|0)+232|0,A2=u+200|0,e2=u+228|0,r2=u+196|0,f2=u+224|0,i2=u+192|0,a2=u+216|0,n2=u+184|0,b2=u+212|0,t2=u+180|0,o2=u+208|0,c2=u+176|0,k2=u+240|0,u2=w+232|0,l2=w+200|0,s2=w+228|0,v2=w+196|0,B2=w+224|0,d2=w+192|0,_2=w+216|0,g2=w+184|0,Z2=w+212|0,C2=w+180|0,w2=w+208|0,E2=w+176|0,Q2=w+240|0,V2=0;;){if(i=P2(V2,208)+P|0,H2[(a=84+i|0)>>2]<=H2[P+852>>2]){if(U=4+i|0,(0|(Z=N=y2[A+28>>2]))==y2[A+32>>2]&&!((0|(h2=(Z=N)?Z<<1:1))<=(0|Z))){if(w=0,h2&&(y2[6502]=y2[6502]+1,u=q2(16+(3|P2(h2,152))|0))&&(y2[(w=u+19&-16)-4>>2]=u),1<=(0|N))for(Z=0,u=N;;)if(A0(Z+w|0,y2[A+36>>2]+Z|0,152),Z=Z+152|0,!(u=u-1|0))break;(u=y2[A+36>>2])&&(U2[A+40|0]&&(y2[6503]=y2[6503]+1,$2(y2[u-4>>2])),y2[A+36>>2]=0),y2[A+36>>2]=w,X2[A+40|0]=1,y2[A+32>>2]=h2,Z=y2[A+28>>2]}y2[A+28>>2]=Z+1,u=y2[A+36>>2]+P2(N,152)|0,y2[u+132>>2]=U,y2[u+148>>2]=S,y2[u+144>>2]=J,y2[60+c>>2]=0,X=j2(H2[60+i>>2]-H2[f+60>>2]),H2[56+c>>2]=X,_=j2(H2[56+i>>2]-H2[f+56>>2]),H2[52+c>>2]=_,g=j2(H2[52+i>>2]-H2[f+52>>2]),H2[48+c>>2]=g,v=H2[36+i>>2],s=H2[40+i>>2],B=H2[44+i>>2],l=H2[r+52>>2],W=H2[r+56>>2],k=H2[r+60>>2],y2[44+c>>2]=0,I=j2(B-k),H2[40+c>>2]=I,R=j2(s-W),H2[36+c>>2]=R,h=j2(v-l),H2[32+c>>2]=h,S2=j2(0),J2=j2(0),M2=j2(0),R2=j2(0),y2[Q2>>2]&&(l=j2(H2[d2>>2]+H2[B2>>2]),W=j2(H2[v2>>2]+H2[s2>>2]),R2=j2(j2(H2[g2>>2]+H2[_2>>2])+j2(j2(_*l)-j2(g*W))),k=j2(H2[l2>>2]+H2[u2>>2]),M2=j2(j2(H2[C2>>2]+H2[Z2>>2])+j2(j2(g*k)-j2(X*l))),J2=j2(j2(H2[E2>>2]+H2[w2>>2])+j2(j2(X*W)-j2(_*k)))),I2=j2(0),W2=j2(0),y2[k2>>2]&&(l=j2(H2[i2>>2]+H2[f2>>2]),W=j2(H2[r2>>2]+H2[e2>>2]),W2=j2(j2(H2[n2>>2]+H2[a2>>2])+j2(j2(R*l)-j2(h*W))),k=j2(H2[A2>>2]+H2[$>>2]),I2=j2(j2(H2[t2>>2]+H2[b2>>2])+j2(j2(h*k)-j2(I*l))),S2=j2(j2(H2[c2>>2]+H2[o2>>2])+j2(j2(I*W)-j2(R*k)))),K=H2[(M=72+i|0)>>2],L=H2[(p=68+i|0)>>2],q=H2[(y=76+i|0)>>2],B=H2[e+12>>2],Z=y2[A+16>>2],t=y2[240+(n=Z+O|0)>>2],o=y2[240+(b=Z+z|0)>>2],p2=H2[e+36>>2],T2=H2[e+40>>2],W=H2[e+28>>2],6&(Z=y2[(j=132+i|0)>>2])?(T2=2&Z?H2[156+i>>2]:T2,4&Z&&(p2=H2[160+i>>2])):8&Z&&(k=j2(B*H2[156+i>>2]),l=j2(O2(j2(k+H2[160+i>>2]),j2(1.1920928955078125e-7))),p2=j2(k/l),T2=j2(j2(1)/l)),G=j2(j2(K*g)-j2(_*L)),m=j2(j2(X*L)-j2(q*g)),E=j2(j2(_*q)-j2(X*K)),D2=j2(0),Q=j2(0),Y2=j2(0),m2=j2(0),o&&(m2=j2(j2(j2(j2(E*H2[o+356>>2])+j2(m*H2[o+360>>2]))+j2(G*H2[o+364>>2]))*H2[o+612>>2]),Y2=j2(j2(j2(j2(E*H2[o+340>>2])+j2(m*H2[o+344>>2]))+j2(G*H2[o+348>>2]))*H2[o+608>>2]),Q=j2(j2(j2(j2(E*H2[o+324>>2])+j2(m*H2[o+328>>2]))+j2(G*H2[o+332>>2]))*H2[o+604>>2])),H2[u+64>>2]=Q,y2[u+76>>2]=0,H2[(F=u+72|0)>>2]=m2,H2[(T=u+68|0)>>2]=Y2,l=H2[M>>2],k=H2[p>>2],C=j2(j2(l*h)-j2(R*k)),s=j2(I*k),k=H2[y>>2],s=j2(s-j2(k*h)),v=j2(j2(R*k)-j2(I*l)),N2=j2(0),d=j2(0),t&&(k=j2(-s),d=j2(j2(j2(j2(H2[t+360>>2]*k)-j2(v*H2[t+356>>2]))-j2(C*H2[t+364>>2]))*H2[t+612>>2]),D2=j2(j2(j2(j2(H2[t+328>>2]*k)-j2(v*H2[t+324>>2]))-j2(C*H2[t+332>>2]))*H2[t+604>>2]),N2=j2(j2(j2(j2(H2[t+344>>2]*k)-j2(v*H2[t+340>>2]))-j2(C*H2[t+348>>2]))*H2[t+608>>2])),H2[u+80>>2]=D2,y2[u+92>>2]=0,H2[(F2=u+88|0)>>2]=d,H2[(G2=u+84|0)>>2]=N2,Z=u,l=W,Y=j2(j2(1)/B),B=D=j2(Y*T2),k=j2(o?H2[o+404>>2]+j2(j2(j2(j2(j2(Y2*X)-j2(m2*_))*H2[p>>2])+j2(j2(j2(m2*g)-j2(X*Q))*H2[M>>2]))+j2(j2(j2(_*Q)-j2(Y2*g))*H2[y>>2])):0),d=j2(t?H2[t+404>>2]+j2(j2(j2(j2(j2(d*R)-j2(N2*I))*H2[p>>2])+j2(j2(j2(D2*I)-j2(d*h))*H2[M>>2]))+j2(j2(j2(N2*h)-j2(D2*R))*H2[y>>2])):0),H2[Z+108>>2]=l/j2(B+j2(k+d)),H=u+16|0,o?(Z=y2[4+p>>2],y2[H>>2]=y2[p>>2],y2[4+H>>2]=Z,Z=y2[(w=8+p|0)+4>>2],y2[(h2=8+H|0)>>2]=y2[w>>2],y2[h2+4>>2]=Z,H2[u>>2]=E,y2[u+12>>2]=0,H2[u+8>>2]=G,H2[u+4>>2]=m):(y2[u>>2]=0,y2[u+4>>2]=0,y2[(Z=u+24|0)>>2]=0,y2[Z+4>>2]=0,y2[H>>2]=0,y2[4+H>>2]=0,y2[(Z=u+8|0)>>2]=0,y2[Z+4>>2]=0),t?(l=H2[M>>2],k=H2[y>>2],H2[u+48>>2]=-H2[p>>2],H2[u+32>>2]=-v,y2[u+60>>2]=0,H2[u+56>>2]=-k,H2[u+52>>2]=-l,y2[u+44>>2]=0,H2[u+40>>2]=-C,H2[u+36>>2]=-s):(y2[u+32>>2]=0,y2[u+36>>2]=0,y2[(Z=u+56|0)>>2]=0,y2[Z+4>>2]=0,y2[(Z=u+48|0)>>2]=0,y2[Z+4>>2]=0,y2[(Z=u+40|0)>>2]=0,y2[Z+4>>2]=0),m=H2[e+64>>2],E=H2[a>>2],D2=j2(0),Y2=j2(0),m2=j2(0),N2=j2(0),o&&(B=H2[o+388>>2],l=H2[o+392>>2],N2=j2(j2(j2(_*B)-j2(l*g))+H2[o+380>>2]),k=H2[o+396>>2],m2=j2(H2[o+376>>2]+j2(j2(k*g)-j2(X*B))),Y2=j2(j2(j2(l*X)-j2(k*_))+H2[o+372>>2])),d=j2(0),_=j2(0),t&&(B=H2[t+388>>2],l=H2[t+392>>2],_=j2(j2(j2(R*B)-j2(l*h))+H2[t+380>>2]),k=H2[t+396>>2],d=j2(H2[t+376>>2]+j2(j2(k*h)-j2(I*B))),D2=j2(j2(j2(l*I)-j2(k*R))+H2[t+372>>2])),a=240+n|0,h2=240+b|0,B=H2[y>>2],l=H2[p>>2],k=H2[M>>2],y2[u+104>>2]=y2[88+i>>2],k=j2(j2(j2(l*j2(Y2-D2))+j2(k*j2(m2-d)))+j2(B*j2(N2-_))),G=H2[e+96>>2]>j2(z2(k))?j2(0):j2(H2[100+i>>2]*j2(-k)),4&(Z=y2[e+72>>2])?(v=j2(H2[136+i>>2]*H2[e+68>>2]),H2[u+100>>2]=v,o&&y2[h2>>2]&&(s=H2[o+416>>2],B=H2[u+24>>2],l=H2[o+412>>2],k=H2[u+20>>2],H2[64+b>>2]=j2(H2[112+b>>2]*j2(v*j2(j2(H2[H>>2]*H2[128+b>>2])*H2[o+408>>2])))+H2[64+b>>2],H2[(w=68+b|0)>>2]=j2(j2(v*j2(l*j2(k*H2[132+b>>2])))*H2[116+b>>2])+H2[w>>2],H2[(w=72+b|0)>>2]=j2(j2(v*j2(s*j2(B*H2[136+b>>2])))*H2[120+b>>2])+H2[w>>2],B=H2[F>>2],l=H2[T>>2],H2[80+b>>2]=j2(j2(v*H2[96+b>>2])*H2[u- -64>>2])+H2[80+b>>2],k=H2[104+b>>2],H2[(w=84+b|0)>>2]=j2(l*j2(v*H2[100+b>>2]))+H2[w>>2],H2[(w=88+b|0)>>2]=j2(B*j2(v*k))+H2[w>>2]),t&&y2[a>>2]&&(Q=H2[t+416>>2],C=H2[u+56>>2],v=H2[t+412>>2],s=H2[u+52>>2],B=H2[F2>>2],l=H2[G2>>2],k=H2[u+80>>2],d=j2(-H2[u+100>>2]),H2[64+n>>2]=H2[64+n>>2]-j2(H2[112+n>>2]*j2(j2(j2(H2[128+n>>2]*H2[u+48>>2])*H2[t+408>>2])*d)),H2[(w=68+n|0)>>2]=H2[w>>2]-j2(j2(j2(v*j2(s*H2[132+n>>2]))*d)*H2[116+n>>2]),H2[(w=72+n|0)>>2]=H2[w>>2]-j2(j2(j2(Q*j2(C*H2[136+n>>2]))*d)*H2[120+n>>2]),H2[80+n>>2]=H2[80+n>>2]-j2(k*j2(H2[96+n>>2]*d)),k=H2[104+n>>2],H2[(w=84+n|0)>>2]=H2[w>>2]-j2(l*j2(H2[100+n>>2]*d)),H2[(w=88+n|0)>>2]=H2[w>>2]-j2(B*j2(k*d)))):y2[u+100>>2]=0,y2[u+96>>2]=0,g=j2(0),I=j2(0),R=j2(0),h=j2(0),D2=j2(0),Y2=j2(0),m2=j2(0),y2[h2>>2]&&(m2=H2[224+b>>2],D2=H2[232+b>>2],Y2=H2[228+b>>2],R=H2[212+b>>2],I=H2[216+b>>2],h=H2[208+b>>2]),_=j2(0),N2=j2(0),d=j2(0),T2=j2(0),k=j2(0),y2[a>>2]&&(g=H2[208+n>>2],d=H2[232+n>>2],T2=H2[228+n>>2],N2=H2[216+n>>2],_=H2[212+n>>2],k=H2[224+n>>2]),g=j2((G<=j2(0)?j2(0):G)-j2(j2(j2(j2(j2(j2(h+H2[176+b>>2])*H2[H>>2])+j2(j2(R+H2[180+b>>2])*H2[u+20>>2]))+j2(j2(I+H2[184+b>>2])*H2[u+24>>2]))+j2(j2(j2(j2(m2+H2[192+b>>2])*H2[u>>2])+j2(j2(Y2+H2[196+b>>2])*H2[u+4>>2]))+j2(j2(D2+H2[200+b>>2])*H2[u+8>>2])))+j2(j2(j2(j2(j2(g+H2[176+n>>2])*H2[u+48>>2])+j2(j2(_+H2[180+n>>2])*H2[u+52>>2]))+j2(j2(N2+H2[184+n>>2])*H2[u+56>>2]))+j2(j2(j2(j2(k+H2[192+n>>2])*H2[u+32>>2])+j2(j2(T2+H2[196+n>>2])*H2[u+36>>2]))+j2(j2(d+H2[200+n>>2])*H2[u+40>>2]))))),l=H2[e+56>>2],y2[u+120>>2]=0,y2[u+124>>2]=1343554297,B=H2[u+108>>2],H2[u+116>>2]=D*B,y2[u+140>>2]=y2[A+68>>2],F=u,k=(s=j2(E+m))>j2(0)?(g=j2(g-j2(Y*s)),j2(0)):j2(Y*j2(p2*j2(-s))),k=j2(k*B),w=!y2[e+52>>2]|l>2]=w?j2(0):k,s=k,k=j2(g*B),H2[u+112>>2]=w?j2(s+k):k,w=u+140|0,H2[(h2=92+i|0)>>2]>j2(0)&&(u6(A,p,J,S,N,H2[96+i>>2]),v=H2[y>>2],I=j2(z2(v))>j2(.7071067690849304)?(y2[16+c>>2]=0,l=H2[M>>2],k=j2(j2(v*v)+j2(l*l)),B=j2(j2(1)/j2(K2(k))),d=j2(l*B),H2[24+c>>2]=d,_=j2(B*j2(-v)),H2[20+c>>2]=_,h=j2(k*B),H2[c>>2]=h,k=H2[p>>2],R=j2(d*j2(-k)),H2[4+c>>2]=R,g=j2(0),j2(k*_)):(y2[24+c>>2]=0,B=H2[p>>2],l=H2[M>>2],k=j2(j2(B*B)+j2(l*l)),s=j2(j2(1)/j2(K2(k))),_=j2(B*s),H2[20+c>>2]=_,g=j2(s*j2(-l)),H2[16+c>>2]=g,R=j2(v*g),H2[4+c>>2]=R,h=j2(_*j2(-v)),H2[c>>2]=h,d=j2(0),j2(k*s)),k=j2(j2(1)/j2(K2(j2(j2(j2(g*g)+j2(_*_))+j2(d*d))))),d=j2(d*k),H2[24+c>>2]=d,_=j2(_*k),H2[20+c>>2]=_,g=j2(g*k),H2[16+c>>2]=g,k=j2(j2(1)/j2(K2(j2(j2(I*I)+j2(j2(h*h)+j2(R*R)))))),I=j2(I*k),H2[8+c>>2]=I,R=j2(R*k),H2[4+c>>2]=R,h=j2(h*k),H2[c>>2]=h,(Z=2&y2[f+180>>2])&&(y2[28+c>>2]=0,m=H2[f+4>>2],E=H2[f+20>>2],Q=H2[f+36>>2],Y=j2(j2(j2(j2(g*m)+j2(_*E))+j2(d*Q))*H2[f+164>>2]),C=H2[f+8>>2],v=H2[f+24>>2],s=H2[f+40>>2],G=j2(j2(j2(j2(g*C)+j2(_*v))+j2(d*s))*H2[f+168>>2]),B=H2[f+12>>2],l=H2[f+28>>2],k=H2[f+44>>2],D=j2(j2(j2(j2(g*B)+j2(_*l))+j2(d*k))*H2[f+172>>2]),d=j2(j2(j2(Q*Y)+j2(s*G))+j2(k*D)),H2[24+c>>2]=d,_=j2(j2(j2(E*Y)+j2(v*G))+j2(l*D)),H2[20+c>>2]=_,g=j2(j2(j2(m*Y)+j2(C*G))+j2(B*D)),H2[16+c>>2]=g),(u=2&y2[r+180>>2])&&(y2[28+c>>2]=0,m=H2[r+4>>2],E=H2[r+20>>2],Q=H2[r+36>>2],Y=j2(j2(j2(j2(m*g)+j2(E*_))+j2(Q*d))*H2[r+164>>2]),C=H2[r+8>>2],v=H2[r+24>>2],s=H2[r+40>>2],G=j2(j2(j2(j2(g*C)+j2(_*v))+j2(d*s))*H2[r+168>>2]),B=H2[r+12>>2],l=H2[r+28>>2],k=H2[r+44>>2],D=j2(j2(j2(j2(g*B)+j2(_*l))+j2(d*k))*H2[r+172>>2]),d=j2(j2(j2(Q*Y)+j2(s*G))+j2(k*D)),H2[24+c>>2]=d,_=j2(j2(j2(E*Y)+j2(v*G))+j2(l*D)),H2[20+c>>2]=_,g=j2(j2(j2(m*Y)+j2(C*G))+j2(B*D)),H2[16+c>>2]=g),Z&&(y2[12+c>>2]=0,m=H2[f+4>>2],E=H2[f+20>>2],Q=H2[f+36>>2],Y=j2(j2(j2(j2(h*m)+j2(R*E))+j2(I*Q))*H2[f+164>>2]),C=H2[f+8>>2],v=H2[f+24>>2],s=H2[f+40>>2],G=j2(j2(j2(j2(h*C)+j2(R*v))+j2(I*s))*H2[f+168>>2]),B=H2[f+12>>2],l=H2[f+28>>2],k=H2[f+44>>2],D=j2(j2(j2(j2(h*B)+j2(R*l))+j2(I*k))*H2[f+172>>2]),I=j2(j2(j2(Q*Y)+j2(s*G))+j2(k*D)),H2[8+c>>2]=I,R=j2(j2(j2(E*Y)+j2(v*G))+j2(l*D)),H2[4+c>>2]=R,h=j2(j2(j2(m*Y)+j2(C*G))+j2(B*D)),H2[c>>2]=h),u&&(y2[12+c>>2]=0,m=H2[r+4>>2],E=H2[r+20>>2],Q=H2[r+36>>2],Y=j2(j2(j2(j2(m*h)+j2(E*R))+j2(Q*I))*H2[r+164>>2]),C=H2[r+8>>2],v=H2[r+24>>2],s=H2[r+40>>2],G=j2(j2(j2(j2(h*C)+j2(R*v))+j2(I*s))*H2[r+168>>2]),B=H2[r+12>>2],l=H2[r+28>>2],k=H2[r+44>>2],D=j2(j2(j2(j2(h*B)+j2(R*l))+j2(I*k))*H2[r+172>>2]),I=j2(j2(j2(Q*Y)+j2(s*G))+j2(k*D)),H2[8+c>>2]=I,R=j2(j2(j2(E*Y)+j2(v*G))+j2(l*D)),H2[4+c>>2]=R,h=j2(j2(j2(m*Y)+j2(C*G))+j2(B*D)),H2[c>>2]=h),.001<+j2(K2(j2(j2(j2(g*g)+j2(_*_))+j2(d*d))))&&u6(A,16+c|0,J,S,N,H2[h2>>2]),.001<+j2(K2(j2(j2(j2(h*h)+j2(R*R))+j2(I*I))))&&u6(A,c,J,S,N,H2[h2>>2]),Z=y2[e+72>>2]),1&X2[0|j]&&32&Z?(l6(A,172+i|0,J,S,N,U,48+c|0,32+c|0,W,e,H2[148+i>>2],H2[(u=164+i|0)>>2]),16&U2[e+72|0]&&l6(A,188+i|0,J,S,N,U,48+c|0,32+c|0,W,e,H2[152+i>>2],H2[u>>2])):(y2[(u=184+i|0)>>2]=0,B=j2(J2-S2),l=j2(M2-I2),k=j2(R2-W2),C=j2(j2(j2(B*L)+j2(l*K))+j2(k*q)),T=180+i|0,E=H2[y>>2],v=j2(k-j2(C*E)),H2[T>>2]=v,F2=176+i|0,Q=H2[M>>2],s=j2(l-j2(C*Q)),H2[F2>>2]=s,F=172+i|0,k=B,B=H2[p>>2],l=j2(k-j2(C*B)),H2[F>>2]=l,!(64&U2[e+72|0])&&(k=j2(j2(j2(l*l)+j2(s*s))+j2(v*v)))>j2(1.1920928955078125e-7)?(k=j2(j2(1)/j2(K2(k))),g=j2(s*k),H2[F2>>2]=g,d=j2(l*k),H2[F>>2]=d,_=j2(v*k),H2[T>>2]=_,1&X2[f+180|0]&&(B=H2[f+172>>2],Y=H2[f+44>>2],G=H2[f+12>>2],D=H2[f+28>>2],l=H2[f+164>>2],m=H2[f+36>>2],E=H2[f+4>>2],s=H2[f+20>>2],k=H2[f+168>>2],Q=H2[f+40>>2],C=H2[f+8>>2],v=H2[f+24>>2],y2[u>>2]=0,h=s,s=j2(l*j2(j2(j2(d*E)+j2(g*s))+j2(_*m))),l=j2(k*j2(j2(j2(d*C)+j2(g*v))+j2(_*Q))),k=j2(B*j2(j2(j2(d*G)+j2(g*D))+j2(_*Y))),g=j2(j2(j2(h*s)+j2(v*l))+j2(D*k)),H2[F2>>2]=g,d=j2(j2(j2(E*s)+j2(C*l))+j2(G*k)),H2[F>>2]=d,_=j2(j2(j2(m*s)+j2(Q*l))+j2(Y*k)),H2[T>>2]=_),1&X2[r+180|0]&&(B=H2[r+172>>2],Y=H2[r+44>>2],G=H2[r+12>>2],D=H2[r+28>>2],l=H2[r+164>>2],m=H2[r+36>>2],E=H2[r+4>>2],s=H2[r+20>>2],k=H2[r+168>>2],Q=H2[r+40>>2],C=H2[r+8>>2],v=H2[r+24>>2],y2[u>>2]=0,h=s,s=j2(l*j2(j2(j2(E*d)+j2(s*g))+j2(m*_))),l=j2(k*j2(j2(j2(d*C)+j2(g*v))+j2(_*Q))),k=j2(B*j2(j2(j2(d*G)+j2(g*D))+j2(_*Y))),H2[F2>>2]=j2(j2(h*s)+j2(v*l))+j2(D*k),H2[F>>2]=j2(j2(E*s)+j2(C*l))+j2(G*k),H2[T>>2]=j2(j2(m*s)+j2(Q*l))+j2(Y*k)),l6(A,F,J,S,N,U,48+c|0,32+c|0,W,e,j2(0),j2(0)),16&U2[e+72|0]&&(Z=196+i|(y2[(h2=200+i|0)>>2]=0),v=H2[M>>2],s=H2[F>>2],k=H2[F2>>2],B=H2[p>>2],C=j2(j2(v*s)-j2(k*B)),l=H2[y>>2],D=j2(k*l),k=H2[T>>2],v=j2(D-j2(k*v)),l=j2(j2(k*B)-j2(l*s)),k=j2(j2(1)/j2(K2(j2(j2(j2(v*v)+j2(l*l))+j2(C*C))))),d=j2(C*k),H2[Z>>2]=d,u=192+i|0,_=j2(l*k),H2[u>>2]=_,G2=188+i|0,g=j2(v*k),H2[G2>>2]=g,1&X2[f+180|0]&&(B=H2[f+172>>2],Y=H2[f+44>>2],G=H2[f+12>>2],D=H2[f+28>>2],l=H2[f+164>>2],m=H2[f+36>>2],E=H2[f+4>>2],s=H2[f+20>>2],k=H2[f+168>>2],Q=H2[f+40>>2],C=H2[f+8>>2],v=H2[f+24>>2],y2[h2>>2]=0,h=s,s=j2(l*j2(j2(j2(g*E)+j2(_*s))+j2(d*m))),l=j2(k*j2(j2(j2(g*C)+j2(_*v))+j2(d*Q))),k=j2(B*j2(j2(j2(g*G)+j2(_*D))+j2(d*Y))),_=j2(j2(j2(h*s)+j2(v*l))+j2(D*k)),H2[u>>2]=_,g=j2(j2(j2(E*s)+j2(C*l))+j2(G*k)),H2[G2>>2]=g,d=j2(j2(j2(m*s)+j2(Q*l))+j2(Y*k)),H2[Z>>2]=d),1&X2[r+180|0]&&(B=H2[r+172>>2],Y=H2[r+44>>2],G=H2[r+12>>2],D=H2[r+28>>2],l=H2[r+164>>2],m=H2[r+36>>2],E=H2[r+4>>2],s=H2[r+20>>2],k=H2[r+168>>2],Q=H2[r+40>>2],C=H2[r+8>>2],v=H2[r+24>>2],y2[h2>>2]=0,h=s,s=j2(l*j2(j2(j2(E*g)+j2(s*_))+j2(m*d))),l=j2(k*j2(j2(j2(g*C)+j2(_*v))+j2(d*Q))),k=j2(B*j2(j2(j2(g*G)+j2(_*D))+j2(d*Y))),H2[u>>2]=j2(j2(h*s)+j2(v*l))+j2(D*k),H2[G2>>2]=j2(j2(E*s)+j2(C*l))+j2(G*k),H2[Z>>2]=j2(j2(m*s)+j2(Q*l))+j2(Y*k)),l6(A,G2,J,S,N,U,48+c|0,32+c|0,W,e,j2(0),j2(0)))):(G2=188+i|0,h=j2(z2(E))>j2(.7071067690849304)?(y2[F>>2]=0,k=j2(j2(Q*Q)+j2(E*E)),l=j2(j2(1)/j2(K2(k))),d=j2(l*j2(-E)),H2[F2>>2]=d,_=j2(Q*l),H2[T>>2]=_,I=j2(k*l),R=j2(B*d),g=j2(0),j2(_*j2(-B))):(y2[T>>2]=0,k=j2(j2(B*B)+j2(Q*Q)),l=j2(j2(1)/j2(K2(k))),d=j2(B*l),H2[F2>>2]=d,g=j2(l*j2(-Q)),H2[F>>2]=g,R=j2(k*l),I=j2(d*j2(-E)),_=j2(0),j2(E*g)),H2[G2>>2]=I,H2[(h2=196+i|0)>>2]=R,H2[(Z=192+i|0)>>2]=h,1&X2[f+180|0]&&(B=H2[f+172>>2],Y=H2[f+44>>2],G=H2[f+12>>2],D=H2[f+28>>2],l=H2[f+164>>2],m=H2[f+36>>2],E=H2[f+4>>2],s=H2[f+20>>2],k=H2[f+168>>2],Q=H2[f+40>>2],C=H2[f+8>>2],v=H2[f+24>>2],y2[u>>2]=0,h=s,s=j2(l*j2(j2(j2(E*g)+j2(s*d))+j2(m*_))),l=j2(k*j2(j2(j2(g*C)+j2(d*v))+j2(_*Q))),k=j2(B*j2(j2(j2(g*G)+j2(d*D))+j2(_*Y))),d=j2(j2(j2(h*s)+j2(v*l))+j2(D*k)),H2[F2>>2]=d,g=j2(j2(j2(E*s)+j2(C*l))+j2(G*k)),H2[F>>2]=g,_=j2(j2(j2(m*s)+j2(Q*l))+j2(Y*k)),H2[T>>2]=_),1&X2[r+180|0]&&(B=H2[r+172>>2],Y=H2[r+44>>2],G=H2[r+12>>2],D=H2[r+28>>2],l=H2[r+164>>2],m=H2[r+36>>2],E=H2[r+4>>2],s=H2[r+20>>2],k=H2[r+168>>2],Q=H2[r+40>>2],C=H2[r+8>>2],v=H2[r+24>>2],y2[u>>2]=0,h=s,s=j2(l*j2(j2(j2(E*g)+j2(s*d))+j2(m*_))),l=j2(k*j2(j2(j2(g*C)+j2(d*v))+j2(_*Q))),k=j2(B*j2(j2(j2(g*G)+j2(d*D))+j2(_*Y))),H2[F2>>2]=j2(j2(h*s)+j2(v*l))+j2(D*k),H2[F>>2]=j2(j2(E*s)+j2(C*l))+j2(G*k),H2[T>>2]=j2(j2(m*s)+j2(Q*l))+j2(Y*k)),l6(A,F,J,S,N,U,48+c|0,32+c|0,W,e,j2(0),j2(0)),16&(u=y2[e+72>>2])&&(1&X2[f+180|0]&&(B=H2[f+172>>2],R2=H2[f+44>>2],I2=H2[f+12>>2],W2=H2[f+28>>2],l=H2[f+164>>2],Y=H2[f+36>>2],s=H2[f+4>>2],G=H2[f+20>>2],k=H2[f+168>>2],D=H2[f+40>>2],m=H2[f+8>>2],E=H2[f+24>>2],y2[200+i>>2]=0,h=s,Q=H2[G2>>2],C=H2[Z>>2],v=H2[h2>>2],s=j2(l*j2(j2(j2(s*Q)+j2(G*C))+j2(Y*v))),l=j2(k*j2(j2(j2(Q*m)+j2(C*E))+j2(v*D))),k=j2(B*j2(j2(j2(Q*I2)+j2(C*W2))+j2(v*R2))),H2[G2>>2]=j2(j2(h*s)+j2(m*l))+j2(I2*k),H2[Z>>2]=j2(j2(G*s)+j2(E*l))+j2(W2*k),H2[h2>>2]=j2(j2(Y*s)+j2(D*l))+j2(R2*k)),1&X2[r+180|0]&&(B=H2[r+172>>2],R2=H2[r+44>>2],I2=H2[r+12>>2],W2=H2[r+28>>2],l=H2[r+164>>2],Y=H2[r+36>>2],s=H2[r+4>>2],G=H2[r+20>>2],k=H2[r+168>>2],D=H2[r+40>>2],m=H2[r+8>>2],E=H2[r+24>>2],y2[200+i>>2]=0,h=s,Q=H2[G2>>2],C=H2[Z>>2],v=H2[h2>>2],s=j2(l*j2(j2(j2(s*Q)+j2(G*C))+j2(Y*v))),l=j2(k*j2(j2(j2(Q*m)+j2(C*E))+j2(v*D))),k=j2(B*j2(j2(j2(Q*I2)+j2(C*W2))+j2(v*R2))),H2[G2>>2]=j2(j2(h*s)+j2(m*l))+j2(I2*k),H2[Z>>2]=j2(j2(G*s)+j2(E*l))+j2(W2*k),H2[h2>>2]=j2(j2(Y*s)+j2(D*l))+j2(R2*k)),l6(A,G2,J,S,N,U,48+c|0,32+c|0,W,e,j2(0),j2(0)),u=y2[e+72>>2]),80==(80&u)&&(y2[j>>2]=1|y2[j>>2]))),u=y2[A+16>>2],F2=y2[240+(a=u+O|0)>>2],G2=y2[(F=u+z|0)+240>>2],h2=y2[A+76>>2],w=y2[w>>2],(N=4&(Z=y2[e+72>>2]))?(T=h2+P2(w,152)|0,v=j2(H2[140+i>>2]*H2[e+68>>2]),H2[T+100>>2]=v,G2&&(B=H2[G2+416>>2],l=H2[T+24>>2],W=H2[G2+412>>2],k=H2[T+20>>2],s=H2[G2+404>>2],H2[F+64>>2]=j2(j2(v*j2(j2(s*H2[T+16>>2])*H2[G2+408>>2]))*H2[F+112>>2])+H2[F+64>>2],H2[(u=F+68|0)>>2]=j2(j2(v*j2(W*j2(s*k)))*H2[F+116>>2])+H2[u>>2],H2[(u=F+72|0)>>2]=j2(j2(v*j2(B*j2(s*l)))*H2[F+120>>2])+H2[u>>2],l=H2[T+72>>2],W=H2[T+68>>2],H2[F+80>>2]=j2(j2(v*H2[F+96>>2])*H2[T+64>>2])+H2[F+80>>2],k=H2[F+104>>2],H2[(u=F+84|0)>>2]=j2(W*j2(v*H2[F+100>>2]))+H2[u>>2],H2[(u=F+88|0)>>2]=j2(l*j2(v*k))+H2[u>>2]),F2&&(C=H2[T+88>>2],v=H2[T+84>>2],s=H2[T+80>>2],B=H2[F2+416>>2],l=H2[T+56>>2],W=H2[F2+412>>2],k=H2[T+52>>2],Q=H2[F2+404>>2],E=H2[T+100>>2],H2[64+a>>2]=H2[64+a>>2]+j2(j2(j2(j2(Q*H2[T+48>>2])*H2[F2+408>>2])*E)*H2[112+a>>2]),H2[(u=68+a|0)>>2]=H2[u>>2]+j2(j2(E*j2(W*j2(Q*k)))*H2[116+a>>2]),H2[(u=72+a|0)>>2]=H2[u>>2]+j2(j2(E*j2(B*j2(Q*l)))*H2[120+a>>2]),H2[80+a>>2]=H2[80+a>>2]+j2(s*j2(E*H2[96+a>>2])),k=H2[104+a>>2],H2[(u=84+a|0)>>2]=H2[u>>2]+j2(v*j2(E*H2[100+a>>2])),H2[(u=88+a|0)>>2]=H2[u>>2]+j2(C*j2(k*E)))):y2[100+(h2+P2(w,152)|0)>>2]=0,16&Z&&(u=w+1|0,N?(N=h2+P2(u,152)|0,B=j2(H2[144+i>>2]*H2[e+68>>2]),H2[N+100>>2]=B,G2&&(W=H2[N+24>>2],k=H2[N+20>>2],l=H2[G2+404>>2],H2[F+64>>2]=j2(j2(B*j2(l*H2[N+16>>2]))*H2[F+112>>2])+H2[F+64>>2],H2[(u=F+68|0)>>2]=j2(j2(B*j2(l*k))*H2[F+116>>2])+H2[u>>2],H2[(u=F+72|0)>>2]=j2(j2(B*j2(l*W))*H2[F+120>>2])+H2[u>>2],l=H2[N+72>>2],W=H2[N+68>>2],H2[F+80>>2]=j2(j2(B*H2[F+96>>2])*H2[N+64>>2])+H2[F+80>>2],k=H2[F+104>>2],H2[(u=F+84|0)>>2]=j2(W*j2(B*H2[F+100>>2]))+H2[u>>2],H2[(u=F+88|0)>>2]=j2(l*j2(B*k))+H2[u>>2]),F2&&(s=H2[N+88>>2],B=H2[N+84>>2],l=H2[N+56>>2],W=H2[N+52>>2],k=H2[N+48>>2],v=H2[F2+404>>2],C=H2[N+100>>2],H2[80+a>>2]=H2[80+a>>2]+j2(H2[N+80>>2]*j2(H2[96+a>>2]*C)),H2[64+a>>2]=H2[64+a>>2]+j2(j2(C*j2(v*k))*H2[112+a>>2]),H2[(u=68+a|0)>>2]=H2[u>>2]+j2(j2(C*j2(v*W))*H2[116+a>>2]),H2[(u=72+a|0)>>2]=H2[u>>2]+j2(j2(C*j2(v*l))*H2[120+a>>2]),k=H2[104+a>>2],H2[(u=84+a|0)>>2]=H2[u>>2]+j2(B*j2(C*H2[100+a>>2])),H2[(u=88+a|0)>>2]=H2[u>>2]+j2(s*j2(k*C)))):y2[100+(h2+P2(u,152)|0)>>2]=0),Z=y2[P+844>>2]}if(!((0|(V2=V2+1|0))<(0|Z)))break}if((0|(x2=x2+1|0))==(0|x))break}L2=c+64|0},function(A,e,r,f,i,a,n,b,t){A|=0,e|=0,r|=0,f|=0,i|=0,a|=0,b|=0;var o,c=j2(0);j2(0);A:if(y2[b+52>>2]&&!(y2[b+20>>2]<1))for(e=0;;){if(c=j2(0),1<=(0|(f=y2[A+28>>2])))for(r=0;;)if(o=c,a=y2[A+16>>2],i=y2[A+36>>2]+P2(y2[y2[A+116>>2]+r>>2],152)|0,c=j2(N2[y2[A+220>>2]](a+P2(y2[i+144>>2],244)|0,P2(y2[i+148>>2],244)+a|0,i)),c=j2(o+j2(c*c)),r=r+4|0,!(f=f-1|0))break;if(H2[b+92>>2]>=c)break A;if(((r=y2[b+20>>2])-1|0)<=(0|e))break A;if(!((0|(e=e+1|0))<(0|r)))break}},function(A,e,r,f){A|=0,e|=0,r|=0,f|=0;var i,a,n=0,b=0,t=0,o=j2(0),c=j2(0),k=0,u=j2(0),l=j2(0),s=j2(0),v=j2(0),B=0,d=0,_=0,g=L2-80|0;if(L2=g,4&(n=y2[f+72>>2])&&!((0|(r=y2[A+28>>2]))<1))if(t=y2[A+76>>2],e=y2[A+36>>2],16&n){for(e=e+140|0;;)if(n=y2[e-8>>2],y2[n+132>>2]=y2[e-40>>2],b=t+P2(y2[e>>2],152)|0,y2[n+136>>2]=y2[b+100>>2],y2[n+140>>2]=y2[b+252>>2],e=e+152|0,!(r=r-1|0))break}else for(e=e+140|0;;)if(n=y2[e-8>>2],y2[n+132>>2]=y2[e-40>>2],y2[n+136>>2]=y2[100+(t+P2(y2[e>>2],152)|0)>>2],e=e+152|0,!(r=r-1|0))break;if(1<=(0|(n=y2[A+48>>2])))for(e=y2[A+56>>2]+100|0;;)if(t=y2[e+32>>2],(r=y2[t+44>>2])&&(b=y2[t+28>>2],u=H2[b+416>>2],l=H2[e-76>>2],s=H2[b+412>>2],v=H2[e-80>>2],o=H2[e>>2],c=j2(j2(1)/H2[f+12>>2]),H2[r>>2]=H2[r>>2]+j2(j2(j2(H2[e-84>>2]*o)*H2[b+408>>2])*c),H2[r+4>>2]=j2(j2(s*j2(o*v))*c)+H2[r+4>>2],H2[r+8>>2]=j2(j2(u*j2(o*l))*c)+H2[r+8>>2],B=y2[t+32>>2],u=H2[B+416>>2],l=H2[e-44>>2],s=H2[B+412>>2],v=H2[e-48>>2],o=H2[e>>2],c=j2(j2(1)/H2[f+12>>2]),H2[r+32>>2]=H2[r+32>>2]+j2(j2(j2(H2[e-52>>2]*o)*H2[B+408>>2])*c),H2[(d=r+36|0)>>2]=j2(j2(s*j2(o*v))*c)+H2[d>>2],H2[(d=r+40|0)>>2]=j2(j2(u*j2(o*l))*c)+H2[d>>2],u=H2[b+612>>2],l=H2[e-92>>2],s=H2[b+608>>2],v=H2[e-96>>2],o=H2[e>>2],c=j2(j2(1)/H2[f+12>>2]),H2[r+16>>2]=H2[r+16>>2]+j2(j2(j2(H2[e-100>>2]*H2[b+604>>2])*o)*c),H2[(b=r+20|0)>>2]=j2(j2(o*j2(v*s))*c)+H2[b>>2],H2[(b=r+24|0)>>2]=j2(j2(o*j2(l*u))*c)+H2[b>>2],u=H2[B+612>>2],l=H2[e-60>>2],s=H2[B+608>>2],v=H2[e+-64>>2],o=H2[e>>2],c=j2(j2(1)/H2[f+12>>2]),H2[r+48>>2]=H2[r+48>>2]+j2(j2(j2(H2[e-68>>2]*H2[B+604>>2])*o)*c),H2[(b=r+52|0)>>2]=j2(j2(o*j2(v*s))*c)+H2[b>>2],H2[(r=r+56|0)>>2]=j2(j2(o*j2(l*u))*c)+H2[r>>2]),o=H2[e>>2],H2[t+36>>2]=o,H2[t+16>>2]<=j2(z2(o))&&(X2[t+20|0]=0),e=e+152|0,!(n=n-1|0))break;if(1<=(0|(n=y2[A+8>>2])))for(b=y2[A+16>>2],B=g+64|0,d=48+g|0,i=32+g|0,r=144;;)if((t=y2[(e=r+b|0)+96>>2])&&(y2[f+52>>2]?(o=H2[f+60>>2],u=H2[f+12>>2],H2[(n=e+32|0)>>2]=H2[e-80>>2]+H2[n>>2],H2[(n=e+36|0)>>2]=H2[e-76>>2]+H2[n>>2],H2[(n=e+40|0)>>2]=H2[e-72>>2]+H2[n>>2],H2[(n=e+48|0)>>2]=H2[e+-64>>2]+H2[n>>2],H2[(n=e+52|0)>>2]=H2[e-60>>2]+H2[n>>2],H2[(n=e+56|0)>>2]=H2[e-56>>2]+H2[n>>2],c=H2[e+4>>2],(l=H2[e>>2])==j2(0)&&c==j2(0)&&H2[e+8>>2]==j2(0)&&H2[e+16>>2]==j2(0)&&H2[e+20>>2]==j2(0)&&H2[e+24>>2]==j2(0)||(y2[12+g>>2]=0,H2[8+g>>2]=H2[e+24>>2]*o,H2[4+g>>2]=H2[e+20>>2]*o,H2[g>>2]=H2[e+16>>2]*o,C1(t=e-144|0,l,c,H2[e+8>>2],g,u,16+g|0),k=y2[(b=24+g|0)+4>>2],y2[(n=t+8|0)>>2]=y2[b>>2],y2[n+4>>2]=k,n=y2[20+g>>2],y2[t>>2]=y2[16+g>>2],y2[t+4>>2]=n,k=y2[(b=8+i|0)+4>>2],y2[(n=(t=e-128|0)+8|0)>>2]=y2[b>>2],y2[n+4>>2]=k,n=y2[4+i>>2],y2[t>>2]=y2[i>>2],y2[t+4>>2]=n,k=y2[(b=d+8|0)+4>>2],y2[(n=(t=e-112|0)+8|0)>>2]=y2[b>>2],y2[n+4>>2]=k,n=y2[d+4>>2],y2[t>>2]=y2[d>>2],y2[t+4>>2]=n,b=y2[(n=B+8|0)+4>>2],y2[(t=(e=e-96|0)+8|0)>>2]=y2[n>>2],y2[t+4>>2]=b,t=y2[B+4>>2],y2[e>>2]=y2[B>>2],y2[e+4>>2]=t,b=y2[A+16>>2],t=y2[96+(b+r|0)>>2]),o=H2[(e=r+b|0)+40>>2],c=H2[e+36>>2],u=H2[e+32>>2]):(u=j2(H2[e-80>>2]+H2[(n=e+32|0)>>2]),H2[n>>2]=u,c=j2(H2[e-76>>2]+H2[(n=e+36|0)>>2]),H2[n>>2]=c,o=j2(H2[e-72>>2]+H2[(n=e+40|0)>>2]),H2[n>>2]=o,H2[(n=e+48|0)>>2]=H2[e+-64>>2]+H2[n>>2],H2[(n=e+52|0)>>2]=H2[e-60>>2]+H2[n>>2],H2[(n=e+56|0)>>2]=H2[e-56>>2]+H2[n>>2]),l=H2[(e=r+b|0)- -64>>2],s=H2[e+68>>2],v=H2[e+72>>2],y2[t+384>>2]=0,H2[t+380>>2]=o+v,H2[t+376>>2]=c+s,H2[t+372>>2]=u+l,y2[t+304>>2]=y2[t+304>>2]+1,e=y2[A+16>>2]+r|0,o=H2[e+48>>2],c=H2[e+80>>2],u=H2[e+52>>2],l=H2[e+84>>2],s=H2[e+56>>2],v=H2[e+88>>2],e=y2[e+96>>2],y2[e+400>>2]=0,H2[e+396>>2]=s+v,H2[e+392>>2]=u+l,H2[e+388>>2]=o+c,y2[e+304>>2]=y2[e+304>>2]+1,y2[f+52>>2]&&(t=y2[A+16>>2]+r|0,e=y2[t+96>>2],y2[e+304>>2]=y2[e+304>>2]+1,a=y2[(k=(n=t-144|0)+8|0)+4>>2],y2[(b=e+12|0)>>2]=y2[k>>2],y2[b+4>>2]=a,b=y2[n+4>>2],y2[e+4>>2]=y2[n>>2],y2[e+8>>2]=b,a=y2[(k=(n=t-128|0)+8|0)+4>>2],y2[(b=e+28|0)>>2]=y2[k>>2],y2[b+4>>2]=a,k=y2[n+4>>2],y2[(b=e+20|0)>>2]=y2[n>>2],y2[b+4>>2]=k,k=y2[(n=t-112|0)+4>>2],y2[(b=e+36|0)>>2]=y2[n>>2],y2[b+4>>2]=k,k=y2[(n=n+8|0)+4>>2],y2[(b=e+44|0)>>2]=y2[n>>2],y2[b+4>>2]=k,k=y2[(b=(t=t-96|0)+8|0)+4>>2],y2[(n=e+60|0)>>2]=y2[b>>2],y2[n+4>>2]=k,n=y2[t+4>>2],y2[(e=e+52|0)>>2]=y2[t>>2],y2[e+4>>2]=n),b=y2[A+16>>2],y2[y2[96+(b+r|0)>>2]+212>>2]=-1,n=y2[A+8>>2]),r=r+244|0,!((0|(_=_+1|0))<(0|n)))break;return-1>2]||-1>2]||((e=y2[A+36>>2])&&(U2[A+40|0]&&(y2[6503]=y2[6503]+1,$2(y2[e-4>>2])),y2[A+36>>2]=0),y2[A+32>>2]=0,y2[A+36>>2]=0,X2[A+40|0]=1),y2[A+28>>2]=0,-1>2]||-1>2]||((e=y2[A+56>>2])&&(U2[A+60|0]&&(y2[6503]=y2[6503]+1,$2(y2[e-4>>2])),y2[A+56>>2]=0),y2[A+52>>2]=0,y2[A+56>>2]=0,X2[A+60|0]=1),y2[A+48>>2]=0,-1>2]||-1>2]||((e=y2[A+76>>2])&&(U2[A+80|0]&&(y2[6503]=y2[6503]+1,$2(y2[e-4>>2])),y2[A+76>>2]=0),y2[A+72>>2]=0,y2[A+76>>2]=0,X2[A+80|0]=1),y2[A+68>>2]=0,-1>2]||-1>2]||((e=y2[A+96>>2])&&(U2[A+100|0]&&(y2[6503]=y2[6503]+1,$2(y2[e-4>>2])),y2[A+96>>2]=0),y2[A+92>>2]=0,y2[A+96>>2]=0,X2[A+100|0]=1),y2[A+88>>2]=0,-1>2]||-1>2]||((e=y2[A+16>>2])&&(U2[A+20|0]&&(y2[6503]=y2[6503]+1,$2(y2[e-4>>2])),y2[A+16>>2]=0),y2[A+12>>2]=0,y2[A+16>>2]=0,X2[A+20|0]=1),y2[A+8>>2]=0,L2=80+g|0,j2(j2(0))},function(A,e,r,f,i,a,n,b,t,o){A|=0,e|=0,r|=0,f|=0,i|=0,a|=0,n|=0,b|=0,t|=0,o|=0;var c,k,u,l=j2(0),s=j2(0),v=0,B=0,d=j2(0),_=0,g=0;if(1&X2[t+72|0]){if(c=y2[A+68>>2],k=y2[A+28>>2],1<=(0|(B=y2[A+48>>2]))){if(i=P2(y2[A+232>>2],1664525)+1013904223|0,1!=(0|B)&&(f=y2[A+136>>2],r=y2[f+4>>2],a=(i=P2(i,1664525)+1013904223|0)^i>>>16,y2[f+4>>2]=y2[(a=f+((1&((a=(a=(a^=a>>>8)^a>>>4)^a>>>2)>>>1^a))<<2)|0)>>2],y2[a>>2]=r,2!=(0|B))&&(r=y2[f+8>>2],a=(i=P2(i,1664525)+1013904223|0)^i>>>16,y2[f+8>>2]=y2[(a=f+((((a=(a^=a>>>8)^a>>>4)>>>2^a)>>>0)%3<<2)|0)>>2],y2[a>>2]=r,3!=(0|B))&&(r=y2[f+12>>2],a=(i=P2(i,1664525)+1013904223|0)^i>>>16,y2[f+12>>2]=y2[(a=f+((3&((a=(a^=a>>>8)^a>>>4)>>>2^a))<<2)|0)>>2],y2[a>>2]=r,4!=(0|B)))for(o=f+16|0,r=4;;)if(r=(a=r)+1|0,_=y2[o>>2],u=o,v=i=P2(i,1664525)+1013904223|0,65535>>0||(v=g=i>>>16^i,255>>0)||(v=g^=g>>>8,15>>0)||(v=g^g>>>4),y2[u>>2]=y2[(a=((v>>>0)%(r>>>0)<<2)+f|0)>>2],y2[a>>2]=_,o=o+4|0,(0|r)==(0|B))break;y2[A+232>>2]=i}if(!(y2[t+20>>2]<=(0|e))){if(1<=(0|k)){if(i=P2(y2[A+232>>2],1664525)+1013904223|0,1!=(0|k)&&(f=y2[A+116>>2],r=y2[f+4>>2],a=(i=P2(i,1664525)+1013904223|0)^i>>>16,y2[f+4>>2]=y2[(a=f+((1&((a=(a=(a^=a>>>8)^a>>>4)^a>>>2)>>>1^a))<<2)|0)>>2],y2[a>>2]=r,2!=(0|k))&&(r=y2[f+8>>2],a=(i=P2(i,1664525)+1013904223|0)^i>>>16,y2[f+8>>2]=y2[(a=f+((((a=(a^=a>>>8)^a>>>4)>>>2^a)>>>0)%3<<2)|0)>>2],y2[a>>2]=r,3!=(0|k))&&(r=y2[f+12>>2],a=(i=P2(i,1664525)+1013904223|0)^i>>>16,y2[f+12>>2]=y2[(a=f+((3&((a=(a^=a>>>8)^a>>>4)>>>2^a))<<2)|0)>>2],y2[a>>2]=r,4!=(0|k)))for(o=f+16|0,r=4;;)if(r=(a=r)+1|0,g=y2[o>>2],B=o,v=i=P2(i,1664525)+1013904223|0,65535>>0||(v=_=i>>>16^i,255>>0)||(v=_^=_>>>8,15>>0)||(v=_^_>>>4),y2[B>>2]=y2[(a=((v>>>0)%(r>>>0)<<2)+f|0)>>2],y2[a>>2]=g,o=o+4|0,(0|r)==(0|k))break;y2[A+232>>2]=i}if(!((0|c)<1)){if(i=P2(y2[A+232>>2],1664525)+1013904223|0,1!=(0|c)&&(f=y2[A+156>>2],r=y2[f+4>>2],a=(i=P2(i,1664525)+1013904223|0)^i>>>16,y2[f+4>>2]=y2[(a=f+((1&((a=(a=(a^=a>>>8)^a>>>4)^a>>>2)>>>1^a))<<2)|0)>>2],y2[a>>2]=r,2!=(0|c))&&(r=y2[f+8>>2],a=(i=P2(i,1664525)+1013904223|0)^i>>>16,y2[f+8>>2]=y2[(a=f+((((a=(a^=a>>>8)^a>>>4)>>>2^a)>>>0)%3<<2)|0)>>2],y2[a>>2]=r,3!=(0|c))&&(r=y2[f+12>>2],a=(i=P2(i,1664525)+1013904223|0)^i>>>16,y2[f+12>>2]=y2[(a=f+((3&((a=(a^=a>>>8)^a>>>4)>>>2^a))<<2)|0)>>2],y2[a>>2]=r,4!=(0|c)))for(o=f+16|0,r=4;;)if(r=(a=r)+1|0,_=y2[o>>2],g=o,v=i=P2(i,1664525)+1013904223|0,65535>>0||(v=B=i>>>16^i,255>>0)||(v=B^=B>>>8,15>>0)||(v=B^B>>>4),y2[g>>2]=y2[(a=((v>>>0)%(r>>>0)<<2)+f|0)>>2],y2[a>>2]=_,o=o+4|0,(0|r)==(0|c))break;y2[A+232>>2]=i}}}if(1<=(0|(a=y2[A+48>>2])))for(r=i=0;;)if(f=y2[A+56>>2]+P2(y2[y2[A+136>>2]+i>>2],152)|0,y2[f+136>>2]>(0|e)&&(s=l,a=y2[A+16>>2],l=j2(N2[y2[A+212>>2]](a+P2(y2[f+144>>2],244)|0,a+P2(y2[f+148>>2],244)|0,f)),l=j2(s+j2(l*l)),a=y2[A+48>>2]),i=i+4|0,!((0|(r=r+1|0))<(0|a)))break;if(!(y2[t+20>>2]<=(0|e))){if(1<=(0|b))for(;;)if(e=y2[n>>2],U2[e+20|0]&&(e=k6(A,y2[e+28>>2],H2[t+12>>2]),r=k6(A,y2[y2[n>>2]+32>>2],H2[t+12>>2]),f=y2[n>>2],i=P2(e,244),e=y2[A+16>>2],N2[y2[y2[f>>2]+24>>2]](f,i+e|0,e+P2(r,244)|0,H2[t+12>>2])),n=n+4|0,!(b=b-1|0))break;if(i=y2[A+28>>2],512&(e=y2[t+72>>2])){if(!((0|i)<1))for(f=(16&e?2:1)<<2,n=0,r=4;;)if(s=l,a=y2[A+16>>2],e=y2[A+36>>2]+P2(y2[y2[A+116>>2]+n>>2],152)|0,l=j2(N2[y2[A+216>>2]](a+P2(y2[e+144>>2],244)|0,a+P2(y2[e+148>>2],244)|0,e)),l=j2(s+j2(l*l)),(a=!((s=H2[e+100>>2])>j2(0)))||(e=y2[A+76>>2]+P2(y2[(y2[A+156>>2]+r|0)-4>>2],152)|0,d=H2[e+104>>2],H2[e+124>>2]=s*d,H2[e+120>>2]=s*j2(-d),d=l,b=y2[A+16>>2],l=j2(N2[y2[A+212>>2]](b+P2(y2[e+144>>2],244)|0,b+P2(y2[e+148>>2],244)|0,e)),l=j2(d+j2(l*l))),16&U2[t+72|0]&&(a||(e=y2[A+76>>2]+P2(y2[y2[A+156>>2]+r>>2],152)|0,d=H2[e+104>>2],H2[e+124>>2]=s*d,H2[e+120>>2]=s*j2(-d),s=l,a=y2[A+16>>2],l=j2(N2[y2[A+212>>2]](a+P2(y2[e+144>>2],244)|0,a+P2(y2[e+148>>2],244)|0,e)),l=j2(s+j2(l*l)))),n=n+4|0,r=r+f|0,!(i=i-1|0))break}else{if(1<=(0|i))for(o=0;;)if(s=l,r=y2[A+16>>2],e=y2[A+36>>2]+P2(y2[y2[A+116>>2]+o>>2],152)|0,l=j2(N2[y2[A+216>>2]](r+P2(y2[e+144>>2],244)|0,r+P2(y2[e+148>>2],244)|0,e)),l=j2(s+j2(l*l)),o=o+4|0,!(i=i-1|0))break;if(!((0|(n=y2[A+68>>2]))<1))for(o=0;;)if(e=y2[A+76>>2]+P2(y2[y2[A+156>>2]+o>>2],152)|0,(s=H2[100+(y2[A+36>>2]+P2(y2[e+140>>2],152)|0)>>2])>j2(0)&&(d=H2[e+104>>2],H2[e+124>>2]=s*d,H2[e+120>>2]=s*j2(-d),s=l,r=y2[A+16>>2],l=j2(N2[y2[A+212>>2]](r+P2(y2[e+144>>2],244)|0,r+P2(y2[e+148>>2],244)|0,e)),l=j2(s+j2(l*l))),o=o+4|0,!(n=n-1|0))break}if(!((0|(n=y2[A+88>>2]))<1))for(o=148;;)if(e=y2[A+96>>2]+o|0,(s=H2[100+(y2[A+36>>2]+P2(y2[e-8>>2],152)|0)>>2])>j2(0)&&(d=s,s=H2[e-44>>2],d=j2(d*s),H2[e-24>>2]=s=s>2]=-s,s=l,r=y2[A+16>>2],l=j2(N2[y2[A+212>>2]](r+P2(y2[e-4>>2],244)|0,r+P2(y2[e>>2],244)|0,e-148|0)),l=j2(s+j2(l*l))),o=o+152|0,!(n=n-1|0))break}return j2(l)},function(A,e,r,V,x,p,f,S,i){A|=0,e|=0,r|=0,V|=0,x|=0,p|=0,f|=0,S|=0,i|=0;var J,M,X,y,U,H,P,j,z,O,K,L,q,$,A2,e2,r2,f2,a,n=0,b=j2(0),t=0,o=j2(0),c=j2(0),k=0,u=j2(0),l=j2(0),s=j2(0),v=0,B=j2(0),d=j2(0),_=j2(0),g=j2(0),Z=0,C=0,w=j2(0),E=j2(0),Q=j2(0),h=j2(0),G=j2(0),F=j2(0),D=j2(0),Y=j2(0),m=j2(0),N=j2(0),R=j2(0),I=j2(0),W=j2(0),i2=0,T=j2(0),a2=j2(0),n2=j2(0),b2=j2(0),t2=j2(0),o2=j2(0),c2=j2(0),k2=j2(0),u2=0,l2=0,s2=0;if(j2(0),j2(0),j2(0),j2(0),j2(0),j2(0),L2=a=L2-256|0,y2[A+188>>2]=-1,(0|(i=y2[S+72>>2]))!=y2[A+224>>2]&&(y2[A+224>>2]=i,y2[A+220>>2]=73,y2[A+216>>2]=74,y2[A+212>>2]=75),1<=((y2[A+184>>2]=0)|r))for(i=e,t=r;;)if(y2[y2[i>>2]+212>>2]=-1,i=i+4|0,!(t=t-1|0))break;if((0|(i=y2[A+12>>2]))<=(0|r)){if((i=r+1|0)&&(y2[6502]=y2[6502]+1,t=q2(16+(3|P2(i,244))|0))&&(y2[(s2=t+19&-16)-4>>2]=t),1<=(0|(k=y2[A+8>>2])))for(Z=64;;)if(u2=y2[A+16>>2]+Z|0,t=y2[(C=u2+-64|0)+4>>2],y2[(n=(i2=Z+s2|0)+-64|0)>>2]=y2[C>>2],y2[n+4>>2]=t,t=y2[(v=C+8|0)+4>>2],y2[(n=n+8|0)>>2]=y2[v>>2],y2[n+4>>2]=t,t=y2[(v=(C=u2-48|0)+8|0)+4>>2],y2[(n=(l2=i2-48|0)+8|0)>>2]=y2[v>>2],y2[n+4>>2]=t,t=y2[C+4>>2],y2[l2>>2]=y2[C>>2],y2[l2+4>>2]=t,t=y2[(v=(C=u2-32|0)+8|0)+4>>2],y2[(n=(l2=i2-32|0)+8|0)>>2]=y2[v>>2],y2[n+4>>2]=t,t=y2[C+4>>2],y2[l2>>2]=y2[C>>2],y2[l2+4>>2]=t,t=y2[(C=u2-16|0)+4>>2],y2[(n=i2-16|0)>>2]=y2[C>>2],y2[n+4>>2]=t,t=y2[(v=C+8|0)+4>>2],y2[(n=n+8|0)>>2]=y2[v>>2],y2[n+4>>2]=t,A0(i2,u2,180),Z=Z+244|0,!(k=k-1|0))break;(t=y2[A+16>>2])&&(U2[A+20|0]&&(y2[6503]=y2[6503]+1,$2(y2[t-4>>2])),y2[A+16>>2]=0),y2[A+16>>2]=s2,y2[A+12>>2]=i,X2[A+20|0]=1}if(v2(8+a|0,0,244),(0|(t=y2[A+8>>2]))<=-1)for((0|i)<=-1&&((i=y2[A+16>>2])&&(U2[A+20|0]&&(y2[6503]=y2[6503]+1,$2(y2[i-4>>2])),y2[A+16>>2]=0),y2[A+12>>2]=0,y2[A+16>>2]=0,X2[A+20|0]=1),Z=P2(t,244),l2=72+a|0,u2=56+a|0,v=40+a|0,k=24+a|0;;)if(i=y2[12+a>>2],i2=y2[A+16>>2]+Z|0,y2[i2>>2]=y2[8+a>>2],y2[i2+4>>2]=i,i=y2[(n=16+a|0)+4>>2],y2[(C=i2+8|0)>>2]=y2[n>>2],y2[C+4>>2]=i,i=y2[k+4>>2],y2[(n=i2+16|0)>>2]=y2[k>>2],y2[n+4>>2]=i,i=y2[(n=k+8|0)+4>>2],y2[(C=i2+24|0)>>2]=y2[n>>2],y2[C+4>>2]=i,i=y2[v+4>>2],y2[(n=i2+32|0)>>2]=y2[v>>2],y2[n+4>>2]=i,i=y2[(n=v+8|0)+4>>2],y2[(C=i2+40|0)>>2]=y2[n>>2],y2[C+4>>2]=i,i=y2[u2+4>>2],y2[(n=i2+48|0)>>2]=y2[u2>>2],y2[n+4>>2]=i,i=y2[(n=u2+8|0)+4>>2],y2[(C=i2+56|0)>>2]=y2[n>>2],y2[C+4>>2]=i,A0(i2- -64|0,l2,180),Z=Z+244|0,!((i=t)>>>0<=(t=i+1|0)>>>0))break;if(1<=((y2[A+8>>2]=0)|r))for(;;)if(v=k6(A,y2[e>>2],H2[S+12>>2]),(n=y2[e>>2])&&2&y2[n+252>>2]&&H2[n+404>>2]!=j2(0)&&(k=y2[A+16>>2],2&(Z=y2[n+564>>2])&&(Y=H2[n+388>>2],u=(b=H2[n+456>>2])!=j2(0)?j2(j2(1)/b):j2(0),b2=H2[n+20>>2],o=j2(u*b2),T=H2[n+4>>2],s=(b=H2[n+460>>2])!=j2(0)?j2(j2(1)/b):j2(0),t2=H2[n+24>>2],c=j2(s*t2),w=H2[n+8>>2],B=(b=H2[n+464>>2])!=j2(0)?j2(j2(1)/b):j2(0),I=H2[n+28>>2],b=j2(B*I),d=H2[n+12>>2],D=H2[n+392>>2],m=H2[n+36>>2],_=H2[n+40>>2],l=H2[n+44>>2],W=H2[n+396>>2],E=j2(j2(j2(Y*j2(j2(j2(o*T)+j2(c*w))+j2(b*d)))+j2(j2(j2(j2(o*b2)+j2(c*t2))+j2(b*I))*D))+j2(j2(j2(j2(o*m)+j2(c*_))+j2(b*l))*W)),o=j2(u*T),c=j2(s*w),b=j2(B*d),c=j2(j2(j2(j2(j2(j2(o*T)+j2(c*w))+j2(b*d))*Y)+j2(D*j2(j2(j2(o*b2)+j2(c*t2))+j2(b*I))))+j2(j2(j2(j2(o*m)+j2(c*_))+j2(b*l))*W)),Q=j2(j2(Y*E)-j2(D*c)),u=j2(u*m),o=j2(s*_),b=j2(B*l),b=j2(j2(j2(j2(j2(j2(u*T)+j2(o*w))+j2(b*d))*Y)+j2(D*j2(j2(j2(u*b2)+j2(o*t2))+j2(b*I))))+j2(j2(j2(j2(u*m)+j2(o*_))+j2(b*l))*W)),l=j2(j2(D*b)-j2(W*E)),s=j2(j2(W*c)-j2(Y*b)),b=j2(j2(Q*Q)+j2(j2(l*l)+j2(s*s))),g=H2[S+84>>2],b>j2(g*g)&&(b=j2(j2(j2(1)/j2(K2(b)))*g),Q=j2(Q*b),l=j2(l*b),s=j2(s*b)),E=H2[n+364>>2],g=H2[n+332>>2],u=H2[n+348>>2],o=H2[n+360>>2],c=H2[n+328>>2],b=H2[n+344>>2],t=k+P2(v,244)|0,B=H2[S+12>>2],H2[t+224>>2]=H2[t+224>>2]-j2(j2(j2(j2(l*H2[n+324>>2])+j2(s*H2[n+340>>2]))+j2(Q*H2[n+356>>2]))*B),H2[(i=t+228|0)>>2]=H2[i>>2]-j2(B*j2(j2(j2(l*c)+j2(s*b))+j2(Q*o))),H2[(i=t+232|0)>>2]=H2[i>>2]-j2(B*j2(j2(j2(l*g)+j2(s*u))+j2(Q*E))),Z=y2[n+564>>2]),4&Z&&(o2=H2[S+12>>2],c2=j2(o2*j2(0)),h=H2[n+388>>2],s=(b=H2[n+456>>2])!=j2(0)?j2(j2(1)/b):j2(0),k2=H2[n+36>>2],o=j2(s*k2),Q=H2[n+4>>2],B=(b=H2[n+460>>2])!=j2(0)?j2(j2(1)/b):j2(0),Y=H2[n+40>>2],c=j2(B*Y),D=H2[n+8>>2],l=(b=H2[n+464>>2])!=j2(0)?j2(j2(1)/b):j2(0),w=H2[n+44>>2],b=j2(l*w),I=H2[n+12>>2],W=j2(j2(j2(o*Q)+j2(c*D))+j2(b*I)),E=j2(h*W),G=H2[n+392>>2],d=H2[n+20>>2],m=H2[n+24>>2],_=H2[n+28>>2],b2=j2(j2(j2(o*d)+j2(c*m))+j2(b*_)),g=j2(G*b2),F=H2[n+396>>2],a2=j2(j2(j2(o*k2)+j2(c*Y))+j2(b*w)),N=j2(j2(E+g)+j2(F*a2)),o=j2(s*d),c=j2(B*m),b=j2(l*_),T=j2(j2(j2(o*Q)+j2(c*D))+j2(b*I)),u=j2(h*T),n2=j2(j2(j2(o*d)+j2(c*m))+j2(b*_)),t2=j2(j2(j2(o*k2)+j2(c*Y))+j2(b*w)),o=j2(F*t2),R=j2(j2(u+j2(G*n2))+o),s=j2(s*Q),B=j2(B*D),b=j2(l*I),D=j2(j2(j2(s*Q)+j2(B*D))+j2(b*I)),_=j2(j2(j2(s*d)+j2(B*m))+j2(b*_)),c=j2(G*_),l=j2(j2(j2(s*k2)+j2(B*Y))+j2(b*w)),b=j2(F*l),Q=j2(j2(j2(h*D)+c)+b),Y=j2(j2(N+j2(j2(j2(h*R)-j2(G*Q))*o2))-j2(c2+N)),s=j2(W+j2(j2(j2(j2(W*j2(0))+j2(u-j2(G*D)))+R)*o2)),w=j2(_+j2(j2(N+j2(g+j2(j2(_*j2(0))-j2(F*n2))))*o2)),I=j2(t2+j2(j2(Q+j2(j2(j2(t2*j2(0))+b)-j2(h*a2)))*o2)),d=j2(n2+j2(j2(j2(j2(n2*j2(0))+j2(F*_))-j2(h*b2))*o2)),m=j2(l+j2(j2(j2(j2(G*a2)+j2(j2(l*j2(0))-o))-R)*o2)),o=j2(j2(w*I)-j2(d*m)),B=j2(D+j2(j2(j2(G*W)+j2(j2(D*j2(0))-j2(F*T)))*o2)),_=j2(a2+j2(j2(j2(a2*j2(0))+j2(j2(h*t2)-j2(G*l)))*o2)),l=j2(b2+j2(j2(j2(j2(b2*j2(0))+j2(j2(h*n2)-c))-Q)*o2)),c=j2(j2(d*_)-j2(l*I)),g=j2(T+j2(j2(j2(j2(j2(T*j2(0))+j2(F*D))-E)-N)*o2)),b=j2(j2(l*m)-j2(w*_)),u=j2(j2(s*o)+j2(j2(B*c)+j2(g*b))),u=j2(z2(u))>j2(1.1920928955078125e-7)?j2(j2(1)/u):u,t=k+P2(v,244)|0,E=j2(Y*o),o=j2(j2(Q+j2(j2(j2(G*N)-j2(F*R))*o2))-j2(c2+Q)),D=j2(o*c),c=j2(j2(R+j2(j2(j2(F*Q)-j2(h*N))*o2))-j2(c2+R)),H2[t+224>>2]=j2(j2(h-j2(j2(E+j2(D+j2(c*b)))*u))-h)+H2[t+224>>2],H2[(i=t+228|0)>>2]=j2(j2(G-j2(j2(j2(s*j2(j2(I*o)-j2(m*c)))+j2(j2(B*j2(j2(_*c)-j2(I*Y)))+j2(g*j2(j2(m*Y)-j2(_*o)))))*u))-G)+H2[i>>2],H2[(i=t+232|0)>>2]=j2(j2(F-j2(j2(j2(s*j2(j2(w*c)-j2(d*o)))+j2(j2(B*j2(j2(d*Y)-j2(l*c)))+j2(g*j2(j2(l*o)-j2(w*Y)))))*u))-F)+H2[i>>2],Z=y2[n+564>>2]),8&Z)&&(E=H2[n+456>>2],g=H2[n+464>>2],u=H2[n+460>>2],k2=H2[n+396>>2],Q=H2[n+392>>2],Y=H2[n+388>>2],h=H2[S+12>>2],w1(n+4|0,8+a|0),G=H2[16+a>>2],F=H2[20+a>>2],N=H2[12+a>>2],l=j2(j2(Q*G)+j2(j2(Y*F)-j2(k2*N))),R=H2[8+a>>2],o=j2(j2(j2(Y*R)+j2(Q*N))+j2(k2*G)),c=j2(j2(Y*N)+j2(j2(k2*F)-j2(Q*R))),b=j2(j2(k2*R)+j2(j2(Q*F)-j2(Y*G))),a2=j2(j2(j2(N*l)+j2(j2(G*o)+j2(F*c)))-j2(R*b)),s=j2(a2*j2(0)),n2=j2(j2(j2(G*b)+j2(j2(R*o)+j2(F*l)))-j2(N*c)),B=j2(n2*j2(0)),W=u!=j2(0)?j2(j2(1)/u):j2(0),c2=j2(j2(j2(R*c)+j2(j2(N*o)+j2(F*b)))-j2(G*l)),b2=j2(s+j2(B+j2(W*c2))),T=E!=j2(0)?j2(j2(1)/E):j2(0),I=j2(j2(h*j2(j2(j2(B-j2(T*c2))+j2(0))+b2))+j2(0)),u=g!=j2(0)?j2(j2(1)/g):j2(0),b=j2(c2*j2(0)),w=j2(j2(a2*u)+j2(B+b)),d=j2(s+j2(j2(T*n2)+b)),D=j2(h*j2(j2(a2*d)-j2(n2*w))),o=j2(a2*j2(-0)),m=j2(T+j2(h*j2(b+j2(j2(T*j2(0))+o)))),c=j2(c2*j2(-0)),t2=j2(j2(h*j2(j2(j2(c+j2(W*n2))+j2(0))-d))+j2(0)),_=j2(j2(h*j2(j2(b+j2(j2(0)-j2(W*a2)))+w))+j2(0)),l=j2(j2(h*j2(j2(j2(s+j2(0))-j2(u*n2))+d))+j2(0)),b=j2(n2*j2(-0)),E=j2(W+j2(h*j2(b+j2(j2(W*j2(0))+s)))),s=j2(j2(h*j2(j2(j2(u*c2)+j2(o+j2(0)))-b2))+j2(0)),o=j2(j2(_*l)-j2(E*s)),B=j2(u+j2(h*j2(j2(u*j2(0))+j2(c+B)))),c=j2(j2(E*B)-j2(t2*l)),g=j2(j2(h*j2(j2(b+j2(j2(T*a2)+j2(0)))-w))+j2(0)),b=j2(j2(t2*s)-j2(B*_)),u=j2(j2(I*o)+j2(j2(m*c)+j2(g*b))),u=j2(z2(u))>j2(1.1920928955078125e-7)?j2(j2(1)/u):u,t=k+P2(v,244)|0,w=j2(h*j2(j2(c2*w)-j2(a2*b2))),d=j2(h*j2(j2(n2*b2)-j2(c2*d))),E=j2(a2-j2(j2(j2(I*j2(j2(_*D)-j2(E*w)))+j2(j2(m*j2(j2(E*d)-j2(t2*D)))+j2(g*j2(j2(t2*w)-j2(_*d)))))*u)),g=j2(c2-j2(j2(j2(I*j2(j2(l*w)-j2(s*D)))+j2(j2(m*j2(j2(B*D)-j2(l*d)))+j2(g*j2(j2(s*d)-j2(B*w)))))*u)),b=j2(n2-j2(j2(j2(d*o)+j2(j2(w*c)+j2(D*b)))*u)),u=j2(j2(j2(F*E)+j2(R*g))-j2(N*b)),o=j2(j2(j2(F*b)+j2(N*E))-j2(G*g)),c=j2(j2(j2(b*j2(-R))-j2(N*g))-j2(G*E)),b=j2(j2(j2(G*b)+j2(F*g))-j2(R*E)),H2[t+224>>2]=j2(j2(j2(N*u)+j2(j2(j2(F*o)-j2(R*c))-j2(G*b)))-Y)+H2[t+224>>2],H2[(i=t+228|0)>>2]=j2(j2(j2(G*o)+j2(j2(j2(F*b)-j2(N*c))-j2(R*u)))-Q)+H2[i>>2],H2[(i=t+232|0)>>2]=j2(j2(j2(R*b)+j2(j2(j2(F*u)-j2(G*c))-j2(N*o)))-k2)+H2[i>>2]),e=e+4|0,!(r=r-1|0))break;if(1<=(0|f))for(i=p,t=f;;)if(e=y2[i>>2],N2[y2[y2[e>>2]+8>>2]](e),i=i+4|(y2[e+36>>2]=0),!(t=t-1|0))break;if(!((0|f)<=(0|(e=y2[A+168>>2]))||y2[A+172>>2]>=(0|f))){if(t=0,f&&(y2[6502]=y2[6502]+1,r=q2(16+(f<<3|3)|0))&&(y2[(t=r+19&-16)-4>>2]=r),1<=(0|e))for(i=0;;)if(k=y2[A+176>>2]+i|0,r=y2[k+4>>2],y2[(v=i+t|0)>>2]=y2[k>>2],y2[v+4>>2]=r,i=i+8|0,!(e=e-1|0))break;(e=y2[A+176>>2])&&(U2[A+180|0]&&(y2[6503]=y2[6503]+1,$2(y2[e-4>>2])),y2[A+176>>2]=0),y2[A+176>>2]=t,y2[A+172>>2]=f,X2[A+180|0]=1}if((0|(y2[A+168>>2]=f))<1)Z=0;else for(t=p,k=f,Z=r=0;;)if(i=y2[A+176>>2],e=y2[t>>2],(v=y2[e+44>>2])&&(y2[v>>2]=0,y2[v+4>>2]=0,y2[(e=v+56|0)>>2]=0,y2[e+4>>2]=0,y2[(e=v+48|0)>>2]=0,y2[e+4>>2]=0,y2[(e=v+40|0)>>2]=0,y2[e+4>>2]=0,y2[(e=v+32|0)>>2]=0,y2[e+4>>2]=0,y2[(e=v+24|0)>>2]=0,y2[e+4>>2]=0,y2[(e=v+16|0)>>2]=0,y2[e+4>>2]=0,y2[(e=v+8|0)>>2]=0,y2[e+4>>2]=0,e=y2[t>>2]),i=r+i|0,t=t+4|0,r=r+8|0,Z=(e=U2[e+20|0]?(N2[y2[y2[e>>2]+16>>2]](e,i),y2[i>>2]):(y2[i>>2]=0,y2[i+4>>2]=0))+Z|0,!(k=k-1|0))break;if(!((0|Z)<=(0|(e=y2[A+48>>2]))||y2[A+52>>2]>=(0|Z))){if(t=0,Z&&(y2[6502]=y2[6502]+1,r=q2(16+(3|P2(Z,152))|0))&&(y2[(t=r+19&-16)-4>>2]=r),1<=(0|e))for(i=0;;)if(A0(i+t|0,y2[A+56>>2]+i|0,152),i=i+152|0,!(e=e-1|0))break;(e=y2[A+56>>2])&&(U2[A+60|0]&&(y2[6503]=y2[6503]+1,$2(y2[e-4>>2])),y2[A+56>>2]=0),y2[A+56>>2]=t,y2[A+52>>2]=Z,X2[A+60|0]=1}if(y2[A+48>>2]=Z,1<=(0|f))for(e=y2[A+176>>2],i=s2=0;;){if(q=i,y2[(O=(L=s2<<3)+e|0)>>2]){if(z=y2[(K=(s2<<2)+p|0)>>2],J=y2[z+32>>2],r=y2[A+56>>2],Z=k6(A,M=y2[z+28>>2],H2[S+12>>2]),v=k6(A,J,H2[S+12>>2]),k=y2[A+16>>2],(0|(t=0<(0|(e=y2[z+24>>2]))?e:y2[S+20>>2]))>y2[A+184>>2]&&(y2[A+184>>2]=t),n=r+P2(i,152)|0,1<=y2[O>>2])for(i=n+148|0,r=0;;)if(v2(i-148|0,0,152),y2[(e=i-28|0)>>2]=-8388609,y2[e+4>>2]=2139095039,y2[i>>2]=v,y2[i-4>>2]=Z,y2[(e=i-52|0)>>2]=0,y2[e+4>>2]=0,y2[i-12>>2]=t,i=i+152|0,!((0|(r=r+1|0))>2]))break;if(t=k+P2(Z,244)|0,y2[(e=t)+144>>2]=0,y2[e+148>>2]=0,y2[(e=e+152|0)>>2]=0,y2[e+4>>2]=0,y2[(e=t+160|0)>>2]=0,y2[e+4>>2]=0,y2[(e=t+168|0)>>2]=0,y2[e+4>>2]=0,y2[t+64>>2]=0,y2[t+68>>2]=0,y2[(e=t+88|0)>>2]=0,y2[e+4>>2]=0,y2[(e=t+80|0)>>2]=0,y2[e+4>>2]=0,y2[(e=t+72|0)>>2]=0,y2[e+4>>2]=0,r=k+P2(v,244)|0,y2[(e=r)+144>>2]=0,y2[e+148>>2]=0,y2[(e=e+152|0)>>2]=0,y2[e+4>>2]=0,y2[(e=r+160|0)>>2]=0,y2[e+4>>2]=0,y2[(e=r+168|0)>>2]=0,y2[e+4>>2]=0,y2[r+64>>2]=0,y2[r+68>>2]=0,y2[(e=r+72|0)>>2]=0,y2[e+4>>2]=0,y2[(e=r+80|0)>>2]=0,y2[e+4>>2]=0,y2[(e=r+88|0)>>2]=0,y2[e+4>>2]=0,y2[n+116>>2]=y2[S+40>>2],y2[36+a>>2]=n+112,y2[32+a>>2]=38,y2[28+a>>2]=n+32,y2[24+a>>2]=n+48,y2[20+a>>2]=n,y2[16+a>>2]=n+16,y2[48+a>>2]=n+124,y2[44+a>>2]=n+120,y2[40+a>>2]=n+116,y2[12+a>>2]=y2[S+32>>2],y2[56+a>>2]=y2[S+4>>2],H2[8+a>>2]=j2(1)/H2[S+12>>2],y2[52+a>>2]=y2[S+20>>2],e=y2[K>>2],N2[y2[y2[e>>2]+20>>2]](e,8+a|0),1<=y2[O>>2])for(i=n+68|0,$=r+232|0,A2=r+228|0,e2=r+224|0,r2=r+216|0,f2=r+212|0,i2=r+208|0,u2=r+240|0,l2=t+232|0,C=t+228|0,n=t+224|0,Z=t+216|0,v=t+212|0,k=t+208|0,t=t+240|0,r=0;;)if((b=H2[y2[K>>2]+16>>2])<=H2[(e=i+56|0)>>2]&&(H2[e>>2]=b),(b=j2(-b))>=H2[(e=i+52|0)>>2]&&(H2[e>>2]=b),y2[i- -64>>2]=z,e=y2[z+28>>2],d=H2[e+328>>2],m=H2[e+332>>2],_=H2[e+608>>2],l=H2[e+348>>2],s=H2[e+340>>2],B=H2[e+344>>2],E=H2[e+612>>2],g=H2[e+364>>2],u=H2[e+356>>2],o=H2[e+360>>2],c=H2[e+604>>2],b=H2[e+324>>2],y2[i+8>>2]=0,X=H2[i-68>>2],y=H2[i+-64>>2],U=H2[i-60>>2],H2[i+4>>2]=E*j2(j2(j2(u*X)+j2(o*y))+j2(g*U)),H2[i>>2]=_*j2(j2(j2(X*s)+j2(y*B))+j2(U*l)),H2[i-4>>2]=c*j2(j2(j2(b*X)+j2(d*y))+j2(m*U)),e=y2[z+32>>2],d=H2[e+328>>2],m=H2[e+332>>2],_=H2[e+608>>2],l=H2[e+348>>2],s=H2[e+340>>2],B=H2[e+344>>2],E=H2[e+612>>2],g=H2[e+364>>2],u=H2[e+356>>2],o=H2[e+360>>2],c=H2[e+604>>2],b=H2[e+324>>2],y2[i+24>>2]=0,H=H2[i-36>>2],P=H2[i-32>>2],j=H2[i-28>>2],H2[i+20>>2]=E*j2(j2(j2(u*H)+j2(o*P))+j2(g*j)),H2[i+16>>2]=_*j2(j2(j2(H*s)+j2(P*B))+j2(j*l)),H2[i+12>>2]=c*j2(j2(j2(b*H)+j2(d*P))+j2(m*j)),o2=j2(0),h=H2[i-52>>2],b=H2[M+404>>2],G=H2[i-48>>2],F=H2[i-44>>2],o=j2(j2(j2(j2(h*j2(h*b))+j2(G*j2(b*G)))+j2(F*j2(b*F)))+j2(j2(j2(X*j2(j2(j2(X*H2[M+324>>2])+j2(y*H2[M+328>>2]))+j2(U*H2[M+332>>2])))+j2(y*j2(j2(j2(X*H2[M+340>>2])+j2(y*H2[M+344>>2]))+j2(U*H2[M+348>>2]))))+j2(U*j2(j2(j2(X*H2[M+356>>2])+j2(y*H2[M+360>>2]))+j2(U*H2[M+364>>2]))))),N=H2[i-20>>2],b=H2[J+404>>2],R=H2[i-16>>2],a2=H2[i-12>>2],b=j2(j2(o+j2(j2(j2(N*j2(N*b))+j2(R*j2(b*R)))+j2(a2*j2(b*a2))))+j2(j2(j2(H*j2(j2(j2(H*H2[J+324>>2])+j2(P*H2[J+328>>2]))+j2(j*H2[J+332>>2])))+j2(P*j2(j2(j2(H*H2[J+340>>2])+j2(P*H2[J+344>>2]))+j2(j*H2[J+348>>2]))))+j2(j*j2(j2(j2(H*H2[J+356>>2])+j2(P*H2[J+360>>2]))+j2(j*H2[J+364>>2]))))),n2=j2(z2(b))>j2(1.1920928955078125e-7)?j2(j2(1)/b):j2(0),H2[i+40>>2]=n2,c2=j2(0),k2=j2(0),Q=j2(0),Y=j2(0),D=j2(0),W=j2(0),y2[t>>2]&&(D=H2[C>>2],Y=H2[n>>2],k2=H2[v>>2],Q=H2[k>>2],c2=H2[Z>>2],W=H2[l2>>2]),b2=j2(0),T=j2(0),t2=j2(0),w=j2(0),I=j2(0),y2[u2>>2]&&(w=H2[A2>>2],t2=H2[e2>>2],b2=H2[f2>>2],T=H2[i2>>2],o2=H2[r2>>2],I=H2[$>>2]),d=H2[M+380>>2],m=H2[M+372>>2],_=H2[M+376>>2],l=H2[M+396>>2],s=H2[M+388>>2],B=H2[M+392>>2],E=H2[J+380>>2],g=H2[J+372>>2],u=H2[J+376>>2],o=H2[J+396>>2],c=H2[J+388>>2],b=H2[J+392>>2],y2[i+32>>2]=0,H2[(e=i+44|0)>>2]=j2(n2*H2[e>>2])+j2(n2*j2(j2(0)-j2(H2[56+a>>2]*j2(j2(j2(j2(j2(h*j2(Q+m))+j2(G*j2(k2+_)))+j2(F*j2(c2+d)))+j2(j2(j2(X*j2(Y+s))+j2(y*j2(D+B)))+j2(U*j2(W+l))))+j2(j2(j2(j2(N*j2(T+g))+j2(R*j2(b2+u)))+j2(a2*j2(o2+E)))+j2(j2(j2(H*j2(t2+c))+j2(P*j2(w+b)))+j2(j*j2(I+o)))))))),i=i+152|0,!((0|(r=r+1|0))>2]))break;e=y2[A+176>>2],r=y2[L+e>>2]}else r=0;if(i=q+r|0,(0|(s2=s2+1|0))==(0|f))break}if(N2[y2[y2[A>>2]+28>>2]](A,V,x,S),f=y2[A+68>>2],t=y2[A+28>>2],k=y2[A+128>>2],!((0|(p=y2[A+48>>2]))<=(0|k)||(0|p)<=y2[A+132>>2])){r=0,p&&(y2[6502]=y2[6502]+1,e=q2(16+(p<<2|3)|0))&&(y2[(r=e+19&-16)-4>>2]=e),V=y2[A+136>>2];A:{if(1<=(0|k)){for(i=r,e=V;;)if(y2[i>>2]=y2[e>>2],i=i+4|0,e=e+4|0,!(k=k-1|0))break}else if(!V)break A;U2[A+140|0]&&(y2[6503]=y2[6503]+1,$2(y2[V-4>>2])),y2[A+136>>2]=0}y2[A+136>>2]=r,y2[A+132>>2]=p,X2[A+140|0]=1}if(y2[A+128>>2]=p,16&U2[S+72|0]){if(!((0|(x=t<<1))<=(0|(k=y2[A+108>>2]))||(0|x)<=y2[A+112>>2])){r=0,t&&(y2[6502]=y2[6502]+1,e=q2(16+(t<<3|3)|0))&&(y2[(r=e+19&-16)-4>>2]=e),V=y2[A+116>>2];A:{if(1<=(0|k)){for(i=r,e=V;;)if(y2[i>>2]=y2[e>>2],i=i+4|0,e=e+4|0,!(k=k-1|0))break}else if(!V)break A;U2[A+120|0]&&(y2[6503]=y2[6503]+1,$2(y2[V-4>>2])),y2[A+116>>2]=0}y2[A+116>>2]=r,y2[A+112>>2]=x,X2[A+120|0]=1}y2[A+108>>2]=x}else{if(!((0|t)<=(0|(k=y2[A+108>>2]))||(0|t)<=y2[A+112>>2])){r=0,t&&(y2[6502]=y2[6502]+1,e=q2(16+(t<<2|3)|0))&&(y2[(r=e+19&-16)-4>>2]=e),V=y2[A+116>>2];A:{if(1<=(0|k)){for(i=r,e=V;;)if(y2[i>>2]=y2[e>>2],i=i+4|0,e=e+4|0,!(k=k-1|0))break}else if(!V)break A;U2[A+120|0]&&(y2[6503]=y2[6503]+1,$2(y2[V-4>>2])),y2[A+116>>2]=0}y2[A+116>>2]=r,y2[A+112>>2]=t,X2[A+120|0]=1}y2[A+108>>2]=t}if(!((0|f)<=(0|(k=y2[A+148>>2]))||(0|f)<=y2[A+152>>2])){r=0,f&&(y2[6502]=y2[6502]+1,e=q2(16+(f<<2|3)|0))&&(y2[(r=e+19&-16)-4>>2]=e),V=y2[A+156>>2];A:{if(1<=(0|k)){for(i=r,e=V;;)if(y2[i>>2]=y2[e>>2],i=i+4|0,e=e+4|0,!(k=k-1|0))break}else if(!V)break A;U2[A+160|0]&&(y2[6503]=y2[6503]+1,$2(y2[V-4>>2])),y2[A+156>>2]=0}y2[A+156>>2]=r,y2[A+152>>2]=f,X2[A+160|0]=1}if(y2[A+148>>2]=f,1<=(0|p))for(i=y2[A+136>>2],e=0;;)if(y2[i>>2]=e,i=i+4|0,(0|p)==(0|(e=e+1|0)))break;if(1<=(0|t))for(i=y2[A+116>>2],e=0;;)if(y2[i>>2]=e,i=i+4|0,(0|t)==(0|(e=e+1|0)))break;if(1<=(0|f))for(i=y2[A+156>>2],e=0;;)if(y2[i>>2]=e,i=i+4|0,(0|f)==(0|(e=e+1|0)))break;return L2=256+a|0,j2(j2(0))},function(A,e,r,f,i,a,n,b,t){A|=0,e|=0,r|=0,f|=0,i|=0,a|=0,n|=0,b|=0,t|=0;var o,c,k,u,l=0;j2(0),N2[y2[y2[A>>2]+32>>2]](A,e,r,f,i,a,n,b,t),l=y2[A+184>>2],o=(0|(o=y2[b+20>>2]))<(0|l)?l:o;A:if(!((0|o)<1))for(u=o-1|0,l=1;;){if(k=j2(N2[y2[y2[A>>2]+40>>2]](A,c=l-1|0,e,r,f,i,a,n,b,t)),H2[A+228>>2]=k,(0|u)<=(0|c))break A;if(H2[b+92>>2]>=k)break A;if(c=(0|l)<(0|o),l=l+1|0,!c)break}return j2(j2(0))},function(A){var e;return y2[(A|=0)>>2]=23132,(e=y2[A+56>>2])&&(U2[A+60|0]&&(y2[6503]=y2[6503]+1,$2(y2[e-4>>2])),y2[A+56>>2]=0),y2[A+56>>2]=0,y2[A+48>>2]=0,y2[A+52>>2]=0,X2[A+60|0]=1,(e=y2[A+36>>2])&&(U2[A+40|0]&&(y2[6503]=y2[6503]+1,$2(y2[e-4>>2])),y2[A+36>>2]=0),y2[A+36>>2]=0,y2[A+28>>2]=0,y2[A+32>>2]=0,X2[A+40|0]=1,(e=y2[A+16>>2])&&(U2[A+20|0]&&(y2[6503]=y2[6503]+1,$2(y2[e-4>>2])),y2[A+16>>2]=0),y2[A+16>>2]=0,y2[A+8>>2]=0,y2[A+12>>2]=0,X2[A+20|0]=1,0|A},function(A){var e;y2[(A|=0)>>2]=23132,(e=y2[A+56>>2])&&(U2[A+60|0]&&(y2[6503]=y2[6503]+1,$2(y2[e-4>>2])),y2[A+56>>2]=0),y2[A+56>>2]=0,y2[A+48>>2]=0,y2[A+52>>2]=0,X2[A+60|0]=1,(e=y2[A+36>>2])&&(U2[A+40|0]&&(y2[6503]=y2[6503]+1,$2(y2[e-4>>2])),y2[A+36>>2]=0),y2[A+36>>2]=0,y2[A+28>>2]=0,y2[A+32>>2]=0,X2[A+40|0]=1,(e=y2[A+16>>2])&&U2[A+20|0]&&(y2[6503]=y2[6503]+1,$2(y2[e-4>>2])),b(A)},function(A,e,r){A|=0,r|=0;var f,i=0,a=0,n=0,b=0,t=0,o=0;if(1<=(0|(a=y2[(e|=0)+8>>2])))for(r=y2[e+16>>2];;)if(i=y2[r>>2],3&U2[i+204|0]||(n=(y2[i+208>>2]=n)+1|0),y2[i+268>>2]=1065353216,y2[i+212>>2]=-1,r=r+4|0,!(a=a-1|0))break;if((0|(i=y2[A+8>>2]))<(0|n)){if(y2[A+12>>2]<(0|n)){if(a=0,n&&(y2[6502]=y2[6502]+1,r=q2(16+(n<<3|3)|0))&&(y2[(a=r+19&-16)-4>>2]=r),1<=(0|i))for(r=i;;)if(o=y2[A+16>>2]+b|0,f=y2[o+4>>2],y2[(t=b+a|0)>>2]=y2[o>>2],y2[t+4>>2]=f,b=b+8|0,!(r=r-1|0))break;(r=y2[A+16>>2])&&(U2[A+20|0]&&(y2[6503]=y2[6503]+1,$2(y2[r-4>>2])),y2[A+16>>2]=0),y2[A+16>>2]=a,y2[A+12>>2]=n,X2[A+20|0]=1}for(b=i<<3,r=n-i|0;;)if(i=y2[A+16>>2]+b|0,y2[i>>2]=0,b=b+8|(y2[i+4>>2]=0),!(r=r-1|0))break}if(1<=(0|(y2[A+8>>2]=n)))for(b=y2[A+16>>2],r=0;;)if(y2[b>>2]=r,y2[b+4>>2]=1,b=b+8|0,(0|n)==(0|(r=r+1|0)))break;if(e=y2[e+68>>2],e=0|N2[y2[y2[e>>2]+36>>2]](e),(t=0|N2[y2[y2[e>>2]+36>>2]](e))&&(o=0|N2[y2[y2[e>>2]+20>>2]](e),!((0|t)<1)))for(b=0;;){if((e=y2[y2[(r=(b<<4)+o|0)>>2]>>2])&&(r=y2[y2[r+4>>2]>>2])&&!(7&y2[e+204>>2]||7&U2[r+204|0])){if(r=y2[r+208>>2],i=y2[A+16>>2],n=y2[e+208>>2],(0|(e=y2[(a=i+(n<<3)|0)>>2]))!=(0|n))for(;;)if(y2[a>>2]=y2[(e=i+(e<<3)|0)>>2],n=y2[e>>2],(0|(e=y2[(a=i+(n<<3)|0)>>2]))==(0|n))break;if((0|r)!=(0|(e=y2[(a=i+(r<<3)|0)>>2])))for(;;)if(y2[a>>2]=y2[(e=i+(e<<3)|0)>>2],r=y2[e>>2],(0|(e=y2[(a=i+(r<<3)|0)>>2]))==(0|r))break;(0|r)!=(0|n)&&(y2[(e=i+(n<<3)|0)>>2]=r,y2[(r=i+(r<<3)|0)+4>>2]=y2[r+4>>2]+y2[e+4>>2])}if((0|t)==(0|(b=b+1|0)))break}},function(A,e){A|=0;var r,f,i,a,n,b=0,t=0,o=0,c=0;if(1<=(0|(n=y2[(e|=0)+8>>2])))for(a=y2[e+16>>2],e=0;;){if(r=y2[(t<<2)+a>>2],3&U2[r+204|0])y2[r+208>>2]=-1,y2[r+212>>2]=-2;else{if(b=e,f=y2[A+16>>2],(0|(c=y2[(o=f+(i=e<<3)|0)>>2]))!=(0|e))for(;;)if(y2[o>>2]=y2[(b=(c<<3)+f|0)>>2],(0|(b=y2[b>>2]))==(0|(c=y2[(o=(b<<3)+f|0)>>2])))break;y2[r+208>>2]=b,y2[r+212>>2]=-1,y2[4+(f+i|0)>>2]=t,e=e+1|0}if((0|n)==(0|(t=t+1|0)))break}},d6,s0,i6,function(A,e,r,f,i){j2(i)},S4,i1,v6,g6,function(A){(A=g6(A|=0))&&(y2[6503]=y2[6503]+1,$2(y2[A-4>>2]))},function(A){A|=0;var e,r,f,i,a=0,n=0;if(T1(A),0|N2[y2[y2[A>>2]+20>>2]](A)&&(a=0|N2[y2[y2[A>>2]+20>>2]](A),6144&N2[y2[y2[a>>2]+56>>2]](a))&&!((0|(a=0|N2[y2[y2[A>>2]+104>>2]](A)))<1))for(a=a+1|0;;)if(i=0|N2[y2[y2[(f=A)>>2]+108>>2]](A,a-2|0),r=y2[y2[A>>2]+172>>2],N2[r](0|f,0|i),!(1<(0|(a=a-1|0))))break;if(0|N2[y2[y2[A>>2]+20>>2]](A)&&(a=0|N2[y2[y2[A>>2]+20>>2]](A),16387&N2[y2[y2[a>>2]+56>>2]](a))&&0|N2[y2[y2[A>>2]+20>>2]](A)&&(a=0|N2[y2[y2[A>>2]+20>>2]](A),0|N2[y2[y2[a>>2]+56>>2]](a))&&!(y2[A+296>>2]<1))for(a=0;;)if(e=y2[y2[A+304>>2]+a>>2],N2[y2[y2[e>>2]+12>>2]](e,y2[A+72>>2]),a=a+4|0,!((0|(n=n+1|0))>2]))break;0|N2[y2[y2[A>>2]+20>>2]](A)&&(A=0|N2[y2[y2[A>>2]+20>>2]](A),N2[y2[y2[A>>2]+104>>2]](A))},function(A,e,r,f){V1(A|=0,e|=0,r|=0,f|=0)},function(A,e){A|=0,(e|=0)&&2&y2[e+252>>2]?N2[y2[y2[A>>2]+92>>2]](A,e):x1(A,e)},function(A,e){A|=0;var r,f,i=0,a=0,n=0,b=0,t=0,o=0,c=0,k=0;if(N2[y2[y2[(e|=0)>>2]+32>>2]](e),n=0|N2[y2[y2[e>>2]+16>>2]](e,104,1),i=v2(y2[n+8>>2],0,104),y2[i+88>>2]=y2[A+264>>2],y2[i+92>>2]=y2[A+268>>2],y2[i+96>>2]=y2[A+272>>2],y2[i+100>>2]=y2[A+276>>2],r=y2[(a=A+124|0)+4>>2],y2[i+28>>2]=y2[a>>2],y2[i+32>>2]=r,r=y2[(a=A+104|0)+4>>2],y2[i+12>>2]=y2[a>>2],y2[i+16>>2]=r,r=y2[(a=A+116|0)+4>>2],y2[i+20>>2]=y2[a>>2],y2[i+24>>2]=r,r=y2[(a=A+96|0)+4>>2],y2[i+4>>2]=y2[a>>2],y2[i+8>>2]=r,y2[i>>2]=y2[A+92>>2],y2[i+36>>2]=y2[A+132>>2],y2[i+40>>2]=y2[A+148>>2],y2[i+44>>2]=y2[A+152>>2],y2[i+48>>2]=y2[A+156>>2],y2[i+52>>2]=y2[A+160>>2],y2[i+56>>2]=y2[A+176>>2],y2[i+60>>2]=y2[A+180>>2],y2[i+64>>2]=y2[A+112>>2],y2[i+68>>2]=y2[A+164>>2],y2[i+72>>2]=y2[A+168>>2],y2[i+76>>2]=y2[A+172>>2],a=y2[A+144>>2],y2[i+84>>2]=0,y2[i+80>>2]=a,N2[y2[y2[e>>2]+20>>2]](e,n,23733,1145853764,i),p1(A,e),1<=(0|(a=y2[A+8>>2])))for(i=0;;)if(n=y2[y2[A+16>>2]+b>>2],2&U2[n+252|0]&&(o=e,c=0|N2[y2[y2[n>>2]+16>>2]](n),t=y2[y2[e>>2]+16>>2],a=0|N2[t](0|o,0|c,0|(k=1)),r=0|N2[y2[y2[n>>2]+20>>2]](n,y2[a+8>>2],e),N2[y2[y2[e>>2]+20>>2]](e,a,r,1497645650,n),a=y2[A+8>>2]),b=b+4|0,!((0|(i=i+1|0))<(0|a)))break;if(1<=y2[A+228>>2])for(i=b=0;;)if(n=y2[y2[A+236>>2]+b>>2],k=e,c=0|N2[y2[y2[n>>2]+36>>2]](n),t=y2[y2[e>>2]+16>>2],a=0|N2[t](0|k,0|c,0|(o=1)),o=e,c=a,k=0|N2[y2[y2[n>>2]+40>>2]](n,y2[a+8>>2],e),f=n,t=y2[y2[e>>2]+20>>2],N2[t](0|o,0|c,0|k,1397641027,0|f),b=b+4|0,!((0|(i=i+1|0))>2]))break;N2[y2[y2[e>>2]+36>>2]](e)},function(A,e,r,f){A|=0,e=j2(e),r|=0,f=j2(f);var i,a=0,n=0;if(j2(0),r?(H2[A+284>>2]=f,e=j2(H2[A+280>>2]+e),f<=(H2[A+280>>2]=e)&&(a=A,e=j2((i=e)/f),n=j2(z2(e))>2]=i-j2(j2(0|n)*f))):(y2[A+284>>2]=0,H2[A+280>>2]=U2[A+316|0]?j2(0):e,r=n=!(j2(z2(f=e))>2]+20>>2]](A)&&(a=0|N2[y2[y2[A>>2]+20>>2]](A),i=N2[y2[y2[a>>2]+56>>2]](a)>>>4&1,X2[27772]=i),n){if(N2[y2[y2[A>>2]+168>>2]](A,j2(f*j2(0|(a=(0|r)<(0|n)?r:n)))),N2[y2[y2[A>>2]+176>>2]](A),!((0|a)<1))for(r=0;;)if(N2[y2[y2[A>>2]+160>>2]](A,f),N2[y2[y2[A>>2]+80>>2]](A),!((0|(r=r+1|0))<(0|a)))break}else N2[y2[y2[A>>2]+80>>2]](A);return N2[y2[y2[A>>2]+120>>2]](A),0|n},function(A,e,r){e|=0,r|=0;var f,i=0,a=0,n=0,b=0,a=y2[(A|=0)+228>>2];if((0|a)==y2[A+232>>2]&&!((0|(f=a?a<<1:1))<=(0|a))){if(f&&(y2[6502]=y2[6502]+1,i=q2(16+(f<<2|3)|0))&&(y2[(n=i+19&-16)-4>>2]=i),1<=(0|a))for(i=a;;)if(y2[b+n>>2]=y2[y2[A+236>>2]+b>>2],b=b+4|0,!(i=i-1|0))break;(i=y2[A+236>>2])&&(U2[A+240|0]&&(y2[6503]=y2[6503]+1,$2(y2[i-4>>2]),a=y2[A+228>>2]),y2[A+236>>2]=0),y2[A+236>>2]=n,y2[A+232>>2]=f,X2[A+240|0]=1}y2[A+228>>2]=a+1,y2[y2[A+236>>2]+(a<<2)>>2]=e,r&&(t6(y2[e+28>>2],e),t6(y2[e+32>>2],e))},function(A,e){e|=0;var r,f=0,i=0,a=0,f=y2[(A|=0)+228>>2];A:if(!((0|f)<1)){for(i=r=y2[A+236>>2];;){if(y2[i>>2]==(0|e))break;if(i=i+4|0,(0|f)==(0|(a=a+1|0)))break A}(0|f)<=(0|a)||(y2[(a=i)>>2]=y2[(f=(i=f-1|0)<<2)+r>>2],y2[A+228>>2]=i,y2[f+y2[A+236>>2]>>2]=e)}o6(y2[e+28>>2],e),o6(y2[e+32>>2],e)},function(A,e){e|=0;var r,f=0,i=0,a=0,n=0,i=y2[(A|=0)+296>>2];if((0|i)==y2[A+300>>2]&&!((0|(r=i?i<<1:1))<=(0|i))){if(r&&(y2[6502]=y2[6502]+1,f=q2(16+(r<<2|3)|0))&&(y2[(a=f+19&-16)-4>>2]=f),1<=(0|i))for(f=i;;)if(y2[n+a>>2]=y2[y2[A+304>>2]+n>>2],n=n+4|0,!(f=f-1|0))break;(f=y2[A+304>>2])&&(U2[A+308|0]&&(y2[6503]=y2[6503]+1,$2(y2[f-4>>2]),i=y2[A+296>>2]),y2[A+304>>2]=0),y2[A+304>>2]=a,y2[A+300>>2]=r,X2[A+308|0]=1}y2[A+296>>2]=i+1,y2[y2[A+304>>2]+(i<<2)>>2]=e},function(A,e){A|=0,e|=0;var r,f=0,i=0,a=0;A:if(!((0|(f=y2[A+296>>2]))<1)){for(i=r=y2[A+304>>2];;){if(y2[i>>2]==(0|e))break;if(i=i+4|0,(0|f)==(0|(a=a+1|0)))break A}(0|f)<=(0|a)||(y2[(a=i)>>2]=y2[(f=(i=f-1|0)<<2)+r>>2],y2[A+296>>2]=i,y2[f+y2[A+304>>2]>>2]=e)}},function(A,e){A|=0,e|=0;var r,f,i,a,n,b,t=0,o=0,c=(j2(0),0),k=0,t=(j2(0),j2(0),j2(0),y2[e+4>>2]);if(y2[A+264>>2]=y2[e>>2],y2[A+268>>2]=t,f=y2[(o=i=e+8|0)+4>>2],y2[(t=A+272|0)>>2]=y2[o>>2],y2[t+4>>2]=f,1<=(0|(o=y2[A+248>>2])))for(;;){A:{e:if(t=y2[y2[A+256>>2]+c>>2],!(3<(f=y2[t+220>>2]-2|0)>>>0))switch(f-1|0){case 0:case 1:break e;default:break A;}1&X2[t+564|0]||((r=H2[t+404>>2])!=j2(0)&&(a=H2[e>>2],n=H2[e+4>>2],b=H2[e+8>>2],y2[t+436>>2]=0,r=j2(j2(1)/r),H2[t+432>>2]=b*r,H2[t+428>>2]=r*n,H2[t+424>>2]=r*a),o=y2[e+4>>2],y2[t+440>>2]=y2[e>>2],y2[t+444>>2]=o,o=y2[4+i>>2],y2[(t=t+448|0)>>2]=y2[i>>2],y2[t+4>>2]=o,o=y2[A+248>>2])}if(c=c+4|0,!((0|(k=k+1|0))<(0|o)))break}},function(A,e){var r=y2[(e|=0)+268>>2];y2[(A|=0)>>2]=y2[e+264>>2],y2[A+4>>2]=r,r=y2[(e=e+272|0)+4>>2],y2[(A=A+8|0)>>2]=y2[e>>2],y2[A+4>>2]=r},function(A){A|=0;var e,r=0,f=0,i=j2(0),a=0,n=0,b=0;if(j2(0),j2(0),j2(0),L2=e=L2+-64|0,U2[A+290|0]){if(!((0|(f=y2[A+8>>2]))<1))for(;;)if((r=y2[y2[A+16>>2]+n>>2])&&2&y2[r+252>>2]&&(!y2[r+540>>2]||3&U2[r+204|0]||(C1(f=r+68|0,H2[r+132>>2],H2[r+136>>2],H2[r+140>>2],a=r+148|0,i=U2[A+316|0]&&(i=H2[A+284>>2])!=j2(0)?j2(H2[A+280>>2]-i):j2(H2[A+280>>2]*H2[r+268>>2]),e),r=y2[r+540>>2],N2[y2[y2[r>>2]+12>>2]](r,e),f=y2[A+8>>2])),n=n+4|0,!((0|(b=b+1|0))<(0|f)))break}else if(!((0|(f=y2[A+248>>2]))<1))for(;;){A:{e:if(r=y2[y2[A+256>>2]+n>>2],!(3<(a=y2[r+220>>2]-2|0)>>>0))switch(a-1|0){case 0:case 1:break e;default:break A;}!y2[r+540>>2]||3&U2[r+204|0]||(C1(f=r+68|0,H2[r+132>>2],H2[r+136>>2],H2[r+140>>2],a=r+148|0,i=U2[A+316|0]&&(i=H2[A+284>>2])!=j2(0)?j2(H2[A+280>>2]-i):j2(H2[A+280>>2]*H2[r+268>>2]),e),r=y2[r+540>>2],N2[y2[y2[r>>2]+12>>2]](r,e),f=y2[A+248>>2])}if(n=n+4|0,!((0|(b=b+1|0))<(0|f)))break}L2=e+64|0},function(A,e){A|=0,e|=0;var r,f,i,a,n,b,t=0,o=0,c=0,k=(j2(0),0),u=0,l=0;if(j2(0),j2(0),j2(0),j2(0),(k=3&(b=y2[e+204>>2]))||1&X2[e+564|0]||((f=H2[e+404>>2])!=j2(0)&&(i=H2[A+268>>2],a=H2[A+272>>2],r=H2[A+264>>2],y2[e+436>>2]=0,n=r,r=j2(j2(1)/f),H2[e+424>>2]=n*r,H2[e+432>>2]=r*a,H2[e+428>>2]=r*i),o=y2[(t=A+264|0)+4>>2],y2[e+440>>2]=y2[t>>2],y2[e+444>>2]=o,o=y2[(t=t+8|0)+4>>2],y2[(c=e+448|0)>>2]=y2[t>>2],y2[c+4>>2]=o),y2[e+192>>2]){if(1&b)4!=(-2&y2[e+220>>2])&&(y2[e+220>>2]=2);else{if((0|(t=y2[A+248>>2]))==y2[A+252>>2]&&!((0|(c=t?t<<1:1))<=(0|t))){if(c&&(y2[6502]=y2[6502]+1,o=q2(16+(c<<2|3)|0))&&(y2[(u=o+19&-16)-4>>2]=o),1<=(0|t))for(o=t;;)if(y2[l+u>>2]=y2[y2[A+256>>2]+l>>2],l=l+4|0,!(o=o-1|0))break;(o=y2[A+256>>2])&&(U2[A+260|0]&&(y2[6503]=y2[6503]+1,$2(y2[o-4>>2]),k=3&y2[e+204>>2],t=y2[A+248>>2]),y2[A+256>>2]=0),y2[A+256>>2]=u,y2[A+252>>2]=c,X2[A+260|0]=1}y2[A+248>>2]=t+1,y2[y2[A+256>>2]+(t<<2)>>2]=e}N2[y2[y2[A>>2]+36>>2]](A,e,k?2:1,k?-3:-1)}},function(A,e,r,f){A|=0,e|=0,r|=0,f|=0;var i,a,n,b,t,o,c=0,k=0,u=0,l=(j2(0),0),s=0;if(j2(0),j2(0),j2(0),j2(0),3&(o=y2[e+204>>2])||1&X2[e+564|0]||((a=H2[e+404>>2])!=j2(0)&&(n=H2[A+268>>2],b=H2[A+272>>2],i=H2[A+264>>2],y2[e+436>>2]=0,t=i,i=j2(j2(1)/a),H2[e+424>>2]=t*i,H2[e+432>>2]=i*b,H2[e+428>>2]=i*n),k=y2[(c=A+264|0)+4>>2],y2[e+440>>2]=y2[c>>2],y2[e+444>>2]=k,k=y2[(c=c+8|0)+4>>2],y2[(u=e+448|0)>>2]=y2[c>>2],y2[u+4>>2]=k),y2[e+192>>2]){if(1&o)4!=(-2&y2[e+220>>2])&&(y2[e+220>>2]=2);else{if((0|(c=y2[A+248>>2]))==y2[A+252>>2]&&!((0|(u=c?c<<1:1))<=(0|c))){if(u&&(y2[6502]=y2[6502]+1,k=q2(16+(u<<2|3)|0))&&(y2[(l=k+19&-16)-4>>2]=k),1<=(0|c))for(k=c;;)if(y2[s+l>>2]=y2[y2[A+256>>2]+s>>2],s=s+4|0,!(k=k-1|0))break;(k=y2[A+256>>2])&&(U2[A+260|0]&&(y2[6503]=y2[6503]+1,$2(y2[k-4>>2]),c=y2[A+248>>2]),y2[A+256>>2]=0),y2[A+256>>2]=l,y2[A+252>>2]=u,X2[A+260|0]=1}y2[A+248>>2]=c+1,y2[y2[A+256>>2]+(c<<2)>>2]=e}N2[y2[y2[A>>2]+36>>2]](A,e,r,f)}},function(A,e){e|=0;var r,f=0,i=0,a=0,f=y2[(A|=0)+248>>2];A:if(!((0|f)<1)){for(i=r=y2[A+256>>2];;){if(y2[i>>2]==(0|e))break;if(i=i+4|0,(0|f)==(0|(a=a+1|0)))break A}(0|f)<=(0|a)||(y2[(a=i)>>2]=y2[(f=(i=f-1|0)<<2)+r>>2],y2[A+248>>2]=i,y2[f+y2[A+256>>2]>>2]=e)}x1(A,e)},function(A,e){var r;e|=0,U2[(A|=0)+289|0]&&(r=y2[A+216>>2])&&(y2[6503]=y2[6503]+1,$2(y2[r-4>>2])),y2[A+216>>2]=e,X2[A+289|0]=0,y2[y2[A+212>>2]+8>>2]=e},function(A){return y2[(A|=0)+216>>2]},function(A){return y2[(A|=0)+228>>2]},Z6,Z6,Y1,function(A){var e,r,f=0,i=0;if(1<=y2[(A|=0)+248>>2])for(;;)if(r=y2[y2[A+256>>2]+f>>2],y2[(e=r)+472>>2]=0,y2[e+476>>2]=0,y2[(e=e+496|0)>>2]=0,y2[4+e>>2]=0,y2[(e=r+488|0)>>2]=0,y2[4+e>>2]=0,y2[(r=r+480|0)>>2]=0,f=f+4|(y2[4+r>>2]=0),!((0|(i=i+1|0))>2]))break},T4,C6,T4,C6,function(A,e){A|=0,e=j2(e);var r,f,i,a,n=j2(0),b=j2(0),t=j2(0),o=0,c=j2(0),k=0,u=j2(0),l=j2(0),s=j2(0),v=(j2(0),0),B=(j2(0),0);if(1<=(0|(o=y2[A+248>>2])))for(;;)if(r=y2[y2[A+256>>2]+v>>2],3&U2[r+204|0]||(f=H2[r+504>>2],n=l0(j2(j2(1)-f),e),c=j2(n*H2[r+372>>2]),H2[r+372>>2]=c,u=j2(n*H2[(k=r+376|0)>>2]),H2[k>>2]=u,n=j2(n*H2[(i=r+380|0)>>2]),H2[i>>2]=n,a=H2[r+508>>2],t=l0(j2(j2(1)-a),e),l=j2(t*H2[r+388>>2]),H2[r+388>>2]=l,s=j2(t*H2[(o=r+392|0)>>2]),H2[o>>2]=s,t=j2(t*H2[(o=r+396|0)>>2]),H2[o>>2]=t,o=r+388|0,U2[r+512|0]&&(H2[r+524>>2]>j2(j2(j2(l*l)+j2(s*s))+j2(t*t))&&H2[r+520>>2]>j2(j2(j2(c*c)+j2(u*u))+j2(n*n))&&(b=H2[r+516>>2],t=j2(t*b),H2[r+396>>2]=t,s=j2(s*b),H2[r+392>>2]=s,l=j2(l*b),H2[r+388>>2]=l,n=j2(n*b),H2[i>>2]=n,u=j2(u*b),H2[k>>2]=u,c=j2(c*b),H2[r+372>>2]=c),(b=j2(K2(j2(j2(j2(c*c)+j2(u*u))+j2(n*n)))))j2(.004999999888241291)?(b=j2(j2(1)/b),n=j2(n-j2(j2(n*b)*j2(.004999999888241291))),H2[i>>2]=n,u=j2(u-j2(j2(u*b)*j2(.004999999888241291))),H2[k>>2]=u,c=j2(c-j2(j2(c*b)*j2(.004999999888241291))),H2[r+372>>2]=c):(y2[(k=r+372|0)>>2]=0,y2[k+4>>2]=0,y2[(k=k+8|0)>>2]=0,y2[k+4>>2]=0,n=j2(0),u=j2(0),c=j2(0))),(b=j2(K2(j2(j2(j2(l*l)+j2(s*s))+j2(t*t)))))j2(.004999999888241291)?(f=t,t=j2(j2(1)/b),H2[r+396>>2]=f-j2(j2(f*t)*j2(.004999999888241291)),H2[r+392>>2]=s-j2(j2(s*t)*j2(.004999999888241291)),H2[r+388>>2]=l-j2(j2(l*t)*j2(.004999999888241291))):(y2[o>>2]=0,y2[o+4>>2]=0,y2[(k=o+8|0)>>2]=0,y2[k+4>>2]=0)),C1(r+4|0,c,u,n,o,e,r+68|0),o=y2[A+248>>2]),v=v+4|0,!((0|(B=B+1|0))<(0|o)))break},function(A,e){A|=0,e=j2(e);var r,f,i,a,n,b,t,o,c,k,u,l,s=0,v=0,B=j2(0),d=0,_=0,g=0,Z=j2(0),C=j2(0),w=0,E=0,Q=j2(0);if(L2=l=L2-304|0,1<=(0|(d=y2[A+248>>2])))for(E=y2[A+256>>2],i=56+l|0,a=40+l|0,n=24+l|0,w=104+l|0,b=172+l|0,t=156+l|0,_=288+l|0;;){v=y2[E>>2],y2[v+268>>2]=1065353216;A:{e:if(!(3<(s=y2[v+220>>2]-2|0)>>>0))switch(s-1|0){case 0:case 1:break e;default:break A;}3&U2[v+204|0]||(C1(g=v+4|0,H2[v+372>>2],H2[(c=v+376|0)>>2],H2[(k=v+380|0)>>2],u=v+388|0,e,240+l|0),U2[A+44|0]&&(B=H2[v+276>>2],(B=j2(B*B))!=j2(0))&&(Z=j2(H2[288+l>>2]-H2[(s=v+52|0)>>2]),C=j2(Z*Z),Z=j2(H2[292+l>>2]-H2[v+56>>2]),C=j2(C+j2(Z*Z)),Z=j2(H2[296+l>>2]-H2[v+60>>2]),B>2]+4>>2])&&(y2[7115]=y2[7115]+1,r=y2[A+68>>2],r=0|N2[y2[y2[r>>2]+36>>2]](r),f=y2[s+4>>2],y2[t>>2]=y2[s>>2],y2[4+t>>2]=f,o=y2[(s=s+8|0)+4>>2],y2[(f=8+t|0)>>2]=y2[s>>2],y2[4+f>>2]=o,s=y2[_+4>>2],y2[b>>2]=y2[_>>2],y2[4+b>>2]=s,o=y2[(s=_+8|0)+4>>2],y2[(f=8+b|0)>>2]=y2[s>>2],y2[4+f>>2]=o,y2[152+l>>2]=0,y2[140+l>>2]=1065353216,y2[136+l>>2]=23668,y2[232+l>>2]=y2[A+24>>2],y2[228+l>>2]=r,y2[220+l>>2]=v,y2[w>>2]=0,y2[w+4>>2]=0,y2[(r=w+8|0)>>2]=0,y2[4+r>>2]=0,y2[w+16>>2]=0,y2[84+l>>2]=0,y2[88+l>>2]=0,y2[100+l>>2]=1065353216,y2[92+l>>2]=1065353216,y2[96+l>>2]=1065353216,y2[76+l>>2]=8,y2[80+l>>2]=0,y2[72+l>>2]=13244,y2[128+l>>2]=0,r=y2[v+272>>2],y2[108+l>>2]=r,y2[124+l>>2]=r,y2[224+l>>2]=y2[A+56>>2],r=y2[v+188>>2],y2[144+l>>2]=y2[r+4>>2],y2[148+l>>2]=y2[r+8>>2],f=y2[s+4>>2],y2[(r=8+i|0)>>2]=y2[s>>2],y2[4+r>>2]=f,s=y2[_+4>>2],y2[i>>2]=y2[_>>2],y2[4+i>>2]=s,f=y2[4+(r=g+8|0)>>2],y2[(s=16+l|0)>>2]=y2[r>>2],y2[s+4>>2]=f,r=y2[(s=v+20|0)+4>>2],y2[n>>2]=y2[s>>2],y2[4+n>>2]=r,f=y2[4+(r=v+28|0)>>2],y2[(s=8+n|0)>>2]=y2[r>>2],y2[s+4>>2]=f,r=y2[(s=v+36|0)+4>>2],y2[a>>2]=y2[s>>2],y2[4+a>>2]=r,f=y2[4+(r=v+44|0)>>2],y2[(s=8+a|0)>>2]=y2[r>>2],y2[s+4>>2]=f,s=y2[g+4>>2],y2[8+l>>2]=y2[g>>2],y2[12+l>>2]=s,j1(A,72+l|0,g,8+l|0,136+l|0,j2(0)),y2[152+l>>2])&&(B=H2[140+l>>2])>2]=B,C1(g,H2[v+372>>2],H2[c>>2],H2[k>>2],u,j2(B*e),240+l|0),b6(v,240+l|(y2[v+268>>2]=0))):b6(v,240+l|0))}if(E=E+4|0,!(d=d-1|0))break}if(U2[A+291|0]&&!(y2[A+324>>2]<1))for(w=0;;){if(_=y2[y2[A+332>>2]+(w<<2)>>2],!((0|(g=y2[_+844>>2]))<1))if(s=y2[_+840>>2],v=y2[s+252>>2]<<30>>31&s,s=y2[_+836>>2],d=y2[s+252>>2]<<30>>31&s){for(s=_+68|0,E=0;;)if((e=j2(H2[d+232>>2]*H2[v+232>>2]))>j2(0)&&(B=H2[s+68>>2])!=j2(0)&&(Z=H2[s+8>>2],C=H2[s+4>>2],Q=H2[s>>2],y2[148+l>>2]=0,Q=j2(e*j2(B*j2(-Q))),H2[136+l>>2]=Q,C=j2(e*j2(B*j2(-C))),H2[140+l>>2]=C,e=j2(e*j2(B*j2(-Z))),H2[144+l>>2]=e,y2[252+l>>2]=0,H2[248+l>>2]=H2[s-8>>2]-H2[d+60>>2],H2[244+l>>2]=H2[s-12>>2]-H2[d+56>>2],H2[240+l>>2]=H2[s-16>>2]-H2[d+52>>2],y2[20+l>>2]=0,H2[16+l>>2]=H2[s-24>>2]-H2[v+60>>2],H2[12+l>>2]=H2[s-28>>2]-H2[v+56>>2],H2[8+l>>2]=H2[s-32>>2]-H2[v+52>>2],w6(d,136+l|0,240+l|0),y2[84+l>>2]=0,H2[80+l>>2]=-e,H2[76+l>>2]=-C,H2[72+l>>2]=-Q,w6(v,72+l|0,8+l|0),g=y2[_+844>>2]),s=s+208|0,!((0|(E=E+1|0))<(0|g)))break}else for(s=_+68|0,d=0;;)if((e=j2(H2[58]*H2[v+232>>2]))>j2(0)&&(B=H2[s+68>>2])!=j2(0)&&(Z=H2[s+4>>2],C=H2[s+8>>2],Q=H2[s>>2],y2[20+l>>2]=0,H2[16+l>>2]=H2[s-24>>2]-H2[v+60>>2],H2[12+l>>2]=H2[s-28>>2]-H2[v+56>>2],H2[8+l>>2]=H2[s-32>>2]-H2[v+52>>2],y2[84+l>>2]=0,H2[80+l>>2]=j2(B*C)*e,H2[76+l>>2]=j2(B*Z)*e,H2[72+l>>2]=j2(B*Q)*e,w6(v,72+l|0,8+l|0),g=y2[_+844>>2]),s=s+208|0,!((0|(d=d+1|0))<(0|g)))break;if(!((0|(w=w+1|0))>2]))break}L2=304+l|0},function(A){var e=0,r=0,f=0,i=0,a=0,n=0,b=0,t=0,e=y2[(A|=0)+220>>2];if(N2[y2[y2[e>>2]+8>>2]](e,A,y2[A+24>>2]),1<=(0|(b=y2[A+324>>2])))for(t=y2[A+332>>2];;){if(e=y2[t+(n<<2)>>2],(r=y2[e+836>>2])&&(e=y2[e+840>>2])&&!(3&y2[r+204>>2]||3&U2[e+204|0])){if(e=y2[e+208>>2],f=y2[y2[A+220>>2]+16>>2],i=y2[r+208>>2],(0|(r=y2[(a=f+(i<<3)|0)>>2]))!=(0|i))for(;;)if(y2[a>>2]=y2[(r=f+(r<<3)|0)>>2],i=y2[r>>2],(0|(r=y2[(a=f+(i<<3)|0)>>2]))==(0|i))break;if((0|(r=y2[(a=f+(e<<3)|0)>>2]))!=(0|e))for(;;)if(y2[a>>2]=y2[(e=f+(r<<3)|0)>>2],(0|(e=y2[e>>2]))==(0|(r=y2[(a=f+(e<<3)|0)>>2])))break;(0|e)!=(0|i)&&(y2[(r=f+(i<<3)|0)>>2]=e,y2[(e=f+(e<<3)|0)+4>>2]=y2[e+4>>2]+y2[r+4>>2])}if((0|b)==(0|(n=n+1|0)))break}if(1<=(0|(b=y2[A+228>>2])))for(t=y2[A+236>>2],a=0;;){if(e=y2[t+(a<<2)>>2],U2[e+20|0]&&(r=y2[e+28>>2],!(3&U2[r+204|0]||(e=y2[e+32>>2],3&U2[e+204|0])))){if(e=y2[e+208>>2],f=y2[y2[A+220>>2]+16>>2],i=y2[r+208>>2],(0|(n=y2[(r=f+(i<<3)|0)>>2]))!=(0|i))for(;;)if(y2[(i=r)>>2]=y2[(r=f+(n<<3)|0)>>2],i=y2[r>>2],(0|(n=y2[(r=f+(i<<3)|0)>>2]))==(0|i))break;if((0|(n=y2[(r=f+(e<<3)|0)>>2]))!=(0|e))for(;;)if(y2[r>>2]=y2[(e=f+(n<<3)|0)>>2],(0|(e=y2[e>>2]))==(0|(n=y2[(r=f+(e<<3)|0)>>2])))break;(0|e)!=(0|i)&&(y2[(r=f+(i<<3)|0)>>2]=e,y2[(e=f+(e<<3)|0)+4>>2]=y2[e+4>>2]+y2[r+4>>2])}if((0|b)==(0|(a=a+1|0)))break}e=y2[A+220>>2],N2[y2[y2[e>>2]+12>>2]](e,A)},function(A,e){e|=0;var r,f,i,a,n,b,t,o,c,k=0,u=0,l=0,s=0,v=0,B=0,d=0,_=0,g=0,Z=0,C=0,w=0,E=0;if(L2=c=L2-16|0,(0|(l=y2[(A|=0)+196>>2]))<(0|(v=y2[A+228>>2]))){if((0|v)>y2[A+200>>2]){if(v&&(y2[6502]=y2[6502]+1,k=q2(16+(v<<2|3)|0))&&(y2[(s=k+19&-16)-4>>2]=k),1<=(0|l))for(k=l;;)if(y2[u+s>>2]=y2[y2[A+204>>2]+u>>2],u=u+4|0,!(k=k-1|0))break;(k=y2[A+204>>2])&&(U2[A+208|0]&&(y2[6503]=y2[6503]+1,$2(y2[k-4>>2])),y2[A+204>>2]=0),y2[A+204>>2]=s,y2[A+200>>2]=v,X2[A+208|0]=1}for(u=l<<2,k=v-l|0;;)if(u=u+4|(y2[y2[A+204>>2]+u>>2]=0),!(k=k-1|0))break}if(y2[A+196>>2]=v,1<=(0|N2[y2[y2[A>>2]+104>>2]](A)))for(k=u=0;;)if(y2[y2[A+204>>2]+u>>2]=y2[y2[A+236>>2]+u>>2],u=u+4|0,k=k+1|0,!((0|N2[y2[y2[A>>2]+104>>2]](A))>(0|k)))break;if(2<=(0|(k=y2[A+196>>2]))&&!function A(e,r,f){var i=0,a=0,n=0,b=0,t=0,o=0,c=0,k=0,u=0,l=0;for(;;){for(u=r,a=y2[e+12>>2],k=y2[a+((r+f|0)/2<<2)>>2],i=f;;){if(o=y2[y2[k+28>>2]+208>>2],b=(0|o)<0){for(t=r-1|0,n=((r<<2)+a|0)-4|0,c=y2[y2[k+32>>2]+208>>2];;)if(t=t+1|0,l=y2[(n=n+4|0)>>2],!((0|(r=(0|(r=y2[y2[l+28>>2]+208>>2]))<=-1?y2[y2[l+32>>2]+208>>2]:r))<(0|c)))break}else for(t=r-1|0,n=((r<<2)+a|0)-4|0;;)if(t=t+1|0,c=y2[(n=n+4|0)>>2],!((0|(r=(0|(r=y2[y2[c+28>>2]+208>>2]))<=-1?y2[y2[c+32>>2]+208>>2]:r))<(0|o)))break;if(b){for(r=i+1|0,i=(i<<2)+a|0,o=y2[y2[k+32>>2]+208>>2];;)if(b=y2[i>>2],(0|(a=y2[y2[b+28>>2]+208>>2]))<=-1&&(a=y2[y2[b+32>>2]+208>>2]),i=i-4|0,r=r-1|0,!((0|o)<(0|a)))break}else for(r=i+1|0,i=(i<<2)+a|0;;)if(b=y2[i>>2],(0|(a=y2[y2[b+28>>2]+208>>2]))<=-1&&(a=y2[y2[b+32>>2]+208>>2]),i=i-4|0,r=r-1|0,!((0|o)<(0|a)))break;if(i=i+4|0,!((0|(r=(0|r)<(0|t)?(i=r,t):(a=y2[n>>2],y2[n>>2]=y2[i>>2],y2[y2[e+12>>2]+(r<<2)>>2]=a,i=r-1|0,t+1|0)))<=(0|i)))break;a=y2[e+12>>2]}if((0|u)<(0|i)&&A(e,u,i),!((0|r)<(0|f)))break}}(A+192|0,0,k-1|0),(u=0)|N2[y2[y2[A>>2]+104>>2]](A)&&(u=y2[A+204>>2]),k=y2[A+196>>2],n=l=y2[A+212>>2],b=0|N2[y2[y2[A>>2]+20>>2]](A),y2[n+20>>2]=b,y2[l+16>>2]=k,y2[l+12>>2]=u,y2[l+4>>2]=e,(0|(k=y2[l+32>>2]))<=-1)for(y2[l+36>>2]<=-1&&((u=y2[l+40>>2])&&(U2[l+44|0]&&(y2[6503]=y2[6503]+1,$2(y2[u-4>>2])),y2[l+40>>2]=0),y2[l+36>>2]=0,y2[l+40>>2]=0,X2[l+44|0]=1),s=k<<2;;)if(s=s+4|(y2[y2[l+40>>2]+s>>2]=0),!((u=k)>>>0<=(k=k+1|0)>>>0))break;if(((y2[l+32>>2]=0)|(k=y2[l+52>>2]))<=-1)for(y2[l+56>>2]<=-1&&((u=y2[l+60>>2])&&(U2[l- -64|0]&&(y2[6503]=y2[6503]+1,$2(y2[u-4>>2])),y2[l+60>>2]=0),y2[l+56>>2]=0,y2[l+60>>2]=0,X2[l- -64|0]=1),s=k<<2;;)if(s=s+4|(y2[y2[l+60>>2]+s>>2]=0),!((u=k)>>>0<=(k=k+1|0)>>>0))break;if(((y2[l+52>>2]=0)|(k=y2[l+72>>2]))<=-1)for(y2[l+76>>2]<=-1&&((u=y2[l+80>>2])&&(U2[l+84|0]&&(y2[6503]=y2[6503]+1,$2(y2[u-4>>2])),y2[l+80>>2]=0),y2[l+76>>2]=0,y2[l+80>>2]=0,X2[l+84|0]=1),s=k<<2;;)if(s=s+4|(y2[y2[l+80>>2]+s>>2]=0),!((u=k)>>>0<=(k=k+1|0)>>>0))break;if(y2[l+72>>2]=0,u=y2[A+216>>2],k=y2[A+24>>2],b=u,t=y2[A+8>>2],o=0|N2[y2[y2[k>>2]+36>>2]](k),n=y2[y2[u>>2]+8>>2],N2[n](0|b,0|t,0|o),i=y2[A+212>>2],f=y2[A+24>>2],r=y2[A+220>>2],(0|(u=y2[r+28>>2]))<=-1)for(y2[r+32>>2]<=-1&&((k=y2[r+36>>2])&&(U2[r+40|0]&&(y2[6503]=y2[6503]+1,$2(y2[k-4>>2])),y2[r+36>>2]=0),y2[r+32>>2]=0,y2[r+36>>2]=0,X2[r+40|0]=1),s=u<<2;;)if(s=s+4|(y2[y2[r+36>>2]+s>>2]=0),!((k=u)>>>0<=(u=k+1|0)>>>0))break;if(!(((y2[r+28>>2]=0)|(s=y2[r+8>>2]))<=0)){for(B=r+4|0,d=y2[r+16>>2],v=0;;){if((0|(k=y2[(l=d+((u=v)<<3)|0)>>2]))!=(0|u))for(_=l;;)if(y2[_>>2]=y2[(k=d+(k<<3)|0)>>2],u=y2[k>>2],(0|(k=y2[(_=d+(u<<3)|0)>>2]))==(0|u))break;if(y2[l>>2]=u,(0|s)==(0|(v=v+1|0)))break}if(2<=(0|s)&&(!function A(e,r,f){for(var i,a,n,b=0,t=0,o=0,c=0,k=0,u=0,l=0;;){for(k=y2[e+12>>2],a=y2[k+((f+(i=r)|0)/2<<3)>>2],o=r,c=f;;){for(t=((o<<3)+k|0)-8|0;o=o+1|0,y2[(t=t+8|0)>>2]<(0|a););for(r=o-1|0,b=8+(c<<3)|0;c=c-1|0,u=b+k|0,b=l=b-8|0,y2[u-8>>2]>(0|a););if((0|r)<=(0|(b=c+1|0))&&(n=y2[t>>2],u=y2[t+4>>2],r=y2[4+(b=k+l|0)>>2],y2[t>>2]=y2[b>>2],y2[t+4>>2]=r,r=y2[e+12>>2]+l|0,y2[r>>2]=n,y2[r+4>>2]=u,b=c,r=o),!((0|r)<=(0|b)))break;k=y2[e+12>>2],o=r,c=b}if((0|i)<(0|b)&&A(e,i,b),!((0|r)<(0|f)))break}}(B,0,s-1|0),s=y2[r+8>>2]),!((0|s)<1))for(w=(Z=y2[r+16>>2])+4|0,E=Z+8|0,u=0;;){_=(B=u<<3)+E|0,a=y2[B+Z>>2],v=u;A:{for(;;){if(((k=0)|s)<=(0|(v=(l=v)+1|0)))break A;if(k=y2[_>>2],_=_+8|0,(0|k)!=(0|a))break}k=1}A:if(!((0|l)<(0|u))){for(d=u-1|0,g=y2[A+16>>2],C=1,_=v=B+w|0;;)if(B=y2[g+(y2[_>>2]<<2)>>2],(0|a)==y2[B+208>>2]&&(C&=4!=(0|(B=y2[B+220>>2]))&1!=(0|B)),_=_+8|0,!((0|(d=d+1|0))<(0|l)))break;if(C)for(;;){if(B=y2[g+(y2[v>>2]<<2)>>2],(0|a)==y2[B+208>>2]&&4!=(-2&y2[B+220>>2])&&(y2[B+220>>2]=2),(0|l)<=(0|u))break A;v=v+8|0,u=u+1|0}for(;;){if(B=y2[g+(y2[v>>2]<<2)>>2],(0|a)==y2[B+208>>2]&&2==y2[B+220>>2]&&(y2[B+220>>2]=3,y2[B+224>>2]=0),(0|l)<=(0|u))break A;v=v+8|0,u=u+1|0}}if(u=l+1|0,!k)break}}if(1<=(0|(v=0|N2[y2[y2[f>>2]+36>>2]](f))))for(s=0;;){B=0|N2[y2[y2[f>>2]+40>>2]](f,s),l=y2[B+840>>2];A:{e:{r:{if((u=y2[B+836>>2])&&2!=y2[u+220>>2]){if(2&(d=y2[u+204>>2]))break r;break e}if(!l)break A;if(2==y2[l+220>>2])break A;if(!(2&(d=y2[u+204>>2])))break e;if(2==y2[u+220>>2])break e}4&d||3&U2[l+204|0]||(4!=(-2&y2[l+220>>2])&&(y2[l+220>>2]=1),y2[l+224>>2]=0)}if(2&(k=y2[l+204>>2])&&(4&k|3&d||2!=y2[l+220>>2]&&(4!=(-2&y2[u+220>>2])&&(y2[u+220>>2]=1),y2[u+224>>2]=0)),U2[r+64|0]&&0|N2[y2[y2[f>>2]+28>>2]](f,u,l)){if((0|(l=y2[r+28>>2]))==y2[r+32>>2]&&!((0|(_=l?l<<1:1))<=(0|l))){if(d=0,_&&(y2[6502]=y2[6502]+1,(k=q2(16+(_<<2|3)|0))&&(y2[(d=k+19&-16)-4>>2]=k),l=y2[r+28>>2]),1<=(0|l))for(u=0,k=l;;)if(y2[u+d>>2]=y2[y2[r+36>>2]+u>>2],u=u+4|0,!(k=k-1|0))break;(k=y2[r+36>>2])&&(U2[r+40|0]&&(y2[6503]=y2[6503]+1,$2(y2[k-4>>2]),l=y2[r+28>>2]),y2[r+36>>2]=0),y2[r+36>>2]=d,X2[r+40|0]=1,y2[r+32>>2]=_}y2[r+28>>2]=l+1,y2[y2[r+36>>2]+(l<<2)>>2]=B}}if((0|v)==(0|(s=s+1|0)))break}if(U2[r+64|0]){if(B=y2[r+8>>2],2<=(0|(Z=y2[r+28>>2]))&&!function A(e,r,f){for(var i,a,n,b=0,t=0,o=0,c=0,k=0,u=0,l=0;;){for(a=r,t=y2[e+12>>2],i=y2[t+((r+f|0)/2<<2)>>2],b=f;;){if(c=(0|(u=y2[y2[i+836>>2]+208>>2]))<0)for(k=r-1|0,o=((r<<2)+t|0)-4|0,l=y2[y2[i+840>>2]+208>>2];k=k+1|0,n=y2[(o=o+4|0)>>2],(0|(r=(0|(r=y2[y2[n+836>>2]+208>>2]))<=-1?y2[y2[n+840>>2]+208>>2]:r))<(0|l););else for(k=r-1|0,o=((r<<2)+t|0)-4|0;k=k+1|0,l=y2[(o=o+4|0)>>2],(0|(r=(0|(r=y2[y2[l+836>>2]+208>>2]))<=-1?y2[y2[l+840>>2]+208>>2]:r))<(0|u););if(c)for(r=b+1|0,b=(b<<2)+t|0,u=y2[y2[i+840>>2]+208>>2];c=y2[b>>2],b=b-4|0,r=r-1|0,(0|u)<(0|(t=(0|(t=y2[y2[c+836>>2]+208>>2]))<=-1?y2[y2[c+840>>2]+208>>2]:t)););else for(r=b+1|0,b=(b<<2)+t|0;c=y2[b>>2],b=b-4|0,r=r-1|0,(0|u)<(0|(t=(0|(t=y2[y2[c+836>>2]+208>>2]))<=-1?y2[y2[c+840>>2]+208>>2]:t)););if(b=b+4|0,!((0|(r=(0|r)<(0|k)?(b=r,k):(t=y2[o>>2],y2[o>>2]=y2[b>>2],y2[y2[e+12>>2]+(r<<2)>>2]=t,b=r-1|0,k+1|0)))<=(0|b)))break;t=y2[e+12>>2]}if((0|a)<(0|b)&&A(e,a,b),!((0|r)<(0|f)))break}}(r+24|0,0,Z-1|0),!((0|B)<1))for(g=v=0,E=1;;){s=y2[r+16>>2],C=y2[s+(v<<3)>>2],w=1;A:if(!((0|B)<=(0|v)))for(k=y2[r+52>>2],u=y2[r+48>>2];;){if(d=y2[y2[A+16>>2]+(y2[4+((v<<3)+s|0)>>2]<<2)>>2],(0|k)!=(0|u))l=k,k=u;else if((0|(l=k?k<<1:1))<=(0|k))l=k;else{if(_=0,l&&(y2[6502]=y2[6502]+1,(k=q2(16+(l<<2|3)|0))&&(y2[(_=k+19&-16)-4>>2]=k),k=y2[r+48>>2]),1<=(0|k))for(u=0,s=k;;)if(y2[u+_>>2]=y2[y2[r+56>>2]+u>>2],u=u+4|0,!(s=s-1|0))break;(u=y2[r+56>>2])&&(U2[r+60|0]&&(y2[6503]=y2[6503]+1,$2(y2[u-4>>2]),k=y2[r+48>>2]),y2[r+56>>2]=0),y2[r+56>>2]=_,X2[r+60|0]=1,y2[r+52>>2]=l}if(y2[r+48>>2]=u=k+1|0,y2[y2[r+56>>2]+(k<<2)>>2]=d,w&=5==(0|(k=y2[d+220>>2]))|2==(0|k),(0|B)==(0|(v=v+1|0))){v=B;break A}if(k=l,s=y2[r+16>>2],(0|C)!=y2[s+(v<<3)>>2])break}if(!(((k=d=0)|Z)<=(0|g))&&(s=y2[r+36>>2],u=y2[(l=s+(_=g<<2)|0)>>2],u=k=(0|(k=y2[y2[u+836>>2]+208>>2]))<=-1?y2[y2[u+840>>2]+208>>2]:k,((k=0)|u)==(0|C))){for(u=4+(s+_|0)|0,k=1;;)if(!((0|(E=g+(d=k)|0))<(0|Z)&&(k=y2[u>>2],(0|(s=y2[y2[k+836>>2]+208>>2]))<=-1&&(s=y2[y2[k+840>>2]+208>>2]),u=u+4|0,k=d+1|0,(0|s)==(0|C))))break;k=l}if(w||N2[y2[y2[i>>2]+8>>2]](i,y2[r+56>>2],y2[r+48>>2],k,d,C),(0|(u=y2[r+48>>2]))<=-1)for(y2[r+52>>2]<=-1&&((k=y2[r+56>>2])&&(U2[r+60|0]&&(y2[6503]=y2[6503]+1,$2(y2[k-4>>2])),y2[r+56>>2]=0),X2[r+60|0]=1,y2[r+52>>2]=0,y2[r+56>>2]=0),s=u<<2;;)if(s=s+4|(y2[y2[r+56>>2]+s>>2]=0),!((k=u)>>>0<=(u=k+1|0)>>>0))break;if(g=d?E:g,!(((y2[r+48>>2]=0)|v)<(0|B)))break}}else u=0|N2[y2[y2[f>>2]+44>>2]](f),k=0|N2[y2[y2[f>>2]+36>>2]](f),N2[y2[y2[i>>2]+8>>2]](i,y2[A+16>>2],y2[A+8>>2],u,k,-1);_6(y2[A+212>>2]),k=y2[A+216>>2],N2[y2[y2[k>>2]+16>>2]](k,e,y2[A+72>>2]),L2=16+c|0},function(A,e){A|=0,e=j2(e),j2(0);var r,f,i,a,n,b=0,t=(j2(0),0),o=0,c=0;if(1<=(0|(t=y2[A+248>>2])))for(n=U2[27772];;){A:if(r=y2[y2[A+256>>2]+o>>2]){if((a=(b=y2[r+220>>2])-2|0)-1|0&&a>>>0<=2){if(4==(0|b))break A}else f=H2[r+372>>2],i=j2(f*f),f=H2[r+376>>2],i=j2(i+j2(f*f)),f=H2[r+380>>2],i=j2(i+j2(f*f)),f=H2[r+532>>2],i>2],i=j2(f*f),f=H2[r+392>>2],i=j2(i+j2(f*f)),f=H2[r+396>>2],i=j2(i+j2(f*f)),f=H2[r+536>>2],i>2]=H2[r+224>>2]+e:(y2[r+224>>2]=0,4!=(-2&b)&&(y2[r+220>>2]=b=0));a=-2&b,!n&&(H2[r+224>>2]>j2(2)||2==(0|a))?3&U2[r+204|0]?4!=(0|a)&&(y2[r+220>>2]=2):1==(0|b)?y2[r+220>>2]=3:2==(0|b)&&(y2[r+388>>2]=0,y2[r+392>>2]=0,y2[r+372>>2]=0,y2[r+376>>2]=0,y2[(b=r+396|0)>>2]=0,y2[b+4>>2]=0,y2[(b=r+380|0)>>2]=0,y2[b+4>>2]=0,y2[r+304>>2]=y2[r+304>>2]+2,t=y2[A+248>>2]):4!=(0|a)&&(y2[r+220>>2]=1)}if(o=o+4|0,!((0|(c=c+1|0))<(0|t)))break}},function(A,e){A|=0,e=j2(e);var r,f,i,a=0,n=0;if((a=y2[A+84>>2])&&N2[0|a](A,e),N2[y2[y2[A>>2]+140>>2]](A,e),y2[A+32>>2]=a=0,H2[A+28>>2]=e,f=A+48|0,i=0|N2[y2[y2[A>>2]+20>>2]](A),y2[f>>2]=i,N2[y2[y2[A>>2]+164>>2]](A,e),N2[y2[y2[A>>2]+44>>2]](A),N2[y2[y2[A>>2]+148>>2]](A),H2[A+104>>2]=e,N2[y2[y2[A>>2]+152>>2]](A,A+92|0),N2[y2[y2[A>>2]+144>>2]](A,e),1<=y2[A+296>>2])for(;;)if(r=y2[y2[A+304>>2]+a>>2],N2[y2[y2[r>>2]+8>>2]](r,A,e),a=a+4|0,!((0|(n=n+1|0))>2]))break;N2[y2[y2[A>>2]+156>>2]](A,e),(a=y2[A+80>>2])&&N2[0|a](A,e)},function(A,e){A|=0,e=j2(e);var r,f,i,a,n,b,t,o,c,k,u,l,s,v,B,d,_,g,Z,C,w,E,Q,h,G,F,V,x,p,S,J,M,X,y,U,D,Y=0,m=0,N=0,R=(j2(0),0),I=(j2(0),j2(0),j2(0),0),W=0,T=(j2(0),0);if(j2(0),j2(0),j2(0),j2(0),j2(0),j2(0),j2(0),j2(0),j2(0),j2(0),j2(0),j2(0),j2(0),j2(0),L2=D=L2-512|0,I=y2[A+332>>2],1<=y2[A+324>>2])for(;;)if(T=y2[A+24>>2],N2[y2[y2[T>>2]+16>>2]](T,y2[m+I>>2]),m=m+4|0,I=y2[A+332>>2],!((0|(W=W+1|0))>2]))break;if(I&&(U2[A+336|0]&&(y2[6503]=y2[6503]+1,$2(y2[I-4>>2])),y2[A+332>>2]=0),y2[A+332>>2]=0,y2[A+324>>2]=0,y2[A+328>>2]=0,(X2[A+336|0]=1)<=(0|(V=y2[A+248>>2])))for(U=y2[A+256>>2],t=124+D|0,B=92+D|0,d=72+D|0,T=396+D|0,_=264+D|0,g=248+D|0,Z=232+D|0,s=312+D|0,C=380+D|0,w=364+D|0,k=496+D|0,I=0;;){r=y2[(I<<2)+U>>2],y2[r+268>>2]=1065353216;A:{e:if(!(3<(Y=y2[r+220>>2]-2|0)>>>0))switch(Y-1|0){case 0:case 1:break e;default:break A;}if(!(3&U2[r+204|0])&&(C1(b=r+4|0,H2[r+372>>2],H2[r+376>>2],H2[r+380>>2],r+388|0,e,448+D|0),U2[A+44|0]&&(f=H2[r+276>>2],(a=j2(f*f))!=j2(0))&&(u=H2[496+D>>2],f=j2(u-H2[(c=r+52|0)>>2]),i=j2(f*f),n=H2[500+D>>2],f=j2(n-H2[r+56>>2]),i=j2(i+j2(f*f)),l=H2[504+D>>2],f=j2(l-H2[r+60>>2]),a>2]+4>>2])&&(y2[7115]=y2[7115]+1,Y=y2[A+68>>2],R=0|N2[y2[y2[Y>>2]+36>>2]](Y),Y=y2[4+c>>2],y2[w>>2]=y2[c>>2],y2[4+w>>2]=Y,Y=y2[(m=E=8+c|0)+4>>2],y2[(N=8+w|0)>>2]=y2[m>>2],y2[N+4>>2]=Y,Y=y2[4+k>>2],y2[C>>2]=y2[k>>2],y2[4+C>>2]=Y,Y=y2[(N=8+k|0)+4>>2],y2[(m=8+C|0)>>2]=y2[N>>2],y2[m+4>>2]=Y,y2[360+D>>2]=0,y2[348+D>>2]=1065353216,y2[344+D>>2]=23668,y2[440+D>>2]=y2[A+24>>2],y2[436+D>>2]=R,y2[428+D>>2]=r,y2[s>>2]=0,y2[4+s>>2]=0,y2[(Y=8+s|0)>>2]=0,y2[Y+4>>2]=0,y2[16+s>>2]=0,y2[292+D>>2]=0,y2[296+D>>2]=0,y2[308+D>>2]=1065353216,y2[300+D>>2]=1065353216,y2[304+D>>2]=1065353216,y2[284+D>>2]=8,y2[288+D>>2]=0,y2[280+D>>2]=13244,y2[336+D>>2]=0,Y=y2[r+272>>2],y2[316+D>>2]=Y,y2[332+D>>2]=Y,y2[432+D>>2]=y2[A+56>>2],Y=y2[r+188>>2],y2[352+D>>2]=y2[Y+4>>2],y2[356+D>>2]=y2[Y+8>>2],Y=y2[N+4>>2],y2[(m=8+_|0)>>2]=y2[N>>2],y2[m+4>>2]=Y,Y=y2[4+k>>2],y2[_>>2]=y2[k>>2],y2[4+_>>2]=Y,Y=y2[(m=8+b|0)+4>>2],y2[(N=224+D|0)>>2]=y2[m>>2],y2[N+4>>2]=Y,Y=y2[(m=r+20|0)+4>>2],y2[Z>>2]=y2[m>>2],y2[4+Z>>2]=Y,Y=y2[(m=r+28|0)+4>>2],y2[(N=8+Z|0)>>2]=y2[m>>2],y2[N+4>>2]=Y,Y=y2[(m=r+36|0)+4>>2],y2[g>>2]=y2[m>>2],y2[4+g>>2]=Y,Y=y2[(m=r+44|0)+4>>2],y2[(N=8+g|0)>>2]=y2[m>>2],y2[N+4>>2]=Y,Y=y2[4+b>>2],y2[216+D>>2]=y2[b>>2],y2[220+D>>2]=Y,j1(A,280+D|0,b,216+D|0,344+D|0,j2(0)),m=y2[360+D>>2])&&(o=H2[348+D>>2])>2],i=H2[r+56>>2],Q=H2[r+52>>2],h=H2[404+D>>2],a=H2[400+D>>2],f=H2[396+D>>2],Y=y2[A+24>>2],b=0|N2[y2[y2[Y>>2]+12>>2]](Y,r,m),x=j2(o*j2(n-i)),n=j2(o*j2(u-Q)),v=j2(o*j2(l-v)),i=j2(j2(j2(x*j2(-a))-j2(f*n))-j2(h*v)),(0|(m=y2[A+324>>2]))==y2[A+328>>2]&&!((0|(R=m?m<<1:1))<=(0|m))){if(N=0,R&&(y2[6502]=y2[6502]+1,Y=q2(16+(R<<2|3)|0))&&(y2[(N=Y+19&-16)-4>>2]=Y),1<=(0|m))for(W=0,Y=m;;)if(y2[N+W>>2]=y2[y2[A+332>>2]+W>>2],W=W+4|0,!(Y=Y-1|0))break;(Y=y2[A+332>>2])&&(U2[A+336|0]&&(y2[6503]=y2[6503]+1,$2(y2[Y-4>>2]),m=y2[A+324>>2]),y2[A+332>>2]=0),y2[A+332>>2]=N,X2[A+336|0]=1,y2[A+328>>2]=R}y2[y2[A+332>>2]+(m<<2)>>2]=b,y2[A+324>>2]=m+1,Y=y2[360+D>>2],p=H2[Y+20>>2],S=H2[Y+36>>2],J=H2[Y+40>>2],M=H2[Y+8>>2],X=H2[Y+24>>2],G=H2[Y+60>>2],Q=H2[Y+56>>2],F=H2[Y+52>>2],y=H2[Y+44>>2],o=H2[Y+12>>2],u=H2[Y+28>>2],l=H2[Y+4>>2],h=H2[r+60>>2],a=H2[r+52>>2],f=H2[r+56>>2],y2[(Y=16+D|0)>>2]=0,y2[Y+4>>2]=0,y2[B>>2]=0,y2[4+B>>2]=0,y2[(Y=8+B|0)>>2]=0,y2[Y+4>>2]=0,y2[t>>2]=0,y2[4+t>>2]=0,y2[(Y=8+t|0)>>2]=0,y2[Y+4>>2]=0,y2[(Y=16+t|0)>>2]=0,y2[Y+4>>2]=0,y2[(Y=24+t|0)>>2]=0,y2[Y+4>>2]=0,y2[(Y=32+t|0)>>2]=0,y2[Y+4>>2]=0,y2[(Y=40+t|0)>>2]=0,y2[Y+4>>2]=0,y2[48+t>>2]=0,Y=y2[T+4>>2],y2[d>>2]=y2[T>>2],y2[4+d>>2]=Y,Y=y2[(m=T+8|0)+4>>2],y2[(N=8+d|0)>>2]=y2[m>>2],y2[N+4>>2]=Y,y2[8+D>>2]=0,y2[12+D>>2]=0,y2[36+D>>2]=0,H2[88+D>>2]=i,n=j2(n+a),i=j2(x+f),a=j2(v+h),f=j2(-Q),H2[32+D>>2]=j2(j2(j2(o*n)+j2(u*i))+j2(y*a))+j2(j2(j2(u*f)-j2(o*F))-j2(y*G)),H2[28+D>>2]=j2(j2(j2(n*M)+j2(i*X))+j2(a*J))+j2(j2(j2(X*f)-j2(M*F))-j2(J*G)),H2[24+D>>2]=j2(j2(j2(n*l)+j2(i*p))+j2(a*S))+j2(j2(j2(p*f)-j2(l*F))-j2(S*G)),R=P2(R1(b,8+D|0),208)+b|0,y2[R+100>>2]=0,H2[R+88>>2]=m2(j2(O2(j2(H2[r+228>>2]*H2[y2[360+D>>2]+228>>2]),j2(-10))),j2(10)),Y=y2[4+E>>2],y2[(m=R+60|0)>>2]=y2[E>>2],y2[m+4>>2]=Y,N=y2[4+c>>2],m=y2[c>>2],y2[R+48>>2]=0,H2[R+44>>2]=a,H2[R+40>>2]=i,y2[(Y=R+52|0)>>2]=m,y2[Y+4>>2]=N,H2[R+36>>2]=n}}if((0|V)==(0|(I=I+1|0)))break}L2=512+D|0},function(A,e){A|=0,e=j2(e);var r,f,i,a,n,b,t,o,c,k,u,l=0,s=0,v=(j2(0),j2(0),0),B=0;if(L2=u=L2-32|0,1<=(0|(s=y2[A+8>>2])))for(a=j2(j2(1)/e),l=s;;)if((r=y2[y2[A+16>>2]+v>>2])&&2&y2[r+252>>2]&&2!=y2[r+220>>2]&&(l=(n=2&U2[r+204|0])?s:l,n)&&e!=j2(0)&&((l=y2[r+540>>2])&&N2[y2[y2[l>>2]+8>>2]](l,r+4|0),y2[r+384>>2]=0,H2[(l=r+380|0)>>2]=a*j2(H2[(s=r+60|0)>>2]-H2[(n=r+124|0)>>2]),H2[r+376>>2]=a*j2(H2[r+56>>2]-H2[r+120>>2]),H2[(f=r+372|0)>>2]=a*j2(H2[(b=r+52|0)>>2]-H2[(t=r+116|0)>>2]),g1(r+68|0,r+4|0,16+u|0,12+u|0),y2[r+400>>2]=0,k=H2[12+u>>2],H2[(i=r+396|0)>>2]=a*j2(k*H2[24+u>>2]),H2[r+392>>2]=a*j2(k*H2[20+u>>2]),H2[(o=r+388|0)>>2]=a*j2(k*H2[16+u>>2]),k=y2[l+4>>2],y2[(c=r+140|0)>>2]=y2[l>>2],y2[4+c>>2]=k,l=y2[4+f>>2],y2[r+132>>2]=y2[f>>2],y2[r+136>>2]=l,l=y2[4+o>>2],y2[r+148>>2]=y2[o>>2],y2[r+152>>2]=l,f=y2[4+i>>2],y2[(l=r+156|0)>>2]=y2[i>>2],y2[l+4>>2]=f,l=y2[r+8>>2],y2[r+68>>2]=y2[r+4>>2],y2[r+72>>2]=l,i=y2[4+(f=r+12|0)>>2],y2[(l=r+76|0)>>2]=y2[f>>2],y2[l+4>>2]=i,i=y2[4+(f=r+20|0)>>2],y2[(l=r+84|0)>>2]=y2[f>>2],y2[l+4>>2]=i,i=y2[4+(f=r+28|0)>>2],y2[(l=r+92|0)>>2]=y2[f>>2],y2[l+4>>2]=i,i=y2[4+(f=r+44|0)>>2],y2[(l=r+108|0)>>2]=y2[f>>2],y2[l+4>>2]=i,l=r+100|0,f=y2[4+(r=r+36|0)>>2],y2[l>>2]=y2[r>>2],y2[l+4>>2]=f,l=y2[s+4>>2],y2[n>>2]=y2[s>>2],y2[4+n>>2]=l,l=y2[4+b>>2],y2[t>>2]=y2[b>>2],y2[4+t>>2]=l,l=s=y2[A+8>>2]),v=v+4|0,!((0|(B=B+1|0))<(0|l)))break;L2=32+u|0},function(A,e){A|=0,e|=0;var r,V,f,i=0,a=0,n=0,b=j2(0),t=j2(0),o=j2(0),c=j2(0),k=j2(0),u=j2(0),l=j2(0),s=j2(0),v=j2(0),B=j2(0),d=j2(0),_=j2(0),g=j2(0),Z=0,C=j2(0),w=j2(0),E=j2(0),Q=j2(0),h=j2(0),G=(j2(0),j2(0)),F=j2(0),D=j2(0),Y=0,m=j2(0),N=j2(0),R=j2(0),I=0,W=0,T=0,x=0,p=j2(0),S=0,J=0,M=0,X=0,y=0,U=0,H=j2(0),P=j2(0);L2=f=L2-304|0,i=0|N2[y2[y2[A>>2]+20>>2]](A),N2[y2[y2[i>>2]+8>>2]](176+f|0,i),i=y2[(a=296+f|0)+4>>2],y2[(n=168+f|0)>>2]=y2[a>>2],y2[n+4>>2]=i,i=y2[292+f>>2],y2[160+f>>2]=y2[288+f>>2],y2[164+f>>2]=i,i=0|N2[y2[y2[A>>2]+20>>2]](A),n=0|N2[y2[y2[i>>2]+56>>2]](i),i=0|N2[y2[y2[A>>2]+20>>2]](A),a=0|N2[y2[y2[i>>2]+56>>2]](i),r=H2[e+40>>2];A:if(!(r<=j2(0)||9<(i=y2[e+4>>2]-3|0)>>>0)){V=2048&n,J=4096&a;e:switch(i-1|0){default:if(y2[(Y=156+f|0)>>2]=0,y2[(i=n=148+f|0)>>2]=0,y2[i+4>>2]=0,y2[(i=140+f|0)>>2]=0,y2[i+4>>2]=0,y2[(i=108+f|0)>>2]=0,y2[i+4>>2]=0,y2[(i=120+f|0)>>2]=0,y2[i+4>>2]=0,y2[116+f>>2]=1065353216,y2[136+f>>2]=1065353216,y2[100+f>>2]=0,y2[104+f>>2]=0,y2[128+f>>2]=0,y2[132+f>>2]=0,y2[96+f>>2]=1065353216,i=y2[e+28>>2],G=H2[i+52>>2],l=H2[i+8>>2],d=H2[i+12>>2],B=H2[i+56>>2],s=H2[i+28>>2],v=H2[i+20>>2],u=H2[i+24>>2],c=H2[i+60>>2],k=H2[i+44>>2],o=H2[i+36>>2],t=H2[i+40>>2],b=H2[i+4>>2],a=152+f|(y2[Y>>2]=0),_=c,c=H2[e+300>>2],g=j2(o*c),o=H2[e+304>>2],g=j2(g+j2(t*o)),t=H2[e+308>>2],H2[a>>2]=_+j2(g+j2(k*t)),H2[n>>2]=B+j2(j2(j2(c*v)+j2(o*u))+j2(t*s)),H2[144+f>>2]=G+j2(j2(j2(c*b)+j2(o*l))+j2(t*d)),i=0|N2[y2[y2[A>>2]+20>>2]](A),N2[y2[y2[i>>2]+64>>2]](i,96+f|0,r),i=y2[e+32>>2],G=H2[i+52>>2],l=H2[i+8>>2],d=H2[i+12>>2],B=H2[i+56>>2],s=H2[i+28>>2],v=H2[i+20>>2],u=H2[i+24>>2],c=H2[i+60>>2],k=H2[i+44>>2],o=H2[i+36>>2],t=H2[i+40>>2],b=H2[i+4>>2],y2[Y>>2]=0,_=c,c=H2[e+316>>2],g=j2(o*c),o=H2[e+320>>2],g=j2(g+j2(t*o)),t=H2[e+324>>2],H2[a>>2]=_+j2(g+j2(k*t)),H2[n>>2]=B+j2(j2(j2(c*v)+j2(o*u))+j2(t*s)),H2[144+f>>2]=G+j2(j2(j2(c*b)+j2(o*l))+j2(t*d)),!V)break A;A=0|N2[y2[y2[A>>2]+20>>2]](A),N2[y2[y2[A>>2]+64>>2]](A,96+f|0,r);break A;case 0:if(i=y2[e+28>>2],o=H2[i+52>>2],g=H2[i+8>>2],C=H2[i+12>>2],m=H2[e+584>>2],N=H2[e+552>>2],R=H2[e+568>>2],t=H2[i+56>>2],b=H2[i+60>>2],G=H2[e+608>>2],l=H2[e+600>>2],d=H2[e+604>>2],_=H2[i+28>>2],w=H2[i+20>>2],E=H2[i+24>>2],B=H2[e+588>>2],s=H2[e+556>>2],v=H2[e+572>>2],u=H2[e+592>>2],Q=H2[i+44>>2],c=H2[e+560>>2],h=H2[i+36>>2],k=H2[e+576>>2],F=H2[i+40>>2],D=H2[i+4>>2],y2[156+f>>2]=0,y2[140+f>>2]=0,y2[124+f>>2]=0,H2[136+f>>2]=j2(j2(c*h)+j2(k*F))+j2(u*Q),H2[132+f>>2]=j2(j2(s*h)+j2(v*F))+j2(B*Q),H2[120+f>>2]=j2(j2(c*w)+j2(k*E))+j2(u*_),H2[116+f>>2]=j2(j2(s*w)+j2(v*E))+j2(B*_),H2[152+f>>2]=b+j2(j2(j2(h*l)+j2(F*d))+j2(Q*G)),H2[148+f>>2]=t+j2(j2(j2(w*l)+j2(E*d))+j2(_*G)),y2[108+f>>2]=0,H2[128+f>>2]=j2(j2(N*h)+j2(R*F))+j2(m*Q),H2[112+f>>2]=j2(j2(N*w)+j2(R*E))+j2(m*_),H2[104+f>>2]=j2(j2(D*c)+j2(g*k))+j2(C*u),H2[100+f>>2]=j2(j2(D*s)+j2(g*v))+j2(C*B),H2[96+f>>2]=j2(j2(N*D)+j2(R*g))+j2(m*C),H2[144+f>>2]=o+j2(j2(j2(D*l)+j2(g*d))+j2(C*G)),V?(i=0|N2[y2[y2[A>>2]+20>>2]](A),N2[y2[y2[i>>2]+64>>2]](i,96+f|0,r),i=y2[e+32>>2],o=H2[i+52>>2],g=H2[i+8>>2],C=H2[i+12>>2],t=H2[i+56>>2],b=H2[i+60>>2],m=H2[e+672>>2],N=H2[e+664>>2],R=H2[e+668>>2],_=H2[i+28>>2],w=H2[i+20>>2],E=H2[i+24>>2],G=H2[e+648>>2],l=H2[e+616>>2],d=H2[e+632>>2],B=H2[e+652>>2],s=H2[e+620>>2],v=H2[e+636>>2],u=H2[e+656>>2],Q=H2[i+44>>2],c=H2[e+624>>2],h=H2[i+36>>2],k=H2[e+640>>2],F=H2[i+40>>2],D=H2[i+4>>2],y2[156+f>>2]=0,y2[140+f>>2]=0,y2[124+f>>2]=0,H2[136+f>>2]=j2(j2(c*h)+j2(k*F))+j2(u*Q),H2[132+f>>2]=j2(j2(s*h)+j2(v*F))+j2(B*Q),H2[128+f>>2]=j2(j2(l*h)+j2(d*F))+j2(G*Q),H2[120+f>>2]=j2(j2(c*w)+j2(k*E))+j2(u*_),H2[116+f>>2]=j2(j2(s*w)+j2(v*E))+j2(B*_),H2[152+f>>2]=b+j2(j2(j2(h*N)+j2(F*R))+j2(Q*m)),H2[148+f>>2]=t+j2(j2(j2(w*N)+j2(E*R))+j2(_*m)),H2[144+f>>2]=o+j2(j2(j2(D*N)+j2(g*R))+j2(C*m)),y2[108+f>>2]=0,H2[112+f>>2]=j2(j2(l*w)+j2(d*E))+j2(G*_),H2[104+f>>2]=j2(j2(D*c)+j2(g*k))+j2(C*u),H2[100+f>>2]=j2(j2(D*s)+j2(g*v))+j2(C*B),H2[96+f>>2]=j2(j2(l*D)+j2(d*g))+j2(G*C),i=0|N2[y2[y2[A>>2]+20>>2]](A),N2[y2[y2[i>>2]+64>>2]](i,96+f|0,r)):(i=y2[e+32>>2],o=H2[i+52>>2],t=H2[i+56>>2],b=H2[i+60>>2],m=H2[e+672>>2],N=H2[e+664>>2],R=H2[e+668>>2],g=H2[i+8>>2],C=H2[i+12>>2],_=H2[i+28>>2],w=H2[i+20>>2],E=H2[i+24>>2],G=H2[e+648>>2],l=H2[e+616>>2],d=H2[e+632>>2],B=H2[e+652>>2],s=H2[e+620>>2],v=H2[e+636>>2],u=H2[e+656>>2],Q=H2[i+44>>2],c=H2[e+624>>2],h=H2[i+36>>2],k=H2[e+640>>2],F=H2[i+40>>2],D=H2[i+4>>2],y2[156+f>>2]=0,y2[140+f>>2]=0,y2[124+f>>2]=0,y2[108+f>>2]=0,H2[136+f>>2]=j2(j2(c*h)+j2(k*F))+j2(u*Q),H2[132+f>>2]=j2(j2(s*h)+j2(v*F))+j2(B*Q),H2[128+f>>2]=j2(j2(l*h)+j2(d*F))+j2(G*Q),H2[120+f>>2]=j2(j2(c*w)+j2(k*E))+j2(u*_),H2[116+f>>2]=j2(j2(s*w)+j2(v*E))+j2(B*_),H2[112+f>>2]=j2(j2(l*w)+j2(d*E))+j2(G*_),H2[104+f>>2]=j2(j2(D*c)+j2(g*k))+j2(C*u),H2[100+f>>2]=j2(j2(D*s)+j2(g*v))+j2(C*B),H2[96+f>>2]=j2(j2(l*D)+j2(d*g))+j2(G*C),H2[152+f>>2]=b+j2(j2(j2(h*N)+j2(F*R))+j2(Q*m)),H2[148+f>>2]=t+j2(j2(j2(w*N)+j2(E*R))+j2(_*m)),H2[144+f>>2]=o+j2(j2(j2(D*N)+j2(g*R))+j2(C*m))),b=H2[e+688>>2],t=H2[e+692>>2],(o=b2(j2(b-t)))j2(3.1415927410125732)&&(o=j2(o+j2(-6.2831854820251465))),(k=b2(j2(b+t)))j2(3.1415927410125732)&&(k=j2(k+j2(-6.2831854820251465))),o==k)break A;if(!J)break A;y2[80+f>>2]=y2[104+f>>2],y2[84+f>>2]=y2[120+f>>2],y2[92+f>>2]=0,y2[88+f>>2]=y2[136+f>>2],y2[64+f>>2]=y2[96+f>>2],y2[68+f>>2]=y2[112+f>>2],y2[76+f>>2]=0,y2[72+f>>2]=y2[128+f>>2],A=0|N2[y2[y2[A>>2]+20>>2]](A),e=t>j2(0),N2[y2[y2[A>>2]+68>>2]](A,144+f|0,80+f|0,f+64|0,r,r,e?o:j2(0),e?k:j2(6.2831854820251465),160+f|0,e,j2(10));break A;case 1:if(i=y2[e+28>>2],o=H2[i+52>>2],g=H2[i+8>>2],C=H2[i+12>>2],m=H2[e+332>>2],N=H2[e+300>>2],R=H2[e+316>>2],t=H2[i+56>>2],b=H2[i+60>>2],G=H2[e+356>>2],l=H2[e+348>>2],d=H2[e+352>>2],_=H2[i+28>>2],w=H2[i+20>>2],E=H2[i+24>>2],B=H2[e+336>>2],s=H2[e+304>>2],v=H2[e+320>>2],u=H2[e+340>>2],Q=H2[i+44>>2],c=H2[e+308>>2],h=H2[i+36>>2],k=H2[e+324>>2],F=H2[i+40>>2],D=H2[i+4>>2],y2[156+f>>2]=0,y2[140+f>>2]=0,y2[124+f>>2]=0,H2[136+f>>2]=j2(j2(c*h)+j2(k*F))+j2(u*Q),H2[132+f>>2]=j2(j2(s*h)+j2(v*F))+j2(B*Q),H2[120+f>>2]=j2(j2(c*w)+j2(k*E))+j2(u*_),H2[116+f>>2]=j2(j2(s*w)+j2(v*E))+j2(B*_),H2[152+f>>2]=b+j2(j2(j2(h*l)+j2(F*d))+j2(Q*G)),H2[148+f>>2]=t+j2(j2(j2(w*l)+j2(E*d))+j2(_*G)),y2[108+f>>2]=0,H2[128+f>>2]=j2(j2(N*h)+j2(R*F))+j2(m*Q),H2[112+f>>2]=j2(j2(N*w)+j2(R*E))+j2(m*_),H2[104+f>>2]=j2(j2(D*c)+j2(g*k))+j2(C*u),H2[100+f>>2]=j2(j2(D*s)+j2(g*v))+j2(C*B),H2[96+f>>2]=j2(j2(N*D)+j2(R*g))+j2(m*C),H2[144+f>>2]=o+j2(j2(j2(D*l)+j2(g*d))+j2(C*G)),V?(i=0|N2[y2[y2[A>>2]+20>>2]](A),N2[y2[y2[i>>2]+64>>2]](i,96+f|0,r),i=y2[e+32>>2],o=H2[i+52>>2],g=H2[i+8>>2],C=H2[i+12>>2],t=H2[i+56>>2],b=H2[i+60>>2],m=H2[e+420>>2],N=H2[e+412>>2],R=H2[e+416>>2],_=H2[i+28>>2],w=H2[i+20>>2],E=H2[i+24>>2],G=H2[e+396>>2],l=H2[e+364>>2],d=H2[e+380>>2],B=H2[e+400>>2],s=H2[e+368>>2],v=H2[e+384>>2],u=H2[e+404>>2],Q=H2[i+44>>2],c=H2[e+372>>2],h=H2[i+36>>2],k=H2[e+388>>2],F=H2[i+40>>2],D=H2[i+4>>2],y2[156+f>>2]=0,y2[140+f>>2]=0,y2[124+f>>2]=0,H2[136+f>>2]=j2(j2(c*h)+j2(k*F))+j2(u*Q),H2[132+f>>2]=j2(j2(s*h)+j2(v*F))+j2(B*Q),H2[128+f>>2]=j2(j2(l*h)+j2(d*F))+j2(G*Q),H2[120+f>>2]=j2(j2(c*w)+j2(k*E))+j2(u*_),H2[116+f>>2]=j2(j2(s*w)+j2(v*E))+j2(B*_),H2[152+f>>2]=b+j2(j2(j2(h*N)+j2(F*R))+j2(Q*m)),H2[148+f>>2]=t+j2(j2(j2(w*N)+j2(E*R))+j2(_*m)),H2[144+f>>2]=o+j2(j2(j2(D*N)+j2(g*R))+j2(C*m)),y2[108+f>>2]=0,H2[112+f>>2]=j2(j2(l*w)+j2(d*E))+j2(G*_),H2[104+f>>2]=j2(j2(D*c)+j2(g*k))+j2(C*u),H2[100+f>>2]=j2(j2(D*s)+j2(g*v))+j2(C*B),H2[96+f>>2]=j2(j2(l*D)+j2(d*g))+j2(G*C),i=0|N2[y2[y2[A>>2]+20>>2]](A),N2[y2[y2[i>>2]+64>>2]](i,96+f|0,r)):(i=y2[e+32>>2],o=H2[i+52>>2],t=H2[i+56>>2],b=H2[i+60>>2],m=H2[e+420>>2],N=H2[e+412>>2],R=H2[e+416>>2],g=H2[i+8>>2],C=H2[i+12>>2],_=H2[i+28>>2],w=H2[i+20>>2],E=H2[i+24>>2],G=H2[e+396>>2],l=H2[e+364>>2],d=H2[e+380>>2],B=H2[e+400>>2],s=H2[e+368>>2],v=H2[e+384>>2],u=H2[e+404>>2],Q=H2[i+44>>2],c=H2[e+372>>2],h=H2[i+36>>2],k=H2[e+388>>2],F=H2[i+40>>2],D=H2[i+4>>2],y2[156+f>>2]=0,y2[140+f>>2]=0,y2[124+f>>2]=0,y2[108+f>>2]=0,H2[136+f>>2]=j2(j2(c*h)+j2(k*F))+j2(u*Q),H2[132+f>>2]=j2(j2(s*h)+j2(v*F))+j2(B*Q),H2[128+f>>2]=j2(j2(l*h)+j2(d*F))+j2(G*Q),H2[120+f>>2]=j2(j2(c*w)+j2(k*E))+j2(u*_),H2[116+f>>2]=j2(j2(s*w)+j2(v*E))+j2(B*_),H2[112+f>>2]=j2(j2(l*w)+j2(d*E))+j2(G*_),H2[104+f>>2]=j2(j2(D*c)+j2(g*k))+j2(C*u),H2[100+f>>2]=j2(j2(D*s)+j2(g*v))+j2(C*B),H2[96+f>>2]=j2(j2(l*D)+j2(d*g))+j2(G*C),H2[152+f>>2]=b+j2(j2(j2(h*N)+j2(F*R))+j2(Q*m)),H2[148+f>>2]=t+j2(j2(j2(w*N)+j2(E*R))+j2(_*m)),H2[144+f>>2]=o+j2(j2(j2(D*N)+j2(g*R))+j2(C*m))),!J)break A;for(y2[92+f>>2]=0,b=H2[e+448>>2],c=j2(j2(1)/j2(b*b)),b=H2[e+444>>2],b=j2(j2(K2(j2(j2(1.0395662784576416)/j2(c+j2(j2(.0395662896335125)/j2(b*b))))))*j2(.5)),c=j2(R2(b)/j2(.9999999403953552)),l=j2(c*j2(.9807851910591125)),d=I2(b),k=j2(d*j2(0)),s=j2(c*j2(0)),o=j2(s*j2(0)),v=j2(j2(k+o)-j2(l*r)),t=j2(l*j2(0)),B=j2(c*j2(.19509069621562958)),b=j2(B*j2(0)),u=j2(j2(j2(d*r)+t)-b),c=j2(j2(j2(r*j2(c*j2(-0)))-t)-b),b=j2(j2(k+j2(B*r))-o),o=j2(j2(l*v)+j2(j2(j2(d*u)-j2(s*c))-j2(B*b))),t=j2(j2(B*u)+j2(j2(j2(d*b)-j2(l*c))-j2(s*v))),b=j2(j2(s*b)+j2(j2(j2(d*v)-j2(B*c))-j2(l*u))),H2[88+f>>2]=j2(j2(j2(o*H2[128+f>>2])+j2(t*H2[132+f>>2]))+j2(b*H2[136+f>>2]))+H2[152+f>>2],H2[84+f>>2]=j2(j2(j2(o*H2[112+f>>2])+j2(t*H2[116+f>>2]))+j2(b*H2[120+f>>2]))+H2[148+f>>2],H2[80+f>>2]=j2(j2(j2(o*H2[96+f>>2])+j2(t*H2[100+f>>2]))+j2(b*H2[104+f>>2]))+H2[144+f>>2],Y=144+f|0;;)if(o=I2(b=j2(j2(j2(0|Z)*j2(6.283185005187988))*j2(.03125))),u=R2(b),k=H2[e+444>>2],j2(z2(o))>j2(1.1920928955078125e-7)?(H=j2(u*u),p=j2(o*o),t=j2(H/p),b=H2[e+448>>2],k=j2(K2(j2(j2(t+j2(1))/j2(j2(j2(1)/j2(b*b))+j2(t/j2(k*k))))))):(H=j2(u*u),p=j2(o*o)),y2[76+f>>2]=0,b=j2(k*j2(.5)),c=j2(R2(b)/j2(K2(j2(H+j2(p+j2(0)))))),l=j2(o*c),d=I2(b),k=j2(d*j2(0)),s=j2(c*j2(0)),o=j2(s*j2(0)),v=j2(j2(k+o)-j2(l*r)),t=j2(l*j2(0)),B=j2(c*j2(-u)),b=j2(B*j2(0)),u=j2(j2(j2(d*r)+t)-b),c=j2(j2(j2(r*j2(c*j2(-0)))-t)-b),b=j2(j2(k+j2(B*r))-o),o=j2(j2(l*v)+j2(j2(j2(d*u)-j2(s*c))-j2(B*b))),t=j2(j2(B*u)+j2(j2(j2(d*b)-j2(l*c))-j2(s*v))),b=j2(j2(s*b)+j2(j2(j2(d*v)-j2(B*c))-j2(l*u))),H2[72+f>>2]=j2(j2(j2(o*H2[128+f>>2])+j2(t*H2[132+f>>2]))+j2(b*H2[136+f>>2]))+H2[152+f>>2],H2[68+f>>2]=j2(j2(j2(o*H2[112+f>>2])+j2(t*H2[116+f>>2]))+j2(b*H2[120+f>>2]))+H2[148+f>>2],H2[64+f>>2]=j2(j2(j2(o*H2[96+f>>2])+j2(t*H2[100+f>>2]))+j2(b*H2[104+f>>2]))+H2[144+f>>2],i=0|N2[y2[y2[A>>2]+20>>2]](A),N2[y2[y2[i>>2]+16>>2]](i,80+f|0,f+64|0,160+f|0),3&Z||(i=0|N2[y2[y2[A>>2]+20>>2]](A),N2[y2[y2[i>>2]+16>>2]](i,Y,f+64|0,160+f|0)),i=y2[(a=72+f|0)+4>>2],y2[(n=88+f|0)>>2]=y2[a>>2],y2[n+4>>2]=i,i=y2[68+f>>2],y2[80+f>>2]=y2[64+f>>2],y2[84+f>>2]=i,32==(0|(Z=Z+1|0)))break;F=H2[e+512>>2],D=H2[e+452>>2],Z=y2[e+32>>2],k=(c=(u=(v=(_=(p=(l=(H=(b=H2[Z+404>>2]>j2(0)?(p=H2[Z+36>>2],t=H2[e+412>>2],l=H2[Z+40>>2],b=H2[e+416>>2],m=j2(j2(p*t)+j2(l*b)),g=H2[Z+20>>2],C=H2[Z+24>>2],_=H2[Z+28>>2],d=H2[e+420>>2],N=j2(j2(j2(g*t)+j2(C*b))+j2(_*d)),w=H2[Z+4>>2],E=H2[Z+8>>2],Q=H2[Z+12>>2],R=j2(j2(j2(w*t)+j2(E*b))+j2(Q*d)),B=H2[e+372>>2],s=H2[e+388>>2],v=H2[e+404>>2],h=H2[Z+44>>2],G=j2(j2(j2(B*p)+j2(s*l))+j2(v*h)),u=H2[e+368>>2],c=H2[e+384>>2],k=H2[e+400>>2],P=j2(j2(j2(u*p)+j2(c*l))+j2(k*h)),o=H2[e+364>>2],t=H2[e+380>>2],H2[e+396>>2]):(Z=y2[e+28>>2],p=H2[Z+36>>2],t=H2[e+348>>2],l=H2[Z+40>>2],b=H2[e+352>>2],m=j2(j2(p*t)+j2(l*b)),g=H2[Z+20>>2],C=H2[Z+24>>2],_=H2[Z+28>>2],d=H2[e+356>>2],N=j2(j2(j2(g*t)+j2(C*b))+j2(_*d)),w=H2[Z+4>>2],E=H2[Z+8>>2],Q=H2[Z+12>>2],R=j2(j2(j2(w*t)+j2(E*b))+j2(Q*d)),B=H2[e+308>>2],s=H2[e+324>>2],v=H2[e+340>>2],h=H2[Z+44>>2],G=j2(j2(j2(B*p)+j2(s*l))+j2(v*h)),u=H2[e+304>>2],c=H2[e+320>>2],k=H2[e+336>>2],P=j2(j2(j2(u*p)+j2(c*l))+j2(k*h)),o=H2[e+300>>2],t=H2[e+316>>2],H2[e+332>>2]),j2(j2(j2(o*p)+j2(t*l))+j2(b*h))),j2(j2(j2(B*g)+j2(s*C))+j2(v*_))),j2(j2(j2(u*g)+j2(c*C))+j2(k*_))),j2(j2(j2(o*g)+j2(t*C))+j2(b*_))),j2(j2(j2(w*B)+j2(E*s))+j2(Q*v))),j2(j2(j2(w*u)+j2(E*c))+j2(Q*k))),j2(j2(j2(o*w)+j2(t*E))+j2(b*Q))),j2(h*d)),y2[140+f>>2]=0,H2[136+f>>2]=G,H2[132+f>>2]=P,H2[128+f>>2]=H,y2[124+f>>2]=0,H2[120+f>>2]=l,H2[116+f>>2]=p,H2[112+f>>2]=_,y2[108+f>>2]=0,H2[104+f>>2]=v,H2[100+f>>2]=u,H2[96+f>>2]=c,o=H2[Z+52>>2],t=H2[Z+56>>2],b=H2[Z+60>>2],y2[156+f>>2]=0,H2[152+f>>2]=b+j2(m+k),H2[148+f>>2]=N+t,H2[144+f>>2]=o+R,e=y2[(i=Y+8|0)+4>>2],y2[(a=72+f|0)>>2]=y2[i>>2],y2[a+4>>2]=e,e=y2[Y+4>>2],y2[64+f>>2]=y2[Y>>2],y2[68+f>>2]=e,y2[60+f>>2]=0,H2[56+f>>2]=H,H2[52+f>>2]=_,H2[48+f>>2]=c,y2[44+f>>2]=0,H2[40+f>>2]=P,H2[36+f>>2]=p,H2[32+f>>2]=u,A=0|N2[y2[y2[A>>2]+20>>2]](A),N2[y2[y2[A>>2]+68>>2]](A,f+64|0,48+f|0,32+f|0,r,r,j2(j2(-F)-D),j2(D-F),160+f|0,1,j2(10));break A;case 2:case 5:if(i=y2[(a=e+1072|0)+4>>2],y2[(n=Y=104+f|0)>>2]=y2[a>>2],y2[n+4>>2]=i,i=y2[(a=e+1088|0)+4>>2],y2[(n=120+f|0)>>2]=y2[a>>2],y2[n+4>>2]=i,i=y2[(a=e+1104|0)+4>>2],y2[(n=136+f|0)>>2]=y2[a>>2],y2[n+4>>2]=i,i=y2[(a=e+1120|0)+4>>2],y2[(n=152+f|0)>>2]=y2[a>>2],y2[n+4>>2]=i,i=y2[(a=M=e+1064|0)+4>>2],y2[96+f>>2]=y2[a>>2],y2[100+f>>2]=i,i=y2[(a=X=e+1080|0)+4>>2],y2[112+f>>2]=y2[a>>2],y2[116+f>>2]=i,i=y2[(a=y=e+1096|0)+4>>2],y2[128+f>>2]=y2[a>>2],y2[132+f>>2]=i,i=y2[(a=x=e+1112|0)+4>>2],y2[144+f>>2]=y2[a>>2],y2[148+f>>2]=i,I=144+f|0,W=128+f|0,T=112+f|0,V?(i=0|N2[y2[y2[A>>2]+20>>2]](A),N2[y2[y2[i>>2]+64>>2]](i,96+f|0,r),i=y2[(a=e+1184|0)+4>>2],y2[(n=I+8|0)>>2]=y2[a>>2],y2[n+4>>2]=i,i=y2[(a=e+1176|0)+4>>2],y2[I>>2]=y2[a>>2],y2[I+4>>2]=i,i=y2[(a=e+1144|0)+4>>2],y2[T>>2]=y2[a>>2],y2[T+4>>2]=i,i=y2[(a=e+1152|0)+4>>2],y2[(n=T+8|0)>>2]=y2[a>>2],y2[n+4>>2]=i,i=y2[(a=e+1160|0)+4>>2],y2[W>>2]=y2[a>>2],y2[W+4>>2]=i,i=y2[(a=e+1168|0)+4>>2],y2[(n=W+8|0)>>2]=y2[a>>2],y2[n+4>>2]=i,i=y2[(a=e+1136|0)+4>>2],y2[Y>>2]=y2[a>>2],y2[Y+4>>2]=i,i=y2[(a=e+1128|0)+4>>2],y2[96+f>>2]=y2[a>>2],y2[100+f>>2]=i,i=0|N2[y2[y2[A>>2]+20>>2]](A),N2[y2[y2[i>>2]+64>>2]](i,96+f|0,r)):(i=y2[(a=e+1136|0)+4>>2],y2[Y>>2]=y2[a>>2],y2[Y+4>>2]=i,i=y2[(a=e+1144|0)+4>>2],y2[T>>2]=y2[a>>2],y2[T+4>>2]=i,i=y2[(a=e+1152|0)+4>>2],y2[(n=T+8|0)>>2]=y2[a>>2],y2[n+4>>2]=i,i=y2[(a=e+1160|0)+4>>2],y2[W>>2]=y2[a>>2],y2[W+4>>2]=i,i=y2[(a=e+1168|0)+4>>2],y2[(n=W+8|0)>>2]=y2[a>>2],y2[n+4>>2]=i,i=y2[(a=e+1176|0)+4>>2],y2[I>>2]=y2[a>>2],y2[I+4>>2]=i,i=y2[(a=e+1184|0)+4>>2],y2[(n=I+8|0)>>2]=y2[a>>2],y2[n+4>>2]=i,i=y2[(a=e+1128|0)+4>>2],y2[96+f>>2]=y2[a>>2],y2[100+f>>2]=i),!J)break A;i=y2[X+4>>2],y2[T>>2]=y2[X>>2],y2[T+4>>2]=i,i=y2[y+4>>2],y2[W>>2]=y2[y>>2],y2[W+4>>2]=i,i=y2[x+4>>2],y2[I>>2]=y2[x>>2],y2[I+4>>2]=i,i=y2[(a=M+8|0)+4>>2],n=U=104+f|0,Y=y2[a>>2],y2[n>>2]=Y,y2[n+4>>2]=i,i=y2[(a=X+8|0)+4>>2],y2[(n=S=T+8|0)>>2]=y2[a>>2],y2[n+4>>2]=i,i=y2[(a=y+8|0)+4>>2],y2[(n=J=W+8|0)>>2]=y2[a>>2],y2[n+4>>2]=i,i=y2[(a=x+8|0)+4>>2],y2[(n=Z=I+8|0)>>2]=y2[a>>2],y2[n+4>>2]=i,i=y2[M+4>>2],y2[96+f>>2]=y2[M>>2],y2[100+f>>2]=i,y2[80+f>>2]=Y,y2[84+f>>2]=y2[120+f>>2],y2[92+f>>2]=0,y2[88+f>>2]=y2[136+f>>2],y2[64+f>>2]=y2[96+f>>2],y2[68+f>>2]=y2[112+f>>2],y2[76+f>>2]=0,y2[72+f>>2]=y2[128+f>>2],k=H2[e+932>>2],o=H2[e+936>>2],t=H2[e+996>>2],b=H2[e+1e3>>2],i=0|N2[y2[y2[A>>2]+20>>2]](A),N2[y2[y2[i>>2]+72>>2]](i,n=e+1176|0,80+f|0,f+64|0,j2(r*j2(.8999999761581421)),k,o,t,b,160+f|0,j2(10),1),y2[76+f>>2]=0,v=H2[(i=132+f|0)>>2],y2[72+f>>2]=y2[i>>2],t=H2[(i=116+f|0)>>2],y2[68+f>>2]=y2[i>>2],b=H2[100+f>>2],y2[64+f>>2]=y2[100+f>>2],u=H2[e+1196>>2],o=H2[e+1200>>2],i=y2[(a=e+1136|0)+4>>2],y2[U>>2]=y2[a>>2],y2[U+4>>2]=i,i=y2[(a=e+1144|0)+4>>2],y2[T>>2]=y2[a>>2],y2[T+4>>2]=i,i=y2[e+1156>>2],y2[S>>2]=y2[e+1152>>2],y2[S+4>>2]=i,i=y2[(a=e+1160|0)+4>>2],y2[W>>2]=y2[a>>2],y2[W+4>>2]=i,i=y2[(a=e+1168|0)+4>>2],y2[J>>2]=y2[a>>2],y2[J+4>>2]=i,i=y2[n+4>>2],y2[I>>2]=y2[n>>2],y2[I+4>>2]=i,i=y2[(a=e+1184|0)+4>>2],y2[Z>>2]=y2[a>>2],y2[Z+4>>2]=i,s=R2(o),c=I2(o),H2[52+f>>2]=j2(c*t)-j2(s*b),i=y2[(a=e+1128|0)+4>>2],y2[96+f>>2]=y2[a>>2],y2[100+f>>2]=i,k=R2(u),o=I2(u),H2[56+f>>2]=j2(j2(j2(c*k)*b)+j2(j2(k*s)*t))+j2(o*v),H2[48+f>>2]=j2(j2(j2(o*c)*b)+j2(j2(o*s)*t))-j2(k*v),y2[44+f>>2]=0,H2[40+f>>2]=-H2[128+f>>2],H2[36+f>>2]=-H2[112+f>>2],H2[32+f>>2]=-H2[96+f>>2],t=H2[e+868>>2],(b=H2[e+872>>2])>2]+20>>2]](A),N2[y2[y2[i>>2]+68>>2]](i,n,32+f|0,48+f|0,r,r,j2(-3.1415927410125732),j2(3.1415927410125732),160+f|0,0,j2(10))):t>2]+20>>2]](A),N2[y2[y2[i>>2]+68>>2]](i,n,32+f|0,48+f|0,r,r,t,b,160+f|0,1,j2(10))),i=y2[X+4>>2],y2[T>>2]=y2[X>>2],y2[T+4>>2]=i,i=y2[y+4>>2],y2[W>>2]=y2[y>>2],y2[W+4>>2]=i,i=y2[x+4>>2],y2[I>>2]=y2[x>>2],y2[I+4>>2]=i,i=y2[(a=M+8|0)+4>>2],y2[(n=104+f|0)>>2]=y2[a>>2],y2[n+4>>2]=i,i=y2[(a=X+8|0)+4>>2],y2[(n=T+8|0)>>2]=y2[a>>2],y2[n+4>>2]=i,i=y2[(a=y+8|0)+4>>2],y2[(n=W+8|0)>>2]=y2[a>>2],y2[n+4>>2]=i,i=y2[(a=x+8|0)+4>>2],y2[(n=I+8|0)>>2]=y2[a>>2],y2[n+4>>2]=i,i=y2[M+4>>2],y2[96+f>>2]=y2[M>>2],y2[100+f>>2]=i,i=y2[(a=e+688|0)+4>>2],y2[(n=24+f|0)>>2]=y2[a>>2],y2[n+4>>2]=i,i=y2[(a=e+680|0)+4>>2],y2[16+f>>2]=y2[a>>2],y2[20+f>>2]=i,i=y2[(a=e+704|0)+4>>2],y2[(n=8+f|0)>>2]=y2[a>>2],y2[n+4>>2]=i,e=y2[(i=e+696|0)+4>>2],y2[f>>2]=y2[i>>2],y2[4+f>>2]=e,A=0|N2[y2[y2[A>>2]+20>>2]](A),N2[y2[y2[A>>2]+80>>2]](A,16+f|0,f,96+f|0,160+f|0);break A;case 8:if(i=y2[(a=e+1244|0)+4>>2],y2[(n=Y=104+f|0)>>2]=y2[a>>2],y2[n+4>>2]=i,i=y2[(a=e+1260|0)+4>>2],y2[(n=120+f|0)>>2]=y2[a>>2],y2[n+4>>2]=i,i=y2[(a=e+1276|0)+4>>2],y2[(n=136+f|0)>>2]=y2[a>>2],y2[n+4>>2]=i,i=y2[(a=e+1292|0)+4>>2],y2[(n=152+f|0)>>2]=y2[a>>2],y2[n+4>>2]=i,i=y2[(a=M=e+1236|0)+4>>2],y2[96+f>>2]=y2[a>>2],y2[100+f>>2]=i,i=y2[(a=X=e+1252|0)+4>>2],y2[112+f>>2]=y2[a>>2],y2[116+f>>2]=i,i=y2[(a=y=e+1268|0)+4>>2],y2[128+f>>2]=y2[a>>2],y2[132+f>>2]=i,i=y2[(a=x=e+1284|0)+4>>2],y2[144+f>>2]=y2[a>>2],y2[148+f>>2]=i,I=144+f|0,W=128+f|0,T=112+f|0,V?(i=0|N2[y2[y2[A>>2]+20>>2]](A),N2[y2[y2[i>>2]+64>>2]](i,96+f|0,r),i=y2[(a=e+1356|0)+4>>2],y2[(n=I+8|0)>>2]=y2[a>>2],y2[n+4>>2]=i,i=y2[(a=e+1348|0)+4>>2],y2[I>>2]=y2[a>>2],y2[I+4>>2]=i,i=y2[(a=e+1316|0)+4>>2],y2[T>>2]=y2[a>>2],y2[T+4>>2]=i,i=y2[(a=e+1324|0)+4>>2],y2[(n=T+8|0)>>2]=y2[a>>2],y2[n+4>>2]=i,i=y2[(a=e+1332|0)+4>>2],y2[W>>2]=y2[a>>2],y2[W+4>>2]=i,i=y2[(a=e+1340|0)+4>>2],y2[(n=W+8|0)>>2]=y2[a>>2],y2[n+4>>2]=i,i=y2[(a=e+1308|0)+4>>2],y2[Y>>2]=y2[a>>2],y2[Y+4>>2]=i,i=y2[(a=e+1300|0)+4>>2],y2[96+f>>2]=y2[a>>2],y2[100+f>>2]=i,i=0|N2[y2[y2[A>>2]+20>>2]](A),N2[y2[y2[i>>2]+64>>2]](i,96+f|0,r)):(i=y2[(a=e+1308|0)+4>>2],y2[Y>>2]=y2[a>>2],y2[Y+4>>2]=i,i=y2[(a=e+1316|0)+4>>2],y2[T>>2]=y2[a>>2],y2[T+4>>2]=i,i=y2[(a=e+1324|0)+4>>2],y2[(n=T+8|0)>>2]=y2[a>>2],y2[n+4>>2]=i,i=y2[(a=e+1332|0)+4>>2],y2[W>>2]=y2[a>>2],y2[W+4>>2]=i,i=y2[(a=e+1340|0)+4>>2],y2[(n=W+8|0)>>2]=y2[a>>2],y2[n+4>>2]=i,i=y2[(a=e+1348|0)+4>>2],y2[I>>2]=y2[a>>2],y2[I+4>>2]=i,i=y2[(a=e+1356|0)+4>>2],y2[(n=I+8|0)>>2]=y2[a>>2],y2[n+4>>2]=i,i=y2[(a=e+1300|0)+4>>2],y2[96+f>>2]=y2[a>>2],y2[100+f>>2]=i),!J)break A;i=y2[X+4>>2],y2[T>>2]=y2[X>>2],y2[T+4>>2]=i,i=y2[y+4>>2],y2[W>>2]=y2[y>>2],y2[W+4>>2]=i,i=y2[x+4>>2],y2[I>>2]=y2[x>>2],y2[I+4>>2]=i,i=y2[(a=M+8|0)+4>>2],n=U=104+f|0,Y=y2[a>>2],y2[n>>2]=Y,y2[n+4>>2]=i,i=y2[(a=X+8|0)+4>>2],y2[(n=S=T+8|0)>>2]=y2[a>>2],y2[n+4>>2]=i,i=y2[(a=y+8|0)+4>>2],y2[(n=J=W+8|0)>>2]=y2[a>>2],y2[n+4>>2]=i,i=y2[(a=x+8|0)+4>>2],y2[(n=Z=I+8|0)>>2]=y2[a>>2],y2[n+4>>2]=i,i=y2[M+4>>2],y2[96+f>>2]=y2[M>>2],y2[100+f>>2]=i,y2[80+f>>2]=Y,y2[84+f>>2]=y2[120+f>>2],y2[92+f>>2]=0,y2[88+f>>2]=y2[136+f>>2],y2[64+f>>2]=y2[96+f>>2],y2[68+f>>2]=y2[112+f>>2],y2[76+f>>2]=0,y2[72+f>>2]=y2[128+f>>2],k=H2[e+1060>>2],o=H2[e+1144>>2],t=H2[e+1148>>2],b=H2[e+1056>>2],i=0|N2[y2[y2[A>>2]+20>>2]](A),N2[y2[y2[i>>2]+72>>2]](i,n=e+1348|0,80+f|0,f+64|0,j2(r*j2(.8999999761581421)),b,k,o,t,160+f|0,j2(10),1),y2[76+f>>2]=0,v=H2[(i=132+f|0)>>2],y2[72+f>>2]=y2[i>>2],t=H2[(i=116+f|0)>>2],y2[68+f>>2]=y2[i>>2],b=H2[100+f>>2],y2[64+f>>2]=y2[100+f>>2],u=H2[e+1368>>2],o=H2[e+1372>>2],i=y2[(a=e+1308|0)+4>>2],y2[U>>2]=y2[a>>2],y2[U+4>>2]=i,i=y2[(a=e+1316|0)+4>>2],y2[T>>2]=y2[a>>2],y2[T+4>>2]=i,i=y2[(a=e+1324|0)+4>>2],y2[S>>2]=y2[a>>2],y2[S+4>>2]=i,i=y2[(a=e+1332|0)+4>>2],y2[W>>2]=y2[a>>2],y2[W+4>>2]=i,i=y2[(a=e+1340|0)+4>>2],y2[J>>2]=y2[a>>2],y2[J+4>>2]=i,i=y2[n+4>>2],y2[I>>2]=y2[n>>2],y2[I+4>>2]=i,i=y2[(a=e+1356|0)+4>>2],y2[Z>>2]=y2[a>>2],y2[Z+4>>2]=i,s=R2(o),c=I2(o),H2[52+f>>2]=j2(c*t)-j2(s*b),i=y2[(a=e+1300|0)+4>>2],y2[96+f>>2]=y2[a>>2],y2[100+f>>2]=i,k=R2(u),o=I2(u),H2[56+f>>2]=j2(j2(j2(c*k)*b)+j2(j2(k*s)*t))+j2(o*v),H2[48+f>>2]=j2(j2(j2(o*c)*b)+j2(j2(o*s)*t))-j2(k*v),y2[44+f>>2]=0,H2[40+f>>2]=-H2[128+f>>2],H2[36+f>>2]=-H2[112+f>>2],H2[32+f>>2]=-H2[96+f>>2],t=H2[e+968>>2],(b=H2[e+972>>2])>2]+20>>2]](A),N2[y2[y2[i>>2]+68>>2]](i,n,32+f|0,48+f|0,r,r,j2(-3.1415927410125732),j2(3.1415927410125732),160+f|0,0,j2(10))):t>2]+20>>2]](A),N2[y2[y2[i>>2]+68>>2]](i,n,32+f|0,48+f|0,r,r,t,b,160+f|0,1,j2(10))),i=y2[X+4>>2],y2[T>>2]=y2[X>>2],y2[T+4>>2]=i,i=y2[y+4>>2],y2[W>>2]=y2[y>>2],y2[W+4>>2]=i,i=y2[x+4>>2],y2[I>>2]=y2[x>>2],y2[I+4>>2]=i,i=y2[(a=M+8|0)+4>>2],y2[(n=104+f|0)>>2]=y2[a>>2],y2[n+4>>2]=i,i=y2[(a=X+8|0)+4>>2],y2[(n=T+8|0)>>2]=y2[a>>2],y2[n+4>>2]=i,i=y2[(a=y+8|0)+4>>2],y2[(n=W+8|0)>>2]=y2[a>>2],y2[n+4>>2]=i,i=y2[(a=x+8|0)+4>>2],y2[(n=I+8|0)>>2]=y2[a>>2],y2[n+4>>2]=i,i=y2[M+4>>2],y2[96+f>>2]=y2[M>>2],y2[100+f>>2]=i,i=y2[(a=e+688|0)+4>>2],y2[(n=24+f|0)>>2]=y2[a>>2],y2[n+4>>2]=i,i=y2[(a=e+680|0)+4>>2],y2[16+f>>2]=y2[a>>2],y2[20+f>>2]=i,i=y2[(a=e+704|0)+4>>2],y2[(n=8+f|0)>>2]=y2[a>>2],y2[n+4>>2]=i,e=y2[(i=e+696|0)+4>>2],y2[f>>2]=y2[i>>2],y2[4+f>>2]=e,A=0|N2[y2[y2[A>>2]+20>>2]](A),N2[y2[y2[A>>2]+80>>2]](A,16+f|0,f,96+f|0,160+f|0);break A;case 4:case 6:case 7:break A;case 3:break e;}i=y2[(a=e+832|0)+4>>2],y2[(n=Z=104+f|0)>>2]=y2[a>>2],y2[n+4>>2]=i,i=y2[(a=e+848|0)+4>>2],y2[(n=120+f|0)>>2]=y2[a>>2],y2[n+4>>2]=i,i=y2[(a=e+864|0)+4>>2],y2[(n=136+f|0)>>2]=y2[a>>2],y2[n+4>>2]=i,i=y2[(a=e+880|0)+4>>2],y2[(n=152+f|0)>>2]=y2[a>>2],y2[n+4>>2]=i,i=y2[(a=Y=e+824|0)+4>>2],y2[96+f>>2]=y2[a>>2],y2[100+f>>2]=i,i=y2[(a=e+840|0)+4>>2],y2[112+f>>2]=y2[a>>2],y2[116+f>>2]=i,i=y2[(a=e+856|0)+4>>2],y2[128+f>>2]=y2[a>>2],y2[132+f>>2]=i,i=y2[(a=e+872|0)+4>>2],y2[144+f>>2]=y2[a>>2],y2[148+f>>2]=i,x=144+f|0,U=128+f|0,S=112+f|0,V?(i=0|N2[y2[y2[A>>2]+20>>2]](A),N2[y2[y2[i>>2]+64>>2]](i,96+f|0,r),i=y2[(a=e+944|0)+4>>2],y2[(n=x+8|0)>>2]=y2[a>>2],y2[n+4>>2]=i,i=y2[(a=e+936|0)+4>>2],y2[x>>2]=y2[a>>2],y2[x+4>>2]=i,i=y2[(a=e+904|0)+4>>2],y2[S>>2]=y2[a>>2],y2[S+4>>2]=i,i=y2[(a=e+912|0)+4>>2],y2[(n=S+8|0)>>2]=y2[a>>2],y2[n+4>>2]=i,i=y2[(a=e+920|0)+4>>2],y2[U>>2]=y2[a>>2],y2[U+4>>2]=i,i=y2[(a=e+928|0)+4>>2],y2[(n=U+8|0)>>2]=y2[a>>2],y2[n+4>>2]=i,i=y2[(a=e+896|0)+4>>2],y2[Z>>2]=y2[a>>2],y2[Z+4>>2]=i,i=y2[(a=e+888|0)+4>>2],y2[96+f>>2]=y2[a>>2],y2[100+f>>2]=i,i=0|N2[y2[y2[A>>2]+20>>2]](A),N2[y2[y2[i>>2]+64>>2]](i,96+f|0,r)):(i=y2[(a=e+896|0)+4>>2],y2[Z>>2]=y2[a>>2],y2[Z+4>>2]=i,i=y2[(a=e+904|0)+4>>2],y2[S>>2]=y2[a>>2],y2[S+4>>2]=i,i=y2[(a=e+912|0)+4>>2],y2[(n=S+8|0)>>2]=y2[a>>2],y2[n+4>>2]=i,i=y2[(a=e+920|0)+4>>2],y2[U>>2]=y2[a>>2],y2[U+4>>2]=i,i=y2[(a=e+928|0)+4>>2],y2[(n=U+8|0)>>2]=y2[a>>2],y2[n+4>>2]=i,i=y2[(a=e+936|0)+4>>2],y2[x>>2]=y2[a>>2],y2[x+4>>2]=i,i=y2[(a=e+944|0)+4>>2],y2[(n=x+8|0)>>2]=y2[a>>2],y2[n+4>>2]=i,i=y2[(a=e+888|0)+4>>2],y2[96+f>>2]=y2[a>>2],y2[100+f>>2]=i),J&&(i=U2[e+180|0],m=H2[(a=i?Y:e+888|0)+48>>2],s=H2[a+8>>2],v=H2[a+4>>2],S=y2[a+4>>2],N=H2[a+52>>2],k=H2[a+24>>2],R=H2[a+16>>2],J=y2[a+16>>2],o=H2[a+20>>2],Z=y2[a+20>>2],G=H2[a+56>>2],t=H2[a+40>>2],l=H2[a+32>>2],Y=y2[a+32>>2],b=H2[a+36>>2],n=y2[a+36>>2],d=H2[(i=(i?824:888)+e|0)>>2],a=y2[i>>2],y2[92+f>>2]=0,u=j2(t*j2(0)),c=j2(b*j2(0)),B=H2[e+184>>2],H2[88+f>>2]=G+j2(u+j2(c+j2(B*l))),k=j2(k*j2(0)),o=j2(o*j2(0)),H2[84+f>>2]=N+j2(k+j2(o+j2(B*R))),t=j2(s*j2(0)),b=j2(v*j2(0)),H2[80+f>>2]=m+j2(t+j2(b+j2(B*d))),y2[76+f>>2]=0,_=c,c=H2[e+188>>2],H2[72+f>>2]=G+j2(u+j2(_+j2(c*l))),H2[68+f>>2]=N+j2(k+j2(o+j2(c*R))),H2[64+f>>2]=m+j2(t+j2(b+j2(c*d))),i=0|N2[y2[y2[A>>2]+20>>2]](A),N2[y2[y2[i>>2]+16>>2]](i,80+f|0,f+64|0,160+f|0),y2[60+f>>2]=0,y2[56+f>>2]=Y,y2[52+f>>2]=J,y2[48+f>>2]=a,y2[44+f>>2]=0,y2[40+f>>2]=n,y2[36+f>>2]=Z,y2[32+f>>2]=S,t=H2[e+196>>2],b=H2[e+192>>2],A=0|N2[y2[y2[A>>2]+20>>2]](A),N2[y2[y2[A>>2]+68>>2]](A,e+936|0,48+f|0,32+f|0,r,r,b,t,160+f|0,1,j2(10)))}L2=304+f|0},function(A){var e,r=0,f=0,i=0;if(1<=(0|(e=y2[(A|=0)+248>>2])))for(A=y2[A+256>>2];;){A:{e:if(r=y2[A>>2],!(3<(f=y2[r+220>>2]-2|0)>>>0))switch(f-1|0){case 0:case 1:break e;default:break A;}3&U2[r+204|0]||(H2[r+472>>2]=j2(H2[r+424>>2]*H2[r+408>>2])+H2[r+472>>2],H2[(f=r+476|0)>>2]=j2(H2[r+428>>2]*H2[r+412>>2])+H2[f>>2],H2[(f=r+480|0)>>2]=j2(H2[r+432>>2]*H2[r+416>>2])+H2[f>>2])}if(A=A+4|0,!((0|(i=i+1|0))<(0|e)))break}},X1,function(A,e){A|=0,e=j2(e);var r,f=0,i=0;if(1<=y2[A+296>>2])for(;;)if(r=y2[y2[A+304>>2]+f>>2],N2[y2[y2[r>>2]+8>>2]](r,A,e),f=f+4|0,!((0|(i=i+1|0))>2]))break},function(A){var e;return y2[(A|=0)>>2]=23536,(e=y2[A+80>>2])&&(U2[A+84|0]&&(y2[6503]=y2[6503]+1,$2(y2[e-4>>2])),y2[A+80>>2]=0),y2[A+80>>2]=0,y2[A+72>>2]=0,y2[A+76>>2]=0,X2[A+84|0]=1,(e=y2[A+60>>2])&&(U2[A- -64|0]&&(y2[6503]=y2[6503]+1,$2(y2[e-4>>2])),y2[A+60>>2]=0),y2[A+60>>2]=0,y2[A+52>>2]=0,y2[A+56>>2]=0,X2[A- -64|0]=1,(e=y2[A+40>>2])&&(U2[A+44|0]&&(y2[6503]=y2[6503]+1,$2(y2[e-4>>2])),y2[A+40>>2]=0),y2[A+40>>2]=0,y2[A+32>>2]=0,y2[A+36>>2]=0,X2[A+44|0]=1,0|A},function(A){var e;y2[(A|=0)>>2]=23536,(e=y2[A+80>>2])&&(U2[A+84|0]&&(y2[6503]=y2[6503]+1,$2(y2[e-4>>2])),y2[A+80>>2]=0),y2[A+80>>2]=0,y2[A+72>>2]=0,y2[A+76>>2]=0,X2[A+84|0]=1,(e=y2[A+60>>2])&&(U2[A- -64|0]&&(y2[6503]=y2[6503]+1,$2(y2[e-4>>2])),y2[A+60>>2]=0),y2[A+60>>2]=0,y2[A+52>>2]=0,y2[A+56>>2]=0,X2[A- -64|0]=1,(e=y2[A+40>>2])&&U2[A+44|0]&&(y2[6503]=y2[6503]+1,$2(y2[e-4>>2])),b(A)},function(A,e,r,f,i,a){A|=0,e|=0,r|=0,f|=0,i|=0;var n,b=0,t=0,o=0,c=0,k=0,u=0,l=0;A:{e:{r:{if(0<=(0|(a|=0))){if(1<=(0|(b=y2[A+16>>2])))break r;break e}return a=y2[A+8>>2],void j2(N2[y2[y2[a>>2]+12>>2]](a,e,r,f,i,y2[A+12>>2],y2[A+16>>2],y2[A+4>>2],y2[A+20>>2],y2[A+24>>2]))}for(u=y2[A+12>>2];;){if(c=y2[u>>2],(0|a)==(0|(t=(0|(t=y2[y2[c+28>>2]+208>>2]))<=-1?y2[y2[c+32>>2]+208>>2]:t)))break e;if(u=u+4|0,(0|b)==(0|(o=o+1|0)))break}u=0;break A}if(!((0|b)<=(0|o)))for(t=b-o|0,b=y2[A+12>>2]+(o<<2)|0;;)if(c=y2[b>>2],b=b+4|0,l=((0|a)==(0|(o=(0|(o=y2[y2[c+28>>2]+208>>2]))<=-1?y2[y2[c+32>>2]+208>>2]:o)))+l|0,!(t=t-1|0))break}if(a=y2[A+4>>2],2<=y2[a+80>>2]){if(1<=(0|r))for(t=y2[A+36>>2],o=y2[A+32>>2];;){if(n=(k<<2)+e|0,(0|t)!=(0|o))b=o;else if((0|(c=t?t<<1:1))<=(0|t))b=t;else{if(a=0,c&&(y2[6502]=y2[6502]+1,b=q2(16+(c<<2|3)|0))&&(y2[(a=b+19&-16)-4>>2]=b),1<=(0|t))for(b=0,o=t;;)if(y2[a+b>>2]=y2[y2[A+40>>2]+b>>2],b=b+4|0,!(o=o-1|0))break;(b=y2[A+40>>2])&&(U2[A+44|0]&&(y2[6503]=y2[6503]+1,$2(y2[b-4>>2]),t=y2[A+32>>2]),y2[A+40>>2]=0),b=t,y2[A+40>>2]=a,X2[A+44|0]=1,t=y2[A+36>>2]=c}if(y2[A+32>>2]=o=b+1|0,y2[y2[A+40>>2]+(b<<2)>>2]=y2[n>>2],(0|(k=k+1|0))==(0|r))break}if(1<=(0|i))for(t=y2[A+56>>2],o=y2[A+52>>2],k=0;;){if(c=(k<<2)+f|0,(0|t)!=(0|o))b=o;else if((0|(e=t?t<<1:1))<=(0|t))b=t;else{if(a=0,e&&(y2[6502]=y2[6502]+1,r=q2(16+(e<<2|3)|0))&&(y2[(a=r+19&-16)-4>>2]=r),1<=(0|t))for(b=0,o=t;;)if(y2[a+b>>2]=y2[y2[A+60>>2]+b>>2],b=b+4|0,!(o=o-1|0))break;(r=y2[A+60>>2])&&(U2[A+64|0]&&(y2[6503]=y2[6503]+1,$2(y2[r-4>>2]),t=y2[A+52>>2]),y2[A+60>>2]=0),b=t,y2[A+60>>2]=a,X2[A+64|0]=1,t=y2[A+56>>2]=e}if(y2[A+52>>2]=o=b+1|0,y2[y2[A+60>>2]+(b<<2)>>2]=y2[c>>2],(0|(k=k+1|0))==(0|i))break}if(l)for(t=y2[A+76>>2],o=y2[A+72>>2],k=0;;){if(f=(k<<2)+u|0,(0|t)!=(0|o))b=o;else if((0|(e=t?t<<1:1))<=(0|t))b=t;else{if(a=0,e&&(y2[6502]=y2[6502]+1,r=q2(16+(e<<2|3)|0))&&(y2[(a=r+19&-16)-4>>2]=r),1<=(0|t))for(b=0,o=t;;)if(y2[a+b>>2]=y2[y2[A+80>>2]+b>>2],b=b+4|0,!(o=o-1|0))break;(r=y2[A+80>>2])&&(U2[A+84|0]&&(y2[6503]=y2[6503]+1,$2(y2[r-4>>2]),t=y2[A+72>>2]),y2[A+80>>2]=0),b=t,y2[A+80>>2]=a,X2[A+84|0]=1,t=y2[A+76>>2]=e}if(y2[A+72>>2]=o=b+1|0,y2[y2[A+80>>2]+(b<<2)>>2]=y2[f>>2],(0|l)==(0|(k=k+1|0)))break}else o=y2[A+72>>2];y2[y2[A+4>>2]+80>>2]<(y2[A+52>>2]+o|0)&&_6(A)}else t=y2[A+8>>2],j2(N2[y2[y2[t>>2]+12>>2]](t,e,r,f,i,u,l,a,y2[A+20>>2],y2[A+24>>2]))},A,function(A,e){var r,f,i=0;return(0|(r=y2[(e|=0)>>2]))!=(0|(f=y2[(A|=0)+84>>2]))&&y2[A+12>>2]&y2[e+4>>2]&&y2[e+8>>2]&y2[A+8>>2]&&(A=y2[A+96>>2],i=0|N2[y2[y2[A>>2]+28>>2]](A,f,r)),0|i},function(A,e,r){A|=0,e|=0,r|=0;var f,i,a,n,b,t,o,c,k,u,l,s=0,v=j2(0),v=(j2(0),j2(0),j2(0),j2(0),j2(0),j2(0),j2(0),j2(0),j2(0),j2(0),j2(0),j2(1));return(0|(s=y2[e>>2]))==y2[A+84>>2]||4&U2[s+204|0]||j2(-H2[A+88>>2])<=j2(j2(j2(j2(H2[A+36>>2]-H2[A+20>>2])*H2[e+8>>2])+j2(j2(H2[A+40>>2]-H2[A+24>>2])*H2[e+12>>2]))+j2(j2(H2[A+44>>2]-H2[A+28>>2])*H2[e+16>>2]))||(y2[A+16>>2]=s,y2[A+4>>2]=y2[e+40>>2],r?(s=y2[(r=e+8|0)+4>>2],y2[A+52>>2]=y2[r>>2],y2[A+56>>2]=s,a=y2[(r=r+8|0)+4>>2],y2[(s=A+60|0)>>2]=y2[r>>2],y2[s+4>>2]=a):(a=H2[s+12>>2],n=H2[s+8>>2],b=H2[s+28>>2],t=H2[s+20>>2],o=H2[s+24>>2],c=H2[s+44>>2],k=H2[s+36>>2],u=H2[s+40>>2],l=H2[s+4>>2],v=H2[e+16>>2],f=H2[e+8>>2],i=H2[e+12>>2],y2[A- -64>>2]=0,H2[A+60>>2]=j2(j2(f*k)+j2(i*u))+j2(v*c),H2[A+56>>2]=j2(j2(f*t)+j2(i*o))+j2(v*b),H2[A+52>>2]=j2(j2(l*f)+j2(n*i))+j2(a*v)),r=y2[e+28>>2],y2[A+68>>2]=y2[e+24>>2],y2[A+72>>2]=r,s=y2[(r=e+32|0)+4>>2],y2[(A=A+76|0)>>2]=y2[r>>2],y2[A+4>>2]=s,v=H2[e+40>>2]),j2(v)},function(A){return g6(A|=0),0|A},function(A){g6(A|=0),A&&(y2[6503]=y2[6503]+1,$2(y2[A-4>>2]))},function(A,e){A|=0,e=j2(e);var r,f,i,a,n,b,t,o,c,k,u,l,s,v,B,d,_,g,Z,C,w,E,Q,h,G,F,V,x,p,S,J,M,X,y,D,Y=0,m=0,N=0,R=0,I=(j2(0),j2(0),j2(0),j2(0),0),W=0,T=0;if(j2(0),j2(0),j2(0),j2(0),j2(0),j2(0),j2(0),j2(0),j2(0),j2(0),j2(0),j2(0),j2(0),j2(0),j2(0),L2=D=L2-496|0,I=y2[A+332>>2],1<=y2[A+324>>2])for(;;)if(T=y2[A+24>>2],N2[y2[y2[T>>2]+16>>2]](T,y2[m+I>>2]),m=m+4|0,I=y2[A+332>>2],!((0|(W=W+1|0))>2]))break;if(I&&(U2[A+336|0]&&(y2[6503]=y2[6503]+1,$2(y2[I-4>>2])),y2[A+332>>2]=0),y2[A+332>>2]=0,y2[A+324>>2]=0,y2[A+328>>2]=0,(X2[A+336|0]=1)<=(0|(V=y2[A+248>>2])))for(b=116+D|0,v=84+D|0,B=D+64|0,T=388+D|0,d=256+D|0,_=240+D|0,g=224+D|0,l=304+D|0,Z=372+D|0,C=356+D|0,c=480+D|0,I=0;;){r=y2[y2[A+256>>2]+(I<<2)>>2],y2[r+268>>2]=1065353216;A:{e:if(!(3<(Y=y2[r+220>>2]-2|0)>>>0))switch(Y-1|0){case 0:case 1:break e;default:break A;}if(!(3&U2[r+204|0])&&(C1(R=r+4|0,H2[r+372>>2],H2[r+376>>2],H2[r+380>>2],r+388|0,e,432+D|0),U2[A+44|0]&&(f=H2[r+276>>2],(a=j2(f*f))!=j2(0))&&(k=H2[480+D>>2],f=j2(k-H2[(t=r+52|0)>>2]),i=j2(f*f),n=H2[484+D>>2],f=j2(n-H2[r+56>>2]),i=j2(i+j2(f*f)),u=H2[488+D>>2],f=j2(u-H2[r+60>>2]),a>2]+4>>2])&&(Y=y2[4+t>>2],y2[C>>2]=y2[t>>2],y2[4+C>>2]=Y,Y=y2[4+c>>2],y2[Z>>2]=y2[c>>2],y2[4+Z>>2]=Y,Y=y2[(m=w=8+t|0)+4>>2],y2[(N=8+C|0)>>2]=y2[m>>2],y2[N+4>>2]=Y,Y=y2[(N=8+c|0)+4>>2],y2[(m=8+Z|0)>>2]=y2[N>>2],y2[m+4>>2]=Y,y2[352+D>>2]=0,y2[340+D>>2]=1065353216,y2[336+D>>2]=24196,y2[420+D>>2]=0,y2[428+D>>2]=A,y2[424+D>>2]=r,y2[l>>2]=0,y2[4+l>>2]=0,y2[(Y=8+l|0)>>2]=0,y2[Y+4>>2]=0,y2[16+l>>2]=0,y2[284+D>>2]=0,y2[288+D>>2]=0,y2[300+D>>2]=1065353216,y2[292+D>>2]=1065353216,y2[296+D>>2]=1065353216,y2[276+D>>2]=8,y2[280+D>>2]=0,y2[272+D>>2]=13244,y2[328+D>>2]=0,Y=y2[r+272>>2],y2[308+D>>2]=Y,y2[324+D>>2]=Y,Y=y2[r+188>>2],y2[344+D>>2]=y2[Y+4>>2],y2[348+D>>2]=y2[Y+8>>2],Y=y2[N+4>>2],y2[(m=8+d|0)>>2]=y2[N>>2],y2[m+4>>2]=Y,Y=y2[4+c>>2],y2[d>>2]=y2[c>>2],y2[4+d>>2]=Y,Y=y2[(m=R+8|0)+4>>2],y2[(N=216+D|0)>>2]=y2[m>>2],y2[N+4>>2]=Y,Y=y2[(m=r+20|0)+4>>2],y2[g>>2]=y2[m>>2],y2[4+g>>2]=Y,Y=y2[(m=r+28|0)+4>>2],y2[(N=8+g|0)>>2]=y2[m>>2],y2[N+4>>2]=Y,Y=y2[(m=r+36|0)+4>>2],y2[_>>2]=y2[m>>2],y2[4+_>>2]=Y,Y=y2[(m=r+44|0)+4>>2],y2[(N=8+_|0)>>2]=y2[m>>2],y2[N+4>>2]=Y,Y=y2[R+4>>2],y2[208+D>>2]=y2[R>>2],y2[212+D>>2]=Y,j1(A,272+D|0,R,208+D|0,336+D|0,j2(0)),m=y2[352+D>>2]))){if(s=H2[r+60>>2],i=H2[r+56>>2],E=H2[r+52>>2],Q=H2[396+D>>2],a=H2[392+D>>2],f=H2[388+D>>2],o=H2[340+D>>2],Y=y2[A+24>>2],h=0|N2[y2[y2[Y>>2]+12>>2]](Y,r,m),x=j2(o*j2(n-i)),n=j2(o*j2(k-E)),s=j2(o*j2(u-s)),i=j2(j2(j2(x*j2(-a))-j2(f*n))-j2(Q*s)),(0|(m=y2[A+324>>2]))==y2[A+328>>2]&&!((0|(R=m?m<<1:1))<=(0|m))){if(N=0,R&&(y2[6502]=y2[6502]+1,Y=q2(16+(R<<2|3)|0))&&(y2[(N=Y+19&-16)-4>>2]=Y),1<=(0|m))for(W=0,Y=m;;)if(y2[N+W>>2]=y2[y2[A+332>>2]+W>>2],W=W+4|0,!(Y=Y-1|0))break;(Y=y2[A+332>>2])&&(U2[A+336|0]&&(y2[6503]=y2[6503]+1,$2(y2[Y-4>>2]),m=y2[A+324>>2]),y2[A+332>>2]=0),y2[A+332>>2]=N,X2[A+336|0]=1,y2[A+328>>2]=R}y2[y2[A+332>>2]+(m<<2)>>2]=h,y2[A+324>>2]=m+1,Y=y2[352+D>>2],p=H2[Y+20>>2],S=H2[Y+36>>2],J=H2[Y+40>>2],M=H2[Y+8>>2],X=H2[Y+24>>2],G=H2[Y+60>>2],E=H2[Y+56>>2],F=H2[Y+52>>2],y=H2[Y+44>>2],o=H2[Y+12>>2],k=H2[Y+28>>2],u=H2[Y+4>>2],Q=H2[r+60>>2],a=H2[r+52>>2],f=H2[r+56>>2],y2[(Y=8+D|0)>>2]=0,y2[Y+4>>2]=0,y2[v>>2]=0,y2[4+v>>2]=0,y2[(Y=8+v|0)>>2]=0,y2[Y+4>>2]=0,y2[b>>2]=0,y2[4+b>>2]=0,y2[(Y=8+b|0)>>2]=0,y2[Y+4>>2]=0,y2[(Y=16+b|0)>>2]=0,y2[Y+4>>2]=0,y2[(Y=24+b|0)>>2]=0,y2[Y+4>>2]=0,y2[(Y=32+b|0)>>2]=0,y2[Y+4>>2]=0,y2[(Y=40+b|0)>>2]=0,y2[Y+4>>2]=0,y2[48+b>>2]=0,Y=y2[T+4>>2],y2[B>>2]=y2[T>>2],y2[4+B>>2]=Y,Y=y2[(m=T+8|0)+4>>2],y2[(N=8+B|0)>>2]=y2[m>>2],y2[N+4>>2]=Y,y2[D>>2]=0,y2[4+D>>2]=0,y2[28+D>>2]=0,H2[80+D>>2]=i,n=j2(n+a),i=j2(x+f),a=j2(s+Q),f=j2(-E),H2[24+D>>2]=j2(j2(j2(o*n)+j2(k*i))+j2(y*a))+j2(j2(j2(k*f)-j2(o*F))-j2(y*G)),H2[20+D>>2]=j2(j2(j2(n*M)+j2(i*X))+j2(a*J))+j2(j2(j2(X*f)-j2(M*F))-j2(J*G)),H2[16+D>>2]=j2(j2(j2(n*u)+j2(i*p))+j2(a*S))+j2(j2(j2(p*f)-j2(u*F))-j2(S*G)),y2[200+D>>2]=y2[r+192>>2],y2[204+D>>2]=y2[420+D>>2],R=P2(R1(h,D),208)+h|0,y2[R+100>>2]=0,H2[R+88>>2]=m2(j2(O2(j2(H2[r+228>>2]*H2[y2[352+D>>2]+228>>2]),j2(-10))),j2(10)),Y=y2[4+w>>2],y2[(m=R+60|0)>>2]=y2[w>>2],y2[m+4>>2]=Y,N=y2[4+t>>2],m=y2[t>>2],y2[R+48>>2]=0,H2[R+44>>2]=a,H2[R+40>>2]=i,y2[(Y=R+52|0)>>2]=m,y2[Y+4>>2]=N,H2[R+36>>2]=n}}if((0|V)==(0|(I=I+1|0)))break}L2=496+D|0},function(A){var e=0,r=0,f=0,i=0;if(1<=y2[(A|=0)+248>>2])for(;;){A:{e:if(e=y2[y2[A+256>>2]+f>>2],!(3<(r=y2[e+220>>2]-2|0)>>>0))switch(r-1|0){case 0:case 1:break e;default:break A;}2&(r=y2[e+204>>2])||(H2[e+504>>2]==j2(1)?(y2[e+472>>2]=0,y2[e+476>>2]=0,y2[(r=e+480|0)>>2]=0,y2[r+4>>2]=0):3&r||(H2[e+472>>2]=j2(H2[e+424>>2]*H2[e+408>>2])+H2[e+472>>2],H2[(r=e+476|0)>>2]=j2(H2[e+428>>2]*H2[e+412>>2])+H2[r>>2],H2[(r=e+480|0)>>2]=j2(H2[e+432>>2]*H2[e+416>>2])+H2[r>>2]),H2[e+508>>2]==j2(1)&&(y2[e+488>>2]=0,y2[e+492>>2]=0,y2[(e=e+496|0)>>2]=0,y2[e+4>>2]=0))}if(f=f+4|0,!((0|(i=i+1|0))>2]))break}},e,A,function(A,e,r){return A|=0,y2[(r|=A=0)+8>>2]&y2[(e|=0)+4>>2]&&y2[e+8>>2]&y2[r+4>>2]&&(e=y2[e>>2],r=y2[r>>2],1&X2[r+204|0]&&1&X2[e+204|0]||2==y2[r+220>>2]&&2==y2[e+220>>2]||(A=1)),0|A},e,A,function(A,e,r){var f;return A|=0,A=y2[(r|=0)>>2],A=4==y2[A+252>>2]?A:0,(f=y2[(e|=0)>>2])&&4==y2[f+252>>2]&&N2[y2[y2[f>>2]+28>>2]](f,r,e),A&&N2[y2[y2[A>>2]+28>>2]](A,e,r),0},function(A,e,r,f){var i;return A|=0,f|=0,A=y2[(r|=0)>>2],A=4==y2[A+252>>2]?A:0,(i=y2[(e|=0)>>2])&&4==y2[i+252>>2]&&N2[y2[y2[i>>2]+32>>2]](i,r,f,e),A&&N2[y2[y2[A>>2]+32>>2]](A,e,f,r),0},q0,A,function(A,e){var r,f,i=0;return(0|(r=y2[(e|=0)>>2]))!=(0|(f=y2[(A|=0)+88>>2]))&&y2[A+12>>2]&y2[e+4>>2]&&y2[e+8>>2]&y2[A+8>>2]&&(A=y2[y2[A+92>>2]+24>>2],i=0|N2[y2[y2[A>>2]+28>>2]](A,f,r)),0|i},function(A,e,r){A|=0,e|=0,r|=0;var f,i,a,n,b,t,o,c,k,u,l,s,v=0;return j2(0),j2(0),j2(0),j2(0),j2(0),j2(0),j2(0),j2(0),j2(0),j2(0),j2(0),j2(0),y2[A+4>>2]=y2[e+40>>2],v=y2[e>>2],y2[A+16>>2]=v,y2[A+84>>2]=y2[y2[e+4>>2]+8>>2],r?(r=y2[e+12>>2],y2[A+52>>2]=y2[e+8>>2],y2[A+56>>2]=r,n=y2[(v=e+16|0)+4>>2],y2[(r=A+60|0)>>2]=y2[v>>2],y2[r+4>>2]=n):(n=H2[v+8>>2],b=H2[v+12>>2],t=H2[v+20>>2],o=H2[v+24>>2],c=H2[v+28>>2],k=H2[v+36>>2],u=H2[v+40>>2],f=H2[e+12>>2],l=H2[v+44>>2],i=H2[e+16>>2],s=H2[v+4>>2],a=H2[e+8>>2],y2[A- -64>>2]=0,H2[A+60>>2]=j2(j2(a*k)+j2(f*u))+j2(i*l),H2[A+56>>2]=j2(j2(a*t)+j2(f*o))+j2(i*c),H2[A+52>>2]=j2(j2(s*a)+j2(n*f))+j2(b*i)),r=y2[e+28>>2],y2[A+68>>2]=y2[e+24>>2],y2[A+72>>2]=r,v=y2[(r=e+32|0)+4>>2],y2[(A=A+76|0)>>2]=y2[r>>2],y2[A+4>>2]=v,j2(H2[e+40>>2])},E6,function(A){A|=0;var e,r,f,i,a,n,b,t,V,x,p,S,J,M,X,y,U,H,P,j,z,O,K,L,q,o,c=0,k=j2(0),u=j2(0),l=j2(0),s=j2(0),v=j2(0),B=j2(0),d=j2(0),_=0,g=0,Z=j2(0),C=j2(0),w=0,E=j2(0),Q=j2(0),h=j2(0),G=0,F=j2(0),D=j2(0),Y=j2(0),m=j2(0),N=j2(0),R=j2(0),I=(j2(0),j2(0),j2(0),0),W=0,T=0,$=0,A2=0,e2=0,r2=0,f2=0,i2=0,a2=0,n2=0;j2(0),j2(0),j2(0),j2(0),j2(0),j2(0),j2(0),j2(0),j2(0),j2(0),j2(0),j2(0),j2(0),j2(0),j2(0),L2=o=L2-176|0,U2[A+738|0]&&(y2[A+744>>2]=0,y2[A+36>>2]=0,U2[A+736|0]||(C=H2[A+664>>2],G=y2[A+32>>2],Z=H2[A+668>>2],d=H2[A+672>>2],D=j2(j2(j2(j2(C*H2[G+4>>2])+j2(Z*H2[G+8>>2]))+j2(d*H2[G+12>>2]))+H2[G+52>>2]),v=H2[A+600>>2],c=y2[A+28>>2],s=H2[A+604>>2],k=H2[A+608>>2],E=j2(j2(j2(j2(v*H2[c+4>>2])+j2(s*H2[c+8>>2]))+j2(k*H2[c+12>>2]))+H2[c+52>>2]),u=j2(D-E),Q=j2(j2(j2(j2(C*H2[G+20>>2])+j2(Z*H2[G+24>>2]))+j2(d*H2[G+28>>2]))+H2[G+56>>2]),h=j2(j2(j2(j2(v*H2[c+20>>2])+j2(s*H2[c+24>>2]))+j2(k*H2[c+28>>2]))+H2[c+56>>2]),l=j2(Q-h),C=j2(j2(j2(j2(C*H2[G+36>>2])+j2(Z*H2[G+40>>2]))+j2(d*H2[G+44>>2]))+H2[G+60>>2]),Z=j2(j2(j2(j2(v*H2[c+36>>2])+j2(s*H2[c+40>>2]))+j2(k*H2[c+44>>2]))+H2[c+60>>2]),s=j2(C-Z),(k=j2(j2(j2(u*u)+j2(l*l))+j2(s*s)))>j2(1.1920928955078125e-7)?(y2[140+o>>2]=0,k=j2(j2(1)/j2(K2(k))),B=j2(s*k),H2[136+o>>2]=B,s=j2(l*k),H2[132+o>>2]=s,k=j2(u*k),H2[128+o>>2]=k):(y2[136+o>>2]=0,y2[140+o>>2]=0,y2[128+o>>2]=1065353216,y2[132+o>>2]=0,k=j2(1),s=j2(0)),G=160+o|0,c=144+o|0,j2(z2(B))>j2(.7071067690849304)?(l=j2(j2(B*B)+j2(s*s)),d=j2(j2(1)/j2(K2(l))),v=j2(l*d),u=j2(d*j2(-B)),l=j2(k*u),B=j2(s*d),s=j2(B*j2(-k))):(l=j2(j2(k*k)+j2(s*s)),u=j2(j2(1)/j2(K2(l))),l=j2(l*u),F=j2(u*j2(-s)),s=j2(B*F),u=j2(k*u),v=j2(u*j2(-B)),B=j2(0)),H2[168+o>>2]=l,H2[164+o>>2]=s,H2[152+o>>2]=B,H2[148+o>>2]=u,H2[160+o>>2]=v,H2[144+o>>2]=F,y2[(I=108+o|0)>>2]=0,_=y2[A+28>>2],y2[(w=100+o|0)>>2]=y2[_+24>>2],y2[(W=104+o|0)>>2]=y2[_+40>>2],y2[(T=116+o|0)>>2]=y2[_+28>>2],y2[92+o>>2]=0,y2[80+o>>2]=y2[_+4>>2],y2[84+o>>2]=y2[_+20>>2],y2[88+o>>2]=y2[_+36>>2],y2[96+o>>2]=y2[_+8>>2],y2[112+o>>2]=y2[_+12>>2],y2[($=124+o|0)>>2]=0,y2[(A2=120+o|0)>>2]=y2[_+44>>2],y2[(e2=60+o|0)>>2]=0,g=y2[A+32>>2],y2[(r2=52+o|0)>>2]=y2[g+24>>2],y2[(f2=56+o|0)>>2]=y2[g+40>>2],y2[(i2=68+o|0)>>2]=y2[g+28>>2],y2[44+o>>2]=0,y2[32+o>>2]=y2[g+4>>2],y2[36+o>>2]=y2[g+20>>2],y2[40+o>>2]=y2[g+36>>2],y2[48+o>>2]=y2[g+8>>2],y2[64+o>>2]=y2[g+12>>2],y2[(a2=76+o|0)>>2]=0,y2[(n2=72+o|0)>>2]=y2[g+44>>2],y2[28+o>>2]=0,H2[24+o>>2]=Z-H2[_+60>>2],H2[20+o>>2]=h-H2[_+56>>2],H2[16+o>>2]=E-H2[_+52>>2],y2[12+o>>2]=0,H2[8+o>>2]=C-H2[g+60>>2],H2[4+o>>2]=Q-H2[g+56>>2],H2[o>>2]=D-H2[g+52>>2],B6(A+48|0,80+o|0,32+o|0,16+o|0,o,128+o|0,_+456|0,H2[_+404>>2],g+456|0,H2[g+404>>2]),y2[I>>2]=0,_=y2[A+28>>2],y2[w>>2]=y2[_+24>>2],y2[W>>2]=y2[_+40>>2],y2[T>>2]=y2[_+28>>2],y2[92+o>>2]=0,y2[80+o>>2]=y2[_+4>>2],y2[84+o>>2]=y2[_+20>>2],y2[88+o>>2]=y2[_+36>>2],y2[96+o>>2]=y2[_+8>>2],y2[112+o>>2]=y2[_+12>>2],y2[$>>2]=0,y2[A2>>2]=y2[_+44>>2],y2[e2>>2]=0,g=y2[A+32>>2],y2[r2>>2]=y2[g+24>>2],y2[f2>>2]=y2[g+40>>2],y2[i2>>2]=y2[g+28>>2],y2[44+o>>2]=0,y2[32+o>>2]=y2[g+4>>2],y2[36+o>>2]=y2[g+20>>2],y2[40+o>>2]=y2[g+36>>2],y2[48+o>>2]=y2[g+8>>2],y2[64+o>>2]=y2[g+12>>2],y2[a2>>2]=0,y2[n2>>2]=y2[g+44>>2],y2[28+o>>2]=0,H2[24+o>>2]=Z-H2[_+60>>2],H2[20+o>>2]=h-H2[_+56>>2],H2[16+o>>2]=E-H2[_+52>>2],y2[12+o>>2]=0,H2[8+o>>2]=C-H2[g+60>>2],H2[4+o>>2]=Q-H2[g+56>>2],H2[o>>2]=D-H2[g+52>>2],B6(A+132|0,80+o|0,32+o|0,16+o|0,o,c,_+456|0,H2[_+404>>2],g+456|0,H2[g+404>>2]),y2[I>>2]=0,c=w,w=y2[A+28>>2],y2[c>>2]=y2[w+24>>2],y2[W>>2]=y2[w+40>>2],y2[T>>2]=y2[w+28>>2],y2[92+o>>2]=0,y2[80+o>>2]=y2[w+4>>2],y2[84+o>>2]=y2[w+20>>2],y2[88+o>>2]=y2[w+36>>2],y2[96+o>>2]=y2[w+8>>2],y2[112+o>>2]=y2[w+12>>2],y2[$>>2]=0,y2[A2>>2]=y2[w+44>>2],y2[e2>>2]=0,c=y2[A+32>>2],y2[r2>>2]=y2[c+24>>2],y2[f2>>2]=y2[c+40>>2],y2[i2>>2]=y2[c+28>>2],y2[44+o>>2]=0,y2[32+o>>2]=y2[c+4>>2],y2[36+o>>2]=y2[c+20>>2],y2[40+o>>2]=y2[c+36>>2],y2[48+o>>2]=y2[c+8>>2],y2[64+o>>2]=y2[c+12>>2],y2[a2>>2]=0,y2[n2>>2]=y2[c+44>>2],y2[28+o>>2]=0,H2[24+o>>2]=Z-H2[w+60>>2],H2[20+o>>2]=h-H2[w+56>>2],H2[16+o>>2]=E-H2[w+52>>2],y2[12+o>>2]=0,H2[8+o>>2]=C-H2[c+60>>2],H2[4+o>>2]=Q-H2[c+56>>2],H2[o>>2]=D-H2[c+52>>2],B6(A+216|0,80+o|0,32+o|0,16+o|0,o,G,w+456|0,H2[w+404>>2],c+456|0,H2[c+404>>2])),s=H2[A+576>>2],k=H2[A+560>>2],a=H2[A+592>>2],l=j2(z2(a))>j2(.7071067690849304)?(l=j2(j2(a*a)+j2(s*s)),u=j2(j2(1)/j2(K2(l))),m=j2(l*u),Y=j2(u*j2(-a)),N=j2(Y*k),F=j2(0),R=j2(u*s),j2(R*j2(-k))):(l=j2(j2(k*k)+j2(s*s)),u=j2(j2(1)/j2(K2(l))),N=j2(l*u),Y=j2(u*k),m=j2(Y*j2(-a)),F=j2(u*j2(-s)),j2(a*F)),e=y2[A+32>>2],D=H2[(P=e+36|0)>>2],E=H2[(j=e+20|0)>>2],Q=H2[(z=e+40|0)>>2],h=H2[(O=e+24|0)>>2],C=H2[(K=e+8|0)>>2],Z=H2[(_=e+44|0)>>2],d=H2[(g=e+28|0)>>2],v=H2[(I=e+12|0)>>2],r=y2[A+28>>2],V=H2[(w=r+44|0)>>2],x=H2[(W=r+36|0)>>2],p=H2[(T=r+40|0)>>2],S=H2[($=r+12|0)>>2],J=H2[(A2=r+8|0)>>2],M=H2[(e2=r+28|0)>>2],X=H2[(r2=r+20|0)>>2],y=H2[(f2=r+24|0)>>2],u=H2[e+4>>2],U=H2[r+4>>2],y2[A+344>>2]=0,y2[A+328>>2]=0,y2[(c=A+308|0)>>2]=0,y2[c+4>>2]=0,y2[A+300>>2]=0,y2[A+304>>2]=0,f=j2(j2(j2(F*U)+j2(Y*J))+j2(R*S)),B=j2(j2(j2(F*X)+j2(Y*y))+j2(R*M)),i=j2(j2(j2(F*x)+j2(Y*p))+j2(R*V)),n=j2(j2(j2(S*f)+j2(M*B))+j2(V*i)),H2[A+324>>2]=n,F=j2(j2(j2(f*J)+j2(B*y))+j2(i*p)),H2[A+320>>2]=F,Y=j2(j2(j2(f*U)+j2(B*X))+j2(i*x)),H2[A+316>>2]=Y,b=d,d=j2(-B),R=j2(j2(j2(b*d)-j2(f*v))-j2(i*Z)),H2[A+340>>2]=R,B=j2(j2(j2(h*d)-j2(f*C))-j2(i*Q)),H2[A+336>>2]=B,E=j2(j2(j2(E*d)-j2(f*u))-j2(i*D)),H2[A+332>>2]=E,d=H2[(i2=r+460|0)>>2],v=H2[(a2=r+464|0)>>2],u=H2[r+456>>2],y2[A+360>>2]=0,Q=j2(n*v),H2[A+356>>2]=Q,h=j2(F*d),H2[A+352>>2]=h,C=j2(Y*u),H2[A+348>>2]=C,Z=H2[(n2=e+460|0)>>2],v=H2[(G=e+464|0)>>2],u=H2[e+456>>2],y2[A+376>>2]=0,d=j2(R*v),H2[A+372>>2]=d,v=j2(B*Z),H2[A+368>>2]=v,u=j2(E*u),H2[A+364>>2]=u,H2[A+380>>2]=j2(j2(j2(Y*C)+j2(F*h))+j2(n*Q))+j2(j2(j2(E*u)+j2(B*v))+j2(R*d)),t=H2[W>>2],L=H2[r2>>2],f=H2[T>>2],i=H2[A2>>2],n=H2[f2>>2],F=H2[w>>2],Y=H2[$>>2],R=H2[e2>>2],B=H2[P>>2],D=H2[j>>2],E=H2[z>>2],Q=H2[O>>2],h=H2[K>>2],C=H2[_>>2],Z=H2[g>>2],d=H2[I>>2],v=H2[r+4>>2],u=H2[e+4>>2],y2[A+428>>2]=0,y2[A+412>>2]=0,y2[(c=A+392|0)>>2]=0,y2[c+4>>2]=0,y2[(c=A+384|0)>>2]=0,y2[c+4>>2]=0,b=Z,H=j2(j2(j2(m*X)+j2(l*y))+j2(N*M)),Z=j2(-H),q=d,d=j2(j2(j2(m*U)+j2(l*J))+j2(N*S)),l=j2(j2(j2(m*x)+j2(l*p))+j2(N*V)),m=j2(j2(j2(b*Z)-j2(q*d))-j2(C*l)),H2[A+424>>2]=m,N=j2(j2(j2(Q*Z)-j2(d*h))-j2(l*E)),H2[A+420>>2]=N,B=j2(j2(j2(D*Z)-j2(d*u))-j2(l*B)),H2[A+416>>2]=B,D=j2(j2(j2(d*Y)+j2(H*R))+j2(l*F)),H2[A+408>>2]=D,E=j2(j2(j2(d*i)+j2(H*n))+j2(l*f)),H2[A+404>>2]=E,Q=j2(j2(j2(d*v)+j2(H*L))+j2(l*t)),H2[A+400>>2]=Q,v=H2[i2>>2],u=H2[a2>>2],l=H2[r+456>>2],y2[A+444>>2]=0,h=j2(D*u),H2[A+440>>2]=h,C=j2(E*v),H2[A+436>>2]=C,Z=j2(Q*l),H2[A+432>>2]=Z,d=H2[n2>>2],u=H2[G>>2],l=H2[e+456>>2],y2[A+460>>2]=0,v=j2(m*u),H2[A+456>>2]=v,u=j2(N*d),H2[A+452>>2]=u,l=j2(B*l),H2[A+448>>2]=l,H2[A+464>>2]=j2(j2(j2(Q*Z)+j2(E*C))+j2(D*h))+j2(j2(j2(B*l)+j2(N*u))+j2(m*v)),L=H2[W>>2],f=H2[r2>>2],i=H2[T>>2],n=H2[A2>>2],F=H2[f2>>2],Y=H2[w>>2],R=H2[$>>2],B=H2[e2>>2],D=H2[P>>2],E=H2[j>>2],Q=H2[z>>2],h=H2[O>>2],C=H2[K>>2],Z=H2[_>>2],d=H2[g>>2],v=H2[I>>2],u=H2[r+4>>2],l=H2[e+4>>2],y2[A+512>>2]=0,y2[A+496>>2]=0,y2[(c=A+476|0)>>2]=0,y2[c+4>>2]=0,y2[(c=A+468|0)>>2]=0,y2[c+4>>2]=0,b=d,m=j2(j2(j2(X*k)+j2(y*s))+j2(a*M)),d=j2(-m),q=v,v=j2(j2(j2(U*k)+j2(J*s))+j2(a*S)),k=j2(j2(j2(x*k)+j2(p*s))+j2(a*V)),N=j2(j2(j2(b*d)-j2(q*v))-j2(Z*k)),H2[A+508>>2]=N,t=j2(j2(j2(h*d)-j2(v*C))-j2(k*Q)),H2[A+504>>2]=t,E=j2(j2(j2(E*d)-j2(v*l))-j2(k*D)),H2[A+500>>2]=E,Q=j2(j2(j2(v*R)+j2(m*B))+j2(k*Y)),H2[A+492>>2]=Q,h=j2(j2(j2(v*n)+j2(m*F))+j2(k*i)),H2[A+488>>2]=h,C=j2(j2(j2(v*u)+j2(m*f))+j2(k*L)),H2[A+484>>2]=C,l=H2[i2>>2],s=H2[a2>>2],k=H2[r+456>>2],y2[A+528>>2]=0,Z=j2(Q*s),H2[A+524>>2]=Z,d=j2(h*l),H2[A+520>>2]=d,v=j2(C*k),H2[A+516>>2]=v,u=H2[n2>>2],s=H2[G>>2],k=H2[e+456>>2],y2[A+724>>2]=0,y2[A+544>>2]=0,l=j2(N*s),H2[A+540>>2]=l,s=j2(t*u),H2[A+536>>2]=s,k=j2(E*k),H2[A+532>>2]=k,H2[A+548>>2]=j2(j2(j2(C*v)+j2(h*d))+j2(Q*Z))+j2(j2(j2(E*k)+j2(t*s))+j2(N*l)),k=Q6(A,r+4|0,e+4|0),y2[(c=A+708|0)>>2]=0,y2[c+4>>2]=0,H2[A+728>>2]=k,X2[A+716|0]=0,(s=H2[A+692>>2])>=j2(0)&&((B=b2(j2(k-H2[A+688>>2])))j2(3.1415927410125732)&&(B=j2(B+j2(-6.2831854820251465))),j2(-s)>B?(y2[A+712>>2]=1065353216,X2[A+716|0]=1,H2[A+708>>2]=-j2(s+B)):s>2]=-1082130432,X2[A+716|0]=1,H2[A+708>>2]=s-B)),l=H2[(w=A)+560>>2],c=y2[A+28>>2],s=H2[A+576>>2],k=H2[A+592>>2],v=j2(j2(j2(l*H2[c+4>>2])+j2(s*H2[c+8>>2]))+j2(k*H2[c+12>>2])),u=j2(j2(j2(l*H2[c+20>>2])+j2(s*H2[c+24>>2]))+j2(k*H2[c+28>>2])),k=j2(j2(j2(l*H2[c+36>>2])+j2(s*H2[c+40>>2]))+j2(k*H2[c+44>>2])),A=y2[A+32>>2],H2[w+720>>2]=j2(1)/j2(j2(j2(j2(v*j2(j2(j2(v*H2[c+324>>2])+j2(u*H2[c+340>>2]))+j2(k*H2[c+356>>2])))+j2(u*j2(j2(j2(v*H2[c+328>>2])+j2(u*H2[c+344>>2]))+j2(k*H2[c+360>>2]))))+j2(k*j2(j2(j2(v*H2[c+332>>2])+j2(u*H2[c+348>>2]))+j2(k*H2[c+364>>2]))))+j2(j2(j2(v*j2(j2(j2(v*H2[A+324>>2])+j2(u*H2[A+340>>2]))+j2(k*H2[A+356>>2])))+j2(u*j2(j2(j2(v*H2[A+328>>2])+j2(u*H2[A+344>>2]))+j2(k*H2[A+360>>2]))))+j2(k*j2(j2(j2(v*H2[A+332>>2])+j2(u*H2[A+348>>2]))+j2(k*H2[A+364>>2])))))),L2=176+o|0},function(A,e){A|=0,e|=0;var r,f,i=j2(0);if(j2(0),U2[A+738|0])y2[e>>2]=0,y2[e+4>>2]=0;else{y2[e>>2]=5,y2[e+4>>2]=1,i=Q6(A,y2[A+28>>2]+4|0,y2[A+32>>2]+4|0),y2[(f=A+708|0)>>2]=0,y2[4+f>>2]=0,H2[A+728>>2]=i,X2[A+716|0]=0;A:{e:{if((r=H2[A+692>>2])>=j2(0)){if((i=b2(j2(i-H2[A+688>>2])))j2(3.1415927410125732)&&(i=j2(i+j2(-6.2831854820251465))),j2(-r)>i){y2[A+712>>2]=1065353216,X2[A+716|0]=1,H2[A+708>>2]=-j2(r+i);break e}if(r>2]=-1082130432,X2[A+716|0]=1,H2[A+708>>2]=r-i;break e}}if(!U2[A+737|0])break A}y2[e>>2]=y2[e>>2]+1,y2[e+4>>2]=y2[e+4>>2]-1}}},function(A,e){A|=0,e|=0;var V,r=j2(0),f=0,i=j2(0),a=j2(0),n=j2(0),b=j2(0),t=0,o=j2(0),c=0,k=j2(0),u=j2(0),l=j2(0),s=j2(0),v=j2(0),B=0,d=j2(0),_=j2(0),g=0,Z=j2(0),C=j2(0),w=j2(0),E=j2(0),Q=j2(0),h=0,G=0,F=j2(0),D=0,Y=j2(0),x=0,m=j2(0),N=j2(0),R=j2(0),I=j2(0),p=j2(0),S=0,J=j2(0),M=j2(0),X=j2(0),y=j2(0),U=j2(0),H=j2(0),P=j2(0),j=j2(0),z=j2(0),O=j2(0),K=j2(0),L=j2(0),q=j2(0),$=j2(0),A2=j2(0),e2=j2(0),r2=j2(0),f2=j2(0),B=(j2(0),y2[e+24>>2]),W=y2[A+32>>2],T=y2[A+28>>2];A:if(U2[A+739|0]){if(a=H2[y2[A+32>>2]+404>>2],L=H2[y2[A+28>>2]+404>>2],r=(r=j2(a+L))>j2(0)?j2(a/r):j2(.5),i=j2(j2(1)-r),k=H2[W+36>>2],_=H2[A+664>>2],u=H2[W+40>>2],n=H2[A+668>>2],d=H2[W+44>>2],b=H2[A+672>>2],l=H2[W+60>>2],q=j2(j2(j2(j2(k*_)+j2(u*n))+j2(d*b))+l),I=C=j2(q-l),l=H2[A+560>>2],s=H2[T+36>>2],Z=H2[A+576>>2],w=H2[T+40>>2],o=H2[A+592>>2],Q=H2[T+44>>2],H=j2(j2(j2(l*s)+j2(Z*w))+j2(o*Q)),v=H2[A+624>>2],p=j2(v*k),k=H2[A+640>>2],p=j2(p+j2(k*u)),u=H2[A+656>>2],P=j2(p+j2(u*d)),d=j2(j2(H*r)+j2(P*i)),J=j2((p=d)*d),Y=H2[T+4>>2],m=H2[T+8>>2],N=H2[T+12>>2],j=j2(j2(j2(Y*l)+j2(m*Z))+j2(N*o)),E=H2[W+4>>2],F=H2[W+8>>2],M=H2[W+12>>2],z=j2(j2(j2(E*v)+j2(F*k))+j2(M*u)),d=j2(j2(j*r)+j2(z*i)),R=H2[T+20>>2],O=H2[T+24>>2],y=H2[T+28>>2],U=j2(j2(j2(l*R)+j2(Z*O))+j2(o*y)),X=H2[W+20>>2],o=k,k=H2[W+24>>2],l=u,u=H2[W+28>>2],K=j2(j2(j2(v*X)+j2(o*k))+j2(l*u)),o=j2(j2(U*r)+j2(K*i)),v=j2(j2(1)/j2(K2(j2(J+j2(j2(d*d)+j2(o*o)))))),l=j2(p*v),p=j2(C*l),Z=H2[W+52>>2],M=j2(Z+j2(j2(j2(E*_)+j2(F*n))+j2(M*b))),C=j2(M-Z),Z=j2(d*v),k=j2(j2(j2(X*_)+j2(k*n))+j2(u*b)),_=H2[W+56>>2],X=j2(k+_),k=j2(X-_),_=j2(o*v),n=j2(p+j2(j2(C*Z)+j2(k*_))),u=j2(l*n),$=j2(I-u),b=H2[A+600>>2],o=H2[A+604>>2],v=H2[A+608>>2],d=H2[T+60>>2],A2=j2(j2(j2(j2(s*b)+j2(w*o))+j2(Q*v))+d),E=j2(A2-d),d=H2[T+52>>2],e2=j2(d+j2(j2(j2(Y*b)+j2(m*o))+j2(N*v))),F=j2(e2-d),d=j2(j2(j2(R*b)+j2(O*o))+j2(y*v)),b=H2[T+56>>2],r2=j2(d+b),v=j2(r2-b),b=j2(j2(l*E)+j2(j2(F*Z)+j2(v*_))),J=j2(l*b),u=j2(J-u),o=j2($-j2(i*u)),d=k,k=j2(_*n),f2=j2(d-k),I=j2(_*b),p=j2(I-k),k=j2(f2-j2(i*p)),n=j2(Z*n),V=j2(C-n),b=j2(Z*b),n=j2(b-n),d=j2(V-j2(i*n)),J=j2(E-J),C=j2(J+j2(r*u)),v=j2(v-I),E=j2(v+j2(r*p)),b=j2(F-b),F=j2(b+j2(r*n)),f=Lj2(1.1920928955078125e-7)?(s=j2(j2(1)/j2(K2(n))),n=j2(a*s),a=j2(v*s),b=j2(b*s)):(n=H2[A+556>>2],v=H2[A+572>>2],u=H2[A+588>>2],b=j2(j2(j2(Y*n)+j2(m*v))+j2(N*u)),a=j2(j2(j2(n*R)+j2(v*O))+j2(u*y)),n=j2(j2(j2(n*s)+j2(v*w))+j2(u*Q))),t=y2[e+12>>2],H2[t+8>>2]=j2(F*a)-j2(E*b),H2[t+4>>2]=j2(C*b)-j2(F*n),H2[t>>2]=j2(E*n)-j2(C*a),t=y2[e+20>>2],H2[t+8>>2]=-j2(j2(d*a)-j2(k*b)),H2[t+4>>2]=-j2(j2(o*b)-j2(d*n)),H2[t>>2]=-j2(j2(k*n)-j2(o*a)),w=j2(j2(l*b)-j2(Z*n)),Q=j2(j2(_*n)-j2(l*a)),u=j2(j2(d*w)-j2(k*Q)),v=j2(j2(Z*a)-j2(_*b)),s=j2(j2(o*Q)-j2(d*v)),m=j2(j2(k*v)-j2(o*w)),N=j2(j2(F*w)-j2(E*Q)),R=j2(j2(C*Q)-j2(F*v)),Y=j2(j2(E*v)-j2(C*w)),f&&U2[A+716|0]&&(N=j2(r*N),R=j2(r*R),Y=j2(r*Y),u=j2(i*u),s=j2(i*s),m=j2(i*m)),t=(c=B<<2)+y2[e+12>>2]|0,H2[t+8>>2]=N,H2[t+4>>2]=R,H2[t>>2]=Y,t=y2[e+20>>2],H2[t+c>>2]=-m,H2[t+((g=B+1|0)<<2)>>2]=-s,H2[t+((D=B+2|0)<<2)>>2]=-u,u=j2(j2(d*_)-j2(k*Z)),d=j2(j2(o*Z)-j2(d*l)),k=j2(j2(k*l)-j2(o*_)),s=j2(j2(F*_)-j2(E*Z)),o=j2(j2(C*Z)-j2(F*l)),C=j2(j2(E*l)-j2(C*_)),f&&(C=j2(r*C),u=j2(i*u),d=j2(i*d),k=j2(i*k),o=j2(r*o),s=j2(r*s)),f=(c=(t=B<<1)<<2)+y2[e+12>>2]|0,H2[f+8>>2]=s,H2[f+4>>2]=o,H2[f>>2]=C,f=y2[e+20>>2],H2[c+f>>2]=-k,H2[((h=1|t)<<2)+f>>2]=-d,H2[((G=t+2|0)<<2)+f>>2]=-u,k=H2[(8&U2[A+748|0]?A+756|0:e+4|0)>>2],U2[A+736|0]?(r=j2(-v),i=j2(-w),s=j2(-Q),d=j2(-b),g=y2[e+28>>2]):(o=H2[e>>2],f=y2[e+8>>2],H2[f+8>>2]=n,H2[f+4>>2]=a,H2[f>>2]=b,f=(c=B<<2)+y2[e+8>>2]|0,H2[f+8>>2]=v,H2[f+4>>2]=w,H2[f>>2]=Q,f=(t<<=2)+y2[e+8>>2]|0,H2[f+8>>2]=l,H2[f+4>>2]=_,H2[f>>2]=Z,f=y2[e+16>>2],H2[f+8>>2]=-n,H2[f+4>>2]=-a,d=j2(-b),H2[f>>2]=d,s=j2(-Q),H2[f+c>>2]=s,r=j2(-v),H2[f+(D<<2)>>2]=r,i=j2(-w),H2[f+(g<<2)>>2]=i,H2[f+t>>2]=-Z,H2[f+(G<<2)>>2]=-l,H2[f+(h<<2)>>2]=-_,g=y2[e+28>>2],o=j2(k*o),u=j2(M-e2),C=j2(X-r2),E=j2(q-A2),H2[g>>2]=o*j2(j2(j2(u*b)+j2(C*a))+j2(E*n)),H2[c+g>>2]=o*j2(j2(j2(u*Q)+j2(C*w))+j2(E*v)),H2[t+g>>2]=o*j2(j2(j2(u*Z)+j2(C*_))+j2(E*l)),f=y2[e+20>>2]),c=y2[e+12>>2],t=P2(B,12),H2[c+t>>2]=b,H2[(D=t+4|0)+c>>2]=a,H2[(h=t+8|0)+c>>2]=n,H2[(B<<=4)+c>>2]=Q,H2[(G=8|B)+c>>2]=v,H2[(x=4|B)+c>>2]=w,H2[f+t>>2]=d,H2[f+h>>2]=-n,H2[f+D>>2]=-a,H2[f+B>>2]=s,H2[f+G>>2]=r,H2[f+x>>2]=i,r=j2(k*H2[e>>2]),i=j2(j2(U*P)-j2(H*K)),u=j2(i*b),b=j2(j2(H*z)-j2(j*P)),u=j2(u+j2(b*a)),a=j2(j2(j*K)-j2(U*z)),H2[t+g>>2]=r*j2(u+j2(a*n)),H2[B+g>>2]=r*j2(j2(j2(i*Q)+j2(b*w))+j2(a*v)),U2[A+716|0])D=1,G=0!=U2[A+737|0],t=(a=j2(H2[A+708>>2]*H2[A+732>>2]))>j2(0)?1:2;else{if(!U2[A+737|0])break A;a=j2(D=0),G=1,t=0}if(B=P2(y2[e+24>>2],5),H2[(h=B<<2)+c>>2]=Z,H2[(x=h+4|0)+c>>2]=_,H2[(S=c)+(c=h+8|0)>>2]=l,H2[f+h>>2]=-Z,H2[f+c>>2]=-l,H2[f+x>>2]=-_,i=H2[A+688>>2],n=H2[A+692>>2],(r=b2(j2(i-n)))j2(3.1415927410125732)&&(r=j2(r+j2(-6.2831854820251465))),(i=b2(j2(i+n)))j2(3.1415927410125732)&&(i=j2(i+j2(-6.2831854820251465))),y2[(f=(B<<2)+g|0)>>2]=0,k=2&(c=y2[A+748>>2])?H2[A+764>>2]:k,(h=((g=r!=i)|!D)&G)&&(4&c&&(y2[y2[e+32>>2]+(B<<2)>>2]=y2[A+752>>2]),o=H2[A+680>>2],S=f,u=j2(i>2],(s=j2(o/j2(k*H2[e>>2])))j2(0)&&(u=n<=i&&n>j2(i-s)?j2(j2(i-n)/s):j2(i>2]=j2(j2(u*o)*H2[A+732>>2])+H2[f>>2],H2[(h=B<<2)+y2[e+36>>2]>>2]=-H2[A+684>>2],y2[h+y2[e+40>>2]>>2]=y2[A+684>>2]),D)return H2[f>>2]=H2[f>>2]+j2(a*j2(k*H2[e>>2])),1&c&&(y2[y2[e+32>>2]+(B<<2)>>2]=y2[A+760>>2]),r=g?(c=y2[e+36>>2]+(B<<2)|0,1==(0|t)?(y2[c>>2]=0,j2(34028234663852886e22)):(y2[c>>2]=-8388609,j2(0))):(y2[y2[e+36>>2]+(B<<2)>>2]=-8388609,j2(34028234663852886e22)),H2[y2[e+40>>2]+(B<<2)>>2]=r,(i=H2[A+704>>2])>j2(0)&&(r=j2(j2(j2(j2(H2[T+388>>2]*Z)+j2(H2[T+392>>2]*_))+j2(H2[T+396>>2]*l))-j2(j2(j2(H2[W+388>>2]*Z)+j2(H2[W+392>>2]*_))+j2(H2[W+396>>2]*l))),1==(0|t)?rH2[f>>2]&&(H2[f>>2]=r):r>j2(0)&&(r=j2(r*j2(-i)))>2]&&(H2[f>>2]=r)),void(H2[f>>2]=H2[A+700>>2]*H2[f>>2])}else{if(r=H2[A+624>>2],C=H2[W+36>>2],i=H2[A+640>>2],E=H2[W+40>>2],H=j2(j2(r*C)+j2(i*E)),a=H2[A+656>>2],F=H2[W+44>>2],P=j2(a*F),Y=H2[W+20>>2],m=H2[W+24>>2],j=j2(j2(r*Y)+j2(i*m)),N=H2[W+28>>2],z=j2(a*N),R=H2[W+12>>2],O=j2(R*a),y=H2[W+4>>2],U=H2[W+8>>2],K=j2(j2(y*r)+j2(U*i)),s=H2[A+560>>2],r=H2[T+36>>2],o=H2[A+576>>2],i=H2[T+40>>2],L=j2(j2(s*r)+j2(o*i)),b=H2[A+592>>2],a=H2[T+44>>2],q=j2(b*a),w=H2[A+556>>2],Q=H2[A+572>>2],M=j2(j2(w*r)+j2(Q*i)),v=H2[A+588>>2],X=j2(v*a),k=H2[A+584>>2],$=j2(k*a),u=H2[A+552>>2],d=H2[A+568>>2],A2=j2(j2(u*r)+j2(d*i)),l=H2[T+20>>2],Z=H2[T+24>>2],e2=j2(j2(s*l)+j2(o*Z)),_=H2[T+28>>2],r2=j2(b*_),n=H2[T+12>>2],J=j2(n*b),b=H2[T+4>>2],I=j2(b*s),s=H2[T+8>>2],f2=j2(I+j2(s*o)),o=H2[A+664>>2],I=j2(C*o),C=H2[A+668>>2],I=j2(I+j2(E*C)),E=H2[A+672>>2],F=j2(j2(I+j2(F*E))+H2[W+60>>2]),m=j2(j2(j2(j2(Y*o)+j2(m*C))+j2(N*E))+H2[W+56>>2]),C=j2(H2[W+52>>2]+j2(j2(j2(y*o)+j2(U*C))+j2(R*E))),E=H2[A+600>>2],I=i,i=H2[A+604>>2],p=a,a=H2[A+608>>2],o=H2[T+60>>2],N=j2(j2(j2(j2(r*E)+j2(I*i))+j2(p*a))+o),r=H2[T+56>>2],R=j2(j2(j2(j2(l*E)+j2(Z*i))+j2(_*a))+r),Y=H2[T+52>>2],i=j2(Y+j2(j2(j2(b*E)+j2(s*i))+j2(n*a))),t=B<<1,(x=U2[A+736|0])||(f=y2[e+8>>2],y2[f>>2]=1065353216,y2[(t=4+(B<<2)|0)+f>>2]=1065353216,y2[(c=8+(B<<3)|0)+f>>2]=1065353216,f=y2[e+16>>2],y2[f>>2]=-1082130432,y2[f+t>>2]=-1082130432,y2[f+c>>2]=-1082130432,Y=H2[T+52>>2],o=H2[T+60>>2],r=H2[T+56>>2],t=B<<1),c=y2[e+12>>2],y2[c+12>>2]=0,a=j2(N-o),H2[c+4>>2]=a,y2[c>>2]=0,r=j2(R-r),H2[c+8>>2]=-r,H2[(f=(G=B<<2)+c|0)>>2]=-a,y2[f+4>>2]=0,a=j2(i-Y),H2[f+8>>2]=a,y2[f+12>>2]=0,H2[(f=(t<<=2)+c|0)>>2]=r,H2[f+4>>2]=-a,y2[f+8>>2]=0,y2[f+12>>2]=0,r=H2[W+52>>2],a=H2[W+60>>2],o=H2[W+56>>2],g=y2[e+20>>2],y2[g+12>>2]=0,y2[g>>2]=0,o=j2(m-o),H2[g+8>>2]=o,a=j2(F-a),H2[g+4>>2]=-a,H2[(f=g+G|0)>>2]=a,y2[f+4>>2]=0,r=j2(C-r),H2[f+8>>2]=-r,y2[f+12>>2]=0,H2[(f=t+g|0)>>2]=-o,H2[f+4>>2]=r,y2[f+8>>2]=0,y2[f+12>>2]=0,h=y2[A+748>>2],o=H2[(8&h?A+756|0:e+4|0)>>2],r=j2(o*H2[e>>2]),D=y2[e+28>>2],x||(H2[D>>2]=r*j2(C-i),H2[G+D>>2]=r*j2(m-R),H2[D+(B<<3)>>2]=r*j2(F-N)),f=P2(B,12),i=j2(j2(j2(u*b)+j2(d*s))+j2(k*n)),H2[f+c>>2]=i,G=f+4|0,a=j2(j2(j2(u*l)+j2(d*Z))+j2(k*_)),H2[G+c>>2]=a,x=f+8|0,k=j2(A2+$),H2[x+c>>2]=k,V=4|(t=B<<4),l=j2(j2(j2(w*l)+j2(Q*Z))+j2(v*_)),H2[V+c>>2]=l,Z=j2(j2(j2(b*w)+j2(s*Q))+j2(n*v)),H2[c+t>>2]=Z,S=8|t,s=j2(M+X),H2[S+c>>2]=s,H2[g+G>>2]=-a,H2[f+g>>2]=-i,H2[g+x>>2]=-k,H2[g+V>>2]=-l,H2[t+g>>2]=-Z,H2[g+S>>2]=-s,_=j2(f2+J),w=j2(j+z),n=j2(e2+r2),Q=j2(K+O),v=j2(j2(_*w)-j2(n*Q)),u=i,i=j2(H+P),b=j2(L+q),w=j2(j2(n*i)-j2(b*w)),i=j2(j2(b*Q)-j2(_*i)),H2[f+D>>2]=j2(j2(k*v)+j2(j2(u*w)+j2(a*i)))*r,H2[t+D>>2]=j2(j2(s*v)+j2(j2(Z*w)+j2(l*i)))*r,U2[A+716|0])G=(a=j2(H2[A+708>>2]*H2[A+732>>2]))>j2(0)?1:2,x=0!=U2[A+737|0],t=1;else{if(!U2[A+737|0])break A;a=j2(0),x=1,t=G=0}B=P2(B,5),H2[(f=B<<2)+c>>2]=_,H2[(V=f+4|0)+c>>2]=n,H2[(S=c)+(c=f+8|0)>>2]=b,H2[g+V>>2]=-n,H2[f+g>>2]=-_,H2[c+g>>2]=-b,i=H2[A+688>>2],l=H2[A+692>>2],(r=b2(j2(i-l)))j2(3.1415927410125732)&&(r=j2(r+j2(-6.2831854820251465))),(i=b2(j2(i+l)))j2(3.1415927410125732)&&(i=j2(i+j2(-6.2831854820251465))),y2[(f=D+(B<<2)|0)>>2]=0,o=2&h?H2[A+764>>2]:o,(g=((c=r!=i)|1^t)&x)&&(4&h&&(y2[y2[e+32>>2]+(B<<2)>>2]=y2[A+752>>2]),w=H2[A+680>>2],S=f,k=j2(i>2],(s=j2(w/j2(o*H2[e>>2])))j2(0)&&(k=l<=i&&l>j2(i-s)?j2(j2(i-l)/s):j2(i>2]=j2(j2(k*w)*H2[A+732>>2])+H2[f>>2],H2[(g=B<<2)+y2[e+36>>2]>>2]=-H2[A+684>>2],y2[g+y2[e+40>>2]>>2]=y2[A+684>>2]),t&&(H2[f>>2]=H2[f>>2]+j2(a*j2(o*H2[e>>2])),1&h&&(y2[y2[e+32>>2]+(B<<2)>>2]=y2[A+760>>2]),r=c?(t=y2[e+36>>2]+(B<<2)|0,1==(0|G)?(y2[t>>2]=0,j2(34028234663852886e22)):(y2[t>>2]=-8388609,j2(0))):(y2[y2[e+36>>2]+(B<<2)>>2]=-8388609,j2(34028234663852886e22)),H2[y2[e+40>>2]+(B<<2)>>2]=r,(i=H2[A+704>>2])>j2(0)&&(r=j2(j2(j2(j2(_*H2[T+388>>2])+j2(n*H2[T+392>>2]))+j2(b*H2[T+396>>2]))-j2(j2(j2(_*H2[W+388>>2])+j2(n*H2[W+392>>2]))+j2(b*H2[W+396>>2]))),1==(0|G)?rH2[f>>2]&&(H2[f>>2]=r):r>j2(0)&&(r=j2(r*j2(-i)))>2]&&(H2[f>>2]=r)),H2[f>>2]=H2[A+700>>2]*H2[f>>2])}},function(A,e,r,f){A|=0,e|=0,r=j2(r),f|=0;A:if(!(6<(f=f+1|0)>>>0)){e:switch(f-1|0){case 0:case 1:case 2:case 3:case 4:break A;default:break e;}if(!(3<(e=e-1|0)>>>0)){e:switch(e-1|0){case 0:return H2[A+764>>2]=r,void(y2[A+748>>2]=2|y2[A+748>>2]);case 2:return H2[A+760>>2]=r,void(y2[A+748>>2]=1|y2[A+748>>2]);case 1:return H2[A+752>>2]=r,void(y2[A+748>>2]=4|y2[A+748>>2]);default:break e;}H2[A+756>>2]=r,y2[A+748>>2]=8|y2[A+748>>2]}}},function(A,e,r){A|=0,e|=0,r|=0;var f=j2(0);r=r+1|0;A:if(!(6>>0)){e:switch(r-1|0){case 0:case 1:case 2:case 3:case 4:break A;default:break e;}if(!(3<(e=e-1|0)>>>0)){e:switch(e-1|0){case 0:return j2(H2[A+764>>2]);case 2:return j2(H2[A+760>>2]);case 1:return j2(H2[A+752>>2]);default:break e;}f=H2[A+756>>2]}}return j2(f)},function(A){return 220},function(A,e,r){A|=0,e|=0,r|=0;var f,i,a=j2(0);return j2(0),j2(0),v6(A,e,r),y2[e+52>>2]=y2[A+552>>2],y2[e+56>>2]=y2[A+556>>2],y2[e+60>>2]=y2[A+560>>2],y2[e+64>>2]=y2[A+564>>2],y2[e+68>>2]=y2[A+568>>2],y2[e+72>>2]=y2[A+572>>2],y2[e+76>>2]=y2[A+576>>2],y2[e+80>>2]=y2[A+580>>2],y2[e+84>>2]=y2[A+584>>2],y2[e+88>>2]=y2[A+588>>2],y2[e+92>>2]=y2[A+592>>2],y2[e+96>>2]=y2[A+596>>2],y2[e+100>>2]=y2[A+600>>2],y2[e+104>>2]=y2[A+604>>2],y2[e+108>>2]=y2[A+608>>2],y2[e+112>>2]=y2[A+612>>2],y2[e+116>>2]=y2[A+616>>2],y2[e+120>>2]=y2[A+620>>2],y2[e+124>>2]=y2[A+624>>2],y2[e+128>>2]=y2[A+628>>2],y2[e+132>>2]=y2[A+632>>2],y2[e+136>>2]=y2[A+636>>2],y2[e+140>>2]=y2[A+640>>2],y2[e+144>>2]=y2[A+644>>2],y2[e+148>>2]=y2[A+648>>2],y2[e+152>>2]=y2[A+652>>2],y2[e+156>>2]=y2[A+656>>2],y2[e+160>>2]=y2[A+660>>2],y2[e+164>>2]=y2[A+664>>2],y2[e+168>>2]=y2[A+668>>2],y2[e+172>>2]=y2[A+672>>2],y2[e+176>>2]=y2[A+676>>2],y2[e+184>>2]=U2[A+736|0],r=y2[A+684>>2],y2[e+192>>2]=y2[A+680>>2],y2[e+196>>2]=r,y2[e+188>>2]=U2[A+737|0],y2[e+180>>2]=U2[A+740|0],f=H2[A+688>>2],i=H2[A+692>>2],(a=b2(j2(f-i)))j2(3.1415927410125732)&&(a=j2(a+j2(-6.2831854820251465))),H2[e+200>>2]=a,(a=b2(j2(f+i)))j2(3.1415927410125732)&&(a=j2(a+j2(-6.2831854820251465))),H2[e+204>>2]=a,y2[e+208>>2]=y2[A+696>>2],r=y2[(A=A+700|0)+4>>2],y2[e+212>>2]=y2[A>>2],y2[e+216>>2]=r,24368},function(A){return y2[(A|=0)+748>>2]},E6,function(A){A|=0,j2(0),j2(0),j2(0),j2(0),j2(0),j2(0),j2(0);var e,r,f,i,a,n,b,t,o,c,k,u,l,s,v,B,d,_,g,Z,C,w,E,Q,h=0,G=0;for(j2(0),j2(0),j2(0),j2(0),j2(0),j2(0),j2(0),j2(0),j2(0),j2(0),j2(0),j2(0),j2(0),L2=Q=L2-144|0,y2[A+36>>2]=0,y2[(r=136+Q|0)>>2]=0,y2[4+r>>2]=0,y2[128+Q>>2]=0,h=A+48|(y2[132+Q>>2]=0);;)if(y2[(c=(128+Q|0)+G|0)>>2]=1065353216,y2[92+Q>>2]=0,y2[108+Q>>2]=0,r=y2[A+28>>2],n=H2[(e=r)+4>>2],y2[80+Q>>2]=y2[e+4>>2],o=H2[(e=e+20|0)>>2],y2[84+Q>>2]=y2[e>>2],f=H2[(e=r+36|0)>>2],y2[88+Q>>2]=y2[e>>2],k=H2[(e=r+8|0)>>2],y2[96+Q>>2]=y2[e>>2],u=H2[(e=r+24|0)>>2],y2[100+Q>>2]=y2[e>>2],a=H2[(e=r+40|0)>>2],y2[104+Q>>2]=y2[e>>2],l=H2[(e=r+12|0)>>2],y2[112+Q>>2]=y2[e>>2],s=H2[(e=r+28|0)>>2],y2[116+Q>>2]=y2[e>>2],y2[124+Q>>2]=0,b=H2[(e=r+44|0)>>2],y2[120+Q>>2]=y2[e>>2],y2[44+Q>>2]=0,y2[60+Q>>2]=0,e=y2[A+32>>2],v=H2[e+4>>2],y2[32+Q>>2]=y2[e+4>>2],B=H2[(i=e+20|0)>>2],y2[36+Q>>2]=y2[i>>2],d=H2[(i=e+36|0)>>2],y2[40+Q>>2]=y2[i>>2],_=H2[(i=e+8|0)>>2],y2[48+Q>>2]=y2[i>>2],g=H2[(i=e+24|0)>>2],y2[52+Q>>2]=y2[i>>2],Z=H2[(i=e+40|0)>>2],y2[56+Q>>2]=y2[i>>2],C=H2[(i=e+12|0)>>2],y2[64+Q>>2]=y2[i>>2],w=H2[(i=e+28|0)>>2],y2[68+Q>>2]=y2[i>>2],y2[76+Q>>2]=0,E=H2[(i=e+44|0)>>2],y2[72+Q>>2]=y2[i>>2],y2[28+Q>>2]=0,i=H2[A+300>>2],t=j2(i*f),f=H2[A+304>>2],t=j2(t+j2(f*a)),a=H2[A+308>>2],t=j2(t+j2(a*b)),b=H2[r+60>>2],H2[24+Q>>2]=j2(t+b)-b,b=j2(j2(j2(i*o)+j2(f*u))+j2(a*s)),o=H2[r+56>>2],H2[20+Q>>2]=j2(b+o)-o,f=j2(j2(j2(i*n)+j2(f*k))+j2(a*l)),i=H2[r+52>>2],H2[16+Q>>2]=j2(f+i)-i,y2[12+Q>>2]=0,i=H2[A+316>>2],f=H2[A+320>>2],a=H2[A+324>>2],n=H2[e+60>>2],H2[8+Q>>2]=j2(j2(j2(j2(i*d)+j2(f*Z))+j2(a*E))+n)-n,n=H2[e+56>>2],H2[4+Q>>2]=j2(j2(j2(j2(i*B)+j2(f*g))+j2(a*w))+n)-n,f=j2(j2(j2(i*v)+j2(f*_))+j2(a*C)),i=H2[e+52>>2],H2[Q>>2]=j2(f+i)-i,B6(h,80+Q|0,32+Q|0,16+Q|0,Q,128+Q|0,r+456|0,H2[r+404>>2],e+456|0,H2[e+404>>2]),h=h+84|(y2[c>>2]=0),12==(0|(G=G+4|0)))break;L2=144+Q|0},function(A,e){A=U2[(A|=0)+344|0]?0:3,y2[(e|=0)+4>>2]=A,y2[e>>2]=A},function(A,e){A|=0,e|=0;var r,f,i,a,n,b,t,o,c,k,u,l,s,v,B,d,_,g,Z,C=0,w=0,E=(j2(0),j2(0)),C=(j2(0),j2(0),j2(0),j2(0),j2(0),j2(0),j2(0),j2(0),j2(0),j2(0),j2(0),j2(0),j2(0),y2[e+8>>2]);y2[C>>2]=1065353216,u=y2[e+24>>2],y2[(a=4+(t=u<<2)|0)+C>>2]=1065353216,y2[C+(_=8+(l=u<<3)|0)>>2]=1065353216,w=y2[A+28>>2],o=H2[w+8>>2],n=H2[w+12>>2],c=H2[w+20>>2],b=H2[w+24>>2],s=H2[w+28>>2],k=H2[w+36>>2],E=H2[A+304>>2],v=H2[w+40>>2],f=H2[A+308>>2],B=H2[w+44>>2],d=H2[w+4>>2],i=H2[A+300>>2],C=y2[e+12>>2],y2[C>>2]=0,y2[C+12>>2]=0,k=j2(j2(j2(i*k)+j2(E*v))+j2(f*B)),H2[C+4>>2]=k,c=j2(j2(j2(i*c)+j2(E*b))+j2(f*s)),H2[C+8>>2]=-c,H2[(r=C+t|0)>>2]=-k,y2[4+r>>2]=0,o=j2(j2(j2(d*i)+j2(o*E))+j2(n*f)),H2[8+r>>2]=o,y2[12+r>>2]=0,H2[(r=C+l|0)>>2]=c,H2[4+r>>2]=-o,C=y2[A+32>>2],y2[8+r>>2]=0,y2[12+r>>2]=0,r=y2[e+16>>2],y2[r>>2]=-1082130432,y2[r+a>>2]=-1082130432,y2[r+_>>2]=-1082130432,s=H2[C+8>>2],v=H2[C+12>>2],b=H2[C+36>>2],B=H2[C+40>>2],d=H2[C+44>>2],n=H2[C+20>>2],E=H2[A+320>>2],_=H2[C+24>>2],f=H2[A+324>>2],g=H2[C+28>>2],Z=H2[C+4>>2],i=H2[A+316>>2],r=y2[e+20>>2],y2[r>>2]=0,y2[r+12>>2]=0,n=j2(j2(j2(i*n)+j2(E*_))+j2(f*g)),H2[r+8>>2]=n,b=j2(j2(j2(i*b)+j2(E*B))+j2(f*d)),H2[r+4>>2]=-b,H2[(a=r+t|0)>>2]=b,y2[4+a>>2]=0,E=j2(j2(j2(Z*i)+j2(s*E))+j2(v*f)),H2[8+a>>2]=-E,y2[12+a>>2]=0,H2[4+(r=r+l|0)>>2]=E,H2[r>>2]=-n,y2[8+r>>2]=0,y2[12+r>>2]=0,r=y2[e+28>>2],a=y2[A+332>>2],f=j2(H2[(1&a?A+336|0:e+4|0)>>2]*H2[e>>2]),H2[r>>2]=f*j2(j2(j2(E+H2[C+52>>2])-o)-H2[w+52>>2]),H2[r+t>>2]=f*j2(j2(j2(n+H2[C+56>>2])-c)-H2[w+56>>2]),H2[r+l>>2]=f*j2(j2(j2(b+H2[C+60>>2])-k)-H2[w+60>>2]),C=u<<1,2&a&&(w=y2[e+32>>2],y2[w>>2]=y2[A+340>>2],y2[w+t>>2]=y2[A+340>>2],y2[w+(C<<2)>>2]=y2[A+340>>2]),f=H2[A+356>>2],i=j2(-f),(E=f)>j2(0)&&(H2[y2[e+36>>2]>>2]=i,H2[y2[e+40>>2]>>2]=f,E=H2[A+356>>2]),E>j2(0)&&(H2[(w=u<<2)+y2[e+36>>2]>>2]=i,H2[w+y2[e+40>>2]>>2]=f,E=H2[A+356>>2]),E>j2(0)&&(H2[(C<<=2)+y2[e+36>>2]>>2]=i,H2[C+y2[e+40>>2]>>2]=f),y2[e+48>>2]=y2[A+352>>2]},function(A,e,r,f){if(A|=0,e|=0,r=j2(r),-1==(0|(f|=0))&&!(3<(e=e-1|0)>>>0)){A:switch(e-2|0){default:return H2[A+336>>2]=r,void(y2[A+332>>2]=1|y2[A+332>>2]);case 0:case 1:break A;}H2[A+340>>2]=r,y2[A+332>>2]=2|y2[A+332>>2]}},function(A,e,r){A|=0,e|=0,r|=0;var f=j2(0),f=j2(34028234663852886e22);if(-1==(0|r)&&!(3<(e=e-1|0)>>>0)){A:switch(e-2|0){default:return j2(H2[A+336>>2]);case 0:case 1:break A;}f=H2[A+340>>2]}return j2(f)},v1,function(A,e,r){return v6(A|=0,e|=0,r|=0),y2[e+52>>2]=y2[A+300>>2],y2[e+56>>2]=y2[A+304>>2],y2[e+60>>2]=y2[A+308>>2],y2[e+64>>2]=y2[A+312>>2],y2[e+68>>2]=y2[A+316>>2],y2[e+72>>2]=y2[A+320>>2],y2[e+76>>2]=y2[A+324>>2],y2[e+80>>2]=y2[A+328>>2],24484},function(A){return y2[(A|=0)+332>>2]},E6,i6,function(A,e){e|=0;var r=0,f=0,i=0;G6(A|=0,y2[A+28>>2]+4|0,y2[A+32>>2]+4|0),y2[e>>2]=0,y2[e+4>>2]=0;A:{e:{r:if(!(4<(i=y2[A+956>>2])>>>0))switch(f=2,i-1|0){case 3:break e;case 0:case 1:case 2:break r;default:break A;}f=1}r=y2[e>>2]=f}U2[A+792|0]&&(y2[e>>2]=r=r+1|0),U2[A+798|0]&&(y2[e>>2]=r=r+1|0),i=e;A:{e:{r:if(!(4<(f=y2[A+960>>2])>>>0)){f:switch(f-1|0){case 0:case 1:case 2:break r;case 3:break f;default:break A;}r=r+2|0;break e}r=r+1|0}y2[i>>2]=r}U2[A+793|0]&&(y2[e>>2]=r=r+1|0),U2[A+799|0]&&(y2[e>>2]=r=r+1|0),i=e;A:{e:{r:if(!(4<(f=y2[A+964>>2])>>>0)){f:switch(f-1|0){case 0:case 1:case 2:break r;case 3:break f;default:break A;}r=r+2|0;break e}r=r+1|0}y2[i>>2]=r}U2[A+794|0]&&(y2[e>>2]=r=r+1|0),U2[A+800|0]&&(y2[e>>2]=r+1),F6(A,0);A:{e:{r:if(!(4<(f=y2[A+1052>>2])>>>0))switch(r=2,f-1|0){case 3:break e;case 0:case 1:case 2:break r;default:break A;}r=1}y2[e>>2]=y2[e>>2]+r}U2[A+996|0]&&(y2[e>>2]=y2[e>>2]+1),U2[A+1016|0]&&(y2[e>>2]=y2[e>>2]+1),F6(A,1);A:{e:{r:if(!(4<(f=y2[A+1140>>2])>>>0))switch(r=2,f-1|0){case 3:break e;case 0:case 1:case 2:break r;default:break A;}r=1}y2[e>>2]=y2[e>>2]+r}U2[A+1084|0]&&(y2[e>>2]=y2[e>>2]+1),U2[A+1104|0]&&(y2[e>>2]=y2[e>>2]+1),F6(A,r=2);A:{e:{r:if(!(4<(f=y2[A+1228>>2])>>>0))switch(f-1|0){case 3:break e;case 0:case 1:case 2:break r;default:break A;}r=1}y2[e>>2]=y2[e>>2]+r}U2[A+1172|0]&&(y2[e>>2]=y2[e>>2]+1),U2[A+1192|0]&&(y2[e>>2]=y2[e>>2]+1)},function(A,e){e|=0;var r,f,i,a,n,b,t,o,c=0,k=0,u=0,l=0,s=0,v=0,B=0,d=0,_=0,g=0;L2=o=L2-112|0,v=y2[(A|=0)+32>>2],c=y2[A+28>>2],r=y2[A+1232>>(s=2)]-(u=1)|0;A:if(!(4>>0)){e:{r:switch(r-1|0){default:u=2,s=1;break A;case 0:k=1,u=0;break A;case 1:u=2,k=1;break e;case 2:k=2,u=0,s=1;break A;case 3:break r;}k=2}s=0}for(f=v+388|0,i=c+388|0,a=v+372|0,n=c+372|0,b=v+4|0,t=c+4|0,r=e+4|0,c=P2(k,88)+A|0,v=y2[c+1052>>2]||U2[c+996|0]||U2[1016+(P2(k,88)+A|0)|0]?(g=y2[(B=(l=(k<<4)+A|0)+1388|0)+4>>2],y2[(v=32+o|0)>>2]=y2[B>>2],y2[v+4>>2]=g,l=y2[(v=l+1380|0)+4>>2],y2[24+o>>2]=y2[v>>2],y2[28+o>>2]=l,1&(v=y2[A+1456>>2]>>12+(k<<2))||(y2[984+(P2(k,88)+A|0)>>2]=y2[y2[e+32>>2]>>2]),2&v||(y2[980+(P2(k,88)+A|0)>>2]=y2[r>>2]),4&v||(y2[992+(P2(k,88)+A|0)>>2]=y2[y2[e+32>>2]>>2]),8&v||(y2[988+(P2(k,88)+A|0)>>2]=y2[r>>2]),D6(A,c+968|0,t,b,n,a,i,f,e,0,24+o|0,1,0)):0,c=P2(u,88)+A|0,(y2[c+1052>>2]||U2[c+996|0]||U2[1016+(P2(u,88)+A|0)|0])&&(g=y2[(B=(l=(u<<4)+A|0)+1388|0)+4>>2],y2[(k=32+o|0)>>2]=y2[B>>2],y2[k+4>>2]=g,l=y2[(k=l+1380|0)+4>>2],y2[24+o>>2]=y2[k>>2],y2[28+o>>2]=l,1&(k=y2[A+1456>>2]>>12+(u<<2))||(y2[984+(P2(u,88)+A|0)>>2]=y2[y2[e+32>>2]>>2]),2&k||(y2[980+(P2(u,88)+A|0)>>2]=y2[r>>2]),4&k||(y2[992+(P2(u,88)+A|0)>>2]=y2[y2[e+32>>2]>>2]),8&k||(y2[988+(P2(u,88)+A|0)>>2]=y2[r>>2]),v=D6(A,c+968|0,t,b,n,a,i,f,e,v,24+o|0,1,0)+v|0),u=P2(s,88)+A|0,(y2[u+1052>>2]||U2[u+996|0]||U2[1016+(P2(s,88)+A|0)|0])&&(B=y2[(l=(c=(s<<4)+A|0)+1388|0)+4>>2],y2[(k=32+o|0)>>2]=y2[l>>2],y2[k+4>>2]=B,c=y2[(k=c+1380|0)+4>>2],y2[24+o>>2]=y2[k>>2],y2[28+o>>2]=c,1&(k=y2[A+1456>>2]>>12+(s<<2))||(y2[984+(P2(s,88)+A|0)>>2]=y2[y2[e+32>>2]>>2]),2&k||(y2[980+(P2(s,88)+A|0)>>2]=y2[r>>2]),4&k||(y2[992+(P2(s,88)+A|0)>>2]=y2[y2[e+32>>2]>>2]),8&k||(y2[988+(P2(s,88)+A|0)>>2]=y2[r>>2]),v=D6(A,u+968|0,t,b,n,a,i,f,e,v,24+o|0,1,0)+v|0),y2[(s=100+o|0)>>2]=0,y2[s+4>>2]=0,y2[108+o>>2]=0,y2[92+o>>2]=0,y2[96+o>>2]=0,X2[88+o|0]=0,y2[84+o>>2]=0,X2[80+o|0]=0,y2[76+o>>2]=0,X2[72+o|0]=0,y2[68+o>>2]=0,X2[64+o|0]=0,y2[56+o>>2]=0,y2[60+o>>2]=1036831949,X2[52+o|0]=0,y2[48+o>>2]=0,y2[40+o>>2]=0,y2[44+o>>2]=1063675494,y2[32+o>>2]=0,y2[36+o>>2]=1045220557,y2[24+o>>2]=1065353216,y2[28+o>>2]=-1082130432,k=0;;){if(s=U2[(l=A+k|0)+792|0],(B=y2[(c=A+_|0)+956>>2])||(u=s,s=1,u)||U2[l+798|(s=0)]){y2[108+o>>2]=B,X2[52+o|0]=s,y2[32+o>>2]=y2[c+712>>2],y2[104+o>>2]=y2[c+940>>2],y2[96+o>>2]=y2[c+908>>2],y2[100+o>>2]=y2[c+924>>2],X2[64+o|0]=U2[l+795|0],y2[68+o>>2]=y2[c+804>>2],X2[72+o|0]=U2[l+798|0],y2[76+o>>2]=y2[c+820>>2],X2[80+o|0]=U2[l+836|0],y2[84+o>>2]=y2[c+840>>2],X2[88+o|0]=U2[l+856|0],y2[92+o>>2]=y2[c+860>>2],y2[28+o>>2]=y2[c+696>>2],y2[24+o>>2]=y2[c+680>>2],y2[60+o>>2]=y2[c+892>>2],y2[56+o>>2]=y2[c+876>>2],y2[20+o>>2]=0,y2[8+o>>2]=y2[c+1236>>2],y2[12+o>>2]=y2[c+1252>>2],y2[16+o>>2]=y2[c+1268>>2],B=c+744|0,1&(u=y2[A+1456>>2]>>_)||(B=y2[e+32>>2]),y2[(l=s=o)+40>>2]=y2[B>>2],y2[s+36>>2]=y2[(2&u?c+728|0:r)>>2],y2[48+o>>2]=y2[(4&u?c+776|0:y2[e+32>>2])>>2],y2[44+o>>2]=y2[(8&u?c+760|0:r)>>2],c=((k+2&255)>>>0)%3|0,u=P2(((k+(s=1)&255)>>>0)%3|0,88)+A|0;A:if((l=y2[u+1052>>2]-1|0)>>>0<=3){e:switch(l-2|0){case 0:s=(d=+H2[u+1040>>2])<-.001|.001>2]<-.001||(s=.001<+H2[u+1044>>2])}else s=0;u=1,c=P2(c,88)+A|0,l=y2[c+1052>>2]-1|0;A:if(!(3>>0)){e:{r:switch(l-2|0){case 0:if((d=+H2[c+1040>>2])<-.001)break e;if(.001>2]<-.001)&&!(.001<+H2[c+1044>>2]))break A}u=0}v=D6(A,24+o|0,t,b,n,a,i,f,e,v,8+o|0,0,s?u:1)+v|0}if(k=k+1|0,12==(0|(_=_+4|0)))break}L2=112+o|0},function(A,e,r,f){var i;A|=0,e|=0,r=j2(r);A:{if((f|=0)>>>0<=2){if(3<(e=e-1|0)>>>0)break A;e:switch(e-1|0){case 0:return H2[728+((e=f<<2)+A|0)>>2]=r,void(y2[A+1456>>2]=y2[A+1456>>2]|2<>2]=r,void(y2[A+1456>>2]=y2[A+1456>>2]|1<>2]=r,void(y2[A+1456>>2]=y2[A+1456>>2]|8<>2]=r,void(y2[A+1456>>2]=y2[A+1456>>2]|4<>>0)&&!(3<(e=e-1|0)>>>0)){e:switch(e-1|0){case 0:return H2[980+(P2(i,88)+A|0)>>2]=r,void(y2[A+1456>>2]=y2[A+1456>>2]|2<<(f<<2));case 2:return H2[984+(P2(i,88)+A|0)>>2]=r,void(y2[A+1456>>2]=y2[A+1456>>2]|1<<(f<<2));default:return H2[988+(P2(i,88)+A|0)>>2]=r,void(y2[A+1456>>2]=y2[A+1456>>2]|8<<(f<<2));case 1:break e;}H2[992+(P2(i,88)+A|0)>>2]=r,y2[A+1456>>2]=y2[A+1456>>2]|4<<(f<<2)}}},function(A,e,r){A|=0,e|=0,r|=0;var f=j2(0);if(r>>>0<=2){if(3<(e=e-1|0)>>>0)return j2(j2(0));A:switch(e-1|0){case 0:return j2(H2[728+((r<<2)+A|0)>>2]);case 2:return j2(H2[744+((r<<2)+A|0)>>2]);default:return j2(H2[760+((r<<2)+A|0)>>2]);case 1:break A;}return j2(H2[776+((r<<2)+A|0)>>2])}if(!(2<(r=r-3|0)>>>0||3<(e=e-1|0)>>>0)){A:switch(e-1|0){case 0:return j2(H2[980+(P2(r,88)+A|0)>>2]);case 2:return j2(H2[984+(P2(r,88)+A|0)>>2]);default:return j2(H2[988+(P2(r,88)+A|0)>>2]);case 1:break A;}f=H2[992+(P2(r,88)+A|0)>>2]}return j2(f)},function(A){return 644},function(A,e,r){return v6(A|=0,e|=0,r|=0),y2[e+52>>2]=y2[A+48>>2],y2[e+56>>2]=y2[A+52>>2],y2[e+60>>2]=y2[A+56>>2],y2[e+64>>2]=y2[A+60>>2],y2[e+68>>2]=y2[A- -64>>2],y2[e+72>>2]=y2[A+68>>2],y2[e+76>>2]=y2[A+72>>2],y2[e+80>>2]=y2[A+76>>2],y2[e+84>>2]=y2[A+80>>2],y2[e+88>>2]=y2[A+84>>2],y2[e+92>>2]=y2[A+88>>2],y2[e+96>>2]=y2[A+92>>2],y2[e+100>>2]=y2[A+96>>2],y2[e+104>>2]=y2[A+100>>2],y2[e+108>>2]=y2[A+104>>2],y2[e+112>>2]=y2[A+108>>2],y2[e+116>>2]=y2[A+112>>2],y2[e+120>>2]=y2[A+116>>2],y2[e+124>>2]=y2[A+120>>2],y2[e+128>>2]=y2[A+124>>2],y2[e+132>>2]=y2[A+128>>2],y2[e+136>>2]=y2[A+132>>2],y2[e+140>>2]=y2[A+136>>2],y2[e+144>>2]=y2[A+140>>2],y2[e+148>>2]=y2[A+144>>2],y2[e+152>>2]=y2[A+148>>2],y2[e+156>>2]=y2[A+152>>2],y2[e+160>>2]=y2[A+156>>2],y2[e+164>>2]=y2[A+160>>2],y2[e+168>>2]=y2[A+164>>2],y2[e+172>>2]=y2[A+168>>2],y2[e+176>>2]=y2[A+172>>2],y2[e+428>>2]=y2[A+968>>2],y2[e+412>>2]=y2[A+972>>2],y2[e+444>>2]=y2[A+976>>2],y2[e+460>>2]=y2[A+980>>2],y2[e+476>>2]=y2[A+984>>2],y2[e+492>>2]=y2[A+988>>2],y2[e+508>>2]=y2[A+992>>2],y2[e+524>>2]=y2[A+1e3>>2],y2[e+540>>2]=y2[A+1004>>2],y2[e+556>>2]=y2[A+1012>>2],y2[e+572>>2]=y2[A+1020>>2],y2[e+588>>2]=y2[A+1028>>2],y2[e+604>>2]=y2[A+1036>>2],y2[e+432>>2]=y2[A+1056>>2],y2[e+416>>2]=y2[A+1060>>2],y2[e+448>>2]=y2[A+1064>>2],y2[e+464>>2]=y2[A+1068>>2],y2[e+480>>2]=y2[A+1072>>2],y2[e+496>>2]=y2[A+1076>>2],y2[e+512>>2]=y2[A+1080>>2],y2[e+528>>2]=y2[A+1088>>2],y2[e+544>>2]=y2[A+1092>>2],y2[e+560>>2]=y2[A+1100>>2],y2[e+576>>2]=y2[A+1108>>2],y2[e+592>>2]=y2[A+1116>>2],y2[e+608>>2]=y2[A+1124>>2],y2[e+436>>2]=y2[A+1144>>2],y2[e+420>>2]=y2[A+1148>>2],y2[e+452>>2]=y2[A+1152>>2],y2[e+468>>2]=y2[A+1156>>2],y2[e+484>>2]=y2[A+1160>>2],y2[e+500>>2]=y2[A+1164>>2],y2[e+516>>2]=y2[A+1168>>2],y2[e+532>>2]=y2[A+1176>>2],y2[e+548>>2]=y2[A+1180>>2],y2[e+564>>2]=y2[A+1188>>2],y2[e+580>>2]=y2[A+1196>>2],y2[e+596>>2]=y2[A+1204>>2],r=y2[A+1212>>2],y2[e+440>>2]=0,y2[e+612>>2]=r,y2[e+616>>2]=0,y2[e+600>>2]=0,y2[e+584>>2]=0,y2[e+568>>2]=0,y2[e+552>>2]=0,y2[e+536>>2]=0,y2[e+520>>2]=0,y2[e+504>>2]=0,y2[e+488>>2]=0,y2[e+472>>2]=0,y2[e+456>>2]=0,y2[e+424>>2]=0,X2[e+620|0]=U2[A+996|0],X2[e+624|0]=U2[A+1008|0],X2[e+628|0]=U2[A+1016|0],X2[e+632|0]=U2[A+1024|0],X2[e+636|0]=U2[A+1032|0],X2[e+621|0]=U2[A+1084|0],X2[e+625|0]=U2[A+1096|0],X2[e+629|0]=U2[A+1104|0],X2[e+633|0]=U2[A+1112|0],X2[e+637|0]=U2[A+1120|0],X2[e+622|0]=U2[A+1172|0],X2[e+626|0]=U2[A+1184|0],X2[e+630|0]=U2[A+1192|0],X2[e+634|0]=U2[A+1200|0],r=U2[A+1208|0],X2[e+639|0]=0,X2[e+635|0]=0,X2[e+631|0]=0,X2[e+627|0]=0,X2[e+623|0]=0,X2[e+638|0]=r,y2[e+196>>2]=y2[A+680>>2],y2[e+200>>2]=y2[A+684>>2],y2[e+204>>2]=y2[A+688>>2],y2[e+208>>2]=y2[A+692>>2],y2[e+180>>2]=y2[A+696>>2],y2[e+184>>2]=y2[A+700>>2],y2[e+188>>2]=y2[A+704>>2],y2[e+192>>2]=y2[A+708>>2],y2[e+212>>2]=y2[A+712>>2],y2[e+216>>2]=y2[A+716>>2],y2[e+220>>2]=y2[A+720>>2],y2[e+224>>2]=y2[A+724>>2],y2[e+228>>2]=y2[A+728>>2],y2[e+232>>2]=y2[A+732>>2],y2[e+236>>2]=y2[A+736>>2],y2[e+240>>2]=y2[A+740>>2],y2[e+244>>2]=y2[A+744>>2],y2[e+248>>2]=y2[A+748>>2],y2[e+252>>2]=y2[A+752>>2],y2[e+256>>2]=y2[A+756>>2],y2[e+260>>2]=y2[A+760>>2],y2[e+264>>2]=y2[A+764>>2],y2[e+268>>2]=y2[A+768>>2],y2[e+272>>2]=y2[A+772>>2],y2[e+276>>2]=y2[A+776>>2],y2[e+280>>2]=y2[A+780>>2],y2[e+284>>2]=y2[A+784>>2],y2[e+288>>2]=y2[A+788>>2],y2[e+292>>2]=y2[A+876>>2],y2[e+296>>2]=y2[A+880>>2],y2[e+300>>2]=y2[A+884>>2],y2[e+304>>2]=y2[A+888>>2],y2[e+308>>2]=y2[A+892>>2],y2[e+312>>2]=y2[A+896>>2],y2[e+316>>2]=y2[A+900>>2],y2[e+320>>2]=y2[A+904>>2],y2[e+324>>2]=y2[A+804>>2],y2[e+328>>2]=y2[A+808>>2],y2[e+332>>2]=y2[A+812>>2],y2[e+336>>2]=y2[A+816>>2],y2[e+340>>2]=y2[A+820>>2],y2[e+344>>2]=y2[A+824>>2],y2[e+348>>2]=y2[A+828>>2],y2[e+352>>2]=y2[A+832>>2],y2[e+356>>2]=y2[A+840>>2],y2[e+360>>2]=y2[A+844>>2],y2[e+364>>2]=y2[A+848>>2],y2[e+368>>2]=y2[A+852>>2],y2[e+372>>2]=y2[A+860>>2],y2[e+376>>2]=y2[A+864>>2],y2[e+380>>2]=y2[A+868>>2],y2[e+384>>2]=y2[A+872>>2],X2[e+388|0]=U2[A+792|0],X2[e+392|0]=U2[A+795|0],X2[e+396|0]=U2[A+798|0],X2[e+400|0]=U2[A+836|0],X2[e+404|0]=U2[A+856|0],X2[e+389|0]=U2[A+793|0],X2[e+393|0]=U2[A+796|0],X2[e+397|0]=U2[A+799|0],X2[e+401|0]=U2[A+837|0],X2[e+405|0]=U2[A+857|0],X2[e+390|0]=U2[A+794|0],X2[e+394|0]=U2[A+797|0],X2[e+398|0]=U2[A+800|0],X2[e+402|0]=U2[A+838|0],r=U2[A+858|0],X2[e+407|0]=0,X2[e+403|0]=0,X2[e+399|0]=0,X2[e+395|0]=0,X2[e+391|0]=0,X2[e+406|0]=r,A=y2[A+1232>>2],y2[e+408>>2]=0,y2[e+640>>2]=A,24708},d6,E6,e,W0,function(A,e){A0(A|=0,(e|=0)+8|0,128)},function(A,e){A0((A|=0)+8|0,e|=0,128)},function(A,e,r,f){l(0|(e|=0),0|(r|=0),0|(f|=0))},function(A,e,r,f,i){N2[y2[y2[(A|=0)>>2]+16>>2]](A,e|=0,r|=0,f|=0)},function(A,e,r,f){var i,a,n,b;A|=0,e=j2(e),f|=0,L2=b=L2+-64|0,n=y2[4+(a=(r|=0)+56|0)>>2],y2[(i=56+b|0)>>2]=y2[a>>2],y2[4+i>>2]=n,i=y2[r+52>>2],y2[48+b>>2]=y2[r+48>>2],y2[52+b>>2]=i,y2[44+b>>2]=0,y2[32+b>>2]=y2[r+4>>2],y2[36+b>>2]=y2[r+20>>2],y2[40+b>>2]=y2[r+36>>2],y2[28+b>>2]=0,y2[16+b>>2]=y2[r>>2],y2[20+b>>2]=y2[r+16>>2],y2[24+b>>2]=y2[r+32>>2],N2[y2[y2[A>>2]+72>>2]](A,48+b|0,32+b|0,16+b|0,e,j2(-1.5707963705062866),j2(1.5707963705062866),j2(-1.5707963705062866),j2(1.5707963705062866),f,j2(30),0),y2[12+b>>2]=0,H2[8+b>>2]=-H2[24+b>>2],H2[4+b>>2]=-H2[20+b>>2],H2[b>>2]=-H2[16+b>>2],N2[y2[y2[A>>2]+72>>2]](A,48+b|0,32+b|0,b,e,j2(-1.5707963705062866),j2(1.5707963705062866),j2(-1.5707963705062866),j2(1.5707963705062866),f,j2(30),0),L2=b+64|0},function(A,e,r,f){var i,a,n,b;A|=0,e|=0,r=j2(r),f|=0,y2[(i=24+(L2=b=L2+-64|0)|0)>>2]=0,y2[4+i>>2]=0,y2[(i=40+b|0)>>2]=1065353216,y2[4+i>>2]=0,n=y2[4+(a=e+8|0)>>2],y2[(i=56+b|0)>>2]=y2[a>>2],y2[4+i>>2]=n,y2[(i=12+b|0)>>2]=0,y2[4+i>>2]=0,y2[20+b>>2]=1065353216,y2[32+b>>2]=0,y2[36+b>>2]=0,i=y2[e+4>>2],y2[48+b>>2]=y2[e>>2],y2[52+b>>2]=i,y2[4+b>>2]=0,y2[8+b>>2]=0,y2[b>>2]=1065353216,N2[y2[y2[A>>2]+24>>2]](A,r,b,f),L2=b+64|0},function(A,e,r,f,i,a,n,b,t){A|=0,e|=0,r|=0,f|=0,b|=0,t=j2(t),N2[y2[y2[A>>2]+36>>2]](A,e,r,f,b,t)},function(A,e,r,f,i,a){A|=0,e|=0,r|=0,f|=0,i|=0,a=j2(a),N2[y2[y2[A>>2]+16>>2]](A,e,r,i),N2[y2[y2[A>>2]+16>>2]](A,r,f,i),N2[y2[y2[A>>2]+16>>2]](A,f,e,i)},function(A,e,r,f,i,a){A|=0,e|=0,r|=0,f=j2(f),i|=0,a|=0,y2[(L2=i=L2-16|0)+12>>2]=0,H2[i+8>>2]=j2(H2[r+8>>2]*f)+H2[e+8>>2],H2[i+4>>2]=j2(H2[r+4>>2]*f)+H2[e+4>>2],H2[i>>2]=j2(H2[r>>2]*f)+H2[e>>2],N2[y2[y2[A>>2]+16>>2]](A,e,i,a),y2[i+12>>2]=0,H2[i+8>>2]=j2(H2[r+8>>2]*j2(.009999999776482582))+H2[e+8>>2],H2[i+4>>2]=j2(H2[r+4>>2]*j2(.009999999776482582))+H2[e+4>>2],H2[i>>2]=j2(H2[r>>2]*j2(.009999999776482582))+H2[e>>2],N2[y2[y2[A>>2]+16>>2]](A,e,i,a),L2=i+16|0},X1,q0,function(A,e){y2[(A|=0)+4>>2]=e|=0},l4,function(A,e,r,f){A|=0,e|=0,r|=0,f|=0;var i,a,n,b,t,o,c,k,u,l,s=j2(0),v=j2(0),B=j2(0);for(j2(0),j2(0),j2(0),j2(0),j2(0),j2(0),j2(0),j2(0),j2(0),L2=l=L2-48|0,v=H2[e>>2],s=H2[r>>2],B=H2[e+4>>2],i=H2[r+4>>2],a=H2[e+8>>2],n=H2[r+8>>2],y2[40+l>>2]=1065353216,y2[44+l>>2]=0,y2[32+l>>2]=1065353216,y2[36+l>>2]=1065353216,b=j2(j2(n+a)*j2(.5)),t=j2(j2(i+B)*j2(.5)),o=j2(j2(s+v)*j2(.5)),a=j2(j2(n-a)*j2(.5)),n=j2(j2(i-B)*j2(.5)),u=j2(j2(s-v)*j2(.5)),v=j2(1),s=j2(1),B=j2(1),r=0;;)if(y2[28+l>>2]=0,y2[12+l>>2]=0,c=j2(a*v),v=j2(b+c),H2[24+l>>2]=v,k=j2(n*s),i=j2(t+k),H2[20+l>>2]=i,s=j2(u*B),H2[16+l>>2]=o+s,H2[8+l>>2]=v,H2[4+l>>2]=i,s=j2(o-s),H2[l>>2]=s,N2[y2[y2[A>>2]+16>>2]](A,16+l|0,l,f),H2[24+l>>2]=v,H2[20+l>>2]=i,H2[16+l>>2]=s,y2[28+l>>2]=0,y2[12+l>>2]=0,H2[8+l>>2]=v,B=j2(t-k),H2[4+l>>2]=B,H2[l>>2]=s,N2[y2[y2[A>>2]+16>>2]](A,16+l|0,l,f),H2[24+l>>2]=v,H2[20+l>>2]=B,H2[16+l>>2]=s,y2[28+l>>2]=0,y2[12+l>>2]=0,H2[8+l>>2]=b-c,H2[4+l>>2]=B,H2[l>>2]=s,N2[y2[y2[A>>2]+16>>2]](A,16+l|0,l,f),y2[40+l>>2]=-1082130432,y2[44+l>>2]=0,y2[32+l>>2]=-1082130432,y2[36+l>>2]=-1082130432,r>>>0<=2)H2[(e=(32+l|0)+(r<<2)|0)>>2]=-H2[e>>2],r=r+1|0,v=H2[40+l>>2],s=H2[36+l>>2],B=H2[32+l>>2];else if(v=j2(-1),s=j2(-1),B=j2(-1),4==(0|(r=r+1|0)))break;L2=48+l|0},function(A,e,r){A|=0,e|=0,r=j2(r);var f,i,a,n,b,t=0;L2=b=L2-48|0,i=y2[4+(f=e+56|0)>>2],y2[(t=a=40+b|0)>>2]=y2[f>>2],y2[4+t>>2]=i,t=y2[e+52>>2],y2[32+b>>2]=y2[e+48>>2],y2[36+b>>2]=t,t=e+36|(y2[28+b>>2]=0),f=e+40|0,H2[24+b>>2]=j2(j2(j2(H2[e+32>>2]*r)+j2(H2[t>>2]*j2(0)))+j2(H2[f>>2]*j2(0)))+H2[a>>2],i=e+20|0,n=e+24|0,H2[20+b>>2]=j2(j2(j2(H2[e+16>>2]*r)+j2(H2[i>>2]*j2(0)))+j2(H2[n>>2]*j2(0)))+H2[36+b>>2],H2[16+b>>2]=j2(j2(j2(H2[e>>2]*r)+j2(H2[e+4>>2]*j2(0)))+j2(H2[e+8>>2]*j2(0)))+H2[32+b>>2],y2[8+b>>2]=1050253722,y2[12+b>>2]=0,y2[b>>2]=1065353216,y2[4+b>>2]=1050253722,N2[y2[y2[A>>2]+16>>2]](A,32+b|0,16+b|0,b),y2[28+b>>2]=0,H2[24+b>>2]=j2(j2(j2(H2[e+32>>2]*j2(0))+j2(H2[t>>2]*r))+j2(H2[f>>2]*j2(0)))+H2[a>>2],H2[20+b>>2]=j2(j2(j2(H2[e+16>>2]*j2(0))+j2(H2[i>>2]*r))+j2(H2[n>>2]*j2(0)))+H2[36+b>>2],H2[16+b>>2]=j2(j2(j2(H2[e>>2]*j2(0))+j2(H2[e+4>>2]*r))+j2(H2[e+8>>2]*j2(0)))+H2[32+b>>2],y2[8+b>>2]=1050253722,y2[12+b>>2]=0,y2[b>>2]=1050253722,y2[4+b>>2]=1065353216,N2[y2[y2[A>>2]+16>>2]](A,32+b|0,16+b|0,b),y2[28+b>>2]=0,H2[24+b>>2]=j2(j2(j2(H2[e+32>>2]*j2(0))+j2(H2[t>>2]*j2(0)))+j2(H2[f>>2]*r))+H2[a>>2],H2[20+b>>2]=j2(j2(j2(H2[e+16>>2]*j2(0))+j2(H2[i>>2]*j2(0)))+j2(H2[n>>2]*r))+H2[36+b>>2],H2[16+b>>2]=j2(j2(j2(H2[e>>2]*j2(0))+j2(H2[e+4>>2]*j2(0)))+j2(H2[e+8>>2]*r))+H2[32+b>>2],y2[8+b>>2]=1065353216,y2[12+b>>2]=0,y2[b>>2]=1050253722,y2[4+b>>2]=1050253722,N2[y2[y2[A>>2]+16>>2]](A,32+b|0,16+b|0,b),L2=48+b|0},function(A,e,r,f,i,a,n,b,t,o,c){var k,u,l,s,v,B,d,_,g,Z,C,w,E;if(A|=0,e|=0,r|=0,f|=0,i=j2(i),a=j2(a),n=j2(n),b=j2(b),t|=0,o|=0,c=j2(c),j2(0),j2(0),j2(0),j2(0),j2(0),j2(0),j2(0),j2(0),j2(0),L2=E=L2-32|0,v=H2[r+8>>2],k=H2[f+8>>2],l=H2[r>>2],u=H2[f+4>>2],s=H2[f>>2],Z=H2[r+4>>2],y2[28+E>>2]=0,B=R2(n),C=j2(j2(j2(u*l)-j2(Z*s))*a),d=I2(n),H2[24+E>>2]=j2(B*C)+j2(j2(d*j2(k*i))+H2[e+8>>2]),l=j2(j2(j2(v*s)-j2(k*l))*a),H2[20+E>>2]=j2(j2(d*j2(u*i))+H2[e+4>>2])+j2(B*l),k=j2(j2(j2(Z*k)-j2(v*u))*a),H2[16+E>>2]=j2(B*k)+j2(j2(d*j2(s*i))+H2[e>>2]),u=j2(b-n),a=j2(z2(j2(u/j2(c*j2(.01745329238474369))))),r=j2(z2(a))>2]+16>>2]](A,e,16+E|0,t),1<=(0|(_=r||1)))for(c=j2(0|_),w=24+E|0,r=0;;)if(y2[12+E>>2]=0,s=H2[f+8>>2],a=I2(b=j2(j2(j2(u*j2(0|(r=r+1|0)))/c)+n)),v=H2[e+8>>2],b=R2(b),H2[8+E>>2]=j2(C*b)+j2(v+j2(a*j2(s*i))),H2[4+E>>2]=j2(l*b)+j2(j2(a*j2(H2[f+4>>2]*i))+H2[e+4>>2]),H2[E>>2]=j2(k*b)+j2(j2(a*j2(H2[f>>2]*i))+H2[e>>2]),N2[y2[y2[A>>2]+16>>2]](A,16+E|0,E,t),g=y2[12+E>>2],y2[w>>2]=y2[8+E>>2],y2[4+w>>2]=g,g=y2[4+E>>2],y2[16+E>>2]=y2[E>>2],y2[20+E>>2]=g,!((0|r)<(0|_)))break;o&&N2[y2[y2[A>>2]+16>>2]](A,e,16+E|0,t),L2=32+E|0},function(A,e,r,f,i,a,n,b,t,o,c,V){A|=0,e|=0,r|=0,f|=0,i=j2(i),a=j2(a),n=j2(n),b=j2(b),t=j2(t),o|=0,c=j2(c),V|=0;var k,u,l,s,v,B,d,_,g,Z,x,p,S,J,M,X,y,U,H,P,j,z,O,C,w=0,E=0,Q=j2(0),h=j2(0),G=j2(0),F=j2(0),D=j2(0),Y=j2(0),m=j2(0),N=0,R=0,I=(j2(0),j2(0),j2(0),0),W=0,T=(j2(0),0),K=0,L=(j2(0),j2(0),j2(0),j2(0),0);if(j2(0),j2(0),j2(0),y2[44+(L2=C=L2-2416|0)>>2]=0,l=H2[r+8>>2],h=j2(l*i),F=H2[e+8>>2],H2[40+C>>2]=h+F,s=H2[r+4>>2],D=j2(s*i),Y=H2[e+4>>2],H2[36+C>>2]=D+Y,Q=H2[r>>2],m=j2(Q*i),G=H2[e>>2],H2[32+C>>2]=m+G,y2[28+C>>2]=0,H2[24+C>>2]=F-h,H2[20+C>>2]=Y-D,H2[16+C>>2]=G-m,F=H2[f>>2],D=H2[f+4>>2],Y=H2[f+8>>2],h=j2(c*j2(.01745329238474369)),m=j2(h+j2(-1.5707963705062866)),c=(K=a<=j2(-1.5707963705062866))?m:a,G=j2(j2(1.5707963705062866)-h),(a=(W=n>=j2(1.5707963705062866))?G:n)=j2(6.2831854820251465),P=j2(n/j2(0|(X=x-1|0))),y=(v=(0|E)<2?2:E+1|0)-2|0,U=j2(G/j2(0|(L=j=v-1|0))),l=I2(a=j2(Z+j2(U*j2(0)))),s=R2(a),E=1232+C|0,N=48+C|0,z=(0|v)<1;;){if(w=N,N=E,Q=I2(a=j2(c+j2(P*j2(0|R)))),h=R2(a),!z&&(F=H2[r>>2],D=H2[e>>2],Y=H2[f>>2],m=H2[r+4>>2],G=H2[e+4>>2],t=H2[f+4>>2],b=H2[r+8>>2],n=H2[e+8>>2],a=H2[f+8>>2],y2[w+12>>2]=0,_=j2(Q*i),Q=j2(_*s),O=a,a=j2(_*l),u=j2(h*i),H2[w+8>>2]=j2(j2(p*Q)+j2(n+j2(O*a)))+j2(b*u),H2[w+4>>2]=j2(j2(S*Q)+j2(G+j2(a*t)))+j2(u*m),H2[w>>2]=j2(j2(J*Q)+j2(D+j2(a*Y)))+j2(u*F),H=(I=(0|R)==(0|X))&K,R?N2[y2[y2[A>>2]+16>>2]](A,N,w,o):W&&N2[y2[y2[A>>2]+16>>2]](A,16+C|0,w,o),E=y2[4+(B=w+8|0)>>2],y2[(g=8+C|0)>>2]=y2[B>>2],y2[4+g>>2]=E,E=y2[w+4>>2],y2[C>>2]=y2[w>>2],y2[4+C>>2]=E,H&&N2[y2[y2[A>>2]+16>>2]](A,32+C|0,w,o),I|=!R,V&&(M?L||N2[y2[y2[A>>2]+16>>2]](A,C,w,o):I&&N2[y2[y2[A>>2]+16>>2]](A,e,w,o)),1!=(0|v)))for(g=N+16|0,E=T=0;;)if(h=H2[r>>2],F=H2[e>>2],D=H2[f>>2],Y=H2[r+4>>2],m=H2[e+4>>2],G=H2[f+4>>2],t=H2[r+8>>2],b=H2[e+8>>2],n=H2[f+8>>2],y2[28+(d=w+T|0)>>2]=0,a=j2(Z+j2(U*j2(0|(E=(B=E)+1|0)))),Q=j2(_*R2(a)),a=j2(_*I2(a)),H2[24+d>>2]=j2(j2(p*Q)+j2(b+j2(n*a)))+j2(u*t),H2[20+d>>2]=j2(j2(S*Q)+j2(m+j2(a*G)))+j2(u*Y),H2[(k=16+d|0)>>2]=j2(j2(J*Q)+j2(F+j2(a*D)))+j2(u*h),R?N2[y2[y2[A>>2]+16>>2]](A,T+g|0,k,o):W&&N2[y2[y2[A>>2]+16>>2]](A,16+C|0,k,o),N2[y2[y2[A>>2]+16>>2]](A,d,k,o),H&&N2[y2[y2[A>>2]+16>>2]](A,32+C|0,k,o),V&&(M?(0|B)==(0|y)&&N2[y2[y2[A>>2]+16>>2]](A,C,k,o):1^I|(0|B)!=(0|y)||N2[y2[y2[A>>2]+16>>2]](A,e,k,o)),T=T+16|0,(0|E)==(0|j))break;if(E=w,(0|x)==(0|(R=R+1|0)))break}L2=2416+C|0},function(A,e,r,f){var i,a,n;A|=0,e|=0,r|=0,f|=0,y2[28+(L2=n=L2-32|0)>>2]=0,y2[16+n>>2]=y2[e>>2],i=y2[e+4>>2],y2[20+n>>2]=i,a=y2[e+8>>2],y2[24+n>>2]=a,y2[12+n>>2]=0,y2[8+n>>2]=a,y2[4+n>>2]=i,y2[n>>2]=y2[r>>2],N2[y2[y2[A>>2]+16>>2]](A,16+n|0,n,f),y2[28+n>>2]=0,i=y2[r>>2],y2[16+n>>2]=i,y2[20+n>>2]=y2[e+4>>2],a=y2[e+8>>2],y2[24+n>>2]=a,y2[n>>2]=i,y2[12+n>>2]=0,y2[8+n>>2]=a,y2[4+n>>2]=y2[r+4>>2],N2[y2[y2[A>>2]+16>>2]](A,16+n|0,n,f),y2[28+n>>2]=0,y2[16+n>>2]=y2[r>>2],i=y2[r+4>>2],y2[20+n>>2]=i,a=y2[e+8>>2],y2[24+n>>2]=a,y2[12+n>>2]=0,y2[8+n>>2]=a,y2[4+n>>2]=i,y2[n>>2]=y2[e>>2],N2[y2[y2[A>>2]+16>>2]](A,16+n|0,n,f),y2[28+n>>2]=0,i=y2[e>>2],y2[16+n>>2]=i,y2[20+n>>2]=y2[r+4>>2],a=y2[e+8>>2],y2[24+n>>2]=a,y2[n>>2]=i,y2[12+n>>2]=0,y2[8+n>>2]=a,y2[4+n>>2]=y2[e+4>>2],N2[y2[y2[A>>2]+16>>2]](A,16+n|0,n,f),y2[28+n>>2]=0,i=y2[e>>2],y2[16+n>>2]=i,a=y2[e+4>>2],y2[20+n>>2]=a,y2[24+n>>2]=y2[e+8>>2],y2[4+n>>2]=a,y2[n>>2]=i,y2[12+n>>2]=0,y2[8+n>>2]=y2[r+8>>2],N2[y2[y2[A>>2]+16>>2]](A,16+n|0,n,f),y2[28+n>>2]=0,i=y2[r>>2],y2[16+n>>2]=i,a=y2[e+4>>2],y2[20+n>>2]=a,y2[24+n>>2]=y2[e+8>>2],y2[4+n>>2]=a,y2[n>>2]=i,y2[12+n>>2]=0,y2[8+n>>2]=y2[r+8>>2],N2[y2[y2[A>>2]+16>>2]](A,16+n|0,n,f),y2[28+n>>2]=0,i=y2[r>>2],y2[16+n>>2]=i,a=y2[r+4>>2],y2[20+n>>2]=a,y2[24+n>>2]=y2[e+8>>2],y2[4+n>>2]=a,y2[n>>2]=i,y2[12+n>>2]=0,y2[8+n>>2]=y2[r+8>>2],N2[y2[y2[A>>2]+16>>2]](A,16+n|0,n,f),y2[28+n>>2]=0,i=y2[e>>2],y2[16+n>>2]=i,a=y2[r+4>>2],y2[20+n>>2]=a,y2[24+n>>2]=y2[e+8>>2],y2[4+n>>2]=a,y2[n>>2]=i,y2[12+n>>2]=0,y2[8+n>>2]=y2[r+8>>2],N2[y2[y2[A>>2]+16>>2]](A,16+n|0,n,f),y2[28+n>>2]=0,y2[16+n>>2]=y2[e>>2],i=y2[e+4>>2],y2[20+n>>2]=i,a=y2[r+8>>2],y2[24+n>>2]=a,y2[12+n>>2]=0,y2[8+n>>2]=a,y2[4+n>>2]=i,y2[n>>2]=y2[r>>2],N2[y2[y2[A>>2]+16>>2]](A,16+n|0,n,f),y2[28+n>>2]=0,i=y2[r>>2],y2[16+n>>2]=i,y2[20+n>>2]=y2[e+4>>2],a=y2[r+8>>2],y2[24+n>>2]=a,y2[n>>2]=i,y2[12+n>>2]=0,y2[8+n>>2]=a,y2[4+n>>2]=y2[r+4>>2],N2[y2[y2[A>>2]+16>>2]](A,16+n|0,n,f),y2[28+n>>2]=0,y2[16+n>>2]=y2[r>>2],i=y2[r+4>>2],y2[20+n>>2]=i,a=y2[r+8>>2],y2[24+n>>2]=a,y2[12+n>>2]=0,y2[8+n>>2]=a,y2[4+n>>2]=i,y2[n>>2]=y2[e>>2],N2[y2[y2[A>>2]+16>>2]](A,16+n|0,n,f),y2[28+n>>2]=0,i=y2[e>>2],y2[16+n>>2]=i,y2[20+n>>2]=y2[r+4>>2],r=y2[r+8>>2],y2[24+n>>2]=r,y2[n>>2]=i,y2[12+n>>2]=0,y2[8+n>>2]=r,y2[4+n>>2]=y2[e+4>>2],N2[y2[y2[A>>2]+16>>2]](A,16+n|0,n,f),L2=32+n|0},function(A,e,r,f,i){var a,n,b,t,o,c,k,u,l,s,v,B,d,_,g,Z,C,w,E,Q;A|=0,e|=0,r|=0,f|=0,i|=0,j2(0),j2(0),j2(0),j2(0),j2(0),j2(0),j2(0),j2(0),j2(0),j2(0),j2(0),j2(0),j2(0),y2[28+(L2=Q=L2-32|0)>>2]=0,a=H2[e>>2],v=H2[f>>2],n=H2[e+4>>2],B=j2(n*H2[f+4>>2]),b=H2[e+8>>2],d=j2(b*H2[f+8>>2]),t=H2[f+48>>2],H2[16+Q>>2]=j2(j2(j2(a*v)+B)+d)+t,u=H2[f+32>>2],o=j2(n*H2[(_=f+36|0)>>2]),l=j2(b*H2[(g=f+40|0)>>2]),k=H2[(Z=f+56|0)>>2],H2[24+Q>>2]=j2(j2(j2(a*u)+o)+l)+k,s=H2[f+16>>2],c=j2(a*s),a=j2(n*H2[(C=f+20|0)>>2]),n=j2(b*H2[(w=f+24|0)>>2]),b=H2[(E=f+52|0)>>2],H2[20+Q>>2]=j2(j2(c+a)+n)+b,y2[12+Q>>2]=0,c=k,k=H2[r>>2],H2[8+Q>>2]=c+j2(l+j2(o+j2(u*k))),H2[4+Q>>2]=b+j2(n+j2(a+j2(s*k))),H2[Q>>2]=t+j2(d+j2(B+j2(v*k))),N2[y2[y2[A>>2]+16>>2]](A,16+Q|0,Q,i),y2[28+Q>>2]=0,a=H2[r>>2],v=j2(a*H2[f+32>>2]),n=H2[e+4>>2],B=H2[_>>2],b=H2[e+8>>2],d=j2(b*H2[g>>2]),t=H2[Z>>2],H2[24+Q>>2]=j2(j2(v+j2(n*B))+d)+t,u=j2(a*H2[f+16>>2]),o=H2[C>>2],l=j2(b*H2[w>>2]),k=H2[E>>2],H2[20+Q>>2]=j2(j2(u+j2(n*o))+l)+k,s=j2(a*H2[f>>2]),a=H2[f+4>>2],c=j2(s+j2(n*a)),n=j2(b*H2[f+8>>2]),b=H2[f+48>>2],H2[16+Q>>2]=j2(c+n)+b,y2[12+Q>>2]=0,c=t,t=H2[r+4>>2],H2[8+Q>>2]=c+j2(d+j2(v+j2(B*t))),H2[4+Q>>2]=k+j2(l+j2(u+j2(o*t))),H2[Q>>2]=b+j2(n+j2(s+j2(a*t))),N2[y2[y2[A>>2]+16>>2]](A,16+Q|0,Q,i),y2[28+Q>>2]=0,a=H2[r>>2],v=H2[f+32>>2],n=H2[r+4>>2],B=j2(n*H2[_>>2]),b=H2[e+8>>2],d=j2(b*H2[g>>2]),t=H2[Z>>2],H2[24+Q>>2]=j2(j2(j2(a*v)+B)+d)+t,u=H2[f+16>>2],o=j2(n*H2[C>>2]),l=j2(b*H2[w>>2]),k=H2[E>>2],H2[20+Q>>2]=j2(j2(j2(a*u)+o)+l)+k,s=H2[f>>2],c=j2(a*s),a=j2(n*H2[f+4>>2]),n=j2(b*H2[f+8>>2]),b=H2[f+48>>2],H2[16+Q>>2]=j2(j2(c+a)+n)+b,y2[12+Q>>2]=0,c=t,t=H2[e>>2],H2[8+Q>>2]=c+j2(d+j2(B+j2(v*t))),H2[4+Q>>2]=k+j2(l+j2(o+j2(u*t))),H2[Q>>2]=b+j2(n+j2(a+j2(s*t))),N2[y2[y2[A>>2]+16>>2]](A,16+Q|0,Q,i),y2[28+Q>>2]=0,a=H2[e>>2],v=j2(a*H2[f+32>>2]),n=H2[r+4>>2],B=H2[_>>2],b=H2[e+8>>2],d=j2(b*H2[g>>2]),t=H2[Z>>2],H2[24+Q>>2]=j2(j2(v+j2(n*B))+d)+t,u=j2(a*H2[f+16>>2]),o=H2[C>>2],l=j2(b*H2[w>>2]),k=H2[E>>2],H2[20+Q>>2]=j2(j2(u+j2(n*o))+l)+k,s=j2(a*H2[f>>2]),a=H2[f+4>>2],c=j2(s+j2(n*a)),n=j2(b*H2[f+8>>2]),b=H2[f+48>>2],H2[16+Q>>2]=j2(c+n)+b,y2[12+Q>>2]=0,c=t,t=H2[e+4>>2],H2[8+Q>>2]=c+j2(d+j2(v+j2(B*t))),H2[4+Q>>2]=k+j2(l+j2(u+j2(o*t))),H2[Q>>2]=b+j2(n+j2(s+j2(a*t))),N2[y2[y2[A>>2]+16>>2]](A,16+Q|0,Q,i),y2[28+Q>>2]=0,a=H2[e>>2],n=H2[e+4>>2],t=j2(j2(a*H2[f+32>>2])+j2(n*H2[_>>2])),b=H2[e+8>>2],u=H2[g>>2],o=H2[Z>>2],H2[24+Q>>2]=j2(t+j2(b*u))+o,l=j2(j2(a*H2[f+16>>2])+j2(n*H2[C>>2])),k=H2[w>>2],s=H2[E>>2],H2[20+Q>>2]=j2(l+j2(b*k))+s,a=j2(j2(a*H2[f>>2])+j2(n*H2[f+4>>2])),n=H2[f+8>>2],c=j2(a+j2(b*n)),b=H2[f+48>>2],H2[16+Q>>2]=c+b,y2[12+Q>>2]=0,c=o,o=H2[r+8>>2],H2[8+Q>>2]=c+j2(t+j2(u*o)),H2[4+Q>>2]=s+j2(l+j2(k*o)),H2[Q>>2]=b+j2(a+j2(n*o)),N2[y2[y2[A>>2]+16>>2]](A,16+Q|0,Q,i),y2[28+Q>>2]=0,a=H2[r>>2],n=H2[e+4>>2],t=j2(j2(a*H2[f+32>>2])+j2(n*H2[_>>2])),b=H2[e+8>>2],u=H2[g>>2],o=H2[Z>>2],H2[24+Q>>2]=j2(t+j2(b*u))+o,l=j2(j2(a*H2[f+16>>2])+j2(n*H2[C>>2])),k=H2[w>>2],s=H2[E>>2],H2[20+Q>>2]=j2(l+j2(b*k))+s,a=j2(j2(a*H2[f>>2])+j2(n*H2[f+4>>2])),n=H2[f+8>>2],c=j2(a+j2(b*n)),b=H2[f+48>>2],H2[16+Q>>2]=c+b,y2[12+Q>>2]=0,c=o,o=H2[r+8>>2],H2[8+Q>>2]=c+j2(t+j2(u*o)),H2[4+Q>>2]=s+j2(l+j2(k*o)),H2[Q>>2]=b+j2(a+j2(n*o)),N2[y2[y2[A>>2]+16>>2]](A,16+Q|0,Q,i),y2[28+Q>>2]=0,a=H2[r>>2],n=H2[r+4>>2],t=j2(j2(a*H2[f+32>>2])+j2(n*H2[_>>2])),b=H2[e+8>>2],u=H2[g>>2],o=H2[Z>>2],H2[24+Q>>2]=j2(t+j2(b*u))+o,l=j2(j2(a*H2[f+16>>2])+j2(n*H2[C>>2])),k=H2[w>>2],s=H2[E>>2],H2[20+Q>>2]=j2(l+j2(b*k))+s,a=j2(j2(a*H2[f>>2])+j2(n*H2[f+4>>2])),n=H2[f+8>>2],c=j2(a+j2(b*n)),b=H2[f+48>>2],H2[16+Q>>2]=c+b,y2[12+Q>>2]=0,c=o,o=H2[r+8>>2],H2[8+Q>>2]=c+j2(t+j2(u*o)),H2[4+Q>>2]=s+j2(l+j2(k*o)),H2[Q>>2]=b+j2(a+j2(n*o)),N2[y2[y2[A>>2]+16>>2]](A,16+Q|0,Q,i),y2[28+Q>>2]=0,a=H2[e>>2],n=H2[r+4>>2],t=j2(j2(a*H2[f+32>>2])+j2(n*H2[_>>2])),b=H2[e+8>>2],u=H2[g>>2],o=H2[Z>>2],H2[24+Q>>2]=j2(t+j2(b*u))+o,l=j2(j2(a*H2[f+16>>2])+j2(n*H2[C>>2])),k=H2[w>>2],s=H2[E>>2],H2[20+Q>>2]=j2(l+j2(b*k))+s,a=j2(j2(a*H2[f>>2])+j2(n*H2[f+4>>2])),n=H2[f+8>>2],c=j2(a+j2(b*n)),b=H2[f+48>>2],H2[16+Q>>2]=c+b,y2[12+Q>>2]=0,c=o,o=H2[r+8>>2],H2[8+Q>>2]=c+j2(t+j2(u*o)),H2[4+Q>>2]=s+j2(l+j2(k*o)),H2[Q>>2]=b+j2(a+j2(n*o)),N2[y2[y2[A>>2]+16>>2]](A,16+Q|0,Q,i),y2[28+Q>>2]=0,a=H2[e>>2],v=H2[f+32>>2],n=H2[e+4>>2],B=j2(n*H2[_>>2]),b=H2[r+8>>2],d=j2(b*H2[g>>2]),t=H2[Z>>2],H2[24+Q>>2]=j2(j2(j2(a*v)+B)+d)+t,u=H2[f+16>>2],o=j2(n*H2[C>>2]),l=j2(b*H2[w>>2]),k=H2[E>>2],H2[20+Q>>2]=j2(j2(j2(a*u)+o)+l)+k,s=H2[f>>2],c=j2(a*s),a=j2(n*H2[f+4>>2]),n=j2(b*H2[f+8>>2]),b=H2[f+48>>2],H2[16+Q>>2]=j2(j2(c+a)+n)+b,y2[12+Q>>2]=0,c=t,t=H2[r>>2],H2[8+Q>>2]=c+j2(d+j2(B+j2(v*t))),H2[4+Q>>2]=k+j2(l+j2(o+j2(u*t))),H2[Q>>2]=b+j2(n+j2(a+j2(s*t))),N2[y2[y2[A>>2]+16>>2]](A,16+Q|0,Q,i),y2[28+Q>>2]=0,a=H2[r>>2],v=j2(a*H2[f+32>>2]),n=H2[e+4>>2],B=H2[_>>2],b=H2[r+8>>2],d=j2(b*H2[g>>2]),t=H2[Z>>2],H2[24+Q>>2]=j2(j2(v+j2(n*B))+d)+t,u=j2(a*H2[f+16>>2]),o=H2[C>>2],l=j2(b*H2[w>>2]),k=H2[E>>2],H2[20+Q>>2]=j2(j2(u+j2(n*o))+l)+k,s=j2(a*H2[f>>2]),a=H2[f+4>>2],c=j2(s+j2(n*a)),n=j2(b*H2[f+8>>2]),b=H2[f+48>>2],H2[16+Q>>2]=j2(c+n)+b,y2[12+Q>>2]=0,c=t,t=H2[r+4>>2],H2[8+Q>>2]=c+j2(d+j2(v+j2(B*t))),H2[4+Q>>2]=k+j2(l+j2(u+j2(o*t))),H2[Q>>2]=b+j2(n+j2(s+j2(a*t))),N2[y2[y2[A>>2]+16>>2]](A,16+Q|0,Q,i),y2[28+Q>>2]=0,a=H2[r>>2],v=H2[f+32>>2],n=H2[r+4>>2],B=j2(n*H2[_>>2]),b=H2[r+8>>2],d=j2(b*H2[g>>2]),t=H2[Z>>2],H2[24+Q>>2]=j2(j2(j2(a*v)+B)+d)+t,u=H2[f+16>>2],o=j2(n*H2[C>>2]),l=j2(b*H2[w>>2]),k=H2[E>>2],H2[20+Q>>2]=j2(j2(j2(a*u)+o)+l)+k,s=H2[f>>2],c=j2(a*s),a=j2(n*H2[f+4>>2]),n=j2(b*H2[f+8>>2]),b=H2[f+48>>2],H2[16+Q>>2]=j2(j2(c+a)+n)+b,y2[12+Q>>2]=0,c=t,t=H2[e>>2],H2[8+Q>>2]=c+j2(d+j2(B+j2(v*t))),H2[4+Q>>2]=k+j2(l+j2(o+j2(u*t))),H2[Q>>2]=b+j2(n+j2(a+j2(s*t))),N2[y2[y2[A>>2]+16>>2]](A,16+Q|0,Q,i),y2[28+Q>>2]=0,a=H2[e>>2],v=j2(a*H2[f+32>>2]),n=H2[r+4>>2],B=H2[_>>2],b=H2[r+8>>2],d=j2(b*H2[g>>2]),t=H2[Z>>2],H2[24+Q>>2]=j2(j2(v+j2(n*B))+d)+t,u=j2(a*H2[f+16>>2]),o=H2[C>>2],l=j2(b*H2[w>>2]),k=H2[E>>2],H2[20+Q>>2]=j2(j2(u+j2(n*o))+l)+k,s=j2(a*H2[f>>2]),a=H2[f+4>>2],c=j2(s+j2(n*a)),n=j2(b*H2[f+8>>2]),b=H2[f+48>>2],H2[16+Q>>2]=j2(c+n)+b,y2[12+Q>>2]=0,c=t,t=H2[e+4>>2],H2[8+Q>>2]=c+j2(d+j2(v+j2(B*t))),H2[4+Q>>2]=k+j2(l+j2(u+j2(o*t))),H2[Q>>2]=b+j2(n+j2(s+j2(a*t))),N2[y2[y2[A>>2]+16>>2]](A,16+Q|0,Q,i),L2=32+Q|0},function(A,e,r,f,i,a){A|=0,e=j2(e),r=j2(r),f|=0,i|=0,a|=0;var n,b,t,o,c,k,u,l,s,v,B,d,_,g,Z,C,w,E,Q,h,G,F,D,Y,m,N,V,x,p,S,J,M,X,y,R,I=0,W=(j2(0),0),T=(j2(0),j2(0),j2(0),j2(0),j2(0),j2(0),0);for(j2(0),j2(0),j2(0),j2(0),j2(0),j2(0),j2(0),y2[136+(L2=R=L2-144|0)>>2]=0,y2[140+R>>2]=0,y2[128+R>>2]=0,y2[132+R>>2]=0,H2[(_=f<<2)+(128+R|0)>>2]=-r,y2[120+R>>2]=0,y2[124+R>>2]=0,y2[112+R>>2]=0,y2[116+R>>2]=0,H2[(112+R|0)+_>>2]=r,n=y2[4+(g=i+8|0)>>2],y2[(W=E=56+R|0)>>2]=y2[(I=g)>>2],y2[4+W>>2]=n,n=y2[4+(Z=i+24|0)>>2],y2[(W=Q=72+R|0)>>2]=y2[(I=Z)>>2],y2[4+W>>2]=n,n=y2[4+(I=w=i+40|0)>>2],y2[(W=h=88+R|0)>>2]=y2[I>>2],y2[4+W>>2]=n,n=y2[i+4>>2],y2[48+R>>2]=y2[i>>2],y2[52+R>>2]=n,n=y2[i+20>>2],y2[64+R>>2]=y2[i+16>>2],y2[68+R>>2]=n,n=y2[i+36>>2],y2[80+R>>2]=y2[i+32>>2],y2[84+R>>2]=n,o=H2[g>>2],c=H2[(G=i+56|0)>>2],s=H2[I>>2],v=H2[(V=i+36|0)>>2],B=H2[i+48>>2],k=H2[i>>2],t=H2[i+4>>2],r=H2[i+32>>2],u=H2[128+R>>2],l=H2[132+R>>2],p=i+20|0,b=H2[136+R>>2],F=i+52|0,H2[(x=100+R|0)>>2]=j2(j2(j2(u*H2[i+16>>2])+j2(l*H2[p>>2]))+j2(b*H2[Z>>2]))+H2[F>>2],y2[(S=108+R|0)>>2]=0,H2[(d=104+R|0)>>2]=c+j2(j2(j2(u*r)+j2(l*v))+j2(b*s)),H2[96+R>>2]=B+j2(j2(j2(u*k)+j2(l*t))+j2(b*o)),n=y2[4+d>>2],y2[(I=D=40+R|0)>>2]=y2[d>>2],y2[4+I>>2]=n,n=y2[100+R>>2],y2[32+R>>2]=y2[96+R>>2],y2[36+R>>2]=n,y2[16+R>>2]=y2[(J=(C=(f+1|0)%3<<2)+(48+R|0)|0)>>2],y2[28+R>>2]=0,y2[20+R>>2]=y2[(M=(I=R+64|0)+C|0)>>2],y2[24+R>>2]=y2[(X=(n=80+R|0)+C|0)>>2],y2[12+R>>2]=0,H2[R>>2]=-H2[(T=(48+R|0)+_|0)>>2],H2[8+R>>2]=-H2[(W=n+_|0)>>2],H2[4+R>>2]=-H2[(I=I+_|0)>>2],N2[y2[y2[A>>2]+72>>2]](A,32+R|0,16+R|0,R,e,j2(-1.5707963705062866),j2(1.5707963705062866),j2(-1.5707963705062866),j2(1.5707963705062866),a,j2(30),0),n=y2[4+g>>2],y2[E>>2]=y2[g>>2],y2[4+E>>2]=n,n=y2[4+Z>>2],y2[Q>>2]=y2[Z>>2],y2[4+Q>>2]=n,n=y2[4+w>>2],y2[h>>2]=y2[w>>2],y2[4+h>>2]=n,n=y2[i+4>>2],y2[48+R>>2]=y2[i>>2],y2[52+R>>2]=n,n=y2[i+20>>2],y2[64+R>>2]=y2[i+16>>2],y2[68+R>>2]=n,n=y2[i+36>>2],y2[80+R>>2]=y2[i+32>>2],y2[84+R>>2]=n,o=H2[g>>2],c=H2[G>>2],s=H2[w>>2],v=H2[V>>2],B=H2[i+48>>2],k=H2[i>>2],t=H2[i+4>>2],r=H2[i+32>>2],u=H2[112+R>>2],l=H2[116+R>>2],b=H2[120+R>>2],H2[x>>2]=j2(j2(j2(u*H2[i+16>>2])+j2(l*H2[p>>2]))+j2(b*H2[Z>>2]))+H2[F>>2],y2[S>>2]=0,H2[d>>2]=c+j2(j2(j2(u*r)+j2(l*v))+j2(b*s)),H2[96+R>>2]=B+j2(j2(j2(u*k)+j2(l*t))+j2(b*o)),n=y2[4+d>>2],y2[D>>2]=y2[d>>2],y2[4+D>>2]=n,n=y2[100+R>>2],y2[32+R>>2]=y2[96+R>>2],y2[36+R>>2]=n,y2[16+R>>2]=y2[J>>2],y2[28+R>>2]=0,y2[20+R>>2]=y2[M>>2],y2[24+R>>2]=y2[X>>2],y2[R>>2]=y2[T>>2],y2[12+R>>2]=0,y2[4+R>>2]=y2[I>>2],y2[8+R>>2]=y2[W>>2],N2[y2[y2[A>>2]+72>>2]](A,32+R|0,16+R|0,R,e,j2(-1.5707963705062866),j2(1.5707963705062866),j2(-1.5707963705062866),j2(1.5707963705062866),a,j2(30),0),W=(f=(f+2|0)%3<<2)+(112+R|0)|0,I=f+(128+R|0)|0,n=(112+R|0)+C|0,f=(128+R|0)+C|0,y=H2[G>>2],u=H2[F>>2],l=H2[i+48>>2],T=-30;;)if(t=j2(j2(0|(T=T+30|0))*j2(.01745329238474369)),r=j2(R2(t)*e),H2[f>>2]=r,H2[n>>2]=r,r=j2(I2(t)*e),H2[I>>2]=r,H2[W>>2]=r,y2[60+R>>2]=0,k=H2[128+R>>2],b=H2[i+32>>2],t=H2[132+R>>2],o=H2[i+36>>2],r=H2[136+R>>2],c=H2[i+40>>2],H2[56+R>>2]=y+j2(j2(j2(k*b)+j2(t*o))+j2(r*c)),s=H2[i+16>>2],v=H2[i+20>>2],B=H2[i+24>>2],H2[52+R>>2]=u+j2(j2(j2(k*s)+j2(t*v))+j2(r*B)),Y=k,k=H2[i>>2],m=t,t=H2[i+4>>2],N=r,r=H2[i+8>>2],H2[48+R>>2]=l+j2(j2(j2(Y*k)+j2(m*t))+j2(N*r)),y2[44+R>>2]=0,Y=b,b=H2[112+R>>2],m=o,o=H2[116+R>>2],N=c,c=H2[120+R>>2],H2[40+R>>2]=y+j2(j2(j2(Y*b)+j2(m*o))+j2(N*c)),H2[36+R>>2]=u+j2(j2(j2(s*b)+j2(v*o))+j2(B*c)),H2[32+R>>2]=l+j2(j2(j2(k*b)+j2(t*o))+j2(r*c)),N2[y2[y2[A>>2]+16>>2]](A,48+R|0,32+R|0,a),!(T>>>0<330))break;L2=144+R|0},function(A,e,r,f,i,a){A|=0,e=j2(e),r=j2(r),f|=0,i|=0,a|=0;var n,b,t,o,c,k,u,l,s,v,B,d=j2(0),_=j2(0),g=0,Z=j2(0),C=j2(0),w=j2(0),E=j2(0),Q=j2(0),h=j2(0),G=j2(0),F=j2(0),D=j2(0),Y=j2(0),m=j2(0);for(j2(0),j2(0),j2(0),j2(0),j2(0),j2(0),j2(0),L2=B=L2-128|0,Y=H2[i+56>>2],m=H2[i+52>>2],t=H2[i+48>>2],y2[(g=120+B|0)>>2]=0,y2[g+4>>2]=0,y2[112+B>>2]=0,y2[116+B>>2]=0,H2[(g=f<<2)+(112+B|0)>>2]=r,y2[(n=104+B|0)>>2]=0,y2[4+n>>2]=0,y2[96+B>>2]=0,y2[100+B>>2]=0,H2[g+(96+B|0)>>2]=-r,y2[(n=88+B|0)>>2]=0,y2[4+n>>2]=0,y2[80+B>>2]=0,y2[84+B>>2]=0,H2[g+(80+B|0)>>2]=r,n=(g=(f+2|0)%3<<2)+(80+B|0)|0,l=g+(96+B|0)|0,s=(g=(u=(f+1|0)%3|0)<<2)+(80+B|0)|0,v=g+(96+B|0)|0,g=-30;;)if(r=j2(j2(0|(g=g+30|0))*j2(.01745329238474369)),d=j2(R2(r)*e),H2[v>>2]=d,H2[s>>2]=d,r=j2(I2(r)*e),H2[l>>2]=r,H2[n>>2]=r,y2[76+B>>2]=0,r=H2[96+B>>2],G=H2[i+32>>2],d=H2[100+B>>2],F=H2[i+36>>2],_=H2[104+B>>2],D=H2[i+40>>2],H2[72+B>>2]=Y+j2(j2(j2(r*G)+j2(d*F))+j2(_*D)),Z=H2[i+16>>2],C=H2[i+20>>2],w=H2[i+24>>2],H2[68+B>>2]=m+j2(j2(j2(r*Z)+j2(d*C))+j2(_*w)),E=H2[i>>2],Q=H2[i+4>>2],h=H2[i+8>>2],H2[64+B>>2]=t+j2(j2(j2(r*E)+j2(d*Q))+j2(_*h)),y2[60+B>>2]=0,r=H2[80+B>>2],d=H2[84+B>>2],_=H2[88+B>>2],H2[56+B>>2]=Y+j2(j2(j2(G*r)+j2(F*d))+j2(D*_)),H2[52+B>>2]=m+j2(j2(j2(Z*r)+j2(C*d))+j2(w*_)),H2[48+B>>2]=t+j2(j2(j2(E*r)+j2(Q*d))+j2(h*_)),N2[y2[y2[A>>2]+16>>2]](A,B+64|0,48+B|0,a),!(g>>>0<330))break;y2[72+B>>2]=0,y2[76+B>>2]=0,y2[64+B>>2]=0,y2[68+B>>2]=0,y2[(B+64|0)+(f<<2)>>2]=1065353216,y2[56+B>>2]=0,y2[60+B>>2]=0,y2[48+B>>2]=0,y2[52+B>>2]=0,y2[(48+B|0)+(u<<2)>>2]=1065353216,y2[44+B>>2]=0,r=H2[112+B>>2],Z=H2[i+32>>2],d=H2[116+B>>2],C=H2[i+36>>2],_=H2[120+B>>2],w=H2[i+40>>2],H2[40+B>>2]=Y-j2(j2(j2(r*Z)+j2(d*C))+j2(_*w)),E=H2[i+16>>2],Q=H2[i+20>>2],h=H2[i+24>>2],H2[36+B>>2]=m-j2(j2(j2(r*E)+j2(d*Q))+j2(_*h)),f=H2[i>>2],u=H2[i+4>>2],o=H2[i+8>>2],H2[32+B>>2]=t-j2(j2(j2(r*f)+j2(d*u))+j2(_*o)),y2[28+B>>2]=0,G=H2[64+B>>2],F=H2[68+B>>2],D=H2[72+B>>2],H2[24+B>>2]=j2(j2(Z*G)+j2(C*F))+j2(w*D),H2[20+B>>2]=j2(j2(E*G)+j2(Q*F))+j2(h*D),H2[16+B>>2]=j2(j2(f*G)+j2(u*F))+j2(o*D),y2[12+B>>2]=0,c=Z,Z=H2[48+B>>2],k=C,C=H2[52+B>>2],b=w,w=H2[56+B>>2],H2[8+B>>2]=j2(j2(c*Z)+j2(k*C))+j2(b*w),H2[4+B>>2]=j2(j2(E*Z)+j2(Q*C))+j2(h*w),H2[B>>2]=j2(j2(f*Z)+j2(u*C))+j2(o*w),N2[y2[y2[A>>2]+68>>2]](A,32+B|0,16+B|0,B,e,e,j2(0),j2(6.2831854820251465),a,0,j2(10)),y2[44+B>>2]=0,b=Y,Y=H2[i+32>>2],E=H2[i+36>>2],Q=H2[i+40>>2],H2[40+B>>2]=b+j2(j2(j2(r*Y)+j2(d*E))+j2(_*Q)),b=m,m=H2[i+16>>2],h=H2[i+20>>2],f=H2[i+24>>2],H2[36+B>>2]=b+j2(j2(j2(r*m)+j2(d*h))+j2(_*f)),c=r,r=H2[i>>2],k=d,d=H2[i+4>>2],b=_,_=H2[i+8>>2],H2[32+B>>2]=t+j2(j2(j2(c*r)+j2(k*d))+j2(b*_)),y2[28+B>>2]=0,H2[24+B>>2]=j2(j2(G*Y)+j2(F*E))+j2(D*Q),H2[20+B>>2]=j2(j2(G*m)+j2(F*h))+j2(D*f),H2[16+B>>2]=j2(j2(G*r)+j2(F*d))+j2(D*_),y2[12+B>>2]=0,H2[8+B>>2]=j2(j2(Z*Y)+j2(C*E))+j2(w*Q),H2[4+B>>2]=j2(j2(Z*m)+j2(C*h))+j2(w*f),H2[B>>2]=j2(j2(Z*r)+j2(C*d))+j2(w*_),N2[y2[y2[A>>2]+68>>2]](A,32+B|0,16+B|0,B,e,e,j2(0),j2(6.2831854820251465),a,0,j2(10)),L2=128+B|0},function(A,e,r,f,i,a){A|=0,e=j2(e),r=j2(r),f|=0,i|=0,a|=0;var n,b,t,o,c,k,u,l,s,v=j2(0),B=j2(0),d=j2(0),_=j2(0),g=j2(0),Z=j2(0),C=j2(0),w=j2(0),E=j2(0),Q=j2(0),h=j2(0),G=j2(0),F=j2(0),D=j2(0),Y=j2(0),m=j2(0),N=0,R=j2(0);for(j2(0),j2(0),j2(0),j2(0),L2=s=L2-144|0,Z=H2[i+56>>2],Q=H2[i+52>>2],h=H2[i+48>>2],y2[136+s>>2]=0,y2[140+s>>2]=0,y2[128+s>>2]=0,y2[132+s>>2]=0,H2[(N=f<<2)+(128+s|0)>>2]=r*j2(.5),y2[(b=120+s|0)>>2]=0,y2[4+b>>2]=0,y2[112+s>>2]=0,y2[116+s>>2]=0,H2[(c=(b=(f+1|0)%3|0)<<2)+(112+s|0)>>2]=e,y2[(n=104+s|0)>>2]=0,y2[4+n>>2]=0,y2[96+s>>2]=0,y2[100+s>>2]=0,H2[(n=(f+2|0)%3<<2)+(96+s|0)>>2]=e,y2[(k=88+s|0)>>2]=0,y2[4+k>>2]=0,y2[80+s>>2]=0,y2[84+s>>2]=0,H2[N+(80+s|0)>>2]=r*j2(-.5),n=n+(80+s|0)|0,c=c+(80+s|0)|0,N=-30,r=H2[136+s>>2],B=H2[132+s>>2],d=H2[128+s>>2];;)if(v=j2(j2(0|(N=N+30|0))*j2(.01745329238474369)),u=c,l=j2(R2(v)*e),H2[u>>2]=l,u=n,l=j2(I2(v)*e),H2[u>>2]=l,y2[76+s>>2]=0,v=H2[i+32>>2],g=H2[i+36>>2],_=H2[i+40>>2],H2[72+s>>2]=Z+j2(j2(j2(d*v)+j2(B*g))+j2(r*_)),C=H2[i+16>>2],w=H2[i+20>>2],E=H2[i+24>>2],H2[68+s>>2]=Q+j2(j2(j2(d*C)+j2(B*w))+j2(r*E)),G=H2[i>>2],F=H2[i+4>>2],D=H2[i+8>>2],H2[64+s>>2]=h+j2(j2(j2(G*d)+j2(F*B))+j2(D*r)),y2[60+s>>2]=0,Y=v,v=H2[80+s>>2],m=g,g=H2[84+s>>2],R=_,_=H2[88+s>>2],H2[56+s>>2]=Z+j2(j2(j2(Y*v)+j2(m*g))+j2(R*_)),H2[52+s>>2]=Q+j2(j2(j2(C*v)+j2(w*g))+j2(E*_)),H2[48+s>>2]=h+j2(j2(j2(G*v)+j2(F*g))+j2(D*_)),N2[y2[y2[A>>2]+16>>2]](A,s+64|0,48+s|0,a),!(N>>>0<330))break;y2[76+s>>2]=0,v=H2[i+32>>2],g=H2[i+36>>2],_=H2[i+40>>2],H2[72+s>>2]=Z+j2(j2(j2(d*v)+j2(B*g))+j2(r*_)),C=H2[i+16>>2],w=H2[i+20>>2],E=H2[i+24>>2],H2[68+s>>2]=Q+j2(j2(j2(d*C)+j2(B*w))+j2(r*E)),G=H2[i>>2],F=H2[i+4>>2],D=H2[i+8>>2],H2[64+s>>2]=h+j2(j2(j2(G*d)+j2(F*B))+j2(D*r)),y2[60+s>>2]=0,Y=v,k=H2[112+s>>2],v=j2(k-d),m=g,t=H2[116+s>>2],g=j2(t-B),R=_,o=H2[120+s>>2],_=j2(o-r),H2[56+s>>2]=Z+j2(j2(j2(Y*v)+j2(m*g))+j2(R*_)),H2[52+s>>2]=Q+j2(j2(j2(C*v)+j2(w*g))+j2(E*_)),H2[48+s>>2]=h+j2(j2(j2(G*v)+j2(F*g))+j2(D*_)),N2[y2[y2[A>>2]+16>>2]](A,s+64|0,48+s|0,a),y2[76+s>>2]=0,v=H2[i+32>>2],g=H2[i+36>>2],_=H2[i+40>>2],H2[72+s>>2]=Z+j2(j2(j2(d*v)+j2(B*g))+j2(r*_)),C=H2[i+16>>2],w=H2[i+20>>2],E=H2[i+24>>2],H2[68+s>>2]=Q+j2(j2(j2(d*C)+j2(B*w))+j2(r*E)),G=H2[i>>2],F=H2[i+4>>2],D=H2[i+8>>2],H2[64+s>>2]=h+j2(j2(j2(G*d)+j2(F*B))+j2(D*r)),y2[60+s>>2]=0,d=j2(j2(-d)-k),B=j2(j2(-B)-t),r=j2(j2(-r)-o),H2[56+s>>2]=Z+j2(j2(j2(v*d)+j2(g*B))+j2(_*r)),H2[52+s>>2]=Q+j2(j2(j2(d*C)+j2(B*w))+j2(r*E)),H2[48+s>>2]=h+j2(j2(j2(G*d)+j2(F*B))+j2(D*r)),N2[y2[y2[A>>2]+16>>2]](A,s+64|0,48+s|0,a),y2[76+s>>2]=0,r=H2[128+s>>2],v=H2[i+32>>2],B=H2[132+s>>2],g=H2[i+36>>2],d=H2[136+s>>2],_=H2[i+40>>2],H2[72+s>>2]=Z+j2(j2(j2(r*v)+j2(B*g))+j2(d*_)),C=H2[i+16>>2],w=H2[i+20>>2],E=H2[i+24>>2],H2[68+s>>2]=Q+j2(j2(j2(r*C)+j2(B*w))+j2(d*E)),G=H2[i>>2],F=H2[i+4>>2],D=H2[i+8>>2],H2[64+s>>2]=h+j2(j2(j2(r*G)+j2(B*F))+j2(d*D)),y2[60+s>>2]=0,Y=v,k=H2[96+s>>2],v=j2(k-r),m=g,t=H2[100+s>>2],g=j2(t-B),R=_,o=H2[104+s>>2],_=j2(o-d),H2[56+s>>2]=Z+j2(j2(j2(Y*v)+j2(m*g))+j2(R*_)),H2[52+s>>2]=Q+j2(j2(j2(C*v)+j2(w*g))+j2(E*_)),H2[48+s>>2]=h+j2(j2(j2(G*v)+j2(F*g))+j2(D*_)),N2[y2[y2[A>>2]+16>>2]](A,s+64|0,48+s|0,a),y2[76+s>>2]=0,v=H2[i+32>>2],g=H2[i+36>>2],_=H2[i+40>>2],H2[72+s>>2]=Z+j2(j2(j2(r*v)+j2(B*g))+j2(d*_)),C=H2[i+16>>2],w=H2[i+20>>2],E=H2[i+24>>2],H2[68+s>>2]=Q+j2(j2(j2(r*C)+j2(B*w))+j2(d*E)),G=H2[i>>2],F=H2[i+4>>2],D=H2[i+8>>2],H2[64+s>>2]=h+j2(j2(j2(r*G)+j2(B*F))+j2(d*D)),y2[60+s>>2]=0,r=j2(j2(-r)-k),B=j2(j2(-B)-t),d=j2(j2(-d)-o),H2[56+s>>2]=Z+j2(j2(j2(v*r)+j2(g*B))+j2(_*d)),H2[52+s>>2]=Q+j2(j2(j2(r*C)+j2(B*w))+j2(d*E)),H2[48+s>>2]=h+j2(j2(j2(G*r)+j2(F*B))+j2(D*d)),N2[y2[y2[A>>2]+16>>2]](A,s+64|0,48+s|0,a),y2[72+s>>2]=0,y2[76+s>>2]=0,y2[64+s>>2]=0,y2[68+s>>2]=0,y2[(s+64|0)+(f<<2)>>2]=1065353216,y2[56+s>>2]=0,y2[60+s>>2]=0,y2[48+s>>2]=0,y2[52+s>>2]=0,y2[(48+s|0)+(b<<2)>>2]=1065353216,y2[44+s>>2]=0,_=Z,r=H2[128+s>>2],Z=H2[i+32>>2],B=H2[132+s>>2],d=H2[i+36>>2],v=H2[136+s>>2],g=H2[i+40>>2],H2[40+s>>2]=_-j2(j2(j2(r*Z)+j2(B*d))+j2(v*g)),Y=Q,Q=H2[i+16>>2],_=H2[i+20>>2],C=H2[i+24>>2],H2[36+s>>2]=Y-j2(j2(j2(r*Q)+j2(B*_))+j2(v*C)),Y=h,m=r,r=H2[i>>2],h=H2[i+4>>2],m=j2(j2(m*r)+j2(B*h)),B=H2[i+8>>2],H2[32+s>>2]=Y-j2(m+j2(v*B)),y2[28+s>>2]=0,v=H2[64+s>>2],w=H2[68+s>>2],E=H2[72+s>>2],H2[24+s>>2]=j2(j2(Z*v)+j2(d*w))+j2(g*E),H2[20+s>>2]=j2(j2(Q*v)+j2(_*w))+j2(C*E),H2[16+s>>2]=j2(j2(r*v)+j2(h*w))+j2(B*E),y2[12+s>>2]=0,Y=Z,Z=H2[48+s>>2],m=d,d=H2[52+s>>2],v=H2[56+s>>2],H2[8+s>>2]=j2(j2(Y*Z)+j2(m*d))+j2(g*v),H2[4+s>>2]=j2(j2(Q*Z)+j2(_*d))+j2(C*v),H2[s>>2]=j2(j2(r*Z)+j2(h*d))+j2(B*v),N2[y2[y2[A>>2]+68>>2]](A,32+s|0,16+s|0,s,e,e,j2(0),j2(6.2831854820251465),a,0,j2(10)),L2=144+s|0},function(A,e,r,f,i){A|=0,e|=0,r=j2(r),f|=0,i|=0;var a,n,b,t,o,c,k,u,l,s,v,B,d,_,g,Z,C,w,E,Q,h,G,F=j2(0),D=(j2(0),j2(0),j2(0),j2(0),j2(0),j2(0)),Y=(j2(0),j2(0),j2(0),j2(0)),m=(j2(0),j2(0),j2(0),j2(0),j2(0),j2(0),j2(0),j2(0),j2(0)),N=j2(0),R=j2(0);L2=G=L2-32|0,b=H2[e+8>>2],d=j2(b*r),t=H2[e+4>>2],_=j2(t*r),a=H2[e>>2],g=j2(a*r),R=j2(z2(b))>j2(.7071067690849304)?(r=j2(j2(t*t)+j2(b*b)),F=j2(j2(1)/j2(K2(r))),m=j2(r*F),r=j2(t*F),Y=j2(r*j2(100)),F=j2(F*j2(-b)),N=j2(a*F),j2(r*j2(-a))):(r=j2(j2(a*a)+j2(t*t)),F=j2(j2(1)/j2(K2(r))),N=j2(r*F),r=j2(F*j2(-t)),D=j2(r*j2(100)),F=j2(a*F),m=j2(F*j2(-b)),j2(b*r)),y2[28+G>>2]=0,a=j2(g+D),c=H2[f+32>>2],k=j2(F*j2(100)),F=j2(_+k),u=H2[(C=f+36|0)>>2],r=j2(d+Y),l=H2[(w=f+40|0)>>2],o=H2[(E=f+56|0)>>2],H2[24+G>>2]=j2(j2(j2(a*c)+j2(F*u))+j2(r*l))+o,s=H2[f+16>>2],v=H2[(Q=f+20|0)>>2],B=H2[(h=f+24|0)>>2],b=H2[(e=f+52|0)>>2],H2[20+G>>2]=j2(j2(j2(a*s)+j2(F*v))+j2(r*B))+b,t=H2[f>>2],n=j2(a*t),a=H2[f+4>>2],n=j2(n+j2(F*a)),F=H2[f+8>>2],n=j2(n+j2(r*F)),r=H2[f+48>>2],H2[16+G>>2]=n+r,y2[12+G>>2]=0,n=o,Z=c,c=j2(g-D),D=u,u=j2(_-k),o=j2(d-Y),H2[8+G>>2]=n+j2(j2(j2(Z*c)+j2(D*u))+j2(l*o)),H2[4+G>>2]=b+j2(j2(j2(c*s)+j2(u*v))+j2(o*B)),H2[G>>2]=r+j2(j2(j2(c*t)+j2(u*a))+j2(o*F)),N2[y2[y2[A>>2]+16>>2]](A,16+G|0,G,i),y2[28+G>>2]=0,Y=j2(m*j2(100)),a=j2(g+Y),D=H2[f+32>>2],c=j2(R*j2(100)),F=j2(_+c),k=H2[C>>2],u=j2(N*j2(100)),r=j2(d+u),l=H2[w>>2],o=H2[E>>2],H2[24+G>>2]=j2(j2(j2(a*D)+j2(F*k))+j2(r*l))+o,s=H2[f+16>>2],v=H2[Q>>2],B=H2[h>>2],b=H2[e>>2],H2[20+G>>2]=j2(j2(j2(a*s)+j2(F*v))+j2(r*B))+b,t=H2[f>>2],n=j2(a*t),a=H2[f+4>>2],n=j2(n+j2(F*a)),F=H2[f+8>>2],n=j2(n+j2(r*F)),r=H2[f+48>>2],H2[16+G>>2]=n+r,y2[12+G>>2]=0,n=o,Z=D,D=j2(g-Y),Y=k,k=j2(_-c),o=j2(d-u),H2[8+G>>2]=n+j2(j2(j2(Z*D)+j2(Y*k))+j2(l*o)),H2[4+G>>2]=b+j2(j2(j2(D*s)+j2(k*v))+j2(o*B)),H2[G>>2]=r+j2(j2(j2(D*t)+j2(k*a))+j2(o*F)),N2[y2[y2[A>>2]+16>>2]](A,16+G|0,G,i),L2=32+G|0},function(A){s()},function(A){v()},e,W0,function(A,e){A|=0,e|=0,j2(0),j2(0),j2(0),j2(0),j2(0),j2(0),j2(0),j2(0),j2(0),j2(0),j2(0),j2(0),j2(0),j2(0),j2(0),j2(0),j2(0),j2(0),j2(0),j2(0),j2(0),j2(0),j2(0),j2(0),j2(0);var r,f=H2[A+52>>2],i=H2[A+56>>2],a=H2[A+60>>2],n=H2[A+124>>2],b=H2[A+120>>2],t=H2[A+116>>2],o=H2[A+8>>2],c=H2[A+12>>2],k=H2[A+28>>2],u=H2[A+20>>2],l=H2[A+24>>2],s=H2[A+72>>2],v=H2[A+76>>2],B=H2[A+92>>2],d=H2[A+84>>2],_=H2[A+88>>2],g=H2[A+44>>2],Z=H2[A+108>>2],C=H2[A+36>>2],w=H2[A+100>>2],E=H2[A+40>>2],Q=H2[A+104>>2],h=H2[A+4>>2],A=H2[A+68>>2];y2[e+60>>2]=0,y2[e+44>>2]=0,y2[e+28>>2]=0,y2[e+12>>2]=0,H2[e+40>>2]=j2(j2(w*C)+j2(Q*E))+j2(Z*g),H2[e+36>>2]=j2(j2(d*C)+j2(_*E))+j2(B*g),H2[e+32>>2]=j2(j2(A*C)+j2(s*E))+j2(v*g),H2[e+24>>2]=j2(j2(w*u)+j2(Q*l))+j2(Z*k),H2[e+20>>2]=j2(j2(d*u)+j2(_*l))+j2(B*k),H2[e+16>>2]=j2(j2(A*u)+j2(s*l))+j2(v*k),H2[e+8>>2]=j2(j2(w*h)+j2(Q*o))+j2(Z*c),H2[e+4>>2]=j2(j2(d*h)+j2(_*o))+j2(B*c),H2[e>>2]=j2(j2(A*h)+j2(s*o))+j2(v*c),r=C,C=d,d=j2(-b),C=j2(j2(j2(C*d)-j2(A*t))-j2(w*n)),s=j2(j2(j2(_*d)-j2(s*t))-j2(Q*n)),v=j2(j2(j2(B*d)-j2(v*t))-j2(Z*n)),H2[e+56>>2]=a+j2(j2(j2(r*C)+j2(E*s))+j2(g*v)),H2[e+52>>2]=i+j2(j2(j2(C*u)+j2(s*l))+j2(v*k)),H2[e+48>>2]=f+j2(j2(j2(h*C)+j2(s*o))+j2(v*c))},function(A,e){A|=0,e|=0,j2(0),j2(0),j2(0),j2(0),j2(0),j2(0),j2(0),j2(0),j2(0),j2(0),j2(0),j2(0),j2(0),j2(0),j2(0),j2(0),j2(0),j2(0),j2(0),j2(0),j2(0),j2(0),j2(0),j2(0);var r=H2[e+52>>2],f=H2[e+56>>2],i=H2[A+116>>2],a=H2[A+120>>2],n=H2[A+124>>2],b=H2[e+20>>2],t=H2[e+24>>2],o=H2[A+84>>2],c=H2[A+100>>2],k=H2[A+72>>2],u=H2[A+88>>2],l=H2[A+104>>2],s=H2[A+76>>2],v=H2[e+36>>2],B=H2[A+92>>2],d=H2[e+40>>2],_=H2[A+108>>2],g=H2[e+48>>2],Z=H2[e+8>>2],C=H2[e>>2],w=H2[e+4>>2],E=H2[e+16>>2],Q=H2[A+68>>2],e=H2[e+32>>2];y2[A- -64>>2]=0,y2[A+48>>2]=0,y2[A+32>>2]=0,y2[A+16>>2]=0,H2[A+44>>2]=j2(j2(s*e)+j2(B*v))+j2(_*d),H2[A+40>>2]=j2(j2(k*e)+j2(u*v))+j2(l*d),H2[A+36>>2]=j2(j2(Q*e)+j2(o*v))+j2(c*d),H2[A+28>>2]=j2(j2(s*E)+j2(B*b))+j2(_*t),H2[A+24>>2]=j2(j2(k*E)+j2(u*b))+j2(l*t),H2[A+20>>2]=j2(j2(Q*E)+j2(o*b))+j2(c*t),H2[A+12>>2]=j2(j2(C*s)+j2(w*B))+j2(Z*_),H2[A+8>>2]=j2(j2(C*k)+j2(w*u))+j2(Z*l),H2[A+4>>2]=j2(j2(Q*C)+j2(o*w))+j2(c*Z),H2[A+60>>2]=f+j2(j2(j2(e*i)+j2(v*a))+j2(d*n)),H2[A+56>>2]=r+j2(j2(j2(E*i)+j2(b*a))+j2(t*n)),H2[A+52>>2]=g+j2(j2(j2(C*i)+j2(w*a))+j2(Z*n))},A,function(A,e){var r,f,i=y2[(A|=0)+12>>2];y2[(e|=0)>>2]=y2[A+8>>2],y2[e+4>>2]=i,f=y2[4+(r=A+16|0)>>2],y2[(i=e+8|0)>>2]=y2[r>>2],y2[4+i>>2]=f,f=y2[4+(r=A+32|0)>>2],y2[(i=e+24|0)>>2]=y2[r>>2],y2[4+i>>2]=f,r=y2[4+(i=A+24|0)>>2],y2[e+16>>2]=y2[i>>2],y2[e+20>>2]=r,r=y2[4+(i=A+40|0)>>2],y2[e+32>>2]=y2[i>>2],y2[e+36>>2]=r,f=y2[4+(r=A+48|0)>>2],y2[(i=e+40|0)>>2]=y2[r>>2],y2[4+i>>2]=f,f=y2[4+(r=A- -64|0)>>2],y2[(i=e+56|0)>>2]=y2[r>>2],y2[4+i>>2]=f,i=y2[(A=A+56|0)+4>>2],y2[e+48>>2]=y2[A>>2],y2[e+52>>2]=i},function(A,e){var r,f,i=y2[(e|=0)+4>>2];y2[(A|=0)+8>>2]=y2[e>>2],y2[A+12>>2]=i,f=y2[4+(r=e+8|0)>>2],y2[(i=A+16|0)>>2]=y2[r>>2],y2[4+i>>2]=f,f=y2[4+(r=e+24|0)>>2],y2[(i=A+32|0)>>2]=y2[r>>2],y2[4+i>>2]=f,r=y2[e+20>>2],y2[(i=A+24|0)>>2]=y2[e+16>>2],y2[4+i>>2]=r,r=y2[e+36>>2],y2[(i=A+40|0)>>2]=y2[e+32>>2],y2[4+i>>2]=r,f=y2[4+(r=e+40|0)>>2],y2[(i=A+48|0)>>2]=y2[r>>2],y2[4+i>>2]=f,f=y2[4+(r=e+56|0)>>2],y2[(i=A- -64|0)>>2]=y2[r>>2],y2[4+i>>2]=f,r=y2[e+52>>2],y2[(i=A+56|0)>>2]=y2[e+48>>2],y2[4+i>>2]=r,B(y2[A+4>>2])}],{RayCallback_hasHit:function(A){return 0!=y2[(A|=0)+8>>2]|0},ConvexCallback_hasHit:function(A){return 0!=y2[(A|=0)+16>>2]|0},ccClosestRayCallback_static:function(){return U2[26016]||(y2[6506]=1065353216,y2[6507]=0,X2[26108]=1,y2[6505]=9752,y2[6508]=-1,y2[6509]=0,y2[6526]=0,G(68),X2[26016]=1),26020},ccClosestRayCallback_setFlags:B0,ccClosestRayCallback_reset:function(A,e,r,f,i){r|=0,f|=0,i|=0;var a,n=y2[(e|=0)+4>>2];y2[(A|=0)+20>>2]=y2[e>>2],y2[A+24>>2]=n,a=y2[(e=e+8|0)+4>>2],y2[(n=A+28|0)>>2]=y2[e>>2],y2[4+n>>2]=a,e=y2[r+4>>2],y2[A+36>>2]=y2[r>>2],y2[A+40>>2]=e,n=y2[(r=r+8|0)+4>>2],y2[(e=A+44|0)>>2]=y2[r>>2],y2[e+4>>2]=n,X2[A+88|0]=i,y2[A+12>>2]=f,y2[A+4>>2]=1065353216,y2[A+8>>2]=0},ccClosestRayCallback_getHitNormalWorld:d0,ccClosestRayCallback_getHitPointWorld:_0,ccClosestRayCallback_getCollisionShapePtr:g0,ccAllRayCallback_static:function(){return U2[26112]||(X2[26152]=1,y2[6530]=1065353216,y2[6531]=0,X2[26204]=1,y2[6535]=0,y2[6536]=0,X2[26224]=1,y2[6548]=0,y2[6549]=0,X2[26244]=1,y2[6553]=0,y2[6554]=0,y2[6558]=0,y2[6559]=0,X2[26264]=1,y2[6529]=9956,y2[6533]=0,y2[6537]=0,y2[6550]=0,y2[6555]=0,y2[6560]=0,y2[6565]=0,X2[26268]=1,y2[6563]=0,y2[6564]=0,y2[6532]=-1,G(69),X2[26112]=1),26116},ccAllRayCallback_setFlags:B0,ccAllRayCallback_reset:function(A,e,r,f,i){r|=0,f|=0,i|=0;var a,n,b=0;if(L2=n=L2-16|0,b=y2[(e|=0)+4>>2],y2[(A|=0)+40>>2]=y2[e>>2],y2[A+44>>2]=b,a=y2[(e=e+8|0)+4>>2],y2[(b=A+48|0)>>2]=y2[e>>2],y2[b+4>>2]=a,e=y2[r+4>>2],y2[A+56>>2]=y2[r>>2],y2[A+60>>2]=e,b=y2[(r=r+8|0)+4>>2],y2[(e=A- -64|0)>>2]=y2[r>>2],y2[e+4>>2]=b,X2[A+152|0]=i,y2[A+12>>2]=f,y2[A+4>>2]=1065353216,((y2[A+8>>2]=0)|(r=y2[A+136>>2]))<=-1&&(e=y2[A+144>>2],y2[A+140>>2]<=-1&&(e&&U2[A+148|0]&&(y2[6503]=y2[6503]+1,$2(y2[e-4>>2])),X2[A+148|0]=1,y2[A+140>>2]=0,e=y2[A+144>>2]=0),v2((f=e)+(e=r<<2)|0,0,0-e|0)),((y2[A+136>>2]=0)|(r=y2[A+116>>2]))<=-1&&(e=y2[A+124>>2],y2[A+120>>2]<=-1&&(e&&U2[A+128|0]&&(y2[6503]=y2[6503]+1,$2(y2[e-4>>2])),X2[A+128|0]=1,y2[A+120>>2]=0,e=y2[A+124>>2]=0),v2((f=e)+(e=r<<2)|0,0,0-e|0)),((y2[A+116>>2]=0)|(r=y2[A+24>>2]))<=-1)for(y2[A+28>>2]<=-1&&((e=y2[A+32>>2])&&(U2[A+36|0]&&(y2[6503]=y2[6503]+1,$2(y2[e-4>>2])),y2[A+32>>2]=0),y2[A+28>>2]=0,y2[A+32>>2]=0,X2[A+36|0]=1),e=r<<2;;)if(e=e+4|(y2[y2[A+32>>2]+e>>2]=0),!((f=r)>>>0<=(r=r+1|0)>>>0))break;if(((y2[A+24>>2]=0)|(r=y2[A+96>>2]))<=-1)for(y2[A+100>>2]<=-1&&((e=y2[A+104>>2])&&(U2[A+108|0]&&(y2[6503]=y2[6503]+1,$2(y2[e-4>>2])),y2[A+104>>2]=0),y2[A+100>>2]=0,y2[A+104>>2]=0,X2[A+108|0]=1),e=r<<4;;)if(b=y2[4+n>>2],f=y2[A+104>>2]+e|0,y2[f>>2]=y2[n>>2],y2[f+4>>2]=b,b=y2[(i=8+n|0)+4>>2],y2[(f=f+8|0)>>2]=y2[i>>2],y2[f+4>>2]=b,e=e+16|0,!((f=r)>>>0<=(r=r+1|0)>>>0))break;if(((y2[A+96>>2]=0)|(r=y2[A+76>>2]))<=-1)for(y2[A+80>>2]<=-1&&((e=y2[A+84>>2])&&(U2[A+88|0]&&(y2[6503]=y2[6503]+1,$2(y2[e-4>>2])),y2[A+84>>2]=0),y2[A+80>>2]=0,y2[A+84>>2]=0,X2[A+88|0]=1),e=r<<4;;)if(b=y2[4+n>>2],f=y2[A+84>>2]+e|0,y2[f>>2]=y2[n>>2],y2[f+4>>2]=b,b=y2[(i=8+n|0)+4>>2],y2[(f=f+8|0)>>2]=y2[i>>2],y2[f+4>>2]=b,e=e+16|0,!((f=r)>>>0<=(r=r+1|0)>>>0))break;y2[A+76>>2]=0,L2=16+n|0},ccAllRayCallback_getHitPointWorld:E0,ccAllRayCallback_getHitNormalWorld:Q0,ccAllRayCallback_getCollisionShapePtrs:h0,ccClosestConvexCallback_static:function(){return U2[26272]||(y2[6572]=-1,y2[6573]=0,y2[6570]=1065353216,y2[6571]=-1,X2[26364]=1,y2[6569]=10112,X2[26272]=1,y2[6590]=0),26276},ccClosestConvexCallback_reset:function(A,e,r,f,i){r|=0,f|=0,i|=0;var a,n=y2[(e|=0)+4>>2];y2[(A|=0)+20>>2]=y2[e>>2],y2[A+24>>2]=n,a=y2[(e=e+8|0)+4>>2],y2[(n=A+28|0)>>2]=y2[e>>2],y2[4+n>>2]=a,e=y2[r+4>>2],y2[A+36>>2]=y2[r>>2],y2[A+40>>2]=e,n=y2[(r=r+8|0)+4>>2],y2[(e=A+44|0)>>2]=y2[r>>2],y2[e+4>>2]=n,X2[A+88|0]=i,y2[A+12>>2]=f,y2[A+16>>2]=0,y2[A+4>>2]=1065353216},ccClosestConvexCallback_getHitNormalWorld:d0,ccClosestConvexCallback_getHitPointWorld:_0,ccClosestConvexCallback_getCollisionShapePtr:g0,ccAllConvexCallback_static:function(){return U2[26368]||(X2[26408]=1,y2[6596]=-1,y2[6597]=0,y2[6594]=1065353216,X2[26460]=1,y2[6599]=0,y2[6600]=0,X2[26480]=1,y2[6612]=0,y2[6613]=0,X2[26500]=1,y2[6617]=0,y2[6618]=0,y2[6622]=0,y2[6623]=0,X2[26520]=1,y2[6593]=10304,y2[6601]=0,y2[6614]=0,y2[6619]=0,y2[6624]=0,y2[6629]=0,X2[26524]=1,y2[6627]=0,y2[6628]=0,y2[6595]=-1,G(70),X2[26368]=1),26372},ccAllConvexCallback_reset:function(A,e,r,f,i){r|=0,f|=0,i|=0;var a,n,b=0;if(L2=n=L2-16|0,b=y2[(e|=0)+4>>2],y2[(A|=0)+40>>2]=y2[e>>2],y2[A+44>>2]=b,a=y2[(e=e+8|0)+4>>2],y2[(b=A+48|0)>>2]=y2[e>>2],y2[b+4>>2]=a,e=y2[r+4>>2],y2[A+56>>2]=y2[r>>2],y2[A+60>>2]=e,b=y2[(r=r+8|0)+4>>2],y2[(e=A- -64|0)>>2]=y2[r>>2],y2[e+4>>2]=b,X2[A+152|0]=i,y2[A+12>>2]=f,y2[A+4>>2]=1065353216,(0|(r=y2[A+136>>2]))<=-1&&(e=y2[A+144>>2],y2[A+140>>2]<=-1&&(e&&U2[A+148|0]&&(y2[6503]=y2[6503]+1,$2(y2[e-4>>2])),X2[A+148|0]=1,y2[A+140>>2]=0,e=y2[A+144>>2]=0),v2((f=e)+(e=r<<2)|0,0,0-e|0)),((y2[A+136>>2]=0)|(r=y2[A+116>>2]))<=-1&&(e=y2[A+124>>2],y2[A+120>>2]<=-1&&(e&&U2[A+128|0]&&(y2[6503]=y2[6503]+1,$2(y2[e-4>>2])),X2[A+128|0]=1,y2[A+120>>2]=0,e=y2[A+124>>2]=0),v2((f=e)+(e=r<<2)|0,0,0-e|0)),((y2[A+116>>2]=0)|(r=y2[A+24>>2]))<=-1)for(y2[A+28>>2]<=-1&&((e=y2[A+32>>2])&&(U2[A+36|0]&&(y2[6503]=y2[6503]+1,$2(y2[e-4>>2])),y2[A+32>>2]=0),y2[A+28>>2]=0,y2[A+32>>2]=0,X2[A+36|0]=1),e=r<<2;;)if(e=e+4|(y2[y2[A+32>>2]+e>>2]=0),!((f=r)>>>0<=(r=r+1|0)>>>0))break;if(((y2[A+24>>2]=0)|(r=y2[A+96>>2]))<=-1)for(y2[A+100>>2]<=-1&&((e=y2[A+104>>2])&&(U2[A+108|0]&&(y2[6503]=y2[6503]+1,$2(y2[e-4>>2])),y2[A+104>>2]=0),y2[A+100>>2]=0,y2[A+104>>2]=0,X2[A+108|0]=1),e=r<<4;;)if(b=y2[4+n>>2],f=y2[A+104>>2]+e|0,y2[f>>2]=y2[n>>2],y2[f+4>>2]=b,b=y2[(i=8+n|0)+4>>2],y2[(f=f+8|0)>>2]=y2[i>>2],y2[f+4>>2]=b,e=e+16|0,!((f=r)>>>0<=(r=r+1|0)>>>0))break;if(((y2[A+96>>2]=0)|(r=y2[A+76>>2]))<=-1)for(y2[A+80>>2]<=-1&&((e=y2[A+84>>2])&&(U2[A+88|0]&&(y2[6503]=y2[6503]+1,$2(y2[e-4>>2])),y2[A+84>>2]=0),y2[A+80>>2]=0,y2[A+84>>2]=0,X2[A+88|0]=1),e=r<<4;;)if(b=y2[4+n>>2],f=y2[A+84>>2]+e|0,y2[f>>2]=y2[n>>2],y2[f+4>>2]=b,b=y2[(i=8+n|0)+4>>2],y2[(f=f+8|0)>>2]=y2[i>>2],y2[f+4>>2]=b,e=e+16|0,!((f=r)>>>0<=(r=r+1|0)>>>0))break;y2[A+76>>2]=0,L2=16+n|0},ccAllConvexCallback_getHitPointWorld:E0,ccAllConvexCallback_getHitNormalWorld:Q0,ccAllConvexCallback_getCollisionShapePtrs:h0,ManifoldPoint_get_m_positionWorldOnA:D0,ManifoldPoint_get_m_positionWorldOnB:function(A){return(A|=0)+32|0},ManifoldPoint_get_m_normalWorldOnB:function(A){return(A|=0)- -64|0},ManifoldPoint_get_m_localPointA:e,ManifoldPoint_get_m_localPointB:function(A){return(A|=0)+16|0},ManifoldPoint_getDistance:function(A){return A|=0,j2(0),A=H2[A+80>>2],j2(z2(A))>2]},ManifoldPoint_getShape1:Y0,ManifoldPoint_get_m_index0:function(A){return y2[(A|=0)+108>>2]},ManifoldPoint_get_m_index1:function(A){return y2[(A|=0)+112>>2]},PersistentManifold_getBody0:function(A){return y2[(A|=0)+836>>2]},PersistentManifold_getBody1:function(A){return y2[(A|=0)+840>>2]},PersistentManifold_getNumContacts:function(A){return y2[(A|=0)+844>>2]},PersistentManifold_getContactPoint:function(A,e){return A|=0,4+(P2(e|=0,208)+A|0)|0},__cxa_pure_virtual:O,_ZdlPv:b,_ZTVN10__cxxabiv120__si_class_type_infoE:6e3,_ZTVN10__cxxabiv117__class_type_infoE:5960,ControllerHitReport_new:function(){var A=Y(4);return y2[A>>2]=17296,0|A},_Znwm:Y,ControllerHit_getHitWorldPos:L1,ControllerHit_getHitWorldNormal:r1,ControllerHit_getHitMotionDir:k4,ControllerHit_getHitMotionLength:f1,ControllerShapeHit_getHitShape:o4,ControllerShapeHit_getHitCollisionObject:u4,CharacterController_setContactOffset:function(A,e){A|=0,e=j2(e),H2[A+36>>2]=e},CharacterController_setStepOffset:function(A,e){A|=0,e=j2(e),H2[A+32>>2]=e},CharacterController_setSlopeLimit:function(A,e){A|=0,e=j2(e),H2[A+28>>2]=e},_ZTVN10__cxxabiv121__vmi_class_type_infoE:6092,CharacterController_setCollision:function(A,e){X2[(A|=0)+62|0]=e|=0},CharacterController_setOverlapRecovery:function(A,e){X2[(A|=0)+63|0]=e|=0},CharacterController_setUserPointer:q1,CharacterController_getGhostObject:l4,CharacterController_getCollisionShape:s4,CharacterController_move:function(A,e,r,f){A|=0,e|=0,r=j2(r),f=j2(f);var i,a,n,b,t,o,c=0;return j2(0),j2(0),j2(0),L2=o=L2-16|0,f=H2[e+8>>2],i=H2[e+4>>2],a=H2[e>>2],b=j2(N2[y2[y2[A>>2]+20>>2]](A)),X2[A+65|0]=0,H2[A+16>>2]=b,y2[12+o>>2]=1008981770,y2[A+36>>2]=y2[(H2[A+36>>2]>j2(.009999999776482582)?A+36|0:12+o|0)>>2],e=y2[A+4>>2],b=y2[(c=e+52|0)+4>>2],y2[A+136>>2]=y2[c>>2],y2[A+140>>2]=b,b=y2[(e=e+60|0)+4>>2],y2[(c=A+144|0)>>2]=y2[e>>2],y2[c+4>>2]=b,e=i4(A,a,i,f,r),U2[A+60|0]&&(X2[A+61|0]=1,t=y2[4+(n=(e=A+136|0)+8|0)>>2],c=y2[A+4>>2],y2[(b=c+60|0)>>2]=y2[n>>2],y2[4+b>>2]=t,b=y2[e+4>>2],y2[(c=c+52|0)>>2]=y2[e>>2],y2[c+4>>2]=b,e=i4(A,a,i,f,r),X2[A+61|0]=0),U2[A+65|0]&&(c=0|N2[y2[y2[A>>2]+16>>2]](A),4&e)&&1==(0|c)&&(X2[A+64|0]=1,i4(A,a,i,f,r),X2[A+64|0]=0),y2[A+132>>2]=e,L2=16+o|0,0|e},CharacterController_getPosition:function(A){return y2[(A|=0)+4>>2]+52|0},CapsuleCharacterControllerDesc_new:function(A,e,r,f,i,a,n,b){A=j2(A),e=j2(e),r=j2(r),f|=0,i|=0,a|=0,n=j2(n),b=j2(b);var t=Y(60);return H2[t+8>>2]=r,H2[t+4>>2]=e,H2[t>>2]=A,y2[t+44>>2]=1,r=y2[f+4>>2],y2[t+12>>2]=y2[f>>2],y2[t+16>>2]=r,e=y2[(f=f+8|0)+4>>2],y2[(r=t+20|0)>>2]=y2[f>>2],y2[4+r>>2]=e,f=y2[i+4>>2],y2[t+28>>2]=y2[i>>2],y2[t+32>>2]=f,r=y2[(i=i+8|0)+4>>2],y2[(f=t+36|0)>>2]=y2[i>>2],y2[f+4>>2]=r,H2[t+56>>2]=b,H2[t+52>>2]=n,y2[t+48>>2]=a,0|t},CapsuleCharacterController_new:function(A,e,r){A|=0,e|=0,r|=0;var f,i=0,a=Y(160);return X2[a+128|0]=1,X2[a+108|0]=0,y2[a+104>>2]=0,X2[a+65|0]=0,X2[a+61|0]=0,X2[a+62|0]=1,X2[a+63|0]=1,X2[a+64|0]=0,y2[a+20>>2]=0,y2[a+4>>2]=0,y2[a+8>>2]=0,y2[a>>2]=17052,y2[a+124>>2]=0,y2[a+116>>2]=0,y2[a+120>>2]=0,y2[a+24>>2]=r,y2[a+12>>2]=A,y2[a+56>>2]=y2[e+44>>2],f=y2[(r=e+20|0)+4>>2],y2[(A=a+48|0)>>2]=y2[r>>2],y2[A+4>>2]=f,A=y2[e+16>>2],y2[a+40>>2]=y2[e+12>>2],y2[a+44>>2]=A,A=y2[e+4>>2],y2[a+28>>2]=y2[e>>2],y2[a+32>>2]=A,y2[a+132>>2]=0,y2[a>>2]=17084,y2[a+36>>2]=y2[e+8>>2],y2[a+20>>2]=y2[e+48>>2],y2[a+152>>2]=y2[e+52>>2],y2[a+156>>2]=y2[e+56>>2],y2[6502]=y2[6502]+1,A=0,(r=q2(367))&&(y2[(A=r+19&-16)-4>>2]=r),y2[A+132>>2]=0,y2[A+136>>2]=0,y2[A>>2]=10468,y2[A+188>>2]=0,y2[A+192>>2]=0,y2[A+180>>2]=0,y2[A+184>>2]=1566444395,y2[A+172>>2]=1065353216,y2[A+176>>2]=0,y2[A+164>>2]=1065353216,y2[A+168>>2]=1065353216,X2[A+300|0]=1,y2[A+280>>2]=0,y2[A+272>>2]=0,y2[A+276>>2]=0,y2[A+264>>2]=-1,y2[A+268>>2]=1065353216,y2[A+256>>2]=0,y2[A+260>>2]=-1,y2[A+244>>2]=1036831949,y2[A+248>>2]=1176256512,y2[A+236>>2]=0,y2[A+240>>2]=0,y2[A+228>>2]=1056964608,y2[A+232>>2]=0,y2[A+220>>2]=1,y2[A+224>>2]=0,y2[A+212>>2]=-1,y2[A+216>>2]=-1,y2[A+204>>2]=1,y2[A+208>>2]=-1,y2[(r=A+140|0)>>2]=0,y2[r+4>>2]=0,y2[(r=A+148|0)>>2]=0,y2[r+4>>2]=0,y2[(r=A+156|0)>>2]=0,y2[r+4>>2]=0,y2[(r=A+196|0)>>2]=0,y2[r+4>>2]=0,y2[A+304>>2]=0,y2[A+296>>2]=0,y2[A+288>>2]=0,y2[A+292>>2]=0,y2[A+8>>2]=0,y2[A+12>>2]=0,y2[A+4>>2]=1065353216,y2[(r=A+16|0)>>2]=0,y2[r+4>>2]=0,y2[A+28>>2]=0,y2[A+32>>2]=0,y2[A+24>>2]=1065353216,y2[(r=A+36|0)>>2]=0,y2[r+4>>2]=0,y2[A+48>>2]=0,y2[A+52>>2]=0,y2[A+44>>2]=1065353216,y2[(r=A+56|0)>>2]=0,y2[r+4>>2]=0,y2[A+72>>2]=0,y2[A+76>>2]=0,y2[(r=A- -64|0)>>2]=0,y2[r+4>>2]=1065353216,y2[(r=A+80|0)>>2]=0,y2[r+4>>2]=0,y2[A+88>>2]=1065353216,y2[(r=A+100|0)>>2]=0,y2[r+4>>2]=0,y2[A+92>>2]=0,y2[A+96>>2]=0,y2[A+128>>2]=0,y2[A+108>>2]=1065353216,y2[(r=A+120|0)>>2]=0,y2[r+4>>2]=0,y2[A+112>>2]=0,y2[A+116>>2]=0,X2[A+340|0]=1,y2[A+336>>2]=0,y2[A+328>>2]=0,y2[A+332>>2]=0,y2[A+252>>2]=4,y2[A>>2]=16548,y2[6502]=y2[6502]+1,(r=q2(91))&&(y2[(i=r+19&-16)-4>>2]=r),z1(i),y2[A+204>>2]=4,y2[a+4>>2]=A,y2[A+344>>2]=i,r=y2[e+32>>2],y2[A+52>>2]=y2[e+28>>2],y2[A+56>>2]=r,r=y2[(e=e+36|0)+4>>2],y2[(A=A+60|0)>>2]=y2[e>>2],y2[A+4>>2]=r,b4(y2[y2[a+4>>2]+256>>2]=a),0|a},CapsuleCharacterController_setRadius:function(A,e){A|=0,e=j2(e),H2[A+152>>2]=e,b4(A)},CapsuleCharacterController_setHeight:function(A,e){A|=0,e=j2(e),H2[A+156>>2]=e,b4(A)},BoxCharacterControllerDesc_new:function(A,e,r,f,i,a,n,b,t){A=j2(A),e=j2(e),r=j2(r),f|=0,i|=0,a|=0,n=j2(n),b=j2(b),t=j2(t);var o=Y(64);return H2[o+8>>2]=r,H2[o+4>>2]=e,H2[o>>2]=A,y2[o+44>>2]=0,r=y2[f+4>>2],y2[o+12>>2]=y2[f>>2],y2[o+16>>2]=r,e=y2[(f=f+8|0)+4>>2],y2[(r=o+20|0)>>2]=y2[f>>2],y2[4+r>>2]=e,f=y2[i+4>>2],y2[o+28>>2]=y2[i>>2],y2[o+32>>2]=f,r=y2[(i=i+8|0)+4>>2],y2[(f=o+36|0)>>2]=y2[i>>2],y2[f+4>>2]=r,H2[o+60>>2]=t,H2[o+56>>2]=b,H2[o+52>>2]=n,y2[o+48>>2]=a,0|o},BoxCharacterController_new:function(A,e,r){A|=0,e|=0,r|=0;var f,i=0,a=Y(164);return X2[a+128|0]=1,X2[a+108|0]=0,y2[a+104>>2]=0,X2[a+65|0]=0,X2[a+61|0]=0,X2[a+62|0]=1,X2[a+63|0]=1,X2[a+64|0]=0,y2[a+20>>2]=0,y2[a+4>>2]=0,y2[a+8>>2]=0,y2[a>>2]=17052,y2[a+124>>2]=0,y2[a+116>>2]=0,y2[a+120>>2]=0,y2[a+24>>2]=r,y2[a+12>>2]=A,y2[a+56>>2]=y2[e+44>>2],f=y2[(r=e+20|0)+4>>2],y2[(A=a+48|0)>>2]=y2[r>>2],y2[A+4>>2]=f,A=y2[e+16>>2],y2[a+40>>2]=y2[e+12>>2],y2[a+44>>2]=A,A=y2[e+4>>2],y2[a+28>>2]=y2[e>>2],y2[a+32>>2]=A,y2[a+132>>2]=0,y2[a>>2]=17224,y2[a+36>>2]=y2[e+8>>2],y2[a+20>>2]=y2[e+48>>2],y2[a+156>>2]=y2[e+56>>2],y2[a+152>>2]=y2[e+52>>2],y2[a+160>>2]=y2[e+60>>2],y2[6502]=y2[6502]+1,A=0,(r=q2(367))&&(y2[(A=r+19&-16)-4>>2]=r),y2[A+132>>2]=0,y2[A+136>>2]=0,y2[A>>2]=10468,y2[A+188>>2]=0,y2[A+192>>2]=0,y2[A+180>>2]=0,y2[A+184>>2]=1566444395,y2[A+172>>2]=1065353216,y2[A+176>>2]=0,y2[A+164>>2]=1065353216,y2[A+168>>2]=1065353216,X2[A+300|0]=1,y2[A+280>>2]=0,y2[A+272>>2]=0,y2[A+276>>2]=0,y2[A+264>>2]=-1,y2[A+268>>2]=1065353216,y2[A+256>>2]=0,y2[A+260>>2]=-1,y2[A+244>>2]=1036831949,y2[A+248>>2]=1176256512,y2[A+236>>2]=0,y2[A+240>>2]=0,y2[A+228>>2]=1056964608,y2[A+232>>2]=0,y2[A+220>>2]=1,y2[A+224>>2]=0,y2[A+212>>2]=-1,y2[A+216>>2]=-1,y2[A+204>>2]=1,y2[A+208>>2]=-1,y2[(r=A+140|0)>>2]=0,y2[r+4>>2]=0,y2[(r=A+148|0)>>2]=0,y2[r+4>>2]=0,y2[(r=A+156|0)>>2]=0,y2[r+4>>2]=0,y2[(r=A+196|0)>>2]=0,y2[r+4>>2]=0,y2[A+304>>2]=0,y2[A+296>>2]=0,y2[A+288>>2]=0,y2[A+292>>2]=0,y2[A+8>>2]=0,y2[A+12>>2]=0,y2[A+4>>2]=1065353216,y2[(r=A+16|0)>>2]=0,y2[r+4>>2]=0,y2[A+28>>2]=0,y2[A+32>>2]=0,y2[A+24>>2]=1065353216,y2[(r=A+36|0)>>2]=0,y2[r+4>>2]=0,y2[A+48>>2]=0,y2[A+52>>2]=0,y2[A+44>>2]=1065353216,y2[(r=A+56|0)>>2]=0,y2[r+4>>2]=0,y2[A+72>>2]=0,y2[A+76>>2]=0,y2[(r=A- -64|0)>>2]=0,y2[r+4>>2]=1065353216,y2[(r=A+80|0)>>2]=0,y2[r+4>>2]=0,y2[A+88>>2]=1065353216,y2[(r=A+100|0)>>2]=0,y2[r+4>>2]=0,y2[A+92>>2]=0,y2[A+96>>2]=0,y2[A+128>>2]=0,y2[A+108>>2]=1065353216,y2[(r=A+120|0)>>2]=0,y2[r+4>>2]=0,y2[A+112>>2]=0,y2[A+116>>2]=0,X2[A+340|0]=1,y2[A+336>>2]=0,y2[A+328>>2]=0,y2[A+332>>2]=0,y2[A+252>>2]=4,y2[A>>2]=16548,y2[6502]=y2[6502]+1,(r=q2(91))&&(y2[(i=r+19&-16)-4>>2]=r),z1(i),y2[A+204>>2]=4,y2[a+4>>2]=A,y2[A+344>>2]=i,r=y2[e+32>>2],y2[A+52>>2]=y2[e+28>>2],y2[A+56>>2]=r,r=y2[(e=e+36|0)+4>>2],y2[(A=A+60|0)>>2]=y2[e>>2],y2[A+4>>2]=r,c4(y2[y2[a+4>>2]+256>>2]=a),0|a},BoxCharacterController_setHalfHeight:function(A,e){A|=0,e=j2(e),H2[A+152>>2]=e,c4(A)},BoxCharacterController_setHalfSideExtent:function(A,e){A|=0,e=j2(e),H2[A+156>>2]=e,c4(A)},BoxCharacterController_setHalfForwardExtent:function(A,e){A|=0,e=j2(e),H2[A+160>>2]=e,c4(A)},CollisionObject_new:function(){var A,e=0;return y2[6502]=y2[6502]+1,(A=q2(343))&&(y2[(e=A+19&-16)-4>>2]=A),y2[e+132>>2]=0,y2[e+136>>2]=0,y2[e>>2]=10468,y2[e+188>>2]=0,y2[e+192>>2]=0,y2[e+180>>2]=0,y2[e+184>>2]=1566444395,y2[e+172>>2]=1065353216,y2[e+176>>2]=0,y2[e+164>>2]=1065353216,y2[e+168>>2]=1065353216,X2[e+300|0]=1,y2[e+276>>2]=0,y2[e+280>>2]=0,y2[e+268>>2]=1065353216,y2[e+272>>2]=0,y2[e+260>>2]=-1,y2[e+264>>2]=-1,y2[e+252>>2]=1,y2[e+256>>2]=0,y2[e+244>>2]=1036831949,y2[e+248>>2]=1176256512,y2[e+236>>2]=0,y2[e+240>>2]=0,y2[e+228>>2]=1056964608,y2[e+232>>2]=0,y2[e+220>>2]=1,y2[e+224>>2]=0,y2[e+212>>2]=-1,y2[e+216>>2]=-1,y2[e+204>>2]=1,y2[e+208>>2]=-1,y2[(A=e+140|0)>>2]=0,y2[4+A>>2]=0,y2[(A=e+148|0)>>2]=0,y2[4+A>>2]=0,y2[(A=e+156|0)>>2]=0,y2[4+A>>2]=0,y2[(A=e+196|0)>>2]=0,y2[4+A>>2]=0,y2[e+304>>2]=0,y2[e+296>>2]=0,y2[e+288>>2]=0,y2[e+292>>2]=0,y2[e+8>>2]=0,y2[e+12>>2]=0,y2[e+4>>2]=1065353216,y2[(A=e+16|0)>>2]=0,y2[4+A>>2]=0,y2[e+28>>2]=0,y2[e+32>>2]=0,y2[e+24>>2]=1065353216,y2[(A=e+36|0)>>2]=0,y2[4+A>>2]=0,y2[e+48>>2]=0,y2[e+52>>2]=0,y2[e+44>>2]=1065353216,y2[(A=e+56|0)>>2]=0,y2[4+A>>2]=0,y2[e+72>>2]=0,y2[e+76>>2]=0,y2[(A=e- -64|0)>>2]=0,y2[4+A>>2]=1065353216,y2[(A=e+80|0)>>2]=0,y2[4+A>>2]=0,y2[e+88>>2]=1065353216,y2[(A=e+100|0)>>2]=0,y2[4+A>>2]=0,y2[e+92>>2]=0,y2[e+96>>2]=0,y2[e+128>>2]=0,y2[e+108>>2]=1065353216,y2[(A=e+120|0)>>2]=0,y2[4+A>>2]=0,y2[e+112>>2]=0,(y2[e+116>>2]=0)|e},CollisionObject_isStaticObject:function(A){return 1&y2[(A|=0)+204>>2]},CollisionObject_isKinematicObject:function(A){return(2&U2[(A|=0)+204|0])>>>1|0},CollisionObject_isStaticOrKinematicObject:function(A){return 0!=(3&U2[(A|=0)+204|0])|0},CollisionObject_setContactProcessingThreshold:function(A,e){H2[(A|=0)+184>>2]=0|(e|=0)},CollisionObject_forceActivationState:function(A,e){y2[(A|=0)+220>>2]=e|=0},CollisionObject_activate:function(A,e){e|=0,3&U2[(A|=0)+204|0]&&!e||(4!=(-2&y2[A+220>>2])&&(y2[A+220>>2]=1),y2[A+224>>2]=0)},CollisionObject_isActive:function(A){return 2!=(0|(A=y2[(A|=0)+220>>2]))&5!=(0|A)},CollisionObject_setMaterial:function(A,e,r,f,i){A|=0,e=j2(e),r=j2(r),f=j2(f),i=j2(i),H2[A+232>>2]=e,H2[A+236>>2]=f,H2[A+228>>2]=r,H2[A+240>>2]=i,y2[A+304>>2]=y2[A+304>>2]+4},CollisionObject_getCollisionFlags:Y0,CollisionObject_setCollisionFlags:function(A,e){y2[(A|=0)+204>>2]=e|=0},CollisionObject_getWorldTransform:L1,CollisionObject_setCollisionShape:v4,CollisionObject_getCollisionShape:function(A){return y2[(A|=0)+192>>2]},CollisionObject_getCcdMotionThreshold:function(A){return j2(H2[(A|=0)+276>>2])},CollisionObject_setCcdMotionThreshold:function(A,e){A|=0,e=j2(e),H2[A+276>>2]=e},CollisionObject_getCcdSweptSphereRadius:function(A){return j2(H2[(A|=0)+272>>2])},CollisionObject_setCcdSweptSphereRadius:function(A,e){A|=0,e=j2(e),H2[A+272>>2]=e},CollisionObject_getUserIndex:function(A){return y2[(A|=0)+264>>2]},CollisionObject_setUserIndex:function(A,e){y2[(A|=0)+264>>2]=e|=0},CollisionObject_getActivationState:function(A){return y2[(A|=0)+220>>2]},CollisionObject_setIgnoreCollisionCheck:function(A,e,r){e|=0;var f=0,i=0,a=0,n=0,f=y2[(A|=0)+288>>2];A:if(r|=0){if(y2[A+292>>2]==(0|f)&&!((0|(a=f?f<<1:1))<=(0|f))){if(a&&(y2[6502]=y2[6502]+1,(r=q2(16+(a<<2|3)|0))&&(y2[(n=r+19&-16)-4>>2]=r),f=y2[A+288>>2]),1<=(0|f))for(r=0,i=f;;)if(y2[r+n>>2]=y2[y2[A+296>>2]+r>>2],r=r+4|0,!(i=i-1|0))break;(r=y2[A+296>>2])&&(U2[A+300|0]&&(y2[6503]=y2[6503]+1,$2(y2[r-4>>2]),f=y2[A+288>>2]),y2[A+296>>2]=0),y2[A+296>>2]=n,y2[A+292>>2]=a,X2[A+300|0]=1}y2[A+288>>2]=i=f+1|0,y2[y2[A+296>>2]+(f<<2)>>2]=e}else if((0|f)<1)i=f;else{r=n=y2[A+296>>2];e:{for(;;){if(y2[r>>2]==(0|e))break e;if(r=r+4|0,(0|(i=i+1|0))==(0|f))break}i=f;break A}(0|f)<=(0|i)?i=f:(y2[(a=r)>>2]=y2[(r=(i=f-1|0)<<2)+n>>2],y2[A+288>>2]=i,y2[r+y2[A+296>>2]>>2]=e)}y2[A+280>>2]=0<(0|i)},CollisionShape_setMaterial:B0,CollisionShape_getMaterial:W4,CollisionShape_setUserPointer:function(A,e){y2[(A|=0)+8>>2]=e|=0},CollisionShape_getUserPointer:s4,CollisionShape_getLocalScaling:function(A){return 0|N2[y2[y2[(A|=0)>>2]+28>>2]](A)},CollisionShape_setLocalScaling:function(A,e){N2[y2[y2[(A|=0)>>2]+24>>2]](A,e|=0)},CollisionShape_calculateLocalInertia:function(A,e,r){A|=0,e=j2(e),N2[y2[y2[A>>2]+32>>2]](A,e,r|=0)},CollisionShape_isCompound:function(A){return 31==y2[(A|=0)+4>>2]|0},CollisionShape_getAabb:y1,CollisionShape_getLocalBoundingSphere:function(A){var e,r;return A|=0,j2(0),j2(0),y2[(e=44+(L2=r=L2-96|0)|0)>>2]=0,y2[4+e>>2]=0,y2[(e=56+r|0)>>2]=0,y2[4+e>>2]=0,y2[52+r>>2]=1065353216,y2[(e=76+r|0)>>2]=0,y2[4+e>>2]=0,y2[72+r>>2]=1065353216,y2[(e=84+r|0)>>2]=0,y2[4+e>>2]=0,y2[92+r>>2]=0,y2[36+r>>2]=0,y2[40+r>>2]=0,y2[32+r>>2]=1065353216,y2[64+r>>2]=0,y2[68+r>>2]=0,N2[y2[y2[A>>2]+8>>2]](A,32+r|0,16+r|0,r),L2=96+r|0,e=j2(H2[r>>2]-H2[16+r>>2]),A=j2(e*e),e=j2(H2[4+r>>2]-H2[20+r>>2]),A=j2(A+j2(e*e)),e=j2(H2[8+r>>2]-H2[24+r>>2]),j2(j2(j2(K2(j2(A+j2(e*e))))*j2(.5)))},CollisionShape_setMargin:function(A,e){A|=0,e=j2(e),N2[y2[y2[A>>2]+44>>2]](A,e)},BoxShape_new:function(A){A|=0;var e,r,f,i,a,n,b=0;return j2(0),j2(0),j2(0),j2(0),j2(0),j2(0),y2[6502]=y2[6502]+1,(f=q2(83))&&(y2[(b=f+19&-16)-4>>2]=f),y2[b+52>>2]=1025758986,y2[b+28>>2]=1065353216,y2[b+32>>2]=0,y2[b+20>>2]=1065353216,y2[b+24>>2]=1065353216,y2[b+12>>2]=0,y2[b+16>>2]=0,y2[b+4>>2]=0,y2[b+8>>2]=0,f=H2[A+8>>2],e=H2[A+4>>2],r=H2[A>>2],y2[b+48>>2]=0,r=j2(r+j2(-.03999999910593033)),H2[b+36>>2]=r,i=j2(e+j2(-.03999999910593033)),H2[b+40>>2]=i,a=j2(f+j2(-.03999999910593033)),H2[b+44>>2]=a,y2[b+60>>2]=0,y2[b>>2]=16632,f=H2[A>>2],e=H2[A+8>>2],n=H2[A+4>>2],(e=j2(H2[((f>2]*j2(.10000000149011612)))>2],H2[b+52>>2]=e,e=H2[b+52>>2],y2[b+48>>2]=0,H2[b+44>>2]=j2(f+a)-e,H2[b+40>>2]=j2(f+i)-e,H2[b+36>>2]=j2(f+r)-e),0|b},BoxShape_setUnscaledHalfExtents:function(A,e){A|=0,e|=0,j2(0),j2(0),j2(0),j2(0),j2(0),j2(0);var r=j2(N2[y2[y2[A>>2]+48>>2]](A)),f=j2(N2[y2[y2[A>>2]+48>>2]](A)),i=j2(N2[y2[y2[A>>2]+48>>2]](A)),a=H2[e>>2],n=H2[e+4>>2],b=H2[e+8>>2];y2[A+48>>2]=0,H2[A+44>>2]=j2(b*H2[A+28>>2])-i,H2[A+40>>2]=j2(n*H2[A+24>>2])-f,H2[A+36>>2]=j2(a*H2[A+20>>2])-r,b=!((r=H2[e>>2])<(f=H2[e+8>>2]))<<1,i=f,f=H2[e+4>>2],r=j2(H2[((r>2]*j2(.10000000149011612)),j2(N2[y2[y2[A>>2]+48>>2]](A))>r&&N2[y2[y2[A>>2]+44>>2]](A,r)},SphereShape_new:function(A){A=j2(A);var e,r=0;return y2[6502]=y2[6502]+1,(e=q2(79))&&(y2[(r=e+19&-16)-4>>2]=e),y2[r+32>>2]=0,y2[r+36>>2]=0,y2[r+12>>2]=0,y2[r+16>>2]=0,y2[r+4>>2]=8,y2[r+8>>2]=0,y2[r+28>>2]=1065353216,y2[r+20>>2]=1065353216,y2[r+24>>2]=1065353216,y2[r>>2]=13244,y2[r+56>>2]=0,H2[r+52>>2]=A,H2[r+36>>2]=A,y2[(e=r+40|0)>>2]=0,y2[4+e>>2]=0,(y2[r+48>>2]=0)|r},SphereShape_setUnscaledRadius:function(A,e){A|=0,e=j2(e),H2[A+52>>2]=e,H2[A+36>>2]=e},CapsuleShape_new:function(A,e){A=j2(A),e=j2(e);var r,f=0;return y2[6502]=y2[6502]+1,(r=q2(83))&&(y2[(f=r+19&-16)-4>>2]=r),y2[f+28>>2]=1065353216,y2[f+32>>2]=0,y2[f+20>>2]=1065353216,y2[f+24>>2]=1065353216,y2[f+12>>2]=0,y2[f+16>>2]=0,y2[f+4>>2]=10,y2[f+8>>2]=0,H2[f+52>>2]=A,y2[f>>2]=10644,y2[f+60>>2]=1,y2[f+48>>2]=0,H2[f+44>>2]=A,H2[f+36>>2]=A,H2[f+40>>2]=e*j2(.5),0|f},CapsuleShape_updateProp:function(A,e,r,f){A|=0,e=j2(e),r=j2(r),f|=0;var i,a=j2(0);y2[A+20>>2]=1065353216,y2[A+24>>2]=1065353216,y2[A+60>>2]=f,y2[(i=A+28|0)>>2]=1065353216,1==((y2[4+i>>2]=0)|f)?(H2[A+36>>2]=e,a=r):f?(a=H2[A+36>>2]=e,e=r):(H2[A+36>>2]=r,a=e),y2[A+48>>2]=0,H2[A+44>>2]=e,H2[A+40>>2]=a,y2[A+52>>2]=y2[36+(((f+2|0)%3<<2)+A|0)>>2]},ConvexInternalShape_getImplicitShapeDimensions:k4,CylinderShape_new:function(A){A|=0;var e,r,f,i,a,n,b=0;return j2(0),j2(0),j2(0),j2(0),j2(0),j2(0),y2[6502]=y2[6502]+1,(f=q2(83))&&(y2[(b=f+19&-16)-4>>2]=f),y2[b+52>>2]=1025758986,y2[b+28>>2]=1065353216,y2[b+32>>2]=0,y2[b+20>>2]=1065353216,y2[b+24>>2]=1065353216,y2[b+12>>2]=0,y2[b+16>>2]=0,y2[b+4>>2]=35,y2[b+8>>2]=0,f=H2[A+8>>2],e=H2[A+4>>2],r=H2[A>>2],y2[b+48>>2]=0,r=j2(r+j2(-.03999999910593033)),H2[b+36>>2]=r,i=j2(e+j2(-.03999999910593033)),H2[b+40>>2]=i,a=j2(f+j2(-.03999999910593033)),H2[b+44>>2]=a,y2[b+60>>2]=1,y2[b>>2]=17392,f=H2[A>>2],e=H2[A+8>>2],n=H2[A+4>>2],(e=j2(H2[((f>2]*j2(.10000000149011612)))>2],H2[b+52>>2]=e,e=H2[b+52>>2],y2[b+48>>2]=0,H2[b+44>>2]=j2(f+a)-e,H2[b+40>>2]=j2(f+i)-e,H2[b+36>>2]=j2(f+r)-e),y2[b+4>>2]=13,0|b},CylinderShape_updateProp:function(A,e,r,f){A|=0,e=j2(e),r=j2(r),f|=0;var i,a=j2(0);y2[A+20>>2]=1065353216,y2[A+24>>2]=1065353216,y2[A+60>>2]=f,y2[(i=A+28|0)>>2]=1065353216,1==((y2[4+i>>2]=0)|f)?(H2[A+36>>2]=e,a=r):f?(a=H2[A+36>>2]=e,e=r):(H2[A+36>>2]=r,a=e),y2[A+48>>2]=0,H2[(f=A+44|0)>>2]=e,H2[(i=A+40|0)>>2]=a,e=j2(N2[y2[y2[A>>2]+48>>2]](A)),r=j2(N2[y2[y2[A>>2]+48>>2]](A)),a=j2(N2[y2[y2[A>>2]+48>>2]](A)),H2[A+36>>2]=H2[A+36>>2]-e,H2[i>>2]=H2[i>>2]-r,H2[f>>2]=H2[f>>2]-a},ConeShape_new:function(A,e){A=j2(A),e=j2(e);var r,f=0;return y2[6502]=y2[6502]+1,(r=q2(103))&&(y2[(f=r+19&-16)-4>>2]=r),y2[f+52>>2]=1025758986,y2[f+28>>2]=1065353216,y2[f+32>>2]=0,y2[f+20>>2]=1065353216,y2[f+24>>2]=1065353216,y2[f+12>>2]=0,y2[f+16>>2]=0,y2[f+4>>2]=11,y2[f+8>>2]=0,H2[f+68>>2]=e,H2[f+64>>2]=A,y2[f>>2]=10808,y2[f+80>>2]=2,y2[f+72>>2]=0,y2[f+76>>2]=1,H2[f+44>>2]=A,H2[f+40>>2]=e,H2[f+36>>2]=A,H2[f+60>>2]=A/j2(K2(j2(j2(A*A)+j2(e*e)))),0|f},ConeShape_setRadius:function(A,e){A|=0,e=j2(e),H2[A+64>>2]=e},ConeShape_setHeight:function(A,e){A|=0,e=j2(e),H2[A+68>>2]=e},ConeShape_setConeUpIndex:function(A,e){A|=0;var r,f=0,i=0;A:{e:{r:{f:{if((e|=0)>>>0<=2)switch(e-1|0){case 1:break e;case 0:break r;default:break f;}f=y2[A+76>>2],i=y2[A+72>>2],e=y2[A+80>>2];break A}y2[A+72>>2]=1,y2[A+76>>2]=0,i=1,e=y2[A+80>>2]=2;break A}y2[A+72>>2]=0,f=y2[A+76>>2]=1,e=y2[A+80>>2]=2;break A}y2[A+72>>2]=0,f=y2[A+76>>2]=2,e=y2[A+80>>2]=1}y2[(r=A+36|0)+(i<<2)>>2]=y2[A+64>>2],y2[(f<<2)+r>>2]=y2[A+68>>2],y2[(e<<2)+r>>2]=y2[A+64>>2]},StaticPlaneShape_new:function(A,e){A|=0,e=j2(e);var r,f,i,a=0;return j2(0),j2(0),j2(0),y2[6502]=y2[6502]+1,(r=q2(111))&&(y2[(a=r+19&-16)-4>>2]=r),y2[a+20>>2]=0,y2[a+12>>2]=0,y2[a+16>>2]=0,y2[a+4>>2]=35,y2[a+8>>2]=0,y2[a>>2]=17556,r=H2[A+8>>2],f=H2[A>>2],i=H2[A+4>>2],A=y2[A+12>>2],y2[a+84>>2]=1065353216,y2[a+88>>2]=0,y2[a+76>>2]=1065353216,y2[a+80>>2]=1065353216,H2[a+72>>2]=e,y2[a+68>>2]=A,y2[a+4>>2]=28,e=j2(j2(1)/j2(K2(j2(j2(j2(f*f)+j2(i*i))+j2(r*r))))),H2[a+64>>2]=r*e,H2[a+60>>2]=i*e,H2[a+56>>2]=f*e,0|a},StaticPlaneShape_setPlaneConstant:function(A,e){A|=0,e=j2(e),H2[A+72>>2]=e},StaticPlaneShape_getPlaneNormal:function(A){return(A|=0)+56|0},ccCompoundShape_new:function(){var A,e,r,f=0,i=0,a=0,n=0,b=0,i=y2[6502];if(y2[6502]=i+1,(a=q2(119))&&(y2[(f=a+19&-16)-4>>2]=a),y2[f+32>>2]=0,y2[f+36>>2]=0,y2[f+8>>2]=0,y2[f+12>>2]=0,y2[f>>2]=17700,y2[f+96>>2]=0,y2[f+88>>2]=1065353216,y2[f+92>>2]=1065353216,y2[f+80>>2]=0,y2[f+84>>2]=1065353216,y2[f+72>>2]=0,y2[f+76>>2]=1,y2[f+64>>2]=-581039253,y2[f+68>>2]=0,y2[f+56>>2]=-581039253,y2[f+60>>2]=-581039253,y2[f+48>>2]=1566444395,y2[f+52>>2]=0,y2[f+40>>2]=1566444395,y2[f+44>>2]=1566444395,y2[f+24>>2]=0,y2[f+28>>2]=0,y2[f+4>>2]=31,y2[(a=f+16|0)>>2]=0,y2[a+4>>2]=0,X2[f+36|0]=1,y2[f+32>>2]=0,y2[6502]=i+2,(a=q2(59))&&(y2[(n=a+19&-16)-4>>2]=a),y2[n+32>>2]=0,X2[n+36|0]=1,y2[n+24>>2]=0,y2[n+28>>2]=0,y2[n+16>>2]=0,y2[n+8>>2]=-1,y2[n+12>>2]=0,y2[n>>2]=0,y2[n+4>>2]=0,y2[f+72>>2]=n,y2[f+28>>2]<=-1){r=y2[f+32>>2];A:{if(1<=(0|(b=y2[f+24>>2]))){for(n=0;;)if(a=y2[4+(i=e=n+r|0)>>2],y2[n>>2]=y2[i>>2],y2[n+4>>2]=a,a=y2[4+(i=8+i|0)>>2],y2[(A=n+8|0)>>2]=y2[i>>2],y2[4+A>>2]=a,a=y2[4+(i=24+e|0)>>2],y2[(A=n+24|0)>>2]=y2[i>>2],y2[4+A>>2]=a,a=y2[4+(i=16+e|0)>>2],y2[(A=n+16|0)>>2]=y2[i>>2],y2[4+A>>2]=a,a=y2[4+(i=40+e|0)>>2],y2[(A=n+40|0)>>2]=y2[i>>2],y2[4+A>>2]=a,a=y2[4+(i=32+e|0)>>2],y2[(A=n+32|0)>>2]=y2[i>>2],y2[4+A>>2]=a,a=y2[4+(i=56+e|0)>>2],y2[(A=n+56|0)>>2]=y2[i>>2],y2[4+A>>2]=a,a=y2[4+(i=48+e|0)>>2],y2[(A=n+48|0)>>2]=y2[i>>2],y2[4+A>>2]=a,a=y2[4+(i=e+64|0)>>2],y2[(A=n- -64|0)>>2]=y2[i>>2],y2[4+A>>2]=a,a=y2[4+(i=72+e|0)>>2],y2[(A=n+72|0)>>2]=y2[i>>2],y2[4+A>>2]=a,n=n+80|0,!(b=b-1|0))break}else if(!r)break A;U2[f+36|0]&&(y2[6503]=y2[6503]+1,$2(y2[r-4>>2])),y2[f+32>>2]=0}X2[f+36|0]=1,y2[f+28>>2]=0,y2[f+32>>2]=0}return y2[f>>2]=19168,0|f},CompoundShape_getNumChildShapes:G4,CompoundShape_addChildShape:function(A,e,r){A|=0,e|=0,r|=0;var f,i,a,n,b,t,o,c,k,u,l,s,v=0,B=0,d=0,_=(j2(0),0),g=0,Z=(j2(0),L2-128|0);if(L2=Z,y2[A+76>>2]=y2[A+76>>2]+1,v=y2[(B=e+24|0)>>2],B=y2[B+4>>2],_=y2[(d=e+8|0)>>2],d=y2[d+4>>2],k=y2[(t=e+40|0)>>2],t=y2[4+t>>2],u=y2[e+16>>2],c=y2[e+20>>2],f=y2[e>>2],i=y2[e+4>>2],l=y2[e+32>>2],a=y2[e+36>>2],s=y2[4+(o=e+56|0)>>2],y2[(b=120+Z|0)>>2]=y2[o>>2],y2[4+b>>2]=s,y2[(b=104+Z|0)>>2]=k,y2[4+b>>2]=t,y2[(t=72+Z|0)>>2]=_,y2[4+t>>2]=d,y2[(d=88+Z|0)>>2]=v,y2[d+4>>2]=B,B=y2[e+52>>2],y2[112+Z>>2]=y2[e+48>>2],y2[116+Z>>2]=B,y2[96+Z>>2]=l,y2[100+Z>>2]=a,y2[64+Z>>2]=f,y2[68+Z>>2]=i,y2[80+Z>>2]=u,y2[84+Z>>2]=c,l=y2[r+4>>2],s=j2(N2[y2[y2[r>>2]+48>>2]](r)),N2[y2[y2[r>>2]+8>>2]](r,e,48+Z|0,32+Z|0),(n=H2[48+Z>>2])>2]&&(H2[A+40>>2]=n),(n=H2[32+Z>>2])>H2[A+56>>2]&&(H2[A+56>>2]=n),(n=H2[52+Z>>2])>2]&&(H2[A+44>>2]=n),(n=H2[36+Z>>2])>H2[A+60>>2]&&(H2[A+60>>2]=n),(n=H2[56+Z>>2])>2]&&(H2[A+48>>2]=n),(n=H2[40+Z>>2])>H2[A- -64>>2]&&(H2[A+64>>2]=n),(B=y2[A+72>>2])?(d=y2[(v=40+Z|0)+4>>2],y2[(e=24+Z|0)>>2]=y2[v>>2],y2[e+4>>2]=d,d=y2[(v=56+Z|0)+4>>2],y2[(e=8+Z|0)>>2]=y2[v>>2],y2[e+4>>2]=d,e=y2[52+Z>>2],y2[Z>>2]=y2[48+Z>>2],y2[4+Z>>2]=e,e=y2[36+Z>>2],y2[16+Z>>2]=y2[32+Z>>2],y2[20+Z>>2]=e,d=y2[A+24>>2],(e=y2[B+4>>2])?y2[B+4>>2]=0:(y2[6502]=y2[6502]+1,e=0,(v=q2(63))&&(y2[(e=v+19&-16)-4>>2]=v),y2[e>>2]=0,y2[e+4>>2]=0,y2[e+40>>2]=0,y2[(v=e+32|0)>>2]=0,y2[v+4>>2]=0,y2[(v=e+24|0)>>2]=0,y2[v+4>>2]=0,y2[(v=e+16|0)>>2]=0,y2[v+4>>2]=0,y2[(v=e+8|0)>>2]=0,y2[v+4>>2]=0),y2[e+36>>2]=d,v=y2[4+Z>>2],y2[e>>2]=y2[Z>>2],y2[e+4>>2]=v,y2[e+40>>2]=0,_=y2[(d=8+Z|0)+4>>2],y2[(v=e+8|0)>>2]=y2[d>>2],y2[v+4>>2]=_,_=y2[(d=16+Z|0)+4>>2],y2[(v=e+16|0)>>2]=y2[d>>2],y2[v+4>>2]=_,_=y2[(d=24+Z|0)+4>>2],y2[(v=e+24|0)>>2]=y2[d>>2],y2[v+4>>2]=_,y2[e+32>>2]=0,C4(B,y2[B>>2],e),y2[B+12>>2]=y2[B+12>>2]+1):e=0,t=112+Z|0,k=96+Z|0,u=80+Z|0,(0|(B=y2[A+24>>2]))==y2[A+28>>2]&&!((0|(c=B?B<<1:1))<=(0|B))){if(c&&(y2[6502]=y2[6502]+1,(B=q2(16+(3|P2(c,80))|0))&&(y2[(g=B+19&-16)-4>>2]=B),B=y2[A+24>>2]),1<=(0|B))for(_=64;;)if(d=y2[A+32>>2]+_|0,b=y2[4+(f=d+-64|0)>>2],y2[(i=(v=_+g|0)+-64|0)>>2]=y2[f>>2],y2[4+i>>2]=b,a=y2[4+(f=8+f|0)>>2],y2[(i=8+i|0)>>2]=y2[f>>2],y2[4+i>>2]=a,o=y2[4+(b=8+(i=d-48|0)|0)>>2],y2[(a=8+(f=v-48|0)|0)>>2]=y2[b>>2],y2[4+a>>2]=o,a=y2[4+i>>2],y2[f>>2]=y2[i>>2],y2[4+f>>2]=a,o=y2[4+(b=8+(i=d-32|0)|0)>>2],y2[(a=8+(f=v-32|0)|0)>>2]=y2[b>>2],y2[4+a>>2]=o,a=y2[4+i>>2],y2[f>>2]=y2[i>>2],y2[4+f>>2]=a,o=y2[4+(b=8+(i=d-16|0)|0)>>2],y2[(a=8+(f=v-16|0)|0)>>2]=y2[b>>2],y2[4+a>>2]=o,a=y2[4+i>>2],y2[f>>2]=y2[i>>2],y2[4+f>>2]=a,f=y2[d+4>>2],y2[v>>2]=y2[d>>2],y2[v+4>>2]=f,f=y2[(d=d+8|0)+4>>2],y2[(v=v+8|0)>>2]=y2[d>>2],y2[v+4>>2]=f,_=_+80|0,!(B=B-1|0))break;(B=y2[A+32>>2])&&(U2[A+36|0]&&(y2[6503]=y2[6503]+1,$2(y2[B-4>>2])),y2[A+32>>2]=0),y2[A+32>>2]=g,y2[A+28>>2]=c,X2[A+36|0]=1,B=y2[A+24>>2]}d=y2[4+u>>2],B=y2[A+32>>2]+P2(B,80)|0,y2[(v=B)+16>>2]=y2[u>>2],y2[v+20>>2]=d,v=y2[68+Z>>2],y2[B>>2]=y2[64+Z>>2],y2[B+4>>2]=v,v=y2[4+k>>2],y2[B+32>>2]=y2[k>>2],y2[B+36>>2]=v,v=y2[4+t>>2],y2[B+48>>2]=y2[t>>2],y2[B+52>>2]=v,y2[B+64>>2]=r,d=y2[(v=72+Z|0)+4>>2],y2[(r=B+8|0)>>2]=y2[v>>2],y2[r+4>>2]=d,d=y2[(v=8+u|0)+4>>2],y2[(r=B+24|0)>>2]=y2[v>>2],y2[r+4>>2]=d,d=y2[(v=8+k|0)+4>>2],y2[(r=B+40|0)>>2]=y2[v>>2],y2[r+4>>2]=d,d=y2[(v=8+t|0)+4>>2],y2[(r=B+56|0)>>2]=y2[v>>2],y2[r+4>>2]=d,y2[B+76>>2]=e,H2[B+72>>2]=s,y2[B+68>>2]=l,y2[A+24>>2]=y2[A+24>>2]+1,L2=128+Z|0},CompoundShape_removeChildShape:T4,CompoundShape_removeChildShapeByIndex:function(A,e){E4(A|=0,e|=0)},CompoundShape_getChildShape:function(A,e){return y2[64+(y2[(A|=0)+32>>2]+P2(e|=0,80)|0)>>2]},CompoundShape_updateChildTransform:function(A,e,r,f){e|=0,r|=0,f|=0;var i,a=0,n=0,b=0,t=0,o=0;L2=i=L2+-64|0,a=(n=y2[(A|=0)+24>>2])+1|0,n=P2(n,80)+76|0;A:{for(;;){if((0|(a=a-1|0))<1)break A;if(o=(b=y2[A+32>>2])+n|0,n=t=n-80|0,y2[o-92>>2]==(0|e))break}if(a=n=(e=b+t|0)-76|0,b=y2[r+4>>2],y2[a>>2]=y2[r>>2],y2[a+4>>2]=b,b=y2[(a=r+8|0)+4>>2],y2[(n=n+8|0)>>2]=y2[a>>2],y2[n+4>>2]=b,o=y2[(b=r+24|0)+4>>2],y2[(a=(n=e-60|0)+8|0)>>2]=y2[b>>2],y2[a+4>>2]=o,a=y2[r+20>>2],y2[n>>2]=y2[r+16>>2],y2[n+4>>2]=a,o=y2[(b=r+40|0)+4>>2],y2[(a=(n=e-44|0)+8|0)>>2]=y2[b>>2],y2[a+4>>2]=o,a=y2[r+36>>2],y2[n>>2]=y2[r+32>>2],y2[n+4>>2]=a,b=y2[(a=r+56|0)+4>>2],y2[(n=(e=e-28|0)+8|0)>>2]=y2[a>>2],y2[n+4>>2]=b,n=y2[r+52>>2],y2[e>>2]=y2[r+48>>2],y2[e+4>>2]=n,y2[A+72>>2]){e=y2[(y2[A+32>>2]+t|0)-12>>2],N2[y2[y2[e>>2]+8>>2]](e,r,48+i|0,32+i|0),n=y2[(r=56+i|0)+4>>2],y2[(e=8+i|0)>>2]=y2[r>>2],y2[e+4>>2]=n,n=y2[(r=40+i|0)+4>>2],y2[(e=24+i|0)>>2]=y2[r>>2],y2[e+4>>2]=n,e=y2[52+i>>2],y2[i>>2]=y2[48+i>>2],y2[4+i>>2]=e,e=y2[36+i>>2],y2[16+i>>2]=y2[32+i>>2],y2[20+i>>2]=e;e:if(n=Z4(b=y2[A+72>>2],r=y2[y2[A+32>>2]+t>>2])){if(0<=(0|(a=y2[b+8>>2]))){if(a)for(;;){if(!(e=y2[n+32>>2]))break e;if(n=e,!(a=a-1|0))break}}else n=y2[b>>2];}else n=0;e=y2[4+i>>2],y2[r>>2]=y2[i>>2],y2[r+4>>2]=e,t=y2[(a=24+i|0)+4>>2],y2[(e=r+24|0)>>2]=y2[a>>2],y2[e+4>>2]=t,t=y2[(a=16+i|0)+4>>2],y2[(e=r+16|0)>>2]=y2[a>>2],y2[e+4>>2]=t,t=y2[(a=8+i|0)+4>>2],y2[(e=r+8|0)>>2]=y2[a>>2],y2[e+4>>2]=t,C4(b,n,r)}f&&N2[y2[y2[A>>2]+68>>2]](A)}L2=i+64|0},TriangleMesh_new:function(){var A,e,r,f,i=0,a=0,n=0,b=0,t=0,n=y2[6502];if(y2[6502]=n+1,(a=q2(191))&&(y2[(i=a+19&-16)-4>>2]=a),X2[i+36|0]=1,y2[i+12>>2]=1065353216,y2[i+16>>2]=0,y2[i+4>>2]=1065353216,y2[i+8>>2]=1065353216,y2[i+32>>2]=0,y2[i+48>>2]=0,y2[i+24>>2]=0,y2[i+28>>2]=0,X2[i+100|0]=1,y2[i>>2]=18148,y2[i+96>>2]=0,X2[i+120|0]=1,y2[i+88>>2]=0,y2[i+92>>2]=0,y2[i+116>>2]=0,X2[i+140|0]=1,y2[i+108>>2]=0,y2[i+112>>2]=0,y2[i+136>>2]=0,X2[i+160|0]=1,y2[i+128>>2]=0,y2[i+132>>2]=0,y2[i+168>>2]=0,y2[i+156>>2]=0,y2[i+148>>2]=0,y2[i+152>>2]=0,A2[i+164>>1]=257,y2[6502]=n+2,(a=q2(51))&&(y2[(b=a+19&-16)-4>>2]=a),1<=(0|(t=y2[i+24>>2])))for(a=0;;)if(e=y2[i+32>>2]+a|0,r=y2[4+(A=e)>>2],y2[(n=a+b|0)>>2]=y2[A>>2],y2[n+4>>2]=r,r=y2[4+(A=24+A|0)>>2],y2[(f=n+24|0)>>2]=y2[A>>2],y2[4+f>>2]=r,r=y2[4+(f=16+e|0)>>2],y2[(A=n+16|0)>>2]=y2[f>>2],y2[4+A>>2]=r,A=y2[4+(e=8+e|0)>>2],y2[(n=n+8|0)>>2]=y2[e>>2],y2[n+4>>2]=A,a=a+32|0,!(t=t-1|0))break;return(a=y2[i+32>>2])&&(U2[i+36|0]&&(y2[6503]=y2[6503]+1,$2(y2[a-4>>2])),y2[i+32>>2]=0),y2[i+32>>2]=b,X2[i+36|0]=1,y2[i+28>>2]=1,a=(y2[i+24>>2]<<5)+b|0,y2[a+24>>2]=2,y2[a+28>>2]=0,y2[a+16>>2]=0,y2[a+20>>2]=16,y2[a+8>>2]=12,y2[a+12>>2]=0,y2[a>>2]=0,y2[a+4>>2]=0,y2[i+24>>2]=y2[i+24>>2]+1,a=y2[i+32>>2],y2[a+4>>2]=0,b=U2[i+164|0],y2[a+24>>2]=b?2:3,t=y2[(b?128:148)+i>>2],n=12,y2[a+8>>2]=b?12:6,y2[a>>2]=(0|t)/3,b=U2[i+165|0]?(n=16,y2[i+88>>2]):y2[i+108>>2]/3|0,y2[a+20>>2]=n,y2[a+16>>2]=0,y2[a+12>>2]=b,0|i},TriangleMesh_addTriangle:function(A,e,r,f,i){e|=0,r|=0,f|=0,i|=0;var a=y2[(A|=0)+32>>2];y2[a>>2]=y2[a>>2]+1,F4(A,D4(A,e,i)),F4(A,D4(A,r,i)),F4(A,D4(A,f,i))},BvhTriangleMeshShape_new:function(A,e,r){A|=0,e|=0,r|=0;var f,i,a,n=0;return L2=a=L2-48|0,y2[6502]=y2[6502]+1,(f=q2(103))&&(y2[(n=f+19&-16)-4>>2]=f),y2[n+12>>2]=0,y2[n+16>>2]=0,y2[n+4>>2]=21,y2[n+8>>2]=0,y2[n>>2]=11736,y2[n+56>>2]=A,(y2[n+20>>2]=0)|N2[y2[y2[A>>2]+40>>2]](A)?N2[y2[y2[A>>2]+48>>2]](A,n+24|0,n+40|0):(y2[44+a>>2]=0,y2[36+a>>2]=0,y2[40+a>>2]=0,y2[32+a>>2]=1065353216,N2[y2[y2[n>>2]+68>>2]](16+a|0,n,32+a|0),H2[n+40>>2]=H2[16+a>>2]+H2[n+20>>2],y2[32+a>>2]=-1082130432,N2[y2[y2[n>>2]+68>>2]](a,n,32+a|0),i=y2[4+(f=8+a|0)>>2],y2[(A=24+a|0)>>2]=y2[f>>2],y2[A+4>>2]=i,i=y2[4+a>>2],y2[16+a>>2]=y2[a>>2],y2[20+a>>2]=i,H2[n+24>>2]=H2[16+a>>2]-H2[n+20>>2],y2[32+a>>2]=0,y2[36+a>>2]=0,y2[40+a>>2]=0,y2[44+a>>2]=0,y2[36+a>>2]=1065353216,N2[y2[y2[n>>2]+68>>2]](16+a|0,n,32+a|0),H2[n+44>>2]=H2[20+a>>2]+H2[n+20>>2],y2[36+a>>2]=-1082130432,N2[y2[y2[n>>2]+68>>2]](a,n,32+a|0),i=y2[4+f>>2],y2[A>>2]=y2[f>>2],y2[A+4>>2]=i,i=y2[4+a>>2],y2[16+a>>2]=y2[a>>2],y2[20+a>>2]=i,H2[n+28>>2]=H2[20+a>>2]-H2[n+20>>2],y2[40+a>>2]=0,y2[44+a>>2]=0,y2[32+a>>2]=0,y2[36+a>>2]=0,y2[40+a>>2]=1065353216,N2[y2[y2[n>>2]+68>>2]](16+a|0,n,32+a|0),H2[n+48>>2]=H2[A>>2]+H2[n+20>>2],y2[40+a>>2]=-1082130432,N2[y2[y2[n>>2]+68>>2]](a,n,32+a|0),i=y2[4+f>>2],y2[A>>2]=y2[f>>2],y2[A+4>>2]=i,f=y2[4+a>>2],y2[16+a>>2]=y2[a>>2],y2[20+a>>2]=f,H2[n+32>>2]=H2[A>>2]-H2[n+20>>2]),X2[n+69|(A=0)]=0,X2[n+68|0]=e,y2[n+60>>2]=0,y2[n+64>>2]=0,y2[n>>2]=12540,y2[n+4>>2]=21,r&&(y2[6502]=y2[6502]+1,(e=q2(191))&&(y2[(A=e+19&-16)-4>>2]=e),X2[A+80|0]=1,X2[A+60|0]=0,y2[A+52>>2]=287,y2[A+76>>2]=0,X2[A+100|0]=1,y2[A+68>>2]=0,y2[A+72>>2]=0,y2[A+96>>2]=0,X2[A+120|0]=1,y2[A+88>>2]=0,y2[A+92>>2]=0,y2[A+116>>2]=0,X2[A+140|0]=1,y2[A+108>>2]=0,y2[A+112>>2]=0,y2[A+136>>2]=0,X2[A+164|0]=1,y2[A+144>>2]=0,y2[A+128>>2]=0,y2[A+132>>2]=0,y2[A+160>>2]=0,y2[A+152>>2]=0,y2[A+156>>2]=0,y2[A+168>>2]=0,y2[A+28>>2]=2139095039,y2[A+32>>2]=0,y2[A+20>>2]=2139095039,y2[A+24>>2]=2139095039,y2[A+12>>2]=-8388609,y2[A+16>>2]=0,y2[A+4>>2]=-8388609,y2[A+8>>2]=-8388609,y2[A>>2]=12212,B1(y2[n+60>>2]=A,y2[n+56>>2],U2[n+68|0],n+24|0,n+40|0),X2[n+69|0]=1),L2=48+a|0,0|n},BvhTriangleMeshShape_getOptimizedBvh:u4,BvhTriangleMeshShape_setOptimizedBvh:function(A,e,r,f,i){var a,n;A|=0,e|=0,r=j2(r),f=j2(f),i=j2(i),j2(0),L2=n=L2-16|0,X2[A+69|0]=0,y2[A+60>>2]=e,y2[12+n>>2]=0,H2[8+n>>2]=i,H2[n>>2]=r,H2[4+n>>2]=f,e=0|N2[y2[y2[A>>2]+28>>2]](A),r=j2(H2[e>>2]-r),a=j2(r*r),r=j2(H2[e+4>>2]-f),f=j2(a+j2(r*r)),r=j2(H2[e+8>>2]-i),j2(f+j2(r*r))>j2(1.1920928955078125e-7)&&o1(A,n),L2=16+n|0},ScaledBvhTriangleMeshShape_new:function(A,e,r,f){A|=0,e=j2(e),r=j2(r),f=j2(f);var i,a=0;return y2[6502]=y2[6502]+1,(i=q2(63))&&(y2[(a=i+19&-16)-4>>2]=i),y2[a+20>>2]=0,y2[a+12>>2]=0,y2[a+16>>2]=0,y2[a+4>>2]=22,y2[a+8>>2]=0,y2[a+40>>2]=A,y2[a+36>>2]=0,H2[a+32>>2]=f,H2[a+28>>2]=r,H2[a+24>>2]=e,y2[a>>2]=18248,0|a},ConvexTriangleMeshShape_new:function(A){A|=0;var e,r,f=0;return j2(0),L2=r=L2-96|0,y2[6502]=y2[6502]+1,(e=q2(123))&&(y2[(f=e+19&-16)-4>>2]=e),y2[f+92>>2]=0,y2[f+84>>2]=-1082130432,y2[f+88>>2]=-1082130432,y2[f+76>>2]=0,y2[f+80>>2]=-1082130432,y2[f+68>>2]=1065353216,y2[f+72>>2]=1065353216,y2[f+60>>2]=0,y2[f+64>>2]=1065353216,y2[f+52>>2]=1025758986,y2[f+32>>2]=0,y2[f+24>>2]=1065353216,y2[f+28>>2]=1065353216,y2[f+16>>2]=0,y2[f+20>>2]=1065353216,y2[f+8>>2]=0,y2[f+12>>2]=0,y2[f+100>>2]=A,y2[f>>2]=18480,X2[f+96|0]=1,y2[f+4>>2]=3,U2[26528]||(y2[6637]=0,y2[6638]=0,y2[6636]=1065353216,y2[6639]=0,y2[6640]=0,y2[6642]=0,y2[6643]=0,y2[6641]=1065353216,y2[6644]=0,y2[6645]=0,y2[6649]=0,y2[6650]=0,y2[6648]=-1082130432,y2[6646]=1065353216,y2[6647]=0,y2[6651]=0,y2[6652]=0,y2[6654]=0,y2[6655]=0,y2[6653]=-1082130432,y2[6656]=0,y2[6657]=0,y2[6658]=-1082130432,y2[6659]=0,X2[26528]=1),A=v2(r,0,96),N2[y2[y2[f>>2]+76>>2]](f,26544,A,6),e=H2[f+52>>2],H2[f+64>>2]=H2[A+48>>2]-e,H2[f+80>>2]=e+H2[A>>2],H2[f+84>>2]=e+H2[A+20>>2],H2[f+88>>2]=e+H2[A+40>>2],H2[f+68>>2]=H2[A+68>>2]-e,H2[f+72>>2]=H2[A+88>>2]-e,L2=A+96|0,0|f},EmptyShape_static:function(){return U2[26692]||(y2[6677]=0,y2[6678]=0,y2[6675]=27,y2[6676]=0,y2[6674]=18728,X2[26692]=1,y2[6679]=0),26696},SimplexShape_new:function(A){var e;return A|=0,y2[6502]=y2[6502]+1,A=0,(e=q2(187))&&(y2[(A=e+19&-16)-4>>2]=e),X2[A+96|0]=0,y2[A+92>>2]=0,y2[A+84>>2]=-1082130432,y2[A+88>>2]=-1082130432,y2[A+76>>2]=0,y2[A+80>>2]=-1082130432,y2[A+68>>2]=1065353216,y2[A+72>>2]=1065353216,y2[A+60>>2]=0,y2[A+64>>2]=1065353216,y2[A+52>>2]=1025758986,y2[A+32>>2]=0,y2[A+24>>2]=1065353216,y2[A+28>>2]=1065353216,y2[A+16>>2]=0,y2[A+20>>2]=1065353216,y2[A+8>>2]=0,y2[A+12>>2]=0,y2[A+100>>2]=0,y2[A>>2]=18840,y2[A+4>>2]=2,0|A},SimplexShape_addVertex:function(A,e){var r,f,i,a;A|=0,e|=0,j2(0),L2=a=L2-96|0,r=y2[A+100>>2],y2[A+100>>2]=r+1,i=y2[e+4>>2],y2[(f=104+(r=(r<<4)+A|0)|0)>>2]=y2[e>>2],y2[4+f>>2]=i,f=y2[(e=e+8|0)+4>>2],y2[(r=112+r|0)>>2]=y2[e>>2],y2[4+r>>2]=f,X2[A+96|0]=1,U2[26528]||(y2[6637]=0,y2[6638]=0,y2[6636]=1065353216,y2[6639]=0,y2[6640]=0,y2[6642]=0,y2[6643]=0,y2[6641]=1065353216,y2[6644]=0,y2[6645]=0,y2[6649]=0,y2[6650]=0,y2[6648]=-1082130432,y2[6646]=1065353216,y2[6647]=0,y2[6651]=0,y2[6652]=0,y2[6654]=0,y2[6655]=0,y2[6653]=-1082130432,y2[6656]=0,y2[6657]=0,y2[6658]=-1082130432,y2[6659]=0,X2[26528]=1),e=v2(a,0,96),N2[y2[y2[A>>2]+76>>2]](A,26544,e,6),i=H2[A+52>>2],H2[A+64>>2]=H2[e+48>>2]-i,H2[A+80>>2]=i+H2[e>>2],H2[A+84>>2]=i+H2[e+20>>2],H2[A+88>>2]=i+H2[e+40>>2],H2[A+68>>2]=H2[e+68>>2]-i,H2[A+72>>2]=H2[e+88>>2]-i,L2=e+96|0},TerrainShape_new:function(A,e,r,f,i,a){A|=0,e|=0,r|=0,f=j2(f),i=j2(i),a=j2(a);var n,b=0;return j2(0),y2[6502]=y2[6502]+1,(n=q2(151))&&(y2[(b=n+19&-16)-4>>2]=n),y2[b+20>>2]=0,y2[b+12>>2]=0,y2[b+16>>2]=0,y2[b+4>>2]=24,y2[b+8>>2]=0,y2[b+104>>2]=0,y2[b+100>>2]=r,H2[b+96>>2]=f,H2[b+84>>2]=a,H2[b+80>>2]=i,y2[b+76>>2]=e,y2[b+72>>2]=A,y2[b>>2]=19036,y2[b+128>>2]=0,y2[b+120>>2]=1065353216,y2[b+124>>2]=1065353216,y2[b+112>>2]=1,y2[b+116>>2]=1065353216,X2[0|(r=b+107|0)]=0,X2[r+1|0]=0,X2[r+2|0]=0,X2[r+3|0]=0,f=j2(e-1|0),H2[b+92>>2]=f,n=j2(A-1|0),H2[b+88>>2]=n,y2[b+68>>2]=0,H2[b+64>>2]=f*j2(.5),H2[b+60>>2]=j2(i+a)*j2(.5),H2[b+56>>2]=n*j2(.5),y2[b+52>>2]=0,H2[b+48>>2]=f,H2[b+44>>2]=a,H2[b+40>>2]=n,y2[b+32>>2]=0,y2[b+36>>2]=0,H2[b+28>>2]=i,(y2[b+24>>2]=0)|b},DefaultCollisionConfiguration_static:function(){var A;return L2=A=L2-32|0,U2[28464]||(y2[24+A>>2]=0,y2[28+A>>2]=1,y2[16+A>>2]=4096,y2[20+A>>2]=4096,y2[8+A>>2]=0,q4(8+A|(y2[12+A>>2]=0)),G(76),X2[28464]=1),L2=32+A|0,28468},Dispatcher_getNumManifolds:function(A){return 0|N2[y2[y2[(A|=0)>>2]+36>>2]](A)},Dispatcher_getManifoldByIndexInternal:function(A,e){return 0|N2[y2[y2[(A|=0)>>2]+40>>2]](A,e|=0)},CollisionDispatcher_new:function(){var A,e,r,f,i,a=0,n=0,b=0,t=0;for(L2=i=L2-32|0,A=Y(10448),U2[28464]||(y2[24+i>>2]=0,y2[28+i>>2]=1,y2[16+i>>2]=4096,y2[20+i>>2]=4096,y2[8+i>>2]=0,q4(8+i|(y2[12+i>>2]=0)),G(76),X2[28464]=1),X2[A+24|0]=1,y2[A+4>>2]=2,y2[A>>2]=22392,y2[A+20>>2]=0,y2[A+10444>>2]=28468,y2[A+60>>2]=0,y2[A+28>>2]=13796,y2[A+12>>2]=0,y2[A+16>>2]=0,y2[A+64>>2]=77,r=A,f=0|N2[y2[y2[7117]+12>>2]](28468),y2[r+68>>2]=f,r=A,f=0|N2[y2[y2[7117]+8>>2]](28468),y2[r+72>>2]=f,t=A+5260|0;;){for(a=0,n=t;;)if(e=y2[A+10444>>2],r=n-5184|0,f=0|N2[y2[y2[e>>2]+16>>2]](e,b,a),y2[r>>2]=f,e=y2[A+10444>>2],r=n,f=0|N2[y2[y2[e>>2]+20>>2]](e,b,a),y2[r>>2]=f,n=n+4|0,36==(0|(a=a+1|0)))break;if(t=t+144|0,36==(0|(b=b+1|0)))break}return L2=32+i|0,0|A},DbvtBroadphase_new:function(){var A,e,r,f=0,i=0,a=0,n=0,b=0,t=0,o=0;L2=r=L2-32|0,A=Y(176),X2[A+40|0]=1,y2[A>>2]=22560,y2[A+36>>2]=0,y2[A+28>>2]=0,y2[A+32>>2]=0,X2[A+80|0]=1,y2[A+20>>2]=0,y2[A+12>>2]=-1,y2[A+16>>2]=0,y2[A+4>>2]=0,y2[A+8>>2]=0,y2[A+76>>2]=0,y2[A+68>>2]=0,y2[A+72>>2]=0,X2[A+172|0]=1,y2[A+60>>2]=0,y2[A+52>>2]=-1,y2[A+56>>2]=0,y2[A+44>>2]=0,y2[A+48>>2]=0,y2[A+168>>2]=0,y2[A+160>>2]=0,y2[A+164>>2]=0,X2[A+153|0]=0,X2[A+154|0]=1,X2[A+152|0]=1,y2[A+124>>2]=0,y2[A+100>>2]=0,y2[A+104>>2]=0,y2[A+136>>2]=0,y2[A+128>>2]=0,y2[A+132>>2]=0,y2[A+116>>2]=10,y2[A+120>>2]=1,y2[A+108>>2]=1,y2[A+112>>2]=0,y2[6502]=y2[6502]+1,(i=q2(91))&&(y2[(b=i+19&-16)-4>>2]=i),z1(b),y2[A+148>>2]=0,y2[A+96>>2]=b,y2[A+140>>2]=0,y2[A+144>>2]=0,y2[(i=A+84|0)>>2]=0,y2[i+4>>2]=0,y2[A+92>>2]=0,i=y2[A+160>>2],y2[20+r>>2]=0,X2[24+r|0]=1,y2[12+r>>2]=0;A:{if(2<=((y2[16+r>>2]=0)|i)){for(n=i-1|0,i=36;;)if(b=(f=y2[A+168>>2]+i|0)-12|0,(t=y2[(a=f-4|0)>>2])&&(U2[0|f]&&(y2[6503]=y2[6503]+1,$2(y2[t-4>>2])),y2[a>>2]=0),y2[a>>2]=0,y2[b>>2]=0,X2[0|f]=1,i=i+20|(y2[f-8>>2]=0),!(n=n-1|0))break}else if(1!=(0|i)){for(y2[A+164>>2]<=(b=0)&&(y2[6502]=y2[6502]+1,(f=q2(39))&&(y2[(b=f+19&-16)-4>>2]=f),(f=y2[A+168>>2])&&(U2[A+172|0]&&(y2[6503]=y2[6503]+1,$2(y2[f-4>>2])),y2[A+168>>2]=0),y2[A+168>>2]=b,X2[A+172|0]=1,y2[A+164>>2]=1),b=P2(i,20),i=i-1|0;;){if(a=y2[A+168>>2]+b|(o=t=0),y2[a+4>>2]=0,y2[a+8>>2]=0,y2[a+12>>2]=0,X2[a+16|0]=1,(0|(f=y2[4+(e=8+r|0)>>2]))<=0)y2[a+4>>2]=f;else{for(y2[6502]=y2[6502]+1,(n=q2(16+(f<<2|3)|0))&&(y2[(o=n+19&-16)-4>>2]=n),(n=y2[a+12>>2])&&(y2[6503]=y2[6503]+1,$2(y2[n-4>>2]),y2[a+12>>2]=0),y2[a+12>>2]=o,X2[a+16|0]=1,n=y2[a+8>>2]=f;;)if(t=t+4|(y2[t+o>>2]=0),o=y2[a+12>>2],!(n=n-1|0))break;for(y2[a+4>>2]=f,t=0;;)if(y2[t+o>>2]=y2[y2[12+e>>2]+t>>2],t=t+4|0,!(f=f-1|0))break}if(b=b+20|0,!((f=i)>>>0<=(i=f+1|0)>>>0))break}if(y2[A+160>>2]=1,!(i=y2[20+r>>2]))break A;y2[6503]=y2[6503]+1,$2(y2[i-4>>2]),y2[20+r>>2]=0;break A}y2[A+160>>2]=1}return L2=32+r|0,0|A},SequentialImpulseConstraintSolver_new:function(){var A,e=0;return y2[6502]=y2[6502]+1,(A=q2(255))&&(y2[(e=A+19&-16)-4>>2]=A),X2[e+20|0]=1,y2[e>>2]=22988,y2[e+16>>2]=0,X2[e+40|0]=1,y2[e+8>>2]=0,y2[e+12>>2]=0,y2[e+36>>2]=0,X2[e+60|0]=1,y2[e+28>>2]=0,y2[e+32>>2]=0,y2[e+56>>2]=0,X2[e+80|0]=1,y2[e+48>>2]=0,y2[e+52>>2]=0,y2[e+76>>2]=0,X2[e+100|0]=1,y2[e+68>>2]=0,y2[e+72>>2]=0,y2[e+96>>2]=0,X2[e+120|0]=1,y2[e+88>>2]=0,y2[e+92>>2]=0,y2[e+116>>2]=0,X2[e+140|0]=1,y2[e+108>>2]=0,y2[e+112>>2]=0,y2[e+136>>2]=0,y2[e+128>>2]=0,y2[e+132>>2]=0,X2[e+160|0]=1,y2[e+156>>2]=0,y2[e+148>>2]=0,y2[e+152>>2]=0,X2[e+180|0]=1,y2[e+176>>2]=0,y2[e+168>>2]=0,y2[e+172>>2]=0,X2[e+208|0]=1,y2[e+232>>2]=0,y2[e+204>>2]=0,y2[e+196>>2]=0,y2[e+200>>2]=0,y2[e+224>>2]=0,y2[e+212>>2]=75,y2[e+216>>2]=74,y2[e+220>>2]=73,0|e},CollisionWorld_get_m_useContinuous:function(A){return U2[(A|=0)+16|0]},CollisionWorld_set_m_useContinuous:function(A,e){X2[(A|=0)+16|0]=e|=0},CollisionWorld_rayTest:function(A,e,r,f){N2[y2[y2[(A|=0)>>2]+32>>2]](A,e|=0,r|=0,f|=0)},CollisionWorld_getDispatchInfo:function(A){return(A|=0)+28|0},CollisionWorld_addCollisionObject:function(A,e,r,f){N2[y2[y2[(A|=0)>>2]+36>>2]](A,e|=0,r|=0,f|=0)},CollisionWorld_removeCollisionObject:function(A,e){N2[y2[y2[(A|=0)>>2]+40>>2]](A,e|=0)},CollisionWorld_convexSweepTest:function(A,e,r,f,i,a){j1(A|=0,e|=0,r|=0,f|=0,i|=0,a=j2(a))},CollisionWorld_setDebugDrawer:function(A,e){N2[y2[y2[(A|=0)>>2]+16>>2]](A,e|=0)},CollisionWorld_debugDrawWorld:function(A){N2[y2[y2[(A|=0)>>2]+24>>2]](A)},DynamicsWorld_addAction:T4,DynamicsWorld_removeAction:C6,DynamicsWorld_getSolverInfo:E0,ccDiscreteDynamicsWorld_new:function(A,e,r){A|=0,e|=0,r|=0;var f,i,a=0,n=0;return L2=i=L2-32|0,y2[6502]=y2[6502]+1,(f=q2(367))&&(y2[(a=f+19&-16)-4>>2]=f),U2[28464]||(y2[24+i>>2]=0,y2[28+i>>2]=1,y2[16+i>>2]=4096,y2[20+i>>2]=4096,y2[8+i>>2]=0,q4(8+i|(y2[12+i>>2]=0)),G(76),X2[28464]=1),X2[a+20|0]=1,y2[a>>2]=13856,y2[a+16>>2]=0,y2[a+116>>2]=1101004800,y2[a+108>>2]=0,y2[(f=a)+100>>2]=1050253722,y2[f+104>>2]=1015580809,y2[f+92>>2]=1058642330,y2[f+96>>2]=1065353216,y2[f+88>>2]=0,y2[f+80>>2]=0,y2[f+84>>2]=0,X2[f+76|0]=1,y2[f+72>>2]=0,y2[f+68>>2]=e,y2[f+64>>2]=0,X2[f+60|0]=0,y2[f+56>>2]=1025758986,X2[f+54|0]=1,A2[f+52>>1]=256,y2[f+48>>2]=0,X2[f+44|0]=1,y2[f+36>>2]=1,y2[f+40>>2]=1065353216,y2[f+28>>2]=0,y2[f+32>>2]=0,y2[f+24>>2]=A,y2[f+8>>2]=0,y2[f+12>>2]=0,y2[f+132>>2]=0,y2[f+136>>2]=1045220557,y2[f+124>>2]=1045220557,y2[f+128>>2]=1045220557,y2[f+112>>2]=10,y2[f+140>>2]=0,y2[f+144>>2]=1,y2[f+172>>2]=128,y2[f+148>>2]=-1121724662,y2[f+152>>2]=1036831949,y2[f+156>>2]=0,y2[f+160>>2]=1062836634,y2[f+176>>2]=1120403456,y2[f+180>>2]=1900671690,y2[f+184>>2]=0,y2[f+188>>2]=1045220557,y2[f+164>>2]=260,y2[f+168>>2]=2,y2[f+120>>2]=1065353216,y2[f>>2]=23340,X2[f+208|0]=1,y2[f+212>>2]=0,y2[f+204>>2]=0,y2[f+216>>2]=r,y2[f+196>>2]=0,y2[f+200>>2]=0,X2[f+240|0]=1,X2[f+260|0]=1,y2[f+236>>2]=0,y2[f+228>>2]=0,y2[f+232>>2]=0,y2[f+264>>2]=0,y2[f+268>>2]=-1054867456,y2[f+256>>2]=0,y2[f+248>>2]=0,y2[f+252>>2]=0,A2[f+290>>1]=0,y2[f+272>>2]=0,y2[f+276>>2]=0,y2[(e=f+280|0)>>2]=0,y2[e+4>>2]=0,X2[f+308|0]=1,X2[f+336|0]=1,y2[f+304>>2]=0,X2[f+316|0]=1,y2[f+296>>2]=0,y2[f+300>>2]=0,y2[f+312>>2]=0,y2[f+332>>2]=0,y2[f+340>>2]=0,y2[f+324>>2]=0,y2[f+328>>2]=0,e=r?0:(y2[6502]=y2[6502]+1,r=0,(e=q2(255))&&(y2[(r=e+19&-16)-4>>2]=e),X2[r+20|0]=1,y2[r>>2]=22988,y2[r+16>>2]=0,X2[r+40|0]=1,y2[r+8>>2]=0,y2[r+12>>2]=0,y2[r+36>>2]=0,X2[r+60|0]=1,y2[r+28>>2]=0,y2[r+32>>2]=0,y2[r+56>>2]=0,X2[r+80|0]=1,y2[r+48>>2]=0,y2[r+52>>2]=0,y2[r+76>>2]=0,X2[r+100|0]=1,y2[r+68>>2]=0,y2[r+72>>2]=0,y2[r+96>>2]=0,X2[r+120|0]=1,y2[r+88>>2]=0,y2[r+92>>2]=0,y2[r+116>>2]=0,y2[r+168>>2]=0,y2[r+172>>2]=0,y2[r+148>>2]=0,y2[r+152>>2]=0,y2[r+128>>2]=0,y2[r+132>>2]=0,y2[r+108>>2]=0,y2[r+112>>2]=0,y2[r+196>>2]=0,y2[r+200>>2]=0,X2[r+140|0]=1,y2[r+136>>2]=0,X2[r+160|0]=1,y2[r+156>>2]=0,X2[r+180|0]=1,y2[r+176>>2]=0,X2[r+208|0]=1,y2[r+232>>2]=0,y2[r+204>>2]=0,y2[r+224>>2]=0,y2[r+212>>2]=75,y2[r+216>>2]=74,y2[r+220>>2]=73,y2[a+216>>2]=r,1),X2[f+289|0]=e,e=y2[6502],y2[6502]=e+1,(r=q2(87))&&(y2[(n=r+19&-16)-4>>2]=r),X2[n+20|0]=1,y2[n>>2]=23132,y2[n+16>>2]=0,X2[n+40|0]=1,y2[n+8>>2]=0,y2[n+12>>2]=0,y2[n+36>>2]=0,X2[n+60|0]=1,y2[n+28>>2]=0,y2[n+32>>2]=0,y2[n+56>>2]=0,X2[n+64|0]=1,y2[n+48>>2]=0,y2[n+52>>2]=0,X2[a+288|0]=1,y2[a+220>>2]=n,y2[6502]=e+2,r=0,(e=q2(107))&&(y2[(r=e+19&-16)-4>>2]=e),y2[r>>2]=23536,y2[r+52>>2]=0,y2[r+56>>2]=0,y2[r+72>>2]=0,y2[r+76>>2]=0,y2[r+12>>2]=0,y2[r+16>>2]=0,y2[r+32>>2]=0,y2[r+36>>2]=0,X2[r+44|0]=1,y2[r+24>>2]=A,y2[r+20>>2]=0,y2[r+4>>2]=0,y2[r+40>>2]=0,X2[r+64|0]=1,y2[r+60>>2]=0,X2[r+84|0]=1,y2[r+80>>2]=0,y2[a+344>>2]=24020,y2[a>>2]=23824,y2[r+8>>2]=y2[a+216>>2],y2[a+212>>2]=r,y2[a+56>>2]=1008981770,A=y2[a+68>>2],A=0|N2[y2[y2[A>>2]+36>>2]](A),N2[y2[y2[A>>2]+44>>2]](A,a+344|0),A=y2[a+68>>2],e=0|N2[y2[y2[A>>2]+36>>2]](A),A=Y(4),y2[A>>2]=24040,N2[y2[y2[e>>2]+60>>2]](e,A),L2=32+i|0,0|a},DynamicsWorld_setGravity:function(A,e){N2[y2[y2[(A|=0)>>2]+72>>2]](A,e|=0)},DynamicsWorld_addRigidBody:function(A,e,r,f){N2[y2[y2[(A|=0)>>2]+88>>2]](A,e|=0,r|=0,f|=0)},DynamicsWorld_removeRigidBody:function(A,e){N2[y2[y2[(A|=0)>>2]+92>>2]](A,e|=0)},DynamicsWorld_addConstraint:function(A,e,r){N2[y2[y2[(A|=0)>>2]+56>>2]](A,e|=0,r|=0)},DynamicsWorld_removeConstraint:function(A,e){N2[y2[y2[(A|=0)>>2]+60>>2]](A,e|=0)},DynamicsWorld_stepSimulation:function(A,e,r,f){A|=0,e=j2(e),r|=0,f=j2(f),N2[y2[y2[A>>2]+52>>2]](A,e,r,f)},ccDiscreteDynamicsWorld_setAllowSleep:function(A,e){X2[27772]=1^(e|=0)},TypedConstraint_getFixedBody:function(){var A,e;return L2=e=L2-144|0,U2[27780]||(y2[6985]=0,y2[6986]=0,y2[6983]=0,y2[6984]=0,y2[6981]=0,y2[6982]=0,y2[6979]=0,y2[6980]=0,y2[6993]=0,y2[6994]=0,y2[6991]=0,y2[6992]=1566444395,y2[6989]=1065353216,y2[6990]=0,y2[6987]=1065353216,y2[6988]=1065353216,y2[6995]=0,y2[6996]=0,X2[28084]=1,y2[7015]=0,y2[7016]=0,y2[7013]=1065353216,y2[7014]=0,y2[7011]=-1,y2[7012]=-1,y2[7009]=1,y2[7010]=0,y2[7007]=1036831949,y2[7008]=1176256512,y2[7005]=0,y2[7006]=0,y2[7003]=1056964608,y2[7004]=0,y2[7001]=1,y2[7002]=0,y2[6999]=-1,y2[7e3]=-1,y2[6997]=1,y2[6998]=-1,y2[7018]=0,y2[7019]=0,y2[6948]=0,y2[6949]=0,y2[6947]=1065353216,y2[6950]=0,y2[6951]=0,y2[6953]=0,y2[6954]=0,y2[6952]=1065353216,y2[6955]=0,y2[6956]=0,y2[6958]=0,y2[6959]=0,y2[6957]=1065353216,y2[6960]=0,y2[6961]=0,y2[6964]=0,y2[6965]=0,y2[6962]=0,y2[6963]=1065353216,y2[6966]=0,y2[6967]=0,y2[6968]=1065353216,y2[6971]=0,y2[6972]=0,y2[6969]=0,y2[6970]=0,y2[7022]=0,y2[7020]=0,y2[6973]=1065353216,y2[6976]=0,y2[6977]=0,y2[6974]=0,y2[6975]=0,X2[28344]=1,y2[6946]=22904,y2[7083]=0,y2[7084]=0,y2[6978]=0,y2[7085]=0,y2[(A=80+e|0)>>2]=0,y2[4+A>>2]=0,y2[(A=88+e|0)>>2]=0,y2[4+A>>2]=0,y2[96+e>>2]=0,y2[(A=12+e|0)>>2]=0,y2[4+A>>2]=0,y2[(A=20+e|0)>>2]=0,y2[4+A>>2]=0,y2[28+e>>2]=1065353216,y2[(A=40+e|0)>>2]=0,y2[4+A>>2]=0,y2[(A=32+e|0)>>2]=0,y2[4+A>>2]=0,y2[48+e>>2]=1065353216,y2[72+e>>2]=0,y2[76+e>>2]=0,y2[e>>2]=0,y2[4+e>>2]=0,y2[136+e>>2]=1008981770,y2[140+e>>2]=1008981770,y2[128+e>>2]=1000593162,y2[132+e>>2]=1008981770,X2[124+e|0]=0,y2[116+e>>2]=1061997773,y2[120+e>>2]=1065353216,y2[108+e>>2]=0,y2[112+e>>2]=0,y2[100+e>>2]=1056964608,y2[104+e>>2]=0,y2[8+e>>2]=1065353216,y2[68+e>>2]=0,y2[(A=60+e|0)>>2]=0,y2[4+A>>2]=0,y2[(A=52+e|0)>>2]=0,y2[4+A>>2]=0,n6(27784,e),G(78),X2[27780]=1),y2[7060]=0,y2[7061]=0,y2[7062]=0,y2[7063]=0,y2[6997]=1|y2[6997],H2[7054]=H2[7058]*j2(0),H2[7053]=H2[7057]*j2(0),H2[7052]=H2[7056]*j2(0),H2[7103]=H2[7050]*j2(0),H2[7102]=H2[7049]*j2(0),H2[7101]=H2[7048]*j2(0),y2[7047]=0,y2[7055]=0,y2[7104]=0,L2=144+e|0,27784},TypedConstraint_getDbgDrawSize:function(A){return j2(H2[(A|=0)+40>>2])},TypedConstraint_setDbgDrawSize:function(A,e){A|=0,e=j2(e),H2[A+40>>2]=e},HingeConstraint_new:function(A,e,r,f){A|=0,e|=0,r|=0,f|=0;var i,a=0;return y2[6502]=y2[6502]+1,(i=q2(787))&&(y2[(a=i+19&-16)-4>>2]=i),y2[a+44>>2]=0,y2[a+36>>2]=0,y2[a+40>>2]=1028443341,y2[a+32>>2]=e,y2[a+28>>2]=A,y2[a+24>>2]=-1,A2[a+20>>1]=1,y2[a+12>>2]=-1,y2[a+16>>2]=2139095039,y2[a+4>>2]=4,y2[a+8>>2]=-1,y2[a>>2]=24308,i=y2[(e=r+8|0)+4>>2],y2[(A=a+560|0)>>2]=y2[e>>2],y2[A+4>>2]=i,A=y2[r+4>>2],y2[a+552>>2]=y2[r>>2],y2[a+556>>2]=A,i=y2[(e=r+24|0)+4>>2],y2[(A=a+576|0)>>2]=y2[e>>2],y2[A+4>>2]=i,A=y2[r+20>>2],y2[a+568>>2]=y2[r+16>>2],y2[a+572>>2]=A,i=y2[(e=r+40|0)+4>>2],y2[(A=a+592|0)>>2]=y2[e>>2],y2[A+4>>2]=i,A=y2[r+36>>2],y2[a+584>>2]=y2[r+32>>2],y2[a+588>>2]=A,i=y2[(e=r+56|0)+4>>2],y2[(A=a+608|0)>>2]=y2[e>>2],y2[A+4>>2]=i,A=y2[r+52>>2],y2[a+600>>2]=y2[r+48>>2],y2[a+604>>2]=A,r=y2[(e=f+8|0)+4>>2],y2[(A=a+624|0)>>2]=y2[e>>2],y2[A+4>>2]=r,A=y2[f+4>>2],y2[a+616>>2]=y2[f>>2],y2[a+620>>2]=A,r=y2[(e=f+24|0)+4>>2],y2[(A=a+640|0)>>2]=y2[e>>2],y2[A+4>>2]=r,A=y2[f+20>>2],y2[a+632>>2]=y2[f+16>>2],y2[a+636>>2]=A,r=y2[(e=f+40|0)+4>>2],y2[(A=a+656|0)>>2]=y2[e>>2],y2[A+4>>2]=r,A=y2[f+36>>2],y2[a+648>>2]=y2[f+32>>2],y2[a+652>>2]=A,r=y2[(e=f+56|0)+4>>2],y2[(A=a+672|0)>>2]=y2[e>>2],y2[A+4>>2]=r,A=y2[f+52>>2],y2[a+664>>2]=y2[f+48>>2],y2[a+668>>2]=A,y2[a+704>>2]=1065353216,y2[a+696>>2]=1063675494,y2[a+700>>2]=1050253722,y2[a+688>>2]=0,y2[a+692>>2]=-1082130432,X2[a+716|0]=0,y2[a+708>>2]=0,y2[a+712>>2]=0,X2[a+740|0]=0,y2[a+736>>2]=16777216,y2[a+764>>2]=0,y2[(A=a+756|0)>>2]=0,y2[A+4>>2]=0,y2[a+748>>2]=0,y2[a+752>>2]=0,y2[a+732>>2]=1065353216,0|a},HingeConstraint_setFrames:function(A,e,r){r|=0;var f,i,a=y2[(e|=0)+4>>2];y2[(A|=0)+552>>2]=y2[e>>2],y2[A+556>>2]=a,i=y2[4+(f=e+8|0)>>2],y2[(a=A+560|0)>>2]=y2[f>>2],y2[4+a>>2]=i,i=y2[4+(f=e+24|0)>>2],y2[(a=A+576|0)>>2]=y2[f>>2],y2[4+a>>2]=i,f=y2[e+20>>2],y2[(a=A+568|0)>>2]=y2[e+16>>2],y2[4+a>>2]=f,i=y2[4+(f=e+40|0)>>2],y2[(a=A+592|0)>>2]=y2[f>>2],y2[4+a>>2]=i,f=y2[e+36>>2],y2[(a=A+584|0)>>2]=y2[e+32>>2],y2[4+a>>2]=f,i=y2[4+(f=e+56|0)>>2],y2[(a=A+608|0)>>2]=y2[f>>2],y2[4+a>>2]=i,f=y2[e+52>>2],y2[(a=A+600|0)>>2]=y2[e+48>>2],y2[4+a>>2]=f,f=y2[4+(a=r+8|0)>>2],y2[(e=A+624|0)>>2]=y2[a>>2],y2[e+4>>2]=f,e=y2[r+4>>2],y2[A+616>>2]=y2[r>>2],y2[A+620>>2]=e,a=y2[r+20>>2],y2[(e=A+632|0)>>2]=y2[r+16>>2],y2[e+4>>2]=a,f=y2[4+(a=r+24|0)>>2],y2[(e=A+640|0)>>2]=y2[a>>2],y2[e+4>>2]=f,a=y2[r+36>>2],y2[(e=A+648|0)>>2]=y2[r+32>>2],y2[e+4>>2]=a,f=y2[4+(a=r+40|0)>>2],y2[(e=A+656|0)>>2]=y2[a>>2],y2[e+4>>2]=f,f=y2[4+(a=r+56|0)>>2],y2[(e=A+672|0)>>2]=y2[a>>2],y2[e+4>>2]=f,a=y2[r+52>>2],y2[(e=A+664|0)>>2]=y2[r+48>>2],y2[e+4>>2]=a,N2[y2[y2[A>>2]+8>>2]](A)},HingeConstraint_setLimit:function(A,e,r,f,i,a){A|=0,e=j2(e),r=j2(r),f=j2(f),i=j2(i),a=j2(a),r=j2(j2(r-e)*j2(.5)),H2[A+692>>2]=r,(e=b2(j2(r+e)))j2(3.1415927410125732)&&(e=j2(e+j2(-6.2831854820251465))),H2[A+688>>2]=e,H2[A+704>>2]=a,H2[A+700>>2]=i,H2[A+696>>2]=f},HingeConstraint_setAngularOnly:function(A,e){X2[(A|=0)+736|0]=e|=0},HingeConstraint_enableMotor:function(A,e){X2[(A|=0)+737|0]=e|=0},HingeConstraint_setMotorVelocity:function(A,e){A|=0,e=j2(e),H2[A+680>>2]=e},HingeConstraint_setMaxMotorImpulse:function(A,e){A|=0,e=j2(e),H2[A+684>>2]=e},HingeConstraint_setMotorTarget:function(A,e,r){A|=0,e=j2(e),r=j2(r);var f,i,a=j2(0);j2(0),j2(0),j2(0),(i=H2[A+692>>2])>j2(0)&&(f=H2[A+688>>2],(a=b2(j2(e-f)))j2(3.1415927410125732)&&(a=j2(a+j2(-6.2831854820251465))),a<=i&&!(j2(-i)>a)||(a>j2(0)?(e=b2(j2(i+f)))j2(3.1415927410125732)&&(e=j2(e+j2(-6.2831854820251465))):(e=b2(j2(f-i)))j2(3.1415927410125732)&&(e=j2(e+j2(-6.2831854820251465))))),f=j2(j2(e-Q6(a=A,y2[A+28>>2]+4|0,y2[A+32>>2]+4|0))/r),H2[a+680>>2]=f},P2PConstraint_new:function(A,e,r,f){A|=0,e|=0,r|=0,f|=0;var i,a=0;return y2[6502]=y2[6502]+1,(i=q2(379))&&(y2[(a=i+19&-16)-4>>2]=i),y2[a+44>>2]=0,y2[a+36>>2]=0,y2[a+40>>2]=1028443341,y2[a+32>>2]=e,y2[a+28>>2]=A,y2[a+24>>2]=-1,A2[a+20>>1]=1,y2[a+12>>2]=-1,y2[a+16>>2]=2139095039,y2[a+4>>2]=3,y2[a+8>>2]=-1,y2[a>>2]=24424,A=y2[r+4>>2],y2[a+300>>2]=y2[r>>2],y2[a+304>>2]=A,r=y2[(e=r+8|0)+4>>2],y2[(A=a+308|0)>>2]=y2[e>>2],y2[A+4>>2]=r,A=y2[f+4>>2],y2[a+316>>2]=y2[f>>2],y2[a+320>>2]=A,r=y2[(e=f+8|0)+4>>2],y2[(A=a+324|0)>>2]=y2[e>>2],y2[A+4>>2]=r,y2[a+332>>2]=0,X2[a+344|0]=0,y2[a+348>>2]=1050253722,y2[a+352>>2]=1065353216,(y2[a+356>>2]=0)|a},P2PConstraint_setPivotA:function(A,e){var r=y2[(e|=0)+4>>2];y2[(A|=0)+300>>2]=y2[e>>2],y2[A+304>>2]=r,r=y2[(e=e+8|0)+4>>2],y2[(A=A+308|0)>>2]=y2[e>>2],y2[A+4>>2]=r},P2PConstraint_setPivotB:function(A,e){var r=y2[(e|=0)+4>>2];y2[(A|=0)+316>>2]=y2[e>>2],y2[A+320>>2]=r,r=y2[(e=e+8|0)+4>>2],y2[(A=A+324|0)>>2]=y2[e>>2],y2[A+4>>2]=r},FixedConstraint_new:function(A,e,r,f){A|=0,e|=0,r|=0,f|=0;var i,a=0;return y2[6502]=y2[6502]+1,(i=q2(1479))&&(y2[(a=i+19&-16)-4>>2]=i),h6(a,A,e,r,f,0),y2[a>>2]=24652,y2[a+1144>>2]=0,y2[a+1148>>2]=0,y2[a+1056>>2]=0,y2[a+1060>>2]=0,y2[a+968>>2]=0,y2[a+972>>2]=0,y2[a+680>>2]=0,y2[a+684>>2]=0,y2[(A=a+688|0)>>2]=0,y2[A+4>>2]=0,y2[(A=a+696|0)>>2]=0,y2[A+4>>2]=0,y2[(A=a+704|0)>>2]=0,(y2[A+4>>2]=0)|a},FixedConstraint_setFrames:m6,TypedConstraint_setMaxImpulseThreshold:function(A,e){A|=0,e=j2(e),H2[A+16>>2]=e},Generic6DofSpring2Constraint_new:function(A,e,r,f,i){A|=0,e|=0,r|=0,f|=0,i|=0;var a,n=0;return y2[6502]=y2[6502]+1,(a=q2(1479))&&(y2[(n=a+19&-16)-4>>2]=a),h6(n,A,e,r,f,i),0|n},Generic6DofSpring2Constraint_setFrames:m6,Generic6DofSpring2Constraint_setLimit:function(A,e,r,f){A|=0,e|=0,r=j2(r),f=j2(f),(0|e)<=2?(H2[(A=(e<<2)+A|0)+696>>2]=f,H2[A+680>>2]=r):((r=b2(r))j2(3.1415927410125732)&&(r=j2(r+j2(-6.2831854820251465))),(f=b2(f))j2(3.1415927410125732)&&(f=j2(f+j2(-6.2831854820251465))),A=P2(e,88)+A|0,H2[A+708>>2]=f,H2[A+704>>2]=r)},Generic6DofSpring2Constraint_enableMotor:function(A,e,r){A|=0,r|=0,(0|(e|=0))<=2?X2[792+(A+e|0)|0]=r:X2[732+(P2(e,88)+A|0)|0]=r},Generic6DofSpring2Constraint_setMaxMotorForce:function(A,e,r){A|=0,e|=0,r=j2(r),H2[((0|e)<3?892+((e<<2)+A|0)|0:740+(P2(e,88)+A|0)|0)>>2]=r},Generic6DofSpring2Constraint_setTargetVelocity:function(A,e,r){A|=0,e|=0,r=j2(r),H2[((0|e)<3?876+((e<<2)+A|0)|0:736+(P2(e,88)+A|0)|0)>>2]=r},Generic6DofSpring2Constraint_setServo:function(A,e,r){A|=0,r|=0,(0|(e|=0))<=2?X2[795+(A+e|0)|0]=r:X2[744+(P2(e,88)+A|0)|0]=r},Generic6DofSpring2Constraint_setServoTarget:function(A,e,r){A|=0,e|=0,r=j2(r);var f=j2(0);(0|e)<=2?H2[804+((e<<2)+A|0)>>2]=r:(A=748+(P2(e,88)+A|0)|0,r=j2(r+j2(3.1415927410125732)),(r=j2(r-j2(j2(D(j2(r/j2(6.2831854820251465))))*j2(6.2831854820251465))))>=j2(6.2831854820251465)||(f=r)>2]=f+j2(-3.1415927410125732))},Generic6DofSpring2Constraint_enableSpring:function(A,e,r){A|=0,r|=0,(0|(e|=0))<=2?X2[798+(A+e|0)|0]=r:X2[752+(P2(e,88)+A|0)|0]=r},Generic6DofSpring2Constraint_setStiffness:function(A,e,r){A|=0,e|=0,r=j2(r),(0|e)<=2?(X2[156+((A=A+680|0)+e|0)|0]=1,H2[140+(A+(e<<2)|0)>>2]=r):(A=P2(e,88)+A|0,X2[A+760|0]=1,H2[A+756>>2]=r)},Generic6DofSpring2Constraint_setDamping:function(A,e,r){A|=0,e|=0,r=j2(r),(0|e)<=2?(X2[176+((A=A+680|0)+e|0)|0]=1,H2[160+(A+(e<<2)|0)>>2]=r):(A=P2(e,88)+A|0,X2[A+768|0]=1,H2[A+764>>2]=r)},Generic6DofSpring2Constraint_setBounce:function(A,e,r){A|=0,e|=0,r=j2(r),H2[((0|e)<3?712+((e<<2)+A|0)|0:712+(P2(e,88)+A|0)|0)>>2]=r},Generic6DofSpring2Constraint_setEquilibriumPoint:function(A,e,r){A|=0,e|=0,r=j2(r),H2[((0|e)<3?860+((e<<2)+A|0)|0:772+(P2(e,88)+A|0)|0)>>2]=r},DebugDraw_new:function(){var A,e=0;return y2[6502]=y2[6502]+1,(A=q2(155))&&(y2[(e=A+19&-16)-4>>2]=A),y2[e+108>>2]=1065353216,y2[e+100>>2]=0,y2[e+104>>2]=1065353216,y2[e+92>>2]=0,y2[e+96>>2]=0,y2[e+84>>2]=0,y2[e+88>>2]=1065353216,y2[e+76>>2]=1065353216,y2[e+80>>2]=0,y2[e+68>>2]=0,y2[e+72>>2]=1065353216,y2[e+60>>2]=0,y2[e+64>>2]=0,y2[e+52>>2]=0,y2[e+56>>2]=1065353216,y2[e+44>>2]=1065353216,y2[e+48>>2]=1065353216,y2[e+36>>2]=0,y2[e+40>>2]=0,y2[e+28>>2]=1065353216,y2[e+32>>2]=0,y2[e+20>>2]=0,y2[e+24>>2]=0,y2[e+12>>2]=1065353216,y2[e+16>>2]=1065353216,y2[e+4>>2]=3,y2[e+8>>2]=1065353216,y2[e>>2]=24772,y2[e+112>>2]=0,y2[e+116>>2]=0,y2[(A=e+128|0)>>2]=0,y2[4+A>>2]=0,y2[(A=e+120|0)>>2]=0,(y2[4+A>>2]=0)|e},DebugDraw_setDebugMode:function(A,e){N2[y2[y2[(A|=0)>>2]+52>>2]](A,e|=0)},DebugDraw_getDebugMode:function(A){return 0|N2[y2[y2[(A|=0)>>2]+56>>2]](A)},DebugDraw_setActiveObjectColor:function(A,e,r,f){var i;A|=0,e=j2(e),r=j2(r),f=j2(f),L2=i=L2-128|0,N2[y2[y2[A>>2]+8>>2]](i,A),H2[8+i>>2]=f,H2[4+i>>2]=r,H2[i>>2]=e,N2[y2[y2[A>>2]+12>>2]](A,i),L2=128+i|0},DebugDraw_setDeactiveObjectColor:function(A,e,r,f){var i;A|=0,e=j2(e),r=j2(r),f=j2(f),L2=i=L2-128|0,N2[y2[y2[A>>2]+8>>2]](i,A),H2[24+i>>2]=f,H2[20+i>>2]=r,H2[16+i>>2]=e,N2[y2[y2[A>>2]+12>>2]](A,i),L2=128+i|0},DebugDraw_setWantsDeactivationObjectColor:function(A,e,r,f){var i;A|=0,e=j2(e),r=j2(r),f=j2(f),L2=i=L2-128|0,N2[y2[y2[A>>2]+8>>2]](i,A),H2[40+i>>2]=f,H2[36+i>>2]=r,H2[32+i>>2]=e,N2[y2[y2[A>>2]+12>>2]](A,i),L2=128+i|0},DebugDraw_setDisabledDeactivationObjectColor:function(A,e,r,f){var i;A|=0,e=j2(e),r=j2(r),f=j2(f),L2=i=L2-128|0,N2[y2[y2[A>>2]+8>>2]](i,A),H2[56+i>>2]=f,H2[52+i>>2]=r,H2[48+i>>2]=e,N2[y2[y2[A>>2]+12>>2]](A,i),L2=128+i|0},DebugDraw_setDisabledSimulationObjectColor:function(A,e,r,f){var i;A|=0,e=j2(e),r=j2(r),f=j2(f),L2=i=L2-128|0,N2[y2[y2[A>>2]+8>>2]](i,A),H2[72+i>>2]=f,H2[68+i>>2]=r,H2[64+i>>2]=e,N2[y2[y2[A>>2]+12>>2]](A,i),L2=128+i|0},DebugDraw_setAABBColor:function(A,e,r,f){var i;A|=0,e=j2(e),r=j2(r),f=j2(f),L2=i=L2-128|0,N2[y2[y2[A>>2]+8>>2]](i,A),H2[88+i>>2]=f,H2[84+i>>2]=r,H2[80+i>>2]=e,N2[y2[y2[A>>2]+12>>2]](A,i),L2=128+i|0},DebugDraw_setContactPointColor:function(A,e,r,f){var i;A|=0,e=j2(e),r=j2(r),f=j2(f),L2=i=L2-128|0,N2[y2[y2[A>>2]+8>>2]](i,A),H2[104+i>>2]=f,H2[100+i>>2]=r,H2[96+i>>2]=e,N2[y2[y2[A>>2]+12>>2]](A,i),L2=128+i|0},DebugDraw_setConstraintLimitColor:function(A,e,r,f){var i;A|=0,e=j2(e),r=j2(r),f=j2(f),L2=i=L2-128|0,N2[y2[y2[A>>2]+8>>2]](i,A),H2[120+i>>2]=f,H2[116+i>>2]=r,H2[112+i>>2]=e,N2[y2[y2[A>>2]+12>>2]](A,i),L2=128+i|0},_malloc:function(A){return 0|q2(A|=0)},_free:function(A){$2(A|=0)},_read_f32:N6,_write_f32:function(A,e){A|=0,e=j2(e),H2[A>>2]=e},Vec3_new:function(A,e,r){A=j2(A),e=j2(e),r=j2(r);var f,i=0;return y2[6502]=y2[6502]+1,(f=q2(35))&&(y2[(i=f+19&-16)-4>>2]=f),y2[i+12>>2]=0,H2[i+8>>2]=r,H2[i+4>>2]=e,H2[i>>2]=A,0|i},Vec3_set:function(A,e,r,f){A|=0,e=j2(e),r=j2(r),f=j2(f),y2[A+12>>2]=0,H2[A+8>>2]=f,H2[A+4>>2]=r,H2[A>>2]=e},Vec3_x:N6,Vec3_y:R6,Vec3_z:I6,Quat_new:function(A,e,r,f){A=j2(A),e=j2(e),r=j2(r),f=j2(f);var i=Y(16);return H2[i+12>>2]=f,H2[i+8>>2]=r,H2[i+4>>2]=e,H2[i>>2]=A,0|i},Quat_set:W6,Quat_x:N6,Quat_y:R6,Quat_z:I6,Quat_w:function(A){return j2(H2[(A|=0)+12>>2])},Transform_new:function(){var A,e=Y(64);return y2[(A=e)+4>>2]=0,y2[A+8>>2]=0,y2[A>>2]=1065353216,y2[A+24>>2]=0,y2[A+28>>2]=0,y2[A+20>>2]=1065353216,y2[A+44>>2]=0,y2[A+48>>2]=0,y2[A+40>>2]=1065353216,y2[(A=A+12|0)>>2]=0,y2[4+A>>2]=0,y2[(A=e+32|0)>>2]=0,y2[4+A>>2]=0,y2[(A=e+52|0)>>2]=0,y2[4+A>>2]=0,(y2[e+60>>2]=0)|e},Transform_setIdentity:function(A){var e;y2[(A|=0)+4>>2]=0,y2[A+8>>2]=0,y2[A>>2]=1065353216,y2[A+32>>2]=0,y2[A+36>>2]=0,y2[(e=A+12|0)>>2]=0,y2[4+e>>2]=0,y2[(e=A+24|0)>>2]=0,y2[4+e>>2]=0,y2[A+20>>2]=1065353216,y2[(e=A+44|0)>>2]=0,y2[4+e>>2]=0,y2[A+40>>2]=1065353216,y2[(e=A+52|0)>>2]=0,y2[4+e>>2]=0,y2[A+60>>2]=0},Transform_setOrigin:function(A,e){var r=y2[(e|=0)+4>>2];y2[(A|=0)+48>>2]=y2[e>>2],y2[A+52>>2]=r,r=y2[(e=e+8|0)+4>>2],y2[(A=A+56|0)>>2]=y2[e>>2],y2[A+4>>2]=r},Transform_setRotation:function(A,e){A|=0,e|=0,j2(0),j2(0),j2(0),j2(0),j2(0),j2(0),j2(0),j2(0),j2(0),j2(0),j2(0);var r,f,i,a,n,b,t,o=H2[e+12>>2],c=H2[e+8>>2],k=H2[e>>2],e=H2[e+4>>2];y2[A+44>>2]=0,y2[A+28>>2]=0,y2[A+12>>2]=0,r=j2(j2(2)/j2(j2(j2(j2(k*k)+j2(e*e))+j2(c*c))+j2(o*o))),i=j2(c*r),f=j2(e*i),n=j2(k*r),b=j2(o*n),H2[A+36>>2]=f+b,t=j2(k*i),r=j2(e*r),a=j2(o*r),H2[A+32>>2]=t-a,H2[A+24>>2]=f-b,f=j2(k*r),o=j2(o*i),H2[A+16>>2]=f+o,H2[A+8>>2]=t+a,H2[A+4>>2]=f-o,k=j2(k*n),o=j2(e*r),H2[A+40>>2]=j2(1)-j2(k+o),a=k,k=j2(c*i),H2[A+20>>2]=j2(1)-j2(a+k),H2[A>>2]=j2(1)-j2(o+k)},Transform_getOrigin:D0,Transform_getRotation:function(A,e){return w1(A|=0,e|=0),0|e},Vec3_array_at:function(A,e){return y2[(A|=0)+12>>2]+((e|=0)<<4)|0},int_array_size:l4,int_array_at:function(A,e){return y2[y2[(A|=0)+12>>2]+((e|=0)<<2)>>2]},ccMaterial_new:function(){var A=Y(16);return y2[A+8>>2]=1036831949,y2[A+12>>2]=1036831949,y2[A>>2]=1036831949,y2[A+4>>2]=1058642330,0|A},ccMaterial_set:W6,MotionState_getWorldTransform:v4,MotionState_setWorldTransform:function(A,e){N2[y2[y2[(A|=0)>>2]+12>>2]](A,e|=0)},DefaultMotionState_new:function(A){A|=0;var e,r,f,i,a,n,b=0,t=0;return y2[6502]=y2[6502]+1,(t=q2(219))&&(y2[(b=t+19&-16)-4>>2]=t),1&X2[28556]||(1&X2[28560]||(y2[7142]=0,y2[7143]=0,y2[7141]=1065353216,y2[7144]=0,y2[7145]=0,y2[7147]=0,y2[7148]=0,y2[7146]=1065353216,y2[7149]=0,y2[7150]=0,y2[7151]=1065353216,y2[7152]=0,y2[7140]=1),y2[7165]=0,y2[7166]=0,y2[7167]=0,y2[7168]=0,y2[7139]=1,t=y2[7144],y2[7155]=y2[7143],y2[7156]=t,t=y2[7142],y2[7153]=y2[7141],y2[7154]=t,t=y2[7146],y2[7157]=y2[7145],y2[7158]=t,t=y2[7148],y2[7159]=y2[7147],y2[7160]=t,t=y2[7150],y2[7161]=y2[7149],y2[7162]=t,t=y2[7152],y2[7163]=y2[7151],y2[7164]=t),y2[b>>2]=24940,a=y2[(t=A+8|0)+4>>2],y2[(r=b+12|0)>>2]=y2[t>>2],y2[4+r>>2]=a,r=y2[A+4>>2],y2[b+4>>2]=y2[A>>2],y2[b+8>>2]=r,e=y2[4+(r=A+24|0)>>2],y2[(i=b+28|0)>>2]=y2[r>>2],y2[4+i>>2]=e,i=y2[A+20>>2],y2[b+20>>2]=y2[A+16>>2],y2[b+24>>2]=i,i=y2[A+36>>2],y2[b+36>>2]=y2[A+32>>2],y2[b+40>>2]=i,f=y2[4+(i=A+40|0)>>2],y2[(a=b+44|0)>>2]=y2[i>>2],y2[4+a>>2]=f,n=y2[4+(a=A+56|0)>>2],y2[(e=b+60|0)>>2]=y2[a>>2],y2[4+e>>2]=n,e=y2[A+52>>2],y2[b+52>>2]=y2[A+48>>2],y2[b+56>>2]=e,e=y2[7154],y2[b+68>>2]=y2[7153],y2[b+72>>2]=e,f=y2[7156],y2[(e=b+76|0)>>2]=y2[7155],y2[4+e>>2]=f,f=y2[7160],y2[(e=b+92|0)>>2]=y2[7159],y2[4+e>>2]=f,e=y2[7158],y2[b+84>>2]=y2[7157],y2[b+88>>2]=e,f=y2[7164],y2[(e=b+108|0)>>2]=y2[7163],y2[4+e>>2]=f,e=y2[7162],y2[b+100>>2]=y2[7161],y2[b+104>>2]=e,f=y2[7168],y2[(e=b+124|0)>>2]=y2[7167],y2[4+e>>2]=f,e=y2[7166],y2[b+116>>2]=y2[7165],y2[b+120>>2]=e,f=y2[t+4>>2],y2[(e=b+140|0)>>2]=y2[t>>2],y2[4+e>>2]=f,t=y2[A+4>>2],y2[b+132>>2]=y2[A>>2],y2[b+136>>2]=t,e=y2[4+r>>2],y2[(t=b+156|0)>>2]=y2[r>>2],y2[t+4>>2]=e,t=y2[A+20>>2],y2[b+148>>2]=y2[A+16>>2],y2[b+152>>2]=t,r=y2[4+i>>2],y2[(t=b+172|0)>>2]=y2[i>>2],y2[t+4>>2]=r,t=y2[A+36>>2],y2[b+164>>2]=y2[A+32>>2],y2[b+168>>2]=t,r=y2[4+a>>2],y2[(t=b+188|0)>>2]=y2[a>>2],y2[t+4>>2]=r,t=y2[A+52>>2],y2[b+180>>2]=y2[A+48>>2],y2[b+184>>2]=t,(y2[b+196>>2]=0)|b},ccMotionState_new:function(A,e){A|=0,e|=0;var r,f,i=Y(72);return y2[i+4>>2]=A,y2[i>>2]=25024,f=y2[4+(r=e+8|0)>>2],y2[(A=i+16|0)>>2]=y2[r>>2],y2[A+4>>2]=f,A=y2[e+4>>2],y2[i+8>>2]=y2[e>>2],y2[i+12>>2]=A,f=y2[4+(r=e+24|0)>>2],y2[(A=i+32|0)>>2]=y2[r>>2],y2[A+4>>2]=f,A=y2[e+20>>2],y2[i+24>>2]=y2[e+16>>2],y2[i+28>>2]=A,A=y2[e+36>>2],y2[i+40>>2]=y2[e+32>>2],y2[i+44>>2]=A,f=y2[4+(r=e+40|0)>>2],y2[(A=i+48|0)>>2]=y2[r>>2],y2[A+4>>2]=f,A=y2[e+52>>2],y2[i+56>>2]=y2[e+48>>2],y2[i+60>>2]=A,r=y2[(e=e+56|0)+4>>2],y2[(A=i- -64|0)>>2]=y2[e>>2],y2[A+4>>2]=r,0|i},RigidBodyConstructionInfo_static:function(A,e,r,f){A=j2(A),e|=0,r|=0,f|=0;var i=Y(144);return y2[i+72>>2]=r,y2[i+4>>2]=e,H2[i>>2]=A,e=y2[f+4>>2],y2[i+76>>2]=y2[f>>2],y2[i+80>>2]=e,e=y2[(r=f+8|0)+4>>2],y2[(f=i+84|0)>>2]=y2[r>>2],y2[f+4>>2]=e,y2[i+136>>2]=1008981770,y2[i+140>>2]=1008981770,y2[i+128>>2]=1000593162,y2[i+132>>2]=1008981770,X2[i+124|0]=0,y2[i+116>>2]=1061997773,y2[i+120>>2]=1065353216,y2[i+108>>2]=0,y2[i+112>>2]=0,y2[i+100>>2]=1056964608,y2[i+104>>2]=0,y2[i+92>>2]=0,y2[i+96>>2]=0,y2[i+8>>2]=1065353216,y2[(e=i+20|0)>>2]=0,y2[e+4>>2]=0,y2[i+12>>2]=0,y2[i+16>>2]=0,y2[i+28>>2]=1065353216,y2[(e=i+40|0)>>2]=0,y2[e+4>>2]=0,y2[i+32>>2]=0,y2[i+36>>2]=0,y2[i+48>>2]=1065353216,y2[i+68>>2]=0,y2[(e=i+60|0)>>2]=0,y2[e+4>>2]=0,y2[i+52>>2]=0,(y2[i+56>>2]=0)|i},RigidBody_new:function(A,e){A=j2(A),e|=0;var r,f,i,a=0;return L2=i=L2-144|0,U2[26692]||(y2[6677]=0,y2[6678]=0,y2[6675]=27,y2[6676]=0,y2[6674]=18728,X2[26692]=1,y2[6679]=0),y2[(r=88+i|0)>>2]=0,y2[4+r>>2]=0,f=A==j2(0)?0:1070945621,y2[84+i>>2]=f,y2[80+i>>2]=f,y2[(r=20+i|0)>>2]=0,y2[4+r>>2]=0,y2[(r=12+i|0)>>2]=0,y2[4+r>>2]=0,y2[136+i>>2]=1008981770,y2[140+i>>2]=1008981770,y2[128+i>>2]=1000593162,y2[132+i>>2]=1008981770,X2[124+i|0]=0,y2[120+i>>2]=1065353216,y2[112+i>>2]=0,y2[116+i>>2]=1061997773,y2[104+i>>2]=0,y2[108+i>>2]=0,y2[96+i>>2]=0,y2[100+i>>2]=1056964608,y2[76+i>>2]=f,y2[72+i>>2]=26696,y2[4+i>>2]=e,H2[i>>2]=A,y2[8+i>>2]=1065353216,y2[(e=32+i|0)>>2]=0,y2[e+4>>2]=0,y2[28+i>>2]=1065353216,y2[(e=40+i|0)>>2]=0,y2[e+4>>2]=0,y2[(e=52+i|0)>>2]=0,y2[e+4>>2]=0,y2[48+i>>2]=1065353216,y2[(e=60+i|0)>>2]=0,y2[e+4>>2]=0,y2[68+i>>2]=0,y2[6502]=y2[6502]+1,(e=q2(695))&&(y2[(a=e+19&-16)-4>>2]=e),y2[a+132>>2]=0,y2[a+136>>2]=0,y2[a>>2]=10468,y2[a+188>>2]=0,y2[a+192>>2]=0,y2[a+180>>2]=0,y2[a+184>>2]=1566444395,y2[a+172>>2]=1065353216,y2[a+176>>2]=0,y2[a+164>>2]=1065353216,y2[a+168>>2]=1065353216,X2[a+300|0]=1,y2[a+276>>2]=0,y2[a+280>>2]=0,y2[a+268>>2]=1065353216,y2[a+272>>2]=0,y2[a+260>>2]=-1,y2[a+264>>2]=-1,y2[a+252>>2]=1,y2[a+256>>2]=0,y2[a+244>>2]=1036831949,y2[a+248>>2]=1176256512,y2[a+236>>2]=0,y2[a+240>>2]=0,y2[a+228>>2]=1056964608,y2[a+232>>2]=0,y2[a+220>>2]=1,y2[a+224>>2]=0,y2[a+212>>2]=-1,y2[a+216>>2]=-1,y2[a+204>>2]=1,y2[a+208>>2]=-1,y2[(e=a+140|0)>>2]=0,y2[e+4>>2]=0,y2[(e=a+148|0)>>2]=0,y2[e+4>>2]=0,y2[(e=a+156|0)>>2]=0,y2[e+4>>2]=0,y2[(e=a+196|0)>>2]=0,y2[e+4>>2]=0,y2[a+304>>2]=0,y2[a+296>>2]=0,y2[a+288>>2]=0,y2[a+292>>2]=0,y2[a+8>>2]=0,y2[a+12>>2]=0,y2[a+4>>2]=1065353216,y2[(e=a+16|0)>>2]=0,y2[e+4>>2]=0,y2[a+28>>2]=0,y2[a+32>>2]=0,y2[a+24>>2]=1065353216,y2[(e=a+36|0)>>2]=0,y2[e+4>>2]=0,y2[a+48>>2]=0,y2[a+52>>2]=0,y2[a+44>>2]=1065353216,y2[(e=a+56|0)>>2]=0,y2[e+4>>2]=0,y2[a+72>>2]=0,y2[a+76>>2]=0,y2[(e=a- -64|0)>>2]=0,y2[e+4>>2]=1065353216,y2[(e=a+80|0)>>2]=0,y2[e+4>>2]=0,y2[a+88>>2]=1065353216,y2[(e=a+100|0)>>2]=0,y2[e+4>>2]=0,y2[a+92>>2]=0,y2[a+96>>2]=0,y2[a+128>>2]=0,y2[a+108>>2]=1065353216,y2[(e=a+120|0)>>2]=0,y2[e+4>>2]=0,y2[a+112>>2]=0,y2[a+116>>2]=0,X2[a+560|0]=1,y2[a>>2]=22904,y2[a+556>>2]=0,y2[a+548>>2]=0,y2[a+552>>2]=0,n6(a,i),L2=144+i|0,0|a},RigidBody_setCenterOfMassTransform:function(A,e){b6(A|=0,e|=0)},RigidBody_setSleepingThresholds:function(A,e,r){A|=0,e=j2(e),r=j2(r),H2[A+536>>2]=r,H2[A+532>>2]=e},RigidBody_getLinearSleepingThreshold:function(A){return j2(H2[(A|=0)+532>>2])},RigidBody_getAngularSleepingThreshold:function(A){return j2(H2[(A|=0)+536>>2])},RigidBody_setDamping:function(A,e,r){var f;A|=0,e=j2(e),r=j2(r),H2[8+(f=L2-16|0)>>2]=r,H2[12+f>>2]=e,y2[4+f>>2]=0,y2[f>>2]=1065353216,y2[A+504>>2]=y2[(ej2(1)?f:12+f|0)>>2],y2[4+f>>2]=0,y2[f>>2]=1065353216,y2[A+508>>2]=y2[(rj2(1)?f:8+f|0)>>2]},RigidBody_setMass:function(A,e){A|=0,e=j2(e),j2(0);var r,f,i,a=j2(0);j2(0),y2[8+(L2=i=L2-16|0)>>2]=1070945621,y2[12+i>>2]=0,y2[i>>2]=1070945621,y2[4+i>>2]=1070945621,r=y2[A+192>>2],31==y2[r+4>>2]&&y2[r+24>>2]<1||N2[y2[y2[r>>2]+32>>2]](r,e,i),r=y2[A+204>>2],e==j2(0)?y2[A+204>>2]=1|r:(y2[A+204>>2]=-2&r,a=j2(j2(1)/e)),H2[A+404>>2]=a,y2[A+436>>2]=0,y2[A+468>>2]=0,H2[A+424>>2]=H2[A+440>>2]*e,r=H2[8+i>>2],H2[A+464>>2]=r!=j2(0)?j2(j2(1)/r):j2(0),r=H2[4+i>>2],H2[A+460>>2]=r!=j2(0)?j2(j2(1)/r):j2(0),r=H2[i>>2],H2[A+456>>2]=r!=j2(0)?j2(j2(1)/r):j2(0),H2[A+432>>2]=H2[A+448>>2]*e,H2[A+428>>2]=H2[A+444>>2]*e,e=H2[A+412>>2],r=H2[A+416>>2],f=H2[A+408>>2],y2[A+632>>2]=0,H2[A+628>>2]=a*r,H2[A+624>>2]=a*e,H2[A+620>>2]=f*a,L2=16+i|0},RigidBody_setMassProps:function(A,e,r){A|=0,e=j2(e),r|=0;var f=j2(0),i=(j2(0),j2(0),y2[A+204>>2]);e==j2(0)?y2[A+204>>2]=1|i:(y2[A+204>>2]=-2&i,f=j2(j2(1)/e)),H2[A+404>>2]=f,y2[A+436>>2]=0,H2[A+424>>2]=H2[A+440>>2]*e,H2[A+432>>2]=H2[A+448>>2]*e,H2[A+428>>2]=H2[A+444>>2]*e,e=H2[r+8>>2],i=H2[r+4>>2],r=H2[r>>2],H2[A+620>>2]=H2[A+408>>2]*f,H2[A+624>>2]=f*H2[A+412>>2],H2[A+628>>2]=f*H2[A+416>>2],y2[A+632>>2]=0,y2[A+468>>2]=0,H2[A+456>>2]=r!=j2(0)?j2(j2(1)/r):j2(0),H2[A+460>>2]=i!=j2(0)?j2(j2(1)/i):j2(0),H2[A+464>>2]=e!=j2(0)?j2(j2(1)/e):j2(0)},RigidBody_setLinearFactor:function(A,e){A|=0,e|=0,j2(0);var r,f=y2[e+4>>2];y2[A+408>>2]=y2[e>>2],y2[A+412>>2]=f,r=y2[(e=e+8|0)+4>>2],y2[(f=A+416|0)>>2]=y2[e>>2],y2[4+f>>2]=r,y2[A+632>>2]=0,e=H2[A+404>>2],H2[A+624>>2]=e*H2[A+412>>2],H2[A+620>>2]=e*H2[A+408>>2],H2[A+628>>2]=e*H2[f>>2]},RigidBody_setAngularFactor:function(A,e){var r;e|=0,y2[(A|=0)+304>>2]=y2[A+304>>2]+1,r=y2[e+4>>2],y2[A+604>>2]=y2[e>>2],y2[A+608>>2]=r,r=y2[(e=e+8|0)+4>>2],y2[(A=A+612|0)>>2]=y2[e>>2],y2[A+4>>2]=r},RigidBody_getLinearVelocity:function(A){return(A|=0)+372|0},RigidBody_getAngularVelocity:function(A){return(A|=0)+388|0},RigidBody_setLinearVelocity:function(A,e){var r;e|=0,y2[(A|=0)+304>>2]=y2[A+304>>2]+1,r=y2[e+4>>2],y2[A+372>>2]=y2[e>>2],y2[A+376>>2]=r,r=y2[(e=e+8|0)+4>>2],y2[(A=A+380|0)>>2]=y2[e>>2],y2[A+4>>2]=r},RigidBody_setAngularVelocity:function(A,e){var r;e|=0,y2[(A|=0)+304>>2]=y2[A+304>>2]+1,r=y2[e+4>>2],y2[A+388>>2]=y2[e>>2],y2[A+392>>2]=r,r=y2[(e=e+8|0)+4>>2],y2[(A=A+396|0)>>2]=y2[e>>2],y2[A+4>>2]=r},RigidBody_getGravity:function(A){return(A|=0)+440|0},RigidBody_setGravity:function(A,e){var r,f,i,a;A|=0,e|=0,j2(0),j2(0),j2(0),j2(0),(a=H2[A+404>>2])!=j2(0)&&(r=H2[e>>2],f=H2[e+4>>2],i=H2[e+8>>2],y2[A+436>>2]=0,a=j2(j2(1)/a),H2[A+432>>2]=i*a,H2[A+428>>2]=a*f,H2[A+424>>2]=a*r),i=y2[e+4>>2],y2[A+440>>2]=y2[e>>2],y2[A+444>>2]=i,i=y2[(e=e+8|0)+4>>2],y2[(A=A+448|0)>>2]=y2[e>>2],y2[A+4>>2]=i},RigidBody_applyTorque:function(A,e){A|=0,e|=0,j2(0),j2(0);var r=H2[e+8>>2],f=H2[e+4>>2];H2[A+488>>2]=j2(H2[e>>2]*H2[A+604>>2])+H2[A+488>>2],H2[(e=A+492|0)>>2]=j2(f*H2[A+608>>2])+H2[e>>2],H2[(e=A+496|0)>>2]=j2(r*H2[A+612>>2])+H2[e>>2]},RigidBody_applyForce:function(A,e,r){A|=0,e|=0,r|=0,j2(0),j2(0),j2(0),j2(0),j2(0),j2(0),j2(0),j2(0);var f,i,a,n,b=H2[e+8>>2],t=H2[e+4>>2],o=H2[A+408>>2];H2[A+472>>2]=j2(H2[e>>2]*o)+H2[A+472>>2],i=t,t=H2[A+412>>2],H2[(n=A+476|0)>>2]=j2(i*t)+H2[n>>2],f=H2[A+416>>2],H2[(n=A+480|0)>>2]=j2(b*f)+H2[n>>2],n=H2[e>>2],b=H2[r>>2],a=H2[r+4>>2],f=j2(f*H2[e+8>>2]),t=j2(t*H2[e+4>>2]),r=H2[r+8>>2],H2[A+488>>2]=j2(j2(j2(a*f)-j2(t*r))*H2[A+604>>2])+H2[A+488>>2],i=H2[A+612>>2],e=A+492|0,o=j2(o*n),H2[e>>2]=j2(j2(j2(r*o)-j2(f*b))*H2[A+608>>2])+H2[e>>2],H2[(A=A+496|0)>>2]=j2(i*j2(j2(t*b)-j2(o*a)))+H2[A>>2]},RigidBody_applyCentralForce:function(A,e){A|=0,e|=0,j2(0),j2(0);var r=H2[e+8>>2],f=H2[e+4>>2];H2[A+472>>2]=j2(H2[e>>2]*H2[A+408>>2])+H2[A+472>>2],H2[(e=A+476|0)>>2]=j2(f*H2[A+412>>2])+H2[e>>2],H2[(e=A+480|0)>>2]=j2(r*H2[A+416>>2])+H2[e>>2]},RigidBody_applyTorqueImpulse:function(A,e){A|=0,e|=0,j2(0),j2(0),j2(0);var r=H2[e>>2],f=H2[e+4>>2],i=H2[e+8>>2];H2[A+388>>2]=j2(j2(j2(j2(H2[A+324>>2]*r)+j2(H2[A+328>>2]*f))+j2(H2[A+332>>2]*i))*H2[A+604>>2])+H2[A+388>>2],H2[(e=A+392|0)>>2]=j2(j2(j2(j2(r*H2[A+340>>2])+j2(f*H2[A+344>>2]))+j2(i*H2[A+348>>2]))*H2[A+608>>2])+H2[e>>2],H2[(e=A+396|0)>>2]=j2(j2(j2(j2(r*H2[A+356>>2])+j2(f*H2[A+360>>2]))+j2(i*H2[A+364>>2]))*H2[A+612>>2])+H2[e>>2]},RigidBody_applyImpulse:function(A,e,r){w6(A|=0,e|=0,r|=0)},RigidBody_applyCentralImpulse:function(A,e){A|=0,e|=0,j2(0),j2(0),j2(0);var r=H2[e+8>>2],f=H2[e+4>>2],i=H2[A+404>>2];H2[A+372>>2]=j2(j2(H2[e>>2]*H2[A+408>>2])*i)+H2[A+372>>2],H2[(e=A+376|0)>>2]=j2(i*j2(f*H2[A+412>>2]))+H2[e>>2],H2[(e=A+380|0)>>2]=j2(i*j2(r*H2[A+416>>2]))+H2[e>>2]},RigidBody_updateInertiaTensor:function(A){var e,r,f,i,a,n,b,t,o,c,k,u,l,s,v;A|=0,j2(0),j2(0),j2(0),j2(0),j2(0),j2(0),j2(0),j2(0),j2(0),j2(0),j2(0),j2(0),j2(0),j2(0),j2(0),y2[A+368>>2]=0,y2[A+352>>2]=0,y2[A+336>>2]=0,l=H2[A+456>>2],e=H2[A+36>>2],r=j2(l*e),s=H2[A+460>>2],f=H2[A+40>>2],i=j2(s*f),v=H2[A+464>>2],a=H2[A+44>>2],n=j2(v*a),H2[A+364>>2]=j2(j2(r*e)+j2(i*f))+j2(n*a),c=H2[A+20>>2],k=H2[A+24>>2],u=H2[A+28>>2],H2[A+360>>2]=j2(j2(r*c)+j2(i*k))+j2(n*u),b=r,r=H2[A+4>>2],t=i,i=H2[A+8>>2],o=n,n=H2[A+12>>2],H2[A+356>>2]=j2(j2(b*r)+j2(t*i))+j2(o*n),b=j2(l*c),t=j2(s*k),o=j2(v*u),H2[A+348>>2]=j2(j2(e*b)+j2(f*t))+j2(a*o),H2[A+344>>2]=j2(j2(b*c)+j2(t*k))+j2(o*u),H2[A+340>>2]=j2(j2(b*r)+j2(t*i))+j2(o*n),b=e,e=j2(r*l),t=f,f=j2(i*s),o=a,a=j2(n*v),H2[A+332>>2]=j2(j2(b*e)+j2(t*f))+j2(o*a),H2[A+328>>2]=j2(j2(e*c)+j2(f*k))+j2(a*u),H2[A+324>>2]=j2(j2(e*r)+j2(f*i))+j2(a*n)},RigidBody_getTotalForce:function(A){return(A|=0)+472|0},RigidBody_getTotalTorque:function(A){return(A|=0)+488|0},RigidBody_getFlags:function(A){return y2[(A|=0)+564>>2]},RigidBody_setFlags:function(A,e){y2[(A|=0)+564>>2]=e|=0},RigidBody_clearForces:function(A){var e;y2[(A|=0)+472>>2]=0,y2[A+476>>2]=0,y2[(e=A+496|0)>>2]=0,y2[4+e>>2]=0,y2[(e=A+488|0)>>2]=0,y2[4+e>>2]=0,y2[(A=A+480|0)>>2]=0,y2[A+4>>2]=0},RigidBody_wantsSleeping:function(A){var e,r=0;return 4==(0|(e=y2[(A|=0)+220>>2]))||U2[27772]||(r=1,2!=(-2&e)&&(r=H2[A+224>>2]>j2(2))),0|r},RigidBody_clearState:function(A){var e;y2[(A|=0)+372>>2]=0,y2[A+376>>2]=0,y2[A+472>>2]=0,y2[A+476>>2]=0,y2[(e=A+396|0)>>2]=0,y2[4+e>>2]=0,y2[(e=A+388|0)>>2]=0,y2[4+e>>2]=0,y2[(e=A+380|0)>>2]=0,y2[4+e>>2]=0,y2[(e=A+480|0)>>2]=0,y2[4+e>>2]=0,y2[(e=A+488|0)>>2]=0,y2[4+e>>2]=0,y2[(A=A+496|0)>>2]=0,y2[A+4>>2]=0},RigidBody_getMotionState:function(A){return y2[(A|=0)+540>>2]},_safe_delete:function(A,e){A|=0,e|=0;A:{e:if(!(14>>0)){r:switch(e-1|0){default:if(A)return y2[6503]=y2[6503]+1,void $2(y2[A-4>>2]);break e;case 0:case 1:if(A)return void b(A);break e;case 2:case 3:case 4:case 6:case 7:case 8:case 9:case 10:case 11:case 12:case 5:if(A)break A;break e;case 13:break r;}A&&N2[y2[y2[A>>2]+4>>2]](A)}return}N2[y2[y2[A>>2]+4>>2]](A)},_ZSt17__throw_bad_allocv:Q,_ZSt15get_new_handlerv:function(){var A;return y2[12+(A=L2-16|0)>>2]=25968,y2[8+A>>2]=2,y2[y2[12+A>>2]>>2]},_ZnwmRKSt9nothrow_t:function(A,e){var r;return e|=0,y2[12+(L2=r=L2-16|0)>>2]=A|=0,y2[8+r>>2]=e,y2[4+r>>2]=0,e=Y(y2[12+(A=r)>>2]),y2[4+A>>2]=e,L2=16+r|0,y2[4+r>>2]},_Znam:m,_ZnamRKSt9nothrow_t:function(A,e){var r;return e|=0,y2[12+(L2=r=L2-16|0)>>2]=A|=0,y2[8+r>>2]=e,y2[4+r>>2]=0,e=m(y2[12+(A=r)>>2]),y2[4+A>>2]=e,L2=16+r|0,y2[4+r>>2]},_ZdlPvRKSt9nothrow_t:N,_ZdlPvm:N,_ZdaPv:R,_ZdaPvRKSt9nothrow_t:I,_ZdaPvm:I,_ZnwmSt11align_val_t:W,_ZnwmSt11align_val_tRKSt9nothrow_t:function(A,e,r){var f;return e|=0,r|=0,y2[12+(L2=f=L2-16|0)>>2]=A|=0,y2[8+f>>2]=e,y2[4+f>>2]=r,y2[f>>2]=0,e=W(y2[12+(A=f)>>2],y2[8+f>>2]),y2[A>>2]=e,L2=16+f|0,y2[f>>2]},_ZnamSt11align_val_t:T,_ZnamSt11align_val_tRKSt9nothrow_t:function(A,e,r){var f;return e|=0,r|=0,y2[12+(L2=f=L2-16|0)>>2]=A|=0,y2[8+f>>2]=e,y2[4+f>>2]=r,y2[f>>2]=0,e=T(y2[12+(A=f)>>2],y2[8+f>>2]),y2[A>>2]=e,L2=16+f|0,y2[f>>2]},_ZdlPvSt11align_val_t:V,_ZdlPvSt11align_val_tRKSt9nothrow_t:function(A,e,r){var f;e|=0,r|=0,y2[12+(L2=f=L2-16|0)>>2]=A|=0,y2[8+f>>2]=e,y2[4+f>>2]=r,V(y2[12+f>>2],y2[8+f>>2]),L2=16+f|0},_ZdlPvmSt11align_val_t:function(A,e,r){var f;e|=0,r|=0,y2[12+(L2=f=L2-16|0)>>2]=A|=0,y2[8+f>>2]=e,y2[4+f>>2]=r,V(y2[12+f>>2],y2[4+f>>2]),L2=16+f|0},_ZdaPvSt11align_val_t:x,_ZdaPvSt11align_val_tRKSt9nothrow_t:function(A,e,r){var f;e|=0,r|=0,y2[12+(L2=f=L2-16|0)>>2]=A|=0,y2[8+f>>2]=e,y2[4+f>>2]=r,x(y2[12+f>>2],y2[8+f>>2]),L2=16+f|0},_ZdaPvmSt11align_val_t:function(A,e,r){var f;e|=0,r|=0,y2[12+(L2=f=L2-16|0)>>2]=A|=0,y2[8+f>>2]=e,y2[4+f>>2]=r,x(y2[12+f>>2],y2[4+f>>2]),L2=16+f|0},_ZSt7nothrow:1088,_ZSt14set_unexpectedPFvvE:function(A){var e;return y2[12+(L2=e=L2-16|0)>>2]=A|=0,y2[12+e>>2]||(y2[12+e>>2]=1),A=p(25084,y2[12+e>>2]),L2=16+e|0,0|A},__cxa_unexpected_handler:25084,_ZSt13set_terminatePFvvE:function(A){var e;return y2[12+(L2=e=L2-16|0)>>2]=A|=0,y2[12+e>>2]||(y2[12+e>>2]=2),A=p(25080,y2[12+e>>2]),L2=16+e|0,0|A},__cxa_terminate_handler:25080,_ZSt14get_unexpectedv:function(){var A;return y2[12+(A=L2-16|0)>>2]=25084,y2[8+A>>2]=2,y2[y2[12+A>>2]>>2]},_ZSt10unexpectedv:function(){var A,e;y2[12+(e=L2-16|0)>>2]=25084,y2[8+e>>2]=2,y2[12+(L2=A=L2-16|0)>>2]=y2[y2[12+e>>2]>>2],N2[y2[12+A>>2]](),n2(1089),U()},_ZSt13get_terminatev:function(){var A;return y2[12+(A=L2-16|0)>>2]=25080,y2[8+A>>2]=2,y2[y2[12+A>>2]>>2]},_ZSt9terminatev:S,_ZSt15set_new_handlerPFvvE:function(A){var e;return y2[12+(L2=e=L2-16|0)>>2]=A|=0,A=p(25968,y2[12+e>>2]),L2=16+e|0,0|A},__cxa_new_handler:25968,__cxa_deleted_virtual:function(){n2(1200),U()},_ZNSt9exceptionD2Ev:t2,_ZNSt9exceptionD0Ev:o2,_ZNSt9exceptionD1Ev:t2,_ZNKSt9exception4whatEv:c2,_ZNSt13bad_exceptionD2Ev:k2,_ZNSt13bad_exceptionD0Ev:u2,_ZNSt13bad_exceptionD1Ev:k2,_ZNKSt13bad_exception4whatEv:l2,_ZNSt9bad_allocC2Ev:s2,_ZTVSt9bad_alloc:3628,_ZTVSt9exception:3708,_ZNSt9bad_allocD2Ev:k2,_ZNSt9bad_allocD0Ev:u2,_ZNSt9bad_allocD1Ev:k2,_ZNKSt9bad_alloc4whatEv:B2,_ZNSt20bad_array_new_lengthC2Ev:d2,_ZTVSt20bad_array_new_length:3664,_ZNSt20bad_array_new_lengthD2Ev:_2,_ZNSt20bad_array_new_lengthD0Ev:g2,_ZNSt20bad_array_new_lengthD1Ev:_2,_ZNKSt20bad_array_new_length4whatEv:Z2,_ZTISt9bad_alloc:3820,_ZTISt20bad_array_new_length:3860,_ZTISt9exception:3744,_ZTSSt9exception:3728,_ZTVSt13bad_exception:3752,_ZTISt13bad_exception:3792,_ZTSSt13bad_exception:3772,_ZTSSt9bad_alloc:3804,_ZTSSt20bad_array_new_length:3832,_ZNSt9bad_allocC1Ev:s2,_ZNSt20bad_array_new_lengthC1Ev:d2,_ZNSt9type_infoD2Ev:t2,_ZNSt9type_infoD0Ev:o2,_ZNSt9type_infoD1Ev:t2,_ZNSt8bad_castC2Ev:C2,_ZTVSt8bad_cast:3872,_ZNSt8bad_castD2Ev:k2,_ZNSt8bad_castD0Ev:u2,_ZNSt8bad_castD1Ev:k2,_ZNKSt8bad_cast4whatEv:F2,_ZNSt10bad_typeidC2Ev:D2,_ZTVSt10bad_typeid:3908,_ZNSt10bad_typeidD2Ev:k2,_ZNSt10bad_typeidD0Ev:u2,_ZNSt10bad_typeidD1Ev:k2,_ZNKSt10bad_typeid4whatEv:Y2,_ZTISt8bad_cast:3996,_ZTISt10bad_typeid:4024,_ZTVSt9type_info:3944,_ZTISt9type_info:3976,_ZTSSt9type_info:3960,_ZTSSt8bad_cast:3984,_ZTSSt10bad_typeid:4008,_ZNSt8bad_castC1Ev:C2,_ZNSt10bad_typeidC1Ev:D2,_ZTIN10__cxxabiv117__class_type_infoE:4120,_ZTIN10__cxxabiv116__shim_type_infoE:4072,__dynamic_cast:M2,_ZTIN10__cxxabiv117__pbase_type_infoE:4168,_ZTIDn:4516,_ZTIN10__cxxabiv119__pointer_type_infoE:4216,_ZTIv:4464,_ZTIN10__cxxabiv120__function_type_infoE:4268,_ZTIN10__cxxabiv129__pointer_to_member_type_infoE:4328,_ZTSN10__cxxabiv116__shim_type_infoE:4036,_ZTSN10__cxxabiv117__class_type_infoE:4084,_ZTSN10__cxxabiv117__pbase_type_infoE:4132,_ZTSN10__cxxabiv119__pointer_type_infoE:4180,_ZTSN10__cxxabiv120__function_type_infoE:4228,_ZTSN10__cxxabiv129__pointer_to_member_type_infoE:4280,_ZTVN10__cxxabiv116__shim_type_infoE:4352,_ZTVN10__cxxabiv123__fundamental_type_infoE:4380,_ZTIN10__cxxabiv123__fundamental_type_infoE:4448,_ZTSN10__cxxabiv123__fundamental_type_infoE:4408,_ZTSv:4460,_ZTSPv:4472,_ZTIPv:4476,_ZTVN10__cxxabiv119__pointer_type_infoE:6212,_ZTSPKv:4492,_ZTIPKv:4496,_ZTSDn:4512,_ZTSPDn:4524,_ZTIPDn:4528,_ZTSPKDn:4544,_ZTIPKDn:4552,_ZTSb:4568,_ZTIb:4572,_ZTSPb:4580,_ZTIPb:4584,_ZTSPKb:4600,_ZTIPKb:4604,_ZTSw:4620,_ZTIw:4624,_ZTSPw:4632,_ZTIPw:4636,_ZTSPKw:4652,_ZTIPKw:4656,_ZTSc:4672,_ZTIc:4676,_ZTSPc:4684,_ZTIPc:4688,_ZTSPKc:4704,_ZTIPKc:4708,_ZTSh:4724,_ZTIh:4728,_ZTSPh:4736,_ZTIPh:4740,_ZTSPKh:4756,_ZTIPKh:4760,_ZTSa:4776,_ZTIa:4780,_ZTSPa:4788,_ZTIPa:4792,_ZTSPKa:4808,_ZTIPKa:4812,_ZTSs:4828,_ZTIs:4832,_ZTSPs:4840,_ZTIPs:4844,_ZTSPKs:4860,_ZTIPKs:4864,_ZTSt:4880,_ZTIt:4884,_ZTSPt:4892,_ZTIPt:4896,_ZTSPKt:4912,_ZTIPKt:4916,_ZTSi:4932,_ZTIi:4936,_ZTSPi:4944,_ZTIPi:4948,_ZTSPKi:4964,_ZTIPKi:4968,_ZTSj:4984,_ZTIj:4988,_ZTSPj:4996,_ZTIPj:5e3,_ZTSPKj:5016,_ZTIPKj:5020,_ZTSl:5036,_ZTIl:5040,_ZTSPl:5048,_ZTIPl:5052,_ZTSPKl:5068,_ZTIPKl:5072,_ZTSm:5088,_ZTIm:5092,_ZTSPm:5100,_ZTIPm:5104,_ZTSPKm:5120,_ZTIPKm:5124,_ZTSx:5140,_ZTIx:5144,_ZTSPx:5152,_ZTIPx:5156,_ZTSPKx:5172,_ZTIPKx:5176,_ZTSy:5192,_ZTIy:5196,_ZTSPy:5204,_ZTIPy:5208,_ZTSPKy:5224,_ZTIPKy:5228,_ZTSn:5244,_ZTIn:5248,_ZTSPn:5256,_ZTIPn:5260,_ZTSPKn:5276,_ZTIPKn:5280,_ZTSo:5296,_ZTIo:5300,_ZTSPo:5308,_ZTIPo:5312,_ZTSPKo:5328,_ZTIPKo:5332,_ZTSDh:5348,_ZTIDh:5352,_ZTSPDh:5360,_ZTIPDh:5364,_ZTSPKDh:5380,_ZTIPKDh:5388,_ZTSf:5404,_ZTIf:5408,_ZTSPf:5416,_ZTIPf:5420,_ZTSPKf:5436,_ZTIPKf:5440,_ZTSd:5456,_ZTId:5460,_ZTSPd:5468,_ZTIPd:5472,_ZTSPKd:5488,_ZTIPKd:5492,_ZTSe:5508,_ZTIe:5512,_ZTSPe:5520,_ZTIPe:5524,_ZTSPKe:5540,_ZTIPKe:5544,_ZTSg:5560,_ZTIg:5564,_ZTSPg:5572,_ZTIPg:5576,_ZTSPKg:5592,_ZTIPKg:5596,_ZTSDu:5612,_ZTIDu:5616,_ZTSPDu:5624,_ZTIPDu:5628,_ZTSPKDu:5644,_ZTIPKDu:5652,_ZTSDs:5668,_ZTIDs:5672,_ZTSPDs:5680,_ZTIPDs:5684,_ZTSPKDs:5700,_ZTIPKDs:5708,_ZTSDi:5724,_ZTIDi:5728,_ZTSPDi:5736,_ZTIPDi:5740,_ZTSPKDi:5756,_ZTIPKDi:5764,_ZTVN10__cxxabiv117__array_type_infoE:5780,_ZTIN10__cxxabiv117__array_type_infoE:5844,_ZTSN10__cxxabiv117__array_type_infoE:5808,_ZTVN10__cxxabiv120__function_type_infoE:5856,_ZTVN10__cxxabiv116__enum_type_infoE:5884,_ZTIN10__cxxabiv116__enum_type_infoE:5948,_ZTSN10__cxxabiv116__enum_type_infoE:5912,_ZTIN10__cxxabiv120__si_class_type_infoE:6080,_ZTSN10__cxxabiv120__si_class_type_infoE:6040,_ZTIN10__cxxabiv121__vmi_class_type_infoE:6172,_ZTSN10__cxxabiv121__vmi_class_type_infoE:6132,_ZTVN10__cxxabiv117__pbase_type_infoE:6184,_ZTVN10__cxxabiv129__pointer_to_member_type_infoE:6240};function q2(A){var e,r=0,f=0,i=0,a=0,n=0,b=0,t=0,o=0,c=0,k=0,u=0;L2=e=L2-16|0;A:{e:{r:{f:{i:{a:{n:{b:{t:{o:{c:{if(A>>>0<=236){if(3&(r=(n=y2[6300])>>>(f=(b=A>>>0<11?16:A+19&-16)>>>3|0)|0)){A=(a=y2[(r=(i=1^(f|1&r))<<3)+25248>>2])+8|0,(0|(f=y2[a+8>>2]))==(0|(r=r+25240|0))?(u=V6(i)&n,y2[25200>>2]=u):(y2[r+8>>2]=f,y2[f+12>>2]=r),y2[a+4>>2]=3|(r=i<<3),y2[(r=r+a|0)+4>>2]=1|y2[r+4>>2];break A}if(b>>>0<=(c=y2[6302])>>>0)break c;if(r){f=A=(r=(0-(A=(0-(A=2<>>12&16,i=y2[(A=(f=((f=(f|=A=(r=r>>>A|0)>>>5&8)|(A=(r=r>>>A|0)>>>2&4)|(A=(r=r>>>A|0)>>>1&2))|(A=(r=r>>>A|0)>>>1&1))+(r>>>A|0)|0)<<3)+25248>>2],(0|(r=y2[i+8>>2]))==(0|(A=A+25240|0))?(n=V6(f)&n,y2[6300]=n):(y2[A+8>>2]=r,y2[r+12>>2]=A),A=i+8|0,y2[i+4>>2]=3|b,y2[(r=f<<3)+i>>2]=a=r-b|0,y2[(i=i+b|0)+4>>2]=1|a,c&&(f=25240+((r=c>>>3|0)<<3)|0,b=y2[6305],r=(r=1<>2]:(y2[6300]=r|n,f),y2[r+12>>2]=b,y2[f+8>>2]=b,y2[b+12>>2]=f,y2[b+8>>2]=r),y2[6305]=i,y2[6302]=a;break A}if(!(t=y2[6301]))break c;for(f=A=(r=(0-t&t)-1|0)>>>12&16,r=y2[25504+(((f=(f|=A=(r=r>>>A|0)>>>5&8)|(A=(r=r>>>A|0)>>>2&4)|(A=(r=r>>>A|0)>>>1&2))|(A=(r=r>>>A|0)>>>1&1))+(r>>>A|0)<<2)>>2],i=(-8&y2[r+4>>2])-b|0,f=r;;){if(!(A=(A=y2[f+16>>2])||y2[f+20>>2]))break;i=(a=(f=(-8&y2[A+4>>2])-b|0)>>>0>>0)?f:i,r=a?A:r,f=A}if(k=y2[r+24>>2],(0|(a=y2[r+12>>2]))!=(0|r)){A=y2[r+8>>2],y2[a+8>>2]=A,y2[A+12>>2]=a;break e}if(!(A=y2[(f=r+20|0)>>2])){if(!(A=y2[r+16>>2]))break o;f=r+16|0}for(;;)if(o=f,!((A=y2[(f=(a=A)+20|0)>>2])||(f=a+16|0,A=y2[a+16>>2])))break;y2[o>>2]=0;break e}if(b=-1,!(4294967231>>0)&&(b=-16&(A=A+19|0),t=y2[6301])){f=0-b|0,(A=A>>>8|(o=0))&&(o=31,16777215>>0||(o=28+((A=((A=(A<<=r=A+1048320>>>16&8)<<(n=A+520192>>>16&4))<<(i=A+245760>>>16&2)>>>15|0)-(i|r|n)|0)<<1|b>>>A+21&1)|0));k:{u:{if(i=y2[25504+(o<<2)>>2])for(r=b<<(31==(0|o)?0:25-(o>>>1|0)|0),A=0;;){if(!(f>>>0<=(n=(-8&y2[i+4>>2])-b|0)>>>0||(a=i,f=n))){f=0,A=i;break u}if(n=y2[i+20>>2],i=y2[16+((r>>>29&4)+i|0)>>2],A=!n||(0|n)==(0|i)?A:n,r<<=0!=(0|i),!i)break}else A=0;if(!(A|a)){if(!(A=(0-(A=2<>>12&16,A=y2[25504+(((i=(i|=A=(r=r>>>A|0)>>>5&8)|(A=(r=r>>>A|0)>>>2&4)|(A=(r=r>>>A|0)>>>1&2))|(A=(r=r>>>A|0)>>>1&1))+(r>>>A|0)<<2)>>2]}if(!A)break k}for(;;)if(f=(i=(r=(-8&y2[A+4>>2])-b|0)>>>0>>0)?r:f,a=i?A:a,!(A=(r=y2[A+16>>2])||y2[A+20>>2]))break}if(a&&!(y2[6302]-b>>>0<=f>>>0)){if(o=y2[a+24>>2],(0|a)!=(0|(r=y2[a+12>>2]))){A=y2[a+8>>2],y2[r+8>>2]=A,y2[A+12>>2]=r;break r}if(!(A=y2[(i=a+20|0)>>2])){if(!(A=y2[a+16>>2]))break t;i=a+16|0}for(;;)if(n=i,!((A=y2[(i=(r=A)+20|0)>>2])||(i=r+16|0,A=y2[r+16>>2])))break;y2[n>>2]=0;break r}}}if(b>>>0<=(f=y2[6302])>>>0){i=y2[6305],16<=(r=f-b|0)>>>0?(y2[(A=i+b|0)+4>>2]=1|r,y2[6302]=r,y2[6305]=A,y2[f+i>>2]=r,y2[i+4>>2]=3|b):(y2[i+4>>2]=3|f,y2[(A=f+i|0)+4>>2]=1|y2[A+4>>2],y2[6305]=0,y2[6302]=0),A=i+8|0;break A}if(b>>>0<(t=y2[6303])>>>0){f=y2[6306],y2[(r=f+b|0)+4>>2]=1|(A=t-b|0),y2[6303]=A,y2[6306]=r,y2[f+4>>2]=3|b,A=f+8|0;break A}if((f=(a=(r=o=b+71|(A=0))+(f=y2[6418]?y2[6420]:(y2[6421]=-1,y2[6422]=-1,y2[6419]=65536,y2[6420]=65536,y2[6418]=12+e&-16^1431655768,y2[6423]=0,y2[6411]=0,65536))|0)&(i=0-f|0))>>>0<=b>>>0){y2[6424]=48;break A}if((r=y2[6410])&&!((n=(A=y2[6408])+f|0)>>>0<=r>>>0&&A>>>0>>0)){A=0,y2[6424]=48;break A}if(4&U2[25644])break a;c:{k:{if(n=y2[6306])for(A=25648;;){if(n>>>0<(r=y2[A>>2])+y2[A+4>>2]>>>0&&r>>>0<=n>>>0)break k;if(!(A=y2[A+8>>2]))break}if(-1==(0|(r=h(0))))break n;if(n=f,(n=(A=(i=y2[6419])-1|0)&r?(f-r|0)+(A+r&0-i)|0:n)>>>0<=b>>>0)break n;if(2147483646>>0)break n;if(i=y2[6410]){if((a=(A=y2[6408])+n|0)>>>0<=A>>>0)break n;if(i>>>0>>0)break n}if((0|r)!=(0|(A=h(n))))break c;break i}if(2147483646<(n=i&a-t)>>>0)break n;if((0|(r=h(n)))==(y2[A>>2]+y2[A+4>>2]|0))break b;A=r}if(r=A,!(b+72>>>0<=n>>>0||2147483646>>0||-1==(0|r))){if(2147483646<(A=(A=y2[6420])+(o-n|0)&0-A)>>>0)break i;if(-1!=(0|h(A))){n=A+n|0;break i}h(0-n|0);break n}if(-1!=(0|r))break i;break n}a=0;break e}r=0;break r}if(-1!=(0|r))break i}y2[6411]=4|y2[6411]}if(2147483646>>0)break f;if(r=h(f),(A=h(0))>>>0<=r>>>0)break f;if(-1==(0|r))break f;if(-1==(0|A))break f;if((n=A-r|0)>>>0<=b+56>>>0)break f}A=y2[6408]+n|0,(y2[6408]=A)>>>0>X[6409]&&(y2[6409]=A);i:{a:{n:{if(t=y2[6306]){for(A=25648;;){if(((f=y2[A>>2])+(a=y2[A+4>>2])|0)==(0|r))break n;if(!(A=y2[A+8>>2]))break}break a}for((A=y2[6304])>>>0<=r>>>0&&A||(y2[6304]=r),A=0,y2[6413]=n,y2[6412]=r,y2[6308]=-1,y2[6309]=y2[6418],y2[6415]=0;;)if(y2[A+25248>>2]=f=A+25240|0,y2[A+25252>>2]=f,256==(0|(A=A+8|0)))break;y2[(i=(A=r+8&15?-8-r&15:0)+r|0)+4>>2]=1|(A=(f=n-56|0)-A|0),y2[6307]=y2[6422],y2[6303]=A,y2[6306]=i,y2[4+(r+f|0)>>2]=56;break i}if(!(8&U2[A+12|0])&&!(r>>>0<=t>>>0||t>>>0>>0)){f=y2[6303]+n|0,y2[(i=(r=t+8&15?-8-t&15:0)+t|0)+4>>2]=1|(r=f-r|0),y2[A+4>>2]=a+n,y2[6307]=y2[6422],y2[6303]=r,y2[6306]=i,y2[4+(f+t|0)>>2]=56;break i}}r>>>0<(a=y2[6304])>>>0&&(y2[6304]=r,a=0),f=r+n|0,A=25648;a:{n:{b:{t:{o:{c:{for(;;){if((0|f)==y2[A>>2])break;if(!(A=y2[A+8>>2]))break c}if(!(8&U2[A+12|0]))break o}for(A=25648;;){if((f=y2[A>>2])>>>0<=t>>>0&&t>>>0<(a=f+y2[A+4>>2]|0)>>>0)break t;A=y2[A+8>>2]}}if(y2[A>>2]=r,y2[A+4>>2]=y2[A+4>>2]+n,y2[(k=(r+8&15?-8-r&15:0)+r|0)+4>>2]=3|b,A=((r=f+(f+8&15?-8-f&15:0)|0)-k|0)-b|0,o=b+k|0,(0|r)==(0|t)){y2[6306]=o,A=y2[6303]+A|0,y2[6303]=A,y2[o+4>>2]=1|A;break n}if(y2[6305]==(0|r)){y2[6305]=o,A=y2[6302]+A|0,y2[6302]=A,y2[o+4>>2]=1|A,y2[A+o>>2]=A;break n}if(1==(3&(f=y2[r+4>>2]))){t=-8&f;o:if(f>>>0<=255)a=y2[r+8>>2],f=f>>>3|0,(0|(i=y2[r+12>>2]))==(0|a)?(u=y2[6300]&V6(f),y2[25200>>2]=u):(y2[i+8>>2]=a,y2[a+12>>2]=i);else{if(c=y2[r+24>>2],(0|(n=y2[r+12>>2]))!=(0|r))f=y2[r+8>>2],y2[n+8>>2]=f,y2[f+12>>2]=n;else if((b=y2[(i=r+20|0)>>2])||(b=y2[(i=r+16|0)>>2])){for(;;)if(f=i,!((b=y2[(i=(n=b)+20|0)>>2])||(i=n+16|0,b=y2[n+16>>2])))break;y2[f>>2]=0}else n=0;if(c){i=y2[r+28>>2];c:{if(y2[(f=25504+(i<<2)|0)>>2]==(0|r)){if(y2[f>>2]=n)break c;u=y2[6301]&V6(i),y2[25204>>2]=u;break o}if(!(y2[c+(y2[c+16>>2]==(0|r)?16:20)>>2]=n))break o}y2[n+24>>2]=c,(f=y2[r+16>>2])&&(y2[n+16>>2]=f,y2[f+24>>2]=n),(f=y2[r+20>>2])&&(y2[n+20>>2]=f,y2[f+24>>2]=n)}}r=r+t|0,A=A+t|0}if(y2[r+4>>2]=-2&y2[r+4>>2],y2[A+o>>2]=A,y2[o+4>>2]=1|A,A>>>0<=255){r=25240+((A=A>>>3|0)<<3)|0,A=(f=y2[6300])&(A=1<>2]:(y2[6300]=A|f,r),y2[A+12>>2]=o,y2[r+8>>2]=o,y2[o+12>>2]=r,y2[o+8>>2]=A;break n}if((i=A>>>8|(r=0))&&(r=31,16777215>>0||(r=i,r=28+((r=((r=(r<<=i=i+1048320>>>16&8)<<(b=r+520192>>>16&4))<<(a=r+245760>>>16&2)>>>15|0)-(a|i|b)|0)<<1|A>>>r+21&1)|0)),y2[(n=f=o)+28>>2]=r,y2[f+16>>2]=0,b=25504+(r<<2)|(y2[f+20>>2]=0),!((a=y2[6301])&(i=1<>2]=f,y2[6301]=i|a,y2[f+24>>2]=b,y2[f+8>>2]=f,y2[f+12>>2]=f;break n}for(i=A<<(31==(0|r)?0:25-(r>>>1|0)|0),r=y2[b>>2];;){if((-8&y2[(a=r)+4>>2])==(0|A))break b;if(r=i>>>29|0,i<<=1,!(r=y2[(b=16+(a+(4&r)|0)|0)>>2]))break}y2[b>>2]=f,y2[f+24>>2]=a,y2[f+12>>2]=f,y2[f+8>>2]=f;break n}for(y2[(i=(f=r+8&15?-8-r&15:0)+r|0)+4>>2]=1|(f=(A=n-56|0)-f|0),y2[4+(A+r|0)>>2]=56,y2[(o=(A=(a+(a-55&15?55-a&15:0)|0)-63|0)>>>0>>0?t:A)+4>>2]=35,y2[6307]=y2[6422],y2[6303]=f,y2[6306]=i,A=y2[6415],y2[(f=o+16|0)>>2]=y2[6414],y2[f+4>>2]=A,A=y2[6413],y2[o+8>>2]=y2[6412],y2[o+12>>2]=A,y2[6414]=o+8,y2[6413]=n,y2[6412]=r,A=o+36|(y2[6415]=0);;)if(y2[A>>2]=7,!((A=A+4|0)>>>0>>0))break;if((0|t)==(0|o))break i;if(y2[o+4>>2]=-2&y2[o+4>>2],y2[o>>2]=n=o-t|0,y2[t+4>>2]=1|n,n>>>0<=255){r=25240+((A=n>>>3|0)<<3)|0,A=(f=y2[6300])&(A=1<>2]:(y2[6300]=A|f,r),y2[A+12>>2]=t,y2[r+8>>2]=t,y2[t+12>>2]=r,y2[t+8>>2]=A;break i}if(y2[t+16>>2]=0,(r=n>>>8|(A=y2[t+20>>2]=0))&&(A=31,16777215>>0||(A=r,A=28+((A=((A=(A<<=r=r+1048320>>>16&8)<<(a=A+520192>>>16&4))<<(i=A+245760>>>16&2)>>>15|0)-(i|r|a)|0)<<1|n>>>A+21&1)|0)),i=25504+((y2[(f=t+28|0)>>2]=A)<<2)|0,!((f=y2[6301])&(r=1<>2]=t,y2[6301]=r|f,y2[t+24>>2]=i,y2[t+8>>2]=t,y2[t+12>>2]=t;break i}for(A=n<<(31==(0|A)?0:25-(A>>>1|0)|0),r=y2[i>>2];;){if((0|n)==(-8&y2[(f=r)+4>>2]))break a;if(r=A>>>29|0,A<<=1,!(r=y2[(i=16+(f+(4&r)|0)|0)>>2]))break}y2[i>>2]=t,y2[t+24>>2]=f,y2[t+12>>2]=t,y2[t+8>>2]=t;break i}A=y2[a+8>>2],y2[a+8>>2]=f,y2[A+12>>2]=f,y2[f+24>>2]=0,y2[f+8>>2]=A,y2[f+12>>2]=a}A=k+8|0;break A}A=y2[f+8>>2],y2[f+8>>2]=t,y2[A+12>>2]=t,y2[t+24>>2]=0,y2[t+8>>2]=A,y2[t+12>>2]=f}if(!((A=y2[6303])>>>0<=b>>>0)){f=y2[6306],y2[(r=f+b|0)+4>>2]=1|(A=A-b|0),y2[6303]=A,y2[6306]=r,y2[f+4>>2]=3|b,A=f+8|0;break A}}A=0,y2[6424]=48;break A}r:if(o){i=y2[a+28>>2];f:{if(y2[(A=25504+(i<<2)|0)>>2]==(0|a)){if(y2[A>>2]=r)break f;t=V6(i)&t,y2[6301]=t;break r}if(!(y2[o+(y2[o+16>>2]==(0|a)?16:20)>>2]=r))break r}y2[r+24>>2]=o,(A=y2[a+16>>2])&&(y2[r+16>>2]=A,y2[A+24>>2]=r),(A=y2[a+20>>2])&&(y2[r+20>>2]=A,y2[A+24>>2]=r)}r:if(f>>>0<=15)y2[a+4>>2]=3|(A=f+b|0),y2[(A=A+a|0)+4>>2]=1|y2[A+4>>2];else if(y2[(i=a+b|0)+4>>2]=1|f,y2[a+4>>2]=3|b,(y2[f+i>>2]=f)>>>0<=255)r=25240+((A=f>>>3|0)<<3)|0,A=(f=y2[6300])&(A=1<>2]:(y2[6300]=A|f,r),y2[A+12>>2]=i,y2[r+8>>2]=i,y2[i+12>>2]=r,y2[i+8>>2]=A;else if(r=i,(i=f>>>8|(A=0))&&(A=31,16777215>>0||(A=i,A=28+((A=((A=(A<<=i=i+1048320>>>16&8)<<(n=A+520192>>>16&4))<<(b=A+245760>>>16&2)>>>15|0)-(b|i|n)|0)<<1|f>>>A+21&1)|0)),y2[(o=r)+28>>2]=A,y2[r+16>>2]=0,b=25504+(A<<2)|(y2[r+20>>2]=0),(i=1<>>1|0)|0),b=y2[b>>2];f:{for(;;){if((-8&y2[(i=b)+4>>2])==(0|f))break f;if(b=A>>>29|0,A<<=1,!(b=y2[(n=16+(i+(4&b)|0)|0)>>2]))break}y2[n>>2]=r,y2[r+24>>2]=i,y2[r+12>>2]=r,y2[r+8>>2]=r;break r}A=y2[i+8>>2],y2[i+8>>2]=r,y2[A+12>>2]=r,y2[r+24>>2]=0,y2[r+8>>2]=A,y2[r+12>>2]=i}else y2[b>>2]=r,y2[6301]=i|t,y2[r+24>>2]=b,y2[r+8>>2]=r,y2[r+12>>2]=r;A=a+8|0;break A}e:if(k){f=y2[r+28>>2];r:{if(y2[(A=25504+(f<<2)|0)>>2]==(0|r)){if(y2[A>>2]=a)break r;u=V6(f)&t,y2[25204>>2]=u;break e}if(!(y2[k+(y2[k+16>>2]==(0|r)?16:20)>>2]=a))break e}y2[a+24>>2]=k,(A=y2[r+16>>2])&&(y2[a+16>>2]=A,y2[A+24>>2]=a),(A=y2[r+20>>2])&&(y2[a+20>>2]=A,y2[A+24>>2]=a)}i>>>0<=15?(y2[r+4>>2]=3|(A=i+b|0),y2[(A=A+r|0)+4>>2]=1|y2[A+4>>2]):(y2[(a=r+b|0)+4>>2]=1|i,y2[r+4>>2]=3|b,y2[i+a>>2]=i,c&&(f=25240+((A=c>>>3|0)<<3)|0,b=y2[6305],A=(A=1<>2]:(y2[6300]=A|n,f),y2[A+12>>2]=b,y2[f+8>>2]=b,y2[b+12>>2]=f,y2[b+8>>2]=A),y2[6305]=a,y2[6302]=i),A=r+8|0}return L2=16+e|0,A}function $2(A){var e,r=0,f=0,i=0,a=0,n=0,b=0,t=0;A:if(A){e=(f=A-8|0)+(a=-8&(A=y2[A-4>>2]))|0;e:if(!(1&A)){if(!(3&A))break A;if((f=f-(A=y2[f>>2])|0)>>>0>>0<=255)i=A>>>3|0,A=y2[f+8>>2],(0|(r=y2[f+12>>2]))==(0|A)?(t=y2[6300]&V6(i),y2[25200>>2]=t):(y2[r+8>>2]=A,y2[A+12>>2]=r);else{if(b=y2[f+24>>2],(0|f)!=(0|(A=y2[f+12>>2])))r=y2[f+8>>2],y2[A+8>>2]=r,y2[r+12>>2]=A;else if((i=y2[(r=f+20|0)>>2])||(i=y2[(r=f+16|0)>>2])){for(;;)if(n=r,!((i=y2[(r=(A=i)+20|0)>>2])||(r=A+16|0,i=y2[A+16>>2])))break;y2[n>>2]=0}else A=0;if(b){r=y2[f+28>>2];r:{if(y2[(i=25504+(r<<2)|0)>>2]==(0|f)){if(y2[i>>2]=A)break r;t=y2[6301]&V6(r),y2[25204>>2]=t;break e}if(!(y2[b+(y2[b+16>>2]==(0|f)?16:20)>>2]=A))break e}y2[A+24>>2]=b,(r=y2[f+16>>2])&&(y2[A+16>>2]=r,y2[r+24>>2]=A),(r=y2[f+20>>2])&&(y2[A+20>>2]=r,y2[r+24>>2]=A)}}}else if(3==(3&(A=y2[4+e>>2]))){y2[4+e>>2]=-2&A,y2[6302]=a,y2[f+a>>2]=a,y2[f+4>>2]=1|a;break A}}if(!(e>>>0<=f>>>0)&&1&(A=y2[4+e>>2])){e:{if(!(2&A)){if(y2[6306]==(0|e)){if(y2[6306]=f,A=y2[6303]+a|0,y2[6303]=A,y2[f+4>>2]=1|A,y2[6305]!=(0|f))break A;y2[6302]=0,y2[6305]=0;break A}if(y2[6305]==(0|e)){y2[6305]=f,A=y2[6302]+a|0,y2[6302]=A,y2[f+4>>2]=1|A,y2[A+f>>2]=A;break A}a=(-8&A)+a|0;r:if(A>>>0<=255)A=A>>>3|0,(0|(i=y2[8+e>>2]))==(0|(r=y2[12+e>>2]))?(t=y2[6300]&V6(A),y2[25200>>2]=t):(y2[r+8>>2]=i,y2[i+12>>2]=r);else{if(b=y2[24+e>>2],(0|e)!=(0|(A=y2[12+e>>2])))r=y2[8+e>>2],y2[A+8>>2]=r,y2[r+12>>2]=A;else if((i=y2[(r=20+e|0)>>2])||(i=y2[(r=16+e|0)>>2])){for(;;)if(n=r,!((i=y2[(r=(A=i)+20|0)>>2])||(r=A+16|0,i=y2[A+16>>2])))break;y2[n>>2]=0}else A=0;if(b){r=y2[28+e>>2];f:{if(y2[(i=25504+(r<<2)|0)>>2]==(0|e)){if(y2[i>>2]=A)break f;t=y2[6301]&V6(r),y2[25204>>2]=t;break r}if(!(y2[b+(y2[b+16>>2]==(0|e)?16:20)>>2]=A))break r}y2[A+24>>2]=b,(r=y2[16+e>>2])&&(y2[A+16>>2]=r,y2[r+24>>2]=A),(r=y2[20+e>>2])&&(y2[A+20>>2]=r,y2[r+24>>2]=A)}}if(y2[f+a>>2]=a,y2[f+4>>2]=1|a,y2[6305]!=(0|f))break e;y2[6302]=a;break A}y2[4+e>>2]=-2&A,y2[f+a>>2]=a,y2[f+4>>2]=1|a}if(a>>>0<=255)A=25240+((r=a>>>3|0)<<3)|0,r=(i=y2[6300])&(r=1<>2]:(y2[6300]=r|i,A),y2[r+12>>2]=f,y2[A+8>>2]=f,y2[f+12>>2]=A,y2[f+8>>2]=r;else{y2[f+16>>2]=0,(r=a>>>8|(A=y2[f+20>>2]=0))&&(A=31,16777215>>0||(A=28+((A=((e=(r<<=n=r+1048320>>>16&8)<<(A=r+520192>>>16&4))<<(r=245760+e>>>16&2)>>>15|0)-(r|A|n)|0)<<1|a>>>A+21&1)|0)),i=25504+((y2[(i=f+28|0)>>2]=A)<<2)|0;e:if((r=y2[6301])&(n=1<>>1|0)|0),A=y2[i>>2];r:{for(;;){if((-8&y2[(i=A)+4>>2])==(0|a))break r;if(A=r>>>29|0,r<<=1,!(A=y2[(n=16+(i+(4&A)|0)|0)>>2]))break}y2[n>>2]=f,y2[f+24>>2]=i,y2[f+12>>2]=f,y2[f+8>>2]=f;break e}A=y2[i+8>>2],y2[i+8>>2]=f,y2[A+12>>2]=f,y2[f+24>>2]=0,y2[f+8>>2]=A,y2[f+12>>2]=i}else y2[i>>2]=f,y2[6301]=r|n,y2[f+24>>2]=i,y2[f+8>>2]=f,y2[f+12>>2]=f;if(A=y2[6308]-1|0,!(y2[6308]=A)){for(f=25656;;)if(f=(A=y2[f>>2])+8|0,!A)break;y2[6308]=-1}}}}}function E(A,e){var r=0,f=0,i=0,a=0,n=0,b=0,t=A+e|0;A:{e:if(!(1&(r=y2[A+4>>2]))){if(!(3&r))break A;if(e=(r=y2[A>>2])+e|0,(0|(A=A-r|0))!=y2[6305]){if(r>>>0<=255)i=r>>>3|0,r=y2[A+8>>2],(0|(f=y2[A+12>>2]))==(0|r)?(b=y2[6300]&V6(i),y2[25200>>2]=b):(y2[f+8>>2]=r,y2[r+12>>2]=f);else{if(n=y2[A+24>>2],(0|(r=y2[A+12>>2]))!=(0|A))f=y2[A+8>>2],y2[r+8>>2]=f,y2[f+12>>2]=r;else if((i=y2[(f=A+20|0)>>2])||(i=y2[(f=A+16|0)>>2])){for(;;)if(a=f,!((i=y2[(f=(r=i)+20|0)>>2])||(f=r+16|0,i=y2[r+16>>2])))break;y2[a>>2]=0}else r=0;if(n){f=y2[A+28>>2];r:{if(y2[(i=25504+(f<<2)|0)>>2]==(0|A)){if(y2[i>>2]=r)break r;b=y2[6301]&V6(f),y2[25204>>2]=b;break e}if(!(y2[n+(y2[n+16>>2]==(0|A)?16:20)>>2]=r))break e}y2[r+24>>2]=n,(f=y2[A+16>>2])&&(y2[r+16>>2]=f,y2[f+24>>2]=r),(f=y2[A+20>>2])&&(y2[r+20>>2]=f,y2[f+24>>2]=r)}}}else if(3==(3&(r=y2[4+t>>2])))return y2[4+t>>2]=-2&r,y2[6302]=e,y2[t>>2]=e,void(y2[A+4>>2]=1|e)}e:{if(!(2&(r=y2[4+t>>2]))){if(y2[6306]==(0|t)){if(y2[6306]=A,e=y2[6303]+e|0,y2[6303]=e,y2[A+4>>2]=1|e,y2[6305]!=(0|A))break A;return y2[6302]=0,void(y2[6305]=0)}if(y2[6305]==(0|t))return y2[6305]=A,e=y2[6302]+e|0,y2[6302]=e,y2[A+4>>2]=1|e,void(y2[A+e>>2]=e);e=(-8&r)+e|0;r:if(r>>>0<=255)i=r>>>3|0,r=y2[8+t>>2],(0|(f=y2[12+t>>2]))==(0|r)?(b=y2[6300]&V6(i),y2[25200>>2]=b):(y2[f+8>>2]=r,y2[r+12>>2]=f);else{if(n=y2[24+t>>2],(0|t)!=(0|(r=y2[12+t>>2])))f=y2[8+t>>2],y2[r+8>>2]=f,y2[f+12>>2]=r;else if((i=y2[(f=20+t|0)>>2])||(i=y2[(f=16+t|0)>>2])){for(;;)if(a=f,!((i=y2[(f=(r=i)+20|0)>>2])||(f=r+16|0,i=y2[r+16>>2])))break;y2[a>>2]=0}else r=0;if(n){f=y2[28+t>>2];f:{if(y2[(i=25504+(f<<2)|0)>>2]==(0|t)){if(y2[i>>2]=r)break f;b=y2[6301]&V6(f),y2[25204>>2]=b;break r}if(!(y2[n+(y2[n+16>>2]==(0|t)?16:20)>>2]=r))break r}y2[r+24>>2]=n,(f=y2[16+t>>2])&&(y2[r+16>>2]=f,y2[f+24>>2]=r),(f=y2[20+t>>2])&&(y2[r+20>>2]=f,y2[f+24>>2]=r)}}if(y2[A+e>>2]=e,y2[A+4>>2]=1|e,y2[6305]!=(0|A))break e;return void(y2[6302]=e)}y2[4+t>>2]=-2&r,y2[A+e>>2]=e,y2[A+4>>2]=1|e}if(e>>>0<=255)return e=25240+((r=e>>>3|0)<<3)|0,r=(f=y2[6300])&(r=1<>2]:(y2[6300]=r|f,e),y2[r+12>>2]=A,y2[e+8>>2]=A,y2[A+12>>2]=e,void(y2[A+8>>2]=r);if(y2[A+16>>2]=0,(f=e>>>8|(r=y2[A+20>>2]=0))&&(r=31,16777215>>0||(r=28+((r=((t=(f<<=a=f+1048320>>>16&8)<<(r=f+520192>>>16&4))<<(f=245760+t>>>16&2)>>>15|0)-(f|r|a)|0)<<1|e>>>r+21&1)|0)),i=25504+((y2[(i=A+28|0)>>2]=r)<<2)|0,!((f=y2[6301])&(a=1<>2]=A,y2[6301]=f|a,y2[A+24>>2]=i,y2[A+8>>2]=A,void(y2[A+12>>2]=A);f=e<<(31==(0|r)?0:25-(r>>>1|0)|0),r=y2[i>>2];e:{for(;;){if((-8&y2[(i=r)+4>>2])==(0|e))break e;if(r=f>>>29|0,f<<=1,!(r=y2[(a=16+(i+(4&r)|0)|0)>>2]))break}return y2[a>>2]=A,y2[A+24>>2]=i,y2[A+12>>2]=A,void(y2[A+8>>2]=A)}e=y2[i+8>>2],y2[i+8>>2]=A,y2[e+12>>2]=A,y2[A+24>>2]=0,y2[A+8>>2]=e,y2[A+12>>2]=i}}function Q(){U()}function h(A){return A?65535&A||(0|A)<=-1?void U():-1==(0|(A=p6(A>>>16|0)))?(y2[6424]=48,-1):A<<16:x6()<<16}function G(A){var e,r=0,f=0;if(r=(r=y2[6425])||(y2[6425]=25708),32==(0|(f=y2[6426]))){if((e=q2(260))&&3&U2[e-4|0]&&v2(e,0,260),!e)return;f=0,y2[6425]=e,y2[e>>2]=r,y2[6426]=0,r=e}y2[6426]=f+1,y2[(r=(f<<2)+r|0)+132>>2]=0,y2[r+4>>2]=A}function v2(A,e,r){var f,i,a,n;if(r&&(X2[0|A]=e,X2[(f=A+r|0)-1|0]=e,!(r>>>0<3||(X2[A+2|0]=e,X2[A+1|0]=e,X2[f-3|0]=e,X2[f-2|0]=e,r>>>0<7)||(X2[A+3|0]=e,X2[f-4|0]=e,r>>>0<9)||(a=(f=0-A&3)+A|0,e=P2(255&e,16843009),y2[a>>2]=e,y2[(f=(r=r-f&-4)+a|0)-4>>2]=e,r>>>0<9)||(y2[8+a>>2]=e,y2[4+a>>2]=e,y2[f-8>>2]=e,y2[f-12>>2]=e,r>>>0<25)||(y2[24+a>>2]=e,y2[20+a>>2]=e,y2[16+a>>2]=e,y2[12+a>>2]=e,y2[f-16>>2]=e,y2[f-20>>2]=e,y2[f-24>>2]=e,y2[f-28>>2]=e,(r=r-(i=4&a|24)|0)>>>0<32))))for(n=f=e,e=a+i|0;;)if(y2[e>>2]=n,y2[e+4>>2]=f,y2[(i=e+24|0)>>2]=n,y2[4+i>>2]=f,y2[(i=e+16|0)>>2]=n,y2[4+i>>2]=f,y2[(i=e+8|0)>>2]=n,y2[4+i>>2]=f,e=e+32|0,!(31<(r=r-32|0)>>>0))break;return A}function A0(A,e,r){var f=0,i=0,a=0,n=0,b=0,t=0,o=0;A:if(r&&3&e)for(;;){if(X2[0|A]=U2[0|e],f=r-1|0,A=A+1|0,e=e+1|0,1==(0|r))break A;if(r=f,!(3&e))break}else f=r;if(r=3&A){A:if(!(f>>>0<32||2<(r=r-1|0)>>>0)){e:switch(r-1|0){default:for(X2[A+1|0]=U2[e+1|0],i=y2[e>>2],X2[0|A]=i,X2[A+2|0]=U2[e+2|0],b=f-3|0,t=A+3|0,o=f-20&-16,r=0;;)if(a=y2[(n=e+r|0)+4>>2],y2[(A=r+t|0)>>2]=a<<8|i>>>24,i=y2[n+8>>2],y2[A+4>>2]=i<<8|a>>>24,a=y2[n+12>>2],y2[A+8>>2]=a<<8|i>>>24,i=y2[n+16>>2],y2[A+12>>2]=i<<8|a>>>24,r=r+16|0,!(16<(b=b-16|0)>>>0))break;A=r+t|0,e=3+(e+r|0)|0,f=(f-o|0)-19|0;break A;case 0:for(i=y2[e>>2],X2[0|A]=i,X2[A+1|0]=U2[e+1|0],b=f-2|0,t=A+2|0,o=f-20&-16,r=0;;)if(a=y2[(n=e+r|0)+4>>2],y2[(A=r+t|0)>>2]=a<<16|i>>>16,i=y2[n+8>>2],y2[A+4>>2]=i<<16|a>>>16,a=y2[n+12>>2],y2[A+8>>2]=a<<16|i>>>16,i=y2[n+16>>2],y2[A+12>>2]=i<<16|a>>>16,r=r+16|0,!(17<(b=b-16|0)>>>0))break;A=r+t|0,e=2+(e+r|0)|0,f=(f-o|0)-18|0;break A;case 1:break e;}for(i=y2[e>>2],X2[0|A]=i,b=f-1|0,t=A+1|0,o=f-20&-16,r=0;;)if(a=y2[(n=e+r|0)+4>>2],y2[(A=r+t|0)>>2]=a<<24|i>>>8,i=y2[n+8>>2],y2[A+4>>2]=i<<24|a>>>8,a=y2[n+12>>2],y2[A+8>>2]=a<<24|i>>>8,i=y2[n+16>>2],y2[A+12>>2]=i<<24|a>>>8,r=r+16|0,!(18<(b=b-16|0)>>>0))break;A=r+t|0,e=1+(e+r|0)|0,f=(f-o|0)-17|0}16&f&&(r=U2[0|e]|U2[e+1|0]<<8,X2[0|A]=r,X2[A+1|0]=r>>>8,X2[A+2|0]=U2[e+2|0],X2[A+3|0]=U2[e+3|0],X2[A+4|0]=U2[e+4|0],X2[A+5|0]=U2[e+5|0],X2[A+6|0]=U2[e+6|0],X2[A+7|0]=U2[e+7|0],X2[A+8|0]=U2[e+8|0],X2[A+9|0]=U2[e+9|0],X2[A+10|0]=U2[e+10|0],X2[A+11|0]=U2[e+11|0],X2[A+12|0]=U2[e+12|0],X2[A+13|0]=U2[e+13|0],X2[A+14|0]=U2[e+14|0],X2[A+15|0]=U2[e+15|0],e=e+16|0,A=A+16|0),8&f&&(X2[0|A]=U2[0|e],X2[A+1|0]=U2[e+1|0],X2[A+2|0]=U2[e+2|0],X2[A+3|0]=U2[e+3|0],X2[A+4|0]=U2[e+4|0],X2[A+5|0]=U2[e+5|0],X2[A+6|0]=U2[e+6|0],X2[A+7|0]=U2[e+7|0],e=e+8|0,A=A+8|0),4&f&&(X2[0|A]=U2[0|e],X2[A+1|0]=U2[e+1|0],X2[A+2|0]=U2[e+2|0],X2[A+3|0]=U2[e+3|0],e=e+4|0,A=A+4|0),2&f&&(X2[0|A]=U2[0|e],X2[A+1|0]=U2[e+1|0],e=e+2|0,A=A+2|0),1&f&&(X2[0|A]=U2[0|e])}else{if(f>>>0<16)r=f;else for(r=f-16|0;;)if(y2[A>>2]=y2[e>>2],y2[A+4>>2]=y2[e+4>>2],y2[A+8>>2]=y2[e+8>>2],y2[A+12>>2]=y2[e+12>>2],A=A+16|0,e=e+16|0,!(15<(f=f-16|0)>>>0))break;if(8&r&&(f=y2[e+4>>2],y2[A>>2]=y2[e>>2],y2[A+4>>2]=f,e=e+8|0,A=A+8|0),4&r&&(y2[A>>2]=y2[e>>2],e=e+4|0,A=A+4|0),2&r&&(X2[0|A]=U2[0|e],X2[A+1|0]=U2[e+1|0],e=e+2|0,A=A+2|0),1&r)return void(X2[0|A]=U2[0|e])}}function j(A){var e,r=0,f=(j2(0),0);A:{e:{if(Q2(A),1065353216<=(e=2147483647&(f=w2[2]))>>>0){if(1065353216!=(0|e))break e;return j2(1.5707963267948966*+A+752316384526264e-51)}if(e>>>0<=1056964607){if(e-8388608>>>0<956301312)break A;return e=j2(A*A),j2(j2(j2(j2(e*j2(j2(e*j2(j2(e*j2(-.008656363002955914))+j2(-.04274342209100723)))+j2(.16666586697101593)))/j2(j2(e*j2(-.7066296339035034))+j2(1)))*A)+A)}return A=j2(j2(j2(1)-j2(z2(A)))*j2(.5)),r=K2(+A),r+=r*+j2(j2(A*j2(j2(A*j2(j2(A*j2(-.008656363002955914))+j2(-.04274342209100723)))+j2(.16666586697101593)))/j2(j2(A*j2(-.7066296339035034))+j2(1))),A=j2(1.5707963267948966-(r+r)),(0|f)<0?j2(-A):A}A=j2(j2(0)/j2(A-A))}return A}function F(A){var e,r,f,i=0,a=(j2(0),0),n=0;j2(0),j2(0);Q2(A);A:{if(1283457024<=(i=2147483647&(n=w2[2]))>>>0){if(A!=A)break A;return j2((0|n)<0?-1.570796251296997:1.570796251296997)}e:{if(i>>>0<=1054867455){if(a=-1,964689920<=i>>>0)break e;break A}A=j2(z2(A)),i>>>0<=1066926079?a=i>>>0<=1060110335?(A=j2(j2(j2(A+A)+j2(-1))/j2(A+j2(2))),0):(A=j2(j2(A+j2(-1))/j2(A+j2(1))),1):a=i>>>0<=1075576831?(A=j2(j2(A+j2(-1.5))/j2(j2(A*j2(1.5))+j2(1))),2):(A=j2(j2(-1)/A),3)}if(i=a,r=j2(A*A),e=j2(r*r),f=j2(e*j2(j2(e*j2(-.106480173766613))+j2(-.19999158382415771))),e=j2(r*j2(j2(e*j2(j2(e*j2(.06168760731816292))+j2(.14253635704517365)))+j2(.333333283662796))),(0|i)<=-1)return j2(A-j2(A*j2(f+e)));A=j2(H2[1024+(i<<=2)>>2]-j2(j2(j2(A*j2(f+e))-H2[1040+i>>2])-A)),A=(0|n)<0?j2(-A):A}return A}function G2(A,e){var r,f,i,a=0,n=0,b=j2(0);if(!(e==e&A==A))return j2(A+e);if(Q2(e),1065353216==(0|(a=w2[2])))return F(A);i=a>>>30&2,Q2(A),r=i|(n=w2[2])>>>31;A:{e:{r:{f:{if(!(f=2147483647&n)){i:switch(r-2|0){case 0:break f;case 1:break i;default:break r;}return j2(-3.1415927410125732)}if(2139095040!=(0|(a&=2147483647))){if(!a)break A;if(!(f>>>0<=218103808+a>>>0&&2139095040!=(0|f)))break A;if(A=b=218103808+f>>>0>>0&&(b=j2(0),i)?b:F(j2(z2(j2(A/e)))),r>>>0<=2){i:switch(r-1|0){case 0:return j2(-A);case 1:break i;default:break r;}return j2(j2(3.1415927410125732)-j2(A+j2(8.742277657347586e-8)))}return j2(j2(A+j2(8.742277657347586e-8))+j2(-3.1415927410125732))}if(2139095040==(0|f))break e;return H2[1072+(r<<2)>>2]}A=j2(3.1415927410125732)}return A}return H2[1056+(r<<2)>>2]}return j2((0|n)<0?-1.5707963705062866:1.5707963705062866)}function Y(A){var e;for(y2[12+(L2=e=L2-16|0)>>2]=A|=0,y2[12+e>>2]||(y2[12+e>>2]=1);;){if(A=q2(y2[12+e>>2]),(y2[8+e>>2]=A)||(y2[(A=L2-16|0)+12>>2]=25968,y2[A+8>>2]=2,y2[4+e>>2]=y2[y2[A+12>>2]>>2],!y2[4+e>>2]))break;N2[y2[4+e>>2]]()}return L2=16+e|0,y2[8+e>>2]}function m(A){var e;return y2[12+(L2=e=L2-16|0)>>2]=A|=0,A=Y(y2[12+e>>2]),L2=16+e|0,0|A}function b(A){var e;y2[12+(L2=e=L2-16|0)>>2]=A|=0,$2(y2[12+e>>2]),L2=16+e|0}function N(A,e){e|=0;var r;y2[12+(L2=r=L2-16|0)>>2]=A|=0,y2[8+r>>2]=e,b(y2[12+r>>2]),L2=16+r|0}function R(A){var e;y2[12+(L2=e=L2-16|0)>>2]=A|=0,b(y2[12+e>>2]),L2=16+e|0}function I(A,e){e|=0;var r;y2[12+(L2=r=L2-16|0)>>2]=A|=0,y2[8+r>>2]=e,R(y2[12+r>>2]),L2=16+r|0}function W(A,e){e|=0;var r,f,i,a,n=0,b=0,t=0;for(y2[12+(L2=a=L2-16|0)>>2]=A|=0,y2[8+a>>2]=e,y2[12+a>>2]||(y2[12+a>>2]=1),X[8+a>>2]<4&&(y2[8+a>>2]=4);;){i=4+a|0,n=y2[12+a>>2];A:{if(16==(0|(A=y2[8+a>>2])))A=q2(n);else{if(e=28,3&A)break A;for(b=A>>>2|0,t=0;;){if(!b)break;b&=b-1,t=t+1|0}if(1!=(0|t))break A;if(e=48,-64-A>>>0>>0)break A;if((e=16<(A=16>>0?A:16)>>>0?A:16)-1&e){for(b=32;;)if(b=(A=b)<<1,!(A>>>0>>0))break}else A=e;-64-A>>>0<=n>>>0?(y2[6424]=48,e=0):(n=q2((12|(b=n>>>(e=0)<11?16:n+19&-16))+A|0))&&(e=n-8|0,n&A-1?(t=(-8&(f=y2[(r=n-4|0)>>2]))-(n=(A=15<(n=((A+n|0)-1&0-A)-8|0)-e>>>0?n:A+n|0)-e|0)|0,3&f?(y2[A+4>>2]=t|1&y2[A+4>>2]|2,y2[(t=A+t|0)+4>>2]=1|y2[t+4>>2],y2[r>>2]=n|1&y2[r>>2]|2,y2[A+4>>2]=1|y2[A+4>>2],E(e,n)):(y2[A+4>>2]=t,y2[A>>2]=n+y2[e>>2])):A=e,3&(e=y2[A+4>>2])&&((n=-8&e)>>>0<=b+16>>>0||(y2[A+4>>2]=b|1&e|2,y2[(e=A+b|0)+4>>2]=3|(b=n-b|0),y2[(n=A+n|0)+4>>2]=1|y2[n+4>>2],E(e,b))),e=A+8|0),A=e}e=48,A&&(y2[i>>2]=A,e=0)}if(e){if(y2[(A=L2-16|0)+12>>2]=25968,y2[A+8>>2]=2,y2[a>>2]=y2[y2[A+12>>2]>>2],y2[a>>2]){N2[y2[a>>2]]();continue}y2[4+a>>2]=0}break}return L2=16+a|0,y2[4+a>>2]}function T(A,e){e|=0;var r;return y2[12+(L2=r=L2-16|0)>>2]=A|=0,y2[8+r>>2]=e,A=W(y2[12+r>>2],y2[8+r>>2]),L2=16+r|0,0|A}function V(A,e){e|=0;var r;y2[12+(L2=r=L2-16|0)>>2]=A|=0,y2[8+r>>2]=e,$2(y2[12+r>>2]),L2=16+r|0}function x(A,e){e|=0;var r;y2[12+(L2=r=L2-16|0)>>2]=A|=0,y2[8+r>>2]=e,V(y2[12+r>>2],y2[8+r>>2]),L2=16+r|0}function p(A,e){var r;return y2[12+(r=L2-16|0)>>2]=A,y2[8+r>>2]=e,y2[4+r>>2]=4,y2[r>>2]=y2[y2[12+r>>2]>>2],y2[y2[12+r>>2]>>2]=y2[8+r>>2],y2[r>>2]}function S(){var A,e;y2[12+(e=L2-16|0)>>2]=25080,y2[8+e>>2]=2,y2[12+(L2=A=L2-16|0)>>2]=y2[y2[12+e>>2]>>2],N2[y2[12+A>>2]](),n2(1130),U()}function O(){n2(1170),U()}function K(A,e,r){var f,i=0;return L2=f=L2-16|0,(0|r)<=(i=-1)?y2[6424]=28:(A=0|_(0|A,0|e,0|r,12+f|0))?y2[6424]=A:i=y2[12+f>>2],L2=16+f|0,i}function $(A){var e=y2[A+60>>2];if(y2[A+60>>2]=e-1|e,8&(e=y2[A>>2]))return y2[A>>2]=32|e,1;y2[A+4>>2]=0,y2[A+8>>2]=0,e=y2[A+40>>2],y2[A+24>>2]=e,y2[A+20>>2]=e,y2[A+16>>2]=e+y2[A+44>>2]}function M(A,e,r){var f,i=0,a=0,n=0,b=0;A:{if(!(i=y2[r+16>>2])){if($(r))break A;i=y2[r+16>>2]}if(i-(n=y2[r+20>>2])>>>0>>0)return void N2[y2[r+32>>2]](r,A,e);e:if(!(y2[r+64>>2]<0)){for(i=A;;){if((0|e)==(0|a))break e;if(a=a+1|0,f=e+i|0,i=b=i-1|0,10==U2[f-1|0])break}if(i=A,N2[y2[r+32>>2]](r,i,A=1+(e-a|0)|0)>>>0>>0)break A;A=1+(e+b|0)|0,n=y2[r+20>>2],e=a-1|0}A0(n,A,e),y2[r+20>>2]=y2[r+20>>2]+e}}function r2(A,e){if(!A)return 0;if(A){A:if(e>>>0<=127)X2[0|A]=e,A=1;else{e:{if(!y2[6495]){if(57216!=(-128&e))break e;X2[0|A]=e,A=1;break A}if(e>>>0<=2047){X2[A+1|0]=63&e|128,X2[0|A]=e>>>6|192,A=2;break A}if(!(57344!=(-8192&e)&&55296<=e>>>0)){X2[A+2|0]=63&e|128,X2[0|A]=e>>>12|224,X2[A+1|0]=e>>>6&63|128,A=3;break A}if(e-65536>>>0<=1048575){X2[A+3|0]=63&e|128,X2[0|A]=e>>>18|240,X2[A+2|0]=e>>>6&63|128,X2[A+1|0]=e>>>12&63|128,A=4;break A}}y2[6424]=25,A=-1}}else A=1;return A}function f2(A,e,r){var f,i,a=0;if(y2[204+(L2=i=L2-208|0)>>2]=r,y2[(f=192+i|0)>>2]=0,y2[4+f>>2]=0,y2[(f=184+i|0)>>2]=0,y2[4+f>>2]=0,y2[(f=176+i|0)>>2]=0,y2[4+f>>2]=0,y2[168+i>>2]=0,y2[172+i>>2]=0,y2[160+i>>2]=0,y2[164+i>>2]=0,y2[200+i>>2]=r,0<=(0|i2(0,e,200+i|0,80+i|0,160+i|0))){f=y2[A>>2],y2[A+60>>2]<=0&&(y2[A>>2]=-33&f);A:{e:{if(y2[A+44>>2]){if(y2[A+16>>2])break e}else y2[A+44>>2]=80,y2[A+24>>2]=0,y2[A+16>>2]=0,y2[A+20>>2]=0,a=y2[A+40>>2],y2[A+40>>2]=i;if($(A))break A}i2(A,e,200+i|0,80+i|0,160+i|0)}a&&(N2[y2[A+32>>2]](A,0,0),y2[A+44>>2]=0,y2[A+40>>2]=a,y2[A+24>>2]=0,y2[A+16>>2]=0,y2[A+20>>2]=0),y2[A>>2]=y2[A>>2]|32&f}L2=208+i|0}function i2(A,e,r,f,i){var a,n=0,b=0,t=0,o=0,c=0,k=0,u=0,l=0,s=0,v=0,B=0,d=0,_=0,g=0,Z=0,C=0,w=0,E=0,Q=0,h=0,G=0,F=0,D=0,Y=0,m=0,N=0,V=336+(L2=a=L2-880|0)|8,x=55+a|0,p=-338-a|0,R=336+a|9,S=656+a|0,I=336+a|0,W=-336-a|0,T=56+a|0;A:{e:{r:for(;;){f:if(o=e,!((2147483647-C|0)<(0|n))){C=n+C|0;i:{a:{n:{if(n=U2[0|o])for(;;){b:{t:if(n&=255){if(37!=(0|n))break b;for(n=b=e;;){if(37!=U2[n+1|0]){e=n;break t}if(b=b+1|0,t=U2[n+2|0],n=e=n+2|0,37!=(0|t))break}}else b=e;if((0|(w=2147483647-C|0))<(0|(n=b-o|0)))break f;if(!A||32&U2[0|A]||M(o,n,A),n)continue r;t=-1,9<(k=(c=X2[n=e+1|0])-48|0)>>>0||(n=(b=36==U2[e+2|0])?e+3|0:n,G=b?1:G,c=X2[(b?3:1)+e|0],t=b?k:-1);t:if(31<(e=c-32|(b=0))>>>0)e=n;else if(75913&(u=1<>>0)break t;if(n=e,!(75913&(u=1<>>0||36!=U2[e+2|0]){if(G)break n;if(k=e+1|0,!A){v=G=0;break t}e=y2[r>>2],y2[r>>2]=e+4,G=0,v=y2[e>>2]}else y2[(n<<2)+i>>2]=10,k=e+3|0,v=y2[((X2[e+(G=1)|0]<<3)+f|0)-384>>2];-1<(0|v)||(v=0-v|0,b|=8192)}else if(9<(u=c-48|(v=0))>>>0)k=e;else{for(n=0;;)if(v=-1,c=X2[e+1|0],e=k=e+1|0,n=v=n>>>0<=214748364?(2147483647-(n=P2(n,10))|0)<(0|u)?-1:n+u|0:v,!((u=c-48|0)>>>0<10))break;if((0|v)<0)break f}if(c=-1,46!=U2[(n=0)|k])e=k,g=0;else if(42==(0|(c=X2[k+1|0]))){if(9<(e=X2[k+2|0]-48|0)>>>0||36!=U2[k+3|0]){if(G)break n;e=k+2|0,c=0,A&&(k=y2[r>>2],y2[r>>2]=k+4,c=y2[k>>2])}else y2[(e<<2)+i>>2]=10,e=k+4|0,c=y2[((X2[k+2|0]<<3)+f|0)-384>>2];g=(-1^c)>>>31|0}else if(e=k+1|0,9<(s=c-48|0)>>>0)g=1,c=0;else for(k=0,u=e;;)if(c=-1,k>>>0<=214748364&&(c=(2147483647-(e=P2(k,10))|0)<(0|s)?-1:e+s|0),l=X2[u+(g=1)|0],u=e=u+1|0,k=c,!((s=l-48|0)>>>0<10))break;for(;;){if(u=n,57<(n=X2[0|e]-65|0)>>>0)break n;if(e=e+1|0,!((n=U2[2928+(n+P2(u,58)|0)|0])-1>>>0<8))break}if(!n)break n;t:{o:{c:{if(27==(0|n)){if((0|t)<=-1)break c;break n}if((0|t)<0)break o;y2[(t<<2)+i>>2]=n,t=y2[(n=(t<<3)+f|0)+4>>2],y2[56+a>>2]=y2[n>>2],y2[60+a>>2]=t}if(n=0,A)break t;continue r}if(!A){C=0;break A}a2(56+a|0,n,r)}t=-65537&b,B=8192&b?t:b;t:{o:{c:if(n=X2[e-1|0],!(55<(n=(k=u&&3==(15&n)?-33&n:n)-65|0)>>>0)){k:{u:{l:{s:{v:{B:{d:{_:{g:{Z:{C:{w:switch(n-1|0){case 51:l=0,u=y2[56+a>>2],n=y2[60+a>>2],s=2902;break C;case 44:if(7<(b=255&u)>>>(n=0))continue r;E:switch(b-1|0){default:case 0:y2[y2[56+a>>2]>>2]=C;continue r;case 1:b=y2[56+a>>2],y2[b>>2]=C,y2[b+4>>2]=C>>31;continue r;case 2:A2[y2[56+a>>2]>>1]=C;continue r;case 3:X2[y2[56+a>>2]]=C;continue r;case 5:y2[y2[56+a>>2]>>2]=C;continue r;case 4:continue r;case 6:break E;}b=y2[56+a>>2],y2[b>>2]=C,y2[b+4>>2]=C>>31;continue r;case 46:c=8>>0?c:8,B|=8,k=120;case 22:case 54:if(l=0,s=2902,!((n=b=y2[60+a>>2])|(u=y2[56+a>>2]))){o=T;break Z}for(t=32&k,o=T;;)if(X2[0|(o=o-1|0)]=t|U2[3536+(15&u)|0],!((u=(15&(b=n))<<28|u>>>4)|(n=n>>>4|0)))break;if(!(8&B))break Z;if(!(y2[56+a>>2]|y2[60+a>>2]))break Z;s=2902+(k>>4)|0,l=2;break Z;case 45:if(o=T,(n=b=y2[60+a>>2])|(u=y2[56+a>>2]))for(;;)if(X2[0|(o=o-1|0)]=7&u|48,!((u=(7&(b=n))<<29|u>>>3)|(n=n>>>3|0)))break;if(l=0,s=2902,!(8&B))break Z;c=(0|(n=T-o|0))<(0|c)?c:n+1|0;break Z;case 0:case 2:case 6:case 7:case 8:case 9:case 10:case 11:case 12:case 13:case 14:case 15:case 16:case 18:case 19:case 20:case 21:case 23:case 24:case 25:case 26:case 27:case 28:case 29:case 30:case 32:case 38:case 40:case 41:case 42:case 47:case 48:case 50:case 52:case 53:break c;case 1:break s;case 17:break v;case 49:break d;case 43:break _;case 33:break g;case 34:case 39:break w;default:break k;}n=b=y2[60+a>>2],u=y2[56+a>>2],(0|n)<-1||(0|n)<=-1?(n=0-((0!=(0|u))+n|0)|0,y2[56+a>>2]=u=0-u|0,y2[60+a>>2]=n,l=1,s=2902):s=2048&B?(l=1,2903):(l=1&B)?2904:2902}if(n>>>0<1)b=u,o=T;else for(o=T;;)if(m=o=o-1|0,N=u-q(b=T6(u,n,10),t=k=L,10,0)|48,X2[0|m]=N,k=9>>0,u=b,n=t,!k)break;if(n=b)for(;;)if(X2[0|(o=o-1|0)]=n-P2(b=(n>>>0)/10|0,10)|48,t=9>>0,n=b,!t)break}if((0|c)<0&&g)break f;if(B=g?-65537&B:B,n=y2[56+a>>2],b=y2[60+a>>2],!(c||n|b)){n=o=T,c=0;break i}c=(0|(n=!(n|b)+(T-o|0)|0))<(0|c)?c:n;break o}X2[55+a|0]=y2[56+a>>2],l=0,s=2902,c=1,o=x,n=T,B=t;break i}o=y2[6424],n=0,y2[6501]||(y2[6501]=25980);_:{g:{for(;;){if((0|o)==U2[n+1248|0])break;if((b=77)==(0|(n=n+1|0)))break g}if(!(b=n)){o=1328;break _}}for(n=1328;;)if(k=U2[0|n],n=o=n+1|0,!(k||(n=o,b=b-1|0)))break}break B}o=(n=y2[56+a>>2])||2912}k=s=o,B=(l=0)!=(0|(b=g=(0|c)<0?2147483647:c));B:{d:{_:{g:if(b){if(3&k)for(;;){if(!U2[0|k]){n=b;break _}if(B=1!=(0|b),n=b-1|0,k=k+1|0,1==(0|b))break g;if(b=n,!(3&k))break}else n=b;}else n=b;if(!B)break d}_:if(U2[0|k]&&!(n>>>0<4)){for(b=3&(u=n-4|0),u=4+((-4&u)+k|0)|0;;){if((-1^(B=y2[k>>2]))&B-16843009&-2139062144)break _;if(k=k+4|0,!(3<(n=n-4|0)>>>0))break}n=b,k=u}if(n)for(;;){if(!U2[0|k])break B;if(k=k+1|0,!(n=n-1|0))break}}k=0}if(n=(b=k?k-o|0:g)+s|0,s=2902,(0|c)<=-1)break t;B=t,c=b;break i}if(b=o=y2[56+a>>2],c)break l;n=0;break u}y2[12+a>>2]=0,y2[8+a>>2]=y2[56+a>>2],y2[56+a>>2]=8+a,c=-1,b=8+a|0}n=0,o=b;l:{for(;;){if(!(t=y2[b>>2]))break l;if((k=(0|(t=r2(4+a|0,t)))<0)||c-n>>>0>>0)break;if(b=b+4|0,!((n=n+t|0)>>>0>>0))break l}if(k)break e}if((0|n)<0)break f}k=73728&B;u:if(!(k||(0|v)<=(0|n))){if(v2(a+64|0,32,(b=(s=v-n|0)>>>0<256)?s:256),t=32&(u=y2[A>>2]),b){if(t)break u}else{for(b=!t,t=s;;)if(1&b&&(M(a+64|0,256,A),u=y2[A>>2]),b=!(c=32&u),!(255<(t=t-256|0)>>>0))break;if(c)break u;s&=255}M(a+64|0,s,A)}u:if(n)for(b=0;;){if(!(t=y2[o>>2]))break u;if(n>>>0<(b=(t=r2(4+a|0,t))+b|0)>>>0)break u;if(32&U2[0|A]||M(4+a|0,t,A),o=o+4|0,!(b>>>0>>0))break}u:if(8192==(0|k)&&!((0|v)<=(0|n))){if(v2(a+64|0,32,(b=(c=v-n|0)>>>0<256)?c:256),t=32&(o=y2[A>>2]),b){if(t)break u}else{for(b=!t,t=c;;)if(1&b&&(M(a+64|0,256,A),o=y2[A>>2]),b=!(k=32&o),!(255<(t=t-256|0)>>>0))break;if(k)break u;c&=255}M(a+64|0,c,A)}n=(0|n)<(0|v)?v:n;continue r}if(g&&(0|c)<=-1)break f;_=J[56+a>>3],y2[364+a>>2]=0,P(+_),n=0|w2[1],w2[0],Z=(0|n)<-1||(0|n)<=-1?(_=-_,w=1,3552):2048&B?(w=1,3555):(w=1&B)?3558:3553;k:if((Q=z2(_))!=y&Q==Q){if(_=function A(e,r){var f,i,a;if(P(+e),i=0|w2[1],a=0|w2[0],2047!=(0|(f=i>>>20&2047))){if(!f)return 0==e?y2[r>>2]=0:(e=A(0x10000000000000000*e,r),y2[r>>2]=y2[r>>2]+-64),e;y2[r>>2]=f-1022,E2(0,0|a),E2(1,-2146435073&i|1071644672),e=+H()}return e}(_,364+a|0),0!=(_+=_)&&(y2[364+a>>2]=y2[364+a>>2]-1),97==(0|(h=32|k))){if(b=Z+9|0,n=Z,l=(Z=32&k)?b:n,!(11>>0)&&12!=(0|c)){for(n=c-12|0,Q=16;;)if(Q*=16,!((b=n)>>>0<=(n=n+1|0)>>>0))break;_=45==U2[0|l]?-(Q+(-_-Q)):_+Q-Q}t=I,n=(u=y2[364+a>>2])>>31;u:{if(n^=n+u){for(b=0;;)if(X2[335+(b+a|0)|0]=n-P2(o=(n>>>0)/10|0,10)|48,b=b-1|0,t=9>>0,n=o,!t)break;if(t=336+(b+a|0)|0,b)break u}X2[0|(t=t-1|0)]=48}for(s=2|w,X2[0|(g=t-2|0)]=k+15,X2[t-1|0]=(0|u)<0?45:43,o=8&B,b=336+a|0;;)if(t=n=b,k=Z,b=z2(_)<2147483648?~~_:-2147483648,X2[0|t]=k|U2[b+3536|0],_=16*(_-(0|b)),1==((b=n+1|0)-(336+a|0)|0)&&(o||0<(0|c)||0!=_)&&(X2[n+1|0]=46,b=n+2|0),0==_)break;if(n=-1,!((2147483645-(o=(Z=I-g|0)+s|0)|0)<(0|c))){u=b-(336+a|0)|0,o=(c=c&&(b+p|0)<(0|c)?c+2|0:u)+o|0,B&=73728;u:if(!(B||(0|v)<=(0|o))){if(v2(a+64|0,32,(n=(k=v-o|0)>>>0<256)?k:256),b=32&(t=y2[A>>2]),n){if(b)break u}else{for(n=!b,b=k;;)if(1&n&&(M(a+64|0,256,A),t=y2[A>>2]),n=!(d=32&t),!(255<(b=b-256|0)>>>0))break;if(d)break u;k&=255}M(a+64|0,k,A)}32&U2[0|A]||M(l,s,A);u:if(65536==(0|B)&&!((0|v)<=(0|o))){if(v2(a+64|0,48,(n=(s=v-o|0)>>>0<256)?s:256),b=32&(t=y2[A>>2]),n){if(b)break u}else{for(n=!b,b=s;;)if(1&n&&(M(a+64|0,256,A),t=y2[A>>2]),n=!(k=32&t),!(255<(b=b-256|0)>>>0))break;if(k)break u;s&=255}M(a+64|0,s,A)}32&U2[0|A]||M(336+a|0,u,A),c=c-u|0;u:if(!((0|c)<1)){if(v2(a+64|0,48,(b=c>>>0<256)?c:256),n=32&(t=y2[A>>2]),b){if(n)break u}else{for(n=!n,b=c;;)if(1&n&&(M(a+64|0,256,A),t=y2[A>>2]),n=!(k=32&t),!(255<(b=b-256|0)>>>0))break;if(k)break u;c&=255}M(a+64|0,c,A)}32&U2[0|A]||M(g,Z,A);u:if(8192==(0|B)&&!((0|v)<=(0|o))){if(v2(a+64|0,32,(n=(c=v-o|0)>>>0<256)?c:256),b=32&(t=y2[A>>2]),n){if(b)break u}else{for(n=!b,b=c;;)if(1&n&&(M(a+64|0,256,A),t=y2[A>>2]),n=!(k=32&t),!(255<(b=b-256|0)>>>0))break;if(k)break u;c&=255}M(a+64|0,c,A)}n=(0|o)<(0|v)?v:o}}else{for(n=(0|c)<0,0==_?o=y2[364+a>>2]:(o=y2[364+a>>2]-28|0,y2[364+a>>2]=o,_*=268435456),l=n?6:c,t=g=(0|o)<0?368+a|0:S;;)if(t=(b=t)+4|0,0==(_=1e9*(_-((y2[b>>2]=n=_<4294967296&0<=_?~~_>>>0:0)>>>0))))break;if((0|o)<1)n=t,b=g;else for(b=g;;){if(c=(0|o)<29?o:29,!((n=t-4|0)>>>0>>0)){for(o=c,u=0;;)if(Y=u,u=y2[(s=n)>>2],n=31&o,E=32<=(63&o)>>>0?(d=u<>>32-n,u<>>0>>0?n+1|0:n,1e9),L,1e9,0)|0,y2[m>>2]=N,!(b>>>0<=(n=s-4|0)>>>0))break;u&&(y2[(b=b-4|0)>>2]=u)}for(;;)if(!(b>>>0<(n=t)>>>0)||y2[(t=n-4|0)>>2])break;if(o=y2[364+a>>2]-c|0,t=n,!(0<(0|(y2[364+a>>2]=o))))break}if((0|o)<=-1)for(u=1+((l+25>>>0)/9|0)|0;;){if(c=(0|o)<-9?9:0-o|0,n>>>0<=b>>>0)b=y2[b>>2]?b:b+4|0;else{for(s=1e9>>>c|0,d=-1<>2],y2[t>>2]=E+(o>>>c|0),o=P2(s,o&d),!((t=t+4|0)>>>0>>0))break;b=y2[b>>2]?b:b+4|0,o&&(y2[n>>2]=o,n=n+4|0)}if(o=c+y2[364+a>>2]|0,n=(0|u)>2?t+(u<<2)|0:n,!((0|(y2[364+a>>2]=o))<0))break}if(!(n>>>(t=0)<=b>>>0||(t=P2(g-b>>2,9),(c=y2[b>>2])>>>0<10)))for(o=10;;)if(t=t+1|0,!((o=P2(o,10))>>>0<=c>>>0))break;if((0|(o=(l-(u=102==(0|h)?0:t)|0)-(s=(h=103==(0|h))&0!=(0|l))|0))<(P2(n-g>>2,9)-9|0)){if(c=(D=g+((E=(0|(d=o+9216|0))/9|0)<<2)|0)-4092|0,o=10,((Y=d)-(d=P2(E,9))|0)<=7)for(u=9215+(((l-s|0)-u|0)-d|0)|0;;)if(o=P2(o,10),!((0|(u=u+1|0))<7))break;if(E=c+4|0,(u=(s=y2[c>>2])-P2(o,d=(s>>>0)/(o>>>0)|0)|0)||(0|E)!=(0|n)){u:{if(!(1&d)){if(_=9007199254740992,c>>>0<=b>>>0)break u;if(1e9!=(0|o))break u;if(!(1&X2[c-4|0]))break u}_=9007199254740994}if(Q=u>>>0<(d=o>>>1|0)>>>0?.5:(0|n)==(0|E)&&(0|d)==(0|u)?1:1.5,w&&45==U2[0|Z]&&(Q=-Q,_=-_),y2[c>>2]=u=s-u|0,_+Q!=_){if(1e9<=(y2[c>>2]=o=o+u|0)>>>0){for(t=D-4096|0;;)if(t>>>(y2[t+4>>2]=0)>>0&&(y2[(b=b-4|0)>>2]=0),o=y2[t>>2]+1|0,y2[t>>2]=o,t=t-4|0,!(999999999>>0))break;c=t+4|0}if(t=P2(g-b>>2,9),!((u=y2[b>>2])>>>0<10))for(o=10;;)if(t=t+1|0,!((o=P2(o,10))>>>0<=u>>>0))break}}n=(o=c+4|0)>>>0>>0?o:n}u:{for(;;){if((u=n)>>>(c=0)<=b>>>0)break u;if(y2[(n=u-4|0)>>2])break}c=1}if(h){if(l=((o=(0|t)<(0|(n=l||1))&-5<(0|t))?-1^t:-1)+n|0,k=(o?-1:-2)+k|0,!(s=8&B)){if(n=9,c&&(s=y2[u-4>>2])&&!((s>>>(n=0))%10|0))for(o=10;;)if(n=n+1|0,(s>>>0)%((o=P2(o,10))>>>0)|0)break;o=P2(u-g>>2,9)-9|0,l=102==(32|k)?((s=0)|l)<(0|(n=0<(0|(n=o-n|0))?n:0))?l:n:((s=0)|l)<(0|(n=0<(0|(n=(t+o|0)-n|0))?n:0))?l:n}}else s=8&B;if(n=-1,!((0|((E=l|s)?2147483645:2147483646))<(0|l))){if(h=1+((0!=(0|E))+l|0)|0,D=102!=(32|k)){if(o=I,n=t>>31,n^=n+t)for(;;)if(X2[0|(o=o-1|0)]=n-P2(d=(n>>>0)/10|0,10)|48,F=9>>0,n=d,!F)break;if((I-o|0)<=1){for(n=o-1|0;;)if(X2[0|n]=48,o=I-n|0,n=d=n-1|0,!((0|o)<2))break;o=d+1|0}if(X2[0|(F=o-2|0)]=k,n=-1,X2[o-1|0]=(0|t)<0?45:43,(2147483647-h|0)<(0|(t=I-F|0)))break k}else{if((2147483647-h|0)<(0|t))break k;t=0<(0|t)?t:0}if(!((2147483647^w)<(0|(o=t+h|0)))){d=o+w|0,B&=73728;u:if(!(B||(0|v)<=(0|d))){if(v2(a+64|0,32,(n=(k=v-d|0)>>>0<256)?k:256),t=32&(o=y2[A>>2]),n){if(t)break u}else{for(n=!t,t=k;;)if(1&n&&(M(a+64|0,256,A),o=y2[A>>2]),n=!(h=32&o),!(255<(t=t-256|0)>>>0))break;if(h)break u;k&=255}M(a+64|0,k,A)}32&U2[0|A]||M(Z,w,A);u:if(65536==(0|B)&&!((0|v)<=(0|d))){if(v2(a+64|0,48,(n=(k=v-d|0)>>>0<256)?k:256),t=32&(o=y2[A>>2]),n){if(t)break u}else{for(n=!t,t=k;;)if(1&n&&(M(a+64|0,256,A),o=y2[A>>2]),n=!(Z=32&o),!(255<(t=t-256|0)>>>0))break;if(Z)break u;k&=255}M(a+64|0,k,A)}u:if(D){l:if(!((0|l)<0)){for(k=c?u:b+4|0,c=b;;){o=R;s:{if(n=y2[c>>2]){for(t=0;;)if(X2[344+(t+a|0)|0]=n-P2(o=(n>>>0)/10|0,10)|48,t=t-1|0,u=9>>0,n=o,!u)break;if(o=345+(t+a|0)|0,t)break s}X2[0|(o=o-1|0)]=48}if((0|b)!=(0|c)){if(!(o>>>0<=336+a>>>0))for(v2(336+a|0,48,o+W|0);;)if(!(336+a>>>0<(o=o-1|0)>>>0))break}else 32&U2[0|A]||M(o,1,A),o=o+1|0,(0|l)<1&&!s||32&U2[0|A]||M(3587,1,A);if(n=R-o|0,32&U2[0|A]||M(o,(0|n)<(0|l)?n:l,A),c=c+4|0,!(-1<(0|(l=l-n|0))&&c>>>0>>0))break}if(!((0|l)<1)){if(v2(a+64|0,48,(b=l>>>0<256)?l:256),n=32&(t=y2[A>>2]),b){if(n)break l}else{for(n=!n,b=l;;)if(1&n&&(M(a+64|0,256,A),t=y2[A>>2]),n=!(o=32&t),!(255<(b=b-256|0)>>>0))break;if(o)break l;l&=255}M(a+64|0,l,A)}}32&U2[0|A]||M(F,I-F|0,A)}else{for(c=t=g>>>0>>0?g:b;;){if(n=y2[c>>2]){for(b=0;;)if(X2[b+V|0]=n-P2(o=(n>>>0)/10|0,10)|48,b=b-1|0,k=9>>0,n=o,!k)break}else b=0;if(n=b+R|0,(0|t)!=(0|c)?n>>>0<=336+a>>>0||(v2(336+a|0,48,b+9|0),n=336+a|0):b||(X2[0|(n=n-1|0)]=48),32&U2[0|A]||M(n,R-n|0,A),!((c=c+4|0)>>>0<=g>>>0))break}!E||32&U2[0|A]||M(3587,1,A);l:if((0|l)<1)n=l;else if(u>>>0<=c>>>0)n=l;else for(;;){n=R;s:{if(b=y2[c>>2]){for(;;)if(X2[0|(n=n-1|0)]=b-P2(o=(b>>>0)/10|0,10)|48,t=9>>0,b=o,!t)break;if(n>>>0<=336+a>>>0)break s}for(v2(336+a|0,48,n+W|0);;)if(!(336+a>>>0<(n=n-1|0)>>>0))break}if(32&U2[0|A]||M(n,(0|l)<9?l:9,A),n=l-9|0,(0|l)<10)break l;if(l=n,!((c=c+4|0)>>>0>>0))break}if(!((0|n)<1)){if(v2(a+64|0,48,(t=n>>>0<256)?n:256),b=32&(o=y2[A>>2]),t){if(b)break u}else{for(b=!b,t=n;;)if(1&b&&(M(a+64|0,256,A),o=y2[A>>2]),b=!(k=32&o),!(255<(t=t-256|0)>>>0))break;if(k)break u;n&=255}M(a+64|0,n,A)}}u:if(8192==(0|B)&&!((0|v)<=(0|d))){if(v2(a+64|0,32,(n=(u=v-d|0)>>>0<256)?u:256),b=32&(t=y2[A>>2]),n){if(b)break u}else{for(n=!b,b=u;;)if(1&n&&(M(a+64|0,256,A),t=y2[A>>2]),n=!(o=32&t),!(255<(b=b-256|0)>>>0))break;if(o)break u;u&=255}M(a+64|0,u,A)}n=(0|d)<(0|v)?v:d}}}}else{o=w+3|0;u:if(!(8192&B||(0|v)<=(0|o))){if(v2(a+64|0,32,(n=(c=v-o|0)>>>0<256)?c:256),b=32&(t=y2[A>>2]),n){if(b)break u}else{for(n=!b,b=c;;)if(1&n&&(M(a+64|0,256,A),t=y2[A>>2]),n=!(u=32&t),!(255<(b=b-256|0)>>>0))break;if(u)break u;c&=255}M(a+64|0,c,A)}32&(n=y2[A>>2])||(M(Z,w,A),n=y2[A>>2]),32&n||(n=(32&k)>>>5|0,M(_!=_?n?3579:3583:n?3571:3575,3,A));u:if(8192==(73728&B)&&!((0|v)<=(0|o))){if(v2(a+64|0,32,(n=(c=v-o|0)>>>0<256)?c:256),b=32&(t=y2[A>>2]),n){if(b)break u}else{for(n=!b,b=c;;)if(1&n&&(M(a+64|0,256,A),t=y2[A>>2]),n=!(k=32&t),!(255<(b=b-256|0)>>>0))break;if(k)break u;c&=255}M(a+64|0,c,A)}n=(0|o)<(0|v)?v:o}if(0<=(0|n))continue r;break f}l=0,s=2902}n=T;break i}if(B=t,c=b,U2[0|n])break f;break i}n=U2[e+1|0],e=e+1|0}if(A)break A;if(!G){C=0;break A}if(A=1,(e=y2[i+4>>2])&&(a2(f+8|0,e,r),e=y2[i+8>>(A=2)])&&(a2(f+16|0,e,r),A=3,e=y2[i+12>>2])&&(a2(f+24|0,e,r),A=4,e=y2[i+16>>2])&&(a2(f+32|0,e,r),A=5,e=y2[i+20>>2])&&(a2(f+40|0,e,r),A=6,e=y2[i+24>>2])&&(a2(f+48|0,e,r),A=7,e=y2[i+28>>2])&&(a2(f+56|0,e,r),A=8,e=y2[i+32>>2])){if(a2(f- -64|0,e,r),A=y2[i+36>>2])break a;A=9}for(n=A-1|0,e=(A<<2)+i|0;;){if(y2[e>>2])break n;if(e=e+4|0,!((n=n+(C=1)|0)>>>0<=8))break}break A}y2[6424]=28;break e}a2(f+72|0,A,r),C=1;break A}if(!((2147483647-l|0)<(0|(d=(0|c)<(0|(Z=n-o|0))?Z:c))||(0|w)<(0|(n=(0|v)<(0|(g=l+d|0))?g:v)))){B&=73728;i:if(!(B||(0|v)<=(0|g))){if(v2(a+64|0,32,(b=(k=n-g|0)>>>0<256)?k:256),t=32&(u=y2[A>>2]),b){if(t)break i}else{for(b=!t,t=k;;)if(1&b&&(M(a+64|0,256,A),u=y2[A>>2]),b=!(w=32&u),!(255<(t=t-256|0)>>>0))break;if(w)break i;k&=255}M(a+64|0,k,A)}32&U2[0|A]||M(s,l,A);i:if(65536==(0|B)&&!((0|v)<=(0|g))){if(v2(a+64|0,48,(b=(l=n-g|0)>>>0<256)?l:256),t=32&(u=y2[A>>2]),b){if(t)break i}else{for(b=!t,t=l;;)if(1&b&&(M(a+64|0,256,A),u=y2[A>>2]),b=!(k=32&u),!(255<(t=t-256|0)>>>0))break;if(k)break i;l&=255}M(a+64|0,l,A)}i:if(!((0|c)<=(0|Z))){if(v2(a+64|0,48,(b=(k=d-Z|0)>>>0<256)?k:256),t=32&(u=y2[A>>2]),b){if(t)break i}else{for(b=!t,t=k;;)if(1&b&&(M(a+64|0,256,A),u=y2[A>>2]),b=!(c=32&u),!(255<(t=t-256|0)>>>0))break;if(c)break i;k&=255}M(a+64|0,k,A)}if(32&U2[0|A]||M(o,Z,A),8192!=(0|B))continue;if((0|v)<=(0|g))continue;if(v2(a+64|0,32,(b=(v=n-g|0)>>>0<256)?v:256),t=32&(o=y2[A>>2]),b){if(t)continue}else{for(b=!t,t=v;;)if(1&b&&(M(a+64|0,256,A),o=y2[A>>2]),b=!(k=32&o),!(255<(t=t-256|0)>>>0))break;if(k)continue;v&=255}M(a+64|0,v,A);continue}}break}y2[6424]=61}C=-1}return L2=880+a|0,C}function a2(A,e,r){var f,i,a=0,n=0,b=0;A:{e:{r:{if((e=e-9|0)>>>0<=17){f:switch(e-1|0){case 5:return e=y2[r>>2],y2[r>>2]=e+4,e=A2[e>>1],y2[A>>2]=e,void(y2[A+4>>2]=e>>31);case 6:return e=y2[r>>2],y2[r>>2]=e+4,y2[A>>2]=e2[e>>1],void(y2[A+4>>2]=0);case 7:return e=y2[r>>2],y2[r>>2]=e+4,e=X2[0|e],y2[A>>2]=e,void(y2[A+4>>2]=e>>31);case 8:return e=y2[r>>2],y2[r>>2]=e+4,y2[A>>2]=U2[0|e],void(y2[A+4>>2]=0);case 16:for(A=3388;;)if((-1^(r=y2[(A=A+4|0)>>2]))&r-16843009&-2139062144)break;if(e=A-3392|0,255&r){for(;;)if(r=U2[A+1|0],A=e=A+1|0,!r)break;e=e-3392|0}A=e,r=0,b=3392;i:{if(!(e=y2[6276])){if(e=0,$(25088))break i;e=y2[6276]}if(e-(n=y2[6277])>>>0>>0)e=0|N2[y2[6280]](25088,3392,A);else{a=A;a:if(!(y2[6288]<0)){for(f=A+3392|0,e=0;;){if(!((a=A)+e|0))break a;if(i=e+f|0,e=a=e-1|0,10==U2[i-1|0])break}if((e=0|N2[y2[6280]](25088,3392,r=1+(A+a|0)|0))>>>0>>0)break i;b=1+(a+f|0)|0,n=y2[6277],a^=-1}A0(n,b,a),y2[6277]=a+y2[6277],e=r+a|0}}U();case 2:case 9:case 11:case 12:case 15:break A;case 1:case 4:case 10:case 14:break e;case 0:case 3:case 13:break r;default:break f;}e=y2[r>>2],y2[r>>2]=e+4,y2[A>>2]=y2[e>>2]}return}return e=y2[r>>2],y2[r>>2]=e+4,e=y2[e>>2],y2[A>>2]=e,void(y2[A+4>>2]=e>>31)}return e=y2[r>>2],y2[r>>2]=e+4,y2[A>>2]=y2[e>>2],void(y2[A+4>>2]=0)}e=y2[r>>2]+7&-8,y2[r>>2]=e+8,r=y2[e+4>>2],y2[A>>2]=y2[e>>2],y2[A+4>>2]=r}function n2(A){var e;y2[12+(L2=e=L2-16|0)>>2]=A,y2[8+e>>2]=0,f2(y2[309],y2[12+e>>2],y2[8+e>>2]),f2(y2[309],3589,y2[(L2=A=L2-16|0)+12>>2]=0),L2=A+16|0,U()}function t2(A){var e;return y2[12+(e=L2-16|0)>>2]=A|=0,y2[12+e>>2]}function o2(A){var e;y2[12+(L2=e=L2-16|0)>>2]=A|=0,A=y2[12+e>>2],y2[12+(L2-16|0)>>2]=A,b(A),L2=16+e|0}function c2(A){return y2[12+(L2-16|0)>>2]=A|=0,3591}function k2(A){var e;return y2[12+(L2=e=L2-16|0)>>2]=A|=0,A=y2[12+e>>2],y2[12+(L2-16|0)>>2]=A,L2=16+e|0,0|A}function u2(A){var e;y2[12+(L2=e=L2-16|0)>>2]=A|=0,k2(A=y2[12+e>>2]),b(A),L2=16+e|0}function l2(A){return y2[12+(L2-16|0)>>2]=A|=0,3606}function s2(A){var e,r;return y2[12+(L2=r=L2-16|0)>>2]=A|=0,e=L2-16|0,A=y2[12+r>>2],y2[12+e>>2]=A,y2[y2[12+e>>2]>>2]=3716,y2[A>>2]=3636,L2=16+r|0,0|A}function B2(A){return y2[12+(L2-16|0)>>2]=A|=0,3648}function d2(A){var e;return y2[12+(L2=e=L2-16|0)>>2]=A|=0,s2(A=y2[12+e>>2]),y2[A>>2]=3672,L2=16+e|0,0|A}function _2(A){var e;return y2[12+(L2=e=L2-16|0)>>2]=A|=0,k2(A=y2[12+e>>2]),L2=16+e|0,0|A}function g2(A){var e;y2[12+(L2=e=L2-16|0)>>2]=A|=0,_2(A=y2[12+e>>2]),b(A),L2=16+e|0}function Z2(A){return y2[12+(L2-16|0)>>2]=A|=0,3684}function C2(A){var e,r;return y2[12+(L2=r=L2-16|0)>>2]=A|=0,e=L2-16|0,A=y2[12+r>>2],y2[12+e>>2]=A,y2[y2[12+e>>2]>>2]=3716,y2[A>>2]=3880,L2=16+r|0,0|A}function F2(A){return y2[12+(L2-16|0)>>2]=A|=0,3892}function D2(A){var e,r;return y2[12+(L2=r=L2-16|0)>>2]=A|=0,e=L2-16|0,A=y2[12+r>>2],y2[12+e>>2]=A,y2[y2[12+e>>2]>>2]=3716,y2[A>>2]=3916,L2=16+r|0,0|A}function Y2(A){return y2[12+(L2-16|0)>>2]=A|=0,3928}function T2(A,e){var r=0,f=0,f=U2[0|e],r=U2[0|A];A:if(r&&(0|f)==(0|r))for(A=A+1|0,e=e+1|0;;){if(f=U2[0|e],!(r=U2[0|A]))break A;if(A=A+1|0,e=e+1|0,(0|f)!=(0|r))break}return r-f|0}function V2(A){y2[12+(L2-16|0)>>2]=A|=0}function x2(A){var e;return y2[12+(L2=e=L2-16|0)>>2]=A|=0,_2(A=y2[12+e>>2]),L2=16+e|0,0|A}function p2(A){var e;y2[12+(L2=e=L2-16|0)>>2]=A|=0,x2(A=y2[12+e>>2]),b(A),L2=16+e|0}function S2(A,e,r){e|=0,r|=0;var f;return y2[12+(L2=f=L2-16|0)>>2]=A|=0,y2[8+f>>2]=e,y2[4+f>>2]=r,A=t(y2[12+f>>2],y2[8+f>>2],0),L2=16+f|0,1&A}function t(A,e,r){var f;return y2[8+(L2=f=L2-16|0)>>2]=A,y2[4+f>>2]=e,X2[3+f|0]=r,1&X2[3+f|0]?(A=y2[8+(r=f)>>2]!=y2[4+f>>2]?(y2[(A=L2-16|0)+8>>2]=y2[8+f>>2],y2[A+12>>2]=y2[y2[A+8>>2]+4>>2],e=y2[A+12>>2],y2[(A=L2-16|0)+8>>2]=y2[4+f>>2],y2[A+12>>2]=y2[y2[A+8>>2]+4>>2],!T2(e,y2[A+12>>2])):1,X2[r+15|0]=A):(e=y2[4+f>>2],y2[(L2=A=L2-16|0)+4>>2]=y2[8+f>>2],y2[A>>2]=e,e=y2[y2[A>>2]+4>>2],y2[A+12>>2]=y2[y2[A+4>>2]+4>>2],y2[A+8>>2]=e,e=1,y2[A+12>>2]!=y2[A+8>>2]&&(e=!T2(y2[A+12>>2],y2[A+8>>2])),L2=A+16|0,X2[15+f|0]=1&e),L2=16+f|0,1&X2[15+f|0]}function J2(A,e,r){e|=0,r|=0;var f;return y2[12+(f=L2-16|0)>>2]=A|=0,y2[8+f>>2]=e,y2[4+f>>2]=r,0}function M2(A,e,r,f){e|=0,r|=0,f|=0;var i;if(y2[92+(L2=i=L2-96|0)>>2]=A|=0,y2[88+i>>2]=e,y2[84+i>>2]=r,y2[80+i>>2]=f,y2[76+i>>2]=y2[y2[92+i>>2]>>2],y2[72+i>>2]=y2[y2[76+i>>2]-8>>2],y2[68+i>>2]=y2[92+i>>2]+y2[72+i>>2],y2[64+i>>2]=y2[y2[76+i>>2]-4>>2],y2[60+i>>2]=0,y2[i>>2]=y2[84+i>>2],y2[4+i>>2]=y2[92+i>>2],y2[8+i>>2]=y2[88+i>>2],y2[12+i>>2]=y2[80+i>>2],y2[16+i>>2]=0,y2[20+i>>2]=0,y2[24+i>>2]=0,y2[28+i>>2]=0,y2[32+i>>2]=0,y2[36+i>>2]=0,y2[40+i>>2]=0,y2[44+i>>2]=0,y2[48+i>>2]=0,X2[52+i|0]=0,X2[53+i|0]=0,X2[54+i|0]=0,1&t(y2[64+i>>2],y2[84+i>>2],0))y2[48+i>>2]=1,A=y2[64+i>>2],N2[y2[y2[A>>2]+20>>2]](A,i,y2[68+i>>2],y2[68+i>>2],1,0),1==y2[24+i>>2]&&(y2[60+i>>2]=y2[68+i>>2]);else if(A=y2[64+i>>2],N2[y2[y2[A>>2]+24>>2]](A,i,y2[68+i>>2],1,0),!(1<(A=y2[36+i>>2])>>>0))if(1!=(0|A))1==y2[40+i>>2]&&1==y2[28+i>>2]&&1==y2[32+i>>2]&&(y2[60+i>>2]=y2[20+i>>2]);else A:{if(1!=y2[24+i>>2]){if(y2[40+i>>2])break A;if(1!=y2[28+i>>2])break A;if(1!=y2[32+i>>2])break A}y2[60+i>>2]=y2[16+i>>2]}return L2=96+i|0,y2[60+i>>2]}function e0(A,e,r,f){var i;y2[12+(i=L2-16|0)>>2]=A,y2[8+i>>2]=e,y2[4+i>>2]=r,y2[i>>2]=f,y2[y2[8+i>>2]+16>>2]?y2[y2[8+i>>2]+16>>2]==y2[4+i>>2]?2==y2[y2[8+i>>2]+24>>2]&&(y2[y2[8+i>>2]+24>>2]=y2[i>>2]):(A=y2[8+i>>2],y2[A+36>>2]=y2[A+36>>2]+1,y2[y2[8+i>>2]+24>>2]=2,X2[y2[8+i>>2]+54|0]=1):(y2[y2[8+i>>2]+16>>2]=y2[4+i>>2],y2[y2[8+i>>2]+24>>2]=y2[i>>2],y2[y2[8+i>>2]+36>>2]=1)}function r0(A,e,r,f){var i,a;y2[28+(L2=a=L2-32|0)>>2]=A,y2[24+a>>2]=e,y2[20+a>>2]=r,y2[16+a>>2]=f,A=y2[28+a>>2],y2[12+a>>2]=0,y2[20+a>>2]&&(y2[12+a>>2]=y2[A+4>>2]>>8,1&y2[A+4>>2])&&(y2[8+a>>2]=y2[y2[20+a>>2]>>2],y2[12+a>>2]=y2[y2[8+a>>2]+y2[12+a>>2]>>2]),r=e=y2[A>>2],f=y2[24+a>>2],i=y2[20+a>>2]+y2[12+a>>2]|0,A=2&y2[A+4>>2]?y2[16+a>>2]:2,N2[y2[y2[e>>2]+28>>2]](r,f,i,A),L2=32+a|0}function f0(A,e,r){e|=0,r|=0;var f,i,a;y2[24+(L2=a=L2-32|0)>>2]=A|=0,y2[20+a>>2]=e,y2[16+a>>2]=r,e=y2[24+a>>2],X2[15+a|0]=0!=(24&y2[e+8>>2]);A:{if(!(1&X2[15+a|0])){if(A=(A=y2[20+(r=a)>>2])?M2(A,4072,4168,0):0,y2[r+8>>2]=A,!y2[8+a>>2]){X2[31+a|0]=0;break A}X2[15+a|0]=0!=(24&y2[y2[8+a>>2]+8>>2])}i=1&t(e,y2[20+(f=a)>>2],1&X2[15+a|0]),X2[31+f|0]=i}return L2=32+a|0,1&X2[31+a|0]}function i0(A,e){var r,f;return y2[8+(L2=f=L2-16|0)>>2]=A,y2[4+f>>2]=e,A=y2[8+f>>2],e=(e=y2[4+(r=f)>>2])?M2(e,4072,4328,0):0,y2[r>>2]=e,y2[f>>2]&&!(y2[y2[f>>2]+8>>2]&(-1^y2[A+8>>2]))&&1&t(y2[A+12>>2],y2[y2[f>>2]+12>>2],0)&&1&t(y2[A+16>>2],y2[y2[f>>2]+16>>2],0)?X2[15+f|0]=1:X2[15+f|0]=0,L2=16+f|0,1&X2[15+f|0]}function a0(A,e,r,f,i){var a;y2[28+(a=L2-32|0)>>2]=A,y2[24+a>>2]=e,y2[20+a>>2]=r,y2[16+a>>2]=f,y2[12+a>>2]=i,X2[y2[24+a>>2]+53|0]=1,y2[16+a>>2]==y2[y2[24+a>>2]+4>>2]&&(X2[y2[24+a>>2]+52|0]=1,y2[y2[24+a>>2]+16>>2]?y2[y2[24+a>>2]+16>>2]==y2[20+a>>2]?(2==y2[y2[24+a>>2]+24>>2]&&(y2[y2[24+a>>2]+24>>2]=y2[12+a>>2]),1==y2[y2[24+a>>2]+48>>2]&&1==y2[y2[24+a>>2]+24>>2]&&(X2[y2[24+a>>2]+54|0]=1)):(A=y2[24+a>>2],y2[A+36>>2]=y2[A+36>>2]+1,X2[y2[24+a>>2]+54|0]=1):(y2[y2[24+a>>2]+16>>2]=y2[20+a>>2],y2[y2[24+a>>2]+24>>2]=y2[12+a>>2],(y2[y2[24+a>>2]+36>>2]=1)==y2[y2[24+a>>2]+48>>2]&&1==y2[y2[24+a>>2]+24>>2]&&(X2[y2[24+a>>2]+54|0]=1)))}function n0(A,e,r,f){var i;y2[12+(i=L2-16|0)>>2]=A,y2[8+i>>2]=e,y2[4+i>>2]=r,y2[i>>2]=f,y2[4+i>>2]==y2[y2[8+i>>2]+4>>2]&&1!=y2[y2[8+i>>2]+28>>2]&&(y2[y2[8+i>>2]+28>>2]=y2[i>>2])}function b0(A,e,r,f,i,a){var n;y2[28+(L2=n=L2-32|0)>>2]=A,y2[24+n>>2]=e,y2[20+n>>2]=r,y2[16+n>>2]=f,y2[12+n>>2]=i,X2[11+n|0]=a,A=y2[28+n>>2],y2[4+n>>2]=y2[A+4>>2]>>8,1&y2[A+4>>2]&&(y2[n>>2]=y2[y2[16+n>>2]>>2],y2[4+n>>2]=y2[y2[n>>2]+y2[4+n>>2]>>2]),r=e=y2[A>>2],f=y2[24+n>>2],i=y2[20+n>>2],a=y2[16+n>>2]+y2[4+n>>2]|0,A=2&y2[A+4>>2]?y2[12+n>>2]:2,N2[y2[y2[e>>2]+20>>2]](r,f,i,a,A,1&X2[11+n|0]),L2=32+n|0}function t0(A,e,r,f,i){var a;y2[28+(L2=a=L2-32|0)>>2]=A,y2[24+a>>2]=e,y2[20+a>>2]=r,y2[16+a>>2]=f,X2[15+a|0]=i,A=y2[28+a>>2],y2[8+a>>2]=y2[A+4>>2]>>8,1&y2[A+4>>2]&&(y2[4+a>>2]=y2[y2[20+a>>2]>>2],y2[8+a>>2]=y2[y2[4+a>>2]+y2[8+a>>2]>>2]),r=e=y2[A>>2],f=y2[24+a>>2],i=y2[20+a>>2]+y2[8+a>>2]|0,A=2&y2[A+4>>2]?y2[16+a>>2]:2,N2[y2[y2[e>>2]+24>>2]](r,f,i,A,1&X2[15+a|0]),L2=32+a|0}function o0(A){var e,r;return j2((e=A*A)*e*(r=e*A)*(2718311493989822e-21*e-.00019839334836096632)+(r*(.008333329385889463*e-.16666666641626524)+A))}function c0(A){var e;return j2(-.499999997251031*(A*=A)+1+.04166662332373906*(e=A*A)+A*e*(2439044879627741e-20*A-.001388676377460993))}function k0(A,e){return 1024<=(0|e)?(A*=898846567431158e293,e=(0|e)<2047?e-1023|0:(A*=898846567431158e293,((0|e)<3069?e:3069)-2046|0)):-1023<(0|e)||(A*=2004168360008973e-307,e=-1992<(0|e)?e+969|0:(A*=2004168360008973e-307,(-2960<(0|e)?e:-2960)+1938|0)),E2(0,0),E2(1,e+1023<<20),A*+H()}function u0(A,e){var r,f,i,a,n,b,t,o,c,k,u=0,l=0,s=0,v=0,B=0,d=0,_=0,g=0,Z=0,C=0,w=0,E=0,Q=0,h=0,G=0,F=0;if(L2=k=L2-16|0,Q2(A),(u=2147483647&(G=w2[2]))>>>0<=1305022426)J[e>>3]=(C=+A)+-1.5707963109016418*(l=.6366197723675814*C+6755399441055744-6755399441055744)+-1.5893254773528196e-8*l,s=z2(l)<2147483648?~~l:-2147483648;else if(2139095040<=u>>>0)J[e>>3]=j2(A-A);else{if(B=u,J[8+k>>3]=(E2(2,B-((u=(u>>>23|0)-150|0)<<23)|0),h2()),Q=8+k|0,L2=r=L2-560|0,w=u+P2(i=0<(0|(B=(u-3|0)/24|0))?B:0,-24)|0,0<=(0|(f=y2[1568])))for(B=f+1|0,d=6288+((u=i)<<2)|0,v=320+r|0;;)if(J[v>>3]=(0|u)<0?0:+y2[d>>2],v=v+8|0,d=d+4|0,u=u+1|0,!(B=B-1|0))break;for(_=w-24|0,B=320+r|0;;){for(l=0,u=Q,d=1,v=B;;)if(l+=J[u>>3]*J[v>>3],u=u+8|0,v=v-8|0,!(d=d-1|0))break;if(J[(s<<3)+r>>3]=l,B=B+8|0,u=(0|s)<(0|f),s=s+1|0,!u)break}n=23-_|0,a=24-_|0,b=476+((f<<2)+r|0)|0,t=476+r|0,o=r-8|0,s=f;A:{for(;;){if(l=J[(u=s<<3)+r>>3],!(Z=(0|s)<1))for(d=s+1|0,u=u+o|0,v=480+r|0;;)if(B=v,g=z2(C=5.960464477539063e-8*(h=l))<2147483648?~~C:-2147483648,g=z2(C=h+-16777216*(l=0|g))<2147483648?~~C:-2147483648,y2[B>>2]=g,v=v+4|0,l=J[u>>3]+l,u=u-8|0,!(1<(0|(d=d-1|0))))break;l=k0(l,_),l=(l+=-8*D(.125*l))-(0|(g=z2(l)<2147483648?~~l:-2147483648));e:{r:{f:{if(d=(0|_)<1){if(_)break f;E=y2[476+((s<<2)+r|0)>>2]>>23}else g=(u=(v=y2[(B=476+((s<<2)+r|0)|0)>>2])>>a)+g|0,E=(y2[(E=B)>>2]=B=v-(u<>n;if((0|E)<1)break e;break r}if(E=2,!(.5<=l)){E=0;break e}}if(Z)Z=0;else for(u=480+r|(Z=0),B=s;;){v=y2[u>>2];r:{f:{if(c=u,Z)F=16777215;else{if(!v)break f;Z=1,F=16777216}y2[c>>2]=F-v;break r}Z=0}if(u=u+4|0,!(B=B-1|0))break}d||1<(u=_-1|0)>>>0||(y2[(u=476+((s<<2)+r|0)|0)>>2]=1!=(0|u)?8388607&y2[u>>2]:4194303&y2[u>>2]),g=g+1|0,2==(0|E)&&(l=1-l,E=2,Z)&&(l-=k0(1,_))}if(0!=l)break;if(!((0|s)<=(0|f))){for(u=(s<<2)+t|0,v=0,d=s;;)if(v=y2[u>>2]|v,u=u-4|0,!((0|f)<(0|(d=d-1|0))))break;if(v){for(u=476+((s<<2)+r|0)|0,w=_;;)if(s=s-1|0,w=w-24|0,B=y2[u>>2],u=u-4|0,B)break;break A}}for(u=b,B=s;;)if(B=B+1|0,v=y2[u>>2],u=u-4|0,v)break;for(Z=328+((s<<3)+r|0)|0;;){for(J[(u=328+((s<<3)+r|0)|0)>>3]=y2[6288+(i+(s=s+1|0)<<2)>>2],l=0,u=Q,v=Z,d=1;;)if(l+=J[u>>3]*J[v>>3],u=u+8|0,v=v-8|0,!(d=d-1|0))break;if(J[(s<<3)+r>>3]=l,Z=Z+8|0,!((0|s)<(0|B)))break}s=B}16777216<=(l=k0(l,0-_|0))?(v=(480+r|0)+(s<<2)|0,u=z2(C=5.960464477539063e-8*(h=l))<2147483648?~~C:-2147483648,B=z2(l=h+-16777216*(0|u))<2147483648?~~l:-2147483648,y2[v>>2]=B,s=s+1|0):(u=z2(l)<2147483648?~~l:-2147483648,w=_),y2[(480+r|0)+(s<<2)>>2]=u}if(!((0|s)<0)){for(d=s+1|0,l=k0(1,w),u=(480+r|0)+(s<<2)|0,v=(s<<3)+r|0;;)if(J[v>>3]=l*+y2[u>>2],u=u-4|0,v=v-8|0,l*=5.960464477539063e-8,!(0<(0|(d=d-1|0))))break;if(!((0|s)<0))for(B=(s<<3)+r|0,u=s;;){for(w=s-(_=u)|0,v=u=l=0;;)if(l+=J[u+9056>>3]*J[u+B>>3],(0|f)<=(0|v)||(u=u+8|0,Q=v>>>0>>0,v=v+1|0,!Q))break;if(J[(160+r|0)+(w<<3)>>3]=l,B=B-8|0,u=_-1|0,!(0<(0|_)))break}}if((0|s)<0)l=0;else for(v=s+1|0,u=(160+r|0)+(s<<3)|0,l=0;;)if(l+=J[u>>3],u=u-8|0,!(0<(0|(v=v-1|0))))break;J[k>>3]=E?-l:l,L2=560+r|0,s=7&g,l=J[k>>3],(0|G)<=-1?(J[e>>3]=-l,s=0-s|0):J[e>>3]=l}return L2=16+k|0,s}function R2(A){var e,r,f=0,i=0;L2=r=L2-16|0,Q2(A);A:if((e=2147483647&(i=w2[2]))>>>0<=1061752794)e>>>0<964689920||(A=o0(+A));else if(e>>>0<=1081824209)f=+A,A=e>>>0<=1075235811?(0|i)<=-1?j2(-c0(f+1.5707963267948966)):c0(f+-1.5707963267948966):o0(-(((0|i)<0?3.141592653589793:-3.141592653589793)+f));else if(e>>>0<=1088565717)f=+A,A=e>>>0<=1085271519?(0|i)<=-1?c0(f+4.71238898038469):j2(-c0(f+-4.71238898038469)):o0(((0|i)<0?6.283185307179586:-6.283185307179586)+f);else if(2139095040<=e>>>0)A=j2(A-A);else if((e=3&u0(A,8+r|0))>>>0<=2){e:switch(e-1|0){default:A=o0(J[8+r>>3]);break A;case 0:A=c0(J[8+r>>3]);break A;case 1:break e;}A=o0(-J[8+r>>3])}else A=j2(-c0(J[8+r>>3]));return L2=16+r|0,A}function I2(A){var e,r,f,i=j2(0),a=0;L2=f=L2-16|0,Q2(A);A:if((e=2147483647&(a=w2[2]))>>>0<=1061752794)i=j2(1),e>>>0<964689920||(i=c0(+A));else if(e>>>0<=1081824209)r=+A,i=1075235812<=e>>>0?j2(-c0(((0|a)<0?3.141592653589793:-3.141592653589793)+r)):o0((0|a)<=-1?1.5707963267948966+r:1.5707963267948966-r);else if(e>>>0<=1088565717)i=1085271520<=e>>>0?c0(+A+((0|a)<0?6.283185307179586:-6.283185307179586)):o0((0|a)<=-1?-4.71238898038469-+A:+A-4.71238898038469);else if(i=j2(A-A),!(2139095040<=e>>>0))if((e=3&u0(A,8+f|0))>>>0<=2){e:switch(e-1|0){default:i=c0(J[8+f>>3]);break A;case 0:i=o0(-J[8+f>>3]);break A;case 1:break e;}i=j2(-c0(J[8+f>>3]))}else i=o0(J[8+f>>3]);return L2=16+f|0,A=i}function l0(A,e){var r,f=0,i=0,a=0,n=0,b=0,t=0,o=j2(0);Q2(e),i=(t=(a=w2[2])<<1)-1|0;A:{e:{r:{f:{Q2(A);i:{if((n=w2[2])-8388608>>>0<=2130706431){if(4278190078>>0)break i;break r}if(i>>>0<4278190079)break f}if(o=j2(1),1065353216==(0|n))break e;if(!t)break e;if(f=n<<1,!(t>>>0<4278190081&&f>>>0<=4278190080))return j2(A+e);if(2130706432==(0|f))break e;return j2(((-1^a)>>>31|0)==(f>>>0<2130706432|0)?0:e*e)}if(4278190079<=(n<<1)-1>>>0){if(o=j2(A*A),-1<(0|n)||23<(f=a>>>23&255)-127>>>0||(o=!((f=1<<150-f)&a)||a&f-1?o:j2(-o)),-1<(0|a))break e;return j2(j2(1)/o)}if((0|n)<=-1){if((f=a>>>23&255)>>>0<127)break A;f:{if(f>>>0<=150){if(a&(i=1<<150-f)-1)break A;if(f=65536,i&a)break f}f=0}n&=2147483647}8388607>>0||(n=(2147483647&(Q2(j2(A*j2(8388608))),w2[2]))-192937984|0)}if(r=J[(i=(t=n-1060306944|0)>>>15&240)+9120>>3]*(E2(2,n-(-8388608&t)|0),+h2())-1,P(b=((J[1173]+J[1172]*r)*((b=r*r)*b)+(b*(J[1175]+J[1174]*r)+(J[i+9128>>3]+(t>>23)+r*J[1176])))*+e),i=0|w2[1],w2[0],!(1079967744==(0|(i&=2147450880))|i>>>0<1079967744)){if(127.99999995700433>2],i=y2[i+4>>2]+(t<<=15)|0,E2(0,0|f),E2(1,0|(f>>>0>>0?i+1|0:i)),o=j2(r*+H())}return o}return A=j2(A-A),j2(A/A)}function b2(A){var e=0,r=0,f=0,i=0,a=0;if(Q2(A),255==(0|(r=(a=w2[2])>>>23&255)))return A=j2(A*j2(6.2831854820251465)),j2(A/A);if(2173837238<(e=a<<1)>>>0){if(r)e=8388607&a|8388608;else{if((r=0)<=(0|(e=a<<9)))for(;;)if(r=r-1|0,!(-1<(0|(e<<=1))))break;e=a<<1-r}if(i=-1<(0|(f=e-13176795|0)),129<(0|r)){for(;;){if(1&i&&!(e=f))return j2(A*j2(0));if(i=-1<(0|(f=(e<<=1)-13176795|0)),!(129<(0|(r=r-1|0))))break}r=129}if(i&&!(e=f))return j2(A*j2(0));if(8388607>>0)i=e;else for(;;)if(r=r-1|0,f=e>>>0<4194304,e=i=e<<1,!f)break;return E2(2,(e=1<=(0|r)?i-8388608|r<<23:i>>>1-r|0)|(f=-2147483648&a)),h2()}return-2121130058==(0|e)?j2(A*j2(0)):A}function s0(A){U()}function A(A){b(A|=0)}function v0(A,e){var r=0;return y2[(A|=0)+12>>2]&y2[(e|=0)+4>>2]?(r=1,U2[A+88|0]||(A=y2[e>>2])&&(r=!(4&U2[A+204|0])),0|r):0}function B0(A,e){y2[(A|=0)+16>>2]=e|=0}function d0(A){return(A|=0)+52|0}function _0(A){return(A|=0)+68|0}function g0(A){return y2[(A|=0)+84>>2]}function Z0(A){var e;return y2[(A|=0)>>2]=9980,(e=y2[A+124>>2])&&(U2[A+128|0]&&(y2[6503]=y2[6503]+1,$2(y2[e-4>>2])),y2[A+124>>2]=0),y2[A+124>>2]=0,y2[A+116>>2]=0,y2[A+120>>2]=0,X2[A+128|0]=1,(e=y2[A+104>>2])&&(U2[A+108|0]&&(y2[6503]=y2[6503]+1,$2(y2[e-4>>2])),y2[A+104>>2]=0),y2[A+104>>2]=0,y2[A+96>>2]=0,y2[A+100>>2]=0,X2[A+108|0]=1,(e=y2[A+84>>2])&&(U2[A+88|0]&&(y2[6503]=y2[6503]+1,$2(y2[e-4>>2])),y2[A+84>>2]=0),y2[A+84>>2]=0,y2[A+76>>2]=0,y2[A+80>>2]=0,X2[A+88|0]=1,(e=y2[A+32>>2])&&(U2[A+36|0]&&(y2[6503]=y2[6503]+1,$2(y2[e-4>>2])),y2[A+32>>2]=0),y2[A+32>>2]=0,y2[A+24>>2]=0,y2[A+28>>2]=0,y2[A>>2]=9776,X2[A+36|0]=1,0|A}function C0(A,e,r){A|=0,e|=0,r|=0;var f=0,i=0,a=0,n=0,b=0,t=0,o=j2(0),c=j2(0),k=j2(0),u=j2(0),l=j2(0);if(y2[A+8>>2]=y2[e>>2],(0|(f=y2[A+24>>2]))==y2[A+28>>2]&&!((0|(a=f?f<<1:1))<=(0|f))){if(a&&(y2[6502]=y2[6502]+1,i=q2(16+(a<<2|3)|0))&&(y2[(n=i+19&-16)-4>>2]=i),1<=(0|f))for(i=f;;)if(y2[b+n>>2]=y2[y2[A+32>>2]+b>>2],b=b+4|0,!(i=i-1|0))break;(i=y2[A+32>>2])&&(U2[A+36|0]&&(y2[6503]=y2[6503]+1,$2(y2[i-4>>2]),f=y2[A+24>>2]),y2[A+32>>2]=0),y2[A+32>>2]=n,y2[A+28>>2]=a,X2[A+36|0]=1}if(y2[A+24>>2]=f+1,y2[y2[A+32>>2]+(f<<2)>>2]=y2[e>>2],o=r?(l=H2[e+16>>2],k=H2[e+12>>2],c=H2[e+8>>2],H2[e+20>>2]):(u=H2[e+8>>2],r=y2[A+8>>2],c=H2[e+12>>2],o=H2[e+16>>2],l=j2(j2(j2(u*H2[r+36>>2])+j2(c*H2[r+40>>2]))+j2(o*H2[r+44>>2])),k=j2(j2(j2(u*H2[r+20>>2])+j2(c*H2[r+24>>2]))+j2(o*H2[r+28>>2])),c=j2(j2(j2(H2[r+4>>2]*u)+j2(H2[r+8>>2]*c))+j2(H2[r+12>>2]*o)),j2(0)),(0|(i=y2[A+76>>2]))==y2[A+80>>2]&&!((0|(t=i?i<<1:1))<=(0|i))){if(r=0,t&&(y2[6502]=y2[6502]+1,f=q2(16+(t<<4|3)|0))&&(y2[(r=f+19&-16)-4>>2]=f),1<=(0|i))for(b=0;;)if(a=y2[A+84>>2]+b|0,f=y2[a+4>>2],y2[(n=r+b|0)>>2]=y2[a>>2],y2[n+4>>2]=f,f=y2[(a=a+8|0)+4>>2],y2[(n=n+8|0)>>2]=y2[a>>2],y2[n+4>>2]=f,b=b+16|0,!(i=i-1|0))break;(f=y2[A+84>>2])&&(U2[A+88|0]&&(y2[6503]=y2[6503]+1,$2(y2[f-4>>2])),y2[A+84>>2]=0),y2[A+84>>2]=r,y2[A+80>>2]=t,X2[A+88|0]=1,i=y2[A+76>>2]}if(r=y2[A+84>>2]+(i<<4)|0,H2[r+12>>2]=o,H2[r+8>>2]=l,H2[r+4>>2]=k,H2[r>>2]=c,y2[A+76>>2]=y2[A+76>>2]+1,k=H2[e+24>>2],o=j2(j2(1)-k),u=j2(j2(o*H2[A+48>>2])+j2(k*H2[A- -64>>2])),c=j2(j2(o*H2[A+44>>2])+j2(k*H2[A+60>>2])),o=j2(j2(o*H2[A+40>>2])+j2(k*H2[A+56>>2])),(0|(i=y2[A+96>>2]))==y2[A+100>>2]&&!((0|(t=i?i<<1:1))<=(0|i))){if(r=0,t&&(y2[6502]=y2[6502]+1,f=q2(16+(t<<4|3)|0))&&(y2[(r=f+19&-16)-4>>2]=f),1<=(0|i))for(b=0;;)if(a=y2[A+104>>2]+b|0,f=y2[a+4>>2],y2[(n=r+b|0)>>2]=y2[a>>2],y2[n+4>>2]=f,f=y2[(a=a+8|0)+4>>2],y2[(n=n+8|0)>>2]=y2[a>>2],y2[n+4>>2]=f,b=b+16|0,!(i=i-1|0))break;(f=y2[A+104>>2])&&(U2[A+108|0]&&(y2[6503]=y2[6503]+1,$2(y2[f-4>>2])),y2[A+104>>2]=0),y2[A+104>>2]=r,y2[A+100>>2]=t,X2[A+108|0]=1,i=y2[A+96>>2]}if(r=y2[A+104>>2]+(i<<4)|0,H2[r+8>>2]=u,H2[r+4>>2]=c,H2[r>>2]=o,y2[A+96>>2]=y2[A+96>>2]+1,(0|(f=y2[A+116>>2]))==y2[A+120>>2]&&!((0|(t=f?f<<1:1))<=(0|f))){a=0,t&&(y2[6502]=y2[6502]+1,r=q2(16+(t<<2|3)|0))&&(y2[(a=r+19&-16)-4>>2]=r),r=y2[A+124>>2];A:{if(1<=(0|f)){for(b=a,i=r,n=f;;)if(y2[b>>2]=y2[i>>2],b=b+4|0,i=i+4|0,!(n=n-1|0))break}else if(!r)break A;U2[A+128|0]&&(y2[6503]=y2[6503]+1,$2(y2[r-4>>2]),f=y2[A+116>>2]),y2[A+124>>2]=0}y2[A+124>>2]=a,y2[A+120>>2]=t,X2[A+128|0]=1}return y2[y2[A+124>>2]+(f<<2)>>2]=y2[e+24>>2],y2[A+116>>2]=f+1,j2(H2[A+4>>2])}function w0(A,e){var r=0;return y2[(A|=0)+12>>2]&y2[(e|=0)+4>>2]?(r=1,U2[A+152|0]||(A=y2[e>>2])&&(r=!(4&U2[A+204|0])),0|r):0}function E0(A){return(A|=0)+92|0}function Q0(A){return(A|=0)+72|0}function h0(A){return(A|=0)+132|0}function e(A){return 0|(A|=0)}function G0(A){var e;return y2[(A|=0)>>2]=10328,(e=y2[A+124>>2])&&(U2[A+128|0]&&(y2[6503]=y2[6503]+1,$2(y2[e-4>>2])),y2[A+124>>2]=0),y2[A+124>>2]=0,y2[A+116>>2]=0,y2[A+120>>2]=0,X2[A+128|0]=1,(e=y2[A+104>>2])&&(U2[A+108|0]&&(y2[6503]=y2[6503]+1,$2(y2[e-4>>2])),y2[A+104>>2]=0),y2[A+104>>2]=0,y2[A+96>>2]=0,y2[A+100>>2]=0,X2[A+108|0]=1,(e=y2[A+84>>2])&&(U2[A+88|0]&&(y2[6503]=y2[6503]+1,$2(y2[e-4>>2])),y2[A+84>>2]=0),y2[A+84>>2]=0,y2[A+76>>2]=0,y2[A+80>>2]=0,X2[A+88|0]=1,(e=y2[A+32>>2])&&(U2[A+36|0]&&(y2[6503]=y2[6503]+1,$2(y2[e-4>>2])),y2[A+32>>2]=0),y2[A+32>>2]=0,y2[A+24>>2]=0,y2[A+28>>2]=0,X2[A+36|0]=1,0|A}function F0(A,e,r){A|=0,e|=0,r|=0;var f,i=0,a=0,n=0,b=0,t=0,o=0,c=0,k=j2(0),u=j2(0),l=(j2(0),j2(0)),s=j2(0),n=y2[e>>2];if(y2[A+16>>2]=n,(0|(i=y2[A+24>>2]))==y2[A+28>>2]&&!((0|(b=i?i<<1:1))<=(0|i))){if(b&&(y2[6502]=y2[6502]+1,a=q2(16+(b<<2|3)|0))&&(y2[(t=a+19&-16)-4>>2]=a),1<=(0|i))for(n=0,a=i;;)if(y2[n+t>>2]=y2[y2[A+32>>2]+n>>2],n=n+4|0,!(a=a-1|0))break;(a=y2[A+32>>2])&&(U2[A+36|0]&&(y2[6503]=y2[6503]+1,$2(y2[a-4>>2]),i=y2[A+24>>2]),y2[A+32>>2]=0),y2[A+32>>2]=t,y2[A+28>>2]=b,X2[A+36|0]=1,n=y2[A+16>>2]}if(y2[A+24>>2]=i+1,y2[y2[A+32>>2]+(i<<2)>>2]=n,u=r?(l=H2[e+16>>2],s=H2[e+12>>2],k=H2[e+8>>2],H2[e+20>>2]):(f=H2[e+8>>2],r=y2[A+16>>2],k=H2[e+12>>2],u=H2[e+16>>2],l=j2(j2(j2(f*H2[r+36>>2])+j2(k*H2[r+40>>2]))+j2(u*H2[r+44>>2])),s=j2(j2(j2(f*H2[r+20>>2])+j2(k*H2[r+24>>2]))+j2(u*H2[r+28>>2])),k=j2(j2(j2(H2[r+4>>2]*f)+j2(H2[r+8>>2]*k))+j2(H2[r+12>>2]*u)),j2(0)),(0|(a=y2[A+76>>2]))==y2[A+80>>2]&&!((0|(c=a?a<<1:1))<=(0|a))){if(r=0,c&&(y2[6502]=y2[6502]+1,i=q2(16+(c<<4|3)|0))&&(y2[(r=i+19&-16)-4>>2]=i),1<=(0|a))for(n=0;;)if(o=y2[A+84>>2]+n|0,i=y2[o+4>>2],y2[(b=t=r+n|0)>>2]=y2[o>>2],y2[b+4>>2]=i,i=y2[(b=o+8|0)+4>>2],y2[(t=t+8|0)>>2]=y2[b>>2],y2[t+4>>2]=i,n=n+16|0,!(a=a-1|0))break;(i=y2[A+84>>2])&&(U2[A+88|0]&&(y2[6503]=y2[6503]+1,$2(y2[i-4>>2])),y2[A+84>>2]=0),y2[A+84>>2]=r,y2[A+80>>2]=c,X2[A+88|0]=1,a=y2[A+76>>2]}if(r=y2[A+84>>2]+(a<<4)|0,H2[r+12>>2]=u,H2[r+8>>2]=l,H2[r+4>>2]=s,H2[r>>2]=k,y2[A+76>>2]=y2[A+76>>2]+1,f=e+24|0,(0|(a=y2[A+96>>2]))==y2[A+100>>2]&&!((0|(c=a?a<<1:1))<=(0|a))){if(r=0,c&&(y2[6502]=y2[6502]+1,i=q2(16+(c<<4|3)|0))&&(y2[(r=i+19&-16)-4>>2]=i),1<=(0|a))for(n=0;;)if(o=y2[A+104>>2]+n|0,i=y2[o+4>>2],y2[(b=t=r+n|0)>>2]=y2[o>>2],y2[b+4>>2]=i,i=y2[(b=o+8|0)+4>>2],y2[(t=t+8|0)>>2]=y2[b>>2],y2[t+4>>2]=i,n=n+16|0,!(a=a-1|0))break;(i=y2[A+104>>2])&&(U2[A+108|0]&&(y2[6503]=y2[6503]+1,$2(y2[i-4>>2])),y2[A+104>>2]=0),y2[A+104>>2]=r,y2[A+100>>2]=c,X2[A+108|0]=1,a=y2[A+96>>2]}if(r=y2[4+f>>2],i=y2[A+104>>2]+(a<<4)|0,y2[i>>2]=y2[f>>2],y2[i+4>>2]=r,a=i+8|0,r=y2[(i=8+f|0)+4>>2],y2[a>>2]=y2[i>>2],y2[a+4>>2]=r,y2[A+96>>2]=y2[A+96>>2]+1,(0|(i=y2[A+116>>2]))==y2[A+120>>2]&&!((0|(o=i?i<<1:1))<=(0|i))){b=0,o&&(y2[6502]=y2[6502]+1,r=q2(16+(o<<2|3)|0))&&(y2[(b=r+19&-16)-4>>2]=r),r=y2[A+124>>2];A:{if(1<=(0|i)){for(n=b,a=r,t=i;;)if(y2[n>>2]=y2[a>>2],n=n+4|0,a=a+4|0,!(t=t-1|0))break}else if(!r)break A;U2[A+128|0]&&(y2[6503]=y2[6503]+1,$2(y2[r-4>>2]),i=y2[A+116>>2]),y2[A+124>>2]=0}y2[A+124>>2]=b,y2[A+120>>2]=o,X2[A+128|0]=1}return y2[y2[A+124>>2]+(i<<2)>>2]=y2[e+40>>2],y2[A+116>>2]=i+1,j2(H2[A+4>>2])}function D0(A){return(A|=0)+48|0}function Y0(A){return y2[(A|=0)+204>>2]}function m0(A,e,r){r|=0;var f,i;return y2[(e|=0)+16>>2]=y2[(A|=0)+4>>2],y2[e+20>>2]=y2[A+8>>2],y2[e+24>>2]=y2[A+12>>2],y2[e+28>>2]=y2[A+16>>2],y2[e+32>>2]=y2[A+20>>2],y2[e+36>>2]=y2[A+24>>2],y2[e+40>>2]=y2[A+28>>2],y2[e+44>>2]=y2[A+32>>2],y2[e+48>>2]=y2[A+36>>2],y2[e+52>>2]=y2[A+40>>2],y2[e+56>>2]=y2[A+44>>2],y2[e+60>>2]=y2[A+48>>2],y2[e+64>>2]=y2[A+52>>2],y2[e+68>>2]=y2[A+56>>2],y2[e+72>>2]=y2[A+60>>2],y2[e+76>>2]=y2[A- -64>>2],y2[e+80>>2]=y2[A+68>>2],y2[e+84>>2]=y2[A+72>>2],y2[e+88>>2]=y2[A+76>>2],y2[e+92>>2]=y2[A+80>>2],y2[e+96>>2]=y2[A+84>>2],y2[e+100>>2]=y2[A+88>>2],y2[e+104>>2]=y2[A+92>>2],y2[e+108>>2]=y2[A+96>>2],y2[e+112>>2]=y2[A+100>>2],y2[e+116>>2]=y2[A+104>>2],y2[e+120>>2]=y2[A+108>>2],y2[e+124>>2]=y2[A+112>>2],y2[e+128>>2]=y2[A+116>>2],y2[e+132>>2]=y2[A+120>>2],y2[e+136>>2]=y2[A+124>>2],y2[e+140>>2]=y2[A+128>>2],y2[e+144>>2]=y2[A+132>>2],y2[e+148>>2]=y2[A+136>>2],y2[e+152>>2]=y2[A+140>>2],y2[e+156>>2]=y2[A+144>>2],y2[e+160>>2]=y2[A+148>>2],y2[e+164>>2]=y2[A+152>>2],y2[e+168>>2]=y2[A+156>>2],y2[e+172>>2]=y2[A+160>>2],y2[e+176>>2]=y2[A+164>>2],y2[e+180>>2]=y2[A+168>>2],y2[e+184>>2]=y2[A+172>>2],y2[e+188>>2]=y2[A+176>>2],y2[e+232>>2]=y2[A+180>>2],y2[e+192>>2]=y2[A+184>>2],f=(y2[e>>2]=0)|N2[y2[y2[r>>2]+28>>2]](r,y2[A+192>>2]),i=y2[A+228>>2],y2[e+196>>2]=y2[A+224>>2],y2[e+200>>2]=i,i=y2[A+212>>2],y2[e+240>>2]=y2[A+208>>2],y2[e+244>>2]=i,y2[e+8>>2]=0,y2[e+4>>2]=f,y2[e+236>>2]=y2[A+204>>2],y2[e+248>>2]=y2[A+220>>2],y2[e+204>>2]=y2[A+236>>2],y2[e+208>>2]=y2[A+244>>2],y2[e+212>>2]=y2[A+248>>2],y2[e+216>>2]=y2[A+232>>2],y2[e+252>>2]=y2[A+252>>2],f=0|N2[y2[y2[r>>2]+40>>2]](r,A),i=0|N2[y2[y2[r>>2]+28>>2]](r,f),(y2[e+12>>2]=i)&&N2[y2[y2[r>>2]+48>>2]](r,f),y2[e+220>>2]=y2[A+268>>2],r=y2[A+280>>2],f=y2[A+276>>2],A=y2[A+272>>2],y2[e+260>>2]=0,y2[e+224>>2]=A,y2[e+228>>2]=f,y2[e+256>>2]=r,10504}function N0(A){var e,r,f,V,i,a,x,p,S,J,M,X,y,U,H,P,j,z,O,K,n,b=0,t=0,o=j2(0),c=0,k=0,u=j2(0),l=0,s=0,v=j2(0),B=j2(0),d=j2(0),_=0,g=0,Z=0,C=0,w=j2(0),E=0,Q=j2(0),h=0,G=j2(0),F=0,D=j2(0),Y=j2(0),m=j2(0),N=j2(0),R=j2(0),I=j2(0),W=j2(0),T=j2(0);j2(0),j2(0),j2(0),j2(0),j2(0),j2(0),j2(0),j2(0),j2(0),j2(0),j2(0),j2(0),j2(0),j2(0),j2(0),j2(0);L2=n=L2+-64|0;A:if(U2[A+356|0]){X2[A+356|0]=0,X2[A+352|0]=0,y2[(b=A+344|0)>>2]=0,y2[b+4>>2]=0,y2[(b=V=A+336|0)>>2]=0,y2[b+4>>2]=0,k=U2[0|(l=A+332|0)],X2[0|l]=b=-16&k,l=y2[A>>2];e:if(!(4>>0)){t=A+316|0;r:{f:{i:switch(l-1|0){case 1:d=H2[(l=A)+4>>2],o=j2(H2[A+20>>2]-d),G=H2[A+8>>2],v=j2(H2[A+24>>2]-G),w=H2[A+12>>2],B=j2(H2[A+28>>2]-w),t=(d=j2(j2(j2(j2(j2(0)-d)*o)+j2(j2(j2(0)-G)*v))+j2(j2(j2(0)-w)*B)))>j2(0)?d<(u=j2(j2(j2(o*o)+j2(v*v))+j2(B*B)))?(u=j2(d/u),3|b):(u=j2(1),2|b):1|b,X2[l+332|0]=t,y2[(b=A+344|0)>>2]=0,y2[b+4>>2]=0,H2[A+340>>2]=u,d=j2(j2(1)-u),H2[A+336>>2]=d,y2[A+256>>2]=0,o=H2[A+92>>2],G=j2(o+j2(u*j2(H2[A+108>>2]-o))),H2[A+252>>2]=G,o=H2[A+88>>2],w=j2(o+j2(u*j2(H2[A+104>>2]-o))),H2[A+248>>2]=w,o=H2[A+84>>2],Y=j2(o+j2(u*j2(H2[A+100>>2]-o))),H2[A+244>>2]=Y,Q=H2[A+180>>2],W=H2[A+184>>2],o=H2[A+168>>2],m=H2[A+188>>2],v=H2[A+172>>2],B=H2[A+164>>2],y2[A+288>>2]=0,v=j2(v+j2(u*j2(m-v))),H2[A+284>>2]=G-v,o=j2(o+j2(u*j2(W-o))),H2[A+280>>2]=w-o,B=j2(B+j2(u*j2(Q-B))),H2[A+276>>2]=Y-B,y2[A+272>>2]=0,H2[A+268>>2]=v,H2[A+264>>2]=o,H2[A+260>>2]=B,l=1,2&t||(y2[A>>2]=1,l=0),1&t||(y2[A>>2]=l,l=y2[(b=(t=(l<<4)+A|0)+12|0)>>2],b=y2[b+4>>2],c=y2[(k=t+4|0)>>2],k=y2[k+4>>2],F=y2[(g=t+84|0)+4>>2],y2[(s=A+84|0)>>2]=y2[g>>2],y2[s+4>>2]=F,g=y2[(E=t+92|0)+4>>2],y2[(s=s+8|0)>>2]=y2[E>>2],y2[s+4>>2]=g,F=y2[(g=t+164|0)+4>>2],y2[(s=A+164|0)>>2]=y2[g>>2],y2[s+4>>2]=F,E=y2[(t=t+172|0)+4>>2],y2[(s=s+8|0)>>2]=y2[t>>2],y2[s+4>>2]=E,y2[(t=A+4|0)>>2]=c,y2[t+4>>2]=k,y2[(t=t+8|0)>>2]=l,y2[t+4>>2]=b),t=u>=j2(0)&d>=j2(0);break e;case 2:y2[(b=32+n|0)>>2]=0,y2[b+4>>2]=0,y2[24+n>>2]=0,R0(24+n|(y2[28+n>>2]=0),k=A+4|0,c=A+20|0,s=A+36|0,t),y2[A+256>>2]=0,v=H2[A+336>>2],u=H2[A+340>>2],o=H2[A+344>>2],B=j2(j2(j2(v*H2[A+92>>2])+j2(u*H2[A+108>>2]))+j2(o*H2[A+124>>2])),H2[A+252>>2]=B,d=j2(j2(j2(v*H2[A+88>>2])+j2(u*H2[A+104>>2]))+j2(o*H2[A+120>>2])),H2[A+248>>2]=d,E=A+100|0,g=A+116|0,G=j2(j2(j2(v*H2[A+84>>2])+j2(u*H2[E>>2]))+j2(o*H2[g>>2])),H2[A+244>>2]=G,w=H2[(F=A+180|0)>>2],Y=H2[(C=A+196|0)>>2],Q=H2[A+168>>2],W=H2[A+184>>2],m=H2[A+200>>2],N=H2[A+172>>2],R=H2[A+188>>2],T=H2[A+204>>2],I=H2[A+164>>2],y2[A+288>>2]=0,D=B,B=j2(j2(j2(v*N)+j2(u*R))+j2(o*T)),H2[A+284>>2]=D-B,D=d,d=j2(j2(j2(v*Q)+j2(u*W))+j2(o*m)),H2[A+280>>2]=D-d,v=j2(j2(j2(v*I)+j2(u*w))+j2(o*Y)),H2[A+276>>2]=G-v,y2[A+272>>2]=0,H2[A+268>>2]=B,H2[A+264>>2]=d,H2[A+260>>2]=v;a:{n:{b:{t:{o:{if(4<=(0|(b=y2[A>>2])))8&(l=U2[A+332|0])?t=b:(y2[A>>2]=t=b-1|0,h=y2[(Z=(b=(t<<4)+A|0)+12|0)+4>>2],y2[(_=A+60|0)>>2]=y2[Z>>2],y2[_+4>>2]=h,h=y2[(Z=b+4|0)+4>>2],y2[(_=A+52|0)>>2]=y2[Z>>2],y2[_+4>>2]=h,h=y2[(Z=b+92|0)+4>>2],y2[(_=A+140|0)>>2]=y2[Z>>2],y2[_+4>>2]=h,h=y2[(Z=b+84|0)+4>>2],y2[(_=A+132|0)>>2]=y2[Z>>2],y2[_+4>>2]=h,h=y2[(Z=b+164|0)+4>>2],y2[(_=A+212|0)>>2]=y2[Z>>2],y2[_+4>>2]=h,Z=y2[(b=b+172|0)+4>>2],y2[(_=A+220|0)>>2]=y2[b>>2],y2[_+4>>2]=Z);else{if((t=3)!=(0|b))break o;l=U2[A+332|0]}if(4&l)break t;y2[A>>2]=t=t-1|0,h=y2[(Z=(b=(t<<4)+A|0)+12|0)+4>>2],y2[(_=s+8|0)>>2]=y2[Z>>2],y2[_+4>>2]=h,Z=y2[(_=b+4|0)+4>>2],y2[s>>2]=y2[_>>2],y2[s+4>>2]=Z,Z=y2[(_=b+92|0)+4>>2],y2[(s=g+8|0)>>2]=y2[_>>2],y2[s+4>>2]=Z,_=y2[(s=b+84|0)+4>>2],y2[g>>2]=y2[s>>2],y2[g+4>>2]=_,g=y2[(s=b+164|0)+4>>2],y2[C>>2]=y2[s>>2],y2[C+4>>2]=g,g=y2[(b=b+172|0)+4>>2],y2[(s=C+8|0)>>2]=y2[b>>2],y2[s+4>>2]=g;break t}if((0|b)<(t=2))break b;l=U2[A+332|0]}if(2&l)break n;y2[A>>2]=t=t-1|0,C=y2[(g=(b=(t<<4)+A|0)+12|0)+4>>2],y2[(s=c+8|0)>>2]=y2[g>>2],y2[s+4>>2]=C,g=y2[(s=b+4|0)+4>>2],y2[c>>2]=y2[s>>2],y2[c+4>>2]=g,g=y2[(s=b+92|0)+4>>2],y2[(c=E+8|0)>>2]=y2[s>>2],y2[c+4>>2]=g,s=y2[(c=b+84|0)+4>>2],y2[E>>2]=y2[c>>2],y2[E+4>>2]=s,s=y2[(c=b+164|0)+4>>2],y2[F>>2]=y2[c>>2],y2[F+4>>2]=s,s=y2[(b=b+172|0)+4>>2],y2[(c=F+8|0)>>2]=y2[b>>2],y2[c+4>>2]=s;break n}if((t=1)!=(0|b))break a;l=U2[A+332|0]}1&l||(y2[A>>2]=t=t-1|0,c=y2[(l=(t=(t<<4)+A|0)+12|0)+4>>2],y2[(b=k+8|0)>>2]=y2[l>>2],y2[b+4>>2]=c,l=y2[(b=t+4|0)+4>>2],y2[k>>2]=y2[b>>2],y2[k+4>>2]=l,c=y2[(k=t+92|0)+4>>2],y2[(l=(b=A+84|0)+8|0)>>2]=y2[k>>2],y2[l+4>>2]=c,k=y2[(l=t+84|0)+4>>2],y2[b>>2]=y2[l>>2],y2[b+4>>2]=k,c=y2[(k=t+164|0)+4>>2],y2[(b=A+164|0)>>2]=y2[k>>2],y2[b+4>>2]=c,l=y2[(t=t+172|0)+4>>2],y2[(b=b+8|0)>>2]=y2[t>>2],y2[b+4>>2]=l)}if(!(H2[V>>2]>=j2(t=0)))break e;if(!(u>=j2(0)))break e;if(!(o>=j2(0)))break e;t=H2[A+348>>2]>=j2(0);break e;case 3:if(y2[(b=16+n|0)>>2]=0,y2[b+4>>2]=0,y2[8+n>>2]=0,y2[12+n>>2]=0,y2[t>>2]=0,y2[t+4>>2]=0,y2[(t=t+8|0)>>2]=0,y2[t+4>>2]=0,X2[A+332|0]=15|k,X2[40+n|0]=0,u=H2[A+12>>2],i=j2(j2(0)-u),o=H2[A+28>>2],v=j2(o-u),p=H2[(k=A+36|0)>>2],B=H2[A+4>>2],d=j2(p-B),S=H2[A+56>>2],G=H2[A+8>>2],w=j2(S-G),J=H2[A+40>>2],Y=j2(J-G),M=H2[(c=A+52|0)>>2],Q=j2(M-B),X=j2(j2(d*w)-j2(Y*Q)),W=H2[(s=A+20|0)>>2],m=j2(W-B),y=H2[A+60>>2],N=j2(y-u),U=H2[A+44>>2],R=j2(U-u),H=j2(j2(Y*N)-j2(R*w)),T=H2[A+24>>2],I=j2(T-G),P=j2(j2(R*Q)-j2(d*N)),a=j2(j2(v*X)+j2(j2(m*H)+j2(I*P))),j=j2(j2(I*R)-j2(v*Y)),z=j2(j2(v*d)-j2(m*R)),O=j2(j2(m*Y)-j2(I*d)),x=j2(j2(j2(j*Q)+j2(z*w))+j2(O*N)),r=R,R=j2(j2(I*Q)-j2(m*w)),w=j2(j2(v*w)-j2(I*N)),D=Y,Y=j2(j2(m*N)-j2(v*Q)),v=j2(j2(r*R)+j2(j2(d*w)+j2(D*Y))),r=j2(u-o),u=j2(J-T),d=j2(M-W),Q=j2(p-W),m=j2(S-T),N=j2(j2(u*d)-j2(Q*m)),I=j2(U-o),D=u,u=j2(y-o),m=j2(j2(I*m)-j2(D*u)),Q=j2(j2(Q*u)-j2(I*d)),u=j2(j2(r*N)+j2(j2(j2(B-W)*m)+j2(j2(G-T)*Q))),g=j2(u*u)>2],o=j2(v-H2[8+n>>2]),u=j2(o*o),B=H2[28+n>>2],o=j2(B-H2[12+n>>2]),u=j2(u+j2(o*o)),d=H2[32+n>>2],o=j2(d-H2[16+n>>2]),o=j2(u+j2(o*o)),u=j2(34028234663852886e22),o>2]=v,t=y2[48+n>>2],y2[A+336>>2]=y2[44+n>>2],y2[A+340>>2]=t,y2[A+328>>2]=y2[36+n>>2],H2[A+324>>2]=d,H2[A+320>>2]=B,y2[A+348>>2]=0,y2[A+344>>2]=y2[52+n>>2],t=U2[40+n|0],X2[A+332|0]=1&t|240&U2[A+332|0]|2&t|4&t,u=o),b&&(R0(8+n|0,E,k,c,24+n|0),v=H2[24+n>>2],o=j2(v-H2[8+n>>2]),D=j2(o*o),B=H2[28+n>>2],o=j2(B-H2[12+n>>2]),D=j2(D+j2(o*o)),d=H2[32+n>>2],o=j2(d-H2[16+n>>2]),(o=j2(D+j2(o*o)))>2]=v,y2[A+336>>2]=y2[44+n>>2],y2[A+328>>2]=y2[36+n>>2],H2[A+324>>2]=d,H2[A+320>>2]=B,y2[A+340>>2]=0,F=y2[(b=48+n|0)+4>>2],y2[(t=A+344|0)>>2]=y2[b>>2],y2[t+4>>2]=F,b=U2[40+n|0],X2[A+332|0]=8&(t=b<<1)|(4&t|(1&b|240&U2[A+332|0])),u=o),l&&(R0(8+n|0,E,c,s,24+n|0),v=H2[24+n>>2],o=j2(v-H2[8+n>>2]),D=j2(o*o),B=H2[28+n>>2],o=j2(B-H2[12+n>>2]),D=j2(D+j2(o*o)),d=H2[32+n>>2],o=j2(d-H2[16+n>>2]),(o=j2(D+j2(o*o)))>2]=v,y2[A+336>>2]=y2[44+n>>2],y2[A+328>>2]=y2[36+n>>2],H2[A+324>>2]=d,H2[A+320>>2]=B,y2[A+344>>2]=0,y2[A+348>>2]=y2[48+n>>2],y2[A+340>>2]=y2[52+n>>2],t=U2[40+n|0],X2[A+332|0]=1&t|240&U2[A+332|0]|t>>>1&2|t<<2&8,u=o),g&&(R0(8+n|0,s,c,k,24+n|0),D=u,u=H2[24+n>>2],o=j2(u-H2[8+n>>2]),r=j2(o*o),o=H2[28+n>>2],v=j2(o-H2[12+n>>2]),r=j2(r+j2(v*v)),v=H2[32+n>>2],B=j2(v-H2[16+n>>2]),D>j2(r+j2(B*B)))&&(H2[A+316>>2]=u,y2[A+336>>2]=0,y2[A+328>>2]=y2[36+n>>2],H2[A+324>>2]=v,H2[A+320>>2]=o,y2[A+340>>2]=y2[44+n>>2],y2[A+348>>2]=y2[48+n>>2],y2[A+344>>2]=y2[52+n>>2],t=U2[40+n|0],X2[A+332|0]=4&t|240&U2[A+332|0]|t<<1&2|t<<2&8),y2[A+256>>2]=0,o=H2[A+336>>2],v=H2[A+340>>2],B=H2[A+344>>2],u=H2[A+348>>2],d=j2(j2(j2(j2(o*H2[A+92>>2])+j2(v*H2[A+108>>2]))+j2(B*H2[A+124>>2]))+j2(u*H2[A+140>>2])),H2[A+252>>2]=d,G=j2(j2(j2(j2(o*H2[A+88>>2])+j2(v*H2[A+104>>2]))+j2(B*H2[A+120>>2]))+j2(u*H2[A+136>>2])),H2[A+248>>2]=G,g=A+100|0,F=A+116|0,C=A+132|0,w=j2(j2(j2(j2(o*H2[A+84>>2])+j2(v*H2[g>>2]))+j2(B*H2[F>>2]))+j2(u*H2[C>>2])),H2[A+244>>2]=w,y2[A+288>>2]=0,_=A+180|(y2[A+272>>2]=0),Z=A+196|0,h=A+212|0,Y=j2(j2(j2(j2(o*H2[A+164>>2])+j2(v*H2[_>>2]))+j2(B*H2[Z>>2]))+j2(u*H2[h>>2])),H2[A+260>>2]=Y,Q=j2(j2(j2(j2(o*H2[A+168>>2])+j2(v*H2[A+184>>2]))+j2(B*H2[A+200>>2]))+j2(u*H2[A+216>>2])),H2[A+264>>2]=Q,o=j2(j2(j2(j2(o*H2[A+172>>2])+j2(v*H2[A+188>>2]))+j2(B*H2[A+204>>2]))+j2(u*H2[A+220>>2])),H2[A+268>>2]=o,H2[A+276>>2]=w-Y,H2[A+280>>2]=G-Q,H2[A+284>>2]=d-o;a:{n:{b:{t:{o:{if(4<=(0|(b=y2[A>>2])))8&(l=U2[A+332|0])?t=b:(y2[A>>2]=t=b-1|0,K=y2[4+(f=(b=(t<<4)+A|0)+12|0)>>2],y2[(e=c+8|0)>>2]=y2[f>>2],y2[4+e>>2]=K,f=y2[4+(e=b+4|0)>>2],y2[c>>2]=y2[e>>2],y2[c+4>>2]=f,f=y2[4+(e=b+92|0)>>2],y2[(c=C+8|0)>>2]=y2[e>>2],y2[c+4>>2]=f,e=y2[(c=b+84|0)+4>>2],y2[C>>2]=y2[c>>2],y2[C+4>>2]=e,C=y2[(c=b+164|0)+4>>2],y2[h>>2]=y2[c>>2],y2[h+4>>2]=C,C=y2[(b=b+172|0)+4>>2],y2[(c=h+8|0)>>2]=y2[b>>2],y2[c+4>>2]=C);else{if((t=3)!=(0|b))break o;l=U2[A+332|0]}if(4&l)break t;y2[A>>2]=t=t-1|0,h=y2[(C=(b=(t<<4)+A|0)+12|0)+4>>2],y2[(c=k+8|0)>>2]=y2[C>>2],y2[c+4>>2]=h,C=y2[(c=b+4|0)+4>>2],y2[k>>2]=y2[c>>2],y2[k+4>>2]=C,C=y2[(c=b+92|0)+4>>2],y2[(k=F+8|0)>>2]=y2[c>>2],y2[k+4>>2]=C,c=y2[(k=b+84|0)+4>>2],y2[F>>2]=y2[k>>2],y2[F+4>>2]=c,c=y2[(k=b+164|0)+4>>2],y2[Z>>2]=y2[k>>2],y2[Z+4>>2]=c,c=y2[(b=b+172|0)+4>>2],y2[(k=Z+8|0)>>2]=y2[b>>2],y2[k+4>>2]=c;break t}if((0|b)<(t=2))break b;l=U2[A+332|0]}if(2&l)break n;y2[A>>2]=t=t-1|0,F=y2[(c=(b=(t<<4)+A|0)+12|0)+4>>2],y2[(k=s+8|0)>>2]=y2[c>>2],y2[k+4>>2]=F,c=y2[(k=b+4|0)+4>>2],y2[s>>2]=y2[k>>2],y2[s+4>>2]=c,s=y2[(c=b+92|0)+4>>2],y2[(k=g+8|0)>>2]=y2[c>>2],y2[k+4>>2]=s,c=y2[(k=b+84|0)+4>>2],y2[g>>2]=y2[k>>2],y2[g+4>>2]=c,c=y2[(k=b+164|0)+4>>2],y2[_>>2]=y2[k>>2],y2[_+4>>2]=c,c=y2[(b=b+172|0)+4>>2],y2[(k=_+8|0)>>2]=y2[b>>2],y2[k+4>>2]=c;break n}if((t=1)!=(0|b))break a;l=U2[A+332|0]}1&l||(y2[A>>2]=t=t-1|0,k=y2[(l=(t=(t<<4)+A|0)+12|0)+4>>2],y2[(b=E+8|0)>>2]=y2[l>>2],y2[b+4>>2]=k,l=y2[(b=t+4|0)+4>>2],y2[E>>2]=y2[b>>2],y2[E+4>>2]=l,c=y2[(k=t+92|0)+4>>2],y2[(l=(b=A+84|0)+8|0)>>2]=y2[k>>2],y2[l+4>>2]=c,k=y2[(l=t+84|0)+4>>2],y2[b>>2]=y2[l>>2],y2[b+4>>2]=k,c=y2[(k=t+164|0)+4>>2],y2[(b=A+164|0)>>2]=y2[k>>2],y2[b+4>>2]=c,l=y2[(t=t+172|0)+4>>2],y2[(b=b+8|0)>>2]=y2[t>>2],y2[b+4>>2]=l)}if(!(H2[V>>2]>=j2(t=0)))break e;if(!(H2[A+340>>2]>=j2(0)))break e;if(!(H2[A+344>>2]>=j2(0)))break e;t=u>=j2(0);break e}if(U2[A+352|0])break;break f;case 0:break r;default:break i;}t=0;break e}y2[A+276>>2]=0,y2[A+280>>2]=0,X2[A+312|0]=t=1,y2[(A=A+284|0)>>2]=0,y2[A+4>>2]=0;break A}t=y2[A+168>>2],y2[A+260>>2]=y2[A+164>>2],y2[A+264>>2]=t,t=y2[A+88>>2],y2[A+244>>2]=y2[A+84>>2],y2[A+248>>2]=t,c=y2[(k=A+172|0)+4>>2],y2[(t=l=A+268|0)>>2]=y2[k>>2],y2[t+4>>2]=c,c=y2[(k=A+92|0)+4>>2],y2[(t=A+252|0)>>2]=y2[k>>2],y2[t+4>>2]=c,X2[A+352|0]=0,y2[A+288>>2]=0,H2[A+280>>2]=H2[A+248>>2]-H2[A+264>>2],H2[A+276>>2]=H2[A+244>>2]-H2[A+260>>2],H2[A+284>>2]=H2[t>>2]-H2[l>>2],y2[(t=A+344|0)>>2]=0,y2[t+4>>2]=0,y2[A+336>>2]=1065353216,y2[A+340>>2]=0,X2[A+332|0]=b,t=1}X2[A+312|0]=t}else t=U2[A+312|0];return L2=n+64|0,0!=(255&t)}function R0(A,e,r,f,i){var a,n,b,t,o,c,k,u,l,s,v,B,d,_,g,Z=j2(0),C=j2(0),w=j2(0),E=(j2(0),j2(0)),Q=(j2(0),j2(0),j2(0),j2(0),j2(0),j2(0),j2(0),j2(0),j2(0),j2(0)),h=j2(0),G=j2(0),F=j2(0),D=j2(0),Y=j2(0),m=(j2(0),j2(0),j2(0),j2(0),-16&U2[i+16|0]);X2[i+16|0]=m,B=H2[f>>2],b=H2[e>>2],u=j2(B-b),n=H2[A>>2],Z=j2(n-b),d=H2[f+4>>2],t=H2[e+4>>2],l=j2(d-t),a=H2[A+4>>2],C=j2(a-t),_=H2[f+8>>2],o=H2[e+8>>2],s=j2(_-o),c=H2[A+8>>2],w=j2(c-o),E=j2(j2(j2(u*Z)+j2(l*C))+j2(s*w)),g=i,F=H2[r>>2],Q=j2(F-b),D=H2[r+4>>2],h=j2(D-t),Y=H2[r+8>>2],G=j2(Y-o),w=(C=j2(j2(j2(Q*Z)+j2(h*C))+j2(G*w)))<=j2(0)&&E<=j2(0)?(A=y2[e+4>>2],y2[i>>2]=y2[e>>2],y2[i+4>>2]=A,r=y2[(e=e+8|0)+4>>2],y2[(A=i+8|0)>>2]=y2[e>>2],y2[A+4>>2]=r,X2[i+16|0]=1|m,C=j2(0),Z=j2(0),j2(1)):(Z=j2(n-F),w=j2(a-D),k=j2(c-Y),v=j2(j2(j2(u*Z)+j2(l*w))+j2(s*k)),(w=j2(j2(j2(Q*Z)+j2(h*w))+j2(G*k)))>=j2(0)&&v<=w?(A=y2[r+4>>2],y2[i>>2]=y2[r>>2],y2[i+4>>2]=A,r=y2[(e=r+8|0)+4>>2],y2[(A=i+8|0)>>2]=y2[e>>2],y2[A+4>>2]=r,X2[i+16|0]=2|m,C=j2(1),Z=j2(0),j2(0)):(k=j2(j2(C*v)-j2(w*E)),w<=j2(0)&&C>=j2(0)&&(Z=j2(0),k<=j2(0))?(y2[i+12>>2]=0,X2[i+16|0]=3|m,C=j2(C/j2(C-w)),H2[i+8>>2]=o+j2(G*C),H2[i+4>>2]=t+j2(h*C),H2[i>>2]=b+j2(Q*C),j2(j2(1)-C)):(Z=j2(n-B),a=j2(a-d),c=j2(c-_),n=j2(j2(j2(Q*Z)+j2(h*a))+j2(G*c)),(Z=j2(j2(j2(u*Z)+j2(l*a))+j2(s*c)))>=j2(0)&&n<=Z?(A=y2[f+4>>2],y2[i>>2]=y2[f>>2],y2[i+4>>2]=A,r=y2[(e=f+8|0)+4>>2],y2[(A=i+8|0)>>2]=y2[e>>2],y2[A+4>>2]=r,X2[i+16|0]=4|m,Z=j2(1),C=j2(0),j2(0)):(a=j2(j2(n*E)-j2(C*Z)),Z<=j2(0)&&E>=j2(0)&&(C=j2(0),a<=j2(0))?(y2[i+12>>2]=0,X2[i+16|0]=5|m,Z=j2(E/j2(E-Z)),H2[i+8>>2]=o+j2(s*Z),H2[i+4>>2]=t+j2(l*Z),H2[i>>2]=b+j2(u*Z),j2(j2(1)-Z)):(E=j2(j2(w*Z)-j2(n*v)))<=j2(0)&&(C=j2(v-w))>=j2(0)&&(Z=j2(n-Z))>=j2(0)?(y2[i+12>>2]=0,X2[i+16|0]=6|m,Z=j2(C/j2(C+Z)),H2[i+8>>2]=Y+j2(j2(_-Y)*Z),H2[i+4>>2]=D+j2(j2(d-D)*Z),H2[i>>2]=F+j2(j2(B-F)*Z),C=j2(j2(1)-Z),j2(0)):(y2[i+12>>2]=0,X2[i+16|0]=7|m,C=j2(j2(1)/j2(k+j2(E+a))),Z=j2(k*C),C=j2(a*C),H2[i+8>>2]=j2(s*Z)+j2(o+j2(G*C)),H2[i+4>>2]=j2(l*Z)+j2(t+j2(h*C)),H2[i>>2]=j2(u*Z)+j2(b+j2(Q*C)),j2(j2(j2(1)-C)-Z)))))),H2[g+20>>2]=w,y2[i+32>>2]=0,H2[i+28>>2]=Z,H2[i+24>>2]=C}function I0(A,e,r,f,i,a){A|=0,e|=0,r|=0,f|=0,i|=0,a|=0;var n,b,t,o,c,k,u,l,s,v,B,d,_,g,Z,C,V,x,p,S,w,J,M,X,y,U,H,P,j,z,O,K,L,q,$,A2,e2,r2,f2,i2,a2,E,Q=0,h=j2(0),G=j2(0),F=0,D=j2(0),Y=j2(0),m=(j2(0),j2(0),j2(0),0),N=j2(0),R=(j2(0),j2(0),0),I=(j2(0),j2(0),j2(0),j2(0),0),W=j2(0),T=j2(0),n2=(j2(0),j2(0),j2(0),j2(0),j2(0),j2(0),j2(0),j2(0),j2(0),j2(0)),b2=j2(0),t2=(j2(0),j2(0)),o2=j2(0),c2=(j2(0),j2(0),j2(0),j2(0),j2(0),j2(0)),k2=j2(0),u2=(j2(0),j2(0),j2(0),j2(0),j2(0),j2(0),j2(0),j2(0),j2(0),0);L2=E=L2-32|0,n=y2[A+4>>2],X2[n+312|0]=0,X2[n+356|0]=1,y2[n>>2]=0,y2[n+292>>2]=1566444395,y2[n+296>>2]=1566444395,y2[(Q=n+336|0)>>2]=0,y2[Q+4>>2]=0,y2[(Q=n+300|0)>>2]=1566444395,y2[Q+4>>2]=0,y2[(Q=n+344|0)>>2]=0,y2[Q+4>>2]=0,X2[n+352|0]=0,X2[0|(Q=n+332|0)]=240&U2[0|Q],z=H2[(V=f+40|0)>>2],O=H2[(x=f+36|0)>>2],K=H2[(p=f+24|0)>>2],L=H2[(S=f+20|0)>>2],w=H2[(q=e+20|0)>>2],J=H2[($=e+36|0)>>2],M=H2[(F=e+24|0)>>2],D=H2[r+52>>2],n2=H2[(R=e+52|0)>>2],h=H2[i+52>>2],b2=H2[(I=f+52|0)>>2],X=H2[(m=e+40|0)>>2],G=H2[r+56>>2],t2=H2[(n=e+56|0)>>2],W=H2[i+56>>2],o2=H2[(Q=f+56|0)>>2],A2=H2[f+32>>2],e2=H2[f+16>>2],r2=H2[f+8>>2],f2=H2[f+4>>2],i2=H2[f>>2],y=H2[e>>2],U=H2[e+16>>2],H=H2[e+32>>2],P=H2[e+4>>2],j=H2[e+8>>2],T=H2[r+48>>2],c2=H2[e+48>>2],Y=H2[i+48>>2],k2=H2[f+48>>2],a2=y2[A+8>>2],y2[12+E>>2]=0,B=j2(j2(D-n2)-j2(h-b2)),h=j2(-B),u=j2(j2(T-c2)-j2(Y-k2)),l=j2(j2(G-t2)-j2(W-o2)),H2[8+E>>2]=j2(j2(M*h)-j2(j*u))-j2(X*l),H2[4+E>>2]=j2(j2(w*h)-j2(u*P))-j2(l*J),H2[E>>2]=j2(j2(U*h)-j2(u*y))-j2(l*H),N2[y2[y2[a2>>2]+64>>2]](16+E|0,a2,E),d=H2[n>>2],o=H2[m>>2],_=H2[$>>2],g=H2[R>>2],Z=H2[F>>2],C=H2[q>>2],s=H2[e+32>>2],t=H2[e+48>>2],b=H2[e+8>>2],D=H2[e>>2],h=H2[e+4>>2],G=H2[e+16>>2],c=H2[24+E>>2],k=H2[16+E>>2],v=H2[20+E>>2],n=y2[A+12>>2],y2[12+E>>2]=0,H2[8+E>>2]=j2(j2(u*H2[f+8>>2])+j2(B*H2[p>>2]))+j2(l*H2[V>>2]),H2[4+E>>2]=j2(j2(u*H2[f+4>>2])+j2(B*H2[S>>2]))+j2(l*H2[x>>2]),H2[E>>2]=j2(j2(u*H2[f>>2])+j2(B*H2[f+16>>2]))+j2(l*H2[f+32>>2]),N2[y2[y2[n>>2]+64>>2]](16+E|0,n,E),W=j2(0),T=j2(0),Y=j2(0),D=j2(t+j2(j2(j2(k*D)+j2(v*h))+j2(c*b))),t=H2[16+E>>2],b=H2[20+E>>2],h=H2[24+E>>2],D=j2(D-j2(j2(j2(j2(t*H2[f>>2])+j2(b*H2[f+4>>2]))+j2(h*H2[f+8>>2]))+H2[f+48>>2])),G=j2(j2(g+j2(j2(j2(k*G)+j2(v*C))+j2(c*Z)))-j2(j2(j2(j2(t*H2[f+16>>2])+j2(b*H2[S>>2]))+j2(h*H2[p>>2]))+H2[I>>2])),h=j2(j2(d+j2(j2(j2(k*s)+j2(v*_))+j2(c*o)))-j2(j2(j2(j2(t*H2[f+32>>2])+j2(b*H2[x>>2]))+j2(h*H2[V>>2]))+H2[Q>>2]));A:{e:if(j2(j2(j2(D*D)+j2(G*G))+j2(h*h))>j2(9999999747378752e-20))for(I=32,Q=0;;){if(!I)break e;if(n=y2[A+8>>2],y2[12+E>>2]=m=0,b=j2(-G),H2[8+E>>2]=j2(j2(M*b)-j2(j*D))-j2(X*h),H2[4+E>>2]=j2(j2(w*b)-j2(P*D))-j2(J*h),H2[E>>2]=j2(j2(U*b)-j2(y*D))-j2(H*h),N2[y2[y2[n>>2]+64>>2]](16+E|0,n,E),v=H2[24+E>>2],d=H2[16+E>>2],s=H2[20+E>>2],n=y2[A+12>>2],y2[12+E>>2]=0,H2[8+E>>2]=j2(j2(r2*D)+j2(K*G))+j2(z*h),H2[4+E>>2]=j2(j2(f2*D)+j2(L*G))+j2(O*h),H2[E>>2]=j2(j2(i2*D)+j2(e2*G))+j2(A2*h),N2[y2[y2[n>>2]+64>>2]](16+E|0,n,E),N>j2(1))break A;if(_=j2(c2+j2(j2(j2(y*d)+j2(P*s))+j2(j*v))),o=H2[16+E>>2],t=H2[20+E>>2],b=H2[24+E>>2],g=j2(k2+j2(j2(j2(i2*o)+j2(f2*t))+j2(r2*b))),c=j2(_-g),Z=j2(n2+j2(j2(j2(U*d)+j2(w*s))+j2(M*v))),C=j2(b2+j2(j2(j2(e2*o)+j2(L*t))+j2(K*b))),k=j2(Z-C),s=j2(t2+j2(j2(j2(H*d)+j2(J*s))+j2(X*v))),t=j2(o2+j2(j2(j2(A2*o)+j2(O*t))+j2(z*b))),o=j2(s-t),(b=j2(j2(j2(c*D)+j2(k*G))+j2(o*h)))>j2(0)){if((Y=j2(j2(j2(u*D)+j2(B*G))+j2(l*h)))>=j2(-14210854715202004e-30))break A;N=j2(N-j2(b/Y)),Y=j2(j2(1)-N),o2=j2(j2(Y*H2[f+56>>2])+j2(N*H2[i+56>>2])),b2=j2(j2(Y*H2[f+52>>2])+j2(N*H2[i+52>>2])),k2=j2(j2(Y*H2[f+48>>2])+j2(N*H2[i+48>>2])),t2=j2(j2(Y*H2[e+56>>2])+j2(N*H2[r+56>>2])),n2=j2(j2(Y*H2[e+52>>2])+j2(N*H2[r+52>>2])),c2=j2(j2(Y*H2[e+48>>2])+j2(N*H2[r+48>>2])),T=G,Y=h,W=D,u2=Q}F=y2[A+4>>2],n=y2[F>>2],Q=0;r:if(!((0|n)<1)){for(R=F+12|0,h=H2[F+308>>2],m=n;;){if(G=j2(c-H2[R-8>>2]),D=j2(G*G),G=j2(k-H2[R-4>>2]),D=j2(D+j2(G*G)),G=j2(o-H2[R>>2]),Q=1,h>=j2(D+j2(G*G)))break r;if(R=R+16|0,!(m=m-1|0))break}Q=0}r:{if(H2[F+304>>2]==j2(0)&&o==H2[F+300>>2]&&k==H2[F+296>>2]){if(Q|c==H2[F+292>>2])break r}else if(Q)break r;y2[F+304>>2]=0,H2[F+296>>2]=k,H2[F+300>>2]=o,X2[F+356|0]=1,H2[F+292>>2]=c,y2[(Q=(n<<4)+F|0)+16>>2]=0,H2[Q+8>>2]=k,H2[Q+12>>2]=o,H2[Q+4>>2]=c,Q=(y2[F>>2]<<4)+F|0,y2[Q+96>>2]=0,H2[Q+88>>2]=Z,H2[Q+92>>2]=s,H2[Q+84>>2]=_,Q=(y2[F>>2]<<4)+F|0,y2[Q+176>>2]=0,H2[Q+168>>2]=C,H2[Q+172>>2]=t,H2[Q+164>>2]=g,y2[F>>2]=y2[F>>2]+1,F=y2[A+4>>2]}if(!N0(F))break e;if(I=I-1|0,Q=y2[F+288>>2],D=H2[F+276>>2],G=H2[F+280>>2],h=H2[F+284>>2],!(j2(j2(j2(D*D)+j2(G*G))+j2(h*h))>j2(9999999747378752e-20)))break}H2[a+164>>2]=N,(G=j2(j2(j2(W*W)+j2(T*T))+j2(Y*Y)))>=j2(14210854715202004e-30)?(y2[a+144>>2]=u2,h=Y,Y=j2(j2(1)/j2(K2(G))),D=j2(h*Y),H2[a+140>>2]=D,G=j2(T*Y),H2[a+136>>2]=G,h=j2(W*Y),H2[a+132>>2]=h):(y2[a+132>>2]=0,y2[a+136>>2]=0,y2[(e=a+140|0)>>2]=0,y2[e+4>>2]=0,D=j2(0),G=j2(0),h=j2(0)),m=0,j2(-H2[a+172>>2])<=j2(j2(j2(u*h)+j2(B*G))+j2(l*D))||(N0(A=y2[A+4>>2]),i=y2[A+260>>2],f=y2[A+264>>2],A=y2[(e=A+268|0)+4>>2],y2[(r=a+156|0)>>2]=y2[e>>2],y2[r+4>>2]=A,y2[a+148>>2]=i,y2[a+152>>2]=f,m=1)}return L2=32+E|0,0|m}function W0(A){(A|=0)&&(y2[6503]=y2[6503]+1,$2(y2[A-4>>2]))}function T0(A,e){e|=0;var r;y2[(A|=0)>>2]=0,y2[A+4>>2]=0,y2[(r=A+8|0)>>2]=0,y2[4+r>>2]=0,y2[(y2[e+60>>2]<<2)+A>>2]=1065353216}function V0(A,e){j2(e)}function x0(A){return 60}function p0(A,e,r){A|=0,e|=0,r|=0;var f,i,a,n;j2(0),j2(0),j2(0),j2(0),j2(0);N2[y2[y2[e>>2]+68>>2]](A,e,r),j2(N2[y2[y2[e>>2]+48>>2]](e))!=j2(0)&&(i=H2[r+4>>2],f=H2[r>>2],r=H2[r+8>>2],a=j2(N2[y2[y2[e>>2]+48>>2]](e)),n=f=(e=j2(j2(j2(f*f)+j2(i*i))+j2(r*r))>2]=H2[A>>2]+j2(a*j2(n*f)),H2[A+4>>2]=H2[A+4>>2]+j2(a*j2(i*f)),H2[A+8>>2]=H2[A+8>>2]+j2(a*j2(r*f)))}function S0(A){var e,r,f,i=0,a=0,n=0;if(y2[(A|=0)>>2]=10992,(i=y2[A+56>>2])&&(U2[A+60|0]&&(y2[6503]=y2[6503]+1,$2(y2[i-4>>2])),y2[A+56>>2]=0),y2[A+56>>2]=0,y2[A+48>>2]=0,y2[A+52>>2]=0,(X2[A+60|0]=1)<=(0|(a=y2[A+28>>2])))for(n=8;;)if(f=(i=y2[A+36>>2]+n|0)-4|0,(r=y2[(e=i+4|0)>>2])&&(U2[i+8|0]&&(y2[6503]=y2[6503]+1,$2(y2[r-4>>2])),y2[e>>2]=0),y2[f>>2]=0,y2[e>>2]=0,n=n+36|(y2[i>>2]=0),!(a=a-(X2[i+8|0]=1)|0))break;return(i=y2[A+36>>2])&&(U2[A+40|0]&&(y2[6503]=y2[6503]+1,$2(y2[i-4>>2])),y2[A+36>>2]=0),y2[A+36>>2]=0,y2[A+28>>2]=0,y2[A+32>>2]=0,X2[A+40|0]=1,(i=y2[A+16>>2])&&(U2[A+20|0]&&(y2[6503]=y2[6503]+1,$2(y2[i-4>>2])),y2[A+16>>2]=0),y2[A+16>>2]=0,y2[A+8>>2]=0,y2[A+12>>2]=0,X2[A+20|0]=1,0|A}function J0(A){for(var e,r=j2(0),f=j2(0),i=j2(0),a=0,n=0,b=0,t=(0|(e=y2[A+28>>2]))<1;;){A:if(!(7>>0)){e:switch(n-1|0){default:r=j2(H2[A+88>>2]+H2[A+72>>2]),f=j2(H2[A+84>>2]+H2[A+68>>2]),i=j2(H2[A+80>>2]+H2[A+64>>2]);break A;case 0:r=j2(H2[A+72>>2]-H2[A+88>>2]),f=j2(H2[A+84>>2]+H2[A+68>>2]),i=j2(H2[A+80>>2]+H2[A+64>>2]);break A;case 1:r=j2(H2[A+88>>2]+H2[A+72>>2]),f=j2(H2[A+68>>2]-H2[A+84>>2]),i=j2(H2[A+80>>2]+H2[A+64>>2]);break A;case 2:r=j2(H2[A+72>>2]-H2[A+88>>2]),f=j2(H2[A+68>>2]-H2[A+84>>2]),i=j2(H2[A+80>>2]+H2[A+64>>2]);break A;case 3:r=j2(H2[A+88>>2]+H2[A+72>>2]),f=j2(H2[A+84>>2]+H2[A+68>>2]),i=j2(H2[A+64>>2]-H2[A+80>>2]);break A;case 4:r=j2(H2[A+72>>2]-H2[A+88>>2]),f=j2(H2[A+84>>2]+H2[A+68>>2]),i=j2(H2[A+64>>2]-H2[A+80>>2]);break A;case 5:r=j2(H2[A+88>>2]+H2[A+72>>2]),f=j2(H2[A+68>>2]-H2[A+84>>2]),i=j2(H2[A+64>>2]-H2[A+80>>2]);break A;case 6:break e;}r=j2(H2[A+72>>2]-H2[A+88>>2]),f=j2(H2[A+68>>2]-H2[A+84>>2]),i=j2(H2[A+64>>2]-H2[A+80>>2])}A:if(!t){for(a=y2[A+36>>2]+32|0,b=e;;){if(j2(H2[a>>2]+j2(j2(j2(i*H2[a-12>>2])+j2(f*H2[a-8>>2]))+j2(r*H2[a-4>>2])))>j2(0))break;if(a=a+36|0,!(b=b-1|0))break A}return}if(8==(0|(n=n+1|0)))break}return 1}function M0(A){var e,r,f,i,V,x,p,S,J,M,X,y,U,H,P,j,z,O,K,L,q,$,a=0,n=0,b=j2(0),t=0,o=0,c=0,k=0,u=0,l=j2(0),s=j2(0),v=0,B=j2(0),d=0,_=0,g=0,Z=j2(0),C=j2(0),w=0,E=0,Q=0,h=0,G=j2(0),F=j2(0),D=j2(0),Y=j2(0),m=0,N=0,R=0,I=0,W=0,T=0;j2(0),j2(0),j2(0),j2(0),j2(0),j2(0),j2(0),j2(0),j2(0),j2(0);y2[A+64>>2]=0,y2[A+68>>2]=0,y2[(a=A+72|0)>>2]=0,y2[a+4>>2]=0;A:{if(!((0|(_=y2[A+28>>2]))<1)){for(;;){if(n=y2[A+36>>2],M=P2(N,36),1<=(0|(X=y2[4+(n+M|0)>>2]))){for(f=-65536|N,R=0;;){a=y2[12+(n+M|0)>>2],P=Q>>>0<=(_=(H=(e=(a=(0|(t=A2[a+(R<<2)>>1]))<(0|(u=A2[a+(((y=(0|X)==(0|(R=R+1|0)))?0:R)<<2)>>1])))?u:t)+(U=(i=a?t:u)<<16)|0)&o-1)>>>0,k=0;e:if(!P&&-1!=((k=0)|(n=y2[(_<<2)+d>>2]))){r:{for(;;){if(e2[(a=(k=n<<2)+v|0)+2>>1]==(65535&i)&&e2[a>>1]==(65535&e))break r;if(-1==(0|(n=y2[k+E>>2])))break}k=0;break e}k=c+k|0}a=y2[A+16>>2],B=b=j2(H2[(u=a+(i<<4)|0)+8>>2]-H2[(a=a+(e<<4)|0)+8>>2]),l=j2(H2[u>>2]-H2[a>>2]),s=j2(H2[u+4>>2]-H2[a+4>>2]),b=j2(j2(1)/j2(K2(j2(j2(j2(l*l)+j2(s*s))+j2(b*b))))),B=j2(B*b),Z=j2(s*b),C=j2(l*b);e:{if(!(g=(0|(a=y2[A+48>>2]))<1))for(n=y2[A+56>>2],t=a;;){if(l=H2[n+8>>2],s=H2[n+4>>2],b=H2[n>>2],!(1e-6<+j2(z2(j2(b-C)))||1e-6<+j2(z2(j2(s-Z)))||1e-6<+j2(z2(j2(l-B)))))break e;if(!(1e-6<+j2(z2(j2(C+b)))||1e-6<+j2(z2(j2(Z+s)))||1e-6<+j2(z2(j2(B+l)))))break e;if(n=n+16|0,!(t=t-1|0))break}if(y2[A+52>>2]==(0|a)&&!((0|(V=a?a<<1:1))<=(0|a))){if(u=0,V&&(y2[6502]=y2[6502]+1,t=q2(16+(V<<4|3)|0))&&(y2[(u=t+19&-16)-4>>2]=t),!g)for(n=0;;)if(x=y2[A+56>>2]+n|0,t=y2[4+x>>2],y2[(g=r=n+u|0)>>2]=y2[x>>2],y2[g+4>>2]=t,t=y2[(g=8+x|0)+4>>2],y2[(r=8+r|0)>>2]=y2[g>>2],y2[4+r>>2]=t,n=n+16|0,!(a=a-1|0))break;(a=y2[A+56>>2])&&(U2[A+60|0]&&(y2[6503]=y2[6503]+1,$2(y2[a-4>>2])),y2[A+56>>2]=0),y2[A+56>>2]=u,X2[A+60|0]=1,y2[A+52>>2]=V,a=y2[A+48>>2]}a=y2[A+56>>2]+(a<<4)|0,y2[a+12>>2]=0,H2[a+8>>2]=B,H2[a+4>>2]=Z,H2[a>>2]=C,y2[A+48>>2]=y2[A+48>>2]+1}e:{if(k)A2[k+2>>1]=N;else{r:{if(!P&&-1!=(0|(n=y2[(_<<2)+d>>2])))for(;;){if(e2[(a=(k=n<<2)+v|0)+2>>1]==(65535&i)&&e2[a>>1]==(65535&e))break r;if(-1==(0|(n=y2[k+E>>2])))break}if((0|o)!=(0|h))u=c,k=o,c=h;else{f:if((0|(k=o?o<<1:1))<=(0|o))u=c,k=o;else{if(u=0,k&&(y2[6502]=y2[6502]+1,a=q2(16+(k<<2|3)|0))&&(y2[(u=a+19&-16)-4>>2]=a),1<=(0|o)){for(n=u,t=c,a=o;;)if(g=e2[t>>1]|e2[t+2>>1]<<16,A2[n>>1]=g,A2[n+2>>1]=g>>>16,n=n+4|0,t=t+4|0,!(a=a-1|0))break}else if(!c)break f;y2[6503]=y2[6503]+1,$2(y2[c-4>>2])}c=o}A2[(c=(c<<2)+u|0)>>1]=f,A2[c+2>>1]=f>>>16;f:if((0|w)!=(0|I))a=v;else if((0|(I=w?w<<1:1))<=(0|w))I=w,a=v;else{if(a=0,I&&(y2[6502]=y2[6502]+1,c=q2(16+(I<<2|3)|0))&&(y2[(a=c+19&-16)-4>>2]=c),1<=(0|w)){for(n=a,t=v,c=w;;)if(g=e2[t>>1]|e2[t+2>>1]<<16,A2[n>>1]=g,A2[n+2>>1]=g>>>16,n=n+4|0,t=t+4|0,!(c=c-1|0))break}else if(!v)break f;y2[6503]=y2[6503]+1,$2(y2[v-4>>2])}if(A2[(v=(w<<2)+a|0)>>1]=c=65535&e|U,A2[v+2>>1]=c>>>16,w=w+1|0,(0|o)<(0|k)&&(_=k-1&H,(0|Q)<(0|k))){if((0|k)<=(0|W))v=d;else{v=0,k&&(y2[6502]=y2[6502]+1,c=q2(16+(k<<2|3)|0))&&(y2[(v=c+19&-16)-4>>2]=c);f:{if(1<=(0|Q)){for(n=v,t=d,o=Q;;)if(y2[n>>2]=y2[t>>2],n=n+4|0,t=t+4|0,!(o=o-1|0))break}else if(!d)break f;y2[6503]=y2[6503]+1,$2(y2[d-4>>2])}W=k}if(v2((c=Q<<2)+v|0,0,(d=k<<2)-c|0),(0|k)<=(0|m))c=E;else{if((0|k)<=(0|T))c=E;else{c=0,k&&(y2[6502]=y2[6502]+1,o=q2(16+(3|d)|0))&&(y2[(c=o+19&-16)-4>>2]=o);f:{if(1<=(0|m)){for(n=c,t=E,o=m;;)if(y2[n>>2]=y2[t>>2],n=n+4|0,t=t+4|0,!(o=o-1|0))break}else if(!E)break f;y2[6503]=y2[6503]+1,$2(y2[E-4>>2])}T=k}v2((o=m<<2)+c|0,0,d-o|0)}if(1<=(0|k)&&(v2(v,255,d),v2(c,255,d)),1<=(0|Q))for(E=k-1|0,t=n=0;;)if(o=((E&(e2[(o=n+a|0)+2>>1]<<16)+A2[o>>1])<<2)+v|0,y2[n+c>>2]=y2[o>>2],n=n+4|0,(0|Q)==(0|(t=(y2[o>>2]=t)+1|0)))break;d=v,Q=m=k,E=c}y2[(h<<2)+E>>2]=y2[(c=(_<<2)+d|0)>>2],h=(y2[c>>2]=h)+1|0;break e}A2[(a=c+k|0)>>1]=f,A2[a+2>>1]=f>>>16}u=c,k=o,a=v}if(y)break;n=y2[A+36>>2],c=u,o=k,v=a}_=y2[A+28>>2],o=k,v=a,c=u}if(!((0|(N=N+1|0))<(0|_)))break}if(!((0|_)<1)){for(W=y2[A+16>>2],k=y2[A+36>>2],h=0;;){if(o=k+P2(h,36)|0,3<=(0|(T=y2[o+4>>2])))for(n=(w=y2[o+12>>2])+4|0,a=(Q=W+(y2[w>>2]<<4)|0)+8|0,o=Q+4|0,G=H2[A+72>>2],F=H2[A+68>>2],D=H2[A+64>>2],t=2;;)if(m=W+(y2[n>>2]<<4)|0,j=H2[m+8>>2],u=W+(y2[w+((0|t)%(0|T)<<2)>>2]<<4)|0,z=H2[u+8>>2],p=H2[Q>>2],O=H2[m>>2],K=j2(p-O),S=H2[o>>2],L=H2[u+4>>2],B=j2(S-L),Z=H2[m+4>>2],b=j2(S-Z),C=H2[u>>2],l=j2(p-C),q=j2(j2(K*B)-j2(b*l)),J=H2[a>>2],s=j2(J-z),$=j2(b*s),b=j2(J-j),B=j2($-j2(b*B)),b=j2(j2(b*l)-j2(K*s)),b=j2(j2(K2(j2(j2(q*q)+j2(j2(B*B)+j2(b*b)))))*j2(.5)),G=j2(G+j2(j2(j2(j2(J+j)+z)*j2(.3333333432674408))*b)),H2[A+72>>2]=G,F=j2(F+j2(j2(j2(L+j2(S+Z))*j2(.3333333432674408))*b)),H2[A+68>>2]=F,D=j2(D+j2(j2(j2(C+j2(p+O))*j2(.3333333432674408))*b)),H2[A+64>>2]=D,Y=j2(Y+b),n=n+4|0,(0|T)==(0|(t=t+1|0)))break;if((0|(h=h+(n=1)|0))==(0|_))break}break A}}n=0}if(y2[A+96>>2]=2139095039,b=j2(j2(1)/Y),B=j2(b*H2[A+64>>2]),H2[A+64>>2]=B,Z=j2(b*H2[A+68>>2]),H2[A+68>>2]=Z,C=j2(b*H2[A+72>>2]),H2[A+72>>2]=C,l=j2(34028234663852886e22),s=j2(34028234663852886e22),n)for(n=y2[A+36>>2]+32|0;;)if((b=j2(z2(j2(H2[n>>2]+j2(j2(j2(B*H2[n-12>>2])+j2(Z*H2[n-8>>2]))+j2(C*H2[n-4>>2]))))))>2]=b),n=n+36|0,!(_=_-1|0))break;if((0|(t=y2[A+8>>2]))<1)B=j2(-34028234663852886e22),G=j2(34028234663852886e22),F=j2(-34028234663852886e22),D=j2(-34028234663852886e22),Y=j2(34028234663852886e22);else for(n=y2[A+16>>2],D=j2(-34028234663852886e22),Y=j2(34028234663852886e22),F=j2(-34028234663852886e22),B=j2(-34028234663852886e22),G=j2(34028234663852886e22);;)if(D=D<(b=H2[n+8>>2])?b:D,G=b>2])?b:F,l=b>2])?b:B,Y=b>2]=0,Z=j2(D-G),H2[A+124>>2]=Z,C=j2(F-l),H2[A+120>>2]=C,b=j2(B-Y),H2[A+116>>2]=b,y2[A+112>>2]=0,H2[A+108>>2]=G+D,H2[A+104>>2]=l+F,H2[A+100>>2]=B+Y,b=H2[(o=(a=b>2],l=j2(s/j2(1.7320507764816284)),H2[A+88>>2]=l,H2[A+80>>2]=l,H2[A+84>>2]=l,o=o+(A+80|0)|0,s=j2(b*j2(.5)),H2[o>>2]=s,b=j2(j2(s-l)*j2(.0009765625)),n=1024;A:{e:{for(;;){if(J0(A))break e;if(s=j2(s-b),H2[o>>2]=s,!(n=n-1|0))break}H2[A+84>>2]=l,H2[A+88>>2]=l,H2[A+80>>2]=l;break A}if(k=y2[(t=(o=A+80|0)+((1<<(a=1<>2],o=y2[(a=u=o+(a<<2)|0)>>2],s=j2(j2(H2[A+96>>2]-l)*j2(.0009765625)),H2[a>>2]=s+H2[a>>2],l=j2(s+H2[t>>2]),H2[t>>2]=l,J0(A)){for(a=1024;;){if(b=l,!(a=a-1|0))break A;if(o=y2[u>>2],H2[u>>2]=s+H2[u>>2],l=j2(s+H2[t>>2]),H2[t>>2]=l,!J0(A))break}Q2(b),k=w2[2]}y2[u>>2]=o,y2[t>>2]=k}v&&(y2[6503]=y2[6503]+1,$2(y2[v-4>>2])),c&&(y2[6503]=y2[6503]+1,$2(y2[c-4>>2])),E&&(y2[6503]=y2[6503]+1,$2(y2[E-4>>2])),d&&(y2[6503]=y2[6503]+1,$2(y2[d-4>>2]))}function X0(A,e,r,f,i,a,n){var b,t,o,c=j2(0),k=j2(0),u=0,l=0,s=0;j2(0),j2(0),j2(0);if(y2[f>>2]=2139095039,y2[i>>2]=l=-8388609,s=y2[A+(u=8)>>2],c=j2(-34028234663852886e22),!((0|s)<1)){for(;;)if(l=y2[A+16>>2]+u|0,k=H2[l-8>>2],c=H2[l-4>>2],b=H2[l>>2],t=j2(j2(j2(j2(k*H2[e>>2])+j2(c*H2[e+4>>2]))+j2(b*H2[e+8>>2]))+H2[e+48>>2]),o=j2(j2(j2(j2(k*H2[e+16>>2])+j2(c*H2[e+20>>2]))+j2(b*H2[e+24>>2]))+H2[e+52>>2]),c=j2(j2(j2(j2(k*H2[e+32>>2])+j2(c*H2[e+36>>2]))+j2(b*H2[e+40>>2]))+H2[e+56>>2]),(k=j2(j2(j2(t*H2[r>>2])+j2(o*H2[r+4>>2]))+j2(c*H2[r+8>>2])))>2]&&(H2[f>>2]=k,y2[a+12>>2]=0,H2[a+8>>2]=c,H2[a+4>>2]=o,H2[a>>2]=t),k>H2[i>>2]&&(H2[i>>2]=k,y2[n+12>>2]=0,H2[n+8>>2]=c,H2[n+4>>2]=o,H2[n>>2]=t),u=u+16|0,!(s=s-1|0))break;l=y2[i>>2],c=H2[i>>2]}c<(k=H2[f>>2])&&(y2[f>>2]=l,H2[i>>2]=k,r=y2[(A=a+8|0)>>2],f=y2[A+4>>2],u=y2[(e=n+8|0)+4>>2],y2[A>>2]=y2[e>>2],y2[A+4>>2]=u,A=y2[a>>2],i=y2[a+4>>2],u=y2[n+4>>2],y2[a>>2]=y2[n>>2],y2[a+4>>2]=u,y2[n>>2]=A,y2[n+4>>2]=i,y2[e>>2]=r,y2[e+4>>2]=f)}function y0(A,e,r,f,i,a,n,b,t,o){var c,k,u=0,l=0,s=0;return(0|i)!=(0|o)?i-o|0:i?(o=q(u=t,t=0,c=A,0),A=L,l=e,s=q(u,e=0,l,e),t=L,t=(u=A+s|0)>>>0>>0?t+1|0:t,e=q(l,0,s=b,0),A=t,t=A=(u=(b=L)+u|0)>>>0>>0?A+1|0:A,t=(u=(A=(b=e+o|0)>>>0>>0)+u|0)>>>0>>0?t+1|0:t,l=u,A=b,b=q(s,o=0,c,0),A=(e=A)+L|0,c=s=o+b|0,b=(s=e=l+(A=(0|e)==(0|(u=A=s>>>0>>0?A+1|0:A))&0|A>>>0>>0)|0)>>>0>>0?t+1|0:t,r=q(n,A=0,o=r,0),t=L,f=q(A=n,e=0,n=f,e),A=L,t=l=t+f|0,e=q(e=n,0,n=a,0),A=l>>>0>>0?A+1|0:A,a=A=(t=(a=L)+t|0)>>>0>>0?A+1|0:A,l=(e=A=(r=e+r|0)>>>0>>0)+t|0,A=a,e=(a=l)>>>0>>0?A+1|0:A,l=-1,k=a,A=f=r,f=q(n,t=0,o,0),A=A+L|0,n=a=t+f|0,r=(0|r)==(0|(f=A=a>>>0>>0?A+1|0:A))&0|A>>>0>>0,A=e,(0|(A=(a=k+r|0)>>>0>>0?A+1|0:A))==(0|b)&s>>>0<(e=r=a)>>>0|b>>>0>>0||(l=1,(0|A)==(0|b)&r>>>0>>0|A>>>0>>0)||(l=-1,(0|f)==(0|u)&c>>>0>>0|u>>>0>>0)||(l=(0|f)==(0|u)&n>>>0>>0|f>>>0>>0),P2(i,l)):0}function U0(A,e,r){var f=0,i=0,a=0,n=0,b=0,t=0,n=y2[A+56>>2];if(!(n||((f=y2[A+52>>2])?y2[A+52>>2]=y2[f+8>>2]:(i=y2[6502],y2[6502]=i+1,f=0,(n=q2(31))&&(y2[(f=n+19&-16)-4>>2]=n),y2[f+8>>2]=0,y2[6502]=i+2,n=y2[A+60>>2],y2[f+4>>2]=n,(n=q2(16+(3|P2(n,24))|0))&&(y2[(a=n+19&-16)-4>>2]=n),y2[f>>2]=a,a=y2[A+48>>2],y2[A+48>>2]=f,y2[f+8>>2]=a),n=y2[f>>2],(0|(i=y2[f+4>>2]))<1)))for(f=0,a=n;;)if(a=(t=a)+24|0,y2[t>>2]=(0|(f=f+1|0))<(0|i)?a:0,(0|f)==(0|i))break;if(y2[A+56>>2]=y2[n>>2],y2[(a=n+8|0)>>2]=0,y2[a+4>>2]=0,y2[(a=n+16|0)>>2]=0,y2[a+4>>2]=0,y2[n>>2]=0,y2[n+4>>2]=0,!((i=y2[A+56>>2])||((f=y2[A+52>>2])?y2[A+52>>2]=y2[f+8>>2]:(a=0,b=y2[6502],y2[6502]=b+1,f=0,(i=q2(31))&&(y2[(f=i+19&-16)-4>>2]=i),y2[f+8>>2]=0,y2[6502]=b+2,i=y2[A+60>>2],y2[f+4>>2]=i,(i=q2(16+(3|P2(i,24))|0))&&(y2[(a=i+19&-16)-4>>2]=i),y2[f>>2]=a,a=y2[A+48>>2],y2[A+48>>2]=f,y2[f+8>>2]=a),i=y2[f>>2],(0|(b=y2[f+4>>2]))<1)))for(f=0,a=i;;)if(a=(t=a)+24|0,y2[t>>2]=(0|(f=f+1|0))<(0|b)?a:0,(0|f)==(0|b))break;return y2[A+56>>2]=y2[i>>2],y2[i>>2]=0,y2[i+4>>2]=0,y2[n+8>>2]=i,y2[n+12>>2]=r,y2[n+16>>2]=0,r=y2[A+100>>2],y2[n+20>>2]=r,y2[i+8>>2]=n,y2[i+12>>2]=e,y2[i+16>>2]=0,y2[i+20>>2]=r,e=y2[A+116>>2],y2[A+116>>2]=r=e+1|0,(0|e)>=y2[A+120>>2]&&(y2[A+120>>2]=r),n}function H0(V,A,e,x,p){var r,f,i,a,n,b,t,o,c,S,J,M,k=0,u=0,l=0,s=0,v=0,B=0,d=0,_=0,g=0,Z=0,C=0,w=0,E=0,Q=0,h=0,G=0,F=0,D=0,Y=0,m=0,N=0,R=0,I=0,W=0,T=0,X=0,y=0,U=0,H=0,P=0,j=0,z=0,O=0,K=0,Y=y2[p>>2],F=A,D=y2[x>>2];if(D&&(F=y2[D+12>>2]),I=y2[F+96>>2],B=e,Q=y2[A+96>>2],t=y2[e+96>>2]-Q|0,w=y2[(D||Y)+12>>2],d=y2[A+92>>2],l=y2[w+92>>2]-d|0,o=y2[e+92>>2]-d|0,v=y2[w+96>>2]-Q|0,e=q(X=e=P2(t,l)-P2(o,v)|0,S=e>>31,t,C=t>>31),g=L,Z=y2[A+88>>2],k=y2[w+88>>2]-Z|0,c=y2[B+88>>2]-Z|0,A=q(y=A=P2(k,o)-P2(l,c)|0,J=A>>31,c,s=c>>31),e=q(r=e-A|0,f=g-(L+(e>>>0>>0)|0)|0,A=R=y2[F+92>>2],A>>31),w=L,A=q(y,J,o,l=o>>31),g=L,u=e,e=q(U=e=P2(v,c)-P2(k,t)|0,M=e>>31,t,C),e=u+(A=q(i=A-e|0,a=g-(L+(A>>>0>>0)|0)|0,A=F=y2[F+88>>2],A>>31))|0,u=L+w|0,u=e>>>0>>0?u+1|0:u,A=q(c,s,U,M),g=L,k=e,e=q(o,l,X,S),e=k+(A=q(n=A-e|0,b=g-(L+(A>>>0>>0)|0)|0,I,I>>31))|0,k=L+u|0,g=(w=e)>>>0>>0?k+1|0:k,A=q(X,S,Z,Z>>31),e=L,l=(k=A)+(A=q(y,J,Q,Q>>31))|0,k=L+e|0,k=l>>>0>>0?k+1|0:k,A=q(U,M,d,d>>31),k=L+k|0,e=(C=e=A+l|0)>>>0>>0?k+1|0:k,B=Y?y2[Y+12>>2]:B,T=y2[B+96>>2],m=y2[B+92>>2],Q=y2[B+88>>2],k=Y,D&&y2[D+12>>2]&&(A=y2[y2[D+8>>2]+4>>2],_=y2[A+12>>2],v=q(l=s=y2[_+92>>2],s=l>>31,U,M),d=L,E=v,B=q(v=u=y2[_+88>>2],Z=u>>31,X,S),u=L+d|0,u=(E=E+B|0)>>>0>>0?u+1|0:u,B=q(W=B=y2[_+96>>2],G=B>>31,y,J),u=L+u|0,!(u=(0|(u=(d=B+E|0)>>>0>>0?u+1|0:u))<(0|(B=e))?1:(0|u)<=(0|B)?d>>>0>>0:0))){B=A+12|0,E=y2[V+100>>2];A:{for(;;){if((0|E)==y2[A+20>>2])break A;if(l=q(l,s,r,f),s=L,v=(k=l)+(l=q(v,Z,i,a))|0,k=L+s|0,k=v>>>0>>0?k+1|0:k,l=q(W,G,n,b),u=L+k|0,v=s=l+v|0,k=(0|(k=l=u=s>>>0>>0?u+1|0:u))<(0|g)?1:(0|k)<=(0|g)?v>>>0<=w>>>0:0)break A;if(y2[x>>2]=A,g=y2[B>>2],I=y2[g+96>>2],R=y2[g+92>>2],F=y2[g+88>>2],!g)break;if(B=(A=y2[y2[A+8>>2]+4>>2])+12|0,w=s,g=l,_=y2[A+12>>2],k=q(l=s=y2[_+92>>2],s=l>>31,U,M),u=L,d=k,k=q(v=k=y2[_+88>>2],Z=k>>31,X,S),u=L+u|0,u=(d=d+k|0)>>>0>>0?u+1|0:u,h=d,d=q(W=k=y2[_+96>>2],G=k>>31,y,J),k=L+u|0,k=(0|(k=(u=_=h+d|0)>>>0>>0?k+1|0:k))<(0|e)?1:(0|k)<=(0|e)?u>>>0>>0:0)break A}w=s,g=l}k=y2[p>>2]}A=k,l=q(r,f,m,m>>31),s=L,k=l,l=q(i,a,Q,Q>>31),u=L+s|0,u=(k=k+l|0)>>>0>>0?u+1|0:u,l=q(n,b,T,T>>31),u=L+u|0,u=(s=l+k|0)>>>0>>0?u+1|0:u,l=s,s=u;A:if(A){if(y2[A+12>>2]&&(B=y2[y2[A+8>>2]>>2],_=y2[B+12>>2],k=q(v=k=y2[_+92>>2],Z=k>>31,U,M),d=L,E=k,u=q(W=k=y2[_+88>>2],G=k>>31,X,S),k=L+d|0,k=(E=E+u|0)>>>0>>0?k+1|0:k,u=q(h=u=y2[_+96>>2],_=u>>31,y,J),k=L+k|0,k=(d=u+E|0)>>>0>>0?k+1|0:k,u=d,!((0|k)<(0|e)||(0|k)<=(0|e)&&u>>>0>>0))){for(N=B+12|0,E=y2[V+100>>2];;){if((0|E)==y2[(u=B)+20>>2])break A;if(v=q(v,Z,r,f),k=L,B=v,v=q(W,G,i,a),k=L+k|0,k=(Z=B+v|0)>>>0>>0?k+1|0:k,v=q(n,b,h,_),k=L+k|0,k=(Z=v+Z|0)>>>0>>0?k+1|0:k,B=v=Z,B=(0|(Z=k))<(0|s)?1:(0|Z)<=(0|s)?B>>>0<=l>>>0:0)break A;if(y2[p>>2]=u,A=y2[N>>2],T=y2[A+96>>2],m=y2[A+92>>2],Q=y2[A+88>>2],!A)break;if(N=(B=y2[y2[u+8>>2]>>2])+12|0,l=v,s=k,A=u,h=y2[B+12>>2],k=q(v=k=y2[h+92>>2],Z=k>>31,U,M),d=L,_=k,u=q(W=k=y2[h+88>>2],G=k>>31,X,S),k=L+d|0,k=(_=_+u|0)>>>0>>0?k+1|0:k,d=_,u=q(h=u=y2[h+96>>2],_=u>>31,y,J),k=L+k|0,k=(d=d+u|0)>>>0>>0?k+1|0:k,u=d,(0|k)<(0|e)||(0|k)<=(0|e)&&u>>>0>>0)break A}A=u,l=v,s=k}}else A=0;A:{if(g=s-((l>>>0>>0)+g|0)|0,e=w=l-w|0,e=0<(0|g)?1:0<=(0|g)?1<=e>>>0:0)for(;;){for(A=y2[x>>2];;){e:if(Z=(v=e=N=(P2(m-R|0,o)+P2(Q-F|0,c)|0)+P2(T-I|0,t)|0)>>31,A&&y2[A+12>>2]&&(H=y2[y2[A>>2]+8>>2],!(y2[H+20>>2]<=y2[V+100>>2]))){l=y2[H+12>>2],d=y2[l+92>>2],k=(B=y2[l+88>>2])-F|0,u=(Y=y2[l+96>>2])-I|0,l=(P2(e=d-R|0,o)+P2(k,c)|0)+P2(u,t)|0,e=q(r,f,e,e>>31),s=L,_=e,e=q(i,a,k,k>>31),k=L+s|0,k=(C=_+e|0)>>>0>>0?k+1|0:k,e=q(n,b,u,u>>31),k=L+k|0;r:{if(!((u=s=e+C|0)|(C=u>>>0>>0?k+1|0:k))){if((0|l)<0)break r;break e}if(-1<(0|C))break e;if(P=-1,h=(k=0<(0|l))?-1:l>>>31|0,s=(0|(e=l))<0,W=k?e:s?0-e|0:0,l=e>>31,G=k?l:s?0-((0!=(0|e))+l|0)|0:0,e=1,l=v,s=Z,(0|N)<=0&&(l=N?0-v|0:0,s=N?0-((0!=(0|v))+Z|0)|0:0,P=0!=(0|N),e=N?-1:0),z=0-(k=u)|0,O=0-((0!=(0|k))+C|0)|0,_=l,E=s,j=0-((s=g)+(0!=(0|(l=w)))|0)|0,K=(C=k=0-l|0)&(k=(u=s)>>31),j&=k,(0|y0(W,G,z,O,h,_,E,(k=0<(0|u)?1:0<=(0|g)?!!w:0)?l:K,k?s:j,!k&&(0|g)<0?P:e))<0)break e}y2[x>>2]=A=(0|A)==(0|D)?0:H,e=q(r,f,e=m-d|0,e>>31),g=L,k=e,e=q(i,a,e=Q-B|0,e>>31),u=L+g|0,u=(l=k+e|0)>>>0>>0?u+1|0:u,e=q(n,b,e=T-Y|0,e>>31),k=L+u|0,g=(w=g=e+l|0)>>>0>>0?k+1|0:k,F=B,R=d,I=Y;continue}break}if(!(A=y2[p>>2]))break A;if(!y2[A+12>>2])break A;if(G=y2[y2[A+8>>2]>>2],y2[G+20>>2]<=y2[V+100>>2])break A;if(s=y2[G+12>>2],A=q(E=A=_=(h=y2[s+92>>2])-m|0,m=A>>31,U,M),e=L,l=(k=A)+(A=q(Q=A=Y=(u=y2[s+88>>2])-Q|0,d=A>>31,X,S))|0,k=L+e|0,k=l>>>0>>0?k+1|0:k,A=(0|(e=l))!=(0-(A=q(y,J,B=A=s=(l=y2[s+96>>2])-T|0,C=A>>31))|0)?1:(0-(L+(0!=(0|A))|0)|0)!=(0|k))break A;if(A=q(r,f,A=h-R|0,A>>31),e=L,u=(k=A)+(A=q(i,a,A=u-F|0,A>>31))|0,k=L+e|0,k=u>>>0>>0?k+1|0:k,e=(A=q(n,b,A=l-I|0,A>>31))+u|0,u=L+k|0,u=e>>>0>>0?u+1|0:u,A=e,e=(0|(l=u))<0?1:(0|l)<=0?A>>>0<1:0)break A;Y=(P2(_,o)+P2(Y,c)|0)+P2(s,t)|0,e=q(E,m,r,f),s=L,u=(k=e)+(e=q(Q,d,i,a))|0,k=L+s|0,k=u>>>0>>0?k+1|0:k,s=(e=q(n,b,B,C))+u|0,u=L+k|0;e:{if(!((u=s>>>0>>0?u+1|0:u)|s)){if((0|Y)<0)break e;break A}if(-1<(0|u))break A;if(B=-1,C=(m=0<(0|Y))?-1:Y>>>31|0,Q=(0|(e=Y))<0,d=m?e:Q?0-e|0:0,k=e>>31,Y=m?k:Q?0-((0!=(0|e))+k|0)|0:0,e=1,(0|N)<=0&&(e=v,v=N?0-e|0:0,Z=N?0-((0!=(0|e))+Z|0)|0:0,B=0!=(0|N),e=N?-1:0),E=0-s|0,T=0-((0!=(0|s))+u|0)|0,s=w,k=w=g,Q=0-(g=s)&(u=k>>31),u&=0-((0!=(0|s))+k|0),_=s,(0|y0(d,Y,E,T,C,v,Z,(s=0<(0|k)?1:0<=(0|k)?!!g:0)?_:Q,s?w:u,!s&&(0|k)<0?B:e))<1)break A}y2[p>>2]=G,e=y2[G+12>>2],T=y2[e+96>>2],m=y2[e+92>>2],Q=y2[e+88>>2],w=A,g=l}if(!(-1<(0|g)))for(;;){s=(l=e=D=(P2(m-R|0,o)+P2(Q-F|0,c)|0)+P2(T-I|0,t)|0)>>31;e:if(A&&y2[A+12>>2]&&(H=y2[y2[A+4>>2]+8>>2],!(y2[H+20>>2]<=y2[V+100>>2]))){k=y2[H+12>>2],d=y2[k+92>>2],v=(B=y2[k+88>>2])-Q|0,u=(Z=y2[k+96>>2])-T|0,C=(P2(e=d-m|0,o)+P2(v,c)|0)+P2(u,t)|0,e=q(r,f,e,e>>31),k=L,_=e,e=q(i,a,v,v>>31),k=L+k|0,k=(v=_+e|0)>>>0>>0?k+1|0:k,e=q(n,b,u,u>>31),u=L+k|0;r:{if(!((k=v=e+v|0)|(u=k>>>0>>0?u+1|0:u))){if(0<(0|C))break r;break e}if(-1<(0|u))break e;if(P=-1,N=1,h=(0|(e=C))<0,z=(_=0<(0|e))?e:h?0-e|0:0,v=e>>31,O=_?v:h?0-((0!=(0|e))+v|0)|0:0,K=0-k|0,j=0-((0!=(0|k))+u|0)|0,W=_?-1:e>>>31|0,e=(0|D)<=0?(N=D?-1:0,P=0!=(0|D),k=D?0-l|0:0,D?0-((0!=(0|l))+s|0)|0:0):(k=l,s),_=k,E=e,G=0-(e=w)&(k=(u=g)>>31),h=k&0-((C=u)+(0!=(0|e))|0),0<(0|y0(z,O,K,j,W,_,E,(k=0<(0|u)?1:0<=(0|g)?!!w:0)?e:G,k?C:h,!k&&(0|g)<0?P:N)))break e}y2[p>>2]=A=(0|A)==(0|Y)?0:H,e=q(r,f,e=d-R|0,e>>31),g=L,l=(k=e)+(e=q(i,a,e=B-F|0,e>>31))|0,k=L+g|0,k=l>>>0>>0?k+1|0:k,e=q(n,b,e=Z-I|0,e>>31),k=L+k|0,g=(w=g=e+l|0)>>>0>>0?k+1|0:k,Q=B,m=d,T=Z;continue}if(!(A=y2[x>>2]))break A;if(!y2[A+12>>2])break A;if(W=y2[y2[A+8>>2]+4>>2],y2[W+20>>2]<=y2[V+100>>2])break A;if(v=y2[W+12>>2],A=q(_=A=h=(G=y2[v+92>>2])-R|0,E=A>>31,U,M),e=L,C=(k=A)+(A=q(B=A=d=(R=y2[v+88>>2])-F|0,u=A>>31,X,S))|0,k=L+e|0,k=C>>>0>>0?k+1|0:k,A=(0|(e=C))!=(0-(A=q(y,J,Z=A=v=(C=y2[v+96>>2])-I|0,F=A>>31))|0)?1:(0-(L+(0!=(0|A))|0)|0)!=(0|k))break A;if(A=q(r,f,A=m-G|0,A>>31),e=L,R=(k=A)+(A=q(i,a,A=Q-R|0,A>>31))|0,k=L+e|0,k=R>>>0>>0?k+1|0:k,A=q(n,b,A=T-C|0,A>>31),k=L+k|0,-1<(0|(k=(C=e=A+R|0)>>>0>>0?k+1|0:k)))break A;if(e=(P2(h,o)+P2(d,c)|0)+P2(v,t)|0,A=q(_,E,r,f),v=L,_=A,A=q(B,u,i,a),u=L+v|0,u=(B=_+A|0)>>>0>>0?u+1|0:u,A=q(n,b,Z,F),u=L+u|0,(u=(v=A+B|0)>>>0>>0?u+1|0:u)|v){if(-1<(0|u))break A;if(I=-1,F=(d=0<(0|e))?-1:e>>>31|0,Z=(0|(A=e))<0,B=d?e:Z?0-e|0:0,e>>=31,Z=d?e:Z?0-((0!=(0|A))+e|0)|0:0,e=1,(0|D)<=0&&(A=l,l=D?0-A|0:0,s=D?0-((0!=(0|A))+s|0)|0:0,I=0!=(0|D),e=D?-1:0),_=0-(A=v)|0,E=0-((0!=(0|A))+u|0)|0,v=l,d=0-(A=w)&(u=(l=g)>>31),u&=0-((0!=(0|A))+l|0),h=A,-1<(0|y0(B,Z,_,E,F,v,s,(A=w=0<(0|l)?1:0<=(0|l)?!!A:0)?h:d,A?g:u,!A&&(0|l)<0?I:e)))break A}else if((0|e)<=0)break A;y2[x>>2]=W,e=y2[W+12>>2],I=y2[e+96>>2],R=y2[e+92>>2],A=y2[p>>2],F=y2[e+88>>2],w=C,g=k}}}function P0(A,e,r,f,i,a,n){var b,t,o,c,k,u,l,s,v,B,d=0,_=0,g=0,Z=0,C=0,w=0,E=0,Q=0,h=0,G=0;if(!(d=y2[r+8>>2]))return 0;for(v=n+16|0,u=n+8|0,h=d;;){if(y2[h+20>>2]>y2[A+100>>2]){_=y2[h+12>>2],d=q(w=d=o=(b=y2[_+92>>2])-y2[r+92>>2]|0,g=d>>31,y2[i+8>>2],y2[i+12>>2]),C=L,Z=d,c=q(Q=d=s=(B=y2[_+88>>2])-y2[r+88>>2]|0,t=d>>31,y2[i>>2],y2[i+4>>2]),d=L+C|0,d=(Z=Z+c|0)>>>0>>0?d+1|0:d,l=q(C=_=c=(k=y2[_+96>>2])-y2[r+96>>2]|0,G=_>>31,y2[i+16>>2],y2[i+20>>2]),_=L+d|0,_=(Z=l+Z|0)>>>0>>0?_+1|0:_,d=q(y2[a+8>>2],y2[a+12>>2],w,g),g=L,w=(Q=q(y2[a>>2],y2[a+4>>2],Q,t))+d|0,d=L+g|0,d=w>>>0>>0?d+1|0:d,g=q(y2[a+16>>2],y2[a+20>>2],C,G),d=L+d|0,Q=(d=0<(0|(g=d=(w=g+w|0)>>>0>>0?d+1|0:d))?1:0<=(0|g)?w:0)?C=-(d=1):(C=0!=(0|w)|0!=(0|g),w=0-(d=w)|0,g=0-((0!=(0|d))+g|0)|0,d=C?-1:0),G=0<(0|_)?1:0<=(0|_)?Z:0;A:{if(!G)if((0|_)<-1||(0|_)<=-1)Z=0-(d=Z)|0,_=0-((0!=(0|d))+_|0)|0,d=C;else if(_=Z=0,!Q)break A;!E||(0|(C=y0(w,g,Z,_,d,y2[n>>2],y2[n+4>>2],y2[u>>2],y2[4+u>>2],y2[v>>2])))<=-1?(y2[n>>2]=w,y2[n+4>>2]=g,y2[v>>2]=d,y2[u>>2]=Z,y2[4+u>>2]=_,E=h):C||(d=y2[E+4>>2],G=h,y2[(l=E)>>2]==(0|h)?(_=2,(0|d)==(0|h)&&(_=y2[y2[h+8>>2]+12>>2],w=k-(Z=y2[_+96>>2])|0,d=y2[E+12>>2],g=y2[_+92>>2],C=y2[d+92>>2]-g|0,g=b-g|0,Z=y2[d+96>>2]-Z|0,k=(E=Q=P2(w,C)-P2(g,Z)|0)>>31,Q=y2[f+8>>2],b=y2[f+4>>2],t=q(E,k,t=P2(Q,o)-P2(b,c)|0,t>>31),k=L,E=g,_=y2[_+88>>2],g=y2[d+88>>2]-_|0,d=C,C=B-_|0,E=(d=_=P2(E,g)-P2(d,C)|0)>>31,_=o,o=y2[f>>2],b=q(d,E,_=P2(b,s)-P2(_,o)|0,_>>31),_=L+k|0,_=(d=b+t|0)>>>0>>0?_+1|0:_,E=d,Z=q(C=d=P2(Z,C)-P2(g,w)|0,g=d>>31,d=P2(o,c)-P2(Q,s)|0,d>>31),_=L+_|0,_=(d=0<(0|(_=(d=E+Z|0)>>>0>>0?_+1|0:_))?1:0<=(0|_)?d:0)?2:1)):_=(0|d)==(0|h),E=2!=(0|_)^e?G:l)}d=y2[r+8>>2]}if((0|(h=y2[h>>2]))==(0|d))break}return E}function j0(A){var e,r,f,i,a=j2(0);return L2=i=L2-16|0,r=y2[A+8>>2],e=y2[A+12>>2],a=j2(j2(j2((r>>>0)+4294967296*((f=e)>>>0))*j2(0x10000000000000000))+j2(+X[A>>2]+4294967296*+X[A+4>>2])),0<(0|e)||0<=(0|e)||(e=y2[A+4>>2],A=y2[A>>2],y2[i>>2]=0-A,y2[4+i>>2]=0-(e+(0!=(0|A))|0),r=(A=!(A|e))+(e=-1^r)|0,A=-1^f,y2[8+i>>2]=r,y2[12+i>>2]=r>>>0>>0?A+1|0:A,a=j2(-j0(i))),L2=16+i|0,a}function z0(A,e,r){var f,i,a,n,b,t,o,c=0,k=0,u=0,l=0,s=0,v=0,B=j2(0),d=0,_=0,g=0,Z=0,C=0,w=j2(0),E=0,Q=j2(0),h=0,G=(j2(0),j2(0),j2(0),j2(0)),F=j2(0),D=j2(0),Y=0;j2(0);if(L2=o=L2-176|0,(0|r)<=0)(e=y2[A+12>>2])&&(U2[A+16|0]&&(y2[6503]=y2[6503]+1,$2(y2[e-4>>2])),y2[A+12>>2]=0),y2[A+12>>2]=0,X2[A+16|0]=1,y2[A+4>>2]=0,y2[A+8>>2]=0,(e=y2[A+32>>2])&&(U2[A+36|0]&&(y2[6503]=y2[6503]+1,$2(y2[e-4>>2])),y2[A+32>>2]=0),y2[A+32>>2]=0,y2[A+24>>2]=0,y2[A+28>>2]=0,X2[A+36|0]=1,(e=y2[A+52>>2])&&(U2[A+56|0]&&(y2[6503]=y2[6503]+1,$2(y2[e-4>>2])),y2[A+52>>2]=0),y2[A+52>>2]=0,y2[A+44>>2]=0,y2[A+48>>2]=0,X2[A+56|0]=1;else{for(X2[104+o|0]=1,y2[(c=80+o|0)>>2]=0,y2[c+4>>2]=256,y2[(c=o+64|0)>>2]=0,y2[c+4>>2]=256,y2[(c=48+o|0)>>2]=0,y2[c+4>>2]=256,y2[100+o>>2]=0,y2[(c=92+o|0)>>2]=0,y2[c+4>>2]=0,y2[72+o>>2]=0,y2[76+o>>2]=0,y2[56+o>>2]=0,y2[60+o>>2]=0,y2[40+o>>2]=0,y2[44+o>>2]=0,u=r,c=e,_=l=v=1900671690,C=g=k=-246811958;;)if(d=y2[(s=c+8|0)>>2],k=(w=H2[s>>2])>(E2(2,k),h2())?d:k,s=y2[(Z=c+4|0)>>2],g=(B=H2[Z>>2])>(E2(2,g),h2())?s:g,v=w<(E2(2,v),h2())?d:v,l=B<(E2(2,l),h2())?s:l,s=y2[c>>2],C=(B=H2[c>>2])>(E2(2,C),h2())?s:C,_=B<(E2(2,_),h2())?s:_,c=c+16|0,!(u=u-1|0))break;if(E2(2,g),G=h2(),E2(2,l),F=h2(),i=j2(G-F),E2(2,k),D=h2(),E2(2,v),Q=h2(),u=i<(a=j2(D-Q)),E2(2,C),w=h2(),E2(2,_),B=h2(),k=(n=j2(w-B))>2]=s=(c=n>>0)%3|0),y2[36+o>>2]=c=0,H2[32+o>>2]=j2(D+Q)*j2(.5),H2[28+o>>2]=j2(G+F)*j2(.5),y2[6502]=y2[6502]+1,y2[20+o>>2]=0,H2[24+o>>2]=j2(w+B)*j2(.5),y2[112+o>>2]=v,y2[116+o>>2]=k=(3^s)-v|0,Q=j2((k=(0|s)==((k+1|0)%3|0))?n*j2(9788566967472434e-20):n*j2(-9788566967472434e-20)),H2[8+o>>2]=Q,w=j2(k?i*j2(9788566967472434e-20):i*j2(-9788566967472434e-20)),H2[12+o>>2]=w,B=j2(k?a*j2(9788566967472434e-20):a*j2(-9788566967472434e-20)),H2[16+o>>2]=B,y2[164+o>>2]=0,X2[168+o|0]=1,y2[156+o>>2]=0,(k=q2(16+(r<<4|3)|(y2[160+o>>2]=0)))&&(y2[(c=k+19&-16)-4>>2]=k),y2[164+o>>2]=c,X2[168+o|0]=1,y2[160+o>>2]=r,k=y2[140+o>>2],y2[c>>2]=y2[136+o>>2],y2[c+4>>2]=k,u=c+8|0,c=y2[(k=l=144+o|0)+4>>2],y2[u>>2]=y2[k>>2],y2[u+4>>2]=c,1!=(0|r))for(k=r-1|0,c=16;;)if(u=y2[140+o>>2],Z=y2[164+o>>2]+c|0,y2[(s=Z)>>2]=y2[136+o>>2],y2[s+4>>2]=u,u=y2[l+4>>2],y2[(s=s+8|0)>>2]=y2[l>>2],y2[s+4>>2]=u,c=c+16|0,!(k=k-1|0))break;for(i=B!=j2(0)?j2(j2(1)/B):B,a=w!=j2(0)?j2(j2(1)/w):w,n=Q!=j2(0)?j2(j2(1)/Q):Q,y2[156+o>>2]=r,l=(136+o|0)+(y2[112+o>>2]<<2)|0,Z=(136+o|0)+(y2[120+o>>2]<<2)|0,s=(136+o|0)+(y2[116+o>>2]<<2)|0,c=y2[164+o>>2],G=H2[32+o>>2],F=H2[28+o>>2],D=H2[24+o>>2],k=0;;)if(Q=H2[e+4>>2],w=H2[e+8>>2],B=H2[e>>2],y2[148+o>>2]=0,H2[136+o>>2]=n*j2(B-D),H2[144+o>>2]=i*j2(w-G),H2[140+o>>2]=a*j2(Q-F),y2[c+12>>2]=k,u=c,B=H2[s>>2],d=j2(z2(B))>2]=d,u=c+4|0,B=H2[Z>>2],d=j2(z2(B))>2]=d,u=c+8|0,B=H2[l>>2],d=j2(z2(B))>2]=d,e=e+16|0,c=c+16|0,(0|(k=k+1|0))==(0|r))break;if(2<=(0|r)&&!function A(e,r,f){var i,a,n,b,t,o=0,c=0,k=0,u=0,l=0,s=0,v=0;for(L2=t=L2-16|0,u=y2[e+12>>2],b=y2[8+(k=u+((r+f|0)/2<<4)|0)>>2],a=y2[k+4>>2],n=y2[k>>2],k=r,s=f;;){for(o=(k<<4)+u|0;;){A:{if(!((0|(c=y2[o+4>>2]))<(0|a))){if((0|c)!=(0|a))break A;if(!((0|(c=y2[o>>2]))<(0|n))){if((0|c)!=(0|n))break A;if(y2[o+8>>2]>=(0|b))break A}}o=o+16|0,k=k+1|0;continue}break}for(v=s<<4;;){A:{if(!((0|a)<(0|(l=y2[4+(c=u+v|0)>>2])))){if((0|l)!=(0|a))break A;if(!((0|n)<(0|(l=y2[c>>2])))){if((0|l)!=(0|n))break A;if(y2[c+8>>2]<=(0|b))break A}}v=v-16|0,s=s-1|0;continue}break}if((0|k)<=(0|s)&&(i=y2[4+(l=o+8|0)>>2],y2[(u=8+t|0)>>2]=y2[l>>2],y2[u+4>>2]=i,i=y2[o+4>>2],y2[t>>2]=y2[o>>2],y2[4+t>>2]=i,i=y2[c+4>>2],y2[o>>2]=y2[c>>2],y2[o+4>>2]=i,c=y2[4+(o=c+8|0)>>2],y2[l>>2]=y2[o>>2],y2[l+4>>2]=c,o=y2[e+12>>2]+v|0,v=y2[4+t>>2],y2[o>>2]=y2[t>>2],y2[o+4>>2]=v,c=y2[u+4>>2],y2[(o=o+8|0)>>2]=y2[u>>2],y2[o+4>>2]=c,s=s-1|0,k=k+1|0),!((0|k)<=(0|s)))break;u=y2[e+12>>2]}(0|r)<(0|s)&&A(e,r,s),(0|k)<(0|f)&&A(e,k,f),L2=16+t|0}(152+o|0,0,r-1|0),y2[48+o>>2]=0,y2[44+o>>2]=y2[40+o>>2],y2[52+o>>2]=r,(0|(u=y2[92+o>>2]))<(0|r)){if(y2[96+o>>2]<(0|r)){if(k=0,r&&(y2[6502]=y2[6502]+1,e=q2(16+(r<<2|3)|0))&&(y2[(k=e+19&-16)-4>>2]=e),1<=(0|u))for(c=0,e=u;;)if(y2[c+k>>2]=y2[y2[100+o>>2]+c>>2],c=c+4|0,!(e=e-1|0))break;(e=y2[100+o>>2])&&(U2[104+o|0]&&(y2[6503]=y2[6503]+1,$2(y2[e-4>>2])),y2[100+o>>2]=0),y2[100+o>>2]=k,X2[104+o|0]=1,y2[96+o>>2]=r}for(c=u<<2,e=r-u|0;;)if(c=c+4|(y2[y2[100+o>>2]+c>>2]=0),!(e=e-1|0))break}for(y2[92+o>>2]=r,_=0;;){if(!((l=y2[48+o>>2])||((c=y2[44+o>>2])?y2[44+o>>2]=y2[c+8>>2]:(e=0,u=y2[6502],y2[6502]=u+1,c=0,(k=q2(31))&&(y2[(c=k+19&-16)-4>>2]=k),y2[c+8>>2]=0,k=y2[52+o>>2],y2[c+4>>2]=k,y2[6502]=u+2,(k=q2(16+(3|P2(k,112))|0))&&(y2[(e=k+19&-16)-4>>2]=k),y2[c>>2]=e,y2[c+8>>2]=y2[40+o>>2],y2[40+o>>2]=c),l=y2[c>>2],(0|(k=y2[c+4>>2]))<1)))for(c=0,e=l;;)if(e=(u=e)+112|0,y2[u>>2]=(0|(c=c+1|0))<(0|k)?e:0,(0|c)==(0|k))break;if(y2[48+o>>2]=y2[l>>2],y2[(e=l+8|0)>>2]=0,y2[e+4>>2]=0,y2[l+16>>2]=0,y2[l>>2]=0,y2[l+4>>2]=0,y2[l+104>>2]=-1,y2[e>>2]=0,c=y2[164+o>>2]+(_<<4)|0,e=y2[c+4>>2],y2[l+88>>2]=y2[c>>2],y2[l+92>>2]=e,e=y2[(c=c+8|0)+4>>2],y2[(k=l+96|0)>>2]=y2[c>>2],y2[k+4>>2]=e,y2[l+104>>2]=-1,y2[y2[100+o>>2]+(_<<2)>>2]=l,(0|(_=_+1|0))==(0|r))break}if((e=y2[164+o>>2])&&(U2[168+o|0]&&(y2[6503]=y2[6503]+1,$2(y2[e-4>>2])),y2[164+o>>2]=0),y2[164+o>>2]=0,X2[168+o|0]=1,y2[156+o>>2]=0,y2[160+o>>2]=0,y2[124+o>>2]=0,y2[128+o>>2]=0,y2[64+o>>2]=0,y2[60+o>>2]=y2[56+o>>2],y2[108+o>>2]=-3,y2[68+o>>2]=P2(r,6),y2[(e=144+o|0)>>2]=0,y2[e+4>>2]=0,y2[136+o>>2]=0,!function A(e,r,f,i){var a,n=0,b=0,t=0,o=0,c=0,k=0,u=0,l=0,s=0,v=0,B=0,d=0,_=0,g=0,Z=0,C=0,w=0,E=0,Q=0,h=0,G=0,F=0,D=0,Y=0,m=0,N=0,R=0,I=0,W=0;L2=a=L2-144|0;A:if((n=f-r|0)>>>0<=2){switch(n-1|0){default:y2[i>>2]=0,y2[i+4>>2]=0,y2[(e=i+8|0)>>2]=0,y2[e+4>>2]=0;break A;case 1:if(f=y2[y2[e+92>>2]+(r<<2)>>2],n=y2[f+204>>2],t=y2[f+92>>2],(0|(o=y2[f+88>>2]))!=(0|(b=y2[f+200>>2]))||(0|n)!=(0|t)||(n=t,y2[f+96>>2]!=y2[f+208>>2])){r=f+112|0,(B=t-n|0)|(n=o-b|0)?(y2[f+4>>2]=r,y2[f>>2]=r,y2[f+116>>2]=f,y2[f+112>>2]=f,y2[i+4>>2]=(n=(t=(0|n)<0)|(b=(0|B)<0)&!n)?r:f,y2[i>>2]=n?f:r,n=t&!B||b?(y2[i+8>>2]=f,r):(y2[i+8>>2]=r,f)):(t=y2[f+96>>2]>y2[f+208>>2],y2[i+8>>2]=n=t?r:f,y2[i+4>>2]=n,y2[i>>2]=n,y2[n+4>>2]=n,r=t?f:r,f=y2[n>>2]=n),y2[i+12>>2]=n,f=U0(e,i=f,r),y2[i+8>>2]=f,e=y2[f+8>>2],y2[r+8>>2]=e,y2[f+4>>2]=f,y2[f>>2]=f,y2[e+4>>2]=e,y2[e>>2]=e;break A}y2[f+8>>2]=0,y2[i+12>>2]=f,y2[i+8>>2]=f,y2[i+4>>2]=f,y2[i>>2]=f,y2[f+4>>2]=f,y2[f>>2]=f;break A;case 0:}e=y2[y2[e+92>>2]+(r<<2)>>2],y2[e+8>>2]=0,y2[i+12>>2]=e,y2[i+8>>2]=e,y2[i+4>>2]=e,y2[i>>2]=e,y2[e+4>>2]=e,y2[e>>2]=e}else{b=t=(c=(0|n)/2|0)+r|0;e:if(!((0|f)<=(0|b))){for(n=y2[e+92>>2],b=y2[(n+(t<<2)|0)-4>>2],s=y2[b+88>>2],B=y2[b+96>>2],o=y2[b+92>>2],n=n+(r+c<<2)|0,b=t;;){if(c=y2[n>>2],(0|s)!=y2[c+88>>2])break e;if((0|o)!=y2[c+92>>2])break e;if((0|B)!=y2[c+96>>2])break e;if(n=n+4|0,(0|(b=b+1|0))==(0|f))break}b=f}if(A(e,r,t,i),y2[(r=16+a|0)>>2]=0,y2[r+4>>2]=0,y2[8+a>>2]=0,A(e,b,f,8+a|(y2[12+a>>2]=0)),g=y2[12+a>>2])if(v=y2[i+4>>2]){y2[e+100>>2]=y2[e+100>>2]-1,B=y2[i+12>>2],r=y2[B+88>>2],d=y2[16+a>>2];e:{r:if((0|r)==y2[d+88>>2]&&(0|(Q=y2[B+92>>2]))==y2[d+92>>2]){if((0|(f=y2[d+4>>2]))==(0|d)){(f=y2[d+8>>2])&&(d=y2[f+12>>2],Q=y2[d+92>>2],r=y2[d+88>>2]),G=r+1|0,D=y2[d+96>>2],h=B;break e}if(r=y2[d>>2],y2[r+4>>2]=f,y2[f>>2]=r,y2[8+a>>2]==(0|d)&&((0|(b=y2[(n=r)+88>>2]))<(0|(t=y2[f+88>>2]))||(0|b)==(0|t)&&y2[r+92>>2]>2]||(n=f),y2[8+a>>2]=n),(0|d)==(0|g)){f:{if((0|(t=y2[r+88>>2]))<=(0|(n=y2[f+88>>2]))){if((0|n)!=(0|t))break f;if(y2[r+92>>2]<=y2[f+92>>2])break f}g=y2[12+a>>2]=r;break r}g=y2[12+a>>2]=f}}for(_=y2[i>>2],C=y2[8+a>>2],n=v,r=g,o=1,b=t=f=0;;){h=b,d=t,B=f,c=y2[r+88>>2],s=y2[n+88>>2];r:if(1<=(0|(b=P2(c-s|0,o))))for(s=y2[r+92>>2],f=n;;){for(t=r,n=y2[f+92>>2],u=b;;){f:if(E=s-n|0,(0|(b=y2[(k=!h<<2)+f>>2]))!=(0|f)&&!(0<(0|(c=(r=y2[b+92>>2])-n|0)))){if(n=y2[b+88>>2],l=P2(n-y2[f+88>>2]|0,o)){if(-1<(0|l))break f;if((0|P2(c,u))>(0|P2(l,E)))break f}u=P2(y2[t+88>>2]-n|0,o),n=r,f=b;continue}break}if((0|t)==(0|(r=y2[t+k>>2])))break r;if(-1<(0|(k=(n=y2[r+92>>2])-s|0)))break r;if(c=y2[r+88>>2],(0|(b=P2(c-y2[f+88>>2]|0,o)))<1)break r;if(s=n,n=P2(c-y2[t+88>>2]|0,o)){if(-1<(0|n))break r;if(!((0|P2(k,u))<(0|P2(n,E))))break}}else if((0|b)<=-1){t=y2[n+92>>2],s=y2[r+92>>2];f:for(;;){for(u=y2[(Z=(0!=(0|h))<<2)+r>>2];;){f=n,l=b,m=s-t|0;i:if((0|r)!=(0|u)&&!((0|(b=(n=y2[u+92>>2])-s|0))<0)){if(k=y2[u+88>>2],c=P2(k-c|0,o)){if(-1<(0|c))break i;if((0|P2(b,l))>(0|P2(c,m)))break i}b=P2(k-y2[f+88>>2]|0,o),c=k,s=n,r=u,n=f;continue f}if((0|(n=y2[f+Z>>2]))==(0|f)){t=r;break r}if((0|(w=(k=y2[n+92>>2])-t|0))<1){t=r;break r}if(c=y2[r+88>>2],E=y2[n+88>>2],-1<(0|(b=P2(c-E|0,o)))){t=r;break r}if(t=k,k=P2(E-y2[f+88>>2]|0,o)){if(-1<(0|k)){t=r;break r}if(!((0|P2(l,w))<(0|P2(k,m))))break}}break}t=r}else{b=y2[n+92>>2];f:if(h)for(o=n;;){if((0|(o=y2[(f=o)>>2]))==(0|n))break f;if((0|s)!=y2[o+88>>2])break f;if(t=b,!((0|(b=y2[o+92>>2]))<=(0|t)))break}else for(o=n;;){if((0|(o=y2[(f=o)+4>>2]))==(0|n))break f;if((0|s)!=y2[o+88>>2])break f;if(t=b,!((0|(b=y2[o+92>>2]))<=(0|t)))break}if(o=y2[r+92>>2],h)for(n=r;;){if((0|(n=y2[(t=n)+4>>2]))==(0|r))break r;if((0|s)!=y2[n+88>>2])break r;if(!((0|(b=o))<=(0|(o=y2[n+92>>2]))))break}else for(n=r;;){if((0|(n=y2[(t=n)>>2]))==(0|r))break r;if((0|s)!=y2[n+88>>2])break r;if(!((0|(b=o))<=(0|(o=y2[n+92>>2]))))break}}if(o=-(b=1),n=_,r=C,h)break}if(y2[t>>2]=f,y2[f+4>>2]=t,y2[B>>2]=d,y2[d+4>>2]=B,y2[C+88>>2]>2]&&(y2[i>>2]=C),y2[g+88>>2]>=y2[v+88>>2]&&(y2[i+4>>2]=g),y2[i+12>>2]=y2[20+a>>2],N=y2[d+96>>2],R=y2[B+96>>2],I=y2[d+92>>2],W=y2[B+92>>2],i=y2[B+8>>2],m=y2[d+88>>2],Z=y2[B+88>>2],w=q(b=r=N-R|(y2[104+a>>2]=s=0),t=r>>31,Q=r=I-W|0,G=r>>31),E=L,r=q(D=r=0-(f=m-Z|0)|0,Y=r>>31,f,f>>31),n=L,h=r-(f=q(Q,G,Q,G))|0,C=n-(L+(r>>>0>>0)|0)|0,v=0-(r=q(D,Y,b,t))|0,g=0-(L+(0!=(0|r))|0)|0,_=0,i){for(f=i;;){l=y2[f+12>>2],r=q(k=r=(u=y2[l+92>>2])-W|0,c=r>>31,D,Y),n=L,r=(0|r)!=(0-(r=q(Q,G,b=r=(o=y2[l+88>>2])-Z|0,t=r>>31))|0)?1:(0-(L+(0!=(0|r))|0)|0)!=(0|n);r:if(!(r||(r=q(w,E,k,c),n=L,k=r,r=q(b,t,v,g),b=L+n|0,b=(t=k+r|0)>>>0>>0?b+1|0:b,r=q(h,C,r=(n=y2[l+96>>2])-R|0,r>>31),b=L+b|0,b=(t=r+t|0)>>>0>>0?b+1|0:b,r=t,r=(0|b)<0?1:(0|b)<=0?r>>>0<1:0))){f:if(_){if(r=y2[_+4>>2],y2[_>>2]==(0|f)){if((0|r)!=(0|f))break r;if(k=y2[y2[f+8>>2]+12>>2],c=n-(r=y2[k+96>>2])|0,b=y2[_+12>>2],t=y2[b+96>>2]-r|0,r=y2[k+92>>2],r=q(r=P2(c,y2[b+92>>2]-r|0)-P2(t,u-r|0)|0,r>>31,Q,G),n=L,u=r,r=y2[k+88>>2],r=q(r=P2(t,o-r|0)-P2(c,y2[b+88>>2]-r|0)|0,r>>31,D,Y),b=L+n|0,(0|(b=(t=u+r|0)>>>0>>0?b+1|0:b))<0||(0|b)<=0&&!t)break f;break r}if((0|r)!=(0|f))break r}_=f}if((0|i)==(0|(f=y2[f>>2])))break}y2[104+a>>2]=_}if(r=y2[d+8>>2],y2[80+a>>2]=0,r){for(f=r;;){l=y2[f+12>>2],i=q(k=i=(u=y2[l+92>>2])-I|0,c=i>>31,D,Y),n=L,i=(0|(Z=i))!=(0-(i=q(Q,G,b=i=(o=y2[l+88>>2])-m|0,t=i>>31))|0)?1:(0-(L+(0!=(0|i))|0)|0)!=(0|n);r:if(!(i||(i=q(w,E,k,c),n=L,k=i,i=q(b,t,v,g),b=L+n|0,b=(t=k+i|0)>>>0>>0?b+1|0:b,i=q(h,C,i=(n=y2[l+96>>2])-N|0,i>>31),b=L+b|0,b=(t=i+t|0)>>>0>>0?b+1|0:b,i=t,i=(0|b)<0?1:(0|b)<=0?i>>>0<1:0))){if(s){if(y2[s>>2]!=(0|f))break r;if(y2[s+4>>2]==(0|f)&&(k=y2[y2[f+8>>2]+12>>2],c=n-(i=y2[k+96>>2])|0,b=y2[s+12>>2],t=y2[b+96>>2]-i|0,i=y2[k+92>>2],i=q(i=P2(c,y2[b+92>>2]-i|0)-P2(t,u-i|0)|0,i>>31,Q,G),n=L,u=i,i=y2[k+88>>2],i=q(i=P2(t,o-i|0)-P2(c,y2[b+88>>2]-i|0)|0,i>>31,D,Y),n=L+n|0,n=(t=u+i|0)>>>0>>0?n+1|0:n,i=t,i=(0|n)<0?1:(0|n)<=0?i>>>0<1:0))break r}s=f}if((0|r)==(0|(f=y2[f>>2])))break}y2[80+a>>2]=s}s|_&&(H0(e,B,d,104+a|0,80+a|0),(r=y2[104+a>>2])&&(B=y2[r+12>>2]),r=y2[80+a>>2])&&(d=y2[r+12>>2]),D=y2[d+96>>2]+1|0,Q=y2[d+92>>2],G=y2[d+88>>2],h=B}for(_=h,c=k=d,I=1,g=E=t=l=s=r=C=0;;){y2[140+a>>2]=-1,o=y2[_+92>>2],n=y2[c+92>>2]-o|0,y2[132+a>>2]=n,f=y2[_+96>>2],i=y2[c+96>>2]-f|0,y2[136+a>>2]=i,v=y2[_+88>>2],b=y2[c+88>>2]-v|0,y2[128+a>>2]=b,u=Q-o|0,o=D-f|0,Y=(f=P2(u,i)-P2(o,n)|0)>>31,W=f,y2[104+a>>2]=f,y2[108+a>>2]=Y,N=(f=(f=P2(b,o))-P2(o=G-v|0,i)|0)>>31,m=f,y2[112+a>>2]=f,y2[116+a>>2]=N,R=(f=P2(n,o)-P2(b,u)|0)>>31,Z=f,y2[120+a>>2]=f,y2[124+a>>2]=R,f=q(m,N,b,w=b>>31),u=L,o=q(W,Y,n,v=n>>31),y2[96+a>>2]=f-o,y2[100+a>>2]=u-(L+(f>>>0>>0)|0),f=q(W,Y,i,u=i>>31),o=L,b=q(Z,R,b,w),y2[88+a>>2]=f-b,y2[92+a>>2]=o-(L+(f>>>0>>0)|0),f=q(Z,R,n,v),n=L,i=q(i,u,m,N),y2[80+a>>2]=f-i,y2[84+a>>2]=n-(L+(f>>>0>>0)|0),y2[72+a>>2]=0,y2[(f=64+a|0)>>2]=0,y2[f+4>>2]=0,y2[56+a>>2]=0,Z=P0(e,y2[60+a>>2]=0,_,128+a|0,104+a|0,80+a|0,56+a|0),y2[48+a>>2]=0,y2[(f=40+a|0)>>2]=0,y2[f+4>>2]=0,y2[32+a>>2]=0;e:if((w=P0(e,1,c,128+a|(y2[36+a>>2]=0),104+a|0,80+a|0,32+a|0))|Z){u=Z?-1:1,Z&&w&&(u=y0(y2[56+a>>2],y2[60+a>>2],y2[64+a>>2],y2[68+a>>2],y2[72+a>>2],y2[32+a>>2],y2[36+a>>2],y2[40+a>>2],y2[44+a>>2],y2[48+a>>2]));r:{f:if(!I){if(0<=(0|u)){if(-1>2])break f;if(y2[40+a>>2]|y2[44+a>>2])break f}else{if(-1>2])break f;if(y2[64+a>>2]|y2[68+a>>2])break f}f=C,i=r,v=l,n=t;break r}n=v=U0(e,_,c),l&&(y2[l+4>>2]=v,n=t),y2[v>>2]=l,i=f=y2[v+8>>2],C&&(y2[C>>2]=f,i=r),y2[f+4>>2]=C}if(y2[28+a>>2]=Z,l=y2[24+a>>2]=w,u||(H0(e,_,c,28+a|0,24+a|0),l=y2[24+a>>2]),r=f,!((0|u)<0)&&l){if(F&&(0|w)!=(0|(f=y2[F>>2])))for(;k=y2[f+8>>2],((o=b=0)|(t=y2[f>>2]))!=(0|f)&&(y2[t+4>>2]=y2[f+4>>2],o=y2[y2[f+4>>2]>>2]=t),y2[y2[k+12>>2]+8>>2]=o,(0|(o=y2[k>>2]))!=(0|k)&&(y2[o+4>>2]=y2[k+4>>2],b=y2[y2[k+4>>2]>>2]=o),y2[y2[f+12>>2]+8>>2]=b,y2[f+12>>2]=0,y2[f+16>>2]=0,y2[f+4>>2]=0,y2[f+8>>2]=0,y2[f>>2]=y2[e+56>>2],y2[e+56>>2]=f,y2[(f=k+12|0)>>2]=0,y2[f+4>>2]=0,y2[k+4>>2]=0,y2[k+8>>2]=0,y2[k>>2]=y2[e+56>>2],y2[e+56>>2]=k,y2[e+116>>2]=y2[e+116>>2]-1,(0|w)!=(0|(f=t)););r?(F||(F=y2[w+4>>2],s=i),y2[F>>2]=i,y2[i+4>>2]=F,y2[w+4>>2]=r,y2[r>>2]=w,i=0):s=F?s:w,F=y2[l+8>>2],D=y2[c+96>>2],Q=y2[c+92>>2],G=y2[c+88>>2],c=k=y2[l+12>>2],r=0}if(C=r,f=v,!(0<(0|u))&&(l=y2[28+a>>2])){if(g&&(0|Z)!=(0|(r=y2[g+4>>2])))for(;B=r+4|0,v=y2[r+8>>2],b=y2[r+4>>2],((u=t=0)|(o=y2[r>>2]))!=(0|r)&&(y2[o+4>>2]=b,u=y2[y2[B>>2]>>2]=o),y2[y2[v+12>>2]+8>>2]=u,(0|(o=y2[v>>2]))!=(0|v)&&(y2[o+4>>2]=y2[v+4>>2],t=y2[y2[v+4>>2]>>2]=o),y2[y2[r+12>>2]+8>>2]=t,y2[(t=B+8|0)>>2]=0,y2[t+4>>2]=0,y2[B>>2]=0,y2[B+4>>2]=0,y2[r>>2]=y2[e+56>>2],y2[e+56>>2]=r,y2[(r=v+12|0)>>2]=0,y2[r+4>>2]=0,y2[v+4>>2]=0,y2[v+8>>2]=0,y2[v>>2]=y2[e+56>>2],y2[e+56>>2]=v,y2[e+116>>2]=y2[e+116>>2]-1,(0|(r=b))!=(0|Z););f?(g||(E=n,g=y2[Z>>2]),y2[g+4>>2]=n,y2[n>>2]=g,y2[f+4>>2]=Z,y2[Z>>2]=f,n=0):E=g?E:Z,g=y2[l+8>>2],D=y2[_+96>>2],Q=y2[_+92>>2],G=y2[_+88>>2],_=B=y2[l+12>>2],f=0}if(l=f,f=1,(0|_)==(0|h)&&(0|c)==(0|d)){if(g){if((0|E)!=(0|(r=y2[g+4>>2])))for(;o=r+4|0,c=y2[r+8>>2],f=y2[r+4>>2],((u=t=0)|(b=y2[r>>2]))!=(0|r)&&(y2[b+4>>2]=f,u=y2[y2[o>>2]>>2]=b),y2[y2[c+12>>2]+8>>2]=u,(0|(b=y2[c>>2]))!=(0|c)&&(y2[b+4>>2]=y2[c+4>>2],t=y2[y2[c+4>>2]>>2]=b),y2[y2[r+12>>2]+8>>2]=t,y2[(t=o+8|0)>>2]=0,y2[t+4>>2]=0,y2[o>>2]=0,y2[o+4>>2]=0,y2[r>>2]=y2[e+56>>2],y2[e+56>>2]=r,y2[(r=c+12|0)>>2]=0,y2[r+4>>2]=0,y2[c+4>>2]=0,y2[c+8>>2]=0,y2[c>>2]=y2[e+56>>2],y2[e+56>>2]=c,y2[e+116>>2]=y2[e+116>>2]-1,(0|(r=f))!=(0|E););l&&(y2[g+4>>2]=n,y2[n>>2]=g,y2[l+4>>2]=E,y2[E>>2]=l)}else y2[l+4>>2]=n,y2[n>>2]=l,y2[h+8>>2]=l;if(!F){y2[i+4>>2]=C,y2[C>>2]=i,y2[k+8>>2]=C,r=i,t=n,f=F=0;break e}if((0|s)!=(0|(f=y2[F>>2])))for(;c=y2[f+8>>2],((o=b=0)|(r=y2[f>>2]))!=(0|f)&&(y2[r+4>>2]=y2[f+4>>2],o=y2[y2[f+4>>2]>>2]=r),y2[y2[c+12>>2]+8>>2]=o,(0|(t=y2[c>>2]))!=(0|c)&&(y2[t+4>>2]=y2[c+4>>2],b=y2[y2[c+4>>2]>>2]=t),y2[y2[f+12>>2]+8>>2]=b,y2[f+12>>2]=0,y2[f+16>>2]=0,y2[f+4>>2]=0,y2[f+8>>2]=0,y2[f>>2]=y2[e+56>>2],y2[e+56>>2]=f,y2[(f=c+12|0)>>2]=0,y2[f+4>>2]=0,y2[c+4>>2]=0,y2[c+8>>2]=0,y2[c>>2]=y2[e+56>>2],y2[e+56>>2]=c,y2[e+116>>2]=y2[e+116>>2]-1,(0|s)!=(0|(f=r)););f=0,C?(y2[i+4>>2]=F,y2[F>>2]=i,y2[s+4>>2]=C,y2[C>>2]=s):C=0}else I=0;r=i,t=n}else i=U0(e,_,c),y2[_+8>>2]=i,f=y2[i+8>>2],y2[c+8>>2]=f,y2[i+4>>2]=i,y2[i>>2]=i,y2[f+4>>2]=f,y2[f>>2]=f,f=0;if(!f)break A;_=B,c=k}}else e=y2[12+a>>2],y2[i>>2]=y2[8+a>>2],y2[i+4>>2]=e,e=y2[4+(r=16+a|0)>>2],y2[(f=i+8|0)>>2]=y2[r>>2],y2[f+4>>2]=e}L2=144+a|0}(8+o|(y2[140+o>>2]=0),0,r,136+o|0),y2[132+o>>2]=y2[136+o>>2],(e=y2[164+o>>2])&&(U2[168+o|0]&&(y2[6503]=y2[6503]+1,$2(y2[e-4>>2])),y2[164+o>>2]=0),(0|(c=y2[A+4>>2]))<=-1)for(y2[A+8>>2]<=-1&&((e=y2[A+12>>2])&&(U2[A+16|0]&&(y2[6503]=y2[6503]+1,$2(y2[e-4>>2])),y2[A+12>>2]=0),X2[A+16|0]=1,y2[A+8>>2]=0,y2[A+12>>2]=0),e=c<<4;;)if(r=y2[156+o>>2],u=y2[A+12>>2]+e|0,y2[(k=u)>>2]=y2[152+o>>2],y2[k+4>>2]=r,r=y2[(k=160+o|0)+4>>2],y2[(u=u+8|0)>>2]=y2[k>>2],y2[u+4>>2]=r,e=e+16|0,!((r=c)>>>0<=(c=c+1|0)>>>0))break;if(y2[A+4>>2]=0,y2[160+o>>2]=0,y2[152+o>>2]=0,((y2[156+o>>2]=0)|(c=y2[A+24>>2]))<=-1)for(y2[A+28>>2]<=-1&&((e=y2[A+32>>2])&&(U2[A+36|0]&&(y2[6503]=y2[6503]+1,$2(y2[e-4>>2])),y2[A+32>>2]=0),y2[A+28>>2]=0,y2[A+32>>2]=0,X2[A+36|0]=1),e=P2(c,12);;)if(r=y2[156+o>>2],k=y2[A+32>>2]+e|0,y2[k>>2]=y2[152+o>>2],y2[k+4>>2]=r,y2[k+8>>2]=y2[160+o>>2],e=e+12|0,!((r=c)>>>0<=(c=c+1|0)>>>0))break;if(((y2[A+24>>2]=0)|(r=y2[A+44>>2]))<=-1&&(e=y2[A+52>>2],y2[A+48>>2]<=-1&&(e&&U2[A+56|0]&&(y2[6503]=y2[6503]+1,$2(y2[e-4>>2])),X2[A+56|0]=1,y2[A+48>>2]=0,e=y2[A+52>>2]=0),v2((c=e)+(e=r<<2)|0,0,0-e|0)),y2[A+44>>2]=0,l=y2[132+o>>2],!(-1>2])){for(y2[l+104>>2]=0,y2[6502]=y2[6502]+1,e=q2(23),y2[(Z=e+19&-16)>>2]=l,y2[Z-4>>2]=e,d=s=1;;){if(B=0<=y2[l+100>>2]?(H2[(152+o|0)+(y2[116+o>>2]<<2)>>2]=y2[l+88>>2],H2[(152+o|0)+(y2[120+o>>2]<<2)>>2]=y2[l+92>>2],j2(y2[l+96>>2])):(e=l+72|0,b=(152+o|0)+(y2[116+o>>2]<<2)|0,t=j2(j0(l+24|0)/j0(e)),H2[b>>2]=t,b=(152+o|0)+(y2[120+o>>2]<<2)|0,t=j2(j0(l+40|0)/j0(e)),H2[b>>2]=t,j2(j0(l+56|0)/j0(e))),H2[(152+o|0)+(y2[112+o>>2]<<2)>>2]=B,Q=j2(j2(H2[160+o>>2]*H2[16+o>>2])+H2[32+o>>2]),w=j2(j2(H2[156+o>>2]*H2[12+o>>2])+H2[28+o>>2]),B=j2(j2(H2[152+o>>2]*H2[8+o>>2])+H2[24+o>>2]),(0|(e=y2[A+4>>2]))==y2[A+8>>2]&&!((0|(g=e?e<<1:1))<=(0|e))){if(_=0,g&&(y2[6502]=y2[6502]+1,r=q2(16+(g<<4|3)|0))&&(y2[(_=r+19&-16)-4>>2]=r),1<=(0|e))for(c=0;;)if(k=y2[A+12>>2]+c|0,r=y2[k+4>>2],y2[(u=c+_|0)>>2]=y2[k>>2],y2[u+4>>2]=r,r=y2[(k=k+8|0)+4>>2],y2[(u=u+8|0)>>2]=y2[k>>2],y2[u+4>>2]=r,c=c+16|0,!(e=e-1|0))break;(e=y2[A+12>>2])&&(U2[A+16|0]&&(y2[6503]=y2[6503]+1,$2(y2[e-4>>2])),y2[A+12>>2]=0),y2[A+12>>2]=_,X2[A+16|0]=1,y2[A+8>>2]=g,e=y2[A+4>>2]}if(e=y2[A+12>>2]+(e<<4)|0,y2[e+12>>2]=0,H2[e+8>>2]=Q,H2[e+4>>2]=w,H2[e>>2]=B,y2[A+4>>2]=y2[A+4>>2]+1,_=y2[l+8>>2]){for(e=_,r=g=-1;;){if((0|(c=y2[e+20>>2]))<=-1){if(u=y2[A+24>>2],y2[(f=160+o|0)>>2]=0,y2[152+o>>2]=0,((y2[156+o>>2]=0)|(c=u))==y2[A+28>>2]&&!((0|(E=c?u<<1:1))<=(0|c))){if(C=0,E&&(y2[6502]=y2[6502]+1,c=q2(16+(3|P2(E,12))|0))&&(y2[(C=c+19&-16)-4>>2]=c),1<=(0|u))for(c=0,k=u;;)if(v=y2[A+32>>2]+c|0,l=y2[v+4>>2],y2[(h=c+C|0)>>2]=y2[v>>2],y2[h+4>>2]=l,y2[h+8>>2]=y2[v+8>>2],c=c+12|0,!(k=k-1|0))break;(c=y2[A+32>>2])&&(U2[A+36|0]&&(y2[6503]=y2[6503]+1,$2(y2[c-4>>2])),y2[A+32>>2]=0),y2[A+32>>2]=C,X2[A+36|0]=1,y2[A+28>>2]=E,c=y2[A+24>>2]}if(k=y2[A+32>>2]+P2(c,12)|0,c=y2[156+o>>2],y2[k>>2]=y2[152+o>>2],y2[k+4>>2]=c,y2[k+8>>2]=y2[f>>2],k=y2[A+24>>2],y2[A+24>>2]=c=k+1|0,y2[f>>2]=0,y2[152+o>>2]=0,y2[156+o>>2]=0,y2[A+28>>2]==(0|c)&&!((0|(E=c?c<<1:1))<=(0|c))){if(C=0,E&&(y2[6502]=y2[6502]+1,c=q2(16+(3|P2(E,12))|0))&&(y2[(C=c+19&-16)-4>>2]=c),0<=(0|k))for(k=k+1|0,c=0;;)if(v=y2[A+32>>2]+c|0,l=y2[v+4>>2],y2[(h=c+C|0)>>2]=y2[v>>2],y2[h+4>>2]=l,y2[h+8>>2]=y2[v+8>>2],c=c+12|0,!(k=k-1|0))break;(c=y2[A+32>>2])&&(U2[A+36|0]&&(y2[6503]=y2[6503]+1,$2(y2[c-4>>2])),y2[A+32>>2]=0),y2[A+32>>2]=C,X2[A+36|0]=1,y2[A+28>>2]=E,c=y2[A+24>>2]}if(k=y2[A+32>>2]+P2(c,12)|0,c=y2[156+o>>2],y2[k>>2]=y2[152+o>>2],y2[k+4>>2]=c,y2[k+8>>2]=y2[f>>2],y2[A+24>>2]=y2[A+24>>2]+1,y2[e+20>>2]=u,y2[y2[e+8>>2]+20>>2]=h=u+1|0,f=(v=y2[A+32>>2])+P2(u,12)|0,y2[4+f>>2]=1,y2[16+f>>2]=-1,E=y2[e+12>>2],-1<(0|(c=y2[E+104>>2])))k=s,s=c;else{y2[E+104>>2]=s;A:if((0|s)!=(0|d)||(0|(l=d?d<<1:1))<=(0|d))u=Z,l=d;else{if(u=0,l&&(y2[6502]=y2[6502]+1,c=q2(16+(l<<2|3)|0))&&(y2[(u=c+19&-16)-4>>2]=c),1<=(0|d)){for(c=u,k=Z;;)if(y2[c>>2]=y2[k>>2],c=c+4|0,k=k+4|0,!(d=d-1|0))break}else if(!Z)break A;y2[6503]=y2[6503]+1,$2(y2[Z-4>>2])}y2[(s<<2)+u>>2]=E,k=s+1|0,Z=u,d=l}y2[8+(v+P2(h,12)|0)>>2]=Y,y2[8+f>>2]=s,s=k,c=y2[e+20>>2]}if(k=c,0<=(0|g)&&(y2[y2[A+32>>2]+P2(c,12)>>2]=g-c,k=r),g=c,r=k,(0|_)==(0|(e=y2[e>>2])))break}y2[y2[A+32>>2]+P2(r,12)>>2]=g-r}if(!((0|(e=Y+1|0))<(0|s)))break;l=y2[(e<<2)+Z>>2],Y=e}for(d=0;;){if(r=y2[y2[(d<<2)+Z>>2]+8>>2])for(e=r;;){if(0<=(0|(c=y2[e+20>>2]))){if((0|(v=y2[A+44>>2]))==y2[A+48>>2]&&!((0|(s=v?v<<1:1))<=(0|v))){g=0,s&&(y2[6502]=y2[6502]+1,c=q2(16+(s<<2|3)|0))&&(y2[(g=c+19&-16)-4>>2]=c),u=y2[A+52>>2];A:{if(1<=(0|v)){for(c=g,k=u;;)if(y2[c>>2]=y2[k>>2],c=c+4|0,k=k+4|0,!(v=v-1|0))break}else if(!u)break A;U2[A+56|0]&&(y2[6503]=y2[6503]+1,$2(y2[u-4>>2])),y2[A+52>>2]=0,v=y2[A+44>>2]}y2[A+48>>2]=s,y2[A+52>>2]=g,X2[A+56|0]=1,c=y2[e+20>>2]}for(y2[y2[A+52>>2]+(v<<2)>>2]=c,y2[A+44>>2]=y2[A+44>>2]+1,c=e;;)if(y2[c+20>>2]=-1,(0|(c=y2[y2[c+8>>2]+4>>2]))==(0|e))break}if((0|r)==(0|(e=y2[e>>2])))break}if(e=(0|d)==(0|Y),d=d+1|0,e)break}Z&&(y2[6503]=y2[6503]+1,$2(y2[Z-4>>2]))}if((A=y2[100+o>>2])&&(U2[104+o|0]&&(y2[6503]=y2[6503]+1,$2(y2[A-4>>2])),y2[100+o>>2]=0),y2[100+o>>2]=0,X2[104+o|0]=1,y2[92+o>>2]=0,y2[96+o>>2]=0,c=y2[72+o>>2])for(;;)if(y2[72+o>>2]=y2[c+8>>2],(A=y2[c>>2])&&(y2[6503]=y2[6503]+1,$2(y2[A-4>>2])),y2[6503]=y2[6503]+1,$2(y2[c-4>>2]),!(c=y2[72+o>>2]))break;if(c=y2[56+o>>2])for(;;)if(y2[56+o>>2]=y2[c+8>>2],(A=y2[c>>2])&&(y2[6503]=y2[6503]+1,$2(y2[A-4>>2])),y2[6503]=y2[6503]+1,$2(y2[c-4>>2]),!(c=y2[56+o>>2]))break;if(c=y2[40+o>>2])for(;;)if(y2[40+o>>2]=y2[c+8>>2],(A=y2[c>>2])&&(y2[6503]=y2[6503]+1,$2(y2[A-4>>2])),y2[6503]=y2[6503]+1,$2(y2[c-4>>2]),!(c=y2[40+o>>2]))break}L2=176+o|0}function O0(A,e,r,f){N2[y2[y2[(A|=0)>>2]+80>>2]](A,e|=0,r|=0,f|=0)}function K0(A,e){A|=0,e=j2(e),H2[A+52>>2]=e}function L0(A){return 0}function q0(A,e,r){}function $0(A,e){var r,f,i,a,n,b,t,o=0,c=0,k=0,u=0,l=0,s=0,v=0,B=0,d=0;if(y2[A+8>>2]<(0|e)){if(e&&(y2[6502]=y2[6502]+1,o=q2(16+(3|P2(e,36))|0))&&(y2[(B=o+19&-16)-4>>2]=o),!((0|(a=y2[A+4>>2]))<1)){for(;;){if(o=P2(d,36),y2[(k=o+B|0)+4>>2]=0,y2[k+8>>2]=0,X2[k+16|0]=1,f=k+4|(y2[k+12>>2]=0),r=o+y2[A+12>>2]|0,1<=(0|(s=y2[4+r>>2]))){u=0,y2[6502]=y2[6502]+1,(o=q2(16+(3|(n=s<<2))|0))&&(y2[(u=o+19&-16)-4>>2]=o),t=k+8|0,b=k+16|0,v=y2[(i=k+12|0)>>2];A:{if(1<=(0|(l=y2[f>>2]))){for(c=u,o=v;;)if(y2[c>>2]=y2[o>>2],c=c+4|0,o=o+4|0,!(l=l-1|0))break}else if(!v)break A;U2[0|b]&&(y2[6503]=y2[6503]+1,$2(y2[v-4>>2]))}for(y2[i>>2]=u,X2[0|b]=1,y2[t>>2]=s,v2(u,0,n),y2[f>>2]=s,c=y2[12+r>>2],o=y2[i>>2];;)if(y2[o>>2]=y2[c>>2],o=o+4|0,c=c+4|0,!(s=s-1|0))break}else y2[f>>2]=s;if(o=y2[24+r>>2],y2[k+20>>2]=y2[20+r>>2],y2[k+24>>2]=o,u=y2[(c=28+r|0)+4>>2],y2[(o=k+28|0)>>2]=y2[c>>2],y2[o+4>>2]=u,(0|a)==(0|(d=d+1|0)))break}if(!((0|(l=y2[A+4>>2]))<1))for(o=8;;)if(v=(c=y2[A+12>>2]+o|0)-4|0,(k=y2[(u=c+4|0)>>2])&&(U2[c+8|0]&&(y2[6503]=y2[6503]+1,$2(y2[k-4>>2])),y2[u>>2]=0),y2[v>>2]=0,y2[u>>2]=0,o=o+36|(y2[c>>2]=0),!(l=l-(X2[c+8|0]=1)|0))break}(o=y2[A+12>>2])&&(U2[A+16|0]&&(y2[6503]=y2[6503]+1,$2(y2[o-4>>2])),y2[A+12>>2]=0),y2[A+12>>2]=B,X2[A+16|0]=1,y2[A+8>>2]=e}}function A1(A,e){var r,f,i,a,n,b,t=0,o=0,c=0,k=0,u=0,l=0,s=0;if((0|(l=y2[A+4>>2]))==y2[A+8>>2]&&($0(A,l?l<<1:1),l=y2[A+4>>2]),t=(i=y2[A+12>>2])+P2(l,36)|0,y2[t+4>>2]=0,y2[t+8>>2]=0,X2[t+16|0]=1,r=t+4|(y2[t+12>>2]=0),1<=(0|(k=y2[e+4>>2]))){y2[6502]=y2[6502]+1,(o=q2(16+(3|(a=k<<2))|0))&&(y2[(c=o+19&-16)-4>>2]=o),b=t+8|0,n=t+16|0,o=y2[(f=t+12|0)>>2];A:{if(1<=(0|(s=y2[r>>2]))){for(u=c,t=o;;)if(y2[u>>2]=y2[t>>2],u=u+4|0,t=t+4|0,!(s=s-1|0))break}else if(!o)break A;U2[0|n]&&(y2[6503]=y2[6503]+1,$2(y2[o-4>>2]))}for(y2[f>>2]=c,X2[0|n]=1,y2[b>>2]=k,v2(c,0,a),y2[r>>2]=k,u=y2[e+12>>2],t=y2[f>>2];;)if(y2[t>>2]=y2[u>>2],t=t+4|0,u=u+4|0,!(k=k-1|0))break}else y2[r>>2]=k;o=y2[e+24>>2],c=P2(l,36)+i|0,y2[c+20>>2]=y2[e+20>>2],y2[c+24>>2]=o,e=y2[(o=e+28|0)+4>>2],y2[(c=c+28|0)>>2]=y2[o>>2],y2[c+4>>2]=e,y2[A+4>>2]=y2[A+4>>2]+1}function e1(A,e,r,f){A|=0,e|=0,r|=0,f|=0;j2(0),j2(0),j2(0),j2(0),j2(0),j2(0),j2(0),j2(0),j2(0),j2(0),j2(0),j2(0),j2(0),j2(0),j2(0),j2(0),j2(0),j2(0),j2(0),j2(0),j2(0),j2(0);var i,a,n,b=j2(N2[y2[y2[A>>2]+48>>2]](A)),t=H2[e+52>>2],o=H2[e+24>>2],c=H2[e+20>>2],k=H2[e+56>>2],u=H2[e+40>>2],l=H2[A+72>>2],s=H2[A+88>>2],v=H2[e+36>>2],B=H2[A+68>>2],d=H2[A+84>>2],_=H2[e+48>>2],g=H2[e+8>>2],Z=H2[e>>2],C=H2[e+4>>2],w=H2[e+16>>2],e=H2[e+32>>2],E=H2[A+64>>2],A=H2[A+80>>2];y2[r+12>>2]=0,i=k,k=j2(j2(A+E)*j2(.5)),a=j2(j2(d+B)*j2(.5)),n=j2(j2(s+l)*j2(.5)),i=j2(i+j2(j2(j2(e*k)+j2(v*a))+j2(u*n))),E=j2(b+j2(j2(A-E)*j2(.5))),B=j2(b+j2(j2(d-B)*j2(.5))),b=j2(b+j2(j2(s-l)*j2(.5))),u=j2(j2(j2(E*j2(z2(e)))+j2(B*j2(z2(v))))+j2(b*j2(z2(u)))),H2[r+8>>2]=i-u,l=j2(t+j2(j2(j2(k*w)+j2(a*c))+j2(n*o))),o=j2(j2(j2(E*j2(z2(w)))+j2(B*j2(z2(c))))+j2(b*j2(z2(o)))),H2[r+4>>2]=l-o,c=j2(_+j2(j2(j2(k*Z)+j2(a*C))+j2(n*g))),b=j2(j2(j2(E*j2(z2(Z)))+j2(B*j2(z2(C))))+j2(b*j2(z2(g)))),H2[r>>2]=c-b,y2[f+12>>2]=0,H2[f+8>>2]=u+i,H2[f+4>>2]=o+l,H2[f>>2]=b+c}function r1(A){return(A|=0)+20|0}function f1(A){return j2(H2[(A|=0)+52>>2])}function i1(A){return 52}function a1(A){return 12}function n1(A,e,r){A|=0,e|=0,r|=0;var f,i,a=j2(0),n=j2(0),b=j2(0),t=0,o=0,c=j2(0),k=0,u=j2(0),l=0,s=j2(0),v=j2(0),B=j2(0);L2=i=L2-48|0;A:{e:if(!(13<(t=y2[e+4>>2])>>>0)){r:switch(t-1|0){case 7:y2[A>>2]=0,y2[A+4>>2]=0,y2[(A=A+8|0)>>2]=0,y2[A+4>>2]=0;break A;default:y2[A+12>>2]=0,a=H2[e+44>>2],H2[A+8>>2]=H2[r+8>>2]>=j2(0)?a:j2(-a),a=H2[e+40>>2],H2[A+4>>2]=H2[r+4>>2]>=j2(0)?a:j2(-a),a=H2[e+36>>2],H2[A>>2]=H2[r>>2]>=j2(0)?a:j2(-a);break A;case 0:y2[A+12>>2]=0,a=H2[r>>2],n=H2[r+4>>2],b=H2[r+8>>2],c=j2(j2(j2(a*H2[e+80>>2])+j2(n*H2[e+84>>2]))+j2(b*H2[e+88>>2])),u=j2(j2(j2(a*H2[e+96>>2])+j2(n*H2[e+100>>2]))+j2(b*H2[e+104>>2])),a=j2(j2(j2(a*H2[(r=e- -64|0)>>2])+j2(n*H2[e+68>>2]))+j2(b*H2[e+72>>2])),y2[A+8>>2]=y2[(e=((a>2],r=y2[e+4>>2],y2[A>>2]=y2[e>>2],y2[A+4>>2]=r;break A;case 12:l=y2[(o=e+44|0)+4>>2],y2[(t=40+i|0)>>2]=y2[o>>2],y2[t+4>>2]=l,o=y2[(t=e+36|0)+4>>2],y2[32+i>>2]=y2[t>>2],y2[36+i>>2]=o,y2[28+i>>2]=0,y2[16+i>>2]=y2[r>>2],n=H2[r+4>>2],y2[20+i>>2]=y2[r+4>>2],a=H2[r+8>>2],y2[24+i>>2]=y2[r+8>>2],(r=1)<(o=(e=y2[e+60>>(t=2)])-1|0)>>>0||(r=(1!=(0|o)?k=1:(a=n,k=2,t=1),0)),n=H2[(32+i|0)+(e<<2)>>2],c=H2[((e=r<<2)|32+i)>>2],b=H2[(e|16+i)>>2],e=(o=((s=j2(K2(j2(j2(b*b)+j2(a*a)))))!=j2(0)?(n=H2[(16+i|0)+(k<<2)>>2]>2]>2]=c,H2[(k<<2)+i>>2]=n,H2[(t<<2)+i>>2]=u,y2[A+12>>2]=0,y2[A>>2]=y2[i>>2],y2[A+4>>2]=y2[e>>2],y2[A+8>>2]=y2[o>>2];break A;case 9:f=y2[(t=e)+60>>2],s=H2[36+(t+(e=f<<2)|0)>>2],a=H2[r>>2],n=H2[r+4>>2],b=H2[r+8>>2],n=(c=j2(j2(j2(a*a)+j2(n*n))+j2(b*b)))>2]=0,y2[44+i>>2]=0,y2[32+i>>2]=0,y2[36+i>>2]=0,H2[e+(32+i|0)>>2]=s,a=j2(-0xde0b6b000000000),e=r=0,t=y2[32+i>>2],o=y2[36+i>>2],l=y2[40+i>>2],(b=j2(j2(j2(n*H2[32+i>>2])+j2(c*H2[36+i>>2]))+j2(u*H2[40+i>>2])))>j2(-0xde0b6b000000000)&&(k=o,a=b,r=t,e=l),y2[40+i>>2]=0,y2[44+i>>2]=0,y2[32+i>>2]=0,y2[36+i>>2]=0,H2[(32+i|0)+(f<<2)>>2]=-s,t=y2[40+i>>2],b=H2[40+i>>2],o=y2[32+i>>2],s=H2[32+i>>2],l=y2[36+i>>2],v=H2[36+i>>2],y2[A+12>>2]=0,f=e,e=j2(j2(j2(n*s)+j2(c*v))+j2(u*b))>a,y2[A+8>>2]=e?t:f,y2[A+4>>2]=e?l:k,y2[A>>2]=e?o:r;break A;case 4:if(n=H2[e+28>>2],b=H2[e+24>>2],c=H2[e+20>>2],t=y2[e+100>>2],(0|(l=y2[e+104>>2]))<1)k=-1;else for(u=j2(H2[r+8>>2]*n),s=j2(H2[r+4>>2]*b),v=j2(H2[r>>2]*c),r=0,k=-1,a=j2(-34028234663852886e22),e=t;;)if(a=(o=a<(B=j2(j2(j2(v*H2[e>>2])+j2(s*H2[e+4>>2]))+j2(u*H2[e+8>>2]))))?B:a,k=o?r:k,e=e+16|0,(0|l)==(0|(r=r+1|0)))break;y2[A+12>>2]=0,H2[A+8>>2]=n*H2[(e=t+(k<<4)|0)+8>>2],H2[A+4>>2]=b*H2[e+4>>2],H2[A>>2]=c*H2[e>>2];break A;case 1:case 2:case 5:case 6:case 8:case 10:case 11:break e;case 3:break r;}if(n=H2[e+28>>2],b=H2[e+24>>2],c=H2[e+20>>2],t=y2[e+112>>2],(0|(l=y2[e+104>>2]))<1)k=-1;else for(u=j2(H2[r+8>>2]*n),s=j2(H2[r+4>>2]*b),v=j2(H2[r>>2]*c),r=0,k=-1,a=j2(-34028234663852886e22),e=t;;)if(a=(o=a<(B=j2(j2(j2(v*H2[e>>2])+j2(s*H2[e+4>>2]))+j2(u*H2[e+8>>2]))))?B:a,k=o?r:k,e=e+16|0,(0|l)==(0|(r=r+1|0)))break;y2[A+12>>2]=0,H2[A+8>>2]=n*H2[(e=t+(k<<4)|0)+8>>2],H2[A+4>>2]=b*H2[e+4>>2],H2[A>>2]=c*H2[e>>2];break A}N2[y2[y2[e>>2]+68>>2]](A,e,r)}L2=48+i|0}function b1(A,e,r,f,i){A|=0,e|=0,r|=0,f|=0,i|=0;var a,n,b,t,o,c,k,V,x,p,S,J,M,X,y,U,H,P,j,z,O,K,L,q,$,A2,e2,r2,f2,i2,a2,n2,b2,t2,u,l=0,s=j2(0),v=0,B=0,d=j2(0),_=j2(0),g=j2(0),Z=j2(0),C=j2(0),w=j2(0),E=0,Q=j2(0),h=j2(0),G=j2(0),F=j2(0),D=j2(0),Y=j2(0),m=j2(0),N=j2(0),R=j2(0),I=j2(0),W=0,T=(j2(0),j2(0),j2(0),0);j2(0),j2(0),j2(0),j2(0),j2(0),j2(0),j2(0),j2(0),j2(0),j2(0),j2(0),j2(0),j2(0),j2(0),j2(0),j2(0),j2(0),j2(0),j2(0),j2(0),j2(0),j2(0),j2(0),j2(0),j2(0),j2(0),j2(0),j2(0),j2(0);for(L2=u=L2-208|0,y2[A+56>>2]=0,y2[(i=200+u|0)>>2]=0,y2[i+4>>2]=0,y2[192+u>>2]=0,y2[196+u>>2]=0,v=y2[(l=e+8|0)+4>>2],y2[(i=136+u|0)>>2]=y2[l>>2],y2[i+4>>2]=v,v=y2[(l=e+24|0)+4>>2],y2[(i=152+u|0)>>2]=y2[l>>2],y2[i+4>>2]=v,v=y2[(l=e+40|0)+4>>2],y2[(i=168+u|0)>>2]=y2[l>>2],y2[i+4>>2]=v,B=y2[(v=e+56|0)+4>>2],y2[(i=184+u|0)>>2]=y2[v>>2],y2[i+4>>2]=B,l=y2[e+4>>2],y2[128+u>>2]=y2[e>>2],y2[132+u>>2]=l,l=y2[e+20>>2],y2[144+u>>2]=y2[e+16>>2],y2[148+u>>2]=l,l=y2[e+36>>2],y2[160+u>>2]=y2[e+32>>2],y2[164+u>>2]=l,l=y2[e+52>>2],y2[176+u>>2]=y2[e+48>>2],y2[180+u>>2]=l,E=y2[(B=e+120|0)+4>>2],y2[(l=120+u|0)>>2]=y2[B>>2],y2[l+4>>2]=E,E=y2[(B=e+72|0)+4>>2],y2[(v=72+u|0)>>2]=y2[B>>2],y2[v+4>>2]=E,E=y2[(B=e+88|0)+4>>2],y2[(v=88+u|0)>>2]=y2[B>>2],y2[v+4>>2]=E,E=y2[(B=e+104|0)+4>>2],y2[(v=104+u|0)>>2]=y2[B>>2],y2[v+4>>2]=E,v=y2[e+68>>2],y2[64+u>>2]=y2[e+64>>2],y2[68+u>>2]=v,B=y2[(v=e+80|0)+4>>2],y2[80+u>>2]=y2[v>>2],y2[84+u>>2]=B,B=y2[(v=e+96|0)+4>>2],y2[96+u>>2]=y2[v>>2],y2[100+u>>2]=B,B=y2[(v=e+112|0)+4>>2],y2[112+u>>2]=y2[v>>2],y2[116+u>>2]=B,s=H2[(v=116+u|0)>>2],w=H2[(B=180+u|0)>>2],d=H2[112+u>>2],h=H2[176+u>>2],Q=H2[i>>2],_=H2[l>>2],n=j2(j2(Q+_)*j2(.5)),H2[i>>2]=Q-n,b=j2(j2(w+s)*j2(.5)),H2[B>>2]=w-b,t=j2(j2(h+d)*j2(.5)),H2[176+u>>2]=h-t,H2[l>>2]=_-n,H2[v>>2]=s-b,H2[112+u>>2]=d-t,W=y2[y2[A+28>>2]+4>>2]-17>>>0<=1?y2[y2[A+32>>2]+4>>2]-17>>>0<2:0,y2[A+68>>2]=0,y2[A+4>>2]=0,y2[A+8>>2]=1065353216,y2[A+60>>2]=-1,y2[A+64>>2]=0,y2[(i=A+12|0)>>2]=0,y2[i+4>>2]=0,y2[6660]=y2[6660]+1,i=y2[A+24>>2],X2[i+312|0]=0,X2[i+356|0]=1,k=U2[A+52|0],G=H2[A+48>>2],D=H2[A+44>>2],y2[(l=i+336|0)>>2]=0,y2[l+4>>2]=0,y2[(l=i+300|0)>>2]=1566444395,y2[l+4>>2]=0,y2[i+292>>2]=1566444395,y2[i+296>>2]=1566444395,y2[(l=i+344|0)>>2]=0,y2[l+4>>2]=0,X2[i+352|0]=0,y2[i>>2]=0,X2[0|(i=i+332|0)]=240&U2[0|i],a=A+4|0,d=j2(0xde0b6b000000000);;){y2[60+u>>2]=0,h=H2[A+8>>2],Q=j2(-h),s=H2[A+4>>2],w=H2[A+12>>2],H2[56+u>>2]=j2(j2(H2[e+24>>2]*Q)-j2(s*H2[e+8>>2]))-j2(w*H2[e+40>>2]),H2[52+u>>2]=j2(j2(H2[e+20>>2]*Q)-j2(s*H2[e+4>>2]))-j2(w*H2[e+36>>2]),H2[48+u>>2]=j2(j2(H2[e+16>>2]*Q)-j2(s*H2[e>>2]))-j2(w*H2[e+32>>2]),y2[44+u>>2]=0,H2[40+u>>2]=j2(j2(s*H2[e+72>>2])+j2(h*H2[e+88>>2]))+j2(w*H2[e+104>>2]),H2[36+u>>2]=j2(j2(s*H2[e+68>>2])+j2(h*H2[e+84>>2]))+j2(w*H2[e+100>>2]),H2[32+u>>2]=j2(j2(s*H2[e+64>>2])+j2(h*H2[e+80>>2]))+j2(w*H2[e+96>>2]),n1(16+u|0,y2[A+28>>2],48+u|0),n1(u,y2[A+32>>2],32+u|0);A:{if(Q=H2[16+u>>2],_=H2[20+u>>2],h=H2[24+u>>2],F=j2(j2(j2(j2(Q*H2[128+u>>2])+j2(_*H2[132+u>>2]))+j2(h*H2[136+u>>2]))+H2[176+u>>2]),g=H2[u>>2],C=H2[4+u>>2],Z=H2[8+u>>2],Y=j2(j2(j2(j2(g*H2[64+u>>2])+j2(C*H2[68+u>>2]))+j2(Z*H2[72+u>>2]))+H2[112+u>>2]),w=j2(F-Y),N=j2(j2(j2(j2(Q*H2[144+u>>2])+j2(_*H2[148+u>>2]))+j2(h*H2[152+u>>2]))+H2[180+u>>2]),R=j2(j2(j2(j2(g*H2[80+u>>2])+j2(C*H2[84+u>>2]))+j2(Z*H2[88+u>>2]))+H2[116+u>>2]),s=j2(N-R),I=j2(j2(j2(j2(Q*H2[160+u>>2])+j2(_*H2[164+u>>2]))+j2(h*H2[168+u>>2]))+H2[184+u>>2]),g=j2(j2(j2(j2(g*H2[96+u>>2])+j2(C*H2[100+u>>2]))+j2(Z*H2[104+u>>2]))+H2[120+u>>2]),_=j2(W?0:I-g),(Q=j2(j2(j2(w*H2[A+4>>2])+j2(s*H2[A+8>>2]))+j2(_*H2[A+12>>2])))>j2(0)&&j2(Q*Q)>j2(d*H2[e+128>>2]))y2[A+68>>2]=10;else{B=y2[A+24>>2],v=y2[B>>2],l=0;e:if(!((0|v)<1)){for(E=B+12|0,h=H2[B+308>>2],i=v;;){if(C=j2(w-H2[E-8>>2]),Z=j2(C*C),C=j2(s-H2[E-4>>2]),Z=j2(Z+j2(C*C)),C=j2(_-H2[E>>2]),l=1,j2(Z+j2(C*C))<=h)break e;if(E=E+16|0,!(i=i-1|0))break}l=0}e:{r:{if(H2[B+304>>2]==j2(0)&&_==H2[B+300>>2]&&s==H2[B+296>>2]){if(l|H2[B+292>>2]==w)break r;break e}if(!l)break e}y2[A+68>>2]=T=1,E=0;break A}if((C=j2(d-Q))<=j2(d*j2(9.999999974752427e-7)))y2[A+68>>2]=C<=j2(0)?2:11;else if(y2[B+304>>2]=0,H2[B+296>>2]=s,H2[B+300>>2]=_,X2[B+356|0]=1,H2[B+292>>2]=w,y2[(i=B+(v<<4)|0)+16>>2]=0,H2[i+8>>2]=s,H2[i+12>>2]=_,H2[i+4>>2]=w,i=B+(y2[B>>2]<<4)|0,y2[i+96>>2]=0,H2[i+88>>2]=N,H2[i+92>>2]=W?j2(0):I,H2[i+84>>2]=F,i=B+(y2[B>>2]<<4)|0,y2[i+176>>2]=0,H2[i+168>>2]=R,H2[i+172>>2]=W?j2(0):g,H2[i+164>>2]=Y,y2[B>>2]=y2[B>>2]+1,N0(i=y2[A+24>>2])){if(l=y2[i+288>>2],s=H2[i+276>>2],_=H2[i+280>>2],g=H2[i+284>>2],!((w=j2(j2(j2(s*s)+j2(_*_))+j2(g*g)))>2]=12,T=1,E=0):(y2[A+16>>2]=l,H2[A+12>>2]=g,H2[A+8>>2]=_,H2[A+4>>2]=s,i=y2[A+64>>2],y2[A+64>>2]=i+1,1e3<((E=0)|i)||(4!=y2[y2[A+24>>2]>>2]?E=1:y2[A+68>>2]=13)),d=w;break A}y2[A+68>>2]=6,y2[A+16>>2]=l,H2[A+12>>2]=g,H2[A+8>>2]=_,H2[A+4>>2]=s}else y2[A+68>>2]=3}T=1,E=0}if(!E)break}s=j2(0),_=k?j2(0):G,g=j2((k?j2(0):D)+_),E=i=0,T&&(N0(l=y2[A+24>>2]),W=y2[(B=8+a|0)+4>>2],y2[(v=200+u|0)>>2]=y2[B>>2],y2[v+4>>2]=W,v=y2[4+a>>2],y2[192+u>>2]=y2[a>>2],y2[196+u>>2]=v,Q=H2[l+268>>2],h=H2[l+264>>2],w=H2[l+260>>2],C=H2[A+4>>2],Z=H2[A+8>>2],G=H2[A+12>>2],(s=j2(j2(j2(C*C)+j2(Z*Z))+j2(G*G)))>2]=5),l=1,s=s>j2(14210854715202004e-30)?(s=j2(j2(1)/j2(K2(s))),H2[192+u>>2]=s*H2[192+u>>2],H2[196+u>>2]=s*H2[196+u>>2],H2[200+u>>2]=s*H2[200+u>>2],d=j2(_/j2(K2(d))),Q=j2(j2(d*G)+Q),h=j2(j2(d*Z)+h),w=j2(j2(d*C)+w),j2(j2(j2(E=1)/s)-g)):(l=2,j2(0)),y2[A+60>>2]=l),l=!(i=y2[A+72>>2]&&y2[A+20>>2]&&y2[A+68>>2]?j2(g+s)>2])){if(y2[a>>2]=0,y2[4+a>>2]=0,y2[(v=8+a|0)>>2]=0,y2[v+4>>2]=0,y2[6661]=y2[6661]+1,0|N2[y2[y2[l>>2]+8>>2]](l,y2[A+24>>2],y2[A+28>>2],y2[A+32>>2],128+u|0,u+64|0,a,48+u|0,32+u|0,f)){if(d=j2(0),_=H2[32+u>>2],Z=H2[48+u>>2],G=j2(_-Z),g=H2[36+u>>2],N=H2[52+u>>2],D=j2(g-N),C=H2[40+u>>2],R=H2[56+u>>2],F=j2(C-R),(Y=j2(j2(j2(G*G)+j2(D*D))+j2(F*F)))<=j2(14210854715202004e-30)&&(G=H2[A+4>>2],D=H2[A+8>>2],F=H2[A+12>>2],Y=j2(j2(j2(G*G)+j2(D*D))+j2(F*F)),d=H2[A+16>>2]),Y>j2(14210854715202004e-30)){if(y2[A+60>>2]=3,Z=j2(Z-_),m=j2(Z*Z),Z=j2(N-g),m=j2(m+j2(Z*Z)),Z=j2(R-C),!(((Z=j2(-j2(K2(j2(m+j2(Z*Z))))))>2]=d,s=j2(j2(1)/j2(K2(Y))),H2[200+u>>2]=F*s,H2[196+u>>2]=D*s,H2[192+u>>2]=G*s,w=_,h=g,Q=C,s=Z;break e}if(y2[A+60>>2]=8,E)break e;break A}if(y2[A+60>>2]=9,E)break e;break A}if(C=H2[A+4>>2],Z=H2[A+8>>2],G=H2[A+12>>2],j2(j2(j2(C*C)+j2(Z*Z))+j2(G*G))>j2(0)){if(D=H2[32+u>>2],d=j2(H2[48+u>>2]-D),m=j2(d*d),F=H2[36+u>>2],d=j2(H2[52+u>>2]-F),m=j2(m+j2(d*d)),Y=H2[40+u>>2],d=j2(H2[56+u>>2]-Y),!(((d=j2(j2(K2(j2(m+j2(d*d))))-g))>2],y2[(i=f=200+u|0)>>2]=y2[l>>2],y2[i+4>>2]=v,y2[A+60>>2]=6,i=y2[4+a>>2],y2[192+u>>2]=y2[a>>2],y2[196+u>>2]=i,w=H2[192+u>>2],h=H2[196+u>>2],Q=H2[f>>2],s=j2(j2(1)/j2(K2(j2(j2(j2(w*w)+j2(h*h))+j2(Q*Q))))),H2[f>>2]=Q*s,H2[192+u>>2]=w*s,H2[196+u>>2]=h*s,Q=j2(j2(_*G)+Y),h=j2(j2(_*Z)+F),w=j2(j2(_*C)+D),s=d;break e}y2[A+60>>2]=5}}if(!E)break A}(H2[e+128>>2]>j2(s*s)||s>2],y2[a>>2]=y2[192+u>>2],y2[4+a>>2]=f,H2[A+56>>2]=s,l=y2[(f=200+u|0)+4>>2],y2[(i=8+a|0)>>2]=y2[f>>2],y2[i+4>>2]=l,y2[60+u>>2]=0,d=H2[192+u>>2],g=H2[196+u>>2],_=H2[f>>2],H2[56+u>>2]=j2(j2(d*H2[e+8>>2])+j2(g*H2[e+24>>2]))+j2(_*H2[e+40>>2]),H2[52+u>>2]=j2(j2(d*H2[e+4>>2])+j2(g*H2[e+20>>2]))+j2(_*H2[e+36>>2]),H2[48+u>>2]=j2(j2(d*H2[e>>2])+j2(g*H2[e+16>>2]))+j2(_*H2[e+32>>2]),y2[44+u>>2]=0,g=j2(-g),H2[40+u>>2]=j2(j2(H2[e+88>>2]*g)-j2(d*H2[e+72>>2]))-j2(_*H2[e+104>>2]),H2[36+u>>2]=j2(j2(H2[e+84>>2]*g)-j2(d*H2[e+68>>2]))-j2(_*H2[e+100>>2]),H2[32+u>>2]=j2(j2(H2[e+80>>2]*g)-j2(d*H2[e+64>>2]))-j2(_*H2[e+96>>2]),n1(16+u|0,y2[A+28>>2],48+u|0),n1(u,y2[A+32>>2],32+u|0),d=H2[f>>2],p=H2[184+u>>2],S=H2[168+u>>2],J=H2[160+u>>2],M=H2[164+u>>2],X=H2[120+u>>2],y=H2[104+u>>2],U=H2[96+u>>2],H=H2[100+u>>2],P=H2[180+u>>2],j=H2[152+u>>2],z=H2[144+u>>2],O=H2[148+u>>2],K=H2[116+u>>2],L=H2[88+u>>2],q=H2[80+u>>2],$=H2[84+u>>2],A2=H2[176+u>>2],e2=H2[136+u>>2],C=H2[24+u>>2],r2=H2[128+u>>2],Z=H2[16+u>>2],f2=H2[132+u>>2],G=H2[20+u>>2],i2=H2[112+u>>2],a2=H2[72+u>>2],D=H2[8+u>>2],n2=H2[64+u>>2],F=H2[u>>2],b2=H2[68+u>>2],Y=H2[4+u>>2],g=H2[196+u>>2],_=H2[192+u>>2],y2[60+u>>2]=0,N=j2(-g),H2[56+u>>2]=j2(j2(H2[e+24>>2]*N)-j2(_*H2[e+8>>2]))-j2(d*H2[e+40>>2]),H2[52+u>>2]=j2(j2(H2[e+20>>2]*N)-j2(_*H2[e+4>>2]))-j2(d*H2[e+36>>2]),H2[48+u>>2]=j2(j2(H2[e+16>>2]*N)-j2(_*H2[e>>2]))-j2(d*H2[e+32>>2]),y2[44+u>>2]=0,H2[40+u>>2]=j2(j2(_*H2[e+72>>2])+j2(g*H2[e+88>>2]))+j2(d*H2[e+104>>2]),H2[36+u>>2]=j2(j2(_*H2[e+68>>2])+j2(g*H2[e+84>>2]))+j2(d*H2[e+100>>2]),H2[32+u>>2]=j2(j2(_*H2[e+64>>2])+j2(g*H2[e+80>>2]))+j2(d*H2[e+96>>2]),n1(16+u|0,y2[A+28>>2],48+u|0),n1(u,y2[A+32>>2],32+u|0),g=H2[16+u>>2],R=H2[20+u>>2],I=H2[24+u>>2],o=H2[u>>2],c=H2[4+u>>2],m=H2[8+u>>2],V=H2[192+u>>2],x=H2[196+u>>2],t2=j2(j2(j2(j2(j2(j2(j2(g*H2[128+u>>2])+j2(R*H2[132+u>>2]))+j2(I*H2[136+u>>2]))+H2[176+u>>2])-j2(j2(j2(j2(o*H2[64+u>>2])+j2(c*H2[68+u>>2]))+j2(m*H2[72+u>>2]))+H2[112+u>>2]))*V)+j2(j2(j2(j2(j2(j2(g*H2[144+u>>2])+j2(R*H2[148+u>>2]))+j2(I*H2[152+u>>2]))+H2[180+u>>2])-j2(j2(j2(j2(o*H2[80+u>>2])+j2(c*H2[84+u>>2]))+j2(m*H2[88+u>>2]))+H2[116+u>>2]))*x)),m=j2(j2(j2(j2(j2(g*H2[160+u>>2])+j2(R*H2[164+u>>2]))+j2(I*H2[168+u>>2]))+H2[184+u>>2])-j2(j2(j2(j2(o*H2[96+u>>2])+j2(c*H2[100+u>>2]))+j2(m*H2[104+u>>2]))+H2[120+u>>2])),g=H2[f>>2],j2(t2+j2(m*g))>2]=10,H2[200+u>>2]=-g,H2[196+u>>2]=-x,H2[192+u>>2]=-V),y2[60+u>>2]=0,H2[56+u>>2]=n+Q,H2[52+u>>2]=b+h,H2[48+u>>2]=t+w,N2[y2[y2[r>>2]+16>>2]](r,192+u|0,48+u|0,s))}L2=208+u|0}function t1(A,e,r,f,i,a){A|=0,e|=0,r|=0,f|=0,i|=0,a|=0;var n,b,t,o,c,k,u,l,s,v,B,d,_,g=0,Z=j2(0),C=j2(0),w=0,E=0,Q=j2(0),h=(j2(0),j2(0),j2(0),0);j2(0),j2(0),j2(0),j2(0),j2(0),j2(0),j2(0),j2(0);L2=_=L2-288|0,g=y2[A+4>>2],y2[g+292>>2]=1566444395,y2[g+296>>2]=1566444395,y2[(n=g+336|0)>>2]=0,y2[4+n>>2]=0,y2[(n=g+300|0)>>2]=1566444395,y2[4+n>>2]=0,y2[(n=g+344|0)>>2]=0,y2[4+n>>2]=0,X2[g+352|0]=0,X2[0|(n=g+332|0)]=240&U2[0|n],X2[g+312|0]=0,X2[g+356|0]=1,y2[g>>2]=0,Z=H2[r+52>>2],C=H2[e+52>>2],Q=H2[i+52>>2],b=H2[f+52>>2],t=H2[r+56>>2],o=H2[(w=e+56|0)>>2],c=H2[i+56>>2],k=H2[(E=f+56|0)>>2],u=H2[r+48>>2],l=H2[e+48>>2],s=H2[i+48>>2],v=H2[f+48>>2],X2[264+_|0]=0,y2[260+_>>2]=1566444395,y2[224+_>>2]=11496,y2[(g=156+_|0)>>2]=0,y2[g+4>>2]=0,y2[144+_>>2]=11364,y2[164+_>>2]=0,y2[148+_>>2]=0,y2[152+_>>2]=1065353216,g=y2[A+12>>2],y2[176+_>>2]=g,n=y2[A+8>>2],y2[172+_>>2]=n,y2[168+_>>2]=y2[A+4>>2],y2[180+_>>2]=y2[n+4>>2],y2[184+_>>2]=y2[g+4>>2],B=_,d=j2(N2[y2[y2[n>>2]+48>>2]](n)),H2[188+B>>2]=d,B=j2(N2[y2[y2[g>>2]+48>>2]](g)),y2[216+_>>2]=1,y2[220+_>>2]=1,y2[204+_>>2]=-1,X2[196+_|0]=0,H2[192+_>>2]=B,n=y2[(g=e+8|0)+4>>2],y2[(A=16+_|0)>>2]=y2[g>>2],y2[A+4>>2]=n,n=y2[(g=e+24|0)+4>>2],y2[(A=32+_|0)>>2]=y2[g>>2],y2[A+4>>2]=n,n=y2[(g=e+40|0)+4>>2],y2[(A=48+_|0)>>2]=y2[g>>2],y2[A+4>>2]=n,g=y2[w+4>>2],y2[(A=_+64|0)>>2]=y2[w>>2],y2[A+4>>2]=g,n=y2[(g=f+8|0)+4>>2],y2[(A=80+_|0)>>2]=y2[g>>2],y2[A+4>>2]=n,y2[136+_>>2]=1566444395,A=y2[e+4>>2],y2[8+_>>2]=y2[e>>2],y2[12+_>>2]=A,A=y2[e+20>>2],y2[24+_>>2]=y2[e+16>>2],y2[28+_>>2]=A,A=y2[e+36>>2],y2[40+_>>2]=y2[e+32>>2],y2[44+_>>2]=A,A=y2[e+52>>2],y2[56+_>>2]=y2[e+48>>2],y2[60+_>>2]=A,A=y2[f+4>>2],y2[72+_>>2]=y2[f>>2],y2[76+_>>2]=A,n=y2[(g=f+24|0)+4>>2],y2[(A=96+_|0)>>2]=y2[g>>2],y2[A+4>>2]=n,g=y2[f+20>>2],y2[(A=88+_|0)>>2]=y2[f+16>>2],y2[A+4>>2]=g,n=y2[(g=f+40|0)+4>>2],y2[(A=112+_|0)>>2]=y2[g>>2],y2[A+4>>2]=n,g=y2[f+36>>2],y2[(A=104+_|0)>>2]=y2[f+32>>2],y2[A+4>>2]=g,g=y2[E+4>>2],y2[(A=128+_|0)>>2]=y2[E>>2],y2[A+4>>2]=g,g=y2[f+52>>2],y2[(A=120+_|0)>>2]=y2[f+48>>2],y2[A+4>>2]=g,b1(144+_|0,8+_|0,224+_|0,0,0),n=y2[(g=252+_|0)+4>>2],y2[(A=280+_|0)>>2]=y2[g>>2],y2[A+4>>2]=n,A=y2[248+_>>2],y2[272+_>>2]=y2[244+_>>2],y2[276+_>>2]=A;A:if(U2[264+_|(g=0)]){t=j2(j2(t-o)-j2(c-k)),b=j2(j2(Z-C)-j2(Q-b)),o=j2(j2(u-l)-j2(s-v)),w=y2[232+_>>2],A=y2[236+_>>2],E=y2[228+_>>2];e:{if((Q=H2[260+_>>2])>j2(.0010000000474974513))for(n=244+_|0,h=33,C=j2(0);;){if(!(h=h-1|(g=0)))break A;if(g=0,(Z=j2(C-j2(Q/j2(j2(t*(E2(2,A),h2()))+j2(j2(b*(E2(2,w),h2()))+j2(o*(E2(2,E),h2())))))))<=C)break A;if(Zj2(1))break A;if(N2[y2[y2[a>>2]>>2]](a,Z),C=j2(j2(1)-Z),H2[56+_>>2]=j2(C*H2[e+48>>2])+j2(Z*H2[r+48>>2]),H2[60+_>>2]=j2(C*H2[e+52>>2])+j2(Z*H2[r+52>>2]),H2[64+_>>2]=j2(C*H2[e+56>>2])+j2(Z*H2[r+56>>2]),H2[120+_>>2]=j2(C*H2[f+48>>2])+j2(Z*H2[i+48>>2]),H2[124+_>>2]=j2(C*H2[f+52>>2])+j2(Z*H2[i+52>>2]),H2[128+_>>2]=j2(C*H2[f+56>>2])+j2(Z*H2[i+56>>2]),b1(144+_|0,8+_|0,224+_|0,0,0),!U2[264+_|(g=0)])break A;if((Q=H2[260+_>>2])>2]=Z,A=y2[232+_>>2],y2[a+132>>2]=y2[228+_>>2],y2[a+136>>2]=A,e=y2[240+_>>2],y2[(A=a+140|0)>>2]=y2[236+_>>2],y2[A+4>>2]=e,A=y2[4+n>>2],y2[a+148>>2]=y2[n>>2],y2[a+152>>2]=A,r=y2[(e=8+n|0)+4>>2],y2[(A=a+156|0)>>2]=y2[e>>2],y2[A+4>>2]=r;break e}if(w=y2[(g=8+n|0)+4>>2],y2[(A=280+_|0)>>2]=y2[g>>2],y2[A+4>>2]=w,A=y2[4+n>>2],y2[272+_>>2]=y2[n>>2],y2[276+_>>2]=A,E=y2[228+_>>2],w=y2[232+_>>2],A=y2[236+_>>2],C=Z,!(Q>j2(.0010000000474974513)))break}else Z=j2(0);if(C=H2[240+_>>2],g=0,j2(-H2[a+172>>2])<=j2(j2(t*(E2(2,A),h2()))+j2(j2(b*(E2(2,w),h2()))+j2(o*(E2(2,E),h2())))))break A;y2[a+132>>2]=E,H2[a+164>>2]=Z,e=y2[276+_>>2],y2[a+148>>2]=y2[272+_>>2],y2[a+152>>2]=e,H2[a+144>>2]=C,y2[a+140>>2]=A,y2[a+136>>2]=w,r=y2[(e=280+_|0)+4>>2],y2[(A=a+156|0)>>2]=y2[e>>2],y2[A+4>>2]=r}g=1}return L2=288+_|0,0|g}function o1(A,e){var r,f,i;L2=i=L2-48|0,f=y2[(e|=0)+4>>2],r=y2[(A|=0)+56>>2],y2[r+4>>2]=y2[e>>2],y2[r+8>>2]=f,f=y2[(e=e+8|0)+4>>2],y2[(r=r+12|0)>>2]=y2[e>>2],y2[4+r>>2]=f,y2[44+i>>2]=0,y2[36+i>>2]=0,y2[40+i>>2]=0,y2[32+i>>2]=1065353216,N2[y2[y2[A>>2]+68>>2]](16+i|0,A,32+i|0),H2[A+40>>2]=H2[16+i>>2]+H2[A+20>>2],y2[32+i>>2]=-1082130432,N2[y2[y2[A>>2]+68>>2]](i,A,32+i|0),f=y2[4+(r=8+i|0)>>2],y2[(e=24+i|0)>>2]=y2[r>>2],y2[e+4>>2]=f,f=y2[4+i>>2],y2[16+i>>2]=y2[i>>2],y2[20+i>>2]=f,H2[A+24>>2]=H2[16+i>>2]-H2[A+20>>2],y2[32+i>>2]=0,y2[36+i>>2]=0,y2[40+i>>2]=0,y2[44+i>>2]=0,y2[36+i>>2]=1065353216,N2[y2[y2[A>>2]+68>>2]](16+i|0,A,32+i|0),H2[A+44>>2]=H2[20+i>>2]+H2[A+20>>2],y2[36+i>>2]=-1082130432,N2[y2[y2[A>>2]+68>>2]](i,A,32+i|0),f=y2[4+r>>2],y2[e>>2]=y2[r>>2],y2[e+4>>2]=f,f=y2[4+i>>2],y2[16+i>>2]=y2[i>>2],y2[20+i>>2]=f,H2[A+28>>2]=H2[20+i>>2]-H2[A+20>>2],y2[40+i>>2]=0,y2[44+i>>2]=0,y2[32+i>>2]=0,y2[36+i>>2]=0,y2[40+i>>2]=1065353216,N2[y2[y2[A>>2]+68>>2]](16+i|0,A,32+i|0),H2[A+48>>2]=H2[e>>2]+H2[A+20>>2],y2[40+i>>2]=-1082130432,N2[y2[y2[A>>2]+68>>2]](i,A,32+i|0),f=y2[4+r>>2],y2[e>>2]=y2[r>>2],y2[e+4>>2]=f,r=y2[4+i>>2],y2[16+i>>2]=y2[i>>2],y2[20+i>>2]=r,H2[A+32>>2]=H2[e>>2]-H2[A+20>>2],L2=48+i|0}function c1(A,e,r){A|=0,e=j2(e),y2[(r|=0)>>2]=0,y2[r+4>>2]=0,y2[(A=r+8|0)>>2]=0,y2[A+4>>2]=0}function k1(A){var e;return y2[(A|=0)>>2]=12060,(e=y2[A+160>>2])&&(U2[A+164|0]&&(y2[6503]=y2[6503]+1,$2(y2[e-4>>2])),y2[A+160>>2]=0),y2[A+160>>2]=0,y2[A+152>>2]=0,y2[A+156>>2]=0,X2[A+164|0]=1,(e=y2[A+136>>2])&&(U2[A+140|0]&&(y2[6503]=y2[6503]+1,$2(y2[e-4>>2])),y2[A+136>>2]=0),y2[A+136>>2]=0,y2[A+128>>2]=0,y2[A+132>>2]=0,X2[A+140|0]=1,(e=y2[A+116>>2])&&(U2[A+120|0]&&(y2[6503]=y2[6503]+1,$2(y2[e-4>>2])),y2[A+116>>2]=0),y2[A+116>>2]=0,y2[A+108>>2]=0,y2[A+112>>2]=0,X2[A+120|0]=1,(e=y2[A+96>>2])&&(U2[A+100|0]&&(y2[6503]=y2[6503]+1,$2(y2[e-4>>2])),y2[A+96>>2]=0),y2[A+96>>2]=0,y2[A+88>>2]=0,y2[A+92>>2]=0,X2[A+100|0]=1,(e=y2[A+76>>2])&&(U2[A+80|0]&&(y2[6503]=y2[6503]+1,$2(y2[e-4>>2])),y2[A+76>>2]=0),y2[A+76>>2]=0,y2[A+68>>2]=0,y2[A+72>>2]=0,X2[A+80|0]=1,0|A}function u1(A,e,r,f){e|=0,r|=0,f|=0;var i,a=0,n=0,b=0,t=0,o=0,c=0,k=0,u=0;y2[(A|=0)+168>>2]=y2[A+152>>2],X2[e+80|0]=1,X2[e+60|0]=0,y2[e+52>>2]=287,y2[e>>2]=12060,y2[e+76>>2]=0,X2[e+100|0]=1,y2[e+68>>2]=0,y2[e+72>>2]=0,y2[e+96>>2]=0,X2[e+120|0]=1,y2[e+88>>2]=0,y2[e+92>>2]=0,y2[e+116>>2]=0,X2[e+140|0]=1,y2[e+108>>2]=0,y2[e+112>>2]=0,y2[e+136>>2]=0,y2[e+144>>2]=0,X2[e+164|0]=1,y2[e+128>>2]=0,y2[e+132>>2]=0,y2[e+152>>2]=0,y2[e+156>>2]=0,y2[e+4>>2]=-8388609,y2[e+8>>2]=-8388609,y2[e+12>>2]=-8388609,y2[e+16>>2]=0,y2[e+20>>2]=2139095039,y2[e+24>>2]=2139095039,y2[e+28>>2]=2139095039,y2[e+32>>2]=0,y2[e+168>>2]=0,y2[e+160>>2]=0,r=y2[A+56>>2],r=f?(y2[e+56>>2]=r<<8&16711680|r<<24|r>>>8&65280|r>>>24,X2[e+4|0]=U2[A+7|0],X2[e+5|0]=U2[A+6|0],X2[e+6|0]=U2[A+5|0],X2[e+7|0]=U2[A+4|0],X2[e+8|0]=U2[A+11|0],X2[e+9|0]=U2[A+10|0],X2[e+10|0]=U2[A+9|0],X2[e+11|0]=U2[A+8|0],X2[e+12|0]=U2[A+15|0],X2[e+13|0]=U2[A+14|0],X2[e+14|0]=U2[A+13|0],X2[e+15|0]=U2[A+12|0],X2[e+16|0]=U2[A+19|0],X2[e+17|0]=U2[A+18|0],X2[e+18|0]=U2[A+17|0],X2[e+19|0]=U2[A+16|0],X2[e+20|0]=U2[A+23|0],X2[e+21|0]=U2[A+22|0],X2[e+22|0]=U2[A+21|0],X2[e+23|0]=U2[A+20|0],X2[e+24|0]=U2[A+27|0],X2[e+25|0]=U2[A+26|0],X2[e+26|0]=U2[A+25|0],X2[e+27|0]=U2[A+24|0],X2[e+28|0]=U2[A+31|0],X2[e+29|0]=U2[A+30|0],X2[e+30|0]=U2[A+29|0],X2[e+31|0]=U2[A+28|0],X2[e+32|0]=U2[A+35|0],X2[e+33|0]=U2[A+34|0],X2[e+34|0]=U2[A+33|0],X2[e+35|0]=U2[A+32|0],X2[e+36|0]=U2[A+39|0],X2[e+37|0]=U2[A+38|0],X2[e+38|0]=U2[A+37|0],X2[e+39|0]=U2[A+36|0],X2[e+40|0]=U2[A+43|0],X2[e+41|0]=U2[A+42|0],X2[e+42|0]=U2[A+41|0],X2[e+43|0]=U2[A+40|0],X2[e+44|0]=U2[A+47|0],X2[e+45|0]=U2[A+46|0],X2[e+46|0]=U2[A+45|0],X2[e+47|0]=U2[A+44|0],X2[e+48|0]=U2[A+51|0],X2[e+49|0]=U2[A+50|0],X2[e+50|0]=U2[A+49|0],X2[e+51|0]=U2[A+48|0],r=y2[A+144>>2],y2[e+144>>2]=r<<24|r<<8&16711680|r>>>8&65280|r>>>24,(r=y2[A+168>>2])<<24|r<<8&16711680|r>>>8&65280|r>>>24):(y2[e+56>>2]=r,r=y2[(a=A+12|0)+4>>2],y2[(k=(t=e+4|0)+8|0)>>2]=y2[a>>2],y2[k+4>>2]=r,r=y2[A+8>>2],y2[t>>2]=y2[A+4>>2],y2[t+4>>2]=r,r=y2[(a=A+28|0)+4>>2],y2[(k=(t=e+20|0)+8|0)>>2]=y2[a>>2],y2[k+4>>2]=r,r=y2[A+24>>2],y2[t>>2]=y2[A+20>>2],y2[t+4>>2]=r,r=y2[A+40>>2],y2[e+36>>2]=y2[A+36>>2],y2[e+40>>2]=r,r=y2[(a=A+44|0)+4>>2],y2[(k=e+44|0)>>2]=y2[a>>2],y2[k+4>>2]=r,y2[e+144>>2]=y2[A+144>>2],y2[A+168>>2]),X2[e+60|0]=U2[A+60|0],y2[e+168>>2]=r,k=e+172|0,r=y2[A+56>>2];A:if(U2[A+60|0]){if((a=y2[e+136>>2])&&(U2[e+140|0]&&(y2[6503]=y2[6503]+1,$2(y2[a-4>>2])),y2[e+136>>2]=0),y2[e+136>>2]=k,X2[e+140|0]=0,y2[e+132>>2]=r,y2[e+128>>2]=r,f){if(!((0|r)<1))for(c=y2[A+136>>2],t=r;;)if(a=e2[(b=o+c|0)>>1],A2[(n=e+o|0)+172>>1]=(a<<24|a<<8&16711680)>>>16,a=e2[b+2>>1],A2[n+174>>1]=(a<<24|a<<8&16711680)>>>16,a=e2[b+4>>1],A2[n+176>>1]=(a<<24|a<<8&16711680)>>>16,a=e2[b+6>>1],A2[n+178>>1]=(a<<24|a<<8&16711680)>>>16,a=e2[b+8>>1],A2[n+180>>1]=(a<<24|a<<8&16711680)>>>16,a=y2[b+12>>2],y2[n+184>>2]=a<<24|a<<8&16711680|a>>>8&65280|a>>>24,a=e2[b+10>>1],A2[n+182>>1]=(a<<24|a<<8&16711680)>>>16,o=o+16|0,!(t=t-1|0))break}else if(!((0|r)<1))for(t=y2[A+136>>2],a=r;;)if(A2[(b=e+o|0)+172>>1]=e2[(c=o+t|0)>>1],A2[b+174>>1]=e2[c+2>>1],A2[b+176>>1]=e2[c+4>>1],A2[b+178>>1]=e2[c+6>>1],A2[b+180>>1]=e2[c+8>>1],y2[b+184>>2]=y2[c+12>>2],A2[b+182>>1]=e2[c+10>>1],o=o+16|0,!(a=a-1|0))break;c=e+128|0,o=r<<4}else{(a=y2[e+96>>2])&&(U2[e+100|0]&&(y2[6503]=y2[6503]+1,$2(y2[a-4>>2])),y2[e+96>>2]=0),c=e+88|0,y2[e+96>>2]=k,X2[e+100|0]=0,y2[e+92>>2]=r,y2[e+88>>2]=r;e:{r:{if(f){if((0|r)<1)break r;for(b=y2[A+96>>2],o=40,t=r,a=k;;)if(X2[(n=a+o|0)-40|0]=U2[(a=b+o|0)-37|0],X2[n-39|0]=U2[a-38|0],X2[n-38|0]=U2[a-39|0],X2[n-37|0]=U2[a-40|0],X2[n-36|0]=U2[a-33|0],X2[n-35|0]=U2[a-34|0],X2[n-34|0]=U2[a-35|0],X2[n-33|0]=U2[a-36|0],X2[n-32|0]=U2[a-29|0],X2[n-31|0]=U2[a-30|0],X2[n-30|0]=U2[a-31|0],X2[n-29|0]=U2[a-32|0],X2[n-28|0]=U2[a-25|0],X2[n-27|0]=U2[a-26|0],X2[n-26|0]=U2[a-27|0],X2[n-25|0]=U2[a-28|0],b=y2[e+96>>2]+o|0,a=y2[A+96>>2]+o|0,X2[b-24|0]=U2[a-21|0],X2[b-23|0]=U2[a-22|0],X2[b-22|0]=U2[a-23|0],X2[b-21|0]=U2[a-24|0],X2[b-20|0]=U2[a-17|0],X2[b-19|0]=U2[a-18|0],X2[b-18|0]=U2[a-19|0],X2[b-17|0]=U2[a-20|0],X2[b-16|0]=U2[a-13|0],X2[b-15|0]=U2[a-14|0],X2[b-14|0]=U2[a-15|0],X2[b-13|0]=U2[a-16|0],X2[b-12|0]=U2[a-9|0],X2[b-11|0]=U2[a-10|0],X2[b-10|0]=U2[a-11|0],X2[b-9|0]=U2[a-12|0],a=y2[e+96>>2],b=y2[A+96>>2],i=y2[(n=o+b|0)>>2],y2[(u=o+a|0)>>2]=i<<24|i<<8&16711680|i>>>8&65280|i>>>24,i=y2[n-8>>2],y2[u-8>>2]=i<<24|i<<8&16711680|i>>>8&65280|i>>>24,n=y2[n-4>>2],y2[u-4>>2]=n<<24|n<<8&16711680|n>>>8&65280|n>>>24,o=o- -64|0,!(t=t-1|0))break}else{if((0|r)<1)break r;for(t=y2[A+96>>2],o=40,b=r,a=k;;)if(n=(a+o|0)-40|0,a=y2[(t=(o+t|0)-40|0)+4>>2],y2[n>>2]=y2[t>>2],y2[n+4>>2]=a,a=y2[(t=t+8|0)+4>>2],y2[(n=n+8|0)>>2]=y2[t>>2],y2[n+4>>2]=a,t=(y2[A+96>>2]+o|0)-24|0,a=y2[t+4>>2],n=(y2[e+96>>2]+o|0)-24|0,y2[n>>2]=y2[t>>2],y2[n+4>>2]=a,a=y2[(t=t+8|0)+4>>2],y2[(n=n+8|0)>>2]=y2[t>>2],y2[n+4>>2]=a,a=y2[e+96>>2],t=y2[A+96>>2],y2[(u=o+a|0)>>2]=y2[(n=t+o|0)>>2],y2[u-4>>2]=y2[n-4>>2],y2[u-8>>2]=y2[n-8>>2],o=o- -64|0,!(b=b-1|0))break}if(o=r<<6,!a)break A;if(!U2[e+100|0])break e;y2[6503]=y2[6503]+1,$2(y2[a-4>>2]);break e}o=r<<6}y2[e+96>>2]=0}if(y2[(r=c)>>2]=0,y2[r+4>>2]=0,X2[0|(r=r+5|0)]=0,X2[r+1|0]=0,X2[r+2|0]=0,X2[r+3|0]=0,X2[r+4|0]=0,X2[r+5|0]=0,X2[r+6|0]=0,X2[r+7|0]=0,a=y2[A+168>>2],(r=y2[e+160>>2])&&(U2[e+164|0]&&(y2[6503]=y2[6503]+1,$2(y2[r-4>>2])),y2[e+160>>2]=0),r=e+152|0,X2[e+164|0]=0,y2[e+160>>2]=o+k,y2[e+156>>2]=a,y2[e+152>>2]=a,a=y2[A+168>>2],f){if(!((0|a)<1))for(t=e+o|0,k=y2[A+160>>2],A=0;;)if(f=e2[(c=A+k|0)>>1],A2[(b=A+t|0)+172>>1]=(f<<24|f<<8&16711680)>>>16,f=e2[c+2>>1],A2[b+174>>1]=(f<<24|f<<8&16711680)>>>16,f=e2[c+4>>1],A2[b+176>>1]=(f<<24|f<<8&16711680)>>>16,f=e2[c+6>>1],A2[b+178>>1]=(f<<24|f<<8&16711680)>>>16,f=e2[c+8>>1],A2[b+180>>1]=(f<<24|f<<8&16711680)>>>16,f=y2[c+12>>2],y2[b+184>>2]=f<<24|f<<8&16711680|f>>>8&65280|f>>>24,f=y2[c+16>>2],y2[b+188>>2]=f<<24|f<<8&16711680|f>>>8&65280|f>>>24,f=e2[c+10>>1],A2[b+182>>1]=(f<<24|f<<8&16711680)>>>16,A=A+32|0,!(a=a-1|0))break}else if(!((0|a)<1))for(b=e+o|0,c=y2[A+160>>2],a=o=0;;)if(A2[(u=b+o|0)+172>>1]=e2[(n=o+c|0)>>1],A2[u+174>>1]=e2[n+2>>1],A2[u+176>>1]=e2[n+4>>1],A2[u+178>>1]=e2[n+6>>1],A2[u+180>>1]=e2[n+8>>1],t=y2[(f=n+12|0)+4>>2],k=y2[f>>2],y2[u+200>>2]=0,y2[(f=u+184|0)>>2]=k,y2[f+4>>2]=t,k=e2[n+10>>1],y2[(f=u+192|0)>>2]=0,y2[f+4>>2]=0,A2[u+182>>1]=k,o=o+32|0,!((0|(a=a+1|0))>2]))break;return y2[r>>2]=0,y2[r+4>>2]=0,y2[e>>2]=0,X2[0|(A=r+5|0)]=0,X2[A+1|0]=0,X2[A+2|0]=0,X2[A+3|0]=0,X2[A+4|0]=0,X2[A+5|0]=0,X2[A+6|0]=0,X2[A+7|0]=0,1}function l1(A,e,r,f,i,a,n,b){var t,o,c,k,u,l,s,v,B,d,_,g,Z,C,V,x,p,S,J,M,X,w,E=0,Q=0,h=(j2(0),j2(0)),G=j2(0),F=j2(0),D=0,Y=(j2(0),j2(0),0),m=j2(0),N=j2(0),R=j2(0),I=0,W=0,T=0;j2(0),j2(0),j2(0),j2(0),j2(0),j2(0),j2(0);L2=w=L2-32|0;A:if(!((0|(T=y2[A+56>>2]))<1))for(t=H2[r+8>>2],N=F=j2(a-t),o=H2[r>>2],h=j2(f-o),c=H2[r+4>>2],G=j2(i-c),m=j2(j2(1)/j2(K2(j2(j2(j2(h*h)+j2(G*G))+j2(F*F))))),F=j2(F*m),h=j2((R=h)*m),G=j2((k=G)*m),k=j2(j2(N*F)+j2(j2(R*h)+j2(k*G))),m=H2[b+8>>2],s=j2((t>2],v=j2((c>2],B=j2((o>2],d=j2(t+a),t=i>2],_=j2(t+i),t=f>2],g=j2(t+f),Q=y2[A+96>>2],Z=((E=(t=F==j2(0)?j2(0xde0b6b000000000):j2(j2(1)/F))>2],E=y2[E+4>>2],J=y2[Q>>2],M=y2[Q+4>>2],Y=y2[Q+20>>2],y2[u>>2]=y2[Q+16>>2],y2[4+u>>2]=Y,X=y2[(Y=Q+24|0)+4>>2],y2[(l=8+u|0)>>2]=y2[Y>>2],y2[4+l>>2]=X,y2[w>>2]=J,y2[4+w>>2]=M,y2[8+w>>2]=D,y2[12+w>>2]=E,H2[w>>2]=H2[w>>2]-R,H2[4+w>>2]=H2[4+w>>2]-N,H2[16+w>>2]=H2[16+w>>2]-f,H2[20+w>>2]=H2[20+w>>2]-i,H2[8+w>>2]=H2[8+w>>2]-m,H2[24+w>>2]=H2[24+w>>2]-a,E=0,H2[Q+16>>2]>2]>B)||(E=1),D=0,H2[Y>>2]>2]>s||(D=E);e:{r:{f:{i:{if(!(H2[Q+20>>2]<_||H2[Q+4>>2]>v||1^D||(h=H2[r+4>>2],f=j2(o*j2(H2[C>>2]-h)),a=H2[r>>2],(i=j2(c*j2(H2[S>>2]-a)))>2]-a)),(h=j2(o*j2(H2[x>>2]-h)))>2],(i=h>2]-F))))||(f=a>2]-F)))>2])),!(D=(fj2(0)))break i;if(-1!=(0|E))break i;N2[y2[y2[e>>2]+8>>2]](e,y2[Q+36>>2],y2[Q+40>>2]),T=y2[A+56>>2];break f}Y=-1==(0|(E=y2[Q+32>>2])),D=0}if(!Y&&!D)break r}W=W+1|0,Q=Q- -64|0;break e}W=E+W|0,Q=(E<<6)+Q|0}if((0|T)<=(0|W))break A;I=I+1|0,a=H2[n+8>>2],i=H2[n+4>>2],f=H2[n>>2],m=H2[b+8>>2],N=H2[b+4>>2],R=H2[b>>2]}y2[6662]<(0|I)&&(y2[6662]=I),L2=32+w|0}function s1(A,e,r,f,i,a,n,b,t){var o,c,k,u,l,s,v,B,d,_,g,Z,C,w,E,Q,h,V,x,p,S,J,M,X,y,U,G,F=j2(0),D=0,Y=0,m=(j2(0),j2(0),j2(0),j2(0),j2(0),j2(0),j2(0),j2(0),j2(0),j2(0),j2(0),0),N=0,R=(j2(0),0),I=0,W=0,T=0;if(L2=G=L2-32|0,d=H2[r+4>>2],_=H2[r>>2],k=H2[A+28>>2],s=H2[A+12>>2],g=H2[r+8>>2],F=j2((a>2]),Z=H2[A+44>>2],m=(F=j2(j2((k<(F=F=j2(0)?~~F>>>0:0,u=H2[A+24>>2],v=H2[A+8>>2],F=j2((i>2]),o=H2[A+40>>2],N=(F=j2(j2((u<(F=F=j2(0)?~~F>>>0:0,l=H2[A+20>>2],B=H2[A+4>>2],F=j2((f<_?f:_)+H2[n>>2]),c=H2[A+36>>2],R=(F=j2(j2((l<(F=F=j2(0)?~~F>>>0:0,F=j2((g>2]),I=(F=j2(j2(j2((k<(F=F=j2(0)?~~F>>>0:0,F=j2((d>2]),Y=(F=j2(j2(j2((u<(F=F=j2(0)?~~F>>>0:0,F=j2((_>2]),D=(F=j2(j2(j2((l<(F=F=j2(0)?~~F>>>0:0,1<=(0|t))for(a=F=j2(a-g),o=j2(f-_),c=j2(i-d),f=j2(j2(1)/j2(K2(j2(j2(j2(o*o)+j2(c*c))+j2(F*F))))),F=j2(F*f),i=j2(o*f),f=j2(c*f),Z=j2(j2(a*F)+j2(j2(o*i)+j2(c*f))),E=65534&m,Q=65534&N,h=65534&R,V=1|I,x=1|Y,p=1|D,S=((Y=(k=F==j2(0)?j2(0xde0b6b000000000):j2(j2(1)/F))>2],y=((Y=(l=i==j2(0)?j2(0xde0b6b000000000):j2(j2(1)/i))>2],Y=0;A:{e:{r:{f:if(!(e2[D+6>>1]>>0||p>>>0<(w=e2[D>>1])>>>0||e2[D+10>>1]>>0||V>>>0<(m=e2[D+4>>1])>>>0||e2[D+8>>1]>>0||x>>>0<(N=e2[D+2>>1])>>>0)){if(y2[12+G>>2]=0,R=e2[D+10>>1],I=e2[D+8>>1],Y=e2[D+6>>1],y2[28+G>>2]=0,o=H2[A+36>>2],c=H2[A+4>>2],H2[G>>2]=j2(j2(j2(w>>>0)/o)+c)-H2[b>>2],F=H2[A+40>>2],a=H2[A+8>>2],H2[4+G>>2]=j2(j2(j2(N>>>0)/F)+a)-H2[b+4>>2],i=H2[A+44>>2],f=H2[A+12>>2],H2[8+G>>2]=j2(j2(j2(m>>>0)/i)+f)-H2[b+8>>2],H2[16+G>>2]=j2(c+j2(j2(Y>>>0)/o))-H2[n>>2],H2[20+G>>2]=j2(a+j2(j2(I>>>0)/F))-H2[n+4>>2],H2[24+G>>2]=j2(f+j2(j2(R>>>0)/i))-H2[n+8>>2],i=H2[r+4>>2],o=j2(u*j2(H2[J>>2]-i)),f=H2[r>>2],!((a=j2(l*j2(H2[U>>2]-f)))>2]-f)),(i=j2(u*j2(H2[X>>2]-i)))>2],(a=i>2]-f))))||(i=c>2]-f)))j2(0),(0|C)<0)break f;if(!Y)break f;Y=y2[D+12>>2],N2[y2[y2[e>>2]+8>>2]](e,Y>>21,2097151&Y);break r}Y=0}if(!(-1<(0|C))&&!Y)break e}W=W+1|0,D=D+16|0;break A}W=W-(Y=y2[D+12>>2])|0,D=D-(Y<<4)|0}if(T=T+1|0,!((0|W)<(0|t)))break}y2[6662]<(0|T)&&(y2[6662]=T),L2=32+G|0}function v1(A){return 84}function B1(A,e,r,f,i){var a,n,b,t,o,c,k,u,l=0,s=j2(0),v=(j2(0),0),B=0,d=(j2(0),0),_=j2(0),g=j2(0),Z=0,C=0,w=j2(0),E=j2(0),Q=j2(0),h=j2(0);j2(0),j2(0),j2(0),j2(0);if(L2=u=L2-112|0,X2[A+60|0]=r){if(s=H2[f>>2],_=H2[f+4>>2],g=H2[f+8>>2],y2[A+16>>2]=0,w=j2(g+j2(-1)),H2[A+12>>2]=w,_=j2(_+j2(-1)),H2[A+8>>2]=_,s=j2(s+j2(-1)),H2[A+4>>2]=s,X2[A+60|0]=1,g=H2[i>>2],a=H2[i+4>>2],Q=H2[i+8>>2],y2[A+48>>2]=0,y2[A+32>>2]=0,c=j2(Q+j2(1)),H2[A+28>>2]=c,Q=j2(a+j2(1)),H2[A+24>>2]=Q,g=j2(g+j2(1)),H2[A+20>>2]=g,h=j2(c-w),E=j2(j2(65533)/h),H2[A+44>>2]=E,a=j2(j2(65533)/j2(Q-_)),H2[A+40>>2]=a,t=j2(j2(65533)/j2(g-s)),H2[A+36>>2]=t,r=(n=j2(j2(w-w)*E))=j2(0)?~~n>>>0:0,k=j2((65534&r)>>>0),r=(n=j2(j2((o=_)-_)*a))=j2(0)?~~n>>>0:0,o=j2(o+j2(j2((65534&r)>>>0)/a)),r=(n=j2(j2((a=s)-s)*t))=j2(0)?~~n>>>0:0,(a=j2(j2(a+j2(j2((65534&r)>>>0)/t))+j2(-1)))>2]=a),(a=j2(o+j2(-1)))<_&&(_=H2[A+8>>2]=a),(a=j2(j2(w+j2(k/E))+j2(-1)))>2]=a,h=j2(c-a),E=j2(j2(65533)/h),w=a),y2[A+48>>2]=0,H2[A+44>>2]=E,n=j2(Q-_),a=j2(j2(65533)/n),H2[A+40>>2]=a,k=j2(g-s),t=j2(j2(65533)/k),H2[A+36>>2]=t,r=(n=j2(j2(a*n)+j2(1)))=j2(0)?~~n>>>0:0,n=j2(j2((1|r)>>>0)/a),o=a=s,r=(s=j2(j2(t*k)+j2(1)))=j2(0)?~~s>>>0:0,f=!(g<(s=j2(j2(o+j2(j2((1|r)>>>0)/t))+j2(1)))),r=(h=j2(j2(E*h)+j2(1)))=j2(0)?~~h>>>0:0,f||(g=H2[A+20>>2]=s),Q<(s=j2(j2(_+n)+j2(1)))&&(Q=H2[A+24>>2]=s),c<(s=j2(j2(w+j2(j2((1|r)>>>0)/E))+j2(1)))&&(H2[A+28>>2]=s,E=j2(j2(65533)/j2(s-w))),y2[A+48>>2]=0,H2[A+44>>2]=E,H2[A+40>>2]=j2(65533)/j2(Q-_),H2[A+36>>2]=j2(65533)/j2(g-a),y2[96+u>>2]=A,y2[92+u>>2]=A+104,y2[88+u>>2]=12284,N2[y2[y2[e>>2]+8>>2]](e,88+u|0,A+4|0,A+20|0),Z=y2[A+108>>2],y2[(e=16+u|0)>>2]=0,y2[e+4>>2]=0,y2[8+u>>2]=0,((y2[12+u>>2]=0)|(f=y2[A+128>>2]))<(0|(i=Z<<1))){if((0|i)>y2[A+132>>2]){if(Z&&(y2[6502]=y2[6502]+1,e=q2(Z<<5|19))&&(y2[(B=e+19&-16)-4>>2]=e),1<=(0|f))for(r=0,e=f;;)if(l=y2[A+136>>2]+r|0,d=y2[l+4>>2],y2[(v=C=r+B|0)>>2]=y2[l>>2],y2[v+4>>2]=d,v=y2[(l=l+8|0)+4>>2],y2[(C=C+8|0)>>2]=y2[l>>2],y2[C+4>>2]=v,r=r+16|0,!(e=e-1|0))break;(e=y2[A+136>>2])&&(U2[A+140|0]&&(y2[6503]=y2[6503]+1,$2(y2[e-4>>2])),y2[A+136>>2]=0),y2[A+136>>2]=B,y2[A+132>>2]=i,X2[A+140|0]=1}for(r=f<<4,e=f-(Z<<1)|0;;)if(B=y2[12+u>>2],f=y2[A+136>>2]+r|0,y2[f>>2]=y2[8+u>>2],y2[f+4>>2]=B,B=y2[(l=16+u|0)+4>>2],y2[(f=f+8|0)>>2]=y2[l>>2],y2[f+4>>2]=B,r=r+16|0,!((f=e)>>>0<=(e=e+1|0)>>>0))break}y2[A+128>>2]=i}else{if(y2[104+u>>2]=12304,y2[108+u>>2]=A- -64,y2[96+u>>2]=-581039253,y2[100+u>>2]=0,y2[88+u>>2]=-581039253,y2[92+u>>2]=-581039253,y2[80+u>>2]=1566444395,y2[84+u>>2]=0,y2[72+u>>2]=1566444395,y2[76+u>>2]=1566444395,N2[y2[y2[e>>2]+8>>2]](e,104+u|0,88+u|0,72+u|0),Z=y2[A+68>>2],y2[(e=u+64|0)>>2]=0,y2[e+4>>2]=0,y2[(e=56+u|0)>>2]=0,y2[e+4>>2]=0,y2[(e=48+u|0)>>2]=0,y2[e+4>>2]=0,y2[(e=40+u|0)>>2]=0,y2[e+4>>2]=0,y2[(e=32+u|0)>>2]=0,y2[e+4>>2]=0,y2[(e=24+u|0)>>2]=0,y2[e+4>>2]=0,y2[(e=16+u|0)>>2]=0,y2[e+4>>2]=0,y2[8+u>>2]=0,((y2[12+u>>2]=0)|(r=y2[A+88>>2]))<(0|(C=Z<<1))){if((0|C)>y2[A+92>>2]){if(Z&&(y2[6502]=y2[6502]+1,e=q2(Z<<7|19))&&(y2[(B=e+19&-16)-4>>2]=e),1<=(0|r))for(f=0,i=r;;)if(l=y2[A+96>>2]+f|0,b=y2[l+4>>2],y2[(e=f+B|0)>>2]=y2[l>>2],y2[e+4>>2]=b,b=y2[(v=l+56|0)+4>>2],y2[(d=e+56|0)>>2]=y2[v>>2],y2[d+4>>2]=b,b=y2[(d=l+48|0)+4>>2],y2[(v=e+48|0)>>2]=y2[d>>2],y2[v+4>>2]=b,b=y2[(d=l+40|0)+4>>2],y2[(v=e+40|0)>>2]=y2[d>>2],y2[v+4>>2]=b,b=y2[(d=l+32|0)+4>>2],y2[(v=e+32|0)>>2]=y2[d>>2],y2[v+4>>2]=b,b=y2[(d=l+24|0)+4>>2],y2[(v=e+24|0)>>2]=y2[d>>2],y2[v+4>>2]=b,b=y2[(d=l+16|0)+4>>2],y2[(v=e+16|0)>>2]=y2[d>>2],y2[v+4>>2]=b,v=y2[(l=l+8|0)+4>>2],y2[(e=e+8|0)>>2]=y2[l>>2],y2[e+4>>2]=v,f=f- -64|0,!(i=i-1|0))break;(e=y2[A+96>>2])&&(U2[A+100|0]&&(y2[6503]=y2[6503]+1,$2(y2[e-4>>2])),y2[A+96>>2]=0),y2[A+96>>2]=B,y2[A+92>>2]=C,X2[A+100|0]=1}for(e=r<<6,f=r-(Z<<1)|0;;)if(l=y2[12+u>>2],r=y2[A+96>>2]+e|0,y2[r>>2]=y2[8+u>>2],y2[r+4>>2]=l,B=y2[(l=u+64|0)+4>>2],y2[(i=r+56|0)>>2]=y2[l>>2],y2[i+4>>2]=B,B=y2[(l=56+u|0)+4>>2],y2[(i=r+48|0)>>2]=y2[l>>2],y2[i+4>>2]=B,B=y2[(l=48+u|0)+4>>2],y2[(i=r+40|0)>>2]=y2[l>>2],y2[i+4>>2]=B,B=y2[(l=40+u|0)+4>>2],y2[(i=r+32|0)>>2]=y2[l>>2],y2[i+4>>2]=B,B=y2[(l=32+u|0)+4>>2],y2[(i=r+24|0)>>2]=y2[l>>2],y2[i+4>>2]=B,B=y2[(l=24+u|0)+4>>2],y2[(i=r+16|0)>>2]=y2[l>>2],y2[i+4>>2]=B,l=y2[(i=16+u|0)+4>>2],y2[(r=r+8|0)>>2]=y2[i>>2],y2[r+4>>2]=l,e=e- -64|0,!((r=f)>>>0<=(f=r+1|0)>>>0))break}y2[A+88>>2]=C}!function V(A,e,r){var f,i,x,p,S,J,M,X,a,n=0,b=0,t=j2(0),o=0,c=0,k=0,u=0,l=j2(0),s=j2(0),v=j2(0),B=j2(0),d=j2(0),_=j2(0),g=j2(0),Z=j2(0),C=0,w=0,E=0,Q=0,h=0,G=j2(0),F=0,D=0,Y=0,m=0,N=0,R=0,I=0,y=0,W=j2(0),T=j2(0),U=0,H=j2(0),P=j2(0);if(L2=a=L2-112|0,E=y2[A+56>>2],1==(0|(c=r-e|0)))U2[A+60|0]?(e=y2[A+116>>2]+(e<<4)|0,n=y2[e+4>>2],r=y2[A+136>>2]+(E<<4)|0,y2[(b=r)>>2]=y2[e>>2]):(e=y2[A+76>>2]+(e<<6)|0,n=y2[e+4>>2],r=y2[A+96>>2]+(E<<6)|0,y2[r>>2]=y2[e>>2],y2[r+4>>2]=n,n=y2[4+(c=e+56|0)>>2],y2[(b=r+56|0)>>2]=y2[c>>2],y2[b+4>>2]=n,n=y2[4+(c=e+48|0)>>2],y2[(b=r+48|0)>>2]=y2[c>>2],y2[b+4>>2]=n,n=y2[4+(c=e+40|0)>>2],y2[(b=r+40|0)>>2]=y2[c>>2],y2[b+4>>2]=n,n=y2[4+(c=e+32|0)>>2],y2[(b=r+32|0)>>2]=y2[c>>2],y2[b+4>>2]=n,n=y2[4+(c=e+24|0)>>2],y2[(b=r+24|0)>>2]=y2[c>>2],y2[b+4>>2]=n,n=y2[4+(c=e+16|0)>>2],y2[(b=r+16|0)>>2]=y2[c>>2]),y2[b+4>>2]=n,n=r+8|0,e=y2[4+(r=e+8|0)>>2],y2[n>>2]=y2[r>>2],y2[n+4>>2]=e,y2[A+56>>2]=y2[A+56>>2]+1;else{if((0|r)<=(0|e))P=j2(0|c);else{if(b=U2[A+60|0])for(n=y2[A+116>>2]+(e<<4)|0,k=r-e|0,d=H2[A+12>>2],_=H2[A+8>>2],v=H2[A+44>>2],l=H2[A+40>>2],s=H2[A+4>>2],t=H2[A+36>>2];g=j2(g+j2(j2(j2(j2(j2(e2[n+10>>1])/v)+d)+j2(j2(j2(e2[n+4>>1])/v)+d))*j2(.5))),Z=j2(Z+j2(j2(j2(j2(j2(e2[n+8>>1])/l)+_)+j2(j2(j2(e2[n+2>>1])/l)+_))*j2(.5))),B=j2(B+j2(j2(j2(j2(j2(e2[n+6>>1])/t)+s)+j2(j2(j2(e2[n>>1])/t)+s))*j2(.5))),n=n+16|0,k=k-1|0;);else for(n=y2[A+76>>2]+(e<<6)|0,k=r-e|0;g=j2(g+j2(j2(H2[n+24>>2]+H2[n+8>>2])*j2(.5))),Z=j2(Z+j2(j2(H2[n+20>>2]+H2[n+4>>2])*j2(.5))),B=j2(B+j2(j2(H2[n+16>>2]+H2[n>>2])*j2(.5))),n=n- -64|0,k=k-1|0;);if(P=j2(0|c),t=j2(j2(1)/P),g=j2(t*g),Z=j2(t*Z),B=j2(t*B),b)for(n=y2[A+116>>2]+(e<<4)|0,k=r-e|0,G=H2[A+12>>2],d=H2[A+8>>2],_=H2[A+44>>2],v=H2[A+40>>2],l=H2[A+4>>2],s=H2[A+36>>2];t=j2(j2(j2(j2(j2(j2(e2[n+10>>1])/_)+G)+j2(j2(j2(e2[n+4>>1])/_)+G))*j2(.5))-g),W=j2(W+j2(t*t)),t=j2(j2(j2(j2(j2(j2(e2[n+8>>1])/v)+d)+j2(j2(j2(e2[n+2>>1])/v)+d))*j2(.5))-Z),H=j2(H+j2(t*t)),t=j2(j2(j2(j2(j2(j2(e2[n+6>>1])/s)+l)+j2(j2(j2(e2[n>>1])/s)+l))*j2(.5))-B),T=j2(T+j2(t*t)),n=n+16|0,k=k-1|0;);else for(n=y2[A+76>>2]+(e<<6)|0,k=r-e|0;t=j2(j2(j2(H2[n+24>>2]+H2[n+8>>2])*j2(.5))-g),W=j2(W+j2(t*t)),t=j2(j2(j2(H2[n+20>>2]+H2[n+4>>2])*j2(.5))-Z),H=j2(H+j2(t*t)),t=j2(j2(j2(H2[n+16>>2]+H2[n>>2])*j2(.5))-B),T=j2(T+j2(t*t)),n=n- -64|0,k=k-1|0;);}if(y2[(n=24+a|0)>>2]=0,y2[n+4>>2]=0,y2[16+a>>2]=0,y2[20+a>>2]=0,g=j2(0),Z=j2(0),B=j2(0),!(x=(0|r)<=(0|e))){if(U2[A+60|0])for(n=y2[A+116>>2]+(e<<4)|0,k=r-e|0,d=H2[A+12>>2],_=H2[A+8>>2],v=H2[A+44>>2],l=H2[A+40>>2],s=H2[A+4>>2],t=H2[A+36>>2];g=j2(j2(j2(j2(j2(j2(e2[n+10>>1])/v)+d)+j2(j2(j2(e2[n+4>>1])/v)+d))*j2(.5))+g),Z=j2(j2(j2(j2(j2(j2(e2[n+8>>1])/l)+_)+j2(j2(j2(e2[n+2>>1])/l)+_))*j2(.5))+Z),B=j2(j2(j2(j2(j2(j2(e2[n+6>>1])/t)+s)+j2(j2(j2(e2[n>>1])/t)+s))*j2(.5))+B),n=n+16|0,k=k-1|0;);else for(n=y2[A+76>>2]+(e<<6)|0,k=r-e|0;g=j2(j2(j2(H2[n+24>>2]+H2[n+8>>2])*j2(.5))+g),Z=j2(j2(j2(H2[n+20>>2]+H2[n+4>>2])*j2(.5))+Z),B=j2(j2(j2(H2[n+16>>2]+H2[n>>2])*j2(.5))+B),n=n- -64|0,k=k-1|0;);H2[24+a>>2]=g,H2[20+a>>2]=Z,H2[16+a>>2]=B}if(t=j2(j2(1)/j2(0|c)),H2[24+a>>2]=t*g,H2[20+a>>2]=t*Z,H2[16+a>>2]=t*B,k=E,C=e,!x){for(l=j2(j2(1)/j2(P+j2(-1))),b=(s=j2(l*H))<(t=j2(l*W))?2:1,v=t,t=j2(l*T),G=H2[(16+a|0)+((n=t>2],U=r-e|0,k=e<<4,R=e<<6,I=(n<<2)+a|0;t=(n=U2[A+60|0])?(b=y2[A+116>>2]+k|0,d=H2[A+36>>2],_=H2[A+4>>2],g=j2(j2(j2(e2[b>>1])/d)+_),v=H2[A+44>>2],l=H2[A+12>>2],Z=j2(j2(j2(e2[b+4>>1])/v)+l),s=H2[A+40>>2],t=H2[A+8>>2],B=j2(j2(j2(e2[b+2>>1])/s)+t),T=j2(j2(j2(e2[b+10>>1])/v)+l),W=j2(j2(j2(e2[b+6>>1])/d)+_),j2(j2(j2(e2[b+8>>1])/s)+t)):(b=y2[A+76>>2]+R|0,g=H2[b>>2],Z=H2[b+8>>2],B=H2[b+4>>2],T=H2[b+24>>2],W=H2[b+16>>2],H2[b+20>>2]),y2[12+a>>2]=0,H2[8+a>>2]=j2(T+Z)*j2(.5),H2[4+a>>2]=j2(t+B)*j2(.5),H2[a>>2]=j2(W+g)*j2(.5),G>2]&&(n?(n=y2[A+116>>2],F=y2[(o=n+k|0)>>2],w=y2[o+4>>2],n=y2[4+(b=y=(Y=C<<4)+n|0)>>2],y2[o>>2]=y2[b>>2],y2[o+4>>2]=n,u=y2[(Q=o+8|0)>>2],o=y2[Q+4>>2],n=y2[4+(b=b+8|0)>>2],y2[Q>>2]=y2[b>>2],y2[Q+4>>2]=n,n=Y+y2[A+116>>2]|0,y2[n>>2]=F,y2[n+4>>2]=w,y2[(n=n+8|0)>>2]=u,y2[n+4>>2]=o):(n=y2[A+76>>2],Y=y2[(f=n+R|0)>>2],y=y2[4+f>>2],n=y2[4+(b=i=(u=C<<6)+n|0)>>2],y2[f>>2]=y2[b>>2],y2[4+f>>2]=n,n=y2[4+(b=p=8+f|0)>>2],y2[(o=S=40+a|0)>>2]=y2[b>>2],y2[o+4>>2]=n,n=y2[4+(b=J=16+f|0)>>2],y2[(o=M=48+a|0)>>2]=y2[b>>2],y2[o+4>>2]=n,n=y2[4+(b=h=24+f|0)>>2],y2[(o=X=56+a|0)>>2]=y2[b>>2],y2[o+4>>2]=n,n=y2[4+(b=D=32+f|0)>>2],y2[(o=N=64+a|0)>>2]=y2[b>>2],y2[o+4>>2]=n,n=y2[4+(b=Q=40+f|0)>>2],y2[(o=m=72+a|0)>>2]=y2[b>>2],y2[o+4>>2]=n,n=y2[4+(b=w=48+f|0)>>2],y2[(o=F=80+a|0)>>2]=y2[b>>2],y2[o+4>>2]=n,n=y2[4+(f=56+f|0)>>2],y2[(b=o=88+a|0)>>2]=y2[f>>2],y2[b+4>>2]=n,n=y2[4+(b=8+i|0)>>2],y2[p>>2]=y2[b>>2],y2[4+p>>2]=n,n=y2[4+(b=16+i|0)>>2],y2[J>>2]=y2[b>>2],y2[4+J>>2]=n,n=y2[4+(b=24+i|0)>>2],y2[h>>2]=y2[b>>2],y2[h+4>>2]=n,n=y2[4+(b=32+i|0)>>2],y2[D>>2]=y2[b>>2],y2[D+4>>2]=n,n=y2[4+(b=40+i|0)>>2],y2[Q>>2]=y2[b>>2],y2[Q+4>>2]=n,n=y2[4+(b=48+i|0)>>2],y2[w>>2]=y2[b>>2],y2[w+4>>2]=n,n=y2[4+(b=56+i|0)>>2],y2[f>>2]=y2[b>>2],y2[4+f>>2]=n,y2[32+a>>2]=Y,y2[36+a>>2]=y,n=y2[36+a>>2],u=u+y2[A+76>>2]|0,y2[u>>2]=y2[32+a>>2],y2[u+4>>2]=n,n=y2[o+4>>2],y2[(b=u+56|0)>>2]=y2[o>>2],y2[b+4>>2]=n,n=y2[F+4>>2],y2[(b=u+48|0)>>2]=y2[F>>2],y2[b+4>>2]=n,n=y2[m+4>>2],y2[(b=u+40|0)>>2]=y2[m>>2],y2[b+4>>2]=n,n=y2[N+4>>2],y2[(b=u+32|0)>>2]=y2[N>>2],y2[b+4>>2]=n,n=y2[4+X>>2],y2[(b=u+24|0)>>2]=y2[X>>2],y2[b+4>>2]=n,n=y2[4+M>>2],y2[(b=u+16|0)>>2]=y2[M>>2],y2[b+4>>2]=n,n=y2[4+S>>2],y2[(b=u+8|0)>>2]=y2[S>>2],y2[b+4>>2]=n),C=C+1|0),k=k+16|0,R=R- -64|0,U=U-1|0;);k=y2[A+56>>2]}if(m=(c>>1)+e|0,F=(0|C)<=((I=(0|c)/3|0)+e|0),U2[A+60|0]?(b=n=y2[A+136>>2]+(k<<4)|0,o=(t=j2(j2(H2[A+20>>2]-H2[A+4>>2])*H2[A+36>>2]))=j2(0)?~~t>>>0:0,A2[b>>1]=65534&o,l=H2[A+40>>2],s=H2[A+8>>2],t=H2[A+24>>2],b=n,o=(v=j2(j2(H2[A+28>>2]-H2[A+12>>2])*H2[A+44>>2]))=j2(0)?~~v>>>0:0,A2[b+4>>1]=65534&o,b=(t=j2(l*j2(t-s)))=j2(0)?~~t>>>0:0,A2[n+2>>1]=65534&b):(n=y2[4+(b=A+20|0)>>2],o=y2[A+96>>2]+(k<<6)|0,y2[o>>2]=y2[b>>2],y2[o+4>>2]=n,n=y2[4+(b=b+8|0)>>2],y2[(o=o+8|0)>>2]=y2[b>>2],y2[o+4>>2]=n),n=y2[A+56>>2],U2[A+60|0]?(b=o=y2[A+136>>2]+(n<<4)|0,t=H2[A+4>>2],n=(t=j2(j2(j2(t-t)*H2[A+36>>2])+j2(1)))=j2(0)?~~t>>>0:0,A2[b+6>>1]=1|n,s=H2[A+40>>2],l=H2[A+8>>2],n=o+10|0,t=H2[A+12>>2],b=(t=j2(j2(j2(t-t)*H2[A+44>>2])+j2(1)))=j2(0)?~~t>>>0:0,A2[n>>1]=1|b,o=o+8|0,b=(t=j2(j2(s*j2(l-l))+j2(1)))=j2(0)?~~t>>>0:0,A2[o>>1]=1|b):(o=y2[A+96>>2]+(n<<6)|0,n=y2[4+(b=A+4|0)>>2],y2[o+16>>2]=y2[b>>2],y2[o+20>>2]=n,n=y2[4+(b=b+8|0)>>2],y2[(o=o+24|0)>>2]=y2[b>>2],y2[o+4>>2]=n),D=y2[A+56>>2],!x)for(R=e<<4,U=e<<6|16,w=U2[A+60|0];w?(N=y2[A+116>>2]+R|0,G=H2[A+36>>2],d=H2[A+4>>2],n=(t=j2(j2(j2(j2(j2(e2[N>>1])/G)+d)-d)*G))=j2(0)?~~t>>>0:0,h=y2[A+136>>2]+(D<<4)|0,Y=e2[h>>1],_=H2[A+44>>2],v=H2[A+12>>2],y=(t=j2(j2(j2(j2(j2(e2[N+4>>1])/_)+v)-v)*_))=j2(0)?~~t>>>0:0,l=H2[A+40>>2],s=H2[A+8>>2],u=(t=j2(j2(j2(j2(j2(e2[N+2>>1])/l)+s)-s)*l))=j2(0)?~~t>>>0:0,o=(t=j2(j2(_*j2(j2(j2(j2(e2[N+10>>1])/_)+v)-v))+j2(1)))=j2(0)?~~t>>>0:0,Q=65534&n,b=(t=j2(j2(l*j2(j2(j2(j2(e2[N+8>>1])/l)+s)-s))+j2(1)))=j2(0)?~~t>>>0:0,Y=Y>>>0<=Q>>>0,n=(t=j2(j2(G*j2(j2(j2(j2(e2[N+6>>1])/G)+d)-d))+j2(1)))=j2(0)?~~t>>>0:0,Y||(A2[h>>1]=Q),(n|=1)>>>0>e2[h+6>>1]&&(A2[h+6>>1]=n),(n=65534&u)>>>0>1]&&(A2[h+2>>1]=n),(n=1|b)>>>0>e2[(u=h+8|0)>>1]&&(A2[u>>1]=n),(n=65534&y)>>>0>1]&&(A2[h+4>>1]=n),(n=1|o)>>>0<=e2[(b=h+10|0)>>1]||(A2[b>>1]=n)):(n=y2[A+76>>2]+U|0,B=H2[n>>2],G=H2[n+12>>2],d=H2[n+8>>2],_=H2[n+4>>2],v=H2[n-4>>2],l=H2[n-8>>2],s=H2[n-12>>2],t=H2[n-16>>2],b=y2[A+96>>2]+(D<<6)|0,t>2]&&(H2[b>>2]=t),s>2]&&(H2[b+4>>2]=s),l>2]&&(H2[b+8>>2]=l),v>2]&&(H2[b+12>>2]=v),B>H2[b+16>>2]&&(H2[b+16>>2]=B),_>H2[(n=b+20|0)>>2]&&(H2[n>>2]=_),d>H2[(n=b+24|0)>>2]&&(H2[n>>2]=d),G>H2[(n=b+28|0)>>2]&&(H2[n>>2]=G)),R=R+16|0,U=U- -64|0,c=c-1|0;);if(y2[A+56>>2]=D=D+1|0,V(A,b=e,e=((-1^I)+r|0)<=(0|C)||F?m:C),Q=y2[A+56>>2],V(A,e,r),I=y2[A+56>>2]-E|0,(n=U2[A+60|0])&&!((0|I)<129)){if(F=y2[A+136>>2],Y=-1<(0|(e=y2[12+(F+(Q<<4)|0)>>2]))?1:0-e|0,(0|(u=-1<(0|(e=y2[12+(F+(D<<4)|0)>>2]))?1:0-e|0))<=128){if((0|(n=e=y2[A+152>>2]))==y2[A+156>>2]&&!((0|(m=(n=e)?n<<1:1))<=(0|n))){if(C=0,m&&(y2[6502]=y2[6502]+1,r=q2(m<<5|19))&&(y2[(C=r+19&-16)-4>>2]=r),1<=(0|e))for(n=0,c=e;E=y2[A+160>>2]+n|0,r=y2[E+4>>2],y2[(b=w=n+C|0)>>2]=y2[E>>2],y2[b+4>>2]=r,r=y2[4+(b=E+24|0)>>2],y2[(o=w+24|0)>>2]=y2[b>>2],y2[o+4>>2]=r,r=y2[4+(b=E+16|0)>>2],y2[(o=w+16|0)>>2]=y2[b>>2],y2[o+4>>2]=r,r=y2[4+(b=E+8|0)>>2],y2[(o=w+8|0)>>2]=y2[b>>2],y2[o+4>>2]=r,n=n+32|0,c=c-1|0;);(r=y2[A+160>>2])&&(U2[A+164|0]&&(y2[6503]=y2[6503]+1,$2(y2[r-4>>2])),y2[A+160>>2]=0),y2[A+160>>2]=C,y2[A+156>>2]=m,X2[A+164|0]=1,n=y2[A+152>>2]}y2[A+152>>2]=n+1,r=o=(c=e<<5)+y2[(b=A+160|0)>>2]|0,e=y2[36+a>>2],y2[r>>2]=y2[32+a>>2],y2[r+4>>2]=e,e=y2[4+(r=56+a|0)>>2],y2[(n=o+24|0)>>2]=y2[r>>2],y2[n+4>>2]=e,e=y2[4+(r=48+a|0)>>2],y2[(n=o+16|0)>>2]=y2[r>>2],y2[n+4>>2]=e,e=y2[4+(r=40+a|0)>>2],y2[(n=o+8|0)>>2]=y2[r>>2],y2[n+4>>2]=e,r=c+y2[b>>2]|0,A2[r>>1]=e2[(e=F+(D<<4)|0)>>1],A2[r+2>>1]=e2[e+2>>1],A2[r+4>>1]=e2[e+4>>1],A2[r+6>>1]=e2[e+6>>1],A2[r+8>>1]=e2[e+8>>1],y2[r+16>>2]=u,y2[r+12>>2]=D,A2[r+10>>1]=e2[e+10>>1]}if((0|Y)<=128){if((0|(n=e=y2[A+152>>2]))==y2[A+156>>2]&&!((0|(w=(n=e)?n<<1:1))<=(0|n))){if(C=0,w&&(y2[6502]=y2[6502]+1,r=q2(w<<5|19))&&(y2[(C=r+19&-16)-4>>2]=r),1<=(0|e))for(n=0,c=e;y=y2[A+160>>2]+n|0,r=y2[(u=y)+4>>2],y2[(b=E=n+C|0)>>2]=y2[u>>2],y2[b+4>>2]=r,r=y2[4+(b=u+24|0)>>2],y2[(o=E+24|0)>>2]=y2[b>>2],y2[o+4>>2]=r,r=y2[4+(b=u+16|0)>>2],y2[(o=E+16|0)>>2]=y2[b>>2],y2[o+4>>2]=r,r=y2[4+(b=u+8|0)>>2],y2[(o=E+8|0)>>2]=y2[b>>2],y2[o+4>>2]=r,n=n+32|0,c=c-1|0;);(r=y2[A+160>>2])&&(U2[A+164|0]&&(y2[6503]=y2[6503]+1,$2(y2[r-4>>2])),y2[A+160>>2]=0),y2[A+160>>2]=C,y2[A+156>>2]=w,X2[A+164|0]=1,n=y2[A+152>>2]}y2[A+152>>2]=n+1,r=o=(c=e<<5)+y2[(b=A+160|0)>>2]|0,e=y2[36+a>>2],y2[r>>2]=y2[32+a>>2],y2[r+4>>2]=e,e=y2[4+(r=56+a|0)>>2],y2[(n=o+24|0)>>2]=y2[r>>2],y2[n+4>>2]=e,e=y2[4+(r=48+a|0)>>2],y2[(n=o+16|0)>>2]=y2[r>>2],y2[n+4>>2]=e,e=y2[4+(r=40+a|0)>>2],y2[(n=o+8|0)>>2]=y2[r>>2],y2[n+4>>2]=e,r=c+y2[b>>2]|0,A2[r>>1]=e2[(e=F+(Q<<4)|0)>>1],A2[r+2>>1]=e2[e+2>>1],A2[r+4>>1]=e2[e+4>>1],A2[r+6>>1]=e2[e+6>>1],A2[r+8>>1]=e2[e+8>>1],y2[r+16>>2]=Y,y2[r+12>>2]=Q,A2[r+10>>1]=e2[e+10>>1]}y2[A+168>>2]=y2[A+152>>2],n=U2[A+60|0]}255&n?y2[12+(y2[A+136>>2]+(k<<4)|0)>>2]=0-I:y2[32+(y2[A+96>>2]+(k<<6)|0)>>2]=I}L2=112+a|0}(A,y2[A+56>>2]=0,Z),U2[A+60|0]&&!y2[A+152>>2]&&(e=y2[(i=A)+156>>2]?(r=y2[A+160>>2],1):(e=0,y2[6502]=y2[6502]+1,r=0,(f=q2(51))&&(y2[(r=f+19&-16)-4>>2]=f),(f=y2[A+160>>2])&&(U2[A+164|0]&&(y2[6503]=y2[6503]+1,$2(y2[f-4>>2]),e=y2[A+152>>2]),y2[A+160>>2]=0),y2[A+160>>2]=r,y2[A+156>>2]=1,e+(X2[A+164|0]=1)|0),y2[i+152>>2]=e,e=y2[12+u>>2],y2[r>>2]=y2[8+u>>2],y2[r+4>>2]=e,i=y2[(f=32+u|0)+4>>2],y2[(e=r+24|0)>>2]=y2[f>>2],y2[e+4>>2]=i,i=y2[(f=24+u|0)+4>>2],y2[(e=r+16|0)>>2]=y2[f>>2],y2[e+4>>2]=i,e=r+8|0,f=y2[(r=16+u|0)+4>>2],y2[e>>2]=y2[r>>2],y2[e+4>>2]=f,e=y2[A+160>>2],r=y2[A+136>>2],A2[e>>1]=e2[r>>1],A2[e+2>>1]=e2[r+2>>1],A2[e+4>>1]=e2[r+4>>1],A2[e+6>>1]=e2[r+6>>1],A2[e+8>>1]=e2[r+8>>1],y2[e+12>>2]=0,f=y2[r+12>>2],y2[e+16>>2]=-1<(0|f)?1:0-f|0,A2[e+10>>1]=e2[r+10>>1]),y2[A+168>>2]=y2[A+152>>2],(e=y2[A+116>>2])&&(U2[A+120|0]&&(y2[6503]=y2[6503]+1,$2(y2[e-4>>2])),y2[A+116>>2]=0),y2[A+116>>2]=0,y2[A+108>>2]=0,y2[A+112>>2]=0,X2[A+120|0]=1,(e=y2[A+76>>2])&&(U2[A+80|0]&&(y2[6503]=y2[6503]+1,$2(y2[e-4>>2])),y2[A+76>>2]=0),y2[A+76>>2]=0,y2[A+68>>2]=0,y2[A+72>>2]=0,X2[A+80|0]=1,L2=112+u|0}function d1(A,e,r){A|=0,e|=0,r|=0;var f,i,a,n,b,t,o=0,c=j2(0),k=j2(0),u=j2(0),l=0,s=j2(0);L2=t=L2-80|0,l=y2[A+4>>2],N2[y2[y2[l>>2]+16>>2]](l,28+t|0,24+t|0,20+t|0,16+t|0,12+t|0,8+t|0,4+t|0,t,e),l=(f=y2[A+4>>2])+12|0,i=y2[12+t>>2]+P2(y2[8+t>>2],r)|0,a=y2[16+t>>2],n=y2[28+t>>2],b=y2[20+t>>2];A:{e:{r:{f:{i:{a:{n:{if(3!=y2[t>>2]){if(o=P2(y2[8+i>>2],a)+n|0,b)break n;u=j2(H2[o+4>>2]*H2[f+8>>2]),k=j2(H2[o>>2]*H2[f+4>>2]),c=H2[f+12>>2],o=o+8|0;break a}if(o=P2(e2[4+i>>1],a)+n|0,o=b?(u=j2(H2[f+8>>2]*j2(J[o+8>>3])),k=j2(H2[f+4>>2]*j2(J[o>>3])),c=j2(J[o+16>>3]),l):(u=j2(H2[o+4>>2]*H2[f+8>>2]),k=j2(H2[o>>2]*H2[f+4>>2]),c=H2[f+12>>2],o+8|0),s=H2[o>>2],y2[76+t>>2]=0,H2[68+t>>2]=u,H2[72+t>>2]=s*c,H2[64+t>>2]=k,o=P2(e2[2+i>>1],a)+n|0,!b)break i;u=j2(H2[f+8>>2]*j2(J[o+8>>3])),k=j2(H2[f+4>>2]*j2(J[o>>3])),c=j2(J[o+16>>3]),o=l;break f}u=j2(H2[f+8>>2]*j2(J[o+8>>3])),k=j2(H2[f+4>>2]*j2(J[o>>3])),c=j2(J[o+16>>3]),o=l}if(s=H2[o>>2],y2[76+t>>2]=0,H2[68+t>>2]=u,H2[72+t>>2]=s*c,H2[64+t>>2]=k,o=P2(y2[4+i>>2],a)+n|0,!b)break r;u=j2(H2[f+8>>2]*j2(J[o+8>>3])),k=j2(H2[f+4>>2]*j2(J[o>>3])),c=j2(J[o+16>>3]),o=l;break e}u=j2(H2[o+4>>2]*H2[f+8>>2]),k=j2(H2[o>>2]*H2[f+4>>2]),c=H2[f+12>>2],o=o+8|0}s=H2[o>>2],y2[60+t>>2]=0,H2[52+t>>2]=u,H2[56+t>>2]=s*c,H2[48+t>>2]=k,o=P2(e2[i>>1],a)+n|0,c=b?(u=j2(H2[f+8>>2]*j2(J[o+8>>3])),k=j2(H2[f+4>>2]*j2(J[o>>3])),j2(J[o+16>>3])):(l=o+8|0,u=j2(H2[o+4>>2]*H2[f+8>>2]),k=j2(H2[o>>2]*H2[f+4>>2]),H2[f+12>>2]),s=H2[l>>2],H2[32+t>>2]=k,c=j2(s*c);break A}u=j2(H2[o+4>>2]*H2[f+8>>2]),k=j2(H2[o>>2]*H2[f+4>>2]),c=H2[f+12>>2],o=o+8|0}s=H2[o>>2],y2[60+t>>2]=0,H2[52+t>>2]=u,H2[56+t>>2]=s*c,H2[48+t>>2]=k,o=P2(y2[i>>2],a)+n|0,c=b?(u=j2(H2[f+8>>2]*j2(J[o+8>>3])),k=j2(H2[f+4>>2]*j2(J[o>>3])),j2(J[o+16>>3])):(l=o+8|0,u=j2(H2[o+4>>2]*H2[f+8>>2]),k=j2(H2[o>>2]*H2[f+4>>2]),H2[f+12>>2]),s=H2[l>>2],H2[32+t>>2]=k,c=j2(s*c)}y2[44+t>>2]=0,H2[40+t>>2]=c,H2[36+t>>2]=u,l=y2[A+8>>2],N2[y2[y2[l>>2]+8>>2]](l,32+t|0,e,r),A=y2[A+4>>2],N2[y2[y2[A>>2]+24>>2]](A,e),L2=80+t|0}function _1(A,e,r,f,i,a){A|=0,e|=0,r|=0,f|=0,i|=0,a|=0;var n,b,t,o,c,k,u,l,s,v,B,d,_,g,Z,C,w,E,Q,h=j2(0),G=0,F=j2(0),D=(j2(0),j2(0),j2(0),0),Y=(j2(0),j2(0)),m=0;j2(0),j2(0),j2(0),j2(0),j2(0),j2(0),j2(0),j2(0),j2(0),j2(0),j2(0);L2=Q=L2-272|0,Y=H2[e+52>>2],k=H2[r+52>>2],u=H2[e+56>>2],_=H2[r+56>>2],l=H2[e+48>>2],s=H2[r+48>>2],g1(e,r,112+Q|0,48+Q|0),y2[268+Q>>2]=r=0,h=H2[48+Q>>2],F=j2(h*H2[120+Q>>2]),H2[264+Q>>2]=F,b=j2(h*H2[116+Q>>2]),H2[260+Q>>2]=b,h=j2(h*H2[112+Q>>2]),H2[256+Q>>2]=h,v=H2[f+52>>2],g=H2[i+52>>2],Z=H2[f+56>>2],C=H2[i+56>>2],B=H2[f+48>>2],w=H2[i+48>>2],g1(f,i,112+Q|0,48+Q|0),y2[252+Q>>2]=0,n=H2[48+Q>>2],t=j2(n*H2[120+Q>>2]),H2[248+Q>>2]=t,o=j2(n*H2[116+Q>>2]),H2[244+Q>>2]=o,n=j2(n*H2[112+Q>>2]),H2[240+Q>>2]=n,i=y2[A+12>>2],h=j2(j2(N2[y2[y2[i>>2]+16>>2]](i))*j2(K2(j2(j2(j2(h*h)+j2(b*b))+j2(F*F))))),i=y2[A+16>>2],F=j2(i?N2[y2[y2[i>>2]+16>>2]](i):0),o=j2(h+j2(F*j2(K2(j2(j2(j2(n*n)+j2(o*o))+j2(t*t)))))),B=j2(w-B),l=j2(s-l),b=j2(B-l),s=j2(g-v),k=j2(k-Y),n=j2(s-k),v=j2(C-Z),u=j2(_-u),t=j2(v-u);A:if(j2(o+j2(K2(j2(j2(j2(b*b)+j2(n*n))+j2(t*t)))))!=j2(0)&&(X2[216+Q|0]=0,y2[212+Q>>2]=1566444395,y2[176+Q>>2]=11496,Z1(A,e,f,176+Q|0),D=y2[(G=204+Q|0)+4>>2],y2[(i=232+Q|0)>>2]=y2[G>>2],y2[i+4>>2]=D,i=y2[200+Q>>2],y2[224+Q>>2]=y2[196+Q>>2],y2[228+Q>>2]=i,U2[216+Q|0])&&(G=y2[180+Q>>2],D=y2[(i=184+Q|0)>>2],m=y2[(c=188+Q|0)>>2],!(j2(o+j2(j2(j2(b*H2[180+Q>>2])+j2(n*H2[i>>2]))+j2(t*H2[c>>2])))<=j2(1.1920928955078125e-7)))){r=1;e:{if((Y=j2(H2[212+Q>>2]+H2[a+172>>2]))>j2(.0010000000474974513)){for(c=20+Q|0,E=160+Q|0,F=j2(i=0);;){if((d=y2[a+168>>2])&&(y2[120+Q>>2]=1065353216,y2[124+Q>>2]=0,y2[112+Q>>2]=1065353216,y2[116+Q>>2]=1065353216,N2[y2[y2[d>>2]+28>>2]](d,224+Q|0,j2(.20000000298023224),112+Q|0)),(h=j2(o+j2(j2(j2(b*(E2(2,G),h2()))+j2(n*(E2(2,D),h2())))+j2(t*(E2(2,m),h2())))))<=j2(1.1920928955078125e-7)){r=0;break A}if((h=j2(F+j2(Y/h)))<=F){r=0;break A}if(hj2(1)){r=0;break A}if(C1(e,l,k,u,256+Q|0,h,112+Q|0),C1(f,B,s,v,240+Q|0,h,48+Q|0),(G=y2[a+168>>2])&&(y2[8+Q>>2]=0,y2[12+Q>>2]=0,y2[Q>>2]=1065353216,y2[4+Q>>2]=0,N2[y2[y2[G>>2]+28>>2]](G,E,j2(.20000000298023224),Q)),N2[y2[y2[a>>2]>>2]](a,h),X2[40+Q|0]=0,y2[36+Q>>2]=1566444395,y2[Q>>2]=11496,Z1(A,112+Q|0,48+Q|0,Q),!U2[40+Q|0])break e;if(m=y2[(D=8+c|0)+4>>2],y2[(G=232+Q|0)>>2]=y2[D>>2],y2[G+4>>2]=m,G=y2[4+c>>2],y2[224+Q>>2]=y2[c>>2],y2[228+Q>>2]=G,64==(0|i)){N2[y2[y2[a>>2]+8>>2]](a,-2,65),r=0;break A}if(i=i+1|0,G=y2[4+Q>>2],D=y2[8+Q>>2],m=y2[12+Q>>2],F=h,!((Y=j2(H2[36+Q>>2]+H2[a+172>>2]))>j2(.0010000000474974513)))break}F=H2[16+Q>>2]}else h=j2(0),F=H2[192+Q>>2];y2[a+132>>2]=G,H2[a+164>>2]=h,A=y2[228+Q>>2],y2[a+148>>2]=y2[224+Q>>2],y2[a+152>>2]=A,H2[a+144>>2]=F,y2[a+140>>2]=m,y2[a+136>>2]=D,f=y2[(e=232+Q|0)+4>>2],y2[(A=a+156|0)>>2]=y2[e>>2],y2[A+4>>2]=f;break A}N2[y2[y2[a>>2]+8>>2]](a,-1,i),r=0}return L2=272+Q|0,0|r}function g1(A,e,r,f){var i,a,n,b,t,o,c,k,u,l,s,v,B,d,_,g,Z,C,w,E,Q,h,G=j2(0),F=j2(0);j2(0),j2(0),j2(0),j2(0),j2(0),j2(0),j2(0),j2(0),j2(0),j2(0),j2(0),j2(0),j2(0),j2(0),j2(0),j2(0),j2(0),j2(0),j2(0),j2(0),j2(0);L2=h=L2+-64|0,u=H2[e+24>>2],l=H2[e+20>>2],s=H2[e+40>>2],v=H2[e+36>>2],b=H2[A+40>>2],n=H2[A+20>>2],c=H2[A+36>>2],t=H2[A+24>>2],B=H2[e+8>>2],d=H2[e>>2],_=H2[e+4>>2],g=H2[e+16>>2],Z=H2[e+32>>2],F=H2[A+8>>2],i=H2[A+4>>2],k=H2[A+32>>2],o=H2[A+16>>2],a=H2[A>>2],y2[60+h>>2]=0,y2[44+h>>2]=0,w=j2(j2(n*b)-j2(t*c)),E=j2(j2(t*k)-j2(b*o)),Q=j2(j2(c*o)-j2(n*k)),G=j2(j2(1)/j2(j2(j2(a*w)+j2(i*E))+j2(F*Q))),C=j2(j2(j2(t*i)-j2(n*F))*G),t=j2(j2(j2(o*F)-j2(t*a))*G),n=j2(j2(j2(n*a)-j2(o*i))*G),H2[56+h>>2]=j2(j2(Z*C)+j2(v*t))+j2(s*n),o=j2(j2(j2(c*F)-j2(b*i))*G),F=j2(j2(j2(b*a)-j2(k*F))*G),i=j2(j2(j2(k*i)-j2(c*a))*G),H2[52+h>>2]=j2(j2(Z*o)+j2(v*F))+j2(s*i),H2[40+h>>2]=j2(j2(C*g)+j2(t*l))+j2(n*u),H2[36+h>>2]=j2(j2(o*g)+j2(F*l))+j2(i*u),y2[28+h>>2]=0,a=j2(w*G),b=j2(E*G),G=j2(Q*G),H2[48+h>>2]=j2(j2(Z*a)+j2(v*b))+j2(s*G),H2[32+h>>2]=j2(j2(a*g)+j2(b*l))+j2(G*u),H2[24+h>>2]=j2(B*n)+j2(j2(d*C)+j2(_*t)),H2[20+h>>2]=j2(B*i)+j2(j2(d*o)+j2(_*F)),H2[16+h>>2]=j2(B*G)+j2(j2(d*a)+j2(_*b)),w1(16+h|0,h),F=H2[h>>2],a=H2[4+h>>2],i=H2[8+h>>2],n=H2[12+h>>2],G=j2(j2(1)/j2(K2(j2(j2(j2(j2(F*F)+j2(a*a))+j2(i*i))+j2(n*n))))),i=j2(i*G),H2[8+h>>2]=i,a=j2(a*G),H2[4+h>>2]=a,b=j2(F*G),H2[h>>2]=b,G=j2(n*G),H2[12+h>>2]=G,Q2(F=j2(m2(j2(O2(G,j2(-1))),j2(1))));A:if(1065353216<=(A=2147483647&(e=w2[2]))>>>0)G=j2((0|e)<0?3.141592502593994:0),1065353216!=(0|A)&&(G=j2(j2(0)/j2(F-F)));else e:{if(A>>>0<=1056964607){if(G=j2(1.570796251296997),A>>>0<847249409)break e;G=j2(F*F),G=j2(j2(j2(j2(7.549789415861596e-8)-j2(j2(j2(G*j2(j2(G*j2(j2(G*j2(-.008656363002955914))+j2(-.04274342209100723)))+j2(.16666586697101593)))/j2(j2(G*j2(-.7066296339035034))+j2(1)))*F))-F)+j2(1.570796251296997));break A}if((0|e)<=-1){G=j2(j2(F+j2(1))*j2(.5)),F=j2(K2(G)),G=j2(j2(1.570796251296997)-j2(F+j2(j2(F*j2(j2(G*j2(j2(G*j2(j2(G*j2(-.008656363002955914))+j2(-.04274342209100723)))+j2(.16666586697101593)))/j2(j2(G*j2(-.7066296339035034))+j2(1))))+j2(-7.549789415861596e-8)))),G=j2(G+G);break A}G=j2(j2(j2(1)-F)*j2(.5)),E2(2,-4096&(Q2(n=j2(K2(G))),w2[2])),F=h2(),G=j2(j2(j2(n*j2(j2(G*j2(j2(G*j2(j2(G*j2(-.008656363002955914))+j2(-.04274342209100723)))+j2(.16666586697101593)))/j2(j2(G*j2(-.7066296339035034))+j2(1))))+j2(j2(G-j2(F*F))/j2(n+F)))+F),G=j2(G+G)}H2[f>>2]=G+G,y2[r+12>>2]=0,H2[r+8>>2]=i,H2[r+4>>2]=a,H2[r>>2]=b,(G=j2(j2(j2(b*b)+j2(a*a))+j2(i*i)))>2]=0,y2[r+12>>2]=0,y2[r>>2]=1065353216,y2[r+4>>2]=0):(G=j2(j2(1)/j2(K2(G))),H2[r+8>>2]=i*G,H2[r+4>>2]=a*G,H2[r>>2]=b*G),L2=h+64|0}function Z1(A,e,r,f){var i,a,n,b,t,o,c,k,u,l,s,v,B,d,_,g,Z,C,w,E,Q,h,G,F,V,x,p,S,J,M,X,y,U,D,Y=0,m=0,N=(j2(0),j2(0)),R=(j2(0),j2(0)),I=(j2(0),j2(0),j2(0),j2(0),j2(0),j2(0),0),W=(j2(0),j2(0),j2(0),j2(0),j2(0),j2(0),j2(0),j2(0),j2(0),j2(0),j2(0),0),T=(j2(0),j2(0),0);j2(0),j2(0),j2(0),j2(0),j2(0),j2(0),j2(0),j2(0),j2(0),j2(0);L2=D=L2-240|0,y2[A+16>>2]?(Y=y2[A+4>>2],X2[Y+312|0]=0,X2[Y+356|0]=1,y2[Y>>2]=0,y2[Y+292>>2]=1566444395,y2[Y+296>>2]=1566444395,y2[(m=Y+336|0)>>2]=0,y2[m+4>>2]=0,y2[(m=Y+300|0)>>2]=1566444395,y2[m+4>>2]=0,y2[(m=Y+344|0)>>2]=0,y2[m+4>>2]=0,X2[Y+352|0]=0,X2[0|(Y=Y+332|0)]=240&U2[0|Y],Y=y2[A+12>>2],m=y2[Y+4>>2],W=y2[A+16>>2],T=y2[W+4>>2],R=j2(N2[y2[y2[Y>>2]+48>>2]](Y)),I=y2[A+16>>2],N=j2(N2[y2[y2[I>>2]+48>>2]](I)),y2[(I=172+D|0)>>2]=0,y2[I+4>>2]=0,y2[232+D>>2]=1,y2[236+D>>2]=1,y2[220+D>>2]=-1,X2[212+D|0]=0,H2[208+D>>2]=N,H2[204+D>>2]=R,y2[200+D>>2]=T,y2[196+D>>2]=m,y2[192+D>>2]=W,y2[188+D>>2]=Y,y2[164+D>>2]=0,y2[168+D>>2]=1065353216,y2[160+D>>2]=11364,y2[184+D>>2]=y2[A+4>>2],y2[180+D>>2]=y2[A+8>>2],m=y2[(Y=e+8|0)+4>>2],y2[(A=32+D|0)>>2]=y2[Y>>2],y2[A+4>>2]=m,m=y2[(Y=e+24|0)+4>>2],y2[(A=48+D|0)>>2]=y2[Y>>2],y2[A+4>>2]=m,m=y2[(Y=e+40|0)+4>>2],y2[(A=D+64|0)>>2]=y2[Y>>2],y2[A+4>>2]=m,m=y2[(Y=e+56|0)+4>>2],y2[(A=80+D|0)>>2]=y2[Y>>2],y2[A+4>>2]=m,m=y2[(Y=r+8|0)+4>>2],y2[(A=96+D|0)>>2]=y2[Y>>2],y2[A+4>>2]=m,y2[152+D>>2]=1566444395,A=y2[e+4>>2],y2[24+D>>2]=y2[e>>2],y2[28+D>>2]=A,A=y2[e+20>>2],y2[40+D>>2]=y2[e+16>>2],y2[44+D>>2]=A,A=y2[e+36>>2],y2[56+D>>2]=y2[e+32>>2],y2[60+D>>2]=A,A=y2[e+52>>2],y2[72+D>>2]=y2[e+48>>2],y2[76+D>>2]=A,A=y2[r+4>>2],y2[88+D>>2]=y2[r>>2],y2[92+D>>2]=A,Y=y2[(e=r+24|0)+4>>2],y2[(A=112+D|0)>>2]=y2[e>>2],y2[A+4>>2]=Y,e=y2[r+20>>2],y2[(A=104+D|0)>>2]=y2[r+16>>2],y2[A+4>>2]=e,e=y2[r+36>>2],y2[(A=120+D|0)>>2]=y2[r+32>>2],y2[A+4>>2]=e,Y=y2[(e=r+40|0)+4>>2],y2[(A=128+D|0)>>2]=y2[e>>2],y2[A+4>>2]=Y,e=y2[r+52>>2],y2[(A=136+D|0)>>2]=y2[r+48>>2],y2[A+4>>2]=e,r=y2[(e=r+56|0)+4>>2],y2[(A=144+D|0)>>2]=y2[e>>2],y2[A+4>>2]=r,b1(160+D|0,24+D|0,f,0,0)):(U=H2[(m=r+52|0)>>2],d=H2[(W=r+56|0)>>2],_=H2[e+52>>2],h=H2[e+56>>2],o=H2[e+20>>2],c=H2[e+36>>2],R=H2[(T=r+20|0)>>2],N=H2[(I=r+36|0)>>2],n=H2[(V=r+24|0)>>2],a=H2[e+24>>2],i=H2[(x=r+40|0)>>2],k=H2[e+40>>2],G=H2[r+48>>2],F=H2[e+48>>2],Y=y2[A+12>>2],v=H2[e+32>>2],B=H2[e>>2],g=H2[e+16>>2],Z=H2[e+4>>2],t=H2[r+32>>2],b=H2[r+16>>2],u=H2[r>>2],l=H2[r+4>>2],A=y2[A+20>>2],s=H2[r+8>>2],C=H2[e+8>>2],y2[172+D>>2]=0,p=j2(j2(j2(C*l)+j2(a*R))+j2(k*N)),w=j2(-H2[(e=A+60|0)>>2]),S=j2(j2(j2(C*u)+j2(a*b))+j2(k*t)),E=H2[A+56>>2],C=j2(j2(j2(C*s)+j2(a*n))+j2(k*i)),a=H2[(J=A- -64|0)>>2],H2[168+D>>2]=j2(j2(p*w)-j2(S*E))-j2(C*a),M=j2(j2(j2(Z*l)+j2(o*R))+j2(c*N)),X=j2(j2(j2(Z*u)+j2(o*b))+j2(c*t)),Z=j2(j2(j2(Z*s)+j2(o*n))+j2(c*i)),H2[164+D>>2]=j2(j2(M*w)-j2(E*X))-j2(a*Z),y=j2(j2(j2(B*l)+j2(g*R))+j2(v*N)),Q=j2(y*w),w=j2(j2(j2(B*u)+j2(g*b))+j2(v*t)),g=j2(j2(j2(B*s)+j2(g*n))+j2(v*i)),H2[160+D>>2]=j2(Q-j2(E*w))-j2(a*g),N2[y2[y2[Y>>2]+64>>2]](24+D|0,Y,160+D|0),o=H2[e>>2],c=H2[J>>2],E=H2[A+72>>2],a=H2[A+56>>2],k=H2[24+D>>2],v=H2[28+D>>2],B=H2[32+D>>2],y2[172+D>>2]=0,Y=j2(j2(j2(F*u)+j2(_*b))+j2(h*t)),Q=b,b=j2(-U),t=j2(j2(Y+j2(j2(j2(Q*b)-j2(u*G))-j2(t*d)))+j2(j2(j2(w*k)+j2(X*v))+j2(S*B))),i=j2(j2(j2(j2(j2(F*s)+j2(_*n))+j2(h*i))+j2(j2(j2(n*b)-j2(s*G))-j2(i*d)))+j2(j2(j2(g*k)+j2(Z*v))+j2(C*B))),n=j2(j2(j2(j2(j2(F*l)+j2(_*R))+j2(h*N))+j2(j2(j2(R*b)-j2(l*G))-j2(N*d)))+j2(j2(j2(y*k)+j2(M*v))+j2(p*B))),R=j2(j2(j2(c*i)+j2(j2(a*t)+j2(o*n)))-E),N=j2(t-j2(a*R)),t=H2[r+32>>2],n=j2(n-j2(o*R)),b=H2[I>>2],i=j2(i-j2(c*R)),u=H2[x>>2],H2[168+D>>2]=j2(j2(j2(N*t)+j2(n*b))+j2(i*u))+H2[W>>2],l=H2[r+16>>2],s=H2[T>>2],d=H2[V>>2],H2[164+D>>2]=j2(j2(j2(N*l)+j2(n*s))+j2(i*d))+H2[m>>2],_=H2[r+8>>2],Q=j2(_*i),i=H2[r>>2],k=j2(i*N),N=H2[r+4>>2],H2[160+D>>2]=j2(Q+j2(k+j2(N*n)))+H2[r+48>>2],y2[20+D>>2]=0,H2[16+D>>2]=j2(j2(a*t)+j2(o*b))+j2(c*u),H2[12+D>>2]=j2(j2(a*l)+j2(o*s))+j2(c*d),H2[8+D>>2]=j2(j2(i*a)+j2(N*o))+j2(_*c),N2[y2[y2[f>>2]+16>>2]](f,8+D|0,160+D|0,R)),L2=240+D|0}function C1(A,e,r,f,i,a,n){var b,t,o,c,k,u,l,s=j2(0);j2(0),j2(0),j2(0),j2(0),j2(0),j2(0);L2=l=L2-16|0,s=H2[A+52>>2],b=H2[A+56>>2],t=H2[A+48>>2],y2[n+60>>2]=0,H2[n+48>>2]=t+j2(e*a),H2[n+56>>2]=b+j2(f*a),H2[n+52>>2]=s+j2(r*a),b=H2[i>>2],o=H2[i+4>>2],u=H2[i+8>>2],e=(e=j2(j2(j2(b*b)+j2(o*o))+j2(u*u)))>j2(1.1920928955078125e-7)?j2(K2(e)):j2(0),e=(r=j2(e*a)>j2(.7853981852531433)?j2(j2(.7853981852531433)/a):e)>2],s=I2(j2(j2(r*a)*j2(.5))),b=j2(b*e),t=H2[l>>2],o=j2(o*e),k=H2[4+l>>2],u=j2(u*e),c=H2[8+l>>2],r=j2(j2(j2(j2(f*s)-j2(b*t))-j2(o*k))-j2(u*c)),e=j2(j2(j2(j2(u*f)+j2(s*c))+j2(b*k))-j2(o*t)),a=j2(j2(j2(j2(s*t)+j2(b*f))+j2(o*c))-j2(u*k)),f=j2(j2(j2(u*t)+j2(j2(o*f)+j2(s*k)))-j2(b*c)),(s=j2(j2(r*r)+j2(j2(e*e)+j2(j2(a*a)+j2(f*f)))))>j2(1.1920928955078125e-7)&&(s=j2(j2(1)/j2(K2(s))),r=j2(r*s),e=j2(e*s),f=j2(f*s),a=j2(a*s),s=j2(j2(r*r)+j2(j2(e*e)+j2(j2(f*f)+j2(a*a))))),s>j2(1.1920928955078125e-7)?(y2[n+12>>2]=0,y2[n+44>>2]=0,y2[n+28>>2]=0,b=j2(j2(2)/s),s=j2(e*b),t=j2(f*s),o=j2(a*b),k=j2(r*o),H2[n+36>>2]=t+k,u=j2(a*s),b=j2(f*b),c=j2(r*b),H2[n+32>>2]=u-c,H2[n+24>>2]=t-k,t=j2(a*b),r=j2(r*s),H2[n+16>>2]=t+r,H2[n+8>>2]=u+c,H2[n+4>>2]=t-r,r=j2(a*o),f=j2(f*b),H2[n+40>>2]=j2(1)-j2(r+f),e=j2(e*s),H2[n+20>>2]=j2(1)-j2(r+e),H2[n>>2]=j2(1)-j2(f+e)):(i=y2[A+4>>2],y2[n>>2]=y2[A>>2],y2[n+4>>2]=i,u=y2[4+(k=A+8|0)>>2],y2[(i=n+8|0)>>2]=y2[k>>2],y2[i+4>>2]=u,i=y2[A+20>>2],y2[n+16>>2]=y2[A+16>>2],y2[n+20>>2]=i,u=y2[4+(k=A+24|0)>>2],y2[(i=n+24|0)>>2]=y2[k>>2],y2[i+4>>2]=u,i=y2[A+36>>2],y2[n+32>>2]=y2[A+32>>2],y2[n+36>>2]=i,i=n+40|0,n=y2[(A=A+40|0)+4>>2],y2[i>>2]=y2[A>>2],y2[i+4>>2]=n),L2=16+l|0}function w1(A,e){var r,f=j2(0),i=0,a=0,n=j2(0),b=0,t=0,o=j2(0),i=(j2(0),L2-16|0),f=H2[A>>2],o=H2[A+20>>2],n=H2[A+40>>2];i=(r=j2(j2(f+o)+n))>j2(0)?(o=j2(K2(j2(r+j2(1)))),f=j2(j2(.5)/o),n=j2(f*j2(H2[A+16>>2]-H2[A+4>>2])),Q2(H2[i+8>>2]=n),a=w2[2],n=j2(f*j2(H2[A+8>>2]-H2[A+32>>2])),H2[i+4>>2]=n,f=j2(f*j2(H2[A+36>>2]-H2[A+24>>2])),Q2(H2[i>>2]=f),A=w2[2],f=j2(o*j2(.5)),Q2(H2[i+12>>2]=f),b=w2[2],Q2(n),w2[2]):(b=(a=f>>0)%3|0)<<4)+A|0,a=A+((A=(a+2>>>0)%3|0)<<4)|0,A<<=2,f=j2(K2(j2(j2(j2(H2[b+r>>2]-H2[o+(t<<=2)>>2])-H2[a+A>>2])+j2(1)))),H2[(b|i)>>2]=f*j2(.5),f=j2(j2(.5)/f),H2[i+12>>2]=j2(H2[a+t>>2]-H2[A+o>>2])*f,H2[(i|t)>>2]=f*j2(H2[b+o>>2]+H2[t+r>>2]),H2[(A|i)>>2]=f*j2(H2[a+b>>2]+H2[A+r>>2]),b=y2[i+12>>2],a=y2[i+8>>2],A=y2[i>>2],y2[i+4>>2]),y2[e+12>>2]=b,y2[e+8>>2]=a,y2[e+4>>2]=i,y2[e>>2]=A}function E1(A,e,r,f){A|=0,e|=0,r|=0,f|=0;j2(0),j2(0),j2(0),j2(0),j2(0),j2(0);var i,a=j2(N2[y2[y2[A>>2]+48>>2]](A)),n=j2(N2[y2[y2[A>>2]+48>>2]](A)),b=j2(N2[y2[y2[A>>2]+48>>2]](A)),t=H2[(A=e+52|0)>>2],o=H2[(i=e+56|0)>>2],c=H2[e+48>>2];y2[r+12>>2]=0,H2[r+8>>2]=o-b,H2[r+4>>2]=t-n,H2[r>>2]=c-a,t=H2[A>>2],o=H2[i>>2],c=H2[e+48>>2],y2[f+12>>2]=0,H2[f+8>>2]=b+o,H2[f+4>>2]=n+t,H2[f>>2]=a+c}function Q1(A,e,r){var f,i,a,n,b,t,o,c,k,u,l,s,V,x,p,S,J,M,X,y,U,H,v,B=0,d=0,_=j2(0),g=j2(0),Z=j2(0),C=j2(0),w=j2(0),E=j2(0),Q=0,h=j2(0),G=0,F=j2(0),D=j2(0),Y=0,m=j2(0),N=0,R=0,I=(j2(0),j2(0),j2(0),0),W=0,T=(j2(0),j2(0),j2(0),0),P=(j2(0),j2(0),j2(0),j2(0)),j=(j2(0),j2(0),0);j2(0),j2(0),j2(0),j2(0),j2(0),j2(0),j2(0),j2(0),j2(0);L2=v=L2-128|0,y2[A+376>>2]=0,y2[A+364>>2]=4,y2[A+368>>2]=0,y2[A+360>>2]=Q=A+316|0,y2[A+356>>2]=A+284,y2[A+352>>2]=A+252,y2[A+348>>2]=A+220,B=y2[e+4>>2],y2[A>>2]=y2[e>>2],y2[A+4>>2]=B,f=y2[(d=e+16|0)+4>>2],y2[(B=A+16|0)>>2]=y2[d>>2],y2[B+4>>2]=f,B=y2[e+12>>2],y2[A+8>>2]=y2[e+8>>2],y2[A+12>>2]=B,f=y2[(d=e+32|0)+4>>2],y2[(B=A+32|0)>>2]=y2[d>>2],y2[B+4>>2]=f,f=y2[(d=e+24|0)+4>>2],y2[(B=A+24|0)>>2]=y2[d>>2],y2[B+4>>2]=f,f=y2[(d=e+48|0)+4>>2],y2[(B=A+48|0)>>2]=y2[d>>2],y2[B+4>>2]=f,f=y2[(d=e+40|0)+4>>2],y2[(B=A+40|0)>>2]=y2[d>>2],y2[B+4>>2]=f,f=y2[(d=e- -64|0)+4>>2],y2[(B=A- -64|0)>>2]=y2[d>>2],y2[B+4>>2]=f,B=y2[e+60>>2],y2[A+56>>2]=y2[e+56>>2],y2[A+60>>2]=B,f=y2[(d=e+80|0)+4>>2],y2[(B=A+80|0)>>2]=y2[d>>2],y2[B+4>>2]=f,f=y2[(d=e+72|0)+4>>2],y2[(B=A+72|0)>>2]=y2[d>>2],y2[B+4>>2]=f,f=y2[(d=e+96|0)+4>>2],y2[(B=A+96|0)>>2]=y2[d>>2],y2[B+4>>2]=f,f=y2[(d=e+88|0)+4>>2],y2[(B=A+88|0)>>2]=y2[d>>2],y2[B+4>>2]=f,f=y2[(d=e+104|0)+4>>2],y2[(B=A+104|0)>>2]=y2[d>>2],y2[B+4>>2]=f,f=y2[(d=e+112|0)+4>>2],y2[(B=A+112|0)>>2]=y2[d>>2],y2[B+4>>2]=f,B=y2[e+120>>2],e=y2[e+124>>2],y2[(d=A+180|0)>>2]=0,y2[A+144>>2]=0,y2[A+120>>2]=B,y2[A+124>>2]=e,I=y2[4+(f=r+8|0)>>2],y2[(B=e=A+136|0)>>2]=y2[f>>2],y2[B+4>>2]=I,B=y2[r+4>>2],y2[A+128>>2]=y2[r>>2],y2[A+132>>2]=B,g=H2[e>>2],C=H2[(I=A+132|0)>>2],_=H2[A+128>>2],y2[A+364>>2]=3,y2[(B=A+164|0)>>2]=0,y2[d>>2]=1,y2[A+148>>2]=Q,w=j2(-_),z(A,(r=(_=j2(j2(j2(_*_)+j2(C*C))+j2(g*g)))>j2(0))?w:j2(1),j2(r?-C:0),j2(r?-g:0),Q),y2[B>>2]=1065353216,d=y2[A+148>>2],Q=y2[d+20>>2],y2[A+128>>2]=y2[d+16>>2],y2[A+132>>2]=Q,r=y2[(Q=d+24|0)+4>>2],y2[e>>2]=y2[Q>>2],y2[e+4>>2]=r,r=y2[Q+4>>2],B=y2[Q>>2],y2[(f=88+v|0)>>2]=B,y2[4+f>>2]=r,y2[(Q=72+v|0)>>2]=B,y2[Q+4>>2]=r,y2[(Q=56+v|0)>>2]=B,y2[Q+4>>2]=r,Q=y2[d+20>>2],d=y2[d+16>>2],y2[80+v>>2]=d,y2[84+v>>2]=Q,y2[64+v>>2]=d,y2[68+v>>2]=Q,y2[48+v>>2]=d,y2[52+v>>2]=Q,y2[40+v>>2]=B,y2[44+v>>2]=r,y2[32+v>>2]=d,y2[36+v>>2]=Q,U=A+148|0,f=A+128|0,C=H2[I>>2],g=H2[e>>2],Q=y2[A+368>>2],E=H2[A+128>>2],I=0;A:{e:{r:{for(;;){if((h=j2(K2(j2(j2(j2(E*E)+j2(C*C))+j2(g*g)))))>2]=1;break r}if(B=y2[A+364>>2]-1|0,y2[A+364>>2]=B,T=P2(Q,36),e=y2[(N=(r=T+A|0)+180|0)>>2],y2[N>>2]=e+1,B=y2[348+((B<<2)+A|0)>>2],y2[(d=(d=e<<2)+(e=r+148|0)|0)>>2]=B,y2[d+16>>2]=0,z(A,j2(-E),j2(-C),j2(-g),B),Y=y2[N>>2],B=y2[(e+(Y<<2)|0)-4>>2],g=H2[B+16>>2],C=j2(g-H2[32+v>>2]),w=j2(C*C),C=H2[B+20>>2],E=j2(C-H2[36+v>>2]),w=j2(w+j2(E*E)),E=H2[B+24>>2],Z=j2(E-H2[40+v>>2]),j2(w+j2(Z*Z))>2]),w=j2(Z*Z),Z=j2(C-H2[52+v>>2]),w=j2(w+j2(Z*Z)),Z=j2(E-H2[56+v>>2]),j2(w+j2(Z*Z))>2]),w=j2(Z*Z),Z=j2(C-H2[68+v>>2]),w=j2(w+j2(Z*Z)),Z=j2(E-H2[72+v>>2]),j2(w+j2(Z*Z))>2]),w=j2(Z*Z),Z=j2(C-H2[84+v>>2]),w=j2(w+j2(Z*Z)),Z=j2(E-H2[88+v>>2]),j2(w+j2(Z*Z))>2],y2[(d=(32+v|0)+((j=j+1&3)<<4)|0)+8>>2]=y2[R>>2],y2[d+12>>2]=G,W=y2[B+4>>2],y2[d>>2]=y2[B>>2],y2[d+4>>2]=W,g=j2(j2(j2(j2(H2[A+128>>2]*g)+j2(H2[A+132>>2]*C))+j2(H2[A+136>>2]*E))/h),j2(j2(h-(P=P>2],y2[A+364>>2]=r+1,Q=y2[A+368>>2],B=P2(Q,36)+A|0,e=y2[(d=B+180|0)>>2]-1|0,y2[d>>2]=e,y2[348+((r<<2)+A|0)>>2]=y2[148+(B+(e<<2)|0)>>2];break r}f:{i:{B=Y-2|(y2[12+v>>2]=0);a:if(!(2>>0)){n:{b:switch(B-1|0){default:if(r=y2[r+152>>2],w=H2[r+16>>2],e=y2[e>>2],g=H2[e+16>>2],h=j2(w-g),m=H2[r+20>>2],C=H2[e+20>>2],Z=j2(m-C),D=H2[r+24>>2],E=H2[e+24>>2],F=j2(D-E),!((_=j2(j2(j2(h*h)+j2(Z*Z))+j2(F*F)))>j2(0)))break i;if((_=j2(j2(-j2(j2(j2(g*h)+j2(C*Z))+j2(E*F)))/_))>=j2(1)){y2[16+v>>2]=0,y2[20+v>>2]=1065353216,y2[12+v>>2]=2,_=j2(j2(j2(w*w)+j2(m*m))+j2(D*D));break a}if(!(_<=j2(0)))break n;y2[16+v>>2]=1065353216,y2[20+v>>2]=0,y2[12+v>>2]=1,_=j2(j2(j2(g*g)+j2(C*C))+j2(E*E));break a;case 0:_=h1(y2[e>>2]+16|0,y2[r+152>>2]+16|0,y2[r+156>>2]+16|0,16+v|0,12+v|0);break a;case 1:break b;}if(B=y2[e>>2],_=H2[B+16>>2],e=y2[r+160>>2],C=H2[e+16>>2],m=j2(_-C),d=y2[r+152>>2],i=H2[d+20>>2],E=H2[e+20>>2],D=j2(i-E),V=j2(m*D),r=y2[r+156>>2],x=H2[r+24>>2],g=H2[e+24>>2],Z=j2(x-g),l=H2[B+20>>2],a=j2(l-E),s=H2[d+24>>2],n=j2(s-g),p=j2(a*n),c=H2[r+16>>2],F=j2(c-C),k=H2[B+24>>2],b=j2(k-g),t=H2[d+16>>2],u=j2(t-C),S=j2(b*u),o=H2[r+20>>2],w=j2(o-E),J=j2(m*n),M=j2(a*u),X=j2(b*D),(h=j2(j2(j2(V*Z)+j2(j2(j2(j2(p*F)+j2(S*w))-j2(J*w))-j2(M*Z)))-j2(X*F)))==j2(0)|h!=h)break i;if(y=j2(l-i),c=j2(t-c),t=j2(_-t),i=j2(i-o),H=j2(k*j2(j2(y*c)-j2(t*i))),o=_,_=j2(k-s),k=j2(_*i),i=j2(s-x),!(j2(h*j2(H+j2(j2(o*j2(k-j2(y*i)))+j2(l*j2(j2(t*i)-j2(_*c))))))<=j2(0)))break i;if(W=B+16|0,Y=e+16|0,R=d+16|0,y2[120+v>>2]=0,y2[112+v>>2]=0,y2[116+v>>2]=0,y2[108+v>>2]=0,_=j2(-1),j2(h*j2(j2(j2(j2(p-X)*C)+j2(E*j2(S-J)))+j2(j2(V-M)*g)))>j2(0)&&(_=h1(W,R,Y,112+v|0,108+v|0),y2[24+v>>2]=0,G=y2[116+v>>2],y2[16+v>>2]=y2[112+v>>2],y2[20+v>>2]=G,y2[28+v>>2]=y2[120+v>>2],G=y2[108+v>>2],y2[12+v>>2]=2&G|G<<1&8|1&G,E=H2[e+20>>2],C=H2[e+16>>2],g=H2[e+24>>2]),G=r+16|0,j2(h*j2(j2(j2(j2(j2(D*Z)-j2(n*w))*C)+j2(E*j2(j2(n*F)-j2(Z*u))))+j2(j2(j2(w*u)-j2(D*F))*g)))>j2(0)&&((g=h1(R,G,Y,112+v|0,108+v|0))<_||_>2]=y2[112+v>>2],y2[16+v>>2]=0,R=y2[120+v>>2],y2[24+v>>2]=y2[116+v>>2],y2[28+v>>2]=R,y2[12+v>>2]=y2[108+v>>2]<<1&14,_=g),j2(h*j2(j2(j2(j2(j2(w*b)-j2(Z*a))*H2[e+16>>2])+j2(H2[e+20>>2]*j2(j2(Z*m)-j2(b*F))))+j2(j2(j2(a*F)-j2(w*m))*H2[e+24>>2])))>j2(0)&&((g=h1(G,W,Y,112+v|0,108+v|0))<_||_>2]=y2[112+v>>2],y2[20+v>>2]=0,y2[16+v>>2]=y2[116+v>>2],y2[28+v>>2]=y2[120+v>>2],Y=y2[108+v>>2],y2[12+v>>2]=Y>>>1&1|Y<<1&8|Y<<2&4,_=g),!(_>2]=15,E=H2[B+20>>2],Z=H2[r+24>>2],_=H2[e+16>>2],F=H2[B+24>>2],w=H2[r+16>>2],g=H2[e+20>>2],m=H2[B+16>>2],C=H2[e+24>>2],D=H2[r+20>>2],b=j2(j2(j2(j2(j2(j2(j2(j2(E*Z)*_)+j2(j2(F*w)*g))-j2(g*j2(Z*m)))-j2(j2(E*w)*C))+j2(C*j2(m*D)))-j2(_*j2(F*D)))/h),H2[20+v>>2]=b,a=H2[d+24>>2],n=H2[d+16>>2],D=j2(j2(j2(j2(_*j2(D*a))+j2(g*j2(Z*n)))-j2(g*j2(a*w)))-j2(C*j2(D*n))),o=w,w=H2[d+20>>2],Z=j2(j2(j2(D+j2(C*j2(o*w)))-j2(_*j2(Z*w)))/h),H2[16+v>>2]=Z,_=j2(j2(j2(j2(j2(j2(j2(_*j2(w*F))+j2(g*j2(a*m)))-j2(g*j2(F*n)))-j2(C*j2(w*m)))+j2(C*j2(n*E)))-j2(_*j2(a*E)))/h),H2[24+v>>2]=_,H2[28+v>>2]=j2(1)-j2(j2(Z+b)+_),_=j2(0);break a}y2[12+v>>2]=3,H2[20+v>>2]=_,H2[16+v>>2]=j2(1)-_,E=j2(E+j2(F*_)),g=j2(g+j2(h*_)),_=j2(C+j2(Z*_)),_=j2(j2(E*E)+j2(j2(g*g)+j2(_*_)))}if(_>=j2(0)){if(W=P2(Q=1-Q|0,36)+A|0,y2[(d=W+180|0)>>2]=0,y2[(e=8+f|0)>>2]=0,y2[e+4>>2]=0,y2[f>>2]=0,y2[4+f>>2]=0,y2[A+368>>2]=Q,Y=y2[12+v>>2],!(R=y2[N>>2])){g=j2(0),C=j2(0),E=j2(0);break f}for(e=T+U|0,g=j2(r=0),B=16+v|0,C=j2(0),E=j2(0);;)if(N=y2[e>>2],Y>>>r&1?(G=y2[d>>2],y2[(T=W+(G<<2)|0)+148>>2]=N,g=H2[B>>2],y2[T+164>>2]=y2[B>>2],y2[d>>2]=G+1,N=y2[e>>2],h=H2[N+24>>2],C=H2[N+20>>2],E=j2(j2(H2[N+16>>2]*g)+H2[A+128>>2]),H2[A+128>>2]=E,C=j2(j2(C*g)+H2[A+132>>2]),H2[A+132>>2]=C,g=j2(j2(h*g)+H2[A+136>>2]),H2[A+136>>2]=g):(G=y2[A+364>>2],y2[A+364>>2]=G+1,y2[348+((G<<2)+A|0)>>2]=N),e=e+4|0,B=B+4|0,(0|R)==(0|(r=r+1|0)))break;break f}}r=y2[A+364>>2],y2[A+364>>2]=r+1,Q=y2[A+368>>2],B=P2(Q,36)+A|0,e=y2[(d=B+180|0)>>2]-1|0,y2[d>>2]=e,y2[348+((r<<2)+A|0)>>2]=y2[148+(B+(e<<2)|0)>>2];break r}if(15==(0|Y)&&(y2[A+376>>2]=1),127==(0|I)){y2[A+376>>(e=2)]=2,y2[A+372>>2]=148+(P2(Q,36)+A|0);break A}if(I=I+1|0,e=y2[A+376>>2])break e}r=y2[A+364>>2],y2[A+364>>2]=r+1,Q=y2[A+368>>2],B=P2(Q,36)+A|0,e=y2[(d=B+180|0)>>2]-1|0,y2[d>>2]=e,y2[348+((r<<2)+A|0)>>2]=y2[148+(B+(e<<2)|0)>>2]}e=y2[A+376>>2]}y2[A+372>>2]=148+(P2(Q,36)+A|0),1>>0||(e=1!=(0|e)?(_=H2[A+128>>2],g=j2(_*_),_=H2[A+132>>2],g=j2(g+j2(_*_)),_=H2[A+136>>2],H2[A+144>>2]=K2(j2(g+j2(_*_))),0):(y2[A+144>>2]=0,1))}return L2=128+v|0,e}function z(A,e,r,f,i){var a,n,b,t,o,c,k,u,l,s,v,B,d,_,g=0;j2(0),j2(0),j2(0),j2(0),j2(0),j2(0),j2(0),j2(0),j2(0),j2(0),j2(0),j2(0),j2(0),j2(0),j2(0);L2=_=L2-48|0,y2[i+12>>2]=0,a=j2(j2(1)/j2(K2(j2(j2(j2(e*e)+j2(r*r))+j2(f*f))))),H2[i+8>>2]=a*f,H2[i+4>>2]=a*r,H2[i>>2]=a*e,g=y2[A+120>>2],o=y2[A+124>>2],t=y2[A>>2]+(o>>1)|0,1&o&&(g=y2[g+y2[t>>2]>>2]),N2[0|g](_,t,i),f=H2[i+8>>2],r=H2[i>>2],g=y2[A+124>>2],o=y2[A+4>>2]+(g>>1)|0,e=j2(-H2[i+4>>2]),t=y2[A+120>>2],t=1&g?y2[y2[o>>2]+t>>2]:t,y2[28+_>>2]=0,H2[24+_>>2]=j2(j2(H2[A+44>>2]*e)-j2(r*H2[A+40>>2]))-j2(f*H2[A+48>>2]),H2[20+_>>2]=j2(j2(H2[A+28>>2]*e)-j2(r*H2[A+24>>2]))-j2(f*H2[A+32>>2]),H2[16+_>>2]=j2(j2(H2[A+12>>2]*e)-j2(r*H2[A+8>>2]))-j2(f*H2[A+16>>2]),N2[0|t](32+_|0,o,16+_|0),g=H2[A+104>>2],t=H2[A- -64>>2],o=H2[A+60>>2],c=H2[A+108>>2],k=H2[A+80>>2],u=H2[A+72>>2],l=H2[A+76>>2],s=H2[A+112>>2],v=H2[A+96>>2],B=H2[A+88>>2],d=H2[A+92>>2],a=H2[A+56>>2],A=H2[40+_>>2],n=H2[32+_>>2],b=H2[36+_>>2],f=H2[_>>2],r=H2[4+_>>2],e=H2[8+_>>2],y2[i+28>>2]=0,H2[i+24>>2]=e-j2(s+j2(j2(j2(n*B)+j2(b*d))+j2(A*v))),H2[i+20>>2]=r-j2(c+j2(j2(j2(n*u)+j2(b*l))+j2(A*k))),H2[i+16>>2]=f-j2(g+j2(j2(j2(n*a)+j2(b*o))+j2(A*t))),L2=48+_|0}function h1(A,e,r,f,i){var a,n,b=j2(0),t=j2(0),o=j2(0),c=j2(0),k=j2(0),u=j2(0),l=(j2(0),j2(0)),s=(j2(0),j2(0),j2(0)),v=(j2(0),j2(0),j2(0),0),B=j2(0),d=j2(0),_=j2(0),g=0,Z=0,C=(j2(0),j2(0),j2(0),j2(0)),b=(j2(0),j2(-1)),w=H2[A>>2],o=H2[e>>2],t=j2(w-o),c=H2[e+4>>2],B=H2[r+4>>2],E=j2(c-B),Q=H2[A+4>>2],u=j2(Q-c),d=H2[r>>2],h=j2(o-d),G=j2(j2(t*E)-j2(u*h)),k=H2[e+8>>2],_=H2[r+8>>2],F=j2(k-_),D=H2[A+8>>2],l=j2(D-k),Y=j2(j2(u*F)-j2(l*E)),m=j2(j2(l*h)-j2(t*F));return(n=j2(j2(G*G)+j2(j2(Y*Y)+j2(m*m))))>j2(0)&&(j2(j2(j2(w*j2(j2(G*u)-j2(m*l)))+j2(Q*j2(j2(Y*l)-j2(G*t))))+j2(j2(j2(m*t)-j2(Y*u))*D))>j2(0)?(u=j2(o-w),l=j2(c-Q),s=j2(k-D),b=j2(j2(j2(u*u)+j2(l*l))+j2(s*s)),t=j2(-1),b>j2(0)&&(t=(b=j2(j2(-j2(j2(j2(w*u)+j2(Q*l))+j2(D*s)))/b))>=j2(1)?(g=1065353216,v=2,j2(j2(j2(o*o)+j2(c*c))+j2(k*k))):(v=1,b<=j2(0)?(Z=1065353216,j2(j2(j2(w*w)+j2(Q*Q))+j2(D*D))):(Q2(j2(j2(1)-b)),Z=w2[2],Q2(b),g=w2[2],v=3,t=j2(D+j2(s*b)),o=j2(t*t),t=j2(w+j2(u*b)),b=j2(Q+j2(l*b)),j2(o+j2(j2(t*t)+j2(b*b)))))),y2[f+8>>2]=0,y2[f+4>>2]=g,y2[f>>2]=Z,y2[i>>2]=v,k=H2[e+8>>2],c=H2[e+4>>2],o=H2[e>>2]):t=j2(-1),D=j2(_-D),Q=j2(B-Q),w=j2(d-w),j2(j2(j2(o*j2(j2(G*E)-j2(m*F)))+j2(c*j2(j2(Y*F)-j2(G*h))))+j2(j2(j2(m*h)-j2(Y*E))*k))>j2(0)&&(B=H2[r>>2],u=j2(B-o),d=H2[r+4>>2],l=j2(d-c),_=H2[r+8>>2],s=j2(_-k),C=j2(j2(j2(u*u)+j2(l*l))+j2(s*s)),b=j2(-1),C>j2(0)&&(b=(b=j2(j2(-j2(j2(j2(o*u)+j2(c*l))+j2(k*s)))/C))>=j2(1)?(g=1065353216,Z=0,v=2,j2(j2(j2(B*B)+j2(d*d))+j2(_*_))):(v=1,b<=j2(0)?(g=0,Z=1065353216,j2(j2(j2(o*o)+j2(c*c))+j2(k*k))):(Q2(j2(j2(1)-b)),Z=w2[2],Q2(b),g=w2[2],v=3,k=j2(k+j2(s*b)),o=j2(o+j2(u*b)),b=j2(c+j2(l*b)),j2(j2(k*k)+j2(j2(o*o)+j2(b*b)))))),t>2]=g,y2[f+4>>2]=Z,y2[f>>2]=0,y2[i>>2]=v<<1):b=t,o=H2[r>>2],c=H2[r+4>>2],k=H2[r+8>>2],j2(j2(j2(o*j2(j2(G*Q)-j2(m*D)))+j2(c*j2(j2(Y*D)-j2(G*w))))+j2(j2(j2(m*w)-j2(Y*Q))*k))>j2(0)&&(a=!(b>2],u=j2(B-o),d=H2[A+4>>2],l=j2(d-c),_=H2[A+8>>2],s=j2(_-k),C=j2(j2(j2(u*u)+j2(l*l))+j2(s*s)),t=j2(-1),(t=C>j2(0)?(t=j2(j2(-j2(j2(j2(o*u)+j2(c*l))+j2(k*s)))/C))>=j2(1)?(g=1065353216,Z=0,v=2,j2(j2(j2(B*B)+j2(d*d))+j2(_*_))):t<=j2(0)?(g=0,Z=1065353216,v=1,j2(j2(j2(o*o)+j2(c*c))+j2(k*k))):(Q2(j2(j2(1)-t)),Z=w2[2],Q2(t),g=w2[2],v=3,k=j2(k+j2(s*t)),o=j2(o+j2(u*t)),t=j2(c+j2(l*t)),j2(j2(k*k)+j2(j2(o*o)+j2(t*t)))):t)>2]=Z,y2[f+4>>2]=0,y2[f>>2]=g,y2[i>>2]=v<<2&4|v>>>1,b=t),b>2])+j2(m*H2[A+4>>2]))+j2(G*H2[A+8>>2]))/n),b=j2(m*o),c=j2(H2[e+4>>2]-b),t=j2(Y*o),k=j2(H2[e>>2]-t),Y=j2(j2(h*c)-j2(E*k)),o=j2(G*o),G=j2(H2[e+8>>2]-o),c=j2(j2(E*G)-j2(F*c)),u=j2(c*c),c=j2(j2(F*k)-j2(h*G)),k=j2(K2(j2(j2(Y*Y)+j2(u+j2(c*c))))),c=j2(K2(n)),k=j2(k/c),H2[f>>2]=k,y2[i>>2]=7,G=j2(H2[r+4>>2]-b),Y=j2(H2[r>>2]-t),m=j2(j2(w*G)-j2(Q*Y)),u=j2(m*m),m=j2(H2[r+8>>2]-o),G=j2(j2(Q*m)-j2(D*G)),l=j2(G*G),G=j2(j2(D*Y)-j2(w*m)),c=j2(j2(K2(j2(u+j2(l+j2(G*G)))))/c),H2[f+4>>2]=c,H2[f+8>>2]=j2(1)-j2(k+c),b=j2(j2(o*o)+j2(j2(t*t)+j2(b*b)))),b}function G1(A,e,r,f,i){var a,n,b,t,o,c,k,u,l,s,v,B,d,_,g,Z=j2(0),C=(j2(0),j2(0),j2(0),j2(0),0);j2(0),j2(0),j2(0),j2(0);if(g=y2[A+18504>>2]){if((a=y2[g+48>>2])&&(y2[a+44>>2]=y2[g+44>>2]),(a=y2[g+44>>2])&&(y2[a+48>>2]=y2[g+48>>2]),y2[A+18504>>2]==(0|g)&&(y2[A+18504>>2]=y2[g+48>>2]),y2[g+44>>2]=0,y2[g+48>>2]=y2[A+18496>>2],y2[(a=A+18508|0)>>2]=y2[a>>2]-1,(a=y2[A+18496>>2])&&(y2[a+44>>2]=g),y2[A+18496>>2]=g,y2[(a=A+18500|0)>>2]=y2[a>>2]+1,X2[g+55|0]=0,y2[g+28>>2]=f,y2[g+24>>2]=r,y2[g+20>>2]=e,t=H2[f+16>>2],o=H2[(a=r+16|0)>>2],b=H2[(c=e+16|0)>>2],u=H2[(k=r+20|0)>>2],l=H2[f+24>>2],s=H2[(v=r+24|0)>>2],Z=H2[(B=e+24|0)>>2],n=H2[(d=e+20|0)>>2],_=H2[f+20>>2],y2[g+12>>2]=0,u=j2(u-n),l=j2(l-Z),s=j2(s-Z),n=j2(_-n),Z=j2(j2(u*l)-j2(s*n)),H2[g>>2]=Z,t=j2(t-b),o=j2(o-b),b=j2(j2(s*t)-j2(o*l)),H2[g+4>>2]=b,n=j2(j2(o*n)-j2(u*t)),H2[g+8>>2]=n,C=2,(t=j2(K2(j2(j2(j2(Z*Z)+j2(b*b))+j2(n*n)))))>j2(9999999747378752e-20)){if(o=H2[a>>2],F1(Z,b,n,H2[c>>2],H2[d>>2],H2[B>>2],o,H2[k>>2],H2[v>>2],a=g+16|0)||(Z=H2[r+16>>2],n=H2[r+20>>2],b=H2[r+24>>2],F1(H2[g>>2],H2[(C=g+4|0)>>2],H2[(c=g+8|0)>>2],Z,n,b,H2[(r=f+16|0)>>2],H2[(k=f+20|0)>>2],H2[(f=f+24|0)>>2],a))||F1(H2[g>>2],H2[C>>2],H2[c>>2],H2[r>>2],H2[k>>2],H2[f>>2],H2[e+16>>2],H2[e+20>>2],H2[e+24>>2],a)||(H2[g+16>>2]=j2(j2(j2(H2[e+16>>2]*H2[g>>2])+j2(H2[e+20>>2]*H2[g+4>>2]))+j2(H2[e+24>>2]*H2[g+8>>2]))/t),Z=j2(j2(1)/t),H2[g>>2]=Z*H2[g>>2],H2[(e=g+4|0)>>2]=Z*H2[e>>2],H2[(e=g+8|0)>>2]=Z*H2[e>>2],i)return g;if(C=3,H2[a>>2]>=j2(-9999999747378752e-21))return g}y2[A>>2]=C,(e=y2[g+48>>2])&&(y2[e+44>>2]=y2[g+44>>2]),(e=y2[g+44>>2])&&(y2[e+48>>2]=y2[g+48>>2]),y2[A+18496>>2]==(0|g)&&(y2[A+18496>>2]=y2[g+48>>2]),y2[g+44>>2]=0,y2[g+48>>2]=y2[A+18504>>2],y2[A+18500>>2]=y2[A+18500>>2]-1,(e=y2[A+18504>>2])&&(y2[e+44>>2]=g),y2[A+18504>>2]=g,y2[A+18508>>2]=y2[A+18508>>2]+1}else y2[A>>2]=5;return 0}function F1(A,e,r,f,i,a,n,b,t,o){j2(0),j2(0),j2(0);var c=j2(n-f),k=j2(b-i),u=j2(t-a);return o=j2(j2(j2(j2(c*e)-j2(k*A))*a)+j2(j2(j2(j2(k*r)-j2(u*e))*f)+j2(j2(j2(u*A)-j2(c*r))*i)))j2(0)||(A=j2(j2(j2(n*n)+j2(b*b))+j2(t*t)),j2(j2(j2(c*n)+j2(k*b))+j2(u*t))j2(0)?A:j2(0)),H2[o>>2]=K2(A),1):0}function D1(A){var e;y2[(A|=0)>>2]=11040,(e=y2[A+60>>2])&&(N2[y2[y2[e>>2]>>2]](e),e=y2[A+60>>2])&&(y2[6503]=y2[6503]+1,$2(y2[e-4>>2])),y2[6503]=y2[6503]+1,$2(y2[A-4>>2])}function Y1(A){return 2}function m1(A){return 3}function N1(A){return 1}function R1(A,e){var r,f,i=j2(0),a=j2(0),n=0,b=j2(0),t=j2(0),o=j2(0),c=0,k=j2(0),u=j2(0),l=j2(0),s=j2(0),v=j2(0),B=j2(0),d=j2(0),_=j2(0),g=j2(0),Z=j2(0),C=j2(0),w=j2(0);j2(0),j2(0);A:{e:{r:{f:{i:{if(4==(0|(n=y2[A+844>>2]))){if(o=H2[e>>2],c=(n=(i=H2[A+84>>2])<(b=H2[e+80>>2]))?0:-1,f=(n=(a=H2[A+292>>2])<(i=n?i:b))?1:c,b=H2[A+500>>2],!(n=(c=H2[A+708>>2]<((n=b<(i=n?a:i))?b:i))?3:n?2:f)){k=H2[A+636>>2],_=H2[A+428>>2],a=j2(k-_),l=H2[A+632>>2],g=H2[A+424>>2],t=j2(l-g),Z=H2[A+628>>2],C=H2[A+420>>2],u=j2(Z-C),w=H2[A+220>>2],s=H2[A+216>>2],v=H2[A+212>>2],i=H2[e+8>>2],b=H2[e+4>>2];break i}if(v=H2[A+212>>2],B=j2(o-v),l=H2[A+632>>2],g=H2[A+424>>2],t=j2(l-g),b=H2[e+4>>2],s=H2[A+216>>2],i=j2(b-s),Z=H2[A+628>>2],C=H2[A+420>>2],u=j2(Z-C),a=j2(j2(B*t)-j2(i*u)),f=j2(a*a),k=H2[A+636>>2],_=H2[A+428>>2],a=j2(k-_),r=j2(i*a),i=H2[e+8>>2],w=H2[A+220>>2],d=j2(i-w),r=j2(r-j2(d*t)),B=j2(j2(d*u)-j2(B*a)),B=j2(f+j2(j2(r*r)+j2(B*B))),1!=(0|n))break i;o=j2(o-H2[A+4>>2]),i=j2(i-H2[A+12>>2]),b=j2(b-H2[A+8>>2]),u=j2(0);break f}y2[A+844>>2]=n+1;break A}if(o=j2(o-H2[A+4>>2]),b=j2(b-H2[A+8>>2]),d=j2(j2(o*t)-j2(b*u)),i=j2(i-H2[A+12>>2]),t=j2(j2(b*a)-j2(i*t)),a=j2(j2(i*u)-j2(o*a)),u=j2(j2(d*d)+j2(j2(t*t)+j2(a*a))),a=j2(0),2==(0|n))break r}if(a=j2(l-s),t=j2(Z-v),l=j2(j2(o*a)-j2(b*t)),k=j2(k-w),a=j2(j2(b*k)-j2(i*a)),d=j2(a*a),a=j2(j2(i*t)-j2(o*k)),a=j2(j2(l*l)+j2(d+j2(a*a))),t=j2(0),c)break e}t=j2(g-s),s=j2(C-v),v=j2(j2(o*t)-j2(b*s)),k=b,b=j2(_-w),t=j2(j2(k*b)-j2(i*t)),i=j2(j2(i*s)-j2(o*b)),t=j2(j2(v*v)+j2(j2(t*t)+j2(i*i)))}c=(n=(i=j2(z2(B)))>j2(-0xde0b6b000000000))?0:-1,b=j2(z2(u)),c=(n=(i=n?i:j2(-0xde0b6b000000000))(n?a:i)?3:n?2:c}return A0(4+((c=A)+P2(A=0<(0|n)?n:0,208)|0)|0,e,208),A}function W2(A,e,r){var f,i,a,n,b,t,o,c,k,u,l,s,v,B,d,_=0,g=j2(0),Z=0,C=j2(0),w=j2(0),E=0,Q=(j2(0),j2(0),0),h=j2(0);j2(0),j2(0),j2(0),j2(0),j2(0),j2(0),j2(0),j2(0),j2(0),j2(0),j2(0),j2(0);if(!((0|(Z=y2[A+844>>2]))<1)){for(E=Z+1|0,_=(P2(Z,208)+A|0)-204|0;;)if(a=H2[e+48>>2],t=H2[e+8>>2],o=H2[e+4>>2],c=H2[e>>2],n=H2[e+52>>2],k=H2[e+24>>2],f=H2[e+20>>2],u=H2[e+16>>2],g=H2[e+56>>2],C=H2[e+40>>2],w=H2[e+36>>2],b=H2[e+32>>2],y2[_+60>>2]=0,h=g,g=H2[_>>2],l=w,w=H2[_+4>>2],i=C,C=H2[_+8>>2],b=j2(h+j2(j2(j2(b*g)+j2(l*w))+j2(i*C))),H2[_+56>>2]=b,n=j2(n+j2(j2(j2(g*u)+j2(w*f))+j2(C*k))),H2[_+52>>2]=n,a=j2(a+j2(j2(j2(g*c)+j2(w*o))+j2(C*t))),H2[_+48>>2]=a,t=H2[r+56>>2],o=H2[r+40>>2],c=H2[r+32>>2],k=H2[r+36>>2],f=H2[r+52>>2],u=H2[r+24>>2],s=H2[r+16>>2],v=H2[r+20>>2],g=H2[r+48>>2],C=H2[r+8>>2],w=H2[r>>2],i=H2[r+4>>2],y2[_+44>>2]=0,h=g,g=H2[_+16>>2],B=j2(w*g),w=H2[_+20>>2],l=C,C=H2[_+24>>2],i=j2(h+j2(j2(B+j2(i*w))+j2(l*C))),H2[_+32>>2]=i,f=j2(f+j2(j2(j2(g*s)+j2(w*v))+j2(C*u))),H2[_+36>>2]=f,g=j2(t+j2(j2(j2(g*c)+j2(w*k))+j2(C*o))),H2[_+40>>2]=g,H2[_+80>>2]=j2(j2(j2(a-i)*H2[_- -64>>2])+j2(j2(n-f)*H2[_+68>>2]))+j2(j2(b-g)*H2[_+72>>2]),y2[(Z=_+164|0)>>2]=y2[Z>>2]+1,_=_-208|0,!(1<(0|(E=E-1|0))))break;if(!((0|(e=y2[A+844>>2]))<1))for(_=(P2(e,208)+A|0)-204|0,r=e;;){r=(E=r)-1|0;A:{if((g=H2[_+80>>2])<=(w=H2[(d=A)+848>>2]))if(C=j2(H2[_+32>>2]-j2(H2[_+48>>2]-j2(H2[_- -64>>2]*g))),h=j2(C*C),C=j2(H2[_+36>>2]-j2(H2[_+52>>2]-j2(g*H2[_+68>>2]))),g=j2(H2[_+40>>2]-j2(H2[_+56>>2]-j2(g*H2[_+72>>2]))),!(j2(j2(h+j2(C*C))+j2(g*g))>j2(w*w)))break A;Q=Z=e-1|0,(0|e)!=(0|E)&&(A0(_,(e=P2(Z,208)+A|0)+4|0,208),y2[(Z=e+140|0)>>2]=0,y2[Z+4>>2]=0,y2[e+168>>2]=0,y2[e+120>>2]=0,y2[(e=e+132|0)>>2]=0,y2[e+4>>2]=0,Q=y2[A+844>>2]-1|0),e=Q,y2[d+844>>2]=e}if(_=_-208|0,!(1<(r+1|0)))break}}}function I1(A){var e,r,f=0,i=0,a=0,n=0;if(y2[(A|=0)>>2]=13856,f=y2[A+16>>2],1<=(0|(i=y2[A+8>>2])))for(;;)if(r=y2[f+a>>2],(e=y2[r+188>>2])&&(f=y2[A+68>>2],f=0|N2[y2[y2[f>>2]+36>>2]](f),N2[y2[y2[f>>2]+40>>2]](f,e,y2[A+24>>2]),f=y2[A+68>>2],N2[y2[y2[f>>2]+12>>2]](f,e,y2[A+24>>2]),y2[r+188>>2]=0,i=y2[A+8>>2],f=y2[A+16>>2]),a=a+4|0,!((0|(n=n+1|0))<(0|i)))break;return f&&(U2[A+20|0]&&(y2[6503]=y2[6503]+1,$2(y2[f-4>>2])),y2[A+16>>2]=0),y2[A+16>>2]=0,y2[A+8>>2]=0,y2[A+12>>2]=0,X2[A+20|0]=1,0|A}function W1(A){return y2[(A|=0)+72>>2]}function T1(A){A|=0;var e,r,f,i,a,n,b,t,o=0,c=0,k=0,u=0,l=0,s=(j2(0),0),v=0,B=0,d=0,_=(j2(0),j2(0),j2(0),j2(0),j2(0),0);if(L2=t=L2-208|0,0|N2[y2[y2[A>>2]+20>>2]](A)){if(c=0|N2[y2[y2[A>>2]+20>>2]](A),N2[y2[y2[c>>2]+100>>2]](c),c=0|N2[y2[y2[A>>2]+20>>2]](A),N2[y2[y2[c>>2]+8>>2]](80+t|0,c),c=0|N2[y2[y2[A>>2]+20>>2]](A),8&N2[y2[y2[c>>2]+56>>2]](c)&&(c=y2[A+24>>2])&&!((0|(v=0|N2[y2[y2[c>>2]+36>>2]](c)))<1))for(d=176+t|0,c=0;;){if(u=y2[A+24>>2],u=0|N2[y2[y2[u>>2]+40>>2]](u,c),1<=(0|(s=y2[u+844>>2])))for(u=u+168|0;;)if(B=0|N2[y2[y2[A>>2]+20>>2]](A),N2[y2[y2[B>>2]+40>>2]](B,u-132|0,u-100|0,H2[u-84>>2],y2[u>>2],d),u=u+208|0,!(s=s-1|0))break;if((0|v)==(0|(c=c+1|0)))break}if(c=0|N2[y2[y2[A>>2]+20>>2]](A),3&N2[y2[y2[c>>2]+56>>2]](c)&&!(y2[A+8>>2]<1))for(s=160+t|0,v=96+t|0,d=112+t|0,B=128+t|0,r=144+t|0,u=0;;){if(c=y2[y2[A+16>>2]+u>>2],!(32&U2[c+204|0])){if(0|N2[y2[y2[A>>2]+20>>2]](A)&&(o=0|N2[y2[y2[A>>2]+20>>2]](A),1&N2[y2[y2[o>>2]+56>>2]](o))){y2[72+t>>2]=1053609165,y2[76+t>>2]=0,y2[64+t>>2]=1053609165,y2[68+t>>2]=1053609165;A:if((o=y2[c+220>>2]-1|0)>>>0<=4){e:switch(o-1|0){default:l=y2[(k=88+t|0)+4>>2],y2[(o=72+t|0)>>2]=y2[k>>2],y2[o+4>>2]=l,o=y2[84+t>>2],y2[64+t>>2]=y2[80+t>>2],y2[68+t>>2]=o;break A;case 0:l=y2[(k=v+8|0)+4>>2],y2[(o=72+t|0)>>2]=y2[k>>2],y2[o+4>>2]=l,o=y2[v+4>>2],y2[64+t>>2]=y2[v>>2],y2[68+t>>2]=o;break A;case 1:l=y2[(k=d+8|0)+4>>2],y2[(o=72+t|0)>>2]=y2[k>>2],y2[o+4>>2]=l,o=y2[d+4>>2],y2[64+t>>2]=y2[d>>2],y2[68+t>>2]=o;break A;case 2:l=y2[(k=B+8|0)+4>>2],y2[(o=72+t|0)>>2]=y2[k>>2],y2[o+4>>2]=l,o=y2[B+4>>2],y2[64+t>>2]=y2[B>>2],y2[68+t>>2]=o;break A;case 3:break e;}l=y2[(k=8+r|0)+4>>2],y2[(o=72+t|0)>>2]=y2[k>>2],y2[o+4>>2]=l,o=y2[4+r>>2],y2[64+t>>2]=y2[r>>2],y2[68+t>>2]=o}else y2[72+t>>2]=1050253722,y2[76+t>>2]=0,y2[64+t>>2]=1050253722,y2[68+t>>2]=1050253722;1&X2[c+205|0]&&(l=y2[(k=c+316|0)+4>>2],y2[(o=72+t|0)>>2]=y2[k>>2],y2[o+4>>2]=l,o=y2[c+312>>2],y2[64+t>>2]=y2[c+308>>2],y2[68+t>>2]=o),N2[y2[y2[A>>2]+28>>2]](A,c+4|0,y2[c+192>>2],t+64|0)}(o=y2[A+72>>2])&&2&N2[y2[y2[o>>2]+56>>2]](o)&&(l=y2[(k=s+8|0)+4>>2],y2[(o=40+t|0)>>2]=y2[k>>2],y2[o+4>>2]=l,o=y2[s+4>>2],y2[32+t>>2]=y2[s>>2],y2[36+t>>2]=o,o=y2[c+192>>2],N2[y2[y2[o>>2]+8>>2]](o,c+4|0,t+64|0,48+t|0),H2[64+t>>2]=H2[64+t>>2]+j2(-.019999999552965164),H2[68+t>>2]=H2[68+t>>2]+j2(-.019999999552965164),H2[72+t>>2]=H2[72+t>>2]+j2(-.019999999552965164),H2[48+t>>2]=H2[48+t>>2]+j2(.019999999552965164),H2[52+t>>2]=H2[52+t>>2]+j2(.019999999552965164),H2[56+t>>2]=H2[56+t>>2]+j2(.019999999552965164),!U2[A+44|0]||2!=y2[c+252>>2]||3&U2[c+204|0]||(o=y2[c+192>>2],N2[y2[y2[o>>2]+8>>2]](o,c+68|0,16+t|0,t),e=j2(H2[16+t>>2]+j2(-.019999999552965164)),H2[16+t>>2]=e,f=j2(H2[20+t>>2]+j2(-.019999999552965164)),H2[20+t>>2]=f,i=j2(H2[24+t>>2]+j2(-.019999999552965164)),H2[24+t>>2]=i,a=j2(H2[t>>2]+j2(.019999999552965164)),H2[t>>2]=a,n=j2(H2[4+t>>2]+j2(.019999999552965164)),H2[4+t>>2]=n,b=j2(H2[8+t>>2]+j2(.019999999552965164)),H2[8+t>>2]=b,e>2]&&(H2[64+t>>2]=e),H2[68+t>>2]>f&&(H2[68+t>>2]=f),H2[72+t>>2]>i&&(H2[72+t>>2]=i),(e=H2[28+t>>2])>2]&&(H2[76+t>>2]=e),H2[48+t>>2]>2]=a),H2[52+t>>2]>2]=n),H2[56+t>>2]>2]=b),(e=H2[12+t>>2])>H2[60+t>>2]&&(H2[60+t>>2]=e)),c=y2[A+72>>2],N2[y2[y2[c>>2]+60>>2]](c,t+64|0,48+t|0,32+t|0))}if(u=u+4|0,!((0|(_=_+1|0))>2]))break}}L2=208+t|0}function V1(A,e,r,f){A|=0,e|=0,r|=0,f|=0;var i=0,a=0,n=0,b=0,t=0,o=L2-96|0;if(L2=o,i=y2[A+8>>2],y2[e+216>>2]=i,y2[A+12>>2]==(0|i)&&!((0|(n=i?i<<1:1))<=(0|i))){if(n&&(y2[6502]=y2[6502]+1,a=q2(16+(n<<2|3)|0))&&(y2[(b=a+19&-16)-4>>2]=a),1<=(0|i))for(a=i;;)if(y2[t+b>>2]=y2[y2[A+16>>2]+t>>2],t=t+4|0,!(a=a-1|0))break;(a=y2[A+16>>2])&&(U2[A+20|0]&&(y2[6503]=y2[6503]+1,$2(y2[a-4>>2]),i=y2[A+8>>2]),y2[A+16>>2]=0),y2[A+16>>2]=b,y2[A+12>>2]=n,X2[A+20|0]=1}y2[A+8>>2]=i+1,y2[y2[A+16>>2]+(i<<2)>>2]=e,n=y2[(a=e+12|0)+4>>2],y2[(i=40+o|0)>>2]=y2[a>>2],y2[i+4>>2]=n,n=y2[(a=e+28|0)+4>>2],y2[(i=56+o|0)>>2]=y2[a>>2],y2[i+4>>2]=n,n=y2[(a=e+44|0)+4>>2],y2[(i=72+o|0)>>2]=y2[a>>2],y2[i+4>>2]=n,n=y2[(a=e+60|0)+4>>2],y2[(i=88+o|0)>>2]=y2[a>>2],y2[i+4>>2]=n,i=y2[e+8>>2],y2[32+o>>2]=y2[e+4>>2],y2[36+o>>2]=i,a=y2[(i=e+20|0)+4>>2],y2[48+o>>2]=y2[i>>2],y2[52+o>>2]=a,a=y2[(i=e+36|0)+4>>2],y2[64+o>>2]=y2[i>>2],y2[68+o>>2]=a,a=y2[(i=e+52|0)+4>>2],y2[80+o>>2]=y2[i>>2],y2[84+o>>2]=a,i=y2[e+192>>2],N2[y2[y2[i>>2]+8>>2]](i,32+o|0,16+o|0,o),i=y2[A+68>>2],n=e,i=0|N2[y2[y2[i>>2]+8>>2]](i,16+o|0,o,y2[y2[e+192>>2]+4>>2],e,r,f,y2[A+24>>2]),y2[n+188>>2]=i,L2=96+o|0}function x1(A,e){A|=0;var r,f,i,a=0,n=0,b=0,t=0,o=0;(n=y2[(e|=0)+188>>2])&&(a=y2[A+68>>2],a=0|N2[y2[y2[a>>2]+36>>2]](a),N2[y2[y2[a>>2]+40>>2]](a,n,y2[A+24>>2]),a=y2[A+68>>2],N2[y2[y2[a>>2]+12>>2]](a,n,y2[A+24>>2]),y2[e+188>>2]=0),n=y2[A+8>>2];A:if((0|(a=y2[e+216>>2]))<0||(0|n)<=(0|a)){if(!((0|n)<1)){for(a=o=y2[A+16>>2];;){if(y2[a>>2]==(0|e))break;if(a=a+4|0,(0|n)==(0|(t=t+1|0)))break A}(0|n)<=(0|t)||(y2[(b=a)>>2]=y2[(a=(n=n-1|0)<<2)+o>>2],y2[A+8>>2]=n,y2[a+y2[A+16>>2]>>2]=e)}}else b=y2[(o=A+16|0)>>2],f=y2[(r=(t=a<<2)+b|0)>>2],i=b,y2[r>>2]=y2[i+(b=(n=n-1|0)<<2)>>2],y2[A+8>>2]=n,y2[b+y2[o>>2]>>2]=f,(0|n)<=(0|a)||(y2[y2[y2[A+16>>2]+t>>2]+216>>2]=a);y2[e+216>>2]=-1}function p1(A,e){var r,f,i,a=0,n=0,b=0,t=0,o=0,c=0,k=0,u=0,l=0,s=0,v=0,B=0,d=0,_=0,g=0,Z=0,C=0,w=0,E=0,Q=0;if(!((0|(b=y2[A+8>>2]))<1)){for(;;){r=y2[y2[y2[A+16>>2]+(w<<2)>>2]+192>>2],a=P2((a=r+(r<<15^-1)|0)>>>10^a,9),a=d>>>0<=(u=(f=(a=((a^=a>>>6)<<11^-1)+a|0)>>>16^a)&k-1)>>>0;A:{e:if(!a&&-1!=(0|(t=y2[(u<<2)+s>>2]))){for(;;){if(y2[(t<<3)+n>>2]==(0|r))break;if(-1==(0|(t=y2[(t<<2)+o>>2])))break e}if(l)break A}e:{r:{if(!a&&-1!=(0|(t=y2[(u<<2)+s>>2])))for(;;){if(y2[(t<<3)+n>>2]==(0|r))break r;if(-1==(0|(t=y2[(t<<2)+o>>2])))break}if((0|k)!=(0|Z))a=k,_=l,b=Z;else{f:if((0|(a=k?k<<1:1))<=(0|k))a=k,_=l;else{if(_=0,a&&(y2[6502]=y2[6502]+1,b=q2(16+(a<<2|3)|0))&&(y2[(_=b+19&-16)-4>>2]=b),1<=(0|k)){for(t=_,b=l,c=k;;)if(y2[t>>2]=y2[b>>2],t=t+4|0,b=b+4|0,!(c=c-1|0))break}else if(!l)break f;y2[6503]=y2[6503]+1,$2(y2[l-4>>2])}b=k}y2[((l=b)<<2)+_>>2]=r;f:if((0|v)!=(0|g))B=n;else if((0|(g=v?v<<1:1))<=(0|v))g=v,B=n;else{if(B=0,g&&(y2[6502]=y2[6502]+1,b=q2(16+(g<<3|3)|0))&&(y2[(B=b+19&-16)-4>>2]=b),1<=(0|v)){for(t=B,b=n,c=v;;)if(i=y2[b+4>>2],y2[t>>2]=y2[b>>2],y2[t+4>>2]=i,t=t+8|0,b=b+8|0,!(c=c-1|0))break}else if(!n)break f;y2[6503]=y2[6503]+1,$2(y2[n-4>>2])}if(y2[(n=(v<<3)+B|0)>>2]=r,((y2[n+4>>2]=0)|k)<(0|a)){if((0|d)<(0|a)){if((0|a)<=(0|E))c=s;else{c=0,a&&(y2[6502]=y2[6502]+1,n=q2(16+(a<<2|3)|0))&&(y2[(c=n+19&-16)-4>>2]=n);f:{if(1<=(0|d)){for(t=c,b=s,n=d;;)if(y2[t>>2]=y2[b>>2],t=t+4|0,b=b+4|0,!(n=n-1|0))break}else if(!s)break f;y2[6503]=y2[6503]+1,$2(y2[s-4>>2])}E=a}if(v2((n=d<<2)+c|0,0,(k=a<<2)-n|0),(0|a)<=(0|C))u=o;else{if((0|a)<=(0|Q))u=o;else{u=0,a&&(y2[6502]=y2[6502]+1,n=q2(16+(3|k)|0))&&(y2[(u=n+19&-16)-4>>2]=n);f:{if(1<=(0|C)){for(t=u,b=o,n=C;;)if(y2[t>>2]=y2[b>>2],t=t+4|0,b=b+4|0,!(n=n-1|0))break}else if(!o)break f;y2[6503]=y2[6503]+1,$2(y2[o-4>>2])}Q=a}v2((n=C<<2)+u|0,0,k-n|0)}if(1<=(0|a)&&(v2(c,255,k),v2(u,255,k)),1<=(0|d))for(k=a-1|0,t=0,b=B,n=u;;)if(o=y2[b>>2],o=P2((o=(o<<15^-1)+o|0)>>>10^o,9),o^=o>>>6,y2[n>>2]=y2[(o=((k&((o=(o<<11^-1)+o|0)>>>16^o))<<2)+c|0)>>2],b=b+8|0,n=n+4|0,(0|d)==(0|(t=(y2[o>>2]=t)+1|0)))break;s=c,d=C=a,o=u}u=a-1&f}v=v+1|0,y2[(Z<<2)+o>>2]=y2[(n=(u<<2)+s|0)>>2],y2[n>>2]=Z,k=a,Z=l+1|0,l=_,n=B;break e}y2[(t<<2)+l>>2]=r}N2[y2[y2[r>>2]+60>>2]](r,e),b=y2[A+8>>2]}if(!((0|(w=w+1|0))<(0|b)))break}if(1<=(0|b))for(c=t=0;;)if(a=y2[y2[A+16>>2]+t>>2],1!=(0|(u=y2[a+252>>2]))&&64!=(0|u)||(N2[y2[y2[a>>2]+24>>2]](a,e),b=y2[A+8>>2]),t=t+4|0,!((0|(c=c+1|0))<(0|b)))break;n&&(y2[6503]=y2[6503]+1,$2(y2[n-4>>2])),l&&(y2[6503]=y2[6503]+1,$2(y2[l-4>>2])),o&&(y2[6503]=y2[6503]+1,$2(y2[o-4>>2])),s&&(y2[6503]=y2[6503]+1,$2(y2[s-4>>2]))}}function S1(A,e,r,f){var i,a,n,b,V,x,p,S,J,M,X,y,t,o=0,c=j2(0),k=j2(0),u=j2(0),l=j2(0),s=0,v=0,B=j2(0),d=j2(0),_=0,g=j2(0),Z=j2(0),C=j2(0),w=j2(0),E=j2(0),Q=j2(0),h=0,G=j2(0),F=j2(0),D=j2(0),Y=j2(0),m=j2(0),N=0,R=j2(0),I=j2(0),W=j2(0),T=j2(0);j2(0),j2(0),j2(0);y2[(o=264+(L2=t=L2-832|0)|0)>>2]=0,y2[o+4>>2]=0,y2[(o=272+t|0)>>2]=0,y2[o+4>>2]=0,y2[(o=280+t|0)>>2]=0,y2[o+4>>2]=0,y2[288+t>>2]=0,y2[260+t>>2]=1065353216,y2[252+t>>2]=1065353216,y2[256+t>>2]=1065353216,y2[236+t>>2]=8,y2[240+t>>2]=0,y2[244+t>>2]=0,y2[248+t>>2]=0,y2[232+t>>2]=13244,o=y2[r+12>>2];A:if(_=y2[r+4>>2],(0|(s=y2[_+4>>2]))<=19)y2[216+t>>2]=0,y2[220+t>>2]=0,y2[48+t>>2]=13956,y2[212+t>>2]=y2[f+4>>2],X2[652+t|0]=0,y2[628+t>>2]=953267991,y2[308+t>>2]=_,y2[296+t>>2]=10584,y2[304+t>>2]=232+t,y2[300+t>>2]=320+t,y2[32+t>>2]=11464,y2[44+t>>2]=_,s=8&y2[f+16>>2]?32+t|0:296+t|0,_=y2[s>>2],y2[40+t>>2]=232+t,_=y2[_+8>>2],y2[36+t>>2]=320+t,0|N2[0|_](s,A,e,o,o,48+t|0)&&(u=H2[180+t>>2],c=H2[184+t>>2],k=H2[188+t>>2],(g=j2(j2(j2(u*u)+j2(c*c))+j2(k*k)))>j2(9999999747378752e-20))&&(B=H2[212+t>>2])>2]&&(m=k,k=j2(j2(1)/j2(K2(g))),H2[188+t>>2]=m*k,H2[184+t>>2]=c*k,H2[180+t>>2]=u*k,s=y2[(o=(A=180+t|0)+8|0)+4>>2],y2[(e=16+t|0)>>2]=y2[o>>2],y2[e+4>>2]=s,H2[24+t>>2]=B,e=y2[A+4>>2],y2[8+t>>2]=y2[A>>2],y2[12+t>>2]=e,y2[4+t>>2]=0,y2[t>>2]=y2[r+8>>2],j2(N2[y2[y2[f>>2]+12>>2]](f,t,1)));else if(s-21>>>0<=8)c=H2[o+20>>2],k=H2[o+36>>2],u=H2[o+24>>2],g=H2[o+52>>2],l=H2[(s=o+56|0)>>2],d=H2[o+40>>2],Z=H2[o+32>>2],Q=H2[o+16>>2],G=H2[o>>2],F=H2[o+4>>2],w=H2[o+48>>2],C=H2[o+8>>2],y2[308+t>>2]=0,E=j2(-g),I=j2(j2(j2(u*E)-j2(C*w))-j2(d*l)),Y=H2[A+48>>2],D=H2[A+52>>2],R=H2[A+56>>2],g=j2(I+j2(j2(j2(C*Y)+j2(u*D))+j2(d*R))),H2[304+t>>2]=g,W=j2(j2(j2(c*E)-j2(F*w))-j2(k*l)),B=j2(W+j2(j2(j2(F*Y)+j2(c*D))+j2(k*R))),H2[300+t>>2]=B,E=j2(j2(j2(Q*E)-j2(G*w))-j2(Z*l)),l=j2(E+j2(j2(j2(G*Y)+j2(Q*D))+j2(Z*R))),H2[296+t>>2]=l,w=H2[e+48>>2],D=j2(C*w),C=H2[e+52>>2],m=d,d=H2[e+56>>2],u=j2(I+j2(j2(D+j2(u*C))+j2(m*d))),c=j2(W+j2(j2(j2(F*w)+j2(c*C))+j2(k*d))),k=j2(E+j2(j2(j2(G*w)+j2(Q*C))+j2(Z*d))),A=o+32|0,e=o+16|0,21==y2[_+4>>2]?(y2[352+t>>2]=0,H2[348+t>>2]=u,H2[344+t>>2]=c,N=y2[(h=304+t|0)+4>>2],y2[(v=332+t|0)>>2]=y2[h>>2],y2[v+4>>2]=N,v=y2[300+t>>2],y2[324+t>>2]=y2[296+t>>2],y2[328+t>>2]=v,y2[360+t>>2]=1065353216,H2[340+t>>2]=k,y2[320+t>>2]=13984,y2[368+t>>2]=y2[r+8>>2],y2[364+t>>2]=f,y2[356+t>>2]=y2[f+16>>2],y2[372+t>>2]=_,h=y2[(v=o+8|0)+4>>2],y2[(r=384+t|0)>>2]=y2[v>>2],y2[r+4>>2]=h,r=y2[o+4>>2],y2[376+t>>2]=y2[o>>2],y2[380+t>>2]=r,h=y2[(v=e+8|0)+4>>2],y2[(r=400+t|0)>>2]=y2[v>>2],y2[r+4>>2]=h,v=y2[e+4>>2],y2[(r=392+t|0)>>2]=y2[e>>2],y2[r+4>>2]=v,r=y2[A+4>>2],y2[(e=408+t|0)>>2]=y2[A>>2],y2[e+4>>2]=r,r=y2[(A=A+8|0)+4>>2],y2[(e=416+t|0)>>2]=y2[A>>2],y2[e+4>>2]=r,e=y2[o+52>>2],y2[(A=424+t|0)>>2]=y2[o+48>>2],y2[A+4>>2]=e,e=y2[s+4>>2],y2[(A=432+t|0)>>2]=y2[s>>2],y2[A+4>>2]=e,y2[360+t>>2]=y2[f+4>>2],y2[32+t>>2]=12888,y2[36+t>>2]=y2[_+56>>2],y2[40+t>>2]=320+t,A=y2[_+60>>2],y2[(e=56+t|0)>>2]=0,y2[e+4>>2]=0,y2[48+t>>2]=0,y2[52+t>>2]=0,y2[(e=8+t|0)>>2]=0,y2[e+4>>2]=0,y2[t>>2]=0,y2[4+t>>2]=0,U2[A+60|0]?s1(A,32+t|0,296+t|0,k,c,u,48+t|0,t,y2[A+56>>2]):l1(A,32+t|0,296+t|0,k,c,u,48+t|0,t)):(y2[352+t>>2]=0,H2[348+t>>2]=u,H2[344+t>>2]=c,y2[336+t>>2]=0,H2[332+t>>2]=g,H2[328+t>>2]=B,y2[360+t>>2]=1065353216,H2[324+t>>2]=l,y2[372+t>>2]=_,y2[320+t>>2]=13984,y2[368+t>>2]=y2[r+8>>2],y2[364+t>>2]=f,y2[356+t>>2]=y2[f+16>>2],H2[340+t>>2]=k,h=y2[(v=o+8|0)+4>>2],y2[(r=384+t|0)>>2]=y2[v>>2],y2[r+4>>2]=h,r=y2[o+4>>2],y2[376+t>>2]=y2[o>>2],y2[380+t>>2]=r,h=y2[(v=e+8|0)+4>>2],y2[(r=400+t|0)>>2]=y2[v>>2],y2[r+4>>2]=h,v=y2[e+4>>2],y2[(r=392+t|0)>>2]=y2[e>>2],y2[r+4>>2]=v,r=y2[A+4>>2],y2[(e=408+t|0)>>2]=y2[A>>2],y2[e+4>>2]=r,r=y2[(A=A+8|0)+4>>2],y2[(e=416+t|0)>>2]=y2[A>>2],y2[e+4>>2]=r,e=y2[o+52>>2],y2[(A=424+t|0)>>2]=y2[o+48>>2],y2[A+4>>2]=e,e=y2[s+4>>2],y2[(A=432+t|0)>>2]=y2[s>>2],y2[A+4>>2]=e,y2[360+t>>2]=y2[f+4>>2],y2[60+t>>2]=0,H2[56+t>>2]=g,H2[52+t>>2]=B,k<(H2[48+t>>2]=l)&&(H2[48+t>>2]=k),c>2]=c),u>2]=u),y2[12+t>>2]=0,H2[8+t>>2]=g,H2[4+t>>2]=B,(H2[t>>2]=l)>2]=k),B>2]=c),g>2]=u),N2[y2[y2[_>>2]+64>>2]](_,320+t|0,48+t|0,t));else if(31==(0|s))if(s=y2[_+72>>2],y2[24+t>>2]=f,y2[20+t>>2]=e,y2[16+t>>2]=A,y2[12+t>>2]=o,y2[8+t>>2]=_,y2[t>>2]=14008,y2[4+t>>2]=y2[r+8>>2],s){if(r=y2[s>>2]){for(u=H2[o+56>>2],D=H2[A+56>>2],c=H2[o+40>>2],k=H2[o+52>>2],R=H2[A+52>>2],g=H2[o+24>>2],B=H2[o+48>>2],I=H2[A+48>>2],l=H2[o+8>>2],d=H2[o+36>>2],Z=H2[o+20>>2],Q=H2[o+4>>2],G=H2[o+32>>2],F=H2[o+16>>2],w=H2[o>>2],Y=H2[e+56>>2],E=H2[e+52>>2],C=H2[e+48>>2],y2[320+t>>2]=r,C=j2(C-B),E=j2(E-k),Y=j2(Y-u),T=j2(j2(j2(l*C)+j2(g*E))+j2(c*Y)),B=j2(I-B),k=j2(R-k),m=c,c=j2(D-u),g=j2(j2(j2(l*B)+j2(g*k))+j2(m*c)),D=l=j2(T-g),m=j2(j2(j2(C*w)+j2(E*F))+j2(Y*G)),G=j2(j2(j2(B*w)+j2(k*F))+j2(c*G)),u=j2(m-G),B=j2(j2(j2(B*Q)+j2(k*Z))+j2(c*d)),c=j2(j2(j2(j2(C*Q)+j2(E*Z))+j2(Y*d))-B),l=j2(j2(1)/j2(K2(j2(j2(j2(u*u)+j2(c*c))+j2(l*l))))),k=j2(D*l),u=j2((d=u)*l),c=j2((m=c)*l),w=j2(j2(D*k)+j2(j2(d*u)+j2(m*c))),V=(48+t|0)+((A=(k=k==j2(0)?j2(0xde0b6b000000000):j2(j2(1)/k))>2],o=y2[(f=N)+20>>2],y2[i>>2]=y2[f+16>>2],y2[4+i>>2]=o,X=y2[(f=f+24|0)+4>>2],y2[(o=8+i|0)>>2]=y2[f>>2],y2[o+4>>2]=X,f=y2[N+4>>2],y2[48+t>>2]=y2[N>>2],y2[52+t>>2]=f,o=y2[(f=N+8|0)+4>>2],y2[56+t>>2]=y2[f>>2],y2[60+t>>2]=o,l=j2(c*j2(H2[x>>2]-B)),d=j2(u*j2(H2[M>>2]-G));e:if(!(d>2]-G)),(Q=j2(c*j2(H2[S>>2]-B)))>2]-g)))||(l=Z>2]-g)))j2(0)))){r:{f:{i:{a:{n:{b:{if(y2[N+40>>2]){if((0|e)<=(0|v)){e=A;break r}if((0|(o=s<<1))<=(0|s)){e=A;break f}if((0|o)<=(0|r)){e=A;break i}if(e=0,!s)break b;if(y2[6502]=y2[6502]+1,(r=q2(16+(s<<3|3)|0))&&(y2[(e=r+19&-16)-4>>2]=r),(0|s)<1)break b;for(f=e,v=A,r=s;;)if(y2[f>>2]=y2[v>>2],f=f+4|0,v=v+4|0,!(r=r-1|0))break;if(h)break n;break a}N2[y2[y2[t>>2]+12>>2]](t,N);break e}if(r=h,h=1,!r)break a;if(r=o,!A)break i}y2[6503]=y2[6503]+1,$2(y2[A-4>>2])}h=1,r=o}v2((A=s<<2)+e|0,0,A)}v=o-2|0,A=e,s=o}y2[e+b>>2]=y2[N+36>>2],y2[(_<<2)+e>>2]=y2[N+40>>2],e=_+1|0}if(!(_=e))break}h&&A&&(y2[6503]=y2[6503]+1,$2(y2[A-4>>2]))}}else if(!((0|(A=y2[_+24>>2]))<1))for(s=A-1|0,A=32,r=0;;){if(e=y2[_+32>>2]+A|0,f=y2[e+32>>2],y=H2[o+52>>2],T=H2[o+56>>2],G=H2[e+16>>2],F=H2[e+20>>2],w=H2[e+24>>2],u=H2[o+20>>2],c=H2[o+24>>2],C=H2[e-32>>2],E=H2[e-16>>2],Y=H2[e>>2],D=H2[e-28>>2],R=H2[e-12>>2],I=H2[e+4>>2],W=H2[e-24>>2],k=H2[o+36>>2],a=H2[e-8>>2],g=H2[o+40>>2],n=H2[e+8>>2],m=H2[o+48>>2],B=H2[o+8>>2],l=H2[o>>2],d=H2[o+4>>2],Z=H2[o+16>>2],Q=H2[o+32>>2],y2[380+t>>2]=0,y2[364+t>>2]=0,y2[348+t>>2]=0,y2[332+t>>2]=0,H2[360+t>>2]=j2(j2(W*Q)+j2(a*k))+j2(n*g),H2[356+t>>2]=j2(j2(D*Q)+j2(R*k))+j2(I*g),H2[352+t>>2]=j2(j2(C*Q)+j2(E*k))+j2(Y*g),H2[344+t>>2]=j2(j2(W*Z)+j2(a*u))+j2(n*c),H2[340+t>>2]=j2(j2(D*Z)+j2(R*u))+j2(I*c),H2[336+t>>2]=j2(j2(C*Z)+j2(E*u))+j2(Y*c),H2[328+t>>2]=j2(j2(l*W)+j2(d*a))+j2(B*n),H2[324+t>>2]=j2(j2(l*D)+j2(d*R))+j2(B*I),H2[320+t>>2]=j2(j2(C*l)+j2(E*d))+j2(Y*B),H2[376+t>>2]=T+j2(j2(j2(Q*G)+j2(k*F))+j2(g*w)),H2[372+t>>2]=y+j2(j2(j2(Z*G)+j2(u*F))+j2(c*w)),H2[368+t>>2]=m+j2(j2(j2(l*G)+j2(d*F))+j2(B*w)),y2[316+t>>2]=r,y2[312+t>>2]=-1,y2[304+t>>2]=y2[4+t>>2],y2[300+t>>2]=f,y2[296+t>>2]=0,y2[308+t>>2]=320+t,y2[52+t>>2]=1065353216,y2[56+t>>2]=0,y2[64+t>>2]=0,y2[76+t>>2]=r,y2[68+t>>2]=f,y2[48+t>>2]=14044,e=y2[24+t>>2],y2[72+t>>2]=e,y2[52+t>>2]=y2[e+4>>2],y2[64+t>>2]=y2[e+16>>2],S1(y2[16+t>>2],y2[20+t>>2],296+t|0,48+t|0),(0|r)==(0|s))break A;r=r+1|0,A=A+80|0,o=y2[12+t>>2],_=y2[8+t>>2]}L2=832+t|0}function J1(A,e){return A=y2[(A|=0)+24>>2],0|N2[y2[y2[A>>2]+8>>2]](A,e|=0)}function M1(A,e){return 1}function X1(A,e){0}function y1(A,e,r,f){N2[y2[y2[(A|=0)>>2]+8>>2]](A,e|=0,r|=0,f|=0)}function U1(A,e,r,f,i,a){var n,V,x,p,S,J,b,t=0,o=j2(0),c=0,k=j2(0),u=j2(0),l=j2(0),s=j2(0),v=0,B=j2(0),d=j2(0),_=j2(0),g=j2(0),Z=j2(0),C=j2(0),w=j2(0),E=j2(0),Q=0,h=0,G=j2(0),F=j2(0),D=j2(0),Y=j2(0),m=j2(0),N=j2(0),R=j2(0),I=j2(0),W=j2(0),M=0,X=0,T=j2(0),y=j2(0),U=0,H=0,P=0,j=0;j2(0),j2(0),j2(0);L2=b=L2-672|0,t=y2[f+12>>2],n=y2[f+4>>2];A:if((0|(M=y2[n+4>>2]))<=19)H2[644+b>>2]=a,y2[640+b>>2]=0,y2[472+b>>2]=13956,y2[636+b>>2]=y2[i+4>>2],X2[444+b|0]=0,y2[420+b>>2]=953267991,y2[32+b>>2]=13396,y2[668+b>>2]=0,y2[664+b>>2]=n,y2[660+b>>2]=A,y2[648+b>>2]=13172,y2[656+b>>2]=32+b,y2[652+b>>2]=112+b,_1(648+b|0,e,r,t,t,472+b|0)&&(a=H2[604+b>>2],o=H2[608+b>>2],k=H2[612+b>>2],(u=j2(j2(j2(a*a)+j2(o*o))+j2(k*k)))>j2(9999999747378752e-20))&&(l=H2[636+b>>2])>2]&&(s=k,k=j2(j2(1)/j2(K2(u))),H2[612+b>>2]=s*k,H2[608+b>>2]=o*k,H2[604+b>>2]=a*k,y2[56+b>>2]=n,r=y2[(e=628+b|0)+4>>2],y2[(A=96+b|0)>>2]=y2[e>>2],y2[A+4>>2]=r,t=y2[(r=(A=604+b|0)+8|0)+4>>2],y2[(e=80+b|0)>>2]=y2[r>>2],y2[e+4>>2]=t,e=y2[624+b>>2],y2[88+b>>2]=y2[620+b>>2],y2[92+b>>2]=e,H2[104+b>>2]=l,e=y2[A+4>>2],y2[72+b>>2]=y2[A>>2],y2[76+b>>2]=e,y2[64+b>>2]=y2[f+8>>2],y2[68+b>>2]=48+b,j2(N2[y2[y2[i>>2]+12>>2]](i,b+64|0,1)));else if((X=M-21|0)>>>0<=8){e:if(!(7>>0)){r:switch(X-1|0){default:if(o=H2[t+20>>2],k=H2[t+36>>2],u=H2[(M=t+24|0)>>2],C=H2[t+52>>2],g=H2[(X=t+56|0)>>2],l=H2[(Q=t+40|0)>>2],s=H2[t+32>>2],w=H2[t+16>>2],_=H2[t>>2],d=H2[t+4>>2],Z=H2[t+48>>2],B=H2[t+8>>2],y2[76+b>>2]=0,C=j2(-C),T=j2(j2(j2(u*C)-j2(B*Z))-j2(l*g)),E=H2[e+48>>2],G=H2[e+52>>2],F=H2[(h=e+56|0)>>2],H2[72+b>>2]=T+j2(j2(j2(B*E)+j2(u*G))+j2(l*F)),y=j2(j2(j2(o*C)-j2(d*Z))-j2(k*g)),H2[68+b>>2]=y+j2(j2(j2(d*E)+j2(o*G))+j2(k*F)),m=j2(j2(j2(w*C)-j2(_*Z))-j2(s*g)),H2[64+b>>2]=m+j2(j2(j2(_*E)+j2(w*G))+j2(s*F)),g=H2[r+52>>2],Z=H2[(H=r+56|0)>>2],C=H2[r+48>>2],y2[500+b>>2]=0,E=H2[r+8>>2],G=H2[(P=r+24|0)>>2],F=H2[(j=r+40|0)>>2],H2[512+b>>2]=j2(j2(B*E)+j2(u*G))+j2(l*F),N=H2[r+4>>2],D=H2[r+20>>2],W=H2[r+36>>2],H2[508+b>>2]=j2(j2(B*N)+j2(u*D))+j2(l*W),H2[496+b>>2]=j2(j2(d*E)+j2(o*G))+j2(k*F),H2[492+b>>2]=j2(j2(d*N)+j2(o*D))+j2(k*W),y2[484+b>>2]=0,Y=H2[r>>2],R=H2[r+16>>2],I=H2[r+32>>2],H2[504+b>>2]=j2(j2(B*Y)+j2(u*R))+j2(l*I),H2[488+b>>2]=j2(j2(d*Y)+j2(o*R))+j2(k*I),H2[480+b>>2]=j2(j2(_*E)+j2(w*G))+j2(s*F),H2[476+b>>2]=j2(j2(_*N)+j2(w*D))+j2(s*W),H2[472+b>>2]=j2(j2(_*Y)+j2(w*R))+j2(s*I),y2[532+b>>2]=0,y2[(c=524+b|0)>>2]=0,y2[c+4>>2]=0,y2[(c=516+b|0)>>2]=0,y2[c+4>>2]=0,f=y2[f+8>>2],E=j2(N2[y2[y2[n>>2]+48>>2]](n)),U=y2[(v=e+8|0)+4>>2],y2[(c=128+b|0)>>2]=y2[v>>2],y2[c+4>>2]=U,v=y2[e+20>>2],y2[(c=136+b|0)>>2]=y2[e+16>>2],y2[c+4>>2]=v,U=y2[(v=e+24|0)+4>>2],y2[(c=144+b|0)>>2]=y2[v>>2],y2[c+4>>2]=U,v=y2[e+36>>2],y2[(c=152+b|0)>>2]=y2[e+32>>2],y2[c+4>>2]=v,U=y2[(v=e+40|0)+4>>2],y2[(c=160+b|0)>>2]=y2[v>>2],y2[c+4>>2]=U,v=y2[e+52>>2],y2[(c=168+b|0)>>2]=y2[e+48>>2],y2[c+4>>2]=v,v=y2[h+4>>2],y2[(c=176+b|0)>>2]=y2[h>>2],y2[c+4>>2]=v,c=y2[r+12>>2],y2[(h=192+b|0)>>2]=y2[r+8>>2],y2[h+4>>2]=c,y2[116+b>>2]=A,y2[112+b>>2]=13548,h=y2[e+4>>2],y2[120+b>>2]=y2[e>>2],y2[124+b>>2]=h,e=y2[r+4>>2],y2[184+b>>2]=y2[r>>2],y2[188+b>>2]=e,h=y2[r+36>>2],y2[(e=216+b|0)>>2]=y2[r+32>>2],y2[e+4>>2]=h,h=y2[P+4>>2],y2[(e=208+b|0)>>2]=y2[P>>2],y2[e+4>>2]=h,h=y2[r+20>>2],y2[(e=200+b|0)>>2]=y2[r+16>>2],y2[e+4>>2]=h,h=y2[j+4>>2],y2[(e=224+b|0)>>2]=y2[j>>2],y2[e+4>>2]=h,h=y2[r+52>>2],y2[(e=232+b|0)>>2]=y2[r+48>>2],y2[e+4>>2]=h,r=y2[H+4>>2],y2[(e=240+b|0)>>2]=y2[H>>2],y2[e+4>>2]=r,r=y2[t+12>>2],y2[(e=256+b|0)>>2]=y2[t+8>>2],y2[e+4>>2]=r,e=y2[t+4>>2],y2[248+b>>2]=y2[t>>2],y2[252+b>>2]=e,r=y2[M+4>>2],y2[(e=272+b|0)>>2]=y2[M>>2],y2[e+4>>2]=r,r=y2[t+20>>2],y2[(e=264+b|0)>>2]=y2[t+16>>2],y2[e+4>>2]=r,r=y2[Q+4>>2],y2[(e=288+b|0)>>2]=y2[Q>>2],y2[e+4>>2]=r,r=y2[t+36>>2],y2[(e=280+b|0)>>2]=y2[t+32>>2],y2[e+4>>2]=r,r=y2[X+4>>2],y2[(e=304+b|0)>>2]=y2[X>>2],y2[e+4>>2]=r,r=y2[t+52>>2],y2[(e=296+b|0)>>2]=y2[t+48>>2],y2[e+4>>2]=r,H2[316+b>>2]=E,y2[328+b>>2]=f,y2[332+b>>2]=n,y2[112+b>>2]=14988,H2[320+b>>2]=a,y2[324+b>>2]=i,y2[312+b>>2]=y2[i+4>>2],N2[y2[y2[A>>2]+8>>2]](A,472+b|0,648+b|0,48+b|0),y2[32+b>>2]=13024,y2[36+b>>2]=y2[n+56>>2],a=j2(T+j2(j2(j2(B*C)+j2(u*g))+j2(l*Z))),o=j2(y+j2(j2(j2(d*C)+j2(o*g))+j2(k*Z))),k=j2(m+j2(j2(j2(_*C)+j2(w*g))+j2(s*Z))),y2[40+b>>2]=112+b,A=y2[n+60>>2],U2[A+60|0]){s1(A,32+b|0,b+64|0,k,o,a,648+b|0,48+b|0,y2[A+56>>2]);break A}l1(A,32+b|0,b+64|0,k,o,a,648+b|0,48+b|0);break A;case 0:case 1:case 2:case 3:case 4:case 5:break e;case 6:break r;}if(H2[284+b>>2]=a,y2[280+b>>2]=0,y2[112+b>>2]=13956,y2[276+b>>2]=y2[i+4>>2],y2[84+b>>2]=n,y2[80+b>>2]=0,y2[76+b>>2]=A,y2[68+b>>2]=0,y2[72+b>>2]=0,y2[64+b>>2]=13172,!_1(b+64|0,e,r,t,t,112+b|0))break A;if(a=H2[244+b>>2],o=H2[248+b>>2],k=H2[252+b>>2],!((u=j2(j2(j2(a*a)+j2(o*o))+j2(k*k)))>j2(9999999747378752e-20)))break A;if(!((l=H2[276+b>>2])>2]))break A;s=k,k=j2(j2(1)/j2(K2(u))),H2[252+b>>2]=s*k,H2[248+b>>2]=o*k,H2[244+b>>2]=a*k,y2[656+b>>2]=n,r=y2[(e=268+b|0)+4>>2],y2[(A=504+b|0)>>2]=y2[e>>2],y2[A+4>>2]=r,t=y2[(r=(A=244+b|0)+8|0)+4>>2],y2[(e=488+b|0)>>2]=y2[r>>2],y2[e+4>>2]=t,e=y2[264+b>>2],y2[496+b>>2]=y2[260+b>>2],y2[500+b>>2]=e,H2[512+b>>2]=l,e=y2[A+4>>2],y2[480+b>>2]=y2[A>>2],y2[484+b>>2]=e,y2[472+b>>2]=y2[f+8>>2],y2[476+b>>2]=648+b,j2(N2[y2[y2[i>>2]+12>>2]](i,472+b|0,1));break A}E=H2[r+52>>2],G=H2[(M=r+56|0)>>2],J=H2[t+52>>2],k=H2[(X=t+56|0)>>2],w=H2[e+52>>2],F=H2[(Q=e+56|0)>>2],l=H2[t+20>>2],s=H2[t+36>>2],B=H2[(h=t+24|0)>>2],g=H2[(H=t+40|0)>>2],N=H2[r+48>>2],D=H2[t+48>>2],W=H2[e+48>>2],u=H2[t+32>>2],_=H2[t>>2],d=H2[t+16>>2],Z=H2[t+4>>2],C=H2[t+8>>2],y2[500+b>>2]=0,o=H2[r+8>>2],Y=H2[(P=r+24|0)>>2],R=H2[(j=r+40|0)>>2],H2[512+b>>2]=j2(j2(C*o)+j2(B*Y))+j2(g*R),I=H2[r+4>>2],T=H2[r+20>>2],y=H2[r+36>>2],H2[508+b>>2]=j2(j2(C*I)+j2(B*T))+j2(g*y),H2[496+b>>2]=j2(j2(Z*o)+j2(l*Y))+j2(s*R),H2[492+b>>2]=j2(j2(Z*I)+j2(l*T))+j2(s*y),y2[484+b>>2]=0,m=H2[r>>2],V=H2[r+16>>2],x=H2[r+32>>2],H2[504+b>>2]=j2(j2(C*m)+j2(B*V))+j2(g*x),H2[488+b>>2]=j2(j2(Z*m)+j2(l*V))+j2(s*x),H2[480+b>>2]=j2(j2(_*o)+j2(d*Y))+j2(u*R),H2[476+b>>2]=j2(j2(_*I)+j2(d*T))+j2(u*y),H2[472+b>>2]=j2(j2(_*m)+j2(d*V))+j2(u*x),y2[532+b>>2]=0,y2[(c=524+b|0)>>2]=0,y2[c+4>>2]=0,y2[(c=516+b|0)>>2]=0,y2[c+4>>2]=0,f=y2[f+8>>2],o=j2(N2[y2[y2[n>>2]+48>>2]](n)),U=y2[(v=e+8|0)+4>>2],y2[(c=128+b|0)>>2]=y2[v>>2],y2[c+4>>2]=U,v=y2[e+20>>2],y2[(c=136+b|0)>>2]=y2[e+16>>2],y2[c+4>>2]=v,U=y2[(v=e+24|0)+4>>2],y2[(c=144+b|0)>>2]=y2[v>>2],y2[c+4>>2]=U,v=y2[e+36>>2],y2[(c=152+b|0)>>2]=y2[e+32>>2],y2[c+4>>2]=v,U=y2[(v=e+40|0)+4>>2],y2[(c=160+b|0)>>2]=y2[v>>2],y2[c+4>>2]=U,v=y2[e+52>>2],y2[(c=168+b|0)>>2]=y2[e+48>>2],y2[c+4>>2]=v,v=y2[Q+4>>2],y2[(c=176+b|0)>>2]=y2[Q>>2],y2[c+4>>2]=v,c=y2[r+12>>2],y2[(Q=192+b|0)>>2]=y2[r+8>>2],y2[Q+4>>2]=c,y2[116+b>>2]=A,y2[112+b>>2]=13548,Q=y2[e+4>>2],y2[120+b>>2]=y2[e>>2],y2[124+b>>2]=Q,e=y2[r+4>>2],y2[184+b>>2]=y2[r>>2],y2[188+b>>2]=e,Q=y2[r+36>>2],y2[(e=216+b|0)>>2]=y2[r+32>>2],y2[e+4>>2]=Q,Q=y2[P+4>>2],y2[(e=208+b|0)>>2]=y2[P>>2],y2[e+4>>2]=Q,Q=y2[r+20>>2],y2[(e=200+b|0)>>2]=y2[r+16>>2],y2[e+4>>2]=Q,Q=y2[j+4>>2],y2[(e=224+b|0)>>2]=y2[j>>2],y2[e+4>>2]=Q,Q=y2[r+52>>2],y2[(e=232+b|0)>>2]=y2[r+48>>2],y2[e+4>>2]=Q,r=y2[M+4>>2],y2[(e=240+b|0)>>2]=y2[M>>2],y2[e+4>>2]=r,r=y2[t+12>>2],y2[(e=256+b|0)>>2]=y2[t+8>>2],y2[e+4>>2]=r,e=y2[t+4>>2],y2[248+b>>2]=y2[t>>2],y2[252+b>>2]=e,r=y2[h+4>>2],y2[(e=272+b|0)>>2]=y2[h>>2],y2[e+4>>2]=r,r=y2[t+20>>2],y2[(e=264+b|0)>>2]=y2[t+16>>2],y2[e+4>>2]=r,r=y2[H+4>>2],y2[(e=288+b|0)>>2]=y2[H>>2],y2[e+4>>2]=r,r=y2[t+36>>2],y2[(e=280+b|0)>>2]=y2[t+32>>2],y2[e+4>>2]=r,r=y2[X+4>>2],y2[(e=304+b|0)>>2]=y2[X>>2],y2[e+4>>2]=r,r=y2[t+52>>2],y2[(e=296+b|0)>>2]=y2[t+48>>2],y2[e+4>>2]=r,H2[316+b>>2]=o,y2[328+b>>2]=f,y2[332+b>>2]=n,y2[112+b>>2]=15012,H2[320+b>>2]=a,y2[324+b>>2]=i,y2[312+b>>2]=y2[i+4>>2],N2[y2[y2[A>>2]+8>>2]](A,472+b|0,b+64|0,648+b|0),y2[60+b>>2]=0,Y=j2(-J),R=j2(j2(j2(B*Y)-j2(C*D))-j2(g*k)),a=j2(R+j2(j2(j2(C*W)+j2(B*w))+j2(g*F))),H2[56+b>>2]=a,I=j2(j2(j2(l*Y)-j2(Z*D))-j2(s*k)),o=j2(I+j2(j2(j2(Z*W)+j2(l*w))+j2(s*F))),H2[52+b>>2]=o,D=j2(j2(j2(d*Y)-j2(_*D))-j2(u*k)),k=j2(D+j2(j2(j2(_*W)+j2(d*w))+j2(u*F))),w=H2[48+b>>2]=k,(u=j2(D+j2(j2(j2(_*N)+j2(d*E))+j2(u*G))))>2]=u),_=o,(l=j2(I+j2(j2(j2(Z*N)+j2(l*E))+j2(s*G))))>2]=l),d=a,(s=j2(R+j2(j2(j2(C*N)+j2(B*E))+j2(g*G))))>2]=s),y2[44+b>>2]=0,H2[40+b>>2]=a,H2[36+b>>2]=o,(H2[32+b>>2]=k)>2]=u),o>2]=l),a>2]=s),H2[48+b>>2]=H2[64+b>>2]+w,H2[52+b>>2]=H2[68+b>>2]+_,H2[56+b>>2]=H2[72+b>>2]+d,H2[32+b>>2]=H2[648+b>>2]+k,H2[36+b>>2]=H2[652+b>>2]+o,H2[40+b>>2]=H2[656+b>>2]+a,N2[y2[y2[n>>2]+64>>2]](n,112+b|0,48+b|0,32+b|0)}else if(31==(0|M)){if(m=H2[(M=t+52|0)>>2],g=H2[(X=t+56|0)>>2],Z=H2[e+52>>2],C=H2[e+56>>2],o=H2[(Q=t+20|0)>>2],k=H2[(h=t+36|0)>>2],E=H2[e+20>>2],G=H2[e+36>>2],F=H2[e+24>>2],u=H2[(H=t+24|0)>>2],N=H2[e+40>>2],l=H2[(P=t+40|0)>>2],s=H2[t+32>>2],w=H2[t>>2],_=H2[t+16>>2],D=H2[e+32>>2],W=H2[e>>2],Y=H2[e+16>>2],R=H2[t+48>>2],I=H2[e+48>>2],d=H2[t+4>>2],T=H2[e+4>>2],y=H2[e+8>>2],B=H2[t+8>>2],y2[(j=172+b|0)>>2]=0,y2[(c=156+b|0)>>2]=0,y2[(v=140+b|0)>>2]=0,H2[(U=152+b|0)>>2]=j2(j2(B*y)+j2(u*F))+j2(l*N),H2[(V=148+b|0)>>2]=j2(j2(B*T)+j2(u*E))+j2(l*G),H2[(x=136+b|0)>>2]=j2(j2(d*y)+j2(o*F))+j2(k*N),H2[(J=132+b|0)>>2]=j2(j2(d*T)+j2(o*E))+j2(k*G),p=168+b|0,m=j2(-m),H2[p>>2]=j2(j2(j2(u*m)-j2(B*R))-j2(l*g))+j2(j2(j2(B*I)+j2(u*Z))+j2(l*C)),H2[(S=164+b|0)>>2]=j2(j2(j2(o*m)-j2(d*R))-j2(k*g))+j2(j2(j2(d*I)+j2(o*Z))+j2(k*C)),y2[124+b>>2]=0,H2[144+b>>2]=j2(j2(B*W)+j2(u*Y))+j2(l*D),H2[128+b>>2]=j2(j2(d*W)+j2(o*Y))+j2(k*D),H2[120+b>>2]=j2(j2(w*y)+j2(_*F))+j2(s*N),H2[160+b>>2]=j2(j2(j2(_*m)-j2(w*R))-j2(s*g))+j2(j2(j2(w*I)+j2(_*Z))+j2(s*C)),H2[116+b>>2]=j2(j2(w*T)+j2(_*E))+j2(s*G),H2[112+b>>2]=j2(j2(w*W)+j2(_*Y))+j2(s*D),N2[y2[y2[A>>2]+8>>2]](A,112+b|0,48+b|0,32+b|0),m=H2[M>>2],g=H2[X>>2],Z=H2[r+52>>2],C=H2[r+56>>2],o=H2[Q>>2],k=H2[h>>2],E=H2[r+20>>2],G=H2[r+36>>2],F=H2[r+24>>2],u=H2[H>>2],N=H2[r+40>>2],l=H2[P>>2],s=H2[t+32>>2],w=H2[t>>2],_=H2[t+16>>2],D=H2[r+32>>2],W=H2[r>>2],Y=H2[r+16>>2],R=H2[t+48>>2],I=H2[r+48>>2],d=H2[t+4>>2],T=H2[r+4>>2],y=H2[r+8>>2],B=H2[t+8>>2],y2[j>>2]=0,y2[c>>2]=0,y2[v>>2]=0,H2[U>>2]=j2(j2(B*y)+j2(u*F))+j2(l*N),H2[V>>2]=j2(j2(B*T)+j2(u*E))+j2(l*G),H2[x>>2]=j2(j2(d*y)+j2(o*F))+j2(k*N),H2[J>>2]=j2(j2(d*T)+j2(o*E))+j2(k*G),m=j2(-m),H2[p>>2]=j2(j2(j2(u*m)-j2(B*R))-j2(l*g))+j2(j2(j2(B*I)+j2(u*Z))+j2(l*C)),H2[S>>2]=j2(j2(j2(o*m)-j2(d*R))-j2(k*g))+j2(j2(j2(d*I)+j2(o*Z))+j2(k*C)),y2[124+b>>2]=0,H2[144+b>>2]=j2(j2(B*W)+j2(u*Y))+j2(l*D),H2[128+b>>2]=j2(j2(d*W)+j2(o*Y))+j2(k*D),H2[120+b>>2]=j2(j2(w*y)+j2(_*F))+j2(s*N),H2[160+b>>2]=j2(j2(j2(_*m)-j2(w*R))-j2(s*g))+j2(j2(j2(w*I)+j2(_*Z))+j2(s*C)),H2[116+b>>2]=j2(j2(w*T)+j2(_*E))+j2(s*G),H2[112+b>>2]=j2(j2(w*W)+j2(_*Y))+j2(s*D),N2[y2[y2[A>>2]+8>>2]](A,112+b|0,16+b|0,b),(o=H2[16+b>>2])>2]&&(H2[48+b>>2]=o),(o=H2[20+b>>2])>2]&&(H2[52+b>>2]=o),(o=H2[24+b>>2])>2]&&(H2[56+b>>2]=o),(o=H2[28+b>>2])>2]&&(H2[60+b>>2]=o),(o=H2[b>>2])>H2[32+b>>2]&&(H2[32+b>>2]=o),(o=H2[4+b>>2])>H2[36+b>>2]&&(H2[36+b>>2]=o),(o=H2[8+b>>2])>H2[40+b>>2]&&(H2[40+b>>2]=o),(o=H2[12+b>>2])>H2[44+b>>2]&&(H2[44+b>>2]=o),y2[504+b>>2]=i,y2[500+b>>2]=t,H2[492+b>>2]=a,y2[488+b>>2]=r,y2[484+b>>2]=e,y2[480+b>>2]=A,y2[476+b>>2]=f,y2[472+b>>2]=15036,y2[496+b>>2]=n,!(A=y2[n+72>>2])){if(y2[n+24>>2]<1)break A;for(A=32,e=1;;){if(r=y2[n+32>>2]+A|0,f=y2[r+32>>2],a=H2[r+16>>2],o=H2[r+20>>2],k=H2[r+24>>2],u=H2[r-32>>2],l=H2[r-16>>2],s=H2[r>>2],w=H2[r-28>>2],_=H2[r-12>>2],d=H2[r+4>>2],B=H2[r-24>>2],g=H2[r-8>>2],Z=H2[r+8>>2],y2[172+b>>2]=0,y2[156+b>>2]=0,y2[140+b>>2]=0,y2[124+b>>2]=0,C=H2[t+32>>2],E=H2[t+36>>2],G=H2[t+40>>2],H2[152+b>>2]=j2(j2(B*C)+j2(g*E))+j2(Z*G),H2[148+b>>2]=j2(j2(w*C)+j2(_*E))+j2(d*G),H2[144+b>>2]=j2(j2(u*C)+j2(l*E))+j2(s*G),F=H2[t+16>>2],N=H2[t+20>>2],D=H2[t+24>>2],H2[136+b>>2]=j2(j2(B*F)+j2(g*N))+j2(Z*D),H2[132+b>>2]=j2(j2(w*F)+j2(_*N))+j2(d*D),H2[128+b>>2]=j2(j2(u*F)+j2(l*N))+j2(s*D),Y=B,B=H2[t>>2],m=g,g=H2[t+4>>2],R=Z,Z=H2[t+8>>2],H2[120+b>>2]=j2(j2(Y*B)+j2(m*g))+j2(R*Z),H2[116+b>>2]=j2(j2(w*B)+j2(_*g))+j2(d*Z),H2[112+b>>2]=j2(j2(u*B)+j2(l*g))+j2(s*Z),H2[168+b>>2]=j2(j2(j2(a*C)+j2(o*E))+j2(k*G))+H2[t+56>>2],H2[164+b>>2]=j2(j2(j2(a*F)+j2(o*N))+j2(k*D))+H2[t+52>>2],H2[160+b>>2]=j2(j2(j2(a*B)+j2(o*g))+j2(k*Z))+H2[t+48>>2],y2[68+b>>2]=1065353216,y2[80+b>>2]=0,y2[72+b>>2]=1,y2[76+b>>2]=-1,y2[92+b>>2]=r=e-1|0,i=y2[504+b>>2],y2[88+b>>2]=i,y2[84+b>>2]=f,y2[64+b>>2]=15072,y2[68+b>>2]=y2[i+4>>2],y2[668+b>>2]=r,y2[664+b>>2]=-1,y2[652+b>>2]=f,r=y2[476+b>>2],y2[648+b>>2]=r,y2[656+b>>2]=y2[r+8>>2],y2[660+b>>2]=112+b,U1(y2[480+b>>2],y2[484+b>>2],y2[488+b>>2],648+b|0,b+64|0,H2[492+b>>2]),y2[n+24>>2]<=(0|e))break A;A=A+80|0,e=e+1|0,t=y2[500+b>>2]}}f=y2[(r=56+b|0)+4>>2],y2[(e=120+b|0)>>2]=y2[r>>2],y2[e+4>>2]=f,f=y2[(r=40+b|0)+4>>2],y2[(e=136+b|0)>>2]=y2[r>>2],y2[e+4>>2]=f,e=y2[52+b>>2],y2[112+b>>2]=y2[48+b>>2],y2[116+b>>2]=e,e=y2[36+b>>2],y2[128+b>>2]=y2[32+b>>2],y2[132+b>>2]=e,H1(y2[A>>2],112+b|0,472+b|0)}L2=672+b|0}function H1(A,e,r){var f,i,a,n,b,t,o,c=0,k=0,u=0,l=0,s=0,v=0,B=0,d=0;j2(0),j2(0),j2(0),j2(0),j2(0),j2(0);if(L2=o=L2-256|0,A){for(f=H2[e+24>>2],i=H2[e+20>>2],a=H2[e+16>>2],n=H2[e+8>>2],b=H2[e+4>>2],t=H2[e>>2],y2[o>>2]=A,u=64,A=o,e=1;;){A:{e:{r:{if(v=y2[(d=(c=e-1|0)<<2)+A>>2],H2[v>>2]<=a&&H2[v+16>>2]>=t&&H2[v+4>>2]<=i&&H2[v+20>>2]>=b&&H2[v+8>>2]<=f&&H2[v+24>>2]>=n){if(y2[v+40>>2]){if((0|c)!=(0|u))break r;if((0|(k=u?u<<1:1))<(0|e))break r;c=0,k&&(y2[6502]=y2[6502]+1,s=q2(16+(k<<2|3)|0))&&(y2[(c=s+19&-16)-4>>2]=s);f:{if(2<=(0|e)){for(B=c,s=A;;)if(y2[B>>2]=y2[s>>2],B=B+4|0,s=s+4|0,!(u=u-1|0))break;if(l)break f;l=1;break e}if(!A){l=1;break e}if(!l){l=1;break e}}y2[6503]=y2[6503]+(l=1),$2(y2[A-4>>2]);break e}N2[y2[y2[r>>2]+12>>2]](r,v)}e=c;break A}k=u,c=A}y2[c+d>>2]=y2[v+36>>2];e:if((0|e)!=(0|k))u=k,A=c;else if((0|(u=e?e<<1:1))<=(0|e))u=e,A=c;else{A=0,u&&(y2[6502]=y2[6502]+1,k=q2(16+(u<<2|3)|0))&&(y2[(A=k+19&-16)-4>>2]=k);r:{if(1<=(0|e)){for(B=A,k=c,s=e;;)if(y2[B>>2]=y2[k>>2],B=B+4|0,k=k+4|0,!(s=s-1|0))break;if(l)break r;l=1;break e}if(!c){l=1;break e}if(!l){l=1;break e}}y2[6503]=y2[6503]+(l=1),$2(y2[c-4>>2])}y2[(e<<2)+A>>2]=y2[v+40>>2],e=e+1|0}if(!(0<(0|e)))break}A&&l&&(y2[6503]=y2[6503]+1,$2(y2[A-4>>2]))}L2=256+o|0}function P1(A,e,r,f,i,a){A|=0,e|=0,r|=0,f=j2(f),i|=0;var n,b,t;return y2[52+(L2=t=L2+-64|0)>>2]=a|=0,y2[48+t>>2]=i,y2[56+t>>2]=y2[A+220>>2],i=y2[A+212>>2],H2[i+4>>2]>=f&&(b=y2[4+(n=r+8|0)>>2],y2[(a=32+t|0)>>2]=y2[n>>2],y2[a+4>>2]=b,b=y2[4+(n=e+8|0)>>2],y2[(a=16+t|0)>>2]=y2[n>>2],y2[a+4>>2]=b,a=y2[r+4>>2],y2[24+t>>2]=y2[r>>2],y2[28+t>>2]=a,r=y2[e+4>>2],y2[8+t>>2]=y2[e>>2],y2[12+t>>2]=r,H2[40+t>>2]=f,y2[t>>2]=y2[A+216>>2],y2[4+t>>2]=48+t,f=j2(N2[y2[y2[i>>2]+12>>2]](i,t,1))),L2=t+64|0,j2(f)}function j1(A,e,r,f,i,a){j2(0);var n,b,t,o,c,k,u,l,s,v,B,d,_,g,Z,C,w,E,Q,h,G,F,D,Y=0,m=0;j2(0),j2(0),j2(0),j2(0),j2(0),j2(0),j2(0),j2(0),j2(0),j2(0),j2(0),j2(0);L2=D=L2-368|0,Y=y2[4+(o=r+8|0)>>2],y2[(l=312+D|0)>>2]=y2[(m=o)>>2],y2[4+l>>2]=Y,c=y2[4+(l=r+24|0)>>2],y2[(m=328+D|0)>>2]=y2[(Y=l)>>2],y2[4+m>>2]=c,k=y2[4+(m=r+40|0)>>2],y2[(Y=344+D|0)>>2]=y2[m>>2],y2[4+Y>>2]=k,C=y2[4+(Y=r+56|0)>>2],y2[(c=360+D|0)>>2]=y2[Y>>2],y2[4+c>>2]=C,d=y2[4+(c=f+8|0)>>2],y2[(k=248+D|0)>>2]=y2[c>>2],y2[4+k>>2]=d,k=y2[r+4>>2],y2[304+D>>2]=y2[r>>2],y2[308+D>>2]=k,k=y2[r+20>>2],y2[320+D>>2]=y2[r+16>>2],y2[324+D>>2]=k,k=y2[r+36>>2],y2[336+D>>2]=y2[r+32>>2],y2[340+D>>2]=k,k=y2[r+52>>2],y2[352+D>>2]=y2[r+48>>2],y2[356+D>>2]=k,k=y2[f+4>>2],y2[240+D>>2]=y2[f>>2],y2[244+D>>2]=k,b=y2[4+(k=f+24|0)>>2],y2[(C=264+D|0)>>2]=y2[k>>2],y2[4+C>>2]=b,E=y2[4+(C=f+40|0)>>2],y2[(d=280+D|0)>>2]=y2[C>>2],y2[4+d>>2]=E,Q=y2[4+(d=f+56|0)>>2],y2[(b=296+D|0)>>2]=y2[d>>2],y2[4+b>>2]=Q,b=y2[f+20>>2],y2[256+D>>2]=y2[f+16>>2],y2[260+D>>2]=b,b=y2[f+36>>2],y2[272+D>>2]=y2[f+32>>2],y2[276+D>>2]=b,b=y2[f+52>>2],y2[288+D>>2]=y2[f+48>>2],y2[292+D>>2]=b,g1(304+D|0,240+D|0,8+D|0,224+D|0),h=H2[16+D>>2],F=H2[8+D>>2],G=H2[12+D>>2],g=H2[224+D>>2],y2[(b=D+64|0)>>2]=0,y2[4+b>>2]=0,y2[(b=56+D|0)>>2]=0,w1(304+D|(y2[4+b>>2]=0),224+D|0),y2[(b=52+D|0)>>2]=0,y2[(E=36+D|0)>>2]=0,n=H2[224+D>>2],t=H2[228+D>>2],u=H2[232+D>>2],s=H2[236+D>>2],v=j2(j2(2)/j2(j2(j2(j2(n*n)+j2(t*t))+j2(u*u))+j2(s*s))),Z=j2(u*v),_=j2(t*Z),B=j2(n*v),w=j2(s*B),H2[44+D>>2]=_+w,H2[(Q=32+D|0)>>2]=_-w,_=j2(n*B),t=j2((B=t)*v),v=j2(B*t),H2[48+D>>2]=j2(1)-j2(_+v),u=j2(u*Z),H2[28+D>>2]=j2(1)-j2(_+u),y2[20+D>>2]=0,_=j2(n*Z),B=j2(s*t),H2[40+D>>2]=_-B,n=j2(n*t),t=j2(s*Z),H2[24+D>>2]=n+t,H2[16+D>>2]=_+B,H2[12+D>>2]=n-t,H2[8+D>>2]=j2(1)-j2(v+u),N2[y2[y2[e>>2]+8>>2]](e,8+D|0,224+D|0,208+D|0),t=H2[208+D>>2],s=H2[212+D>>2],u=H2[216+D>>2],v=H2[224+D>>2],Z=H2[228+D>>2],n=H2[232+D>>2],_=j2(N2[y2[y2[e>>2]+16>>2]](e)),y2[220+D>>2]=0,y2[236+D>>2]=0,B=j2(n+j2(0)),n=j2(F*g),w=j2(n*n),n=j2(g*G),w=j2(w+j2(n*n)),n=j2(g*h),n=j2(_*j2(K2(j2(w+j2(n*n))))),H2[232+D>>2]=B-n,H2[228+D>>2]=j2(Z+j2(0))-n,H2[224+D>>2]=j2(v+j2(0))-n,H2[216+D>>2]=n+u,H2[212+D>>2]=n+s,H2[208+D>>2]=n+t,F=y2[4+o>>2],y2[b>>2]=y2[o>>2],y2[4+b>>2]=F,b=y2[r+20>>2],y2[(o=60+D|0)>>2]=y2[r+16>>2],y2[4+o>>2]=b,b=y2[4+l>>2],y2[(o=68+D|0)>>2]=y2[l>>2],y2[4+o>>2]=b,l=y2[r+36>>2],y2[(o=76+D|0)>>2]=y2[r+32>>2],y2[4+o>>2]=l,l=y2[4+m>>2],y2[(o=84+D|0)>>2]=y2[m>>2],y2[4+o>>2]=l,m=y2[r+52>>2],y2[(o=92+D|0)>>2]=y2[r+48>>2],y2[4+o>>2]=m,b=y2[4+Y>>2],y2[(m=l=100+D|0)>>2]=y2[Y>>2],y2[4+m>>2]=b,Y=y2[4+c>>2],y2[(m=116+D|0)>>2]=y2[c>>2],y2[4+m>>2]=Y,y2[8+D>>2]=15892,m=y2[r+4>>2],y2[44+D>>2]=y2[r>>2],y2[48+D>>2]=m,r=y2[f+4>>2],y2[108+D>>2]=y2[f>>2],y2[112+D>>2]=r,Y=y2[f+52>>2],y2[(r=156+D|0)>>2]=y2[f+48>>2],y2[r+4>>2]=Y,c=y2[4+d>>2],y2[(Y=m=164+D|0)>>2]=y2[d>>2],y2[4+Y>>2]=c,c=y2[4+k>>2],y2[(Y=132+D|0)>>2]=y2[k>>2],y2[4+Y>>2]=c,c=y2[f+20>>2],y2[(Y=124+D|0)>>2]=y2[f+16>>2],y2[4+Y>>2]=c,c=y2[4+C>>2],y2[(Y=148+D|0)>>2]=y2[C>>2],y2[4+Y>>2]=c,c=y2[f+36>>2],y2[(Y=140+D|0)>>2]=y2[f+32>>2],y2[4+Y>>2]=c,y2[192+D>>2]=i,H2[196+D>>2]=a,y2[200+D>>2]=e,n=H2[96+D>>2],t=H2[160+D>>2],a=H2[o>>2],s=H2[r>>2],g=H2[l>>2],u=H2[m>>2],y2[188+D>>2]=A,a=j2(s-a),n=j2(t-n),t=j2(u-g),s=j2(j2(1)/j2(K2(j2(j2(j2(a*a)+j2(n*n))+j2(t*t))))),v=(g=j2(t*s))==j2(0)?j2(0xde0b6b000000000):j2(j2(1)/g),y2[E>>2]=v>2]=Z>2]=v,H2[16+D>>2]=Z,a=j2((B=a)*s),H2[40+D>>2]=j2(t*g)+j2(j2(B*a)+j2(n*u)),a=a==j2(0)?j2(0xde0b6b000000000):j2(j2(1)/a),H2[12+D>>2]=a,y2[28+D>>2]=a>2],N2[y2[y2[A>>2]+24>>2]](A,352+D|0,288+D|0,8+D|0,224+D|0,208+D|0),L2=368+D|0}function z1(A){var e,r=0;y2[A>>2]=15948,y2[A+24>>2]=0,y2[A+68>>2]=0,X2[A+20|0]=1,y2[A+16>>2]=0,X2[A+44|0]=1,y2[(e=A+8|0)>>2]=0,y2[4+e>>2]=0,y2[A+40>>2]=0,X2[A- -64|0]=1,y2[(e=A+32|0)>>2]=0,y2[4+e>>2]=0,y2[A+60>>2]=0,y2[(e=A+52|0)>>2]=0,y2[4+e>>2]=0,y2[6502]=y2[6502]+1,(e=q2(51))&&(y2[(r=e+19&-16)-4>>2]=e),(e=y2[A+16>>2])&&(y2[6503]=y2[6503]+1,$2(y2[e-4>>2]),y2[A+16>>2]=0),y2[A+16>>2]=r,X2[A+20|0]=1,y2[A+12>>2]=2,O1(A)}function O1(A){var e,r,f,i,a=0,n=0,b=0,t=0,o=0;if(!((0|(e=y2[A+12>>2]))<=(0|(r=y2[A+32>>2])))){A:if(y2[A+36>>2]>=(0|e))n=y2[A+40>>2];else{if(e&&(y2[6502]=y2[6502]+1,b=q2(16+(e<<2|3)|0))&&(y2[(n=b+19&-16)-4>>2]=b),a=y2[A+40>>2],1<=(0|r)){for(b=n,t=a,o=r;;)if(y2[b>>2]=y2[t>>2],b=b+4|0,t=t+4|0,!(o=o-1|0))break}else if(!a){y2[A+40>>2]=n,y2[A+36>>2]=e,X2[A+44|0]=1;break A}U2[A+44|0]&&(y2[6503]=y2[6503]+1,$2(y2[a-4>>2])),y2[A+40>>2]=n,X2[A+44|0]=1,y2[A+36>>2]=e}if(v2((t=n)+(n=r<<2)|0,0,(f=e<<2)-n|0),y2[A+32>>2]=e,(0|(a=y2[A+52>>2]))<(0|e)){A:if(y2[A+56>>2]>=(0|e))n=y2[A+60>>2];else{if(n=0,e&&(y2[6502]=y2[6502]+1,b=q2(16+(3|f)|0))&&(y2[(n=b+19&-16)-4>>2]=b),i=y2[A+60>>2],1<=(0|a)){for(b=n,t=i,o=a;;)if(y2[b>>2]=y2[t>>2],b=b+4|0,t=t+4|0,!(o=o-1|0))break}else if(!i){y2[A+60>>2]=n,y2[A+56>>2]=e,X2[A- -64|0]=1;break A}U2[A- -64|0]&&(y2[6503]=y2[6503]+1,$2(y2[i-4>>2])),y2[A+60>>2]=n,X2[A+64|0]=1,y2[A+56>>2]=e}v2((t=n)+(n=a<<2)|0,0,f-n|0)}if(1<=(0|(y2[A+52>>2]=e))&&(v2(y2[A+40>>2],255,f),v2(y2[A+60>>2],255,f)),!((0|r)<1))for(t=y2[A+60>>2],b=y2[A+16>>2],n=y2[A+40>>2],o=0;;)if(a=y2[y2[b>>2]+12>>2]|y2[y2[b+4>>2]+12>>2]<<16,a=P2((a=(a<<15^-1)+a|0)>>>10^a,9),a=n+((y2[A+12>>2]-1&((a=((a^=a>>>6)<<11^-1)+a|0)>>>16^a))<<2)|0,y2[t>>2]=y2[a>>2],b=b+16|0,t=t+4|0,(0|r)==(0|(o=(y2[a>>2]=o)+1|0)))break}}function K1(A){return y2[(A|=0)+16>>2]}function L1(A){return(A|=0)+4|0}function q1(A,e){y2[(A|=0)+24>>2]=e|=0}function $1(A,e,r){for(var f,i,a,n,b,t=0,o=0,c=0,k=0,u=0,l=0,s=0,v=0,B=0;;){for(n=e,v=y2[A+12>>2],a=y2[(k=v+((e+r|0)/2<<4)|0)+8>>2],f=y2[k+4>>2],i=y2[k>>2],k=r;;){A:{if(!i)for(u=(e<<4)+v|0;;){o=s=-1,(l=y2[u>>2])&&(o=y2[l+12>>2]),(c=y2[u+4>>2])&&(s=y2[c+12>>2]),t=f?y2[f+12>>2]:-1;e:if(!(-1<(0|o))){if(!((0|t)<(0|s)||l)){if((0|c)!=(0|f))break A;if(X[u+8>>2]>a>>>0)break e;break A}if(l)break A;if((0|s)<=(0|t))break A}u=u+16|0,e=e+1|0}for(u=(e<<4)+v|0,B=y2[i+12>>2];;){if(o=s=-1,(l=y2[u>>2])&&(o=y2[l+12>>2]),(c=y2[u+4>>2])&&(s=y2[c+12>>2]),t=f?y2[f+12>>2]:-1,!((0|B)<(0|o)))if((0|t)<(0|s)||(0|l)!=(0|i)){if((0|l)!=(0|i))break A;if((0|s)<=(0|t))break A}else{if((0|c)!=(0|f))break A;if(X[u+8>>2]<=a>>>0)break A}u=u+16|0,e=e+1|0}}A:{if(!i)for(o=(k<<4)+v|0;;){s=-1,(c=y2[o>>2])&&(s=y2[c+12>>2]),l=f?y2[f+12>>2]:-1,t=-1,(B=y2[o+4>>2])&&(t=y2[B+12>>2]);e:if(!((0|s)<-1)){if(!((0|t)<(0|l)||c)){if((0|f)!=(0|B))break A;if(X[o+8>>2]>>0)break e;break A}if(c)break A;if((0|l)<=(0|t))break A}o=o-16|0,k=k-1|0}for(o=(k<<4)+v|0,b=y2[i+12>>2];;){if(s=-1,(c=y2[o>>2])&&(s=y2[c+12>>2]),l=f?y2[f+12>>2]:-1,t=-1,(B=y2[o+4>>2])&&(t=y2[B+12>>2]),!((0|s)<(0|b)))if((0|t)<(0|l)||(0|c)!=(0|i)){if((0|c)!=(0|i))break A;if((0|l)<=(0|t))break A}else{if((0|f)!=(0|B))break A;if(X[o+8>>2]>=a>>>0)break A}o=o-16|0,k=k-1|0}}if((0|e)<=(0|k)&&(s=y2[(t=(e<<4)+v|0)+4>>2],l=y2[t+8>>2],v=y2[t+12>>2],c=y2[u>>2],t=y2[o+4>>2],y2[u>>2]=y2[o>>2],y2[u+4>>2]=t,t=u+8|0,u=y2[(o=o+8|0)+4>>2],y2[t>>2]=y2[o>>2],y2[t+4>>2]=u,t=y2[A+12>>2]+(k<<4)|0,y2[t+12>>2]=v,y2[t+4>>2]=s,y2[t+8>>2]=l,y2[t>>2]=c,k=k-1|0,e=e+1|0),!((0|e)<=(0|k)))break;v=y2[A+12>>2]}if((0|n)<(0|k)&&$1(A,n,k),!((0|e)<(0|r)))break}}function A4(A,e){A|=0,e=j2(e);j2(0),j2(0),j2(0),j2(0),j2(0),j2(0),j2(0),j2(0);var r,f,i,a,n,b,t,o=j2(N2[y2[y2[A>>2]+48>>2]](A)),c=j2(N2[y2[y2[A>>2]+48>>2]](A)),k=j2(N2[y2[y2[A>>2]+48>>2]](A));H2[A+52>>2]=e,e=H2[(r=A+44|0)>>2],i=H2[(f=A+40|0)>>2],a=H2[A+36>>2],n=j2(N2[y2[y2[A>>2]+48>>2]](A)),b=j2(N2[y2[y2[A>>2]+48>>2]](A)),t=j2(N2[y2[y2[A>>2]+48>>2]](A)),y2[A+48>>2]=0,H2[f>>2]=j2(c+i)-b,H2[A+36>>2]=j2(o+a)-n,H2[r>>2]=j2(k+e)-t}function e4(A,e,r,f){A|=0,e|=0,r|=0,f|=0;j2(0),j2(0),j2(0),j2(0),j2(0),j2(0),j2(0),j2(0),j2(0),j2(0),j2(0),j2(0),j2(0),j2(0),j2(0),j2(0);var i=j2(N2[y2[y2[A>>2]+48>>2]](A)),a=H2[e+52>>2],n=H2[e+20>>2],b=H2[e+24>>2],t=H2[e+56>>2],o=H2[e+36>>2],c=H2[A+40>>2],k=H2[e+40>>2],u=H2[A+44>>2],l=H2[e+48>>2],s=H2[e>>2],v=H2[e+4>>2],B=H2[e+8>>2],d=H2[e+16>>2],e=H2[e+32>>2],A=H2[A+36>>2];y2[r+12>>2]=0,A=j2(i+A),c=j2(i+c),i=j2(i+u),o=j2(j2(j2(A*j2(z2(e)))+j2(c*j2(z2(o))))+j2(i*j2(z2(k)))),H2[r+8>>2]=t-o,n=j2(j2(j2(A*j2(z2(d)))+j2(c*j2(z2(n))))+j2(i*j2(z2(b)))),H2[r+4>>2]=a-n,i=j2(j2(j2(A*j2(z2(s)))+j2(c*j2(z2(v))))+j2(i*j2(z2(B)))),H2[r>>2]=l-i,y2[f+12>>2]=0,H2[f+8>>2]=t+o,H2[f+4>>2]=n+a,H2[f>>2]=i+l}function r4(A,e){A|=0,e|=0;j2(0),j2(0),j2(0),j2(0),j2(0),j2(0),j2(0),j2(0),j2(0);var r,f,i,a=j2(N2[y2[y2[A>>2]+48>>2]](A)),n=j2(N2[y2[y2[A>>2]+48>>2]](A)),b=j2(N2[y2[y2[A>>2]+48>>2]](A)),t=H2[e>>2],o=H2[e+4>>2],c=H2[e+8>>2];y2[A+48>>2]=0,y2[A+32>>2]=0,r=H2[(e=A+28|0)>>2],c=j2(z2(c)),H2[e>>2]=c,f=H2[(e=A+24|0)>>2],o=j2(z2(o)),H2[e>>2]=o,i=H2[A+20>>2],t=j2(z2(t)),H2[A+20>>2]=t,H2[(e=A+44|0)>>2]=j2(j2(j2(b+H2[e>>2])/r)*c)-b,H2[(e=A+40|0)>>2]=j2(j2(j2(n+H2[e>>2])/f)*o)-n,H2[A+36>>2]=j2(j2(j2(a+H2[A+36>>2])/i)*t)-a}function f4(A){return 6}function i4(A,e,r,f,i){var a,n,b,t,o,c,k,u=j2(0),l=(j2(0),0),s=(j2(0),j2(0),j2(0),j2(0),j2(0),j2(0)),v=j2(0),B=0,d=0,_=j2(0),g=j2(0);return L2=k=L2-48|0,X2[A+60|0]=0,y2[40+k>>2]=0,y2[44+k>>2]=0,y2[32+k>>2]=0,y2[36+k>>2]=0,y2[24+k>>2]=0,y2[28+k>>2]=0,y2[16+k>>2]=0,y2[20+k>>2]=0,n=H2[A+40>>2],b=H2[A+44>>2],t=H2[A+48>>2],u=j2(j2(j2(n*e)+j2(b*r))+j2(t*f)),a=f,f=j2(t*u),o=j2(a-f),a=r,r=j2(b*u),c=j2(a-r),a=e,e=j2(n*u),a=j2(a-e),u=u<=j2(0)?(l=24+k|0,B=16+k|4,d=28+k|0,s=r,v=H2[16+k>>2]=e,e=j2(0),f):(l=40+k|0,B=32+k|4,H2[32+k>>2]=e,d=44+k|0,_=f,g=r,j2(0)),H2[l>>2]=f,H2[B>>2]=r,y2[d>>2]=l=0,H2[4+k>>2]=c,H2[k>>2]=a,H2[8+k>>2]=o,r=j2(j2(o*o)+j2(j2(a*a)+j2(c*c))),X2[A+65|0]=!(r>2]=0,U2[A+61|0]||U2[A+64|0]||(r>2],H2[40+k>>2]=j2(t*f)+_,H2[36+k>>2]=j2(b*f)+g,H2[32+k>>2]=j2(n*f)+e),l=a4(A,32+k|(X2[A+108|0]=0),i,10)?2:0),U2[A+64|0]||(U2[A+61|0]||1==(0|N2[y2[y2[A>>2]+16>>2]](A))&&(X2[A+108|0]=1),l=a4(A,k,i,10)|l,U2[A+61|0])||1==(0|N2[y2[y2[A>>2]+16>>2]](A))&&(X2[A+108|0]=0),r>2],H2[16+k>>2]=v-j2(H2[A+40>>2]*e),H2[24+k>>2]=u-j2(e*H2[A+48>>2]),H2[20+k>>2]=s-j2(e*H2[A+44>>2])),U2[A+61|0]||1==(0|N2[y2[y2[A>>2]+16>>2]](A))&&(X2[A+108|0]=1),U2[A+65|0]&&!U2[A+64|0]||(X2[A+108|0]=0),a4(A,16+k|0,i,1)&&(l|=4,!U2[A+64|0])&&(e=H2[A+48>>2],r=H2[A+80>>2],f=H2[A+44>>2],i=H2[A+76>>2],u=H2[A+40>>2],s=H2[A+72>>2],v=I2(H2[A+28>>2]),(e=j2(j2(j2(s*u)+j2(i*f))+j2(r*e)))>=j2(0))&&e>2]+16>>2]](A))&&(X2[A+108|0]=0),L2=48+k|0,l}function a4(A,e,V,r){var f,i,a,n,b,t,o,c,k,u,l,s,x,v,p,S,J,B,M,X,d,_=j2(0),g=j2(0),Z=0,C=j2(0),w=j2(0),E=j2(0),Q=j2(0),h=j2(0),G=j2(0),F=j2(0),D=(j2(0),0),Y=j2(0),m=j2(0),N=j2(0),R=j2(0),I=j2(0),W=(j2(0),j2(0),j2(0)),T=0;j2(0),j2(0),j2(0),j2(0),j2(0),j2(0),j2(0),j2(0);L2=d=L2-256|0,h=H2[e>>2],w=H2[e+4>>2],Q=H2[e+8>>2];A:if(!(j2(j2(j2(h*h)+j2(w*w))+j2(Q*Q))>2],l=y2[n- -64>>2];e:{r:{f:if(Y=H2[n+52>>2],m=j2(h+Y),N=j2(m-Y),R=H2[n+56>>2],G=j2(w+R),C=j2(G-R),I=H2[n+60>>2],F=j2(Q+I),g=j2(F-I),!((W=j2(K2(j2(j2(j2(N*N)+j2(C*C))+j2(g*g)))))<=V))for(p=A+72|0,r=r-1|0,t=52+d|0,i=16+d|0,n=84+d|0,M=A+44|0,X=A+48|0,S=A+80|0,J=A+76|0;;){if(_=j2(j2(1)/W),o=j2(N*_),c=j2(C*_),k=j2(g*_),j2(j2(j2(o*h)+j2(c*w))+j2(k*Q))<=j2(0))break f;if(T=y2[(U2[A+108|0]?104:8)+A>>2],s=j2(W+H2[A+36>>2]),_=1&X2[26672]?(w=H2[6672],N=H2[6671],Q=H2[6670],H2[6669]):(y2[6671]=0,y2[6672]=1065353216,y2[6669]=0,y2[6670]=0,y2[6668]=1,N=j2(0),w=j2(1),Q=j2(0),j2(0)),y2[252+d>>2]=l,H2[248+d>>2]=I,H2[244+d>>2]=R,H2[240+d>>2]=Y,y2[236+d>>2]=0,y2[220+d>>2]=0,y2[204+d>>2]=0,C=j2(j2(2)/j2(j2(j2(j2(_*_)+j2(Q*Q))+j2(N*N))+j2(w*w))),b=j2(N*C),E=j2(Q*b),f=j2(_*C),g=j2(w*f),B=j2(E+g),H2[228+d>>2]=B,a=j2(_*b),v=j2(Q*C),C=j2(w*v),x=j2(a-C),H2[224+d>>2]=x,h=j2(E-g),H2[216+d>>2]=h,E=j2(_*v),g=j2(w*b),u=j2(E+g),H2[208+d>>2]=u,w=j2(a+C),H2[200+d>>2]=w,a=j2(E-g),H2[196+d>>2]=a,_=j2(_*f),C=j2(Q*v),E=j2(j2(1)-j2(_+C)),H2[232+d>>2]=E,f=_,_=j2(N*b),g=j2(j2(1)-j2(f+_)),H2[212+d>>2]=g,_=j2(j2(1)-j2(C+_)),H2[192+d>>2]=_,y2[188+d>>2]=0,v=j2(m-Y),f=j2(G-R),C=j2(F-I),b=j2(j2(1)/j2(K2(j2(j2(j2(v*v)+j2(f*f))+j2(C*C))))),H2[184+d>>2]=I+j2(s*j2(C*b)),H2[180+d>>2]=R+j2(s*j2(f*b)),H2[176+d>>2]=Y+j2(s*j2(v*b)),y2[172+d>>2]=0,H2[168+d>>2]=E,H2[164+d>>2]=B,H2[160+d>>2]=x,y2[156+d>>2]=0,H2[152+d>>2]=h,H2[148+d>>2]=g,H2[144+d>>2]=u,y2[140+d>>2]=0,H2[136+d>>2]=w,H2[132+d>>2]=a,H2[128+d>>2]=_,y2[80+d>>2]=l,H2[76+d>>2]=F,H2[72+d>>2]=G,H2[68+d>>2]=m,y2[64+d>>2]=l,H2[60+d>>2]=I,H2[56+d>>2]=R,H2[52+d>>2]=Y,y2[48+d>>2]=0,y2[36+d>>2]=1065353216,y2[116+d>>2]=0,y2[32+d>>2]=16968,Z=y2[A+4>>2],y2[120+d>>2]=Z,D=y2[Z+188>>2],Z=y2[D+8>>2],y2[40+d>>2]=y2[D+4>>2],y2[44+d>>2]=Z,j1(Z=y2[A+12>>2],T,192+d|0,128+d|0,32+d|0,H2[Z+56>>2]),!(v=y2[48+d>>2])){Z=0;break r}if(Z=y2[4+n>>2],y2[i>>2]=y2[n>>2],y2[4+i>>2]=Z,Z=y2[(D=8+n|0)+4>>2],y2[(b=8+i|0)>>2]=y2[D>>2],y2[4+b>>2]=Z,y2[12+d>>2]=y2[112+d>>2],_=H2[36+d>>2],C=H2[108+d>>2],E=H2[104+d>>2],g=H2[100+d>>2],(B=y2[A+20>>2])&&(2&(Z=y2[v+252>>2])?(T=y2[116+d>>2],Z=y2[4+i>>2],y2[t>>2]=y2[i>>2],y2[4+t>>2]=Z,Z=y2[4+b>>2],y2[(D=8+t|0)>>2]=y2[b>>2],y2[D+4>>2]=Z,y2[92+d>>2]=v,y2[88+d>>2]=T,y2[32+d>>2]=A,H2[44+d>>2]=C,H2[40+d>>2]=E,H2[36+d>>2]=g,H2[84+d>>2]=W,y2[80+d>>2]=0,H2[76+d>>2]=k,H2[72+d>>2]=c,H2[68+d>>2]=o,y2[48+d>>2]=y2[12+d>>2],T&&N2[y2[y2[B>>2]>>2]](B,32+d|0)):4&Z&&(T=y2[v+256>>2])&&(Z=y2[4+i>>2],y2[t>>2]=y2[i>>2],y2[4+t>>2]=Z,Z=y2[4+b>>2],y2[(D=8+t|0)>>2]=y2[b>>2],y2[D+4>>2]=Z,y2[80+d>>2]=0,H2[76+d>>2]=k,H2[72+d>>2]=c,H2[68+d>>2]=o,y2[48+d>>2]=y2[12+d>>2],H2[44+d>>2]=C,H2[40+d>>2]=E,H2[36+d>>2]=g,H2[84+d>>2]=W,y2[88+d>>2]=T,y2[32+d>>2]=A,N2[y2[y2[B>>2]+4>>2]](B,32+d|0))),_=j2(s*_),U2[A+63|0]&&_==j2(0)){n4(A),n4(A),n4(A),n4(A);break e}if((_=j2(_-H2[A+36>>2]))>j2(0)&&(R=j2(R+j2(c*_)),Y=j2(Y+j2(o*_)),I=j2(I+j2(k*_))),Z=y2[4+i>>2],y2[p>>2]=y2[i>>2],y2[4+p>>2]=Z,Z=y2[4+b>>2],y2[(D=8+p|0)>>2]=y2[b>>2],y2[D+4>>2]=Z,H2[A+96>>2]=C,H2[A+92>>2]=E,H2[A+88>>2]=g,y2[A+100>>2]=y2[12+d>>2],w=H2[A+40>>2],a=H2[M>>2],_=j2(j2(g*w)+j2(E*a)),E=H2[X>>2],H2[A+68>>2]=_+j2(C*E),h=H2[A+72>>2],U2[A+61|0]){if(g=H2[J>>2],_=H2[S>>2],u=j2(j2(j2(w*h)+j2(a*g))+j2(E*_)),C=j2(_-j2(E*u)),E=j2(h-j2(w*u)),g=j2(g-j2(a*u)),(_=j2(j2(C*C)+j2(j2(E*E)+j2(g*g))))>2]=0,_=j2(j2(1)/j2(K2(_))),w=j2(C*_),H2[S>>2]=w,Q=j2(g*_),H2[J>>2]=Q,h=j2(E*_),H2[A+72>>2]=h}else w=H2[S>>2],Q=H2[J>>2];if(Z=1,!r)break f;if(_=j2(m-Y),f=j2(_*_),_=j2(G-R),f=j2(f+j2(_*_)),_=j2(F-I),E=j2(K2(j2(f+j2(_*_)))),G=j2(j2(j2(o*h)+j2(c*Q))+j2(k*w)),_=j2(o-j2(j2(h+h)*G)),F=j2(k-j2(j2(w+w)*G)),m=j2(c-j2(j2(Q+Q)*G)),G=j2(j2(1)/j2(K2(j2(j2(F*F)+j2(j2(_*_)+j2(m*m)))))),f=_=j2(_*G),F=j2(F*G),x=j2(h*_),_=j2(m*G),g=j2(j2(w*F)+j2(x+j2(Q*_))),m=j2(Y+j2(E*j2(f-j2(h*g)))),N=j2(m-Y),G=j2(R+j2(E*j2(_-j2(Q*g)))),C=j2(G-R),F=j2(I+j2(E*j2(F-j2(w*g)))),g=j2(F-I),(W=j2(K2(j2(j2(j2(N*N)+j2(C*C))+j2(g*g)))))<=V)break f;r=r-1|0,Q=H2[e+8>>2],w=H2[e+4>>2],h=H2[e>>2]}m=Y,G=R,F=I}A=y2[A+4>>2],y2[A- -64>>2]=l,H2[A+60>>2]=F,H2[A+56>>2]=G,H2[A+52>>2]=m;break A}Z=1}return L2=256+d|0,Z}function n4(A){var e,r,f,i,a,n,b,t,o,c=0,k=0,u=0,l=0,s=(j2(0),j2(0)),v=j2(0),B=j2(0);j2(0),j2(0),j2(0);L2=o=L2+-64|0,c=y2[A+8>>2],e=y2[A+4>>2],N2[y2[y2[c>>2]+8>>2]](c,e+4|0,48+o|0,32+o|0),c=y2[A+12>>2],k=y2[c+68>>2],N2[y2[y2[k>>2]+16>>2]](k,y2[y2[A+4>>2]+188>>2],48+o|0,32+o|0,y2[c+24>>2]),k=y2[A+12>>2],c=y2[k+24>>2],N2[y2[y2[c>>2]+32>>2]](c,y2[y2[A+4>>2]+344>>2],k+28|0,c),y2[20+o>>2]=0,y2[12+o>>2]=0,y2[16+o>>2]=0,X2[24+o|0]=1,c=y2[y2[A+4>>2]+344>>2];A:if(!((0|N2[y2[y2[c>>2]+36>>2]](c))<1))for(c=0;;){if((0|c)<=-1)for(y2[16+o>>2]<=-1&&((k=y2[20+o>>2])&&(U2[24+o|0]&&(y2[6503]=y2[6503]+1,$2(y2[k-4>>2])),y2[20+o>>2]=0),X2[24+o|0]=1,y2[16+o>>2]=0,y2[20+o>>2]=0),u=c<<2;;)if(u=u+4|(y2[y2[20+o>>2]+u>>2]=0),!((k=c)>>>0<=(c=c+1|0)>>>0))break;if(y2[12+o>>2]=0,c=y2[y2[A+4>>2]+344>>2],c=y2[12+(0|N2[y2[y2[c>>2]+28>>2]](c))>>2]+(l<<4)|0,k=y2[y2[y2[c+4>>2]>>2]+188>>2],u=y2[y2[y2[c>>2]>>2]+188>>2],y2[k+8>>2]&y2[u+4>>2]&&y2[u+8>>2]&y2[k+4>>2]&&((c=y2[c+8>>2])&&N2[y2[y2[c>>2]+16>>2]](c,8+o|0),!((0|(i=y2[12+o>>2]))<1)))for(a=y2[A+4>>2],k=0,n=y2[20+o>>2];;){if(c=y2[(k<<2)+n>>2],1<=(0|(u=y2[c+844>>2])))for(r=y2[c+836>>2]==(0|a)?j2(-1):j2(1),c=c+84|0,s=H2[e+60>>2],v=H2[e+56>>2],B=H2[e+52>>2];;)if(b=H2[c-16>>2],t=H2[c-12>>2],f=H2[c>>2],s=j2(j2(f*j2(r*H2[c-8>>2]))+s),H2[e+60>>2]=s,v=j2(j2(f*j2(r*t))+v),H2[e+56>>2]=v,B=j2(j2(f*j2(r*b))+B),H2[e+52>>2]=B,c=c+208|0,!(u=u-1|0))break;if((0|i)==(0|(k=k+1|0)))break}if(c=y2[y2[A+4>>2]+344>>2],l=l+1|0,(0|N2[y2[y2[c>>2]+36>>2]](c))<=(0|l)){if(!(A=y2[20+o>>2]))break A;U2[24+o|0]&&(y2[6503]=y2[6503]+1,$2(y2[A-4>>2])),y2[20+o>>2]=0;break}c=y2[12+o>>2]}L2=o+64|0}function b4(A){var e,r,f=0,i=0,a=j2(0),n=j2(0),b=j2(0),t=j2(0);j2(0);L2=r=L2-16|0,(f=y2[A+8>>2])?(y2[f+60>>2]=1,i=y2[A+152>>2],y2[f+52>>2]=i,a=H2[A+156>>2],y2[f+48>>2]=0,y2[f+44>>2]=i,y2[f+36>>2]=i,y2[(i=f+28|0)>>2]=1065353216,y2[i+4>>2]=0,y2[f+20>>2]=1065353216,y2[f+24>>2]=1065353216):(y2[6502]=y2[6502]+1,f=0,(i=q2(83))&&(y2[(f=i+19&-16)-4>>2]=i),y2[f+12>>2]=0,y2[f+16>>2]=0,y2[f>>2]=10644,y2[f+60>>2]=1,y2[f+4>>2]=10,y2[f+8>>2]=0,y2[A+8>>2]=f,a=H2[A+156>>2],i=y2[A+152>>2],y2[f+28>>2]=1065353216,y2[f+32>>2]=0,y2[f+20>>2]=1065353216,y2[f+24>>2]=1065353216,y2[f+52>>2]=i,y2[f+48>>2]=0,y2[f+44>>2]=i,y2[f+36>>2]=i),H2[f+40>>2]=a*j2(.5),i=y2[A+4>>2],N2[y2[y2[i>>2]+8>>2]](i,f),n=j2(N2[y2[y2[A>>2]+20>>2]](A)),y2[12+r>>2]=f=0,H2[4+r>>2]=n,a=H2[A+152>>2],i=y2[A+152>>2],y2[8+r>>2]=i,y2[r>>2]=i,(i=y2[A+104>>2])?(b=j2(N2[y2[y2[i>>2]+48>>2]](i)),t=j2(N2[y2[y2[i>>2]+48>>2]](i)),e=j2(N2[y2[y2[i>>2]+48>>2]](i)),y2[i+48>>2]=0,H2[i+44>>2]=j2(H2[i+28>>2]*a)-e,H2[i+40>>2]=j2(n*H2[i+24>>2])-t,H2[i+36>>2]=j2(H2[i+20>>2]*a)-b,a=j2(H2[((!(a>2]*j2(.10000000149011612)),j2(N2[y2[y2[i>>2]+48>>2]](i))>a&&N2[y2[y2[i>>2]+44>>2]](i,a)):(y2[6502]=y2[6502]+1,(i=q2(83))&&(y2[(f=i+19&-16)-4>>2]=i),y2[f+48>>2]=0,y2[f+52>>2]=1025758986,y2[f+28>>2]=1065353216,y2[f+32>>2]=0,y2[f+20>>2]=1065353216,y2[f+24>>2]=1065353216,y2[f+12>>2]=0,y2[f+16>>2]=0,y2[f+4>>2]=0,y2[f+8>>2]=0,b=j2(a+j2(-.03999999910593033)),H2[f+44>>2]=b,t=j2(n+j2(-.03999999910593033)),H2[f+40>>2]=t,H2[f+36>>2]=b,y2[f+60>>2]=0,y2[f>>2]=16632,(n=j2(H2[((!(a>2]*j2(.10000000149011612)))>2],H2[f+52>>2]=n,n=H2[f+52>>2],y2[f+48>>2]=0,b=j2(j2(a+b)-n),H2[f+44>>2]=b,H2[f+40>>2]=j2(a+t)-n,H2[f+36>>2]=b),y2[A+104>>2]=f),L2=16+r|0}function t4(A){var e;y2[(A|=0)>>2]=17052,(e=y2[A+124>>2])&&U2[A+128|0]&&(y2[6503]=y2[6503]+1,$2(y2[e-4>>2])),b(A)}function o4(A){return y2[(A|=0)+56>>2]}function c4(A){var e,r,f=0,i=0,a=j2(0),n=j2(0),b=(j2(0),j2(0)),t=j2(0),o=j2(0);y2[12+(L2=r=L2-16|0)>>2]=0,e=H2[A+156>>2],y2[r>>2]=y2[A+156>>2],a=H2[A+152>>2],y2[4+r>>2]=y2[A+152>>2],n=H2[A+160>>2],y2[8+r>>2]=y2[A+160>>2],(i=y2[A+8>>2])?(b=j2(N2[y2[y2[i>>2]+48>>2]](i)),t=j2(N2[y2[y2[i>>2]+48>>2]](i)),o=j2(N2[y2[y2[i>>2]+48>>2]](i)),y2[i+48>>2]=0,H2[i+44>>2]=j2(H2[i+28>>2]*n)-o,H2[i+40>>2]=j2(H2[i+24>>2]*a)-t,H2[i+36>>2]=j2(H2[i+20>>2]*e)-b,n=j2(H2[((e>2]*j2(.10000000149011612)),j2(N2[y2[y2[i>>2]+48>>2]](i))>n&&N2[y2[y2[i>>2]+44>>2]](i,n)):(y2[6502]=y2[6502]+1,(i=q2(83))&&(y2[(f=i+19&-16)-4>>2]=i),y2[f+48>>2]=0,y2[f+52>>2]=1025758986,y2[f+28>>2]=1065353216,y2[f+32>>2]=0,y2[f+20>>2]=1065353216,y2[f+24>>2]=1065353216,y2[f+12>>2]=0,y2[f+16>>2]=0,y2[f+4>>2]=0,y2[f+8>>2]=0,b=j2(n+j2(-.03999999910593033)),H2[f+44>>2]=b,t=j2(a+j2(-.03999999910593033)),H2[f+40>>2]=t,o=j2(e+j2(-.03999999910593033)),H2[f+36>>2]=o,y2[f+60>>2]=0,y2[f>>2]=16632,(a=j2(H2[((e>2]*j2(.10000000149011612)))>2],H2[f+52>>2]=a,a=H2[f+52>>2],y2[f+48>>2]=0,H2[f+44>>2]=j2(n+b)-a,H2[f+40>>2]=j2(n+t)-a,H2[f+36>>2]=j2(n+o)-a),y2[A+8>>2]=f),f=y2[A+4>>2],N2[y2[y2[f>>2]+8>>2]](f,y2[A+8>>2]),L2=16+r|0}function k4(A){return(A|=0)+36|0}function u4(A){return y2[(A|=0)+60>>2]}function l4(A){return y2[(A|=0)+4>>2]}function s4(A){return y2[(A|=0)+8>>2]}function v4(A,e){N2[y2[y2[(A|=0)>>2]+8>>2]](A,e|=0)}function B4(A){var e;(e=y2[A>>2])&&d4(A,e),(e=y2[A+4>>2])&&(y2[6503]=y2[6503]+1,$2(y2[e-4>>2])),y2[A+4>>2]=0,y2[A+8>>2]=-1,(e=y2[A+32>>2])&&(U2[A+36|0]&&(y2[6503]=y2[6503]+1,$2(y2[e-4>>2])),y2[A+32>>2]=0),y2[A+16>>2]=0,y2[A+32>>2]=0,y2[A+24>>2]=0,y2[A+28>>2]=0,X2[A+36|0]=1}function d4(A,e){var r;y2[e+40>>2]&&(d4(A,y2[e+36>>2]),d4(A,y2[e+40>>2])),y2[A>>2]==(0|e)&&(y2[A>>2]=0),(r=y2[A+4>>2])&&(y2[6503]=y2[6503]+1,$2(y2[r-4>>2])),y2[A+4>>2]=e}function _4(A){var e;(e=y2[A>>2])&&d4(A,e),(e=y2[A+4>>2])&&(y2[6503]=y2[6503]+1,$2(y2[e-4>>2])),y2[A+4>>2]=0,y2[A+8>>2]=-1,(e=y2[A+32>>2])&&(U2[A+36|0]&&(y2[6503]=y2[6503]+1,$2(y2[e-4>>2])),y2[A+32>>2]=0),y2[A+32>>2]=0,y2[A+24>>2]=0,y2[A+28>>2]=0,y2[A+16>>2]=0,X2[A+36|0]=1}function g4(A,e){var r,f,i,a,n,b,t,o,c,k,u,l,s=0,v=0,B=0,d=0,_=0,g=0;L2=l=L2-32|0;A:if(!((0|(e=(0|e)<=-1?y2[A+12>>2]:e))<1)&&(s=y2[A>>2]))for(;;){if(y2[(d=s+40|0)>>2])for(g=0;;)if((B=y2[s+32>>2])>>>0<=s>>>0?B=s:(f=(0|(r=y2[B+40>>2]))==(0|s),a=y2[36+((i=((0|s)!=(0|r))<<2)+B|0)>>2],_=A,(v=y2[B+32>>2])&&(_=36+(v+((y2[v+40>>2]==(0|B))<<2)|0)|0),y2[_>>2]=s,y2[a+32>>2]=s,y2[B+32>>2]=s,y2[s+32>>2]=v,y2[B+36>>2]=y2[s+36>>2],y2[B+40>>2]=y2[d>>2],y2[y2[s+36>>2]+32>>2]=B,y2[y2[d>>2]+32>>2]=B,y2[(r=s+36|0)+(f<<2)>>2]=B,y2[r+i>>2]=a,d=y2[4+(r=B+24|0)>>2],o=y2[r>>2],y2[(v=24+l|0)>>2]=o,y2[v+4>>2]=d,a=y2[(v=B+16|0)+4>>2],c=y2[v>>2],y2[(f=16+l|0)>>2]=c,y2[4+f>>2]=a,i=y2[4+(f=B+8|0)>>2],k=y2[f>>2],y2[(n=8+l|0)>>2]=k,y2[4+n>>2]=i,n=y2[B+4>>2],u=y2[B>>2],y2[l>>2]=u,y2[4+l>>2]=n,b=y2[(_=t=s+24|0)+4>>2],y2[r>>2]=y2[_>>2],y2[4+r>>2]=b,b=y2[4+(r=s+16|0)>>2],y2[v>>2]=y2[r>>2],y2[v+4>>2]=b,b=y2[(v=s+8|0)+4>>2],y2[f>>2]=y2[v>>2],y2[4+f>>2]=b,f=y2[s+4>>2],y2[B>>2]=y2[s>>2],y2[B+4>>2]=f,y2[t>>2]=o,y2[4+t>>2]=d,y2[r>>2]=c,y2[4+r>>2]=a,y2[v>>2]=k,y2[v+4>>2]=i,y2[s>>2]=u,y2[s+4>>2]=n),s=y2[A+16>>2]>>>g|0,g=g+1&31,s=y2[36+(((1&s)<<2)+B|0)>>2],!y2[(d=s+40|0)>>2])break;if(v=0,C4(_=A,v=Z4(A,s)?y2[A>>2]:v,s),y2[A+16>>2]=y2[A+16>>2]+1,!(e=e-1|0))break A;s=y2[A>>2]}L2=32+l|0}function Z4(A,e){var r,f,i,a,n,b,t,o,c,k,u,l,s,v,B=0,d=0;j2(0),j2(0),j2(0),j2(0),j2(0),j2(0),j2(0),j2(0),j2(0),j2(0),j2(0),j2(0),j2(0);if(y2[A>>2]==(0|e))return y2[A>>2]=0;if(d=y2[e+32>>2],B=y2[36+(((y2[d+40>>2]!=(0|e))<<2)+d|0)>>2],e=y2[d+32>>2]){for(y2[36+((((0|d)==y2[e+40>>2])<<2)+e|0)>>2]=B,y2[B+32>>2]=e,(B=y2[A+4>>2])&&(y2[6503]=y2[6503]+1,$2(y2[B-4>>2])),y2[A+4>>2]=d;;){if(v=H2[e>>2],B=y2[e+36>>2],r=H2[B>>2],d=y2[e+40>>2],o=H2[d>>2],H2[e>>2]=r=r>2],f=H2[B+16>>2],c=H2[d+16>>2],H2[e+16>>2]=f=c>2],i=H2[B+4>>2],k=H2[d+4>>2],H2[e+4>>2]=i=i>2],n=H2[B+20>>2],u=H2[d+20>>2],H2[a>>2]=n=u>2],b=H2[B+8>>2],l=H2[d+8>>2],H2[e+8>>2]=b=b>2],t=H2[B+24>>2],s=H2[d+24>>2],H2[a>>2]=t=s>2]))break}return y2[A>>2]}return y2[B+32>>2]=0,y2[A>>2]=B,(e=y2[A+4>>2])&&(y2[6503]=y2[6503]+1,$2(y2[e-4>>2]),B=y2[A>>2]),y2[A+4>>2]=d,B}function C4(A,e,r){var f,i=0,a=j2(0),n=j2(0),b=j2(0),t=0;if(y2[A>>2]){if(i=y2[e+40>>2])for(n=j2(H2[r>>2]+H2[r+16>>2]),a=j2(H2[r+8>>2]+H2[r+24>>2]),b=j2(H2[r+4>>2]+H2[r+20>>2]);;)if(t=e+36|0,e=y2[e+36>>2],e=y2[t+(!(j2(j2(j2(z2(j2(n-j2(H2[e>>2]+H2[e+16>>2]))))+j2(z2(j2(b-j2(H2[e+4>>2]+H2[e+20>>2])))))+j2(z2(j2(a-j2(H2[e+8>>2]+H2[e+24>>2])))))>2]+H2[i+16>>2]))))+j2(z2(j2(b-j2(H2[i+4>>2]+H2[i+20>>2])))))+j2(z2(j2(a-j2(H2[i+8>>2]+H2[i+24>>2]))))))<<2)>>2],!(i=y2[e+40>>2]))break;t=y2[e+32>>2],(i=y2[A+4>>2])?y2[A+4>>2]=0:(y2[6502]=y2[6502]+1,i=0,(f=q2(63))&&(y2[(i=f+19&-16)-4>>2]=f),y2[i>>2]=0,y2[i+4>>2]=0,y2[i+40>>2]=0,y2[(f=i+32|0)>>2]=0,y2[4+f>>2]=0,y2[(f=i+24|0)>>2]=0,y2[4+f>>2]=0,y2[(f=i+16|0)>>2]=0,y2[4+f>>2]=0,y2[(f=i+8|0)>>2]=0,y2[4+f>>2]=0),y2[i+36>>2]=0,y2[i+40>>2]=0,n=H2[r>>2],a=H2[e>>2],H2[i>>2]=n>2],a=H2[e+16>>2],H2[i+16>>2]=a>2],a=H2[e+4>>2],H2[i+4>>2]=n>2],a=H2[e+20>>2],H2[i+20>>2]=a>2],a=H2[e+8>>2],H2[i+8>>2]=n>2]=t,n=H2[r+24>>2],a=H2[e+24>>2],H2[i+24>>2]=a>2]+40>>2]==(0|e))<<2)+t|0)>>2]=i,y2[i+36>>2]=e,y2[e+32>>2]=i,y2[i+40>>2]=r,y2[r+32>>2]=i,n=H2[i>>2];;){if(A=i,H2[(i=t)>>2]<=n&&H2[i+4>>2]<=H2[A+4>>2]&&H2[i+8>>2]<=H2[A+8>>2]&&H2[i+16>>2]>=H2[A+16>>2]&&H2[i+20>>2]>=H2[A+20>>2]&&H2[i+24>>2]>=H2[A+24>>2])break A;if(A=y2[i+36>>2],n=H2[A>>2],e=y2[i+40>>2],a=H2[e>>2],H2[i>>2]=n=n>2],b=H2[e+16>>2],H2[i+16>>2]=b>2],b=H2[e+4>>2],H2[i+4>>2]=a>2],b=H2[e+20>>2],H2[i+20>>2]=b>2],b=H2[e+8>>2],H2[i+8>>2]=a>2],b=H2[e+24>>2],H2[i+24>>2]=b>2]))break}else y2[i+36>>2]=e,y2[e+32>>2]=i,y2[i+40>>2]=r,y2[A>>2]=i,y2[r+32>>2]=i}else y2[r+32>>2]=0,y2[A>>2]=r}function w4(A){var e=0;return y2[(A|=0)>>2]=17700,(e=y2[A+72>>2])&&(B4(e),e=y2[A+72>>2])&&(y2[6503]=y2[6503]+1,$2(y2[e-4>>2])),(e=y2[A+32>>2])&&(U2[A+36|0]&&(y2[6503]=y2[6503]+1,$2(y2[e-4>>2])),y2[A+32>>2]=0),y2[A+32>>2]=0,y2[A+24>>2]=0,y2[A+28>>2]=0,X2[A+36|0]=1,0|A}function E4(A,e){var r,f,i,a,n,b,t,o,c,k,u,l,s,v=0,B=0,d=0,_=0,g=0;L2=s=L2-80|0,y2[A+76>>2]=y2[A+76>>2]+1,(r=y2[A+72>>2])&&(Z4(r,v=y2[76+(y2[A+32>>2]+P2(e,80)|0)>>2]),(d=y2[r+4>>2])&&(y2[6503]=y2[6503]+1,$2(y2[d-4>>2])),y2[r+4>>2]=v,y2[r+12>>2]=y2[r+12>>2]-1),v=y2[A+24>>2],n=y2[(u=A+32|0)>>2],l=P2(e,80),_=y2[4+(f=8+(r=n+l|0)|0)>>2],y2[(d=8+s|0)>>2]=y2[f>>2],y2[d+4>>2]=_,b=y2[4+(i=24+r|0)>>2],y2[(_=o=24+s|0)>>2]=y2[i>>2],y2[4+_>>2]=b,g=y2[4+(c=40+r|0)>>2],y2[(_=40+s|0)>>2]=y2[c>>2],y2[4+_>>2]=g,B=y2[4+(a=56+r|0)>>2],y2[(g=b=56+s|0)>>2]=y2[a>>2],y2[4+g>>2]=B,k=y2[4+(t=72+r|0)>>2],y2[(B=g=72+s|0)>>2]=y2[t>>2],y2[4+B>>2]=k,B=y2[4+r>>2],y2[s>>2]=y2[r>>2],y2[4+s>>2]=B,B=y2[20+r>>2],y2[16+s>>2]=y2[16+r>>2],y2[20+s>>2]=B,B=y2[36+r>>2],y2[32+s>>2]=y2[32+r>>2],y2[36+s>>2]=B,B=y2[52+r>>2],y2[48+s>>2]=y2[48+r>>2],y2[52+s>>2]=B,B=y2[68+r>>2],y2[64+s>>2]=y2[64+r>>2],y2[68+s>>2]=B,B=n,n=P2(v,80)-80|0,k=y2[4+(B=(v=B+n|0)+8|0)>>2],y2[f>>2]=y2[B>>2],y2[4+f>>2]=k,f=y2[v+4>>2],y2[r>>2]=y2[v>>2],y2[4+r>>2]=f,B=y2[4+(f=v+24|0)>>2],y2[i>>2]=y2[f>>2],y2[4+i>>2]=B,f=y2[v+20>>2],y2[16+r>>2]=y2[v+16>>2],y2[20+r>>2]=f,i=y2[4+(f=v+40|0)>>2],y2[c>>2]=y2[f>>2],y2[4+c>>2]=i,f=y2[v+36>>2],y2[32+r>>2]=y2[v+32>>2],y2[36+r>>2]=f,i=y2[4+(f=v+56|0)>>2],y2[a>>2]=y2[f>>2],y2[4+a>>2]=i,f=y2[v+52>>2],y2[48+r>>2]=y2[v+48>>2],y2[52+r>>2]=f,f=y2[v+68>>2],y2[64+r>>2]=y2[v+64>>2],y2[68+r>>2]=f,v=y2[4+(r=v+72|0)>>2],y2[t>>2]=y2[r>>2],y2[4+t>>2]=v,f=y2[4+s>>2],r=n+y2[u>>2]|0,y2[r>>2]=y2[s>>2],y2[4+r>>2]=f,f=y2[d+4>>2],y2[(v=8+r|0)>>2]=y2[d>>2],y2[v+4>>2]=f,v=y2[20+s>>2],y2[16+r>>2]=y2[16+s>>2],y2[20+r>>2]=v,d=y2[4+o>>2],y2[(v=24+r|0)>>2]=y2[o>>2],y2[v+4>>2]=d,v=y2[36+s>>2],y2[32+r>>2]=y2[32+s>>2],y2[36+r>>2]=v,d=y2[4+_>>2],y2[(v=40+r|0)>>2]=y2[_>>2],y2[v+4>>2]=d,v=y2[52+s>>2],y2[48+r>>2]=y2[48+s>>2],y2[52+r>>2]=v,d=y2[4+b>>2],y2[(v=56+r|0)>>2]=y2[b>>2],y2[v+4>>2]=d,d=y2[4+g>>2],y2[(v=72+r|0)>>2]=y2[g>>2],y2[v+4>>2]=d,v=y2[68+s>>2],y2[64+r>>2]=y2[64+s>>2],y2[68+r>>2]=v,y2[A+72>>2]&&(y2[y2[76+(y2[A+32>>2]+l|0)>>2]+36>>2]=e),y2[A+24>>2]=y2[A+24>>2]-1,L2=80+s|0}function Q4(A,e,r,f,i,a,n,b,t,o){e|=0,f|=0,i|=0,a|=0,n|=0,b|=0,t|=0,A=y2[(A|=0)+32>>2]+((o|=0)<<5)|0,y2[(r|=0)>>2]=y2[A+12>>2],y2[i>>2]=y2[A+20>>2],y2[e>>2]=y2[A+16>>2],y2[f>>2]=y2[A+28>>2],y2[b>>2]=y2[A>>2],y2[a>>2]=y2[A+4>>2],y2[t>>2]=y2[A+24>>2],y2[n>>2]=y2[A+8>>2]}function h4(A){var e;return y2[(A|=0)>>2]=18148,(e=y2[A+156>>2])&&(U2[A+160|0]&&(y2[6503]=y2[6503]+1,$2(y2[e-4>>2])),y2[A+156>>2]=0),y2[A+156>>2]=0,y2[A+148>>2]=0,y2[A+152>>2]=0,X2[A+160|0]=1,(e=y2[A+136>>2])&&(U2[A+140|0]&&(y2[6503]=y2[6503]+1,$2(y2[e-4>>2])),y2[A+136>>2]=0),y2[A+136>>2]=0,y2[A+128>>2]=0,y2[A+132>>2]=0,X2[A+140|0]=1,(e=y2[A+116>>2])&&(U2[A+120|0]&&(y2[6503]=y2[6503]+1,$2(y2[e-4>>2])),y2[A+116>>2]=0),y2[A+116>>2]=0,y2[A+108>>2]=0,y2[A+112>>2]=0,X2[A+120|0]=1,(e=y2[A+96>>2])&&(U2[A+100|0]&&(y2[6503]=y2[6503]+1,$2(y2[e-4>>2])),y2[A+96>>2]=0),y2[A+96>>2]=0,y2[A+88>>2]=0,y2[A+92>>2]=0,y2[A>>2]=18036,X2[A+100|0]=1,(e=y2[A+32>>2])&&(U2[A+36|0]&&(y2[6503]=y2[6503]+1,$2(y2[e-4>>2])),y2[A+32>>2]=0),y2[A+32>>2]=0,y2[A+24>>2]=0,y2[A+28>>2]=0,X2[A+36|0]=1,0|A}function G4(A){return y2[(A|=0)+24>>2]}function F4(A,e){var r,f=0,i=0,a=0,n=0,b=0,t=0;if(U2[A+164|0]){if((0|(a=y2[A+128>>2]))==y2[A+132>>2]&&!((0|(n=a?a<<1:1))<=(0|a))){n&&(y2[6502]=y2[6502]+1,f=q2(16+(n<<2|3)|0))&&(y2[(i=f+19&-16)-4>>2]=f),b=y2[A+136>>2];A:{if(1<=(0|a)){for(f=i,t=b;;)if(y2[f>>2]=y2[t>>2],f=f+4|0,t=t+4|0,!(a=a-1|0))break}else if(!b)break A;U2[A+140|0]&&(y2[6503]=y2[6503]+1,$2(y2[b-4>>2])),y2[A+136>>2]=0,a=y2[A+128>>2]}y2[A+136>>2]=i,y2[A+132>>2]=n,X2[A+140|0]=1}i=y2[A+136>>2],y2[i+(a<<2)>>2]=e,y2[y2[A+32>>2]+4>>2]=i,y2[A+128>>2]=y2[A+128>>2]+1}else{if((0|(i=y2[A+148>>2]))==y2[A+152>>2]&&!((0|(r=i?i<<1:1))<=(0|i))){r&&(y2[6502]=y2[6502]+1,f=q2(19+(r<<1)|0))&&(y2[(n=f+19&-16)-4>>2]=f),b=y2[A+156>>2];A:{if(1<=(0|i)){for(f=n,t=b,a=i;;)if(A2[f>>1]=e2[t>>1],f=f+2|0,t=t+2|0,!(a=a-1|0))break}else if(!b)break A;U2[A+160|0]&&(y2[6503]=y2[6503]+1,$2(y2[b-4>>2]),i=y2[A+148>>2]),y2[A+156>>2]=0}y2[A+156>>2]=n,y2[A+152>>2]=r,X2[A+160|0]=1}y2[A+148>>2]=i+1,f=y2[A+32>>2],A=y2[A+156>>2],y2[f+4>>2]=A,A2[A+(i<<1)>>1]=e}}function D4(A,e,r){var f=0,i=0,a=0,n=0,b=0,t=0,o=j2(0),c=j2(0),k=j2(0),u=j2(0),l=j2(0),s=j2(0);A:{if(U2[A+165|0]){if(!((0|(a=y2[A+88>>2]))<1)&&r)for(r=y2[A+96>>2],k=H2[A+168>>2],u=H2[e+8>>2],l=H2[e+4>>2],s=H2[e>>2];;){if(o=j2(H2[r>>2]-s),c=j2(o*o),o=j2(H2[r+4>>2]-l),c=j2(c+j2(o*o)),o=j2(H2[r+8>>2]-u),k>=j2(c+j2(o*o)))break A;if(r=r+16|0,(0|(b=b+1|0))==(0|a))break}if(r=y2[A+32>>2],y2[r+12>>2]=y2[r+12>>2]+1,y2[A+92>>2]==(0|a)&&!((0|(b=a?a<<1:1))<=(0|a))){if(b&&(y2[6502]=y2[6502]+1,r=q2(16+(b<<4|3)|0))&&(y2[(f=r+19&-16)-4>>2]=r),1<=(0|a))for(r=0;;)if(i=y2[A+96>>2]+r|0,n=y2[i+4>>2],y2[(t=r+f|0)>>2]=y2[i>>2],y2[t+4>>2]=n,n=y2[(i=i+8|0)+4>>2],y2[(t=t+8|0)>>2]=y2[i>>2],y2[t+4>>2]=n,r=r+16|0,!(a=a-1|0))break;(r=y2[A+96>>2])&&(U2[A+100|0]&&(y2[6503]=y2[6503]+1,$2(y2[r-4>>2])),y2[A+96>>2]=0),y2[A+96>>2]=f,y2[A+92>>2]=b,X2[A+100|0]=1,a=y2[A+88>>2]}return r=y2[e+4>>2],f=y2[(n=A+96|0)>>2]+(a<<4)|0,y2[f>>2]=y2[e>>2],y2[f+4>>2]=r,e=y2[(r=e+8|0)+4>>2],y2[(f=f+8|0)>>2]=y2[r>>2],y2[f+4>>2]=e,y2[y2[A+32>>2]+16>>2]=y2[n>>2],A=y2[(e=A)+88>>2],y2[e+88>>2]=A+1,A}if(!((0|(i=y2[A+108>>2]))<1)&&r)for(r=y2[A+116>>2],k=H2[A+168>>2],u=H2[e+8>>2],l=H2[e+4>>2],s=H2[e>>2];;){if(o=j2(H2[r>>2]-s),c=j2(o*o),o=j2(H2[r+4>>2]-l),c=j2(c+j2(o*o)),o=j2(H2[r+8>>2]-u),k>=j2(c+j2(o*o)))break A;if(r=r+12|0,b=b+1|0,!((0|(a=a+3|0))<(0|i)))break}if((0|i)==(0|(f=y2[A+112>>2])))if((0|(f=i?i<<1:1))<=(0|i))f=i;else{f&&(y2[6502]=y2[6502]+1,r=q2(16+(f<<2|3)|0))&&(y2[(n=r+19&-16)-4>>2]=r),t=y2[A+116>>2];e:{if(1<=(0|i)){for(r=n,b=t,a=i;;)if(y2[r>>2]=y2[b>>2],r=r+4|0,b=b+4|0,!(a=a-1|0))break}else if(!t)break e;U2[A+120|0]&&(y2[6503]=y2[6503]+1,$2(y2[t-4>>2]),i=y2[A+108>>2]),y2[A+116>>2]=0}y2[A+116>>2]=n,y2[A+112>>2]=f,X2[A+120|0]=1}if(y2[A+108>>2]=r=i+1|0,t=y2[A+116>>2],y2[t+(i<<2)>>2]=y2[e>>2],(0|r)!=(0|f))n=t,i=f,f=r;else if((0|(i=f?f<<1:1))<=(0|f))n=t,i=f;else{n=0,i&&(y2[6502]=y2[6502]+1,r=q2(16+(i<<2|3)|0))&&(y2[(n=r+19&-16)-4>>2]=r,t=y2[A+116>>2]);e:{if(1<=(0|f)){for(r=n,b=t,a=f;;)if(y2[r>>2]=y2[b>>2],r=r+4|0,b=b+4|0,!(a=a-1|0))break}else if(!t)break e;U2[A+120|0]&&(y2[6503]=y2[6503]+1,$2(y2[t-4>>2]),f=y2[A+108>>2]),y2[A+116>>2]=0}y2[A+116>>2]=n,y2[A+112>>2]=i,X2[A+120|0]=1}if(y2[A+108>>2]=r=f+1|0,y2[(f<<2)+n>>2]=y2[e+4>>2],(0|r)!=(0|i))f=n,i=r;else if((0|(t=i?i<<1:1))<=(0|i))f=n;else{f=0,t&&(y2[6502]=y2[6502]+1,r=q2(16+(t<<2|3)|0))&&(y2[(f=r+19&-16)-4>>2]=r,n=y2[A+116>>2]);e:{if(1<=(0|i)){for(r=f,b=n,a=i;;)if(y2[r>>2]=y2[b>>2],r=r+4|0,b=b+4|0,!(a=a-1|0))break}else if(!n)break e;U2[A+120|0]&&(y2[6503]=y2[6503]+1,$2(y2[n-4>>2]),i=y2[A+108>>2]),y2[A+116>>2]=0}y2[A+116>>2]=f,y2[A+112>>2]=t,X2[A+120|0]=1}y2[A+108>>2]=r=i+1|0,y2[(i<<2)+f>>2]=y2[e+8>>2],A=y2[A+32>>2],y2[A+16>>2]=f,y2[A+12>>2]=y2[A+12>>2]+1,b=((0|r)/3|0)-1|0}return b}function Y4(A,e){var r=y2[(e|=0)+4>>2];y2[(A|=0)+24>>2]=y2[e>>2],y2[A+28>>2]=r,r=y2[(e=e+8|0)+4>>2],y2[(A=A+32|0)>>2]=y2[e>>2],y2[A+4>>2]=r}function m4(A){return(A|=0)+24|0}function N4(A,e,r){e=j2(e)}function R4(A,e,r,f){}function I4(A,e,r){return r=j2(r),0}function W4(A){return y2[(A|=0)+16>>2]}function T4(A,e){N2[y2[y2[(A|=0)>>2]+64>>2]](A,e|=0)}function V4(A,e,r,f,i,a,n,b,t,o,c){var k;j2(0),j2(0);return r=j2(j2(j2(r*a)+j2(f*n))+j2(i*b)),f=j2(j2(j2(H2[A>>2]*a)+j2(H2[A+16>>2]*n))+j2(H2[A+32>>2]*b)),i=H2[t+80>>2],k=j2(f*(f>2]*a)+j2(H2[A+20>>2]*n))+j2(H2[A+36>>2]*b)),i=H2[t+84>>2],k=j2(k+j2(f*(f>2]*a)+j2(H2[A+24>>2]*n))+j2(H2[A+40>>2]*b)),i=H2[t+88>>2],f=j2(k+j2(f*(f>2])>2]*a)+j2(H2[e+16>>2]*n))+j2(H2[e+32>>2]*b)),i=H2[o+80>>2],A=j2(f*(f>2]*a)+j2(H2[e+20>>2]*n))+j2(H2[e+36>>2]*b)),i=H2[o+84>>2],A=j2(A+j2(f*(f>2]*a)+j2(H2[e+24>>2]*n))+j2(H2[e+40>>2]*b)),i=H2[o+88>>2],f=j2(A+j2(f*(f>2],f=j2(k+(i>2]))<=-1)for(y2[i+8>>2]<=-1&&((t=y2[i+12>>2])&&(U2[i+16|0]&&(y2[6503]=y2[6503]+1,$2(y2[t-4>>2])),y2[i+12>>2]=0),X2[i+16|0]=1,y2[i+8>>2]=0,y2[i+12>>2]=0),c=o<<4;;)if(w=y2[4+b>>2],t=y2[i+12>>2]+c|0,y2[t>>2]=y2[b>>2],y2[t+4>>2]=w,k=y2[(w=8+b|0)+4>>2],y2[(t=t+8|0)>>2]=y2[w>>2],y2[t+4>>2]=k,c=c+16|0,!((t=o)>>>0<=(o=t+1|0)>>>0))break;if(((y2[i+4>>2]=c=0)|(o=y2[f+4>>2]))>y2[i+8>>2]&&(o&&(y2[6502]=y2[6502]+1,t=q2(16+(o<<4|3)|0))&&(y2[(c=t+19&-16)-4>>2]=t),(t=y2[i+12>>2])&&(U2[i+16|0]&&(y2[6503]=y2[6503]+1,$2(y2[t-4>>2])),y2[i+12>>2]=0),y2[i+12>>2]=c,X2[i+16|0]=1,y2[i+8>>2]=o),!((0|(k=y2[e+28>>2]))<1)){for(o=(a=y2[e+36>>2])+28|0,u=H2[r+40>>2],d=H2[r+36>>2],B=H2[r+24>>2],E=H2[r+20>>2],Y=H2[A+8>>2],N=H2[A+4>>2],W=H2[A>>2],Q=H2[r+32>>2],g=H2[r+16>>2],Z=H2[r+8>>2],C=H2[r+4>>2],h=H2[r>>2],c=0,s=j2(34028234663852886e22),t=-1;;)if(F=H2[o-8>>2],R=H2[o-4>>2],I=H2[o>>2],s=(w=(F=j2(j2(j2(j2(j2(j2(F*h)+j2(R*C))+j2(I*Z))*W)+j2(j2(j2(j2(F*g)+j2(R*E))+j2(I*B))*N))+j2(j2(j2(j2(F*Q)+j2(R*d))+j2(I*u))*Y)))>2]))<1)o=f;else for(j=28+a|0,z=24+a|0,O=20+a|0,K=12+a|0,t=0;;){if(o=i,X=(0|(w=t+1|0))==(0|M),2<=(0|(f=y2[(i=f)+4>>2]))){for(k=y2[e+16>>2],c=y2[K>>2],t=k+(y2[c+(t<<2)>>2]<<4)|0,s=H2[t>>2],c=k+(y2[c+((X?0:w)<<2)>>2]<<4)|0,Y=j2(s-H2[c>>2]),F=H2[t+4>>2],N=j2(F-H2[c+4>>2]),R=H2[t+8>>2],W=j2(R-H2[c+8>>2]),y=j2(j2(j2(Y*Q)+j2(N*d))+j2(W*u)),n=H2[O>>2],S=H2[z>>2],J=H2[j>>2],U=j2(j2(j2(h*n)+j2(C*S))+j2(Z*J)),H=j2(j2(j2(Y*h)+j2(N*C))+j2(W*Z)),P=j2(j2(j2(Q*n)+j2(d*S))+j2(u*J)),I=j2(-j2(j2(y*U)-j2(H*P))),T=j2(j2(j2(j2(j2(s*g)+j2(F*E))+j2(R*B))+H2[r+52>>2])*I),N=j2(j2(j2(Y*g)+j2(N*E))+j2(W*B)),B=j2(j2(j2(g*n)+j2(E*S))+j2(B*J)),Y=j2(j2(N*P)-j2(y*B)),g=j2(T-j2(Y*j2(j2(j2(j2(s*h)+j2(F*C))+j2(R*Z))+H2[r+48>>2]))),C=j2(j2(H*B)-j2(N*U)),h=j2(g-j2(C*j2(j2(j2(j2(s*Q)+j2(F*d))+j2(R*u))+H2[r+56>>2]))),c=y2[i+12>>2],s=H2[(t=(c+(f<<4)|0)-16|0)+4>>2],d=H2[t>>2],B=H2[t+8>>2],u=j2(j2(j2(j2(s*I)-j2(Y*d))-j2(C*B))-h),D=0;;){E=H2[(t=(D<<4)+c|0)+4>>2],Q=H2[t>>2],g=H2[t+8>>2],Z=j2(j2(j2(j2(E*I)-j2(Y*Q))-j2(C*g))-h),m=y2[t+12>>2];A:{if(u>2]))==y2[o+8>>2]&&!((0|(_=t?t<<1:1))<=(0|t))){if(k=0,_&&(y2[6502]=y2[6502]+1,(t=q2(16+(_<<4|3)|0))&&(y2[(k=t+19&-16)-4>>2]=t),t=y2[o+4>>2]),1<=(0|t))for(c=0;;)if(l=y2[o+12>>2]+c|0,G=y2[l+4>>2],y2[(v=c+k|0)>>2]=y2[l>>2],y2[v+4>>2]=G,G=y2[(l=l+8|0)+4>>2],y2[(v=v+8|0)>>2]=y2[l>>2],y2[v+4>>2]=G,c=c+16|0,!(t=t-1|0))break;(t=y2[o+12>>2])&&(U2[o+16|0]&&(y2[6503]=y2[6503]+1,$2(y2[t-4>>2])),y2[o+12>>2]=0),y2[o+12>>2]=k,X2[o+16|0]=1,y2[o+8>>2]=_,t=y2[o+4>>2]}t=y2[o+12>>2]+(t<<4)|0,y2[t+12>>2]=m,H2[t+8>>2]=g,H2[t+4>>2]=E,H2[t>>2]=Q}else{if(u=j2(u/j2(u-Z)),B=j2(B+j2(j2(g-B)*u)),s=j2(s+j2(j2(E-s)*u)),u=j2(d+j2(j2(Q-d)*u)),(0|(t=y2[o+4>>2]))==y2[o+8>>2]&&!((0|(k=t?t<<1:1))<=(0|t))){if(_=0,k&&(y2[6502]=y2[6502]+1,(t=q2(16+(k<<4|3)|0))&&(y2[(_=t+19&-16)-4>>2]=t),t=y2[o+4>>2]),1<=(0|t))for(c=0;;)if(m=y2[o+12>>2]+c|0,G=y2[m+4>>2],y2[(l=c+_|0)>>2]=y2[m>>2],y2[l+4>>2]=G,v=y2[(m=m+8|0)+4>>2],y2[(l=l+8|0)>>2]=y2[m>>2],y2[l+4>>2]=v,c=c+16|0,!(t=t-1|0))break;(t=y2[o+12>>2])&&(U2[o+16|0]&&(y2[6503]=y2[6503]+1,$2(y2[t-4>>2])),y2[o+12>>2]=0),y2[o+12>>2]=_,X2[o+16|0]=1,y2[o+8>>2]=k,t=y2[o+4>>2]}t=y2[o+12>>2]+(t<<4)|0,y2[t+12>>2]=0,H2[t+8>>2]=B,H2[t+4>>2]=s,H2[t>>2]=u}}else{if(!(Z>2]))==y2[o+8>>2]&&!((0|(_=t?t<<1:1))<=(0|t))){if(k=0,_&&(y2[6502]=y2[6502]+1,(t=q2(16+(_<<4|3)|0))&&(y2[(k=t+19&-16)-4>>2]=t),t=y2[o+4>>2]),1<=(0|t))for(c=0;;)if(l=y2[o+12>>2]+c|0,G=y2[l+4>>2],y2[(v=c+k|0)>>2]=y2[l>>2],y2[v+4>>2]=G,G=y2[(l=l+8|0)+4>>2],y2[(v=v+8|0)>>2]=y2[l>>2],y2[v+4>>2]=G,c=c+16|0,!(t=t-1|0))break;(t=y2[o+12>>2])&&(U2[o+16|0]&&(y2[6503]=y2[6503]+1,$2(y2[t-4>>2])),y2[o+12>>2]=0),y2[o+12>>2]=k,X2[o+16|0]=1,y2[o+8>>2]=_,t=y2[o+4>>2]}if(t=y2[o+12>>2]+(t<<4)|0,y2[t+12>>2]=0,H2[t+8>>2]=B,H2[t+4>>2]=s,H2[t>>2]=u,t=y2[o+4>>2]+1|0,y2[o+4>>2]=t,y2[o+8>>2]==(0|t)&&!((0|(_=t?t<<1:1))<=(0|t))){if(k=0,_&&(y2[6502]=y2[6502]+1,(t=q2(16+(_<<4|3)|0))&&(y2[(k=t+19&-16)-4>>2]=t),t=y2[o+4>>2]),1<=(0|t))for(c=0;;)if(l=y2[o+12>>2]+c|0,G=y2[l+4>>2],y2[(v=c+k|0)>>2]=y2[l>>2],y2[v+4>>2]=G,G=y2[(l=l+8|0)+4>>2],y2[(v=v+8|0)>>2]=y2[l>>2],y2[v+4>>2]=G,c=c+16|0,!(t=t-1|0))break;(t=y2[o+12>>2])&&(U2[o+16|0]&&(y2[6503]=y2[6503]+1,$2(y2[t-4>>2])),y2[o+12>>2]=0),y2[o+12>>2]=k,X2[o+16|0]=1,y2[o+8>>2]=_,t=y2[o+4>>2]}t=y2[o+12>>2]+(t<<4)|0,y2[t+12>>2]=m,H2[t+8>>2]=g,H2[t+4>>2]=E,H2[t>>2]=Q}y2[o+4>>2]=y2[o+4>>2]+1}if((0|(D=D+1|0))==(0|f))break;c=y2[i+12>>2],u=Z,B=g,s=E,d=Q}f=y2[i+4>>2]}if((0|f)<=-1)for(y2[i+8>>2]<=-1&&((t=y2[i+12>>2])&&(U2[i+16|0]&&(y2[6503]=y2[6503]+1,$2(y2[t-4>>2])),y2[i+12>>2]=0),X2[i+16|0]=1,y2[i+8>>2]=0,y2[i+12>>2]=0),c=f<<4;;)if(k=y2[4+b>>2],t=y2[i+12>>2]+c|0,y2[t>>2]=y2[b>>2],y2[t+4>>2]=k,D=y2[(k=8+b|0)+4>>2],y2[(t=t+8|0)>>2]=y2[k>>2],y2[t+4>>2]=D,c=c+16|0,!((t=f)>>>0<=(f=t+1|0)>>>0))break;if(y2[i+4>>2]=0,u=H2[r+40>>2],d=H2[r+36>>2],Q=H2[r+32>>2],B=H2[r+24>>2],E=H2[r+20>>2],g=H2[r+16>>2],Z=H2[r+8>>2],C=H2[r+4>>2],h=H2[r>>2],t=w,f=o,X)break}if(!((0|(D=y2[o+4>>2]))<1))for(s=H2[20+a>>2],T=j2(s*h),h=H2[24+a>>2],T=j2(T+j2(h*C)),C=H2[28+a>>2],Z=j2(T+j2(C*Z)),B=j2(j2(j2(s*g)+j2(h*E))+j2(C*B)),u=j2(j2(j2(s*Q)+j2(h*d))+j2(C*u)),s=j2(H2[32+a>>2]-j2(j2(j2(Z*H2[r+48>>2])+j2(B*H2[r+52>>2]))+j2(u*H2[r+56>>2]))),f=t=0;;)if(r=(e=y2[o+12>>2]+t|0)+8|0,t=t+16|0,(d=(d=j2(s+j2(j2(j2(Z*H2[e>>2])+j2(B*H2[e+4>>2]))+j2(u*H2[r>>2]))))<=V?V:d)<=x&&(w=y2[r+4>>2],y2[(i=8+b|0)>>2]=y2[r>>2],y2[i+4>>2]=w,r=y2[e+4>>2],y2[b>>2]=y2[e>>2],y2[4+b>>2]=r,N2[y2[y2[p>>2]+16>>2]](p,A,b,d),D=y2[o+4>>2]),!((0|(f=f+1|0))<(0|D)))break}}L2=16+b|0}function p4(A,e,r,f,i,a,n,b,t,o,c){var k,u=j2(0),l=j2(0),s=j2(0),v=(j2(0),j2(0),j2(0),j2(0),j2(0),j2(0),j2(0),j2(0),j2(0),j2(0),j2(0),j2(0),H2[(b=(b<<2)+o|0)>>2]),B=j2(H2[o+48>>2]-H2[t+48>>2]),d=H2[b+16>>2],_=j2(H2[o+52>>2]-H2[t+52>>2]),b=H2[b+32>>2],g=j2(H2[o+56>>2]-H2[t+56>>2]),s=j2(j2(j2(v*B)+j2(d*_))+j2(b*g)),t=H2[(n=(n<<2)+t|0)>>2],Z=H2[n+16>>2],n=H2[n+32>>2],C=j2(j2(j2(t*B)+j2(Z*_))+j2(n*g)),w=j2(j2(j2(t*v)+j2(Z*d))+j2(n*b));(l=j2(j2(1)-j2(w*w)))==j2(0)||(u=j2(-r),(l=j2(j2(C-j2(w*s))/l))j2(.7071067690849304)?(y2[A>>2]=0,f=j2(j2(1)/j2(K2(j2(j2(Z*Z)+j2(n*n))))),r=j2(Z*f),H2[A+8>>2]=r,u=j2(f*j2(-n)),H2[A+4>>2]=u,f=j2(0)):(y2[A+8>>2]=0,r=j2(j2(1)/j2(K2(j2(j2(t*t)+j2(Z*Z))))),u=j2(t*r),H2[A+4>>2]=u,f=j2(r*j2(-Z)),H2[A>>2]=f,r=j2(0)):(y2[A+12>>2]=0,f=j2(j2(-1)/C),r=j2(r*f),H2[A+8>>2]=r,u=j2(c*f),H2[A+4>>2]=u,f=j2(i*f),H2[A>>2]=f),i=H2[o+48>>2],c=H2[o+52>>2],Z=H2[o+56>>2],y2[e+12>>2]=0,H2[e+8>>2]=j2(s+Z)+j2(r*a),H2[e+4>>2]=j2(l+c)+j2(u*a),H2[e>>2]=j2(w+i)+j2(f*a)),v}function S4(A,e,r,f){j2(f)}function J4(A,e,r){var f,i,a,n,b,t=0,o=0,c=0,k=0;if(L2=b=L2-32|0,n=U2[A+68|0],a=y2[(i=n?r:e)+4>>2],f=y2[a+24>>2],(0|(k=y2[A+52>>2]))<(0|f)){if(y2[A+56>>2]<(0|f)){if(f&&(y2[6502]=y2[6502]+1,t=q2(16+(f<<2|3)|0))&&(y2[(c=t+19&-16)-4>>2]=t),1<=(0|k))for(t=k;;)if(y2[o+c>>2]=y2[y2[A+60>>2]+o>>2],o=o+4|0,!(t=t-1|0))break;(t=y2[A+60>>2])&&(U2[A- -64|0]&&(y2[6503]=y2[6503]+1,$2(y2[t-4>>2])),y2[A+60>>2]=0),y2[A+60>>2]=c,y2[A+56>>2]=f,X2[A- -64|0]=1}for(o=k<<2,t=f-k|0;;)if(o=o+4|(y2[y2[A+60>>2]+o>>2]=0),!(t=t-1|0))break}if(1<=(0|(y2[A+52>>2]=f)))for(e=n?e:r,t=64,c=o=0;;)if(y2[a+72>>2]?y2[y2[A+60>>2]+o>>2]=0:(r=y2[y2[a+32>>2]+t>>2],y2[28+b>>2]=c,y2[24+b>>2]=-1,y2[8+b>>2]=i,k=y2[i+12>>2],y2[16+b>>2]=y2[i+8>>2],y2[20+b>>2]=k,y2[12+b>>2]=r,r=y2[A+4>>2],r=0|N2[y2[y2[r>>2]+8>>2]](r,8+b|0,e,y2[A+72>>2],1),y2[y2[A+60>>2]+o>>2]=r),t=t+80|0,o=o+4|0,(0|(c=c+1|0))==(0|f))break;L2=32+b|0}function M4(A){var e,r=0,f=0;if(y2[(A|=0)>>2]=20264,1<=(0|(f=y2[A+52>>2])))for(;;)if((e=y2[y2[A+60>>2]+r>>2])&&(N2[y2[y2[e>>2]>>2]](e),e=y2[A+4>>2],N2[y2[y2[e>>2]+60>>2]](e,y2[y2[A+60>>2]+r>>2])),r=r+4|0,!(f=f-1|0))break;return(r=y2[A+60>>2])&&(U2[A- -64|0]&&(y2[6503]=y2[6503]+1,$2(y2[r-4>>2])),y2[A+60>>2]=0),y2[A+60>>2]=0,y2[A+52>>2]=0,y2[A+56>>2]=0,X2[A- -64|0]=1,(r=y2[A+40>>2])&&(U2[A+44|0]&&(y2[6503]=y2[6503]+1,$2(y2[r-4>>2])),y2[A+40>>2]=0),y2[A+40>>2]=0,y2[A+32>>2]=0,y2[A+36>>2]=0,X2[A+44|0]=1,(r=y2[A+20>>2])&&(U2[A+24|0]&&(y2[6503]=y2[6503]+1,$2(y2[r-4>>2])),y2[A+20>>2]=0),y2[A+20>>2]=0,y2[A+12>>2]=0,y2[A+16>>2]=0,X2[A+24|0]=1,0|A}function X4(A,e,r,f,i){A|=0,e|=0,r|=0,f|=0,i|=0;var a,n,b,V,x,p,S,t,o=0,c=0,k=0,u=j2(0),l=j2(0),s=j2(0),v=j2(0),B=j2(0),d=j2(0),_=j2(0),g=j2(0),Z=j2(0),C=j2(0),w=j2(0),E=j2(0),Q=j2(0),h=j2(0),G=j2(0),F=j2(0),D=j2(0),Y=j2(0),m=j2(0),N=j2(0),R=j2(0),I=j2(0),W=j2(0),T=j2(0);if(L2=t=L2-160|0,a=U2[A+68|0],n=y2[(b=a?r:e)+4>>2],y2[n+76>>2]!=y2[A+80>>2]){if(1<=(0|(k=y2[A+52>>2])))for(;;)if((c=y2[y2[A+60>>2]+o>>2])&&(N2[y2[y2[c>>2]>>2]](c),c=y2[A+4>>2],N2[y2[y2[c>>2]+60>>2]](c,y2[y2[A+60>>2]+o>>2])),o=o+4|0,!(k=k-1|0))break;J4(A,e,r),y2[A+80>>2]=y2[n+76>>2]}if(c=y2[A+52>>2]){if(k=y2[n+72>>2],y2[148+t>>2]=i,y2[144+t>>2]=f,y2[136+t>>2]=a=a?e:r,y2[132+t>>2]=b,y2[128+t>>2]=20304,y2[156+t>>2]=y2[A+72>>2],y2[152+t>>2]=y2[A+60>>2],y2[140+t>>2]=y2[A+4>>2],(0|(o=y2[A+32>>2]))<=-1){for(y2[A+36>>2]<=-1&&((e=y2[A+40>>2])&&(U2[A+44|0]&&(y2[6503]=y2[6503]+1,$2(y2[e-4>>2])),y2[A+40>>2]=0),y2[A+36>>2]=0,y2[A+40>>2]=0,X2[A+44|0]=1),c=o<<2;;)if(c=c+4|(y2[y2[A+40>>2]+c>>2]=0),!((e=o)>>>0<=(o=e+1|0)>>>0))break;c=y2[A+52>>2]}if(1<=((y2[A+32>>2]=0)|c))for(p=A+28|0,r=0;;){if(e=y2[y2[A+60>>2]+(r<<2)>>2]){if(N2[y2[y2[e>>2]+16>>2]](e,p),1<=(0|(o=y2[A+32>>2])))for(e=c=0;;)if(f=y2[y2[A+40>>2]+c>>2],y2[f+844>>2]&&(y2[i+4>>2]=f,V=y2[y2[i+8>>2]+8>>2],x=y2[f+836>>2],S=f,f=y2[y2[i+12>>2]+8>>2],W2(S,((o=(0|V)==(0|x))?x:f)+4|0,(o?f:V)+4|0),y2[i+4>>2]=0,o=y2[A+32>>2]),c=c+4|0,!((0|(e=e+1|0))<(0|o)))break;if((0|o)<=-1)for(y2[A+36>>2]<=-1&&((e=y2[A+40>>2])&&(U2[A+44|0]&&(y2[6503]=y2[6503]+1,$2(y2[e-4>>2])),y2[A+40>>2]=0),X2[A+44|0]=1,y2[A+36>>2]=0,y2[A+40>>2]=0),c=o<<2;;)if(c=c+4|(y2[y2[A+40>>2]+c>>2]=0),!((e=o)>>>0<=(o=e+1|0)>>>0))break;y2[A+32>>2]=0,c=y2[A+52>>2]}if(!((0|(r=r+1|0))<(0|c)))break}if(k){if(e=y2[b+12>>2],C=H2[e+52>>2],w=H2[e+56>>2],r=y2[a+12>>2],E=H2[r+52>>2],Q=H2[r+56>>2],u=H2[e+20>>2],l=H2[e+36>>2],h=H2[r+20>>2],G=H2[r+36>>2],F=H2[r+24>>2],s=H2[e+24>>2],D=H2[r+40>>2],v=H2[e+40>>2],Y=H2[r+32>>2],B=H2[e+32>>2],m=H2[r>>2],d=H2[e>>2],N=H2[r+16>>2],_=H2[e+16>>2],R=H2[e+48>>2],I=H2[r+48>>2],g=H2[e+4>>2],W=H2[r+4>>2],T=H2[r+8>>2],Z=H2[e+8>>2],y2[92+t>>2]=0,y2[76+t>>2]=0,y2[60+t>>2]=0,H2[72+t>>2]=j2(j2(Z*T)+j2(s*F))+j2(v*D),H2[68+t>>2]=j2(j2(Z*W)+j2(s*h))+j2(v*G),H2[56+t>>2]=j2(j2(g*T)+j2(u*F))+j2(l*D),H2[52+t>>2]=j2(j2(g*W)+j2(u*h))+j2(l*G),C=j2(-C),H2[88+t>>2]=j2(j2(j2(s*C)-j2(Z*R))-j2(v*w))+j2(j2(j2(Z*I)+j2(s*E))+j2(v*Q)),H2[84+t>>2]=j2(j2(j2(u*C)-j2(g*R))-j2(l*w))+j2(j2(j2(g*I)+j2(u*E))+j2(l*Q)),y2[44+t>>2]=0,H2[32+t>>2]=j2(j2(d*m)+j2(_*N))+j2(B*Y),H2[64+t>>2]=j2(j2(Z*m)+j2(s*N))+j2(v*Y),H2[48+t>>2]=j2(j2(g*m)+j2(u*N))+j2(l*Y),H2[40+t>>2]=j2(j2(d*T)+j2(_*F))+j2(B*D),H2[36+t>>2]=j2(j2(d*W)+j2(_*h))+j2(B*G),H2[80+t>>2]=j2(j2(j2(_*C)-j2(d*R))-j2(B*w))+j2(j2(j2(d*I)+j2(_*E))+j2(B*Q)),e=y2[a+4>>2],N2[y2[y2[e>>2]+8>>2]](e,32+t|0,112+t|0,96+t|0),u=H2[i+32>>2],l=j2(H2[112+t>>2]-u),H2[112+t>>2]=l,s=j2(H2[116+t>>2]-u),H2[116+t>>2]=s,v=j2(H2[120+t>>2]-u),H2[120+t>>2]=v,B=j2(u+H2[96+t>>2]),H2[96+t>>2]=B,d=j2(u+H2[100+t>>2]),H2[100+t>>2]=d,u=j2(u+H2[104+t>>2]),H2[104+t>>2]=u,f=y2[k>>2]){if(e=y2[A+16>>2],(0|(o=y2[A+12>>2]))<=-1)for((0|e)<=-1&&((e=y2[A+20>>2])&&(U2[A+24|0]&&(y2[6503]=y2[6503]+1,$2(y2[e-4>>2])),y2[A+20>>2]=0),y2[A+16>>2]=0,y2[A+20>>2]=0,X2[A+24|0]=1,e=0),c=o<<2;;)if(c=c+4|(y2[y2[A+20>>2]+c>>2]=0),!((r=o)>>>0<=(o=r+1|0)>>>0))break;if(((y2[A+12>>2]=c=0)|e)<=63&&(y2[6502]=y2[6502]+1,o=0,(e=q2(275))&&(y2[(o=e+19&-16)-4>>2]=e),(e=y2[A+20>>2])&&(U2[A+24|0]&&(y2[6503]=y2[6503]+1,$2(y2[e-4>>2]),c=y2[A+12>>2]),y2[A+20>>2]=0),y2[A+20>>2]=o,y2[A+16>>2]=64,X2[A+24|0]=1,e=64),(0|e)==(0|c)){if((0|e)<(0|(i=e<<1))){for(o=0,y2[6502]=y2[6502]+1,(r=q2(16+(e<<3|3)|(k=0)))&&(y2[(k=r+19&-16)-4>>2]=r),c=e;;)if(y2[o+k>>2]=y2[y2[A+20>>2]+o>>2],o=o+4|0,!(c=c-1|0))break;(r=y2[A+20>>2])&&(U2[A+24|0]&&(y2[6503]=y2[6503]+1,$2(y2[r-4>>2]),e=y2[A+12>>2]),y2[A+20>>2]=0),y2[A+20>>2]=k,y2[A+16>>2]=i,X2[A+24|0]=1}c=e}for(y2[A+12>>2]=o=c+1|0,y2[y2[A+20>>2]+(c<<2)>>2]=f;;){if(y2[A+12>>2]=c=o-1|0,i=y2[A+20>>2],f=y2[i+(c<<2)>>2],B>=H2[f>>2]){if(l<=H2[f+16>>2]){if(d>=H2[f+4>>2]){if(s<=H2[f+20>>2]){if(u>=H2[f+8>>2]){if(v<=H2[f+24>>2]){if(y2[f+40>>2]){if((0|c)==(0|(r=y2[A+16>>2])))if((0|(r=c?c<<1:1))<(0|o))r=c;else{if(i=0,r&&(y2[6502]=y2[6502]+1,e=q2(16+(r<<2|3)|0))&&(y2[(i=e+19&-16)-4>>2]=e),2<=(0|o))for(e=o-1|0,o=0;;)if(y2[i+o>>2]=y2[y2[A+20>>2]+o>>2],o=o+4|0,!(e=e-1|0))break;(e=y2[A+20>>2])&&(U2[A+24|0]&&(y2[6503]=y2[6503]+1,$2(y2[e-4>>2]),c=y2[A+12>>2]),y2[A+20>>2]=0),y2[A+20>>2]=i,X2[A+24|0]=1,y2[A+16>>2]=r}if(y2[A+12>>2]=e=c+1|0,y2[(c<<2)+i>>2]=y2[f+36>>2],(0|e)==(0|r)){if((0|r)<(0|(e=r?r<<1:1))){if(i=0,e&&(y2[6502]=y2[6502]+1,c=q2(16+(e<<2|3)|0))&&(y2[(i=c+19&-16)-4>>2]=c),1<=(0|r))for(o=0,c=r;;)if(y2[i+o>>2]=y2[y2[A+20>>2]+o>>2],o=o+4|0,!(c=c-1|0))break;(c=y2[A+20>>2])&&(U2[A+24|0]&&(y2[6503]=y2[6503]+1,$2(y2[c-4>>2]),r=y2[A+12>>2]),y2[A+20>>2]=0),y2[A+20>>2]=i,X2[A+24|0]=1,y2[A+16>>2]=e}e=r}y2[A+12>>2]=o=e+1|0,y2[y2[A+20>>2]+(e<<2)>>2]=y2[f+40>>2]}else N2[y2[y2[128+t>>2]+12>>2]](128+t|0,f),o=y2[A+12>>2];}else o=c;}else o=c;}else o=c;}else o=c;}else o=c;}else o=c;if(!(0<(0|o)))break}}}else if(!((0|c)<1))for(o=0,k=64;;)if(y4(128+t|0,y2[y2[n+32>>2]+k>>2],o),k=k+80|0,(0|(o=o+1|0))==(0|c))break;if(e=y2[A+52>>2],(0|(o=y2[A+32>>2]))<=-1)for(y2[A+36>>2]<=-1&&((r=y2[A+40>>2])&&(U2[A+44|0]&&(y2[6503]=y2[6503]+1,$2(y2[r-4>>2])),y2[A+40>>2]=0),y2[A+36>>2]=0,y2[A+40>>2]=0,X2[A+44|0]=1),c=o<<2;;)if(c=c+4|(y2[y2[A+40>>2]+c>>2]=0),!((r=o)>>>0<=(o=r+1|0)>>>0))break;if(!(((y2[A+32>>2]=0)|e)<1))for(i=32,k=0;;)if(y2[y2[A+60>>2]+k>>2]&&(r=y2[n+32>>2]+i|0,o=y2[r+32>>2],f=y2[b+12>>2],W=H2[f+52>>2],T=H2[f+56>>2],w=H2[r+16>>2],E=H2[r+20>>2],Q=H2[r+24>>2],u=H2[f+20>>2],l=H2[f+24>>2],h=H2[r-32>>2],G=H2[r-16>>2],F=H2[r>>2],D=H2[r-28>>2],Y=H2[r-12>>2],m=H2[r+4>>2],N=H2[r-24>>2],s=H2[f+36>>2],R=H2[r-8>>2],v=H2[f+40>>2],I=H2[r+8>>2],C=H2[f+48>>2],B=H2[f+8>>2],d=H2[f>>2],_=H2[f+4>>2],g=H2[f+16>>2],Z=H2[f+32>>2],y2[92+t>>2]=c=0,y2[76+t>>2]=0,y2[60+t>>2]=0,y2[44+t>>2]=0,H2[72+t>>2]=j2(j2(Z*N)+j2(s*R))+j2(v*I),H2[68+t>>2]=j2(j2(Z*D)+j2(s*Y))+j2(v*m),H2[64+t>>2]=j2(j2(Z*h)+j2(s*G))+j2(v*F),H2[56+t>>2]=j2(j2(g*N)+j2(u*R))+j2(l*I),H2[52+t>>2]=j2(j2(g*D)+j2(u*Y))+j2(l*m),H2[48+t>>2]=j2(j2(g*h)+j2(u*G))+j2(l*F),H2[40+t>>2]=j2(j2(d*N)+j2(_*R))+j2(B*I),H2[36+t>>2]=j2(j2(d*D)+j2(_*Y))+j2(B*m),H2[32+t>>2]=j2(j2(d*h)+j2(_*G))+j2(B*F),H2[88+t>>2]=T+j2(j2(j2(Z*w)+j2(s*E))+j2(v*Q)),H2[84+t>>2]=W+j2(j2(j2(g*w)+j2(u*E))+j2(l*Q)),H2[80+t>>2]=C+j2(j2(j2(d*w)+j2(_*E))+j2(B*Q)),N2[y2[y2[o>>2]+8>>2]](o,32+t|0,112+t|0,96+t|0),r=y2[a+4>>2],N2[y2[y2[r>>2]+8>>2]](r,y2[a+12>>2],16+t|0,t),r=0,H2[112+t>>2]>H2[t>>2]||(r=0,H2[96+t>>2]>2])||(r=1),H2[120+t>>2]>H2[8+t>>2]||H2[104+t>>2]>2]||(c=r),H2[116+t>>2]>H2[4+t>>2]||H2[100+t>>2]>2]||1^c)&&(r=y2[y2[A+60>>2]+k>>2],N2[y2[y2[r>>2]>>2]](r),r=y2[A+4>>2],N2[y2[y2[r>>2]+60>>2]](r,y2[y2[A+60>>2]+k>>2]),y2[y2[A+60>>2]+k>>2]=0),i=i+80|0,k=k+4|0,!(e=e-1|0))break}L2=160+t|0}function y4(A,e,r){var f,i,a,n,b,t,o,c,k,u,l,s,v,B,d,_,g,Z,C,w,E,Q,h,G,F=0,D=(j2(0),0);j2(0),j2(0),j2(0),j2(0),j2(0),j2(0),j2(0),j2(0),j2(0),j2(0),j2(0),j2(0),j2(0),j2(0),j2(0),j2(0),j2(0),j2(0),j2(0),j2(0),j2(0);L2=G=L2-160|0,D=y2[A+4>>2],F=y2[D+12>>2],s=H2[F+52>>2],b=H2[F+56>>2],f=H2[F+24>>2],t=H2[F+20>>2],i=H2[F+40>>2],a=H2[F+36>>2],o=y2[y2[D+4>>2]+32>>2],Q=H2[F+48>>2],c=H2[F+8>>2],k=H2[F>>2],u=H2[F+4>>2],l=H2[F+16>>2],n=H2[F+32>>2],y2[156+G>>2]=D=0,y2[140+G>>2]=0,y2[124+G>>2]=0,F=o+P2(r,80)|0,v=H2[F+8>>2],B=H2[F+24>>2],d=H2[F+40>>2],H2[136+G>>2]=j2(j2(n*v)+j2(a*B))+j2(i*d),_=H2[F+4>>2],g=H2[F+20>>2],Z=H2[F+36>>2],H2[132+G>>2]=j2(j2(n*_)+j2(a*g))+j2(i*Z),H2[120+G>>2]=j2(j2(l*v)+j2(t*B))+j2(f*d),H2[116+G>>2]=j2(j2(l*_)+j2(t*g))+j2(f*Z),C=b,b=H2[F+48>>2],w=H2[F+52>>2],E=H2[F+56>>2],H2[152+G>>2]=C+j2(j2(j2(n*b)+j2(a*w))+j2(i*E)),H2[148+G>>2]=s+j2(j2(j2(l*b)+j2(t*w))+j2(f*E)),y2[108+G>>2]=0,C=n,n=H2[F>>2],s=a,a=H2[F+16>>2],h=i,i=H2[F+32>>2],H2[128+G>>2]=j2(j2(C*n)+j2(s*a))+j2(h*i),H2[112+G>>2]=j2(j2(l*n)+j2(t*a))+j2(f*i),H2[96+G>>2]=j2(j2(k*n)+j2(u*a))+j2(c*i),H2[104+G>>2]=j2(j2(k*v)+j2(u*B))+j2(c*d),H2[100+G>>2]=j2(j2(k*_)+j2(u*g))+j2(c*Z),H2[144+G>>2]=Q+j2(j2(j2(k*b)+j2(u*w))+j2(c*E)),N2[y2[y2[e>>2]+8>>2]](e,96+G|0,80+G|0,G+64|0),f=H2[y2[A+20>>2]+32>>2],H2[80+G>>2]=H2[80+G>>2]-f,H2[84+G>>2]=H2[84+G>>2]-f,H2[88+G>>2]=H2[88+G>>2]-f,H2[64+G>>2]=f+H2[64+G>>2],H2[68+G>>2]=f+H2[68+G>>2],H2[72+G>>2]=f+H2[72+G>>2],F=y2[A+8>>2],o=y2[F+4>>2],N2[y2[y2[o>>2]+8>>2]](o,y2[F+12>>2],48+G|0,32+G|0),F=0,H2[80+G>>2]>H2[32+G>>2]||(F=0,H2[64+G>>2]>2])||(F=1),H2[88+G>>2]>H2[40+G>>2]||H2[72+G>>2]>2]||(D=F),H2[84+G>>2]>H2[36+G>>2]||H2[68+G>>2]>2]||1^D||(y2[28+G>>2]=r,y2[24+G>>2]=-1,y2[12+G>>2]=e,e=y2[A+4>>2],y2[8+G>>2]=e,y2[16+G>>2]=y2[e+8>>2],f=H2[y2[A+20>>2]+32>>2],y2[20+G>>2]=96+G,f>j2(0)?(e=y2[A+12>>2],e=0|N2[y2[y2[e>>2]+8>>2]](e,8+G|0,y2[A+8>>2],0,2)):(e=y2[(F=r<<2)+y2[A+24>>2]>>2])||(e=y2[A+12>>2],e=0|N2[y2[y2[e>>2]+8>>2]](e,8+G|0,y2[A+8>>2],y2[A+28>>2],1),y2[F+y2[A+24>>2]>>2]=e,e=y2[F+y2[A+24>>2]>>2]),F=y2[A+20>>2],D=y2[F+8>>2],y2[D+8>>2]==y2[y2[A+4>>2]+8>>2]?(y2[F+8>>2]=8+G,N2[y2[y2[F>>2]+8>>2]](F,-1,r)):(D=y2[F+12>>2],y2[F+12>>2]=8+G,N2[y2[y2[F>>2]+12>>2]](F,-1,r)),N2[y2[y2[e>>2]+8>>2]](e,8+G|0,y2[A+8>>2],y2[A+16>>2],y2[A+20>>2]),e=y2[A+20>>2],y2[(y2[y2[e+8>>2]+8>>2]==y2[y2[A+4>>2]+8>>2]?8:12)+e>>2]=D),L2=160+G|0}function U4(A){var e,r,f,i,a=0,n=0,b=0,t=0,o=0;if(!((0|(e=y2[A+12>>2]))<=(0|(r=y2[A+28>>2])))){A:if(y2[A+32>>2]>=(0|e))n=y2[A+36>>2];else{if(e&&(y2[6502]=y2[6502]+1,b=q2(16+(e<<2|3)|0))&&(y2[(n=b+19&-16)-4>>2]=b),a=y2[A+36>>2],1<=(0|r)){for(b=n,t=a,o=r;;)if(y2[b>>2]=y2[t>>2],b=b+4|0,t=t+4|0,!(o=o-1|0))break}else if(!a){y2[A+36>>2]=n,y2[A+32>>2]=e,X2[A+40|0]=1;break A}U2[A+40|0]&&(y2[6503]=y2[6503]+1,$2(y2[a-4>>2])),y2[A+36>>2]=n,X2[A+40|0]=1,y2[A+32>>2]=e}if(v2((t=n)+(n=r<<2)|0,0,(f=e<<2)-n|0),y2[A+28>>2]=e,(0|(a=y2[A+48>>2]))<(0|e)){A:if(y2[A+52>>2]>=(0|e))n=y2[A+56>>2];else{if(n=0,e&&(y2[6502]=y2[6502]+1,b=q2(16+(3|f)|0))&&(y2[(n=b+19&-16)-4>>2]=b),i=y2[A+56>>2],1<=(0|a)){for(b=n,t=i,o=a;;)if(y2[b>>2]=y2[t>>2],b=b+4|0,t=t+4|0,!(o=o-1|0))break}else if(!i){y2[A+56>>2]=n,y2[A+52>>2]=e,X2[A+60|0]=1;break A}U2[A+60|0]&&(y2[6503]=y2[6503]+1,$2(y2[i-4>>2])),y2[A+56>>2]=n,X2[A+60|0]=1,y2[A+52>>2]=e}v2((t=n)+(n=a<<2)|0,0,f-n|0)}if(1<=(0|(y2[A+48>>2]=e))&&(v2(y2[A+36>>2],255,f),v2(y2[A+56>>2],255,f)),!((0|r)<1))for(t=y2[A+56>>2],b=y2[A+16>>2],n=y2[A+36>>2],o=0;;)if(a=y2[b>>2]|y2[b+4>>2]<<16,a=P2((a=(a<<15^-1)+a|0)>>>10^a,9),a=n+((y2[A+12>>2]-1&((a=((a^=a>>>6)<<11^-1)+a|0)>>>16^a))<<2)|0,y2[t>>2]=y2[a>>2],b=b+12|0,t=t+4|0,(0|r)==(0|(o=(y2[a>>2]=o)+1|0)))break}}function H4(A){var e,r,f,i=0,a=0,n=0;if((i=y2[A+16>>2])&&(U2[A+20|0]&&(y2[6503]=y2[6503]+1,$2(y2[i-4>>2])),y2[A+16>>2]=0),y2[A+16>>2]=0,y2[A+8>>2]=0,y2[A+12>>2]=0,X2[A+20|0]=1,(i=y2[A+36>>2])&&(U2[A+40|0]&&(y2[6503]=y2[6503]+1,$2(y2[i-4>>2])),y2[A+36>>2]=0),y2[A+36>>2]=0,y2[A+28>>2]=0,y2[A+32>>2]=0,X2[A+40|0]=1,(i=y2[A+56>>2])&&(U2[A+60|0]&&(y2[6503]=y2[6503]+1,$2(y2[i-4>>2])),y2[A+56>>2]=0),y2[A+56>>2]=0,y2[A+48>>2]=0,y2[A+52>>2]=0,X2[A+60|0]=1,y2[A+12>>2]<=1){if(y2[6502]=y2[6502]+1,(i=q2(43))&&(y2[(n=i+19&-16)-4>>2]=i),1<=(0|(a=y2[A+8>>2])))for(i=0;;)if(e=y2[A+16>>2]+i|0,f=y2[4+e>>2],y2[(r=i+n|0)>>2]=y2[e>>2],y2[4+r>>2]=f,y2[8+r>>2]=y2[8+e>>2],i=i+12|0,!(a=a-1|0))break;(i=y2[A+16>>2])&&(U2[A+20|0]&&(y2[6503]=y2[6503]+1,$2(y2[i-4>>2])),y2[A+16>>2]=0),y2[A+16>>2]=n,X2[A+20|0]=1,y2[A+12>>2]=2}U4(A)}function P4(A){var e,r,f=0,i=0,a=0;if(y2[(A|=0)>>2]=20472,f=y2[A+84>>2],1<=(0|(i=y2[f+(a=8)>>2]))){for(;;)if((e=y2[y2[f+16>>2]+a>>2])&&(N2[y2[y2[e>>2]>>2]](e),r=y2[A+4>>2],N2[y2[y2[r>>2]+60>>2]](r,e)),a=a+12|0,!(i=i-1|0))break;f=y2[A+84>>2]}return H4(f),f=y2[A+84>>2],N2[y2[y2[f>>2]>>2]](f),(f=y2[A+84>>2])&&(y2[6503]=y2[6503]+1,$2(y2[f-4>>2])),(f=y2[A+100>>2])&&(U2[A+104|0]&&(y2[6503]=y2[6503]+1,$2(y2[f-4>>2])),y2[A+100>>2]=0),y2[A+100>>2]=0,y2[A+92>>2]=0,y2[A+96>>2]=0,X2[A+104|0]=1,M4(A),0|A}function j4(A,e,r,f,i){return j2(j2(1))}function z4(A,e){A|=0,e|=0;var r,f=0,i=0,a=0,n=0;if((a=y2[A+12>>2])&&U2[A+8|0]){if((0|(i=y2[e+4>>2]))==y2[e+8>>2]&&!((0|(r=i?i<<1:1))<=(0|i))){if(r&&(y2[6502]=y2[6502]+1,f=q2(16+(r<<2|3)|0))&&(y2[(n=f+19&-16)-4>>2]=f),1<=(0|i))for(a=0,f=i;;)if(y2[a+n>>2]=y2[y2[e+12>>2]+a>>2],a=a+4|0,!(f=f-1|0))break;(f=y2[e+12>>2])&&(U2[e+16|0]&&(y2[6503]=y2[6503]+1,$2(y2[f-4>>2]),i=y2[e+4>>2]),y2[e+12>>2]=0),y2[e+12>>2]=n,X2[e+16|0]=1,y2[e+8>>2]=r,a=y2[A+12>>2]}y2[e+4>>2]=i+1,y2[y2[e+12>>2]+(i<<2)>>2]=a}}function O4(A,e,r,f,i){A|=0,e|=0,r|=0,f|=0,i|=0;var a,n,b,t,o=j2(0),c=j2(0),k=j2(0),u=j2(0),l=j2(0),s=j2(0),v=j2(0),B=j2(0),d=j2(0),_=0,g=j2(0),Z=j2(0),C=j2(0),w=j2(0),E=j2(0),Q=j2(0),h=j2(0),G=j2(0),F=j2(0),D=j2(0),Y=j2(0),m=j2(0),N=j2(0),R=0;j2(0),j2(0),j2(0);L2=f=L2-32|0,_=y2[A+8>>2],Q=H2[_+80>>2],k=H2[_+64>>2],l=j2(Q-k),C=H2[_+100>>2],s=H2[_+68>>2],o=j2(C-s),h=H2[_+84>>2],d=j2(h-s),D=H2[_+96>>2],u=j2(D-k),B=j2(j2(l*o)-j2(d*u)),E=H2[_+104>>2],Y=H2[_+72>>2],c=j2(E-Y),N=H2[_+88>>2],g=j2(N-Y),o=j2(j2(d*c)-j2(g*o)),u=j2(j2(g*u)-j2(l*c)),c=j2(j2(B*B)+j2(j2(o*o)+j2(u*u)));A:if(c>=j2(14210854715202004e-30)&&(R=y2[A+4>>2],m=j2(H2[R+36>>2]*H2[R+20>>2]),v=j2(m+H2[A+12>>2]),c=j2(j2(1)/j2(K2(c))),o=j2(o*c),Z=j2(H2[e+48>>2]-H2[e+112>>2]),w=j2(H2[e+52>>2]-H2[e+116>>2]),a=j2(H2[e+56>>2]-H2[e+120>>2]),G=j2(j2(j2(Z*H2[e+64>>2])+j2(w*H2[e+80>>2]))+j2(a*H2[e+96>>2])),b=j2(G-k),u=j2(u*c),F=j2(j2(j2(Z*H2[e+68>>2])+j2(w*H2[e+84>>2]))+j2(a*H2[e+100>>2])),t=j2(F-s),B=j2(B*c),Z=j2(j2(j2(Z*H2[e+72>>2])+j2(w*H2[e+88>>2]))+j2(a*H2[e+104>>2])),w=j2(Z-Y),(c=j2(j2(j2(o*b)+j2(u*t))+j2(B*w)))j2(0)&&l>j2(0)&&d>j2(0))){if(!(k<=j2(0)))break r;if(!(l<=j2(0)))break r;if(!(d<=j2(0)))break r}E=j2(Z-j2(c*B)),Q=j2(F-j2(c*u)),h=j2(G-j2(c*o)),D=j2(v*v);break e}if((0|N2[y2[y2[_>>2]+100>>2]](_))<1)break A;for(D=j2(v*v),_=R=0;;)if(n=y2[A+8>>2],N2[y2[y2[n>>2]+104>>2]](n,_,f+16|0,f),c=j2(0),Y=H2[f+16>>2],v=j2(G-Y),C=j2(H2[f>>2]-Y),g=H2[f+20>>2],k=j2(F-g),s=j2(H2[f+4>>2]-g),N=H2[f+24>>2],l=j2(Z-N),d=j2(H2[f+8>>2]-N),(w=j2(j2(j2(v*C)+j2(k*s))+j2(l*d)))>j2(0)&&(w<(c=j2(j2(j2(C*C)+j2(s*s))+j2(d*d)))?(c=j2(w/c),l=j2(l-j2(d*c)),k=j2(k-j2(s*c)),v=j2(v-j2(C*c))):(l=j2(l-d),k=j2(k-s),v=j2(v-C),c=j2(1))),j2(j2(j2(v*v)+j2(k*k))+j2(l*l))>2],_=_+1|0,!((0|N2[y2[y2[n>>2]+100>>2]](n))>(0|_)))break;if(!R)break A}c=j2(G-h),v=j2(F-Q),k=j2(Z-E),(l=j2(j2(j2(c*c)+j2(v*v))+j2(k*k)))j2(1.1920928955078125e-7)&&(o=j2(K2(l)),m=j2(m-o),o=j2(j2(1)/o),B=j2(k*o),u=j2(v*o),o=j2(c*o)),c=j2(-m),i?(v=H2[e+72>>2],k=H2[e+64>>2],l=H2[e+68>>2],G=H2[e+88>>2],F=H2[e+80>>2],Z=H2[e+84>>2],C=H2[e+104>>2],s=H2[e+96>>2],d=H2[e+100>>2],y2[f+28>>2]=0,D=j2(j2(j2(o*s)+j2(u*d))+j2(B*C)),H2[f+24>>2]=-D,Y=j2(j2(j2(o*F)+j2(u*Z))+j2(B*G)),H2[f+20>>2]=-Y,o=j2(j2(j2(k*o)+j2(l*u))+j2(v*B)),H2[f+16>>2]=-o,y2[f+12>>2]=0,H2[f+8>>2]=j2(j2(j2(j2(h*s)+j2(Q*d))+j2(E*C))+H2[e+120>>2])-j2(m*D),H2[f+4>>2]=j2(j2(j2(j2(h*F)+j2(Q*Z))+j2(E*G))+H2[e+116>>2])-j2(m*Y),H2[f>>2]=j2(j2(j2(j2(h*k)+j2(Q*l))+j2(E*v))+H2[e+112>>2])-j2(m*o)):(y2[f+28>>2]=0,m=H2[e+96>>2],v=H2[e+100>>2],k=H2[e+104>>2],H2[f+24>>2]=j2(j2(o*m)+j2(u*v))+j2(B*k),l=H2[e+80>>2],G=H2[e+84>>2],F=H2[e+88>>2],H2[f+20>>2]=j2(j2(o*l)+j2(u*G))+j2(B*F),Z=H2[e+64>>2],s=j2(Z*o),o=H2[e+68>>2],s=j2(s+j2(o*u)),u=H2[e+72>>2],H2[f+16>>2]=s+j2(u*B),y2[f+12>>2]=0,H2[f+8>>2]=j2(j2(j2(h*m)+j2(Q*v))+j2(E*k))+H2[e+120>>2],H2[f+4>>2]=j2(j2(j2(h*l)+j2(Q*G))+j2(E*F))+H2[e+116>>2],H2[f>>2]=j2(j2(j2(h*Z)+j2(Q*o))+j2(E*u))+H2[e+112>>2]),N2[y2[y2[r>>2]+16>>2]](r,f+16|0,f,c))}L2=f+32|0}function K4(A,e,V,r,f){A|=0,e|=0,V|=0,r|=0,f|=0;var i,a,x,n,p,S,J,M,X,y,U,H,P,j,z,O,K,L,q,$,A2,e2,r2,f2,i2,a2,n2,b2,t2,o2,c2,k2,u2,l2,s2,b,t=j2(0),o=j2(0),c=0,k=j2(0),u=j2(0),l=0,s=j2(0),v=j2(0),B=j2(0),d=j2(0),_=j2(0),g=j2(0),Z=0,C=j2(0),w=j2(0),E=j2(0),Q=j2(0),h=j2(0),G=j2(0),F=j2(0),D=(j2(0),j2(0)),Y=j2(0),m=j2(0),N=j2(0),R=0,I=j2(0),W=j2(0),v2=0,T=(j2(0),j2(0),j2(0),0),B2=(j2(0),j2(0)),d2=j2(0),_2=(j2(0),j2(0),j2(0),j2(0),0),g2=(j2(0),j2(0),j2(0),j2(0),j2(0),j2(0),0),Z2=0,C2=(j2(0),0);j2(0),j2(0),j2(0),j2(0),j2(0),j2(0),j2(0),j2(0),j2(0),j2(0),j2(0),j2(0),j2(0),j2(0);y2[48+(L2=b=L2-448|0)>>2]=y2[e>>2],y2[b>>2]=y2[e+64>>2],r=y2[e+8>>2],y2[52+b>>2]=y2[e+4>>2],y2[56+b>>2]=r,f=y2[(r=e+68|0)+4>>2],y2[4+b>>2]=y2[r>>2],y2[8+b>>2]=f,r=y2[e+20>>2],y2[64+b>>2]=y2[e+16>>2],y2[68+b>>2]=r,f=y2[(r=e+80|0)+4>>2],y2[16+b>>2]=y2[r>>2],y2[20+b>>2]=f,y2[72+b>>2]=y2[e+24>>2],y2[24+b>>2]=y2[e+88>>2],y2[80+b>>2]=y2[e+32>>2],r=y2[e+96>>2],l=y2[(f=e+36|0)+4>>2],y2[84+b>>2]=y2[f>>2],y2[88+b>>2]=l,y2[40+b>>2]=y2[e+104>>2],y2[36+b>>2]=y2[e+100>>2],y2[32+b>>2]=r,r=y2[A+4>>2],t=H2[r+40>>2],o=H2[r+44>>2],k=H2[r+36>>2],C=j2(N2[y2[y2[r>>2]+48>>2]](r)),v=j2(N2[y2[y2[r>>2]+48>>2]](r)),B=j2(N2[y2[y2[r>>2]+48>>2]](r)),A=y2[A+8>>2],Q=H2[A+44>>2],w=H2[A+40>>2],g=H2[A+36>>2],E=j2(N2[y2[y2[A>>2]+48>>2]](A)),d=j2(N2[y2[y2[A>>2]+48>>2]](A)),s=j2(N2[y2[y2[A>>2]+48>>2]](A)),o=j2(o+B),B=j2(j2(o+o)*j2(.5)),H2[380+b>>2]=B,t=j2(t+v),u=j2(j2(t+t)*j2(.5)),H2[376+b>>2]=u,t=j2(k+C),_=j2(j2(t+t)*j2(.5)),H2[372+b>>2]=_,t=j2(w+d),w=j2(j2(t+t)*j2(.5)),H2[364+b>>2]=w,t=j2(g+E),g=j2(j2(t+t)*j2(.5)),H2[360+b>>2]=g,t=j2(Q+s),Q=j2(j2(t+t)*j2(.5)),H2[368+b>>2]=Q;A:if(k=j2(H2[(r=e+112|0)>>2]-H2[e+48>>2]),K=H2[48+b>>2],C=j2(H2[e+116>>2]-H2[e+52>>2]),t=H2[64+b>>2],E=j2(H2[e+120>>2]-H2[e+56>>2]),o=H2[80+b>>2],d=j2(j2(j2(k*K)+j2(C*t))+j2(E*o)),B2=H2[b>>2],d2=H2[16+b>>2],X=H2[32+b>>2],Y=j2(j2(j2(K*B2)+j2(t*d2))+j2(o*X)),L=j2(z2(Y)),y=H2[4+b>>2],q=H2[20+b>>2],$=H2[36+b>>2],h=j2(j2(j2(K*y)+j2(t*q))+j2(o*$)),U=j2(z2(h)),A2=H2[8+b>>2],e2=H2[24+b>>2],r2=H2[40+b>>2],I=j2(j2(j2(K*A2)+j2(t*e2))+j2(o*r2)),H=j2(z2(I)),!((o=j2(j2(z2(d))-j2(j2(j2(_+j2(g*L))+j2(w*U))+j2(Q*H))))>j2(0)||(t=H2[52+b>>2],s=H2[68+b>>2],m=H2[84+b>>2],v=j2(j2(j2(k*t)+j2(C*s))+j2(E*m)),N=j2(j2(j2(t*A2)+j2(s*e2))+j2(m*r2)),P=j2(z2(N)),W=j2(j2(j2(t*y)+j2(s*q))+j2(m*$)),j=j2(z2(W)),m=j2(j2(j2(t*B2)+j2(s*d2))+j2(m*X)),z=j2(z2(m)),t=j2(-34028234663852886e22),A=f=0,o>j2(-34028234663852886e22)&&(f=dj2(0))||(p=H2[56+b>>2],S=H2[72+b>>2],a=H2[88+b>>2],F=j2(j2(j2(p*A2)+j2(S*e2))+j2(a*r2)),i=j2(z2(F)),D=j2(j2(j2(p*y)+j2(S*q))+j2(a*$)),O=j2(z2(D)),G=j2(j2(j2(p*B2)+j2(S*d2))+j2(a*X)),x=j2(z2(G)),tj2(0))||(tj2(0))||(tj2(0))||(tj2(0))||(tj2(1.1920928955078125e-7))||(z=j2(O+j2(9999999747378752e-21)),j=j2(j+j2(9999999747378752e-21)),O=j2(L+j2(9999999747378752e-21)),E=j2(0),L=j2(m*m),c2=j2(j2(G*G)+j2(0)),(x=j2(K2(j2(L+c2))))>j2(1.1920928955078125e-7)?(C=j2(0),o=j2(o/x),k=j2(0),j2(o*j2(1.0499999523162842))>t&&(f=nj2(1.1920928955078125e-7))||(x=j2(i+j2(9999999747378752e-21)),P=j2(P+j2(9999999747378752e-21)),a2=j2(W*W),n2=j2(j2(D*D)+j2(0)),(i=j2(K2(j2(a2+n2))))>j2(1.1920928955078125e-7)&&(o=j2(o/i),j2(o*j2(1.0499999523162842))>t)&&(f=nj2(1.1920928955078125e-7))||(b2=j2(N*N),t2=j2(j2(F*F)+j2(0)),(i=j2(K2(j2(b2+t2))))>j2(1.1920928955078125e-7)&&(o=j2(o/i),j2(o*j2(1.0499999523162842))>t)&&(f=nj2(1.1920928955078125e-7))||(o2=j2(Y*Y),(i=j2(K2(j2(o2+c2))))>j2(1.1920928955078125e-7)&&(o=j2(o/i),j2(o*j2(1.0499999523162842))>t)&&(f=nj2(1.1920928955078125e-7))||(n=j2(h*h),(G=j2(K2(j2(n+n2))))>j2(1.1920928955078125e-7)&&(o=j2(o/G),j2(o*j2(1.0499999523162842))>t)&&(f=ij2(1.1920928955078125e-7))||(G=j2(I*I),(s=j2(K2(j2(G+t2))))>j2(1.1920928955078125e-7)&&(o=j2(o/s),j2(o*j2(1.0499999523162842))>t)&&(f=Dj2(1.1920928955078125e-7))||((s=j2(K2(j2(j2(L+o2)+j2(0)))))>j2(1.1920928955078125e-7)&&(o=j2(o/s),j2(o*j2(1.0499999523162842))>t)&&(f=Fj2(1.1920928955078125e-7))||((s=j2(K2(j2(j2(a2+n)+j2(0)))))>j2(1.1920928955078125e-7)&&(o=j2(o/s),j2(o*j2(1.0499999523162842))>t)&&(f=Yj2(1.1920928955078125e-7)))){e:{r:{if((v=j2(K2(j2(j2(b2+G)+j2(0)))))>j2(1.1920928955078125e-7)&&(o=j2(o/v),j2(o*j2(1.0499999523162842))>t))f=d>2])+j2(C*H2[84+b>>2]))+j2(k*a))),g2=w2[2],Q2(v=j2(j2(j2(E*H2[64+b>>2])+j2(C*H2[68+b>>2]))+j2(k*S))),Z2=w2[2],Q2(k=j2(j2(j2(K*E)+j2(C*H2[52+b>>2]))+j2(k*p))),c=w2[2];break e}g2=y2[c+32>>2],d=H2[c+32>>2],Z2=y2[c+16>>2],v=H2[c+16>>2],c=y2[(l=c)>>2],k=H2[l>>2],o=t}if(f&&(g2=-2147483648^(Q2(d),w2[2]),Z2=-2147483648^(Q2(v),w2[2]),c=-2147483648^(Q2(k),w2[2])),7<=(0|A))D=H2[e+48>>2],G=H2[e+52>>2],K=H2[e+56>>2],E=H2[80+b>>2],d=H2[48+b>>2],s=H2[64+b>>2],Y=H2[84+b>>2],h=H2[52+b>>2],I=H2[68+b>>2],y2[(e=184+b|0)>>2]=y2[r+8>>2],v=j2(0),E2(2,c),t=h2(),E2(2,Z2),k=h2(),E2(2,g2),C=h2(),g=j2(j2(j2(B2*t)+j2(d2*k))+j2(X*C))>j2(0)?j2(-g):g,w=j2(j2(j2(y*t)+j2(q*k))+j2($*C))>j2(0)?j2(-w):w,Q=j2(j2(j2(A2*t)+j2(e2*k))+j2(r2*C))>j2(0)?j2(-Q):Q,N=j2(j2(j2(H2[e>>2]+j2(g*X))+j2(w*$))+j2(Q*r2)),H2[e>>2]=N,e=y2[r+4>>2],y2[176+b>>2]=y2[r>>2],y2[180+b>>2]=e,W=j2(j2(j2(H2[176+b>>2]+j2(g*B2))+j2(w*y))+j2(Q*A2)),H2[176+b>>2]=W,w=j2(j2(j2(H2[180+b>>2]+j2(g*d2))+j2(w*q))+j2(Q*e2)),H2[180+b>>2]=w,B2=H2[(A=(48+b|0)+((r=(0|(e=A-7|0))/3|0)<<2)|0)>>2],e=(e+P2(r,-3)<<2)+b|0,g=H2[e>>2],d2=H2[A+16>>2],Q=H2[e+16>>2],X=H2[A+32>>2],m=H2[e+32>>2],F=j2(j2(j2(B2*g)+j2(d2*Q))+j2(X*m)),(y=j2(j2(1)-j2(F*F)))<=j2(9999999747378752e-20)||(v=j2(j2(j2(d*t)+j2(s*k))+j2(E*C))>j2(0)?_:j2(-_),u=j2(j2(j2(h*t)+j2(I*k))+j2(Y*C))>j2(0)?u:j2(-u),B=j2(j2(j2(p*t)+j2(S*k))+j2(a*C))>j2(0)?B:j2(-B),_=j2(W-j2(j2(j2(D+j2(v*d))+j2(u*h))+j2(B*p))),d=j2(w-j2(j2(j2(G+j2(v*s))+j2(u*I))+j2(B*S))),B=j2(N-j2(j2(j2(K+j2(v*E))+j2(u*Y))+j2(B*a))),v=j2(j2(j2(j2(j2(j2(_*B2)+j2(d*d2))+j2(B*X))*F)-j2(j2(j2(_*g)+j2(d*Q))+j2(B*m)))*j2(j2(1)/y))),H2[184+b>>2]=N+j2(v*m),H2[180+b>>2]=w+j2(v*Q),H2[176+b>>2]=W+j2(v*g),y2[284+b>>2]=0,H2[280+b>>2]=-C,H2[276+b>>2]=-k,H2[272+b>>2]=-t,N2[y2[y2[V>>2]+16>>2]](V,272+b|0,176+b|0,o);else{R=e+48|0,E2(2,c),C=h2(),e=(0|A)<=3?(E2(2,g2),w=h2(),E2(2,Z2),v=h2(),Z=48+b|0,_2=372+b|0,f=360+b|0,k=C,b):(E2(2,-2147483648^g2),w=h2(),E2(2,-2147483648^Z2),v=h2(),k=j2(-C),e=r,f=372+(Z=b)|0,_2=360+b|0,r=R,R=e,48+b|0),o=j2(j2(j2(k*H2[(T=e)>>2])+j2(v*H2[e+16>>2]))+j2(w*H2[e+32>>2])),H2[344+b>>2]=o,B=j2(j2(j2(k*H2[e+4>>2])+j2(v*H2[e+20>>2]))+j2(w*H2[e+36>>2])),H2[348+b>>2]=B,t=j2(j2(j2(k*H2[e+8>>2])+j2(v*H2[e+24>>2]))+j2(w*H2[e+40>>2])),H2[352+b>>2]=t,t=j2(z2(t)),B=j2(z2(B)),e=(o=j2(z2(o)))>2],o=j2(t*H2[c+T>>2]),B=j2(H2[r>>2]-H2[R>>2]),B=H2[c+(344+b|0)>>2]>2]-H2[R+4>>2])+j2(t*H2[T+(16|c)>>2])),E=j2(B+o),j2(j2(H2[r+8>>2]-H2[R+8>>2])+j2(t*H2[T+(32|c)>>2]))):(Q=j2(j2(H2[r+4>>2]-H2[R+4>>2])-j2(t*H2[T+(16|c)>>2])),E=j2(B-o),j2(j2(H2[r+8>>2]-H2[R+8>>2])-j2(t*H2[T+(32|c)>>2]))),c2=l?2:1;e:{if((i2=((0|A)<4?-1:-4)+A|0)>>>0<=(c=1)){if(r=2,i2-1|0)break e}else r=1;c=0}t=H2[(r=(v2=r<<(l=2))+Z|0)>>2],o=H2[r+16>>2],u=H2[r+32>>2],W=j2(j2(j2(E*t)+j2(Q*o))+j2(B*u)),_=H2[(J=(r=e<<2)+T|0)>>2],d=H2[16+J>>2],s=H2[32+J>>2],m=j2(j2(j2(t*_)+j2(o*d))+j2(u*s)),Y=H2[r+f>>2],D=j2(m*Y),h=j2(W-D),N=H2[(n2=(r=c2<<2)+T|0)>>2],F=H2[16+n2>>2],G=H2[32+n2>>2],p=j2(j2(j2(t*N)+j2(o*F))+j2(u*G)),B2=H2[r+f>>2],I=j2(p*B2),g=j2(h+I),t=H2[(r=(f=c<<2)+Z|0)>>2],o=H2[r+16>>2],u=H2[r+32>>2],S=j2(j2(j2(E*t)+j2(Q*o))+j2(B*u)),a=j2(j2(j2(t*_)+j2(o*d))+j2(u*s)),d2=j2(a*Y),s=j2(S-d2),F=j2(j2(j2(t*N)+j2(o*F))+j2(u*G)),N=j2(F*B2),t=j2(s+N),d=j2(h-I),o=H2[(r=v2+_2|0)>>2],u2=y2[r>>2],C2=y2[(r=f+_2|0)>>2],u=H2[r>>2],_=j2(-u);e:{r:{f:{if(s=j2(s-N),!(v2=u>j2(-s))){if(r=272+b|(f=0),l=c=1,(h=j2(-t))>2]=d,H2[272+b>>2]=s,r=272+b|8,c=(h=j2(-t))>2]=g,H2[280+b>>2]=t,f=2;break r}}if(H2[r>>2]=_,H2[r+4>>2]=d+j2(j2(_-s)*j2(j2(g-d)/j2(t-s))),r=r+8|0,!c){f=l;break e}H2[r+4>>2]=g,H2[r>>2]=t,f=l+1|0}r=r+8|0,h=j2(-t)}D=j2(W+D),Y=j2(D+I),l=hj2(-h)))){if(H2[r>>2]=_,H2[r+4>>2]=g+j2(j2(_-t)*j2(j2(Y-g)/j2(h-t))),8&(f=f+1|0))break e;r=r+8|0}g=j2(D-I),t=j2(G-N);r:{f:{if(!Z){if(Z^(l=u>j2(-t)))break f;break r}if(H2[r+4>>2]=Y,H2[r>>2]=h,8&(f=f+1|0))break e;if(r=r+8|0,(0|Z)==(0|(l=u>j2(-t))))break r}if(H2[r>>2]=_,H2[r+4>>2]=Y+j2(j2(_-h)*j2(j2(g-Y)/j2(t-h))),8&(f=f+1|0))break e;r=r+8|0}r:{f:{i:{a:{if(l){if(H2[r+4>>2]=g,H2[r>>2]=t,8&(f=f+1|0))break e;if(1!=(l^v2))break i;r=r+8|0}else if(!v2)break a;if(H2[r>>2]=_,H2[r+4>>2]=g+j2(j2(_-t)*j2(j2(d-g)/j2(s-t))),8&(f=f+1|0))break e;break i}if(!(1<=(0|f))){f=0;break f}}for(r=272+b|(Z=0),c=176+b|0;;){if((t=H2[r>>2])>2]=t,y2[c+4>>2]=y2[r+4>>2],8&(Z=Z+1|0)){f=Z;break f}c=c+8|0,t=H2[r>>2]}if(l=r+8|0,(t>2])>2],d=H2[k2+4>>2],y2[c>>2]=C2,H2[c+4>>2]=_+j2(j2(u-t)*j2(j2(d-_)/j2(g-t))),8&(Z=Z+1|0)){f=Z;break f}c=c+8|0}if(f=f-1|0,r=l,!v2)break}if((0|Z)<1)f=0;else{for(u=j2(-o),c=272+b|(l=0),r=176+b|0;;){if(d=H2[(f=r+4|0)>>2],(t=j2(-d))>2]=y2[r>>2],y2[c+4>>2]=y2[f>>2],8&(l=l+1|0)){f=l;break r}c=c+8|0,d=H2[f>>2],t=j2(-d)}if(f=r+8|0,_=H2[(C2=(v2=1<(0|Z))?f:176+b|0)+4>>2],(tj2(-_)|0)){if(g=H2[C2>>2],t=H2[r>>2],H2[c+4>>2]=u,H2[c>>2]=t+j2(j2(u-d)*j2(j2(g-t)/j2(_-d))),8&(l=l+1|0)){f=l;break r}c=c+8|0}if(Z=Z-1|0,r=f,!v2)break}if(!(((f=0)|l)<1))for(r=272+b|0,c=176+b|0;;){if((t=H2[(Z=r+4|0)>>2])>2]=y2[r>>2],y2[c+4>>2]=y2[Z>>2],8&(f=f+1|0))break f;c=c+8|0,t=H2[Z>>2]}if(Z=r+8|0,(t>2])>2],u=H2[r>>2],y2[c+4>>2]=u2,H2[c>>2]=u+j2(j2(o-t)*j2(j2(g-u)/j2(_-t))),8&(f=f+1|0))break f;c=c+8|0}if(l=l-1|0,r=Z,!v2)break}}}A0(272+b|0,176+b|0,f<<3)}if((0|f)<1)break A}for(t=j2(j2(1)/j2(j2(a*p)-j2(m*F))),u=j2(t*j2(-m)),_=j2(p*t),g=j2(F*t),d=j2(a*t),s=H2[(i2<<2)+_2>>2],Y=H2[T+(32|(r=c2<<2))>>2],h=H2[T+(32|(e<<=2))>>2],I=H2[T+(16|r)>>2],N=H2[T+(16|e)>>2],m=H2[n2>>2],p=H2[J>>2],e=272+b|(r=0);;)if(l=(176+b|0)+P2(r,12)|0,a=H2[e>>2],o=j2(a-S),F=H2[e+4>>2],D=j2(F-W),t=j2(j2(_*o)-j2(g*D)),o=j2(j2(u*o)+j2(d*D)),D=j2(j2(Q+j2(t*N))+j2(o*I)),H2[l+4>>2]=D,G=j2(j2(E+j2(t*p))+j2(o*m)),H2[l>>2]=G,t=j2(j2(B+j2(t*h))+j2(o*Y)),H2[l+8>>2]=t,t=j2(s-j2(j2(j2(k*G)+j2(v*D))+j2(w*t))),(H2[(144+b|0)+(r<<2)>>2]=t)>=j2(0)&&(H2[(l=r<<3)+(272+b|0)>>2]=a,H2[(272+b|0)+(4|l)>>2]=F,r=r+1|0),e=e+8|0,!(f=f-1|0))break;if(!((0|r)<1))if((0|r)<=(0|(J=1<(0|(l=(0|r)<4?r:4))?l:1))){if(4<=(0|A)){for(o=j2(-C),E2(2,g2),k=h2(),B=j2(-k),E2(2,Z2),v=h2(),u=j2(-v),A=144+b|0,e=176+b|0;;)if(t=H2[A>>2],H2[416+b>>2]=j2(H2[e>>2]+H2[R>>2])-j2(t*C),H2[420+b>>2]=j2(H2[e+4>>2]+H2[R+4>>2])-j2(t*v),H2[424+b>>2]=j2(H2[e+8>>2]+H2[R+8>>2])-j2(t*k),y2[396+b>>2]=0,H2[392+b>>2]=B,H2[388+b>>2]=u,H2[384+b>>2]=o,N2[y2[y2[V>>2]+16>>2]](V,384+b|0,416+b|0,j2(-t)),e=e+12|0,A=A+4|0,!(r=r-1|0))break}else for(E2(2,-2147483648^g2),t=h2(),E2(2,-2147483648^Z2),o=h2(),k=j2(-C),A=144+b|0,e=176+b|0;;)if(H2[416+b>>2]=H2[e>>2]+H2[R>>2],H2[420+b>>2]=H2[e+4>>2]+H2[R+4>>2],H2[424+b>>2]=H2[e+8>>2]+H2[R+8>>2],y2[396+b>>2]=0,H2[392+b>>2]=t,H2[388+b>>2]=o,H2[384+b>>2]=k,N2[y2[y2[V>>2]+16>>2]](V,384+b|0,416+b|0,j2(-H2[A>>2])),e=e+12|0,A=A+4|0,!(r=r-1|0))break}else{e:{r:{if((0|r)<=1)Z=0;else{for(e=144+b|4,Z=0,k=H2[144+b>>2],c=1;;)if(k=(f=k<(t=H2[e>>2]))?t:k,Z=f?c:Z,e=e+4|0,(0|(c=c+1|0))==(0|r))break;if(!((e=r-1|0)>>>0<=1)){for(d=j2(0),e=272+b|0,c=1,o=j2(0),t=j2(0);;)if(k=H2[e+12>>2],B=H2[e+4>>2],s=j2(k+B),v=H2[e>>2],u=H2[(e=e+8|0)>>2],k=j2(j2(v*k)-j2(u*B)),d=j2(d+j2(s*k)),t=j2(t+k),o=j2(o+j2(j2(v+u)*k)),(0|(c=c+1|0))==(0|r))break;if(v=j2(0xde0b6b000000000),s=t,B=H2[(e=(272+b|0)+(r<<3)|0)-8>>2],k=H2[276+b>>2],u=H2[272+b>>2],_=H2[e-4>>2],t=j2(j2(B*k)-j2(u*_)),w=j2(s+t),j2(z2(w))>j2(1.1920928955078125e-7)&&(v=j2(j2(1)/j2(w*j2(3)))),((f=0)|r)<=0)break e;k=j2(j2(d+j2(j2(k+_)*t))*v),t=j2(j2(o+j2(j2(B+u)*t))*v);break r}if(!(e-1|0)){k=j2(j2(H2[276+b>>2]+H2[284+b>>2])*j2(.5)),t=j2(j2(H2[272+b>>2]+H2[280+b>>2])*j2(.5));break r}}k=H2[276+b>>2],t=H2[272+b>>2]}for(c=416+b|0,e=272+b|0,f=r;;)if(l2=c,s2=G2(j2(H2[e+4>>2]-k),j2(H2[e>>2]-t)),H2[l2>>2]=s2,e=e+8|0,c=c+4|0,!(f=f-1|0))break;for(e=384+b|0,c=r;;)if(y2[e>>2]=f=1,e=e+4|0,!(c=c-1|0))break}if(y2[112+b>>2]=Z,!(((y2[(c=(e=Z<<2)+(384+b|0)|0)>>2]=0)|l)<2))if(l=112+b|4,f)for(k=j2(j2(6.2831854820251465)/j2(0|J)),B=H2[e+(416+b|0)>>2],_2=1;;){for(y2[l>>2]=Z,v=(t=j2(j2(k*j2(0|_2))+B))>j2(3.1415927410125732)?j2(t+j2(-6.2831854820251465)):t,t=j2(1e9),c=416+b|0,e=384+b|0,T=Z,f=0;;)if(y2[e>>2]&&(o=(o=j2(z2(j2(H2[c>>2]-v))))>j2(3.1415927410125732)?j2(j2(6.2831854820251465)-o):o)>2]=f,t=o),e=e+4|0,c=c+4|0,(0|(f=f+1|0))==(0|r))break;if(l=l+4|(y2[(384+b|0)+(T<<2)>>2]=0),(0|J)==(0|(_2=_2+1|0)))break}else for(e=J-1|0;;)if(y2[l>>2]=Z,l=l+4|(y2[c>>2]=0),!(e=e-1|0))break;if(o=j2(-C),E2(2,g2),v=h2(),k=j2(-v),E2(2,Z2),u=h2(),B=j2(-u),4<=(0|A))for(A=112+b|4,r=1;;){if(e=(176+b|0)+P2(Z,12)|0,_=j2(H2[e>>2]+H2[R>>2]),H2[416+b>>2]=_,w=j2(H2[e+4>>2]+H2[R+4>>2]),H2[420+b>>2]=w,t=j2(H2[e+8>>2]+H2[R+8>>2]),H2[424+b>>2]=t,y2[396+b>>2]=0,H2[392+b>>2]=k,H2[388+b>>2]=B,H2[384+b>>2]=o,y2[108+b>>2]=0,s=t,t=H2[(144+b|0)+(Z<<2)>>2],H2[104+b>>2]=s-j2(t*v),H2[100+b>>2]=w-j2(t*u),H2[96+b>>2]=_-j2(t*C),N2[y2[y2[V>>2]+16>>2]](V,384+b|0,96+b|0,j2(-t)),J>>>0<=r>>>0)break A;r=r+1|0,Z=y2[A>>2],A=A+4|0}for(A=112+b|4,r=1;;){if(e=(176+b|0)+P2(Z,12)|0,H2[416+b>>2]=H2[e>>2]+H2[R>>2],H2[420+b>>2]=H2[e+4>>2]+H2[R+4>>2],H2[424+b>>2]=H2[e+8>>2]+H2[R+8>>2],y2[396+b>>2]=0,H2[392+b>>2]=k,H2[388+b>>2]=B,H2[384+b>>2]=o,N2[y2[y2[V>>2]+16>>2]](V,384+b|0,416+b|0,j2(-H2[(144+b|0)+(Z<<2)>>2])),J>>>0<=r>>>0)break A;r=r+1|0,Z=y2[A>>2],A=A+4|0}}}}L2=448+b|0}function L4(){U2[27760]||(y2[6858]=1062847606,y2[6859]=0,y2[6856]=1042701022,y2[6857]=1056964440,y2[6854]=1062847606,y2[6855]=0,y2[6852]=-1093024784,y2[6853]=1050556081,y2[6850]=1062847606,y2[6851]=0,y2[6848]=-1093024784,y2[6849]=-1096927567,y2[6846]=1062847606,y2[6847]=0,y2[6844]=1042701022,y2[6845]=-1090519208,y2[6842]=1062847572,y2[6843]=0,y2[6840]=1057396286,y2[6841]=0,y2[6838]=1057396386,y2[6839]=0,y2[6836]=1060121912,y2[6837]=1056964507,y2[6834]=1057396420,y2[6835]=0,y2[6832]=-1098475836,y2[6833]=1062148969,y2[6830]=1057396386,y2[6831]=0,y2[6828]=-1084636143,y2[6829]=0,y2[6826]=1057396420,y2[6827]=0,y2[6824]=-1098475836,y2[6825]=-1085334679,y2[6822]=1057396386,y2[6823]=0,y2[6820]=1060121912,y2[6821]=-1090519141,y2[6818]=-2147483648,y2[6819]=0,y2[6816]=1058437413,y2[6817]=1062149053,y2[6814]=-2147483648,y2[6815]=0,y2[6812]=-2147483648,y2[6813]=1065353216,y2[6810]=-2147483648,y2[6811]=0,y2[6808]=-1089046235,y2[6809]=1062149053,y2[6806]=-2147483648,y2[6807]=0,y2[6804]=-1082951543,y2[6805]=1050556148,y2[6802]=-2147483648,y2[6803]=0,y2[6800]=-1082951543,y2[6801]=-1096927500,y2[6798]=0,y2[6799]=0,y2[6796]=-1089046235,y2[6797]=-1085334595,y2[6794]=0,y2[6795]=0,y2[6792]=0,y2[6793]=-1082130432,y2[6790]=0,y2[6791]=0,y2[6788]=1058437413,y2[6789]=-1085334595,y2[6786]=0,y2[6787]=0,y2[6784]=1064532105,y2[6785]=-1096927500,y2[6782]=0,y2[6783]=0,y2[6780]=1064532105,y2[6781]=1050556148,y2[6778]=-1090087228,y2[6779]=0,y2[6776]=1049007812,y2[6777]=1062148969,y2[6774]=-1090087262,y2[6775]=0,y2[6772]=-1087361736,y2[6773]=1056964507,y2[6770]=-1084636042,y2[6771]=0,y2[6768]=-1104782626,y2[6769]=1056964440,y2[6766]=-1090087262,y2[6767]=0,y2[6764]=-1087361736,y2[6765]=-1090519141,y2[6762]=-1084636076,y2[6763]=0,y2[6760]=-1090087362,y2[6761]=-2147483648,y2[6758]=-1090087262,y2[6759]=0,y2[6756]=1062847505,y2[6757]=-2147483648,y2[6754]=-1084636042,y2[6755]=0,y2[6752]=1054458864,y2[6753]=1050556081,y2[6750]=-1090087228,y2[6751]=0,y2[6748]=1049007812,y2[6749]=-1085334679,y2[6746]=-1084636042,y2[6747]=0,y2[6744]=-1104782626,y2[6745]=-1090519208,y2[6742]=-1084636042,y2[6743]=0,y2[6740]=1054458864,y2[6741]=-1096927567,y2[6738]=1065353216,y2[6739]=0,y2[6736]=-2147483648,y2[6737]=0,y2[6734]=1055193471,y2[6735]=0,y2[6732]=1063581978,y2[6733]=0,y2[6730]=1055193572,y2[6731]=0,y2[6728]=1049461434,y2[6729]=1062847522,y2[6726]=1055193572,y2[6727]=0,y2[6724]=-1086767520,y2[6725]=1057396202,y2[6722]=1055193572,y2[6723]=0,y2[6720]=-1086767520,y2[6721]=-1090087446,y2[6718]=1055193605,y2[6719]=0,y2[6716]=1049461434,y2[6717]=-1084636126,y2[6714]=-1092290076,y2[6715]=0,y2[6712]=1060716128,y2[6713]=1057396202,y2[6710]=-1092290043,y2[6711]=0,y2[6708]=-1098022214,y2[6709]=1062847522,y2[6706]=-1092290177,y2[6707]=0,y2[6704]=-1083901670,y2[6705]=-2147483648,y2[6702]=-1092290076,y2[6703]=0,y2[6700]=-1098022214,y2[6701]=-1084636126,y2[6698]=-1092290076,y2[6699]=0,y2[6696]=1060716128,y2[6697]=-1090087446,y2[6694]=-1082130432,y2[6695]=0,y2[6692]=0,y2[6693]=-2147483648,X2[27760]=1)}function q4(A){var e,r=0,f=0,i=0,a=0,n=0,b=0;if(y2[7117]=21388,a=y2[6502],y2[6502]=a+1,r=y2[A+20>>2],(f=q2(23))&&(y2[(i=f+19&-16)-4>>2]=f),y2[7123]=i,y2[i>>2]=r?13396:21320,y2[6502]=a+2,(r=q2(39))?(y2[(f=r+19&-16)-4>>2]=r,i=y2[7123]):f=0,y2[f+12>>2]=0,y2[f+16>>2]=3,y2[f>>2]=19372,X2[f+4|0]=0,y2[f+8>>2]=i,y2[7124]=f,y2[6502]=a+3,f=0,(r=q2(27))&&(y2[(f=r+19&-16)-4>>2]=r),y2[f>>2]=21420,X2[f+4|0]=0,y2[7125]=f,y2[6502]=a+4,(r=q2(27))&&(y2[(n=r+19&-16)-4>>2]=r),y2[n>>2]=21440,X2[n+4|(f=0)]=0,y2[7126]=n,y2[6502]=a+5,i=0,(r=q2(27))&&(y2[(i=r+19&-16)-4>>2]=r),y2[i>>2]=21460,X2[i+4|0]=0,y2[7127]=i,y2[6502]=a+6,(r=q2(27))&&(y2[(f=r+19&-16)-4>>2]=r),y2[f>>2]=21480,X2[f+4|(i=0)]=0,y2[7128]=f,y2[6502]=a+7,f=0,(r=q2(27))&&(y2[(f=r+19&-16)-4>>2]=r),y2[f>>2]=21500,X2[f+4|0]=0,y2[7129]=f,y2[6502]=a+8,(r=q2(27))&&(y2[(i=r+19&-16)-4>>2]=r),y2[i>>2]=21520,X2[i+4|(f=0)]=0,y2[7130]=i,y2[6502]=a+9,i=0,(r=q2(27))&&(y2[(i=r+19&-16)-4>>2]=r),y2[i>>2]=21540,X2[i+4|0]=0,y2[7131]=i,y2[6502]=a+10,(r=q2(27))&&(y2[(f=r+19&-16)-4>>2]=r),y2[f>>2]=21560,X2[f+4|(i=0)]=0,y2[7135]=f,y2[6502]=a+11,f=0,(r=q2(27))&&(y2[(f=r+19&-16)-4>>2]=r),y2[7136]=f,y2[f>>2]=21560,X2[f+4|0]=1,y2[6502]=a+12,(r=q2(27))&&(y2[(i=r+19&-16)-4>>2]=r),y2[i>>2]=21580,X2[i+4|(f=0)]=0,y2[7134]=i,y2[6502]=a+13,i=0,(r=q2(35))&&(y2[(i=r+19&-16)-4>>2]=r),y2[i+8>>2]=1,y2[i+12>>2]=0,y2[i>>2]=21600,X2[i+4|0]=0,y2[7138]=i,y2[6502]=b=a+14|0,(r=q2(35))&&(y2[(f=r+19&-16)-4>>2]=r),y2[f+8>>2]=1,y2[f+12>>2]=0,y2[f>>2]=21600,y2[7137]=f,X2[f+4|0]=1,e=y2[A+16>>2],r=y2[A>>2])y2[7119]=r,X2[28480]=0;else{if(X2[28480]=1,f=0,y2[6502]=a+15,a=0,(r=q2(43))&&(y2[(a=r+19&-16)-4>>2]=r),y2[a>>2]=868,y2[a+20>>2]=0,r=y2[A+8>>2],y2[a+4>>2]=r,b=y2[6502]+1|0,y2[6502]=b,(r=q2(16+(3|P2(r,868))|0))&&(y2[(f=r+19&-16)-4>>2]=r),y2[a+12>>2]=f,y2[a+16>>2]=f,r=y2[a+4>>2],i=(y2[a+8>>2]=r)-1|0){for(n=y2[a>>2];;)if(f=y2[f>>2]=r=f+n|0,!(i=i-1|0))break}else r=f;y2[r>>2]=0,y2[7119]=a}if(r=y2[A+4>>2])y2[7121]=r,X2[28488]=0;else{if(n=116<(0|(r=80<(0|e)?e:80))?r+16&-16:128,X2[28488]=1,f=0,y2[6502]=b+1,a=0,(r=q2(43))&&(y2[(a=r+19&-16)-4>>2]=r),y2[a>>2]=n,y2[a+20>>2]=0,A=y2[A+12>>2],y2[a+4>>2]=A,y2[6502]=y2[6502]+1,(A=q2(16+(3|P2(A,n))|0))&&(y2[(f=A+19&-16)-4>>2]=A),y2[a+12>>2]=f,y2[a+16>>2]=f,A=y2[a+4>>2],i=(y2[a+8>>2]=A)-1|0){for(A=y2[a>>2];;)if(f=y2[f>>2]=r=A+f|0,!(i=i-1|0))break}else r=f;y2[r>>2]=0,y2[7121]=a}}function $4(A){var e=0,r=0;return y2[(A|=0)>>2]=21388,U2[A+20|0]&&(e=y2[A+16>>2],(r=y2[e+16>>2])&&(y2[6503]=y2[6503]+1,$2(y2[r-4>>2]),e=y2[A+16>>2]),e)&&(y2[6503]=y2[6503]+1,$2(y2[e-4>>2])),U2[A+12|0]&&(e=y2[A+8>>2],(r=y2[e+16>>2])&&(y2[6503]=y2[6503]+1,$2(y2[r-4>>2]),e=y2[A+8>>2]),e)&&(y2[6503]=y2[6503]+1,$2(y2[e-4>>2])),e=y2[A+28>>2],N2[y2[y2[e>>2]>>2]](e),(e=y2[A+28>>2])&&(y2[6503]=y2[6503]+1,$2(y2[e-4>>2])),e=y2[A+32>>2],N2[y2[y2[e>>2]>>2]](e),(e=y2[A+32>>2])&&(y2[6503]=y2[6503]+1,$2(y2[e-4>>2])),e=y2[A+36>>2],N2[y2[y2[e>>2]>>2]](e),(e=y2[A+36>>2])&&(y2[6503]=y2[6503]+1,$2(y2[e-4>>2])),e=y2[A+40>>2],N2[y2[y2[e>>2]>>2]](e),(e=y2[A+40>>2])&&(y2[6503]=y2[6503]+1,$2(y2[e-4>>2])),e=y2[A+44>>2],N2[y2[y2[e>>2]>>2]](e),(e=y2[A+44>>2])&&(y2[6503]=y2[6503]+1,$2(y2[e-4>>2])),e=y2[A+48>>2],N2[y2[y2[e>>2]>>2]](e),(e=y2[A+48>>2])&&(y2[6503]=y2[6503]+1,$2(y2[e-4>>2])),e=y2[A+52>>2],N2[y2[y2[e>>2]>>2]](e),(e=y2[A+52>>2])&&(y2[6503]=y2[6503]+1,$2(y2[e-4>>2])),e=y2[A+56>>2],N2[y2[y2[e>>2]>>2]](e),(e=y2[A+56>>2])&&(y2[6503]=y2[6503]+1,$2(y2[e-4>>2])),e=y2[A+72>>2],N2[y2[y2[e>>2]>>2]](e),(e=y2[A+72>>2])&&(y2[6503]=y2[6503]+1,$2(y2[e-4>>2])),e=y2[A+76>>2],N2[y2[y2[e>>2]>>2]](e),(e=y2[A+76>>2])&&(y2[6503]=y2[6503]+1,$2(y2[e-4>>2])),e=y2[A+68>>2],N2[y2[y2[e>>2]>>2]](e),(e=y2[A+68>>2])&&(y2[6503]=y2[6503]+1,$2(y2[e-4>>2])),e=y2[A+84>>2],N2[y2[y2[e>>2]>>2]](e),(e=y2[A+84>>2])&&(y2[6503]=y2[6503]+1,$2(y2[e-4>>2])),e=y2[A+80>>2],N2[y2[y2[e>>2]>>2]](e),(e=y2[A+80>>2])&&(y2[6503]=y2[6503]+1,$2(y2[e-4>>2])),e=y2[A+24>>2],N2[y2[y2[e>>2]>>2]](e),(e=y2[A+24>>2])&&(y2[6503]=y2[6503]+1,$2(y2[e-4>>2])),0|A}function A6(A){var e,r,f,i=0,a=0,n=0;if(y2[(A|=0)>>2]=22560,U2[A+152|0]&&(i=y2[A+96>>2],N2[y2[y2[i>>2]>>2]](i),i=y2[A+96>>2])&&(y2[6503]=y2[6503]+1,$2(y2[i-4>>2])),1<=(0|(a=y2[A+160>>2])))for(n=8;;)if(f=(i=y2[A+168>>2]+n|0)-4|0,(r=y2[(e=i+4|0)>>2])&&(U2[i+8|0]&&(y2[6503]=y2[6503]+1,$2(y2[r-4>>2])),y2[e>>2]=0),y2[f>>2]=0,y2[e>>2]=0,n=n+20|(y2[i>>2]=0),!(a=a-(X2[i+8|0]=1)|0))break;return(i=y2[A+168>>2])&&(U2[A+172|0]&&(y2[6503]=y2[6503]+1,$2(y2[i-4>>2])),y2[A+168>>2]=0),y2[A+168>>2]=0,y2[A+160>>2]=0,y2[A+164>>2]=0,X2[A+172|0]=1,B4(A+44|0),B4(A+4|0),0|A}function e6(A,e,r,f){var i,a,n,b,t=0,o=0,c=0,k=0,u=0,l=0;if(e&&r){if(!(127<(0|(k=y2[A+24>>2]))||127>2])){if(y2[6502]=y2[6502]+1,(t=q2(1043))&&(y2[(o=t+19&-16)-4>>2]=t),1<=(0|k))for(;;)if(u=y2[A+32>>2]+c|0,l=y2[u+4>>2],y2[(t=o+c|0)>>2]=y2[u>>2],y2[t+4>>2]=l,c=c+8|0,!(k=k-1|0))break;(t=y2[A+32>>2])&&(U2[A+36|0]&&(y2[6503]=y2[6503]+1,$2(y2[t-4>>2])),y2[A+32>>2]=0),y2[A+32>>2]=o,y2[A+28>>2]=128,X2[A+36|0]=1}for(y2[A+24>>2]=128,t=y2[A+32>>2],y2[t+4>>2]=r,y2[t>>2]=e,k=124,e=1;;){if(u=y2[A+32>>2],o=y2[(t=u+(i=(e=(r=e)-1|0)<<3)|0)+4>>2],t=y2[t>>2],(0|k)<(0|e)){if(!((0|(l=(k=y2[A+24>>2])<<1))<=(0|k)||y2[A+28>>2]>=(0|l))){if(u=0,k&&(y2[6502]=y2[6502]+1,(c=q2(16+(k<<4|3)|0))&&(y2[(u=c+19&-16)-4>>2]=c),!((0|k)<1)))for(c=0;;)if(a=y2[A+32>>2]+c|0,b=y2[4+a>>2],y2[(n=c+u|0)>>2]=y2[a>>2],y2[4+n>>2]=b,c=c+8|0,!(k=k-1|0))break;(k=y2[A+32>>2])&&(U2[A+36|0]&&(y2[6503]=y2[6503]+1,$2(y2[k-4>>2])),y2[A+32>>2]=0),y2[A+32>>2]=u,X2[A+36|0]=1,y2[A+28>>2]=l}k=(y2[A+24>>2]=l)-4|0}if((0|t)==(0|o)?y2[t+40>>2]&&(o=y2[t+36>>2],y2[(e=u+i|0)+4>>2]=o,y2[e>>2]=o,o=(e=r<<3)+y2[A+32>>2]|0,c=y2[t+40>>2],y2[o+4>>2]=c,y2[o>>2]=c,o=y2[t+40>>2],e=8+(e+y2[A+32>>2]|0)|0,y2[e>>2]=y2[t+36>>2],y2[e+4>>2]=o,e=r+2|0):H2[t>>2]<=H2[o+16>>2]&&H2[t+16>>2]>=H2[o>>2]&&H2[t+4>>2]<=H2[o+20>>2]&&H2[t+20>>2]>=H2[o+4>>2]&&H2[t+8>>2]<=H2[o+24>>2]&&H2[t+24>>2]>=H2[o+8>>2]&&(c=y2[o+40>>2],y2[t+40>>2]?(e=y2[t+36>>2],e=c?(y2[(c=u+i|0)+4>>2]=y2[o+36>>2],y2[c>>2]=e,c=y2[t+40>>2],u=(e=r<<3)+y2[A+32>>2]|0,y2[u+4>>2]=y2[o+36>>2],y2[u>>2]=c,c=y2[t+36>>2],u=e+y2[A+32>>2]|0,y2[u+12>>2]=y2[o+40>>2],y2[u+8>>2]=c,t=y2[t+40>>2],e=e+y2[A+32>>2]|0,y2[e+20>>2]=y2[o+40>>2],y2[e+16>>2]=t,r+3|0):(y2[(c=u+i|0)+4>>2]=o,y2[c>>2]=e,e=y2[t+40>>2],t=y2[A+32>>2]+(r<<3)|0,y2[t+4>>2]=o,y2[t>>2]=e,r+1|0)):c?(y2[(e=u+i|0)+4>>2]=y2[o+36>>2],y2[e>>2]=t,e=y2[A+32>>2]+(r<<3)|0,y2[e+4>>2]=y2[o+40>>2],y2[e>>2]=t,e=r+1|0):N2[y2[y2[f>>2]+8>>2]](f,t,o)),!e)break}}}function r6(A,e,r,f,i,a,n,b,t){var o,c,k,u,l,s,v,B,d,_,g,Z=0,C=0,w=0,E=0,Q=(j2(0),j2(0),0);j2(0),j2(0),j2(0),j2(0),j2(0),j2(0);if(L2=g=L2-32|0,A){if((0|(Z=y2[b+4>>2]))<=127){if(y2[b+8>>2]<=127){if(y2[6502]=y2[6502]+1,(C=q2(531))&&(y2[(E=C+19&-16)-4>>2]=C),1<=(0|Z))for(C=Z;;)if(y2[w+E>>2]=y2[y2[b+12>>2]+w>>2],w=w+4|0,!(C=C-1|0))break;(C=y2[b+12>>2])&&(U2[b+16|0]&&(y2[6503]=y2[6503]+1,$2(y2[C-4>>2])),y2[b+12>>2]=0),y2[b+12>>2]=E,X2[b+16|0]=1,y2[b+8>>2]=128}for(w=Z<<2,C=Z-128|0;;)if(w=w+4|(y2[y2[b+12>>2]+w>>2]=0),!((Z=C)>>>0<=(C=Z+1|0)>>>0))break}for(y2[b+4>>2]=128,y2[y2[b+12>>2]>>2]=A,Z=126,C=1;;){y2[12+g>>2]=0,E=y2[b+12>>2],k=y2[E+(_=(A=C-1|0)<<2)>>2],H2[8+g>>2]=H2[k+8>>2]-H2[n+8>>2],H2[4+g>>2]=H2[k+4>>2]-H2[n+4>>2],H2[g>>2]=H2[k>>2]-H2[n>>2],u=H2[k+24>>2],o=H2[k+16>>2],l=H2[a+8>>2],c=H2[a>>2],H2[20+g>>2]=H2[k+20>>2]-H2[a+4>>2],H2[16+g>>2]=o-c,H2[24+g>>2]=u-l,y2[28+g>>2]=0,Q=y2[f+4>>2],u=H2[e+4>>2],o=H2[r+4>>2],s=j2(j2(H2[4+((Q<<4)+g|0)>>2]-u)*o),l=H2[r>>2],w=y2[f>>2],c=H2[e>>2],v=j2(l*j2(H2[(1-w<<4)+g>>2]-c));A:if(!(v>2]-c)*l),(o=j2(o*j2(H2[4+((1-Q<<4)+g|0)>>2]-u)))>2],l=H2[e+8>>2],c=H2[r+8>>2],(u=o>2]-l)*c)))||(o=B>2]-l)))j2(0)))){if(y2[k+40>>2]){if((0|Z)<(0|A)){if((0|(A=y2[b+4>>2]))<(0|(w=A<<1))){if((0|w)>y2[b+8>>2]){if(E=0,A&&(y2[6502]=y2[6502]+1,(Z=q2(16+(A<<3|3)|0))&&(y2[(E=Z+19&-16)-4>>2]=Z),!((0|A)<1)))for(Q=0,Z=A;;)if(y2[E+Q>>2]=y2[y2[b+12>>2]+Q>>2],Q=Q+4|0,!(Z=Z-1|0))break;(Z=y2[b+12>>2])&&(U2[b+16|0]&&(y2[6503]=y2[6503]+1,$2(y2[Z-4>>2])),y2[b+12>>2]=0),y2[b+12>>2]=E,X2[b+16|0]=1,y2[b+8>>2]=w}for(Q=A<<2;;)if(Q=Q+4|(y2[E+Q>>2]=0),E=y2[b+12>>2],!(A=A-1|0))break}Z=(y2[b+4>>2]=w)-2|0}y2[E+_>>2]=y2[k+36>>2],y2[y2[b+12>>2]+(C<<2)>>2]=y2[k+40>>2],A=C+1|0;break A}N2[y2[y2[t>>2]+12>>2]](t,k)}if(!(C=A))break}}L2=32+g|0}function f6(A){return y2[(A|=0)+96>>2]}function i6(A){}function a6(A,e){A=y2[(A|=0)+4>>2],N2[y2[y2[A>>2]+8>>2]](A,y2[(e|=0)+36>>2])}function n6(A,e){var r,f,i,a,n,b,t,o,c,k,u,l,s,v,B,d,_=0,g=0,Z=0,C=(j2(0),j2(0));j2(0),j2(0),j2(0),j2(0),j2(0),j2(0),j2(0),j2(0),j2(0),j2(0),j2(0),j2(0),j2(0),j2(0);L2=d=L2-16|0,y2[A+372>>2]=0,y2[A+376>>2]=0,y2[A+252>>2]=2,y2[A+604>>2]=1065353216,y2[A+608>>2]=1065353216,y2[A+408>>2]=1065353216,y2[A+412>>2]=1065353216,y2[A+472>>2]=0,y2[A+476>>2]=0,y2[(_=A+380|0)>>2]=0,y2[_+4>>2]=0,y2[(_=A+388|0)>>2]=0,y2[_+4>>2]=0,y2[(_=A+396|0)>>2]=0,y2[_+4>>2]=0,y2[(_=A+612|0)>>2]=1065353216,y2[_+4>>2]=0,y2[(_=A+420|0)>>2]=0,y2[_+4>>2]=0,y2[A+416>>2]=1065353216,y2[(_=A+428|0)>>2]=0,y2[_+4>>2]=0,y2[(_=A+436|0)>>2]=0,y2[_+4>>2]=0,y2[(_=A+444|0)>>2]=0,y2[_+4>>2]=0,y2[A+452>>2]=0,y2[(_=A+480|0)>>2]=0,y2[_+4>>2]=0,y2[(_=A+488|0)>>2]=0,y2[_+4>>2]=0,y2[(_=A+496|0)>>2]=0,y2[_+4>>2]=0,C=H2[e+96>>2],r=H2[e+92>>2],H2[12+d>>2]=r,H2[8+d>>2]=C,y2[4+d>>2]=0,y2[d>>2]=1065353216,y2[A+504>>2]=y2[(rj2(1)?d:12+d|0)>>2],y2[4+d>>2]=0,y2[d>>2]=1065353216,y2[A+508>>2]=y2[(Cj2(1)?d:8+d|0)>>2],y2[A+668>>2]=0,y2[A+672>>2]=0,_=y2[e+120>>2],y2[A+532>>2]=y2[e+116>>2],y2[A+536>>2]=_,g=y2[e+4>>2],y2[A+540>>2]=g,X2[A+512|0]=U2[e+124|0],_=y2[e+132>>2],y2[A+516>>2]=y2[e+128>>2],y2[A+520>>2]=_,_=y2[e+140>>2],y2[A+524>>2]=y2[e+136>>2],y2[A+528>>2]=_,g?N2[y2[y2[g>>2]+8>>2]](g,_=A+4|0):(_=y2[e+12>>2],y2[A+4>>2]=y2[e+8>>2],y2[A+8>>2]=_,Z=y2[(g=e+16|0)+4>>2],y2[(_=A+12|0)>>2]=y2[g>>2],y2[_+4>>2]=Z,Z=y2[(g=e+32|0)+4>>2],y2[(_=A+28|0)>>2]=y2[g>>2],y2[_+4>>2]=Z,Z=y2[(g=e+24|0)+4>>2],y2[(_=A+20|0)>>2]=y2[g>>2],y2[_+4>>2]=Z,Z=y2[(g=e+40|0)+4>>2],y2[(_=A+36|0)>>2]=y2[g>>2],y2[_+4>>2]=Z,Z=y2[(g=e+48|0)+4>>2],y2[(_=A+44|0)>>2]=y2[g>>2],y2[_+4>>2]=Z,Z=y2[(g=e- -64|0)+4>>2],y2[(_=A+60|0)>>2]=y2[g>>2],y2[_+4>>2]=Z,Z=y2[(g=e+56|0)+4>>2],y2[(_=A+52|0)>>2]=y2[g>>2],y2[_+4>>2]=Z,_=A+4|0),y2[A+132>>2]=0,y2[A+136>>2]=0,g=y2[_+4>>2],y2[A+68>>2]=y2[_>>2],y2[A+72>>2]=g,y2[(g=A+156|0)>>2]=0,y2[g+4>>2]=0,y2[(g=A+148|0)>>2]=0,y2[g+4>>2]=0,y2[(g=A+140|0)>>2]=0,y2[g+4>>2]=0,B=y2[(Z=A+20|0)+4>>2],y2[(g=A+84|0)>>2]=y2[Z>>2],y2[g+4>>2]=B,Z=y2[(_=_+8|0)+4>>2],y2[(g=A+76|0)>>2]=y2[_>>2],y2[g+4>>2]=Z,Z=y2[(g=A+28|0)+4>>2],y2[(_=A+92|0)>>2]=y2[g>>2],y2[_+4>>2]=Z,Z=y2[(g=A+36|0)+4>>2],y2[(_=A+100|0)>>2]=y2[g>>2],y2[_+4>>2]=Z,Z=y2[(g=A+44|0)+4>>2],y2[(_=A+108|0)>>2]=y2[g>>2],y2[_+4>>2]=Z,Z=y2[(g=A+52|0)+4>>2],y2[(_=A+116|0)>>2]=y2[g>>2],y2[_+4>>2]=Z,Z=y2[(g=A+60|0)+4>>2],y2[(_=A+124|0)>>2]=y2[g>>2],y2[_+4>>2]=Z,y2[A+228>>2]=y2[e+100>>2],y2[A+236>>2]=y2[e+104>>2],y2[A+240>>2]=y2[e+108>>2],y2[A+232>>2]=y2[e+112>>2],N2[y2[y2[A>>2]+8>>2]](A,y2[e+72>>2]),_=y2[6942],y2[A+568>>2]=_,y2[6942]=_+1,C=j2(0),_=y2[A+204>>2],(r=H2[e>>2])==j2(0)?y2[A+204>>2]=1|_:(y2[A+204>>2]=-2&_,C=j2(j2(1)/r)),y2[A+436>>2]=0,H2[A+404>>2]=C,H2[A+432>>2]=r*H2[A+448>>2],H2[A+428>>2]=r*H2[A+444>>2],H2[A+424>>2]=r*H2[A+440>>2],r=H2[e+84>>2],B=H2[e+80>>2],o=H2[e+76>>2],H2[A+620>>2]=C*H2[A+408>>2],H2[(_=A+624|0)>>2]=C*H2[A+412>>2],H2[(g=A+628|0)>>2]=C*H2[A+416>>2],y2[(e=A+632|0)>>2]=0,y2[A+468>>2]=0,c=o!=j2(0)?j2(j2(1)/o):j2(0),H2[A+456>>2]=c,k=B!=j2(0)?j2(j2(1)/B):j2(0),H2[A+460>>2]=k,u=r!=j2(0)?j2(j2(1)/r):j2(0),H2[A+464>>2]=u,r=H2[A+12>>2],B=H2[A+8>>2],o=H2[A+28>>2],l=H2[A+20>>2],s=H2[A+24>>2],n=H2[A+44>>2],b=H2[A+36>>2],t=H2[A+40>>2],v=H2[A+4>>2],y2[A+564>>2]=8,y2[A+368>>2]=0,y2[A+352>>2]=0,y2[A+336>>2]=0,f=j2(c*b),i=j2(k*t),a=j2(u*n),H2[A+364>>2]=j2(j2(b*f)+j2(t*i))+j2(n*a),H2[A+360>>2]=j2(j2(l*f)+j2(s*i))+j2(o*a),H2[A+356>>2]=j2(j2(v*f)+j2(B*i))+j2(r*a),f=j2(c*l),i=j2(k*s),a=j2(u*o),H2[A+348>>2]=j2(j2(b*f)+j2(t*i))+j2(n*a),H2[A+344>>2]=j2(j2(l*f)+j2(s*i))+j2(o*a),H2[A+340>>2]=j2(j2(v*f)+j2(B*i))+j2(r*a),f=b,b=j2(c*v),i=t,t=j2(k*B),a=n,n=j2(u*r),H2[A+332>>2]=j2(j2(f*b)+j2(i*t))+j2(a*n),H2[A+328>>2]=j2(j2(b*l)+j2(t*s))+j2(n*o),H2[A+324>>2]=j2(j2(v*b)+j2(B*t))+j2(r*n),y2[(Z=A+596|0)>>2]=0,y2[Z+4>>2]=0,y2[(Z=A+588|0)>>2]=0,y2[Z+4>>2]=0,y2[(Z=A+580|0)>>2]=0,y2[Z+4>>2]=0,y2[A+572>>2]=0,y2[A+576>>2]=0,r=H2[A+408>>2],B=H2[A+412>>2],H2[g>>2]=C*H2[A+416>>2],H2[_>>2]=C*B,H2[A+620>>2]=C*r,y2[A+664>>2]=0,y2[(_=A+656|0)>>2]=0,y2[_+4>>2]=0,y2[(_=A+648|0)>>2]=0,y2[_+4>>2]=0,y2[(A=A+640|0)>>2]=0,y2[A+4>>2]=0,y2[e>>2]=0,y2[e+4>>2]=0,L2=16+d|0}function b6(A,e){var r,f,i,a,n,b,t,o,c,k=0,u=0,l=0,s=0,v=0;j2(0),j2(0),j2(0),j2(0),j2(0),j2(0),j2(0),j2(0),j2(0),j2(0),j2(0),j2(0),j2(0),j2(0),j2(0);2&U2[A+204|0]?(k=y2[A+8>>2],y2[A+68>>2]=y2[A+4>>2],y2[A+72>>2]=k,l=y2[(u=A+12|0)+4>>2],y2[(k=A+76|0)>>2]=y2[u>>2],y2[k+4>>2]=l,l=y2[(u=A+20|0)+4>>2],y2[(k=A+84|0)>>2]=y2[u>>2],y2[k+4>>2]=l,l=y2[(u=A+28|0)+4>>2],y2[(k=A+92|0)>>2]=y2[u>>2],y2[k+4>>2]=l,l=y2[(u=A+36|0)+4>>2],y2[(k=A+100|0)>>2]=y2[u>>2],y2[k+4>>2]=l,l=y2[(u=A+44|0)+4>>2],y2[(k=A+108|0)>>2]=y2[u>>2],y2[k+4>>2]=l,l=y2[(u=A+52|0)+4>>2],y2[(k=A+116|0)>>2]=y2[u>>2],y2[k+4>>2]=l,l=y2[(u=A+60|0)+4>>2],y2[(k=A+124|0)>>2]=y2[u>>2],y2[k+4>>2]=l):(k=y2[e+4>>2],y2[A+68>>2]=y2[e>>2],y2[A+72>>2]=k,l=y2[(u=e+8|0)+4>>2],y2[(k=A+76|0)>>2]=y2[u>>2],y2[k+4>>2]=l,l=y2[(u=e+24|0)+4>>2],y2[(k=A+92|0)>>2]=y2[u>>2],y2[k+4>>2]=l,u=y2[e+20>>2],y2[(k=A+84|0)>>2]=y2[e+16>>2],y2[k+4>>2]=u,u=y2[e+36>>2],y2[(k=A+100|0)>>2]=y2[e+32>>2],y2[k+4>>2]=u,l=y2[(u=e+40|0)+4>>2],y2[(k=A+108|0)>>2]=y2[u>>2],y2[k+4>>2]=l,l=y2[(u=e+56|0)+4>>2],y2[(k=A+124|0)>>2]=y2[u>>2],y2[k+4>>2]=l,u=y2[e+52>>2],y2[(k=A+116|0)>>2]=y2[e+48>>2],y2[k+4>>2]=u),k=y2[A+392>>2],y2[A+148>>2]=y2[A+388>>2],y2[A+152>>2]=k,k=y2[A+376>>2],y2[A+132>>2]=y2[A+372>>2],y2[A+136>>2]=k,l=y2[(u=A+396|0)+4>>2],y2[(k=A+156|0)>>2]=y2[u>>2],y2[k+4>>2]=l,l=y2[(u=A+380|0)+4>>2],y2[(k=A+140|0)>>2]=y2[u>>2],y2[k+4>>2]=l,a=y2[(l=e+8|0)+4>>2],y2[(k=A+12|0)>>2]=y2[l>>2],y2[k+4>>2]=a,u=y2[e+4>>2],y2[A+4>>2]=y2[e>>2],y2[A+8>>2]=u,v=y2[4+(a=e+24|0)>>2],y2[(u=A+28|0)>>2]=y2[a>>2],y2[u+4>>2]=v,v=y2[e+20>>2],y2[(l=A+20|0)>>2]=y2[e+16>>2],y2[l+4>>2]=v,n=y2[4+(s=e+40|0)>>2],y2[(v=a=A+44|0)>>2]=y2[s>>2],y2[4+v>>2]=n,n=y2[e+36>>2],y2[(s=v=A+36|0)>>2]=y2[e+32>>2],y2[4+s>>2]=n,c=y2[4+(n=e+56|0)>>2],y2[(s=A+60|0)>>2]=y2[n>>2],y2[4+s>>2]=c,n=y2[e+52>>2],y2[(s=A+52|0)>>2]=y2[e+48>>2],y2[4+s>>2]=n,c=H2[A+8>>2],e=H2[k>>2],s=H2[u>>2],n=H2[l>>2],k=H2[A+24>>2],u=H2[a>>2],l=H2[A+464>>2],a=H2[v>>2],v=H2[A+40>>2],t=H2[A+460>>2],b=H2[A+4>>2],o=H2[A+456>>2],y2[A+368>>2]=0,y2[A+352>>2]=0,y2[A+336>>2]=0,r=j2(o*a),f=j2(t*v),i=j2(l*u),H2[A+364>>2]=j2(j2(a*r)+j2(v*f))+j2(u*i),H2[A+360>>2]=j2(j2(n*r)+j2(k*f))+j2(s*i),H2[A+356>>2]=j2(j2(b*r)+j2(c*f))+j2(e*i),r=j2(o*n),f=j2(t*k),i=j2(l*s),H2[A+348>>2]=j2(j2(a*r)+j2(v*f))+j2(u*i),H2[A+344>>2]=j2(j2(n*r)+j2(k*f))+j2(s*i),H2[A+340>>2]=j2(j2(b*r)+j2(c*f))+j2(e*i),r=a,a=j2(b*o),f=v,v=j2(c*t),i=u,u=j2(e*l),H2[A+332>>2]=j2(j2(r*a)+j2(f*v))+j2(i*u),H2[A+328>>2]=j2(j2(a*n)+j2(v*k))+j2(u*s),H2[A+324>>2]=j2(j2(b*a)+j2(c*v))+j2(e*u)}function t6(A,e){var r=0,f=0,i=0,a=0,n=0;A:{f=y2[A+548>>2];e:if(!((0|f)<1)){for(i=y2[A+556>>2],r=f;;){if(y2[i>>2]==(0|e))break;if(i=i+4|0,!(r=r-1|0))break e}if(r)break A}if(y2[A+552>>2]==(0|f)&&!((0|(a=f?f<<1:1))<=(0|f))){if(a&&(y2[6502]=y2[6502]+1,r=q2(16+(a<<2|3)|0))&&(y2[(n=r+19&-16)-4>>2]=r),1<=(0|f))for(i=0,r=f;;)if(y2[i+n>>2]=y2[y2[A+556>>2]+i>>2],i=i+4|0,!(r=r-1|0))break;(r=y2[A+556>>2])&&(U2[A+560|0]&&(y2[6503]=y2[6503]+1,$2(y2[r-4>>2]),f=y2[A+548>>2]),y2[A+556>>2]=0),y2[A+556>>2]=n,y2[A+552>>2]=a,X2[A+560|0]=1}if(y2[y2[A+556>>2]+(f<<2)>>2]=e,y2[A+548>>2]=f+1,r=y2[e+32>>2],(0|(n=y2[e+28>>2]))==(0|A)){if((0|(e=y2[A+288>>2]))==y2[A+292>>2]&&!((0|(a=e?e<<1:1))<=(0|e))){if(n=0,a&&(y2[6502]=y2[6502]+1,f=q2(16+(a<<2|3)|0))&&(y2[(n=f+19&-16)-4>>2]=f),1<=(0|e))for(i=0,f=e;;)if(y2[i+n>>2]=y2[y2[A+296>>2]+i>>2],i=i+4|0,!(f=f-1|0))break;(f=y2[A+296>>2])&&(U2[A+300|0]&&(y2[6503]=y2[6503]+1,$2(y2[f-4>>2]),e=y2[A+288>>2]),y2[A+296>>2]=0),y2[A+296>>2]=n,y2[A+292>>2]=a,X2[A+300|0]=1}}else{if((0|(e=y2[r+288>>2]))==y2[r+292>>2]&&!((0|(a=e?e<<1:1))<=(0|e))){if(f=0,a&&(y2[6502]=y2[6502]+1,(A=q2(16+(a<<2|3)|0))&&(y2[(f=A+19&-16)-4>>2]=A),e=y2[r+288>>2]),1<=(0|e))for(i=0,A=e;;)if(y2[f+i>>2]=y2[y2[r+296>>2]+i>>2],i=i+4|0,!(A=A-1|0))break;(A=y2[r+296>>2])&&(U2[r+300|0]&&(y2[6503]=y2[6503]+1,$2(y2[A-4>>2]),e=y2[r+288>>2]),y2[r+296>>2]=0),y2[r+296>>2]=f,y2[r+292>>2]=a,X2[r+300|0]=1}A=r,r=n}y2[A+288>>2]=e+1,y2[A+280>>2]=(-1^e)>>>31,y2[y2[A+296>>2]+(e<<2)>>2]=r}}function o6(A,e){var r=0,f=0,i=0,a=0;A:if(!((0|(a=y2[A+548>>2]))<1)){for(f=i=y2[A+556>>2];;){if(y2[f>>2]==(0|e))break;if(f=f+4|0,(0|a)==(0|(r=r+1|0)))break A}if(!((0|a)<=(0|r))){r=0,f=i;e:{for(;;){if(y2[f>>2]==(0|e))break;if(f=f+4|0,(0|a)==(0|(r=r+1|0)))break e}(0|a)<=(0|r)||(r=i,y2[f>>2]=y2[r+(i=(f=a-1|0)<<2)>>2],y2[A+548>>2]=f,y2[i+y2[A+556>>2]>>2]=e)}if(a=y2[e+32>>2],(0|(i=y2[e+28>>2]))==(0|A)){e=y2[A+288>>2];e:if(!((0|e)<1)){for(r=0,f=i=y2[A+296>>2];;){if(y2[f>>2]==(0|a))break;if(f=f+4|0,(0|(r=r+1|0))==(0|e))break e}(0|e)<=(0|r)||(r=i,y2[f>>2]=y2[r+(i=(e=e-1|0)<<2)>>2],y2[A+288>>2]=e,y2[i+y2[A+296>>2]>>2]=a)}return void(y2[A+280>>2]=0<(0|e))}e=y2[a+288>>2];e:if(!((0|e)<1)){for(r=0,f=A=y2[a+296>>2];;){if((0|i)==y2[f>>2])break;if(f=f+4|0,(0|(r=r+1|0))==(0|e))break e}(0|e)<=(0|r)||(r=A,y2[f>>2]=y2[r+(A=(e=e-1|0)<<2)>>2],y2[a+288>>2]=e,y2[A+y2[a+296>>2]>>2]=i)}y2[a+280>>2]=0<(0|e)}}}function c6(A){var e;return y2[(A|=0)>>2]=22988,(e=y2[A+204>>2])&&(U2[A+208|0]&&(y2[6503]=y2[6503]+1,$2(y2[e-4>>2])),y2[A+204>>2]=0),y2[A+204>>2]=0,y2[A+196>>2]=0,y2[A+200>>2]=0,X2[A+208|0]=1,(e=y2[A+176>>2])&&(U2[A+180|0]&&(y2[6503]=y2[6503]+1,$2(y2[e-4>>2])),y2[A+176>>2]=0),y2[A+176>>2]=0,y2[A+168>>2]=0,y2[A+172>>2]=0,X2[A+180|0]=1,(e=y2[A+156>>2])&&(U2[A+160|0]&&(y2[6503]=y2[6503]+1,$2(y2[e-4>>2])),y2[A+156>>2]=0),y2[A+156>>2]=0,y2[A+148>>2]=0,y2[A+152>>2]=0,X2[A+160|0]=1,(e=y2[A+136>>2])&&(U2[A+140|0]&&(y2[6503]=y2[6503]+1,$2(y2[e-4>>2])),y2[A+136>>2]=0),y2[A+136>>2]=0,y2[A+128>>2]=0,y2[A+132>>2]=0,X2[A+140|0]=1,(e=y2[A+116>>2])&&(U2[A+120|0]&&(y2[6503]=y2[6503]+1,$2(y2[e-4>>2])),y2[A+116>>2]=0),y2[A+116>>2]=0,y2[A+108>>2]=0,y2[A+112>>2]=0,X2[A+120|0]=1,(e=y2[A+96>>2])&&(U2[A+100|0]&&(y2[6503]=y2[6503]+1,$2(y2[e-4>>2])),y2[A+96>>2]=0),y2[A+96>>2]=0,y2[A+88>>2]=0,y2[A+92>>2]=0,X2[A+100|0]=1,(e=y2[A+76>>2])&&(U2[A+80|0]&&(y2[6503]=y2[6503]+1,$2(y2[e-4>>2])),y2[A+76>>2]=0),y2[A+76>>2]=0,y2[A+68>>2]=0,y2[A+72>>2]=0,X2[A+80|0]=1,(e=y2[A+56>>2])&&(U2[A+60|0]&&(y2[6503]=y2[6503]+1,$2(y2[e-4>>2])),y2[A+56>>2]=0),y2[A+56>>2]=0,y2[A+48>>2]=0,y2[A+52>>2]=0,X2[A+60|0]=1,(e=y2[A+36>>2])&&(U2[A+40|0]&&(y2[6503]=y2[6503]+1,$2(y2[e-4>>2])),y2[A+36>>2]=0),y2[A+36>>2]=0,y2[A+28>>2]=0,y2[A+32>>2]=0,X2[A+40|0]=1,(e=y2[A+16>>2])&&(U2[A+20|0]&&(y2[6503]=y2[6503]+1,$2(y2[e-4>>2])),y2[A+16>>2]=0),y2[A+16>>2]=0,y2[A+8>>2]=0,y2[A+12>>2]=0,X2[A+20|0]=1,0|A}function k6(A,e,r){var f,i,a,n,b,t,o,c,k,u,l=0,s=(j2(0),0);j2(0),j2(0),j2(0),j2(0),j2(0),j2(0),j2(0),j2(0);return L2=u=L2-256|0,-1<(0|(s=y2[e+212>>2]))||(2&(l=y2[e+252>>2])&&(2&U2[(l=l<<30>>31&e)+204|0]||H2[l+404>>2]!=j2(0))?(s=y2[A+8>>2],v2(8+u|0,0,244),A=s6(A+4|0,8+u|0),l=y2[e+252>>2],y2[(o=A+88|0)>>2]=0,y2[4+o>>2]=0,y2[(o=A+80|0)>>2]=0,y2[4+o>>2]=0,y2[(o=A+72|0)>>2]=0,y2[4+o>>2]=0,y2[A+64>>2]=0,y2[A+68>>2]=0,y2[A+144>>2]=0,y2[A+148>>2]=0,y2[(o=A+152|0)>>2]=0,y2[4+o>>2]=0,y2[(o=A+160|0)>>2]=0,y2[4+o>>2]=0,y2[(o=A+168|0)>>2]=0,y2[4+o>>2]=0,2&l?(o=y2[(l=l<<30>>31&e)+8>>2],y2[A>>2]=y2[l+4>>2],y2[A+4>>2]=o,c=y2[4+(t=l+12|0)>>2],y2[(o=A+8|0)>>2]=y2[t>>2],y2[4+o>>2]=c,c=y2[4+(t=l+28|0)>>2],y2[(o=A+24|0)>>2]=y2[t>>2],y2[4+o>>2]=c,t=y2[4+(o=l+20|0)>>2],y2[A+16>>2]=y2[o>>2],y2[A+20>>2]=t,c=y2[4+(t=l+44|0)>>2],y2[(o=A+40|0)>>2]=y2[t>>2],y2[4+o>>2]=c,t=y2[4+(o=l+36|0)>>2],y2[A+32>>2]=y2[o>>2],y2[A+36>>2]=t,t=y2[4+(o=l+52|0)>>2],y2[A+48>>2]=y2[o>>2],y2[A+52>>2]=t,c=y2[4+(t=l+60|0)>>2],y2[(o=A+56|0)>>2]=y2[t>>2],y2[4+o>>2]=c,i=H2[l+412>>2],a=H2[(o=l+416|0)>>2],n=H2[l+408>>2],f=H2[l+404>>2],y2[A+140>>2]=0,H2[A+136>>2]=f*a,H2[A+132>>2]=f*i,H2[A+128>>2]=f*n,y2[A+240>>2]=l,b=y2[4+(c=l+612|0)>>2],y2[(t=A+104|0)>>2]=y2[c>>2],y2[4+t>>2]=b,t=y2[l+608>>2],y2[A+96>>2]=y2[l+604>>2],y2[A+100>>2]=t,c=y2[4+o>>2],y2[(t=A+120|0)>>2]=y2[o>>2],y2[4+t>>2]=c,o=y2[l+412>>2],y2[A+112>>2]=y2[l+408>>2],y2[A+116>>2]=o,c=y2[4+(t=l+380|0)>>2],y2[(o=A+184|0)>>2]=y2[t>>2],y2[4+o>>2]=c,o=y2[l+376>>2],y2[A+176>>2]=y2[l+372>>2],y2[A+180>>2]=o,o=y2[l+392>>2],y2[A+192>>2]=y2[l+388>>2],y2[A+196>>2]=o,c=y2[4+(t=l+396|0)>>2],y2[(o=A+200|0)>>2]=y2[t>>2],y2[4+o>>2]=c,i=H2[l+476>>2],a=H2[l+480>>2],n=H2[l+472>>2],f=H2[l+404>>2],y2[A+220>>2]=0,H2[A+216>>2]=j2(f*a)*r,H2[A+212>>2]=j2(f*i)*r,H2[A+208>>2]=j2(f*n)*r,n=H2[l+340>>2],b=H2[l+356>>2],t=H2[l+328>>2],o=H2[l+344>>2],c=H2[l+360>>2],k=H2[l+324>>2],f=H2[l+488>>2],i=H2[l+492>>2],a=H2[l+496>>2],H2[A+232>>2]=j2(j2(j2(f*H2[l+332>>2])+j2(i*H2[l+348>>2]))+j2(a*H2[l+364>>2]))*r,H2[A+228>>2]=j2(j2(j2(f*t)+j2(i*o))+j2(a*c))*r,H2[A+224>>2]=j2(j2(j2(k*f)+j2(n*i))+j2(b*a))*r):(y2[A+4>>2]=0,y2[A+8>>2]=0,y2[A>>2]=1065353216,y2[A+32>>2]=0,y2[A+36>>2]=0,y2[A+240>>2]=0,y2[A+128>>2]=0,y2[A+132>>2]=0,y2[A+112>>2]=1065353216,y2[A+116>>2]=1065353216,y2[A+96>>2]=1065353216,y2[A+100>>2]=1065353216,y2[A+176>>2]=0,y2[A+180>>2]=0,y2[(l=A+12|0)>>2]=0,y2[l+4>>2]=0,y2[(l=A+24|0)>>2]=0,y2[l+4>>2]=0,y2[A+20>>2]=1065353216,y2[(l=A+44|0)>>2]=0,y2[l+4>>2]=0,y2[A+40>>2]=1065353216,y2[(l=A+52|0)>>2]=0,y2[l+4>>2]=0,y2[A+60>>2]=0,y2[(l=A+136|0)>>2]=0,y2[l+4>>2]=0,y2[(l=A+120|0)>>2]=1065353216,y2[l+4>>2]=0,y2[(l=A+104|0)>>2]=1065353216,y2[l+4>>2]=0,y2[A+232>>2]=0,y2[(l=A+224|0)>>2]=0,y2[l+4>>2]=0,y2[(l=A+216|0)>>2]=0,y2[l+4>>2]=0,y2[(l=A+208|0)>>2]=0,y2[l+4>>2]=0,y2[(l=A+200|0)>>2]=0,y2[l+4>>2]=0,y2[(l=A+192|0)>>2]=0,y2[l+4>>2]=0,y2[(l=A+184|0)>>2]=0,y2[l+4>>2]=0),y2[A+236>>2]=0,y2[e+212>>2]=s):-1<(0|(s=y2[A+188>>2]))||(y2[A+188>>2]=y2[A+8>>2],v2(8+u|0,0,244),e=s6(A+4|0,8+u|0),y2[(l=e+88|0)>>2]=0,y2[l+4>>2]=0,y2[(l=e+80|0)>>2]=0,y2[l+4>>2]=0,y2[(l=e+72|0)>>2]=0,y2[l+4>>2]=0,y2[e+64>>2]=0,y2[e+68>>2]=0,y2[e+144>>2]=0,y2[e+148>>2]=0,y2[(l=e+152|0)>>2]=0,y2[l+4>>2]=0,y2[(l=e+160|0)>>2]=0,y2[l+4>>2]=0,y2[(l=e+168|0)>>2]=0,y2[l+4>>2]=0,y2[e+4>>2]=0,y2[e+8>>2]=0,y2[e>>2]=1065353216,y2[(l=e+12|0)>>2]=0,y2[l+4>>2]=0,y2[(l=e+24|0)>>2]=0,y2[l+4>>2]=0,y2[e+20>>2]=1065353216,y2[e+32>>2]=0,y2[e+36>>2]=0,y2[(l=e+44|0)>>2]=0,y2[l+4>>2]=0,y2[e+40>>2]=1065353216,y2[(l=e+52|0)>>2]=0,y2[l+4>>2]=0,y2[e+60>>2]=0,y2[(l=e+136|0)>>2]=0,y2[l+4>>2]=0,y2[e+128>>2]=0,y2[e+132>>2]=0,y2[(l=e+120|0)>>2]=1065353216,y2[l+4>>2]=0,y2[e+112>>2]=1065353216,y2[e+116>>2]=1065353216,y2[(l=e+104|0)>>2]=1065353216,y2[l+4>>2]=0,y2[e+96>>2]=1065353216,y2[e+100>>2]=1065353216,y2[(l=e+232|0)>>2]=0,y2[l+4>>2]=0,y2[(l=e+224|0)>>2]=0,y2[l+4>>2]=0,y2[(l=e+216|0)>>2]=0,y2[l+4>>2]=0,y2[(l=e+208|0)>>2]=0,y2[l+4>>2]=0,y2[(l=e+200|0)>>2]=0,y2[l+4>>2]=0,y2[(l=e+192|0)>>2]=0,y2[l+4>>2]=0,y2[(l=e+184|0)>>2]=0,y2[l+4>>2]=0,y2[e+176>>2]=0,y2[e+180>>2]=0,y2[e+240>>2]=0,s=y2[A+188>>2])),L2=256+u|0,s}function u6(A,e,r,f,i,a){var n,b,t,o,c=0,k=0,u=j2(0),l=j2(0),s=j2(0),v=0,B=(j2(0),j2(0),j2(0),0),d=j2(0),_=j2(0),g=j2(0),Z=(j2(0),j2(0),0),C=0,w=0,E=0,Q=j2(0),h=j2(0),G=j2(0),F=j2(0),c=o=y2[A+88>>2];if((0|c)==y2[A+92>>2]&&!((0|(v=(c=o)?c<<1:1))<=(0|c))){if(v&&(y2[6502]=y2[6502]+1,c=q2(16+(3|P2(v,152))|0))&&(y2[(B=c+19&-16)-4>>2]=c),1<=(0|o))for(c=0,k=o;;)if(A0(c+B|0,y2[A+96>>2]+c|0,152),c=c+152|0,!(k=k-1|0))break;(c=y2[A+96>>2])&&(U2[A+100|0]&&(y2[6503]=y2[6503]+1,$2(y2[c-4>>2])),y2[A+96>>2]=0),y2[A+96>>2]=B,y2[A+92>>2]=v,X2[A+100|0]=1,c=y2[A+88>>2]}y2[A+88>>2]=c+1,c=(v=y2[A+96>>2])+P2(o,152)|0,y2[c+16>>2]=0,y2[c+20>>2]=0,y2[c+48>>2]=-2147483648,y2[c+52>>2]=-2147483648,y2[(k=c+24|0)>>2]=0,y2[k+4>>2]=0,y2[(k=c+56|0)>>2]=-2147483648,y2[k+4>>2]=0,H2[c+104>>2]=a,y2[c+96>>2]=0,y2[c+100>>2]=0,B=y2[A+16>>2],A=y2[240+(B+P2(r,244)|0)>>2],k=y2[240+(B+P2(f,244)|0)>>2],y2[c+132>>2]=0,y2[c+140>>2]=i,y2[c+148>>2]=f,y2[c+144>>2]=r,s=H2[e+8>>2],n=H2[e+4>>2],u=H2[e>>2],y2[c+12>>2]=0,b=j2(-u),H2[c>>2]=b,l=j2(-n),H2[c+4>>2]=l,H2[c+8>>2]=-s,i=0,t=c,Z=A?(Q2(j2(j2(j2(j2(H2[A+360>>2]*l)-j2(u*H2[A+356>>2]))-j2(s*H2[A+364>>2]))*H2[A+612>>2])),C=w2[2],Q2(j2(j2(j2(j2(H2[A+344>>2]*l)-j2(u*H2[A+340>>2]))-j2(s*H2[A+348>>2]))*H2[A+608>>2])),w=w2[2],Q2(j2(j2(j2(j2(H2[A+328>>2]*l)-j2(u*H2[A+324>>2]))-j2(s*H2[A+332>>2]))*H2[A+604>>2])),w2[2]):0,y2[t+64>>2]=Z,y2[c+76>>2]=0,y2[c+72>>2]=C,y2[c+68>>2]=w,t=H2[e>>2],Z=H2[e+4>>2],C=H2[e+8>>2],y2[c+44>>2]=y2[e+12>>2],H2[c+40>>2]=C,H2[c+36>>2]=Z,H2[c+32>>2]=t,e=0,k&&(Q2(j2(j2(j2(j2(t*H2[k+356>>2])+j2(Z*H2[k+360>>2]))+j2(C*H2[k+364>>2]))*H2[k+612>>2])),i=w2[2],Q2(j2(j2(j2(j2(t*H2[k+324>>2])+j2(Z*H2[k+328>>2]))+j2(C*H2[k+332>>2]))*H2[k+604>>2])),E=w2[2],Q2(j2(j2(j2(j2(t*H2[k+340>>2])+j2(Z*H2[k+344>>2]))+j2(C*H2[k+348>>2]))*H2[k+608>>2])),e=w2[2]),c=v+P2(o,152)|0,y2[c+80>>2]=E,y2[c+92>>2]=0,y2[c+88>>2]=i,y2[c+84>>2]=e,A&&(d=j2(j2(j2(H2[A+360>>2]*l)-j2(u*H2[A+356>>2]))-j2(s*H2[A+364>>2])),g=j2(j2(j2(H2[A+344>>2]*l)-j2(u*H2[A+340>>2]))-j2(s*H2[A+348>>2])),_=j2(j2(j2(H2[A+328>>2]*l)-j2(u*H2[A+324>>2]))-j2(s*H2[A+332>>2]))),e=v+P2(o,152)|0,g=j2(j2(j2(j2(g*l)-j2(u*_))-j2(s*d))+j2(0)),d=k?(Q=j2(j2(j2(t*H2[k+356>>2])+j2(Z*H2[k+360>>2]))+j2(C*H2[k+364>>2])),h=j2(j2(j2(t*H2[k+340>>2])+j2(Z*H2[k+344>>2]))+j2(C*H2[k+348>>2])),j2(j2(j2(H2[k+324>>2]*t)+j2(H2[k+328>>2]*Z))+j2(H2[k+332>>2]*C))):j2(0),d=j2(j2(1)/j2(g+j2(j2(j2(d*t)+j2(h*Z))+j2(Q*C)))),H2[e+108>>2]=d,u=j2(0),l=j2(0),_=j2(0),A&&(A=B+P2(r,244)|0,u=j2(j2(j2(j2(H2[A+176>>2]+H2[A+208>>2])*j2(0))+j2(j2(H2[A+180>>2]+H2[A+212>>2])*j2(0)))+j2(j2(H2[A+184>>2]+H2[A+216>>2])*j2(0))),_=H2[A+192>>2],G=H2[A+196>>2],l=H2[A+200>>2]),_=j2(u+j2(j2(j2(_*b)-j2(n*G))-j2(s*l))),s=k?(A=B+P2(f,244)|0,u=j2(j2(j2(j2(H2[A+176>>2]+H2[A+208>>2])*j2(-0))+j2(j2(H2[A+180>>2]+H2[A+212>>2])*j2(-0)))+j2(j2(H2[A+184>>2]+H2[A+216>>2])*j2(-0))),F=H2[A+200>>2],l=H2[A+196>>2],H2[A+192>>2]):(u=j2(-0),l=j2(0),j2(0)),A=v+P2(o,152)|0,H2[A+124>>2]=a,H2[A+120>>2]=-a,y2[A+116>>2]=0,H2[A+112>>2]=d*j2(j2(0)-j2(_+j2(u+j2(j2(C*F)+j2(j2(Z*l)+j2(t*s))))))}function l6(A,e,V,x,r,f,i,a,n,p,S,J){var M,X,b,t,y,U,o,c=0,k=0,u=j2(0),l=j2(0),s=j2(0),v=j2(0),B=j2(0),d=j2(0),_=j2(0),g=j2(0),Z=0,C=j2(0),w=0,E=j2(0),Q=j2(0),h=j2(0),G=j2(0),F=0,D=j2(0),Y=j2(0),m=j2(0),N=j2(0),R=j2(0),I=j2(0),W=j2(0),T=j2(0),H=j2(0),c=(j2(0),j2(0),j2(0),j2(0),j2(0),j2(0),o=y2[A+68>>2]);if((0|c)==y2[A+72>>2]&&!((0|(Z=(c=o)?c<<1:1))<=(0|c))){if(Z&&(y2[6502]=y2[6502]+1,c=q2(16+(3|P2(Z,152))|0))&&(y2[(w=c+19&-16)-4>>2]=c),1<=(0|o))for(c=0,k=o;;)if(A0(c+w|0,y2[A+76>>2]+c|0,152),c=c+152|0,!(k=k-1|0))break;(c=y2[A+76>>2])&&(U2[A+80|0]&&(y2[6503]=y2[6503]+1,$2(y2[c-4>>2])),y2[A+76>>2]=0),y2[A+76>>2]=w,y2[A+72>>2]=Z,X2[A+80|0]=1,c=y2[A+68>>2]}y2[A+68>>2]=c+1,c=(Z=y2[A+76>>2])+P2(o,152)|0,y2[c+140>>2]=r,y2[c+148>>2]=x,y2[c+144>>2]=V,X=H2[f+84>>2],M=y2[f+84>>2],y2[c+104>>2]=M,y2[c+96>>2]=0,y2[c+100>>2]=0,w=y2[A+16>>2],A=y2[240+(w+P2(V,244)|0)>>2],r=y2[240+(w+P2(x,244)|0)>>2],k=c+16|(y2[c+132>>2]=0),A?(F=y2[e+4>>2],y2[k>>2]=y2[e>>2],y2[k+4>>2]=F,t=y2[4+(b=e+8|0)>>2],y2[(F=k+8|0)>>2]=y2[b>>2],y2[F+4>>2]=t,l=H2[i>>2],v=H2[i+4>>2],B=H2[i+8>>2],y2[c+12>>2]=0,C=H2[c+24>>2],D=H2[c+20>>2],E=j2(j2(v*C)-j2(B*D)),H2[c>>2]=E,Y=H2[k>>2],v=j2(j2(D*l)-j2(v*Y)),H2[c+8>>2]=v,B=j2(j2(B*Y)-j2(C*l)),H2[c+4>>2]=B,l=H2[A+332>>2],u=H2[A+328>>2],Q=H2[A+608>>2],s=H2[A+348>>2],d=H2[A+340>>2],m=H2[A+344>>2],N=H2[A+612>>2],R=H2[A+364>>2],_=H2[A+356>>2],g=H2[A+360>>2],W=H2[A+604>>2],h=H2[A+324>>2],y2[c+76>>2]=0,g=j2(N*j2(j2(j2(E*_)+j2(B*g))+j2(v*R))),H2[c+72>>2]=g,I=j2(Q*j2(j2(j2(E*d)+j2(B*m))+j2(v*s))),H2[c+68>>2]=I,W=j2(W*j2(j2(j2(E*h)+j2(B*u))+j2(v*l))),H2[c+64>>2]=W):(y2[c>>2]=0,y2[c+4>>2]=0,y2[(F=c+8|0)>>2]=0,y2[F+4>>2]=0,y2[k>>2]=0,y2[k+4>>2]=0,y2[(k=c+24|0)>>2]=0,y2[k+4>>2]=0,y2[c+64>>2]=0,y2[c+68>>2]=0,y2[(c=c+72|0)>>2]=0,y2[c+4>>2]=0),r?(l=H2[e+4>>2],u=H2[e+8>>2],c=Z+P2(o,152)|0,s=H2[e>>2],m=j2(-s),H2[c+48>>2]=m,y2[c+60>>2]=0,N=j2(-u),H2[c+56>>2]=N,R=j2(-l),H2[c+52>>2]=R,d=H2[a+8>>2],_=H2[a+4>>2],G=H2[a>>2],y2[c+44>>2]=0,Q=j2(j2(s*_)-j2(l*G)),H2[c+40>>2]=Q,s=j2(j2(u*G)-j2(s*d)),H2[c+36>>2]=s,d=j2(j2(l*d)-j2(u*_)),H2[c+32>>2]=d,l=H2[r+332>>2],G=H2[r+328>>2],_=H2[r+608>>2],h=H2[r+348>>2],T=H2[r+340>>2],H=H2[r+344>>2],u=H2[r+612>>2],b=H2[r+364>>2],t=H2[r+356>>2],F=H2[r+360>>2],y=H2[r+604>>2],U=H2[r+324>>2],y2[c+92>>2]=0,u=j2(u*j2(j2(j2(d*t)+j2(s*F))+j2(Q*b))),H2[c+88>>2]=u,_=j2(_*j2(j2(j2(d*T)+j2(s*H))+j2(Q*h))),H2[c+84>>2]=_,G=j2(y*j2(j2(j2(d*U)+j2(s*G))+j2(Q*l))),H2[c+80>>2]=G):(c=Z+P2(o,152)|0,y2[c+80>>2]=0,y2[c+84>>2]=0,y2[c+32>>2]=0,y2[c+36>>2]=0,y2[(k=c+88|0)>>2]=0,y2[k+4>>2]=0,y2[(k=c+40|0)>>2]=0,y2[k+4>>2]=0,y2[(k=c+48|0)>>2]=0,y2[k+4>>2]=0,y2[(c=c+56|0)>>2]=0,y2[c+4>>2]=0,Q=j2(0),s=j2(0),d=j2(0),N=j2(0),R=j2(0),m=j2(0),u=j2(0),_=j2(0)),c=Z+P2(o,152)|0,l=n,n=A?(n=H2[i+8>>2],h=H2[i+4>>2],H=j2(j2(j2(I*n)-j2(g*h))*H2[e>>2]),T=g,g=H2[i>>2],j2(H2[A+404>>2]+j2(j2(H+j2(j2(j2(T*g)-j2(n*W))*H2[e+4>>2]))+j2(j2(j2(h*W)-j2(I*g))*H2[e+8>>2])))):j2(0),u=r?(g=H2[a+4>>2],I=H2[a+8>>2],h=j2(j2(j2(u*g)-j2(_*I))*H2[e>>2]),T=u,u=H2[a>>2],j2(H2[r+404>>2]+j2(j2(h+j2(j2(j2(G*I)-j2(T*u))*H2[e+4>>2]))+j2(j2(j2(_*u)-j2(G*g))*H2[e+8>>2])))):j2(0),l=j2(l/j2(n+u)),H2[c+108>>2]=l,n=A?(A=w+P2(V,244)|0,C=j2(j2(j2(j2(H2[A+176>>2]+H2[A+208>>2])*Y)+j2(j2(H2[A+180>>2]+H2[A+212>>2])*D))+j2(j2(H2[A+184>>2]+H2[A+216>>2])*C)),u=H2[A+192>>2],Y=H2[A+200>>2],H2[A+196>>2]):(u=j2(0),C=j2(j2(j2(Y*j2(0))+j2(D*j2(0)))+j2(C*j2(0))),Y=j2(0),j2(0)),C=j2(C+j2(j2(j2(u*E)+j2(n*B))+j2(Y*v))),n=r?(A=w+P2(x,244)|0,B=j2(j2(j2(j2(H2[A+176>>2]+H2[A+208>>2])*m)+j2(j2(H2[A+180>>2]+H2[A+212>>2])*R))+j2(j2(H2[A+184>>2]+H2[A+216>>2])*N)),D=H2[A+192>>2],v=H2[A+200>>2],H2[A+196>>2]):(v=j2(0),B=j2(j2(j2(m*j2(0))+j2(R*j2(0)))+j2(N*j2(0))),D=j2(0),j2(0)),E=j2(0),16&U2[f+128|0]&&(E=j2(l*j2(j2(H2[p+44>>2]*j2(-j2(j2(j2(j2(H2[f+48>>2]-H2[f+32>>2])*H2[e>>2])+j2(j2(H2[f+52>>2]-H2[f+36>>2])*H2[e+4>>2]))+j2(j2(H2[f+56>>2]-H2[f+40>>2])*H2[e+8>>2]))))/H2[p+12>>2]))),A=Z+P2(o,152)|0,y2[A+128>>2]=0,H2[A+112>>2]=j2(l*j2(S-j2(C+j2(B+j2(j2(j2(D*d)+j2(n*s))+j2(v*Q))))))+E,y2[A+124>>2]=M,H2[A+120>>2]=-X,H2[A+116>>2]=J}function s6(A,e){var r,f,i,a,n,b,t,o=0,c=0,k=0,u=0,l=0,c=t=y2[A+4>>2];if((0|t)==y2[A+8>>2]&&!((0|(n=(c=t)?t<<1:1))<=(0|t))){if(n&&(y2[6502]=y2[6502]+1,c=q2(16+(3|P2(n,244))|0))&&(y2[(l=c+19&-16)-4>>2]=c),1<=(0|t))for(o=64,c=t;;)if(u=y2[A+12>>2]+o|0,a=y2[4+(f=u+-64|0)>>2],y2[(r=(k=o+l|0)+-64|0)>>2]=y2[f>>2],y2[4+r>>2]=a,i=y2[4+(f=8+f|0)>>2],y2[(r=8+r|0)>>2]=y2[f>>2],y2[4+r>>2]=i,b=y2[4+(a=8+(r=u-48|0)|0)>>2],y2[(i=8+(f=k-48|0)|0)>>2]=y2[a>>2],y2[4+i>>2]=b,i=y2[4+r>>2],y2[f>>2]=y2[r>>2],y2[4+f>>2]=i,b=y2[4+(a=8+(r=u-32|0)|0)>>2],y2[(i=8+(f=k-32|0)|0)>>2]=y2[a>>2],y2[4+i>>2]=b,i=y2[4+r>>2],y2[f>>2]=y2[r>>2],y2[4+f>>2]=i,a=y2[4+(f=u-16|0)>>2],y2[(r=k-16|0)>>2]=y2[f>>2],y2[4+r>>2]=a,i=y2[4+(f=8+f|0)>>2],y2[(r=8+r|0)>>2]=y2[f>>2],y2[4+r>>2]=i,A0(k,u,180),o=o+244|0,!(c=c-1|0))break;(c=y2[A+12>>2])&&(U2[A+16|0]&&(y2[6503]=y2[6503]+1,$2(y2[c-4>>2])),y2[A+12>>2]=0),y2[A+12>>2]=l,X2[A+16|0]=1,y2[A+8>>2]=n,c=y2[A+4>>2]}return y2[A+4>>2]=c+1,u=y2[(k=e+8|0)+4>>2],t=(c=P2(t,244))+y2[A+12>>2]|0,y2[(o=8+t|0)>>2]=y2[k>>2],y2[o+4>>2]=u,o=y2[e+4>>2],y2[t>>2]=y2[e>>2],y2[4+t>>2]=o,u=y2[(k=e+24|0)+4>>2],y2[(o=24+t|0)>>2]=y2[k>>2],y2[o+4>>2]=u,o=y2[e+20>>2],y2[16+t>>2]=y2[e+16>>2],y2[20+t>>2]=o,o=y2[e+36>>2],y2[32+t>>2]=y2[e+32>>2],y2[36+t>>2]=o,u=y2[(k=e+40|0)+4>>2],y2[(o=40+t|0)>>2]=y2[k>>2],y2[o+4>>2]=u,o=y2[e+52>>2],y2[48+t>>2]=y2[e+48>>2],y2[52+t>>2]=o,u=y2[(k=e+56|0)+4>>2],y2[(o=56+t|0)>>2]=y2[k>>2],y2[o+4>>2]=u,A0(t+64|0,e- -64|0,180),c+y2[A+12>>2]|0}function v6(A,e,r){var f=0,i=0,i=e|=0,a=0|N2[y2[y2[(r|=0)>>2]+28>>2]](r,y2[(A|=0)+28>>2]);if(y2[i>>2]=a,i=e,a=0|N2[y2[y2[r>>2]+28>>2]](r,y2[A+32>>2]),y2[i+4>>2]=a,f=0|N2[y2[y2[r>>2]+40>>2]](r,A),i=0|N2[y2[y2[r>>2]+28>>2]](r,f),(y2[e+8>>2]=i)&&N2[y2[y2[r>>2]+48>>2]](r,f),y2[e+12>>2]=y2[A+4>>2],y2[e+24>>2]=U2[A+21|0],y2[e+40>>2]=y2[A+24>>2],y2[e+44>>2]=y2[A+16>>2],y2[e+48>>2]=U2[A+20|0],r=y2[A+12>>2],f=y2[A+40>>2],y2[e+28>>2]=y2[A+36>>2],y2[e+32>>2]=f,y2[e+20>>2]=r,y2[e+36>>2]=0,y2[e+16>>2]=y2[A+8>>2],r=y2[A+28>>2],1<=(0|(f=y2[r+548>>2])))for(r=y2[r+556>>2];;)if(y2[r>>2]==(0|A)&&(y2[e+36>>2]=1),r=r+4|0,!(f=f-1|0))break;if(r=y2[A+32>>2],1<=(0|(f=y2[r+548>>2])))for(r=y2[r+556>>2];;)if(y2[r>>2]==(0|A)&&(y2[e+36>>2]=1),r=r+4|0,!(f=f-1|0))break;return 23260}function B6(A,e,r,f,i,a,n,b,t,o){j2(0),j2(0),j2(0),j2(0),j2(0),j2(0),j2(0),j2(0),j2(0),j2(0),j2(0),j2(0),j2(0),j2(0),j2(0),j2(0),j2(0),j2(0),j2(0);var c,k,u,l,s,v,B,d,_,g,Z,C,w,E,Q,h=y2[a+4>>2];y2[A>>2]=y2[a>>2],y2[A+4>>2]=h,w=y2[(a=a+8|0)+4>>2],y2[(h=A+8|0)>>2]=y2[a>>2],y2[4+h>>2]=w,a=H2[e+24>>2],w=H2[e+20>>2],k=H2[e+40>>2],c=H2[e+36>>2],v=H2[e+8>>2],B=H2[e>>2],d=H2[e+4>>2],_=H2[e+16>>2],e=H2[e+32>>2],l=H2[f+4>>2],u=H2[f+8>>2],f=H2[f>>2],y2[A+28>>2]=0,g=e,e=H2[h>>2],h=H2[A+4>>2],s=j2(j2(l*e)-j2(u*h)),Z=c,C=u,u=H2[A>>2],c=j2(j2(C*u)-j2(e*f)),l=j2(j2(h*f)-j2(l*u)),f=j2(j2(j2(g*s)+j2(Z*c))+j2(k*l)),H2[A+24>>2]=f,a=j2(j2(j2(s*_)+j2(c*w))+j2(l*a)),H2[A+20>>2]=a,l=j2(j2(j2(s*B)+j2(d*c))+j2(l*v)),H2[A+16>>2]=l,v=H2[r+24>>2],B=H2[r+20>>2],d=H2[r+40>>2],_=H2[r+36>>2],E=H2[r+8>>2],Q=H2[r>>2],g=H2[r+4>>2],Z=H2[r+16>>2],k=H2[r+32>>2],s=H2[i+4>>2],c=H2[i>>2],w=H2[i+8>>2],y2[A+44>>2]=0,C=k,k=j2(j2(h*w)-j2(e*s)),e=j2(j2(e*c)-j2(u*w)),h=j2(j2(u*s)-j2(h*c)),u=j2(j2(j2(C*k)+j2(_*e))+j2(d*h)),H2[A+40>>2]=u,s=j2(j2(j2(k*Z)+j2(e*B))+j2(h*v)),H2[A+36>>2]=s,e=j2(j2(j2(Q*k)+j2(g*e))+j2(h*E)),H2[A+32>>2]=e,h=H2[n+8>>2],c=H2[n+4>>2],w=H2[n>>2],y2[A+60>>2]=0,w=j2(w*l),H2[A+48>>2]=w,c=j2(c*a),H2[A+52>>2]=c,h=j2(h*f),H2[A+56>>2]=h,k=H2[t+8>>2],v=H2[t+4>>2],B=H2[t>>2],y2[A+76>>2]=0,B=j2(B*e),H2[A+64>>2]=B,v=j2(v*s),H2[A+68>>2]=v,k=j2(k*u),H2[A+72>>2]=k,H2[A+80>>2]=j2(j2(j2(j2(j2(l*w)+j2(a*c))+j2(f*h))+b)+o)+j2(j2(j2(e*B)+j2(s*v))+j2(u*k))}function d6(A){return y2[(A|=0)>>2]=23192,0|A}function _6(A){var e=0,r=0,f=0,i=0,a=0,a=f=y2[A+8>>2],n=(r=y2[A+32>>2])?y2[A+40>>2]:0,b=r,t=(e=y2[A+52>>2])?y2[A+60>>2]:0;if(r=e,i=0,(e=y2[A+72>>2])&&(i=y2[A+80>>2]),j2(N2[y2[y2[f>>2]+12>>2]](a,n,b,t,r,i,e,y2[A+4>>2],y2[A+20>>2],y2[A+24>>2])),(0|(e=y2[A+32>>2]))<=-1)for(y2[A+36>>2]<=-1&&((r=y2[A+40>>2])&&(U2[A+44|0]&&(y2[6503]=y2[6503]+1,$2(y2[r-4>>2])),y2[A+40>>2]=0),y2[A+36>>2]=0,y2[A+40>>2]=0,X2[A+44|0]=1),f=e<<2;;)if(f=f+4|(y2[y2[A+40>>2]+f>>2]=0),!((r=e)>>>0<=(e=e+1|0)>>>0))break;if(((y2[A+32>>2]=0)|(e=y2[A+52>>2]))<=-1)for(y2[A+56>>2]<=-1&&((r=y2[A+60>>2])&&(U2[A- -64|0]&&(y2[6503]=y2[6503]+1,$2(y2[r-4>>2])),y2[A+60>>2]=0),y2[A+56>>2]=0,y2[A+60>>2]=0,X2[A- -64|0]=1),f=e<<2;;)if(f=f+4|(y2[y2[A+60>>2]+f>>2]=0),!((r=e)>>>0<=(e=e+1|0)>>>0))break;if(((y2[A+52>>2]=0)|(e=y2[A+72>>2]))<=-1)for(y2[A+76>>2]<=-1&&((r=y2[A+80>>2])&&(U2[A+84|0]&&(y2[6503]=y2[6503]+1,$2(y2[r-4>>2])),y2[A+80>>2]=0),y2[A+76>>2]=0,y2[A+80>>2]=0,X2[A+84|0]=1),f=e<<2;;)if(f=f+4|(y2[y2[A+80>>2]+f>>2]=0),!((r=e)>>>0<=(e=e+1|0)>>>0))break;y2[A+72>>2]=0}function g6(A){var e=0;return y2[(A|=0)>>2]=23340,U2[A+288|0]&&(e=y2[A+220>>2],N2[y2[y2[e>>2]>>2]](e),e=y2[A+220>>2])&&(y2[6503]=y2[6503]+1,$2(y2[e-4>>2])),(e=y2[A+212>>2])&&(N2[y2[y2[e>>2]>>2]](e),e=y2[A+212>>2])&&(y2[6503]=y2[6503]+1,$2(y2[e-4>>2])),U2[A+289|0]&&(e=y2[A+216>>2],N2[y2[y2[e>>2]>>2]](e),e=y2[A+216>>2])&&(y2[6503]=y2[6503]+1,$2(y2[e-4>>2])),(e=y2[A+332>>2])&&(U2[A+336|0]&&(y2[6503]=y2[6503]+1,$2(y2[e-4>>2])),y2[A+332>>2]=0),y2[A+332>>2]=0,y2[A+324>>2]=0,y2[A+328>>2]=0,X2[A+336|0]=1,(e=y2[A+304>>2])&&(U2[A+308|0]&&(y2[6503]=y2[6503]+1,$2(y2[e-4>>2])),y2[A+304>>2]=0),y2[A+304>>2]=0,y2[A+296>>2]=0,y2[A+300>>2]=0,X2[A+308|0]=1,(e=y2[A+256>>2])&&(U2[A+260|0]&&(y2[6503]=y2[6503]+1,$2(y2[e-4>>2])),y2[A+256>>2]=0),y2[A+256>>2]=0,y2[A+248>>2]=0,y2[A+252>>2]=0,X2[A+260|0]=1,(e=y2[A+236>>2])&&(U2[A+240|0]&&(y2[6503]=y2[6503]+1,$2(y2[e-4>>2])),y2[A+236>>2]=0),y2[A+236>>2]=0,y2[A+228>>2]=0,y2[A+232>>2]=0,X2[A+240|0]=1,(e=y2[A+204>>2])&&(U2[A+208|0]&&(y2[6503]=y2[6503]+1,$2(y2[e-4>>2])),y2[A+204>>2]=0),y2[A+204>>2]=0,y2[A+196>>2]=0,y2[A+200>>2]=0,X2[A+208|0]=1,I1(A),0|A}function Z6(A,e){return y2[y2[(A|=0)+236>>2]+((e|=0)<<2)>>2]}function C6(A,e){N2[y2[y2[(A|=0)>>2]+68>>2]](A,e|=0)}function w6(A,e,r){var f,i,a,n,b,t,o,c,k,u,l,s,v,B,d;j2(0),j2(0),j2(0),j2(0),j2(0),j2(0),j2(0),j2(0),j2(0),j2(0),j2(0),j2(0),j2(0),j2(0),j2(0);(d=H2[A+404>>2])!=j2(0)&&(i=H2[e+8>>2],f=H2[e+4>>2],a=H2[A+408>>2],H2[A+372>>2]=j2(d*j2(H2[e>>2]*a))+H2[A+372>>2],n=f,f=H2[A+412>>2],H2[(o=A+376|0)>>2]=j2(d*j2(n*f))+H2[o>>2],n=d,d=H2[A+416>>2],H2[(o=A+380|0)>>2]=j2(n*j2(i*d))+H2[o>>2],o=H2[A+612>>2],c=H2[A+364>>2],k=H2[A+356>>2],u=H2[A+360>>2],l=H2[A+608>>2],s=H2[A+348>>2],v=H2[A+340>>2],B=H2[A+344>>2],t=H2[r+4>>2],i=j2(d*H2[e+8>>2]),f=j2(f*H2[e+4>>2]),b=H2[r+8>>2],d=j2(j2(t*i)-j2(f*b)),a=j2(a*H2[e>>2]),n=j2(a*b),b=H2[r>>2],i=j2(n-j2(i*b)),f=j2(j2(f*b)-j2(a*t)),H2[A+388>>2]=j2(j2(j2(j2(H2[A+324>>2]*d)+j2(H2[A+328>>2]*i))+j2(f*H2[A+332>>2]))*H2[A+604>>2])+H2[A+388>>2],H2[(e=A+392|0)>>2]=j2(l*j2(j2(j2(d*v)+j2(i*B))+j2(f*s)))+H2[e>>2],H2[(A=A+396|0)>>2]=j2(o*j2(j2(j2(d*k)+j2(i*u))+j2(f*c)))+H2[A>>2])}function E6(A){y2[(A|=0)>>2]=23192,A&&(y2[6503]=y2[6503]+1,$2(y2[A-4>>2]))}function Q6(A,e,r){j2(0),j2(0),j2(0),j2(0),j2(0),j2(0),j2(0),j2(0),j2(0),j2(0),j2(0),j2(0),j2(0),j2(0),j2(0),j2(0),j2(0),j2(0),j2(0);var f,i,a=H2[A+552>>2],n=H2[e>>2],b=H2[A+568>>2],t=H2[e+4>>2],o=H2[A+584>>2],c=H2[e+8>>2],k=H2[A+620>>2],u=H2[A+636>>2],l=H2[A+652>>2],s=j2(j2(j2(k*H2[r>>2])+j2(u*H2[r+4>>2]))+j2(l*H2[r+8>>2])),v=H2[e+16>>2],B=H2[e+20>>2],d=H2[e+24>>2],_=j2(j2(j2(k*H2[r+16>>2])+j2(u*H2[r+20>>2]))+j2(l*H2[r+24>>2])),g=j2(j2(j2(j2(j2(a*n)+j2(b*t))+j2(o*c))*s)+j2(j2(j2(j2(a*v)+j2(b*B))+j2(o*d))*_)),Z=a;return a=H2[e+32>>2],f=b,b=H2[e+36>>2],i=o,o=H2[e+40>>2],l=j2(j2(j2(k*H2[r+32>>2])+j2(u*H2[r+36>>2]))+j2(l*H2[r+40>>2])),k=n,n=H2[A+556>>2],u=t,t=H2[A+572>>2],e=c,c=H2[A+588>>2],j2(G2(j2(g+j2(j2(j2(j2(Z*a)+j2(f*b))+j2(i*o))*l)),j2(j2(j2(j2(j2(j2(k*n)+j2(u*t))+j2(e*c))*s)+j2(j2(j2(j2(v*n)+j2(B*t))+j2(d*c))*_))+j2(j2(j2(j2(a*n)+j2(b*t))+j2(o*c))*l)))*H2[A+732>>2])}function h6(A,e,r,f,i,a){var n;y2[A+44>>2]=0,y2[A+36>>2]=0,y2[A+40>>2]=1028443341,y2[A+32>>2]=r,y2[A+28>>2]=e,y2[A+24>>2]=-1,A2[A+20>>1]=1,y2[A+12>>2]=-1,y2[A+16>>2]=2139095039,y2[A+4>>2]=12,y2[A+8>>2]=-1,y2[A>>2]=24552,n=y2[(r=f+8|0)+4>>2],y2[(e=A+56|0)>>2]=y2[r>>2],y2[e+4>>2]=n,e=y2[f+4>>2],y2[A+48>>2]=y2[f>>2],y2[A+52>>2]=e,n=y2[(r=f+24|0)+4>>2],y2[(e=A+72|0)>>2]=y2[r>>2],y2[e+4>>2]=n,r=y2[f+20>>2],y2[(e=A- -64|0)>>2]=y2[f+16>>2],y2[e+4>>2]=r,n=y2[(r=f+40|0)+4>>2],y2[(e=A+88|0)>>2]=y2[r>>2],y2[e+4>>2]=n,r=y2[f+36>>2],y2[(e=A+80|0)>>2]=y2[f+32>>2],y2[e+4>>2]=r,n=y2[(r=f+56|0)+4>>2],y2[(e=A+104|0)>>2]=y2[r>>2],y2[e+4>>2]=n,r=y2[f+52>>2],y2[(e=A+96|0)>>2]=y2[f+48>>2],y2[e+4>>2]=r,f=y2[(r=i+8|0)+4>>2],y2[(e=A+120|0)>>2]=y2[r>>2],y2[e+4>>2]=f,e=y2[i+4>>2],y2[A+112>>2]=y2[i>>2],y2[A+116>>2]=e,f=y2[(r=i+24|0)+4>>2],y2[(e=A+136|0)>>2]=y2[r>>2],y2[e+4>>2]=f,r=y2[i+20>>2],y2[(e=A+128|0)>>2]=y2[i+16>>2],y2[e+4>>2]=r,f=y2[(r=i+40|0)+4>>2],y2[(e=A+152|0)>>2]=y2[r>>2],y2[e+4>>2]=f,r=y2[i+36>>2],y2[(e=A+144|0)>>2]=y2[i+32>>2],y2[e+4>>2]=r,f=y2[(r=i+56|0)+4>>2],y2[(e=A+168|0)>>2]=y2[r>>2],y2[e+4>>2]=f,r=y2[i+52>>2],y2[(e=A+160|0)>>2]=y2[i+48>>2],y2[e+4>>2]=r,y2[(e=A+720|0)>>2]=0,y2[e+4>>2]=0,y2[(e=A+712|0)>>2]=0,y2[e+4>>2]=0,y2[(e=A+704|0)>>2]=0,y2[e+4>>2]=0,y2[(e=A+696|0)>>2]=0,y2[e+4>>2]=0,y2[(e=A+688|0)>>2]=0,y2[e+4>>2]=0,y2[A+680>>2]=0,y2[A+684>>2]=0,y2[A+736>>2]=1045220557,y2[(e=A+728|0)>>2]=1045220557,y2[e+4>>2]=1045220557,y2[A+756>>2]=0,y2[(e=A+748|0)>>2]=0,y2[e+4>>2]=0,y2[(e=A+740|0)>>2]=0,y2[e+4>>2]=0,y2[A+768>>2]=1063675494,y2[(e=A+760|0)>>2]=1063675494,y2[e+4>>2]=1063675494,y2[A+812>>2]=0,y2[(e=A+804|0)>>2]=0,y2[e+4>>2]=0,y2[A+828>>2]=0,y2[(e=A+820|0)>>2]=0,y2[e+4>>2]=0,X2[A+838|0]=0,X2[0|(e=A+836|0)]=0,X2[e+1|0]=0,y2[A+848>>2]=0,y2[(e=A+840|0)>>2]=0,y2[e+4>>2]=0,X2[A+858|0]=0,X2[0|(e=A+856|0)]=0,X2[e+1|0]=0,y2[A+868>>2]=0,y2[(e=A+860|0)>>2]=0,y2[e+4>>2]=0,y2[A+884>>2]=0,y2[(e=A+876|0)>>2]=0,y2[e+4>>2]=0,y2[A+900>>2]=0,y2[(e=A+892|0)>>2]=0,y2[e+4>>2]=0,X2[0|(e=A+793|0)]=0,X2[e+1|0]=0,X2[e+2|0]=0,X2[e+3|0]=0,X2[e+4|0]=0,X2[e+5|0]=0,X2[e+6|0]=0,X2[e+7|0]=0,y2[(e=A+788|0)>>2]=0,y2[e+4>>2]=0,y2[(e=A+780|0)>>2]=0,y2[e+4>>2]=0,y2[(e=A+772|0)>>2]=0,y2[e+4>>2]=0,y2[A+964>>2]=0,y2[(e=A+956|0)>>2]=0,y2[e+4>>2]=0,y2[(e=A+948|0)>>2]=0,y2[e+4>>2]=0,y2[(e=A+940|0)>>2]=0,y2[e+4>>2]=0,y2[(e=A+932|0)>>2]=0,y2[e+4>>2]=0,y2[(e=A+924|0)>>2]=0,y2[e+4>>2]=0,y2[(e=A+916|0)>>2]=0,y2[e+4>>2]=0,y2[(e=A+908|0)>>2]=0,y2[e+4>>2]=0,X2[A+1032|0]=0,y2[A+1028>>2]=0,X2[A+1024|0]=0,y2[A+1020>>2]=0,X2[A+1016|0]=0,y2[A+1012>>2]=0,X2[A+1008|0]=0,y2[(e=A+1e3|0)>>2]=0,y2[e+4>>2]=1036831949,X2[A+996|0]=0,y2[A+992>>2]=0,y2[(e=A+984|0)>>2]=0,y2[e+4>>2]=1063675494,y2[(e=A+976|0)>>2]=0,y2[e+4>>2]=1045220557,y2[A+968>>2]=1065353216,y2[A+972>>2]=-1082130432,y2[A+1052>>2]=0,y2[(e=A+1044|0)>>2]=0,y2[e+4>>2]=0,y2[(e=A+1036|0)>>2]=0,y2[e+4>>2]=0,X2[A+1120|0]=0,y2[A+1116>>2]=0,X2[A+1112|0]=0,y2[A+1108>>2]=0,X2[A+1104|0]=0,y2[A+1100>>2]=0,X2[A+1096|0]=0,y2[(e=A+1088|0)>>2]=0,y2[e+4>>2]=1036831949,X2[A+1084|0]=0,y2[A+1080>>2]=0,y2[(e=A+1072|0)>>2]=0,y2[e+4>>2]=1063675494,y2[(e=A+1064|0)>>2]=0,y2[e+4>>2]=1045220557,y2[(e=A+1056|0)>>2]=1065353216,y2[e+4>>2]=-1082130432,y2[A+1140>>2]=0,y2[(e=A+1132|0)>>2]=0,y2[e+4>>2]=0,y2[(e=A+1124|0)>>2]=0,y2[e+4>>2]=0,X2[A+1208|0]=0,y2[A+1204>>2]=0,X2[A+1200|0]=0,y2[A+1196>>2]=0,X2[A+1192|0]=0,y2[A+1188>>2]=0,X2[A+1184|0]=0,y2[(e=A+1176|0)>>2]=0,y2[e+4>>2]=1036831949,X2[A+1172|0]=0,y2[A+1168>>2]=0,y2[(e=A+1160|0)>>2]=0,y2[e+4>>2]=1063675494,y2[(e=A+1152|0)>>2]=0,y2[e+4>>2]=1045220557,y2[(e=A+1144|0)>>2]=1065353216,y2[e+4>>2]=-1082130432,y2[A+1228>>2]=0,y2[(e=A+1220|0)>>2]=0,y2[e+4>>2]=0,y2[(e=A+1212|0)>>2]=0,y2[e+4>>2]=0,y2[A+1456>>2]=0,y2[A+1232>>2]=a,G6(A,y2[A+28>>2]+4|0,y2[A+32>>2]+4|0)}function G6(A,e,r){var f,i,a,n,b,V,x,p,S,J,M,X,y,U,H,P,t=j2(0),o=j2(0),c=j2(0),k=j2(0),u=j2(0),l=j2(0),s=j2(0),v=j2(0),B=j2(0),d=j2(0),_=j2(0),g=j2(0),Z=j2(0),C=j2(0),w=(j2(0),j2(0),j2(0),j2(0),j2(0),j2(0),j2(0)),E=(j2(0),j2(0)),Q=j2(0),h=j2(0),G=j2(0),F=(j2(0),j2(0),j2(0),j2(0),j2(0),0),D=j2(0),w=H2[e+52>>2],E=H2[e+56>>2],Y=H2[A+96>>2],m=H2[A+100>>2],N=H2[A+104>>2],o=H2[e+20>>2],t=H2[e+24>>2],R=H2[A- -64>>2],I=H2[A+80>>2],W=H2[A+52>>2],T=H2[A+68>>2],d=H2[A+84>>2],_=H2[A+56>>2],c=H2[e+36>>2],g=H2[A+72>>2],k=H2[e+40>>2],Z=H2[A+88>>2],Q=H2[e+48>>2],u=H2[e+8>>2],l=H2[e>>2],s=H2[e+4>>2],v=H2[e+16>>2],C=H2[A+48>>2],B=H2[e+32>>2];y2[A+1296>>2]=e=0,y2[A+1280>>2]=0,y2[A+1264>>2]=0,y2[A+1248>>2]=0,H2[(V=A+1276|0)>>2]=j2(j2(_*B)+j2(g*c))+j2(Z*k),H2[(x=A+1272|0)>>2]=j2(j2(W*B)+j2(T*c))+j2(d*k),H2[(p=A+1268|0)>>2]=j2(j2(C*B)+j2(R*c))+j2(I*k),H2[(S=A+1260|0)>>2]=j2(j2(_*v)+j2(g*o))+j2(Z*t),H2[(J=A+1256|0)>>2]=j2(j2(W*v)+j2(T*o))+j2(d*t),H2[(M=A+1252|0)>>2]=j2(j2(C*v)+j2(R*o))+j2(I*t),H2[(X=A+1244|0)>>2]=j2(j2(l*_)+j2(s*g))+j2(u*Z),H2[(y=A+1240|0)>>2]=j2(j2(l*W)+j2(s*T))+j2(u*d),H2[A+1236>>2]=j2(j2(C*l)+j2(R*s))+j2(I*u),H2[(U=A+1292|0)>>2]=E+j2(j2(j2(B*Y)+j2(c*m))+j2(k*N)),H2[(H=A+1288|0)>>2]=w+j2(j2(j2(v*Y)+j2(o*m))+j2(t*N)),H2[(P=A+1284|0)>>2]=Q+j2(j2(j2(l*Y)+j2(s*m))+j2(u*N)),E=H2[r+52>>2],Q=H2[r+56>>2],Y=H2[A+160>>2],m=H2[A+164>>2],N=H2[A+168>>2],o=H2[r+20>>2],t=H2[r+24>>2],R=H2[A+128>>2],I=H2[A+144>>2],W=H2[A+116>>2],d=H2[A+132>>2],_=H2[A+148>>2],g=H2[A+120>>2],Z=H2[A+136>>2],c=H2[r+36>>2],C=H2[A+152>>2],k=H2[r+40>>2],h=H2[r+48>>2],u=H2[r+8>>2],l=H2[r>>2],s=H2[r+4>>2],v=H2[r+16>>2],w=H2[A+112>>2],B=H2[r+32>>2],y2[A+1360>>2]=0,y2[A+1344>>2]=0,y2[A+1328>>2]=0,y2[A+1312>>2]=0,T=j2(j2(j2(g*B)+j2(Z*c))+j2(C*k)),H2[A+1340>>2]=T,H2[A+1336>>2]=j2(j2(W*B)+j2(d*c))+j2(_*k),H2[A+1332>>2]=j2(j2(w*B)+j2(R*c))+j2(I*k),H2[A+1324>>2]=j2(j2(g*v)+j2(Z*o))+j2(C*t),H2[A+1320>>2]=j2(j2(W*v)+j2(d*o))+j2(_*t),H2[A+1316>>2]=j2(j2(w*v)+j2(R*o))+j2(I*t),H2[A+1308>>2]=j2(j2(l*g)+j2(s*Z))+j2(u*C),H2[A+1304>>2]=j2(j2(l*W)+j2(s*d))+j2(u*_),H2[A+1300>>2]=j2(j2(w*l)+j2(R*s))+j2(I*u),c=j2(Q+j2(j2(j2(B*Y)+j2(c*m))+j2(k*N))),H2[A+1356>>2]=c,k=j2(E+j2(j2(j2(v*Y)+j2(o*m))+j2(t*N))),H2[A+1352>>2]=k,u=j2(h+j2(j2(j2(l*Y)+j2(s*m))+j2(u*N))),H2[A+1348>>2]=u,t=H2[U>>2],l=H2[P>>2],s=H2[H>>2],Y=H2[X>>2],N=H2[J>>2],R=H2[x>>2],m=H2[y>>2],I=H2[S>>2],v=H2[p>>2],W=H2[V>>2],B=H2[M>>2],o=H2[A+1236>>2],y2[A+1440>>2]=0,_=j2(c-t),C=j2(j2(N*W)-j2(I*R)),d=j2(j2(I*v)-j2(W*B)),Z=j2(j2(R*B)-j2(N*v)),t=j2(j2(1)/j2(j2(j2(o*C)+j2(m*d))+j2(Y*Z))),c=j2(j2(j2(N*o)-j2(B*m))*t),g=j2(u-l),u=j2(Z*t),Z=j2(k-s),l=j2(j2(j2(v*m)-j2(R*o))*t),k=j2(j2(_*c)+j2(j2(g*u)+j2(Z*l))),H2[A+1436>>2]=k,s=j2(j2(j2(B*Y)-j2(I*o))*t),h=j2(d*t),i=j2(j2(j2(W*o)-j2(v*Y))*t),d=j2(j2(_*s)+j2(j2(g*h)+j2(Z*i))),H2[A+1432>>2]=d,a=j2(j2(j2(I*m)-j2(N*Y))*t),n=j2(C*t),b=j2(j2(j2(R*Y)-j2(W*m))*t),t=j2(j2(_*a)+j2(j2(g*n)+j2(Z*b))),H2[A+1428>>2]=t,H2[A+940>>2]=t,_=H2[A+680>>2],(g=H2[A+696>>2])<_?y2[A+908>>2]=0:(H2[A+908>>2]=t-_,e=3,_!=g&&(H2[A+924>>2]=t-g,e=4)),H2[A+944>>2]=d,y2[A+956>>2]=e,t=H2[A+684>>2],(_=H2[A+700>>2])>2]=0:(H2[A+912>>2]=d-t,e=3,t!=_&&(H2[A+928>>2]=d-_,e=4)),H2[A+948>>2]=k,y2[A+960>>2]=e,r=A+964|0,t=H2[A+688>>2],(d=H2[A+704>>2])>2]=0:(H2[A+916>>2]=k-t,e=3,t!=d&&(H2[A+932>>2]=k-d,e=4)),y2[r>>2]=e;A:{e:{r:{f:{i:{a:{n:{b:{t:{o:{c:{k:{u:{l:{s:{v:{if((e=y2[(r=A)+1232>>2])>>>0<=5){d=H2[A+1308>>2],_=H2[A+1324>>2],k=j2(j2(j2(u*d)+j2(l*_))+j2(c*T)),g=H2[A+1304>>2],Z=H2[A+1320>>2],C=H2[A+1336>>2],f=j2(j2(j2(g*u)+j2(l*Z))+j2(c*C)),w=H2[A+1332>>2],E=H2[A+1300>>2],Q=H2[A+1316>>2],t=j2(j2(w*c)+j2(j2(E*u)+j2(Q*l))),l=j2(j2(j2(h*d)+j2(i*_))+j2(s*T)),G=j2(j2(j2(g*h)+j2(i*Z))+j2(s*C)),c=j2(j2(w*s)+j2(j2(E*h)+j2(Q*i))),s=j2(j2(j2(n*d)+j2(b*_))+j2(a*T)),h=j2(j2(j2(n*g)+j2(b*Z))+j2(a*C)),u=j2(j2(w*a)+j2(j2(E*n)+j2(Q*b)));B:switch(e-1|0){default:if(tj2(-1)))break v;F=A,D=G2(j2(-f),k),H2[F+1364>>2]=D,F=A+1368|0,D=j(j2(m2(j2(O2(t,j2(-1))),j2(1)))),H2[F>>2]=D,o=G2(j2(-c),u);break l}y2[A+1368>>2]=1070141403,F=A,D=G2(h,G),H2[F+1364>>2]=D;break s;case 0:if(cj2(-1)))break u;F=A,D=G2(l,G),H2[F+1364>>2]=D,F=A+1368|0,D=G2(t,u),H2[F>>2]=D,o=j(j2(m2(j2(O2(j2(-c),j2(-1))),j2(1))));break k}y2[A+1368>>2]=0,F=A,D=G2(j2(-s),k),H2[F+1364>>2]=D,o=j2(-1.5707963705062866);break k;case 1:if(fj2(-1)))break c;F=A,D=j(j2(m2(j2(O2(j2(-f),j2(-1))),j2(1)))),H2[F+1364>>2]=D,F=A+1368|0,D=G2(t,k),H2[F>>2]=D,o=G2(h,G);break t}y2[A+1364>>2]=-1077342245,F=A+1368|0,D=G2(j2(-c),u),H2[F>>2]=D;break o;case 2:if(hj2(-1)))break b;F=A,D=G2(j2(-f),G),H2[F+1364>>2]=D,F=A+1368|0,D=G2(j2(-s),u),H2[F>>2]=D,t=j(j2(m2(j2(O2(h,j2(-1))),j2(1))));break n}F=A+1368|(y2[A+1364>>2]=0),D=G2(l,k),H2[F>>2]=D,t=j2(1.5707963705062866);break n;case 3:if(lj2(-1)))break a;F=A,D=j(j2(m2(j2(O2(l,j2(-1))),j2(1)))),H2[F+1364>>2]=D,F=A+1368|0,D=G2(j2(-s),k),H2[F>>2]=D,o=G2(j2(-c),G);break i}y2[A+1364>>2]=1070141403,y2[A+1368>>2]=0,o=G2(t,u);break i;case 4:break B;}if(sj2(-1)))break f;F=A,D=G2(l,k),H2[F+1364>>2]=D,F=A+1368|0,D=j(j2(m2(j2(O2(j2(-s),j2(-1))),j2(1)))),H2[F>>2]=D,t=G2(h,u);break r}y2[A+1364>>2]=0,y2[A+1368>>2]=-1077342245,t=G2(j2(-c),j2(-t));break r}t=H2[A+1420>>2],c=H2[A+1416>>2],k=H2[A+1412>>2],u=H2[A+1404>>2],l=H2[A+1400>>2],s=H2[A+1396>>2],v=H2[A+1388>>2],B=H2[A+1384>>2],o=H2[A+1380>>2];break A}y2[A+1368>>2]=-1077342245,F=A,D=j2(-G2(h,G)),H2[F+1364>>2]=D}o=j2(0)}y2[A+1408>>2]=0,H2[A+1372>>2]=o,y2[A+1424>>2]=0,y2[A+1392>>2]=0,u=j2(j2(Q*Y)-j2(E*I)),H2[A+1404>>2]=u,l=j2(j2(E*W)-j2(w*Y)),H2[A+1400>>2]=l,s=j2(j2(w*I)-j2(Q*W)),H2[A+1396>>2]=s,t=j2(j2(E*l)-j2(Q*s)),H2[A+1420>>2]=t,c=j2(j2(w*s)-j2(E*u)),H2[A+1416>>2]=c,k=j2(j2(Q*u)-j2(w*l)),H2[A+1412>>2]=k,v=j2(j2(I*s)-j2(Y*l)),H2[A+1388>>2]=v,B=j2(j2(Y*u)-j2(W*s)),H2[A+1384>>2]=B,o=j2(j2(W*l)-j2(I*u));break e}y2[A+1368>>2]=0,F=A,D=j2(-G2(j2(-s),k)),H2[F+1364>>2]=D,o=j2(1.5707963705062866)}y2[A+1424>>2]=0,H2[A+1372>>2]=o,y2[A+1408>>2]=0,y2[A+1392>>2]=0,t=j2(j2(E*N)-j2(Q*m)),H2[A+1420>>2]=t,c=j2(j2(w*m)-j2(E*R)),H2[A+1416>>2]=c,k=j2(j2(Q*R)-j2(w*N)),H2[A+1412>>2]=k,u=j2(j2(Q*k)-j2(E*c)),H2[A+1404>>2]=u,l=j2(j2(E*t)-j2(w*k)),H2[A+1400>>2]=l,s=j2(j2(w*c)-j2(Q*t)),H2[A+1396>>2]=s,v=j2(j2(m*c)-j2(N*k)),H2[A+1388>>2]=v,B=j2(j2(R*k)-j2(m*t)),H2[A+1384>>2]=B,o=j2(j2(N*t)-j2(R*c));break e}y2[A+1364>>2]=1070141403,F=A+1368|0,D=j2(-G2(j2(-c),u)),H2[F>>2]=D}o=j2(0)}y2[A+1424>>2]=0,y2[A+1408>>2]=0,y2[A+1392>>2]=0,H2[A+1372>>2]=o,v=j2(j2(g*I)-j2(Z*Y)),H2[A+1388>>2]=v,B=j2(j2(C*Y)-j2(g*W)),H2[A+1384>>2]=B,o=j2(j2(Z*W)-j2(C*I)),H2[A+1380>>2]=o,t=j2(j2(Z*o)-j2(g*B)),H2[A+1420>>2]=t,c=j2(j2(g*v)-j2(C*o)),H2[A+1416>>2]=c,k=j2(j2(C*B)-j2(Z*v)),H2[A+1412>>2]=k,u=j2(j2(Y*B)-j2(I*o)),H2[A+1404>>2]=u,l=j2(j2(W*o)-j2(Y*v)),H2[A+1400>>2]=l,s=j2(j2(I*v)-j2(W*B)),H2[A+1396>>2]=s;break A}F=A+1368|(y2[A+1364>>2]=0),D=j2(-G2(l,k)),H2[F>>2]=D,t=j2(-1.5707963705062866)}y2[A+1424>>2]=0,H2[A+1372>>2]=t,y2[A+1408>>2]=0,y2[A+1392>>2]=0,t=j2(j2(o*Z)-j2(B*g)),H2[A+1420>>2]=t,c=j2(j2(v*g)-j2(o*C)),H2[A+1416>>2]=c,k=j2(j2(B*C)-j2(v*Z)),H2[A+1412>>2]=k,u=j2(j2(B*k)-j2(o*c)),H2[A+1404>>2]=u,l=j2(j2(o*t)-j2(v*k)),H2[A+1400>>2]=l,s=j2(j2(v*c)-j2(B*t)),H2[A+1396>>2]=s,v=j2(j2(g*c)-j2(Z*k)),H2[A+1388>>2]=v,B=j2(j2(C*k)-j2(g*t)),H2[A+1384>>2]=B,o=j2(j2(Z*t)-j2(C*c));break e}y2[A+1364>>2]=-1077342245,y2[A+1368>>2]=0,o=j2(-G2(t,u))}y2[A+1424>>2]=0,y2[A+1408>>2]=0,y2[A+1392>>2]=0,H2[A+1372>>2]=o,v=j2(j2(m*_)-j2(N*d)),H2[A+1388>>2]=v,B=j2(j2(R*d)-j2(m*T)),H2[A+1384>>2]=B,o=j2(j2(N*T)-j2(R*_)),H2[A+1380>>2]=o,t=j2(j2(N*o)-j2(m*B)),H2[A+1420>>2]=t,c=j2(j2(m*v)-j2(R*o)),H2[A+1416>>2]=c,k=j2(j2(R*B)-j2(N*v)),H2[A+1412>>2]=k,u=j2(j2(d*B)-j2(_*o)),H2[A+1404>>2]=u,l=j2(j2(T*o)-j2(d*v)),H2[A+1400>>2]=l,s=j2(j2(_*v)-j2(T*B)),H2[A+1396>>2]=s;break A}y2[A+1364>>2]=0,y2[A+1368>>2]=1070141403,t=j2(-G2(c,t))}y2[A+1408>>2]=0,H2[A+1372>>2]=t,y2[A+1424>>2]=0,y2[A+1392>>2]=0,u=j2(j2(B*d)-j2(o*_)),H2[A+1404>>2]=u,l=j2(j2(o*T)-j2(v*d)),H2[A+1400>>2]=l,s=j2(j2(v*_)-j2(B*T)),H2[A+1396>>2]=s,t=j2(j2(o*l)-j2(B*s)),H2[A+1420>>2]=t,c=j2(j2(v*s)-j2(o*u)),H2[A+1416>>2]=c,k=j2(j2(B*u)-j2(v*l)),H2[A+1412>>2]=k,v=j2(j2(_*s)-j2(d*l)),H2[A+1388>>2]=v,B=j2(j2(d*u)-j2(T*s)),H2[A+1384>>2]=B,o=j2(j2(T*l)-j2(_*u))}H2[r+1380>>2]=o}d=t,t=j2(j2(1)/j2(K2(j2(j2(j2(k*k)+j2(c*c))+j2(t*t))))),H2[A+1420>>2]=d*t,H2[A+1416>>2]=c*t,H2[A+1412>>2]=k*t,t=j2(j2(1)/j2(K2(j2(j2(j2(s*s)+j2(l*l))+j2(u*u))))),H2[A+1404>>2]=u*t,H2[A+1400>>2]=l*t,H2[A+1396>>2]=s*t,t=j2(j2(1)/j2(K2(j2(j2(j2(o*o)+j2(B*B))+j2(v*v))))),H2[A+1388>>2]=v*t,H2[A+1384>>2]=B*t,H2[A+1380>>2]=o*t,t=H2[y2[A+28>>2]+404>>2],o=H2[y2[A+32>>2]+404>>2],X2[A+1452|0]=tj2(0)?j2(d/o):j2(.5),H2[A+1444>>2]=o,H2[A+1448>>2]=j2(1)-o}function F6(A,e){var r,f=j2(0),i=j2(0),a=(j2(0),j2(0),j2(0)),i=H2[1364+((e<<2)+A|0)>>2],n=P2(e,88)+A|0,b=H2[968+n>>2];(r=H2[972+n>>2])<=b||(ij2(3.1415927410125732)&&(f=j2(f+j2(-6.2831854820251465))),a=j2(z2(f)),(f=b2(j2(r-i)))j2(3.1415927410125732)&&(f=j2(f+j2(-6.2831854820251465))),i=aj2(3.1415927410125732)&&(f=j2(f+j2(-6.2831854820251465))),a=j2(z2(f)),(f=b2(j2(i-b)))j2(3.1415927410125732)&&(f=j2(f+j2(-6.2831854820251465))),i=a>j2(z2(f))?j2(i+j2(-6.2831854820251465)):i)),H2[1048+n>>2]=i,r>2]=0,y2[A+1052>>2]=0):(A=P2(e,88)+A|0,H2[A+1040>>2]=i-b,b==r?y2[A+1052>>2]=3:(y2[A+1052>>2]=4,H2[A+1044>>2]=i-r))}function D6(A,e,r,f,i,a,n,b,t,o,c,k,u){var l,s=j2(0),v=j2(0),B=j2(0),d=0,_=j2(0),g=j2(0),Z=j2(0),C=0,w=j2(0),E=j2(0),Q=j2(0);j2(0);o=P2(y2[t+24>>2],o),1<(d=y2[e+84>>2]-3|0)>>>0?d=0:(d=1==(0|d)?(d=k?(s=H2[c>>2],B=H2[c+4>>2],v=j2(j2(H2[n>>2]*s)+j2(H2[n+4>>2]*B)),_=H2[c+8>>2],Z=j2(H2[n+8>>2]*_),C=k,b):(s=H2[c>>2],B=H2[c+4>>2],v=j2(j2(H2[i>>2]*s)+j2(H2[i+4>>2]*B)),_=H2[c+8>>2],Z=j2(H2[i+8>>2]*_),a),w=H2[d+8>>2],E=H2[d>>2],Q=H2[d+4>>2],Y6(A,r,f,t,o,c,C,u),d=y2[t+28>>2]+(o<<2)|0,l=j2(0|(k?-1:1)),g=j2(j2(j2(H2[t>>2]*H2[e+12>>2])*H2[e+72>>2])*l),H2[d>>2]=g,s=j2(j2(v+Z)-j2(j2(j2(s*E)+j2(B*Q))+j2(_*w))),v=j2(g-j2(s*H2[e+12>>2])),k?v>j2(0)&&g<(v=j2(s*j2(-H2[e+8>>2])))&&(H2[d>>2]=v):v>2])))>2]=v),H2[(d=o<<2)+y2[t+36>>2]>>2]=j2(k?0:-34028234663852886e22),H2[d+y2[t+40>>2]>>2]=j2(k?34028234663852886e22:0),y2[d+y2[t+32>>2]>>2]=y2[e+16>>2],Y6(A,r,f,t,o=y2[t+24>>2]+o|0,c,k,u),d=y2[t+28>>2]+(o<<2)|0,v=j2(j2(j2(H2[t>>2]*H2[e+12>>2])*H2[e+76>>2])*l),H2[d>>2]=v,B=j2(v-j2(s*H2[e+12>>2])),C=e+16|0,k?B>2])))>2]=s):B>j2(0)&&v<(s=j2(s*j2(-H2[e+8>>2])))&&(H2[d>>2]=s),H2[(d=o<<2)+y2[t+36>>2]>>2]=j2(k?-34028234663852886e22:0),H2[d+y2[t+40>>2]>>2]=j2(k?0:34028234663852886e22),2):(Y6(A,r,f,t,o,c,k,u),H2[(d=o<<2)+y2[t+28>>2]>>2]=j2(j2(H2[t>>2]*H2[e+12>>2])*H2[e+72>>2])*j2(0|(k?-1:1)),y2[d+y2[t+36>>2]>>2]=-8388609,y2[d+y2[t+40>>2]>>2]=2139095039,C=e+16|0,1),y2[y2[t+32>>2]+(o<<2)>>2]=y2[C>>2],o=y2[t+24>>2]+o|0);A:if(U2[e+28|0]){if(!U2[e+40|0]){if(Y6(A,r,f,t,o,c,k,u),Z=H2[e+32>>2],s=j2(1),B=H2[e>>2],(_=H2[e+4>>2])>2],(g=j2((k?Z:j2(-Z))/j2(H2[t>>2]*H2[e+20>>2])))j2(0)&&(s=v<=_&&v>j2(_-g)?j2(j2(_-v)/g):j2(_>2]>>2]=s*Z,H2[C+y2[t+36>>2]>>2]=-H2[e+36>>2],y2[C+y2[t+40>>2]>>2]=y2[e+36>>2],y2[C+y2[t+32>>2]>>2]=y2[e+24>>2],d=d+1|0,o=y2[t+24>>2]+o|0,!U2[e+28|0])break A;if(!U2[e+40|0])break A}v=H2[e+44>>2],s=j2(H2[e+80>>2]-v),k&&(v=(C=s>j2(3.1415927410125732))?j2(v+j2(6.2831854820251465)):v,(s=C?j2(s+j2(-6.2831854820251465)):s)>2],Z=s>2],s=(_=H2[e+4>>2])j2(0)?v:j2(-34028234663852886e22)):(_=sj2(0)&&B>2],(g=j2(j2(-Z)/j2(H2[t>>2]*H2[e+20>>2])))j2(0)&&(B=v<=_&&v>j2(_-g)?j2(j2(_-v)/g):j2(_>2]>>2]=j2(Z*B)*j2(0|(k?-1:1)),H2[C+y2[t+36>>2]>>2]=-H2[e+36>>2],y2[C+y2[t+40>>2]>>2]=y2[e+36>>2],y2[C+y2[t+32>>2]>>2]=y2[e+24>>2],d=d+1|0,o=y2[t+24>>2]+o|0}return U2[e+48|0]&&(B=H2[e+68>>2],g=H2[e+80>>2],Y6(A,r,f,t,o,c,k,u),v=H2[e+52>>2],_=H2[e+60>>2],s=j2(j2(1)/H2[t>>2]),Q=j2(g-B),Z=k?(B=H2[c>>2],w=H2[c+4>>2],E=j2(j2(H2[n>>2]*B)+j2(H2[n+4>>2]*w)),g=H2[c+8>>2],j2(H2[n+8>>2]*g)):(b=a,B=H2[c>>2],w=H2[c+4>>2],E=j2(j2(H2[i>>2]*B)+j2(H2[i+4>>2]*w)),g=H2[c+8>>2],j2(H2[i+8>>2]*g)),g=j2(j2(E+Z)-j2(j2(j2(B*H2[b>>2])+j2(w*H2[b+4>>2]))+j2(g*H2[b+8>>2]))),B=(B=j2(j2(1)/H2[y2[A+32>>2]+404>>2]))<(Z=j2(j2(1)/H2[y2[A+28>>2]+404>>2]))?B:Z,U2[e+56|0]&&j2(s*j2(K2(j2(v/B))))>j2(.25)&&(v=j2(j2(j2(j2(j2(1)/s)/s)*j2(.0625))*B)),A=o<<2,Z=j2(s*j2(Q*v)),v=j2(g*j2(-(B>2]>>2]=g+j2(v*B),B=(e=v>2]>>2]=m2(j2(-B),j2(0)),B=j2(-s)):H2[A+y2[t+36>>2]>>2]=m2(s,j2(0)),H2[(A=o<<2)+y2[t+40>>2]>>2]=O2(B,j2(0)),d=d+1|(y2[A+y2[t+32>>2]>>2]=0)),d}function Y6(A,e,r,f,i,a,n,b){j2(0);var t,o,c,k,u,l=j2(0),s=j2(0),v=j2(0),B=(j2(0),j2(0)),d=j2(0),_=j2(0),g=(j2(0),j2(0),y2[(n?12:8)+f>>2]);y2[(u=i<<2)+g>>2]=y2[a>>2],y2[g+(k=(t=i+1|0)<<2)>>2]=y2[a+4>>2],y2[g+(c=(o=i+2|0)<<2)>>2]=y2[a+8>>2],g=y2[(n?20:16)+f>>2],H2[g+u>>2]=-H2[a>>2],H2[g+k>>2]=-H2[a+4>>2],H2[g+c>>2]=-H2[a+8>>2],n||(u=j2(H2[A+1352>>2]-H2[r+52>>2]),l=H2[a+8>>2],v=j2(H2[A+1356>>2]-H2[r+56>>2]),s=H2[a+4>>2],d=j2(j2(u*l)-j2(v*s)),k=j2(H2[A+1288>>2]-H2[e+52>>2]),g=j2(H2[A+1292>>2]-H2[e+56>>2]),_=j2(j2(k*l)-j2(g*s)),c=j2(H2[A+1348>>2]-H2[r+48>>2]),B=u,u=H2[a>>2],B=j2(j2(c*s)-j2(B*u)),v=j2(j2(v*u)-j2(c*l)),c=j2(H2[A+1284>>2]-H2[e+48>>2]),s=j2(j2(c*s)-j2(k*u)),l=j2(j2(g*u)-j2(c*l)),b||U2[A+1452|0]&&(u=H2[A+1448>>2],B=j2(B*u),v=j2(v*u),d=j2(d*u),u=H2[A+1444>>2],s=j2(s*u),l=j2(l*u),_=j2(_*u)),A=(e=i<<2)+y2[f+12>>2]|0,H2[A+8>>2]=s,H2[A+4>>2]=l,H2[A>>2]=_,A=y2[f+20>>2],H2[A+e>>2]=-d,H2[A+(t<<2)>>2]=-v,H2[A+(o<<2)>>2]=-B)}function m6(A,e,r){r|=0;var f,i,a=y2[(e|=0)+4>>2];y2[(A|=0)+48>>2]=y2[e>>2],y2[A+52>>2]=a,i=y2[4+(f=e+8|0)>>2],y2[(a=A+56|0)>>2]=y2[f>>2],y2[4+a>>2]=i,i=y2[4+(f=e+24|0)>>2],y2[(a=A+72|0)>>2]=y2[f>>2],y2[4+a>>2]=i,f=y2[e+20>>2],y2[(a=A- -64|0)>>2]=y2[e+16>>2],y2[4+a>>2]=f,i=y2[4+(f=e+40|0)>>2],y2[(a=A+88|0)>>2]=y2[f>>2],y2[4+a>>2]=i,f=y2[e+36>>2],y2[(a=A+80|0)>>2]=y2[e+32>>2],y2[4+a>>2]=f,i=y2[4+(f=e+56|0)>>2],y2[(a=A+104|0)>>2]=y2[f>>2],y2[4+a>>2]=i,f=y2[e+52>>2],y2[(a=A+96|0)>>2]=y2[e+48>>2],y2[4+a>>2]=f,f=y2[4+(a=r+8|0)>>2],y2[(e=A+120|0)>>2]=y2[a>>2],y2[e+4>>2]=f,e=y2[r+4>>2],y2[A+112>>2]=y2[r>>2],y2[A+116>>2]=e,a=y2[r+20>>2],y2[(e=A+128|0)>>2]=y2[r+16>>2],y2[e+4>>2]=a,f=y2[4+(a=r+24|0)>>2],y2[(e=A+136|0)>>2]=y2[a>>2],y2[e+4>>2]=f,a=y2[r+36>>2],y2[(e=A+144|0)>>2]=y2[r+32>>2],y2[e+4>>2]=a,f=y2[4+(a=r+40|0)>>2],y2[(e=A+152|0)>>2]=y2[a>>2],y2[e+4>>2]=f,f=y2[4+(a=r+56|0)>>2],y2[(e=A+168|0)>>2]=y2[a>>2],y2[e+4>>2]=f,a=y2[r+52>>2],y2[(e=A+160|0)>>2]=y2[r+48>>2],y2[e+4>>2]=a,N2[y2[y2[A>>2]+8>>2]](A),G6(A,y2[A+28>>2]+4|0,y2[A+32>>2]+4|0)}function N6(A){return j2(H2[(A|=0)>>2])}function R6(A){return j2(H2[(A|=0)+4>>2])}function I6(A){return j2(H2[(A|=0)+8>>2])}function W6(A,e,r,f,i){A|=0,e=j2(e),r=j2(r),f=j2(f),i=j2(i),H2[A+12>>2]=i,H2[A+8>>2]=f,H2[A+4>>2]=r,H2[A>>2]=e}function q(A,e,r,f){var i,a,n,b,t,o=P2(i=r>>>16|0,a=A>>>16|0);return i=(65535&(a=((t=P2(n=65535&r,b=65535&A))>>>16|0)+P2(a,n)|0))+P2(i,b)|0,L=(P2(e,r)+o|0)+P2(A,f)+(a>>>16)+(i>>>16)|0,65535&t|i<<16}function T6(A,e,r){var f,i,a,n=0,b=0,t=0,o=0,c=0,k=0;A:{e:{r:{f:{i:{a:{if(!e){A=(A>>>0)/(r>>>0)|0,L=0;break A}if(r){if(!(r-1&r))break a;t=0-(b=(u(r)+33|0)-u(e)|0)|0;break f}if(!A){A=(e>>>0)/0|0,L=0;break A}if((n=32-u(e)|0)>>>0<31)break i;break r}if(1==(0|r))break e;r=31&(n=r?31-u(r-1^r)|0:32),A=32<=(63&n)>>>0?e>>>r|(n=0):(n=e>>>r|0,((1<>>r),L=n;break A}b=n+1|0,t=63-n|0}if(f=31&(n=63&b),o=32<=n>>>0?e>>>f|(n=0):(n=e>>>f|0,((1<>>f),f=31&(t&=63),32<=t>>>0?(e=A<>>32-f|e<>>31,o=(n=o<<1|e>>>31)-(a=r&(i=(o=t-(c+(f>>>0>>0)|0)|0)>>31))|0,n=c-(n>>>0>>0)|0,e=e<<1|A>>>31,A=k|A<<1,k=c=1&i,!(b=b-1|0))break;L=e<<1|A>>>31,A=c|A<<1;break A}e=A=0}L=e}return A}function V6(A){var e;return(-1>>>(e=31&A)&-2)<>>A}function x6(){return c.byteLength/65536|0}function p6(A){var e=0|x6(),A=e+(A|=0)|0;return e { - 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 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(sa){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 ArrayBuffer(16);var g=new Int32Array(f);var h=new Float32Array(f);var i=new Float64Array(f);function j(k){return g[k]}function l(k,m){g[k]=m}function n(){return i[0]}function o(m){i[0]=m}function p(m){h[2]=m}function q(){return h[2]}function r(){throw new Error("abort")}function qa(ra){var s=ra.a;var t=s.a;var u=t.buffer;t.grow=oa;var v=new Int8Array(u);var w=new Int16Array(u);var x=new Int32Array(u);var y=new Uint8Array(u);var z=new Uint16Array(u);var A=new Uint32Array(u);var B=new Float32Array(u);var C=new Float64Array(u);var D=Math.imul;var E=Math.fround;var F=Math.abs;var G=Math.clz32;var H=Math.min;var I=Math.max;var J=Math.floor;var K=Math.ceil;var L=Math.trunc;var M=Math.sqrt;var N=s.b;var O=s.c;var P=s.d;var Q=s.e;var R=s.f;var S=s.g;var T=s.h;var U=s.i;var V=s.j;var W=s.k;var X=s.l;var Y=s.m;var Z=s.n;var _=s.o;var $=s.p;var aa=s.q;var ba=s.r;var ca=s.s;var da=s.t;var ea=s.u;var fa=s.v;var ga=101856;var ha=0; -// EMSCRIPTEN_START_FUNCS -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=y;var ia=c([null,Bk,xr,Tp,Pa,Qr,Ub,cb,Ap,zp,Ub,wa,wa,cb,yp,Tc,xp,Sc,wp,vp,vf,cb,up,vf,wa,wa,cb,tp,Tc,sp,Sc,rp,Ub,cb,qp,Ub,wa,wa,cb,pp,Tc,op,Sc,np,Gf,uf,ta,lp,Vc,kp,Jq,jp,xq,tf,Iq,ip,Vc,Ff,Ef,Hq,hp,Gq,gp,Vc,Ff,Ef,Fq,Cf,fp,Eq,ep,Dq,Cq,wf,Bq,cp,Aq,Pd,uq,tq,sf,Cc,yq,zq,ur,tr,sr,fr,rr,bp,qr,pr,ap,nr,tf,or,lr,kr,$o,mr,jr,ir,hr,gr,Jf,er,_o,Jf,cr,Zo,Yq,sf,Xq,Yo,Wq,Vq,Uq,br,ar,$q,_q,Zq,nh,uf,Dh,vh,Xo,nd,Rc,Wg,dc,Eh,Vr,af,Ng,Cg,tg,Wo,ng,dg,Zf,Vo,hg,Uo,gg,Sf,Rf,Qf,Pf,gs,To,es,fs,Sr,So,$r,_r,rf,Zr,qf,Te,Yr,Ro,Xr,Qo,Wr,Ur,Tr,ds,Mf,cs,bs,Vb,as,Rc,bk,yi,Pd,Aj,bi,Th,wj,pj,dj,Mj,Tj,Dj,Oc,Li,pf,wi,si,ki,qi,Ui,Mh,sq,Po,bq,$p,fq,pq,oq,nq,mq,kq,hq,jq,gq,iq,Yp,_p,Zp,rq,qq,Xp,eq,dq,cq,Wp,Rr,Nr,Pr,Or,Co,pf,jo,Zn,Vn,Pn,In,Cn,wa,No,wf,mp,dp,Mr,Lr,Jr,Rc,Ir,Kr,Gr,Mo,Fr,Er,Dr,qf,vr,Cr,wr,Lo,Br,Ar,zr,yr,Vb,Xc,Tq,Sq,Rq,Qq,Pq,Oq,Nq,Mq,Lq,Kq,Oo,kn,Hr,dc,dr,rf,If,Hf,Df,Wl,dc,ug,Lf,Nf,Kf,aq,Bp,If,Hf,Df,wq,lq,Lf,Nf,Kf,vq,Cf,Cc,Bc,Oc,bf,af,_e,Ye,Te,Il,Ko,xl,Dm,vm,om,hm,$l,ql,Jo,ll,cl,$k,Sk,Io,Kk,Ak,rk,hk,hs,xf,ej,ta,Bf,Vp,Ea,Up,fg,Wc,Sp,Af,Rp,Qp,Pp,zf,wa,ta,Bf,Op,Uc,Mp,Af,Lp,Kp,Jp,Np,yf,uc,Ip,uk,Dk,zk,Ck,sk,Hp,tk,Gp,Fp,Ep,Dp,Cp,qk,yk,wk,vk,Ho,Go,Fo,Eo,Do,Bo,Ao,zo,yo,xo,wo,Na,Da,vo,Cc,uo,to,so,ro,qo,po,oo,no,mo,lo,ko,io,ho,Ea,Pa,Pa,go,Na,fo,eo,co,Ea,Yn,bo,ao,$n,_n,Ea,Wn,Xn,Gf,ta,lf,Un,Tn,Sn,Nn,Rn,Qn,On,Mn,jf,jf,Ln,Kn,Pa,wa,ta,Jn,Hn,Gn,hf,hf,ta,Da,gf,ta,gf,Pa,Fn,df,En,vn,yn,An,Mb,Mb,Oc,Dn,Bc,Bn,un,xn,zn,lb,tn,wn,wa,ta,sn,ta,rn,qn,cf,pn,ln,on,mn,nn,hn,jn,gn,dn,cn,bn,Nc,Nc,fn,en,ta,an,Wa,$m,Zm,Ym,Xm,$e,_m,Lc,Wm,Vm,Um,Pm,Nc,Xe,Rm,Sm,Ze,Kc,Tm,Qm,Ve,Na,Da,wa,ta,wa,ta,ti,Om,ta,Nm,ta,Ue,Mm,ta,ri,Se,ta,Se,ta,Lm,ta,Ue,Km,wa,ta,Jm,ta,Im,wa,ta,Fm,nd,Em,Cm,Bm,wa,Ea,wa,Ea,wa,ta,xm,Re,Am,zm,ym,wm,wa,ta,Da,Da,Qe,ta,Da,Da,um,ta,Hm,Gm,tm,Oe,sm,nm,mm,rm,Gc,qm,pm,hb,Jb,Me,ib,bf,Ib,lm,Ne,_e,Fc,km,ge,jm,fk,im,gk,Le,gm,zj,Ke,Ke,fm,em,Je,dm,cm,bm,ta,am,Dc,_l,He,Zl,Yl,ta,Xl,Fe,Vl,Tl,Sl,Ul,ta,Rl,Na,wa,ta,Ee,De,Ql,Pl,jb,Hb,Ce,Ol,Nl,jb,Hb,zc,Ml,Bc,Mb,Kl,Ll,wa,ta,Jl,ta,Hl,ta,Gl,ta,Fl,ta,El,ta,Dl,ta,Cl,ta,Bl,ta,Al,ta,zl,ta,yl,jb,Na,Be,wl,vl,ul,Mb,ta,tl,ze,sl,rl,jb,Hb,ye,pl,ol,jb,Hb,ta,xe,Jb,we,ve,nl,ml,ue,kl,jl,il,te,hl,gl,se,fl,el,te,dl,bl,al,vc,qe,me,le,Yk,_k,Zk,ke,Xk,Gi,Vk,Fi,Ib,Qk,Pk,Ok,Gb,Uk,Wk,Di,Nk,Tk,Rk,wa,ta,je,ta,je,ta,Mk,wa,Ta,Hk,Gk,Ik,Fk,he,Ve,Gb,Ek,Lk,Jk,lb,Da,xk,Ta,Me,mk,lk,kk,jk,Gb,ik,nk,pk,ok,Ea,Ea,se,Sa,Jb,Sd,ak,$j,vj,_j,ge,dk,ck,lb,lb,Eb,Da,lb,Eb,fe,wa,ta,Zj,Ta,we,ve,Yj,Vj,he,ue,Gb,Uj,Sj,Xj,Wj,Rj,wa,Ea,wa,Ta,ee,ce,be,de,Qj,Eb,Pj,Oj,Nj,Jj,Ij,Ib,Hj,Kj,Lj,Gj,qe,Fj,ta,Ej,ta,Cj,_d,Bj,Ea,yj,xj,Ea,uj,wa,Ta,sj,ce,be,de,rj,qj,oj,tj,ta,nj,Ta,ee,jj,ij,Ne,hj,kj,mj,lj,wa,Ta,gj,cj,bj,Ib,aj,Fc,$i,fj,Jb,_i,Si,Zi,Yi,Xi,Wi,Vi,Eb,fe,Ti,oc,Pi,Ri,Rd,Rd,Na,Na,Mf,Na,Na,Oi,Ni,Mi,Hi,Qi,Qd,Ii,Ki,Ji,wa,Ta,lc,Ci,Ei,ta,Bi,ta,Ai,wa,ta,Nd,ta,Da,Da,zi,ta,kc,ek,Ra,wa,ta,xi,ta,Oa,ta,vi,ta,Da,Da,ui,Ea,Ea,ta,Id,Bd,yb,Pa,pi,mi,li,Qe,ji,ii,oi,ni,Bd,yb,yb,hi,gi,fi,ei,di,ci,ai,$h,yb,_h,Zh,Yh,Xh,Wh,le,Vh,Uh,Sh,Rh,Qh,yd,Ph,Da,Hh,Da,Gh,Je,Oh,Kh,Ih,Lh,Nh,Jh,Fh,Ea,Pa,Fc,vb,zh,yh,Ch,Bh,Ah,qd,xh,wh,uh,rb,th,rh,ih,hh,Qg,mh,ch,bh,ah,$g,kh,jh,oh,fh,eh,gh,Tg,Sg,Rg,jd,jd,Le,qh,Vb,Xc,Vb,Xc,Vg,Xg,Zg,_g,dh,lh,Yg,sh,Ug,ph,Na,Fg,Pg,Og,Mg,ta,Lg,Kg,Hg,Gg,Ig,Jg,wa,ta,Eg,wa,ta,Dg,Bg,Da,ta,Ag,zg,id,yg,xg,wg,gd,vg,sg,rg,qg,lg,Ea,pg,Na,Ye,fd,og,fd,mg,ta,kg,ed,wa,ta,Pa,Pa,eg,ta,cg,Tf,Wf,bg,ta,Uf,Xf,ag,ta,Vf,Yf,$f,ta,_f]);function ja(){return u.byteLength/65536|0}function oa(pa){pa=pa|0;var ka=ja()|0;var la=ka+pa|0;if(ka=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 -} - -); -})(); -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=>{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=( +// EMSCRIPTEN_START_ASM +function instantiate(Da){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(c){ua[J[J[c>>2]>>2]](c)|0;c=J[a+60>>2];if(c){J[8457]=J[8457]+1;ua[J[8259]](c)}}J[8456]=J[8456]+1;c=ua[J[8258]](132,16)|0;H[c+20|0]=1;J[c>>2]=20812;J[c+16>>2]=0;H[c+40|0]=1;J[c+8>>2]=0;J[c+12>>2]=0;J[c+36>>2]=0;H[c+60|0]=1;J[c+28>>2]=0;J[c+32>>2]=0;J[c+56>>2]=0;J[c+48>>2]=0;J[c+52>>2]=0;J[a+60>>2]=c;J[d+184>>2]=0;J[d+176>>2]=0;J[d+180>>2]=0;H[d+188|0]=1;c=0;if((ua[J[J[a>>2]+96>>2]](a)|0)>0){w=J[d+176>>2];j=w-1|0;c=J[d+184>>2];n=K[d+188|0];e=J[d+180>>2];while(1){a:{if((e|0)!=(w|0)){break a}i=w?w<<1:1;if((i|0)<=(w|0)){break a}if(i){J[8456]=J[8456]+1;c=ua[J[8258]](i<<4,16)|0}else{c=0}b:{if((w|0)<=0){break b}s=0;e=0;if(f+j>>>0>=3){g=w&-4;x=0;while(1){o=e<<4;r=o+c|0;k=h+o|0;l=J[k+4>>2];J[r>>2]=J[k>>2];J[r+4>>2]=l;l=J[k+12>>2];J[r+8>>2]=J[k+8>>2];J[r+12>>2]=l;l=o|16;r=l+c|0;k=h+l|0;l=J[k+12>>2];J[r+8>>2]=J[k+8>>2];J[r+12>>2]=l;l=J[k+4>>2];J[r>>2]=J[k>>2];J[r+4>>2]=l;l=o|32;r=l+c|0;k=h+l|0;l=J[k+12>>2];J[r+8>>2]=J[k+8>>2];J[r+12>>2]=l;l=J[k+4>>2];J[r>>2]=J[k>>2];J[r+4>>2]=l;l=o|48;r=l+c|0;k=h+l|0;l=J[k+12>>2];J[r+8>>2]=J[k+8>>2];J[r+12>>2]=l;l=J[k+4>>2];J[r>>2]=J[k>>2];J[r+4>>2]=l;e=e+4|0;x=x+4|0;if((g|0)!=(x|0)){continue}break}}g=w&3;if(!g){break b}while(1){l=e<<4;r=l+c|0;k=h+l|0;l=J[k+4>>2];J[r>>2]=J[k>>2];J[r+4>>2]=l;l=J[k+12>>2];J[r+8>>2]=J[k+8>>2];J[r+12>>2]=l;e=e+1|0;s=s+1|0;if((g|0)!=(s|0)){continue}break}}if(!(h?!h|!n:1)){J[8457]=J[8457]+1;ua[J[8259]](h)}n=1;e=i}ua[J[J[a>>2]+108>>2]](a,f,(w<<4)+c|0);w=w+1|0;h=c;f=f+1|0;if((ua[J[J[a>>2]+96>>2]](a)|0)>(f|0)){continue}break}H[d+188|0]=n;J[d+180>>2]=e;J[d+176>>2]=w;J[d+184>>2]=c}H[d+148|0]=1;J[d+144>>2]=0;H[d+168|0]=1;J[d+136>>2]=0;J[d+140>>2]=0;J[d+164>>2]=0;J[d+156>>2]=0;J[d+160>>2]=0;J[d+124>>2]=0;H[d+128|0]=1;J[d+116>>2]=0;J[d+120>>2]=0;c:{d:{if(b){w=0;J[d+28>>2]=0;H[d+32|0]=1;J[d+20>>2]=0;J[d+24>>2]=0;c=0;z=J[d+176>>2];if((z|0)>0){while(1){b=c;c=c+1|0;if((z|0)>(c|0)){A=J[d+184>>2]+(b<<4)|0;b=c;while(1){f=b;b=b+1|0;if((z|0)>(b|0)){t=J[d+184>>2]+(f<<4)|0;f=b;while(1){V=N[A>>2];v=Q(N[t>>2]-V);h=J[d+184>>2];i=h+(f<<4)|0;O=N[A+4>>2];y=Q(N[i+4>>2]-O);u=Q(N[i>>2]-V);p=Q(N[t+4>>2]-O);E=Q(Q(v*y)-Q(u*p));B=N[A+8>>2];q=Q(N[i+8>>2]-B);I=Q(p*q);p=Q(N[t+8>>2]-B);y=Q(I-Q(y*p));u=Q(Q(p*u)-Q(q*v));q=Q(Q(E*E)+Q(Q(y*y)+Q(u*u)));j=q>Q(9999999747378752e-20);e:{if(!j){break e}p=Q(Q(1)/Q(Y(q)));D=Q(E*p);G=Q(u*p);v=Q(y*p);i=J[d+20>>2];if((i|0)>0){e=0;n=J[d+28>>2];if(Q(Q(D*N[n+8>>2])+Q(Q(v*N[n>>2])+Q(G*N[n+4>>2])))>Q(.9990000128746033)){break e}while(1){e=e+1|0;if((i|0)!=(e|0)){l=n+(e<<4)|0;if(!(Q(Q(D*N[l+8>>2])+Q(Q(v*N[l>>2])+Q(G*N[l+4>>2])))>Q(.9990000128746033))){continue}}break}if((e|0)<(i|0)){break e}}p=Q(Q(D*B)+Q(Q(v*V)+Q(G*O)));n=J[d+176>>2];if((n|0)>0){e=0;if(Q(Q(Q(Q(D*N[h+8>>2])+Q(Q(v*N[h>>2])+Q(G*N[h+4>>2])))-p)+Q(-.009999999776482582))>Q(0)){break e}while(1){e=e+1|0;if((n|0)!=(e|0)){l=h+(e<<4)|0;if(!(Q(Q(Q(Q(D*N[l+8>>2])+Q(Q(v*N[l>>2])+Q(G*N[l+4>>2])))-p)+Q(-.009999999776482582))>Q(0))){continue}}break}if((e|0)<(n|0)){break e}}p=Q(-p);f:{if(J[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}J[8456]=J[8456]+1;n=ua[J[8258]](m<<4,16)|0;i=J[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+J[d+28>>2]|0;l=J[o+4>>2];J[h>>2]=J[o>>2];J[h+4>>2]=l;l=J[o+12>>2];J[h+8>>2]=J[o+8>>2];J[h+12>>2]=l;l=k|16;h=l+n|0;k=l+J[d+28>>2]|0;l=J[k+4>>2];J[h>>2]=J[k>>2];J[h+4>>2]=l;l=J[k+12>>2];J[h+8>>2]=J[k+8>>2];J[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+J[d+28>>2]|0;i=J[e+4>>2];J[l>>2]=J[e>>2];J[l+4>>2]=i;i=J[e+12>>2];J[l+8>>2]=J[e+8>>2];J[l+12>>2]=i}i=J[d+28>>2];if(!(i?!i|!K[d+32|0]:1)){J[8457]=J[8457]+1;ua[J[8259]](i)}J[d+28>>2]=n;H[d+32|0]=1;J[d+24>>2]=m;i=J[d+20>>2]}i=J[d+28>>2]+(i<<4)|0;N[i+12>>2]=p;N[i+8>>2]=D;N[i+4>>2]=G;N[i>>2]=v;J[d+20>>2]=J[d+20>>2]+1}i:{if(!j){break i}p=Q(Q(1)/Q(Y(q)));v=Q(p*Q(-E));u=Q(p*Q(-u));q=Q(p*Q(-y));i=J[d+20>>2];if((i|0)>0){e=0;n=J[d+28>>2];if(Q(Q(v*N[n+8>>2])+Q(Q(q*N[n>>2])+Q(u*N[n+4>>2])))>Q(.9990000128746033)){break i}while(1){e=e+1|0;if((i|0)!=(e|0)){l=n+(e<<4)|0;if(!(Q(Q(v*N[l+8>>2])+Q(Q(q*N[l>>2])+Q(u*N[l+4>>2])))>Q(.9990000128746033))){continue}}break}if((e|0)<(i|0)){break i}}p=Q(Q(v*N[A+8>>2])+Q(Q(q*N[A>>2])+Q(u*N[A+4>>2])));n=J[d+176>>2];if((n|0)>0){e=0;h=J[d+184>>2];if(Q(Q(Q(Q(v*N[h+8>>2])+Q(Q(q*N[h>>2])+Q(u*N[h+4>>2])))-p)+Q(-.009999999776482582))>Q(0)){break i}while(1){e=e+1|0;if((n|0)!=(e|0)){l=h+(e<<4)|0;if(!(Q(Q(Q(Q(v*N[l+8>>2])+Q(Q(q*N[l>>2])+Q(u*N[l+4>>2])))-p)+Q(-.009999999776482582))>Q(0))){continue}}break}if((e|0)<(n|0)){break i}}p=Q(-p);j:{if(J[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}J[8456]=J[8456]+1;n=ua[J[8258]](o<<4,16)|0;i=J[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+J[d+28>>2]|0;l=J[k+4>>2];J[h>>2]=J[k>>2];J[h+4>>2]=l;l=J[k+12>>2];J[h+8>>2]=J[k+8>>2];J[h+12>>2]=l;l=j|16;h=l+n|0;j=l+J[d+28>>2]|0;l=J[j+4>>2];J[h>>2]=J[j>>2];J[h+4>>2]=l;l=J[j+12>>2];J[h+8>>2]=J[j+8>>2];J[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+J[d+28>>2]|0;i=J[e+4>>2];J[l>>2]=J[e>>2];J[l+4>>2]=i;i=J[e+12>>2];J[l+8>>2]=J[e+8>>2];J[l+12>>2]=i}i=J[d+28>>2];if(!(i?!i|!K[d+32|0]:1)){J[8457]=J[8457]+1;ua[J[8259]](i)}J[d+28>>2]=n;H[d+32|0]=1;J[d+24>>2]=o;i=J[d+20>>2]}i=J[d+28>>2]+(i<<4)|0;N[i+12>>2]=p;N[i+8>>2]=v;N[i+4>>2]=u;N[i>>2]=q;J[d+20>>2]=J[d+20>>2]+1}f=f+1|0;if((z|0)>(f|0)){continue}break}}if((b|0)!=(z|0)){continue}break}}if((c|0)!=(z|0)){continue}break}}J[d+104>>2]=0;H[d+108|0]=1;J[d+96>>2]=0;J[d+100>>2]=0;if(J[d+20>>2]<=0){break d}while(1){b=J[d+28>>2]+(w<<4)|0;J[d+80>>2]=J[b+8>>2];c=J[b+4>>2];J[d+72>>2]=J[b>>2];J[d+76>>2]=c;p=Q(N[b+12>>2]-Q(ua[J[J[a>>2]+48>>2]](a)));c=J[d+96>>2];m:{if((c|0)!=J[d+100>>2]){break m}g=c?c<<1:1;if((g|0)<=(c|0)){break m}n:{if(!g){h=0;break n}J[8456]=J[8456]+1;h=ua[J[8258]](g<<4,16)|0;c=J[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+J[d+104>>2]|0;b=J[r+4>>2];J[i>>2]=J[r>>2];J[i+4>>2]=b;b=J[r+12>>2];J[i+8>>2]=J[r+8>>2];J[i+12>>2]=b;b=n|16;i=b+h|0;n=b+J[d+104>>2]|0;b=J[n+4>>2];J[i>>2]=J[n>>2];J[i+4>>2]=b;b=J[n+12>>2];J[i+8>>2]=J[n+8>>2];J[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+J[d+104>>2]|0;b=J[f+4>>2];J[c>>2]=J[f>>2];J[c+4>>2]=b;b=J[f+12>>2];J[c+8>>2]=J[f+8>>2];J[c+12>>2]=b}b=J[d+104>>2];if(!(b?!b|!K[d+108|0]:1)){J[8457]=J[8457]+1;ua[J[8259]](b)}J[d+104>>2]=h;H[d+108|0]=1;J[d+100>>2]=g;c=J[d+96>>2]}b=J[d+76>>2];c=J[d+104>>2]+(c<<4)|0;J[c>>2]=J[d+72>>2];J[c+4>>2]=b;b=J[d+80>>2];N[c+12>>2]=p;J[c+8>>2]=b;J[d+96>>2]=J[d+96>>2]+1;w=w+1|0;if((w|0)>2]){continue}break}break d}ee(d+112|0,c,J[d+176>>2]);break c}J[d+84>>2]=0;H[d+88|0]=1;J[d+76>>2]=0;J[d+80>>2]=0;c=0;t=J[d+96>>2];if((t|0)>0){while(1){b=c;c=c+1|0;if((t|0)>(c|0)){m=J[d+104>>2]+(b<<4)|0;b=c;while(1){f=b;b=b+1|0;if((t|0)>(b|0)){o=J[d+104>>2]+(f<<4)|0;f=b;while(1){W=N[o>>2];e=J[d+104>>2];i=e+(f<<4)|0;v=N[i+4>>2];y=N[i>>2];u=N[o+4>>2];I=Q(Q(W*v)-Q(y*u));q=N[i+8>>2];p=N[o+8>>2];D=Q(Q(u*q)-Q(v*p));G=Q(Q(p*y)-Q(q*W));p:{if(!(Q(Q(I*I)+Q(Q(D*D)+Q(G*G)))>Q(9999999747378752e-20))){break p}Z=N[m+4>>2];_=N[m>>2];E=Q(Q(y*Z)-Q(_*v));L=N[m+8>>2];V=Q(Q(v*L)-Q(Z*q));O=Q(Q(q*_)-Q(L*y));if(!(Q(Q(E*E)+Q(Q(V*V)+Q(O*O)))>Q(9999999747378752e-20))){break p}q=Q(Q(_*u)-Q(W*Z));B=Q(Q(Z*p)-Q(u*L));v=Q(Q(L*W)-Q(p*_));if(!(Q(Q(q*q)+Q(Q(B*B)+Q(v*v)))>Q(9999999747378752e-20))){break p}p=Q(Q(L*I)+Q(Q(_*D)+Q(Z*G)));if(!(Q(R(p))>Q(9.999999974752427e-7))){break p}y=Q(Q(-1)/p);u=N[i+12>>2];L=Q(q*u);q=N[m+12>>2];p=N[o+12>>2];E=Q(y*Q(L+Q(Q(I*q)+Q(E*p))));v=Q(y*Q(Q(v*u)+Q(Q(G*q)+Q(O*p))));p=Q(y*Q(Q(B*u)+Q(Q(D*q)+Q(V*p))));l=J[d+96>>2];if((l|0)>0){i=0;if(Q(Q(N[e+12>>2]+Q(Q(N[e+8>>2]*E)+Q(Q(N[e>>2]*p)+Q(v*N[e+4>>2]))))+Q(-.009999999776482582))>Q(0)){break p}while(1){i=i+1|0;if((l|0)!=(i|0)){n=e+(i<<4)|0;if(!(Q(Q(N[n+12>>2]+Q(Q(N[n+8>>2]*E)+Q(Q(N[n>>2]*p)+Q(v*N[n+4>>2]))))+Q(-.009999999776482582))>Q(0))){continue}}break}if((i|0)<(l|0)){break p}}e=J[d+76>>2];q:{if((e|0)!=J[d+80>>2]){break q}k=e?e<<1:1;if((k|0)<=(e|0)){break q}r:{if(!k){i=0;break r}J[8456]=J[8456]+1;i=ua[J[8258]](k<<4,16)|0;e=J[d+76>>2]}s:{if((e|0)<=0){break s}r=0;if((e|0)!=1){h=e&-2;x=0;while(1){g=r<<4;n=g+i|0;j=g+J[d+84>>2]|0;l=J[j+4>>2];J[n>>2]=J[j>>2];J[n+4>>2]=l;l=J[j+12>>2];J[n+8>>2]=J[j+8>>2];J[n+12>>2]=l;l=g|16;n=l+i|0;g=l+J[d+84>>2]|0;l=J[g+4>>2];J[n>>2]=J[g>>2];J[n+4>>2]=l;l=J[g+12>>2];J[n+8>>2]=J[g+8>>2];J[n+12>>2]=l;r=r+2|0;x=x+2|0;if((h|0)!=(x|0)){continue}break}}if(!(e&1)){break s}l=r<<4;n=l+i|0;e=l+J[d+84>>2]|0;l=J[e+4>>2];J[n>>2]=J[e>>2];J[n+4>>2]=l;l=J[e+12>>2];J[n+8>>2]=J[e+8>>2];J[n+12>>2]=l}l=J[d+84>>2];if(!(l?!l|!K[d+88|0]:1)){J[8457]=J[8457]+1;ua[J[8259]](l)}J[d+84>>2]=i;H[d+88|0]=1;J[d+80>>2]=k;e=J[d+76>>2]}i=J[d+84>>2]+(e<<4)|0;J[i+12>>2]=0;N[i+8>>2]=E;N[i+4>>2]=v;N[i>>2]=p;J[d+76>>2]=J[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}}ee(d+112|0,J[d+84>>2],J[d+76>>2]);b=J[d+84>>2];if(!(b?!b|!K[d+88|0]:1)){J[8457]=J[8457]+1;ua[J[8259]](b)}b=J[d+104>>2];if(!(b?!b|!K[d+108|0]:1)){J[8457]=J[8457]+1;ua[J[8259]](b)}b=J[d+28>>2];if(!b|!K[d+32|0]){break c}if(b){J[8457]=J[8457]+1;ua[J[8259]](b)}}t:{u:{l=J[d+156>>2];if((l|0)>=0){if(l){break u}J[d+32>>2]=0;J[d+36>>2]=0;J[d+48>>2]=0;J[d+40>>2]=0;J[d+44>>2]=0;J[d+24>>2]=0;J[d+28>>2]=0;H[d+32|0]=1;J[d+16>>2]=0;J[d+20>>2]=0;J[d+20>>2]=0;break t}J[d+32>>2]=0;J[d+36>>2]=0;J[d+48>>2]=0;J[d+40>>2]=0;J[d+44>>2]=0;J[d+24>>2]=0;J[d+28>>2]=0;H[d+32|0]=1;J[d+16>>2]=0;J[d+20>>2]=0;J[d+20>>2]=0;c=l;while(1){f=P(c,36);b=J[f+12>>2];if(!(b?!b|!K[f+16|0]:1)){J[8457]=J[8457]+1;ua[J[8259]](b)}J[f+12>>2]=0;H[f+16|0]=1;J[f+4>>2]=0;J[f+8>>2]=0;c=c+1|0;if(c){continue}break}break t}J[8456]=J[8456]+1;$=ua[J[8258]](l<<4,16)|0;J[d+32>>2]=0;J[d+36>>2]=0;e=0;J[d+48>>2]=0;J[d+40>>2]=0;J[d+44>>2]=0;J[d+24>>2]=0;J[d+28>>2]=0;H[d+32|0]=1;J[d+16>>2]=0;J[d+20>>2]=0;J[d+20>>2]=0;J[8456]=J[8456]+1;S=ua[J[8258]](P(l,36),16)|0;while(1){c=P(e,36)+S|0;Bc(c,d+16|0);b=J[d+48>>2];J[c+28>>2]=J[d+44>>2];J[c+32>>2]=b;b=J[d+40>>2];J[c+20>>2]=J[d+36>>2];J[c+24>>2]=b;e=e+1|0;if((l|0)!=(e|0)){continue}break}}b=J[d+28>>2];if(!(b?!b|!K[d+32|0]:1)){J[8457]=J[8457]+1;ua[J[8259]](b)}g=J[a+60>>2];h=J[g+8>>2];r=J[d+116>>2];if(!((h|0)>=(r|0)|(r|0)<=J[g+12>>2])){v:{if(!r){s=0;break v}J[8456]=J[8456]+1;s=ua[J[8258]](r<<4,16)|0;h=J[g+8>>2]}w:{if((h|0)<=0){break w}c=0;if((h|0)!=1){i=h&-2;x=0;while(1){n=c<<4;f=n+s|0;e=n+J[g+16>>2]|0;b=J[e+4>>2];J[f>>2]=J[e>>2];J[f+4>>2]=b;b=J[e+12>>2];J[f+8>>2]=J[e+8>>2];J[f+12>>2]=b;b=n|16;f=b+s|0;n=b+J[g+16>>2]|0;b=J[n+4>>2];J[f>>2]=J[n>>2];J[f+4>>2]=b;b=J[n+12>>2];J[f+8>>2]=J[n+8>>2];J[f+12>>2]=b;c=c+2|0;x=x+2|0;if((i|0)!=(x|0)){continue}break}}if(!(h&1)){break w}b=c<<4;c=b+s|0;f=b+J[g+16>>2]|0;b=J[f+4>>2];J[c>>2]=J[f>>2];J[c+4>>2]=b;b=J[f+12>>2];J[c+8>>2]=J[f+8>>2];J[c+12>>2]=b}b=J[g+16>>2];if(!(b?!b|!K[g+20|0]:1)){J[8457]=J[8457]+1;ua[J[8259]](b)}J[g+16>>2]=s;H[g+20|0]=1;J[g+12>>2]=r}J[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+J[J[a+60>>2]+16>>2]|0;n=i+J[d+124>>2]|0;b=J[n+4>>2];J[c>>2]=J[n>>2];J[c+4>>2]=b;b=J[n+12>>2];J[c+8>>2]=J[n+8>>2];J[c+12>>2]=b;b=i|16;c=b+J[J[a+60>>2]+16>>2]|0;i=b+J[d+124>>2]|0;b=J[i+4>>2];J[c>>2]=J[i>>2];J[c+4>>2]=b;b=J[i+12>>2];J[c+8>>2]=J[i+8>>2];J[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+J[J[a+60>>2]+16>>2]|0;f=b+J[d+124>>2]|0;b=J[f+4>>2];J[c>>2]=J[f>>2];J[c+4>>2]=b;b=J[f+12>>2];J[c+8>>2]=J[f+8>>2];J[c+12>>2]=b}y:{z:{A:{B:{if((l|0)<=0){break B}h=0;while(1){m=P(h,36)+S|0;f=J[m+4>>2];n=0;g=J[d+144>>2]+P(J[J[d+164>>2]+(h<<2)>>2],12)|0;w=g;C:{while(1){r=J[(P(J[w+4>>2],12)+w|0)+8>>2];D:{if(J[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}J[8456]=J[8456]+1;c=ua[J[8258]](j<<2,16)|0;f=J[m+4>>2]}o=J[m+12>>2];F:{G:{if((f|0)>0){s=0;e=0;if(f>>>0>=4){i=f&-4;C=0;while(1){k=e<<2;J[k+c>>2]=J[k+o>>2];b=k|4;J[b+c>>2]=J[b+o>>2];b=k|8;J[b+c>>2]=J[b+o>>2];b=k|12;J[b+c>>2]=J[b+o>>2];e=e+4|0;C=C+4|0;if((i|0)!=(C|0)){continue}break}}f=f&3;if(!f){break G}while(1){b=e<<2;J[b+c>>2]=J[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?K[m+16|0]:0){J[8457]=J[8457]+1;ua[J[8259]](o)}f=J[m+4>>2]}J[m+12>>2]=c;H[m+16|0]=1;J[m+8>>2]=j}J[J[m+12>>2]+(f<<2)>>2]=r;f=J[m+4>>2]+1|0;J[m+4>>2]=f;H:{if((n|0)<=1){b=J[d+124>>2];c=b+(r<<4)|0;B=N[c+8>>2];b=b+(J[w+8>>2]<<4)|0;v=N[b+8>>2];y=N[c>>2];u=N[b>>2];q=N[c+4>>2];p=N[b+4>>2];b=(d+16|0)+(n<<4)|0;J[b+12>>2]=0;v=Q(v-B);u=Q(u-y);p=Q(p-q);q=Q(Q(1)/Q(Y(Q(Q(v*v)+Q(Q(u*u)+Q(p*p))))));N[b+8>>2]=v*q;N[b+4>>2]=p*q;N[b>>2]=u*q;n=n+1|0;b=P(J[w+4>>2],12)+w|0;w=P(J[b>>2],12)+b|0;if((g|0)!=(w|0)){continue}if((n|0)==2){break H}b=(h<<4)+$|0;J[b>>2]=0;J[b+4>>2]=0;J[b+8>>2]=0;J[b+12>>2]=0;break C}n=2;b=P(J[w+4>>2],12)+w|0;w=P(J[b>>2],12)+b|0;if((g|0)!=(w|0)){continue}}break}O=N[d+20>>2];q=N[d+36>>2];B=N[d+32>>2];v=N[d+24>>2];y=N[d+16>>2];p=N[d+40>>2];b=(h<<4)+$|0;J[b+12>>2]=0;u=Q(Q(y*q)-Q(B*O));q=Q(Q(O*p)-Q(q*v));p=Q(Q(v*B)-Q(p*y));y=Q(Q(1)/Q(Y(Q(Q(u*u)+Q(Q(q*q)+Q(p*p))))));N[b+8>>2]=u*y;N[b+4>>2]=p*y;p=Q(q*y);N[b>>2]=p;N[m+20>>2]=p;N[m+24>>2]=N[b+4>>2];p=N[b+8>>2];J[m+32>>2]=1900671690;N[m+28>>2]=p}c=J[m+4>>2];I:{if((c|0)<=0){B=Q(1.0000000150474662e30);break I}f=c&1;b=(h<<4)+$|0;v=N[b+8>>2];y=N[b+4>>2];u=N[b>>2];r=J[J[a+60>>2]+16>>2];n=J[m+12>>2];J:{if((c|0)==1){B=Q(1.0000000150474662e30);e=0;break J}c=c&-2;B=Q(1.0000000150474662e30);e=0;s=0;while(1){b=e<<2;i=r+(J[n+(b|4)>>2]<<4)|0;q=Q(Q(N[i+8>>2]*v)+Q(Q(N[i>>2]*u)+Q(N[i+4>>2]*y)));b=r+(J[b+n>>2]<<4)|0;p=Q(Q(N[b+8>>2]*v)+Q(Q(N[b>>2]*u)+Q(N[b+4>>2]*y)));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+(J[n+(e<<2)>>2]<<4)|0;p=Q(Q(N[b+8>>2]*v)+Q(Q(N[b>>2]*u)+Q(N[b+4>>2]*y)));B=p>2]=-B;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}J[8456]=J[8456]+1;c=ua[J[8258]](b<<2,16)|0;L:{M:{if(f){s=0;e=0;if(f>>>0>=4){n=f&2147483644;x=0;while(1){h=e<<2;J[h+c>>2]=J[h+r>>2];i=h|4;J[i+c>>2]=J[i+r>>2];i=h|8;J[i+c>>2]=J[i+r>>2];i=h|12;J[i+c>>2]=J[i+r>>2];e=e+4|0;x=x+4|0;if((n|0)!=(x|0)){continue}break}}n=f&3;if(!n){break M}while(1){i=e<<2;J[i+c>>2]=J[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){J[8457]=J[8457]+1;ua[J[8259]](r)}}r=c}J[(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=J[(c<<2)+r>>2];J[8456]=J[8456]+1;n=ua[J[8258]](4,16)|0;J[n>>2]=b;N:{O:{if((i|0)<2){i=c;T=1;break O}b=P(b,36)+S|0;u=N[b+20>>2];q=N[b+28>>2];p=N[b+24>>2];e=i-2|0;b=1;i=c;T=1;while(1){h=e;k=J[(e<<2)+r>>2];c=P(k,36)+S|0;if(Q(Q(q*N[c+28>>2])+Q(Q(u*N[c+20>>2])+Q(p*N[c+24>>2])))>Q(.9990000128746033)){P:{Q:{if((b|0)!=(T|0)){break Q}f=b?b<<1:1;if((f|0)<=(b|0)){break Q}if(f){J[8456]=J[8456]+1;c=ua[J[8258]](f<<2,16)|0}else{c=0}R:{if((b|0)>0){s=0;e=0;if(b>>>0>=4){j=b&-4;w=0;while(1){o=e<<2;J[o+c>>2]=J[n+o>>2];g=o|4;J[g+c>>2]=J[g+n>>2];g=o|8;J[g+c>>2]=J[g+n>>2];g=o|12;J[g+c>>2]=J[g+n>>2];e=e+4|0;w=w+4|0;if((j|0)!=(w|0)){continue}break}}g=b&3;if(!g){break R}while(1){b=e<<2;J[b+c>>2]=J[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){J[8457]=J[8457]+1;ua[J[8259]](n)}break P}f=b;c=n}J[(T<<2)+c>>2]=k;T=T+1|0;e=0;S:{if((i|0)<=0){break S}while(1){b=(e<<2)+r|0;if((k|0)!=J[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;J[e>>2]=J[b>>2];J[b>>2]=k}n=c;b=f}e=h-1|0;if((h|0)>0){continue}break}T:{if((T|0)>1){c=0;J[d+104>>2]=0;H[d+108|0]=1;J[d+96>>2]=0;J[d+100>>2]=0;J[d+8>>2]=0;J[d+12>>2]=0;J[d>>2]=0;J[d+4>>2]=0;h=0;while(1){z=P(J[(h<<2)+n>>2],36)+S|0;q=N[z+28>>2];p=N[z+24>>2];N[d>>2]=N[z+20>>2]+N[d>>2];N[d+4>>2]=p+N[d+4>>2];N[d+8>>2]=q+N[d+8>>2];s=J[z+4>>2];if((s|0)>0){f=0;while(1){m=J[J[z+12>>2]+(f<<2)>>2];g=J[J[a+60>>2]+16>>2];U:{if((c|0)>0){e=0;b=J[d+104>>2];while(1){if((m|0)==J[(b+P(e,24)|0)+20>>2]){break U}e=e+1|0;if((e|0)!=(c|0)){continue}break}}e=g+(m<<4)|0;b=J[e+12>>2];J[d+24>>2]=J[e+8>>2];J[d+28>>2]=b;b=J[e+4>>2];J[d+16>>2]=J[e>>2];J[d+20>>2]=b;V:{if(J[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}J[8456]=J[8456]+1;s=ua[J[8258]](P(o,24),16)|0;c=J[d+96>>2]}A=J[d+104>>2];X:{if((c|0)<=0){break X}C=0;e=0;if(c>>>0>=4){k=c&-4;b=0;while(1){g=P(e,24);j=g+s|0;t=g+A|0;g=J[t+4>>2];J[j>>2]=J[t>>2];J[j+4>>2]=g;g=J[t+20>>2];J[j+16>>2]=J[t+16>>2];J[j+20>>2]=g;g=J[t+12>>2];J[j+8>>2]=J[t+8>>2];J[j+12>>2]=g;g=P(e|1,24);j=g+s|0;t=g+A|0;g=J[t+20>>2];J[j+16>>2]=J[t+16>>2];J[j+20>>2]=g;g=J[t+12>>2];J[j+8>>2]=J[t+8>>2];J[j+12>>2]=g;g=J[t+4>>2];J[j>>2]=J[t>>2];J[j+4>>2]=g;g=P(e|2,24);j=g+s|0;t=g+A|0;g=J[t+20>>2];J[j+16>>2]=J[t+16>>2];J[j+20>>2]=g;g=J[t+12>>2];J[j+8>>2]=J[t+8>>2];J[j+12>>2]=g;g=J[t+4>>2];J[j>>2]=J[t>>2];J[j+4>>2]=g;g=P(e|3,24);j=g+s|0;t=g+A|0;g=J[t+20>>2];J[j+16>>2]=J[t+16>>2];J[j+20>>2]=g;g=J[t+12>>2];J[j+8>>2]=J[t+8>>2];J[j+12>>2]=g;g=J[t+4>>2];J[j>>2]=J[t>>2];J[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=P(e,24);g=b+s|0;k=b+A|0;b=J[k+4>>2];J[g>>2]=J[k>>2];J[g+4>>2]=b;b=J[k+20>>2];J[g+16>>2]=J[k+16>>2];J[g+20>>2]=b;b=J[k+12>>2];J[g+8>>2]=J[k+8>>2];J[g+12>>2]=b;e=e+1|0;C=C+1|0;if((j|0)!=(C|0)){continue}break}}if(!(!A|!K[d+108|0])){if(A){J[8457]=J[8457]+1;ua[J[8259]](A)}c=J[d+96>>2]}J[d+104>>2]=s;H[d+108|0]=1;J[d+100>>2]=o}b=J[d+20>>2];g=J[d+104>>2]+P(c,24)|0;c=g;J[c>>2]=J[d+16>>2];J[c+4>>2]=b;e=J[d+28>>2];c=J[d+24>>2];b=J[d+32>>2];J[g+20>>2]=m;J[g+16>>2]=b;J[g+8>>2]=c;J[g+12>>2]=e;c=J[d+96>>2]+1|0;J[d+96>>2]=c;s=J[z+4>>2]}f=f+1|0;if((s|0)>(f|0)){continue}break}}h=h+1|0;if((T|0)!=(h|0)){continue}break}break T}b=(T|0)!=1;T=1;if(b){break N}break O}J[d+28>>2]=0;H[d+32|0]=1;J[d+20>>2]=0;J[d+24>>2]=0;b=P(J[n>>2],36)+S|0;N[d+36>>2]=N[b+20>>2];N[d+40>>2]=N[b+24>>2];N[d+44>>2]=N[b+28>>2];N[d+48>>2]=N[b+32>>2];J[d+84>>2]=0;H[d+88|0]=1;J[d+76>>2]=0;J[d+80>>2]=0;u=N[d+8>>2];q=N[d>>2];p=N[d+4>>2];y=Q(Q(1)/Q(Y(Q(Q(u*u)+Q(Q(q*q)+Q(p*p))))));N[d+8>>2]=u*y;N[d+4>>2]=p*y;N[d>>2]=q*y;t=d+92|0;c=0;C=0;h=0;L=Q(0);W=Q(0);z=sa-32|0;sa=z;v=N[d+8>>2];Y:{if(Q(R(v))>Q(.7071067690849304)){q=N[d+4>>2];p=Q(Q(q*q)+Q(v*v));u=Q(Q(1)/Q(Y(p)));G=Q(p*u);p=N[d>>2];I=Q(u*Q(-v));E=Q(p*I);W=Q(q*u);p=Q(W*Q(-p));break Y}u=N[d>>2];q=N[d+4>>2];p=Q(Q(u*u)+Q(q*q));y=Q(Q(1)/Q(Y(p)));E=Q(p*y);I=Q(u*y);G=Q(I*Q(-v));L=Q(y*Q(-q));p=Q(v*L)}f=J[t+4>>2];Z:{if((f|0)>=2){while(1){g=J[t+12>>2];e=P(c,24);b=g+e|0;if(Q(Q(N[b+8>>2]*W)+Q(Q(N[b>>2]*L)+Q(I*N[b+4>>2])))>2]*W)+Q(Q(N[g>>2]*L)+Q(I*N[g+4>>2])))){f=J[g+20>>2];J[z+24>>2]=J[g+16>>2];J[z+28>>2]=f;f=J[g+12>>2];J[z+16>>2]=J[g+8>>2];J[z+20>>2]=f;f=J[g+4>>2];J[z+8>>2]=J[g>>2];J[z+12>>2]=f;f=J[b+4>>2];J[g>>2]=J[b>>2];J[g+4>>2]=f;f=J[b+12>>2];J[g+8>>2]=J[b+8>>2];J[g+12>>2]=f;f=J[b+20>>2];J[g+16>>2]=J[b+16>>2];J[g+20>>2]=f;b=J[z+12>>2];f=e+J[t+12>>2]|0;J[f>>2]=J[z+8>>2];J[f+4>>2]=b;b=J[z+28>>2];J[f+16>>2]=J[z+24>>2];J[f+20>>2]=b;b=J[z+20>>2];J[f+8>>2]=J[z+16>>2];J[f+12>>2]=b;f=J[t+4>>2]}c=c+1|0;if((f|0)>(c|0)){continue}break}e=J[t+12>>2];J[e+16>>2]=-246811958;if((f|0)>=2){O=N[e+8>>2];B=N[e+4>>2];v=N[e>>2];b=1;while(1){V=Q(0);c=e+P(b,24)|0;y=Q(N[c+8>>2]-O);u=Q(N[c>>2]-v);q=Q(N[c+4>>2]-B);D=Q(Q(E*y)+Q(Q(G*u)+Q(p*q)));u=Q(Q(W*y)+Q(Q(L*u)+Q(I*q)));if(!(Q(Q(D*D)+Q(u*u))=Q(0)?Q(Q(Q(Q(u-q)/Q(u+q))*Q(-.7853981852531433))+Q(.7853981852531433)):Q(Q(Q(Q(u+q)/Q(q-u))*Q(-.7853981852531433))+Q(2.356194496154785));V=D>2]=V;b=b+1|0;if((f|0)!=(b|0)){continue}break}}b=J[e+12>>2];J[z+16>>2]=J[e+8>>2];J[z+20>>2]=b;b=J[e+4>>2];J[z+8>>2]=J[e>>2];J[z+12>>2]=b;de(t,z+8|0,1,f-1|0);e=J[t+12>>2];b=J[d+76>>2];_:{if((b|0)!=J[d+80>>2]){break _}o=b?b<<1:1;if((o|0)<=(b|0)){break _}$:{if(!o){f=0;break $}J[8456]=J[8456]+1;f=ua[J[8258]](P(o,24),16)|0;b=J[d+76>>2]}aa:{if((b|0)<=0){break aa}c=0;if((b|0)!=1){k=b&-2;while(1){g=P(c,24);j=g+f|0;m=g+J[d+84>>2]|0;g=J[m+4>>2];J[j>>2]=J[m>>2];J[j+4>>2]=g;g=J[m+20>>2];J[j+16>>2]=J[m+16>>2];J[j+20>>2]=g;g=J[m+12>>2];J[j+8>>2]=J[m+8>>2];J[j+12>>2]=g;g=P(c|1,24);j=g+f|0;m=g+J[d+84>>2]|0;g=J[m+4>>2];J[j>>2]=J[m>>2];J[j+4>>2]=g;g=J[m+12>>2];J[j+8>>2]=J[m+8>>2];J[j+12>>2]=g;g=J[m+20>>2];J[j+16>>2]=J[m+16>>2];J[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=P(c,24);c=b+f|0;h=b+J[d+84>>2]|0;b=J[h+4>>2];J[c>>2]=J[h>>2];J[c+4>>2]=b;b=J[h+20>>2];J[c+16>>2]=J[h+16>>2];J[c+20>>2]=b;b=J[h+12>>2];J[c+8>>2]=J[h+8>>2];J[c+12>>2]=b}b=J[d+84>>2];if(!(b?!b|!K[d+88|0]:1)){J[8457]=J[8457]+1;ua[J[8259]](b)}J[d+84>>2]=f;H[d+88|0]=1;J[d+80>>2]=o;b=J[d+76>>2]}c=J[d+84>>2]+P(b,24)|0;b=J[e+4>>2];J[c>>2]=J[e>>2];J[c+4>>2]=b;b=J[e+20>>2];J[c+16>>2]=J[e+16>>2];J[c+20>>2]=b;b=J[e+12>>2];J[c+8>>2]=J[e+8>>2];J[c+12>>2]=b;b=J[d+76>>2]+1|0;J[d+76>>2]=b;e=J[t+12>>2];ba:{if(J[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}J[8456]=J[8456]+1;f=ua[J[8258]](P(o,24),16)|0;b=J[d+76>>2]}da:{if((b|0)<=0){break da}c=0;if((b|0)!=1){k=b&-2;h=0;while(1){g=P(c,24);j=g+f|0;m=g+J[d+84>>2]|0;g=J[m+4>>2];J[j>>2]=J[m>>2];J[j+4>>2]=g;g=J[m+20>>2];J[j+16>>2]=J[m+16>>2];J[j+20>>2]=g;g=J[m+12>>2];J[j+8>>2]=J[m+8>>2];J[j+12>>2]=g;g=P(c|1,24);j=g+f|0;m=g+J[d+84>>2]|0;g=J[m+4>>2];J[j>>2]=J[m>>2];J[j+4>>2]=g;g=J[m+12>>2];J[j+8>>2]=J[m+8>>2];J[j+12>>2]=g;g=J[m+20>>2];J[j+16>>2]=J[m+16>>2];J[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=P(c,24);c=b+f|0;h=b+J[d+84>>2]|0;b=J[h+4>>2];J[c>>2]=J[h>>2];J[c+4>>2]=b;b=J[h+20>>2];J[c+16>>2]=J[h+16>>2];J[c+20>>2]=b;b=J[h+12>>2];J[c+8>>2]=J[h+8>>2];J[c+12>>2]=b}b=J[d+84>>2];if(!(b?!b|!K[d+88|0]:1)){J[8457]=J[8457]+1;ua[J[8259]](b)}J[d+84>>2]=f;H[d+88|0]=1;J[d+80>>2]=o;b=J[d+76>>2]}c=J[d+84>>2]+P(b,24)|0;b=J[e+28>>2];J[c>>2]=J[e+24>>2];J[c+4>>2]=b;b=J[e+44>>2];J[c+16>>2]=J[e+40>>2];J[c+20>>2]=b;b=J[e+36>>2];J[c+8>>2]=J[e+32>>2];J[c+12>>2]=b;b=J[d+76>>2]+1|0;J[d+76>>2]=b;if(J[t+4>>2]==2){break Z}s=2;while(1){ea:{if((b|0)<2){break ea}e=J[t+12>>2]+P(s,24)|0;D=N[e+8>>2];G=N[e+4>>2];E=N[e>>2];V=N[d+8>>2];O=N[d+4>>2];B=N[d>>2];f=J[d+84>>2];c=b;while(1){b=P(c,24)+f|0;h=b-48|0;q=N[h>>2];b=b-24|0;v=Q(q-N[b>>2]);p=N[h+4>>2];y=Q(p-G);u=Q(q-E);p=Q(p-N[b+4>>2]);L=Q(Q(Q(v*y)-Q(u*p))*V);I=p;p=N[h+8>>2];q=Q(p-D);p=Q(p-N[b+8>>2]);if(Q(L+Q(Q(Q(Q(I*q)-Q(y*p))*B)+Q(O*Q(Q(p*u)-Q(q*v)))))>Q(0)){fa:{if(J[d+80>>2]!=(c|0)){break fa}j=c<<1;if((j|0)<=(c|0)){break fa}J[8456]=J[8456]+1;f=ua[J[8258]](P(c,48),16)|0;k=J[d+76>>2];ga:{if((k|0)<=0){break ga}c=0;if((k|0)!=1){g=k&-2;w=0;while(1){b=P(c,24);h=b+f|0;o=b+J[d+84>>2]|0;b=J[o+4>>2];J[h>>2]=J[o>>2];J[h+4>>2]=b;b=J[o+20>>2];J[h+16>>2]=J[o+16>>2];J[h+20>>2]=b;b=J[o+12>>2];J[h+8>>2]=J[o+8>>2];J[h+12>>2]=b;b=P(c|1,24);h=b+f|0;o=b+J[d+84>>2]|0;b=J[o+4>>2];J[h>>2]=J[o>>2];J[h+4>>2]=b;b=J[o+12>>2];J[h+8>>2]=J[o+8>>2];J[h+12>>2]=b;b=J[o+20>>2];J[h+16>>2]=J[o+16>>2];J[h+20>>2]=b;c=c+2|0;w=w+2|0;if((g|0)!=(w|0)){continue}break}}if(!(k&1)){break ga}b=P(c,24);c=b+f|0;h=b+J[d+84>>2]|0;b=J[h+4>>2];J[c>>2]=J[h>>2];J[c+4>>2]=b;b=J[h+20>>2];J[c+16>>2]=J[h+16>>2];J[c+20>>2]=b;b=J[h+12>>2];J[c+8>>2]=J[h+8>>2];J[c+12>>2]=b}b=J[d+84>>2];if(!(b?!b|!K[d+88|0]:1)){J[8457]=J[8457]+1;ua[J[8259]](b)}J[d+84>>2]=f;H[d+88|0]=1;J[d+80>>2]=j;c=J[d+76>>2]}b=J[e+4>>2];c=P(c,24)+f|0;J[c>>2]=J[e>>2];J[c+4>>2]=b;b=J[e+20>>2];J[c+16>>2]=J[e+16>>2];J[c+20>>2]=b;b=J[e+12>>2];J[c+8>>2]=J[e+8>>2];J[c+12>>2]=b;b=J[d+76>>2]+1|0;J[d+76>>2]=b;break ea}b=c-1|0;J[d+76>>2]=b;h=c>>>0>2;c=b;if(h){continue}break}}if((b|0)==1){b=J[t+12>>2]+P(s,24)|0;ha:{if(J[d+80>>2]!=1){f=J[d+84>>2];c=1;break ha}J[8456]=J[8456]+1;f=ua[J[8258]](48,16)|0;k=J[d+76>>2];ia:{if((k|0)<=0){break ia}c=0;if((k|0)!=1){j=k&-2;h=0;while(1){e=P(c,24);g=e+f|0;o=e+J[d+84>>2]|0;e=J[o+4>>2];J[g>>2]=J[o>>2];J[g+4>>2]=e;e=J[o+20>>2];J[g+16>>2]=J[o+16>>2];J[g+20>>2]=e;e=J[o+12>>2];J[g+8>>2]=J[o+8>>2];J[g+12>>2]=e;e=P(c|1,24);g=e+f|0;o=e+J[d+84>>2]|0;e=J[o+4>>2];J[g>>2]=J[o>>2];J[g+4>>2]=e;e=J[o+12>>2];J[g+8>>2]=J[o+8>>2];J[g+12>>2]=e;e=J[o+20>>2];J[g+16>>2]=J[o+16>>2];J[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=P(c,24);e=c+f|0;h=c+J[d+84>>2]|0;c=J[h+4>>2];J[e>>2]=J[h>>2];J[e+4>>2]=c;c=J[h+20>>2];J[e+16>>2]=J[h+16>>2];J[e+20>>2]=c;c=J[h+12>>2];J[e+8>>2]=J[h+8>>2];J[e+12>>2]=c}c=J[d+84>>2];if(!(c?!c|!K[d+88|0]:1)){J[8457]=J[8457]+1;ua[J[8259]](c)}J[d+84>>2]=f;H[d+88|0]=1;J[d+80>>2]=2;c=J[d+76>>2]}f=P(c,24)+f|0;c=J[b+4>>2];J[f>>2]=J[b>>2];J[f+4>>2]=c;c=J[b+20>>2];J[f+16>>2]=J[b+16>>2];J[f+20>>2]=c;c=J[b+12>>2];J[f+8>>2]=J[b+8>>2];J[f+12>>2]=c;b=J[d+76>>2]+1|0;J[d+76>>2]=b}s=s+1|0;if((s|0)!=J[t+4>>2]){continue}break}break Z}if((f|0)!=1){break Z}b=J[d+76>>2];while(1){e=J[t+12>>2];ja:{if(J[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}J[8456]=J[8456]+1;f=ua[J[8258]](P(o,24),16)|0;b=J[d+76>>2]}la:{if((b|0)<=0){break la}c=0;if((b|0)!=1){k=b&-2;h=0;while(1){g=P(c,24);j=g+f|0;m=g+J[d+84>>2]|0;g=J[m+4>>2];J[j>>2]=J[m>>2];J[j+4>>2]=g;g=J[m+20>>2];J[j+16>>2]=J[m+16>>2];J[j+20>>2]=g;g=J[m+12>>2];J[j+8>>2]=J[m+8>>2];J[j+12>>2]=g;g=P(c|1,24);j=g+f|0;m=g+J[d+84>>2]|0;g=J[m+4>>2];J[j>>2]=J[m>>2];J[j+4>>2]=g;g=J[m+12>>2];J[j+8>>2]=J[m+8>>2];J[j+12>>2]=g;g=J[m+20>>2];J[j+16>>2]=J[m+16>>2];J[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=P(c,24);c=b+f|0;h=b+J[d+84>>2]|0;b=J[h+4>>2];J[c>>2]=J[h>>2];J[c+4>>2]=b;b=J[h+20>>2];J[c+16>>2]=J[h+16>>2];J[c+20>>2]=b;b=J[h+12>>2];J[c+8>>2]=J[h+8>>2];J[c+12>>2]=b}b=J[d+84>>2];if(!(b?!b|!K[d+88|0]:1)){J[8457]=J[8457]+1;ua[J[8259]](b)}J[d+84>>2]=f;H[d+88|0]=1;J[d+80>>2]=o;b=J[d+76>>2]}c=J[d+84>>2]+P(b,24)|0;b=J[e+4>>2];J[c>>2]=J[e>>2];J[c+4>>2]=b;b=J[e+20>>2];J[c+16>>2]=J[e+16>>2];J[c+20>>2]=b;b=J[e+12>>2];J[c+8>>2]=J[e+8>>2];J[c+12>>2]=b;b=J[d+76>>2]+1|0;J[d+76>>2]=b;C=C+1|0;if((C|0)>2]){continue}break}}sa=z+32|0;ma:{if(J[d+76>>2]<=0){c=J[d+96>>2];break ma}b=0;x=J[d+20>>2];while(1){j=P(b,24);g=j+J[d+84>>2]|0;na:{if(J[d+24>>2]!=(x|0)){break na}o=x?x<<1:1;if((o|0)<=(x|0)){break na}oa:{if(!o){c=0;break oa}J[8456]=J[8456]+1;c=ua[J[8258]](o<<2,16)|0;x=J[d+20>>2]}t=J[d+28>>2];pa:{qa:{if((x|0)>0){k=x&3;s=0;e=0;if(x>>>0>=4){h=x&-4;x=0;while(1){m=e<<2;J[m+c>>2]=J[m+t>>2];f=m|4;J[f+c>>2]=J[f+t>>2];f=m|8;J[f+c>>2]=J[f+t>>2];f=m|12;J[f+c>>2]=J[f+t>>2];e=e+4|0;x=x+4|0;if((h|0)!=(x|0)){continue}break}}if(!k){break qa}while(1){f=e<<2;J[f+c>>2]=J[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?K[d+32|0]:0){J[8457]=J[8457]+1;ua[J[8259]](t)}x=J[d+20>>2]}J[d+28>>2]=c;H[d+32|0]=1;J[d+24>>2]=o}J[J[d+28>>2]+(x<<2)>>2]=J[g+20>>2];x=J[d+20>>2]+1|0;J[d+20>>2]=x;c=J[d+96>>2];ra:{if((c|0)<=0){break ra}g=J[(j+J[d+84>>2]|0)+20>>2];e=0;h=J[d+104>>2];while(1){f=h+P(e,24)|0;if((g|0)!=J[f+20>>2]){e=e+1|0;if((e|0)!=(c|0)){continue}break ra}break}J[f+20>>2]=-1}b=b+1|0;if((b|0)>2]){continue}break}}sa:{if((c|0)>0){w=0;g=J[d+104>>2];while(1){j=J[(g+P(w,24)|0)+20>>2];ta:{if((j|0)==-1|(l|0)<=0){break ta}h=0;if((T|0)>0){while(1){b=P(h,36)+S|0;e=0;ua:{while(1){if(J[(e<<2)+n>>2]==(h|0)){break ua}e=e+1|0;if((T|0)!=(e|0)){continue}break}f=J[b+4>>2];if((f|0)<=0){break ua}b=J[b+12>>2];e=0;while(1){if((j|0)!=J[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=P(h,36)+S|0;f=J[b+4>>2];if((f|0)<=0){break va}b=J[b+12>>2];e=0;while(1){if((j|0)!=J[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}}w=w+1|0;if((w|0)!=(c|0)){continue}break}}k=J[a+60>>2];c=J[k+28>>2];if((c|0)==J[k+32>>2]){f=0;g=c?c<<1:1;if((g|0)>J[k+32>>2]){if(g){J[8456]=J[8456]+1;c=ua[J[8258]](P(g,36),16)|0}else{c=0}h=J[k+28>>2];wa:{if((h|0)<=0){break wa}while(1){b=P(f,36);j=b+c|0;b=b+J[k+36>>2]|0;Bc(j,b);e=J[b+32>>2];J[j+28>>2]=J[b+28>>2];J[j+32>>2]=e;e=J[b+24>>2];J[j+20>>2]=J[b+20>>2];J[j+24>>2]=e;f=f+1|0;if((h|0)!=(f|0)){continue}break}b=J[k+28>>2];if((b|0)<=0){break wa}f=0;while(1){h=J[k+36>>2]+P(f,36)|0;e=J[h+12>>2];if(!(e?!e|!K[h+16|0]:1)){J[8457]=J[8457]+1;ua[J[8259]](e)}J[h+12>>2]=0;H[h+16|0]=1;J[h+4>>2]=0;J[h+8>>2]=0;f=f+1|0;if((b|0)!=(f|0)){continue}break}}b=J[k+36>>2];if(!(b?!b|!K[k+40|0]:1)){J[8457]=J[8457]+1;ua[J[8259]](b)}J[k+36>>2]=c;H[k+40|0]=1;J[k+32>>2]=g}c=J[k+28>>2]}c=J[k+36>>2]+P(c,36)|0;Bc(c,d+16|0);b=J[d+48>>2];J[c+28>>2]=J[d+44>>2];J[c+32>>2]=b;b=J[d+40>>2];J[c+20>>2]=J[d+36>>2];J[c+24>>2]=b;J[k+28>>2]=J[k+28>>2]+1;b=0}c=J[d+84>>2];if(!(c?!c|!K[d+88|0]:1)){J[8457]=J[8457]+1;ua[J[8259]](c)}c=J[d+28>>2];if(!(c?!c|!K[d+32|0]:1)){J[8457]=J[8457]+1;ua[J[8259]](c)}c=J[d+104>>2];if(!(c?!c|!K[d+108|0]:1)){J[8457]=J[8457]+1;ua[J[8259]](c)}if(!(b&(T|0)>0)){break N}}z=0;while(1){b=0;c=P(J[(z<<2)+n>>2],36)+S|0;U=J[c+4>>2];xa:{if((U|0)<=0){break xa}s=0;J[8456]=J[8456]+1;f=U<<2;b=ua[J[8258]](f,16)|0;k=Fa(b,0,f);j=J[c+12>>2];e=0;if(U>>>0>=4){h=U&-4;x=0;while(1){g=e<<2;J[g+k>>2]=J[g+j>>2];f=g|4;J[f+k>>2]=J[f+j>>2];f=g|8;J[f+k>>2]=J[f+j>>2];f=g|12;J[f+k>>2]=J[f+j>>2];e=e+4|0;x=x+4|0;if((h|0)!=(x|0)){continue}break}}h=U&3;if(!h){break xa}while(1){f=e<<2;J[f+k>>2]=J[f+j>>2];e=e+1|0;s=s+1|0;if((h|0)!=(s|0)){continue}break}}e=K[c+24|0]|K[c+25|0]<<8|(K[c+26|0]<<16|K[c+27|0]<<24);f=K[c+20|0]|K[c+21|0]<<8|(K[c+22|0]<<16|K[c+23|0]<<24);H[d+19|0]=f;H[d+20|0]=f>>>8;H[d+21|0]=f>>>16;H[d+22|0]=f>>>24;H[d+23|0]=e;H[d+24|0]=e>>>8;H[d+25|0]=e>>>16;H[d+26|0]=e>>>24;f=K[c+32|0]|K[c+33|0]<<8|(K[c+34|0]<<16|K[c+35|0]<<24);c=K[c+28|0]|K[c+29|0]<<8|(K[c+30|0]<<16|K[c+31|0]<<24);H[d+27|0]=c;H[d+28|0]=c>>>8;H[d+29|0]=c>>>16;H[d+30|0]=c>>>24;H[d+31|0]=f;H[d+32|0]=f>>>8;H[d+33|0]=f>>>16;H[d+34|0]=f>>>24;M=J[a+60>>2];h=J[M+28>>2];ya:{if((h|0)!=J[M+32>>2]){break ya}t=h?h<<1:1;if((t|0)<=(h|0)){break ya}za:{if(!t){m=0;break za}J[8456]=J[8456]+1;m=ua[J[8258]](P(t,36),16)|0;h=J[M+28>>2]}Aa:{if((h|0)<=0){break Aa}o=0;while(1){f=J[M+36>>2];c=P(o,36);F=c+m|0;J[F+12>>2]=0;H[F+16|0]=1;J[F+4>>2]=0;J[F+8>>2]=0;c=c+f|0;w=J[c+4>>2];Ba:{if((w|0)<=0){J[F+4>>2]=w;break Ba}J[8456]=J[8456]+1;j=w<<2;C=ua[J[8258]](j,16)|0;X=J[F+12>>2];k=J[F+4>>2];Ca:{Da:{if((k|0)>0){s=0;e=0;if(k>>>0>=4){g=k&-4;x=0;while(1){A=e<<2;J[A+C>>2]=J[A+X>>2];f=A|4;J[f+C>>2]=J[f+X>>2];f=A|8;J[f+C>>2]=J[f+X>>2];f=A|12;J[f+C>>2]=J[f+X>>2];e=e+4|0;x=x+4|0;if((g|0)!=(x|0)){continue}break}}g=k&3;if(g){while(1){f=e<<2;J[f+C>>2]=J[f+X>>2];e=e+1|0;s=s+1|0;if((g|0)!=(s|0)){continue}break}}if(K[F+16|0]){break Da}break Ca}if(!X|!K[F+16|0]){break Ca}}if(X){J[8457]=J[8457]+1;ua[J[8259]](X)}}J[F+12>>2]=C;H[F+16|0]=1;J[F+8>>2]=w;s=0;A=Fa(C,0,j);J[F+4>>2]=w;k=J[c+12>>2];e=0;if(w>>>0>=4){g=w&-4;x=0;while(1){j=e<<2;J[j+A>>2]=J[j+k>>2];f=j|4;J[f+A>>2]=J[f+k>>2];f=j|8;J[f+A>>2]=J[f+k>>2];f=j|12;J[f+A>>2]=J[f+k>>2];e=e+4|0;x=x+4|0;if((g|0)!=(x|0)){continue}break}}g=w&3;if(!g){break Ba}while(1){f=e<<2;J[f+A>>2]=J[f+k>>2];e=e+1|0;s=s+1|0;if((g|0)!=(s|0)){continue}break}}f=J[c+24>>2];J[F+20>>2]=J[c+20>>2];J[F+24>>2]=f;f=J[c+32>>2];J[F+28>>2]=J[c+28>>2];J[F+32>>2]=f;o=o+1|0;if((o|0)!=(h|0)){continue}break}c=0;f=J[M+28>>2];if((f|0)<=0){break Aa}while(1){h=J[M+36>>2]+P(c,36)|0;e=J[h+12>>2];if(!(e?!e|!K[h+16|0]:1)){J[8457]=J[8457]+1;ua[J[8259]](e)}J[h+12>>2]=0;H[h+16|0]=1;J[h+4>>2]=0;J[h+8>>2]=0;c=c+1|0;if((f|0)!=(c|0)){continue}break}}c=J[M+36>>2];if(!(c?!c|!K[M+40|0]:1)){J[8457]=J[8457]+1;ua[J[8259]](c)}J[M+36>>2]=m;H[M+40|0]=1;J[M+32>>2]=t;h=J[M+28>>2]}m=J[M+36>>2]+P(h,36)|0;J[m+12>>2]=0;H[m+16|0]=1;J[m+4>>2]=0;J[m+8>>2]=0;Ea:{if((U|0)<=0){J[m+4>>2]=U;break Ea}J[8456]=J[8456]+1;h=U<<2;k=ua[J[8258]](h,16)|0;o=J[m+12>>2];g=J[m+4>>2];Fa:{Ga:{if((g|0)>0){s=0;e=0;if(g>>>0>=4){f=g&-4;x=0;while(1){j=e<<2;J[j+k>>2]=J[j+o>>2];c=j|4;J[c+k>>2]=J[c+o>>2];c=j|8;J[c+k>>2]=J[c+o>>2];c=j|12;J[c+k>>2]=J[c+o>>2];e=e+4|0;x=x+4|0;if((f|0)!=(x|0)){continue}break}}f=g&3;if(f){while(1){c=e<<2;J[c+k>>2]=J[c+o>>2];e=e+1|0;s=s+1|0;if((f|0)!=(s|0)){continue}break}}if(K[m+16|0]){break Ga}break Fa}if(!o|!K[m+16|0]){break Fa}}if(o){J[8457]=J[8457]+1;ua[J[8259]](o)}}J[m+12>>2]=k;H[m+16|0]=1;J[m+8>>2]=U;f=0;j=Fa(k,0,h);J[m+4>>2]=U;e=0;if(U>>>0>=4){h=U&-4;s=0;while(1){g=e<<2;J[g+j>>2]=J[b+g>>2];c=g|4;J[c+j>>2]=J[b+c>>2];c=g|8;J[c+j>>2]=J[b+c>>2];c=g|12;J[c+j>>2]=J[b+c>>2];e=e+4|0;s=s+4|0;if((h|0)!=(s|0)){continue}break}}h=U&3;if(!h){break Ea}while(1){c=e<<2;J[c+j>>2]=J[b+c>>2];e=e+1|0;f=f+1|0;if((h|0)!=(f|0)){continue}break}}f=K[d+23|0]|K[d+24|0]<<8|(K[d+25|0]<<16|K[d+26|0]<<24);c=K[d+19|0]|K[d+20|0]<<8|(K[d+21|0]<<16|K[d+22|0]<<24);H[m+20|0]=c;H[m+21|0]=c>>>8;H[m+22|0]=c>>>16;H[m+23|0]=c>>>24;H[m+24|0]=f;H[m+25|0]=f>>>8;H[m+26|0]=f>>>16;H[m+27|0]=f>>>24;f=K[d+31|0]|K[d+32|0]<<8|(K[d+33|0]<<16|K[d+34|0]<<24);c=K[d+27|0]|K[d+28|0]<<8|(K[d+29|0]<<16|K[d+30|0]<<24);H[m+28|0]=c;H[m+29|0]=c>>>8;H[m+30|0]=c>>>16;H[m+31|0]=c>>>24;H[m+32|0]=f;H[m+33|0]=f>>>8;H[m+34|0]=f>>>16;H[m+35|0]=f>>>24;J[M+28>>2]=J[M+28>>2]+1;if(b){J[8457]=J[8457]+1;ua[J[8259]](b)}z=z+1|0;if((z|0)!=(T|0)){continue}break}}if(n){J[8457]=J[8457]+1;ua[J[8259]](n)}if(i){continue}break}ie(J[a+60>>2]);if(r){J[8457]=J[8457]+1;ua[J[8259]](r)}if((l|0)<=0){break A}c=0;while(1){b=P(c,36)+S|0;a=J[b+12>>2];if(!(a?!a|!K[b+16|0]:1)){J[8457]=J[8457]+1;ua[J[8259]](a)}J[b+12>>2]=0;H[b+16|0]=1;J[b+4>>2]=0;J[b+8>>2]=0;c=c+1|0;if((l|0)!=(c|0)){continue}break}break z}ie(J[a+60>>2])}if(!S){break y}}if(S){J[8457]=J[8457]+1;ua[J[8259]](S)}}if($){J[8457]=J[8457]+1;ua[J[8259]]($)}a=J[d+164>>2];if(!(a?!a|!K[d+168|0]:1)){J[8457]=J[8457]+1;ua[J[8259]](a)}J[d+164>>2]=0;H[d+168|0]=1;J[d+156>>2]=0;J[d+160>>2]=0;a=J[d+144>>2];if(!(a?!a|!K[d+148|0]:1)){J[8457]=J[8457]+1;ua[J[8259]](a)}J[d+144>>2]=0;H[d+148|0]=1;J[d+136>>2]=0;J[d+140>>2]=0;a=J[d+124>>2];if(!(a?!a|!K[d+128|0]:1)){J[8457]=J[8457]+1;ua[J[8259]](a)}a=J[d+184>>2];if(!(a?!a|!K[d+188|0]:1)){J[8457]=J[8457]+1;ua[J[8259]](a)}sa=d+192|0;return 1}function Km(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=0,i=0,j=Q(0),k=0,l=Q(0),m=Q(0),n=0,o=0,p=Q(0),q=0,r=0,s=Q(0),t=Q(0),u=0,v=0,w=Q(0),x=0,y=Q(0),z=0,A=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=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),_=Q(0),$=Q(0),aa=Q(0),ba=Q(0),ca=0,da=Q(0),ea=Q(0),fa=Q(0),ga=Q(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=0,qa=0,ra=Q(0),ta=Q(0),va=Q(0),wa=0;f=sa-928|0;sa=f;h=J[a+56>>2];if(!h){h=J[a+4>>2];h=ua[J[J[h>>2]+12>>2]](h,J[b+8>>2],J[c+8>>2])|0;H[a+52|0]=1;J[a+56>>2]=h}J[e+4>>2]=h;x=J[c+4>>2];a:{b:{c:{d:{z=J[b+4>>2];switch(J[z+4>>2]-8|0){case 0:break c;case 2:break d;default:break b}}e:{switch(J[x+4>>2]-8|0){case 2:d=z+36|0;a=J[z+60>>2];g=N[d+(a<<2)>>2];l=N[d+((a+2|0)%3<<2)>>2];k=x+36|0;d=J[x+60>>2];j=N[h+848>>2];g=Sc(f+432|0,f+8|0,g,l,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(g>2]+16>>2]](e,f+432|0,f+8|0,g)}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);r=a;a=J[J[e+12>>2]+8>>2];Ua(r,(b?c:a)+4|0,(b?a:d)+4|0);break a;case 0:break e;default:break b}}d=z+36|0;a=J[z+60>>2];j=N[h+848>>2];g=Sc(f+432|0,f+8|0,N[d+(a<<2)>>2],N[d+((a+2|0)%3<<2)>>2],Q(0),Q(N[x+36>>2]*N[x+20>>2]),a,1,J[b+12>>2],J[c+12>>2],j);if(g>2]+16>>2]](e,f+432|0,f+8|0,g)}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);r=a;a=J[J[e+12>>2]+8>>2];Ua(r,(b?c:a)+4|0,(b?a:d)+4|0);break a}if(J[x+4>>2]!=10){break b}d=x+36|0;a=J[x+60>>2];j=N[h+848>>2];g=Sc(f+432|0,f+8|0,Q(0),Q(N[z+36>>2]*N[z+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(g>2]+16>>2]](e,f+432|0,f+8|0,g)}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);r=a;a=J[J[e+12>>2]+8>>2];Ua(r,(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;r=sc(f+352|0,z,x,f+432|0,J[a+8>>2]);J[r+32>>2]=x;J[r+28>>2]=z;j=Q(Q(Q(Q(ua[J[J[z>>2]+48>>2]](z))+Q(ua[J[J[x>>2]+48>>2]](x)))+N[J[a+56>>2]+848>>2])+N[e+32>>2]);N[f+920>>2]=j*j;h=J[b+12>>2];k=J[h+12>>2];J[f+800>>2]=J[h+8>>2];J[f+804>>2]=k;k=J[h+4>>2];J[f+792>>2]=J[h>>2];J[f+796>>2]=k;k=J[h+28>>2];J[f+816>>2]=J[h+24>>2];J[f+820>>2]=k;k=J[h+20>>2];J[f+808>>2]=J[h+16>>2];J[f+812>>2]=k;k=J[h+44>>2];J[f+832>>2]=J[h+40>>2];J[f+836>>2]=k;k=J[h+36>>2];J[f+824>>2]=J[h+32>>2];J[f+828>>2]=k;k=J[h+60>>2];J[f+848>>2]=J[h+56>>2];J[f+852>>2]=k;k=J[h+52>>2];J[f+840>>2]=J[h+48>>2];J[f+844>>2]=k;h=J[c+12>>2];k=J[h+12>>2];J[f+864>>2]=J[h+8>>2];J[f+868>>2]=k;k=J[h+4>>2];J[f+856>>2]=J[h>>2];J[f+860>>2]=k;i=J[h+20>>2];k=f+872|0;J[k>>2]=J[h+16>>2];J[k+4>>2]=i;i=J[h+28>>2];J[f+880>>2]=J[h+24>>2];J[f+884>>2]=i;n=J[h+36>>2];i=f+888|0;J[i>>2]=J[h+32>>2];J[i+4>>2]=n;n=J[h+44>>2];J[f+896>>2]=J[h+40>>2];J[f+900>>2]=n;q=J[h+52>>2];n=f+904|0;J[n>>2]=J[h+48>>2];J[n+4>>2]=q;q=J[h+60>>2];J[f+912>>2]=J[h+56>>2];J[f+916>>2]=q;f:{q=J[z+4>>2];if((q|0)>6){break f}h=J[x+4>>2];if((h|0)>6){break f}J[f+348>>2]=15212;if(q){W=Q(ua[J[J[z>>2]+48>>2]](z));h=J[x+4>>2]}if(h){g=Q(ua[J[J[x>>2]+48>>2]](x))}H[f+44|0]=0;N[f+36>>2]=g;N[f+32>>2]=W;J[f+12>>2]=e;J[f+8>>2]=15444;if(!J[z+60>>2]){break f}if(J[x+60>>2]){I=N[J[a+56>>2]+848>>2];g:{h:{if(K[d+24|0]){W=Q(-1.0000000150474662e30);v=J[z+60>>2];u=J[x+60>>2];n=J[b+12>>2];q=J[c+12>>2];i=sa-96|0;sa=i;J[8759]=J[8759]+1;g=N[v+72>>2];j=N[v+64>>2];y=N[v+68>>2];l=N[u+72>>2];w=N[u+64>>2];C=N[u+68>>2];$=Q(Q(Q(Q(g*N[n+40>>2])+Q(Q(j*N[n+32>>2])+Q(y*N[n+36>>2])))+N[n+56>>2])-Q(Q(Q(l*N[q+40>>2])+Q(Q(w*N[q+32>>2])+Q(C*N[q+36>>2])))+N[q+56>>2]));aa=Q(Q(Q(Q(g*N[n+24>>2])+Q(Q(j*N[n+16>>2])+Q(y*N[n+20>>2])))+N[n+52>>2])-Q(Q(Q(l*N[q+24>>2])+Q(Q(w*N[q+16>>2])+Q(C*N[q+20>>2])))+N[q+52>>2]));ba=Q(Q(Q(Q(g*N[n+8>>2])+Q(Q(j*N[n>>2])+Q(y*N[n+4>>2])))+N[n+48>>2])-Q(Q(Q(l*N[q+8>>2])+Q(Q(w*N[q>>2])+Q(C*N[q+4>>2])))+N[q+48>>2]));j=Q(34028234663852886e22);i:{j:{h=J[v+28>>2];if((h|0)>0){while(1){d=J[v+36>>2]+P(A,36)|0;y=N[d+28>>2];l=N[d+20>>2];w=N[d+24>>2];C=N[n+8>>2];D=N[n>>2];F=N[n+4>>2];Z=N[n+24>>2];_=N[n+16>>2];G=N[n+20>>2];L=N[n+40>>2];M=N[n+32>>2];X=N[n+36>>2];J[i+12>>2]=0;g=Q(Q(L*y)+Q(Q(M*l)+Q(w*X)));N[i+8>>2]=g;p=Q(Q(Z*y)+Q(Q(_*l)+Q(w*G)));N[i+4>>2]=p;t=Q(Q(C*y)+Q(Q(D*l)+Q(w*F)));N[i>>2]=t;if(Q(Q($*g)+Q(Q(ba*t)+Q(aa*p)))>2]=g;p=Q(-p);N[i+4>>2]=p;t=Q(-t);N[i>>2]=t}J[8757]=J[8757]+1;k:{if(K[33065]){y=Q(Q($*g)+Q(Q(ba*t)+Q(aa*p)));l=N[v+88>>2];S=Q(-l);B=l;l=Q(Q(L*g)+Q(Q(C*t)+Q(Z*p)));O=Q((l>2];S=Q(-l);B=l;l=Q(Q(M*g)+Q(Q(D*t)+Q(_*p)));B=Q((l>2];l=Q(O+Q(B+Q(l*(l>2];F=l>w?l:w;l=N[u+88>>2];S=Q(-l);B=l;l=Q(Q(N[q+40>>2]*g)+Q(Q(N[q+8>>2]*t)+Q(p*N[q+24>>2])));O=Q((l>2];S=Q(-l);B=l;l=Q(Q(N[q+32>>2]*g)+Q(Q(N[q>>2]*t)+Q(p*N[q+16>>2])));B=Q((l>2]*g)+Q(Q(N[q+4>>2]*t)+Q(p*N[q+20>>2])));l=N[u+84>>2];g=Q(O+Q(B+Q(g*(g>2];g=Q(F+(g>l?g:l));l=Q(y+g);g=Q(g-y);if((g>l?l:g)>j){break k}}J[8758]=J[8758]+1;mb(v,n,i,i+92|0,i+88|0,i- -64|0,i+48|0);mb(u,q,i,i+84|0,i+80|0,i+32|0,i+16|0);g=N[i+88>>2];y=N[i+84>>2];if(g>2];w=N[i+92>>2];if(l>2];J[f+248>>2]=J[i>>2];J[f+252>>2]=d;d=J[i+12>>2];J[f+256>>2]=J[i+8>>2];J[f+260>>2]=d;j=g}A=A+1|0;if((h|0)!=(A|0)){continue}break}}h=J[u+28>>2];if((h|0)>0){A=0;while(1){d=J[u+36>>2]+P(A,36)|0;y=N[d+28>>2];l=N[d+20>>2];w=N[d+24>>2];C=N[q+8>>2];D=N[q>>2];F=N[q+4>>2];Z=N[q+24>>2];_=N[q+16>>2];G=N[q+20>>2];L=N[q+40>>2];M=N[q+32>>2];X=N[q+36>>2];J[i+12>>2]=0;g=Q(Q(L*y)+Q(Q(M*l)+Q(w*X)));N[i+8>>2]=g;p=Q(Q(Z*y)+Q(Q(_*l)+Q(w*G)));N[i+4>>2]=p;t=Q(Q(C*y)+Q(Q(D*l)+Q(w*F)));N[i>>2]=t;if(Q(Q($*g)+Q(Q(ba*t)+Q(aa*p)))>2]=g;p=Q(-p);N[i+4>>2]=p;t=Q(-t);N[i>>2]=t}J[8757]=J[8757]+1;l:{if(K[33065]){y=Q(Q($*g)+Q(Q(ba*t)+Q(aa*p)));l=N[v+88>>2];S=Q(-l);B=l;l=Q(Q(N[n+40>>2]*g)+Q(Q(N[n+8>>2]*t)+Q(p*N[n+24>>2])));O=Q((l>2];S=Q(-l);B=l;l=Q(Q(N[n+32>>2]*g)+Q(Q(N[n>>2]*t)+Q(p*N[n+16>>2])));B=Q((l>2]*g)+Q(Q(N[n+4>>2]*t)+Q(p*N[n+20>>2])));w=N[v+84>>2];l=Q(O+Q(B+Q(l*(l>2];w=l>w?l:w;l=N[u+88>>2];S=Q(-l);B=l;l=Q(Q(L*g)+Q(Q(C*t)+Q(Z*p)));O=Q((l>2];S=Q(-l);B=l;l=Q(Q(M*g)+Q(Q(D*t)+Q(_*p)));B=Q((l>2];g=Q(O+Q(B+Q(g*(g>2];g=Q(w+(g>l?g:l));l=Q(y+g);g=Q(g-y);if((g>l?l:g)>j){break l}}J[8758]=J[8758]+1;mb(v,n,i,i+92|0,i+88|0,i- -64|0,i+48|0);mb(u,q,i,i+84|0,i+80|0,i+32|0,i+16|0);g=N[i+88>>2];y=N[i+84>>2];if(g>2];w=N[i+92>>2];if(l>2];J[f+248>>2]=J[i>>2];J[f+252>>2]=d;d=J[i+12>>2];J[f+256>>2]=J[i+8>>2];J[f+260>>2]=d;j=g}A=A+1|0;if((h|0)!=(A|0)){continue}break}}ca=1;d=J[v+48>>2];m:{if((d|0)<=0){break m}h=0;A=J[u+48>>2];if((A|0)<=0){break m}L=Q(0);r=-1;k=-1;M=Q(0);X=Q(0);Z=Q(0);_=Q(0);G=Q(0);while(1){if((A|0)>0){d=J[v+56>>2]+(h<<4)|0;g=N[d+8>>2];w=N[d>>2];C=N[d+4>>2];y=Q(Q(N[n+24>>2]*g)+Q(Q(N[n+16>>2]*w)+Q(C*N[n+20>>2])));ra=Q(-y);l=Q(Q(N[n+8>>2]*g)+Q(Q(N[n>>2]*w)+Q(C*N[n+4>>2])));ta=Q(-l);w=Q(Q(N[n+40>>2]*g)+Q(Q(N[n+32>>2]*w)+Q(C*N[n+36>>2])));va=Q(-w);d=0;while(1){A=J[u+56>>2]+(d<<4)|0;F=N[A+8>>2];p=N[A>>2];t=N[A+4>>2];O=N[q+40>>2];ea=N[q+32>>2];fa=N[q+36>>2];ga=N[q+24>>2];ka=N[q+16>>2];la=N[q+20>>2];ma=N[q+8>>2];na=N[q>>2];oa=N[q+4>>2];J[i+12>>2]=0;C=Q(Q(ga*F)+Q(Q(ka*p)+Q(t*la)));D=Q(Q(ma*F)+Q(Q(na*p)+Q(t*oa)));g=Q(Q(l*C)+Q(D*ra));F=Q(Q(O*F)+Q(Q(ea*p)+Q(t*fa)));p=Q(Q(w*D)+Q(F*ta));t=Q(Q(y*F)+Q(C*va));n:{if(!(+Q(R(t))>1e-6|+Q(R(p))>1e-6|+Q(R(g))>1e-6)){break n}ha=Q(Q(1)/Q(Y(Q(Q(g*g)+Q(Q(t*t)+Q(p*p))))));g=Q(g*ha);N[i+8>>2]=g;p=Q(p*ha);N[i+4>>2]=p;t=Q(t*ha);N[i>>2]=t;if(Q(Q($*g)+Q(Q(ba*t)+Q(aa*p)))>2]=g;p=Q(-p);N[i+4>>2]=p;t=Q(-t);N[i>>2]=t}J[8757]=J[8757]+1;if(K[33065]){ha=Q(Q($*g)+Q(Q(ba*t)+Q(aa*p)));B=N[v+88>>2];da=Q(-B);S=B;B=Q(Q(N[n+40>>2]*g)+Q(Q(N[n+8>>2]*t)+Q(p*N[n+24>>2])));ia=Q((B>2];da=Q(-B);S=B;B=Q(Q(N[n+32>>2]*g)+Q(Q(N[n>>2]*t)+Q(p*N[n+16>>2])));S=Q((B>2]*g)+Q(Q(N[n+4>>2]*t)+Q(p*N[n+20>>2])));da=N[v+84>>2];B=Q(ia+Q(S+Q(B*(B>2];ia=B>da?B:da;B=N[u+88>>2];O=Q(Q(O*g)+Q(Q(ma*t)+Q(ga*p)));da=Q((O>2];S=Q(-O);B=O;O=Q(Q(ea*g)+Q(Q(na*t)+Q(ka*p)));g=Q(Q(fa*g)+Q(Q(oa*t)+Q(la*p)));p=N[u+84>>2];g=Q(da+Q(Q((O>2];g=Q(ia+(g>p?g:p));p=Q(ha+g);g=Q(g-ha);if((g>p?p:g)>j){break n}}J[8758]=J[8758]+1;mb(v,n,i,i+92|0,i+88|0,i- -64|0,i+48|0);mb(u,q,i,i+84|0,i+80|0,i+32|0,i+16|0);g=N[i+88>>2];p=N[i+84>>2];if(g>2];O=N[i+92>>2];if(t>2];_=N[k+4>>2];k=A?i+48|0:i- -64|0;L=N[k+8>>2];M=N[k+4>>2];j=N[i+16>>2];m=N[i+32>>2];s=N[i+64>>2];E=N[i+48>>2];k=J[i+4>>2];J[f+248>>2]=J[i>>2];J[f+252>>2]=k;k=J[i+12>>2];J[f+256>>2]=J[i+8>>2];J[f+260>>2]=k;X=A?E:s;G=A?m:j;m=D;s=C;E=F;T=l;U=y;V=w;k=h;r=d;j=g}d=d+1|0;A=J[u+48>>2];if((d|0)<(A|0)){continue}break}d=J[v+48>>2]}h=h+1|0;if((h|0)<(d|0)){continue}break}if((k|r)<0){break m}w=Q(Z-L);C=Q(G-X);D=Q(_-M);l=Q(Q(V*w)+Q(Q(T*C)+Q(U*D)));g=Q(0);F=Q(-Q(Q(E*w)+Q(Q(m*C)+Q(s*D))));y=Q(Q(V*E)+Q(Q(T*m)+Q(U*s)));j=Q(Q(1)-Q(y*y));o:{if(j==Q(0)){break o}g=Q(-1.0000000150474662e30);j=Q(Q(Q(F*y)+l)/j);if(jQ(1.0000000150474662e30))){break o}g=Q(1.0000000150474662e30)}p=Q(Q(g*y)+F);p:{if(pQ(1.0000000150474662e30))){p=Q(-1.0000000150474662e30);g=j;break p}p=Q(-1.0000000150474662e30);break p}if(!(p>Q(1.0000000150474662e30))){break p}g=Q(-1.0000000150474662e30);p=Q(1.0000000150474662e30);j=Q(Q(y*Q(1.0000000150474662e30))+l);if(jQ(1.0000000150474662e30))){break p}g=Q(1.0000000150474662e30)}J[i+76>>2]=0;E=Q(E*p);j=Q(E+Q(w-Q(V*g)));V=Q(m*p);m=Q(V+Q(C-Q(T*g)));T=Q(s*p);g=Q(T+Q(D-Q(U*g)));s=Q(Q(j*j)+Q(Q(m*m)+Q(g*g)));if(!(s>Q(1.1920928955078125e-7))){break m}l=j;U=Q(Y(s));j=Q(Q(1)/U);s=Q(l*j);N[i+72>>2]=s;g=Q(g*j);N[i+68>>2]=g;j=Q(m*j);N[i+64>>2]=j;if(Q(Q(s*$)+Q(Q(j*ba)+Q(aa*g)))>2]=-s;N[i+68>>2]=-g;N[i+64>>2]=-j}J[i+60>>2]=0;N[i+56>>2]=Z+E;N[i+52>>2]=_+T;N[i+48>>2]=G+V;ua[J[J[e>>2]+16>>2]](e,i- -64|0,i+48|0,Q(-U))}g=N[f+256>>2];j=N[f+248>>2];m=N[f+252>>2];if(!(Q(Q($*g)+Q(Q(ba*j)+Q(aa*m)))>2]=0;N[f+256>>2]=-g;N[f+252>>2]=-m;N[f+248>>2]=-j;break i}ca=0}sa=i+96|0;if(ca){break h}break g}Za(r,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}W=N[f+40>>2];if(!(W>2]&J[a+20>>2])<0){d=J[a+24>>2];if(!(d?!d|!K[a+28|0]:1)){J[8457]=J[8457]+1;ua[J[8259]](d)}H[a+28|0]=1;J[a+20>>2]=0;J[a+24>>2]=0}J[a+16>>2]=0;ca=J[z+60>>2];n=J[x+60>>2];o=J[b+12>>2];r=J[c+12>>2];i=sa-16|0;sa=i;g=N[f+256>>2];j=N[f+248>>2];m=N[f+252>>2];N[i+12>>2]=N[f+260>>2];l=g;g=Q(Q(1)/Q(Y(Q(Q(g*g)+Q(Q(j*j)+Q(m*m))))));E=Q(l*g);N[i+8>>2]=E;T=Q(m*g);N[i+4>>2]=T;U=Q(j*g);N[i>>2]=U;q=-1;c=J[n+28>>2];if((c|0)>0){V=N[r+40>>2];y=N[r+36>>2];l=N[r+24>>2];w=N[r+20>>2];d=J[n+36>>2];C=N[r+32>>2];D=N[r+16>>2];F=N[r+8>>2];p=N[r+4>>2];t=N[r>>2];h=0;g=Q(-34028234663852886e22);while(1){b=d+P(h,36)|0;j=N[b+28>>2];m=N[b+20>>2];s=N[b+24>>2];j=Q(Q(Q(Q(V*j)+Q(Q(C*m)+Q(s*y)))*E)+Q(Q(Q(Q(F*j)+Q(Q(t*m)+Q(s*p)))*U)+Q(Q(Q(l*j)+Q(Q(D*m)+Q(s*w)))*T)));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((J[c+4>>2]&J[c+8>>2])<0){b=J[c+12>>2];if(!(b?!b|!K[c+16|0]:1)){J[8457]=J[8457]+1;ua[J[8259]](b)}H[c+16|0]=1;J[c+8>>2]=0;J[c+12>>2]=0}J[c+4>>2]=0;pa=J[n+36>>2]+P(q,36)|0;qa=J[pa+4>>2];if((qa|0)>0){d=0;x=0;while(1){b=J[n+16>>2]+(J[J[pa+12>>2]+(x<<2)>>2]<<4)|0;g=N[b+8>>2];j=N[b>>2];m=N[b+4>>2];s=Q(Q(Q(g*N[r+40>>2])+Q(Q(j*N[r+32>>2])+Q(m*N[r+36>>2])))+N[r+56>>2]);E=Q(Q(Q(g*N[r+24>>2])+Q(Q(j*N[r+16>>2])+Q(m*N[r+20>>2])))+N[r+52>>2]);g=Q(Q(Q(g*N[r+8>>2])+Q(Q(j*N[r>>2])+Q(m*N[r+4>>2])))+N[r+48>>2]);q:{if(J[c+8>>2]!=(d|0)){break q}v=d?d<<1:1;if((v|0)<=(d|0)){break q}r:{if(!v){k=0;break r}J[8456]=J[8456]+1;k=ua[J[8258]](v<<4,16)|0;d=J[c+4>>2]}s:{if((d|0)<=0){break s}h=0;if((d|0)!=1){wa=d&-2;b=0;while(1){z=h<<4;A=z+k|0;u=z+J[c+12>>2]|0;ja=J[u+4>>2];J[A>>2]=J[u>>2];J[A+4>>2]=ja;ja=J[u+12>>2];J[A+8>>2]=J[u+8>>2];J[A+12>>2]=ja;u=z|16;z=u+k|0;u=u+J[c+12>>2]|0;A=J[u+4>>2];J[z>>2]=J[u>>2];J[z+4>>2]=A;A=J[u+12>>2];J[z+8>>2]=J[u+8>>2];J[z+12>>2]=A;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+J[c+12>>2]|0;h=J[b+4>>2];J[d>>2]=J[b>>2];J[d+4>>2]=h;h=J[b+12>>2];J[d+8>>2]=J[b+8>>2];J[d+12>>2]=h}b=J[c+12>>2];if(!(b?!b|!K[c+16|0]:1)){J[8457]=J[8457]+1;ua[J[8259]](b)}J[c+12>>2]=k;H[c+16|0]=1;J[c+8>>2]=v;d=J[c+4>>2]}b=J[c+12>>2]+(d<<4)|0;J[b+12>>2]=0;N[b+8>>2]=s;N[b+4>>2]=E;N[b>>2]=g;d=J[c+4>>2]+1|0;J[c+4>>2]=d;x=x+1|0;if((qa|0)!=(x|0)){continue}break}}if((q|0)>=0){Nd(i,ca,o,c,a+32|0,Q(W-I),I,e)}sa=i+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);r=a;a=J[J[e+12>>2]+8>>2];Ua(r,(b?c:a)+4|0,(b?a:d)+4|0);break a}if(J[x+4>>2]!=1){break f}J[f+252>>2]=0;h=J[c+12>>2];s=N[h+52>>2];E=N[h+20>>2];T=N[h+24>>2];U=N[h+56>>2];V=N[h+36>>2];y=N[h+40>>2];g=N[x+72>>2];j=N[x+68>>2];l=N[h+16>>2];w=N[h+32>>2];C=N[h+48>>2];D=N[h+8>>2];m=N[x+64>>2];F=N[h>>2];p=N[h+4>>2];J[8456]=J[8456]+1;h=ua[J[8258]](16,16)|0;J[f+260>>2]=h;H[f+264|0]=1;J[f+256>>2]=1;J[h+12>>2]=0;N[h>>2]=C+Q(Q(g*D)+Q(Q(m*F)+Q(j*p)));N[h+8>>2]=U+Q(Q(g*y)+Q(Q(m*w)+Q(j*V)));N[h+4>>2]=s+Q(Q(g*T)+Q(Q(m*l)+Q(j*E)));i=J[f+252>>2];h=i+1|0;J[f+252>>2]=h;g=N[x+88>>2];k=J[c+12>>2];j=N[x+80>>2];m=N[x+84>>2];s=Q(Q(Q(g*N[k+40>>2])+Q(Q(j*N[k+32>>2])+Q(m*N[k+36>>2])))+N[k+56>>2]);E=Q(Q(Q(g*N[k+24>>2])+Q(Q(j*N[k+16>>2])+Q(m*N[k+20>>2])))+N[k+52>>2]);g=Q(Q(Q(g*N[k+8>>2])+Q(Q(j*N[k>>2])+Q(m*N[k+4>>2])))+N[k+48>>2]);t:{if(J[f+256>>2]!=(h|0)){break t}n=h?h<<1:1;if((n|0)<=(h|0)){break t}k=0;if(n){J[8456]=J[8456]+1;k=ua[J[8258]](n<<4,16)|0}u:{if((i|0)<0){break u}h=i+1|0;A=h&1;v:{if(!i){h=0;break v}ca=h&-2;h=0;q=0;while(1){v=h<<4;u=v+k|0;i=v+J[f+260>>2]|0;o=J[i+4>>2];J[u>>2]=J[i>>2];J[u+4>>2]=o;o=J[i+12>>2];J[u+8>>2]=J[i+8>>2];J[u+12>>2]=o;i=v|16;v=i+k|0;i=i+J[f+260>>2]|0;u=J[i+4>>2];J[v>>2]=J[i>>2];J[v+4>>2]=u;u=J[i+12>>2];J[v+8>>2]=J[i+8>>2];J[v+12>>2]=u;h=h+2|0;q=q+2|0;if((ca|0)!=(q|0)){continue}break}}if(!A){break u}h=h<<4;i=h+k|0;h=h+J[f+260>>2]|0;q=J[h+4>>2];J[i>>2]=J[h>>2];J[i+4>>2]=q;q=J[h+12>>2];J[i+8>>2]=J[h+8>>2];J[i+12>>2]=q}h=J[f+260>>2];if(!(h?!h|!K[f+264|0]:1)){J[8457]=J[8457]+1;ua[J[8259]](h)}J[f+260>>2]=k;H[f+264|0]=1;J[f+256>>2]=n;h=J[f+252>>2]}h=J[f+260>>2]+(h<<4)|0;J[h+12>>2]=0;N[h+8>>2]=s;N[h+4>>2]=E;N[h>>2]=g;k=J[f+252>>2];h=k+1|0;J[f+252>>2]=h;g=N[x+104>>2];c=J[c+12>>2];j=N[x+96>>2];m=N[x+100>>2];s=Q(Q(Q(g*N[c+40>>2])+Q(Q(j*N[c+32>>2])+Q(m*N[c+36>>2])))+N[c+56>>2]);E=Q(Q(Q(g*N[c+24>>2])+Q(Q(j*N[c+16>>2])+Q(m*N[c+20>>2])))+N[c+52>>2]);g=Q(Q(Q(g*N[c+8>>2])+Q(Q(j*N[c>>2])+Q(m*N[c+4>>2])))+N[c+48>>2]);w:{if(J[f+256>>2]!=(h|0)){break w}i=h?h<<1:1;if((i|0)<=(h|0)){break w}h=0;if(i){J[8456]=J[8456]+1;h=ua[J[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}A=c&-2;c=0;k=0;while(1){q=c<<4;v=q+h|0;n=q+J[f+260>>2]|0;ca=J[n+4>>2];J[v>>2]=J[n>>2];J[v+4>>2]=ca;ca=J[n+12>>2];J[v+8>>2]=J[n+8>>2];J[v+12>>2]=ca;n=q|16;q=n+h|0;n=n+J[f+260>>2]|0;v=J[n+4>>2];J[q>>2]=J[n>>2];J[q+4>>2]=v;v=J[n+12>>2];J[q+8>>2]=J[n+8>>2];J[q+12>>2]=v;c=c+2|0;k=k+2|0;if((A|0)!=(k|0)){continue}break}}if(!u){break x}c=c<<4;k=c+h|0;c=c+J[f+260>>2]|0;n=J[c+4>>2];J[k>>2]=J[c>>2];J[k+4>>2]=n;n=J[c+12>>2];J[k+8>>2]=J[c+8>>2];J[k+12>>2]=n}c=J[f+260>>2];if(!(c?!c|!K[f+264|0]:1)){J[8457]=J[8457]+1;ua[J[8259]](c)}J[f+260>>2]=h;H[f+264|0]=1;J[f+256>>2]=i;h=J[f+252>>2]}c=J[f+260>>2]+(h<<4)|0;J[c+12>>2]=0;N[c+8>>2]=s;N[c+4>>2]=E;N[c>>2]=g;J[f+252>>2]=J[f+252>>2]+1;g=N[J[a+56>>2]+848>>2];Za(r,f+792|0,f+348|0,J[d+20>>2],0);j=N[r+12>>2];m=N[r+4>>2];s=N[r+8>>2];E=Q(Q(j*j)+Q(Q(m*m)+Q(s*s)));if(E>Q(1.1920928955078125e-7)){J[f+344>>2]=0;l=j;j=Q(Q(1)/E);N[f+340>>2]=l*j;N[f+336>>2]=s*j;N[f+332>>2]=m*j;j=N[r+56>>2];m=Q(ua[J[J[z>>2]+48>>2]](z));s=Q(ua[J[J[x>>2]+48>>2]](x));h=0;r=0;c=a+32|0;d=J[c+4>>2];z:{if((d|0)>0){break z}n=(d|0)>=0;if(n){break z}if(J[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+J[c+12>>2]|0;x=J[i+4>>2];J[k>>2]=J[i>>2];J[k+4>>2]=x;x=J[i+12>>2];J[k+8>>2]=J[i+8>>2];J[k+12>>2]=x;k=k|16;i=k+J[c+12>>2]|0;x=J[i+4>>2];J[k>>2]=J[i>>2];J[k+4>>2]=x;x=J[i+12>>2];J[k+8>>2]=J[i+8>>2];J[k+12>>2]=x;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+J[c+12>>2]|0;r=J[k+4>>2];J[h>>2]=J[k>>2];J[h+4>>2]=r;r=J[k+12>>2];J[h+8>>2]=J[k+8>>2];J[h+12>>2]=r}h=J[c+12>>2];if(!(h?!h|!K[c+16|0]:1)){J[8457]=J[8457]+1;ua[J[8259]](h)}J[c+12>>2]=0;H[c+16|0]=1;J[c+8>>2]=0;if(n){break z}}r=d^-1;i=0-d&3;if(i){h=0;while(1){n=J[f+320>>2];k=J[c+12>>2]+(d<<4)|0;J[k>>2]=J[f+316>>2];J[k+4>>2]=n;n=J[f+328>>2];J[k+8>>2]=J[f+324>>2];J[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=J[f+320>>2];h=d<<4;k=h+J[c+12>>2]|0;J[k>>2]=J[f+316>>2];J[k+4>>2]=r;r=J[f+328>>2];J[k+8>>2]=J[f+324>>2];J[k+12>>2]=r;r=J[f+328>>2];k=h+J[c+12>>2]|0;J[k+24>>2]=J[f+324>>2];J[k+28>>2]=r;r=J[f+320>>2];J[k+16>>2]=J[f+316>>2];J[k+20>>2]=r;r=J[f+328>>2];k=h+J[c+12>>2]|0;J[k+40>>2]=J[f+324>>2];J[k+44>>2]=r;r=J[f+320>>2];J[k+32>>2]=J[f+316>>2];J[k+36>>2]=r;k=J[f+328>>2];h=h+J[c+12>>2]|0;J[h+56>>2]=J[f+324>>2];J[h+60>>2]=k;k=J[f+320>>2];J[h+48>>2]=J[f+316>>2];J[h+52>>2]=k;d=d+4|0;if(d){continue}break}}J[c+4>>2]=0;Nd(f+332|0,J[z+60>>2],J[b+12>>2],f+248|0,c,Q(Q(Q(j-m)-s)-g),g,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);r=a;a=J[J[e+12>>2]+8>>2];Ua(r,(b?c:a)+4|0,(b?a:d)+4|0)}}a=J[f+260>>2];if(!a|!K[f+264|0]){break a}if(a){J[8457]=J[8457]+1;ua[J[8259]](a)}break a}Za(r,f+792|0,e,J[d+20>>2],0);B:{if(!J[a+64>>2]|J[J[e+4>>2]+844>>2]>=J[a+68>>2]){break B}g=N[r+12>>2];j=N[r+4>>2];m=N[r+8>>2];s=Q(Q(g*g)+Q(Q(j*j)+Q(m*m)));if(!(s>Q(1.1920928955078125e-7))){break B}q=f+856|0;v=f+840|0;u=f+824|0;A=f+808|0;l=m;m=Q(Q(1)/s);E=Q(l*m);l=Q(j*m);w=Q(g*m);C:{if(Q(R(w))>Q(.7071067690849304)){g=Q(Q(1)/Q(Y(Q(Q(E*E)+Q(w*w)))));W=Q(E*g);g=Q(g*Q(-w));j=Q(0);break C}j=Q(Q(1)/Q(Y(Q(Q(l*l)+Q(E*E)))));g=Q(l*j);W=Q(0);j=Q(j*Q(-E))}m=Q(ua[J[J[z>>2]+16>>2]](z));s=Q(ua[J[J[x>>2]+16>>2]](x));T=N[8265];x=m>2];J[f+256>>2]=J[h+8>>2];J[f+260>>2]=z;z=J[h+4>>2];J[f+248>>2]=J[h>>2];J[f+252>>2]=z;h=x?A:k;z=J[h+12>>2];J[f+272>>2]=J[h+8>>2];J[f+276>>2]=z;z=J[h+4>>2];J[f+264>>2]=J[h>>2];J[f+268>>2]=z;h=x?u:i;z=J[h+12>>2];J[f+288>>2]=J[h+8>>2];J[f+292>>2]=z;z=J[h+4>>2];J[f+280>>2]=J[h>>2];J[f+284>>2]=z;h=x?v:n;z=J[h+12>>2];J[f+304>>2]=J[h+8>>2];J[f+308>>2]=z;z=J[h+4>>2];J[f+296>>2]=J[h>>2];J[f+300>>2]=z;h=J[a+64>>2];if((h|0)<=0){break B}m=Q(T/(x?m:s));m=m>Q(.39269909262657166)?Q(.19634954631328583):Q(m*Q(.5));s=Na(m);T=Ma(m);m=Q(Q(W*W)+Q(Q(j*j)+Q(g*g)));if(!(m>Q(1.1920928955078125e-7))){break B}m=Q(s/Q(Y(m)));U=Q(W*m);V=Q(g*m);y=Q(j*m);O=Q(Y(Q(Q(w*w)+Q(Q(l*l)+Q(E*E)))));z=f- -64|0;while(1){s=Q(Q(Q(Q(6.2831854820251465)/Q(h|0))*Q(ca|0))*Q(.5));m=Q(Na(s)/O);g=Q(w*m);j=Q(E*m);m=Q(l*m);s=Ma(s);D:{if(!x){h=J[b+12>>2];o=J[h+12>>2];J[f+800>>2]=J[h+8>>2];J[f+804>>2]=o;o=J[h+4>>2];J[f+792>>2]=J[h>>2];J[f+796>>2]=o;o=J[h+28>>2];J[A+8>>2]=J[h+24>>2];J[A+12>>2]=o;o=J[h+20>>2];J[A>>2]=J[h+16>>2];J[A+4>>2]=o;o=J[h+44>>2];J[u+8>>2]=J[h+40>>2];J[u+12>>2]=o;o=J[h+36>>2];J[u>>2]=J[h+32>>2];J[u+4>>2]=o;o=J[h+60>>2];J[v+8>>2]=J[h+56>>2];J[v+12>>2]=o;o=J[h+52>>2];J[v>>2]=J[h+48>>2];J[v+4>>2]=o;h=J[c+12>>2];F=N[h+36>>2];p=N[h+20>>2];t=N[h+40>>2];W=N[h+24>>2];$=N[h+32>>2];aa=N[h>>2];ba=N[h+16>>2];Z=N[h+4>>2];_=N[h+8>>2];J[f+900>>2]=0;J[f+884>>2]=0;J[f+868>>2]=0;G=Q(Q(m*U)+Q(Q(Q(s*V)-Q(T*j))-Q(g*y)));I=Q(Q(g*U)+Q(Q(j*V)+Q(Q(s*T)+Q(y*m))));L=Q(Q(g*V)+Q(Q(Q(s*y)-Q(T*m))-Q(j*U)));M=Q(Q(j*y)+Q(Q(Q(s*U)-Q(T*g))-Q(m*V)));C=Q(Q(Q(G*g)+Q(Q(I*m)+Q(s*L)))-Q(M*j));D=Q(Q(Q(Q(I*s)-Q(m*L))-Q(G*j))-Q(M*g));X=Q(Q(Q(L*j)+Q(Q(I*g)+Q(s*M)))-Q(G*m));g=Q(Q(Q(M*m)+Q(Q(I*j)+Q(s*G)))-Q(L*g));j=Q(Q(2)/Q(Q(D*D)+Q(Q(X*X)+Q(Q(C*C)+Q(g*g)))));I=Q(C*j);L=Q(C*I);m=Q(g*j);M=Q(g*m);s=Q(Q(1)-Q(L+M));j=Q(X*j);ea=Q(C*j);fa=Q(D*m);G=Q(ea-fa);ga=Q(g*j);I=Q(D*I);g=Q(ga+I);N[f+896>>2]=Q(t*s)+Q(Q(_*G)+Q(W*g));N[f+892>>2]=Q(F*s)+Q(Q(Z*G)+Q(g*p));N[f+888>>2]=Q($*s)+Q(Q(aa*G)+Q(g*ba));g=Q(ga-I);s=Q(C*m);C=Q(D*j);m=Q(s+C);D=Q(X*j);j=Q(Q(1)-Q(L+D));N[f+880>>2]=Q(t*g)+Q(Q(_*m)+Q(W*j));N[f+876>>2]=Q(F*g)+Q(Q(Z*m)+Q(j*p));N[f+872>>2]=Q($*g)+Q(Q(aa*m)+Q(j*ba));g=Q(ea+fa);j=Q(Q(1)-Q(M+D));m=Q(s-C);N[f+864>>2]=Q(t*g)+Q(Q(_*j)+Q(W*m));N[f+860>>2]=Q(F*g)+Q(Q(Z*j)+Q(m*p));N[f+856>>2]=Q($*g)+Q(Q(aa*j)+Q(m*ba));break D}h=J[b+12>>2];F=N[h+36>>2];p=N[h+20>>2];t=N[h+40>>2];W=N[h+24>>2];$=N[h+32>>2];aa=N[h>>2];ba=N[h+16>>2];Z=N[h+4>>2];_=N[h+8>>2];J[f+836>>2]=0;J[f+820>>2]=0;J[f+804>>2]=0;G=Q(Q(m*U)+Q(Q(Q(s*V)-Q(T*j))-Q(g*y)));I=Q(Q(g*U)+Q(Q(j*V)+Q(Q(s*T)+Q(y*m))));L=Q(Q(g*V)+Q(Q(Q(s*y)-Q(T*m))-Q(j*U)));M=Q(Q(j*y)+Q(Q(Q(s*U)-Q(T*g))-Q(m*V)));C=Q(Q(Q(G*g)+Q(Q(I*m)+Q(s*L)))-Q(M*j));D=Q(Q(Q(Q(I*s)-Q(m*L))-Q(G*j))-Q(M*g));X=Q(Q(Q(L*j)+Q(Q(I*g)+Q(s*M)))-Q(G*m));g=Q(Q(Q(M*m)+Q(Q(I*j)+Q(s*G)))-Q(L*g));j=Q(Q(2)/Q(Q(D*D)+Q(Q(X*X)+Q(Q(C*C)+Q(g*g)))));I=Q(C*j);L=Q(C*I);m=Q(g*j);M=Q(g*m);s=Q(Q(1)-Q(L+M));j=Q(X*j);ea=Q(C*j);fa=Q(D*m);G=Q(ea-fa);ga=Q(g*j);I=Q(D*I);g=Q(ga+I);N[f+832>>2]=Q(t*s)+Q(Q(_*G)+Q(W*g));N[f+828>>2]=Q(F*s)+Q(Q(Z*G)+Q(g*p));N[f+824>>2]=Q($*s)+Q(Q(aa*G)+Q(g*ba));g=Q(ga-I);s=Q(C*m);C=Q(D*j);m=Q(s+C);D=Q(X*j);j=Q(Q(1)-Q(L+D));N[f+816>>2]=Q(t*g)+Q(Q(_*m)+Q(W*j));N[f+812>>2]=Q(F*g)+Q(Q(Z*m)+Q(j*p));N[f+808>>2]=Q($*g)+Q(Q(aa*m)+Q(j*ba));g=Q(ea+fa);j=Q(Q(1)-Q(M+D));m=Q(s-C);N[f+800>>2]=Q(t*g)+Q(Q(_*j)+Q(W*m));N[f+796>>2]=Q(F*g)+Q(Q(Z*j)+Q(m*p));N[f+792>>2]=Q($*g)+Q(Q(aa*j)+Q(m*ba));h=J[c+12>>2];o=J[h+4>>2];J[q>>2]=J[h>>2];J[q+4>>2]=o;o=J[h+12>>2];J[q+8>>2]=J[h+8>>2];J[q+12>>2]=o;o=J[h+28>>2];J[k+8>>2]=J[h+24>>2];J[k+12>>2]=o;o=J[h+20>>2];J[k>>2]=J[h+16>>2];J[k+4>>2]=o;o=J[h+44>>2];J[i+8>>2]=J[h+40>>2];J[i+12>>2]=o;o=J[h+36>>2];J[i>>2]=J[h+32>>2];J[i+4>>2]=o;o=J[h+60>>2];J[n+8>>2]=J[h+56>>2];J[n+12>>2]=o;o=J[h+52>>2];J[n>>2]=J[h+48>>2];J[n+4>>2]=o}h=J[d+20>>2];J[f+44>>2]=e;J[f+8>>2]=15628;J[f+40>>2]=0;o=J[f+804>>2];J[f+56>>2]=J[f+800>>2];J[f+60>>2]=o;o=J[f+796>>2];J[f+48>>2]=J[f+792>>2];J[f+52>>2]=o;o=J[A+12>>2];J[z+8>>2]=J[A+8>>2];J[z+12>>2]=o;o=J[A+4>>2];J[z>>2]=J[A>>2];J[z+4>>2]=o;o=J[u+12>>2];J[f+88>>2]=J[u+8>>2];J[f+92>>2]=o;o=J[u+4>>2];J[f+80>>2]=J[u>>2];J[f+84>>2]=o;o=J[v+12>>2];J[f+104>>2]=J[v+8>>2];J[f+108>>2]=o;o=J[v+4>>2];J[f+96>>2]=J[v>>2];J[f+100>>2]=o;o=J[q+12>>2];J[f+120>>2]=J[q+8>>2];J[f+124>>2]=o;o=J[q+4>>2];J[f+112>>2]=J[q>>2];J[f+116>>2]=o;o=J[k+12>>2];J[f+136>>2]=J[k+8>>2];J[f+140>>2]=o;o=J[k+4>>2];J[f+128>>2]=J[k>>2];J[f+132>>2]=o;o=J[i+12>>2];J[f+152>>2]=J[i+8>>2];J[f+156>>2]=o;o=J[i+4>>2];J[f+144>>2]=J[i>>2];J[f+148>>2]=o;o=J[n+12>>2];J[f+168>>2]=J[n+8>>2];J[f+172>>2]=o;o=J[n+4>>2];J[f+160>>2]=J[n>>2];J[f+164>>2]=o;o=J[f+260>>2];J[f+184>>2]=J[f+256>>2];J[f+188>>2]=o;o=J[f+252>>2];J[f+176>>2]=J[f+248>>2];J[f+180>>2]=o;o=J[f+276>>2];J[f+200>>2]=J[f+272>>2];J[f+204>>2]=o;o=J[f+268>>2];J[f+192>>2]=J[f+264>>2];J[f+196>>2]=o;o=J[f+292>>2];J[f+216>>2]=J[f+288>>2];J[f+220>>2]=o;o=J[f+284>>2];J[f+208>>2]=J[f+280>>2];J[f+212>>2]=o;o=J[f+300>>2];J[f+224>>2]=J[f+296>>2];J[f+228>>2]=o;o=J[f+308>>2];J[f+232>>2]=J[f+304>>2];J[f+236>>2]=o;J[f+244>>2]=h;H[f+240|0]=x;Za(r,f+792|0,f+8|0,h,0);h=J[a+64>>2];ca=ca+1|0;if((h|0)>(ca|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);r=a;a=J[J[e+12>>2]+8>>2];Ua(r,(b?c:a)+4|0,(b?a:d)+4|0)}sa=f+928|0}function Pe(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=0,m=Q(0),n=Q(0),o=0,p=Q(0),q=Q(0),r=Q(0),s=Q(0),t=0,u=0,v=Q(0),w=Q(0),x=0,y=Q(0),z=Q(0),A=Q(0),B=Q(0),C=0,D=0,E=Q(0),F=Q(0),G=0,H=Q(0),I=Q(0),K=Q(0),L=Q(0),M=Q(0),O=Q(0),S=Q(0),T=Q(0),U=Q(0),V=Q(0),W=0,X=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=Q(0),ha=Q(0),ia=Q(0),ja=Q(0),ka=Q(0),la=Q(0),ma=0,na=0,oa=Q(0),pa=0,qa=0,ra=0,ta=Q(0),va=0,wa=Q(0);d=sa-160|0;sa=d;N[d+112>>2]=N[b>>2];N[d+64>>2]=N[b+64>>2];N[d+116>>2]=N[b+4>>2];N[d+68>>2]=N[b+68>>2];N[d+120>>2]=N[b+8>>2];N[d+72>>2]=N[b+72>>2];N[d+128>>2]=N[b+16>>2];N[d+80>>2]=N[b+80>>2];N[d+132>>2]=N[b+20>>2];N[d+84>>2]=N[b+84>>2];N[d+136>>2]=N[b+24>>2];N[d+88>>2]=N[b+88>>2];N[d+144>>2]=N[b+32>>2];N[d+96>>2]=N[b+96>>2];N[d+148>>2]=N[b+36>>2];N[d+100>>2]=N[b+100>>2];N[d+152>>2]=N[b+40>>2];N[d+104>>2]=N[b+104>>2];e=J[a+4>>2];j=N[e+44>>2];i=N[e+40>>2];n=N[e+36>>2];g=Q(ua[J[J[e>>2]+48>>2]](e));h=Q(ua[J[J[e>>2]+48>>2]](e));k=Q(ua[J[J[e>>2]+48>>2]](e));J[d+36>>2]=0;i=Q(i+h);N[d+28>>2]=i+i;i=Q(n+g);N[d+24>>2]=i+i;j=Q(j+k);N[d+32>>2]=j+j;a=J[a+8>>2];j=N[a+44>>2];i=N[a+40>>2];n=N[a+36>>2];g=Q(ua[J[J[a>>2]+48>>2]](a));h=Q(ua[J[J[a>>2]+48>>2]](a));k=Q(ua[J[J[a>>2]+48>>2]](a));J[d+20>>2]=0;i=Q(i+h);N[d+12>>2]=i+i;i=Q(n+g);N[d+8>>2]=i+i;j=Q(j+k);N[d+16>>2]=j+j;W=c;f=sa-368|0;sa=f;a=d+112|0;K=N[a+36>>2];U=N[a+4>>2];F=N[a+20>>2];s=N[a+40>>2];ea=N[a+8>>2];L=N[a+24>>2];G=b+48|0;n=N[G+8>>2];c=b+112|0;g=N[c+8>>2];q=N[G>>2];r=N[c>>2];H=N[G+4>>2];A=N[c+4>>2];j=N[a+32>>2];oa=N[a>>2];i=N[a+16>>2];h=Q(N[d+24>>2]*Q(.5));N[f+356>>2]=h;k=Q(N[d+28>>2]*Q(.5));N[f+360>>2]=k;m=Q(N[d+32>>2]*Q(.5));N[f+364>>2]=m;v=Q(N[d+8>>2]*Q(.5));N[f+344>>2]=v;y=Q(N[d+12>>2]*Q(.5));N[f+348>>2]=y;p=Q(N[d+16>>2]*Q(.5));N[f+352>>2]=p;n=Q(g-n);g=Q(r-q);q=Q(A-H);r=Q(Q(j*n)+Q(Q(oa*g)+Q(i*q)));b=d- -64|0;Z=N[b+40>>2];_=N[b+8>>2];M=N[b+24>>2];H=Q(Q(j*Z)+Q(Q(oa*_)+Q(i*M)));ga=Q(R(H));V=N[b+36>>2];I=N[b+4>>2];$=N[b+20>>2];A=Q(Q(j*V)+Q(Q(oa*I)+Q(i*$)));ha=Q(R(A));aa=N[b+32>>2];ba=N[b>>2];ca=N[b+16>>2];B=Q(Q(j*aa)+Q(Q(oa*ba)+Q(i*ca)));ta=Q(R(B));i=Q(Q(R(r))-Q(Q(p*ga)+Q(Q(y*ha)+Q(Q(v*ta)+h))));a:{if(i>Q(0)){break a}w=Q(Q(K*Z)+Q(Q(U*_)+Q(F*M)));ia=Q(R(w));O=Q(Q(K*V)+Q(Q(U*I)+Q(F*$)));S=Q(R(O));T=Q(Q(K*aa)+Q(Q(U*ba)+Q(F*ca)));ja=Q(R(T));j=Q(-34028234663852886e22);if(i>Q(-34028234663852886e22)){l=rQ(0)){break a}F=Q(Q(s*Z)+Q(Q(ea*_)+Q(L*M)));ka=Q(R(F));E=Q(Q(s*V)+Q(Q(ea*I)+Q(L*$)));la=Q(R(E));z=Q(Q(s*aa)+Q(Q(ea*ba)+Q(L*ca)));da=Q(R(z));if(jQ(0)){break a}if(jQ(0)){break a}if(jQ(0)){break a}if(jQ(0)){break a}if(jQ(1.1920928955078125e-7)){break a}L=Q(la+Q(9999999747378752e-21));Z=Q(S+Q(9999999747378752e-21));_=Q(ta+Q(9999999747378752e-21));S=Q(-K);q=Q(0);ja=Q(T*T);la=Q(Q(z*z)+Q(0));M=Q(Y(Q(ja+la)));b:{if(!(M>Q(1.1920928955078125e-7))){g=Q(0);n=Q(0);break b}g=Q(0);i=Q(i/M);n=Q(0);if(!(Q(i*Q(1.0499999523162842))>j)){break b}l=VQ(1.1920928955078125e-7)){break a}M=Q(ka+Q(9999999747378752e-21));V=Q(ia+Q(9999999747378752e-21));ia=Q(O*O);ka=Q(Q(E*E)+Q(0));I=Q(Y(Q(ia+ka)));c:{if(!(I>Q(1.1920928955078125e-7))){break c}i=Q(i/I);if(!(Q(i*Q(1.0499999523162842))>j)){break c}l=daQ(1.1920928955078125e-7)){break a}da=Q(w*w);ga=Q(Q(F*F)+Q(0));I=Q(Y(Q(da+ga)));d:{if(!(I>Q(1.1920928955078125e-7))){break d}i=Q(i/I);if(!(Q(i*Q(1.0499999523162842))>j)){break d}l=SQ(1.1920928955078125e-7)){break a}I=Q(-s);ha=Q(B*B);s=Q(Y(Q(ha+la)));e:{if(!(s>Q(1.1920928955078125e-7))){break e}i=Q(i/s);if(!(Q(i*Q(1.0499999523162842))>j)){break e}l=SQ(1.1920928955078125e-7)){break a}S=Q(A*A);z=Q(Y(Q(S+ka)));f:{if(!(z>Q(1.1920928955078125e-7))){break f}i=Q(i/z);if(!(Q(i*Q(1.0499999523162842))>j)){break f}l=sQ(1.1920928955078125e-7)){break a}s=Q(H*H);E=Q(Y(Q(s+ga)));g:{if(!(E>Q(1.1920928955078125e-7))){break g}i=Q(i/E);if(!(Q(i*Q(1.0499999523162842))>j)){break g}l=zQ(1.1920928955078125e-7)){break a}F=Q(-r);r=Q(Y(Q(Q(ja+ha)+Q(0))));h:{if(!(r>Q(1.1920928955078125e-7))){break h}i=Q(i/r);if(!(Q(i*Q(1.0499999523162842))>j)){break h}l=EQ(1.1920928955078125e-7)){break a}p=Q(Y(Q(Q(ia+S)+Q(0))));i:{if(!(p>Q(1.1920928955078125e-7))){break i}i=Q(i/p);if(!(Q(i*Q(1.0499999523162842))>j)){break i}l=rQ(1.1920928955078125e-7)){break a}j:{k:{l:{m:{p=Q(Y(Q(Q(da+s)+Q(0))));if(!(p>Q(1.1920928955078125e-7))){break m}i=Q(i/p);if(!(Q(i*Q(1.0499999523162842))>j)){break m}l=r>2]=p;r=Q(Q(N[a+24>>2]*g)+Q(Q(N[a+16>>2]*q)+Q(n*N[a+20>>2])));N[d+52>>2]=r;j=Q(Q(N[a+40>>2]*g)+Q(Q(N[a+32>>2]*q)+Q(n*N[a+36>>2])));break j}p=N[u>>2];N[d+48>>2]=p;r=N[u+16>>2];N[d+52>>2]=r;i=j;j=N[u+32>>2]}N[d+56>>2]=j;if(l){N[d+56>>2]=-j;N[d+52>>2]=-r;N[d+48>>2]=-p}N[d+44>>2]=-i;if(C>>>0>=7){J[f+120>>2]=J[G+8>>2];e=J[G+4>>2];J[f+112>>2]=J[G>>2];J[f+116>>2]=e;j=N[d+56>>2];q=N[a+40>>2];n=N[d+48>>2];p=N[a+8>>2];g=N[d+52>>2];r=N[a+24>>2];m=Q(Q(j*q)+Q(Q(n*p)+Q(g*r)))>Q(0)?m:Q(-m);s=Q(m*q);q=N[a+36>>2];H=N[a+4>>2];A=N[a+20>>2];k=Q(Q(j*q)+Q(Q(n*H)+Q(g*A)))>Q(0)?k:Q(-k);z=Q(k*q);q=N[a+32>>2];B=N[a>>2];w=N[a+16>>2];h=Q(Q(j*q)+Q(Q(n*B)+Q(g*w)))>Q(0)?h:Q(-h);N[f+120>>2]=s+Q(z+Q(Q(h*q)+N[f+120>>2]));N[f+112>>2]=Q(m*p)+Q(Q(k*H)+Q(Q(h*B)+N[f+112>>2]));N[f+116>>2]=Q(m*r)+Q(Q(k*A)+Q(Q(h*w)+N[f+116>>2]));J[f+216>>2]=J[c+8>>2];e=J[c+4>>2];J[f+208>>2]=J[c>>2];J[f+212>>2]=e;h=N[f+352>>2];k=N[b+40>>2];m=N[b+8>>2];q=N[b+24>>2];h=Q(Q(j*k)+Q(Q(n*m)+Q(g*q)))>Q(0)?Q(-h):h;B=Q(h*k);w=Q(-y);s=y;y=N[b+36>>2];p=N[b+4>>2];r=N[b+20>>2];k=Q(Q(j*y)+Q(Q(n*p)+Q(g*r)))>Q(0)?w:s;z=Q(-v);s=v;v=N[b+32>>2];w=n;n=N[b>>2];A=g;g=N[b+16>>2];j=Q(Q(j*v)+Q(Q(w*n)+Q(A*g)))>Q(0)?z:s;v=Q(B+Q(Q(k*y)+Q(Q(j*v)+N[f+216>>2])));N[f+216>>2]=v;m=Q(Q(h*m)+Q(Q(k*p)+Q(Q(j*n)+N[f+208>>2])));N[f+208>>2]=m;g=Q(Q(h*q)+Q(Q(k*r)+Q(Q(j*g)+N[f+212>>2])));N[f+212>>2]=g;c=C-7&255;a=((c>>>0)/3<<2)+a|0;N[f+288>>2]=N[a>>2];N[f+292>>2]=N[a+16>>2];N[f+296>>2]=N[a+32>>2];a=b+((c>>>0)%3<<2)|0;h=N[a>>2];N[f+80>>2]=h;k=N[a+16>>2];N[f+84>>2]=k;y=N[a+32>>2];N[f+88>>2]=y;a=f+208|0;b=f- -64|0;n=Q(0);q=N[f+296>>2];p=N[f+88>>2];r=N[f+288>>2];H=N[f+80>>2];A=N[f+292>>2];B=N[f+84>>2];j=Q(Q(q*p)+Q(Q(r*H)+Q(A*B)));w=Q(Q(1)-Q(j*j));if(w<=Q(9999999747378752e-20)){j=Q(0)}else{w=Q(Q(1)/w);n=Q(N[a+8>>2]-N[f+120>>2]);s=Q(q*n);q=Q(N[a>>2]-N[f+112>>2]);z=Q(r*q);r=Q(N[a+4>>2]-N[f+116>>2]);A=Q(s+Q(z+Q(A*r)));q=Q(Q(p*n)+Q(Q(H*q)+Q(B*r)));n=Q(w*Q(Q(j*A)-q));j=Q(w*Q(A-Q(j*q)))}N[f+328>>2]=j;N[b>>2]=n;j=N[f+64>>2];N[f+216>>2]=Q(y*j)+v;N[f+212>>2]=Q(k*j)+g;N[f+208>>2]=Q(h*j)+m;j=N[d+48>>2];n=N[d+52>>2];g=N[d+56>>2];J[f+44>>2]=0;N[f+40>>2]=-g;N[f+36>>2]=-n;N[f+32>>2]=-j;ua[J[J[W>>2]+16>>2]](W,f+32|0,a,i);J[d+40>>2]=C;break a}j=N[d+48>>2];n:{if(C>>>0<=3){n=N[d+56>>2];u=f+356|0;e=c;c=b;o=f+344|0;i=N[d+52>>2];break n}j=Q(-j);n=Q(-N[d+56>>2]);u=f+344|0;e=G;G=c;c=a;a=b;o=f+356|0;i=Q(-N[d+52>>2])}h=Q(Q(N[c+32>>2]*n)+Q(Q(N[c>>2]*j)+Q(i*N[c+16>>2])));N[f+328>>2]=h;k=Q(Q(N[c+36>>2]*n)+Q(Q(N[c+4>>2]*j)+Q(i*N[c+20>>2])));N[f+332>>2]=k;g=Q(Q(N[c+40>>2]*n)+Q(Q(N[c+8>>2]*j)+Q(i*N[c+24>>2])));N[f+336>>2]=g;g=Q(R(g));k=Q(R(k));h=Q(R(h));o:{if(k>h){l=g>2];g=N[b+(f+328|0)>>2]>2])+Q(N[e+8>>2]-N[G+8>>2]));y=Q(Q(g*N[b+16>>2])+Q(N[e+4>>2]-N[G+4>>2]));q=Q(Q(g*N[b>>2])+Q(N[e>>2]-N[G>>2]));pa=l?2:1;b=1;e=2;p:{q:{r:{qa=(C>>>0<4?-1:-4)+C|0;switch(qa|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=N[b+32>>2];h=N[b>>2];k=N[b+16>>2];b=e<<2;a=b+a|0;m=N[a+32>>2];p=N[a>>2];r=N[a+16>>2];H=Q(Q(v*m)+Q(Q(q*p)+Q(y*r)));a=X<<2;ma=a+c|0;B=N[ma+32>>2];w=N[ma>>2];O=N[ma+16>>2];A=Q(Q(m*B)+Q(Q(p*w)+Q(r*O)));T=N[a+o>>2];K=Q(A*T);F=Q(H+K);a=pa<<2;fa=a+c|0;E=N[fa+32>>2];z=N[fa>>2];s=N[fa+16>>2];p=Q(Q(m*E)+Q(Q(p*z)+Q(r*s)));U=N[a+o>>2];m=Q(p*U);N[f+316>>2]=F-m;r=Q(Q(v*g)+Q(Q(q*h)+Q(y*k)));B=Q(Q(g*B)+Q(Q(h*w)+Q(k*O)));O=Q(T*B);T=Q(r+O);w=Q(Q(g*E)+Q(Q(h*z)+Q(k*s)));g=Q(U*w);N[f+312>>2]=T-g;N[f+308>>2]=F+m;N[f+304>>2]=T+g;h=Q(H-K);N[f+300>>2]=h+m;k=Q(r-O);N[f+296>>2]=k+g;N[f+292>>2]=h-m;N[f+288>>2]=k-g;N[f+280>>2]=N[l+u>>2];N[f+284>>2]=N[b+u>>2];e=f+208|0;l=0;t=sa+-64|0;sa=t;g=N[f+280>>2];m=N[f+288>>2];h=Q(-m);if(g>h){N[e>>2]=m;N[e+4>>2]=N[f+292>>2];g=N[f+280>>2];m=N[f+288>>2];h=Q(-m);l=1;b=e+8|0}else{b=e}a=g>h;h=N[f+296>>2];k=Q(-h);if((a|0)!=(k>2];N[b+4>>2]=Q(Q(Q(N[f+300>>2]-k)/Q(h-m))*Q(Q(-g)-m))+k;N[b>>2]=-N[f+280>>2];l=l+1|0;g=N[f+280>>2];h=N[f+296>>2];k=Q(-h);b=b+8|0}if(g>k){N[b>>2]=h;N[b+4>>2]=N[f+300>>2];l=l+1|0;g=N[f+280>>2];h=N[f+296>>2];k=Q(-h);b=b+8|0}a=g>k;k=N[f+304>>2];m=Q(-k);if((a|0)!=(m>2];N[b+4>>2]=Q(Q(Q(N[f+308>>2]-m)/Q(k-h))*Q(Q(-g)-h))+m;N[b>>2]=-N[f+280>>2];l=l+1|0;g=N[f+280>>2];k=N[f+304>>2];m=Q(-k);b=b+8|0}if(g>m){N[b>>2]=k;N[b+4>>2]=N[f+308>>2];l=l+1|0;g=N[f+280>>2];k=N[f+304>>2];m=Q(-k);b=b+8|0}a=g>m;h=N[f+312>>2];m=Q(-h);if((a|0)!=(m>2];N[b+4>>2]=Q(Q(Q(N[f+316>>2]-m)/Q(h-k))*Q(Q(-g)-k))+m;N[b>>2]=-N[f+280>>2];l=l+1|0;g=N[f+280>>2];h=N[f+312>>2];m=Q(-h);b=b+8|0}if(g>m){N[b>>2]=h;N[b+4>>2]=N[f+316>>2];l=l+1|0;g=N[f+280>>2];h=N[f+312>>2];m=Q(-h);b=b+8|0}s:{t:{u:{k=N[f+288>>2];if((Q(-k)m|0)){m=N[f+316>>2];N[b+4>>2]=Q(Q(Q(N[f+292>>2]-m)/Q(k-h))*Q(Q(-g)-h))+m;N[b>>2]=-N[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=N[f+280>>2];h=N[e>>2];v:{if(!(g>h)){b=0;a=t;break v}N[t>>2]=h;N[t+4>>2]=N[e+4>>2];g=N[f+280>>2];h=N[e>>2];b=1;a=t|8}o=e+8|0;x=l>>>0>1;k=N[e+(x<<3)>>2];if((kh|0)){m=N[e+4>>2];N[a+4>>2]=Q(Q(Q(N[(x?o:e)+4>>2]-m)/Q(k-h))*Q(g-h))+m;N[a>>2]=N[f+280>>2];b=b+1|0;a=a+8|0}w:{if((l|0)<2){break w}g=N[o>>2];h=N[f+280>>2];if(g>2]=g;N[a+4>>2]=N[e+12>>2];b=b+1|0;h=N[f+280>>2];g=N[o>>2];a=a+8|0}o=e+16|0;x=l-3>>>0<4294967294;k=N[e+(x<<4)>>2];if((g>2];N[a+4>>2]=Q(Q(Q(N[(x?o:e)+4>>2]-m)/Q(k-g))*Q(h-g))+m;N[a>>2]=N[f+280>>2];b=b+1|0;if(b&8){break t}a=a+8|0}if((l|0)<3){break w}g=N[o>>2];h=N[f+280>>2];if(g>2]=g;N[a+4>>2]=N[e+20>>2];b=b+1|0;if(b&8){break t}h=N[f+280>>2];g=N[o>>2];a=a+8|0}o=e+24|0;x=(l&254)==2;k=N[e+(x?0:24)>>2];if((g>2];N[a+4>>2]=Q(Q(Q(N[(x?e:o)+4>>2]-m)/Q(k-g))*Q(h-g))+m;N[a>>2]=N[f+280>>2];b=b+1|0;if(b&8){break t}a=a+8|0}if((l|0)<4){break w}g=N[o>>2];h=N[f+280>>2];if(g>2]=g;N[a+4>>2]=N[e+28>>2];b=b+1|0;if(b&8){break t}h=N[f+280>>2];g=N[o>>2];a=a+8|0}o=e+32|0;x=l-5>>>0<4294967294;k=N[e+(x<<5)>>2];if((g>2];N[a+4>>2]=Q(Q(Q(N[(x?o:e)+4>>2]-m)/Q(k-g))*Q(h-g))+m;N[a>>2]=N[f+280>>2];b=b+1|0;if(b&8){break t}a=a+8|0}if((l|0)<5){break w}g=N[o>>2];h=N[f+280>>2];if(g>2]=g;N[a+4>>2]=N[e+36>>2];b=b+1|0;if(b&8){break t}h=N[f+280>>2];g=N[o>>2];a=a+8|0}o=e+40|0;x=(l&254)==4;k=N[e+(x?0:40)>>2];if((g>2];N[a+4>>2]=Q(Q(Q(N[(x?e:o)+4>>2]-m)/Q(k-g))*Q(h-g))+m;N[a>>2]=N[f+280>>2];b=b+1|0;if(b&8){break t}a=a+8|0}if((l|0)<6){break w}g=N[o>>2];h=N[f+280>>2];if(g>2]=g;N[a+4>>2]=N[e+44>>2];b=b+1|0;if(b&8){break t}h=N[f+280>>2];g=N[o>>2];a=a+8|0}o=e+48|0;x=l-7>>>0<4294967294;k=N[e+(x?48:0)>>2];if((g>2];N[a+4>>2]=Q(Q(Q(N[(x?o:e)+4>>2]-m)/Q(k-g))*Q(h-g))+m;N[a>>2]=N[f+280>>2];b=b+1|0;if(b&8){break t}a=a+8|0}if((l|0)<7){break w}g=N[o>>2];h=N[f+280>>2];if(g>2]=g;N[a+4>>2]=N[e+52>>2];b=b+1|0;if(b&8){break t}h=N[f+280>>2];g=N[o>>2];a=a+8|0}o=e+56|0;x=(l&254)==6;k=N[e+(x?0:56)>>2];if((g>2];N[a+4>>2]=Q(Q(Q(N[(x?e:o)+4>>2]-m)/Q(k-g))*Q(h-g))+m;N[a>>2]=N[f+280>>2];b=b+1|0;if(b&8){break t}a=a+8|0}if((l|0)<8){break w}g=N[o>>2];h=N[f+280>>2];if(g>2]=g;N[a+4>>2]=N[e+60>>2];b=b+1|0;if(b&8){break t}h=N[f+280>>2];g=N[o>>2];a=a+8|0}l=e+((l-9>>>0<4294967294)<<6)|0;k=N[l>>2];if((g>2];N[a+4>>2]=Q(Q(Q(N[l+4>>2]-m)/Q(k-g))*Q(h-g))+m;N[a>>2]=N[f+280>>2];b=b+1|0;if(b&8){break t}}if((b|0)<=0){b=0;break t}na=t|4;o=0;a=t;l=e;while(1){g=N[f+284>>2];k=N[a+4>>2];h=Q(-k);if(g>h){N[l>>2]=N[a>>2];N[l+4>>2]=N[a+4>>2];o=o+1|0;if(o&8){b=o;break s}g=N[f+284>>2];k=N[a+4>>2];h=Q(-k);l=l+8|0}x=a+8|0;ra=b>>>0>1;m=N[(ra?a+12|0:na)>>2];if((Q(-m)h|0)){h=N[a>>2];N[l>>2]=Q(Q(Q(N[(ra?x:t)>>2]-h)/Q(m-k))*Q(Q(-g)-k))+h;N[l+4>>2]=-N[f+284>>2];o=o+1|0;if(o&8){b=o;break s}l=l+8|0}ra=(b|0)>1;b=b-1|0;a=x;if(ra){continue}break}b=0;if((o|0)<=0){break t}l=t;a=e;while(1){g=N[f+284>>2];h=N[a+4>>2];if(g>h){N[l>>2]=N[a>>2];N[l+4>>2]=N[a+4>>2];b=b+1|0;if(b&8){break t}g=N[f+284>>2];h=N[a+4>>2];l=l+8|0}x=a+8|0;na=o>>>0>1?x:e;k=N[na+4>>2];if((kh|0)){m=N[a>>2];N[l>>2]=Q(Q(Q(N[na>>2]-m)/Q(k-h))*Q(g-h))+m;N[l+4>>2]=N[f+284>>2];b=b+1|0;if(b&8){break t}l=l+8|0}na=(o|0)>1;o=o-1|0;a=x;if(na){continue}break}}Ja(e,t,b<<3)}sa=t- -64|0;if((b|0)<=0){break a}e=b;g=Q(Q(1)/Q(Q(B*p)-Q(A*w)));k=Q(g*Q(-A));m=Q(g*Q(-w));p=Q(p*g);A=Q(B*g);B=N[(qa<<2)+u>>2];a=(pa<<2)+c|0;w=N[a+32>>2];b=(X<<2)+c|0;O=N[b+32>>2];T=N[a+16>>2];K=N[b+16>>2];F=N[fa>>2];E=N[ma>>2];a=0;b=0;while(1){c=(f+112|0)+P(a,12)|0;l=(f+208|0)+(b<<3)|0;z=N[l>>2];h=Q(z-r);s=N[l+4>>2];U=Q(s-H);g=Q(Q(k*h)+Q(A*U));h=Q(Q(p*h)+Q(m*U));U=Q(Q(g*F)+Q(Q(h*E)+q));N[c>>2]=U;ea=Q(Q(g*T)+Q(Q(h*K)+y));N[c+4>>2]=ea;g=Q(Q(g*w)+Q(Q(h*O)+v));N[c+8>>2]=g;g=Q(B-Q(Q(n*g)+Q(Q(j*U)+Q(i*ea))));N[(f+80|0)+(a<<2)>>2]=g;if(g>=Q(0)){c=(f+208|0)+(a<<3)|0;N[c+4>>2]=s;N[c>>2]=z;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;X=(b|0)<=1?1:b;x:{if(X>>>0>=a>>>0){if(C>>>0>=4){b=0;while(1){c=(f+112|0)+P(b,12)|0;i=N[d+48>>2];j=N[(f+80|0)+(b<<2)>>2];N[f+32>>2]=Q(N[c>>2]+N[G>>2])-Q(i*j);n=N[d+52>>2];N[f+36>>2]=Q(N[c+4>>2]+N[G+4>>2])-Q(j*n);g=N[d+56>>2];N[f+40>>2]=Q(N[c+8>>2]+N[G+8>>2])-Q(j*g);J[f+76>>2]=0;N[f+72>>2]=-g;N[f+68>>2]=-n;N[f+64>>2]=-i;ua[J[J[W>>2]+16>>2]](W,f- -64|0,f+32|0,Q(-j));b=b+1|0;if((b|0)!=(a|0)){continue}break}break x}b=0;while(1){c=(f+112|0)+P(b,12)|0;N[f+32>>2]=N[c>>2]+N[G>>2];N[f+36>>2]=N[c+4>>2]+N[G+4>>2];N[f+40>>2]=N[c+8>>2]+N[G+8>>2];j=N[d+48>>2];i=N[d+52>>2];n=N[d+56>>2];J[f+76>>2]=0;N[f+72>>2]=-n;N[f+68>>2]=-i;N[f+64>>2]=-j;ua[J[J[W>>2]+16>>2]](W,f- -64|0,f+32|0,Q(-N[(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=N[f+80>>2];z:{if(a-2>>>0<3){b=1;break z}ma=b&-4;b=1;while(1){l=f+80|0;fa=b+3|0;j=N[l+(fa<<2)>>2];i=N[l+(b<<2)>>2];u=i>n;pa=b+1|0;g=N[l+(pa<<2)>>2];i=u?i:n;o=g>i;qa=b+2|0;n=N[l+(qa<<2)>>2];i=o?g:i;l=n>i;i=l?n:i;x=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=Q(0);g=Q(0);h=Q(0);l=sa+-64|0;sa=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=N[a>>2];k=N[a+12>>2];m=N[a+4>>2];v=N[a+8>>2];j=Q(Q(n*k)-Q(m*v));i=Q(i+j);g=Q(Q(j*Q(k+m))+g);h=Q(Q(j*Q(n+v))+h);a=(e|0)!=(o|0);e=e+1|0;if(a){continue}break}}k=Q(0xde0b6b000000000);y=i;a=t+(b<<3)|0;i=N[a-8>>2];n=N[t+4>>2];m=N[a-4>>2];v=N[t>>2];j=Q(Q(i*n)-Q(m*v));y=Q(y+j);if(Q(R(y))>Q(1.1920928955078125e-7)){k=Q(Q(1)/Q(y*Q(3)))}e=0;if((b|0)<=0){break A}g=Q(Q(Q(j*Q(n+m))+g)*k);j=Q(Q(Q(j*Q(i+v))+h)*k);break B}g=N[t+4>>2];j=N[t>>2];break B}g=Q(Q(N[t+4>>2]+N[t+12>>2])*Q(.5));j=Q(Q(N[t>>2]+N[t+8>>2])*Q(.5))}while(1){a=t+(e<<3)|0;va=(l+32|0)+(e<<2)|0,wa=Ia(Q(N[a+4>>2]-g),Q(N[a>>2]-j)),N[va>>2]=wa;e=e+1|0;if((b|0)!=(e|0)){continue}break}D=0;o=0;if(b-1>>>0>=7){t=b&-8;a=0;while(1){e=o<<2;J[e+l>>2]=1;J[l+(e|4)>>2]=1;J[l+(e|8)>>2]=1;J[l+(e|12)>>2]=1;J[l+(e|16)>>2]=1;J[l+(e|20)>>2]=1;J[l+(e|24)>>2]=1;J[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;J[l+(o<<2)>>2]=1;o=o+1|0;D=D+1|0;if((a|0)!=(D|0)){continue}break}}a=c<<2;J[a+l>>2]=0;J[u>>2]=c;F:{if((X|0)<2){break F}D=u+4|0;if(e){n=Q(Q(6.2831854820251465)/Q(X|0));g=N[a+(l+32|0)>>2];u=1;while(1){J[D>>2]=c;j=Q(Q(Q(u|0)*n)+g);h=j>Q(3.1415927410125732)?Q(j+Q(-6.2831854820251465)):j;i=Q(1e9);a=c;e=0;while(1){t=e<<2;G:{if(!J[t+l>>2]){break G}j=Q(R(Q(N[t+(l+32|0)>>2]-h)));j=j>Q(3.1415927410125732)?Q(Q(6.2831854820251465)-j):j;if(!(j>2]=e;a=e;i=j}e=e+1|0;if((b|0)!=(e|0)){continue}break}J[l+(a<<2)>>2]=0;D=D+4|0;u=u+1|0;if((X|0)!=(u|0)){continue}break}break F}b=X-1|0;a=b&7;if(X-2>>>0>=7){b=b&-8;e=0;while(1){J[D+28>>2]=c;J[D+24>>2]=c;J[D+20>>2]=c;J[D+16>>2]=c;J[D+12>>2]=c;J[D+8>>2]=c;J[D+4>>2]=c;J[D>>2]=c;D=D+32|0;e=e+8|0;if((b|0)!=(e|0)){continue}break}}if(!a){break F}e=0;while(1){J[D>>2]=c;D=D+4|0;e=e+1|0;if((a|0)!=(e|0)){continue}break}}sa=l- -64|0;c=C>>>0>3;a=0;while(1){e=J[(f+32|0)+(a<<2)>>2];b=(f+112|0)+P(e,12)|0;h=Q(N[b>>2]+N[G>>2]);N[f+64>>2]=h;k=Q(N[b+4>>2]+N[G+4>>2]);N[f+68>>2]=k;m=Q(N[b+8>>2]+N[G+8>>2]);N[f+72>>2]=m;b=(f+80|0)+(e<<2)|0;H:{if(!c){j=N[d+48>>2];i=N[d+52>>2];n=N[d+56>>2];J[f+28>>2]=0;N[f+24>>2]=-n;N[f+20>>2]=-i;N[f+16>>2]=-j;ua[J[J[W>>2]+16>>2]](W,f+16|0,f- -64|0,Q(-N[b>>2]));break H}i=N[d+48>>2];n=N[d+52>>2];g=N[d+56>>2];J[f+28>>2]=0;N[f+24>>2]=-g;N[f+20>>2]=-n;N[f+16>>2]=-i;j=N[b>>2];J[f+12>>2]=0;N[f+8>>2]=m-Q(g*j);N[f+4>>2]=k-Q(n*j);N[f>>2]=h-Q(i*j);ua[J[J[W>>2]+16>>2]](W,f+16|0,f,Q(-j))}a=a+1|0;if((X|0)!=(a|0)){continue}break}}J[d+40>>2]=C}sa=f+368|0;sa=d+160|0}function dh(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=sa-352|0;sa=c;d=ua[J[J[a>>2]+20>>2]](a)|0;ua[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=ua[J[J[a>>2]+20>>2]](a)|0;d=ua[J[J[d>>2]+56>>2]](d)|0;j=ua[J[J[a>>2]+20>>2]](a)|0;j=ua[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=ua[J[J[a>>2]+20>>2]](a)|0;ua[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=ua[J[J[a>>2]+20>>2]](a)|0;ua[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=ua[J[J[a>>2]+20>>2]](a)|0;j=c+144|0;ua[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=ua[J[J[a>>2]+20>>2]](a)|0;ua[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=Eb(d);g=Fb(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=ua[J[J[a>>2]+20>>2]](a)|0;a=i>Q(0);ua[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=ua[J[J[a>>2]+20>>2]](a)|0;j=c+144|0;ua[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=ua[J[J[a>>2]+20>>2]](a)|0;ua[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;zd(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;zd(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=ua[J[J[a>>2]+20>>2]](a)|0;ua[J[J[k>>2]+16>>2]](k,c+128|0,e,c+208|0);if(!(j&3)){e=ua[J[J[a>>2]+20>>2]](a)|0;ua[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)){vd(c- -64|0,j+4|0,b+364|0);break e}vd(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=ua[J[J[a>>2]+20>>2]](a)|0;ua[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=ua[J[J[a>>2]+20>>2]](a)|0;h=c+144|0;ua[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=ua[J[J[a>>2]+20>>2]](a)|0;ua[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=ua[J[J[a>>2]+20>>2]](a)|0;k=b+1176|0;ua[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=N[b+1196>>2];f=N[c+128>>2];i=N[b+1200>>2];g=Na(i);o=N[c+132>>2];p=Ma(i);N[c+52>>2]=Q(o*p)-Q(g*f);i=Na(l);n=N[c+136>>2];l=Ma(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=ua[J[J[a>>2]+20>>2]](a)|0;ua[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;ua[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=ua[J[J[a>>2]+20>>2]](a)|0;ua[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=ua[J[J[a>>2]+20>>2]](a)|0;h=c+144|0;ua[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=ua[J[J[a>>2]+20>>2]](a)|0;ua[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=ua[J[J[a>>2]+20>>2]](a)|0;k=b+1348|0;ua[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=Na(l);l=Ma(l);n=N[b+1368>>2];N[c+52>>2]=Q(l*f)-Q(i*g);o=Na(n);n=Ma(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=ua[J[J[a>>2]+20>>2]](a)|0;ua[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;ua[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=ua[J[J[a>>2]+20>>2]](a)|0;ua[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=ua[J[J[a>>2]+20>>2]](a)|0;j=c+144|0;ua[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=ua[J[J[a>>2]+20>>2]](a)|0;ua[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=ua[J[J[a>>2]+20>>2]](a)|0;j=c+208|0;ua[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=ua[J[J[a>>2]+20>>2]](a)|0;ua[J[J[a>>2]+68>>2]](a,b+936|0,c+48|0,c+32|0,w,w,g,f,j,1,Q(10))}sa=c+352|0}function Zh(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=0,k=Q(0),l=Q(0),m=0,n=Q(0),o=0,p=0,q=Q(0),r=Q(0),s=0,t=Q(0),u=0,v=Q(0),w=0,x=Q(0),y=0,z=Q(0),A=Q(0),B=Q(0),C=0,D=Q(0),E=0,F=0,G=0,I=0,L=Q(0),M=Q(0),O=Q(0),S=Q(0),T=Q(0),U=0,V=Q(0),W=0,X=0,Z=Q(0),_=0,$=Q(0),aa=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),oa=Q(0),pa=Q(0),qa=Q(0),ra=Q(0),ta=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),Fa=Q(0),Ga=Q(0),Ha=Q(0),Ia=Q(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),Ta=Q(0),Ua=Q(0);if((c|0)>0){while(1){aa=0;s=sa-80|0;sa=s;_=J[(da<<2)+b>>2];o=J[_+840>>2];p=J[_+836>>2];F=db(a,p,N[d+12>>2]);G=db(a,o,N[d+12>>2]);f=J[a+16>>2];C=f+P(F,244)|0;e=N[C+136>>2];k=Q(e*e);e=N[C+128>>2];h=Q(e*e);e=N[C+132>>2];a:{if(Q(k+Q(h+Q(e*e)))>2];k=Q(e*e);e=N[C+128>>2];h=Q(e*e);e=N[C+132>>2];if(Q(k+Q(h+Q(e*e)))>2];if((j|0)<=0){break a}W=f+P(G,244)|0;X=f+P(F,244)|0;while(1){u=P(aa,208)+_|0;if(N[u+84>>2]<=N[_+852>>2]){y=u+4|0;C=J[a+28>>2];j=C;b:{if((j|0)!=J[a+32>>2]){break b}w=j?C<<1:1;if((w|0)<=(j|0)){break b}c:{if(!w){m=0;f=C;break c}J[8456]=J[8456]+1;m=ua[J[8258]](P(w,152),16)|0;f=J[a+28>>2]}d:{if((f|0)<=0){break d}j=0;if((f|0)!=1){U=f&-2;E=0;while(1){I=P(j,152);Ja(I+m|0,I+J[a+36>>2]|0,152);I=P(j|1,152);Ja(I+m|0,I+J[a+36>>2]|0,152);j=j+2|0;E=E+2|0;if((U|0)!=(E|0)){continue}break}}if(!(f&1)){break d}f=P(j,152);Ja(f+m|0,f+J[a+36>>2]|0,152)}f=J[a+36>>2];if(!(f?!f|!K[a+40|0]:1)){J[8457]=J[8457]+1;ua[J[8259]](f)}J[a+36>>2]=m;H[a+40|0]=1;J[a+32>>2]=w;j=J[a+28>>2]}J[a+28>>2]=j+1;f=J[a+36>>2]+P(C,152)|0;J[f+148>>2]=G;J[f+144>>2]=F;J[f+132>>2]=y;i=N[u+52>>2];g=N[u+56>>2];e=N[u+60>>2];h=N[p+52>>2];l=N[p+56>>2];n=N[p+60>>2];J[s+76>>2]=0;e=Q(e-n);N[s+72>>2]=e;g=Q(g-l);N[s+68>>2]=g;i=Q(i-h);N[s+64>>2]=i;n=N[u+36>>2];l=N[u+40>>2];h=N[u+44>>2];k=N[o+52>>2];z=N[o+56>>2];r=N[o+60>>2];J[s+60>>2]=0;h=Q(h-r);N[s+56>>2]=h;l=Q(l-z);N[s+52>>2]=l;n=Q(n-k);N[s+48>>2]=n;z=Q(0);L=Q(0);$=Q(0);ha=Q(0);if(J[X+240>>2]){k=Q(N[X+192>>2]+N[X+224>>2]);r=Q(N[X+196>>2]+N[X+228>>2]);L=Q(Q(N[X+184>>2]+N[X+216>>2])+Q(Q(k*g)-Q(i*r)));t=Q(N[X+200>>2]+N[X+232>>2]);$=Q(Q(N[X+180>>2]+N[X+212>>2])+Q(Q(t*i)-Q(e*k)));ha=Q(Q(N[X+176>>2]+N[X+208>>2])+Q(Q(r*e)-Q(g*t)))}ia=Q(0);ja=Q(0);if(J[W+240>>2]){e=Q(N[W+192>>2]+N[W+224>>2]);g=Q(N[W+196>>2]+N[W+228>>2]);z=Q(Q(N[W+184>>2]+N[W+216>>2])+Q(Q(e*l)-Q(n*g)));i=Q(N[W+200>>2]+N[W+232>>2]);ia=Q(Q(N[W+180>>2]+N[W+212>>2])+Q(Q(i*n)-Q(h*e)));ja=Q(Q(N[W+176>>2]+N[W+208>>2])+Q(Q(g*h)-Q(l*i)))}ka=N[u+76>>2];E=u+68|0;la=N[E>>2];ma=N[u+72>>2];w=s- -64|0;k=Q(0);e=Q(0);V=Q(0);U=J[a+16>>2];ea=U+P(G,244)|0;j=J[ea+240>>2];fa=U+P(F,244)|0;m=J[fa+240>>2];N[s+44>>2]=N[d+28>>2];M=N[d+12>>2];B=N[d+36>>2];g=N[d+40>>2];I=J[y+128>>2];e:{if(I&6){g=I&2?N[y+152>>2]:g;if(!(I&4)){break e}B=N[y+156>>2];break e}if(!(I&8)){break e}i=Q(M*N[y+152>>2]);g=Q(i+N[y+156>>2]);g=g>2];h=N[y+68>>2];l=N[y+64>>2];n=N[w+4>>2];r=Q(Q(i*h)-Q(l*n));q=N[w+8>>2];t=Q(q*l);l=N[y+72>>2];t=Q(t-Q(l*i));q=Q(Q(n*l)-Q(h*q));i=Q(0);h=Q(0);if(m){h=Q(Q(Q(N[m+364>>2]*r)+Q(Q(N[m+356>>2]*q)+Q(t*N[m+360>>2])))*N[m+612>>2]);i=Q(Q(Q(N[m+348>>2]*r)+Q(Q(N[m+340>>2]*q)+Q(t*N[m+344>>2])))*N[m+608>>2]);e=Q(Q(Q(N[m+332>>2]*r)+Q(Q(N[m+324>>2]*q)+Q(t*N[m+328>>2])))*N[m+604>>2])}N[f+64>>2]=e;J[f+76>>2]=0;N[f+72>>2]=h;N[f+68>>2]=i;l=N[s+48>>2];n=N[y+68>>2];x=N[y+64>>2];O=N[s+52>>2];v=Q(Q(l*n)-Q(x*O));S=N[s+56>>2];T=N[y+72>>2];x=Q(Q(S*x)-Q(T*l));O=Q(Q(O*T)-Q(n*S));l=Q(0);n=Q(0);if(j){l=Q(-O);n=Q(Q(Q(Q(N[j+356>>2]*l)-Q(N[j+360>>2]*x))-Q(N[j+364>>2]*v))*N[j+612>>2]);k=Q(Q(Q(Q(N[j+324>>2]*l)-Q(N[j+328>>2]*x))-Q(N[j+332>>2]*v))*N[j+604>>2]);l=Q(Q(Q(Q(N[j+340>>2]*l)-Q(N[j+344>>2]*x))-Q(N[j+348>>2]*v))*N[j+608>>2])}N[f+80>>2]=k;J[f+92>>2]=0;N[f+88>>2]=n;N[f+84>>2]=l;S=N[s+44>>2];M=Q(Q(1)/M);D=Q(M*g);if(m){g=N[w+4>>2];Z=N[w>>2];T=Q(N[y+72>>2]*Q(Q(e*g)-Q(Z*i)));A=i;i=N[w+8>>2];h=Q(N[m+404>>2]+Q(T+Q(Q(N[y+64>>2]*Q(Q(A*i)-Q(g*h)))+Q(Q(Q(h*Z)-Q(i*e))*N[y+68>>2]))))}else{h=Q(0)}if(j){g=N[s+48>>2];i=N[s+52>>2];e=Q(N[y+72>>2]*Q(Q(l*g)-Q(k*i)));A=Q(n*i);i=N[s+56>>2];k=Q(N[j+404>>2]+Q(e+Q(Q(N[y+64>>2]*Q(A-Q(l*i)))+Q(Q(Q(k*i)-Q(n*g))*N[y+68>>2]))))}else{k=Q(0)}N[f+108>>2]=S/Q(D+Q(h+k));f:{if(m){I=y- -64|0;ga=J[I+4>>2];J[f+16>>2]=J[I>>2];J[f+20>>2]=ga;ga=J[I+12>>2];J[f+24>>2]=J[I+8>>2];J[f+28>>2]=ga;J[f+12>>2]=0;N[f+8>>2]=r;N[f+4>>2]=t;N[f>>2]=q;break f}J[f>>2]=0;J[f+4>>2]=0;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}g:{if(j){e=N[y+64>>2];g=N[y+68>>2];i=N[y+72>>2];J[f+60>>2]=0;J[f+44>>2]=0;N[f+40>>2]=-v;N[f+36>>2]=-x;N[f+32>>2]=-O;N[f+56>>2]=-i;N[f+52>>2]=-g;N[f+48>>2]=-e;break g}J[f+32>>2]=0;J[f+36>>2]=0;J[f+56>>2]=0;J[f+60>>2]=0;J[f+48>>2]=0;J[f+52>>2]=0;J[f+40>>2]=0;J[f+44>>2]=0}i=Q(0);h=Q(0);l=Q(0);n=Q(0);if(m){e=N[m+388>>2];g=N[w+4>>2];h=N[w>>2];k=N[m+392>>2];n=Q(Q(Q(e*g)-Q(h*k))+N[m+380>>2]);r=N[m+396>>2];q=Q(r*h);h=N[w+8>>2];l=Q(Q(q-Q(h*e))+N[m+376>>2]);h=Q(Q(Q(k*h)-Q(g*r))+N[m+372>>2])}q=Q(0);e=Q(0);if(j){g=N[j+388>>2];i=N[s+52>>2];k=N[s+48>>2];r=N[j+392>>2];e=Q(Q(Q(g*i)-Q(k*r))+N[j+380>>2]);t=N[j+396>>2];q=Q(t*k);k=N[s+56>>2];q=Q(Q(q-Q(k*g))+N[j+376>>2]);i=Q(Q(Q(r*k)-Q(i*t))+N[j+372>>2])}t=N[d+64>>2];na=N[y+80>>2];oa=N[y+72>>2];pa=N[y+68>>2];qa=N[y+64>>2];N[f+104>>2]=N[y+84>>2];ra=N[d+96>>2];ta=N[y+96>>2];h:{if(K[d+72|0]&4){g=Q(N[y+132>>2]*N[d+68>>2]);N[f+100>>2]=g;if(!(!m|!J[fa+240>>2])){k=N[m+416>>2];r=N[f+24>>2];v=N[m+412>>2];x=N[f+20>>2];w=U+P(F,244)|0;N[w+64>>2]=Q(N[w+112>>2]*Q(g*Q(Q(N[f+16>>2]*N[w+128>>2])*N[m+408>>2])))+N[w+64>>2];N[w+68>>2]=Q(Q(g*Q(v*Q(x*N[w+132>>2])))*N[w+116>>2])+N[w+68>>2];N[w+72>>2]=Q(Q(g*Q(k*Q(r*N[w+136>>2])))*N[w+120>>2])+N[w+72>>2];k=N[f+72>>2];r=N[f+68>>2];N[w+80>>2]=Q(Q(g*N[w+96>>2])*N[f+64>>2])+N[w+80>>2];v=N[w+104>>2];N[w+84>>2]=Q(r*Q(g*N[w+100>>2]))+N[w+84>>2];N[w+88>>2]=Q(k*Q(g*v))+N[w+88>>2]}if(!j|!J[ea+240>>2]){break h}m=U+P(G,244)|0;k=N[m+120>>2];r=N[j+416>>2];v=N[f+56>>2];x=N[m+136>>2];O=N[m+116>>2];S=N[j+412>>2];T=N[f+52>>2];Z=N[m+132>>2];A=N[f+88>>2];ba=N[f+84>>2];ca=N[f+80>>2];g=N[f+100>>2];N[m+64>>2]=N[m+64>>2]+Q(N[m+112>>2]*Q(Q(Q(N[m+128>>2]*N[f+48>>2])*N[j+408>>2])*g));N[m+80>>2]=N[m+80>>2]+Q(ca*Q(g*N[m+96>>2]));N[m+84>>2]=N[m+84>>2]+Q(ba*Q(g*N[m+100>>2]));N[m+88>>2]=N[m+88>>2]+Q(A*Q(g*N[m+104>>2]));N[m+68>>2]=N[m+68>>2]+Q(O*Q(g*Q(S*Q(Z*T))));N[m+72>>2]=N[m+72>>2]+Q(k*Q(g*Q(r*Q(x*v))));break h}J[f+100>>2]=0}J[f+96>>2]=0;v=Q(0);x=Q(0);O=Q(0);g=Q(0);k=Q(0);S=Q(0);T=Q(0);if(J[fa+240>>2]){j=U+P(F,244)|0;T=N[j+224>>2];k=N[j+232>>2];S=N[j+228>>2];x=N[j+216>>2];O=N[j+212>>2];g=N[j+208>>2]}Z=Q(0);A=Q(0);ba=Q(0);ca=Q(0);if(J[ea+240>>2]){j=U+P(G,244)|0;V=N[j+224>>2];ba=N[j+232>>2];ca=N[j+228>>2];A=N[j+216>>2];Z=N[j+212>>2];v=N[j+208>>2]}j=U+P(F,244)|0;va=N[j+200>>2];wa=N[j+196>>2];xa=N[j+192>>2];ya=N[j+176>>2];za=N[f+20>>2];Aa=N[j+180>>2];Ba=N[f+24>>2];Ca=N[j+184>>2];j=U+P(G,244)|0;Da=N[j+176>>2];Ea=N[f+52>>2];Fa=N[j+180>>2];Ga=N[f+56>>2];Ha=N[j+184>>2];Ia=N[j+192>>2];Ka=N[f+36>>2];La=N[j+196>>2];Ma=N[f+40>>2];Na=N[j+200>>2];Oa=N[f+8>>2];Pa=N[f+4>>2];Qa=N[f>>2];Ra=N[f+16>>2];Sa=N[f+48>>2];Ta=N[f+32>>2];m=J[d+52>>2];Ua=N[d+56>>2];r=N[f+108>>2];J[f+120>>2]=0;J[f+124>>2]=1343554297;N[f+116>>2]=D*r;t=Q(na+t);j=t>Q(0);B=Q(r*(j?Q(0):Q(M*Q(B*Q(-t)))));m=!m|t>Ua;N[f+128>>2]=m?Q(0):B;e=Q(Q(oa*Q(n-e))+Q(Q(qa*Q(h-i))+Q(Q(l-q)*pa)));e=Q(R(e))>2]=Q(r*(j?Q(e-Q(t*M)):e))+(m?B:Q(-0));J[f+140>>2]=J[a+68>>2];i:{if(!(N[u+92>>2]>Q(0))){break i}nc(a,E,F,G,C,N[u+96>>2]);i=N[E+8>>2];j:{if(Q(R(i))>Q(.7071067690849304)){n=N[E+4>>2];e=Q(Q(n*n)+Q(i*i));h=Q(Q(1)/Q(Y(e)));l=Q(e*h);e=Q(h*Q(-i));k=N[E>>2];g=Q(e*k);i=Q(n*h);k=Q(i*Q(-k));h=Q(0);break j}l=N[E>>2];h=N[E+4>>2];g=Q(Q(l*l)+Q(h*h));e=Q(Q(1)/Q(Y(g)));g=Q(g*e);h=Q(e*Q(-h));k=Q(i*h);e=Q(l*e);l=Q(e*Q(-i));i=Q(0)}n=Q(Q(1)/Q(Y(Q(Q(i*i)+Q(Q(h*h)+Q(e*e))))));i=Q(i*n);N[s+36>>2]=i;e=Q(e*n);N[s+32>>2]=e;h=Q(h*n);N[s+28>>2]=h;r=Q(Q(1)/Q(Y(Q(Q(g*g)+Q(Q(l*l)+Q(k*k))))));n=Q(g*r);N[s+20>>2]=n;g=Q(k*r);N[s+16>>2]=g;l=Q(l*r);N[s+12>>2]=l;j=J[p+180>>2]&2;if(j){O=N[p+172>>2];k=N[p+44>>2];r=N[p+12>>2];t=N[p+28>>2];S=N[p+164>>2];q=N[p+36>>2];v=N[p+4>>2];x=N[p+20>>2];T=N[p+168>>2];B=N[p+40>>2];V=N[p+8>>2];M=N[p+24>>2];J[s+40>>2]=0;D=k;k=Q(O*Q(Q(k*i)+Q(Q(r*h)+Q(e*t))));A=q;q=Q(S*Q(Q(q*i)+Q(Q(v*h)+Q(e*x))));h=Q(T*Q(Q(B*i)+Q(Q(V*h)+Q(e*M))));i=Q(Q(D*k)+Q(Q(A*q)+Q(B*h)));N[s+36>>2]=i;e=Q(Q(t*k)+Q(Q(x*q)+Q(M*h)));N[s+32>>2]=e;h=Q(Q(r*k)+Q(Q(v*q)+Q(V*h)));N[s+28>>2]=h}m=J[o+180>>2]&2;if(m){O=N[o+172>>2];k=N[o+44>>2];r=N[o+12>>2];t=N[o+28>>2];S=N[o+164>>2];q=N[o+36>>2];v=N[o+4>>2];x=N[o+20>>2];T=N[o+168>>2];B=N[o+40>>2];V=N[o+8>>2];M=N[o+24>>2];J[s+40>>2]=0;D=k;k=Q(O*Q(Q(k*i)+Q(Q(r*h)+Q(e*t))));A=q;q=Q(S*Q(Q(q*i)+Q(Q(v*h)+Q(x*e))));h=Q(T*Q(Q(B*i)+Q(Q(V*h)+Q(e*M))));i=Q(Q(D*k)+Q(Q(A*q)+Q(B*h)));N[s+36>>2]=i;e=Q(Q(t*k)+Q(Q(x*q)+Q(M*h)));N[s+32>>2]=e;h=Q(Q(r*k)+Q(Q(v*q)+Q(V*h)));N[s+28>>2]=h}if(j){O=N[p+172>>2];k=N[p+44>>2];r=N[p+12>>2];t=N[p+28>>2];S=N[p+164>>2];q=N[p+36>>2];v=N[p+4>>2];x=N[p+20>>2];T=N[p+168>>2];B=N[p+40>>2];V=N[p+8>>2];M=N[p+24>>2];J[s+24>>2]=0;D=k;k=Q(O*Q(Q(k*n)+Q(Q(r*l)+Q(g*t))));A=q;q=Q(S*Q(Q(q*n)+Q(Q(v*l)+Q(g*x))));l=Q(T*Q(Q(B*n)+Q(Q(V*l)+Q(g*M))));n=Q(Q(D*k)+Q(Q(A*q)+Q(B*l)));N[s+20>>2]=n;g=Q(Q(t*k)+Q(Q(x*q)+Q(M*l)));N[s+16>>2]=g;l=Q(Q(r*k)+Q(Q(v*q)+Q(V*l)));N[s+12>>2]=l}if(m){O=N[o+172>>2];k=N[o+44>>2];r=N[o+12>>2];t=N[o+28>>2];S=N[o+164>>2];q=N[o+36>>2];v=N[o+4>>2];x=N[o+20>>2];T=N[o+168>>2];B=N[o+40>>2];V=N[o+8>>2];M=N[o+24>>2];J[s+24>>2]=0;D=k;k=Q(O*Q(Q(k*n)+Q(Q(r*l)+Q(g*t))));A=q;q=Q(S*Q(Q(q*n)+Q(Q(v*l)+Q(x*g))));l=Q(T*Q(Q(B*n)+Q(Q(V*l)+Q(g*M))));n=Q(Q(D*k)+Q(Q(A*q)+Q(B*l)));N[s+20>>2]=n;g=Q(Q(t*k)+Q(Q(x*q)+Q(M*l)));N[s+16>>2]=g;l=Q(Q(r*k)+Q(Q(v*q)+Q(V*l)));N[s+12>>2]=l}if(+Q(Y(Q(Q(i*i)+Q(Q(h*h)+Q(e*e)))))>.001){nc(a,s+28|0,F,G,C,N[u+92>>2])}if(!(+Q(Y(Q(Q(n*n)+Q(Q(l*l)+Q(g*g)))))>.001)){break i}nc(a,s+12|0,F,G,C,N[u+92>>2])}k:{if(!(H[u+132|0]&1?K[d+72|0]&32:0)){k=N[E>>2];e=N[E+4>>2];i=N[E+8>>2];J[u+184>>2]=0;h=Q(L-z);n=Q(ha-ja);l=Q($-ia);g=Q(Q(ka*h)+Q(Q(la*n)+Q(l*ma)));h=Q(h-Q(i*g));N[u+180>>2]=h;l=Q(l-Q(g*e));N[u+176>>2]=l;j=u+172|0;n=Q(n-Q(g*k));N[j>>2]=n;l:{if(K[d+72|0]&64){break l}g=Q(Q(h*h)+Q(Q(n*n)+Q(l*l)));if(!(g>Q(1.1920928955078125e-7))){break l}i=Q(Q(1)/Q(Y(g)));e=Q(h*i);N[j+8>>2]=e;g=Q(l*i);N[j+4>>2]=g;i=Q(n*i);N[j>>2]=i;if(H[p+180|0]&1){x=N[p+172>>2];h=N[p+44>>2];l=N[p+12>>2];n=N[p+28>>2];B=N[p+164>>2];k=N[p+36>>2];z=N[p+4>>2];r=N[p+20>>2];L=N[p+168>>2];t=N[p+40>>2];q=N[p+8>>2];v=N[p+24>>2];J[j+12>>2]=0;D=h;h=Q(x*Q(Q(h*e)+Q(Q(l*i)+Q(g*n))));A=k;k=Q(B*Q(Q(k*e)+Q(Q(z*i)+Q(g*r))));i=Q(L*Q(Q(t*e)+Q(Q(q*i)+Q(g*v))));e=Q(Q(D*h)+Q(Q(A*k)+Q(t*i)));N[j+8>>2]=e;g=Q(Q(n*h)+Q(Q(r*k)+Q(v*i)));N[j+4>>2]=g;i=Q(Q(l*h)+Q(Q(z*k)+Q(q*i)));N[j>>2]=i}if(H[o+180|0]&1){x=N[o+172>>2];h=N[o+44>>2];l=N[o+12>>2];n=N[o+28>>2];B=N[o+164>>2];k=N[o+36>>2];z=N[o+4>>2];r=N[o+20>>2];L=N[o+168>>2];t=N[o+40>>2];q=N[o+8>>2];v=N[o+24>>2];J[j+12>>2]=0;D=h;h=Q(x*Q(Q(h*e)+Q(Q(l*i)+Q(g*n))));A=k;k=Q(B*Q(Q(k*e)+Q(Q(z*i)+Q(r*g))));e=Q(L*Q(Q(t*e)+Q(Q(q*i)+Q(g*v))));N[j+8>>2]=Q(D*h)+Q(Q(A*k)+Q(t*e));N[j+4>>2]=Q(n*h)+Q(Q(r*k)+Q(v*e));N[j>>2]=Q(l*h)+Q(Q(z*k)+Q(q*e))}x=N[s+44>>2];ib(a,j,F,G,C,y,s- -64|0,s+48|0,x,d,Q(0),Q(0));if(!(K[d+72|0]&16)){break k}e=N[j+4>>2];g=N[E+4>>2];i=N[E>>2];h=N[j+8>>2];l=N[j>>2];n=N[E+8>>2];J[u+200>>2]=0;k=Q(Q(l*g)-Q(i*e));z=Q(Q(e*n)-Q(g*h));g=Q(Q(h*i)-Q(n*l));i=Q(Q(1)/Q(Y(Q(Q(k*k)+Q(Q(z*z)+Q(g*g))))));e=Q(k*i);N[u+196>>2]=e;g=Q(g*i);N[u+192>>2]=g;j=u+188|0;i=Q(z*i);N[j>>2]=i;if(H[p+180|0]&1){B=N[p+172>>2];h=N[p+44>>2];l=N[p+12>>2];n=N[p+28>>2];L=N[p+164>>2];k=N[p+36>>2];z=N[p+4>>2];r=N[p+20>>2];$=N[p+168>>2];t=N[p+40>>2];q=N[p+8>>2];v=N[p+24>>2];J[j+12>>2]=0;D=h;h=Q(B*Q(Q(h*e)+Q(Q(l*i)+Q(g*n))));A=k;k=Q(L*Q(Q(k*e)+Q(Q(z*i)+Q(g*r))));i=Q($*Q(Q(t*e)+Q(Q(q*i)+Q(g*v))));e=Q(Q(D*h)+Q(Q(A*k)+Q(t*i)));N[j+8>>2]=e;g=Q(Q(n*h)+Q(Q(r*k)+Q(v*i)));N[j+4>>2]=g;i=Q(Q(l*h)+Q(Q(z*k)+Q(q*i)));N[j>>2]=i}if(H[o+180|0]&1){B=N[o+172>>2];h=N[o+44>>2];l=N[o+12>>2];n=N[o+28>>2];L=N[o+164>>2];k=N[o+36>>2];z=N[o+4>>2];r=N[o+20>>2];$=N[o+168>>2];t=N[o+40>>2];q=N[o+8>>2];v=N[o+24>>2];J[j+12>>2]=0;D=h;h=Q(B*Q(Q(h*e)+Q(Q(l*i)+Q(g*n))));A=k;k=Q(L*Q(Q(k*e)+Q(Q(z*i)+Q(r*g))));e=Q($*Q(Q(t*e)+Q(Q(q*i)+Q(g*v))));N[j+8>>2]=Q(D*h)+Q(Q(A*k)+Q(t*e));N[j+4>>2]=Q(n*h)+Q(Q(r*k)+Q(v*e));N[j>>2]=Q(l*h)+Q(Q(z*k)+Q(q*e))}ib(a,j,F,G,C,y,s- -64|0,s+48|0,x,d,Q(0),Q(0));break k}m=u+188|0;m:{if(Q(R(i))>Q(.7071067690849304)){h=Q(Q(e*e)+Q(i*i));g=Q(Q(1)/Q(Y(h)));n=Q(h*g);h=Q(g*Q(-i));l=Q(k*h);e=Q(e*g);z=Q(e*Q(-k));g=Q(0);break m}g=Q(Q(k*k)+Q(e*e));h=Q(Q(1)/Q(Y(g)));l=Q(g*h);g=Q(h*Q(-e));z=Q(i*g);h=Q(k*h);n=Q(h*Q(-i));e=Q(0)}N[j+8>>2]=e;N[j+4>>2]=h;N[j>>2]=g;N[m+8>>2]=l;N[m+4>>2]=z;N[m>>2]=n;if(H[p+180|0]&1){x=N[p+172>>2];i=N[p+44>>2];l=N[p+12>>2];n=N[p+28>>2];B=N[p+164>>2];k=N[p+36>>2];z=N[p+4>>2];r=N[p+20>>2];L=N[p+168>>2];t=N[p+40>>2];q=N[p+8>>2];v=N[p+24>>2];J[j+12>>2]=0;D=i;i=Q(x*Q(Q(i*e)+Q(Q(l*g)+Q(h*n))));A=k;k=Q(B*Q(Q(k*e)+Q(Q(z*g)+Q(r*h))));g=Q(L*Q(Q(t*e)+Q(Q(q*g)+Q(h*v))));e=Q(Q(D*i)+Q(Q(A*k)+Q(t*g)));N[j+8>>2]=e;h=Q(Q(n*i)+Q(Q(r*k)+Q(v*g)));N[j+4>>2]=h;g=Q(Q(l*i)+Q(Q(z*k)+Q(q*g)));N[j>>2]=g}if(H[o+180|0]&1){x=N[o+172>>2];i=N[o+44>>2];l=N[o+12>>2];n=N[o+28>>2];B=N[o+164>>2];k=N[o+36>>2];z=N[o+4>>2];r=N[o+20>>2];L=N[o+168>>2];t=N[o+40>>2];q=N[o+8>>2];v=N[o+24>>2];J[j+12>>2]=0;D=i;i=Q(x*Q(Q(i*e)+Q(Q(l*g)+Q(h*n))));A=k;k=Q(B*Q(Q(k*e)+Q(Q(z*g)+Q(r*h))));e=Q(L*Q(Q(t*e)+Q(Q(q*g)+Q(h*v))));N[j+8>>2]=Q(D*i)+Q(Q(A*k)+Q(t*e));N[j+4>>2]=Q(n*i)+Q(Q(r*k)+Q(v*e));N[j>>2]=Q(l*i)+Q(Q(z*k)+Q(q*e))}x=N[s+44>>2];ib(a,j,F,G,C,y,s- -64|0,s+48|0,x,d,Q(0),Q(0));j=J[d+72>>2];if(j&16){if(H[p+180|0]&1){t=N[p+172>>2];e=N[p+44>>2];g=N[p+12>>2];i=N[p+28>>2];B=N[p+164>>2];h=N[p+36>>2];l=N[p+4>>2];n=N[p+20>>2];L=N[p+168>>2];k=N[p+40>>2];z=N[p+8>>2];r=N[p+24>>2];J[m+12>>2]=0;D=e;A=t;e=N[m+8>>2];t=N[m>>2];q=N[m+4>>2];v=Q(A*Q(Q(D*e)+Q(Q(g*t)+Q(i*q))));A=h;h=Q(B*Q(Q(h*e)+Q(Q(l*t)+Q(n*q))));e=Q(L*Q(Q(k*e)+Q(Q(z*t)+Q(q*r))));N[m+8>>2]=Q(D*v)+Q(Q(A*h)+Q(k*e));N[m+4>>2]=Q(i*v)+Q(Q(n*h)+Q(r*e));N[m>>2]=Q(g*v)+Q(Q(l*h)+Q(z*e))}if(H[o+180|0]&1){t=N[o+172>>2];e=N[o+44>>2];g=N[o+12>>2];i=N[o+28>>2];B=N[o+164>>2];h=N[o+36>>2];l=N[o+4>>2];n=N[o+20>>2];L=N[o+168>>2];k=N[o+40>>2];z=N[o+8>>2];r=N[o+24>>2];J[m+12>>2]=0;D=e;A=t;e=N[m+8>>2];t=N[m>>2];q=N[m+4>>2];v=Q(A*Q(Q(D*e)+Q(Q(g*t)+Q(i*q))));A=h;h=Q(B*Q(Q(h*e)+Q(Q(l*t)+Q(n*q))));e=Q(L*Q(Q(k*e)+Q(Q(z*t)+Q(q*r))));N[m+8>>2]=Q(D*v)+Q(Q(A*h)+Q(k*e));N[m+4>>2]=Q(i*v)+Q(Q(n*h)+Q(r*e));N[m>>2]=Q(g*v)+Q(Q(l*h)+Q(z*e))}ib(a,m,F,G,C,y,s- -64|0,s+48|0,x,d,Q(0),Q(0));j=J[d+72>>2]}if((j&80)!=80){break k}J[u+132>>2]=J[u+132>>2]|1;break k}e=N[s+44>>2];ib(a,u+172|0,F,G,C,y,s- -64|0,s+48|0,e,d,N[u+148>>2],N[u+164>>2]);if(!(K[d+72|0]&16)){break k}ib(a,u+188|0,F,G,C,y,s- -64|0,s+48|0,e,d,N[u+152>>2],N[u+164>>2])}m=J[a+76>>2];U=J[f+140>>2];I=J[d+72>>2];n:{if(I&4){w=J[a+16>>2];C=J[(w+P(G,244)|0)+240>>2];j=J[(w+P(F,244)|0)+240>>2];u=m+P(U,152)|0;e=Q(N[y+136>>2]*N[d+68>>2]);N[u+100>>2]=e;if(j){i=N[j+416>>2];h=N[u+24>>2];l=N[j+412>>2];n=N[u+20>>2];f=w+P(F,244)|0;g=N[j+404>>2];N[f+64>>2]=Q(Q(e*Q(Q(g*N[u+16>>2])*N[j+408>>2]))*N[f+112>>2])+N[f+64>>2];N[f+68>>2]=Q(Q(e*Q(l*Q(g*n)))*N[f+116>>2])+N[f+68>>2];N[f+72>>2]=Q(Q(e*Q(i*Q(g*h)))*N[f+120>>2])+N[f+72>>2];g=N[u+72>>2];i=N[u+68>>2];N[f+80>>2]=Q(Q(e*N[f+96>>2])*N[u+64>>2])+N[f+80>>2];h=N[f+104>>2];N[f+84>>2]=Q(i*Q(e*N[f+100>>2]))+N[f+84>>2];N[f+88>>2]=Q(g*Q(e*h))+N[f+88>>2]}if(C){E=m+P(U,152)|0;i=N[E+88>>2];h=N[E+84>>2];l=N[E+80>>2];n=N[C+416>>2];k=N[E+56>>2];z=N[C+412>>2];r=N[E+52>>2];f=w+P(G,244)|0;g=N[C+404>>2];e=N[u+100>>2];N[f+64>>2]=N[f+64>>2]+Q(Q(Q(Q(g*N[E+48>>2])*N[C+408>>2])*e)*N[f+112>>2]);N[f+68>>2]=N[f+68>>2]+Q(Q(e*Q(z*Q(g*r)))*N[f+116>>2]);N[f+72>>2]=N[f+72>>2]+Q(Q(e*Q(n*Q(g*k)))*N[f+120>>2]);N[f+80>>2]=N[f+80>>2]+Q(l*Q(e*N[f+96>>2]));g=N[f+104>>2];N[f+84>>2]=N[f+84>>2]+Q(h*Q(e*N[f+100>>2]));N[f+88>>2]=N[f+88>>2]+Q(i*Q(g*e))}if(!(I&16)){break n}E=U+1|0;u=m+P(E,152)|0;e=Q(N[y+140>>2]*N[d+68>>2]);N[u+100>>2]=e;if(j){i=N[u+24>>2];h=N[u+20>>2];f=w+P(F,244)|0;g=N[j+404>>2];N[f+64>>2]=Q(Q(e*Q(g*N[u+16>>2]))*N[f+112>>2])+N[f+64>>2];N[f+68>>2]=Q(Q(e*Q(g*h))*N[f+116>>2])+N[f+68>>2];N[f+72>>2]=Q(Q(e*Q(g*i))*N[f+120>>2])+N[f+72>>2];g=N[u+72>>2];i=N[u+68>>2];N[f+80>>2]=Q(Q(e*N[f+96>>2])*N[u+64>>2])+N[f+80>>2];h=N[f+104>>2];N[f+84>>2]=Q(i*Q(e*N[f+100>>2]))+N[f+84>>2];N[f+88>>2]=Q(g*Q(e*h))+N[f+88>>2]}if(!C){break n}j=m+P(E,152)|0;i=N[j+88>>2];h=N[j+84>>2];l=N[j+56>>2];n=N[j+52>>2];k=N[j+48>>2];g=N[C+404>>2];f=w+P(G,244)|0;e=N[u+100>>2];N[f+80>>2]=N[f+80>>2]+Q(N[j+80>>2]*Q(N[f+96>>2]*e));N[f+64>>2]=N[f+64>>2]+Q(Q(e*Q(g*k))*N[f+112>>2]);N[f+68>>2]=N[f+68>>2]+Q(Q(e*Q(g*n))*N[f+116>>2]);N[f+72>>2]=N[f+72>>2]+Q(Q(e*Q(g*l))*N[f+120>>2]);g=N[f+104>>2];N[f+84>>2]=N[f+84>>2]+Q(h*Q(e*N[f+100>>2]));N[f+88>>2]=N[f+88>>2]+Q(i*Q(g*e));break n}f=m+P(U,152)|0;J[f+100>>2]=0;if(!(I&16)){break n}J[f+252>>2]=0}j=J[_+844>>2]}aa=aa+1|0;if((aa|0)<(j|0)){continue}break}}sa=s+80|0;da=da+1|0;if((da|0)!=(c|0)){continue}break}}}function Yh(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,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=0,A=Q(0),B=Q(0),C=Q(0),D=Q(0),E=Q(0),F=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=Q(0),W=Q(0),X=Q(0),Z=0,_=Q(0),$=0,aa=Q(0),ba=0,ca=0,da=0,ea=0,fa=Q(0),ga=Q(0),ha=Q(0),ia=Q(0),ja=Q(0),ka=Q(0),la=Q(0),ma=Q(0),na=Q(0);o=sa-256|0;sa=o;J[a+188>>2]=-1;ua[J[8262]](5384);i=J[h+72>>2];if((i|0)!=J[a+224>>2]){J[a+224>>2]=i;J[a+220>>2]=954;J[a+216>>2]=953;J[a+212>>2]=952}i=0;J[a+184>>2]=0;a:{if((c|0)<=0){break a}if(c>>>0>=4){j=c&-4;while(1){l=i<<2;J[J[l+b>>2]+212>>2]=-1;J[J[(l|4)+b>>2]+212>>2]=-1;J[J[(l|8)+b>>2]+212>>2]=-1;J[J[(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){J[J[(i<<2)+b>>2]+212>>2]=-1;i=i+1|0;j=j+1|0;if((l|0)!=(j|0)){continue}break}}l=J[a+12>>2];if((l|0)<=(c|0)){l=c+1|0;if(l){J[8456]=J[8456]+1;i=ua[J[8258]](P(l,244),16)|0}else{i=0}z=J[a+8>>2];if((z|0)>0){k=0;while(1){n=P(k,244);j=n+i|0;n=n+J[a+16>>2]|0;F=J[n+4>>2];J[j>>2]=J[n>>2];J[j+4>>2]=F;F=J[n+12>>2];J[j+8>>2]=J[n+8>>2];J[j+12>>2]=F;F=J[n+28>>2];J[j+24>>2]=J[n+24>>2];J[j+28>>2]=F;F=J[n+20>>2];J[j+16>>2]=J[n+16>>2];J[j+20>>2]=F;F=J[n+44>>2];J[j+40>>2]=J[n+40>>2];J[j+44>>2]=F;F=J[n+36>>2];J[j+32>>2]=J[n+32>>2];J[j+36>>2]=F;F=J[n+52>>2];J[j+48>>2]=J[n+48>>2];J[j+52>>2]=F;F=J[n+60>>2];J[j+56>>2]=J[n+56>>2];J[j+60>>2]=F;Ja(j- -64|0,n- -64|0,180);k=k+1|0;if((z|0)!=(k|0)){continue}break}}j=J[a+16>>2];if(!(j?!j|!K[a+20|0]:1)){J[8457]=J[8457]+1;ua[J[8259]](j)}J[a+16>>2]=i;H[a+20|0]=1;J[a+12>>2]=l}Fa(o+8|0,0,244);j=J[a+8>>2];if((j|0)<0){if((l|0)<0){i=J[a+16>>2];if(!(i?!i|!K[a+20|0]:1)){J[8457]=J[8457]+1;ua[J[8259]](i)}H[a+20|0]=1;J[a+12>>2]=0;J[a+16>>2]=0}l=o+72|0;while(1){i=J[a+16>>2]+P(j,244)|0;J[i>>2]=0;J[i+4>>2]=0;J[i+8>>2]=0;J[i+12>>2]=0;k=J[o+36>>2];J[i+24>>2]=J[o+32>>2];J[i+28>>2]=k;k=J[o+28>>2];J[i+16>>2]=J[o+24>>2];J[i+20>>2]=k;k=J[o+44>>2];J[i+32>>2]=J[o+40>>2];J[i+36>>2]=k;k=J[o+52>>2];J[i+40>>2]=J[o+48>>2];J[i+44>>2]=k;k=J[o+60>>2];J[i+48>>2]=J[o+56>>2];J[i+52>>2]=k;k=J[o+68>>2];J[i+56>>2]=J[o+64>>2];J[i+60>>2]=k;Ja(i- -64|0,l,180);j=j+1|0;if(j){continue}break}}J[a+8>>2]=0;if((c|0)>0){j=0;while(1){i=(j<<2)+b|0;k=db(a,J[i>>2],N[h+12>>2]);i=J[i>>2];b:{if(!i|!(J[i+252>>2]&2)|N[i+404>>2]==Q(0)){break b}n=J[a+16>>2];l=J[i+564>>2];if(l&2){w=N[h+84>>2];m=N[i+396>>2];r=N[i+44>>2];t=N[i+40>>2];s=N[i+36>>2];p=N[i+392>>2];C=N[i+28>>2];q=N[i+12>>2];u=N[i+464>>2];A=N[i+24>>2];D=N[i+8>>2];x=N[i+460>>2];I=N[i+20>>2];v=N[i+388>>2];B=N[i+4>>2];y=N[i+456>>2];J[o+20>>2]=0;G=u!=Q(0)?Q(Q(1)/u):Q(0);u=Q(C*G);y=y!=Q(0)?Q(Q(1)/y):Q(0);E=Q(I*y);x=x!=Q(0)?Q(Q(1)/x):Q(0);M=Q(A*x);L=Q(Q(m*Q(Q(r*u)+Q(Q(s*E)+Q(t*M))))+Q(Q(v*Q(Q(q*u)+Q(Q(B*E)+Q(D*M))))+Q(p*Q(Q(C*u)+Q(Q(I*E)+Q(A*M))))));u=Q(G*q);E=Q(y*B);M=Q(x*D);E=Q(Q(m*Q(Q(r*u)+Q(Q(s*E)+Q(t*M))))+Q(Q(v*Q(Q(q*u)+Q(Q(B*E)+Q(D*M))))+Q(p*Q(Q(C*u)+Q(Q(I*E)+Q(M*A))))));u=Q(Q(v*L)-Q(p*E));N[o+16>>2]=u;W=r;r=Q(G*r);G=s;s=Q(y*s);y=t;t=Q(x*t);r=Q(Q(m*Q(Q(W*r)+Q(Q(G*s)+Q(y*t))))+Q(Q(v*Q(Q(q*r)+Q(Q(B*s)+Q(D*t))))+Q(p*Q(Q(C*r)+Q(Q(I*s)+Q(A*t))))));v=Q(Q(m*E)-Q(v*r));N[o+12>>2]=v;m=Q(Q(p*r)-Q(L*m));N[o+8>>2]=m;p=Q(Q(u*u)+Q(Q(m*m)+Q(v*v)));if(p>Q(w*w)){p=Q(Q(Q(1)/Q(Y(p)))*w);N[o+16>>2]=u*p;N[o+12>>2]=v*p;N[o+8>>2]=m*p}t=N[i+364>>2];s=N[i+332>>2];C=N[i+348>>2];q=N[i+360>>2];A=N[i+328>>2];D=N[i+344>>2];l=n+P(k,244)|0;m=N[o+16>>2];p=N[o+8>>2];v=N[o+12>>2];r=N[h+12>>2];N[l+224>>2]=N[l+224>>2]-Q(Q(Q(N[i+356>>2]*m)+Q(Q(N[i+324>>2]*p)+Q(v*N[i+340>>2])))*r);N[l+228>>2]=N[l+228>>2]-Q(r*Q(Q(q*m)+Q(Q(A*p)+Q(v*D))));N[l+232>>2]=N[l+232>>2]-Q(r*Q(Q(t*m)+Q(Q(s*p)+Q(v*C))));l=J[i+564>>2]}if(l&4){m=N[h+12>>2];p=N[i+396>>2];C=N[i+44>>2];q=N[i+40>>2];A=N[i+36>>2];t=N[i+12>>2];D=N[i+8>>2];v=N[i+392>>2];I=N[i+28>>2];s=N[i+464>>2];B=N[i+24>>2];x=N[i+460>>2];w=N[i+20>>2];r=N[i+388>>2];u=N[i+4>>2];y=N[i+456>>2];J[o+20>>2]=0;M=s!=Q(0)?Q(Q(1)/s):Q(0);L=Q(C*M);O=y!=Q(0)?Q(Q(1)/y):Q(0);T=Q(A*O);S=x!=Q(0)?Q(Q(1)/x):Q(0);V=Q(q*S);y=Q(Q(t*L)+Q(Q(u*T)+Q(D*V)));s=Q(M*I);x=Q(O*w);U=Q(S*B);G=Q(Q(C*s)+Q(Q(A*x)+Q(q*U)));_=Q(p*G);E=Q(Q(t*s)+Q(Q(u*x)+Q(D*U)));X=Q(r*E);x=Q(Q(I*s)+Q(Q(w*x)+Q(B*U)));s=Q(_+Q(X+Q(v*x)));U=Q(M*t);O=Q(O*u);S=Q(S*D);D=Q(Q(t*U)+Q(Q(u*O)+Q(D*S)));M=Q(y+Q(Q(s+Q(Q(y*Q(0))+Q(X-Q(v*D))))*m));u=Q(Q(C*L)+Q(Q(A*T)+Q(q*V)));X=Q(y*r);L=Q(Q(I*L)+Q(Q(w*T)+Q(B*V)));T=Q(v*L);t=Q(Q(p*u)+Q(X+T));B=Q(Q(I*U)+Q(Q(w*O)+Q(S*B)));I=Q(B+Q(Q(Q(T+Q(Q(B*Q(0))-Q(x*p)))+t)*m));A=Q(Q(C*U)+Q(Q(A*O)+Q(S*q)));w=Q(p*A);S=Q(v*B);C=Q(w+Q(Q(D*r)+S));T=Q(m*Q(0));q=Q(Q(s+Q(Q(Q(p*C)-Q(t*r))*m))-Q(T+s));w=Q(G+Q(Q(C+Q(Q(w+Q(G*Q(0)))-Q(u*r)))*m));O=Q(A+Q(Q(Q(Q(u*v)+Q(Q(A*Q(0))-_))-s)*m));B=Q(x+Q(Q(Q(Q(B*p)+Q(x*Q(0)))-Q(L*r))*m));V=Q(Q(I*w)-Q(O*B));y=Q(D+Q(Q(Q(y*v)+Q(Q(D*Q(0))-Q(E*p)))*m));u=Q(u+Q(Q(Q(u*Q(0))+Q(Q(r*G)-Q(A*v)))*m));x=Q(L+Q(Q(Q(Q(L*Q(0))+Q(Q(r*x)-S))-C)*m));L=Q(Q(B*u)-Q(w*x));G=Q(E+Q(Q(Q(Q(Q(D*p)+Q(E*Q(0)))-X)-t)*m));E=Q(Q(x*O)-Q(u*I));A=Q(Q(M*V)+Q(Q(y*L)+Q(G*E)));D=Q(R(A))>Q(1.1920928955078125e-7)?Q(Q(1)/A):A;A=Q(Q(C+Q(Q(Q(v*t)-Q(s*p))*m))-Q(T+C));m=Q(Q(Q(Q(Q(r*s)-Q(C*v))*m)+t)-Q(T+t));N[o+16>>2]=Q(p-Q(Q(Q(M*Q(Q(I*q)-Q(A*B)))+Q(Q(y*Q(Q(B*m)-Q(q*x)))+Q(G*Q(Q(x*A)-Q(m*I)))))*D))-p;N[o+12>>2]=Q(v-Q(Q(Q(M*Q(Q(A*w)-Q(O*q)))+Q(Q(y*Q(Q(q*u)-Q(w*m)))+Q(G*Q(Q(m*O)-Q(u*A)))))*D))-v;N[o+8>>2]=Q(r-Q(Q(Q(m*V)+Q(Q(A*L)+Q(q*E)))*D))-r;m=N[o+16>>2];p=N[o+12>>2];l=n+P(k,244)|0;N[l+224>>2]=N[o+8>>2]+N[l+224>>2];N[l+228>>2]=p+N[l+228>>2];N[l+232>>2]=m+N[l+232>>2];l=J[i+564>>2]}if(!(l&8)){break b}m=N[h+12>>2];l=sa-16|0;sa=l;B=N[i+464>>2];w=N[i+460>>2];A=N[i+396>>2];D=N[i+392>>2];x=N[i+456>>2];I=N[i+388>>2];ob(i+4|0,l);p=N[l+4>>2];v=N[l>>2];r=N[l+12>>2];t=N[l+8>>2];J[o+20>>2]=0;q=Q(Q(p*I)+Q(Q(r*A)-Q(D*v)));u=Q(Q(t*A)+Q(Q(v*I)+Q(D*p)));y=Q(Q(v*A)+Q(Q(r*D)-Q(I*t)));E=Q(Q(t*D)+Q(Q(r*I)-Q(A*p)));s=Q(Q(Q(v*q)+Q(Q(p*u)+Q(r*y)))-Q(t*E));C=Q(Q(Q(E*p)+Q(Q(u*t)+Q(r*q)))-Q(y*v));G=Q(C*Q(0));q=Q(Q(Q(y*t)+Q(Q(u*v)+Q(r*E)))-Q(q*p));E=Q(q*Q(0));w=w!=Q(0)?Q(Q(1)/w):Q(0);u=Q(G+Q(E+Q(s*w)));x=x!=Q(0)?Q(Q(1)/x):Q(0);M=Q(Q(Q(Q(Q(E-Q(s*x))+Q(0))+u)*m)+Q(0));y=B!=Q(0)?Q(Q(1)/B):Q(0);L=Q(s*Q(0));O=Q(Q(y*C)+Q(E+L));B=Q(Q(Q(s*O)-Q(u*C))*m);X=Q(q*Q(-0));T=Q(Q(Q(Q(X+Q(Q(x*C)+Q(0)))-O)*m)+Q(0));S=Q(Q(Q(Q(L+Q(Q(0)-Q(w*C)))+O)*m)+Q(0));V=Q(G+Q(Q(x*q)+L));U=Q(Q(Q(Q(Q(G+Q(0))-Q(y*q))+V)*m)+Q(0));W=Q(C*Q(-0));_=Q(Q(Q(Q(Q(y*s)+Q(W+Q(0)))-u)*m)+Q(0));G=Q(w+Q(Q(X+Q(G+Q(w*Q(0))))*m));X=Q(Q(S*U)-Q(_*G));L=Q(x+Q(Q(L+Q(Q(x*Q(0))+W))*m));W=y;x=Q(y*Q(0));y=Q(s*Q(-0));x=Q(W+Q(Q(x+Q(y+E))*m));y=Q(Q(Q(Q(Q(y+Q(w*q))+Q(0))-V)*m)+Q(0));W=Q(Q(G*x)-Q(U*y));aa=Q(Q(y*_)-Q(x*S));w=Q(Q(M*X)+Q(Q(L*W)+Q(T*aa)));E=Q(R(w))>Q(1.1920928955078125e-7)?Q(Q(1)/w):w;w=Q(Q(Q(C*V)-Q(O*q))*m);m=Q(Q(Q(q*u)-Q(V*s))*m);s=Q(s-Q(Q(Q(M*Q(Q(B*U)-Q(_*w)))+Q(Q(L*Q(Q(w*x)-Q(U*m)))+Q(T*Q(Q(m*_)-Q(x*B)))))*E));q=Q(q-Q(Q(Q(m*X)+Q(Q(B*W)+Q(w*aa)))*E));m=Q(C-Q(Q(Q(M*Q(Q(S*w)-Q(B*G)))+Q(Q(L*Q(Q(G*m)-Q(w*y)))+Q(T*Q(Q(y*B)-Q(m*S)))))*E));C=Q(Q(Q(r*s)+Q(t*q))-Q(v*m));B=Q(Q(Q(r*m)+Q(v*s))-Q(p*q));w=Q(Q(Q(Q(-v)*q)-Q(s*p))-Q(t*m));m=Q(Q(Q(r*q)+Q(p*m))-Q(t*s));N[o+16>>2]=Q(Q(v*C)+Q(Q(Q(r*B)-Q(t*w))-Q(p*m)))-A;N[o+12>>2]=Q(Q(m*t)+Q(Q(Q(r*C)-Q(w*p))-Q(B*v)))-D;N[o+8>>2]=Q(Q(B*p)+Q(Q(Q(r*m)-Q(w*v))-Q(C*t)))-I;sa=l+16|0;m=N[o+16>>2];p=N[o+12>>2];i=n+P(k,244)|0;N[i+224>>2]=N[o+8>>2]+N[i+224>>2];N[i+228>>2]=p+N[i+228>>2];N[i+232>>2]=m+N[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=J[j+f>>2];ua[J[J[c>>2]+8>>2]](c);J[c+36>>2]=0;c=J[(j|4)+f>>2];ua[J[J[c>>2]+8>>2]](c);J[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=J[(i<<2)+f>>2];ua[J[J[b>>2]+8>>2]](b);J[b+36>>2]=0}b=J[a+168>>2];if(!((g|0)<=(b|0)|J[a+172>>2]>=(g|0))){d:{if(!g){j=0;break d}J[8456]=J[8456]+1;j=ua[J[8258]](g<<3,16)|0;b=J[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;z=l+j|0;F=l+J[a+176>>2]|0;Z=J[F+4>>2];J[z>>2]=J[F>>2];J[z+4>>2]=Z;z=l|8;F=z+j|0;z=z+J[a+176>>2]|0;Z=J[z+4>>2];J[F>>2]=J[z>>2];J[F+4>>2]=Z;z=l|16;F=z+j|0;z=z+J[a+176>>2]|0;Z=J[z+4>>2];J[F>>2]=J[z>>2];J[F+4>>2]=Z;l=l|24;z=l+j|0;l=l+J[a+176>>2]|0;F=J[l+4>>2];J[z>>2]=J[l>>2];J[z+4>>2]=F;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+J[a+176>>2]|0;n=J[c+4>>2];J[l>>2]=J[c>>2];J[l+4>>2]=n;i=i+1|0;k=k+1|0;if((b|0)!=(k|0)){continue}break}}b=J[a+176>>2];if(!(b?!b|!K[a+180|0]:1)){J[8457]=J[8457]+1;ua[J[8259]](b)}J[a+176>>2]=j;H[a+180|0]=1;J[a+172>>2]=g}J[a+168>>2]=g;k=0;if((g|0)>0){j=0;while(1){i=J[a+176>>2];l=(j<<2)+f|0;b=J[l>>2];c=J[b+44>>2];if(c){b=c;J[b>>2]=0;J[b+4>>2]=0;J[b+56>>2]=0;J[b+60>>2]=0;J[b+48>>2]=0;J[b+52>>2]=0;J[b+40>>2]=0;J[b+44>>2]=0;J[b+32>>2]=0;J[b+36>>2]=0;J[b+24>>2]=0;J[b+28>>2]=0;J[b+16>>2]=0;J[b+20>>2]=0;J[b+8>>2]=0;J[b+12>>2]=0;b=J[l>>2]}c=i+(j<<3)|0;f:{if(K[b+20|0]){ua[J[J[b>>2]+16>>2]](b,c);b=J[c>>2];break f}J[c>>2]=0;J[c+4>>2]=0;b=0}k=b+k|0;j=j+1|0;if((j|0)!=(g|0)){continue}break}}b=J[a+48>>2];if(!((k|0)<=(b|0)|J[a+52>>2]>=(k|0))){g:{if(!k){j=0;break g}J[8456]=J[8456]+1;j=ua[J[8258]](P(k,152),16)|0;b=J[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=P(i,152);Ja(n+j|0,n+J[a+56>>2]|0,152);n=P(i|1,152);Ja(n+j|0,n+J[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=P(i,152);Ja(b+j|0,b+J[a+56>>2]|0,152)}b=J[a+56>>2];if(!(b?!b|!K[a+60|0]:1)){J[8457]=J[8457]+1;ua[J[8259]](b)}J[a+56>>2]=j;H[a+60|0]=1;J[a+52>>2]=k}J[a+48>>2]=k;if((g|0)>0){j=J[a+176>>2];while(1){ea=$;da=ba<<3;Z=da+j|0;if(J[Z>>2]){ca=(ba<<2)+f|0;F=J[ca>>2];j=J[F+32>>2];k=J[a+56>>2];n=J[F+28>>2];c=db(a,n,N[h+12>>2]);i=db(a,j,N[h+12>>2]);l=J[F+24>>2];b=J[h+20>>2];l=(l|0)>0?l:b;if((l|0)>J[a+184>>2]){J[a+184>>2]=l}z=k+P($,152)|0;$=J[a+16>>2];k=0;if(J[Z>>2]>0){while(1){b=Fa(z+P(k,152)|0,0,152);J[b+120>>2]=-8388609;J[b+124>>2]=2139095039;J[b+148>>2]=i;J[b+144>>2]=c;J[b+96>>2]=0;J[b+100>>2]=0;J[b+136>>2]=l;k=k+1|0;if((k|0)>2]){continue}break}b=J[h+20>>2]}c=P(c,244)+$|0;J[c+64>>2]=0;J[c+68>>2]=0;J[c+144>>2]=0;J[c+148>>2]=0;J[c+88>>2]=0;J[c+92>>2]=0;J[c+80>>2]=0;J[c+84>>2]=0;J[c+72>>2]=0;J[c+76>>2]=0;J[c+152>>2]=0;J[c+156>>2]=0;J[c+160>>2]=0;J[c+164>>2]=0;J[c+168>>2]=0;J[c+172>>2]=0;i=P(i,244)+$|0;J[i+88>>2]=0;J[i+92>>2]=0;J[i+80>>2]=0;J[i+84>>2]=0;J[i+72>>2]=0;J[i+76>>2]=0;J[i+64>>2]=0;J[i+68>>2]=0;J[i+144>>2]=0;J[i+148>>2]=0;J[i+152>>2]=0;J[i+156>>2]=0;J[i+160>>2]=0;J[i+164>>2]=0;J[i+168>>2]=0;J[i+172>>2]=0;N[o+8>>2]=Q(1)/N[h+12>>2];m=N[h+32>>2];J[o+36>>2]=z+112;J[o+32>>2]=38;J[o+28>>2]=z+32;J[o+24>>2]=z+48;J[o+20>>2]=z;J[o+16>>2]=z+16;N[o+12>>2]=m;N[z+116>>2]=N[h+40>>2];m=N[h+4>>2];J[o+52>>2]=b;J[o+48>>2]=z+124;J[o+44>>2]=z+120;J[o+40>>2]=z+116;N[o+56>>2]=m;b=J[ca>>2];ua[J[J[b>>2]+20>>2]](b,o+8|0);if(J[Z>>2]>0){l=0;while(1){m=N[J[ca>>2]+16>>2];b=z+P(l,152)|0;if(m<=N[b+124>>2]){N[b+124>>2]=m}m=Q(-m);if(m>=N[b+120>>2]){N[b+120>>2]=m}J[b+132>>2]=F;k=J[F+28>>2];r=N[k+332>>2];t=N[k+328>>2];s=N[k+608>>2];C=N[k+348>>2];q=N[k+340>>2];A=N[k+344>>2];D=N[k+612>>2];I=N[k+364>>2];B=N[k+356>>2];w=N[k+360>>2];u=N[k+604>>2];x=N[k+324>>2];m=N[b+8>>2];p=N[b>>2];v=N[b+4>>2];J[b+76>>2]=0;N[b+72>>2]=D*Q(Q(I*m)+Q(Q(B*p)+Q(v*w)));N[b+68>>2]=s*Q(Q(C*m)+Q(Q(q*p)+Q(v*A)));N[b+64>>2]=u*Q(Q(r*m)+Q(Q(x*p)+Q(t*v)));k=J[F+32>>2];C=N[k+328>>2];q=N[k+332>>2];A=N[k+608>>2];D=N[k+348>>2];I=N[k+340>>2];B=N[k+344>>2];r=N[k+612>>2];t=N[k+364>>2];s=N[k+356>>2];w=N[k+360>>2];u=N[k+604>>2];x=N[k+324>>2];J[b+92>>2]=0;y=r;r=N[b+40>>2];W=Q(t*r);t=N[b+32>>2];G=Q(s*t);s=N[b+36>>2];N[b+88>>2]=y*Q(W+Q(G+Q(w*s)));N[b+84>>2]=A*Q(Q(D*r)+Q(Q(I*t)+Q(s*B)));N[b+80>>2]=u*Q(Q(q*r)+Q(Q(x*t)+Q(C*s)));C=Q(0);q=N[n+404>>2];A=N[b+24>>2];D=N[b+16>>2];I=N[b+20>>2];y=Q(Q(Q(Q(q*A)*A)+Q(Q(Q(q*D)*D)+Q(I*Q(q*I))))+Q(Q(m*Q(Q(m*N[n+364>>2])+Q(Q(p*N[n+356>>2])+Q(v*N[n+360>>2]))))+Q(Q(p*Q(Q(m*N[n+332>>2])+Q(Q(p*N[n+324>>2])+Q(v*N[n+328>>2]))))+Q(v*Q(Q(m*N[n+348>>2])+Q(Q(p*N[n+340>>2])+Q(v*N[n+344>>2])))))));q=N[j+404>>2];B=N[b+56>>2];w=N[b+48>>2];u=N[b+52>>2];q=Q(Q(y+Q(Q(Q(q*B)*B)+Q(Q(Q(q*w)*w)+Q(u*Q(q*u)))))+Q(Q(r*Q(Q(r*N[j+364>>2])+Q(Q(t*N[j+356>>2])+Q(s*N[j+360>>2]))))+Q(Q(t*Q(Q(r*N[j+332>>2])+Q(Q(t*N[j+324>>2])+Q(s*N[j+328>>2]))))+Q(s*Q(Q(r*N[j+348>>2])+Q(Q(t*N[j+340>>2])+Q(s*N[j+344>>2])))))));q=Q(R(q))>Q(1.1920928955078125e-7)?Q(Q(1)/q):Q(0);N[b+108>>2]=q;x=Q(0);y=Q(0);G=Q(0);E=Q(0);M=Q(0);L=Q(0);if(J[c+240>>2]){L=N[c+232>>2];M=N[c+228>>2];E=N[c+224>>2];y=N[c+212>>2];G=N[c+208>>2];x=N[c+216>>2]}O=Q(0);T=Q(0);S=Q(0);V=Q(0);U=Q(0);if(J[i+240>>2]){U=N[i+232>>2];V=N[i+228>>2];S=N[i+224>>2];O=N[i+212>>2];T=N[i+208>>2];C=N[i+216>>2]}_=N[n+380>>2];X=N[n+372>>2];W=N[n+376>>2];aa=N[n+396>>2];fa=N[n+388>>2];ga=N[n+392>>2];ha=N[j+380>>2];ia=N[j+372>>2];ja=N[j+376>>2];ka=N[j+396>>2];la=N[j+388>>2];ma=N[j+392>>2];na=N[o+56>>2];J[b+100>>2]=0;N[b+112>>2]=Q(q*N[b+112>>2])+Q(q*Q(Q(0)-Q(na*Q(Q(Q(Q(A*Q(x+_))+Q(Q(D*Q(G+X))+Q(I*Q(y+W))))+Q(Q(m*Q(L+aa))+Q(Q(p*Q(E+fa))+Q(v*Q(M+ga)))))+Q(Q(Q(B*Q(C+ha))+Q(Q(w*Q(T+ia))+Q(u*Q(O+ja))))+Q(Q(r*Q(U+ka))+Q(Q(t*Q(S+la))+Q(s*Q(V+ma)))))))));l=l+1|0;if((l|0)>2]){continue}break}}j=J[a+176>>2];b=J[da+j>>2]}else{b=0}$=ea+b|0;ba=ba+1|0;if((ba|0)!=(g|0)){continue}break}}ua[J[J[a>>2]+28>>2]](a,d,e,h);e=J[a+68>>2];d=J[a+28>>2];k=J[a+128>>2];f=J[a+48>>2];if(!((k|0)>=(f|0)|(f|0)<=J[a+132>>2])){i:{if(!f){j=0;break i}J[8456]=J[8456]+1;j=ua[J[8258]](f<<2,16)|0;k=J[a+128>>2]}b=J[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;J[g+j>>2]=J[b+g>>2];z=g|4;J[z+j>>2]=J[b+z>>2];z=g|8;J[z+j>>2]=J[b+z>>2];g=g|12;J[g+j>>2]=J[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;J[l+j>>2]=J[b+l>>2];i=i+1|0;c=c+1|0;if((g|0)!=(c|0)){continue}break}}if(K[a+140|0]){break k}break j}if(!b|!K[a+140|0]){break j}}if(b){J[8457]=J[8457]+1;ua[J[8259]](b)}}J[a+136>>2]=j;J[a+132>>2]=f;H[a+140|0]=1}J[a+128>>2]=f;l:{if(K[h+72|0]&16){k=J[a+108>>2];h=d<<1;if(!((k|0)>=(h|0)|(h|0)<=J[a+112>>2])){m:{if(!d){j=0;break m}J[8456]=J[8456]+1;j=ua[J[8258]](d<<3,16)|0;k=J[a+108>>2]}b=J[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;J[g+j>>2]=J[b+g>>2];z=g|4;J[z+j>>2]=J[b+z>>2];z=g|8;J[z+j>>2]=J[b+z>>2];g=g|12;J[g+j>>2]=J[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;J[l+j>>2]=J[b+l>>2];i=i+1|0;c=c+1|0;if((g|0)!=(c|0)){continue}break}}if(K[a+120|0]){break o}break n}if(!b|!K[a+120|0]){break n}}if(b){J[8457]=J[8457]+1;ua[J[8259]](b)}}J[a+116>>2]=j;J[a+112>>2]=h;H[a+120|0]=1}J[a+108>>2]=h;break l}k=J[a+108>>2];if(!((d|0)<=(k|0)|(d|0)<=J[a+112>>2])){p:{if(!d){j=0;break p}J[8456]=J[8456]+1;j=ua[J[8258]](d<<2,16)|0;k=J[a+108>>2]}b=J[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;J[g+j>>2]=J[b+g>>2];n=g|4;J[n+j>>2]=J[b+n>>2];n=g|8;J[n+j>>2]=J[b+n>>2];g=g|12;J[g+j>>2]=J[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;J[h+j>>2]=J[b+h>>2];i=i+1|0;c=c+1|0;if((g|0)!=(c|0)){continue}break}}if(K[a+120|0]){break r}break q}if(!b|!K[a+120|0]){break q}}if(b){J[8457]=J[8457]+1;ua[J[8259]](b)}}J[a+116>>2]=j;J[a+112>>2]=d;H[a+120|0]=1}J[a+108>>2]=d}k=J[a+148>>2];if(!((e|0)<=(k|0)|(e|0)<=J[a+152>>2])){s:{if(!e){j=0;break s}J[8456]=J[8456]+1;j=ua[J[8258]](e<<2,16)|0;k=J[a+148>>2]}b=J[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;J[g+j>>2]=J[b+g>>2];n=g|4;J[n+j>>2]=J[b+n>>2];n=g|8;J[n+j>>2]=J[b+n>>2];g=g|12;J[g+j>>2]=J[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;J[h+j>>2]=J[b+h>>2];i=i+1|0;c=c+1|0;if((g|0)!=(c|0)){continue}break}}if(K[a+160|0]){break u}break t}if(!b|!K[a+160|0]){break t}}if(b){J[8457]=J[8457]+1;ua[J[8259]](b)}}J[a+156>>2]=j;J[a+152>>2]=e;H[a+160|0]=1}J[a+148>>2]=e;v:{if((f|0)<=0){break v}c=J[a+136>>2];b=0;i=0;if(f>>>0>=8){g=f&-8;k=0;while(1){J[c+(i<<2)>>2]=i;h=i|1;J[c+(h<<2)>>2]=h;h=i|2;J[c+(h<<2)>>2]=h;h=i|3;J[c+(h<<2)>>2]=h;h=i|4;J[c+(h<<2)>>2]=h;h=i|5;J[c+(h<<2)>>2]=h;h=i|6;J[c+(h<<2)>>2]=h;h=i|7;J[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){J[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=J[a+116>>2];b=0;i=0;if(d>>>0>=8){f=d&-8;k=0;while(1){J[c+(i<<2)>>2]=i;g=i|1;J[c+(g<<2)>>2]=g;g=i|2;J[c+(g<<2)>>2]=g;g=i|3;J[c+(g<<2)>>2]=g;g=i|4;J[c+(g<<2)>>2]=g;g=i|5;J[c+(g<<2)>>2]=g;g=i|6;J[c+(g<<2)>>2]=g;g=i|7;J[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){J[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=J[a+156>>2];b=0;i=0;if(e>>>0>=8){c=e&-8;k=0;while(1){J[a+(i<<2)>>2]=i;d=i|1;J[a+(d<<2)>>2]=d;d=i|2;J[a+(d<<2)>>2]=d;d=i|3;J[a+(d<<2)>>2]=d;d=i|4;J[a+(d<<2)>>2]=d;d=i|5;J[a+(d<<2)>>2]=d;d=i|6;J[a+(d<<2)>>2]=d;d=i|7;J[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){J[a+(i<<2)>>2]=i;i=i+1|0;b=b+1|0;if((c|0)!=(b|0)){continue}break}}ua[J[8263]]();sa=o+256|0;return Q(Q(0))}function ee(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=Q(0),o=0,p=0,q=0,r=Q(0),s=0,t=Q(0),u=Q(0),v=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=0,G=0;i=sa-144|0;sa=i;a:{if((c|0)<=0){b=J[a+12>>2];if(!(b?!b|!K[a+16|0]:1)){J[8457]=J[8457]+1;ua[J[8259]](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?!b|!K[a+36|0]:1)){J[8457]=J[8457]+1;ua[J[8259]](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?!b|!K[a+56|0]:1)){J[8457]=J[8457]+1;ua[J[8259]](b)}J[a+52>>2]=0;H[a+56|0]=1;J[a+44>>2]=0;J[a+48>>2]=0;break a}H[i+112|0]=1;J[i+88>>2]=0;J[i+92>>2]=256;J[i+72>>2]=0;J[i+76>>2]=256;J[i+56>>2]=0;J[i+60>>2]=256;J[i+108>>2]=0;J[i+100>>2]=0;J[i+104>>2]=0;J[i+80>>2]=0;J[i+84>>2]=0;J[i+64>>2]=0;J[i+68>>2]=0;J[i+48>>2]=0;J[i+52>>2]=0;e=i+16|0;h=sa-48|0;sa=h;w=Q(-1.0000000150474662e30);x=Q(1.0000000150474662e30);k=c;b:{if((c|0)>0){c=b;n=Q(1.0000000150474662e30);r=Q(1.0000000150474662e30);t=Q(-1.0000000150474662e30);u=Q(-1.0000000150474662e30);while(1){y=N[c+8>>2];w=w>2];t=t>2];u=uy?y:x;n=n>z?z:n;r=r>A?A:r;c=c+16|0;l=l+1|0;if((k|0)!=(l|0)){continue}break}break b}u=Q(-1.0000000150474662e30);t=Q(-1.0000000150474662e30);r=Q(1.0000000150474662e30);n=Q(1.0000000150474662e30)}J[e+12>>2]=0;J[e+28>>2]=0;N[e+24>>2]=Q(w+x)*Q(.5);N[e+20>>2]=Q(t+n)*Q(.5);N[e+16>>2]=Q(u+r)*Q(.5);r=Q(u-r);n=Q(t-n);d=r(d?n:r)?2:d;J[e+112>>2]=c;d=t>(d?r:n)?!d:2;d=(c|0)==(d|0)?c+(c>>>0>1?-2:1)|0:d;J[e+104>>2]=d;d=c+d|0;J[e+108>>2]=3-d;t=Q(t*Q(9788566967472434e-20));c=(c|0)==((4-d|0)%3|0);t=c?t:Q(-t);N[e+8>>2]=t;n=Q(n*Q(9788566967472434e-20));n=c?n:Q(-n);N[e+4>>2]=n;r=Q(r*Q(9788566967472434e-20));r=c?r:Q(-r);N[e>>2]=r;H[h+44|0]=1;J[h+36>>2]=0;J[h+40>>2]=0;c:{d:{if((k|0)>0){J[8456]=J[8456]+1;F=h,G=ua[J[8258]](k<<4,16)|0,J[F+40>>2]=G;H[h+44|0]=1;J[h+36>>2]=k;J[h+32>>2]=k;if((k|0)<=0){break c}t=t!=Q(0)?Q(Q(1)/t):t;u=n!=Q(0)?Q(Q(1)/n):n;r=r!=Q(0)?Q(Q(1)/r):r;c=h+8|0;m=c+(J[e+104>>2]<<2)|0;g=c+(J[e+112>>2]<<2)|0;s=c+(J[e+108>>2]<<2)|0;w=N[e+24>>2];x=N[e+20>>2];y=N[e+16>>2];j=J[h+40>>2];l=0;while(1){n=N[b>>2];z=N[b+4>>2];A=N[b+8>>2];J[h+20>>2]=0;N[h+16>>2]=t*Q(A-w);N[h+12>>2]=u*Q(z-x);N[h+8>>2]=r*Q(n-y);c=j+(l<<4)|0;n=N[s>>2];e:{if(Q(R(n))>2]=d;n=N[g>>2];f:{if(Q(R(n))>2]=d;n=N[m>>2];J[c+12>>2]=l;if(Q(R(n))>2]=d;b=b+16|0;l=l+1|0;if((k|0)!=(l|0)){continue}break}break d}J[h+32>>2]=k;break c}if((k|0)<2){break c}fe(h+28|0,h+8|0,0,k-1|0)}J[e+44>>2]=k;J[e+40>>2]=0;J[e+36>>2]=J[e+32>>2];b=J[e+84>>2];g:{if((k|0)<=(b|0)){break g}if((k|0)>J[e+88>>2]){h:{if(!k){l=0;g=b;break h}J[8456]=J[8456]+1;l=ua[J[8258]](k<<2,16)|0;g=J[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;J[s+l>>2]=J[s+J[e+92>>2]>>2];o=s|4;J[o+l>>2]=J[o+J[e+92>>2]>>2];o=s|8;J[o+l>>2]=J[o+J[e+92>>2]>>2];s=s|12;J[s+l>>2]=J[s+J[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;J[g+l>>2]=J[g+J[e+92>>2]>>2];c=c+1|0;m=m+1|0;if((d|0)!=(m|0)){continue}break}}c=J[e+92>>2];if(!(c?!c|!K[e+96|0]:1)){J[8457]=J[8457]+1;ua[J[8259]](c)}J[e+92>>2]=l;H[e+96|0]=1;J[e+88>>2]=k}d=k+(b^-1)|0;m=k-b&3;if(m){c=0;while(1){J[J[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;J[c+J[e+92>>2]>>2]=0;J[(c+J[e+92>>2]|0)+4>>2]=0;J[(c+J[e+92>>2]|0)+8>>2]=0;J[(c+J[e+92>>2]|0)+12>>2]=0;b=b+4|0;if((k|0)!=(b|0)){continue}break}}J[e+84>>2]=k;if((k|0)>0){j=0;while(1){d=J[e+40>>2];j:{if(d){break j}b=J[e+36>>2];k:{if(b){J[e+36>>2]=J[b+8>>2];d=J[b>>2];break k}J[8456]=J[8456]+1;b=ua[J[8258]](12,16)|0;c=J[e+44>>2];J[b+8>>2]=0;J[b+4>>2]=c;J[8456]=J[8456]+1;d=ua[J[8258]](P(c,112),16)|0;J[b>>2]=d;J[b+8>>2]=J[e+32>>2];J[e+32>>2]=b}s=J[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;J[b+336>>2]=(s|0)>(m|0)?c:0;J[b+224>>2]=(s|0)>(l|3)?b+336|0:0;J[b+112>>2]=(s|0)>(l|2)?b+224|0:0;J[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;J[l>>2]=(s|0)>(m|0)?c:0;o=o+1|0;if((b|0)!=(o|0)){continue}break}}J[e+40>>2]=J[d>>2];J[d+16>>2]=0;J[d+8>>2]=0;J[d+12>>2]=0;J[d>>2]=0;J[d+4>>2]=0;J[d+104>>2]=-1;b=J[h+40>>2]+(j<<4)|0;c=J[b+4>>2];J[d+88>>2]=J[b>>2];J[d+92>>2]=c;c=J[b+12>>2];J[d+96>>2]=J[b+8>>2];J[d+100>>2]=c;J[J[e+92>>2]+(j<<2)>>2]=d;j=j+1|0;if((k|0)!=(j|0)){continue}break}}b=J[h+40>>2];if(!(b?!b|!K[h+44|0]:1)){J[8457]=J[8457]+1;ua[J[8259]](b)}J[h+40>>2]=0;H[h+44|0]=1;J[h+32>>2]=0;J[h+36>>2]=0;J[e+116>>2]=0;J[e+120>>2]=0;J[e+60>>2]=P(k,6);J[e+56>>2]=0;J[e+100>>2]=-3;J[e+52>>2]=J[e+48>>2];J[h+16>>2]=0;J[h+20>>2]=0;J[h+8>>2]=0;J[h+12>>2]=0;Cc(e,0,k,h+8|0);J[e+124>>2]=J[h+8>>2];b=J[h+40>>2];if(!(b?!b|!K[h+44|0]:1)){J[8457]=J[8457]+1;ua[J[8259]](b)}sa=h+48|0;if((J[a+4>>2]&J[a+8>>2])<0){b=J[a+12>>2];if(!(b?!b|!K[a+16|0]:1)){J[8457]=J[8457]+1;ua[J[8259]](b)}H[a+16|0]=1;J[a+8>>2]=0;J[a+12>>2]=0}J[a+4>>2]=0;b=J[a+24>>2];l:{if((b|0)>=0){break l}if(J[a+28>>2]<0){c=J[a+32>>2];if(!(c?!c|!K[a+36|0]:1)){J[8457]=J[8457]+1;ua[J[8259]](c)}H[a+36|0]=1;J[a+28>>2]=0;J[a+32>>2]=0}c=b;m=0-b&3;if(m){while(1){d=J[a+32>>2]+P(c,12)|0;J[d>>2]=0;J[d+4>>2]=0;J[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=P(c,12);d=b+J[a+32>>2]|0;J[d>>2]=0;J[d+4>>2]=0;J[d+8>>2]=0;d=b+J[a+32>>2]|0;J[d+20>>2]=0;J[d+12>>2]=0;J[d+16>>2]=0;d=b+J[a+32>>2]|0;J[d+32>>2]=0;J[d+24>>2]=0;J[d+28>>2]=0;b=b+J[a+32>>2]|0;J[b+44>>2]=0;J[b+36>>2]=0;J[b+40>>2]=0;c=c+4|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?!b|!K[a+56|0]:1)){J[8457]=J[8457]+1;ua[J[8259]](b)}H[a+56|0]=1;J[a+48>>2]=0;J[a+52>>2]=0;b=0}d=b;b=c<<2;Fa(d+b|0,0,0-b|0)}J[a+44>>2]=0;b=J[i+140>>2];m:{if(J[b+104>>2]>=0){break m}J[b+104>>2]=0;J[8456]=J[8456]+1;k=ua[J[8258]](4,16)|0;J[k>>2]=b;c=0;m=1;e=1;while(1){s=c;d=sa-16|0;sa=d;n:{o:{p:{q:{o=J[(c<<2)+k>>2];b=o;r:{if(J[b+100>>2]>=0){N[d+(J[i+124>>2]<<2)>>2]=J[b+88>>2];break r}n=eb(b+24|0);c=b+72|0;r=eb(c);f=J[b+100>>2];N[d+(J[i+124>>2]<<2)>>2]=n/r;if((f|0)<0){break q}}N[d+(J[i+128>>2]<<2)>>2]=J[b+92>>2];break p}n=eb(b+40|0);r=eb(c);c=J[b+100>>2];N[d+(J[i+128>>2]<<2)>>2]=n/r;if((c|0)<0){break o}}n=Q(J[b+96>>2]);break n}n=Q(eb(b+56|0)/eb(b+72|0))}N[d+(J[i+120>>2]<<2)>>2]=n;n=N[i+36>>2];r=N[i+40>>2];t=N[i+32>>2];u=N[i+16>>2];w=N[i+20>>2];x=N[i+24>>2];y=N[d>>2];z=N[d+4>>2];A=N[d+8>>2];J[i+12>>2]=0;N[i+8>>2]=r+Q(A*x);N[i+4>>2]=n+Q(z*w);N[i>>2]=t+Q(y*u);sa=d+16|0;f=J[a+4>>2];s:{if((f|0)!=J[a+8>>2]){break s}l=f?f<<1:1;if((l|0)<=(f|0)){break s}t:{if(!l){d=0;break t}J[8456]=J[8456]+1;d=ua[J[8258]](l<<4,16)|0;f=J[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+J[a+12>>2]|0;q=J[g+4>>2];J[j>>2]=J[g>>2];J[j+4>>2]=q;q=J[g+12>>2];J[j+8>>2]=J[g+8>>2];J[j+12>>2]=q;g=h|16;h=g+d|0;g=g+J[a+12>>2]|0;j=J[g+4>>2];J[h>>2]=J[g>>2];J[h+4>>2]=j;j=J[g+12>>2];J[h+8>>2]=J[g+8>>2];J[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+J[a+12>>2]|0;f=J[c+4>>2];J[b>>2]=J[c>>2];J[b+4>>2]=f;f=J[c+12>>2];J[b+8>>2]=J[c+8>>2];J[b+12>>2]=f}b=J[a+12>>2];if(!(b?!b|!K[a+16|0]:1)){J[8457]=J[8457]+1;ua[J[8259]](b)}J[a+12>>2]=d;H[a+16|0]=1;J[a+8>>2]=l;f=J[a+4>>2]}c=J[i+4>>2];b=J[a+12>>2]+(f<<4)|0;J[b>>2]=J[i>>2];J[b+4>>2]=c;c=J[i+12>>2];J[b+8>>2]=J[i+8>>2];J[b+12>>2]=c;J[a+4>>2]=J[a+4>>2]+1;b=-1;l=-1;D=J[o+8>>2];c=D;if(c){while(1){if(J[c+20>>2]<0){h=J[a+24>>2];f=h;v:{if((h|0)!=J[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}J[8456]=J[8456]+1;j=ua[J[8258]](P(o,12),16)|0;d=J[a+24>>2]}x:{if((d|0)<=0){break x}f=0;if((d|0)!=1){B=d&-2;g=0;while(1){q=P(f,12);p=q+J[a+32>>2]|0;v=J[p+4>>2];q=j+q|0;J[q>>2]=J[p>>2];J[q+4>>2]=v;J[q+8>>2]=J[p+8>>2];q=P(f|1,12);p=q+J[a+32>>2]|0;v=J[p+4>>2];q=j+q|0;J[q>>2]=J[p>>2];J[q+4>>2]=v;J[q+8>>2]=J[p+8>>2];f=f+2|0;g=g+2|0;if((B|0)!=(g|0)){continue}break}}if(!(d&1)){break x}f=P(f,12);d=f+J[a+32>>2]|0;g=J[d+4>>2];f=f+j|0;J[f>>2]=J[d>>2];J[f+4>>2]=g;J[f+8>>2]=J[d+8>>2]}d=J[a+32>>2];if(!(d?!d|!K[a+36|0]:1)){J[8457]=J[8457]+1;ua[J[8259]](d)}J[a+32>>2]=j;H[a+36|0]=1;J[a+28>>2]=o;f=J[a+24>>2]}d=J[a+32>>2]+P(f,12)|0;J[d>>2]=0;J[d+4>>2]=0;J[d+8>>2]=0;g=J[a+24>>2]+1|0;J[a+24>>2]=g;y:{if(J[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}J[8456]=J[8456]+1;j=ua[J[8258]](P(d,12),16)|0;g=J[a+24>>2]}A:{if((g|0)<=0){break A}q=g&1;f=0;if((g|0)!=1){B=g&-2;g=0;while(1){p=P(f,12);o=p+J[a+32>>2]|0;v=J[o+4>>2];p=j+p|0;J[p>>2]=J[o>>2];J[p+4>>2]=v;J[p+8>>2]=J[o+8>>2];p=P(f|1,12);o=p+J[a+32>>2]|0;v=J[o+4>>2];p=j+p|0;J[p>>2]=J[o>>2];J[p+4>>2]=v;J[p+8>>2]=J[o+8>>2];f=f+2|0;g=g+2|0;if((B|0)!=(g|0)){continue}break}}if(!q){break A}g=P(f,12);f=g+J[a+32>>2]|0;o=J[f+4>>2];g=g+j|0;J[g>>2]=J[f>>2];J[g+4>>2]=o;J[g+8>>2]=J[f+8>>2]}f=J[a+32>>2];if(!(f?!f|!K[a+36|0]:1)){J[8457]=J[8457]+1;ua[J[8259]](f)}J[a+32>>2]=j;H[a+36|0]=1;J[a+28>>2]=d;g=J[a+24>>2]}d=J[a+32>>2]+P(g,12)|0;J[d>>2]=0;J[d+4>>2]=0;J[d+8>>2]=0;J[a+24>>2]=J[a+24>>2]+1;o=J[a+32>>2];J[c+20>>2]=h;v=h+1|0;J[J[c+8>>2]+20>>2]=v;p=P(h,12)+o|0;J[p+16>>2]=-1;J[p+4>>2]=1;q=J[c+12>>2];d=J[q+104>>2];B:{if((d|0)>=0){f=m;m=d;break B}J[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){J[8456]=J[8456]+1;d=ua[J[8258]](g<<2,16)|0}else{d=0}E:{if((e|0)>0){B=0;f=0;if(e>>>0>=4){E=e&-4;h=0;while(1){j=f<<2;J[j+d>>2]=J[j+k>>2];C=j|4;J[C+d>>2]=J[k+C>>2];C=j|8;J[C+d>>2]=J[k+C>>2];j=j|12;J[j+d>>2]=J[j+k>>2];f=f+4|0;h=h+4|0;if((E|0)!=(h|0)){continue}break}}e=e&3;if(!e){break E}while(1){h=f<<2;J[h+d>>2]=J[h+k>>2];f=f+1|0;B=B+1|0;if((e|0)!=(B|0)){continue}break}break E}if(!k){break C}}if(k){J[8457]=J[8457]+1;ua[J[8259]](k)}break C}d=k;g=e}J[(m<<2)+d>>2]=q;f=m+1|0;k=d;e=g}J[p+8>>2]=m;J[(P(v,12)+o|0)+8>>2]=s;m=f}f=J[c+20>>2];d=f;if((b|0)>=0){J[J[a+32>>2]+P(f,12)>>2]=b-f;d=l}b=f;l=d;c=J[c>>2];if((D|0)!=(c|0)){continue}break}J[J[a+32>>2]+P(l,12)>>2]=b-l}c=s+1|0;if((m|0)>(c|0)){continue}break}h=0;while(1){o=J[J[(h<<2)+k>>2]+8>>2];f=o;if(f){while(1){c=J[f+20>>2];if((c|0)>=0){j=J[a+44>>2];F:{if((j|0)!=J[a+48>>2]){break F}e=j?j<<1:1;if((e|0)<=(j|0)){break F}G:{if(!e){d=0;break G}J[8456]=J[8456]+1;d=ua[J[8258]](e<<2,16)|0;j=J[a+44>>2]}b=J[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;J[m+d>>2]=J[b+m>>2];q=m|4;J[q+d>>2]=J[b+q>>2];q=m|8;J[q+d>>2]=J[b+q>>2];m=m|12;J[m+d>>2]=J[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;J[l+d>>2]=J[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?K[a+56|0]:0){J[8457]=J[8457]+1;ua[J[8259]](b)}j=J[a+44>>2]}J[a+52>>2]=d;H[a+56|0]=1;J[a+48>>2]=e;c=J[f+20>>2]}J[J[a+52>>2]+(j<<2)>>2]=c;J[a+44>>2]=J[a+44>>2]+1;c=f;while(1){J[c+20>>2]=-1;c=J[J[c+8>>2]+4>>2];if((f|0)!=(c|0)){continue}break}}f=J[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){J[8457]=J[8457]+1;ua[J[8259]](k)}}a=J[i+108>>2];if(!(a?!a|!K[i+112|0]:1)){J[8457]=J[8457]+1;ua[J[8259]](a)}J[i+108>>2]=0;H[i+112|0]=1;J[i+100>>2]=0;J[i+104>>2]=0;while(1){a=J[i+80>>2];if(a){J[i+80>>2]=J[a+8>>2];b=J[a>>2];if(b){J[8457]=J[8457]+1;ua[J[8259]](b)}if(a){J[8457]=J[8457]+1;ua[J[8259]](a)}continue}break}while(1){a=J[i+64>>2];if(a){J[i+64>>2]=J[a+8>>2];b=J[a>>2];if(b){J[8457]=J[8457]+1;ua[J[8259]](b)}if(a){J[8457]=J[8457]+1;ua[J[8259]](a)}continue}break}while(1){a=J[i+48>>2];if(!a){break a}J[i+48>>2]=J[a+8>>2];b=J[a>>2];if(b){J[8457]=J[8457]+1;ua[J[8259]](b)}if(a){J[8457]=J[8457]+1;ua[J[8259]](a)}continue}}sa=i+144|0}function Hc(a,b,c){var d=0,e=0,f=Q(0),g=0,h=0,i=0,j=0,k=Q(0),l=0,m=0,n=Q(0),o=Q(0),p=0,q=Q(0),r=Q(0),s=Q(0),t=0,u=Q(0),v=0,w=Q(0),x=Q(0),y=0,z=0,A=0,B=Q(0),C=0,D=0,E=Q(0),F=0,G=0,M=0,O=Q(0),P=Q(0);l=sa-32|0;sa=l;A=J[a+56>>2];a:{if((c-b|0)==1){b:{if(K[a+60|0]){b=J[a+116>>2]+(b<<4)|0;e=J[b+4>>2];c=J[a+136>>2]+(A<<4)|0;J[c>>2]=J[b>>2];J[c+4>>2]=e;break b}b=J[a+76>>2]+(b<<6)|0;e=J[b+4>>2];c=J[a+96>>2]+(A<<6)|0;J[c>>2]=J[b>>2];J[c+4>>2]=e;e=J[b+60>>2];J[c+56>>2]=J[b+56>>2];J[c+60>>2]=e;e=J[b+52>>2];J[c+48>>2]=J[b+48>>2];J[c+52>>2]=e;e=J[b+44>>2];J[c+40>>2]=J[b+40>>2];J[c+44>>2]=e;e=J[b+36>>2];J[c+32>>2]=J[b+32>>2];J[c+36>>2]=e;e=J[b+28>>2];J[c+24>>2]=J[b+24>>2];J[c+28>>2]=e;e=J[b+20>>2];J[c+16>>2]=J[b+16>>2];J[c+20>>2]=e}e=J[b+12>>2];J[c+8>>2]=J[b+8>>2];J[c+12>>2]=e;J[a+56>>2]=J[a+56>>2]+1;break a}p=c;e=b;g=c-e|0;c:{d:{e:{if((e|0)>=(c|0)){E=Q(g|0);break e}f:{if(!K[a+60|0]){d=J[a+76>>2];c=b;while(1){h=d+(c<<6)|0;x=Q(x+Q(Q(N[h+16>>2]+N[h>>2])*Q(.5)));r=Q(r+Q(Q(N[h+24>>2]+N[h+8>>2])*Q(.5)));s=Q(s+Q(Q(N[h+20>>2]+N[h+4>>2])*Q(.5)));c=c+1|0;if((p|0)!=(c|0)){continue}break}break f}u=N[a+12>>2];o=N[a+8>>2];q=N[a+44>>2];k=N[a+40>>2];d=J[a+116>>2];n=N[a+4>>2];f=N[a+36>>2];c=b;while(1){h=d+(c<<4)|0;x=Q(x+Q(Q(Q(Q(Q(L[h+6>>1])/f)+n)+Q(Q(Q(L[h>>1])/f)+n))*Q(.5)));r=Q(r+Q(Q(Q(Q(Q(L[h+10>>1])/q)+u)+Q(Q(Q(L[h+4>>1])/q)+u))*Q(.5)));s=Q(s+Q(Q(Q(Q(Q(L[h+8>>1])/k)+o)+Q(Q(Q(L[h+2>>1])/k)+o))*Q(.5)));c=c+1|0;if((p|0)!=(c|0)){continue}break}}E=Q(g|0);if((e|0)<(p|0)){break d}}r=Q(0);s=Q(0);break c}f=Q(Q(1)/E);O=Q(f*r);P=Q(f*s);x=Q(f*x);s=Q(0);if(!K[a+60|0]){c=J[a+76>>2];r=Q(0);while(1){d=c+(e<<6)|0;f=Q(Q(Q(N[d+16>>2]+N[d>>2])*Q(.5))-x);w=Q(w+Q(f*f));f=Q(Q(Q(N[d+24>>2]+N[d+8>>2])*Q(.5))-O);s=Q(s+Q(f*f));f=Q(Q(Q(N[d+20>>2]+N[d+4>>2])*Q(.5))-P);r=Q(r+Q(f*f));e=e+1|0;if((p|0)!=(e|0)){continue}break}break c}B=N[a+12>>2];u=N[a+8>>2];o=N[a+44>>2];q=N[a+40>>2];c=J[a+116>>2];k=N[a+4>>2];n=N[a+36>>2];r=Q(0);while(1){d=c+(e<<4)|0;f=Q(Q(Q(Q(Q(Q(L[d+6>>1])/n)+k)+Q(Q(Q(L[d>>1])/n)+k))*Q(.5))-x);w=Q(w+Q(f*f));f=Q(Q(Q(Q(Q(Q(L[d+10>>1])/o)+B)+Q(Q(Q(L[d+4>>1])/o)+B))*Q(.5))-O);s=Q(s+Q(f*f));f=Q(Q(Q(Q(Q(Q(L[d+8>>1])/q)+u)+Q(Q(Q(L[d+2>>1])/q)+u))*Q(.5))-P);r=Q(r+Q(f*f));e=e+1|0;if((p|0)!=(e|0)){continue}break}}k=Q(Q(1)/Q(E+Q(-1)));n=Q(k*w);f=Q(k*r);c=n(c?f:n)?2:c;r=Q(0);s=Q(0);w=Q(0);i=sa-96|0;J[i+28>>2]=0;v=p-b|0;d=(b|0)>=(p|0);g:{if(d){break g}if(!K[a+60|0]){e=J[a+76>>2];c=b;while(1){h=e+(c<<6)|0;w=Q(Q(Q(N[h+16>>2]+N[h>>2])*Q(.5))+w);r=Q(Q(Q(N[h+24>>2]+N[h+8>>2])*Q(.5))+r);s=Q(Q(Q(N[h+20>>2]+N[h+4>>2])*Q(.5))+s);c=c+1|0;if((p|0)!=(c|0)){continue}break}break g}u=N[a+12>>2];o=N[a+8>>2];q=N[a+44>>2];k=N[a+40>>2];e=J[a+116>>2];n=N[a+4>>2];f=N[a+36>>2];c=b;while(1){h=e+(c<<4)|0;w=Q(Q(Q(Q(Q(Q(L[h+6>>1])/f)+n)+Q(Q(Q(L[h>>1])/f)+n))*Q(.5))+w);r=Q(Q(Q(Q(Q(Q(L[h+10>>1])/q)+u)+Q(Q(Q(L[h+4>>1])/q)+u))*Q(.5))+r);s=Q(Q(Q(Q(Q(Q(L[h+8>>1])/k)+o)+Q(Q(Q(L[h+2>>1])/k)+o))*Q(.5))+s);c=c+1|0;if((p|0)!=(c|0)){continue}break}}f=Q(Q(1)/Q(v|0));N[i+24>>2]=f*r;N[i+20>>2]=f*s;N[i+16>>2]=f*w;e=b;if(!d){c=g<<2;B=N[c+(i+16|0)>>2];m=c+i|0;c=b;while(1){d=K[a+60|0];h:{if(d){g=J[a+116>>2]+(c<<4)|0;u=N[a+44>>2];o=N[a+12>>2];r=Q(Q(Q(L[g+4>>1])/u)+o);q=N[a+40>>2];k=N[a+8>>2];s=Q(Q(Q(L[g+2>>1])/q)+k);n=N[a+36>>2];f=N[a+4>>2];w=Q(Q(Q(L[g>>1])/n)+f);x=Q(Q(Q(L[g+10>>1])/u)+o);E=Q(Q(Q(L[g+8>>1])/q)+k);f=Q(Q(Q(L[g+6>>1])/n)+f);break h}g=J[a+76>>2]+(c<<6)|0;r=N[g+8>>2];s=N[g+4>>2];w=N[g>>2];x=N[g+24>>2];E=N[g+20>>2];f=N[g+16>>2]}J[i+12>>2]=0;N[i+8>>2]=Q(x+r)*Q(.5);N[i+4>>2]=Q(E+s)*Q(.5);N[i>>2]=Q(f+w)*Q(.5);if(B>2]){i:{if(d){g=J[a+116>>2];t=g+(c<<4)|0;h=t;d=J[h+12>>2];J[i+40>>2]=J[h+8>>2];J[i+44>>2]=d;d=J[h+4>>2];J[i+32>>2]=J[h>>2];J[i+36>>2]=d;h=g;g=e<<4;h=h+g|0;d=J[h+4>>2];J[t>>2]=J[h>>2];J[t+4>>2]=d;d=J[h+12>>2];J[t+8>>2]=J[h+8>>2];J[t+12>>2]=d;d=J[i+36>>2];g=g+J[a+116>>2]|0;J[g>>2]=J[i+32>>2];J[g+4>>2]=d;d=J[i+44>>2];J[g+8>>2]=J[i+40>>2];J[g+12>>2]=d;break i}h=J[a+76>>2];j=h+(c<<6)|0;d=J[j+60>>2];J[i+88>>2]=J[j+56>>2];J[i+92>>2]=d;d=J[j+52>>2];J[i+80>>2]=J[j+48>>2];J[i+84>>2]=d;d=J[j+44>>2];J[i+72>>2]=J[j+40>>2];J[i+76>>2]=d;d=J[j+36>>2];t=i- -64|0;g=t;J[g>>2]=J[j+32>>2];J[g+4>>2]=d;d=J[j+28>>2];J[i+56>>2]=J[j+24>>2];J[i+60>>2]=d;d=J[j+20>>2];J[i+48>>2]=J[j+16>>2];J[i+52>>2]=d;d=J[j+12>>2];J[i+40>>2]=J[j+8>>2];J[i+44>>2]=d;d=J[j+4>>2];J[i+32>>2]=J[j>>2];J[i+36>>2]=d;g=e<<6;h=g+h|0;d=J[h+4>>2];J[j>>2]=J[h>>2];J[j+4>>2]=d;d=J[h+12>>2];J[j+8>>2]=J[h+8>>2];J[j+12>>2]=d;d=J[h+20>>2];J[j+16>>2]=J[h+16>>2];J[j+20>>2]=d;d=J[h+28>>2];J[j+24>>2]=J[h+24>>2];J[j+28>>2]=d;d=J[h+36>>2];J[j+32>>2]=J[h+32>>2];J[j+36>>2]=d;d=J[h+44>>2];J[j+40>>2]=J[h+40>>2];J[j+44>>2]=d;d=J[h+52>>2];J[j+48>>2]=J[h+48>>2];J[j+52>>2]=d;d=J[h+60>>2];J[j+56>>2]=J[h+56>>2];J[j+60>>2]=d;d=J[i+36>>2];g=g+J[a+76>>2]|0;J[g>>2]=J[i+32>>2];J[g+4>>2]=d;d=J[i+44>>2];J[g+8>>2]=J[i+40>>2];J[g+12>>2]=d;d=J[i+52>>2];J[g+16>>2]=J[i+48>>2];J[g+20>>2]=d;d=J[i+60>>2];J[g+24>>2]=J[i+56>>2];J[g+28>>2]=d;d=J[t+4>>2];J[g+32>>2]=J[t>>2];J[g+36>>2]=d;d=J[i+76>>2];J[g+40>>2]=J[i+72>>2];J[g+44>>2]=d;d=J[i+84>>2];J[g+48>>2]=J[i+80>>2];J[g+52>>2]=d;d=J[i+92>>2];J[g+56>>2]=J[i+88>>2];J[g+60>>2]=d}e=e+1|0}c=c+1|0;if((p|0)!=(c|0)){continue}break}}c=(v>>1)+b|0;g=c;c=(v|0)/3|0;j=(b+c|0)>=(e|0)?g:(p+(c^-1)|0)<=(e|0)?g:e;F=J[a+56>>2];j:{if(K[a+60|0]){u=N[a+40>>2];o=N[a+8>>2];q=N[a+24>>2];k=N[a+44>>2];n=N[a+12>>2];f=N[a+28>>2];c=J[a+136>>2]+(F<<4)|0;B=Q(Q(N[a+20>>2]-N[a+4>>2])*N[a+36>>2]);k:{if(B=Q(0)){e=~~B>>>0;break k}e=0}I[c>>1]=e&65534;f=Q(Q(f-n)*k);l:{if(f=Q(0)){e=~~f>>>0;break l}e=0}I[c+4>>1]=e&65534;f=Q(Q(q-o)*u);m:{if(f=Q(0)){e=~~f>>>0;break m}e=0}I[c+2>>1]=e&65534;break j}c=J[a+24>>2];e=J[a+96>>2]+(F<<6)|0;J[e>>2]=J[a+20>>2];J[e+4>>2]=c;c=J[a+32>>2];J[e+8>>2]=J[a+28>>2];J[e+12>>2]=c}c=J[a+56>>2];n:{if(K[a+60|0]){k=N[a+40>>2];o=N[a+8>>2];n=N[a+44>>2];q=N[a+12>>2];c=J[a+136>>2]+(c<<4)|0;f=N[a+4>>2];f=Q(Q(Q(f-f)*N[a+36>>2])+Q(1));o:{if(f=Q(0)){e=~~f>>>0;break o}e=0}I[c+6>>1]=e|1;f=Q(Q(Q(q-q)*n)+Q(1));p:{if(f=Q(0)){e=~~f>>>0;break p}e=0}I[c+10>>1]=e|1;f=Q(Q(Q(o-o)*k)+Q(1));q:{if(f=Q(0)){e=~~f>>>0;break q}e=0}I[c+8>>1]=e|1;break n}e=J[a+96>>2]+(c<<6)|0;c=J[a+8>>2];J[e+16>>2]=J[a+4>>2];J[e+20>>2]=c;c=J[a+16>>2];J[e+24>>2]=J[a+12>>2];J[e+28>>2]=c}if((b|0)<(p|0)){c=b;while(1){r:{if(K[a+60|0]){h=J[a+116>>2]+(c<<4)|0;g=L[h+4>>1];d=L[h+2>>1];e=L[h>>1];u=N[a+44>>2];o=N[a+40>>2];q=N[a+36>>2];J[l+28>>2]=0;k=N[a+4>>2];N[l+16>>2]=Q(Q(e>>>0)/q)+k;n=N[a+8>>2];N[l+20>>2]=Q(Q(d>>>0)/o)+n;f=N[a+12>>2];N[l+24>>2]=Q(Q(g>>>0)/u)+f;g=L[h+6>>1];d=L[h+8>>1];e=L[h+10>>1];J[l+12>>2]=0;N[l+8>>2]=f+Q(Q(e>>>0)/u);N[l+4>>2]=n+Q(Q(d>>>0)/o);N[l>>2]=k+Q(Q(g>>>0)/q);break r}d=J[a+76>>2]+(c<<6)|0;e=J[d+12>>2];J[l+24>>2]=J[d+8>>2];J[l+28>>2]=e;e=J[d+4>>2];J[l+16>>2]=J[d>>2];J[l+20>>2]=e;e=J[d+28>>2];J[l+8>>2]=J[d+24>>2];J[l+12>>2]=e;e=J[d+20>>2];J[l>>2]=J[d+16>>2];J[l+4>>2]=e}y=J[a+56>>2];s:{if(K[a+60|0]){q=N[a+12>>2];k=N[a+44>>2];f=Q(Q(N[l+24>>2]-q)*k);t:{if(f=Q(0)){m=~~f>>>0;break t}m=0}n=N[a+8>>2];f=N[a+40>>2];o=Q(Q(N[l+20>>2]-n)*f);u:{if(o=Q(0)){h=~~o>>>0;break u}h=0}k=Q(Q(k*Q(N[l+8>>2]-q))+Q(1));v:{if(k=Q(0)){g=~~k>>>0;break v}g=0}f=Q(Q(f*Q(N[l+4>>2]-n))+Q(1));w:{if(f=Q(0)){d=~~f>>>0;break w}d=0}n=N[a+4>>2];f=N[a+36>>2];k=Q(Q(N[l+16>>2]-n)*f);x:{if(k=Q(0)){e=~~k>>>0;break x}e=0}v=e&65534;i=J[a+136>>2];z=i+(y<<4)|0;t=v>>>0>=L[z>>1];f=Q(Q(f*Q(N[l>>2]-n))+Q(1));y:{if(f=Q(0)){e=~~f>>>0;break y}e=0}if(!t){I[z>>1]=v}e=e|1;t=i+(y<<4)|0;if(e>>>0>L[t+6>>1]){I[t+6>>1]=e}e=h&65534;if(e>>>0>1]){I[z+2>>1]=e}e=d|1;h=i+(y<<4)|0;if(e>>>0>L[h+8>>1]){I[h+8>>1]=e}e=m&65534;if(e>>>0>1]){I[z+4>>1]=e}e=g|1;d=i+(y<<4)|0;if(e>>>0<=L[d+10>>1]){break s}I[d+10>>1]=e;break s}f=N[l+16>>2];e=J[a+96>>2];d=e+(y<<6)|0;if(f>2]){N[d>>2]=f}f=N[l+20>>2];if(f>2]){N[d+4>>2]=f}f=N[l+24>>2];if(f>2]){N[d+8>>2]=f}f=N[l+28>>2];if(f>2]){N[d+12>>2]=f}f=N[l>>2];e=e+(y<<6)|0;if(f>N[e+16>>2]){N[e+16>>2]=f}f=N[l+4>>2];if(f>N[e+20>>2]){N[e+20>>2]=f}f=N[l+8>>2];if(f>N[e+24>>2]){N[e+24>>2]=f}f=N[l+12>>2];if(!(f>N[e+28>>2])){break s}N[e+28>>2]=f}c=c+1|0;if((p|0)!=(c|0)){continue}break}}G=J[a+56>>2]+1|0;J[a+56>>2]=G;Hc(a,b,j);y=J[a+56>>2];Hc(a,j,p);c=K[a+60|0];z=J[a+56>>2]-A|0;if(!(!c|(z|0)<129)){p=0;A=J[a+136>>2];i=A+(y<<4)|0;b=J[i+12>>2];t=(b|0)>=0?1:0-b|0;j=A+(G<<4)|0;b=J[j+12>>2];h=(b|0)>=0?1:0-b|0;if(h>>>0<=128){e=J[a+152>>2];c=e;z:{if((c|0)!=J[a+156>>2]){break z}v=c?e<<1:1;if((v|0)<=(c|0)){break z}if(v){J[8456]=J[8456]+1;M=ua[J[8258]](v<<5,16)|0;b=J[a+152>>2]}else{b=e}A:{if((b|0)<=0){break A}if((b|0)!=1){g=b&-2;while(1){m=C<<5;d=m+M|0;D=J[a+160>>2]+m|0;c=J[D+4>>2];J[d>>2]=J[D>>2];J[d+4>>2]=c;c=J[D+28>>2];J[d+24>>2]=J[D+24>>2];J[d+28>>2]=c;c=J[D+20>>2];J[d+16>>2]=J[D+16>>2];J[d+20>>2]=c;c=J[D+12>>2];J[d+8>>2]=J[D+8>>2];J[d+12>>2]=c;c=m|32;d=c+M|0;m=c+J[a+160>>2]|0;c=J[m+4>>2];J[d>>2]=J[m>>2];J[d+4>>2]=c;c=J[m+12>>2];J[d+8>>2]=J[m+8>>2];J[d+12>>2]=c;c=J[m+20>>2];J[d+16>>2]=J[m+16>>2];J[d+20>>2]=c;c=J[m+28>>2];J[d+24>>2]=J[m+24>>2];J[d+28>>2]=c;C=C+2|0;p=p+2|0;if((g|0)!=(p|0)){continue}break}}if(!(b&1)){break A}b=C<<5;c=b+M|0;d=b+J[a+160>>2]|0;b=J[d+4>>2];J[c>>2]=J[d>>2];J[c+4>>2]=b;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;b=J[d+12>>2];J[c+8>>2]=J[d+8>>2];J[c+12>>2]=b}b=J[a+160>>2];if(!(b?!b|!K[a+164|0]:1)){J[8457]=J[8457]+1;ua[J[8259]](b)}J[a+160>>2]=M;H[a+164|0]=1;J[a+156>>2]=v;c=J[a+152>>2]}J[a+152>>2]=c+1;c=J[a+160>>2]+(e<<5)|0;I[c>>1]=L[j>>1];I[c+2>>1]=L[j+2>>1];I[c+4>>1]=L[j+4>>1];b=A+(G<<4)|0;I[c+6>>1]=L[b+6>>1];I[c+8>>1]=L[b+8>>1];b=L[b+10>>1];J[c+16>>2]=h;J[c+12>>2]=G;I[c+10>>1]=b}if((t|0)<=128){e=J[a+152>>2];c=e;B:{if((c|0)!=J[a+156>>2]){break B}v=c?e<<1:1;if((v|0)<=(c|0)){break B}C:{if(!v){b=0;c=e;break C}J[8456]=J[8456]+1;b=ua[J[8258]](v<<5,16)|0;c=J[a+152>>2]}D:{if((c|0)<=0){break D}C=0;if((c|0)!=1){h=c&-2;p=0;while(1){m=C<<5;g=m+b|0;j=m+J[a+160>>2]|0;d=J[j+4>>2];J[g>>2]=J[j>>2];J[g+4>>2]=d;d=J[j+28>>2];J[g+24>>2]=J[j+24>>2];J[g+28>>2]=d;d=J[j+20>>2];J[g+16>>2]=J[j+16>>2];J[g+20>>2]=d;d=J[j+12>>2];J[g+8>>2]=J[j+8>>2];J[g+12>>2]=d;d=m|32;g=d+b|0;m=d+J[a+160>>2]|0;d=J[m+4>>2];J[g>>2]=J[m>>2];J[g+4>>2]=d;d=J[m+12>>2];J[g+8>>2]=J[m+8>>2];J[g+12>>2]=d;d=J[m+20>>2];J[g+16>>2]=J[m+16>>2];J[g+20>>2]=d;d=J[m+28>>2];J[g+24>>2]=J[m+24>>2];J[g+28>>2]=d;C=C+2|0;p=p+2|0;if((h|0)!=(p|0)){continue}break}}if(!(c&1)){break D}c=C<<5;d=c+b|0;g=c+J[a+160>>2]|0;c=J[g+4>>2];J[d>>2]=J[g>>2];J[d+4>>2]=c;c=J[g+28>>2];J[d+24>>2]=J[g+24>>2];J[d+28>>2]=c;c=J[g+20>>2];J[d+16>>2]=J[g+16>>2];J[d+20>>2]=c;c=J[g+12>>2];J[d+8>>2]=J[g+8>>2];J[d+12>>2]=c}c=J[a+160>>2];if(!(c?!c|!K[a+164|0]:1)){J[8457]=J[8457]+1;ua[J[8259]](c)}J[a+160>>2]=b;H[a+164|0]=1;J[a+156>>2]=v;c=J[a+152>>2]}J[a+152>>2]=c+1;c=J[a+160>>2]+(e<<5)|0;I[c>>1]=L[i>>1];I[c+2>>1]=L[i+2>>1];I[c+4>>1]=L[i+4>>1];b=A+(y<<4)|0;I[c+6>>1]=L[b+6>>1];I[c+8>>1]=L[b+8>>1];b=L[b+10>>1];J[c+16>>2]=t;J[c+12>>2]=y;I[c+10>>1]=b}J[a+168>>2]=J[a+152>>2];c=K[a+60|0]}if(c&255){J[(J[a+136>>2]+(F<<4)|0)+12>>2]=0-z;break a}J[(J[a+96>>2]+(F<<6)|0)+32>>2]=z}sa=l+32|0}function Cc(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;u=sa-16|0;sa=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}}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:{g=J[c+88>>2];j=J[c+200>>2];k=(g|0)!=(j|0);f=J[c+204>>2];e=J[c+92>>2];g:{if(!(k|(f|0)!=(e|0))){if(J[c+96>>2]==J[c+208>>2]){break f}e=J[c+96>>2]>J[c+208>>2];f=(e?112:0)+c|0;J[f>>2]=f;f=e?b:c;J[f+4>>2]=f;J[d+4>>2]=f;J[d>>2]=f;b=e?c:b;e=f;c=e;break g}J[c+4>>2]=b;J[c>>2]=b;J[c+116>>2]=c;J[c+112>>2]=c;s=(e|0)<(f|0);i=s&(g|0)==(j|0);g=(g|0)<(j|0);j=i|g;J[d+4>>2]=j?b:c;J[d>>2]=j?c:b;f=s|g&(k&(e|0)==(f|0));e=f?b:c;f=f?c:b}J[d+12>>2]=e;J[d+8>>2]=f;a=Dc(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}e=((f|0)/2|0)+b|0;f=e;h:{if((e|0)>=(c|0)){break h}j=J[a+92>>2];f=J[(j+(e<<2)|0)-4>>2];k=J[f+88>>2];s=J[f+96>>2];i=J[f+92>>2];f=e;while(1){g=J[j+(f<<2)>>2];if((k|0)!=J[g+88>>2]|(i|0)!=J[g+92>>2]|(s|0)!=J[g+96>>2]){break h}f=f+1|0;if((f|0)<(c|0)){continue}break}f=c}Cc(a,b,e,d);J[u+8>>2]=0;J[u+12>>2]=0;J[u>>2]=0;J[u+4>>2]=0;Cc(a,f,c,u);o=a;c=0;h=sa-128|0;sa=h;i:{if(!J[u+4>>2]){break i}if(!J[d+4>>2]){a=J[u+4>>2];J[d>>2]=J[u>>2];J[d+4>>2]=a;a=J[u+12>>2];J[d+8>>2]=J[u+8>>2];J[d+12>>2]=a;break i}J[o+100>>2]=J[o+100>>2]-1;J[h+124>>2]=0;J[h+120>>2]=0;k=0;i=d;a=J[d+12>>2];j=J[u+8>>2];j:{k:{l:{if(J[a+88>>2]!=J[j+88>>2]|J[a+92>>2]!=J[j+92>>2]){break l}d=J[j+4>>2];if((d|0)==(j|0)){J[h+124>>2]=a;b=J[j+8>>2];a=0;if(!b){break k}J[h+120>>2]=J[b+12>>2];a=0;break j}a=J[j>>2];J[d>>2]=a;J[a+4>>2]=d;if(J[u>>2]==(j|0)){g=u;f=J[a+88>>2];e=J[d+88>>2];b=a;m:{if((f|0)<(e|0)){break m}if((e|0)==(f|0)){b=a;if(J[a+92>>2]>2]){break m}}b=d}J[g>>2]=b}if(J[u+4>>2]!=(j|0)){break l}b=J[a+88>>2];f=J[d+88>>2];J[u+4>>2]=(b|0)>(f|0)|(b|0)==(f|0)&J[a+92>>2]>J[d+92>>2]?a:d}m=J[u>>2];w=J[i>>2];B=J[i+4>>2];a=B;z=J[u+4>>2];d=z;j=0;s=1;while(1){l=J[a+88>>2];f=P(J[d+88>>2]-l|0,s);n:{if((f|0)>0){while(1){b=d;g=J[d+92>>2];e=f;while(1){o:{f=J[a+92>>2];l=g-f|0;d=J[(t?a:a+4|0)>>2];if((d|0)==(a|0)){break o}p=J[d+92>>2]-f|0;if((p|0)>0){break o}n=J[d+88>>2];f=P(n-J[a+88>>2]|0,s);if((P(e,p)|0)>(P(f,l)|0)|(f|0)>=0?f:0){break o}e=P(J[b+88>>2]-n|0,s);a=d;continue}break}d=J[(t?b:b+4|0)>>2];if((d|0)==(b|0)){break n}p=J[d+88>>2];f=P(p-J[a+88>>2]|0,s);if((f|0)<=0){break n}n=J[d+92>>2]-g|0;if((n|0)>=0){break n}g=P(p-J[b+88>>2]|0,s);if(!g){continue}if((g|0)>=0){break n}if((P(e,n)|0)<(P(g,l)|0)){continue}break n}}p:{if((f|0)<0){q:while(1){l=J[d+92>>2];b=J[(t?d+4|0:d)>>2];while(1){g=f;e=a;n=J[a+92>>2];p=l-n|0;r:{if((b|0)==(d|0)){break r}f=J[b+92>>2]-l|0;if((f|0)<0){break r}q=J[b+88>>2];a=P(q-J[d+88>>2]|0,s);if((P(f,g)|0)>(P(a,p)|0)|(a|0)>=0?a:0){break r}f=P(q-J[e+88>>2]|0,s);d=b;a=e;continue q}a=J[(t?e+4|0:e)>>2];if((e|0)==(a|0)){break p}q=J[a+88>>2];f=P(J[d+88>>2]-q|0,s);if((f|0)>=0){break p}A=J[a+92>>2]-n|0;if((A|0)<=0){break p}n=P(q-J[e+88>>2]|0,s);if(!n){continue}if((n|0)>=0){break p}if((P(g,A)|0)<(P(n,p)|0)){continue}break}break p}}e=J[a+92>>2];f=a;s:{if(!t){while(1){g=f;f=J[f+4>>2];if((f|0)==(a|0)|(l|0)!=J[f+88>>2]){break s}b=e;e=J[f+92>>2];if((b|0)>=(e|0)){continue}break s}}while(1){g=f;f=J[f>>2];if((f|0)==(a|0)|(l|0)!=J[f+88>>2]){break s}b=e;e=J[f+92>>2];if((b|0)>=(e|0)){continue}break}}f=J[d+92>>2];e=d;a=d;t:{if(!t){while(1){b=e;e=J[e>>2];if((e|0)==(d|0)|(l|0)!=J[e+88>>2]){break t}a=f;f=J[e+92>>2];if((a|0)<=(f|0)){continue}break t}}while(1){b=a;a=J[a+4>>2];if((d|0)==(a|0)|(l|0)!=J[a+88>>2]){break t}e=f;f=J[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}J[a+4>>2]=d;J[d>>2]=a;J[k>>2]=j;J[j+4>>2]=k;if(J[m+88>>2]>2]){J[i>>2]=m}if(J[z+88>>2]>=J[B+88>>2]){J[i+4>>2]=z}J[i+12>>2]=J[u+12>>2];J[h+124>>2]=k;a=1}J[h+120>>2]=j}w=J[h+120>>2];u:{if(a){z=J[h+124>>2];i=J[z+96>>2];n=J[w+96>>2];p=J[z+92>>2];j=J[w+92>>2];d=J[z+8>>2];q=J[z+88>>2];B=J[w+88>>2];J[h+80>>2]=0;a=n-i|0;g=a>>31;b=j-p|0;m=b>>31;k=us(a,g,b,m);A=ta;e=B-q|0;f=0-e|0;l=f>>31;e=us(f,l,e,e>>31);t=ta;D=us(b,m,b,m);s=e-D|0;D=t-(ta+(e>>>0>>0)|0)|0;a=us(f,l,a,g);t=0-a|0;E=0-(ta+((a|0)!=0)|0)|0;if(d){a=d;while(1){r=J[a+12>>2];v=J[r+92>>2];e=v-p|0;g=e;y=e>>31;x=us(e,y,f,l);C=ta;I=J[r+88>>2];e=I-q|0;K=e>>31;G=us(b,m,e,K);v:{if((x|0)!=(0-G|0)|(0-(ta+((G|0)!=0)|0)|0)!=(C|0)){break v}g=us(k,A,g,y);y=ta;x=us(t,E,e,K);g=x+g|0;e=ta+y|0;e=g>>>0>>0?e+1|0:e;G=g;y=J[r+96>>2];g=y-i|0;x=us(s,D,g,g>>31);r=G+x|0;g=ta+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=J[c+4>>2];if(J[c>>2]==(a|0)){if((a|0)!=(e|0)){break v}e=J[c+12>>2];g=J[J[a+8>>2]+12>>2];x=J[g+96>>2];r=J[e+96>>2]-x|0;C=J[g+92>>2];y=y-x|0;v=P(r,C-v|0)+P(y,J[e+92>>2]-C|0)|0;v=us(v,v>>31,b,m);x=ta;g=J[g+88>>2];e=P(y,g-J[e+88>>2]|0)+P(r,I-g|0)|0;r=us(e,e>>31,f,l);e=r+v|0;g=ta+x|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=J[a>>2];if((d|0)!=(a|0)){continue}break}J[h+80>>2]=c}e=J[w+8>>2];d=0;J[h+56>>2]=0;if(e){a=e;while(1){p=J[a+12>>2];q=J[p+92>>2];g=q-j|0;i=g;r=g>>31;v=us(g,r,f,l);y=ta;x=J[p+88>>2];g=x-B|0;C=g>>31;I=us(b,m,g,C);x:{if((v|0)!=(0-I|0)|(0-(ta+((I|0)!=0)|0)|0)!=(y|0)){break x}i=us(k,A,i,r);r=ta;v=us(t,E,g,C);i=v+i|0;g=ta+r|0;g=i>>>0>>0?g+1|0:g;G=i;r=J[p+96>>2];i=r-n|0;p=us(s,D,i,i>>31);i=G+p|0;g=ta+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(J[d>>2]!=(a|0)){break x}if(J[d+4>>2]!=(a|0)){break y}g=J[d+12>>2];i=J[J[a+8>>2]+12>>2];v=J[i+96>>2];p=J[g+96>>2]-v|0;y=J[i+92>>2];r=r-v|0;q=P(p,y-q|0)+P(r,J[g+92>>2]-y|0)|0;q=us(q,q>>31,b,m);v=ta;i=J[i+88>>2];g=P(r,i-J[g+88>>2]|0)+P(p,x-i|0)|0;p=us(g,g>>31,f,l);i=p+q|0;g=ta+v|0;g=i>>>0

>>0?g+1|0:g;if(!i&(g|0)<=0|(g|0)<0){break x}}d=a}a=J[a>>2];if((e|0)!=(a|0)){continue}break}J[h+56>>2]=d}z:{if(!(c|d)){break z}he(o,z,w,h+80|0,h+56|0);a=J[h+80>>2];if(a){z=J[a+12>>2];J[h+124>>2]=z}a=J[h+56>>2];if(!a){break z}w=J[a+12>>2];J[h+120>>2]=w;n=J[w+96>>2];j=J[w+92>>2];B=J[w+88>>2]}a=n+1|0;break u}B=J[w+88>>2]+1|0;j=J[w+92>>2];z=J[h+124>>2];a=J[w+96>>2]}p=a;a=z;f=w;i=0;g=0;s=0;k=1;c=0;b=0;t=0;while(1){n=J[f+96>>2];d=J[a+96>>2];e=J[a+92>>2];l=J[f+92>>2];m=J[a+88>>2];q=J[f+88>>2];J[h+116>>2]=-1;l=l-e|0;J[h+108>>2]=l;n=n-d|0;J[h+112>>2]=n;q=q-m|0;J[h+104>>2]=q;E=j-e|0;e=p-d|0;d=P(E,n)-P(e,l)|0;A=d>>31;J[h+80>>2]=d;J[h+84>>2]=A;m=B-m|0;e=P(e,q)-P(m,n)|0;D=e>>31;J[h+88>>2]=e;J[h+92>>2]=D;m=P(l,m)-P(q,E)|0;E=m>>31;J[h+96>>2]=m;J[h+100>>2]=E;v=q>>31;r=us(e,D,q,v);y=ta;x=l>>31;C=us(d,A,l,x);J[h+72>>2]=r-C;J[h+76>>2]=y-(ta+(r>>>0>>0)|0);G=A;A=n>>31;d=us(d,G,n,A);r=ta;q=us(m,E,q,v);J[h+64>>2]=d-q;J[h+68>>2]=r-(ta+(d>>>0>>0)|0);d=us(l,x,m,E);m=ta;e=us(e,D,n,A);J[h+56>>2]=d-e;J[h+60>>2]=m-(ta+(d>>>0>>0)|0);J[h+48>>2]=0;J[h+40>>2]=0;J[h+44>>2]=0;J[h+32>>2]=0;J[h+36>>2]=0;d=h+104|0;e=h+80|0;m=h+56|0;l=ge(o,0,a,d,e,m,h+32|0);J[h+24>>2]=0;J[h+16>>2]=0;J[h+20>>2]=0;J[h+8>>2]=0;J[h+12>>2]=0;m=ge(o,1,f,d,e,m,h+8|0);if(!(m|l)){b=Dc(o,a,f);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[f+8>>2]=a;break i}n=l?-1:1;if(!(!l|!m)){n=lb(h+32|0,h+8|0)}A:{B:{C:{if(k&1){break C}if((n|0)>=0){if(J[h+16>>2]|J[h+20>>2]|J[h+24>>2]>=0){break C}k=i;f=g;e=c;d=b;break B}if(J[h+40>>2]|J[h+44>>2]|J[h+48>>2]>=0){break C}J[h+4>>2]=l;e=c;d=b;break A}e=Dc(o,a,f);d=e;if(c){J[c+4>>2]=e;d=b}J[e>>2]=c;k=J[e+8>>2];f=k;if(i){J[i>>2]=k;f=g}J[k+4>>2]=i}J[h+4>>2]=l;J[h>>2]=m;c=m;if(!n){he(o,J[h+124>>2],J[h+120>>2],h+4|0,h);c=J[h>>2]}if(!(!c|(n|0)<0)){D:{E:{if(F){a=J[F>>2];if((m|0)!=(a|0)){while(1){i=J[a+8>>2];b=0;j=0;g=J[a>>2];if((g|0)!=(a|0)){J[g+4>>2]=J[a+4>>2];J[J[a+4>>2]>>2]=g;j=g}J[J[i+12>>2]+8>>2]=j;j=J[i>>2];if((j|0)!=(i|0)){J[j+4>>2]=J[i+4>>2];J[J[i+4>>2]>>2]=j;b=j}J[J[a+12>>2]+8>>2]=b;J[a+16>>2]=0;J[a+8>>2]=0;J[a+12>>2]=0;J[a>>2]=0;J[a+4>>2]=0;J[a>>2]=J[o+56>>2];J[o+56>>2]=a;J[i+16>>2]=0;J[i+8>>2]=0;J[i+12>>2]=0;J[i>>2]=0;J[i+4>>2]=0;J[i>>2]=J[o+56>>2];J[o+56>>2]=i;J[o+116>>2]=J[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}F=J[m+4>>2];s=f}J[F>>2]=f;J[f+4>>2]=F;J[k>>2]=m;J[m+4>>2]=k;c=J[h>>2];f=0}g=f;a=J[h+120>>2];p=J[a+96>>2];j=J[a+92>>2];B=J[a+88>>2];J[h+120>>2]=J[c+12>>2];F=J[c+8>>2];i=0;break A}i=k;g=f}F:{G:{if((n|0)<=0){n=J[h+4>>2];if(n){break G}}a=J[h+124>>2];break F}H:{I:{if(H){a=J[H+4>>2];if((l|0)!=(a|0)){while(1){k=J[a+8>>2];j=J[a+4>>2];b=0;c=0;f=J[a>>2];if((f|0)!=(a|0)){J[f+4>>2]=j;J[J[a+4>>2]>>2]=f;c=f}J[J[k+12>>2]+8>>2]=c;c=J[k>>2];if((c|0)!=(k|0)){J[c+4>>2]=J[k+4>>2];J[J[k+4>>2]>>2]=c;b=c}J[J[a+12>>2]+8>>2]=b;J[a+16>>2]=0;J[a+8>>2]=0;J[a+12>>2]=0;J[a>>2]=0;J[a+4>>2]=0;J[a>>2]=J[o+56>>2];J[o+56>>2]=a;J[k+16>>2]=0;J[k+8>>2]=0;J[k+12>>2]=0;J[k>>2]=0;J[k+4>>2]=0;J[k>>2]=J[o+56>>2];J[o+56>>2]=k;J[o+116>>2]=J[o+116>>2]-1;a=j;if((l|0)!=(a|0)){continue}break}}if(!e){break H}J[d>>2]=H;a=H+4|0;break I}if(!e){t=l;break H}a=J[l>>2];J[d>>2]=a;t=d;a=a+4|0}J[a>>2]=d;J[l>>2]=e;J[e+4>>2]=l;d=0;n=J[h+4>>2]}a=J[h+124>>2];p=J[a+96>>2];j=J[a+92>>2];B=J[a+88>>2];a=J[n+12>>2];J[h+124>>2]=a;H=J[n+8>>2];e=0}f=J[h+120>>2];if((a|0)!=(z|0)|(w|0)!=(f|0)){k=0;c=e;b=d;continue}else{J:{if(!H){J[d>>2]=e;J[e+4>>2]=d;J[J[h+124>>2]+8>>2]=e;break J}a=J[H+4>>2];if((t|0)!=(a|0)){while(1){k=J[a+8>>2];f=J[a+4>>2];b=0;c=J[a>>2];if((c|0)!=(a|0)){J[c+4>>2]=f;J[J[a+4>>2]>>2]=c;b=c}J[J[k+12>>2]+8>>2]=b;j=J[k>>2];K:{if((k|0)==(j|0)){j=0;break K}J[j+4>>2]=J[k+4>>2];J[J[k+4>>2]>>2]=j}J[J[a+12>>2]+8>>2]=j;J[a+16>>2]=0;J[a+8>>2]=0;J[a+12>>2]=0;J[a>>2]=0;J[a+4>>2]=0;J[a>>2]=J[o+56>>2];J[o+56>>2]=a;J[k+16>>2]=0;J[k+8>>2]=0;J[k+12>>2]=0;J[k>>2]=0;J[k+4>>2]=0;J[k>>2]=J[o+56>>2];J[o+56>>2]=k;J[o+116>>2]=J[o+116>>2]-1;a=f;if((t|0)!=(a|0)){continue}break}}if(!e){break J}J[d>>2]=H;J[H+4>>2]=d;J[t>>2]=e;J[e+4>>2]=t}if(!F){J[i>>2]=g;J[g+4>>2]=i;J[J[h+120>>2]+8>>2]=i;break i}a=J[F>>2];if((s|0)!=(a|0)){while(1){c=J[a+8>>2];j=0;b=J[a>>2];if((b|0)!=(a|0)){J[b+4>>2]=J[a+4>>2];J[J[a+4>>2]>>2]=b;j=b}J[J[c+12>>2]+8>>2]=j;j=J[c>>2];L:{if((c|0)==(j|0)){j=0;break L}J[j+4>>2]=J[c+4>>2];J[J[c+4>>2]>>2]=j}J[J[a+12>>2]+8>>2]=j;J[a+16>>2]=0;J[a+8>>2]=0;J[a+12>>2]=0;J[a>>2]=0;J[a+4>>2]=0;J[a>>2]=J[o+56>>2];J[o+56>>2]=a;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[o+56>>2];J[o+56>>2]=c;J[o+116>>2]=J[o+116>>2]-1;a=b;if((s|0)!=(a|0)){continue}break}}if(!i){break i}J[F>>2]=g;J[g+4>>2]=F;J[i>>2]=s;J[s+4>>2]=i}break}}sa=h+128|0}sa=u+16|0}function Rd(a){var b=0,c=0,d=0,e=Q(0),f=Q(0),g=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=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=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),P=Q(0),R=Q(0),S=Q(0),T=Q(0),U=Q(0),V=0,W=0,X=0,Y=0,Z=Q(0),_=Q(0),$=0;k=sa-16|0;sa=k;a:{if(!K[a+356|0]){c=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;d=K[a+332|0]&-16;H[a+332|0]=d;b=a+316|0;b:{c:{switch(J[a>>2]-1|0){case 0:c=J[a+168>>2];J[a+260>>2]=J[a+164>>2];J[a+264>>2]=c;c=J[a+88>>2];J[a+244>>2]=J[a+84>>2];J[a+248>>2]=c;c=J[a+176>>2];J[a+268>>2]=J[a+172>>2];J[a+272>>2]=c;c=J[a+96>>2];J[a+252>>2]=J[a+92>>2];J[a+256>>2]=c;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;c=1;break b;case 1:g=1;j=N[a+8>>2];e=Q(N[a+24>>2]-j);i=N[a+12>>2];h=Q(N[a+28>>2]-i);m=Q(h*Q(Q(0)-i));l=N[a+4>>2];i=Q(N[a+20>>2]-l);j=Q(m+Q(Q(i*Q(Q(0)-l))+Q(Q(Q(0)-j)*e)));b=j>Q(0);c=1;d:{if(!b){break d}f=Q(Q(h*h)+Q(Q(i*i)+Q(e*e)));if(!(f>j)){f=Q(1);c=2;break d}f=Q(j/f);c=3}J[a+344>>2]=0;J[a+348>>2]=0;N[a+340>>2]=f;j=Q(Q(1)-f);N[a+336>>2]=j;H[a+332|0]=d|c;J[a+256>>2]=0;e=N[a+92>>2];l=Q(e+Q(f*Q(N[a+108>>2]-e)));N[a+252>>2]=l;e=N[a+88>>2];n=Q(e+Q(f*Q(N[a+104>>2]-e)));N[a+248>>2]=n;e=N[a+84>>2];o=Q(e+Q(f*Q(N[a+100>>2]-e)));N[a+244>>2]=o;m=N[a+180>>2];q=N[a+184>>2];e=N[a+168>>2];r=N[a+188>>2];h=N[a+172>>2];i=N[a+164>>2];J[a+288>>2]=0;h=Q(h+Q(f*Q(r-h)));N[a+284>>2]=l-h;e=Q(e+Q(f*Q(q-e)));N[a+280>>2]=n-e;i=Q(i+Q(f*Q(m-i)));N[a+276>>2]=o-i;J[a+272>>2]=0;N[a+268>>2]=h;N[a+264>>2]=e;N[a+260>>2]=i;if(!b){J[a>>2]=1;g=0}if(!(c&1)){J[a>>2]=g;c=(g<<4)+a|0;b=J[c+16>>2];J[a+12>>2]=J[c+12>>2];J[a+16>>2]=b;b=J[c+8>>2];J[a+4>>2]=J[c+4>>2];J[a+8>>2]=b;b=J[c+96>>2];J[a+92>>2]=J[c+92>>2];J[a+96>>2]=b;b=J[c+88>>2];J[a+84>>2]=J[c+84>>2];J[a+88>>2]=b;b=J[c+176>>2];J[a+172>>2]=J[c+172>>2];J[a+176>>2]=b;b=J[c+168>>2];J[a+164>>2]=J[c+164>>2];J[a+168>>2]=b}c=j>=Q(0)&f>=Q(0);break b;case 2:J[k+8>>2]=0;J[k+12>>2]=0;J[k>>2]=0;J[k+4>>2]=0;qb(k,a+4|0,a+20|0,a+36|0,b);J[a+256>>2]=0;f=N[a+336>>2];e=N[a+340>>2];h=N[a+344>>2];i=Q(Q(Q(f*N[a+92>>2])+Q(e*N[a+108>>2]))+Q(h*N[a+124>>2]));N[a+252>>2]=i;j=Q(Q(Q(f*N[a+88>>2])+Q(e*N[a+104>>2]))+Q(h*N[a+120>>2]));N[a+248>>2]=j;l=Q(Q(Q(f*N[a+84>>2])+Q(e*N[a+100>>2]))+Q(h*N[a+116>>2]));N[a+244>>2]=l;n=N[a+180>>2];o=N[a+196>>2];m=N[a+168>>2];q=N[a+184>>2];r=N[a+200>>2];u=N[a+172>>2];v=N[a+188>>2];w=N[a+204>>2];x=N[a+164>>2];J[a+288>>2]=0;p=i;i=Q(Q(Q(f*u)+Q(e*v))+Q(h*w));N[a+284>>2]=p-i;p=j;j=Q(Q(Q(f*m)+Q(e*q))+Q(h*r));N[a+280>>2]=p-j;m=l;l=Q(Q(Q(f*x)+Q(e*n))+Q(h*o));N[a+276>>2]=m-l;J[a+272>>2]=0;N[a+268>>2]=i;N[a+264>>2]=j;N[a+260>>2]=l;e:{f:{g:{h:{i:{b=J[a>>2];j:{if((b|0)>=4){g=K[a+332|0];if(g&8){c=b;break j}c=b-1|0;J[a>>2]=c;b=(c<<4)+a|0;d=J[b+16>>2];J[a+60>>2]=J[b+12>>2];J[a+64>>2]=d;d=J[b+8>>2];J[a+52>>2]=J[b+4>>2];J[a+56>>2]=d;d=J[b+88>>2];J[a+132>>2]=J[b+84>>2];J[a+136>>2]=d;d=J[b+96>>2];J[a+140>>2]=J[b+92>>2];J[a+144>>2]=d;d=J[b+176>>2];J[a+220>>2]=J[b+172>>2];J[a+224>>2]=d;d=J[b+168>>2];J[a+212>>2]=J[b+164>>2];J[a+216>>2]=d;break j}c=3;if((b|0)!=3){break i}g=K[a+332|0]}if(g&4){break h}c=c-1|0;J[a>>2]=c;b=(c<<4)+a|0;d=J[b+16>>2];J[a+44>>2]=J[b+12>>2];J[a+48>>2]=d;d=J[b+8>>2];J[a+36>>2]=J[b+4>>2];J[a+40>>2]=d;d=J[b+96>>2];J[a+124>>2]=J[b+92>>2];J[a+128>>2]=d;d=J[b+88>>2];J[a+116>>2]=J[b+84>>2];J[a+120>>2]=d;d=J[b+176>>2];J[a+204>>2]=J[b+172>>2];J[a+208>>2]=d;d=J[b+168>>2];J[a+196>>2]=J[b+164>>2];J[a+200>>2]=d;break h}c=2;if((b|0)<2){break g}g=K[a+332|0]}if(g&2){break f}c=c-1|0;J[a>>2]=c;b=(c<<4)+a|0;d=J[b+16>>2];J[a+28>>2]=J[b+12>>2];J[a+32>>2]=d;d=J[b+8>>2];J[a+20>>2]=J[b+4>>2];J[a+24>>2]=d;d=J[b+96>>2];J[a+108>>2]=J[b+92>>2];J[a+112>>2]=d;d=J[b+88>>2];J[a+100>>2]=J[b+84>>2];J[a+104>>2]=d;d=J[b+176>>2];J[a+188>>2]=J[b+172>>2];J[a+192>>2]=d;d=J[b+168>>2];J[a+180>>2]=J[b+164>>2];J[a+184>>2]=d;break f}c=1;if((b|0)!=1){break e}g=K[a+332|0]}if(g&1){break e}c=c-1|0;J[a>>2]=c;c=(c<<4)+a|0;b=J[c+16>>2];J[a+12>>2]=J[c+12>>2];J[a+16>>2]=b;b=J[c+8>>2];J[a+4>>2]=J[c+4>>2];J[a+8>>2]=b;b=J[c+96>>2];J[a+92>>2]=J[c+92>>2];J[a+96>>2]=b;b=J[c+88>>2];J[a+84>>2]=J[c+84>>2];J[a+88>>2]=b;b=J[c+176>>2];J[a+172>>2]=J[c+172>>2];J[a+176>>2]=b;b=J[c+168>>2];J[a+164>>2]=J[c+164>>2];J[a+168>>2]=b}c=0;if(!(h>=Q(0))|(!(f>=Q(0))|!(e>=Q(0)))){break b}c=N[a+348>>2]>=Q(0);break b;case 3:break c;default:break b}}J[k+8>>2]=0;J[k+12>>2]=0;J[k>>2]=0;J[k+4>>2]=0;g=sa-48|0;sa=g;H[g+24|0]=0;d=J[k+12>>2];J[b+8>>2]=J[k+8>>2];J[b+12>>2]=d;d=J[k+4>>2];J[b>>2]=J[k>>2];J[b+4>>2]=d;s=K[b+16|0];H[b+16|0]=s|15;P=N[k+8>>2];d=a+4|0;f=N[d+8>>2];R=Q(P-f);z=a+36|0;p=N[z+8>>2];e=Q(p-f);A=a+52|0;t=N[A>>2];h=N[d>>2];i=Q(t-h);B=a+20|0;j=N[B+4>>2];l=N[d+4>>2];n=Q(j-l);o=N[B>>2];m=Q(o-h);F=N[A+4>>2];q=Q(F-l);C=Q(Q(i*n)-Q(m*q));G=N[z>>2];r=Q(G-h);u=N[B+8>>2];v=Q(u-f);U=N[A+8>>2];w=Q(U-f);D=Q(Q(q*v)-Q(n*w));I=N[z+4>>2];x=Q(I-l);L=Q(Q(w*m)-Q(v*i));y=Q(Q(e*C)+Q(Q(r*D)+Q(x*L)));M=Q(R*C);C=N[k>>2];S=Q(C-h);O=Q(S*D);D=N[k+4>>2];T=Q(D-l);V=Q(y*y)>2];e=Q(h-P);f=Q(e*e);i=N[g+8>>2];e=Q(i-C);l=Q(e*e);j=N[g+12>>2];e=Q(j-D);e=Q(f+Q(l+Q(e*e)));f=Q(34028234663852886e22);if(!(e>2]=N[g+20>>2];N[b+8>>2]=h;N[b+4>>2]=j;N[b>>2]=i;H[b+16|0]=K[g+24|0]&7|s&-16;f=N[g+36>>2];s=J[g+32>>2];E=J[g+28>>2];J[b+32>>2]=0;N[b+28>>2]=f;J[b+20>>2]=E;J[b+24>>2]=s;f=e}m:{if(!W){break m}qb(k,d,z,A,g+8|0);h=N[g+16>>2];e=Q(h-N[k+8>>2]);l=Q(e*e);i=N[g+8>>2];e=Q(i-N[k>>2]);m=Q(e*e);j=N[g+12>>2];e=Q(j-N[k+4>>2]);e=Q(l+Q(m+Q(e*e)));if(!(e>2]=N[g+20>>2];N[b+8>>2]=h;N[b+4>>2]=j;N[b>>2]=i;s=K[g+24|0];H[b+16|0]=K[b+16|0]&240|(s&1|s<<1&12);s=J[g+36>>2];E=J[g+32>>2];f=N[g+28>>2];J[b+24>>2]=0;J[b+28>>2]=E;J[b+32>>2]=s;N[b+20>>2]=f;f=e}n:{if(!V){break n}qb(k,d,A,B,g+8|0);h=N[g+16>>2];e=Q(h-N[k+8>>2]);l=Q(e*e);i=N[g+8>>2];e=Q(i-N[k>>2]);m=Q(e*e);j=N[g+12>>2];e=Q(j-N[k+4>>2]);e=Q(l+Q(m+Q(e*e)));if(!(e>2]=N[g+20>>2];N[b+8>>2]=h;N[b+4>>2]=j;N[b>>2]=i;d=K[g+24|0];H[b+16|0]=K[b+16|0]&240|(d&1|d>>>1&2|d<<2&8);f=N[g+36>>2];h=N[g+28>>2];N[b+32>>2]=N[g+32>>2];J[b+28>>2]=0;N[b+24>>2]=f;N[b+20>>2]=h;f=e}$=1;if(!X){break k}qb(k,B,A,z,g+8|0);j=f;f=N[g+16>>2];e=Q(f-N[k+8>>2]);l=Q(e*e);e=N[g+8>>2];h=Q(e-N[k>>2]);m=Q(h*h);h=N[g+12>>2];i=Q(h-N[k+4>>2]);if(!(j>Q(l+Q(m+Q(i*i))))){break k}N[b+12>>2]=N[g+20>>2];N[b+8>>2]=f;N[b+4>>2]=h;N[b>>2]=e;d=K[g+24|0];H[b+16|0]=K[b+16|0]&240|(d&4|d<<1&2|d<<2&8);f=N[g+36>>2];e=N[g+28>>2];N[b+32>>2]=N[g+32>>2];N[b+28>>2]=f;N[b+24>>2]=e;J[b+20>>2]=0}sa=g+48|0;if($){J[a+256>>2]=0;e=N[a+336>>2];h=N[a+340>>2];i=N[a+344>>2];f=N[a+348>>2];j=Q(Q(Q(Q(e*N[a+92>>2])+Q(h*N[a+108>>2]))+Q(i*N[a+124>>2]))+Q(f*N[a+140>>2]));N[a+252>>2]=j;l=Q(Q(Q(Q(e*N[a+88>>2])+Q(h*N[a+104>>2]))+Q(i*N[a+120>>2]))+Q(f*N[a+136>>2]));N[a+248>>2]=l;n=Q(Q(Q(Q(e*N[a+84>>2])+Q(h*N[a+100>>2]))+Q(i*N[a+116>>2]))+Q(f*N[a+132>>2]));N[a+244>>2]=n;J[a+288>>2]=0;J[a+272>>2]=0;o=Q(Q(Q(Q(e*N[a+164>>2])+Q(h*N[a+180>>2]))+Q(i*N[a+196>>2]))+Q(f*N[a+212>>2]));N[a+260>>2]=o;m=Q(Q(Q(Q(e*N[a+168>>2])+Q(h*N[a+184>>2]))+Q(i*N[a+200>>2]))+Q(f*N[a+216>>2]));N[a+264>>2]=m;e=Q(Q(Q(Q(e*N[a+172>>2])+Q(h*N[a+188>>2]))+Q(i*N[a+204>>2]))+Q(f*N[a+220>>2]));N[a+268>>2]=e;N[a+276>>2]=n-o;N[a+280>>2]=l-m;N[a+284>>2]=j-e;o:{p:{q:{r:{s:{b=J[a>>2];t:{if((b|0)>=4){g=K[a+332|0];if(g&8){c=b;break t}c=b-1|0;J[a>>2]=c;b=(c<<4)+a|0;d=J[b+16>>2];J[a+60>>2]=J[b+12>>2];J[a+64>>2]=d;d=J[b+8>>2];J[a+52>>2]=J[b+4>>2];J[a+56>>2]=d;d=J[b+96>>2];J[a+140>>2]=J[b+92>>2];J[a+144>>2]=d;d=J[b+88>>2];J[a+132>>2]=J[b+84>>2];J[a+136>>2]=d;d=J[b+176>>2];J[a+220>>2]=J[b+172>>2];J[a+224>>2]=d;d=J[b+168>>2];J[a+212>>2]=J[b+164>>2];J[a+216>>2]=d;break t}c=3;if((b|0)!=3){break s}g=K[a+332|0]}if(g&4){break r}c=c-1|0;J[a>>2]=c;b=(c<<4)+a|0;d=J[b+16>>2];J[a+44>>2]=J[b+12>>2];J[a+48>>2]=d;d=J[b+8>>2];J[a+36>>2]=J[b+4>>2];J[a+40>>2]=d;d=J[b+96>>2];J[a+124>>2]=J[b+92>>2];J[a+128>>2]=d;d=J[b+88>>2];J[a+116>>2]=J[b+84>>2];J[a+120>>2]=d;d=J[b+176>>2];J[a+204>>2]=J[b+172>>2];J[a+208>>2]=d;d=J[b+168>>2];J[a+196>>2]=J[b+164>>2];J[a+200>>2]=d;break r}c=2;if((b|0)<2){break q}g=K[a+332|0]}if(g&2){break p}c=c-1|0;J[a>>2]=c;b=(c<<4)+a|0;d=J[b+16>>2];J[a+28>>2]=J[b+12>>2];J[a+32>>2]=d;d=J[b+8>>2];J[a+20>>2]=J[b+4>>2];J[a+24>>2]=d;d=J[b+96>>2];J[a+108>>2]=J[b+92>>2];J[a+112>>2]=d;d=J[b+88>>2];J[a+100>>2]=J[b+84>>2];J[a+104>>2]=d;d=J[b+176>>2];J[a+188>>2]=J[b+172>>2];J[a+192>>2]=d;d=J[b+168>>2];J[a+180>>2]=J[b+164>>2];J[a+184>>2]=d;break p}c=1;if((b|0)!=1){break o}g=K[a+332|0]}if(g&1){break o}c=c-1|0;J[a>>2]=c;c=(c<<4)+a|0;b=J[c+16>>2];J[a+12>>2]=J[c+12>>2];J[a+16>>2]=b;b=J[c+8>>2];J[a+4>>2]=J[c+4>>2];J[a+8>>2]=b;b=J[c+96>>2];J[a+92>>2]=J[c+92>>2];J[a+96>>2]=b;b=J[c+88>>2];J[a+84>>2]=J[c+84>>2];J[a+88>>2]=b;b=J[c+176>>2];J[a+172>>2]=J[c+172>>2];J[a+176>>2]=b;b=J[c+168>>2];J[a+164>>2]=J[c+164>>2];J[a+168>>2]=b}c=N[a+336>>2]>=Q(0)&N[a+340>>2]>=Q(0)&N[a+344>>2]>=Q(0)&f>=Q(0);break b}if(K[a+352|0]){break b}J[a+276>>2]=0;J[a+280>>2]=0;c=1;H[a+312|0]=1;J[a+284>>2]=0;J[a+288>>2]=0;break a}H[a+312|0]=c}sa=k+16|0;return(c&255)!=0}function ie(a){var b=0,c=0,d=0,e=0,f=0,g=0,h=0,i=Q(0),j=0,k=0,l=Q(0),m=0,n=0,o=Q(0),p=0,q=Q(0),r=0,s=0,t=Q(0),u=0,v=0,w=Q(0),x=Q(0),y=0,z=Q(0),A=Q(0),B=0,C=Q(0),D=0,E=0,F=0,G=Q(0),O=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);g=sa-96|0;sa=g;H[g+52|0]=1;J[g+48>>2]=0;H[g+72|0]=1;J[g+40>>2]=0;J[g+44>>2]=0;J[g+68>>2]=0;H[g+92|0]=1;J[g+60>>2]=0;J[g+64>>2]=0;J[g+88>>2]=0;J[g+80>>2]=0;J[g+84>>2]=0;J[g+28>>2]=0;H[g+32|0]=1;J[g+20>>2]=0;J[g+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:{j=J[a+28>>2];if((j|0)>0){while(1){D=P(B,36);E=J[(D+J[a+36>>2]|0)+4>>2];if((E|0)>0){F=0;while(1){b=J[(J[a+36>>2]+D|0)+12>>2];e=J[b+(F<<2)>>2];F=F+1|0;O=(E|0)==(F|0);b=J[b+((O?0:F)<<2)>>2];I[g+14>>1]=b;I[g+12>>1]=e;c=e<<16>>16;d=b<<16>>16;if((c|0)<(d|0)){I[g+14>>1]=e;I[g+12>>1]=b;c=b;d=e}v=d<<16>>16;j=0;n=c<<16>>16;b=n+(d<<16)&J[g+64>>2]-1;c:{if(b>>>0>=M[g+20>>2]){break c}b=J[J[g+28>>2]+(b<<2)>>2];if((b|0)==-1){break c}h=J[g+48>>2];e=J[g+88>>2];while(1){k=b<<2;b=k+e|0;if(!(L[b>>1]==(c&65535)&L[b+2>>1]==(d&65535))){b=J[h+k>>2];if((b|0)!=-1){continue}break c}break}j=k+J[g+68>>2]|0}b=J[a+16>>2];e=b+(v<<4)|0;b=b+(n<<4)|0;i=Q(N[e+8>>2]-N[b+8>>2]);G=i;q=Q(N[e>>2]-N[b>>2]);o=Q(N[e+4>>2]-N[b+4>>2]);i=Q(Q(1)/Q(Y(Q(Q(i*i)+Q(Q(q*q)+Q(o*o))))));w=Q(G*i);x=Q(o*i);l=Q(q*i);c=J[a+48>>2];d:{if((c|0)>0){e=J[a+56>>2];b=0;while(1){d=e+(b<<4)|0;q=N[d+8>>2];i=N[d>>2];o=N[d+4>>2];if(!(+Q(R(Q(i-l)))>1e-6|+Q(R(Q(o-x)))>1e-6|+Q(R(Q(q-w)))>1e-6)|!(+Q(R(Q(l+i)))>1e-6|+Q(R(Q(x+o)))>1e-6|+Q(R(Q(w+q)))>1e-6)){break d}b=b+1|0;if((b|0)!=(c|0)){continue}break}}e:{if(J[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}J[8456]=J[8456]+1;d=ua[J[8258]](r<<4,16)|0;c=J[a+48>>2]}g:{if((c|0)<=0){break g}v=c&1;b=0;if((c|0)!=1){n=c&-2;c=0;while(1){k=b<<4;h=k+d|0;p=k+J[a+56>>2]|0;e=J[p+4>>2];J[h>>2]=J[p>>2];J[h+4>>2]=e;e=J[p+12>>2];J[h+8>>2]=J[p+8>>2];J[h+12>>2]=e;e=k|16;h=e+d|0;k=e+J[a+56>>2]|0;e=J[k+4>>2];J[h>>2]=J[k>>2];J[h+4>>2]=e;e=J[k+12>>2];J[h+8>>2]=J[k+8>>2];J[h+12>>2]=e;b=b+2|0;c=c+2|0;if((n|0)!=(c|0)){continue}break}}if(!v){break g}b=b<<4;c=b+d|0;e=b+J[a+56>>2]|0;b=J[e+4>>2];J[c>>2]=J[e>>2];J[c+4>>2]=b;b=J[e+12>>2];J[c+8>>2]=J[e+8>>2];J[c+12>>2]=b}b=J[a+56>>2];if(!(b?!b|!K[a+60|0]:1)){J[8457]=J[8457]+1;ua[J[8259]](b)}J[a+56>>2]=d;H[a+60|0]=1;J[a+52>>2]=r;c=J[a+48>>2]}b=J[a+56>>2]+(c<<4)|0;J[b+12>>2]=0;N[b+8>>2]=w;N[b+4>>2]=x;N[b>>2]=l;J[a+48>>2]=J[a+48>>2]+1}h:{if(j){I[j+2>>1]=B;if(O){break h}continue}I[g+8>>1]=B;I[g+10>>1]=65535;i:{j:{d=I[g+12>>1];k=L[g+14>>1];f=g+16|0;e=J[f+48>>2];y=d+(k<<16)&e-1;k:{if(y>>>0>=M[f+4>>2]){break k}b=J[J[f+12>>2]+(y<<2)>>2];if((b|0)==-1){break k}v=J[f+32>>2];n=J[f+72>>2];h=d&65535;while(1){c=b<<2;d=c+n|0;if((h|0)==L[d>>1]&(k|0)==L[d+2>>1]){break j}b=J[c+v>>2];if((b|0)!=-1){continue}break}}v=J[f+44>>2];b=v;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}J[8456]=J[8456]+1;m=ua[J[8258]](p<<2,16)|0;d=J[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+J[f+52>>2]|0;c=L[c>>1]|L[c+2>>1]<<16;I[h>>1]=c;I[h+2>>1]=c>>>16;c=k|4;h=c+m|0;c=c+J[f+52>>2]|0;c=L[c>>1]|L[c+2>>1]<<16;I[h>>1]=c;I[h+2>>1]=c>>>16;c=k|8;h=c+m|0;c=c+J[f+52>>2]|0;c=L[c>>1]|L[c+2>>1]<<16;I[h>>1]=c;I[h+2>>1]=c>>>16;c=k|12;h=c+m|0;c=c+J[f+52>>2]|0;c=L[c>>1]|L[c+2>>1]<<16;I[h>>1]=c;I[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+J[f+52>>2]|0;d=L[d>>1]|L[d+2>>1]<<16;I[c>>1]=d;I[c+2>>1]=d>>>16;b=b+1|0;r=r+1|0;if((h|0)!=(r|0)){continue}break}}b=J[f+52>>2];if(!(b?!b|!K[f+56|0]:1)){J[8457]=J[8457]+1;ua[J[8259]](b)}J[f+52>>2]=m;H[f+56|0]=1;J[f+48>>2]=p;b=J[f+44>>2]}d=J[f+52>>2]+(b<<2)|0;b=L[g+8>>1]|L[g+10>>1]<<16;I[d>>1]=b;I[d+2>>1]=b>>>16;J[f+44>>2]=J[f+44>>2]+1;p=J[f- -64>>2];o:{if((p|0)!=J[f+68>>2]){break o}n=p?p<<1:1;if((n|0)<=(p|0)){break o}p:{if(!n){m=0;break p}J[8456]=J[8456]+1;m=ua[J[8258]](n<<2,16)|0;p=J[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+J[f+72>>2]|0;d=L[d>>1]|L[d+2>>1]<<16;I[c>>1]=d;I[c+2>>1]=d>>>16;d=k|4;c=d+m|0;d=d+J[f+72>>2]|0;d=L[d>>1]|L[d+2>>1]<<16;I[c>>1]=d;I[c+2>>1]=d>>>16;d=k|8;c=d+m|0;d=d+J[f+72>>2]|0;d=L[d>>1]|L[d+2>>1]<<16;I[c>>1]=d;I[c+2>>1]=d>>>16;d=k|12;c=d+m|0;d=d+J[f+72>>2]|0;d=L[d>>1]|L[d+2>>1]<<16;I[c>>1]=d;I[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+J[f+72>>2]|0;d=L[d>>1]|L[d+2>>1]<<16;I[c>>1]=d;I[c+2>>1]=d>>>16;b=b+1|0;r=r+1|0;if((h|0)!=(r|0)){continue}break}}b=J[f+72>>2];if(!(b?!b|!K[f+76|0]:1)){J[8457]=J[8457]+1;ua[J[8259]](b)}J[f+72>>2]=m;H[f+76|0]=1;J[f+68>>2]=n;p=J[f+64>>2]}d=J[f+72>>2]+(p<<2)|0;b=L[g+12>>1]|L[g+14>>1]<<16;I[d>>1]=b;I[d+2>>1]=b>>>16;J[f+64>>2]=J[f+64>>2]+1;if((e|0)>2]){j=0;m=0;p=0;y=0;d=J[f+4>>2];u=J[f+48>>2];r:{if((d|0)>=(u|0)){break r}s:{if((u|0)<=J[f+8>>2]){j=J[f+12>>2];break s}if(u){J[8456]=J[8456]+1;j=ua[J[8258]](u<<2,16)|0;b=J[f+4>>2]}else{b=d}n=J[f+12>>2];t:{u:{if((b|0)>0){if(b>>>0>=4){c=b&-4;while(1){h=m<<2;J[h+j>>2]=J[h+n>>2];e=h|4;J[e+j>>2]=J[e+n>>2];e=h|8;J[e+j>>2]=J[e+n>>2];e=h|12;J[e+j>>2]=J[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;J[b+j>>2]=J[b+n>>2];m=m+1|0;y=y+1|0;if((e|0)!=(y|0)){continue}break}break u}if(n){break u}break t}if(n?K[f+16|0]:0){J[8457]=J[8457]+1;ua[J[8259]](n)}}J[f+12>>2]=j;H[f+16|0]=1;J[f+8>>2]=u}b=d<<2;k=u<<2;Fa(b+j|0,0,k-b|0);J[f+4>>2]=u;e=J[f+24>>2];if((e|0)<(u|0)){v:{if((u|0)<=J[f+28>>2]){j=J[f+32>>2];break v}w:{if(!u){j=0;b=e;break w}J[8456]=J[8456]+1;j=ua[J[8258]](k,16)|0;b=J[f+24>>2]}r=J[f+32>>2];x:{if((b|0)>0){y=0;m=0;if(b>>>0>=4){h=b&-4;p=0;while(1){n=m<<2;J[n+j>>2]=J[n+r>>2];c=n|4;J[c+j>>2]=J[c+r>>2];c=n|8;J[c+j>>2]=J[c+r>>2];c=n|12;J[c+j>>2]=J[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;J[b+j>>2]=J[b+r>>2];m=m+1|0;y=y+1|0;if((c|0)!=(y|0)){continue}break}break x}if(r){break x}J[f+32>>2]=j;J[f+28>>2]=u;H[f+36|0]=1;break v}if(r?K[f+36|0]:0){J[8457]=J[8457]+1;ua[J[8259]](r)}J[f+32>>2]=j;H[f+36|0]=1;J[f+28>>2]=u}b=e<<2;Fa(b+j|0,0,k-b|0)}J[f+24>>2]=u;if((u|0)>0){Fa(J[f+12>>2],255,k);Fa(J[f+32>>2],255,k)}if((d|0)<=0){break r}n=J[f+32>>2];h=J[f+72>>2];c=J[f+12>>2];m=0;while(1){e=m<<2;b=e+h|0;b=c+(((L[b+2>>1]<<16)+I[b>>1]&J[f+48>>2]-1)<<2)|0;J[e+n>>2]=J[b>>2];J[b>>2]=m;m=m+1|0;if((d|0)!=(m|0)){continue}break}}y=I[g+12>>1]+(L[g+14>>1]<<16)&J[f+48>>2]-1}b=J[f+12>>2]+(y<<2)|0;J[J[f+32>>2]+(v<<2)>>2]=J[b>>2];J[b>>2]=v;break i}e=J[f+52>>2]+(b<<2)|0;b=L[g+8>>1]|L[g+10>>1]<<16;I[e>>1]=b;I[e+2>>1]=b>>>16}if(!O){continue}}break}j=J[a+28>>2]}B=B+1|0;if((B|0)<(j|0)){continue}break}B=0;d=(j|0)>0;if(d){break b}}i=N[a+72>>2];z=N[a+68>>2];A=N[a+64>>2];break a}D=J[a+16>>2];h=J[a+36>>2];A=N[a+64>>2];z=N[a+68>>2];i=N[a+72>>2];while(1){b=h+P(B,36)|0;k=J[b+4>>2];if((k|0)>=3){v=J[b+12>>2];E=D+(J[v>>2]<<4)|0;c=k-2|0;b=1;while(1){n=D+(J[v+(b<<2)>>2]<<4)|0;V=N[n+8>>2];e=b+1|0;s=D+(J[v+((e|0)%(k|0)<<2)>>2]<<4)|0;W=N[s+8>>2];S=N[E>>2];X=N[n>>2];Z=Q(S-X);T=N[E+4>>2];_=N[s+4>>2];t=Q(T-_);w=N[s>>2];x=Q(S-w);l=N[n+4>>2];o=Q(T-l);$=Q(Q(Z*t)-Q(x*o));U=N[E+8>>2];q=Q(U-W);G=Q(o*q);o=Q(U-V);t=Q(G-Q(t*o));G=i;i=Q(Q(o*x)-Q(q*Z));o=Q(Q(Y(Q(Q($*$)+Q(Q(t*t)+Q(i*i)))))*Q(.5));i=Q(G+Q(Q(Q(Q(U+V)+W)*Q(.3333333432674408))*o));N[a+72>>2]=i;z=Q(z+Q(Q(Q(_+Q(T+l))*Q(.3333333432674408))*o));N[a+68>>2]=z;A=Q(A+Q(Q(Q(w+Q(S+X))*Q(.3333333432674408))*o));N[a+64>>2]=A;C=Q(C+o);s=(b|0)==(c|0);b=e;if(!s){continue}break}}B=B+1|0;if((B|0)!=(j|0)){continue}break}s=d}J[a+96>>2]=2139095039;o=Q(Q(1)/C);w=Q(o*i);N[a+72>>2]=w;x=Q(o*z);N[a+68>>2]=x;l=Q(o*A);N[a+64>>2]=l;q=Q(34028234663852886e22);o=Q(34028234663852886e22);if(s){e=J[a+36>>2];b=0;while(1){s=e+P(b,36)|0;i=Q(R(Q(N[s+32>>2]+Q(Q(w*N[s+28>>2])+Q(Q(l*N[s+20>>2])+Q(x*N[s+24>>2]))))));if(i>2]=i;o=i}b=b+1|0;if((j|0)!=(b|0)){continue}break}}s=J[a+8>>2];y:{if((s|0)<=0){t=Q(-34028234663852886e22);i=Q(34028234663852886e22);z=Q(-34028234663852886e22);A=Q(-34028234663852886e22);C=Q(34028234663852886e22);break y}e=J[a+16>>2];A=Q(-34028234663852886e22);b=0;C=Q(34028234663852886e22);z=Q(-34028234663852886e22);t=Q(-34028234663852886e22);i=Q(34028234663852886e22);while(1){d=e+(b<<4)|0;l=N[d+8>>2];A=l>A?l:A;i=i>l?l:i;l=N[d+4>>2];z=l>z?l:z;q=l>2];t=l>t?l:t;C=l>2]=0;l=Q(A-i);N[a+124>>2]=l;w=Q(z-q);N[a+120>>2]=w;x=Q(t-C);N[a+116>>2]=x;J[a+112>>2]=0;N[a+108>>2]=i+A;N[a+104>>2]=q+z;N[a+100>>2]=t+C;e=w>x;s=l>(e?w:x)?2:e;e=s<<2;i=N[e+(a+116|0)>>2];l=Q(o/Q(1.7320507764816284));N[a+84>>2]=l;N[a+88>>2]=l;N[a+80>>2]=l;d=a+80|0;e=d+e|0;i=Q(i*Q(.5));N[e>>2]=i;q=Q(Q(i-l)*Q(.0009765625));z:{A:{while(1){if(Ec(a)){break A}i=Q(i-q);N[e>>2]=i;b=b+1|0;if((b|0)!=1024){continue}break}N[a+84>>2]=l;N[a+88>>2]=l;N[a+80>>2]=l;break z}b=1<>2];b=d+(b<<2)|0;t=N[b>>2];o=Q(Q(o-l)*Q(.0009765625));N[b>>2]=o+t;q=Q(o+N[e>>2]);N[e>>2]=q;if(Ec(a)){c=0;while(1){i=q;c=c+1|0;if((c|0)==1024){break z}t=N[b>>2];N[b>>2]=o+t;q=Q(o+N[e>>2]);N[e>>2]=q;if(Ec(a)){continue}break}}N[b>>2]=t;N[e>>2]=i}a=J[g+88>>2];if(!(a?!a|!K[g+92|0]:1)){J[8457]=J[8457]+1;ua[J[8259]](a)}J[g+88>>2]=0;H[g+92|0]=1;J[g+80>>2]=0;J[g+84>>2]=0;a=J[g+68>>2];if(!(a?!a|!K[g+72|0]:1)){J[8457]=J[8457]+1;ua[J[8259]](a)}J[g+68>>2]=0;H[g+72|0]=1;J[g+60>>2]=0;J[g+64>>2]=0;a=J[g+48>>2];if(!(a?!a|!K[g+52|0]:1)){J[8457]=J[8457]+1;ua[J[8259]](a)}J[g+48>>2]=0;H[g+52|0]=1;J[g+40>>2]=0;J[g+44>>2]=0;a=J[g+28>>2];if(!(a?!a|!K[g+32|0]:1)){J[8457]=J[8457]+1;ua[J[8259]](a)}sa=g+96|0}function qc(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=0,z=0,A=Q(0),B=Q(0),C=Q(0),D=Q(0),E=Q(0),F=Q(0),G=0,I=0,K=0,L=0,M=0,O=0,P=0,R=0,S=0,T=0,U=0,V=Q(0),W=0,X=Q(0);A=N[b+52>>2];B=N[b+56>>2];m=N[a+96>>2];n=N[a+100>>2];o=N[a+104>>2];d=N[b+20>>2];e=N[b+24>>2];p=N[a- -64>>2];q=N[a+80>>2];s=N[a+52>>2];t=N[a+68>>2];u=N[a+84>>2];v=N[a+56>>2];f=N[b+36>>2];w=N[a+72>>2];h=N[b+40>>2];x=N[a+88>>2];C=N[b+48>>2];g=N[b+8>>2];i=N[b>>2];l=N[b+4>>2];k=N[b+16>>2];r=N[a+48>>2];j=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*h)+Q(Q(v*j)+Q(w*f));z=a+1272|0;N[z>>2]=Q(u*h)+Q(Q(s*j)+Q(t*f));G=a+1268|0;N[G>>2]=Q(q*h)+Q(Q(r*j)+Q(p*f));I=a+1260|0;N[I>>2]=Q(x*e)+Q(Q(v*k)+Q(w*d));K=a+1256|0;N[K>>2]=Q(u*e)+Q(Q(s*k)+Q(t*d));L=a+1252|0;N[L>>2]=Q(q*e)+Q(Q(r*k)+Q(p*d));M=a+1244|0;N[M>>2]=Q(x*g)+Q(Q(v*i)+Q(l*w));O=a+1240|0;N[O>>2]=Q(u*g)+Q(Q(s*i)+Q(l*t));N[a+1236>>2]=Q(q*g)+Q(Q(r*i)+Q(p*l));P=a+1292|0;N[P>>2]=B+Q(Q(o*h)+Q(Q(m*j)+Q(f*n)));R=a+1288|0;N[R>>2]=A+Q(Q(o*e)+Q(Q(m*k)+Q(d*n)));S=a+1284|0;N[S>>2]=C+Q(Q(o*g)+Q(Q(m*i)+Q(l*n)));A=N[c+52>>2];B=N[c+56>>2];m=N[a+160>>2];n=N[a+164>>2];o=N[a+168>>2];d=N[c+20>>2];e=N[c+24>>2];p=N[a+128>>2];q=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];f=N[c+36>>2];x=N[a+152>>2];h=N[c+40>>2];C=N[c+48>>2];g=N[c+8>>2];i=N[c>>2];l=N[c+4>>2];k=N[c+16>>2];r=N[a+112>>2];j=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*h)+Q(Q(v*j)+Q(w*f));N[a+1336>>2]=Q(u*h)+Q(Q(s*j)+Q(t*f));N[a+1332>>2]=Q(q*h)+Q(Q(r*j)+Q(p*f));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(q*e)+Q(Q(r*k)+Q(p*d));N[a+1308>>2]=Q(x*g)+Q(Q(v*i)+Q(l*w));N[a+1304>>2]=Q(u*g)+Q(Q(s*i)+Q(l*t));N[a+1300>>2]=Q(q*g)+Q(Q(r*i)+Q(p*l));c=a+1356|0;N[c>>2]=B+Q(Q(o*h)+Q(Q(m*j)+Q(f*n)));T=a+1352|0;N[T>>2]=A+Q(Q(o*e)+Q(Q(m*k)+Q(d*n)));U=a+1348|0;N[U>>2]=C+Q(Q(o*g)+Q(Q(m*i)+Q(l*n)));J[a+1440>>2]=0;f=N[M>>2];i=N[L>>2];l=N[z>>2];k=N[G>>2];j=N[K>>2];e=Q(Q(i*l)-Q(k*j));h=N[a+1236>>2];m=N[b>>2];n=N[I>>2];s=Q(Q(j*m)-Q(l*n));g=N[O>>2];t=Q(Q(n*k)-Q(m*i));d=Q(Q(1)/Q(Q(f*e)+Q(Q(h*s)+Q(g*t))));o=Q(N[c>>2]-N[P>>2]);p=Q(N[U>>2]-N[S>>2]);q=Q(N[T>>2]-N[R>>2]);e=Q(Q(Q(Q(Q(h*j)-Q(i*g))*d)*o)+Q(Q(Q(e*d)*p)+Q(q*Q(Q(Q(g*k)-Q(l*h))*d))));N[a+1436>>2]=e;h=Q(Q(Q(Q(Q(f*i)-Q(n*h))*d)*o)+Q(Q(Q(t*d)*p)+Q(q*Q(Q(Q(h*m)-Q(k*f))*d))));N[a+1432>>2]=h;d=Q(Q(Q(Q(Q(g*n)-Q(j*f))*d)*o)+Q(Q(Q(s*d)*p)+Q(q*Q(Q(Q(f*l)-Q(m*g))*d))));N[a+1428>>2]=d;N[a+940>>2]=d;b=a+924|0;f=Q(0);c=a+908|0;g=N[a+680>>2];i=N[a+696>>2];a:{if(g>i){z=c}else{N[c>>2]=d-g;y=3;if(g==i){break a}f=Q(d-i);y=4;z=b}N[z>>2]=f}N[a+944>>2]=h;J[a+956>>2]=y;d=N[a+684>>2];f=N[a+700>>2];b:{c:{if(d>f){y=0;d=Q(0);z=c;break c}N[a+912>>2]=h-d;y=3;if(d==f){break b}d=Q(h-f);y=4;z=b}N[z+4>>2]=d;e=N[a+1436>>2]}N[a+948>>2]=e;J[a+960>>2]=y;d=N[a+688>>2];f=N[a+704>>2];d:{e:{if(d>f){y=0;d=Q(0);break e}N[a+916>>2]=e-d;y=3;if(d==f){break d}c=b;y=4;d=Q(e-f)}N[c+8>>2]=d}J[a+964>>2]=y;c=sa-48|0;sa=c;o=N[a+1332>>2];p=N[a+1316>>2];q=N[a+1336>>2];s=N[a+1304>>2];t=N[a+1320>>2];u=N[a+1340>>2];v=N[a+1308>>2];w=N[a+1324>>2];h=N[a+1244>>2];i=N[a+1256>>2];l=N[a+1272>>2];g=N[a+1240>>2];f=N[a+1268>>2];k=N[a+1260>>2];j=N[a+1252>>2];m=N[a+1276>>2];x=N[a+1300>>2];e=N[a+1236>>2];J[c+44>>2]=0;J[c+28>>2]=0;n=Q(Q(j*l)-Q(f*i));V=Q(Q(i*m)-Q(l*k));D=Q(Q(k*f)-Q(m*j));d=Q(Q(1)/Q(Q(h*n)+Q(Q(e*V)+Q(g*D))));r=Q(Q(Q(e*i)-Q(j*g))*d);A=Q(n*d);B=Q(Q(Q(g*f)-Q(l*e))*d);n=Q(Q(u*r)+Q(Q(v*A)+Q(w*B)));N[c+40>>2]=n;C=Q(Q(q*r)+Q(Q(s*A)+Q(B*t)));N[c+36>>2]=C;E=Q(Q(Q(h*j)-Q(k*e))*d);D=Q(D*d);F=Q(Q(Q(e*m)-Q(f*h))*d);e=Q(Q(u*E)+Q(Q(v*D)+Q(w*F)));N[c+24>>2]=e;j=Q(Q(q*E)+Q(Q(s*D)+Q(F*t)));N[c+20>>2]=j;J[c+12>>2]=0;f=Q(Q(o*r)+Q(Q(x*A)+Q(p*B)));N[c+32>>2]=f;r=Q(Q(o*E)+Q(Q(x*D)+Q(p*F)));N[c+16>>2]=r;i=Q(Q(Q(g*k)-Q(i*h))*d);k=Q(V*d);h=Q(Q(Q(h*l)-Q(m*g))*d);g=Q(Q(u*i)+Q(Q(v*k)+Q(w*h)));N[c+8>>2]=g;d=Q(Q(q*i)+Q(Q(s*k)+Q(h*t)));N[c+4>>2]=d;h=Q(Q(o*i)+Q(Q(x*k)+Q(p*h)));N[c>>2]=h;f:{g:{h:{i:{j:{k:{l:{m:{b=J[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(fQ(-1)){W=a,X=Ia(Q(-C),n),N[W+1364>>2]=X;d=fQ(1)?Q(1):d),N[W>>2]=X;d=Ia(Q(-r),h);break n}J[a+1368>>2]=-1077342245;W=a,X=Q(-Ia(d,j)),N[W+1364>>2]=X;break o}J[a+1368>>2]=1070141403;W=a,X=Ia(d,j),N[W+1364>>2]=X}d=Q(0)}N[b>>2]=d;break g}b=a+1364|0;d=N[c+16>>2];p:{if(dQ(-1)){W=b,X=Ia(N[c+24>>2],N[c+20>>2]),N[W>>2]=X;W=b,X=Ia(N[c+32>>2],N[c>>2]),N[W+4>>2]=X;d=N[c+16>>2];d=d>Q(1)?Q(-1):Q(-d);W=b,X=hb(d>Q(1)?Q(1):d),N[W+8>>2]=X;break p}d=N[c+40>>2];e=N[c+8>>2];J[b+4>>2]=0;W=b,X=Q(-Ia(Q(-e),d)),N[W>>2]=X;N[b+8>>2]=1.5707963705062866;break p}d=N[c+40>>2];e=N[c+8>>2];J[b+4>>2]=0;W=b,X=Ia(Q(-e),d),N[W>>2]=X;N[b+8>>2]=-1.5707963705062866}break g}b=a+1364|0;d=N[c+36>>2];q:{r:{if(dQ(-1)){d=d>Q(1)?Q(-1):Q(-d);W=b,X=hb(d>Q(1)?Q(1):d),N[W>>2]=X;W=b,X=Ia(N[c+32>>2],N[c+40>>2]),N[W+4>>2]=X;W=b,X=Ia(N[c+4>>2],N[c+20>>2]),N[W+8>>2]=X;break q}J[b>>2]=1070141403;W=b,X=Q(-Ia(Q(-N[c+16>>2]),N[c>>2])),N[W+4>>2]=X;break r}J[b>>2]=-1077342245;W=b,X=Ia(Q(-N[c+16>>2]),N[c>>2]),N[W+4>>2]=X}N[b+8>>2]=0}break g}b=a+1372|0;s:{if(dQ(-1)){W=a,X=Ia(Q(-C),j),N[W+1364>>2]=X;W=a+1368|0,X=Ia(Q(-g),h),N[W>>2]=X;d=dQ(1)?Q(1):d);break s}J[a+1364>>2]=0;W=a+1368|0,X=Q(-Ia(e,n)),N[W>>2]=X;d=Q(-1.5707963705062866);break s}J[a+1364>>2]=0;W=a+1368|0,X=Ia(e,n),N[W>>2]=X;d=Q(1.5707963705062866)}N[b>>2]=d;break g}b=a+1372|0;t:{if(eQ(-1)){d=eQ(1)?Q(1):d),N[W+1364>>2]=X;W=a+1368|0,X=Ia(Q(-g),n),N[W>>2]=X;d=Ia(Q(-r),j);break t}J[a+1364>>2]=-1077342245;J[a+1368>>2]=0;d=Q(-Ia(f,h));break t}J[a+1364>>2]=1070141403;J[a+1368>>2]=0;d=Ia(f,h)}N[b>>2]=d;break g}b=a+1364|0;d=N[c+8>>2];u:{if(dQ(-1)){W=b,X=Ia(N[c+24>>2],N[c+40>>2]),N[W>>2]=X;d=N[c+8>>2];d=d>Q(1)?Q(-1):Q(-d);W=b,X=hb(d>Q(1)?Q(1):d),N[W+4>>2]=X;W=b,X=Ia(N[c+4>>2],N[c>>2]),N[W+8>>2]=X;break u}J[b>>2]=0;J[b+4>>2]=1070141403;W=b,X=Q(-Ia(N[c+16>>2],N[c+32>>2])),N[W+8>>2]=X;break u}J[b>>2]=0;J[b+4>>2]=-1077342245;W=b,X=Ia(Q(-N[c+16>>2]),Q(-N[c+32>>2])),N[W+8>>2]=X}}b=J[a+1232>>2]}v:{w:{x:{switch(b|0){default:l=N[a+1420>>2];e=N[a+1416>>2];f=N[a+1412>>2];k=N[a+1404>>2];h=N[a+1400>>2];j=N[a+1396>>2];g=N[a+1388>>2];i=N[a+1384>>2];d=N[a+1380>>2];break v;case 0:J[a+1408>>2]=0;J[a+1424>>2]=0;J[a+1392>>2]=0;d=N[a+1300>>2];m=N[a+1276>>2];f=N[a+1332>>2];i=N[a+1244>>2];h=Q(Q(d*m)-Q(f*i));n=N[a+1260>>2];g=N[a+1316>>2];j=Q(Q(n*f)-Q(g*m));l=Q(Q(d*h)-Q(j*g));k=Q(Q(i*g)-Q(d*n));e=Q(Q(f*j)-Q(k*d));f=Q(Q(g*k)-Q(h*f));g=Q(Q(j*n)-Q(i*h));i=Q(Q(k*i)-Q(m*j));d=Q(Q(h*m)-Q(n*k));break v;case 1:J[a+1424>>2]=0;J[a+1408>>2]=0;J[a+1392>>2]=0;d=N[a+1316>>2];m=N[a+1272>>2];n=N[a+1256>>2];g=N[a+1332>>2];f=Q(Q(d*m)-Q(n*g));i=N[a+1240>>2];h=N[a+1300>>2];e=Q(Q(g*i)-Q(m*h));k=Q(Q(f*d)-Q(h*e));l=Q(Q(h*n)-Q(i*d));h=Q(Q(l*h)-Q(g*f));j=Q(Q(e*g)-Q(d*l));g=Q(Q(i*e)-Q(f*n));i=Q(Q(m*f)-Q(l*i));d=Q(Q(n*l)-Q(e*m));break v;case 2:J[a+1424>>2]=0;J[a+1408>>2]=0;J[a+1392>>2]=0;e=N[a+1304>>2];k=N[a+1260>>2];m=N[a+1244>>2];f=N[a+1320>>2];g=Q(Q(e*k)-Q(m*f));N[a+1388>>2]=g;n=N[a+1336>>2];l=N[a+1276>>2];i=Q(Q(m*n)-Q(e*l));N[a+1384>>2]=i;d=Q(Q(f*l)-Q(k*n));N[a+1380>>2]=d;h=Q(Q(l*d)-Q(g*m));N[a+1400>>2]=h;j=Q(Q(k*g)-Q(i*l));N[a+1396>>2]=j;l=Q(Q(d*f)-Q(e*i));e=Q(Q(g*e)-Q(n*d));f=Q(Q(i*n)-Q(f*g));k=Q(Q(m*i)-Q(d*k));break v;case 3:J[a+1424>>2]=0;J[a+1408>>2]=0;J[a+1392>>2]=0;d=N[a+1236>>2];m=N[a+1320>>2];i=N[a+1304>>2];g=N[a+1252>>2];l=Q(Q(d*m)-Q(i*g));N[a+1420>>2]=l;j=N[a+1268>>2];n=N[a+1336>>2];e=Q(Q(i*j)-Q(d*n));N[a+1416>>2]=e;f=Q(Q(g*n)-Q(m*j));N[a+1412>>2]=f;k=Q(Q(f*g)-Q(d*e));N[a+1404>>2]=k;h=Q(Q(l*d)-Q(j*f));N[a+1400>>2]=h;j=Q(Q(e*j)-Q(g*l));N[a+1396>>2]=j;g=Q(Q(i*e)-Q(f*m));N[a+1388>>2]=g;i=Q(Q(n*f)-Q(l*i));N[a+1384>>2]=i;d=Q(Q(m*l)-Q(e*n));break w;case 4:J[a+1424>>2]=0;J[a+1408>>2]=0;J[a+1392>>2]=0;e=N[a+1240>>2];j=N[a+1324>>2];h=N[a+1308>>2];f=N[a+1256>>2];g=Q(Q(e*j)-Q(h*f));N[a+1388>>2]=g;k=N[a+1272>>2];m=N[a+1340>>2];i=Q(Q(h*k)-Q(e*m));N[a+1384>>2]=i;d=Q(Q(f*m)-Q(j*k));N[a+1380>>2]=d;l=Q(Q(d*f)-Q(e*i));N[a+1420>>2]=l;e=Q(Q(g*e)-Q(k*d));N[a+1416>>2]=e;f=Q(Q(i*k)-Q(f*g));N[a+1412>>2]=f;k=Q(Q(h*i)-Q(d*j));N[a+1404>>2]=k;h=Q(Q(m*d)-Q(g*h));N[a+1400>>2]=h;j=Q(Q(j*g)-Q(i*m));N[a+1396>>2]=j;break v;case 5:break x}}J[a+1408>>2]=0;J[a+1424>>2]=0;J[a+1392>>2]=0;d=N[a+1308>>2];f=N[a+1252>>2];e=N[a+1236>>2];m=N[a+1324>>2];k=Q(Q(d*f)-Q(e*m));N[a+1404>>2]=k;n=N[a+1340>>2];g=N[a+1268>>2];h=Q(Q(e*n)-Q(d*g));N[a+1400>>2]=h;j=Q(Q(m*g)-Q(f*n));N[a+1396>>2]=j;l=Q(Q(e*h)-Q(j*f));N[a+1420>>2]=l;e=Q(Q(g*j)-Q(k*e));N[a+1416>>2]=e;f=Q(Q(f*k)-Q(h*g));N[a+1412>>2]=f;g=Q(Q(j*m)-Q(d*h));N[a+1388>>2]=g;i=Q(Q(k*d)-Q(n*j));N[a+1384>>2]=i;d=Q(Q(h*n)-Q(m*k))}N[a+1380>>2]=d}m=l;l=Q(Q(1)/Q(Y(Q(Q(l*l)+Q(Q(f*f)+Q(e*e))))));N[a+1420>>2]=m*l;N[a+1416>>2]=e*l;N[a+1412>>2]=f*l;e=Q(Q(1)/Q(Y(Q(Q(k*k)+Q(Q(j*j)+Q(h*h))))));N[a+1404>>2]=k*e;N[a+1400>>2]=h*e;N[a+1396>>2]=j*e;e=Q(Q(1)/Q(Y(Q(Q(g*g)+Q(Q(d*d)+Q(i*i))))));N[a+1388>>2]=g*e;N[a+1384>>2]=i*e;N[a+1380>>2]=d*e;sa=c+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(l/d):Q(.5);N[a+1444>>2]=d;N[a+1448>>2]=Q(1)-d}function Za(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=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=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=sa-272|0;sa=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[8502]=J[8502]+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];Kb(J[a+24>>2]);p=h?Q(0):f;q=h?Q(0):i;s=Q(p+q);h=a+4|0;i=Q(0xde0b6b000000000);a:{b:{c:{while(1){m=N[b+32>>2];r=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(r*k)-Q(o*g))-Q(m*f);k=N[b+96>>2];m=N[b+64>>2];r=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*r));ab(e+80|0,J[a+28>>2],e+240|0);ab(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;r=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]=r;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(r-n);N[e+20>>2]=j;f=Q(Q(N[a+12>>2]*g)+Q(Q(N[a+4>>2]*f)+Q(j*N[a+8>>2])));if(!(!(f>Q(0))|!(Q(f*f)>Q(i*N[b+128>>2])))){J[a+68>>2]=10;break c}if(Pd(J[a+24>>2],e+16|0)){J[a+68>>2]=1;break c}f=Q(i-f);if(f<=Q(i*Q(9.999999974752427e-7))){J[a+68>>2]=f<=Q(0)?2:11;break c}Sd(J[a+24>>2],e+16|0,e+48|0,e+32|0);d:{if(!Qd(J[a+24>>2],e)){l=3;break d}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 d}if(Q(i-f)<=Q(i*Q(1.1920928955078125e-7))){l=12;i=f;break d}t=J[e+4>>2];J[h>>2]=J[e>>2];J[h+4>>2]=t;t=J[e+12>>2];J[h+8>>2]=J[e+8>>2];J[h+12>>2]=t;t=J[a+64>>2];J[a+64>>2]=t+1;if((t|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}Od(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)-s);break a}J[a+60>>2]=2}l=0;f=Q(0)}F=1;t=J[a+20>>2];if(!(!J[a+68>>2]|(!J[a+72>>2]|!t))){F=!(N[8264]>Q(s+f))}e:{f:{g:{if(!t|l&F){break g}J[8501]=J[8501]+1;J[h+8>>2]=0;J[h+12>>2]=0;J[h>>2]=0;J[h+4>>2]=0;if(ua[J[J[t>>2]+8>>2]](t,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];s=N[e+88>>2];p=Q(g-s);m=N[e+64>>2];r=N[e+80>>2];i=Q(m-r);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(s-g);v=Q(g*g);g=Q(r-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 f}J[a+60>>2]=8;break f}J[a+60>>2]=9;if(l){break f}break e}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 g}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)))))-s);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 f}J[a+60>>2]=5;break f}if(!l){break e}}if(!(f>2]>Q(f*f))){break e}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];s=N[b+36>>2];m=N[b+4>>2];r=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(s*i)+Q(Q(m*j)+Q(g*r));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];s=N[b+100>>2];m=N[b+68>>2];r=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(r*g))-Q(s*i);N[e+64>>2]=Q(Q(p*j)-Q(q*g))-Q(k*i);d=e+48|0;h=e+80|0;ab(d,J[a+28>>2],h);l=e+32|0;t=e- -64|0;ab(l,J[a+32>>2],t);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];s=N[e+40>>2];fa=N[e+112>>2];m=N[e+32>>2];ga=N[e+116>>2];r=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));ab(d,J[a+28>>2],h);ab(l,J[a+32>>2],t);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];ua[J[J[c>>2]+16>>2]](c,e+256|0,e+80|0,f)}sa=e+272|0}function zb(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=sa-16|0;sa=l;a:{b:{c:{d:{e:{f:{g:{h:{i:{j:{k:{l:{m:{n:{if(a>>>0<=244){g=J[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=J[a+35856>>2];a=J[d+8>>2];o:{if((b|0)==(a|0)){m=35808,n=vs(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[8954];if(k>>>0>=h>>>0){break n}if(b){a=2<>2];a=J[e+8>>2];p:{if((b|0)==(a|0)){g=vs(d)&g;J[8952]=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)+35848|0;f=J[8957];a=1<<(k>>>3);q:{if(!(a&g)){J[8952]=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[8957]=c;J[8954]=d;break a}j=J[8953];if(!j){break n}c=J[(ts(0-j&j)<<2)+36112>>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[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=S(a>>>8|0);g=((h>>>38-a&1)-(a<<1)|0)+62|0}b=J[(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=(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[8954]-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[8954];if(a>>>0>=h>>>0){d=J[8957];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[8954]=b;J[8957]=c;a=d+8|0;break a}i=J[8955];if(i>>>0>h>>>0){b=i-h|0;J[8955]=b;c=J[8958];a=c+h|0;J[8958]=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[9070]){c=J[9072]}else{J[9073]=-1;J[9074]=-1;J[9071]=4096;J[9072]=4096;J[9070]=l+12&-16^1431655768;J[9075]=0;J[9063]=0;c=4096}e=j+c|0;f=0-c|0;b=e&f;if(b>>>0<=h>>>0){break a}d=J[9062];if(d){c=J[9060];g=c+b|0;if(d>>>0>>0|c>>>0>=g>>>0){break a}}y:{if(!(K[36252]&4)){z:{A:{B:{C:{d=J[8958];if(d){a=36256;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=gb(0);if((c|0)==-1){break z}g=b;d=J[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=J[9062];if(d){a=J[9060];f=a+g|0;if(d>>>0>>0|a>>>0>=f>>>0){break z}}a=gb(g);if((c|0)!=(a|0)){break B}break y}g=f&e-i;c=gb(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[9072];c=c+(j-g|0)&0-c;if((gb(c)|0)==-1){break z}g=c+g|0;c=a;break y}if((c|0)!=-1){break y}}J[9063]=J[9063]|4}c=gb(b);a=gb(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[9060]+g|0;J[9060]=a;if(a>>>0>M[9061]){J[9061]=a}D:{e=J[8958];if(e){a=36256;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[8956];if(!(a>>>0<=c>>>0?a:0)){J[8956]=c}a=0;J[9065]=g;J[9064]=c;J[8960]=-1;J[8961]=J[9070];J[9067]=0;while(1){d=a<<3;b=d+35848|0;J[d+35856>>2]=b;J[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;J[8955]=b;a=a+c|0;J[8958]=a;J[a+4>>2]=b|1;J[(c+d|0)+4>>2]=40;J[8959]=J[9074];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[8958]=c;b=J[8955]+g|0;a=b-a|0;J[8955]=a;J[c+4>>2]=a|1;J[(b+e|0)+4>>2]=40;J[8959]=J[9074];break j}d=0;break b}c=0;break c}if(M[8956]>c>>>0){J[8956]=c}b=c+g|0;a=36256;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=36256;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[8958]=i;a=J[8955]+a|0;J[8955]=a;J[i+4>>2]=a|1;break d}if(J[8957]==(g|0)){J[8957]=i;a=J[8954]+a|0;J[8954]=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=35808,n=J[8952]&vs(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[8955]=b;a=a+c|0;J[8958]=a;J[a+4>>2]=b|1;J[(c+d|0)+4>>2]=40;J[8959]=J[9074];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[9067];J[d+16>>2]=J[9066];J[d+20>>2]=a;a=J[9065];J[d+8>>2]=J[9064];J[d+12>>2]=a;J[9066]=d+8;J[9065]=g;J[9064]=c;J[9067]=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)+35848|0;c=J[8952];a=1<<(f>>>3);H:{if(!(c&a)){J[8952]=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)+36112|0;I:{d=J[8953];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[8955];if(a>>>0<=h>>>0){break i}b=a-h|0;J[8955]=b;c=J[8958];a=c+h|0;J[8958]=a;J[a+4>>2]=b|1;J[c+4>>2]=h|3;a=c+8|0;break a}J[8951]=48;a=0;break a}c=0}if(!h){break f}d=J[g+28>>2];b=(d<<2)+36112|0;K:{if(J[b>>2]==(g|0)){J[b>>2]=c;if(c){break K}m=35812,n=J[8953]&vs(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)+35848|0;c=J[8952];a=1<<(a>>>3);L:{if(!(c&a)){J[8952]=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)+36112|0;M:{d=J[8953];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)+36112|0;P:{if(J[a>>2]==(d|0)){J[a>>2]=c;if(c){break P}j=vs(b)&j;J[8953]=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)+35848|0;c=J[8952];a=1<<(f>>>3);R:{if(!(c&a)){J[8952]=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)+36112|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)+36112|0;V:{if(J[a>>2]==(c|0)){J[a>>2]=d;if(d){break V}m=35812,n=vs(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)+35848|0;e=J[8957];a=1<<(k>>>3);X:{if(!(a&g)){J[8952]=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[8957]=d;J[8954]=f}a=c+8|0}sa=l+16|0;return a|0}function qi(a,b){a=a|0;b=b|0;var c=0,d=0,e=Q(0),f=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=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=0,F=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=Q(0),W=Q(0),X=Q(0),Z=Q(0),_=Q(0),$=Q(0),aa=0,ba=0,ca=Q(0),da=Q(0),ea=Q(0),fa=0,ga=0,ha=Q(0),ia=Q(0),ja=Q(0),ka=Q(0),la=Q(0),ma=0,na=0,oa=0;d=J[a+32>>2];aa=d+388|0;c=J[a+28>>2];ba=c+388|0;d=d+4|0;c=c+4|0;if(K[a+739|0]){e=N[J[a+32>>2]+404>>2];V=N[J[a+28>>2]+404>>2];k=Q(e+V);k=k>Q(0)?Q(e/k):Q(.5);n=Q(Q(1)-k);r=N[a+672>>2];q=N[d+40>>2];h=N[a+664>>2];s=N[d+32>>2];l=N[d+36>>2];g=N[a+668>>2];o=N[d+56>>2];ha=Q(Q(Q(r*q)+Q(Q(h*s)+Q(l*g)))+o);B=Q(ha-o);L=B;o=N[a+592>>2];j=N[c+40>>2];m=N[a+560>>2];y=N[c+32>>2];w=N[a+576>>2];z=N[c+36>>2];R=Q(Q(o*j)+Q(Q(m*y)+Q(w*z)));t=N[a+656>>2];I=Q(t*q);q=N[a+624>>2];O=Q(q*s);s=N[a+640>>2];S=Q(I+Q(O+Q(s*l)));l=Q(Q(R*k)+Q(S*n));I=l;T=Q(l*l);v=N[c+8>>2];A=N[c>>2];D=N[c+4>>2];U=Q(Q(o*v)+Q(Q(m*A)+Q(D*w)));x=N[d+8>>2];W=N[d>>2];X=N[d+4>>2];Z=Q(Q(t*x)+Q(Q(q*W)+Q(X*s)));l=Q(Q(U*k)+Q(Z*n));G=N[c+24>>2];C=N[c+16>>2];O=w;w=N[c+20>>2];ca=Q(Q(o*G)+Q(Q(m*C)+Q(O*w)));O=N[d+24>>2];_=N[d+16>>2];o=s;s=N[d+20>>2];da=Q(Q(t*O)+Q(Q(q*_)+Q(o*s)));t=Q(Q(ca*k)+Q(da*n));q=Q(Q(1)/Q(Y(Q(T+Q(Q(l*l)+Q(t*t))))));o=Q(I*q);I=Q(B*o);m=N[d+48>>2];W=Q(m+Q(Q(r*x)+Q(Q(h*W)+Q(X*g))));B=Q(W-m);m=Q(l*q);g=Q(Q(r*O)+Q(Q(h*_)+Q(s*g)));r=N[d+52>>2];X=Q(g+r);s=Q(X-r);r=Q(t*q);h=Q(I+Q(Q(B*m)+Q(s*r)));l=Q(o*h);O=Q(L-l);g=N[a+608>>2];t=N[a+600>>2];q=N[a+604>>2];x=N[c+56>>2];_=Q(Q(Q(g*j)+Q(Q(t*y)+Q(z*q)))+x);x=Q(_-x);I=N[c+48>>2];ia=Q(I+Q(Q(g*v)+Q(Q(t*A)+Q(D*q))));I=Q(ia-I);L=Q(Q(g*G)+Q(Q(t*C)+Q(w*q)));g=N[c+52>>2];ja=Q(L+g);T=Q(ja-g);g=Q(Q(o*x)+Q(Q(I*m)+Q(T*r)));$=Q(o*g);l=Q($-l);t=Q(O-Q(n*l));q=Q(r*h);ka=Q(s-q);ea=Q(r*g);L=Q(ea-q);q=Q(ka-Q(n*L));h=Q(m*h);la=Q(B-h);g=Q(m*g);h=Q(g-h);s=Q(la-Q(n*h));$=Q(x-$);l=Q($+Q(k*l));T=Q(T-ea);B=Q(T+Q(k*L));g=Q(I-g);x=Q(g+Q(k*h));d=!(eQ(1.1920928955078125e-7)){j=Q(Q(1)/Q(Y(h)));h=Q(e*j);e=Q(V*j);g=Q(g*j);break a}h=N[a+588>>2];e=Q(h*v);v=N[a+556>>2];g=Q(v*A);A=N[a+572>>2];g=Q(e+Q(g+Q(D*A)));e=Q(Q(h*G)+Q(Q(v*C)+Q(A*w)));h=Q(Q(h*j)+Q(Q(v*y)+Q(A*z)))}p=J[b+24>>2];f=J[b+12>>2];N[f+8>>2]=Q(x*e)-Q(g*B);N[f+4>>2]=Q(l*g)-Q(h*x);N[f>>2]=Q(B*h)-Q(e*l);c=J[b+20>>2];N[c+8>>2]=-Q(Q(s*e)-Q(g*q));N[c+4>>2]=-Q(Q(t*g)-Q(h*s));N[c>>2]=-Q(Q(q*h)-Q(e*t));y=Q(Q(o*g)-Q(h*m));w=Q(Q(r*h)-Q(e*o));j=Q(Q(s*y)-Q(w*q));z=Q(Q(m*e)-Q(g*r));v=Q(Q(t*w)-Q(z*s));A=Q(Q(q*z)-Q(y*t));D=Q(Q(x*y)-Q(w*B));G=Q(Q(l*w)-Q(z*x));C=Q(Q(B*z)-Q(y*l));E=K[a+716|0];fa=!E;if(!(fa|d)){D=Q(k*D);G=Q(k*G);C=Q(k*C);v=Q(n*v);A=Q(n*A);j=Q(n*j)}i=p<<2;u=i+f|0;N[u+8>>2]=D;N[u+4>>2]=G;N[u>>2]=C;N[c+i>>2]=-A;M=p+1|0;N[c+(M<<2)>>2]=-v;ga=p+2|0;N[c+(ga<<2)>>2]=-j;j=Q(Q(s*r)+Q(m*Q(-q)));s=Q(Q(t*m)+Q(o*Q(-s)));t=Q(Q(q*o)+Q(r*Q(-t)));q=Q(Q(x*r)+Q(m*Q(-B)));x=Q(Q(l*m)+Q(o*Q(-x)));l=Q(Q(B*o)+Q(r*Q(-l)));if(!d){q=Q(k*q);x=Q(k*x);l=Q(k*l);s=Q(n*s);t=Q(n*t);j=Q(n*j)}n=Q(-r);B=Q(-m);v=Q(-o);ma=p<<3;d=f+ma|0;N[d+8>>2]=q;N[d+4>>2]=x;N[d>>2]=l;u=p<<1;N[c+(u<<2)>>2]=-t;na=u|1;N[c+(na<<2)>>2]=-s;oa=u+2|0;N[c+(oa<<2)>>2]=-j;k=N[(K[a+748|0]&8?a+756|0:b+4|0)>>2];b:{if(K[a+736|0]){s=Q(-z);t=Q(-y);j=Q(-w);x=Q(-h);l=Q(-e);q=Q(-g);d=J[b+28>>2];break b}C=N[b>>2];d=J[b+8>>2];N[d+8>>2]=h;N[d+4>>2]=e;N[d>>2]=g;F=d+i|0;N[F+8>>2]=z;N[F+4>>2]=y;N[F>>2]=w;d=d+ma|0;N[d+8>>2]=o;N[d+4>>2]=r;N[d>>2]=m;d=J[b+16>>2];x=Q(-h);N[d+8>>2]=x;l=Q(-e);N[d+4>>2]=l;q=Q(-g);N[d>>2]=q;F=p<<2;j=Q(-w);N[F+d>>2]=j;t=Q(-y);N[d+(M<<2)>>2]=t;s=Q(-z);N[d+(ga<<2)>>2]=s;u=u<<2;N[u+d>>2]=B;N[d+(na<<2)>>2]=n;N[d+(oa<<2)>>2]=v;d=J[b+28>>2];A=Q(ha-_);D=Q(W-ia);G=Q(X-ja);C=Q(k*C);N[d>>2]=Q(Q(h*A)+Q(Q(g*D)+Q(G*e)))*C;N[d+F>>2]=Q(Q(z*A)+Q(Q(w*D)+Q(G*y)))*C;N[d+u>>2]=C*Q(Q(o*A)+Q(Q(m*D)+Q(G*r)))}p=P(p,12);N[p+f>>2]=g;u=p+8|0;N[u+f>>2]=h;F=p+4|0;N[F+f>>2]=e;i=i<<2;N[i+f>>2]=w;M=i|4;N[M+f>>2]=y;ga=i|8;N[ga+f>>2]=z;N[c+p>>2]=q;N[c+u>>2]=x;N[c+F>>2]=l;N[c+i>>2]=j;N[c+M>>2]=t;N[c+ga>>2]=s;j=Q(Q(U*da)-Q(Z*ca));l=Q(j*h);h=Q(Q(ca*S)-Q(da*R));s=Q(h*g);g=Q(Q(R*Z)-Q(S*U));l=Q(l+Q(s+Q(g*e)));e=Q(k*N[b>>2]);N[d+p>>2]=l*e;N[d+i>>2]=Q(Q(j*z)+Q(Q(h*w)+Q(g*y)))*e;c:{d:{if(E){u=K[a+737|0]!=0;e=Q(N[a+708>>2]*N[a+732>>2]);d=e>Q(0)?1:2;break d}if(!K[a+737|0]){break c}e=Q(0);u=1;d=0}p=P(J[b+24>>2],5);i=p<<2;N[i+f>>2]=m;F=i+8|0;N[F+f>>2]=o;M=f;f=i+4|0;N[M+f>>2]=r;N[c+F>>2]=v;N[c+f>>2]=n;N[c+i>>2]=B;c=a+688|0;n=Eb(c);h=Fb(c);c=J[b+28>>2];J[i+c>>2]=0;i=J[a+748>>2];k=i&2?N[a+764>>2]:k;f=h!=n;if(!(!u|!(f|fa))){if(i&4){N[J[b+32>>2]+(p<<2)>>2]=N[a+752>>2]}n=Hb(N[a+728>>2],n,h,N[a+680>>2],Q(k*N[b>>2]));c=J[b+28>>2];i=p<<2;u=c+i|0;N[u>>2]=Q(Q(n*N[a+680>>2])*N[a+732>>2])+N[u>>2];N[i+J[b+36>>2]>>2]=-N[a+684>>2];N[i+J[b+40>>2]>>2]=N[a+684>>2]}if(!E){break c}i=p<<2;c=i+c|0;N[c>>2]=Q(Q(k*N[b>>2])*e)+N[c>>2];if(H[a+748|0]&1){N[i+J[b+32>>2]>>2]=N[a+760>>2]}e:{if(!f){J[J[b+36>>2]+(p<<2)>>2]=-8388609;e=Q(34028234663852886e22);break e}f=J[b+36>>2]+(p<<2)|0;if((d|0)==1){J[f>>2]=0;e=Q(34028234663852886e22);break e}J[f>>2]=-8388609;e=Q(0)}N[J[b+40>>2]+(p<<2)>>2]=e;k=N[a+704>>2];f:{if(!(k>Q(0))){break f}e=Q(Q(Q(N[ba+8>>2]*o)+Q(Q(N[ba>>2]*m)+Q(N[ba+4>>2]*r)))-Q(Q(N[aa+8>>2]*o)+Q(Q(N[aa>>2]*m)+Q(r*N[aa+4>>2]))));g:{if((d|0)==1){if(!(eN[c>>2]){break g}break f}if(!(e>Q(0))){break f}e=Q(e*Q(-k));if(!(e>2])){break f}}N[c>>2]=e}N[c>>2]=N[a+700>>2]*N[c>>2]}return}h=N[a+656>>2];A=N[d+40>>2];V=Q(h*A);g=N[a+624>>2];D=N[d+32>>2];j=N[a+640>>2];G=N[d+36>>2];ha=Q(Q(g*D)+Q(j*G));C=N[d+24>>2];W=Q(h*C);R=N[d+16>>2];S=N[d+20>>2];X=Q(Q(g*R)+Q(j*S));y=N[a+592>>2];e=N[c+40>>2];O=Q(y*e);w=N[a+560>>2];k=N[c+32>>2];z=N[a+576>>2];n=N[c+36>>2];_=Q(Q(w*k)+Q(z*n));t=N[a+588>>2];I=Q(t*e);q=N[a+556>>2];s=N[a+572>>2];ia=Q(Q(q*k)+Q(s*n));l=N[a+584>>2];ja=Q(l*e);B=N[a+552>>2];x=N[a+568>>2];T=Q(Q(B*k)+Q(x*n));o=N[c+24>>2];$=Q(y*o);m=N[c+16>>2];r=N[c+20>>2];ka=Q(Q(w*m)+Q(z*r));v=N[a+672>>2];L=Q(v*A);A=N[a+664>>2];U=Q(A*D);D=N[a+668>>2];G=Q(Q(L+Q(U+Q(G*D)))+N[d+56>>2]);C=Q(Q(Q(v*C)+Q(Q(A*R)+Q(S*D)))+N[d+52>>2]);R=N[a+608>>2];S=N[a+600>>2];U=N[a+604>>2];Z=N[c+56>>2];ca=Q(Q(Q(R*e)+Q(Q(S*k)+Q(n*U)))+Z);e=N[c+52>>2];da=Q(Q(Q(R*o)+Q(Q(S*m)+Q(r*U)))+e);L=g;g=N[d>>2];ea=N[d+4>>2];L=Q(Q(L*g)+Q(ea*j));j=N[d+8>>2];la=Q(h*j);k=N[c>>2];n=N[c+4>>2];w=Q(Q(w*k)+Q(n*z));h=N[c+8>>2];z=Q(y*h);g=Q(N[d+48>>2]+Q(Q(v*j)+Q(Q(A*g)+Q(ea*D))));j=N[c+48>>2];y=Q(j+Q(Q(R*h)+Q(Q(S*k)+Q(n*U))));p=J[b+24>>2];u=K[a+736|0];if(!u){f=J[b+8>>2];J[f>>2]=1065353216;i=(p<<2)+4|0;J[i+f>>2]=1065353216;E=(p<<3)+8|0;J[E+f>>2]=1065353216;f=J[b+16>>2];J[f>>2]=-1082130432;J[f+i>>2]=-1082130432;J[f+E>>2]=-1082130432;Z=N[c+56>>2];j=N[c+48>>2];e=N[c+52>>2]}c=J[b+12>>2];J[c+12>>2]=0;v=Q(ca-Z);N[c+4>>2]=v;J[c>>2]=0;e=Q(da-e);N[c+8>>2]=-e;i=p<<2;f=i+c|0;J[f+12>>2]=0;j=Q(y-j);N[f+8>>2]=j;J[f+4>>2]=0;N[f>>2]=-v;E=p<<3;f=E+c|0;J[f+8>>2]=0;J[f+12>>2]=0;N[f+4>>2]=-j;N[f>>2]=e;e=N[d+48>>2];j=N[d+56>>2];v=N[d+52>>2];f=J[b+20>>2];J[f+12>>2]=0;J[f>>2]=0;v=Q(C-v);N[f+8>>2]=v;j=Q(G-j);N[f+4>>2]=-j;d=f+i|0;J[d+12>>2]=0;e=Q(g-e);N[d+8>>2]=-e;J[d+4>>2]=0;N[d>>2]=j;d=f+E|0;J[d+8>>2]=0;J[d+12>>2]=0;N[d+4>>2]=e;N[d>>2]=-v;v=N[(K[a+748|0]&8?a+756|0:b+4|0)>>2];e=Q(v*N[b>>2]);d=J[b+28>>2];if(!u){N[d>>2]=e*Q(g-y);N[d+i>>2]=e*Q(C-da);N[d+(p<<3)>>2]=e*Q(G-ca)}i=P(p,12);g=Q(Q(l*h)+Q(Q(B*k)+Q(x*n)));N[i+c>>2]=g;E=i+8|0;j=Q(ja+T);N[E+c>>2]=j;F=i+4|0;y=Q(Q(l*o)+Q(Q(B*m)+Q(x*r)));N[F+c>>2]=y;u=p<<4;h=Q(Q(t*h)+Q(Q(q*k)+Q(n*s)));N[u+c>>2]=h;fa=u|4;m=Q(Q(t*o)+Q(Q(q*m)+Q(s*r)));N[fa+c>>2]=m;M=u|8;r=Q(I+ia);N[M+c>>2]=r;N[f+i>>2]=-g;N[f+E>>2]=-j;N[f+F>>2]=-y;N[f+u>>2]=-h;N[f+fa>>2]=-m;N[f+M>>2]=-r;k=Q(z+w);o=Q(W+X);w=Q(la+L);n=Q($+ka);z=Q(Q(k*o)-Q(w*n));s=Q(z*j);j=Q(V+ha);l=o;o=Q(O+_);t=Q(Q(n*j)-Q(l*o));l=Q(t*g);g=Q(Q(o*w)-Q(j*k));N[d+i>>2]=Q(s+Q(l+Q(y*g)))*e;N[d+u>>2]=Q(Q(z*r)+Q(Q(t*h)+Q(m*g)))*e;u=K[a+716|0];h:{i:{if(u){E=K[a+737|0]!=0;e=Q(N[a+708>>2]*N[a+732>>2]);d=e>Q(0)?1:2;break i}if(!K[a+737|0]){break h}e=Q(0);E=1;d=0}p=P(p,5);i=p<<2;N[i+c>>2]=k;F=i+8|0;N[F+c>>2]=o;M=c;c=i+4|0;N[M+c>>2]=n;N[f+F>>2]=-o;N[c+f>>2]=-n;N[f+i>>2]=-k;c=a+688|0;m=Eb(c);r=Fb(c);c=J[b+28>>2];J[i+c>>2]=0;i=J[a+748>>2];h=i&2?N[a+764>>2]:v;f=m!=r;if(!(!E|!(f|!u))){if(i&4){N[J[b+32>>2]+(p<<2)>>2]=N[a+752>>2]}m=Hb(N[a+728>>2],m,r,N[a+680>>2],Q(h*N[b>>2]));c=J[b+28>>2];i=p<<2;E=c+i|0;N[E>>2]=Q(Q(m*N[a+680>>2])*N[a+732>>2])+N[E>>2];N[i+J[b+36>>2]>>2]=-N[a+684>>2];N[i+J[b+40>>2]>>2]=N[a+684>>2]}if(!u){break h}i=p<<2;c=i+c|0;N[c>>2]=Q(Q(h*N[b>>2])*e)+N[c>>2];if(H[a+748|0]&1){N[i+J[b+32>>2]>>2]=N[a+760>>2]}j:{if(!f){J[J[b+36>>2]+(p<<2)>>2]=-8388609;e=Q(34028234663852886e22);break j}f=J[b+36>>2]+(p<<2)|0;if((d|0)==1){J[f>>2]=0;e=Q(34028234663852886e22);break j}J[f>>2]=-8388609;e=Q(0)}N[J[b+40>>2]+(p<<2)>>2]=e;m=N[a+704>>2];k:{if(!(m>Q(0))){break k}e=Q(Q(Q(N[ba+8>>2]*o)+Q(Q(N[ba>>2]*k)+Q(n*N[ba+4>>2])))-Q(Q(N[aa+8>>2]*o)+Q(Q(N[aa>>2]*k)+Q(n*N[aa+4>>2]))));l:{if((d|0)==1){if(!(eN[c>>2]){break l}break k}if(!(e>Q(0))){break k}e=Q(e*Q(-m));if(!(e>2])){break k}}N[c>>2]=e}N[c>>2]=N[a+700>>2]*N[c>>2]}}function Tc(a,b,c,d,e,f){var g=0,h=Q(0),i=0,j=Q(0),k=Q(0),l=Q(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),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),I=Q(0),L=0,M=Q(0),O=Q(0),R=Q(0);g=sa-672|0;sa=g;i=J[d+12>>2];F=J[d+4>>2];L=J[F+4>>2];a:{if((L|0)<=19){N[g+644>>2]=f;J[g+640>>2]=0;J[g+472>>2]=13156;N[g+636>>2]=N[e+4>>2];H[g+444|0]=0;J[g+420>>2]=953267991;J[g+36>>2]=22676;o=g+648|0;J[o+20>>2]=0;J[o+16>>2]=F;J[o+12>>2]=a;J[o+8>>2]=g+36;J[o+4>>2]=g+112;J[o>>2]=22452;b:{if(!(ua[J[J[o>>2]+8>>2]](o,b,c,i,i,g+472|0)|0)){break b}j=N[g+612>>2];k=N[g+604>>2];n=N[g+608>>2];h=Q(Q(j*j)+Q(Q(k*k)+Q(n*n)));if(!(h>Q(9999999747378752e-20))){break b}f=N[g+636>>2];if(!(f>2])){break b}h=Q(Q(1)/Q(Y(h)));N[g+612>>2]=j*h;N[g+608>>2]=n*h;N[g+604>>2]=k*h;J[g+60>>2]=F;J[g+68>>2]=J[d+8>>2];J[g+72>>2]=g+52;a=J[g+616>>2];J[g+84>>2]=J[g+612>>2];J[g+88>>2]=a;c=J[g+604>>2];b=J[g+608>>2];a=J[g+632>>2];J[g+100>>2]=J[g+628>>2];J[g+104>>2]=a;J[g+76>>2]=c;J[g+80>>2]=b;a=J[g+624>>2];J[g+92>>2]=J[g+620>>2];J[g+96>>2]=a;N[g+108>>2]=f;Q(ua[J[J[e>>2]+12>>2]](e,g+68|0,1))}break a}o=L-21|0;if(o>>>0<=8){c:{switch(o|0){case 0:r=N[i+20>>2];s=N[i+36>>2];p=N[i+52>>2];t=N[i+24>>2];q=N[i+56>>2];u=N[i+40>>2];A=N[i+32>>2];B=N[i>>2];C=N[i+16>>2];D=N[i+4>>2];E=N[i+8>>2];h=N[i+48>>2];m=N[b+52>>2];l=N[b+56>>2];j=N[b+48>>2];J[g+80>>2]=0;h=Q(-h);k=Q(Q(Q(E*h)-Q(t*p))-Q(u*q));N[g+76>>2]=k+Q(Q(l*u)+Q(Q(j*E)+Q(t*m)));n=Q(Q(Q(D*h)-Q(r*p))-Q(s*q));N[g+72>>2]=n+Q(Q(l*s)+Q(Q(j*D)+Q(r*m)));h=Q(Q(Q(B*h)-Q(C*p))-Q(A*q));N[g+68>>2]=h+Q(Q(l*A)+Q(Q(j*B)+Q(C*m)));m=N[c+52>>2];l=N[c+56>>2];j=N[c+48>>2];J[g+660>>2]=0;N[g+656>>2]=k+Q(Q(l*u)+Q(Q(j*E)+Q(t*m)));N[g+652>>2]=n+Q(Q(l*s)+Q(Q(j*D)+Q(r*m)));N[g+648>>2]=h+Q(Q(l*A)+Q(Q(j*B)+Q(C*m)));G=N[c+20>>2];p=N[c+36>>2];q=N[c+24>>2];m=N[c+40>>2];l=N[c+32>>2];j=N[c>>2];k=N[c+16>>2];n=N[c+4>>2];h=N[c+8>>2];J[g+516>>2]=0;J[g+520>>2]=0;J[g+500>>2]=0;J[g+524>>2]=0;J[g+528>>2]=0;J[g+532>>2]=0;N[g+512>>2]=Q(m*u)+Q(Q(h*E)+Q(t*q));N[g+508>>2]=Q(p*u)+Q(Q(n*E)+Q(t*G));N[g+496>>2]=Q(m*s)+Q(Q(h*D)+Q(r*q));N[g+492>>2]=Q(p*s)+Q(Q(n*D)+Q(r*G));J[g+484>>2]=0;N[g+504>>2]=Q(l*u)+Q(Q(j*E)+Q(t*k));N[g+488>>2]=Q(l*s)+Q(Q(j*D)+Q(r*k));N[g+480>>2]=Q(m*A)+Q(Q(h*B)+Q(C*q));N[g+476>>2]=Q(p*A)+Q(Q(n*B)+Q(C*G));N[g+472>>2]=Q(l*A)+Q(Q(j*B)+Q(C*k));d=J[d+8>>2];b=Ud(g+112|0,a,b,c,i,Q(ua[J[J[F>>2]+48>>2]](F)));J[b+220>>2]=F;J[b+216>>2]=d;J[b+212>>2]=e;J[b>>2]=13756;h=N[e+4>>2];N[b+208>>2]=f;N[b+200>>2]=h;e=g+52|0;d=g+36|0;ua[J[J[a>>2]+8>>2]](a,g+472|0,e,d);L=sa-16|0;sa=L;a=J[F+56>>2];J[L+12>>2]=b;J[L+8>>2]=a;J[L+4>>2]=18824;c=L+4|0;b=g+68|0;a=g+648|0;o=J[F+60>>2];d:{if(K[o+60|0]){ye(o,c,b,a,e,d,J[o+56>>2]);break d}ze(o,c,b,a,e,d)}sa=L+16|0;break a;case 7:N[g+284>>2]=f;J[g+280>>2]=0;J[g+112>>2]=13156;N[g+276>>2]=N[e+4>>2];o=g+68|0;J[o+20>>2]=F;J[o+16>>2]=0;J[o+12>>2]=a;J[o+4>>2]=0;J[o+8>>2]=0;J[o>>2]=22452;e:{if(!(ua[J[J[o>>2]+8>>2]](o,b,c,i,i,g+112|0)|0)){break e}j=N[g+252>>2];k=N[g+244>>2];n=N[g+248>>2];h=Q(Q(j*j)+Q(Q(k*k)+Q(n*n)));if(!(h>Q(9999999747378752e-20))){break e}f=N[g+276>>2];if(!(f>2])){break e}h=Q(Q(1)/Q(Y(h)));N[g+252>>2]=j*h;N[g+248>>2]=n*h;N[g+244>>2]=k*h;J[g+656>>2]=F;J[g+472>>2]=J[d+8>>2];J[g+476>>2]=g+648;a=J[g+256>>2];J[g+488>>2]=J[g+252>>2];J[g+492>>2]=a;c=J[g+244>>2];b=J[g+248>>2];a=J[g+272>>2];J[g+504>>2]=J[g+268>>2];J[g+508>>2]=a;J[g+480>>2]=c;J[g+484>>2]=b;a=J[g+264>>2];J[g+496>>2]=J[g+260>>2];J[g+500>>2]=a;N[g+512>>2]=f;Q(ua[J[J[e>>2]+12>>2]](e,g+472|0,1))}break a;default:break c}}r=N[b+52>>2];s=N[b+56>>2];t=N[i+52>>2];u=N[i+56>>2];A=N[c+52>>2];B=N[c+56>>2];M=N[i+20>>2];O=N[i+36>>2];R=N[i+24>>2];I=N[i+40>>2];C=N[b+48>>2];n=N[i+48>>2];D=N[c+48>>2];v=N[i+32>>2];w=N[i>>2];x=N[i+16>>2];y=N[i+4>>2];z=N[i+8>>2];E=N[c+20>>2];G=N[c+36>>2];p=N[c+24>>2];q=N[c+40>>2];m=N[c+32>>2];l=N[c>>2];j=N[c+16>>2];k=N[c+4>>2];h=N[c+8>>2];J[g+516>>2]=0;J[g+520>>2]=0;J[g+500>>2]=0;J[g+524>>2]=0;J[g+528>>2]=0;J[g+532>>2]=0;N[g+512>>2]=Q(q*I)+Q(Q(h*z)+Q(R*p));N[g+508>>2]=Q(G*I)+Q(Q(k*z)+Q(R*E));N[g+496>>2]=Q(q*O)+Q(Q(h*y)+Q(M*p));N[g+492>>2]=Q(G*O)+Q(Q(k*y)+Q(M*E));J[g+484>>2]=0;N[g+504>>2]=Q(m*I)+Q(Q(l*z)+Q(R*j));N[g+488>>2]=Q(m*O)+Q(Q(l*y)+Q(M*j));N[g+480>>2]=Q(q*v)+Q(Q(h*w)+Q(x*p));N[g+476>>2]=Q(G*v)+Q(Q(k*w)+Q(x*E));N[g+472>>2]=Q(m*v)+Q(Q(l*w)+Q(x*j));d=J[d+8>>2];b=Ud(g+112|0,a,b,c,i,Q(ua[J[J[F>>2]+48>>2]](F)));J[b+220>>2]=F;J[b+216>>2]=d;J[b+212>>2]=e;J[b>>2]=13968;h=N[e+4>>2];N[b+208>>2]=f;N[b+200>>2]=h;ua[J[J[a>>2]+8>>2]](a,g+472|0,g+68|0,g+648|0);J[g+64>>2]=0;f=Q(-n);k=Q(Q(Q(z*f)-Q(R*t))-Q(I*u));h=Q(Q(Q(y*f)-Q(M*t))-Q(O*u));l=Q(h+Q(Q(B*O)+Q(Q(D*y)+Q(M*A))));f=Q(Q(Q(w*f)-Q(x*t))-Q(v*u));p=Q(f+Q(Q(s*v)+Q(Q(C*w)+Q(x*r))));n=p;j=Q(f+Q(Q(B*v)+Q(Q(D*w)+Q(x*A))));if(j>2]=j;n=j}m=Q(h+Q(Q(s*O)+Q(Q(C*y)+Q(M*r))));h=m;if(l>2]=l;h=l}q=Q(k+Q(Q(s*I)+Q(Q(C*z)+Q(R*r))));f=q;k=Q(k+Q(Q(B*I)+Q(Q(D*z)+Q(R*A))));if(k>2]=k;f=k}J[g+48>>2]=0;N[g+52>>2]=N[g+68>>2]+n;N[g+56>>2]=N[g+72>>2]+h;N[g+60>>2]=N[g+76>>2]+f;N[g+36>>2]=N[g+648>>2]+(j>p?j:p);N[g+40>>2]=N[g+652>>2]+(l>m?l:m);N[g+44>>2]=N[g+656>>2]+(k>q?k:q);ua[J[J[F>>2]+64>>2]](F,b,g+52|0,g+36|0);break a}if((L|0)!=31){break a}ua[J[8262]](7733);u=N[i+52>>2];A=N[i+56>>2];B=N[b+52>>2];C=N[b+56>>2];I=N[i+20>>2];v=N[i+36>>2];D=N[b+20>>2];E=N[b+36>>2];G=N[b+24>>2];w=N[i+24>>2];p=N[b+40>>2];x=N[i+40>>2];y=N[i+32>>2];z=N[i>>2];r=N[i+16>>2];q=N[b+32>>2];m=N[b>>2];l=N[b+16>>2];h=N[i+48>>2];j=N[b+48>>2];s=N[i+4>>2];k=N[b+4>>2];n=N[b+8>>2];t=N[i+8>>2];J[g+172>>2]=0;J[g+156>>2]=0;J[g+140>>2]=0;N[g+152>>2]=Q(p*x)+Q(Q(n*t)+Q(w*G));N[g+148>>2]=Q(E*x)+Q(Q(k*t)+Q(w*D));N[g+136>>2]=Q(p*v)+Q(Q(n*s)+Q(I*G));N[g+132>>2]=Q(E*v)+Q(Q(k*s)+Q(I*D));h=Q(-h);N[g+168>>2]=Q(Q(Q(t*h)-Q(w*u))-Q(x*A))+Q(Q(C*x)+Q(Q(j*t)+Q(w*B)));N[g+164>>2]=Q(Q(Q(s*h)-Q(I*u))-Q(v*A))+Q(Q(C*v)+Q(Q(j*s)+Q(I*B)));J[g+124>>2]=0;N[g+144>>2]=Q(q*x)+Q(Q(m*t)+Q(w*l));N[g+128>>2]=Q(q*v)+Q(Q(m*s)+Q(I*l));N[g+120>>2]=Q(p*y)+Q(Q(n*z)+Q(r*G));N[g+116>>2]=Q(E*y)+Q(Q(k*z)+Q(r*D));N[g+112>>2]=Q(q*y)+Q(Q(m*z)+Q(r*l));N[g+160>>2]=Q(Q(Q(z*h)-Q(r*u))-Q(y*A))+Q(Q(C*y)+Q(Q(j*z)+Q(r*B)));o=g+112|0;ua[J[J[a>>2]+8>>2]](a,o,g+52|0,g+36|0);u=N[i+52>>2];A=N[i+56>>2];B=N[c+52>>2];C=N[c+56>>2];I=N[i+20>>2];v=N[i+36>>2];D=N[c+20>>2];E=N[c+36>>2];G=N[c+24>>2];w=N[i+24>>2];p=N[c+40>>2];x=N[i+40>>2];y=N[i+32>>2];z=N[i>>2];r=N[i+16>>2];q=N[c+32>>2];m=N[c>>2];l=N[c+16>>2];h=N[i+48>>2];j=N[c+48>>2];s=N[i+4>>2];k=N[c+4>>2];n=N[c+8>>2];t=N[i+8>>2];J[g+172>>2]=0;J[g+156>>2]=0;J[g+140>>2]=0;N[g+152>>2]=Q(p*x)+Q(Q(n*t)+Q(w*G));N[g+148>>2]=Q(E*x)+Q(Q(k*t)+Q(w*D));N[g+136>>2]=Q(p*v)+Q(Q(n*s)+Q(I*G));N[g+132>>2]=Q(E*v)+Q(Q(k*s)+Q(I*D));h=Q(-h);N[g+168>>2]=Q(Q(Q(t*h)-Q(w*u))-Q(x*A))+Q(Q(C*x)+Q(Q(j*t)+Q(w*B)));N[g+164>>2]=Q(Q(Q(s*h)-Q(I*u))-Q(v*A))+Q(Q(C*v)+Q(Q(j*s)+Q(I*B)));J[g+124>>2]=0;N[g+144>>2]=Q(q*x)+Q(Q(m*t)+Q(w*l));N[g+128>>2]=Q(q*v)+Q(Q(m*s)+Q(I*l));N[g+120>>2]=Q(p*y)+Q(Q(n*z)+Q(r*G));N[g+116>>2]=Q(E*y)+Q(Q(k*z)+Q(r*D));N[g+112>>2]=Q(q*y)+Q(Q(m*z)+Q(r*l));N[g+160>>2]=Q(Q(Q(z*h)-Q(r*u))-Q(y*A))+Q(Q(C*y)+Q(Q(j*z)+Q(r*B)));ua[J[J[a>>2]+8>>2]](a,o,g+16|0,g);h=N[g+16>>2];if(h>2]){N[g+52>>2]=h}h=N[g+20>>2];if(h>2]){N[g+56>>2]=h}h=N[g+24>>2];if(h>2]){N[g+60>>2]=h}h=N[g+28>>2];if(h>2]){N[g+64>>2]=h}h=N[g>>2];if(h>N[g+36>>2]){N[g+36>>2]=h}h=N[g+4>>2];if(h>N[g+40>>2]){N[g+40>>2]=h}h=N[g+8>>2];if(h>N[g+44>>2]){N[g+44>>2]=h}h=N[g+12>>2];if(h>N[g+48>>2]){N[g+48>>2]=h}J[g+504>>2]=e;J[g+500>>2]=i;N[g+492>>2]=f;J[g+488>>2]=c;J[g+484>>2]=b;J[g+480>>2]=a;J[g+476>>2]=d;J[g+472>>2]=14184;J[g+496>>2]=F;b=J[F+72>>2];f:{if(!b){if(J[F+24>>2]<=0){break f}c=0;while(1){a=J[F+32>>2]+P(c,80)|0;d=J[a+64>>2];A=N[a+48>>2];B=N[a+52>>2];C=N[a+56>>2];D=N[a>>2];E=N[a+16>>2];G=N[a+32>>2];p=N[a+4>>2];q=N[a+20>>2];m=N[a+36>>2];l=N[a+8>>2];j=N[a+24>>2];k=N[a+40>>2];a=J[g+500>>2];n=N[a+52>>2];h=N[a+56>>2];v=N[a+20>>2];w=N[a+24>>2];x=N[a+36>>2];y=N[a+40>>2];f=N[a+48>>2];z=N[a+8>>2];r=N[a>>2];s=N[a+4>>2];t=N[a+16>>2];u=N[a+32>>2];J[g+172>>2]=0;J[g+156>>2]=0;J[g+140>>2]=0;J[g+124>>2]=0;N[g+152>>2]=Q(k*y)+Q(Q(l*u)+Q(j*x));N[g+148>>2]=Q(m*y)+Q(Q(p*u)+Q(q*x));N[g+144>>2]=Q(G*y)+Q(Q(D*u)+Q(E*x));N[g+136>>2]=Q(k*w)+Q(Q(l*t)+Q(j*v));N[g+132>>2]=Q(m*w)+Q(Q(p*t)+Q(q*v));N[g+128>>2]=Q(G*w)+Q(Q(D*t)+Q(E*v));N[g+120>>2]=Q(k*z)+Q(Q(l*r)+Q(j*s));N[g+116>>2]=Q(m*z)+Q(Q(p*r)+Q(q*s));N[g+112>>2]=Q(G*z)+Q(Q(D*r)+Q(E*s));N[g+168>>2]=h+Q(Q(C*y)+Q(Q(A*u)+Q(B*x)));N[g+164>>2]=n+Q(Q(C*w)+Q(Q(A*t)+Q(B*v)));N[g+160>>2]=f+Q(Q(C*z)+Q(Q(A*r)+Q(B*s)));J[g+80>>2]=-1;J[g+84>>2]=0;J[g+72>>2]=1065353216;J[g+76>>2]=1;J[g+96>>2]=c;a=J[g+504>>2];J[g+92>>2]=a;J[g+88>>2]=d;J[g+68>>2]=14400;N[g+72>>2]=N[a+4>>2];b=J[g+476>>2];a=J[b+8>>2];J[g+668>>2]=c;J[g+664>>2]=-1;J[g+656>>2]=a;J[g+652>>2]=d;J[g+648>>2]=b;J[g+660>>2]=g+112;Tc(J[g+480>>2],J[g+484>>2],J[g+488>>2],g+648|0,g+68|0,N[g+492>>2]);c=c+1|0;if((c|0)>2]){continue}break}break f}a=J[g+64>>2];J[g+120>>2]=J[g+60>>2];J[g+124>>2]=a;a=J[g+48>>2];J[g+136>>2]=J[g+44>>2];J[g+140>>2]=a;a=J[g+40>>2];J[g+128>>2]=J[g+36>>2];J[g+132>>2]=a;a=J[g+56>>2];J[g+112>>2]=J[g+52>>2];J[g+116>>2]=a;xb(J[b>>2],g+112|0,g+472|0)}ua[J[8263]]()}sa=g+672|0}function Se(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=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=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=Q(0),O=0,R=Q(0),S=Q(0),T=0;f=sa-176|0;sa=f;i=K[a+68|0];T=i?c:b;O=J[T+4>>2];if(J[O+76>>2]!=J[a+80>>2]){j=J[a+52>>2];if((j|0)>0){while(1){s=g<<2;h=J[s+J[a+60>>2]>>2];if(h){ua[J[J[h>>2]>>2]](h)|0;h=J[a+4>>2];ua[J[J[h>>2]+60>>2]](h,J[s+J[a+60>>2]>>2])}g=g+1|0;if((j|0)!=(g|0)){continue}break}}Te(a,b,c);J[a+80>>2]=J[O+76>>2]}h=J[a+52>>2];a:{if(!h){break a}j=J[O+72>>2];g=J[a+60>>2];s=J[a+4>>2];J[f+172>>2]=J[a+72>>2];J[f+168>>2]=g;J[f+164>>2]=e;J[f+160>>2]=d;J[f+156>>2]=s;s=i?b:c;J[f+152>>2]=s;J[f+148>>2]=T;J[f+144>>2]=16264;b=J[a+32>>2];if((b|0)<0){if(J[a+36>>2]<0){c=J[a+40>>2];if(!(c?!c|!K[a+44|0]:1)){J[8457]=J[8457]+1;ua[J[8259]](c)}H[a+44|0]=1;J[a+36>>2]=0;J[a+40>>2]=0}h=0;g=b;c=0-b&3;if(c){while(1){J[J[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;J[b+J[a+40>>2]>>2]=0;J[(b+J[a+40>>2]|0)+4>>2]=0;J[(b+J[a+40>>2]|0)+8>>2]=0;J[(b+J[a+40>>2]|0)+12>>2]=0;g=g+4|0;if(g){continue}break}}h=J[a+52>>2]}J[a+32>>2]=0;if((h|0)>0){i=a+28|0;b=0;while(1){c=J[J[a+60>>2]+(b<<2)>>2];if(c){ua[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;h=J[d+836>>2];r=J[J[e+8>>2]+8>>2];c=(h|0)==(r|0);l=d;d=J[J[e+12>>2]+8>>2];Ua(l,(c?h: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}}b:{if((c|0)>=0){break b}if(J[a+36>>2]<0){d=J[a+40>>2];if(!(d?!d|!K[a+44|0]:1)){J[8457]=J[8457]+1;ua[J[8259]](d)}H[a+44|0]=1;J[a+36>>2]=0;J[a+40>>2]=0}h=0;g=c;d=0-c&3;if(d){while(1){J[J[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;J[c+J[a+40>>2]>>2]=0;J[(c+J[a+40>>2]|0)+4>>2]=0;J[(c+J[a+40>>2]|0)+8>>2]=0;J[(c+J[a+40>>2]|0)+12>>2]=0;g=g+4|0;if(g){continue}break}}J[a+32>>2]=0;h=J[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){Re(f+144|0,J[(J[O+32>>2]+P(g,80)|0)+64>>2],g);g=g+1|0;if((h|0)!=(g|0)){continue}break}break c}b=J[T+12>>2];x=N[b+52>>2];y=N[b+56>>2];c=J[s+12>>2];z=N[c+52>>2];A=N[c+56>>2];k=N[b+20>>2];m=N[b+36>>2];B=N[c+20>>2];C=N[c+36>>2];D=N[c+24>>2];n=N[b+24>>2];E=N[c+40>>2];o=N[b+40>>2];F=N[c+32>>2];p=N[b+32>>2];G=N[c>>2];q=N[b>>2];I=N[c+16>>2];t=N[b+16>>2];L=N[b+48>>2];M=N[c+48>>2];u=N[b+4>>2];R=N[c+4>>2];S=N[c+8>>2];v=N[b+8>>2];J[f+108>>2]=0;J[f+92>>2]=0;J[f+76>>2]=0;N[f+88>>2]=Q(E*o)+Q(Q(S*v)+Q(n*D));N[f+84>>2]=Q(C*o)+Q(Q(R*v)+Q(n*B));N[f+72>>2]=Q(E*m)+Q(Q(S*u)+Q(k*D));N[f+68>>2]=Q(C*m)+Q(Q(R*u)+Q(k*B));L=Q(-L);N[f+104>>2]=Q(Q(Q(v*L)-Q(n*x))-Q(o*y))+Q(Q(A*o)+Q(Q(M*v)+Q(n*z)));N[f+100>>2]=Q(Q(Q(u*L)-Q(k*x))-Q(m*y))+Q(Q(A*m)+Q(Q(M*u)+Q(k*z)));J[f+60>>2]=0;N[f+48>>2]=Q(F*p)+Q(Q(G*q)+Q(t*I));N[f+80>>2]=Q(F*o)+Q(Q(G*v)+Q(n*I));N[f+64>>2]=Q(F*m)+Q(Q(G*u)+Q(k*I));N[f+56>>2]=Q(E*p)+Q(Q(S*q)+Q(t*D));N[f+52>>2]=Q(C*p)+Q(Q(R*q)+Q(t*B));N[f+96>>2]=Q(Q(Q(q*L)-Q(t*x))-Q(p*y))+Q(Q(A*p)+Q(Q(M*q)+Q(t*z)));b=J[s+4>>2];ua[J[J[b>>2]+8>>2]](b,f+48|0,f+128|0,f+112|0);k=N[e+32>>2];N[f+136>>2]=N[f+136>>2]-k;N[f+120>>2]=k+N[f+120>>2];N[f+128>>2]=N[f+128>>2]-k;N[f+132>>2]=N[f+132>>2]-k;N[f+112>>2]=k+N[f+112>>2];N[f+116>>2]=k+N[f+116>>2];b=J[f+140>>2];J[f+24>>2]=J[f+136>>2];J[f+28>>2]=b;b=J[f+124>>2];J[f+40>>2]=J[f+120>>2];J[f+44>>2]=b;b=J[f+116>>2];J[f+32>>2]=J[f+112>>2];J[f+36>>2]=b;b=J[f+132>>2];J[f+16>>2]=J[f+128>>2];J[f+20>>2]=b;c=0;i=0;h=J[j>>2];if(h){d=J[a+16>>2];k=N[f+40>>2];m=N[f+36>>2];n=N[f+32>>2];o=N[f+24>>2];p=N[f+20>>2];q=N[f+16>>2];e=J[a+12>>2];d:{if((e|0)>=0){break d}if((d|0)<0){b=J[a+20>>2];if(!(b?!b|!K[a+24|0]:1)){J[8457]=J[8457]+1;ua[J[8259]](b)}H[a+24|0]=1;J[a+16>>2]=0;J[a+20>>2]=0;d=0}b=e;g=0-b&3;if(g){while(1){J[J[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;J[c+J[a+20>>2]>>2]=0;J[(c+J[a+20>>2]|0)+4>>2]=0;J[(c+J[a+20>>2]|0)+8>>2]=0;J[(c+J[a+20>>2]|0)+12>>2]=0;b=b+4|0;if(b){continue}break}}e=0;J[a+12>>2]=0;if((d|0)<=63){J[8456]=J[8456]+1;c=ua[J[8258]](256,16)|0;e=J[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;J[g+c>>2]=J[g+J[a+20>>2]>>2];r=g|4;J[r+c>>2]=J[r+J[a+20>>2]>>2];r=g|8;J[r+c>>2]=J[r+J[a+20>>2]>>2];g=g|12;J[g+c>>2]=J[g+J[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;J[j+c>>2]=J[j+J[a+20>>2]>>2];b=b+1|0;d=d+1|0;if((g|0)!=(d|0)){continue}break}}b=J[a+20>>2];if(!(!b|!K[a+24|0])){if(b){J[8457]=J[8457]+1;ua[J[8259]](b)}e=J[a+12>>2]}J[a+20>>2]=c;H[a+24|0]=1;J[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}J[8456]=J[8456]+1;c=ua[J[8258]](d<<3,16)|0;e=J[a+12>>2];if((e|0)<=0){break g}}if(e-1>>>0>=3){i=e&-4;d=0;while(1){g=b<<2;J[g+c>>2]=J[g+J[a+20>>2]>>2];w=g|4;J[w+c>>2]=J[w+J[a+20>>2]>>2];w=g|8;J[w+c>>2]=J[w+J[a+20>>2]>>2];g=g|12;J[g+c>>2]=J[g+J[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;J[i+c>>2]=J[i+J[a+20>>2]>>2];b=b+1|0;d=d+1|0;if((g|0)!=(d|0)){continue}break}}b=J[a+20>>2];if(!(!b|!K[a+24|0])){if(b){J[8457]=J[8457]+1;ua[J[8259]](b)}e=J[a+12>>2]}J[a+20>>2]=c;H[a+24|0]=1;J[a+16>>2]=j}J[J[a+20>>2]+(e<<2)>>2]=h;b=e+1|0;while(1){d=J[a+20>>2];c=b-1|0;j=J[d+(c<<2)>>2];J[a+12>>2]=c;i:{if(!(n>=N[j>>2])){b=c;break i}if(!(q<=N[j+16>>2])){b=c;break i}if(!(m>=N[j+4>>2])){b=c;break i}if(!(p<=N[j+20>>2])){b=c;break i}if(!(k>=N[j+8>>2])){b=c;break i}if(!(o<=N[j+24>>2])){b=c;break i}if(J[j+40>>2]){g=J[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}J[8456]=J[8456]+1;d=ua[J[8258]](g<<2,16)|0;c=J[a+12>>2]}l:{if((c|0)<=0){break l}h=0;b=0;if(c>>>0>=4){w=c&-4;e=0;while(1){i=b<<2;J[i+d>>2]=J[i+J[a+20>>2]>>2];l=i|4;J[l+d>>2]=J[l+J[a+20>>2]>>2];l=i|8;J[l+d>>2]=J[l+J[a+20>>2]>>2];i=i|12;J[i+d>>2]=J[i+J[a+20>>2]>>2];b=b+4|0;e=e+4|0;if((w|0)!=(e|0)){continue}break}}e=c&3;if(!e){break l}while(1){i=b<<2;J[i+d>>2]=J[i+J[a+20>>2]>>2];b=b+1|0;h=h+1|0;if((e|0)!=(h|0)){continue}break}}b=J[a+20>>2];if(!(!b|!K[a+24|0])){if(b){J[8457]=J[8457]+1;ua[J[8259]](b)}c=J[a+12>>2]}J[a+20>>2]=d;H[a+24|0]=1;J[a+16>>2]=g}J[(c<<2)+d>>2]=J[j+36>>2];h=c+1|0;J[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}J[8456]=J[8456]+1;c=ua[J[8258]](e<<2,16)|0;g=J[a+12>>2]}h=g;o:{if((g|0)<=0){break o}i=0;b=0;if(h>>>0>=4){w=h&-4;g=0;while(1){d=b<<2;J[d+c>>2]=J[d+J[a+20>>2]>>2];l=d|4;J[l+c>>2]=J[l+J[a+20>>2]>>2];l=d|8;J[l+c>>2]=J[l+J[a+20>>2]>>2];d=d|12;J[d+c>>2]=J[d+J[a+20>>2]>>2];b=b+4|0;g=g+4|0;if((w|0)!=(g|0)){continue}break}}d=h&3;if(!d){break o}while(1){g=b<<2;J[g+c>>2]=J[g+J[a+20>>2]>>2];b=b+1|0;i=i+1|0;if((d|0)!=(i|0)){continue}break}}b=J[a+20>>2];if(!(!b|!K[a+24|0])){if(b){J[8457]=J[8457]+1;ua[J[8259]](b)}h=J[a+12>>2]}J[a+20>>2]=c;H[a+24|0]=1;J[a+16>>2]=e}J[J[a+20>>2]+(h<<2)>>2]=J[j+40>>2];b=h+1|0;J[a+12>>2]=b;break i}ua[J[J[r>>2]+12>>2]](r,j);b=J[a+12>>2]}if((b|0)>0){continue}break}}}j=J[a+52>>2];b=J[a+32>>2];p:{if((b|0)>=0){break p}if(J[a+36>>2]<0){c=J[a+40>>2];if(!(c?!c|!K[a+44|0]:1)){J[8457]=J[8457]+1;ua[J[8259]](c)}H[a+44|0]=1;J[a+36>>2]=0;J[a+40>>2]=0}h=0;g=b;c=0-b&3;if(c){while(1){J[J[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;J[b+J[a+40>>2]>>2]=0;J[(b+J[a+40>>2]|0)+4>>2]=0;J[(b+J[a+40>>2]|0)+8>>2]=0;J[(b+J[a+40>>2]|0)+12>>2]=0;g=g+4|0;if(g){continue}break}}J[a+32>>2]=0;if((j|0)<=0){break a}e=0;while(1){d=e<<2;q:{if(!J[d+J[a+60>>2]>>2]){break q}b=J[O+32>>2]+P(e,80)|0;g=J[b+64>>2];c=J[T+12>>2];R=N[c+52>>2];S=N[c+56>>2];x=N[b+48>>2];y=N[b+52>>2];z=N[b+56>>2];A=N[b+4>>2];B=N[b+20>>2];C=N[b+36>>2];D=N[b+8>>2];E=N[b+24>>2];F=N[b+40>>2];k=N[c+20>>2];m=N[c+24>>2];G=N[b>>2];I=N[b+16>>2];n=N[c+36>>2];M=N[b+32>>2];o=N[c+40>>2];L=N[c+48>>2];p=N[c+8>>2];q=N[c>>2];t=N[c+4>>2];u=N[c+16>>2];v=N[c+32>>2];h=0;J[f+108>>2]=0;J[f+92>>2]=0;J[f+76>>2]=0;J[f+60>>2]=0;N[f+80>>2]=Q(M*o)+Q(Q(G*v)+Q(n*I));N[f+64>>2]=Q(M*m)+Q(Q(G*u)+Q(k*I));N[f+48>>2]=Q(M*p)+Q(Q(G*q)+Q(t*I));N[f+88>>2]=Q(F*o)+Q(Q(D*v)+Q(n*E));N[f+84>>2]=Q(C*o)+Q(Q(A*v)+Q(n*B));N[f+72>>2]=Q(F*m)+Q(Q(D*u)+Q(k*E));N[f+68>>2]=Q(C*m)+Q(Q(A*u)+Q(k*B));N[f+56>>2]=Q(F*p)+Q(Q(D*q)+Q(t*E));N[f+52>>2]=Q(C*p)+Q(Q(A*q)+Q(t*B));N[f+104>>2]=S+Q(Q(z*o)+Q(Q(x*v)+Q(n*y)));N[f+100>>2]=R+Q(Q(z*m)+Q(Q(x*u)+Q(k*y)));N[f+96>>2]=L+Q(Q(z*p)+Q(Q(x*q)+Q(t*y)));ua[J[J[g>>2]+8>>2]](g,f+48|0,f+16|0,f+128|0);b=J[s+4>>2];ua[J[J[b>>2]+8>>2]](b,J[s+12>>2],f+112|0,f);b=0;r:{if(N[f+16>>2]>N[f>>2]){break r}b=0;if(N[f+128>>2]>2]){break r}b=1}if(!(N[f+20>>2]>N[f+4>>2])&(!(N[f+132>>2]>2])&(N[f+136>>2]>2]|N[f+24>>2]>N[f+8>>2]?h:b))){break q}b=J[d+J[a+60>>2]>>2];ua[J[J[b>>2]>>2]](b)|0;b=J[a+4>>2];ua[J[J[b>>2]+60>>2]](b,J[d+J[a+60>>2]>>2]);J[d+J[a+60>>2]>>2]=0}e=e+1|0;if((j|0)!=(e|0)){continue}break}}sa=f+176|0}function Ii(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=0,n=0,o=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=0,z=Q(0),A=0,B=0,C=0,D=0,E=Q(0),F=0,G=0,I=0,L=Q(0),O=Q(0),R=Q(0),S=Q(0),T=Q(0),U=Q(0),V=Q(0),W=Q(0),X=0,Z=Q(0);a=sa-80|0;sa=a;k=N[e+52>>2];l=N[f+52>>2];p=N[e+56>>2];s=N[f+56>>2];r=N[e+48>>2];t=N[f+48>>2];J[a+76>>2]=0;N[a+64>>2]=t-r;N[a+72>>2]=s-p;N[a+68>>2]=l-k;o=sa-19040|0;sa=o;q=e;y=a+8|0;e=o+18912|0;Xd(c,q,d,f,y,e,1);b=o+18668|0;J[b>>2]=0;J[b+4>>2]=0;J[o+18660>>2]=0;J[o+18664>>2]=0;J[o+18896>>2]=0;J[o+18900>>2]=0;J[o+18908>>2]=2;J[o+18676>>2]=0;b=a- -64|0;k=N[b>>2];l=N[b+4>>2];p=N[b+8>>2];J[o+32>>2]=0;N[o+28>>2]=-p;N[o+24>>2]=-l;N[o+20>>2]=-k;a:{b:{c:{switch(Wd(o+18532|0,e,o+20|0)-1|0){case 0:J[o+68>>2]=0;J[o+72>>2]=0;J[o+76>>2]=0;J[o+18512>>2]=0;J[o+20>>2]=9;J[o+18516>>2]=0;J[o+18520>>2]=0;J[o+60>>2]=0;J[o+64>>2]=0;e=0;while(1){m=P(255-e|0,56);j=m+(o+20|0)|0;J[j+4204>>2]=A;J[j+4200>>2]=0;j=j+4156|0;if(A){J[A+44>>2]=j}J[o+18524>>2]=j;n=o+4176|0;A=n+P(254-e|0,56)|0;J[A+44>>2]=0;J[A+48>>2]=j;J[(m+n|0)+44>>2]=A;J[o+18524>>2]=A;e=e+2|0;if((e|0)!=256){continue}break};J[o+18528>>2]=256;k=N[b>>2];l=N[b+4>>2];p=N[b+8>>2];A=0;J[o+16>>2]=0;N[o+12>>2]=-p;N[o+8>>2]=-l;N[o+4>>2]=-k;m=o+20|0;C=sa-32|0;sa=C;d:{e:{X=o+18532|0;n=J[X+372>>2];if(M[n+32>>2]<2){break e}if(!Xa(X)){break e}b=J[m+18496>>2];if(b){j=J[m+18508>>2];e=J[m+18500>>2];while(1){x=J[b+48>>2];if(x){J[x+44>>2]=J[b+44>>2]}x=J[b+44>>2];if(x){J[x+48>>2]=J[b+48>>2]}if(J[m+18496>>2]==(b|0)){J[m+18496>>2]=J[b+48>>2]}J[b+44>>2]=0;J[b+48>>2]=J[m+18504>>2];x=J[m+18504>>2];if(x){J[x+44>>2]=b}e=e-1|0;J[m+18504>>2]=b;j=j+1|0;b=J[m+18496>>2];if(b){continue}break}J[m+18508>>2]=j;J[m+18500>>2]=e}J[m+18492>>2]=0;J[m>>2]=0;j=J[n>>2];e=J[n+12>>2];k=N[e+16>>2];s=Q(N[j+16>>2]-k);b=J[n+4>>2];l=N[e+20>>2];r=Q(N[b+20>>2]-l);x=J[n+8>>2];p=N[e+24>>2];t=Q(N[x+24>>2]-p);u=Q(N[j+20>>2]-l);v=Q(N[b+24>>2]-p);w=Q(N[x+16>>2]-k);p=Q(N[j+24>>2]-p);k=Q(N[b+16>>2]-k);l=Q(N[x+20>>2]-l);f:{if(!(Q(Q(Q(Q(s*r)*t)+Q(Q(Q(Q(Q(u*v)*w)+Q(Q(p*k)*l))-Q(Q(v*s)*l))-Q(Q(k*u)*t)))-Q(Q(r*p)*w))>2]=j;J[n>>2]=b;ta=J[n+16>>2];J[n+16>>2]=J[n+20>>2];J[n+20>>2]=ta;e=j}e=rb(m,b,e,x,1);x=rb(m,J[n+4>>2],J[n>>2],J[n+12>>2],1);B=rb(m,J[n+8>>2],J[n+4>>2],J[n+12>>2],1);D=rb(m,J[n>>2],J[n+8>>2],J[n+12>>2],1);if(J[m+18500>>2]!=4){break e}j=J[m+18496>>2];b=J[j+48>>2];if(b){k=N[j+16>>2];k=Q(k*k);while(1){l=N[b+16>>2];l=Q(l*l);n=l>2];if(b){continue}break}}F=J[j+28>>2];G=J[j+24>>2];I=J[j+20>>2];k=N[j+16>>2];v=N[j+12>>2];s=N[j+8>>2];l=N[j+4>>2];p=N[j>>2];J[e+32>>2]=x;H[e+52|0]=0;J[x+32>>2]=e;H[x+52|0]=0;J[e+36>>2]=B;H[e+53|0]=0;J[B+32>>2]=e;H[B+52|0]=1;J[e+40>>2]=D;H[e+54|0]=0;J[D+32>>2]=e;H[D+52|0]=2;J[x+36>>2]=D;H[x+53|0]=2;J[D+40>>2]=x;H[D+54|0]=1;J[x+40>>2]=B;H[x+54|0]=1;J[B+36>>2]=x;H[B+53|0]=2;H[B+54|0]=1;J[B+40>>2]=D;J[D+36>>2]=B;H[D+53|0]=2;J[m>>2]=0;e=0;while(1){g:{h:{n=J[m+18492>>2];if(n>>>0<=127){b=0;J[C+12>>2]=0;J[C+4>>2]=0;J[C+8>>2]=0;J[m+18492>>2]=n+1;e=e+1|0;H[j+55|0]=e;r=N[j+8>>2];t=N[j>>2];u=N[j+4>>2];n=m+(n<<5)|0;J[n+72>>2]=0;E=r;r=Q(Q(1)/Q(Y(Q(Q(r*r)+Q(Q(t*t)+Q(u*u))))));N[n+68>>2]=E*r;N[n- -64>>2]=u*r;x=n+60|0;N[x>>2]=t*r;Ra(C+16|0,X,x);B=J[C+28>>2];J[n+84>>2]=J[C+24>>2];J[n+88>>2]=B;B=J[C+20>>2];J[n+76>>2]=J[C+16>>2];J[n+80>>2]=B;if(!(Q(Q(Q(N[j+8>>2]*N[n+84>>2])+Q(Q(N[j>>2]*N[n+76>>2])+Q(N[j+4>>2]*N[n+80>>2])))-N[j+16>>2])>Q(9999999747378752e-20))){J[m>>2]=7;break g}while(1){n=uc(m,e,x,J[((b<<2)+j|0)+32>>2],K[(b+j|0)+52|0],C+4|0);if(!n){break h}B=b>>>0<2;b=b+1|0;if(B){continue}break}break h}J[m>>2]=6;break g}if(!(n&M[C+12>>2]>2)){J[m>>2]=4;break g}b=J[C+4>>2];n=J[C+8>>2];J[b+36>>2]=n;H[b+53|0]=2;J[n+40>>2]=b;H[n+54|0]=1;b=J[j+48>>2];if(b){J[b+44>>2]=J[j+44>>2]}b=J[j+44>>2];if(b){J[b+48>>2]=J[j+48>>2]}if(J[m+18496>>2]==(j|0)){J[m+18496>>2]=J[j+48>>2]}J[m+18500>>2]=J[m+18500>>2]-1;J[j+44>>2]=0;J[j+48>>2]=J[m+18504>>2];b=J[m+18504>>2];if(b){J[b+44>>2]=j}J[m+18504>>2]=j;J[m+18508>>2]=J[m+18508>>2]+1;j=J[m+18496>>2];b=J[j+48>>2];if(b){k=N[j+16>>2];k=Q(k*k);while(1){l=N[b+16>>2];l=Q(l*l);n=l>2];if(b){continue}break}}F=J[j+28>>2];G=J[j+24>>2];I=J[j+20>>2];k=N[j+16>>2];v=N[j+12>>2];s=N[j+8>>2];l=N[j+4>>2];p=N[j>>2];if((e|0)!=255){continue}}break}N[m+56>>2]=k;N[m+40>>2]=p;J[m+4>>2]=I;N[m+52>>2]=v;N[m+48>>2]=s;N[m+44>>2]=l;J[m+36>>2]=3;J[m+12>>2]=F;J[m+8>>2]=G;p=Q(p*k);r=Q(N[G+16>>2]-p);l=Q(l*k);t=Q(N[F+20>>2]-l);u=Q(N[F+16>>2]-p);v=Q(N[G+20>>2]-l);w=Q(Q(r*t)-Q(u*v));k=Q(s*k);s=Q(N[F+24>>2]-k);E=t;t=Q(N[G+24>>2]-k);v=Q(Q(v*s)-Q(E*t));s=Q(Q(t*u)-Q(s*r));s=Q(Y(Q(Q(w*w)+Q(Q(v*v)+Q(s*s)))));N[m+20>>2]=s;r=Q(N[F+16>>2]-p);t=Q(N[I+20>>2]-l);u=Q(N[I+16>>2]-p);v=Q(N[F+20>>2]-l);w=Q(Q(r*t)-Q(u*v));z=Q(w*w);E=v;v=Q(N[I+24>>2]-k);w=t;t=Q(N[F+24>>2]-k);w=Q(Q(E*v)-Q(w*t));r=Q(Q(t*u)-Q(v*r));r=Q(Y(Q(z+Q(Q(w*w)+Q(r*r)))));N[m+24>>2]=r;t=Q(N[I+16>>2]-p);u=Q(N[G+20>>2]-l);p=Q(N[G+16>>2]-p);l=Q(N[I+20>>2]-l);v=Q(Q(t*u)-Q(p*l));E=l;l=Q(N[G+24>>2]-k);k=Q(N[I+24>>2]-k);u=Q(Q(E*l)-Q(u*k));k=Q(Q(k*p)-Q(l*t));l=Q(Y(Q(Q(v*v)+Q(Q(u*u)+Q(k*k)))));k=Q(l+Q(s+r));N[m+28>>2]=l/k;N[m+24>>2]=r/k;N[m+20>>2]=s/k;b=J[m>>2];break d}b=8;J[m>>2]=8;k=Q(0);p=Q(1);l=Q(0);s=N[o+12>>2];r=N[o+4>>2];t=N[o+8>>2];u=Q(Y(Q(Q(s*s)+Q(Q(r*r)+Q(t*t)))));if(u>Q(0)){p=Q(Q(1)/u);l=Q(p*Q(-s));k=Q(p*Q(-t));p=Q(p*Q(-r))}J[m+52>>2]=0;J[m+56>>2]=0;N[m+48>>2]=l;N[m+44>>2]=k;N[m+40>>2]=p;J[m+36>>2]=1;e=J[n>>2];J[m+20>>2]=1065353216;J[m+4>>2]=e}sa=C+32|0;if((b|0)==9){break b}i:{if(!J[o+56>>2]){k=Q(0);l=Q(0);p=Q(0);break i}j=o+24|0;p=Q(0);l=Q(0);k=Q(0);while(1){b=J[o+19032>>2];m=J[o+19036>>2];e=J[o+18912>>2]+(m>>1)|0;n=A<<2;ua[(m&1?J[b+J[e>>2]>>2]:b)|0](o+4|0,e,J[n+j>>2]);s=N[(o+n|0)+40>>2];p=Q(p+Q(s*N[o+12>>2]));l=Q(l+Q(s*N[o+8>>2]));k=Q(k+Q(N[o+4>>2]*s));A=A+1|0;if(A>>>0>2]){continue}break}}A=1;J[y>>2]=1;s=N[q+52>>2];r=N[q+24>>2];t=N[q+20>>2];u=N[q+56>>2];v=N[q+40>>2];w=N[q+36>>2];z=N[q+48>>2];L=N[q+8>>2];O=N[q>>2];R=N[q+4>>2];S=N[q+16>>2];T=N[q+32>>2];J[y+16>>2]=0;N[y+12>>2]=u+Q(Q(p*v)+Q(Q(k*T)+Q(l*w)));N[y+8>>2]=s+Q(Q(p*r)+Q(Q(k*S)+Q(l*t)));N[y+4>>2]=z+Q(Q(p*L)+Q(Q(k*O)+Q(l*R)));v=N[q+52>>2];w=N[q+20>>2];z=N[q+24>>2];L=N[q+56>>2];O=N[q+36>>2];R=N[q+40>>2];S=N[q+48>>2];T=N[q+8>>2];U=N[q>>2];V=N[q+4>>2];W=N[q+16>>2];Z=N[q+32>>2];r=N[o- -64>>2];t=N[o+68>>2];u=N[o+60>>2];s=N[o+76>>2];J[y+48>>2]=0;J[y+32>>2]=0;N[y+52>>2]=-s;N[y+44>>2]=-t;N[y+40>>2]=-r;N[y+36>>2]=-u;p=Q(p-Q(s*t));k=Q(k-Q(u*s));l=Q(l-Q(s*r));N[y+28>>2]=L+Q(Q(R*p)+Q(Q(Z*k)+Q(O*l)));N[y+24>>2]=v+Q(Q(p*z)+Q(Q(k*W)+Q(l*w)));N[y+20>>2]=S+Q(Q(p*T)+Q(Q(k*U)+Q(l*V)));break a;case 1:break c;default:break a}}J[y>>2]=2;break a}J[y>>2]=3}sa=o+19040|0;j:{if(!A){k=Q(0);l=Q(0);p=Q(0);s=Q(0);r=Q(0);t=Q(0);e=sa-544|0;sa=e;b=e+384|0;Xd(c,q,d,f,a+8|0,b,0);J[e+140>>2]=0;J[e+144>>2]=0;J[e+132>>2]=0;J[e+136>>2]=0;J[e+368>>2]=0;J[e+372>>2]=0;J[e+380>>2]=2;J[e+148>>2]=0;k:{l:{c=Wd(e+4|0,b,a- -64|0);if(!c){d=J[e+376>>2];if(!J[d+32>>2]){break l}f=0;while(1){j=f<<2;m=d+j|0;u=N[m+16>>2];b=J[e+504>>2];n=e+528|0;o=J[e+508>>2];d=J[e+384>>2]+(o>>1)|0;ua[(o&1?J[b+J[d>>2]>>2]:b)|0](n,d,J[m>>2]);b=J[j+J[e+376>>2]>>2];v=Q(-N[b+8>>2]);w=Q(-N[b+4>>2]);z=Q(-N[b>>2]);b=J[e+504>>2];d=J[e+508>>2];j=J[e+388>>2]+(d>>1)|0;b=d&1?J[b+J[j>>2]>>2]:b;k=Q(k+Q(u*N[e+536>>2]));p=Q(p+Q(u*N[e+532>>2]));l=Q(l+Q(u*N[e+528>>2]));J[e+524>>2]=0;N[e+520>>2]=Q(N[e+432>>2]*v)+Q(Q(N[e+424>>2]*z)+Q(N[e+428>>2]*w));N[e+516>>2]=Q(N[e+416>>2]*v)+Q(Q(N[e+408>>2]*z)+Q(N[e+412>>2]*w));N[e+512>>2]=Q(N[e+400>>2]*v)+Q(Q(N[e+392>>2]*z)+Q(N[e+396>>2]*w));ua[b|0](n,j,e+512|0);v=N[e+536>>2];w=N[e+528>>2];z=N[e+532>>2];t=Q(t+Q(u*Q(Q(Q(v*N[e+480>>2])+Q(Q(w*N[e+472>>2])+Q(z*N[e+476>>2])))+N[e+496>>2])));r=Q(r+Q(u*Q(Q(Q(v*N[e+464>>2])+Q(Q(w*N[e+456>>2])+Q(z*N[e+460>>2])))+N[e+492>>2])));s=Q(s+Q(u*Q(Q(Q(v*N[e+448>>2])+Q(Q(w*N[e+440>>2])+Q(z*N[e+444>>2])))+N[e+488>>2])));f=f+1|0;d=J[e+376>>2];if(f>>>0>2]){continue}break}break l}J[a+8>>2]=(c|0)==1?1:2;break k}u=N[q+52>>2];v=N[q+24>>2];w=N[q+20>>2];z=N[q+56>>2];L=N[q+40>>2];O=N[q+36>>2];R=N[q+16>>2];S=N[q+32>>2];T=N[q+48>>2];U=N[q+8>>2];V=N[q>>2];W=N[q+4>>2];J[a+24>>2]=0;N[a+12>>2]=T+Q(Q(k*U)+Q(Q(l*V)+Q(p*W)));N[a+20>>2]=z+Q(Q(k*L)+Q(Q(l*S)+Q(p*O)));N[a+16>>2]=u+Q(Q(k*v)+Q(Q(l*R)+Q(p*w)));v=N[q+52>>2];w=N[q+24>>2];z=N[q+20>>2];L=N[q+56>>2];O=N[q+40>>2];R=N[q+36>>2];S=N[q+48>>2];T=N[q+8>>2];U=N[q>>2];V=N[q+4>>2];W=N[q+16>>2];Z=N[q+32>>2];k=Q(k-t);l=Q(l-s);p=Q(p-r);u=Q(Y(Q(Q(k*k)+Q(Q(l*l)+Q(p*p)))));N[a+60>>2]=u;J[a+56>>2]=0;J[a+40>>2]=0;E=k;k=u>Q(9999999747378752e-20)?Q(Q(1)/u):Q(1);N[a+52>>2]=E*k;N[a+48>>2]=p*k;N[a+44>>2]=l*k;N[a+36>>2]=L+Q(Q(t*O)+Q(Q(s*Z)+Q(r*R)));N[a+32>>2]=v+Q(Q(t*w)+Q(Q(s*W)+Q(r*z)));N[a+28>>2]=S+Q(Q(t*T)+Q(Q(s*U)+Q(r*V)))}sa=e+544|0;if(c){break j}}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}sa=a+80|0;return A|0}function cm(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=Q(0),n=Q(0),o=Q(0),p=Q(0),q=0,r=0,s=Q(0),t=Q(0),u=Q(0),v=0,w=Q(0),x=Q(0),y=Q(0),z=Q(0),A=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),Y=Q(0),Z=Q(0),_=0,$=0,aa=Q(0),ba=0,ca=Q(0),da=0,ea=0,fa=0,ga=Q(0),ha=Q(0),ia=Q(0),ja=Q(0);f=sa-3584|0;sa=f;a:{b:{ea=J[b+4>>2];q=J[ea+72>>2];if(q){fa=J[c+4>>2];j=J[fa+72>>2];if(j){break b}}Se(a,b,c,d,e);break a}if(!(J[ea+76>>2]==J[a+108>>2]&J[fa+76>>2]==J[a+112>>2])){g=J[a+84>>2];k=J[g+8>>2];if((k|0)>0){while(1){E=J[(J[g+16>>2]+P(h,12)|0)+8>>2];if(E){ua[J[J[E>>2]>>2]](E)|0;i=J[a+4>>2];ua[J[J[i>>2]+60>>2]](i,E)}h=h+1|0;if((k|0)!=(h|0)){continue}break}g=J[a+84>>2]}Le(g);J[a+108>>2]=J[ea+76>>2];J[a+112>>2]=J[fa+76>>2]}J[f+88>>2]=0;H[f+92|0]=1;h=Lb(f+112|0);Lb(h+868|0);Lb(h+1736|0);Lb(h+2604|0);g=J[f+88>>2];if(!(g?!g|!K[f+92|0]:1)){J[8457]=J[8457]+1;ua[J[8259]](g)}J[f+88>>2]=h;J[f+80>>2]=0;J[f+84>>2]=4;H[f+92|0]=0;E=J[a+84>>2];v=J[E+8>>2];c:{if((v|0)<=0){break c}while(1){g=J[(J[E+16>>2]+P(L,12)|0)+8>>2];if(g){ua[J[J[g>>2]+16>>2]](g,f+76|0);h=0;g=J[f+80>>2];if((g|0)>0){while(1){l=J[J[f+88>>2]+(h<<2)>>2];if(J[l+844>>2]){J[e+4>>2]=l;g=J[l+836>>2];i=J[J[e+8>>2]+8>>2];k=(g|0)==(i|0);$=g;g=J[J[e+12>>2]+8>>2];Ua(l,(k?$:g)+4|0,(k?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}}d:{if((g|0)>=0){break d}if(J[f+84>>2]<0){h=J[f+88>>2];if(!(h?!h|!K[f+92|0]:1)){J[8457]=J[8457]+1;ua[J[8259]](h)}H[f+92|0]=1;J[f+84>>2]=0;J[f+88>>2]=0}v=0;h=g;i=0-g&3;if(i){while(1){J[J[f+88>>2]+(h<<2)>>2]=0;h=h+1|0;v=v+1|0;if((i|0)!=(v|0)){continue}break}}if(g>>>0>4294967292){break d}while(1){g=h<<2;J[g+J[f+88>>2]>>2]=0;J[(g+J[f+88>>2]|0)+4>>2]=0;J[(g+J[f+88>>2]|0)+8>>2]=0;J[(g+J[f+88>>2]|0)+12>>2]=0;h=h+4|0;if(h){continue}break}}J[f+80>>2]=0;v=J[E+8>>2]}L=L+1|0;if((L|0)<(v|0)){continue}break}g=J[f+88>>2];if(!g|!K[f+92|0]){break c}if(g){J[8457]=J[8457]+1;ua[J[8259]](g)}}h=J[a+4>>2];g=J[a+84>>2];J[f+108>>2]=J[a+72>>2];J[f+104>>2]=g;J[f+96>>2]=d;J[f+92>>2]=h;J[f+80>>2]=0;J[f+76>>2]=16420;J[f+100>>2]=e;J[f+88>>2]=c;J[f+84>>2]=b;g=J[q>>2];e:{if(!g){break e}d=J[j>>2];if(!d){break e}i=J[b+12>>2];w=N[i+8>>2];m=Q(-N[i+48>>2]);u=N[i+24>>2];o=N[i+52>>2];x=N[i+40>>2];s=N[i+56>>2];h=J[c+12>>2];t=N[h+56>>2];p=N[h+48>>2];n=N[h+52>>2];ia=Q(Q(Q(Q(w*m)-Q(u*o))-Q(x*s))+Q(Q(t*x)+Q(Q(p*w)+Q(u*n))));y=N[i+4>>2];B=N[i+20>>2];z=N[i+36>>2];ja=Q(Q(Q(Q(y*m)-Q(B*o))-Q(z*s))+Q(Q(t*z)+Q(Q(p*y)+Q(B*n))));M=N[h+40>>2];F=N[h+24>>2];O=N[h+8>>2];G=N[h+36>>2];S=N[h+20>>2];I=N[h+4>>2];Z=N[i>>2];ca=Q(Z*m);m=N[i+16>>2];ca=Q(ca-Q(m*o));o=N[i+32>>2];ca=Q(Q(ca-Q(o*s))+Q(Q(t*o)+Q(Q(p*Z)+Q(m*n))));t=N[h+16>>2];p=N[h>>2];n=N[h+32>>2];aa=N[e+32>>2];J[f+116>>2]=d;J[f+112>>2]=g;C=Q(Q(M*x)+Q(Q(O*w)+Q(u*F)));W=Q(R(C));T=Q(Q(G*x)+Q(Q(I*w)+Q(u*S)));X=Q(R(T));U=Q(Q(n*x)+Q(Q(p*w)+Q(u*t)));Y=Q(R(U));V=Q(Q(M*z)+Q(Q(O*y)+Q(B*F)));w=Q(R(V));u=Q(Q(G*z)+Q(Q(I*y)+Q(B*S)));x=Q(R(u));y=Q(Q(n*z)+Q(Q(p*y)+Q(B*t)));B=Q(R(y));z=Q(Q(M*o)+Q(Q(O*Z)+Q(m*F)));M=Q(R(z));F=Q(Q(G*o)+Q(Q(I*Z)+Q(m*S)));O=Q(R(F));G=Q(Q(n*o)+Q(Q(p*Z)+Q(m*t)));S=Q(R(G));L=124;E=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;D=J[h>>2];A=J[h+4>>2];I=N[A+24>>2];m=N[A+8>>2];ga=Q(Q(Q(I-m)*Q(.5))+Q(0));o=N[A+16>>2];s=N[A>>2];ha=Q(Q(Q(o-s)*Q(.5))+Q(0));t=N[A+20>>2];n=N[A+4>>2];Z=Q(Q(Q(t-n)*Q(.5))+Q(0));p=Q(Q(ga*M)+Q(Q(ha*S)+Q(O*Z)));m=Q(Q(I+m)*Q(.5));s=Q(Q(o+s)*Q(.5));t=Q(Q(t+n)*Q(.5));n=Q(ca+Q(Q(m*z)+Q(Q(s*G)+Q(F*t))));i:{if(!(N[D>>2]<=Q(aa+Q(p+n)))|!(N[D+16>>2]>=Q(Q(n-p)-aa))){break i}p=Q(Q(ga*w)+Q(Q(ha*B)+Q(x*Z)));n=Q(ja+Q(Q(m*V)+Q(Q(s*y)+Q(u*t))));if(!(N[D+4>>2]<=Q(aa+Q(p+n)))|!(N[D+20>>2]>=Q(Q(n-p)-aa))){break i}p=Q(Q(ga*W)+Q(Q(ha*Y)+Q(X*Z)));n=Q(ia+Q(Q(m*C)+Q(Q(s*U)+Q(T*t))));if(!(N[D+8>>2]<=Q(aa+Q(p+n)))|!(N[D+24>>2]>=Q(Q(n-p)-aa))){break i}j:{if((q|0)<=(L|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}J[8456]=J[8456]+1;i=ua[J[8258]](k<<4,16)|0;if((k|0)<=0){break l}v=0;L=0;if(k>>>0>=4){ba=k&-4;_=0;while(1){da=L<<3;r=da+i|0;l=g+da|0;d=J[l+4>>2];J[r>>2]=J[l>>2];J[r+4>>2]=d;d=da|8;r=d+i|0;l=d+g|0;d=J[l+4>>2];J[r>>2]=J[l>>2];J[r+4>>2]=d;d=da|16;r=d+i|0;l=d+g|0;d=J[l+4>>2];J[r>>2]=J[l>>2];J[r+4>>2]=d;d=da|24;r=d+i|0;l=d+g|0;d=J[l+4>>2];J[r>>2]=J[l>>2];J[r+4>>2]=d;L=L+4|0;_=_+4|0;if((ba|0)!=(_|0)){continue}break}}r=k&3;if(!r){break l}while(1){d=L<<3;l=d+i|0;k=d+g|0;d=J[k+4>>2];J[l>>2]=J[k>>2];J[l+4>>2]=d;L=L+1|0;v=v+1|0;if((r|0)!=(v|0)){continue}break}}d=E;E=1;if(g?d:0){J[8457]=J[8457]+1;ua[J[8259]](g)}d=h}L=h-4|0}g=J[A+40>>2];if(J[D+40>>2]){k=J[D+36>>2];if(g){g=i+$|0;J[g+4>>2]=J[A+36>>2];J[g>>2]=k;g=J[D+40>>2];k=(j<<3)+i|0;J[k+4>>2]=J[A+36>>2];J[k>>2]=g;g=J[D+36>>2];J[k+12>>2]=J[A+40>>2];J[k+8>>2]=g;g=J[D+40>>2];J[k+20>>2]=J[A+40>>2];J[k+16>>2]=g;j=j+3|0;break g}g=i+$|0;J[g+4>>2]=A;J[g>>2]=k;k=J[D+40>>2];g=(j<<3)+i|0;J[g+4>>2]=A;J[g>>2]=k;break h}if(g){g=i+$|0;J[g+4>>2]=J[A+36>>2];J[g>>2]=D;g=(j<<3)+i|0;J[g+4>>2]=J[A+40>>2];J[g>>2]=D;break h}ua[J[J[f+76>>2]+8>>2]](f+76|0,D,A);k=h;g=i}j=q;break f}j=j+1|0}k=h;g=i}if(j){continue}break}if(!g|!E){break e}if(g){J[8457]=J[8457]+1;ua[J[8259]](g)}}_=J[a+84>>2];if(J[_+8>>2]>0){g=0;while(1){i=P(g,12);d=i+J[_+16>>2]|0;k=J[d+8>>2];m:{if(!k){break m}j=J[ea+32>>2]+P(J[d>>2],80)|0;h=J[j+64>>2];d=J[b+12>>2];t=N[d+52>>2];p=N[d+56>>2];y=N[j+48>>2];B=N[j+52>>2];z=N[j+56>>2];M=N[j+4>>2];F=N[j+20>>2];O=N[j+36>>2];G=N[j+8>>2];S=N[j+24>>2];I=N[j+40>>2];W=N[d+20>>2];T=N[d+24>>2];m=N[j>>2];X=N[d+36>>2];o=N[j+16>>2];U=N[d+40>>2];s=N[j+32>>2];n=N[d+48>>2];Y=N[d+8>>2];V=N[d>>2];w=N[d+4>>2];u=N[d+16>>2];x=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(s*U)+Q(Q(m*x)+Q(X*o));N[f+128>>2]=Q(s*T)+Q(Q(m*u)+Q(W*o));N[f+112>>2]=Q(s*Y)+Q(Q(m*V)+Q(w*o));N[f+152>>2]=Q(I*U)+Q(Q(G*x)+Q(X*S));N[f+148>>2]=Q(O*U)+Q(Q(M*x)+Q(X*F));N[f+136>>2]=Q(I*T)+Q(Q(G*u)+Q(W*S));N[f+132>>2]=Q(O*T)+Q(Q(M*u)+Q(W*F));N[f+120>>2]=Q(I*Y)+Q(Q(G*V)+Q(w*S));N[f+116>>2]=Q(O*Y)+Q(Q(M*V)+Q(w*F));N[f+168>>2]=p+Q(Q(z*U)+Q(Q(y*x)+Q(X*B)));N[f+164>>2]=t+Q(Q(z*T)+Q(Q(y*u)+Q(W*B)));N[f+160>>2]=n+Q(Q(z*Y)+Q(Q(y*V)+Q(w*B)));d=f+112|0;ua[J[J[h>>2]+8>>2]](h,d,f+60|0,f+44|0);C=N[e+32>>2];N[f+60>>2]=N[f+60>>2]-C;N[f+64>>2]=N[f+64>>2]-C;N[f+68>>2]=N[f+68>>2]-C;N[f+44>>2]=C+N[f+44>>2];N[f+48>>2]=C+N[f+48>>2];N[f+52>>2]=C+N[f+52>>2];q=J[fa+32>>2]+P(J[(i+J[_+16>>2]|0)+4>>2],80)|0;h=J[q+64>>2];j=J[c+12>>2];t=N[j+52>>2];p=N[j+56>>2];y=N[q+48>>2];B=N[q+52>>2];z=N[q+56>>2];M=N[q+4>>2];F=N[q+20>>2];O=N[q+36>>2];G=N[q+8>>2];S=N[q+24>>2];I=N[q+40>>2];W=N[j+20>>2];T=N[j+24>>2];m=N[q>>2];X=N[j+36>>2];o=N[q+16>>2];U=N[j+40>>2];s=N[q+32>>2];n=N[j+48>>2];Y=N[j+8>>2];V=N[j>>2];w=N[j+4>>2];u=N[j+16>>2];x=N[j+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(s*U)+Q(Q(m*x)+Q(X*o));N[f+128>>2]=Q(s*T)+Q(Q(m*u)+Q(W*o));N[f+112>>2]=Q(s*Y)+Q(Q(m*V)+Q(w*o));N[f+152>>2]=Q(I*U)+Q(Q(G*x)+Q(X*S));N[f+148>>2]=Q(O*U)+Q(Q(M*x)+Q(X*F));N[f+136>>2]=Q(I*T)+Q(Q(G*u)+Q(W*S));N[f+132>>2]=Q(O*T)+Q(Q(M*u)+Q(W*F));N[f+120>>2]=Q(I*Y)+Q(Q(G*V)+Q(w*S));N[f+116>>2]=Q(O*Y)+Q(Q(M*V)+Q(w*F));N[f+168>>2]=p+Q(Q(z*U)+Q(Q(y*x)+Q(X*B)));N[f+164>>2]=t+Q(Q(z*T)+Q(Q(y*u)+Q(W*B)));N[f+160>>2]=n+Q(Q(z*Y)+Q(Q(y*V)+Q(w*B)));ua[J[J[h>>2]+8>>2]](h,d,f+28|0,f+12|0);m=Q(N[f+28>>2]-C);N[f+28>>2]=m;o=Q(N[f+32>>2]-C);N[f+32>>2]=o;s=Q(N[f+36>>2]-C);N[f+36>>2]=s;t=Q(C+N[f+12>>2]);N[f+12>>2]=t;p=Q(C+N[f+20>>2]);N[f+20>>2]=p;n=Q(C+N[f+16>>2]);N[f+16>>2]=n;n:{if(n>2]|o>N[f+48>>2]|(p>2]|s>N[f+52>>2])){break n}if(t>2]){break n}if(!(m>N[f+44>>2])){break m}}ua[J[J[k>>2]>>2]](k)|0;d=J[a+4>>2];ua[J[J[d>>2]+60>>2]](d,k);d=i+J[_+16>>2]|0;E=J[d+4>>2];q=J[d>>2];i=J[a+92>>2];o:{if((i|0)!=J[a+96>>2]){break o}ba=i?i<<1:1;if((ba|0)<=(i|0)){break o}p:{if(!ba){v=0;break p}J[8456]=J[8456]+1;v=ua[J[8258]](P(ba,12),16)|0;i=J[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=P(h,12);r=d+v|0;l=d+J[a+100>>2]|0;d=J[l+4>>2];J[r>>2]=J[l>>2];J[r+4>>2]=d;J[r+8>>2]=J[l+8>>2];d=P(h|1,12);r=d+v|0;l=d+J[a+100>>2]|0;d=J[l+4>>2];J[r>>2]=J[l>>2];J[r+4>>2]=d;J[r+8>>2]=J[l+8>>2];h=h+2|0;i=i+2|0;if((k|0)!=(i|0)){continue}break}}if(!j){break q}d=P(h,12);i=d+v|0;h=d+J[a+100>>2]|0;d=J[h+4>>2];J[i>>2]=J[h>>2];J[i+4>>2]=d;J[i+8>>2]=J[h+8>>2]}d=J[a+100>>2];if(!(d?!d|!K[a+104|0]:1)){J[8457]=J[8457]+1;ua[J[8259]](d)}J[a+100>>2]=v;H[a+104|0]=1;J[a+96>>2]=ba;i=J[a+92>>2]}d=J[a+100>>2]+P(i,12)|0;J[d+8>>2]=0;J[d+4>>2]=E;J[d>>2]=q;J[a+92>>2]=J[a+92>>2]+1}g=g+1|0;if((g|0)>2]){continue}break}}if(J[a+92>>2]>0){h=0;while(1){c=J[a+84>>2];b=J[a+100>>2]+P(h,12)|0;ua[J[J[c>>2]+8>>2]](c,J[b>>2],J[b+4>>2])|0;h=h+1|0;if((h|0)>2]){continue}break}}b=J[a+100>>2];if(!(b?!b|!K[a+104|0]:1)){J[8457]=J[8457]+1;ua[J[8259]](b)}J[a+100>>2]=0;H[a+104|0]=1;J[a+92>>2]=0;J[a+96>>2]=0}sa=f+3584|0}function If(){var a=0;fa(31140,31152,31168,0,11001,7,11004,0,11004,0,2234,11006,6);a=La(8);J[a>>2]=100;J[a+4>>2]=1;da(31132,4404,2,31184,11025,8,a|0,0,0);a=La(8);J[a>>2]=104;J[a+4>>2]=1;da(31132,4415,2,31184,11025,8,a|0,0,0);a=La(8);J[a>>2]=108;J[a+4>>2]=1;da(31140,7459,5,31216,11029,9,a|0,0,0);fa(31276,31288,31304,31140,11001,13,11001,12,11001,11,5292,11006,10);a=La(4);J[a>>2]=14;da(31276,5645,2,31320,11025,15,a|0,0,0);ea(31140,2650,2,31328,11196,17,16,0);ea(31140,7753,3,31616,11263,19,18,0);fa(31644,31656,31672,0,11001,21,11004,0,11004,0,2346,11006,20);a=La(8);J[a>>2]=16;J[a+4>>2]=1;da(31644,2251,4,31696,11371,22,a|0,0,0);fa(31744,31756,31772,31644,11001,26,11001,25,11001,24,5304,11006,23);a=La(4);J[a>>2]=27;da(31744,5645,2,31788,11025,28,a|0,0,0);ea(31644,2650,2,31796,11196,30,29,0);ea(31644,7753,3,31616,11263,19,31,0);fa(31872,31884,31900,0,11001,33,11004,0,11004,0,7053,11006,32);a=La(8);J[a>>2]=16;J[a+4>>2]=1;da(31872,4677,3,31916,11587,34,a|0,0,0);fa(31960,31972,31988,31872,11001,38,11001,37,11001,36,5331,11006,35);a=La(4);J[a>>2]=39;da(31960,5645,2,32004,11025,40,a|0,0,0);ea(31872,2650,2,32012,11196,42,41,0);ea(31872,7753,3,31616,11263,19,43,0);Z(8259,2,32084,11196,45,44,0);Z(7549,2,32092,11025,47,46,0);Z(10143,2,32100,11709,49,48,0);Z(10132,3,32108,11713,51,50,0);Z(6981,3,32120,11587,53,52,0);Z(2225,4,32144,11718,55,54,0);Z(1593,2,32100,11709,49,56,0);Z(1469,2,32100,11709,49,57,0);Z(1031,2,32100,11709,49,58,0);Z(3127,5,32160,11724,60,59,0);Z(1725,5,32192,11731,62,61,0);Z(1586,2,32100,11709,49,63,0);Z(1462,2,32100,11709,49,64,0);Z(1024,2,32100,11709,49,65,0);Z(2244,2,32100,11709,49,66,0);Z(3103,6,32224,11738,68,67,0);Z(1854,1,32248,11001,70,69,0);Z(1090,2,32092,11025,47,71,0);Z(5750,3,32120,11587,53,72,0);Z(6011,2,32084,11196,45,73,0);Z(5772,3,32252,11263,75,74,0);Z(6031,3,32252,11263,75,76,0);Z(6154,3,32120,11587,53,77,0);Z(6062,3,32120,11587,53,78,0);Z(5364,4,32272,11371,80,79,0);Z(6832,2,32084,11196,45,81,0);Z(3482,3,32252,11263,75,82,0);Z(3495,3,32252,11263,75,83,0);Z(1433,1,32248,11001,70,84,0);Z(6878,2,32100,11709,49,85,0);Z(6847,3,32108,11713,51,86,0);Z(8215,3,32108,11713,51,87,0);Z(1614,5,32288,11746,89,88,0);Z(4426,4,32272,11371,80,90,0);Z(2694,7,32320,11753,92,91,0);Z(4798,3,32348,11587,94,93,0);Z(1345,3,32348,11587,94,95,0);Z(7182,3,32108,11713,51,96,0);Z(3136,4,32368,11762,98,97,0);Z(1159,3,32108,11713,51,99,0);Z(1654,5,32288,11746,89,100,0);Z(9347,3,32120,11587,53,101,0);Z(9219,3,32120,11587,53,102,0);Z(1634,5,32288,11746,89,103,0);Z(4452,4,32272,11371,80,104,0);Z(1672,6,32384,11768,106,105,0);Z(4478,4,32272,11371,80,107,0);Z(2719,5,32416,11776,109,108,0);Z(6627,4,32448,11371,111,110,0);Z(3753,4,32464,11783,113,112,0);Z(6710,4,32464,11783,113,114,0);Z(7668,4,32464,11783,113,115,0);Z(2444,4,32464,11783,113,116,0);Z(4826,4,32448,11371,111,117,0);Z(7622,4,32464,11783,113,118,0);Z(1112,4,32464,11783,113,119,0);Z(5511,4,32448,11371,111,120,0);Z(3167,4,32464,11783,113,121,0);Z(7707,2,32480,11196,123,122,0);Z(6801,3,32120,11587,53,124,0);Z(9112,4,32496,11789,126,125,0);Z(8432,5,32512,11029,128,127,0);Z(5986,3,32108,11713,51,129,0);Z(6370,3,32120,11587,53,130,0);Z(5262,3,32120,11587,53,131,0);Z(8414,1,32248,11001,70,132,0);Z(4143,2,32084,11196,45,133,0);Z(1919,2,32084,11196,45,134,0);Z(3662,3,32120,11587,53,135,0);Z(2043,2,32532,11795,137,136,0);Z(3615,3,32108,11713,51,138,0);Z(1949,2,32084,11196,45,139,0);Z(5424,5,32544,11799,141,140,0);Z(2094,3,32564,11806,143,142,0);Z(5449,5,32544,11799,141,144,0);Z(2059,3,32564,11806,143,145,0);Z(3555,3,32108,11713,51,146,0);Z(2869,3,32108,11713,51,147,0);Z(1561,3,32120,11587,53,148,0);Z(2073,3,32576,11811,150,149,0);Z(6278,2,32084,11196,45,151,0);Z(2660,3,32108,11713,51,152,0);Z(1967,7,32592,11816,154,153,0);Z(1883,1,32248,11001,70,155,0);Z(7517,6,32624,11825,157,156,0);Z(2018,4,32656,11833,159,158,0);Z(6474,2,32084,11196,45,160,0);Z(6437,6,32672,11839,162,161,0);Z(2012,5,32704,11847,164,163,0);Z(1984,2,32084,11196,45,165,0);Z(1932,1,32248,11001,70,166,0);Z(1480,3,32120,11587,53,167,0);Z(2111,1,32248,11001,70,168,0);Z(4372,2,32084,11196,45,169,0);Z(7426,4,32272,11371,80,170,0);Z(7367,3,32252,11263,75,171,0);Z(7395,3,32120,11587,53,172,0);Z(6184,5,32736,11029,174,173,0);Z(1705,1,32248,11001,70,175,0);Z(7282,2,32084,11196,45,176,0);Z(7248,3,32120,11587,53,177,0);Z(8132,3,32120,11587,53,178,0);Z(6774,2,32084,11196,45,179,0);Z(7065,2,32084,11196,45,180,0);Z(7122,3,32120,11587,53,181,0);Z(6994,3,32348,11587,94,182,0);Z(6934,2,32480,11196,123,183,0);Z(3400,2,32480,11196,123,184,0);Z(3369,2,32480,11196,123,185,0);Z(3434,2,32480,11196,123,186,0);Z(6120,2,32084,11196,45,187,0);Z(4304,3,32120,11587,53,188,0);Z(4338,2,32084,11196,45,189,0);Z(8094,3,32108,11713,51,190,0);Z(3575,3,32108,11713,51,191,0);Z(1503,3,32120,11587,53,192,0);Z(1532,2,32084,11196,45,193,0);Z(6342,6,32224,11738,68,194,0);Z(6397,4,32448,11371,111,195,0);Z(1600,3,32756,11854,197,196,0);Z(4285,2,32084,11196,45,198,0);Z(4210,3,32120,11587,53,199,0);Z(1044,3,32120,11587,53,200,0);Z(6689,4,32368,11762,98,201,0);Z(3835,3,32108,11713,51,202,0);Z(4043,4,32496,11789,126,203,0);Z(4894,3,32120,11587,53,204,0);Z(4867,3,32120,11587,53,205,0);Z(1250,3,32120,11587,53,206,0);Z(1278,2,32084,11196,45,207,0);Z(1192,3,32120,11587,53,208,0);Z(1221,2,32084,11196,45,209,0);Z(7019,2,32092,11025,47,210,0);Z(4517,2,32092,11025,47,211,0);Z(6750,2,32480,11196,123,212,0);Z(4581,4,32368,11762,98,213,0);Z(8178,2,32100,11709,49,214,0);Z(7040,2,32084,11196,45,215,0);Z(6959,3,32120,11587,53,216,0);Z(7601,4,32272,11371,80,217,0);Z(7159,4,32272,11371,80,218,0);Z(6092,3,32120,11587,53,219,0);Z(8267,1,32248,11001,70,220,0);Z(1830,1,32248,11001,70,221,0);Z(4650,2,32084,11196,45,222,0);Z(6240,3,32252,11263,75,223,0);Z(10287,2,32084,11196,45,224,0);Z(10208,2,32084,11196,45,225,0);Z(10260,2,32084,11196,45,226,0);Z(10181,2,32084,11196,45,227,0);Z(10232,2,32084,11196,45,228,0);Z(10153,2,32084,11196,45,229,0);Z(3694,2,32084,11196,45,230,0);Z(2409,3,32252,11263,75,231,0);Z(9371,2,32084,11196,45,232,0);Z(9243,2,32084,11196,45,233,0);Z(9403,2,32084,11196,45,234,0);Z(9275,2,32084,11196,45,235,0);Z(9312,2,32084,11196,45,236,0);Z(9275,2,32084,11196,45,235,0);Z(1900,1,32248,11001,70,237,0);Z(1734,1,32248,11001,70,238,0);Z(3335,5,32768,11029,240,239,0);Z(3298,3,32120,11587,53,241,0);Z(2265,5,32512,11029,128,242,0);Z(2288,7,32800,11859,244,243,0);Z(5232,3,32120,11587,53,245,0);Z(7760,2,32092,11025,47,246,0);Z(2131,4,32832,11833,248,247,0);Z(5473,3,32348,11587,94,249,0);Z(1065,3,32120,11587,53,250,0);Z(5843,5,32848,11868,252,251,0);Z(1406,5,32768,11029,240,253,0);Z(1376,3,32120,11587,53,254,0);Z(2524,4,32448,11371,111,255,0);Z(2493,3,32120,11587,53,256,0);Z(5726,3,32120,11587,53,257,0);Z(5699,3,32120,11587,53,258,0);Z(7555,3,32120,11587,53,259,0);Z(7578,2,32084,11196,45,260,0);Z(5148,5,32160,11724,60,261,0);Z(5115,5,32160,11724,60,262,0);Z(4985,5,32160,11724,60,263,0);Z(5027,5,32160,11724,60,264,0);Z(5072,5,32160,11724,60,265,0);Z(5179,5,32160,11724,60,266,0);Z(4920,5,32160,11724,60,267,0);Z(4951,5,32160,11724,60,268,0);Z(2791,2,32480,11196,123,269,0);Z(2810,2,32480,11196,123,270,0);Z(8332,1,32248,11001,70,271,0);Z(4259,3,32120,11587,53,272,0);Z(3024,6,32880,11825,274,273,0);Z(7828,2,32084,11196,45,275,0);Z(7979,2,32084,11196,45,276,0);Z(3853,2,32084,11196,45,277,0);Z(8304,1,32248,11001,70,278,0);Z(4229,3,32120,11587,53,279,0);Z(2997,6,32880,11825,274,280,0);Z(7790,2,32084,11196,45,281,0);Z(7940,2,32084,11196,45,282,0);Z(4711,2,32084,11196,45,283,0);Z(8387,1,32248,11001,70,284,0);Z(3077,6,32880,11825,274,285,0);Z(7903,2,32084,11196,45,286,0);Z(8056,2,32084,11196,45,287,0);Z(3892,2,32084,11196,45,288,0);Z(8356,1,32248,11001,70,289,0);Z(3047,6,32880,11825,274,290,0);Z(7862,2,32084,11196,45,291,0);Z(8014,2,32084,11196,45,292,0);Z(4753,2,32084,11196,45,293,0);Z(1868,1,32248,11001,70,294,0);Z(3112,6,32224,11738,68,295,0);Z(3222,2,32084,11196,45,296,0);Z(7316,2,32084,11196,45,297,0);Z(4066,2,32084,11196,45,298,0);Z(6310,2,32084,11196,45,299,0);Z(5202,2,32084,11196,45,300,0);Z(6511,2,32100,11709,49,301,0);Z(7217,2,32084,11196,45,302,0);Z(3257,2,32084,11196,45,303,0);Z(6909,5,32912,11875,305,304,0);Z(5613,2,32084,11196,45,306,0);Z(2926,3,32108,11713,51,307,0);Z(2963,3,32108,11713,51,308,0);Z(2757,3,32108,11713,51,309,0);Z(5901,3,32348,11587,94,310,0);Z(1306,3,32348,11587,94,311,0);Z(2190,9,32944,11882,313,312,0);Z(1799,4,32832,11833,248,314,0);Z(3518,3,32108,11713,51,315,0);Z(2832,3,32108,11713,51,316,0);Z(2159,10,32992,11893,318,317,0);Z(1772,4,32832,11833,248,319,0);Z(2889,3,32108,11713,51,320,0);Z(2565,3,32108,11713,51,321,0);Z(2606,3,32108,11713,51,322,0)}function he(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=sa-48|0;sa=l;s=J[e>>2];u=b;S=J[d>>2];if(S){u=J[S+12>>2]}E=J[u+96>>2];n=c;j=J[b+96>>2];F=J[c+96>>2]-j|0;i=J[(S?S:s)+12>>2];r=J[b+92>>2];h=J[i+92>>2]-r|0;M=J[c+92>>2]-r|0;v=J[i+96>>2]-j|0;I=P(F,h)-P(M,v)|0;N=I>>31;w=F>>31;k=us(I,N,F,w);g=ta;q=J[b+88>>2];i=J[i+88>>2]-q|0;T=J[c+88>>2]-q|0;K=P(i,M)-P(h,T)|0;O=K>>31;o=T;p=o>>31;h=us(K,O,o,p);b=k-h|0;z=J[u+92>>2];c=z;G=b;A=g-(ta+(h>>>0>k>>>0)|0)|0;m=us(b,A,c,c>>31);f=ta;c=M;k=c>>31;y=us(K,O,c,k);g=ta;L=P(o,v)-P(i,F)|0;Q=L>>31;i=us(L,Q,F,w);b=y-i|0;u=J[u+88>>2];h=u;H=b;B=g-(ta+(i>>>0>y>>>0)|0)|0;b=us(b,B,h,h>>31);i=b+m|0;f=ta+f|0;f=b>>>0>i>>>0?f+1|0:f;h=us(o,p,L,Q);o=ta;c=us(c,k,I,N);C=h-c|0;D=o-(ta+(c>>>0>h>>>0)|0)|0;c=us(C,D,E,E>>31);b=c+i|0;f=ta+f|0;o=b>>>0>>0?f+1|0:f;c=us(I,N,q,q>>31);h=ta;g=c;c=us(K,O,j,j>>31);i=g+c|0;j=ta+h|0;j=c>>>0>i>>>0?j+1|0:j;h=us(L,Q,r,r>>31);c=h+i|0;g=ta+j|0;q=c;r=c>>>0>>0?g+1|0:g;n=s?J[s+12>>2]:n;y=J[n+96>>2];v=J[n+92>>2];w=J[n+88>>2];c=s;a:{if(!S){break a}c=s;if(!J[S+12>>2]){break a}c=J[J[S+8>>2]+4>>2];m=J[c+12>>2];h=m;i=J[h+92>>2];k=i>>31;g=us(i,k,L,Q);f=ta;n=g;h=J[h+88>>2];p=h>>31;g=us(h,p,I,N);n=n+g|0;f=ta+f|0;f=g>>>0>n>>>0?f+1|0:f;g=J[m+96>>2];R=g>>31;m=us(g,R,K,O);n=m+n|0;f=ta+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=J[a+100>>2];while(1){if((t|0)==J[c+20>>2]){break b}k=us(i,k,G,A);i=ta;h=us(h,p,H,B);k=h+k|0;f=ta+i|0;f=h>>>0>k>>>0?f+1|0:f;i=us(g,R,C,D);h=i+k|0;f=ta+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[n>>2];E=J[b+96>>2];z=J[b+92>>2];u=J[b+88>>2];if(b){c=J[J[c+8>>2]+4>>2];n=c+12|0;b=h;o=f;m=J[c+12>>2];h=m;i=J[h+92>>2];k=i>>31;g=us(i,k,L,Q);f=ta;j=g;h=J[h+88>>2];p=h>>31;g=us(h,p,I,N);j=j+g|0;f=ta+f|0;f=g>>>0>j>>>0?f+1|0:f;g=J[m+96>>2];R=g>>31;m=us(g,R,K,O);x=m+j|0;j=ta+f|0;j=m>>>0>x>>>0?j+1|0:j;if(q>>>0>x>>>0&(r|0)>=(j|0)|(j|0)<(r|0)){break b}continue}break}b=h;o=f}c=J[e>>2]}h=us(G,A,v,v>>31);i=ta;g=h;h=us(H,B,w,w>>31);g=g+h|0;f=ta+i|0;f=g>>>0>>0?f+1|0:f;h=us(C,D,y,y>>31);i=h+g|0;f=ta+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}n=J[J[c+8>>2]>>2];t=J[n+12>>2];g=t;h=J[g+92>>2];p=h>>31;f=us(h,p,L,Q);m=ta;j=f;g=J[g+88>>2];R=g>>31;f=us(g,R,I,N);x=j+f|0;j=ta+m|0;j=f>>>0>x>>>0?j+1|0:j;m=J[t+96>>2];V=m>>31;f=us(m,V,K,O);t=f+x|0;j=ta+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;x=J[a+100>>2];while(1){f=n;if((x|0)==J[f+20>>2]){break c}h=us(h,p,G,A);n=ta;j=h;h=us(g,R,H,B);p=j+h|0;g=ta+n|0;g=h>>>0>p>>>0?g+1|0:g;m=us(C,D,m,V);h=m+p|0;j=ta+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){n=J[J[f+8>>2]>>2];W=n+12|0;c=f;i=h;k=g;t=J[n+12>>2];g=t;h=J[g+92>>2];p=h>>31;f=us(h,p,L,Q);m=ta;j=f;g=J[g+88>>2];R=g>>31;f=us(g,R,I,N);U=j+f|0;j=ta+m|0;j=f>>>0>U>>>0?j+1|0:j;m=J[t+96>>2];V=m>>31;t=us(m,V,K,O);U=t+U|0;f=ta+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=J[a+100>>2];while(1){c=J[d>>2];while(1){e:{h=(P(v-z|0,M)+P(w-u|0,T)|0)+P(y-E|0,F)|0;p=h>>31;if(!c|!J[c+12>>2]){break e}n=J[J[c>>2]+8>>2];if((t|0)>=J[n+20>>2]){break e}i=J[n+12>>2];s=J[i+92>>2];a=s-z|0;m=J[i+88>>2];k=m-u|0;g=J[i+96>>2];f=g-E|0;q=(P(a,M)+P(k,T)|0)+P(f,F)|0;a=us(G,A,a,a>>31);i=ta;j=a;a=us(H,B,k,k>>31);k=j+a|0;j=ta+i|0;j=a>>>0>k>>>0?j+1|0:j;i=us(C,D,f,f>>31);a=i+k|0;f=ta+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}J[l+32>>2]=0-a;J[l+36>>2]=0-(((a|0)!=0)+f|0);k=(q|0)>0;J[l+40>>2]=k?-1:q>>>31|0;i=(q|0)<0;J[l+24>>2]=k?q:i?0-q|0:0;a=q>>31;J[l+28>>2]=k?a:i?0-(((q|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((lb(l+24|0,l)|0)<0){break e}}c=(c|0)!=(S|0)?n:0;J[d>>2]=c;a=v-s|0;a=us(G,A,a,a>>31);b=ta;h=a;a=w-m|0;a=us(H,B,a,a>>31);o=h+a|0;j=ta+b|0;j=a>>>0>o>>>0?j+1|0:j;a=y-g|0;a=us(C,D,a,a>>31);b=a+o|0;f=ta+j|0;o=a>>>0>b>>>0?f+1|0:f;u=m;z=s;E=g;continue}break}a=J[e>>2];if(!a|!J[a+12>>2]){break d}x=J[J[a+8>>2]>>2];if((t|0)>=J[x+20>>2]){break d}i=J[x+12>>2];r=J[i+92>>2];f=r-v|0;q=f>>31;a=us(f,q,L,Q);c=ta;g=a;v=J[i+88>>2];k=v-w|0;n=k>>31;a=us(k,n,I,N);w=g+a|0;g=ta+c|0;g=a>>>0>w>>>0?g+1|0:g;s=J[i+96>>2];i=s-y|0;m=i>>31;c=us(K,O,i,m);if((0-c|0)!=(w|0)|(0-(ta+((c|0)!=0)|0)|0)!=(g|0)){break d}a=r-z|0;a=us(G,A,a,a>>31);c=ta;g=a;a=v-u|0;a=us(H,B,a,a>>31);g=g+a|0;j=ta+c|0;j=a>>>0>g>>>0?j+1|0:j;a=s-E|0;a=us(C,D,a,a>>31);c=a+g|0;j=ta+j|0;j=a>>>0>c>>>0?j+1|0:j;a=j;if(!c&(a|0)<=0|(a|0)<0){break d}s=(P(f,M)+P(k,T)|0)+P(i,F)|0;g=us(f,q,G,A);f=ta;j=g;g=us(H,B,k,n);k=j+g|0;f=ta+f|0;f=g>>>0>k>>>0?f+1|0:f;g=us(C,D,i,m);i=g+k|0;f=ta+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}J[l+32>>2]=0-i;J[l+36>>2]=0-(((i|0)!=0)+f|0);k=(s|0)>0;J[l+40>>2]=k?-1:s>>>31|0;g=(s|0)<0;J[l+24>>2]=k?s:g?0-s|0:0;i=s>>31;J[l+28>>2]=k?i:g?0-(((s|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((lb(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}t=J[a+100>>2];while(1){h=(P(v-z|0,M)+P(w-u|0,T)|0)+P(y-E|0,F)|0;p=h>>31;l:{if(!c|!J[c+12>>2]){break l}r=J[J[c+4>>2]+8>>2];if((t|0)>=J[r+20>>2]){break l}i=J[r+12>>2];m=J[i+92>>2];a=m-v|0;k=J[i+88>>2];f=k-w|0;i=J[i+96>>2];q=i-y|0;j=(P(a,M)+P(f,T)|0)+P(q,F)|0;a=us(G,A,a,a>>31);g=ta;n=a;a=us(H,B,f,f>>31);n=n+a|0;f=ta+g|0;f=a>>>0>n>>>0?f+1|0:f;a=n;n=us(C,D,q,q>>31);a=a+n|0;g=ta+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;n=-1;g=p;a=h;break n}if((h|0)<0){J[l+16>>2]=-1;n=1;g=0-(((h|0)!=0)+p|0)|0;a=0-h|0;break n}n=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]=n;g=0-(((b|0)!=0)+o|0)|0;a=0-b|0}J[l+8>>2]=a;J[l+12>>2]=g;if((lb(l+24|0,l)|0)>0){break l}}c=(c|0)!=(s|0)?r:0;J[e>>2]=c;a=m-z|0;a=us(G,A,a,a>>31);b=ta;h=a;a=k-u|0;a=us(H,B,a,a>>31);o=h+a|0;f=ta+b|0;f=a>>>0>o>>>0?f+1|0:f;a=i-E|0;a=us(C,D,a,a>>31);b=a+o|0;f=ta+f|0;o=a>>>0>b>>>0?f+1|0:f;w=k;v=m;y=i;continue}a=J[d>>2];if(!a|!J[a+12>>2]){break d}x=J[J[a+8>>2]+4>>2];if((t|0)>=J[x+20>>2]){break d}i=J[x+12>>2];r=J[i+92>>2];k=r-z|0;q=k>>31;a=us(k,q,L,Q);c=ta;f=a;z=J[i+88>>2];g=z-u|0;n=g>>31;a=us(g,n,I,N);j=f+a|0;f=ta+c|0;f=a>>>0>j>>>0?f+1|0:f;m=J[i+96>>2];c=m-E|0;u=c>>31;i=us(K,O,c,u);if((0-i|0)!=(j|0)|(0-(ta+((i|0)!=0)|0)|0)!=(f|0)){break d}a=v-r|0;a=us(G,A,a,a>>31);i=ta;f=a;a=w-z|0;a=us(H,B,a,a>>31);f=f+a|0;j=ta+i|0;j=a>>>0>f>>>0?j+1|0:j;a=y-m|0;a=us(C,D,a,a>>31);i=a+f|0;f=ta+j|0;f=a>>>0>i>>>0?f+1|0:f;a=f;if((f|0)>0|(f|0)>=0){break d}m=(P(k,M)+P(g,T)|0)+P(c,F)|0;f=us(k,q,G,A);k=ta;g=us(H,B,g,n);f=g+f|0;j=ta+k|0;k=us(C,D,c,u);c=k+f|0;g=ta+(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}J[l+32>>2]=0-c;J[l+36>>2]=0-(((c|0)!=0)+g|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;c=m>>31;J[l+28>>2]=k?c:g?0-(((m|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((lb(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];u=J[b+88>>2];b=i;o=a;continue}}sa=l+48|0}function jh(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,A=0,B=0,C=0,D=0;w=sa-16|0;sa=w;ua[J[8262]](3645);d=J[a+196>>2];j=J[a+228>>2];a:{if((d|0)>=(j|0)){break a}if((j|0)>J[a+200>>2]){if(j){J[8456]=J[8456]+1;g=ua[J[8258]](j<<2,16)|0;c=J[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;J[f+g>>2]=J[f+J[a+204>>2]>>2];m=f|4;J[m+g>>2]=J[m+J[a+204>>2]>>2];m=f|8;J[m+g>>2]=J[m+J[a+204>>2]>>2];f=f|12;J[f+g>>2]=J[f+J[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;J[e+g>>2]=J[e+J[a+204>>2]>>2];h=h+1|0;q=q+1|0;if((c|0)!=(q|0)){continue}break}}c=J[a+204>>2];if(!(c?!c|!K[a+208|0]:1)){J[8457]=J[8457]+1;ua[J[8259]](c)}J[a+204>>2]=g;H[a+208|0]=1;J[a+200>>2]=j}c=j+(d^-1)|0;e=j-d&3;if(e){h=0;while(1){J[J[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;J[c+J[a+204>>2]>>2]=0;J[(c+J[a+204>>2]|0)+4>>2]=0;J[(c+J[a+204>>2]|0)+8>>2]=0;J[(c+J[a+204>>2]|0)+12>>2]=0;d=d+4|0;if((j|0)!=(d|0)){continue}break}}J[a+196>>2]=j;if((ua[J[J[a>>2]+104>>2]](a)|0)>0){d=0;while(1){c=d<<2;J[c+J[a+204>>2]>>2]=J[c+J[a+236>>2]>>2];d=d+1|0;if((ua[J[J[a>>2]+104>>2]](a)|0)>(d|0)){continue}break}}d=J[a+196>>2];if((d|0)>=2){xd(a+192|0,w+14|0,0,d-1|0)}d=ua[J[J[a>>2]+104>>2]](a)|0;d=d?J[a+204>>2]:0;c=J[a+196>>2];g=J[a+212>>2];A=g,B=ua[J[J[a>>2]+20>>2]](a)|0,J[A+20>>2]=B;J[g+16>>2]=c;J[g+12>>2]=d;J[g+4>>2]=b;c=J[g+32>>2];c:{if((c|0)>=0){break c}if(J[g+36>>2]<0){d=J[g+40>>2];if(!(d?!d|!K[g+44|0]:1)){J[8457]=J[8457]+1;ua[J[8259]](d)}H[g+44|0]=1;J[g+36>>2]=0;J[g+40>>2]=0}e=0;d=c;j=0-c&3;if(j){while(1){J[J[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;J[c+J[g+40>>2]>>2]=0;J[(c+J[g+40>>2]|0)+4>>2]=0;J[(c+J[g+40>>2]|0)+8>>2]=0;J[(c+J[g+40>>2]|0)+12>>2]=0;d=d+4|0;if(d){continue}break}}J[g+32>>2]=0;c=J[g+52>>2];d:{if((c|0)>=0){break d}if(J[g+56>>2]<0){d=J[g+60>>2];if(!(d?!d|!K[g- -64|0]:1)){J[8457]=J[8457]+1;ua[J[8259]](d)}H[g+64|0]=1;J[g+56>>2]=0;J[g+60>>2]=0}e=0;d=c;j=0-c&3;if(j){while(1){J[J[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;J[c+J[g+60>>2]>>2]=0;J[(c+J[g+60>>2]|0)+4>>2]=0;J[(c+J[g+60>>2]|0)+8>>2]=0;J[(c+J[g+60>>2]|0)+12>>2]=0;d=d+4|0;if(d){continue}break}}J[g+52>>2]=0;c=J[g+72>>2];e:{if((c|0)>=0){break e}if(J[g+76>>2]<0){d=J[g+80>>2];if(!(d?!d|!K[g+84|0]:1)){J[8457]=J[8457]+1;ua[J[8259]](d)}H[g+84|0]=1;J[g+76>>2]=0;J[g+80>>2]=0}e=0;d=c;j=0-c&3;if(j){while(1){J[J[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;J[c+J[g+80>>2]>>2]=0;J[(c+J[g+80>>2]|0)+4>>2]=0;J[(c+J[g+80>>2]|0)+8>>2]=0;J[(c+J[g+80>>2]|0)+12>>2]=0;d=d+4|0;if(d){continue}break}}J[g+72>>2]=0;d=J[a+216>>2];c=J[a+24>>2];B=d,C=J[a+8>>2],D=ua[J[J[c>>2]+36>>2]](c)|0,A=J[J[d>>2]+8>>2],ua[A](B|0,C|0,D|0);f=J[a+220>>2];m=J[a+24>>2];v=J[a+212>>2];g=0;q=0;x=sa-16|0;sa=x;j=a;d=0;t=sa-16|0;sa=t;ua[J[8262]](2381);a=J[f+28>>2];f:{if((a|0)>=0){break f}if(J[f+32>>2]<0){c=J[f+36>>2];if(!(c?!c|!K[f+40|0]:1)){J[8457]=J[8457]+1;ua[J[8259]](c)}H[f+40|0]=1;J[f+32>>2]=0;J[f+36>>2]=0}c=a;e=0-c&3;if(e){while(1){J[J[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;J[a+J[f+36>>2]>>2]=0;J[(a+J[f+36>>2]|0)+4>>2]=0;J[(a+J[f+36>>2]|0)+8>>2]=0;J[(a+J[f+36>>2]|0)+12>>2]=0;c=c+4|0;if(c){continue}break}}J[f+28>>2]=0;a=0;l=sa-16|0;sa=l;k=f+4|0;h=J[k+4>>2];g:{if((h|0)<=0){break g}i=J[k+12>>2];while(1){d=a;n=i+(a<<3)|0;e=n;c=J[e>>2];if((c|0)!=(a|0)){while(1){d=i+(c<<3)|0;J[e>>2]=J[d>>2];d=J[d>>2];e=i+(d<<3)|0;c=J[e>>2];if((c|0)!=(d|0)){continue}break}}J[n>>2]=d;a=a+1|0;if((h|0)!=(a|0)){continue}break}if((h|0)<2){break g}Cd(k,l+15|0,0,h-1|0)}sa=l+16|0;k=J[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=J[f+16>>2];l=J[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)==J[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=J[j+16>>2];e=a;if((a|0)!=(c|0)){s=h&-2;h=0;while(1){u=n+(e<<3)|0;z=J[o+(J[u+4>>2]<<2)>>2];if((l|0)==J[z+208>>2]){y=i;i=J[z+220>>2];i=y&((i|0)!=4&(i|0)!=1)}u=J[o+(J[u+12>>2]<<2)>>2];if((l|0)==J[u+208>>2]){y=i;i=J[u+220>>2];i=y&((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=J[o+(J[(n+(e<<3)|0)+4>>2]<<2)>>2];if((l|0)!=J[e+208>>2]){break j}e=J[e+220>>2];i=(e|0)!=4&(e|0)!=1&i}if(i){if(p){break i}while(1){e=J[J[j+16>>2]+(J[(J[f+16>>2]+(a<<3)|0)+4>>2]<<2)>>2];if((l|0)==J[e+208>>2]&(J[e+220>>2]&-2)!=4){J[e+220>>2]=2}e=(a|0)==(c|0);a=a+1|0;if(!e){continue}break}break i}while(1){e=a;a=J[J[j+16>>2]+(J[(J[f+16>>2]+(a<<3)|0)+4>>2]<<2)>>2];if(!((l|0)!=J[a+208>>2]|J[a+220>>2]!=2)){if((J[a+220>>2]&-2)!=4){J[a+220>>2]=3}J[a+224>>2]=0}a=e+1|0;if((c|0)!=(e|0)){continue}break}}if((d|0)<(k|0)){continue}break}}o=ua[J[J[m>>2]+36>>2]](m)|0;if((o|0)>0){d=0;while(1){n=ua[J[J[m>>2]+40>>2]](m,d)|0;a=J[n+840>>2];c=J[n+836>>2];k:{if(!(J[c+220>>2]!=2?c:0)&(!a|J[a+220>>2]==2)){break k}e=J[c+204>>2];if(!(!(e&2)|e&4|J[c+220>>2]==2)){Xc(a,0)}e=J[a+204>>2];if(!(!(e&2)|e&4|J[a+220>>2]==2)){Xc(c,0)}if(!K[f+64|0]){break k}if(!(ua[J[J[m>>2]+28>>2]](m,c,a)|0)){break k}e=J[f+28>>2];l:{if((e|0)!=J[f+32>>2]){break l}k=e?e<<1:1;if((k|0)<=(e|0)){break l}m:{if(!k){a=0;break m}J[8456]=J[8456]+1;a=ua[J[8258]](k<<2,16)|0;e=J[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;J[l+a>>2]=J[l+J[f+36>>2]>>2];r=l|4;J[r+a>>2]=J[r+J[f+36>>2]>>2];r=l|8;J[r+a>>2]=J[r+J[f+36>>2]>>2];l=l|12;J[l+a>>2]=J[l+J[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;J[l+a>>2]=J[l+J[f+36>>2]>>2];c=c+1|0;i=i+1|0;if((h|0)!=(i|0)){continue}break}}c=J[f+36>>2];if(!(!c|!K[f+40|0])){if(c){J[8457]=J[8457]+1;ua[J[8259]](c)}e=J[f+28>>2]}J[f+36>>2]=a;H[f+40|0]=1;J[f+32>>2]=k}J[J[f+36>>2]+(e<<2)>>2]=n;J[f+28>>2]=e+1}d=d+1|0;if((o|0)!=(d|0)){continue}break}}ua[J[8263]]();sa=t+16|0;n=J[f+8>>2];ua[J[8262]](4539);o:{if(!K[f+64|0]){a=ua[J[J[m>>2]+44>>2]](m)|0;d=ua[J[J[m>>2]+36>>2]](m)|0;ua[J[J[v>>2]+8>>2]](v,J[j+16>>2],J[j+8>>2],a,d,-1);break o}m=J[f+28>>2];if((m|0)>=2){Ad(f+24|0,x+14|0,0,m-1|0)}if((n|0)<=0){break o}a=1;while(1){l=J[J[f+16>>2]+(q<<3)>>2];i=1;while(1){d=J[f+16>>2]+(q<<3)|0;if((l|0)==J[d>>2]){t=J[J[j+16>>2]+(J[d+4>>2]<<2)>>2];c=J[f+48>>2];p:{if((c|0)!=J[f+52>>2]){break p}o=c?c<<1:1;if((o|0)<=(c|0)){break p}q:{if(!o){e=0;break q}J[8456]=J[8456]+1;e=ua[J[8258]](o<<2,16)|0;c=J[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;J[k+e>>2]=J[k+J[f+56>>2]>>2];s=k|4;J[s+e>>2]=J[s+J[f+56>>2]>>2];s=k|8;J[s+e>>2]=J[s+J[f+56>>2]>>2];k=k|12;J[k+e>>2]=J[k+J[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;J[p+e>>2]=J[p+J[f+56>>2]>>2];d=d+1|0;h=h+1|0;if((k|0)!=(h|0)){continue}break}}d=J[f+56>>2];if(!(!d|!K[f+60|0])){if(d){J[8457]=J[8457]+1;ua[J[8259]](d)}c=J[f+48>>2]}J[f+56>>2]=e;H[f+60|0]=1;J[f+52>>2]=o}J[J[f+56>>2]+(c<<2)>>2]=t;J[f+48>>2]=c+1;d=J[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=J[f+36>>2];e=k+(g<<2)|0;d=J[e>>2];c=J[J[d+836>>2]+208>>2];if((c|0)<0){c=J[J[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=J[k+(a<<2)>>2];d=J[J[o+836>>2]+208>>2];if((d|0)<0){d=J[J[o+840>>2]+208>>2]}if((d|0)==(l|0)){continue}}break}h=a-g|0;d=e}if(!i){ua[J[J[v>>2]+8>>2]](v,J[f+56>>2],J[f+48>>2],d,h,l)}c=J[f+48>>2];u:{if((c|0)>=0){break u}if(J[f+52>>2]<0){d=J[f+56>>2];if(!(d?!d|!K[f+60|0]:1)){J[8457]=J[8457]+1;ua[J[8259]](d)}H[f+60|0]=1;J[f+52>>2]=0;J[f+56>>2]=0}e=0;d=c;i=0-c&3;if(i){while(1){J[J[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;J[c+J[f+56>>2]>>2]=0;J[(c+J[f+56>>2]|0)+4>>2]=0;J[(c+J[f+56>>2]|0)+8>>2]=0;J[(c+J[f+56>>2]|0)+12>>2]=0;d=d+4|0;if(d){continue}break}}g=h?a:g;J[f+48>>2]=0;if((n|0)>(q|0)){continue}break}}ua[J[8263]]();sa=x+16|0;wd(J[j+212>>2]);a=J[j+216>>2];ua[J[J[a>>2]+16>>2]](a,b,J[j+72>>2]);ua[J[8263]]();sa=w+16|0}function Uc(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=0,n=Q(0),o=Q(0),p=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),I=0,L=0,M=Q(0),O=Q(0),R=Q(0),S=0,T=Q(0),U=Q(0),V=Q(0),W=0,X=0,Z=Q(0),_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0;e=sa-704|0;sa=e;t=Sa(e+620|0);f=t;J[f+20>>2]=1065353216;J[f+24>>2]=1065353216;J[f+4>>2]=8;J[f>>2]=21396;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];r=J[c+4>>2];v=J[r+4>>2];a:{if((v|0)<=19){J[e+612>>2]=0;J[e+616>>2]=0;J[e+444>>2]=13156;N[e+608>>2]=N[d+4>>2];H[e+416|0]=0;J[e+392>>2]=953267991;v=e+680|0;J[v+12>>2]=r;J[v+8>>2]=t;p=e+84|0;J[v+4>>2]=p;J[v>>2]=23248;m=e+68|0;J[m+12>>2]=r;J[m+8>>2]=t;J[m+4>>2]=p;J[m>>2]=22600;r=J[d+16>>2]&8?m:v;b:{if(!(ua[J[J[r>>2]+8>>2]](r,a,b,f,f,e+444|0)|0)){break b}g=N[e+584>>2];h=N[e+576>>2];i=N[e+580>>2];j=Q(Q(g*g)+Q(Q(h*h)+Q(i*i)));if(!(j>Q(9999999747378752e-20))){break b}k=N[e+608>>2];if(!(k>2])){break b}n=g;g=Q(Q(1)/Q(Y(j)));N[e+584>>2]=n*g;N[e+580>>2]=i*g;N[e+576>>2]=h*g;a=J[c+8>>2];J[e+44>>2]=0;J[e+40>>2]=a;a=J[e+588>>2];J[e+56>>2]=J[e+584>>2];J[e+60>>2]=a;a=J[e+580>>2];J[e+48>>2]=J[e+576>>2];J[e+52>>2]=a;N[e+64>>2]=k;Q(ua[J[J[d>>2]+12>>2]](d,e+40|0,1))}break a}if(v-21>>>0<=8){q=N[f+20>>2];i=N[f+36>>2];u=N[f+24>>2];s=N[f+52>>2];j=N[f+56>>2];k=N[f+40>>2];l=N[f+32>>2];w=N[f+16>>2];n=N[f>>2];x=N[f+4>>2];o=N[f+48>>2];A=N[f+8>>2];h=N[a+52>>2];y=N[a+56>>2];g=N[a+48>>2];J[e+456>>2]=0;s=Q(-s);D=Q(u*s);z=Q(Q(D-Q(A*o))-Q(k*j));E=Q(y*k);F=Q(u*h);N[e+452>>2]=z+Q(E+Q(Q(g*A)+F));G=Q(q*s);B=Q(Q(G-Q(x*o))-Q(i*j));M=Q(y*i);O=Q(q*h);N[e+448>>2]=B+Q(M+Q(Q(g*x)+O));R=Q(w*s);T=Q(Q(R-Q(n*o))-Q(l*j));U=Q(y*l);V=Q(w*h);N[e+444>>2]=T+Q(U+Q(Q(g*n)+V));y=N[b+52>>2];s=N[b+56>>2];h=N[b+48>>2];J[e+52>>2]=0;C=z;z=Q(s*k);Z=Q(h*A);A=Q(u*y);N[e+48>>2]=C+Q(z+Q(Z+A));C=B;B=Q(s*i);u=Q(h*x);x=Q(q*y);N[e+44>>2]=C+Q(B+Q(u+x));s=Q(s*l);C=Q(h*n);n=Q(w*y);N[e+40>>2]=T+Q(s+Q(C+n));if((v|0)==21){b=J[c+8>>2];v=e+444|0;m=e+40|0;a=Vd(e+84|0,v,m,J[d+16>>2]);J[a+52>>2]=r;J[a+48>>2]=b;J[a+44>>2]=d;J[a>>2]=13224;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=sa-16|0;sa=b;c=J[r+56>>2];J[b+12>>2]=a;J[b+8>>2]=c;J[b+4>>2]=18656;c=J[r+60>>2];d=b+4|0;a=sa-32|0;sa=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;c:{if(K[c+60|0]){ye(c,d,v,m,a+16|0,a,J[c+56>>2]);break c}ze(c,d,v,m,a+16|0,a)}sa=a+32|0;sa=b+16|0;break a}q=N[f>>2];u=N[f+4>>2];j=Q(-j);C=Q(k*j);k=N[f+8>>2];o=Q(-o);w=Q(C+Q(Q(k*o)+D));N[e+688>>2]=Q(E+Q(Q(g*k)+F))+w;J[e+692>>2]=0;i=Q(Q(i*j)+Q(Q(u*o)+G));N[e+684>>2]=Q(M+Q(Q(g*u)+O))+i;C=Q(U+Q(Q(g*q)+V));g=Q(Q(l*j)+Q(Q(q*o)+R));N[e+680>>2]=C+g;J[e+80>>2]=0;N[e+76>>2]=Q(z+Q(Q(h*k)+A))+w;N[e+72>>2]=Q(B+Q(Q(h*u)+x))+i;N[e+68>>2]=Q(s+Q(Q(h*q)+n))+g;b=J[c+8>>2];a=Vd(e+84|0,e+680|0,e+68|0,J[d+16>>2]);J[a+52>>2]=r;J[a+48>>2]=b;J[a+44>>2]=d;J[a>>2]=13224;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+692>>2];J[e+32>>2]=J[e+688>>2];J[e+36>>2]=b;b=J[e+684>>2];J[e+24>>2]=J[e+680>>2];J[e+28>>2]=b;g=N[e+68>>2];if(g>2]){N[e+24>>2]=g}h=N[e+72>>2];if(h>2]){N[e+28>>2]=h}i=N[e+76>>2];if(i>2]){N[e+32>>2]=i}j=N[e+80>>2];if(j>2]){N[e+36>>2]=j}b=J[e+692>>2];J[e+16>>2]=J[e+688>>2];J[e+20>>2]=b;b=J[e+684>>2];J[e+8>>2]=J[e+680>>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}ua[J[J[r>>2]+64>>2]](r,a,e+24|0,e+8|0);break a}if((v|0)!=31){break a}t=J[r+72>>2];c=J[c+8>>2];J[e+64>>2]=d;J[e+60>>2]=b;J[e+56>>2]=a;J[e+52>>2]=f;J[e+48>>2]=r;J[e+44>>2]=c;J[e+40>>2]=13408;if(t){g=N[f+20>>2];h=N[f+36>>2];i=N[f+24>>2];j=N[f+52>>2];x=N[a+52>>2];k=N[f+40>>2];l=N[f+56>>2];w=N[a+56>>2];A=N[f>>2];o=N[f+16>>2];q=N[f+32>>2];y=N[f+4>>2];n=N[f+8>>2];u=N[f+48>>2];s=N[a+48>>2];J[e+96>>2]=0;w=Q(w-l);z=n;n=Q(s-u);x=Q(x-j);N[e+92>>2]=Q(k*w)+Q(Q(z*n)+Q(i*x));N[e+88>>2]=Q(h*w)+Q(Q(y*n)+Q(x*g));N[e+84>>2]=Q(q*w)+Q(Q(A*n)+Q(x*o));w=N[b+52>>2];n=N[b+56>>2];x=N[f>>2];A=N[f+4>>2];y=N[f+8>>2];s=N[b+48>>2];J[e+456>>2]=0;z=k;k=Q(n-l);l=Q(s-u);n=i;i=Q(w-j);N[e+452>>2]=Q(z*k)+Q(Q(y*l)+Q(n*i));N[e+448>>2]=Q(h*k)+Q(Q(A*l)+Q(g*i));N[e+444>>2]=Q(q*k)+Q(Q(x*l)+Q(o*i));W=e+40|0;v=0;m=sa-544|0;sa=m;a=J[t>>2];d:{if(!a){break d}g=N[e+92>>2];h=N[e+452>>2];i=N[e+84>>2];j=N[e+444>>2];k=N[e+88>>2];l=N[e+448>>2];J[m+32>>2]=a;g=Q(h-g);h=Q(j-i);i=Q(l-k);j=Q(Q(1)/Q(Y(Q(Q(g*g)+Q(Q(h*h)+Q(i*i))))));k=Q(g*j);n=Q(k*g);g=Q(h*j);z=Q(g*h);h=Q(i*j);u=Q(n+Q(z+Q(i*h)));i=k==Q(0)?Q(0xde0b6b000000000):Q(Q(1)/k);a=i>2];p=J[t+4>>2];J[m>>2]=J[t>>2];J[m+4>>2]=p;p=J[t+12>>2];J[m+8>>2]=J[t+8>>2];J[m+12>>2]=p;p=J[t+28>>2];J[m+24>>2]=J[t+24>>2];J[m+28>>2]=p;p=J[t+20>>2];J[m+16>>2]=J[t+16>>2];J[m+20>>2]=p;o=N[e+84>>2];j=Q(g*Q(N[ca>>2]-o));l=N[e+88>>2];k=Q(h*Q(N[ba>>2]-l));e:{if(j>k){break e}l=Q(h*Q(N[$>>2]-l));o=Q(g*Q(N[da>>2]-o));if(l>o){break e}j=j>2];l=Q(i*Q(N[aa>>2]-q));if(j>l){break e}q=Q(i*Q(N[_>>2]-q));k=kk|!(u>(jl?l:k)>Q(0))){break e}if(J[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}J[8456]=J[8456]+1;c=ua[J[8258]](d<<3,16)|0;if((d|0)<=0){break f}S=0;f=0;if(d>>>0>=4){ea=d&-4;I=0;while(1){p=f<<2;J[p+c>>2]=J[b+p>>2];L=p|4;J[L+c>>2]=J[b+L>>2];L=p|8;J[L+c>>2]=J[b+L>>2];p=p|12;J[p+c>>2]=J[b+p>>2];f=f+4|0;I=I+4|0;if((ea|0)!=(I|0)){continue}break}}p=d&3;if(!p){break f}while(1){I=f<<2;J[I+c>>2]=J[b+I>>2];f=f+1|0;S=S+1|0;if((p|0)!=(S|0)){continue}break}}f=v;v=1;if(b?f:0){J[8457]=J[8457]+1;ua[J[8259]](b)}f=a;b=c}c=d<<2;Fa(c+b|0,0,c)}d=a;c=a-2|0}J[b+X>>2]=J[t+36>>2];J[(r<<2)+b>>2]=J[t+40>>2];a=r+1|0;break e}ua[J[J[W>>2]+12>>2]](W,t)}r=a;if(a){continue}break}if(!v){break d}if(b){J[8457]=J[8457]+1;ua[J[8259]](b)}}sa=m+544|0;break a}d=J[r+24>>2];if((d|0)<=0){break a}c=0;while(1){a=J[J[e+48>>2]+32>>2]+P(c,80)|0;b=J[a+64>>2];w=N[a+56>>2];n=N[a+48>>2];x=N[a+52>>2];A=N[a+32>>2];y=N[a>>2];s=N[a+16>>2];D=N[a+36>>2];z=N[a+4>>2];E=N[a+20>>2];F=N[a+40>>2];G=N[a+8>>2];B=N[a+24>>2];a=J[e+52>>2];M=N[a+52>>2];O=N[a+56>>2];g=N[a+24>>2];h=N[a+20>>2];i=N[a+40>>2];j=N[a+36>>2];R=N[a+48>>2];k=N[a+8>>2];l=N[a>>2];o=N[a+4>>2];q=N[a+16>>2];u=N[a+32>>2];J[e+144>>2]=0;J[e+128>>2]=0;J[e+112>>2]=0;J[e+96>>2]=0;N[e+124>>2]=Q(F*i)+Q(Q(G*u)+Q(B*j));N[e+120>>2]=Q(D*i)+Q(Q(z*u)+Q(E*j));N[e+116>>2]=Q(A*i)+Q(Q(y*u)+Q(s*j));N[e+108>>2]=Q(F*g)+Q(Q(G*q)+Q(B*h));N[e+104>>2]=Q(D*g)+Q(Q(z*q)+Q(E*h));N[e+100>>2]=Q(A*g)+Q(Q(y*q)+Q(s*h));N[e+92>>2]=Q(F*k)+Q(Q(G*l)+Q(o*B));N[e+88>>2]=Q(D*k)+Q(Q(z*l)+Q(o*E));N[e+84>>2]=Q(A*k)+Q(Q(y*l)+Q(s*o));N[e+140>>2]=O+Q(Q(w*i)+Q(Q(n*u)+Q(j*x)));N[e+136>>2]=M+Q(Q(w*g)+Q(Q(n*q)+Q(h*x)));N[e+132>>2]=R+Q(Q(w*k)+Q(Q(n*l)+Q(o*x)));J[e+700>>2]=c;J[e+696>>2]=-1;J[e+688>>2]=J[e+44>>2];J[e+684>>2]=b;J[e+680>>2]=0;J[e+692>>2]=e+84;J[e+460>>2]=0;J[e+448>>2]=1065353216;J[e+452>>2]=0;J[e+472>>2]=c;J[e+464>>2]=b;J[e+444>>2]=13584;a=J[e+64>>2];J[e+468>>2]=a;N[e+448>>2]=N[a+4>>2];J[e+460>>2]=J[a+16>>2];Uc(J[e+56>>2],J[e+60>>2],e+680|0,e+444|0);c=c+1|0;if((d|0)!=(c|0)){continue}break}}sa=e+704|0}function Wd(a,b,c){var d=Q(0),e=0,f=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),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=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=0,O=Q(0),R=Q(0),S=Q(0),T=Q(0),U=0,V=0,W=0,X=0,Z=Q(0),_=Q(0),$=0,aa=0;e=sa-96|0;sa=e;J[a+376>>2]=0;J[a+364>>2]=4;J[a+368>>2]=0;k=a+316|0;J[a+360>>2]=k;J[a+356>>2]=a+284;J[a+352>>2]=a+252;J[a+348>>2]=a+220;f=J[b+4>>2];J[a>>2]=J[b>>2];J[a+4>>2]=f;f=J[b+20>>2];J[a+16>>2]=J[b+16>>2];J[a+20>>2]=f;f=J[b+12>>2];J[a+8>>2]=J[b+8>>2];J[a+12>>2]=f;f=J[b+36>>2];J[a+32>>2]=J[b+32>>2];J[a+36>>2]=f;f=J[b+28>>2];J[a+24>>2]=J[b+24>>2];J[a+28>>2]=f;f=J[b+52>>2];J[a+48>>2]=J[b+48>>2];J[a+52>>2]=f;f=J[b+44>>2];J[a+40>>2]=J[b+40>>2];J[a+44>>2]=f;l=b- -64|0;f=J[l+4>>2];w=a- -64|0;J[w>>2]=J[l>>2];J[w+4>>2]=f;f=J[b+60>>2];J[a+56>>2]=J[b+56>>2];J[a+60>>2]=f;f=J[b+84>>2];J[a+80>>2]=J[b+80>>2];J[a+84>>2]=f;f=J[b+76>>2];J[a+72>>2]=J[b+72>>2];J[a+76>>2]=f;f=J[b+100>>2];J[a+96>>2]=J[b+96>>2];J[a+100>>2]=f;f=J[b+92>>2];J[a+88>>2]=J[b+88>>2];J[a+92>>2]=f;f=J[b+108>>2];J[a+104>>2]=J[b+104>>2];J[a+108>>2]=f;f=J[b+116>>2];J[a+112>>2]=J[b+112>>2];J[a+116>>2]=f;f=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]=f;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]=k;h=N[a+136>>2];i=N[a+128>>2];d=N[a+132>>2];g=Q(Q(h*h)+Q(Q(i*i)+Q(d*d)));b=g>Q(0);h=b?Q(-h):Q(0);i=b?Q(-i):Q(1);d=b?Q(-d):Q(0);j=Q(Q(1)/Q(Y(Q(Q(h*h)+Q(Q(i*i)+Q(d*d))))));N[a+324>>2]=h*j;N[a+320>>2]=d*j;N[k>>2]=i*j;Ra(e+16|0,a,k);b=J[e+28>>2];J[a+340>>2]=J[e+24>>2];J[a+344>>2]=b;b=J[e+20>>2];J[a+332>>2]=J[e+16>>2];J[a+336>>2]=b;J[a+164>>2]=1065353216;c=J[a+148>>2];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+28>>2];J[e+72>>2]=J[c+24>>2];J[e+76>>2]=b;b=J[c+20>>2];J[e+64>>2]=J[c+16>>2];J[e+68>>2]=b;b=J[c+28>>2];J[e+56>>2]=J[c+24>>2];J[e+60>>2]=b;b=J[c+20>>2];J[e+48>>2]=J[c+16>>2];J[e+52>>2]=b;b=J[c+28>>2];J[e+40>>2]=J[c+24>>2];J[e+44>>2]=b;b=J[c+20>>2];J[e+32>>2]=J[c+16>>2];J[e+36>>2]=b;b=J[c+28>>2];J[e+24>>2]=J[c+24>>2];J[e+28>>2]=b;b=J[c+20>>2];J[e+16>>2]=J[c+16>>2];J[e+20>>2]=b;d=N[a+136>>2];n=N[a+132>>2];j=N[a+128>>2];u=J[a+368>>2];W=a+148|0;while(1){a:{b:{o=Q(Y(Q(Q(d*d)+Q(Q(j*j)+Q(n*n)))));c:{if(o>2]=1;break c}f=P(u,36);w=f+a|0;c=J[w+180>>2];l=c<<2;J[(l+w|0)+164>>2]=0;b=J[a+364>>2]-1|0;J[a+364>>2]=b;v=f+W|0;f=J[((b<<2)+a|0)+348>>2];J[l+v>>2]=f;J[w+180>>2]=c+1;J[f+12>>2]=0;i=Q(Q(1)/o);N[f+8>>2]=i*Q(-d);N[f+4>>2]=i*Q(-n);N[f>>2]=i*Q(-j);Ra(e+80|0,a,f);b=J[e+92>>2];J[f+24>>2]=J[e+88>>2];J[f+28>>2]=b;b=J[e+84>>2];J[f+16>>2]=J[e+80>>2];J[f+20>>2]=b;d:{f=J[w+180>>2];l=J[((f<<2)+v|0)-4>>2];j=N[l+24>>2];d=Q(j-N[e+24>>2]);s=Q(d*d);h=N[l+16>>2];d=Q(h-N[e+16>>2]);p=Q(d*d);i=N[l+20>>2];d=Q(i-N[e+20>>2]);if(Q(s+Q(p+Q(d*d)))>2]);s=Q(d*d);d=Q(h-N[e+32>>2]);p=Q(d*d);d=Q(i-N[e+36>>2]);if(Q(s+Q(p+Q(d*d)))>2]);s=Q(d*d);d=Q(h-N[e+48>>2]);p=Q(d*d);d=Q(i-N[e+52>>2]);if(Q(s+Q(p+Q(d*d)))>2]);s=Q(d*d);d=Q(h-N[e+64>>2]);p=Q(d*d);d=Q(i-N[e+68>>2]);if(Q(s+Q(p+Q(d*d)))>2];X=X+1&3;c=(e+16|0)+(X<<4)|0;J[c+8>>2]=J[l+24>>2];J[c+12>>2]=b;b=J[l+20>>2];J[c>>2]=J[l+16>>2];J[c+4>>2]=b;d=Q(Q(Q(N[a+136>>2]*j)+Q(Q(N[a+128>>2]*h)+Q(N[a+132>>2]*i)))/o);O=d>O?d:O;if(Q(Q(o*Q(-9999999747378752e-20))+Q(o-O))<=Q(0)){u=J[a+368>>2];c=P(u,36)+a|0;b=J[c+180>>2]-1|0;J[c+180>>2]=b;c=J[(c+(b<<2)|0)+148>>2];b=J[a+364>>2];J[a+364>>2]=b+1;J[((b<<2)+a|0)+348>>2]=c;break c}J[e+12>>2]=0;e:{f:{g:{switch(f-2|0){case 0:c=J[v+4>>2];h=N[c+24>>2];b=J[v>>2];x=N[b+24>>2];n=Q(h-x);i=N[c+16>>2];q=N[b+16>>2];o=Q(i-q);g=N[c+20>>2];r=N[b+20>>2];j=Q(g-r);d=Q(Q(n*n)+Q(Q(o*o)+Q(j*j)));if(!(d>Q(0))){break e}t=Q(Q(-Q(Q(x*n)+Q(Q(q*o)+Q(r*j))))/d);if(t>=Q(1)){J[e+12>>2]=2;J[e+80>>2]=0;J[e+84>>2]=1065353216;g=Q(Q(h*h)+Q(Q(i*i)+Q(g*g)));break f}if(t<=Q(0)){J[e+12>>2]=1;J[e+80>>2]=1065353216;J[e+84>>2]=0;g=Q(Q(x*x)+Q(Q(q*q)+Q(r*r)));break f}J[e+12>>2]=3;N[e+84>>2]=t;N[e+80>>2]=Q(1)-t;d=Q(x+Q(n*t));p=Q(d*d);d=Q(q+Q(o*t));g=Q(d*d);d=Q(r+Q(j*t));g=Q(p+Q(g+Q(d*d)));break f;case 1:g=Nb(J[v>>2]+16|0,J[v+4>>2]+16|0,J[v+8>>2]+16|0,e+80|0,e+12|0);break f;case 2:break g;default:break f}}m=sa-32|0;sa=m;d=Q(-1);l=J[v+4>>2]+16|0;s=N[l+4>>2];k=J[v+12>>2]+16|0;C=N[k+4>>2];D=Q(s-C);f=J[v>>2]+16|0;p=N[f+8>>2];E=N[k+8>>2];F=Q(p-E);Z=Q(D*Q(-F));c=J[v+8>>2]+16|0;i=N[c>>2];G=N[k>>2];z=Q(i-G);R=N[f>>2];H=Q(R-G);_=Q(H*D);t=N[c+8>>2];A=Q(t-E);h=N[l>>2];I=Q(h-G);S=N[f+4>>2];K=Q(S-C);x=Q(I*Q(-K));T=N[l+8>>2];L=Q(T-E);q=Q(L*Q(-H));g=N[c+4>>2];B=Q(g-C);r=Q(K*L);n=Q(F*I);y=Q(Q(Z*z)+Q(Q(_*A)+Q(Q(x*A)+Q(Q(q*B)+Q(Q(r*z)+Q(n*B))))));h:{if(!(y>Q(0)|y>2]=0;J[m+16>>2]=0;J[m+20>>2]=0;J[m+12>>2]=0;if(Q(y*Q(Q(E*Q(_+x))+Q(Q(G*Q(r+Z))+Q(C*Q(n+q)))))>Q(0)){d=Nb(f,l,k,m+16|0,m+12|0);b=J[m+12>>2];J[e+12>>2]=b&3|b<<1&8;N[e+80>>2]=N[m+16>>2];g=N[m+20>>2];J[e+88>>2]=0;N[e+84>>2]=g;N[e+92>>2]=N[m+24>>2]}i:{if(!(Q(y*Q(Q(N[k+8>>2]*Q(Q(I*B)-Q(z*D)))+Q(Q(N[k>>2]*Q(Q(D*A)-Q(B*L)))+Q(N[k+4>>2]*Q(Q(L*z)-Q(A*I))))))>Q(0))){break i}g=Nb(l,c,k,m+16|0,m+12|0);if(!(d>2]=J[m+12>>2]<<1&14;N[e+84>>2]=N[m+16>>2];d=N[m+20>>2];J[e+80>>2]=0;N[e+88>>2]=d;N[e+92>>2]=N[m+24>>2];d=g}j:{if(!(Q(y*Q(Q(N[k+8>>2]*Q(Q(z*K)-Q(H*B)))+Q(Q(N[k>>2]*Q(Q(B*F)-Q(K*A)))+Q(N[k+4>>2]*Q(Q(A*H)-Q(F*z))))))>Q(0))){break j}g=Nb(c,f,k,m+16|0,m+12|0);if(!(d>2];J[e+12>>2]=b>>>1&1|b<<1&8|b<<2&4;N[e+88>>2]=N[m+16>>2];d=N[m+20>>2];J[e+84>>2]=0;N[e+80>>2]=d;N[e+92>>2]=N[m+24>>2];d=g}if(!(d>2]=15;q=N[c>>2];r=N[l+4>>2];n=N[k+8>>2];o=N[c+4>>2];j=N[l+8>>2];h=N[k>>2];i=N[c+8>>2];g=N[l>>2];d=N[k+4>>2];t=Q(Q(Q(Q(Q(q*r)*n)+Q(Q(Q(Q(Q(o*j)*h)+Q(Q(i*g)*d))-Q(Q(j*q)*d))-Q(Q(g*o)*n)))-Q(Q(r*i)*h))/y);N[e+80>>2]=t;q=N[f>>2];r=N[c+4>>2];n=N[k+8>>2];o=N[f+4>>2];j=N[c+8>>2];h=N[k>>2];i=N[f+8>>2];g=N[c>>2];d=N[k+4>>2];x=Q(Q(Q(Q(Q(q*r)*n)+Q(Q(Q(Q(Q(o*j)*h)+Q(Q(i*g)*d))-Q(Q(j*q)*d))-Q(Q(g*o)*n)))-Q(Q(r*i)*h))/y);N[e+84>>2]=x;q=N[l>>2];r=N[f+4>>2];n=N[k+8>>2];o=N[l+4>>2];j=N[f+8>>2];h=N[k>>2];i=N[l+8>>2];g=N[f>>2];d=N[k+4>>2];d=Q(Q(Q(Q(Q(q*r)*n)+Q(Q(Q(Q(Q(o*j)*h)+Q(Q(i*g)*d))-Q(Q(j*q)*d))-Q(Q(g*o)*n)))-Q(Q(r*i)*h))/y);N[e+88>>2]=d;N[e+92>>2]=Q(1)-Q(Q(t+x)+d);d=Q(0)}sa=m+32|0;g=d}if(!(g>=Q(0))){break e}u=1-u|0;b=P(u,36);U=b+a|0;J[U+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]=u;m=J[w+180>>2];if(!m){d=Q(0);V=J[e+12>>2];n=Q(0);j=Q(0);break b}k=b+W|0;c=J[a+364>>2];d=Q(0);M=0;V=J[e+12>>2];n=Q(0);j=Q(0);b=0;while(1){w=b<<2;l=w+v|0;$=J[l>>2];k:{if(V>>>b&1){f=M<<2;J[f+k>>2]=$;h=N[w+(e+80|0)>>2];M=M+1|0;J[U+180>>2]=M;N[(f+U|0)+164>>2]=h;f=J[l>>2];i=N[f+24>>2];d=N[f+20>>2];j=Q(Q(h*N[f+16>>2])+N[a+128>>2]);N[a+128>>2]=j;n=Q(Q(h*d)+N[a+132>>2]);N[a+132>>2]=n;d=Q(Q(h*i)+N[a+136>>2]);N[a+136>>2]=d;break k}f=c+1|0;J[a+364>>2]=f;J[((c<<2)+a|0)+348>>2]=$;c=f}b=b+1|0;if((m|0)!=(b|0)){continue}break}break b}u=J[a+368>>2];c=P(u,36)+a|0;b=J[c+180>>2]-1|0;J[c+180>>2]=b;c=J[(c+(b<<2)|0)+148>>2];b=J[a+364>>2];J[a+364>>2]=b+1;J[((b<<2)+a|0)+348>>2]=c;break c}u=J[a+368>>2];c=P(u,36)+a|0;b=J[c+180>>2]-1|0;J[c+180>>2]=b;c=J[(c+(b<<2)|0)+148>>2];b=J[a+364>>2];J[a+364>>2]=b+1;J[((b<<2)+a|0)+348>>2]=c}b=J[a+376>>2];break a}aa=aa+1|0;b=aa>>>0>=128?2:(V|0)==15?1:J[a+376>>2];J[a+376>>2]=b;if(!b){continue}}break}J[a+372>>2]=(P(u,36)+a|0)+148;d=Q(0);l:{switch(b|0){case 0:d=N[a+136>>2];p=Q(d*d);d=N[a+128>>2];g=Q(d*d);d=N[a+132>>2];d=Q(Y(Q(p+Q(g+Q(d*d)))));case 1:N[a+144>>2]=d;break;default:break l}}sa=e+96|0;return b}function Nd(a,b,c,d,e,f,g,h){var i=0,j=0,k=0,l=0,m=0,n=0,o=Q(0),p=0,q=0,r=0,s=Q(0),t=Q(0),u=Q(0),v=0,w=Q(0),x=0,y=0,z=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=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),_=Q(0),$=Q(0),aa=Q(0),ba=Q(0),ca=Q(0);n=sa-32|0;sa=n;if((J[e+4>>2]&J[e+8>>2])<0){j=J[e+12>>2];if(!(j?!j|!K[e+16|0]:1)){J[8457]=J[8457]+1;ua[J[8259]](j)}H[e+16|0]=1;J[e+8>>2]=0;J[e+12>>2]=0}j=0;J[e+4>>2]=0;x=J[d+4>>2];if((x|0)>J[e+8>>2]){a:{if(!x){break a}J[8456]=J[8456]+1;j=ua[J[8258]](x<<4,16)|0;l=J[e+4>>2];if((l|0)<=0){break a}if((l|0)!=1){m=l&-2;while(1){y=i<<4;r=y+j|0;v=y+J[e+12>>2]|0;M=J[v+4>>2];J[r>>2]=J[v>>2];J[r+4>>2]=M;M=J[v+12>>2];J[r+8>>2]=J[v+8>>2];J[r+12>>2]=M;v=y|16;y=v+j|0;v=v+J[e+12>>2]|0;r=J[v+4>>2];J[y>>2]=J[v>>2];J[y+4>>2]=r;r=J[v+12>>2];J[y+8>>2]=J[v+8>>2];J[y+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+J[e+12>>2]|0;l=J[i+4>>2];J[k>>2]=J[i>>2];J[k+4>>2]=l;l=J[i+12>>2];J[k+8>>2]=J[i+8>>2];J[k+12>>2]=l}i=J[e+12>>2];if(!(i?!i|!K[e+16|0]:1)){J[8457]=J[8457]+1;ua[J[8259]](i)}J[e+12>>2]=j;H[e+16|0]=1;J[e+8>>2]=x}k=J[b+28>>2];b:{if((k|0)<=0){break b}w=N[c+40>>2];A=N[c+36>>2];C=N[c+24>>2];D=N[c+20>>2];l=J[b+36>>2];E=N[a+8>>2];F=N[a+4>>2];I=N[a>>2];O=N[c+32>>2];R=N[c+16>>2];S=N[c+8>>2];T=N[c+4>>2];B=N[c>>2];i=0;o=Q(34028234663852886e22);j=-1;while(1){x=l+P(i,36)|0;u=N[x+28>>2];t=N[x+20>>2];s=N[x+24>>2];u=Q(Q(Q(Q(w*u)+Q(Q(O*t)+Q(s*A)))*E)+Q(Q(Q(Q(S*u)+Q(Q(B*t)+Q(s*T)))*I)+Q(Q(Q(C*u)+Q(Q(R*t)+Q(s*D)))*F)));x=u>2]+P(j,36)|0;W=J[v+4>>2];c:{if((W|0)<=0){j=d;break c}x=0;while(1){j=e;e=x;x=e+1|0;M=(W|0)==(x|0);l=J[b+16>>2];k=J[v+12>>2];i=l+(J[k+((M?0:x)<<2)>>2]<<4)|0;B=N[i+8>>2];G=N[i>>2];U=N[i+4>>2];e=l+(J[k+(e<<2)>>2]<<4)|0;o=N[e+8>>2];u=N[e>>2];t=N[e+4>>2];aa=N[c+56>>2];ba=N[c+48>>2];ca=N[c+52>>2];C=N[c+40>>2];D=N[c+32>>2];E=N[c+36>>2];s=N[v+28>>2];F=N[c+8>>2];w=N[v+20>>2];I=N[c>>2];A=N[v+24>>2];O=N[c+4>>2];R=N[c+24>>2];S=N[c+16>>2];T=N[c+20>>2];J[n+28>>2]=0;B=Q(o-B);G=Q(u-G);U=Q(t-U);X=Q(Q(F*B)+Q(Q(I*G)+Q(O*U)));Y=Q(Q(R*s)+Q(Q(S*w)+Q(T*A)));Z=Q(Q(F*s)+Q(Q(I*w)+Q(O*A)));_=Q(Q(R*B)+Q(Q(S*G)+Q(U*T)));$=Q(Q(X*Y)-Q(Z*_));N[n+24>>2]=-$;B=Q(Q(C*B)+Q(Q(D*G)+Q(U*E)));s=Q(Q(C*s)+Q(Q(D*w)+Q(E*A)));G=Q(Q(B*Z)-Q(s*X));N[n+20>>2]=-G;B=Q(-Q(Q(_*s)-Q(Y*B)));N[n+16>>2]=B;y=0;e=d;V=J[d+4>>2];if((V|0)>=2){d=(J[e+12>>2]+(V<<4)|0)-16|0;s=N[d+8>>2];w=N[d>>2];A=N[d+4>>2];F=Q(-Q(Q(Q(Q(ba+Q(Q(o*F)+Q(Q(u*I)+Q(t*O))))*B)-Q(Q(ca+Q(Q(o*R)+Q(Q(u*S)+Q(t*T))))*G))-Q(Q(aa+Q(Q(o*C)+Q(Q(u*D)+Q(t*E))))*$)));o=Q(Q(Q(N[n+24>>2]*s)+Q(Q(N[n+16>>2]*w)+Q(A*N[n+20>>2])))+F);while(1){d=J[e+12>>2]+(y<<4)|0;u=N[d+8>>2];D=N[d>>2];t=N[d+4>>2];C=Q(Q(Q(N[n+24>>2]*u)+Q(Q(N[n+16>>2]*D)+Q(t*N[n+20>>2])))+F);E=N[d+12>>2];d:{e:{f:{if(o>2];g:{if((d|0)!=J[j+8>>2]){break g}r=d?d<<1:1;if((r|0)<=(d|0)){break g}h:{if(!r){k=0;break h}J[8456]=J[8456]+1;k=ua[J[8258]](r<<4,16)|0;d=J[j+4>>2]}i:{if((d|0)<=0){break i}i=0;if((d|0)!=1){L=d&-2;l=0;while(1){p=i<<4;q=p+k|0;m=p+J[j+12>>2]|0;z=J[m+4>>2];J[q>>2]=J[m>>2];J[q+4>>2]=z;z=J[m+12>>2];J[q+8>>2]=J[m+8>>2];J[q+12>>2]=z;m=p|16;p=m+k|0;m=m+J[j+12>>2]|0;q=J[m+4>>2];J[p>>2]=J[m>>2];J[p+4>>2]=q;q=J[m+12>>2];J[p+8>>2]=J[m+8>>2];J[p+12>>2]=q;i=i+2|0;l=l+2|0;if((L|0)!=(l|0)){continue}break}}if(!(d&1)){break i}d=i<<4;i=d+k|0;d=d+J[j+12>>2]|0;l=J[d+4>>2];J[i>>2]=J[d>>2];J[i+4>>2]=l;l=J[d+12>>2];J[i+8>>2]=J[d+8>>2];J[i+12>>2]=l}d=J[j+12>>2];if(!(d?!d|!K[j+16|0]:1)){J[8457]=J[8457]+1;ua[J[8259]](d)}J[j+12>>2]=k;H[j+16|0]=1;J[j+8>>2]=r;d=J[j+4>>2]}i=J[j+12>>2]+(d<<4)|0;break f}o=Q(o/Q(o-C));E=Q(Q(u-s)*o);I=Q(Q(t-A)*o);w=Q(Q(Q(D-w)*o)+w);d=J[j+4>>2];j:{if((d|0)!=J[j+8>>2]){break j}r=d?d<<1:1;if((r|0)<=(d|0)){break j}k:{if(!r){k=0;break k}J[8456]=J[8456]+1;k=ua[J[8258]](r<<4,16)|0;d=J[j+4>>2]}l:{if((d|0)<=0){break l}i=0;if((d|0)!=1){L=d&-2;l=0;while(1){p=i<<4;q=p+k|0;m=p+J[j+12>>2]|0;z=J[m+4>>2];J[q>>2]=J[m>>2];J[q+4>>2]=z;z=J[m+12>>2];J[q+8>>2]=J[m+8>>2];J[q+12>>2]=z;m=p|16;p=m+k|0;m=m+J[j+12>>2]|0;q=J[m+4>>2];J[p>>2]=J[m>>2];J[p+4>>2]=q;q=J[m+12>>2];J[p+8>>2]=J[m+8>>2];J[p+12>>2]=q;i=i+2|0;l=l+2|0;if((L|0)!=(l|0)){continue}break}}if(!(d&1)){break l}d=i<<4;i=d+k|0;d=d+J[j+12>>2]|0;l=J[d+4>>2];J[i>>2]=J[d>>2];J[i+4>>2]=l;l=J[d+12>>2];J[i+8>>2]=J[d+8>>2];J[i+12>>2]=l}d=J[j+12>>2];if(!(d?!d|!K[j+16|0]:1)){J[8457]=J[8457]+1;ua[J[8259]](d)}J[j+12>>2]=k;H[j+16|0]=1;J[j+8>>2]=r;d=J[j+4>>2]}o=Q(E+s);i=J[j+12>>2]+(d<<4)|0;N[i>>2]=w;E=Q(0);s=Q(I+A);break e}if(!(C>2];m:{if((d|0)!=J[j+8>>2]){break m}r=d?d<<1:1;if((r|0)<=(d|0)){break m}n:{if(!r){k=0;break n}J[8456]=J[8456]+1;k=ua[J[8258]](r<<4,16)|0;d=J[j+4>>2]}o:{if((d|0)<=0){break o}i=0;if((d|0)!=1){L=d&-2;l=0;while(1){p=i<<4;q=p+k|0;m=p+J[j+12>>2]|0;z=J[m+4>>2];J[q>>2]=J[m>>2];J[q+4>>2]=z;z=J[m+12>>2];J[q+8>>2]=J[m+8>>2];J[q+12>>2]=z;m=p|16;p=m+k|0;m=m+J[j+12>>2]|0;q=J[m+4>>2];J[p>>2]=J[m>>2];J[p+4>>2]=q;q=J[m+12>>2];J[p+8>>2]=J[m+8>>2];J[p+12>>2]=q;i=i+2|0;l=l+2|0;if((L|0)!=(l|0)){continue}break}}if(!(d&1)){break o}d=i<<4;i=d+k|0;d=d+J[j+12>>2]|0;l=J[d+4>>2];J[i>>2]=J[d>>2];J[i+4>>2]=l;l=J[d+12>>2];J[i+8>>2]=J[d+8>>2];J[i+12>>2]=l}d=J[j+12>>2];if(!(d?!d|!K[j+16|0]:1)){J[8457]=J[8457]+1;ua[J[8259]](d)}J[j+12>>2]=k;H[j+16|0]=1;J[j+8>>2]=r;d=J[j+4>>2]}d=J[j+12>>2]+(d<<4)|0;J[d+12>>2]=0;N[d+8>>2]=s;N[d+4>>2]=A;N[d>>2]=o;d=J[j+4>>2]+1|0;J[j+4>>2]=d;p:{if(J[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}J[8456]=J[8456]+1;k=ua[J[8258]](r<<4,16)|0;d=J[j+4>>2]}r:{if((d|0)<=0){break r}i=0;if((d|0)!=1){L=d&-2;l=0;while(1){p=i<<4;q=p+k|0;m=p+J[j+12>>2]|0;z=J[m+4>>2];J[q>>2]=J[m>>2];J[q+4>>2]=z;z=J[m+12>>2];J[q+8>>2]=J[m+8>>2];J[q+12>>2]=z;m=p|16;p=m+k|0;m=m+J[j+12>>2]|0;q=J[m+4>>2];J[p>>2]=J[m>>2];J[p+4>>2]=q;q=J[m+12>>2];J[p+8>>2]=J[m+8>>2];J[p+12>>2]=q;i=i+2|0;l=l+2|0;if((L|0)!=(l|0)){continue}break}}if(!(d&1)){break r}d=i<<4;i=d+k|0;d=d+J[j+12>>2]|0;l=J[d+4>>2];J[i>>2]=J[d>>2];J[i+4>>2]=l;l=J[d+12>>2];J[i+8>>2]=J[d+8>>2];J[i+12>>2]=l}d=J[j+12>>2];if(!(d?!d|!K[j+16|0]:1)){J[8457]=J[8457]+1;ua[J[8259]](d)}J[j+12>>2]=k;H[j+16|0]=1;J[j+8>>2]=r;d=J[j+4>>2]}i=J[j+12>>2]+(d<<4)|0}N[i>>2]=D;o=u;s=t}N[i+12>>2]=E;N[i+8>>2]=o;N[i+4>>2]=s;J[j+4>>2]=J[j+4>>2]+1}o=C;s=u;A=t;w=D;y=y+1|0;if((V|0)!=(y|0)){continue}break}}d=J[e+4>>2];s:{if((d|0)>=0){break s}if(J[e+8>>2]<0){i=J[e+12>>2];if(!(i?!i|!K[e+16|0]:1)){J[8457]=J[8457]+1;ua[J[8259]](i)}H[e+16|0]=1;J[e+8>>2]=0;J[e+12>>2]=0}k=0;i=d;y=0-d&3;if(y){while(1){r=J[n+4>>2];l=J[e+12>>2]+(i<<4)|0;J[l>>2]=J[n>>2];J[l+4>>2]=r;r=J[n+12>>2];J[l+8>>2]=J[n+8>>2];J[l+12>>2]=r;i=i+1|0;k=k+1|0;if((y|0)!=(k|0)){continue}break}}if(d>>>0>4294967292){break s}while(1){l=J[n+4>>2];d=i<<4;k=d+J[e+12>>2]|0;J[k>>2]=J[n>>2];J[k+4>>2]=l;l=J[n+12>>2];J[k+8>>2]=J[n+8>>2];J[k+12>>2]=l;l=J[n+12>>2];k=d+J[e+12>>2]|0;J[k+24>>2]=J[n+8>>2];J[k+28>>2]=l;l=J[n+4>>2];J[k+16>>2]=J[n>>2];J[k+20>>2]=l;l=J[n+12>>2];k=d+J[e+12>>2]|0;J[k+40>>2]=J[n+8>>2];J[k+44>>2]=l;l=J[n+4>>2];J[k+32>>2]=J[n>>2];J[k+36>>2]=l;k=J[n+12>>2];d=d+J[e+12>>2]|0;J[d+56>>2]=J[n+8>>2];J[d+60>>2]=k;k=J[n+4>>2];J[d+48>>2]=J[n>>2];J[d+52>>2]=k;i=i+4|0;if(i){continue}break}}J[e+4>>2]=0;d=j;if(!M){continue}break}}k=J[j+4>>2];if((k|0)<=0){break b}o=N[v+28>>2];u=N[v+20>>2];t=N[v+24>>2];s=Q(Q(N[c+40>>2]*o)+Q(Q(N[c+32>>2]*u)+Q(t*N[c+36>>2])));w=Q(Q(N[c+8>>2]*o)+Q(Q(N[c>>2]*u)+Q(t*N[c+4>>2])));o=Q(Q(N[c+24>>2]*o)+Q(Q(N[c+16>>2]*u)+Q(t*N[c+20>>2])));u=Q(N[v+32>>2]-Q(Q(s*N[c+56>>2])+Q(Q(w*N[c+48>>2])+Q(o*N[c+52>>2]))));e=0;while(1){b=J[j+12>>2]+(e<<4)|0;t=Q(u+Q(Q(s*N[b+8>>2])+Q(Q(w*N[b>>2])+Q(o*N[b+4>>2]))));t=f>=t?f:t;if(t<=g){c=J[b+12>>2];J[n+24>>2]=J[b+8>>2];J[n+28>>2]=c;c=J[b+4>>2];J[n+16>>2]=J[b>>2];J[n+20>>2]=c;ua[J[J[h>>2]+16>>2]](h,a,n+16|0,t);k=J[j+4>>2]}e=e+1|0;if((k|0)>(e|0)){continue}break}}sa=n+32|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=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=sa-144|0;sa=e;a:{if(!(ua[J[J[a>>2]+20>>2]](a)|0)){break a}f=ua[J[J[a>>2]+20>>2]](a)|0;if(!(ua[J[J[f>>2]+56>>2]](f)&32768)){break a}f=ua[J[J[a>>2]+20>>2]](a)|0;ua[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 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=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)));ua[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(ua[J[J[c>>2]+48>>2]](c));h=Q(ua[J[J[c>>2]+48>>2]](c));j=Q(Q(ua[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=ua[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;ua[J[J[a>>2]+80>>2]](a,e+128|0,e,b,d);break b}g=Q(ua[J[J[c>>2]+48>>2]](c));a=ua[J[J[a>>2]+20>>2]](a)|0;ua[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=ua[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)));ua[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=ua[J[J[a>>2]+20>>2]](a)|0;ua[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=ua[J[J[a>>2]+20>>2]](a)|0;ua[J[J[a>>2]+92>>2]](a,h,g,f,b,d);break b}f=J[c+60>>2];g=Q(ua[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(ua[J[J[c>>2]+48>>2]](c));j=Q(ua[J[J[c>>2]+48>>2]](c));R=e,S=Q(Q(ua[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=ua[J[J[a>>2]+20>>2]](a)|0;ua[J[J[a>>2]+88>>2]](a,g,h,f,b,d);break b}g=N[c+72>>2];a=ua[J[J[a>>2]+20>>2]](a)|0;ua[J[J[a>>2]+96>>2]](a,c+56|0,g,b,d);break b}l:{if((f|0)>6){break l}B=J[c+60>>2];if(B){if(J[B+28>>2]<=0){break l}while(1){i=J[B+36>>2];F=P(G,36);f=i+F|0;H=J[f+4>>2];m:{if((H|0)<=0){g=Q(0);h=Q(0);j=Q(0);break m}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=ua[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)));ua[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=ua[J[J[a>>2]+20>>2]](a)|0;if(ua[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=ua[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)));ua[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 l}if((ua[J[J[c>>2]+100>>2]](c)|0)<=0){break l}f=0;while(1){ua[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=ua[J[J[a>>2]+20>>2]](a)|0;ua[J[J[k>>2]+16>>2]](k,e+112|0,e+96|0,d);f=f+1|0;if((ua[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=ua[J[J[a>>2]+20>>2]](a)|0,J[R+8>>2]=T;J[e+4>>2]=14868;J[e>>2]=14844;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;ua[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=ua[J[J[a>>2]+20>>2]](a)|0,J[R+8>>2]=T;J[e+4>>2]=14868;J[e>>2]=14844;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];ua[J[J[a>>2]+8>>2]](a,e+4|0,e+112|0,e+128|0)}sa=e+144|0}function ke(a,b,c,d,e){var f=Q(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=0,r=Q(0),s=0,t=0,u=Q(0),v=Q(0),w=Q(0),x=Q(0),y=Q(0);k=sa-48|0;sa=k;H[a+60|0]=c;a:{if(c){f=N[d>>2];m=N[d+4>>2];n=N[d+8>>2];J[a+16>>2]=0;p=Q(n+Q(-1));N[a+12>>2]=p;m=Q(m+Q(-1));N[a+8>>2]=m;n=Q(f+Q(-1));N[a+4>>2]=n;o=N[e>>2];r=N[e+4>>2];f=N[e+8>>2];H[a+60|0]=1;J[a+48>>2]=0;J[a+32>>2]=0;u=Q(f+Q(1));N[a+28>>2]=u;v=Q(r+Q(1));N[a+24>>2]=v;r=Q(o+Q(1));N[a+20>>2]=r;w=Q(Q(65533)/Q(u-p));N[a+44>>2]=w;o=Q(Q(65533)/Q(v-m));N[a+40>>2]=o;x=Q(Q(65533)/Q(r-n));N[a+36>>2]=x;f=Q(Q(p-p)*w);b:{if(f=Q(0)){c=~~f>>>0;break b}c=0}y=Q((c&65534)>>>0);f=Q(Q(m-m)*o);c:{if(f=Q(0)){c=~~f>>>0;break c}c=0}o=Q(m+Q(Q((c&65534)>>>0)/o));f=Q(Q(n-n)*x);d:{if(f=Q(0)){c=~~f>>>0;break d}c=0}f=Q(Q(n+Q(Q((c&65534)>>>0)/x))+Q(-1));if(f>2]=f;n=f}f=Q(o+Q(-1));if(f>2]=f;m=f}f=Q(Q(p+Q(y/w))+Q(-1));if(f>2]=f;p=f}f=Q(u-p);w=Q(Q(65533)/f);f=Q(Q(f*w)+Q(1));e:{if(f=Q(0)){c=~~f>>>0;break e}c=0}y=Q((c|1)>>>0);f=Q(v-m);o=Q(Q(65533)/f);f=Q(Q(f*o)+Q(1));f:{if(f=Q(0)){c=~~f>>>0;break f}c=0}o=Q(m+Q(Q((c|1)>>>0)/o));f=Q(r-n);x=Q(Q(65533)/f);f=Q(Q(f*x)+Q(1));g:{if(f=Q(0)){c=~~f>>>0;break g}c=0}f=Q(Q(n+Q(Q((c|1)>>>0)/x))+Q(1));if(f>r){N[a+20>>2]=f;r=f}f=Q(o+Q(1));if(f>v){N[a+24>>2]=f;v=f}f=Q(Q(p+Q(y/w))+Q(1));if(f>u){N[a+28>>2]=f;u=f}J[a+48>>2]=0;N[a+44>>2]=Q(65533)/Q(u-p);N[a+40>>2]=Q(65533)/Q(v-m);N[a+36>>2]=Q(65533)/Q(r-n);J[k+32>>2]=a;J[k+28>>2]=a+104;J[k+24>>2]=20556;ua[J[J[b>>2]+8>>2]](b,k+24|0,a+4|0,a+20|0);c=J[a+128>>2];s=J[a+108>>2];j=s<<1;h:{if((c|0)>=(j|0)){break h}if((j|0)>J[a+132>>2]){i:{if(!s){d=0;e=c;break i}J[8456]=J[8456]+1;d=ua[J[8258]](s<<5,16)|0;e=J[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+J[a+136>>2]|0;g=J[q+4>>2];J[h>>2]=J[q>>2];J[h+4>>2]=g;g=J[q+12>>2];J[h+8>>2]=J[q+8>>2];J[h+12>>2]=g;g=i|16;h=g+d|0;i=g+J[a+136>>2]|0;g=J[i+4>>2];J[h>>2]=J[i>>2];J[h+4>>2]=g;g=J[i+12>>2];J[h+8>>2]=J[i+8>>2];J[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+J[a+136>>2]|0;b=J[g+4>>2];J[e>>2]=J[g>>2];J[e+4>>2]=b;b=J[g+12>>2];J[e+8>>2]=J[g+8>>2];J[e+12>>2]=b}b=J[a+136>>2];if(!(b?!b|!K[a+140|0]:1)){J[8457]=J[8457]+1;ua[J[8259]](b)}J[a+136>>2]=d;H[a+140|0]=1;J[a+132>>2]=j}e=j+(c^-1)|0;d=j-c&3;if(d){b=0;while(1){g=J[a+136>>2]+(c<<4)|0;J[g>>2]=0;J[g+4>>2]=0;J[g+8>>2]=0;J[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+J[a+136>>2]|0;J[b>>2]=0;J[b+4>>2]=0;J[b+8>>2]=0;J[b+12>>2]=0;b=d+J[a+136>>2]|0;J[b+24>>2]=0;J[b+28>>2]=0;J[b+16>>2]=0;J[b+20>>2]=0;b=d+J[a+136>>2]|0;J[b+40>>2]=0;J[b+44>>2]=0;J[b+32>>2]=0;J[b+36>>2]=0;b=d+J[a+136>>2]|0;J[b+56>>2]=0;J[b+60>>2]=0;J[b+48>>2]=0;J[b+52>>2]=0;c=c+4|0;if((j|0)!=(c|0)){continue}break}}J[a+128>>2]=j;break a}J[k+40>>2]=20688;J[k+44>>2]=a- -64;J[k+32>>2]=-581039253;J[k+36>>2]=0;J[k+24>>2]=-581039253;J[k+28>>2]=-581039253;J[k+16>>2]=1566444395;J[k+20>>2]=0;J[k+8>>2]=1566444395;J[k+12>>2]=1566444395;ua[J[J[b>>2]+8>>2]](b,k+40|0,k+24|0,k+8|0);b=J[a+88>>2];s=J[a+68>>2];l=s<<1;k:{if((b|0)>=(l|0)){break k}if((l|0)>J[a+92>>2]){if(s){J[8456]=J[8456]+1;q=ua[J[8258]](s<<7,16)|0;c=J[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+J[a+96>>2]|0;e=J[j+4>>2];J[h>>2]=J[j>>2];J[h+4>>2]=e;e=J[j+60>>2];J[h+56>>2]=J[j+56>>2];J[h+60>>2]=e;e=J[j+52>>2];J[h+48>>2]=J[j+48>>2];J[h+52>>2]=e;e=J[j+44>>2];J[h+40>>2]=J[j+40>>2];J[h+44>>2]=e;e=J[j+36>>2];J[h+32>>2]=J[j+32>>2];J[h+36>>2]=e;e=J[j+28>>2];J[h+24>>2]=J[j+24>>2];J[h+28>>2]=e;e=J[j+20>>2];J[h+16>>2]=J[j+16>>2];J[h+20>>2]=e;e=J[j+12>>2];J[h+8>>2]=J[j+8>>2];J[h+12>>2]=e;e=i|64;h=e+q|0;i=e+J[a+96>>2]|0;e=J[i+4>>2];J[h>>2]=J[i>>2];J[h+4>>2]=e;e=J[i+12>>2];J[h+8>>2]=J[i+8>>2];J[h+12>>2]=e;e=J[i+20>>2];J[h+16>>2]=J[i+16>>2];J[h+20>>2]=e;e=J[i+28>>2];J[h+24>>2]=J[i+24>>2];J[h+28>>2]=e;e=J[i+36>>2];J[h+32>>2]=J[i+32>>2];J[h+36>>2]=e;e=J[i+44>>2];J[h+40>>2]=J[i+40>>2];J[h+44>>2]=e;e=J[i+52>>2];J[h+48>>2]=J[i+48>>2];J[h+52>>2]=e;e=J[i+60>>2];J[h+56>>2]=J[i+56>>2];J[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+J[a+96>>2]|0;c=J[e+4>>2];J[d>>2]=J[e>>2];J[d+4>>2]=c;c=J[e+60>>2];J[d+56>>2]=J[e+56>>2];J[d+60>>2]=c;c=J[e+52>>2];J[d+48>>2]=J[e+48>>2];J[d+52>>2]=c;c=J[e+44>>2];J[d+40>>2]=J[e+40>>2];J[d+44>>2]=c;c=J[e+36>>2];J[d+32>>2]=J[e+32>>2];J[d+36>>2]=c;c=J[e+28>>2];J[d+24>>2]=J[e+24>>2];J[d+28>>2]=c;c=J[e+20>>2];J[d+16>>2]=J[e+16>>2];J[d+20>>2]=c;c=J[e+12>>2];J[d+8>>2]=J[e+8>>2];J[d+12>>2]=c}c=J[a+96>>2];if(!(c?!c|!K[a+100|0]:1)){J[8457]=J[8457]+1;ua[J[8259]](c)}J[a+96>>2]=q;H[a+100|0]=1;J[a+92>>2]=l}d=l+(b^-1)|0;c=l-b&3;if(c){e=0;while(1){g=J[a+96>>2]+(b<<6)|0;J[g>>2]=0;J[g+4>>2]=0;J[g+56>>2]=0;J[g+60>>2]=0;J[g+48>>2]=0;J[g+52>>2]=0;J[g+40>>2]=0;J[g+44>>2]=0;J[g+32>>2]=0;J[g+36>>2]=0;J[g+24>>2]=0;J[g+28>>2]=0;J[g+16>>2]=0;J[g+20>>2]=0;J[g+8>>2]=0;J[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+J[a+96>>2]|0;J[c>>2]=0;J[c+4>>2]=0;J[c+56>>2]=0;J[c+60>>2]=0;J[c+48>>2]=0;J[c+52>>2]=0;J[c+40>>2]=0;J[c+44>>2]=0;J[c+32>>2]=0;J[c+36>>2]=0;J[c+24>>2]=0;J[c+28>>2]=0;J[c+16>>2]=0;J[c+20>>2]=0;J[c+8>>2]=0;J[c+12>>2]=0;c=d+J[a+96>>2]|0;J[c+120>>2]=0;J[c+124>>2]=0;J[c+112>>2]=0;J[c+116>>2]=0;J[c+104>>2]=0;J[c+108>>2]=0;J[c+96>>2]=0;J[c+100>>2]=0;J[c+88>>2]=0;J[c+92>>2]=0;J[c+80>>2]=0;J[c+84>>2]=0;J[c+72>>2]=0;J[c+76>>2]=0;c=c- -64|0;J[c>>2]=0;J[c+4>>2]=0;c=d+J[a+96>>2]|0;J[c+184>>2]=0;J[c+188>>2]=0;J[c+176>>2]=0;J[c+180>>2]=0;J[c+168>>2]=0;J[c+172>>2]=0;J[c+160>>2]=0;J[c+164>>2]=0;J[c+152>>2]=0;J[c+156>>2]=0;J[c+144>>2]=0;J[c+148>>2]=0;J[c+136>>2]=0;J[c+140>>2]=0;J[c+128>>2]=0;J[c+132>>2]=0;c=d+J[a+96>>2]|0;J[c+248>>2]=0;J[c+252>>2]=0;J[c+240>>2]=0;J[c+244>>2]=0;J[c+232>>2]=0;J[c+236>>2]=0;J[c+224>>2]=0;J[c+228>>2]=0;J[c+216>>2]=0;J[c+220>>2]=0;J[c+208>>2]=0;J[c+212>>2]=0;J[c+200>>2]=0;J[c+204>>2]=0;J[c+192>>2]=0;J[c+196>>2]=0;b=b+4|0;if((l|0)!=(b|0)){continue}break}}J[a+88>>2]=l}J[a+56>>2]=0;Hc(a,0,s);if(!(J[a+152>>2]|!K[a+60|0])){if(J[a+156>>2]){b=1}else{J[8456]=J[8456]+1;t=ua[J[8258]](32,16)|0;h=J[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+J[a+160>>2]|0;b=J[i+4>>2];J[c>>2]=J[i>>2];J[c+4>>2]=b;b=J[i+28>>2];J[c+24>>2]=J[i+24>>2];J[c+28>>2]=b;b=J[i+20>>2];J[c+16>>2]=J[i+16>>2];J[c+20>>2]=b;b=J[i+12>>2];J[c+8>>2]=J[i+8>>2];J[c+12>>2]=b;b=g|32;c=b+t|0;g=b+J[a+160>>2]|0;b=J[g+4>>2];J[c>>2]=J[g>>2];J[c+4>>2]=b;b=J[g+12>>2];J[c+8>>2]=J[g+8>>2];J[c+12>>2]=b;b=J[g+20>>2];J[c+16>>2]=J[g+16>>2];J[c+20>>2]=b;b=J[g+28>>2];J[c+24>>2]=J[g+24>>2];J[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+J[a+160>>2]|0;b=J[d+4>>2];J[c>>2]=J[d>>2];J[c+4>>2]=b;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;b=J[d+12>>2];J[c+8>>2]=J[d+8>>2];J[c+12>>2]=b}b=J[a+160>>2];if(!(b?!b|!K[a+164|0]:1)){J[8457]=J[8457]+1;ua[J[8259]](b)}J[a+160>>2]=t;H[a+164|0]=1;J[a+156>>2]=1;b=J[a+152>>2]+1|0}J[a+152>>2]=b;d=J[a+160>>2];c=J[a+136>>2];I[d>>1]=L[c>>1];I[d+2>>1]=L[c+2>>1];I[d+4>>1]=L[c+4>>1];I[d+6>>1]=L[c+6>>1];I[d+8>>1]=L[c+8>>1];b=L[c+10>>1];J[d+12>>2]=0;I[d+10>>1]=b;b=J[c+12>>2];J[d+16>>2]=(b|0)>=0?1:0-b|0}J[a+168>>2]=J[a+152>>2];b=J[a+116>>2];if(!(b?!b|!K[a+120|0]:1)){J[8457]=J[8457]+1;ua[J[8259]](b)}J[a+116>>2]=0;H[a+120|0]=1;J[a+108>>2]=0;J[a+112>>2]=0;b=J[a+76>>2];if(!(b?!b|!K[a+80|0]:1)){J[8457]=J[8457]+1;ua[J[8259]](b)}J[a+76>>2]=0;H[a+80|0]=1;J[a+68>>2]=0;J[a+72>>2]=0;sa=k+48|0}function si(a){a=a|0;var b=0,c=Q(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=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=Q(0),G=Q(0),H=Q(0),I=Q(0),L=Q(0),M=Q(0),O=Q(0),S=Q(0),T=0,U=0,V=0,W=Q(0),X=Q(0),Z=Q(0),_=0;r=sa-48|0;sa=r;if(K[a+738|0]){J[a+744>>2]=0;J[a+36>>2]=0;if(!K[a+736|0]){e=N[a+672>>2];b=J[a+32>>2];g=N[a+664>>2];h=N[a+668>>2];p=Q(Q(Q(e*N[b+44>>2])+Q(Q(g*N[b+36>>2])+Q(h*N[b+40>>2])))+N[b+60>>2]);f=N[a+608>>2];d=J[a+28>>2];c=N[a+600>>2];j=N[a+604>>2];m=Q(Q(Q(f*N[d+44>>2])+Q(Q(c*N[d+36>>2])+Q(j*N[d+40>>2])))+N[d+60>>2]);i=Q(p-m);t=Q(Q(Q(e*N[b+12>>2])+Q(Q(g*N[b+4>>2])+Q(h*N[b+8>>2])))+N[b+52>>2]);u=Q(Q(Q(f*N[d+12>>2])+Q(Q(c*N[d+4>>2])+Q(j*N[d+8>>2])))+N[d+52>>2]);k=Q(t-u);C=Q(Q(Q(e*N[b+28>>2])+Q(Q(g*N[b+20>>2])+Q(h*N[b+24>>2])))+N[b+56>>2]);D=Q(Q(Q(f*N[d+28>>2])+Q(Q(c*N[d+20>>2])+Q(j*N[d+24>>2])))+N[d+56>>2]);g=Q(C-D);e=Q(Q(i*i)+Q(Q(k*k)+Q(g*g)));a:{if(e>Q(1.1920928955078125e-7)){h=Q(Q(1)/Q(Y(e)));e=Q(i*h);N[r+8>>2]=e;g=Q(g*h);N[r+4>>2]=g;h=Q(k*h);N[r>>2]=h;break a}J[r+8>>2]=0;J[r>>2]=1065353216;J[r+4>>2]=0;h=Q(1);g=Q(0);e=Q(0)}J[r+12>>2]=0;b:{if(Q(R(e))>Q(.7071067690849304)){f=Q(Q(g*g)+Q(e*e));i=Q(Q(1)/Q(Y(f)));f=Q(f*i);c=Q(i*Q(-e));j=Q(c*h);e=Q(g*i);g=Q(e*Q(-h));i=Q(0);break b}c=Q(Q(h*h)+Q(g*g));f=Q(Q(1)/Q(Y(c)));j=Q(c*f);i=Q(f*Q(-g));g=Q(e*i);c=Q(h*f);f=Q(c*Q(-e));e=Q(0)}N[r+40>>2]=j;N[r+36>>2]=g;N[r+20>>2]=c;N[r+32>>2]=f;N[r+24>>2]=e;N[r+16>>2]=i;while(1){E=N[b+404>>2];M=N[d+404>>2];z=N[d+36>>2];A=N[d+4>>2];B=N[d+20>>2];l=N[d+40>>2];v=N[d+8>>2];s=N[d+24>>2];n=N[d+44>>2];q=N[d+12>>2];w=N[d+56>>2];x=N[d+28>>2];y=N[d+60>>2];G=N[d+52>>2];H=N[b+36>>2];I=N[b+4>>2];O=N[b+20>>2];k=N[b+40>>2];S=N[b+8>>2];Z=N[b+24>>2];e=N[b+44>>2];h=N[b+12>>2];g=N[b+56>>2];j=N[b+28>>2];f=N[b+52>>2];c=N[b+60>>2];U=(T<<4)+r|0;_=J[U+4>>2];o=P(T,84)+a|0;V=o+48|0;J[V>>2]=J[U>>2];J[V+4>>2]=_;V=J[U+12>>2];J[o+56>>2]=J[U+8>>2];J[o+60>>2]=V;J[o+92>>2]=0;J[o+76>>2]=0;F=e;i=Q(C-g);e=N[o+48>>2];W=Q(t-f);g=N[o+52>>2];f=Q(Q(i*e)-Q(W*g));L=h;X=Q(p-c);h=N[o+56>>2];c=Q(Q(X*g)-Q(i*h));i=j;j=Q(Q(W*h)-Q(X*e));i=Q(Q(F*f)+Q(Q(L*c)+Q(i*j)));N[o+88>>2]=i;k=Q(Q(k*f)+Q(Q(S*c)+Q(Z*j)));N[o+84>>2]=k;f=Q(Q(H*f)+Q(Q(I*c)+Q(O*j)));N[o+80>>2]=f;F=n;j=Q(u-G);n=Q(D-w);c=Q(Q(g*j)-Q(e*n));L=Q(n*h);n=Q(m-y);g=Q(L-Q(g*n));e=Q(Q(n*e)-Q(h*j));h=Q(Q(F*c)+Q(Q(q*g)+Q(x*e)));N[o+72>>2]=h;j=Q(Q(l*c)+Q(Q(v*g)+Q(s*e)));N[o+68>>2]=j;e=Q(Q(z*c)+Q(Q(A*g)+Q(B*e)));N[o- -64>>2]=e;g=N[d+464>>2];c=N[d+460>>2];z=N[d+456>>2];J[o+108>>2]=0;z=Q(e*z);N[o+96>>2]=z;c=Q(j*c);N[o+100>>2]=c;g=Q(h*g);N[o+104>>2]=g;A=N[b+464>>2];B=N[b+460>>2];l=N[b+456>>2];J[o+124>>2]=0;l=Q(f*l);N[o+112>>2]=l;B=Q(k*B);N[o+116>>2]=B;A=Q(i*A);N[o+120>>2]=A;N[o+128>>2]=Q(E+Q(M+Q(Q(g*h)+Q(Q(z*e)+Q(j*c)))))+Q(Q(A*i)+Q(Q(l*f)+Q(k*B)));T=T+1|0;if((T|0)!=3){continue}break}}e=N[a+576>>2];g=N[a+560>>2];h=N[a+592>>2];c:{if(Q(R(h))>Q(.7071067690849304)){f=Q(Q(e*e)+Q(h*h));i=Q(Q(1)/Q(Y(f)));c=Q(i*Q(-h));j=Q(g*c);k=Q(e*i);p=Q(k*Q(-g));m=Q(0);f=Q(f*i);break c}c=Q(Q(g*g)+Q(e*e));f=Q(Q(1)/Q(Y(c)));j=Q(c*f);m=Q(f*Q(-e));p=Q(h*m);k=Q(0);c=Q(g*f);f=Q(c*Q(-h))}b=J[a+32>>2];q=N[b+36>>2];w=N[b+20>>2];n=N[b+40>>2];x=N[b+8>>2];y=N[b+24>>2];s=N[b+44>>2];G=N[b+12>>2];H=N[b+28>>2];d=J[a+28>>2];t=N[d+44>>2];u=N[d+36>>2];C=N[d+40>>2];D=N[d+12>>2];E=N[d+8>>2];M=N[d+28>>2];z=N[d+20>>2];A=N[d+24>>2];I=N[b+4>>2];B=N[d+4>>2];J[a+308>>2]=0;J[a+312>>2]=0;J[a+300>>2]=0;J[a+304>>2]=0;J[a+344>>2]=0;J[a+328>>2]=0;i=Q(Q(t*k)+Q(Q(u*m)+Q(c*C)));l=Q(Q(D*k)+Q(Q(B*m)+Q(c*E)));c=Q(Q(M*k)+Q(Q(z*m)+Q(c*A)));k=Q(Q(t*i)+Q(Q(D*l)+Q(M*c)));N[a+324>>2]=k;m=Q(Q(C*i)+Q(Q(E*l)+Q(A*c)));N[a+320>>2]=m;v=Q(Q(u*i)+Q(Q(B*l)+Q(z*c)));N[a+316>>2]=v;l=Q(-l);s=Q(Q(Q(G*l)-Q(H*c))-Q(s*i));N[a+340>>2]=s;n=Q(Q(Q(x*l)-Q(y*c))-Q(n*i));N[a+336>>2]=n;c=Q(Q(Q(I*l)-Q(w*c))-Q(q*i));N[a+332>>2]=c;i=N[d+460>>2];l=N[d+464>>2];q=N[d+456>>2];J[a+360>>2]=0;l=Q(k*l);N[a+356>>2]=l;i=Q(m*i);N[a+352>>2]=i;q=Q(v*q);N[a+348>>2]=q;w=N[b+460>>2];x=N[b+464>>2];y=N[b+456>>2];J[a+376>>2]=0;x=Q(s*x);N[a+372>>2]=x;w=Q(n*w);N[a+368>>2]=w;y=Q(c*y);N[a+364>>2]=y;N[a+380>>2]=Q(Q(l*k)+Q(Q(q*v)+Q(m*i)))+Q(Q(x*s)+Q(Q(y*c)+Q(n*w)));v=N[d+36>>2];s=N[d+20>>2];l=N[d+40>>2];n=N[d+8>>2];q=N[d+24>>2];m=N[d+44>>2];w=N[d+12>>2];x=N[d+28>>2];y=N[b+36>>2];G=N[b+20>>2];H=N[b+40>>2];I=N[b+8>>2];O=N[b+24>>2];S=N[b+44>>2];c=N[b+12>>2];Z=N[b+28>>2];W=N[d+4>>2];X=N[b+4>>2];J[a+392>>2]=0;J[a+396>>2]=0;J[a+384>>2]=0;J[a+388>>2]=0;J[a+428>>2]=0;J[a+412>>2]=0;i=Q(Q(D*j)+Q(Q(B*f)+Q(p*E)));k=Q(-i);F=Q(c*k);c=Q(Q(M*j)+Q(Q(z*f)+Q(p*A)));f=Q(Q(t*j)+Q(Q(u*f)+Q(p*C)));j=Q(Q(F-Q(Z*c))-Q(S*f));N[a+424>>2]=j;p=Q(Q(Q(I*k)-Q(O*c))-Q(H*f));N[a+420>>2]=p;k=Q(Q(Q(X*k)-Q(G*c))-Q(y*f));N[a+416>>2]=k;m=Q(Q(m*f)+Q(Q(w*i)+Q(c*x)));N[a+408>>2]=m;l=Q(Q(l*f)+Q(Q(n*i)+Q(c*q)));N[a+404>>2]=l;f=Q(Q(v*f)+Q(Q(W*i)+Q(c*s)));N[a+400>>2]=f;c=N[d+460>>2];i=N[d+464>>2];v=N[d+456>>2];J[a+444>>2]=0;i=Q(m*i);N[a+440>>2]=i;c=Q(l*c);N[a+436>>2]=c;v=Q(f*v);N[a+432>>2]=v;s=N[b+460>>2];n=N[b+464>>2];q=N[b+456>>2];J[a+460>>2]=0;n=Q(j*n);N[a+456>>2]=n;s=Q(p*s);N[a+452>>2]=s;q=Q(k*q);N[a+448>>2]=q;N[a+464>>2]=Q(Q(i*m)+Q(Q(v*f)+Q(l*c)))+Q(Q(n*j)+Q(Q(q*k)+Q(p*s)));p=N[d+36>>2];m=N[d+20>>2];k=N[d+40>>2];l=N[d+8>>2];v=N[d+24>>2];i=N[d+44>>2];s=N[d+12>>2];n=N[d+28>>2];q=N[b+36>>2];w=N[b+20>>2];x=N[b+40>>2];y=N[b+8>>2];G=N[b+24>>2];H=N[b+44>>2];f=N[b+12>>2];I=N[b+28>>2];O=N[d+4>>2];S=N[b+4>>2];J[a+476>>2]=0;J[a+480>>2]=0;J[a+468>>2]=0;J[a+472>>2]=0;J[a+512>>2]=0;J[a+496>>2]=0;c=Q(Q(D*h)+Q(Q(B*g)+Q(e*E)));j=Q(-c);F=Q(f*j);f=Q(Q(M*h)+Q(Q(z*g)+Q(e*A)));e=Q(Q(t*h)+Q(Q(u*g)+Q(e*C)));g=Q(Q(F-Q(I*f))-Q(H*e));N[a+508>>2]=g;h=Q(Q(Q(y*j)-Q(G*f))-Q(x*e));N[a+504>>2]=h;j=Q(Q(Q(S*j)-Q(w*f))-Q(q*e));N[a+500>>2]=j;i=Q(Q(i*e)+Q(Q(s*c)+Q(f*n)));N[a+492>>2]=i;k=Q(Q(k*e)+Q(Q(l*c)+Q(f*v)));N[a+488>>2]=k;e=Q(Q(p*e)+Q(Q(O*c)+Q(f*m)));N[a+484>>2]=e;f=N[d+460>>2];c=N[d+464>>2];p=N[d+456>>2];J[a+528>>2]=0;c=Q(i*c);N[a+524>>2]=c;f=Q(k*f);N[a+520>>2]=f;p=Q(e*p);N[a+516>>2]=p;m=N[b+460>>2];t=N[b+464>>2];u=N[b+456>>2];J[a+724>>2]=0;J[a+544>>2]=0;t=Q(g*t);N[a+540>>2]=t;m=Q(h*m);N[a+536>>2]=m;u=Q(j*u);N[a+532>>2]=u;N[a+548>>2]=Q(Q(c*i)+Q(Q(p*e)+Q(k*f)))+Q(Q(t*g)+Q(Q(u*j)+Q(h*m)));e=N[a+652>>2];g=N[a+620>>2];h=N[a+636>>2];i=Q(Q(N[b+44>>2]*e)+Q(Q(N[b+36>>2]*g)+Q(h*N[b+40>>2])));k=N[d+44>>2];f=N[a+584>>2];p=N[d+36>>2];c=N[a+552>>2];j=N[a+568>>2];m=N[d+40>>2];n=Q(i*Q(Q(k*f)+Q(Q(p*c)+Q(j*m))));t=Q(Q(N[b+12>>2]*e)+Q(Q(N[b+4>>2]*g)+Q(h*N[b+8>>2])));u=N[d+12>>2];C=N[d+4>>2];D=N[d+8>>2];F=Q(t*Q(Q(u*f)+Q(Q(C*c)+Q(j*D))));E=N[d+28>>2];L=Q(E*f);f=N[d+20>>2];l=Q(f*c);c=N[d+24>>2];L=Q(L+Q(l+Q(j*c)));j=Q(Q(N[b+28>>2]*e)+Q(Q(N[b+20>>2]*g)+Q(h*N[b+24>>2])));e=N[a+588>>2];g=N[a+556>>2];h=N[a+572>>2];e=Q(Ia(Q(n+Q(F+Q(L*j))),Q(Q(i*Q(Q(k*e)+Q(Q(p*g)+Q(m*h))))+Q(Q(t*Q(Q(u*e)+Q(Q(C*g)+Q(D*h))))+Q(Q(Q(E*e)+Q(Q(f*g)+Q(c*h)))*j))))*N[a+732>>2]);N[a+728>>2]=e;Id(a+688|0,e);d=a;b=J[a+28>>2];h=N[a+592>>2];f=N[a+560>>2];c=N[a+576>>2];e=Q(Q(N[b+44>>2]*h)+Q(Q(N[b+36>>2]*f)+Q(c*N[b+40>>2])));g=Q(Q(N[b+12>>2]*h)+Q(Q(N[b+4>>2]*f)+Q(c*N[b+8>>2])));h=Q(Q(N[b+28>>2]*h)+Q(Q(N[b+20>>2]*f)+Q(c*N[b+24>>2])));a=J[a+32>>2];N[d+720>>2]=Q(1)/Q(Q(Q(e*Q(Q(e*N[b+364>>2])+Q(Q(N[b+332>>2]*g)+Q(h*N[b+348>>2]))))+Q(Q(g*Q(Q(N[b+356>>2]*e)+Q(Q(g*N[b+324>>2])+Q(h*N[b+340>>2]))))+Q(h*Q(Q(N[b+360>>2]*e)+Q(Q(N[b+328>>2]*g)+Q(h*N[b+344>>2]))))))+Q(Q(e*Q(Q(e*N[a+364>>2])+Q(Q(N[a+332>>2]*g)+Q(h*N[a+348>>2]))))+Q(Q(g*Q(Q(N[a+356>>2]*e)+Q(Q(g*N[a+324>>2])+Q(h*N[a+340>>2]))))+Q(h*Q(Q(N[a+360>>2]*e)+Q(Q(N[a+328>>2]*g)+Q(h*N[a+344>>2])))))))}sa=r+48|0}function Vj(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=Q(0),j=Q(0),k=Q(0),l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;h=sa-48|0;sa=h;e=N[a+48>>2];f=N[a+32>>2];j=Q(Q(1)/N[a+124>>2]);k=N[a- -64>>2];g=Q(Q(j*N[d+8>>2])+k);g=f>g?f:g;g=e>2])+k);f=f>j?f:j;e=e>2];f=N[a+28>>2];j=Q(Q(1)/N[a+120>>2]);k=N[a+60>>2];g=Q(Q(j*N[d+4>>2])+k);g=f>g?f:g;g=e>2])+k);f=f>j?f:j;e=e>2];f=N[a+24>>2];j=Q(Q(1)/N[a+116>>2]);k=N[a+56>>2];g=Q(Q(j*N[d>>2])+k);g=f>g?f:g;g=e>2])+k);f=f>j?f:j;e=e>2]-1|0;p=J[a+72>>2]-1|0;g:{h:{switch(J[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=Q(o|0);k=Q(n|0);c=t;while(1){i:{j:{d=c;if(!(!(K[a+110|0]?q:1)|(K[a+108|0]|(c+n&1?0:K[a+109|0])))){g=Q(ua[J[J[a>>2]+68>>2]](a,d,n));k:{l:{switch(J[a+112>>2]){case 2:f=N[a+88>>2];e=N[a+92>>2];i=N[a+64>>2];J[h+12>>2]=0;e=Q(k-Q(e*Q(.5)));f=Q(Q(d|0)-Q(f*Q(.5)));g=Q(g-i);break k;case 1:f=N[a+88>>2];i=N[a+92>>2];e=N[a+60>>2];J[h+12>>2]=0;e=Q(g-e);f=Q(Q(d|0)-Q(f*Q(.5)));g=Q(k-Q(i*Q(.5)));break k;case 0:e=N[a+88>>2];i=N[a+92>>2];f=N[a+56>>2];J[h+12>>2]=0;f=Q(g-f);e=Q(Q(d|0)-Q(e*Q(.5)));g=Q(k-Q(i*Q(.5)));break k;default:break l}}e=N[h+4>>2];f=N[h>>2];g=N[h+8>>2]}N[h>>2]=f*N[a+116>>2];N[h+4>>2]=e*N[a+120>>2];N[h+8>>2]=g*N[a+124>>2];g=Q(ua[J[J[a>>2]+68>>2]](a,d,o));m:{n:{switch(J[a+112>>2]){case 2:f=N[a+88>>2];e=N[a+92>>2];i=N[a+64>>2];J[h+28>>2]=0;e=Q(j-Q(e*Q(.5)));f=Q(Q(d|0)-Q(f*Q(.5)));g=Q(g-i);break m;case 1:f=N[a+88>>2];i=N[a+92>>2];e=N[a+60>>2];J[h+28>>2]=0;e=Q(g-e);f=Q(Q(d|0)-Q(f*Q(.5)));g=Q(j-Q(i*Q(.5)));break m;case 0:e=N[a+88>>2];i=N[a+92>>2];f=N[a+56>>2];J[h+28>>2]=0;f=Q(g-f);e=Q(Q(d|0)-Q(e*Q(.5)));g=Q(j-Q(i*Q(.5)));break m;default:break n}}e=N[h+20>>2];f=N[h+16>>2];g=N[h+24>>2]}N[h+16>>2]=f*N[a+116>>2];N[h+20>>2]=e*N[a+120>>2];N[h+24>>2]=g*N[a+124>>2];c=d+1|0;g=Q(ua[J[J[a>>2]+68>>2]](a,c,n));o:{p:{switch(J[a+112>>2]){case 2:f=N[a+88>>2];e=N[a+92>>2];i=N[a+64>>2];J[h+44>>2]=0;e=Q(k-Q(e*Q(.5)));f=Q(Q(c|0)-Q(f*Q(.5)));g=Q(g-i);break o;case 1:f=N[a+88>>2];i=N[a+92>>2];e=N[a+60>>2];J[h+44>>2]=0;e=Q(g-e);f=Q(Q(c|0)-Q(f*Q(.5)));g=Q(k-Q(i*Q(.5)));break o;case 0:e=N[a+88>>2];i=N[a+92>>2];f=N[a+56>>2];J[h+44>>2]=0;f=Q(g-f);e=Q(Q(c|0)-Q(e*Q(.5)));g=Q(k-Q(i*Q(.5)));break o;default:break p}}e=N[h+36>>2];f=N[h+32>>2];g=N[h+40>>2]}N[h+32>>2]=f*N[a+116>>2];N[h+36>>2]=e*N[a+120>>2];N[h+40>>2]=g*N[a+124>>2];ua[J[J[b>>2]+8>>2]](b,h,d,n);g=Q(ua[J[J[a>>2]+68>>2]](a,c,n));q:{r:{switch(J[a+112>>2]){case 2:f=N[a+88>>2];e=N[a+92>>2];i=N[a+64>>2];J[h+12>>2]=0;e=Q(k-Q(e*Q(.5)));f=Q(Q(c|0)-Q(f*Q(.5)));g=Q(g-i);break q;case 1:f=N[a+88>>2];i=N[a+92>>2];e=N[a+60>>2];J[h+12>>2]=0;e=Q(g-e);f=Q(Q(c|0)-Q(f*Q(.5)));g=Q(k-Q(i*Q(.5)));break q;case 0:e=N[a+88>>2];i=N[a+92>>2];f=N[a+56>>2];J[h+12>>2]=0;f=Q(g-f);e=Q(Q(c|0)-Q(e*Q(.5)));g=Q(k-Q(i*Q(.5)));break q;default:break r}}e=N[h+4>>2];f=N[h>>2];g=N[h+8>>2]}N[h>>2]=f*N[a+116>>2];N[h+4>>2]=e*N[a+120>>2];N[h+8>>2]=g*N[a+124>>2];g=Q(ua[J[J[a>>2]+68>>2]](a,c,o));s:{switch(J[a+112>>2]){case 2:f=N[a+88>>2];e=N[a+92>>2];i=N[a+64>>2];J[h+44>>2]=0;e=Q(j-Q(e*Q(.5)));f=Q(Q(c|0)-Q(f*Q(.5)));g=Q(g-i);break i;case 1:f=N[a+88>>2];i=N[a+92>>2];e=N[a+60>>2];J[h+44>>2]=0;e=Q(g-e);f=Q(Q(c|0)-Q(f*Q(.5)));g=Q(j-Q(i*Q(.5)));break i;case 0:break s;default:break j}}e=N[a+88>>2];i=N[a+92>>2];f=N[a+56>>2];J[h+44>>2]=0;f=Q(g-f);e=Q(Q(c|0)-Q(e*Q(.5)));g=Q(j-Q(i*Q(.5)));break i}g=Q(ua[J[J[a>>2]+68>>2]](a,d,n));t:{u:{switch(J[a+112>>2]){case 2:f=N[a+88>>2];e=N[a+92>>2];i=N[a+64>>2];J[h+12>>2]=0;e=Q(k-Q(e*Q(.5)));f=Q(Q(d|0)-Q(f*Q(.5)));g=Q(g-i);break t;case 1:f=N[a+88>>2];i=N[a+92>>2];e=N[a+60>>2];J[h+12>>2]=0;e=Q(g-e);f=Q(Q(d|0)-Q(f*Q(.5)));g=Q(k-Q(i*Q(.5)));break t;case 0:e=N[a+88>>2];i=N[a+92>>2];f=N[a+56>>2];J[h+12>>2]=0;f=Q(g-f);e=Q(Q(d|0)-Q(e*Q(.5)));g=Q(k-Q(i*Q(.5)));break t;default:break u}}e=N[h+4>>2];f=N[h>>2];g=N[h+8>>2]}N[h>>2]=f*N[a+116>>2];N[h+4>>2]=e*N[a+120>>2];N[h+8>>2]=g*N[a+124>>2];g=Q(ua[J[J[a>>2]+68>>2]](a,d,o));v:{w:{switch(J[a+112>>2]){case 2:f=N[a+88>>2];e=N[a+92>>2];i=N[a+64>>2];J[h+28>>2]=0;e=Q(j-Q(e*Q(.5)));f=Q(Q(d|0)-Q(f*Q(.5)));g=Q(g-i);break v;case 1:f=N[a+88>>2];i=N[a+92>>2];e=N[a+60>>2];J[h+28>>2]=0;e=Q(g-e);f=Q(Q(d|0)-Q(f*Q(.5)));g=Q(j-Q(i*Q(.5)));break v;case 0:e=N[a+88>>2];i=N[a+92>>2];f=N[a+56>>2];J[h+28>>2]=0;f=Q(g-f);e=Q(Q(d|0)-Q(e*Q(.5)));g=Q(j-Q(i*Q(.5)));break v;default:break w}}e=N[h+20>>2];f=N[h+16>>2];g=N[h+24>>2]}N[h+16>>2]=f*N[a+116>>2];N[h+20>>2]=e*N[a+120>>2];N[h+24>>2]=g*N[a+124>>2];c=d+1|0;g=Q(ua[J[J[a>>2]+68>>2]](a,c,o));x:{y:{switch(J[a+112>>2]){case 2:f=N[a+88>>2];e=N[a+92>>2];i=N[a+64>>2];J[h+44>>2]=0;e=Q(j-Q(e*Q(.5)));f=Q(Q(c|0)-Q(f*Q(.5)));g=Q(g-i);break x;case 1:f=N[a+88>>2];i=N[a+92>>2];e=N[a+60>>2];J[h+44>>2]=0;e=Q(g-e);f=Q(Q(c|0)-Q(f*Q(.5)));g=Q(j-Q(i*Q(.5)));break x;case 0:e=N[a+88>>2];i=N[a+92>>2];f=N[a+56>>2];J[h+44>>2]=0;f=Q(g-f);e=Q(Q(c|0)-Q(e*Q(.5)));g=Q(j-Q(i*Q(.5)));break x;default:break y}}e=N[h+36>>2];f=N[h+32>>2];g=N[h+40>>2]}N[h+32>>2]=f*N[a+116>>2];N[h+36>>2]=e*N[a+120>>2];N[h+40>>2]=g*N[a+124>>2];ua[J[J[b>>2]+8>>2]](b,h,d,n);g=Q(ua[J[J[a>>2]+68>>2]](a,c,o));z:{A:{switch(J[a+112>>2]){case 2:f=N[a+88>>2];e=N[a+92>>2];i=N[a+64>>2];J[h+28>>2]=0;e=Q(j-Q(e*Q(.5)));f=Q(Q(c|0)-Q(f*Q(.5)));g=Q(g-i);break z;case 1:f=N[a+88>>2];i=N[a+92>>2];e=N[a+60>>2];J[h+28>>2]=0;e=Q(g-e);f=Q(Q(c|0)-Q(f*Q(.5)));g=Q(j-Q(i*Q(.5)));break z;case 0:e=N[a+88>>2];i=N[a+92>>2];f=N[a+56>>2];J[h+28>>2]=0;f=Q(g-f);e=Q(Q(c|0)-Q(e*Q(.5)));g=Q(j-Q(i*Q(.5)));break z;default:break A}}e=N[h+20>>2];f=N[h+16>>2];g=N[h+24>>2]}N[h+16>>2]=f*N[a+116>>2];N[h+20>>2]=e*N[a+120>>2];N[h+24>>2]=g*N[a+124>>2];g=Q(ua[J[J[a>>2]+68>>2]](a,c,n));B:{switch(J[a+112>>2]){case 2:f=N[a+88>>2];e=N[a+92>>2];i=N[a+64>>2];J[h+44>>2]=0;e=Q(k-Q(e*Q(.5)));f=Q(Q(c|0)-Q(f*Q(.5)));g=Q(g-i);break i;case 1:f=N[a+88>>2];i=N[a+92>>2];e=N[a+60>>2];J[h+44>>2]=0;e=Q(g-e);f=Q(Q(c|0)-Q(f*Q(.5)));g=Q(k-Q(i*Q(.5)));break i;case 0:break B;default:break j}}e=N[a+88>>2];i=N[a+92>>2];f=N[a+56>>2];J[h+44>>2]=0;f=Q(g-f);e=Q(Q(c|0)-Q(e*Q(.5)));g=Q(k-Q(i*Q(.5)));break i}e=N[h+36>>2];f=N[h+32>>2];g=N[h+40>>2]}N[h+32>>2]=f*N[a+116>>2];N[h+36>>2]=e*N[a+120>>2];N[h+40>>2]=g*N[a+124>>2];ua[J[J[b>>2]+8>>2]](b,h,d,n);if((c|0)!=(p|0)){continue}break}n=o;if((l|0)!=(n|0)){continue}break}}sa=h+48|0}function il(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;N[a+20>>2]=O[b+32>>3];N[a+24>>2]=O[b+40>>3];N[a+28>>2]=O[b+48>>3];N[a+32>>2]=O[b+56>>3];N[a+4>>2]=O[b>>3];N[a+8>>2]=O[b+8>>3];N[a+12>>2]=O[b+16>>3];N[a+16>>2]=O[b+24>>3];N[a+36>>2]=O[b+64>>3];N[a+40>>2]=O[b+72>>3];N[a+44>>2]=O[b+80>>3];N[a+48>>2]=O[b+88>>3];J[a+56>>2]=J[b+96>>2];H[a+60|0]=J[b+100>>2]!=0;f=J[a+88>>2];k=J[b+104>>2];a:{if((f|0)>=(k|0)){break a}if((k|0)>J[a+92>>2]){if(k){J[8456]=J[8456]+1;j=ua[J[8258]](k<<6,16)|0;c=J[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+J[a+96>>2]|0;e=J[i+4>>2];J[g>>2]=J[i>>2];J[g+4>>2]=e;e=J[i+60>>2];J[g+56>>2]=J[i+56>>2];J[g+60>>2]=e;e=J[i+52>>2];J[g+48>>2]=J[i+48>>2];J[g+52>>2]=e;e=J[i+44>>2];J[g+40>>2]=J[i+40>>2];J[g+44>>2]=e;e=J[i+36>>2];J[g+32>>2]=J[i+32>>2];J[g+36>>2]=e;e=J[i+28>>2];J[g+24>>2]=J[i+24>>2];J[g+28>>2]=e;e=J[i+20>>2];J[g+16>>2]=J[i+16>>2];J[g+20>>2]=e;e=J[i+12>>2];J[g+8>>2]=J[i+8>>2];J[g+12>>2]=e;e=h|64;g=e+j|0;h=e+J[a+96>>2]|0;e=J[h+4>>2];J[g>>2]=J[h>>2];J[g+4>>2]=e;e=J[h+12>>2];J[g+8>>2]=J[h+8>>2];J[g+12>>2]=e;e=J[h+20>>2];J[g+16>>2]=J[h+16>>2];J[g+20>>2]=e;e=J[h+28>>2];J[g+24>>2]=J[h+24>>2];J[g+28>>2]=e;e=J[h+36>>2];J[g+32>>2]=J[h+32>>2];J[g+36>>2]=e;e=J[h+44>>2];J[g+40>>2]=J[h+40>>2];J[g+44>>2]=e;e=J[h+52>>2];J[g+48>>2]=J[h+48>>2];J[g+52>>2]=e;e=J[h+60>>2];J[g+56>>2]=J[h+56>>2];J[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+J[a+96>>2]|0;c=J[e+4>>2];J[d>>2]=J[e>>2];J[d+4>>2]=c;c=J[e+60>>2];J[d+56>>2]=J[e+56>>2];J[d+60>>2]=c;c=J[e+52>>2];J[d+48>>2]=J[e+48>>2];J[d+52>>2]=c;c=J[e+44>>2];J[d+40>>2]=J[e+40>>2];J[d+44>>2]=c;c=J[e+36>>2];J[d+32>>2]=J[e+32>>2];J[d+36>>2]=c;c=J[e+28>>2];J[d+24>>2]=J[e+24>>2];J[d+28>>2]=c;c=J[e+20>>2];J[d+16>>2]=J[e+16>>2];J[d+20>>2]=c;c=J[e+12>>2];J[d+8>>2]=J[e+8>>2];J[d+12>>2]=c}c=J[a+96>>2];if(!(c?!c|!K[a+100|0]:1)){J[8457]=J[8457]+1;ua[J[8259]](c)}J[a+96>>2]=j;H[a+100|0]=1;J[a+92>>2]=k}d=k+(f^-1)|0;c=k-f&3;if(c){j=0;while(1){e=J[a+96>>2]+(f<<6)|0;J[e>>2]=0;J[e+4>>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;J[e+32>>2]=0;J[e+36>>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;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+J[a+96>>2]|0;J[c>>2]=0;J[c+4>>2]=0;J[c+56>>2]=0;J[c+60>>2]=0;J[c+48>>2]=0;J[c+52>>2]=0;J[c+40>>2]=0;J[c+44>>2]=0;J[c+32>>2]=0;J[c+36>>2]=0;J[c+24>>2]=0;J[c+28>>2]=0;J[c+16>>2]=0;J[c+20>>2]=0;J[c+8>>2]=0;J[c+12>>2]=0;c=d+J[a+96>>2]|0;J[c+120>>2]=0;J[c+124>>2]=0;J[c+112>>2]=0;J[c+116>>2]=0;J[c+104>>2]=0;J[c+108>>2]=0;J[c+96>>2]=0;J[c+100>>2]=0;J[c+88>>2]=0;J[c+92>>2]=0;J[c+80>>2]=0;J[c+84>>2]=0;J[c+72>>2]=0;J[c+76>>2]=0;c=c- -64|0;J[c>>2]=0;J[c+4>>2]=0;c=d+J[a+96>>2]|0;J[c+184>>2]=0;J[c+188>>2]=0;J[c+176>>2]=0;J[c+180>>2]=0;J[c+168>>2]=0;J[c+172>>2]=0;J[c+160>>2]=0;J[c+164>>2]=0;J[c+152>>2]=0;J[c+156>>2]=0;J[c+144>>2]=0;J[c+148>>2]=0;J[c+136>>2]=0;J[c+140>>2]=0;J[c+128>>2]=0;J[c+132>>2]=0;c=d+J[a+96>>2]|0;J[c+248>>2]=0;J[c+252>>2]=0;J[c+240>>2]=0;J[c+244>>2]=0;J[c+232>>2]=0;J[c+236>>2]=0;J[c+224>>2]=0;J[c+228>>2]=0;J[c+216>>2]=0;J[c+220>>2]=0;J[c+208>>2]=0;J[c+212>>2]=0;J[c+200>>2]=0;J[c+204>>2]=0;J[c+192>>2]=0;J[c+196>>2]=0;f=f+4|0;if((k|0)!=(f|0)){continue}break}}J[a+88>>2]=k;if((k|0)>0){c=J[a+96>>2];d=J[b+112>>2];j=0;while(1){f=c+(j<<6)|0;N[f+16>>2]=O[d+32>>3];N[f+20>>2]=O[d+40>>3];N[f+24>>2]=O[d+48>>3];N[f+28>>2]=O[d+56>>3];N[f>>2]=O[d>>3];N[f+4>>2]=O[d+8>>3];N[f+8>>2]=O[d+16>>3];N[f+12>>2]=O[d+24>>3];J[f+32>>2]=J[d+64>>2];J[f+36>>2]=J[d+68>>2];J[f+40>>2]=J[d+72>>2];d=d+80|0;j=j+1|0;if((k|0)!=(j|0)){continue}break}}d=J[a+128>>2];n=J[b+108>>2];c:{if((d|0)>=(n|0)){break c}if((n|0)>J[a+132>>2]){d:{if(!n){l=0;c=d;break d}J[8456]=J[8456]+1;l=ua[J[8258]](n<<4,16)|0;c=J[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+J[a+136>>2]|0;e=J[k+4>>2];J[g>>2]=J[k>>2];J[g+4>>2]=e;e=J[k+12>>2];J[g+8>>2]=J[k+8>>2];J[g+12>>2]=e;e=h|16;g=e+l|0;h=e+J[a+136>>2]|0;e=J[h+4>>2];J[g>>2]=J[h>>2];J[g+4>>2]=e;e=J[h+12>>2];J[g+8>>2]=J[h+8>>2];J[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+J[a+136>>2]|0;c=J[e+4>>2];J[f>>2]=J[e>>2];J[f+4>>2]=c;c=J[e+12>>2];J[f+8>>2]=J[e+8>>2];J[f+12>>2]=c}c=J[a+136>>2];if(!(c?!c|!K[a+140|0]:1)){J[8457]=J[8457]+1;ua[J[8259]](c)}J[a+136>>2]=l;H[a+140|0]=1;J[a+132>>2]=n}e=n+(d^-1)|0;c=n-d&3;if(c){f=0;while(1){g=J[a+136>>2]+(d<<4)|0;J[g>>2]=0;J[g+4>>2]=0;J[g+8>>2]=0;J[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+J[a+136>>2]|0;J[c>>2]=0;J[c+4>>2]=0;J[c+8>>2]=0;J[c+12>>2]=0;c=f+J[a+136>>2]|0;J[c+24>>2]=0;J[c+28>>2]=0;J[c+16>>2]=0;J[c+20>>2]=0;c=f+J[a+136>>2]|0;J[c+40>>2]=0;J[c+44>>2]=0;J[c+32>>2]=0;J[c+36>>2]=0;c=f+J[a+136>>2]|0;J[c+56>>2]=0;J[c+60>>2]=0;J[c+48>>2]=0;J[c+52>>2]=0;d=d+4|0;if((n|0)!=(d|0)){continue}break}}J[a+128>>2]=n;if((n|0)>0){c=J[a+136>>2];d=J[b+116>>2];j=0;while(1){f=c+(j<<4)|0;J[f+12>>2]=J[d+12>>2];I[f+6>>1]=L[d+6>>1];I[f+8>>1]=L[d+8>>1];I[f+10>>1]=L[d+10>>1];I[f>>1]=L[d>>1];I[f+2>>1]=L[d+2>>1];I[f+4>>1]=L[d+4>>1];d=d+16|0;j=j+1|0;if((n|0)!=(j|0)){continue}break}}J[a+144>>2]=J[b+120>>2];d=J[a+152>>2];h=J[b+124>>2];if(!((d|0)>=(h|0)|(h|0)<=J[a+156>>2])){f:{if(!h){i=0;break f}J[8456]=J[8456]+1;i=ua[J[8258]](h<<5,16)|0;d=J[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+J[a+160>>2]|0;c=J[m+4>>2];J[f>>2]=J[m>>2];J[f+4>>2]=c;c=J[m+28>>2];J[f+24>>2]=J[m+24>>2];J[f+28>>2]=c;c=J[m+20>>2];J[f+16>>2]=J[m+16>>2];J[f+20>>2]=c;c=J[m+12>>2];J[f+8>>2]=J[m+8>>2];J[f+12>>2]=c;c=g|32;f=c+i|0;g=c+J[a+160>>2]|0;c=J[g+4>>2];J[f>>2]=J[g>>2];J[f+4>>2]=c;c=J[g+12>>2];J[f+8>>2]=J[g+8>>2];J[f+12>>2]=c;c=J[g+20>>2];J[f+16>>2]=J[g+16>>2];J[f+20>>2]=c;c=J[g+28>>2];J[f+24>>2]=J[g+24>>2];J[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+J[a+160>>2]|0;c=J[d+4>>2];J[f>>2]=J[d>>2];J[f+4>>2]=c;c=J[d+28>>2];J[f+24>>2]=J[d+24>>2];J[f+28>>2]=c;c=J[d+20>>2];J[f+16>>2]=J[d+16>>2];J[f+20>>2]=c;c=J[d+12>>2];J[f+8>>2]=J[d+8>>2];J[f+12>>2]=c}c=J[a+160>>2];if(!(c?!c|!K[a+164|0]:1)){J[8457]=J[8457]+1;ua[J[8259]](c)}J[a+160>>2]=i;H[a+164|0]=1;J[a+156>>2]=h}J[a+152>>2]=h;if((h|0)>0){c=J[a+160>>2];d=J[b+128>>2];a=0;while(1){b=c+(a<<5)|0;I[b+6>>1]=L[d+14>>1];I[b+8>>1]=L[d+16>>1];I[b+10>>1]=L[d+18>>1];I[b>>1]=L[d+8>>1];I[b+2>>1]=L[d+10>>1];I[b+4>>1]=L[d+12>>1];J[b+12>>2]=J[d>>2];J[b+16>>2]=J[d+4>>2];d=d+20|0;a=a+1|0;if((h|0)!=(a|0)){continue}break}}}function jl(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;N[a+20>>2]=N[b+16>>2];N[a+24>>2]=N[b+20>>2];N[a+28>>2]=N[b+24>>2];N[a+32>>2]=N[b+28>>2];N[a+4>>2]=N[b>>2];N[a+8>>2]=N[b+4>>2];N[a+12>>2]=N[b+8>>2];N[a+16>>2]=N[b+12>>2];N[a+36>>2]=N[b+32>>2];N[a+40>>2]=N[b+36>>2];N[a+44>>2]=N[b+40>>2];N[a+48>>2]=N[b+44>>2];J[a+56>>2]=J[b+48>>2];H[a+60|0]=J[b+52>>2]!=0;f=J[a+88>>2];k=J[b+56>>2];a:{if((f|0)>=(k|0)){break a}if((k|0)>J[a+92>>2]){if(k){J[8456]=J[8456]+1;j=ua[J[8258]](k<<6,16)|0;c=J[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+J[a+96>>2]|0;e=J[i+4>>2];J[g>>2]=J[i>>2];J[g+4>>2]=e;e=J[i+60>>2];J[g+56>>2]=J[i+56>>2];J[g+60>>2]=e;e=J[i+52>>2];J[g+48>>2]=J[i+48>>2];J[g+52>>2]=e;e=J[i+44>>2];J[g+40>>2]=J[i+40>>2];J[g+44>>2]=e;e=J[i+36>>2];J[g+32>>2]=J[i+32>>2];J[g+36>>2]=e;e=J[i+28>>2];J[g+24>>2]=J[i+24>>2];J[g+28>>2]=e;e=J[i+20>>2];J[g+16>>2]=J[i+16>>2];J[g+20>>2]=e;e=J[i+12>>2];J[g+8>>2]=J[i+8>>2];J[g+12>>2]=e;e=h|64;g=e+j|0;h=e+J[a+96>>2]|0;e=J[h+4>>2];J[g>>2]=J[h>>2];J[g+4>>2]=e;e=J[h+12>>2];J[g+8>>2]=J[h+8>>2];J[g+12>>2]=e;e=J[h+20>>2];J[g+16>>2]=J[h+16>>2];J[g+20>>2]=e;e=J[h+28>>2];J[g+24>>2]=J[h+24>>2];J[g+28>>2]=e;e=J[h+36>>2];J[g+32>>2]=J[h+32>>2];J[g+36>>2]=e;e=J[h+44>>2];J[g+40>>2]=J[h+40>>2];J[g+44>>2]=e;e=J[h+52>>2];J[g+48>>2]=J[h+48>>2];J[g+52>>2]=e;e=J[h+60>>2];J[g+56>>2]=J[h+56>>2];J[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+J[a+96>>2]|0;c=J[e+4>>2];J[d>>2]=J[e>>2];J[d+4>>2]=c;c=J[e+60>>2];J[d+56>>2]=J[e+56>>2];J[d+60>>2]=c;c=J[e+52>>2];J[d+48>>2]=J[e+48>>2];J[d+52>>2]=c;c=J[e+44>>2];J[d+40>>2]=J[e+40>>2];J[d+44>>2]=c;c=J[e+36>>2];J[d+32>>2]=J[e+32>>2];J[d+36>>2]=c;c=J[e+28>>2];J[d+24>>2]=J[e+24>>2];J[d+28>>2]=c;c=J[e+20>>2];J[d+16>>2]=J[e+16>>2];J[d+20>>2]=c;c=J[e+12>>2];J[d+8>>2]=J[e+8>>2];J[d+12>>2]=c}c=J[a+96>>2];if(!(c?!c|!K[a+100|0]:1)){J[8457]=J[8457]+1;ua[J[8259]](c)}J[a+96>>2]=j;H[a+100|0]=1;J[a+92>>2]=k}d=k+(f^-1)|0;c=k-f&3;if(c){j=0;while(1){e=J[a+96>>2]+(f<<6)|0;J[e>>2]=0;J[e+4>>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;J[e+32>>2]=0;J[e+36>>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;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+J[a+96>>2]|0;J[c>>2]=0;J[c+4>>2]=0;J[c+56>>2]=0;J[c+60>>2]=0;J[c+48>>2]=0;J[c+52>>2]=0;J[c+40>>2]=0;J[c+44>>2]=0;J[c+32>>2]=0;J[c+36>>2]=0;J[c+24>>2]=0;J[c+28>>2]=0;J[c+16>>2]=0;J[c+20>>2]=0;J[c+8>>2]=0;J[c+12>>2]=0;c=d+J[a+96>>2]|0;J[c+120>>2]=0;J[c+124>>2]=0;J[c+112>>2]=0;J[c+116>>2]=0;J[c+104>>2]=0;J[c+108>>2]=0;J[c+96>>2]=0;J[c+100>>2]=0;J[c+88>>2]=0;J[c+92>>2]=0;J[c+80>>2]=0;J[c+84>>2]=0;J[c+72>>2]=0;J[c+76>>2]=0;c=c- -64|0;J[c>>2]=0;J[c+4>>2]=0;c=d+J[a+96>>2]|0;J[c+184>>2]=0;J[c+188>>2]=0;J[c+176>>2]=0;J[c+180>>2]=0;J[c+168>>2]=0;J[c+172>>2]=0;J[c+160>>2]=0;J[c+164>>2]=0;J[c+152>>2]=0;J[c+156>>2]=0;J[c+144>>2]=0;J[c+148>>2]=0;J[c+136>>2]=0;J[c+140>>2]=0;J[c+128>>2]=0;J[c+132>>2]=0;c=d+J[a+96>>2]|0;J[c+248>>2]=0;J[c+252>>2]=0;J[c+240>>2]=0;J[c+244>>2]=0;J[c+232>>2]=0;J[c+236>>2]=0;J[c+224>>2]=0;J[c+228>>2]=0;J[c+216>>2]=0;J[c+220>>2]=0;J[c+208>>2]=0;J[c+212>>2]=0;J[c+200>>2]=0;J[c+204>>2]=0;J[c+192>>2]=0;J[c+196>>2]=0;f=f+4|0;if((k|0)!=(f|0)){continue}break}}J[a+88>>2]=k;if((k|0)>0){c=J[a+96>>2];d=J[b+64>>2];j=0;while(1){f=c+(j<<6)|0;N[f+16>>2]=N[d+16>>2];N[f+20>>2]=N[d+20>>2];N[f+24>>2]=N[d+24>>2];N[f+28>>2]=N[d+28>>2];N[f>>2]=N[d>>2];N[f+4>>2]=N[d+4>>2];N[f+8>>2]=N[d+8>>2];N[f+12>>2]=N[d+12>>2];J[f+32>>2]=J[d+32>>2];J[f+36>>2]=J[d+36>>2];J[f+40>>2]=J[d+40>>2];d=d+48|0;j=j+1|0;if((k|0)!=(j|0)){continue}break}}d=J[a+128>>2];n=J[b+60>>2];c:{if((d|0)>=(n|0)){break c}if((n|0)>J[a+132>>2]){d:{if(!n){l=0;c=d;break d}J[8456]=J[8456]+1;l=ua[J[8258]](n<<4,16)|0;c=J[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+J[a+136>>2]|0;e=J[k+4>>2];J[g>>2]=J[k>>2];J[g+4>>2]=e;e=J[k+12>>2];J[g+8>>2]=J[k+8>>2];J[g+12>>2]=e;e=h|16;g=e+l|0;h=e+J[a+136>>2]|0;e=J[h+4>>2];J[g>>2]=J[h>>2];J[g+4>>2]=e;e=J[h+12>>2];J[g+8>>2]=J[h+8>>2];J[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+J[a+136>>2]|0;c=J[e+4>>2];J[f>>2]=J[e>>2];J[f+4>>2]=c;c=J[e+12>>2];J[f+8>>2]=J[e+8>>2];J[f+12>>2]=c}c=J[a+136>>2];if(!(c?!c|!K[a+140|0]:1)){J[8457]=J[8457]+1;ua[J[8259]](c)}J[a+136>>2]=l;H[a+140|0]=1;J[a+132>>2]=n}e=n+(d^-1)|0;c=n-d&3;if(c){f=0;while(1){g=J[a+136>>2]+(d<<4)|0;J[g>>2]=0;J[g+4>>2]=0;J[g+8>>2]=0;J[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+J[a+136>>2]|0;J[c>>2]=0;J[c+4>>2]=0;J[c+8>>2]=0;J[c+12>>2]=0;c=f+J[a+136>>2]|0;J[c+24>>2]=0;J[c+28>>2]=0;J[c+16>>2]=0;J[c+20>>2]=0;c=f+J[a+136>>2]|0;J[c+40>>2]=0;J[c+44>>2]=0;J[c+32>>2]=0;J[c+36>>2]=0;c=f+J[a+136>>2]|0;J[c+56>>2]=0;J[c+60>>2]=0;J[c+48>>2]=0;J[c+52>>2]=0;d=d+4|0;if((n|0)!=(d|0)){continue}break}}J[a+128>>2]=n;if((n|0)>0){c=J[a+136>>2];d=J[b+68>>2];j=0;while(1){f=c+(j<<4)|0;J[f+12>>2]=J[d+12>>2];I[f+6>>1]=L[d+6>>1];I[f+8>>1]=L[d+8>>1];I[f+10>>1]=L[d+10>>1];I[f>>1]=L[d>>1];I[f+2>>1]=L[d+2>>1];I[f+4>>1]=L[d+4>>1];d=d+16|0;j=j+1|0;if((n|0)!=(j|0)){continue}break}}J[a+144>>2]=J[b+76>>2];d=J[a+152>>2];h=J[b+80>>2];if(!((d|0)>=(h|0)|(h|0)<=J[a+156>>2])){f:{if(!h){i=0;break f}J[8456]=J[8456]+1;i=ua[J[8258]](h<<5,16)|0;d=J[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+J[a+160>>2]|0;c=J[m+4>>2];J[f>>2]=J[m>>2];J[f+4>>2]=c;c=J[m+28>>2];J[f+24>>2]=J[m+24>>2];J[f+28>>2]=c;c=J[m+20>>2];J[f+16>>2]=J[m+16>>2];J[f+20>>2]=c;c=J[m+12>>2];J[f+8>>2]=J[m+8>>2];J[f+12>>2]=c;c=g|32;f=c+i|0;g=c+J[a+160>>2]|0;c=J[g+4>>2];J[f>>2]=J[g>>2];J[f+4>>2]=c;c=J[g+12>>2];J[f+8>>2]=J[g+8>>2];J[f+12>>2]=c;c=J[g+20>>2];J[f+16>>2]=J[g+16>>2];J[f+20>>2]=c;c=J[g+28>>2];J[f+24>>2]=J[g+24>>2];J[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+J[a+160>>2]|0;c=J[d+4>>2];J[f>>2]=J[d>>2];J[f+4>>2]=c;c=J[d+28>>2];J[f+24>>2]=J[d+24>>2];J[f+28>>2]=c;c=J[d+20>>2];J[f+16>>2]=J[d+16>>2];J[f+20>>2]=c;c=J[d+12>>2];J[f+8>>2]=J[d+8>>2];J[f+12>>2]=c}c=J[a+160>>2];if(!(c?!c|!K[a+164|0]:1)){J[8457]=J[8457]+1;ua[J[8259]](c)}J[a+160>>2]=i;H[a+164|0]=1;J[a+156>>2]=h}J[a+152>>2]=h;if((h|0)>0){c=J[a+160>>2];d=J[b+72>>2];a=0;while(1){b=c+(a<<5)|0;I[b+6>>1]=L[d+14>>1];I[b+8>>1]=L[d+16>>1];I[b+10>>1]=L[d+18>>1];I[b>>1]=L[d+8>>1];I[b+2>>1]=L[d+10>>1];I[b+4>>1]=L[d+12>>1];J[b+12>>2]=J[d>>2];J[b+16>>2]=J[d+4>>2];d=d+20|0;a=a+1|0;if((h|0)!=(a|0)){continue}break}}}function Yl(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=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=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=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),ha=Q(0),ia=0,ja=0,ka=Q(0),la=Q(0),ma=0,na=Q(0);d=sa-48|0;sa=d;a:{if(!J[a+12>>2]){break a}n=K[a+16|0];k=n?c:b;f=J[k+12>>2];y=N[f+56>>2];z=N[f+52>>2];A=N[f+48>>2];p=n?b:c;n=J[p+12>>2];B=N[n+56>>2];fa=N[n+48>>2];C=N[n+52>>2];k=J[k+4>>2];w=N[f+32>>2];D=N[f+16>>2];E=N[f>>2];F=N[f+36>>2];m=N[f+20>>2];s=N[f+4>>2];h=N[n+40>>2];j=N[n+24>>2];g=N[n+8>>2];i=N[n+32>>2];o=N[n+16>>2];r=N[n>>2];t=N[n+36>>2];l=N[f+40>>2];u=N[n+20>>2];H=N[f+24>>2];x=N[n+4>>2];I=N[f+8>>2];n=J[p+4>>2];V=n- -64|0;L=N[V>>2];v=N[n+56>>2];M=N[n+60>>2];J[d+28>>2]=0;X=Q(Q(i*l)+Q(Q(r*I)+Q(H*o)));v=Q(-v);Z=Q(Q(t*l)+Q(Q(x*I)+Q(H*u)));l=Q(Q(h*l)+Q(Q(g*I)+Q(H*j)));N[d+24>>2]=Q(Q(X*v)-Q(M*Z))-Q(L*l);H=Q(Q(i*F)+Q(Q(r*s)+Q(m*o)));I=Q(Q(t*F)+Q(Q(x*s)+Q(m*u)));_=Q(Q(h*F)+Q(Q(g*s)+Q(m*j)));N[d+20>>2]=Q(Q(H*v)-Q(M*I))-Q(L*_);$=Q(Q(i*w)+Q(Q(r*E)+Q(D*o)));q=M;M=Q(Q(t*w)+Q(Q(x*E)+Q(D*u)));ga=L;L=Q(Q(h*w)+Q(Q(g*E)+Q(D*j)));N[d+16>>2]=Q(Q($*v)-Q(q*M))-Q(ga*L);ua[J[J[k>>2]+64>>2]](d+32|0,k,d+16|0);f=J[p+12>>2];v=N[f+48>>2];T=N[f+32>>2];U=N[f+16>>2];q=N[f+8>>2];P=N[f+4>>2];O=N[f>>2];S=N[f+56>>2];G=N[f+52>>2];W=N[f+40>>2];aa=N[f+36>>2];ha=N[f+24>>2];ba=N[f+20>>2];ca=N[n+72>>2];F=N[V>>2];m=N[n+56>>2];s=N[n+60>>2];w=N[d+40>>2];D=N[d+32>>2];E=N[d+36>>2];f=J[a+12>>2];da=N[f+848>>2];J[e+4>>2]=f;ea=Q(Q(y*h)+Q(Q(A*g)+Q(z*j)));ga=g;g=Q(-fa);l=Q(Q(ea+Q(Q(Q(ga*g)-Q(j*C))-Q(h*B)))+Q(Q(w*l)+Q(Q(D*L)+Q(_*E))));o=Q(Q(Q(Q(y*i)+Q(Q(A*r)+Q(z*o)))+Q(Q(Q(r*g)-Q(o*C))-Q(i*B)))+Q(Q(w*X)+Q(Q(D*$)+Q(H*E))));r=Q(Q(Q(Q(y*t)+Q(Q(A*x)+Q(z*u)))+Q(Q(Q(x*g)-Q(u*C))-Q(t*B)))+Q(Q(w*Z)+Q(Q(D*M)+Q(I*E))));h=Q(Q(Q(F*l)+Q(Q(m*o)+Q(s*r)))-ca);if(h>2];t=N[f+24>>2];u=N[f+20>>2];x=N[f+40>>2];y=N[f+36>>2];z=N[f+16>>2];A=N[f+32>>2];j=N[n+64>>2];B=N[f+8>>2];g=N[n+56>>2];C=N[f>>2];i=N[n+60>>2];w=N[f+4>>2];J[d+28>>2]=0;N[d+16>>2]=Q(B*j)+Q(Q(C*g)+Q(w*i));N[d+24>>2]=Q(x*j)+Q(Q(A*g)+Q(i*y));N[d+20>>2]=Q(t*j)+Q(Q(z*g)+Q(i*u));J[d+12>>2]=0;j=Q(l-Q(F*h));g=Q(o-Q(m*h));i=Q(r-Q(s*h));N[d+8>>2]=Q(Q(j*W)+Q(Q(g*T)+Q(i*aa)))+S;N[d+4>>2]=Q(Q(j*ha)+Q(Q(g*U)+Q(i*ba)))+G;N[d>>2]=Q(Q(j*q)+Q(Q(g*O)+Q(P*i)))+v;ua[J[J[e>>2]+16>>2]](e,d+16|0,d,h)}b:{if(J[k+4>>2]>6|J[J[e+4>>2]+844>>2]>=J[a+24>>2]){break b}j=N[n+64>>2];c:{if(Q(R(j))>Q(.7071067690849304)){h=N[n+60>>2];g=Q(Q(1)/Q(Y(Q(Q(h*h)+Q(j*j)))));h=Q(h*g);j=Q(g*Q(-j));g=Q(0);break c}h=N[n+56>>2];g=N[n+60>>2];i=Q(Q(1)/Q(Y(Q(Q(h*h)+Q(g*g)))));j=Q(h*i);h=Q(0);g=Q(i*Q(-g))}V=0;i=Q(ua[J[J[k>>2]+16>>2]](k));i=Q(N[8265]/i);i=i>Q(.39269909262657166)?Q(.19634954631328583):Q(i*Q(.5));o=Na(i);f=J[a+20>>2];H=Ma(i);if((f|0)<=0){break b}q=h;h=Q(o/Q(Y(Q(Q(h*h)+Q(Q(g*g)+Q(j*j))))));I=Q(q*h);L=Q(j*h);M=Q(g*h);while(1){j=N[n+60>>2];i=N[n+56>>2];h=N[n+64>>2];g=Q(Q(Q(Q(6.2831854820251465)/Q(f|0))*Q(V|0))*Q(.5));o=Q(Na(g)/Q(Y(Q(Q(h*h)+Q(Q(i*i)+Q(j*j))))));h=Q(h*o);j=Q(j*o);g=Ma(g);i=Q(i*o);o=Q(Q(h*I)+Q(Q(j*L)+Q(Q(g*H)+Q(M*i))));r=Q(Q(h*L)+Q(Q(Q(g*M)-Q(H*i))-Q(j*I)));t=Q(Q(i*I)+Q(Q(Q(g*L)-Q(H*j))-Q(h*M)));u=Q(Q(j*M)+Q(Q(Q(g*I)-Q(H*h))-Q(i*L)));N[d+28>>2]=Q(Q(Q(o*g)-Q(i*r))-Q(t*j))-Q(u*h);N[d+24>>2]=Q(Q(r*j)+Q(Q(o*h)+Q(g*u)))-Q(t*i);N[d+20>>2]=Q(Q(u*i)+Q(Q(o*j)+Q(g*t)))-Q(r*h);N[d+16>>2]=Q(Q(t*h)+Q(Q(o*i)+Q(g*r)))-Q(u*j);f=sa-48|0;sa=f;p=K[a+16|0];ia=p?c:b;k=J[ia+12>>2];fa=N[k+56>>2];X=N[k+52>>2];Z=N[k+48>>2];ja=p?b:c;p=J[ja+12>>2];_=N[p+56>>2];aa=N[p+48>>2];$=N[p+52>>2];ia=J[ia+4>>2];h=N[p+40>>2];j=N[p+8>>2];g=N[p+24>>2];i=N[p+32>>2];o=N[p>>2];r=N[p+16>>2];t=N[p+36>>2];y=N[k+40>>2];z=N[k+32>>2];A=N[k+36>>2];u=N[p+4>>2];B=N[k+8>>2];C=N[k>>2];w=N[k+4>>2];x=N[p+20>>2];D=N[k+24>>2];E=N[k+16>>2];F=N[k+20>>2];s=N[d+28>>2];v=N[d+24>>2];m=N[d+16>>2];l=N[d+20>>2];p=J[ja+4>>2];ma=p- -64|0;T=N[ma>>2];ha=N[p+56>>2];U=N[p+60>>2];J[f+28>>2]=0;q=Q(Q(2)/Q(Q(s*s)+Q(Q(v*v)+Q(Q(m*m)+Q(l*l)))));G=Q(m*q);ba=Q(m*G);P=Q(l*q);ca=Q(l*P);O=Q(Q(1)-Q(ba+ca));q=Q(v*q);da=Q(m*q);ea=Q(s*P);S=Q(da+ea);ka=Q(l*q);la=Q(s*G);l=Q(ka-la);G=Q(Q(y*O)+Q(Q(z*S)+Q(A*l)));W=Q(Q(O*B)+Q(Q(S*C)+Q(w*l)));l=Q(Q(O*D)+Q(Q(S*E)+Q(F*l)));O=Q(-ha);N[f+24>>2]=Q(Q(Q(Q(i*G)+Q(Q(o*W)+Q(r*l)))*O)-Q(U*Q(Q(t*G)+Q(Q(u*W)+Q(x*l)))))-Q(T*Q(Q(h*G)+Q(Q(j*W)+Q(g*l))));l=Q(ka+la);P=Q(m*P);S=Q(s*q);m=Q(P-S);G=Q(v*q);s=Q(Q(1)-Q(ba+G));v=Q(Q(y*l)+Q(Q(z*m)+Q(A*s)));q=Q(Q(l*B)+Q(Q(m*C)+Q(w*s)));m=Q(Q(l*D)+Q(Q(m*E)+Q(F*s)));N[f+20>>2]=Q(Q(Q(Q(i*v)+Q(Q(o*q)+Q(r*m)))*O)-Q(U*Q(Q(t*v)+Q(Q(u*q)+Q(x*m)))))-Q(T*Q(Q(h*v)+Q(Q(j*q)+Q(g*m))));m=Q(da-ea);s=Q(Q(1)-Q(ca+G));l=Q(P+S);v=Q(Q(y*m)+Q(Q(z*s)+Q(A*l)));q=Q(Q(m*B)+Q(Q(s*C)+Q(w*l)));m=Q(Q(m*D)+Q(Q(s*E)+Q(F*l)));N[f+16>>2]=Q(Q(Q(Q(i*v)+Q(Q(o*q)+Q(r*m)))*O)-Q(U*Q(Q(t*v)+Q(Q(u*q)+Q(x*m)))))-Q(T*Q(Q(h*v)+Q(Q(j*q)+Q(g*m))));ua[J[J[ia>>2]+64>>2]](f+32|0,ia,f+16|0);k=J[ja+12>>2];P=N[k+48>>2];O=N[k+32>>2];S=N[k+16>>2];G=N[k+8>>2];W=N[k+4>>2];ha=N[k>>2];ba=N[k+56>>2];ca=N[k+52>>2];da=N[k+40>>2];ea=N[k+36>>2];ka=N[k+24>>2];la=N[k+20>>2];na=N[p+72>>2];v=N[ma>>2];T=N[p+56>>2];U=N[p+60>>2];m=N[f+40>>2];s=N[f+32>>2];l=N[f+36>>2];k=J[a+12>>2];q=N[k+848>>2];J[e+4>>2]=k;ga=q;q=Q(-aa);aa=Q(Q(Q(Q(fa*h)+Q(Q(Z*j)+Q(X*g)))+Q(Q(Q(j*q)-Q(g*$))-Q(h*_)))+Q(Q(m*Q(Q(y*h)+Q(Q(B*j)+Q(D*g))))+Q(Q(s*Q(Q(z*h)+Q(Q(C*j)+Q(E*g))))+Q(l*Q(Q(A*h)+Q(Q(w*j)+Q(F*g)))))));o=Q(Q(Q(Q(fa*i)+Q(Q(Z*o)+Q(X*r)))+Q(Q(Q(o*q)-Q(r*$))-Q(i*_)))+Q(Q(m*Q(Q(y*i)+Q(Q(B*o)+Q(D*r))))+Q(Q(s*Q(Q(z*i)+Q(Q(C*o)+Q(E*r))))+Q(l*Q(Q(A*i)+Q(Q(w*o)+Q(F*r)))))));r=Q(Q(Q(Q(fa*t)+Q(Q(Z*u)+Q(X*x)))+Q(Q(Q(u*q)-Q(x*$))-Q(t*_)))+Q(Q(m*Q(Q(y*t)+Q(Q(B*u)+Q(D*x))))+Q(Q(s*Q(Q(z*t)+Q(Q(C*u)+Q(E*x))))+Q(l*Q(Q(A*t)+Q(Q(w*u)+Q(F*x)))))));h=Q(Q(Q(v*aa)+Q(Q(T*o)+Q(U*r)))-na);if(ga>h){k=J[ja+12>>2];t=N[k+24>>2];u=N[k+20>>2];x=N[k+40>>2];y=N[k+36>>2];z=N[k+16>>2];A=N[k+32>>2];j=N[p+64>>2];B=N[k+8>>2];g=N[p+56>>2];C=N[k>>2];i=N[p+60>>2];w=N[k+4>>2];J[f+28>>2]=0;N[f+16>>2]=Q(B*j)+Q(Q(C*g)+Q(w*i));N[f+24>>2]=Q(x*j)+Q(Q(A*g)+Q(i*y));N[f+20>>2]=Q(t*j)+Q(Q(z*g)+Q(i*u));J[f+12>>2]=0;j=Q(aa-Q(v*h));g=Q(o-Q(T*h));i=Q(r-Q(U*h));N[f+8>>2]=Q(Q(j*da)+Q(Q(g*O)+Q(i*ea)))+ba;N[f+4>>2]=Q(Q(j*ka)+Q(Q(g*S)+Q(i*la)))+ca;N[f>>2]=Q(Q(j*G)+Q(Q(g*ha)+Q(W*i)))+P;ua[J[J[e>>2]+16>>2]](e,f+16|0,f,h)}sa=f+48|0;f=J[a+20>>2];V=V+1|0;if((f|0)>(V|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);k=a;a=J[J[e+12>>2]+8>>2];Ua(k,(b?c:a)+4|0,(b?a:f)+4|0)}sa=d+48|0}function db(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=sa-256|0;sa=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];Fa(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){J[8456]=J[8456]+1;i=ua[J[8258]](P(l,244),16)|0;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;Ja(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?!d|!K[a+20|0]:1)){J[8457]=J[8457]+1;ua[J[8259]](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;Ja(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+176>>2]=0;J[d+180>>2]=0;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;J[d+224>>2]=0;J[d+228>>2]=0;J[d+216>>2]=0;J[d+220>>2]=0;J[d+208>>2]=0;J[d+212>>2]=0;J[d+200>>2]=0;J[d+204>>2]=0;J[d+192>>2]=0;J[d+196>>2]=0;J[d+184>>2]=0;J[d+188>>2]=0;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;Fa(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){J[8456]=J[8456]+1;o=ua[J[8258]](P(l,244),16)|0;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;Ja(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?!h|!K[a+20|0]:1)){J[8457]=J[8457]+1;ua[J[8259]](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;Ja(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;J[b+232>>2]=0;J[b+236>>2]=0;J[b+224>>2]=0;J[b+228>>2]=0;J[b+216>>2]=0;J[b+220>>2]=0;J[b+208>>2]=0;J[b+212>>2]=0;J[b+200>>2]=0;J[b+204>>2]=0;J[b+192>>2]=0;J[b+196>>2]=0;J[b+184>>2]=0;J[b+188>>2]=0;J[b+176>>2]=0;J[b+180>>2]=0;h=J[a+188>>2]}sa=g+256|0;return h}function Ao(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=sa-32|0;sa=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;ua[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)));ua[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));ua[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)));ua[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);ua[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);ua[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);ua[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);ua[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));ua[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)));ua[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));ua[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)));ua[J[J[a>>2]+16>>2]](a,v,f,e);sa=f+32|0}function jc(a,b,c,d){var e=0,f=0,g=Q(0),h=Q(0),i=Q(0),j=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=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);e=sa-144|0;sa=e;g=N[b+8>>2];i=N[b>>2];h=N[b+4>>2];a:{if(Q(Q(g*g)+Q(Q(i*i)+Q(h*h)))>2];j=J[f+64>>2];J[e+136>>2]=J[f+60>>2];J[e+140>>2]=j;j=J[f+56>>2];J[e+128>>2]=J[f+52>>2];J[e+132>>2]=j;j=J[f+64>>2];J[e+120>>2]=J[f+60>>2];J[e+124>>2]=j;j=J[f+56>>2];f=J[f+52>>2];z=Q(g+N[e+120>>2]);N[e+120>>2]=z;J[e+112>>2]=f;J[e+116>>2]=j;A=Q(i+N[e+112>>2]);N[e+112>>2]=A;B=Q(h+N[e+116>>2]);N[e+116>>2]=B;b:{c:{if(!d){f=0;break c}f=0;C=N[e+136>>2];g=Q(z-C);D=N[e+128>>2];i=Q(A-D);E=N[e+132>>2];h=Q(B-E);l=Q(Y(Q(Q(g*g)+Q(Q(i*i)+Q(h*h)))));if(l<=c){break c}while(1){n=g;g=Q(Q(1)/l);n=Q(n*g);u=Q(i*g);v=Q(h*g);if(Q(Q(n*N[b+8>>2])+Q(Q(u*N[b>>2])+Q(v*N[b+4>>2])))<=Q(0)){break c}N[e+100>>2]=l+N[a+36>>2];k=Q(0);i=Q(0);f=sa-224|0;sa=f;m=J[(K[a+108|0]?104:8)+a>>2];j=H[33900]&1;d:{if(j){j=!j;h=N[8474];k=N[8473];i=N[8472];g=N[8471];break d}J[8473]=0;J[8474]=1065353216;J[8471]=0;J[8472]=0;H[33900]=1;h=Q(1);j=0;g=Q(0)}w=N[e+100>>2];J[f+204>>2]=0;J[f+188>>2]=0;p=Q(Q(2)/Q(Q(h*h)+Q(Q(k*k)+Q(Q(g*g)+Q(i*i)))));q=Q(k*p);o=Q(i*q);x=Q(g*p);t=Q(h*x);N[f+196>>2]=o+t;N[f+184>>2]=o-t;o=Q(g*x);p=Q(i*p);x=Q(i*p);N[f+200>>2]=Q(1)-Q(o+x);s=o;o=Q(k*q);N[f+180>>2]=Q(1)-Q(s+o);J[f+172>>2]=0;t=Q(g*q);y=Q(h*p);N[f+192>>2]=t-y;p=Q(g*p);q=Q(h*q);N[f+176>>2]=p+q;N[f+168>>2]=t+y;N[f+164>>2]=p-q;N[f+160>>2]=Q(1)-Q(x+o);r=J[e+140>>2];J[f+216>>2]=J[e+136>>2];J[f+220>>2]=r;r=J[e+132>>2];J[f+208>>2]=J[e+128>>2];J[f+212>>2]=r;if(j){J[8473]=0;J[8474]=1065353216;J[8471]=0;J[8472]=0;H[33900]=1;k=Q(0);h=Q(1);i=Q(0);g=Q(0)}p=N[e+136>>2];y=N[e+120>>2];o=N[e+128>>2];F=N[e+112>>2];x=N[e+132>>2];L=N[e+116>>2];J[f+156>>2]=0;J[f+140>>2]=0;J[f+124>>2]=0;t=Q(Q(2)/Q(Q(h*h)+Q(Q(k*k)+Q(Q(g*g)+Q(i*i)))));q=Q(k*t);s=Q(i*q);G=Q(g*t);I=Q(h*G);N[f+132>>2]=s+I;N[f+120>>2]=s-I;s=Q(g*G);t=Q(i*t);G=Q(i*t);N[f+136>>2]=Q(1)-Q(s+G);i=s;s=Q(k*q);N[f+116>>2]=Q(1)-Q(i+s);k=Q(y-p);y=Q(F-o);F=Q(L-x);i=Q(Q(1)/Q(Y(Q(Q(k*k)+Q(Q(y*y)+Q(F*F))))));N[f+152>>2]=p+Q(w*Q(k*i));N[f+148>>2]=x+Q(w*Q(F*i));J[f+108>>2]=0;k=Q(g*q);p=Q(h*t);N[f+128>>2]=k-p;g=Q(g*t);h=Q(h*q);N[f+112>>2]=g+h;N[f+104>>2]=k+p;N[f+100>>2]=g-h;N[f+96>>2]=Q(1)-Q(G+s);N[f+144>>2]=o+Q(w*Q(y*i));j=J[a+4>>2];J[f+20>>2]=0;J[f+8>>2]=1065353216;r=J[e+140>>2];J[f+32>>2]=J[e+136>>2];J[f+36>>2]=r;r=J[e+132>>2];J[f+24>>2]=J[e+128>>2];J[f+28>>2]=r;r=J[e+124>>2];J[f+48>>2]=J[e+120>>2];J[f+52>>2]=r;r=J[e+116>>2];J[f+40>>2]=J[e+112>>2];J[f+44>>2]=r;J[f+92>>2]=j;J[f+88>>2]=0;J[f+4>>2]=25460;j=J[j+188>>2];J[f+12>>2]=J[j+4>>2];J[f+16>>2]=J[j+8>>2];j=J[a+12>>2];vb(j,m,f+160|0,f+96|0,f+4|0,N[j+56>>2]);j=J[f+20>>2];if(j){g=N[f+8>>2];m=J[f+76>>2];J[e+68>>2]=J[f+72>>2];J[e+72>>2]=m;m=J[f+84>>2];J[e+76>>2]=J[f+80>>2];J[e+80>>2]=m;m=f- -64|0;r=J[m+4>>2];J[e+92>>2]=J[m>>2];J[e+96>>2]=r;m=J[f+60>>2];r=J[f+56>>2];J[e+104>>2]=j;N[e+100>>2]=w*g;J[e+84>>2]=r;J[e+88>>2]=m;J[e+108>>2]=J[f+88>>2]}sa=f+224|0;if(!j){b=J[e+124>>2];J[e+136>>2]=J[e+120>>2];J[e+140>>2]=b;b=J[e+116>>2];J[e+128>>2]=J[e+112>>2];J[e+132>>2]=b;f=0;break c}f=J[a+20>>2];e:{if(!f){break e}j=J[e+104>>2];m=J[j+252>>2];if(m&2){J[e+64>>2]=j;j=J[e+108>>2];J[e+60>>2]=j;J[e+4>>2]=a;m=J[e+96>>2];J[e+32>>2]=J[e+92>>2];J[e+36>>2]=m;m=J[e+88>>2];J[e+24>>2]=J[e+84>>2];J[e+28>>2]=m;m=J[e+80>>2];J[e+16>>2]=J[e+76>>2];J[e+20>>2]=m;m=J[e+72>>2];J[e+8>>2]=J[e+68>>2];J[e+12>>2]=m;N[e+56>>2]=l;J[e+52>>2]=0;N[e+48>>2]=n;N[e+44>>2]=v;N[e+40>>2]=u;if(!j){break e}ua[J[J[f>>2]>>2]](f,e+4|0);break e}if(!(m&4)){break e}j=J[j+256>>2];if(!j){break e}J[e+60>>2]=j;J[e+4>>2]=a;j=J[e+96>>2];J[e+32>>2]=J[e+92>>2];J[e+36>>2]=j;j=J[e+88>>2];J[e+24>>2]=J[e+84>>2];J[e+28>>2]=j;j=J[e+80>>2];J[e+16>>2]=J[e+76>>2];J[e+20>>2]=j;j=J[e+72>>2];J[e+8>>2]=J[e+68>>2];J[e+12>>2]=j;N[e+56>>2]=l;J[e+52>>2]=0;N[e+48>>2]=n;N[e+44>>2]=v;N[e+40>>2]=u;ua[J[J[f>>2]+4>>2]](f,e+4|0)}g=N[e+100>>2];if(!(!K[a+63|0]|g!=Q(0))){$a(a);$a(a);$a(a);$a(a);break b}g=Q(g-N[a+36>>2]);if(g>Q(0)){C=Q(C+Q(n*g));N[e+136>>2]=C;E=Q(E+Q(v*g));N[e+132>>2]=E;D=Q(D+Q(u*g));N[e+128>>2]=D}h=N[a+48>>2];k=N[a+40>>2];w=N[a+44>>2];N[a+68>>2]=Q(N[e+76>>2]*h)+Q(Q(N[e+68>>2]*k)+Q(N[e+72>>2]*w));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[a+80>>2]=J[e+92>>2];J[a+84>>2]=f;f=J[e+88>>2];J[a+72>>2]=J[e+84>>2];J[a+76>>2]=f;l=N[a+76>>2];g=N[a+72>>2];f:{if(!K[a+61|0]){i=N[a+80>>2];break f}q=N[a+80>>2];i=Q(Q(q*h)+Q(Q(g*k)+Q(w*l)));h=Q(q-Q(h*i));g=Q(g-Q(k*i));l=Q(l-Q(w*i));i=Q(Q(h*h)+Q(Q(g*g)+Q(l*l)));if(i>2]=0;o=h;h=Q(Q(1)/Q(Y(i)));i=Q(o*h);N[a+80>>2]=i;l=Q(l*h);N[a+76>>2]=l;g=Q(g*h);N[a+72>>2]=g}f=J[e+140>>2];J[e+120>>2]=J[e+136>>2];J[e+124>>2]=f;h=Q(z-C);o=Q(h*h);h=Q(A-D);s=Q(h*h);h=Q(B-E);h=Q(Y(Q(o+Q(s+Q(h*h)))));k=Q(Q(n*i)+Q(Q(u*g)+Q(v*l)));n=Q(n-Q(Q(i+i)*k));o=n;s=Q(n*n);n=Q(u-Q(Q(g+g)*k));k=Q(v-Q(Q(l+l)*k));u=Q(Q(1)/Q(Y(Q(s+Q(Q(n*n)+Q(k*k))))));v=Q(o*u);o=i;n=Q(n*u);k=Q(k*u);i=Q(Q(v*i)+Q(Q(n*g)+Q(l*k)));z=Q(N[e+120>>2]+Q(h*Q(v-Q(o*i))));N[e+120>>2]=z;f=J[e+132>>2];J[e+112>>2]=J[e+128>>2];J[e+116>>2]=f;A=Q(N[e+112>>2]+Q(h*Q(n-Q(g*i))));N[e+112>>2]=A;B=Q(N[e+116>>2]+Q(h*Q(k-Q(l*i))));N[e+116>>2]=B;d=d-1|0;if(d){f=1;g=Q(z-C);i=Q(A-D);h=Q(B-E);l=Q(Y(Q(Q(g*g)+Q(Q(i*i)+Q(h*h)))));if(l<=c){break c}continue}break}f=1}b=J[e+140>>2];a=J[a+4>>2];J[a+60>>2]=J[e+136>>2];J[a+64>>2]=b;b=J[e+132>>2];J[a+52>>2]=J[e+128>>2];J[a+56>>2]=b;break a}f=1}sa=e+144|0;return f}function Xa(a){var b=0,c=0,d=0,e=Q(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),o=Q(0),p=Q(0),q=Q(0),r=Q(0),s=0;d=sa-32|0;sa=d;a:{b:{c:{d:{e:{f:{b=J[a+372>>2];switch(J[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=J[a+364>>2];c=J[a+372>>2];g=J[c+32>>2];f=(g<<2)+c|0;J[f+16>>2]=0;b=b-1|0;J[a+364>>2]=b;b=J[((b<<2)+a|0)+348>>2];J[f>>2]=b;J[c+32>>2]=g+1;J[b+8>>2]=0;J[b+12>>2]=0;J[b>>2]=1065353216;J[b+4>>2]=0;Ra(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(Xa(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];g=J[c+32>>2];f=(g<<2)+c|0;J[f>>2]=b;J[f+16>>2]=0;J[c+32>>2]=g+1;J[b+8>>2]=-2147483648;J[b+12>>2]=0;J[b>>2]=-1082130432;J[b+4>>2]=-2147483648;Ra(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(Xa(a)){break a}b=J[a+372>>2];c=J[b+32>>2]-1|0;J[b+32>>2]=c;c=J[b+(c<<2)>>2];b=J[a+364>>2];J[a+364>>2]=b+1;g=(b<<2)+a|0;J[g+348>>2]=c;c=J[a+372>>2];f=J[c+32>>2];l=(f<<2)+c|0;J[l+16>>2]=0;J[a+364>>2]=b;b=J[g+348>>2];J[l>>2]=b;J[c+32>>2]=f+1;J[b+8>>2]=0;J[b+12>>2]=0;J[b>>2]=0;J[b+4>>2]=1065353216;Ra(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(Xa(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];g=J[c+32>>2];f=(g<<2)+c|0;J[f>>2]=b;J[f+16>>2]=0;J[c+32>>2]=g+1;J[b+8>>2]=-2147483648;J[b+12>>2]=0;J[b>>2]=-2147483648;J[b+4>>2]=-1082130432;Ra(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(Xa(a)){break a}b=J[a+372>>2];c=J[b+32>>2]-1|0;J[b+32>>2]=c;c=J[b+(c<<2)>>2];b=J[a+364>>2];J[a+364>>2]=b+1;g=(b<<2)+a|0;J[g+348>>2]=c;c=J[a+372>>2];f=J[c+32>>2];l=(f<<2)+c|0;J[l+16>>2]=0;J[a+364>>2]=b;b=J[g+348>>2];J[l>>2]=b;J[c+32>>2]=f+1;J[b+8>>2]=1065353216;J[b+12>>2]=0;J[b>>2]=0;J[b+4>>2]=0;Ra(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(Xa(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];g=J[c+32>>2];f=(g<<2)+c|0;J[f>>2]=b;J[f+16>>2]=0;J[c+32>>2]=g+1;J[b+8>>2]=-1082130432;J[b+12>>2]=0;J[b>>2]=-2147483648;J[b+4>>2]=-2147483648;Ra(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(Xa(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}c=J[b+4>>2];b=J[b>>2];k=Q(N[c+20>>2]-N[b+20>>2]);m=Q(-k);n=Q(N[c+24>>2]-N[b+24>>2]);p=Q(-n);o=Q(N[c+16>>2]-N[b+16>>2]);r=Q(-o);while(1){g:{J[d+8>>2]=0;J[d+12>>2]=0;J[d>>2]=0;J[d+4>>2]=0;J[d+(g<<2)>>2]=1065353216;e=N[d+4>>2];j=N[d>>2];h=Q(Q(o*e)+Q(j*m));q=N[d+8>>2];i=Q(Q(k*q)+Q(e*p));j=Q(Q(n*j)+Q(q*r));e=Q(Q(h*h)+Q(Q(i*i)+Q(j*j)));if(e>Q(0)){c=J[a+372>>2];f=J[c+32>>2];b=(f<<2)+c|0;J[b+16>>2]=0;l=J[a+364>>2]-1|0;J[a+364>>2]=l;s=b;b=J[((l<<2)+a|0)+348>>2];J[s>>2]=b;J[c+32>>2]=f+1;J[b+12>>2]=0;e=Q(Q(1)/Q(Y(e)));N[b+8>>2]=h*e;N[b+4>>2]=j*e;N[b>>2]=i*e;Ra(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(Xa(a)){break g}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];l=(f<<2)+c|0;J[l>>2]=b;J[l+16>>2]=0;J[c+32>>2]=f+1;J[b+12>>2]=0;N[b+8>>2]=e*Q(-h);N[b+4>>2]=e*Q(-j);N[b>>2]=e*Q(-i);Ra(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(Xa(a)){break g}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}g=g+1|0;if((g|0)!=3){continue}break b}break}c=1;break a}c=J[b+4>>2];g=J[b>>2];e=N[g+16>>2];j=Q(N[c+16>>2]-e);f=J[b+8>>2];h=N[g+20>>2];i=Q(N[f+20>>2]-h);e=Q(N[f+16>>2]-e);k=Q(N[c+20>>2]-h);h=Q(Q(j*i)-Q(e*k));n=k;k=N[g+24>>2];m=Q(N[f+24>>2]-k);k=Q(N[c+24>>2]-k);i=Q(Q(n*m)-Q(i*k));j=Q(Q(k*e)-Q(m*j));e=Q(Q(h*h)+Q(Q(i*i)+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]=h*e;N[c+4>>2]=j*e;N[c>>2]=i*e;Ra(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(Xa(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];g=J[c+32>>2];f=(g<<2)+c|0;J[f>>2]=b;J[f+16>>2]=0;J[c+32>>2]=g+1;J[b+12>>2]=0;N[b+8>>2]=e*Q(-h);N[b+4>>2]=e*Q(-j);N[b>>2]=e*Q(-i);Ra(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(Xa(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];g=J[b+12>>2];e=N[g+16>>2];j=Q(N[a+16>>2]-e);f=J[b+4>>2];h=N[g+20>>2];k=Q(N[f+20>>2]-h);b=J[b+8>>2];i=N[g+24>>2];m=Q(N[b+24>>2]-i);n=Q(N[a+20>>2]-h);p=Q(N[f+24>>2]-i);o=Q(N[b+16>>2]-e);i=Q(N[a+24>>2]-i);e=Q(N[f+16>>2]-e);h=Q(N[b+20>>2]-h);e=Q(Q(Q(Q(j*k)*m)+Q(Q(Q(Q(Q(n*p)*o)+Q(Q(i*e)*h))-Q(Q(p*j)*h))-Q(Q(e*n)*m)))-Q(Q(k*i)*o));c=1;if(e>Q(0)|e>2]-17>>>0<=1?J[d+4>>2]-17>>>0<2:F;while(1){Mb();q=w<<4;k=N[q+34024>>2];n=N[q+34016>>2];l=N[q+34020>>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=ua[J[J[c>>2]+84>>2]](c)|0;if((E|0)>0){u=a+3256|0;w=0;while(1){ua[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));Mb();C=J[u+4>>2];o=q<<4;v=o+34024|0;J[v>>2]=J[u>>2];J[v+4>>2]=C;C=J[a+3252>>2];v=o+34016|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=ua[J[J[d>>2]+84>>2]](d)|0;if((E|0)>0){u=a+3256|0;w=0;while(1){ua[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));Mb();C=J[u+4>>2];o=q<<4;v=o+34024|0;J[v>>2]=J[u>>2];J[v+4>>2]=C;C=J[a+3252>>2];v=o+34016|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}}ua[J[J[c>>2]+76>>2]](c,a+1264|0,a+3248|0,q);ua[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){Mb();u=w<<4;r=F?Q(0):N[u+34024>>2];s=N[u+34016>>2];t=N[u+34020>>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}}Qb(c);Qb(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]=22904;J[b+16>>2]=0;N[b+12>>2]=-n;N[b+8>>2]=-l;N[b+4>>2]=-k;Za(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}sa=a+4240|0;return q|0}function xe(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[a+168>>2]=J[a+152>>2];Ce(b);c=J[a+56>>2];a:{if(d){J[b+56>>2]=c<<24|(c&65280)<<8|(c>>>8&65280|c>>>24);H[b+4|0]=K[a+7|0];H[b+5|0]=K[a+6|0];H[b+6|0]=K[a+5|0];H[b+7|0]=K[a+4|0];H[b+8|0]=K[a+11|0];H[b+9|0]=K[a+10|0];H[b+10|0]=K[a+9|0];H[b+11|0]=K[a+8|0];H[b+12|0]=K[a+15|0];H[b+13|0]=K[a+14|0];H[b+14|0]=K[a+13|0];H[b+15|0]=K[a+12|0];H[b+16|0]=K[a+19|0];H[b+17|0]=K[a+18|0];H[b+18|0]=K[a+17|0];H[b+19|0]=K[a+16|0];H[b+20|0]=K[a+23|0];H[b+21|0]=K[a+22|0];H[b+22|0]=K[a+21|0];H[b+23|0]=K[a+20|0];H[b+24|0]=K[a+27|0];H[b+25|0]=K[a+26|0];H[b+26|0]=K[a+25|0];H[b+27|0]=K[a+24|0];H[b+28|0]=K[a+31|0];H[b+29|0]=K[a+30|0];H[b+30|0]=K[a+29|0];H[b+31|0]=K[a+28|0];H[b+32|0]=K[a+35|0];H[b+33|0]=K[a+34|0];H[b+34|0]=K[a+33|0];H[b+35|0]=K[a+32|0];H[b+36|0]=K[a+39|0];H[b+37|0]=K[a+38|0];H[b+38|0]=K[a+37|0];H[b+39|0]=K[a+36|0];H[b+40|0]=K[a+43|0];H[b+41|0]=K[a+42|0];H[b+42|0]=K[a+41|0];H[b+43|0]=K[a+40|0];H[b+44|0]=K[a+47|0];H[b+45|0]=K[a+46|0];H[b+46|0]=K[a+45|0];H[b+47|0]=K[a+44|0];H[b+48|0]=K[a+51|0];H[b+49|0]=K[a+50|0];H[b+50|0]=K[a+49|0];H[b+51|0]=K[a+48|0];c=J[a+168>>2];g=c<<24|(c&65280)<<8|(c>>>8&65280|c>>>24);c=J[a+144>>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;g=J[a+168>>2];c=J[a+144>>2]}J[b+168>>2]=g;J[b+144>>2]=c;H[b+60|0]=K[a+60|0];i=b+172|0;j=J[a+56>>2];b:{if(K[a+60|0]){c=J[b+136>>2];if(!(c?!c|!K[b+140|0]:1)){J[8457]=J[8457]+1;ua[J[8259]](c)}J[b+136>>2]=i;H[b+140|0]=0;c:{if(!d){if((j|0)<=0){break c}h=J[a+136>>2];g=0;while(1){c=g<<4;f=c+i|0;c=c+h|0;I[f>>1]=L[c>>1];I[f+2>>1]=L[c+2>>1];I[f+4>>1]=L[c+4>>1];I[f+6>>1]=L[c+6>>1];I[f+8>>1]=L[c+8>>1];I[f+10>>1]=L[c+10>>1];J[f+12>>2]=J[c+12>>2];g=g+1|0;if((j|0)!=(g|0)){continue}break}break c}if((j|0)<=0){break c}h=J[a+136>>2];g=0;while(1){c=g<<4;e=c+i|0;f=c+h|0;c=L[f>>1];I[e>>1]=c<<8|c>>>8;c=L[f+2>>1];I[e+2>>1]=c<<8|c>>>8;c=L[f+4>>1];I[e+4>>1]=c<<8|c>>>8;c=L[f+6>>1];I[e+6>>1]=c<<8|c>>>8;c=L[f+8>>1];I[e+8>>1]=c<<8|c>>>8;c=L[f+10>>1];I[e+10>>1]=c<<8|c>>>8;c=J[f+12>>2];J[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=J[b+96>>2];if(!(c?!c|!K[b+100|0]:1)){J[8457]=J[8457]+1;ua[J[8259]](c)}J[b+96>>2]=i;H[b+100|0]=0;J[b+92>>2]=j;h=b+88|0;J[h>>2]=j;d:{if(!d){c=i;if((j|0)<=0){break d}l=J[a+96>>2];g=0;while(1){k=g<<6;e=k+c|0;f=k+l|0;c=J[f+4>>2];J[e>>2]=J[f>>2];J[e+4>>2]=c;c=J[f+12>>2];J[e+8>>2]=J[f+8>>2];J[e+12>>2]=c;f=k+J[a+96>>2]|0;c=J[f+20>>2];e=k+J[b+96>>2]|0;J[e+16>>2]=J[f+16>>2];J[e+20>>2]=c;c=J[f+28>>2];J[e+24>>2]=J[f+24>>2];J[e+28>>2]=c;c=J[b+96>>2];e=k+c|0;l=J[a+96>>2];f=k+l|0;J[e+32>>2]=J[f+32>>2];J[e+36>>2]=J[f+36>>2];J[e+40>>2]=J[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=J[a+96>>2];while(1){f=l<<6;e=f+c|0;c=f+k|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];H[e+4|0]=K[c+7|0];H[e+5|0]=K[c+6|0];H[e+6|0]=K[c+5|0];H[e+7|0]=K[c+4|0];H[e+8|0]=K[c+11|0];H[e+9|0]=K[c+10|0];H[e+10|0]=K[c+9|0];H[e+11|0]=K[c+8|0];H[e+12|0]=K[c+15|0];H[e+13|0]=K[c+14|0];H[e+14|0]=K[c+13|0];H[e+15|0]=K[c+12|0];e=f+J[b+96>>2]|0;c=f+J[a+96>>2]|0;H[e+16|0]=K[c+19|0];H[e+17|0]=K[c+18|0];H[e+18|0]=K[c+17|0];H[e+19|0]=K[c+16|0];H[e+20|0]=K[c+23|0];H[e+21|0]=K[c+22|0];H[e+22|0]=K[c+21|0];H[e+23|0]=K[c+20|0];H[e+24|0]=K[c+27|0];H[e+25|0]=K[c+26|0];H[e+26|0]=K[c+25|0];H[e+27|0]=K[c+24|0];H[e+28|0]=K[c+31|0];H[e+29|0]=K[c+30|0];H[e+30|0]=K[c+29|0];H[e+31|0]=K[c+28|0];c=J[b+96>>2];e=f+c|0;k=J[a+96>>2];f=f+k|0;g=J[f+32>>2];J[e+32>>2]=g<<24|(g&65280)<<8|(g>>>8&65280|g>>>24);g=J[f+36>>2];J[e+36>>2]=g<<24|(g&65280)<<8|(g>>>8&65280|g>>>24);f=J[f+40>>2];J[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(!K[b+100|0]){break b}if(c){J[8457]=J[8457]+1;ua[J[8259]](c)}}J[h>>2]=0;J[h+4>>2]=0;H[h+5|0]=0;H[h+6|0]=0;H[h+7|0]=0;H[h+8|0]=0;H[h+9|0]=0;H[h+10|0]=0;H[h+11|0]=0;H[h+12|0]=0;h=g+i|0;i=J[a+168>>2];c=J[b+160>>2];if(!(c?!c|!K[b+164|0]:1)){J[8457]=J[8457]+1;ua[J[8259]](c)}J[b+160>>2]=h;H[b+164|0]=0;J[b+156>>2]=i;J[b+152>>2]=i;i=J[a+168>>2];e:{if(!d){if((i|0)<=0){break e}i=J[a+160>>2];d=0;while(1){c=d<<5;f=c+h|0;c=c+i|0;I[f>>1]=L[c>>1];I[f+2>>1]=L[c+2>>1];I[f+4>>1]=L[c+4>>1];I[f+6>>1]=L[c+6>>1];I[f+8>>1]=L[c+8>>1];I[f+10>>1]=L[c+10>>1];J[f+12>>2]=J[c+12>>2];c=J[c+16>>2];J[f+28>>2]=0;J[f+20>>2]=0;J[f+24>>2]=0;J[f+16>>2]=c;d=d+1|0;if((d|0)>2]){continue}break}break e}if((i|0)<=0){break e}c=J[a+160>>2];d=0;while(1){a=d<<5;e=a+h|0;f=a+c|0;a=L[f>>1];I[e>>1]=a<<8|a>>>8;a=L[f+2>>1];I[e+2>>1]=a<<8|a>>>8;a=L[f+4>>1];I[e+4>>1]=a<<8|a>>>8;a=L[f+6>>1];I[e+6>>1]=a<<8|a>>>8;a=L[f+8>>1];I[e+8>>1]=a<<8|a>>>8;a=L[f+10>>1];I[e+10>>1]=a<<8|a>>>8;a=J[f+12>>2];J[e+12>>2]=a<<24|(a&65280)<<8|(a>>>8&65280|a>>>24);a=J[f+16>>2];J[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?K[b+164|0]:0){J[8457]=J[8457]+1;ua[J[8259]](h)}J[b>>2]=0;H[b+157|0]=0;H[b+158|0]=0;H[b+159|0]=0;H[b+160|0]=0;H[b+161|0]=0;H[b+162|0]=0;H[b+163|0]=0;H[b+164|0]=0;J[b+152>>2]=0;J[b+156>>2]=0;return 1}function ff(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=sa-96|0;sa=f;H[f+92|0]=1;J[f+60>>2]=0;J[f+64>>2]=0;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;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;m=J[a+8>>2];a:{if((m|0)<=0){break a}while(1){g=J[J[J[a+16>>2]+(r<<2)>>2]+192>>2];J[f+12>>2]=g;c=g+(g<<15^-1)|0;c=P(c>>>10^c,9);c=c>>>6^c;c=(c<<11^-1)+c|0;c=J[f+64>>2]-1&(c>>>16^c);b:{c:{if(c>>>0>=M[f+20>>2]){break c}c=J[J[f+28>>2]+(c<<2)>>2];if((c|0)==-1){break c}d=J[f+48>>2];e=J[f+88>>2];while(1){if((g|0)!=J[e+(c<<3)>>2]){c=J[d+(c<<2)>>2];if((c|0)!=-1){continue}break c}break}if(J[f+68>>2]){break b}}J[f+4>>2]=g;g=0;d:{e:{d=f+16|0;m=J[d+48>>2];c=J[f+4>>2];e=(c<<15^-1)+c|0;e=P(e>>>10^e,9);e=e>>>6^e;e=(e<<11^-1)+e|0;o=m-1&(e>>>16^e);f:{if(o>>>0>=M[d+4>>2]){break f}e=J[J[d+12>>2]+(o<<2)>>2];if((e|0)==-1){break f}j=J[d+32>>2];h=J[d+72>>2];while(1){if((c|0)==J[h+(e<<3)>>2]){break e}e=J[j+(e<<2)>>2];if((e|0)!=-1){continue}break}}s=J[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}J[8456]=J[8456]+1;j=ua[J[8258]](i<<2,16)|0;c=J[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;J[l+j>>2]=J[l+J[d+52>>2]>>2];k=l|4;J[k+j>>2]=J[k+J[d+52>>2]>>2];k=l|8;J[k+j>>2]=J[k+J[d+52>>2]>>2];l=l|12;J[l+j>>2]=J[l+J[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;J[l+j>>2]=J[l+J[d+52>>2]>>2];e=e+1|0;h=h+1|0;if((g|0)!=(h|0)){continue}break}}g=J[d+52>>2];if(!(!g|!K[d+56|0])){if(g){J[8457]=J[8457]+1;ua[J[8259]](g)}c=J[d+44>>2]}J[d+52>>2]=j;H[d+56|0]=1;J[d+48>>2]=i}J[J[d+52>>2]+(c<<2)>>2]=J[f+12>>2];J[d+44>>2]=c+1;c=J[d- -64>>2];j:{if((c|0)!=J[d+68>>2]){break j}l=c?c<<1:1;if((l|0)<=(c|0)){break j}k:{if(!l){j=0;break k}J[8456]=J[8456]+1;j=ua[J[8258]](l<<3,16)|0;c=J[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+J[d+72>>2]|0;q=J[p+4>>2];J[k>>2]=J[p>>2];J[k+4>>2]=q;k=i|8;p=k+j|0;k=k+J[d+72>>2]|0;q=J[k+4>>2];J[p>>2]=J[k>>2];J[p+4>>2]=q;k=i|16;p=k+j|0;k=k+J[d+72>>2]|0;q=J[k+4>>2];J[p>>2]=J[k>>2];J[p+4>>2]=q;i=i|24;k=i+j|0;i=i+J[d+72>>2]|0;p=J[i+4>>2];J[k>>2]=J[i>>2];J[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+J[d+72>>2]|0;n=J[g+4>>2];J[i>>2]=J[g>>2];J[i+4>>2]=n;e=e+1|0;h=h+1|0;if((c|0)!=(h|0)){continue}break}}c=J[d+72>>2];if(!(c?!c|!K[d+76|0]:1)){J[8457]=J[8457]+1;ua[J[8259]](c)}J[d+72>>2]=j;H[d+76|0]=1;J[d+68>>2]=l;c=J[d+64>>2]}g=J[f+8>>2];c=J[d+72>>2]+(c<<3)|0;J[c>>2]=J[f+4>>2];J[c+4>>2]=g;J[d+64>>2]=J[d+64>>2]+1;if((m|0)>2]){e=0;j=0;l=0;o=0;m=J[d+4>>2];h=J[d+48>>2];m:{if((m|0)>=(h|0)){break m}n:{if((h|0)<=J[d+8>>2]){e=J[d+12>>2];break n}if(h){J[8456]=J[8456]+1;e=ua[J[8258]](h<<2,16)|0;c=J[d+4>>2]}else{c=m}g=J[d+12>>2];o:{p:{if((c|0)>0){if(c>>>0>=4){n=c&-4;while(1){i=j<<2;J[i+e>>2]=J[g+i>>2];k=i|4;J[k+e>>2]=J[g+k>>2];k=i|8;J[k+e>>2]=J[g+k>>2];i=i|12;J[i+e>>2]=J[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;J[i+e>>2]=J[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?K[d+16|0]:0){J[8457]=J[8457]+1;ua[J[8259]](g)}}J[d+12>>2]=e;H[d+16|0]=1;J[d+8>>2]=h}c=m<<2;n=h<<2;Fa(c+e|0,0,n-c|0);J[d+4>>2]=h;g=J[d+24>>2];if((g|0)<(h|0)){q:{if((h|0)<=J[d+28>>2]){e=J[d+32>>2];break q}r:{if(!h){e=0;c=g;break r}J[8456]=J[8456]+1;e=ua[J[8258]](n,16)|0;c=J[d+24>>2]}i=J[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;J[k+e>>2]=J[i+k>>2];q=k|4;J[q+e>>2]=J[i+q>>2];q=k|8;J[q+e>>2]=J[i+q>>2];k=k|12;J[k+e>>2]=J[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;J[l+e>>2]=J[i+l>>2];j=j+1|0;o=o+1|0;if((c|0)!=(o|0)){continue}break}break s}if(i){break s}J[d+32>>2]=e;J[d+28>>2]=h;H[d+36|0]=1;break q}if(i?K[d+36|0]:0){J[8457]=J[8457]+1;ua[J[8259]](i)}J[d+32>>2]=e;H[d+36|0]=1;J[d+28>>2]=h}c=g<<2;Fa(c+e|0,0,n-c|0)}J[d+24>>2]=h;if((h|0)>0){Fa(J[d+12>>2],255,n);Fa(J[d+32>>2],255,n)}if((m|0)<=0){break m}c=J[d+32>>2];g=J[d+72>>2];e=J[d+12>>2];j=0;while(1){h=J[g+(j<<3)>>2];h=(h<<15^-1)+h|0;h=P(h>>>10^h,9);h=h>>>6^h;h=(h<<11^-1)+h|0;h=e+((J[d+48>>2]-1&(h>>>16^h))<<2)|0;J[c+(j<<2)>>2]=J[h>>2];J[h>>2]=j;j=j+1|0;if((m|0)!=(j|0)){continue}break}}c=J[f+4>>2];c=(c<<15^-1)+c|0;c=P(c>>>10^c,9);c=c>>>6^c;c=(c<<11^-1)+c|0;o=J[d+48>>2]-1&(c>>>16^c)}c=J[d+12>>2]+(o<<2)|0;J[J[d+32>>2]+(s<<2)>>2]=J[c>>2];J[c>>2]=s;break d}J[J[d+52>>2]+(e<<2)>>2]=J[f+12>>2]}c=J[f+12>>2];ua[J[J[c>>2]+60>>2]](c,b);m=J[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=J[J[a+16>>2]+(c<<2)>>2];d=J[g+252>>2];if(!((d|0)!=64&(d|0)!=1)){ua[J[J[g>>2]+24>>2]](g,b);m=J[a+8>>2]}c=c+1|0;if((c|0)<(m|0)){continue}break}}a=J[f+88>>2];if(!(a?!a|!K[f+92|0]:1)){J[8457]=J[8457]+1;ua[J[8259]](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?!a|!K[f+72|0]:1)){J[8457]=J[8457]+1;ua[J[8259]](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?!a|!K[f+52|0]:1)){J[8457]=J[8457]+1;ua[J[8259]](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?!a|!K[f+32|0]:1)){J[8457]=J[8457]+1;ua[J[8259]](a)}sa=f+96|0}function Th(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=0,j=Q(0),k=Q(0),l=0,m=Q(0),n=Q(0),o=0,p=0;c=J[d+72>>2];a:{if(!(c&4)){break a}b=J[a+28>>2];if((b|0)<=0){break a}l=J[a+76>>2];i=J[a+36>>2];if(c&16){c=0;while(1){e=i+P(c,152)|0;g=J[e+132>>2];N[g+132>>2]=N[e+100>>2];e=l+P(J[e+140>>2],152)|0;N[g+136>>2]=N[e+100>>2];N[g+140>>2]=N[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+P(c,152)|0;o=J[g+132>>2];N[o+132>>2]=N[g+100>>2];N[o+136>>2]=N[(l+P(J[g+140>>2],152)|0)+100>>2];g=i+P(c|1,152)|0;o=J[g+132>>2];N[o+132>>2]=N[g+100>>2];N[o+136>>2]=N[(l+P(J[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+P(c,152)|0;c=J[b+132>>2];N[c+132>>2]=N[b+100>>2];N[c+136>>2]=N[(l+P(J[b+140>>2],152)|0)+100>>2]}p=J[a+48>>2];if((p|0)>0){o=J[a+56>>2];l=0;while(1){c=o+P(l,152)|0;e=J[c+132>>2];b=J[e+44>>2];if(b){i=J[e+28>>2];j=N[i+416>>2];k=N[c+24>>2];m=N[i+412>>2];n=N[c+20>>2];f=N[c+100>>2];h=Q(Q(1)/N[d+12>>2]);N[b>>2]=N[b>>2]+Q(Q(Q(N[c+16>>2]*f)*N[i+408>>2])*h);N[b+4>>2]=Q(Q(m*Q(f*n))*h)+N[b+4>>2];N[b+8>>2]=Q(Q(j*Q(f*k))*h)+N[b+8>>2];g=J[e+32>>2];j=N[g+416>>2];k=N[c+56>>2];m=N[g+412>>2];n=N[c+52>>2];f=N[c+100>>2];h=Q(Q(1)/N[d+12>>2]);N[b+32>>2]=N[b+32>>2]+Q(Q(Q(N[c+48>>2]*f)*N[g+408>>2])*h);N[b+36>>2]=Q(Q(m*Q(f*n))*h)+N[b+36>>2];N[b+40>>2]=Q(Q(j*Q(f*k))*h)+N[b+40>>2];j=N[i+612>>2];k=N[c+8>>2];m=N[i+608>>2];n=N[c+4>>2];f=N[c+100>>2];h=Q(Q(1)/N[d+12>>2]);N[b+16>>2]=N[b+16>>2]+Q(Q(Q(N[c>>2]*N[i+604>>2])*f)*h);N[b+20>>2]=Q(Q(f*Q(n*m))*h)+N[b+20>>2];N[b+24>>2]=Q(Q(f*Q(k*j))*h)+N[b+24>>2];j=N[g+612>>2];k=N[c+40>>2];m=N[g+608>>2];n=N[c+36>>2];f=N[c+100>>2];h=Q(Q(1)/N[d+12>>2]);N[b+48>>2]=N[b+48>>2]+Q(Q(Q(N[c+32>>2]*N[g+604>>2])*f)*h);N[b+52>>2]=Q(Q(f*Q(n*m))*h)+N[b+52>>2];N[b+56>>2]=Q(Q(f*Q(k*j))*h)+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}l=l+1|0;if((p|0)!=(l|0)){continue}break}}l=J[a+8>>2];if((l|0)>0){e=J[a+16>>2];g=0;while(1){i=P(g,244);b=i+e|0;c=J[b+240>>2];if(c){b:{if(J[d+52>>2]){m=N[d+12>>2];f=N[d+60>>2];c=sa-80|0;sa=c;c:{if(!J[b+240>>2]){break c}N[b+176>>2]=N[b+64>>2]+N[b+176>>2];N[b+192>>2]=N[b+80>>2]+N[b+192>>2];N[b+180>>2]=N[b+68>>2]+N[b+180>>2];N[b+184>>2]=N[b+72>>2]+N[b+184>>2];N[b+196>>2]=N[b+84>>2]+N[b+196>>2];N[b+200>>2]=N[b+88>>2]+N[b+200>>2];k=N[b+160>>2];d:{if(!(!(N[b+144>>2]!=Q(0)|N[b+148>>2]!=Q(0))&N[b+152>>2]==Q(0))){h=N[b+168>>2];j=N[b+164>>2];break d}h=N[b+168>>2];j=N[b+164>>2];if(k!=Q(0)|j!=Q(0)){break d}if(h==Q(0)){break c}}J[c+12>>2]=0;N[c+8>>2]=h*f;N[c+4>>2]=j*f;N[c>>2]=k*f;kb(b,b+144|0,c,m,c+16|0);e=J[c+28>>2];J[b+8>>2]=J[c+24>>2];J[b+12>>2]=e;e=J[c+20>>2];J[b>>2]=J[c+16>>2];J[b+4>>2]=e;e=J[c+44>>2];J[b+24>>2]=J[c+40>>2];J[b+28>>2]=e;e=J[c+36>>2];J[b+16>>2]=J[c+32>>2];J[b+20>>2]=e;e=J[c+52>>2];J[b+32>>2]=J[c+48>>2];J[b+36>>2]=e;e=J[c+60>>2];J[b+40>>2]=J[c+56>>2];J[b+44>>2]=e;e=J[c+68>>2];J[b+48>>2]=J[c+64>>2];J[b+52>>2]=e;e=J[c+76>>2];J[b+56>>2]=J[c+72>>2];J[b+60>>2]=e}sa=c+80|0;e=J[a+16>>2];b=i+e|0;f=N[b+176>>2];c=J[b+240>>2];break b}f=Q(N[b+64>>2]+N[b+176>>2]);N[b+176>>2]=f;N[b+192>>2]=N[b+80>>2]+N[b+192>>2];N[b+180>>2]=N[b+68>>2]+N[b+180>>2];N[b+184>>2]=N[b+72>>2]+N[b+184>>2];N[b+196>>2]=N[b+84>>2]+N[b+196>>2];N[b+200>>2]=N[b+88>>2]+N[b+200>>2]}b=e+i|0;h=N[b+212>>2];j=N[b+180>>2];k=N[b+216>>2];m=N[b+184>>2];n=N[b+208>>2];J[c+384>>2]=0;N[c+372>>2]=f+n;J[c+304>>2]=J[c+304>>2]+1;N[c+380>>2]=m+k;N[c+376>>2]=j+h;b=i+J[a+16>>2]|0;f=N[b+228>>2];h=N[b+196>>2];j=N[b+232>>2];k=N[b+200>>2];m=N[b+224>>2];n=N[b+192>>2];b=J[b+240>>2];J[b+400>>2]=0;N[b+388>>2]=n+m;N[b+396>>2]=k+j;N[b+392>>2]=h+f;J[b+304>>2]=J[b+304>>2]+1;if(J[d+52>>2]){c=i+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}e=J[a+16>>2];J[J[(i+e|0)+240>>2]+212>>2]=-1;l=J[a+8>>2]}g=g+1|0;if((l|0)>(g|0)){continue}break}}if((J[a+28>>2]&J[a+32>>2])<0){b=J[a+36>>2];if(!(b?!b|!K[a+40|0]:1)){J[8457]=J[8457]+1;ua[J[8259]](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?!b|!K[a+60|0]:1)){J[8457]=J[8457]+1;ua[J[8259]](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?!b|!K[a+80|0]:1)){J[8457]=J[8457]+1;ua[J[8259]](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?!b|!K[a+100|0]:1)){J[8457]=J[8457]+1;ua[J[8259]](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?!b|!K[a+20|0]:1)){J[8457]=J[8457]+1;ua[J[8259]](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 Wh(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=0,m=0,n=0,o=Q(0),p=Q(0),q=0,r=0;a:{if(!(H[i+72|0]&1)){break a}j=J[a+68>>2];m=J[a+28>>2];l=J[a+48>>2];if((l|0)>0){c=P(J[a+232>>2],1664525)+1013904223|0;b:{if((l|0)==1){break b}e=J[a+136>>2];d=J[e+4>>2];c=P(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;J[e+4>>2]=J[f>>2];J[f>>2]=d;if((l|0)==2){break b}d=J[e+8>>2];c=P(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;J[e+8>>2]=J[f>>2];J[f>>2]=d;if((l|0)==3){break b}d=4;f=J[e+12>>2];c=P(c,1664525)+1013904223|0;n=c^c>>>16;n=n>>>8^n;n=n>>>4^n;n=e+(((n>>>2^n)&3)<<2)|0;J[e+12>>2]=J[n>>2];J[n>>2]=f;if((l|0)==4){break b}while(1){f=e+(d<<2)|0;r=J[f>>2];q=f;c=P(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;J[q>>2]=J[f>>2];J[f>>2]=r;if((d|0)!=(l|0)){continue}break}}J[a+232>>2]=c}if(J[i+20>>2]<=(b|0)){break a}if((m|0)>0){c=P(J[a+232>>2],1664525)+1013904223|0;d:{if((m|0)==1){break d}e=J[a+116>>2];d=J[e+4>>2];c=P(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;J[e+4>>2]=J[f>>2];J[f>>2]=d;if((m|0)==2){break d}d=J[e+8>>2];c=P(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;J[e+8>>2]=J[f>>2];J[f>>2]=d;if((m|0)==3){break d}d=4;f=J[e+12>>2];c=P(c,1664525)+1013904223|0;l=c^c>>>16;l=l>>>8^l;l=l>>>4^l;l=e+(((l>>>2^l)&3)<<2)|0;J[e+12>>2]=J[l>>2];J[l>>2]=f;if((m|0)==4){break d}while(1){f=e+(d<<2)|0;n=J[f>>2];q=f;c=P(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;J[q>>2]=J[f>>2];J[f>>2]=n;if((d|0)!=(m|0)){continue}break}}J[a+232>>2]=c}if((j|0)<=0){break a}c=P(J[a+232>>2],1664525)+1013904223|0;f:{if((j|0)==1){break f}e=J[a+156>>2];d=J[e+4>>2];c=P(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;J[e+4>>2]=J[f>>2];J[f>>2]=d;if((j|0)==2){break f}d=J[e+8>>2];c=P(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;J[e+8>>2]=J[f>>2];J[f>>2]=d;if((j|0)==3){break f}d=4;f=J[e+12>>2];c=P(c,1664525)+1013904223|0;m=c^c>>>16;m=m>>>8^m;m=m>>>4^m;m=e+(((m>>>2^m)&3)<<2)|0;J[e+12>>2]=J[m>>2];J[m>>2]=f;if((j|0)==4){break f}while(1){f=e+(d<<2)|0;l=J[f>>2];n=f;c=P(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;J[n>>2]=J[f>>2];J[f>>2]=l;if((d|0)!=(j|0)){continue}break}}J[a+232>>2]=c}e=J[a+48>>2];if((e|0)>0){d=0;while(1){c=J[a+56>>2]+P(J[J[a+136>>2]+(d<<2)>>2],152)|0;if(J[c+136>>2]>(b|0)){e=J[a+16>>2];k=Q(ua[J[a+212>>2]](e+P(J[c+144>>2],244)|0,e+P(J[c+148>>2],244)|0,c));p=Q(Q(k*k)+p);e=J[a+48>>2]}d=d+1|0;if((e|0)>(d|0)){continue}break}}h:{if(J[i+20>>2]<=(b|0)){break h}if((h|0)>0){d=0;while(1){b=(d<<2)+g|0;c=J[b>>2];if(K[c+20|0]){c=db(a,J[c+28>>2],N[i+12>>2]);e=db(a,J[J[b>>2]+32>>2],N[i+12>>2]);b=J[b>>2];f=P(c,244);c=J[a+16>>2];ua[J[J[b>>2]+24>>2]](b,f+c|0,c+P(e,244)|0,N[i+12>>2])}d=d+1|0;if((h|0)!=(d|0)){continue}break}}e=J[a+28>>2];b=J[i+72>>2];i:{if(b&512){if((e|0)<=0){break i}d=b>>>4&1;c=0;while(1){f=J[a+16>>2];b=J[a+36>>2]+P(J[J[a+116>>2]+(c<<2)>>2],152)|0;k=Q(ua[J[a+216>>2]](f+P(J[b+144>>2],244)|0,f+P(J[b+148>>2],244)|0,b));p=Q(Q(k*k)+p);k=N[b+100>>2];f=k>Q(0);j:{if(!f){break j}g=c<>2]+P(J[g+J[a+156>>2]>>2],152)|0;o=N[b+104>>2];N[b+124>>2]=k*o;N[b+120>>2]=k*Q(-o);h=J[a+16>>2];o=Q(ua[J[a+212>>2]](h+P(J[b+144>>2],244)|0,h+P(J[b+148>>2],244)|0,b));p=Q(Q(o*o)+p);if(!f|!(J[i+72>>2]&16)){break j}b=J[a+76>>2]+P(J[(g+J[a+156>>2]|0)+4>>2],152)|0;o=N[b+104>>2];N[b+124>>2]=k*o;N[b+120>>2]=k*Q(-o);f=J[a+16>>2];k=Q(ua[J[a+212>>2]](f+P(J[b+144>>2],244)|0,f+P(J[b+148>>2],244)|0,b));p=Q(Q(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=J[a+16>>2];b=J[a+36>>2]+P(J[J[a+116>>2]+(d<<2)>>2],152)|0;k=Q(ua[J[a+216>>2]](c+P(J[b+144>>2],244)|0,c+P(J[b+148>>2],244)|0,b));p=Q(Q(k*k)+p);d=d+1|0;if((e|0)!=(d|0)){continue}break}}d=J[a+68>>2];if((d|0)<=0){break i}c=0;while(1){b=J[a+76>>2]+P(J[J[a+156>>2]+(c<<2)>>2],152)|0;k=N[(J[a+36>>2]+P(J[b+140>>2],152)|0)+100>>2];if(k>Q(0)){o=N[b+104>>2];N[b+124>>2]=k*o;N[b+120>>2]=k*Q(-o);e=J[a+16>>2];k=Q(ua[J[a+212>>2]](e+P(J[b+144>>2],244)|0,e+P(J[b+148>>2],244)|0,b));p=Q(Q(k*k)+p)}c=c+1|0;if((d|0)!=(c|0)){continue}break}}d=J[a+88>>2];if((d|0)<=0){break h}c=0;while(1){b=J[a+96>>2]+P(c,152)|0;k=N[(J[a+36>>2]+P(J[b+140>>2],152)|0)+100>>2];if(k>Q(0)){o=k;k=N[b+104>>2];o=Q(o*k);k=k>2]=k;N[b+120>>2]=-k;e=J[a+16>>2];k=Q(ua[J[a+212>>2]](e+P(J[b+144>>2],244)|0,e+P(J[b+148>>2],244)|0,b));p=Q(Q(k*k)+p)}c=c+1|0;if((d|0)!=(c|0)){continue}break}}return Q(p)}function Ie(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=0,q=Q(0),r=0,s=Q(0),t=Q(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=0,H=Q(0),I=Q(0),K=Q(0),L=Q(0);d=sa-144|0;sa=d;J[d+108>>2]=0;f=N[b+80>>2];g=N[b+96>>2];w=N[b+120>>2];n=N[b+56>>2];E=N[b+112>>2];y=N[b+116>>2];H=N[b+52>>2];j=N[b+68>>2];k=N[b+84>>2];q=N[b+100>>2];h=N[b+20>>2];s=N[b+36>>2];o=N[b+72>>2];m=N[b+88>>2];t=N[b+24>>2];i=N[b+104>>2];C=N[b+40>>2];l=N[b+64>>2];D=N[b+32>>2];x=N[b>>2];z=N[b+16>>2];I=N[b+48>>2];A=N[b+4>>2];u=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*C)+Q(Q(o*u)+Q(t*m));N[d+80>>2]=Q(i*s)+Q(Q(o*A)+Q(h*m));N[d+68>>2]=Q(q*C)+Q(Q(j*u)+Q(t*k));N[d- -64>>2]=Q(q*s)+Q(Q(j*A)+Q(h*k));w=Q(n-w);n=Q(I-E);E=Q(H-y);N[d+100>>2]=Q(i*w)+Q(Q(o*n)+Q(m*E));N[d+96>>2]=Q(q*w)+Q(Q(j*n)+Q(E*k));J[d+56>>2]=0;N[d+76>>2]=Q(i*D)+Q(Q(o*x)+Q(z*m));N[d+60>>2]=Q(q*D)+Q(Q(j*x)+Q(z*k));N[d+52>>2]=Q(g*C)+Q(Q(l*u)+Q(f*t));N[d+48>>2]=Q(g*s)+Q(Q(l*A)+Q(f*h));N[d+44>>2]=Q(g*D)+Q(Q(l*x)+Q(f*z));N[d+92>>2]=Q(g*w)+Q(Q(l*n)+Q(E*f));k=N[a+12>>2];s=Q(0);t=Q(0);C=Q(0);p=sa-32|0;sa=p;v=J[a+8>>2];f=N[v+64>>2];q=Q(N[v+80>>2]-f);i=N[v+68>>2];o=Q(N[v+100>>2]-i);m=Q(N[v+96>>2]-f);j=Q(N[v+84>>2]-i);g=Q(Q(q*o)-Q(m*j));n=j;j=N[v+72>>2];l=Q(N[v+104>>2]-j);h=Q(N[v+88>>2]-j);o=Q(Q(n*l)-Q(o*h));m=Q(Q(h*m)-Q(l*q));q=Q(Q(g*g)+Q(Q(o*o)+Q(m*m)));a:{if(!(q>=Q(14210854715202004e-30))){break a}r=J[a+4>>2];D=Q(N[r+36>>2]*N[r+20>>2]);k=Q(D+k);x=N[d+100>>2];h=g;g=Q(Q(1)/Q(Y(q)));q=Q(h*g);h=Q(Q(x-j)*q);j=N[d+92>>2];o=Q(o*g);m=Q(m*g);g=N[d+96>>2];f=Q(h+Q(Q(Q(j-f)*o)+Q(m*Q(g-i))));if(f>2];J[p+24>>2]=J[d+100>>2];J[p+28>>2]=r;r=J[d+96>>2];J[p+16>>2]=J[d+92>>2];J[p+20>>2]=r;J[p+12>>2]=0;N[p+8>>2]=q;N[p+4>>2]=m;N[p>>2]=o;r=v- -64|0;z=N[r+32>>2];A=N[r+40>>2];u=N[r+24>>2];w=Q(A-u);n=N[r+16>>2];F=Q(z-n);i=N[p+4>>2];l=N[p>>2];E=N[r+36>>2];y=N[r+20>>2];h=Q(E-y);H=N[p+24>>2];K=Q(Q(Q(F*i)-Q(l*h))*Q(H-u));B=h;h=N[p+8>>2];I=N[p+16>>2];L=N[p+20>>2];w=Q(K+Q(Q(Q(Q(B*h)-Q(i*w))*Q(I-n))+Q(Q(L-y)*Q(Q(w*l)-Q(h*F)))));B=u;u=N[r+8>>2];F=Q(B-u);B=n;n=N[r>>2];K=Q(B-n);B=y;y=N[r+4>>2];B=Q(B-y);F=Q(Q(Q(Q(K*i)-Q(l*B))*Q(H-u))+Q(Q(Q(Q(B*h)-Q(i*F))*Q(I-n))+Q(Q(L-y)*Q(Q(F*l)-Q(h*K)))));n=Q(n-z);y=Q(y-E);H=Q(Q(Q(n*i)-Q(l*y))*Q(H-A));B=i;i=Q(u-A);i=Q(H+Q(Q(Q(Q(y*h)-Q(B*i))*Q(I-z))+Q(Q(L-E)*Q(Q(i*l)-Q(h*n)))));b:{if(!(!(i>Q(0))|!(F>Q(0)))){r=1;if(w>Q(0)){break b}}r=F<=Q(0)&w<=Q(0)&i<=Q(0)}c:{if(r){s=Q(x-Q(f*q));t=Q(g-Q(f*m));C=Q(j-Q(f*o));z=Q(k*k);break c}if((ua[J[J[v>>2]+100>>2]](v)|0)<=0){break a}z=Q(k*k);r=0;v=0;while(1){G=J[a+8>>2];ua[J[J[G>>2]+104>>2]](G,v,p+16|0,p);g=Q(0);x=N[p+24>>2];i=Q(N[p+8>>2]-x);f=Q(N[d+100>>2]-x);A=N[p+16>>2];l=Q(N[p>>2]-A);k=Q(N[d+92>>2]-A);u=N[p+20>>2];j=Q(N[d+96>>2]-u);h=Q(N[p+4>>2]-u);w=Q(Q(i*f)+Q(Q(l*k)+Q(j*h)));d:{if(!(w>Q(0))){break d}g=Q(Q(i*i)+Q(Q(l*l)+Q(h*h)));if(g>w){g=Q(w/g);f=Q(f-Q(i*g));j=Q(j-Q(h*g));k=Q(k-Q(l*g));break d}f=Q(f-i);j=Q(j-h);k=Q(k-l);g=Q(1)}if(Q(Q(f*f)+Q(Q(k*k)+Q(j*j)))>2];v=v+1|0;if((ua[J[J[G>>2]+100>>2]](G)|0)>(v|0)){continue}break}G=0;if(!r){break a}x=N[d+100>>2];g=N[d+96>>2];j=N[d+92>>2]}f=Q(x-s);j=Q(j-C);g=Q(g-t);k=Q(Q(f*f)+Q(Q(j*j)+Q(g*g)));if(!(kQ(1.1920928955078125e-7)){J[d+124>>2]=0;i=f;k=Q(Y(k));f=Q(Q(1)/k);N[d+120>>2]=i*f;N[d+116>>2]=g*f;N[d+112>>2]=j*f;D=Q(D-k);break e}J[d+124>>2]=0;N[d+120>>2]=q;N[d+116>>2]=m;N[d+112>>2]=o}J[d+140>>2]=0;N[d+136>>2]=s;N[d+132>>2]=t;N[d+128>>2]=C;N[d+108>>2]=-D;G=1}sa=p+32|0;f:{if(!G){break f}if(e){k=N[b+72>>2];q=N[b+64>>2];o=N[b+68>>2];m=N[b+88>>2];i=N[b+80>>2];l=N[b+84>>2];h=N[b+104>>2];s=N[b+96>>2];t=N[b+100>>2];f=N[d+120>>2];g=N[d+112>>2];j=N[d+116>>2];J[d+40>>2]=0;C=Q(Q(h*f)+Q(Q(s*g)+Q(j*t)));N[d+36>>2]=-C;D=Q(Q(m*f)+Q(Q(i*g)+Q(j*l)));N[d+32>>2]=-D;x=Q(Q(k*f)+Q(Q(q*g)+Q(o*j)));N[d+28>>2]=-x;z=N[b+112>>2];A=N[b+116>>2];f=N[b+120>>2];J[d+24>>2]=0;g=N[d+136>>2];n=Q(h*g);j=N[d+128>>2];h=N[d+132>>2];n=Q(f+Q(n+Q(Q(s*j)+Q(t*h))));f=N[d+108>>2];N[d+20>>2]=n+Q(C*f);N[d+16>>2]=Q(A+Q(Q(g*m)+Q(Q(j*i)+Q(l*h))))+Q(D*f);N[d+12>>2]=Q(z+Q(Q(g*k)+Q(Q(j*q)+Q(o*h))))+Q(x*f);ua[J[J[c>>2]+16>>2]](c,d+28|0,d+12|0,f);break f}f=N[b+72>>2];g=N[b+64>>2];j=N[b+68>>2];k=N[b+88>>2];q=N[b+80>>2];o=N[b+84>>2];m=N[b+104>>2];i=N[b+96>>2];l=N[b+100>>2];J[d+40>>2]=0;h=N[d+120>>2];s=N[d+112>>2];t=N[d+116>>2];N[d+36>>2]=Q(m*h)+Q(Q(i*s)+Q(l*t));N[d+32>>2]=Q(k*h)+Q(Q(q*s)+Q(t*o));N[d+28>>2]=Q(f*h)+Q(Q(g*s)+Q(j*t));h=N[b+112>>2];s=N[b+116>>2];t=N[b+120>>2];J[d+24>>2]=0;n=m;m=N[d+136>>2];u=i;i=N[d+128>>2];y=l;l=N[d+132>>2];N[d+20>>2]=t+Q(Q(n*m)+Q(Q(u*i)+Q(y*l)));N[d+16>>2]=s+Q(Q(m*k)+Q(Q(i*q)+Q(o*l)));N[d+12>>2]=h+Q(Q(m*f)+Q(Q(i*g)+Q(j*l)));ua[J[J[c>>2]+16>>2]](c,d+28|0,d+12|0,N[d+108>>2])}sa=d+144|0}function hh(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=Q(0),l=Q(0),m=Q(0),n=Q(0),o=0,p=Q(0),q=0,r=0,s=0,t=0,u=0,v=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=0,M=Q(0),O=Q(0);x=sa-16|0;sa=x;ua[J[8262]](3728);ua[J[8262]](4613);if(J[a+324>>2]>0){while(1){e=J[a+24>>2];ua[J[J[e>>2]+16>>2]](e,J[J[a+332>>2]+(c<<2)>>2]);c=c+1|0;if((c|0)>2]){continue}break}}c=J[a+332>>2];if(!(c?!c|!K[a+336|0]:1)){J[8457]=J[8457]+1;ua[J[8259]](c)}J[a+332>>2]=0;H[a+336|0]=1;J[a+324>>2]=0;J[a+328>>2]=0;ua[J[8263]]();s=J[a+248>>2];if((s|0)>0){G=J[a+256>>2];c=sa-512|0;sa=c;if((s|0)>0){while(1){e=J[(t<<2)+G>>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}pb(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}i=Q(N[c+504>>2]-N[e+60>>2]);k=Q(i*i);i=Q(N[c+496>>2]-N[e+52>>2]);p=Q(i*i);i=Q(N[c+500>>2]-N[e+56>>2]);if(!(g>2]+4>>2]<=19){J[8932]=J[8932]+1;d=J[a+68>>2];d=ua[J[J[d>>2]+36>>2]](d)|0;h=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]=h;J[c+436>>2]=d;J[c+432>>2]=0;J[c+344>>2]=24500;J[c+428>>2]=e;g=N[e+272>>2];h=Sa(c+284|0);J[h>>2]=21396;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;vb(a,h,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]));m=Q(g*Q(N[c+500>>2]-N[e+56>>2]));n=Q(g*Q(N[c+504>>2]-N[e+60>>2]));I=Q(Q(Q(l*Q(-N[c+396>>2]))-Q(m*N[c+400>>2]))-Q(n*N[c+404>>2]));h=J[a+24>>2];u=ua[J[J[h>>2]+12>>2]](h,e,d)|0;d=J[a+324>>2];d:{if((d|0)!=J[a+328>>2]){break d}r=d?d<<1:1;if((r|0)<=(d|0)){break d}e:{if(!r){h=0;break e}J[8456]=J[8456]+1;h=ua[J[8258]](r<<2,16)|0;d=J[a+324>>2]}f:{if((d|0)<=0){break f}v=0;f=0;if(d>>>0>=4){L=d&-4;o=0;while(1){j=f<<2;J[j+h>>2]=J[j+J[a+332>>2]>>2];q=j|4;J[q+h>>2]=J[q+J[a+332>>2]>>2];q=j|8;J[q+h>>2]=J[q+J[a+332>>2]>>2];j=j|12;J[j+h>>2]=J[j+J[a+332>>2]>>2];f=f+4|0;o=o+4|0;if((L|0)!=(o|0)){continue}break}}j=d&3;if(!j){break f}while(1){o=f<<2;J[o+h>>2]=J[o+J[a+332>>2]>>2];f=f+1|0;v=v+1|0;if((j|0)!=(v|0)){continue}break}}f=J[a+332>>2];if(!(!f|!K[a+336|0])){if(f){J[8457]=J[8457]+1;ua[J[8259]](f)}d=J[a+324>>2]}J[a+332>>2]=h;H[a+336|0]=1;J[a+328>>2]=r}J[J[a+332>>2]+(d<<2)>>2]=u;J[a+324>>2]=d+1;d=J[c+360>>2];y=N[d+20>>2];z=N[d+36>>2];A=N[d+40>>2];B=N[d+8>>2];C=N[d+24>>2];g=N[d+60>>2];M=N[d+52>>2];i=N[d+56>>2];D=N[d+44>>2];k=N[d+12>>2];E=N[d+28>>2];F=N[d+4>>2];p=N[e+60>>2];w=N[e+52>>2];O=N[e+56>>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;n=Q(n+p);l=Q(l+w);m=Q(m+O);w=Q(Q(D*n)+Q(Q(k*l)+Q(E*m)));p=k;k=Q(-M);N[c+32>>2]=w+Q(Q(Q(p*k)-Q(E*i))-Q(D*g));N[c+28>>2]=Q(Q(n*A)+Q(Q(l*B)+Q(m*C)))+Q(Q(Q(B*k)-Q(C*i))-Q(A*g));N[c+24>>2]=Q(Q(n*z)+Q(Q(l*F)+Q(m*y)))+Q(Q(Q(F*k)-Q(y*i))-Q(z*g));d=J[c+408>>2];J[c+80>>2]=J[c+404>>2];J[c+84>>2]=d;d=J[c+400>>2];J[c+72>>2]=J[c+396>>2];J[c+76>>2]=d;N[c+88>>2]=I;J[c+100>>2]=0;J[c+104>>2]=0;J[c+92>>2]=0;J[c+96>>2]=0;J[c+172>>2]=0;J[c+164>>2]=0;J[c+168>>2]=0;J[c+156>>2]=0;J[c+160>>2]=0;J[c+148>>2]=0;J[c+152>>2]=0;J[c+140>>2]=0;J[c+144>>2]=0;J[c+132>>2]=0;J[c+136>>2]=0;J[c+124>>2]=0;J[c+128>>2]=0;d=P(rc(u,c+8|0),208)+u|0;J[d+100>>2]=0;g=Q(N[e+228>>2]*N[J[c+360>>2]+228>>2]);g=g>2]=g>Q(10)?Q(10):g;h=J[e+56>>2];J[d+52>>2]=J[e+52>>2];J[d+56>>2]=h;h=J[e+64>>2];J[d+60>>2]=J[e+60>>2];J[d+64>>2]=h;J[d+48>>2]=0;N[d+44>>2]=n;N[d+40>>2]=m;N[d+36>>2]=l}}ua[J[8263]]()}t=t+1|0;if((s|0)!=(t|0)){continue}break}}sa=c+512|0}ua[J[8263]]();sa=x+16|0}function Tg(a,b){a=a|0;b=Q(b);var c=0,d=0,e=0,f=Q(0),g=0,h=0,i=Q(0),j=0,k=Q(0),l=Q(0),m=Q(0),n=Q(0),o=0,p=Q(0),q=0,r=0,s=0,t=0,u=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),E=Q(0),F=Q(0),G=0,I=Q(0),L=Q(0);c=sa-512|0;sa=c;ua[J[8262]](3728);d=sa-16|0;sa=d;ua[J[8262]](4613);if(J[a+324>>2]>0){while(1){h=J[a+24>>2];ua[J[J[h>>2]+16>>2]](h,J[J[a+332>>2]+(e<<2)>>2]);e=e+1|0;if((e|0)>2]){continue}break}}e=J[a+332>>2];if(!(e?!e|!K[a+336|0]:1)){J[8457]=J[8457]+1;ua[J[8259]](e)}J[a+332>>2]=0;H[a+336|0]=1;J[a+324>>2]=0;J[a+328>>2]=0;ua[J[8263]]();sa=d+16|0;w=J[a+248>>2];if((w|0)>0){while(1){e=J[J[a+256>>2]+(s<<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}pb(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}i=Q(N[c+500>>2]-N[e+60>>2]);k=Q(i*i);i=Q(N[c+492>>2]-N[e+52>>2]);p=Q(i*i);i=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]=24980;J[c+432>>2]=e;f=N[e+272>>2];h=Sa(c+284|0);J[h>>2]=21396;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;vb(a,h,d,c+216|0,c+344|0,Q(0));d=J[c+360>>2];if(d){f=N[c+348>>2];l=Q(Q(N[c+492>>2]-N[e+52>>2])*f);m=Q(Q(N[c+496>>2]-N[e+56>>2])*f);n=Q(f*Q(N[c+500>>2]-N[e+60>>2]));F=Q(Q(Q(l*Q(-N[c+396>>2]))-Q(m*N[c+400>>2]))-Q(n*N[c+404>>2]));h=J[a+24>>2];t=ua[J[J[h>>2]+12>>2]](h,e,d)|0;d=J[a+324>>2];c:{if((d|0)!=J[a+328>>2]){break c}r=d?d<<1:1;if((r|0)<=(d|0)){break c}d:{if(!r){h=0;break d}J[8456]=J[8456]+1;h=ua[J[8258]](r<<2,16)|0;d=J[a+324>>2]}e:{if((d|0)<=0){break e}u=0;g=0;if(d>>>0>=4){G=d&-4;o=0;while(1){j=g<<2;J[j+h>>2]=J[j+J[a+332>>2]>>2];q=j|4;J[q+h>>2]=J[q+J[a+332>>2]>>2];q=j|8;J[q+h>>2]=J[q+J[a+332>>2]>>2];j=j|12;J[j+h>>2]=J[j+J[a+332>>2]>>2];g=g+4|0;o=o+4|0;if((G|0)!=(o|0)){continue}break}}j=d&3;if(!j){break e}while(1){o=g<<2;J[o+h>>2]=J[o+J[a+332>>2]>>2];g=g+1|0;u=u+1|0;if((j|0)!=(u|0)){continue}break}}g=J[a+332>>2];if(!(!g|!K[a+336|0])){if(g){J[8457]=J[8457]+1;ua[J[8259]](g)}d=J[a+324>>2]}J[a+332>>2]=h;H[a+336|0]=1;J[a+328>>2]=r}J[J[a+332>>2]+(d<<2)>>2]=t;J[a+324>>2]=d+1;d=J[c+360>>2];x=N[d+20>>2];y=N[d+36>>2];z=N[d+40>>2];A=N[d+8>>2];B=N[d+24>>2];f=N[d+60>>2];I=N[d+52>>2];i=N[d+56>>2];C=N[d+44>>2];k=N[d+12>>2];D=N[d+28>>2];E=N[d+4>>2];p=N[e+60>>2];v=N[e+52>>2];L=N[e+56>>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;n=Q(n+p);l=Q(l+v);m=Q(m+L);v=Q(Q(C*n)+Q(Q(k*l)+Q(D*m)));p=k;k=Q(-I);N[c+32>>2]=v+Q(Q(Q(p*k)-Q(D*i))-Q(C*f));N[c+28>>2]=Q(Q(n*z)+Q(Q(l*A)+Q(m*B)))+Q(Q(Q(A*k)-Q(B*i))-Q(z*f));N[c+24>>2]=Q(Q(n*y)+Q(Q(l*E)+Q(m*x)))+Q(Q(Q(E*k)-Q(x*i))-Q(y*f));d=J[c+408>>2];J[c+80>>2]=J[c+404>>2];J[c+84>>2]=d;d=J[c+400>>2];J[c+72>>2]=J[c+396>>2];J[c+76>>2]=d;N[c+88>>2]=F;J[c+100>>2]=0;J[c+104>>2]=0;J[c+92>>2]=0;J[c+96>>2]=0;J[c+172>>2]=0;J[c+164>>2]=0;J[c+168>>2]=0;J[c+156>>2]=0;J[c+160>>2]=0;J[c+148>>2]=0;J[c+152>>2]=0;J[c+140>>2]=0;J[c+144>>2]=0;J[c+132>>2]=0;J[c+136>>2]=0;J[c+124>>2]=0;J[c+128>>2]=0;J[c+208>>2]=J[e+192>>2];J[c+212>>2]=J[c+428>>2];d=P(rc(t,c+8|0),208)+t|0;J[d+100>>2]=0;f=Q(N[e+228>>2]*N[J[c+360>>2]+228>>2]);f=f>2]=f>Q(10)?Q(10):f;h=J[e+56>>2];J[d+52>>2]=J[e+52>>2];J[d+56>>2]=h;h=J[e+64>>2];J[d+60>>2]=J[e+60>>2];J[d+64>>2]=h;J[d+48>>2]=0;N[d+44>>2]=n;N[d+40>>2]=m;N[d+36>>2]=l}}ua[J[8263]]()}s=s+1|0;if((w|0)!=(s|0)){continue}break}}ua[J[8263]]();sa=c+512|0}function rc(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=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=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=0;k=J[a+844>>2];a:{if((k|0)==4){c=N[a+84>>2];e=N[b+80>>2];k=c>2];c=k?c:e;k=f>2];c=k?f:c;x=e>2]<(x?e:c);A=k?3:A;b:{c:{d:{e:{if(K[33064]){if(!A){n=N[a+636>>2];i=N[a+428>>2];h=Q(n-i);q=N[a+632>>2];l=N[a+424>>2];d=Q(q-l);v=N[a+628>>2];w=N[a+420>>2];m=Q(v-w);e=N[b+8>>2];f=N[b+4>>2];j=N[b>>2];break e}j=N[b>>2];s=N[a+212>>2];c=Q(j-s);q=N[a+632>>2];l=N[a+424>>2];d=Q(q-l);v=N[a+628>>2];w=N[a+420>>2];m=Q(v-w);f=N[b+4>>2];t=N[a+216>>2];e=Q(f-t);h=Q(Q(c*d)-Q(m*e));o=Q(h*h);n=N[a+636>>2];i=N[a+428>>2];h=Q(n-i);p=Q(e*h);e=N[b+8>>2];u=N[a+220>>2];g=Q(e-u);p=Q(p-Q(d*g));c=Q(Q(g*m)-Q(h*c));da=Q(o+Q(Q(p*p)+Q(c*c)));if((A|0)!=1){break e}j=Q(j-N[a+4>>2]);g=Q(-j);f=Q(f-N[a+8>>2]);p=Q(-f);e=Q(e-N[a+12>>2]);r=Q(-e);m=Q(0);break d}f:{g:{h:{i:{if(!A){j=N[a+428>>2];h=N[a+636>>2];m=Q(j-h);f=N[a+424>>2];d=N[a+632>>2];y=Q(f-d);e=N[a+420>>2];l=N[a+628>>2];B=Q(e-l);u=N[b+4>>2];H=Q(u-d);W=Q(-H);t=N[b>>2];z=Q(t-l);X=Q(-z);s=N[b+8>>2];I=Q(s-h);Y=Q(-I);E=Q(t-e);D=Q(-E);F=Q(s-j);V=Q(-F);G=Q(u-f);c=Q(-G);break i}t=N[b>>2];g=N[a+212>>2];L=Q(t-g);f=N[a+424>>2];d=N[a+632>>2];y=Q(f-d);e=N[a+420>>2];l=N[a+628>>2];B=Q(e-l);u=N[b+4>>2];p=N[a+216>>2];M=Q(u-p);c=Q(Q(L*y)-Q(B*M));i=Q(c*c);j=N[a+428>>2];h=N[a+636>>2];m=Q(j-h);s=N[b+8>>2];r=N[a+220>>2];O=Q(s-r);c=Q(Q(M*m)-Q(y*O));n=Q(c*c);c=Q(Q(O*B)-Q(m*L));n=Q(i+Q(n+Q(c*c)));E=Q(t-e);C=Q(p-d);c=Q(g-l);G=Q(u-f);i=Q(Q(E*C)-Q(c*G));q=Q(i*i);D=Q(r-h);F=Q(s-j);i=Q(Q(G*D)-Q(C*F));o=Q(i*i);i=Q(Q(F*c)-Q(D*E));i=Q(q+Q(o+Q(i*i)));n=i>2];v=Q(t-n);i=N[a+8>>2];w=Q(u-i);g=Q(Q(v*y)-Q(B*w));o=Q(g*g);q=N[a+12>>2];S=Q(s-q);g=Q(Q(w*m)-Q(y*S));m=Q(Q(S*B)-Q(m*v));m=Q(o+Q(Q(g*g)+Q(m*m)));o=Q(i-d);T=Q(n-l);g=Q(Q(E*o)+Q(T*c));p=Q(g*g);U=Q(q-h);g=Q(Q(G*U)+Q(o*V));r=Q(g*g);g=Q(Q(F*T)+Q(U*D));g=Q(p+Q(r+Q(g*g)));m=g>2];M=Q(u-p);_=Q(-M);g=N[a+212>>2];L=Q(t-g);$=Q(-L);r=N[a+220>>2];O=Q(s-r);aa=Q(-O);ba=Q(-w);ca=Q(-S);if(!(!x|k)){l=Q(q-r);o=Q(i-p);z=Q(n-g);d=Q(0);break f}D=Q(r-h);C=Q(p-d);c=Q(g-l);break g}_=Q(-M);$=Q(-L);aa=Q(-O);n=N[a+4>>2];T=Q(n-l);q=N[a+12>>2];U=Q(q-h);i=N[a+8>>2];o=Q(i-d);v=Q(t-n);Z=Q(-v);w=Q(u-i);ba=Q(-w);S=Q(s-q);ca=Q(-S);m=Q(0)}d=Q(Q(v*C)+Q(c*ba));h=Q(d*d);d=Q(Q(w*D)+Q(C*ca));c=Q(Q(S*c)+Q(D*Z));c=Q(h+Q(Q(d*d)+Q(c*c)));d=Q(Q(L*o)+Q(T*_));h=Q(d*d);d=Q(Q(M*U)+Q(o*aa));l=Q(d*d);d=Q(Q(O*T)+Q(U*$));d=Q(h+Q(l+Q(d*d)));c=c>d?c:d;o=Q(i-p);h=Q(z*o);z=Q(n-g);d=Q(h+Q(z*W));h=Q(d*d);l=Q(q-r);d=Q(Q(H*l)+Q(o*Y));y=Q(d*d);d=Q(Q(I*z)+Q(l*X));d=Q(h+Q(y+Q(d*d)));d=c>d?c:d;c=Q(0);if(k){break b}C=Q(q-j);y=Q(i-f);B=Q(n-e);G=Q(u-f);c=Q(-G);E=Q(t-e);D=Q(-E);F=Q(s-j);V=Q(-F)}f=Q(p-f);e=Q(g-e);h=Q(Q(v*f)+Q(e*ba));j=Q(r-j);f=Q(Q(w*j)+Q(f*ca));e=Q(Q(S*e)+Q(j*Z));e=Q(Q(h*h)+Q(Q(f*f)+Q(e*e)));f=Q(Q(L*y)+Q(B*_));h=Q(f*f);f=Q(Q(M*C)+Q(y*aa));g=Q(f*f);f=Q(Q(O*B)+Q(C*$));f=Q(h+Q(g+Q(f*f)));e=e>f?e:f;c=Q(Q(E*o)+Q(z*c));f=Q(c*c);c=Q(Q(G*l)+Q(o*V));h=Q(c*c);c=Q(Q(F*z)+Q(l*D));c=Q(f+Q(h+Q(c*c)));c=c>2]);f=Q(f-N[a+8>>2]);c=Q(Q(j*d)-Q(m*f));g=Q(c*c);e=Q(e-N[a+12>>2]);c=Q(Q(f*h)-Q(d*e));d=Q(c*c);c=Q(Q(e*m)-Q(h*j));m=Q(g+Q(d+Q(c*c)));u=N[a+220>>2];t=N[a+216>>2];s=N[a+212>>2];g=Q(-j);p=Q(-f);r=Q(-e);if(k){break d}d=Q(0);if(x){break c}}c=Q(q-t);d=Q(v-s);h=Q(Q(j*c)+Q(d*p));q=Q(h*h);h=Q(n-u);c=Q(Q(f*h)+Q(c*r));n=Q(c*c);c=Q(Q(e*d)+Q(h*g));d=Q(q+Q(n+Q(c*c)));c=Q(0);if(k){break b}}c=Q(l-t);h=Q(j*c);j=Q(w-s);l=Q(h+Q(j*p));h=f;f=Q(i-u);c=Q(Q(h*f)+Q(c*r));h=Q(c*c);c=Q(Q(e*j)+Q(f*g));c=Q(Q(l*l)+Q(h+Q(c*c)))}e=Q(R(da));k=e>Q(-0xde0b6b000000000);x=k?0:-1;f=Q(R(m));e=k?e:Q(-0xde0b6b000000000);k=f>e;x=k?1:x;j=Q(R(d));e=k?f:e;k=j>e;k=Q(R(c))>(k?j:e)?3:k?2:x;A=P(k,208)+a|0;x=J[A+120>>2];if(!x){break a}ea=J[8753];if(!ea){break a}ua[ea|0](x)|0;J[A+120>>2]=0;break a}J[a+844>>2]=k+1}x=a;a=(k|0)>0?k:0;Ja((x+P(a,208)|0)+4|0,b,208);return a}function Td(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=sa-96|0;sa=g;Kb(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);ua[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));ua[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;ua[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));ua[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(!Pd(J[a+4>>2],g+32|0)){Sd(J[a+4>>2],g+32|0,g- -64|0,g+48|0)}if(!Qd(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}Od(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}sa=g+96|0;return fa|0}function gh(a,b){a=a|0;b=Q(b);var c=0,d=0,e=0,f=Q(0),g=0,h=Q(0),i=Q(0),j=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=0,w=Q(0),x=Q(0),y=0,z=Q(0),A=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);y=sa-16|0;sa=y;ua[J[8262]](4190);j=J[a+248>>2];if((j|0)>0){A=J[a+256>>2];c=sa-304|0;sa=c;if((j|0)>0){while(1){d=J[(m<<2)+A>>2];J[d+268>>2]=1065353216;a:{b:{switch(J[d+220>>2]-2|0){case 0:case 3:break a;default:break b}}if(K[d+204|0]&3){break a}pb(d,b,c+240|0);c:{d:{if(!K[a+44|0]){break d}f=N[d+276>>2];f=Q(f*f);if(f==Q(0)){break d}h=Q(N[c+296>>2]-N[d+60>>2]);k=Q(h*h);h=Q(N[c+288>>2]-N[d+52>>2]);i=Q(h*h);h=Q(N[c+292>>2]-N[d+56>>2]);if(!(f>2]+4>>2]<=19){J[8932]=J[8932]+1;e=J[a+68>>2];e=ua[J[J[e>>2]+36>>2]](e)|0;r=J[a+24>>2];J[c+148>>2]=-1;J[c+152>>2]=0;J[c+140>>2]=1065353216;J[c+144>>2]=1;g=J[d+64>>2];J[c+164>>2]=J[d+60>>2];J[c+168>>2]=g;g=J[d+56>>2];J[c+156>>2]=J[d+52>>2];J[c+160>>2]=g;g=J[c+300>>2];J[c+180>>2]=J[c+296>>2];J[c+184>>2]=g;g=J[c+292>>2];J[c+172>>2]=J[c+288>>2];J[c+176>>2]=g;J[c+232>>2]=r;J[c+228>>2]=e;J[c+224>>2]=0;J[c+136>>2]=24500;J[c+220>>2]=d;f=N[d+272>>2];r=Sa(c+76|0);J[r>>2]=21396;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]=f;N[c+112>>2]=f;N[c+224>>2]=N[a+56>>2];e=J[d+188>>2];J[c+144>>2]=J[e+4>>2];J[c+148>>2]=J[e+8>>2];e=J[c+252>>2];J[c+16>>2]=J[c+248>>2];J[c+20>>2]=e;e=J[c+244>>2];J[c+8>>2]=J[c+240>>2];J[c+12>>2]=e;e=J[c+268>>2];J[c+32>>2]=J[c+264>>2];J[c+36>>2]=e;e=J[c+260>>2];J[c+24>>2]=J[c+256>>2];J[c+28>>2]=e;e=J[c+284>>2];J[c+48>>2]=J[c+280>>2];J[c+52>>2]=e;e=J[c+276>>2];J[c+40>>2]=J[c+272>>2];J[c+44>>2]=e;e=J[c+300>>2];J[c+64>>2]=J[c+296>>2];J[c+68>>2]=e;e=J[c+292>>2];J[c+56>>2]=J[c+288>>2];J[c+60>>2]=e;e=d+4|0;g=J[e+12>>2];J[c+16>>2]=J[e+8>>2];J[c+20>>2]=g;g=J[e+4>>2];J[c+8>>2]=J[e>>2];J[c+12>>2]=g;g=J[d+32>>2];J[c+32>>2]=J[d+28>>2];J[c+36>>2]=g;g=J[d+24>>2];J[c+24>>2]=J[d+20>>2];J[c+28>>2]=g;g=J[d+48>>2];J[c+48>>2]=J[d+44>>2];J[c+52>>2]=g;g=J[d+40>>2];J[c+40>>2]=J[d+36>>2];J[c+44>>2]=g;vb(a,r,e,c+8|0,c+136|0,Q(0));if(J[c+152>>2]){f=N[c+140>>2];if(f>2]=f;e=c+240|0;pb(d,Q(f*b),e);J[d+268>>2]=0;Fd(d,e);ua[J[8263]]()}m=m+1|0;if((j|0)!=(m|0)){continue}break}}sa=c+304|0}if(K[a+291|0]){ua[J[8262]](5549);c=J[a+324>>2];if((c|0)>0){while(1){j=J[J[a+332>>2]+(v<<2)>>2];if(J[j+844>>2]>0){c=J[j+840>>2];c=J[c+252>>2]<<30>>31&c;d=J[j+836>>2];d=J[d+252>>2]<<30>>31&d;m=0;while(1){b=Q(N[d+232>>2]*N[c+232>>2]);e:{if(!(b>Q(0))){break e}e=j+P(m,208)|0;f=N[e+136>>2];if(f==Q(0)){break e}s=N[e+44>>2];B=N[c+60>>2];t=N[e+40>>2];C=N[c+56>>2];u=N[e+36>>2];D=N[c+52>>2];h=Q(b*Q(f*Q(-N[e+76>>2])));i=Q(b*Q(f*Q(-N[e+72>>2])));f=Q(b*Q(f*Q(-N[e+68>>2])));b=N[d+404>>2];if(b!=Q(0)){n=N[e+56>>2];o=N[e+60>>2];p=N[e+52>>2];q=Q(f*N[d+408>>2]);N[d+372>>2]=Q(b*q)+N[d+372>>2];l=Q(i*N[d+412>>2]);N[d+376>>2]=Q(b*l)+N[d+376>>2];k=b;b=Q(h*N[d+416>>2]);N[d+380>>2]=Q(k*b)+N[d+380>>2];k=N[d+612>>2];w=N[d+364>>2];x=N[d+356>>2];E=N[d+360>>2];F=N[d+608>>2];G=N[d+348>>2];H=N[d+340>>2];I=N[d+344>>2];p=Q(p-N[d+52>>2]);z=Q(n-N[d+56>>2]);n=Q(Q(p*l)-Q(q*z));o=Q(o-N[d+60>>2]);l=Q(Q(z*b)-Q(l*o));b=Q(Q(o*q)-Q(b*p));N[d+388>>2]=Q(Q(Q(N[d+332>>2]*n)+Q(Q(N[d+324>>2]*l)+Q(b*N[d+328>>2])))*N[d+604>>2])+N[d+388>>2];N[d+392>>2]=Q(F*Q(Q(G*n)+Q(Q(H*l)+Q(b*I))))+N[d+392>>2];N[d+396>>2]=Q(k*Q(Q(w*n)+Q(Q(x*l)+Q(b*E))))+N[d+396>>2]}b=N[c+404>>2];if(b==Q(0)){break e}f=Q(N[c+408>>2]*Q(-f));N[c+372>>2]=Q(b*f)+N[c+372>>2];i=Q(N[c+412>>2]*Q(-i));N[c+376>>2]=Q(b*i)+N[c+376>>2];k=b;b=Q(N[c+416>>2]*Q(-h));N[c+380>>2]=Q(k*b)+N[c+380>>2];q=N[c+612>>2];l=N[c+364>>2];n=N[c+356>>2];o=N[c+360>>2];p=N[c+608>>2];k=N[c+348>>2];w=N[c+340>>2];x=N[c+344>>2];u=Q(u-D);t=Q(t-C);h=Q(Q(u*i)-Q(f*t));s=Q(s-B);i=Q(Q(t*b)-Q(i*s));b=Q(Q(s*f)-Q(b*u));N[c+388>>2]=Q(Q(Q(N[c+332>>2]*h)+Q(Q(N[c+324>>2]*i)+Q(b*N[c+328>>2])))*N[c+604>>2])+N[c+388>>2];N[c+392>>2]=Q(p*Q(Q(k*h)+Q(Q(w*i)+Q(b*x))))+N[c+392>>2];N[c+396>>2]=Q(q*Q(Q(l*h)+Q(Q(n*i)+Q(b*o))))+N[c+396>>2]}m=m+1|0;if((m|0)>2]){continue}break}c=J[a+324>>2]}v=v+1|0;if((v|0)<(c|0)){continue}break}}ua[J[8263]]()}ua[J[8263]]();sa=y+16|0}function El(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=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=sa-208|0;sa=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];g=J[r+8>>2];q=J[a+4>>2];i=J[q+836>>2];s=(g|0)==(i|0);b:{if(!s){o=J[a+12>>2];i=J[o+8>>2];f=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]*f)+Q(Q(N[i+12>>2]*m)+Q(j*N[i+28>>2])));y=Q(Q(N[i+40>>2]*f)+Q(Q(N[i+8>>2]*m)+Q(j*N[i+24>>2])));f=Q(Q(N[i+36>>2]*f)+Q(Q(N[i+4>>2]*m)+Q(j*N[i+20>>2])));break b}f=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]*f)+Q(Q(N[i+12>>2]*m)+Q(j*N[i+28>>2])));y=Q(Q(N[i+40>>2]*f)+Q(Q(N[i+8>>2]*m)+Q(j*N[i+24>>2])));o=J[a+12>>2];g=J[o+8>>2];f=Q(Q(N[i+36>>2]*f)+Q(Q(N[i+4>>2]*m)+Q(j*N[i+20>>2])))}z=J[q+844>>2];A=N[g+20>>2];B=N[g+36>>2];C=N[g+40>>2];D=N[g+8>>2];E=N[g+24>>2];m=N[g+44>>2];j=N[g+60>>2];F=N[g+12>>2];G=N[g+52>>2];H=N[g+28>>2];I=N[g+56>>2];L=N[g+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]=f;N[e+16>>2]=Q(B*m)+Q(Q(L*j)+Q(p*A));g=J[b+12>>2];J[e+72>>2]=J[b+8>>2];J[e+76>>2]=g;g=J[b>>2];b=J[b+4>>2];J[e+92>>2]=0;J[e+96>>2]=0;J[e+124>>2]=0;J[e+128>>2]=0;J[e+132>>2]=0;J[e+136>>2]=0;J[e+140>>2]=0;J[e+144>>2]=0;J[e+148>>2]=0;J[e+152>>2]=0;J[e+156>>2]=0;J[e+160>>2]=0;J[e+164>>2]=0;N[e+52>>2]=h;N[e+56>>2]=k;J[e+60>>2]=0;J[e+64>>2]=g;J[e+68>>2]=b;J[e+84>>2]=0;J[e+88>>2]=0;N[e+80>>2]=d;J[e+116>>2]=0;J[e+120>>2]=0;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];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=J[g+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]=g;if(J[g+4>>2]==31){g=J[(J[g+32>>2]+P(b,80)|0)+64>>2];J[e+200>>2]=g}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[g+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];f=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;f=Q(Q(f*d)+Q(k*m));f=f>2]=f>Q(10)?Q(10):f;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);f=Q(k*Q(-d));j=N[e+64>>2];m=Q(f*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];f=Q(Q(l*l)+Q(h*h));k=Q(Q(1)/Q(Y(f)));m=Q(f*k);j=Q(k*Q(-h));h=Q(d*j);f=Q(l*k);l=Q(f*Q(-d));d=Q(0)}N[e+192>>2]=m;N[e+188>>2]=h;N[e+172>>2]=f;N[e+184>>2]=l;N[e+176>>2]=d;N[e+168>>2]=j;g=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){n=P(c,208)+q|0;f=Q(N[n+12>>2]-k);m=Q(f*f);f=Q(N[n+4>>2]-l);u=Q(f*f);f=Q(N[n+8>>2]-h);f=Q(m+Q(u+Q(f*f)));n=f=0){b=g+P(n,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}}g=J[b+120>>2];Ja(b+4|0,e,208);J[b+120>>2]=g;N[b+136>>2]=h;N[b+140>>2]=k;N[b+144>>2]=d}J[b+168>>2]=c;break h}n=rc(g,e)}c=J[8469];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}ua[c|0]((J[i>>2]+P(n,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[8755];if(!a){break a}ua[a|0](i)}sa=e+208|0}function yi(a,b,c){a=a|0;b=b|0;c=c|0;var d=Q(0);Gb(a,b,c);N[b+52>>2]=N[a+48>>2];N[b+56>>2]=N[a+52>>2];N[b+60>>2]=N[a+56>>2];N[b- -64>>2]=N[a+60>>2];N[b+68>>2]=N[a- -64>>2];N[b+72>>2]=N[a+68>>2];N[b+76>>2]=N[a+72>>2];N[b+80>>2]=N[a+76>>2];N[b+84>>2]=N[a+80>>2];N[b+88>>2]=N[a+84>>2];N[b+92>>2]=N[a+88>>2];N[b+96>>2]=N[a+92>>2];N[b+100>>2]=N[a+96>>2];N[b+104>>2]=N[a+100>>2];N[b+108>>2]=N[a+104>>2];N[b+112>>2]=N[a+108>>2];N[b+116>>2]=N[a+112>>2];N[b+120>>2]=N[a+116>>2];N[b+124>>2]=N[a+120>>2];N[b+128>>2]=N[a+124>>2];N[b+132>>2]=N[a+128>>2];N[b+136>>2]=N[a+132>>2];N[b+140>>2]=N[a+136>>2];N[b+144>>2]=N[a+140>>2];N[b+148>>2]=N[a+144>>2];N[b+152>>2]=N[a+148>>2];N[b+156>>2]=N[a+152>>2];N[b+160>>2]=N[a+156>>2];N[b+164>>2]=N[a+160>>2];N[b+168>>2]=N[a+164>>2];N[b+172>>2]=N[a+168>>2];N[b+176>>2]=N[a+172>>2];N[b+428>>2]=N[a+968>>2];N[b+412>>2]=N[a+972>>2];N[b+444>>2]=N[a+976>>2];N[b+460>>2]=N[a+980>>2];N[b+476>>2]=N[a+984>>2];N[b+492>>2]=N[a+988>>2];N[b+508>>2]=N[a+992>>2];N[b+524>>2]=N[a+1e3>>2];N[b+540>>2]=N[a+1004>>2];N[b+556>>2]=N[a+1012>>2];N[b+572>>2]=N[a+1020>>2];N[b+588>>2]=N[a+1028>>2];N[b+604>>2]=N[a+1036>>2];N[b+432>>2]=N[a+1056>>2];N[b+416>>2]=N[a+1060>>2];N[b+448>>2]=N[a+1064>>2];N[b+464>>2]=N[a+1068>>2];N[b+480>>2]=N[a+1072>>2];N[b+496>>2]=N[a+1076>>2];N[b+512>>2]=N[a+1080>>2];N[b+528>>2]=N[a+1088>>2];N[b+544>>2]=N[a+1092>>2];N[b+560>>2]=N[a+1100>>2];N[b+576>>2]=N[a+1108>>2];N[b+592>>2]=N[a+1116>>2];N[b+608>>2]=N[a+1124>>2];N[b+436>>2]=N[a+1144>>2];N[b+420>>2]=N[a+1148>>2];N[b+452>>2]=N[a+1152>>2];N[b+468>>2]=N[a+1156>>2];N[b+484>>2]=N[a+1160>>2];N[b+500>>2]=N[a+1164>>2];N[b+516>>2]=N[a+1168>>2];N[b+532>>2]=N[a+1176>>2];N[b+548>>2]=N[a+1180>>2];N[b+564>>2]=N[a+1188>>2];N[b+580>>2]=N[a+1196>>2];N[b+596>>2]=N[a+1204>>2];d=N[a+1212>>2];J[b+440>>2]=0;N[b+612>>2]=d;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;H[b+620|0]=K[a+996|0];H[b+624|0]=K[a+1008|0];H[b+628|0]=K[a+1016|0];H[b+632|0]=K[a+1024|0];H[b+636|0]=K[a+1032|0];H[b+621|0]=K[a+1084|0];H[b+625|0]=K[a+1096|0];H[b+629|0]=K[a+1104|0];H[b+633|0]=K[a+1112|0];H[b+637|0]=K[a+1120|0];H[b+622|0]=K[a+1172|0];H[b+626|0]=K[a+1184|0];H[b+630|0]=K[a+1192|0];H[b+634|0]=K[a+1200|0];c=K[a+1208|0];H[b+639|0]=0;H[b+635|0]=0;H[b+631|0]=0;H[b+627|0]=0;H[b+623|0]=0;H[b+638|0]=c;N[b+196>>2]=N[a+680>>2];N[b+200>>2]=N[a+684>>2];N[b+204>>2]=N[a+688>>2];N[b+208>>2]=N[a+692>>2];N[b+180>>2]=N[a+696>>2];N[b+184>>2]=N[a+700>>2];N[b+188>>2]=N[a+704>>2];N[b+192>>2]=N[a+708>>2];N[b+212>>2]=N[a+712>>2];N[b+216>>2]=N[a+716>>2];N[b+220>>2]=N[a+720>>2];N[b+224>>2]=N[a+724>>2];N[b+228>>2]=N[a+728>>2];N[b+232>>2]=N[a+732>>2];N[b+236>>2]=N[a+736>>2];N[b+240>>2]=N[a+740>>2];N[b+244>>2]=N[a+744>>2];N[b+248>>2]=N[a+748>>2];N[b+252>>2]=N[a+752>>2];N[b+256>>2]=N[a+756>>2];N[b+260>>2]=N[a+760>>2];N[b+264>>2]=N[a+764>>2];N[b+268>>2]=N[a+768>>2];N[b+272>>2]=N[a+772>>2];N[b+276>>2]=N[a+776>>2];N[b+280>>2]=N[a+780>>2];N[b+284>>2]=N[a+784>>2];N[b+288>>2]=N[a+788>>2];N[b+292>>2]=N[a+876>>2];N[b+296>>2]=N[a+880>>2];N[b+300>>2]=N[a+884>>2];N[b+304>>2]=N[a+888>>2];N[b+308>>2]=N[a+892>>2];N[b+312>>2]=N[a+896>>2];N[b+316>>2]=N[a+900>>2];N[b+320>>2]=N[a+904>>2];N[b+324>>2]=N[a+804>>2];N[b+328>>2]=N[a+808>>2];N[b+332>>2]=N[a+812>>2];N[b+336>>2]=N[a+816>>2];N[b+340>>2]=N[a+820>>2];N[b+344>>2]=N[a+824>>2];N[b+348>>2]=N[a+828>>2];N[b+352>>2]=N[a+832>>2];N[b+356>>2]=N[a+840>>2];N[b+360>>2]=N[a+844>>2];N[b+364>>2]=N[a+848>>2];N[b+368>>2]=N[a+852>>2];N[b+372>>2]=N[a+860>>2];N[b+376>>2]=N[a+864>>2];N[b+380>>2]=N[a+868>>2];N[b+384>>2]=N[a+872>>2];H[b+388|0]=K[a+792|0];H[b+392|0]=K[a+795|0];H[b+396|0]=K[a+798|0];H[b+400|0]=K[a+836|0];H[b+404|0]=K[a+856|0];H[b+389|0]=K[a+793|0];H[b+393|0]=K[a+796|0];H[b+397|0]=K[a+799|0];H[b+401|0]=K[a+837|0];H[b+405|0]=K[a+857|0];H[b+390|0]=K[a+794|0];H[b+394|0]=K[a+797|0];H[b+398|0]=K[a+800|0];H[b+402|0]=K[a+838|0];c=K[a+858|0];H[b+407|0]=0;H[b+403|0]=0;H[b+399|0]=0;H[b+395|0]=0;H[b+391|0]=0;H[b+406|0]=c;a=J[a+1232>>2];J[b+408>>2]=0;J[b+640>>2]=a;return 8485}function xo(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=sa-144|0;sa=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(Na(m)*b),N[K>>2]=L;K=D,L=Q(Ma(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)));ua[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;ua[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)));ua[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)));ua[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)));ua[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));ua[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));sa=g+144|0}function xc(a,b,c){var d=0,e=0,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=Q(0),s=Q(0);a:{b:{if(K[a+165|0]){d=J[a+88>>2];if(!(!c|(d|0)<=0)){e=J[a+96>>2];n=N[a+168>>2];o=N[b+8>>2];p=N[b+4>>2];q=N[b>>2];c=0;while(1){f=e+(c<<4)|0;k=Q(N[f+8>>2]-o);r=Q(k*k);k=Q(N[f>>2]-q);s=Q(k*k);k=Q(N[f+4>>2]-p);if(n>=Q(r+Q(s+Q(k*k)))){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}h=d?d<<1:1;if((h|0)<=(d|0)){break c}if(h){J[8456]=J[8456]+1;g=ua[J[8258]](h<<4,16)|0;d=J[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+J[a+96>>2]|0;e=J[m+4>>2];J[f>>2]=J[m>>2];J[f+4>>2]=e;e=J[m+12>>2];J[f+8>>2]=J[m+8>>2];J[f+12>>2]=e;e=j|16;f=e+g|0;j=e+J[a+96>>2]|0;e=J[j+4>>2];J[f>>2]=J[j>>2];J[f+4>>2]=e;e=J[j+12>>2];J[f+8>>2]=J[j+8>>2];J[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+J[a+96>>2]|0;c=J[e+4>>2];J[f>>2]=J[e>>2];J[f+4>>2]=c;c=J[e+12>>2];J[f+8>>2]=J[e+8>>2];J[f+12>>2]=c}c=J[a+96>>2];if(!(c?!c|!K[a+100|0]:1)){J[8457]=J[8457]+1;ua[J[8259]](c)}J[a+96>>2]=g;H[a+100|0]=1;J[a+92>>2]=h;d=J[a+88>>2]}c=J[b+4>>2];e=J[a+96>>2]+(d<<4)|0;J[e>>2]=J[b>>2];J[e+4>>2]=c;c=J[b+12>>2];J[e+8>>2]=J[b+8>>2];J[e+12>>2]=c;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)){e=J[a+116>>2];n=N[a+168>>2];o=N[b+8>>2];p=N[b+4>>2];q=N[b>>2];c=0;while(1){f=e+(c<<2)|0;k=Q(N[f+8>>2]-o);r=Q(k*k);k=Q(N[f>>2]-q);s=Q(k*k);k=Q(N[f+4>>2]-p);if(n>=Q(r+Q(s+Q(k*k)))){break a}c=c+3|0;if((d|0)>(c|0)){continue}break}}e=J[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){J[8456]=J[8456]+1;h=ua[J[8258]](e<<2,16)|0;d=J[a+108>>2]}i=J[a+116>>2];f:{g:{if((d|0)>0){c=0;if(d>>>0>=4){g=d&-4;while(1){l=c<<2;N[l+h>>2]=N[i+l>>2];f=l|4;N[f+h>>2]=N[f+i>>2];f=l|8;N[f+h>>2]=N[f+i>>2];f=l|12;N[f+h>>2]=N[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;N[f+h>>2]=N[f+i>>2];c=c+1|0;m=m+1|0;if((g|0)!=(m|0)){continue}break}}if(K[a+120|0]){break g}break f}if(!i|!K[a+120|0]){break f}}if(i){J[8457]=J[8457]+1;ua[J[8259]](i)}d=J[a+108>>2]}J[a+116>>2]=h;J[a+112>>2]=e;H[a+120|0]=1}g=J[a+116>>2];N[g+(d<<2)>>2]=N[b>>2];d=d+1|0;J[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}J[8456]=J[8456]+1;c=ua[J[8258]](f<<2,16)|0;g=J[a+116>>2];e=J[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;N[i+c>>2]=N[g+i>>2];d=i|4;N[d+c>>2]=N[d+g>>2];d=i|8;N[d+c>>2]=N[d+g>>2];d=i|12;N[d+c>>2]=N[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;N[d+c>>2]=N[d+g>>2];h=h+1|0;m=m+1|0;if((l|0)!=(m|0)){continue}break}}if(K[a+120|0]){break k}break j}if(!g|!K[a+120|0]){break j}}if(g){J[8457]=J[8457]+1;ua[J[8259]](g)}e=J[a+108>>2]}J[a+116>>2]=c;J[a+112>>2]=f;H[a+120|0]=1}N[(e<<2)+c>>2]=N[b+4>>2];e=e+1|0;J[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}J[8456]=J[8456]+1;d=ua[J[8258]](i<<2,16)|0;c=J[a+116>>2];f=J[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;N[j+d>>2]=N[c+j>>2];g=j|4;N[g+d>>2]=N[c+g>>2];g=j|8;N[g+d>>2]=N[c+g>>2];g=j|12;N[g+d>>2]=N[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;N[g+d>>2]=N[c+g>>2];h=h+1|0;e=e+1|0;if((l|0)!=(e|0)){continue}break}}if(K[a+120|0]){break o}break n}if(!c|!K[a+120|0]){break n}}if(c){J[8457]=J[8457]+1;ua[J[8259]](c)}f=J[a+108>>2]}J[a+116>>2]=d;J[a+112>>2]=i;H[a+120|0]=1}N[(f<<2)+d>>2]=N[b+8>>2];b=f+1|0;J[a+108>>2]=b;a=J[a+32>>2];J[a+16>>2]=d;J[a+12>>2]=J[a+12>>2]+1;c=((b|0)/3|0)-1|0}return c}return(c>>>0)/3|0}function aj(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=sa-80|0;sa=c;s=ua[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){ua[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;ua[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;ua[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;ua[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);ua[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);ua[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);ua[J[J[b>>2]+8>>2]](b,c,r,d);d=d+1|0;if((d|0)>2]){continue}break}}ua[J[J[a>>2]+24>>2]](a,r);r=r+1|0;if((s|0)!=(r|0)){continue}break}}sa=c+80|0}function am(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=sa-256|0;sa=d;ua[J[8262]](3795);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)));ua[J[J[o>>2]+8>>2]](o,d+188|0,d+108|0,d+92|0);ua[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[8465];a:{if(c){if(!(ua[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[8468]=J[8468]+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=ua[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=ua[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=ua[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;ua[J[J[c>>2]+8>>2]](c,-1,C);c=J[a+24>>2];ua[J[J[c>>2]+12>>2]](c,-1,B);ua[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}ua[J[8263]]();sa=d+256|0}function ib(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=0,G=Q(0),I=Q(0),L=Q(0),M=Q(0),O=0,R=0,S=Q(0),T=Q(0),U=Q(0),V=Q(0),W=Q(0),X=0,Y=Q(0),Z=Q(0),_=Q(0),$=0;r=J[a+68>>2];s=r;a:{if((r|0)!=J[a+72>>2]){break a}O=r?r<<1:1;if((r|0)>=(O|0)){break a}if(O){J[8456]=J[8456]+1;R=ua[J[8258]](P(O,152),16)|0;m=J[a+68>>2]}else{m=r}b:{if((m|0)<=0){break b}s=0;if((m|0)!=1){$=m&-2;while(1){F=P(s,152);Ja(F+R|0,F+J[a+76>>2]|0,152);F=P(s|1,152);Ja(F+R|0,F+J[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=P(s,152);Ja(m+R|0,m+J[a+76>>2]|0,152)}m=J[a+76>>2];if(!(m?!m|!K[a+80|0]:1)){J[8457]=J[8457]+1;ua[J[8259]](m)}J[a+76>>2]=R;H[a+80|0]=1;J[a+72>>2]=O;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;S=N[f+84>>2];J[m+132>>2]=0;N[m+104>>2]=S;J[m+96>>2]=0;J[m+100>>2]=0;c:{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;T=N[m+20>>2];U=N[m+16>>2];G=Q(Q(n*T)-Q(o*U));N[m+8>>2]=G;V=N[m+24>>2];I=Q(Q(p*U)-Q(n*V));N[m+4>>2]=I;L=Q(Q(o*V)-Q(T*p));N[m>>2]=L;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*G)+Q(Q(B*L)+Q(I*C))));N[m+72>>2]=t;q=Q(o*Q(Q(q*G)+Q(Q(x*L)+Q(I*A))));N[m+68>>2]=q;x=Q(D*Q(Q(p*G)+Q(Q(v*L)+Q(I*n))));N[m+64>>2]=x;break c}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}d:{if(a){p=N[b>>2];n=N[b+4>>2];o=N[b+8>>2];J[m+60>>2]=0;Y=Q(-o);N[m+56>>2]=Y;Z=Q(-n);N[m+52>>2]=Z;_=Q(-p);N[m+48>>2]=_;u=N[h+8>>2];y=N[h+4>>2];z=N[h>>2];J[m+44>>2]=0;M=Q(Q(p*y)-Q(z*n));N[m+40>>2]=M;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];W=N[a+604>>2];E=N[a+324>>2];J[m+92>>2]=0;u=Q(u*Q(Q(C*M)+Q(Q(D*y)+Q(z*v))));N[m+88>>2]=u;n=Q(n*Q(Q(A*M)+Q(Q(w*y)+Q(z*B))));N[m+84>>2]=n;o=Q(W*Q(Q(p*M)+Q(Q(E*y)+Q(z*o))));N[m+80>>2]=o;break d}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);W=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(W/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]=S;N[m+116>>2]=l;N[m+120>>2]=-S;N[m+112>>2]=Q(p*Q(k-Q(Q(Q(Q(V*w)+Q(Q(U*q)+Q(t*T)))+Q(Q(G*n)+Q(Q(L*x)+Q(u*I))))+Q(Q(Q(Y*B)+Q(Q(_*A)+Q(o*Z)))+Q(Q(M*C)+Q(Q(y*v)+Q(D*z)))))))+i}function Kf(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=Q(0),m=Q(0),n=0,o=Q(0),p=Q(0),q=Q(0);J[a+8>>2]=J[b>>2];i=J[a+24>>2];a:{if((i|0)!=J[a+28>>2]){break a}h=i?i<<1:1;if((h|0)<=(i|0)){break a}if(h){J[8456]=J[8456]+1;d=ua[J[8258]](h<<2,16)|0;i=J[a+24>>2]}b:{if((i|0)<=0){break b}if(i>>>0>=4){n=i&-4;while(1){g=f<<2;J[g+d>>2]=J[g+J[a+32>>2]>>2];k=g|4;J[k+d>>2]=J[k+J[a+32>>2]>>2];k=g|8;J[k+d>>2]=J[k+J[a+32>>2]>>2];g=g|12;J[g+d>>2]=J[g+J[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;J[g+d>>2]=J[g+J[a+32>>2]>>2];f=f+1|0;j=j+1|0;if((e|0)!=(j|0)){continue}break}}f=J[a+32>>2];if(!(!f|!K[a+36|0])){if(f){J[8457]=J[8457]+1;ua[J[8259]](f)}i=J[a+24>>2]}J[a+32>>2]=d;H[a+36|0]=1;J[a+28>>2]=h}J[J[a+32>>2]+(i<<2)>>2]=J[b>>2];J[a+24>>2]=i+1;c:{if(c){o=N[b+16>>2];p=N[b+12>>2];m=N[b+8>>2];l=N[b+20>>2];break c}c=J[a+8>>2];l=N[b+16>>2];m=N[b+8>>2];q=N[b+12>>2];o=Q(Q(N[c+44>>2]*l)+Q(Q(N[c+36>>2]*m)+Q(q*N[c+40>>2])));p=Q(Q(N[c+28>>2]*l)+Q(Q(N[c+20>>2]*m)+Q(q*N[c+24>>2])));m=Q(Q(N[c+12>>2]*l)+Q(Q(N[c+4>>2]*m)+Q(N[c+8>>2]*q)));l=Q(0)}d=J[a+76>>2];d:{if((d|0)!=J[a+80>>2]){break d}i=d?d<<1:1;if((i|0)<=(d|0)){break d}e:{if(!i){c=0;break e}J[8456]=J[8456]+1;c=ua[J[8258]](i<<4,16)|0;d=J[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+J[a+84>>2]|0;k=J[e+4>>2];J[h>>2]=J[e>>2];J[h+4>>2]=k;k=J[e+12>>2];J[h+8>>2]=J[e+8>>2];J[h+12>>2]=k;e=g|16;g=e+c|0;e=e+J[a+84>>2]|0;h=J[e+4>>2];J[g>>2]=J[e>>2];J[g+4>>2]=h;h=J[e+12>>2];J[g+8>>2]=J[e+8>>2];J[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+J[a+84>>2]|0;e=J[f+4>>2];J[d>>2]=J[f>>2];J[d+4>>2]=e;e=J[f+12>>2];J[d+8>>2]=J[f+8>>2];J[d+12>>2]=e}d=J[a+84>>2];if(!(d?!d|!K[a+88|0]:1)){J[8457]=J[8457]+1;ua[J[8259]](d)}J[a+84>>2]=c;H[a+88|0]=1;J[a+80>>2]=i;d=J[a+76>>2]}c=J[a+84>>2]+(d<<4)|0;N[c+12>>2]=l;N[c+8>>2]=o;N[c+4>>2]=p;N[c>>2]=m;J[a+76>>2]=J[a+76>>2]+1;l=N[b+24>>2];o=Q(Q(1)-l);p=Q(Q(o*N[a+48>>2])+Q(l*N[a- -64>>2]));m=Q(Q(o*N[a+44>>2])+Q(l*N[a+60>>2]));l=Q(Q(o*N[a+40>>2])+Q(l*N[a+56>>2]));d=J[a+96>>2];g:{if((d|0)!=J[a+100>>2]){break g}i=d?d<<1:1;if((i|0)<=(d|0)){break g}h:{if(!i){c=0;break h}J[8456]=J[8456]+1;c=ua[J[8258]](i<<4,16)|0;d=J[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+J[a+104>>2]|0;k=J[e+4>>2];J[h>>2]=J[e>>2];J[h+4>>2]=k;k=J[e+12>>2];J[h+8>>2]=J[e+8>>2];J[h+12>>2]=k;e=g|16;g=e+c|0;e=e+J[a+104>>2]|0;h=J[e+4>>2];J[g>>2]=J[e>>2];J[g+4>>2]=h;h=J[e+12>>2];J[g+8>>2]=J[e+8>>2];J[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+J[a+104>>2]|0;e=J[f+4>>2];J[d>>2]=J[f>>2];J[d+4>>2]=e;e=J[f+12>>2];J[d+8>>2]=J[f+8>>2];J[d+12>>2]=e}d=J[a+104>>2];if(!(d?!d|!K[a+108|0]:1)){J[8457]=J[8457]+1;ua[J[8259]](d)}J[a+104>>2]=c;H[a+108|0]=1;J[a+100>>2]=i;d=J[a+96>>2]}c=J[a+104>>2]+(d<<4)|0;N[c+8>>2]=p;N[c+4>>2]=m;N[c>>2]=l;J[a+96>>2]=J[a+96>>2]+1;e=J[a+116>>2];j:{if((e|0)!=J[a+120>>2]){break j}g=e?e<<1:1;if((g|0)<=(e|0)){break j}k:{if(!g){d=0;break k}J[8456]=J[8456]+1;d=ua[J[8258]](g<<2,16)|0;e=J[a+116>>2]}c=J[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;N[j+d>>2]=N[c+j>>2];k=j|4;N[k+d>>2]=N[c+k>>2];k=j|8;N[k+d>>2]=N[c+k>>2];j=j|12;N[j+d>>2]=N[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;N[h+d>>2]=N[c+h>>2];f=f+1|0;i=i+1|0;if((j|0)!=(i|0)){continue}break}}if(K[a+128|0]){break m}break l}if(!c|!K[a+128|0]){break l}}if(c){J[8457]=J[8457]+1;ua[J[8259]](c)}e=J[a+116>>2]}J[a+124>>2]=d;J[a+120>>2]=g;H[a+128|0]=1}N[J[a+124>>2]+(e<<2)>>2]=N[b+24>>2];J[a+116>>2]=e+1;return Q(N[a+4>>2])}function vb(a,b,c,d,e,f){var g=0,h=0,i=Q(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=0,w=Q(0),x=Q(0),y=Q(0),z=Q(0);g=sa-400|0;sa=g;ua[J[8262]](2330);h=J[c+12>>2];J[g+336>>2]=J[c+8>>2];J[g+340>>2]=h;h=J[c+4>>2];J[g+328>>2]=J[c>>2];J[g+332>>2]=h;h=J[c+28>>2];J[g+352>>2]=J[c+24>>2];J[g+356>>2]=h;h=J[c+20>>2];J[g+344>>2]=J[c+16>>2];J[g+348>>2]=h;h=J[c+44>>2];J[g+368>>2]=J[c+40>>2];J[g+372>>2]=h;h=J[c+36>>2];J[g+360>>2]=J[c+32>>2];J[g+364>>2]=h;h=J[c+60>>2];J[g+384>>2]=J[c+56>>2];J[g+388>>2]=h;h=J[c+52>>2];J[g+376>>2]=J[c+48>>2];J[g+380>>2]=h;h=J[d+12>>2];J[g+272>>2]=J[d+8>>2];J[g+276>>2]=h;h=J[d+4>>2];J[g+264>>2]=J[d>>2];J[g+268>>2]=h;h=J[d+28>>2];J[g+288>>2]=J[d+24>>2];J[g+292>>2]=h;h=J[d+20>>2];J[g+280>>2]=J[d+16>>2];J[g+284>>2]=h;h=J[d+44>>2];J[g+304>>2]=J[d+40>>2];J[g+308>>2]=h;h=J[d+36>>2];J[g+296>>2]=J[d+32>>2];J[g+300>>2]=h;h=J[d+60>>2];J[g+320>>2]=J[d+56>>2];J[g+324>>2]=h;h=J[d+52>>2];J[g+312>>2]=J[d+48>>2];J[g+316>>2]=h;k=g+328|0;u=g+4|0;h=g+248|0;Vb(k,g+264|0,u,h);J[g+228>>2]=0;i=N[g+248>>2];N[g+224>>2]=i*N[g+12>>2];N[g+220>>2]=i*N[g+8>>2];N[g+216>>2]=i*N[g+4>>2];J[g+208>>2]=0;J[g+212>>2]=0;J[g+200>>2]=0;J[g+204>>2]=0;J[g+60>>2]=0;J[g+64>>2]=0;J[g+52>>2]=0;J[g+56>>2]=0;ob(k,h);J[g+48>>2]=0;J[g+32>>2]=0;m=N[g+260>>2];l=N[g+256>>2];i=N[g+248>>2];n=N[g+252>>2];o=Q(Q(2)/Q(Q(m*m)+Q(Q(l*l)+Q(Q(i*i)+Q(n*n)))));p=Q(l*o);q=Q(n*p);r=Q(i*o);s=Q(m*r);N[g+40>>2]=q+s;N[g+28>>2]=q-s;q=Q(i*r);r=n;n=Q(n*o);o=Q(r*n);N[g+44>>2]=Q(1)-Q(q+o);l=Q(l*p);N[g+24>>2]=Q(1)-Q(q+l);J[g+16>>2]=0;q=Q(i*p);r=Q(m*n);N[g+36>>2]=q-r;i=Q(i*n);m=Q(m*p);N[g+20>>2]=i+m;N[g+12>>2]=q+r;N[g+8>>2]=i-m;N[g+4>>2]=Q(1)-Q(o+l);k=g+232|0;ua[J[J[b>>2]+8>>2]](b,u,h,k);i=N[g+224>>2];m=N[g+216>>2];n=N[g+220>>2];q=N[k>>2];r=N[k+4>>2];s=N[k+8>>2];w=N[h>>2];p=N[g+200>>2];x=N[h+4>>2];o=N[g+204>>2];y=N[h+8>>2];l=N[g+208>>2];z=Q(ua[J[J[b>>2]+16>>2]](b));J[h+12>>2]=0;l=Q(l*Q(1));j=l>Q(0);N[h+8>>2]=y+(j?Q(-0):l);o=Q(o*Q(1));t=o>Q(0);N[h+4>>2]=x+(t?Q(-0):o);p=Q(p*Q(1));v=p>Q(0);N[h>>2]=w+(v?Q(-0):p);J[k+12>>2]=0;N[k+8>>2]=s+(j?l:Q(-0));N[k+4>>2]=r+(t?o:Q(-0));N[k>>2]=q+(v?p:Q(-0));i=Q(Q(z*Q(Y(Q(Q(i*i)+Q(Q(m*m)+Q(n*n))))))*Q(1));N[h>>2]=N[h>>2]-i;N[h+4>>2]=N[h+4>>2]-i;N[h+8>>2]=N[h+8>>2]-i;N[k>>2]=i+N[k>>2];N[k+4>>2]=i+N[k+4>>2];N[k+8>>2]=i+N[k+8>>2];J[g+4>>2]=14788;j=J[c+12>>2];J[g+48>>2]=J[c+8>>2];J[g+52>>2]=j;j=J[c+4>>2];J[g+40>>2]=J[c>>2];J[g+44>>2]=j;t=J[c+28>>2];j=g- -64|0;J[j>>2]=J[c+24>>2];J[j+4>>2]=t;j=J[c+20>>2];J[g+56>>2]=J[c+16>>2];J[g+60>>2]=j;j=J[c+44>>2];J[g+80>>2]=J[c+40>>2];J[g+84>>2]=j;j=J[c+36>>2];J[g+72>>2]=J[c+32>>2];J[g+76>>2]=j;j=J[c+60>>2];J[g+96>>2]=J[c+56>>2];J[g+100>>2]=j;j=J[c+52>>2];J[g+88>>2]=J[c+48>>2];J[g+92>>2]=j;c=J[d+12>>2];J[g+112>>2]=J[d+8>>2];J[g+116>>2]=c;c=J[d+4>>2];J[g+104>>2]=J[d>>2];J[g+108>>2]=c;c=J[d+28>>2];J[g+128>>2]=J[d+24>>2];J[g+132>>2]=c;c=J[d+20>>2];J[g+120>>2]=J[d+16>>2];J[g+124>>2]=c;c=J[d+36>>2];J[g+136>>2]=J[d+32>>2];J[g+140>>2]=c;c=J[d+44>>2];J[g+144>>2]=J[d+40>>2];J[g+148>>2]=c;c=J[d+60>>2];J[g+160>>2]=J[d+56>>2];J[g+164>>2]=c;c=J[d+52>>2];J[g+152>>2]=J[d+48>>2];J[g+156>>2]=c;J[g+188>>2]=e;N[g+192>>2]=f;J[g+196>>2]=b;J[g+184>>2]=a;f=Q(N[g+160>>2]-N[g+96>>2]);i=Q(N[g+152>>2]-N[g+88>>2]);m=Q(N[g+156>>2]-N[g+92>>2]);n=Q(Q(1)/Q(Y(Q(Q(f*f)+Q(Q(i*i)+Q(m*m))))));l=Q(f*n);p=l==Q(0)?Q(0xde0b6b000000000):Q(Q(1)/l);N[g+16>>2]=p;o=Q(m*n);q=o==Q(0)?Q(0xde0b6b000000000):Q(Q(1)/o);N[g+12>>2]=q;J[g+32>>2]=p>2]=q>2]=r+Q(Q(f*i)+Q(m*o));f=f==Q(0)?Q(0xde0b6b000000000):Q(Q(1)/f);N[g+8>>2]=f;J[g+24>>2]=f>2];ua[J[J[a>>2]+24>>2]](a,g+376|0,g+312|0,u,h,k);ua[J[8263]]();sa=g+400|0}function Jf(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=Q(0),n=Q(0),o=Q(0),p=Q(0),q=Q(0);f=J[b>>2];J[a+16>>2]=f;i=J[a+24>>2];a:{if((i|0)!=J[a+28>>2]){break a}h=i?i<<1:1;if((h|0)<=(i|0)){break a}if(h){J[8456]=J[8456]+1;d=ua[J[8258]](h<<2,16)|0;i=J[a+24>>2]}b:{if((i|0)<=0){break b}f=0;if(i>>>0>=4){l=i&-4;while(1){g=f<<2;J[g+d>>2]=J[g+J[a+32>>2]>>2];k=g|4;J[k+d>>2]=J[k+J[a+32>>2]>>2];k=g|8;J[k+d>>2]=J[k+J[a+32>>2]>>2];g=g|12;J[g+d>>2]=J[g+J[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;J[g+d>>2]=J[g+J[a+32>>2]>>2];f=f+1|0;j=j+1|0;if((e|0)!=(j|0)){continue}break}}f=J[a+32>>2];if(!(!f|!K[a+36|0])){if(f){J[8457]=J[8457]+1;ua[J[8259]](f)}i=J[a+24>>2]}J[a+32>>2]=d;H[a+36|0]=1;J[a+28>>2]=h;f=J[a+16>>2]}J[J[a+32>>2]+(i<<2)>>2]=f;J[a+24>>2]=i+1;c:{if(c){p=N[b+16>>2];q=N[b+12>>2];m=N[b+8>>2];n=N[b+20>>2];break c}c=J[a+16>>2];n=N[b+16>>2];m=N[b+8>>2];o=N[b+12>>2];p=Q(Q(N[c+44>>2]*n)+Q(Q(N[c+36>>2]*m)+Q(o*N[c+40>>2])));q=Q(Q(N[c+28>>2]*n)+Q(Q(N[c+20>>2]*m)+Q(o*N[c+24>>2])));m=Q(Q(N[c+12>>2]*n)+Q(Q(N[c+4>>2]*m)+Q(N[c+8>>2]*o)));n=Q(0)}d=J[a+76>>2];d:{if((d|0)!=J[a+80>>2]){break d}i=d?d<<1:1;if((i|0)<=(d|0)){break d}e:{if(!i){c=0;break e}J[8456]=J[8456]+1;c=ua[J[8258]](i<<4,16)|0;d=J[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+J[a+84>>2]|0;k=J[e+4>>2];J[h>>2]=J[e>>2];J[h+4>>2]=k;k=J[e+12>>2];J[h+8>>2]=J[e+8>>2];J[h+12>>2]=k;e=g|16;g=e+c|0;e=e+J[a+84>>2]|0;h=J[e+4>>2];J[g>>2]=J[e>>2];J[g+4>>2]=h;h=J[e+12>>2];J[g+8>>2]=J[e+8>>2];J[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+J[a+84>>2]|0;e=J[d+4>>2];J[f>>2]=J[d>>2];J[f+4>>2]=e;e=J[d+12>>2];J[f+8>>2]=J[d+8>>2];J[f+12>>2]=e}d=J[a+84>>2];if(!(d?!d|!K[a+88|0]:1)){J[8457]=J[8457]+1;ua[J[8259]](d)}J[a+84>>2]=c;H[a+88|0]=1;J[a+80>>2]=i;d=J[a+76>>2]}c=J[a+84>>2]+(d<<4)|0;N[c+12>>2]=n;N[c+8>>2]=p;N[c+4>>2]=q;N[c>>2]=m;J[a+76>>2]=J[a+76>>2]+1;d=J[a+96>>2];g:{if((d|0)!=J[a+100>>2]){break g}i=d?d<<1:1;if((i|0)<=(d|0)){break g}h:{if(!i){c=0;break h}J[8456]=J[8456]+1;c=ua[J[8258]](i<<4,16)|0;d=J[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+J[a+104>>2]|0;k=J[e+4>>2];J[h>>2]=J[e>>2];J[h+4>>2]=k;k=J[e+12>>2];J[h+8>>2]=J[e+8>>2];J[h+12>>2]=k;e=g|16;g=e+c|0;e=e+J[a+104>>2]|0;h=J[e+4>>2];J[g>>2]=J[e>>2];J[g+4>>2]=h;h=J[e+12>>2];J[g+8>>2]=J[e+8>>2];J[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+J[a+104>>2]|0;e=J[d+4>>2];J[f>>2]=J[d>>2];J[f+4>>2]=e;e=J[d+12>>2];J[f+8>>2]=J[d+8>>2];J[f+12>>2]=e}d=J[a+104>>2];if(!(d?!d|!K[a+108|0]:1)){J[8457]=J[8457]+1;ua[J[8259]](d)}J[a+104>>2]=c;H[a+108|0]=1;J[a+100>>2]=i;d=J[a+96>>2]}c=J[a+104>>2]+(d<<4)|0;d=J[b+28>>2];J[c>>2]=J[b+24>>2];J[c+4>>2]=d;d=J[b+36>>2];J[c+8>>2]=J[b+32>>2];J[c+12>>2]=d;J[a+96>>2]=J[a+96>>2]+1;e=J[a+116>>2];j:{if((e|0)!=J[a+120>>2]){break j}g=e?e<<1:1;if((g|0)<=(e|0)){break j}k:{if(!g){d=0;break k}J[8456]=J[8456]+1;d=ua[J[8258]](g<<2,16)|0;e=J[a+116>>2]}c=J[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;N[j+d>>2]=N[c+j>>2];k=j|4;N[k+d>>2]=N[c+k>>2];k=j|8;N[k+d>>2]=N[c+k>>2];j=j|12;N[j+d>>2]=N[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;N[h+d>>2]=N[c+h>>2];f=f+1|0;i=i+1|0;if((j|0)!=(i|0)){continue}break}}if(K[a+128|0]){break m}break l}if(!c|!K[a+128|0]){break l}}if(c){J[8457]=J[8457]+1;ua[J[8259]](c)}e=J[a+116>>2]}J[a+124>>2]=d;J[a+120>>2]=g;H[a+128|0]=1}N[J[a+124>>2]+(e<<2)>>2]=N[b+40>>2];J[a+116>>2]=e+1;return Q(N[a+4>>2])}function ab(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=Q(0),i=0,j=Q(0),k=0,l=0,m=Q(0),n=Q(0),o=Q(0),p=0,q=Q(0),r=0,s=Q(0),t=0,u=0,v=Q(0),w=Q(0);e=sa-48|0;sa=e;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:d=N[b+40>>2];f=N[b+44>>2];h=N[c+4>>2];j=N[c+8>>2];g=N[b+36>>2];o=N[c>>2];J[a+12>>2]=0;N[a>>2]=o>=Q(0)?g:Q(-g);N[a+8>>2]=j>=Q(0)?f:Q(-f);N[a+4>>2]=h>=Q(0)?d:Q(-d);break a;case 1:d=N[c+8>>2];f=N[c>>2];g=N[c+4>>2];h=Q(Q(d*N[b+72>>2])+Q(Q(f*N[b+64>>2])+Q(g*N[b+68>>2])));j=Q(Q(d*N[b+88>>2])+Q(Q(f*N[b+80>>2])+Q(g*N[b+84>>2])));c=h>2])+Q(Q(f*N[b+96>>2])+Q(g*N[b+100>>2])))>(c?j:h)?2:c)<<4)|0;c=J[b>>2];l=J[b+4>>2];d=N[b+8>>2];J[a+12>>2]=0;N[a+8>>2]=d;J[a>>2]=c;J[a+4>>2]=l;break a;case 13:i=J[b+48>>2];J[e+40>>2]=J[b+44>>2];J[e+44>>2]=i;i=J[b+40>>2];J[e+32>>2]=J[b+36>>2];J[e+36>>2]=i;N[e+16>>2]=N[c>>2];N[e+20>>2]=N[c+4>>2];d=N[c+8>>2];J[e+28>>2]=0;N[e+24>>2]=d;c=1;i=2;c:{d:{e:{b=J[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=N[k+b>>2];k=b;b=c<<2;f=N[(k|b)>>2];k=b;b=e+16|0;g=N[k+b>>2];h=N[b+(i<<2)>>2];j=Q(Y(Q(Q(g*g)+Q(h*h))));f:{if(j!=Q(0)){f=Q(f/j);N[(c<<2)+e>>2]=g*f;b=l<<2;N[b+e>>2]=N[b+(e+16|0)>>2]>2]=f;b=l<<2;N[b+e>>2]=N[b+(e+16|0)>>2]>2]=s;b=J[e+4>>2];c=J[e>>2];d=N[e+8>>2];J[a+12>>2]=0;N[a+8>>2]=d;J[a>>2]=c;J[a+4>>2]=b;break a;case 10:k=b;b=J[b+60>>2];l=b<<2;v=N[(k+l|0)+36>>2];m=Q(1);d=N[c+8>>2];f=N[c>>2];g=N[c+4>>2];h=Q(Q(d*d)+Q(Q(f*f)+Q(g*g)));if(!(h>2]=0;J[e+44>>2]=0;J[e+32>>2]=0;J[e+36>>2]=0;N[l+(e+32|0)>>2]=v;d=Q(-0xde0b6b000000000);f=Q(0);g=Q(0);h=N[e+40>>2];j=N[e+32>>2];o=N[e+36>>2];n=Q(Q(w*h)+Q(Q(m*j)+Q(s*o)));if(n>Q(-0xde0b6b000000000)){f=o;g=h;q=j;d=n}J[e+40>>2]=0;J[e+44>>2]=0;J[e+32>>2]=0;J[e+36>>2]=0;N[(e+32|0)+(b<<2)>>2]=-v;h=N[e+40>>2];j=N[e+32>>2];o=N[e+36>>2];J[a+12>>2]=0;b=Q(Q(w*h)+Q(Q(m*j)+Q(s*o)))>d;N[a+8>>2]=b?h:g;N[a+4>>2]=b?o:f;N[a>>2]=b?j:q;break a;case 5:h=N[b+20>>2];j=N[b+28>>2];o=N[b+24>>2];l=J[b+100>>2];b=J[b+104>>2];g:{if((b|0)<=0){i=-1;break g}d=Q(N[c>>2]*h);f=Q(N[c+8>>2]*j);g=Q(N[c+4>>2]*o);t=b&1;h:{if((b|0)==1){b=0;i=-1;m=Q(-34028234663852886e22);break h}u=b&-2;b=0;i=-1;m=Q(-34028234663852886e22);c=0;while(1){k=l+(b<<4)|0;n=Q(Q(N[k+8>>2]*f)+Q(Q(N[k>>2]*d)+Q(g*N[k+4>>2])));k=n>m;r=b|1;p=l+(r<<4)|0;q=Q(Q(N[p+8>>2]*f)+Q(Q(N[p>>2]*d)+Q(g*N[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=Q(Q(N[b+8>>2]*f)+Q(Q(N[b>>2]*d)+Q(g*N[b+4>>2])))>m?c:i}b=l+(i<<4)|0;d=N[b>>2];f=N[b+4>>2];g=N[b+8>>2];J[a+12>>2]=0;N[a+8>>2]=j*g;N[a+4>>2]=o*f;N[a>>2]=h*d;break a;case 4:h=N[b+20>>2];j=N[b+28>>2];o=N[b+24>>2];l=J[b+112>>2];b=J[b+104>>2];i:{if((b|0)<=0){i=-1;break i}d=Q(N[c>>2]*h);f=Q(N[c+8>>2]*j);g=Q(N[c+4>>2]*o);t=b&1;j:{if((b|0)==1){b=0;i=-1;m=Q(-34028234663852886e22);break j}u=b&-2;b=0;i=-1;m=Q(-34028234663852886e22);c=0;while(1){k=l+(b<<4)|0;n=Q(Q(N[k+8>>2]*f)+Q(Q(N[k>>2]*d)+Q(g*N[k+4>>2])));k=n>m;r=b|1;p=l+(r<<4)|0;q=Q(Q(N[p+8>>2]*f)+Q(Q(N[p>>2]*d)+Q(g*N[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=Q(Q(N[b+8>>2]*f)+Q(Q(N[b>>2]*d)+Q(g*N[b+4>>2])))>m?c:i}b=l+(i<<4)|0;d=N[b>>2];f=N[b+4>>2];g=N[b+8>>2];J[a+12>>2]=0;N[a+8>>2]=j*g;N[a+4>>2]=o*f;N[a>>2]=h*d;break a;default:break b}}ua[J[J[b>>2]+68>>2]](a,b,c)}sa=e+48|0}function nd(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=sa-16|0;sa=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=sa-560|0;sa=g;c=(e-3|0)/24|0;p=(c|0)>0?c:0;i=e+P(p,-24)|0;l=J[6604];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)+26432>>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=Ab(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-Ab(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)+26432>>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=Ab(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=Ab(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)+29200>>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;sa=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}sa=o+16|0;return e}function Xg(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=J[a+16>>2];if((i|0)>0){break c}break b}f=J[a+8>>2];Q(ua[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}m=J[a+12>>2];while(1){q=m+(g<<2)|0;j=J[q>>2];h=J[J[j+28>>2]+208>>2];if((h|0)<0){h=J[J[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=J[a+12>>2];if((i|0)!=(g+1|0)){i=h&-2;m=0;while(1){l=j+(g<<2)|0;n=J[l>>2];h=J[J[n+28>>2]+208>>2];if((h|0)<0){h=J[J[n+32>>2]+208>>2]}g=g+2|0;o=((f|0)==(h|0))+o|0;l=J[l+4>>2];h=J[J[l+28>>2]+208>>2];if((h|0)<0){h=J[J[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=J[j+(g<<2)>>2];g=J[J[h+28>>2]+208>>2];if((g|0)<0){g=J[J[h+32>>2]+208>>2]}o=((f|0)==(g|0))+o|0}f=J[a+4>>2];if(J[f+80>>2]>=2){if((c|0)>0){g=J[a+36>>2];h=J[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}J[8456]=J[8456]+1;f=ua[J[8258]](i<<2,16)|0;g=J[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;J[l+f>>2]=J[l+J[a+40>>2]>>2];p=l|4;J[p+f>>2]=J[p+J[a+40>>2]>>2];p=l|8;J[p+f>>2]=J[p+J[a+40>>2]>>2];l=l|12;J[l+f>>2]=J[l+J[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;J[l+f>>2]=J[l+J[a+40>>2]>>2];g=g+1|0;m=m+1|0;if((k|0)!=(m|0)){continue}break}}g=J[a+40>>2];if(!(!g|!K[a+44|0])){if(g){J[8457]=J[8457]+1;ua[J[8259]](g)}h=J[a+32>>2]}J[a+40>>2]=f;H[a+44|0]=1;J[a+36>>2]=i;g=i}J[J[a+40>>2]+(h<<2)>>2]=J[n>>2];h=h+1|0;J[a+32>>2]=h;j=j+1|0;if((j|0)!=(c|0)){continue}break}}if((e|0)>0){g=J[a+56>>2];h=J[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}J[8456]=J[8456]+1;f=ua[J[8258]](b<<2,16)|0;g=J[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;J[c+f>>2]=J[c+J[a+60>>2]>>2];n=c|4;J[n+f>>2]=J[n+J[a+60>>2]>>2];n=c|8;J[n+f>>2]=J[n+J[a+60>>2]>>2];c=c|12;J[c+f>>2]=J[c+J[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;J[k+f>>2]=J[k+J[a+60>>2]>>2];g=g+1|0;m=m+1|0;if((c|0)!=(m|0)){continue}break}}c=J[a+60>>2];if(!(!c|!K[a+64|0])){if(c){J[8457]=J[8457]+1;ua[J[8259]](c)}h=J[a+52>>2]}J[a+60>>2]=f;H[a+64|0]=1;J[a+56>>2]=b;g=b}J[J[a+60>>2]+(h<<2)>>2]=J[i>>2];h=h+1|0;J[a+52>>2]=h;j=j+1|0;if((j|0)!=(e|0)){continue}break}}j:{if(!o){h=J[a+72>>2];break j}g=J[a+76>>2];h=J[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}J[8456]=J[8456]+1;f=ua[J[8258]](b<<2,16)|0;g=J[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;J[c+f>>2]=J[c+J[a+80>>2]>>2];i=c|4;J[i+f>>2]=J[i+J[a+80>>2]>>2];i=c|8;J[i+f>>2]=J[i+J[a+80>>2]>>2];c=c|12;J[c+f>>2]=J[c+J[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;J[e+f>>2]=J[e+J[a+80>>2]>>2];g=g+1|0;m=m+1|0;if((c|0)!=(m|0)){continue}break}}c=J[a+80>>2];if(!(!c|!K[a+84|0])){if(c){J[8457]=J[8457]+1;ua[J[8259]](c)}h=J[a+72>>2]}J[a+80>>2]=f;H[a+84|0]=1;J[a+76>>2]=b;g=b}J[J[a+80>>2]+(h<<2)>>2]=J[d>>2];h=h+1|0;J[a+72>>2]=h;j=j+1|0;if((o|0)!=(j|0)){continue}break}}if(J[J[a+4>>2]+80>>2]<(J[a+52>>2]+h|0)){wd(a)}return}g=J[a+8>>2];Q(ua[J[J[g>>2]+12>>2]](g,b,c,d,e,q,o,f,J[a+20>>2],J[a+24>>2]))}function Xn(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=Q(0);f=sa-32|0;sa=f;h=a+4|0;yf(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;yf(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];e=d?d+56|0:((J[c+60>>2]<<2)+a|0)+84|0;d=J[c+56>>2];J[e>>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;_b(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=$b(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]=12044;J[f+4>>2]=a;a:{if(!K[a+153|0]){break a}Zb(h,J[a+4>>2],J[a+44>>2],f);if(!K[a+153|0]){break a}c=J[h>>2];Zb(h,c,c,f)}b:{if(!K[a+154|0]){break b}c=J[a+96>>2];e=ua[J[J[c>>2]+28>>2]](c)|0;c=J[e+4>>2];if((c|0)<=0){break b}c:{d=J[a+120>>2];h=(P(J[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=J[e+12>>2]+((J[a+144>>2]+c|0)%J[e+4>>2]<<4)|0;i=J[h>>2];d=J[i+48>>2];j=J[h+4>>2];h=J[j+48>>2];d:{e:{if(!(N[d>>2]<=N[h+16>>2])|!(N[d+16>>2]>=N[h>>2])|(!(N[d+4>>2]<=N[h+20>>2])|!(N[d+20>>2]>=N[h+4>>2]))){break e}if(!(N[d+8>>2]<=N[h+24>>2])){break e}if(N[d+24>>2]>=N[h+8>>2]){break d}}d=J[a+96>>2];ua[J[J[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=J[e+4>>2];if((c|0)<=0){break c}}J[a+144>>2]=(J[a+144>>2]+g|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;c=J[a+132>>2];d=J[a+128>>2];if(d){m=Q(Q(c>>>0)/Q(d>>>0))}else{m=Q(0)}N[a+136>>2]=m;J[a+132>>2]=c>>>1;J[a+128>>2]=d>>>1;sa=f+32|0;d=0;c=0;j=0;l=sa-16|0;sa=l;f=J[a+96>>2];if(ua[J[J[f>>2]+56>>2]](f)|0){h=a;a=J[a+96>>2];g=ua[J[J[a>>2]+28>>2]](a)|0;a=J[g+4>>2];if((a|0)>=2){Yb(g,l+15|0,0,a-1|0);a=J[g+4>>2]}if((a|0)>0){while(1){i=J[g+12>>2]+(j<<4)|0;f=J[i+4>>2];e=d;d=J[i>>2];f:{g:{if((e|0)==(d|0)&(c|0)==(f|0)){break g}c=J[d+48>>2];e=J[f+48>>2];if(!(N[c>>2]<=N[e+16>>2])|!(N[c+16>>2]>=N[e>>2])|(!(N[c+4>>2]<=N[e+20>>2])|!(N[c+20>>2]>=N[e+4>>2]))){break g}if(!(N[c+8>>2]<=N[e+24>>2])){break g}if(N[c+24>>2]>=N[e+8>>2]){break f}}a=J[h+96>>2];ua[J[J[a>>2]+32>>2]](a,i,b);J[i>>2]=0;J[i+4>>2]=0;k=k+1|0;a=J[g+4>>2]}c=f;j=j+1|0;if((j|0)<(a|0)){continue}break}if((a|0)>=2){Yb(g,l+14|0,0,a-1|0);a=J[g+4>>2]}b=a-k|0;h:{if((k|0)>=0){break h}if((b|0)>J[g+8>>2]){d=0;i:{if((a|0)==(k|0)){break i}J[8456]=J[8456]+1;d=ua[J[8258]](b<<4,16)|0;e=J[g+4>>2];if((e|0)<=0){break i}c=0;while(1){h=c<<4;f=h+d|0;h=h+J[g+12>>2]|0;J[f>>2]=J[h>>2];J[f+4>>2]=J[h+4>>2];J[f+8>>2]=J[h+8>>2];J[f+12>>2]=J[h+12>>2];c=c+1|0;if((e|0)!=(c|0)){continue}break}}c=J[g+12>>2];if(!(c?!c|!K[g+16|0]:1)){J[8457]=J[8457]+1;ua[J[8259]](c)}J[g+12>>2]=d;H[g+16|0]=1;J[g+8>>2]=b}c=0;f=0-k&3;if(f){while(1){d=J[g+12>>2]+(a<<4)|0;J[d>>2]=0;J[d+4>>2]=0;J[d+8>>2]=0;J[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+J[g+12>>2]|0;J[d>>2]=0;J[d+4>>2]=0;J[d+8>>2]=0;J[d+12>>2]=0;d=c+J[g+12>>2]|0;J[d+24>>2]=0;J[d+28>>2]=0;J[d+16>>2]=0;J[d+20>>2]=0;d=c+J[g+12>>2]|0;J[d+40>>2]=0;J[d+44>>2]=0;J[d+32>>2]=0;J[d+36>>2]=0;c=c+J[g+12>>2]|0;J[c+56>>2]=0;J[c+60>>2]=0;J[c+48>>2]=0;J[c+52>>2]=0;a=a+4|0;if((b|0)!=(a|0)){continue}break}}a=b}J[g+4>>2]=a}sa=l+16|0}function wi(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;h=b;d=J[a+28>>2];n=d+4|0;b=J[a+32>>2];o=b+4|0;p=d+372|0;q=b+372|0;r=d+388|0;s=b+388|0;i=sa-16|0;sa=i;c=a;a=J[c+1232>>2]-1|0;a:{if(a>>>0>4){j=1;a=2;break a}a=a<<2;f=J[a+23524>>2];j=J[a+23504>>2];a=J[a+23484>>2]}e=P(f,88)+c|0;if(J[e+1052>>2]|K[e+996|0]|K[(P(f,88)+c|0)+1016|0]){d=(f<<4)+c|0;k=d+1388|0;b=J[k+4>>2];J[i+8>>2]=J[k>>2];J[i+12>>2]=b;k=d+1380|0;b=J[k+4>>2];J[i>>2]=J[k>>2];J[i+4>>2]=b;b=J[c+1456>>2]>>(f<<2)+12;if(!(b&1)){N[(P(f,88)+c|0)+984>>2]=N[J[h+32>>2]>>2]}if(!(b&2)){N[(P(f,88)+c|0)+980>>2]=N[h+4>>2]}if(!(b&4)){N[(P(f,88)+c|0)+992>>2]=N[J[h+32>>2]>>2]}if(!(b&8)){N[(P(f,88)+c|0)+988>>2]=N[h+4>>2]}k=Ib(c,e+968|0,n,o,p,q,r,s,h,0,i,1,0)}f=P(j,88)+c|0;if(J[f+1052>>2]|K[f+996|0]|K[(P(j,88)+c|0)+1016|0]){e=(j<<4)+c|0;d=e+1388|0;b=J[d+4>>2];J[i+8>>2]=J[d>>2];J[i+12>>2]=b;d=e+1380|0;b=J[d+4>>2];J[i>>2]=J[d>>2];J[i+4>>2]=b;b=J[c+1456>>2]>>(j<<2)+12;if(!(b&1)){N[(P(j,88)+c|0)+984>>2]=N[J[h+32>>2]>>2]}if(!(b&2)){N[(P(j,88)+c|0)+980>>2]=N[h+4>>2]}if(!(b&4)){N[(P(j,88)+c|0)+992>>2]=N[J[h+32>>2]>>2]}if(!(b&8)){N[(P(j,88)+c|0)+988>>2]=N[h+4>>2]}k=Ib(c,f+968|0,n,o,p,q,r,s,h,k,i,1,0)+k|0}f=P(a,88)+c|0;if(J[f+1052>>2]|K[f+996|0]|K[(P(a,88)+c|0)+1016|0]){e=(a<<4)+c|0;d=e+1388|0;b=J[d+4>>2];J[i+8>>2]=J[d>>2];J[i+12>>2]=b;d=e+1380|0;b=J[d+4>>2];J[i>>2]=J[d>>2];J[i+4>>2]=b;b=J[c+1456>>2]>>(a<<2)+12;if(!(b&1)){N[(P(a,88)+c|0)+984>>2]=N[J[h+32>>2]>>2]}if(!(b&2)){N[(P(a,88)+c|0)+980>>2]=N[h+4>>2]}if(!(b&4)){N[(P(a,88)+c|0)+992>>2]=N[J[h+32>>2]>>2]}if(!(b&8)){N[(P(a,88)+c|0)+988>>2]=N[h+4>>2]}k=Ib(c,f+968|0,n,o,p,q,r,s,h,k,i,1,0)+k|0}sa=i+16|0;e=0;b=sa-112|0;sa=b;J[b+44>>2]=1063675494;J[b+48>>2]=0;J[b+36>>2]=1045220557;J[b+40>>2]=0;v=c+760|0;w=c+776|0;t=h+4|0;x=c+728|0;y=c+744|0;z=c+1268|0;A=c+1252|0;B=c+1236|0;C=c+876|0;D=c+892|0;E=c+696|0;F=c+860|0;G=c+840|0;I=c+820|0;L=c+804|0;M=c+924|0;O=c+908|0;R=c+940|0;i=c+712|0;u=c+680|0;while(1){d=K[(e+u|0)+112|0];b:{c:{g=e<<2;j=u+g|0;f=J[j+276>>2];if(f){break c}a=d;d=1;if(a){break c}d=0;if(K[(c+e|0)+798|0]){break c}a=e+1|0;break b}l=N[g+i>>2];J[b+108>>2]=f;N[b+32>>2]=l;N[b+104>>2]=N[g+R>>2];N[b+96>>2]=N[g+O>>2];l=N[g+M>>2];H[b+52|0]=d;N[b+100>>2]=l;a=c+e|0;H[b+64|0]=K[a+795|0];N[b+68>>2]=N[g+L>>2];H[b+72|0]=K[a+798|0];N[b+76>>2]=N[g+I>>2];H[b+80|0]=K[a+836|0];N[b+84>>2]=N[g+G>>2];H[b+88|0]=K[a+856|0];N[b+92>>2]=N[g+F>>2];N[b+28>>2]=N[g+E>>2];N[b+24>>2]=N[j>>2];N[b+60>>2]=N[g+D>>2];N[b+56>>2]=N[g+C>>2];N[b+8>>2]=N[g+B>>2];N[b+12>>2]=N[g+A>>2];l=N[g+z>>2];J[b+20>>2]=0;N[b+16>>2]=l;d=J[c+1456>>2]>>g;N[b+40>>2]=N[(d&1?g+y|0:J[h+32>>2])>>2];N[b+36>>2]=N[(d&2?g+x|0:t)>>2];N[b+48>>2]=N[(d&4?g+w|0:J[h+32>>2])>>2];N[b+44>>2]=N[(d&8?g+v|0:t)>>2];j=1;f=e?e-1|0:2;d=1;d:{e:{f:{g:{a=e+1|0;e=P(e>>>0<2?a:e-2|0,88)+c|0;switch(J[e+1052>>2]-1|0){case 0:case 1:break d;case 3:break f;case 2:break g;default:break e}}m=+N[e+1040>>2];d=m<-.001|m>.001;break d}if(+N[e+1040>>2]<-.001){break d}d=+N[e+1044>>2]>.001;break d}d=0}h:{i:{j:{k:{e=P(f,88)+c|0;switch(J[e+1052>>2]-1|0){case 0:case 1:break i;case 3:break j;case 2:break k;default:break h}}m=+N[e+1040>>2];if(m<-.001|m>.001){break i}break h}if(+N[e+1040>>2]<-.001){break i}if(!(+N[e+1044>>2]>.001)){break h}}j=0}k=Ib(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}sa=b+112|0}function Zd(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=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=0,D=Q(0),E=Q(0),F=Q(0),G=Q(0),I=Q(0),K=Q(0),L=Q(0),M=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),_=0,$=0,aa=Q(0),ba=Q(0),ca=Q(0),da=Q(0),ea=Q(0),fa=Q(0);e=sa-240|0;sa=e;a:{if(J[a+16>>2]){Kb(J[a+4>>2]);f=J[a+12>>2];s=J[f+4>>2];M=J[a+16>>2];_=J[M+4>>2];h=Q(ua[J[J[f>>2]+48>>2]](f));C=J[a+16>>2];j=Q(ua[J[J[C>>2]+48>>2]](C));C=J[a+4>>2];$=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]=j;N[a+44>>2]=h;J[a+40>>2]=_;J[a+36>>2]=s;J[a+32>>2]=M;J[a+28>>2]=f;J[a+24>>2]=C;J[a+20>>2]=$;J[a+4>>2]=0;J[a+8>>2]=1065353216;J[a+12>>2]=0;J[a+16>>2]=0;J[a>>2]=22784;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;s=J[b+44>>2];f=e- -64|0;J[f>>2]=J[b+40>>2];J[f+4>>2]=s;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;Za(a,e+24|0,d,0,0);break a}E=N[b+52>>2];F=N[b+56>>2];G=N[c+52>>2];I=N[c+56>>2];k=N[b+20>>2];l=N[b+36>>2];h=N[c+20>>2];j=N[c+36>>2];g=N[c+24>>2];m=N[b+24>>2];i=N[c+40>>2];p=N[b+40>>2];K=N[b+48>>2];aa=N[c+48>>2];f=J[a+12>>2];q=N[b+32>>2];r=N[b+16>>2];t=N[b>>2];u=N[b+4>>2];y=N[c+32>>2];z=N[c+16>>2];A=N[c>>2];B=N[c+4>>2];n=N[c+8>>2];v=N[b+8>>2];a=J[a+20>>2];w=N[a+60>>2];b=a- -64|0;x=N[b>>2];o=N[a+56>>2];J[e+172>>2]=0;O=Q(Q(p*y)+Q(Q(v*A)+Q(m*z)));o=Q(-o);P=Q(Q(p*j)+Q(Q(v*B)+Q(m*h)));D=Q(Q(p*i)+Q(Q(v*n)+Q(m*g)));N[e+168>>2]=Q(Q(O*o)-Q(w*P))-Q(x*D);R=Q(Q(l*y)+Q(Q(u*A)+Q(k*z)));S=Q(Q(l*j)+Q(Q(u*B)+Q(k*h)));T=Q(Q(l*i)+Q(Q(u*n)+Q(k*g)));N[e+164>>2]=Q(Q(R*o)-Q(w*S))-Q(x*T);U=Q(Q(q*y)+Q(Q(t*A)+Q(r*z)));V=Q(Q(q*j)+Q(Q(t*B)+Q(r*h)));W=Q(Q(q*i)+Q(Q(t*n)+Q(r*g)));N[e+160>>2]=Q(Q(U*o)-Q(w*V))-Q(x*W);s=e+160|0;ua[J[J[f>>2]+64>>2]](e+24|0,f,s);k=N[a+60>>2];l=N[b>>2];ba=N[a+72>>2];m=N[a+56>>2];p=N[e+24>>2];q=N[e+28>>2];r=N[e+32>>2];ca=N[c+52>>2];t=N[c+24>>2];u=N[c+20>>2];da=N[c+56>>2];v=N[c+40>>2];w=N[c+36>>2];ea=N[c+48>>2];x=N[c+8>>2];o=N[c>>2];X=N[c+4>>2];Y=N[c+16>>2];Z=N[c+32>>2];J[e+172>>2]=0;fa=Q(Q(F*i)+Q(Q(K*n)+Q(E*g)));L=n;n=Q(-aa);g=Q(Q(fa+Q(Q(Q(L*n)-Q(g*G))-Q(i*I)))+Q(Q(r*D)+Q(Q(p*W)+Q(T*q))));L=g;D=Q(l*g);g=Q(Q(Q(Q(F*y)+Q(Q(K*A)+Q(E*z)))+Q(Q(Q(A*n)-Q(z*G))-Q(y*I)))+Q(Q(r*O)+Q(Q(p*U)+Q(R*q))));i=Q(Q(Q(Q(F*j)+Q(Q(K*B)+Q(E*h)))+Q(Q(Q(B*n)-Q(h*G))-Q(j*I)))+Q(Q(r*P)+Q(Q(p*V)+Q(S*q))));h=Q(Q(D+Q(Q(m*g)+Q(k*i)))-ba);j=Q(L-Q(l*h));g=Q(g-Q(m*h));i=Q(i-Q(k*h));N[e+168>>2]=da+Q(Q(v*j)+Q(Q(Z*g)+Q(w*i)));N[e+164>>2]=ca+Q(Q(j*t)+Q(Q(g*Y)+Q(i*u)));N[e+160>>2]=ea+Q(Q(j*x)+Q(Q(g*o)+Q(i*X)));J[e+20>>2]=0;N[e+16>>2]=Q(v*l)+Q(Q(Z*m)+Q(k*w));N[e+12>>2]=Q(t*l)+Q(Q(Y*m)+Q(k*u));N[e+8>>2]=Q(x*l)+Q(Q(o*m)+Q(k*X));ua[J[J[d>>2]+16>>2]](d,e+8|0,s,h)}sa=e+240|0}function Hd(a,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=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;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+472>>2]=0;J[a+476>>2]=0;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+420>>2]=0;J[a+424>>2]=0;J[a+416>>2]=1065353216;J[a+428>>2]=0;J[a+432>>2]=0;J[a+436>>2]=0;J[a+440>>2]=0;J[a+444>>2]=0;J[a+448>>2]=0;J[a+452>>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;g=N[b+92>>2];d=N[b+96>>2];N[a+508>>2]=dQ(1)?Q(1):d;N[a+504>>2]=gQ(1)?Q(1):g;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){ua[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;t=J[c+4>>2];J[a+60>>2]=J[c>>2];J[a+64>>2]=t;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];ua[J[J[a>>2]+8>>2]](a,J[b+72>>2]);c=J[8931];J[8931]=c+1;J[a+568>>2]=c;g=Q(0);c=J[a+204>>2];d=N[b>>2];if(d==Q(0)){c=c|1}else{g=Q(Q(1)/d);c=c&-2}N[a+404>>2]=g;J[a+204>>2]=c;J[a+436>>2]=0;N[a+424>>2]=d*N[a+440>>2];N[a+432>>2]=d*N[a+448>>2];N[a+428>>2]=d*N[a+444>>2];e=N[b+84>>2];f=N[b+80>>2];d=N[b+76>>2];J[a+564>>2]=8;J[a+368>>2]=0;J[a+352>>2]=0;J[a+336>>2]=0;J[a+468>>2]=0;d=d!=Q(0)?Q(Q(1)/d):Q(0);N[a+456>>2]=d;f=f!=Q(0)?Q(Q(1)/f):Q(0);N[a+460>>2]=f;e=e!=Q(0)?Q(Q(1)/e):Q(0);N[a+464>>2]=e;m=N[a+12>>2];h=Q(e*m);n=N[a+4>>2];i=Q(d*n);o=N[a+8>>2];j=Q(f*o);N[a+324>>2]=Q(m*h)+Q(Q(n*i)+Q(o*j));p=N[a+28>>2];q=N[a+20>>2];r=N[a+24>>2];N[a+328>>2]=Q(p*h)+Q(Q(q*i)+Q(j*r));s=N[a+44>>2];k=Q(s*h);h=N[a+36>>2];l=Q(h*i);i=N[a+40>>2];N[a+332>>2]=k+Q(l+Q(j*i));j=Q(e*p);k=Q(d*q);l=Q(f*r);N[a+340>>2]=Q(m*j)+Q(Q(n*k)+Q(o*l));N[a+344>>2]=Q(p*j)+Q(Q(q*k)+Q(r*l));N[a+348>>2]=Q(s*j)+Q(Q(h*k)+Q(l*i));e=Q(e*s);d=Q(d*h);f=Q(f*i);N[a+356>>2]=Q(m*e)+Q(Q(n*d)+Q(o*f));N[a+360>>2]=Q(p*e)+Q(Q(q*d)+Q(r*f));N[a+364>>2]=Q(s*e)+Q(Q(h*d)+Q(i*f));d=N[a+408>>2];f=N[a+412>>2];e=N[a+416>>2];J[a+596>>2]=0;J[a+600>>2]=0;J[a+588>>2]=0;J[a+592>>2]=0;J[a+580>>2]=0;J[a+584>>2]=0;J[a+572>>2]=0;J[a+576>>2]=0;N[a+628>>2]=g*e;N[a+624>>2]=g*f;N[a+620>>2]=g*d;J[a+664>>2]=0;J[a+656>>2]=0;J[a+660>>2]=0;J[a+648>>2]=0;J[a+652>>2]=0;J[a+640>>2]=0;J[a+644>>2]=0;J[a+632>>2]=0;J[a+636>>2]=0}function zo(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=sa-144|0;sa=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;ua[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;ua[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(Na(k)*b);N[h>>2]=p;N[A>>2]=p;k=Q(Ma(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)));ua[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}sa=g+144|0}function Ib(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];u=N[p>>2];z=N[p+4>>2];p=l?h:f;w=N[p+8>>2];x=N[p>>2];v=N[p+4>>2];o=N[k+8>>2];n=N[k>>2];r=N[k+4>>2];jb(a,c,d,i,j,k,l,m);p=J[i+28>>2]+(j<<2)|0;y=l?Q(-1):Q(1);t=Q(y*Q(Q(N[i>>2]*N[b+12>>2])*N[b+72>>2]));N[p>>2]=t;n=Q(Q(Q(q*o)+Q(Q(u*n)+Q(z*r)))-Q(Q(w*o)+Q(Q(x*n)+Q(r*v))));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;jb(a,c,d,i,j,k,l,m);p=J[i+28>>2]+(j<<2)|0;q=Q(y*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}}jb(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]){jb(a,c,d,i,j,k,l,m);o=N[b+32>>2];o=Hb(N[b+80>>2],N[b>>2],N[b+4>>2],l?o:Q(-o),Q(N[i>>2]*N[b+20>>2]));s=j<<2;N[s+J[i+28>>2]>>2]=o*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=Hb(v,n,q,u,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]){q=N[b+68>>2];u=N[b+80>>2];jb(a,c,d,i,j,k,l,m);c=l?g:e;o=N[k+8>>2];n=N[k>>2];r=N[k+4>>2];v=Q(Q(N[c+8>>2]*o)+Q(Q(N[c>>2]*n)+Q(N[c+4>>2]*r)));c=l?h:f;t=Q(v-Q(Q(N[c+8>>2]*o)+Q(Q(N[c>>2]*n)+Q(r*N[c+4>>2]))));o=Q(Q(1)/N[J[a+32>>2]+404>>2]);n=Q(Q(1)/N[J[a+28>>2]+404>>2]);r=n>o?o:n;u=Q(u-q);q=N[b+60>>2];n=Q(Q(1)/N[i>>2]);o=N[b+52>>2];if(!(!K[b+56|0]|!(Q(n*Q(Y(Q(o/r))))>Q(.25)))){o=Q(Q(Q(Q(Q(1)/n)/n)*Q(.0625))*r)}a=j<<2;w=Q(n*Q(u*o));v=n;x=Q(t*Q(-(K[b+64|0]?r>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 Ld(a,b,c,d,e,f){a=mc(a,12,b,c);J[a>>2]=23392;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;J[a+680>>2]=0;J[a+684>>2]=0;J[a+688>>2]=0;J[a+692>>2]=0;J[a+696>>2]=0;J[a+700>>2]=0;J[a+704>>2]=0;J[a+708>>2]=0;J[a+712>>2]=0;J[a+716>>2]=0;J[a+720>>2]=0;J[a+724>>2]=0;J[a+728>>2]=1045220557;J[a+732>>2]=1045220557;J[a+736>>2]=1045220557;J[a+756>>2]=0;J[a+748>>2]=0;J[a+752>>2]=0;J[a+740>>2]=0;J[a+744>>2]=0;J[a+760>>2]=1063675494;J[a+764>>2]=1063675494;J[a+768>>2]=1063675494;J[a+812>>2]=0;J[a+804>>2]=0;J[a+808>>2]=0;J[a+828>>2]=0;J[a+820>>2]=0;J[a+824>>2]=0;H[a+838|0]=0;I[a+836>>1]=0;J[a+848>>2]=0;J[a+840>>2]=0;J[a+844>>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;J[a+964>>2]=0;J[a+956>>2]=0;J[a+960>>2]=0;J[a+948>>2]=0;J[a+952>>2]=0;J[a+940>>2]=0;J[a+944>>2]=0;J[a+932>>2]=0;J[a+936>>2]=0;J[a+924>>2]=0;J[a+928>>2]=0;J[a+916>>2]=0;J[a+920>>2]=0;J[a+908>>2]=0;J[a+912>>2]=0;H[a+1032|0]=0;J[a+1028>>2]=0;H[a+1024|0]=0;J[a+1020>>2]=0;H[a+1016|0]=0;J[a+1012>>2]=0;H[a+1008|0]=0;J[a+1e3>>2]=0;J[a+1004>>2]=1036831949;H[a+996|0]=0;J[a+992>>2]=0;J[a+984>>2]=0;J[a+988>>2]=1063675494;J[a+976>>2]=0;J[a+980>>2]=1045220557;J[a+968>>2]=1065353216;J[a+972>>2]=-1082130432;J[a+1052>>2]=0;b=a+1044|0;J[b>>2]=0;J[b+4>>2]=0;b=a+1036|0;J[b>>2]=0;J[b+4>>2]=0;H[a+1120|0]=0;J[a+1116>>2]=0;H[a+1112|0]=0;J[a+1108>>2]=0;H[a+1104|0]=0;J[a+1100>>2]=0;H[a+1096|0]=0;b=a+1088|0;J[b>>2]=0;J[b+4>>2]=1036831949;H[a+1084|0]=0;J[a+1080>>2]=0;b=a+1072|0;J[b>>2]=0;J[b+4>>2]=1063675494;b=a+1064|0;J[b>>2]=0;J[b+4>>2]=1045220557;b=a+1056|0;J[b>>2]=1065353216;J[b+4>>2]=-1082130432;J[a+1140>>2]=0;b=a+1132|0;J[b>>2]=0;J[b+4>>2]=0;b=a+1124|0;J[b>>2]=0;J[b+4>>2]=0;H[a+1208|0]=0;J[a+1204>>2]=0;H[a+1200|0]=0;J[a+1196>>2]=0;H[a+1192|0]=0;J[a+1188>>2]=0;H[a+1184|0]=0;b=a+1176|0;J[b>>2]=0;J[b+4>>2]=1036831949;H[a+1172|0]=0;J[a+1168>>2]=0;b=a+1160|0;J[b>>2]=0;J[b+4>>2]=1063675494;b=a+1152|0;J[b>>2]=0;J[b+4>>2]=1045220557;b=a+1144|0;J[b>>2]=1065353216;J[b+4>>2]=-1082130432;J[a+1228>>2]=0;b=a+1220|0;J[b>>2]=0;J[b+4>>2]=0;b=a+1212|0;J[b>>2]=0;J[b+4>>2]=0;J[a+1456>>2]=0;J[a+1232>>2]=f;qc(a,J[a+28>>2]+4|0,J[a+32>>2]+4|0);return a}function $i(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=sa-32|0;sa=e;d=ua[J[J[a>>2]+28>>2]](a)|0;J[b>>2]=0;J[b+20>>2]=d;if(d){p=ua[J[J[c>>2]+16>>2]](c,32,d)|0;j=J[p+8>>2];s=b,t=ua[J[J[c>>2]+28>>2]](c,j)|0,J[s>>2]=t;r=ua[J[J[a>>2]+28>>2]](a)|0;if((r|0)>0){while(1){ua[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,o);d=J[e>>2];J[j+24>>2]=d;f=J[e+4>>2];J[j>>2]=0;J[j+4>>2]=0;J[j+28>>2]=f;J[j+8>>2]=0;J[j+12>>2]=0;J[j+16>>2]=0;J[j+20>>2]=0;a:{b:{switch(J[e+12>>2]-2|0){case 0:if(!d){break a}f=ua[J[J[c>>2]+16>>2]](c,4,P(d,3))|0;k=J[f+8>>2];s=j,t=ua[J[J[c>>2]+28>>2]](c,k)|0,J[s+8>>2]=t;if(J[e>>2]>0){d=0;m=J[e+24>>2];while(1){h=k+P(d,12)|0;g=m+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}}ua[J[J[c>>2]+20>>2]](c,f,8455,1497453121,J[f+8>>2]);break a;case 1:if(!d){break a}h=ua[J[J[c>>2]+16>>2]](c,8,d)|0;k=J[h+8>>2];s=j,t=ua[J[J[c>>2]+28>>2]](c,k)|0,J[s+12>>2]=t;d=0;if(J[e>>2]>0){while(1){f=k+(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}}ua[J[J[c>>2]+20>>2]](c,h,8520,1497453121,J[h+8>>2]);break a;case 3:break b;default:break a}}if(!d){break a}h=ua[J[J[c>>2]+16>>2]](c,4,d)|0;k=J[h+8>>2];s=j,t=ua[J[J[c>>2]+28>>2]](c,k)|0,J[s+16>>2]=t;d=0;if(J[e>>2]>0){while(1){f=k+(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}}ua[J[J[c>>2]+20>>2]](c,h,8547,1497453121,J[h+8>>2])}c:{d:{switch(J[e+16>>2]){case 0:d=J[e+4>>2];if(!d){break c}n=ua[J[J[c>>2]+16>>2]](c,16,d)|0;h=J[n+8>>2];s=j,t=ua[J[J[c>>2]+28>>2]](c,h)|0,J[s>>2]=t;g=J[e+4>>2];e:{if((g|0)<=0){break e}d=0;k=J[e+8>>2];m=J[e+28>>2];if((g|0)!=1){q=g&-2;f=0;while(1){l=h+(d<<4)|0;i=m+P(d,k)|0;N[l>>2]=N[i>>2];N[l+4>>2]=N[i+4>>2];N[l+8>>2]=N[i+8>>2];i=d|1;l=h+(i<<4)|0;i=m+P(i,k)|0;N[l>>2]=N[i>>2];N[l+4>>2]=N[i+4>>2];N[l+8>>2]=N[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+P(d,k)|0;N[f>>2]=N[d>>2];N[f+4>>2]=N[d+4>>2];N[f+8>>2]=N[d+8>>2]}ua[J[J[c>>2]+20>>2]](c,n,8754,1497453121,J[n+8>>2]);break c;case 1:break d;default:break c}}d=J[e+4>>2];if(!d){break c}n=ua[J[J[c>>2]+16>>2]](c,32,d)|0;h=J[n+8>>2];s=j,t=ua[J[J[c>>2]+28>>2]](c,h)|0,J[s+4>>2]=t;g=J[e+4>>2];f:{if((g|0)<=0){break f}d=0;k=J[e+8>>2];m=J[e+28>>2];if((g|0)!=1){q=g&-2;f=0;while(1){l=h+(d<<5)|0;i=m+P(d,k)|0;O[l>>3]=O[i>>3];O[l+8>>3]=O[i+8>>3];O[l+16>>3]=O[i+16>>3];i=d|1;l=h+(i<<5)|0;i=m+P(i,k)|0;O[l>>3]=O[i>>3];O[l+8>>3]=O[i+8>>3];O[l+16>>3]=O[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+P(d,k)|0;O[f>>3]=O[d>>3];O[f+8>>3]=O[d+8>>3];O[f+16>>3]=O[d+16>>3]}ua[J[J[c>>2]+20>>2]](c,n,8993,1497453121,J[n+8>>2])}ua[J[J[a>>2]+24>>2]](a,o);j=j+32|0;o=o+1|0;if((r|0)!=(o|0)){continue}break}}ua[J[J[c>>2]+20>>2]](c,p,8470,1497453121,J[p+8>>2])}J[b+24>>2]=0;N[b+4>>2]=N[a+4>>2];N[b+8>>2]=N[a+8>>2];N[b+12>>2]=N[a+12>>2];N[b+16>>2]=N[a+16>>2];sa=e+32|0;return 9059}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=Q(0),j=0,k=Q(0),l=0,m=Q(0),n=Q(0),o=Q(0),p=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=0,z=0,A=0;l=sa+-64|0;sa=l;g=J[a+56>>2];J[l+60>>2]=0;J[l+8>>2]=b;J[l+4>>2]=g;J[l>>2]=18972;g=sa-16|0;sa=g;f=J[a+60>>2];a:{if(K[f+60|0]){v=N[f+40>>2];s=N[f+24>>2];i=N[f+8>>2];w=N[f+36>>2];t=N[f+20>>2];q=N[f+4>>2];n=N[c>>2];o=N[c+4>>2];u=N[f+28>>2];m=N[f+12>>2];k=N[c+8>>2];k=m>k?m:k;x=N[f+44>>2];k=Q(Q((k>u?u:k)-m)*x);b:{if(k=Q(0)){a=~~k>>>0;break b}a=0}j=a&65534;I[g+14>>1]=j;o=i>o?i:o;o=Q(v*Q((o>s?s:o)-i));c:{if(o=Q(0)){a=~~o>>>0;break c}a=0}r=a&65534;I[g+12>>1]=r;n=nt?t:n)-q)*w);d:{if(n=Q(0)){a=~~n>>>0;break d}a=0}y=a&65534;I[g+10>>1]=y;n=N[d>>2];o=N[d+4>>2];k=N[d+8>>2];k=m>k?m:k;m=Q(Q(x*Q((k>u?u:k)-m))+Q(1));e:{if(m=Q(0)){a=~~m>>>0;break e}a=0}d=a|1;I[g+8>>1]=d;m=i>o?i:o;i=Q(Q(v*Q((m>s?s:m)-i))+Q(1));f:{if(i=Q(0)){a=~~i>>>0;break f}a=0}z=a|1;I[g+6>>1]=z;i=nt?t:i)-q))+Q(1));g:{if(i=Q(0)){a=~~i>>>0;break g}a=0}A=a|1;I[g+4>>1]=A;h:{switch(J[f+144>>2]){case 0:a=J[f+56>>2];if((a|0)>0){e=J[f+136>>2];while(1){p=p+1|0;i:{j:{b=J[e+12>>2];f=(b|0)<0;c=y>>>0<=L[e+6>>1]&A>>>0>=L[e>>1]&L[e+10>>1]>=j>>>0&d>>>0>=L[e+4>>1]&r>>>0<=L[e+8>>1]&z>>>0>=L[e+2>>1];k:{if(!(f|!c)){ua[J[J[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(J[8470]>=(p|0)){break a}J[8470]=p;break a;case 1:if(J[f+152>>2]>0){while(1){a=J[f+160>>2]+(e<<5)|0;l:{if(L[g+10>>1]>L[a+6>>1]|L[g+4>>1]>1]|(L[g+8>>1]>1]|L[g+14>>1]>L[a+10>>1])){break l}if(L[g+6>>1]>1]|L[g+12>>1]>L[a+8>>1]){break l}b=J[a+16>>2];m:{if((b|0)<=0){b=0;break m}j=J[a+12>>2];d=b+j|0;h=J[f+136>>2]+(j<<4)|0;b=0;while(1){n:{o:{a=J[h+12>>2];p=(a|0)<0;c=L[g+10>>1]<=L[h+6>>1]&L[g+4>>1]>=L[h>>1]&L[g+14>>1]<=L[h+10>>1]&L[g+8>>1]>=L[h+4>>1]&L[g+12>>1]<=L[h+8>>1]&L[g+6>>1]>=L[h+2>>1];p:{if(!(p|!c)){ua[J[J[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(J[8470]>=(b|0)){break l}J[8470]=b}e=e+1|0;if((e|0)>2]){continue}break}}break a;case 2:break h;default:break a}}Ae(f,J[f+136>>2],l,g+10|0,g+4|0);break a}r=J[f+56>>2];if((r|0)>0){e=J[f+96>>2];while(1){a=0;q:{if(N[c>>2]>N[e+16>>2]){break q}a=0;if(N[d>>2]>2]){break q}a=1}b=0;b=N[d+8>>2]>2]|N[c+8>>2]>N[e+24>>2]?b:a;r:{s:{t:{if(N[d+4>>2]>2]|N[c+4>>2]>N[e+20>>2]){j=J[e+32>>2];a=(j|0)==-1;b=0;break t}j=J[e+32>>2];a=(j|0)==-1;if(!(b&a)){break t}ua[J[J[l>>2]+8>>2]](l,J[e+36>>2],J[e+40>>2]);r=J[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(J[8470]>=(p|0)){break a}J[8470]=p}sa=g+16|0;sa=l- -64|0}function gf(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=sa-208|0;sa=b;a:{if(!(ua[J[J[a>>2]+20>>2]](a)|0)){break a}d=ua[J[J[a>>2]+20>>2]](a)|0;ua[J[J[d>>2]+100>>2]](d);d=ua[J[J[a>>2]+20>>2]](a)|0;ua[J[J[d>>2]+8>>2]](b+80|0,d);d=ua[J[J[a>>2]+20>>2]](a)|0;b:{if(!(ua[J[J[d>>2]+56>>2]](d)&8)){break b}d=J[a+24>>2];if(!d){break b}i=ua[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=ua[J[J[d>>2]+40>>2]](d,e)|0;k=J[j+844>>2];if((k|0)>0){while(1){d=ua[J[J[a>>2]+20>>2]](a)|0;c=j+P(g,208)|0;ua[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=ua[J[J[a>>2]+20>>2]](a)|0;if(!(ua[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(!(ua[J[J[a>>2]+20>>2]](a)|0)){break d}c=ua[J[J[a>>2]+20>>2]](a)|0;if(!(ua[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}ua[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(!(ua[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];ua[J[J[c>>2]+8>>2]](c,e+4|0,b- -64|0,b+48|0);f=N[8265];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];ua[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];ua[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}}sa=b+208|0}function nc(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=0,u=0,v=Q(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);j=J[a+88>>2];r=j;a:{if((j|0)!=J[a+92>>2]){break a}t=j?j<<1:1;if((j|0)>=(t|0)){break a}if(t){J[8456]=J[8456]+1;u=ua[J[8258]](P(t,152),16)|0;g=J[a+88>>2]}else{g=j}b:{if((g|0)<=0){break b}r=0;if((g|0)!=1){z=g&-2;while(1){s=P(r,152);Ja(s+u|0,s+J[a+96>>2]|0,152);s=P(r|1,152);Ja(s+u|0,s+J[a+96>>2]|0,152);r=r+2|0;x=x+2|0;if((x|0)!=(z|0)){continue}break}}if(!(g&1)){break b}g=P(r,152);Ja(g+u|0,g+J[a+96>>2]|0,152)}g=J[a+96>>2];if(!(g?!g|!K[a+100|0]:1)){J[8457]=J[8457]+1;ua[J[8259]](g)}J[a+96>>2]=u;H[a+100|0]=1;J[a+92>>2]=t;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){v=Q(Q(N[a+348>>2]*k)+Q(Q(N[a+340>>2]*h)+Q(i*N[a+344>>2])));w=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)}y=Q(Q(1)/Q(q+Q(Q(m*k)+Q(Q(w*h)+Q(v*i)))));N[g+108>>2]=y;w=Q(0);q=Q(0);m=Q(0);v=Q(0);if(e){b=j+P(c,244)|0;w=Q(N[b+176>>2]+N[b+208>>2]);A=N[b+200>>2];v=N[b+196>>2];q=Q(Q(N[b+180>>2]+N[b+212>>2])*Q(0));B=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;C=Q(N[a+176>>2]+N[a+208>>2]);D=Q(N[a+184>>2]+N[a+216>>2]);E=N[a+192>>2];F=N[a+200>>2];G=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]=y*Q(Q(0)-Q(Q(Q(Q(m*Q(0))+Q(Q(w*Q(0))+q))+Q(Q(n*A)+Q(Q(p*B)+Q(v*o))))+Q(Q(Q(D*Q(-0))+Q(Q(C*Q(-0))+l))+Q(Q(k*F)+Q(Q(h*E)+Q(i*G))))))}function Ga(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=35808,j=J[8952]&vs(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[8954]=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)+36112|0;e:{if(J[e>>2]==(d|0)){J[e>>2]=b;if(b){break e}i=35812,j=J[8953]&vs(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[8958]==(f|0)){J[8958]=d;a=J[8955]+a|0;J[8955]=a;J[d+4>>2]=a|1;if(J[8957]!=(d|0)){break a}J[8954]=0;J[8957]=0;return}if(J[8957]==(f|0)){J[8957]=d;a=J[8954]+a|0;J[8954]=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=35808,j=J[8952]&vs(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)+36112|0;j:{if(J[e>>2]==(f|0)){J[e>>2]=b;if(b){break j}i=35812,j=J[8953]&vs(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[8957]!=(d|0)){break f}J[8954]=a;return}if(a>>>0<=255){b=(a&-8)+35848|0;c=J[8952];a=1<<(a>>>3);k:{if(!(c&a)){J[8952]=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)+36112|0;l:{m:{e=J[8953];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[8960]-1|0;J[8960]=a?a:-1}}function Hh(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=J[b+8>>2];a:{if((c|0)<=0){break a}d=J[b+16>>2];if((c|0)!=1){g=c&-2;while(1){i=e<<2;h=J[i+d>>2];if(!(K[h+204|0]&3)){J[h+208>>2]=f;f=f+1|0}J[h+268>>2]=1065353216;J[h+212>>2]=-1;h=J[d+(i|4)>>2];if(!(K[h+204|0]&3)){J[h+208>>2]=f;f=f+1|0}J[h+268>>2]=1065353216;J[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=J[d+(e<<2)>>2];if(!(K[c+204|0]&3)){J[c+208>>2]=f;f=f+1|0}J[c+268>>2]=1065353216;J[c+212>>2]=-1}d=0;h=0;i=0;k=0;c=J[a+8>>2];b:{if((f|0)<=(c|0)){break b}if(J[a+12>>2]<(f|0)){if(f){J[8456]=J[8456]+1;h=ua[J[8258]](f<<3,16)|0;e=J[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+J[a+16>>2]|0;m=J[l+4>>2];J[j>>2]=J[l>>2];J[j+4>>2]=m;j=g|8;l=j+h|0;j=j+J[a+16>>2]|0;m=J[j+4>>2];J[l>>2]=J[j>>2];J[l+4>>2]=m;j=g|16;l=j+h|0;j=j+J[a+16>>2]|0;m=J[j+4>>2];J[l>>2]=J[j>>2];J[l+4>>2]=m;g=g|24;j=g+h|0;g=g+J[a+16>>2]|0;l=J[g+4>>2];J[j>>2]=J[g>>2];J[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+J[a+16>>2]|0;n=J[g+4>>2];J[i>>2]=J[g>>2];J[i+4>>2]=n;d=d+1|0;k=k+1|0;if((e|0)!=(k|0)){continue}break}}e=J[a+16>>2];if(!(e?!e|!K[a+20|0]:1)){J[8457]=J[8457]+1;ua[J[8259]](e)}J[a+16>>2]=h;H[a+20|0]=1;J[a+12>>2]=f}e=(c^-1)+f|0;h=f-c&3;if(h){d=0;while(1){k=J[a+16>>2]+(c<<3)|0;J[k>>2]=0;J[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+J[a+16>>2]|0;J[d>>2]=0;J[d+4>>2]=0;d=e+J[a+16>>2]|0;J[d+8>>2]=0;J[d+12>>2]=0;d=e+J[a+16>>2]|0;J[d+16>>2]=0;J[d+20>>2]=0;e=e+J[a+16>>2]|0;J[e+24>>2]=0;J[e+28>>2]=0;c=c+4|0;if((f|0)!=(c|0)){continue}break}}J[a+8>>2]=f;d:{if((f|0)<=0){break d}e=J[a+16>>2];d=0;c=0;if(f>>>0>=4){k=f&-4;h=0;while(1){g=e+(c<<3)|0;J[g+4>>2]=1;J[g>>2]=c;g=c|1;i=e+(g<<3)|0;J[i+4>>2]=1;J[i>>2]=g;g=c|2;i=e+(g<<3)|0;J[i+4>>2]=1;J[i>>2]=g;g=c|3;i=e+(g<<3)|0;J[i+4>>2]=1;J[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;J[h+4>>2]=1;J[h>>2]=c;c=c+1|0;d=d+1|0;if((f|0)!=(d|0)){continue}break}}e=0;b=J[b+68>>2];b=ua[J[J[b>>2]+36>>2]](b)|0;h=ua[J[J[b>>2]+36>>2]](b)|0;e:{if(!h){break e}k=ua[J[J[b>>2]+20>>2]](b)|0;if((h|0)<=0){break e}a=J[a+16>>2];while(1){b=k+(e<<4)|0;c=J[J[b>>2]>>2];f:{if(!c|K[c+204|0]&7){break f}b=J[J[b+4>>2]>>2];if(!b|K[b+204|0]&7){break f}b=J[b+208>>2];c=J[c+208>>2];f=a+(c<<3)|0;d=J[f>>2];if((c|0)!=(d|0)){while(1){c=a+(d<<3)|0;J[f>>2]=J[c>>2];c=J[c>>2];f=a+(c<<3)|0;d=J[f>>2];if((c|0)!=(d|0)){continue}break}}f=a+(b<<3)|0;d=J[f>>2];if((d|0)!=(b|0)){while(1){b=a+(d<<3)|0;J[f>>2]=J[b>>2];b=J[b>>2];f=a+(b<<3)|0;d=J[f>>2];if((b|0)!=(d|0)){continue}break}}if((b|0)==(c|0)){break f}c=a+(c<<3)|0;J[c>>2]=b;b=a+(b<<3)|0;J[b+4>>2]=J[b+4>>2]+J[c+4>>2]}e=e+1|0;if((h|0)!=(e|0)){continue}break}}}function vf(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=Q(0),r=0,s=Q(0),t=Q(0),u=Q(0),v=0,w=Q(0),x=0,y=0,z=Q(0),A=0,B=0;o=sa-32|0;sa=o;if(a){p=J[h+4>>2];a:{if((p|0)>127){break a}if(J[h+8>>2]<=127){J[8456]=J[8456]+1;m=ua[J[8258]](512,16)|0;n=J[h+4>>2];b:{if((n|0)<=0){break b}if(n>>>0>=4){x=n&-4;while(1){k=j<<2;J[k+m>>2]=J[k+J[h+12>>2]>>2];v=k|4;J[v+m>>2]=J[v+J[h+12>>2]>>2];v=k|8;J[v+m>>2]=J[v+J[h+12>>2]>>2];k=k|12;J[k+m>>2]=J[k+J[h+12>>2]>>2];j=j+4|0;y=y+4|0;if((x|0)!=(y|0)){continue}break}}k=n&3;if(!k){break b}while(1){n=j<<2;J[n+m>>2]=J[n+J[h+12>>2]>>2];j=j+1|0;l=l+1|0;if((k|0)!=(l|0)){continue}break}}j=J[h+12>>2];if(!(j?!j|!K[h+16|0]:1)){J[8457]=J[8457]+1;ua[J[8259]](j)}J[h+12>>2]=m;H[h+16|0]=1;J[h+8>>2]=128}j=p;l=0-j&3;if(l){while(1){J[J[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;J[r+J[h+12>>2]>>2]=0;J[(r+J[h+12>>2]|0)+4>>2]=0;J[(r+J[h+12>>2]|0)+8>>2]=0;J[(r+J[h+12>>2]|0)+12>>2]=0;j=j+4|0;if((j|0)!=128){continue}break}}J[h+4>>2]=128;J[J[h+12>>2]>>2]=a;l=126;r=1;while(1){a=J[h+12>>2];j=r-1|0;y=j<<2;p=J[a+y>>2];s=N[p>>2];t=N[p+4>>2];q=N[g>>2];u=N[g+4>>2];N[o+8>>2]=N[p+8>>2]-N[g+8>>2];N[o+4>>2]=t-u;N[o>>2]=s-q;s=N[p+16>>2];t=N[p+20>>2];q=N[f>>2];u=N[f+4>>2];N[o+24>>2]=N[p+24>>2]-N[f+8>>2];N[o+20>>2]=t-u;N[o+16>>2]=s-q;m=J[d>>2];u=N[b>>2];w=N[c>>2];s=Q(Q(N[(m<<4)+o>>2]-u)*w);q=N[c+4>>2];k=J[d+4>>2];z=N[b+4>>2];t=Q(q*Q(N[((1-k<<4)+o|0)+4>>2]-z));c:{d:{if(s>t){break d}q=Q(Q(N[((k<<4)+o|0)+4>>2]-z)*q);u=Q(w*Q(N[(1-m<<4)+o>>2]-u));if(q>u){break d}s=q>s?q:s;w=N[c+8>>2];m=J[d+8>>2];z=N[b+8>>2];q=Q(w*Q(N[((1-m<<4)+o|0)+8>>2]-z));if(s>q){break d}w=Q(Q(N[((m<<4)+o|0)+8>>2]-z)*w);t=tt|!((sQ(0))){break d}if(J[p+40>>2]){if((j|0)>(l|0)){j=J[h+4>>2];m=j<<1;if((j|0)<(m|0)){if((m|0)>J[h+8>>2]){e:{if(!j){a=0;break e}J[8456]=J[8456]+1;a=ua[J[8258]](j<<3,16)|0;n=J[h+4>>2];if((n|0)<=0){break e}x=0;l=0;if(n>>>0>=4){B=n&-4;v=0;while(1){k=l<<2;J[k+a>>2]=J[k+J[h+12>>2]>>2];A=k|4;J[A+a>>2]=J[A+J[h+12>>2]>>2];A=k|8;J[A+a>>2]=J[A+J[h+12>>2]>>2];k=k|12;J[k+a>>2]=J[k+J[h+12>>2]>>2];l=l+4|0;v=v+4|0;if((B|0)!=(v|0)){continue}break}}k=n&3;if(!k){break e}while(1){n=l<<2;J[n+a>>2]=J[n+J[h+12>>2]>>2];l=l+1|0;x=x+1|0;if((k|0)!=(x|0)){continue}break}}l=J[h+12>>2];if(!(l?!l|!K[h+16|0]:1)){J[8457]=J[8457]+1;ua[J[8259]](l)}J[h+12>>2]=a;H[h+16|0]=1;J[h+8>>2]=m}a=j-1|0;l=0;k=j&3;if(k){while(1){J[J[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;J[a+J[h+12>>2]>>2]=0;J[(a+J[h+12>>2]|0)+4>>2]=0;J[(a+J[h+12>>2]|0)+8>>2]=0;J[(a+J[h+12>>2]|0)+12>>2]=0;j=j+4|0;if((m|0)!=(j|0)){continue}break}}a=J[h+12>>2]}J[h+4>>2]=m;l=m-2|0}J[a+y>>2]=J[p+36>>2];J[J[h+12>>2]+(r<<2)>>2]=J[p+40>>2];j=r+1|0;break c}ua[J[J[i>>2]+12>>2]](i,p)}}r=j;if(r){continue}break}}sa=o+32|0}function Mb(){if(!K[35008]){J[8670]=1062847606;J[8671]=0;J[8668]=1042701022;J[8669]=1056964440;J[8666]=1062847606;J[8667]=0;J[8664]=-1093024784;J[8665]=1050556081;J[8662]=1062847606;J[8663]=0;J[8660]=-1093024784;J[8661]=-1096927567;J[8658]=1062847606;J[8659]=0;J[8656]=1042701022;J[8657]=-1090519208;J[8654]=1062847572;J[8655]=0;J[8652]=1057396286;J[8653]=0;J[8650]=1057396386;J[8651]=0;J[8648]=1060121912;J[8649]=1056964507;J[8646]=1057396420;J[8647]=0;J[8644]=-1098475836;J[8645]=1062148969;J[8642]=1057396386;J[8643]=0;J[8640]=-1084636143;J[8641]=0;J[8638]=1057396420;J[8639]=0;J[8636]=-1098475836;J[8637]=-1085334679;J[8634]=1057396386;J[8635]=0;J[8632]=1060121912;J[8633]=-1090519141;J[8630]=-2147483648;J[8631]=0;J[8628]=1058437413;J[8629]=1062149053;J[8626]=-2147483648;J[8627]=0;J[8624]=-2147483648;J[8625]=1065353216;J[8622]=-2147483648;J[8623]=0;J[8620]=-1089046235;J[8621]=1062149053;J[8618]=-2147483648;J[8619]=0;J[8616]=-1082951543;J[8617]=1050556148;J[8614]=-2147483648;J[8615]=0;J[8612]=-1082951543;J[8613]=-1096927500;J[8610]=0;J[8611]=0;J[8608]=-1089046235;J[8609]=-1085334595;J[8606]=0;J[8607]=0;J[8604]=0;J[8605]=-1082130432;J[8602]=0;J[8603]=0;J[8600]=1058437413;J[8601]=-1085334595;J[8598]=0;J[8599]=0;J[8596]=1064532105;J[8597]=-1096927500;J[8594]=0;J[8595]=0;J[8592]=1064532105;J[8593]=1050556148;J[8590]=-1090087228;J[8591]=0;J[8588]=1049007812;J[8589]=1062148969;J[8586]=-1090087262;J[8587]=0;J[8584]=-1087361736;J[8585]=1056964507;J[8582]=-1084636042;J[8583]=0;J[8580]=-1104782626;J[8581]=1056964440;J[8578]=-1090087262;J[8579]=0;J[8576]=-1087361736;J[8577]=-1090519141;J[8574]=-1084636076;J[8575]=0;J[8572]=-1090087362;J[8573]=-2147483648;J[8570]=-1090087262;J[8571]=0;J[8568]=1062847505;J[8569]=-2147483648;J[8566]=-1084636042;J[8567]=0;J[8564]=1054458864;J[8565]=1050556081;J[8562]=-1090087228;J[8563]=0;J[8560]=1049007812;J[8561]=-1085334679;J[8558]=-1084636042;J[8559]=0;J[8556]=-1104782626;J[8557]=-1090519208;J[8554]=-1084636042;J[8555]=0;J[8552]=1054458864;J[8553]=-1096927567;J[8550]=1065353216;J[8551]=0;J[8548]=-2147483648;J[8549]=0;J[8546]=1055193471;J[8547]=0;J[8544]=1063581978;J[8545]=0;J[8542]=1055193572;J[8543]=0;J[8540]=1049461434;J[8541]=1062847522;J[8538]=1055193572;J[8539]=0;J[8536]=-1086767520;J[8537]=1057396202;J[8534]=1055193572;J[8535]=0;J[8532]=-1086767520;J[8533]=-1090087446;J[8530]=1055193605;J[8531]=0;J[8528]=1049461434;J[8529]=-1084636126;J[8526]=-1092290076;J[8527]=0;J[8524]=1060716128;J[8525]=1057396202;J[8522]=-1092290043;J[8523]=0;J[8520]=-1098022214;J[8521]=1062847522;J[8518]=-1092290177;J[8519]=0;J[8516]=-1083901670;J[8517]=-2147483648;J[8514]=-1092290076;J[8515]=0;J[8512]=-1098022214;J[8513]=-1084636126;J[8510]=-1092290076;J[8511]=0;J[8508]=1060716128;J[8509]=-1090087446;J[8506]=-1082130432;J[8507]=0;J[8504]=0;J[8505]=-2147483648;H[35008]=1}}function Nb(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),p=Q(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),A=Q(0),B=Q(0),C=Q(0),D=0,E=Q(0);f=Q(-1);l=N[a>>2];i=N[b>>2];g=Q(l-i);k=N[b+4>>2];u=N[c+4>>2];z=Q(k-u);v=N[c>>2];A=Q(i-v);q=N[a+4>>2];j=Q(q-k);m=Q(Q(g*z)-Q(A*j));h=N[b+8>>2];w=N[c+8>>2];B=Q(h-w);r=N[a+8>>2];o=Q(r-h);x=Q(Q(j*B)-Q(z*o));y=Q(Q(o*A)-Q(B*g));E=Q(Q(m*m)+Q(Q(x*x)+Q(y*y)));a:{if(!(E>Q(0))){break a}b:{if(!(Q(Q(r*Q(Q(g*y)+Q(x*Q(-j))))+Q(Q(l*Q(Q(j*m)+Q(y*Q(-o))))+Q(q*Q(Q(o*x)+Q(m*Q(-g))))))>Q(0))){j=Q(-1);g=Q(0);break b}j=Q(-1);o=Q(h-r);n=Q(i-l);p=Q(k-q);f=Q(Q(o*o)+Q(Q(n*n)+Q(p*p)));c:{if(!(f>Q(0))){g=Q(0);s=0;break c}g=Q(1);f=Q(Q(-Q(Q(r*o)+Q(Q(l*n)+Q(q*p))))/f);if(f>=Q(1)){j=Q(Q(h*h)+Q(Q(i*i)+Q(k*k)));D=2;s=2;break c}g=Q(0);if(f<=Q(0)){j=Q(Q(r*r)+Q(Q(l*l)+Q(q*q)));t=Q(1);s=1;break c}g=Q(r+Q(o*f));j=Q(g*g);g=Q(l+Q(n*f));i=Q(g*g);g=Q(q+Q(p*f));j=Q(j+Q(i+Q(g*g)));t=Q(Q(1)-f);D=2;g=f;s=3}J[e>>2]=s&1|D;J[d+8>>2]=0;N[d+4>>2]=g;N[d>>2]=t;h=N[b+8>>2];k=N[b+4>>2];i=N[b>>2]}r=Q(w-r);q=Q(u-q);o=Q(v-l);d:{if(!(Q(Q(h*Q(Q(A*y)-Q(x*z)))+Q(Q(i*Q(Q(z*m)-Q(y*B)))+Q(k*Q(Q(B*x)-Q(m*A)))))>Q(0))){f=j;break d}D=j>2];l=Q(u-h);v=N[c>>2];n=Q(v-i);w=N[c+4>>2];p=Q(w-k);C=Q(Q(l*l)+Q(Q(n*n)+Q(p*p)));f=Q(-1);e:{if(!(C>Q(0))){break e}g=Q(1);f=Q(Q(-Q(Q(h*l)+Q(Q(i*n)+Q(k*p))))/C);if(f>=Q(1)){t=Q(0);s=2;f=Q(Q(u*u)+Q(Q(v*v)+Q(w*w)));break e}g=Q(0);if(f<=Q(0)){t=Q(1);s=1;f=Q(Q(h*h)+Q(Q(i*i)+Q(k*k)));break e}t=Q(Q(1)-f);s=3;g=f;h=Q(h+Q(l*f));i=Q(i+Q(n*f));f=Q(k+Q(p*f));f=Q(Q(h*h)+Q(Q(i*i)+Q(f*f)))}if(!(D|j>f)){f=j;break d}J[e>>2]=s<<1;N[d+8>>2]=g;N[d+4>>2]=t;J[d>>2]=0}k=N[c+8>>2];h=N[c>>2];l=N[c+4>>2];f:{if(!(Q(Q(k*Q(Q(o*y)-Q(x*q)))+Q(Q(h*Q(Q(q*m)-Q(y*r)))+Q(l*Q(Q(r*x)-Q(m*o)))))>Q(0))){break f}i=Q(-1);v=N[a+8>>2];n=Q(v-k);w=N[a>>2];p=Q(w-h);C=N[a+4>>2];u=Q(C-l);j=Q(Q(n*n)+Q(Q(p*p)+Q(u*u)));g:{if(!(j>Q(0))){break g}g=Q(1);j=Q(Q(-Q(Q(k*n)+Q(Q(h*p)+Q(l*u))))/j);if(j>=Q(1)){i=Q(Q(v*v)+Q(Q(w*w)+Q(C*C)));t=Q(0);s=2;break g}g=Q(0);if(j<=Q(0)){i=Q(Q(k*k)+Q(Q(h*h)+Q(l*l)));t=Q(1);s=1;break g}g=Q(k+Q(n*j));i=Q(g*g);g=Q(h+Q(p*j));h=Q(g*g);g=Q(l+Q(u*j));i=Q(i+Q(h+Q(g*g)));t=Q(Q(1)-j);s=3;g=j}if(!(fi)){break f}J[e>>2]=s<<2&4|s>>>1;J[d+4>>2]=0;N[d>>2]=g;N[d+8>>2]=t;f=i}if(!(f>2];g=N[a>>2];j=N[a+4>>2];J[e>>2]=7;j=Q(Q(Q(f*m)+Q(Q(g*x)+Q(y*j)))/E);f=Q(y*j);i=Q(N[b+4>>2]-f);g=Q(x*j);k=Q(N[b>>2]-g);h=Q(Q(A*i)+Q(k*Q(-z)));l=Q(h*h);j=Q(m*j);h=Q(N[b+8>>2]-j);i=Q(Q(z*h)+Q(i*Q(-B)));m=Q(i*i);i=Q(Q(B*k)+Q(h*Q(-A)));h=Q(Y(Q(l+Q(m+Q(i*i)))));i=Q(Y(E));k=Q(h/i);N[d>>2]=k;h=Q(N[c+4>>2]-f);t=Q(N[c>>2]-g);m=Q(Q(o*h)+Q(t*Q(-q)));l=Q(m*m);m=Q(N[c+8>>2]-j);h=Q(Q(q*m)+Q(h*Q(-r)));n=Q(h*h);h=Q(Q(r*t)+Q(m*Q(-o)));i=Q(Q(Y(Q(l+Q(n+Q(h*h)))))/i);N[d+4>>2]=i;N[d+8>>2]=Q(1)-Q(k+i);f=Q(Q(j*j)+Q(Q(g*g)+Q(f*f)))}return f}function xm(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),ja=Q(0);d=sa-240|0;sa=d;U=Q(1);e=K[a+76|0];a=e?c:b;k=N[a+60>>2];g=Q(N[a+124>>2]-k);f=Q(g*g);i=N[a+116>>2];u=N[a+52>>2];g=Q(i-u);j=Q(g*g);w=N[a+56>>2];g=Q(N[a+120>>2]-w);f=Q(f+Q(j+Q(g*g)));g=N[a+276>>2];a:{if(f>2];if(J[c+4>>2]-21>>>0>8){break a}h=N[b+12>>2];v=Q(-N[b+52>>2]);f=N[b+28>>2];j=N[b+56>>2];l=N[b+44>>2];m=N[b+60>>2];V=Q(Q(Q(h*v)-Q(f*j))-Q(l*m));n=N[a+124>>2];x=N[a+120>>2];X=Q(Q(n*l)+Q(Q(i*h)+Q(f*x)));o=N[b+8>>2];p=N[b+24>>2];q=N[b+40>>2];W=Q(Q(Q(o*v)-Q(p*j))-Q(q*m));g=Q(W+Q(Q(n*q)+Q(Q(i*o)+Q(p*x))));r=N[b+36>>2];y=N[a+92>>2];Y=Q(f*y);z=N[a+76>>2];Z=Q(z*h);A=N[a+108>>2];B=N[a+88>>2];_=Q(f*B);C=N[a+72>>2];$=Q(C*h);D=N[a+104>>2];E=N[a+84>>2];aa=Q(f*E);F=N[a+68>>2];ba=Q(F*h);G=N[a+100>>2];s=N[b+4>>2];ca=Q(z*s);t=N[b+20>>2];da=Q(t*y);H=N[a+28>>2];ea=Q(f*H);I=N[a+12>>2];fa=Q(I*h);L=N[a+44>>2];M=N[a+24>>2];ga=Q(f*M);O=N[a+8>>2];ha=Q(O*h);P=N[a+40>>2];R=N[a+20>>2];ia=Q(f*R);S=N[a+4>>2];ja=Q(S*h);T=N[a+36>>2];J[d+236>>2]=0;j=Q(Q(Q(s*v)-Q(t*j))-Q(r*m));m=Q(j+Q(Q(k*r)+Q(Q(u*s)+Q(t*w))));v=m;i=Q(j+Q(Q(n*r)+Q(Q(i*s)+Q(t*x))));if(i>2]=i;v=i}n=Q(W+Q(Q(k*q)+Q(Q(u*o)+Q(p*w))));j=n;if(g>2]=g;j=g}k=Q(V+Q(Q(k*l)+Q(Q(u*h)+Q(f*w))));f=k;h=Q(V+X);if(f>h){N[d+232>>2]=h;f=h}J[d+220>>2]=0;u=f;f=N[a+272>>2];N[d+232>>2]=u-f;N[d+228>>2]=j-f;N[d+224>>2]=v-f;N[d+216>>2]=f+(h>k?h:k);N[d+212>>2]=f+(g>n?g:n);N[d+208>>2]=f+(i>m?i:m);J[d+132>>2]=0;N[d+128>>2]=h;N[d+124>>2]=g;N[d+120>>2]=i;J[d+116>>2]=0;N[d+112>>2]=Q(A*l)+Q(Z+Y);N[d+108>>2]=Q(D*l)+Q($+_);N[d+104>>2]=Q(G*l)+Q(ba+aa);J[d+100>>2]=0;N[d+96>>2]=Q(A*q)+Q(Q(z*o)+Q(p*y));N[d+92>>2]=Q(D*q)+Q(Q(C*o)+Q(p*B));N[d+88>>2]=Q(G*q)+Q(Q(F*o)+Q(p*E));J[d+84>>2]=0;N[d+80>>2]=Q(A*r)+Q(ca+da);N[d+76>>2]=Q(D*r)+Q(Q(C*s)+Q(t*B));J[d+68>>2]=0;N[d- -64>>2]=k;N[d+60>>2]=n;N[d+56>>2]=m;J[d+52>>2]=0;N[d+48>>2]=Q(L*l)+Q(fa+ea);N[d+44>>2]=Q(P*l)+Q(ha+ga);N[d+40>>2]=Q(T*l)+Q(ja+ia);J[d+36>>2]=0;N[d+32>>2]=Q(L*q)+Q(Q(I*o)+Q(p*H));N[d+28>>2]=Q(P*q)+Q(Q(O*o)+Q(p*M));N[d+24>>2]=Q(T*q)+Q(Q(S*o)+Q(p*R));J[d+20>>2]=0;N[d+16>>2]=Q(L*r)+Q(Q(I*s)+Q(t*H));N[d+12>>2]=Q(P*r)+Q(Q(O*s)+Q(t*M));N[d+200>>2]=f;N[d+72>>2]=Q(G*r)+Q(Q(F*s)+Q(t*E));N[d+8>>2]=Q(T*r)+Q(Q(S*s)+Q(t*R));J[d+4>>2]=16e3;N[d+204>>2]=N[a+268>>2];ua[J[J[c>>2]+64>>2]](c,d+4|0,d+224|0,d+208|0);g=N[d+204>>2];if(!(g>2])){break a}N[a+268>>2]=g;U=g}sa=d+240|0;return Q(U)}function Zb(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(!(J[a+24>>2]>127|J[a+28>>2]>127)){J[8456]=J[8456]+1;l=ua[J[8258]](1024,16)|0;g=J[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+J[a+32>>2]|0;m=J[h+4>>2];J[i>>2]=J[h>>2];J[i+4>>2]=m;i=f|8;h=i+l|0;i=i+J[a+32>>2]|0;m=J[i+4>>2];J[h>>2]=J[i>>2];J[h+4>>2]=m;i=f|16;h=i+l|0;i=i+J[a+32>>2]|0;m=J[i+4>>2];J[h>>2]=J[i>>2];J[h+4>>2]=m;f=f|24;i=f+l|0;f=f+J[a+32>>2]|0;h=J[f+4>>2];J[i>>2]=J[f>>2];J[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+J[a+32>>2]|0;p=J[f+4>>2];J[g>>2]=J[f>>2];J[g+4>>2]=p;n=n+1|0;j=j+1|0;if((e|0)!=(j|0)){continue}break}}e=J[a+32>>2];if(!(e?!e|!K[a+36|0]:1)){J[8457]=J[8457]+1;ua[J[8259]](e)}J[a+32>>2]=l;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;b=124;e=1;while(1){j=J[a+32>>2];l=e;e=e-1|0;i=e<<3;c=j+i|0;g=J[c+4>>2];f=J[c>>2];if((b|0)<(e|0)){b=J[a+24>>2];p=b<<1;if(!((p|0)<=J[a+28>>2]|(b|0)>=(p|0))){b:{if(!b){j=0;break b}J[8456]=J[8456]+1;j=ua[J[8258]](b<<4,16)|0;m=J[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+J[a+32>>2]|0;q=J[o+4>>2];J[k>>2]=J[o>>2];J[k+4>>2]=q;k=h|8;o=k+j|0;k=k+J[a+32>>2]|0;q=J[k+4>>2];J[o>>2]=J[k>>2];J[o+4>>2]=q;k=h|16;o=k+j|0;k=k+J[a+32>>2]|0;q=J[k+4>>2];J[o>>2]=J[k>>2];J[o+4>>2]=q;h=h|24;k=h+j|0;h=h+J[a+32>>2]|0;o=J[h+4>>2];J[k>>2]=J[h>>2];J[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+J[a+32>>2]|0;r=J[h+4>>2];J[m>>2]=J[h>>2];J[m+4>>2]=r;n=n+1|0;b=b+1|0;if((c|0)!=(b|0)){continue}break}}b=J[a+32>>2];if(!(b?!b|!K[a+36|0]:1)){J[8457]=J[8457]+1;ua[J[8259]](b)}J[a+32>>2]=j;H[a+36|0]=1;J[a+28>>2]=p}J[a+24>>2]=p;b=p-4|0}c:{if((f|0)==(g|0)){if(!J[f+40>>2]){break c}c=j+i|0;e=J[f+36>>2];J[c+4>>2]=e;J[c>>2]=e;c=l<<3;e=c+J[a+32>>2]|0;g=J[f+40>>2];J[e+4>>2]=g;J[e>>2]=g;e=J[f+40>>2];c=c+J[a+32>>2]|0;J[c+8>>2]=J[f+36>>2];J[c+12>>2]=e;e=l+2|0;break c}if(!(N[f>>2]<=N[g+16>>2])|!(N[f+16>>2]>=N[g>>2])|(!(N[f+4>>2]<=N[g+20>>2])|!(N[f+20>>2]>=N[g+4>>2]))){break c}if(!(N[f+8>>2]<=N[g+24>>2])|!(N[f+24>>2]>=N[g+8>>2])){break c}c=J[g+40>>2];if(J[f+40>>2]){e=J[f+36>>2];if(c){c=j+i|0;J[c+4>>2]=J[g+36>>2];J[c>>2]=e;e=J[f+40>>2];c=l<<3;j=c+J[a+32>>2]|0;J[j+4>>2]=J[g+36>>2];J[j>>2]=e;e=J[f+36>>2];j=c+J[a+32>>2]|0;J[j+12>>2]=J[g+40>>2];J[j+8>>2]=e;e=J[f+40>>2];c=c+J[a+32>>2]|0;J[c+20>>2]=J[g+40>>2];J[c+16>>2]=e;e=l+3|0;break c}c=j+i|0;J[c+4>>2]=g;J[c>>2]=e;c=J[f+40>>2];e=J[a+32>>2]+(l<<3)|0;J[e+4>>2]=g;J[e>>2]=c;e=l+1|0;break c}if(c){c=j+i|0;J[c+4>>2]=J[g+36>>2];J[c>>2]=f;c=J[a+32>>2]+(l<<3)|0;J[c+4>>2]=J[g+40>>2];J[c>>2]=f;e=l+1|0;break c}ua[J[J[d>>2]+8>>2]](d,f,g)}if(e){continue}break}}}function yo(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=sa-128|0;sa=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(Na(c)*b);N[H>>2]=l;N[G>>2]=l;c=Q(Ma(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)));ua[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;ua[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));ua[J[J[a>>2]+68>>2]](a,d,h,g,b,b,Q(0),Q(6.2831854820251465),f,0,Q(10));sa=g+128|0}function ye(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=Q(0),p=Q(0),q=Q(0),r=Q(0),s=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=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,K=0,M=0,O=0,P=0,R=0,S=0,T=0,U=0;k=sa-32|0;sa=k;x=N[c+4>>2];y=N[d+4>>2];z=N[c>>2];A=N[d>>2];n=N[a+28>>2];p=N[a+12>>2];v=N[d+8>>2];w=N[c+8>>2];h=Q((v>2]);h=h>2];h=Q(Q((h>n?n:h)-p)*l);a:{if(h=Q(0)){C=~~h>>>0;break a}C=0}o=N[a+24>>2];q=N[a+8>>2];h=Q((x>y?y:x)+N[e+4>>2]);h=h>2];h=Q(Q((h>o?o:h)-q)*t);b:{if(h=Q(0)){B=~~h>>>0;break b}B=0}m=N[a+20>>2];r=N[a+4>>2];h=Q((z>A?A:z)+N[e>>2]);h=h>2];h=Q(Q((h>m?m:h)-r)*i);c:{if(h=Q(0)){u=~~h>>>0;break c}u=0}h=Q((v>w?v:w)+N[f+8>>2]);h=hn?n:h)-p)*l)+Q(1));d:{if(h=Q(0)){s=~~h>>>0;break d}s=0}h=Q((x>2]);h=ho?o:h)-q)*t)+Q(1));e:{if(h=Q(0)){j=~~h>>>0;break e}j=0}h=Q((z>2]);h=hm?m:h)-r)*i)+Q(1));f:{if(h=Q(0)){d=~~h>>>0;break f}d=0}if((g|0)>0){i=Q(v-w);m=Q(A-z);t=Q(y-x);h=Q(Q(1)/Q(Y(Q(Q(i*i)+Q(Q(m*m)+Q(t*t))))));l=Q(i*h);n=Q(l*i);i=Q(m*h);h=Q(t*h);t=Q(n+Q(Q(i*m)+Q(t*h)));G=C&65534;H=B&65534;I=u&65534;K=s|1;M=j|1;O=d|1;d=J[a+136>>2];p=l==Q(0)?Q(0xde0b6b000000000):Q(Q(1)/l);s=p>2];u=0;g:{h:{i:{j:{if(L[d+6>>1]>>0){break j}B=L[d>>1];if(O>>>0>>0|L[d+10>>1]>>0){break j}s=L[d+4>>1];if(L[d+8>>1]>>0|s>>>0>K>>>0){break j}j=L[d+2>>1];if(j>>>0>M>>>0){break j}v=N[a+4>>2];w=N[a+36>>2];n=N[a+8>>2];o=N[a+40>>2];m=N[a+12>>2];l=N[a+44>>2];J[k+12>>2]=0;i=Q(m+Q(Q(s>>>0)/l));N[k+8>>2]=i;h=Q(n+Q(Q(j>>>0)/o));N[k+4>>2]=h;u=L[d+10>>1];s=L[d+8>>1];j=L[d+6>>1];J[k+28>>2]=0;N[k>>2]=Q(v+Q(Q(B>>>0)/w))-N[f>>2];N[k+4>>2]=h-N[f+4>>2];N[k+8>>2]=i-N[f+8>>2];N[k+16>>2]=Q(v+Q(Q(j>>>0)/w))-N[e>>2];N[k+20>>2]=Q(n+Q(Q(s>>>0)/o))-N[e+4>>2];N[k+24>>2]=Q(m+Q(Q(u>>>0)/l))-N[e+8>>2];k:{i=N[c>>2];l=Q(r*Q(N[U>>2]-i));h=N[c+4>>2];n=Q(q*Q(N[T>>2]-h));if(l>n){break k}h=Q(q*Q(N[R>>2]-h));o=Q(r*Q(N[C>>2]-i));if(h>o){break k}m=h>l?h:l;h=N[c+8>>2];l=Q(p*Q(N[S>>2]-h));if(m>l){break k}i=Q(p*Q(N[P>>2]-h));h=nh){break k}u=t>(i>m?i:m)&(h>l?l:h)>Q(0);if(!u|(F|0)<0){break j}j=J[d+12>>2];ua[J[J[b>>2]+8>>2]](b,j>>21,j&2097151);break i}u=0}if((F|0)>=0){break i}if(!u){break h}}D=D+1|0;d=d+16|0;break g}j=J[d+12>>2];D=D-j|0;d=d-(j<<4)|0}E=E+1|0;if((g|0)>(D|0)){continue}break}}if(J[8470]<(E|0)){J[8470]=E}sa=k+32|0}function Yd(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=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);g=sa-304|0;sa=g;h=N[b+52>>2];k=N[c+52>>2];l=N[b+56>>2];i=N[c+56>>2];m=N[b+48>>2];j=N[c+48>>2];J[g+300>>2]=0;p=Q(i-l);N[g+296>>2]=p;o=Q(k-h);N[g+292>>2]=o;u=Q(j-m);N[g+288>>2]=u;t=c;c=g+116|0;n=g+52|0;Vb(b,t,c,n);J[g+284>>2]=0;h=N[g+52>>2];k=Q(h*N[g+124>>2]);N[g+280>>2]=k;l=Q(h*N[g+120>>2]);N[g+276>>2]=l;h=Q(h*N[g+116>>2]);N[g+272>>2]=h;i=N[d+52>>2];m=N[e+52>>2];j=N[d+56>>2];r=N[e+56>>2];s=N[d+48>>2];x=N[e+48>>2];J[g+268>>2]=0;v=Q(r-j);N[g+264>>2]=v;w=Q(m-i);N[g+260>>2]=w;s=Q(x-s);N[g+256>>2]=s;Vb(d,e,c,n);J[g+252>>2]=0;i=N[g+52>>2];m=Q(i*N[g+124>>2]);N[g+248>>2]=m;j=Q(i*N[g+120>>2]);N[g+244>>2]=j;i=Q(i*N[g+116>>2]);N[g+240>>2]=i;c=J[a+12>>2];k=Q(Q(Y(Q(Q(k*k)+Q(Q(h*h)+Q(l*l)))))*Q(ua[J[J[c>>2]+16>>2]](c)));c=J[a+16>>2];if(c){h=Q(ua[J[J[c>>2]+16>>2]](c))}else{h=Q(0)}r=Q(k+Q(h*Q(Y(Q(Q(m*m)+Q(Q(i*i)+Q(j*j)))))));l=Q(v-p);i=Q(s-u);m=Q(w-o);a:{if(Q(r+Q(Y(Q(Q(l*l)+Q(Q(i*i)+Q(m*m))))))==Q(0)){break a}H[g+220|0]=0;J[g+216>>2]=1566444395;J[g+180>>2]=22516;Zd(a,b,d,g+180|0);c=J[g+212>>2];J[g+232>>2]=J[g+208>>2];J[g+236>>2]=c;c=J[g+204>>2];J[g+224>>2]=J[g+200>>2];J[g+228>>2]=c;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(l*k)+Q(Q(i*j)+Q(m*p))))<=Q(1.1920928955078125e-7)){break a}b:{o=Q(N[g+216>>2]+N[f+172>>2]);c:{if(!(o>Q(.0010000000474974513))){h=Q(0);l=N[g+196>>2];break c}e=g+28|0;t=g+164|0;c=0;h=Q(0);while(1){q=J[f+168>>2];if(q){J[g+124>>2]=1065353216;J[g+128>>2]=0;J[g+116>>2]=1065353216;J[g+120>>2]=1065353216;ua[J[J[q>>2]+28>>2]](q,g+224|0,Q(.20000000298023224),g+116|0)}q=0;j=Q(r+Q(Q(l*k)+Q(Q(i*j)+Q(m*p))));if(j<=Q(1.1920928955078125e-7)){break a}k=h;h=Q(h+Q(o/j));if(k>=h|h>Q(1)|h>2];if(n){J[g+16>>2]=0;J[g+20>>2]=0;J[g+8>>2]=1065353216;J[g+12>>2]=0;ua[J[J[n>>2]+28>>2]](n,t,Q(.20000000298023224),g+8|0)}ua[J[J[f>>2]>>2]](f,h);H[g+48|0]=0;J[g+44>>2]=1566444395;J[g+8>>2]=22516;Zd(a,g+116|0,g+52|0,g+8|0);if(!K[g+48|0]){break b}o=N[f+172>>2];n=J[e+12>>2];J[g+232>>2]=J[e+8>>2];J[g+236>>2]=n;n=J[e+4>>2];J[g+224>>2]=J[e>>2];J[g+228>>2]=n;if((c|0)==64){ua[J[J[f>>2]+8>>2]](f,-2,65);break a}c=c+1|0;j=N[g+12>>2];p=N[g+16>>2];k=N[g+20>>2];o=Q(N[g+44>>2]+o);if(o>Q(.0010000000474974513)){continue}break}l=N[g+24>>2]}N[f+132>>2]=j;N[f+164>>2]=h;N[f+144>>2]=l;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;q=1;break a}ua[J[J[f>>2]+8>>2]](f,-1,c)}sa=g+304|0;return q|0}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=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=Q(0),u=Q(0),v=Q(0);g=sa-272|0;sa=g;Kb(J[a+4>>2]);j=N[b+52>>2];i=N[c+52>>2];n=N[d+52>>2];k=N[e+52>>2];l=N[b+56>>2];m=N[c+56>>2];o=N[d+56>>2];p=N[e+56>>2];q=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]=22516;r=sc(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;Za(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;h=0;a:{if(!K[g+252|0]){break a}o=Q(Q(m-l)-Q(p-o));p=Q(Q(i-j)-Q(k-n));q=Q(Q(t-q)-Q(v-u));k=N[g+224>>2];l=N[g+220>>2];m=N[g+216>>2];i=N[g+248>>2];b:{c:{if(!(i>Q(.0010000000474974513))){j=Q(0);i=N[g+228>>2];break c}s=g+232|0;a=0;n=Q(0);while(1){h=0;if((a|0)==32){break a}j=Q(n-Q(i/Q(Q(o*k)+Q(Q(q*m)+Q(p*l)))));h=0;if(n>=j){break a}h=0;if(j>Q(1)){break a}h=0;if(j>2]>>2]](f,j);i=Q(Q(1)-j);N[g+48>>2]=Q(i*N[b+48>>2])+Q(j*N[c+48>>2]);N[g+52>>2]=Q(i*N[b+52>>2])+Q(j*N[c+52>>2]);N[g+56>>2]=Q(i*N[b+56>>2])+Q(j*N[c+56>>2]);N[g+112>>2]=Q(i*N[d+48>>2])+Q(j*N[e+48>>2]);N[g+116>>2]=Q(i*N[d+52>>2])+Q(j*N[e+52>>2]);N[g+120>>2]=Q(i*N[d+56>>2])+Q(j*N[e+56>>2]);Za(r,g,g+212|0,0,0);h=0;if(!K[g+252|0]){break a}i=N[g+248>>2];if(i>2]=j;i=N[g+228>>2];k=N[g+224>>2];l=N[g+220>>2];m=N[g+216>>2];break b}a=a+1|0;h=J[g+244>>2];J[g+264>>2]=J[g+240>>2];J[g+268>>2]=h;h=J[g+236>>2];J[g+256>>2]=J[g+232>>2];J[g+260>>2]=h;k=N[g+224>>2];l=N[g+220>>2];m=N[g+216>>2];n=j;if(i>Q(.0010000000474974513)){continue}break}i=N[g+228>>2]}h=0;if(Q(-N[f+172>>2])<=Q(Q(k*o)+Q(Q(m*q)+Q(p*l)))){break a}N[f+164>>2]=j;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;h=1}sa=g+272|0;return h|0}function Yn(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=Q(0),k=Q(0),l=Q(0),m=Q(0),n=0,o=0,p=Q(0),q=Q(0),r=0,s=Q(0),t=Q(0),u=Q(0),v=Q(0),w=0,x=0;e=sa-48|0;sa=e;f=J[c+12>>2];J[e+24>>2]=J[c+8>>2];J[e+28>>2]=f;f=J[c+4>>2];J[e+16>>2]=J[c>>2];J[e+20>>2]=f;f=J[d+12>>2];J[e+40>>2]=J[d+8>>2];J[e+44>>2]=f;f=J[d+4>>2];J[e+32>>2]=J[d>>2];J[e+36>>2]=f;a:{if(J[b+60>>2]==2){_b(a+44|0,J[b+48>>2]);w=b,x=$b(a+4|0,e+16|0,b),J[w+48>>2]=x;f=1;break a}f=1;J[a+128>>2]=J[a+128>>2]+1;b:{h=J[b+48>>2];if(!(N[h>>2]<=N[e+32>>2])|!(N[h+16>>2]>=N[e+16>>2])|(!(N[h+4>>2]<=N[e+36>>2])|!(N[h+20>>2]>=N[e+20>>2]))){break b}if(!(N[h+8>>2]<=N[e+40>>2])|!(N[h+24>>2]>=N[e+24>>2])){break b}k=N[b+20>>2];p=N[b+24>>2];s=N[c>>2];t=N[c+4>>2];u=N[c+8>>2];q=N[b+16>>2];l=N[b+36>>2];m=N[b+40>>2];v=N[b+32>>2];j=N[a+100>>2];J[e+12>>2]=0;m=Q(j*Q(Q(m-p)*Q(.5)));N[e+8>>2]=m;l=Q(j*Q(Q(l-k)*Q(.5)));N[e+4>>2]=l;j=Q(j*Q(Q(v-q)*Q(.5)));N[e>>2]=j;if(Q(s-q)>2]=-j}if(Q(t-k)>2]=-l}if(Q(u-p)>2]=-m}n=a+4|0;g=e+16|0;k=N[g>>2];c:{d:{if(!(k>=N[h>>2])){j=N[g+4>>2];break d}j=N[g+4>>2];if(!(j>=N[h+4>>2])|!(N[h+8>>2]<=N[g+8>>2])|(!(N[h+16>>2]>=N[g+16>>2])|!(N[h+20>>2]>=N[g+20>>2]))){break d}f=0;if(N[h+24>>2]>=N[g+24>>2]){break c}}N[g+4>>2]=j+Q(-.05000000074505806);N[g>>2]=k+Q(-.05000000074505806);N[g+8>>2]=N[g+8>>2]+Q(-.05000000074505806);N[g+16>>2]=N[g+16>>2]+Q(.05000000074505806);N[g+20>>2]=N[g+20>>2]+Q(.05000000074505806);N[g+24>>2]=N[g+24>>2]+Q(.05000000074505806);j=N[e>>2];f=((j>Q(0))<<4)+g|0;N[f>>2]=j+N[f>>2];j=N[e+4>>2];f=(j>Q(0)?20:4)+g|0;N[f>>2]=j+N[f>>2];j=N[e+8>>2];f=(j>Q(0)?24:8)+g|0;N[f>>2]=j+N[f>>2];f=bc(n,h);e:{if(!f){f=0;break e}o=J[n+8>>2];if((o|0)>=0){if(!o){break e}while(1){i=J[f+32>>2];if(!i){break e}f=i;r=r+1|0;if((o|0)!=(r|0)){continue}break}break e}f=J[n>>2]}i=J[g+4>>2];J[h>>2]=J[g>>2];J[h+4>>2]=i;i=J[g+28>>2];J[h+24>>2]=J[g+24>>2];J[h+28>>2]=i;i=J[g+20>>2];J[h+16>>2]=J[g+16>>2];J[h+20>>2]=i;i=J[g+12>>2];J[h+8>>2]=J[g+8>>2];J[h+12>>2]=i;ac(n,f,h);f=1}if(!f){break a}J[a+132>>2]=J[a+132>>2]+1;break a}_c(a+4|0,h,e+16|0);J[a+132>>2]=J[a+132>>2]+1}i=J[b+52>>2];J[(i?i+56|0:((J[b+60>>2]<<2)+a|0)+84|0)>>2]=J[b+56>>2];i=J[b+56>>2];if(i){J[i+52>>2]=J[b+52>>2]}i=J[c+4>>2];J[b+16>>2]=J[c>>2];J[b+20>>2]=i;i=J[c+12>>2];J[b+24>>2]=J[c+8>>2];J[b+28>>2]=i;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;f:{if(!f){break f}H[a+154|0]=1;if(K[a+153|0]){break f}J[e>>2]=12044;J[e+4>>2]=a;Zb(a+44|0,J[a+44>>2],J[b+48>>2],e);Zb(a+4|0,J[a+4>>2],J[b+48>>2],e)}sa=e+48|0}function Nj(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=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=Q(0),s=Q(0),t=Q(0),u=Q(0),v=0,w=0,x=0,y=0,z=0;g=N[b+44>>2];m=N[b+40>>2];n=N[b+36>>2];k=N[b+28>>2];o=N[b+24>>2];p=N[b+20>>2];q=N[b+32>>2];r=N[b+16>>2];l=N[b+12>>2];s=N[b+8>>2];t=N[b+4>>2];u=N[b>>2];i=J[a+4>>2];b=J[i+4>>2];a:{if((b|0)!=J[i+8>>2]){break a}v=b?b<<1:1;if((v|0)<=(b|0)){break a}if(v){J[8456]=J[8456]+1;w=ua[J[8258]](v<<6,16)|0;b=J[i+4>>2]}b:{if((b|0)<=0){break b}if((b|0)!=1){z=b&-2;while(1){h=x<<6;e=h+w|0;a=J[i+12>>2]+h|0;j=J[a+4>>2];J[e>>2]=J[a>>2];J[e+4>>2]=j;j=J[a+60>>2];J[e+56>>2]=J[a+56>>2];J[e+60>>2]=j;j=J[a+52>>2];J[e+48>>2]=J[a+48>>2];J[e+52>>2]=j;j=J[a+44>>2];J[e+40>>2]=J[a+40>>2];J[e+44>>2]=j;j=J[a+36>>2];J[e+32>>2]=J[a+32>>2];J[e+36>>2]=j;j=J[a+28>>2];J[e+24>>2]=J[a+24>>2];J[e+28>>2]=j;j=J[a+20>>2];J[e+16>>2]=J[a+16>>2];J[e+20>>2]=j;j=J[a+12>>2];J[e+8>>2]=J[a+8>>2];J[e+12>>2]=j;a=h|64;e=a+w|0;a=a+J[i+12>>2]|0;h=J[a+4>>2];J[e>>2]=J[a>>2];J[e+4>>2]=h;h=J[a+12>>2];J[e+8>>2]=J[a+8>>2];J[e+12>>2]=h;h=J[a+20>>2];J[e+16>>2]=J[a+16>>2];J[e+20>>2]=h;h=J[a+28>>2];J[e+24>>2]=J[a+24>>2];J[e+28>>2]=h;h=J[a+36>>2];J[e+32>>2]=J[a+32>>2];J[e+36>>2]=h;h=J[a+44>>2];J[e+40>>2]=J[a+40>>2];J[e+44>>2]=h;h=J[a+52>>2];J[e+48>>2]=J[a+48>>2];J[e+52>>2]=h;h=J[a+60>>2];J[e+56>>2]=J[a+56>>2];J[e+60>>2]=h;x=x+2|0;y=y+2|0;if((y|0)!=(z|0)){continue}break}}if(!(b&1)){break b}a=x<<6;b=a+w|0;a=a+J[i+12>>2]|0;e=J[a+4>>2];J[b>>2]=J[a>>2];J[b+4>>2]=e;e=J[a+60>>2];J[b+56>>2]=J[a+56>>2];J[b+60>>2]=e;e=J[a+52>>2];J[b+48>>2]=J[a+48>>2];J[b+52>>2]=e;e=J[a+44>>2];J[b+40>>2]=J[a+40>>2];J[b+44>>2]=e;e=J[a+36>>2];J[b+32>>2]=J[a+32>>2];J[b+36>>2]=e;e=J[a+28>>2];J[b+24>>2]=J[a+24>>2];J[b+28>>2]=e;e=J[a+20>>2];J[b+16>>2]=J[a+16>>2];J[b+20>>2]=e;e=J[a+12>>2];J[b+8>>2]=J[a+8>>2];J[b+12>>2]=e}a=J[i+12>>2];if(!(a?!a|!K[i+16|0]:1)){J[8457]=J[8457]+1;ua[J[8259]](a)}J[i+12>>2]=w;H[i+16|0]=1;J[i+8>>2]=v;b=J[i+4>>2]}a=J[i+12>>2]+(b<<6)|0;J[a+40>>2]=d;J[a+36>>2]=c;J[a+32>>2]=-1;f=l>Q(0)?l:Q(0);f=f>2]=g>f?g:f;f=s>Q(-0xde0b6b000000000)?s:Q(-0xde0b6b000000000);f=f>2]=fQ(-0xde0b6b000000000)?t:Q(-0xde0b6b000000000);f=f>2]=fQ(-0xde0b6b000000000)?u:Q(-0xde0b6b000000000);f=f>2]=f>2]=go?o:g;N[a+8>>2]=g>m?m:g;g=tp?p:g;N[a+4>>2]=g>n?n:g;g=ur?r:g;N[a>>2]=g>q?q:g;J[i+4>>2]=J[i+4>>2]+1}function Lc(a){var b=0,c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;J[8423]=16752;b=J[a+20>>2];J[8456]=J[8456]+1;e=ua[J[8258]](4,16)|0;J[e>>2]=(b?22668:22828)+8;J[8429]=e;J[8456]=J[8456]+1;b=ua[J[8258]](20,16)|0;e=J[8429];J[b+12>>2]=0;J[b+16>>2]=3;H[b+4|0]=0;J[b+8>>2]=e;J[b>>2]=15072;J[8430]=b;J[8456]=J[8456]+1;b=ua[J[8258]](8,16)|0;J[b>>2]=16868;H[b+4|0]=0;J[8431]=b;J[8456]=J[8456]+1;b=ua[J[8258]](8,16)|0;J[b>>2]=16992;H[b+4|0]=0;J[8432]=b;J[8456]=J[8456]+1;b=ua[J[8258]](8,16)|0;J[b>>2]=17084;H[b+4|0]=0;J[8433]=b;J[8456]=J[8456]+1;b=ua[J[8258]](8,16)|0;J[b>>2]=17164;H[b+4|0]=0;J[8434]=b;J[8456]=J[8456]+1;b=ua[J[8258]](8,16)|0;J[b>>2]=17252;H[b+4|0]=0;J[8435]=b;J[8456]=J[8456]+1;b=ua[J[8258]](8,16)|0;J[b>>2]=17336;H[b+4|0]=0;J[8436]=b;J[8456]=J[8456]+1;b=ua[J[8258]](8,16)|0;J[b>>2]=17404;H[b+4|0]=0;J[8437]=b;J[8456]=J[8456]+1;b=ua[J[8258]](8,16)|0;J[b>>2]=17488;H[b+4|0]=0;J[8441]=b;J[8456]=J[8456]+1;b=ua[J[8258]](8,16)|0;J[b>>2]=17488;J[8442]=b;H[b+4|0]=1;J[8456]=J[8456]+1;b=ua[J[8258]](8,16)|0;J[b>>2]=17572;H[b+4|0]=0;J[8440]=b;J[8456]=J[8456]+1;b=ua[J[8258]](16,16)|0;J[b+8>>2]=1;J[b+12>>2]=0;J[b>>2]=17648;H[b+4|0]=0;J[8444]=b;J[8456]=J[8456]+1;b=ua[J[8258]](16,16)|0;J[b+8>>2]=1;J[b+12>>2]=0;J[b>>2]=17648;J[8443]=b;H[b+4|0]=1;h=J[a+16>>2];d=J[a>>2];a:{if(d){H[33704]=0;break a}H[33704]=1;J[8456]=J[8456]+1;d=ua[J[8258]](24,16)|0;b=J[a+8>>2];J[d+20>>2]=0;J[d+4>>2]=b;J[d>>2]=868;J[8456]=J[8456]+1;b=ua[J[8258]](P(b,868),16)|0;J[d+12>>2]=b;J[d+16>>2]=b;i=J[d+4>>2];J[d+8>>2]=i;e=i-1|0;b:{if(!e){break b}f=J[d>>2];j=e&7;if(j){while(1){c=b;b=b+f|0;J[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;J[c>>2]=b;c=b;b=b+f|0;J[c>>2]=b;c=b;b=b+f|0;J[c>>2]=b;c=b;b=b+f|0;J[c>>2]=b;c=b;b=b+f|0;J[c>>2]=b;c=b;b=b+f|0;J[c>>2]=b;c=b;b=b+f|0;J[c>>2]=b;c=b;b=b+f|0;J[c>>2]=b;e=e-8|0;if(e){continue}break}}J[b>>2]=0}J[8425]=d;b=J[a+4>>2];if(b){H[33712]=0;J[8427]=b;return}H[33712]=1;J[8456]=J[8456]+1;d=ua[J[8258]](24,16)|0;a=J[a+12>>2];g=0;J[d+20>>2]=0;J[d+4>>2]=a;b=(h|0)<=72?72:h;b=((b>>>0<=116?116:b)&2147483632)+16|0;J[d>>2]=b;J[8456]=J[8456]+1;b=ua[J[8258]](P(a,b),16)|0;J[d+12>>2]=b;J[d+16>>2]=b;f=J[d+4>>2];J[d+8>>2]=f;e=f-1|0;c:{if(!e){break c}a=J[d>>2];h=e&7;if(h){while(1){c=b;b=a+b|0;J[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;J[c>>2]=b;c=b;b=a+b|0;J[c>>2]=b;c=b;b=a+b|0;J[c>>2]=b;c=b;b=a+b|0;J[c>>2]=b;c=b;b=a+b|0;J[c>>2]=b;c=b;b=a+b|0;J[c>>2]=b;c=b;b=a+b|0;J[c>>2]=b;c=b;b=a+b|0;J[c>>2]=b;e=e-8|0;if(e){continue}break}}J[b>>2]=0;J[8427]=d}function Xk(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=Q(0),j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=Q(0),r=Q(0),s=Q(0);l=sa-32|0;sa=l;J[a+60>>2]=J[a+60>>2]+1;d=J[a+4>>2];ua[J[J[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=J[a+4>>2];j=J[l+12>>2]+P(J[l+8>>2],c)|0;m=J[l+16>>2];d=J[l+28>>2];f=J[l>>2];a:{if(!J[l+20>>2]){b:{c:{switch(f-2|0){case 0:k=J[j+8>>2];break b;case 1:k=L[j+4>>1];break b;default:break c}}k=K[j+2|0]}k=P(k,m)+d|0;g=N[k>>2];h=N[k+4>>2];i=N[k+8>>2];q=N[e+4>>2];r=N[e+8>>2];s=N[e+12>>2];J[a+56>>2]=0;N[a+52>>2]=i*s;N[a+48>>2]=h*r;N[a+44>>2]=g*q;d:{e:{switch(f-2|0){case 0:k=J[j+4>>2];break d;case 1:k=L[j+2>>1];break d;default:break e}}k=K[j+1|0]}k=P(k,m)+d|0;g=N[k>>2];h=N[k+4>>2];i=N[k+8>>2];q=N[e+4>>2];r=N[e+8>>2];s=N[e+12>>2];J[a+40>>2]=0;N[a+36>>2]=i*s;N[a+32>>2]=h*r;N[a+28>>2]=g*q;f:{g:{switch(f-2|0){case 0:f=J[j>>2];break f;case 1:f=L[j>>1];break f;default:break g}}f=K[j|0]}d=P(f,m)+d|0;k=d+8|0;g=Q(N[d+4>>2]*N[e+8>>2]);i=Q(N[d>>2]*N[e+4>>2]);h=N[e+12>>2];break a}k=e+12|0;h:{switch(f-2|0){case 0:f=P(J[j+8>>2],m)+d|0;n=O[f>>3];o=O[f+8>>3];p=O[f+16>>3];g=N[e+4>>2];h=N[e+8>>2];i=N[e+12>>2];J[a+56>>2]=0;N[a+52>>2]=i*Q(p);N[a+48>>2]=h*Q(o);N[a+44>>2]=g*Q(n);f=P(J[j+4>>2],m)+d|0;n=O[f>>3];o=O[f+8>>3];p=O[f+16>>3];g=N[e+4>>2];h=N[e+8>>2];i=N[e+12>>2];J[a+40>>2]=0;N[a+36>>2]=i*Q(p);N[a+32>>2]=h*Q(o);N[a+28>>2]=g*Q(n);d=P(J[j>>2],m)+d|0;g=Q(N[e+8>>2]*Q(O[d+8>>3]));i=Q(N[e+4>>2]*Q(O[d>>3]));h=Q(O[d+16>>3]);break a;case 1:f=P(L[j+4>>1],m)+d|0;n=O[f>>3];o=O[f+8>>3];p=O[f+16>>3];g=N[e+4>>2];h=N[e+8>>2];i=N[e+12>>2];J[a+56>>2]=0;N[a+52>>2]=i*Q(p);N[a+48>>2]=h*Q(o);N[a+44>>2]=g*Q(n);f=P(L[j+2>>1],m)+d|0;n=O[f>>3];o=O[f+8>>3];p=O[f+16>>3];g=N[e+4>>2];h=N[e+8>>2];i=N[e+12>>2];J[a+40>>2]=0;N[a+36>>2]=i*Q(p);N[a+32>>2]=h*Q(o);N[a+28>>2]=g*Q(n);d=P(L[j>>1],m)+d|0;g=Q(N[e+8>>2]*Q(O[d+8>>3]));i=Q(N[e+4>>2]*Q(O[d>>3]));h=Q(O[d+16>>3]);break a;default:break h}}f=P(K[j+2|0],m)+d|0;n=O[f>>3];o=O[f+8>>3];p=O[f+16>>3];g=N[e+4>>2];h=N[e+8>>2];i=N[e+12>>2];J[a+56>>2]=0;N[a+52>>2]=i*Q(p);N[a+48>>2]=h*Q(o);N[a+44>>2]=g*Q(n);f=P(K[j+1|0],m)+d|0;n=O[f>>3];o=O[f+8>>3];p=O[f+16>>3];g=N[e+4>>2];h=N[e+8>>2];i=N[e+12>>2];J[a+40>>2]=0;N[a+36>>2]=i*Q(p);N[a+32>>2]=h*Q(o);N[a+28>>2]=g*Q(n);d=P(K[j|0],m)+d|0;g=Q(N[e+8>>2]*Q(O[d+8>>3]));i=Q(N[e+4>>2]*Q(O[d>>3]));h=Q(O[d+16>>3])}q=N[k>>2];J[a+24>>2]=0;N[a+16>>2]=g;N[a+12>>2]=i;N[a+20>>2]=q*h;d=J[a+8>>2];ua[J[J[d>>2]+8>>2]](d,a+12|0,b,c);a=J[a+4>>2];ua[J[J[a>>2]+24>>2]](a,b);sa=l+32|0}function Pj(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=0,l=0,m=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=0,C=0;f=N[b+40>>2];g=N[b+36>>2];e=N[b+24>>2];o=N[b+20>>2];i=J[a+8>>2];v=N[i+44>>2];w=N[i+40>>2];x=N[i+12>>2];y=N[i+8>>2];p=N[b+32>>2];q=N[b+16>>2];n=N[b+8>>2];r=N[b+4>>2];s=N[b>>2];z=N[i+36>>2];A=N[i+4>>2];b=J[a+4>>2];a=J[b+4>>2];a:{if((a|0)!=J[b+8>>2]){break a}t=a?a<<1:1;if((t|0)<=(a|0)){break a}b:{if(!t){i=0;break b}J[8456]=J[8456]+1;i=ua[J[8258]](t<<4,16)|0;a=J[b+4>>2]}c:{if((a|0)<=0){break c}if((a|0)!=1){C=a&-2;while(1){l=k<<4;m=l+i|0;h=l+J[b+12>>2]|0;u=J[h+4>>2];J[m>>2]=J[h>>2];J[m+4>>2]=u;u=J[h+12>>2];J[m+8>>2]=J[h+8>>2];J[m+12>>2]=u;h=l|16;l=h+i|0;h=h+J[b+12>>2]|0;m=J[h+4>>2];J[l>>2]=J[h>>2];J[l+4>>2]=m;m=J[h+12>>2];J[l+8>>2]=J[h+8>>2];J[l+12>>2]=m;k=k+2|0;B=B+2|0;if((B|0)!=(C|0)){continue}break}}if(!(a&1)){break c}a=k<<4;k=a+i|0;a=a+J[b+12>>2]|0;h=J[a+4>>2];J[k>>2]=J[a>>2];J[k+4>>2]=h;h=J[a+12>>2];J[k+8>>2]=J[a+8>>2];J[k+12>>2]=h}a=J[b+12>>2];if(!(a?!a|!K[b+16|0]:1)){J[8457]=J[8457]+1;ua[J[8259]](a)}J[b+12>>2]=i;H[b+16|0]=1;J[b+8>>2]=t;a=J[b+4>>2]}a=J[b+12>>2]+(a<<4)|0;J[a+12>>2]=c<<21|d;j=n>Q(-0xde0b6b000000000)?n:Q(-0xde0b6b000000000);j=e>j?e:j;j=f>j?f:j;n=n=Q(0)){d=~~f>>>0;break d}d=0}I[a+4>>1]=d&65534;f=r>Q(-0xde0b6b000000000)?r:Q(-0xde0b6b000000000);f=fo?o:e;g=e>g?g:e;d=Q(f-g)=Q(0)){h=~~g>>>0;break e}h=0}I[a+2>>1]=h&65534;g=s>Q(-0xde0b6b000000000)?s:Q(-0xde0b6b000000000);g=gq?q:e;e=e>p?p:e;i=Q(g-e)=Q(0)){h=~~e>>>0;break f}h=0}I[a>>1]=h&65534;e=Q(Q(Q((c?Q(j+Q(.0010000000474974513)):j)-x)*v)+Q(1));g:{if(e=Q(0)){c=~~e>>>0;break g}c=0}I[a+10>>1]=c|1;f=Q(Q(Q((d?Q(f+Q(.0010000000474974513)):f)-y)*w)+Q(1));h:{if(f=Q(0)){c=~~f>>>0;break h}c=0}I[a+8>>1]=c|1;f=Q(Q(Q((i?Q(g+Q(.0010000000474974513)):g)-A)*z)+Q(1));i:{if(f=Q(0)){c=~~f>>>0;break i}c=0}I[a+6>>1]=c|1;J[b+4>>2]=J[b+4>>2]+1}function Co(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=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=0,F=0,G=Q(0),H=0,I=0,K=Q(0),L=0,M=0,O=Q(0),P=Q(0),S=Q(0),T=0,U=0,V=0,W=0,X=0,Y=Q(0);n=sa-2416|0;sa=n;u=N[b>>2];A=N[c>>2];v=N[b+4>>2];C=N[c+4>>2];w=N[b+8>>2];D=N[c+8>>2];J[n+44>>2]=0;q=Q(D*e);N[n+40>>2]=w+q;r=Q(C*e);N[n+36>>2]=v+r;x=Q(A*e);N[n+32>>2]=u+x;J[n+28>>2]=0;N[n+24>>2]=w-q;N[n+20>>2]=v-r;N[n+16>>2]=u-x;p=Q(k*Q(.01745329238474369));k=Q(p+Q(-1.5707963705062866));I=f<=Q(-1.5707963705062866);x=I?k:f;f=Q(Q(1.5707963705062866)-p);E=g>=Q(1.5707963705062866);g=E?f:g;if(x>g){E=1;I=1;x=k;g=f}q=N[d>>2];r=N[d+4>>2];k=N[d+8>>2];m=h>i;K=m?Q(p+Q(-3.1415927410125732)):h;y=Q((m?Q(3.1415927410125732):i)-K);f=Q(y/p);a:{if(Q(R(f))=Q(6.2831854820251465);m=l^1;g=Q(g-x);f=Q(g/p);b:{if(Q(R(f))>2];v=N[b>>2];w=N[d>>2];q=N[c+4>>2];r=N[b+4>>2];k=N[d+4>>2];i=N[c+8>>2];h=N[b+8>>2];g=N[d+8>>2];J[o+12>>2]=0;f=Q(Q(Q(z|0)*C)+x);G=Q(Ma(f)*e);p=Q(G*y);Y=g;g=Q(G*D);B=Q(Na(f)*e);N[o+8>>2]=Q(Q(O*p)+Q(h+Q(Y*g)))+Q(i*B);N[o+4>>2]=Q(Q(P*p)+Q(r+Q(g*k)))+Q(B*q);N[o>>2]=Q(Q(S*p)+Q(v+Q(g*w)))+Q(B*u);L=(z|0)==(T|0);U=L&I;if(z|E){ua[J[J[a>>2]+16>>2]](a,z?s:n+16|0,o,j)}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(U){ua[J[J[a>>2]+16>>2]](a,n+32|0,o,j)}V=!z|L;if(!(!V|X)){ua[J[J[a>>2]+16>>2]](a,b,o,j)}m=1;while(1){u=N[c>>2];v=N[b>>2];w=N[d>>2];q=N[c+4>>2];r=N[b+4>>2];k=N[d+4>>2];i=N[c+8>>2];h=N[b+8>>2];g=N[d+8>>2];W=m<<4;t=W+o|0;J[t+12>>2]=0;H=m;f=Q(Q(Q(m|0)*A)+K);p=Q(G*Na(f));f=Q(G*Ma(f));N[t+8>>2]=Q(Q(O*p)+Q(h+Q(g*f)))+Q(B*i);N[t+4>>2]=Q(Q(P*p)+Q(r+Q(f*k)))+Q(B*q);N[t>>2]=Q(Q(S*p)+Q(v+Q(f*w)))+Q(B*u);c:{d:{if(z){m=s+W|0;break d}m=n+16|0;if(!E){break c}}ua[J[J[a>>2]+16>>2]](a,m,t,j)}ua[J[J[a>>2]+16>>2]](a,t-16|0,t,j);if(U){ua[J[J[a>>2]+16>>2]](a,n+32|0,t,j)}e:{if(!l){break e}f:{if(M){m=n;if((H|0)==(F|0)){break f}break e}m=b;if(!((H|0)==(F|0)&V)){break e}}ua[J[J[a>>2]+16>>2]](a,m,t,j)}m=H+1|0;if((H|0)!=(F|0)){continue}break}z=z+1|0;m=o;o=s;if(!L){continue}break}sa=n+2416|0}function ns(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=Q(0),i=0,j=0,k=0,l=0,m=0,n=Q(0);e=sa-128|0;sa=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(ua[J[J[c>>2]+48>>2]](c));ua[J[J[c>>2]+8>>2]](c,b,e+48|0,e+32|0);h=N[e+48>>2];if(h>2]){N[a+40>>2]=h}h=N[e+32>>2];if(h>N[a+56>>2]){N[a+56>>2]=h}h=N[e+52>>2];if(h>2]){N[a+44>>2]=h}h=N[e+36>>2];if(h>N[a+60>>2]){N[a+60>>2]=h}h=N[e+56>>2];if(h>2]){N[a+48>>2]=h}h=N[e+40>>2];if(h>N[a- -64>>2]){N[a+64>>2]=h}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=$b(b,e,J[a+24>>2])}else{b=0}i=J[a+24>>2];a:{if((i|0)!=J[a+28>>2]){break a}j=i?i<<1:1;if((j|0)<=(i|0)){break a}if(j){J[8456]=J[8456]+1;l=ua[J[8258]](P(j,80),16)|0;i=J[a+24>>2]}if((i|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)!=(i|0)){continue}break}}d=J[a+32>>2];if(!(d?!d|!K[a+36|0]:1)){J[8457]=J[8457]+1;ua[J[8259]](d)}J[a+32>>2]=l;H[a+36|0]=1;J[a+28>>2]=j;i=J[a+24>>2]}f=J[e+68>>2];d=J[a+32>>2]+P(i,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;sa=e+128|0}function Or(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;e=sa-32|0;sa=e;J[8456]=J[8456]+1;d=ua[J[8258]](348,16)|0;if(!K[33780]){J[e+24>>2]=0;J[e+28>>2]=1;J[e+16>>2]=4096;J[e+20>>2]=4096;J[e+8>>2]=0;J[e+12>>2]=0;Lc(e+8|0);H[33780]=1}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]=13068;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]=24120;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;H[b+208|0]=1;J[b+204>>2]=0;H[b+240|0]=1;J[b+216>>2]=c;J[b+212>>2]=0;J[b+196>>2]=0;J[b+200>>2]=0;J[b+236>>2]=0;J[b+228>>2]=0;J[b+232>>2]=0;H[b+260|0]=1;I[b+290>>1]=0;J[b+256>>2]=0;J[b+264>>2]=0;J[b+268>>2]=-1054867456;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+312>>2]=0;J[b+304>>2]=0;J[b+296>>2]=0;J[b+300>>2]=0;H[b+336|0]=1;H[b+316|0]=1;J[b+324>>2]=0;J[b+328>>2]=0;J[b+332>>2]=0;J[b+340>>2]=0;if(c){c=0}else{J[8456]=J[8456]+1;f=d,g=Kd(ua[J[8258]](236,16)|0),J[f+216>>2]=g;c=1}H[b+289|0]=c;J[8456]=J[8456]+1;b=ua[J[8258]](68,16)|0;J[b>>2]=24060;J[b+16>>2]=0;H[b+20|0]=1;J[b+8>>2]=0;J[b+12>>2]=0;J[b+36>>2]=0;H[b+40|0]=1;H[b+60|0]=1;J[b+28>>2]=0;J[b+32>>2]=0;J[b+56>>2]=0;H[b+64|0]=1;J[b+48>>2]=0;J[b+52>>2]=0;H[d+288|0]=1;J[d+220>>2]=b;J[8456]=J[8456]+1;b=ua[J[8258]](88,16)|0;c=J[d+216>>2];H[b+44|0]=1;J[b+24>>2]=a;J[b+20>>2]=0;J[b+12>>2]=0;J[b+16>>2]=0;J[b+8>>2]=c;J[b+4>>2]=0;J[b>>2]=24384;J[b+40>>2]=0;H[b- -64|0]=1;J[b+32>>2]=0;J[b+36>>2]=0;J[b+60>>2]=0;H[b+84|0]=1;J[b+52>>2]=0;J[b+56>>2]=0;J[b+80>>2]=0;J[b+72>>2]=0;J[b+76>>2]=0;J[d+212>>2]=b;J[d+344>>2]=24816;J[d>>2]=24576;J[d+56>>2]=1008981770;a=J[d+68>>2];a=ua[J[J[a>>2]+36>>2]](a)|0;ua[J[J[a>>2]+44>>2]](a,d+344|0);a=J[d+68>>2];a=ua[J[J[a>>2]+36>>2]](a)|0;b=La(4);J[b>>2]=24916;ua[J[J[a>>2]+60>>2]](a,b);sa=e+32|0;return d|0}function Ed(a,b){var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;a:{d=J[a+548>>2];b:{if((d|0)<=0){break b}e=J[a+556>>2];while(1){if(J[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(J[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}J[8456]=J[8456]+1;e=ua[J[8258]](i<<2,16)|0;d=J[a+548>>2]}e:{if((d|0)<=0){break e}f=0;if(d>>>0>=4){k=d&-4;while(1){c=f<<2;J[c+e>>2]=J[c+J[a+556>>2]>>2];g=c|4;J[g+e>>2]=J[g+J[a+556>>2]>>2];g=c|8;J[g+e>>2]=J[g+J[a+556>>2]>>2];c=c|12;J[c+e>>2]=J[c+J[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;J[h+e>>2]=J[h+J[a+556>>2]>>2];f=f+1|0;j=j+1|0;if((c|0)!=(j|0)){continue}break}}f=J[a+556>>2];if(!(!f|!K[a+560|0])){if(f){J[8457]=J[8457]+1;ua[J[8259]](f)}d=J[a+548>>2]}J[a+556>>2]=e;H[a+560|0]=1;J[a+552>>2]=i}J[J[a+556>>2]+(d<<2)>>2]=b;J[a+548>>2]=d+1;f=J[b+32>>2];b=J[b+28>>2];f:{if((b|0)==(a|0)){e=J[a+288>>2];if((e|0)!=J[a+292>>2]){break f}i=e?e<<1:1;if((i|0)<=(e|0)){break f}g:{if(!i){b=0;break g}J[8456]=J[8456]+1;b=ua[J[8258]](i<<2,16)|0;e=J[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;J[c+b>>2]=J[c+J[a+296>>2]>>2];g=c|4;J[g+b>>2]=J[g+J[a+296>>2]>>2];g=c|8;J[g+b>>2]=J[g+J[a+296>>2]>>2];c=c|12;J[c+b>>2]=J[c+J[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;J[h+b>>2]=J[h+J[a+296>>2]>>2];d=d+1|0;j=j+1|0;if((c|0)!=(j|0)){continue}break}}d=J[a+296>>2];if(!(!d|!K[a+300|0])){if(d){J[8457]=J[8457]+1;ua[J[8259]](d)}e=J[a+288>>2]}J[a+296>>2]=b;H[a+300|0]=1;J[a+292>>2]=i;break f}e=J[f+288>>2];i:{if((e|0)!=J[f+292>>2]){break i}h=e?e<<1:1;if((h|0)<=(e|0)){break i}j:{if(!h){d=0;break j}J[8456]=J[8456]+1;d=ua[J[8258]](h<<2,16)|0;e=J[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;J[c+d>>2]=J[c+J[f+296>>2]>>2];g=c|4;J[g+d>>2]=J[g+J[f+296>>2]>>2];g=c|8;J[g+d>>2]=J[g+J[f+296>>2]>>2];c=c|12;J[c+d>>2]=J[c+J[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;J[c+d>>2]=J[c+J[f+296>>2]>>2];a=a+1|0;i=i+1|0;if((j|0)!=(i|0)){continue}break}}a=J[f+296>>2];if(!(!a|!K[f+300|0])){if(a){J[8457]=J[8457]+1;ua[J[8259]](a)}e=J[f+288>>2]}J[f+296>>2]=d;H[f+300|0]=1;J[f+292>>2]=h}a=f;f=b}J[J[a+296>>2]+(e<<2)>>2]=f;J[a+280>>2]=(e^-1)>>>31;J[a+288>>2]=e+1}}function Em(a,b,c,d){a=a|0;b=b|0;c=c|0;d=Q(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=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);n=sa-16|0;sa=n;k=N[b+8>>2];f=N[c+8>>2];q=Q(Q(k*d)+f);C=N[b+4>>2];B=N[c+4>>2];D=Q(Q(C*d)+B);E=N[b>>2];e=Q(E*d);d=N[c>>2];F=Q(e+d);a:{if(K[a+232|0]){r=N[a+48>>2];i=Q(-N[a+88>>2]);s=N[a- -64>>2];h=N[a+92>>2];t=N[a+80>>2];g=N[a+96>>2];y=Q(Q(Q(r*i)-Q(s*h))-Q(t*g));e=N[a+208>>2];u=N[a+40>>2];v=N[a+56>>2];w=N[a+72>>2];z=Q(Q(Q(u*i)-Q(v*h))-Q(w*g));l=N[a+200>>2];x=N[a+44>>2];j=Q(x*i);i=N[a+60>>2];j=Q(j-Q(i*h));h=N[a+76>>2];j=Q(j-Q(h*g));g=N[a+204>>2];e=Q(Q(Q(Q(y*e)+Q(Q(z*l)+Q(j*g)))+N[a+224>>2])+Q(Q(q*Q(Q(t*e)+Q(Q(w*l)+Q(h*g))))+Q(Q(F*Q(Q(r*e)+Q(Q(u*l)+Q(x*g))))+Q(D*Q(Q(s*e)+Q(Q(v*l)+Q(i*g)))))));g=e;l=k;o=Q(Q(e-f)*k);f=N[a+176>>2];e=N[a+168>>2];k=N[a+172>>2];e=Q(Q(Q(q*Q(Q(t*f)+Q(Q(w*e)+Q(h*k))))+Q(Q(F*Q(Q(r*f)+Q(Q(u*e)+Q(x*k))))+Q(D*Q(Q(s*f)+Q(Q(v*e)+Q(i*k))))))+Q(Q(Q(y*f)+Q(Q(z*e)+Q(k*j)))+N[a+216>>2]));p=Q(Q(e-d)*E);k=q;d=N[a+192>>2];f=N[a+184>>2];q=N[a+188>>2];f=Q(Q(Q(k*Q(Q(t*d)+Q(Q(w*f)+Q(h*q))))+Q(Q(F*Q(Q(r*d)+Q(Q(u*f)+Q(x*q))))+Q(D*Q(Q(s*d)+Q(Q(v*f)+Q(i*q))))))+Q(Q(Q(y*d)+Q(Q(z*f)+Q(j*q)))+N[a+220>>2]));d=Q(o+Q(p+Q(C*Q(f-B))));N[n+8>>2]=g+Q(l*d);N[n+4>>2]=f+Q(C*d);N[n>>2]=e+Q(E*d);break a}I=N[a+224>>2];r=N[a+208>>2];s=N[a+200>>2];t=N[a+204>>2];L=N[a+216>>2];e=N[a+172>>2];u=N[a+176>>2];v=N[a+168>>2];w=N[a+112>>2];o=Q(-N[a+152>>2]);l=N[a+128>>2];p=N[a+156>>2];x=N[a+144>>2];A=N[a+160>>2];i=Q(Q(Q(w*o)-Q(l*p))-Q(x*A));h=N[a+104>>2];g=N[a+120>>2];y=N[a+136>>2];z=Q(Q(Q(h*o)-Q(g*p))-Q(y*A));j=N[a+108>>2];m=Q(j*o);o=N[a+124>>2];m=Q(m-Q(o*p));p=N[a+140>>2];A=Q(m-Q(p*A));m=N[a+192>>2];G=N[a+184>>2];H=N[a+188>>2];m=Q(Q(Q(f*Q(Q(x*m)+Q(Q(y*G)+Q(p*H))))+Q(Q(d*Q(Q(w*m)+Q(Q(h*G)+Q(j*H))))+Q(B*Q(Q(l*m)+Q(Q(g*G)+Q(o*H))))))+Q(Q(Q(i*m)+Q(Q(z*G)+Q(A*H)))+N[a+220>>2]));N[n+4>>2]=m;e=Q(Q(Q(f*Q(Q(x*u)+Q(Q(y*v)+Q(p*e))))+Q(Q(d*Q(Q(w*u)+Q(Q(h*v)+Q(j*e))))+Q(B*Q(Q(l*u)+Q(Q(g*v)+Q(o*e))))))+Q(L+Q(Q(i*u)+Q(Q(z*v)+Q(e*A)))));N[n>>2]=e;d=Q(Q(I+Q(Q(i*r)+Q(Q(z*s)+Q(A*t))))+Q(Q(f*Q(Q(x*r)+Q(Q(y*s)+Q(p*t))))+Q(Q(d*Q(Q(w*r)+Q(Q(h*s)+Q(j*t))))+Q(B*Q(Q(l*r)+Q(Q(g*s)+Q(o*t)))))));N[n+8>>2]=d;d=Q(Q(Q(q-d)*k)+Q(Q(Q(F-e)*E)+Q(C*Q(D-m))))}J[n+12>>2]=0;a=J[a+36>>2];ua[J[J[a>>2]+16>>2]](a,b,n,d);sa=n+16|0}function Vb(a,b,c,d){var 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),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);h=sa+-64|0;sa=h;p=N[b+24>>2];q=N[b+20>>2];r=N[b+40>>2];s=N[b+36>>2];j=N[a+40>>2];k=N[a+20>>2];l=N[a+36>>2];m=N[a+24>>2];t=N[b+8>>2];u=N[b>>2];w=N[b+4>>2];y=N[b+16>>2];z=N[b+32>>2];f=N[a+8>>2];g=N[a+4>>2];o=N[a+32>>2];n=N[a+16>>2];i=N[a>>2];J[h+60>>2]=0;J[h+44>>2]=0;D=Q(Q(n*l)-Q(o*k));E=Q(Q(k*j)-Q(l*m));F=Q(Q(m*o)-Q(j*n));e=Q(Q(1)/Q(Q(f*D)+Q(Q(i*E)+Q(g*F))));A=Q(Q(Q(i*k)-Q(n*g))*e);k=Q(Q(Q(g*m)-Q(k*f))*e);m=Q(Q(Q(f*n)-Q(m*i))*e);N[h+56>>2]=Q(r*A)+Q(Q(z*k)+Q(s*m));n=Q(Q(Q(g*o)-Q(l*i))*e);g=Q(Q(Q(f*l)-Q(j*g))*e);f=Q(Q(Q(i*j)-Q(o*f))*e);N[h+52>>2]=Q(r*n)+Q(Q(z*g)+Q(s*f));N[h+40>>2]=Q(A*p)+Q(Q(k*y)+Q(m*q));N[h+36>>2]=Q(n*p)+Q(Q(g*y)+Q(f*q));J[h+28>>2]=0;i=Q(D*e);j=Q(E*e);e=Q(F*e);N[h+48>>2]=Q(r*i)+Q(Q(z*j)+Q(s*e));N[h+32>>2]=Q(i*p)+Q(Q(j*y)+Q(e*q));N[h+24>>2]=Q(A*t)+Q(Q(k*u)+Q(w*m));N[h+20>>2]=Q(n*t)+Q(Q(g*u)+Q(w*f));N[h+16>>2]=Q(i*t)+Q(Q(j*u)+Q(w*e));ob(h+16|0,h);e=N[h+12>>2];i=N[h+8>>2];j=N[h>>2];k=N[h+4>>2];g=Q(Q(1)/Q(Y(Q(Q(e*e)+Q(Q(i*i)+Q(Q(j*j)+Q(k*k)))))));e=Q(e*g);e=eQ(1)?Q(1):e;b=(B(f),v(2));a=b&2147483647;a:{if(a>>>0>=1065353216){e=(b|0)>=0?Q(0):Q(3.141592502593994);if((a|0)==1065353216){break a}e=Q(Q(0)/Q(f-f));break a}b:{if(a>>>0<=1056964607){e=Q(1.570796251296997);if(a>>>0<847249409){break b}e=Q(f*f);e=Q(Q(Q(Q(7.549789415861596e-8)-Q(f*Q(Q(Q(Q(e*Q(Q(e*Q(-.008656363002955914))+Q(-.04274342209100723)))+Q(.16666586697101593))*e)/Q(Q(e*Q(-.7066296339035034))+Q(1)))))-f)+Q(1.570796251296997));break a}if((b|0)<0){e=Q(Q(f+Q(1))*Q(.5));f=Q(Y(e));e=Q(Q(1.570796251296997)-Q(f+Q(Q(f*Q(Q(Q(Q(e*Q(Q(e*Q(-.008656363002955914))+Q(-.04274342209100723)))+Q(.16666586697101593))*e)/Q(Q(e*Q(-.7066296339035034))+Q(1))))+Q(-7.549789415861596e-8))));e=Q(e+e);break a}e=Q(Q(Q(1)-f)*Q(.5));l=Q(Y(e));f=(x(2,(B(l),v(2))&-4096),C());e=Q(Q(Q(l*Q(Q(Q(Q(e*Q(Q(e*Q(-.008656363002955914))+Q(-.04274342209100723)))+Q(.16666586697101593))*e)/Q(Q(e*Q(-.7066296339035034))+Q(1))))+Q(Q(e-Q(f*f))/Q(l+f)))+f);e=Q(e+e)}}N[d>>2]=e+e;J[c+12>>2]=0;e=Q(i*g);f=Q(j*g);g=Q(k*g);i=Q(Q(e*e)+Q(Q(f*f)+Q(g*g)));c:{if(i>2]=1065353216;J[c+4>>2]=0;e=Q(0);break c}j=g;g=Q(Q(1)/Q(Y(i)));N[c+4>>2]=j*g;N[c>>2]=f*g;e=Q(e*g)}N[c+8>>2]=e;sa=h- -64|0}function Re(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=sa-160|0;sa=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)));ua[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];ua[J[J[h>>2]+8>>2]](h,J[f+12>>2],d+48|0,d+32|0);f=J[8464];a:{if(f){if(!(ua[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=ua[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=ua[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;ua[J[J[f>>2]+(e<<2)>>2]](f,-1,c);ua[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}sa=d+160|0}function ue(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=Q(0),i=Q(0),j=Q(0),k=0,l=0,m=Q(0),n=0,o=0,p=Q(0),q=Q(0),r=0;d=sa-80|0;sa=d;e=J[a+4>>2];ua[J[J[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=J[d+12>>2]+P(J[d+8>>2],c)|0;e=J[a+4>>2];k=J[d+16>>2];l=J[d+28>>2];f=J[d>>2];a:{if(!J[d+20>>2]){if((f|0)!=3){f=P(J[g+8>>2],k)+l|0;h=N[f>>2];i=N[f+4>>2];j=N[f+8>>2];m=N[e+4>>2];p=N[e+8>>2];q=N[e+12>>2];J[d+76>>2]=0;N[d+72>>2]=j*q;N[d+68>>2]=i*p;N[d+64>>2]=h*m;f=P(J[g+4>>2],k)+l|0;h=N[f>>2];i=N[f+4>>2];j=N[f+8>>2];m=N[e+4>>2];p=N[e+8>>2];q=N[e+12>>2];J[d+60>>2]=0;N[d+56>>2]=j*q;N[d+52>>2]=i*p;N[d+48>>2]=h*m;g=P(J[g>>2],k)+l|0;h=N[g+4>>2];i=N[g+8>>2];j=N[e+8>>2];m=N[e+12>>2];N[d+32>>2]=N[g>>2]*N[e+4>>2];i=Q(i*m);h=Q(h*j);break a}f=P(L[g+4>>1],k)+l|0;h=N[f>>2];i=N[f+4>>2];j=N[f+8>>2];m=N[e+4>>2];p=N[e+8>>2];q=N[e+12>>2];J[d+76>>2]=0;N[d+72>>2]=j*q;N[d+68>>2]=i*p;N[d+64>>2]=h*m;f=P(L[g+2>>1],k)+l|0;h=N[f>>2];i=N[f+4>>2];j=N[f+8>>2];m=N[e+4>>2];p=N[e+8>>2];q=N[e+12>>2];J[d+60>>2]=0;N[d+56>>2]=j*q;N[d+52>>2]=i*p;N[d+48>>2]=h*m;g=P(L[g>>1],k)+l|0;h=N[g+4>>2];i=N[g+8>>2];j=N[e+8>>2];m=N[e+12>>2];N[d+32>>2]=N[g>>2]*N[e+4>>2];i=Q(i*m);h=Q(h*j);break a}if((f|0)!=3){f=P(J[g+8>>2],k)+l|0;n=O[f>>3];o=O[f+8>>3];r=O[f+16>>3];h=N[e+4>>2];i=N[e+8>>2];j=N[e+12>>2];J[d+76>>2]=0;N[d+72>>2]=j*Q(r);N[d+68>>2]=i*Q(o);N[d+64>>2]=h*Q(n);f=P(J[g+4>>2],k)+l|0;n=O[f>>3];o=O[f+8>>3];r=O[f+16>>3];h=N[e+4>>2];i=N[e+8>>2];j=N[e+12>>2];J[d+60>>2]=0;N[d+56>>2]=j*Q(r);N[d+52>>2]=i*Q(o);N[d+48>>2]=h*Q(n);g=P(J[g>>2],k)+l|0;n=O[g+8>>3];o=O[g+16>>3];h=N[e+8>>2];i=N[e+12>>2];N[d+32>>2]=N[e+4>>2]*Q(O[g>>3]);i=Q(i*Q(o));h=Q(h*Q(n));break a}f=P(L[g+4>>1],k)+l|0;n=O[f>>3];o=O[f+8>>3];r=O[f+16>>3];h=N[e+4>>2];i=N[e+8>>2];j=N[e+12>>2];J[d+76>>2]=0;N[d+72>>2]=j*Q(r);N[d+68>>2]=i*Q(o);N[d+64>>2]=h*Q(n);f=P(L[g+2>>1],k)+l|0;n=O[f>>3];o=O[f+8>>3];r=O[f+16>>3];h=N[e+4>>2];i=N[e+8>>2];j=N[e+12>>2];J[d+60>>2]=0;N[d+56>>2]=j*Q(r);N[d+52>>2]=i*Q(o);N[d+48>>2]=h*Q(n);g=P(L[g>>1],k)+l|0;n=O[g+8>>3];o=O[g+16>>3];h=N[e+8>>2];i=N[e+12>>2];N[d+32>>2]=N[e+4>>2]*Q(O[g>>3]);i=Q(i*Q(o));h=Q(h*Q(n))}J[d+44>>2]=0;N[d+40>>2]=i;N[d+36>>2]=h;e=J[a+8>>2];ua[J[J[e>>2]+8>>2]](e,d+32|0,b,c);a=J[a+4>>2];ua[J[J[a>>2]+24>>2]](a,b);sa=d+80|0}function Ua(a,b,c){var d=0,e=0,f=Q(0),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=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);j=sa-16|0;sa=j;d=J[a+844>>2];a:{if((d|0)<=0){break a}while(1){o=N[b+48>>2];r=N[b+8>>2];s=N[b>>2];t=N[b+4>>2];p=N[b+52>>2];u=N[b+24>>2];k=N[b+16>>2];v=N[b+20>>2];f=N[b+56>>2];h=N[b+40>>2];g=N[b+32>>2];q=N[b+36>>2];i=d-1|0;e=P(i,208)+a|0;J[e- -64>>2]=0;m=f;f=N[e+12>>2];l=Q(h*f);h=N[e+4>>2];w=Q(g*h);g=N[e+8>>2];q=Q(m+Q(l+Q(w+Q(q*g))));N[e+60>>2]=q;p=Q(p+Q(Q(f*u)+Q(Q(h*k)+Q(g*v))));N[e+56>>2]=p;o=Q(o+Q(Q(f*r)+Q(Q(h*s)+Q(g*t))));N[e+52>>2]=o;r=N[c+56>>2];s=N[c+40>>2];t=N[c+32>>2];u=N[c+36>>2];k=N[c+52>>2];v=N[c+24>>2];w=N[c+16>>2];x=N[c+20>>2];f=N[c+48>>2];h=N[c+8>>2];g=N[c>>2];l=N[c+4>>2];J[e+48>>2]=0;m=f;f=N[e+28>>2];y=Q(h*f);h=N[e+20>>2];z=Q(g*h);g=N[e+24>>2];l=Q(m+Q(y+Q(z+Q(l*g))));N[e+36>>2]=l;k=Q(k+Q(Q(f*v)+Q(Q(h*w)+Q(g*x))));N[e+40>>2]=k;f=Q(r+Q(Q(f*s)+Q(Q(h*t)+Q(g*u))));N[e+44>>2]=f;N[e+84>>2]=Q(Q(q-f)*N[e+76>>2])+Q(Q(Q(o-l)*N[e+68>>2])+Q(Q(p-k)*N[e+72>>2]));J[e+168>>2]=J[e+168>>2]+1;e=d>>>0>1;d=i;if(e){continue}break}b=J[a+844>>2];if((b|0)<=0){break a}while(1){c=b;b=c-1|0;d=P(b,208)+a|0;i=d+4|0;f=N[d+84>>2];h=N[a+848>>2];b:{if(!(f<=h)){e=J[d+120>>2];c:{if(!e){break c}n=J[8753];if(!n){break c}ua[n|0](e)|0;J[d+120>>2]=0}d=J[a+844>>2];if((c|0)!=(d|0)){d=P(d,208)+a|0;Ja(i,d-204|0,208);d=d-208|0;J[d+168>>2]=0;J[d+120>>2]=0;J[d+132>>2]=0;J[d+136>>2]=0;J[d+140>>2]=0;J[d+144>>2]=0;d=J[a+844>>2]}else{d=c}d=d-1|0;J[a+844>>2]=d;i=J[8756];if(d|!i){break b}J[j+8>>2]=a;ua[i|0](j+8|0);break b}g=Q(N[d+44>>2]-Q(N[d+60>>2]-Q(f*N[d+76>>2])));m=Q(g*g);g=Q(N[d+36>>2]-Q(N[d+52>>2]-Q(N[d+68>>2]*f)));f=Q(N[d+40>>2]-Q(N[d+56>>2]-Q(f*N[d+72>>2])));if(Q(m+Q(Q(g*g)+Q(f*f)))>Q(h*h)){e=J[d+120>>2];d:{if(!e){break d}n=J[8753];if(!n){break d}ua[n|0](e)|0;J[d+120>>2]=0}d=J[a+844>>2];if((c|0)!=(d|0)){d=P(d,208)+a|0;Ja(i,d-204|0,208);d=d-208|0;J[d+168>>2]=0;J[d+120>>2]=0;J[d+132>>2]=0;J[d+136>>2]=0;J[d+140>>2]=0;J[d+144>>2]=0;d=J[a+844>>2]}else{d=c}d=d-1|0;J[a+844>>2]=d;i=J[8756];if(d|!i){break b}J[j+12>>2]=a;ua[i|0](j+12|0);break b}d=J[8754];if(!d){break b}ua[d|0](i,J[a+836>>2],J[a+840>>2])|0}if(c>>>0>1){continue}break}}sa=j+16|0}function Bo(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=sa-32|0;sa=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;ua[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;ua[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;ua[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;ua[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;ua[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;ua[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;ua[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;ua[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;ua[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;ua[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;ua[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;ua[J[J[a>>2]+16>>2]](a,i,e,d);sa=e+32|0}function ge(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,x=0,y=0;k=sa-48|0;sa=k;h=J[c+8>>2];if(h){p=h;while(1){if(J[p+20>>2]>J[a+100>>2]){j=J[p+12>>2];i=J[j+92>>2];l=J[j+96>>2];h=J[c+88>>2];m=J[j+88>>2];o=J[c+92>>2];j=J[c+96>>2];J[k+44>>2]=-1;j=l-j|0;J[k+40>>2]=j;i=i-o|0;J[k+36>>2]=i;l=m-h|0;J[k+32>>2]=l;m=i;q=i>>31;i=us(i,q,J[e+8>>2],J[e+12>>2]);h=ta;o=l;r=l>>31;l=us(l,r,J[e>>2],J[e+4>>2]);i=l+i|0;h=ta+h|0;h=i>>>0>>0?h+1|0:h;s=j>>31;t=us(j,s,J[e+16>>2],J[e+20>>2]);l=t+i|0;i=ta+h|0;i=l>>>0>>0?i+1|0:i;h=us(J[f+8>>2],J[f+12>>2],m,q);q=ta;o=us(J[f>>2],J[f+4>>2],o,r);m=o+h|0;h=ta+q|0;h=m>>>0>>0?h+1|0:h;u=m;m=us(J[f+16>>2],J[f+20>>2],j,s);j=u+m|0;h=ta+h|0;h=j>>>0>>0?h+1|0:h;m=h;a:{if(!!j&(h|0)>=0|(h|0)>0){J[k+24>>2]=1;o=0;h=-1;break a}if((m|0)<0){J[k+24>>2]=-1;h=j;j=0-j|0;m=0-(((h|0)!=0)+m|0)|0;o=0;h=1;break a}J[k+24>>2]=0;j=0;m=0;o=1;h=0}J[k+8>>2]=j;J[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}J[k+24>>2]=h;i=0-(((l|0)!=0)+i|0)|0;l=0-l|0}J[m+16>>2]=l;J[k+20>>2]=i;break c}J[k+16>>2]=0;J[k+20>>2]=0;if(o){break b}}if(!n){n=J[k+12>>2];J[g>>2]=J[k+8>>2];J[g+4>>2]=n;J[g+16>>2]=J[k+24>>2];n=J[k+20>>2];J[g+8>>2]=J[k+16>>2];J[g+12>>2]=n;n=p;break b}j=lb(k+8|0,g);if((j|0)<0){n=J[k+12>>2];J[g>>2]=J[k+8>>2];J[g+4>>2]=n;J[g+16>>2]=J[k+24>>2];n=J[k+20>>2];J[g+8>>2]=J[k+16>>2];J[g+12>>2]=n;n=p;break b}if(j){break b}x=n;i=J[n+4>>2];e:{f:{if(J[n>>2]==(p|0)){h=2;if((i|0)!=(p|0)){break f}j=J[p+12>>2];i=J[J[p+8>>2]+12>>2];h=J[i+96>>2];m=J[j+96>>2]-h|0;l=J[n+12>>2];o=J[i+92>>2];q=J[l+92>>2]-o|0;o=J[j+92>>2]-o|0;h=J[l+96>>2]-h|0;r=P(m,q)-P(o,h)|0;n=r;u=r>>31;r=J[d+8>>2];s=J[k+36>>2];t=J[d+4>>2];w=J[k+40>>2];v=P(r,s)-P(t,w)|0;v=us(n,u,v,v>>31);n=ta;i=J[i+88>>2];l=J[l+88>>2]-i|0;u=P(l,o);o=J[j+88>>2]-i|0;j=u-P(o,q)|0;u=j;y=j>>31;q=J[k+32>>2];i=s;s=J[d>>2];j=P(q,t)-P(i,s)|0;t=us(u,y,j,j>>31);i=t+v|0;j=ta+n|0;j=i>>>0>>0?j+1|0:j;n=i;i=P(h,o)-P(l,m)|0;h=i;m=i>>31;i=P(s,w)-P(q,r)|0;l=us(h,m,i,i>>31);i=n+l|0;j=ta+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:x}h=J[c+8>>2]}p=J[p>>2];if((p|0)!=(h|0)){continue}break}}sa=k+48|0;return n}function Fd(a,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=Q(0),m=Q(0),n=Q(0),o=Q(0),p=0,q=0,r=Q(0),s=Q(0),t=Q(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}p=J[c+4>>2];J[a+116>>2]=J[c>>2];J[a+120>>2]=p;p=J[c+8>>2];c=J[c+12>>2];q=J[a+400>>2];J[a+156>>2]=J[a+396>>2];J[a+160>>2]=q;q=J[a+392>>2];J[a+148>>2]=J[a+388>>2];J[a+152>>2]=q;J[a+124>>2]=p;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;j=N[a+8>>2];k=N[a+12>>2];l=N[a+28>>2];m=N[a+20>>2];n=N[a+24>>2];g=N[a+44>>2];r=N[a+464>>2];h=N[a+36>>2];i=N[a+40>>2];s=N[a+460>>2];o=N[a+4>>2];t=N[a+456>>2];J[a+368>>2]=0;J[a+352>>2]=0;J[a+336>>2]=0;d=Q(r*g);e=Q(t*h);f=Q(s*i);N[a+364>>2]=Q(g*d)+Q(Q(h*e)+Q(i*f));N[a+360>>2]=Q(l*d)+Q(Q(m*e)+Q(n*f));N[a+356>>2]=Q(k*d)+Q(Q(o*e)+Q(j*f));d=Q(r*l);e=Q(t*m);f=Q(s*n);N[a+348>>2]=Q(g*d)+Q(Q(h*e)+Q(i*f));N[a+344>>2]=Q(l*d)+Q(Q(m*e)+Q(n*f));N[a+340>>2]=Q(k*d)+Q(Q(o*e)+Q(j*f));d=g;g=Q(k*r);e=h;h=Q(o*t);f=i;i=Q(j*s);N[a+332>>2]=Q(d*g)+Q(Q(e*h)+Q(f*i));N[a+328>>2]=Q(l*g)+Q(Q(m*h)+Q(i*n));N[a+324>>2]=Q(k*g)+Q(Q(o*h)+Q(j*i))}function zn(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=Q(0),i=0,j=0,k=Q(0),l=0,m=Q(0),n=0,o=0;g=sa-16|0;sa=g;J[8462]=J[8462]+1;if(J[a+4>>2]&2){d=J[b+192>>2];h=Q(ua[J[J[d>>2]+20>>2]](d,N[8265]));N[g+12>>2]=h;d=J[c+192>>2];k=Q(ua[J[J[d>>2]+20>>2]](d,N[8265]));N[g+8>>2]=k;d=h>2];m=N[c+184>>2];h=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}J[8456]=J[8456]+1;d=ua[J[8258]](868,16)|0}J[d>>2]=1025;J[d+120>>2]=0;J[d+124>>2]=0;J[d+128>>2]=0;J[d+132>>2]=0;J[d+136>>2]=0;J[d+140>>2]=0;J[d+144>>2]=0;J[d+148>>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+328>>2]=0;J[d+332>>2]=0;J[d+336>>2]=0;J[d+340>>2]=0;J[d+344>>2]=0;J[d+348>>2]=0;J[d+352>>2]=0;J[d+356>>2]=0;J[d+360>>2]=0;J[d+364>>2]=0;J[d+368>>2]=0;J[d+372>>2]=0;J[d+376>>2]=0;J[d+536>>2]=0;J[d+540>>2]=0;J[d+544>>2]=0;J[d+548>>2]=0;J[d+552>>2]=0;J[d+556>>2]=0;J[d+560>>2]=0;J[d+564>>2]=0;J[d+568>>2]=0;J[d+572>>2]=0;J[d+576>>2]=0;J[d+580>>2]=0;J[d+584>>2]=0;J[d+792>>2]=0;J[d+784>>2]=0;J[d+788>>2]=0;J[d+776>>2]=0;J[d+780>>2]=0;J[d+768>>2]=0;J[d+772>>2]=0;J[d+760>>2]=0;J[d+764>>2]=0;J[d+752>>2]=0;J[d+756>>2]=0;J[d+744>>2]=0;J[d+748>>2]=0;J[d+836>>2]=b;J[d+840>>2]=c;J[d+844>>2]=0;N[d+848>>2]=k;N[d+852>>2]=h>2];J[d+864>>2]=f;c:{if(J[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}J[8456]=J[8456]+1;b=ua[J[8258]](l<<2,16)|0;f=J[a+12>>2]}e:{if((f|0)<=0){break e}c=0;if(f>>>0>=4){o=f&-4;while(1){i=c<<2;J[i+b>>2]=J[i+J[a+20>>2]>>2];e=i|4;J[e+b>>2]=J[e+J[a+20>>2]>>2];e=i|8;J[e+b>>2]=J[e+J[a+20>>2]>>2];e=i|12;J[e+b>>2]=J[e+J[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;J[j+b>>2]=J[j+J[a+20>>2]>>2];c=c+1|0;n=n+1|0;if((e|0)!=(n|0)){continue}break}}c=J[a+20>>2];if(!(!c|!K[a+24|0])){if(c){J[8457]=J[8457]+1;ua[J[8259]](c)}f=J[a+12>>2]}J[a+20>>2]=b;H[a+24|0]=1;J[a+16>>2]=l}J[J[a+20>>2]+(f<<2)>>2]=d;J[a+12>>2]=f+1}sa=g+16|0;return d|0}function qb(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 ji(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=0,n=Q(0),o=Q(0),p=Q(0),q=Q(0),r=Q(0),s=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),K=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;J[a+36>>2]=0;m=sa-16|0;b=m+8|0;J[b>>2]=0;J[b+4>>2]=0;J[m>>2]=0;J[m+4>>2]=0;d=J[a+32>>2];e=J[a+28>>2];while(1){v=(s<<2)+m|0;J[v>>2]=1065353216;T=N[d+404>>2];U=N[e+404>>2];l=N[e+56>>2];n=N[e+20>>2];w=N[e+24>>2];x=N[e+28>>2];y=N[e+60>>2];z=N[e+44>>2];A=N[e+36>>2];B=N[e+40>>2];r=N[e+52>>2];j=N[a+308>>2];C=N[e+12>>2];f=N[a+300>>2];D=N[e+4>>2];o=N[a+304>>2];E=N[e+8>>2];g=N[d+56>>2];F=N[d+20>>2];p=N[d+24>>2];q=N[d+28>>2];h=N[d+52>>2];G=N[d+12>>2];H=N[d+4>>2];I=N[d+8>>2];K=N[d+60>>2];i=N[a+324>>2];L=N[d+44>>2];k=N[a+316>>2];M=N[d+36>>2];c=N[a+320>>2];O=N[d+40>>2];V=J[m+4>>2];b=P(s,84)+a|0;t=b+48|0;J[t>>2]=J[m>>2];J[t+4>>2]=V;t=J[m+12>>2];J[b+56>>2]=J[m+8>>2];J[b+60>>2]=t;J[b+92>>2]=0;J[b+76>>2]=0;R=Q(Q(g+Q(Q(i*q)+Q(Q(k*F)+Q(p*c))))-g);g=N[b+48>>2];S=Q(Q(h+Q(Q(i*G)+Q(Q(k*H)+Q(I*c))))-h);h=N[b+52>>2];u=Q(Q(R*g)-Q(S*h));c=Q(Q(K+Q(Q(i*L)+Q(Q(k*M)+Q(O*c))))-K);i=N[b+56>>2];k=Q(Q(c*h)-Q(R*i));c=Q(Q(S*i)-Q(c*g));q=Q(Q(L*u)+Q(Q(G*k)+Q(q*c)));N[b+88>>2]=q;p=Q(Q(O*u)+Q(Q(I*k)+Q(p*c)));N[b+84>>2]=p;k=Q(Q(M*u)+Q(Q(H*k)+Q(F*c)));N[b+80>>2]=k;r=Q(Q(r+Q(Q(j*C)+Q(Q(f*D)+Q(E*o))))-r);l=Q(Q(l+Q(Q(j*x)+Q(Q(f*n)+Q(w*o))))-l);c=Q(Q(h*r)-Q(g*l));f=Q(Q(y+Q(Q(j*z)+Q(Q(f*A)+Q(B*o))))-y);j=Q(Q(l*i)-Q(h*f));f=Q(Q(f*g)-Q(i*r));o=Q(Q(z*c)+Q(Q(C*j)+Q(x*f)));N[b+72>>2]=o;i=Q(Q(B*c)+Q(Q(E*j)+Q(w*f)));N[b+68>>2]=i;j=Q(Q(A*c)+Q(Q(D*j)+Q(n*f)));N[b- -64>>2]=j;f=N[e+464>>2];c=N[e+460>>2];g=N[e+456>>2];J[b+108>>2]=0;g=Q(j*g);N[b+96>>2]=g;c=Q(i*c);N[b+100>>2]=c;f=Q(o*f);N[b+104>>2]=f;h=N[d+464>>2];l=N[d+460>>2];n=N[d+456>>2];J[b+124>>2]=0;n=Q(k*n);N[b+112>>2]=n;l=Q(p*l);N[b+116>>2]=l;h=Q(q*h);N[b+120>>2]=h;N[b+128>>2]=Q(T+Q(U+Q(Q(f*o)+Q(Q(g*j)+Q(i*c)))))+Q(Q(h*q)+Q(Q(n*k)+Q(p*l)));J[v>>2]=0;s=s+1|0;if((s|0)!=3){continue}break}}function hl(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;N[b+16>>2]=N[a+20>>2];N[b+20>>2]=N[a+24>>2];N[b+24>>2]=N[a+28>>2];N[b+28>>2]=N[a+32>>2];N[b>>2]=N[a+4>>2];N[b+4>>2]=N[a+8>>2];N[b+8>>2]=N[a+12>>2];N[b+12>>2]=N[a+16>>2];N[b+32>>2]=N[a+36>>2];N[b+36>>2]=N[a+40>>2];N[b+40>>2]=N[a+44>>2];N[b+44>>2]=N[a+48>>2];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=ua[J[J[c>>2]+28>>2]](c,J[a+96>>2])|0;J[b+64>>2]=d;if(!d){break a}g=J[a+88>>2];h=ua[J[J[c>>2]+16>>2]](c,48,g)|0;if((g|0)>0){d=J[h+8>>2];while(1){e=J[a+96>>2]+(f<<6)|0;N[d+16>>2]=N[e+16>>2];N[d+20>>2]=N[e+20>>2];N[d+24>>2]=N[e+24>>2];N[d+28>>2]=N[e+28>>2];N[d>>2]=N[e>>2];N[d+4>>2]=N[e+4>>2];N[d+8>>2]=N[e+8>>2];N[d+12>>2]=N[e+12>>2];J[d+32>>2]=J[e+32>>2];J[d+36>>2]=J[e+36>>2];e=J[e+40>>2];J[d+44>>2]=0;J[d+40>>2]=e;d=d+48|0;f=f+1|0;if((g|0)!=(f|0)){continue}break}}ua[J[J[c>>2]+20>>2]](c,h,9036,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=ua[J[J[c>>2]+28>>2]](c,J[a+136>>2])|0;J[b+68>>2]=d;if(!d){break b}f=0;h=J[a+128>>2];i=ua[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){e=(f<<4)+g|0;J[d+12>>2]=J[e+12>>2];I[d+6>>1]=L[e+6>>1];I[d+8>>1]=L[e+8>>1];I[d+10>>1]=L[e+10>>1];I[d>>1]=L[e>>1];I[d+2>>1]=L[e+2>>1];I[d+4>>1]=L[e+4>>1];d=d+16|0;f=f+1|0;if((h|0)!=(f|0)){continue}break}}ua[J[J[c>>2]+20>>2]](c,i,9013,1497453121,g)}J[b+76>>2]=J[a+144>>2];d=J[a+152>>2];J[b+80>>2]=d;if(!d){J[b+72>>2]=0;return 8705}d=b;b=ua[J[J[c>>2]+28>>2]](c,J[a+160>>2])|0;J[d+72>>2]=b;if(b){f=0;e=J[a+152>>2];g=ua[J[J[c>>2]+16>>2]](c,20,e)|0;d:{if((e|0)<=0){a=J[a+160>>2];break d}a=J[a+160>>2];d=J[g+8>>2];while(1){b=(f<<5)+a|0;I[d+14>>1]=L[b+6>>1];I[d+16>>1]=L[b+8>>1];I[d+18>>1]=L[b+10>>1];I[d+8>>1]=L[b>>1];I[d+10>>1]=L[b+2>>1];I[d+12>>1]=L[b+4>>1];J[d>>2]=J[b+12>>2];J[d+4>>2]=J[b+16>>2];d=d+20|0;f=f+1|0;if((e|0)!=(f|0)){continue}break}}ua[J[J[c>>2]+20>>2]](c,g,8773,1497453121,a)}return 8705}function Dk(a,b){a=a|0;b=b|0;var 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=Q(0);c=sa-144|0;sa=c;if(J[a+24>>2]>0){f=c- -64|0;while(1){g=P(h,80);d=g+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=ua[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;i=N[a+88>>2];j=N[b+4>>2];k=N[a+84>>2];l=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(l*N[c>>2])/k;N[c+4>>2]=Q(j*N[c+4>>2])/i;d=J[(J[a+32>>2]+g|0)+64>>2];ua[J[J[d>>2]+24>>2]](d,c);i=N[a+84>>2];j=N[b>>2];k=N[a+88>>2];l=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(l*N[c+68>>2])/k;N[c+64>>2]=Q(j*N[c+64>>2])/i;e=J[c+20>>2];d=J[a+32>>2]+g|0;J[d>>2]=J[c+16>>2];J[d+4>>2]=e;e=J[c+28>>2];J[d+8>>2]=J[c+24>>2];J[d+12>>2]=e;e=J[c+44>>2];J[d+24>>2]=J[c+40>>2];J[d+28>>2]=e;e=J[c+36>>2];J[d+16>>2]=J[c+32>>2];J[d+20>>2]=e;e=J[c+60>>2];J[d+40>>2]=J[c+56>>2];J[d+44>>2]=e;e=J[c+52>>2];J[d+32>>2]=J[c+48>>2];J[d+36>>2]=e;e=J[f+12>>2];J[d+56>>2]=J[f+8>>2];J[d+60>>2]=e;e=J[f+4>>2];J[d+48>>2]=J[f>>2];J[d+52>>2]=e;if(J[a+72>>2]){d=J[(J[a+32>>2]+g|0)+64>>2];ua[J[J[d>>2]+8>>2]](d,c+16|0,c+128|0,c+112|0);d=J[c+140>>2];J[c+88>>2]=J[c+136>>2];J[c+92>>2]=d;d=J[c+132>>2];J[c+80>>2]=J[c+128>>2];J[c+84>>2]=d;d=J[c+124>>2];J[c+104>>2]=J[c+120>>2];J[c+108>>2]=d;d=J[c+116>>2];J[c+96>>2]=J[c+112>>2];J[c+100>>2]=d;_c(J[a+72>>2],J[(J[a+32>>2]+g|0)+76>>2],c+80|0)}h=h+1|0;if((h|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;ua[J[J[a>>2]+68>>2]](a);sa=c+144|0}function Fo(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);e=sa-32|0;sa=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+28>>2]=0;J[e+12>>2]=0;l=Q(Q(h+k)*Q(.5));h=Q(Q(h-k)*Q(.5));k=Q(l+h);N[e+24>>2]=k;m=Q(Q(g+j)*Q(.5));g=Q(Q(g-j)*Q(.5));j=Q(m+g);N[e+20>>2]=j;n=Q(Q(f+i)*Q(.5));f=Q(Q(f-i)*Q(.5));i=Q(n+f);N[e+16>>2]=i;N[e+8>>2]=k;N[e+4>>2]=j;f=Q(n-f);N[e>>2]=f;b=e+16|0;ua[J[J[a>>2]+16>>2]](a,b,e,d);N[e+24>>2]=k;N[e+20>>2]=j;N[e+16>>2]=f;J[e+28>>2]=0;J[e+12>>2]=0;N[e+8>>2]=k;g=Q(m-g);N[e+4>>2]=g;N[e>>2]=f;ua[J[J[a>>2]+16>>2]](a,b,e,d);N[e+24>>2]=k;N[e+20>>2]=g;N[e+16>>2]=f;J[e+28>>2]=0;J[e+12>>2]=0;h=Q(l-h);N[e+8>>2]=h;N[e+4>>2]=g;N[e>>2]=f;ua[J[J[a>>2]+16>>2]](a,b,e,d);N[e+24>>2]=h;N[e+20>>2]=g;N[e+16>>2]=i;J[e+28>>2]=0;J[e+12>>2]=0;N[e+8>>2]=h;N[e+4>>2]=g;N[e>>2]=f;ua[J[J[a>>2]+16>>2]](a,b,e,d);N[e+24>>2]=h;N[e+20>>2]=g;N[e+16>>2]=f;J[e+28>>2]=0;J[e+12>>2]=0;N[e+8>>2]=h;N[e+4>>2]=j;N[e>>2]=f;ua[J[J[a>>2]+16>>2]](a,b,e,d);N[e+24>>2]=h;N[e+20>>2]=j;N[e+16>>2]=f;J[e+28>>2]=0;J[e+12>>2]=0;N[e+8>>2]=k;N[e+4>>2]=j;N[e>>2]=f;ua[J[J[a>>2]+16>>2]](a,b,e,d);N[e+24>>2]=h;N[e+20>>2]=j;N[e+16>>2]=f;J[e+28>>2]=0;J[e+12>>2]=0;N[e+8>>2]=h;N[e+4>>2]=j;N[e>>2]=i;ua[J[J[a>>2]+16>>2]](a,b,e,d);N[e+24>>2]=h;N[e+20>>2]=j;N[e+16>>2]=i;J[e+28>>2]=0;J[e+12>>2]=0;N[e+8>>2]=h;N[e+4>>2]=g;N[e>>2]=i;ua[J[J[a>>2]+16>>2]](a,b,e,d);N[e+24>>2]=h;N[e+20>>2]=g;N[e+16>>2]=i;J[e+28>>2]=0;J[e+12>>2]=0;N[e+8>>2]=k;N[e+4>>2]=g;N[e>>2]=i;ua[J[J[a>>2]+16>>2]](a,b,e,d);N[e+24>>2]=k;N[e+20>>2]=g;N[e+16>>2]=f;J[e+28>>2]=0;J[e+12>>2]=0;N[e+8>>2]=k;N[e+4>>2]=g;N[e>>2]=i;ua[J[J[a>>2]+16>>2]](a,b,e,d);N[e+24>>2]=k;N[e+20>>2]=g;N[e+16>>2]=i;J[e+28>>2]=0;J[e+12>>2]=0;N[e+8>>2]=k;N[e+4>>2]=j;N[e>>2]=i;ua[J[J[a>>2]+16>>2]](a,b,e,d);N[e+24>>2]=k;N[e+20>>2]=j;N[e+16>>2]=i;J[e+28>>2]=0;J[e+12>>2]=0;N[e+8>>2]=h;N[e+4>>2]=j;N[e>>2]=i;ua[J[J[a>>2]+16>>2]](a,b,e,d);sa=e+32|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=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=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=0,I=Q(0);H=sa-16|0;sa=H;ua[J[8262]](5934);f=K[a+76|0];s=f?b:c;h=J[s+4>>2];a:{if(J[h+4>>2]-21>>>0>8){break a}i=f?c:b;if(J[J[i+4>>2]+4>>2]>19){break a}I=Q(ua[J[J[h>>2]+48>>2]](h));J[e+4>>2]=J[a+72>>2];c=sa+-64|0;sa=c;b=a+8|0;N[b+56>>2]=I;J[b+52>>2]=d;J[b+40>>2]=s;J[b+36>>2]=i;J[b+44>>2]=e;d=J[s+12>>2];t=N[d+52>>2];u=N[d+56>>2];f=J[i+12>>2];v=N[f+52>>2];w=N[f+56>>2];g=N[d+20>>2];j=N[d+36>>2];x=N[f+20>>2];y=N[f+36>>2];z=N[f+24>>2];k=N[d+24>>2];A=N[f+40>>2];l=N[d+40>>2];B=N[f+32>>2];m=N[d+32>>2];C=N[f>>2];n=N[d>>2];D=N[f+16>>2];o=N[d+16>>2];p=N[d+48>>2];E=N[f+48>>2];q=N[d+4>>2];F=N[f+4>>2];G=N[f+8>>2];r=N[d+8>>2];J[c+60>>2]=0;J[c+44>>2]=0;J[c+28>>2]=0;N[c+40>>2]=Q(A*l)+Q(Q(G*r)+Q(k*z));N[c+36>>2]=Q(y*l)+Q(Q(F*r)+Q(k*x));N[c+24>>2]=Q(A*j)+Q(Q(G*q)+Q(g*z));N[c+20>>2]=Q(y*j)+Q(Q(F*q)+Q(g*x));p=Q(-p);N[c+56>>2]=Q(Q(Q(r*p)-Q(k*t))-Q(l*u))+Q(Q(w*l)+Q(Q(E*r)+Q(k*v)));N[c+52>>2]=Q(Q(Q(q*p)-Q(g*t))-Q(j*u))+Q(Q(w*j)+Q(Q(E*q)+Q(g*v)));J[c+12>>2]=0;N[c>>2]=Q(B*m)+Q(Q(C*n)+Q(o*D));N[c+32>>2]=Q(B*l)+Q(Q(C*r)+Q(k*D));N[c+16>>2]=Q(B*j)+Q(Q(C*q)+Q(g*D));N[c+8>>2]=Q(A*m)+Q(Q(G*n)+Q(o*z));N[c+4>>2]=Q(y*m)+Q(Q(F*n)+Q(o*x));N[c+48>>2]=Q(Q(Q(n*p)-Q(o*t))-Q(m*u))+Q(Q(w*m)+Q(Q(E*n)+Q(o*v)));d=J[i+4>>2];ua[J[J[d>>2]+8>>2]](d,c,b+4|0,b+20|0);g=Q(N[e+32>>2]+I);N[b+20>>2]=g+N[b+20>>2];N[b+24>>2]=g+N[b+24>>2];N[b+28>>2]=g+N[b+28>>2];N[b+4>>2]=N[b+4>>2]-g;N[b+8>>2]=N[b+8>>2]-g;N[b+12>>2]=N[b+12>>2]-g;sa=c- -64|0;c=J[i+8>>2];d=J[a+72>>2];J[d+840>>2]=J[s+8>>2];J[d+836>>2]=c;ua[J[J[h>>2]+64>>2]](h,b,a+12|0,a+28|0);b=J[e+4>>2];if(J[b+844>>2]){d=J[b+836>>2];f=J[J[e+8>>2]+8>>2];c=(d|0)==(f|0);h=b;b=J[J[e+12>>2]+8>>2];Ua(h,(c?d:b)+4|0,(c?b:f)+4|0)}J[a+44>>2]=0;J[a+48>>2]=0}ua[J[8263]]();sa=H+16|0}function Hk(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=sa-80|0;sa=f;J[a+76>>2]=J[a+76>>2]+1;d=J[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=J[a+32>>2];m=l-1|0;n=P(m,80);c=k+n|0;if(J[c+64>>2]==(b|0)){J[a+76>>2]=J[a+76>>2]+1;e=J[a+72>>2];if(e){_b(e,J[c+76>>2]);k=J[a+32>>2];d=J[a+24>>2]}c=k+n|0;e=c+8|0;o=J[e+4>>2];J[f+8>>2]=J[e>>2];J[f+12>>2]=o;e=J[c+4>>2];J[f>>2]=J[c>>2];J[f+4>>2]=e;e=J[c+28>>2];J[j+8>>2]=J[c+24>>2];J[j+12>>2]=e;e=J[c+20>>2];J[j>>2]=J[c+16>>2];J[j+4>>2]=e;e=J[c+44>>2];J[i+8>>2]=J[c+40>>2];J[i+12>>2]=e;e=J[c+36>>2];J[i>>2]=J[c+32>>2];J[i+4>>2]=e;e=J[c+60>>2];J[h+8>>2]=J[c+56>>2];J[h+12>>2]=e;e=J[c+52>>2];J[h>>2]=J[c+48>>2];J[h+4>>2]=e;e=J[c+76>>2];J[g+8>>2]=J[c+72>>2];J[g+12>>2]=e;e=J[c+68>>2];J[g>>2]=J[c+64>>2];J[g+4>>2]=e;e=k;k=P(d,80)-80|0;d=e+k|0;e=J[d+4>>2];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+60>>2];J[c+56>>2]=J[d+56>>2];J[c+60>>2]=e;e=J[d+52>>2];J[c+48>>2]=J[d+48>>2];J[c+52>>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;d=J[f+4>>2];c=k+J[a+32>>2]|0;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;d=J[j+4>>2];J[c+16>>2]=J[j>>2];J[c+20>>2]=d;d=J[j+12>>2];J[c+24>>2]=J[j+8>>2];J[c+28>>2]=d;d=J[i+12>>2];J[c+40>>2]=J[i+8>>2];J[c+44>>2]=d;d=J[i+4>>2];J[c+32>>2]=J[i>>2];J[c+36>>2]=d;d=J[h+4>>2];J[c+48>>2]=J[h>>2];J[c+52>>2]=d;d=J[h+12>>2];J[c+56>>2]=J[h+8>>2];J[c+60>>2]=d;d=J[g+4>>2];J[c+64>>2]=J[g>>2];J[c+68>>2]=d;d=J[g+12>>2];J[c+72>>2]=J[g+8>>2];J[c+76>>2]=d;if(J[a+72>>2]){J[J[(J[a+32>>2]+n|0)+76>>2]+36>>2]=m}d=J[a+24>>2]-1|0;J[a+24>>2]=d}c=l>>>0>1;l=m;if(c){continue}break}}ua[J[J[a>>2]+68>>2]](a);sa=f+80|0}function ze(a,b,c,d,e,f){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=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),A=Q(0),B=Q(0),C=0,D=0,E=0,F=0,G=0,H=0;g=sa-32|0;sa=g;if(J[a+56>>2]>0){n=N[d+8>>2];o=N[c+8>>2];j=Q(n-o);p=N[d>>2];l=N[c>>2];k=Q(p-l);m=N[d+4>>2];i=N[c+4>>2];r=Q(m-i);s=Q(Q(1)/Q(Y(Q(Q(j*j)+Q(Q(k*k)+Q(r*r))))));u=Q(j*s);v=Q(u*j);j=Q(k*s);w=Q(j*k);k=Q(r*s);r=Q(v+Q(w+Q(r*k)));s=Q((n>o?n:o)+N[f+8>>2]);v=Q((i>2]);w=Q((l>2]);z=Q((n>2]);A=Q((i>m?m:i)+N[e+4>>2]);B=Q((l>p?p:l)+N[e>>2]);d=J[a+96>>2];n=u==Q(0)?Q(0xde0b6b000000000):Q(Q(1)/u);h=n>2];J[g>>2]=J[d>>2];J[g+4>>2]=h;h=J[d+12>>2];J[g+8>>2]=J[d+8>>2];J[g+12>>2]=h;h=J[d+28>>2];J[g+24>>2]=J[d+24>>2];J[g+28>>2]=h;h=J[d+20>>2];J[g+16>>2]=J[d+16>>2];J[g+20>>2]=h;N[g>>2]=N[g>>2]-N[f>>2];N[g+4>>2]=N[g+4>>2]-N[f+4>>2];N[g+8>>2]=N[g+8>>2]-N[f+8>>2];N[g+16>>2]=N[g+16>>2]-N[e>>2];N[g+20>>2]=N[g+20>>2]-N[e+4>>2];N[g+24>>2]=N[g+24>>2]-N[e+8>>2];h=0;a:{if(N[d+16>>2]>2]>w){break a}h=1}q=0;b:{c:{d:{e:{f:{if((N[d+24>>2]>2]?q:h)^1|N[d+4>>2]>v|N[d+20>>2]>2];l=Q(p*Q(N[G>>2]-j));i=N[c+4>>2];m=Q(o*Q(N[F>>2]-i));if(l>m){break f}i=Q(o*Q(N[D>>2]-i));j=Q(p*Q(N[H>>2]-j));if(i>j){break f}l=i>l?i:l;k=N[c+8>>2];i=Q(n*Q(N[E>>2]-k));if(l>i){break f}k=Q(n*Q(N[C>>2]-k));m=j>m?m:j;if(k>m){break f}y=J[d+32>>2];q=(y|0)==-1;h=r>(k>l?k:l)&(iQ(0);if(!h|(y|0)!=-1){break e}ua[J[J[b>>2]+8>>2]](b,J[d+36>>2],J[d+40>>2]);break d}q=J[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=J[d+32>>2];t=h+t|0;d=(h<<6)+d|0}x=x+1|0;if(J[a+56>>2]>(t|0)){continue}break}}if(J[8470]<(x|0)){J[8470]=x}sa=g+32|0}function ks(){var a=0,b=0,c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;J[8456]=J[8456]+1;b=ua[J[8258]](172,16)|0;J[b+4>>2]=1065353216;J[b+8>>2]=1065353216;J[b+48>>2]=0;H[b+36|0]=1;J[b+12>>2]=1065353216;J[b+16>>2]=0;J[b+32>>2]=0;J[b+24>>2]=0;J[b+28>>2]=0;H[b+100|0]=1;J[b>>2]=22040;J[b+96>>2]=0;H[b+120|0]=1;J[b+88>>2]=0;J[b+92>>2]=0;J[b+116>>2]=0;H[b+140|0]=1;J[b+108>>2]=0;J[b+112>>2]=0;J[b+136>>2]=0;H[b+160|0]=1;J[b+128>>2]=0;J[b+132>>2]=0;J[b+168>>2]=0;H[b+164|0]=1;J[b+148>>2]=0;J[b+152>>2]=0;J[b+156>>2]=0;H[b+165|0]=1;J[8456]=J[8456]+1;f=ua[J[8258]](32,16)|0;h=J[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=J[b+32>>2]+e|0;g=J[a+4>>2];J[c>>2]=J[a>>2];J[c+4>>2]=g;g=J[a+28>>2];J[c+24>>2]=J[a+24>>2];J[c+28>>2]=g;g=J[a+20>>2];J[c+16>>2]=J[a+16>>2];J[c+20>>2]=g;g=J[a+12>>2];J[c+8>>2]=J[a+8>>2];J[c+12>>2]=g;a=e|32;c=a+f|0;a=a+J[b+32>>2]|0;e=J[a+4>>2];J[c>>2]=J[a>>2];J[c+4>>2]=e;e=J[a+12>>2];J[c+8>>2]=J[a+8>>2];J[c+12>>2]=e;e=J[a+20>>2];J[c+16>>2]=J[a+16>>2];J[c+20>>2]=e;e=J[a+28>>2];J[c+24>>2]=J[a+24>>2];J[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+J[b+32>>2]|0;c=J[a+4>>2];J[d>>2]=J[a>>2];J[d+4>>2]=c;c=J[a+28>>2];J[d+24>>2]=J[a+24>>2];J[d+28>>2]=c;c=J[a+20>>2];J[d+16>>2]=J[a+16>>2];J[d+20>>2]=c;c=J[a+12>>2];J[d+8>>2]=J[a+8>>2];J[d+12>>2]=c}a=J[b+32>>2];if(!(a?!a|!K[b+36|0]:1)){J[8457]=J[8457]+1;ua[J[8259]](a)}J[b+32>>2]=f;H[b+36|0]=1;J[b+28>>2]=1;a=f+(J[b+24>>2]<<5)|0;J[a+24>>2]=2;J[a+28>>2]=0;J[a+16>>2]=0;J[a+20>>2]=16;J[a+8>>2]=12;J[a+12>>2]=0;J[a>>2]=0;J[a+4>>2]=0;J[b+24>>2]=J[b+24>>2]+1;c=K[b+164|0];f=J[(c?b+128|0:b+148|0)>>2];a=J[b+32>>2];J[a+24>>2]=c?2:3;J[a+4>>2]=0;d=12;J[a+8>>2]=c?12:6;J[a>>2]=(f|0)/3;b:{if(K[b+165|0]){d=16;c=J[b+88>>2];break b}c=J[b+108>>2]/3|0}J[a+20>>2]=d;J[a+16>>2]=0;J[a+12>>2]=c;return b|0}function $a(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=sa+-64|0;sa=c;b=J[a+8>>2];g=J[a+4>>2];d=c+48|0;e=c+32|0;ua[J[J[b>>2]+8>>2]](b,g+4|0,d,e);b=J[a+12>>2];f=J[b+68>>2];ua[J[J[f>>2]+16>>2]](f,J[J[a+4>>2]+188>>2],d,e,J[b+24>>2]);d=J[a+12>>2];b=J[d+24>>2];ua[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((ua[J[J[b>>2]+36>>2]](b)|0)<=0){break a}while(1){d=J[c+16>>2];b:{if((d|0)>=0){break b}if(J[c+20>>2]<0){b=J[c+24>>2];if(!(b?!b|!K[c+28|0]:1)){J[8457]=J[8457]+1;ua[J[8259]](b)}H[c+28|0]=1;J[c+20>>2]=0;J[c+24>>2]=0}e=0;b=d;f=0-b&3;if(f){while(1){J[J[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;J[d+J[c+24>>2]>>2]=0;J[(d+J[c+24>>2]|0)+4>>2]=0;J[(d+J[c+24>>2]|0)+8>>2]=0;J[(d+J[c+24>>2]|0)+12>>2]=0;b=b+4|0;if(b){continue}break}}J[c+16>>2]=0;b=J[J[a+4>>2]+344>>2];b=J[(ua[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];c:{if(!(J[d+8>>2]&J[e+4>>2])|!(J[e+8>>2]&J[d+4>>2])){break c}b=J[b+8>>2];if(b){ua[J[J[b>>2]+16>>2]](b,c+12|0)}n=J[c+16>>2];if((n|0)<=0){break c}p=J[a+4>>2];d=0;q=J[c+24>>2];while(1){f=J[(d<<2)+q>>2];o=J[f+844>>2];if((o|0)>0){i=J[f+836>>2]==(p|0)?Q(-1):Q(1);j=N[g+60>>2];k=N[g+56>>2];l=N[g+52>>2];b=0;while(1){e=f+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[g+60>>2]=j;k=Q(Q(m*Q(i*s))+k);N[g+56>>2]=k;l=Q(Q(m*Q(i*r))+l);N[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=J[J[a+4>>2]+344>>2];h=h+1|0;if((ua[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}if(a){J[8457]=J[8457]+1;ua[J[8259]](a)}}sa=c- -64|0}function Ij(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=0,j=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=0,v=Q(0),w=0;i=sa-2048|0;sa=i;a:{if((d|0)<=0){break a}if(d>>>0>=8){l=d&-8;while(1){e=f<<4;J[(e+c|0)+12>>2]=-581039253;J[((e|16)+c|0)+12>>2]=-581039253;J[((e|32)+c|0)+12>>2]=-581039253;J[((e|48)+c|0)+12>>2]=-581039253;J[((e|64)+c|0)+12>>2]=-581039253;J[((e|80)+c|0)+12>>2]=-581039253;J[((e|96)+c|0)+12>>2]=-581039253;J[((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){J[((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((ua[J[J[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(((ua[J[J[a>>2]+96>>2]](a)|0)-n|0)>127){break c}g=(ua[J[J[a>>2]+96>>2]](a)|0)-n|0;if((g|0)>0){break c}h=Q(-34028234663852886e22);g=-1;break b}e=0;j=(g|0)==1;if(!j){k=g&-2;f=0;while(1){ua[J[J[a>>2]+108>>2]](a,e,(e<<4)+i|0);o=e|1;ua[J[J[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){ua[J[J[a>>2]+108>>2]](a,e,(e<<4)+i|0)}m=N[q+8>>2];r=N[q+4>>2];s=N[q>>2];d:{if(j){e=0;g=-1;h=Q(-34028234663852886e22);break d}w=g&-2;e=0;g=-1;h=Q(-34028234663852886e22);j=0;while(1){f=(e<<4)+i|0;t=Q(Q(N[f+8>>2]*m)+Q(Q(N[f>>2]*s)+Q(r*N[f+4>>2])));f=t>h;u=e|1;k=(u<<4)+i|0;v=Q(Q(N[k+8>>2]*m)+Q(Q(N[k>>2]*s)+Q(r*N[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=Q(Q(N[f+8>>2]*m)+Q(Q(N[f>>2]*s)+Q(r*N[f+4>>2])));f=m>h;h=f?m:h;g=f?e:g}if(N[l+12>>2]>2]=J[e+8>>2];g=J[e+4>>2];J[l>>2]=J[e>>2];J[l+4>>2]=g;N[l+12>>2]=h}n=n+128|0;if((ua[J[J[a>>2]+96>>2]](a)|0)>(n|0)){continue}break}}p=p+1|0;if((p|0)!=(d|0)){continue}break}}sa=i+2048|0}function qf(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=J[a+32>>2];b=J[a+12>>2];if((l|0)>=(b|0)){break a}b:{if((b|0)<=J[a+36>>2]){d=J[a+40>>2];break b}if(b){J[8456]=J[8456]+1;d=ua[J[8258]](b<<2,16)|0;c=J[a+32>>2]}else{c=l}g=J[a+40>>2];c:{if((c|0)>0){if(c>>>0>=4){j=c&-4;while(1){e=f<<2;J[e+d>>2]=J[e+g>>2];h=e|4;J[h+d>>2]=J[g+h>>2];h=e|8;J[h+d>>2]=J[g+h>>2];e=e|12;J[e+d>>2]=J[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;J[e+d>>2]=J[e+g>>2];f=f+1|0;k=k+1|0;if((c|0)!=(k|0)){continue}break}break c}if(g){break c}J[a+40>>2]=d;J[a+36>>2]=b;H[a+44|0]=1;break b}if(g?K[a+44|0]:0){J[8457]=J[8457]+1;ua[J[8259]](g)}J[a+40>>2]=d;H[a+44|0]=1;J[a+36>>2]=b}c=l<<2;j=b<<2;Fa(c+d|0,0,j-c|0);J[a+32>>2]=b;g=J[a+52>>2];if((g|0)<(b|0)){d:{if((b|0)<=J[a+56>>2]){d=J[a+60>>2];break d}e:{if(!b){d=0;c=g;break e}J[8456]=J[8456]+1;d=ua[J[8258]](j,16)|0;c=J[a+52>>2]}e=J[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;J[h+d>>2]=J[e+h>>2];m=h|4;J[m+d>>2]=J[e+m>>2];m=h|8;J[m+d>>2]=J[e+m>>2];h=h|12;J[h+d>>2]=J[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;J[i+d>>2]=J[e+i>>2];f=f+1|0;k=k+1|0;if((c|0)!=(k|0)){continue}break}break f}if(e){break f}J[a+60>>2]=d;J[a+56>>2]=b;H[a- -64|0]=1;break d}if(e?K[a- -64|0]:0){J[8457]=J[8457]+1;ua[J[8259]](e)}J[a+60>>2]=d;H[a+64|0]=1;J[a+56>>2]=b}c=g<<2;Fa(c+d|0,0,j-c|0)}J[a+52>>2]=b;if((b|0)>0){Fa(J[a+40>>2],255,j);Fa(J[a+60>>2],255,j)}if((l|0)<=0){break a}c=J[a+60>>2];g=J[a+16>>2];d=J[a+40>>2];f=0;while(1){b=g+(f<<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=d+((J[a+12>>2]-1&(b>>>16^b))<<2)|0;J[c+(f<<2)>>2]=J[b>>2];J[b>>2]=f;f=f+1|0;if((l|0)!=(f|0)){continue}break}}}function hi(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=Q(0),k=Q(0),l=0,m=Q(0),n=Q(0),o=Q(0),p=0,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);e=J[a+28>>2];d=J[a+32>>2];c=J[b+8>>2];J[c>>2]=1065353216;p=J[b+24>>2];l=p<<2;v=l+4|0;J[c+v>>2]=1065353216;q=p<<3;w=q+8|0;J[c+w>>2]=1065353216;m=N[e+24>>2];n=N[e+28>>2];o=N[e+40>>2];g=N[a+304>>2];j=N[e+44>>2];f=N[a+308>>2];k=N[e+12>>2];r=N[e+4>>2];s=N[e+8>>2];t=N[e+20>>2];u=N[e+36>>2];i=N[a+300>>2];c=J[b+12>>2];J[c+12>>2]=0;J[c>>2]=0;o=Q(Q(j*f)+Q(Q(u*i)+Q(g*o)));N[c+4>>2]=o;m=Q(Q(n*f)+Q(Q(t*i)+Q(g*m)));N[c+8>>2]=-m;h=c+l|0;J[h+12>>2]=0;n=Q(Q(k*f)+Q(Q(r*i)+Q(s*g)));N[h+8>>2]=n;J[h+4>>2]=0;N[h>>2]=-o;c=c+q|0;J[c+8>>2]=0;J[c+12>>2]=0;N[c+4>>2]=-n;N[c>>2]=m;c=J[b+16>>2];J[c>>2]=-1082130432;J[c+v>>2]=-1082130432;J[c+w>>2]=-1082130432;k=N[d+40>>2];r=N[d+44>>2];j=N[d+24>>2];g=N[a+320>>2];s=N[d+28>>2];f=N[a+324>>2];t=N[d+12>>2];u=N[d+4>>2];x=N[d+8>>2];y=N[d+36>>2];z=N[d+20>>2];i=N[a+316>>2];c=J[b+20>>2];J[c+12>>2]=0;J[c>>2]=0;j=Q(Q(s*f)+Q(Q(z*i)+Q(g*j)));N[c+8>>2]=j;k=Q(Q(r*f)+Q(Q(y*i)+Q(g*k)));N[c+4>>2]=-k;h=c+l|0;J[h+12>>2]=0;g=Q(Q(t*f)+Q(Q(u*i)+Q(x*g)));N[h+8>>2]=-g;J[h+4>>2]=0;N[h>>2]=k;c=c+q|0;J[c+8>>2]=0;J[c+12>>2]=0;N[c+4>>2]=g;N[c>>2]=-j;c=J[b+28>>2];h=J[a+332>>2];f=Q(N[(h&1?a+336|0:b+4|0)>>2]*N[b>>2]);N[c>>2]=f*Q(Q(Q(g+N[d+52>>2])-n)-N[e+52>>2]);N[c+l>>2]=f*Q(Q(Q(j+N[d+56>>2])-m)-N[e+56>>2]);N[c+q>>2]=f*Q(Q(Q(k+N[d+60>>2])-o)-N[e+60>>2]);e=p<<1;if(h&2){d=J[b+32>>2];N[d>>2]=N[a+340>>2];N[d+l>>2]=N[a+340>>2];N[d+(e<<2)>>2]=N[a+340>>2]}f=N[a+356>>2];a:{if(!(f>Q(0))){break a}i=Q(-f);N[J[b+36>>2]>>2]=i;N[J[b+40>>2]>>2]=f;g=N[a+356>>2];if(g>Q(0)){d=p<<2;N[d+J[b+36>>2]>>2]=i;N[d+J[b+40>>2]>>2]=f;g=N[a+356>>2]}if(!(g>Q(0))){break a}e=e<<2;N[e+J[b+36>>2]>>2]=i;N[e+J[b+40>>2]>>2]=f}N[b+48>>2]=N[a+352>>2]}function Jc(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=J[a+28>>2];b=J[a+12>>2];if((l|0)>=(b|0)){break a}b:{if((b|0)<=J[a+32>>2]){d=J[a+36>>2];break b}if(b){J[8456]=J[8456]+1;d=ua[J[8258]](b<<2,16)|0;c=J[a+28>>2]}else{c=l}g=J[a+36>>2];c:{if((c|0)>0){if(c>>>0>=4){j=c&-4;while(1){e=f<<2;J[e+d>>2]=J[e+g>>2];h=e|4;J[h+d>>2]=J[g+h>>2];h=e|8;J[h+d>>2]=J[g+h>>2];e=e|12;J[e+d>>2]=J[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;J[e+d>>2]=J[e+g>>2];f=f+1|0;k=k+1|0;if((c|0)!=(k|0)){continue}break}break c}if(g){break c}J[a+36>>2]=d;J[a+32>>2]=b;H[a+40|0]=1;break b}if(g?K[a+40|0]:0){J[8457]=J[8457]+1;ua[J[8259]](g)}J[a+36>>2]=d;H[a+40|0]=1;J[a+32>>2]=b}c=l<<2;j=b<<2;Fa(c+d|0,0,j-c|0);J[a+28>>2]=b;g=J[a+48>>2];if((g|0)<(b|0)){d:{if((b|0)<=J[a+52>>2]){d=J[a+56>>2];break d}e:{if(!b){d=0;c=g;break e}J[8456]=J[8456]+1;d=ua[J[8258]](j,16)|0;c=J[a+48>>2]}e=J[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;J[h+d>>2]=J[e+h>>2];m=h|4;J[m+d>>2]=J[e+m>>2];m=h|8;J[m+d>>2]=J[e+m>>2];h=h|12;J[h+d>>2]=J[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;J[i+d>>2]=J[e+i>>2];f=f+1|0;k=k+1|0;if((c|0)!=(k|0)){continue}break}break f}if(e){break f}J[a+56>>2]=d;J[a+52>>2]=b;H[a+60|0]=1;break d}if(e?K[a+60|0]:0){J[8457]=J[8457]+1;ua[J[8259]](e)}J[a+56>>2]=d;H[a+60|0]=1;J[a+52>>2]=b}c=g<<2;Fa(c+d|0,0,j-c|0)}J[a+48>>2]=b;if((b|0)>0){Fa(J[a+36>>2],255,j);Fa(J[a+56>>2],255,j)}if((l|0)<=0){break a}c=J[a+56>>2];g=J[a+16>>2];d=J[a+36>>2];f=0;while(1){b=g+P(f,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=d+((J[a+12>>2]-1&(b>>>16^b))<<2)|0;J[c+(f<<2)>>2]=J[b>>2];J[b>>2]=f;f=f+1|0;if((l|0)!=(f|0)){continue}break}}}function Xd(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);J[e>>2]=0;J[e+4>>2]=0;J[e+32>>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;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?904:905;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 kc(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=sa-48|0;sa=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=jc(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((ua[J[J[a>>2]+16>>2]](a)|0)!=1){break e}H[a+108|0]=1}b=jc(a,d,c,10)|b;if(K[a+61|0]){break d}if((ua[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((ua[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(!jc(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))|!(Ma(N[a+28>>2])>c)){break i}H[a+60|0]=1;if(K[a+61|0]){break g}if((ua[J[J[a>>2]+16>>2]](a)|0)==1){break h}break g}if(K[a+61|0]){break g}if((ua[J[J[a>>2]+16>>2]](a)|0)!=1){break g}}H[a+108|0]=0}sa=d+48|0;return b}function rk(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=sa-80|0;sa=e;x=Q(ua[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;ua[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));ua[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}sa=e+80|0}function ac(a,b,c){var d=0,e=Q(0),f=Q(0),g=Q(0),h=0;if(!J[a>>2]){J[a>>2]=c;J[c+32>>2]=0;return}d=J[b+40>>2];if(d){f=Q(N[c>>2]+N[c+16>>2]);e=Q(N[c+8>>2]+N[c+24>>2]);g=Q(N[c+4>>2]+N[c+20>>2]);while(1){h=b+36|0;b=J[b+36>>2];b=J[h+(!(Q(Q(Q(R(Q(f-Q(N[b>>2]+N[b+16>>2]))))+Q(R(Q(g-Q(N[b+4>>2]+N[b+20>>2])))))+Q(R(Q(e-Q(N[b+8>>2]+N[b+24>>2])))))>2]+N[d+16>>2]))))+Q(R(Q(g-Q(N[d+4>>2]+N[d+20>>2])))))+Q(R(Q(e-Q(N[d+8>>2]+N[d+24>>2]))))))<<2)>>2];d=J[b+40>>2];if(d){continue}break}}h=J[b+32>>2];d=J[a+4>>2];a:{if(d){J[a+4>>2]=0;break a}J[8456]=J[8456]+1;d=ua[J[8258]](44,16)|0;J[d>>2]=0;J[d+4>>2]=0;J[d+40>>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;J[d+8>>2]=0;J[d+12>>2]=0}J[d+36>>2]=0;J[d+40>>2]=0;J[d+32>>2]=h;f=N[c>>2];e=N[b>>2];N[d>>2]=e>f?f:e;f=N[c+16>>2];e=N[b+16>>2];N[d+16>>2]=e>2];e=N[b+4>>2];N[d+4>>2]=e>f?f:e;f=N[c+20>>2];e=N[b+20>>2];N[d+20>>2]=e>2];e=N[b+8>>2];N[d+8>>2]=e>f?f:e;f=N[c+24>>2];e=N[b+24>>2];N[d+24>>2]=e>2]+40>>2]==(b|0))<<2)+h|0)+36>>2]=d;J[d+36>>2]=b;J[b+32>>2]=d;J[d+40>>2]=c;J[c+32>>2]=d;f=N[d>>2];while(1){a=d;d=h;c:{if(!(N[d>>2]<=f)|!(N[d+4>>2]<=N[a+4>>2])|(!(N[d+8>>2]<=N[a+8>>2])|!(N[d+16>>2]>=N[a+16>>2]))){break c}if(!(N[d+20>>2]>=N[a+20>>2])){break c}if(N[d+24>>2]>=N[a+24>>2]){break b}}a=J[d+36>>2];f=N[a>>2];b=J[d+40>>2];e=N[b>>2];f=e>f?f:e;N[d>>2]=f;e=N[a+16>>2];g=N[b+16>>2];N[d+16>>2]=e>g?e:g;e=N[a+4>>2];g=N[b+4>>2];N[d+4>>2]=e>2];g=N[b+20>>2];N[d+20>>2]=e>g?e:g;e=N[a+8>>2];g=N[b+8>>2];N[d+8>>2]=e>2];g=N[b+24>>2];N[d+24>>2]=e>g?e:g;h=J[d+32>>2];if(h){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 Dc(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=J[a+56>>2];a:{if(g){break a}d=J[a+52>>2];b:{if(d){J[a+52>>2]=J[d+8>>2];g=J[d>>2];break b}J[8456]=J[8456]+1;d=ua[J[8258]](12,16)|0;e=J[a+60>>2];J[d+8>>2]=0;J[d+4>>2]=e;J[8456]=J[8456]+1;g=ua[J[8258]](P(e,24),16)|0;J[d>>2]=g;J[d+8>>2]=J[a+48>>2];J[a+48>>2]=d}h=J[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;J[d+72>>2]=(h|0)>(j|0)?e:0;J[d+48>>2]=(h|0)>(i|3)?d+72|0:0;J[d+24>>2]=(h|0)>(i|2)?d+48|0:0;J[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;J[f>>2]=(h|0)>(j|0)?e:0;l=l+1|0;if((d|0)!=(l|0)){continue}break}}J[a+56>>2]=J[g>>2];J[g+16>>2]=0;J[g+20>>2]=0;J[g+8>>2]=0;J[g+12>>2]=0;J[g>>2]=0;J[g+4>>2]=0;f=J[a+56>>2];c:{if(f){break c}d=J[a+52>>2];d:{if(d){J[a+52>>2]=J[d+8>>2];f=J[d>>2];break d}J[8456]=J[8456]+1;d=ua[J[8258]](12,16)|0;e=J[a+60>>2];J[d+8>>2]=0;J[d+4>>2]=e;J[8456]=J[8456]+1;f=ua[J[8258]](P(e,24),16)|0;J[d>>2]=f;J[d+8>>2]=J[a+48>>2];J[a+48>>2]=d}k=J[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;J[d+72>>2]=(k|0)>(j|0)?e:0;J[d+48>>2]=(i|3)<(k|0)?d+72|0:0;J[d+24>>2]=(i|2)<(k|0)?d+48|0:0;J[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;J[i>>2]=(k|0)>(j|0)?e:0;l=l+1|0;if((d|0)!=(l|0)){continue}break}}J[a+56>>2]=J[f>>2];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;J[g+8>>2]=f;J[f+8>>2]=g;e=J[a+100>>2];J[g+20>>2]=e;J[f+20>>2]=e;J[g+12>>2]=c;J[f+12>>2]=b;J[g+16>>2]=0;J[f+16>>2]=0;c=J[a+116>>2];b=c+1|0;J[a+116>>2]=b;if((c|0)>=J[a+120>>2]){J[a+120>>2]=b}return g}function Xr(){var a=0,b=0,c=0,d=0,e=0,f=0,g=0,h=0;a=La(176);e=sa-32|0;sa=e;J[a>>2]=11916;b=a+4|0;J[b+16>>2]=0;J[b+8>>2]=-1;J[b+12>>2]=0;J[b>>2]=0;J[b+4>>2]=0;J[b+32>>2]=0;H[b+36|0]=1;J[b+24>>2]=0;J[b+28>>2]=0;b=a+44|0;J[b+16>>2]=0;J[b+8>>2]=-1;J[b+12>>2]=0;J[b>>2]=0;J[b+4>>2]=0;J[b+32>>2]=0;H[b+36|0]=1;J[b+24>>2]=0;J[b+28>>2]=0;J[a+168>>2]=0;c=1;H[a+172|0]=1;J[a+160>>2]=0;J[a+164>>2]=0;H[a+153|0]=0;H[a+154|0]=1;H[a+152|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[8456]=J[8456]+1;d=rf(ua[J[8258]](72,16)|0);b=J[a+160>>2];J[a+148>>2]=0;J[a+96>>2]=d;J[a+140>>2]=0;J[a+144>>2]=0;J[a+84>>2]=0;J[a+88>>2]=0;J[a+92>>2]=0;J[e+24>>2]=0;H[e+28|0]=1;J[e+16>>2]=0;J[e+20>>2]=0;a:{if((b|0)>=2){while(1){d=J[a+168>>2]+P(c,20)|0;f=J[d+12>>2];if(!(f?!f|!K[d+16|0]:1)){J[8457]=J[8457]+1;ua[J[8259]](f)}H[d+16|0]=1;J[d+12>>2]=0;J[d+4>>2]=0;J[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(J[a+164>>2]<=0){J[8456]=J[8456]+1;f=ua[J[8258]](20,16)|0;d=J[a+160>>2];b:{if((d|0)<=0){break b}while(1){g=P(c,20);xf(g+f|0,g+J[a+168>>2]|0);c=c+1|0;if((d|0)!=(c|0)){continue}break}h=J[a+160>>2];if((h|0)<=0){break b}c=0;while(1){d=J[a+168>>2]+P(c,20)|0;g=J[d+12>>2];if(!(g?!g|!K[d+16|0]:1)){J[8457]=J[8457]+1;ua[J[8259]](g)}H[d+16|0]=1;J[d+12>>2]=0;J[d+4>>2]=0;J[d+8>>2]=0;c=c+1|0;if((h|0)!=(c|0)){continue}break}}c=J[a+168>>2];if(!(c?!c|!K[a+172|0]:1)){J[8457]=J[8457]+1;ua[J[8259]](c)}J[a+168>>2]=f;H[a+172|0]=1;J[a+164>>2]=1}while(1){c=b;xf(J[a+168>>2]+P(b,20)|0,e+12|0);b=b+1|0;if(c){continue}break}}J[a+160>>2]=1;b=J[e+24>>2];if(!(b?!b|!K[e+28|0]:1)){J[8457]=J[8457]+1;ua[J[8259]](b)}sa=e+32|0;return a|0}function en(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=sa-16|0;sa=m;ua[J[8262]](4699);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=sa+-64|0;sa=b;d=J[g+192>>2];ua[J[J[d>>2]+8>>2]](d,g+4|0,b+48|0,b+32|0);c=N[8265];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];ua[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}if((J[g+220>>2]&-2)!=4){J[g+220>>2]=5}if(K[33852]){break d}d=J[a+72>>2];if(!d){break d}H[33852]=1;ua[J[J[d>>2]+44>>2]](d,5794);d=J[a+72>>2];ua[J[J[d>>2]+44>>2]](d,10341);d=J[a+72>>2];ua[J[J[d>>2]+44>>2]](d,10418);d=J[a+72>>2];ua[J[J[d>>2]+44>>2]](d,10409)}sa=b- -64|0;d=J[a+8>>2]}l=l+1|0;if((l|0)<(d|0)){continue}break}}ua[J[8263]]();sa=m+16|0}function Qm(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=sa-96|0;sa=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(ua[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);ua[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;ua[J[J[d>>2]+16>>2]](d,A,t,b);d=J[a+8>>2];B=t;t=c+48|0;ua[J[J[d>>2]+16>>2]](d,B,t,b);a=J[a+8>>2];ua[J[J[a>>2]+16>>2]](a,t,A,b);sa=c+96|0}function lf(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=Q(0);N[b+16>>2]=N[a+4>>2];N[b+20>>2]=N[a+8>>2];N[b+24>>2]=N[a+12>>2];N[b+28>>2]=N[a+16>>2];N[b+32>>2]=N[a+20>>2];N[b+36>>2]=N[a+24>>2];N[b+40>>2]=N[a+28>>2];N[b+44>>2]=N[a+32>>2];N[b+48>>2]=N[a+36>>2];N[b+52>>2]=N[a+40>>2];N[b+56>>2]=N[a+44>>2];N[b+60>>2]=N[a+48>>2];N[b- -64>>2]=N[a+52>>2];N[b+68>>2]=N[a+56>>2];N[b+72>>2]=N[a+60>>2];N[b+76>>2]=N[a- -64>>2];N[b+80>>2]=N[a+68>>2];N[b+84>>2]=N[a+72>>2];N[b+88>>2]=N[a+76>>2];N[b+92>>2]=N[a+80>>2];N[b+96>>2]=N[a+84>>2];N[b+100>>2]=N[a+88>>2];N[b+104>>2]=N[a+92>>2];N[b+108>>2]=N[a+96>>2];N[b+112>>2]=N[a+100>>2];N[b+116>>2]=N[a+104>>2];N[b+120>>2]=N[a+108>>2];N[b+124>>2]=N[a+112>>2];N[b+128>>2]=N[a+116>>2];N[b+132>>2]=N[a+120>>2];N[b+136>>2]=N[a+124>>2];N[b+140>>2]=N[a+128>>2];N[b+144>>2]=N[a+132>>2];N[b+148>>2]=N[a+136>>2];N[b+152>>2]=N[a+140>>2];N[b+156>>2]=N[a+144>>2];N[b+160>>2]=N[a+148>>2];N[b+164>>2]=N[a+152>>2];N[b+168>>2]=N[a+156>>2];N[b+172>>2]=N[a+160>>2];N[b+176>>2]=N[a+164>>2];N[b+180>>2]=N[a+168>>2];N[b+184>>2]=N[a+172>>2];N[b+188>>2]=N[a+176>>2];J[b+232>>2]=J[a+180>>2];f=N[a+184>>2];J[b>>2]=0;N[b+192>>2]=f;d=ua[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=ua[J[J[c>>2]+40>>2]](c,a)|0;e=ua[J[J[c>>2]+28>>2]](c,d)|0;J[b+12>>2]=e;if(e){ua[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 8678}function xb(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=Q(0),q=Q(0),r=Q(0),s=Q(0),t=Q(0),u=Q(0),v=0;n=sa-256|0;sa=n;a:{if(!a){break a}p=N[b+24>>2];q=N[b+20>>2];r=N[b+16>>2];s=N[b+8>>2];t=N[b+4>>2];u=N[b>>2];J[n>>2]=a;d=n;a=64;b=1;while(1){b:{c:{d:{e=b-1|0;l=e<<2;h=J[l+d>>2];e:{if(!(N[h>>2]<=r)|!(N[h+16>>2]>=u)|(!(N[h+4>>2]<=q)|!(N[h+20>>2]>=t))){break e}if(!(N[h+8>>2]<=p)|!(N[h+24>>2]>=s)){break e}if(J[h+40>>2]){if((a|0)!=(e|0)){break d}f=a?a<<1:1;if((f|0)<(b|0)){break d}if(f){J[8456]=J[8456]+1;e=ua[J[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;J[k+e>>2]=J[d+k>>2];m=k|4;J[m+e>>2]=J[d+m>>2];m=k|8;J[m+e>>2]=J[d+m>>2];k=k|12;J[k+e>>2]=J[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;J[g+e>>2]=J[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){J[8457]=J[8457]+1;ua[J[8259]](d)}break c}ua[J[J[c>>2]+12>>2]](c,h)}b=e;break b}f=a;e=d}J[e+l>>2]=J[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){J[8456]=J[8456]+1;d=ua[J[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;J[f+d>>2]=J[e+f>>2];l=f|4;J[l+d>>2]=J[e+l>>2];l=f|8;J[l+d>>2]=J[e+l>>2];f=f|12;J[f+d>>2]=J[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;J[i+d>>2]=J[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){J[8457]=J[8457]+1;ua[J[8259]](e)}}J[(b<<2)+d>>2]=J[h+40>>2];b=b+1|0}if((b|0)>0){continue}break}if(!o){break a}if(d){J[8457]=J[8457]+1;ua[J[8259]](d)}}sa=n+256|0}function Jm(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=0,m=Q(0),n=0;a=sa-624|0;sa=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]);m=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(m+Q(h+Q(f*f)));f=N[c+276>>2];if(h>2];g=N[c+272>>2];d=Sa(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]=21396;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]=13156;H[a+360|0]=0;J[a+336>>2]=953267991;e=a+12|0;J[e+12>>2]=d;J[e+8>>2]=i;J[e+4>>2]=a+28;J[e>>2]=22600;i=b+4|0;j=b+68|0;k=c+4|0;l=c+68|0;g=Q(1);c:{if(!vc(e,i,j,k,l,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=Sa(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]=21396;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]=13156;H[a+360|0]=0;J[a+336>>2]=953267991;e=a+12|0;J[e+12>>2]=n;J[e+8>>2]=d;J[e+4>>2]=a+28;J[e>>2]=22600;d:{if(!vc(e,i,j,k,l,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];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;ua[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];ua[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}sa=h+48|0}function nm(a,b,c){a=a|0;b=b|0;c=Q(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),n=Q(0),o=Q(0),p=0;f=sa-32|0;sa=f;l=N[a+64>>2];i=Q(N[a+80>>2]-l);d=N[a+68>>2];h=Q(N[a+100>>2]-d);j=Q(N[a+96>>2]-l);e=Q(N[a+84>>2]-d);g=Q(Q(i*h)-Q(j*e));k=g;o=Q(g*g);n=e;e=N[a+72>>2];g=Q(N[a+104>>2]-e);m=Q(N[a+88>>2]-e);h=Q(Q(n*g)-Q(h*m));i=Q(Q(m*j)-Q(g*i));j=Q(Q(1)/Q(Y(Q(o+Q(Q(h*h)+Q(i*i))))));g=Q(k*j);h=Q(h*j);i=Q(i*j);d=Q(Q(Q(N[b+8>>2]*g)+Q(Q(N[b>>2]*h)+Q(N[b+4>>2]*i)))-Q(Q(e*g)+Q(Q(l*h)+Q(d*i))));l=Q(-c);a:{if(!(d>=l)|!(c>=d)){break a}ua[J[J[a>>2]+104>>2]](a,0,f+16|0,f);j=N[f+16>>2];d=Q(N[f>>2]-j);m=N[f+20>>2];e=Q(N[f+4>>2]-m);c=Q(Q(d*i)-Q(h*e));k=c;o=Q(c*c);c=Q(e*g);n=N[f+24>>2];e=Q(N[f+8>>2]-n);c=Q(c-Q(i*e));d=Q(Q(e*h)-Q(g*d));e=Q(Q(1)/Q(Y(Q(o+Q(Q(c*c)+Q(d*d))))));k=Q(k*e);c=Q(c*e);d=Q(d*e);if(l>Q(Q(Q(N[b+8>>2]*k)+Q(Q(N[b>>2]*c)+Q(N[b+4>>2]*d)))-Q(Q(n*k)+Q(Q(j*c)+Q(m*d))))){break a}ua[J[J[a>>2]+104>>2]](a,1,f+16|0,f);j=N[f+16>>2];d=Q(N[f>>2]-j);m=N[f+20>>2];e=Q(N[f+4>>2]-m);c=Q(Q(d*i)-Q(h*e));k=c;o=Q(c*c);c=Q(e*g);n=N[f+24>>2];e=Q(N[f+8>>2]-n);c=Q(c-Q(i*e));d=Q(Q(e*h)-Q(g*d));e=Q(Q(1)/Q(Y(Q(o+Q(Q(c*c)+Q(d*d))))));k=Q(k*e);c=Q(c*e);d=Q(d*e);if(l>Q(Q(Q(N[b+8>>2]*k)+Q(Q(N[b>>2]*c)+Q(N[b+4>>2]*d)))-Q(Q(n*k)+Q(Q(j*c)+Q(m*d))))){break a}ua[J[J[a>>2]+104>>2]](a,2,f+16|0,f);k=l;l=N[f+16>>2];d=Q(N[f>>2]-l);e=N[f+20>>2];j=Q(N[f+4>>2]-e);c=Q(Q(d*i)-Q(h*j));n=c;m=Q(c*c);o=Q(j*g);c=i;i=N[f+24>>2];j=Q(N[f+8>>2]-i);c=Q(o-Q(c*j));g=Q(Q(j*h)-Q(g*d));h=Q(Q(1)/Q(Y(Q(m+Q(Q(c*c)+Q(g*g))))));d=Q(n*h);c=Q(c*h);g=Q(g*h);if(k>Q(Q(Q(N[b+8>>2]*d)+Q(Q(N[b>>2]*c)+Q(N[b+4>>2]*g)))-Q(Q(i*d)+Q(Q(l*c)+Q(e*g))))){break a}p=1}sa=f+32|0;return p|0}function im(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(ua[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[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;ua[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)));ua[J[J[a>>2]+16>>2]](a,b,f,e);sa=f+32|0}function kb(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=0,o=Q(0),p=Q(0);n=sa-16|0;sa=n;f=N[a+52>>2];g=N[a+56>>2];i=N[a+48>>2];h=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(h*d);i=N[c+8>>2];l=N[c>>2];m=N[c+4>>2];f=Q(Q(i*i)+Q(Q(l*l)+Q(m*m)));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];j=N[n+12>>2];g=Ma(Q(Q(g*d)*Q(.5)));k=N[n>>2];l=Q(l*f);m=Q(m*f);o=Q(i*f);p=N[n+8>>2];f=Q(Q(Q(Q(j*g)-Q(k*l))-Q(h*m))-Q(o*p));i=Q(Q(Q(l*h)+Q(Q(g*p)+Q(o*j)))-Q(m*k));d=Q(Q(Q(m*p)+Q(Q(g*k)+Q(l*j)))-Q(o*h));g=Q(Q(Q(o*k)+Q(Q(g*h)+Q(m*j)))-Q(l*p));h=Q(Q(f*f)+Q(Q(i*i)+Q(Q(d*d)+Q(g*g))));if(h>Q(1.1920928955078125e-7)){h=Q(Q(1)/Q(Y(h)));f=Q(f*h);i=Q(i*h);d=Q(d*h);g=Q(g*h);h=Q(Q(f*f)+Q(Q(i*i)+Q(Q(d*d)+Q(g*g))))}b:{if(h>Q(1.1920928955078125e-7)){J[e+12>>2]=0;J[e+44>>2]=0;J[e+28>>2]=0;j=Q(Q(2)/h);h=Q(i*j);k=Q(g*h);l=Q(d*j);m=Q(f*l);N[e+36>>2]=k+m;o=Q(d*h);j=Q(g*j);p=Q(f*j);N[e+32>>2]=o-p;N[e+24>>2]=k-m;k=Q(d*j);f=Q(f*h);N[e+16>>2]=k+f;N[e+8>>2]=o+p;N[e+4>>2]=k-f;d=Q(d*l);f=Q(g*j);N[e+40>>2]=Q(1)-Q(d+f);g=d;d=Q(i*h);N[e+20>>2]=Q(1)-Q(g+d);N[e>>2]=Q(1)-Q(f+d);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}sa=n+16|0}function Am(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=Q(0),n=0,o=0,p=0;i=sa-144|0;sa=i;ua[J[8262]](7475);g=N[b>>2];h=N[b+16>>2];m=g>2];a:{if(N[a+20>>2]<(k>m?m: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];m=g>2];if(N[a+28>>2]<(k>m?m: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];m=g>2];if(N[a+24>>2]<(k>m?m: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=Ob(i+28|0);J[e+4>>2]=1;J[e>>2]=15832;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+28>>2];J[e+88>>2]=J[b+24>>2];J[e+92>>2]=f;f=J[b+20>>2];J[e+80>>2]=J[b+16>>2];J[e+84>>2]=f;f=J[b+44>>2];J[e+104>>2]=J[b+40>>2];J[e+108>>2]=f;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+8>>2];n=J[b+12>>2];J[i+24>>2]=d;J[i+20>>2]=c;J[i+12>>2]=f;J[i+16>>2]=n;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=ua[J[J[j>>2]+8>>2]](j,b,i+4|0,0,2)|0;break b}b=ua[J[J[j>>2]+8>>2]](j,b,i+4|0,J[a+64>>2],1)|0}f=J[a+44>>2];n=J[f+8>>2];c:{if(J[n+8>>2]==J[J[a+40>>2]+8>>2]){l=f+8|0;o=2;break c}n=J[f+12>>2];l=f+12|0;o=3}p=l;l=i+4|0;J[p>>2]=l;ua[J[J[f>>2]+(o<<2)>>2]](f,c,d);ua[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]=n;ua[J[J[b>>2]>>2]](b)|0;ua[J[J[j>>2]+60>>2]](j,b);sb(e)}ua[J[8263]]();sa=i+144|0}function wd(a){var b=0,c=0,d=0,e=0,f=0,g=0,h=0;b=J[a+8>>2];c=J[a+32>>2];f=c?J[a+40>>2]:0;d=c;c=J[a+52>>2];g=c?J[a+60>>2]:0;h=c;c=J[a+72>>2];Q(ua[J[J[b>>2]+12>>2]](b,f,d,g,h,c?J[a+80>>2]:0,c,J[a+4>>2],J[a+20>>2],J[a+24>>2]));c=J[a+32>>2];a:{if((c|0)>=0){break a}if(J[a+36>>2]<0){b=J[a+40>>2];if(!(b?!b|!K[a+44|0]:1)){J[8457]=J[8457]+1;ua[J[8259]](b)}H[a+44|0]=1;J[a+36>>2]=0;J[a+40>>2]=0}b=c;d=0-b&3;if(d){while(1){J[J[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;J[c+J[a+40>>2]>>2]=0;J[(c+J[a+40>>2]|0)+4>>2]=0;J[(c+J[a+40>>2]|0)+8>>2]=0;J[(c+J[a+40>>2]|0)+12>>2]=0;b=b+4|0;if(b){continue}break}}J[a+32>>2]=0;c=J[a+52>>2];b:{if((c|0)>=0){break b}if(J[a+56>>2]<0){b=J[a+60>>2];if(!(b?!b|!K[a- -64|0]:1)){J[8457]=J[8457]+1;ua[J[8259]](b)}H[a+64|0]=1;J[a+56>>2]=0;J[a+60>>2]=0}e=0;b=c;d=0-b&3;if(d){while(1){J[J[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;J[c+J[a+60>>2]>>2]=0;J[(c+J[a+60>>2]|0)+4>>2]=0;J[(c+J[a+60>>2]|0)+8>>2]=0;J[(c+J[a+60>>2]|0)+12>>2]=0;b=b+4|0;if(b){continue}break}}J[a+52>>2]=0;c=J[a+72>>2];c:{if((c|0)>=0){break c}if(J[a+76>>2]<0){b=J[a+80>>2];if(!(b?!b|!K[a+84|0]:1)){J[8457]=J[8457]+1;ua[J[8259]](b)}H[a+84|0]=1;J[a+76>>2]=0;J[a+80>>2]=0}e=0;b=c;d=0-b&3;if(d){while(1){J[J[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;J[c+J[a+80>>2]>>2]=0;J[(c+J[a+80>>2]|0)+4>>2]=0;J[(c+J[a+80>>2]|0)+8>>2]=0;J[(c+J[a+80>>2]|0)+12>>2]=0;b=b+4|0;if(b){continue}break}}J[a+72>>2]=0}function bn(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=Q(0),j=Q(0),k=Q(0),l=Q(0),m=0;e=sa-256|0;sa=e;J[e+36>>2]=14660;f=J[b+12>>2];J[e+80>>2]=J[b+8>>2];J[e+84>>2]=f;f=J[b+4>>2];J[e+72>>2]=J[b>>2];J[e+76>>2]=f;f=J[c+12>>2];J[e+96>>2]=J[c+8>>2];J[e+100>>2]=f;f=J[c>>2];m=J[c+4>>2];J[e+108>>2]=0;J[e+112>>2]=0;J[e+116>>2]=0;J[e+120>>2]=0;J[e+128>>2]=0;J[e+132>>2]=0;J[e+124>>2]=1065353216;J[e+136>>2]=0;J[e+140>>2]=0;J[e+144>>2]=1065353216;J[e+148>>2]=0;J[e+88>>2]=f;J[e+92>>2]=m;J[e+252>>2]=d;J[e+104>>2]=1065353216;J[e+248>>2]=a;d=J[b+4>>2];J[e+152>>2]=J[b>>2];J[e+156>>2]=d;d=J[b+12>>2];J[e+160>>2]=J[b+8>>2];J[e+164>>2]=d;J[e+172>>2]=0;J[e+176>>2]=0;J[e+180>>2]=0;J[e+184>>2]=0;J[e+188>>2]=1065353216;J[e+192>>2]=0;J[e+196>>2]=0;J[e+200>>2]=0;J[e+204>>2]=0;J[e+208>>2]=1065353216;J[e+212>>2]=0;J[e+168>>2]=1065353216;d=J[c+12>>2];J[e+224>>2]=J[c+8>>2];J[e+228>>2]=d;d=J[c+4>>2];J[e+216>>2]=J[c>>2];J[e+220>>2]=d;g=Q(N[c+8>>2]-N[b+8>>2]);j=Q(N[c>>2]-N[b>>2]);h=Q(N[c+4>>2]-N[b+4>>2]);i=Q(Q(1)/Q(Y(Q(Q(g*g)+Q(Q(j*j)+Q(h*h))))));g=Q(g*i);k=g==Q(0)?Q(0xde0b6b000000000):Q(Q(1)/g);N[e+48>>2]=k;h=Q(h*i);l=h==Q(0)?Q(0xde0b6b000000000):Q(Q(1)/h);N[e+44>>2]=l;J[e- -64>>2]=k>2]=l>2]=j;J[e+56>>2]=j>2]=Q(g*Q(N[e+96>>2]-N[e+80>>2]))+Q(Q(i*Q(N[e+88>>2]-N[e+72>>2]))+Q(h*Q(N[e+92>>2]-N[e+76>>2])));a=J[a+68>>2];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;J[e>>2]=0;J[e+4>>2]=0;ua[J[J[a>>2]+24>>2]](a,b,c,e+36|0,e+16|0,e);sa=e+256|0}function Kc(a){a=a|0;var b=0;J[a>>2]=16752;if(K[a+20|0]){b=J[J[a+16>>2]+16>>2];if(b){J[8457]=J[8457]+1;ua[J[8259]](b)}b=J[a+16>>2];if(b){J[8457]=J[8457]+1;ua[J[8259]](b)}}if(K[a+12|0]){b=J[J[a+8>>2]+16>>2];if(b){J[8457]=J[8457]+1;ua[J[8259]](b)}b=J[a+8>>2];if(b){J[8457]=J[8457]+1;ua[J[8259]](b)}}b=J[a+28>>2];ua[J[J[b>>2]>>2]](b)|0;b=J[a+28>>2];if(b){J[8457]=J[8457]+1;ua[J[8259]](b)}b=J[a+32>>2];ua[J[J[b>>2]>>2]](b)|0;b=J[a+32>>2];if(b){J[8457]=J[8457]+1;ua[J[8259]](b)}b=J[a+36>>2];ua[J[J[b>>2]>>2]](b)|0;b=J[a+36>>2];if(b){J[8457]=J[8457]+1;ua[J[8259]](b)}b=J[a+40>>2];ua[J[J[b>>2]>>2]](b)|0;b=J[a+40>>2];if(b){J[8457]=J[8457]+1;ua[J[8259]](b)}b=J[a+44>>2];ua[J[J[b>>2]>>2]](b)|0;b=J[a+44>>2];if(b){J[8457]=J[8457]+1;ua[J[8259]](b)}b=J[a+48>>2];ua[J[J[b>>2]>>2]](b)|0;b=J[a+48>>2];if(b){J[8457]=J[8457]+1;ua[J[8259]](b)}b=J[a+52>>2];ua[J[J[b>>2]>>2]](b)|0;b=J[a+52>>2];if(b){J[8457]=J[8457]+1;ua[J[8259]](b)}b=J[a+56>>2];ua[J[J[b>>2]>>2]](b)|0;b=J[a+56>>2];if(b){J[8457]=J[8457]+1;ua[J[8259]](b)}b=J[a+72>>2];ua[J[J[b>>2]>>2]](b)|0;b=J[a+72>>2];if(b){J[8457]=J[8457]+1;ua[J[8259]](b)}b=J[a+76>>2];ua[J[J[b>>2]>>2]](b)|0;b=J[a+76>>2];if(b){J[8457]=J[8457]+1;ua[J[8259]](b)}b=J[a+68>>2];ua[J[J[b>>2]>>2]](b)|0;b=J[a+68>>2];if(b){J[8457]=J[8457]+1;ua[J[8259]](b)}b=J[a+84>>2];ua[J[J[b>>2]>>2]](b)|0;b=J[a+84>>2];if(b){J[8457]=J[8457]+1;ua[J[8259]](b)}b=J[a+80>>2];ua[J[J[b>>2]>>2]](b)|0;b=J[a+80>>2];if(b){J[8457]=J[8457]+1;ua[J[8259]](b)}b=J[a+24>>2];ua[J[J[b>>2]>>2]](b)|0;b=J[a+24>>2];if(b){J[8457]=J[8457]+1;ua[J[8259]](b)}return a|0}function aq(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=J[J[b>>2]+192>>2];if(J[d+4>>2]!=31){break h}f=J[b+4>>2];if(!f){break h}n=J[J[(J[d+32>>2]+P(J[f>>2],80)|0)+64>>2]+8>>2];d=J[a+136>>2];if((d|0)!=J[a+140>>2]){break a}j=d?d<<1:1;if((j|0)<=(d|0)){break a}if(j){J[8456]=J[8456]+1;g=ua[J[8258]](j<<2,16)|0;d=J[a+136>>2]}f=J[a+144>>2];if((d|0)<=0){break g}if(d>>>0>=4){m=d&-4;while(1){e=h<<2;J[e+g>>2]=J[f+e>>2];i=e|4;J[i+g>>2]=J[f+i>>2];i=e|8;J[i+g>>2]=J[f+i>>2];e=e|12;J[e+g>>2]=J[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;J[e+g>>2]=J[f+e>>2];h=h+1|0;l=l+1|0;if((d|0)!=(l|0)){continue}break}break c}n=J[d+8>>2];d=J[a+136>>2];if((d|0)!=J[a+140>>2]){break a}j=d?d<<1:1;if((j|0)<=(d|0)){break a}if(j){J[8456]=J[8456]+1;g=ua[J[8258]](j<<2,16)|0;d=J[a+136>>2]}f=J[a+144>>2];if((d|0)<=0){break f}if(d>>>0>=4){m=d&-4;while(1){e=h<<2;J[e+g>>2]=J[f+e>>2];i=e|4;J[i+g>>2]=J[f+i>>2];i=e|8;J[i+g>>2]=J[f+i>>2];e=e|12;J[e+g>>2]=J[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;J[e+g>>2]=J[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?K[a+148|0]:0){J[8457]=J[8457]+1;ua[J[8259]](f)}d=J[a+136>>2]}J[a+144>>2]=g;J[a+140>>2]=j;H[a+148|0]=1;break a}if(f?K[a+148|0]:0){J[8457]=J[8457]+1;ua[J[8259]](f)}d=J[a+136>>2]}J[a+144>>2]=g;J[a+140>>2]=j;H[a+148|0]=1}J[J[a+144>>2]+(d<<2)>>2]=n;J[a+136>>2]=J[a+136>>2]+1;return Q(Kf(a,b,c))}function Ec(a){var b=0,c=0,d=Q(0),e=0,f=Q(0),g=Q(0),h=Q(0),i=Q(0),j=Q(0),k=Q(0),l=0;e=J[a+28>>2];if((e|0)<=0){return 1}f=N[a+84>>2];g=N[a+68>>2];i=Q(f+g);h=N[a+88>>2];d=N[a+72>>2];j=Q(h+d);h=Q(d-h);f=Q(g-f);d=N[a+80>>2];k=N[a+64>>2];g=Q(d+k);d=Q(k-d);a=J[a+36>>2];a:{b:{while(1){b=a+P(c,36)|0;if(Q(N[b+32>>2]+Q(Q(j*N[b+28>>2])+Q(Q(g*N[b+20>>2])+Q(i*N[b+24>>2]))))>Q(0)){break b}c=c+1|0;if((e|0)!=(c|0)){continue}break}c=0;while(1){b=a+P(c,36)|0;if(Q(N[b+32>>2]+Q(Q(h*N[b+28>>2])+Q(Q(g*N[b+20>>2])+Q(i*N[b+24>>2]))))>Q(0)){break a}c=c+1|0;if((e|0)!=(c|0)){continue}break}c=0;while(1){b=a+P(c,36)|0;if(Q(N[b+32>>2]+Q(Q(j*N[b+28>>2])+Q(Q(g*N[b+20>>2])+Q(f*N[b+24>>2]))))>Q(0)){break a}c=c+1|0;if((e|0)!=(c|0)){continue}break}c=0;while(1){b=a+P(c,36)|0;if(Q(N[b+32>>2]+Q(Q(h*N[b+28>>2])+Q(Q(g*N[b+20>>2])+Q(f*N[b+24>>2]))))>Q(0)){break a}c=c+1|0;if((e|0)!=(c|0)){continue}break}c=0;while(1){b=a+P(c,36)|0;if(Q(N[b+32>>2]+Q(Q(j*N[b+28>>2])+Q(Q(d*N[b+20>>2])+Q(i*N[b+24>>2]))))>Q(0)){break a}c=c+1|0;if((e|0)!=(c|0)){continue}break}c=0;while(1){b=a+P(c,36)|0;if(Q(N[b+32>>2]+Q(Q(h*N[b+28>>2])+Q(Q(d*N[b+20>>2])+Q(i*N[b+24>>2]))))>Q(0)){break a}c=c+1|0;if((e|0)!=(c|0)){continue}break}c=0;while(1){b=a+P(c,36)|0;if(Q(N[b+32>>2]+Q(Q(j*N[b+28>>2])+Q(Q(d*N[b+20>>2])+Q(f*N[b+24>>2]))))>Q(0)){break a}c=c+1|0;if((e|0)!=(c|0)){continue}break}c=0;while(1){c:{b=a+P(c,36)|0;b=Q(N[b+32>>2]+Q(Q(h*N[b+28>>2])+Q(Q(d*N[b+20>>2])+Q(f*N[b+24>>2]))))>Q(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 vr(a,b,c){a=a|0;b=Q(b);c=Q(c);var d=Q(0),e=Q(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=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=0,z=Q(0);h=sa-16|0;sa=h;N[h+12>>2]=b;d=N[a+692>>2];a:{if(!(d>Q(0))){break a}e=N[a+688>>2];b=Qa(Q(N[h+12>>2]-e));b:{if(bQ(3.1415927410125732))){break b}b=Q(b+Q(-6.2831854820251465))}if(!(Q(-d)>b)&b<=d){break a}c:{if(b>Q(0)){b=Qa(Q(d+e));if(bQ(3.1415927410125732))){break c}b=Q(b+Q(-6.2831854820251465));break c}b=Qa(Q(e-d));if(bQ(3.1415927410125732))){break c}b=Q(b+Q(-6.2831854820251465))}N[h+12>>2]=b}f=J[a+32>>2];b=N[a+652>>2];d=N[a+620>>2];e=N[a+636>>2];m=Q(Q(N[f+44>>2]*b)+Q(Q(N[f+36>>2]*d)+Q(e*N[f+40>>2])));g=J[a+28>>2];n=N[g+44>>2];i=N[a+584>>2];o=N[g+36>>2];j=N[a+552>>2];k=N[a+568>>2];p=N[g+40>>2];v=Q(m*Q(Q(n*i)+Q(Q(o*j)+Q(k*p))));q=Q(Q(N[f+12>>2]*b)+Q(Q(N[f+4>>2]*d)+Q(e*N[f+8>>2])));r=N[g+12>>2];s=N[g+4>>2];t=N[g+8>>2];w=Q(q*Q(Q(r*i)+Q(Q(s*j)+Q(k*t))));u=N[g+28>>2];l=Q(u*i);i=N[g+20>>2];x=Q(i*j);j=N[g+24>>2];l=Q(l+Q(x+Q(k*j)));k=Q(Q(N[f+28>>2]*b)+Q(Q(N[f+20>>2]*d)+Q(e*N[f+24>>2])));b=N[a+588>>2];d=N[a+556>>2];e=N[a+572>>2];y=a,z=Q(Q(N[h+12>>2]-Q(Ia(Q(v+Q(w+Q(l*k))),Q(Q(m*Q(Q(n*b)+Q(Q(o*d)+Q(p*e))))+Q(Q(q*Q(Q(r*b)+Q(Q(s*d)+Q(t*e))))+Q(Q(Q(u*b)+Q(Q(i*d)+Q(j*e)))*k))))*N[a+732>>2]))/c),N[y+680>>2]=z;sa=h+16|0}function Ei(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=sa-32|0;sa=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(ua[J[J[a>>2]+12>>2]](a,i,e,c,d)),N[A+40>>2]=B;break a}A=a,B=Q(ua[J[J[a>>2]+12>>2]](a,i+16|0,e,c,d)),N[A+40>>2]=B}sa=i+32|0}function Hn(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=sa-32|0;sa=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]+(j<<4)|0;b:{if(J[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){J[8456]=J[8456]+1;i=ua[J[8258]](f<<4,16)|0}if((d|0)>0){while(1){g=h<<4;k=g+i|0;g=g+J[c+24>>2]|0;J[k>>2]=J[g>>2];J[k+4>>2]=J[g+4>>2];J[k+8>>2]=J[g+8>>2];J[k+12>>2]=J[g+12>>2];h=h+1|0;if((h|0)!=(d|0)){continue}break}}d=J[c+24>>2];if(!(d?!d|!K[c+28|0]:1)){J[8457]=J[8457]+1;ua[J[8259]](d)}J[c+24>>2]=i;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;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=J[c+24>>2];if(f){i=i&-2;f=0;while(1){g=e<<4;j=g+h|0;ua[J[J[a>>2]+12>>2]](a,J[j>>2],J[j+4>>2],b)|0;g=h+(g|16)|0;ua[J[J[a>>2]+12>>2]](a,J[g>>2],J[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;ua[J[J[a>>2]+12>>2]](a,J[e>>2],J[e+4>>2],b)|0}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){Yb(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;ua[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?!a|!K[c+28|0]:1)){J[8457]=J[8457]+1;ua[J[8259]](a)}sa=c+32|0}function ih(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=sa-16|0;sa=k;ua[J[8262]](4554);b=J[a+220>>2];ua[J[J[b>>2]+8>>2]](b,a,J[a+24>>2]);h=J[a+324>>2];if((h|0)>0){i=J[a+332>>2];j=J[a+220>>2];while(1){b=J[i+(g<<2)>>2];c=J[b+836>>2];a:{if(!c){break a}b=J[b+840>>2];if(!b|J[c+204>>2]&3|K[b+204|0]&3){break a}b=J[b+208>>2];d=J[j+16>>2];e=J[c+208>>2];f=d+(e<<3)|0;c=J[f>>2];if((c|0)!=(e|0)){while(1){c=d+(c<<3)|0;J[f>>2]=J[c>>2];e=J[c>>2];f=d+(e<<3)|0;c=J[f>>2];if((c|0)!=(e|0)){continue}break}}f=d+(b<<3)|0;c=J[f>>2];if((c|0)!=(b|0)){while(1){b=d+(c<<3)|0;J[f>>2]=J[b>>2];b=J[b>>2];f=d+(b<<3)|0;c=J[f>>2];if((b|0)!=(c|0)){continue}break}}if((b|0)==(e|0)){break a}c=d+(e<<3)|0;J[c>>2]=b;b=d+(b<<3)|0;J[b+4>>2]=J[b+4>>2]+J[c+4>>2]}g=g+1|0;if((h|0)!=(g|0)){continue}break}}h=J[a+228>>2];if((h|0)>0){i=J[a+236>>2];j=J[a+220>>2];f=0;while(1){b=J[i+(f<<2)>>2];b:{if(!K[b+20|0]){break b}c=J[b+28>>2];if(K[c+204|0]&3){break b}b=J[b+32>>2];if(K[b+204|0]&3){break b}b=J[b+208>>2];d=J[j+16>>2];e=J[c+208>>2];c=d+(e<<3)|0;g=J[c>>2];if((g|0)!=(e|0)){while(1){e=c;c=d+(g<<3)|0;J[e>>2]=J[c>>2];e=J[c>>2];c=d+(e<<3)|0;g=J[c>>2];if((g|0)!=(e|0)){continue}break}}c=d+(b<<3)|0;g=J[c>>2];if((g|0)!=(b|0)){while(1){b=d+(g<<3)|0;J[c>>2]=J[b>>2];b=J[b>>2];c=d+(b<<3)|0;g=J[c>>2];if((b|0)!=(g|0)){continue}break}}if((b|0)==(e|0)){break b}c=d+(e<<3)|0;J[c>>2]=b;b=d+(b<<3)|0;J[b+4>>2]=J[b+4>>2]+J[c+4>>2]}f=f+1|0;if((h|0)!=(f|0)){continue}break}}b=J[a+220>>2];ua[J[J[b>>2]+12>>2]](b,a);ua[J[8263]]();sa=k+16|0}function or(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?!b|!K[a+148|0]:1)){J[8457]=J[8457]+1;ua[J[8259]](b)}H[a+148|0]=1;J[a+140>>2]=0;J[a+144>>2]=0;b=0}d=b;b=c<<2;Fa(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?!b|!K[a+128|0]:1)){J[8457]=J[8457]+1;ua[J[8259]](b)}H[a+128|0]=1;J[a+120>>2]=0;J[a+124>>2]=0;b=0}d=b;b=c<<2;Fa(d+b|0,0,0-b|0)}J[a+116>>2]=0;c=J[a+24>>2];a:{if((c|0)>=0){break a}if(J[a+28>>2]<0){b=J[a+32>>2];if(!(b?!b|!K[a+36|0]:1)){J[8457]=J[8457]+1;ua[J[8259]](b)}H[a+36|0]=1;J[a+28>>2]=0;J[a+32>>2]=0}d=0;b=c;e=0-b&3;if(e){while(1){J[J[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;J[c+J[a+32>>2]>>2]=0;J[(c+J[a+32>>2]|0)+4>>2]=0;J[(c+J[a+32>>2]|0)+8>>2]=0;J[(c+J[a+32>>2]|0)+12>>2]=0;b=b+4|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?!b|!K[a+108|0]:1)){J[8457]=J[8457]+1;ua[J[8259]](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?!b|!K[a+88|0]:1)){J[8457]=J[8457]+1;ua[J[8259]](b)}H[a+88|0]=1;J[a+80>>2]=0;J[a+84>>2]=0}J[a+76>>2]=0}function Mp(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?!b|!K[a+148|0]:1)){J[8457]=J[8457]+1;ua[J[8259]](b)}H[a+148|0]=1;J[a+140>>2]=0;J[a+144>>2]=0;b=0}d=b;b=c<<2;Fa(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?!b|!K[a+128|0]:1)){J[8457]=J[8457]+1;ua[J[8259]](b)}H[a+128|0]=1;J[a+120>>2]=0;J[a+124>>2]=0;b=0}d=b;b=c<<2;Fa(d+b|0,0,0-b|0)}J[a+116>>2]=0;c=J[a+24>>2];a:{if((c|0)>=0){break a}if(J[a+28>>2]<0){b=J[a+32>>2];if(!(b?!b|!K[a+36|0]:1)){J[8457]=J[8457]+1;ua[J[8259]](b)}H[a+36|0]=1;J[a+28>>2]=0;J[a+32>>2]=0}d=0;b=c;e=0-b&3;if(e){while(1){J[J[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;J[c+J[a+32>>2]>>2]=0;J[(c+J[a+32>>2]|0)+4>>2]=0;J[(c+J[a+32>>2]|0)+8>>2]=0;J[(c+J[a+32>>2]|0)+12>>2]=0;b=b+4|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?!b|!K[a+108|0]:1)){J[8457]=J[8457]+1;ua[J[8259]](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?!b|!K[a+88|0]:1)){J[8457]=J[8457]+1;ua[J[8259]](b)}H[a+88|0]=1;J[a+80>>2]=0;J[a+84>>2]=0}J[a+76>>2]=0}function gj(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 eh(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=sa-16|0;sa=n;ua[J[8262]](5587);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=md(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=md(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}pb(c,b,c+68|0);l=J[a+248>>2]}m=m+1|0;if((m|0)<(l|0)){continue}break}}ua[J[8263]]();sa=n+16|0}function Jn(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[8459]=J[8459]+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}ua[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){ua[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 md(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=(e<<1)+16777216>>>0<16777217;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((c<<1)+16777216>>>0<16777217){h=Q(a*a);if((c|0)<0){h=(ld(e)|0)==1?Q(-h):h}if((e|0)>=0){break a}c=sa-16|0;N[c+12>>2]=Q(1)/h;return N[c+12>>2]}if((c|0)<0){e=ld(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+29592>>3]+-1;i=d*d;d=((O[3731]*d+O[3732])*(i*i)+((O[3733]*d+O[3734])*i+(O[3735]*d+(O[f+29600>>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){c=sa-16|0;N[c+12>>2]=g?Q(-15845632502852868e13):Q(15845632502852868e13);return Q(N[c+12>>2]*Q(15845632502852868e13))}if(!(d<=-150)){break e}c=sa-16|0;N[c+12>>2]=g?Q(-2524354896707238e-44):Q(2524354896707238e-44);return Q(N[c+12>>2]*Q(2524354896707238e-44))}i=O[3690];j=i+d;d=d-(j-i);d=(O[3691]*d+O[3692])*(d*d)+(O[3693]*d+1);A(+j);v(1)|0;f=v(0)|0;c=g+f|0;g=((f&31)<<3)+29264|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 rb(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);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;a:{h=Q(Y(Q(Q(j*j)+Q(Q(i*i)+Q(h*h)))));if(!(h>Q(9999999747378752e-20))){break a}g=f+16|0;b:{if(tc(f,b,c,g)){break b}if(tc(f,c,d,g)){break b}if(tc(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){return f}p=3;if(!(N[g>>2]>=Q(-9999999747378752e-21))){break a}return f}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}function is(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;J[8456]=J[8456]+1;e=ua[J[8258]](84,16)|0;d=sa-48|0;sa=d;J[e+12>>2]=0;J[e+16>>2]=0;J[e+4>>2]=35;J[e+8>>2]=0;J[e+20>>2]=0;J[e>>2]=20152;J[e+56>>2]=a;J[e>>2]=22140;J[e+4>>2]=21;a:{if(ua[J[J[a>>2]+40>>2]](a)|0){ua[J[J[a>>2]+48>>2]](a,e+24|0,e+40|0);break a}J[d+44>>2]=0;J[d+36>>2]=0;J[d+40>>2]=0;J[d+32>>2]=1065353216;g=d+16|0;a=d+32|0;ua[J[J[e>>2]+68>>2]](g,e,a);N[e+40>>2]=N[d+16>>2]+N[e+20>>2];J[d+32>>2]=-1082130432;ua[J[J[e>>2]+68>>2]](d,e,a);f=J[d+12>>2];J[d+24>>2]=J[d+8>>2];J[d+28>>2]=f;f=J[d+4>>2];J[d+16>>2]=J[d>>2];J[d+20>>2]=f;N[e+24>>2]=N[d+16>>2]-N[e+20>>2];J[d+40>>2]=0;J[d+44>>2]=0;J[d+32>>2]=0;J[d+36>>2]=0;J[d+36>>2]=1065353216;ua[J[J[e>>2]+68>>2]](g,e,a);N[e+44>>2]=N[d+20>>2]+N[e+20>>2];J[d+36>>2]=-1082130432;ua[J[J[e>>2]+68>>2]](d,e,a);f=J[d+12>>2];J[d+24>>2]=J[d+8>>2];J[d+28>>2]=f;f=J[d+4>>2];J[d+16>>2]=J[d>>2];J[d+20>>2]=f;N[e+28>>2]=N[d+20>>2]-N[e+20>>2];J[d+40>>2]=0;J[d+44>>2]=0;J[d+40>>2]=1065353216;J[d+32>>2]=0;J[d+36>>2]=0;ua[J[J[e>>2]+68>>2]](g,e,a);N[e+48>>2]=N[d+24>>2]+N[e+20>>2];J[d+40>>2]=-1082130432;ua[J[J[e>>2]+68>>2]](d,e,a);a=J[d+12>>2];J[d+24>>2]=J[d+8>>2];J[d+28>>2]=a;a=J[d+4>>2];J[d+16>>2]=J[d>>2];J[d+20>>2]=a;N[e+32>>2]=N[d+24>>2]-N[e+20>>2]}sa=d+48|0;H[e+69|0]=0;H[e+68|0]=b;J[e+60>>2]=0;J[e+64>>2]=0;J[e>>2]=18524;J[e+4>>2]=21;if(c){J[8456]=J[8456]+1;a=le(ua[J[8258]](172,16)|0);J[e+60>>2]=a;ke(a,J[e+56>>2],K[e+68|0],e+24|0,e+40|0);H[e+69|0]=1}return e|0}function Mh(a,b,c){a=a|0;b=b|0;c=c|0;lf(a,b,c);N[b+264>>2]=N[a+324>>2];N[b+268>>2]=N[a+328>>2];N[b+272>>2]=N[a+332>>2];N[b+276>>2]=N[a+336>>2];N[b+280>>2]=N[a+340>>2];N[b+284>>2]=N[a+344>>2];N[b+288>>2]=N[a+348>>2];N[b+292>>2]=N[a+352>>2];N[b+296>>2]=N[a+356>>2];N[b+300>>2]=N[a+360>>2];N[b+304>>2]=N[a+364>>2];N[b+308>>2]=N[a+368>>2];N[b+312>>2]=N[a+372>>2];N[b+316>>2]=N[a+376>>2];N[b+320>>2]=N[a+380>>2];N[b+324>>2]=N[a+384>>2];N[b+328>>2]=N[a+388>>2];N[b+332>>2]=N[a+392>>2];N[b+336>>2]=N[a+396>>2];N[b+340>>2]=N[a+400>>2];N[b+456>>2]=N[a+404>>2];N[b+344>>2]=N[a+604>>2];N[b+348>>2]=N[a+608>>2];N[b+352>>2]=N[a+612>>2];N[b+356>>2]=N[a+616>>2];N[b+360>>2]=N[a+408>>2];N[b+364>>2]=N[a+412>>2];N[b+368>>2]=N[a+416>>2];N[b+372>>2]=N[a+420>>2];N[b+376>>2]=N[a+424>>2];N[b+380>>2]=N[a+428>>2];N[b+384>>2]=N[a+432>>2];N[b+388>>2]=N[a+436>>2];N[b+392>>2]=N[a+440>>2];N[b+396>>2]=N[a+444>>2];N[b+400>>2]=N[a+448>>2];N[b+404>>2]=N[a+452>>2];N[b+408>>2]=N[a+456>>2];N[b+412>>2]=N[a+460>>2];N[b+416>>2]=N[a+464>>2];N[b+420>>2]=N[a+468>>2];N[b+424>>2]=N[a+472>>2];N[b+428>>2]=N[a+476>>2];N[b+432>>2]=N[a+480>>2];N[b+436>>2]=N[a+484>>2];N[b+440>>2]=N[a+488>>2];N[b+444>>2]=N[a+492>>2];N[b+448>>2]=N[a+496>>2];N[b+452>>2]=N[a+500>>2];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 8570}function Eo(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=sa-48|0;sa=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;ua[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;ua[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;ua[J[J[a>>2]+16>>2]](a,e,o,d);sa=d+48|0}function yc(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(K[a+164|0]){m=a+128|0;c=J[m>>2];if((c|0)!=J[a+132>>2]){break b}i=c?c<<1:1;if((i|0)<=(c|0)){break b}if(i){J[8456]=J[8456]+1;h=ua[J[8258]](i<<2,16)|0;c=J[a+128>>2]}d=J[a+136>>2];if((c|0)<=0){break e}if(c>>>0>=4){k=c&-4;while(1){f=e<<2;J[f+h>>2]=J[d+f>>2];j=f|4;J[j+h>>2]=J[d+j>>2];j=f|8;J[j+h>>2]=J[d+j>>2];f=f|12;J[f+h>>2]=J[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;J[f+h>>2]=J[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=J[m>>2];f:{if((g|0)!=J[a+152>>2]){break f}f=g?g<<1:1;if((f|0)<=(g|0)){break f}if(f){J[8456]=J[8456]+1;h=ua[J[8258]](f<<1,16)|0;g=J[a+148>>2]}c=J[a+156>>2];g:{h:{if((g|0)>0){if(g>>>0>=4){i=g&-4;while(1){d=e<<1;I[d+h>>1]=L[c+d>>1];k=d|2;I[k+h>>1]=L[c+k>>1];k=d|4;I[k+h>>1]=L[c+k>>1];d=d|6;I[d+h>>1]=L[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;I[i+h>>1]=L[c+i>>1];e=e+1|0;l=l+1|0;if((d|0)!=(l|0)){continue}break}}if(K[a+160|0]){break h}break g}if(!c|!K[a+160|0]){break g}}if(c){J[8457]=J[8457]+1;ua[J[8259]](c)}g=J[a+148>>2]}J[a+156>>2]=h;J[a+152>>2]=f;H[a+160|0]=1}e=J[a+156>>2];I[e+(g<<1)>>1]=b;break a}if(!d){break c}}if(d?K[a+140|0]:0){J[8457]=J[8457]+1;ua[J[8259]](d)}c=J[a+128>>2]}J[a+136>>2]=h;J[a+132>>2]=i;H[a+140|0]=1}e=J[a+136>>2];J[e+(c<<2)>>2]=b;g=J[a+128>>2]}J[m>>2]=g+1;J[J[a+32>>2]+4>>2]=e}function $h(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[8760]=J[8760]+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 $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;ua[J[J[b>>2]+32>>2]](b);d=ua[J[J[b>>2]+16>>2]](b,104,1)|0;c=Fa(J[d+8>>2],0,104);N[c+88>>2]=N[a+264>>2];N[c+92>>2]=N[a+268>>2];N[c+96>>2]=N[a+272>>2];N[c+100>>2]=N[a+276>>2];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];e=J[a+144>>2];J[c+84>>2]=0;J[c+80>>2]=e;ua[J[J[b>>2]+20>>2]](b,d,8729,1145853764,c);ff(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=(g=b,h=ua[J[J[d>>2]+16>>2]](d)|0,i=1,f=J[J[b>>2]+16>>2],ua[f](g|0,h|0,i|0)|0);i=b,h=e,g=ua[J[J[d>>2]+20>>2]](d,J[e+8>>2],b)|0,j=1497645650,k=d,f=J[J[b>>2]+20>>2],ua[f](i|0,h|0,g|0,j|0,k|0);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=(k=b,j=ua[J[J[d>>2]+36>>2]](d)|0,g=1,f=J[J[b>>2]+16>>2],ua[f](k|0,j|0,g|0)|0);g=b,j=e,k=ua[J[J[d>>2]+40>>2]](d,J[e+8>>2],b)|0,h=1397641027,i=d,f=J[J[b>>2]+20>>2],ua[f](g|0,j|0,k|0,h|0,i|0);c=c+1|0;if((c|0)>2]){continue}break}}ua[J[J[b>>2]+36>>2]](b)}function Jj(a,b,c){a=a|0;b=b|0;c=c|0;var d=Q(0),e=0,f=0,g=0,h=0,i=Q(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=0;g=sa-2048|0;sa=g;J[a>>2]=0;J[a+4>>2]=0;J[a+8>>2]=0;J[a+12>>2]=0;d=N[c+8>>2];i=N[c>>2];l=N[c+4>>2];j=Q(Q(d*d)+Q(Q(i*i)+Q(l*l)));if(j>2]+96>>2]](b)|0)>0){l=Q(-0xde0b6b000000000);while(1){e=128;a:{b:{if(((ua[J[J[b>>2]+96>>2]](b)|0)-o|0)>127){break b}e=(ua[J[J[b>>2]+96>>2]](b)|0)-o|0;if((e|0)>0){break b}d=Q(-34028234663852886e22);f=-1;break a}c=0;h=(e|0)==1;if(!h){k=e&-2;f=0;while(1){ua[J[J[b>>2]+108>>2]](b,c,(c<<4)+g|0);n=c|1;ua[J[J[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){ua[J[J[b>>2]+108>>2]](b,c,(c<<4)+g|0)}c:{if(h){c=0;f=-1;d=Q(-34028234663852886e22);break c}s=e&-2;c=0;f=-1;d=Q(-34028234663852886e22);e=0;while(1){h=(c<<4)+g|0;j=Q(Q(N[h+8>>2]*m)+Q(Q(N[h>>2]*i)+Q(p*N[h+4>>2])));h=j>d;q=c|1;k=(q<<4)+g|0;r=Q(Q(N[k+8>>2]*m)+Q(Q(N[k>>2]*i)+Q(p*N[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=Q(Q(N[e+8>>2]*m)+Q(Q(N[e>>2]*i)+Q(p*N[e+4>>2])));e=j>d;d=e?j:d;f=e?c:f}if(d>l){c=(f<<4)+g|0;e=J[c+12>>2];J[a+8>>2]=J[c+8>>2];J[a+12>>2]=e;e=J[c+4>>2];J[a>>2]=J[c>>2];J[a+4>>2]=e;l=d}o=o+128|0;if((ua[J[J[b>>2]+96>>2]](b)|0)>(o|0)){continue}break}}sa=g+2048|0}function de(a,b,c,d){var e=Q(0),f=0,g=0,h=0,i=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=0,u=Q(0),v=Q(0),w=Q(0);i=sa-32|0;sa=i;while(1){r=c;h=J[a+12>>2]+P((c+d|0)/2|0,24)|0;s=J[h+20>>2];m=N[h+16>>2];u=N[h+8>>2];v=N[h+4>>2];w=N[h>>2];h=d;while(1){n=N[b+8>>2];k=Q(u-n);e=Q(k*k);o=N[b>>2];k=Q(w-o);l=Q(k*k);p=N[b+4>>2];k=Q(v-p);k=Q(e+Q(l+Q(k*k)));j=J[a+12>>2];while(1){a:{f=P(c,24)+j|0;e=N[f+16>>2];b:{if(e!=m){if(e>2]-n);l=Q(e*e);e=Q(N[f>>2]-o);q=Q(e*e);e=Q(N[f+4>>2]-p);e=Q(l+Q(q+Q(e*e)));if(((e!=k?e>2]<(s|0))|0)!=1){break a}}c=c+1|0;continue}break}while(1){c:{t=P(h,24);g=t+j|0;e=N[g+16>>2];d:{if(e!=m){if(e>m){break d}break c}e=Q(N[g+8>>2]-n);l=Q(e*e);e=Q(N[g>>2]-o);q=Q(e*e);e=Q(N[g+4>>2]-p);e=Q(l+Q(q+Q(e*e)));if(((e!=k?e>k:J[g+20>>2]>(s|0))|0)!=1){break c}}h=h-1|0;continue}break}if((c|0)<=(h|0)){j=J[f+20>>2];J[i+24>>2]=J[f+16>>2];J[i+28>>2]=j;j=J[f+12>>2];J[i+16>>2]=J[f+8>>2];J[i+20>>2]=j;j=J[f+4>>2];J[i+8>>2]=J[f>>2];J[i+12>>2]=j;j=J[g+4>>2];J[f>>2]=J[g>>2];J[f+4>>2]=j;j=J[g+12>>2];J[f+8>>2]=J[g+8>>2];J[f+12>>2]=j;j=J[g+20>>2];J[f+16>>2]=J[g+16>>2];J[f+20>>2]=j;g=J[i+12>>2];f=J[a+12>>2]+t|0;J[f>>2]=J[i+8>>2];J[f+4>>2]=g;g=J[i+28>>2];J[f+16>>2]=J[i+24>>2];J[f+20>>2]=g;g=J[i+20>>2];J[f+8>>2]=J[i+16>>2];J[f+12>>2]=g;h=h-1|0;c=c+1|0}if((c|0)<=(h|0)){continue}break}if((h|0)>(r|0)){de(a,b,r,h)}if((c|0)<(d|0)){continue}break}sa=i+32|0}function Wm(a,b){a=a|0;b=b|0;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=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),z=0,A=Q(0),B=Q(0),C=Q(0),D=0;c=sa-128|0;sa=c;m=J[b+36>>2];b=J[J[a+24>>2]+32>>2]+P(m,80)|0;z=J[b+64>>2];n=N[b+32>>2];o=N[b>>2];p=N[b+16>>2];q=N[b+56>>2];r=N[b+52>>2];s=N[b+48>>2];t=N[b+36>>2];u=N[b+20>>2];v=N[b+4>>2];w=N[b+40>>2];x=N[b+24>>2];y=N[b+8>>2];b=J[a+28>>2];A=N[b+52>>2];B=N[b+56>>2];d=N[b+24>>2];e=N[b+20>>2];f=N[b+40>>2];g=N[b+36>>2];C=N[b+48>>2];h=N[b+8>>2];i=N[b>>2];j=N[b+4>>2];k=N[b+16>>2];l=N[b+32>>2];J[c+124>>2]=0;J[c+108>>2]=0;J[c+92>>2]=0;N[c+104>>2]=Q(w*f)+Q(Q(y*l)+Q(x*g));N[c+100>>2]=Q(t*f)+Q(Q(v*l)+Q(u*g));N[c+88>>2]=Q(w*d)+Q(Q(y*k)+Q(x*e));N[c+84>>2]=Q(t*d)+Q(Q(v*k)+Q(u*e));N[c+120>>2]=B+Q(Q(q*f)+Q(Q(s*l)+Q(r*g)));N[c+116>>2]=A+Q(Q(q*d)+Q(Q(s*k)+Q(r*e)));J[c+76>>2]=0;N[c+72>>2]=Q(w*h)+Q(Q(y*i)+Q(x*j));N[c+68>>2]=Q(t*h)+Q(Q(v*i)+Q(u*j));N[c+64>>2]=Q(n*h)+Q(Q(o*i)+Q(p*j));N[c+112>>2]=C+Q(Q(q*h)+Q(Q(s*i)+Q(r*j)));N[c+96>>2]=Q(n*f)+Q(Q(o*l)+Q(p*g));N[c+80>>2]=Q(n*d)+Q(Q(o*k)+Q(p*e));b=J[a+32>>2];J[c+48>>2]=0;J[c+40>>2]=1;J[c+44>>2]=-1;J[c+60>>2]=m;J[c+56>>2]=b;J[c+52>>2]=z;J[c+32>>2]=14400;N[c+36>>2]=N[b+4>>2];b=J[a+4>>2];D=J[b+8>>2];J[c+28>>2]=m;J[c+24>>2]=-1;J[c+16>>2]=D;J[c+12>>2]=z;J[c+8>>2]=b;J[c+20>>2]=c- -64;Tc(J[a+8>>2],J[a+12>>2],J[a+16>>2],c+8|0,c+32|0,N[a+20>>2]);sa=c+128|0}function Te(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=sa-32|0;sa=h;e=J[a+52>>2];n=K[a+68|0];l=n?c:b;m=J[l+4>>2];f=J[m+24>>2];a:{if((e|0)>=(f|0)){break a}if(J[a+56>>2]<(f|0)){if(f){J[8456]=J[8456]+1;i=ua[J[8258]](f<<2,16)|0;d=J[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;J[g+i>>2]=J[g+J[a+60>>2]>>2];k=g|4;J[k+i>>2]=J[k+J[a+60>>2]>>2];k=g|8;J[k+i>>2]=J[k+J[a+60>>2]>>2];g=g|12;J[g+i>>2]=J[g+J[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;J[g+i>>2]=J[g+J[a+60>>2]>>2];j=j+1|0;p=p+1|0;if((d|0)!=(p|0)){continue}break}}d=J[a+60>>2];if(!(d?!d|!K[a- -64|0]:1)){J[8457]=J[8457]+1;ua[J[8259]](d)}J[a+60>>2]=i;H[a+64|0]=1;J[a+56>>2]=f}d=(e^-1)+f|0;i=f-e&3;if(i){j=0;while(1){J[J[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;J[d+J[a+60>>2]>>2]=0;J[(d+J[a+60>>2]|0)+4>>2]=0;J[(d+J[a+60>>2]|0)+8>>2]=0;J[(d+J[a+60>>2]|0)+12>>2]=0;e=e+4|0;if((f|0)!=(e|0)){continue}break}}J[a+52>>2]=f;if((f|0)>0){b=n?b:c;e=0;while(1){c:{if(J[m+72>>2]){J[J[a+60>>2]+(e<<2)>>2]=0;break c}c=J[l+12>>2];d=J[l+8>>2];J[h+12>>2]=J[(J[m+32>>2]+P(e,80)|0)+64>>2];J[h+28>>2]=e;J[h+24>>2]=-1;J[h+16>>2]=d;J[h+20>>2]=c;J[h+8>>2]=l;c=J[a+4>>2];c=ua[J[J[c>>2]+8>>2]](c,h+8|0,b,J[a+72>>2],1)|0;J[J[a+60>>2]+(e<<2)>>2]=c}e=e+1|0;if((f|0)!=(e|0)){continue}break}}sa=h+32|0}function Gn(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[8460]=J[8460]+1;d=J[a+24>>2];a:{b:{if(d){if(ua[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}}e=J[b+12>>2]>J[c+12>>2];j=e?b:c;g=J[j+12>>2];k=e?c:b;h=J[k+12>>2];b=g<<16|h;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;c=a;b=J[c+12>>2];l=m&b-1;a=J[J[c+40>>2]+(l<<2)>>2];c:{if((a|0)!=-1){i=J[c+60>>2];d=J[c+16>>2];while(1){f=a<<4;e=f+d|0;if((h|0)==J[J[e>>2]+12>>2]&(g|0)==J[J[(d+f|0)+4>>2]+12>>2]){break c}a=J[i+(a<<2)>>2];if((a|0)!=-1){continue}break}}h=J[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}J[8456]=J[8456]+1;e=ua[J[8258]](d<<4,16)|0;a=J[c+8>>2]}g=a;if((g|0)>0){a=0;while(1){f=a<<4;i=f+e|0;f=f+J[c+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];a=a+1|0;if((g|0)!=(a|0)){continue}break}}a=J[c+16>>2];if(!(a?!a|!K[c+20|0]:1)){J[8457]=J[8457]+1;ua[J[8259]](a)}J[c+16>>2]=e;H[c+20|0]=1;J[c+12>>2]=d;e=J[c+8>>2];a=d}J[c+8>>2]=e+1;g=J[c+16>>2];e=g+(h<<4)|0;d=J[c+68>>2];if(d){ua[J[J[d>>2]+8>>2]](d,k,j)|0;a=J[c+12>>2]}if((a|0)>(b|0)){qf(c);l=J[c+12>>2]-1&m}b=J[k+12>>2]>2];J[e>>2]=b?k:j;a=g+(h<<4)|0;J[a+8>>2]=0;J[a+12>>2]=0;J[a+4>>2]=b?j:k;a=J[c+40>>2]+(l<<2)|0;J[J[c+60>>2]+(h<<2)>>2]=J[a>>2];J[a>>2]=h}}return e|0}function bi(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 os(){var a=0,b=0,c=0,d=0,e=0,f=0;J[8456]=J[8456]+1;d=Fa(ua[J[8258]](100,16)|0,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]=19276;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;J[8456]=J[8456]+1;a=ua[J[8258]](40,16)|0;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;J[d+72>>2]=a;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?!a|!K[d+36|0]:1)){J[8457]=J[8457]+1;ua[J[8259]](a)}J[d+32>>2]=0;H[d+36|0]=1;J[d+28>>2]=0}J[d>>2]=31040;return d|0}function Sc(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 Gb(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=0,k=0,l=0;k=b,l=ua[J[J[c>>2]+28>>2]](c,J[a+28>>2])|0,J[k>>2]=l;k=b,l=ua[J[J[c>>2]+28>>2]](c,J[a+32>>2])|0,J[k+4>>2]=l;d=ua[J[J[c>>2]+40>>2]](c,a)|0;f=ua[J[J[c>>2]+28>>2]](c,d)|0;J[b+8>>2]=f;if(f){ua[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];i=N[a+40>>2];c=0;J[b+36>>2]=0;N[b+32>>2]=i;d=J[a+28>>2];e=J[d+548>>2];a:{if((e|0)<=0){break a}f=J[d+556>>2];if(e>>>0>=4){h=e&-4;d=0;while(1){g=c<<2;if(J[g+f>>2]==(a|0)){J[b+36>>2]=1}if(J[f+(g|4)>>2]==(a|0)){J[b+36>>2]=1}if(J[f+(g|8)>>2]==(a|0)){J[b+36>>2]=1}if(J[f+(g|12)>>2]==(a|0)){J[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(J[f+(c<<2)>>2]==(a|0)){J[b+36>>2]=1}c=c+1|0;d=d+1|0;if((e|0)!=(d|0)){continue}break}}c=J[a+32>>2];e=J[c+548>>2];b:{if((e|0)<=0){break b}f=J[c+556>>2];d=0;c=0;if(e>>>0>=4){j=e&-4;h=0;while(1){g=c<<2;if(J[g+f>>2]==(a|0)){J[b+36>>2]=1}if(J[f+(g|4)>>2]==(a|0)){J[b+36>>2]=1}if(J[f+(g|8)>>2]==(a|0)){J[b+36>>2]=1}if(J[f+(g|12)>>2]==(a|0)){J[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(J[f+(c<<2)>>2]==(a|0)){J[b+36>>2]=1}c=c+1|0;d=d+1|0;if((e|0)!=(d|0)){continue}break}}return 8651}function Ym(a,b){a=a|0;b=b|0;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=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),z=0,A=Q(0),B=Q(0),C=Q(0);c=sa-128|0;sa=c;m=J[b+36>>2];b=J[J[a+8>>2]+32>>2]+P(m,80)|0;z=J[b+64>>2];n=N[b+32>>2];o=N[b>>2];p=N[b+16>>2];q=N[b+56>>2];r=N[b+52>>2];s=N[b+48>>2];t=N[b+36>>2];u=N[b+20>>2];v=N[b+4>>2];w=N[b+40>>2];x=N[b+24>>2];y=N[b+8>>2];b=J[a+12>>2];A=N[b+52>>2];B=N[b+56>>2];d=N[b+24>>2];e=N[b+20>>2];f=N[b+40>>2];g=N[b+36>>2];C=N[b+48>>2];h=N[b+8>>2];i=N[b>>2];j=N[b+4>>2];k=N[b+16>>2];l=N[b+32>>2];J[c+124>>2]=0;J[c+108>>2]=0;J[c+92>>2]=0;N[c+104>>2]=Q(w*f)+Q(Q(y*l)+Q(x*g));N[c+100>>2]=Q(t*f)+Q(Q(v*l)+Q(u*g));N[c+88>>2]=Q(w*d)+Q(Q(y*k)+Q(x*e));N[c+84>>2]=Q(t*d)+Q(Q(v*k)+Q(u*e));N[c+120>>2]=B+Q(Q(q*f)+Q(Q(s*l)+Q(g*r)));N[c+116>>2]=A+Q(Q(q*d)+Q(Q(s*k)+Q(e*r)));J[c+76>>2]=0;N[c+72>>2]=Q(w*h)+Q(Q(y*i)+Q(j*x));N[c+68>>2]=Q(t*h)+Q(Q(v*i)+Q(j*u));N[c+64>>2]=Q(n*h)+Q(Q(o*i)+Q(p*j));N[c+112>>2]=C+Q(Q(q*h)+Q(Q(s*i)+Q(j*r)));N[c+96>>2]=Q(n*f)+Q(Q(o*l)+Q(p*g));N[c+80>>2]=Q(n*d)+Q(Q(o*k)+Q(p*e));b=J[a+4>>2];J[c+60>>2]=m;J[c+56>>2]=-1;J[c+48>>2]=b;J[c+44>>2]=z;J[c+40>>2]=0;J[c+52>>2]=c- -64;b=J[a+24>>2];J[c+36>>2]=m;J[c+32>>2]=b;J[c+28>>2]=z;J[c+8>>2]=13584;J[c+16>>2]=0;N[c+12>>2]=N[b+4>>2];J[c+24>>2]=J[b+16>>2];Uc(J[a+16>>2],J[a+20>>2],c+40|0,c+8|0);sa=c+128|0}function xf(a,b){var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;J[a+12>>2]=0;H[a+16|0]=1;J[a+4>>2]=0;J[a+8>>2]=0;f=J[b+4>>2];if((f|0)<=0){J[a+4>>2]=f;return}J[8456]=J[8456]+1;d=ua[J[8258]](f<<2,16)|0;i=J[a+4>>2];a:{if((i|0)<=0){break a}if(i>>>0>=4){k=i&-4;while(1){g=c<<2;J[g+d>>2]=J[g+J[a+12>>2]>>2];j=g|4;J[j+d>>2]=J[j+J[a+12>>2]>>2];j=g|8;J[j+d>>2]=J[j+J[a+12>>2]>>2];g=g|12;J[g+d>>2]=J[g+J[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;J[g+d>>2]=J[g+J[a+12>>2]>>2];c=c+1|0;h=h+1|0;if((e|0)!=(h|0)){continue}break}}c=J[a+12>>2];if(!(c?!c|!K[a+16|0]:1)){J[8457]=J[8457]+1;ua[J[8259]](c)}J[a+12>>2]=d;H[a+16|0]=1;J[a+8>>2]=f;e=0;c=0;if(f>>>0>=4){g=f&-4;h=0;while(1){d=c<<2;J[d+J[a+12>>2]>>2]=0;J[J[a+12>>2]+(d|4)>>2]=0;J[J[a+12>>2]+(d|8)>>2]=0;J[J[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){J[J[a+12>>2]+(c<<2)>>2]=0;c=c+1|0;e=e+1|0;if((h|0)!=(e|0)){continue}break}}J[a+4>>2]=f;b:{if((f|0)<=0){break b}a=J[a+12>>2];h=0;c=0;if(f>>>0>=4){g=f&-4;e=0;while(1){d=c<<2;J[d+a>>2]=J[d+J[b+12>>2]>>2];i=d|4;J[i+a>>2]=J[i+J[b+12>>2]>>2];i=d|8;J[i+a>>2]=J[i+J[b+12>>2]>>2];d=d|12;J[d+a>>2]=J[d+J[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;J[e+a>>2]=J[e+J[b+12>>2]>>2];c=c+1|0;h=h+1|0;if((f|0)!=(h|0)){continue}break}}}function qj(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=sa-48|0;sa=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;ua[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;ua[J[J[b>>2]+8>>2]](b,f,0,1);sa=f+48|0}function ai(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 Vi(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(K[a+165|0]){l=a+92|0;if(J[l>>2]>=(b|0)){break a}if(b){J[8456]=J[8456]+1;f=ua[J[8258]](b<<4,16)|0}else{f=0}e=J[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+J[a+96>>2]|0;k=J[c+4>>2];J[h>>2]=J[c>>2];J[h+4>>2]=k;k=J[c+12>>2];J[h+8>>2]=J[c+8>>2];J[h+12>>2]=k;c=g|16;g=c+f|0;c=c+J[a+96>>2]|0;h=J[c+4>>2];J[g>>2]=J[c>>2];J[g+4>>2]=h;h=J[c+12>>2];J[g+8>>2]=J[c+8>>2];J[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+J[a+96>>2]|0;c=J[d+4>>2];J[e>>2]=J[d>>2];J[e+4>>2]=c;c=J[d+12>>2];J[e+8>>2]=J[d+8>>2];J[e+12>>2]=c}d=J[a+96>>2];if(!(d?!d|!K[a+100|0]:1)){J[8457]=J[8457]+1;ua[J[8259]](d)}J[a+96>>2]=f;H[a+100|0]=1;break b}l=a+112|0;if(J[l>>2]>=(b|0)){break a}if(b){J[8456]=J[8456]+1;f=ua[J[8258]](b<<2,16)|0}else{f=0}e=J[a+116>>2];g=J[a+108>>2];d:{e:{if((g|0)>0){if(g>>>0>=4){h=g&-4;while(1){c=d<<2;N[c+f>>2]=N[c+e>>2];j=c|4;N[j+f>>2]=N[e+j>>2];j=c|8;N[j+f>>2]=N[e+j>>2];c=c|12;N[c+f>>2]=N[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;N[i+f>>2]=N[e+i>>2];d=d+1|0;k=k+1|0;if((c|0)!=(k|0)){continue}break}}if(K[a+120|0]){break e}break d}if(!e|!K[a+120|0]){break d}}if(e){J[8457]=J[8457]+1;ua[J[8259]](e)}}J[a+116>>2]=f;H[a+120|0]=1}J[l>>2]=b}}function jf(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=sa-96|0;sa=f;e=J[a+8>>2];J[b+216>>2]=e;a:{if(J[a+12>>2]!=(e|0)){break a}k=e?e<<1:1;if((k|0)<=(e|0)){break a}if(k){J[8456]=J[8456]+1;h=ua[J[8258]](k<<2,16)|0;e=J[a+8>>2]}b:{if((e|0)<=0){break b}if(e>>>0>=4){l=e&-4;while(1){g=i<<2;J[g+h>>2]=J[g+J[a+16>>2]>>2];j=g|4;J[j+h>>2]=J[j+J[a+16>>2]>>2];j=g|8;J[j+h>>2]=J[j+J[a+16>>2]>>2];g=g|12;J[g+h>>2]=J[g+J[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;J[l+h>>2]=J[l+J[a+16>>2]>>2];i=i+1|0;n=n+1|0;if((g|0)!=(n|0)){continue}break}}i=J[a+16>>2];if(!(!i|!K[a+20|0])){if(i){J[8457]=J[8457]+1;ua[J[8259]](i)}e=J[a+8>>2]}J[a+16>>2]=h;H[a+20|0]=1;J[a+12>>2]=k}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];h=f+16|0;ua[J[J[e>>2]+8>>2]](e,f+32|0,h,f);e=J[a+68>>2];o=b,p=ua[J[J[e>>2]+8>>2]](e,h,f,J[J[b+192>>2]+4>>2],b,c,d,J[a+24>>2])|0,J[o+188>>2]=p;sa=f+96|0}function Fl(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;J[8467]=J[8467]+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;m=d>>>16^d;d=J[a+12>>2];k=m&d-1;e=J[J[a+36>>2]+(k<<2)>>2];a:{if((e|0)!=-1){i=J[a+56>>2];j=J[a+16>>2];while(1){f=j+P(e,12)|0;if(J[f>>2]==(b|0)&J[f+4>>2]==(c|0)){break a}e=J[i+(e<<2)>>2];if((e|0)!=-1){continue}break}}b:{c:{i=J[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}J[a+8>>2]=d+1;f=J[a+16>>2];break b}d:{if(!j){f=0;break d}J[8456]=J[8456]+1;f=ua[J[8258]](P(j,12),16)|0;d=J[a+8>>2]}e:{if((d|0)<=0){break e}e=0;if((d|0)!=1){p=d&-2;while(1){g=P(e,12);h=g+J[a+16>>2]|0;l=J[h+4>>2];g=f+g|0;J[g>>2]=J[h>>2];J[g+4>>2]=l;J[g+8>>2]=J[h+8>>2];g=P(e|1,12);h=g+J[a+16>>2]|0;l=J[h+4>>2];g=f+g|0;J[g>>2]=J[h>>2];J[g+4>>2]=l;J[g+8>>2]=J[h+8>>2];e=e+2|0;o=o+2|0;if((p|0)!=(o|0)){continue}break}}if(!(d&1)){break e}e=P(e,12);d=e+f|0;e=e+J[a+16>>2]|0;h=J[e+4>>2];J[d>>2]=J[e>>2];J[d+4>>2]=h;J[d+8>>2]=J[e+8>>2]}d=J[a+16>>2];if(!(d?!d|!K[a+20|0]:1)){J[8457]=J[8457]+1;ua[J[8259]](d)}J[a+16>>2]=f;H[a+20|0]=1;J[a+12>>2]=j;J[a+8>>2]=J[a+8>>2]+1;if(n){break b}Jc(a);k=J[a+12>>2]-1&m}f=P(i,12)+f|0;J[f+8>>2]=0;J[f+4>>2]=c;J[f>>2]=b;b=J[a+56>>2]+(i<<2)|0;a=J[a+36>>2]+(k<<2)|0;J[b>>2]=J[a>>2];J[a>>2]=i}return f|0}function yf(a,b){var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;e=sa-32|0;sa=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=(((J[c+40>>2]==(d|0))<<2)+c|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=d+24|0;f=J[c+4>>2];J[e+24>>2]=J[c>>2];J[e+28>>2]=f;c=d+16|0;f=J[c+4>>2];J[e+16>>2]=J[c>>2];J[e+20>>2]=f;c=d+8|0;f=J[c+4>>2];J[e+8>>2]=J[c>>2];J[e+12>>2]=f;c=J[d+4>>2];J[e>>2]=J[d>>2];J[e+4>>2]=c;c=b+24|0;f=J[c+4>>2];J[d+24>>2]=J[c>>2];J[d+28>>2]=f;c=b+16|0;f=J[c+4>>2];J[d+16>>2]=J[c>>2];J[d+20>>2]=f;c=b+8|0;f=J[c+4>>2];J[d+8>>2]=J[c>>2];J[d+12>>2]=f;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}}d=bc(a,b);ac(a,d?J[a>>2]:0,b);J[a+16>>2]=J[a+16>>2]+1;g=g-1|0;if(g){continue}break}}sa=e+32|0}function Jd(a){a=a|0;var b=0;J[a>>2]=23736;b=J[a+204>>2];if(!(b?!b|!K[a+208|0]:1)){J[8457]=J[8457]+1;ua[J[8259]](b)}J[a+204>>2]=0;H[a+208|0]=1;J[a+196>>2]=0;J[a+200>>2]=0;b=J[a+176>>2];if(!(b?!b|!K[a+180|0]:1)){J[8457]=J[8457]+1;ua[J[8259]](b)}J[a+176>>2]=0;H[a+180|0]=1;J[a+168>>2]=0;J[a+172>>2]=0;b=J[a+156>>2];if(!(b?!b|!K[a+160|0]:1)){J[8457]=J[8457]+1;ua[J[8259]](b)}J[a+156>>2]=0;H[a+160|0]=1;J[a+148>>2]=0;J[a+152>>2]=0;b=J[a+136>>2];if(!(b?!b|!K[a+140|0]:1)){J[8457]=J[8457]+1;ua[J[8259]](b)}J[a+136>>2]=0;H[a+140|0]=1;J[a+128>>2]=0;J[a+132>>2]=0;b=J[a+116>>2];if(!(b?!b|!K[a+120|0]:1)){J[8457]=J[8457]+1;ua[J[8259]](b)}J[a+116>>2]=0;H[a+120|0]=1;J[a+108>>2]=0;J[a+112>>2]=0;b=J[a+96>>2];if(!(b?!b|!K[a+100|0]:1)){J[8457]=J[8457]+1;ua[J[8259]](b)}J[a+96>>2]=0;H[a+100|0]=1;J[a+88>>2]=0;J[a+92>>2]=0;b=J[a+76>>2];if(!(b?!b|!K[a+80|0]:1)){J[8457]=J[8457]+1;ua[J[8259]](b)}J[a+76>>2]=0;H[a+80|0]=1;J[a+68>>2]=0;J[a+72>>2]=0;b=J[a+56>>2];if(!(b?!b|!K[a+60|0]:1)){J[8457]=J[8457]+1;ua[J[8259]](b)}J[a+56>>2]=0;H[a+60|0]=1;J[a+48>>2]=0;J[a+52>>2]=0;b=J[a+36>>2];if(!(b?!b|!K[a+40|0]:1)){J[8457]=J[8457]+1;ua[J[8259]](b)}J[a+36>>2]=0;H[a+40|0]=1;J[a+28>>2]=0;J[a+32>>2]=0;b=J[a+16>>2];if(!(b?!b|!K[a+20|0]:1)){J[8457]=J[8457]+1;ua[J[8259]](b)}J[a+16>>2]=0;H[a+20|0]=1;J[a+8>>2]=0;J[a+12>>2]=0;return a|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=0,h=0,i=0,j=0;g=sa-160|0;sa=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]=18068;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;Ie(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];Ua(f,(b?c:a)+4|0,(b?a:d)+4|0)}sa=g+160|0}function jg(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;f=sa+-64|0;sa=f;a:{if(Ka(b,30288,0)){J[c>>2]=0;d=1;break a}b:{if(K[a+8|0]&24){e=1}else{if(!b){break b}e=Ta(b,30020);if(!e){break b}e=(K[e+8|0]&24)!=0}g=Ka(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=Ta(b,30068);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(Ka(J[a+12>>2],J[e+12>>2],0)){break a}if(Ka(J[a+12>>2],30276,0)){a=J[e+12>>2];if(!a){break a}d=!Ta(a,30120);break a}g=J[a+12>>2];if(!g){break c}d=0;b=Ta(g,30068);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=Ta(a,30068);if(!a|J[a+8>>2]&(J[b+8>>2]^-1)){break e}d=1;if(Ka(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=Ta(d,30068);if(b){a=J[a+12>>2];continue}break}b=Ta(d,30180);if(!b){break e}c=id(b,J[a+12>>2])}d=c}break a}b=Ta(g,30180);if(b){if(!(H[a+8|0]&1)){break a}d=id(b,J[e+12>>2]);break a}b=Ta(g,29972);if(!b){break a}a=J[e+12>>2];if(!a){break a}a=Ta(a,29972);if(!a){break a}Fa(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;ua[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}sa=f- -64|0;return d|0}function Ud(a,b,c,d,e,f){var g=0;J[a+4>>2]=b;J[a>>2]=23140;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 Dh(a,b){a=a|0;b=Q(b);var c=0,d=0,e=0,f=Q(0),g=0,h=Q(0),i=Q(0),j=Q(0),k=Q(0);e=J[a+8>>2];if((e|0)>0){while(1){c=J[J[a+16>>2]+(g<<2)>>2];if(!(!c|!(J[c+252>>2]&2)|(!(K[c+204|0]&2)|J[c+220>>2]==2))){e=sa-32|0;sa=e;if(b!=Q(0)){d=J[c+540>>2];if(d){ua[J[J[d>>2]+8>>2]](d,c+4|0)}J[c+384>>2]=0;f=Q(Q(1)/b);N[c+380>>2]=f*Q(N[c+60>>2]-N[c+124>>2]);N[c+376>>2]=f*Q(N[c+56>>2]-N[c+120>>2]);N[c+372>>2]=f*Q(N[c+52>>2]-N[c+116>>2]);Vb(c+68|0,c+4|0,e+16|0,e+12|0);i=N[e+16>>2];j=N[e+20>>2];k=N[e+24>>2];h=N[e+12>>2];J[c+400>>2]=0;N[c+396>>2]=f*Q(h*k);N[c+392>>2]=f*Q(h*j);N[c+388>>2]=f*Q(i*h);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}sa=e+32|0;e=J[a+8>>2]}g=g+1|0;if((g|0)<(e|0)){continue}break}}}function _l(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=sa-160|0;sa=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]=16504;Pe(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];Ua(g,(b?c:a)+4|0,(b?a:d)+4|0)}sa=f+160|0}function Bk(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;bb(a,b,c);N[b+20>>2]=N[a+80>>2];d=J[a+24>>2];J[b+12>>2]=0;J[b+16>>2]=d;if(d){g=ua[J[J[c>>2]+16>>2]](c,76,d)|0;d=J[g+8>>2];j=b,k=ua[J[J[c>>2]+28>>2]](c,d)|0,J[j+12>>2]=k;if(J[b+16>>2]>0){f=J[a+32>>2];while(1){e=P(h,80);f=e+f|0;N[d+72>>2]=N[f+72>>2];j=d,k=ua[J[J[c>>2]+28>>2]](c,J[f+64>>2])|0,J[j+64>>2]=k;if(!(ua[J[J[c>>2]+24>>2]](c,J[(e+J[a+32>>2]|0)+64>>2])|0)){f=J[(e+J[a+32>>2]|0)+64>>2];f=(k=c,l=ua[J[J[f>>2]+52>>2]](f)|0,m=1,j=J[J[c>>2]+16>>2],ua[j](k|0,l|0,m|0)|0);i=J[(e+J[a+32>>2]|0)+64>>2];m=c,l=f,k=ua[J[J[i>>2]+56>>2]](i,J[f+8>>2],c)|0,n=1346455635,o=J[(e+J[a+32>>2]|0)+64>>2],j=J[J[c>>2]+20>>2],ua[j](m|0,l|0,k|0,n|0,o|0)}f=J[a+32>>2];e=e+f|0;J[d+68>>2]=J[e+68>>2];N[d>>2]=N[e>>2];N[d+4>>2]=N[e+4>>2];N[d+8>>2]=N[e+8>>2];N[d+12>>2]=N[e+12>>2];N[d+16>>2]=N[e+16>>2];N[d+20>>2]=N[e+20>>2];N[d+24>>2]=N[e+24>>2];N[d+28>>2]=N[e+28>>2];N[d+32>>2]=N[e+32>>2];N[d+36>>2]=N[e+36>>2];N[d+40>>2]=N[e+40>>2];N[d+44>>2]=N[e+44>>2];N[d+48>>2]=N[e+48>>2];N[d+52>>2]=N[e+52>>2];N[d+56>>2]=N[e+56>>2];N[d+60>>2]=N[e+60>>2];d=d+76|0;h=h+1|0;if((h|0)>2]){continue}break}}ua[J[J[c>>2]+20>>2]](c,g,9087,1497453121,J[g+8>>2])}return 8973}function lm(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=sa-800|0;sa=c;ua[J[8262]](7501);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]=13156;N[c+720>>2]=N[a+200>>2];g=N[a+196>>2];d=Sa(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]=21396;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=Ob(c+384|0);J[e+4>>2]=1;J[e>>2]=15832;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+8|0;J[b+12>>2]=e;J[b+8>>2]=d;J[b+4>>2]=c+24;J[b>>2]=23248;d=b;b=c+732|0;a:{if(!Td(d,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}sb(e);ua[J[8263]]();sa=c+800|0}function Ui(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(K[a+164|0]){k=a+132|0;if(J[k>>2]>=(b|0)){break a}if(b){J[8456]=J[8456]+1;e=ua[J[8258]](b<<2,16)|0}else{e=0}d=J[a+136>>2];f=J[a+128>>2];c:{d:{if((f|0)>0){if(f>>>0>=4){l=f&-4;while(1){c=g<<2;J[c+e>>2]=J[d+c>>2];h=c|4;J[h+e>>2]=J[d+h>>2];h=c|8;J[h+e>>2]=J[d+h>>2];c=c|12;J[c+e>>2]=J[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;J[f+e>>2]=J[d+f>>2];g=g+1|0;j=j+1|0;if((c|0)!=(j|0)){continue}break}}if(K[a+140|0]){break d}break c}if(!d|!K[a+140|0]){break c}}if(d){J[8457]=J[8457]+1;ua[J[8259]](d)}}J[a+136>>2]=e;H[a+140|0]=1;break b}k=a+152|0;if(J[k>>2]>=(b|0)){break a}if(b){J[8456]=J[8456]+1;e=ua[J[8258]](b<<1,16)|0}else{e=0}d=J[a+156>>2];f=J[a+148>>2];e:{f:{if((f|0)>0){if(f>>>0>=4){l=f&-4;while(1){c=g<<1;I[c+e>>1]=L[d+c>>1];h=c|2;I[h+e>>1]=L[d+h>>1];h=c|4;I[h+e>>1]=L[d+h>>1];c=c|6;I[c+e>>1]=L[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;I[f+e>>1]=L[d+f>>1];g=g+1|0;j=j+1|0;if((c|0)!=(j|0)){continue}break}}if(K[a+160|0]){break f}break e}if(!d|!K[a+160|0]){break e}}if(d){J[8457]=J[8457]+1;ua[J[8259]](d)}}J[a+156>>2]=e;H[a+160|0]=1}J[k>>2]=b}}function Wb(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]=13004;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 Cr(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;J[8456]=J[8456]+1;a=mc(ua[J[8258]](768,16)|0,4,a,b);J[a>>2]=23552;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 Do(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=sa-32|0;sa=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=Na(g);x=Q(Q(Q(p*o)-Q(q*u))*f);z=m;m=Ma(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=Ma(h);t=N[b+8>>2];h=Na(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)));ua[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){ua[J[J[a>>2]+16>>2]](a,b,l+16|0,i)}sa=l+32|0}function lb(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=us(i,0,k,0);d=ta;g=f;c=0;f=us(i,0,f,c);h=d+f|0;d=ta+c|0;l=e;i=0;e=us(e,i,g,c);c=f>>>0>h>>>0?d+1|0:d;f=ta;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=us(k,m,l,i);i=j+f|0;c=ta+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=us(d,c,b,0);b=ta;h=a;a=us(d,c,a,0);b=b+a|0;d=ta;d=a>>>0>b>>>0?d+1|0:d;a=us(e,0,h,c);c=d;d=b;b=ta;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=us(e,m,l,m);b=f+e|0;c=ta+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 hg(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(Ka(a,J[b+8>>2],e)){if(!(J[b+28>>2]==1|J[b+4>>2]!=(c|0))){J[b+28>>2]=d}return}a:{if(Ka(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;fc(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;yb(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}yb(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}yb(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}yb(f,b,c,d,e);f=f+8|0;if(g>>>0>f>>>0){continue}break}}}function nk(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=sa-80|0;sa=e;a:{if((d|0)<=0){break a}if(d>>>0>=8){j=d&-8;while(1){f=i<<4;J[(f+c|0)+12>>2]=-581039253;J[((f|16)+c|0)+12>>2]=-581039253;J[((f|32)+c|0)+12>>2]=-581039253;J[((f|48)+c|0)+12>>2]=-581039253;J[((f|64)+c|0)+12>>2]=-581039253;J[((f|80)+c|0)+12>>2]=-581039253;J[((f|96)+c|0)+12>>2]=-581039253;J[((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){J[((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){J[e+40>>2]=19952;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=i<<4;j=g+b|0;h=J[j+12>>2];J[f+8>>2]=J[j+8>>2];J[f+12>>2]=h;h=J[j+4>>2];J[f>>2]=J[j>>2];J[f+4>>2]=h;J[e+32>>2]=1566444395;J[e+36>>2]=0;J[e+24>>2]=1566444395;J[e+28>>2]=1566444395;h=J[a+100>>2];J[e+16>>2]=-581039253;J[e+20>>2]=0;J[e+8>>2]=-581039253;J[e+12>>2]=-581039253;ua[J[J[h>>2]+8>>2]](h,e+40|0,e+8|0,e+24|0);h=J[e+56>>2];g=c+g|0;J[g+8>>2]=J[e+52>>2];J[g+12>>2]=h;h=J[e+48>>2];J[g>>2]=J[e+44>>2];J[g+4>>2]=h;i=i+1|0;if((i|0)!=(d|0)){continue}break}}sa=e+80|0}function Dj(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(ua[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 Yb(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=J[a+12>>2]+((c+d|0)/2<<4)|0;r=J[g+8>>2];l=J[g+4>>2];k=J[g>>2];g=d;while(1){s=J[a+12>>2];while(1){e=-1;i=-1;f=(c<<4)+s|0;m=J[f>>2];if(m){i=J[m+12>>2]}e=k?J[k+12>>2]:e;j=-1;h=-1;n=J[f+4>>2];if(n){h=J[n+12>>2]}j=l?J[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(M[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?J[k+12>>2]:j;h=J[e>>2];if(h){i=J[h+12>>2]}u=-1;o=-1;o=l?J[l+12>>2]:o;p=J[e+4>>2];if(p){u=J[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(M[e+8>>2]>>0){break d}break c}if(!i){break c}}g=g-1|0;continue}break}if((c|0)<=(g|0)){i=J[f+8>>2];j=J[f+12>>2];h=J[e+4>>2];J[f>>2]=J[e>>2];J[f+4>>2]=h;h=J[e+12>>2];J[f+8>>2]=J[e+8>>2];J[f+12>>2]=h;f=J[a+12>>2]+t|0;J[f+4>>2]=n;J[f+8>>2]=i;J[f+12>>2]=j;J[f>>2]=m;g=g-1|0;c=c+1|0}if((c|0)<=(g|0)){continue}break}if((g|0)>(q|0)){Yb(a,b,q,g)}if((c|0)<(d|0)){continue}break}}function Ri(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(ua[J[J[a>>2]+48>>2]](a));z=Q(ua[J[J[a>>2]+48>>2]](a));A=Q(ua[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 Cl(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=0,l=Q(0),m=Q(0),n=Q(0),o=Q(0),p=0;d=sa-32|0;sa=d;a=J[a+12>>2];a:{if(!a){break a}J[e+4>>2]=a;f=J[b+12>>2];k=J[c+12>>2];i=Q(N[f+56>>2]-N[k+56>>2]);m=Q(N[f+48>>2]-N[k+48>>2]);j=Q(N[f+52>>2]-N[k+52>>2]);g=Q(Q(i*i)+Q(Q(m*m)+Q(j*j)));f=J[c+4>>2];l=N[f+20>>2];h=N[f+36>>2];b=J[b+4>>2];n=N[b+20>>2];o=N[b+36>>2];f=J[a+844>>2];if((f|0)>0){b=0;while(1){f=a+P(b,208)|0;k=J[f+120>>2];b:{if(!k){break b}p=J[8753];if(!p){break b}ua[p|0](k)|0;J[f+120>>2]=0}b=b+1|0;f=J[a+844>>2];if((b|0)<(f|0)){continue}break}}g=Q(Y(g));l=Q(h*l);h=Q(o*n);c:{if(!f){break c}b=J[8756];if(!b){break c}J[d+16>>2]=a;ua[b|0](d+16|0)}J[a+844>>2]=0;h=Q(h+l);if(g>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(g-h);d:{if(!(g>Q(1.1920928955078125e-7))){g=Q(1);i=Q(0);j=Q(0);break d}g=Q(Q(1)/g);i=Q(i*g);N[d+24>>2]=i;j=Q(j*g);N[d+20>>2]=j;g=Q(m*g);N[d+16>>2]=g}a=J[c+12>>2];m=N[a+52>>2];n=N[a+56>>2];o=N[a+48>>2];J[d+12>>2]=0;N[d>>2]=o+Q(l*g);N[d+8>>2]=n+Q(l*i);N[d+4>>2]=m+Q(l*j);ua[J[J[e>>2]+16>>2]](e,d+16|0,d,h)}sa=d+32|0}function Gl(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[8466]=J[8466]+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 wc(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=sa-48|0;sa=c;d=J[b+4>>2];e=J[a+56>>2];J[e+4>>2]=J[b>>2];J[e+8>>2]=d;d=J[b+12>>2];J[e+12>>2]=J[b+8>>2];J[e+16>>2]=d;J[c+44>>2]=0;J[c+36>>2]=0;J[c+40>>2]=0;J[c+32>>2]=1065353216;e=c+16|0;b=c+32|0;ua[J[J[a>>2]+68>>2]](e,a,b);N[a+40>>2]=N[c+16>>2]+N[a+20>>2];J[c+32>>2]=-1082130432;ua[J[J[a>>2]+68>>2]](c,a,b);d=J[c+12>>2];J[c+24>>2]=J[c+8>>2];J[c+28>>2]=d;d=J[c+4>>2];J[c+16>>2]=J[c>>2];J[c+20>>2]=d;N[a+24>>2]=N[c+16>>2]-N[a+20>>2];J[c+40>>2]=0;J[c+44>>2]=0;J[c+32>>2]=0;J[c+36>>2]=0;J[c+36>>2]=1065353216;ua[J[J[a>>2]+68>>2]](e,a,b);N[a+44>>2]=N[c+20>>2]+N[a+20>>2];J[c+36>>2]=-1082130432;ua[J[J[a>>2]+68>>2]](c,a,b);d=J[c+12>>2];J[c+24>>2]=J[c+8>>2];J[c+28>>2]=d;d=J[c+4>>2];J[c+16>>2]=J[c>>2];J[c+20>>2]=d;N[a+28>>2]=N[c+20>>2]-N[a+20>>2];J[c+40>>2]=0;J[c+44>>2]=0;J[c+40>>2]=1065353216;J[c+32>>2]=0;J[c+36>>2]=0;ua[J[J[a>>2]+68>>2]](e,a,b);N[a+48>>2]=N[c+24>>2]+N[a+20>>2];J[c+40>>2]=-1082130432;ua[J[J[a>>2]+68>>2]](c,a,b);b=J[c+12>>2];J[c+24>>2]=J[c+8>>2];J[c+28>>2]=b;b=J[c+4>>2];J[c+16>>2]=J[c>>2];J[c+20>>2]=b;N[a+32>>2]=N[c+24>>2]-N[a+20>>2];sa=c+48|0}function Ja(a,b,c){var d=0,e=0,f=0;if(c>>>0>=512){oa(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 oh(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=sa-16|0;sa=i;ua[J[8262]](7100);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;if((J[c+220>>2]&-2)!=4){J[c+220>>2]=0}e=J[c+220>>2]}if((e|0)==4){break a}}f:{if(K[35721]){break f}d=N[8267];if(d==Q(0)|!(d>2])&(e&-2)!=2){break f}if(K[c+204|0]&3){if((J[c+220>>2]&-2)!=4){J[c+220>>2]=2}break a}if((e|0)==1){if((J[c+220>>2]&-2)!=4){J[c+220>>2]=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}if((J[c+220>>2]&-2)!=4){J[c+220>>2]=1}}g=g+1|0;if((g|0)>2]){continue}break}}ua[J[8263]]();sa=i+16|0}function Bc(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;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}J[8456]=J[8456]+1;l=d<<2;e=ua[J[8258]](l,16)|0;g=J[a+12>>2];a:{b:{c:{d:{k=J[a+4>>2];if((k|0)>0){if(k>>>0>=4){m=k&-4;while(1){c=f<<2;J[c+e>>2]=J[c+g>>2];j=c|4;J[j+e>>2]=J[g+j>>2];j=c|8;J[j+e>>2]=J[g+j>>2];c=c|12;J[c+e>>2]=J[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;J[h+e>>2]=J[g+h>>2];f=f+1|0;i=i+1|0;if((c|0)!=(i|0)){continue}break}}if(!K[a+16|0]){break c}break d}if(K[a+16|0]?g:0){break d}J[a+12>>2]=e;H[a+16|0]=1;J[a+8>>2]=d;Fa(e,0,l);J[a+4>>2]=d;break b}if(g){J[8457]=J[8457]+1;ua[J[8259]](g)}}J[a+12>>2]=e;H[a+16|0]=1;J[a+8>>2]=d;Fa(e,0,l);J[a+4>>2]=d;if((d|0)<=0){break a}}a=J[b+12>>2];i=0;f=0;if(d>>>0>=4){g=d&-4;h=0;while(1){b=f<<2;J[b+e>>2]=J[a+b>>2];c=b|4;J[c+e>>2]=J[a+c>>2];c=b|8;J[c+e>>2]=J[a+c>>2];b=b|12;J[b+e>>2]=J[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;J[d+e>>2]=J[a+d>>2];f=f+1|0;i=i+1|0;if((b|0)!=(i|0)){continue}break}}}function dl(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;bb(a,b,c);d=J[a+56>>2];ua[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(ua[J[J[c>>2]+52>>2]](c)&1){break b}d=ua[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=ua[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=ua[J[J[d>>2]+12>>2]](d)|0,i=1,f=J[J[c>>2]+16>>2],ua[f](g|0,h|0,i|0)|0);e=J[a+60>>2];i=c,h=d,g=ua[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],ua[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(ua[J[J[c>>2]+52>>2]](c)&2){break d}d=ua[J[J[c>>2]+24>>2]](c,J[a+64>>2])|0;if(d){J[b+48>>2]=d;break c}f=b,k=ua[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=ua[J[J[d>>2]+8>>2]](d)|0,g=1,f=J[J[c>>2]+16>>2],ua[f](k|0,j|0,g|0)|0);e=J[a+64>>2];g=c,j=d,k=ua[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],ua[f](g|0,j|0,k|0,h|0,i|0);break c}J[b+48>>2]=0}J[b+56>>2]=0;return 8861}function li(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=Q(0);Gb(a,b,c);N[b+52>>2]=N[a+552>>2];N[b+56>>2]=N[a+556>>2];N[b+60>>2]=N[a+560>>2];N[b- -64>>2]=N[a+564>>2];N[b+68>>2]=N[a+568>>2];N[b+72>>2]=N[a+572>>2];N[b+76>>2]=N[a+576>>2];N[b+80>>2]=N[a+580>>2];N[b+84>>2]=N[a+584>>2];N[b+88>>2]=N[a+588>>2];N[b+92>>2]=N[a+592>>2];N[b+96>>2]=N[a+596>>2];N[b+100>>2]=N[a+600>>2];N[b+104>>2]=N[a+604>>2];N[b+108>>2]=N[a+608>>2];N[b+112>>2]=N[a+612>>2];N[b+116>>2]=N[a+616>>2];N[b+120>>2]=N[a+620>>2];N[b+124>>2]=N[a+624>>2];N[b+128>>2]=N[a+628>>2];N[b+132>>2]=N[a+632>>2];N[b+136>>2]=N[a+636>>2];N[b+140>>2]=N[a+640>>2];N[b+144>>2]=N[a+644>>2];N[b+148>>2]=N[a+648>>2];N[b+152>>2]=N[a+652>>2];N[b+156>>2]=N[a+656>>2];N[b+160>>2]=N[a+660>>2];N[b+164>>2]=N[a+664>>2];N[b+168>>2]=N[a+668>>2];N[b+172>>2]=N[a+672>>2];N[b+176>>2]=N[a+676>>2];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;d=b,e=Eb(c),N[d+200>>2]=e;d=b,e=Fb(c),N[d+204>>2]=e;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 8624}function Ql(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=J[b>>2];b=Pc(ua[J[J[a>>2]+56>>2]](a,116)|0,b,c,d,0);J[b>>2]=16340;H[b+104|0]=1;J[b+100>>2]=0;J[b+92>>2]=0;J[b+96>>2]=0;J[8456]=J[8456]+1;a=ua[J[8258]](64,16)|0;H[a+20|0]=1;J[a>>2]=17788;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;J[8456]=J[8456]+1;i=ua[J[8258]](24,16)|0;g=J[a+8>>2];a:{if((g|0)<=0){break a}if((g|0)!=1){l=g&-2;while(1){e=P(f,12);h=e+J[a+16>>2]|0;j=J[h+4>>2];e=e+i|0;J[e>>2]=J[h>>2];J[e+4>>2]=j;J[e+8>>2]=J[h+8>>2];e=P(f|1,12);h=e+J[a+16>>2]|0;j=J[h+4>>2];e=e+i|0;J[e>>2]=J[h>>2];J[e+4>>2]=j;J[e+8>>2]=J[h+8>>2];f=f+2|0;k=k+2|0;if((l|0)!=(k|0)){continue}break}}if(!(g&1)){break a}g=P(f,12);f=g+J[a+16>>2]|0;h=J[f+4>>2];g=g+i|0;J[g>>2]=J[f>>2];J[g+4>>2]=h;J[g+8>>2]=J[f+8>>2]}f=J[a+16>>2];if(!(f?!f|!K[a+20|0]:1)){J[8457]=J[8457]+1;ua[J[8259]](f)}J[a+16>>2]=i;H[a+20|0]=1;J[a+12>>2]=2;Jc(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 pc(a,b){var c=Q(0),d=Q(0),e=0,f=Q(0),g=Q(0),h=Q(0);d=N[((b<<2)+a|0)+1364>>2];e=P(b,88)+a|0;f=N[e+968>>2];g=N[e+972>>2];a:{if(f>=g){break a}if(dQ(3.1415927410125732))){break b}c=Q(c+Q(-6.2831854820251465))}h=Q(R(c));c=Qa(Q(g-d));c:{if(cQ(3.1415927410125732))){break c}c=Q(c+Q(-6.2831854820251465))}d=hg)){break a}c=Qa(Q(d-g));d:{if(cQ(3.1415927410125732))){break d}c=Q(c+Q(-6.2831854820251465))}h=Q(R(c));c=Qa(Q(d-f));e:{if(cQ(3.1415927410125732))){break e}c=Q(c+Q(-6.2831854820251465))}d=h>Q(R(c))?Q(d+Q(-6.2831854820251465)):d}N[e+1048>>2]=d;e=e+1040|0;if(f>g){J[(P(b,88)+a|0)+1052>>2]=0;J[e>>2]=0;return}N[e>>2]=d-f;if(f==g){J[(P(b,88)+a|0)+1052>>2]=3;return}a=P(b,88)+a|0;J[a+1052>>2]=4;N[a+1044>>2]=d-g}function Ci(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=sa-688|0;sa=e;f=Ob(e+576|0);J[f+4>>2]=1;J[f>>2]=15832;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]=22676;g=J[a+4>>2];b=e+188|0;J[b+20>>2]=0;J[b+16>>2]=f;J[b+12>>2]=g;J[b+8>>2]=e+212;J[b+4>>2]=e+216;J[b>>2]=22452;J[e+12>>2]=13156;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(!Yd(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(ua[J[J[a>>2]+12>>2]](a,e+144|0,e+160|0,l,c,d))}sb(f);sa=e+688|0}function xi(a,b){a=a|0;b=b|0;var c=0,d=0;qc(a,J[a+28>>2]+4|0,J[a+32>>2]+4|0);J[b>>2]=0;J[b+4>>2]=0;d=2;a:{b:{c:{c=J[a+956>>2];switch(c|0){case 0:break a;case 4:break b;default:break c}}d=1}J[b>>2]=d;c=d}if(K[a+792|0]){c=c+1|0;J[b>>2]=c}if(K[a+798|0]){c=c+1|0;J[b>>2]=c}d=2;d:{switch(J[a+960>>2]){default:d=1;case 4:c=c+d|0;J[b>>2]=c;break;case 0:break d}}if(K[a+793|0]){c=c+1|0;J[b>>2]=c}if(K[a+799|0]){c=c+1|0;J[b>>2]=c}d=2;e:{switch(J[a+964>>2]){default:d=1;case 4:c=c+d|0;J[b>>2]=c;break;case 0:break e}}if(K[a+794|0]){c=c+1|0;J[b>>2]=c}if(K[a+800|0]){J[b>>2]=c+1}pc(a,0);c=2;f:{switch(J[a+1052>>2]){default:c=1;case 4:J[b>>2]=J[b>>2]+c;break;case 0:break f}}if(K[a+996|0]){J[b>>2]=J[b>>2]+1}if(K[a+1016|0]){J[b>>2]=J[b>>2]+1}pc(a,1);c=2;g:{switch(J[a+1140>>2]){default:c=1;case 4:J[b>>2]=J[b>>2]+c;break;case 0:break g}}if(K[a+1084|0]){J[b>>2]=J[b>>2]+1}if(K[a+1104|0]){J[b>>2]=J[b>>2]+1}c=2;pc(a,2);h:{switch(J[a+1228>>2]){default:c=1;case 4:J[b>>2]=J[b>>2]+c;break;case 0:break h}}if(K[a+1172|0]){J[b>>2]=J[b>>2]+1}if(K[a+1192|0]){J[b>>2]=J[b>>2]+1}}function Fk(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(ua[J[J[a>>2]+48>>2]](a));w=Q(ua[J[J[a>>2]+48>>2]](a));p=Q(ua[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 Ra(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=sa-48|0;sa=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]}ua[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);ua[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))));sa=d+48|0}function ri(a,b){a=a|0;b=b|0;var 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=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);a:{b:{if(K[a+738|0]){J[b>>2]=0;a=0;break b}J[b>>2]=5;J[b+4>>2]=1;d=J[a+32>>2];c=N[a+652>>2];f=N[a+620>>2];g=N[a+636>>2];l=Q(Q(N[d+44>>2]*c)+Q(Q(N[d+36>>2]*f)+Q(g*N[d+40>>2])));e=J[a+28>>2];m=N[e+44>>2];h=N[a+584>>2];n=N[e+36>>2];i=N[a+552>>2];j=N[a+568>>2];o=N[e+40>>2];u=Q(l*Q(Q(m*h)+Q(Q(n*i)+Q(j*o))));p=Q(Q(N[d+12>>2]*c)+Q(Q(N[d+4>>2]*f)+Q(g*N[d+8>>2])));q=N[e+12>>2];r=N[e+4>>2];s=N[e+8>>2];v=Q(p*Q(Q(q*h)+Q(Q(r*i)+Q(j*s))));t=N[e+28>>2];k=Q(t*h);h=N[e+20>>2];w=Q(h*i);i=N[e+24>>2];k=Q(k+Q(w+Q(j*i)));j=Q(Q(N[d+28>>2]*c)+Q(Q(N[d+20>>2]*f)+Q(g*N[d+24>>2])));c=N[a+588>>2];f=N[a+556>>2];g=N[a+572>>2];c=Q(Ia(Q(u+Q(v+Q(k*j))),Q(Q(l*Q(Q(m*c)+Q(Q(n*f)+Q(o*g))))+Q(Q(p*Q(Q(q*c)+Q(Q(r*f)+Q(s*g))))+Q(Q(Q(t*c)+Q(Q(h*f)+Q(i*g)))*j))))*N[a+732>>2]);N[a+728>>2]=c;Id(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 Ch(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0;d=sa-16|0;sa=d;ua[J[8262]](7775);gf(a);a:{if(!(ua[J[J[a>>2]+20>>2]](a)|0)){break a}b=ua[J[J[a>>2]+20>>2]](a)|0;if(!(ua[J[J[b>>2]+56>>2]](b)&6144)){break a}b=ua[J[J[a>>2]+104>>2]](a)|0;if((b|0)<=0){break a}c=b;if(b&1){c=b-1|0;f=a,g=ua[J[J[a>>2]+108>>2]](a,c)|0,e=J[J[a>>2]+172>>2],ua[e](f|0,g|0)}if((b|0)==1){break a}while(1){b=c-1|0;g=a,f=ua[J[J[a>>2]+108>>2]](a,b)|0,e=J[J[a>>2]+172>>2],ua[e](g|0,f|0);c=c-2|0;f=a,g=ua[J[J[a>>2]+108>>2]](a,c)|0,e=J[J[a>>2]+172>>2],ua[e](f|0,g|0);if(b>>>0>1){continue}break}}b:{if(!(ua[J[J[a>>2]+20>>2]](a)|0)){break b}b=ua[J[J[a>>2]+20>>2]](a)|0;if(!(ua[J[J[b>>2]+56>>2]](b)&16387)){break b}if(!(ua[J[J[a>>2]+20>>2]](a)|0)){break b}b=ua[J[J[a>>2]+20>>2]](a)|0;if(!(ua[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];ua[J[J[b>>2]+12>>2]](b,J[a+72>>2]);c=c+1|0;if((c|0)>2]){continue}break}}if(ua[J[J[a>>2]+20>>2]](a)|0){a=ua[J[J[a>>2]+20>>2]](a)|0;ua[J[J[a>>2]+104>>2]](a)}ua[J[8263]]();sa=d+16|0}function Xh(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=J[a+288>>2];a:{b:{if(c){c:{if(J[a+292>>2]!=(d|0)){break c}h=d?d<<1:1;if((h|0)<=(d|0)){break c}if(h){J[8456]=J[8456]+1;f=ua[J[8258]](h<<2,16)|0;d=J[a+288>>2]}d:{if((d|0)<=0){break d}c=0;if(d>>>0>=4){i=d&-4;while(1){e=c<<2;J[e+f>>2]=J[e+J[a+296>>2]>>2];g=e|4;J[g+f>>2]=J[g+J[a+296>>2]>>2];g=e|8;J[g+f>>2]=J[g+J[a+296>>2]>>2];e=e|12;J[e+f>>2]=J[e+J[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;J[i+f>>2]=J[i+J[a+296>>2]>>2];c=c+1|0;k=k+1|0;if((e|0)!=(k|0)){continue}break}}c=J[a+296>>2];if(!(!c|!K[a+300|0])){if(c){J[8457]=J[8457]+1;ua[J[8259]](c)}d=J[a+288>>2]}J[a+296>>2]=f;H[a+300|0]=1;J[a+292>>2]=h}J[J[a+296>>2]+(d<<2)>>2]=b;d=d+1|0;break b}if((d|0)<=0){break a}f=J[a+296>>2];c=0;while(1){e=f+(c<<2)|0;if(J[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;J[e>>2]=J[c+f>>2];J[c+J[a+296>>2]>>2]=b}J[a+288>>2]=d}J[a+280>>2]=(d|0)>0}function Le(a){var b=0,c=0,d=0,e=0,f=0,g=0,h=0,i=0;b=J[a+16>>2];if(!(b?!b|!K[a+20|0]:1)){J[8457]=J[8457]+1;ua[J[8259]](b)}J[a+16>>2]=0;H[a+20|0]=1;J[a+8>>2]=0;J[a+12>>2]=0;b=J[a+36>>2];if(!(b?!b|!K[a+40|0]:1)){J[8457]=J[8457]+1;ua[J[8259]](b)}J[a+36>>2]=0;H[a+40|0]=1;J[a+28>>2]=0;J[a+32>>2]=0;b=J[a+56>>2];if(!(b?!b|!K[a+60|0]:1)){J[8457]=J[8457]+1;ua[J[8259]](b)}J[a+56>>2]=0;H[a+60|0]=1;J[a+48>>2]=0;J[a+52>>2]=0;if(J[a+12>>2]<=1){J[8456]=J[8456]+1;f=ua[J[8258]](24,16)|0;d=J[a+8>>2];a:{if((d|0)<=0){break a}b=0;if((d|0)!=1){i=d&-2;while(1){c=P(b,12);e=c+J[a+16>>2]|0;g=J[e+4>>2];c=c+f|0;J[c>>2]=J[e>>2];J[c+4>>2]=g;J[c+8>>2]=J[e+8>>2];c=P(b|1,12);e=c+J[a+16>>2]|0;g=J[e+4>>2];c=c+f|0;J[c>>2]=J[e>>2];J[c+4>>2]=g;J[c+8>>2]=J[e+8>>2];b=b+2|0;h=h+2|0;if((h|0)!=(i|0)){continue}break}}if(!(d&1)){break a}d=P(b,12);b=d+J[a+16>>2]|0;e=J[b+4>>2];d=d+f|0;J[d>>2]=J[b>>2];J[d+4>>2]=e;J[d+8>>2]=J[b+8>>2]}b=J[a+16>>2];if(!(b?!b|!K[a+20|0]:1)){J[8457]=J[8457]+1;ua[J[8259]](b)}J[a+16>>2]=f;H[a+20|0]=1;J[a+12>>2]=2}Jc(a)}function Dg(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=J[a+188>>2];j=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]!=(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(J[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}J[8456]=J[8456]+1;c=ua[J[8258]](g<<2,16)|0;d=J[a+328>>2]}e:{if((d|0)<=0){break e}e=0;if(d>>>0>=4){i=d&-4;while(1){f=e<<2;J[f+c>>2]=J[f+J[a+336>>2]>>2];h=f|4;J[h+c>>2]=J[h+J[a+336>>2]>>2];h=f|8;J[h+c>>2]=J[h+J[a+336>>2]>>2];f=f|12;J[f+c>>2]=J[f+J[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;J[i+c>>2]=J[i+J[a+336>>2]>>2];e=e+1|0;l=l+1|0;if((f|0)!=(l|0)){continue}break}}e=J[a+336>>2];if(!(!e|!K[a+340|0])){if(e){J[8457]=J[8457]+1;ua[J[8259]](e)}d=J[a+328>>2]}J[a+336>>2]=c;H[a+340|0]=1;J[a+332>>2]=g}J[J[a+336>>2]+(d<<2)>>2]=j;J[a+328>>2]=d+1;a=J[a+344>>2];ua[J[J[a>>2]+8>>2]](a,m,b)|0}}function Cb(a){a=a|0;var b=0;J[a>>2]=24120;if(K[a+288|0]){b=J[a+220>>2];ua[J[J[b>>2]>>2]](b)|0;b=J[a+220>>2];if(b){J[8457]=J[8457]+1;ua[J[8259]](b)}}b=J[a+212>>2];if(b){ua[J[J[b>>2]>>2]](b)|0;b=J[a+212>>2];if(b){J[8457]=J[8457]+1;ua[J[8259]](b)}}if(K[a+289|0]){b=J[a+216>>2];ua[J[J[b>>2]>>2]](b)|0;b=J[a+216>>2];if(b){J[8457]=J[8457]+1;ua[J[8259]](b)}}b=J[a+332>>2];if(!(b?!b|!K[a+336|0]:1)){J[8457]=J[8457]+1;ua[J[8259]](b)}J[a+332>>2]=0;H[a+336|0]=1;J[a+324>>2]=0;J[a+328>>2]=0;b=J[a+304>>2];if(!(b?!b|!K[a+308|0]:1)){J[8457]=J[8457]+1;ua[J[8259]](b)}J[a+304>>2]=0;H[a+308|0]=1;J[a+296>>2]=0;J[a+300>>2]=0;b=J[a+256>>2];if(!(b?!b|!K[a+260|0]:1)){J[8457]=J[8457]+1;ua[J[8259]](b)}J[a+256>>2]=0;H[a+260|0]=1;J[a+248>>2]=0;J[a+252>>2]=0;b=J[a+236>>2];if(!(b?!b|!K[a+240|0]:1)){J[8457]=J[8457]+1;ua[J[8259]](b)}J[a+236>>2]=0;H[a+240|0]=1;J[a+228>>2]=0;J[a+232>>2]=0;b=J[a+204>>2];if(!(b?!b|!K[a+208|0]:1)){J[8457]=J[8457]+1;ua[J[8259]](b)}J[a+204>>2]=0;H[a+208|0]=1;J[a+196>>2]=0;J[a+200>>2]=0;return Wc(a)|0}function mb(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=sa-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 fe(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=sa-16|0;sa=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)){fe(a,b,m,g)}if((c|0)<(d|0)){continue}break}sa=h+16|0}function vd(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 bc(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);if(J[a>>2]==(b|0)){J[a>>2]=0;return 0}d=J[b+32>>2];c=J[(((J[d+40>>2]!=(b|0))<<2)+d|0)+36>>2];b=J[d+32>>2];a:{b:{if(b){J[((((d|0)==J[b+40>>2])<<2)+b|0)+36>>2]=c;J[c+32>>2]=b;c=J[a+4>>2];if(c){J[8457]=J[8457]+1;ua[J[8259]](c)}J[a+4>>2]=d;while(1){q=N[b>>2];d=J[b+36>>2];e=N[d>>2];c=J[b+40>>2];k=N[c>>2];e=e>2]=e;k=N[b+16>>2];f=N[d+16>>2];l=N[c+16>>2];f=f>l?f:l;N[b+16>>2]=f;l=N[b+4>>2];g=N[d+4>>2];m=N[c+4>>2];g=g>2]=g;m=N[b+20>>2];h=N[d+20>>2];n=N[c+20>>2];h=h>n?h:n;N[b+20>>2]=h;n=N[b+8>>2];i=N[d+8>>2];o=N[c+8>>2];i=i>2]=i;o=N[b+24>>2];j=N[d+24>>2];p=N[c+24>>2];j=j>p?j:p;N[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=J[b+32>>2];if(b){continue}break}break b}J[a>>2]=c;J[c+32>>2]=0;b=J[a+4>>2];if(b){J[8457]=J[8457]+1;ua[J[8259]](b)}J[a+4>>2]=d}b=J[a>>2]}return b}function Ad(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=J[J[a+12>>2]+((c+d|0)/2<<2)>>2];f=d;while(1){k=J[a+12>>2];j=J[J[m+836>>2]+208>>2];g=(j|0)<0;a:{if(!g){while(1){h=c;l=(c<<2)+k|0;i=J[l>>2];e=J[J[i+836>>2]+208>>2];if((e|0)<0){e=J[J[i+840>>2]+208>>2]}c=h+1|0;if((e|0)<(j|0)){continue}break a}}o=J[J[m+840>>2]+208>>2];while(1){h=c;l=(c<<2)+k|0;i=J[l>>2];e=J[J[i+836>>2]+208>>2];if((e|0)<0){e=J[J[i+840>>2]+208>>2]}c=h+1|0;if((e|0)<(o|0)){continue}break}}b:{if(!g){while(1){c=f;g=J[(c<<2)+k>>2];e=J[J[g+836>>2]+208>>2];if((e|0)<0){e=J[J[g+840>>2]+208>>2]}f=c-1|0;if((e|0)>(j|0)){continue}break b}}j=J[J[m+840>>2]+208>>2];while(1){c=f;g=J[(c<<2)+k>>2];e=J[J[g+836>>2]+208>>2];if((e|0)<0){e=J[J[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}J[l>>2]=g;J[J[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)){Ad(a,b,n,f)}if((c|0)<(d|0)){continue}break}}function ls(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0;g=J[a+32>>2];e=J[a+24>>2];a:{while(1){if((e|0)<=0){break a}e=e-1|0;if(J[(g+P(e,80)|0)+64>>2]!=(b|0)){continue}break}b=sa+-64|0;sa=b;f=J[c+4>>2];g=P(e,80);e=g+J[a+32>>2]|0;J[e>>2]=J[c>>2];J[e+4>>2]=f;f=J[c+12>>2];J[e+8>>2]=J[c+8>>2];J[e+12>>2]=f;f=J[c+28>>2];J[e+24>>2]=J[c+24>>2];J[e+28>>2]=f;f=J[c+20>>2];J[e+16>>2]=J[c+16>>2];J[e+20>>2]=f;f=J[c+44>>2];J[e+40>>2]=J[c+40>>2];J[e+44>>2]=f;f=J[c+36>>2];J[e+32>>2]=J[c+32>>2];J[e+36>>2]=f;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;if(J[a+72>>2]){e=J[(g+J[a+32>>2]|0)+64>>2];ua[J[J[e>>2]+8>>2]](e,c,b+48|0,b+32|0);c=J[b+60>>2];J[b+8>>2]=J[b+56>>2];J[b+12>>2]=c;c=J[b+44>>2];J[b+24>>2]=J[b+40>>2];J[b+28>>2]=c;c=J[b+36>>2];J[b+16>>2]=J[b+32>>2];J[b+20>>2]=c;c=J[b+52>>2];J[b>>2]=J[b+48>>2];J[b+4>>2]=c;_c(J[a+72>>2],J[(g+J[a+32>>2]|0)+76>>2],b)}if(d){ua[J[J[a>>2]+68>>2]](a)}sa=b- -64|0}}function xd(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=J[J[a+12>>2]+((c+d|0)/2<<2)>>2];f=d;while(1){k=J[a+12>>2];j=J[J[m+28>>2]+208>>2];g=(j|0)<0;a:{if(!g){while(1){h=c;l=(c<<2)+k|0;i=J[l>>2];e=J[J[i+28>>2]+208>>2];if((e|0)<0){e=J[J[i+32>>2]+208>>2]}c=h+1|0;if((e|0)<(j|0)){continue}break a}}o=J[J[m+32>>2]+208>>2];while(1){h=c;l=(c<<2)+k|0;i=J[l>>2];e=J[J[i+28>>2]+208>>2];if((e|0)<0){e=J[J[i+32>>2]+208>>2]}c=h+1|0;if((e|0)<(o|0)){continue}break}}b:{if(!g){while(1){c=f;g=J[(c<<2)+k>>2];e=J[J[g+28>>2]+208>>2];if((e|0)<0){e=J[J[g+32>>2]+208>>2]}f=c-1|0;if((e|0)>(j|0)){continue}break b}}j=J[J[m+32>>2]+208>>2];while(1){c=f;g=J[(c<<2)+k>>2];e=J[J[g+28>>2]+208>>2];if((e|0)<0){e=J[J[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}J[l>>2]=g;J[J[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)){xd(a,b,n,f)}if((c|0)<(d|0)){continue}break}}function qh(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(!(K[b+204|0]&3|H[b+564|0]&1)){Db(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}h=c?c<<1:1;if((h|0)<=(c|0)){break b}if(h){J[8456]=J[8456]+1;f=ua[J[8258]](h<<2,16)|0;c=J[a+248>>2]}c:{if((c|0)<=0){break c}if(c>>>0>=4){i=c&-4;while(1){d=e<<2;J[d+f>>2]=J[d+J[a+256>>2]>>2];g=d|4;J[g+f>>2]=J[g+J[a+256>>2]>>2];g=d|8;J[g+f>>2]=J[g+J[a+256>>2]>>2];d=d|12;J[d+f>>2]=J[d+J[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;J[i+f>>2]=J[i+J[a+256>>2]>>2];e=e+1|0;k=k+1|0;if((d|0)!=(k|0)){continue}break}}e=J[a+256>>2];if(!(!e|!K[a+260|0])){if(e){J[8457]=J[8457]+1;ua[J[8259]](e)}c=J[a+248>>2]}J[a+256>>2]=f;H[a+260|0]=1;J[a+252>>2]=h}J[J[a+256>>2]+(c<<2)>>2]=b;J[a+248>>2]=c+1;break a}if((J[b+220>>2]&-2)!=4){J[b+220>>2]=2}}c=b;b=J[b+204>>2]&3;ua[J[J[a>>2]+36>>2]](a,c,b?2:1,b?-3:-1)}}function ic(a){var b=0,c=Q(0),d=0,e=Q(0),f=0,g=Q(0),h=Q(0),i=Q(0),j=0,k=0;d=sa-16|0;sa=d;b=J[a+8>>2];a:{if(!b){J[8456]=J[8456]+1;b=te(ua[J[8258]](64,16)|0,N[a+152>>2],N[a+156>>2]);J[a+8>>2]=b;break a}e=N[a+156>>2];c=N[a+152>>2];N[b+52>>2]=c;J[b+48>>2]=0;N[b+44>>2]=c;N[b+36>>2]=c;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];ua[J[J[f>>2]+8>>2]](f,b);e=Q(ua[J[J[a>>2]+20>>2]](a));c=N[a+152>>2];J[d+12>>2]=0;N[d+8>>2]=c;N[d+4>>2]=e;N[d>>2]=c;b=J[a+104>>2];b:{if(!b){J[8456]=J[8456]+1;j=a,k=Ic(ua[J[8258]](64,16)|0,d),J[j+104>>2]=k;break b}g=Q(ua[J[J[b>>2]+48>>2]](b));h=Q(ua[J[J[b>>2]+48>>2]](b));i=Q(ua[J[J[b>>2]+48>>2]](b));J[b+48>>2]=0;N[b+44>>2]=Q(c*N[b+28>>2])-i;N[b+40>>2]=Q(e*N[b+24>>2])-h;N[b+36>>2]=Q(c*N[b+20>>2])-g;a=c(a?c:e)?!a:2)<<2)+d>>2]*Q(.10000000149011612));if(!(Q(ua[J[J[b>>2]+48>>2]](b))>c)){break b}ua[J[J[b>>2]+44>>2]](b,c)}sa=d+16|0}function Dd(a,b){var c=0,d=0,e=0,f=0;a:{d=J[a+548>>2];if((d|0)<=0){break a}e=J[a+556>>2];while(1){if(J[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(J[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;J[f>>2]=J[c+e>>2];J[c+J[a+556>>2]>>2]=b;J[a+548>>2]=d}d=J[b+32>>2];e=J[b+28>>2];c:{if((e|0)==(a|0)){b=J[a+288>>2];if((b|0)<=0){break c}e=J[a+296>>2];c=0;while(1){f=e+(c<<2)|0;if((d|0)!=J[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;J[f>>2]=J[c+e>>2];J[c+J[a+296>>2]>>2]=d;J[a+288>>2]=b;break c}b=J[d+288>>2];d:{if((b|0)<=0){break d}a=J[d+296>>2];c=0;while(1){f=a+(c<<2)|0;if((e|0)!=J[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;J[f>>2]=J[c+a>>2];J[a+J[d+296>>2]>>2]=e;J[d+288>>2]=b}a=d}J[a+280>>2]=(b|0)>0}}function Ig(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=J[b>>2];c=J[a+328>>2];a:{b:{if((c|0)<=0){break b}e=J[a+336>>2];b=0;while(1){if(J[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(J[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}J[8456]=J[8456]+1;e=ua[J[8258]](g<<2,16)|0;c=J[a+328>>2]}e:{if((c|0)<=0){break e}b=0;if(c>>>0>=4){h=c&-4;while(1){d=b<<2;J[d+e>>2]=J[d+J[a+336>>2]>>2];f=d|4;J[f+e>>2]=J[f+J[a+336>>2]>>2];f=d|8;J[f+e>>2]=J[f+J[a+336>>2]>>2];d=d|12;J[d+e>>2]=J[d+J[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;J[h+e>>2]=J[h+J[a+336>>2]>>2];b=b+1|0;k=k+1|0;if((d|0)!=(k|0)){continue}break}}b=J[a+336>>2];if(!(!b|!K[a+340|0])){if(b){J[8457]=J[8457]+1;ua[J[8259]](b)}c=J[a+328>>2]}J[a+336>>2]=e;H[a+340|0]=1;J[a+332>>2]=g}J[J[a+336>>2]+(c<<2)>>2]=i;J[a+328>>2]=c+1}}function be(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(ua[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 Fr(){var a=0,b=0,c=0,d=0,e=0;b=sa-16|0;sa=b;if(!K[35720]){J[b+8>>2]=0;J[b+12>>2]=0;J[b>>2]=0;J[b+4>>2]=0;a=sa-144|0;sa=a;c=Wb(35044);J[c>>2]=23996;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;Hd(c,a);sa=a+144|0;H[35720]=1}J[b+8>>2]=0;J[b+12>>2]=0;J[b>>2]=0;J[b+4>>2]=0;lc(35044,Q(0),b);sa=b+16|0;return 35044}function ph(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(!(K[b+204|0]&3|H[b+564|0]&1)){Db(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}j=e?e<<1:1;if((j|0)<=(e|0)){break b}if(j){J[8456]=J[8456]+1;h=ua[J[8258]](j<<2,16)|0;e=J[a+248>>2]}c:{if((e|0)<=0){break c}if(e>>>0>=4){k=e&-4;while(1){f=g<<2;J[f+h>>2]=J[f+J[a+256>>2]>>2];i=f|4;J[i+h>>2]=J[i+J[a+256>>2]>>2];i=f|8;J[i+h>>2]=J[i+J[a+256>>2]>>2];f=f|12;J[f+h>>2]=J[f+J[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;J[k+h>>2]=J[k+J[a+256>>2]>>2];g=g+1|0;m=m+1|0;if((f|0)!=(m|0)){continue}break}}g=J[a+256>>2];if(!(!g|!K[a+260|0])){if(g){J[8457]=J[8457]+1;ua[J[8259]](g)}e=J[a+248>>2]}J[a+256>>2]=h;H[a+260|0]=1;J[a+252>>2]=j}J[J[a+256>>2]+(e<<2)>>2]=b;J[a+248>>2]=e+1;break a}if((J[b+220>>2]&-2)!=4){J[b+220>>2]=2}}ua[J[J[a>>2]+36>>2]](a,b,c,d)}}function zh(a){a=a|0;var b=0,c=0,d=Q(0),e=0,f=0,g=0,h=0;f=sa+-64|0;sa=f;a:{if(K[a+290|0]){c=J[a+8>>2];if((c|0)<=0){break a}while(1){b=J[J[a+16>>2]+(e<<2)>>2];if(!(!b|!(J[b+252>>2]&2)|(!J[b+540>>2]|K[b+204|0]&3))){c=b+68|0;g=b+132|0;h=b+148|0;b:{c:{if(!K[a+316|0]){break c}d=N[a+284>>2];if(d==Q(0)){break c}d=Q(N[a+280>>2]-d);break b}d=Q(N[a+280>>2]*N[b+268>>2])}kb(c,g,h,d,f);b=J[b+540>>2];ua[J[J[b>>2]+12>>2]](b,f);c=J[a+8>>2]}e=e+1|0;if((c|0)>(e|0)){continue}break}break a}c=J[a+248>>2];if((c|0)<=0){break a}while(1){d:{e:{b=J[J[a+256>>2]+(e<<2)>>2];switch(J[b+220>>2]-2|0){case 0:case 3:break d;default:break e}}if(!J[b+540>>2]|K[b+204|0]&3){break d}c=b+68|0;g=b+132|0;h=b+148|0;f:{g:{if(!K[a+316|0]){break g}d=N[a+284>>2];if(d==Q(0)){break g}d=Q(N[a+280>>2]-d);break f}d=Q(N[a+280>>2]*N[b+268>>2])}kb(c,g,h,d,f);b=J[b+540>>2];ua[J[J[b>>2]+12>>2]](b,f);c=J[a+248>>2]}e=e+1|0;if((c|0)>(e|0)){continue}break}}sa=f- -64|0}function Dq(a,b){a=Q(a);b=b|0;var c=0;c=sa-144|0;sa=c;if(!K[33688]){J[8415]=0;J[8416]=0;J[8413]=35;J[8414]=0;J[8417]=0;J[8412]=20152;J[8413]=27;J[8412]=20260;H[33688]=1}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;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+4>>2]=b;J[c+8>>2]=1065353216;J[c+72>>2]=33648;N[c+76>>2]=a;J[c+32>>2]=0;J[c+36>>2]=0;J[c+28>>2]=1065353216;J[c+40>>2]=0;J[c+44>>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;J[8456]=J[8456]+1;b=Wb(ua[J[8258]](676,16)|0);J[b>>2]=23996;H[b+560|0]=1;J[b+556>>2]=0;J[b+548>>2]=0;J[b+552>>2]=0;Hd(b,c);sa=c+144|0;return b|0}function co(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=sa-48|0;sa=h;J[8456]=J[8456]+1;d=ua[J[8258]](64,16)|0;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=$b(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]=12044;J[h+8>>2]=a;b=h+16|0;c=h+4|0;xb(J[a+4>>2],b,c);xb(J[a+44>>2],b,c)}sa=h+48|0;return d|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+22644>>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+22656>>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 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);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(ua[J[J[a>>2]+48>>2]](a));A=Q(ua[J[J[a>>2]+48>>2]](a));B=Q(ua[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 Oi(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=sa-144|0;sa=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]=22396;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;ua[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;sa=d+144|0}function Uf(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;ua[J[J[a>>2]+8>>2]](a);qc(a,J[a+28>>2]+4|0,J[a+32>>2]+4|0)}function jb(a,b,c,d,e,f,g,h){var 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=0,t=0,u=0,v=0,w=Q(0),x=Q(0),y=0;p=J[(g?20:16)+d>>2];l=J[(g?12:8)+d>>2];s=e<<2;N[l+s>>2]=N[f>>2];t=e+1|0;u=t<<2;N[u+l>>2]=N[f+4>>2];y=l;l=e+2|0;v=l<<2;N[y+v>>2]=N[f+8>>2];N[p+s>>2]=-N[f>>2];N[p+u>>2]=-N[f+4>>2];N[p+v>>2]=-N[f+8>>2];if(!g){m=Q(N[a+1352>>2]-N[c+52>>2]);j=N[f+8>>2];k=N[f+4>>2];n=Q(N[a+1356>>2]-N[c+56>>2]);q=Q(Q(m*j)-Q(k*n));w=Q(N[a+1288>>2]-N[b+52>>2]);x=Q(N[a+1292>>2]-N[b+56>>2]);r=Q(Q(w*j)-Q(k*x));o=Q(N[a+1348>>2]-N[c+48>>2]);i=N[f>>2];m=Q(Q(o*k)-Q(i*m));n=Q(Q(n*i)-Q(j*o));o=Q(N[a+1284>>2]-N[b+48>>2]);k=Q(Q(o*k)-Q(i*w));j=Q(Q(x*i)-Q(j*o));if(!(!K[a+1452|0]|h)){i=N[a+1448>>2];m=Q(i*m);n=Q(i*n);q=Q(q*i);i=N[a+1444>>2];k=Q(i*k);r=Q(r*i);j=Q(i*j)}b=e<<2;a=b+J[d+12>>2]|0;N[a+8>>2]=k;N[a+4>>2]=j;N[a>>2]=r;a=J[d+20>>2];N[a+b>>2]=-q;N[a+(t<<2)>>2]=-n;N[a+(l<<2)>>2]=-m}}function Ia(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 od(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=od(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)+26368>>2]}return a}return N[(e<<2)+26352>>2]}return x(2,(B(a),v(2))&-2147483648|1070141403),C()}function xh(a,b,c,d){a=a|0;b=Q(b);c=c|0;d=Q(d);var e=0,f=0,g=0,h=Q(0),i=0,j=0;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}h=b;b=Q(b/d);b:{if(Q(R(b))>2]=h-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){g=ua[J[J[a>>2]+20>>2]](a)|0;i=35721,j=ua[J[J[g>>2]+56>>2]](g)>>>4&1,H[i|0]=j}c:{if(e){f=(c|0)>(e|0)?e:c;ua[J[J[a>>2]+168>>2]](a,Q(d*Q(f|0)));ua[J[J[a>>2]+176>>2]](a);if((f|0)<=0){break c}if((f|0)!=1){g=f&-2;c=0;while(1){ua[J[J[a>>2]+160>>2]](a,d);ua[J[J[a>>2]+80>>2]](a);ua[J[J[a>>2]+160>>2]](a,d);ua[J[J[a>>2]+80>>2]](a);c=c+2|0;if((g|0)!=(c|0)){continue}break}}if(!(f&1)){break c}ua[J[J[a>>2]+160>>2]](a,d);ua[J[J[a>>2]+80>>2]](a);break c}ua[J[J[a>>2]+80>>2]](a)}ua[J[J[a>>2]+120>>2]](a);return e|0}function eq(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=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);d=J[b>>2];g=J[d+192>>2];a:{if(J[g+4>>2]!=31){break a}i=J[b+4>>2];if(!i){break a}g=J[(J[g+32>>2]+P(J[i>>2],80)|0)+64>>2]}J[a+84>>2]=J[g+8>>2];e=N[b+24>>2];J[a+8>>2]=d;N[a+4>>2]=e;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}j=N[d+8>>2];k=N[d+12>>2];l=N[d+20>>2];m=N[d+24>>2];n=N[d+28>>2];o=N[d+36>>2];p=N[d+40>>2];e=N[b+12>>2];q=N[d+44>>2];f=N[b+16>>2];r=N[d+4>>2];h=N[b+8>>2];J[a- -64>>2]=0;N[a+60>>2]=Q(q*f)+Q(Q(o*h)+Q(e*p));N[a+56>>2]=Q(n*f)+Q(Q(l*h)+Q(e*m));N[a+52>>2]=Q(k*f)+Q(Q(r*h)+Q(j*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 yk(a,b,c){a=a|0;b=b|0;c=c|0;var d=Q(0),e=Q(0),f=Q(0),g=0,h=Q(0),i=Q(0),j=0,k=0;e=Q(N[b+68>>2]*Q(.5));j=J[b+72>>2];k=J[b+76>>2];g=k<<2;d=N[c+8>>2];i=Q(d*d);d=N[c>>2];f=Q(d*d);d=N[c+4>>2];a:{b:{if(N[g+c>>2]>Q(N[b+60>>2]*Q(Y(Q(i+Q(f+Q(d*d))))))){J[(j<<2)+a>>2]=0;N[a+g>>2]=e;g=J[b+80>>2];break b}d=N[(j<<2)+c>>2];g=J[b+80>>2];f=N[(g<<2)+c>>2];h=Q(Y(Q(Q(d*d)+Q(f*f))));if(h>Q(1.1920928955078125e-7)){i=d;d=Q(N[b+64>>2]/h);N[(j<<2)+a>>2]=i*d;N[(k<<2)+a>>2]=-e;e=Q(f*d);break a}J[(j<<2)+a>>2]=0;N[(k<<2)+a>>2]=-e}e=Q(0)}N[(g<<2)+a>>2]=e;if(Q(ua[J[J[b>>2]+48>>2]](b))!=Q(0)){e=N[c+4>>2];d=N[c>>2];f=N[c+8>>2];h=Q(ua[J[J[b>>2]+48>>2]](b));b=Q(Q(f*f)+Q(Q(d*d)+Q(e*e)))>2]=N[a>>2]+Q(h*Q(i*d));N[a+4>>2]=N[a+4>>2]+Q(h*Q(e*d));N[a+8>>2]=N[a+8>>2]+Q(h*Q(f*d))}}function Vg(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=Q(0),o=Q(0),p=Q(0);e=Q(1);d=J[b>>2];if(!((d|0)==J[a+84>>2]|K[d+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]))))){e=N[b+40>>2];J[a+16>>2]=d;N[a+4>>2]=e;a:{if(c){c=b+8|0;d=J[c+4>>2];J[a+52>>2]=J[c>>2];J[a+56>>2]=d;d=J[c+12>>2];J[a+60>>2]=J[c+8>>2];J[a+64>>2]=d;break a}h=N[d+12>>2];i=N[d+8>>2];j=N[d+28>>2];k=N[d+20>>2];l=N[d+24>>2];m=N[d+44>>2];n=N[d+36>>2];o=N[d+40>>2];p=N[d+4>>2];e=N[b+16>>2];f=N[b+8>>2];g=N[b+12>>2];J[a- -64>>2]=0;N[a+60>>2]=Q(m*e)+Q(Q(n*f)+Q(g*o));N[a+56>>2]=Q(j*e)+Q(Q(k*f)+Q(g*l));N[a+52>>2]=Q(h*e)+Q(Q(p*f)+Q(i*g))}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;e=N[b+40>>2]}return Q(e)}function Br(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;ua[J[J[a>>2]+8>>2]](a)}function nq(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),m=Q(0),n=Q(0),o=Q(0),p=Q(0),q=Q(0),r=Q(0);g=N[a+404>>2];if(g!=Q(0)){e=N[b+8>>2];d=N[b+4>>2];h=N[a+408>>2];N[a+372>>2]=Q(g*Q(N[b>>2]*h))+N[a+372>>2];f=d;d=N[a+412>>2];N[a+376>>2]=Q(g*Q(f*d))+N[a+376>>2];f=e;e=N[a+416>>2];N[a+380>>2]=Q(g*Q(f*e))+N[a+380>>2];j=N[a+612>>2];k=N[a+364>>2];l=N[a+356>>2];m=N[a+360>>2];n=N[a+608>>2];o=N[a+348>>2];p=N[a+340>>2];q=N[a+344>>2];i=N[c>>2];d=Q(d*N[b+4>>2]);h=Q(h*N[b>>2]);f=N[c+4>>2];g=Q(Q(i*d)-Q(h*f));r=f;f=Q(e*N[b+8>>2]);e=d;d=N[c+8>>2];e=Q(Q(r*f)-Q(e*d));d=Q(Q(d*h)-Q(f*i));N[a+388>>2]=Q(Q(Q(N[a+332>>2]*g)+Q(Q(N[a+324>>2]*e)+Q(N[a+328>>2]*d)))*N[a+604>>2])+N[a+388>>2];N[a+392>>2]=Q(n*Q(Q(o*g)+Q(Q(p*e)+Q(d*q))))+N[a+392>>2];N[a+396>>2]=Q(j*Q(Q(k*g)+Q(Q(l*e)+Q(d*m))))+N[a+396>>2]}}function Lb(a){J[a>>2]=1025;J[a+120>>2]=0;J[a+124>>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;J[a+152>>2]=0;J[a+156>>2]=0;J[a+160>>2]=0;J[a+164>>2]=0;J[a+168>>2]=0;J[a+328>>2]=0;J[a+332>>2]=0;J[a+336>>2]=0;J[a+340>>2]=0;J[a+344>>2]=0;J[a+348>>2]=0;J[a+352>>2]=0;J[a+356>>2]=0;J[a+360>>2]=0;J[a+364>>2]=0;J[a+368>>2]=0;J[a+372>>2]=0;J[a+376>>2]=0;J[a+536>>2]=0;J[a+540>>2]=0;J[a+544>>2]=0;J[a+548>>2]=0;J[a+552>>2]=0;J[a+556>>2]=0;J[a+560>>2]=0;J[a+564>>2]=0;J[a+568>>2]=0;J[a+572>>2]=0;J[a+576>>2]=0;J[a+580>>2]=0;J[a+584>>2]=0;J[a+792>>2]=0;J[a+784>>2]=0;J[a+788>>2]=0;J[a+776>>2]=0;J[a+780>>2]=0;J[a+768>>2]=0;J[a+772>>2]=0;J[a+760>>2]=0;J[a+764>>2]=0;J[a+752>>2]=0;J[a+756>>2]=0;J[a+744>>2]=0;J[a+748>>2]=0;J[a+836>>2]=0;J[a+840>>2]=0;J[a+864>>2]=0;J[a+844>>2]=0;return a}function Uk(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=sa-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 nh(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=J[a+228>>2];a:{if((d|0)!=J[a+232>>2]){break a}i=d?d<<1:1;if((i|0)<=(d|0)){break a}if(i){J[8456]=J[8456]+1;g=ua[J[8258]](i<<2,16)|0;d=J[a+228>>2]}b:{if((d|0)<=0){break b}if(d>>>0>=4){j=d&-4;while(1){e=f<<2;J[e+g>>2]=J[e+J[a+236>>2]>>2];h=e|4;J[h+g>>2]=J[h+J[a+236>>2]>>2];h=e|8;J[h+g>>2]=J[h+J[a+236>>2]>>2];e=e|12;J[e+g>>2]=J[e+J[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;J[j+g>>2]=J[j+J[a+236>>2]>>2];f=f+1|0;l=l+1|0;if((e|0)!=(l|0)){continue}break}}f=J[a+236>>2];if(!(!f|!K[a+240|0])){if(f){J[8457]=J[8457]+1;ua[J[8259]](f)}d=J[a+228>>2]}J[a+236>>2]=g;H[a+240|0]=1;J[a+232>>2]=i}J[J[a+236>>2]+(d<<2)>>2]=b;J[a+228>>2]=d+1;if(c){Ed(J[b+28>>2],b);Ed(J[b+32>>2],b)}}function Wk(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=sa-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 pd(){ra(30276,8254);qa(30300,6219,1,1,0);ca(30312,5359,1,-128,127);ca(30336,5352,1,-128,127);ca(30324,5350,1,0,255);ca(30348,2375,2,-32768,32767);ca(30360,2366,2,0,65535);ca(30372,2561,4,-2147483648,2147483647);ca(30384,2552,4,0,-1);ca(30396,6567,4,-2147483648,2147483647);ca(30408,6558,4,0,-1);hd(30420,3510,-2147483648,2147483647);hd(30432,3509,0,-1);ka(30444,3476,4);ka(30456,7542,8);ja(31628,6585);ja(25600,9944);ia(25672,4,6572);ia(25748,2,6597);ia(25824,4,6612);pa(31336,6224);_(25864,0,9875);_(25904,0,9977);_(25944,1,9905);_(25984,2,9440);_(26024,3,9471);_(26064,4,9511);_(26104,5,9540);_(26144,4,10014);_(26184,5,10044);_(25904,0,9642);_(25944,1,9609);_(25984,2,9708);_(26024,3,9674);_(26064,4,9842);_(26104,5,9808);_(26224,8,9775);_(26264,9,9741);_(26304,6,9578);_(26344,7,10083)}function od(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+26384>>2]-Q(Q(Q(a*Q(g+d))-N[b+26400>>2])-a));a=(f|0)<0?Q(-a):a}return a}function Wp(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=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}j=d?d<<1:1;if((j|0)<=(d|0)){break a}if(j){J[8456]=J[8456]+1;g=ua[J[8258]](j<<2,16)|0;d=J[a+136>>2]}f=J[a+144>>2];b:{c:{if((d|0)>0){if(d>>>0>=4){n=d&-4;while(1){e=h<<2;J[e+g>>2]=J[f+e>>2];i=e|4;J[i+g>>2]=J[f+i>>2];i=e|8;J[i+g>>2]=J[f+i>>2];e=e|12;J[e+g>>2]=J[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;J[e+g>>2]=J[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?K[a+148|0]:0){J[8457]=J[8457]+1;ua[J[8259]](f)}d=J[a+136>>2]}J[a+144>>2]=g;J[a+140>>2]=j;H[a+148|0]=1}J[J[a+144>>2]+(d<<2)>>2]=m;J[a+136>>2]=J[a+136>>2]+1;return Q(Jf(a,b,c))}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=Q(0);d=sa-80|0;sa=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]=19952;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;ua[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;sa=d+80|0}function Vk(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=La(164);H[d+108|0]=0;J[d+104>>2]=0;H[d+65|0]=0;H[d+61|0]=0;H[d+62|0]=1;H[d+63|0]=1;H[d+64|0]=0;J[d+20>>2]=0;J[d+4>>2]=0;J[d+8>>2]=0;J[d+24>>2]=c;J[d+12>>2]=a;H[d+128|0]=1;J[d>>2]=25216;J[d+124>>2]=0;J[d+116>>2]=0;J[d+120>>2]=0;J[d+56>>2]=J[b+44>>2];a=J[b+16>>2];J[d+40>>2]=J[b+12>>2];J[d+44>>2]=a;a=J[b+24>>2];J[d+48>>2]=J[b+20>>2];J[d+52>>2]=a;N[d+32>>2]=N[b+4>>2];N[d+36>>2]=N[b+8>>2];N[d+28>>2]=N[b>>2];a=J[b+48>>2];J[d+132>>2]=0;J[d+20>>2]=a;J[d>>2]=25280;N[d+156>>2]=N[b+56>>2];N[d+152>>2]=N[b+52>>2];N[d+160>>2]=N[b+60>>2];J[8456]=J[8456]+1;a=sd(ua[J[8258]](348,16)|0);J[d+4>>2]=a;J[a+204>>2]=4;c=J[b+32>>2];J[a+52>>2]=J[b+28>>2];J[a+56>>2]=c;c=J[b+40>>2];J[a+60>>2]=J[b+36>>2];J[a+64>>2]=c;J[J[d+4>>2]+256>>2]=d;Bb(d);return d|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,k=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}h=d?d<<1:1;if((h|0)<=(d|0)){break a}if(h){J[8456]=J[8456]+1;f=ua[J[8258]](h<<2,16)|0;d=J[b+4>>2]}b:{if((d|0)<=0){break b}c=0;if(d>>>0>=4){i=d&-4;while(1){e=c<<2;J[e+f>>2]=J[e+J[b+12>>2]>>2];g=e|4;J[g+f>>2]=J[g+J[b+12>>2]>>2];g=e|8;J[g+f>>2]=J[g+J[b+12>>2]>>2];e=e|12;J[e+f>>2]=J[e+J[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;J[i+f>>2]=J[i+J[b+12>>2]>>2];c=c+1|0;k=k+1|0;if((e|0)!=(k|0)){continue}break}}c=J[b+12>>2];if(!(!c|!K[b+16|0])){if(c){J[8457]=J[8457]+1;ua[J[8259]](c)}d=J[b+4>>2]}J[b+12>>2]=f;H[b+16|0]=1;J[b+8>>2]=h;c=J[a+56>>2]}J[J[b+12>>2]+(d<<2)>>2]=c;J[b+4>>2]=d+1}}function Sb(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=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}h=d?d<<1:1;if((h|0)<=(d|0)){break a}if(h){J[8456]=J[8456]+1;f=ua[J[8258]](h<<2,16)|0;d=J[b+4>>2]}b:{if((d|0)<=0){break b}c=0;if(d>>>0>=4){i=d&-4;while(1){e=c<<2;J[e+f>>2]=J[e+J[b+12>>2]>>2];g=e|4;J[g+f>>2]=J[g+J[b+12>>2]>>2];g=e|8;J[g+f>>2]=J[g+J[b+12>>2]>>2];e=e|12;J[e+f>>2]=J[e+J[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;J[i+f>>2]=J[i+J[b+12>>2]>>2];c=c+1|0;k=k+1|0;if((e|0)!=(k|0)){continue}break}}c=J[b+12>>2];if(!(!c|!K[b+16|0])){if(c){J[8457]=J[8457]+1;ua[J[8259]](c)}d=J[b+4>>2]}J[b+12>>2]=f;H[b+16|0]=1;J[b+8>>2]=h;c=J[a+12>>2]}J[J[b+12>>2]+(d<<2)>>2]=c;J[b+4>>2]=d+1}}function pk(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=sa-32|0;sa=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;ab(d,b,d+16|0);a:{b:{switch(J[b+4>>2]){case 8:e=Q(N[b+36>>2]*N[b+20>>2]);break a;case 0:case 1:case 4:case 5:case 10:case 11:case 13:e=N[b+52>>2];break a;default:break b}}e=Q(ua[J[J[b>>2]+48>>2]](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);sa=d+32|0}function Ma(a){var b=Q(0),c=0,d=0,e=0,f=0;c=sa-16|0;sa=c;e=(B(a),v(2));d=e&2147483647;a:{if(d>>>0<=1061752794){b=Q(1);if(d>>>0<964689920){break a}b=Wa(+a);break a}if(d>>>0<=1081824209){if(d>>>0>=1075235812){b=Q(-Wa(((e|0)<0?3.141592653589793:-3.141592653589793)+ +a));break a}f=+a;if((e|0)<0){b=Va(f+1.5707963267948966);break a}b=Va(1.5707963267948966-f);break a}if(d>>>0<=1088565717){if(d>>>0>=1085271520){b=Wa(((e|0)<0?6.283185307179586:-6.283185307179586)+ +a);break a}if((e|0)<0){b=Va(-4.71238898038469-+a);break a}b=Va(+a+-4.71238898038469);break a}b=Q(a-a);if(d>>>0>=2139095040){break a}b:{switch(nd(a,c+8|0)&3){case 0:b=Wa(O[c+8>>3]);break a;case 1:b=Va(-O[c+8>>3]);break a;case 2:b=Q(-Wa(O[c+8>>3]));break a;default:break b}}b=Va(O[c+8>>3])}a=b;sa=c+16|0;return a}function Cm(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=J[a+72>>2];if(c){d=J[b+4>>2];a:{if((d|0)!=J[b+8>>2]){break a}h=d?d<<1:1;if((h|0)<=(d|0)){break a}if(h){J[8456]=J[8456]+1;f=ua[J[8258]](h<<2,16)|0;d=J[b+4>>2]}b:{if((d|0)<=0){break b}c=0;if(d>>>0>=4){i=d&-4;while(1){e=c<<2;J[e+f>>2]=J[e+J[b+12>>2]>>2];g=e|4;J[g+f>>2]=J[g+J[b+12>>2]>>2];g=e|8;J[g+f>>2]=J[g+J[b+12>>2]>>2];e=e|12;J[e+f>>2]=J[e+J[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;J[i+f>>2]=J[i+J[b+12>>2]>>2];c=c+1|0;k=k+1|0;if((e|0)!=(k|0)){continue}break}}c=J[b+12>>2];if(!(!c|!K[b+16|0])){if(c){J[8457]=J[8457]+1;ua[J[8259]](c)}d=J[b+4>>2]}J[b+12>>2]=f;H[b+16|0]=1;J[b+8>>2]=h;c=J[a+72>>2]}J[J[b+12>>2]+(d<<2)>>2]=c;J[b+4>>2]=d+1}}function Na(a){var b=0,c=0,d=0,e=0;b=sa-16|0;sa=b;e=(B(a),v(2));c=e&2147483647;a:{if(c>>>0<=1061752794){if(c>>>0<964689920){break a}a=Va(+a);break a}if(c>>>0<=1081824209){d=+a;if(c>>>0<=1075235811){if((e|0)<0){a=Q(-Wa(d+1.5707963267948966));break a}a=Wa(d+-1.5707963267948966);break a}a=Va(-(((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=Wa(d+4.71238898038469);break a}a=Q(-Wa(d+-4.71238898038469));break a}a=Va(((e|0)<0?6.283185307179586:-6.283185307179586)+ +a);break a}if(c>>>0>=2139095040){a=Q(a-a);break a}b:{switch(nd(a,b+8|0)&3){case 0:a=Va(O[b+8>>3]);break a;case 1:a=Wa(O[b+8>>3]);break a;case 2:a=Va(-O[b+8>>3]);break a;default:break b}}a=Q(-Wa(O[b+8>>3]))}sa=b+16|0;return a}function wl(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=La(160);H[d+108|0]=0;J[d+104>>2]=0;H[d+65|0]=0;H[d+61|0]=0;H[d+62|0]=1;H[d+63|0]=1;H[d+64|0]=0;J[d+20>>2]=0;J[d+4>>2]=0;J[d+8>>2]=0;J[d+24>>2]=c;J[d+12>>2]=a;H[d+128|0]=1;J[d>>2]=25216;J[d+124>>2]=0;J[d+116>>2]=0;J[d+120>>2]=0;J[d+56>>2]=J[b+44>>2];a=J[b+16>>2];J[d+40>>2]=J[b+12>>2];J[d+44>>2]=a;a=J[b+24>>2];J[d+48>>2]=J[b+20>>2];J[d+52>>2]=a;N[d+32>>2]=N[b+4>>2];N[d+36>>2]=N[b+8>>2];N[d+28>>2]=N[b>>2];a=J[b+48>>2];J[d+132>>2]=0;J[d+20>>2]=a;J[d>>2]=25248;N[d+152>>2]=N[b+52>>2];N[d+156>>2]=N[b+56>>2];J[8456]=J[8456]+1;a=sd(ua[J[8258]](348,16)|0);J[d+4>>2]=a;J[a+204>>2]=4;c=J[b+32>>2];J[a+52>>2]=J[b+28>>2];J[a+56>>2]=c;c=J[b+40>>2];J[a+60>>2]=J[b+36>>2];J[a+64>>2]=c;J[J[d+4>>2]+256>>2]=d;ic(d);return d|0}function vg(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=Q(0),o=Q(0),p=Q(0);e=Q(1);d=J[b>>2];if(!((d|0)==J[a+88>>2]|K[d+204|0]&4)){J[a+84>>2]=J[J[b+4>>2]+8>>2];e=N[b+40>>2];J[a+16>>2]=d;N[a+4>>2]=e;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;e=N[b+40>>2]}return Q(e)}function lh(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=J[a+296>>2];a:{if((c|0)!=J[a+300>>2]){break a}h=c?c<<1:1;if((h|0)<=(c|0)){break a}if(h){J[8456]=J[8456]+1;f=ua[J[8258]](h<<2,16)|0;c=J[a+296>>2]}b:{if((c|0)<=0){break b}if(c>>>0>=4){i=c&-4;while(1){d=e<<2;J[d+f>>2]=J[d+J[a+304>>2]>>2];g=d|4;J[g+f>>2]=J[g+J[a+304>>2]>>2];g=d|8;J[g+f>>2]=J[g+J[a+304>>2]>>2];d=d|12;J[d+f>>2]=J[d+J[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;J[i+f>>2]=J[i+J[a+304>>2]>>2];e=e+1|0;k=k+1|0;if((d|0)!=(k|0)){continue}break}}e=J[a+304>>2];if(!(!e|!K[a+308|0])){if(e){J[8457]=J[8457]+1;ua[J[8259]](e)}c=J[a+296>>2]}J[a+304>>2]=f;H[a+308|0]=1;J[a+300>>2]=h}J[J[a+304>>2]+(c<<2)>>2]=b;J[a+296>>2]=c+1}function og(a){a=a|0;var b=0,c=Q(0),d=Q(0),e=Q(0),f=Q(0),g=0,h=Q(0),i=Q(0),j=Q(0),k=Q(0),l=Q(0);J[8456]=J[8456]+1;b=Sa(ua[J[8258]](64,16)|0);J[b+60>>2]=1;J[b>>2]=20016;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;e=c;c=N[a>>2];d=N[a+4>>2];g=c>2]>(g?c:d)?!g:2)<<2)+a>>2]*Q(.10000000149011612));if(e>c){d=N[b+52>>2];e=Q(ua[J[J[b>>2]+48>>2]](b));f=Q(ua[J[J[b>>2]+48>>2]](b));N[b+52>>2]=c;c=N[b+44>>2];h=N[b+36>>2];i=N[b+40>>2];j=Q(ua[J[J[b>>2]+48>>2]](b));k=Q(ua[J[J[b>>2]+48>>2]](b));l=Q(ua[J[J[b>>2]+48>>2]](b));J[b+48>>2]=0;N[b+40>>2]=Q(e+i)-k;N[b+36>>2]=Q(d+h)-j;N[b+44>>2]=Q(f+c)-l}J[b+4>>2]=13;return b|0}function wk(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=sa-96|0;sa=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;ua[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(ua[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);sa=d+96|0}function Gj(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=sa-96|0;sa=d;e=Q(ua[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;ua[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);sa=d+96|0}function zk(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,i=Q(0),j=0,k=Q(0),l=0,m=Q(0),n=0,o=0,p=Q(0);if((d|0)>0){f=sa-16|0;while(1){i=Q(N[a+68>>2]*Q(.5));j=J[a+72>>2];o=l<<4;g=o+b|0;e=N[g+8>>2];h=J[a+76>>2]<<2;m=Q(e*e);e=N[g>>2];k=Q(e*e);e=N[g+4>>2];a:{b:{if(N[g+h>>2]>Q(N[a+60>>2]*Q(Y(Q(m+Q(k+Q(e*e))))))){J[(j<<2)+f>>2]=0;N[f+h>>2]=i;j=J[a+80>>2];break b}n=j<<2;e=N[g+n>>2];j=J[a+80>>2];k=N[g+(j<<2)>>2];p=Q(Y(Q(Q(e*e)+Q(k*k))));if(p>Q(1.1920928955078125e-7)){m=e;e=Q(N[a+64>>2]/p);N[f+n>>2]=m*e;N[f+h>>2]=-i;i=Q(k*e);break a}J[f+n>>2]=0;N[f+h>>2]=-i}i=Q(0)}N[(j<<2)+f>>2]=i;h=J[f+12>>2];g=c+o|0;J[g+8>>2]=J[f+8>>2];J[g+12>>2]=h;h=J[f+4>>2];J[g>>2]=J[f>>2];J[g+4>>2]=h;l=l+1|0;if((l|0)!=(d|0)){continue}break}}}function Tl(a,b,c,d){a=a|0;b=b|0;c=Q(c);d=Q(d);var e=0,f=0;f=sa-16|0;sa=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(ua[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=kc(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=kc(a,f,c);H[a+61|0]=0}a:{if(!K[a+65|0]){break a}if(!(b&4)|(ua[J[J[a>>2]+16>>2]](a)|0)!=1){break a}H[a+64|0]=1;kc(a,f,c);H[a+64|0]=0}J[a+132>>2]=b;sa=f+16|0;return b|0}function Ta(a,b){var c=0,d=0,e=0;c=sa+-64|0;sa=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]=29924;J[c+12>>2]=a;J[c+8>>2]=b;a=a+d|0;d=0;a:{if(Ka(e,b,0)){J[c+56>>2]=1;ua[J[J[e>>2]+20>>2]](e,c+8|0,a,a,1,0);d=J[c+32>>2]==1?a:0;break a}ua[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]}sa=c- -64|0;return d}function Yr(){var a=0,b=0,c=0,d=0,e=0,f=0,g=0,h=0;b=sa-32|0;sa=b;a=La(10448);if(!K[33780]){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;Lc(b+8|0);H[33780]=1}J[a+4>>2]=2;J[a+10444>>2]=33692;J[a+64>>2]=466;H[a+24|0]=1;J[a>>2]=12836;J[a+20>>2]=0;J[a+60>>2]=0;J[a+28>>2]=17852;J[a+12>>2]=0;J[a+16>>2]=0;g=a,h=ua[J[J[8423]+12>>2]](33692)|0,J[g+68>>2]=h;g=a,h=ua[J[J[8423]+8>>2]](33692)|0,J[g+72>>2]=h;while(1){c=0;while(1){e=(P(d,144)+a|0)+(c<<2)|0;f=J[a+10444>>2];g=e,h=ua[J[J[f>>2]+16>>2]](f,d,c)|0,J[g+76>>2]=h;f=e+5260|0;e=J[a+10444>>2];g=f,h=ua[J[J[e>>2]+20>>2]](e,d,c)|0,J[g>>2]=h;c=c+1|0;if((c|0)!=36){continue}break}d=d+1|0;if((d|0)!=36){continue}break}sa=b+32|0;return a|0}function Lo(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=sa+-64|0;sa=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;ua[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];ua[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);sa=e- -64|0}function Sk(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=sa-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 Zp(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=Q(0),o=Q(0),p=Q(0);J[a+84>>2]=J[J[J[b+4>>2]+8>>2]+8>>2];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 Q(N[b+40>>2])}function bs(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);J[8456]=J[8456]+1;g=ua[J[8258]](132,16)|0;J[g+12>>2]=0;J[g+16>>2]=0;J[g+4>>2]=35;J[g+8>>2]=0;J[g+20>>2]=0;J[g>>2]=20152;J[g>>2]=20364;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 fd(a){a=a|0;var b=0;J[a>>2]=30840;b=J[a+144>>2];if(!(b?!b|!K[a+148|0]:1)){J[8457]=J[8457]+1;ua[J[8259]](b)}J[a+144>>2]=0;H[a+148|0]=1;J[a+136>>2]=0;J[a+140>>2]=0;J[a>>2]=30888;b=J[a+124>>2];if(!(b?!b|!K[a+128|0]:1)){J[8457]=J[8457]+1;ua[J[8259]](b)}J[a+124>>2]=0;H[a+128|0]=1;J[a+116>>2]=0;J[a+120>>2]=0;b=J[a+104>>2];if(!(b?!b|!K[a+108|0]:1)){J[8457]=J[8457]+1;ua[J[8259]](b)}J[a+104>>2]=0;H[a+108|0]=1;J[a+96>>2]=0;J[a+100>>2]=0;b=J[a+84>>2];if(!(b?!b|!K[a+88|0]:1)){J[8457]=J[8457]+1;ua[J[8259]](b)}J[a+84>>2]=0;H[a+88|0]=1;J[a+76>>2]=0;J[a+80>>2]=0;b=J[a+32>>2];if(!(b?!b|!K[a+36|0]:1)){J[8457]=J[8457]+1;ua[J[8259]](b)}J[a+32>>2]=0;H[a+36|0]=1;J[a+24>>2]=0;J[a+28>>2]=0;J[a>>2]=30816;return a|0}function Fa(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=us(b,0,1,1);f=ta;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 ob(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=sa-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 Kg(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=Q(0),o=Q(0),p=Q(0);J[a+84>>2]=J[J[b+4>>2]+8>>2];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 Q(N[b+40>>2])}function dd(a){a=a|0;var b=0;J[a>>2]=30968;b=J[a+144>>2];if(!(b?!b|!K[a+148|0]:1)){J[8457]=J[8457]+1;ua[J[8259]](b)}J[a+144>>2]=0;H[a+148|0]=1;J[a+136>>2]=0;J[a+140>>2]=0;J[a>>2]=31016;b=J[a+124>>2];if(!(b?!b|!K[a+128|0]:1)){J[8457]=J[8457]+1;ua[J[8259]](b)}J[a+124>>2]=0;H[a+128|0]=1;J[a+116>>2]=0;J[a+120>>2]=0;b=J[a+104>>2];if(!(b?!b|!K[a+108|0]:1)){J[8457]=J[8457]+1;ua[J[8259]](b)}J[a+104>>2]=0;H[a+108|0]=1;J[a+96>>2]=0;J[a+100>>2]=0;b=J[a+84>>2];if(!(b?!b|!K[a+88|0]:1)){J[8457]=J[8457]+1;ua[J[8259]](b)}J[a+84>>2]=0;H[a+88|0]=1;J[a+76>>2]=0;J[a+80>>2]=0;b=J[a+32>>2];if(!(b?!b|!K[a+36|0]:1)){J[8457]=J[8457]+1;ua[J[8259]](b)}J[a+32>>2]=0;H[a+36|0]=1;J[a+24>>2]=0;J[a+28>>2]=0;return a|0}function Ip(a){a=a|0;var b=0,c=0;J[8456]=J[8456]+1;b=ua[J[8258]](144,16)|0;J[b+8>>2]=1065353216;J[b+12>>2]=1065353216;J[b+4>>2]=0;J[b+104>>2]=1065353216;J[b+108>>2]=1065353216;J[b+96>>2]=0;J[b+100>>2]=0;J[b+88>>2]=1065353216;J[b+92>>2]=0;J[b+80>>2]=0;J[b+84>>2]=0;J[b+72>>2]=1065353216;J[b+76>>2]=1065353216;c=b- -64|0;J[c>>2]=0;J[c+4>>2]=0;J[b+56>>2]=1065353216;J[b+60>>2]=0;J[b+48>>2]=1065353216;J[b+52>>2]=0;J[b+40>>2]=0;J[b+44>>2]=1065353216;J[b+32>>2]=0;J[b+36>>2]=0;J[b+24>>2]=0;J[b+28>>2]=1065353216;J[b+16>>2]=1065353216;J[b+20>>2]=0;J[b+112>>2]=0;J[b+116>>2]=0;J[b+120>>2]=0;J[b+124>>2]=0;J[b+128>>2]=0;J[b+132>>2]=0;H[b+136|0]=0;J[b+140>>2]=J[a>>2];J[a>>2]=0;J[b>>2]=31352;return b|0}function Vc(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0;d=J[b+188>>2];if(d){c=J[a+68>>2];c=ua[J[J[c>>2]+36>>2]](c)|0;ua[J[J[c>>2]+40>>2]](c,d,J[a+24>>2]);c=J[a+68>>2];ua[J[J[c>>2]+12>>2]](c,d,J[a+24>>2]);J[b+188>>2]=0}c=J[b+216>>2];d=J[a+8>>2];a:{if(!((c|0)<0|(c|0)>=(d|0))){e=J[a+16>>2];f=c<<2;g=e+f|0;h=J[g>>2];i=e;d=d-1|0;e=d<<2;J[g>>2]=J[i+e>>2];J[e+J[a+16>>2]>>2]=h;J[a+8>>2]=d;if((c|0)>=(d|0)){break a}J[J[f+J[a+16>>2]>>2]+216>>2]=c;break a}if((d|0)<=0){break a}e=J[a+16>>2];c=0;while(1){f=e+(c<<2)|0;if(J[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;J[f>>2]=J[c+e>>2];J[c+J[a+16>>2]>>2]=b;J[a+8>>2]=d}J[b+216>>2]=-1}function Gc(a){a=a|0;var b=0;J[a>>2]=18460;b=J[a+160>>2];if(!(b?!b|!K[a+164|0]:1)){J[8457]=J[8457]+1;ua[J[8259]](b)}J[a+160>>2]=0;H[a+164|0]=1;J[a+152>>2]=0;J[a+156>>2]=0;b=J[a+136>>2];if(!(b?!b|!K[a+140|0]:1)){J[8457]=J[8457]+1;ua[J[8259]](b)}J[a+136>>2]=0;H[a+140|0]=1;J[a+128>>2]=0;J[a+132>>2]=0;b=J[a+116>>2];if(!(b?!b|!K[a+120|0]:1)){J[8457]=J[8457]+1;ua[J[8259]](b)}J[a+116>>2]=0;H[a+120|0]=1;J[a+108>>2]=0;J[a+112>>2]=0;b=J[a+96>>2];if(!(b?!b|!K[a+100|0]:1)){J[8457]=J[8457]+1;ua[J[8259]](b)}J[a+96>>2]=0;H[a+100|0]=1;J[a+88>>2]=0;J[a+92>>2]=0;b=J[a+76>>2];if(!(b?!b|!K[a+80|0]:1)){J[8457]=J[8457]+1;ua[J[8259]](b)}J[a+76>>2]=0;H[a+80|0]=1;J[a+68>>2]=0;J[a+72>>2]=0;return a|0}function Bn(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=sa-96|0;sa=d;f=J[J[a>>2]>>2];g=J[J[a+4>>2]>>2];a:{if(!(ua[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=ua[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]=17852;a=J[a+8>>2];e=J[a>>2];if(J[c+8>>2]==1){ua[J[e+8>>2]](a,d+72|0,d+48|0,c,b);break a}h=Q(ua[J[e+12>>2]](a,f,g,c,b));if(!(h>2])){break a}N[c+12>>2]=h}sa=d+96|0}function Wn(a,b,c){a=a|0;b=b|0;c=c|0;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);f=J[a+44>>2];a=J[a+4>>2];a:{if(a){if(f){e=N[a+24>>2];d=N[f+24>>2];g=e>d?e:d;e=N[a+20>>2];d=N[f+20>>2];h=e>d?e:d;e=N[a+8>>2];d=N[f+8>>2];i=e>2];d=N[f+4>>2];j=e>2];d=N[f+16>>2];k=e>d?e:d;d=N[a>>2];e=N[f>>2];d=e>d?d:e;break a}l=N[a+28>>2];g=N[a+24>>2];h=N[a+20>>2];k=N[a+16>>2];e=N[a+12>>2];i=N[a+8>>2];j=N[a+4>>2];d=N[a>>2];break a}d=Q(0);if(!f){break a}l=N[f+28>>2];g=N[f+24>>2];h=N[f+20>>2];k=N[f+16>>2];e=N[f+12>>2];i=N[f+8>>2];j=N[f+4>>2];d=N[f>>2]}N[b+12>>2]=e;N[b+8>>2]=i;N[b+4>>2]=j;N[b>>2]=d;N[c+12>>2]=l;N[c+8>>2]=g;N[c+4>>2]=h;N[c>>2]=k}function Qa(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 Ej(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=sa+-64|0;sa=e;J[e+44>>2]=b;J[e+40>>2]=21336;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];ua[J[J[a>>2]+64>>2]](a,e+40|0,e+24|0,e+8|0);sa=e- -64|0}function Ic(a,b){var c=Q(0),d=Q(0),e=Q(0),f=Q(0),g=0,h=Q(0),i=Q(0),j=Q(0),k=Q(0),l=Q(0);a=Ob(a);J[a+4>>2]=0;J[a>>2]=18128;d=N[b>>2];f=N[b+4>>2];c=N[b+8>>2];J[a+48>>2]=0;e=Q(c*N[a+28>>2]);c=N[a+52>>2];N[a+44>>2]=e-c;N[a+40>>2]=Q(f*N[a+24>>2])-c;N[a+36>>2]=Q(d*N[a+20>>2])-c;e=c;c=N[b>>2];d=N[b+4>>2];g=c>2]>(g?c:d)?!g:2)<<2)+b>>2]*Q(.10000000149011612));if(e>c){d=N[a+52>>2];f=Q(ua[J[J[a>>2]+48>>2]](a));h=Q(ua[J[J[a>>2]+48>>2]](a));N[a+52>>2]=c;c=N[a+44>>2];i=N[a+36>>2];j=N[a+40>>2];k=Q(ua[J[J[a>>2]+48>>2]](a));l=Q(ua[J[J[a>>2]+48>>2]](a));e=Q(ua[J[J[a>>2]+48>>2]](a));J[a+48>>2]=0;N[a+40>>2]=Q(f+j)-l;N[a+36>>2]=Q(d+i)-k;N[a+44>>2]=Q(h+c)-e}return a}function He(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(ua[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 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=Q(0);f=N[a+20>>2];g=N[a+32>>2];h=N[a+24>>2];i=N[a+28>>2];e=Q(Q(g*N[b+8>>2])+Q(Q(h*N[b>>2])+Q(i*N[b+4>>2])));if(f>2]=e;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;f=e}e=Q(Q(g*N[b+24>>2])+Q(Q(h*N[b+16>>2])+Q(i*N[b+20>>2])));if(e>f){N[a+20>>2]=e;c=J[b+28>>2];J[a+12>>2]=J[b+24>>2];J[a+16>>2]=c;c=J[b+20>>2];J[a+4>>2]=J[b+16>>2];J[a+8>>2]=c}else{e=f}f=Q(Q(g*N[b+40>>2])+Q(Q(h*N[b+32>>2])+Q(i*N[b+36>>2])));if(e>2]=f;c=J[b+44>>2];J[a+12>>2]=J[b+40>>2];J[a+16>>2]=c;c=J[b+36>>2];J[a+4>>2]=J[b+32>>2];J[a+8>>2]=c}}function Ok(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=sa-96|0;sa=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;ua[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);sa=d+96|0}function Li(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);f=N[a+84>>2];g=N[a+96>>2];h=N[a+88>>2];i=N[a+92>>2];e=Q(Q(g*N[b+8>>2])+Q(Q(h*N[b>>2])+Q(i*N[b+4>>2])));if(f>2]=e;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;f=e}e=Q(Q(g*N[b+24>>2])+Q(Q(h*N[b+16>>2])+Q(i*N[b+20>>2])));if(e>f){N[a+84>>2]=e;c=J[b+28>>2];J[a+12>>2]=J[b+24>>2];J[a+16>>2]=c;c=J[b+20>>2];J[a+4>>2]=J[b+16>>2];J[a+8>>2]=c}else{e=f}f=Q(Q(g*N[b+40>>2])+Q(Q(h*N[b+32>>2])+Q(i*N[b+36>>2])));if(e>2]=f;c=J[b+44>>2];J[a+12>>2]=J[b+40>>2];J[a+16>>2]=c;c=J[b+36>>2];J[a+4>>2]=J[b+32>>2];J[a+8>>2]=c}}function Bb(a){var b=0,c=0,d=Q(0),e=Q(0),f=Q(0),g=0,h=Q(0),i=Q(0),j=Q(0),k=0,l=0;c=sa-16|0;sa=c;d=N[a+156>>2];N[c>>2]=d;e=N[a+152>>2];N[c+4>>2]=e;f=N[a+160>>2];J[c+12>>2]=0;N[c+8>>2]=f;b=J[a+8>>2];a:{if(!b){J[8456]=J[8456]+1;k=a,l=Ic(ua[J[8258]](64,16)|0,c),J[k+8>>2]=l;break a}h=Q(ua[J[J[b>>2]+48>>2]](b));i=Q(ua[J[J[b>>2]+48>>2]](b));j=Q(ua[J[J[b>>2]+48>>2]](b));J[b+48>>2]=0;N[b+44>>2]=Q(f*N[b+28>>2])-j;N[b+40>>2]=Q(e*N[b+24>>2])-i;N[b+36>>2]=Q(d*N[b+20>>2])-h;g=d>2]*Q(.10000000149011612));if(!(Q(ua[J[J[b>>2]+48>>2]](b))>d)){break a}ua[J[J[b>>2]+44>>2]](b,d)}b=J[a+4>>2];ua[J[J[b>>2]+8>>2]](b,J[a+8>>2]);sa=c+16|0}function tc(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 je(a){a=a|0;var b=0,c=0,d=0,e=0;J[a>>2]=20812;b=J[a+56>>2];if(!(b?!b|!K[a+60|0]:1)){J[8457]=J[8457]+1;ua[J[8259]](b)}J[a+56>>2]=0;H[a+60|0]=1;J[a+48>>2]=0;J[a+52>>2]=0;e=J[a+28>>2];if((e|0)>0){while(1){b=J[a+36>>2]+P(c,36)|0;d=J[b+12>>2];if(!(d?!d|!K[b+16|0]:1)){J[8457]=J[8457]+1;ua[J[8259]](d)}J[b+12>>2]=0;H[b+16|0]=1;J[b+4>>2]=0;J[b+8>>2]=0;c=c+1|0;if((e|0)!=(c|0)){continue}break}}b=J[a+36>>2];if(!(b?!b|!K[a+40|0]:1)){J[8457]=J[8457]+1;ua[J[8259]](b)}J[a+36>>2]=0;H[a+40|0]=1;J[a+28>>2]=0;J[a+32>>2]=0;b=J[a+16>>2];if(!(b?!b|!K[a+20|0]:1)){J[8457]=J[8457]+1;ua[J[8259]](b)}J[a+16>>2]=0;H[a+20|0]=1;J[a+8>>2]=0;J[a+12>>2]=0;return a|0}function Kd(a){H[a+20|0]=1;J[a>>2]=23736;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]=952;J[a+216>>2]=953;J[a+220>>2]=954;return a}function Gk(a){a=a|0;var b=Q(0),c=0,d=0,e=0,f=0;c=sa-32|0;sa=c;J[a+56>>2]=-581039253;J[a+60>>2]=-581039253;J[a+40>>2]=1566444395;J[a+44>>2]=1566444395;d=a- -64|0;J[d>>2]=-581039253;J[d+4>>2]=0;J[a+48>>2]=1566444395;J[a+52>>2]=0;if(J[a+24>>2]>0){while(1){d=J[a+32>>2]+P(e,80)|0;f=J[d+64>>2];ua[J[J[f>>2]+8>>2]](f,d,c+16|0,c);b=N[c+16>>2];if(b>2]){N[a+40>>2]=b}b=N[c>>2];if(b>N[a+56>>2]){N[a+56>>2]=b}b=N[c+20>>2];if(b>2]){N[a+44>>2]=b}b=N[c+4>>2];if(b>N[a+60>>2]){N[a+60>>2]=b}b=N[c+24>>2];if(b>2]){N[a+48>>2]=b}b=N[c+8>>2];if(b>N[a+64>>2]){N[a+64>>2]=b}e=e+1|0;if((e|0)>2]){continue}break}}sa=c+32|0}function hb(a){var b=0,c=0,d=Q(0),e=0;e=(B(a),v(2));c=e&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}d=Q(a*a);return Q(Q(a*Q(Q(Q(Q(d*Q(Q(d*Q(-.008656363002955914))+Q(-.04274342209100723)))+Q(.16666586697101593))*d)/Q(Q(d*Q(-.7066296339035034))+Q(1))))+a)}a=Q(Q(Q(1)-Q(R(a)))*Q(.5));b=Y(+a);b=b+b*+Q(Q(Q(Q(a*Q(Q(a*Q(-.008656363002955914))+Q(-.04274342209100723)))+Q(.16666586697101593))*a)/Q(Q(a*Q(-.7066296339035034))+Q(1)));a=Q(1.5707963267948966-(b+b));a=(e|0)<0?Q(-a):a}return a}function Iq(a,b){a=a|0;b=b|0;a:{b:{c:{switch(b|0){case 0:if(!a){break b}if(a){J[8457]=J[8457]+1;ua[J[8259]](a)}return;case 1:if(!a){break b}Ga(a);return;case 2:if(!a){break b}Ga(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}ua[J[J[a>>2]+4>>2]](a)}return}ua[J[J[a>>2]+4>>2]](a)}function zd(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=Ma(c);e=N[b+444>>2];c=Na(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(Na(e)/Q(Y(Q(Q(c*c)+Q(h+Q(0))))));c=Q(g*Q(-c));e=Ma(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 Oc(a){a=a|0;var b=0,c=0,d=0,e=0;J[a>>2]=16192;d=J[a+52>>2];if((d|0)>0){while(1){e=b<<2;c=J[e+J[a+60>>2]>>2];if(c){ua[J[J[c>>2]>>2]](c)|0;c=J[a+4>>2];ua[J[J[c>>2]+60>>2]](c,J[J[a+60>>2]+e>>2])}b=b+1|0;if((d|0)!=(b|0)){continue}break}}b=J[a+60>>2];if(!(b?!b|!K[a- -64|0]:1)){J[8457]=J[8457]+1;ua[J[8259]](b)}J[a+60>>2]=0;H[a+64|0]=1;J[a+52>>2]=0;J[a+56>>2]=0;b=J[a+40>>2];if(!(b?!b|!K[a+44|0]:1)){J[8457]=J[8457]+1;ua[J[8259]](b)}J[a+40>>2]=0;H[a+44|0]=1;J[a+32>>2]=0;J[a+36>>2]=0;b=J[a+20>>2];if(!(b?!b|!K[a+24|0]:1)){J[8457]=J[8457]+1;ua[J[8259]](b)}J[a+20>>2]=0;H[a+24|0]=1;J[a+12>>2]=0;J[a+16>>2]=0;return a|0}function Zf(){var a=0;H[33090]=0;I[16544]=20565;H[33099]=2;J[8275]=1162103123;J[8278]=1314344772;H[33111]=4;H[33123]=4;H[33104]=0;H[33135]=6;H[33116]=0;J[8281]=K[9159]|K[9160]<<8|(K[9161]<<16|K[9162]<<24);H[33130]=0;a=K[9163]|K[9164]<<8;H[33128]=a;H[33129]=a>>>8;J[8447]=0;J[8446]=324;If();J[8447]=J[8948];J[8948]=33784;H[35767]=4;I[17872]=20565;H[35755]=2;H[35779]=4;J[8939]=1162103123;H[35791]=6;J[8942]=1314344772;J[8945]=K[9159]|K[9160]<<8|(K[9161]<<16|K[9162]<<24);a=K[9163]|K[9164]<<8;H[35784]=a;H[35785]=a>>>8;H[35746]=0;H[35760]=0;H[35772]=0;H[35786]=0;J[8949]=1063;J[8950]=0;pd();J[8950]=J[8948];J[8948]=35796}function Ek(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=sa-96|0;sa=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;ua[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);sa=d+96|0}function wh(a,b){a=a|0;b=Q(b);var c=0,d=0,e=0,f=0,g=0;d=sa-16|0;sa=d;ua[J[8262]](5872);c=J[a+84>>2];if(c){ua[c|0](a,b)}ua[J[J[a>>2]+140>>2]](a,b);c=0;J[a+32>>2]=0;N[a+28>>2]=b;f=a,g=ua[J[J[a>>2]+20>>2]](a)|0,J[f+48>>2]=g;ua[J[J[a>>2]+164>>2]](a,b);ua[J[J[a>>2]+44>>2]](a);ua[J[J[a>>2]+148>>2]](a);N[a+104>>2]=b;ua[J[J[a>>2]+152>>2]](a,a+92|0);ua[J[J[a>>2]+144>>2]](a,b);ua[J[8262]](4095);if(J[a+296>>2]>0){while(1){e=J[J[a+304>>2]+(c<<2)>>2];ua[J[J[e>>2]+8>>2]](e,a,b);c=c+1|0;if((c|0)>2]){continue}break}}ua[J[8263]]();ua[J[J[a>>2]+156>>2]](a,b);c=J[a+80>>2];if(c){ua[c|0](a,b)}ua[J[8263]]();sa=d+16|0}function Fj(a,b){a=a|0;b=b|0;var c=Q(0),d=0;d=sa-96|0;sa=d;tb(a,b);H[a+96|0]=1;if(!K[34e3]){J[8477]=0;J[8478]=0;J[8476]=1065353216;J[8479]=0;J[8480]=0;J[8482]=0;J[8483]=0;J[8481]=1065353216;J[8484]=0;J[8485]=0;J[8489]=0;J[8490]=0;J[8488]=-1082130432;J[8486]=1065353216;J[8487]=0;J[8491]=0;J[8492]=0;J[8494]=0;J[8495]=0;J[8493]=-1082130432;J[8496]=0;J[8497]=0;J[8498]=-1082130432;J[8499]=0;H[34e3]=1}b=Fa(d,0,96);ua[J[J[a>>2]+76>>2]](a,33904,b,6);c=N[a+52>>2];N[a+80>>2]=c+N[b>>2];N[a+64>>2]=N[b+48>>2]-c;N[a+84>>2]=c+N[b+20>>2];N[a+68>>2]=N[b+68>>2]-c;N[a+88>>2]=c+N[b+40>>2];N[a+72>>2]=N[b+88>>2]-c;sa=b+96|0}function Zm(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=sa-48|0;sa=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(ua[J[J[a>>2]+12>>2]](a,f+8|0,1));sa=f+48|0;return Q(c)}function eg(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(Ka(a,J[b+8>>2],f)){gc(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;fc(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;fc(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 Ac(a){var b=0,c=Q(0);b=sa-96|0;sa=b;H[a+96|0]=1;if(!K[34e3]){J[8477]=0;J[8478]=0;J[8476]=1065353216;J[8479]=0;J[8480]=0;J[8482]=0;J[8483]=0;J[8481]=1065353216;J[8484]=0;J[8485]=0;J[8489]=0;J[8490]=0;J[8488]=-1082130432;J[8486]=1065353216;J[8487]=0;J[8491]=0;J[8492]=0;J[8494]=0;J[8495]=0;J[8493]=-1082130432;J[8496]=0;J[8497]=0;J[8498]=-1082130432;J[8499]=0;H[34e3]=1}b=Fa(b,0,96);ua[J[J[a>>2]+76>>2]](a,33904,b,6);c=N[a+52>>2];N[a+80>>2]=N[b>>2]+c;N[a+64>>2]=N[b+48>>2]-c;N[a+84>>2]=c+N[b+20>>2];N[a+68>>2]=N[b+68>>2]-c;N[a+88>>2]=c+N[b+40>>2];N[a+72>>2]=N[b+88>>2]-c;sa=b+96|0}function rf(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]=12284;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;J[8456]=J[8456]+1;e=ua[J[8258]](32,16)|0;f=J[a+8>>2];if((f|0)>0){while(1){c=d<<4;b=c+e|0;c=c+J[a+16>>2]|0;J[b>>2]=J[c>>2];J[b+4>>2]=J[c+4>>2];J[b+8>>2]=J[c+8>>2];J[b+12>>2]=J[c+12>>2];d=d+1|0;if((f|0)!=(d|0)){continue}break}}b=J[a+16>>2];if(!(b?!b|!K[a+20|0]:1)){J[8457]=J[8457]+1;ua[J[8259]](b)}J[a+16>>2]=e;H[a+20|0]=1;J[a+12>>2]=2;qf(a);return a}function Mi(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];ua[J[J[a>>2]+8>>2]](a,b,c,d)}}function hk(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(ua[J[J[a>>2]+48>>2]](a));d=Q(d+Q(ua[J[J[a>>2]+48>>2]](a)));k=Q(ua[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 $p(a){a=a|0;var b=0;J[a>>2]=30888;b=J[a+124>>2];if(!(b?!b|!K[a+128|0]:1)){J[8457]=J[8457]+1;ua[J[8259]](b)}J[a+124>>2]=0;H[a+128|0]=1;J[a+116>>2]=0;J[a+120>>2]=0;b=J[a+104>>2];if(!(b?!b|!K[a+108|0]:1)){J[8457]=J[8457]+1;ua[J[8259]](b)}J[a+104>>2]=0;H[a+108|0]=1;J[a+96>>2]=0;J[a+100>>2]=0;b=J[a+84>>2];if(!(b?!b|!K[a+88|0]:1)){J[8457]=J[8457]+1;ua[J[8259]](b)}J[a+84>>2]=0;H[a+88|0]=1;J[a+76>>2]=0;J[a+80>>2]=0;b=J[a+32>>2];if(!(b?!b|!K[a+36|0]:1)){J[8457]=J[8457]+1;ua[J[8259]](b)}J[a+32>>2]=0;H[a+36|0]=1;J[a+24>>2]=0;J[a+28>>2]=0;J[a>>2]=30816;return a|0}function $d(a){a=a|0;var b=0;J[a>>2]=22040;b=J[a+156>>2];if(!(b?!b|!K[a+160|0]:1)){J[8457]=J[8457]+1;ua[J[8259]](b)}J[a+156>>2]=0;H[a+160|0]=1;J[a+148>>2]=0;J[a+152>>2]=0;b=J[a+136>>2];if(!(b?!b|!K[a+140|0]:1)){J[8457]=J[8457]+1;ua[J[8259]](b)}J[a+136>>2]=0;H[a+140|0]=1;J[a+128>>2]=0;J[a+132>>2]=0;b=J[a+116>>2];if(!(b?!b|!K[a+120|0]:1)){J[8457]=J[8457]+1;ua[J[8259]](b)}J[a+116>>2]=0;H[a+120|0]=1;J[a+108>>2]=0;J[a+112>>2]=0;b=J[a+96>>2];if(!(b?!b|!K[a+100|0]:1)){J[8457]=J[8457]+1;ua[J[8259]](b)}J[a+96>>2]=0;H[a+100|0]=1;J[a+88>>2]=0;J[a+92>>2]=0;return zc(a)|0}function Pd(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 lq(){var a=0,b=0;a=sa-32|0;sa=a;if(!K[33644]){J[8375]=-1;J[8376]=0;J[8373]=1065353216;J[8374]=1;H[33524]=1;J[8372]=31016;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]=30968;J[8408]=0;H[33640]=1;J[8406]=0;J[8407]=0;J[8374]=-1;H[33644]=1}sa=a+32|0;return 33488}function gg(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;if(Ka(a,J[b+8>>2],e)){if(!(J[b+28>>2]==1|J[b+4>>2]!=(c|0))){J[b+28>>2]=d}return}a:{if(Ka(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];ua[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];ua[J[J[a>>2]+24>>2]](a,b,c,d,e)}}function Vp(a){a=a|0;var b=0;J[a>>2]=31016;b=J[a+124>>2];if(!(b?!b|!K[a+128|0]:1)){J[8457]=J[8457]+1;ua[J[8259]](b)}J[a+124>>2]=0;H[a+128|0]=1;J[a+116>>2]=0;J[a+120>>2]=0;b=J[a+104>>2];if(!(b?!b|!K[a+108|0]:1)){J[8457]=J[8457]+1;ua[J[8259]](b)}J[a+104>>2]=0;H[a+108|0]=1;J[a+96>>2]=0;J[a+100>>2]=0;b=J[a+84>>2];if(!(b?!b|!K[a+88|0]:1)){J[8457]=J[8457]+1;ua[J[8259]](b)}J[a+84>>2]=0;H[a+88|0]=1;J[a+76>>2]=0;J[a+80>>2]=0;b=J[a+32>>2];if(!(b?!b|!K[a+36|0]:1)){J[8457]=J[8457]+1;ua[J[8259]](b)}J[a+32>>2]=0;H[a+36|0]=1;J[a+24>>2]=0;J[a+28>>2]=0;return a|0}function bk(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=sa-16|0;sa=e;ua[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(ua[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(ua[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))}sa=e+16|0}function mm(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);h=N[a+96>>2];i=N[a+80>>2];k=N[a+84>>2];l=N[a+104>>2];j=N[a+100>>2];e=N[a+68>>2];f=N[a+72>>2];m=N[a+88>>2];g=N[a+64>>2];J[c+12>>2]=0;i=Q(i-g);j=Q(j-e);g=Q(h-g);h=Q(k-e);e=Q(Q(i*j)-Q(g*h));k=e;n=Q(e*e);e=h;h=Q(l-f);f=Q(m-f);e=Q(Q(e*h)-Q(j*f));f=Q(Q(f*g)-Q(h*i));g=Q(Q(1)/Q(Y(Q(n+Q(Q(e*e)+Q(f*f))))));N[c+8>>2]=k*g;N[c+4>>2]=f*g;N[c>>2]=e*g;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 ui(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 Sr(){var a=0,b=0;a=sa-32|0;sa=a;if(!K[33388]){J[8312]=0;J[8309]=1065353216;J[8310]=0;H[33268]=1;J[8308]=30888;J[8316]=0;J[8314]=0;J[8315]=0;b=J[a+20>>2];J[8318]=J[a+16>>2];J[8319]=b;b=J[a+28>>2];J[8320]=J[a+24>>2];J[8321]=b;b=J[a+4>>2];J[8322]=J[a>>2];J[8323]=b;b=J[a+12>>2];J[8324]=J[a+8>>2];J[8325]=b;H[33320]=1;J[8329]=0;H[33340]=1;J[8327]=0;J[8328]=0;J[8334]=0;J[8332]=0;J[8333]=0;H[33360]=1;J[8339]=0;J[8337]=0;J[8338]=0;H[33380]=1;J[8308]=30840;J[8344]=0;H[33384]=1;J[8342]=0;J[8343]=0;J[8311]=-1;H[33388]=1}sa=a+32|0;return 33232}function Vl(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 J[a+56>>2]}if(!((c|0)!=1|d)){return J[a+72>>2]}if(!((b|0)!=1|(c|0)!=8)){return J[a+76>>2]}if(!(b|c)){return J[a+68>>2]}if(!((c|0)!=28|(b|0)>19)){return J[a+84>>2]}if(!((b|0)!=28|(c|0)>19)){return J[a+80>>2]}a:{if((b|0)<=19){if((c|0)<=19){return J[a+28>>2]}if(c-21>>>0>8){break a}return J[a+32>>2]}if(!((c|0)>19|b-21>>>0>8)){return J[a+36>>2]}if((b|0)!=31){break a}if((c|0)==31){return J[a+44>>2]}return J[a+40>>2]}if((c|0)==31){return J[a+48>>2]}return J[a+52>>2]}function Ak(a,b,c){a=a|0;b=b|0;c=c|0;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 wf(a){a=a|0;var b=0,c=0,d=0,e=0;J[a>>2]=11916;if(K[a+152|0]){b=J[a+96>>2];ua[J[J[b>>2]>>2]](b)|0;b=J[a+96>>2];if(b){J[8457]=J[8457]+1;ua[J[8259]](b)}}e=J[a+160>>2];if((e|0)>0){while(1){b=J[a+168>>2]+P(c,20)|0;d=J[b+12>>2];if(!(d?!d|!K[b+16|0]:1)){J[8457]=J[8457]+1;ua[J[8259]](d)}H[b+16|0]=1;J[b+12>>2]=0;J[b+4>>2]=0;J[b+8>>2]=0;c=c+1|0;if((e|0)!=(c|0)){continue}break}}b=J[a+168>>2];if(!(b?!b|!K[a+172|0]:1)){J[8457]=J[8457]+1;ua[J[8259]](b)}J[a+168>>2]=0;H[a+172|0]=1;J[a+160>>2]=0;J[a+164>>2]=0;$c(a+44|0);$c(a+4|0);return a|0}function Vh(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;d=J[a+28>>2];if((d|0)<=0){break a}while(1){e=0;j=Q(0);if((d|0)>0){while(1){f=J[a+16>>2];b=J[a+36>>2]+P(J[J[a+116>>2]+(e<<2)>>2],152)|0;k=Q(ua[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);e=e+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)){break a}d=J[a+28>>2];continue}}}function Ho(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=sa-16|0;sa=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);ua[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));ua[J[J[a>>2]+16>>2]](a,b,e,f);sa=e+16|0}function oq(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 tm(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 $b(a,b,c){var d=0;d=J[a+4>>2];a:{if(d){J[a+4>>2]=0;break a}J[8456]=J[8456]+1;d=ua[J[8258]](44,16)|0;J[d>>2]=0;J[d+4>>2]=0;J[d+40>>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;J[d+8>>2]=0;J[d+12>>2]=0}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;ac(a,J[a>>2],d);J[a+12>>2]=J[a+12>>2]+1;return d}function Wl(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 J[a+56>>2]}if(!((c|0)!=1|d)){return J[a+72>>2]}if(!((b|0)!=1|(c|0)!=8)){return J[a+76>>2]}if(!((c|0)!=28|(b|0)>19)){return J[a+84>>2]}if(!((b|0)!=28|(c|0)>19)){return J[a+80>>2]}a:{if((b|0)<=19){if((c|0)<=19){return J[a+28>>2]}if(c-21>>>0>8){break a}return J[a+32>>2]}if(!((c|0)>19|b-21>>>0>8)){return J[a+36>>2]}if((b|0)!=31){break a}if((c|0)==31){return J[a+44>>2]}return J[a+40>>2]}if((c|0)==31){return J[a+48>>2]}return J[a+52>>2]}function vj(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=sa-16|0;sa=e;ua[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(ua[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));sa=e+16|0}function rm(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),m=Q(0);f=N[a+96>>2];h=N[a+80>>2];j=N[a+84>>2];k=N[a+104>>2];i=N[a+100>>2];d=N[a+68>>2];e=N[a+72>>2];l=N[a+88>>2];g=N[a+64>>2];J[c+12>>2]=0;h=Q(h-g);i=Q(i-d);g=Q(f-g);f=Q(j-d);d=Q(Q(h*i)-Q(g*f));j=d;m=Q(d*d);d=f;f=Q(k-e);e=Q(l-e);d=Q(Q(d*f)-Q(i*e));e=Q(Q(e*g)-Q(f*h));g=Q(Q(1)/Q(Y(Q(m+Q(Q(d*d)+Q(e*e))))));f=Q(j*g);N[c+8>>2]=f;e=Q(e*g);N[c+4>>2]=e;d=Q(d*g);N[c>>2]=d;if(b){N[c+8>>2]=-f;N[c+4>>2]=-e;N[c>>2]=-d}}function Ce(a){H[a+60|0]=0;J[a+52>>2]=287;J[a+144>>2]=0;H[a+80|0]=1;J[a>>2]=18460;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 Nq(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),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 _p(a){a=a|0;var b=0;J[a>>2]=30888;b=J[a+124>>2];if(!(b?!b|!K[a+128|0]:1)){J[8457]=J[8457]+1;ua[J[8259]](b)}J[a+124>>2]=0;H[a+128|0]=1;J[a+116>>2]=0;J[a+120>>2]=0;b=J[a+104>>2];if(!(b?!b|!K[a+108|0]:1)){J[8457]=J[8457]+1;ua[J[8259]](b)}J[a+104>>2]=0;H[a+108|0]=1;J[a+96>>2]=0;J[a+100>>2]=0;b=J[a+84>>2];if(!(b?!b|!K[a+88|0]:1)){J[8457]=J[8457]+1;ua[J[8259]](b)}J[a+84>>2]=0;H[a+88|0]=1;J[a+76>>2]=0;J[a+80>>2]=0;b=J[a+32>>2];if(!(b?!b|!K[a+36|0]:1)){J[8457]=J[8457]+1;ua[J[8259]](b)}Ga(a)}function Up(a){a=a|0;var b=0;J[a>>2]=31016;b=J[a+124>>2];if(!(b?!b|!K[a+128|0]:1)){J[8457]=J[8457]+1;ua[J[8259]](b)}J[a+124>>2]=0;H[a+128|0]=1;J[a+116>>2]=0;J[a+120>>2]=0;b=J[a+104>>2];if(!(b?!b|!K[a+108|0]:1)){J[8457]=J[8457]+1;ua[J[8259]](b)}J[a+104>>2]=0;H[a+108|0]=1;J[a+96>>2]=0;J[a+100>>2]=0;b=J[a+84>>2];if(!(b?!b|!K[a+88|0]:1)){J[8457]=J[8457]+1;ua[J[8259]](b)}J[a+84>>2]=0;H[a+88|0]=1;J[a+76>>2]=0;J[a+80>>2]=0;b=J[a+32>>2];if(!(b?!b|!K[a+36|0]:1)){J[8457]=J[8457]+1;ua[J[8259]](b)}Ga(a)}function Kn(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;J[8461]=J[8461]+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 Cd(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)){Cd(a,b,k,e)}if((c|0)<(d|0)){continue}break}}function Qe(a){a=a|0;var b=0,c=0,d=0,e=0,f=0;J[a>>2]=16340;b=J[a+84>>2];e=J[b+8>>2];if((e|0)>0){while(1){c=J[(J[b+16>>2]+P(d,12)|0)+8>>2];if(c){ua[J[J[c>>2]>>2]](c)|0;f=J[a+4>>2];ua[J[J[f>>2]+60>>2]](f,c)}d=d+1|0;if((e|0)!=(d|0)){continue}break}b=J[a+84>>2]}Le(b);b=J[a+84>>2];ua[J[J[b>>2]>>2]](b)|0;b=J[a+84>>2];if(b){J[8457]=J[8457]+1;ua[J[8259]](b)}b=J[a+100>>2];if(!(b?!b|!K[a+104|0]:1)){J[8457]=J[8457]+1;ua[J[8259]](b)}J[a+100>>2]=0;H[a+104|0]=1;J[a+92>>2]=0;J[a+96>>2]=0;return Oc(a)|0} +function Sd(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 ti(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 Fm(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=sa-16|0;sa=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];ua[J[J[a>>2]+16>>2]](a,b,e,d);sa=e+16|0}function lc(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 yj(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=sa-48|0;sa=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];ua[J[J[a>>2]+8>>2]](a,e,c,d);sa=e+48|0}function rs(a,b){a=a|0;b=Q(b);var c=0,d=Q(0),e=Q(0),f=Q(0),g=Q(0);J[8456]=J[8456]+1;c=ua[J[8258]](92,16)|0;J[c+12>>2]=0;J[c+16>>2]=0;J[c+4>>2]=35;J[c+8>>2]=0;J[c+20>>2]=0;J[c>>2]=20152;J[c>>2]=21524;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 lo(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;ua[J[J[a>>2]+16>>2]](a,J[a+4>>2])}function bf(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=sa+-64|0;sa=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(ua[J[J[e>>2]+12>>2]](e,g+8|0,1))}sa=g- -64|0;return Q(d)}function Wc(a){a=a|0;var b=0,c=0,d=0,e=0;J[a>>2]=13068;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=ua[J[J[b>>2]+36>>2]](b)|0;ua[J[J[b>>2]+40>>2]](b,d,J[a+24>>2]);b=J[a+68>>2];ua[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}}b=J[a+16>>2];if(!(b?!b|!K[a+20|0]:1)){J[8457]=J[8457]+1;ua[J[8259]](b)}J[a+16>>2]=0;H[a+20|0]=1;J[a+8>>2]=0;J[a+12>>2]=0;return a|0}function ig(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(ua[J[J[a>>2]+48>>2]](a));c=Q(ua[J[J[a>>2]+48>>2]](a));e=Q(ua[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 Uh(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=sa-16|0;sa=l;ua[J[8262]](4109);ua[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(ua[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}}ua[J[8263]]();sa=l+16|0;return Q(Q(0))}function Ng(a,b){a=a|0;b=b|0;var c=Q(0),d=Q(0),e=0,f=Q(0),g=Q(0),h=Q(0),i=Q(0);c=Q(ua[J[J[a>>2]+48>>2]](a));d=Q(ua[J[J[a>>2]+48>>2]](a));f=Q(ua[J[J[a>>2]+48>>2]](a));g=N[b>>2];h=N[b+4>>2];i=N[b+8>>2];J[a+48>>2]=0;N[a+44>>2]=Q(i*N[a+28>>2])-f;N[a+40>>2]=Q(h*N[a+24>>2])-d;N[a+36>>2]=Q(g*N[a+20>>2])-c;c=N[b>>2];d=N[b+4>>2];e=c>2]>(e?c:d)?!e:2)<<2)+b>>2]*Q(.10000000149011612));if(Q(ua[J[J[a>>2]+48>>2]](a))>c){ua[J[J[a>>2]+44>>2]](a,c)}}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;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 xn(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0;J[8462]=J[8462]-1;ua[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}if(b){J[8457]=J[8457]+1;ua[J[8259]](b)}}function el(a,b){a=a|0;b=b|0;var c=Q(0),d=0,e=Q(0),f=Q(0);d=ua[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)){wc(a,b);if(K[a+69|0]){b=J[a+60>>2];ua[J[J[b>>2]>>2]](b)|0;b=J[a+60>>2];if(b){J[8457]=J[8457]+1;ua[J[8259]](b)}}J[8456]=J[8456]+1;b=le(ua[J[8258]](172,16)|0);J[a+60>>2]=b;ke(b,J[a+56>>2],K[a+68|0],a+24|0,a+40|0);H[a+69|0]=1}}function nr(a,b,c,d){a=a|0;b=b|0;c=Q(c);d=Q(d);if((b|0)<=2){a=(b<<2)+a|0;N[a+696>>2]=d;N[a+680>>2]=c;return}c=Qa(c);a:{if(cQ(3.1415927410125732))){break a}c=Q(c+Q(-6.2831854820251465))}d=Qa(d);b:{if(dQ(3.1415927410125732))){break b}d=Q(d+Q(-6.2831854820251465))}a=P(b,88)+a|0;N[a+708>>2]=d;N[a+704>>2]=c}function Eq(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 re(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);ua[J[J[b>>2]+68>>2]](a,b,c);if(Q(ua[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(ua[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 mo(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 _g(a){a=a|0;var b=0;J[a>>2]=24384;b=J[a+80>>2];if(!(b?!b|!K[a+84|0]:1)){J[8457]=J[8457]+1;ua[J[8259]](b)}J[a+80>>2]=0;H[a+84|0]=1;J[a+72>>2]=0;J[a+76>>2]=0;b=J[a+60>>2];if(!(b?!b|!K[a- -64|0]:1)){J[8457]=J[8457]+1;ua[J[8259]](b)}J[a+60>>2]=0;H[a+64|0]=1;J[a+52>>2]=0;J[a+56>>2]=0;b=J[a+40>>2];if(!(b?!b|!K[a+44|0]:1)){J[8457]=J[8457]+1;ua[J[8259]](b)}J[a+40>>2]=0;H[a+44|0]=1;J[a+32>>2]=0;J[a+36>>2]=0;return a|0}function pf(a){a=a|0;var b=0;J[a>>2]=12284;b=J[a+60>>2];if(!(b?!b|!K[a- -64|0]:1)){J[8457]=J[8457]+1;ua[J[8259]](b)}J[a+60>>2]=0;H[a+64|0]=1;J[a+52>>2]=0;J[a+56>>2]=0;b=J[a+40>>2];if(!(b?!b|!K[a+44|0]:1)){J[8457]=J[8457]+1;ua[J[8259]](b)}J[a+40>>2]=0;H[a+44|0]=1;J[a+32>>2]=0;J[a+36>>2]=0;b=J[a+16>>2];if(!(b?!b|!K[a+20|0]:1)){J[8457]=J[8457]+1;ua[J[8259]](b)}J[a+16>>2]=0;H[a+20|0]=1;J[a+8>>2]=0;J[a+12>>2]=0;return a|0}function Me(a){a=a|0;var b=0;J[a>>2]=17788;b=J[a+56>>2];if(!(b?!b|!K[a+60|0]:1)){J[8457]=J[8457]+1;ua[J[8259]](b)}J[a+56>>2]=0;H[a+60|0]=1;J[a+48>>2]=0;J[a+52>>2]=0;b=J[a+36>>2];if(!(b?!b|!K[a+40|0]:1)){J[8457]=J[8457]+1;ua[J[8259]](b)}J[a+36>>2]=0;H[a+40|0]=1;J[a+28>>2]=0;J[a+32>>2]=0;b=J[a+16>>2];if(!(b?!b|!K[a+20|0]:1)){J[8457]=J[8457]+1;ua[J[8259]](b)}J[a+16>>2]=0;H[a+20|0]=1;J[a+8>>2]=0;J[a+12>>2]=0;return a|0}function Kl(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0;e=J[b>>2];e=ua[J[J[e>>2]+56>>2]](e,28)|0;f=K[a+4|0];g=J[a+8>>2];a=J[a+12>>2];J[e>>2]=14940;J[e+4>>2]=J[b>>2];J[e+24>>2]=a;J[e+20>>2]=g;H[e+16|0]=f;J[e+12>>2]=0;H[e+8|0]=0;J[e>>2]=16676;a=J[e+4>>2];b=f?d:c;c=f?c:d;if(ua[J[J[a>>2]+24>>2]](a,J[b+8>>2],J[c+8>>2])|0){a=J[e+4>>2];a=ua[J[J[a>>2]+12>>2]](a,J[b+8>>2],J[c+8>>2])|0;H[e+8|0]=1;J[e+12>>2]=a}return e|0}function Bd(a){a=a|0;var b=0;J[a>>2]=24060;b=J[a+56>>2];if(!(b?!b|!K[a+60|0]:1)){J[8457]=J[8457]+1;ua[J[8259]](b)}J[a+56>>2]=0;H[a+60|0]=1;J[a+48>>2]=0;J[a+52>>2]=0;b=J[a+36>>2];if(!(b?!b|!K[a+40|0]:1)){J[8457]=J[8457]+1;ua[J[8259]](b)}J[a+36>>2]=0;H[a+40|0]=1;J[a+28>>2]=0;J[a+32>>2]=0;b=J[a+16>>2];if(!(b?!b|!K[a+20|0]:1)){J[8457]=J[8457]+1;ua[J[8259]](b)}J[a+16>>2]=0;H[a+20|0]=1;J[a+8>>2]=0;J[a+12>>2]=0;return a|0}function Gp(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=sa-32|0;sa=d;e=J[b>>2];if(e>>>0<2147483632){a:{if(e>>>0<=10){H[d+27|0]=e;f=d+16|0;break a}g=(e|15)+1|0;f=La(g);J[d+24>>2]=g|-2147483648;J[d+16>>2]=f;J[d+20>>2]=e}h=Ja(f,b+4|0,e)+e|0,i=0,H[h|0]=i;J[d+12>>2]=c;ua[a|0](d+28|0,d+16|0,d+12|0);la(J[d+28>>2]);a=J[d+28>>2];ba(a|0);ba(J[d+12>>2]);if(H[d+27|0]<0){Ga(J[d+16>>2])}sa=d+32|0;return a|0}ga();D()}function Ug(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}Gd(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 um(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 bl(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=La(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 _c(a,b,c){var d=0,e=0,f=0,g=0;e=bc(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;ac(a,e,b)}function ur(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;J[8456]=J[8456]+1;a=mc(ua[J[8258]](360,16)|0,3,a,b);J[a>>2]=23640;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 Ge(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(ua[J[J[a>>2]+48>>2]](a));d=Q(ua[J[J[a>>2]+48>>2]](a));e=Q(ua[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];tb(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 gs(a,b,c,d){a=a|0;b=Q(b);c=Q(c);d=Q(d);var e=0,f=0,g=0;f=sa-16|0;sa=f;J[8456]=J[8456]+1;e=ua[J[8258]](44,16)|0;J[f+12>>2]=0;N[f+8>>2]=d;N[f+4>>2]=c;N[f>>2]=b;J[e+12>>2]=0;J[e+16>>2]=0;J[e+4>>2]=35;J[e+8>>2]=0;J[e+20>>2]=0;J[e>>2]=20152;J[e>>2]=21216;g=J[f+4>>2];J[e+24>>2]=J[f>>2];J[e+28>>2]=g;g=J[f+12>>2];J[e+32>>2]=J[f+8>>2];J[e+36>>2]=g;J[e+40>>2]=a;J[e+4>>2]=22;sa=f+16|0;return e|0}function fk(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 Im(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];c=ua[J[J[c>>2]+56>>2]](c,72)|0;e=J[b+4>>2];d=J[a+8>>2];f=J[a+12>>2];a=J[a+16>>2];J[c>>2]=14940;J[c+4>>2]=J[b>>2];J[c>>2]=14968;J[c+8>>2]=d;J[c>>2]=15092;J[c+68>>2]=a;J[c+64>>2]=f;H[c+60|0]=0;J[c+56>>2]=e;H[c+52|0]=0;H[c+28|0]=1;J[c+24>>2]=0;H[c+48|0]=1;J[c+16>>2]=0;J[c+20>>2]=0;J[c+44>>2]=0;J[c+36>>2]=0;J[c+40>>2]=0;return c|0}function af(a){a=a|0;var b=0,c=0;J[a>>2]=15092;a:{if(!K[a+52|0]){break a}b=J[a+56>>2];if(!b){break a}c=J[a+4>>2];ua[J[J[c>>2]+16>>2]](c,b)}b=J[a+44>>2];if(!(b?!b|!K[a+48|0]:1)){J[8457]=J[8457]+1;ua[J[8259]](b)}J[a+44>>2]=0;H[a+48|0]=1;J[a+36>>2]=0;J[a+40>>2]=0;b=J[a+24>>2];if(!(b?!b|!K[a+28|0]:1)){J[8457]=J[8457]+1;ua[J[8259]](b)}J[a+24>>2]=0;H[a+28|0]=1;J[a+16>>2]=0;J[a+20>>2]=0;return a|0}function _f(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 ol(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=sa-48|0;sa=e;ua[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;ua[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;sa=e+48|0}function Tk(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=sa-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 Id(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=Qa(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 Fe(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(ua[J[J[a>>2]+48>>2]](a));d=Q(ua[J[J[a>>2]+48>>2]](a));e=Q(ua[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(ua[J[J[a>>2]+48>>2]](a));i=Q(ua[J[J[a>>2]+48>>2]](a));j=Q(ua[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 Ko(a,b,c,d){a=a|0;b=b|0;c=Q(c);d=d|0;var e=0,f=0;e=sa+-64|0;sa=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;ua[J[J[a>>2]+24>>2]](a,c,e,d);sa=e- -64|0}function ll(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 Tm(a,b){a=a|0;b=b|0;var c=0,d=0,e=Q(0),f=Q(0),g=0,h=0;c=sa-32|0;sa=c;d=J[a+184>>2];e=N[d+4>>2];a:{if(e==Q(0)){break a}b=J[b>>2];if(!(ua[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;Tc(g,a+36|0,a+100|0,c+8|0,d,f)}sa=c+32|0;return e!=Q(0)|0}function Bl(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=La(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 ir(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 eb(a){var b=0,c=0,d=0,e=0,f=Q(0);b=sa-16|0;sa=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(-eb(b))}sa=b+16|0;return f}function vl(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(ua[J[J[b>>2]+48>>2]](b));h=Q(ua[J[J[b>>2]+48>>2]](b));i=Q(ua[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 pl(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(ua[J[J[a>>2]+48>>2]](a));h=Q(ua[J[J[a>>2]+48>>2]](a));i=Q(ua[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 yl(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(ua[J[J[a>>2]+48>>2]](a));h=Q(ua[J[J[a>>2]+48>>2]](a));i=Q(ua[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 ug(a){a=a|0;var b=0,c=0,d=0;a:{b:{c:{c=J[a+4>>2];a=c;if(!(a&3)){break c}b=0;if(!K[c|0]){break a}while(1){a=a+1|0;if(!(a&3)){break c}if(K[a|0]){continue}break}break b}while(1){b=a;a=a+4|0;d=J[b>>2];if(!((d^-1)&d-16843009&-2139062144)){continue}break}while(1){a=b;b=a+1|0;if(K[a|0]){continue}break}}b=a-c|0}a=b+1|0;b=zb(a);if(b){a=Ja(b,c,a)}else{a=0}return a|0}function Zg(a){a=a|0;var b=0;J[a>>2]=24384;b=J[a+80>>2];if(!(b?!b|!K[a+84|0]:1)){J[8457]=J[8457]+1;ua[J[8259]](b)}J[a+80>>2]=0;H[a+84|0]=1;J[a+72>>2]=0;J[a+76>>2]=0;b=J[a+60>>2];if(!(b?!b|!K[a- -64|0]:1)){J[8457]=J[8457]+1;ua[J[8259]](b)}J[a+60>>2]=0;H[a+64|0]=1;J[a+52>>2]=0;J[a+56>>2]=0;b=J[a+40>>2];if(!(b?!b|!K[a+44|0]:1)){J[8457]=J[8457]+1;ua[J[8259]](b)}Ga(a)}function pe(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(ua[J[J[a>>2]+48>>2]](a));i=Q(ua[J[J[a>>2]+48>>2]](a));j=Q(ua[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 sc(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]=22784;J[a+36>>2]=J[b+4>>2];J[a+40>>2]=J[c+4>>2];g=a,h=Q(ua[J[J[b>>2]+48>>2]](b)),N[g+44>>2]=h;f=Q(ua[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 fg(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;if(Ka(a,J[b+8>>2],e)){if(!(J[b+28>>2]==1|J[b+4>>2]!=(c|0))){J[b+28>>2]=d}return}a:{if(!Ka(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 vh(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}Db(e,b);c=J[a+248>>2]}d=d+1|0;if((c|0)>(d|0)){continue}break}}}function Cg(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];ua[J[J[a>>2]+12>>2]](a,h,b,c)|0}}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=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 Ae(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}ua[J[J[c>>2]+8>>2]](c,f>>>21|0,f&2097151)}return}f=b+16|0;Ae(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 yn(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;a=sa-16|0;sa=a;c=J[b+844>>2];if((c|0)>0){while(1){c=P(d,208)+b|0;e=J[c+120>>2];a:{if(!e){break a}f=J[8753];if(!f){break a}ua[f|0](e)|0;J[c+120>>2]=0}c=J[b+844>>2];d=d+1|0;if((c|0)>(d|0)){continue}break}}b:{if(!c){break b}c=J[8756];if(!c){break b}J[a+12>>2]=b;ua[c|0](a+12|0)}J[b+844>>2]=0;sa=a+16|0}function gc(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 Zn(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0;e=sa-48|0;sa=e;J[e+44>>2]=d;J[e+40>>2]=12212;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;xb(J[a+4>>2],b,c);xb(J[a+44>>2],b,c);sa=e+48|0}function Pc(a,b,c,d,e){J[a>>2]=14940;J[a+4>>2]=J[b>>2];J[a>>2]=14968;J[a>>2]=16192;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];Te(a,c,d);return a}function Um(a,b){a=a|0;b=b|0;var c=0,d=0,e=Q(0),f=0;c=sa-32|0;sa=c;d=J[a+216>>2];e=N[d+4>>2];a:{if(e==Q(0)){break a}b=J[b>>2];if(!(ua[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;Uc(a+68|0,a+132|0,c+8|0,d)}sa=c+32|0;return e!=Q(0)|0}function Ab(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 rg(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 Rk(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];tb(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 ng(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=sa+-64|0;sa=d;e=1;a:{if(Ka(a,b,0)){break a}e=0;if(!b){break a}b=Ta(b,29972);e=0;if(!b){break a}Fa(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;ua[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;sa=d- -64|0;return a|0}function Pi(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0;e=sa-48|0;sa=e;J[e+12>>2]=b;J[e+8>>2]=22260;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];ua[J[J[a>>2]+8>>2]](a,e+8|0,c,d);sa=e+48|0}function rr(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;J[8456]=J[8456]+1;a=Ld(ua[J[8258]](1460,16)|0,a,b,c,d,0);J[a>>2]=23308;J[a+968>>2]=0;J[a+972>>2]=0;J[a+680>>2]=0;J[a+684>>2]=0;b=a+1144|0;J[b>>2]=0;J[b+4>>2]=0;b=a+1056|0;J[b>>2]=0;J[b+4>>2]=0;J[a+688>>2]=0;J[a+692>>2]=0;J[a+696>>2]=0;J[a+700>>2]=0;J[a+704>>2]=0;J[a+708>>2]=0;return a|0}function hs(a,b,c,d,e){a=a|0;b=b|0;c=Q(c);d=Q(d);e=Q(e);var f=0;f=sa-16|0;sa=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=ua[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)){wc(a,f)}sa=f+16|0}function Ll(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;a=J[b>>2];a=ua[J[J[a>>2]+56>>2]](a,16)|0;J[a>>2]=14940;J[a+4>>2]=J[b>>2];J[a>>2]=14968;J[a+12>>2]=0;H[a+8|0]=0;J[a>>2]=16604;b=J[a+4>>2];if(ua[J[J[b>>2]+24>>2]](b,J[c+8>>2],J[d+8>>2])|0){b=J[a+4>>2];b=ua[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 zq(a,b){a=a|0;b=Q(b);var c=0,d=0;c=sa-16|0;sa=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(!kd(ua[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}ua[J[J[d>>2]+32>>2]](d,b,c);break a}ua[J[J[d>>2]+32>>2]](d,b,c)}lc(a,b,c);sa=c+16|0}function tn(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(!(ua[J[J[b>>2]+12>>2]](b,c)|0)){break d}}a=1;if(!J[c+280>>2]){break a}if(ua[J[J[c>>2]+12>>2]](c,b)|0){break a}}a=0}return a|0}function tk(a,b,c){a=a|0;b=b|0;c=c|0;var d=Q(0);bb(a,b,c);N[b+28>>2]=N[a+36>>2];N[b+32>>2]=N[a+40>>2];N[b+36>>2]=N[a+44>>2];N[b+40>>2]=N[a+48>>2];N[b+12>>2]=N[a+20>>2];N[b+16>>2]=N[a+24>>2];N[b+20>>2]=N[a+28>>2];N[b+24>>2]=N[a+32>>2];d=N[a+52>>2];J[b+48>>2]=0;N[b+44>>2]=d;a=J[a+76>>2];J[b+56>>2]=0;J[b+52>>2]=a;return 8915}function dk(a,b,c){a=a|0;b=b|0;c=c|0;var d=Q(0);bb(a,b,c);N[b+28>>2]=N[a+36>>2];N[b+32>>2]=N[a+40>>2];N[b+36>>2]=N[a+44>>2];N[b+40>>2]=N[a+48>>2];N[b+12>>2]=N[a+20>>2];N[b+16>>2]=N[a+24>>2];N[b+20>>2]=N[a+28>>2];N[b+24>>2]=N[a+32>>2];d=N[a+52>>2];J[b+48>>2]=0;N[b+44>>2]=d;a=J[a+60>>2];J[b+56>>2]=0;J[b+52>>2]=a;return 8794}function Pk(a,b,c){a=a|0;b=b|0;c=c|0;var d=Q(0);bb(a,b,c);N[b+28>>2]=N[a+36>>2];N[b+32>>2]=N[a+40>>2];N[b+36>>2]=N[a+44>>2];N[b+40>>2]=N[a+48>>2];N[b+12>>2]=N[a+20>>2];N[b+16>>2]=N[a+24>>2];N[b+20>>2]=N[a+28>>2];N[b+24>>2]=N[a+32>>2];d=N[a+52>>2];J[b+48>>2]=0;N[b+44>>2]=d;a=J[a+60>>2];J[b+56>>2]=0;J[b+52>>2]=a;return 8954}function cn(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,i=0;c=sa-16|0;sa=c;ua[J[8262]](5665);ua[J[J[a>>2]+8>>2]](a);ua[J[J[a>>2]+12>>2]](a);b=J[a+24>>2];ua[J[8262]](3934);if(b){d=J[a+68>>2];f=b,g=ua[J[J[d>>2]+36>>2]](d)|0,h=a+28|0,i=J[a+24>>2],e=J[J[b>>2]+32>>2],ua[e](f|0,g|0,h|0,i|0)}ua[J[8263]]();ua[J[8263]]();sa=c+16|0}function Ml(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=ua[J[J[e>>2]+56>>2]](e,20)|0;f=J[b+4>>2];a=K[a+4|0];J[e>>2]=14940;J[e+4>>2]=J[b>>2];J[e>>2]=14968;H[e+16|0]=a;J[e+12>>2]=f;H[e+8|0]=0;J[e>>2]=17988;if(!f){a=J[e+4>>2];a=ua[J[J[a>>2]+12>>2]](a,J[c+8>>2],J[d+8>>2])|0;H[e+8|0]=1;J[e+12>>2]=a}return e|0}function mh(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;c=J[a+228>>2];a:{if((c|0)<=0){break a}e=J[a+236>>2];while(1){f=(d<<2)+e|0;if(J[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;J[f>>2]=J[d+e>>2];J[d+J[a+236>>2]>>2]=b;J[a+228>>2]=c}Dd(J[b+28>>2],b);Dd(J[b+32>>2],b)}function Vn(a,b){a=a|0;b=b|0;if(J[a+16>>2]==(0-J[a+56>>2]|0)){zf(a+4|0);zf(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 xk(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))));tb(a,b)}function In(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;f=sa-16|0;sa=f;ua[J[8262]](3960);if(J[a+8>>2]>0){while(1){e=J[a+16>>2]+(d<<4)|0;a:{if(ua[J[J[b>>2]+8>>2]](b,e)|0){ua[J[J[a>>2]+12>>2]](a,J[e>>2],J[e+4>>2],c)|0;J[8458]=J[8458]-1;break a}d=d+1|0}if(J[a+8>>2]>(d|0)){continue}break}}ua[J[8263]]();sa=f+16|0}function _e(a,b,c,d,e){var f=0;J[a>>2]=14940;J[a+4>>2]=J[b>>2];J[a>>2]=14968;J[a>>2]=15696;b=J[b>>2];J[a+60>>2]=0;J[a+56>>2]=b;J[a+8>>2]=15724;f=e?c:d;J[a+48>>2]=f;c=e?d:c;J[a+44>>2]=c;b=ua[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];ua[J[J[c>>2]+20>>2]](c,b);H[a+76|0]=e;return a}function Ar(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=Qa(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 Wj(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 wq(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 Fg(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 cl(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=ua[J[J[c>>2]+12>>2]](c)|0,h=1,e=J[J[b>>2]+16>>2],ua[e](f|0,g|0,h|0)|0);d=J[a+60>>2];h=b,g=c,f=ua[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],ua[e](h|0,g|0,f|0,i|0,j|0)}}function al(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=ua[J[J[c>>2]+8>>2]](c)|0,h=1,e=J[J[b>>2]+16>>2],ua[e](f|0,g|0,h|0)|0);d=J[a+64>>2];h=b,g=c,f=ua[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],ua[e](h|0,g|0,f|0,i|0,j|0)}}function pi(a,b,c,d){a=a|0;b=b|0;c=Q(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}N[d>>2]=c;J[a+748>>2]=b|J[a+748>>2]}}function rh(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;c=J[a+248>>2];a:{if((c|0)<=0){break a}e=J[a+256>>2];while(1){f=(d<<2)+e|0;if(J[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;J[f>>2]=J[d+e>>2];J[d+J[a+256>>2]>>2]=b;J[a+248>>2]=c}Vc(a,b)}function rd(a){a=a|0;var b=0;J[a>>2]=25104;b=J[a+344>>2];ua[J[J[b>>2]>>2]](b)|0;b=J[a+344>>2];if(b){J[8457]=J[8457]+1;ua[J[8259]](b)}J[a>>2]=25060;b=J[a+336>>2];if(!(b?!b|!K[a+340|0]:1)){J[8457]=J[8457]+1;ua[J[8259]](b)}J[a+336>>2]=0;H[a+340|0]=1;J[a+328>>2]=0;J[a+332>>2]=0;return fb(a)|0}function gk(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 kj(a,b,c){a=a|0;b=b|0;c=c|0;var d=Q(0);bb(a,b,c);N[b+12>>2]=N[a+76>>2];N[b+16>>2]=N[a+80>>2];N[b+20>>2]=N[a+84>>2];N[b+24>>2]=N[a+88>>2];N[b+28>>2]=N[a+56>>2];N[b+32>>2]=N[a+60>>2];N[b+36>>2]=N[a- -64>>2];N[b+40>>2]=N[a+68>>2];d=N[a+72>>2];J[b+48>>2]=0;N[b+44>>2]=d;return 8931}function bo(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;_b((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];ua[J[J[d>>2]+16>>2]](d,b,c);if(b){J[8457]=J[8457]+1;ua[J[8259]](b)}H[a+154|0]=1}function vm(a,b,c){a=a|0;b=b|0;c=c|0;var d=Q(0);bb(a,b,c);N[b+28>>2]=N[a+36>>2];N[b+32>>2]=N[a+40>>2];N[b+36>>2]=N[a+44>>2];N[b+40>>2]=N[a+48>>2];N[b+12>>2]=N[a+20>>2];N[b+16>>2]=N[a+24>>2];N[b+20>>2]=N[a+28>>2];N[b+24>>2]=N[a+32>>2];d=N[a+52>>2];J[b+48>>2]=0;N[b+44>>2]=d;return 8835}function kh(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;a:{c=J[a+296>>2];if((c|0)<=0){break a}e=J[a+304>>2];while(1){f=(d<<2)+e|0;if(J[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;J[f>>2]=J[d+e>>2];J[d+J[a+304>>2]>>2]=b;J[a+296>>2]=c}}function Sh(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=sa-16|0;sa=j;ua[J[8262]](5413);Q(ua[J[J[a>>2]+44>>2]](a,b,c,d,e,f,g,h,i));Q(ua[J[J[a>>2]+48>>2]](a,b,c,d,e,f,g,h,i));Q(ua[J[J[a>>2]+36>>2]](a,b,c,h));ua[J[8263]]();sa=j+16|0;return Q(Q(0))}function Hg(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 Eg(a){a=Q(a);var b=0;J[8456]=J[8456]+1;b=Sa(ua[J[8258]](60,16)|0);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]=21396;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 Db(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 Ki(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 Xm(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=Q(0);e=sa-16|0;sa=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(ua[J[J[d>>2]+12>>2]](d,b,c));N[a+4>>2]=N[J[a+24>>2]+4>>2];sa=e+16|0;return Q(g)}function ml(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 Pq(){var a=0;a=La(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 oi(a,b,c){a=a|0;b=b|0;c=c|0;var d=Q(0);a:{b:{switch(c+1|0){case 0:case 6:break b;default:break a}}c:{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 c;default:break a}}d=N[a+756>>2]}return Q(d)}function Vd(a,b,c,d){var e=0;J[a>>2]=23116;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 Nl(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;a=J[b>>2];a=ua[J[J[a>>2]+56>>2]](a,16)|0;J[a>>2]=14940;J[a+4>>2]=J[b>>2];J[a>>2]=14968;J[a+12>>2]=0;H[a+8|0]=0;J[a>>2]=17912;b=J[a+4>>2];b=ua[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 kg(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0;if(Ka(a,J[b+8>>2],0)){hc(b,c,d);return}e=J[a+12>>2];f=a+16|0;jd(f,b,c,d);a=a+24|0;e=(e<<3)+f|0;a:{if(a>>>0>=e>>>0){break a}while(1){jd(a,b,c,d);if(K[b+54|0]){break a}a=a+8|0;if(e>>>0>a>>>0){continue}break}}}function Hb(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 bg(a,b){a=Q(a);b=Q(b);var c=0;J[8456]=J[8456]+1;c=Sa(ua[J[8258]](84,16)|0);N[c+68>>2]=b;N[c+64>>2]=a;J[c>>2]=19388;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 ae(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 Fi(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 zf(a){var b=0;b=J[a>>2];if(b){cc(a,b)}b=J[a+4>>2];if(b){J[8457]=J[8457]+1;ua[J[8259]](b)}J[a+4>>2]=0;J[a+8>>2]=-1;b=J[a+32>>2];if(!(b?!b|!K[a+36|0]:1)){J[8457]=J[8457]+1;ua[J[8259]](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 $c(a){var b=0;b=J[a>>2];if(b){cc(a,b)}b=J[a+4>>2];if(b){J[8457]=J[8457]+1;ua[J[8259]](b)}J[a+4>>2]=0;J[a+8>>2]=-1;b=J[a+32>>2];if(!(b?!b|!K[a+36|0]:1)){J[8457]=J[8457]+1;ua[J[8259]](b)}H[a+36|0]=1;J[a+16>>2]=0;J[a+32>>2]=0;J[a+24>>2]=0;J[a+28>>2]=0}function Fc(a){a=a|0;var b=0;J[a>>2]=19276;b=J[a+72>>2];if(b){$c(b);b=J[a+72>>2];if(b){J[8457]=J[8457]+1;ua[J[8259]](b)}}b=J[a+32>>2];if(!(b?!b|!K[a+36|0]:1)){J[8457]=J[8457]+1;ua[J[8259]](b)}J[a+32>>2]=0;H[a+36|0]=1;J[a+24>>2]=0;J[a+28>>2]=0;return a|0}function Vm(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=Q(0);d=sa-16|0;sa=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(ua[J[J[e>>2]+12>>2]](e,b,c));N[a+4>>2]=N[J[a+24>>2]+4>>2];sa=d+16|0;return Q(f)}function $n(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=sa-16|0;sa=c;J[c+8>>2]=12140;J[c+12>>2]=d;g=d+4|0;h=d+20|0;i=J[a+168>>2];j=c+8|0;vf(J[a+4>>2],b,g,h,N[d+32>>2],e,f,i,j);vf(J[a+44>>2],b,g,h,N[d+32>>2],e,f,i,j);sa=c+16|0}function kn(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=ua[J[J[a>>2]+16>>2]](a)|0,g=1,d=J[J[b>>2]+16>>2],ua[d](e|0,f|0,g|0)|0);g=b,f=c,e=ua[J[J[a>>2]+20>>2]](a,J[c+8>>2],b)|0,h=1245859651,i=a,d=J[J[b>>2]+20>>2],ua[d](g|0,f|0,e|0,h|0,i|0)}function Lh(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=ua[J[J[a>>2]+16>>2]](a)|0,g=1,d=J[J[b>>2]+16>>2],ua[d](e|0,f|0,g|0)|0);g=b,f=c,e=ua[J[J[a>>2]+20>>2]](a,J[c+8>>2],b)|0,h=1497645650,i=a,d=J[J[b>>2]+20>>2],ua[d](g|0,f|0,e|0,h|0,i|0)}function Jk(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=ua[J[J[a>>2]+52>>2]](a)|0,g=1,d=J[J[b>>2]+16>>2],ua[d](e|0,f|0,g|0)|0);g=b,f=c,e=ua[J[J[a>>2]+56>>2]](a,J[c+8>>2],b)|0,h=1346455635,i=a,d=J[J[b>>2]+20>>2],ua[d](g|0,f|0,e|0,h|0,i|0)}function Oq(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 ei(a,b,c){a=a|0;b=b|0;c=c|0;Gb(a,b,c);N[b+52>>2]=N[a+300>>2];N[b+56>>2]=N[a+304>>2];N[b+60>>2]=N[a+308>>2];N[b- -64>>2]=N[a+312>>2];N[b+68>>2]=N[a+316>>2];N[b+72>>2]=N[a+320>>2];N[b+76>>2]=N[a+324>>2];N[b+80>>2]=N[a+328>>2];return 8591} +function Bh(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 xq(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 ul(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 hq(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 wn(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0;f=sa-16|0;sa=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=ua[J[J[a>>2]+8>>2]](a,f+8|0,b,c)|0;sa=f+16|0;return a|0}function qn(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}if(b){J[8457]=J[8457]+1;ua[J[8259]](b)}}function Yi(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 ce(a){a=Sa(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]=20992;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 Qg(a,b){a=a|0;b=Q(b);var c=0,d=0,e=0;d=sa-16|0;sa=d;ua[J[8262]](4095);if(J[a+296>>2]>0){while(1){e=J[J[a+304>>2]+(c<<2)>>2];ua[J[J[e>>2]+8>>2]](e,a,b);c=c+1|0;if((c|0)>2]){continue}break}}ua[J[8263]]();sa=d+16|0}function Kb(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 Ah(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}}Gd(d);b=J[a+248>>2]}c=c+1|0;if((b|0)>(c|0)){continue}break}}}function ao(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 Xi(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 Od(a,b,c){var d=0;Rd(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 so(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0;e=sa-32|0;sa=e;a=J[a+140>>2];if(!(H[33804]&1)){f=aa(4,31600)|0;H[33804]=1;J[8450]=f}f=J[8450];J[e+24>>2]=d;J[e+16>>2]=c;J[e+8>>2]=b;$(f|0,a|0,7459,e+8|0);sa=e+32|0}function Jh(a){a=a|0;var b=0;J[a>>2]=23996;b=J[a+556>>2];if(!(b?!b|!K[a+560|0]:1)){J[8457]=J[8457]+1;ua[J[8259]](b)}J[a+556>>2]=0;H[a+560|0]=1;J[a+548>>2]=0;J[a+552>>2]=0;a=fb(a);if(a){J[8457]=J[8457]+1;ua[J[8259]](a)}}function gi(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 fi(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 Kk(a){a=a|0;var b=0,c=Q(0),d=Q(0),e=Q(0);b=sa-32|0;sa=b;ua[J[J[a>>2]+12>>2]](a,b+16|0,b+12|0);sa=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 us(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;ta=(P(b,c)+j|0)+P(a,d)+(f>>>16)+(e>>>16)|0;return i&65535|e<<16}function dm(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){ua[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 hn(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 hc(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 Ro(a){a=a|0;var b=0,c=0;J[a>>2]=31472;if(K[a+136|0]){b=J[a+140>>2];if(!(H[33796]&1)){c=aa(1,31584)|0;H[33796]=1;J[8448]=c}$(J[8448],b|0,3211,0)}ba(J[a+140>>2]);if(a){J[8457]=J[8457]+1;ua[J[8259]](a)}}function Pg(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 mc(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]=23876;return a}function Sa(a){J[a+12>>2]=0;J[a+16>>2]=0;J[a+4>>2]=35;J[a+8>>2]=0;J[a>>2]=19652;J[a+52>>2]=1025758986;J[a+20>>2]=1065353216;J[a+24>>2]=1065353216;J[a>>2]=19516;J[a+28>>2]=1065353216;J[a+32>>2]=0;return a}function zj(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=J[a+40>>2];ua[J[J[d>>2]+56>>2]](d,b,c)|0;J[b+4>>2]=22;N[b+60>>2]=N[a+24>>2];N[b- -64>>2]=N[a+28>>2];N[b+68>>2]=N[a+32>>2];N[b+72>>2]=N[a+36>>2];return 8885}function Lg(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=ua[J[J[a>>2]+28>>2]](a,d,c)|0}return e|0}function pq(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 uj(a,b,c){a=a|0;b=Q(b);c=c|0;var d=Q(0),e=Q(0);d=Q(ua[J[J[a>>2]+48>>2]](a));e=Q(ua[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 bb(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=ua[J[J[c>>2]+40>>2]](c,a)|0;e=ua[J[J[c>>2]+28>>2]](c,d)|0;J[b>>2]=e;if(e){ua[J[J[c>>2]+48>>2]](c,d)}a=J[a+4>>2];J[b+8>>2]=0;J[b+4>>2]=a;return 8814}function Qb(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(ua[J[J[a>>2]+48>>2]](a))}function Mg(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)){ua[J[J[e>>2]+32>>2]](e,c,d,b)}if(a){ua[J[J[a>>2]+32>>2]](a,b,d,c)}return 0}function rj(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 oo(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=sa-16|0;sa=d;a=J[a+8>>2];if(!(H[33812]&1)){e=aa(3,31860)|0;H[33812]=1;J[8452]=e}e=J[8452];J[d+8>>2]=c;J[d>>2]=b;$(e|0,a|0,2251,d|0);sa=d+16|0}function Wg(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=ua[J[J[a>>2]+28>>2]](a,d,c)|0}return e|0}function hm(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){ua[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 sd(a){var b=0,c=0;a=Wb(a);J[a+252>>2]=4;J[a>>2]=25104;J[a+336>>2]=0;H[a+340|0]=1;J[a+328>>2]=0;J[a+332>>2]=0;J[8456]=J[8456]+1;b=a,c=rf(ua[J[8258]](72,16)|0),J[b+344>>2]=c;return a}function Gd(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 td(a){a=a|0;var b=0;J[a>>2]=25060;b=J[a+336>>2];if(!(b?!b|!K[a+340|0]:1)){J[8457]=J[8457]+1;ua[J[8259]](b)}J[a+336>>2]=0;H[a+340|0]=1;J[a+328>>2]=0;J[a+332>>2]=0;return fb(a)|0}function kd(a,b){var c=0,d=0;c=K[a|0];d=K[b|0];a:{if(!c|(c|0)!=(d|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 Kh(a){a=a|0;var b=0;J[a>>2]=23996;b=J[a+556>>2];if(!(b?!b|!K[a+560|0]:1)){J[8457]=J[8457]+1;ua[J[8259]](b)}J[a+556>>2]=0;H[a+560|0]=1;J[a+548>>2]=0;J[a+552>>2]=0;return fb(a)|0}function cs(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;Ac(a)}function wg(a){a=a|0;var b=0;J[a>>2]=25216;b=J[a+124>>2];if(!(b?!b|!K[a+128|0]:1)){J[8457]=J[8457]+1;ua[J[8259]](b)}J[a+124>>2]=0;H[a+128|0]=1;J[a+116>>2]=0;J[a+120>>2]=0;return a|0}function fb(a){a=a|0;var b=0;J[a>>2]=13004;b=J[a+296>>2];if(!(b?!b|!K[a+300|0]:1)){J[8457]=J[8457]+1;ua[J[8259]](b)}J[a+296>>2]=0;H[a+300|0]=1;J[a+288>>2]=0;J[a+292>>2]=0;return a|0}function Og(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)){ua[J[J[d>>2]+28>>2]](d,c,b)}if(a){ua[J[J[a>>2]+28>>2]](a,b,c)}return 0}function So(a){a=a|0;var b=0,c=0;J[a>>2]=31472;if(K[a+136|0]){b=J[a+140>>2];if(!(H[33796]&1)){c=aa(1,31584)|0;H[33796]=1;J[8448]=c}$(J[8448],b|0,3211,0)}ba(J[a+140>>2]);return a|0}function ko(a,b){a=a|0;b=b|0;var c=0,d=0;c=sa-16|0;sa=c;a=J[a+76>>2];if(!(H[33820]&1)){d=aa(2,32076)|0;H[33820]=1;J[8454]=d}d=J[8454];J[c+8>>2]=b;$(d|0,a|0,4677,c+8|0);sa=c+16|0}function as(){var a=0;a=sa-32|0;sa=a;if(!K[33780]){J[a+24>>2]=0;J[a+28>>2]=1;J[a+16>>2]=4096;J[a+20>>2]=4096;J[a+8>>2]=0;J[a+12>>2]=0;Lc(a+8|0);H[33780]=1}sa=a+32|0;return 33692}function io(a){a=a|0;var b=0,c=0;J[a>>2]=32056;if(K[a+72|0]){b=J[a+76>>2];if(!(H[33796]&1)){c=aa(1,31584)|0;H[33796]=1;J[8448]=c}$(J[8448],b|0,3211,0)}ba(J[a+76>>2]);return a|0}function id(a,b){var c=0;a:{if(!b){break a}b=Ta(b,30180);if(!b|J[b+8>>2]&(J[a+8>>2]^-1)){break a}if(!Ka(J[a+12>>2],J[b+12>>2],0)){break a}c=Ka(J[a+16>>2],J[b+16>>2],0)}return c}function Fb(a){var b=Q(0);b=Qa(Q(N[a>>2]+N[a+4>>2]));if(bQ(3.1415927410125732)?Q(b+Q(-6.2831854820251465)):b}function Eb(a){var b=Q(0);b=Qa(Q(N[a>>2]-N[a+4>>2]));if(bQ(3.1415927410125732)?Q(b+Q(-6.2831854820251465)):b}function zc(a){a=a|0;var b=0;J[a>>2]=21928;b=J[a+32>>2];if(!(b?!b|!K[a+36|0]:1)){J[8457]=J[8457]+1;ua[J[8259]](b)}J[a+32>>2]=0;H[a+36|0]=1;J[a+24>>2]=0;J[a+28>>2]=0;return a|0}function of(a){a=a|0;var b=0;J[a>>2]=12836;b=J[a+20>>2];if(!(b?!b|!K[a+24|0]:1)){J[8457]=J[8457]+1;ua[J[8259]](b)}J[a+20>>2]=0;H[a+24|0]=1;J[a+12>>2]=0;J[a+16>>2]=0;return a|0}function Vq(a,b,c,d){a=a|0;b=Q(b);c=Q(c);d=Q(d);var e=0;e=sa-128|0;sa=e;ua[J[J[a>>2]+8>>2]](e,a);N[e+120>>2]=d;N[e+116>>2]=c;N[e+112>>2]=b;ua[J[J[a>>2]+12>>2]](a,e);sa=e+128|0}function Wq(a,b,c,d){a=a|0;b=Q(b);c=Q(c);d=Q(d);var e=0;e=sa-128|0;sa=e;ua[J[J[a>>2]+8>>2]](e,a);N[e+104>>2]=d;N[e+100>>2]=c;N[e+96>>2]=b;ua[J[J[a>>2]+12>>2]](a,e);sa=e+128|0}function qo(a){a=a|0;var b=0,c=0;J[a>>2]=31840;if(K[a+4|0]){b=J[a+8>>2];if(!(H[33796]&1)){c=aa(1,31584)|0;H[33796]=1;J[8448]=c}$(J[8448],b|0,3211,0)}ba(J[a+8>>2]);return a|0}function gb(a){var b=0,c=0;b=J[8268];c=a+7&-8;a=b+c|0;a:{if(a>>>0<=b>>>0?c:0){break a}if(a>>>0>va()<<16>>>0){if(!(na(a|0)|0)){break a}}J[8268]=a;return b}J[8951]=48;return-1}function ql(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+18404>>2];b=J[b+18356>>2]}else{b=0}ua[J[J[a>>2]+108>>2]](a,b,c);ua[J[J[a>>2]+108>>2]](a,e,d)}function _q(a,b,c,d){a=a|0;b=Q(b);c=Q(c);d=Q(d);var e=0;e=sa-128|0;sa=e;ua[J[J[a>>2]+8>>2]](e,a);N[e+40>>2]=d;N[e+36>>2]=c;N[e+32>>2]=b;ua[J[J[a>>2]+12>>2]](a,e);sa=e+128|0}function Zq(a,b,c,d){a=a|0;b=Q(b);c=Q(c);d=Q(d);var e=0;e=sa-128|0;sa=e;ua[J[J[a>>2]+8>>2]](e,a);N[e+56>>2]=d;N[e+52>>2]=c;N[e+48>>2]=b;ua[J[J[a>>2]+12>>2]](a,e);sa=e+128|0}function Yq(a,b,c,d){a=a|0;b=Q(b);c=Q(c);d=Q(d);var e=0;e=sa-128|0;sa=e;ua[J[J[a>>2]+8>>2]](e,a);N[e+72>>2]=d;N[e+68>>2]=c;N[e+64>>2]=b;ua[J[J[a>>2]+12>>2]](a,e);sa=e+128|0}function Xq(a,b,c,d){a=a|0;b=Q(b);c=Q(c);d=Q(d);var e=0;e=sa-128|0;sa=e;ua[J[J[a>>2]+8>>2]](e,a);N[e+88>>2]=d;N[e+84>>2]=c;N[e+80>>2]=b;ua[J[J[a>>2]+12>>2]](a,e);sa=e+128|0}function $q(a,b,c,d){a=a|0;b=Q(b);c=Q(c);d=Q(d);var e=0;e=sa-128|0;sa=e;ua[J[J[a>>2]+8>>2]](e,a);N[e+24>>2]=d;N[e+20>>2]=c;N[e+16>>2]=b;ua[J[J[a>>2]+12>>2]](a,e);sa=e+128|0}function no(a){a=a|0;var b=0,c=0;J[a>>2]=32056;if(K[a+72|0]){b=J[a+76>>2];if(!(H[33796]&1)){c=aa(1,31584)|0;H[33796]=1;J[8448]=c}$(J[8448],b|0,3211,0)}ba(J[a+76>>2]);Ga(a)}function iq(a){a=a|0;var b=0,c=Q(0),d=0;b=J[a+220>>2];a:{if(K[35721]|(b|0)==4){break a}c=N[8267];if(c==Q(0)){break a}d=1;if((b&-2)==2){break a}d=N[a+224>>2]>c}return d|0}function po(a){a=a|0;var b=0,c=0;J[a>>2]=31840;if(K[a+4|0]){b=J[a+8>>2];if(!(H[33796]&1)){c=aa(1,31584)|0;H[33796]=1;J[8448]=c}$(J[8448],b|0,3211,0)}ba(J[a+8>>2]);Ga(a)}function Un(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];ua[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 ar(a,b,c,d){a=a|0;b=Q(b);c=Q(c);d=Q(d);var e=0;e=sa-128|0;sa=e;ua[J[J[a>>2]+8>>2]](e,a);N[e+8>>2]=d;N[e+4>>2]=c;N[e>>2]=b;ua[J[J[a>>2]+12>>2]](a,e);sa=e+128|0}function rn(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}J[8456]=J[8456]+1;return ua[J[8258]](b,16)|0}function cc(a,b){var c=0;if(J[b+40>>2]){cc(a,J[b+36>>2]);cc(a,J[b+40>>2])}if(J[a>>2]==(b|0)){J[a>>2]=0}c=J[a+4>>2];if(c){J[8457]=J[8457]+1;ua[J[8259]](c)}J[a+4>>2]=b}function jd(a,b,c,d){var e=0,f=0;e=J[a+4>>2];f=J[a>>2];a=0;a:{if(!c){break a}a=e>>8;if(!(e&1)){break a}a=J[a+J[c>>2]>>2]}ua[J[J[f>>2]+28>>2]](f,b,a+c|0,e&2?d:2)}function vq(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 sq(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 rq(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 gr(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 fr(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 Lf(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 ve(a){a=a|0;var b=0;J[a>>2]=18524;if(K[a+69|0]){b=J[a+60>>2];ua[J[J[b>>2]>>2]](b)|0;b=J[a+60>>2];if(b){J[8457]=J[8457]+1;ua[J[8259]](b)}}return a|0}function Mf(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 ch(a,b){a=a|0;b=b|0;var c=0;if(K[a+289|0]){c=J[a+216>>2];if(c){J[8457]=J[8457]+1;ua[J[8259]](c)}}J[a+216>>2]=b;H[a+289|0]=0;J[J[a+212>>2]+8>>2]=b}function Va(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 Qh(a){a=a|0;J[8761]=23996;a=J[8900];if(!(a?!a|!K[35604]:1)){J[8457]=J[8457]+1;ua[J[8259]](a)}H[35604]=1;J[8898]=0;J[8899]=0;J[8900]=0;fb(35044)}function ak(a){a=a|0;var b=Q(0),c=Q(0);b=N[a+36>>2];c=Q(ua[J[J[a>>2]+48>>2]](a));Q(ua[J[J[a>>2]+48>>2]](a));Q(ua[J[J[a>>2]+48>>2]](a));return Q(Q(b+c))}function On(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}ua[J[J[a>>2]>>2]](a)|0;ua[J[J[c>>2]+60>>2]](c,J[b+8>>2]);J[b+8>>2]=0}}function Io(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=Q(f);ua[J[J[a>>2]+16>>2]](a,b,c,e);ua[J[J[a>>2]+16>>2]](a,c,d,e);ua[J[J[a>>2]+16>>2]](a,d,b,e)}function sn(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0;e=sa-16|0;sa=e;J[e+12>>2]=a;J[e+8>>2]=c;J[e+4>>2]=12944;ua[J[J[b>>2]+48>>2]](b,e+4|0,d);sa=e+16|0}function lk(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;Ac(a)}function Rc(a){a=a|0;var b=0;J[a>>2]=15724;b=J[a+48>>2];ua[J[J[b>>2]+20>>2]](b,J[a+64>>2]);b=J[a+48>>2];ua[J[J[b>>2]+16>>2]](b,J[a+64>>2]);return a|0}function tb(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 sb(a){a=a|0;var b=0;J[a>>2]=20860;b=J[a+60>>2];if(b){ua[J[J[b>>2]>>2]](b)|0;b=J[a+60>>2];if(b){J[8457]=J[8457]+1;ua[J[8259]](b)}}return a|0}function Oe(a){a=a|0;var b=0,c=0;J[a>>2]=16604;a:{if(!K[a+8|0]){break a}b=J[a+12>>2];if(!b){break a}c=J[a+4>>2];ua[J[J[c>>2]+16>>2]](c,b)}return a|0}function Ne(a){a=a|0;var b=0,c=0;J[a>>2]=16676;a:{if(!K[a+8|0]){break a}b=J[a+12>>2];if(!b){break a}c=J[a+4>>2];ua[J[J[c>>2]+16>>2]](c,b)}return a|0}function Mn(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=sa-16|0;sa=d;J[d+12>>2]=c;J[d+8>>2]=a;J[d+4>>2]=b;J[d>>2]=12476;ua[J[J[a>>2]+48>>2]](a,d,c);sa=d+16|0}function Ke(a){a=a|0;var b=0,c=0;J[a>>2]=17912;a:{if(!K[a+8|0]){break a}b=J[a+12>>2];if(!b){break a}c=J[a+4>>2];ua[J[J[c>>2]+16>>2]](c,b)}return a|0}function Je(a){a=a|0;var b=0,c=0;J[a>>2]=17988;a:{if(!K[a+8|0]){break a}b=J[a+12>>2];if(!b){break a}c=J[a+4>>2];ua[J[J[c>>2]+16>>2]](c,b)}return a|0}function pm(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 dg(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(Ka(a,J[b+8>>2],f)){gc(b,c,d,e);return}a=J[a+8>>2];ua[J[J[a>>2]+20>>2]](a,b,c,d,e,f)}function te(a,b,c){a=Sa(a);N[a+52>>2]=b;J[a>>2]=19116;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 ld(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 Tq(a,b,c){a=Q(a);b=Q(b);c=Q(c);var d=0;J[8456]=J[8456]+1;d=ua[J[8258]](16,16)|0;J[d+12>>2]=0;N[d+8>>2]=c;N[d+4>>2]=b;N[d>>2]=a;return d|0}function Dn(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];ua[J[J[c>>2]+32>>2]](c,b,J[a+12>>2])}return 0}function fj(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 un(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 es(){if(!K[33688]){J[8415]=0;J[8416]=0;J[8413]=35;J[8414]=0;J[8417]=0;J[8412]=20152;J[8413]=27;J[8412]=20260;H[33688]=1}return 33648}function Wa(a){var b=0;a=a*a;b=a*a;return Q(a*b*(a*2439044879627741e-20+-.001388676377460993)+(b*.04166662332373906+(a*-.499999997251031+1)))}function Ol(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;a=J[b>>2];a=ua[J[J[a>>2]+56>>2]](a,8)|0;J[a>>2]=14940;J[a+4>>2]=J[b>>2];J[a>>2]=17728;return a|0}function sl(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+18332>>2];N[c+4>>2]=N[a+18308>>2];N[c>>2]=N[a+18284>>2]}}function Qd(a,b){var c=0,d=0;d=Rd(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 js(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;yc(a,xc(a,b,e));yc(a,xc(a,c,e));yc(a,xc(a,d,e))}function dj(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 Kp(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]}ua[f|0](b,c,d,e)}function dn(a){a=a|0;var b=0,c=0;b=sa-16|0;sa=b;ua[J[8262]](4017);c=J[a+68>>2];ua[J[J[c>>2]+32>>2]](c,J[a+24>>2]);ua[J[8263]]();sa=b+16|0}function Hq(){if(!K[33484]){J[8351]=-1;J[8352]=0;J[8349]=1065353216;J[8350]=-1;H[33480]=1;J[8369]=0;J[8348]=30912;H[33484]=1}return 33392}function fm(){if(!K[33228]){J[8285]=1065353216;J[8286]=0;H[33224]=1;J[8305]=0;J[8284]=30760;J[8287]=-1;J[8288]=0;H[33228]=1}return 33136}function fc(a,b,c,d,e,f){var g=0,h=0;g=J[a+4>>2];h=g>>8;a=J[a>>2];if(g&1){h=J[J[d>>2]+h>>2]}ua[J[J[a>>2]+20>>2]](a,b,c,d+h|0,g&2?e:2,f)}function To(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 ua[a|0](b,c,d,e,f,g,h,i,j)|0}function jq(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 yb(a,b,c,d,e){var f=0,g=0;f=J[a+4>>2];g=f>>8;a=J[a>>2];if(f&1){g=J[J[c>>2]+g>>2]}ua[J[J[a>>2]+24>>2]](a,b,c+g|0,f&2?d:2,e)}function uh(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 tr(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 sr(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 fs(a){a=a|0;var b=0;J[8456]=J[8456]+1;b=ce(ua[J[8258]](104,16)|0);J[b+100>>2]=a;J[b>>2]=19780;J[b+4>>2]=3;Ac(b);return b|0}function Uj(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 Ln(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=sa-16|0;sa=d;J[d+12>>2]=b;J[d+8>>2]=12648;ua[J[J[a>>2]+48>>2]](a,d+8|0,c);sa=d+16|0}function La(a){var b=0;a=a>>>0<=1?1:a;a:{while(1){b=zb(a);if(b){break a}b=J[9076];if(b){ua[b|0]();continue}break}ga();D()}return b}function ss(a){a=a|0;if(H[33135]<0){Ga(J[8281])}if(H[33123]<0){Ga(J[8278])}if(H[33111]<0){Ga(J[8275])}if(H[33099]<0){Ga(J[8272])}}function Bg(a){a=a|0;if(H[35791]<0){Ga(J[8945])}if(H[35779]<0){Ga(J[8942])}if(H[35767]<0){Ga(J[8939])}if(H[35755]<0){Ga(J[8936])}}function Fp(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]}ua[e|0](b,c,d)}function nj(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 ne(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 lg(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;if(Ka(a,J[b+8>>2],0)){hc(b,c,d);return}a=J[a+8>>2];ua[J[J[a>>2]+28>>2]](a,b,c,d)}function Gq(){var a=0;a=La(16);J[a+8>>2]=1036831949;J[a+12>>2]=1036831949;J[a>>2]=1036831949;J[a+4>>2]=1058642330;return a|0}function Uo(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 ua[a|0](b,c,d,e,f,g,h,i)|0}function Rq(a,b,c,d){a=Q(a);b=Q(b);c=Q(c);d=Q(d);var e=0;e=La(16);N[e+12>>2]=d;N[e+8>>2]=c;N[e+4>>2]=b;N[e>>2]=a;return e|0}function qd(a){a=a|0;var b=0;J[a>>2]=25216;b=J[a+124>>2];if(!(b?!b|!K[a+128|0]:1)){J[8457]=J[8457]+1;ua[J[8259]](b)}Ga(a)}function bd(a,b){a=a|0;b=b|0;var c=0;c=sa-16|0;sa=c;J[c+12>>2]=b;a=ua[a|0](c+12|0)|0;ba(J[c+12>>2]);sa=c+16|0;return a|0}function vo(a){a=a|0;var b=0;a=J[a+140>>2];if(!(H[33796]&1)){b=aa(1,31584)|0;H[33796]=1;J[8448]=b}$(J[8448],a|0,4404,0)}function to(a){a=a|0;var b=0;a=J[a+140>>2];if(!(H[33796]&1)){b=aa(1,31584)|0;H[33796]=1;J[8448]=b}$(J[8448],a|0,4415,0)}function _b(a,b){var c=0;bc(a,b);c=J[a+4>>2];if(c){J[8457]=J[8457]+1;ua[J[8259]](c)}J[a+4>>2]=b;J[a+12>>2]=J[a+12>>2]-1}function Jo(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);ua[J[J[a>>2]+36>>2]](a,b,c,d,h,i)}function ds(){var a=0;J[8456]=J[8456]+1;a=ce(ua[J[8258]](168,16)|0);J[a+100>>2]=0;J[a>>2]=21636;J[a+4>>2]=2;return a|0}function Bp(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]}ua[d|0](b,c)}function gm(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];Re(c,J[(d+P(a,80)|0)+64>>2],a)}function zp(a){a=a|0;var b=0;b=La(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]=32028;return b|0}function pr(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;J[8456]=J[8456]+1;return Ld(ua[J[8258]](1460,16)|0,a,b,c,d,e)|0}function Aq(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 qm(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;ua[J[J[a>>2]+108>>2]](a,b,c);ua[J[J[a>>2]+108>>2]](a,(b+1|0)%3|0,d)}function yp(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,31960,J[c>>2])|0,J[d>>2]=e}function se(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 go(a,b){a=a|0;b=b|0;var c=0;a=ua[J[8260]]((a+b|0)+3|0)|0;if(a){c=(a+b|0)+3&0-b;J[c-4>>2]=a}return c|0}function Ka(a,b,c){if(!c){return J[a+4>>2]==J[b+4>>2]}if((a|0)==(b|0)){return 1}return!kd(J[a+4>>2],J[b+4>>2])}function Hp(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,31276,J[c>>2])|0,J[d>>2]=e}function Cp(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,31744,J[c>>2])|0,J[d>>2]=e}function Lp(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]}ua[c|0](b)}function mr(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 jr(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 hr(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 Ul(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;a=J[b>>2];return _e(ua[J[J[a>>2]+56>>2]](a,80)|0,b,c,d,0)|0}function Sl(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;a=J[b>>2];return _e(ua[J[J[a>>2]+56>>2]](a,80)|0,b,c,d,1)|0}function Rl(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;a=J[b>>2];return Pc(ua[J[J[a>>2]+56>>2]](a,84)|0,b,c,d,0)|0}function Pl(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;a=J[b>>2];return Pc(ua[J[J[a>>2]+56>>2]](a,84)|0,b,c,d,1)|0}function Nf(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 Qp(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 bp(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 ua[a|0](b,c,d,e,f,g)|0}function Dp(a){a=a|0;var b=0;b=La(12);H[b+4|0]=0;J[b+8>>2]=J[a>>2];J[a>>2]=0;J[b>>2]=31812;return b|0}function Yp(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 sh(a,b){a=a|0;b=b|0;if(!(!b|!(J[b+252>>2]&2))){ua[J[J[a>>2]+92>>2]](a,b);return}Vc(a,b)}function tg(){var a=0;a=J[8948];if(a){while(1){ua[J[a>>2]]();a=J[a+4>>2];if(a){continue}break}}}function cg(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(Ka(a,J[b+8>>2],f)){gc(b,c,d,e)}}function lr(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 lp(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);ua[a|0](b,c,d,e,f,g)}function kr(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 dr(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 dq(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 Sq(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 hj(a){a=a|0;a=J[a+100>>2]-2|0;if(a>>>0<=2){a=J[(a<<2)+21796>>2]}else{a=0}return a|0}function mn(a,b){a=a|0;b=b|0;var c=0;c=b;b=J[a+8>>2];ua[J[b+64>>2]](c,b,J[a+4>>2]);return 0}function Xo(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);ua[a|0](b,c,d,e,f,g)}function Xc(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 jp(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 ua[a|0](b,c,d,e,f)|0}function sg(a,b){a=Q(a);b=Q(b);J[8456]=J[8456]+1;return te(ua[J[8258]](64,16)|0,a,b)|0}function uk(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 Tb(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 $m(a,b){a=a|0;b=b|0;ua[J[J[b>>2]+32>>2]](b);ff(a,b);ua[J[J[b>>2]+36>>2]](b)}function xj(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 qp(a,b,c,d,e,f){a=a|0;b=b|0;c=Q(c);d=Q(d);e=Q(e);f=Q(f);ua[a|0](b,c,d,e,f)}function rp(a,b,c,d,e){a=a|0;b=Q(b);c=Q(c);d=Q(d);e=Q(e);return ua[a|0](b,c,d,e)|0}function jn(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 er(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 ap(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=Q(d);e=Q(e);f=Q(f);ua[a|0](b,c,d,e,f)}function Mo(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;ua[J[J[a>>2]+16>>2]](a,b,c,d)}function Mm(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;a=a-4|0;ua[J[J[a>>2]+8>>2]](a,b,c,d)}function $o(a,b,c,d,e){a=a|0;b=b|0;c=Q(c);d=Q(d);e=Q(e);return ua[a|0](b,c,d,e)|0}function Vo(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=Q(d);e=Q(e);return ua[a|0](b,c,d,e)|0}function Cf(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;ua[a|0](b,c,d,e,f)}function mp(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return ua[a|0](b,c,d,e)|0}function Hr(a,b,c,d){a=a|0;b=Q(b);c=c|0;d=Q(d);ua[J[J[a>>2]+52>>2]](a,b,c,d)|0}function Cn(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 mg(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;if(Ka(a,J[b+8>>2],0)){hc(b,c,d)}}function Rr(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=Q(f);vb(a,b,c,d,e,f)}function sf(a,b){a=a|0;b=b|0;a=J[a+4>>2];ua[J[J[a>>2]+8>>2]](a,J[b+36>>2])|0}function Ag(a,b,c){a=a|0;b=b|0;c=Q(c);if(K[a+62|0]){$a(a);$a(a);$a(a);$a(a)}}function vs(a){var b=0;b=a&31;a=0-a&31;return(-1>>>b&-2)<>>a} +function om(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;ua[J[J[a>>2]+124>>2]](a,d,b,c)}function df(a,b){a=a|0;b=b|0;a=J[a+24>>2];return ua[J[J[a>>2]+8>>2]](a,b)|0}function Oo(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;ua[J[J[a>>2]+108>>2]](a,b,c,d)}function Zj(a){a=a|0;J[a>>2]=20364;if(a){J[8457]=J[8457]+1;ua[J[8259]](a)}}function Yg(a){a=a|0;J[8456]=J[8456]+1;return Ic(ua[J[8258]](64,16)|0,a)|0}function Xe(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;ua[J[J[a>>2]+80>>2]](a,b,c,d)}function Vr(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;ua[J[J[a>>2]+32>>2]](a,b,c,d)}function Ur(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;ua[J[J[a>>2]+36>>2]](a,b,c,d)}function Mr(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;ua[J[J[a>>2]+88>>2]](a,b,c,d)}function Jb(a){a=a|0;J[a>>2]=23876;if(a){J[8457]=J[8457]+1;ua[J[8259]](a)}}function yd(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;ua[J[J[a>>2]+8>>2]](a,b,c,d)}function sp(a,b,c,d,e){a=a|0;b=b|0;c=Q(c);d=Q(d);e=Q(e);ua[a|0](b,c,d,e)}function Sn(a,b){a=a|0;b=b|0;ua[J[J[a>>2]+8>>2]](a,b,J[J[a+8>>2]+48>>2])}function tp(a,b,c,d){a=a|0;b=Q(b);c=Q(c);d=Q(d);return ua[a|0](b,c,d)|0}function ip(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=Q(d);e=Q(e);ua[a|0](b,c,d,e)}function ep(a,b,c,d,e){a=a|0;b=b|0;c=Q(c);d=Q(d);e=e|0;ua[a|0](b,c,d,e)}function Wo(a,b,c,d,e){a=a|0;b=b|0;c=Q(c);d=d|0;e=Q(e);ua[a|0](b,c,d,e)}function Nk(a,b){a=a|0;b=Q(b);return Q(Q(Q(ua[J[J[a>>2]+16>>2]](a))*b))}function wj(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;if((d|0)>0){Fa(c,0,d<<4)}}function ej(a){a=a|0;a=J[a+100>>2];return((a|0)==4?4:((a|0)==3)<<1)|0}function ad(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;ua[a|0](b,c,d,e)}function Ub(a){a=a|0;a=sb(a);if(a){J[8457]=J[8457]+1;ua[J[8259]](a)}}function Tp(a){a=a|0;a=Fc(a);if(a){J[8457]=J[8457]+1;ua[J[8259]](a)}}function Ti(a){a=a|0;a=$d(a);if(a){J[8457]=J[8457]+1;ua[J[8259]](a)}}function Rg(a){a=a|0;a=Cb(a);if(a){J[8457]=J[8457]+1;ua[J[8259]](a)}}function Bf(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ua[a|0](b,c,d)|0}function ub(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 ms(a,b){a=a|0;b=b|0;return J[(J[a+32>>2]+P(b,80)|0)+64>>2]}function ii(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 fq(a,b){a=a|0;b=b|0;a=J[a+540>>2];ua[J[J[a>>2]+8>>2]](a,b)}function bm(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 zg(a){a=a|0;return Q(Q(Q(N[a+156>>2]*Q(.5))+N[a+152>>2]))}function mk(){J[8456]=J[8456]+1;return Wb(ua[J[8258]](324,16)|0)|0}function ln(a){a=a|0;fb(a);if(a){J[8457]=J[8457]+1;ua[J[8259]](a)}}function gl(a){a=a|0;ve(a);if(a){J[8457]=J[8457]+1;ua[J[8259]](a)}}function _i(a){a=a|0;zc(a);if(a){J[8457]=J[8457]+1;ua[J[8259]](a)}}function _h(a){a=a|0;Jd(a);if(a){J[8457]=J[8457]+1;ua[J[8259]](a)}}function Wr(){J[8456]=J[8456]+1;return Kd(ua[J[8258]](236,16)|0)|0}function Pn(a){a=a|0;pf(a);if(a){J[8457]=J[8457]+1;ua[J[8259]](a)}}function Mj(a){a=a|0;je(a);if(a){J[8457]=J[8457]+1;ua[J[8259]](a)}}function Jg(a){a=a|0;td(a);if(a){J[8457]=J[8457]+1;ua[J[8259]](a)}}function Ik(a){a=a|0;Fc(a);if(a){J[8457]=J[8457]+1;ua[J[8259]](a)}}function Gg(a){a=a|0;rd(a);if(a){J[8457]=J[8457]+1;ua[J[8259]](a)}}function Eh(a){a=a|0;Cb(a);if(a){J[8457]=J[8457]+1;ua[J[8259]](a)}}function Dm(a){a=a|0;Ze(a);if(a){J[8457]=J[8457]+1;ua[J[8259]](a)}}function Cq(a,b,c){a=a|0;b=Q(b);c=Q(c);N[a+536>>2]=c;N[a+532>>2]=b}function Bm(a){a=a|0;Rc(a);if(a){J[8457]=J[8457]+1;ua[J[8259]](a)}}function Be(a){a=a|0;Gc(a);if(a){J[8457]=J[8457]+1;ua[J[8259]](a)}}function Qj(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return xe(a,b,c,d)|0}function Gh(a,b,c){a=a|0;b=Q(b);c=c|0;ua[J[J[a>>2]+32>>2]](a,b,c)}function Yk(a,b,c){a=a|0;b=b|0;c=c|0;ua[J[J[b>>2]+68>>2]](a,b,c)}function Kr(a,b,c){a=a|0;b=b|0;c=c|0;ua[J[J[a>>2]+56>>2]](a,b,c)}function Zr(a,b){a=a|0;b=b|0;return ua[J[J[a>>2]+40>>2]](a,b)|0}function Rn(a,b,c){a=a|0;b=b|0;c=Q(c);ua[J[J[a>>2]+12>>2]](a,b)}function ro(a,b){a=a|0;b=b|0;ua[J[J[a>>2]+16>>2]](a,b,J[b>>2])}function Sm(a,b,c){a=a|0;b=b|0;c=c|0;J[a+24>>2]=c;J[a+16>>2]=b}function Rm(a,b,c){a=a|0;b=b|0;c=c|0;J[a+28>>2]=c;J[a+20>>2]=b}function kp(a,b,c,d){a=a|0;b=b|0;c=Q(c);d=Q(d);ua[a|0](b,c,d)}function ud(a,b){a=a|0;b=b|0;return J[J[a+236>>2]+(b<<2)>>2]}function hp(a,b,c,d){a=a|0;b=b|0;c=c|0;d=Q(d);ua[a|0](b,c,d)}function gp(a,b,c,d){a=a|0;b=b|0;c=Q(c);d=d|0;ua[a|0](b,c,d)}function dp(a,b,c){a=a|0;b=Q(b);c=Q(c);return ua[a|0](b,c)|0}function cb(a){a=a|0;if(a){J[8457]=J[8457]+1;ua[J[8259]](a)}}function on(a,b){a=a|0;b=b|0;return J[J[a+20>>2]+(b<<2)>>2]}function cp(a,b,c){a=a|0;b=b|0;c=Q(c);return ua[a|0](b,c)|0}function _o(a,b,c){a=a|0;b=Q(b);c=c|0;return ua[a|0](b,c)|0}function Jq(a,b){a=a|0;b=b|0;return J[J[a+12>>2]+(b<<2)>>2]}function Df(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;ua[a|0](b,c,d)}function oj(a){a=a|0;a=J[a+220>>2];return(a|0)!=2&(a|0)!=5}function np(a,b,c){a=a|0;b=b|0;c=c|0;return ua[a|0](b,c)|0}function Ob(a){a=Sa(a);J[a+60>>2]=0;J[a>>2]=20860;return a}function th(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;jf(a,b,c,d)}function jj(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;be(a,b,c,d)}function yg(a,b){a=a|0;b=Q(b);N[a+52>>2]=b;N[a+36>>2]=b}function sj(a){a=a|0;return Q(Q(N[a+36>>2]*N[a+20>>2]))}function pg(a,b,c){a=a|0;b=b|0;c=c|0;return Ka(a,b,0)|0}function fh(a,b){a=a|0;b=Q(b);ua[J[J[a>>2]+44>>2]](a,b)}function Ze(a){a=a|0;J[a>>2]=15696;Rc(a+8|0);return a|0}function Kq(a,b){a=a|0;b=b|0;return J[a+12>>2]+(b<<4)|0}function nn(a){a=a|0;return(J[a+12>>2]?J[a+20>>2]:0)|0}function gd(a,b){a=a|0;b=b|0;ua[J[J[a>>2]+68>>2]](a,b)}function ec(a,b){a=a|0;b=b|0;ua[J[J[a>>2]+64>>2]](a,b)}function cr(a,b){a=a|0;b=b|0;ua[J[J[a>>2]+52>>2]](a,b)}function Tr(a,b){a=a|0;b=b|0;ua[J[J[a>>2]+40>>2]](a,b)}function Qr(a,b){a=a|0;b=b|0;ua[J[J[a>>2]+16>>2]](a,b)}function Oh(a,b){a=a|0;b=b|0;ua[J[J[a>>2]+24>>2]](a,b)}function Nr(a,b){a=a|0;b=b|0;ua[J[J[a>>2]+72>>2]](a,b)}function Lr(a,b){a=a|0;b=b|0;ua[J[J[a>>2]+92>>2]](a,b)}function Jr(a,b){a=a|0;b=b|0;ua[J[J[a>>2]+60>>2]](a,b)}function Fq(a,b){a=a|0;b=b|0;ua[J[J[a>>2]+12>>2]](a,b)}function br(a){a=a|0;return ua[J[J[a>>2]+56>>2]](a)|0}function _r(a){a=a|0;return ua[J[J[a>>2]+36>>2]](a)|0}function _d(a,b){a=a|0;b=b|0;ua[J[J[a>>2]+8>>2]](a,b)}function Nn(a,b){a=a|0;b=b|0;return(P(b,208)+a|0)+4|0}function Ai(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=Q(e)}function vp(a,b){a=a|0;b=b|0;return Q(Q(ua[a|0](b)))}function Jl(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0}function ts(a){if(a){return 31-S(a-1^a)|0}return 32}function Gf(a){a=a|0;if(a){ua[J[J[a>>2]+12>>2]](a)}}function up(a,b,c){a=a|0;b=b|0;c=Q(c);ua[a|0](b,c)}function nl(a,b){a=a|0;b=Q(b);N[a+152>>2]=b;ic(a)} +function ho(a){a=a|0;if(a){ua[J[8261]](J[a-4>>2])}}function dc(a){a=a|0;if(a){ua[J[J[a>>2]+4>>2]](a)}}function Lq(a,b){a=a|0;b=b|0;ob(a,b);return a+48|0}function xg(a){a=a|0;return Q(N[J[a+8>>2]+40>>2])}function sk(a,b){a=a|0;b=Q(b);N[a+160>>2]=b;Bb(a)}function kl(a,b){a=a|0;b=Q(b);N[a+156>>2]=b;ic(a)}function fp(a,b){a=a|0;b=Q(b);return ua[a|0](b)|0}function Lk(a,b){a=a|0;b=Q(b);N[a+152>>2]=b;Bb(a)}function Ef(a,b,c){a=a|0;b=b|0;c=c|0;ua[a|0](b,c)}function Ck(a,b){a=a|0;b=Q(b);N[a+156>>2]=b;Bb(a)}function pb(a,b,c){kb(a+4|0,a+372|0,a+388|0,b,c)}function Ff(a,b){a=a|0;b=b|0;return ua[a|0](b)|0}function yq(a,b,c){a=a|0;b=Q(b);c=c|0;lc(a,b,c)}function hd(a,b,c,d){ma(a|0,b|0,8,0,c|0,-1,d|0)}function Xj(a){a=a|0;return(K[a+204|0]&2)>>>1|0}function Mq(a,b){a=a|0;b=b|0;ob(a,b);return b|0}function qe(a,b,c){a=a|0;b=b|0;c=Q(c);return 0}function Oj(a){a=a|0;return(K[a+204|0]&3)!=0|0}function pj(a){a=a|0;J[a>>2]=30816;return a|0}function le(a){a=Ce(a);J[a>>2]=20484;return a}function _j(a){a=a|0;J[a>>2]=20364;return a|0}function Md(a){a=a|0;J[a>>2]=23876;return a|0}function $e(a,b,c,d){a=a|0;b=b|0;c=c|0;d=Q(d)}function mi(a){a=a|0;return J[a+220>>2]==2|0}function Qo(a,b){a=a|0;b=b|0;Ja(a,b+8|0,128)}function Pr(a){a=a|0;ua[J[J[a>>2]+24>>2]](a)}function Po(a,b){a=a|0;b=b|0;Ja(a+8|0,b,128)}function Pb(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0}function Lj(a,b){a=a|0;b=b|0;N[a+184>>2]=b|0}function yh(a){a=a|0;return J[a+4>>2]==31|0}function xr(a,b){a=a|0;b=Q(b);N[a+680>>2]=b}function wr(a,b){a=a|0;b=Q(b);N[a+684>>2]=b}function vn(a){a=a|0;return J[a+16>>2]!=0|0}function nb(a){a=a|0;return J[J[a>>2]-4>>2]}function kk(a){a=a|0;return J[a+100>>2]+4|0}function cd(a,b){a=a|0;b=b|0;ua[J[a>>2]](b)}function Zi(a){a=a|0;return J[a+48>>2]==1|0}function Hi(a,b){a=a|0;b=Q(b);N[a+276>>2]=b}function Di(a,b){a=a|0;b=Q(b);N[a+272>>2]=b}function zm(a,b){a=a|0;b=Q(b);N[a+28>>2]=b}function vi(a,b){a=a|0;b=b|0;J[a+264>>2]=b}function qs(a,b){a=a|0;b=Q(b);N[a+72>>2]=b}function qr(a,b){a=a|0;b=Q(b);N[a+16>>2]=b}function kq(a,b){a=a|0;b=b|0;J[a+564>>2]=b}function ag(a,b){a=a|0;b=Q(b);N[a+64>>2]=b}function _k(a,b){a=a|0;b=Q(b);N[a+20>>2]=b}function Zo(a){a=a|0;return J[a+8>>2]!=0|0}function Ye(a,b){a=a|0;b=Q(b);N[a+52>>2]=b}function Wi(a,b){a=a|0;b=b|0;J[a+204>>2]=b}function Qi(a){a=a|0;return J[a+56>>2]+4|0}function Pp(a,b){a=a|0;b=Q(b);N[a+80>>2]=b}function Om(a,b){a=a|0;b=Q(b);N[a+36>>2]=b}function Il(a){a=a|0;return J[a+4>>2]+52|0}function Hj(a,b){a=a|0;b=b|0;J[a+220>>2]=b}function Gm(a,b){a=a|0;b=Q(b);N[a+32>>2]=b}function Dr(a,b){a=a|0;b=Q(b);N[a+40>>2]=b}function Bq(a){a=a|0;return Q(N[a+532>>2])}function $f(a,b){a=a|0;b=Q(b);N[a+68>>2]=b}function zr(a,b){a=a|0;b=b|0;H[a+736|0]=b}function yr(a,b){a=a|0;b=b|0;H[a+737|0]=b}function oc(a,b){a=a|0;b=b|0;J[a+16>>2]=b}function kf(a){a=a|0;return Q(N[a+52>>2])}function ck(a){a=a|0;return J[a+204>>2]&1}function _m(a,b){a=a|0;b=b|0;J[a+72>>2]=b}function Zk(a){a=a|0;return Q(N[a+20>>2])}function Qq(a){a=a|0;return Q(N[a+12>>2])}function Op(a){a=a|0;return Q(N[a+80>>2])}function Gr(a,b){a=a|0;b=b|0;H[35721]=b^1}function Fn(a,b){a=a|0;b=b|0;J[a+24>>2]=b}function Er(a){a=a|0;return Q(N[a+40>>2])}function En(a,b){a=a|0;b=b|0;J[a+68>>2]=b}function sm(a,b){a=a|0;b=b|0;H[a+62|0]=b}function km(a,b){a=a|0;b=b|0;H[a+63|0]=b}function Qf(a){a=a|0;return Q(N[a+4>>2])}function Ph(a,b){a=a|0;b=b|0;J[a+8>>2]=b}function Pf(a){a=a|0;return Q(N[a+8>>2])}function Go(a,b){a=a|0;b=b|0;J[a+4>>2]=b}function wp(a,b){a=a|0;b=b|0;ua[a|0](b)}function uo(a){a=a|0;return J[a+108>>2]}function pp(a){a=a|0;return ua[a|0]()|0}function mq(a){a=a|0;return J[a+564>>2]}function ki(a){a=a|0;return J[a+748>>2]}function jo(a){a=a|0;return J[a+112>>2]}function ij(a){a=a|0;return J[a+100>>2]}function gq(a){a=a|0;return J[a+540>>2]}function fo(a){a=a|0;return J[a+836>>2]}function di(a){a=a|0;return J[a+332>>2]}function ci(a){a=a|0;return J[a+220>>2]}function bh(a){a=a|0;return J[a+216>>2]}function ah(a){a=a|0;return J[a+228>>2]}function _n(a){a=a|0;return J[a+840>>2]}function Uq(a,b){a=a|0;b=Q(b);N[a>>2]=b}function Tn(a){a=a|0;return J[a+844>>2]}function No(a){a=a|0;return J[a+200>>2]}function Ji(a){a=a|0;return J[a+192>>2]}function Bi(a){a=a|0;return J[a+264>>2]}function Af(a){a=a|0;return J[a+204>>2]}function uf(a){a=a|0;return J[a+96>>2]}function pn(a){a=a|0;return J[a+12>>2]}function hf(a){a=a|0;return J[a+56>>2]}function ed(a){a=a|0;return Q(N[a>>2])}function cf(a){a=a|0;return J[a+60>>2]}function Yc(a){a=a|0;return J[a+72>>2]}function Xf(a){a=a|0;return J[a+24>>2]}function Xb(a){a=a|0;return J[a+16>>2]}function Vf(a){a=a|0;return J[a+84>>2]}function tf(a,b){a=a|0;b=b|0;return 1}function oe(a,b,c){a=a|0;b=Q(b);c=c|0}function cj(a,b){a=a|0;b=b|0;return 0}function Nc(a){a=a|0;return J[a+4>>2]}function Mc(a){a=a|0;return J[a+8>>2]}function qq(a,b){a=a|0;b=b|0;Db(a,b)}function op(a){a=a|0;return a- -64|0}function Oa(a,b,c){a=a|0;b=b|0;c=c|0}function Aj(a,b){a=a|0;b=b|0;Xc(a,b)}function uq(a){a=a|0;return a+372|0}function tq(a){a=a|0;return a+388|0}function Tj(a){a=a|0;return a+116|0}function Sg(a){a=a|0;return Cb(a)|0}function Rj(a){a=a|0;return Gc(a)|0}function Rf(a){a=a|0;return zb(a)|0}function Of(a){a=a|0;return a+132|0}function xp(a){a=a|0;return a+32|0}function ps(a){a=a|0;return a+56|0}function nf(a){a=a|0;return a+20|0}function mj(a){a=a|0;return a+76|0}function mf(a){a=a|0;return a+36|0}function me(a){a=a|0;return a+24|0}function Yo(a){a=a|0;return a+16|0}function Yf(a){a=a|0;return a+52|0}function Wf(a){a=a|0;return a+68|0}function Tf(a){a=a|0;return a+92|0}function Sp(a){a=a|0;return a+84|0}function Sf(a){a=a|0;return a+72|0}function Rh(a){a=a|0;J[a+232>>2]=0}function Mk(a){a=a|0;J[8284]=30816}function Hf(a){a=a|0;return a+48|0}function bj(a){a=a|0;return 10115}function Zc(a){a=a|0;return a+4|0}function Pm(a){a=a|0;return a-4|0}function Jp(a){a=a|0;H[a+136|0]=1}function xl(a){a=a|0;return 1476}function wm(a){a=a|0;return 7533}function vk(a){a=a|0;return 7454}function tj(a){a=a|0;return 9188}function lj(a){a=a|0;return 9195}function jm(a){a=a|0;Oc(a);Ga(a)}function jk(a){a=a|0;return 6544}function fn(a){a=a|0;Wc(a);Ga(a)}function eo(a){a=a|0;wf(a);Ga(a)}function em(a){a=a|0;Qe(a);Ga(a)}function ek(a){a=a|0;return 9149}function Zl(a){a=a|0;Ne(a);Ga(a)}function Xl(a){a=a|0;Kc(a);Ga(a)}function Sj(a){a=a|0;return 9207}function Rp(a){a=a|0;return 7744}function Qk(a){a=a|0;return 7354}function Ni(a){a=a|0;return 9175}function Lm(a){a=a|0;af(a);Ga(a)}function Ih(a){a=a|0;Bd(a);Ga(a)}function Hl(a){a=a|0;Me(a);Ga(a)}function Dl(a){a=a|0;Ke(a);Ga(a)}function Cj(a){a=a|0;return 9166}function Ap(a){a=a|0;H[a+72|0]=1}function An(a){a=a|0;of(a);Ga(a)}function Al(a){a=a|0;Je(a);Ga(a)}function $l(a){a=a|0;Oe(a);Ga(a)}function $k(a){a=a|0;return 9172}function $j(a){a=a|0;return 1038}function zi(a){a=a|0;return 644}function ni(a){a=a|0;return 220}function gn(a){a=a|0;return 264}function Nh(a){a=a|0;return 496}function Ha(a){a=a|0;return a|0}function Ep(a){a=a|0;H[a+4|0]=1}function we(a){a=a|0;return 84}function cq(a){a=a|0;dd(33488)}function bq(a){a=a|0;Ga(fd(a))}function Xp(a){a=a|0;Ga(dd(a))}function Si(a){a=a|0;return 28}function Rb(a){a=a|0;return 60}function Qc(a){a=a|0;return 52}function Np(a){a=a|0;return 24}function Nm(a){a=a|0;Ga(a-4|0)}function Ir(a){a=a|0;fd(33232)}function De(a){a=a|0;return 12}function Bj(a){a=a|0;return 76}function $r(a){a=a|0;Kc(33692)}function wb(a){a=a|0;return 0}function rl(a){a=a|0;return 8}function ef(a,b){a=a|0;b=Q(b)}function We(a){a=a|0;return 2}function Ve(a){a=a|0;return 3}function Ue(a){a=a|0;return 1}function Ee(a){a=a|0;return 6}function Ya(a,b){a=a|0;b=b|0}function Ea(a){a=a|0;Ga(a)}function Pa(a){a=a|0;D()}function qg(){ga();D()}function _a(a){a=a|0}function Qn(){} +// EMSCRIPTEN_END_FUNCS +e=K;p(q);var ua=c([null,Mk,Ir,cq,_a,$r,dc,nb,Lp,Kp,dc,Ha,Ha,nb,Jp,cd,Ip,bd,Hp,Gp,Gf,nb,Fp,Gf,Ha,Ha,nb,Ep,cd,Dp,bd,Cp,dc,nb,Bp,dc,Ha,Ha,nb,Ap,cd,zp,bd,yp,Rf,Ff,Ea,wp,ed,vp,Uq,up,Iq,Ef,Tq,tp,ed,Qf,Pf,Sq,sp,Rq,rp,ed,Qf,Pf,Qq,Nf,qp,Pq,pp,Oq,Nq,Hf,Mq,np,Lq,_d,Fq,Eq,Df,Nc,Jq,Kq,Fr,Er,Dr,qr,Cr,mp,Br,Ar,lp,yr,Ef,zr,wr,vr,kp,xr,ur,tr,sr,rr,Uf,pr,jp,Uf,nr,ip,hr,Df,gr,hp,fr,er,dr,mr,lr,kr,jr,ir,yh,Ff,Oh,Gh,gp,yd,ad,fh,oc,Ph,es,mf,Yg,Ng,Eg,fp,yg,og,ig,ep,sg,dp,rg,bg,ag,$f,_f,rs,cp,ps,qs,bs,bp,ks,js,Cf,is,Bf,cf,hs,ap,gs,$o,fs,ds,cs,os,Xf,ns,ms,ec,ls,ad,mk,Ji,_d,Lj,mi,ci,Hj,Aj,oj,Xj,ck,Oj,Zc,Wi,Af,Hi,Di,vi,Bi,dj,Xh,Dq,_o,mq,kq,qq,Aq,zq,yq,xq,vq,sq,uq,rq,tq,hq,jq,iq,Cq,Bq,gq,pq,oq,nq,fq,as,Yr,_r,Zr,No,Af,uo,jo,fo,_n,Tn,Nn,Ha,Yo,Hf,xp,op,Xr,Wr,Ur,ad,Tr,Vr,Rr,Xo,Qr,Pr,Or,Bf,Gr,Nr,Hr,Wo,Mr,Lr,Kr,Jr,ec,gd,cr,br,ar,$q,_q,Zq,Yq,Xq,Wq,Vq,Zo,vn,Sr,oc,or,Cf,Tf,Sf,Of,fm,oc,Fg,Wf,Yf,Vf,lq,Mp,Tf,Sf,Of,Hq,wq,Wf,Yf,Vf,Gq,Nf,Nc,Mc,Zc,nf,mf,kf,hf,cf,Tl,Vo,Il,Om,Gm,zm,sm,km,Bl,Uo,wl,nl,kl,bl,To,Vk,Lk,Ck,sk,ss,If,pj,Ea,Mf,eq,Pa,dq,qg,fd,bq,Lf,aq,$p,_p,Kf,Ha,Ea,Mf,Zp,dd,Xp,Lf,Wp,Vp,Up,Yp,Jf,Fc,Tp,Fk,Ok,Kk,Nk,Dk,Sp,Ek,Rp,Qp,Pp,Op,Np,Bk,Jk,Hk,Gk,So,Ro,Qo,Po,Oo,Mo,Lo,Ko,Jo,Io,Ho,Ya,Oa,Go,Nc,Fo,Eo,Do,Co,Bo,Ao,zo,yo,xo,wo,vo,to,so,Pa,_a,_a,ro,Ya,qo,po,oo,Pa,io,no,mo,lo,ko,Pa,go,ho,Rf,Ea,wf,eo,co,bo,Yn,ao,$n,Zn,Xn,uf,uf,Wn,Vn,_a,Ha,Ea,Un,Sn,Rn,tf,tf,Ea,Oa,sf,Ea,sf,_a,Qn,pf,Pn,Gn,Jn,Ln,Xb,Xb,Zc,On,Mc,Mn,Fn,In,Kn,wb,En,Hn,Ha,Ea,Dn,Ea,Cn,Bn,of,An,wn,zn,xn,yn,tn,un,sn,pn,on,nn,Yc,Yc,rn,qn,Ea,mn,fb,ln,jn,hn,gn,lf,kn,Wc,fn,en,dn,_m,Yc,gf,an,bn,jf,Vc,cn,$m,ef,Ya,Oa,Ha,Ea,Ha,Ea,Ei,Zm,Ea,Ym,Ea,df,Xm,Ea,Ci,bf,Ea,bf,Ea,Wm,Ea,df,Vm,Ha,Ea,Um,Ea,Tm,Ha,Ea,Qm,yd,Pm,Nm,Mm,Ha,Pa,Ha,Pa,Ha,Ea,Im,af,Lm,Km,Jm,Hm,Ha,Ea,Oa,Oa,$e,Ea,Oa,Oa,Fm,Ea,Sm,Rm,Em,Ze,Dm,ym,xm,Cm,Rc,Bm,Am,sb,Ub,Xe,tb,nf,Tb,wm,Ye,kf,Qc,vm,re,um,qk,tm,rk,We,rm,Kj,Ve,Ve,qm,pm,Ue,om,nm,mm,Ea,lm,Oc,jm,Se,im,hm,Ea,gm,Qe,em,cm,bm,dm,Ea,am,Ya,Ha,Ea,Pe,Oe,$l,_l,ub,Sb,Ne,Zl,Yl,ub,Sb,Kc,Xl,Mc,Xb,Vl,Wl,Ha,Ea,Ul,Ea,Sl,Ea,Rl,Ea,Ql,Ea,Pl,Ea,Ol,Ea,Nl,Ea,Ml,Ea,Ll,Ea,Kl,Ea,Jl,ub,Ya,Me,Hl,Gl,Fl,Xb,Ea,El,Ke,Dl,Cl,ub,Sb,Je,Al,zl,ub,Sb,Ea,Ie,Ub,He,Ge,yl,xl,Fe,vl,ul,tl,Ee,sl,rl,De,ql,pl,Ee,ol,ml,ll,Gc,Be,xe,we,hl,jl,il,ve,gl,Ri,el,Qi,Tb,$k,_k,Zk,Rb,dl,fl,Oi,Yk,cl,al,Ha,Ea,ue,Ea,ue,Ea,Xk,Ha,cb,Sk,Rk,Tk,Qk,se,ef,Rb,Pk,Wk,Uk,wb,Oa,Ik,cb,Xe,xk,wk,vk,uk,Rb,tk,yk,Ak,zk,Pa,Pa,De,bb,Ub,be,lk,kk,Gj,jk,re,ok,nk,wb,wb,Pb,Oa,wb,Pb,qe,Ha,Ea,ik,cb,He,Ge,hk,ek,se,Fe,Rb,dk,bk,gk,fk,ak,Ha,Pa,Ha,cb,pe,ne,me,oe,$j,Pb,_j,Zj,Yj,Uj,Tj,Tb,Sj,Vj,Wj,Rj,Be,Qj,Ea,Pj,Ea,Nj,je,Mj,Pa,Jj,Ij,Pa,Fj,Ha,cb,Dj,ne,me,oe,Cj,Bj,zj,Ej,Ea,yj,cb,pe,uj,tj,Ye,sj,vj,xj,wj,Ha,cb,rj,nj,mj,Tb,lj,Qc,kj,qj,Ub,jj,bj,ij,hj,gj,fj,ej,Pb,qe,cj,zc,_i,aj,ae,ae,Ya,Ya,Xf,Ya,Ya,Zi,Yi,Xi,Si,$i,$d,Ti,Vi,Ui,Ha,cb,wc,Ni,Pi,Ea,Mi,Ea,Li,Ha,Ea,Yd,Ea,Oa,Oa,Ki,Ea,vc,pk,ab,Ha,Ea,Ii,Ea,Za,Ea,Gi,Ea,Oa,Oa,Fi,Pa,Pa,Ea,Td,Md,Jb,_a,Ai,xi,wi,$e,ui,ti,zi,yi,Md,Jb,Jb,si,ri,qi,pi,oi,ni,li,ki,Jb,ji,ii,hi,gi,fi,we,ei,di,bi,ai,$h,Jd,_h,Oa,Sh,Oa,Rh,Ue,Zh,Vh,Th,Wh,Yh,Uh,Qh,Pa,_a,Qc,Gb,Kh,Jh,Nh,Mh,Lh,Bd,Ih,Hh,Fh,Cb,Eh,Ch,th,sh,$g,xh,nh,mh,lh,kh,vh,uh,zh,qh,ph,rh,ch,bh,ah,ud,ud,We,Bh,ec,gd,ec,gd,eh,gh,ih,jh,oh,wh,hh,Dh,dh,Ah,Ya,Qg,_g,Zg,Xg,Ea,Wg,Vg,Sg,Rg,Tg,Ug,Ha,Ea,Pg,Ha,Ea,Og,Mg,Oa,Ea,Lg,Kg,td,Jg,Ig,Hg,rd,Gg,Dg,Cg,Bg,wg,Pa,Ag,Ya,hf,qd,zg,qd,xg,Ea,vg,pd,Ha,Ea,_a,_a,pg,Ea,ng,cg,fg,mg,Ea,dg,gg,lg,Ea,eg,hg,kg,Ea,jg]);function va(){return G.byteLength/65536|0}function Aa(Ba){Ba=Ba|0;var wa=va()|0;var xa=wa+Ba|0;if(wa=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"]["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)}}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)}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 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(); + + + 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; diff --git a/emscripten/bullet/bullet.release.asm.js.mem b/emscripten/bullet/bullet.release.asm.js.mem deleted file mode 100644 index 54acc5d4ef9da532f7f05ab481ba1d301748ac5c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 32051 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 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; diff --git a/emscripten/bullet/bullet.wasm b/emscripten/bullet/bullet.wasm new file mode 100644 index 0000000000000000000000000000000000000000..f10c3b693670b17da0bbbe833a1010919d6e3dfa GIT binary patch literal 493437 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

&=51qykAK8m#;PMdlWW# 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