MCPcopy
hub / github.com/layabox/LayaAir-v1 / ec

Function ec

bin/ts/libs/laya.physics3D.js:52–52  ·  view source on GitHub ↗
(a)

Source from the content-addressed store, hash-verified

50function Dg(a,b){a=a|0;b=b|0;var d=0,e=0.0,f=0.0,h=0.0,i=0.0,j=0.0,k=0.0,m=0;d=l;l=l+144|0;cp(d+112|0,+g[a+16>>2],+g[a+20>>2],+g[a+24>>2],+g[a>>2],+g[a+4>>2],+g[a+8>>2]);Np(d+128|0,+g[d+112>>2],+g[d+112+4>>2],+g[d+112+8>>2],.5);i=+g[d+128>>2];j=+g[d+128+4>>2];k=+g[d+128+8>>2];ep(d+96|0,+g[a+16>>2],+g[a+20>>2],+g[a+24>>2],i,j,k);pl(d+128|0,b,i,j,k);b=kH(b)|0;m=tF(b,0)|0;rp(d+64|0,+g[m>>2],+g[m+4>>2],+g[m+8>>2]);m=tF(b,1)|0;rp(d+48|0,+g[m>>2],+g[m+4>>2],+g[m+8>>2]);b=tF(b,2)|0;rp(d+32|0,+g[b>>2],+g[b+4>>2],+g[b+8>>2]);cm(d+80|0,+g[d+96>>2],+g[d+96+4>>2],+g[d+96+8>>2],+g[d+64>>2],+g[d+64+4>>2],+g[d+64+8>>2],+g[d+48>>2],+g[d+48+4>>2],+g[d+48+8>>2],+g[d+32>>2],+g[d+32+4>>2],+g[d+32+8>>2]);k=+g[d+128>>2];j=+g[d+128+4>>2];i=+g[d+128+8>>2];h=+g[d+80>>2];f=+g[d+80+4>>2];e=+g[d+80+8>>2];ep(d+16|0,k,j,i,h,f,e);c[a>>2]=c[d+16>>2];c[a+4>>2]=c[d+16+4>>2];c[a+8>>2]=c[d+16+8>>2];c[a+12>>2]=c[d+16+12>>2];cp(d,k,j,i,h,f,e);c[a+16>>2]=c[d>>2];c[a+16+4>>2]=c[d+4>>2];c[a+16+8>>2]=c[d+8>>2];c[a+16+12>>2]=c[d+12>>2];l=d;return}function Eg(b,d){b=b|0;d=d|0;var e=0,f=0,h=0.0,i=0,j=0,k=0.0,l=0.0;e=c[d+204>>2]|0;if((e&3|0)==0?(c[d+564>>2]&1|0)==0:0){h=+g[d+404>>2];if(h!=0.0){l=1.0/h*+g[b+268>>2];k=1.0/h*+g[b+272>>2];g[d+424>>2]=1.0/h*+g[b+264>>2];g[d+428>>2]=l;g[d+432>>2]=k;g[d+436>>2]=0.0}c[d+440>>2]=c[b+264>>2];c[d+440+4>>2]=c[b+264+4>>2];c[d+440+8>>2]=c[b+264+8>>2];c[d+440+12>>2]=c[b+264+12>>2]}if(!(c[d+192>>2]|0))return;if(e&1)if((c[d+220>>2]&-2|0)==4)e=e&3;else{c[d+220>>2]=2;e=e&3}else{f=c[b+248>>2]|0;if((f|0)==(c[b+252>>2]|0)?(j=(f|0)==0?1:f<<1,(f|0)<(j|0)):0){if(!j)e=0;else{c[6897]=(c[6897]|0)+1;e=ec((j<<2|3)+16|0)|0;if(!e)e=0;else{c[(e+4+15&-16)+-4>>2]=e;e=e+4+15&-16}f=c[b+248>>2]|0}if((f|0)>0){i=0;do{c[e+(i<<2)>>2]=c[(c[b+256>>2]|0)+(i<<2)>>2];i=i+1|0}while((i|0)!=(f|0))}i=c[b+256>>2]|0;if(i){if(a[b+260>>0]|0){c[6898]=(c[6898]|0)+1;md(c[i+-4>>2]|0);f=c[b+248>>2]|0}c[b+256>>2]=0}a[b+260>>0]=1;c[b+256>>2]=e;c[b+252>>2]=j;e=c[d+204>>2]&3}else e=e&3;c[(c[b+256>>2]|0)+(f<<2)>>2]=d;c[b+248>>2]=f+1}j=(e|0)!=0;Pb[c[(c[b>>2]|0)+36>>2]&127](b,d,j?2:1,j?-3:-1);return}function Fg(b){b=b|0;var d=0,e=0,f=0.0,h=0.0,i=0.0,k=0.0,l=0.0,m=0.0,n=0,o=0,p=0,q=0,r=0,s=0.0;g[b+20>>2]=3402823466385288598117041.0e14;g[b+24>>2]=3402823466385288598117041.0e14;g[b+28>>2]=3402823466385288598117041.0e14;g[b+36>>2]=-3402823466385288598117041.0e14;g[b+40>>2]=-3402823466385288598117041.0e14;g[b+44>>2]=-3402823466385288598117041.0e14;d=c[b+156>>2]|0;if(!d)return;n=c[b+164>>2]|0;f=-3402823466385288598117041.0e14;i=-3402823466385288598117041.0e14;h=-3402823466385288598117041.0e14;l=3402823466385288598117041.0e14;k=3402823466385288598117041.0e14;m=3402823466385288598117041.0e14;while(1){d=d+-1|0;e=c[n+(d<<2)>>2]|0;if(a[e+52>>0]|0){Db[c[(c[e>>2]|0)+68>>2]&511](e);a[e+52>>0]=0;n=c[b+164>>2]|0;e=c[n+(d<<2)>>2]|0;m=+g[b+20>>2];k=+g[b+24>>2];l=+g[b+28>>2];h=+g[b+36>>2];i=+g[b+40>>2];f=+g[b+44>>2]}p=e+20|0;s=+g[p>>2];m=m>s?s:m;g[b+20>>2]=m;q=c[(k>+g[e+24>>2]?p:b+20|0)+4>>2]|0;c[b+24>>2]=q;p=c[(l>+g[e+28>>2]?p:b+20|0)+8>>2]|0;c[b+28>>2]=p;r=e+36|0;k=+g[r>>2];h=h<k?k:h;g[b+36>>2]=h;o=c[(i<+g[e+40>>2]?r:b+36|0)+4>>2]|0;c[b+40>>2]=o;e=c[(f<+g[e+44>>2]?r:b+36|0)+8>>2]|0;c[b+44>>2]=e;k=(c[j>>2]=q,+g[j>>2]);l=(c[j>>2]=p,+g[j>>2]);i=(c[j>>2]=o,+g[j>>2]);if(!d)break;else f=(c[j>>2]=e,+g[j>>2])}return}function Gg(b){b=b|0;var d=0,e=0.0,f=0,h=0,i=0.0,j=0.0,k=0;k=l;l=l+64|0;if(!(a[b+290>>0]|0)){d=c[b+248>>2]|0;if((d|0)<=0){l=k;return}h=0;do{f=c[(c[b+256>>2]|0)+(h<<2)>>2]|0;switch(c[f+220>>2]|0){case 2:case 5:break;default:if((c[f+540>>2]|0)!=0?(c[f+204>>2]&3|0)==0:0){if((a[b+316>>0]|0)!=0?(j=+g[b+284>>2],j!=0.0):0)e=+g[b+280>>2]-j;else e=+g[b+280>>2]*+g[f+268>>2];Ye(f+68|0,+g[f+132>>2],+g[f+136>>2],+g[f+140>>2],f+148|0,e,k);d=c[f+540>>2]|0;Ib[c[(c[d>>2]|0)+12>>2]&127](d,k);d=c[b+248>>2]|0}}h=h+1|0}while((h|0)<(d|0));l=k;return}else{d=c[b+8>>2]|0;if((d|0)<=0){l=k;return}h=0;do{f=c[(c[b+16>>2]|0)+(h<<2)>>2]|0;if((!((f|0)==0?1:(c[f+252>>2]&2|0)==0)?(c[f+540>>2]|0)!=0:0)?(c[f+204>>2]&3|0)==0:0){if((a[b+316>>0]|0)!=0?(i=+g[b+284>>2],i!=0.0):0)e=+g[b+280>>2]-i;else e=+g[b+280>>2]*+g[f+268>>2];Ye(f+68|0,+g[f+132>>2],+g[f+136>>2],+g[f+140>>2],f+148|0,e,k);d=c[f+540>>2]|0;Ib[c[(c[d>>2]|0)+12>>2]&127](d,k);d=c[b+8>>2]|0}h=h+1|0}while((h|0)<(d|0));l=k;return}}function Hg(b,e,f,h,i,j){b=b|0;e=e|0;f=f|0;h=h|0;i=i|0;j=j|0;var k=0;if((d[h+55>>0]|0|0)==(e|0)){h=0;return h|0}k=c[12148+(i<<2)>>2]|0;if(+g[h>>2]*+g[f+16>>2]+ +g[h+4>>2]*+g[f+20>>2]+ +g[h+8>>2]*+g[f+24>>2]-+g[h+16>>2]<-9.999999747378752e-06){e=re(b,c[h+20+(k<<2)>>2]|0,c[h+20+(i<<2)>>2]|0,f,0)|0;if(!e){h=0;return h|0}a[e+52>>0]=i;c[e+32>>2]=h;a[h+52+i>>0]=0;c[h+32+(i<<2)>>2]=e;i=c[j>>2]|0;if(!i)c[j+4>>2]=e;else{a[i+53>>0]=2;c[i+36>>2]=e;a[e+54>>0]=1;c[e+40>>2]=i}c[j>>2]=e;c[j+8>>2]=(c[j+8>>2]|0)+1;h=1;return h|0}i=c[12160+(i<<2)>>2]|0;a[h+55>>0]=e;if(!(Hg(b,e,f,c[h+32+(k<<2)>>2]|0,d[h+52+k>>0]|0,j)|0)){h=0;return h|0}if(!(Hg(b,e,f,c[h+32+(i<<2)>>2]|0,d[h+52+i>>0]|0,j)|0)){h=0;return h|0}i=c[h+48>>2]|0;if(i|0)c[i+44>>2]=c[h+44>>2];i=c[h+44>>2]|0;if(i|0)c[i+48>>2]=c[h+48>>2];if((c[b+18496>>2]|0)==(h|0))c[b+18496>>2]=c[h+48>>2];c[b+18500>>2]=(c[b+18500>>2]|0)+-1;c[h+44>>2]=0;c[h+48>>2]=c[b+18504>>2];i=c[b+18504>>2]|0;if(i|0)c[i+44>>2]=h;c[b+18504>>2]=h;c[b+18508>>2]=(c[b+18508>>2]|0)+1;h=1;return h|0}function Ig(b,d){b=b|0;d=+d;var e=0,f=0,h=0,i=0,j=0,k=0,l=0.0,m=0.0,n=0.0,o=0.0;e=c[b+248>>2]|0;if((e|0)<=0)return;k=(a[28180]|0)==0;j=0;do{i=c[(c[b+256>>2]|0)+(j<<2)>>2]|0;a:do if(i){f=c[i+220>>2]|0;b:do switch(f|0){case 4:case 2:{if((f|0)==4)break a;break}default:{o=+g[i+372>>2];n=+g[i+376>>2];m=+g[i+380>>2];l=+g[i+532>>2];if(o*o+n*n+m*m<l*l?(l=+g[i+388>>2],m=+g[i+392>>2],n=+g[i+396>>2],o=+g[i+536>>2],l*l+m*m+n*n<o*o):0){g[i+224>>2]=+g[i+224>>2]+d;break b}g[i+224>>2]=0.0;if((f&-2|0)!=4){c[i+220>>2]=0;f=0}}}while(0);h=f&-2;do if(k){if((h|0)!=2?!(+g[i+224>>2]>2.0):0)break;if(c[i+204>>2]&3|0){if((h|0)==4)break a;c[i+220>>2]=2;break a}if((f|0)==1){c[i+220>>2]=3;break a}if((f|0)!=2)break a;e=(c[i+304>>2]|0)+2|0;c[i+388>>2]=0;c[i+388+4>>2]=0;c[i+388+8>>2]=0;c[i+388+12>>2]=0;c[i+304>>2]=e;c[i+372>>2]=0;c[i+372+4>>2]=0;c[i+372+8>>2]=0;c[i+372+12>>2]=0;e=c[b+248>>2]|0;break a}while(0);if((h|0)!=4)c[i+220>>2]=1}while(0);j=j+1|0}while((j|0)<(e|0));return}function Jg(a,b,d){a=a|0;b=b|0;d=d|0;var e=0.0,f=0.0,h=0.0,i=0,j=0,k=0,m=0.0,n=0.0,o=0,p=0,q=0.0,r=0;p=l;l=l+2048|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;c[a+12>>2]=0;e=+g[d>>2];h=+g[d+4>>2];f=+g[d+8>>2];if(e*e+h*h+f*f<9.999999747378752e-05){n=1.0;m=0.0;h=0.0}else{q=1.0/+B(+(e*e+h*h+f*f));n=e*q;m=h*q;h=f*q}if((sb[c[(c[b>>2]|0)+96>>2]&127](b)|0)<=0){l=p;return}k=0;f=-999999984306749440.0;while(1){if(((sb[c[(c[b>>2]|0)+96>>2]&127](b)|0)-k|0)<128){d=(sb[c[(c[b>>2]|0)+96>>2]&127](b)|0)-k|0;if((d|0)>0)o=8;else{e=-3402823466385288598117041.0e14;d=-1}}else{d=128;o=8}if((o|0)==8){o=0;i=0;do{Mb[c[(c[b>>2]|0)+108>>2]&127](b,i,p+(i<<4)|0);i=i+1|0}while((i|0)!=(d|0));i=-1;j=0;e=-3402823466385288598117041.0e14;do{q=n*+g[p+(j<<4)>>2]+m*+g[p+(j<<4)+4>>2]+h*+g[p+(j<<4)+8>>2];r=q>e;i=r?j:i;e=r?q:e;j=j+1|0}while((j|0)!=(d|0));d=i}if(e>f){r=p+(d<<4)|0;c[a>>2]=c[r>>2];c[a+4>>2]=c[r+4>>2];c[a+8>>2]=c[r+8>>2];c[a+12>>2]=c[r+12>>2]}else e=f;k=k+128|0;if((k|0)>=(sb[c[(c[b>>2]|0)+96>>2]&127](b)|0))break;else f=e}l=p;return}function Kg(a,d,f,g){a=a|0;d=d|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;i=c[a+68+(d<<2)>>2]|0;j=b[i+((f&65535)<<2)+-4>>1]|0;if((e[i+((f&65535)<<2)>>1]|0)>=(j&65535))return;k=c[a+60>>2]|0;m=k+((e[i+((f&65535)<<2)+2>>1]|0)<<6)+54+(d<<1)|0;h=i+((f&65535)<<2)+-4|0;l=i+((f&65535)<<2)|0;while(1){i=e[l+-2>>1]|0;if(!(j&1)){f=e[l+2>>1]|0;if(((((e[k+(f<<6)+54+((1<<d&3)<<1)>>1]|0)>=(e[k+(i<<6)+48+((1<<d&3)<<1)>>1]|0)?(e[k+(i<<6)+54+((1<<d&3)<<1)>>1]|0)>=(e[k+(f<<6)+48+((1<<d&3)<<1)>>1]|0):0)?(e[k+(f<<6)+54+((1<<(1<<d&3)&3)<<1)>>1]|0)>=(e[k+(i<<6)+48+((1<<(1<<d&3)&3)<<1)>>1]|0):0)?(e[k+(i<<6)+54+((1<<(1<<d&3)&3)<<1)>>1]|0)>=(e[k+(f<<6)+48+((1<<(1<<d&3)&3)<<1)>>1]|0):0)?(p=c[a+92>>2]|0,n=k+(f<<6)|0,o=k+(i<<6)|0,xb[c[(c[p>>2]|0)+12>>2]&31](p,n,o,g)|0,p=c[a+96>>2]|0,p|0):0)xb[c[(c[p>>2]|0)+12>>2]&31](p,n,o,g)|0;f=k+(i<<6)+48+(d<<1)|0}else f=k+(i<<6)+54+(d<<1)|0;b[f>>1]=(b[f>>1]|0)+1<<16>>16;b[m>>1]=(b[m>>1]|0)+-1<<16>>16;f=e[l>>1]|e[l+2>>1]<<16;j=e[h>>1]|e[h+2>>1]<<16;b[l>>1]=j;b[l+2>>1]=j>>>16;b[h>>1]=f;b[h+2>>1]=f>>>16;f=l+-4|0;h=h+-4|0;j=b[h>>1]|0;if((e[f>>1]|0)>=(j&65535))break;l=f;k=c[a+60>>2]|0}return}function Lg(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var h=0,i=0.0,j=0,k=0,l=0,m=0.0,n=0.0;h=c[d+204>>2]|0;if((h&3|0)==0?(c[d+564>>2]&1|0)==0:0){i=+g[d+404>>2];if(i!=0.0){n=1.0/i*+g[b+268>>2];m=1.0/i*+g[b+272>>2];g[d+424>>2]=1.0/i*+g[b+264>>2];g[d+428>>2]=n;g[d+432>>2]=m;g[d+436>>2]=0.0}c[d+440>>2]=c[b+264>>2];c[d+440+4>>2]=c[b+264+4>>2];c[d+440+8>>2]=c[b+264+8>>2];c[d+440+12>>2]=c[b+264+12>>2]}if(!(c[d+192>>2]|0))return;if(h&1){if((c[d+220>>2]&-2|0)!=4)c[d+220>>2]=2}else{h=c[b+248>>2]|0;if((h|0)==(c[b+252>>2]|0)?(l=(h|0)==0?1:h<<1,(h|0)<(l|0)):0){if(!l)k=0;else{c[6897]=(c[6897]|0)+1;h=ec((l<<2|3)+16|0)|0;if(!h)h=0;else{c[(h+4+15&-16)+-4>>2]=h;h=h+4+15&-16}k=h;h=c[b+248>>2]|0}if((h|0)>0){j=0;do{c[k+(j<<2)>>2]=c[(c[b+256>>2]|0)+(j<<2)>>2];j=j+1|0}while((j|0)!=(h|0))}j=c[b+256>>2]|0;if(j){if(a[b+260>>0]|0){c[6898]=(c[6898]|0)+1;md(c[j+-4>>2]|0);h=c[b+248>>2]|0}c[b+256>>2]=0}a[b+260>>0]=1;c[b+256>>2]=k;c[b+252>>2]=l}c[(c[b+256>>2]|0)+(h<<2)>>2]=d;c[b+248>>2]=h+1}Pb[c[(c[b>>2]|0)+36>>2]&127](b,d,e,f);return}function Mg(a,d,f){a=a|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;g=c[a+68+(d<<2)>>2]|0;l=c[a+60>>2]|0;m=e[g+((f&65535)<<2)+2>>1]|0;h=b[g+((f&65535)<<2)+6>>1]|0;if(!(h<<16>>16))return;k=g+((f&65535)<<2)|0;while(1){j=k;k=k+4|0;g=b[k>>1]|0;if((e[j>>1]|0)<(g&65535)){f=14;break}i=c[a+60>>2]|0;f=h&65535;if(!(g&1)){if(((((e[l+(m<<6)+54+((1<<d&3)<<1)>>1]|0)>=(e[i+(f<<6)+48+((1<<d&3)<<1)>>1]|0)?(e[i+(f<<6)+54+((1<<d&3)<<1)>>1]|0)>=(e[l+(m<<6)+48+((1<<d&3)<<1)>>1]|0):0)?(e[l+(m<<6)+54+((1<<(1<<d&3)&3)<<1)>>1]|0)>=(e[i+(f<<6)+48+((1<<(1<<d&3)&3)<<1)>>1]|0):0)?(e[i+(f<<6)+54+((1<<(1<<d&3)&3)<<1)>>1]|0)>=(e[l+(m<<6)+48+((1<<(1<<d&3)&3)<<1)>>1]|0):0)?(o=c[a+92>>2]|0,n=i+((e[j+2>>1]|0)<<6)|0,wb[c[(c[o>>2]|0)+8>>2]&63](o,n,i+(f<<6)|0)|0,o=c[a+96>>2]|0,o|0):0)wb[c[(c[o>>2]|0)+8>>2]&63](o,n,i+(f<<6)|0)|0;f=i+(f<<6)+48+(d<<1)|0}else f=i+(f<<6)+54+(d<<1)|0;b[f>>1]=(b[f>>1]|0)+-1<<16>>16;b[l+(m<<6)+54+(d<<1)>>1]=(b[l+(m<<6)+54+(d<<1)>>1]|0)+1<<16>>16;h=e[j>>1]|e[j+2>>1]<<16;i=e[k>>1]|e[k+2>>1]<<16;b[j>>1]=i;b[j+2>>1]=i>>>16;b[k>>1]=h;b[k+2>>1]=h>>>16;h=b[j+10>>1]|0;if(!(h<<16>>16)){f=14;break}}if((f|0)==14)return}function Ng(a,d,f,g){a=a|0;d=d|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0;h=c[a+68+(d<<2)>>2]|0;i=b[h+((f&65535)<<2)+6>>1]|0;if(!(i<<16>>16))return;m=(c[a+60>>2]|0)+((e[h+((f&65535)<<2)+2>>1]|0)<<6)+48+(d<<1)|0;l=h+((f&65535)<<2)|0;while(1){k=l;l=l+4|0;f=b[l>>1]|0;if((e[k>>1]|0)<(f&65535)){f=14;break}j=c[a+60>>2]|0;h=i&65535;if(!(f&1))f=j+(h<<6)+48+(d<<1)|0;else{f=e[k+2>>1]|0;if(((((e[j+(f<<6)+54+((1<<d&3)<<1)>>1]|0)>=(e[j+(h<<6)+48+((1<<d&3)<<1)>>1]|0)?(e[j+(h<<6)+54+((1<<d&3)<<1)>>1]|0)>=(e[j+(f<<6)+48+((1<<d&3)<<1)>>1]|0):0)?(e[j+(f<<6)+54+((1<<(1<<d&3)&3)<<1)>>1]|0)>=(e[j+(h<<6)+48+((1<<(1<<d&3)&3)<<1)>>1]|0):0)?(e[j+(h<<6)+54+((1<<(1<<d&3)&3)<<1)>>1]|0)>=(e[j+(f<<6)+48+((1<<(1<<d&3)&3)<<1)>>1]|0):0)?(n=c[a+92>>2]|0,xb[c[(c[n>>2]|0)+12>>2]&31](n,j+(f<<6)|0,j+(h<<6)|0,g)|0,n=c[a+96>>2]|0,n|0):0)xb[c[(c[n>>2]|0)+12>>2]&31](n,j+(f<<6)|0,j+(h<<6)|0,g)|0;f=j+(h<<6)+54+(d<<1)|0}b[f>>1]=(b[f>>1]|0)+-1<<16>>16;b[m>>1]=(b[m>>1]|0)+1<<16>>16;i=e[k>>1]|e[k+2>>1]<<16;j=e[l>>1]|e[l+2>>1]<<16;b[k>>1]=j;b[k+2>>1]=j>>>16;b[l>>1]=i;b[l+2>>1]=i>>>16;i=b[k+10>>1]|0;if(!(i<<16>>16)){f=14;break}}if((f|0)==14)return}function Og(b,d,e,f,h,i,j,k){b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;i=i|0;j=j|0;k=k|0;var l=0.0,m=0.0,n=0.0,o=0.0,p=0.0,q=0.0,r=0.0,s=0.0,t=0.0,u=0.0,v=0.0,w=0.0,x=0,y=0,z=0.0;y=c[(j|0?f+12|0:f+8|0)>>2]|0;x=c[(j|0?f+20|0:f+16|0)>>2]|0;c[y+(h<<2)>>2]=c[i>>2];c[y+(h+1<<2)>>2]=c[i+4>>2];c[y+(h+2<<2)>>2]=c[i+8>>2];g[x+(h<<2)>>2]=-+g[i>>2];g[x+(h+1<<2)>>2]=-+g[i+4>>2];g[x+(h+2<<2)>>2]=-+g[i+8>>2];if(j|0)return;v=+g[b+1348>>2]-+g[e+48>>2];w=+g[b+1352>>2]-+g[e+52>>2];t=+g[b+1356>>2]-+g[e+56>>2];m=+g[b+1284>>2]-+g[d+48>>2];n=+g[b+1288>>2]-+g[d+52>>2];l=+g[b+1292>>2]-+g[d+56>>2];r=+g[i+8>>2];u=+g[i+4>>2];s=+g[i>>2];if((k|0)!=0|(a[b+1452>>0]|0)==0){q=n*r-l*u;p=l*s-m*r;n=m*u-n*s;o=w*r-t*u;m=t*s-v*r;l=v*u-w*s}else{o=+g[b+1444>>2];z=+g[b+1448>>2];q=(n*r-l*u)*o;p=(l*s-m*r)*o;n=(m*u-n*s)*o;o=(w*r-t*u)*z;m=(t*s-v*r)*z;l=(v*u-w*s)*z}y=(c[f+12>>2]|0)+(h<<2)|0;g[y>>2]=q;g[y+4>>2]=p;g[y+8>>2]=n;y=c[f+20>>2]|0;g[y+(h<<2)>>2]=-o;g[y+(h+1<<2)>>2]=-m;g[y+(h+2<<2)>>2]=-l;return}function Pg(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0.0,h=0.0,i=0.0,j=0.0,k=0.0,l=0.0,m=0.0,n=0.0,o=0.0,p=0.0,q=0.0,r=0.0,s=0.0,t=0.0,u=0.0,v=0.0,w=0.0,x=0.0,y=0.0,z=0.0,B=0.0,C=0.0,D=0.0,E=0.0,F=0.0,G=0.0;o=(+g[a+36>>2]-+g[a+20>>2])*.5;l=(+g[a+40>>2]-+g[a+24>>2])*.5;i=(+g[a+44>>2]-+g[a+28>>2])*.5;n=+ib[c[(c[a>>2]|0)+48>>2]&15](a);k=+ib[c[(c[a>>2]|0)+48>>2]&15](a);i=i+ +ib[c[(c[a>>2]|0)+48>>2]&15](a);C=(+g[a+36>>2]+ +g[a+20>>2])*.5;z=(+g[a+40>>2]+ +g[a+24>>2])*.5;x=(+g[a+44>>2]+ +g[a+28>>2])*.5;G=+g[b>>2];w=+A(+G);F=+g[b+4>>2];v=+A(+F);t=+g[b+8>>2];u=+A(+t);E=+g[b+16>>2];s=+A(+E);D=+g[b+20>>2];r=+A(+D);p=+g[b+24>>2];q=+A(+p);B=+g[b+32>>2];m=+A(+B);y=+g[b+36>>2];j=+A(+y);f=+g[b+40>>2];h=+A(+f);t=C*G+z*F+x*t+ +g[b+48>>2];p=C*E+z*D+x*p+ +g[b+52>>2];f=C*B+z*y+x*f+ +g[b+56>>2];g[d>>2]=t-((o+n)*w+(l+k)*v+i*u);g[d+4>>2]=p-((o+n)*s+(l+k)*r+i*q);g[d+8>>2]=f-((o+n)*m+(l+k)*j+i*h);g[d+12>>2]=0.0;g[e>>2]=(o+n)*w+(l+k)*v+i*u+t;g[e+4>>2]=(o+n)*s+(l+k)*r+i*q+p;g[e+8>>2]=(o+n)*m+(l+k)*j+i*h+f;g[e+12>>2]=0.0;return}function Qg(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0.0,h=0.0,i=0.0,j=0.0,k=0.0,l=0.0,m=0.0,n=0.0,o=0.0,p=0.0,q=0.0,r=0.0,s=0.0,t=0.0,u=0.0,v=0.0,w=0.0,x=0.0,y=0.0,z=0.0,B=0.0,C=0.0,D=0.0,E=0.0,F=0.0,G=0,H=0.0,I=0.0;I=+g[a+52>>2];z=+g[a+36>>2];H=+g[a+56>>2];x=+g[a+40>>2];F=+g[a+60>>2];v=+g[a+44>>2];G=(c[a+20>>2]|0)==0;m=+ib[c[(c[a>>2]|0)+48>>2]&15](a);k=+ib[c[(c[a>>2]|0)+48>>2]&15](a);i=+ib[c[(c[a>>2]|0)+48>>2]&15](a);m=(G?0.0:(I-z)*.5)+m;k=(G?0.0:(H-x)*.5)+k;i=(G?0.0:(F-v)*.5)+i;E=+g[b>>2];u=+A(+E);D=+g[b+4>>2];t=+A(+D);r=+g[b+8>>2];s=+A(+r);C=+g[b+16>>2];q=+A(+C);B=+g[b+20>>2];p=+A(+B);n=+g[b+24>>2];o=+A(+n);y=+g[b+32>>2];l=+A(+y);w=+g[b+36>>2];j=+A(+w);f=+g[b+40>>2];h=+A(+f);z=G?0.0:(I+z)*.5;x=G?0.0:(H+x)*.5;v=G?0.0:(F+v)*.5;r=z*E+x*D+v*r+ +g[b+48>>2];n=z*C+x*B+v*n+ +g[b+52>>2];f=z*y+x*w+v*f+ +g[b+56>>2];g[d>>2]=r-(m*u+k*t+i*s);g[d+4>>2]=n-(m*q+k*p+i*o);g[d+8>>2]=f-(m*l+k*j+i*h);g[d+12>>2]=0.0;g[e>>2]=m*u+k*t+i*s+r;g[e+4>>2]=m*q+k*p+i*o+n;g[e+8>>2]=m*l+k*j+i*h+f;g[e+12>>2]=0.0;return}function Rg(a,b){a=a|0;b=b|0;var c=0.0,d=0.0,e=0.0,f=0,h=0,i=0,j=0,k=0;f=l;l=l+16|0;d=+g[(kH(a)|0)>>2];e=+g[(UG(a+16|0)|0)>>2];c=+g[(TG(a+32|0)|0)>>2];if(d+e+c>0.0){e=+$G(d+e+c+1.0);g[f+12>>2]=e*.5;d=+g[(UG(a+32|0)|0)>>2];g[f>>2]=(d-+g[(TG(a+16|0)|0)>>2])*(.5/e);d=+g[(TG(a)|0)>>2];g[f+4>>2]=(d-+g[(kH(a+32|0)|0)>>2])*(.5/e);d=+g[(kH(a+16|0)|0)>>2];g[f+8>>2]=(d-+g[(UG(a)|0)>>2])*(.5/e);i=f+4|0;h=f+8|0;a=f+12|0;j=f;_q(b,j,i,h,a);l=f;return}else{h=d<e?(e<c?2:1):d<c?2:0;i=kH(a+(h<<4)|0)|0;e=+g[i+(h<<2)>>2];k=kH(a+((((h+1|0)>>>0)%3|0)<<4)|0)|0;e=e-+g[k+((((h+1|0)>>>0)%3|0)<<2)>>2];j=kH(a+((((h+2|0)>>>0)%3|0)<<4)|0)|0;e=+$G(e-+g[j+((((h+2|0)>>>0)%3|0)<<2)>>2]+1.0);g[f+(h<<2)>>2]=e*.5;g[f+12>>2]=(+g[j+((((h+1|0)>>>0)%3|0)<<2)>>2]-+g[k+((((h+2|0)>>>0)%3|0)<<2)>>2])*(.5/e);g[f+((((h+1|0)>>>0)%3|0)<<2)>>2]=(+g[k+(h<<2)>>2]+ +g[i+((((h+1|0)>>>0)%3|0)<<2)>>2])*(.5/e);g[f+((((h+2|0)>>>0)%3|0)<<2)>>2]=(+g[j+(h<<2)>>2]+ +g[i+((((h+2|0)>>>0)%3|0)<<2)>>2])*(.5/e);h=f+4|0;i=f+8|0;j=f+12|0;a=f;_q(b,a,h,i,j);l=f;return}}function Sg(a,d,f){a=a|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;h=c[a+68+(d<<2)>>2]|0;k=c[a+60>>2]|0;l=e[h+((f&65535)<<2)+2>>1]|0;i=b[h+((f&65535)<<2)+-4>>1]|0;if((e[h+((f&65535)<<2)>>1]|0)>=(i&65535))return;g=h+((f&65535)<<2)+-4|0;j=h+((f&65535)<<2)|0;h=k;while(1){f=e[j+-2>>1]|0;if(!(i&1))f=h+(f<<6)+48+(d<<1)|0;else{if(((((e[k+(l<<6)+54+((1<<d&3)<<1)>>1]|0)>=(e[h+(f<<6)+48+((1<<d&3)<<1)>>1]|0)?(e[h+(f<<6)+54+((1<<d&3)<<1)>>1]|0)>=(e[k+(l<<6)+48+((1<<d&3)<<1)>>1]|0):0)?(e[k+(l<<6)+54+((1<<(1<<d&3)&3)<<1)>>1]|0)>=(e[h+(f<<6)+48+((1<<(1<<d&3)&3)<<1)>>1]|0):0)?(e[h+(f<<6)+54+((1<<(1<<d&3)&3)<<1)>>1]|0)>=(e[k+(l<<6)+48+((1<<(1<<d&3)&3)<<1)>>1]|0):0)?(n=c[a+92>>2]|0,m=h+(f<<6)|0,wb[c[(c[n>>2]|0)+8>>2]&63](n,k+(l<<6)|0,m)|0,n=c[a+96>>2]|0,n|0):0)wb[c[(c[n>>2]|0)+8>>2]&63](n,k+(l<<6)|0,m)|0;f=h+(f<<6)+54+(d<<1)|0}b[f>>1]=(b[f>>1]|0)+1<<16>>16;b[k+(l<<6)+48+(d<<1)>>1]=(b[k+(l<<6)+48+(d<<1)>>1]|0)+-1<<16>>16;f=e[j>>1]|e[j+2>>1]<<16;i=e[g>>1]|e[g+2>>1]<<16;b[j>>1]=i;b[j+2>>1]=i>>>16;b[g>>1]=f;b[g+2>>1]=f>>>16;f=j+-4|0;g=g+-4|0;i=b[g>>1]|0;if((e[f>>1]|0)>=(i&65535))break;j=f;h=c[a+60>>2]|0}return}function Tg(a,b,d){a=a|0;b=+b;d=d|0;var e=0,f=0.0,i=0.0,j=0.0,k=0,l=0,m=0,n=0.0,o=0.0,p=0.0,q=0;Db[c[(c[a>>2]|0)+112>>2]&511](a);c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;c[d+12>>2]=0;m=c[a+188>>2]|0;if(!m){m=c[a>>2]|0;m=m+116|0;m=c[m>>2]|0;Db[m&511](a);return}k=c[a+184>>2]|0;l=c[a+196>>2]|0;if((c[a+192>>2]|0)==1){e=m+-1|0;f=0.0;i=0.0;j=0.0;while(1){q=k+(N(l,e)|0)|0;o=+h[q>>3]*+g[a+160>>2];n=+h[q+8>>3]*+g[a+164>>2];p=+h[q+16>>3]*+g[a+168>>2];f=f+b/+(m|0)*(n*n+p*p);g[d>>2]=f;i=b/+(m|0)*(o*o+p*p)+i;g[d+4>>2]=i;j=b/+(m|0)*(o*o+n*n)+j;g[d+8>>2]=j;if(!e)break;else e=e+-1|0}q=c[a>>2]|0;q=q+116|0;q=c[q>>2]|0;Db[q&511](a);return}else{e=m+-1|0;f=0.0;i=0.0;j=0.0;while(1){q=k+(N(l,e)|0)|0;o=+g[q>>2]*+g[a+160>>2];p=+g[q+4>>2]*+g[a+164>>2];n=+g[q+8>>2]*+g[a+168>>2];f=f+b/+(m|0)*(p*p+n*n);g[d>>2]=f;i=b/+(m|0)*(o*o+n*n)+i;g[d+4>>2]=i;j=b/+(m|0)*(o*o+p*p)+j;g[d+8>>2]=j;if(!e)break;else e=e+-1|0}q=c[a>>2]|0;q=q+116|0;q=c[q>>2]|0;Db[q&511](a);return}}function Ug(b,d){b=b|0;d=d|0;var e=0,f=0.0,h=0.0,i=0.0,j=0;j=sb[c[(c[b>>2]|0)+28>>2]&127](b)|0;i=+g[j>>2]-+g[d>>2];h=+g[j+4>>2]-+g[d+4>>2];f=+g[j+8>>2]-+g[d+8>>2];if(!(i*i+h*h+f*f>1.1920928955078125e-07))return;pg(b,d);if((a[b+65>>0]|0)!=0?(e=c[b+56>>2]|0,Db[c[c[e>>2]>>2]&511](e),e=c[b+56>>2]|0,(e|0)!=0):0){c[6898]=(c[6898]|0)+1;md(c[e+-4>>2]|0);e=b+56|0}else e=b+56|0;c[6897]=(c[6897]|0)+1;d=ec(191)|0;if(!d)d=0;else{c[(d+4+15&-16)+-4>>2]=d;d=d+4+15&-16}c[d+52>>2]=287;a[d+60>>0]=0;a[d+80>>0]=1;c[d+76>>2]=0;c[d+68>>2]=0;c[d+72>>2]=0;a[d+100>>0]=1;c[d+96>>2]=0;c[d+88>>2]=0;c[d+92>>2]=0;a[d+120>>0]=1;c[d+116>>2]=0;c[d+108>>2]=0;c[d+112>>2]=0;a[d+140>>0]=1;c[d+136>>2]=0;c[d+128>>2]=0;c[d+132>>2]=0;c[d+144>>2]=0;a[d+164>>0]=1;c[d+160>>2]=0;c[d+152>>2]=0;c[d+156>>2]=0;c[d+168>>2]=0;c[d+4>>2]=-8388609;c[d+8>>2]=-8388609;c[d+12>>2]=-8388609;g[d+16>>2]=0.0;c[d+20>>2]=2139095039;c[d+24>>2]=2139095039;c[d+28>>2]=2139095039;g[d+32>>2]=0.0;c[d>>2]=9944;c[e>>2]=d;Oc(d,c[b+52>>2]|0,(a[b+64>>0]|0)!=0,b+20|0,b+36|0);a[b+65>>0]=1;return}function Vg(b,d){b=b|0;d=d|0;var e=0.0,f=0.0;if(a[b+1309>>0]|0){e=(+g[b+1256>>2]-+g[b+1316>>2])*+g[b+1340>>2];g[b+792>>2]=e*(+g[d>>2]*+g[b+1364>>2]/+(c[d+44>>2]|0));e=+A(+e);g[b+808>>2]=e/+g[d>>2]}if(a[b+1310>>0]|0){e=(+g[b+1260>>2]-+g[b+1320>>2])*+g[b+1344>>2];g[b+796>>2]=e*(+g[d>>2]*+g[b+1368>>2]/+(c[d+44>>2]|0));e=+A(+e);g[b+812>>2]=e/+g[d>>2]}if(a[b+1311>>0]|0){e=(+g[b+1264>>2]-+g[b+1324>>2])*+g[b+1348>>2];g[b+800>>2]=e*(+g[d>>2]*+g[b+1372>>2]/+(c[d+44>>2]|0));e=+A(+e);g[b+816>>2]=e/+g[d>>2]}if(a[b+1312>>0]|0){f=-((+g[b+1192>>2]-+g[b+1328>>2])*+g[b+1352>>2]);e=+g[d>>2];g[b+876>>2]=e*+g[b+1376>>2]/+(c[d+44>>2]|0)*f;g[b+880>>2]=+A(+f)/e}if(a[b+1313>>0]|0){e=-((+g[b+1196>>2]-+g[b+1332>>2])*+g[b+1356>>2]);f=+g[d>>2];g[b+940>>2]=f*+g[b+1380>>2]/+(c[d+44>>2]|0)*e;g[b+944>>2]=+A(+e)/f}if(!(a[b+1314>>0]|0)){hj(b,d);return}e=-((+g[b+1200>>2]-+g[b+1336>>2])*+g[b+1360>>2]);f=+g[d>>2];g[b+1004>>2]=f*+g[b+1384>>2]/+(c[d+44>>2]|0)*e;g[b+1008>>2]=+A(+e)/f;hj(b,d);return}function Wg(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,h=0.0,i=0.0,j=0.0;e=l;l=l+160|0;c[e+136>>2]=0;c[e+136+4>>2]=0;c[e+136+8>>2]=0;c[e+136+12>>2]=0;c[e+136+16>>2]=0;c[e+32>>2]=10484;f=e+32+4|0;c[f>>2]=0;c[f+4>>2]=0;c[f+8>>2]=0;c[f+12>>2]=0;c[e+32+20>>2]=1065353216;c[e+32+24>>2]=0;c[e+32+24+4>>2]=0;c[e+32+24+8>>2]=0;c[e+32+24+12>>2]=0;c[e+32+40>>2]=1065353216;c[e+32+44>>2]=0;c[e+32+44+4>>2]=0;c[e+32+44+8>>2]=0;c[e+32+44+12>>2]=0;c[e+32+60>>2]=1065353216;c[e+32+64>>2]=0;c[e+32+68>>2]=c[e+136+4>>2];c[e+32+68+4>>2]=c[e+136+4+4>>2];c[e+32+68+8>>2]=c[e+136+4+8>>2];c[e+32+68+12>>2]=c[e+136+4+12>>2];g[e+32+84>>2]=-999999984306749440.0;j=+g[d>>2];i=+g[d+4>>2];h=+g[d+8>>2];g[e+32+88>>2]=j+i*0.0+h*0.0;g[e+32+92>>2]=j*0.0+i+h*0.0;g[e+32+96>>2]=j*0.0+i*0.0+h;g[e+32+100>>2]=0.0;c[e+16>>2]=1566444395;c[e+16+4>>2]=1566444395;c[e+16+8>>2]=1566444395;g[e+16+12>>2]=0.0;d=c[(c[b>>2]|0)+64>>2]|0;g[e>>2]=-999999984306749440.0;g[e+4>>2]=-999999984306749440.0;g[e+8>>2]=-999999984306749440.0;g[e+12>>2]=0.0;Pb[d&127](b,e+32|0,e,e+16|0);c[a>>2]=c[f>>2];c[a+4>>2]=c[f+4>>2];c[a+8>>2]=c[f+8>>2];c[a+12>>2]=c[f+12>>2];l=e;return}function Xg(a,b,d,e,f,h,i,j,k,m){a=a|0;b=b|0;d=d|0;e=e|0;f=+f;h=+h;i=+i;j=+j;k=+k;m=+m;var n=0;n=l;l=l+128|0;c[n+80>>2]=c[a+4>>2];c[n+80+4>>2]=c[a+20>>2];c[n+80+8>>2]=c[a+36>>2];g[n+80+12>>2]=0.0;c[n+80+16>>2]=c[a+8>>2];c[n+80+20>>2]=c[a+24>>2];c[n+80+24>>2]=c[a+40>>2];g[n+80+28>>2]=0.0;c[n+80+32>>2]=c[a+12>>2];c[n+80+36>>2]=c[a+28>>2];c[n+80+40>>2]=c[a+44>>2];g[n+80+44>>2]=0.0;c[n+32>>2]=c[b+4>>2];c[n+32+4>>2]=c[b+20>>2];c[n+32+8>>2]=c[b+36>>2];g[n+32+12>>2]=0.0;c[n+32+16>>2]=c[b+8>>2];c[n+32+20>>2]=c[b+24>>2];c[n+32+24>>2]=c[b+40>>2];g[n+32+28>>2]=0.0;c[n+32+32>>2]=c[b+12>>2];c[n+32+36>>2]=c[b+28>>2];c[n+32+40>>2]=c[b+44>>2];g[n+32+44>>2]=0.0;h=h-+g[a+56>>2];i=i-+g[a+60>>2];g[n+16>>2]=f-+g[a+52>>2];g[n+16+4>>2]=h;g[n+16+8>>2]=i;g[n+16+12>>2]=0.0;i=k-+g[b+56>>2];m=m-+g[b+60>>2];g[n>>2]=j-+g[b+52>>2];g[n+4>>2]=i;g[n+8>>2]=m;g[n+12>>2]=0.0;jg(d,n+80|0,n+32|0,n+16|0,n,e,a+456|0,+g[a+404>>2],b+456|0,+g[b+404>>2]);l=n;return}function Yg(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0.0,h=0.0,i=0.0,k=0.0,m=0.0,n=0.0,o=0,p=0.0,q=0,r=0,s=0,t=0.0,u=0,v=0,w=0;v=l;l=l+16|0;if((e|0)<=0){l=v;return}u=0;do{c[v>>2]=0;c[v+4>>2]=0;c[v+8>>2]=0;c[v+12>>2]=0;o=c[a+56>>2]|0;w=c[a+32+(o<<2)>>2]|0;c[v+(o<<2)>>2]=w;f=+g[v>>2];i=+g[v+4>>2];h=+g[v+8>>2];q=b+(u<<4)|0;p=+g[q>>2];r=b+(u<<4)+4|0;m=+g[r>>2];s=b+(u<<4)+8|0;k=+g[s>>2];n=(c[j>>2]=w,+g[j>>2]);if(f*p+i*m+h*k>-999999984306749440.0){o=c[v+12>>2]|0;g[d+(u<<4)>>2]=f;g[d+(u<<4)+4>>2]=i;g[d+(u<<4)+8>>2]=h;c[d+(u<<4)+12>>2]=o;o=c[a+56>>2]|0;t=f*p+i*m+h*k;n=+g[a+32+(o<<2)>>2];p=+g[q>>2];m=+g[r>>2];k=+g[s>>2]}else t=-999999984306749440.0;c[v>>2]=0;c[v+4>>2]=0;c[v+8>>2]=0;c[v+12>>2]=0;g[v+(o<<2)>>2]=-n;f=+g[v>>2];i=+g[v+4>>2];h=+g[v+8>>2];if(f*p+i*m+h*k>t){w=c[v+12>>2]|0;g[d+(u<<4)>>2]=f;g[d+(u<<4)+4>>2]=i;g[d+(u<<4)+8>>2]=h;c[d+(u<<4)+12>>2]=w}u=u+1|0}while((u|0)!=(e|0));l=v;return}function Zg(a,b,d,e,f){a=a|0;b=+b;d=+d;e=+e;f=f|0;var h=0,i=0,j=0,k=0,m=0.0,n=0.0;j=l;l=l+48|0;m=1.0/+B(+(b*b+d*d+e*e));g[f>>2]=m*b;g[f+4>>2]=m*d;g[f+8>>2]=m*e;g[f+12>>2]=0.0;h=c[a+120>>2]|0;k=c[a+124>>2]|0;i=(c[a>>2]|0)+(k>>1)|0;if(k&1)h=c[(c[i>>2]|0)+h>>2]|0;Mb[h&127](j,i,f);b=-+g[f>>2];d=-+g[f+4>>2];e=-+g[f+8>>2];h=c[a+120>>2]|0;k=c[a+124>>2]|0;i=(c[a+4>>2]|0)+(k>>1)|0;if(k&1)h=c[(c[i>>2]|0)+h>>2]|0;m=+g[a+24>>2]*b+ +g[a+28>>2]*d+ +g[a+32>>2]*e;n=+g[a+40>>2]*b+ +g[a+44>>2]*d+ +g[a+48>>2]*e;g[j+16>>2]=+g[a+8>>2]*b+ +g[a+12>>2]*d+ +g[a+16>>2]*e;g[j+16+4>>2]=m;g[j+16+8>>2]=n;g[j+16+12>>2]=0.0;Mb[h&127](j+32|0,i,j+16|0);n=+g[j+32>>2];b=+g[j+32+4>>2];d=+g[j+32+8>>2];e=+g[j+4>>2]-(n*+g[a+72>>2]+b*+g[a+76>>2]+d*+g[a+80>>2]+ +g[a+108>>2]);m=+g[j+8>>2]-(n*+g[a+88>>2]+b*+g[a+92>>2]+d*+g[a+96>>2]+ +g[a+112>>2]);g[f+16>>2]=+g[j>>2]-(n*+g[a+56>>2]+b*+g[a+60>>2]+d*+g[a+64>>2]+ +g[a+104>>2]);g[f+20>>2]=e;g[f+24>>2]=m;g[f+28>>2]=0.0;l=j;return}function _g(a,b,d){a=a|0;b=b|0;d=d|0;var e=0.0,f=0.0,h=0.0,i=0,j=0.0,k=0.0;i=c[b>>2]|0;if((i|0)==(c[a+84>>2]|0)){h=1.0;return +h}if(c[i+204>>2]&4|0){h=1.0;return +h}if(d){e=+g[b+8>>2];f=+g[b+12>>2];h=+g[b+16>>2]}else{k=+g[b+8>>2];j=+g[b+12>>2];h=+g[b+16>>2];e=+g[i+4>>2]*k+ +g[i+8>>2]*j+ +g[i+12>>2]*h;f=k*+g[i+20>>2]+j*+g[i+24>>2]+h*+g[i+28>>2];h=k*+g[i+36>>2]+j*+g[i+40>>2]+h*+g[i+44>>2]}if(e*+g[a+88>>2]+f*+g[a+92>>2]+h*+g[a+96>>2]<+g[a+104>>2]){k=1.0;return +k}c[a+4>>2]=c[b+40>>2];c[a+80>>2]=i;if(d){c[a+48>>2]=c[b+8>>2];c[a+48+4>>2]=c[b+8+4>>2];c[a+48+8>>2]=c[b+8+8>>2];c[a+48+12>>2]=c[b+8+12>>2]}else{e=+g[b+8>>2];f=+g[b+12>>2];h=+g[b+16>>2];j=e*+g[i+20>>2]+f*+g[i+24>>2]+h*+g[i+28>>2];k=e*+g[i+36>>2]+f*+g[i+40>>2]+h*+g[i+44>>2];g[a+48>>2]=+g[i+4>>2]*e+ +g[i+8>>2]*f+ +g[i+12>>2]*h;g[a+52>>2]=j;g[a+56>>2]=k;g[a+60>>2]=0.0}c[a+64>>2]=c[b+24>>2];c[a+64+4>>2]=c[b+24+4>>2];c[a+64+8>>2]=c[b+24+8>>2];c[a+64+12>>2]=c[b+24+12>>2];k=+g[b+40>>2];return +k}function $g(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;if(a[b+165>>0]|0){if((c[b+92>>2]|0)>=(d|0))return;if((d|0)!=0?(c[6897]=(c[6897]|0)+1,e=ec((d<<4|3)+16|0)|0,(e|0)!=0):0){c[(e+4+15&-16)+-4>>2]=e;g=e+4+15&-16}else g=0;f=c[b+88>>2]|0;if((f|0)>0){e=0;do{i=g+(e<<4)|0;h=(c[b+96>>2]|0)+(e<<4)|0;c[i>>2]=c[h>>2];c[i+4>>2]=c[h+4>>2];c[i+8>>2]=c[h+8>>2];c[i+12>>2]=c[h+12>>2];e=e+1|0}while((e|0)!=(f|0))}e=c[b+96>>2]|0;if(e|0){if(a[b+100>>0]|0){c[6898]=(c[6898]|0)+1;md(c[e+-4>>2]|0)}c[b+96>>2]=0}a[b+100>>0]=1;c[b+96>>2]=g;c[b+92>>2]=d;return}if((c[b+112>>2]|0)>=(d|0))return;if((d|0)!=0?(c[6897]=(c[6897]|0)+1,f=ec((d<<2|3)+16|0)|0,(f|0)!=0):0){c[(f+4+15&-16)+-4>>2]=f;h=f+4+15&-16}else h=0;f=c[b+108>>2]|0;g=c[b+116>>2]|0;if((f|0)<=0)if(!g)e=b+120|0;else i=23;else{e=0;do{c[h+(e<<2)>>2]=c[g+(e<<2)>>2];e=e+1|0}while((e|0)!=(f|0));i=23}if((i|0)==23){if(a[b+120>>0]|0){c[6898]=(c[6898]|0)+1;md(c[g+-4>>2]|0)}c[b+116>>2]=0;e=b+120|0}a[e>>0]=1;c[b+116>>2]=h;c[b+112>>2]=d;return}function ah(d,e){d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;if(!(a[d+164>>0]|0)){if((c[d+152>>2]|0)>=(e|0))return;if((e|0)!=0?(c[6897]=(c[6897]|0)+1,g=ec((e<<1)+19|0)|0,(g|0)!=0):0){c[(g+4+15&-16)+-4>>2]=g;i=g+4+15&-16}else i=0;g=c[d+148>>2]|0;h=c[d+156>>2]|0;if((g|0)<=0)if(!h)f=d+160|0;else j=24;else{f=0;do{b[i+(f<<1)>>1]=b[h+(f<<1)>>1]|0;f=f+1|0}while((f|0)!=(g|0));j=24}if((j|0)==24){if(a[d+160>>0]|0){c[6898]=(c[6898]|0)+1;md(c[h+-4>>2]|0)}c[d+156>>2]=0;f=d+160|0}a[f>>0]=1;c[d+156>>2]=i;c[d+152>>2]=e;return}else{if((c[d+132>>2]|0)>=(e|0))return;if((e|0)!=0?(c[6897]=(c[6897]|0)+1,f=ec((e<<2|3)+16|0)|0,(f|0)!=0):0){c[(f+4+15&-16)+-4>>2]=f;i=f+4+15&-16}else i=0;g=c[d+128>>2]|0;h=c[d+136>>2]|0;if((g|0)<=0)if(!h)f=d+140|0;else j=11;else{f=0;do{c[i+(f<<2)>>2]=c[h+(f<<2)>>2];f=f+1|0}while((f|0)!=(g|0));j=11}if((j|0)==11){if(a[d+140>>0]|0){c[6898]=(c[6898]|0)+1;md(c[h+-4>>2]|0)}c[d+136>>2]=0;f=d+140|0}a[f>>0]=1;c[d+136>>2]=i;c[d+132>>2]=e;return}}function bh(a,b,d){a=a|0;b=b|0;d=d|0;hh(a,b,d)|0;c[b+52>>2]=c[a+300>>2];c[b+56>>2]=c[a+304>>2];c[b+60>>2]=c[a+308>>2];c[b+64>>2]=c[a+312>>2];c[b+68>>2]=c[a+316>>2];c[b+72>>2]=c[a+320>>2];c[b+76>>2]=c[a+324>>2];c[b+80>>2]=c[a+328>>2];c[b+84>>2]=c[a+332>>2];c[b+88>>2]=c[a+336>>2];c[b+92>>2]=c[a+340>>2];c[b+96>>2]=c[a+344>>2];c[b+100>>2]=c[a+348>>2];c[b+104>>2]=c[a+352>>2];c[b+108>>2]=c[a+356>>2];c[b+112>>2]=c[a+360>>2];c[b+116>>2]=c[a+364>>2];c[b+120>>2]=c[a+368>>2];c[b+124>>2]=c[a+372>>2];c[b+128>>2]=c[a+376>>2];c[b+132>>2]=c[a+380>>2];c[b+136>>2]=c[a+384>>2];c[b+140>>2]=c[a+388>>2];c[b+144>>2]=c[a+392>>2];c[b+148>>2]=c[a+396>>2];c[b+152>>2]=c[a+400>>2];c[b+156>>2]=c[a+404>>2];c[b+160>>2]=c[a+408>>2];c[b+164>>2]=c[a+412>>2];c[b+168>>2]=c[a+416>>2];c[b+172>>2]=c[a+420>>2];c[b+176>>2]=c[a+424>>2];c[b+180>>2]=c[a+444>>2];c[b+184>>2]=c[a+448>>2];c[b+188>>2]=c[a+452>>2];c[b+192>>2]=c[a+428>>2];c[b+196>>2]=c[a+432>>2];c[b+200>>2]=c[a+436>>2];c[b+204>>2]=c[a+440>>2];return 13849}function ch(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0.0,h=0.0,i=0.0,j=0.0,k=0.0,l=0.0,m=0.0,n=0.0,o=0.0,p=0.0,q=0.0,r=0.0,s=0.0,t=0.0,u=0.0,v=0.0,w=0.0,x=0.0,y=0.0,z=0.0,B=0.0,C=0.0,D=0.0,E=0.0,F=0.0;o=+ib[c[(c[a>>2]|0)+48>>2]&15](a);u=+g[a+76>>2];t=+g[a+60>>2];r=+g[a+80>>2];q=+g[a+64>>2];n=+g[a+84>>2];m=+g[a+68>>2];F=+g[b>>2];y=+A(+F);E=+g[b+4>>2];x=+A(+E);k=+g[b+8>>2];l=+A(+k);D=+g[b+16>>2];w=+A(+D);C=+g[b+20>>2];v=+A(+C);i=+g[b+24>>2];j=+A(+i);B=+g[b+32>>2];s=+A(+B);z=+g[b+36>>2];p=+A(+z);f=+g[b+40>>2];h=+A(+f);k=(u+t)*.5*F+(r+q)*.5*E+(n+m)*.5*k+ +g[b+48>>2];i=(u+t)*.5*D+(r+q)*.5*C+(n+m)*.5*i+ +g[b+52>>2];f=(u+t)*.5*B+(r+q)*.5*z+(n+m)*.5*f+ +g[b+56>>2];l=(o+(u-t)*.5)*y+(o+(r-q)*.5)*x+(o+(n-m)*.5)*l;j=(o+(u-t)*.5)*w+(o+(r-q)*.5)*v+(o+(n-m)*.5)*j;h=(o+(u-t)*.5)*s+(o+(r-q)*.5)*p+(o+(n-m)*.5)*h;g[d>>2]=k-l;g[d+4>>2]=i-j;g[d+8>>2]=f-h;g[d+12>>2]=0.0;g[e>>2]=l+k;g[e+4>>2]=j+i;g[e+8>>2]=h+f;g[e+12>>2]=0.0;return}function dh(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=ub[c[(c[d>>2]|0)+40>>2]&31](d,a)|0;h=ub[c[(c[d>>2]|0)+28>>2]&31](d,e)|0;c[b>>2]=h;if(h|0)Ib[c[(c[d>>2]|0)+48>>2]&127](d,e);c[b+4>>2]=c[a+4>>2];c[b+8>>2]=0;c[b+28>>2]=c[a+32>>2];c[b+32>>2]=c[a+36>>2];c[b+36>>2]=c[a+40>>2];c[b+40>>2]=c[a+44>>2];c[b+12>>2]=c[a+16>>2];c[b+16>>2]=c[a+20>>2];c[b+20>>2]=c[a+24>>2];c[b+24>>2]=c[a+28>>2];c[b+44>>2]=c[a+48>>2];c[b+48>>2]=0;g=c[a+100>>2]|0;c[b+60>>2]=g;if(!g){c[b+52>>2]=0;c[b+56>>2]=0;d=b+64|0;c[d>>2]=0;return 18607}c[b+52>>2]=ub[c[(c[d>>2]|0)+28>>2]&31](d,c[a+108>>2]|0)|0;c[b+56>>2]=0;h=wb[c[(c[d>>2]|0)+16>>2]&63](d,16,g)|0;if((g|0)>0){e=c[a+108>>2]|0;a=c[h+8>>2]|0;f=0;while(1){c[a>>2]=c[e+(f<<4)>>2];c[a+4>>2]=c[e+(f<<4)+4>>2];c[a+8>>2]=c[e+(f<<4)+8>>2];c[a+12>>2]=c[e+(f<<4)+12>>2];f=f+1|0;if((f|0)==(g|0))break;else a=a+16|0}}else e=c[a+108>>2]|0;Tb[c[(c[d>>2]|0)+20>>2]&31](d,h,21524,1497453121,e);d=b+64|0;c[d>>2]=0;return 18607}function eh(b){b=b|0;var d=0,e=0,f=0,g=0,h=0;d=c[b+16>>2]|0;if(d|0){if(a[b+20>>0]|0){c[6898]=(c[6898]|0)+1;md(c[d+-4>>2]|0)}c[b+16>>2]=0}a[b+20>>0]=1;c[b+16>>2]=0;c[b+8>>2]=0;c[b+12>>2]=0;d=c[b+36>>2]|0;if(d|0){if(a[b+40>>0]|0){c[6898]=(c[6898]|0)+1;md(c[d+-4>>2]|0)}c[b+36>>2]=0}a[b+40>>0]=1;c[b+36>>2]=0;c[b+28>>2]=0;c[b+32>>2]=0;d=c[b+56>>2]|0;if(d|0){if(a[b+60>>0]|0){c[6898]=(c[6898]|0)+1;md(c[d+-4>>2]|0)}c[b+56>>2]=0}a[b+60>>0]=1;c[b+56>>2]=0;c[b+48>>2]=0;c[b+52>>2]=0;if((c[b+12>>2]|0)>=2){ef(b);return}c[6897]=(c[6897]|0)+1;d=ec(43)|0;if(!d)f=0;else{c[(d+4+15&-16)+-4>>2]=d;f=d+4+15&-16}e=c[b+8>>2]|0;if((e|0)>0){d=0;do{g=f+(d*12|0)|0;h=(c[b+16>>2]|0)+(d*12|0)|0;c[g>>2]=c[h>>2];c[g+4>>2]=c[h+4>>2];c[g+8>>2]=c[h+8>>2];d=d+1|0}while((d|0)!=(e|0))}d=c[b+16>>2]|0;if(d|0){if(a[b+20>>0]|0){c[6898]=(c[6898]|0)+1;md(c[d+-4>>2]|0)}c[b+16>>2]=0}a[b+20>>0]=1;c[b+16>>2]=f;c[b+12>>2]=2;ef(b);return}function fh(a,b,e){a=a|0;b=b|0;e=e|0;hh(a,b,e)|0;c[b+52>>2]=c[a+52>>2];c[b+56>>2]=c[a+56>>2];c[b+60>>2]=c[a+60>>2];c[b+64>>2]=c[a+64>>2];c[b+68>>2]=c[a+68>>2];c[b+72>>2]=c[a+72>>2];c[b+76>>2]=c[a+76>>2];c[b+80>>2]=c[a+80>>2];c[b+84>>2]=c[a+84>>2];c[b+88>>2]=c[a+88>>2];c[b+92>>2]=c[a+92>>2];c[b+96>>2]=c[a+96>>2];c[b+100>>2]=c[a+100>>2];c[b+104>>2]=c[a+104>>2];c[b+108>>2]=c[a+108>>2];c[b+112>>2]=c[a+112>>2];c[b+116>>2]=c[a+116>>2];c[b+120>>2]=c[a+120>>2];c[b+124>>2]=c[a+124>>2];c[b+128>>2]=c[a+128>>2];c[b+132>>2]=c[a+132>>2];c[b+136>>2]=c[a+136>>2];c[b+140>>2]=c[a+140>>2];c[b+144>>2]=c[a+144>>2];c[b+148>>2]=c[a+148>>2];c[b+152>>2]=c[a+152>>2];c[b+156>>2]=c[a+156>>2];c[b+160>>2]=c[a+160>>2];c[b+164>>2]=c[a+164>>2];c[b+168>>2]=c[a+168>>2];c[b+172>>2]=c[a+172>>2];c[b+176>>2]=c[a+176>>2];c[b+180>>2]=c[a+188>>2];c[b+184>>2]=c[a+184>>2];c[b+188>>2]=c[a+196>>2];c[b+192>>2]=c[a+192>>2];c[b+196>>2]=d[a+180>>0];c[b+200>>2]=d[a+49>>0];return 14272}function gh(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var h=0,i=0,j=0,k=0,m=0;i=l;l=l+128|0;Db[c[(c[b>>2]|0)+112>>2]&511](b);c[i+96>>2]=c[e>>2];c[i+96+4>>2]=c[e+4>>2];c[i+96+8>>2]=c[e+8>>2];c[i+96+12>>2]=c[e+12>>2];c[i+96+16>>2]=c[f>>2];c[i+96+16+4>>2]=c[f+4>>2];c[i+96+16+8>>2]=c[f+8>>2];c[i+96+16+12>>2]=c[f+12>>2];a[i+72+16>>0]=1;c[i+72+12>>2]=0;c[i+72+4>>2]=0;c[i+72+8>>2]=0;Qe(b+72|0,i+96|0,i+72|0);f=c[i+72+4>>2]|0;if(!f){Db[c[(c[b>>2]|0)+116>>2]&511](b);e=c[i+72+12>>2]|0;if(!e){l=i;return}}else{h=c[b+176>>2]|0;g[i+64>>2]=.009999999776482582;e=c[i+72+12>>2]|0;do{f=f+-1|0;j=e+(f<<2)|0;k=c[j>>2]|0;m=sb[c[(c[b>>2]|0)+84>>2]&127](b)|0;Mb[c[(c[m>>2]|0)+20>>2]&127](m,k,i);Pb[c[(c[d>>2]|0)+8>>2]&127](d,i,h,c[j>>2]|0)}while((f|0)!=0);Db[c[(c[b>>2]|0)+116>>2]&511](b)}if(a[i+72+16>>0]|0){c[6898]=(c[6898]|0)+1;md(c[e+-4>>2]|0)}c[i+72+12>>2]=0;l=i;return}function hh(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0;c[b>>2]=ub[c[(c[e>>2]|0)+28>>2]&31](e,c[a+28>>2]|0)|0;c[b+4>>2]=ub[c[(c[e>>2]|0)+28>>2]&31](e,c[a+32>>2]|0)|0;f=ub[c[(c[e>>2]|0)+40>>2]&31](e,a)|0;g=ub[c[(c[e>>2]|0)+28>>2]&31](e,f)|0;c[b+8>>2]=g;if(g|0)Ib[c[(c[e>>2]|0)+48>>2]&127](e,f);c[b+12>>2]=c[a+4>>2];c[b+24>>2]=d[a+21>>0];c[b+40>>2]=c[a+24>>2];c[b+44>>2]=c[a+16>>2];c[b+48>>2]=d[a+20>>0];c[b+20>>2]=c[a+12>>2];c[b+16>>2]=c[a+8>>2];c[b+28>>2]=c[a+36>>2];c[b+32>>2]=c[a+40>>2];c[b+36>>2]=0;f=c[a+28>>2]|0;g=c[f+548>>2]|0;if((g|0)>0){e=c[f+556>>2]|0;if((c[e>>2]|0)==(a|0))c[b+36>>2]=1;if((g|0)>1){f=1;do{if((c[e+(f<<2)>>2]|0)==(a|0))c[b+36>>2]=1;f=f+1|0}while((f|0)!=(g|0))}}f=c[a+32>>2]|0;g=c[f+548>>2]|0;if((g|0)<=0)return 14316;e=c[f+556>>2]|0;if((c[e>>2]|0)==(a|0))c[b+36>>2]=1;if((g|0)<=1)return 14316;f=1;do{if((c[e+(f<<2)>>2]|0)==(a|0))c[b+36>>2]=1;f=f+1|0}while((f|0)!=(g|0));return 14316}function ih(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,h=0.0,i=0.0,j=0.0,k=0.0;f=l;l=l+96|0;g[f+4>>2]=1.0;c[f+8>>2]=0;c[f+12>>2]=1;c[f+16>>2]=-1;c[f+20>>2]=0;c[f>>2]=5264;c[f+24>>2]=c[b>>2];c[f+24+4>>2]=c[b+4>>2];c[f+24+8>>2]=c[b+8>>2];c[f+24+12>>2]=c[b+12>>2];c[f+40>>2]=c[d>>2];c[f+40+4>>2]=c[d+4>>2];c[f+40+8>>2]=c[d+8>>2];c[f+40+12>>2]=c[d+12>>2];a=c[a+4>>2]|0;Pb[c[(c[a>>2]|0)+32>>2]&127](a,b,d,f);a=c[f+8>>2]|0;if(!a){e=0;l=f;return e|0}if(!(c[a+252>>2]&2)){e=0;l=f;return e|0}if(c[a+204>>2]&4|0){e=0;l=f;return e|0}c[e>>2]=c[f+72>>2];c[e+4>>2]=c[f+72+4>>2];c[e+8>>2]=c[f+72+8>>2];c[e+12>>2]=c[f+72+12>>2];c[e+16>>2]=c[f+56>>2];c[e+16+4>>2]=c[f+56+4>>2];c[e+16+8>>2]=c[f+56+8>>2];c[e+16+12>>2]=c[f+56+12>>2];k=+g[e+16>>2];j=+g[e+20>>2];i=+g[e+24>>2];h=1.0/+B(+(k*k+j*j+i*i));g[e+16>>2]=k*h;g[e+20>>2]=j*h;g[e+24>>2]=i*h;c[e+32>>2]=c[f+4>>2];e=a;l=f;return e|0}function jh(b,d){b=b|0;d=d|0;if((c[b+16>>2]|0)!=(0-(c[b+56>>2]|0)|0))return;d=c[b+4>>2]|0;if(d|0)Dm(b+4|0,d);d=c[b+8>>2]|0;if(d|0){c[6898]=(c[6898]|0)+1;md(c[d+-4>>2]|0)}c[b+8>>2]=0;c[b+12>>2]=-1;d=c[b+36>>2]|0;if(d|0){if(a[b+40>>0]|0){c[6898]=(c[6898]|0)+1;md(c[d+-4>>2]|0)}c[b+36>>2]=0}a[b+40>>0]=1;c[b+36>>2]=0;c[b+28>>2]=0;c[b+32>>2]=0;c[b+20>>2]=0;d=c[b+44>>2]|0;if(d|0)Dm(b+44|0,d);d=c[b+48>>2]|0;if(d|0){c[6898]=(c[6898]|0)+1;md(c[d+-4>>2]|0)}c[b+48>>2]=0;c[b+52>>2]=-1;d=c[b+76>>2]|0;if(d|0){if(a[b+80>>0]|0){c[6898]=(c[6898]|0)+1;md(c[d+-4>>2]|0)}c[b+76>>2]=0}a[b+80>>0]=1;c[b+76>>2]=0;c[b+68>>2]=0;c[b+72>>2]=0;c[b+60>>2]=0;a[b+153>>0]=0;a[b+154>>0]=1;c[b+104>>2]=0;c[b+124>>2]=0;c[b+108>>2]=1;c[b+112>>2]=0;c[b+116>>2]=10;c[b+120>>2]=1;c[b+84>>2]=0;c[b+84+4>>2]=0;c[b+84+8>>2]=0;c[b+128>>2]=0;c[b+128+4>>2]=0;c[b+128+8>>2]=0;c[b+128+12>>2]=0;c[b+128+16>>2]=0;c[b+128+20>>2]=0;return}function kh(a,b,d){a=a|0;b=b|0;d=d|0;var e=0.0,f=0.0,h=0.0,i=0,j=0.0;i=l;l=l+32|0;c[i+16>>2]=c[d>>2];c[i+16+4>>2]=c[d+4>>2];c[i+16+8>>2]=c[d+8>>2];c[i+16+12>>2]=c[d+12>>2];f=+g[i+16>>2];h=+g[i+16+4>>2];e=+g[i+16+8>>2];if(f*f+h*h+e*e<1.4210854715202004e-14){c[i+16>>2]=-1082130432;c[i+16+4>>2]=-1082130432;c[i+16+8>>2]=-1082130432;g[i+16+12>>2]=0.0;f=-1.0;h=-1.0;e=-1.0}j=1.0/+B(+(f*f+h*h+e*e));g[i+16>>2]=f*j;g[i+16+4>>2]=h*j;g[i+16+8>>2]=e*j;wd(i,b,i+16|0);switch(c[b+4>>2]|0){case 8:{e=+g[b+32>>2]*+g[b+16>>2];break}case 0:{e=+g[b+48>>2];break}case 1:{e=+g[b+48>>2];break}case 13:{e=+g[b+48>>2];break}case 11:{e=+g[b+48>>2];break}case 10:{e=+g[b+48>>2];break}case 4:case 5:{e=+g[b+48>>2];break}default:e=+ib[c[(c[b>>2]|0)+48>>2]&15](b)}h=e*+g[i+16+4>>2]+ +g[i+4>>2];j=e*+g[i+16+8>>2]+ +g[i+8>>2];g[a>>2]=e*+g[i+16>>2]+ +g[i>>2];g[a+4>>2]=h;g[a+8>>2]=j;g[a+12>>2]=0.0;l=i;return}function lh(a,b,d){a=a|0;b=b|0;d=d|0;var e=0.0,f=0.0,h=0,i=0.0,k=0,m=0,n=0,o=0.0;m=l;l=l+80|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;c[a+12>>2]=0;e=+g[d>>2];f=+g[d+4>>2];i=+g[d+8>>2];if(e*e+f*f+i*i<9.999999747378752e-05){k=1065353216;h=0;e=0.0;d=0}else{o=1.0/+B(+(e*e+f*f+i*i));k=(g[j>>2]=e*o,c[j>>2]|0);n=(g[j>>2]=f*o,c[j>>2]|0);h=(g[j>>2]=i*o,c[j>>2]|0);e=+g[d+12>>2];d=n}c[m+32>>2]=9532;n=m+32+4|0;c[n>>2]=0;c[n+4>>2]=0;c[n+8>>2]=0;c[n+12>>2]=0;g[m+32+20>>2]=-999999984306749440.0;c[m+32+24>>2]=k;c[m+32+28>>2]=d;c[m+32+32>>2]=h;g[m+32+36>>2]=e;c[m+16>>2]=1566444395;c[m+16+4>>2]=1566444395;c[m+16+8>>2]=1566444395;g[m+16+12>>2]=0.0;b=c[b+96>>2]|0;k=c[(c[b>>2]|0)+8>>2]|0;g[m>>2]=-999999984306749440.0;g[m+4>>2]=-999999984306749440.0;g[m+8>>2]=-999999984306749440.0;g[m+12>>2]=0.0;Pb[k&127](b,m+32|0,m,m+16|0);c[a>>2]=c[n>>2];c[a+4>>2]=c[n+4>>2];c[a+8>>2]=c[n+8>>2];c[a+12>>2]=c[n+12>>2];l=m;return}function mh(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var h=0.0,i=0.0,j=0.0,k=0.0,m=0.0,n=0.0,o=0.0,p=0,q=0,r=0;p=l;l=l+32|0;e=c[a+12>>2]|0;if(!e){l=p;return}c[f+4>>2]=e;q=c[b+4>>2]|0;a=c[d+4>>2]|0;r=c[b+12>>2]|0;b=c[d+12>>2]|0;h=+g[r+48>>2]-+g[b+48>>2];i=+g[r+52>>2]-+g[b+52>>2];k=+g[r+56>>2]-+g[b+56>>2];m=+B(+(h*h+i*i+k*k));n=+g[q+32>>2]*+g[q+16>>2];o=+g[a+32>>2]*+g[a+16>>2];c[e+780>>2]=0;if(m>n+o+ +g[f+32>>2]){l=p;return}c[p+16>>2]=1065353216;c[p+16+4>>2]=0;c[p+16+8>>2]=0;g[p+16+12>>2]=0.0;if(m>1.1920928955078125e-07){g[p+16>>2]=h*(1.0/m);g[p+16+4>>2]=i*(1.0/m);g[p+16+8>>2]=k*(1.0/m);g[p+16+12>>2]=0.0;j=h*(1.0/m);i=i*(1.0/m);h=k*(1.0/m)}else{j=1.0;i=0.0;h=0.0}r=c[d+12>>2]|0;i=o*i+ +g[r+52>>2];k=o*h+ +g[r+56>>2];g[p>>2]=o*j+ +g[r+48>>2];g[p+4>>2]=i;g[p+8>>2]=k;g[p+12>>2]=0.0;Nb[c[(c[f>>2]|0)+16>>2]&15](f,p+16|0,p,m-(n+o));l=p;return}function nh(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0.0,h=0,i=0.0,j=0.0,k=0.0,l=0,m=0.0;k=+g[b+64>>2]*.5;l=c[b+72>>2]|0;f=+g[d>>2];i=+g[d+4>>2];j=+g[d+8>>2];j=+B(+(f*f+i*i+j*j));h=c[b+68>>2]|0;do if(!(+g[d+(l<<2)>>2]>+g[b+56>>2]*j)){f=+g[d+(h<<2)>>2];e=c[b+76>>2]|0;i=+g[d+(e<<2)>>2];j=+B(+(f*f+i*i));if(j>1.1920928955078125e-07){j=+g[b+60>>2]/j;g[a+(h<<2)>>2]=f*j;g[a+(l<<2)>>2]=-k;f=i*j;break}else{g[a+(h<<2)>>2]=0.0;g[a+(l<<2)>>2]=-k;f=0.0;break}}else{g[a+(h<<2)>>2]=0.0;g[a+(l<<2)>>2]=k;f=0.0;e=c[b+76>>2]|0}while(0);g[a+(e<<2)>>2]=f;if(!(+ib[c[(c[b>>2]|0)+48>>2]&15](b)!=0.0))return;i=+g[d>>2];k=+g[d+4>>2];j=+g[d+8>>2];m=i*i+k*k+j*j<1.4210854715202004e-14?-1.0:i;f=i*i+k*k+j*j<1.4210854715202004e-14?-1.0:k;j=i*i+k*k+j*j<1.4210854715202004e-14?-1.0:j;k=1.0/+B(+(j*j+(m*m+f*f)));i=+ib[c[(c[b>>2]|0)+48>>2]&15](b);g[a>>2]=+g[a>>2]+i*m*k;g[a+4>>2]=+g[a+4>>2]+i*f*k;g[a+8>>2]=+g[a+8>>2]+i*j*k;return}function oh(a,b,d){a=a|0;b=b|0;d=d|0;c[a+300>>2]=c[b>>2];c[a+300+4>>2]=c[b+4>>2];c[a+300+8>>2]=c[b+8>>2];c[a+300+12>>2]=c[b+12>>2];c[a+316>>2]=c[b+16>>2];c[a+316+4>>2]=c[b+16+4>>2];c[a+316+8>>2]=c[b+16+8>>2];c[a+316+12>>2]=c[b+16+12>>2];c[a+332>>2]=c[b+32>>2];c[a+332+4>>2]=c[b+32+4>>2];c[a+332+8>>2]=c[b+32+8>>2];c[a+332+12>>2]=c[b+32+12>>2];c[a+348>>2]=c[b+48>>2];c[a+348+4>>2]=c[b+48+4>>2];c[a+348+8>>2]=c[b+48+8>>2];c[a+348+12>>2]=c[b+48+12>>2];c[a+364>>2]=c[d>>2];c[a+364+4>>2]=c[d+4>>2];c[a+364+8>>2]=c[d+8>>2];c[a+364+12>>2]=c[d+12>>2];c[a+380>>2]=c[d+16>>2];c[a+380+4>>2]=c[d+16+4>>2];c[a+380+8>>2]=c[d+16+8>>2];c[a+380+12>>2]=c[d+16+12>>2];c[a+396>>2]=c[d+32>>2];c[a+396+4>>2]=c[d+32+4>>2];c[a+396+8>>2]=c[d+32+8>>2];c[a+396+12>>2]=c[d+32+12>>2];c[a+412>>2]=c[d+48>>2];c[a+412+4>>2]=c[d+48+4>>2];c[a+412+8>>2]=c[d+48+8>>2];c[a+412+12>>2]=c[d+48+12>>2];Db[c[(c[a>>2]|0)+8>>2]&511](a);return}function ph(a,b,d){a=a|0;b=b|0;d=d|0;var e=0.0,f=0.0,h=0.0,i=0.0,j=0.0,k=0.0,l=0.0,m=0.0,n=0;n=c[a+4>>2]|0;a=c[a+44>>2]|0;do if(!n)if(!a){e=0.0;m=0.0;j=0.0;l=0.0;i=0.0;k=0.0;h=0.0;f=0.0}else{e=+g[a>>2];m=+g[a+12>>2];j=+g[a+16>>2];l=+g[a+20>>2];i=+g[a+24>>2];k=+g[a+28>>2];h=+g[a+4>>2];f=+g[a+8>>2]}else{e=+g[n>>2];if(!a){m=+g[n+12>>2];j=+g[n+16>>2];l=+g[n+20>>2];i=+g[n+24>>2];k=+g[n+28>>2];h=+g[n+4>>2];f=+g[n+8>>2];break}k=+g[a>>2];e=e<k?e:k;k=+g[n+16>>2];j=+g[a+16>>2];j=k>j?k:j;k=+g[n+4>>2];h=+g[a+4>>2];h=k<h?k:h;k=+g[n+20>>2];l=+g[a+20>>2];l=k>l?k:l;k=+g[n+8>>2];f=+g[a+8>>2];f=k<f?k:f;k=+g[n+24>>2];i=+g[a+24>>2];if(k>i){m=0.0;i=k;k=0.0}else{m=0.0;k=0.0}}while(0);g[b>>2]=e;g[b+4>>2]=h;g[b+8>>2]=f;g[b+12>>2]=m;g[d>>2]=j;g[d+4>>2]=l;g[d+8>>2]=i;g[d+12>>2]=k;return}function qh(a){a=a|0;var b=0,d=0,e=0;od(a);if((sb[c[(c[a>>2]|0)+20>>2]&127](a)|0?(d=sb[c[(c[a>>2]|0)+20>>2]&127](a)|0,(sb[c[(c[d>>2]|0)+56>>2]&127](d)|0)&6144|0):0)?(b=sb[c[(c[a>>2]|0)+104>>2]&127](a)|0,(b|0)>0):0)do{d=b;b=b+-1|0;e=ub[c[(c[a>>2]|0)+108>>2]&31](a,b)|0;Ib[c[(c[a>>2]|0)+172>>2]&127](a,e)}while((d|0)>1);if((((sb[c[(c[a>>2]|0)+20>>2]&127](a)|0?(e=sb[c[(c[a>>2]|0)+20>>2]&127](a)|0,(sb[c[(c[e>>2]|0)+56>>2]&127](e)|0)&16387|0):0)?sb[c[(c[a>>2]|0)+20>>2]&127](a)|0:0)?(e=sb[c[(c[a>>2]|0)+20>>2]&127](a)|0,sb[c[(c[e>>2]|0)+56>>2]&127](e)|0):0)?(c[a+296>>2]|0)>0:0){b=0;do{e=c[(c[a+304>>2]|0)+(b<<2)>>2]|0;Ib[c[(c[e>>2]|0)+12>>2]&127](e,c[a+72>>2]|0);b=b+1|0}while((b|0)<(c[a+296>>2]|0))}if(!(sb[c[(c[a>>2]|0)+20>>2]&127](a)|0))return;e=sb[c[(c[a>>2]|0)+20>>2]&127](a)|0;Db[c[(c[e>>2]|0)+104>>2]&511](e);return}function rh(a,b){a=a|0;b=b|0;var c=0,d=0.0,e=0.0,f=0.0,h=0.0,i=0.0,j=0.0,k=0.0,m=0.0,n=0.0,o=0.0,p=0.0,q=0.0;c=l;l=l+48|0;Rg(a+364|0,c+16|0);h=-+g[c+16>>2];e=-+g[c+16+4>>2];m=-+g[c+16+8>>2];k=+g[c+16+12>>2];f=+g[b>>2];n=+g[b+12>>2];j=+g[b+8>>2];i=+g[b+4>>2];Rg(a+300|0,c);p=+g[c>>2];q=+g[c+12>>2];d=+g[c+8>>2];o=+g[c+4>>2];g[c+32>>2]=(k*n-f*h-i*e-j*m)*p+(k*f+n*h+j*e-i*m)*q+(f*m+(n*e+k*i)-j*h)*d-(n*m+k*j+i*h-f*e)*o;g[c+32+4>>2]=p*(n*m+k*j+i*h-f*e)+(q*(f*m+(n*e+k*i)-j*h)+(k*n-f*h-i*e-j*m)*o)-(k*f+n*h+j*e-i*m)*d;g[c+32+8>>2]=(n*m+k*j+i*h-f*e)*q+(k*n-f*h-i*e-j*m)*d+(k*f+n*h+j*e-i*m)*o-p*(f*m+(n*e+k*i)-j*h);g[c+32+12>>2]=(k*n-f*h-i*e-j*m)*q-(k*f+n*h+j*e-i*m)*p-(f*m+(n*e+k*i)-j*h)*o-(n*m+k*j+i*h-f*e)*d;ee(a,c+32|0);l=c;return}function sh(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;do if(!(lC(b,c[d+8>>2]|0)|0)){if(!(lC(b,c[d>>2]|0)|0)){b=c[b+8>>2]|0;Tb[c[(c[b>>2]|0)+24>>2]&31](b,d,e,f,g);break}if((c[d+16>>2]|0)!=(e|0)?(c[d+20>>2]|0)!=(e|0):0){c[d+32>>2]=f;if((c[d+44>>2]|0)==4)break;a[d+52>>0]=0;a[d+53>>0]=0;f=c[b+8>>2]|0;Ub[c[(c[f>>2]|0)+20>>2]&7](f,d,e,e,1,g);if(a[d+53>>0]|0)if(!(a[d+52>>0]|0)){b=1;f=11}else f=15;else{b=0;f=11}do if((f|0)==11){c[d+20>>2]=e;c[d+40>>2]=(c[d+40>>2]|0)+1;if((c[d+36>>2]|0)==1?(c[d+24>>2]|0)==2:0){a[d+54>>0]=1;if(b){f=15;break}else{b=4;break}}if(b)f=15;else b=4}while(0);if((f|0)==15)b=3;c[d+44>>2]=b;break}if((f|0)==1)c[d+32>>2]=1}else mr(d,e,f);while(0);return}function th(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;if(!e)e=c[b+188>>2]|0;j=c[d>>2]|0;f=c[b+328>>2]|0;a:do if((f|0)>0){h=c[b+336>>2]|0;g=0;while(1){if((c[h+(g<<2)>>2]|0)==(j|0))break;g=g+1|0;if((g|0)>=(f|0))break a}if((g|0)!=(f|0))return}while(0);if((f|0)==(c[b+332>>2]|0)?(i=(f|0)==0?1:f<<1,(f|0)<(i|0)):0){if(!i)h=0;else{c[6897]=(c[6897]|0)+1;f=ec((i<<2|3)+16|0)|0;if(!f)f=0;else{c[(f+4+15&-16)+-4>>2]=f;f=f+4+15&-16}h=f;f=c[b+328>>2]|0}if((f|0)>0){g=0;do{c[h+(g<<2)>>2]=c[(c[b+336>>2]|0)+(g<<2)>>2];g=g+1|0}while((g|0)!=(f|0))}g=c[b+336>>2]|0;if(g){if(a[b+340>>0]|0){c[6898]=(c[6898]|0)+1;md(c[g+-4>>2]|0);f=c[b+328>>2]|0}c[b+336>>2]=0}a[b+340>>0]=1;c[b+336>>2]=h;c[b+332>>2]=i}c[(c[b+336>>2]|0)+(f<<2)>>2]=j;c[b+328>>2]=f+1;b=c[b+344>>2]|0;wb[c[(c[b>>2]|0)+8>>2]&63](b,e,d)|0;return}function uh(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0.0,h=0.0,i=0.0,j=0.0,k=0.0,m=0.0,n=0.0,o=0.0,p=0.0,q=0.0,r=0.0,s=0.0;e=l;l=l+80|0;g[e+64>>2]=.009999999776482582;Mb[c[(c[a>>2]|0)+20>>2]&127](a,b,e);h=+g[e+64>>2];j=+g[e>>2];o=+g[e+16>>2];n=+g[e+32>>2];b=!(j>(o>n?n:o));s=+g[e+4>>2];r=+g[e+20>>2];i=+g[e+36>>2];a=!(s>+g[(r>i?e+32|0:e+16|0)+4>>2]);m=+g[(r>i|a?(a?e+4|0:e+36|0):e+20|0)>>2];q=+g[e+8>>2];p=+g[e+24>>2];f=+g[e+40>>2];a=!(q>+g[(p>f?e+32|0:e+16|0)+8>>2]);k=+g[(p>f|a?(a?e+8|0:e+40|0):e+24|0)>>2];a=!(j<(o<n?n:o));j=+g[(o<n|a?(a?e:e+32|0):e+16|0)>>2];a=!(s<+g[(r<i?e+32|0:e+16|0)+4>>2]);i=+g[(r<i|a?(a?e+4|0:e+36|0):e+20|0)>>2];a=!(q<+g[(p<f?e+32|0:e+16|0)+8>>2]);f=+g[(p<f|a?(a?e+8|0:e+40|0):e+24|0)>>2];g[d>>2]=+g[(o>n|b?(b?e:e+32|0):e+16|0)>>2]-h;g[d+4>>2]=m-h;g[d+8>>2]=k-h;g[d+16>>2]=h+j;g[d+20>>2]=h+i;g[d+24>>2]=h+f;l=e;return}function vh(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;if((e|0)>=8192)return Xa(b|0,d|0,e|0)|0;h=b|0;g=b+e|0;if((b&3)==(d&3)){while(b&3){if(!e)return h|0;a[b>>0]=a[d>>0]|0;b=b+1|0;d=d+1|0;e=e-1|0}e=g&-4|0;f=e-64|0;while((b|0)<=(f|0)){c[b>>2]=c[d>>2];c[b+4>>2]=c[d+4>>2];c[b+8>>2]=c[d+8>>2];c[b+12>>2]=c[d+12>>2];c[b+16>>2]=c[d+16>>2];c[b+20>>2]=c[d+20>>2];c[b+24>>2]=c[d+24>>2];c[b+28>>2]=c[d+28>>2];c[b+32>>2]=c[d+32>>2];c[b+36>>2]=c[d+36>>2];c[b+40>>2]=c[d+40>>2];c[b+44>>2]=c[d+44>>2];c[b+48>>2]=c[d+48>>2];c[b+52>>2]=c[d+52>>2];c[b+56>>2]=c[d+56>>2];c[b+60>>2]=c[d+60>>2];b=b+64|0;d=d+64|0}while((b|0)<(e|0)){c[b>>2]=c[d>>2];b=b+4|0;d=d+4|0}}else{e=g-4|0;while((b|0)<(e|0)){a[b>>0]=a[d>>0]|0;a[b+1>>0]=a[d+1>>0]|0;a[b+2>>0]=a[d+2>>0]|0;a[b+3>>0]=a[d+3>>0]|0;b=b+4|0;d=d+4|0}}while((b|0)<(g|0)){a[b>>0]=a[d>>0]|0;b=b+1|0;d=d+1|0}return h|0}function wh(b,d){b=b|0;d=d|0;var e=0,f=0;c[b+12>>2]=0;c[b+16>>2]=-1;c[b+20>>2]=1065353216;c[b+24>>2]=1065353216;c[b+28>>2]=1065353216;g[b+32>>2]=0.0;g[b+52>>2]=.03999999910593033;c[b+60>>2]=0;c[b+8>>2]=1;e=b+64|0;f=e+48|0;do{c[e>>2]=0;e=e+4|0}while((e|0)<(f|0));c[b+4>>2]=10552;c[b+120>>2]=0;c[b+124>>2]=-1;c[b+128>>2]=1065353216;c[b+132>>2]=1065353216;c[b+136>>2]=1065353216;g[b+140>>2]=0.0;g[b+160>>2]=.03999999910593033;c[b+168>>2]=0;c[b+172>>2]=1065353216;c[b+176>>2]=1065353216;c[b+180>>2]=1065353216;g[b+184>>2]=0.0;c[b+188>>2]=-1082130432;c[b+192>>2]=-1082130432;c[b+196>>2]=-1082130432;g[b+200>>2]=0.0;a[b+204>>0]=0;c[b+116>>2]=2;c[b+112>>2]=10688;c[b+208>>2]=4;c[b+276>>2]=10824;c[b+284>>2]=10844;c[b+292>>2]=10864;c[b>>2]=d;if(sb[c[(c[d>>2]|0)+96>>2]&127](d)|0){f=b+284|0;e=b+300|0;c[e>>2]=f;f=f+4|0;c[f>>2]=b;return}else{f=c[b>>2]|0;f=sb[c[(c[f>>2]|0)+100>>2]&127](f)|0;f=f?b+292|0:b+276|0;e=b+300|0;c[e>>2]=f;f=f+4|0;c[f>>2]=b;return}}function xh(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;c[b>>2]=12072;d=c[b+56>>2]|0;if(d|0){if(a[b+60>>0]|0){c[6898]=(c[6898]|0)+1;md(c[d+-4>>2]|0)}c[b+56>>2]=0}a[b+60>>0]=1;c[b+56>>2]=0;c[b+48>>2]=0;c[b+52>>2]=0;f=c[b+28>>2]|0;if((f|0)>0){d=0;do{g=c[b+36>>2]|0;h=g+(d*36|0)+4|0;i=g+(d*36|0)+12|0;j=c[i>>2]|0;e=g+(d*36|0)+16|0;if(j|0){if(a[e>>0]|0){c[6898]=(c[6898]|0)+1;md(c[j+-4>>2]|0)}c[i>>2]=0}a[e>>0]=1;c[i>>2]=0;c[h>>2]=0;c[g+(d*36|0)+8>>2]=0;d=d+1|0}while((d|0)!=(f|0))}d=c[b+36>>2]|0;if(d|0){if(a[b+40>>0]|0){c[6898]=(c[6898]|0)+1;md(c[d+-4>>2]|0)}c[b+36>>2]=0}a[b+40>>0]=1;c[b+36>>2]=0;c[b+28>>2]=0;c[b+32>>2]=0;d=c[b+16>>2]|0;if(!d){a[b+20>>0]=1;c[b+16>>2]=0;c[b+8>>2]=0;b=b+12|0;c[b>>2]=0;return}if(a[b+20>>0]|0){c[6898]=(c[6898]|0)+1;md(c[d+-4>>2]|0)}c[b+16>>2]=0;a[b+20>>0]=1;c[b+16>>2]=0;c[b+8>>2]=0;b=b+12|0;c[b>>2]=0;return}function yh(b){b=b|0;var d=0;c[b>>2]=10332;d=c[b+156>>2]|0;if(d|0){if(a[b+160>>0]|0){c[6898]=(c[6898]|0)+1;md(c[d+-4>>2]|0)}c[b+156>>2]=0}a[b+160>>0]=1;c[b+156>>2]=0;c[b+148>>2]=0;c[b+152>>2]=0;d=c[b+136>>2]|0;if(d|0){if(a[b+140>>0]|0){c[6898]=(c[6898]|0)+1;md(c[d+-4>>2]|0)}c[b+136>>2]=0}a[b+140>>0]=1;c[b+136>>2]=0;c[b+128>>2]=0;c[b+132>>2]=0;d=c[b+116>>2]|0;if(d|0){if(a[b+120>>0]|0){c[6898]=(c[6898]|0)+1;md(c[d+-4>>2]|0)}c[b+116>>2]=0}a[b+120>>0]=1;c[b+116>>2]=0;c[b+108>>2]=0;c[b+112>>2]=0;d=c[b+96>>2]|0;if(d|0){if(a[b+100>>0]|0){c[6898]=(c[6898]|0)+1;md(c[d+-4>>2]|0)}c[b+96>>2]=0}a[b+100>>0]=1;c[b+96>>2]=0;c[b+88>>2]=0;c[b+92>>2]=0;c[b>>2]=12088;d=c[b+32>>2]|0;if(!d){a[b+36>>0]=1;c[b+32>>2]=0;c[b+24>>2]=0;b=b+28|0;c[b>>2]=0;return}if(a[b+36>>0]|0){c[6898]=(c[6898]|0)+1;md(c[d+-4>>2]|0)}c[b+32>>2]=0;a[b+36>>0]=1;c[b+32>>2]=0;c[b+24>>2]=0;b=b+28|0;c[b>>2]=0;return}function zh(b,d){b=b|0;d=d|0;var e=0,f=0,h=0;f=l;l=l+16|0;e=0;while(1){if((e|0)>=(sb[c[(c[d>>2]|0)+28>>2]&127](d)|0))break;h=Or(216)|0;c[h+8>>2]=0;c[h+12>>2]=-1;g[h+16>>2]=0.0;a[h+92>>0]=1;c[h+88>>2]=0;c[h+80>>2]=0;c[h+84>>2]=0;c[h+72>>2]=0;c[h+4>>2]=25;g[h+20>>2]=3402823466385288598117041.0e14;g[h+24>>2]=3402823466385288598117041.0e14;g[h+28>>2]=3402823466385288598117041.0e14;g[h+36>>2]=-3402823466385288598117041.0e14;g[h+40>>2]=-3402823466385288598117041.0e14;g[h+44>>2]=-3402823466385288598117041.0e14;a[h+52>>0]=1;c[h+56>>2]=1065353216;c[h+60>>2]=1065353216;c[h+64>>2]=1065353216;g[h+68>>2]=0.0;c[h>>2]=10924;c[h+148>>2]=11236;g[h+152>>2]=.009999999776482582;c[h+160>>2]=1065353216;c[h+164>>2]=1065353216;c[h+168>>2]=1065353216;g[h+172>>2]=0.0;c[h+180>>2]=0;c[h+184>>2]=0;c[h+188>>2]=0;c[h+196>>2]=0;c[h+196+4>>2]=0;c[h+196+8>>2]=0;c[h+196+12>>2]=0;c[h+156>>2]=d;c[h+176>>2]=e;c[h+144>>2]=h+148;c[f>>2]=h;pn(b+152|0,f);e=e+1|0}l=f;return}function Ah(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;d=c[b+188>>2]|0;if(d|0){f=c[a+68>>2]|0;f=sb[c[(c[f>>2]|0)+36>>2]&127](f)|0;Mb[c[(c[f>>2]|0)+40>>2]&127](f,d,c[a+24>>2]|0);f=c[a+68>>2]|0;Mb[c[(c[f>>2]|0)+12>>2]&127](f,d,c[a+24>>2]|0);c[b+188>>2]=0}d=c[b+216>>2]|0;f=c[a+8>>2]|0;if((d|0)>-1&(d|0)<(f|0)){g=c[a+16>>2]|0;e=c[g+(d<<2)>>2]|0;c[g+(d<<2)>>2]=c[g+(f+-1<<2)>>2];c[(c[a+16>>2]|0)+(f+-1<<2)>>2]=e;c[a+8>>2]=f+-1;if((d|0)>=(f+-1|0)){c[b+216>>2]=-1;return}c[(c[(c[a+16>>2]|0)+(d<<2)>>2]|0)+216>>2]=d;c[b+216>>2]=-1;return}a:do if((f|0)>0){e=c[a+16>>2]|0;d=0;while(1){if((c[e+(d<<2)>>2]|0)==(b|0))break a;d=d+1|0;if((d|0)>=(f|0)){d=f;break}}}else d=f;while(0);if((f|0)<=(d|0)){c[b+216>>2]=-1;return}h=c[a+16>>2]|0;e=h+(d<<2)|0;g=c[e>>2]|0;c[e>>2]=c[h+(f+-1<<2)>>2];c[(c[a+16>>2]|0)+(f+-1<<2)>>2]=g;c[a+8>>2]=f+-1;c[b+216>>2]=-1;return}function Bh(b,d){b=b|0;d=d|0;var e=0.0,f=0.0,h=0.0,i=0.0,j=0.0,k=0.0,l=0.0,m=0.0,n=0.0,o=0.0,p=0.0;c[b+68>>2]=c[d>>2];c[b+68+4>>2]=c[d+4>>2];c[b+68+8>>2]=c[d+8>>2];c[b+68+12>>2]=c[d+12>>2];n=+g[b+68>>2];o=+g[b+72>>2];m=+g[b+76>>2];if(!(n*n+o*o+m*m>0.0)){g[b+20>>2]=0.0;return}k=+g[d>>2];l=+g[d+4>>2];e=+g[d+8>>2];f=1.0/+B(+(k*k+l*l+e*e));h=+g[b+256>>2];i=+g[b+260>>2];j=+g[b+264>>2];if(!(j*e*f+(h*k*f+i*l*f)!=0.0))return;p=j*e*f+(h*k*f+i*l*f)<-1.0?-1.0:j*e*f+(h*k*f+i*l*f);p=+B(+(n*n+o*o+m*m))*+E(+(1.5707963705062866-+G(+(p>1.0?1.0:p))));g[b+68>>2]=n-h*p;g[b+72>>2]=o-i*p;g[b+76>>2]=m-j*p;g[b+20>>2]=(j*e*f+(h*k*f+i*l*f)<0.0?-1.0:1.0)*+B(+(j*p*j*p+(h*p*h*p+i*p*i*p)));if(!(j*e*f+(h*k*f+i*l*f)>0.0))return;a[b+249>>0]=1;d=(c[b+8>>2]|0)+52|0;c[b+116>>2]=c[d>>2];c[b+116+4>>2]=c[d+4>>2];c[b+116+8>>2]=c[d+8>>2];c[b+116+12>>2]=c[d+12>>2];return}function Ch(b){b=b|0;var d=0;c[b>>2]=11604;d=c[b+160>>2]|0;if(d|0){if(a[b+164>>0]|0){c[6898]=(c[6898]|0)+1;md(c[d+-4>>2]|0)}c[b+160>>2]=0}a[b+164>>0]=1;c[b+160>>2]=0;c[b+152>>2]=0;c[b+156>>2]=0;d=c[b+136>>2]|0;if(d|0){if(a[b+140>>0]|0){c[6898]=(c[6898]|0)+1;md(c[d+-4>>2]|0)}c[b+136>>2]=0}a[b+140>>0]=1;c[b+136>>2]=0;c[b+128>>2]=0;c[b+132>>2]=0;d=c[b+116>>2]|0;if(d|0){if(a[b+120>>0]|0){c[6898]=(c[6898]|0)+1;md(c[d+-4>>2]|0)}c[b+116>>2]=0}a[b+120>>0]=1;c[b+116>>2]=0;c[b+108>>2]=0;c[b+112>>2]=0;d=c[b+96>>2]|0;if(d|0){if(a[b+100>>0]|0){c[6898]=(c[6898]|0)+1;md(c[d+-4>>2]|0)}c[b+96>>2]=0}a[b+100>>0]=1;c[b+96>>2]=0;c[b+88>>2]=0;c[b+92>>2]=0;d=c[b+76>>2]|0;if(!d){a[b+80>>0]=1;c[b+76>>2]=0;c[b+68>>2]=0;b=b+72|0;c[b>>2]=0;return}if(a[b+80>>0]|0){c[6898]=(c[6898]|0)+1;md(c[d+-4>>2]|0)}c[b+76>>2]=0;a[b+80>>0]=1;c[b+76>>2]=0;c[b+68>>2]=0;b=b+72|0;c[b>>2]=0;return}function Dh(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,h=0.0,i=0,j=0,k=0.0,m=0.0,n=0.0,o=0,p=0;p=l;l=l+16|0;if((e|0)<=0){l=p;return}o=0;do{h=+g[a+64>>2]*.5;i=c[a+72>>2]|0;k=+g[b+(o<<4)>>2];m=+g[b+(o<<4)+4>>2];n=+g[b+(o<<4)+8>>2];n=+B(+(k*k+m*m+n*n));j=c[a+68>>2]|0;do if(!(+g[b+(o<<4)+(i<<2)>>2]>+g[a+56>>2]*n)){k=+g[b+(o<<4)+(j<<2)>>2];f=c[a+76>>2]|0;m=+g[b+(o<<4)+(f<<2)>>2];n=+B(+(k*k+m*m));if(n>1.1920928955078125e-07){n=+g[a+60>>2]/n;g[p+(j<<2)>>2]=k*n;g[p+(i<<2)>>2]=-h;h=m*n;break}else{g[p+(j<<2)>>2]=0.0;g[p+(i<<2)>>2]=-h;h=0.0;break}}else{g[p+(j<<2)>>2]=0.0;g[p+(i<<2)>>2]=h;h=0.0;f=c[a+76>>2]|0}while(0);g[p+(f<<2)>>2]=h;j=d+(o<<4)|0;c[j>>2]=c[p>>2];c[j+4>>2]=c[p+4>>2];c[j+8>>2]=c[p+8>>2];c[j+12>>2]=c[p+12>>2];o=o+1|0}while((o|0)!=(e|0));l=p;return}function Eh(b){b=b|0;var d=0;c[b>>2]=6612;d=c[b+136>>2]|0;if(d|0){if(a[b+140>>0]|0){c[6898]=(c[6898]|0)+1;md(c[d+-4>>2]|0)}c[b+136>>2]=0}a[b+140>>0]=1;c[b+136>>2]=0;c[b+128>>2]=0;c[b+132>>2]=0;d=c[b+76>>2]|0;if(d|0){if(a[b+80>>0]|0){c[6898]=(c[6898]|0)+1;md(c[d+-4>>2]|0)}c[b+76>>2]=0}a[b+80>>0]=1;c[b+76>>2]=0;c[b+68>>2]=0;c[b+72>>2]=0;d=c[b+56>>2]|0;if(d|0){if(a[b+60>>0]|0){c[6898]=(c[6898]|0)+1;md(c[d+-4>>2]|0)}c[b+56>>2]=0}a[b+60>>0]=1;c[b+56>>2]=0;c[b+48>>2]=0;c[b+52>>2]=0;d=c[b+36>>2]|0;if(d|0){if(a[b+40>>0]|0){c[6898]=(c[6898]|0)+1;md(c[d+-4>>2]|0)}c[b+36>>2]=0}a[b+40>>0]=1;c[b+36>>2]=0;c[b+28>>2]=0;c[b+32>>2]=0;d=c[b+16>>2]|0;if(!d){a[b+20>>0]=1;c[b+16>>2]=0;c[b+8>>2]=0;b=b+12|0;c[b>>2]=0;return}if(a[b+20>>0]|0){c[6898]=(c[6898]|0)+1;md(c[d+-4>>2]|0)}c[b+16>>2]=0;a[b+20>>0]=1;c[b+16>>2]=0;c[b+8>>2]=0;b=b+12|0;c[b>>2]=0;return}function Fh(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0.0,h=0.0,i=0.0,j=0.0,k=0.0,l=0.0,m=0.0,n=0.0,o=0.0,p=0.0,q=0.0,r=0.0,s=0.0,t=0.0,u=0.0,v=0.0,w=0.0;o=(+g[a+36>>2]-+g[a+20>>2])*+g[a+112>>2]*.5;m=(+g[a+40>>2]-+g[a+24>>2])*+g[a+116>>2]*.5;k=(+g[a+44>>2]-+g[a+28>>2])*+g[a+120>>2]*.5;t=+A(+(+g[b>>2]));s=+A(+(+g[b+4>>2]));r=+A(+(+g[b+8>>2]));n=+A(+(+g[b+16>>2]));l=+A(+(+g[b+20>>2]));j=+A(+(+g[b+24>>2]));w=+A(+(+g[b+32>>2]));v=+A(+(+g[b+36>>2]));f=+A(+(+g[b+40>>2]));u=+g[b+48>>2];p=+g[b+52>>2];h=+g[b+56>>2];q=+ib[c[(c[a>>2]|0)+48>>2]&15](a);i=+ib[c[(c[a>>2]|0)+48>>2]&15](a);f=o*w+m*v+k*f+ +ib[c[(c[a>>2]|0)+48>>2]&15](a);g[d>>2]=u-(o*t+m*s+k*r+q);g[d+4>>2]=p-(o*n+m*l+k*j+i);g[d+8>>2]=h-f;g[d+12>>2]=0.0;g[e>>2]=u+(o*t+m*s+k*r+q);g[e+4>>2]=p+(o*n+m*l+k*j+i);g[e+8>>2]=h+f;g[e+12>>2]=0.0;return}function Gh(a,b){a=a|0;b=b|0;var d=0,e=0;d=l;l=l+64|0;b=c[b+36>>2]|0;e=c[(c[a+24>>2]|0)+28>>2]|0;c[d>>2]=c[e+(b*80|0)>>2];c[d+4>>2]=c[e+(b*80|0)+4>>2];c[d+8>>2]=c[e+(b*80|0)+8>>2];c[d+12>>2]=c[e+(b*80|0)+12>>2];c[d+16>>2]=c[e+(b*80|0)+16>>2];c[d+16+4>>2]=c[e+(b*80|0)+16+4>>2];c[d+16+8>>2]=c[e+(b*80|0)+16+8>>2];c[d+16+12>>2]=c[e+(b*80|0)+16+12>>2];c[d+32>>2]=c[e+(b*80|0)+32>>2];c[d+32+4>>2]=c[e+(b*80|0)+32+4>>2];c[d+32+8>>2]=c[e+(b*80|0)+32+8>>2];c[d+32+12>>2]=c[e+(b*80|0)+32+12>>2];c[d+48>>2]=c[e+(b*80|0)+48>>2];c[d+48+4>>2]=c[e+(b*80|0)+48+4>>2];c[d+48+8>>2]=c[e+(b*80|0)+48+8>>2];c[d+48+12>>2]=c[e+(b*80|0)+48+12>>2];Cf(a,b,d,c[e+(b*80|0)+64>>2]|0);l=d;return}function Hh(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0.0,h=0.0,i=0.0,j=0.0,k=0.0;e=c[b>>2]|0;if((e|0)==(c[a+84>>2]|0)){f=1.0;return +f}if(c[e+204>>2]&4|0){f=1.0;return +f}if((+g[a+32>>2]-+g[a+16>>2])*+g[b+8>>2]+(+g[a+36>>2]-+g[a+20>>2])*+g[b+12>>2]+(+g[a+40>>2]-+g[a+24>>2])*+g[b+16>>2]>=-+g[a+88>>2]){f=1.0;return +f}c[a+4>>2]=c[b+40>>2];c[a+80>>2]=e;if(d){c[a+48>>2]=c[b+8>>2];c[a+48+4>>2]=c[b+8+4>>2];c[a+48+8>>2]=c[b+8+8>>2];c[a+48+12>>2]=c[b+8+12>>2]}else{k=+g[b+8>>2];j=+g[b+12>>2];i=+g[b+16>>2];h=k*+g[e+20>>2]+j*+g[e+24>>2]+i*+g[e+28>>2];f=k*+g[e+36>>2]+j*+g[e+40>>2]+i*+g[e+44>>2];g[a+48>>2]=+g[e+4>>2]*k+ +g[e+8>>2]*j+ +g[e+12>>2]*i;g[a+52>>2]=h;g[a+56>>2]=f;g[a+60>>2]=0.0}c[a+64>>2]=c[b+24>>2];c[a+64+4>>2]=c[b+24+4>>2];c[a+64+8>>2]=c[b+24+8>>2];c[a+64+12>>2]=c[b+24+12>>2];k=+g[b+40>>2];return +k}function Ih(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0;f=c[b+100>>2]|0;if((f|0)==(c[b+104>>2]|0)?(i=(f|0)==0?1:f<<1,(f|0)<(i|0)):0){if(!i)h=0;else{c[6897]=(c[6897]|0)+1;f=ec((i<<4|3)+16|0)|0;if(!f)f=0;else{c[(f+4+15&-16)+-4>>2]=f;f=f+4+15&-16}h=f;f=c[b+100>>2]|0}if((f|0)>0){g=0;do{j=h+(g<<4)|0;k=(c[b+108>>2]|0)+(g<<4)|0;c[j>>2]=c[k>>2];c[j+4>>2]=c[k+4>>2];c[j+8>>2]=c[k+8>>2];c[j+12>>2]=c[k+12>>2];g=g+1|0}while((g|0)!=(f|0))}f=c[b+108>>2]|0;if(f|0){if(a[b+112>>0]|0){c[6898]=(c[6898]|0)+1;md(c[f+-4>>2]|0)}c[b+108>>2]=0}a[b+112>>0]=1;c[b+108>>2]=h;c[b+104>>2]=i;f=c[b+100>>2]|0}k=(c[b+108>>2]|0)+(f<<4)|0;c[k>>2]=c[d>>2];c[k+4>>2]=c[d+4>>2];c[k+8>>2]=c[d+8>>2];c[k+12>>2]=c[d+12>>2];c[b+100>>2]=(c[b+100>>2]|0)+1;if(!e)return;Ci(b);return}function Jh(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;i=l;l=l+48|0;e=c[a+28>>2]|0;c[i>>2]=e;e=(c[a+20>>2]|0)-e|0;c[i+4>>2]=e;c[i+8>>2]=b;c[i+12>>2]=d;c[i+16>>2]=c[a+60>>2];c[i+16+4>>2]=i;c[i+16+8>>2]=2;f=KB(Sa(146,i+16|0)|0)|0;a:do if((e+d|0)!=(f|0)){b=2;g=e+d|0;e=i;while(1){if((f|0)<0)break;g=g-f|0;j=c[e+4>>2]|0;k=f>>>0>j>>>0;e=k?e+8|0:e;b=b+(k<<31>>31)|0;j=f-(k?j:0)|0;c[e>>2]=(c[e>>2]|0)+j;c[e+4>>2]=(c[e+4>>2]|0)-j;c[i+32>>2]=c[a+60>>2];c[i+32+4>>2]=e;c[i+32+8>>2]=b;f=KB(Sa(146,i+32|0)|0)|0;if((g|0)==(f|0)){h=3;break a}}c[a+16>>2]=0;c[a+28>>2]=0;c[a+20>>2]=0;c[a>>2]=c[a>>2]|32;if((b|0)==2)d=0;else d=d-(c[e+4>>2]|0)|0}else h=3;while(0);if((h|0)==3){k=c[a+44>>2]|0;c[a+16>>2]=k+(c[a+48>>2]|0);c[a+28>>2]=k;c[a+20>>2]=k}l=i;return d|0}function Kh(a,b,d){a=a|0;b=b|0;d=d|0;var e=0.0,f=0.0,h=0.0,i=0.0,j=0.0,k=0.0,m=0.0,n=0.0,o=0;o=l;l=l+16|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;c[a+12>>2]=0;e=+g[d>>2];h=+g[d+4>>2];f=+g[d+8>>2];if(e*e+h*h+f*f<9.999999747378752e-05){n=1.0;m=0.0;k=0.0}else{k=1.0/+B(+(e*e+h*h+f*f));n=e*k;m=h*k;k=f*k}c[o>>2]=0;c[o+4>>2]=0;c[o+8>>2]=0;c[o+12>>2]=0;d=c[b+56>>2]|0;j=+g[b+32+(d<<2)>>2];g[o+(d<<2)>>2]=j;e=+g[o>>2];h=+g[o+4>>2];f=+g[o+8>>2];i=n*e+m*h+k*f;if(i>-999999984306749440.0){b=c[o+12>>2]|0;g[a>>2]=e;g[a+4>>2]=h;g[a+8>>2]=f;c[a+12>>2]=b}else i=-999999984306749440.0;c[o>>2]=0;c[o+4>>2]=0;c[o+8>>2]=0;c[o+12>>2]=0;g[o+(d<<2)>>2]=-j;e=+g[o>>2];h=+g[o+4>>2];f=+g[o+8>>2];if(!(n*e+m*h+k*f>i)){l=o;return}b=c[o+12>>2]|0;g[a>>2]=e;g[a+4>>2]=h;g[a+8>>2]=f;c[a+12>>2]=b;l=o;return}function Lh(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,h=0,i=0,j=0,k=0;i=l;l=l+80|0;if((e|0)<=0){l=i;return}f=0;do{g[d+(f<<4)+12>>2]=-999999984306749440.0;f=f+1|0}while((f|0)!=(e|0));h=i+32+4|0;f=0;do{j=b+(f<<4)|0;c[i+32>>2]=9532;c[h>>2]=0;c[h+4>>2]=0;c[h+8>>2]=0;c[h+12>>2]=0;g[i+32+20>>2]=-999999984306749440.0;c[i+32+24>>2]=c[j>>2];c[i+32+24+4>>2]=c[j+4>>2];c[i+32+24+8>>2]=c[j+8>>2];c[i+32+24+12>>2]=c[j+12>>2];c[i+16>>2]=1566444395;c[i+16+4>>2]=1566444395;c[i+16+8>>2]=1566444395;g[i+16+12>>2]=0.0;j=c[a+96>>2]|0;k=c[(c[j>>2]|0)+8>>2]|0;g[i>>2]=-999999984306749440.0;g[i+4>>2]=-999999984306749440.0;g[i+8>>2]=-999999984306749440.0;g[i+12>>2]=0.0;Pb[k&127](j,i+32|0,i,i+16|0);j=d+(f<<4)|0;c[j>>2]=c[h>>2];c[j+4>>2]=c[h+4>>2];c[j+8>>2]=c[h+8>>2];c[j+12>>2]=c[h+12>>2];f=f+1|0}while((f|0)<(e|0));l=i;return}function Mh(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=l;l=l+96|0;b=c[b>>2]|0;if((b|0)==(c[a+4>>2]|0)){l=d;return 1}e=c[a+12>>2]|0;if(!(ub[c[(c[e>>2]|0)+8>>2]&31](e,c[b+188>>2]|0)|0)){l=d;return 1}e=c[a+4>>2]|0;f=c[e+192>>2]|0;c[d+64>>2]=0;c[d+64+4>>2]=f;c[d+64+8>>2]=e;c[d+64+12>>2]=e+4;c[d+64+16>>2]=-1;c[d+64+20>>2]=-1;e=c[b+192>>2]|0;c[d+40>>2]=0;c[d+40+4>>2]=e;c[d+40+8>>2]=b;c[d+40+12>>2]=b+4;c[d+40+16>>2]=-1;c[d+40+20>>2]=-1;b=c[(c[a+8>>2]|0)+24>>2]|0;b=yb[c[(c[b>>2]|0)+8>>2]&1](b,d+64|0,d+40|0,0,2)|0;if(b|0){f=c[a+12>>2]|0;c[d+4>>2]=0;c[d+8>>2]=d+64;c[d+12>>2]=d+40;g[d+32>>2]=0.0;c[d>>2]=7696;c[d+36>>2]=f;Tb[c[(c[b>>2]|0)+8>>2]&31](b,d+64|0,d+40|0,(c[a+8>>2]|0)+28|0,d);Db[c[c[b>>2]>>2]&511](b);f=c[(c[a+8>>2]|0)+24>>2]|0;Ib[c[(c[f>>2]|0)+60>>2]&127](f,b)}l=d;return 1}function Nh(a,b,d){a=a|0;b=b|0;d=d|0;var e=0.0,f=0,h=0,i=0,j=0,k=0;k=l;l=l+96|0;i=c[c[a>>2]>>2]|0;h=c[c[a+4>>2]>>2]|0;if(!(wb[c[(c[b>>2]|0)+24>>2]&63](b,i,h)|0)){l=k;return}f=c[i+192>>2]|0;c[k+64>>2]=0;c[k+64+4>>2]=f;c[k+64+8>>2]=i;c[k+64+12>>2]=i+4;c[k+64+16>>2]=-1;c[k+64+20>>2]=-1;f=c[h+192>>2]|0;c[k+40>>2]=0;c[k+40+4>>2]=f;c[k+40+8>>2]=h;c[k+40+12>>2]=h+4;c[k+40+16>>2]=-1;c[k+40+20>>2]=-1;f=c[a+8>>2]|0;if(!f){f=yb[c[(c[b>>2]|0)+8>>2]&1](b,k+64|0,k+40|0,0,1)|0;c[a+8>>2]=f;if(f|0)j=4}else j=4;if((j|0)==4){c[k>>2]=8072;c[k+4>>2]=0;c[k+8>>2]=k+64;c[k+12>>2]=k+40;g[k+32>>2]=0.0;if((c[d+8>>2]|0)!=1){e=+ob[c[(c[f>>2]|0)+12>>2]&15](f,i,h,d,k);if(+g[d+12>>2]>e)g[d+12>>2]=e}else Tb[c[(c[f>>2]|0)+8>>2]&31](f,k+64|0,k+40|0,d,k)}l=k;return}function Oh(a){a=a|0;var b=0.0,d=0,e=0.0,f=0.0,h=0.0,i=0.0,j=0.0,k=0.0,l=0.0;d=Bs()|0;c[d+4>>2]=35;c[d+8>>2]=0;c[d+12>>2]=-1;c[d+16>>2]=1065353216;c[d+20>>2]=1065353216;c[d+24>>2]=1065353216;g[d+28>>2]=0.0;g[d+48>>2]=.03999999910593033;c[d>>2]=9552;c[d+56>>2]=1;e=+g[a>>2]+-.03999999910593033;f=+g[a+4>>2]+-.03999999910593033;h=+g[a+8>>2]+-.03999999910593033;g[d+32>>2]=e;g[d+36>>2]=f;g[d+40>>2]=h;g[d+44>>2]=0.0;j=+g[a>>2];i=+g[a+4>>2];b=+g[a+8>>2];b=+g[a+((j<i?(j<b?0:2):i<b?1:2)<<2)>>2]*.10000000149011612;if(!(b<.03999999910593033)){c[d+4>>2]=13;c[d>>2]=9760;c[d+56>>2]=2;return d|0}l=+HE(d);k=+HE(d);j=+HE(d)+h;g[d+48>>2]=b;h=+HE(d);i=+HE(d);j=j-+HE(d);g[d+32>>2]=l+e-h;g[d+36>>2]=k+f-i;g[d+40>>2]=j;g[d+44>>2]=0.0;c[d+4>>2]=13;c[d>>2]=9760;c[d+56>>2]=2;return d|0}function Ph(a){a=a|0;var b=0.0,d=0,e=0.0,f=0.0,h=0.0,i=0.0,j=0.0,k=0.0,l=0.0;d=Bs()|0;c[d+4>>2]=35;c[d+8>>2]=0;c[d+12>>2]=-1;c[d+16>>2]=1065353216;c[d+20>>2]=1065353216;c[d+24>>2]=1065353216;g[d+28>>2]=0.0;g[d+48>>2]=.03999999910593033;c[d>>2]=9552;c[d+56>>2]=1;e=+g[a>>2]+-.03999999910593033;f=+g[a+4>>2]+-.03999999910593033;h=+g[a+8>>2]+-.03999999910593033;g[d+32>>2]=e;g[d+36>>2]=f;g[d+40>>2]=h;g[d+44>>2]=0.0;j=+g[a>>2];i=+g[a+4>>2];b=+g[a+8>>2];b=+g[a+((j<i?(j<b?0:2):i<b?1:2)<<2)>>2]*.10000000149011612;if(!(b<.03999999910593033)){c[d+4>>2]=13;c[d>>2]=9656;c[d+56>>2]=0;return d|0}l=+HE(d);k=+HE(d);j=+HE(d)+h;g[d+48>>2]=b;h=+HE(d);i=+HE(d);j=j-+HE(d);g[d+32>>2]=l+e-h;g[d+36>>2]=k+f-i;g[d+40>>2]=j;g[d+44>>2]=0.0;c[d+4>>2]=13;c[d>>2]=9656;c[d+56>>2]=0;return d|0}function Qh(b,d,e,f){b=b|0;d=+d;e=e|0;f=+f;var h=0,i=0.0,j=0;Ya(c[6900]|0,0)|0;if(e){g[b+284>>2]=f;i=+g[b+280>>2]+d;g[b+280>>2]=i;if(!(i>=f)){d=f;j=0}else{g[b+280>>2]=i-+(~~(i/f)|0)*f;d=f;j=~~(i/f)}}else{g[b+280>>2]=(a[b+316>>0]|0)==0?d:0.0;g[b+284>>2]=0.0;j=!(+A(+d)<1.1920928955078125e-07)&1;e=j}if(sb[c[(c[b>>2]|0)+20>>2]&127](b)|0){h=sb[c[(c[b>>2]|0)+20>>2]&127](b)|0;a[28180]=(sb[c[(c[h>>2]|0)+56>>2]&127](h)|0)>>>4&1}if(j){h=(j|0)>(e|0)?e:j;Eb[c[(c[b>>2]|0)+168>>2]&31](b,d*+(h|0));Db[c[(c[b>>2]|0)+176>>2]&511](b);if((h|0)>0){e=0;do{Eb[c[(c[b>>2]|0)+160>>2]&31](b,d);Db[c[(c[b>>2]|0)+80>>2]&511](b);e=e+1|0}while((e|0)<(h|0));e=b}else e=b}else{Db[c[(c[b>>2]|0)+80>>2]&511](b);e=b}Db[c[(c[e>>2]|0)+120>>2]&511](b);c[6899]=(c[6899]|0)+1;return j|0}function Rh(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,h=0.0,i=0.0,j=0.0,k=0.0,m=0.0,n=0.0,o=0.0,p=0.0,q=0.0,r=0.0,s=0.0,t=0.0,u=0.0,v=0.0,w=0.0,x=0;f=l;l=l+16|0;x=c[a+56>>2]|0;v=+g[a+32+(((x+2|0)%3|0)<<2)>>2];g[f>>2]=v;g[f+4>>2]=v;g[f+8>>2]=v;g[f+12>>2]=0.0;g[f+(x<<2)>>2]=v+ +g[a+32+(x<<2)>>2];v=+A(+(+g[b>>2]));u=+A(+(+g[b+4>>2]));t=+A(+(+g[b+8>>2]));r=+A(+(+g[b+16>>2]));q=+A(+(+g[b+20>>2]));p=+A(+(+g[b+24>>2]));n=+A(+(+g[b+32>>2]));k=+A(+(+g[b+36>>2]));i=+A(+(+g[b+40>>2]));w=+g[b+48>>2];s=+g[b+52>>2];o=+g[b+56>>2];m=+g[f>>2];j=+g[f+4>>2];h=+g[f+8>>2];g[d>>2]=w-(v*m+u*j+t*h);g[d+4>>2]=s-(r*m+q*j+p*h);g[d+8>>2]=o-(n*m+k*j+i*h);g[d+12>>2]=0.0;g[e>>2]=w+(v*m+u*j+t*h);g[e+4>>2]=s+(r*m+q*j+p*h);g[e+8>>2]=o+(n*m+k*j+i*h);g[e+12>>2]=0.0;l=f;return}function Sh(b){b=b|0;var d=0,e=0,f=0;c[b>>2]=11688;e=c[b+52>>2]|0;if((e|0)>0){d=0;do{f=c[(c[b+60>>2]|0)+(d<<2)>>2]|0;if(f|0){Db[c[c[f>>2]>>2]&511](f);f=c[b+4>>2]|0;Ib[c[(c[f>>2]|0)+60>>2]&127](f,c[(c[b+60>>2]|0)+(d<<2)>>2]|0)}d=d+1|0}while((d|0)!=(e|0))}d=c[b+60>>2]|0;if(d|0){if(a[b+64>>0]|0){c[6898]=(c[6898]|0)+1;md(c[d+-4>>2]|0)}c[b+60>>2]=0}a[b+64>>0]=1;c[b+60>>2]=0;c[b+52>>2]=0;c[b+56>>2]=0;d=c[b+40>>2]|0;if(d|0){if(a[b+44>>0]|0){c[6898]=(c[6898]|0)+1;md(c[d+-4>>2]|0)}c[b+40>>2]=0}a[b+44>>0]=1;c[b+40>>2]=0;c[b+32>>2]=0;c[b+36>>2]=0;d=c[b+20>>2]|0;if(!d){a[b+24>>0]=1;c[b+20>>2]=0;c[b+12>>2]=0;b=b+16|0;c[b>>2]=0;return}if(a[b+24>>0]|0){c[6898]=(c[6898]|0)+1;md(c[d+-4>>2]|0)}c[b+20>>2]=0;a[b+24>>0]=1;c[b+20>>2]=0;c[b+12>>2]=0;b=b+16|0;c[b>>2]=0;return}function Th(a,b,c,d,e,f,h,i,j,k,l){a=a|0;b=b|0;c=+c;d=+d;e=+e;f=+f;h=+h;i=+i;j=j|0;k=k|0;l=+l;var m=0.0,n=0.0,o=0.0,p=0.0,q=0.0,r=0.0,s=0.0,t=0.0,u=0.0,v=0.0,w=0.0,x=0.0;x=+g[a>>2]*f+ +g[a+16>>2]*h+ +g[a+32>>2]*i;v=+g[a+4>>2]*f+ +g[a+20>>2]*h+ +g[a+36>>2]*i;t=+g[a+8>>2]*f+ +g[a+24>>2]*h+ +g[a+40>>2]*i;s=+g[b>>2]*f+ +g[b+16>>2]*h+ +g[b+32>>2]*i;q=+g[b+4>>2]*f+ +g[b+20>>2]*h+ +g[b+36>>2]*i;o=+g[b+8>>2]*f+ +g[b+24>>2]*h+ +g[b+40>>2]*i;w=+g[j+80>>2];u=+g[j+84>>2];p=+g[j+88>>2];r=+g[k+80>>2];m=+g[k+84>>2];n=+g[k+88>>2];p=x*(x<0.0?-w:w)+v*(v<0.0?-u:u)+t*(t<0.0?-p:p);n=s*(s<0.0?-r:r)+q*(q<0.0?-m:m)+o*(o<0.0?-n:n);o=+g[j+96>>2];m=+g[k+96>>2];m=(p>o?p:o)+(n>m?n:m);return !((c*f+d*h+e*i+m<m-(c*f+d*h+e*i)?c*f+d*h+e*i+m:m-(c*f+d*h+e*i))>l)|0}function Uh(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,h=0.0,i=0,j=0.0,k=0.0,l=0.0,m=0.0,n=0.0,o=0.0,p=0,q=0,r=0,s=0.0,t=0;if((e|0)<=0)return;f=0;do{g[d+(f<<4)+12>>2]=-999999984306749440.0;f=f+1|0}while((f|0)!=(e|0));r=0;do{j=+g[a+16>>2];k=+g[b+(r<<4)>>2]*j;l=+g[a+20>>2];m=+g[b+(r<<4)+4>>2]*l;n=+g[a+24>>2];o=+g[b+(r<<4)+8>>2]*n;p=c[a+100>>2]|0;if((p|0)>0){q=c[a+108>>2]|0;f=-1;i=0;h=-3402823466385288598117041.0e14;do{s=k*+g[q+(i<<4)>>2]+m*+g[q+(i<<4)+4>>2]+o*+g[q+(i<<4)+8>>2];t=s>h;f=t?i:f;h=t?s:h;i=i+1|0}while((i|0)!=(p|0));o=+g[q+(f<<4)+4>>2]*l;s=+g[q+(f<<4)+8>>2]*n;g[d+(r<<4)>>2]=+g[q+(f<<4)>>2]*j;g[d+(r<<4)+4>>2]=o;g[d+(r<<4)+8>>2]=s}else h=-999999984306749440.0;g[d+(r<<4)+12>>2]=h;r=r+1|0}while((r|0)!=(e|0));return}function Vh(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;g=c[d>>2]|0;d=c[b+328>>2]|0;a:do if((d|0)>0){f=c[b+336>>2]|0;e=0;while(1){if((c[f+(e<<2)>>2]|0)==(g|0))break;e=e+1|0;if((e|0)>=(d|0))break a}if((e|0)!=(d|0))return}while(0);if((d|0)==(c[b+332>>2]|0)?(h=(d|0)==0?1:d<<1,(d|0)<(h|0)):0){if(!h)f=0;else{c[6897]=(c[6897]|0)+1;d=ec((h<<2|3)+16|0)|0;if(!d)d=0;else{c[(d+4+15&-16)+-4>>2]=d;d=d+4+15&-16}f=d;d=c[b+328>>2]|0}if((d|0)>0){e=0;do{c[f+(e<<2)>>2]=c[(c[b+336>>2]|0)+(e<<2)>>2];e=e+1|0}while((e|0)!=(d|0))}e=c[b+336>>2]|0;if(e){if(a[b+340>>0]|0){c[6898]=(c[6898]|0)+1;md(c[e+-4>>2]|0);d=c[b+328>>2]|0}c[b+336>>2]=0}a[b+340>>0]=1;c[b+336>>2]=f;c[b+332>>2]=h}c[(c[b+336>>2]|0)+(d<<2)>>2]=g;c[b+328>>2]=d+1;return}function Wh(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;c[b>>2]=6872;if(a[b+152>>0]|0?(d=c[b+96>>2]|0,Db[c[c[d>>2]>>2]&511](d),d=c[b+96>>2]|0,d|0):0){c[6898]=(c[6898]|0)+1;md(c[d+-4>>2]|0)}f=c[b+160>>2]|0;if((f|0)>0){d=0;do{g=c[b+168>>2]|0;h=g+(d*20|0)+4|0;i=g+(d*20|0)+12|0;j=c[i>>2]|0;e=g+(d*20|0)+16|0;if(j|0){if(a[e>>0]|0){c[6898]=(c[6898]|0)+1;md(c[j+-4>>2]|0)}c[i>>2]=0}a[e>>0]=1;c[i>>2]=0;c[h>>2]=0;c[g+(d*20|0)+8>>2]=0;d=d+1|0}while((d|0)!=(f|0))}d=c[b+168>>2]|0;if(!d){a[b+172>>0]=1;c[b+168>>2]=0;c[b+160>>2]=0;j=b+164|0;c[j>>2]=0;j=b+4|0;b=b+44|0;Dk(b);Dk(j);return}if(a[b+172>>0]|0){c[6898]=(c[6898]|0)+1;md(c[d+-4>>2]|0)}c[b+168>>2]=0;a[b+172>>0]=1;c[b+168>>2]=0;c[b+160>>2]=0;j=b+164|0;c[j>>2]=0;j=b+4|0;b=b+44|0;Dk(b);Dk(j);return}function Xh(b){b=b|0;var d=0,e=0,f=0,g=0;c[b>>2]=7044;a[b+20>>0]=1;c[b+16>>2]=0;c[b+8>>2]=0;c[b+12>>2]=0;c[b+24>>2]=0;a[b+44>>0]=1;c[b+40>>2]=0;c[b+32>>2]=0;c[b+36>>2]=0;a[b+64>>0]=1;c[b+60>>2]=0;c[b+52>>2]=0;c[b+56>>2]=0;c[b+68>>2]=0;c[6897]=(c[6897]|0)+1;d=ec(51)|0;if(!d)f=0;else{c[(d+4+15&-16)+-4>>2]=d;f=d+4+15&-16}e=c[b+8>>2]|0;if((e|0)>0){d=0;do{g=c[b+16>>2]|0;c[f+(d<<4)>>2]=c[g+(d<<4)>>2];c[f+(d<<4)+4>>2]=c[g+(d<<4)+4>>2];c[f+(d<<4)+8>>2]=c[g+(d<<4)+8>>2];c[f+(d<<4)+12>>2]=c[g+(d<<4)+12>>2];d=d+1|0}while((d|0)!=(e|0))}d=c[b+16>>2]|0;if(!d){a[b+20>>0]=1;c[b+16>>2]=f;c[b+12>>2]=2;df(b);return}if(a[b+20>>0]|0){c[6898]=(c[6898]|0)+1;md(c[d+-4>>2]|0)}c[b+16>>2]=0;a[b+20>>0]=1;c[b+16>>2]=f;c[b+12>>2]=2;df(b);return}function Yh(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0;g=c[a+12>>2]|0;if(g|0){h=c[a+4>>2]|0;Ib[c[(c[h>>2]|0)+16>>2]&127](h,g);c[a+12>>2]=0}g=c[a+8>>2]|0;if(g|0){Db[c[c[g>>2]>>2]&511](g);h=c[a+4>>2]|0;Ib[c[(c[h>>2]|0)+60>>2]&127](h,c[a+8>>2]|0);c[a+8>>2]=0}c[a+24>>2]=-1;c[a+24+4>>2]=-1;c[a+24+8>>2]=-1;c[a+24+12>>2]=-1;c[a+16>>2]=f;c[a+20>>2]=e;e=c[b+4>>2]|0;if((c[e+4>>2]|0)!=25){g=c[d+4>>2]|0;if((c[g+4>>2]|0)!=25)return;lc(a,d,b,g,e,1);return}g=c[d+4>>2]|0;if((c[g+4>>2]|0)==25){pc(a,b,d,e,g);return}else{lc(a,b,d,e,g,0);return}}function Zh(a){a=a|0;var b=0.0,d=0,e=0.0,f=0.0,h=0.0,i=0.0,j=0.0,k=0.0,l=0.0;d=Bs()|0;c[d+4>>2]=35;c[d+8>>2]=0;c[d+12>>2]=-1;c[d+16>>2]=1065353216;c[d+20>>2]=1065353216;c[d+24>>2]=1065353216;g[d+28>>2]=0.0;g[d+48>>2]=.03999999910593033;c[d>>2]=9552;c[d+56>>2]=1;e=+g[a>>2]+-.03999999910593033;f=+g[a+4>>2]+-.03999999910593033;h=+g[a+8>>2]+-.03999999910593033;g[d+32>>2]=e;g[d+36>>2]=f;g[d+40>>2]=h;g[d+44>>2]=0.0;j=+g[a>>2];i=+g[a+4>>2];b=+g[a+8>>2];b=+g[a+((j<i?(j<b?0:2):i<b?1:2)<<2)>>2]*.10000000149011612;if(!(b<.03999999910593033)){c[d+4>>2]=13;return d|0}l=+HE(d);k=+HE(d);j=+HE(d)+h;g[d+48>>2]=b;h=+HE(d);i=+HE(d);j=j-+HE(d);g[d+32>>2]=l+e-h;g[d+36>>2]=k+f-i;g[d+40>>2]=j;g[d+44>>2]=0.0;c[d+4>>2]=13;return d|0}function _h(b){b=b|0;var d=0,e=0;d=c[b+92>>2]|0;if(d|0){if(a[b+96>>0]|0){c[6898]=(c[6898]|0)+1;md(c[d+-4>>2]|0)}c[b+92>>2]=0}a[b+96>>0]=1;c[b+92>>2]=0;c[b+84>>2]=0;c[b+88>>2]=0;d=c[b+64>>2]|0;if(d|0)do{c[b+64>>2]=c[d+8>>2];e=c[d>>2]|0;if(e|0){c[6898]=(c[6898]|0)+1;md(c[e+-4>>2]|0)}c[6898]=(c[6898]|0)+1;md(c[d+-4>>2]|0);d=c[b+64>>2]|0}while((d|0)!=0);d=c[b+48>>2]|0;if(d|0)do{c[b+48>>2]=c[d+8>>2];e=c[d>>2]|0;if(e|0){c[6898]=(c[6898]|0)+1;md(c[e+-4>>2]|0)}c[6898]=(c[6898]|0)+1;md(c[d+-4>>2]|0);d=c[b+48>>2]|0}while((d|0)!=0);d=c[b+32>>2]|0;if(!d)return;do{c[b+32>>2]=c[d+8>>2];e=c[d>>2]|0;if(e|0){c[6898]=(c[6898]|0)+1;md(c[e+-4>>2]|0)}c[6898]=(c[6898]|0)+1;md(c[d+-4>>2]|0);d=c[b+32>>2]|0}while((d|0)!=0);return}function $h(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0;i=c[d>>2]|0;i=ub[c[(c[i>>2]|0)+56>>2]&31](i,28)|0;j=(a[b+4>>0]|0)==0;h=c[b+8>>2]|0;g=c[b+12>>2]|0;b=c[d>>2]|0;c[i+4>>2]=b;c[i>>2]=12016;a[i+8>>0]=0;c[i+12>>2]=0;if(j){a[i+16>>0]=0;c[i+20>>2]=h;c[i+24>>2]=g;if(!(wb[c[(c[b>>2]|0)+24>>2]&63](b,c[e+8>>2]|0,c[f+8>>2]|0)|0))return i|0;j=c[i+4>>2]|0;c[i+12>>2]=wb[c[(c[j>>2]|0)+12>>2]&63](j,c[e+8>>2]|0,c[f+8>>2]|0)|0;a[i+8>>0]=1;return i|0}else{a[i+16>>0]=1;c[i+20>>2]=h;c[i+24>>2]=g;if(!(wb[c[(c[b>>2]|0)+24>>2]&63](b,c[f+8>>2]|0,c[e+8>>2]|0)|0))return i|0;j=c[i+4>>2]|0;c[i+12>>2]=wb[c[(c[j>>2]|0)+12>>2]&63](j,c[f+8>>2]|0,c[e+8>>2]|0)|0;a[i+8>>0]=1;return i|0}return 0}function ai(a,b,d){a=a|0;b=+b;d=+d;var e=0.0,f=0.0,h=0.0;f=+g[a+692>>2];do if(f>0.0){h=+g[a+688>>2];if(!((b-h)%6.2831854820251465<-3.1415927410125732))if((b-h)%6.2831854820251465>3.1415927410125732)e=(b-h)%6.2831854820251465+-6.2831854820251465;else e=(b-h)%6.2831854820251465;else e=(b-h)%6.2831854820251465+6.2831854820251465;if(!(!(e<-f)&e<=f))if(e>0.0){if((f+h)%6.2831854820251465<-3.1415927410125732){b=(f+h)%6.2831854820251465+6.2831854820251465;break}if(!((f+h)%6.2831854820251465>3.1415927410125732)){b=(f+h)%6.2831854820251465;break}b=(f+h)%6.2831854820251465+-6.2831854820251465;break}else{if((h-f)%6.2831854820251465<-3.1415927410125732){b=(h-f)%6.2831854820251465+6.2831854820251465;break}if(!((h-f)%6.2831854820251465>3.1415927410125732)){b=(h-f)%6.2831854820251465;break}b=(h-f)%6.2831854820251465+-6.2831854820251465;break}}while(0);g[a+680>>2]=(b-+mi(a,(c[a+28>>2]|0)+4|0,(c[a+32>>2]|0)+4|0))/d;return}function bi(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0;if(lC(b,c[d+8>>2]|0)|0)nk(d,e,f,g);else{j=a[d+52>>0]|0;k=a[d+53>>0]|0;l=c[b+12>>2]|0;a[d+52>>0]=0;a[d+53>>0]=0;Pm(b+16|0,d,e,f,g,h);a:do if((l|0)>1){i=b+24|0;do{if(a[d+54>>0]|0)break a;if(!(a[d+52>>0]|0)){if(a[d+53>>0]|0?(c[b+8>>2]&1|0)==0:0)break a}else{if((c[d+24>>2]|0)==1)break a;if(!(c[b+8>>2]&2))break a}a[d+52>>0]=0;a[d+53>>0]=0;Pm(i,d,e,f,g,h);i=i+8|0}while(i>>>0<(b+16+(l<<3)|0)>>>0)}while(0);a[d+52>>0]=j;a[d+53>>0]=k}return}function ci(b,d){b=b|0;d=d|0;var e=0,f=0,h=0,i=0.0,j=0.0,k=0,m=0;f=l;l=l+48|0;if((c[b+128>>2]|0)<=0){l=f;return}e=0;do{m=c[b+136>>2]|0;c[f+32>>2]=(a[m+(e*284|0)+84>>0]|0)==0?1065353216:0;c[f+32+4>>2]=0;c[f+32+8>>2]=1065353216;g[f+32+12>>2]=0.0;k=m+(e*284|0)+140|0;c[f+16>>2]=c[k>>2];c[f+16+4>>2]=c[k+4>>2];c[f+16+8>>2]=c[k+8>>2];c[f+16+12>>2]=c[k+12>>2];k=c[b+112>>2]|0;h=c[(c[d>>2]|0)+16>>2]|0;j=+g[m+(e*284|0)+108+(k<<2)>>2]+ +g[f+16+4>>2];i=+g[m+(e*284|0)+124+(k<<2)>>2]+ +g[f+16+8>>2];g[f>>2]=+g[m+(e*284|0)+92+(k<<2)>>2]+ +g[f+16>>2];g[f+4>>2]=j;g[f+8>>2]=i;g[f+12>>2]=0.0;Pb[h&127](d,f+16|0,f,f+32|0);Pb[c[(c[d>>2]|0)+16>>2]&127](d,f+16|0,(c[b+136>>2]|0)+(e*284|0)+16|0,f+32|0);e=e+1|0}while((e|0)<(c[b+128>>2]|0));l=f;return}function di(a,b,d,e){a=a|0;b=b|0;d=+d;e=e|0;switch(b|0){case 2:{if((e|0)<1){g[a+232>>2]=d;c[a+300>>2]=c[a+300>>2]|512;return}if((e|0)<3){g[a+264>>2]=d;c[a+300>>2]=c[a+300>>2]|32;return}if((e|0)==3){g[a+248>>2]=d;c[a+300>>2]=c[a+300>>2]|2048;return}if((e|0)>=6)return;g[a+280>>2]=d;c[a+300>>2]=c[a+300>>2]|128;return}case 3:{if((e|0)<1){g[a+212>>2]=d;c[a+300>>2]=c[a+300>>2]|1;return}if((e|0)!=3)return;g[a+228>>2]=d;c[a+300>>2]=c[a+300>>2]|4;return}case 4:{if((e|0)<1){g[a+244>>2]=d;c[a+300>>2]=c[a+300>>2]|256;return}if((e|0)<3){g[a+276>>2]=d;c[a+300>>2]=c[a+300>>2]|16;return}if((e|0)==3){g[a+260>>2]=d;c[a+300>>2]=c[a+300>>2]|1024;return}if((e|0)>=6)return;g[a+292>>2]=d;c[a+300>>2]=c[a+300>>2]|64;return}default:return}}function ei(a,b,d){a=a|0;b=+b;d=d|0;var e=0,f=0.0,h=0.0,i=0.0,j=0.0,k=0;e=l;l=l+96|0;c[e+32>>2]=1065353216;c[e+32+4>>2]=0;c[e+32+4+4>>2]=0;c[e+32+4+8>>2]=0;c[e+32+4+12>>2]=0;c[e+32+20>>2]=1065353216;c[e+32+24>>2]=0;c[e+32+24+4>>2]=0;c[e+32+24+8>>2]=0;c[e+32+24+12>>2]=0;c[e+32+40>>2]=1065353216;k=e+32+44|0;c[k>>2]=0;c[k+4>>2]=0;c[k+8>>2]=0;c[k+12>>2]=0;c[k+16>>2]=0;Pb[c[(c[a>>2]|0)+8>>2]&127](a,e+32|0,e+16|0,e);i=(+g[e>>2]-+g[e+16>>2])*.5;h=(+g[e+4>>2]-+g[e+16+4>>2])*.5;j=(+g[e+8>>2]-+g[e+16+8>>2])*.5;f=+ib[c[(c[a>>2]|0)+48>>2]&15](a);g[d>>2]=b*.0833333283662796*((h+f)*2.0*(h+f)*2.0+(j+f)*2.0*(j+f)*2.0);g[d+4>>2]=b*.0833333283662796*((i+f)*2.0*(i+f)*2.0+(j+f)*2.0*(j+f)*2.0);g[d+8>>2]=b*.0833333283662796*((i+f)*2.0*(i+f)*2.0+(h+f)*2.0*(h+f)*2.0);g[d+12>>2]=0.0;l=e;return}function fi(a,b,d,e){a=a|0;b=b|0;d=+d;e=e|0;if(e>>>0<3)switch(b|0){case 2:{g[a+728+(e<<2)>>2]=d;c[a+1456>>2]=c[a+1456>>2]|2<<(e<<2);return}case 4:{g[a+744+(e<<2)>>2]=d;c[a+1456>>2]=c[a+1456>>2]|1<<(e<<2);return}case 1:{g[a+760+(e<<2)>>2]=d;c[a+1456>>2]=c[a+1456>>2]|8<<(e<<2);return}case 3:{g[a+776+(e<<2)>>2]=d;c[a+1456>>2]=c[a+1456>>2]|4<<(e<<2);return}default:return}if((e+-3|0)>>>0>=3)return;switch(b|0){case 2:{g[a+968+((e+-3|0)*88|0)+12>>2]=d;c[a+1456>>2]=c[a+1456>>2]|2<<(e<<2);return}case 4:{g[a+968+((e+-3|0)*88|0)+16>>2]=d;c[a+1456>>2]=c[a+1456>>2]|1<<(e<<2);return}case 1:{g[a+968+((e+-3|0)*88|0)+20>>2]=d;c[a+1456>>2]=c[a+1456>>2]|8<<(e<<2);return}case 3:{g[a+968+((e+-3|0)*88|0)+24>>2]=d;c[a+1456>>2]=c[a+1456>>2]|4<<(e<<2);return}default:return}}function gi(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;n=(c[b>>2]|0)+1794895138|0;f=Vz(c[b+8>>2]|0,n)|0;k=Vz(c[b+12>>2]|0,n)|0;m=Vz(c[b+16>>2]|0,n)|0;a:do if((f>>>0<d>>>2>>>0?k>>>0<(d-(f<<2)|0)>>>0&m>>>0<(d-(f<<2)|0)>>>0:0)?((m|k)&3|0)==0:0){j=0;while(1){i=f>>>1;l=j+i|0;g=Vz(c[b+((l<<1)+(k>>>2)<<2)>>2]|0,n)|0;h=Vz(c[b+((l<<1)+(k>>>2)+1<<2)>>2]|0,n)|0;if(!(h>>>0<d>>>0&g>>>0<(d-h|0)>>>0)){f=0;break a}if(a[b+(h+g)>>0]|0){f=0;break a}g=Ln(e,b+h|0)|0;if(!g)break;if((f|0)==1){f=0;break a}j=(g|0)<0?j:l;f=(g|0)<0?i:f-i|0}g=Vz(c[b+((l<<1)+(m>>>2)<<2)>>2]|0,n)|0;f=Vz(c[b+((l<<1)+(m>>>2)+1<<2)>>2]|0,n)|0;if(f>>>0<d>>>0&g>>>0<(d-f|0)>>>0)f=(a[b+(f+g)>>0]|0)==0?b+f|0:0;else f=0}else f=0;while(0);return f|0}function hi(a){a=a|0;var b=0.0,d=0,e=0.0,f=0.0,h=0.0,i=0.0,j=0.0,k=0.0,l=0.0;d=Bs()|0;c[d+8>>2]=0;c[d+12>>2]=-1;c[d+16>>2]=1065353216;c[d+20>>2]=1065353216;c[d+24>>2]=1065353216;g[d+28>>2]=0.0;g[d+48>>2]=.03999999910593033;c[d+56>>2]=0;c[d>>2]=8200;c[d+4>>2]=0;e=+g[a>>2]+-.03999999910593033;f=+g[a+4>>2]+-.03999999910593033;h=+g[a+8>>2]+-.03999999910593033;g[d+32>>2]=e;g[d+36>>2]=f;g[d+40>>2]=h;g[d+44>>2]=0.0;j=+g[a>>2];i=+g[a+4>>2];b=+g[a+8>>2];b=+g[a+((j<i?(j<b?0:2):i<b?1:2)<<2)>>2]*.10000000149011612;if(!(b<.03999999910593033))return d|0;l=+HE(d);k=+HE(d);j=+HE(d)+h;g[d+48>>2]=b;h=+HE(d);i=+HE(d);j=j-+HE(d);g[d+32>>2]=l+e-h;g[d+36>>2]=k+f-i;g[d+40>>2]=j;g[d+44>>2]=0.0;return d|0}function ii(b,d,e){b=b|0;d=d|0;e=e|0;var f=0.0,h=0.0,i=0.0,j=0.0,k=0.0,l=0.0,m=0.0,n=0.0,o=0.0,p=0.0;if(!(a[b+84>>0]|0)){c[b+32>>2]=c[b+204>>2];g[b+272>>2]=0.0;o=-+g[b+56>>2];p=-+g[b+60>>2];g[b>>2]=-+g[b+52>>2];g[b+4>>2]=o;g[b+8>>2]=p;g[b+12>>2]=0.0;p=1.0;d=b+268|0;g[d>>2]=p;return}p=+g[b>>2];f=+g[b+4>>2];h=+g[b+8>>2];i=p*+g[b+52>>2]+f*+g[b+56>>2]+h*+g[b+60>>2];j=+g[b+16>>2]-+g[d+52>>2];k=+g[b+20>>2]-+g[d+56>>2];l=+g[b+24>>2]-+g[d+60>>2];m=+g[d+392>>2];n=+g[d+396>>2];o=+g[d+388>>2];if(!(i>=-.10000000149011612)){g[b+272>>2]=-1.0/i*(p*(m*l-k*n+ +g[d+372>>2])+f*(j*n-l*o+ +g[d+376>>2])+h*(k*o-j*m+ +g[d+380>>2]));p=-1.0/i;d=b+268|0;g[d>>2]=p;return}else{g[b+272>>2]=0.0;p=10.0;d=b+268|0;g[d>>2]=p;return}}function ji(b,d){b=b|0;d=d|0;var e=0,f=0;if(a[b+1308>>0]|0){c[d>>2]=0;c[d+4>>2]=0;return}Wc(b,(c[b+28>>2]|0)+4|0,(c[b+32>>2]|0)+4|0);c[d>>2]=0;c[d+4>>2]=6;if((c[b+856>>2]|0)==0?(a[b+788>>0]|0)==0:0){e=0;f=6}else{c[d>>2]=1;c[d+4>>2]=5;e=1;f=5}if(!((c[b+860>>2]|0)==0?(a[b+789>>0]|0)==0:0)){e=e+1|0;c[d>>2]=e;f=f+-1|0;c[d+4>>2]=f}if(!((c[b+864>>2]|0)==0?!(a[b+790>>0]|0):0)){c[d>>2]=e+1;c[d+4>>2]=f+-1}if(wf(b,0)|0){c[d>>2]=(c[d>>2]|0)+1;c[d+4>>2]=(c[d+4>>2]|0)+-1}if(wf(b,1)|0){c[d>>2]=(c[d>>2]|0)+1;c[d+4>>2]=(c[d+4>>2]|0)+-1}if(!(wf(b,2)|0))return;c[d>>2]=(c[d>>2]|0)+1;c[d+4>>2]=(c[d+4>>2]|0)+-1;return}function ki(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;f=c[b+228>>2]|0;if((f|0)==(c[b+232>>2]|0)?(i=(f|0)==0?1:f<<1,(f|0)<(i|0)):0){if(!i)h=0;else{c[6897]=(c[6897]|0)+1;f=ec((i<<2|3)+16|0)|0;if(!f)f=0;else{c[(f+4+15&-16)+-4>>2]=f;f=f+4+15&-16}h=f;f=c[b+228>>2]|0}if((f|0)>0){g=0;do{c[h+(g<<2)>>2]=c[(c[b+236>>2]|0)+(g<<2)>>2];g=g+1|0}while((g|0)!=(f|0))}g=c[b+236>>2]|0;if(g){if(a[b+240>>0]|0){c[6898]=(c[6898]|0)+1;md(c[g+-4>>2]|0);f=c[b+228>>2]|0}c[b+236>>2]=0}a[b+240>>0]=1;c[b+236>>2]=h;c[b+232>>2]=i}c[(c[b+236>>2]|0)+(f<<2)>>2]=d;c[b+228>>2]=f+1;if(!e)return;Ae(c[d+28>>2]|0,d);Ae(c[d+32>>2]|0,d);return}function li(a,b,c,d){a=a|0;b=b|0;c=c|0;d=+d;var e=0,f=0.0,h=0.0,i=0.0,j=0.0,k=0.0,m=0.0,n=0.0;e=l;l=l+96|0;j=+g[c>>2];k=+g[c+4>>2];m=+g[c+8>>2];Np(e+80|0,j,k,m,+cx(j,k,m,+g[b>>2],+g[b+4>>2],+g[b+8>>2]));m=+g[e+80>>2];k=+g[e+80+4>>2];j=+g[e+80+8>>2];ep(e+64|0,+g[b>>2],+g[b+4>>2],+g[b+8>>2],m,k,j);wo(e+48|0,+g[c>>2],+g[c+4>>2],+g[c+8>>2],+g[b>>2],+g[b+4>>2],+g[b+8>>2]);i=+g[e+48>>2];h=+g[e+48+4>>2];f=+g[e+48+8>>2];n=+cH(d);Np(e+16|0,+g[e+64>>2],+g[e+64+4>>2],+g[e+64+8>>2],n);cp(e+32|0,m,k,j,+g[e+16>>2],+g[e+16+4>>2],+g[e+16+8>>2]);Np(e,i,h,f,+bH(d));cp(a,+g[e+32>>2],+g[e+32+4>>2],+g[e+32+8>>2],+g[e>>2],+g[e+4>>2],+g[e+8>>2]);l=e;return}function mi(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0,e=0.0,f=0.0,h=0.0,i=0.0,j=0.0,k=0.0,l=0.0,m=0.0,n=0.0,o=0.0,p=0.0,q=0.0,r=0.0,s=0.0,t=0.0,u=0.0,v=0.0,w=0.0,x=0.0;v=+g[a+552>>2];u=+g[a+568>>2];t=+g[a+584>>2];s=+g[b>>2];r=+g[b+4>>2];q=+g[b+8>>2];o=+g[b+16>>2];n=+g[b+20>>2];m=+g[b+24>>2];k=+g[b+32>>2];i=+g[b+36>>2];f=+g[b+40>>2];j=+g[a+556>>2];h=+g[a+572>>2];e=+g[a+588>>2];x=+g[a+620>>2];w=+g[a+636>>2];d=+g[a+652>>2];p=x*+g[c>>2]+w*+g[c+4>>2]+d*+g[c+8>>2];l=x*+g[c+16>>2]+w*+g[c+20>>2]+d*+g[c+24>>2];d=x*+g[c+32>>2]+w*+g[c+36>>2]+d*+g[c+40>>2];d=+J(+((v*s+u*r+t*q)*p+(v*o+u*n+t*m)*l+(v*k+u*i+t*f)*d),+((s*j+r*h+q*e)*p+(o*j+n*h+m*e)*l+(k*j+i*h+f*e)*d));return +(d*+g[a+732>>2])}function ni(b){b=b|0;var d=0,e=0,f=0,g=0,h=0;c[b>>2]=11752;d=c[b+84>>2]|0;g=c[d+8>>2]|0;if((g|0)>0){e=0;do{f=c[(c[d+16>>2]|0)+(e*12|0)+8>>2]|0;if(f|0){Db[c[c[f>>2]>>2]&511](f);h=c[b+4>>2]|0;Ib[c[(c[h>>2]|0)+60>>2]&127](h,f)}e=e+1|0}while((e|0)!=(g|0));d=c[b+84>>2]|0}eh(d);d=c[b+84>>2]|0;Db[c[c[d>>2]>>2]&511](d);d=c[b+84>>2]|0;if(d|0){c[6898]=(c[6898]|0)+1;md(c[d+-4>>2]|0)}d=c[b+100>>2]|0;if(!d){a[b+104>>0]=1;c[b+100>>2]=0;c[b+92>>2]=0;h=b+96|0;c[h>>2]=0;Sh(b);return}if(a[b+104>>0]|0){c[6898]=(c[6898]|0)+1;md(c[d+-4>>2]|0)}c[b+100>>2]=0;a[b+104>>0]=1;c[b+100>>2]=0;c[b+92>>2]=0;h=b+96|0;c[h>>2]=0;Sh(b);return}function oi(a){a=a|0;var b=0.0,d=0,e=0,f=0,h=0;e=l;l=l+32|0;c[a+36>>2]=1566444395;c[a+40>>2]=1566444395;c[a+44>>2]=1566444395;g[a+48>>2]=0.0;c[a+52>>2]=-581039253;c[a+56>>2]=-581039253;c[a+60>>2]=-581039253;g[a+64>>2]=0.0;if((c[a+20>>2]|0)<=0){l=e;return}d=0;do{f=c[a+28>>2]|0;h=c[f+(d*80|0)+64>>2]|0;Pb[c[(c[h>>2]|0)+8>>2]&127](h,f+(d*80|0)|0,e+16|0,e);b=+g[e+16>>2];if(+g[a+36>>2]>b)g[a+36>>2]=b;b=+g[e>>2];if(+g[a+52>>2]<b)g[a+52>>2]=b;b=+g[e+16+4>>2];if(+g[a+40>>2]>b)g[a+40>>2]=b;b=+g[e+4>>2];if(+g[a+56>>2]<b)g[a+56>>2]=b;b=+g[e+16+8>>2];if(+g[a+44>>2]>b)g[a+44>>2]=b;b=+g[e+8>>2];if(+g[a+60>>2]<b)g[a+60>>2]=b;d=d+1|0}while((d|0)<(c[a+20>>2]|0));l=e;return}function pi(b,d){b=b|0;d=d|0;var e=0,f=0;a:do if((d|0)!=0&(b&3|0)!=0){e=d;while(1){if(!(a[b>>0]|0))break a;b=b+1|0;d=e+-1|0;if((d|0)!=0&(b&3|0)!=0)e=d;else{e=b;b=d;d=(d|0)!=0;f=5;break}}}else{e=b;b=d;d=(d|0)!=0;f=5}while(0);b:do if((f|0)==5){do if(d){if(!(a[e>>0]|0))if(!b)break;else{b=e;break b}c:do if(b>>>0>3)while(1){d=c[e>>2]|0;if((d&-2139062144^-2139062144)&d+-16843009|0)break c;e=e+4|0;b=b+-4|0;if(b>>>0<=3){f=11;break}}else f=11;while(0);if((f|0)==11)if(!b)break;while(1){if(!(a[e>>0]|0)){b=e;break b}b=b+-1|0;if(!b)break;else e=e+1|0}}while(0);b=0}while(0);return b|0}function qi(d,e){d=d|0;e=e|0;var f=0,g=0,h=0,i=0;i=l;l=l+64|0;h=c[d>>2]|0;g=d+(c[h+-8>>2]|0)|0;h=c[h+-4>>2]|0;c[i>>2]=e;c[i+4>>2]=d;c[i+8>>2]=5072;d=lC(h,e)|0;e=i+12|0;f=e+40|0;do{c[e>>2]=0;e=e+4|0}while((e|0)<(f|0));b[i+12+40>>1]=0;a[i+12+42>>0]=0;a:do if(d){c[i+48>>2]=1;Ub[c[(c[h>>2]|0)+20>>2]&7](h,i,g,g,1,0);d=(c[i+24>>2]|0)==1?g:0}else{Tb[c[(c[h>>2]|0)+24>>2]&31](h,i,g,1,0);switch(c[i+36>>2]|0){case 0:{d=((c[i+40>>2]|0)==1?(c[i+28>>2]|0)==1:0)&(c[i+32>>2]|0)==1?c[i+20>>2]|0:0;break a}case 1:break;default:{d=0;break a}}if((c[i+24>>2]|0)!=1?!(((c[i+40>>2]|0)==0?(c[i+28>>2]|0)==1:0)&(c[i+32>>2]|0)==1):0){d=0;break}d=c[i+16>>2]|0}while(0);l=i;return d|0}function ri(){var b=0;b=zr()|0;c[b>>2]=6168;a[b+20>>0]=1;c[b+16>>2]=0;c[b+8>>2]=0;c[b+12>>2]=0;a[b+40>>0]=1;c[b+36>>2]=0;c[b+28>>2]=0;c[b+32>>2]=0;a[b+60>>0]=1;c[b+56>>2]=0;c[b+48>>2]=0;c[b+52>>2]=0;a[b+80>>0]=1;c[b+76>>2]=0;c[b+68>>2]=0;c[b+72>>2]=0;a[b+100>>0]=1;c[b+96>>2]=0;c[b+88>>2]=0;c[b+92>>2]=0;a[b+120>>0]=1;c[b+116>>2]=0;c[b+108>>2]=0;c[b+112>>2]=0;a[b+140>>0]=1;c[b+136>>2]=0;c[b+128>>2]=0;c[b+132>>2]=0;a[b+160>>0]=1;c[b+156>>2]=0;c[b+148>>2]=0;c[b+152>>2]=0;a[b+180>>0]=1;c[b+176>>2]=0;c[b+168>>2]=0;c[b+172>>2]=0;a[b+208>>0]=1;c[b+204>>2]=0;c[b+196>>2]=0;c[b+200>>2]=0;c[b+232>>2]=0;c[b+224>>2]=0;c[b+212>>2]=16;c[b+216>>2]=17;c[b+220>>2]=18;return b|0}function si(a,b,d){a=a|0;b=+b;d=d|0;var e=0,f=0.0,h=0.0,i=0.0,j=0;e=l;l=l+96|0;i=+ib[c[(c[a>>2]|0)+48>>2]&15](a);c[e+32>>2]=1065353216;c[e+32+4>>2]=0;c[e+32+4+4>>2]=0;c[e+32+4+8>>2]=0;c[e+32+4+12>>2]=0;c[e+32+20>>2]=1065353216;c[e+32+24>>2]=0;c[e+32+24+4>>2]=0;c[e+32+24+8>>2]=0;c[e+32+24+12>>2]=0;c[e+32+40>>2]=1065353216;j=e+32+44|0;c[j>>2]=0;c[j+4>>2]=0;c[j+8>>2]=0;c[j+12>>2]=0;c[j+16>>2]=0;Pb[c[(c[a>>2]|0)+8>>2]&127](a,e+32|0,e+16|0,e);h=(i+(+g[e>>2]-+g[e+16>>2])*.5)*2.0;f=(i+(+g[e+4>>2]-+g[e+16+4>>2])*.5)*2.0;i=(i+(+g[e+8>>2]-+g[e+16+8>>2])*.5)*2.0;g[d>>2]=b*.0833333283662796*(f*f+i*i);g[d+4>>2]=b*.0833333283662796*(h*h+i*i);g[d+8>>2]=b*.0833333283662796*(h*h+f*f);g[d+12>>2]=0.0;l=e;return}function ti(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=c[b+12>>2]|0;if(!e)return;if(!(a[b+8>>0]|0))return;f=c[d+4>>2]|0;if((f|0)==(c[d+8>>2]|0)?(h=(f|0)==0?1:f<<1,(f|0)<(h|0)):0){if(!h)e=0;else{c[6897]=(c[6897]|0)+1;e=ec((h<<2|3)+16|0)|0;if(!e)e=0;else{c[(e+4+15&-16)+-4>>2]=e;e=e+4+15&-16}f=c[d+4>>2]|0}if((f|0)>0){g=0;do{c[e+(g<<2)>>2]=c[(c[d+12>>2]|0)+(g<<2)>>2];g=g+1|0}while((g|0)!=(f|0))}g=c[d+12>>2]|0;if(g){if(a[d+16>>0]|0){c[6898]=(c[6898]|0)+1;md(c[g+-4>>2]|0);f=c[d+4>>2]|0}c[d+12>>2]=0}a[d+16>>0]=1;c[d+12>>2]=e;c[d+8>>2]=h;e=c[b+12>>2]|0}c[(c[d+12>>2]|0)+(f<<2)>>2]=e;c[d+4>>2]=f+1;return}function ui(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=c[b+56>>2]|0;if(!e)return;if(!(a[b+52>>0]|0))return;f=c[d+4>>2]|0;if((f|0)==(c[d+8>>2]|0)?(h=(f|0)==0?1:f<<1,(f|0)<(h|0)):0){if(!h)e=0;else{c[6897]=(c[6897]|0)+1;e=ec((h<<2|3)+16|0)|0;if(!e)e=0;else{c[(e+4+15&-16)+-4>>2]=e;e=e+4+15&-16}f=c[d+4>>2]|0}if((f|0)>0){g=0;do{c[e+(g<<2)>>2]=c[(c[d+12>>2]|0)+(g<<2)>>2];g=g+1|0}while((g|0)!=(f|0))}g=c[d+12>>2]|0;if(g){if(a[d+16>>0]|0){c[6898]=(c[6898]|0)+1;md(c[g+-4>>2]|0);f=c[d+4>>2]|0}c[d+12>>2]=0}a[d+16>>0]=1;c[d+12>>2]=e;c[d+8>>2]=h;e=c[b+56>>2]|0}c[(c[d+12>>2]|0)+(f<<2)>>2]=e;c[d+4>>2]=f+1;return}function vi(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0.0,h=0.0,i=0.0,j=0.0,k=0.0;k=+g[a+24>>2];i=+g[a+28>>2];j=+g[a+32>>2];f=k*+g[b>>2]+i*+g[b+4>>2]+j*+g[b+8>>2];h=+g[a+20>>2];if(f>h){g[a+20>>2]=f;c[a+4>>2]=c[b>>2];c[a+4+4>>2]=c[b+4>>2];c[a+4+8>>2]=c[b+8>>2];c[a+4+12>>2]=c[b+12>>2]}else f=h;h=k*+g[b+16>>2]+i*+g[b+20>>2]+j*+g[b+24>>2];if(h>f){g[a+20>>2]=h;c[a+4>>2]=c[b+16>>2];c[a+4+4>>2]=c[b+16+4>>2];c[a+4+8>>2]=c[b+16+8>>2];c[a+4+12>>2]=c[b+16+12>>2]}else h=f;f=k*+g[b+32>>2]+i*+g[b+36>>2]+j*+g[b+40>>2];if(!(f>h))return;g[a+20>>2]=f;c[a+4>>2]=c[b+32>>2];c[a+4+4>>2]=c[b+32+4>>2];c[a+4+8>>2]=c[b+32+8>>2];c[a+4+12>>2]=c[b+32+12>>2];return}function wi(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;a[b+16>>0]=1;c[b+12>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;h=c[d+4>>2]|0;if((h|0)<=0){c[b+4>>2]=h;return}c[6897]=(c[6897]|0)+1;e=ec((h<<2|3)+16|0)|0;if(!e)g=0;else{c[(e+4+15&-16)+-4>>2]=e;g=e+4+15&-16}f=c[b+4>>2]|0;if((f|0)>0){e=0;do{c[g+(e<<2)>>2]=c[(c[b+12>>2]|0)+(e<<2)>>2];e=e+1|0}while((e|0)!=(f|0))}e=c[b+12>>2]|0;if(e|0){if(a[b+16>>0]|0){c[6898]=(c[6898]|0)+1;md(c[e+-4>>2]|0)}c[b+12>>2]=0}a[b+16>>0]=1;c[b+12>>2]=g;c[b+8>>2]=h;e=0;f=g;do{c[f+(e<<2)>>2]=0;e=e+1|0;f=c[b+12>>2]|0}while((e|0)!=(h|0));c[b+4>>2]=h;e=0;do{c[f+(e<<2)>>2]=c[(c[d+12>>2]|0)+(e<<2)>>2];e=e+1|0}while((e|0)!=(h|0));return}function xi(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0.0,h=0.0,i=0.0,j=0.0,k=0.0;k=+g[a+88>>2];i=+g[a+92>>2];j=+g[a+96>>2];f=k*+g[b>>2]+i*+g[b+4>>2]+j*+g[b+8>>2];h=+g[a+84>>2];if(f>h){g[a+84>>2]=f;c[a+4>>2]=c[b>>2];c[a+4+4>>2]=c[b+4>>2];c[a+4+8>>2]=c[b+8>>2];c[a+4+12>>2]=c[b+12>>2]}else f=h;h=k*+g[b+16>>2]+i*+g[b+20>>2]+j*+g[b+24>>2];if(h>f){g[a+84>>2]=h;c[a+4>>2]=c[b+16>>2];c[a+4+4>>2]=c[b+16+4>>2];c[a+4+8>>2]=c[b+16+8>>2];c[a+4+12>>2]=c[b+16+12>>2]}else h=f;f=k*+g[b+32>>2]+i*+g[b+36>>2]+j*+g[b+40>>2];if(!(f>h))return;g[a+84>>2]=f;c[a+4>>2]=c[b+32>>2];c[a+4+4>>2]=c[b+32+4>>2];c[a+4+8>>2]=c[b+32+8>>2];c[a+4+12>>2]=c[b+32+12>>2];return}function yi(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0.0,h=0.0,i=0.0,j=0.0,k=0.0,l=0.0,m=0.0,n=0.0,o=0.0,p=0.0,q=0.0,r=0.0,s=0.0,t=0.0,u=0.0;h=+ib[c[(c[a>>2]|0)+48>>2]&15](a);l=h+ +g[a+32>>2];j=h+ +g[a+36>>2];h=h+ +g[a+40>>2];u=+A(+(+g[b>>2]));t=+A(+(+g[b+4>>2]));s=+A(+(+g[b+8>>2]));q=+A(+(+g[b+16>>2]));p=+A(+(+g[b+20>>2]));o=+A(+(+g[b+24>>2]));k=+A(+(+g[b+32>>2]));i=+A(+(+g[b+36>>2]));f=+A(+(+g[b+40>>2]));r=+g[b+48>>2];n=+g[b+52>>2];m=+g[b+56>>2];g[d>>2]=r-(l*u+j*t+h*s);g[d+4>>2]=n-(l*q+j*p+h*o);g[d+8>>2]=m-(l*k+j*i+h*f);g[d+12>>2]=0.0;g[e>>2]=l*u+j*t+h*s+r;g[e+4>>2]=l*q+j*p+h*o+n;g[e+8>>2]=m+(l*k+j*i+h*f);g[e+12>>2]=0.0;return}function zi(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;f=l;l=l+96|0;g=c[b+192>>2]|0;c[f+64>>2]=0;c[f+64+4>>2]=g;c[f+64+8>>2]=b;c[f+64+12>>2]=b+4;c[f+64+16>>2]=-1;c[f+64+20>>2]=-1;b=c[d+192>>2]|0;c[f+40>>2]=0;c[f+40+4>>2]=b;c[f+40+8>>2]=d;c[f+40+12>>2]=d+4;c[f+40+16>>2]=-1;c[f+40+20>>2]=-1;b=c[a+24>>2]|0;b=yb[c[(c[b>>2]|0)+8>>2]&1](b,f+64|0,f+40|0,0,2)|0;if(!b){l=f;return}c[f+4>>2]=0;c[f+8>>2]=f+64;c[f+12>>2]=f+40;c[f>>2]=7696;c[f+36>>2]=e;c[f+32>>2]=c[e+12>>2];Tb[c[(c[b>>2]|0)+8>>2]&31](b,f+64|0,f+40|0,a+28|0,f);Db[c[c[b>>2]>>2]&511](b);g=c[a+24>>2]|0;Ib[c[(c[g>>2]|0)+60>>2]&127](g,b);l=f;return}function Ai(b){b=b|0;var d=0;c[b>>2]=6732;if(c[b+108>>2]|0){d=c[b+112>>2]|0;Db[c[c[d>>2]>>2]&511](d);d=c[b+112>>2]|0;if(d|0){c[6898]=(c[6898]|0)+1;md(c[d+-4>>2]|0)}d=c[b+108>>2]|0;Db[c[c[d>>2]>>2]&511](d);d=c[b+108>>2]|0;if(d|0){c[6898]=(c[6898]|0)+1;md(c[d+-4>>2]|0)}}d=c[b+88>>2]|0;if(d|0){c[6898]=(c[6898]|0)+1;md(c[d+-4>>2]|0)}d=c[b+84>>2]|0;if(d|0){c[6898]=(c[6898]|0)+1;md(c[d+-4>>2]|0)}d=c[b+80>>2]|0;if(d|0){c[6898]=(c[6898]|0)+1;md(c[d+-4>>2]|0)}d=c[b+60>>2]|0;if(d|0){c[6898]=(c[6898]|0)+1;md(c[d+-4>>2]|0)}if(!(a[b+100>>0]|0))return;d=c[b+92>>2]|0;Db[c[c[d>>2]>>2]&511](d);d=c[b+92>>2]|0;if(!d)return;c[6898]=(c[6898]|0)+1;md(c[d+-4>>2]|0);return}function Bi(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=c[b+72>>2]|0;if(!e)return;f=c[d+4>>2]|0;if((f|0)==(c[d+8>>2]|0)?(h=(f|0)==0?1:f<<1,(f|0)<(h|0)):0){if(!h)e=0;else{c[6897]=(c[6897]|0)+1;e=ec((h<<2|3)+16|0)|0;if(!e)e=0;else{c[(e+4+15&-16)+-4>>2]=e;e=e+4+15&-16}f=c[d+4>>2]|0}if((f|0)>0){g=0;do{c[e+(g<<2)>>2]=c[(c[d+12>>2]|0)+(g<<2)>>2];g=g+1|0}while((g|0)!=(f|0))}g=c[d+12>>2]|0;if(g){if(a[d+16>>0]|0){c[6898]=(c[6898]|0)+1;md(c[g+-4>>2]|0);f=c[d+4>>2]|0}c[d+12>>2]=0}a[d+16>>0]=1;c[d+12>>2]=e;c[d+8>>2]=h;e=c[b+72>>2]|0}c[(c[d+12>>2]|0)+(f<<2)>>2]=e;c[d+4>>2]=f+1;return}function Ci(b){b=b|0;var d=0,e=0,f=0,h=0.0;e=l;l=l+96|0;a[b+92>>0]=1;if((a[25832]|0)==0?By(25832)|0:0){c[5580]=1065353216;c[5581]=0;c[5582]=0;c[5583]=0;c[5584]=0;c[5585]=1065353216;c[5586]=0;c[5587]=0;c[5588]=0;c[5589]=0;c[5590]=1065353216;g[5591]=0.0;c[5592]=-1082130432;c[5593]=0;c[5594]=0;c[5595]=0;c[5596]=0;c[5597]=-1082130432;c[5598]=0;c[5599]=0;c[5600]=0;c[5601]=0;c[5602]=-1082130432;g[5603]=0.0}d=e;f=d+96|0;do{c[d>>2]=0;d=d+4|0}while((d|0)<(f|0));Pb[c[(c[b>>2]|0)+76>>2]&127](b,22320,e,6);h=+g[b+48>>2];g[b+76>>2]=+g[e>>2]+h;g[b+60>>2]=+g[e+48>>2]-h;g[b+80>>2]=+g[e+20>>2]+h;g[b+64>>2]=+g[e+68>>2]-h;g[b+84>>2]=+g[e+40>>2]+h;g[b+68>>2]=+g[e+88>>2]-h;l=e;return}function Di(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=c[b+12>>2]|0;if(!e)return;f=c[d+4>>2]|0;if((f|0)==(c[d+8>>2]|0)?(h=(f|0)==0?1:f<<1,(f|0)<(h|0)):0){if(!h)e=0;else{c[6897]=(c[6897]|0)+1;e=ec((h<<2|3)+16|0)|0;if(!e)e=0;else{c[(e+4+15&-16)+-4>>2]=e;e=e+4+15&-16}f=c[d+4>>2]|0}if((f|0)>0){g=0;do{c[e+(g<<2)>>2]=c[(c[d+12>>2]|0)+(g<<2)>>2];g=g+1|0}while((g|0)!=(f|0))}g=c[d+12>>2]|0;if(g){if(a[d+16>>0]|0){c[6898]=(c[6898]|0)+1;md(c[g+-4>>2]|0);f=c[d+4>>2]|0}c[d+12>>2]=0}a[d+16>>0]=1;c[d+12>>2]=e;c[d+8>>2]=h;e=c[b+12>>2]|0}c[(c[d+12>>2]|0)+(f<<2)>>2]=e;c[d+4>>2]=f+1;return}function Ei(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;while(1){j=c[a+12>>2]|0;l=c[j+(((b+d|0)/2|0)<<3)>>2]|0;f=d;e=b;while(1){while(1){i=j+(e<<3)|0;k=e+1|0;if((c[i>>2]|0)<(l|0))e=k;else break}while(1){g=j+(f<<3)|0;h=f+-1|0;if((c[g>>2]|0)>(l|0))f=h;else break}if((e|0)<=(f|0)){j=c[i>>2]|0;e=c[i+4>>2]|0;m=c[g+4>>2]|0;c[i>>2]=c[g>>2];c[i+4>>2]=m;f=(c[a+12>>2]|0)+(f<<3)|0;c[f>>2]=j;c[f+4>>2]=e;f=h;e=k}if((e|0)>(f|0))break;j=c[a+12>>2]|0}if((f|0)>(b|0))Ei(a,b,f);if((e|0)<(d|0))b=e;else break}return}function Fi(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0.0,h=0.0,i=0.0,j=0.0,k=0.0,m=0.0,n=0;e=l;l=l+96|0;c[e+32>>2]=1065353216;c[e+32+4>>2]=0;c[e+32+4+4>>2]=0;c[e+32+4+8>>2]=0;c[e+32+4+12>>2]=0;c[e+32+20>>2]=1065353216;c[e+32+24>>2]=0;c[e+32+24+4>>2]=0;c[e+32+24+8>>2]=0;c[e+32+24+12>>2]=0;c[e+32+40>>2]=1065353216;n=e+32+44|0;c[n>>2]=0;c[n+4>>2]=0;c[n+8>>2]=0;c[n+12>>2]=0;c[n+16>>2]=0;Pb[c[(c[a>>2]|0)+8>>2]&127](a,e+32|0,e+16|0,e);m=+g[e>>2];k=+g[e+16>>2];j=+g[e+4>>2];i=+g[e+16+4>>2];h=+g[e+8>>2];f=+g[e+16+8>>2];g[d>>2]=+B(+((m-k)*(m-k)+(j-i)*(j-i)+(h-f)*(h-f)))*.5;g[b>>2]=(m+k)*.5;g[b+4>>2]=(j+i)*.5;g[b+8>>2]=(h+f)*.5;g[b+12>>2]=0.0;l=e;return}function Gi(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,h=0.0,i=0;f=l;l=l+16|0;c[a+4>>2]=c[b+24>>2];e=c[b>>2]|0;c[a+8>>2]=e;if(d){c[a+56>>2]=c[b+8>>2];c[a+56+4>>2]=c[b+8+4>>2];c[a+56+8>>2]=c[b+8+8>>2];c[a+56+12>>2]=c[b+8+12>>2];i=a+72|0;d=a+24|0;e=a+40|0;h=+g[b+24>>2];bp(i,d,e,h);h=+g[b+24>>2];l=f;return +h}else{d=kH(UG(e)|0)|0;jl(f,d,+g[b+8>>2],+g[b+12>>2],+g[b+16>>2]);c[a+56>>2]=c[f>>2];c[a+56+4>>2]=c[f+4>>2];c[a+56+8>>2]=c[f+8>>2];c[a+56+12>>2]=c[f+12>>2];d=a+72|0;e=a+24|0;i=a+40|0;h=+g[b+24>>2];bp(d,e,i,h);h=+g[b+24>>2];l=f;return +h}return 0.0}function Hi(a,d,f,h){a=a|0;d=d|0;f=f|0;h=h|0;var i=0,j=0,k=0,l=0,m=0;i=c[a+108>>2]|0;if(i|0){Pb[c[(c[i>>2]|0)+28>>2]&127](i,d,f,h);return}i=b[a+56>>1]|0;if(!(i<<16>>16))return;m=1;k=1;do{j=c[a+68>>2]|0;if(b[j+(k<<2)>>1]&1){l=c[a+60>>2]|0;k=e[j+(k<<2)+2>>1]|0;if(!(+g[d>>2]>+g[l+(k<<6)+32>>2])?!(+g[f>>2]<+g[l+(k<<6)+16>>2]):0)j=1;else j=0;if(!(!(+g[d+8>>2]>+g[l+(k<<6)+40>>2])?!(+g[f+8>>2]<+g[l+(k<<6)+24>>2]):0))j=0;if(!(+g[d+4>>2]>+g[l+(k<<6)+36>>2])?!(+g[f+4>>2]<+g[l+(k<<6)+20>>2]|j^1):0){ub[c[(c[h>>2]|0)+8>>2]&31](h,l+(k<<6)|0)|0;i=b[a+56>>1]|0}}m=m+1<<16>>16;k=m&65535}while(((i&65535)<<1|1)>>>0>k>>>0);return}function Ii(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0.0,h=0.0,i=0.0,j=0.0,k=0;h=+g[b>>2];i=+g[b+16>>2];j=h<i?h:i;f=+g[b+32>>2];if((j<f?j:f)>+g[a+24>>2])return;k=h>i?b:b+16|0;if(+g[(+g[k>>2]>f?k:b+32|0)>>2]<+g[a+8>>2])return;f=+g[b+8>>2];h=+g[b+24>>2];j=f<h?f:h;i=+g[b+40>>2];if((j<i?j:i)>+g[a+32>>2])return;k=f>h?b+8|0:b+24|0;if(+g[(+g[k>>2]>i?k:b+40|0)>>2]<+g[a+16>>2])return;f=+g[b+4>>2];h=+g[b+20>>2];j=f<h?f:h;i=+g[b+36>>2];if((j<i?j:i)>+g[a+28>>2])return;k=f>h?b+4|0:b+20|0;if(+g[(+g[k>>2]>i?k:b+36|0)>>2]<+g[a+12>>2])return;k=c[a+4>>2]|0;Pb[c[(c[k>>2]|0)+8>>2]&127](k,b,d,e);return}function Ji(b,d,e,f){b=b|0;d=d|0;e=e|0;f=+f;var h=0,i=0.0,j=0.0,k=0.0;h=l;l=l+16|0;g[b+32>>2]=f;c[b+8>>2]=c[d>>2];c[b+8+4>>2]=c[d+4>>2];c[b+8+8>>2]=c[d+8>>2];c[b+8+12>>2]=c[d+12>>2];i=+g[b+28>>2];k=+g[e+4>>2]-i*+g[d+4>>2];j=+g[e+8>>2]-i*+g[d+8>>2];g[h>>2]=+g[e>>2]-+g[d>>2]*i;g[h+4>>2]=k;g[h+8>>2]=j;g[h+12>>2]=0.0;f=i+ +g[b+24>>2]+f;g[b+32>>2]=f;if(!(f<0.0)){b=b+4|0;b=c[b>>2]|0;e=c[b>>2]|0;e=e+16|0;e=c[e>>2]|0;Nb[e&15](b,d,h,f);l=h;return}a[b+36>>0]=1;b=b+4|0;b=c[b>>2]|0;e=c[b>>2]|0;e=e+16|0;e=c[e>>2]|0;Nb[e&15](b,d,h,f);l=h;return}function Ki(a,b,d,e,f,h,i,j,k){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;i=i|0;j=j|0;k=k|0;var l=0.0,m=0.0;if(!(c[j+52>>2]|0))return;if((c[j+20>>2]|0)<=0)return;e=0;while(1){d=c[a+28>>2]|0;if((d|0)>0){l=0.0;b=0;do{k=c[(c[a+116>>2]|0)+(b<<2)>>2]|0;i=c[a+36>>2]|0;h=c[a+16>>2]|0;m=+lb[c[a+220>>2]&31](h+((c[i+(k*152|0)+144>>2]|0)*244|0)|0,h+((c[i+(k*152|0)+148>>2]|0)*244|0)|0,i+(k*152|0)|0);l=l+m*m;b=b+1|0}while((b|0)!=(d|0))}else l=0.0;if(l<=+g[j+92>>2]){b=9;break}k=c[j+20>>2]|0;i=e;e=e+1|0;if(!((i|0)<(k+-1|0)&(e|0)<(k|0))){b=9;break}}if((b|0)==9)return}function Li(b,d){b=b|0;d=d|0;c[b+204>>2]=c[d+48>>2];c[b+208>>2]=c[d+52>>2];c[b+212>>2]=c[d+56>>2];c[b+216>>2]=c[d+60>>2];c[b+220>>2]=c[d+64>>2];c[b+224>>2]=c[d+68>>2];c[b+156>>2]=c[d>>2];c[b+156+4>>2]=c[d+4>>2];c[b+156+8>>2]=c[d+8>>2];c[b+156+12>>2]=c[d+12>>2];c[b+172>>2]=c[d+16>>2];c[b+172+4>>2]=c[d+16+4>>2];c[b+172+8>>2]=c[d+16+8>>2];c[b+172+12>>2]=c[d+16+12>>2];c[b+188>>2]=c[d+32>>2];c[b+188+4>>2]=c[d+32+4>>2];c[b+188+8>>2]=c[d+32+8>>2];c[b+188+12>>2]=c[d+32+12>>2];c[b+228>>2]=c[d+72>>2];g[b+232>>2]=0.0;g[b+252>>2]=0.0;g[b+236>>2]=0.0;g[b+240>>2]=0.0;g[b+256>>2]=0.0;g[b+244>>2]=.10000000149011612;a[b+260>>0]=a[d+80>>0]&1;c[b+248>>2]=c[d+76>>2];return}function Mi(a,b){a=a|0;b=+b;var d=0,e=0;d=c[a+84>>2]|0;if(d|0)Eb[d&31](a,b);Eb[c[(c[a>>2]|0)+140>>2]&31](a,b);g[a+28>>2]=b;c[a+32>>2]=0;c[a+48>>2]=sb[c[(c[a>>2]|0)+20>>2]&127](a)|0;Eb[c[(c[a>>2]|0)+164>>2]&31](a,b);Db[c[(c[a>>2]|0)+44>>2]&511](a);Db[c[(c[a>>2]|0)+148>>2]&511](a);g[a+104>>2]=b;Ib[c[(c[a>>2]|0)+152>>2]&127](a,a+92|0);Eb[c[(c[a>>2]|0)+144>>2]&31](a,b);if((c[a+296>>2]|0)>0){d=0;do{e=c[(c[a+304>>2]|0)+(d<<2)>>2]|0;Jb[c[(c[e>>2]|0)+8>>2]&7](e,a,b);d=d+1|0}while((d|0)<(c[a+296>>2]|0))}Eb[c[(c[a>>2]|0)+156>>2]&31](a,b);d=c[a+80>>2]|0;if(!d)return;Eb[d&31](a,b);return}function Ni(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,h=0.0,i=0.0;f=l;l=l+16|0;c[b+4>>2]=d;c[b>>2]=6284;c[b+8>>2]=-1;c[b+12>>2]=-1;g[b+16>>2]=3402823466385288598117041.0e14;a[b+20>>0]=1;a[b+21>>0]=0;c[b+24>>2]=-1;c[b+28>>2]=e;if((a[25816]|0)==0?By(25816)|0:0){c[f>>2]=0;c[f+4>>2]=0;c[f+8>>2]=0;c[f+12>>2]=0;Ce(26164,0.0,0,0,f)}c[6592]=c[6592]|1;g[6642]=0.0;h=+g[6652]*0.0;i=+g[6653]*0.0;g[6647]=+g[6651]*0.0;g[6648]=h;g[6649]=i;g[6650]=0.0;c[6655]=0;c[6656]=0;c[6657]=0;c[6658]=0;i=+g[6644]*0.0;h=+g[6645]*0.0;g[6696]=+g[6643]*0.0;g[6697]=i;g[6698]=h;g[6699]=0.0;c[b+32>>2]=26164;g[b+36>>2]=0.0;g[b+40>>2]=.05000000074505806;c[b+44>>2]=0;l=f;return}function Oi(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0;if((c[d+60>>2]|0)==2){g=c[d+48>>2]|0;wg(b+44|0,g)|0;f=c[b+48>>2]|0;if(f|0){c[6898]=(c[6898]|0)+1;md(c[f+-4>>2]|0)}c[b+48>>2]=g;c[b+56>>2]=(c[b+56>>2]|0)+-1}else{f=c[d+48>>2]|0;wg(b+4|0,f)|0;g=c[b+8>>2]|0;if(g|0){c[6898]=(c[6898]|0)+1;md(c[g+-4>>2]|0)}c[b+8>>2]=f;c[b+16>>2]=(c[b+16>>2]|0)+-1}f=c[d+52>>2]|0;if(!f)f=b+84+(c[d+60>>2]<<2)|0;else f=f+56|0;c[f>>2]=c[d+56>>2];f=c[d+56>>2]|0;if(f|0)c[f+52>>2]=c[d+52>>2];g=c[b+96>>2]|0;Mb[c[(c[g>>2]|0)+16>>2]&127](g,d,e);c[6898]=(c[6898]|0)+1;md(c[d+-4>>2]|0);a[b+154>>0]=1;return}function Pi(a){a=a|0;var b=0.0,c=0.0,d=0.0,e=0.0,f=0.0,h=0.0,i=0.0,j=0.0,k=0.0,l=0.0,m=0.0,n=0.0;n=+g[a+4>>2];h=+g[a+456>>2];m=+g[a+8>>2];e=+g[a+460>>2];l=+g[a+12>>2];c=+g[a+464>>2];k=+g[a+20>>2];j=+g[a+24>>2];i=+g[a+28>>2];f=+g[a+36>>2];d=+g[a+40>>2];b=+g[a+44>>2];g[a+324>>2]=n*h*n+m*e*m+l*c*l;g[a+328>>2]=n*h*k+m*e*j+l*c*i;g[a+332>>2]=n*h*f+m*e*d+l*c*b;g[a+336>>2]=0.0;g[a+340>>2]=h*k*n+e*j*m+c*i*l;g[a+344>>2]=h*k*k+e*j*j+c*i*i;g[a+348>>2]=h*k*f+e*j*d+c*i*b;g[a+352>>2]=0.0;g[a+356>>2]=h*f*n+e*d*m+c*b*l;g[a+360>>2]=h*f*k+e*d*j+c*b*i;g[a+364>>2]=h*f*f+e*d*d+c*b*b;g[a+368>>2]=0.0;return}function Qi(b){b=b|0;var d=0,e=0,f=0,g=0,h=0;c[b>>2]=7288;e=c[b+8>>2]|0;d=c[b+16>>2]|0;if((e|0)>0){h=0;do{f=(c[d+(h<<2)>>2]|0)+188|0;g=c[f>>2]|0;if(g){e=c[b+68>>2]|0;e=sb[c[(c[e>>2]|0)+36>>2]&127](e)|0;Mb[c[(c[e>>2]|0)+40>>2]&127](e,g,c[b+24>>2]|0);e=c[b+68>>2]|0;Mb[c[(c[e>>2]|0)+12>>2]&127](e,g,c[b+24>>2]|0);c[f>>2]=0;e=c[b+8>>2]|0;d=c[b+16>>2]|0}h=h+1|0}while((h|0)<(e|0))}if(!d){a[b+20>>0]=1;c[b+16>>2]=0;c[b+8>>2]=0;b=b+12|0;c[b>>2]=0;return}if(a[b+20>>0]|0){c[6898]=(c[6898]|0)+1;md(c[d+-4>>2]|0)}c[b+16>>2]=0;a[b+20>>0]=1;c[b+16>>2]=0;c[b+8>>2]=0;b=b+12|0;c[b>>2]=0;return}function Ri(a,b){a=a|0;b=b|0;var d=0,e=0.0,f=0,h=0,i=0.0,j=0.0;c[a+264>>2]=c[b>>2];c[a+264+4>>2]=c[b+4>>2];c[a+264+8>>2]=c[b+8>>2];c[a+264+12>>2]=c[b+12>>2];d=c[a+248>>2]|0;if((d|0)<=0)return;h=0;do{f=c[(c[a+256>>2]|0)+(h<<2)>>2]|0;switch(c[f+220>>2]|0){case 2:case 5:break;default:if(!(c[f+564>>2]&1)){e=+g[f+404>>2];if(e!=0.0){j=1.0/e*+g[b+4>>2];i=1.0/e*+g[b+8>>2];g[f+424>>2]=1.0/e*+g[b>>2];g[f+428>>2]=j;g[f+432>>2]=i;g[f+436>>2]=0.0}c[f+440>>2]=c[b>>2];c[f+440+4>>2]=c[b+4>>2];c[f+440+8>>2]=c[b+8>>2];c[f+440+12>>2]=c[b+12>>2];d=c[a+248>>2]|0}}h=h+1|0}while((h|0)<(d|0));return}function Si(b,d){b=b|0;d=d|0;var e=0.0,f=0.0,h=0;if(a[b+738>>0]|0){c[d>>2]=0;c[d+4>>2]=0;return}c[d>>2]=5;c[d+4>>2]=1;e=+mi(b,(c[b+28>>2]|0)+4|0,(c[b+32>>2]|0)+4|0);g[b+728>>2]=e;g[b+708>>2]=0.0;g[b+712>>2]=0.0;a[b+716>>0]=0;f=+g[b+692>>2];do if(f>=0.0){e=(e-+g[b+688>>2])%6.2831854820251465;if(!(e<-3.1415927410125732)){if(e>3.1415927410125732)e=e+-6.2831854820251465}else e=e+6.2831854820251465;if(e<-f){a[b+716>>0]=1;g[b+708>>2]=-(f+e);g[b+712>>2]=1.0;break}if(e>f){a[b+716>>0]=1;g[b+708>>2]=f-e;g[b+712>>2]=-1.0}else h=12}else h=12;while(0);if((h|0)==12?(a[b+737>>0]|0)==0:0)return;c[d>>2]=6;c[d+4>>2]=0;return}function Ti(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;e=c[a+12>>2]|0;if(!e){e=c[a+4>>2]|0;e=wb[c[(c[e>>2]|0)+12>>2]&63](e,c[b+8>>2]|0,c[d+8>>2]|0)|0;c[a+12>>2]=e;f=a+4|0}else f=a+4|0;c[(c[a+16>>2]|0)+4>>2]=e;g=c[f>>2]|0;e=yb[c[(c[g>>2]|0)+8>>2]&1](g,b,d,e,1)|0;g=c[a+16>>2]|0;Mb[c[(c[g>>2]|0)+8>>2]&127](g,c[a+28>>2]|0,c[a+24>>2]|0);g=c[a+16>>2]|0;Mb[c[(c[g>>2]|0)+12>>2]&127](g,c[a+36>>2]|0,c[a+32>>2]|0);Tb[c[(c[e>>2]|0)+8>>2]&31](e,b,d,c[a+20>>2]|0,c[a+16>>2]|0);Db[c[c[e>>2]>>2]&511](e);d=c[f>>2]|0;Ib[c[(c[d>>2]|0)+60>>2]&127](d,e);return}function Ui(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;k=c[b+8>>2]|0;if((k|0)<=0)return;j=c[b+16>>2]|0;i=0;b=0;do{h=c[j+(i<<2)>>2]|0;if(!(c[h+204>>2]&3)){g=c[a+16>>2]|0;d=g+(b<<3)|0;e=c[d>>2]|0;if((e|0)!=(b|0)){c[d>>2]=c[g+(e<<3)>>2];d=c[g+(e<<3)>>2]|0;e=c[g+(d<<3)>>2]|0;if((d|0)!=(e|0)){f=g+(d<<3)|0;do{d=g+(e<<3)|0;c[f>>2]=c[d>>2];d=c[d>>2]|0;f=g+(d<<3)|0;e=c[f>>2]|0}while((d|0)!=(e|0))}}else d=b;c[h+208>>2]=d;c[g+(b<<3)+4>>2]=i;c[h+212>>2]=-1;b=b+1|0}else{c[h+208>>2]=-1;c[h+212>>2]=-2}i=i+1|0}while((i|0)!=(k|0));return}function Vi(a,b,d){a=a|0;b=+b;d=d|0;var e=0,f=0,h=0.0,i=0.0,k=0.0;e=c[a+204>>2]|0;if(b==0.0){c[a+204>>2]=e|1;h=0.0}else{c[a+204>>2]=e&-2;h=1.0/b}g[a+404>>2]=h;k=+g[a+444>>2]*b;i=+g[a+448>>2]*b;g[a+424>>2]=+g[a+440>>2]*b;g[a+428>>2]=k;g[a+432>>2]=i;g[a+436>>2]=0.0;b=+g[d>>2];f=b!=0.0?(g[j>>2]=1.0/b,c[j>>2]|0):0;b=+g[d+4>>2];e=b!=0.0?(g[j>>2]=1.0/b,c[j>>2]|0):0;b=+g[d+8>>2];d=b!=0.0?(g[j>>2]=1.0/b,c[j>>2]|0):0;c[a+456>>2]=f;c[a+460>>2]=e;c[a+464>>2]=d;g[a+468>>2]=0.0;i=h*+g[a+412>>2];k=h*+g[a+416>>2];g[a+620>>2]=+g[a+408>>2]*h;g[a+624>>2]=i;g[a+628>>2]=k;g[a+632>>2]=0.0;return}function Wi(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=c[b+296>>2]|0;if((e|0)==(c[b+300>>2]|0)?(h=(e|0)==0?1:e<<1,(e|0)<(h|0)):0){if(!h)g=0;else{c[6897]=(c[6897]|0)+1;e=ec((h<<2|3)+16|0)|0;if(!e)e=0;else{c[(e+4+15&-16)+-4>>2]=e;e=e+4+15&-16}g=e;e=c[b+296>>2]|0}if((e|0)>0){f=0;do{c[g+(f<<2)>>2]=c[(c[b+304>>2]|0)+(f<<2)>>2];f=f+1|0}while((f|0)!=(e|0))}f=c[b+304>>2]|0;if(f){if(a[b+308>>0]|0){c[6898]=(c[6898]|0)+1;md(c[f+-4>>2]|0);e=c[b+296>>2]|0}c[b+304>>2]=0}a[b+308>>0]=1;c[b+304>>2]=g;c[b+300>>2]=h}c[(c[b+304>>2]|0)+(e<<2)>>2]=d;c[b+296>>2]=e+1;return}function Xi(a,b,d){a=a|0;b=b|0;d=d|0;var e=0.0,f=0.0,h=0,i=0.0,j=0,k=0.0,l=0;k=+g[b+64>>2]*.5;l=c[b+72>>2]|0;e=+g[d>>2];f=+g[d+4>>2];i=+g[d+8>>2];i=+B(+(e*e+f*f+i*i));h=c[b+68>>2]|0;if(+g[d+(l<<2)>>2]>+g[b+56>>2]*i){g[a+(h<<2)>>2]=0.0;g[a+(l<<2)>>2]=k;k=0.0;l=c[b+76>>2]|0;l=a+(l<<2)|0;g[l>>2]=k;return}i=+g[d+(h<<2)>>2];j=c[b+76>>2]|0;e=+g[d+(j<<2)>>2];f=+B(+(i*i+e*e));if(f>1.1920928955078125e-07){f=+g[b+60>>2]/f;g[a+(h<<2)>>2]=i*f;g[a+(l<<2)>>2]=-k;k=e*f;l=j;l=a+(l<<2)|0;g[l>>2]=k;return}else{g[a+(h<<2)>>2]=0.0;g[a+(l<<2)>>2]=-k;k=0.0;l=j;l=a+(l<<2)|0;g[l>>2]=k;return}}function Yi(a,b,d){a=a|0;b=+b;d=d|0;var e=0,f=0.0,h=0.0,i=0.0,j=0;e=l;l=l+96|0;c[e+32>>2]=1065353216;c[e+32+4>>2]=0;c[e+32+4+4>>2]=0;c[e+32+4+8>>2]=0;c[e+32+4+12>>2]=0;c[e+32+20>>2]=1065353216;c[e+32+24>>2]=0;c[e+32+24+4>>2]=0;c[e+32+24+8>>2]=0;c[e+32+24+12>>2]=0;c[e+32+40>>2]=1065353216;j=e+32+44|0;c[j>>2]=0;c[j+4>>2]=0;c[j+8>>2]=0;c[j+12>>2]=0;c[j+16>>2]=0;Pb[c[(c[a>>2]|0)+8>>2]&127](a,e+32|0,e+16|0,e);h=(+g[e>>2]-+g[e+16>>2])*.5*2.0;f=(+g[e+4>>2]-+g[e+16+4>>2])*.5*2.0;i=(+g[e+8>>2]-+g[e+16+8>>2])*.5*2.0;g[d>>2]=b/12.0*(f*f+i*i);g[d+4>>2]=b/12.0*(h*h+i*i);g[d+8>>2]=b/12.0*(h*h+f*f);l=e;return}function Zi(b,d){b=b|0;d=d|0;var e=0,f=0.0,h=0.0,i=0.0,j=0.0,k=0.0;e=Tr()|0;Ni(e,3,b);c[e>>2]=6112;c[e+300>>2]=c[d>>2];c[e+300+4>>2]=c[d+4>>2];c[e+300+8>>2]=c[d+8>>2];c[e+300+12>>2]=c[d+12>>2];k=+g[d>>2];j=+g[d+4>>2];i=+g[d+8>>2];h=k*+g[b+20>>2]+j*+g[b+24>>2]+i*+g[b+28>>2]+ +g[b+56>>2];f=k*+g[b+36>>2]+j*+g[b+40>>2]+i*+g[b+44>>2]+ +g[b+60>>2];g[e+316>>2]=k*+g[b+4>>2]+j*+g[b+8>>2]+i*+g[b+12>>2]+ +g[b+52>>2];g[e+320>>2]=h;g[e+324>>2]=f;g[e+328>>2]=0.0;c[e+332>>2]=0;a[e+344>>0]=0;g[e+348>>2]=.30000001192092896;g[e+352>>2]=1.0;g[e+356>>2]=0.0;return e|0}function _i(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;c[6884]=(c[6884]|0)+1;f=(c[b+12>>2]|0)>(c[d+12>>2]|0);g=c[(f?d:b)+12>>2]|0;f=c[(f?b:d)+12>>2]|0;b=(((f<<16|g)+~((f<<16|g)<<15)|0)>>>10^(f<<16|g)+~((f<<16|g)<<15))*9|0;b=(((b>>>6^b)+~((b>>>6^b)<<11)|0)>>>16^(b>>>6^b)+~((b>>>6^b)<<11))&(c[a+12>>2]|0)+-1;if((b|0)>=(c[a+32>>2]|0)){g=0;return g|0}b=c[(c[a+40>>2]|0)+(b<<2)>>2]|0;if((b|0)==-1){g=0;return g|0}e=c[a+16>>2]|0;d=b;while(1){b=e+(d<<4)|0;if((c[(c[b>>2]|0)+12>>2]|0)==(g|0)?(c[(c[e+(d<<4)+4>>2]|0)+12>>2]|0)==(f|0):0){d=7;break}d=c[(c[a+60>>2]|0)+(d<<2)>>2]|0;if((d|0)==-1){b=0;d=7;break}}if((d|0)==7)return b|0;return 0}function $i(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0.0,h=0.0,i=0.0,j=0.0,k=0.0;e=l;l=l+16|0;Mb[c[(c[b>>2]|0)+68>>2]&127](e,b,d);c[a>>2]=c[e>>2];c[a+4>>2]=c[e+4>>2];c[a+8>>2]=c[e+8>>2];c[a+12>>2]=c[e+12>>2];if(!(+ib[c[(c[b>>2]|0)+48>>2]&15](b)!=0.0)){l=e;return}i=+g[d>>2];f=+g[d+4>>2];h=+g[d+8>>2];k=i*i+f*f+h*h<1.4210854715202004e-14?-1.0:i;j=i*i+f*f+h*h<1.4210854715202004e-14?-1.0:f;h=i*i+f*f+h*h<1.4210854715202004e-14?-1.0:h;f=1.0/+B(+(h*h+(k*k+j*j)));i=+ib[c[(c[b>>2]|0)+48>>2]&15](b);g[a>>2]=+g[a>>2]+i*k*f;g[a+4>>2]=+g[a+4>>2]+i*j*f;g[a+8>>2]=+g[a+8>>2]+i*h*f;l=e;return}function aj(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0;a:do switch(b|0){case 2:{if((c|0)<1){d=+g[a+232>>2];break a}if((c|0)<3){d=+g[a+264>>2];break a}if((c|0)==3){d=+g[a+248>>2];break a}if((c|0)<6)d=+g[a+280>>2];else d=3402823466385288598117041.0e14;break}case 3:{if((c|0)<1){d=+g[a+212>>2];break a}if((c|0)==3)d=+g[a+228>>2];else d=3402823466385288598117041.0e14;break}case 4:{if((c|0)<1){d=+g[a+244>>2];break a}if((c|0)<3){d=+g[a+276>>2];break a}if((c|0)==3){d=+g[a+260>>2];break a}if((c|0)<6)d=+g[a+292>>2];else d=3402823466385288598117041.0e14;break}default:d=3402823466385288598117041.0e14}while(0);return +d}function bj(b){b=b|0;var d=0,e=0,f=0;c[b>>2]=11080;e=c[b+156>>2]|0;d=c[b+164>>2]|0;if(e)do{e=e+-1|0;f=c[d+(e<<2)>>2]|0;if(f){Db[c[(c[f>>2]|0)+4>>2]&511](f);d=c[b+164>>2]|0}}while((e|0)!=0);if(d|0){if(a[b+168>>0]|0){c[6898]=(c[6898]|0)+1;md(c[d+-4>>2]|0)}c[b+164>>2]=0}a[b+168>>0]=1;c[b+164>>2]=0;c[b+156>>2]=0;c[b+160>>2]=0;c[b>>2]=5416;d=c[b+88>>2]|0;if(!d){a[b+92>>0]=1;c[b+88>>2]=0;c[b+80>>2]=0;b=b+84|0;c[b>>2]=0;return}if(a[b+92>>0]|0){c[6898]=(c[6898]|0)+1;md(c[d+-4>>2]|0)}c[b+88>>2]=0;a[b+92>>0]=1;c[b+88>>2]=0;c[b+80>>2]=0;b=b+84|0;c[b>>2]=0;return}function cj(b,d){b=b|0;d=d|0;var e=0.0,f=0.0,h=0.0,i=0.0,j=0.0;e=+g[d>>2];f=+g[d+4>>2];h=+g[d+8>>2];if(e*e+f*f+h*h==0.0)e=+g[b+36>>2];else e=+B(+(e*e+f*f+h*h));g[b+32>>2]=e;g[b+20>>2]=e;a[b+249>>0]=1;e=+g[d>>2];f=+g[d+4>>2];h=+g[d+8>>2];if(e*e+f*f+h*h==0.0){i=+g[b+256>>2];f=+g[b+260>>2];e=+g[b+264>>2];d=b+268|0}else{j=1.0/+B(+(e*e+f*f+h*h));i=e*j;f=f*j;e=h*j;d=d+12|0}d=c[d>>2]|0;g[b+272>>2]=i;g[b+276>>2]=f;g[b+280>>2]=e;c[b+284>>2]=d;d=(c[b+8>>2]|0)+52|0;c[b+116>>2]=c[d>>2];c[b+116+4>>2]=c[d+4>>2];c[b+116+8>>2]=c[d+8>>2];c[b+116+12>>2]=c[d+12>>2];return}function dj(a,b,d){a=a|0;b=b|0;d=d|0;var e=0.0,f=0,h=0.0,i=0,j=0.0,k=0.0,l=0.0,m=0.0,n=0,o=0.0,p=0.0;n=c[b+100>>2]|0;if((n|0)<=0){c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;c[a+12>>2]=0;return}o=+g[b+16>>2];p=+g[d>>2]*o;k=+g[b+20>>2];l=+g[d+4>>2]*k;m=+g[b+24>>2];j=+g[d+8>>2]*m;f=c[b+108>>2]|0;d=-1;b=0;e=-3402823466385288598117041.0e14;while(1){h=p*+g[f+(b<<4)>>2]+l*+g[f+(b<<4)+4>>2]+j*+g[f+(b<<4)+8>>2];i=h>e;d=i?b:d;b=b+1|0;if((b|0)==(n|0))break;else e=i?h:e}l=k*+g[f+(d<<4)+4>>2];p=m*+g[f+(d<<4)+8>>2];g[a>>2]=o*+g[f+(d<<4)>>2];g[a+4>>2]=l;g[a+8>>2]=p;g[a+12>>2]=0.0;return}function ej(a,b,d){a=a|0;b=+b;d=d|0;var e=0.0,f=0.0,h=0.0,i=0.0,j=0.0,k=0.0,l=0.0;e=+g[a+32>>2];i=+g[a+36>>2];k=+g[a+40>>2];l=+ib[c[(c[a>>2]|0)+48>>2]&15](a);j=+ib[c[(c[a>>2]|0)+48>>2]&15](a);k=+ib[c[(c[a>>2]|0)+48>>2]&15](a)+k;switch(c[a+56>>2]|0){case 0:{h=b*.25*(j+i)*(j+i)+b/12.0*(l+e)*(l+e)*4.0;f=h;e=b*.5*(j+i)*(j+i);break}case 2:{f=b*.5*(l+e)*(l+e);h=b*.25*(l+e)*(l+e)+b/12.0*k*k*4.0;e=b*.25*(l+e)*(l+e)+b/12.0*k*k*4.0;break}default:{k=b*.25*(l+e)*(l+e)+b/12.0*(j+i)*(j+i)*4.0;f=k;h=b*.5*(l+e)*(l+e);e=k}}g[d>>2]=e;g[d+4>>2]=h;g[d+8>>2]=f;g[d+12>>2]=0.0;return}function fj(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0;a:do if(c>>>0>=3)if((c+-3|0)>>>0<3)switch(b|0){case 2:{d=+g[a+968+((c+-3|0)*88|0)+12>>2];break a}case 4:{d=+g[a+968+((c+-3|0)*88|0)+16>>2];break a}case 1:{d=+g[a+968+((c+-3|0)*88|0)+20>>2];break a}case 3:{d=+g[a+968+((c+-3|0)*88|0)+24>>2];break a}default:{d=0.0;break a}}else d=0.0;else switch(b|0){case 2:{d=+g[a+728+(c<<2)>>2];break a}case 4:{d=+g[a+744+(c<<2)>>2];break a}case 1:{d=+g[a+760+(c<<2)>>2];break a}case 3:{d=+g[a+776+(c<<2)>>2];break a}default:{d=0.0;break a}}while(0);return +d}function gj(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,h=0.0,i=0.0,k=0.0,m=0,n=0,o=0;f=l;l=l+48|0;Mb[c[(c[a>>2]|0)+124>>2]&127](a,f+32|0,e);o=c[f+32>>2]|0;n=c[f+32+4>>2]|0;m=c[f+32+8>>2]|0;c[b>>2]=o;c[b+4>>2]=n;c[b+8>>2]=m;g[b+12>>2]=0.0;e=c[(c[a>>2]|0)+64>>2]|0;k=-(c[j>>2]=o,+g[j>>2]);i=-(c[j>>2]=n,+g[j>>2]);h=-(c[j>>2]=m,+g[j>>2]);g[f>>2]=k;g[f+4>>2]=i;g[f+8>>2]=h;g[f+12>>2]=0.0;Mb[e&127](f+16|0,a,f);c[d>>2]=c[f+16>>2];c[d+4>>2]=c[f+16+4>>2];c[d+8>>2]=c[f+16+8>>2];c[d+12>>2]=c[f+16+12>>2];l=f;return}function hj(b,d){b=b|0;d=d|0;var e=0,f=0;e=c[b+28>>2]|0;f=c[b+32>>2]|0;if(!(a[b+1301>>0]|0)){Hf(b,d,vf(b,d,0,e+4|0,f+4|0,e+372|0,f+372|0,e+388|0,f+388|0)|0,e+4|0,f+4|0,e+372|0,f+372|0,e+388|0,f+388|0)|0;return}else{vf(b,d,Hf(b,d,0,e+4|0,f+4|0,e+372|0,f+372|0,e+388|0,f+388|0)|0,e+4|0,f+4|0,e+372|0,f+372|0,e+388|0,f+388|0)|0;return}}function ij(a,b,d){a=a|0;b=b|0;d=d|0;do if(!((b|0)==8&(d|0)==8)){if((b|0)==8&(d|0)==1){a=a+72|0;break}if((b|0)==1&(d|0)==8){a=a+76|0;break}if(!(d|b)){a=a+68|0;break}if((b|0)<20&(d|0)==28){a=a+84|0;break}if((b|0)==28&(d|0)<20){a=a+80|0;break}if((b|0)<20){if((d|0)<20){a=a+28|0;break}if((d+-21|0)>>>0<9){a=a+32|0;break}}else{if((d|0)<20&(b+-21|0)>>>0<9){a=a+36|0;break}if((b|0)==31)if((d|0)==31){a=a+44|0;break}else{a=a+40|0;break}}if((d|0)==31){a=a+48|0;break}else{a=a+52|0;break}}else a=a+56|0;while(0);return c[a>>2]|0}function jj(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;f=l;l=l+16|0;c[a+4>>2]=c[b+40>>2];e=c[b>>2]|0;c[a+80>>2]=e;if(d){c[a+48>>2]=c[b+8>>2];c[a+48+4>>2]=c[b+8+4>>2];c[a+48+8>>2]=c[b+8+8>>2];c[a+48+12>>2]=c[b+8+12>>2]}else{e=kH(UG(e)|0)|0;jl(f,e,+g[b+8>>2],+g[b+12>>2],+g[b+16>>2]);c[a+48>>2]=c[f>>2];c[a+48+4>>2]=c[f+4>>2];c[a+48+8>>2]=c[f+8>>2];c[a+48+12>>2]=c[f+12>>2]}c[a+64>>2]=c[b+24>>2];c[a+64+4>>2]=c[b+24+4>>2];c[a+64+8>>2]=c[b+24+8>>2];c[a+64+12>>2]=c[b+24+12>>2];l=f;return +(+g[b+40>>2])}function kj(a,b,d,e,f){a=a|0;b=b|0;d=+d;e=e|0;f=f|0;var h=0,i=0.0,j=0.0,k=0.0,m=0.0,n=0.0;h=l;l=l+48|0;c[h+32>>2]=e;c[h+32+4>>2]=f;n=+g[b>>2];m=+g[b+4>>2];i=+g[b+8>>2];k=+g[a+56>>2]*n+ +g[a+60>>2]*m+ +g[a+64>>2]*i;j=n*+g[a+72>>2]+m*+g[a+76>>2]+i*+g[a+80>>2];i=n*+g[a+88>>2]+m*+g[a+92>>2]+i*+g[a+96>>2];c[h>>2]=c[a+48>>2];c[h+4>>2]=h+32;g[h+8>>2]=k;g[h+12>>2]=j;g[h+16>>2]=i;g[h+20>>2]=0.0;g[h+24>>2]=d;f=c[a+44>>2]|0;d=+lb[c[(c[f>>2]|0)+12>>2]&31](f,h,1);l=h;return +d}function lj(a,b,d,e){a=a|0;b=b|0;d=+d;e=e|0;if(e>>>0<3)switch(b|0){case 2:{g[a+756+(e<<2)>>2]=d;c[a+1304>>2]=c[a+1304>>2]|4<<e*3;return}case 4:{g[a+772+(e<<2)>>2]=d;c[a+1304>>2]=c[a+1304>>2]|2<<e*3;return}case 3:{g[a+740+(e<<2)>>2]=d;c[a+1304>>2]=c[a+1304>>2]|1<<e*3;return}default:return}if((e+-3|0)>>>0>=3)return;switch(b|0){case 2:{g[a+868+(e+-3<<6)+32>>2]=d;c[a+1304>>2]=c[a+1304>>2]|4<<e*3;return}case 4:{g[a+868+(e+-3<<6)+36>>2]=d;c[a+1304>>2]=c[a+1304>>2]|2<<e*3;return}case 3:{g[a+868+(e+-3<<6)+28>>2]=d;c[a+1304>>2]=c[a+1304>>2]|1<<e*3;return}default:return}}function mj(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var h=0;h=Tr()|0;c[h+4>>2]=3;c[h+8>>2]=-1;c[h+12>>2]=-1;g[h+16>>2]=3402823466385288598117041.0e14;a[h+20>>0]=1;a[h+21>>0]=0;c[h+24>>2]=-1;c[h+28>>2]=b;c[h+32>>2]=d;g[h+36>>2]=0.0;g[h+40>>2]=.05000000074505806;c[h+44>>2]=0;c[h>>2]=6112;c[h+300>>2]=c[e>>2];c[h+300+4>>2]=c[e+4>>2];c[h+300+8>>2]=c[e+8>>2];c[h+300+12>>2]=c[e+12>>2];c[h+316>>2]=c[f>>2];c[h+316+4>>2]=c[f+4>>2];c[h+316+8>>2]=c[f+8>>2];c[h+316+12>>2]=c[f+12>>2];c[h+332>>2]=0;a[h+344>>0]=0;g[h+348>>2]=.30000001192092896;g[h+352>>2]=1.0;g[h+356>>2]=0.0;return h|0}function nj(b){b=b|0;var d=0;c[b>>2]=6556;d=c[b+80>>2]|0;if(d|0){if(a[b+84>>0]|0){c[6898]=(c[6898]|0)+1;md(c[d+-4>>2]|0)}c[b+80>>2]=0}a[b+84>>0]=1;c[b+80>>2]=0;c[b+72>>2]=0;c[b+76>>2]=0;d=c[b+60>>2]|0;if(d|0){if(a[b+64>>0]|0){c[6898]=(c[6898]|0)+1;md(c[d+-4>>2]|0)}c[b+60>>2]=0}a[b+64>>0]=1;c[b+60>>2]=0;c[b+52>>2]=0;c[b+56>>2]=0;d=c[b+40>>2]|0;if(!d){a[b+44>>0]=1;c[b+40>>2]=0;c[b+32>>2]=0;b=b+36|0;c[b>>2]=0;return}if(a[b+44>>0]|0){c[6898]=(c[6898]|0)+1;md(c[d+-4>>2]|0)}c[b+40>>2]=0;a[b+44>>0]=1;c[b+40>>2]=0;c[b+32>>2]=0;b=b+36|0;c[b>>2]=0;return}function oj(b){b=b|0;var d=0;c[b>>2]=7044;d=c[b+60>>2]|0;if(d|0){if(a[b+64>>0]|0){c[6898]=(c[6898]|0)+1;md(c[d+-4>>2]|0)}c[b+60>>2]=0}a[b+64>>0]=1;c[b+60>>2]=0;c[b+52>>2]=0;c[b+56>>2]=0;d=c[b+40>>2]|0;if(d|0){if(a[b+44>>0]|0){c[6898]=(c[6898]|0)+1;md(c[d+-4>>2]|0)}c[b+40>>2]=0}a[b+44>>0]=1;c[b+40>>2]=0;c[b+32>>2]=0;c[b+36>>2]=0;d=c[b+16>>2]|0;if(!d){a[b+20>>0]=1;c[b+16>>2]=0;c[b+8>>2]=0;b=b+12|0;c[b>>2]=0;return}if(a[b+20>>0]|0){c[6898]=(c[6898]|0)+1;md(c[d+-4>>2]|0)}c[b+16>>2]=0;a[b+20>>0]=1;c[b+16>>2]=0;c[b+8>>2]=0;b=b+12|0;c[b>>2]=0;return}function pj(b){b=b|0;var d=0;c[b>>2]=8100;d=c[b+56>>2]|0;if(d|0){if(a[b+60>>0]|0){c[6898]=(c[6898]|0)+1;md(c[d+-4>>2]|0)}c[b+56>>2]=0}a[b+60>>0]=1;c[b+56>>2]=0;c[b+48>>2]=0;c[b+52>>2]=0;d=c[b+36>>2]|0;if(d|0){if(a[b+40>>0]|0){c[6898]=(c[6898]|0)+1;md(c[d+-4>>2]|0)}c[b+36>>2]=0}a[b+40>>0]=1;c[b+36>>2]=0;c[b+28>>2]=0;c[b+32>>2]=0;d=c[b+16>>2]|0;if(!d){d=b+12|0;a[b+20>>0]=1;c[b+16>>2]=0;c[b+8>>2]=0;c[d>>2]=0;return}if(a[b+20>>0]|0){c[6898]=(c[6898]|0)+1;md(c[d+-4>>2]|0)}c[b+16>>2]=0;d=b+12|0;a[b+20>>0]=1;c[b+16>>2]=0;c[b+8>>2]=0;c[d>>2]=0;return}function qj(b){b=b|0;var d=0;c[b>>2]=12044;d=c[b+56>>2]|0;if(d|0){if(a[b+60>>0]|0){c[6898]=(c[6898]|0)+1;md(c[d+-4>>2]|0)}c[b+56>>2]=0}a[b+60>>0]=1;c[b+56>>2]=0;c[b+48>>2]=0;c[b+52>>2]=0;d=c[b+36>>2]|0;if(d|0){if(a[b+40>>0]|0){c[6898]=(c[6898]|0)+1;md(c[d+-4>>2]|0)}c[b+36>>2]=0}a[b+40>>0]=1;c[b+36>>2]=0;c[b+28>>2]=0;c[b+32>>2]=0;d=c[b+16>>2]|0;if(!d){a[b+20>>0]=1;c[b+16>>2]=0;c[b+8>>2]=0;b=b+12|0;c[b>>2]=0;return}if(a[b+20>>0]|0){c[6898]=(c[6898]|0)+1;md(c[d+-4>>2]|0)}c[b+16>>2]=0;a[b+20>>0]=1;c[b+16>>2]=0;c[b+8>>2]=0;b=b+12|0;c[b>>2]=0;return}function rj(b){b=b|0;var d=0,e=0,f=0;e=ps(10448)|0;c[e>>2]=7160;c[e+4>>2]=2;a[e+24>>0]=1;c[e+20>>2]=0;c[e+12>>2]=0;c[e+16>>2]=0;c[e+28>>2]=8072;g[e+60>>2]=0.0;c[e+10444>>2]=b;c[e+64>>2]=81;c[e+68>>2]=sb[c[(c[b>>2]|0)+12>>2]&127](b)|0;c[e+72>>2]=sb[c[(c[b>>2]|0)+8>>2]&127](b)|0;b=0;do{d=0;do{f=c[e+10444>>2]|0;c[e+76+(b*144|0)+(d<<2)>>2]=wb[c[(c[f>>2]|0)+16>>2]&63](f,b,d)|0;f=c[e+10444>>2]|0;c[e+5260+(b*144|0)+(d<<2)>>2]=wb[c[(c[f>>2]|0)+20>>2]&63](f,b,d)|0;d=d+1|0}while(d>>>0<36);b=b+1|0}while(b>>>0<36);return e|0}function sj(){var a=0,b=0,d=0,e=0;e=l;l=l+48|0;a=pr()|0;if(a|0?(d=c[a>>2]|0,d|0):0){b=c[d+48>>2]|0;a=c[d+48+4>>2]|0;if(!((b&-256|0)==1126902528&(a|0)==1129074247)){c[e+24>>2]=21875;sv(21825,e+24|0)}if((b|0)==1126902529&(a|0)==1129074247)a=c[d+44>>2]|0;else a=d+80|0;c[e+36>>2]=a;d=c[d>>2]|0;a=c[d+4>>2]|0;if(rk(5048,d,e+36|0)|0){d=c[e+36>>2]|0;d=sb[c[(c[d>>2]|0)+8>>2]&127](d)|0;c[e>>2]=21875;c[e+4>>2]=a;c[e+8>>2]=d;sv(21739,e)}else{c[e+16>>2]=21875;c[e+16+4>>2]=a;sv(21784,e+16|0)}}sv(21863,e+32|0)}function tj(b){b=b|0;var d=0;c[b>>2]=8028;d=c[b+344>>2]|0;Db[c[c[d>>2]>>2]&511](d);d=c[b+344>>2]|0;if(d|0){c[6898]=(c[6898]|0)+1;md(c[d+-4>>2]|0)}c[b>>2]=7984;d=c[b+336>>2]|0;if(d|0){if(a[b+340>>0]|0){c[6898]=(c[6898]|0)+1;md(c[d+-4>>2]|0)}c[b+336>>2]=0}a[b+340>>0]=1;c[b+336>>2]=0;c[b+328>>2]=0;c[b+332>>2]=0;c[b>>2]=7252;d=c[b+296>>2]|0;if(!d){a[b+300>>0]=1;c[b+296>>2]=0;c[b+288>>2]=0;b=b+292|0;c[b>>2]=0;return}if(a[b+300>>0]|0){c[6898]=(c[6898]|0)+1;md(c[d+-4>>2]|0)}c[b+296>>2]=0;a[b+300>>0]=1;c[b+296>>2]=0;c[b+288>>2]=0;b=b+292|0;c[b>>2]=0;return}function uj(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;f=c[e+16>>2]|0;if(!f){if(!(Un(e)|0)){g=c[e+16>>2]|0;h=5}}else{g=f;h=5}a:do if((h|0)==5){f=c[e+20>>2]|0;if((g-f|0)>>>0<d>>>0){wb[c[e+36>>2]&63](e,b,d)|0;break}b:do if((a[e+75>>0]|0)<0|(d|0)==0)g=b;else{h=d;while(1){g=h+-1|0;if((a[b+g>>0]|0)==10)break;if(!g){g=b;break b}else h=g}if((wb[c[e+36>>2]&63](e,b,h)|0)>>>0<h>>>0)break a;g=b+h|0;d=d-h|0;f=c[e+20>>2]|0}while(0);vh(f|0,g|0,d|0)|0;c[e+20>>2]=(c[e+20>>2]|0)+d}while(0);return}function vj(a,b,d,e,f,h){a=a|0;b=b|0;d=d|0;e=+e;f=f|0;h=h|0;var i=0;i=l;l=l+64|0;c[i+48>>2]=f;c[i+48+4>>2]=h;f=c[a+212>>2]|0;if(!(+g[f+4>>2]>=e)){l=i;return +e}c[i>>2]=c[a+216>>2];c[i+4>>2]=i+48;c[i+8>>2]=c[b>>2];c[i+8+4>>2]=c[b+4>>2];c[i+8+8>>2]=c[b+8>>2];c[i+8+12>>2]=c[b+12>>2];c[i+24>>2]=c[d>>2];c[i+24+4>>2]=c[d+4>>2];c[i+24+8>>2]=c[d+8>>2];c[i+24+12>>2]=c[d+12>>2];g[i+40>>2]=e;e=+lb[c[(c[f>>2]|0)+12>>2]&31](f,i,1);l=i;return +e}function wj(a,b){a=a|0;b=b|0;var c=0,d=0.0,e=0.0,f=0.0,h=0.0,i=0.0;c=l;l=l+48|0;d=2.0/+nE(b);f=+g[(kH(b)|0)>>2];e=+g[(UG(b)|0)>>2];i=+g[(TG(b)|0)>>2];h=+g[(SG(b)|0)>>2];g[c+32>>2]=1.0-(e*e*d+i*i*d);g[c+28>>2]=f*e*d-h*i*d;g[c+24>>2]=f*i*d+h*e*d;g[c+20>>2]=f*e*d+h*i*d;g[c+16>>2]=1.0-(f*f*d+i*i*d);g[c+12>>2]=e*i*d-h*f*d;g[c+8>>2]=f*i*d-h*e*d;g[c+4>>2]=e*i*d+h*f*d;g[c>>2]=1.0-(f*f*d+e*e*d);Eo(a,c+32|0,c+28|0,c+24|0,c+20|0,c+16|0,c+12|0,c+8|0,c+4|0,c);l=c;return}function xj(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;e=l;l=l+32|0;c[a+8>>2]=c[b>>2];pn(a+24|0,b);if(d){c[e+16>>2]=c[b+8>>2];c[e+16+4>>2]=c[b+8+4>>2];c[e+16+8>>2]=c[b+8+8>>2];c[e+16+12>>2]=c[b+8+12>>2]}else{d=kH(UG(c[a+8>>2]|0)|0)|0;jl(e+16|0,d,+g[b+8>>2],+g[b+12>>2],+g[b+16>>2])}Pl(a+76|0,e+16|0);bp(e,a+44|0,a+60|0,+g[b+24>>2]);Pl(a+96|0,e);pn(a+116|0,b+24|0);l=e;return +(+g[a+4>>2])}function yj(a,b,d){a=a|0;b=b|0;d=d|0;do if(!((b|0)==8&(d|0)==8)){if((b|0)==8&(d|0)==1){a=a+72|0;break}if((b|0)==1&(d|0)==8){a=a+76|0;break}if((b|0)<20&(d|0)==28){a=a+84|0;break}if((b|0)==28&(d|0)<20){a=a+80|0;break}if((b|0)<20){if((d|0)<20){a=a+28|0;break}if((d+-21|0)>>>0<9){a=a+32|0;break}}else{if((d|0)<20&(b+-21|0)>>>0<9){a=a+36|0;break}if((b|0)==31)if((d|0)==31){a=a+44|0;break}else{a=a+40|0;break}}if((d|0)==31){a=a+48|0;break}else{a=a+52|0;break}}else a=a+56|0;while(0);return c[a>>2]|0}function zj(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0.0,h=0.0,i=0.0,j=0.0,k=0.0;e=l;l=l+16|0;Mb[c[(c[b>>2]|0)+68>>2]&127](e,b,d);c[a>>2]=c[e>>2];c[a+4>>2]=c[e+4>>2];c[a+8>>2]=c[e+8>>2];c[a+12>>2]=c[e+12>>2];i=+g[d>>2];f=+g[d+4>>2];h=+g[d+8>>2];k=i*i+f*f+h*h<1.4210854715202004e-14?-1.0:i;j=i*i+f*f+h*h<1.4210854715202004e-14?-1.0:f;h=i*i+f*f+h*h<1.4210854715202004e-14?-1.0:h;f=1.0/+B(+(h*h+(k*k+j*j)));i=+ib[c[(c[b>>2]|0)+48>>2]&15](b);g[a>>2]=+g[a>>2]+i*k*f;g[a+4>>2]=+g[a+4>>2]+i*j*f;g[a+8>>2]=+g[a+8>>2]+i*h*f;l=e;return}function Aj(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=l;l=l+48|0;e=tF(b,0)|0;g[d+32>>2]=+fo(c,e);g[d+28>>2]=+Sn(c,e);g[d+24>>2]=+Rn(c,e);e=tF(b,1)|0;g[d+20>>2]=+fo(c,e);g[d+16>>2]=+Sn(c,e);g[d+12>>2]=+Rn(c,e);b=tF(b,2)|0;g[d+8>>2]=+fo(c,b);g[d+4>>2]=+Sn(c,b);g[d>>2]=+Rn(c,b);Pp(a,d+32|0,d+28|0,d+24|0,d+20|0,d+16|0,d+12|0,d+8|0,d+4|0,d);l=d;return}function Bj(a,b,c,d){a=a|0;b=b|0;c=+c;d=+d;var e=0.0,f=0.0,h=0.0,i=0.0,j=0.0,k=0.0;i=+D(+c);h=+E(+c);c=+g[b+444>>2];if(+A(+i)>1.1920928955078125e-07){j=+g[b+448>>2];e=h*h;f=i*i;c=+B(+((h*h/(i*i)+1.0)/(1.0/(j*j)+h*h/(i*i)/(c*c))))}else{e=h*h;f=i*i}c=c*.5;j=+E(+c)/+B(+(e+(f+0.0)));c=+D(+c);k=c*d+i*j*0.0-h*j*-0.0;f=c*0.0-h*j*d-j*0.0*0.0;e=c*0.0+j*0.0*0.0-i*j*d;d=-(j*0.0*d)-i*j*0.0-h*j*-0.0;g[a>>2]=h*j*f+(c*k+d*-(j*0.0))-e*-(i*j);g[a+4>>2]=e*-(j*0.0)+(c*f+d*-(i*j))-h*j*k;g[a+8>>2]=k*-(i*j)+(h*j*d+c*e)-f*-(j*0.0);g[a+12>>2]=0.0;return}function Cj(b,d){b=b|0;d=d|0;var e=0,f=0,h=0;g[b+20>>2]=0.0;g[b+24>>2]=0.0;a[b+248>>0]=0;a[b+249>>0]=0;g[b+252>>2]=0.0;c[b+68>>2]=0;c[b+68+4>>2]=0;c[b+68+8>>2]=0;c[b+68+12>>2]=0;b=c[(c[b+8>>2]|0)+344>>2]|0;if((c[(sb[c[(c[b>>2]|0)+28>>2]&127](b)|0)+4>>2]|0)<=0)return;do{f=c[b>>2]|0;h=c[f+12>>2]|0;f=c[c[(sb[c[f+28>>2]&127](b)|0)+12>>2]>>2]|0;e=c[(c[(sb[c[(c[b>>2]|0)+28>>2]&127](b)|0)+12>>2]|0)+4>>2]|0;xb[h&31](b,f,e,c[d+24>>2]|0)|0}while((c[(sb[c[(c[b>>2]|0)+28>>2]&127](b)|0)+4>>2]|0)>0);return}function Dj(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;c[6885]=(c[6885]|0)+-1;Ib[c[(c[a>>2]|0)+20>>2]&127](a,b);e=c[b+800>>2]|0;d=(c[a+12>>2]|0)+-1|0;g=c[a+20>>2]|0;f=c[g+(e<<2)>>2]|0;c[g+(e<<2)>>2]=c[g+(d<<2)>>2];c[(c[a+20>>2]|0)+(d<<2)>>2]=f;c[(c[(c[a+20>>2]|0)+(e<<2)>>2]|0)+800>>2]=e;c[a+12>>2]=d;a=c[a+72>>2]|0;if(!b)return;g=c[a+16>>2]|0;if(g>>>0<=b>>>0?(g+(N(c[a>>2]|0,c[a+4>>2]|0)|0)|0)>>>0>b>>>0:0){c[b>>2]=c[a+12>>2];c[a+12>>2]=b;c[a+8>>2]=(c[a+8>>2]|0)+1;return}c[6898]=(c[6898]|0)+1;md(c[b+-4>>2]|0);return}function Ej(a,b,d,f){a=a|0;b=b|0;d=d|0;f=f|0;var g=0,h=0,i=0;while(1){g=c[a+12>>2]|0;if(!(((e[f>>1]|0)>=(e[a>>1]|0)?(e[d>>1]|0)<=(e[a+6>>1]|0):0)&(e[d+4>>1]|0)<=(e[a+10>>1]|0)&(e[f+4>>1]|0)>=(e[a+4>>1]|0)&(e[d+2>>1]|0)<=(e[a+8>>1]|0)&(e[f+2>>1]|0)>=(e[a+2>>1]|0))){h=6;break}if((g|0)>-1)break;i=a+16|0;Ej(i,b,d,f);g=c[a+28>>2]|0;a=(g|0)>-1?a+32|0:i+(0-g<<4)|0}if((h|0)==6)return;Mb[c[(c[b>>2]|0)+8>>2]&127](b,g>>>21,g&2097151);return}function Fj(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,h=0,i=0,j=0.0,k=0.0,l=0.0,m=0.0,n=0.0;if((e|0)<=0)return;f=0;do{n=+g[b+(f<<4)>>2];m=+g[b+(f<<4)+4>>2];j=+g[b+(f<<4)+8>>2];k=n*+g[a+60>>2]+m*+g[a+64>>2]+j*+g[a+68>>2];l=n*+g[a+76>>2]+m*+g[a+80>>2]+j*+g[a+84>>2];j=n*+g[a+92>>2]+m*+g[a+96>>2]+j*+g[a+100>>2];i=a+60+((k<l?(l<j?2:1):k<j?2:0)<<4)|0;h=d+(f<<4)|0;c[h>>2]=c[i>>2];c[h+4>>2]=c[i+4>>2];c[h+8>>2]=c[i+8>>2];c[h+12>>2]=c[i+12>>2];f=f+1|0}while((f|0)!=(e|0));return}function Gj(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;g=l;l=l+224|0;e=g+160|0;f=e+40|0;do{c[e>>2]=0;e=e+4|0}while((e|0)<(f|0));c[g+208>>2]=c[d>>2];if((Kc(0,b,g+208|0,g+80|0,g+160|0)|0)>=0){e=c[3043]|0;if((a[12246]|0)<1)c[3043]=e&-33;if(!(c[3055]|0)){d=c[3054]|0;c[3054]=g;c[3050]=g;c[3048]=g;c[3055]=80;c[3047]=g+80;Kc(12172,b,g+208|0,g+80|0,g+160|0)|0;if(d|0){wb[c[12208>>2]&63](12172,0,0)|0;c[3054]=d;c[3055]=0;c[3047]=0;c[3050]=0;c[3048]=0}}else Kc(12172,b,g+208|0,g+80|0,g+160|0)|0;c[3043]=c[3043]|e&32}l=g;return}function Hj(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;do switch(b|0){case 0:{b=1;f=0;break}case 1:{b=2;f=0;break}case 2:{b=3;f=1;break}case 3:{b=3;f=2;break}case 4:{b=4;f=0;break}case 5:{b=5;f=1;break}case 6:{b=6;f=2;break}case 7:{b=7;f=3;break}case 8:{b=5;f=4;break}case 9:{b=6;f=4;break}case 10:{b=7;f=5;break}case 11:{b=7;f=6;break}default:{b=0;f=0}}while(0);Mb[c[(c[a>>2]|0)+108>>2]&127](a,f,d);Mb[c[(c[a>>2]|0)+108>>2]&127](a,b,e);return}function Ij(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0.0,h=0.0,i=0.0,j=0.0,k=0.0,l=0.0,m=0.0;h=+g[a+60>>2];k=+g[a+76>>2]-h;j=+g[a+64>>2];i=+g[a+80>>2]-j;l=+g[a+68>>2];m=+g[a+84>>2]-l;h=+g[a+92>>2]-h;j=+g[a+96>>2]-j;l=+g[a+100>>2]-l;g[d+12>>2]=0.0;f=1.0/+B(+((k*j-i*h)*(k*j-i*h)+((i*l-m*j)*(i*l-m*j)+(m*h-k*l)*(m*h-k*l))));g[d>>2]=(i*l-m*j)*f;g[d+4>>2]=(m*h-k*l)*f;g[d+8>>2]=(k*j-i*h)*f;c[e>>2]=c[a+60>>2];c[e+4>>2]=c[a+60+4>>2];c[e+8>>2]=c[a+60+8>>2];c[e+12>>2]=c[a+60+12>>2];return}function Jj(b){b=b|0;var d=0,e=0;c[b>>2]=11904;if(a[b+52>>0]|0?(d=c[b+56>>2]|0,d|0):0){e=c[b+4>>2]|0;Ib[c[(c[e>>2]|0)+16>>2]&127](e,d)}d=c[b+44>>2]|0;if(d|0){if(a[b+48>>0]|0){c[6898]=(c[6898]|0)+1;md(c[d+-4>>2]|0)}c[b+44>>2]=0}a[b+48>>0]=1;c[b+44>>2]=0;c[b+36>>2]=0;c[b+40>>2]=0;d=c[b+24>>2]|0;if(!d){a[b+28>>0]=1;c[b+24>>2]=0;c[b+16>>2]=0;e=b+20|0;c[e>>2]=0;return}if(a[b+28>>0]|0){c[6898]=(c[6898]|0)+1;md(c[d+-4>>2]|0)}c[b+24>>2]=0;a[b+28>>0]=1;c[b+24>>2]=0;c[b+16>>2]=0;e=b+20|0;c[e>>2]=0;return}function Kj(b,d){b=b|0;d=d|0;do if(b){if(d>>>0<128){a[b>>0]=d;b=1;break}if(!(c[7035]|0))if((d&-128|0)==57216){a[b>>0]=d;b=1;break}else{c[7041]=84;b=-1;break}if(d>>>0<2048){a[b>>0]=d>>>6|192;a[b+1>>0]=d&63|128;b=2;break}if(d>>>0<55296|(d&-8192|0)==57344){a[b>>0]=d>>>12|224;a[b+1>>0]=d>>>6&63|128;a[b+2>>0]=d&63|128;b=3;break}if((d+-65536|0)>>>0<1048576){a[b>>0]=d>>>18|240;a[b+1>>0]=d>>>12&63|128;a[b+2>>0]=d>>>6&63|128;a[b+3>>0]=d&63|128;b=4;break}else{c[7041]=84;b=-1;break}}else b=1;while(0);return b|0}function Lj(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0,e=0.0,f=0.0,h=0.0,i=0.0,j=0.0,k=0.0;i=+g[a+60>>2];k=+g[a+76>>2]-i;j=+g[a+64>>2];f=+g[a+80>>2]-j;d=+g[a+68>>2];h=+g[a+84>>2]-d;i=+g[a+92>>2]-i;j=+g[a+96>>2]-j;d=+g[a+100>>2]-d;g[c+12>>2]=0.0;e=1.0/+B(+((k*j-f*i)*(k*j-f*i)+((f*d-h*j)*(f*d-h*j)+(h*i-k*d)*(h*i-k*d))));g[c>>2]=(f*d-h*j)*e;g[c+4>>2]=(h*i-k*d)*e;g[c+8>>2]=(k*j-f*i)*e;if(!b)return;g[c>>2]=-((f*d-h*j)*e);g[c+4>>2]=-((h*i-k*d)*e);g[c+8>>2]=-((k*j-f*i)*e);return}function Mj(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=ub[c[(c[d>>2]|0)+40>>2]&31](d,a)|0;f=ub[c[(c[d>>2]|0)+28>>2]&31](d,e)|0;c[b>>2]=f;if(f|0)Ib[c[(c[d>>2]|0)+48>>2]&127](d,e);c[b+4>>2]=c[a+4>>2];c[b+8>>2]=0;c[b+28>>2]=c[a+32>>2];c[b+32>>2]=c[a+36>>2];c[b+36>>2]=c[a+40>>2];c[b+40>>2]=c[a+44>>2];c[b+12>>2]=c[a+16>>2];c[b+16>>2]=c[a+20>>2];c[b+20>>2]=c[a+24>>2];c[b+24>>2]=c[a+28>>2];c[b+44>>2]=c[a+48>>2];c[b+48>>2]=0;c[b+52>>2]=c[a+56>>2];c[b+56>>2]=0;return 18767}function Nj(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0.0,h=0.0,i=0,j=0;i=c[a+100>>2]|0;j=c[a+108>>2]|0;f=+g[j+(((b|0)%(i|0)|0)<<4)+4>>2]*+g[a+20>>2];h=+g[j+(((b|0)%(i|0)|0)<<4)+8>>2]*+g[a+24>>2];g[d>>2]=+g[j+(((b|0)%(i|0)|0)<<4)>>2]*+g[a+16>>2];g[d+4>>2]=f;g[d+8>>2]=h;g[d+12>>2]=0.0;d=c[a+108>>2]|0;h=+g[d+(((b+1|0)%(i|0)|0)<<4)+4>>2]*+g[a+20>>2];f=+g[d+(((b+1|0)%(i|0)|0)<<4)+8>>2]*+g[a+24>>2];g[e>>2]=+g[d+(((b+1|0)%(i|0)|0)<<4)>>2]*+g[a+16>>2];g[e+4>>2]=h;g[e+8>>2]=f;g[e+12>>2]=0.0;return}function Oj(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=ub[c[(c[d>>2]|0)+40>>2]&31](d,a)|0;f=ub[c[(c[d>>2]|0)+28>>2]&31](d,e)|0;c[b>>2]=f;if(f|0)Ib[c[(c[d>>2]|0)+48>>2]&127](d,e);c[b+4>>2]=c[a+4>>2];c[b+8>>2]=0;c[b+28>>2]=c[a+32>>2];c[b+32>>2]=c[a+36>>2];c[b+36>>2]=c[a+40>>2];c[b+40>>2]=c[a+44>>2];c[b+12>>2]=c[a+16>>2];c[b+16>>2]=c[a+20>>2];c[b+20>>2]=c[a+24>>2];c[b+24>>2]=c[a+28>>2];c[b+44>>2]=c[a+48>>2];c[b+48>>2]=0;c[b+52>>2]=c[a+56>>2];c[b+56>>2]=0;return 18298}function Pj(a,b){a=a|0;b=b|0;var d=0,e=0,f=0.0,h=0,i=0;e=l;l=l+32|0;d=c[a+184>>2]|0;if(+g[d+4>>2]==0.0){d=0;l=e;return d|0}b=c[b>>2]|0;if(!(ub[c[(c[d>>2]|0)+8>>2]&31](d,c[b+188>>2]|0)|0)){d=1;l=e;return d|0}h=c[a+192>>2]|0;i=c[b+192>>2]|0;d=c[a+184>>2]|0;f=+g[a+188>>2];c[e>>2]=0;c[e+4>>2]=i;c[e+8>>2]=b;c[e+12>>2]=b+4;c[e+16>>2]=-1;c[e+20>>2]=-1;jc(h,a+36|0,a+100|0,e,d,f);d=1;l=e;return d|0}function Qj(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=ub[c[(c[d>>2]|0)+40>>2]&31](d,a)|0;f=ub[c[(c[d>>2]|0)+28>>2]&31](d,e)|0;c[b>>2]=f;if(f|0)Ib[c[(c[d>>2]|0)+48>>2]&127](d,e);c[b+4>>2]=c[a+4>>2];c[b+8>>2]=0;c[b+28>>2]=c[a+32>>2];c[b+32>>2]=c[a+36>>2];c[b+36>>2]=c[a+40>>2];c[b+40>>2]=c[a+44>>2];c[b+12>>2]=c[a+16>>2];c[b+16>>2]=c[a+20>>2];c[b+20>>2]=c[a+24>>2];c[b+24>>2]=c[a+28>>2];c[b+44>>2]=c[a+48>>2];c[b+48>>2]=0;c[b+52>>2]=c[a+72>>2];c[b+56>>2]=0;return 18530}function Rj(a,d,e){a=a|0;d=d|0;e=e|0;var f=0,g=0;f=l;l=l+32|0;g=tF(c[a+16>>2]|0,d)|0;vm(f+16|0,b[g>>1]|0,b[g+2>>1]|0,b[g+4>>1]|0,a+24|0,a+56|0);c[e>>2]=c[f+16>>2];c[e+4>>2]=c[f+16+4>>2];c[e+8>>2]=c[f+16+8>>2];c[e+12>>2]=c[f+16+12>>2];d=tF(c[a+16>>2]|0,d)|0;vm(f,b[d+6>>1]|0,b[d+8>>1]|0,b[d+10>>1]|0,a+24|0,a+56|0);c[e+16>>2]=c[f>>2];c[e+16+4>>2]=c[f+4>>2];c[e+16+8>>2]=c[f+8>>2];c[e+16+12>>2]=c[f+12>>2];l=f;return}function Sj(a,b){a=a|0;b=b|0;var d=0;d=l;l=l+16|0;c[d>>2]=c[b>>2];c[d+4>>2]=c[b+4>>2];c[d+8>>2]=c[b+8>>2];c[d+12>>2]=c[b+12>>2];b=c[a+8>>2]|0;c[b+304>>2]=(c[b+304>>2]|0)+1;c[b+4>>2]=1065353216;c[b+8>>2]=0;c[b+8+4>>2]=0;c[b+8+8>>2]=0;c[b+8+12>>2]=0;c[b+24>>2]=1065353216;c[b+28>>2]=0;c[b+28+4>>2]=0;c[b+28+8>>2]=0;c[b+28+12>>2]=0;c[b+44>>2]=1065353216;c[b+48>>2]=0;c[b+52>>2]=c[d>>2];c[b+52+4>>2]=c[d+4>>2];c[b+52+8>>2]=c[d+8>>2];c[b+52+12>>2]=c[d+12>>2];l=d;return}function Tj(a,b){a=a|0;b=b|0;var d=0.0,e=0.0,f=0.0,h=0.0,i=0.0,j=0.0,k=0.0,l=0.0,m=0.0;k=+ib[c[(c[a>>2]|0)+48>>2]&15](a);h=+ib[c[(c[a>>2]|0)+48>>2]&15](a);d=+ib[c[(c[a>>2]|0)+48>>2]&15](a);m=(k+ +g[a+32>>2])/+g[a+16>>2];j=(h+ +g[a+36>>2])/+g[a+20>>2];f=(d+ +g[a+40>>2])/+g[a+24>>2];l=+A(+(+g[b>>2]));i=+A(+(+g[b+4>>2]));e=+A(+(+g[b+8>>2]));g[a+16>>2]=l;g[a+20>>2]=i;g[a+24>>2]=e;g[a+28>>2]=0.0;g[a+32>>2]=m*l-k;g[a+36>>2]=j*i-h;g[a+40>>2]=f*e-d;g[a+44>>2]=0.0;return}function Uj(a,b,d,e,f,h,i,j,k){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;i=i|0;j=j|0;k=k|0;var l=0,m=0,n=0.0,o=0;Wb[c[(c[a>>2]|0)+32>>2]&1](a,b,d,e,f,h,i,j,k);m=c[a+184>>2]|0;l=c[j+20>>2]|0;l=(m|0)>(l|0)?m:l;if((l|0)<=0)return 0.0;m=0;do{n=+rb[c[(c[a>>2]|0)+40>>2]&3](a,m,b,d,e,f,h,i,j,k);g[a+228>>2]=n;o=m;m=m+1|0}while(((o|0)<(l+-1|0)?!(n<=+g[j+92>>2]):0)&(m|0)<(l|0));return 0.0}function Vj(b,d){b=b|0;d=d|0;var e=0,f=0,h=0.0,i=0,j=0;if(a[b+527>>0]|0){c[d>>2]=0;c[d+4>>2]=0;return}c[d>>2]=3;c[d+4>>2]=3;j=c[b+28>>2]|0;i=c[b+32>>2]|0;mc(b,j+4|0,i+4|0,j+324|0,i+324|0);if((a[b+526>>0]|0?(e=c[d>>2]|0,c[d>>2]=e+1,f=c[d+4>>2]|0,c[d+4>>2]=f+-1,h=+g[b+456>>2],+g[b+444>>2]<h):0)?+g[b+448>>2]<h:0){c[d>>2]=e+2;c[d+4>>2]=f+-2}if(!(a[b+525>>0]|0))return;c[d>>2]=(c[d>>2]|0)+1;c[d+4>>2]=(c[d+4>>2]|0)+-1;return}function Wj(b,d,e,f,h){b=b|0;d=+d;e=e|0;f=f|0;h=h|0;g[b>>2]=d;c[b+4>>2]=e;c[b+72>>2]=f;c[b+76>>2]=c[h>>2];c[b+76+4>>2]=c[h+4>>2];c[b+76+8>>2]=c[h+8>>2];c[b+76+12>>2]=c[h+12>>2];g[b+92>>2]=0.0;g[b+96>>2]=0.0;g[b+100>>2]=.5;g[b+104>>2]=0.0;g[b+108>>2]=0.0;g[b+112>>2]=0.0;g[b+116>>2]=.800000011920929;g[b+120>>2]=1.0;a[b+124>>0]=0;g[b+128>>2]=.004999999888241291;g[b+132>>2]=.009999999776482582;g[b+136>>2]=.009999999776482582;g[b+140>>2]=.009999999776482582;dq(b+8|0);return}function Xj(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0;f=b+e|0;d=d&255;if((e|0)>=67){while(b&3){a[b>>0]=d;b=b+1|0}g=d|d<<8|d<<16|d<<24;while((b|0)<=((f&-4)-64|0)){c[b>>2]=g;c[b+4>>2]=g;c[b+8>>2]=g;c[b+12>>2]=g;c[b+16>>2]=g;c[b+20>>2]=g;c[b+24>>2]=g;c[b+28>>2]=g;c[b+32>>2]=g;c[b+36>>2]=g;c[b+40>>2]=g;c[b+44>>2]=g;c[b+48>>2]=g;c[b+52>>2]=g;c[b+56>>2]=g;c[b+60>>2]=g;b=b+64|0}while((b|0)<(f&-4|0)){c[b>>2]=g;b=b+4|0}}while((b|0)<(f|0)){a[b>>0]=d;b=b+1|0}return f-e|0}function Yj(a,b,c,d,e,f,h,i,j,k){a=+a;b=+b;c=+c;d=+d;e=+e;f=+f;h=+h;i=+i;j=+j;k=k|0;if(!(((h-d)*b-(i-e)*a)*f+(((i-e)*c-(j-f)*b)*d+((j-f)*a-(h-d)*c)*e)<0.0)){k=0;return k|0}do if(!((h-d)*d+(i-e)*e+(j-f)*f>0.0))if((h-d)*h+(i-e)*i+(j-f)*j<0.0){a=h*h+i*i+j*j;break}else{a=((h*h+i*i+j*j)*(d*d+e*e+f*f)-(h*d+i*e+j*f)*(h*d+i*e+j*f))/((h-d)*(h-d)+(i-e)*(i-e)+(j-f)*(j-f));a=a>0.0?a:0.0;break}else a=d*d+e*e+f*f;while(0);g[k>>2]=+B(+a);k=1;return k|0}function Zj(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0;a:do if(c>>>0>=3)if((c+-3|0)>>>0<3)switch(b|0){case 2:{d=+g[a+868+(c+-3<<6)+32>>2];break a}case 4:{d=+g[a+868+(c+-3<<6)+36>>2];break a}case 3:{d=+g[a+868+(c+-3<<6)+28>>2];break a}default:{d=0.0;break a}}else d=0.0;else switch(b|0){case 2:{d=+g[a+756+(c<<2)>>2];break a}case 4:{d=+g[a+772+(c<<2)>>2];break a}case 3:{d=+g[a+740+(c<<2)>>2];break a}default:{d=0.0;break a}}while(0);return +d}function _j(a,b,d){a=a|0;b=b|0;d=d|0;var e=0.0,f=0.0,h=0.0,i=0.0,j=0.0;Mb[c[(c[b>>2]|0)+68>>2]&127](a,b,d);if(!(+ib[c[(c[b>>2]|0)+48>>2]&15](b)!=0.0))return;h=+g[d>>2];e=+g[d+4>>2];f=+g[d+8>>2];j=h*h+e*e+f*f<1.4210854715202004e-14?-1.0:h;i=h*h+e*e+f*f<1.4210854715202004e-14?-1.0:e;f=h*h+e*e+f*f<1.4210854715202004e-14?-1.0:f;e=1.0/+B(+(f*f+(j*j+i*i)));h=+ib[c[(c[b>>2]|0)+48>>2]&15](b);g[a>>2]=+g[a>>2]+h*j*e;g[a+4>>2]=+g[a+4>>2]+h*i*e;g[a+8>>2]=+g[a+8>>2]+h*f*e;return}function $j(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;do if(!(lC(b,c[d+8>>2]|0)|0)){if(lC(b,c[d>>2]|0)|0){if((c[d+16>>2]|0)!=(e|0)?(c[d+20>>2]|0)!=(e|0):0){c[d+32>>2]=f;c[d+20>>2]=e;c[d+40>>2]=(c[d+40>>2]|0)+1;if((c[d+36>>2]|0)==1?(c[d+24>>2]|0)==2:0)a[d+54>>0]=1;c[d+44>>2]=4;break}if((f|0)==1)c[d+32>>2]=1}}else mr(d,e,f);while(0);return}function ak(a,b){a=a|0;b=b|0;var c=0.0,d=0.0,e=0.0,f=0.0,h=0.0,i=0.0,j=0;j=l;l=l+16|0;h=+g[b>>2];i=+g[b+4>>2];e=+g[b+8>>2];if(h*h+i*i+e*e>0.0?(f=+g[a+52>>2],f>0.0):0){c=1.0/+B(+(h*h+i*i+e*e));d=e*c*-f*e*c*-f+(h*c*-f*h*c*-f+i*c*-f*i*c*-f);if(d>0.0){g[j>>2]=-(h*c*-f);g[j+4>>2]=-(i*c*-f);g[j+8>>2]=-(e*c*-f);g[j+12>>2]=0.0;Yd(a,j)}g[a+52>>2]=+B(+d);l=j;return}Yd(a,b);l=j;return}function bk(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0;a:do if(!(lC(b,c[d+8>>2]|0)|0)){h=c[b+12>>2]|0;ln(b+16|0,d,e,f);if((h|0)>1){g=b+24|0;do{ln(g,d,e,f);if(a[d+54>>0]|0)break a;g=g+8|0}while(g>>>0<(b+16+(h<<3)|0)>>>0)}}else lm(d,e,f);while(0);return}function ck(a,b){a=a|0;b=b|0;var d=0;b=l;l=l+16|0;d=c[a+8>>2]|0;c[a+132>>2]=c[d+52>>2];c[a+132+4>>2]=c[d+52+4>>2];c[a+132+8>>2]=c[d+52+8>>2];c[a+132+12>>2]=c[d+52+12>>2];Yo(a+152|0,d+52|0,16)|0;Rg(d+4|0,b);c[a+168>>2]=c[b>>2];c[a+168+4>>2]=c[b+4>>2];c[a+168+8>>2]=c[b+8>>2];c[a+168+12>>2]=c[b+12>>2];c[a+184>>2]=c[a+168>>2];c[a+184+4>>2]=c[a+168+4>>2];c[a+184+8>>2]=c[a+168+8>>2];c[a+184+12>>2]=c[a+168+12>>2];l=b;return}function dk(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=ub[c[(c[d>>2]|0)+40>>2]&31](d,a)|0;f=ub[c[(c[d>>2]|0)+28>>2]&31](d,e)|0;c[b>>2]=f;if(f|0)Ib[c[(c[d>>2]|0)+48>>2]&127](d,e);c[b+4>>2]=c[a+4>>2];c[b+8>>2]=0;f=c[a+148>>2]|0;wb[c[(c[f>>2]|0)+56>>2]&63](f,b+12|0,d)|0;c[b+56>>2]=c[a+16>>2];c[b+40>>2]=c[a+56>>2];c[b+44>>2]=c[a+60>>2];c[b+48>>2]=c[a+64>>2];c[b+52>>2]=c[a+68>>2];c[b+60>>2]=sb[c[(c[a>>2]|0)+80>>2]&127](a)|0;return 19866}function ek(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;f=c[a+228>>2]|0;a:do if((f|0)>0){e=c[a+236>>2]|0;d=0;while(1){if((c[e+(d<<2)>>2]|0)==(b|0))break a;d=d+1|0;if((d|0)>=(f|0)){d=f;break}}}else d=f;while(0);if((f|0)>(d|0)){g=c[a+236>>2]|0;d=g+(d<<2)|0;e=c[d>>2]|0;c[d>>2]=c[g+(f+-1<<2)>>2];c[(c[a+236>>2]|0)+(f+-1<<2)>>2]=e;c[a+228>>2]=f+-1}xg(c[b+28>>2]|0,b);xg(c[b+32>>2]|0,b);return}function fk(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;e=l;l=l+16|0;pn(a+16|0,b);if(d){c[e>>2]=c[b+8>>2];c[e+4>>2]=c[b+8+4>>2];c[e+8>>2]=c[b+8+8>>2];c[e+12>>2]=c[b+8+12>>2]}else{d=kH(UG(c[b>>2]|0)|0)|0;jl(e,d,+g[b+8>>2],+g[b+12>>2],+g[b+16>>2])}Pl(a+68|0,e);Pl(a+88|0,b+24|0);pn(a+108|0,b+40|0);l=e;return +(+g[a+4>>2])}function gk(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=ub[c[(c[d>>2]|0)+40>>2]&31](d,a)|0;f=ub[c[(c[d>>2]|0)+28>>2]&31](d,e)|0;c[b>>2]=f;if(f|0)Ib[c[(c[d>>2]|0)+48>>2]&127](d,e);c[b+4>>2]=c[a+4>>2];c[b+8>>2]=0;c[b+28>>2]=c[a+32>>2];c[b+32>>2]=c[a+36>>2];c[b+36>>2]=c[a+40>>2];c[b+40>>2]=c[a+44>>2];c[b+12>>2]=c[a+16>>2];c[b+16>>2]=c[a+20>>2];c[b+20>>2]=c[a+24>>2];c[b+24>>2]=c[a+28>>2];c[b+44>>2]=c[a+48>>2];c[b+48>>2]=0;return 17839}function hk(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=ub[c[(c[d>>2]|0)+40>>2]&31](d,a)|0;f=ub[c[(c[d>>2]|0)+28>>2]&31](d,e)|0;c[b>>2]=f;if(f|0)Ib[c[(c[d>>2]|0)+48>>2]&127](d,e);c[b+4>>2]=c[a+4>>2];c[b+8>>2]=0;c[b+12>>2]=c[a+72>>2];c[b+16>>2]=c[a+76>>2];c[b+20>>2]=c[a+80>>2];c[b+24>>2]=c[a+84>>2];c[b+28>>2]=c[a+52>>2];c[b+32>>2]=c[a+56>>2];c[b+36>>2]=c[a+60>>2];c[b+40>>2]=c[a+64>>2];c[b+44>>2]=c[a+68>>2];c[b+48>>2]=0;return 19207}function ik(b,d,e){b=b|0;d=d|0;e=e|0;b=ps(144)|0;c[b>>2]=6612;a[b+20>>0]=1;c[b+16>>2]=0;c[b+8>>2]=0;c[b+12>>2]=0;a[b+40>>0]=1;c[b+36>>2]=0;c[b+28>>2]=0;c[b+32>>2]=0;a[b+60>>0]=1;c[b+56>>2]=0;c[b+48>>2]=0;c[b+52>>2]=0;a[b+80>>0]=1;c[b+76>>2]=0;c[b+68>>2]=0;c[b+72>>2]=0;c[b+92>>2]=e;g[b+96>>2]=0.0;a[b+140>>0]=1;c[b+136>>2]=0;c[b+128>>2]=0;c[b+132>>2]=0;c[b+108>>2]=d;c[b+112>>2]=0;c[b+116>>2]=2;c[b+120>>2]=1;g[b+104>>2]=0.0;g[b+100>>2]=0.0;return b|0}function jk(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0;f=c[d>>2]|0;f=ub[c[(c[f>>2]|0)+56>>2]&31](f,72)|0;h=c[d+4>>2]|0;i=c[b+8>>2]|0;g=c[b+12>>2]|0;e=c[b+16>>2]|0;c[f+4>>2]=c[d>>2];c[f>>2]=11904;c[f+8>>2]=i;a[f+28>>0]=1;c[f+24>>2]=0;c[f+16>>2]=0;c[f+20>>2]=0;a[f+48>>0]=1;c[f+44>>2]=0;c[f+36>>2]=0;c[f+40>>2]=0;a[f+52>>0]=0;c[f+56>>2]=h;a[f+60>>0]=0;c[f+64>>2]=g;c[f+68>>2]=e;return f|0}function kk(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=l;l=l+32|0;if(!(+g[a+404>>2]!=0.0)){l=d;return}jn(a,+g[b>>2],+g[b+4>>2],+g[b+8>>2]);if(!(kH(a+604|0)|0)){l=d;return}dp(d,+g[b>>2],+g[b+4>>2],+g[b+8>>2],+g[a+408>>2],+g[a+412>>2],+g[a+416>>2]);wo(d+16|0,+g[c>>2],+g[c+4>>2],+g[c+8>>2],+g[d>>2],+g[d+4>>2],+g[d+8>>2]);kn(a,+g[d+16>>2],+g[d+16+4>>2],+g[d+16+8>>2]);l=d;return}function lk(a){a=a|0;var b=0,d=0,e=0,f=0.0,g=0,h=0,i=0;e=l;l=l+16|0;b=c[a+8>>2]|0;d=c[a+8+4>>2]|0;if((d|0)>-1|(d|0)==-1&b>>>0>4294967295){f=(+(b>>>0)+4294967296.0*+(d>>>0))*18446744073709551616.0+(+((c[a>>2]|0)>>>0)+4294967296.0*+((c[a+4>>2]|0)>>>0));l=e;return +f}else{i=c[a>>2]|0;h=c[a+4>>2]|0;g=Xu(0,0,i|0,h|0)|0;a=y;d=iv((i|0)==0&(h|0)==0&1|0,0,~b|0,~d|0)|0;c[e>>2]=g;c[e+4>>2]=a;c[e+8>>2]=d;c[e+8+4>>2]=y;f=-+lk(e);l=e;return +f}return 0.0}function mk(b,d){b=b|0;d=d|0;var e=0;e=Nr()|0;c[e+8>>2]=0;c[e+12>>2]=-1;c[e+16>>2]=1065353216;c[e+20>>2]=1065353216;c[e+24>>2]=1065353216;g[e+28>>2]=0.0;g[e+48>>2]=.03999999910593033;c[e+56>>2]=0;c[e+60>>2]=1065353216;c[e+64>>2]=1065353216;c[e+68>>2]=1065353216;g[e+72>>2]=0.0;c[e+76>>2]=-1082130432;c[e+80>>2]=-1082130432;c[e+84>>2]=-1082130432;g[e+88>>2]=0.0;a[e+92>>0]=0;c[e>>2]=9400;c[e+96>>2]=b;c[e+4>>2]=3;if(!d)return e|0;Ci(e);return e|0}function nk(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;a[b+53>>0]=1;do if((c[b+4>>2]|0)==(e|0)){a[b+52>>0]=1;e=c[b+16>>2]|0;if(!e){c[b+16>>2]=d;c[b+24>>2]=f;c[b+36>>2]=1;if(!((f|0)==1?(c[b+48>>2]|0)==1:0))break;a[b+54>>0]=1;break}if((e|0)!=(d|0)){c[b+36>>2]=(c[b+36>>2]|0)+1;a[b+54>>0]=1;break}e=c[b+24>>2]|0;if((e|0)==2){c[b+24>>2]=f;e=f}if((e|0)==1?(c[b+48>>2]|0)==1:0)a[b+54>>0]=1}while(0);return}function ok(){var b=0;b=ds()|0;c[b+8>>2]=0;c[b+12>>2]=-1;c[b+16>>2]=1065353216;c[b+20>>2]=1065353216;c[b+24>>2]=1065353216;g[b+28>>2]=0.0;g[b+48>>2]=.03999999910593033;c[b+56>>2]=0;c[b+60>>2]=1065353216;c[b+64>>2]=1065353216;c[b+68>>2]=1065353216;g[b+72>>2]=0.0;c[b+76>>2]=-1082130432;c[b+80>>2]=-1082130432;c[b+84>>2]=-1082130432;g[b+88>>2]=0.0;a[b+92>>0]=0;c[b>>2]=9168;a[b+112>>0]=1;c[b+108>>2]=0;c[b+104>>2]=0;c[b+4>>2]=4;c[b+100>>2]=0;Ci(b);return b|0}function pk(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;f=c[a+248>>2]|0;a:do if((f|0)>0){e=c[a+256>>2]|0;d=0;while(1){if((c[e+(d<<2)>>2]|0)==(b|0))break a;d=d+1|0;if((d|0)>=(f|0)){d=f;break}}}else d=f;while(0);if((f|0)<=(d|0)){Ah(a,b);return}g=c[a+256>>2]|0;d=g+(d<<2)|0;e=c[d>>2]|0;c[d>>2]=c[g+(f+-1<<2)>>2];c[(c[a+256>>2]|0)+(f+-1<<2)>>2]=e;c[a+248>>2]=f+-1;Ah(a,b);return}function qk(b,d,e){b=b|0;d=d|0;e=+e;var f=0.0,h=0.0,i=0.0,j=0.0,k=0.0;a[b+251>>0]=0;c[b+68>>2]=c[d>>2];c[b+68+4>>2]=c[d+4>>2];c[b+68+8>>2]=c[d+8>>2];c[b+68+12>>2]=c[d+12>>2];f=+g[b+68>>2];h=+g[b+72>>2];i=+g[b+76>>2];j=+B(+(f*f+h*h+i*i));if(j>1.1920928955078125e-07){k=f*(1.0/j);h=h*(1.0/j);f=i*(1.0/j);d=c[b+80>>2]|0}else{k=0.0;h=0.0;f=0.0;d=0}g[b+84>>2]=k;g[b+88>>2]=h;g[b+92>>2]=f;c[b+96>>2]=d;g[b+252>>2]=+g[b+252>>2]+e;return}function rk(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;g=l;l=l+64|0;if(!(lC(a,b)|0))if((b|0)!=0?(f=qi(b,5056)|0,(f|0)!=0):0){b=g+4|0;e=b+52|0;do{c[b>>2]=0;b=b+4|0}while((b|0)<(e|0));c[g>>2]=f;c[g+8>>2]=a;c[g+12>>2]=-1;c[g+48>>2]=1;Pb[c[(c[f>>2]|0)+28>>2]&127](f,g,c[d>>2]|0,1);if((c[g+24>>2]|0)==1){c[d>>2]=c[g+16>>2];b=1}else b=0}else b=0;else b=1;l=g;return b|0}function sk(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0.0,f=0.0,h=0.0,i=0,j=0.0,k=0.0,l=0.0,m=0;if((d|0)<=0)return;m=0;do{e=+g[a+36>>2];h=+g[a+32>>2];i=b+(m<<4)|0;k=+g[b+(m<<4)+4>>2];f=+g[b+(m<<4)+8>>2];l=+B(+(k*k+f*f));if(l!=0.0){j=f*(e/l);f=+g[i>>2]<0.0?-h:h;e=k*(e/l)}else{j=0.0;f=+g[i>>2]<0.0?-h:h}g[c+(m<<4)>>2]=f;g[c+(m<<4)+4>>2]=e;g[c+(m<<4)+8>>2]=j;m=m+1|0}while((m|0)!=(d|0));return}function tk(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0;j=c[b>>2]|0;if(!e)e=c[a+188>>2]|0;i=c[a+328>>2]|0;if((i|0)<=0)return;h=c[a+336>>2]|0;f=0;while(1){g=h+(f<<2)|0;if((c[g>>2]|0)==(j|0))break;f=f+1|0;if((f|0)>=(i|0)){k=9;break}}if((k|0)==9)return;if((f|0)>=(i|0))return;c[g>>2]=c[h+(i+-1<<2)>>2];c[a+328>>2]=i+-1;k=c[a+344>>2]|0;xb[c[(c[k>>2]|0)+12>>2]&31](k,e,b,d)|0;return}function uk(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;e=l;l=l+32|0;d=c[a+216>>2]|0;if(+g[d+4>>2]==0.0){d=0;l=e;return d|0}b=c[b>>2]|0;if(!(ub[c[(c[d>>2]|0)+8>>2]&31](d,c[b+188>>2]|0)|0)){d=1;l=e;return d|0}f=c[b+192>>2]|0;d=c[a+216>>2]|0;c[e>>2]=0;c[e+4>>2]=f;c[e+8>>2]=b;c[e+12>>2]=b+4;c[e+16>>2]=-1;c[e+20>>2]=-1;Dc(a+68|0,a+132|0,e,d);d=1;l=e;return d|0}function vk(b,d,e,f,h){b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;var i=0;i=Dr()|0;he(i,b,d,e,f,h);c[i>>2]=5940;c[i+4>>2]=9;a[i+1309>>0]=0;a[i+1309+1>>0]=0;a[i+1309+2>>0]=0;a[i+1309+3>>0]=0;a[i+1309+4>>0]=0;a[i+1309+5>>0]=0;b=i+1316|0;d=b+48|0;do{c[b>>2]=0;b=b+4|0}while((b|0)<(d|0));g[i+1364>>2]=1.0;g[i+1368>>2]=1.0;g[i+1372>>2]=1.0;g[i+1376>>2]=1.0;g[i+1380>>2]=1.0;g[i+1384>>2]=1.0;return i|0}function wk(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0.0,f=0.0,h=0.0,i=0.0,j=0.0,k=0.0,l=0;if((d|0)<=0)return;l=0;do{e=+g[a+32>>2];h=+g[a+40>>2];j=+g[b+(l<<4)>>2];f=+g[b+(l<<4)+4>>2];k=+B(+(j*j+f*f));if(k!=0.0){i=f*(e/k);f=+g[b+(l<<4)+8>>2]<0.0?-h:h;e=j*(e/k)}else{i=0.0;f=+g[b+(l<<4)+8>>2]<0.0?-h:h}g[c+(l<<4)>>2]=e;g[c+(l<<4)+4>>2]=i;g[c+(l<<4)+8>>2]=f;l=l+1|0}while((l|0)!=(d|0));return}function xk(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;c[b+4>>2]=c[d>>2];c[b>>2]=11688;a[b+24>>0]=1;c[b+20>>2]=0;c[b+12>>2]=0;c[b+16>>2]=0;a[b+44>>0]=1;c[b+40>>2]=0;c[b+32>>2]=0;c[b+36>>2]=0;a[b+64>>0]=1;c[b+60>>2]=0;c[b+52>>2]=0;c[b+56>>2]=0;a[b+68>>0]=g&1;c[b+72>>2]=c[d+4>>2];a[b+76>>0]=0;c[b+80>>2]=c[(c[(g?f:e)+4>>2]|0)+72>>2];yg(b,e,f);return}function yk(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0.0,f=0.0,h=0.0,i=0.0,j=0.0,k=0.0,l=0;if((d|0)<=0)return;l=0;do{e=+g[a+32>>2];h=+g[a+36>>2];j=+g[b+(l<<4)>>2];f=+g[b+(l<<4)+8>>2];k=+B(+(j*j+f*f));if(k!=0.0){i=f*(e/k);f=+g[b+(l<<4)+4>>2]<0.0?-h:h;e=j*(e/k)}else{i=0.0;f=+g[b+(l<<4)+4>>2]<0.0?-h:h}g[c+(l<<4)>>2]=e;g[c+(l<<4)+4>>2]=f;g[c+(l<<4)+8>>2]=i;l=l+1|0}while((l|0)!=(d|0));return}function zk(a,b){a=a|0;b=b|0;var d=0.0,e=0.0,f=0.0,h=0,i=0,j=0;j=c[a+72>>2]|0;i=c[a+68>>2]|0;h=c[a+76>>2]|0;e=+g[a+64>>2]*(+g[b+(j<<2)>>2]/+g[a+16+(j<<2)>>2]);g[a+64>>2]=e;f=+g[a+60>>2]*(+g[b+(i<<2)>>2]/+g[a+16+(i<<2)>>2]+ +g[b+(h<<2)>>2]/+g[a+16+(h<<2)>>2])*.5;g[a+60>>2]=f;g[a+56>>2]=f/+B(+(e*e+f*f));f=+A(+(+g[b>>2]));e=+A(+(+g[b+4>>2]));d=+A(+(+g[b+8>>2]));g[a+16>>2]=f;g[a+20>>2]=e;g[a+24>>2]=d;g[a+28>>2]=0.0;return}function Ak(b){b=b|0;var d=0;c[b>>2]=7984;d=c[b+336>>2]|0;if(d|0){if(a[b+340>>0]|0){c[6898]=(c[6898]|0)+1;md(c[d+-4>>2]|0)}c[b+336>>2]=0}a[b+340>>0]=1;c[b+336>>2]=0;c[b+328>>2]=0;c[b+332>>2]=0;c[b>>2]=7252;d=c[b+296>>2]|0;if(!d){a[b+300>>0]=1;c[b+296>>2]=0;c[b+288>>2]=0;b=b+292|0;c[b>>2]=0;return}if(a[b+300>>0]|0){c[6898]=(c[6898]|0)+1;md(c[d+-4>>2]|0)}c[b+296>>2]=0;a[b+300>>0]=1;c[b+296>>2]=0;c[b+288>>2]=0;b=b+292|0;c[b>>2]=0;return}function Bk(b){b=b|0;var d=0;c[b>>2]=6576;d=c[b+556>>2]|0;if(d|0){if(a[b+560>>0]|0){c[6898]=(c[6898]|0)+1;md(c[d+-4>>2]|0)}c[b+556>>2]=0}a[b+560>>0]=1;c[b+556>>2]=0;c[b+548>>2]=0;c[b+552>>2]=0;c[b>>2]=7252;d=c[b+296>>2]|0;if(!d){a[b+300>>0]=1;c[b+296>>2]=0;c[b+288>>2]=0;b=b+292|0;c[b>>2]=0;return}if(a[b+300>>0]|0){c[6898]=(c[6898]|0)+1;md(c[d+-4>>2]|0)}c[b+296>>2]=0;a[b+300>>0]=1;c[b+296>>2]=0;c[b+288>>2]=0;b=b+292|0;c[b>>2]=0;return}function Ck(b){b=b|0;var d=0;d=Nr()|0;c[d+8>>2]=0;c[d+12>>2]=-1;c[d+16>>2]=1065353216;c[d+20>>2]=1065353216;c[d+24>>2]=1065353216;g[d+28>>2]=0.0;g[d+48>>2]=.03999999910593033;c[d+56>>2]=0;c[d+60>>2]=1065353216;c[d+64>>2]=1065353216;c[d+68>>2]=1065353216;g[d+72>>2]=0.0;c[d+76>>2]=-1082130432;c[d+80>>2]=-1082130432;c[d+84>>2]=-1082130432;g[d+88>>2]=0.0;a[d+92>>0]=0;c[d>>2]=9400;c[d+96>>2]=b;c[d+4>>2]=3;Ci(d);return d|0}function Dk(b){b=b|0;var d=0,e=0;d=c[b>>2]|0;if(d|0)Dm(b,d);d=c[b+4>>2]|0;if(d|0){c[6898]=(c[6898]|0)+1;md(c[d+-4>>2]|0)}c[b+4>>2]=0;c[b+8>>2]=-1;d=c[b+32>>2]|0;if(!d){d=b+28|0;e=b+16|0;c[e>>2]=0;a[b+36>>0]=1;c[b+32>>2]=0;c[b+24>>2]=0;c[d>>2]=0;return}if(a[b+36>>0]|0){c[6898]=(c[6898]|0)+1;md(c[d+-4>>2]|0)}c[b+32>>2]=0;e=b+28|0;d=b+16|0;c[d>>2]=0;a[b+36>>0]=1;c[b+32>>2]=0;c[b+24>>2]=0;c[e>>2]=0;return}function Ek(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=l;l=l+48|0;c[f+32>>2]=6972;c[f+32+4>>2]=e;c[f>>2]=c[b>>2];c[f+4>>2]=c[b+4>>2];c[f+8>>2]=c[b+8>>2];c[f+12>>2]=c[b+12>>2];c[f+16>>2]=c[d>>2];c[f+16+4>>2]=c[d+4>>2];c[f+16+8>>2]=c[d+8>>2];c[f+16+12>>2]=c[d+12>>2];We(c[a+4>>2]|0,f,f+32|0);We(c[a+44>>2]|0,f,f+32|0);l=f;return}function Fk(b,d){b=b|0;d=+d;var e=0,f=0,h=0.0;d=1.0/+g[(c[b+108>>2]|0)+404>>2];if((c[b+128>>2]|0)<=0)return;e=0;do{f=c[b+136>>2]|0;if(!(a[f+(e*284|0)+84>>0]|0))h=0.0;else{h=+g[f+(e*284|0)+272>>2];h=d*(+g[f+(e*284|0)+216>>2]*(+g[f+(e*284|0)+204>>2]-+g[f+(e*284|0)+32>>2])*+g[f+(e*284|0)+268>>2]-h*+g[(h<0.0?f+(e*284|0)+220|0:f+(e*284|0)+224|0)>>2]);h=h<0.0?0.0:h}g[f+(e*284|0)+276>>2]=h;e=e+1|0}while((e|0)<(c[b+128>>2]|0));return}function Gk(a,b,c,d){a=a|0;b=+b;c=+c;d=+d;var e=0,f=0.0,h=0.0,i=0.0;e=l;l=l+48|0;f=+cH(b);h=+cH(c);i=+cH(d);b=+bH(b);c=+bH(c);d=+bH(d);g[e+32>>2]=h*i;g[e+28>>2]=c*b*i-f*d;g[e+24>>2]=c*f*i+b*d;g[e+20>>2]=h*d;g[e+16>>2]=c*b*d+f*i;g[e+12>>2]=c*f*d-b*i;g[e+8>>2]=-c;g[e+4>>2]=h*b;g[e>>2]=h*f;Eo(a,e+32|0,e+28|0,e+24|0,e+20|0,e+16|0,e+12|0,e+8|0,e+4|0,e);l=e;return}function Hk(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;b=c[d>>2]|0;b=ub[c[(c[b>>2]|0)+56>>2]&31](b,80)|0;d=c[d>>2]|0;c[b+4>>2]=d;c[b>>2]=11816;c[b+8>>2]=11864;c[b+56>>2]=d;c[b+60>>2]=0;c[b+44>>2]=f;c[b+48>>2]=e;f=wb[c[(c[d>>2]|0)+12>>2]&63](d,c[f+8>>2]|0,c[e+8>>2]|0)|0;c[b+72>>2]=f;e=c[b+56>>2]|0;Ib[c[(c[e>>2]|0)+20>>2]&127](e,f);a[b+76>>0]=1;return b|0}function Ik(a,d,f,g,h,i){a=a|0;d=d|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0;j=c[a+108>>2]|0;if(j|0){Ub[c[(c[j>>2]|0)+24>>2]&7](j,d,f,g,h,i);return}d=b[a+56>>1]|0;if(!(d<<16>>16))return;h=1;i=1;do{f=c[a+68>>2]|0;if(b[f+(i<<2)>>1]&1){ub[c[(c[g>>2]|0)+8>>2]&31](g,(c[a+60>>2]|0)+((e[f+(i<<2)+2>>1]|0)<<6)|0)|0;d=b[a+56>>1]|0}h=h+1<<16>>16;i=h&65535}while(((d&65535)<<1|1)>>>0>i>>>0);return}function Jk(a,b){a=a|0;b=b|0;var d=0.0,e=0.0,f=0.0,h=0.0,i=0.0,j=0.0;f=+g[a+32>>2]/+g[a+16>>2];e=+g[a+36>>2]/+g[a+20>>2];d=+g[a+40>>2]/+g[a+24>>2];j=+A(+(+g[b>>2]));i=+A(+(+g[b+4>>2]));h=+A(+(+g[b+8>>2]));g[a+16>>2]=j;g[a+20>>2]=i;g[a+24>>2]=h;g[a+28>>2]=0.0;e=e*+g[b+4>>2];d=d*+g[b+8>>2];g[a+32>>2]=f*+g[b>>2];g[a+36>>2]=e;g[a+40>>2]=d;g[a+44>>2]=0.0;c[a+48>>2]=c[a+32+((((c[a+56>>2]|0)+2|0)%3|0)<<2)>>2];return}function Kk(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0;h=l;l=l+16|0;c[h>>2]=a;c[h+4>>2]=e;e=c[(c[b+4>>2]|0)+4>>2]|0;g=c[(c[d+4>>2]|0)+4>>2]|0;if((f|0)==1){f=c[a+76+(e*144|0)+(g<<2)>>2]|0;f=xb[c[(c[f>>2]|0)+8>>2]&31](f,h,b,d)|0;l=h;return f|0}else{f=c[a+5260+(e*144|0)+(g<<2)>>2]|0;f=xb[c[(c[f>>2]|0)+8>>2]&31](f,h,b,d)|0;l=h;return f|0}return 0}function Lk(a,b,d){a=a|0;b=b|0;d=d|0;var e=0.0,f=0,h=0.0,i=0.0;e=+g[a+32>>2];i=+g[a+36>>2];h=+g[a+40>>2];switch(d|0){case 0:{a=0;d=0;f=1065353216;break}case 1:{a=0;d=0;f=-1082130432;break}case 2:{a=0;d=1065353216;f=0;e=i;break}case 3:{a=0;d=-1082130432;f=0;e=i;break}case 4:{a=1065353216;d=0;f=0;e=h;break}case 5:{a=-1082130432;d=0;f=0;e=h;break}default:return}c[b>>2]=f;c[b+4>>2]=d;c[b+8>>2]=a;g[b+12>>2]=-e;return}function Mk(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;b=c[d>>2]|0;b=ub[c[(c[b>>2]|0)+56>>2]&31](b,80)|0;d=c[d>>2]|0;c[b+4>>2]=d;c[b>>2]=11816;c[b+8>>2]=11864;c[b+56>>2]=d;c[b+60>>2]=0;c[b+44>>2]=e;c[b+48>>2]=f;f=wb[c[(c[d>>2]|0)+12>>2]&63](d,c[e+8>>2]|0,c[f+8>>2]|0)|0;c[b+72>>2]=f;e=c[b+56>>2]|0;Ib[c[(c[e>>2]|0)+20>>2]&127](e,f);a[b+76>>0]=0;return b|0}function Nk(a){a=a|0;var b=0,d=0,e=0,f=0.0,h=0.0;e=c[a+248>>2]|0;if((e|0)<=0)return;b=c[a+256>>2]|0;a=0;do{d=c[b+(a<<2)>>2]|0;switch(c[d+220>>2]|0){case 2:case 5:break;default:if(!(c[d+204>>2]&3)){h=+g[d+428>>2]*+g[d+412>>2];f=+g[d+432>>2]*+g[d+416>>2];g[d+472>>2]=+g[d+424>>2]*+g[d+408>>2]+ +g[d+472>>2];g[d+476>>2]=h+ +g[d+476>>2];g[d+480>>2]=f+ +g[d+480>>2]}}a=a+1|0}while((a|0)!=(e|0));return}function Ok(a,b){a=a|0;b=b|0;var c=0,d=0.0,e=0.0,f=0.0,h=0.0,i=0.0,j=0.0,k=0.0,m=0.0;c=l;l=l+16|0;m=+g[a+12>>2];i=+g[(kH(b)|0)>>2];j=+g[a>>2];k=+g[b+12>>2];h=+g[a+4>>2];d=+g[(TG(b)|0)>>2];e=+g[a+8>>2];f=+g[(UG(b)|0)>>2];g[c+12>>2]=m*i+j*k+h*d-e*f;g[c+8>>2]=m*f+h*k+e*i-j*d;g[c+4>>2]=m*d+e*k+j*f-h*i;g[c>>2]=m*k-j*i-h*f-e*d;_q(a,c+12|0,c+8|0,c+4|0,c);l=c;return a|0}function Pk(a,b,d){a=a|0;b=+b;d=d|0;var e=0,f=0,h=0,i=0;h=l;l=l+16|0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;c[d+12>>2]=0;f=c[a+156>>2]|0;if(!f){l=h;return}e=f;do{e=e+-1|0;i=c[(c[a+164>>2]|0)+(e<<2)>>2]|0;Gb[c[(c[i>>2]|0)+32>>2]&15](i,b/+(f|0),h);g[d>>2]=+g[h>>2]+ +g[d>>2];g[d+4>>2]=+g[h+4>>2]+ +g[d+4>>2];g[d+8>>2]=+g[h+8>>2]+ +g[d+8>>2]}while((e|0)!=0);l=h;return}function Qk(a,b,d){a=a|0;b=+b;d=d|0;var e=0,f=0.0,h=0.0,i=0.0,j=0,k=0;e=l;l=l+16|0;j=c[a+56>>2]|0;k=c[a+32+(((j+2|0)%3|0)<<2)>>2]|0;c[e>>2]=k;c[e+4>>2]=k;c[e+8>>2]=k;g[e+12>>2]=0.0;g[e+(j<<2)>>2]=+g[a+32+(j<<2)>>2]+ +g[e+(j<<2)>>2];h=+g[e>>2]*2.0;f=+g[e+4>>2]*2.0;i=+g[e+8>>2]*2.0;g[d>>2]=b*.0833333283662796*(f*f+i*i);g[d+4>>2]=b*.0833333283662796*(h*h+i*i);g[d+8>>2]=b*.0833333283662796*(h*h+f*f);l=e;return}function Rk(a,b){a=a|0;b=+b;var d=0.0,e=0.0,f=0.0,h=0.0,i=0.0;h=+ib[c[(c[a>>2]|0)+48>>2]&15](a);e=+ib[c[(c[a>>2]|0)+48>>2]&15](a);i=+ib[c[(c[a>>2]|0)+48>>2]&15](a);h=h+ +g[a+32>>2];e=e+ +g[a+36>>2];i=i+ +g[a+40>>2];g[a+48>>2]=b;f=+ib[c[(c[a>>2]|0)+48>>2]&15](a);d=+ib[c[(c[a>>2]|0)+48>>2]&15](a);b=i-+ib[c[(c[a>>2]|0)+48>>2]&15](a);g[a+32>>2]=h-f;g[a+36>>2]=e-d;g[a+40>>2]=b;g[a+44>>2]=0.0;return}function Sk(b,d,e){b=b|0;d=d|0;e=e|0;var f=0;f=Dr()|0;Ed(f,b,d,e);c[f>>2]=5940;c[f+4>>2]=9;a[f+1309>>0]=0;a[f+1309+1>>0]=0;a[f+1309+2>>0]=0;a[f+1309+3>>0]=0;a[f+1309+4>>0]=0;a[f+1309+5>>0]=0;b=f+1316|0;d=b+48|0;do{c[b>>2]=0;b=b+4|0}while((b|0)<(d|0));g[f+1364>>2]=1.0;g[f+1368>>2]=1.0;g[f+1372>>2]=1.0;g[f+1376>>2]=1.0;g[f+1380>>2]=1.0;g[f+1384>>2]=1.0;return f|0}function Tk(a,b){a=a|0;b=b|0;var c=0.0,d=0.0,e=0.0,f=0;f=l;l=l+16|0;d=+g[b>>2];e=+g[b+4>>2];c=+g[b+8>>2];if(!(d*d+e*e+c*c>0.0)){e=d*d+e*e+c*c;e=+B(+e);b=a+52|0;g[b>>2]=e;l=f;return}g[f>>2]=-d;g[f+4>>2]=-e;g[f+8>>2]=-c;g[f+12>>2]=0.0;Yd(a,f);c=+g[b>>2];d=+g[b+4>>2];e=+g[b+8>>2];e=c*c+d*d+e*e;e=+B(+e);b=a+52|0;g[b>>2]=e;l=f;return}function Uk(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;b=c[d>>2]|0;b=ub[c[(c[b>>2]|0)+56>>2]&31](b,16)|0;d=c[d>>2]|0;c[b+4>>2]=d;c[b>>2]=11640;a[b+8>>0]=0;c[b+12>>2]=0;if(!(wb[c[(c[d>>2]|0)+24>>2]&63](d,c[e+8>>2]|0,c[f+8>>2]|0)|0))return b|0;d=c[b+4>>2]|0;c[b+12>>2]=wb[c[(c[d>>2]|0)+12>>2]&63](d,c[e+8>>2]|0,c[f+8>>2]|0)|0;a[b+8>>0]=1;return b|0}function Vk(a){a=a|0;var b=0,d=0;c[a>>2]=10524;b=c[a+12>>2]|0;if(b|0){d=c[a+4>>2]|0;Ib[c[(c[d>>2]|0)+16>>2]&127](d,b);c[a+12>>2]=0}b=c[a+8>>2]|0;if(!b){d=a+24|0;c[d>>2]=-1;c[d+4>>2]=-1;c[d+8>>2]=-1;c[d+12>>2]=-1;return}Db[c[c[b>>2]>>2]&511](b);d=c[a+4>>2]|0;Ib[c[(c[d>>2]|0)+60>>2]&127](d,c[a+8>>2]|0);c[a+8>>2]=0;d=a+24|0;c[d>>2]=-1;c[d+4>>2]=-1;c[d+8>>2]=-1;c[d+12>>2]=-1;return}function Wk(b,d){b=b|0;d=d|0;var e=0.0,f=0.0,h=0.0,i=0.0,j=0.0;a[b+251>>0]=1;c[b+68>>2]=c[d>>2];c[b+68+4>>2]=c[d+4>>2];c[b+68+8>>2]=c[d+8>>2];c[b+68+12>>2]=c[d+12>>2];e=+g[b+68>>2];f=+g[b+72>>2];h=+g[b+76>>2];i=+B(+(e*e+f*f+h*h));if(i>1.1920928955078125e-07){j=e*(1.0/i);f=f*(1.0/i);e=h*(1.0/i);d=c[b+80>>2]|0}else{j=0.0;f=0.0;e=0.0;d=0}g[b+84>>2]=j;g[b+88>>2]=f;g[b+92>>2]=e;c[b+96>>2]=d;return}function Xk(a,b){a=a|0;b=+b;var d=0,e=0.0,f=0.0,h=0.0,i=0.0;d=$r()|0;c[d+4>>2]=35;c[d+8>>2]=0;c[d+12>>2]=-1;g[d+16>>2]=0.0;c[d>>2]=10256;i=+g[a>>2];h=+g[a+4>>2];f=+g[a+8>>2];a=c[a+12>>2]|0;e=1.0/+B(+(i*i+h*h+f*f));g[d+52>>2]=i*e;g[d+56>>2]=h*e;g[d+60>>2]=f*e;c[d+64>>2]=a;g[d+68>>2]=b;c[d+72>>2]=1065353216;c[d+76>>2]=1065353216;c[d+80>>2]=1065353216;g[d+84>>2]=0.0;c[d+4>>2]=28;return d|0}function Yk(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0;g=l;l=l+32|0;a=sb[c[(c[a>>2]|0)+84>>2]&127](a)|0;Mb[c[(c[a>>2]|0)+16>>2]&127](a,b,g);Dg(g,d);c[e>>2]=c[g>>2];c[e+4>>2]=c[g+4>>2];c[e+8>>2]=c[g+8>>2];c[e+12>>2]=c[g+12>>2];c[f>>2]=c[g+16>>2];c[f+4>>2]=c[g+16+4>>2];c[f+8>>2]=c[g+16+8>>2];c[f+12>>2]=c[g+16+12>>2];l=g;return}function Zk(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0.0,h=0.0,i=0.0,j=0.0,k=0.0;i=+ib[c[(c[a>>2]|0)+48>>2]&15](a);h=+ib[c[(c[a>>2]|0)+48>>2]&15](a);f=+ib[c[(c[a>>2]|0)+48>>2]&15](a);k=+g[b+52>>2]-h;j=+g[b+56>>2]-f;g[d>>2]=+g[b+48>>2]-i;g[d+4>>2]=k;g[d+8>>2]=j;g[d+12>>2]=0.0;h=h+ +g[b+52>>2];f=f+ +g[b+56>>2];g[e>>2]=i+ +g[b+48>>2];g[e+4>>2]=h;g[e+8>>2]=f;g[e+12>>2]=0.0;return}function _k(a){a=a|0;var b=0,d=0,e=0.0,f=0.0;if((c[a+128>>2]|0)<=0)return;b=0;do{d=c[a+136>>2]|0;c[d+(b*284|0)+32>>2]=c[d+(b*284|0)+204>>2];g[d+(b*284|0)+272>>2]=0.0;f=-+g[d+(b*284|0)+56>>2];e=-+g[d+(b*284|0)+60>>2];g[d+(b*284|0)>>2]=-+g[d+(b*284|0)+52>>2];g[d+(b*284|0)+4>>2]=f;g[d+(b*284|0)+8>>2]=e;g[d+(b*284|0)+12>>2]=0.0;g[d+(b*284|0)+268>>2]=1.0;b=b+1|0}while((b|0)<(c[a+128>>2]|0));return}function $k(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0;g=c[d>>2]|0;g=ub[c[(c[g>>2]|0)+56>>2]&31](g,20)|0;h=c[d+4>>2]|0;i=a[b+4>>0]|0;b=c[d>>2]|0;c[g+4>>2]=b;c[g>>2]=8152;a[g+8>>0]=0;c[g+12>>2]=h;a[g+16>>0]=i;if(h|0)return g|0;c[g+12>>2]=wb[c[(c[b>>2]|0)+12>>2]&63](b,c[e+8>>2]|0,c[f+8>>2]|0)|0;a[g+8>>0]=1;return g|0}function al(b){b=b|0;var d=0;c[b>>2]=7984;d=c[b+336>>2]|0;if(d|0){if(a[b+340>>0]|0){c[6898]=(c[6898]|0)+1;md(c[d+-4>>2]|0)}c[b+336>>2]=0}a[b+340>>0]=1;c[b+336>>2]=0;c[b+328>>2]=0;c[b+332>>2]=0;c[b>>2]=7252;d=c[b+296>>2]|0;if(d|0){if(a[b+300>>0]|0){c[6898]=(c[6898]|0)+1;md(c[d+-4>>2]|0)}c[b+296>>2]=0}a[b+300>>0]=1;c[b+296>>2]=0;c[b+288>>2]=0;c[b+292>>2]=0;c[6898]=(c[6898]|0)+1;md(c[b+-4>>2]|0);return}function bl(a,b,d){a=a|0;b=b|0;d=d|0;var e=0.0,f=0.0,h=0.0,i=0.0,j=0.0;j=+g[d>>2];i=+g[d+4>>2];e=+g[d+8>>2];f=j*+g[b+60>>2]+i*+g[b+64>>2]+e*+g[b+68>>2];h=j*+g[b+76>>2]+i*+g[b+80>>2]+e*+g[b+84>>2];e=j*+g[b+92>>2]+i*+g[b+96>>2]+e*+g[b+100>>2];d=b+60+((f<h?(h<e?2:1):f<e?2:0)<<4)|0;c[a>>2]=c[d>>2];c[a+4>>2]=c[d+4>>2];c[a+8>>2]=c[d+8>>2];c[a+12>>2]=c[d+12>>2];return}function cl(b){b=b|0;var d=0;c[b>>2]=6576;d=c[b+556>>2]|0;if(d|0){if(a[b+560>>0]|0){c[6898]=(c[6898]|0)+1;md(c[d+-4>>2]|0)}c[b+556>>2]=0}a[b+560>>0]=1;c[b+556>>2]=0;c[b+548>>2]=0;c[b+552>>2]=0;c[b>>2]=7252;d=c[b+296>>2]|0;if(d|0){if(a[b+300>>0]|0){c[6898]=(c[6898]|0)+1;md(c[d+-4>>2]|0)}c[b+296>>2]=0}a[b+300>>0]=1;c[b+296>>2]=0;c[b+288>>2]=0;c[b+292>>2]=0;c[6898]=(c[6898]|0)+1;md(c[b+-4>>2]|0);return}function dl(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=l;l=l+48|0;c[f>>2]=10504;c[f+4>>2]=b;c[f+8>>2]=c[d>>2];c[f+8+4>>2]=c[d+4>>2];c[f+8+8>>2]=c[d+8>>2];c[f+8+12>>2]=c[d+12>>2];c[f+24>>2]=c[e>>2];c[f+24+4>>2]=c[e+4>>2];c[f+24+8>>2]=c[e+8>>2];c[f+24+12>>2]=c[e+12>>2];b=c[a+52>>2]|0;Pb[c[(c[b>>2]|0)+8>>2]&127](b,f,d,e);l=f;return}function el(a,b,d){a=a|0;b=b|0;d=d|0;Wu(a);c[a>>2]=5216;DD(a+16|0);c[a+36>>2]=c[b>>2];c[a+36+4>>2]=c[b+4>>2];c[a+36+8>>2]=c[b+8>>2];c[a+36+12>>2]=c[b+12>>2];c[a+52>>2]=c[d>>2];c[a+52+4>>2]=c[d+4>>2];c[a+52+8>>2]=c[d+8>>2];c[a+52+12>>2]=c[d+12>>2];DD(a+68|0);DD(a+88|0);DD(a+108|0);return}function fl(a,b,d){a=a|0;b=b|0;d=d|0;Hs(a);c[a>>2]=5592;DD(a+24|0);c[a+44>>2]=c[b>>2];c[a+44+4>>2]=c[b+4>>2];c[a+44+8>>2]=c[b+8>>2];c[a+44+12>>2]=c[b+12>>2];c[a+60>>2]=c[d>>2];c[a+60+4>>2]=c[d+4>>2];c[a+60+8>>2]=c[d+8>>2];c[a+60+12>>2]=c[d+12>>2];DD(a+76|0);DD(a+96|0);DD(a+116|0);return}function gl(a,b,d){a=a|0;b=+b;d=d|0;var e=0.0,f=0.0,h=0.0,i=0.0,j=0.0;i=+g[a+32>>2];f=+g[a+36>>2];j=+g[a+40>>2];h=+ib[c[(c[a>>2]|0)+48>>2]&15](a);e=+ib[c[(c[a>>2]|0)+48>>2]&15](a);j=(j+ +ib[c[(c[a>>2]|0)+48>>2]&15](a))*2.0;g[d>>2]=b/12.0*((f+e)*2.0*(f+e)*2.0+j*j);g[d+4>>2]=b/12.0*((i+h)*2.0*(i+h)*2.0+j*j);g[d+8>>2]=b/12.0*((i+h)*2.0*(i+h)*2.0+(f+e)*2.0*(f+e)*2.0);g[d+12>>2]=0.0;return}function hl(a,b,d,e,f,h){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;var i=0;d=l;l=l+16|0;c[d>>2]=7008;c[d+4>>2]=e;i=c[a+168>>2]|0;Xd(c[a+4>>2]|0,b,e+4|0,e+20|0,+g[e+32>>2],f,h,i,d);Xd(c[a+44>>2]|0,b,e+4|0,e+20|0,+g[e+32>>2],f,h,i,d);l=d;return}function il(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=l;l=l+32|0;sp(a,+g[b>>2],+g[b+4>>2],+g[b+8>>2]);dp(d,+g[b>>2],+g[b+4>>2],+g[b+8>>2],+g[a+408>>2],+g[a+412>>2],+g[a+416>>2]);wo(d+16|0,+g[c>>2],+g[c+4>>2],+g[c+8>>2],+g[d>>2],+g[d+4>>2],+g[d+8>>2]);xp(a,+g[d+16>>2],+g[d+16+4>>2],+g[d+16+8>>2]);l=d;return}function jl(a,b,c,d,e){a=a|0;b=b|0;c=+c;d=+d;e=+e;var f=0,h=0;f=l;l=l+16|0;h=tF(b,0)|0;g[f+8>>2]=+cx(+g[h>>2],+g[h+4>>2],+g[h+8>>2],c,d,e);h=tF(b,1)|0;g[f+4>>2]=+cx(+g[h>>2],+g[h+4>>2],+g[h+8>>2],c,d,e);b=tF(b,2)|0;g[f>>2]=+cx(+g[b>>2],+g[b+4>>2],+g[b+8>>2],c,d,e);Lr(a,f+8|0,f+4|0,f);l=f;return}function kl(){var a=0,b=0,d=0;a=Wr()|0;c[a>>2]=1025;b=a+120|0;d=b+44|0;do{c[b>>2]=0;b=b+4|0}while((b|0)<(d|0));b=a+312|0;d=b+44|0;do{c[b>>2]=0;b=b+4|0}while((b|0)<(d|0));b=a+504|0;d=b+44|0;do{c[b>>2]=0;b=b+4|0}while((b|0)<(d|0));b=a+696|0;d=b+44|0;do{c[b>>2]=0;b=b+4|0}while((b|0)<(d|0));c[a+772>>2]=0;c[a+776>>2]=0;c[a+780>>2]=0;c[a+800>>2]=0;return a|0}function ll(a,b,d){a=a|0;b=b|0;d=d|0;a:do switch(c[b+220>>2]|0){case 2:case 5:{switch(c[d+220>>2]|0){case 2:case 5:{a=0;break}default:break a}return a|0}default:{}}while(0);if(!((c[b+280>>2]|0)!=0?!(ub[c[(c[b>>2]|0)+12>>2]&31](b,d)|0):0)){if(!(c[d+280>>2]|0)){d=1;return d|0}if(ub[c[(c[d>>2]|0)+12>>2]&31](d,b)|0){d=1;return d|0}}d=0;return d|0}function ml(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;f=c[a+296>>2]|0;a:do if((f|0)>0){e=c[a+304>>2]|0;d=0;while(1){if((c[e+(d<<2)>>2]|0)==(b|0))break a;d=d+1|0;if((d|0)>=(f|0)){d=f;break}}}else d=f;while(0);if((f|0)<=(d|0))return;g=c[a+304>>2]|0;b=g+(d<<2)|0;e=c[b>>2]|0;c[b>>2]=c[g+(f+-1<<2)>>2];c[(c[a+304>>2]|0)+(f+-1<<2)>>2]=e;c[a+296>>2]=f+-1;return}function nl(a,b,d){a=a|0;b=b|0;d=d|0;var e=0.0,f=0.0,h=0.0,i=0.0,j=0.0;j=+g[a+32>>2];h=+g[a+36>>2];e=+g[a+40>>2];i=+ib[c[(c[a>>2]|0)+48>>2]&15](a);f=+ib[c[(c[a>>2]|0)+48>>2]&15](a);e=e+ +ib[c[(c[a>>2]|0)+48>>2]&15](a);g[d>>2]=(j+i)*+(b&1^1|0)-(j+i)*+(b&1|0);g[d+4>>2]=(h+f)*+(b>>>1&1^1|0)-(h+f)*+(b>>>1&1|0);g[d+8>>2]=e*+(b>>>2&1^1|0)-e*+(b>>>2&1|0);g[d+12>>2]=0.0;return}function ol(b,c,d){b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0;if(c>>>0>0|(c|0)==0&b>>>0>4294967295){do{e=b;b=aA(b|0,c|0,10,0)|0;f=c;c=y;g=Pr(b|0,c|0,-10,-1)|0;g=iv(e|0,f|0,g|0,y|0)|0;d=d+-1|0;a[d>>0]=g&255|48}while(f>>>0>9|(f|0)==9&e>>>0>4294967295);c=b}else c=b;if(c)do{g=c;c=(c>>>0)/10|0;d=d+-1|0;a[d>>0]=g+(N(c,-10)|0)|48}while(g>>>0>=10);return d|0}function pl(a,b,c,d,e){a=a|0;b=b|0;c=+c;d=+d;e=+e;var f=0,h=0,i=0,j=0;f=l;l=l+16|0;j=tF(b,0)|0;i=tF(b,1)|0;h=tF(b,2)|0;cm(f,c,d,e,+g[j>>2],+g[j+4>>2],+g[j+8>>2],+g[i>>2],+g[i+4>>2],+g[i+8>>2],+g[h>>2],+g[h+4>>2],+g[h+8>>2]);cp(a,+g[f>>2],+g[f+4>>2],+g[f+8>>2],+g[b+48>>2],+g[b+52>>2],+g[b+56>>2]);l=f;return}function ql(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0.0,g=0;e=l;l=l+16|0;c[e>>2]=-1;c[e+4>>2]=c[a+20>>2];if(!(c[b+4>>2]|0))c[b+4>>2]=e;g=c[a+16>>2]|0;f=+lb[c[(c[g>>2]|0)+12>>2]&31](g,b,d);c[a+4>>2]=c[(c[a+16>>2]|0)+4>>2];l=e;return +f}function rl(a,b,d){a=a|0;b=b|0;d=d|0;var e=0.0,f=0.0,h=0.0,i=0.0,j=0.0;i=+g[b+32>>2];j=+g[b+36>>2];e=+g[b+40>>2];h=+ib[c[(c[b>>2]|0)+48>>2]&15](b);f=+ib[c[(c[b>>2]|0)+48>>2]&15](b);e=e+ +ib[c[(c[b>>2]|0)+48>>2]&15](b);f=+g[d+4>>2]>=0.0?j+f:-(j+f);e=+g[d+8>>2]>=0.0?e:-e;g[a>>2]=+g[d>>2]>=0.0?i+h:-(i+h);g[a+4>>2]=f;g[a+8>>2]=e;g[a+12>>2]=0.0;return}function sl(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0.0,h=0.0,i=0.0;if((d|0)<=0)return;e=0;do{i=+g[a+32>>2];h=+g[a+36>>2];h=+g[b+(e<<4)+4>>2]>=0.0?h:-h;f=+g[a+40>>2];f=+g[b+(e<<4)+8>>2]>=0.0?f:-f;g[c+(e<<4)>>2]=+g[b+(e<<4)>>2]>=0.0?i:-i;g[c+(e<<4)+4>>2]=h;g[c+(e<<4)+8>>2]=f;g[c+(e<<4)+12>>2]=0.0;e=e+1|0}while((e|0)!=(d|0));return}function tl(a,b,d,e,f,g,h,i,j,k){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;a=c[a+32>>2]|0;c[d>>2]=c[a+(k<<5)+12>>2];c[b>>2]=c[a+(k<<5)+16>>2];c[e>>2]=c[a+(k<<5)+28>>2];c[f>>2]=c[a+(k<<5)+20>>2];c[i>>2]=c[a+(k<<5)>>2];c[g>>2]=c[a+(k<<5)+4>>2];c[h>>2]=c[a+(k<<5)+8>>2];c[j>>2]=c[a+(k<<5)+24>>2];return}function ul(b){b=b|0;var d=0,e=0;c[b>>2]=8788;d=c[b+68>>2]|0;if(d|0?(Dk(d),e=c[b+68>>2]|0,e|0):0){c[6898]=(c[6898]|0)+1;md(c[e+-4>>2]|0)}d=c[b+28>>2]|0;if(!d){a[b+32>>0]=1;c[b+28>>2]=0;c[b+20>>2]=0;b=b+24|0;c[b>>2]=0;return}if(a[b+32>>0]|0){c[6898]=(c[6898]|0)+1;md(c[d+-4>>2]|0)}c[b+28>>2]=0;a[b+32>>0]=1;c[b+28>>2]=0;c[b+20>>2]=0;b=b+24|0;c[b>>2]=0;return}function vl(a,b){a=+a;b=+b;var d=0;d=xs()|0;c[d+8>>2]=0;c[d+12>>2]=-1;c[d>>2]=9300;c[d+16>>2]=1065353216;c[d+20>>2]=1065353216;c[d+24>>2]=1065353216;g[d+28>>2]=0.0;g[d+48>>2]=.03999999910593033;g[d+60>>2]=a;g[d+64>>2]=b;c[d+4>>2]=11;g[d+56>>2]=a/+B(+(a*a+b*b));c[d>>2]=8968;c[d+68>>2]=0;c[d+72>>2]=2;c[d+76>>2]=1;g[d+32>>2]=a;g[d+40>>2]=b;g[d+36>>2]=a;return d|0}function wl(a,b){a=+a;b=+b;var d=0;d=xs()|0;c[d+8>>2]=0;c[d+12>>2]=-1;c[d>>2]=9300;c[d+16>>2]=1065353216;c[d+20>>2]=1065353216;c[d+24>>2]=1065353216;g[d+28>>2]=0.0;g[d+48>>2]=.03999999910593033;g[d+60>>2]=a;g[d+64>>2]=b;c[d+4>>2]=11;g[d+56>>2]=a/+B(+(a*a+b*b));c[d>>2]=9068;c[d+68>>2]=1;c[d+72>>2]=0;c[d+76>>2]=2;g[d+36>>2]=a;g[d+32>>2]=b;g[d+40>>2]=a;return d|0}function xl(b){b=b|0;var d=0,e=0;c[b>>2]=9168;d=c[b+108>>2]|0;if(d|0){if(a[b+112>>0]|0){c[6898]=(c[6898]|0)+1;md(c[d+-4>>2]|0)}c[b+108>>2]=0}a[b+112>>0]=1;c[b+108>>2]=0;c[b+100>>2]=0;c[b+104>>2]=0;c[b>>2]=10024;d=c[b+56>>2]|0;if(d|0?(Db[c[c[d>>2]>>2]&511](d),e=c[b+56>>2]|0,e|0):0){c[6898]=(c[6898]|0)+1;md(c[e+-4>>2]|0)}c[6898]=(c[6898]|0)+1;md(c[b+-4>>2]|0);return}function yl(a,b){a=a|0;b=+b;var d=0;d=l;l=l+16|0;c[a+8>>2]=0;c[a+12>>2]=-1;c[a+16>>2]=1065353216;c[a+20>>2]=1065353216;c[a+24>>2]=1065353216;g[a+28>>2]=0.0;g[a+48>>2]=.03999999910593033;c[a>>2]=10156;c[a+4>>2]=8;g[d+8>>2]=1.0;g[d+4>>2]=1.0;g[d>>2]=1.0;Lr(a+16|0,d+8|0,d+4|0,d);tr(a+32|0);lF(a+32|0,b);g[a+48>>2]=b;g[a+52>>2]=0.0;l=d;return}function zl(a,b){a=+a;b=+b;var d=0;d=xs()|0;c[d+8>>2]=0;c[d+12>>2]=-1;c[d+16>>2]=1065353216;c[d+20>>2]=1065353216;c[d+24>>2]=1065353216;g[d+28>>2]=0.0;g[d+48>>2]=.03999999910593033;c[d>>2]=8868;g[d+60>>2]=a;g[d+64>>2]=b;c[d+4>>2]=11;c[d+68>>2]=0;c[d+72>>2]=1;c[d+76>>2]=2;g[d+32>>2]=a;g[d+36>>2]=b;g[d+40>>2]=a;g[d+56>>2]=a/+B(+(a*a+b*b));return d|0}function Al(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;switch(b|0){case 0:{a=0;b=0;e=1065353216;break}case 1:{a=0;b=0;e=-1082130432;break}case 2:{a=0;b=1065353216;e=0;break}case 3:{a=0;b=-1082130432;e=0;break}case 4:{a=1065353216;b=0;e=0;break}case 5:{a=-1082130432;b=0;e=0;break}default:return}c[d>>2]=e;c[d+4>>2]=b;c[d+8>>2]=a;g[d+12>>2]=0.0;return}function Bl(b,d,e,f){b=b|0;d=d|0;e=e|0;f=+f;c[b+4>>2]=c[d>>2];c[b+4+4>>2]=c[d+4>>2];c[b+4+8>>2]=c[d+8>>2];c[b+4+12>>2]=c[d+12>>2];c[b+20>>2]=c[e>>2];c[b+20+4>>2]=c[e+4>>2];c[b+20+8>>2]=c[e+8>>2];c[b+20+12>>2]=c[e+12>>2];g[b+36>>2]=f;a[b+40>>0]=1;return}function Cl(a,e,f){a=a|0;e=e|0;f=f|0;var h=0.0;switch(c[a+100>>2]|0){case 0:{h=+g[(c[a+96>>2]|0)+((N(c[a+68>>2]|0,f)|0)+e<<2)>>2];return +h}case 5:{h=+(d[(c[a+96>>2]|0)+((N(c[a+68>>2]|0,f)|0)+e)>>0]|0)*+g[a+92>>2];return +h}case 3:{h=+(b[(c[a+96>>2]|0)+((N(c[a+68>>2]|0,f)|0)+e<<1)>>1]|0)*+g[a+92>>2];return +h}default:{h=0.0;return +h}}return 0.0}function Dl(a,b,d,e){a=a|0;b=b|0;d=+d;e=e|0;switch(e|0){case 5:case -1:break;default:return}switch(b|0){case 2:{g[a+764>>2]=d;c[a+748>>2]=c[a+748>>2]|2;return}case 4:{g[a+760>>2]=d;c[a+748>>2]=c[a+748>>2]|1;return}case 3:{g[a+752>>2]=d;c[a+748>>2]=c[a+748>>2]|4;return}case 1:{g[a+756>>2]=d;c[a+748>>2]=c[a+748>>2]|8;return}default:return}}function El(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;if((c[a+8>>2]|0)<=0)return;e=0;do{f=c[a+16>>2]|0;g=f+(e<<4)|0;if(ub[c[(c[b>>2]|0)+8>>2]&31](b,g)|0){xb[c[(c[a>>2]|0)+12>>2]&31](a,c[g>>2]|0,c[f+(e<<4)+4>>2]|0,d)|0;c[6881]=(c[6881]|0)+-1}else e=e+1|0}while((e|0)<(c[a+8>>2]|0));return}function Fl(a,b){a=a|0;b=b|0;var c=0.0,d=0;d=l;l=l+32|0;c=+g[b+12>>2];if(1.0-c*c<1.1920928955078125e-06){g[d+20>>2]=1.0;g[d+16>>2]=0.0;g[d+12>>2]=0.0;Lr(a,d+20|0,d+16|0,d+12|0);l=d;return}else{c=1.0/+$G(1.0-c*c);g[d+8>>2]=+g[b>>2]*c;g[d+4>>2]=+g[b+4>>2]*c;g[d>>2]=+g[b+8>>2]*c;Lr(a,d+8|0,d+4|0,d);l=d;return}}function Gl(b){b=b|0;var d=0;c[b>>2]=9168;d=c[b+108>>2]|0;if(d|0){if(a[b+112>>0]|0){c[6898]=(c[6898]|0)+1;md(c[d+-4>>2]|0)}c[b+108>>2]=0}a[b+112>>0]=1;c[b+108>>2]=0;c[b+100>>2]=0;c[b+104>>2]=0;c[b>>2]=10024;d=c[b+56>>2]|0;if(!d)return;Db[c[c[d>>2]>>2]&511](d);d=c[b+56>>2]|0;if(!d)return;c[6898]=(c[6898]|0)+1;md(c[d+-4>>2]|0);return}function Hl(a,b){a=+a;b=b|0;var d=0,e=0,f=0;h[j>>3]=a;d=c[j>>2]|0;e=c[j+4>>2]|0;f=qt(d|0,e|0,52)|0;switch(f&2047){case 0:{if(a!=0.0){a=+Hl(a*18446744073709551616.0,b);d=(c[b>>2]|0)+-64|0}else d=0;c[b>>2]=d;break}case 2047:break;default:{c[b>>2]=(f&2047)+-1022;c[j>>2]=d;c[j+4>>2]=e&-2146435073|1071644672;a=+h[j>>3]}}return +a}function Il(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=kH(c[a+4>>2]|0)|0;if((e|0)>(b|0)){c[a+4>>2]=b;return}if((e|0)<(b|0))wn(a,b);while(1){if((e|0)>=(b|0))break;f=kH((c[a+12>>2]|0)+(e<<4)|0)|0;c[f>>2]=c[d>>2];c[f+4>>2]=c[d+4>>2];c[f+8>>2]=c[d+8>>2];c[f+12>>2]=c[d+12>>2];e=e+1|0}c[a+4>>2]=b;return}function Jl(a,b){a=a|0;b=b|0;var d=0;d=l;l=l+16|0;c[a+408>>2]=c[b>>2];c[a+408+4>>2]=c[b+4>>2];c[a+408+8>>2]=c[b+8>>2];c[a+408+12>>2]=c[b+12>>2];Np(d,+g[a+408>>2],+g[a+412>>2],+g[a+416>>2],+g[a+404>>2]);c[a+620>>2]=c[d>>2];c[a+620+4>>2]=c[d+4>>2];c[a+620+8>>2]=c[d+8>>2];c[a+620+12>>2]=c[d+12>>2];l=d;return}function Kl(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;g=c[a+328>>2]|0;if((g|0)<=0)return;b=c[b>>2]|0;f=c[a+336>>2]|0;d=0;while(1){e=f+(d<<2)|0;if((c[e>>2]|0)==(b|0))break;d=d+1|0;if((d|0)>=(g|0)){h=7;break}}if((h|0)==7)return;if((d|0)>=(g|0))return;c[e>>2]=c[f+(g+-1<<2)>>2];c[a+328>>2]=g+-1;return}function Ll(a,b,c,d){a=a|0;b=+b;c=+c;d=+d;var e=0,f=0.0,h=0.0,i=0.0;e=l;l=l+16|0;f=+cH(b*.5);b=+bH(b*.5);h=+cH(c*.5);c=+bH(c*.5);i=+cH(d*.5);d=+bH(d*.5);g[e+12>>2]=d*h*f-i*c*b;g[e+8>>2]=i*c*f+d*h*b;g[e+4>>2]=i*h*b-d*c*f;g[e>>2]=i*h*f+d*c*b;_q(a,e+12|0,e+8|0,e+4|0,e);l=e;return}function Ml(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=l;l=l+32|0;Wn(f,a+20|0);Dg(f,b);c[d>>2]=c[f>>2];c[d+4>>2]=c[f+4>>2];c[d+8>>2]=c[f+8>>2];c[d+12>>2]=c[f+12>>2];c[e>>2]=c[f+16>>2];c[e+4>>2]=c[f+16+4>>2];c[e+8>>2]=c[f+16+8>>2];c[e+12>>2]=c[f+16+12>>2];l=f;return}function Nl(a,b,d,e,f,g,h,i,j,k){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;+qb[c[(c[a>>2]|0)+44>>2]&3](a,b,d,e,f,g,h,i,j);+qb[c[(c[a>>2]|0)+48>>2]&3](a,b,d,e,f,g,h,i,j);+nb[c[(c[a>>2]|0)+36>>2]&1](a,b,d,i);return 0.0}function Ol(b,d){b=b|0;d=d|0;var e=0,f=0;c[b+56>>2]=c[d>>2];c[b+56+4>>2]=c[d+4>>2];c[b+56+8>>2]=c[d+8>>2];c[b+56+12>>2]=c[d+12>>2];e=c[b+156>>2]|0;if(!e){d=b+52|0;a[d>>0]=1;return}do{e=e+-1|0;f=c[(c[b+164>>2]|0)+(e<<2)>>2]|0;Ib[c[(c[f>>2]|0)+24>>2]&127](f,d)}while((e|0)!=0);f=b+52|0;a[f>>0]=1;return}function Pl(a,b){a=a|0;b=b|0;var d=0,e=0;d=c[a+4>>2]|0;e=kH(d)|0;if((e|0)==(kH(c[a+8>>2]|0)|0)){wn(a,PD(e)|0);d=c[a+4>>2]|0}e=kH((c[a+12>>2]|0)+(d<<4)|0)|0;c[e>>2]=c[b>>2];c[e+4>>2]=c[b+4>>2];c[e+8>>2]=c[b+8>>2];c[e+12>>2]=c[b+12>>2];c[a+4>>2]=(c[a+4>>2]|0)+1;return}function Ql(a,b,d,e,f,h){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;h=+h;c[a>>2]=b;c[a+4>>2]=d;c[a+8>>2]=c[e>>2];c[a+8+4>>2]=c[e+4>>2];c[a+8+8>>2]=c[e+8>>2];c[a+8+12>>2]=c[e+12>>2];c[a+24>>2]=c[f>>2];c[a+24+4>>2]=c[f+4>>2];c[a+24+8>>2]=c[f+8>>2];c[a+24+12>>2]=c[f+12>>2];g[a+40>>2]=h;return}function Rl(){var b=0,e=0,f=0;f=l;l=l+16|0;a[f>>0]=10;b=c[3047]|0;if(!b)if(!(Un(12172)|0)){b=c[3047]|0;e=4}else b=-1;else e=4;do if((e|0)==4){e=c[3048]|0;if(!(e>>>0>=b>>>0|(a[12247]|0)==10)){c[3048]=e+1;a[e>>0]=10;b=10;break}if((wb[c[12208>>2]&63](12172,f,1)|0)==1)b=d[f>>0]|0;else b=-1}while(0);l=f;return b|0}function Sl(){var b=0;b=l;l=l+48|0;if(a[25792]|0){l=b;return}if(!(By(25792)|0)){l=b;return}g[b+32>>2]=1.0;g[b+28>>2]=0.0;g[b+24>>2]=0.0;g[b+20>>2]=0.0;g[b+16>>2]=1.0;g[b+12>>2]=0.0;g[b+8>>2]=0.0;g[b+4>>2]=0.0;g[b>>2]=1.0;Pp(26064,b+32|0,b+28|0,b+24|0,b+20|0,b+16|0,b+12|0,b+8|0,b+4|0,b);l=b;return}function Tl(a,b,c){a=a|0;b=b|0;c=+c;var d=0,e=0.0;d=l;l=l+16|0;e=+qz(+g[b>>2],+g[b+4>>2],+g[b+8>>2]);e=+bH(c*.5)/e;g[d+12>>2]=+g[(kH(b)|0)>>2]*e;g[d+8>>2]=+g[(UG(b)|0)>>2]*e;g[d+4>>2]=+g[(TG(b)|0)>>2]*e;g[d>>2]=+cH(c*.5);_q(a,d+12|0,d+8|0,d+4|0,d);l=d;return}function Ul(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0.0,g=0;e=l;l=l+16|0;c[e>>2]=-1;c[e+4>>2]=c[a+28>>2];if(!(c[b+4>>2]|0))c[b+4>>2]=e;g=c[a+24>>2]|0;f=+lb[c[(c[g>>2]|0)+12>>2]&31](g,b,d);c[a+4>>2]=c[(c[a+24>>2]|0)+4>>2];l=e;return +f}function Vl(a,b){a=a|0;b=b|0;c[a>>2]=c[b>>2];c[a+4>>2]=c[b+4>>2];c[a+8>>2]=c[b+8>>2];c[a+12>>2]=c[b+12>>2];c[a+16>>2]=c[b+16>>2];c[a+16+4>>2]=c[b+16+4>>2];c[a+16+8>>2]=c[b+16+8>>2];c[a+16+12>>2]=c[b+16+12>>2];c[a+32>>2]=c[b+32>>2];c[a+32+4>>2]=c[b+32+4>>2];c[a+32+8>>2]=c[b+32+8>>2];c[a+32+12>>2]=c[b+32+12>>2];return}function Wl(b){b=b|0;var d=0,e=0,f=0,g=0;d=c[b+8>>2]|0;if((d|0)<=0)return;f=0;do{e=c[(c[b+16>>2]|0)+(f<<2)>>2]|0;if(!(a[b+76>>0]|0))switch(c[e+220>>2]|0){case 2:case 5:break;default:g=6}else g=6;if((g|0)==6){g=0;Xe(b,e);d=c[b+8>>2]|0}f=f+1|0}while((f|0)<(d|0));return}function Xl(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0;a:do switch(b|0){case 2:case 1:{if(c>>>0<3){d=+g[a+600>>2];break a}if((c+-3|0)>>>0<3)d=+g[a+432>>2];else d=0.0;break}case 4:case 3:{if(c>>>0<3){d=+g[a+596>>2];break a}if((c+-3|0)>>>0<3)d=+g[a+604>>2];else d=0.0;break}default:d=0.0}while(0);return +d}function Yl(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;b=c[d>>2]|0;b=ub[c[(c[b>>2]|0)+56>>2]&31](b,16)|0;d=c[d>>2]|0;c[b+4>>2]=d;c[b>>2]=8124;a[b+8>>0]=0;c[b+12>>2]=0;c[b+12>>2]=wb[c[(c[d>>2]|0)+12>>2]&63](d,c[e+8>>2]|0,c[f+8>>2]|0)|0;a[b+8>>0]=1;return b|0}function Zl(a,b){a=a|0;b=b|0;var d=0,e=0;d=c[a+60>>2]|0;if(!d)return;e=sb[c[(c[d>>2]|0)+8>>2]&127](d)|0;e=wb[c[(c[b>>2]|0)+16>>2]&63](b,e,1)|0;d=c[a+60>>2]|0;d=wb[c[(c[d>>2]|0)+12>>2]&63](d,c[e+8>>2]|0,b)|0;Tb[c[(c[b>>2]|0)+20>>2]&31](b,e,d,1346456916,c[a+60>>2]|0);return}function _l(a,b,d,e){a=a|0;b=b|0;d=+d;e=e|0;switch(b|0){case 2:case 1:if(e>>>0<3){g[a+600>>2]=d;c[a+592>>2]=c[a+592>>2]|2;return}else{g[a+432>>2]=d;return}case 4:case 3:if(e>>>0<3){g[a+596>>2]=d;c[a+592>>2]=c[a+592>>2]|1;return}else{g[a+604>>2]=d;c[a+592>>2]=c[a+592>>2]|4;return}default:return}}function $l(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0;a:do switch(c|0){case 5:case -1:switch(b|0){case 2:{d=+g[a+764>>2];break a}case 4:{d=+g[a+760>>2];break a}case 3:{d=+g[a+752>>2];break a}case 1:{d=+g[a+756>>2];break a}default:{d=0.0;break a}}default:d=0.0}while(0);return +d}function am(a,b){a=a|0;b=b|0;var d=0,e=0;d=c[a+56>>2]|0;if(!d)return;e=sb[c[(c[d>>2]|0)+12>>2]&127](d)|0;e=wb[c[(c[b>>2]|0)+16>>2]&63](b,e,1)|0;d=c[a+56>>2]|0;d=wb[c[(c[d>>2]|0)+16>>2]&63](d,c[e+8>>2]|0,b)|0;Tb[c[(c[b>>2]|0)+20>>2]&31](b,e,d,1213612625,c[a+56>>2]|0);return}function bm(b,e){b=b|0;e=e|0;var f=0,g=0;f=0;while(1){if((d[496+f>>0]|0)==(b|0)){g=4;break}f=f+1|0;if((f|0)==87){b=87;g=5;break}}if((g|0)==4)if(!f)f=592;else{b=f;g=5}if((g|0)==5){f=592;do{do{g=f;f=f+1|0}while((a[g>>0]|0)!=0);b=b+-1|0}while((b|0)!=0)}return DF(f,c[e+20>>2]|0)|0}function cm(a,b,c,d,e,f,h,i,j,k,m,n,o){a=a|0;b=+b;c=+c;d=+d;e=+e;f=+f;h=+h;i=+i;j=+j;k=+k;m=+m;n=+n;o=+o;var p=0;p=l;l=l+16|0;g[p+8>>2]=+cx(b,c,d,e,f,h);g[p+4>>2]=+cx(b,c,d,i,j,k);g[p>>2]=+cx(b,c,d,m,n,o);Lr(a,p+8|0,p+4|0,p);l=p;return}function dm(a,b,c){a=a|0;b=b|0;c=+c;var d=0.0,e=0.0,f=0.0,h=0.0;e=+g[a+32>>2];f=+g[a+36>>2];h=+g[a+40>>2];d=+g[b>>2];if(!(d<=e+c)){b=0;return b|0}if(!(d>=-e-c)){b=0;return b|0}d=+g[b+4>>2];if(!(d<=f+c)){b=0;return b|0}if(!(d>=-f-c)){b=0;return b|0}d=+g[b+8>>2];if(!(d<=h+c)){b=0;return b|0}b=d>=-h-c;return b|0}function em(a,b,d){a=a|0;b=b|0;d=d|0;Wu(a);c[a>>2]=5616;c[a+16>>2]=c[b>>2];c[a+16+4>>2]=c[b+4>>2];c[a+16+8>>2]=c[b+8>>2];c[a+16+12>>2]=c[b+12>>2];c[a+32>>2]=c[d>>2];c[a+32+4>>2]=c[d+4>>2];c[a+32+8>>2]=c[d+8>>2];c[a+32+12>>2]=c[d+12>>2];c[a+80>>2]=0;return}function fm(b,d,e,f){b=b|0;d=d|0;e=e|0;f=+f;if(!(+g[b+36>>2]>f))return;a[b+40>>0]=1;c[b+4>>2]=c[d>>2];c[b+4+4>>2]=c[d+4>>2];c[b+4+8>>2]=c[d+8>>2];c[b+4+12>>2]=c[d+12>>2];c[b+20>>2]=c[e>>2];c[b+20+4>>2]=c[e+4>>2];c[b+20+8>>2]=c[e+8>>2];c[b+20+12>>2]=c[e+12>>2];g[b+36>>2]=f;return}function gm(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0,e=0.0,f=0.0,h=0.0,i=0.0,j=0.0;d=+g[b+32>>2];f=+g[b+40>>2];j=+g[c>>2];e=+g[c+4>>2];i=+B(+(j*j+e*e));if(i!=0.0){h=e*(d/i);e=+g[c+8>>2]<0.0?-f:f;d=j*(d/i)}else{h=0.0;e=+g[c+8>>2]<0.0?-f:f}g[a>>2]=d;g[a+8>>2]=e;g[a+4>>2]=h;return}function hm(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0,e=0.0,f=0.0,h=0.0,i=0.0,j=0.0;d=+g[b+32>>2];f=+g[b+36>>2];j=+g[c>>2];e=+g[c+8>>2];i=+B(+(j*j+e*e));if(i!=0.0){h=e*(d/i);e=+g[c+4>>2]<0.0?-f:f;d=j*(d/i)}else{h=0.0;e=+g[c+4>>2]<0.0?-f:f}g[a>>2]=d;g[a+4>>2]=e;g[a+8>>2]=h;return}function im(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0,e=0.0,f=0.0,h=0.0,i=0.0,j=0.0;d=+g[b+36>>2];f=+g[b+32>>2];j=+g[c+4>>2];e=+g[c+8>>2];i=+B(+(j*j+e*e));if(i!=0.0){h=e*(d/i);e=+g[c>>2]<0.0?-f:f;d=j*(d/i)}else{h=0.0;e=+g[c>>2]<0.0?-f:f}g[a+4>>2]=d;g[a>>2]=e;g[a+8>>2]=h;return}function jm(a){a=a|0;var b=0.0,d=0.0,e=0.0;d=+g[(c[a+28>>2]|0)+404>>2];e=+g[(c[a+32>>2]|0)+404>>2];e=e==0.0?1.0:d/(d+e);d=+g[a+1116>>2]*e+(1.0-e)*+g[a+1180>>2];b=e*+g[a+1120>>2]+(1.0-e)*+g[a+1184>>2];g[a+1284>>2]=+g[a+1112>>2]*e+ +g[a+1176>>2]*(1.0-e);g[a+1288>>2]=d;g[a+1292>>2]=b;g[a+1296>>2]=0.0;return}function km(a,b){a=a|0;b=b|0;var d=0.0,e=0.0,f=0.0;d=+g[a+404>>2];if(d!=0.0){f=1.0/d*+g[b+4>>2];e=1.0/d*+g[b+8>>2];g[a+424>>2]=1.0/d*+g[b>>2];g[a+428>>2]=f;g[a+432>>2]=e;g[a+436>>2]=0.0}c[a+440>>2]=c[b>>2];c[a+440+4>>2]=c[b+4>>2];c[a+440+8>>2]=c[b+8>>2];c[a+440+12>>2]=c[b+12>>2];return}function lm(b,d,e){b=b|0;d=d|0;e=e|0;var f=0;f=c[b+16>>2]|0;do if(f){if((f|0)!=(d|0)){c[b+36>>2]=(c[b+36>>2]|0)+1;c[b+24>>2]=2;a[b+54>>0]=1;break}if((c[b+24>>2]|0)==2)c[b+24>>2]=e}else{c[b+16>>2]=d;c[b+24>>2]=e;c[b+36>>2]=1}while(0);return}function mm(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=c[a+84>>2]|0;a=c[f+8>>2]|0;if((a|0)<=0)return;e=0;do{d=c[(c[f+16>>2]|0)+(e*12|0)+8>>2]|0;if(d){Ib[c[(c[d>>2]|0)+16>>2]&127](d,b);a=c[f+8>>2]|0}e=e+1|0}while((e|0)<(a|0));return}function nm(){var b=0,d=0,e=0;do if((c[3062]|0)>=0?(pH()|0)!=0:0){if((a[12247]|0)!=10?(b=c[3048]|0,b>>>0<(c[3047]|0)>>>0):0){c[3048]=b+1;a[b>>0]=10;break}Rl()|0}else e=3;while(0);do if((e|0)==3){if((a[12247]|0)!=10?(d=c[3048]|0,d>>>0<(c[3047]|0)>>>0):0){c[3048]=d+1;a[d>>0]=10;break}Rl()|0}while(0);return}function om(a,b,d){a=a|0;b=b|0;d=d|0;Hs(a);c[a>>2]=5264;c[a+24>>2]=c[b>>2];c[a+24+4>>2]=c[b+4>>2];c[a+24+8>>2]=c[b+8>>2];c[a+24+12>>2]=c[b+12>>2];c[a+40>>2]=c[d>>2];c[a+40+4>>2]=c[d+4>>2];c[a+40+8>>2]=c[d+8>>2];c[a+40+12>>2]=c[d+12>>2];return}function pm(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0;f=l;l=l+256|0;if((c|0)>(d|0)&(e&73728|0)==0){Xj(f|0,b<<24>>24|0,((c-d|0)>>>0<256?c-d|0:256)|0)|0;if((c-d|0)>>>0>255){b=c-d|0;do{cz(a,f,256);b=b+-256|0}while(b>>>0>255);b=c-d&255}else b=c-d|0;cz(a,f,b)}l=f;return}function qm(a){a=a|0;var b=0,d=0;c[a>>2]=10524;b=c[a+12>>2]|0;if(b|0){d=c[a+4>>2]|0;Ib[c[(c[d>>2]|0)+16>>2]&127](d,b);c[a+12>>2]=0}b=c[a+8>>2]|0;if(!b){hH(a);return}Db[c[c[b>>2]>>2]&511](b);d=c[a+4>>2]|0;Ib[c[(c[d>>2]|0)+60>>2]&127](d,c[a+8>>2]|0);hH(a);return}function rm(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=c[d>>2]|0;a=yw(c[b>>2]|0)|0;f=yw(f)|0;if(a|0)Pb[c[(c[a>>2]|0)+32>>2]&127](a,d,e,b);if(!f)return 0;Pb[c[(c[f>>2]|0)+32>>2]&127](f,b,e,d);return 0}function sm(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=l;l=l+48|0;f=c[b+192>>2]|0;Pb[c[(c[f>>2]|0)+8>>2]&127](f,b+4|0,e+32|0,e+16|0);c[e>>2]=7676;c[e+4>>2]=b;c[e+8>>2]=a;c[e+12>>2]=d;d=c[a+68>>2]|0;Pb[c[(c[d>>2]|0)+28>>2]&127](d,e+32|0,e+16|0,e);l=e;return}function tm(a,b,d){a=a|0;b=b|0;d=d|0;hh(a,b,d)|0;c[b+52>>2]=c[a+300>>2];c[b+56>>2]=c[a+304>>2];c[b+60>>2]=c[a+308>>2];c[b+64>>2]=c[a+312>>2];c[b+68>>2]=c[a+316>>2];c[b+72>>2]=c[a+320>>2];c[b+76>>2]=c[a+324>>2];c[b+80>>2]=c[a+328>>2];return 14154}function um(a,b){a=a|0;b=b|0;var d=0,e=0;d=c[b>>2]|0;e=c[a+84>>2]|0;if((d|0)==(e|0)){e=0;return e|0}if(!(c[a+12>>2]&c[b+4>>2])){e=0;return e|0}if(!(c[b+8>>2]&c[a+8>>2])){e=0;return e|0}b=c[a+96>>2]|0;e=wb[c[(c[b>>2]|0)+28>>2]&63](b,e,d)|0;return e|0}function vm(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 h=0;h=l;l=l+16|0;g[h+8>>2]=+(b&65535)/+g[(kH(f)|0)>>2];g[h+4>>2]=+(c&65535)/+g[(UG(f)|0)>>2];g[h>>2]=+(d&65535)/+g[(TG(f)|0)>>2];Lr(a,h+8|0,h+4|0,h);qr(a,e)|0;l=h;return}function wm(a,b){a=a|0;b=b|0;var c=0.0,d=0.0,e=0;e=l;l=l+16|0;c=+nE(a);c=+$G(c*+nE(b));d=+uo(a,b);if(d<0.0){An(e,b);d=+Fz(+uo(a,e)/c);d=d*2.0;l=e;return +d}else{d=+Fz(d/c);d=d*2.0;l=e;return +d}return 0.0}function xm(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;j=kH(b)|0;i=kH(b+16|0)|0;h=kH(b+32|0)|0;g=UG(b)|0;f=UG(b+16|0)|0;e=UG(b+32|0)|0;d=TG(b)|0;c=TG(b+16|0)|0;Pp(a,j,i,h,g,f,e,d,c,TG(b+32|0)|0);return}function ym(a){a=a|0;var b=0,d=0,e=0;Db[c[(c[a>>2]|0)+8>>2]&511](a);Db[c[(c[a>>2]|0)+12>>2]&511](a);b=c[a+24>>2]|0;if(!b)return;e=c[(c[b>>2]|0)+32>>2]|0;d=c[a+68>>2]|0;d=sb[c[(c[d>>2]|0)+36>>2]&127](d)|0;Pb[e&127](b,d,a+28|0,c[a+24>>2]|0);return}function zm(a,b){a=+a;b=+b;var d=0;d=Bs()|0;c[d+8>>2]=0;c[d+12>>2]=-1;c[d+16>>2]=1065353216;c[d+20>>2]=1065353216;c[d+24>>2]=1065353216;g[d+28>>2]=0.0;c[d+4>>2]=10;c[d>>2]=8688;g[d+48>>2]=a;c[d+56>>2]=2;g[d+32>>2]=a;g[d+36>>2]=a;g[d+40>>2]=b*.5;g[d+44>>2]=0.0;return d|0}function Am(a,b){a=+a;b=+b;var d=0;d=Bs()|0;c[d+8>>2]=0;c[d+12>>2]=-1;c[d+16>>2]=1065353216;c[d+20>>2]=1065353216;c[d+24>>2]=1065353216;g[d+28>>2]=0.0;c[d+4>>2]=10;c[d>>2]=8588;g[d+48>>2]=a;c[d+56>>2]=0;g[d+32>>2]=b*.5;g[d+36>>2]=a;g[d+40>>2]=a;g[d+44>>2]=0.0;return d|0}function Bm(a,b){a=+a;b=+b;var d=0;d=Bs()|0;c[d+8>>2]=0;c[d+12>>2]=-1;c[d+16>>2]=1065353216;c[d+20>>2]=1065353216;c[d+24>>2]=1065353216;g[d+28>>2]=0.0;c[d>>2]=8488;g[d+48>>2]=a;c[d+4>>2]=10;c[d+56>>2]=1;g[d+32>>2]=a;g[d+36>>2]=b*.5;g[d+40>>2]=a;g[d+44>>2]=0.0;return d|0}function Cm(b){b=b|0;var d=0;d=l;l=l+16|0;c[b+4>>2]=35;c[b+8>>2]=0;c[b+12>>2]=-1;g[b+16>>2]=0.0;c[b>>2]=5416;eB(b+72|0);c[b+4>>2]=25;no(b+20|0);a[b+52>>0]=1;g[d+8>>2]=1.0;g[d+4>>2]=1.0;g[d>>2]=1.0;Lr(b+56|0,d+8|0,d+4|0,d);l=d;return}function Dm(a,b){a=a|0;b=b|0;var d=0;if(c[b+40>>2]|0){Dm(a,c[b+36>>2]|0);Dm(a,c[b+40>>2]|0)}if((c[a>>2]|0)==(b|0))c[a>>2]=0;d=c[a+4>>2]|0;if(!d){c[a+4>>2]=b;return}c[6898]=(c[6898]|0)+1;md(c[d+-4>>2]|0);c[a+4>>2]=b;return}function Em(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0;g=c[a+32>>2]|0;c[g>>2]=(c[g>>2]|0)+1;Tf(a,vd(a,b,f)|0);Tf(a,vd(a,d,f)|0);Tf(a,vd(a,e,f)|0);return}function Fm(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;if(lC(a,c[b+8>>2]|0)|0)nk(b,d,e,f);else{a=c[a+8>>2]|0;Ub[c[(c[a>>2]|0)+20>>2]&7](a,b,d,e,f,g)}return}function Gm(a){a=a|0;var b=0;b=l;l=l+48|0;g[b+32>>2]=1.0;g[b+28>>2]=0.0;g[b+24>>2]=0.0;g[b+20>>2]=0.0;g[b+16>>2]=1.0;g[b+12>>2]=0.0;g[b+8>>2]=0.0;g[b+4>>2]=0.0;g[b>>2]=1.0;Eo(a,b+32|0,b+28|0,b+24|0,b+20|0,b+16|0,b+12|0,b+8|0,b+4|0,b);l=b;return}function Hm(a,b){a=a|0;b=b|0;var d=0,e=0;c[a+72>>2]=(c[a+72>>2]|0)+1;d=c[a+20>>2]|0;if((d|0)>0)do{e=d;d=d+-1|0;if((c[(c[a+28>>2]|0)+(d*80|0)+64>>2]|0)==(b|0))Td(a,d)}while((e|0)>1);Db[c[(c[a>>2]|0)+68>>2]&511](a);return}function Im(a,b){a=a|0;b=b|0;var d=0;a=c[a+68>>2]|0;if(!b)return;d=c[a+16>>2]|0;if(d>>>0<=b>>>0?(d+(N(c[a>>2]|0,c[a+4>>2]|0)|0)|0)>>>0>b>>>0:0){c[b>>2]=c[a+12>>2];c[a+12>>2]=b;c[a+8>>2]=(c[a+8>>2]|0)+1;return}c[6898]=(c[6898]|0)+1;md(c[b+-4>>2]|0);return}function Jm(a){a=a|0;var b=0,d=0;if((c[a+248>>2]|0)<=0)return;b=0;do{d=(c[(c[a+256>>2]|0)+(b<<2)>>2]|0)+472|0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;c[d+12>>2]=0;c[d+16>>2]=0;c[d+20>>2]=0;c[d+24>>2]=0;c[d+28>>2]=0;b=b+1|0}while((b|0)<(c[a+248>>2]|0));return}function Km(a,d){a=a|0;d=d|0;var f=0,g=0;if(b[a+56>>1]|0)return;b[a+64>>1]=1;d=b[a+58>>1]|0;g=c[a+60>>2]|0;if((d&65535)>1){f=1;do{d=f;f=f+1|0;b[g+(d<<6)+48>>1]=f;d=e[a+58>>1]|0}while(f>>>0<d>>>0)}else d=d&65535;b[g+(d+-1<<6)+48>>1]=0;return}function Lm(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=c[a+52>>2]|0;if((d|0)<=0)return;f=0;do{e=c[(c[a+60>>2]|0)+(f<<2)>>2]|0;if(e){Ib[c[(c[e>>2]|0)+16>>2]&127](e,b);d=c[a+52>>2]|0}f=f+1|0}while((f|0)<(d|0));return}function Mm(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=c[a+32>>2]|0;c[f>>2]=(c[f>>2]|0)+1;Tf(a,vd(a,b,0)|0);Tf(a,vd(a,d,0)|0);Tf(a,vd(a,e,0)|0);return}function Nm(a,b,d){a=a|0;b=b|0;d=d|0;c[a+52>>2]=c[b>>2];c[a+52+4>>2]=c[b+4>>2];c[a+52+8>>2]=c[b+8>>2];c[a+52+12>>2]=c[b+12>>2];c[a+68>>2]=c[d>>2];c[a+68+4>>2]=c[d+4>>2];c[a+68+8>>2]=c[d+8>>2];c[a+68+12>>2]=c[d+12>>2];c[a+48>>2]=1;return}function Om(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;e=c[d>>2]|0;a=yw(c[b>>2]|0)|0;e=yw(e)|0;if(a|0)Mb[c[(c[a>>2]|0)+28>>2]&127](a,d,b);if(!e)return 0;Mb[c[(c[e>>2]|0)+28>>2]&127](e,b,d);return 0}function Pm(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0;i=c[a+4>>2]|0;if(!(i&1))h=i>>8;else h=c[(c[e>>2]|0)+(i>>8)>>2]|0;a=c[a>>2]|0;Ub[c[(c[a>>2]|0)+20>>2]&7](a,b,d,e+h|0,(i&2|0)==0?2:f,g);return}function Qm(a,b,c){a=+a;b=b|0;c=c|0;var d=0,e=0;e=l;l=l+32|0;d=ps(144)|0;g[e+8>>2]=0.0;g[e+4>>2]=0.0;g[e>>2]=0.0;Lr(e+16|0,e+8|0,e+4|0,e);Wj(d,a,b,c,e+16|0);l=e;return d|0}function Rm(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;c[d>>2]=c[b+16>>2];c[d+4>>2]=c[b+16+4>>2];c[d+8>>2]=c[b+16+8>>2];c[d+12>>2]=c[b+16+12>>2];c[e>>2]=c[b+32>>2];c[e+4>>2]=c[b+32+4>>2];c[e+8>>2]=c[b+32+8>>2];c[e+12>>2]=c[b+32+12>>2];return}function Sm(a){a=a|0;var b=0;a=c[a+144>>2]|0;b=c[a+32>>2]|0;if((b|0)>0){b=b+1|0;c[a+32>>2]=b;return}else{b=c[a+8>>2]|0;Xb[c[(c[b>>2]|0)+16>>2]&3](b,a+36|0,a+40|0,a+44|0,a+48|0,a+52|0,a+56|0,a+60|0,a+64|0,c[a+28>>2]|0);b=1;c[a+32>>2]=b;return}}function Tm(a,b){a=a|0;b=b|0;var d=0;a=c[a+68>>2]|0;d=c[a+12>>2]|0;if(d|0){c[a+12>>2]=c[d>>2];c[a+8>>2]=(c[a+8>>2]|0)+-1;b=d;return b|0}c[6897]=(c[6897]|0)+1;a=ec(b+19|0)|0;if(!a){b=0;return b|0}c[(a+4+15&-16)+-4>>2]=a;b=a+4+15&-16;return b|0}function Um(a,b,d){a=a|0;b=+b;d=+d;var e=0;e=l;l=l+16|0;g[e+12>>2]=b;g[e+8>>2]=d;g[e+4>>2]=0.0;g[e>>2]=1.0;c[a+504>>2]=c[(b<0.0?e+4|0:b>1.0?e:e+12|0)>>2];g[e+4>>2]=0.0;g[e>>2]=1.0;c[a+508>>2]=c[(d<0.0?e+4|0:d>1.0?e:e+8|0)>>2];l=e;return}function Vm(){var b=0;b=l;l=l+32|0;if(a[25784]|0){l=b;return}if(!(By(25784)|0)){l=b;return}Sl();g[b+8>>2]=0.0;g[b+4>>2]=0.0;g[b>>2]=0.0;Lr(b+16|0,b+8|0,b+4|0,b);Rp(26e3,26064,b+16|0);l=b;return}function Wm(a,b){a=a|0;b=b|0;var d=0,e=0;d=c[(c[b>>2]|0)+16>>2]|0;e=sb[c[(c[a>>2]|0)+16>>2]&127](a)|0;e=wb[d&63](b,e,1)|0;d=wb[c[(c[a>>2]|0)+20>>2]&63](a,c[e+8>>2]|0,b)|0;Tb[c[(c[b>>2]|0)+20>>2]&31](b,e,d,1497645650,a);return}function Xm(a,b,c,d,e,f){a=a|0;b=+b;c=+c;d=+d;e=+e;f=+f;g[a+692>>2]=(c-b)*.5;b=((c-b)*.5+b)%6.2831854820251465;if(!(b<-3.1415927410125732)){if(b>3.1415927410125732)b=b+-6.2831854820251465}else b=b+6.2831854820251465;g[a+688>>2]=b;g[a+696>>2]=d;g[a+700>>2]=e;g[a+704>>2]=f;return}function Ym(a,b,c){a=a|0;b=b|0;c=+c;var d=0;d=l;l=l+16|0;g[d+12>>2]=+g[(kH(b)|0)>>2]*c;g[d+8>>2]=+g[(UG(b)|0)>>2]*c;g[d+4>>2]=+g[(TG(b)|0)>>2]*c;g[d>>2]=+g[b+12>>2]*c;Iu(a,d+12|0,d+8|0,d+4|0,d);l=d;return}function Zm(a,b,d){a=a|0;b=b|0;d=d|0;c[b>>2]=c[a+52>>2];c[b+4>>2]=c[a+52+4>>2];c[b+8>>2]=c[a+52+8>>2];c[b+12>>2]=c[a+52+12>>2];c[d>>2]=c[a+68>>2];c[d+4>>2]=c[a+68+4>>2];c[d+8>>2]=c[a+68+8>>2];c[d+12>>2]=c[a+68+12>>2];return}function _m(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0;h=c[a+4>>2]|0;if(!(h&1))g=h>>8;else g=c[(c[d>>2]|0)+(h>>8)>>2]|0;a=c[a>>2]|0;Tb[c[(c[a>>2]|0)+24>>2]&31](a,b,d+g|0,(h&2|0)==0?2:e,f);return}function $m(a,b){a=a|0;b=b|0;var d=0,e=0;e=sb[c[(c[a>>2]|0)+16>>2]&127](a)|0;e=wb[c[(c[b>>2]|0)+16>>2]&63](b,e,1)|0;d=wb[c[(c[a>>2]|0)+20>>2]&63](a,c[e+8>>2]|0,b)|0;Tb[c[(c[b>>2]|0)+20>>2]&31](b,e,d,1245859651,a);return}function an(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;if(lC(a,c[b+8>>2]|0)|0)lm(b,d,e);else{a=c[a+8>>2]|0;Pb[c[(c[a>>2]|0)+28>>2]&127](a,b,d,e)}return}function bn(a,b,d){a=a|0;b=b|0;d=d|0;c[b>>2]=c[a+8>>2];c[b+4>>2]=c[a+8+4>>2];c[b+8>>2]=c[a+8+8>>2];c[b+12>>2]=c[a+8+12>>2];c[d>>2]=c[a+24>>2];c[d+4>>2]=c[a+24+4>>2];c[d+8>>2]=c[a+24+8>>2];c[d+12>>2]=c[a+24+12>>2];return}function cn(a,b){a=a|0;b=b|0;var d=0,e=0;e=sb[c[(c[a>>2]|0)+52>>2]&127](a)|0;e=wb[c[(c[b>>2]|0)+16>>2]&63](b,e,1)|0;d=wb[c[(c[a>>2]|0)+56>>2]&63](a,c[e+8>>2]|0,b)|0;Tb[c[(c[b>>2]|0)+20>>2]&31](b,e,d,1346455635,a);return}function dn(a,b){a=a|0;b=b|0;var c=0;c=l;l=l+80|0;xm(c+32|0,b);wq(c,+g[b+48>>2],+g[b+52>>2],+g[b+56>>2]);jl(c+16|0,c+32|0,+g[c>>2],+g[c+4>>2],+g[c+8>>2]);Rp(a,c+32|0,c+16|0);l=c;return}function en(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;e=0;while(1){if((e|0)>=(b|0))break;f=kH(d+(e<<4)|0)|0;g=(c[a+12>>2]|0)+(e<<4)|0;c[f>>2]=c[g>>2];c[f+4>>2]=c[g+4>>2];c[f+8>>2]=c[g+8>>2];c[f+12>>2]=c[g+12>>2];e=e+1|0}return}function fn(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=ub[c[(c[d>>2]|0)+40>>2]&31](d,a)|0;f=ub[c[(c[d>>2]|0)+28>>2]&31](d,e)|0;c[b>>2]=f;if(f|0)Ib[c[(c[d>>2]|0)+48>>2]&127](d,e);c[b+4>>2]=c[a+4>>2];c[b+8>>2]=0;return 18401}function gn(a,b,d){a=a|0;b=b|0;d=d|0;c[a+164>>2]=c[b>>2];c[a+164+4>>2]=c[b+4>>2];c[a+164+8>>2]=c[b+8>>2];c[a+164+12>>2]=c[b+12>>2];b=kH(b)|0;if((!(+g[b>>2]!=1.0)?!(+g[b+4>>2]!=1.0):0)?!(+g[b+8>>2]!=1.0):0)d=0;c[a+180>>2]=d;return}function hn(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;e=kH(c[a+4>>2]|0)|0;if((e|0)>(b|0)){c[a+4>>2]=b;return}if((e|0)<(b|0))Pn(a,b);while(1){if((e|0)>=(b|0))break;c[(c[a+12>>2]|0)+(e<<2)>>2]=c[d>>2];e=e+1|0}c[a+4>>2]=b;return}function jn(a,b,c,d){a=a|0;b=+b;c=+c;d=+d;var e=0;e=l;l=l+32|0;dp(e,b,c,d,+g[a+408>>2],+g[a+412>>2],+g[a+416>>2]);Np(e+16|0,+g[e>>2],+g[e+4>>2],+g[e+8>>2],+g[a+404>>2]);qr(a+372|0,e+16|0)|0;l=e;return}function kn(a,b,c,d){a=a|0;b=+b;c=+c;d=+d;var e=0;e=l;l=l+32|0;jl(e,a+324|0,b,c,d);dp(e+16|0,+g[e>>2],+g[e+4>>2],+g[e+8>>2],+g[a+604>>2],+g[a+608>>2],+g[a+612>>2]);qr(a+388|0,e+16|0)|0;l=e;return}function ln(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;g=c[a+4>>2]|0;if(!(g&1))f=g>>8;else f=c[(c[d>>2]|0)+(g>>8)>>2]|0;a=c[a>>2]|0;Pb[c[(c[a>>2]|0)+28>>2]&127](a,b,d+f|0,(g&2|0)==0?2:e);return}function mn(b,d){b=b|0;d=+d;var e=0,f=0;g[b+16>>2]=d;e=c[b+156>>2]|0;if(!e){b=b+52|0;a[b>>0]=1;return}do{e=e+-1|0;f=c[(c[b+164>>2]|0)+(e<<2)>>2]|0;Eb[c[(c[f>>2]|0)+44>>2]&31](f,d)}while((e|0)!=0);f=b+52|0;a[f>>0]=1;return}function nn(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0;a:do if((c|0)==-1)switch(b|0){case 2:case 1:{d=+g[a+336>>2];break a}case 4:case 3:{d=+g[a+340>>2];break a}default:{d=3402823466385288598117041.0e14;break a}}else d=3402823466385288598117041.0e14;while(0);return +d}function on(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0,e=0.0,f=0.0;f=+g[b+32>>2];e=+g[b+36>>2];e=+g[c+4>>2]>=0.0?e:-e;d=+g[b+40>>2];d=+g[c+8>>2]>=0.0?d:-d;g[a>>2]=+g[c>>2]>=0.0?f:-f;g[a+4>>2]=e;g[a+8>>2]=d;g[a+12>>2]=0.0;return}function pn(a,b){a=a|0;b=b|0;var d=0,e=0;d=c[a+4>>2]|0;e=kH(d)|0;if((e|0)==(kH(c[a+8>>2]|0)|0)){Pn(a,PD(e)|0);d=c[a+4>>2]|0}c[(c[a+12>>2]|0)+(d<<2)>>2]=c[b>>2];c[a+4>>2]=(c[a+4>>2]|0)+1;return}function qn(b){b=b|0;var d=0;c[b>>2]=5664;d=c[b+212>>2]|0;if(d|0){if(a[b+216>>0]|0){c[6898]=(c[6898]|0)+1;md(c[d+-4>>2]|0)}c[b+212>>2]=0}a[b+216>>0]=1;c[b+212>>2]=0;c[b+204>>2]=0;c[b+208>>2]=0;c[6898]=(c[6898]|0)+1;md(c[b+-4>>2]|0);return}function rn(b,d){b=b|0;d=+d;var e=0,f=0;g[b+16>>2]=d;e=sb[c[(c[b>>2]|0)+88>>2]&127](b)|0;while(1){f=e+-1|0;if(!e)break;e=ub[c[(c[b>>2]|0)+124>>2]&31](b,f)|0;Eb[c[(c[e>>2]|0)+44>>2]&31](e,d);e=f}a[b+52>>0]=1;return}function sn(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;f=c[a+156>>2]|0;if(!f)return;do{f=f+-1|0;g=c[(c[a+164>>2]|0)+(f<<2)>>2]|0;Pb[c[(c[g>>2]|0)+144>>2]&127](g,b,d,e)}while((f|0)!=0);return}function tn(a,b){a=a|0;b=b|0;var d=0,e=0;e=c[a+288>>2]|0;a:do if((e|0)>0){d=c[a+296>>2]|0;a=0;while(1){if((c[d+(a<<2)>>2]|0)==(b|0))break a;a=a+1|0;if((a|0)>=(e|0)){a=e;break}}}else a=e;while(0);return (a|0)>=(e|0)|0}function un(b){b=b|0;var d=0;d=l;l=l+16|0;if(!(a[25768]|0))By(25768)|0;eo(d,c[b+108>>2]|0,c[b+120>>2]|0);c[6492]=c[d>>2];c[6493]=c[d+4>>2];c[6494]=c[d+8>>2];c[6495]=c[d+12>>2];l=d;return 25968}function vn(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;a=c[b>>2]|0;a=ub[c[(c[a>>2]|0)+56>>2]&31](a,84)|0;xk(a,b,d,e,1);return a|0}function wn(b,d){b=b|0;d=d|0;var e=0;if((kH(c[b+8>>2]|0)|0)>=(d|0))return;e=It(d)|0;en(b,kH(c[b+4>>2]|0)|0,e);rs(b);a[b+16>>0]=1;c[b+12>>2]=e;c[b+8>>2]=d;return}function xn(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;f=c[a+156>>2]|0;if(!f)return;do{f=f+-1|0;g=c[(c[a+164>>2]|0)+(f<<2)>>2]|0;Pb[c[(c[g>>2]|0)+64>>2]&127](g,b,d,e)}while((f|0)!=0);return}function yn(b){b=b|0;var d=0;c[b>>2]=12088;d=c[b+32>>2]|0;if(d|0){if(a[b+36>>0]|0){c[6898]=(c[6898]|0)+1;md(c[d+-4>>2]|0)}c[b+32>>2]=0}a[b+36>>0]=1;c[b+32>>2]=0;c[b+24>>2]=0;c[b+28>>2]=0;c[6898]=(c[6898]|0)+1;md(c[b+-4>>2]|0);return}function zn(a,b){a=a|0;b=b|0;var d=0;d=c[a+4>>2]|0;if((c[b>>2]|0)!=(d|0)?(c[b+4>>2]|0)!=(d|0):0)return 0;d=c[a+8>>2]|0;Mb[c[(c[d>>2]|0)+32>>2]&127](d,b,c[a+12>>2]|0);return 0}function An(a,b){a=a|0;b=b|0;var c=0;c=l;l=l+16|0;g[c+12>>2]=-+g[(kH(b)|0)>>2];g[c+8>>2]=-+g[(UG(b)|0)>>2];g[c+4>>2]=-+g[(TG(b)|0)>>2];g[c>>2]=-+g[b+12>>2];Iu(a,c+12|0,c+8|0,c+4|0,c);l=c;return}function Bn(a){a=a|0;var b=0.0,d=0.0;if(c[a+204>>2]&3|0)return;d=+g[a+428>>2]*+g[a+412>>2];b=+g[a+432>>2]*+g[a+416>>2];g[a+472>>2]=+g[a+424>>2]*+g[a+408>>2]+ +g[a+472>>2];g[a+476>>2]=d+ +g[a+476>>2];g[a+480>>2]=b+ +g[a+480>>2];return}function Cn(a){a=a|0;var b=0;c[a>>2]=11816;c[a+8>>2]=11864;b=c[a+56>>2]|0;Ib[c[(c[b>>2]|0)+20>>2]&127](b,c[a+72>>2]|0);b=c[a+56>>2]|0;Ib[c[(c[b>>2]|0)+16>>2]&127](b,c[a+72>>2]|0);c[6898]=(c[6898]|0)+1;md(c[a+-4>>2]|0);return}function Dn(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;a=c[b>>2]|0;a=ub[c[(c[a>>2]|0)+56>>2]&31](a,84)|0;xk(a,b,d,e,0);return a|0}function En(b){b=b|0;var d=0;c[b>>2]=7252;d=c[b+296>>2]|0;if(d|0){if(a[b+300>>0]|0){c[6898]=(c[6898]|0)+1;md(c[d+-4>>2]|0)}c[b+296>>2]=0}a[b+300>>0]=1;c[b+296>>2]=0;c[b+288>>2]=0;c[b+292>>2]=0;c[6898]=(c[6898]|0)+1;md(c[b+-4>>2]|0);return}function Fn(b){b=b|0;var d=0;c[b>>2]=5416;d=c[b+88>>2]|0;if(d|0){if(a[b+92>>0]|0){c[6898]=(c[6898]|0)+1;md(c[d+-4>>2]|0)}c[b+88>>2]=0}a[b+92>>0]=1;c[b+88>>2]=0;c[b+80>>2]=0;c[b+84>>2]=0;c[6898]=(c[6898]|0)+1;md(c[b+-4>>2]|0);return}function Gn(a,b,d){a=a|0;b=b|0;d=d|0;var e=0.0,f=0.0,h=0;h=c[a+108>>2]|0;f=+g[h+(b<<4)+4>>2]*+g[a+20>>2];e=+g[h+(b<<4)+8>>2]*+g[a+24>>2];g[d>>2]=+g[h+(b<<4)>>2]*+g[a+16>>2];g[d+4>>2]=f;g[d+8>>2]=e;g[d+12>>2]=0.0;return}function Hn(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;e=l;l=l+32|0;c[e>>2]=c[a+60>>2];c[e+4>>2]=0;c[e+8>>2]=b;c[e+12>>2]=e+20;c[e+16>>2]=d;if((KB(Ra(140,e|0)|0)|0)<0){c[e+20>>2]=-1;a=-1}else a=c[e+20>>2]|0;l=e;return a|0}function In(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;e=c[b>>2]|0;e=ub[c[(c[e>>2]|0)+56>>2]&31](e,40)|0;c[e+4>>2]=c[b>>2];c[e>>2]=10524;c[e+12>>2]=0;c[e+8>>2]=0;return e|0}function Jn(a,b){a=a|0;b=b|0;var c=0.0;c=+g[(kH(b)|0)>>2];g[a>>2]=+g[a>>2]+c;c=+g[(UG(b)|0)>>2];g[a+4>>2]=+g[a+4>>2]+c;c=+g[(TG(b)|0)>>2];g[a+8>>2]=+g[a+8>>2]+c;g[a+12>>2]=+g[a+12>>2]+ +g[b+12>>2];return a|0}function Kn(a,b){a=a|0;b=b|0;var c=0.0;c=+g[(kH(b)|0)>>2];g[a>>2]=+g[a>>2]-c;c=+g[(UG(b)|0)>>2];g[a+4>>2]=+g[a+4>>2]-c;c=+g[(TG(b)|0)>>2];g[a+8>>2]=+g[a+8>>2]-c;g[a+12>>2]=+g[a+12>>2]-+g[b+12>>2];return a|0}function Ln(b,c){b=b|0;c=c|0;var d=0,e=0;d=a[b>>0]|0;e=a[c>>0]|0;if(d<<24>>24==0?1:d<<24>>24!=e<<24>>24)b=e;else{do{b=b+1|0;c=c+1|0;d=a[b>>0]|0;e=a[c>>0]|0}while(!(d<<24>>24==0?1:d<<24>>24!=e<<24>>24));b=e}return (d&255)-(b&255)|0}function Mn(a){a=a|0;var b=0;b=l;l=l+32|0;g[b+20>>2]=0.0;g[b+16>>2]=0.0;g[b+12>>2]=0.0;Lr(a+472|0,b+20|0,b+16|0,b+12|0);g[b+8>>2]=0.0;g[b+4>>2]=0.0;g[b>>2]=0.0;Lr(a+488|0,b+8|0,b+4|0,b);l=b;return}function Nn(a,b){a=a|0;b=b|0;var c=0.0,d=0.0,e=0.0;e=+A(+(+g[b>>2]));d=+A(+(+g[b+4>>2]));c=+A(+(+g[b+8>>2]));g[a+16>>2]=e;g[a+20>>2]=d;g[a+24>>2]=c;g[a+28>>2]=0.0;Ci(a);return}function On(b){b=b|0;var d=0;d=l;l=l+16|0;if(!(a[25752]|0))By(25752)|0;Ib[c[(c[b>>2]|0)+76>>2]&127](d,b);c[6484]=c[d>>2];c[6485]=c[d+4>>2];c[6486]=c[d+8>>2];c[6487]=c[d+12>>2];l=d;return 25936}function Pn(b,d){b=b|0;d=d|0;var e=0;if((kH(c[b+8>>2]|0)|0)>=(d|0))return;e=uu(d)|0;Vq(b,kH(c[b+4>>2]|0)|0,e);rs(b);a[b+16>>0]=1;c[b+12>>2]=e;c[b+8>>2]=d;return}function Qn(a,b){a=a|0;b=b|0;var c=0.0,d=0.0,e=0.0;e=+g[b+20>>2];d=e*+g[b+260>>2]+ +g[b+72>>2];c=e*+g[b+264>>2]+ +g[b+76>>2];g[a>>2]=+g[b+256>>2]*e+ +g[b+68>>2];g[a+4>>2]=d;g[a+8>>2]=c;g[a+12>>2]=0.0;return}function Rn(a,b){a=a|0;b=b|0;var c=0.0,d=0.0;c=+g[(TG(a)|0)>>2];c=c*+g[(kH(b)|0)>>2];d=+g[(TG(a+16|0)|0)>>2];d=c+d*+g[(UG(b)|0)>>2];c=+g[(TG(a+32|0)|0)>>2];return +(d+c*+g[(TG(b)|0)>>2])}function Sn(a,b){a=a|0;b=b|0;var c=0.0,d=0.0;c=+g[(UG(a)|0)>>2];c=c*+g[(kH(b)|0)>>2];d=+g[(UG(a+16|0)|0)>>2];d=c+d*+g[(UG(b)|0)>>2];c=+g[(UG(a+32|0)|0)>>2];return +(d+c*+g[(TG(b)|0)>>2])}function Tn(b){b=b|0;var d=0,e=0;d=c[b+156>>2]|0;if(!d){b=b+52|0;a[b>>0]=1;return}do{d=d+-1|0;e=c[(c[b+164>>2]|0)+(d<<2)>>2]|0;Db[c[(c[e>>2]|0)+72>>2]&511](e)}while((d|0)!=0);e=b+52|0;a[e>>0]=1;return}function Un(b){b=b|0;var d=0;d=a[b+74>>0]|0;a[b+74>>0]=d+255|d;d=c[b>>2]|0;if(!(d&8)){c[b+8>>2]=0;c[b+4>>2]=0;d=c[b+44>>2]|0;c[b+28>>2]=d;c[b+20>>2]=d;c[b+16>>2]=d+(c[b+48>>2]|0);b=0}else{c[b>>2]=d|32;b=-1}return b|0}function Vn(a,b,d,e){a=a|0;b=b|0;d=+d;e=e|0;if((e|0)!=-1)return;switch(b|0){case 2:case 1:{g[a+336>>2]=d;c[a+332>>2]=c[a+332>>2]|1;return}case 4:case 3:{g[a+340>>2]=d;c[a+332>>2]=c[a+332>>2]|2;return}default:return}}function Wn(a,b){a=a|0;b=b|0;c[a>>2]=c[b>>2];c[a+4>>2]=c[b+4>>2];c[a+8>>2]=c[b+8>>2];c[a+12>>2]=c[b+12>>2];c[a+16>>2]=c[b+16>>2];c[a+16+4>>2]=c[b+16+4>>2];c[a+16+8>>2]=c[b+16+8>>2];c[a+16+12>>2]=c[b+16+12>>2];return}function Xn(a){a=a|0;var b=0;b=c[a+144>>2]|0;a=c[b+32>>2]|0;if(!a)return;if((a|0)>1)a=a+-1|0;else{a=c[b+8>>2]|0;Ib[c[(c[a>>2]|0)+24>>2]&127](a,c[b+28>>2]|0);c[b+36>>2]=0;a=0}c[b+32>>2]=a;return}function Yn(b,d,e){b=b|0;d=d|0;e=+e;var f=0;f=l;l=l+16|0;if(!(a[25776]|0))By(25776)|0;li(f,b,d,e);c[6496]=c[f>>2];c[6497]=c[f+4>>2];c[6498]=c[f+8>>2];c[6499]=c[f+12>>2];l=f;return 25984}function Zn(b,d,e){b=b|0;d=d|0;e=+e;var f=0;f=l;l=l+16|0;if(!(a[25808]|0))By(25808)|0;li(f,b,d,e);c[6532]=c[f>>2];c[6533]=c[f+4>>2];c[6534]=c[f+8>>2];c[6535]=c[f+12>>2];l=f;return 26128}function _n(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;if((b|0)==(d|0))return;e=c[(c[a+4>>2]|0)+96>>2]|0;wb[c[(c[e>>2]|0)+8>>2]&63](e,c[b+36>>2]|0,c[d+36>>2]|0)|0;d=(c[a+4>>2]|0)+120|0;c[d>>2]=(c[d>>2]|0)+1;return}function $n(a){a=a|0;var b=0.0,d=0,e=0.0,f=0.0;d=l;l=l+32|0;Mb[c[(c[a>>2]|0)+12>>2]&127](a,d+8|0,d);f=+g[d+8>>2];e=+g[d+8+4>>2];b=+g[d+8+8>>2];b=+B(+(f*f+e*e+b*b));l=d;return +(+g[d>>2]+b)}function ao(a){a=a|0;var b=0;c[a>>2]=11864;b=c[a+48>>2]|0;Ib[c[(c[b>>2]|0)+20>>2]&127](b,c[a+64>>2]|0);b=c[a+48>>2]|0;Ib[c[(c[b>>2]|0)+16>>2]&127](b,c[a+64>>2]|0);c[6898]=(c[6898]|0)+1;md(c[a+-4>>2]|0);return}function bo(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=l;l=l+16|0;c[f>>2]=7232;c[f+4>>2]=d;c[f+8>>2]=a;Mb[c[(c[b>>2]|0)+48>>2]&127](b,f,e);l=f;return}function co(a,b,d){a=a|0;b=b|0;d=d|0;a=c[b+8>>2]|0;if(!((d|0)!=0&(a|0)!=0))return;Db[c[c[a>>2]>>2]&511](a);Ib[c[(c[d>>2]|0)+60>>2]&127](d,c[b+8>>2]|0);c[b+8>>2]=0;return}function eo(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;b=kH(b+4|0)|0;e=(kH(tF(b,0)|0)|0)+(c<<2)|0;d=(kH(tF(b,1)|0)|0)+(c<<2)|0;Lr(a,e,d,(kH(tF(b,2)|0)|0)+(c<<2)|0);return}function fo(a,b){a=a|0;b=b|0;var c=0.0,d=0.0;c=+g[(kH(a)|0)>>2];c=c*+g[(kH(b)|0)>>2];d=+g[(kH(a+16|0)|0)>>2];d=c+d*+g[(UG(b)|0)>>2];c=+g[(kH(a+32|0)|0)>>2];return +(d+c*+g[(TG(b)|0)>>2])}function go(a){a=a|0;var b=0;b=c[i>>2]|0;if((a|0)>0&(b+a|0)<(b|0)|(b+a|0)<0){V()|0;Qa(12);return -1}c[i>>2]=b+a;if((b+a|0)>(U()|0)?(T()|0)==0:0){c[i>>2]=b;Qa(12);return -1}return b|0}function ho(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;e=l;l=l+16|0;c[e>>2]=7120;c[e+4>>2]=b;c[e+8>>2]=a;c[e+12>>2]=d;Mb[c[(c[a>>2]|0)+48>>2]&127](a,e,d);l=e;return}function io(b){b=b|0;var d=0;c[b>>2]=8336;if(a[b+65>>0]|0?(d=c[b+56>>2]|0,Db[c[c[d>>2]>>2]&511](d),d=c[b+56>>2]|0,d|0):0){c[6898]=(c[6898]|0)+1;md(c[d+-4>>2]|0)}c[6898]=(c[6898]|0)+1;md(c[b+-4>>2]|0);return}function jo(a,b){a=a|0;b=b|0;a=c[a+16>>2]|0;return ub[c[(c[a>>2]|0)+8>>2]&31](a,b)|0}function ko(a,b,c,d){a=+a;b=+b;c=+c;d=+d;var e=0,f=0;f=l;l=l+16|0;g[f+12>>2]=a;g[f+8>>2]=b;g[f+4>>2]=c;g[f>>2]=d;e=Ds()|0;xt(e,f+12|0,f+8|0,f+4|0,f);l=f;return e|0}function lo(a,b,c,d){a=+a;b=+b;c=+c;d=+d;var e=0,f=0;f=l;l=l+16|0;g[f+12>>2]=a;g[f+8>>2]=b;g[f+4>>2]=c;g[f>>2]=d;e=ps(16)|0;Iu(e,f+12|0,f+8|0,f+4|0,f);l=f;return e|0}function mo(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;if(lC(a,c[b+8>>2]|0)|0)nk(b,d,e,f);return}function no(a){a=a|0;var b=0;b=kH(a)|0;g[b>>2]=3402823466385288598117041.0e14;g[b+4>>2]=3402823466385288598117041.0e14;g[b+8>>2]=3402823466385288598117041.0e14;a=kH(a+16|0)|0;g[a>>2]=-3402823466385288598117041.0e14;g[a+4>>2]=-3402823466385288598117041.0e14;g[a+8>>2]=-3402823466385288598117041.0e14;return}function oo(a,b){a=a|0;b=+b;var d=0,e=0;if((c[a+296>>2]|0)<=0)return;d=0;do{e=c[(c[a+304>>2]|0)+(d<<2)>>2]|0;Jb[c[(c[e>>2]|0)+8>>2]&7](e,a,b);d=d+1|0}while((d|0)<(c[a+296>>2]|0));return}function po(b){b=b|0;var d=0;c[b>>2]=5664;d=c[b+212>>2]|0;if(d|0){if(a[b+216>>0]|0){c[6898]=(c[6898]|0)+1;md(c[d+-4>>2]|0)}c[b+212>>2]=0}a[b+216>>0]=1;c[b+212>>2]=0;c[b+204>>2]=0;c[b+208>>2]=0;return}function qo(b){b=b|0;var d=0;d=l;l=l+16|0;if(!(a[25736]|0))By(25736)|0;iz(d,b);c[6476]=c[d>>2];c[6477]=c[d+4>>2];c[6478]=c[d+8>>2];c[6479]=c[d+12>>2];l=d;return 25904}function ro(b){b=b|0;var d=0;d=l;l=l+16|0;if(!(a[25728]|0))By(25728)|0;Nx(d,b);c[6472]=c[d>>2];c[6473]=c[d+4>>2];c[6474]=c[d+8>>2];c[6475]=c[d+12>>2];l=d;return 25888}function so(b){b=b|0;var c=0.0,d=0.0,e=0.0;if(!(a[25744]|0))By(25744)|0;e=-+g[b+52>>2];d=+g[b+260>>2]*e;c=+g[b+264>>2]*e;g[6480]=+g[b+256>>2]*e;g[6481]=d;g[6482]=c;g[6483]=0.0;return 25920}function to(a,b,d){a=a|0;b=+b;d=d|0;b=b*.4000000059604645*+ib[c[(c[a>>2]|0)+48>>2]&15](a);b=b*+ib[c[(c[a>>2]|0)+48>>2]&15](a);g[d>>2]=b;g[d+4>>2]=b;g[d+8>>2]=b;g[d+12>>2]=0.0;return}function uo(a,b){a=a|0;b=b|0;var c=0.0,d=0.0;c=+g[a>>2];c=c*+g[(kH(b)|0)>>2];d=+g[a+4>>2];d=c+d*+g[(UG(b)|0)>>2];c=+g[a+8>>2];c=d+c*+g[(TG(b)|0)>>2];return +(c+ +g[a+12>>2]*+g[b+12>>2])}function vo(b){b=b|0;var d=0,e=0,f=0;e=c[b>>2]|0;f=a[e>>0]|0;if(!(wG(f<<24>>24)|0))d=0;else{d=0;do{d=(d*10|0)+-48+(f<<24>>24)|0;e=e+1|0;c[b>>2]=e;f=a[e>>0]|0}while((wG(f<<24>>24)|0)!=0)}return d|0}function wo(a,b,c,d,e,f,h){a=a|0;b=+b;c=+c;d=+d;e=+e;f=+f;h=+h;var i=0;i=l;l=l+16|0;g[i+8>>2]=c*h-d*f;g[i+4>>2]=d*e-b*h;g[i>>2]=b*f-c*e;Lr(a,i+8|0,i+4|0,i);l=i;return}function xo(){}function yo(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=N(b&65535,a&65535)|0;e=(c>>>16)+(N(b&65535,a>>>16)|0)|0;d=N(b>>>16,a&65535)|0;return (y=(e>>>16)+(N(b>>>16,a>>>16)|0)+(((e&65535)+d|0)>>>16)|0,e+d<<16|c&65535|0)|0}function zo(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;c[d>>2]=-581039253;c[d+4>>2]=-581039253;c[d+8>>2]=-581039253;g[d+12>>2]=0.0;c[e>>2]=1566444395;c[e+4>>2]=1566444395;c[e+8>>2]=1566444395;g[e+12>>2]=0.0;return}function Ao(b){b=b|0;var d=0;d=l;l=l+16|0;if(!(a[25712]|0))By(25712)|0;gp(d,b);c[6464]=c[d>>2];c[6465]=c[d+4>>2];c[6466]=c[d+8>>2];c[6467]=c[d+12>>2];l=d;return 25856}function Bo(b){b=b|0;var d=0;d=l;l=l+16|0;if(!(a[25720]|0))By(25720)|0;Fl(d,b);c[6468]=c[d>>2];c[6469]=c[d+4>>2];c[6470]=c[d+8>>2];c[6471]=c[d+12>>2];l=d;return 25872}function Co(b){b=b|0;var d=0;c[b>>2]=12088;d=c[b+32>>2]|0;if(d|0){if(a[b+36>>0]|0){c[6898]=(c[6898]|0)+1;md(c[d+-4>>2]|0)}c[b+32>>2]=0}a[b+36>>0]=1;c[b+32>>2]=0;c[b+24>>2]=0;c[b+28>>2]=0;return}function Do(a,b){a=a|0;b=b|0;var d=0,e=0;d=l;l=l+16|0;e=kH(c[b+4>>2]|0)|0;c[d>>2]=0;hn(a,e,d);Vq(b,e,c[a+12>>2]|0);l=d;return}function Eo(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;Lr(a,b,c,d);Lr(a+16|0,e,f,g);Lr(a+32|0,h,i,j);return}function Fo(a){a=a|0;var b=0;c[a>>2]=11816;c[a+8>>2]=11864;b=c[a+56>>2]|0;Ib[c[(c[b>>2]|0)+20>>2]&127](b,c[a+72>>2]|0);b=c[a+56>>2]|0;Ib[c[(c[b>>2]|0)+16>>2]&127](b,c[a+72>>2]|0);return}function Go(b){b=b|0;var d=0;c[b>>2]=7252;d=c[b+296>>2]|0;if(d|0){if(a[b+300>>0]|0){c[6898]=(c[6898]|0)+1;md(c[d+-4>>2]|0)}c[b+296>>2]=0}a[b+300>>0]=1;c[b+296>>2]=0;c[b+288>>2]=0;c[b+292>>2]=0;return}function Ho(a){a=a|0;var b=0,d=0;c[a>>2]=10024;b=c[a+56>>2]|0;if(b|0?(Db[c[c[b>>2]>>2]&511](b),d=c[a+56>>2]|0,d|0):0){c[6898]=(c[6898]|0)+1;md(c[d+-4>>2]|0)}c[6898]=(c[6898]|0)+1;md(c[a+-4>>2]|0);return}function Io(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=l;l=l+64|0;Aj(d+16|0,b,c);pl(d,b,+g[c+48>>2],+g[c+52>>2],+g[c+56>>2]);Rp(a,d+16|0,d);l=d;return}function Jo(a,b){a=a|0;b=b|0;var d=0;d=(c[a+96>>2]|0)+4|0;c[d>>2]=c[b>>2];c[d+4>>2]=c[b+4>>2];c[d+8>>2]=c[b+8>>2];c[d+12>>2]=c[b+12>>2];Ci(a);return}function Ko(b,d){b=b|0;d=d|0;var e=0;if(a[b+289>>0]|0?(e=c[b+216>>2]|0,e|0):0){c[6898]=(c[6898]|0)+1;md(c[e+-4>>2]|0)}a[b+289>>0]=0;c[b+216>>2]=d;c[(c[b+212>>2]|0)+8>>2]=d;return}function Lo(b){b=b|0;var d=0;c[b>>2]=5416;d=c[b+88>>2]|0;if(d|0){if(a[b+92>>0]|0){c[6898]=(c[6898]|0)+1;md(c[d+-4>>2]|0)}c[b+88>>2]=0}a[b+92>>0]=1;c[b+88>>2]=0;c[b+80>>2]=0;c[b+84>>2]=0;return}function Mo(b){b=b|0;var d=0;c[b>>2]=7160;d=c[b+20>>2]|0;if(d|0){if(a[b+24>>0]|0){c[6898]=(c[6898]|0)+1;md(c[d+-4>>2]|0)}c[b+20>>2]=0}a[b+24>>0]=1;c[b+20>>2]=0;c[b+12>>2]=0;c[b+16>>2]=0;return}function No(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;e=c[b>>2]|0;e=ub[c[(c[e>>2]|0)+56>>2]&31](e,8)|0;c[e+4>>2]=c[b>>2];c[e>>2]=7956;return e|0}function Oo(a,b){a=a|0;b=b|0;var d=0,e=0;d=l;l=l+16|0;e=kH(c[b+4>>2]|0)|0;Il(a,e,d);en(b,e,c[a+12>>2]|0);l=d;return}function Po(b){b=b|0;var d=0;c[b>>2]=6796;d=c[b+16>>2]|0;if(d|0){if(a[b+20>>0]|0){c[6898]=(c[6898]|0)+1;md(c[d+-4>>2]|0)}c[b+16>>2]=0}a[b+20>>0]=1;c[b+16>>2]=0;c[b+8>>2]=0;c[b+12>>2]=0;return}function Qo(a,b,c,d,e){a=a|0;b=+b;c=+c;d=+d;e=+e;var f=0;f=l;l=l+16|0;g[f+12>>2]=b;g[f+8>>2]=c;g[f+4>>2]=d;g[f>>2]=e;_q(a,f+12|0,f+8|0,f+4|0,f);l=f;return}function Ro(b){b=b|0;var d=0,e=0;c[b>>2]=8152;if(!(a[b+8>>0]|0)){hH(b);return}d=c[b+12>>2]|0;if(!d){hH(b);return}e=c[b+4>>2]|0;Ib[c[(c[e>>2]|0)+16>>2]&127](e,d);hH(b);return}function So(b){b=b|0;var d=0,e=0;c[b>>2]=8124;if(!(a[b+8>>0]|0)){hH(b);return}d=c[b+12>>2]|0;if(!d){hH(b);return}e=c[b+4>>2]|0;Ib[c[(c[e>>2]|0)+16>>2]&127](e,d);hH(b);return}function To(b){b=b|0;var d=0,e=0;c[b>>2]=12016;if(!(a[b+8>>0]|0)){hH(b);return}d=c[b+12>>2]|0;if(!d){hH(b);return}e=c[b+4>>2]|0;Ib[c[(c[e>>2]|0)+16>>2]&127](e,d);hH(b);return}function Uo(a,b){a=a|0;b=b|0;var d=0,e=0;d=l;l=l+16|0;e=kH(c[b+4>>2]|0)|0;g[d>>2]=0.0;hn(a,e,d);Vq(b,e,c[a+12>>2]|0);l=d;return}function Vo(b){b=b|0;var d=0;c[b>>2]=8336;if(!(a[b+65>>0]|0))return;d=c[b+56>>2]|0;Db[c[c[d>>2]>>2]&511](d);b=c[b+56>>2]|0;if(!b)return;c[6898]=(c[6898]|0)+1;md(c[b+-4>>2]|0);return}function Wo(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;e=l;l=l+16|0;c[e>>2]=7140;c[e+4>>2]=b;Mb[c[(c[a>>2]|0)+48>>2]&127](a,e,d);l=e;return}function Xo(b){b=b|0;var d=0,e=0;c[b>>2]=11640;if(!(a[b+8>>0]|0)){hH(b);return}d=c[b+12>>2]|0;if(!d){hH(b);return}e=c[b+4>>2]|0;Ib[c[(c[e>>2]|0)+16>>2]&127](e,d);hH(b);return}function Yo(b,c,d){b=b|0;c=c|0;d=d|0;var e=0;if((c|0)<(b|0)&(b|0)<(c+d|0)){e=b;c=c+d|0;b=b+d|0;while((d|0)>0){b=b-1|0;c=c-1|0;d=d-1|0;a[b>>0]=a[c>>0]|0}b=e}else vh(b,c,d)|0;return b|0}function Zo(a,b){a=a|0;b=b|0;var c=0.0,d=0.0,e=0.0;e=+A(+(+g[b>>2]));d=+A(+(+g[b+4>>2]));c=+A(+(+g[b+8>>2]));g[a+16>>2]=e;g[a+20>>2]=d;g[a+24>>2]=c;g[a+28>>2]=0.0;return}function _o(a,b){a=a|0;b=b|0;of(a,c[b+36>>2]|0);return}function $o(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;if(lC(a,c[b+8>>2]|0)|0)lm(b,d,e);return}function ap(a,b,c,d,e,f,g,h,i,j,k,l,m){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=+f;g=+g;h=+h;i=+i;j=+j;k=k|0;l=+l;m=m|0;Rb[a&0](b|0,c|0,d|0,e|0,+f,+g,+h,+i,+j,k|0,+l,m|0)}function bp(a,b,c,d){a=a|0;b=b|0;c=c|0;d=+d;g[a>>2]=(1.0-d)*+g[b>>2]+ +g[c>>2]*d;g[a+4>>2]=(1.0-d)*+g[b+4>>2]+ +g[c+4>>2]*d;g[a+8>>2]=(1.0-d)*+g[b+8>>2]+ +g[c+8>>2]*d;return}function cp(a,b,c,d,e,f,h){a=a|0;b=+b;c=+c;d=+d;e=+e;f=+f;h=+h;var i=0;i=l;l=l+16|0;g[i+8>>2]=b+e;g[i+4>>2]=c+f;g[i>>2]=d+h;Lr(a,i+8|0,i+4|0,i);l=i;return}function dp(a,b,c,d,e,f,h){a=a|0;b=+b;c=+c;d=+d;e=+e;f=+f;h=+h;var i=0;i=l;l=l+16|0;g[i+8>>2]=b*e;g[i+4>>2]=c*f;g[i>>2]=d*h;Lr(a,i+8|0,i+4|0,i);l=i;return}function ep(a,b,c,d,e,f,h){a=a|0;b=+b;c=+c;d=+d;e=+e;f=+f;h=+h;var i=0;i=l;l=l+16|0;g[i+8>>2]=b-e;g[i+4>>2]=c-f;g[i>>2]=d-h;Lr(a,i+8|0,i+4|0,i);l=i;return}function fp(a,b){a=a|0;b=b|0;c[a+160>>2]=c[b>>2];c[a+160+4>>2]=c[b+4>>2];c[a+160+8>>2]=c[b+8>>2];c[a+160+12>>2]=c[b+12>>2];Db[c[(c[a>>2]|0)+72>>2]&511](a);return}function gp(a,b){a=a|0;b=b|0;var c=0;c=l;l=l+16|0;g[c+8>>2]=-+g[b>>2];g[c+4>>2]=-+g[b+4>>2];g[c>>2]=-+g[b+8>>2];Iu(a,c+8|0,c+4|0,c,b+12|0);l=c;return}function hp(a){a=a|0;var b=0;c[a>>2]=10024;b=c[a+56>>2]|0;if(!b)return;Db[c[c[b>>2]>>2]&511](b);a=c[a+56>>2]|0;if(!a)return;c[6898]=(c[6898]|0)+1;md(c[a+-4>>2]|0);return}function ip(a,b){a=a|0;b=b|0;c[a+304>>2]=(c[a+304>>2]|0)+1;c[a+148>>2]=c[b>>2];c[a+148+4>>2]=c[b+4>>2];c[a+148+8>>2]=c[b+8>>2];c[a+148+12>>2]=c[b+12>>2];return}function jp(b,d){b=b|0;d=d|0;if(!(a[25760]|0))By(25760)|0;d=tF(c[b+12>>2]|0,d)|0;c[6488]=c[d>>2];c[6489]=c[d+4>>2];c[6490]=c[d+8>>2];c[6491]=c[d+12>>2];return 25952}function kp(a,b){a=a|0;b=b|0;c[a+56>>2]=c[b>>2];c[a+56+4>>2]=c[b+4>>2];c[a+56+8>>2]=c[b+8>>2];c[a+56+12>>2]=c[b+12>>2];Db[c[(c[a>>2]|0)+72>>2]&511](a);return}function lp(a,b){a=a|0;b=b|0;c[a+304>>2]=(c[a+304>>2]|0)+1;c[a+132>>2]=c[b>>2];c[a+132+4>>2]=c[b+4>>2];c[a+132+8>>2]=c[b+8>>2];c[a+132+12>>2]=c[b+12>>2];return}function mp(a,b,d){a=a|0;b=b|0;d=d|0;b=c[b+188>>2]|0;a=c[d+188>>2]|0;if(!(c[a+8>>2]&c[b+4>>2])){d=0;return d|0}d=(c[b+8>>2]&c[a+4>>2]|0)!=0;return d|0}function np(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;return +(+Va(0,a|0,b|0,c|0,d|0,e|0,f|0,g|0,h|0))}function op(a,b){a=a|0;b=b|0;if((b|0)==0?1:(c[b+252>>2]&2|0)==0){Ah(a,b);return}else{Ib[c[(c[a>>2]|0)+92>>2]&127](a,b);return}}function pp(a){a=a|0;var b=0;c[a>>2]=11864;b=c[a+48>>2]|0;Ib[c[(c[b>>2]|0)+20>>2]&127](b,c[a+64>>2]|0);b=c[a+48>>2]|0;Ib[c[(c[b>>2]|0)+16>>2]&127](b,c[a+64>>2]|0);return}function qp(b,c,e,f){b=b|0;c=c|0;e=e|0;f=f|0;if(!((b|0)==0&(c|0)==0))do{e=e+-1|0;a[e>>0]=d[480+(b&15)>>0]|0|f;b=qt(b|0,c|0,4)|0;c=y}while(!((b|0)==0&(c|0)==0));return e|0}function rp(a,b,c,d){a=a|0;b=+b;c=+c;d=+d;var e=0;e=l;l=l+16|0;g[e+8>>2]=+aH(b);g[e+4>>2]=+aH(c);g[e>>2]=+aH(d);Lr(a,e+8|0,e+4|0,e);l=e;return}function sp(a,b,c,d){a=a|0;b=+b;c=+c;d=+d;var e=0;e=l;l=l+16|0;dp(e,b,c,d,+g[a+408>>2],+g[a+412>>2],+g[a+416>>2]);qr(a+472|0,e)|0;l=e;return}function tp(a,b,c){a=+a;b=+b;c=+c;var d=0,e=0;e=l;l=l+16|0;g[e+8>>2]=a;g[e+4>>2]=b;g[e>>2]=c;d=Ds()|0;Lr(d,e+8|0,e+4|0,e);l=e;return d|0}function up(a,b){a=a|0;b=b|0;c[a+16>>2]=c[b>>2];c[a+16+4>>2]=c[b+4>>2];c[a+16+8>>2]=c[b+8>>2];c[a+16+12>>2]=c[b+12>>2];Ci(a);return}function vp(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|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;return Bb[a&3](b|0,c|0,d|0,e|0,f|0,g|0,h|0,i|0,j|0,k|0)|0}function wp(a,b,d){a=a|0;b=b|0;d=d|0;c[d>>2]=c[a+100+(b<<4)>>2];c[d+4>>2]=c[a+100+(b<<4)+4>>2];c[d+8>>2]=c[a+100+(b<<4)+8>>2];c[d+12>>2]=c[a+100+(b<<4)+12>>2];return}function xp(a,b,c,d){a=a|0;b=+b;c=+c;d=+d;var e=0;e=l;l=l+16|0;dp(e,b,c,d,+g[a+604>>2],+g[a+608>>2],+g[a+612>>2]);qr(a+488|0,e)|0;l=e;return}function yp(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|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;return +rb[a&3](b|0,c|0,d|0,e|0,f|0,g|0,h|0,i|0,j|0,k|0)}function zp(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0;h=cs()|0;_d(h,a,b,c,d,e,f,g);return h|0}function Ap(){var a=0,b=0;a=pr()|0;if((a|0?(b=c[a>>2]|0,b|0):0)?((c[b+48>>2]&-256|0)==1126902528?(c[b+48+4>>2]|0)==1129074247:0):0)Lw(c[b+12>>2]|0);Lw(XD()|0)}function Bp(a,b,d){a=a|0;b=b|0;d=d|0;Uy(a,b);c[a+48>>2]=c[d>>2];c[a+48+4>>2]=c[d+4>>2];c[a+48+8>>2]=c[d+8>>2];c[a+48+12>>2]=c[d+12>>2];return}function Cp(a,b){a=a|0;b=b|0;c[a+304>>2]=(c[a+304>>2]|0)+1;c[a+388>>2]=c[b>>2];c[a+388+4>>2]=c[b+4>>2];c[a+388+8>>2]=c[b+8>>2];c[a+388+12>>2]=c[b+12>>2];return}function Dp(){var a=0,b=0;b=l;l=l+32|0;a=ps(88)|0;Is(b);Jd(a,b);l=b;return a|0}function Ep(a,b,d){a=a|0;b=b|0;d=d|0;c[d>>2]=c[a+60+(b<<4)>>2];c[d+4>>2]=c[a+60+(b<<4)+4>>2];c[d+8>>2]=c[a+60+(b<<4)+8>>2];c[d+12>>2]=c[a+60+(b<<4)+12>>2];return}function Fp(a,b){a=a|0;b=b|0;c[a+304>>2]=(c[a+304>>2]|0)+1;c[a+372>>2]=c[b>>2];c[a+372+4>>2]=c[b+4>>2];c[a+372+8>>2]=c[b+8>>2];c[a+372+12>>2]=c[b+12>>2];return}function Gp(b,d){b=b|0;d=d|0;if(!(a[25800]|0))By(25800)|0;d=tF(b,d)|0;c[6528]=c[d>>2];c[6529]=c[d+4>>2];c[6530]=c[d+8>>2];c[6531]=c[d+12>>2];return 26112}function Hp(a,b){a=a|0;b=b|0;c[a+304>>2]=(c[a+304>>2]|0)+1;c[a+604>>2]=c[b>>2];c[a+604+4>>2]=c[b+4>>2];c[a+604+8>>2]=c[b+8>>2];c[a+604+12>>2]=c[b+12>>2];return}function Ip(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|0;f=+f;g=+g;h=+h;i=+i;j=j|0;k=k|0;l=+l;Sb[a&0](b|0,c|0,d|0,e|0,+f,+g,+h,+i,j|0,k|0,+l)}function Jp(a){a=a|0;var b=0.0,d=0.0;d=+g[a+36>>2];+ib[c[(c[a>>2]|0)+48>>2]&15](a);b=+ib[c[(c[a>>2]|0)+48>>2]&15](a);+ib[c[(c[a>>2]|0)+48>>2]&15](a);return +(d+b)}function Kp(a){a=a|0;var b=0.0,d=0.0;d=+g[a+32>>2];b=+ib[c[(c[a>>2]|0)+48>>2]&15](a);+ib[c[(c[a>>2]|0)+48>>2]&15](a);+ib[c[(c[a>>2]|0)+48>>2]&15](a);return +(d+b)}function Lp(a,b,c,d,e,f,g,h,i,j,k){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;Xb[a&3](b|0,c|0,d|0,e|0,f|0,g|0,h|0,i|0,j|0,k|0)}function Mp(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;e=l;l=l+16|0;c[e>>2]=c[d>>2];a=wb[c[(c[a>>2]|0)+16>>2]&63](a,b,e)|0;if(a)c[d>>2]=c[e>>2];l=e;return a&1|0}function Np(a,b,c,d,e){a=a|0;b=+b;c=+c;d=+d;e=+e;var f=0;f=l;l=l+16|0;g[f+8>>2]=b*e;g[f+4>>2]=c*e;g[f>>2]=d*e;Lr(a,f+8|0,f+4|0,f);l=f;return}function Op(a,b){a=a|0;b=b|0;g[a>>2]=+g[a>>2]*+g[b>>2];g[a+4>>2]=+g[a+4>>2]*+g[b>>2];g[a+8>>2]=+g[a+8>>2]*+g[b>>2];g[a+12>>2]=+g[a+12>>2]*+g[b>>2];return a|0}function Pp(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;Eo(a,b,c,d,e,f,g,h,i,j);return}function Qp(a,b,d){a=a|0;b=b|0;d=d|0;b=c[b+204>>2]|0;if(b&4|0)return 0;a=c[d+204>>2]|0;if(!(a&4))return (b&3|0)==0|(a&3|0)==0|0;else return 0;return 0}function Rp(a,b,d){a=a|0;b=b|0;d=d|0;Vl(a,b);c[a+48>>2]=c[d>>2];c[a+48+4>>2]=c[d+4>>2];c[a+48+8>>2]=c[d+8>>2];c[a+48+12>>2]=c[d+12>>2];return}function Sp(b){b=b|0;var d=0;c[b>>2]=8152;if(!(a[b+8>>0]|0))return;d=c[b+12>>2]|0;if(!d)return;b=c[b+4>>2]|0;Ib[c[(c[b>>2]|0)+16>>2]&127](b,d);return}function Tp(b){b=b|0;var d=0;c[b>>2]=7160;d=c[b+20>>2]|0;if(!d){hH(b);return}if(!(a[b+24>>0]|0)){hH(b);return}c[6898]=(c[6898]|0)+1;md(c[d+-4>>2]|0);hH(b);return}function Up(b){b=b|0;var d=0;c[b>>2]=8124;if(!(a[b+8>>0]|0))return;d=c[b+12>>2]|0;if(!d)return;b=c[b+4>>2]|0;Ib[c[(c[b>>2]|0)+16>>2]&127](b,d);return}function Vp(b){b=b|0;var d=0;c[b>>2]=12016;if(!(a[b+8>>0]|0))return;d=c[b+12>>2]|0;if(!d)return;b=c[b+4>>2]|0;Ib[c[(c[b>>2]|0)+16>>2]&127](b,d);return}function Wp(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;g=cs()|0;_d(g,a,b,c,d,e,f,0);return g|0}function Xp(a,b){a=a|0;b=b|0;var c=0;c=l;l=l+128|0;dn(c,a+68|0);Io(c+64|0,a+4|0,c);qq(b,c+64|0);l=c;return}function Yp(a,b){a=a|0;b=b|0;a=c[a+4>>2]|0;return ((c[b>>2]|0)==(a|0)?1:(c[b+4>>2]|0)==(a|0))|0}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=Qr()|0;he(f,a,b,c,d,e);return f|0}function _p(a,b){a=a|0;b=b|0;a=c[a+24>>2]|0;return ub[c[(c[a>>2]|0)+8>>2]&31](a,b)|0}function $p(b){b=b|0;var d=0;c[b>>2]=11640;if(!(a[b+8>>0]|0))return;d=c[b+12>>2]|0;if(!d)return;b=c[b+4>>2]|0;Ib[c[(c[b>>2]|0)+16>>2]&127](b,d);return}function aq(b){b=b|0;var d=0;c[b>>2]=6796;d=c[b+16>>2]|0;if(!d){hH(b);return}if(!(a[b+20>>0]|0)){hH(b);return}c[6898]=(c[6898]|0)+1;md(c[d+-4>>2]|0);hH(b);return}function bq(a,b,c,d){a=a|0;b=+b;c=+c;d=+d;var e=0;e=l;l=l+16|0;g[e+8>>2]=b;g[e+4>>2]=c;g[e>>2]=d;Lr(a,e+8|0,e+4|0,e);l=e;return}function cq(a,b,d){a=a|0;b=b|0;d=d|0;$F(a);c[a>>2]=5368;qq(a+4|0,b);qq(a+68|0,d);qq(a+132|0,b);c[a+196>>2]=0;return}function dq(a){a=a|0;var b=0;b=l;l=l+16|0;Gm(a);g[b+8>>2]=0.0;g[b+4>>2]=0.0;g[b>>2]=0.0;Lr(a+48|0,b+8|0,b+4|0,b);l=b;return}function eq(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=+e;var f=0;f=ps(44)|0;Ql(f,a,b,c,d,e);return f|0}function fq(a,b,c){a=a|0;b=b|0;c=+c;switch(b|0){case 3:{g[a+452>>2]=c;return}case 4:{g[a+448>>2]=c;return}case 5:{g[a+444>>2]=c;return}default:return}}function gq(a,b){a=a|0;b=b|0;Cm(a);c[a>>2]=11080;DD(a+152|0);c[a+148>>2]=b;zh(a,b);return}function hq(a,b){a=a|0;b=b|0;var c=0;c=0;while(1){if((c|0)==3)break;g[a+868+(c<<6)+4>>2]=+as(+g[(kH(b)|0)+(c<<2)>>2]);c=c+1|0}return}function iq(a,b){a=a|0;b=b|0;b=c[b+36>>2]|0;Zd(a,c[(c[(c[(c[a+4>>2]|0)+4>>2]|0)+28>>2]|0)+(b*80|0)+64>>2]|0,b);return}function jq(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;return +qb[a&3](b|0,c|0,d|0,e|0,f|0,g|0,h|0,i|0,j|0)}function kq(a,b){a=a|0;b=b|0;var c=0;c=0;while(1){if((c|0)==3)break;g[a+868+(c<<6)>>2]=+as(+g[(kH(b)|0)+(c<<2)>>2]);c=c+1|0}return}function lq(a,b,c,d){a=+a;b=b|0;c=c|0;d=d|0;var e=0;e=ps(144)|0;Wj(e,a,b,c,d);return e|0}function mq(a,b,d,e,f,g,h,i){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;return +(+pb[c[(c[a>>2]|0)+12>>2]&1](a,b,d,e,f,g,h,i))}function nq(b,c,d){b=b|0;c=c|0;d=d|0;if(!((b|0)==0&(c|0)==0))do{d=d+-1|0;a[d>>0]=b&7|48;b=qt(b|0,c|0,3)|0;c=y}while(!((b|0)==0&(c|0)==0));return d|0}function oq(a,b){a=a|0;b=b|0;b=l;l=l+16|0;g[b+8>>2]=1.0;g[b+4>>2]=1.0;g[b>>2]=1.0;Lr(a,b+8|0,b+4|0,b);l=b;return}function pq(a,b){a=a|0;b=b|0;var d=0,e=0;d=c[a+4>>2]|0;e=c[d>>2]|0;Mb[c[(c[e>>2]|0)+108>>2]&127](e,b,d+112|0);return (c[a+4>>2]|0)+112|0}function qq(a,b){a=a|0;b=b|0;Vl(a,b);c[a+48>>2]=c[b+48>>2];c[a+48+4>>2]=c[b+48+4>>2];c[a+48+8>>2]=c[b+48+8>>2];c[a+48+12>>2]=c[b+48+12>>2];return}function rq(a,b){a=a|0;b=b|0;var d=0,e=0;d=c[a+4>>2]|0;e=c[d>>2]|0;Mb[c[(c[e>>2]|0)+104>>2]&127](e,b,d+4|0);return (c[a+4>>2]|0)+4|0}function sq(a,b){a=a|0;b=b|0;Lr(a,b,b+16|0,b+32|0);Lr(a+16|0,b+4|0,b+20|0,b+36|0);Lr(a+32|0,b+8|0,b+24|0,b+40|0);return}function tq(a,b){a=a|0;b=b|0;Db[c[(c[b>>2]|0)+32>>2]&511](b);dd(a,b);Db[c[(c[b>>2]|0)+36>>2]&511](b);return}function uq(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;Wb[a&1](b|0,c|0,d|0,e|0,f|0,g|0,h|0,i|0,j|0)}function vq(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;Mb[c[(c[a>>2]|0)+108>>2]&127](a,b,d);Mb[c[(c[a>>2]|0)+108>>2]&127](a,(b+1|0)%3|0,e);return}function wq(a,b,c,d){a=a|0;b=+b;c=+c;d=+d;var e=0;e=l;l=l+16|0;g[e+8>>2]=-b;g[e+4>>2]=-c;g[e>>2]=-d;Lr(a,e+8|0,e+4|0,e);l=e;return}function xq(a,b){a=a|0;b=b|0;c[a+100>>2]=c[b>>2];c[a+100+4>>2]=c[b+4>>2];c[a+100+8>>2]=c[b+8>>2];c[a+100+12>>2]=c[b+12>>2];return}function yq(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0;f=ds()|0;Od(f,a,b,c&65535,d,e);return f|0}function zq(a,b){a=a|0;b=b|0;c[a+696>>2]=c[b>>2];c[a+696+4>>2]=c[b+4>>2];c[a+696+8>>2]=c[b+8>>2];c[a+696+12>>2]=c[b+12>>2];return}function Aq(a,b){a=a|0;b=b|0;c[a+680>>2]=c[b>>2];c[a+680+4>>2]=c[b+4>>2];c[a+680+8>>2]=c[b+8>>2];c[a+680+12>>2]=c[b+12>>2];return}function Bq(a){a=a|0;c[a>>2]=5592;tD(a+116|0);tD(a+96|0);tD(a+76|0);tD(a+24|0);return}function Cq(a,b){a=a|0;b=b|0;c[a+156>>2]=c[b>>2];c[a+156+4>>2]=c[b+4>>2];c[a+156+8>>2]=c[b+8>>2];c[a+156+12>>2]=c[b+12>>2];return}function Dq(b,c,d){b=b|0;c=c|0;d=d|0;a[b+1309+c>>0]=d&1;if((c|0)<3){a[b+788+c>>0]=d&1;return}else{a[b+868+(c+-3<<6)+44>>0]=d&1;return}}function Eq(a,b){a=a|0;b=b|0;c[a+112>>2]=c[b>>2];c[a+112+4>>2]=c[b+4>>2];c[a+112+8>>2]=c[b+8>>2];c[a+112+12>>2]=c[b+12>>2];return}function Fq(a){a=a|0;c[a>>2]=5216;tD(a+108|0);tD(a+88|0);tD(a+68|0);tD(a+16|0);return}function Gq(a,b){a=a|0;b=b|0;c[a+56>>2]=c[b>>2];c[a+56+4>>2]=c[b+4>>2];c[a+56+8>>2]=c[b+8>>2];c[a+56+12>>2]=c[b+12>>2];return}function Hq(a,b){a=a|0;b=b|0;c[a+44>>2]=c[b>>2];c[a+44+4>>2]=c[b+4>>2];c[a+44+8>>2]=c[b+8>>2];c[a+44+12>>2]=c[b+12>>2];return}function Iq(a){a=a|0;c[6897]=(c[6897]|0)+1;a=ec((a<<4|3)+16|0)|0;if(!a){a=0;return a|0}c[(a+4+15&-16)+-4>>2]=a;a=a+4+15&-16;return a|0}function Jq(a){a=a|0;var b=0;do{c[a+4>>2]=0;g[a+8>>2]=0.0;b=c[a+24>>2]|0;if(b|0)Jq(b);a=c[a+28>>2]|0}while((a|0)!=0);return}function Kq(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=+f;Ad(a,b,c,d,e,f);return}function Lq(a,b){a=a|0;b=b|0;c[a+40>>2]=c[b>>2];c[a+40+4>>2]=c[b+4>>2];c[a+40+8>>2]=c[b+8>>2];c[a+40+12>>2]=c[b+12>>2];return}function Mq(a,b){a=a|0;b=b|0;c[a+60>>2]=c[b>>2];c[a+60+4>>2]=c[b+4>>2];c[a+60+8>>2]=c[b+8>>2];c[a+60+12>>2]=c[b+12>>2];return}function Nq(a,b){a=a|0;b=b|0;c[a+172>>2]=c[b>>2];c[a+172+4>>2]=c[b+4>>2];c[a+172+8>>2]=c[b+8>>2];c[a+172+12>>2]=c[b+12>>2];return}function Oq(a,b){a=a|0;b=b|0;c[a+32>>2]=c[b>>2];c[a+32+4>>2]=c[b+4>>2];c[a+32+8>>2]=c[b+8>>2];c[a+32+12>>2]=c[b+12>>2];return}function Pq(a){a=a|0;g[a>>2]=5.880000114440918;g[a+4>>2]=.8299999833106995;g[a+8>>2]=.8799999952316284;g[a+12>>2]=500.0;g[a+16>>2]=10.5;g[a+20>>2]=6.0e3;return}function Qq(a,b){a=a|0;b=b|0;c[a+24>>2]=c[b>>2];c[a+24+4>>2]=c[b+4>>2];c[a+24+8>>2]=c[b+8>>2];c[a+24+12>>2]=c[b+12>>2];return}function Rq(a,b){a=a|0;b=b|0;c[a+316>>2]=c[b>>2];c[a+316+4>>2]=c[b+4>>2];c[a+316+8>>2]=c[b+8>>2];c[a+316+12>>2]=c[b+12>>2];return}function Sq(a,b){a=a|0;b=b|0;c[a+300>>2]=c[b>>2];c[a+300+4>>2]=c[b+4>>2];c[a+300+8>>2]=c[b+8>>2];c[a+300+12>>2]=c[b+12>>2];return}function Tq(a,b){a=a|0;b=b|0;c[a+64>>2]=c[b>>2];c[a+64+4>>2]=c[b+4>>2];c[a+64+8>>2]=c[b+8>>2];c[a+64+12>>2]=c[b+12>>2];return}function Uq(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;return Ab[a&3](b|0,c|0,d|0,e|0,f|0,g|0,h|0,i|0)|0}function Vq(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;e=0;while(1){if((e|0)>=(b|0))break;c[d+(e<<2)>>2]=c[(c[a+12>>2]|0)+(e<<2)>>2];e=e+1|0}return}function Wq(a,b){a=a|0;b=b|0;c[a+72>>2]=c[b>>2];c[a+72+4>>2]=c[b+4>>2];c[a+72+8>>2]=c[b+8>>2];c[a+72+12>>2]=c[b+12>>2];return}function Xq(a,b){a=a|0;b=b|0;c[a+52>>2]=c[b>>2];c[a+52+4>>2]=c[b+4>>2];c[a+52+8>>2]=c[b+8>>2];c[a+52+12>>2]=c[b+12>>2];return}function Yq(a,b){a=a|0;b=b|0;c[a+8>>2]=c[b>>2];c[a+8+4>>2]=c[b+4>>2];c[a+8+8>>2]=c[b+8>>2];c[a+8+12>>2]=c[b+12>>2];return}function Zq(a,b){a=a|0;b=b|0;c[a+188>>2]=c[b>>2];c[a+188+4>>2]=c[b+4>>2];c[a+188+8>>2]=c[b+8>>2];c[a+188+12>>2]=c[b+12>>2];return}function _q(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;c[a>>2]=c[b>>2];c[a+4>>2]=c[d>>2];c[a+8>>2]=c[e>>2];c[a+12>>2]=c[f>>2];return}function $q(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;return +pb[a&1](b|0,c|0,d|0,e|0,f|0,g|0,h|0,i|0)}function ar(a,b){a=a|0;b=b|0;c[a+16>>2]=c[b>>2];c[a+16+4>>2]=c[b+4>>2];c[a+16+8>>2]=c[b+8>>2];c[a+16+12>>2]=c[b+12>>2];return}function br(a,b){a=a|0;b=b|0;if(!(c[b+4>>2]&c[a+8>>2])){b=0;return b|0}b=(c[a+4>>2]&c[b+8>>2]|0)!=0;return b|0}function cr(a,b){a=a|0;b=b|0;if(!(c[b+4>>2]&c[a+12>>2])){b=0;return b|0}b=(c[a+8>>2]&c[b+8>>2]|0)!=0;return b|0}function dr(a,b,d){a=a|0;b=b|0;d=+d;Ib[c[(c[a>>2]|0)+32>>2]&127](a,b);Jb[c[(c[a>>2]|0)+36>>2]&7](a,b,d);return}function er(a){a=a|0;c[6897]=(c[6897]|0)+1;a=ec((a<<2|3)+16|0)|0;if(!a){a=0;return a|0}c[(a+4+15&-16)+-4>>2]=a;a=a+4+15&-16;return a|0}function fr(a,b){a=a|0;b=b|0;if(!(c[b+4>>2]&c[a+16>>2])){b=0;return b|0}b=(c[a+12>>2]&c[b+8>>2]|0)!=0;return b|0}function gr(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0;e=ds()|0;Od(e,a,b,c&65535,d,0);return e|0}function hr(a,b){a=a|0;b=b|0;c[a+68>>2]=c[b>>2];c[a+68+4>>2]=c[b+4>>2];c[a+68+8>>2]=c[b+8>>2];c[a+68+12>>2]=c[b+12>>2];return}function ir(a,b){a=a|0;b=b|0;c[a+36>>2]=c[b>>2];c[a+36+4>>2]=c[b+4>>2];c[a+36+8>>2]=c[b+8>>2];c[a+36+12>>2]=c[b+12>>2];return}function jr(a,b){a=a|0;b=b|0;c[a>>2]=c[b+264>>2];c[a+4>>2]=c[b+264+4>>2];c[a+8>>2]=c[b+264+8>>2];c[a+12>>2]=c[b+264+12>>2];return}function kr(){var a=0;a=ps(16)|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;c[a+12>>2]=0;fy(a);return a|0}function lr(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=Qr()|0;Ed(d,a,b,c);return d|0}function mr(a,b,d){a=a|0;b=b|0;d=d|0;if((c[a+4>>2]|0)==(b|0)?(c[a+28>>2]|0)!=1:0)c[a+28>>2]=d;return}function nr(){var a=0;a=Xr()|0;Vm();Vm();cq(a,26e3,26e3);return a|0}function or(a,b){a=a|0;b=b|0;c[a+48>>2]=c[b>>2];c[a+48+4>>2]=c[b+4>>2];c[a+48+8>>2]=c[b+8>>2];c[a+48+12>>2]=c[b+12>>2];return}function pr(){var a=0,b=0;a=l;l=l+16|0;if(!(eb(28168,3)|0)){b=cb(c[7043]|0)|0;l=a;return b|0}else sv(22014,a);return 0}function qr(a,b){a=a|0;b=b|0;g[a>>2]=+g[a>>2]+ +g[b>>2];g[a+4>>2]=+g[a+4>>2]+ +g[b+4>>2];g[a+8>>2]=+g[a+8>>2]+ +g[b+8>>2];return a|0}function rr(a,b){a=a|0;b=b|0;g[a>>2]=+g[a>>2]-+g[b>>2];g[a+4>>2]=+g[a+4>>2]-+g[b+4>>2];g[a+8>>2]=+g[a+8>>2]-+g[b+8>>2];return a|0}function sr(a,b){a=a|0;b=b|0;var c=0;c=l;l=l+64|0;Io(c,b,a+68|0);qq(a+4|0,c);l=c;return}function tr(a){a=a|0;var b=0;b=l;l=l+16|0;g[b+8>>2]=0.0;g[b+4>>2]=0.0;g[b>>2]=0.0;Lr(a,b+8|0,b+4|0,b);l=b;return}function ur(a,b){a=a|0;b=b|0;c[a>>2]=c[b>>2];c[a+4>>2]=c[b+4>>2];c[a+8>>2]=c[b+8>>2];c[a+12>>2]=c[b+12>>2];return}function vr(a,b){a=a|0;b=b|0;g[a>>2]=+g[a>>2]*+g[b>>2];g[a+4>>2]=+g[a+4>>2]*+g[b>>2];g[a+8>>2]=+g[a+8>>2]*+g[b>>2];return a|0}function wr(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=ds()|0;Od(d,a,b,c&65535,0,0);return d|0}function xr(a,b){a=a|0;b=b|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;c[a+12>>2]=0;g[a+(c[b+56>>2]<<2)>>2]=1.0;return}function yr(a){a=a|0;var b=0;b=l;l=l+16|0;md(a);if(!(fb(c[7043]|0,0)|0)){l=b;return}else sv(22113,b)}function zr(){var a=0;c[6897]=(c[6897]|0)+1;a=ec(255)|0;if(!a){a=0;return a|0}c[(a+4+15&-16)+-4>>2]=a;a=a+4+15&-16;return a|0}function Ar(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=xs()|0;ue(d,a,b,c);return d|0}function Br(){var a=0;c[6897]=(c[6897]|0)+1;a=ec(1479)|0;if(!a){a=0;return a|0}c[(a+4+15&-16)+-4>>2]=a;a=a+4+15&-16;return a|0}function Cr(){var a=0;c[6897]=(c[6897]|0)+1;a=ec(311)|0;if(!a){a=0;return a|0}c[(a+4+15&-16)+-4>>2]=a;a=a+4+15&-16;return a|0}function Dr(){var a=0;c[6897]=(c[6897]|0)+1;a=ec(1407)|0;if(!a){a=0;return a|0}c[(a+4+15&-16)+-4>>2]=a;a=a+4+15&-16;return a|0}function Er(a){a=a|0;switch(c[a+96>>2]|0){case 4:{a=6;break}case 3:{a=3;break}case 2:{a=1;break}default:a=0}return a|0}function Fr(a){a=a|0;if(!(+A(+(+g[a+20>>2]))<1.1920928955078125e-07)){a=0;return a|0}a=+A(+(+g[a+24>>2]))<1.1920928955078125e-07;return a|0}function Gr(a,b){a=a|0;b=b|0;if(!b?c[a+204>>2]&3|0:0)return;if((c[a+220>>2]&-2|0)!=4)c[a+220>>2]=1;g[a+224>>2]=0.0;return}function Hr(){var a=0;c[6897]=(c[6897]|0)+1;a=ec(191)|0;if(!a){a=0;return a|0}c[(a+4+15&-16)+-4>>2]=a;a=a+4+15&-16;return a|0}function Ir(a){a=a|0;var b=0;b=Xr()|0;Vm();cq(b,a,26e3);return b|0}function Jr(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;Pb[c[(c[a+-4>>2]|0)+8>>2]&127](a+-4|0,b,d,e);return}function Kr(a,b){a=a|0;b=b|0;var c=0.0;c=+nE(a);c=+$G(c*+nE(b));return +(+Fz(+uo(a,b)/c))}function Lr(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;c[a>>2]=c[b>>2];c[a+4>>2]=c[d>>2];c[a+8>>2]=c[e>>2];g[a+12>>2]=0.0;return}function Mr(){var a=0;c[6897]=(c[6897]|0)+1;a=ec(147)|0;if(!a){a=0;return a|0}c[(a+4+15&-16)+-4>>2]=a;a=a+4+15&-16;return a|0}function Nr(){var a=0;c[6897]=(c[6897]|0)+1;a=ec(119)|0;if(!a){a=0;return a|0}c[(a+4+15&-16)+-4>>2]=a;a=a+4+15&-16;return a|0}function Or(a){a=a|0;c[6897]=(c[6897]|0)+1;a=ec(a+19|0)|0;if(!a){a=0;return a|0}c[(a+4+15&-16)+-4>>2]=a;a=a+4+15&-16;return a|0}function Pr(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0;e=yo(a,c)|0;f=y;return (y=(N(b,c)|0)+(N(d,a)|0)+f|f&0,e|0|0)|0}function Qr(){var a=0;c[6897]=(c[6897]|0)+1;a=ec(1331)|0;if(!a){a=0;return a|0}c[(a+4+15&-16)+-4>>2]=a;a=a+4+15&-16;return a|0}function Rr(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;Vb[a&3](b|0,c|0,d|0,e|0,f|0,g|0,h|0)}function Sr(a,b){a=a|0;b=b|0;var d=0;d=l;l=l+16|0;c[d>>2]=b;pn(a,d);l=d;return}function Tr(){var a=0;c[6897]=(c[6897]|0)+1;a=ec(379)|0;if(!a){a=0;return a|0}c[(a+4+15&-16)+-4>>2]=a;a=a+4+15&-16;return a|0}function Ur(){var a=0;c[6897]=(c[6897]|0)+1;a=ec(363)|0;if(!a){a=0;return a|0}c[(a+4+15&-16)+-4>>2]=a;a=a+4+15&-16;return a|0}function Vr(){var a=0;c[6897]=(c[6897]|0)+1;a=ec(627)|0;if(!a){a=0;return a|0}c[(a+4+15&-16)+-4>>2]=a;a=a+4+15&-16;return a|0}function Wr(){var a=0;c[6897]=(c[6897]|0)+1;a=ec(823)|0;if(!a){a=0;return a|0}c[(a+4+15&-16)+-4>>2]=a;a=a+4+15&-16;return a|0}function Xr(){var a=0;c[6897]=(c[6897]|0)+1;a=ec(219)|0;if(!a){a=0;return a|0}c[(a+4+15&-16)+-4>>2]=a;a=a+4+15&-16;return a|0}function Yr(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;Pb[c[(c[a>>2]|0)+88>>2]&127](a,b,d<<16>>16,e<<16>>16);return}function Zr(){var a=0;c[6897]=(c[6897]|0)+1;a=ec(1147)|0;if(!a){a=0;return a|0}c[(a+4+15&-16)+-4>>2]=a;a=a+4+15&-16;return a|0}function _r(a,b){a=a|0;b=b|0;var c=0;c=ps(84)|0;em(c,a,b);return c|0}function $r(){var a=0;c[6897]=(c[6897]|0)+1;a=ec(107)|0;if(!a){a=0;return a|0}c[(a+4+15&-16)+-4>>2]=a;a=a+4+15&-16;return a|0}function as(a){a=+a;a=+GG(a);if(a<-3.1415927410125732){a=a+6.2831854820251465;return +a}if(!(a>3.1415927410125732))return +a;a=a+-6.2831854820251465;return +a}function bs(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;Pb[c[(c[a>>2]|0)+36>>2]&127](a,b,d<<16>>16,e<<16>>16);return}function cs(){var a=0;c[6897]=(c[6897]|0)+1;a=ec(787)|0;if(!a){a=0;return a|0}c[(a+4+15&-16)+-4>>2]=a;a=a+4+15&-16;return a|0}function ds(){var a=0;c[6897]=(c[6897]|0)+1;a=ec(135)|0;if(!a){a=0;return a|0}c[(a+4+15&-16)+-4>>2]=a;a=a+4+15&-16;return a|0}function es(a,b){a=a|0;b=b|0;c[a+348>>2]=c[b>>2];c[a+348+4>>2]=c[b+4>>2];c[a+348+8>>2]=c[b+8>>2];return}function fs(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;if((d|0)<=0)return;Xj(c|0,0,d<<4|0)|0;return}function gs(){var a=0;c[6897]=(c[6897]|0)+1;a=ec(115)|0;if(!a){a=0;return a|0}c[(a+4+15&-16)+-4>>2]=a;a=a+4+15&-16;return a|0}function hs(a,b){a=a|0;b=b|0;c[a+540>>2]=b;if(!b)return;Ib[c[(c[b>>2]|0)+8>>2]&127](b,a+4|0);return}function is(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;zi(a,b,c,d);return}function js(a,b){a=a|0;b=b|0;var c=0;c=xs()|0;ue(c,a,b,1);return c|0}function ks(a,b){a=a|0;b=b|0;var c=0;c=ds()|0;Od(c,a,b,16384,0,0);return c|0}function ls(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;e=c[a+192>>2]|0;Pb[c[(c[e>>2]|0)+8>>2]&127](e,a+4|0,b,d);return}function ms(a){a=a|0;var b=0;b=ps(88)|0;Jd(b,a);return b|0}function ns(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;ch(a,b,c,d);return}function os(a){a=a|0;var b=0;b=l;l=l+16|0;c[b>>2]=kH(c[a+60>>2]|0)|0;a=KB(Ta(6,b|0)|0)|0;l=b;return a|0}function ps(a){a=a|0;var b=0;while(1){b=ec(a)|0;if(b|0)break;b=ND()|0;if(!b){b=0;break}Cb[b&3]()}return b|0}function qs(a,b){a=a|0;b=b|0;var d=0;d=c[a+8>>2]|0;Mb[c[d+64>>2]&127](b,d,c[a+4>>2]|0);return 0}function rs(b){b=b|0;var d=0;d=c[b+12>>2]|0;if(!d)return;if(a[b+16>>0]&1)$w(d);c[b+12>>2]=0;return}function ss(){var a=0;c[6897]=(c[6897]|0)+1;a=ec(75)|0;if(!a){a=0;return a|0}c[(a+4+15&-16)+-4>>2]=a;a=a+4+15&-16;return a|0}function ts(a,b){a=a|0;b=b|0;var d=0;d=a+92|0;do{c[a>>2]=c[b>>2];a=a+4|0;b=b+4|0}while((a|0)<(d|0));return}function us(a,b){a=a|0;b=+b;var c=0;c=l;l=l+16|0;g[c>>2]=b;pn(a,c);l=c;return}function vs(a,b){a=a|0;b=b|0;var c=0;c=ps(136)|0;fl(c,a,b);return c|0}function ws(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;ag(a,b,c,d);return}function xs(){var a=0;c[6897]=(c[6897]|0)+1;a=ec(99)|0;if(!a){a=0;return a|0}c[(a+4+15&-16)+-4>>2]=a;a=a+4+15&-16;return a|0}function ys(a,b){a=a|0;b=b|0;return +(+cx(+g[a>>2],+g[a+4>>2],+g[a+8>>2],+g[b>>2],+g[b+4>>2],+g[b+8>>2]))}function zs(a,b){a=a|0;b=b|0;var c=0;c=ps(88)|0;om(c,a,b);return c|0}function As(a,b,d){a=a|0;b=b|0;d=d|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;c[a+12>>2]=0;return}function Bs(){var a=0;c[6897]=(c[6897]|0)+1;a=ec(79)|0;if(!a){a=0;return a|0}c[(a+4+15&-16)+-4>>2]=a;a=a+4+15&-16;return a|0}function Cs(a,b){a=a|0;b=b|0;var c=0;c=ps(128)|0;el(c,a,b);return c|0}function Ds(){var a=0;c[6897]=(c[6897]|0)+1;a=ec(35)|0;if(!a){a=0;return a|0}c[(a+4+15&-16)+-4>>2]=a;a=a+4+15&-16;return a|0}function Es(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;return zb[a&3](b|0,c|0,d|0,e|0,f|0,g|0)|0}function Fs(a){a=a|0;mf(a);if(!a)return;c[6898]=(c[6898]|0)+1;md(c[a+-4>>2]|0);return}function Gs(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;Pb[c[(c[a>>2]|0)+8>>2]&127](a,b,d,e);return}function Hs(a){a=a|0;c[a>>2]=5288;g[a+4>>2]=1.0;c[a+8>>2]=0;c[a+12>>2]=1;c[a+16>>2]=-1;c[a+20>>2]=0;return}function Is(a){a=a|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=4096;c[a+12>>2]=4096;c[a+16>>2]=0;c[a+20>>2]=1;return}function Js(a,b,d){a=a|0;b=b|0;d=d|0;de(c[a+108>>2]|0,c[a+136>>2]|0,b,d);return}function Ks(a,b){a=a|0;b=+b;var c=0;c=l;l=l+16|0;g[c>>2]=b;a=Op(a,c)|0;l=c;return a|0}function Ls(a,b){a=a|0;b=b|0;var c=0;c=Xr()|0;cq(c,a,b);return c|0}function Ms(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return 0.0}function Ns(a,b){a=a|0;b=b|0;a=c[c[a+4>>2]>>2]|0;return ub[c[(c[a>>2]|0)+128>>2]&31](a,b)|0}function Os(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;Pb[c[(c[a>>2]|0)+80>>2]&127](a,b,d,e);return}function Ps(){var a=0;a=l;l=l+16|0;if(!(db(28172,266)|0)){l=a;return}else sv(22063,a)}function Qs(a){a=a|0;if(c[a+204>>2]&3|0)return;if((c[a+220>>2]&-2|0)!=4)c[a+220>>2]=1;g[a+224>>2]=0.0;return}function Rs(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=+e;f=f|0;g=g|0;return +mb[a&3](b|0,c|0,d|0,+e,f|0,g|0)}function Ss(a,b){a=a|0;b=+b;var c=0;c=l;l=l+16|0;g[c>>2]=b;a=vr(a,c)|0;l=c;return a|0}function Ts(a,b){a=a|0;b=b|0;a=c[a+4>>2]|0;ub[c[(c[a>>2]|0)+8>>2]&31](a,c[b+36>>2]|0)|0;return}function Us(a,b){a=a|0;b=b|0;sq(a,b);Lr(a+48|0,b+48|0,b+52|0,b+56|0);return}function Vs(a,b,d){a=a|0;b=b|0;d=d|0;hg(c[a+108>>2]|0,b,d);return}function Ws(a,b){a=a|0;b=b|0;c[a+304>>2]=(c[a+304>>2]|0)+1;c[a+192>>2]=b;c[a+200>>2]=b;return}function Xs(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;Ub[a&7](b|0,c|0,d|0,e|0,f|0,g|0)}function Ys(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;f=+f;g=+g;h=+h;i=+i;j=j|0;k=+k;l=l|0;R(35)}function Zs(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;Pb[c[(c[a>>2]|0)+24>>2]&127](a,b,d,e);return}function _s(a,b,d){a=a|0;b=b|0;d=d|0;Pb[c[(c[a>>2]|0)+36>>2]&127](a,b,d<<16>>16,-3);return}function $s(a,b,d){a=a|0;b=b|0;d=d|0;Mb[c[(c[b>>2]|0)+68>>2]&127](a,b,d);return}function at(b,d){b=b|0;d=d|0;b=(a[b+344>>0]|0)==0?3:0;c[d>>2]=b;c[d+4>>2]=b;return}function bt(a,b){a=a|0;b=+b;var c=0;c=l;l=l+16|0;g[c>>2]=1.0/b;a=Op(a,c)|0;l=c;return a|0}function ct(a,b,d){a=a|0;b=+b;d=d|0;return tb[c[(c[a>>2]|0)+52>>2]&1](a,b,d,.01666666753590107)|0}function dt(b){b=b|0;if(!(a[b+52>>0]&1))return;Db[c[(c[b>>2]|0)+68>>2]&511](b);a[b+52>>0]=0;return}function et(a,b,c){a=a|0;b=b|0;c=c|0;if((c|0)<32){y=b<<c|(a&(1<<c)-1<<32-c)>>>32-c;return a<<c}y=a<<c-32;return 0}function ft(a,b,d){a=a|0;b=+b;d=d|0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;c[d+12>>2]=0;return}function gt(a){a=a|0;oj(a);if(!a)return;c[6898]=(c[6898]|0)+1;md(c[a+-4>>2]|0);return}function ht(a){a=a|0;var b=0;b=c[a+68>>2]|0;Ib[c[(c[b>>2]|0)+32>>2]&127](b,c[a+24>>2]|0);return}function it(a,b){a=a|0;b=b|0;jn(a,+g[b>>2],+g[b+4>>2],+g[b+8>>2]);return}function jt(a,b,d,e){a=a|0;b=+b;d=d|0;e=+e;return tb[c[(c[a>>2]|0)+52>>2]&1](a,b,d,e)|0}function kt(a,b){a=a|0;b=b|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=1065353216;g[a+12>>2]=0.0;return}function lt(a,b){a=a|0;b=b|0;c[a>>2]=1065353216;c[a+4>>2]=0;c[a+8>>2]=0;g[a+12>>2]=0.0;return}function mt(a,b){a=a|0;b=b|0;c[a>>2]=0;c[a+4>>2]=1065353216;c[a+8>>2]=0;g[a+12>>2]=0.0;return}function nt(a,b){a=a|0;b=b|0;Mb[c[(c[a>>2]|0)+8>>2]&127](a,b,c[(c[a+8>>2]|0)+48>>2]|0);return}function ot(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=+e;f=f|0;g=g|0;Ob[a&0](b|0,c|0,d|0,+e,f|0,g|0)}function pt(a,b){a=a|0;b=b|0;kn(a,+g[b>>2],+g[b+4>>2],+g[b+8>>2]);return}
51function ic(b){b=b|0;var d=0,e=0.0,f=0.0,h=0,i=0,j=0.0,k=0.0,m=0.0,n=0.0,o=0,p=0,q=0,r=0,s=0.0,t=0.0,u=0.0,v=0.0,w=0.0,x=0.0,y=0.0,z=0.0,A=0.0,B=0.0,C=0.0,D=0.0,E=0.0,F=0.0,G=0.0,H=0,I=0,J=0,K=0.0,L=0.0,M=0.0,N=0.0,O=0.0,P=0.0,Q=0.0,R=0.0,S=0.0,T=0.0,U=0.0,V=0.0,W=0.0,X=0;J=l;l=l+64|0;if(!(a[b+356>>0]|0)){b=a[b+312>>0]|0;b=b<<24>>24!=0;l=J;return b|0}c[b+336>>2]=0;c[b+336+4>>2]=0;c[b+336+8>>2]=0;c[b+336+12>>2]=0;a[b+336+16>>0]=0;p=a[b+332>>0]|0;a[b+332>>0]=p&-16;a[b+356>>0]=0;switch(c[b>>2]|0){case 0:{a[b+312>>0]=0;b=0;b=b<<24>>24!=0;l=J;return b|0}case 1:{c[b+244>>2]=c[b+84>>2];c[b+244+4>>2]=c[b+84+4>>2];c[b+244+8>>2]=c[b+84+8>>2];c[b+244+12>>2]=c[b+84+12>>2];c[b+260>>2]=c[b+164>>2];c[b+260+4>>2]=c[b+164+4>>2];c[b+260+8>>2]=c[b+164+8>>2];c[b+260+12>>2]=c[b+164+12>>2];F=+g[b+248>>2]-+g[b+264>>2];G=+g[b+252>>2]-+g[b+268>>2];g[b+276>>2]=+g[b+244>>2]-+g[b+260>>2];g[b+280>>2]=F;g[b+284>>2]=G;g[b+288>>2]=0.0;a[b+352>>0]=0;a[b+332>>0]=p&-16;g[b+336>>2]=1.0;g[b+340>>2]=0.0;g[b+344>>2]=0.0;g[b+348>>2]=0.0;a[b+312>>0]=1;b=1;b=b<<24>>24!=0;l=J;return b|0}case 2:{e=+g[b+4>>2];f=+g[b+8>>2];j=+g[b+12>>2];k=+g[b+20>>2]-e;m=+g[b+24>>2]-f;n=+g[b+28>>2]-j;if((0.0-e)*k+(0.0-f)*m+(0.0-j)*n>0.0)if((0.0-e)*k+(0.0-f)*m+(0.0-j)*n<k*k+m*m+n*n){f=((0.0-e)*k+(0.0-f)*m+(0.0-j)*n)/(k*k+m*m+n*n);h=3}else{f=1.0;h=2}else{f=0.0;h=1}a[b+332>>0]=p&-16|h;e=1.0-f;g[b+336>>2]=e;g[b+340>>2]=f;g[b+344>>2]=0.0;g[b+348>>2]=0.0;B=+g[b+84>>2];D=+g[b+88>>2];F=+g[b+92>>2];B=B+f*(+g[b+100>>2]-B);D=D+f*(+g[b+104>>2]-D);F=F+f*(+g[b+108>>2]-F);g[b+244>>2]=B;g[b+248>>2]=D;g[b+252>>2]=F;g[b+256>>2]=0.0;C=+g[b+164>>2];E=+g[b+168>>2];G=+g[b+172>>2];C=C+f*(+g[b+180>>2]-C);E=E+f*(+g[b+184>>2]-E);G=G+f*(+g[b+188>>2]-G);g[b+260>>2]=C;g[b+264>>2]=E;g[b+268>>2]=G;g[b+272>>2]=0.0;g[b+276>>2]=B-C;g[b+280>>2]=D-E;g[b+284>>2]=F-G;g[b+288>>2]=0.0;if(!(h&2)){c[b>>2]=1;d=0}else d=1;if(!(h&1)){r=b+4+(d<<4)|0;H=b+84+(d<<4)|0;I=b+164+(d<<4)|0;c[b>>2]=d;c[b+4>>2]=c[r>>2];c[b+4+4>>2]=c[r+4>>2];c[b+4+8>>2]=c[r+8>>2];c[b+4+12>>2]=c[r+12>>2];c[b+84>>2]=c[H>>2];c[b+84+4>>2]=c[H+4>>2];c[b+84+8>>2]=c[H+8>>2];c[b+84+12>>2]=c[H+12>>2];c[b+164>>2]=c[I>>2];c[b+164+4>>2]=c[I+4>>2];c[b+164+8>>2]=c[I+8>>2];c[b+164+12>>2]=c[I+12>>2]}I=f>=0.0&e>=0.0&1;a[b+312>>0]=I;b=I;b=b<<24>>24!=0;l=J;return b|0}case 3:{c[J+16>>2]=0;c[J+16+4>>2]=0;c[J+16+8>>2]=0;c[J+16+12>>2]=0;Be(J+16|0,b+4|0,b+20|0,b+36|0,b+316|0);G=+g[b+336>>2];e=+g[b+340>>2];f=+g[b+344>>2];B=+g[b+84>>2]*G+ +g[b+100>>2]*e+ +g[b+116>>2]*f;D=G*+g[b+88>>2]+e*+g[b+104>>2]+f*+g[b+120>>2];F=G*+g[b+92>>2]+e*+g[b+108>>2]+f*+g[b+124>>2];g[b+244>>2]=B;g[b+248>>2]=D;g[b+252>>2]=F;g[b+256>>2]=0.0;C=G*+g[b+164>>2]+e*+g[b+180>>2]+f*+g[b+196>>2];E=G*+g[b+168>>2]+e*+g[b+184>>2]+f*+g[b+200>>2];G=G*+g[b+172>>2]+e*+g[b+188>>2]+f*+g[b+204>>2];g[b+260>>2]=C;g[b+264>>2]=E;g[b+268>>2]=G;g[b+272>>2]=0.0;g[b+276>>2]=B-C;g[b+280>>2]=D-E;g[b+284>>2]=F-G;g[b+288>>2]=0.0;p=c[b>>2]|0;do if((p|0)>3){d=a[b+332>>0]|0;if(!(d&8)){h=b+164+(p+-1<<4)|0;o=b+84+(p+-1<<4)|0;i=b+4+(p+-1<<4)|0;c[b>>2]=p+-1;c[b+52>>2]=c[i>>2];c[b+52+4>>2]=c[i+4>>2];c[b+52+8>>2]=c[i+8>>2];c[b+52+12>>2]=c[i+12>>2];c[b+132>>2]=c[o>>2];c[b+132+4>>2]=c[o+4>>2];c[b+132+8>>2]=c[o+8>>2];c[b+132+12>>2]=c[o+12>>2];c[b+212>>2]=c[h>>2];c[b+212+4>>2]=c[h+4>>2];c[b+212+8>>2]=c[h+8>>2];c[b+212+12>>2]=c[h+12>>2];h=b+332|0;o=d;i=p+-1|0;I=19}else{h=b+332|0;o=d;i=p;I=19}}else{if((p|0)==3){h=b+332|0;o=a[b+332>>0]|0;i=3;I=19;break}if((p|0)<=1){if((p|0)==1){d=1;I=26}}else{d=2;I=22}}while(0);if((I|0)==19){d=i+-1|0;if(!(o&4)){c[b>>2]=d;c[b+36>>2]=c[b+4+(d<<4)>>2];c[b+36+4>>2]=c[b+4+(d<<4)+4>>2];c[b+36+8>>2]=c[b+4+(d<<4)+8>>2];c[b+36+12>>2]=c[b+4+(d<<4)+12>>2];c[b+116>>2]=c[b+84+(d<<4)>>2];c[b+116+4>>2]=c[b+84+(d<<4)+4>>2];c[b+116+8>>2]=c[b+84+(d<<4)+8>>2];c[b+116+12>>2]=c[b+84+(d<<4)+12>>2];c[b+196>>2]=c[b+164+(d<<4)>>2];c[b+196+4>>2]=c[b+164+(d<<4)+4>>2];c[b+196+8>>2]=c[b+164+(d<<4)+8>>2];c[b+196+12>>2]=c[b+164+(d<<4)+12>>2];I=23}else{d=i;I=22}}if((I|0)==22){h=b+332|0;I=23}if((I|0)==23){i=d+-1|0;if(!(a[h>>0]&2)){c[b>>2]=i;c[b+20>>2]=c[b+4+(i<<4)>>2];c[b+20+4>>2]=c[b+4+(i<<4)+4>>2];c[b+20+8>>2]=c[b+4+(i<<4)+8>>2];c[b+20+12>>2]=c[b+4+(i<<4)+12>>2];c[b+100>>2]=c[b+84+(i<<4)>>2];c[b+100+4>>2]=c[b+84+(i<<4)+4>>2];c[b+100+8>>2]=c[b+84+(i<<4)+8>>2];c[b+100+12>>2]=c[b+84+(i<<4)+12>>2];c[b+180>>2]=c[b+164+(i<<4)>>2];c[b+180+4>>2]=c[b+164+(i<<4)+4>>2];c[b+180+8>>2]=c[b+164+(i<<4)+8>>2];c[b+180+12>>2]=c[b+164+(i<<4)+12>>2];o=h;I=27}else I=26}if((I|0)==26){o=b+332|0;i=d;I=27}if((I|0)==27?(q=i+-1|0,(a[o>>0]&1)==0):0){c[b>>2]=q;c[b+4>>2]=c[b+4+(q<<4)>>2];c[b+4+4>>2]=c[b+4+(q<<4)+4>>2];c[b+4+8>>2]=c[b+4+(q<<4)+8>>2];c[b+4+12>>2]=c[b+4+(q<<4)+12>>2];c[b+84>>2]=c[b+84+(q<<4)>>2];c[b+84+4>>2]=c[b+84+(q<<4)+4>>2];c[b+84+8>>2]=c[b+84+(q<<4)+8>>2];c[b+84+12>>2]=c[b+84+(q<<4)+12>>2];c[b+164>>2]=c[b+164+(q<<4)>>2];c[b+164+4>>2]=c[b+164+(q<<4)+4>>2];c[b+164+8>>2]=c[b+164+(q<<4)+8>>2];c[b+164+12>>2]=c[b+164+(q<<4)+12>>2]}if((e>=0.0?!(+g[b+336>>2]>=0.0):1)|!(f>=0.0))d=0;else d=+g[b+348>>2]>=0.0&1;a[b+312>>0]=d;b=d;b=b<<24>>24!=0;l=J;return b|0}case 4:{c[J>>2]=0;c[J+4>>2]=0;c[J+8>>2]=0;c[J+12>>2]=0;r=J+16+16|0;a[r>>0]=0;c[b+316>>2]=0;c[b+316+4>>2]=0;c[b+316+8>>2]=0;c[b+316+12>>2]=0;a[b+332>>0]=p|15;L=+g[b+20>>2];U=+g[b+4>>2];R=+g[b+24>>2];K=+g[b+8>>2];N=+g[b+28>>2];V=+g[b+12>>2];Q=+g[b+36>>2];S=+g[b+40>>2];O=+g[b+44>>2];M=+g[b+52>>2];T=+g[b+56>>2];P=+g[b+60>>2];W=((R-K)*(O-V)-(N-V)*(S-K))*(M-U)+((N-V)*(Q-U)-(L-U)*(O-V))*(T-K)+((L-U)*(S-K)-(R-K)*(Q-U))*(P-V);i=W*W<9.99999905104687e-09?-1:((0.0-U)*((R-K)*(O-V)-(N-V)*(S-K))+(0.0-K)*((N-V)*(Q-U)-(L-U)*(O-V))+((L-U)*(S-K)-(R-K)*(Q-U))*(0.0-V))*W<0.0&1;W=(N-V)*((Q-U)*(T-K)-(S-K)*(M-U))+((L-U)*((S-K)*(P-V)-(O-V)*(T-K))+(R-K)*((O-V)*(M-U)-(Q-U)*(P-V)));o=W*W<9.99999905104687e-09?-1:((0.0-V)*((Q-U)*(T-K)-(S-K)*(M-U))+((0.0-U)*((S-K)*(P-V)-(O-V)*(T-K))+(0.0-K)*((O-V)*(M-U)-(Q-U)*(P-V))))*W<0.0&1;W=(O-V)*((R-K)*(M-U)-(L-U)*(T-K))+((Q-U)*((N-V)*(T-K)-(R-K)*(P-V))+(S-K)*((L-U)*(P-V)-(N-V)*(M-U)));p=W*W<9.99999905104687e-09?-1:((0.0-V)*((R-K)*(M-U)-(L-U)*(T-K))+((0.0-U)*((N-V)*(T-K)-(R-K)*(P-V))+(0.0-K)*((L-U)*(P-V)-(N-V)*(M-U))))*W<0.0&1;K=(V-N)*((S-R)*(M-L)-(Q-L)*(T-R))+((U-L)*((O-N)*(T-R)-(S-R)*(P-N))+(K-R)*((Q-L)*(P-N)-(O-N)*(M-L)));q=K*K<9.99999905104687e-09?-1:((0.0-N)*((S-R)*(M-L)-(Q-L)*(T-R))+((0.0-L)*((O-N)*(T-R)-(S-R)*(P-N))+(0.0-R)*((Q-L)*(P-N)-(O-N)*(M-L))))*K<0.0&1;do if((o|i|p|q|0)<0){a[b+352>>0]=1;d=b+312|0;I=68}else{if(!(o|i|p|q)){if(a[b+352>>0]|0){d=b+312|0;I=68;break}a[b+312>>0]=1;c[b+276>>2]=0;c[b+276+4>>2]=0;c[b+276+8>>2]=0;c[b+276+12>>2]=0;d=1;break}if((i|0)!=0?(Be(J,b+4|0,b+20|0,b+36|0,J+16|0),e=+g[J+16>>2],f=+g[J+16+4>>2],j=+g[J+16+8>>2],k=e-+g[J>>2],m=f-+g[J+4>>2],n=j-+g[J+8>>2],k*k+m*m+n*n<3402823466385288598117041.0e14):0){X=c[J+16+12>>2]|0;g[b+316>>2]=e;g[b+320>>2]=f;g[b+324>>2]=j;c[b+328>>2]=X;X=a[r>>0]|0;a[b+332>>0]=X&1|a[b+332>>0]&-16|X&2|X&4;X=c[J+16+24>>2]|0;i=c[J+16+28>>2]|0;c[b+336>>2]=c[J+16+20>>2];c[b+340>>2]=X;c[b+344>>2]=i;g[b+348>>2]=0.0;e=k*k+m*m+n*n}else e=3402823466385288598117041.0e14;if((o|0)!=0?(Be(J,b+4|0,b+36|0,b+52|0,J+16|0),s=+g[J+16>>2],t=+g[J+16+4>>2],u=+g[J+16+8>>2],v=s-+g[J>>2],w=t-+g[J+4>>2],x=u-+g[J+8>>2],v*v+w*w+x*x<e):0){o=c[J+16+12>>2]|0;g[b+316>>2]=s;g[b+320>>2]=t;g[b+324>>2]=u;c[b+328>>2]=o;o=a[r>>0]|0;a[b+332>>0]=o&1|a[b+332>>0]&-16|o<<1&4|o<<1&8;o=c[J+16+24>>2]|0;X=c[J+16+28>>2]|0;c[b+336>>2]=c[J+16+20>>2];g[b+340>>2]=0.0;c[b+344>>2]=o;c[b+348>>2]=X;e=v*v+w*w+x*x}if((p|0)!=0?(Be(J,b+4|0,b+52|0,b+20|0,J+16|0),y=+g[J+16>>2],z=+g[J+16+4>>2],A=+g[J+16+8>>2],B=y-+g[J>>2],C=z-+g[J+4>>2],D=A-+g[J+8>>2],B*B+C*C+D*D<e):0){p=c[J+16+12>>2]|0;g[b+316>>2]=y;g[b+320>>2]=z;g[b+324>>2]=A;c[b+328>>2]=p;p=a[r>>0]|0;a[b+332>>0]=p&1|a[b+332>>0]&-16|(p&255)>>>1&2|p<<2&8;p=c[J+16+28>>2]|0;X=c[J+16+24>>2]|0;c[b+336>>2]=c[J+16+20>>2];c[b+340>>2]=p;g[b+344>>2]=0.0;c[b+348>>2]=X;e=B*B+C*C+D*D}if(q|0?(Be(J,b+20|0,b+52|0,b+36|0,J+16|0),E=+g[J+16>>2],F=+g[J+16+4>>2],G=+g[J+16+8>>2],U=E-+g[J>>2],V=F-+g[J+4>>2],W=G-+g[J+8>>2],U*U+V*V+W*W<e):0){q=c[J+16+12>>2]|0;g[b+316>>2]=E;g[b+320>>2]=F;g[b+324>>2]=G;c[b+328>>2]=q;q=a[r>>0]|0;a[b+332>>0]=q&4|a[b+332>>0]&-16|q<<1&2|q<<2&8;q=c[J+16+20>>2]|0;r=c[J+16+28>>2]|0;X=c[J+16+24>>2]|0;g[b+336>>2]=0.0;c[b+340>>2]=q;c[b+344>>2]=r;c[b+348>>2]=X}P=+g[b+336>>2];Q=+g[b+340>>2];W=+g[b+344>>2];e=+g[b+348>>2];R=+g[b+84>>2]*P+ +g[b+100>>2]*Q+ +g[b+116>>2]*W+ +g[b+132>>2]*e;T=P*+g[b+88>>2]+Q*+g[b+104>>2]+W*+g[b+120>>2]+e*+g[b+136>>2];V=P*+g[b+92>>2]+Q*+g[b+108>>2]+W*+g[b+124>>2]+e*+g[b+140>>2];g[b+244>>2]=R;g[b+248>>2]=T;g[b+252>>2]=V;g[b+256>>2]=0.0;S=P*+g[b+164>>2]+Q*+g[b+180>>2]+W*+g[b+196>>2]+e*+g[b+212>>2];U=P*+g[b+168>>2]+Q*+g[b+184>>2]+W*+g[b+200>>2]+e*+g[b+216>>2];W=P*+g[b+172>>2]+Q*+g[b+188>>2]+W*+g[b+204>>2]+e*+g[b+220>>2];g[b+260>>2]=S;g[b+264>>2]=U;g[b+268>>2]=W;g[b+272>>2]=0.0;g[b+276>>2]=R-S;g[b+280>>2]=T-U;g[b+284>>2]=V-W;g[b+288>>2]=0.0;i=c[b>>2]|0;do if((i|0)>3){d=a[b+332>>0]|0;if(!(d&8)){h=b+164+(i+-1<<4)|0;o=b+84+(i+-1<<4)|0;I=b+4+(i+-1<<4)|0;c[b>>2]=i+-1;c[b+52>>2]=c[I>>2];c[b+52+4>>2]=c[I+4>>2];c[b+52+8>>2]=c[I+8>>2];c[b+52+12>>2]=c[I+12>>2];c[b+132>>2]=c[o>>2];c[b+132+4>>2]=c[o+4>>2];c[b+132+8>>2]=c[o+8>>2];c[b+132+12>>2]=c[o+12>>2];c[b+212>>2]=c[h>>2];c[b+212+4>>2]=c[h+4>>2];c[b+212+8>>2]=c[h+8>>2];c[b+212+12>>2]=c[h+12>>2];h=b+332|0;o=d;i=i+-1|0;I=52}else{h=b+332|0;o=d;I=52}}else{if((i|0)==3){h=b+332|0;o=a[b+332>>0]|0;i=3;I=52;break}if((i|0)<=1){if((i|0)==1){d=1;I=59}}else{d=2;I=55}}while(0);if((I|0)==52){d=i+-1|0;if(!(o&4)){c[b>>2]=d;c[b+36>>2]=c[b+4+(d<<4)>>2];c[b+36+4>>2]=c[b+4+(d<<4)+4>>2];c[b+36+8>>2]=c[b+4+(d<<4)+8>>2];c[b+36+12>>2]=c[b+4+(d<<4)+12>>2];c[b+116>>2]=c[b+84+(d<<4)>>2];c[b+116+4>>2]=c[b+84+(d<<4)+4>>2];c[b+116+8>>2]=c[b+84+(d<<4)+8>>2];c[b+116+12>>2]=c[b+84+(d<<4)+12>>2];c[b+196>>2]=c[b+164+(d<<4)>>2];c[b+196+4>>2]=c[b+164+(d<<4)+4>>2];c[b+196+8>>2]=c[b+164+(d<<4)+8>>2];c[b+196+12>>2]=c[b+164+(d<<4)+12>>2];I=56}else{d=i;I=55}}if((I|0)==55){h=b+332|0;I=56}if((I|0)==56){i=d+-1|0;if(!(a[h>>0]&2)){c[b>>2]=i;c[b+20>>2]=c[b+4+(i<<4)>>2];c[b+20+4>>2]=c[b+4+(i<<4)+4>>2];c[b+20+8>>2]=c[b+4+(i<<4)+8>>2];c[b+20+12>>2]=c[b+4+(i<<4)+12>>2];c[b+100>>2]=c[b+84+(i<<4)>>2];c[b+100+4>>2]=c[b+84+(i<<4)+4>>2];c[b+100+8>>2]=c[b+84+(i<<4)+8>>2];c[b+100+12>>2]=c[b+84+(i<<4)+12>>2];c[b+180>>2]=c[b+164+(i<<4)>>2];c[b+180+4>>2]=c[b+164+(i<<4)+4>>2];c[b+180+8>>2]=c[b+164+(i<<4)+8>>2];c[b+180+12>>2]=c[b+164+(i<<4)+12>>2];d=i;I=60}else I=59}if((I|0)==59){h=b+332|0;I=60}if((I|0)==60?(H=d+-1|0,(a[h>>0]&1)==0):0){c[b>>2]=H;c[b+4>>2]=c[b+4+(H<<4)>>2];c[b+4+4>>2]=c[b+4+(H<<4)+4>>2];c[b+4+8>>2]=c[b+4+(H<<4)+8>>2];c[b+4+12>>2]=c[b+4+(H<<4)+12>>2];c[b+84>>2]=c[b+84+(H<<4)>>2];c[b+84+4>>2]=c[b+84+(H<<4)+4>>2];c[b+84+8>>2]=c[b+84+(H<<4)+8>>2];c[b+84+12>>2]=c[b+84+(H<<4)+12>>2];c[b+164>>2]=c[b+164+(H<<4)>>2];c[b+164+4>>2]=c[b+164+(H<<4)+4>>2];c[b+164+8>>2]=c[b+164+(H<<4)+8>>2];c[b+164+12>>2]=c[b+164+(H<<4)+12>>2]}if((+g[b+336>>2]>=0.0?+g[b+340>>2]>=0.0:0)?+g[b+344>>2]>=0.0:0)d=e>=0.0&1;else d=0;a[b+312>>0]=d}while(0);if((I|0)==68){a[d>>0]=0;d=0}X=d;X=X<<24>>24!=0;l=J;return X|0}default:{a[b+312>>0]=0;X=0;X=X<<24>>24!=0;l=J;return X|0}}return 0}function jc(b,d,e,f,h,i){b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;i=+i;var j=0,k=0.0,m=0.0,n=0.0,o=0.0,p=0.0,q=0.0,r=0.0,s=0.0,t=0,u=0,v=0.0,w=0.0,x=0.0,y=0.0,z=0.0,A=0.0,C=0.0,D=0,E=0,F=0,G=0.0,H=0.0,I=0.0,J=0.0,K=0.0,L=0.0,M=0.0,N=0.0,O=0.0;F=l;l=l+960|0;E=c[f+4>>2]|0;D=c[f+12>>2]|0;j=c[E+4>>2]|0;if((j|0)<20){c[F+776>>2]=7368;c[F+776+168>>2]=0;g[F+776+172>>2]=i;c[F+776+164>>2]=c[h+4>>2];g[F+416+308>>2]=9.999999747378752e-05;a[F+416+332>>0]=0;c[F+352>>2]=11336;c[F+128>>2]=11268;c[F+128+4>>2]=F+416;c[F+128+8>>2]=F+352;c[F+128+12>>2]=b;c[F+128+16>>2]=E;c[F+128+20>>2]=0;if((Bd(F+128|0,d,e,D,D,F+776|0)|0?(u=F+776+132|0,p=+g[u>>2],q=+g[F+776+136>>2],r=+g[F+776+140>>2],p*p+q*q+r*r>9.999999747378752e-05):0)?(s=+g[F+776+164>>2],s<+g[h+4>>2]):0){i=1.0/+B(+(p*p+q*q+r*r));g[u>>2]=p*i;g[F+776+136>>2]=q*i;g[F+776+140>>2]=r*i;c[F+64>>2]=c[f+8>>2];c[F+64+4>>2]=0;c[F+64+8>>2]=c[u>>2];c[F+64+8+4>>2]=c[u+4>>2];c[F+64+8+8>>2]=c[u+8>>2];c[F+64+8+12>>2]=c[u+12>>2];c[F+64+24>>2]=c[F+776+148>>2];c[F+64+24+4>>2]=c[F+776+148+4>>2];c[F+64+24+8>>2]=c[F+776+148+8>>2];c[F+64+24+12>>2]=c[F+776+148+12>>2];g[F+64+40>>2]=s;+lb[c[(c[h>>2]|0)+12>>2]&31](h,F+64|0,1)}l=F;return}if((j+-21|0)>>>0>=9){if((j|0)!=31){l=F;return}u=c[(c[b>>2]|0)+8>>2]|0;M=+g[D>>2];N=+g[D+16>>2];O=+g[D+32>>2];w=+g[D+4>>2];v=+g[D+20>>2];s=+g[D+36>>2];r=+g[D+8>>2];p=+g[D+24>>2];n=+g[D+40>>2];C=-+g[D+48>>2];z=-+g[D+52>>2];x=-+g[D+56>>2];k=+g[d>>2];A=+g[d+16>>2];y=+g[d+32>>2];G=+g[d+4>>2];H=+g[d+20>>2];I=+g[d+36>>2];J=+g[d+8>>2];K=+g[d+24>>2];L=+g[d+40>>2];q=+g[d+48>>2];o=+g[d+52>>2];m=+g[d+56>>2];g[F+64>>2]=M*k+N*A+O*y;g[F+64+4>>2]=M*G+N*H+O*I;g[F+64+8>>2]=M*J+N*K+O*L;g[F+64+12>>2]=0.0;g[F+64+16>>2]=w*k+v*A+s*y;g[F+64+20>>2]=w*G+v*H+s*I;g[F+64+24>>2]=w*J+v*K+s*L;g[F+64+28>>2]=0.0;g[F+64+32>>2]=r*k+p*A+n*y;g[F+64+36>>2]=r*G+p*H+n*I;g[F+64+40>>2]=r*J+p*K+n*L;g[F+64+44>>2]=0.0;g[F+64+48>>2]=M*C+N*z+O*x+(M*q+N*o+O*m);g[F+64+52>>2]=w*C+v*z+s*x+(w*q+v*o+s*m);g[F+64+56>>2]=r*C+p*z+n*x+(r*q+p*o+n*m);g[F+64+60>>2]=0.0;Pb[u&127](b,F+64|0,F+776|0,F+416|0);u=c[(c[b>>2]|0)+8>>2]|0;m=+g[D>>2];n=+g[D+16>>2];o=+g[D+32>>2];p=+g[D+4>>2];q=+g[D+20>>2];r=+g[D+36>>2];x=+g[D+8>>2];z=+g[D+24>>2];C=+g[D+40>>2];s=-+g[D+48>>2];v=-+g[D+52>>2];w=-+g[D+56>>2];O=+g[e>>2];N=+g[e+16>>2];M=+g[e+32>>2];L=+g[e+4>>2];K=+g[e+20>>2];J=+g[e+36>>2];I=+g[e+8>>2];H=+g[e+24>>2];G=+g[e+40>>2];y=+g[e+48>>2];A=+g[e+52>>2];k=+g[e+56>>2];g[F+64>>2]=m*O+n*N+o*M;g[F+64+4>>2]=m*L+n*K+o*J;g[F+64+8>>2]=m*I+n*H+o*G;g[F+64+12>>2]=0.0;g[F+64+16>>2]=p*O+q*N+r*M;g[F+64+20>>2]=p*L+q*K+r*J;g[F+64+24>>2]=p*I+q*H+r*G;g[F+64+28>>2]=0.0;g[F+64+32>>2]=x*O+z*N+C*M;g[F+64+36>>2]=x*L+z*K+C*J;g[F+64+40>>2]=x*I+z*H+C*G;g[F+64+44>>2]=0.0;g[F+64+48>>2]=m*s+n*v+o*w+(m*y+n*A+o*k);g[F+64+52>>2]=p*s+q*v+r*w+(p*y+q*A+r*k);g[F+64+56>>2]=x*s+z*v+C*w+(x*y+z*A+C*k);g[F+64+60>>2]=0.0;Pb[u&127](b,F+64|0,F+352|0,F+128|0);k=+g[F+352>>2];if(k<+g[F+776>>2])g[F+776>>2]=k;k=+g[F+352+4>>2];if(k<+g[F+776+4>>2])g[F+776+4>>2]=k;k=+g[F+352+8>>2];if(k<+g[F+776+8>>2])g[F+776+8>>2]=k;k=+g[F+352+12>>2];if(k<+g[F+776+12>>2])g[F+776+12>>2]=k;k=+g[F+128>>2];if(+g[F+416>>2]<k)g[F+416>>2]=k;k=+g[F+128+4>>2];if(+g[F+416+4>>2]<k)g[F+416+4>>2]=k;k=+g[F+128+8>>2];if(+g[F+416+8>>2]<k)g[F+416+8>>2]=k;k=+g[F+128+12>>2];if(+g[F+416+12>>2]<k)g[F+416+12>>2]=k;c[F+64>>2]=7596;c[F+64+4>>2]=f;c[F+64+8>>2]=b;c[F+64+12>>2]=d;c[F+64+16>>2]=e;g[F+64+20>>2]=i;c[F+64+24>>2]=E;c[F+64+28>>2]=D;c[F+64+32>>2]=h;j=c[E+68>>2]|0;if(!j){if((c[E+20>>2]|0)>0){j=0;do{f=c[E+28>>2]|0;h=c[f+(j*80|0)+64>>2]|0;e=f+(j*80|0)|0;c[F>>2]=c[e>>2];c[F+4>>2]=c[e+4>>2];c[F+8>>2]=c[e+8>>2];c[F+12>>2]=c[e+12>>2];e=f+(j*80|0)+16|0;c[F+16>>2]=c[e>>2];c[F+16+4>>2]=c[e+4>>2];c[F+16+8>>2]=c[e+8>>2];c[F+16+12>>2]=c[e+12>>2];e=f+(j*80|0)+32|0;c[F+32>>2]=c[e>>2];c[F+32+4>>2]=c[e+4>>2];c[F+32+8>>2]=c[e+8>>2];c[F+32+12>>2]=c[e+12>>2];f=f+(j*80|0)+48|0;c[F+48>>2]=c[f>>2];c[F+48+4>>2]=c[f+4>>2];c[F+48+8>>2]=c[f+8>>2];c[F+48+12>>2]=c[f+12>>2];Cf(F+64|0,j,F,h);j=j+1|0}while((j|0)<(c[E+20>>2]|0))}}else{c[F>>2]=c[F+776>>2];c[F+4>>2]=c[F+776+4>>2];c[F+8>>2]=c[F+776+8>>2];c[F+12>>2]=c[F+776+12>>2];c[F+16>>2]=c[F+416>>2];c[F+16+4>>2]=c[F+416+4>>2];c[F+16+8>>2]=c[F+416+8>>2];c[F+16+12>>2]=c[F+416+12>>2];We(c[j>>2]|0,F,F+64|0)}l=F;return}switch(j|0){case 21:{o=+g[D>>2];p=+g[D+16>>2];q=+g[D+32>>2];r=+g[D+4>>2];s=+g[D+20>>2];v=+g[D+36>>2];w=+g[D+8>>2];x=+g[D+24>>2];y=+g[D+40>>2];z=-+g[D+48>>2];A=-+g[D+52>>2];C=-+g[D+56>>2];n=+g[d+48>>2];m=+g[d+52>>2];k=+g[d+56>>2];g[F+416>>2]=o*z+p*A+q*C+(o*n+p*m+q*k);g[F+416+4>>2]=r*z+s*A+v*C+(r*n+s*m+v*k);g[F+416+8>>2]=w*z+x*A+y*C+(w*n+x*m+y*k);g[F+416+12>>2]=0.0;k=+g[e+48>>2];m=+g[e+52>>2];n=+g[e+56>>2];G=+g[e>>2];H=+g[e+16>>2];I=+g[e+32>>2];J=+g[e+4>>2];K=+g[e+20>>2];L=+g[e+36>>2];M=+g[e+8>>2];N=+g[e+24>>2];O=+g[e+40>>2];g[F+352>>2]=o*G+p*H+q*I;g[F+352+4>>2]=o*J+p*K+q*L;g[F+352+8>>2]=o*M+p*N+q*O;g[F+352+12>>2]=0.0;g[F+352+16>>2]=r*G+s*H+v*I;g[F+352+20>>2]=r*J+s*K+v*L;g[F+352+24>>2]=r*M+s*N+v*O;g[F+352+28>>2]=0.0;g[F+352+32>>2]=w*G+x*H+y*I;g[F+352+36>>2]=w*J+x*K+y*L;g[F+352+40>>2]=w*M+x*N+y*O;j=F+352+44|0;c[j>>2]=0;c[j+4>>2]=0;c[j+8>>2]=0;c[j+12>>2]=0;c[j+16>>2]=0;j=c[f+8>>2]|0;O=+ib[c[(c[E>>2]|0)+48>>2]&15](E);c[F+128>>2]=11424;c[F+128+4>>2]=b;c[F+128+8>>2]=c[d>>2];c[F+128+8+4>>2]=c[d+4>>2];c[F+128+8+8>>2]=c[d+8>>2];c[F+128+8+12>>2]=c[d+12>>2];c[F+128+24>>2]=c[d+16>>2];c[F+128+24+4>>2]=c[d+16+4>>2];c[F+128+24+8>>2]=c[d+16+8>>2];c[F+128+24+12>>2]=c[d+16+12>>2];c[F+128+40>>2]=c[d+32>>2];c[F+128+40+4>>2]=c[d+32+4>>2];c[F+128+40+8>>2]=c[d+32+8>>2];c[F+128+40+12>>2]=c[d+32+12>>2];c[F+128+56>>2]=c[d+48>>2];c[F+128+56+4>>2]=c[d+48+4>>2];c[F+128+56+8>>2]=c[d+48+8>>2];c[F+128+56+12>>2]=c[d+48+12>>2];c[F+128+72>>2]=c[e>>2];c[F+128+72+4>>2]=c[e+4>>2];c[F+128+72+8>>2]=c[e+8>>2];c[F+128+72+12>>2]=c[e+12>>2];c[F+128+88>>2]=c[e+16>>2];c[F+128+88+4>>2]=c[e+16+4>>2];c[F+128+88+8>>2]=c[e+16+8>>2];c[F+128+88+12>>2]=c[e+16+12>>2];c[F+128+104>>2]=c[e+32>>2];c[F+128+104+4>>2]=c[e+32+4>>2];c[F+128+104+8>>2]=c[e+32+8>>2];c[F+128+104+12>>2]=c[e+32+12>>2];c[F+128+120>>2]=c[e+48>>2];c[F+128+120+4>>2]=c[e+48+4>>2];c[F+128+120+8>>2]=c[e+48+8>>2];c[F+128+120+12>>2]=c[e+48+12>>2];c[F+128+136>>2]=c[D>>2];c[F+128+136+4>>2]=c[D+4>>2];c[F+128+136+8>>2]=c[D+8>>2];c[F+128+136+12>>2]=c[D+12>>2];c[F+128+152>>2]=c[D+16>>2];c[F+128+152+4>>2]=c[D+16+4>>2];c[F+128+152+8>>2]=c[D+16+8>>2];c[F+128+152+12>>2]=c[D+16+12>>2];c[F+128+168>>2]=c[D+32>>2];c[F+128+168+4>>2]=c[D+32+4>>2];c[F+128+168+8>>2]=c[D+32+8>>2];c[F+128+168+12>>2]=c[D+32+12>>2];c[F+128+184>>2]=c[D+48>>2];c[F+128+184+4>>2]=c[D+48+4>>2];c[F+128+184+8>>2]=c[D+48+8>>2];c[F+128+184+12>>2]=c[D+48+12>>2];g[F+128+204>>2]=O;c[F+128>>2]=7548;c[F+128+212>>2]=h;c[F+128+216>>2]=j;c[F+128+220>>2]=E;c[F+128+200>>2]=c[h+4>>2];g[F+128+208>>2]=i;Pb[c[(c[b>>2]|0)+8>>2]&127](b,F+352|0,F+64|0,F);j=c[E+52>>2]|0;c[F+776>>2]=8468;c[F+776+4>>2]=j;c[F+776+8>>2]=F+128;j=c[E+56>>2]|0;if(!(a[j+60>>0]|0))ne(j,F+776|0,F+416|0,o*z+p*A+q*C+(o*k+p*m+q*n),r*z+s*A+v*C+(r*k+s*m+v*n),w*z+x*A+y*C+(w*k+x*m+y*n),F+64|0,F);else Wd(j,F+776|0,F+416|0,o*z+p*A+q*C+(o*k+p*m+q*n),r*z+s*A+v*C+(r*k+s*m+v*n),w*z+x*A+y*C+(w*k+x*m+y*n),F+64|0,F,c[j+56>>2]|0);l=F;return}case 28:{c[F+776>>2]=7368;c[F+776+168>>2]=0;g[F+776+172>>2]=i;c[F+776+164>>2]=c[h+4>>2];c[F+416>>2]=11268;c[F+416+4>>2]=0;c[F+416+8>>2]=0;c[F+416+12>>2]=b;c[F+416+16>>2]=0;c[F+416+20>>2]=E;if((Bd(F+416|0,d,e,D,D,F+776|0)|0?(t=F+776+132|0,k=+g[t>>2],m=+g[F+776+136>>2],n=+g[F+776+140>>2],k*k+m*m+n*n>9.999999747378752e-05):0)?(o=+g[F+776+164>>2],o<+g[h+4>>2]):0){O=1.0/+B(+(k*k+m*m+n*n));g[t>>2]=k*O;g[F+776+136>>2]=m*O;g[F+776+140>>2]=n*O;c[F+352>>2]=c[f+8>>2];c[F+352+4>>2]=0;c[F+352+8>>2]=c[t>>2];c[F+352+8+4>>2]=c[t+4>>2];c[F+352+8+8>>2]=c[t+8>>2];c[F+352+8+12>>2]=c[t+12>>2];c[F+352+24>>2]=c[F+776+148>>2];c[F+352+24+4>>2]=c[F+776+148+4>>2];c[F+352+24+8>>2]=c[F+776+148+8>>2];c[F+352+24+12>>2]=c[F+776+148+12>>2];g[F+352+40>>2]=o;+lb[c[(c[h>>2]|0)+12>>2]&31](h,F+352|0,1)}l=F;return}default:{o=+g[D>>2];p=+g[D+16>>2];q=+g[D+32>>2];w=+g[D+4>>2];x=+g[D+20>>2];y=+g[D+36>>2];J=+g[D+8>>2];L=+g[D+24>>2];N=+g[D+40>>2];H=-+g[D+48>>2];G=-+g[D+52>>2];C=-+g[D+56>>2];z=+g[d+48>>2];A=+g[d+52>>2];k=+g[d+56>>2];n=o*H+p*G+q*C+(o*z+p*A+q*k);m=w*H+x*G+y*C+(w*z+x*A+y*k);k=J*H+L*G+N*C+(J*z+L*A+N*k);A=+g[e+48>>2];z=+g[e+52>>2];v=+g[e+56>>2];r=o*H+p*G+q*C+(o*A+p*z+q*v);s=w*H+x*G+y*C+(w*A+x*z+y*v);v=J*H+L*G+N*C+(J*A+L*z+N*v);z=+g[e>>2];A=+g[e+16>>2];C=+g[e+32>>2];G=+g[e+4>>2];H=+g[e+20>>2];I=+g[e+36>>2];K=+g[e+8>>2];M=+g[e+24>>2];O=+g[e+40>>2];g[F+776>>2]=o*z+p*A+q*C;g[F+776+4>>2]=o*G+p*H+q*I;g[F+776+8>>2]=o*K+p*M+q*O;g[F+776+12>>2]=0.0;g[F+776+16>>2]=w*z+x*A+y*C;g[F+776+20>>2]=w*G+x*H+y*I;g[F+776+24>>2]=w*K+x*M+y*O;g[F+776+28>>2]=0.0;g[F+776+32>>2]=J*z+L*A+N*C;g[F+776+36>>2]=J*G+L*H+N*I;g[F+776+40>>2]=J*K+L*M+N*O;u=F+776+44|0;c[u>>2]=0;c[u+4>>2]=0;c[u+8>>2]=0;c[u+12>>2]=0;c[u+16>>2]=0;f=c[f+8>>2]|0;O=+ib[c[(c[E>>2]|0)+48>>2]&15](E);c[F+416>>2]=11424;c[F+416+4>>2]=b;c[F+416+8>>2]=c[d>>2];c[F+416+8+4>>2]=c[d+4>>2];c[F+416+8+8>>2]=c[d+8>>2];c[F+416+8+12>>2]=c[d+12>>2];c[F+416+24>>2]=c[d+16>>2];c[F+416+24+4>>2]=c[d+16+4>>2];c[F+416+24+8>>2]=c[d+16+8>>2];c[F+416+24+12>>2]=c[d+16+12>>2];c[F+416+40>>2]=c[d+32>>2];c[F+416+40+4>>2]=c[d+32+4>>2];c[F+416+40+8>>2]=c[d+32+8>>2];c[F+416+40+12>>2]=c[d+32+12>>2];c[F+416+56>>2]=c[d+48>>2];c[F+416+56+4>>2]=c[d+48+4>>2];c[F+416+56+8>>2]=c[d+48+8>>2];c[F+416+56+12>>2]=c[d+48+12>>2];c[F+416+72>>2]=c[e>>2];c[F+416+72+4>>2]=c[e+4>>2];c[F+416+72+8>>2]=c[e+8>>2];c[F+416+72+12>>2]=c[e+12>>2];c[F+416+88>>2]=c[e+16>>2];c[F+416+88+4>>2]=c[e+16+4>>2];c[F+416+88+8>>2]=c[e+16+8>>2];c[F+416+88+12>>2]=c[e+16+12>>2];c[F+416+104>>2]=c[e+32>>2];c[F+416+104+4>>2]=c[e+32+4>>2];c[F+416+104+8>>2]=c[e+32+8>>2];c[F+416+104+12>>2]=c[e+32+12>>2];c[F+416+120>>2]=c[e+48>>2];c[F+416+120+4>>2]=c[e+48+4>>2];c[F+416+120+8>>2]=c[e+48+8>>2];c[F+416+120+12>>2]=c[e+48+12>>2];c[F+416+136>>2]=c[D>>2];c[F+416+136+4>>2]=c[D+4>>2];c[F+416+136+8>>2]=c[D+8>>2];c[F+416+136+12>>2]=c[D+12>>2];c[F+416+152>>2]=c[D+16>>2];c[F+416+152+4>>2]=c[D+16+4>>2];c[F+416+152+8>>2]=c[D+16+8>>2];c[F+416+152+12>>2]=c[D+16+12>>2];c[F+416+168>>2]=c[D+32>>2];c[F+416+168+4>>2]=c[D+32+4>>2];c[F+416+168+8>>2]=c[D+32+8>>2];c[F+416+168+12>>2]=c[D+32+12>>2];c[F+416+184>>2]=c[D+48>>2];c[F+416+184+4>>2]=c[D+48+4>>2];c[F+416+184+8>>2]=c[D+48+8>>2];c[F+416+184+12>>2]=c[D+48+12>>2];g[F+416+204>>2]=O;c[F+416>>2]=7572;c[F+416+212>>2]=h;c[F+416+216>>2]=f;c[F+416+220>>2]=E;c[F+416+200>>2]=c[h+4>>2];g[F+416+208>>2]=i;Pb[c[(c[b>>2]|0)+8>>2]&127](b,F+776|0,F+352|0,F+128|0);g[F+64>>2]=n;g[F+64+4>>2]=m;g[F+64+8>>2]=k;g[F+64+12>>2]=0.0;if(r<n){g[F+64>>2]=r;o=r}else o=n;if(s<m){g[F+64+4>>2]=s;p=s}else p=m;if(v<k){g[F+64+8>>2]=v;q=v}else q=k;g[F>>2]=n;g[F+4>>2]=m;g[F+8>>2]=k;g[F+12>>2]=0.0;if(n<r){g[F>>2]=r;n=r}if(m<s){g[F+4>>2]=s;m=s}if(k<v){g[F+8>>2]=v;k=v}g[F+64>>2]=+g[F+352>>2]+o;g[F+64+4>>2]=+g[F+352+4>>2]+p;g[F+64+8>>2]=+g[F+352+8>>2]+q;g[F>>2]=+g[F+128>>2]+n;g[F+4>>2]=+g[F+128+4>>2]+m;g[F+8>>2]=+g[F+128+8>>2]+k;Pb[c[(c[E>>2]|0)+64>>2]&127](E,F+416|0,F+64|0,F);l=F;return}}}function kc(b,e,f,h,i,j,k,m,n,o){b=b|0;e=e|0;f=f|0;h=h|0;i=i|0;j=j|0;k=k|0;m=m|0;n=n|0;o=o|0;var p=0.0,q=0.0,r=0.0,s=0.0,t=0.0,u=0.0,v=0,w=0.0,x=0.0,y=0.0,z=0,A=0,C=0.0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0.0,N=0.0,O=0.0,P=0.0,Q=0.0,R=0.0,S=0.0,T=0.0,U=0.0,V=0.0,W=0.0,X=0.0,Y=0.0,Z=0;L=l;l=l+19056|0;W=+g[j+52>>2]-+g[i+52>>2];Q=+g[j+56>>2]-+g[i+56>>2];g[L>>2]=+g[j+48>>2]-+g[i+48>>2];g[L+4>>2]=W;g[L+8>>2]=Q;g[L+12>>2]=0.0;c[L+18912>>2]=f;c[L+18912+4>>2]=h;Q=+g[j>>2];W=+g[i>>2];P=+g[j+16>>2];V=+g[i+16>>2];O=+g[j+32>>2];U=+g[i+32>>2];T=+g[i+4>>2];S=+g[i+20>>2];R=+g[i+36>>2];t=+g[i+8>>2];w=+g[i+24>>2];y=+g[i+40>>2];N=+g[j+4>>2];M=+g[j+20>>2];p=+g[j+36>>2];u=+g[j+8>>2];x=+g[j+24>>2];C=+g[j+40>>2];g[L+18912+8>>2]=Q*W+P*V+O*U;g[L+18912+12>>2]=Q*T+P*S+O*R;g[L+18912+16>>2]=Q*t+P*w+O*y;g[L+18912+20>>2]=0.0;g[L+18912+24>>2]=W*N+V*M+U*p;g[L+18912+28>>2]=T*N+S*M+R*p;g[L+18912+32>>2]=t*N+w*M+y*p;g[L+18912+36>>2]=0.0;g[L+18912+40>>2]=W*u+V*x+U*C;g[L+18912+44>>2]=T*u+S*x+R*C;g[L+18912+48>>2]=t*u+w*x+y*C;g[L+18912+52>>2]=0.0;Y=+g[j+48>>2]-+g[i+48>>2];X=+g[j+52>>2]-+g[i+52>>2];q=+g[j+56>>2]-+g[i+56>>2];s=Y*+g[i>>2]+X*+g[i+16>>2]+q*+g[i+32>>2];r=Y*+g[i+4>>2]+X*+g[i+20>>2]+q*+g[i+36>>2];q=Y*+g[i+8>>2]+X*+g[i+24>>2]+q*y;g[L+18912+56>>2]=Q*W+P*V+O*U;g[L+18912+60>>2]=W*N+V*M+U*p;g[L+18912+64>>2]=W*u+V*x+U*C;g[L+18912+68>>2]=0.0;g[L+18912+72>>2]=Q*T+P*S+O*R;g[L+18912+76>>2]=T*N+S*M+R*p;g[L+18912+80>>2]=T*u+S*x+R*C;g[L+18912+84>>2]=0.0;g[L+18912+88>>2]=Q*t+P*w+O*y;g[L+18912+92>>2]=t*N+w*M+y*p;g[L+18912+96>>2]=t*u+w*x+y*C;g[L+18912+100>>2]=0.0;g[L+18912+104>>2]=s;g[L+18912+108>>2]=r;g[L+18912+112>>2]=q;g[L+18912+116>>2]=0.0;c[L+18912+120>>2]=82;c[L+18912+124>>2]=0;c[L+18528+364>>2]=0;c[L+18528+128>>2]=0;c[L+18528+128+4>>2]=0;c[L+18528+128+8>>2]=0;c[L+18528+128+12>>2]=0;c[L+18528+376>>2]=2;c[L+18528+368>>2]=0;g[L+18528+144>>2]=0.0;q=+g[L>>2];r=+g[L+4>>2];s=+g[L+8>>2];g[L+19040>>2]=-q;g[L+19040+4>>2]=-r;g[L+19040+8>>2]=-s;g[L+19040+12>>2]=0.0;a:do if((yc(L+18528|0,L+18912|0,L+19040|0)|0)==1){H=L+16+18496|0;I=L+16+18504|0;c[H>>2]=0;c[H+4>>2]=0;c[H+8>>2]=0;c[H+12>>2]=0;c[L+16>>2]=9;K=L+16+40|0;c[L+16+18492>>2]=0;c[K>>2]=0;c[K+4>>2]=0;c[K+8>>2]=0;c[K+12>>2]=0;c[K+16>>2]=0;b=0;do{e=256-b+-1|0;c[L+16+4156+(e*56|0)+44>>2]=0;o=c[I>>2]|0;c[L+16+4156+(e*56|0)+48>>2]=o;if(o|0)c[o+44>>2]=L+16+4156+(e*56|0);c[I>>2]=L+16+4156+(e*56|0);b=b+1|0}while((b|0)!=256);F=L+16+18508|0;c[F>>2]=256;E=c[L+18528+372>>2]|0;do if((c[E+32>>2]|0)>>>0>1?Lc(L+18528|0)|0:0){G=L+16+18496|0;b=c[G>>2]|0;if(b|0){z=c[L+16+18500>>2]|0;A=c[F>>2]|0;do{e=b+44|0;v=b+48|0;o=c[v>>2]|0;if(o|0)c[o+44>>2]=c[e>>2];e=c[e>>2]|0;if(e|0)c[e+48>>2]=c[v>>2];if((c[G>>2]|0)==(b|0))c[G>>2]=c[v>>2];z=z+-1|0;c[b+44>>2]=0;c[v>>2]=c[I>>2];e=c[I>>2]|0;if(e|0)c[e+44>>2]=b;c[I>>2]=b;A=A+1|0;b=c[G>>2]|0}while((b|0)!=0);c[L+16+18500>>2]=z;c[F>>2]=A}c[L+16>>2]=0;c[L+16+18492>>2]=0;b=c[E>>2]|0;e=c[E+12>>2]|0;Y=+g[e+16>>2];Q=+g[b+16>>2]-Y;S=+g[e+20>>2];T=+g[b+20>>2]-S;V=+g[e+24>>2];W=+g[b+24>>2]-V;e=c[E+4>>2]|0;U=+g[e+16>>2]-Y;X=+g[e+20>>2]-S;R=+g[e+24>>2]-V;o=c[E+8>>2]|0;Y=+g[o+16>>2]-Y;S=+g[o+20>>2]-S;V=+g[o+24>>2]-V;if(Q*X*V+(T*R*Y+W*U*S-Q*R*S-T*U*V)-W*X*Y<0.0){c[E>>2]=e;c[E+4>>2]=b;v=c[E+16>>2]|0;c[E+16>>2]=c[E+20>>2];c[E+20>>2]=v;v=e}else{v=b;b=e}v=re(L+16|0,v,b,o,1)|0;z=re(L+16|0,c[E+4>>2]|0,c[E>>2]|0,c[E+12>>2]|0,1)|0;A=re(L+16|0,c[E+8>>2]|0,c[E+4>>2]|0,c[E+12>>2]|0,1)|0;D=re(L+16|0,c[E>>2]|0,c[E+8>>2]|0,c[E+12>>2]|0,1)|0;if((c[L+16+18500>>2]|0)==4){e=c[H>>2]|0;p=+g[e+16>>2];b=c[e+48>>2]|0;if(!b)b=e;else{q=p*p;while(1){p=+g[b+16>>2];o=p*p<q;e=o?b:e;b=c[b+48>>2]|0;if(!b)break;else q=o?p*p:q}b=e;p=+g[e+16>>2]}t=+g[b>>2];s=+g[b+4>>2];r=+g[b+8>>2];q=+g[b+12>>2];o=c[b+20>>2]|0;Z=c[b+24>>2]|0;e=c[b+28>>2]|0;a[v+52>>0]=0;c[v+32>>2]=z;a[z+52>>0]=0;c[z+32>>2]=v;a[v+53>>0]=0;c[v+36>>2]=A;a[A+52>>0]=1;c[A+32>>2]=v;a[v+54>>0]=0;c[v+40>>2]=D;a[D+52>>0]=2;c[D+32>>2]=v;a[z+53>>0]=2;c[z+36>>2]=D;a[D+54>>0]=1;c[D+40>>2]=z;a[z+54>>0]=1;c[z+40>>2]=A;a[A+53>>0]=2;c[A+36>>2]=z;a[A+54>>0]=1;c[A+40>>2]=D;a[D+53>>0]=2;c[D+36>>2]=A;c[L+16>>2]=0;D=b;E=0;z=Z;A=e;while(1){e=c[L+16+18492>>2]|0;if(e>>>0>=128){J=45;break}c[L+19040>>2]=0;c[L+19040+4>>2]=0;c[L+19040+8>>2]=0;c[L+16+18492>>2]=e+1;E=E+1|0;a[D+55>>0]=E;v=D+4|0;Z=D+8|0;Zg(L+18528|0,+g[D>>2],+g[v>>2],+g[Z>>2],L+16+60+(e<<5)|0);if(!(+g[D>>2]*+g[L+16+60+(e<<5)+16>>2]+ +g[v>>2]*+g[L+16+60+(e<<5)+20>>2]+ +g[Z>>2]*+g[L+16+60+(e<<5)+24>>2]-+g[D+16>>2]>9.999999747378752e-05)){b=7;J=44;break}b=0;do{v=Hg(L+16|0,E,L+16+60+(e<<5)|0,c[D+32+(b<<2)>>2]|0,d[D+52+b>>0]|0,L+19040|0)|0;b=b+1|0}while(v&b>>>0<3);if(!(v&(c[L+19040+8>>2]|0)>>>0>2)){b=4;J=44;break}o=c[L+19040>>2]|0;b=c[L+19040+4>>2]|0;a[o+53>>0]=2;c[o+36>>2]=b;a[b+54>>0]=1;c[b+40>>2]=o;b=D+44|0;o=D+48|0;e=c[o>>2]|0;if(e|0)c[e+44>>2]=c[b>>2];b=c[b>>2]|0;if(b|0)c[b+48>>2]=c[o>>2];if((c[G>>2]|0)==(D|0))c[G>>2]=c[o>>2];c[L+16+18500>>2]=(c[L+16+18500>>2]|0)+-1;c[D+44>>2]=0;c[o>>2]=c[I>>2];b=c[I>>2]|0;if(b|0)c[b+44>>2]=D;c[I>>2]=D;c[F>>2]=(c[F>>2]|0)+1;e=c[H>>2]|0;p=+g[e+16>>2];b=c[e+48>>2]|0;if(b){q=p*p;o=e;while(1){p=+g[b+16>>2];e=p*p<q;o=e?b:o;b=c[b+48>>2]|0;if(!b)break;else q=e?p*p:q}e=o;p=+g[o+16>>2]}t=+g[e>>2];s=+g[e+4>>2];r=+g[e+8>>2];q=+g[e+12>>2];o=c[e+20>>2]|0;v=c[e+24>>2]|0;b=c[e+28>>2]|0;if(E>>>0>=255){e=v;break}else{D=e;z=v;A=b}}if((J|0)==44){c[L+16>>2]=b;e=z;b=A}else if((J|0)==45){c[L+16>>2]=6;e=z;b=A}U=t*p;S=s*p;Y=r*p;g[L+16+40>>2]=t;g[L+16+44>>2]=s;g[L+16+48>>2]=r;g[L+16+52>>2]=q;g[L+16+56>>2]=p;c[L+16+36>>2]=3;c[L+16+4>>2]=o;c[L+16+8>>2]=e;c[L+16+12>>2]=b;Z=e;V=+g[Z+16>>2]-U;Q=+g[Z+20>>2]-S;T=+g[Z+24>>2]-Y;I=b;P=+g[I+16>>2]-U;R=+g[I+20>>2]-S;W=+g[I+24>>2]-Y;W=+B(+((V*R-Q*P)*(V*R-Q*P)+((Q*W-T*R)*(Q*W-T*R)+(T*P-V*W)*(T*P-V*W))));g[L+16+20>>2]=W;V=+g[I+16>>2]-U;P=+g[I+20>>2]-S;T=+g[I+24>>2]-Y;I=o;R=+g[I+16>>2]-U;Q=+g[I+20>>2]-S;X=+g[I+24>>2]-Y;X=+B(+((V*Q-P*R)*(V*Q-P*R)+((P*X-T*Q)*(P*X-T*Q)+(T*R-V*X)*(T*R-V*X))));g[L+16+24>>2]=X;V=+g[I+16>>2]-U;R=+g[I+20>>2]-S;T=+g[I+24>>2]-Y;U=+g[Z+16>>2]-U;S=+g[Z+20>>2]-S;Y=+g[Z+24>>2]-Y;Y=+B(+((V*S-R*U)*(V*S-R*U)+((R*Y-T*S)*(R*Y-T*S)+(T*U-V*Y)*(T*U-V*Y))));g[L+16+20>>2]=W/(W+X+Y);g[L+16+24>>2]=X/(W+X+Y);g[L+16+28>>2]=Y/(W+X+Y);if((c[L+16>>2]|0)!=9)if(!(c[L+16+36>>2]|0)){r=0.0;q=0.0;p=0.0;break}else{v=L+16+36|0;J=54;break}else break a}else J=48}else J=48;while(0);if((J|0)==48){c[L+16>>2]=8;g[L+16+40>>2]=q;g[L+16+44>>2]=r;g[L+16+48>>2]=s;g[L+16+52>>2]=0.0;p=+B(+(q*q+r*r+s*s));if(p>0.0){g[L+16+40>>2]=1.0/p*q;g[L+16+44>>2]=1.0/p*r;g[L+16+48>>2]=1.0/p*s}else{c[K>>2]=1065353216;c[L+16+44>>2]=0;c[L+16+48>>2]=0}g[L+16+52>>2]=0.0;g[L+16+56>>2]=0.0;c[L+16+36>>2]=1;c[L+16+4>>2]=c[E>>2];g[L+16+20>>2]=1.0;v=L+16+36|0;J=54}if((J|0)==54){o=0;p=0.0;q=0.0;r=0.0;do{b=c[L+18912+120>>2]|0;Z=c[L+18912+124>>2]|0;e=(c[L+18912>>2]|0)+(Z>>1)|0;if(Z&1)b=c[(c[e>>2]|0)+b>>2]|0;Mb[b&127](L+19040|0,e,c[L+16+4+(o<<2)>>2]|0);Y=+g[L+16+20+(o<<2)>>2];p=p+ +g[L+19040>>2]*Y;q=q+Y*+g[L+19040+4>>2];r=r+Y*+g[L+19040+8>>2];o=o+1|0}while(o>>>0<(c[v>>2]|0)>>>0)}u=+g[i>>2];w=+g[i+4>>2];x=+g[i+8>>2];C=+g[i+16>>2];M=+g[i+20>>2];N=+g[i+24>>2];Q=+g[i+32>>2];S=+g[i+36>>2];U=+g[i+40>>2];y=+g[i+48>>2];O=+g[i+52>>2];V=+g[i+56>>2];W=+g[K>>2];T=+g[L+16+56>>2];X=+g[L+16+44>>2];Y=+g[L+16+48>>2];P=p-W*T;R=q-T*X;T=r-T*Y;g[m>>2]=p*u+q*w+r*x+y;g[m+4>>2]=p*C+q*M+r*N+O;g[m+8>>2]=p*Q+q*S+r*U+V;g[m+12>>2]=0.0;g[n>>2]=P*u+R*w+T*x+y;g[n+4>>2]=P*C+R*M+T*N+O;g[n+8>>2]=P*Q+R*S+T*U+V;g[n+12>>2]=0.0;g[k>>2]=-W;g[k+4>>2]=-X;g[k+8>>2]=-Y;g[k+12>>2]=0.0;Z=1;l=L;return Z|0}while(0);c[L+18528>>2]=f;c[L+18528+4>>2]=h;r=+g[j>>2];N=+g[i>>2];s=+g[j+16>>2];O=+g[i+16>>2];t=+g[j+32>>2];P=+g[i+32>>2];Q=+g[i+4>>2];R=+g[i+20>>2];S=+g[i+36>>2];U=+g[i+8>>2];W=+g[i+24>>2];Y=+g[i+40>>2];u=+g[j+4>>2];w=+g[j+20>>2];x=+g[j+36>>2];y=+g[j+8>>2];C=+g[j+24>>2];M=+g[j+40>>2];g[L+18528+8>>2]=r*N+s*O+t*P;g[L+18528+12>>2]=r*Q+s*R+t*S;g[L+18528+16>>2]=r*U+s*W+t*Y;g[L+18528+20>>2]=0.0;g[L+18528+24>>2]=N*u+O*w+P*x;g[L+18528+28>>2]=Q*u+R*w+S*x;g[L+18528+32>>2]=U*u+W*w+Y*x;g[L+18528+36>>2]=0.0;g[L+18528+40>>2]=N*y+O*C+P*M;g[L+18528+44>>2]=Q*y+R*C+S*M;g[L+18528+48>>2]=U*y+W*C+Y*M;g[L+18528+52>>2]=0.0;T=+g[j+48>>2]-+g[i+48>>2];V=+g[j+52>>2]-+g[i+52>>2];X=+g[j+56>>2]-+g[i+56>>2];g[L+18528+56>>2]=r*N+s*O+t*P;g[L+18528+60>>2]=N*u+O*w+P*x;g[L+18528+64>>2]=N*y+O*C+P*M;g[L+18528+68>>2]=0.0;g[L+18528+72>>2]=r*Q+s*R+t*S;g[L+18528+76>>2]=Q*u+R*w+S*x;g[L+18528+80>>2]=Q*y+R*C+S*M;g[L+18528+84>>2]=0.0;g[L+18528+88>>2]=r*U+s*W+t*Y;g[L+18528+92>>2]=U*u+W*w+Y*x;g[L+18528+96>>2]=U*y+W*C+Y*M;g[L+18528+100>>2]=0.0;g[L+18528+104>>2]=T*N+V*O+X*P;g[L+18528+108>>2]=T*Q+V*R+X*S;g[L+18528+112>>2]=T*U+V*W+X*Y;g[L+18528+116>>2]=0.0;c[L+18528+120>>2]=83;c[L+18528+124>>2]=0;c[L+16+364>>2]=0;c[L+16+128>>2]=0;c[L+16+128+4>>2]=0;c[L+16+128+8>>2]=0;c[L+16+128+12>>2]=0;c[L+16+376>>2]=2;c[L+16+368>>2]=0;g[L+16+144>>2]=0.0;if(yc(L+16|0,L+18528|0,L)|0){Z=0;l=L;return Z|0}b=c[L+16+372>>2]|0;if(!(c[b+32>>2]|0)){u=0.0;t=0.0;s=0.0;r=0.0;q=0.0;p=0.0}else{v=0;s=0.0;t=0.0;u=0.0;p=0.0;q=0.0;r=0.0;do{C=+g[b+16+(v<<2)>>2];e=c[L+18528+120>>2]|0;Z=c[L+18528+124>>2]|0;o=(c[L+18528>>2]|0)+(Z>>1)|0;if(Z&1)e=c[(c[o>>2]|0)+e>>2]|0;Mb[e&127](L+19040|0,o,c[b+(v<<2)>>2]|0);s=s+C*+g[L+19040>>2];t=t+C*+g[L+19040+4>>2];u=u+C*+g[L+19040+8>>2];b=c[(c[L+16+372>>2]|0)+(v<<2)>>2]|0;w=-+g[b>>2];x=-+g[b+4>>2];y=-+g[b+8>>2];b=c[L+18528+120>>2]|0;Z=c[L+18528+124>>2]|0;e=(c[L+18528+4>>2]|0)+(Z>>1)|0;if(Z&1)b=c[(c[e>>2]|0)+b>>2]|0;X=+g[L+18528+24>>2]*w+ +g[L+18528+28>>2]*x+ +g[L+18528+32>>2]*y;W=+g[L+18528+40>>2]*w+ +g[L+18528+44>>2]*x+ +g[L+18528+48>>2]*y;g[L+18912>>2]=+g[L+18528+8>>2]*w+ +g[L+18528+12>>2]*x+ +g[L+18528+16>>2]*y;g[L+18912+4>>2]=X;g[L+18912+8>>2]=W;g[L+18912+12>>2]=0.0;Mb[b&127](L+19040|0,e,L+18912|0);W=+g[L+19040>>2];X=+g[L+19040+4>>2];Y=+g[L+19040+8>>2];p=p+C*(W*+g[L+18528+56>>2]+X*+g[L+18528+60>>2]+Y*+g[L+18528+64>>2]+ +g[L+18528+104>>2]);q=q+C*(W*+g[L+18528+72>>2]+X*+g[L+18528+76>>2]+Y*+g[L+18528+80>>2]+ +g[L+18528+108>>2]);r=r+C*(W*+g[L+18528+88>>2]+X*+g[L+18528+92>>2]+Y*+g[L+18528+96>>2]+ +g[L+18528+112>>2]);v=v+1|0;b=c[L+16+372>>2]|0}while(v>>>0<(c[b+32>>2]|0)>>>0)}x=+g[i>>2];y=+g[i+4>>2];C=+g[i+8>>2];N=+g[i+16>>2];O=+g[i+20>>2];P=+g[i+24>>2];R=+g[i+32>>2];S=+g[i+36>>2];T=+g[i+40>>2];M=+g[i+48>>2];Q=+g[i+52>>2];U=+g[i+56>>2];V=s-p;W=t-q;X=u-r;Y=+B(+(V*V+W*W+X*X));Y=Y>9.999999747378752e-05?1.0/Y:1.0;g[m>>2]=s*x+t*y+u*C+M;g[m+4>>2]=s*N+t*O+u*P+Q;g[m+8>>2]=s*R+t*S+u*T+U;g[m+12>>2]=0.0;g[n>>2]=p*x+q*y+r*C+M;g[n+4>>2]=p*N+q*O+r*P+Q;g[n+8>>2]=p*R+q*S+r*T+U;g[n+12>>2]=0.0;g[k>>2]=V*Y;g[k+4>>2]=W*Y;g[k+8>>2]=X*Y;g[k+12>>2]=0.0;Z=0;l=L;return Z|0}function lc(b,d,e,f,i,k){b=b|0;d=d|0;e=e|0;f=f|0;i=i|0;k=k|0;var m=0,n=0,o=0.0,p=0.0,q=0.0,r=0,s=0.0,t=0,u=0,v=0.0,w=0.0,x=0.0,y=0.0,z=0.0,B=0.0,C=0.0,D=0.0,E=0,F=0,G=0,H=0,I=0.0,J=0.0,K=0.0,L=0.0,M=0.0,O=0.0,P=0.0,Q=0.0,R=0.0,S=0.0,T=0.0,U=0.0,V=0,W=0,X=0;H=l;l=l+528|0;if((sb[c[(c[f>>2]|0)+80>>2]&127](f)|0)==2){n=k?b+36|0:b+28|0;m=c[f+156>>2]|0;c[n>>2]=m+-1;if(!m){l=H;return}m=m+-1|0;do{lc(b,d,e,c[(c[f+164>>2]|0)+(m<<2)>>2]|0,i,k);G=c[n>>2]|0;m=G+-1|0;c[n>>2]=m}while((G|0)!=0);l=H;return}u=(sb[c[(c[f>>2]|0)+80>>2]&127](f)|0)==1;m=c[i+4>>2]|0;if(u&(m|0)==28){G=c[d+12>>2]|0;c[H+216>>2]=c[G>>2];c[H+216+4>>2]=c[G+4>>2];c[H+216+8>>2]=c[G+8>>2];c[H+216+12>>2]=c[G+12>>2];c[H+216+16>>2]=c[G+16>>2];c[H+216+16+4>>2]=c[G+16+4>>2];c[H+216+16+8>>2]=c[G+16+8>>2];c[H+216+16+12>>2]=c[G+16+12>>2];c[H+216+32>>2]=c[G+32>>2];c[H+216+32+4>>2]=c[G+32+4>>2];c[H+216+32+8>>2]=c[G+32+8>>2];c[H+216+32+12>>2]=c[G+32+12>>2];c[H+216+48>>2]=c[G+48>>2];c[H+216+48+4>>2]=c[G+48+4>>2];c[H+216+48+8>>2]=c[G+48+8>>2];c[H+216+48+12>>2]=c[G+48+12>>2];G=c[e+12>>2]|0;I=+g[G+16>>2];o=+g[G+20>>2];p=+g[G+24>>2];v=+g[G+32>>2];x=+g[G+36>>2];z=+g[G+40>>2];O=+g[G+48>>2];s=+g[G+52>>2];B=+g[G+56>>2];w=+g[i+52>>2];y=+g[i+56>>2];D=+g[i+60>>2];L=+g[G>>2]*w+ +g[G+4>>2]*y+ +g[G+8>>2]*D;g[H+152>>2]=L;g[H+152+4>>2]=I*w+o*y+p*D;g[H+152+8>>2]=v*w+x*y+z*D;B=O*w+s*y+B*D+ +g[i+68>>2];g[H+152+12>>2]=B;Pb[c[(c[f>>2]|0)+8>>2]&127](f,H+216|0,H+88|0,H+88+16|0);s=+ib[c[(c[i>>2]|0)+48>>2]&15](i);O=+g[H+88>>2]-s;g[H+88>>2]=O;K=+g[H+88+4>>2]-s;g[H+88+4>>2]=K;q=+g[H+88+8>>2]-s;g[H+88+8>>2]=q;M=s+ +g[H+88+16>>2];g[H+88+16>>2]=M;J=s+ +g[H+88+20>>2];g[H+88+20>>2]=J;s=s+ +g[H+88+24>>2];g[H+88+24>>2]=s;C=(O+M)*.5*L+(K+J)*.5*(I*w+o*y+p*D)+(q+s)*.5*(v*w+x*y+z*D);D=(M-(O+M)*.5)*+A(+L)+(J-(K+J)*.5)*+A(+(I*w+o*y+p*D))+(s-(q+s)*.5)*+A(+(v*w+x*y+z*D));if(B+9.999999974752427e-07>=C-D&!(B>C+D+9.999999974752427e-07)){Db[c[(c[f>>2]|0)+112>>2]&511](f);v=+ib[c[(c[f>>2]|0)+48>>2]&15](f);v=v+ +ib[c[(c[i>>2]|0)+48>>2]&15](i);m=c[f+188>>2]|0;if(m|0)do{m=m+-1|0;n=(c[f+184>>2]|0)+(N(c[f+196>>2]|0,m)|0)|0;if((c[f+192>>2]|0)==1){p=+h[n>>3]*+g[f+160>>2];g[H+24>>2]=p;q=+h[n+8>>3]*+g[f+164>>2];g[H+24+4>>2]=q;o=+h[n+16>>3]*+g[f+168>>2]}else{p=+g[n>>2]*+g[f+160>>2];g[H+24>>2]=p;q=+g[n+4>>2]*+g[f+164>>2];g[H+24+4>>2]=q;o=+g[n+8>>2]*+g[f+168>>2]}M=p*+g[H+216>>2]+q*+g[H+216+4>>2]+o*+g[H+216+8>>2]+ +g[H+216+48>>2];O=p*+g[H+216+16>>2]+q*+g[H+216+20>>2]+o*+g[H+216+24>>2]+ +g[H+216+52>>2];s=p*+g[H+216+32>>2]+q*+g[H+216+36>>2]+o*+g[H+216+40>>2]+ +g[H+216+56>>2];g[H+24>>2]=M;g[H+24+4>>2]=O;g[H+24+8>>2]=s;g[H+24+12>>2]=0.0;o=+g[H+152>>2];p=+g[H+152+4>>2];q=+g[H+152+8>>2];s=M*o+O*p+s*q-+g[H+152+12>>2]-v;do if(s<0.0)if(k){g[H>>2]=-o;g[H+4>>2]=-p;g[H+8>>2]=-q;g[H+12>>2]=0.0;n=c[b+16>>2]|0;Mb[c[(c[n>>2]|0)+8>>2]&127](n,c[b+28>>2]|0,c[b+24>>2]|0);n=c[b+16>>2]|0;Mb[c[(c[n>>2]|0)+12>>2]&127](n,c[b+36>>2]|0,c[b+32>>2]|0);n=c[b+12>>2]|0;if(!n){n=c[b+4>>2]|0;n=wb[c[(c[n>>2]|0)+12>>2]&63](n,c[e+8>>2]|0,c[d+8>>2]|0)|0;c[b+12>>2]=n}G=c[b+16>>2]|0;c[G+4>>2]=n;Nb[c[(c[G>>2]|0)+16>>2]&15](G,H,H+24|0,s);break}else{n=c[b+16>>2]|0;Mb[c[(c[n>>2]|0)+8>>2]&127](n,c[b+28>>2]|0,c[b+24>>2]|0);n=c[b+16>>2]|0;Mb[c[(c[n>>2]|0)+12>>2]&127](n,c[b+36>>2]|0,c[b+32>>2]|0);n=c[b+12>>2]|0;if(!n){n=c[b+4>>2]|0;n=wb[c[(c[n>>2]|0)+12>>2]&63](n,c[d+8>>2]|0,c[e+8>>2]|0)|0;c[b+12>>2]=n}G=c[b+16>>2]|0;c[G+4>>2]=n;Nb[c[(c[G>>2]|0)+16>>2]&15](G,H+152|0,H+24|0,s);break}while(0)}while((m|0)!=0);Db[c[(c[f>>2]|0)+116>>2]&511](f)}l=H;return}if((m|0)==31){m=c[e+12>>2]|0;o=+g[m>>2];y=+g[m+4>>2];z=+g[m+8>>2];B=+g[m+16>>2];C=+g[m+20>>2];D=+g[m+24>>2];p=+g[m+32>>2];q=+g[m+36>>2];s=+g[m+40>>2];v=+g[m+48>>2];w=+g[m+52>>2];x=+g[m+56>>2];m=c[i+20>>2]|0;if(!m){l=H;return}do{m=m+-1|0;G=c[i+28>>2]|0;u=c[G+(m*80|0)+64>>2]|0;U=+g[G+(m*80|0)>>2];T=+g[G+(m*80|0)+16>>2];S=+g[G+(m*80|0)+32>>2];R=+g[G+(m*80|0)+4>>2];Q=+g[G+(m*80|0)+20>>2];P=+g[G+(m*80|0)+36>>2];I=+g[G+(m*80|0)+8>>2];J=+g[G+(m*80|0)+24>>2];K=+g[G+(m*80|0)+40>>2];L=+g[G+(m*80|0)+48>>2];M=+g[G+(m*80|0)+52>>2];O=+g[G+(m*80|0)+56>>2];g[H+216>>2]=o*U+y*T+z*S;g[H+216+4>>2]=o*R+y*Q+z*P;g[H+216+8>>2]=o*I+y*J+z*K;g[H+216+12>>2]=0.0;g[H+216+16>>2]=B*U+C*T+D*S;g[H+216+20>>2]=B*R+C*Q+D*P;g[H+216+24>>2]=B*I+C*J+D*K;g[H+216+28>>2]=0.0;g[H+216+32>>2]=p*U+q*T+s*S;g[H+216+36>>2]=p*R+q*Q+s*P;g[H+216+40>>2]=p*I+q*J+s*K;g[H+216+44>>2]=0.0;g[H+216+48>>2]=v+(o*L+y*M+z*O);g[H+216+52>>2]=w+(B*L+C*M+D*O);g[H+216+56>>2]=x+(p*L+q*M+s*O);g[H+216+60>>2]=0.0;G=c[e+8>>2]|0;c[H+152>>2]=e;c[H+152+4>>2]=u;c[H+152+8>>2]=G;c[H+152+12>>2]=H+216;c[H+152+16>>2]=-1;c[H+152+20>>2]=m;t=c[b+16>>2]|0;n=c[t+8>>2]|0;if((c[n+8>>2]|0)==(G|0)){r=n;n=t+8|0}else{r=c[t+12>>2]|0;n=t+12|0}c[n>>2]=H+152;lc(b,d,H+152|0,f,u,k);G=c[b+16>>2]|0;c[((c[(c[G+8>>2]|0)+8>>2]|0)==(c[H+152+8>>2]|0)?G+8|0:G+12|0)>>2]=r}while((m|0)!=0);l=H;return}if((m+-21|0)>>>0<9){c[H+216>>2]=10884;c[H+216+4>>2]=b;c[H+216+8>>2]=d;c[H+216+12>>2]=e;c[H+216+16>>2]=f;a[H+216+20>>0]=k&1;g[H+216+24>>2]=+ib[c[(c[i>>2]|0)+48>>2]&15](i);e=c[e+12>>2]|0;B=+g[e>>2];C=+g[e+16>>2];D=+g[e+32>>2];I=+g[e+4>>2];J=+g[e+20>>2];K=+g[e+36>>2];P=+g[e+8>>2];R=+g[e+24>>2];T=+g[e+40>>2];L=-+g[e+48>>2];M=-+g[e+52>>2];O=-+g[e+56>>2];e=c[d+12>>2]|0;o=+g[e>>2];p=+g[e+16>>2];q=+g[e+32>>2];s=+g[e+4>>2];v=+g[e+20>>2];w=+g[e+36>>2];x=+g[e+8>>2];y=+g[e+24>>2];z=+g[e+40>>2];Q=+g[e+48>>2];S=+g[e+52>>2];U=+g[e+56>>2];g[H+152>>2]=B*o+C*p+D*q;g[H+152+4>>2]=B*s+C*v+D*w;g[H+152+8>>2]=B*x+C*y+D*z;g[H+152+12>>2]=0.0;g[H+152+16>>2]=I*o+J*p+K*q;g[H+152+20>>2]=I*s+J*v+K*w;g[H+152+24>>2]=I*x+J*y+K*z;g[H+152+28>>2]=0.0;g[H+152+32>>2]=P*o+R*p+T*q;g[H+152+36>>2]=P*s+R*v+T*w;g[H+152+40>>2]=P*x+R*y+T*z;g[H+152+44>>2]=0.0;g[H+152+48>>2]=B*L+C*M+D*O+(B*Q+C*S+D*U);g[H+152+52>>2]=I*L+J*M+K*O+(I*Q+J*S+K*U);g[H+152+56>>2]=P*L+R*M+T*O+(P*Q+R*S+T*U);g[H+152+60>>2]=0.0;Pb[c[(c[f>>2]|0)+8>>2]&127](f,H+152|0,H+88|0,H+24|0);Pb[c[(c[i>>2]|0)+64>>2]&127](i,H+216|0,H+88|0,H+24|0);l=H;return}u=c[d+12>>2]|0;c[H+88>>2]=c[u>>2];c[H+88+4>>2]=c[u+4>>2];c[H+88+8>>2]=c[u+8>>2];c[H+88+12>>2]=c[u+12>>2];m=H+88+16|0;c[m>>2]=c[u+16>>2];c[m+4>>2]=c[u+16+4>>2];c[m+8>>2]=c[u+16+8>>2];c[m+12>>2]=c[u+16+12>>2];n=H+88+32|0;c[n>>2]=c[u+32>>2];c[n+4>>2]=c[u+32+4>>2];c[n+8>>2]=c[u+32+8>>2];c[n+12>>2]=c[u+32+12>>2];c[H+88+48>>2]=c[u+48>>2];c[H+88+48+4>>2]=c[u+48+4>>2];c[H+88+48+8>>2]=c[u+48+8>>2];c[H+88+48+12>>2]=c[u+48+12>>2];u=c[e+12>>2]|0;c[H+24>>2]=c[u>>2];c[H+24+4>>2]=c[u+4>>2];c[H+24+8>>2]=c[u+8>>2];c[H+24+12>>2]=c[u+12>>2];c[H+24+16>>2]=c[u+16>>2];c[H+24+16+4>>2]=c[u+16+4>>2];c[H+24+16+8>>2]=c[u+16+8>>2];c[H+24+16+12>>2]=c[u+16+12>>2];c[H+24+32>>2]=c[u+32>>2];c[H+24+32+4>>2]=c[u+32+4>>2];c[H+24+32+8>>2]=c[u+32+8>>2];c[H+24+32+12>>2]=c[u+32+12>>2];c[H+24+48>>2]=c[u+48>>2];c[H+24+48+4>>2]=c[u+48+4>>2];c[H+24+48+8>>2]=c[u+48+8>>2];c[H+24+48+12>>2]=c[u+48+12>>2];a[H+16>>0]=1;c[H+12>>2]=0;c[H+4>>2]=0;c[H+8>>2]=0;if(!(c[f+72>>2]|0)){Pb[c[(c[i>>2]|0)+8>>2]&127](i,H+24|0,H+216|0,H+216+16|0);m=sb[c[(c[f>>2]|0)+88>>2]&127](f)|0;if(!m)m=0;else{i=m;m=0;n=0;r=0;do{i=i+-1|0;Tb[c[(c[f>>2]|0)+120>>2]&31](f,i,H+88|0,H+152|0,H+152+16|0);if(((((!(+g[H+216>>2]>+g[H+152+16>>2])?!(+g[H+216+16>>2]<+g[H+152>>2]):0)?!(+g[H+216+4>>2]>+g[H+152+20>>2]):0)?!(+g[H+216+20>>2]<+g[H+152+4>>2]):0)?!(+g[H+216+8>>2]>+g[H+152+24>>2]):0)?!(+g[H+216+24>>2]<+g[H+152+8>>2]):0){if((m|0)==(n|0)){u=(n|0)==0?1:n<<1;if((n|0)<(u|0)){if(!u)t=0;else{c[6897]=(c[6897]|0)+1;m=ec((u<<2|3)+16|0)|0;if(!m)m=0;else{c[(m+4+15&-16)+-4>>2]=m;m=m+4+15&-16}t=m;r=c[H+12>>2]|0}if((n|0)<=0)if(!r)m=n;else E=51;else{m=0;do{c[t+(m<<2)>>2]=c[r+(m<<2)>>2];m=m+1|0}while((m|0)!=(n|0));E=51}if((E|0)==51){E=0;c[6898]=(c[6898]|0)+1;md(c[r+-4>>2]|0);c[H+12>>2]=0;m=c[H+4>>2]|0}c[H+12>>2]=t;c[H+8>>2]=u;r=t;n=u}else m=n}c[r+(m<<2)>>2]=i;m=(c[H+4>>2]|0)+1|0;c[H+4>>2]=m}}while((i|0)!=0);a[H+16>>0]=1}}else{X=c[H+88>>2]|0;W=c[m>>2]|0;V=c[n>>2]|0;n=c[H+88+4>>2]|0;r=c[H+88+20>>2]|0;t=c[H+88+36>>2]|0;u=c[H+88+8>>2]|0;E=c[H+88+24>>2]|0;m=c[H+88+40>>2]|0;O=-+g[H+88+48>>2];M=-+g[H+88+52>>2];L=-+g[H+88+56>>2];x=(c[j>>2]=X,+g[j>>2]);y=(c[j>>2]=W,+g[j>>2]);z=(c[j>>2]=V,+g[j>>2]);B=(c[j>>2]=n,+g[j>>2]);C=(c[j>>2]=r,+g[j>>2]);D=(c[j>>2]=t,+g[j>>2]);Q=(c[j>>2]=u,+g[j>>2]);S=(c[j>>2]=E,+g[j>>2]);U=(c[j>>2]=m,+g[j>>2]);c[H+152>>2]=X;c[H+152+4>>2]=W;c[H+152+8>>2]=V;g[H+152+12>>2]=0.0;c[H+152+16>>2]=n;c[H+152+20>>2]=r;c[H+152+24>>2]=t;g[H+152+28>>2]=0.0;c[H+152+32>>2]=u;c[H+152+36>>2]=E;c[H+152+40>>2]=m;g[H+152+44>>2]=0.0;g[H+152+60>>2]=0.0;K=+g[H+24+48>>2];J=+g[H+24+52>>2];I=+g[H+24+56>>2];g[H+152+48>>2]=x*O+y*M+z*L+(K*x+J*y+I*z);g[H+152+52>>2]=B*O+C*M+D*L+(K*B+J*C+I*D);g[H+152+56>>2]=Q*O+S*M+U*L+(K*Q+J*S+I*U);I=+g[H+24>>2];J=+g[H+24+16>>2];K=+g[H+24+32>>2];L=+g[H+24+4>>2];M=+g[H+24+20>>2];O=+g[H+24+36>>2];P=+g[H+24+8>>2];R=+g[H+24+24>>2];T=+g[H+24+40>>2];g[H+152>>2]=I*x+J*y+K*z;g[H+152+4>>2]=L*x+M*y+O*z;g[H+152+8>>2]=P*x+R*y+T*z;g[H+152+12>>2]=0.0;g[H+152+16>>2]=I*B+J*C+K*D;g[H+152+20>>2]=L*B+M*C+O*D;g[H+152+24>>2]=P*B+R*C+T*D;g[H+152+28>>2]=0.0;g[H+152+32>>2]=I*Q+J*S+K*U;g[H+152+36>>2]=L*Q+M*S+O*U;g[H+152+40>>2]=P*Q+R*S+T*U;g[H+152+44>>2]=0.0;Pb[c[(c[i>>2]|0)+8>>2]&127](i,H+152|0,H+216|0,H+216+16|0);Qe(f+72|0,H+216|0,H);m=c[H+4>>2]|0}if(m|0){Db[c[(c[f>>2]|0)+112>>2]&511](f);wh(H+216|0,f);u=sb[c[(c[f>>2]|0)+92>>2]&127](f)|0;m=m+-1|0;t=c[H+12>>2]|0;if(k)while(1){n=c[t+(m<<2)>>2]|0;c[b+32>>2]=n;r=c[H+216+300>>2]|0;r=ub[c[c[r>>2]>>2]&31](r,n)|0;if(u)Mb[c[(c[f>>2]|0)+132>>2]&127](H+152|0,f,n);V=c[d+8>>2]|0;k=c[d+12>>2]|0;X=c[b+28>>2]|0;W=c[b+24>>2]|0;c[H+152>>2]=d;c[H+152+4>>2]=r;c[H+152+8>>2]=V;c[H+152+12>>2]=k;c[H+152+16>>2]=X;c[H+152+20>>2]=W;W=c[b+16>>2]|0;X=c[W+8>>2]|0;c[((c[X+8>>2]|0)==(V|0)?W+8|0:W+12|0)>>2]=H+152;Ti(b,e,H+152|0);c[(c[b+16>>2]|0)+8>>2]=X;if(!m)break;else m=m+-1|0}else while(1){n=c[t+(m<<2)>>2]|0;c[b+24>>2]=n;r=c[H+216+300>>2]|0;r=ub[c[c[r>>2]>>2]&31](r,n)|0;if(u)Mb[c[(c[f>>2]|0)+132>>2]&127](H+152|0,f,n);V=c[d+8>>2]|0;k=c[d+12>>2]|0;X=c[b+28>>2]|0;W=c[b+24>>2]|0;c[H+152>>2]=d;c[H+152+4>>2]=r;c[H+152+8>>2]=V;c[H+152+12>>2]=k;c[H+152+16>>2]=X;c[H+152+20>>2]=W;W=c[b+16>>2]|0;X=c[W+8>>2]|0;c[((c[X+8>>2]|0)==(V|0)?W+8|0:W+12|0)>>2]=H+152;Ti(b,H+152|0,e);c[(c[b+16>>2]|0)+8>>2]=X;if(!m)break;else m=m+-1|0}Db[c[(c[f>>2]|0)+116>>2]&511](f);c[H+216+112>>2]=10024;m=c[H+216+168>>2]|0;if(m|0?(Db[c[c[m>>2]>>2]&511](m),F=c[H+216+168>>2]|0,F|0):0){c[6898]=(c[6898]|0)+1;md(c[F+-4>>2]|0)}c[H+216+4>>2]=10024;m=c[H+216+60>>2]|0;if(m|0?(Db[c[c[m>>2]>>2]&511](m),G=c[H+216+60>>2]|0,G|0):0){c[6898]=(c[6898]|0)+1;md(c[G+-4>>2]|0)}}m=c[H+12>>2]|0;if(m|0){if(a[H+16>>0]|0){c[6898]=(c[6898]|0)+1;md(c[m+-4>>2]|0)}c[H+12>>2]=0}l=H;return}function mc(b,d,e,f,h){b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;var i=0.0,j=0.0,k=0.0,m=0.0,n=0.0,o=0.0,p=0.0,q=0.0,r=0.0,s=0.0,t=0.0,u=0.0,v=0.0,w=0.0,x=0.0,y=0.0,z=0.0,C=0.0,F=0.0,H=0.0,I=0.0,K=0.0,L=0.0,M=0.0,N=0.0,O=0.0,P=0.0,Q=0,R=0.0,S=0.0,T=0.0,U=0.0,V=0.0,W=0.0,X=0.0,Y=0.0,Z=0.0,_=0.0,$=0.0,aa=0.0,ba=0.0,ca=0.0,da=0.0,ea=0.0,fa=0.0,ga=0.0,ha=0.0,ia=0.0,ja=0.0,ka=0.0,la=0.0,ma=0.0,na=0,oa=0.0,pa=0.0,qa=0.0,ra=0.0,sa=0.0;na=l;l=l+80|0;g[b+504>>2]=0.0;g[b+500>>2]=0.0;a[b+525>>0]=0;a[b+526>>0]=0;if(a[b+552>>0]|0?(a[b+527>>0]|0)==0:0){sa=+g[b+556>>2];qa=+g[b+560>>2];ma=+g[b+564>>2];pa=+g[b+568>>2];ba=sa*(2.0/(sa*sa+qa*qa+ma*ma+pa*pa));ra=qa*(2.0/(sa*sa+qa*qa+ma*ma+pa*pa));oa=ma*(2.0/(sa*sa+qa*qa+ma*ma+pa*pa));ca=+g[b+300>>2];U=+g[d>>2];da=+g[b+316>>2];V=+g[d+4>>2];ea=+g[b+332>>2];W=+g[d+8>>2];ga=+g[b+304>>2];ia=+g[b+320>>2];ka=+g[b+336>>2];_=+g[b+308>>2];$=+g[b+324>>2];aa=+g[b+340>>2];X=+g[d+16>>2];Y=+g[d+20>>2];Z=+g[d+24>>2];ha=+g[d+32>>2];ja=+g[d+36>>2];la=+g[d+40>>2];s=+g[b+348>>2];r=+g[b+352>>2];q=+g[b+356>>2];w=+g[b+364>>2];m=+g[e>>2];x=+g[b+380>>2];n=+g[e+4>>2];y=+g[b+396>>2];k=+g[e+8>>2];z=+g[b+368>>2];C=+g[b+384>>2];F=+g[b+400>>2];t=+g[b+372>>2];u=+g[b+388>>2];v=+g[b+404>>2];o=+g[e+16>>2];p=+g[e+20>>2];j=+g[e+24>>2];H=+g[e+32>>2];K=+g[e+36>>2];M=+g[e+40>>2];I=+g[b+412>>2];L=+g[b+416>>2];i=+g[b+420>>2];O=(1.0-(qa*ra+ma*oa))*(w*m+x*n+y*k)+(sa*ra+pa*oa)*(m*z+n*C+k*F)+(sa*oa-pa*ra)*(m*t+n*u+k*v);P=(sa*ra-pa*oa)*(w*m+x*n+y*k)+(1.0-(sa*ba+ma*oa))*(m*z+n*C+k*F)+(qa*oa+pa*ba)*(m*t+n*u+k*v);N=(sa*oa+pa*ra)*(w*m+x*n+y*k)+(qa*oa-pa*ba)*(m*z+n*C+k*F)+(1.0-(sa*ba+qa*ra))*(m*t+n*u+k*v);S=(sa*oa-pa*ra)*(t*o+u*p+v*j)+((1.0-(qa*ra+ma*oa))*(w*o+x*p+y*j)+(sa*ra+pa*oa)*(z*o+C*p+F*j));T=(qa*oa+pa*ba)*(t*o+u*p+v*j)+((sa*ra-pa*oa)*(w*o+x*p+y*j)+(1.0-(sa*ba+ma*oa))*(z*o+C*p+F*j));R=(1.0-(sa*ba+qa*ra))*(t*o+u*p+v*j)+((sa*oa+pa*ra)*(w*o+x*p+y*j)+(qa*oa-pa*ba)*(z*o+C*p+F*j));fa=(sa*oa-pa*ra)*(t*H+u*K+v*M)+((1.0-(qa*ra+ma*oa))*(w*H+x*K+y*M)+(sa*ra+pa*oa)*(z*H+C*K+F*M));ma=(qa*oa+pa*ba)*(t*H+u*K+v*M)+((sa*ra-pa*oa)*(w*H+x*K+y*M)+(1.0-(sa*ba+ma*oa))*(z*H+C*K+F*M));ba=(1.0-(sa*ba+qa*ra))*(t*H+u*K+v*M)+((sa*oa+pa*ra)*(w*H+x*K+y*M)+(qa*oa-pa*ba)*(z*H+C*K+F*M));pa=-(+g[d+48>>2]+(U*s+V*r+W*q));oa=-(X*s+Y*r+Z*q+ +g[d+52>>2]);q=-(ha*s+ja*r+la*q+ +g[d+56>>2]);r=(ca*U+da*V+ea*W)*pa+(ca*X+da*Y+ea*Z)*oa+(ca*ha+da*ja+ea*la)*q;s=(U*ga+V*ia+W*ka)*pa+(ga*X+ia*Y+ka*Z)*oa+(ga*ha+ia*ja+ka*la)*q;q=(U*_+V*$+W*aa)*pa+(_*X+$*Y+aa*Z)*oa+(_*ha+$*ja+aa*la)*q;k=q*N+(r*O+s*P)+((w*m+x*n+y*k)*0.0+(m*z+n*C+k*F)*0.0+(m*t+n*u+k*v)*0.0+(+g[e+48>>2]+(m*I+n*L+k*i)));j=q*R+(r*S+s*T)+((t*o+u*p+v*j)*0.0+((w*o+x*p+y*j)*0.0+(z*o+C*p+F*j)*0.0)+(o*I+p*L+j*i+ +g[e+52>>2]));i=q*ba+(r*fa+s*ma)+((t*H+u*K+v*M)*0.0+((w*H+x*K+y*M)*0.0+(z*H+C*K+F*M)*0.0)+(H*I+K*L+M*i+ +g[e+56>>2]));g[na+16>>2]=(U*_+V*$+W*aa)*N+((ca*U+da*V+ea*W)*O+(U*ga+V*ia+W*ka)*P);g[na+16+4>>2]=(_*X+$*Y+aa*Z)*N+((ca*X+da*Y+ea*Z)*O+(ga*X+ia*Y+ka*Z)*P);g[na+16+8>>2]=(_*ha+$*ja+aa*la)*N+((ca*ha+da*ja+ea*la)*O+(ga*ha+ia*ja+ka*la)*P);g[na+16+12>>2]=0.0;g[na+16+16>>2]=(U*_+V*$+W*aa)*R+((ca*U+da*V+ea*W)*S+(U*ga+V*ia+W*ka)*T);g[na+16+20>>2]=(_*X+$*Y+aa*Z)*R+((ca*X+da*Y+ea*Z)*S+(ga*X+ia*Y+ka*Z)*T);g[na+16+24>>2]=(_*ha+$*ja+aa*la)*R+((ca*ha+da*ja+ea*la)*S+(ga*ha+ia*ja+ka*la)*T);g[na+16+28>>2]=0.0;g[na+16+32>>2]=(U*_+V*$+W*aa)*ba+((ca*U+da*V+ea*W)*fa+(U*ga+V*ia+W*ka)*ma);g[na+16+36>>2]=(_*X+$*Y+aa*Z)*ba+((ca*X+da*Y+ea*Z)*fa+(ga*X+ia*Y+ka*Z)*ma);g[na+16+40>>2]=(_*ha+$*ja+aa*la)*ba+((ca*ha+da*ja+ea*la)*fa+(ga*ha+ia*ja+ka*la)*ma);g[na+16+44>>2]=0.0;g[na+16+48>>2]=k;g[na+16+52>>2]=j;g[na+16+56>>2]=i;g[na+16+60>>2]=0.0;Rg(na+16|0,na);i=+g[na>>2];j=+g[na+4>>2];k=+g[na+8>>2];if(!(+A(+(i*i+j*j+k*k))<1.1920928955078125e-07)?(g[b+472>>2]=0.0,sa=1.0/+B(+(i*i+j*j+k*k)),g[b+460>>2]=sa*i,g[b+464>>2]=sa*j,g[b+468>>2]=sa*k,sa=+g[na+12>>2],sa=sa<-1.0?-1.0:sa,sa=+G(+(sa>1.0?1.0:sa))*2.0,g[b+504>>2]=sa,!(+A(+sa)<1.1920928955078125e-07)):0)a[b+526>>0]=1;l=na;return}Rg(d,na+16|0);Rg(b+300|0,na);W=+g[na+16+12>>2];X=+g[na>>2];Y=+g[na+16>>2];Z=+g[na+12>>2];_=+g[na+16+4>>2];$=+g[na+8>>2];aa=+g[na+16+8>>2];ba=+g[na+4>>2];Rg(e,na+16|0);Rg(b+364|0,na);ca=+g[na+16+12>>2];da=+g[na>>2];ea=+g[na+16>>2];fa=+g[na+12>>2];ga=+g[na+16+4>>2];ha=+g[na+8>>2];ia=+g[na+16+8>>2];ja=+g[na+4>>2];ka=-(ca*da+ea*fa+ga*ha-ia*ja);la=-(da*ia+(fa*ga+ca*ja)-ea*ha);ma=-(ca*ha+fa*ia+ea*ja-da*ga);s=(W*Z-X*Y-_*ba-$*aa)*ka+(W*X+Y*Z+_*$-aa*ba)*(ca*fa-da*ea-ga*ja-ha*ia)+(W*$+Z*aa+Y*ba-X*_)*la-(X*aa+(Z*_+W*ba)-Y*$)*ma;t=(W*X+Y*Z+_*$-aa*ba)*ma+((X*aa+(Z*_+W*ba)-Y*$)*(ca*fa-da*ea-ga*ja-ha*ia)+(W*Z-X*Y-_*ba-$*aa)*la)-(W*$+Z*aa+Y*ba-X*_)*ka;u=(X*aa+(Z*_+W*ba)-Y*$)*ka+((W*$+Z*aa+Y*ba-X*_)*(ca*fa-da*ea-ga*ja-ha*ia)+(W*Z-X*Y-_*ba-$*aa)*ma)-(W*X+Y*Z+_*$-aa*ba)*la;v=(W*Z-X*Y-_*ba-$*aa)*(ca*fa-da*ea-ga*ja-ha*ia)-(W*X+Y*Z+_*$-aa*ba)*ka-(X*aa+(Z*_+W*ba)-Y*$)*la-(W*$+Z*aa+Y*ba-X*_)*ma;k=+g[6536];i=+g[6538];m=+g[6537];n=(k*u+m*v-i*s)*-u+(v*(k*v+i*t-m*u)+(-(k*s)-m*t-i*u)*-s)-(i*v+m*s-k*t)*-t;o=(i*v+m*s-k*t)*-s+(v*(k*u+m*v-i*s)+(-(k*s)-m*t-i*u)*-t)-(k*v+i*t-m*u)*-u;j=(k*v+i*t-m*u)*-t+(v*(i*v+m*s-k*t)+(-(k*s)-m*t-i*u)*-u)-(k*u+m*v-i*s)*-s;p=1.0/+B(+(j*j+(n*n+o*o)));do if(i*j*p+(m*o*p+k*n*p)<-.9999998807907104)if(+A(+i)>.7071067690849304){j=1.0/+B(+(i*i+m*m));r=-(i*j);q=0.0;i=m*j;j=0.0;break}else{q=1.0/+B(+(k*k+m*m));r=k*q;q=-(m*q);i=0.0;j=0.0;break}else{sa=+B(+((i*j*p+(m*o*p+k*n*p)+1.0)*2.0));r=(i*n*p-k*j*p)*(1.0/sa);q=(m*j*p-i*o*p)*(1.0/sa);i=(k*o*p-m*n*p)*(1.0/sa);j=sa*.5}while(0);k=1.0/+B(+(q*q+r*r+i*i+j*j));m=q*k;q=r*k;p=i*k;k=j*k;U=1.0/+B(+((v*k-s*-m-t*-q-u*-p)*(v*k-s*-m-t*-q-u*-p)+((t*-m+(u*k+v*-p)-s*-q)*(t*-m+(u*k+v*-p)-s*-q)+((u*-q+(s*k+v*-m)-t*-p)*(u*-q+(s*k+v*-m)-t*-p)+(s*-p+(v*-q+t*k)-u*-m)*(s*-p+(v*-q+t*k)-u*-m)))));V=(u*-q+(s*k+v*-m)-t*-p)*U;j=(s*-p+(v*-q+t*k)-u*-m)*U;i=(t*-m+(u*k+v*-p)-s*-q)*U;U=(v*k-s*-m-t*-q-u*-p)*U;T=+g[b+444>>2];t=+g[b+456>>2];if(T>=t?(w=+g[b+448>>2],w>=t):0){r=k<-1.0?-1.0:k;r=+G(+(r>1.0?1.0:r))*2.0;if(r>1.1920928955078125e-07){o=1.0/+B(+(p*p+(m*m+q*q)));if(+A(+(q*o))>1.1920928955078125e-07){n=m*o;m=p*o;k=q*o;p=+B(+((p*o*p*o/(q*o*q*o)+1.0)/(p*o*p*o/(q*o*q*o)/(T*T)+1.0/(w*w))))}else{n=m*o;m=p*o;k=q*o;p=T}}else{n=0.0;m=0.0;k=0.0;p=0.0}o=+g[b+428>>2];q=p*o;if(r>q){a[b+526>>0]=1;if(r<p&o<.9999998807907104)o=(r-q)/(p-q);else o=1.0;g[b+528>>2]=o;g[b+504>>2]=r-q;if(+A(+k)>1.1920928955078125e-07){sa=+A(+(k*w/T*(-m/k)));m=m<-0.0?sa:-sa;sa=1.0/+B(+(n*n+k*k+m*m));n=n*sa;m=-(m*sa);k=k*sa}ra=-n;qa=-k;oa=-m;T=(ca*fa-da*ea-ga*ja-ha*ia)*ra+(da*ia+(fa*ga+ca*ja)-ea*ha)*oa-(ca*ha+fa*ia+ea*ja-da*ga)*qa;sa=(ca*ha+fa*ia+ea*ja-da*ga)*ra+(ca*fa-da*ea-ga*ja-ha*ia)*qa-(ca*da+ea*fa+ga*ha-ia*ja)*oa;pa=(ca*da+ea*fa+ga*ha-ia*ja)*qa+(ca*fa-da*ea-ga*ja-ha*ia)*oa-(da*ia+(fa*ga+ca*ja)-ea*ha)*ra;oa=-((ca*da+ea*fa+ga*ha-ia*ja)*ra)-(da*ia+(fa*ga+ca*ja)-ea*ha)*qa-(ca*ha+fa*ia+ea*ja-da*ga)*oa;qa=sa*ma+(oa*ka+(ca*fa-da*ea-ga*ja-ha*ia)*T)-pa*la;ra=pa*ka+((ca*fa-da*ea-ga*ja-ha*ia)*sa+oa*la)-T*ma;sa=T*la+(oa*ma+(ca*fa-da*ea-ga*ja-ha*ia)*pa)-sa*ka;g[b+460>>2]=qa;g[b+464>>2]=ra;g[b+468>>2]=sa;g[b+472>>2]=0.0;c[b+536>>2]=0;c[b+536+4>>2]=0;c[b+536+8>>2]=0;c[b+536+12>>2]=0;g[b+492>>2]=1.0/(qa*(+g[f>>2]*qa+ +g[f+16>>2]*ra+ +g[f+32>>2]*sa)+ra*(qa*+g[f+4>>2]+ra*+g[f+20>>2]+sa*+g[f+36>>2])+sa*(qa*+g[f+8>>2]+ra*+g[f+24>>2]+sa*+g[f+40>>2])+(qa*(qa*+g[h>>2]+ra*+g[h+16>>2]+sa*+g[h+32>>2])+ra*(qa*+g[h+4>>2]+ra*+g[h+20>>2]+sa*+g[h+36>>2])+sa*(qa*+g[h+8>>2]+ra*+g[h+24>>2]+sa*+g[h+40>>2])))}}else Q=23;a:do if((Q|0)==23){K=+g[b+300>>2];L=+g[b+316>>2];M=+g[b+332>>2];q=+g[d>>2];r=+g[d+4>>2];s=+g[d+8>>2];u=+g[d+16>>2];v=+g[d+20>>2];w=+g[d+24>>2];N=+g[d+32>>2];O=+g[d+36>>2];x=+g[d+40>>2];y=+g[b+304>>2];z=+g[b+320>>2];C=+g[b+336>>2];F=+g[b+308>>2];H=+g[b+324>>2];I=+g[b+340>>2];n=+g[b+364>>2];p=+g[b+380>>2];P=+g[b+396>>2];R=n*+g[e>>2]+p*+g[e+4>>2]+P*+g[e+8>>2];S=n*+g[e+16>>2]+p*+g[e+20>>2]+P*+g[e+24>>2];P=n*+g[e+32>>2]+p*+g[e+36>>2]+P*+g[e+40>>2];p=(K*q+L*r+M*s)*R+(K*u+L*v+M*w)*S+(K*N+L*O+M*x)*P;n=(q*y+r*z+s*C)*R+(u*y+v*z+w*C)*S+(N*y+O*z+x*C)*P;m=(q*F+r*H+s*I)*R+(u*F+v*H+w*I)*S+(N*F+O*H+x*I)*P;do if(T<t){o=+g[b+448>>2];if(o<t){if(+A(+n)<1.1920928955078125e-07&+A(+m)<1.1920928955078125e-07)break a;a[b+526>>0]=1;g[b+460>>2]=-((K*N+L*O+M*x)*S-(K*u+L*v+M*w)*P);g[b+464>>2]=-((K*q+L*r+M*s)*P-(K*N+L*O+M*x)*R);g[b+468>>2]=-((K*u+L*v+M*w)*R-(K*q+L*r+M*s)*S);g[b+472>>2]=0.0;break a}if(!(+A(+p)<1.1920928955078125e-07&+A(+m)<1.1920928955078125e-07)?(a[b+526>>0]=1,o>=t):0){k=+J(+m,+p);if(k>o){m=+E(+o);n=0.0;k=+D(+o);break}if(k<-o){m=-+E(+o);n=0.0;k=+D(+o)}else{n=0.0;k=p}}else k=p}else if(!(+A(+p)<1.1920928955078125e-07&+A(+n)<1.1920928955078125e-07)?(a[b+526>>0]=1,T>=t):0){k=+J(+n,+p);if(k>T){m=0.0;n=+E(+T);k=+D(+T);break}if(k<-T){m=0.0;n=-+E(+T);k=+D(+T)}else{m=0.0;k=p}}else k=p;while(0);p=(q*F+r*H+s*I)*m+((q*y+r*z+s*C)*n+(K*q+L*r+M*s)*k);o=(u*F+v*H+w*I)*m+((u*y+v*z+w*C)*n+(K*u+L*v+M*w)*k);k=(N*F+O*H+x*I)*m+((N*y+O*z+x*C)*n+(K*N+L*O+M*x)*k);m=1.0/+B(+(k*k+(p*p+o*o)));g[b+460>>2]=-(S*k*m-P*o*m);g[b+464>>2]=-(P*p*m-R*k*m);g[b+468>>2]=-(R*o*m-S*p*m);g[b+472>>2]=0.0;n=+B(+((S*k*m-P*o*m)*(S*k*m-P*o*m)+(P*p*m-R*k*m)*(P*p*m-R*k*m)+(R*o*m-S*p*m)*(R*o*m-S*p*m)));g[b+504>>2]=n;if(!(+A(+n)<1.1920928955078125e-07)){g[b+460>>2]=1.0/n*-(S*k*m-P*o*m);g[b+464>>2]=1.0/n*-(P*p*m-R*k*m);g[b+468>>2]=1.0/n*-(R*o*m-S*p*m)}}while(0);p=+g[b+452>>2];if(!(p>=0.0)){g[b+512>>2]=0.0;l=na;return}m=U<-1.0?-1.0:U;m=+G(+(m>1.0?1.0:m))*2.0;if(m>3.1415927410125732){o=-U<-1.0?-1.0:-U;k=-V;j=-j;i=-i;o=+G(+(o>1.0?1.0:o))*2.0}else{k=V;o=m}g[b+512>>2]=o;if(o>1.1920928955078125e-07){sa=1.0/+B(+(k*k+j*j+i*i));k=k*sa;n=i*sa;j=j*sa}else n=i;i=+g[b+428>>2];if(o>p*i){a[b+525>>0]=1;m=o-p*i;if(o<p&i<.9999998807907104)i=m/(p-p*i);else i=1.0;g[b+532>>2]=i;g[b+508>>2]=m;ra=-k;qa=-j;oa=-n;V=(ca*fa-da*ea-ga*ja-ha*ia)*ra+(da*ia+(fa*ga+ca*ja)-ea*ha)*oa-(ca*ha+fa*ia+ea*ja-da*ga)*qa;sa=(ca*ha+fa*ia+ea*ja-da*ga)*ra+(ca*fa-da*ea-ga*ja-ha*ia)*qa-(ca*da+ea*fa+ga*ha-ia*ja)*oa;pa=(ca*da+ea*fa+ga*ha-ia*ja)*qa+(ca*fa-da*ea-ga*ja-ha*ia)*oa-(da*ia+(fa*ga+ca*ja)-ea*ha)*ra;oa=-((ca*da+ea*fa+ga*ha-ia*ja)*ra)-(da*ia+(fa*ga+ca*ja)-ea*ha)*qa-(ca*ha+fa*ia+ea*ja-da*ga)*oa;qa=sa*ma+(oa*ka+(ca*fa-da*ea-ga*ja-ha*ia)*V)-pa*la;ra=pa*ka+((ca*fa-da*ea-ga*ja-ha*ia)*sa+oa*la)-V*ma;sa=V*la+(oa*ma+(ca*fa-da*ea-ga*ja-ha*ia)*pa)-sa*ka;g[b+476>>2]=qa;g[b+480>>2]=ra;g[b+484>>2]=sa;g[b+488>>2]=0.0;g[b+496>>2]=1.0/(qa*(+g[f>>2]*qa+ +g[f+16>>2]*ra+ +g[f+32>>2]*sa)+ra*(qa*+g[f+4>>2]+ra*+g[f+20>>2]+sa*+g[f+36>>2])+sa*(qa*+g[f+8>>2]+ra*+g[f+24>>2]+sa*+g[f+40>>2])+(qa*(qa*+g[h>>2]+ra*+g[h+16>>2]+sa*+g[h+32>>2])+ra*(qa*+g[h+4>>2]+ra*+g[h+20>>2]+sa*+g[h+36>>2])+sa*(qa*+g[h+8>>2]+ra*+g[h+24>>2]+sa*+g[h+40>>2])))}if(!(a[b+526>>0]|0)){l=na;return}ma=-k;sa=-j;oa=-n;la=(W*Z-X*Y-_*ba-$*aa)*ma+(X*aa+(Z*_+W*ba)-Y*$)*oa-(W*$+Z*aa+Y*ba-X*_)*sa;ra=(W*$+Z*aa+Y*ba-X*_)*ma+(W*Z-X*Y-_*ba-$*aa)*sa-(W*X+Y*Z+_*$-aa*ba)*oa;qa=(W*X+Y*Z+_*$-aa*ba)*sa+(W*Z-X*Y-_*ba-$*aa)*oa-(X*aa+(Z*_+W*ba)-Y*$)*ma;oa=-((W*X+Y*Z+_*$-aa*ba)*ma)-(X*aa+(Z*_+W*ba)-Y*$)*sa-(W*$+Z*aa+Y*ba-X*_)*oa;sa=-(W*X+Y*Z+_*$-aa*ba);ma=-(X*aa+(Z*_+W*ba)-Y*$);pa=-(W*$+Z*aa+Y*ba-X*_);g[b+536>>2]=ra*pa+(oa*sa+(W*Z-X*Y-_*ba-$*aa)*la)-qa*ma;g[b+540>>2]=qa*sa+((W*Z-X*Y-_*ba-$*aa)*ra+oa*ma)-la*pa;g[b+544>>2]=la*ma+(oa*pa+(W*Z-X*Y-_*ba-$*aa)*qa)-ra*sa;g[b+548>>2]=0.0;l=na;return}function nc(b,d){b=b|0;d=d|0;var e=0.0,f=0.0,h=0,i=0.0,j=0.0,k=0.0,l=0,m=0,n=0.0,o=0,p=0.0,q=0,r=0,s=0.0,t=0.0,u=0.0,v=0.0,w=0.0,x=0.0,y=0.0,z=0.0,A=0.0,C=0.0,D=0.0,E=0.0,F=0.0,G=0.0,H=0.0,I=0.0,J=0.0,K=0.0,L=0.0,M=0.0,N=0.0,O=0.0,P=0.0,Q=0.0,R=0,S=0,T=0.0,U=0.0,V=0.0,W=0.0,X=0.0,Y=0.0,Z=0.0,_=0.0,$=0.0,aa=0.0,ba=0.0,ca=0.0,da=0.0,ea=0.0,fa=0.0,ga=0.0,ha=0.0,ia=0.0,ja=0.0,ka=0.0,la=0.0,ma=0,na=0,oa=0;na=c[b+28>>2]|0;oa=c[b+32>>2]|0;ma=c[d+24>>2]|0;if(!(a[b+739>>0]|0)){k=+g[b+552>>2];T=+g[na+4>>2];n=+g[b+568>>2];U=+g[na+8>>2];p=+g[b+584>>2];V=+g[na+12>>2];s=+g[b+556>>2];t=+g[b+572>>2];u=+g[b+588>>2];W=+g[b+560>>2];X=+g[b+576>>2];Y=+g[b+592>>2];Z=+g[na+20>>2];_=+g[na+24>>2];$=+g[na+28>>2];aa=+g[na+36>>2];ba=+g[na+40>>2];ca=+g[na+44>>2];v=+g[b+600>>2];w=+g[b+604>>2];x=+g[b+608>>2];y=+g[na+52>>2];z=+g[na+56>>2];A=+g[na+60>>2];C=+g[oa+4>>2];D=+g[oa+8>>2];E=+g[oa+12>>2];F=+g[b+624>>2];G=+g[b+640>>2];H=+g[b+656>>2];I=+g[oa+20>>2];J=+g[oa+24>>2];K=+g[oa+28>>2];L=+g[oa+36>>2];M=+g[oa+40>>2];N=+g[oa+44>>2];ka=+g[b+664>>2];la=+g[b+668>>2];Q=+g[b+672>>2];O=+g[oa+52>>2]+(C*ka+D*la+E*Q);P=I*ka+J*la+K*Q+ +g[oa+56>>2];Q=L*ka+M*la+N*Q+ +g[oa+60>>2];l=(a[b+736>>0]|0)==0;if(l){h=c[d+8>>2]|0;g[h>>2]=1.0;g[h+(ma+1<<2)>>2]=1.0;g[h+((ma<<1)+2<<2)>>2]=1.0;h=c[d+16>>2]|0;g[h>>2]=-1.0;g[h+(ma+1<<2)>>2]=-1.0;g[h+((ma<<1)+2<<2)>>2]=-1.0;h=ma<<1;e=+g[na+52>>2];f=+g[na+56>>2];i=+g[na+60>>2]}else{h=ma<<1;e=y;f=z;i=A}j=y+(T*v+U*w+V*x)-e;e=Z*v+_*w+$*x+z-f;la=aa*v+ba*w+ca*x+A-i;m=c[d+12>>2]|0;r=m+(h<<2)|0;c[m>>2]=0;g[m+4>>2]=la;g[m+8>>2]=-e;g[m+12>>2]=0.0;g[m+(ma<<2)>>2]=-la;c[m+(ma<<2)+4>>2]=0;g[m+(ma<<2)+8>>2]=j;g[m+(ma<<2)+12>>2]=0.0;g[r>>2]=e;g[r+4>>2]=-j;c[r+8>>2]=0;g[r+12>>2]=0.0;j=O-+g[oa+52>>2];e=P-+g[oa+56>>2];la=Q-+g[oa+60>>2];r=c[d+20>>2]|0;S=r+(h<<2)|0;c[r>>2]=0;g[r+4>>2]=-la;g[r+8>>2]=e;g[r+12>>2]=0.0;g[r+(ma<<2)>>2]=la;c[r+(ma<<2)+4>>2]=0;g[r+(ma<<2)+8>>2]=-j;g[r+(ma<<2)+12>>2]=0.0;g[S>>2]=-e;g[S+4>>2]=j;c[S+8>>2]=0;g[S+12>>2]=0.0;S=c[b+748>>2]|0;j=+g[((S&8|0)==0?d+4|0:b+756|0)>>2];e=j*+g[d>>2];R=c[d+28>>2]|0;if(l){g[R>>2]=e*(O-(y+(T*v+U*w+V*x)));g[R+(ma<<2)>>2]=e*(P-(Z*v+_*w+$*x+z));g[R+(ma<<1<<2)>>2]=e*(Q-(aa*v+ba*w+ca*x+A))}g[m+(ma*3<<2)>>2]=k*T+n*U+p*V;g[m+((ma*3|0)+1<<2)>>2]=k*Z+n*_+p*$;g[m+((ma*3|0)+2<<2)>>2]=k*aa+n*ba+p*ca;g[m+(ma<<2<<2)>>2]=T*s+U*t+V*u;g[m+((ma<<2|1)<<2)>>2]=s*Z+t*_+u*$;g[m+((ma<<2|2)<<2)>>2]=s*aa+t*ba+u*ca;g[r+(ma*3<<2)>>2]=-(k*T+n*U+p*V);g[r+((ma*3|0)+1<<2)>>2]=-(k*Z+n*_+p*$);g[r+((ma*3|0)+2<<2)>>2]=-(k*aa+n*ba+p*ca);g[r+(ma<<2<<2)>>2]=-(T*s+U*t+V*u);g[r+((ma<<2|1)<<2)>>2]=-(s*Z+t*_+u*$);g[r+((ma<<2|2)<<2)>>2]=-(s*aa+t*ba+u*ca);ka=(W*Z+X*_+Y*$)*(F*L+G*M+H*N)-(W*aa+X*ba+Y*ca)*(F*I+G*J+H*K);la=(W*aa+X*ba+Y*ca)*(C*F+D*G+E*H)-(T*W+U*X+V*Y)*(F*L+G*M+H*N);ja=(T*W+U*X+V*Y)*(F*I+G*J+H*K)-(W*Z+X*_+Y*$)*(C*F+D*G+E*H);g[R+(ma*3<<2)>>2]=((k*aa+n*ba+p*ca)*ja+((k*T+n*U+p*V)*ka+(k*Z+n*_+p*$)*la))*e;g[R+(ma<<2<<2)>>2]=((s*aa+t*ba+u*ca)*ja+((T*s+U*t+V*u)*ka+(s*Z+t*_+u*$)*la))*e;if(!(a[b+716>>0]|0))if(!(a[b+737>>0]|0))return;else{p=0.0;q=0;o=0;h=1}else{la=+g[b+708>>2]*+g[b+732>>2];p=la;q=la>0.0?1:2;o=1;h=(a[b+737>>0]|0)!=0}g[m+(ma*5<<2)>>2]=T*W+U*X+V*Y;g[m+((ma*5|0)+1<<2)>>2]=W*Z+X*_+Y*$;g[m+((ma*5|0)+2<<2)>>2]=W*aa+X*ba+Y*ca;g[r+(ma*5<<2)>>2]=-(T*W+U*X+V*Y);g[r+((ma*5|0)+1<<2)>>2]=-(W*Z+X*_+Y*$);g[r+((ma*5|0)+2<<2)>>2]=-(W*aa+X*ba+Y*ca);e=+g[b+688>>2];f=+g[b+692>>2];if(!((e-f)%6.2831854820251465<-3.1415927410125732))if((e-f)%6.2831854820251465>3.1415927410125732)n=(e-f)%6.2831854820251465+-6.2831854820251465;else n=(e-f)%6.2831854820251465;else n=(e-f)%6.2831854820251465+6.2831854820251465;if(!((e+f)%6.2831854820251465<-3.1415927410125732))if((e+f)%6.2831854820251465>3.1415927410125732)k=(e+f)%6.2831854820251465+-6.2831854820251465;else k=(e+f)%6.2831854820251465;else k=(e+f)%6.2831854820251465+6.2831854820251465;l=n==k;m=R+(ma*5<<2)|0;g[m>>2]=0.0;if(S&2)j=+g[b+764>>2];if(h&(o&l^1)){if(S&4|0)c[(c[d+32>>2]|0)+(ma*5<<2)>>2]=c[b+752>>2];f=+g[b+728>>2];i=+g[b+680>>2];e=n>k?1.0:0.0;do if(!(n>=k)){e=i/(j*+g[d>>2]);if(e<0.0)if(f>=n&n-e>f){e=(n-f)/e;break}else{e=f<n?0.0:1.0;break}if(e>0.0)if(f<=k&k-e<f){e=(k-f)/e;break}else{e=f>k?0.0:1.0;break}else e=0.0}while(0);g[m>>2]=e*i*+g[b+732>>2]+ +g[m>>2];g[(c[d+36>>2]|0)+(ma*5<<2)>>2]=-+g[b+684>>2];c[(c[d+40>>2]|0)+(ma*5<<2)>>2]=c[b+684>>2]}if(!o)return;g[m>>2]=+g[m>>2]+p*j*+g[d>>2];if(S&1|0)c[(c[d+32>>2]|0)+(ma*5<<2)>>2]=c[b+760>>2];do if(!l){h=(c[d+36>>2]|0)+(ma*5<<2)|0;if((q|0)==1){g[h>>2]=0.0;e=3402823466385288598117041.0e14;break}else{g[h>>2]=-3402823466385288598117041.0e14;e=0.0;break}}else{g[(c[d+36>>2]|0)+(ma*5<<2)>>2]=-3402823466385288598117041.0e14;e=3402823466385288598117041.0e14}while(0);g[(c[d+40>>2]|0)+(ma*5<<2)>>2]=e;f=+g[b+704>>2];do if(f>0.0){e=(T*W+U*X+V*Y)*+g[na+388>>2]+(W*Z+X*_+Y*$)*+g[na+392>>2]+(W*aa+X*ba+Y*ca)*+g[na+396>>2]-((T*W+U*X+V*Y)*+g[oa+388>>2]+(W*Z+X*_+Y*$)*+g[oa+392>>2]+(W*aa+X*ba+Y*ca)*+g[oa+396>>2]);if((q|0)==1){if(!(e<0.0))break;if(!(+g[m>>2]<-(f*e)))break;g[m>>2]=-(f*e);break}else{if(!(e>0.0))break;if(!(+g[m>>2]>-(f*e)))break;g[m>>2]=-(f*e);break}}while(0);g[m>>2]=+g[b+700>>2]*+g[m>>2];return}T=+g[na+4>>2];U=+g[na+8>>2];V=+g[na+12>>2];p=+g[b+556>>2];t=+g[b+572>>2];u=+g[b+588>>2];W=+g[b+560>>2];X=+g[b+576>>2];Y=+g[b+592>>2];Z=+g[na+20>>2];_=+g[na+24>>2];$=+g[na+28>>2];aa=+g[na+36>>2];ba=+g[na+40>>2];ca=+g[na+44>>2];x=+g[b+600>>2];z=+g[b+604>>2];y=+g[b+608>>2];f=+g[na+52>>2];s=+g[na+56>>2];k=+g[na+60>>2];da=+g[oa+4>>2];ea=+g[oa+8>>2];fa=+g[oa+12>>2];ga=+g[b+624>>2];ha=+g[b+640>>2];K=+g[b+656>>2];L=+g[oa+20>>2];M=+g[oa+24>>2];N=+g[oa+28>>2];O=+g[oa+36>>2];P=+g[oa+40>>2];Q=+g[oa+44>>2];D=+g[b+664>>2];C=+g[b+668>>2];i=+g[b+672>>2];e=+g[oa+52>>2];n=+g[oa+56>>2];j=+g[oa+60>>2];F=e+(da*D+ea*C+fa*i)-(f+(T*x+U*z+V*y));G=L*D+M*C+N*i+n-(Z*x+_*z+$*y+s);H=O*D+P*C+Q*i+j-(aa*x+ba*z+ca*y+k);v=+g[(c[b+28>>2]|0)+404>>2];w=+g[(c[b+32>>2]|0)+404>>2];E=v+w>0.0?w/(v+w):.5;ia=(T*W+U*X+V*Y)*E+(da*ga+ea*ha+fa*K)*(1.0-E);ja=(W*Z+X*_+Y*$)*E+(ga*L+ha*M+K*N)*(1.0-E);ka=(W*aa+X*ba+Y*ca)*E+(ga*O+ha*P+K*Q)*(1.0-E);la=1.0/+B(+(ka*ka+(ia*ia+ja*ja)));A=(O*D+P*C+Q*i+j-j)*ka*la+((e+(da*D+ea*C+fa*i)-e)*ia*la+(L*D+M*C+N*i+n-n)*ja*la);e=e+(da*D+ea*C+fa*i)-e-ia*la*A;n=L*D+M*C+N*i+n-n-ja*la*A;j=O*D+P*C+Q*i+j-j-ka*la*A;i=(aa*x+ba*z+ca*y+k-k)*ka*la+((f+(T*x+U*z+V*y)-f)*ia*la+(Z*x+_*z+$*y+s-s)*ja*la);f=f+(T*x+U*z+V*y)-f-ia*la*i;s=Z*x+_*z+$*y+s-s-ja*la*i;k=aa*x+ba*z+ca*y+k-k-ka*la*i;y=f+E*(ia*la*i-ia*la*A);z=s+E*(ja*la*i-ja*la*A);x=k+E*(ka*la*i-ka*la*A);C=e-(1.0-E)*(ia*la*i-ia*la*A);D=n-(1.0-E)*(ja*la*i-ja*la*A);A=j-(1.0-E)*(ka*la*i-ka*la*A);i=(E*j+(1.0-E)*k)*(E*j+(1.0-E)*k)+((E*e+(1.0-E)*f)*(E*e+(1.0-E)*f)+(E*n+(1.0-E)*s)*(E*n+(1.0-E)*s));if(i>1.1920928955078125e-07){p=1.0/+B(+i);J=(E*e+(1.0-E)*f)*p;I=(E*j+(1.0-E)*k)*p;p=(E*n+(1.0-E)*s)*p}else{J=T*p+U*t+V*u;I=p*aa+t*ba+u*ca;p=p*Z+t*_+u*$}s=ja*la*I-ka*la*p;t=ka*la*J-ia*la*I;u=ia*la*p-ja*la*J;S=c[d+12>>2]|0;g[S>>2]=z*I-x*p;g[S+4>>2]=x*J-y*I;g[S+8>>2]=y*p-z*J;S=c[d+20>>2]|0;g[S>>2]=-(D*I-A*p);g[S+4>>2]=-(A*J-C*I);g[S+8>>2]=-(C*p-D*J);if(v<1.1920928955078125e-07|w<1.1920928955078125e-07?(a[b+716>>0]|0)!=0:0){e=E*(z*u-x*t);f=E*(x*s-y*u);i=E*(y*t-z*s);j=(1.0-E)*(D*u-A*t);k=(1.0-E)*(A*s-C*u);n=(1.0-E)*(C*t-D*s)}else{e=z*u-x*t;f=x*s-y*u;i=y*t-z*s;j=D*u-A*t;k=A*s-C*u;n=C*t-D*s}S=(c[d+12>>2]|0)+(ma<<2)|0;g[S>>2]=e;g[S+4>>2]=f;g[S+8>>2]=i;S=c[d+20>>2]|0;g[S+(ma<<2)>>2]=-j;g[S+(ma+1<<2)>>2]=-k;g[S+(ma+2<<2)>>2]=-n;if(v<1.1920928955078125e-07|w<1.1920928955078125e-07){n=E*(z*ka*la-x*ja*la);k=E*(x*ia*la-y*ka*la);f=E*(y*ja*la-z*ia*la);j=(1.0-E)*(D*ka*la-A*ja*la);i=(1.0-E)*(A*ia*la-C*ka*la);e=(1.0-E)*(C*ja*la-D*ia*la)}else{n=z*ka*la-x*ja*la;k=x*ia*la-y*ka*la;f=y*ja*la-z*ia*la;j=D*ka*la-A*ja*la;i=A*ia*la-C*ka*la;e=C*ja*la-D*ia*la}m=(c[d+12>>2]|0)+(ma<<1<<2)|0;g[m>>2]=n;g[m+4>>2]=k;g[m+8>>2]=f;m=c[d+20>>2]|0;g[m+(ma<<1<<2)>>2]=-j;g[m+((ma<<1|1)<<2)>>2]=-i;g[m+((ma<<1)+2<<2)>>2]=-e;j=+g[((c[b+748>>2]&8|0)==0?d+4|0:b+756|0)>>2];e=j*+g[d>>2];if(!(a[b+736>>0]|0)){o=c[d+8>>2]|0;g[o>>2]=J;g[o+4>>2]=p;g[o+8>>2]=I;o=(c[d+8>>2]|0)+(ma<<2)|0;g[o>>2]=s;g[o+4>>2]=t;g[o+8>>2]=u;o=(c[d+8>>2]|0)+(ma<<1<<2)|0;g[o>>2]=ia*la;g[o+4>>2]=ja*la;g[o+8>>2]=ka*la;o=c[d+16>>2]|0;f=-J;g[o>>2]=f;g[o+4>>2]=-p;g[o+8>>2]=-I;g[o+(ma<<2)>>2]=-s;g[o+(ma+1<<2)>>2]=-t;g[o+(ma+2<<2)>>2]=-u;g[o+(ma<<1<<2)>>2]=-(ia*la);g[o+((ma<<1|1)<<2)>>2]=-(ja*la);g[o+((ma<<1)+2<<2)>>2]=-(ka*la);o=c[d+28>>2]|0;g[o>>2]=e*(F*J+G*p+H*I);g[o+(ma<<2)>>2]=e*(F*s+G*t+H*u);g[o+(ma<<1<<2)>>2]=e*(F*ia*la+G*ja*la+H*ka*la);e=f;f=-s;i=-t;k=-u;m=c[d+20>>2]|0}else{e=-J;f=-s;i=-t;k=-u;o=c[d+28>>2]|0}l=c[d+12>>2]|0;g[l+(ma*3<<2)>>2]=J;g[l+((ma*3|0)+1<<2)>>2]=p;g[l+((ma*3|0)+2<<2)>>2]=I;g[l+(ma<<2<<2)>>2]=s;g[l+((ma<<2|1)<<2)>>2]=t;g[l+((ma<<2|2)<<2)>>2]=u;g[m+(ma*3<<2)>>2]=e;g[m+((ma*3|0)+1<<2)>>2]=-p;g[m+((ma*3|0)+2<<2)>>2]=-I;g[m+(ma<<2<<2)>>2]=f;g[m+((ma<<2|1)<<2)>>2]=i;g[m+((ma<<2|2)<<2)>>2]=k;G=j*+g[d>>2];H=(W*Z+X*_+Y*$)*(ga*O+ha*P+K*Q)-(W*aa+X*ba+Y*ca)*(ga*L+ha*M+K*N);ca=(W*aa+X*ba+Y*ca)*(da*ga+ea*ha+fa*K)-(T*W+U*X+V*Y)*(ga*O+ha*P+K*Q);ha=(T*W+U*X+V*Y)*(ga*L+ha*M+K*N)-(W*Z+X*_+Y*$)*(da*ga+ea*ha+fa*K);g[o+(ma*3<<2)>>2]=G*(H*J+ca*p+ha*I);g[o+(ma<<2<<2)>>2]=G*(H*s+ca*t+ha*u);if(!(a[b+716>>0]|0))if(!(a[b+737>>0]|0))return;else{p=0.0;r=0;q=0;h=1}else{ha=+g[b+708>>2]*+g[b+732>>2];p=ha;r=ha>0.0?1:2;q=1;h=(a[b+737>>0]|0)!=0}g[l+(ma*5<<2)>>2]=ia*la;g[l+((ma*5|0)+1<<2)>>2]=ja*la;g[l+((ma*5|0)+2<<2)>>2]=ka*la;g[m+(ma*5<<2)>>2]=-(ia*la);g[m+((ma*5|0)+1<<2)>>2]=-(ja*la);g[m+((ma*5|0)+2<<2)>>2]=-(ka*la);e=+g[b+688>>2];f=+g[b+692>>2];if(!((e-f)%6.2831854820251465<-3.1415927410125732))if((e-f)%6.2831854820251465>3.1415927410125732)n=(e-f)%6.2831854820251465+-6.2831854820251465;else n=(e-f)%6.2831854820251465;else n=(e-f)%6.2831854820251465+6.2831854820251465;if(!((e+f)%6.2831854820251465<-3.1415927410125732))if((e+f)%6.2831854820251465>3.1415927410125732)k=(e+f)%6.2831854820251465+-6.2831854820251465;else k=(e+f)%6.2831854820251465;else k=(e+f)%6.2831854820251465+6.2831854820251465;m=n==k;o=o+(ma*5<<2)|0;g[o>>2]=0.0;l=c[b+748>>2]|0;if(l&2)j=+g[b+764>>2];if(h&(q&m^1)){if(l&4|0)c[(c[d+32>>2]|0)+(ma*5<<2)>>2]=c[b+752>>2];f=+g[b+728>>2];i=+g[b+680>>2];e=n>k?1.0:0.0;do if(!(n>=k)){e=i/(j*+g[d>>2]);if(e<0.0)if(f>=n&n-e>f){e=(n-f)/e;break}else{e=f<n?0.0:1.0;break}if(e>0.0)if(f<=k&k-e<f){e=(k-f)/e;break}else{e=f>k?0.0:1.0;break}else e=0.0}while(0);g[o>>2]=e*i*+g[b+732>>2]+ +g[o>>2];g[(c[d+36>>2]|0)+(ma*5<<2)>>2]=-+g[b+684>>2];c[(c[d+40>>2]|0)+(ma*5<<2)>>2]=c[b+684>>2]}if(!q)return;g[o>>2]=+g[o>>2]+p*j*+g[d>>2];if(l&1|0)c[(c[d+32>>2]|0)+(ma*5<<2)>>2]=c[b+760>>2];do if(!m){h=(c[d+36>>2]|0)+(ma*5<<2)|0;if((r|0)==1){g[h>>2]=0.0;e=3402823466385288598117041.0e14;break}else{g[h>>2]=-3402823466385288598117041.0e14;e=0.0;break}}else{g[(c[d+36>>2]|0)+(ma*5<<2)>>2]=-3402823466385288598117041.0e14;e=3402823466385288598117041.0e14}while(0);g[(c[d+40>>2]|0)+(ma*5<<2)>>2]=e;f=+g[b+704>>2];do if(f>0.0){e=+g[na+388>>2]*ia*la+ +g[na+392>>2]*ja*la+ +g[na+396>>2]*ka*la-(+g[oa+388>>2]*ia*la+ +g[oa+392>>2]*ja*la+ +g[oa+396>>2]*ka*la);if((r|0)==1){if(!(e<0.0))break;if(!(+g[o>>2]<-(f*e)))break;g[o>>2]=-(f*e);break}else{if(!(e>0.0))break;if(!(+g[o>>2]>-(f*e)))break;g[o>>2]=-(f*e);break}}while(0);g[o>>2]=+g[b+700>>2]*+g[o>>2];return}function oc(b,d,e,f,h){b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;var i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0.0,w=0.0,x=0.0,y=0.0,z=0.0,B=0.0,C=0.0,D=0.0,E=0.0,F=0.0,G=0.0,H=0.0,I=0.0,J=0.0,K=0.0,L=0.0,M=0.0,N=0.0,O=0.0,P=0.0,Q=0.0,R=0.0,S=0.0,T=0.0,U=0.0,V=0.0,W=0.0,X=0.0,Y=0.0,Z=0.0,_=0.0,$=0.0,aa=0.0,ba=0.0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0.0,ia=0.0,ja=0.0,ka=0.0,la=0.0,ma=0.0,na=0.0,oa=0.0,pa=0.0,qa=0.0,ra=0.0;ga=l;l=l+4352|0;da=c[d+4>>2]|0;ea=c[e+4>>2]|0;r=c[da+68>>2]|0;s=c[ea+68>>2]|0;if(!((r|0)!=0&(s|0)!=0)){zc(b,d,e,f,h);l=ga;return}if(!((c[da+72>>2]|0)==(c[b+108>>2]|0)?(c[ea+72>>2]|0)==(c[b+112>>2]|0):0)){i=c[b+84>>2]|0;k=c[i+8>>2]|0;if((k|0)>0){j=0;do{m=c[(c[i+16>>2]|0)+(j*12|0)+8>>2]|0;if(m|0){Db[c[c[m>>2]>>2]&511](m);u=c[b+4>>2]|0;Ib[c[(c[u>>2]|0)+60>>2]&127](u,m)}j=j+1|0}while((j|0)!=(k|0));i=c[b+84>>2]|0}eh(i);c[b+108>>2]=c[da+72>>2];c[b+112>>2]=c[ea+72>>2]}a[ga+3216+16>>0]=1;q=ga+3216+12|0;c[q>>2]=0;p=ga+3216+4|0;c[p>>2]=0;c[ga+3216+8>>2]=0;c[ga>>2]=1025;i=ga+120|0;j=i+44|0;do{c[i>>2]=0;i=i+4|0}while((i|0)<(j|0));i=ga+312|0;j=i+44|0;do{c[i>>2]=0;i=i+4|0}while((i|0)<(j|0));i=ga+504|0;j=i+44|0;do{c[i>>2]=0;i=i+4|0}while((i|0)<(j|0));i=ga+696|0;j=i+44|0;do{c[i>>2]=0;i=i+4|0}while((i|0)<(j|0));c[ga+772>>2]=0;c[ga+776>>2]=0;c[ga+780>>2]=0;c[ga+800>>2]=0;c[ga+804>>2]=1025;i=ga+924|0;j=i+44|0;do{c[i>>2]=0;i=i+4|0}while((i|0)<(j|0));i=ga+1116|0;j=i+44|0;do{c[i>>2]=0;i=i+4|0}while((i|0)<(j|0));i=ga+1308|0;j=i+44|0;do{c[i>>2]=0;i=i+4|0}while((i|0)<(j|0));i=ga+1500|0;j=i+44|0;do{c[i>>2]=0;i=i+4|0}while((i|0)<(j|0));c[ga+1576>>2]=0;c[ga+1580>>2]=0;c[ga+1584>>2]=0;c[ga+1604>>2]=0;c[ga+1608>>2]=1025;i=ga+1728|0;j=i+44|0;do{c[i>>2]=0;i=i+4|0}while((i|0)<(j|0));i=ga+1920|0;j=i+44|0;do{c[i>>2]=0;i=i+4|0}while((i|0)<(j|0));i=ga+2112|0;j=i+44|0;do{c[i>>2]=0;i=i+4|0}while((i|0)<(j|0));i=ga+2304|0;j=i+44|0;do{c[i>>2]=0;i=i+4|0}while((i|0)<(j|0));c[ga+2380>>2]=0;c[ga+2384>>2]=0;c[ga+2388>>2]=0;c[ga+2408>>2]=0;c[ga+2412>>2]=1025;i=ga+2532|0;j=i+44|0;do{c[i>>2]=0;i=i+4|0}while((i|0)<(j|0));i=ga+2724|0;j=i+44|0;do{c[i>>2]=0;i=i+4|0}while((i|0)<(j|0));i=ga+2916|0;j=i+44|0;do{c[i>>2]=0;i=i+4|0}while((i|0)<(j|0));i=ga+3108|0;j=i+44|0;do{c[i>>2]=0;i=i+4|0}while((i|0)<(j|0));c[ga+3184>>2]=0;c[ga+3188>>2]=0;c[ga+3192>>2]=0;c[ga+3212>>2]=0;a[p+12>>0]=0;c[q>>2]=ga;c[p>>2]=0;c[ga+3216+8>>2]=4;o=c[b+84>>2]|0;i=c[o+8>>2]|0;if((i|0)>0){n=0;do{j=c[(c[o+16>>2]|0)+(n*12|0)+8>>2]|0;if(j){Ib[c[(c[j>>2]|0)+16>>2]&127](j,ga+3216|0);i=c[p>>2]|0;if((i|0)>0){m=0;do{k=c[(c[q>>2]|0)+(m<<2)>>2]|0;if(c[k+780>>2]|0){c[h+4>>2]=k;i=c[k+772>>2]|0;j=c[(c[h+8>>2]|0)+8>>2]|0;if((i|0)==(j|0))De(k,i+4|0,(c[(c[h+12>>2]|0)+8>>2]|0)+4|0);else De(k,(c[(c[h+12>>2]|0)+8>>2]|0)+4|0,j+4|0);c[h+4>>2]=0;i=c[p>>2]|0}m=m+1|0}while((m|0)<(i|0))}if((i|0)<0){if((c[ga+3216+8>>2]|0)<0){j=c[q>>2]|0;if(j|0){if(a[ga+3216+16>>0]|0){c[6898]=(c[6898]|0)+1;md(c[j+-4>>2]|0)}c[q>>2]=0}a[ga+3216+16>>0]=1;c[q>>2]=0;c[ga+3216+8>>2]=0}do{c[(c[q>>2]|0)+(i<<2)>>2]=0;i=i+1|0}while((i|0)!=0)}c[p>>2]=0;i=c[o+8>>2]|0}n=n+1|0}while((n|0)<(i|0));i=c[q>>2]|0;if(i|0)if((a[ga+3216+16>>0]|0)==0|(i|0)==0)ca=37;else{c[6898]=(c[6898]|0)+1;md(c[i+-4>>2]|0);ca=37}}else ca=37;if((ca|0)==37)c[q>>2]=0;u=c[b+4>>2]|0;i=c[b+84>>2]|0;j=c[b+72>>2]|0;c[ga>>2]=11780;c[ga+4>>2]=0;c[ga+8>>2]=d;c[ga+12>>2]=e;c[ga+16>>2]=u;c[ga+20>>2]=f;c[ga+24>>2]=h;c[ga+28>>2]=i;c[ga+32>>2]=j;j=c[d+12>>2]|0;G=+g[j>>2];H=+g[j+16>>2];I=+g[j+32>>2];J=+g[j+4>>2];K=+g[j+20>>2];L=+g[j+36>>2];M=+g[j+8>>2];N=+g[j+24>>2];O=+g[j+40>>2];P=-+g[j+48>>2];Q=-+g[j+52>>2];R=-+g[j+56>>2];j=c[e+12>>2]|0;S=+g[j>>2];T=+g[j+16>>2];U=+g[j+32>>2];V=+g[j+4>>2];W=+g[j+20>>2];X=+g[j+36>>2];Y=+g[j+8>>2];Z=+g[j+24>>2];_=+g[j+40>>2];$=+g[j+48>>2];aa=+g[j+52>>2];ba=+g[j+56>>2];j=c[r>>2]|0;i=c[s>>2]|0;F=+g[h+32>>2];if((j|0)!=0&(i|0)!=0){c[ga+3216>>2]=j;c[ga+3216+4>>2]=i;v=+A(+(G*S+H*T+I*U));w=+A(+(G*V+H*W+I*X));x=+A(+(G*Y+H*Z+I*_));y=+A(+(J*S+K*T+L*U));z=+A(+(J*V+K*W+L*X));B=+A(+(J*Y+K*Z+L*_));C=+A(+(M*S+N*T+O*U));D=+A(+(M*V+N*W+O*X));E=+A(+(M*Y+N*Z+O*_));o=1;m=124;n=128;f=ga+3216|0;k=128;t=0;while(1){u=o+-1|0;r=c[f+(u<<3)>>2]|0;s=c[f+(u<<3)+4>>2]|0;ra=+g[s+16>>2];qa=+g[s>>2];pa=+g[s+20>>2];oa=+g[s+4>>2];na=+g[s+24>>2];ha=+g[s+8>>2];ma=G*P+H*Q+I*R+(G*$+H*aa+I*ba)+((G*S+H*T+I*U)*(ra+qa)*.5+(G*V+H*W+I*X)*(pa+oa)*.5+(G*Y+H*Z+I*_)*(na+ha)*.5);ka=J*P+K*Q+L*R+(J*$+K*aa+L*ba)+((J*S+K*T+L*U)*(ra+qa)*.5+(J*V+K*W+L*X)*(pa+oa)*.5+(J*Y+K*Z+L*_)*(na+ha)*.5);ia=M*P+N*Q+O*R+(M*$+N*aa+O*ba)+((M*S+N*T+O*U)*(ra+qa)*.5+(M*V+N*W+O*X)*(pa+oa)*.5+(M*Y+N*Z+O*_)*(na+ha)*.5);la=v*((ra-qa)*.5+0.0)+w*((pa-oa)*.5+0.0)+x*((na-ha)*.5+0.0);ja=y*((ra-qa)*.5+0.0)+z*((pa-oa)*.5+0.0)+B*((na-ha)*.5+0.0);ha=C*((ra-qa)*.5+0.0)+D*((pa-oa)*.5+0.0)+E*((na-ha)*.5+0.0);do if(((((+g[r>>2]<=F+(la+ma)?+g[r+16>>2]>=ma-la-F:0)?+g[r+4>>2]<=F+(ja+ka):0)?+g[r+20>>2]>=ka-ja-F:0)?+g[r+8>>2]<=F+(ha+ia):0)?+g[r+24>>2]>=ia-ha-F:0){if((u|0)>(m|0)){p=k<<1;a:do if((k|0)<(p|0)&(n|0)<(p|0)){do if(k){c[6897]=(c[6897]|0)+1;i=ec((k<<4|3)+16|0)|0;if(!i)i=0;else{c[(i+4+15&-16)+-4>>2]=i;i=i+4+15&-16}if((k|0)<=0){ca=54;break}j=0;do{m=f+(j<<3)|0;n=c[m+4>>2]|0;q=i+(j<<3)|0;c[q>>2]=c[m>>2];c[q+4>>2]=n;j=j+1|0}while((j|0)!=(k|0));if(!(t<<24>>24)){k=p;j=1;break a}}else{i=0;ca=54}while(0);if((ca|0)==54){ca=0;if((f|0)==0|t<<24>>24==0){k=p;j=1;break}}c[6898]=(c[6898]|0)+1;md(c[f+-4>>2]|0);k=p;j=1}else{k=n;i=f;j=t}while(0);q=p+-4|0;n=k}else{q=m;i=f;p=k;j=t}k=(c[s+40>>2]|0)!=0;if(!(c[r+40>>2]|0))if(k){m=c[s+36>>2]|0;c[i+(u<<3)>>2]=r;c[i+(u<<3)+4>>2]=m;m=c[s+40>>2]|0;c[i+(o<<3)>>2]=r;c[i+(o<<3)+4>>2]=m;o=o+1|0;m=q;k=p;break}else{Mb[c[(c[ga>>2]|0)+8>>2]&127](ga,r,s);o=u;m=q;k=p;break}else{m=c[r+36>>2]|0;if(k){k=c[s+36>>2]|0;c[i+(u<<3)>>2]=m;c[i+(u<<3)+4>>2]=k;u=c[s+36>>2]|0;k=o+1|0;c[i+(o<<3)>>2]=c[r+40>>2];c[i+(o<<3)+4>>2]=u;u=c[s+40>>2]|0;m=o+2|0;c[i+(k<<3)>>2]=c[r+36>>2];c[i+(k<<3)+4>>2]=u;k=c[s+40>>2]|0;c[i+(m<<3)>>2]=c[r+40>>2];c[i+(m<<3)+4>>2]=k;o=o+3|0;m=q;k=p;break}else{c[i+(u<<3)>>2]=m;c[i+(u<<3)+4>>2]=s;c[i+(o<<3)>>2]=c[r+40>>2];c[i+(o<<3)+4>>2]=s;o=o+1|0;m=q;k=p;break}}}else{o=u;i=f;j=t}while(0);if(!o)break;else{f=i;t=j}}if(!((i|0)==0|j<<24>>24==0)){c[6898]=(c[6898]|0)+1;md(c[i+-4>>2]|0)}}p=c[b+84>>2]|0;if((c[p+8>>2]|0)>0){o=0;do{i=c[p+16>>2]|0;j=c[i+(o*12|0)+8>>2]|0;if(j|0?(ca=c[i+(o*12|0)>>2]|0,u=c[da+28>>2]|0,t=c[u+(ca*80|0)+64>>2]|0,s=c[d+12>>2]|0,S=+g[s>>2],R=+g[s+4>>2],oa=+g[s+8>>2],la=+g[s+16>>2],ja=+g[s+20>>2],ha=+g[s+24>>2],ka=+g[s+32>>2],Y=+g[s+36>>2],W=+g[s+40>>2],ba=+g[u+(ca*80|0)>>2],aa=+g[u+(ca*80|0)+16>>2],$=+g[u+(ca*80|0)+32>>2],_=+g[u+(ca*80|0)+4>>2],Z=+g[u+(ca*80|0)+20>>2],ma=+g[u+(ca*80|0)+36>>2],ia=+g[u+(ca*80|0)+8>>2],X=+g[u+(ca*80|0)+24>>2],V=+g[u+(ca*80|0)+40>>2],ra=+g[u+(ca*80|0)+48>>2],pa=+g[u+(ca*80|0)+52>>2],qa=+g[u+(ca*80|0)+56>>2],U=+g[s+48>>2]+(S*ra+R*pa+oa*qa),T=+g[s+52>>2]+(la*ra+ja*pa+ha*qa),qa=+g[s+56>>2]+(ka*ra+Y*pa+W*qa),g[ga+4240>>2]=S*ba+R*aa+oa*$,g[ga+4240+4>>2]=S*_+R*Z+oa*ma,g[ga+4240+8>>2]=S*ia+R*X+oa*V,g[ga+4240+12>>2]=0.0,g[ga+4240+16>>2]=la*ba+ja*aa+ha*$,g[ga+4240+20>>2]=la*_+ja*Z+ha*ma,g[ga+4240+24>>2]=la*ia+ja*X+ha*V,g[ga+4240+28>>2]=0.0,g[ga+4240+32>>2]=ka*ba+Y*aa+W*$,g[ga+4240+36>>2]=ka*_+Y*Z+W*ma,g[ga+4240+40>>2]=ka*ia+Y*X+W*V,g[ga+4240+44>>2]=0.0,g[ga+4240+48>>2]=U,g[ga+4240+52>>2]=T,g[ga+4240+56>>2]=qa,g[ga+4240+60>>2]=0.0,Pb[c[(c[t>>2]|0)+8>>2]&127](t,ga+4240|0,ga+3216|0,ga+4336|0),qa=+g[h+32>>2],g[ga+3216>>2]=+g[ga+3216>>2]-qa,g[ga+3216+4>>2]=+g[ga+3216+4>>2]-qa,g[ga+3216+8>>2]=+g[ga+3216+8>>2]-qa,g[ga+4336>>2]=qa+ +g[ga+4336>>2],g[ga+4336+4>>2]=qa+ +g[ga+4336+4>>2],g[ga+4336+8>>2]=qa+ +g[ga+4336+8>>2],t=c[(c[p+16>>2]|0)+(o*12|0)+4>>2]|0,s=c[ea+28>>2]|0,ca=c[s+(t*80|0)+64>>2]|0,u=c[e+12>>2]|0,T=+g[u>>2],U=+g[u+4>>2],V=+g[u+8>>2],W=+g[u+16>>2],X=+g[u+20>>2],Y=+g[u+24>>2],ia=+g[u+32>>2],ka=+g[u+36>>2],ma=+g[u+40>>2],Z=+g[s+(t*80|0)>>2],_=+g[s+(t*80|0)+16>>2],$=+g[s+(t*80|0)+32>>2],aa=+g[s+(t*80|0)+4>>2],ba=+g[s+(t*80|0)+20>>2],ha=+g[s+(t*80|0)+36>>2],ja=+g[s+(t*80|0)+8>>2],la=+g[s+(t*80|0)+24>>2],oa=+g[s+(t*80|0)+40>>2],R=+g[s+(t*80|0)+48>>2],S=+g[s+(t*80|0)+52>>2],pa=+g[s+(t*80|0)+56>>2],ra=+g[u+48>>2]+(T*R+U*S+V*pa),na=+g[u+52>>2]+(W*R+X*S+Y*pa),pa=+g[u+56>>2]+(ia*R+ka*S+ma*pa),g[ga+4240>>2]=T*Z+U*_+V*$,g[ga+4240+4>>2]=T*aa+U*ba+V*ha,g[ga+4240+8>>2]=T*ja+U*la+V*oa,g[ga+4240+12>>2]=0.0,g[ga+4240+16>>2]=W*Z+X*_+Y*$,g[ga+4240+20>>2]=W*aa+X*ba+Y*ha,g[ga+4240+24>>2]=W*ja+X*la+Y*oa,g[ga+4240+28>>2]=0.0,g[ga+4240+32>>2]=ia*Z+ka*_+ma*$,g[ga+4240+36>>2]=ia*aa+ka*ba+ma*ha,g[ga+4240+40>>2]=ia*ja+ka*la+ma*oa,g[ga+4240+44>>2]=0.0,g[ga+4240+48>>2]=ra,g[ga+4240+52>>2]=na,g[ga+4240+56>>2]=pa,g[ga+4240+60>>2]=0.0,Pb[c[(c[ca>>2]|0)+8>>2]&127](ca,ga+4240|0,ga+4320|0,ga+4304|0),pa=+g[ga+4320>>2]-qa,g[ga+4320>>2]=pa,na=+g[ga+4320+4>>2]-qa,g[ga+4320+4>>2]=na,ra=+g[ga+4320+8>>2]-qa,g[ga+4320+8>>2]=ra,oa=qa+ +g[ga+4304>>2],g[ga+4304>>2]=oa,ma=qa+ +g[ga+4304+4>>2],g[ga+4304+4>>2]=ma,qa=qa+ +g[ga+4304+8>>2],g[ga+4304+8>>2]=qa,(+g[ga+3216+4>>2]>ma?1:+g[ga+4336+4>>2]<na)|(+g[ga+3216>>2]>oa?0:!(+g[ga+4336>>2]<pa))&(+g[ga+3216+8>>2]>qa?0:!(+g[ga+4336+8>>2]<ra))^1):0){Db[c[c[j>>2]>>2]&511](j);n=c[b+4>>2]|0;Ib[c[(c[n>>2]|0)+60>>2]&127](n,j);n=c[p+16>>2]|0;m=c[n+(o*12|0)>>2]|0;n=c[n+(o*12|0)+4>>2]|0;j=c[b+92>>2]|0;if((j|0)==(c[b+96>>2]|0)?(fa=(j|0)==0?1:j<<1,(j|0)<(fa|0)):0){if(!fa)i=0;else{c[6897]=(c[6897]|0)+1;i=ec((fa*12|3)+16|0)|0;if(!i)i=0;else{c[(i+4+15&-16)+-4>>2]=i;i=i+4+15&-16}j=c[b+92>>2]|0}if((j|0)>0){k=0;do{ca=i+(k*12|0)|0;u=(c[b+100>>2]|0)+(k*12|0)|0;c[ca>>2]=c[u>>2];c[ca+4>>2]=c[u+4>>2];c[ca+8>>2]=c[u+8>>2];k=k+1|0}while((k|0)!=(j|0))}j=c[b+100>>2]|0;if(j|0){if(a[b+104>>0]|0){c[6898]=(c[6898]|0)+1;md(c[j+-4>>2]|0)}c[b+100>>2]=0}a[b+104>>0]=1;c[b+100>>2]=i;c[b+96>>2]=fa;i=c[b+92>>2]|0}else i=j;ca=c[b+100>>2]|0;c[ca+(i*12|0)>>2]=m;c[ca+(i*12|0)+4>>2]=n;c[ca+(i*12|0)+8>>2]=0;c[b+92>>2]=(c[b+92>>2]|0)+1}o=o+1|0}while((o|0)<(c[p+8>>2]|0));j=b+100|0;k=b+92|0}else{j=b+100|0;k=b+92|0}if((c[k>>2]|0)>0){i=0;do{h=c[b+84>>2]|0;fa=c[j>>2]|0;wb[c[(c[h>>2]|0)+8>>2]&63](h,c[fa+(i*12|0)>>2]|0,c[fa+(i*12|0)+4>>2]|0)|0;i=i+1|0}while((i|0)<(c[k>>2]|0))}i=c[j>>2]|0;if(i|0){if(a[b+104>>0]|0){c[6898]=(c[6898]|0)+1;md(c[i+-4>>2]|0)}c[j>>2]=0}a[b+104>>0]=1;c[j>>2]=0;c[k>>2]=0;c[b+96>>2]=0;l=ga;return}function pc(b,d,e,f,h){b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;var i=0,j=0,k=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.0,B=0.0,C=0.0,D=0.0,E=0.0,F=0.0,G=0.0,H=0.0,I=0.0,J=0.0,K=0.0,L=0.0,M=0.0,N=0.0,O=0.0,P=0.0,Q=0.0,R=0.0,S=0.0,T=0.0,U=0.0,V=0.0,W=0.0,X=0.0,Y=0;y=l;l=l+1088|0;if((sb[c[(c[f>>2]|0)+80>>2]&127](f)|0)==2){i=c[f+156>>2]|0;c[b+28>>2]=i+-1;if(!i){l=y;return}i=i+-1|0;do{pc(b,d,e,c[(c[f+164>>2]|0)+(i<<2)>>2]|0,h);x=c[b+28>>2]|0;i=x+-1|0;c[b+28>>2]=i}while((x|0)!=0);l=y;return}if((sb[c[(c[h>>2]|0)+80>>2]&127](h)|0)==2){i=c[h+156>>2]|0;c[b+36>>2]=i+-1;if(!i){l=y;return}i=i+-1|0;do{pc(b,d,e,f,c[(c[h+164>>2]|0)+(i<<2)>>2]|0);x=c[b+36>>2]|0;i=x+-1|0;c[b+36>>2]=i}while((x|0)!=0);l=y;return}w=c[d+12>>2]|0;c[y+872>>2]=c[w>>2];c[y+872+4>>2]=c[w+4>>2];c[y+872+8>>2]=c[w+8>>2];c[y+872+12>>2]=c[w+12>>2];c[y+872+16>>2]=c[w+16>>2];c[y+872+16+4>>2]=c[w+16+4>>2];c[y+872+16+8>>2]=c[w+16+8>>2];c[y+872+16+12>>2]=c[w+16+12>>2];c[y+872+32>>2]=c[w+32>>2];c[y+872+32+4>>2]=c[w+32+4>>2];c[y+872+32+8>>2]=c[w+32+8>>2];c[y+872+32+12>>2]=c[w+32+12>>2];c[y+872+48>>2]=c[w+48>>2];c[y+872+48+4>>2]=c[w+48+4>>2];c[y+872+48+8>>2]=c[w+48+8>>2];c[y+872+48+12>>2]=c[w+48+12>>2];w=c[e+12>>2]|0;c[y+808>>2]=c[w>>2];c[y+808+4>>2]=c[w+4>>2];c[y+808+8>>2]=c[w+8>>2];c[y+808+12>>2]=c[w+12>>2];c[y+808+16>>2]=c[w+16>>2];c[y+808+16+4>>2]=c[w+16+4>>2];c[y+808+16+8>>2]=c[w+16+8>>2];c[y+808+16+12>>2]=c[w+16+12>>2];c[y+808+32>>2]=c[w+32>>2];c[y+808+32+4>>2]=c[w+32+4>>2];c[y+808+32+8>>2]=c[w+32+8>>2];c[y+808+32+12>>2]=c[w+32+12>>2];c[y+808+48>>2]=c[w+48>>2];c[y+808+48+4>>2]=c[w+48+4>>2];c[y+808+48+8>>2]=c[w+48+8>>2];c[y+808+48+12>>2]=c[w+48+12>>2];w=y+784+16|0;a[w>>0]=1;x=y+784+12|0;c[x>>2]=0;r=y+784+4|0;c[r>>2]=0;c[y+784+8>>2]=0;c[6897]=(c[6897]|0)+1;i=ec(275)|0;if(!i)j=0;else{c[(i+4+15&-16)+-4>>2]=i;j=i+4+15&-16}k=c[r>>2]|0;m=c[x>>2]|0;if((k|0)<=0){if(m|0)q=15}else{i=0;do{c[j+(i<<3)>>2]=c[m+(i<<3)>>2];c[j+(i<<3)+4>>2]=c[m+(i<<3)+4>>2];i=i+1|0}while((i|0)!=(k|0));q=15}if((q|0)==15){if(a[w>>0]|0){c[6898]=(c[6898]|0)+1;md(c[m+-4>>2]|0)}c[x>>2]=0}a[w>>0]=1;c[x>>2]=j;c[y+784+8>>2]=32;if((c[f+72>>2]|0)!=0?(c[h+72>>2]|0)!=0:0){R=+g[y+872>>2];Q=+g[y+872+16>>2];P=+g[y+872+32>>2];O=+g[y+872+4>>2];N=+g[y+872+20>>2];M=+g[y+872+36>>2];F=+g[y+872+8>>2];D=+g[y+872+24>>2];B=+g[y+872+40>>2];X=-+g[y+872+48>>2];W=-+g[y+872+52>>2];V=-+g[y+872+56>>2];L=+g[y+808>>2];K=+g[y+808+16>>2];J=+g[y+808+32>>2];I=+g[y+808+4>>2];H=+g[y+808+20>>2];G=+g[y+808+36>>2];E=+g[y+808+8>>2];C=+g[y+808+24>>2];z=+g[y+808+40>>2];U=+g[y+808+48>>2];T=+g[y+808+52>>2];S=+g[y+808+56>>2];g[y+968>>2]=R*X+Q*W+P*V+(R*U+Q*T+P*S);g[y+968+4>>2]=O*X+N*W+M*V+(O*U+N*T+M*S);g[y+968+8>>2]=F*X+D*W+B*V+(F*U+D*T+B*S);g[y+968+12>>2]=0.0;g[y+968+16>>2]=R*L+Q*K+P*J;g[y+968+20>>2]=R*I+Q*H+P*G;g[y+968+24>>2]=R*E+Q*C+P*z;g[y+968+28>>2]=0.0;g[y+968+32>>2]=O*L+N*K+M*J;g[y+968+36>>2]=O*I+N*H+M*G;g[y+968+40>>2]=O*E+N*C+M*z;g[y+968+44>>2]=0.0;g[y+968+48>>2]=F*L+D*K+B*J;g[y+968+52>>2]=F*I+D*H+B*G;g[y+968+56>>2]=F*E+D*C+B*z;g[y+968+60>>2]=0.0;g[y+968+64>>2]=+A(+(R*L+Q*K+P*J))+9.999999974752427e-07;g[y+968+68>>2]=+A(+(R*I+Q*H+P*G))+9.999999974752427e-07;g[y+968+72>>2]=+A(+(R*E+Q*C+P*z))+9.999999974752427e-07;g[y+968+80>>2]=+A(+(O*L+N*K+M*J))+9.999999974752427e-07;g[y+968+84>>2]=+A(+(O*I+N*H+M*G))+9.999999974752427e-07;g[y+968+88>>2]=+A(+(O*E+N*C+M*z))+9.999999974752427e-07;g[y+968+96>>2]=+A(+(F*L+D*K+B*J))+9.999999974752427e-07;g[y+968+100>>2]=+A(+(F*I+D*H+B*G))+9.999999974752427e-07;g[y+968+104>>2]=+A(+(F*E+D*C+B*z))+9.999999974752427e-07;Vc(f+72|0,h+72|0,y+784|0,y+968|0,0,0,1)}else q=21;if((q|0)==21?(n=sb[c[(c[f>>2]|0)+88>>2]&127](f)|0,n|0):0)do{n=n+-1|0;Tb[c[(c[f>>2]|0)+120>>2]&31](f,n,y+872|0,y+968|0,y+968+16|0);i=sb[c[(c[h>>2]|0)+88>>2]&127](h)|0;if(i|0)do{i=i+-1|0;Tb[c[(c[h>>2]|0)+120>>2]&31](h,n,y+808|0,y+936|0,y+936+16|0);if(((((!(+g[y+936>>2]>+g[y+968+16>>2])?!(+g[y+936+16>>2]<+g[y+968>>2]):0)?!(+g[y+936+4>>2]>+g[y+968+20>>2]):0)?!(+g[y+936+20>>2]<+g[y+968+4>>2]):0)?!(+g[y+936+8>>2]>+g[y+968+24>>2]):0)?!(+g[y+936+24>>2]<+g[y+968+8>>2]):0){j=c[r>>2]|0;do if((j|0)==(c[y+784+8>>2]|0)){p=(j|0)==0?1:j<<1;if((j|0)>=(p|0))break;if(!p)o=0;else{c[6897]=(c[6897]|0)+1;j=ec((p<<3|3)+16|0)|0;if(!j)j=0;else{c[(j+4+15&-16)+-4>>2]=j;j=j+4+15&-16}o=j;j=c[r>>2]|0}m=c[x>>2]|0;if((j|0)<=0){if(m)q=41}else{k=0;do{c[o+(k<<3)>>2]=c[m+(k<<3)>>2];c[o+(k<<3)+4>>2]=c[m+(k<<3)+4>>2];k=k+1|0}while((k|0)!=(j|0));q=41}if((q|0)==41){q=0;if(a[w>>0]|0){c[6898]=(c[6898]|0)+1;md(c[m+-4>>2]|0);j=c[r>>2]|0}c[x>>2]=0}a[w>>0]=1;c[x>>2]=o;c[y+784+8>>2]=p}while(0);p=c[x>>2]|0;c[p+(j<<3)>>2]=n;c[p+(j<<3)+4>>2]=i;c[r>>2]=j+1}}while((i|0)!=0)}while((n|0)!=0);do if(c[r>>2]|0){if((sb[c[(c[f>>2]|0)+80>>2]&127](f)|0)==1?(sb[c[(c[h>>2]|0)+80>>2]&127](h)|0)==1:0){Cc(b,d,e,f,h,c[x>>2]|0,c[r>>2]|0);break}Db[c[(c[f>>2]|0)+112>>2]&511](f);Db[c[(c[h>>2]|0)+112>>2]&511](h);wh(y+480|0,f);wh(y+176|0,h);o=sb[c[(c[f>>2]|0)+92>>2]&127](f)|0;p=sb[c[(c[h>>2]|0)+92>>2]&127](h)|0;i=c[r>>2]|0;if(i|0)do{i=i+-1|0;k=c[x>>2]|0;j=c[k+(i<<3)>>2]|0;c[b+24>>2]=j;c[b+32>>2]=c[k+(i<<3)+4>>2];k=c[y+480+300>>2]|0;j=ub[c[c[k>>2]>>2]&31](k,j)|0;k=c[y+176+300>>2]|0;k=ub[c[c[k>>2]>>2]&31](k,c[b+32>>2]|0)|0;r=c[d+12>>2]|0;c[y+112>>2]=c[r>>2];c[y+112+4>>2]=c[r+4>>2];c[y+112+8>>2]=c[r+8>>2];c[y+112+12>>2]=c[r+12>>2];c[y+112+16>>2]=c[r+16>>2];c[y+112+16+4>>2]=c[r+16+4>>2];c[y+112+16+8>>2]=c[r+16+8>>2];c[y+112+16+12>>2]=c[r+16+12>>2];c[y+112+32>>2]=c[r+32>>2];c[y+112+32+4>>2]=c[r+32+4>>2];c[y+112+32+8>>2]=c[r+32+8>>2];c[y+112+32+12>>2]=c[r+32+12>>2];c[y+112+48>>2]=c[r+48>>2];c[y+112+48+4>>2]=c[r+48+4>>2];c[y+112+48+8>>2]=c[r+48+8>>2];c[y+112+48+12>>2]=c[r+48+12>>2];r=c[e+12>>2]|0;c[y+48>>2]=c[r>>2];c[y+48+4>>2]=c[r+4>>2];c[y+48+8>>2]=c[r+8>>2];c[y+48+12>>2]=c[r+12>>2];c[y+48+16>>2]=c[r+16>>2];c[y+48+16+4>>2]=c[r+16+4>>2];c[y+48+16+8>>2]=c[r+16+8>>2];c[y+48+16+12>>2]=c[r+16+12>>2];c[y+48+32>>2]=c[r+32>>2];c[y+48+32+4>>2]=c[r+32+4>>2];c[y+48+32+8>>2]=c[r+32+8>>2];c[y+48+32+12>>2]=c[r+32+12>>2];c[y+48+48>>2]=c[r+48>>2];c[y+48+48+4>>2]=c[r+48+4>>2];c[y+48+48+8>>2]=c[r+48+8>>2];c[y+48+48+12>>2]=c[r+48+12>>2];if(o){Mb[c[(c[f>>2]|0)+132>>2]&127](y+968|0,f,c[b+24>>2]|0);J=+g[y+968>>2];D=+g[y+872>>2];K=+g[y+968+16>>2];E=+g[y+872+4>>2];L=+g[y+968+32>>2];F=+g[y+872+8>>2];M=+g[y+968+4>>2];N=+g[y+968+20>>2];O=+g[y+968+36>>2];P=+g[y+968+8>>2];R=+g[y+968+24>>2];T=+g[y+968+40>>2];G=+g[y+872+16>>2];H=+g[y+872+20>>2];I=+g[y+872+24>>2];Q=+g[y+872+32>>2];S=+g[y+872+36>>2];U=+g[y+872+40>>2];B=+g[y+968+48>>2];C=+g[y+968+52>>2];X=+g[y+968+56>>2];V=+g[y+872+48>>2]+(D*B+E*C+F*X);W=G*B+H*C+I*X+ +g[y+872+52>>2];X=Q*B+S*C+U*X+ +g[y+872+56>>2];g[y+112>>2]=J*D+K*E+L*F;g[y+112+4>>2]=D*M+E*N+F*O;g[y+112+8>>2]=D*P+E*R+F*T;g[y+112+12>>2]=0.0;g[y+112+16>>2]=J*G+K*H+L*I;g[y+112+20>>2]=M*G+N*H+O*I;g[y+112+24>>2]=P*G+R*H+T*I;g[y+112+28>>2]=0.0;g[y+112+32>>2]=J*Q+K*S+L*U;g[y+112+36>>2]=M*Q+N*S+O*U;g[y+112+40>>2]=P*Q+R*S+T*U;g[y+112+44>>2]=0.0;g[y+112+48>>2]=V;g[y+112+52>>2]=W;g[y+112+56>>2]=X;g[y+112+60>>2]=0.0}if(p){Mb[c[(c[h>>2]|0)+132>>2]&127](y+968|0,h,c[b+32>>2]|0);J=+g[y+968>>2];D=+g[y+808>>2];K=+g[y+968+16>>2];E=+g[y+808+4>>2];L=+g[y+968+32>>2];F=+g[y+808+8>>2];M=+g[y+968+4>>2];N=+g[y+968+20>>2];O=+g[y+968+36>>2];P=+g[y+968+8>>2];R=+g[y+968+24>>2];T=+g[y+968+40>>2];G=+g[y+808+16>>2];H=+g[y+808+20>>2];I=+g[y+808+24>>2];Q=+g[y+808+32>>2];S=+g[y+808+36>>2];U=+g[y+808+40>>2];B=+g[y+968+48>>2];C=+g[y+968+52>>2];X=+g[y+968+56>>2];V=+g[y+808+48>>2]+(D*B+E*C+F*X);W=G*B+H*C+I*X+ +g[y+808+52>>2];X=Q*B+S*C+U*X+ +g[y+808+56>>2];g[y+48>>2]=J*D+K*E+L*F;g[y+48+4>>2]=D*M+E*N+F*O;g[y+48+8>>2]=D*P+E*R+F*T;g[y+48+12>>2]=0.0;g[y+48+16>>2]=J*G+K*H+L*I;g[y+48+20>>2]=M*G+N*H+O*I;g[y+48+24>>2]=P*G+R*H+T*I;g[y+48+28>>2]=0.0;g[y+48+32>>2]=J*Q+K*S+L*U;g[y+48+36>>2]=M*Q+N*S+O*U;g[y+48+40>>2]=P*Q+R*S+T*U;g[y+48+44>>2]=0.0;g[y+48+48>>2]=V;g[y+48+52>>2]=W;g[y+48+56>>2]=X;g[y+48+60>>2]=0.0}Y=c[d+8>>2]|0;r=c[b+28>>2]|0;n=c[b+24>>2]|0;c[y+24>>2]=d;c[y+24+4>>2]=j;c[y+24+8>>2]=Y;c[y+24+12>>2]=y+112;c[y+24+16>>2]=r;c[y+24+20>>2]=n;Y=c[e+8>>2]|0;m=c[b+36>>2]|0;q=c[b+32>>2]|0;c[y>>2]=e;c[y+4>>2]=k;c[y+8>>2]=Y;c[y+12>>2]=y+48;c[y+16>>2]=m;c[y+20>>2]=q;q=c[b+16>>2]|0;Mb[c[(c[q>>2]|0)+8>>2]&127](q,r,n);n=c[b+16>>2]|0;Mb[c[(c[n>>2]|0)+12>>2]&127](n,c[b+36>>2]|0,c[b+32>>2]|0);n=c[y+24+8>>2]|0;r=c[y+24+12>>2]|0;q=c[b+28>>2]|0;m=c[b+24>>2]|0;c[y+968>>2]=y+24;c[y+968+4>>2]=j;c[y+968+8>>2]=n;c[y+968+12>>2]=r;c[y+968+16>>2]=q;c[y+968+20>>2]=m;m=c[y+8>>2]|0;q=c[y+12>>2]|0;r=c[b+36>>2]|0;j=c[b+32>>2]|0;c[y+936>>2]=y;c[y+936+4>>2]=k;c[y+936+8>>2]=m;c[y+936+12>>2]=q;c[y+936+16>>2]=r;c[y+936+20>>2]=j;j=c[b+8>>2]|0;if(!j){j=c[b+12>>2]|0;if(!j){j=c[b+4>>2]|0;j=wb[c[(c[j>>2]|0)+12>>2]&63](j,n,m)|0;c[b+12>>2]=j}c[(c[b+16>>2]|0)+4>>2]=j;Y=c[b+4>>2]|0;j=yb[c[(c[Y>>2]|0)+8>>2]&1](Y,y+968|0,y+936|0,j,1)|0;c[b+8>>2]=j}Tb[c[(c[j>>2]|0)+8>>2]&31](j,y+968|0,y+936|0,c[b+20>>2]|0,c[b+16>>2]|0)}while((i|0)!=0);Db[c[(c[f>>2]|0)+116>>2]&511](f);Db[c[(c[h>>2]|0)+116>>2]&511](h);c[y+176+112>>2]=10024;i=c[y+176+168>>2]|0;if(i|0?(Db[c[c[i>>2]>>2]&511](i),s=c[y+176+168>>2]|0,s|0):0){c[6898]=(c[6898]|0)+1;md(c[s+-4>>2]|0)}c[y+176+4>>2]=10024;i=c[y+176+60>>2]|0;if(i|0?(Db[c[c[i>>2]>>2]&511](i),t=c[y+176+60>>2]|0,t|0):0){c[6898]=(c[6898]|0)+1;md(c[t+-4>>2]|0)}c[y+480+112>>2]=10024;i=c[y+480+168>>2]|0;if(i|0?(Db[c[c[i>>2]>>2]&511](i),u=c[y+480+168>>2]|0,u|0):0){c[6898]=(c[6898]|0)+1;md(c[u+-4>>2]|0)}c[y+480+4>>2]=10024;i=c[y+480+60>>2]|0;if(i|0?(Db[c[c[i>>2]>>2]&511](i),v=c[y+480+60>>2]|0,v|0):0){c[6898]=(c[6898]|0)+1;md(c[v+-4>>2]|0)}}while(0);i=c[x>>2]|0;if(i|0){if(a[w>>0]|0){c[6898]=(c[6898]|0)+1;md(c[i+-4>>2]|0)}c[x>>2]=0}l=y;return}function qc(b,d){b=b|0;d=d|0;var e=0.0,f=0.0,h=0,i=0,k=0.0,l=0.0,m=0.0,n=0.0,o=0.0,p=0.0,q=0.0,r=0,s=0.0,t=0.0,u=0,v=0.0,w=0,x=0,y=0.0,z=0.0,C=0.0,D=0,E=0,F=0,G=0,H=0,I=0,J=0.0,K=0.0,L=0.0,M=0.0,O=0.0,P=0,Q=0,R=0,S=0.0,T=0.0,U=0.0,V=0,W=0.0,X=0.0,Y=0.0,Z=0,_=0,$=0,aa=0,ba=0,ca=0.0,da=0,ea=0;da=c[b+28>>2]|0;ea=c[b+32>>2]|0;W=+g[da+404>>2];X=+g[ea+404>>2];_=c[d+24>>2]|0;ca=(a[b+180>>0]|0)==0?-1.0:1.0;S=+g[b+936>>2]-+g[b+872>>2];T=+g[b+940>>2]-+g[b+876>>2];U=+g[b+944>>2]-+g[b+880>>2];Y=W+X>0.0?X/(W+X):.5;D=c[b+824>>2]|0;E=c[b+840>>2]|0;F=c[b+856>>2]|0;G=c[b+888>>2]|0;H=c[b+904>>2]|0;I=c[b+920>>2]|0;V=(a[b+49>>0]|0)==0;if(V){r=c[b+828>>2]|0;i=c[b+844>>2]|0;w=c[b+860>>2]|0;x=c[b+832>>2]|0;h=c[b+848>>2]|0;R=c[b+864>>2]|0;n=(c[j>>2]=r,+g[j>>2]);f=(c[j>>2]=i,+g[j>>2]);p=(c[j>>2]=w,+g[j>>2]);q=(c[j>>2]=x,+g[j>>2]);s=(c[j>>2]=h,+g[j>>2]);$=D;u=R;aa=E;ba=F;o=(c[j>>2]=R,+g[j>>2])}else{e=Y*(c[j>>2]=D,+g[j>>2]);l=Y*(c[j>>2]=E,+g[j>>2]);k=Y*(c[j>>2]=F,+g[j>>2]);f=(1.0-Y)*(c[j>>2]=G,+g[j>>2]);m=(1.0-Y)*(c[j>>2]=H,+g[j>>2]);k=k+(1.0-Y)*(c[j>>2]=I,+g[j>>2]);n=1.0/+B(+((e+f)*(e+f)+(l+m)*(l+m)+k*k));h=(g[j>>2]=(e+f)*n,c[j>>2]|0);i=(g[j>>2]=(l+m)*n,c[j>>2]|0);r=(g[j>>2]=k*n,c[j>>2]|0);if(+A(+(k*n))>.7071067690849304){O=1.0/+B(+(k*n*k*n+(l+m)*n*(l+m)*n));s=-((e+f)*n*(l+m)*n*O);o=(e+f)*n*-(k*n*O);q=(k*n*k*n+(l+m)*n*(l+m)*n)*O;p=(l+m)*n*O;f=-(k*n*O);e=0.0}else{o=(e+f)*n*(e+f)*n+(l+m)*n*(l+m)*n;O=1.0/+B(+o);s=k*n*-((l+m)*n*O);o=o*O;q=-(k*n*(e+f)*n*O);p=0.0;f=(e+f)*n*O;e=-((l+m)*n*O)}R=(g[j>>2]=e,c[j>>2]|0);Q=(g[j>>2]=f,c[j>>2]|0);w=(g[j>>2]=p,c[j>>2]|0);x=(g[j>>2]=q,c[j>>2]|0);P=(g[j>>2]=s,c[j>>2]|0);$=h;u=(g[j>>2]=o,c[j>>2]|0);aa=i;ba=r;h=P;i=Q;r=R;n=e}R=c[d+12>>2]|0;c[R>>2]=r;c[R+4>>2]=i;c[R+8>>2]=w;c[R+(_<<2)>>2]=x;c[R+(_+1<<2)>>2]=h;c[R+(_+2<<2)>>2]=u;k=-n;P=c[d+20>>2]|0;g[P>>2]=k;g[P+4>>2]=-f;g[P+8>>2]=-p;g[P+(_<<2)>>2]=-q;g[P+(_+1<<2)>>2]=-s;g[P+(_+2<<2)>>2]=-o;Q=c[b+300>>2]|0;e=+g[b+280>>2];if(!(Q&128))e=e*+g[d+4>>2];z=e*+g[d>>2];M=(c[j>>2]=E,+g[j>>2]);J=(c[j>>2]=I,+g[j>>2]);C=(c[j>>2]=F,+g[j>>2]);L=(c[j>>2]=H,+g[j>>2]);O=(c[j>>2]=G,+g[j>>2]);K=(c[j>>2]=D,+g[j>>2]);u=c[d+28>>2]|0;g[u>>2]=z*((M*J-C*L)*n+(C*O-K*J)*f+(K*L-M*O)*p);g[u+(_<<2)>>2]=z*((M*J-C*L)*q+(C*O-K*J)*s+(K*L-M*O)*o);if(Q&64|0){I=c[d+32>>2]|0;c[I>>2]=c[b+292>>2];c[I+(_<<2)>>2]=c[b+292>>2]}y=+g[da+52>>2];t=+g[da+56>>2];v=+g[da+60>>2];m=+g[ea+52>>2];e=+g[ea+56>>2];l=+g[ea+60>>2];if(V){M=(e-t)*p-(l-v)*f;O=(l-v)*n-(m-y)*p;L=(m-y)*f-(e-t)*n;g[R+(_<<1<<2)>>2]=Y*M;g[R+((_<<1|1)<<2)>>2]=Y*O;g[R+((_<<1)+2<<2)>>2]=Y*L;g[P+(_<<1<<2)>>2]=(1.0-Y)*M;g[P+((_<<1|1)<<2)>>2]=(1.0-Y)*O;g[P+((_<<1)+2<<2)>>2]=(1.0-Y)*L;L=(e-t)*o-(l-v)*s;O=(l-v)*q-(m-y)*o;M=(m-y)*s-(e-t)*q;g[R+(_*3<<2)>>2]=Y*L;g[R+((_*3|0)+1<<2)>>2]=Y*O;g[R+((_*3|0)+2<<2)>>2]=Y*M;g[P+(_*3<<2)>>2]=(1.0-Y)*L;g[P+((_*3|0)+1<<2)>>2]=(1.0-Y)*O;g[P+((_*3|0)+2<<2)>>2]=(1.0-Y)*M;i=c[d+8>>2]|0;g[i+(_<<1<<2)>>2]=n;g[i+((_<<1|1)<<2)>>2]=f;g[i+((_<<1)+2<<2)>>2]=p;g[i+(_*3<<2)>>2]=q;g[i+((_*3|0)+1<<2)>>2]=s;g[i+((_*3|0)+2<<2)>>2]=o;r=c[d+16>>2]|0;g[r+(_<<1<<2)>>2]=k;g[r+((_<<1|1)<<2)>>2]=-f;g[r+((_<<1)+2<<2)>>2]=-p;g[r+(_*3<<2)>>2]=-q;g[r+((_*3|0)+1<<2)>>2]=-s;h=r+((_*3|0)+2<<2)|0;M=n;O=0.0;L=0.0;K=0.0;J=0.0;C=0.0;z=0.0;n=e-t;l=l-v;k=m-y}else{q=+g[b+936>>2]-m;s=+g[b+940>>2]-e;L=+g[b+944>>2]-l;n=(c[j>>2]=$,+g[j>>2]);o=(c[j>>2]=aa,+g[j>>2]);m=(c[j>>2]=ba,+g[j>>2]);M=+g[b+872>>2]-y;O=+g[b+876>>2]-t;e=+g[b+880>>2]-v;C=+g[b+1080>>2]-+g[b+1032>>2];z=(M*n+O*o+e*m)*n+C*n-(q*n+s*o+L*m)*n;J=(M*n+O*o+e*m)*o+C*o-(q*n+s*o+L*m)*o;C=(M*n+O*o+e*m)*m+C*m-(q*n+s*o+L*m)*m;K=M-(M*n+O*o+e*m)*n+Y*z;t=O-(M*n+O*o+e*m)*o+Y*J;v=e-(M*n+O*o+e*m)*m+Y*C;z=q-(q*n+s*o+L*m)*n-(1.0-Y)*z;J=s-(q*n+s*o+L*m)*o-(1.0-Y)*J;C=L-(q*n+s*o+L*m)*m-(1.0-Y)*C;k=Y*(q-(q*n+s*o+L*m)*n)+(1.0-Y)*(M-(M*n+O*o+e*m)*n);f=Y*(s-(q*n+s*o+L*m)*o)+(1.0-Y)*(O-(M*n+O*o+e*m)*o);e=Y*(L-(q*n+s*o+L*m)*m)+(1.0-Y)*(e-(M*n+O*o+e*m)*m);if(e*e+(k*k+f*f)>1.1920928955078125e-07){O=1.0/+B(+(e*e+(k*k+f*f)));i=(g[j>>2]=f*O,c[j>>2]|0);r=(g[j>>2]=e*O,c[j>>2]|0);l=e*O;e=f*O;p=k*O;h=(g[j>>2]=k*O,c[j>>2]|0)}else{h=c[b+828>>2]|0;i=c[b+844>>2]|0;r=c[b+860>>2]|0;l=(c[j>>2]=r,+g[j>>2]);e=(c[j>>2]=i,+g[j>>2]);p=(c[j>>2]=h,+g[j>>2])}q=l*o-e*m;s=p*m-l*n;o=e*n-p*o;g[R+(_<<1<<2)>>2]=t*l-v*e;g[R+(_<<1<<2)+4>>2]=v*p-K*l;g[R+(_<<1<<2)+8>>2]=K*e-t*p;g[P+(_<<1<<2)>>2]=-(J*l-C*e);g[P+((_<<1|1)<<2)>>2]=-(C*p-z*l);g[P+((_<<1)+2<<2)>>2]=-(z*e-J*p);if(W<1.1920928955078125e-07|X<1.1920928955078125e-07?(a[b+297>>0]|0)!=0:0){e=Y*(t*o-v*s);f=Y*(K*s-t*q);k=Y*(v*q-K*o);l=(1.0-Y)*(J*o-C*s);m=(1.0-Y)*(C*q-z*o);n=(1.0-Y)*(z*s-J*q)}else{e=t*o-v*s;f=K*s-t*q;k=v*q-K*o;l=J*o-C*s;m=C*q-z*o;n=z*s-J*q}g[R+(_*3<<2)>>2]=e;g[R+(_*3<<2)+4>>2]=k;g[R+(_*3<<2)+8>>2]=f;g[P+(_*3<<2)>>2]=-l;g[P+((_*3|0)+1<<2)>>2]=-m;g[P+((_*3|0)+2<<2)>>2]=-n;H=c[d+8>>2]|0;c[H+(_<<1<<2)>>2]=h;c[H+((_<<1|1)<<2)>>2]=i;c[H+((_<<1)+2<<2)>>2]=r;g[H+(_*3<<2)>>2]=q;g[H+((_*3|0)+1<<2)>>2]=s;g[H+((_*3|0)+2<<2)>>2]=o;I=c[d+16>>2]|0;g[I+(_<<1<<2)>>2]=-p;f=(c[j>>2]=i,+g[j>>2]);g[I+((_<<1|1)<<2)>>2]=-f;O=(c[j>>2]=r,+g[j>>2]);g[I+((_<<1)+2<<2)>>2]=-O;g[I+(_*3<<2)>>2]=-q;g[I+((_*3|0)+1<<2)>>2]=-s;h=I+((_*3|0)+2<<2)|0;M=p;p=O;i=H;r=I;O=t;L=v;n=0.0;l=0.0;k=0.0}g[h>>2]=-o;e=+g[b+264>>2];if(!(Q&32))e=e*+g[d+4>>2];y=e*+g[d>>2];g[u+(_<<1<<2)>>2]=y*(S*M+T*f+U*p);g[u+(_*3<<2)>>2]=y*(S*q+T*s+U*o);if(Q&16|0){I=c[d+32>>2]|0;c[I+(_<<1<<2)>>2]=c[b+276>>2];c[I+(_*3<<2)>>2]=c[b+276>>2]}if(!(a[b+296>>0]|0))if(!(a[b+1096>>0]|0))h=4;else{o=0.0;x=0;w=0;h=1;Z=27}else{U=ca*+g[b+1032>>2];o=U;x=U>0.0?2:1;w=1;h=(a[b+1096>>0]|0)!=0;Z=27}if((Z|0)==27){c[i+(_<<2<<2)>>2]=$;c[i+((_<<2|1)<<2)>>2]=aa;c[i+((_<<2|2)<<2)>>2]=ba;p=(c[j>>2]=$,+g[j>>2]);g[r+(_<<2<<2)>>2]=-p;q=(c[j>>2]=aa,+g[j>>2]);g[r+((_<<2|1)<<2)>>2]=-q;s=(c[j>>2]=ba,+g[j>>2]);g[r+((_<<2|2)<<2)>>2]=-s;if(!V){if(!(W<1.1920928955078125e-07|X<1.1920928955078125e-07)){g[R+(_<<2<<2)>>2]=O*s-L*q;g[R+((_<<2|1)<<2)>>2]=L*p-K*s;g[R+((_<<2|2)<<2)>>2]=K*q-O*p;g[P+(_<<2<<2)>>2]=-(J*s-C*q);g[P+((_<<2|1)<<2)>>2]=-(C*p-z*s);e=-(z*q-J*p);Z=31}}else{W=n*s-l*q;X=l*p-k*s;e=k*q-n*p;g[R+(_<<2<<2)>>2]=Y*W;g[R+((_<<2|1)<<2)>>2]=Y*X;g[R+((_<<2|2)<<2)>>2]=Y*e;g[P+(_<<2<<2)>>2]=(1.0-Y)*W;g[P+((_<<2|1)<<2)>>2]=(1.0-Y)*X;e=(1.0-Y)*e;Z=31}if((Z|0)==31)g[P+((_<<2|2)<<2)>>2]=e;r=+g[b+184>>2]==+g[b+188>>2];g[u+(_<<2<<2)>>2]=0.0;i=(c[d+36>>2]|0)+(_<<2<<2)|0;g[i>>2]=0.0;u=(c[d+40>>2]|0)+(_<<2<<2)|0;g[u>>2]=0.0;n=+g[((Q&512|0)==0?d+4|0:b+232|0)>>2];if(h&(w&r^1)){if(Q&1|0)c[(c[d+32>>2]|0)+(_<<2<<2)>>2]=c[b+212>>2];m=+g[b+1100>>2];e=+g[b+1080>>2];f=+g[b+184>>2];k=+g[b+188>>2];l=n*+g[d>>2];do if(!(f>k))if(!(f==k)){if(m/l<0.0)if(e>=f?f-m/l>e:0){e=(f-e)/(m/l);break}else{e=e<f?0.0:1.0;break}if(m/l>0.0)if(e<=k?k-m/l<e:0){e=(k-e)/(m/l);break}else{e=e>k?0.0:1.0;break}else e=0.0}else e=0.0;else e=1.0;while(0);Z=(c[d+28>>2]|0)+(_<<2<<2)|0;g[Z>>2]=+g[Z>>2]-ca*e*m;g[i>>2]=-+g[b+1104>>2]/+g[d>>2]+ +g[i>>2];g[u>>2]=+g[b+1104>>2]/+g[d>>2]+ +g[u>>2]}if(w){h=(c[d+28>>2]|0)+(_<<2<<2)|0;g[h>>2]=+g[h>>2]+o*n*+g[d>>2];if(c[b+300>>2]&256|0)c[(c[d+32>>2]|0)+(_<<2<<2)>>2]=c[b+244>>2];do if(!r)if((x|0)==1){g[i>>2]=-3402823466385288598117041.0e14;e=0.0;break}else{g[i>>2]=0.0;e=3402823466385288598117041.0e14;break}else{g[i>>2]=-3402823466385288598117041.0e14;e=3402823466385288598117041.0e14}while(0);g[u>>2]=e;Y=1.0-+g[b+240>>2];f=+A(+Y);do if(!(Y!=Y|0.0!=0.0|Y==0.0)){e=ca*(+g[da+372>>2]*p+ +g[da+376>>2]*q+ +g[da+380>>2]*s-(+g[ea+372>>2]*p+ +g[ea+376>>2]*q+ +g[ea+380>>2]*s));if((x|0)==1){if(!(e<0.0))break;if(!(+g[h>>2]<-(f*e)))break;g[h>>2]=-(f*e);break}else{if(!(e>0.0))break;if(!(+g[h>>2]>-(f*e)))break;g[h>>2]=-(f*e);break}}while(0);g[h>>2]=+g[b+232>>2]*+g[h>>2];h=5}else h=5}if(!(a[b+297>>0]|0))if(!(a[b+1112>>0]|0))return;else{s=0.0;w=0;r=0;i=1}else{ca=+g[b+1088>>2];s=ca;w=ca>0.0?1:2;r=1;i=(a[b+1112>>0]|0)!=0}u=N(c[d+24>>2]|0,h)|0;h=c[d+12>>2]|0;c[h+(u<<2)>>2]=$;c[h+(u+1<<2)>>2]=aa;c[h+(u+2<<2)>>2]=ba;v=(c[j>>2]=$,+g[j>>2]);h=c[d+20>>2]|0;g[h+(u<<2)>>2]=-v;t=(c[j>>2]=aa,+g[j>>2]);g[h+(u+1<<2)>>2]=-t;q=(c[j>>2]=ba,+g[j>>2]);g[h+(u+2<<2)>>2]=-q;n=+g[b+192>>2];o=+g[b+196>>2];h=c[b+300>>2]|0;p=+g[((h&2048|0)==0?d+4|0:b+248|0)>>2];if(i&(r&n==o^1)){if(!(h&4)){k=n;l=o}else{c[(c[d+32>>2]|0)+(u<<2)>>2]=c[b+228>>2];k=+g[b+192>>2];l=+g[b+196>>2]}e=+g[b+1084>>2];m=+g[b+1116>>2];f=p*+g[d>>2];do if(!(k>l))if(!(k==l)){if(m/f<0.0)if(e>=k?k-m/f>e:0){e=(k-e)/(m/f);break}else{e=e<k?0.0:1.0;break}if(m/f>0.0)if(e<=l?l-m/f<e:0){e=(l-e)/(m/f);break}else{e=e>l?0.0:1.0;break}else e=0.0}else e=0.0;else e=1.0;while(0);g[(c[d+28>>2]|0)+(u<<2)>>2]=e*m;g[(c[d+36>>2]|0)+(u<<2)>>2]=-+g[b+1120>>2]/+g[d>>2];g[(c[d+40>>2]|0)+(u<<2)>>2]=+g[b+1120>>2]/+g[d>>2]}if(!r)return;i=(c[d+28>>2]|0)+(u<<2)|0;g[i>>2]=+g[i>>2]+s*p*+g[d>>2];if(h&1024|0)c[(c[d+32>>2]|0)+(u<<2)>>2]=c[b+260>>2];do if(!(n==o)){h=(c[d+36>>2]|0)+(u<<2)|0;if((w|0)==1){g[h>>2]=0.0;e=3402823466385288598117041.0e14;break}else{g[h>>2]=-3402823466385288598117041.0e14;e=0.0;break}}else{g[(c[d+36>>2]|0)+(u<<2)>>2]=-3402823466385288598117041.0e14;e=3402823466385288598117041.0e14}while(0);g[(c[d+40>>2]|0)+(u<<2)>>2]=e;ca=1.0-+g[b+256>>2];f=+A(+ca);do if(!(ca!=ca|0.0!=0.0|ca==0.0)){ea=c[b+28>>2]|0;d=c[b+32>>2]|0;e=+g[ea+388>>2]*v+ +g[ea+392>>2]*t+ +g[ea+396>>2]*q-(+g[d+388>>2]*v+ +g[d+392>>2]*t+ +g[d+396>>2]*q);if((w|0)==1){if(!(e<0.0))break;if(!(+g[i>>2]<-(f*e)))break;g[i>>2]=-(f*e);break}else{if(!(e>0.0))break;if(!(+g[i>>2]>-(f*e)))break;g[i>>2]=-(f*e);break}}while(0);g[i>>2]=+g[b+248>>2]*+g[i>>2];return}function rc(b,d,e){b=b|0;d=d|0;e=e|0;var f=0.0,h=0.0,i=0.0,j=0.0,k=0.0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0.0,t=0.0,u=0.0,v=0.0,w=0.0,x=0.0,y=0.0,z=0.0,A=0.0,C=0.0,D=0.0,E=0.0,F=0.0,G=0.0,I=0.0,K=0.0,L=0.0,M=0.0,N=0.0,O=0.0,P=0.0,Q=0.0,R=0.0,S=0.0,T=0.0,U=0.0,V=0.0,W=0.0,X=0.0,Y=0.0;W=+g[b+48>>2];i=+g[d>>2];X=+g[b+64>>2];y=+g[d+4>>2];Y=+g[b+80>>2];f=+g[d+8>>2];C=+g[b+52>>2];A=+g[b+68>>2];z=+g[b+84>>2];S=+g[b+56>>2];U=+g[b+72>>2];Q=+g[b+88>>2];F=+g[d+16>>2];E=+g[d+20>>2];D=+g[d+24>>2];T=+g[d+32>>2];x=+g[d+36>>2];s=+g[d+40>>2];k=+g[b+96>>2];h=+g[b+100>>2];V=+g[b+104>>2];R=+g[d+48>>2]+(i*k+y*h+f*V);w=F*k+E*h+D*V+ +g[d+52>>2];V=T*k+x*h+s*V+ +g[d+56>>2];g[b+1236>>2]=W*i+X*y+Y*f;g[b+1240>>2]=i*C+y*A+f*z;g[b+1244>>2]=i*S+y*U+f*Q;g[b+1248>>2]=0.0;g[b+1252>>2]=W*F+X*E+Y*D;g[b+1256>>2]=C*F+A*E+z*D;g[b+1260>>2]=S*F+U*E+Q*D;g[b+1264>>2]=0.0;g[b+1268>>2]=W*T+X*x+Y*s;g[b+1272>>2]=C*T+A*x+z*s;g[b+1276>>2]=S*T+U*x+Q*s;g[b+1280>>2]=0.0;g[b+1284>>2]=R;g[b+1288>>2]=w;g[b+1292>>2]=V;g[b+1296>>2]=0.0;V=+g[b+112>>2];w=+g[e>>2];R=+g[b+128>>2];s=+g[e+4>>2];Q=+g[b+144>>2];x=+g[e+8>>2];U=+g[b+116>>2];T=+g[b+132>>2];S=+g[b+148>>2];z=+g[b+120>>2];A=+g[b+136>>2];C=+g[b+152>>2];Y=+g[e+16>>2];X=+g[e+20>>2];W=+g[e+24>>2];D=+g[e+32>>2];E=+g[e+36>>2];F=+g[e+40>>2];f=+g[b+160>>2];y=+g[b+164>>2];i=+g[b+168>>2];h=+g[e+48>>2]+(w*f+s*y+x*i);k=Y*f+X*y+W*i+ +g[e+52>>2];i=D*f+E*y+F*i+ +g[e+56>>2];g[b+1300>>2]=V*w+R*s+Q*x;g[b+1304>>2]=w*U+s*T+x*S;g[b+1308>>2]=w*z+s*A+x*C;g[b+1312>>2]=0.0;g[b+1316>>2]=V*Y+R*X+Q*W;g[b+1320>>2]=U*Y+T*X+S*W;g[b+1324>>2]=z*Y+A*X+C*W;g[b+1328>>2]=0.0;g[b+1332>>2]=V*D+R*E+Q*F;g[b+1336>>2]=U*D+T*E+S*F;g[b+1340>>2]=z*D+A*E+C*F;g[b+1344>>2]=0.0;g[b+1348>>2]=h;g[b+1352>>2]=k;g[b+1356>>2]=i;g[b+1360>>2]=0.0;h=h-+g[b+1284>>2];k=k-+g[b+1288>>2];i=i-+g[b+1292>>2];S=+g[b+1256>>2];T=+g[b+1276>>2];U=+g[b+1260>>2];Q=+g[b+1272>>2];R=+g[b+1268>>2];V=+g[b+1252>>2];W=+g[b+1236>>2];X=+g[b+1240>>2];Y=+g[b+1244>>2];x=1.0/((S*T-U*Q)*W+X*(U*R-T*V)+(Q*V-S*R)*Y);s=(S*T-U*Q)*x;w=(U*R-T*V)*x;y=(Q*V-S*R)*x;f=i*(U*X-S*Y)*x+(h*s+k*(Q*Y-T*X)*x);j=i*(V*Y-U*W)*x+(h*w+k*(T*W-R*Y)*x);k=i*(S*W-V*X)*x+(h*y+k*(R*X-Q*W)*x);g[b+1428>>2]=f;g[b+1432>>2]=j;g[b+1436>>2]=k;g[b+1440>>2]=0.0;g[b+940>>2]=f;h=+g[b+680>>2];i=+g[b+696>>2];if(!(h>i)){g[b+908>>2]=f-h;if(h==i)d=3;else{g[b+924>>2]=f-i;d=4}}else{g[b+908>>2]=0.0;d=0}c[b+956>>2]=d;g[b+944>>2]=j;f=+g[b+684>>2];h=+g[b+700>>2];if(!(f>h)){g[b+912>>2]=j-f;if(f==h)d=3;else{g[b+928>>2]=j-h;d=4}}else{g[b+912>>2]=0.0;d=0}c[b+960>>2]=d;g[b+948>>2]=k;f=+g[b+688>>2];h=+g[b+704>>2];if(!(f>h)){g[b+916>>2]=k-f;if(f==h)d=3;else{g[b+932>>2]=k-h;d=4}}else{g[b+916>>2]=0.0;d=0}c[b+964>>2]=d;K=+g[b+1300>>2];L=+g[b+1316>>2];M=+g[b+1332>>2];u=M*(U*X-S*Y)*x+(K*s+L*(Q*Y-T*X)*x);N=+g[b+1304>>2];O=+g[b+1320>>2];P=+g[b+1336>>2];v=s*N+(Q*Y-T*X)*x*O+(U*X-S*Y)*x*P;G=+g[b+1308>>2];I=+g[b+1324>>2];k=s*G+(Q*Y-T*X)*x*I+(U*X-S*Y)*x*(z*D+A*E+C*F);s=M*(V*Y-U*W)*x+(K*w+L*(T*W-R*Y)*x);t=N*w+(T*W-R*Y)*x*O+(V*Y-U*W)*x*P;h=w*G+(T*W-R*Y)*x*I+(V*Y-U*W)*x*(z*D+A*E+C*F);i=M*(S*W-V*X)*x+(K*y+L*(R*X-Q*W)*x);j=N*y+(R*X-Q*W)*x*O+(S*W-V*X)*x*P;f=y*G+(R*X-Q*W)*x*I+(S*W-V*X)*x*(z*D+A*E+C*F);switch(c[b+1232>>2]|0){case 0:{do if(i<1.0)if(i>-1.0){g[b+1364>>2]=+J(+-j,+f);f=i<-1.0?-1.0:i;g[b+1368>>2]=+H(+(f>1.0?1.0:f));f=+J(+-s,+u);break}else{g[b+1364>>2]=-+J(+v,+t);g[b+1368>>2]=-1.5707963705062866;f=0.0;break}else{g[b+1364>>2]=+J(+v,+t);g[b+1368>>2]=1.5707963705062866;f=0.0}while(0);g[b+1372>>2]=f;g[b+1396>>2]=M*U-L*T;g[b+1400>>2]=K*T-M*Y;g[b+1404>>2]=L*Y-K*U;g[b+1408>>2]=0.0;g[b+1380>>2]=T*(K*T-M*Y)-U*(L*Y-K*U);g[b+1384>>2]=Y*(L*Y-K*U)-T*(M*U-L*T);g[b+1388>>2]=U*(M*U-L*T)-Y*(K*T-M*Y);g[b+1392>>2]=0.0;g[b+1412>>2]=L*(L*Y-K*U)-M*(K*T-M*Y);g[b+1416>>2]=M*(M*U-L*T)-K*(L*Y-K*U);g[b+1420>>2]=K*(K*T-M*Y)-L*(M*U-L*T);g[b+1424>>2]=0.0;d=b+1380|0;e=b+1384|0;l=b+1388|0;m=b+1396|0;n=b+1400|0;o=b+1404|0;p=b+1412|0;q=b+1416|0;r=b+1420|0;i=T*(K*T-M*Y)-U*(L*Y-K*U);j=Y*(L*Y-K*U)-T*(M*U-L*T);k=U*(M*U-L*T)-Y*(K*T-M*Y);s=M*U-L*T;t=K*T-M*Y;u=L*Y-K*U;v=L*(L*Y-K*U)-M*(K*T-M*Y);h=M*(M*U-L*T)-K*(L*Y-K*U);f=K*(K*T-M*Y)-L*(M*U-L*T);break}case 1:{do if(s<1.0)if(s>-1.0){g[b+1364>>2]=+J(+h,+t);g[b+1368>>2]=+J(+i,+u);f=-s<-1.0?-1.0:-s;f=+H(+(f>1.0?1.0:f));break}else{g[b+1364>>2]=-+J(+-k,+f);g[b+1368>>2]=0.0;f=1.5707963705062866;break}else{g[b+1364>>2]=+J(+-k,+f);g[b+1368>>2]=0.0;f=-1.5707963705062866}while(0);g[b+1372>>2]=f;g[b+1412>>2]=L*Q-M*S;g[b+1416>>2]=M*X-K*Q;g[b+1420>>2]=K*S-L*X;g[b+1424>>2]=0.0;g[b+1380>>2]=S*(K*S-L*X)-Q*(M*X-K*Q);g[b+1384>>2]=Q*(L*Q-M*S)-X*(K*S-L*X);g[b+1388>>2]=X*(M*X-K*Q)-S*(L*Q-M*S);g[b+1392>>2]=0.0;g[b+1396>>2]=M*(M*X-K*Q)-L*(K*S-L*X);g[b+1400>>2]=K*(K*S-L*X)-M*(L*Q-M*S);g[b+1404>>2]=L*(L*Q-M*S)-K*(M*X-K*Q);g[b+1408>>2]=0.0;d=b+1380|0;e=b+1384|0;l=b+1388|0;m=b+1396|0;n=b+1400|0;o=b+1404|0;p=b+1412|0;q=b+1416|0;r=b+1420|0;i=S*(K*S-L*X)-Q*(M*X-K*Q);j=Q*(L*Q-M*S)-X*(K*S-L*X);k=X*(M*X-K*Q)-S*(L*Q-M*S);s=M*(M*X-K*Q)-L*(K*S-L*X);t=K*(K*S-L*X)-M*(L*Q-M*S);u=L*(L*Q-M*S)-K*(M*X-K*Q);v=L*Q-M*S;h=M*X-K*Q;f=K*S-L*X;break}case 2:{do if(j<1.0)if(j>-1.0){X=-j<-1.0?-1.0:-j;g[b+1364>>2]=+H(+(X>1.0?1.0:X));g[b+1368>>2]=+J(+i,+f);f=+J(+v,+t);break}else{g[b+1364>>2]=1.5707963705062866;g[b+1368>>2]=-+J(+-s,+u);f=0.0;break}else{g[b+1364>>2]=-1.5707963705062866;g[b+1368>>2]=+J(+-s,+u);f=0.0}while(0);g[b+1372>>2]=f;g[b+1380>>2]=O*T-P*U;g[b+1384>>2]=P*Y-N*T;g[b+1388>>2]=N*U-O*Y;g[b+1392>>2]=0.0;g[b+1396>>2]=U*(N*U-O*Y)-T*(P*Y-N*T);g[b+1400>>2]=T*(O*T-P*U)-Y*(N*U-O*Y);g[b+1404>>2]=Y*(P*Y-N*T)-U*(O*T-P*U);g[b+1408>>2]=0.0;g[b+1412>>2]=P*(P*Y-N*T)-O*(N*U-O*Y);g[b+1416>>2]=N*(N*U-O*Y)-P*(O*T-P*U);g[b+1420>>2]=O*(O*T-P*U)-N*(P*Y-N*T);g[b+1424>>2]=0.0;d=b+1380|0;e=b+1384|0;l=b+1388|0;m=b+1396|0;n=b+1400|0;o=b+1404|0;p=b+1412|0;q=b+1416|0;r=b+1420|0;i=O*T-P*U;j=P*Y-N*T;k=N*U-O*Y;s=U*(N*U-O*Y)-T*(P*Y-N*T);t=T*(O*T-P*U)-Y*(N*U-O*Y);u=Y*(P*Y-N*T)-U*(O*T-P*U);v=P*(P*Y-N*T)-O*(N*U-O*Y);h=N*(N*U-O*Y)-P*(O*T-P*U);f=O*(O*T-P*U)-N*(P*Y-N*T);break}case 3:{do if(v<1.0)if(v>-1.0){g[b+1364>>2]=+J(+-j,+t);g[b+1368>>2]=+J(+-k,+u);f=v<-1.0?-1.0:v;f=+H(+(f>1.0?1.0:f));break}else{g[b+1364>>2]=0.0;g[b+1368>>2]=-+J(+h,+f);f=-1.5707963705062866;break}else{g[b+1364>>2]=0.0;g[b+1368>>2]=+J(+h,+f);f=1.5707963705062866}while(0);g[b+1372>>2]=f;g[b+1412>>2]=V*P-R*O;g[b+1416>>2]=R*N-W*P;g[b+1420>>2]=W*O-V*N;g[b+1424>>2]=0.0;g[b+1380>>2]=O*(W*O-V*N)-P*(R*N-W*P);g[b+1384>>2]=P*(V*P-R*O)-N*(W*O-V*N);g[b+1388>>2]=N*(R*N-W*P)-O*(V*P-R*O);g[b+1392>>2]=0.0;g[b+1396>>2]=R*(R*N-W*P)-V*(W*O-V*N);g[b+1400>>2]=W*(W*O-V*N)-R*(V*P-R*O);g[b+1404>>2]=V*(V*P-R*O)-W*(R*N-W*P);g[b+1408>>2]=0.0;d=b+1380|0;e=b+1384|0;l=b+1388|0;m=b+1396|0;n=b+1400|0;o=b+1404|0;p=b+1412|0;q=b+1416|0;r=b+1420|0;i=O*(W*O-V*N)-P*(R*N-W*P);j=P*(V*P-R*O)-N*(W*O-V*N);k=N*(R*N-W*P)-O*(V*P-R*O);s=R*(R*N-W*P)-V*(W*O-V*N);t=W*(W*O-V*N)-R*(V*P-R*O);u=V*(V*P-R*O)-W*(R*N-W*P);v=V*P-R*O;h=R*N-W*P;f=W*O-V*N;break}case 4:{do if(h<1.0)if(h>-1.0){Y=h<-1.0?-1.0:h;g[b+1364>>2]=+H(+(Y>1.0?1.0:Y));g[b+1368>>2]=+J(+-k,+f);f=+J(+-s,+t);break}else{g[b+1364>>2]=-1.5707963705062866;g[b+1368>>2]=0.0;f=-+J(+i,+u);break}else{g[b+1364>>2]=1.5707963705062866;g[b+1368>>2]=0.0;f=+J(+i,+u)}while(0);g[b+1372>>2]=f;Y=S*(z*D+A*E+C*F)-Q*I;f=Q*G-X*(z*D+A*E+C*F);g[b+1380>>2]=Y;g[b+1384>>2]=f;g[b+1388>>2]=X*I-S*G;g[b+1392>>2]=0.0;s=I*(X*I-S*G)-(z*D+A*E+C*F)*f;t=(z*D+A*E+C*F)*Y-G*(X*I-S*G);g[b+1396>>2]=s;g[b+1400>>2]=t;g[b+1404>>2]=G*f-I*Y;g[b+1408>>2]=0.0;g[b+1412>>2]=Q*f-S*(X*I-S*G);g[b+1416>>2]=X*(X*I-S*G)-Q*Y;g[b+1420>>2]=S*Y-X*f;g[b+1424>>2]=0.0;d=b+1380|0;e=b+1384|0;l=b+1388|0;m=b+1396|0;n=b+1400|0;o=b+1404|0;p=b+1412|0;q=b+1416|0;r=b+1420|0;i=Y;j=f;k=X*I-S*G;u=G*f-I*Y;v=Q*f-S*(X*I-S*G);h=X*(X*I-S*G)-Q*Y;f=S*Y-X*f;break}case 5:{do if(k<1.0)if(k>-1.0){g[b+1364>>2]=+J(+h,+f);f=-k<-1.0?-1.0:-k;g[b+1368>>2]=+H(+(f>1.0?1.0:f));f=+J(+v,+u);break}else{g[b+1364>>2]=0.0;g[b+1368>>2]=1.5707963705062866;f=-+J(+s,+i);break}else{g[b+1364>>2]=0.0;g[b+1368>>2]=-1.5707963705062866;f=+J(+-s,+-i)}while(0);g[b+1372>>2]=f;f=R*I-V*(z*D+A*E+C*F);Y=W*(z*D+A*E+C*F)-R*G;g[b+1396>>2]=f;g[b+1400>>2]=Y;g[b+1404>>2]=V*G-W*I;g[b+1408>>2]=0.0;i=(z*D+A*E+C*F)*Y-I*(V*G-W*I);j=G*(V*G-W*I)-(z*D+A*E+C*F)*f;g[b+1380>>2]=i;g[b+1384>>2]=j;g[b+1388>>2]=I*f-G*Y;g[b+1392>>2]=0.0;g[b+1412>>2]=V*(V*G-W*I)-R*Y;g[b+1416>>2]=R*f-W*(V*G-W*I);g[b+1420>>2]=W*Y-V*f;g[b+1424>>2]=0.0;d=b+1380|0;e=b+1384|0;l=b+1388|0;m=b+1396|0;n=b+1400|0;o=b+1404|0;p=b+1412|0;q=b+1416|0;r=b+1420|0;k=I*f-G*Y;s=f;t=Y;u=V*G-W*I;v=V*(V*G-W*I)-R*Y;h=R*f-W*(V*G-W*I);f=W*Y-V*f;break}default:{d=b+1380|0;e=b+1384|0;l=b+1388|0;m=b+1396|0;n=b+1400|0;o=b+1404|0;p=b+1412|0;q=b+1416|0;r=b+1420|0;i=+g[b+1380>>2];j=+g[b+1384>>2];k=+g[b+1388>>2];s=+g[b+1396>>2];t=+g[b+1400>>2];u=+g[b+1404>>2];v=+g[b+1412>>2];h=+g[b+1416>>2];f=+g[b+1420>>2]}}X=1.0/+B(+(i*i+j*j+k*k));g[d>>2]=i*X;g[e>>2]=j*X;g[l>>2]=k*X;X=1.0/+B(+(s*s+t*t+u*u));g[m>>2]=s*X;g[n>>2]=t*X;g[o>>2]=u*X;X=1.0/+B(+(v*v+h*h+f*f));g[p>>2]=v*X;g[q>>2]=h*X;g[r>>2]=f*X;X=+g[(c[b+28>>2]|0)+404>>2];Y=+g[(c[b+32>>2]|0)+404>>2];a[b+1452>>0]=(X<1.1920928955078125e-07|Y<1.1920928955078125e-07)&1;Y=X+Y>0.0?Y/(X+Y):.5;g[b+1444>>2]=Y;g[b+1448>>2]=1.0-Y;return}function sc(b,d,e,f,h){b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;var i=0.0,j=0.0,k=0.0,m=0.0,n=0.0,o=0.0,p=0.0,q=0,r=0.0,s=0.0,t=0.0,u=0.0,v=0.0,w=0.0,x=0.0,y=0.0,z=0.0,A=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0.0,K=0.0,L=0,M=0.0,N=0,O=0.0,P=0,Q=0.0,R=0,S=0.0,T=0;T=l;l=l+208|0;g[b+56>>2]=0.0;H=T+192+4|0;I=T+192+8|0;c[T+192>>2]=0;c[T+192+4>>2]=0;c[T+192+8>>2]=0;c[T+192+12>>2]=0;c[T+128>>2]=c[d>>2];c[T+128+4>>2]=c[d+4>>2];c[T+128+8>>2]=c[d+8>>2];c[T+128+12>>2]=c[d+12>>2];c[T+128+16>>2]=c[d+16>>2];c[T+128+16+4>>2]=c[d+16+4>>2];c[T+128+16+8>>2]=c[d+16+8>>2];c[T+128+16+12>>2]=c[d+16+12>>2];c[T+128+32>>2]=c[d+32>>2];c[T+128+32+4>>2]=c[d+32+4>>2];c[T+128+32+8>>2]=c[d+32+8>>2];c[T+128+32+12>>2]=c[d+32+12>>2];D=T+128+48|0;c[D>>2]=c[d+48>>2];c[D+4>>2]=c[d+48+4>>2];c[D+8>>2]=c[d+48+8>>2];c[D+12>>2]=c[d+48+12>>2];c[T+64>>2]=c[d+64>>2];c[T+64+4>>2]=c[d+64+4>>2];c[T+64+8>>2]=c[d+64+8>>2];c[T+64+12>>2]=c[d+64+12>>2];c[T+64+16>>2]=c[d+80>>2];c[T+64+16+4>>2]=c[d+80+4>>2];c[T+64+16+8>>2]=c[d+80+8>>2];c[T+64+16+12>>2]=c[d+80+12>>2];c[T+64+32>>2]=c[d+96>>2];c[T+64+32+4>>2]=c[d+96+4>>2];c[T+64+32+8>>2]=c[d+96+8>>2];c[T+64+32+12>>2]=c[d+96+12>>2];E=T+64+48|0;c[E>>2]=c[d+112>>2];c[E+4>>2]=c[d+112+4>>2];c[E+8>>2]=c[d+112+8>>2];c[E+12>>2]=c[d+112+12>>2];J=+g[D>>2];K=+g[E>>2];L=T+128+52|0;M=+g[L>>2];N=T+64+52|0;O=+g[N>>2];P=T+128+56|0;Q=+g[P>>2];R=T+64+56|0;S=+g[R>>2];g[D>>2]=J-(J+K)*.5;g[L>>2]=M-(M+O)*.5;g[P>>2]=Q-(Q+S)*.5;g[E>>2]=K-(J+K)*.5;g[N>>2]=O-(M+O)*.5;g[R>>2]=S-(Q+S)*.5;if(((c[(c[b+28>>2]|0)+4>>2]|0)+-17|0)>>>0<2)D=((c[(c[b+32>>2]|0)+4>>2]|0)+-17|0)>>>0<2;else D=0;v=+g[b+44>>2];u=+g[b+48>>2];c[6889]=(c[6889]|0)+1;E=a[b+52>>0]|0;c[b+64>>2]=0;c[b+4>>2]=0;c[b+8>>2]=1065353216;c[b+12>>2]=0;g[b+16>>2]=0.0;c[b+68>>2]=0;c[b+60>>2]=-1;q=c[b+24>>2]|0;a[q+312>>0]=0;c[q>>2]=0;a[q+356>>0]=1;c[q+292>>2]=1566444395;c[q+296>>2]=1566444395;c[q+300>>2]=1566444395;g[q+304>>2]=0.0;c[q+336>>2]=0;c[q+336+4>>2]=0;c[q+336+8>>2]=0;c[q+336+12>>2]=0;a[q+336+16>>0]=0;a[q+332>>0]=a[q+332>>0]&-16;q=0;p=999999984306749440.0;do{m=+g[b+4>>2];k=+g[b+8>>2];j=+g[b+12>>2];s=+g[d+4>>2]*-m+ +g[d+20>>2]*-k+ +g[d+36>>2]*-j;t=+g[d+8>>2]*-m+ +g[d+24>>2]*-k+ +g[d+40>>2]*-j;g[T+48>>2]=+g[d>>2]*-m+ +g[d+16>>2]*-k+ +g[d+32>>2]*-j;g[T+48+4>>2]=s;g[T+48+8>>2]=t;g[T+48+12>>2]=0.0;t=m*+g[d+68>>2]+k*+g[d+84>>2]+j*+g[d+100>>2];s=m*+g[d+72>>2]+k*+g[d+88>>2]+j*+g[d+104>>2];g[T+32>>2]=m*+g[d+64>>2]+k*+g[d+80>>2]+j*+g[d+96>>2];g[T+32+4>>2]=t;g[T+32+8>>2]=s;g[T+32+12>>2]=0.0;wd(T+16|0,c[b+28>>2]|0,T+48|0);wd(T,c[b+32>>2]|0,T+32|0);s=+g[T+16>>2];t=+g[T+16+4>>2];j=+g[T+16+8>>2];k=s*+g[T+128>>2]+t*+g[T+128+4>>2]+j*+g[T+128+8>>2]+ +g[T+128+48>>2];m=s*+g[T+128+16>>2]+t*+g[T+128+20>>2]+j*+g[T+128+24>>2]+ +g[L>>2];j=s*+g[T+128+32>>2]+t*+g[T+128+36>>2]+j*+g[T+128+40>>2]+ +g[P>>2];t=+g[T>>2];s=+g[T+4>>2];r=+g[T+8>>2];n=t*+g[T+64>>2]+s*+g[T+64+4>>2]+r*+g[T+64+8>>2]+ +g[T+64+48>>2];o=t*+g[T+64+16>>2]+s*+g[T+64+20>>2]+r*+g[T+64+24>>2]+ +g[N>>2];r=t*+g[T+64+32>>2]+s*+g[T+64+36>>2]+r*+g[T+64+40>>2]+ +g[R>>2];s=D?0.0:r;t=D?0.0:j;r=D?0.0:j-r;j=(k-n)*+g[b+4>>2]+(m-o)*+g[b+8>>2]+r*+g[b+12>>2];if(j>0.0?j*j>p*+g[d+128>>2]:0){c[b+68>>2]=10;q=1;h=0}else G=7;do if((G|0)==7){G=0;A=c[b+24>>2]|0;C=c[A>>2]|0;a:do if((C|0)>0){i=+g[A+308>>2];h=0;while(1){x=k-n-+g[A+4+(h<<4)>>2];y=m-o-+g[A+4+(h<<4)+4>>2];z=r-+g[A+4+(h<<4)+8>>2];h=h+1|0;if(x*x+y*y+z*z<=i){h=1;break a}if((h|0)>=(C|0)){h=0;break}}}else h=0;while(0);if((+g[A+304>>2]==0.0?r==+g[A+300>>2]:0)?m-o==+g[A+296>>2]:0){if(k-n==+g[A+292>>2]|h)G=16}else G=15;if((G|0)==15?(G=0,h):0)G=16;if((G|0)==16){G=0;c[b+68>>2]=1;q=1;h=0;break}i=p-j;if(i<=p*9.999999974752427e-07){c[b+68>>2]=!(i<=0.0)?11:2;q=1;h=0;break}g[A+292>>2]=k-n;g[A+296>>2]=m-o;g[A+300>>2]=r;g[A+304>>2]=0.0;a[A+356>>0]=1;g[A+4+(C<<4)>>2]=k-n;g[A+4+(C<<4)+4>>2]=m-o;g[A+4+(C<<4)+8>>2]=r;g[A+4+(C<<4)+12>>2]=0.0;h=c[A>>2]|0;g[A+84+(h<<4)>>2]=k;g[A+84+(h<<4)+4>>2]=m;g[A+84+(h<<4)+8>>2]=t;g[A+84+(h<<4)+12>>2]=0.0;h=c[A>>2]|0;g[A+164+(h<<4)>>2]=n;g[A+164+(h<<4)+4>>2]=o;g[A+164+(h<<4)+8>>2]=s;g[A+164+(h<<4)+12>>2]=0.0;c[A>>2]=(c[A>>2]|0)+1;h=c[b+24>>2]|0;C=ic(h)|0;i=+g[h+276>>2];j=+g[h+280>>2];k=+g[h+284>>2];h=c[h+288>>2]|0;if(!C){c[b+68>>2]=3;q=1;h=0;break}if(i*i+j*j+k*k<9.999999974752427e-07){g[b+4>>2]=i;g[b+8>>2]=j;g[b+12>>2]=k;c[b+16>>2]=h;c[b+68>>2]=6;q=1;h=0;break}if(p-(i*i+j*j+k*k)<=p*1.1920928955078125e-07){c[b+68>>2]=12;p=i*i+j*j+k*k;q=1;h=0;break}g[b+4>>2]=i;g[b+8>>2]=j;g[b+12>>2]=k;c[b+16>>2]=h;C=c[b+64>>2]|0;c[b+64>>2]=C+1;if((C|0)<=1e3)if((c[c[b+24>>2]>>2]|0)==4){c[b+68>>2]=13;p=i*i+j*j+k*k;h=0}else{p=i*i+j*j+k*k;h=1}else{p=i*i+j*j+k*k;h=0}}while(0)}while(h);t=E<<24>>24==0?u:0.0;s=(E<<24>>24==0?v:0.0)+t;if(q){E=c[b+24>>2]|0;ic(E)|0;o=+g[E+260>>2];n=+g[E+264>>2];m=+g[E+268>>2];c[T+192>>2]=c[b+4>>2];c[T+192+4>>2]=c[b+4+4>>2];c[T+192+8>>2]=c[b+4+8>>2];c[T+192+12>>2]=c[b+4+12>>2];i=+g[b+4>>2];j=+g[b+8>>2];k=+g[b+12>>2];if(i*i+j*j+k*k<9.999999974752427e-07)c[b+68>>2]=5;if(i*i+j*j+k*k>1.4210854715202004e-14){y=1.0/+B(+(i*i+j*j+k*k));g[T+192>>2]=y*+g[T+192>>2];g[H>>2]=y*+g[H>>2];g[I>>2]=y*+g[I>>2];z=t/+B(+p);p=1.0/y-s;q=1;h=1;o=z*i+o;n=z*j+n;m=z*k+m}else{p=0.0;q=0;h=2}c[b+60>>2]=h}else{p=0.0;q=0;o=0.0;n=0.0;m=0.0}if(((c[b+72>>2]|0)!=0?(c[b+20>>2]|0)!=0:0)?(c[b+68>>2]|0)!=0:0)h=s+p<1.0000000474974513e-03;else h=0;A=q^1;do if(h|A?(F=c[b+20>>2]|0,(F|0)!=0):0){c[6888]=(c[6888]|0)+1;c[b+4>>2]=0;c[b+4+4>>2]=0;c[b+4+8>>2]=0;c[b+4+12>>2]=0;if(!(Bb[c[(c[F>>2]|0)+8>>2]&3](F,c[b+24>>2]|0,c[b+28>>2]|0,c[b+32>>2]|0,T+128|0,T+64|0,b+4|0,T+48|0,T+32|0,f)|0)){j=+g[b+4>>2];k=+g[b+8>>2];r=+g[b+12>>2];if(!(j*j+k*k+r*r>0.0)){if(q)break;l=T;return}y=+g[T+48>>2]-+g[T+32>>2];z=+g[T+48+4>>2]-+g[T+32+4>>2];i=+g[T+48+8>>2]-+g[T+32+8>>2];i=+B(+(y*y+z*z+i*i))-s;if(i<p|A){o=t*j+ +g[T+32>>2];n=t*k+ +g[T+32+4>>2];m=t*r+ +g[T+32+8>>2];c[T+192>>2]=c[b+4>>2];c[T+192+4>>2]=c[b+4+4>>2];c[T+192+8>>2]=c[b+4+8>>2];c[T+192+12>>2]=c[b+4+12>>2];x=+g[T+192>>2];y=+g[H>>2];z=+g[I>>2];p=1.0/+B(+(x*x+y*y+z*z));g[T+192>>2]=x*p;g[H>>2]=y*p;g[I>>2]=z*p;c[b+60>>2]=6;p=i;break}c[b+60>>2]=5;if(q)break;l=T;return}j=+g[T+32>>2];k=+g[T+48>>2];r=+g[T+32+4>>2];s=+g[T+48+4>>2];t=+g[T+32+8>>2];u=+g[T+48+8>>2];if(!((j-k)*(j-k)+(r-s)*(r-s)+(t-u)*(t-u)<=1.4210854715202004e-14)){i=(j-k)*(j-k)+(r-s)*(r-s)+(t-u)*(t-u);w=j-k;x=t-u;y=0.0;z=r-s}else{w=+g[b+4>>2];z=+g[b+8>>2];x=+g[b+12>>2];i=w*w+z*z+x*x;y=+g[b+16>>2]}if(!(i>1.4210854715202004e-14)){c[b+60>>2]=9;if(q)break;l=T;return}v=1.0/+B(+i);i=-+B(+((k-j)*(k-j)+(s-r)*(s-r)+(u-t)*(u-t)));c[b+60>>2]=3;if(p>i|A){o=+g[T+32>>2];n=+g[T+32+4>>2];m=+g[T+32+8>>2];g[T+192>>2]=w*v;g[H>>2]=z*v;g[I>>2]=x*v;g[T+192+12>>2]=y;p=i;break}c[b+60>>2]=8;if(!q){l=T;return}}else G=54;while(0);if((G|0)==54)if(!q){l=T;return}if(!(p<0.0)?!(p*p<+g[d+128>>2]):0){l=T;return}c[b+4>>2]=c[T+192>>2];c[b+4+4>>2]=c[T+192+4>>2];c[b+4+8>>2]=c[T+192+8>>2];c[b+4+12>>2]=c[T+192+12>>2];g[b+56>>2]=p;u=+g[T+192>>2];v=+g[H>>2];z=+g[I>>2];j=u*+g[d+4>>2]+v*+g[d+20>>2]+z*+g[d+36>>2];i=u*+g[d+8>>2]+v*+g[d+24>>2]+z*+g[d+40>>2];g[T+48>>2]=+g[d>>2]*u+ +g[d+16>>2]*v+ +g[d+32>>2]*z;g[T+48+4>>2]=j;g[T+48+8>>2]=i;g[T+48+12>>2]=0.0;i=+g[d+68>>2]*-u+ +g[d+84>>2]*-v+ +g[d+100>>2]*-z;j=+g[d+72>>2]*-u+ +g[d+88>>2]*-v+ +g[d+104>>2]*-z;g[T+32>>2]=+g[d+64>>2]*-u+ +g[d+80>>2]*-v+ +g[d+96>>2]*-z;g[T+32+4>>2]=i;g[T+32+8>>2]=j;g[T+32+12>>2]=0.0;wd(T+16|0,c[b+28>>2]|0,T+48|0);wd(T,c[b+32>>2]|0,T+32|0);j=+g[T+16>>2];i=+g[T+16+4>>2];z=+g[T+16+8>>2];v=+g[T>>2];u=+g[T+4>>2];t=+g[T+8>>2];y=+g[T+192>>2];x=+g[H>>2];w=+g[I>>2];t=(j*+g[T+128>>2]+i*+g[T+128+4>>2]+z*+g[T+128+8>>2]+ +g[T+128+48>>2]-(v*+g[T+64>>2]+u*+g[T+64+4>>2]+t*+g[T+64+8>>2]+ +g[T+64+48>>2]))*-y+(j*+g[T+128+16>>2]+i*+g[T+128+20>>2]+z*+g[T+128+24>>2]+ +g[L>>2]-(v*+g[T+64+16>>2]+u*+g[T+64+20>>2]+t*+g[T+64+24>>2]+ +g[N>>2]))*-x+(j*+g[T+128+32>>2]+i*+g[T+128+36>>2]+z*+g[T+128+40>>2]+ +g[P>>2]-(v*+g[T+64+32>>2]+u*+g[T+64+36>>2]+t*+g[T+64+40>>2]+ +g[R>>2]))*-w;u=+g[d+4>>2]*-y+ +g[d+20>>2]*-x+ +g[d+36>>2]*-w;v=+g[d+8>>2]*-y+ +g[d+24>>2]*-x+ +g[d+40>>2]*-w;g[T+48>>2]=+g[d>>2]*-y+ +g[d+16>>2]*-x+ +g[d+32>>2]*-w;g[T+48+4>>2]=u;g[T+48+8>>2]=v;g[T+48+12>>2]=0.0;v=y*+g[d+68>>2]+x*+g[d+84>>2]+w*+g[d+100>>2];u=y*+g[d+72>>2]+x*+g[d+88>>2]+w*+g[d+104>>2];g[T+32>>2]=y*+g[d+64>>2]+x*+g[d+80>>2]+w*+g[d+96>>2];g[T+32+4>>2]=v;g[T+32+8>>2]=u;g[T+32+12>>2]=0.0;wd(T+16|0,c[b+28>>2]|0,T+48|0);wd(T,c[b+32>>2]|0,T+32|0);u=+g[T+16>>2];v=+g[T+16+4>>2];w=+g[T+16+8>>2];x=+g[T>>2];y=+g[T+4>>2];z=+g[T+8>>2];i=+g[T+192>>2];j=+g[H>>2];k=+g[I>>2];if(t>(u*+g[T+128>>2]+v*+g[T+128+4>>2]+w*+g[T+128+8>>2]+ +g[T+128+48>>2]-(x*+g[T+64>>2]+y*+g[T+64+4>>2]+z*+g[T+64+8>>2]+ +g[T+64+48>>2]))*i+(u*+g[T+128+16>>2]+v*+g[T+128+20>>2]+w*+g[T+128+24>>2]+ +g[L>>2]-(x*+g[T+64+16>>2]+y*+g[T+64+20>>2]+z*+g[T+64+24>>2]+ +g[N>>2]))*j+(u*+g[T+128+32>>2]+v*+g[T+128+36>>2]+w*+g[T+128+40>>2]+ +g[P>>2]-(x*+g[T+64+32>>2]+y*+g[T+64+36>>2]+z*+g[T+64+40>>2]+ +g[R>>2]))*k){c[b+60>>2]=10;g[T+192>>2]=-i;g[H>>2]=-j;g[I>>2]=-k}b=c[(c[e>>2]|0)+16>>2]|0;g[T+48>>2]=(J+K)*.5+o;g[T+48+4>>2]=(M+O)*.5+n;g[T+48+8>>2]=(Q+S)*.5+m;g[T+48+12>>2]=0.0;Nb[b&15](e,T+192|0,T+48|0,p);l=T;return}function tc(d,f,h){d=d|0;f=f|0;h=h|0;var i=0,j=0,k=0.0,m=0.0,n=0,o=0.0,p=0.0,q=0,r=0,s=0,t=0.0,u=0.0,v=0,w=0,x=0.0,y=0.0,z=0.0,A=0,B=0,C=0.0,D=0.0,E=0.0,F=0,G=0,H=0,I=0,J=0,K=0,L=0.0,M=0.0,N=0.0;K=l;l=l+96|0;H=c[d+56>>2]|0;if((h-f|0)==1){if(!(a[d+60>>0]|0)){q=(c[d+96>>2]|0)+(H<<6)|0;r=(c[d+76>>2]|0)+(f<<6)|0;s=q+64|0;do{c[q>>2]=c[r>>2];q=q+4|0;r=r+4|0}while((q|0)<(s|0))}else{I=(c[d+116>>2]|0)+(f<<4)|0;J=(c[d+136>>2]|0)+(H<<4)|0;c[J>>2]=c[I>>2];c[J+4>>2]=c[I+4>>2];c[J+8>>2]=c[I+8>>2];c[J+12>>2]=c[I+12>>2]}c[d+56>>2]=(c[d+56>>2]|0)+1;l=K;return}if((h|0)>(f|0)){n=(a[d+60>>0]|0)==0;if(n){j=c[d+76>>2]|0;i=f;k=0.0;m=0.0;o=0.0;do{k=k+(+g[j+(i<<6)+16>>2]+ +g[j+(i<<6)>>2])*.5;m=m+(+g[j+(i<<6)+20>>2]+ +g[j+(i<<6)+4>>2])*.5;o=o+(+g[j+(i<<6)+24>>2]+ +g[j+(i<<6)+8>>2])*.5;i=i+1|0}while((i|0)!=(h|0))}else{j=c[d+116>>2]|0;p=+g[d+36>>2];t=+g[d+40>>2];u=+g[d+44>>2];x=+g[d+4>>2];y=+g[d+8>>2];z=+g[d+12>>2];i=f;k=0.0;m=0.0;o=0.0;do{k=k+(+(e[j+(i<<4)+6>>1]|0)/p+x+(+(e[j+(i<<4)>>1]|0)/p+x))*.5;m=m+(+(e[j+(i<<4)+8>>1]|0)/t+y+(+(e[j+(i<<4)+2>>1]|0)/t+y))*.5;o=o+(+(e[j+(i<<4)+10>>1]|0)/u+z+(+(e[j+(i<<4)+4>>1]|0)/u+z))*.5;i=i+1|0}while((i|0)!=(h|0))}C=1.0/+(h-f|0);E=C*k;D=C*m;C=C*o;if(n){j=c[d+76>>2]|0;i=f;k=0.0;o=0.0;p=0.0;do{x=(+g[j+(i<<6)+16>>2]+ +g[j+(i<<6)>>2])*.5-E;y=(+g[j+(i<<6)+20>>2]+ +g[j+(i<<6)+4>>2])*.5-D;z=(+g[j+(i<<6)+24>>2]+ +g[j+(i<<6)+8>>2])*.5-C;k=k+x*x;o=o+y*y;p=p+z*z;i=i+1|0}while((i|0)!=(h|0));m=+(h-f|0)}else{j=c[d+116>>2]|0;m=+g[d+36>>2];t=+g[d+40>>2];u=+g[d+44>>2];x=+g[d+4>>2];y=+g[d+8>>2];z=+g[d+12>>2];i=f;k=0.0;o=0.0;p=0.0;do{N=(+(e[j+(i<<4)+6>>1]|0)/m+x+(+(e[j+(i<<4)>>1]|0)/m+x))*.5-E;M=(+(e[j+(i<<4)+8>>1]|0)/t+y+(+(e[j+(i<<4)+2>>1]|0)/t+y))*.5-D;L=(+(e[j+(i<<4)+10>>1]|0)/u+z+(+(e[j+(i<<4)+4>>1]|0)/u+z))*.5-C;k=k+N*N;o=o+M*M;p=p+L*L;i=i+1|0}while((i|0)!=(h|0));m=+(h-f|0)}}else{p=0.0;o=0.0;k=0.0;m=+(h-f|0)}N=1.0/(m+-1.0);M=N*k;L=N*o;N=N*p;w=M<L?(L<N?2:1):M<N?2:0;c[K+16>>2]=0;c[K+16+4>>2]=0;c[K+16+8>>2]=0;c[K+16+12>>2]=0;if((h|0)>(f|0)){if(!(a[d+60>>0]|0)){j=c[d+76>>2]|0;i=f;o=0.0;m=0.0;k=0.0;do{o=(+g[j+(i<<6)+16>>2]+ +g[j+(i<<6)>>2])*.5+o;m=(+g[j+(i<<6)+20>>2]+ +g[j+(i<<6)+4>>2])*.5+m;k=(+g[j+(i<<6)+24>>2]+ +g[j+(i<<6)+8>>2])*.5+k;i=i+1|0}while((i|0)!=(h|0))}else{j=c[d+116>>2]|0;p=+g[d+36>>2];t=+g[d+40>>2];u=+g[d+44>>2];x=+g[d+4>>2];y=+g[d+8>>2];z=+g[d+12>>2];i=f;o=0.0;m=0.0;k=0.0;do{o=(+(e[j+(i<<4)+6>>1]|0)/p+x+(+(e[j+(i<<4)>>1]|0)/p+x))*.5+o;m=(+(e[j+(i<<4)+8>>1]|0)/t+y+(+(e[j+(i<<4)+2>>1]|0)/t+y))*.5+m;k=(+(e[j+(i<<4)+10>>1]|0)/u+z+(+(e[j+(i<<4)+4>>1]|0)/u+z))*.5+k;i=i+1|0}while((i|0)!=(h|0))}g[K+16>>2]=o;g[K+16+4>>2]=m;g[K+16+8>>2]=k;i=K+16|0}else{i=K+16|0;o=0.0;m=0.0;k=0.0}g[i>>2]=1.0/+(h-f|0)*o;g[K+16+4>>2]=1.0/+(h-f|0)*m;g[K+16+8>>2]=1.0/+(h-f|0)*k;x=+g[K+16+(w<<2)>>2];if((h|0)>(f|0)){i=f;v=f;do{j=(a[d+60>>0]|0)==0;if(j){G=c[d+76>>2]|0;k=+g[G+(v<<6)>>2];m=+g[G+(v<<6)+16>>2];o=+g[G+(v<<6)+4>>2];p=+g[G+(v<<6)+20>>2];t=+g[G+(v<<6)+8>>2];u=+g[G+(v<<6)+24>>2]}else{G=c[d+116>>2]|0;o=+g[d+36>>2];t=+g[d+40>>2];N=+g[d+44>>2];m=+g[d+4>>2];p=+g[d+8>>2];u=+g[d+12>>2];k=+(e[G+(v<<4)>>1]|0)/o+m;m=+(e[G+(v<<4)+6>>1]|0)/o+m;o=+(e[G+(v<<4)+2>>1]|0)/t+p;p=+(e[G+(v<<4)+8>>1]|0)/t+p;t=+(e[G+(v<<4)+4>>1]|0)/N+u;u=+(e[G+(v<<4)+10>>1]|0)/N+u}g[K>>2]=(m+k)*.5;g[K+4>>2]=(p+o)*.5;g[K+8>>2]=(u+t)*.5;g[K+12>>2]=0.0;if(+g[K+(w<<2)>>2]>x){if(j){j=c[d+76>>2]|0;n=j+(v<<6)|0;q=K+32|0;r=n;s=q+64|0;do{c[q>>2]=c[r>>2];q=q+4|0;r=r+4|0}while((q|0)<(s|0));q=n;r=j+(i<<6)|0;s=q+64|0;do{c[q>>2]=c[r>>2];q=q+4|0;r=r+4|0}while((q|0)<(s|0));q=(c[d+76>>2]|0)+(i<<6)|0;r=K+32|0;s=q+64|0;do{c[q>>2]=c[r>>2];q=q+4|0;r=r+4|0}while((q|0)<(s|0))}else{F=c[d+116>>2]|0;G=F+(v<<4)|0;c[K+32>>2]=c[G>>2];c[K+32+4>>2]=c[G+4>>2];c[K+32+8>>2]=c[G+8>>2];c[K+32+12>>2]=c[G+12>>2];F=F+(i<<4)|0;c[G>>2]=c[F>>2];c[G+4>>2]=c[F+4>>2];c[G+8>>2]=c[F+8>>2];c[G+12>>2]=c[F+12>>2];G=(c[d+116>>2]|0)+(i<<4)|0;c[G>>2]=c[K+32>>2];c[G+4>>2]=c[K+32+4>>2];c[G+8>>2]=c[K+32+8>>2];c[G+12>>2]=c[K+32+12>>2]}i=i+1|0}v=v+1|0}while((v|0)!=(h|0))}else i=f;if(!((i|0)>(((h-f|0)/3|0)+f|0)?(i|0)<(h+-1-((h-f|0)/3|0)|0):0))i=(h-f>>1)+f|0;G=c[d+56>>2]|0;if(!(a[d+60>>0]|0)){F=(c[d+96>>2]|0)+(G<<6)|0;c[F>>2]=c[d+20>>2];c[F+4>>2]=c[d+20+4>>2];c[F+8>>2]=c[d+20+8>>2];c[F+12>>2]=c[d+20+12>>2]}else{F=c[d+136>>2]|0;M=(+g[d+24>>2]-+g[d+8>>2])*+g[d+40>>2];N=(+g[d+28>>2]-+g[d+12>>2])*+g[d+44>>2];b[F+(G<<4)>>1]=~~((+g[d+20>>2]-+g[d+4>>2])*+g[d+36>>2])&65535&-2;b[F+(G<<4)+2>>1]=~~M&65535&-2;b[F+(G<<4)+4>>1]=~~N&65535&-2}j=c[d+56>>2]|0;if(!(a[d+60>>0]|0)){F=(c[d+96>>2]|0)+(j<<6)+16|0;c[F>>2]=c[d+4>>2];c[F+4>>2]=c[d+4+4>>2];c[F+8>>2]=c[d+4+8>>2];c[F+12>>2]=c[d+4+12>>2]}else{F=c[d+136>>2]|0;L=+g[d+4>>2];M=+g[d+8>>2];N=+g[d+12>>2];M=(M-M)*+g[d+40>>2];N=(N-N)*+g[d+44>>2];b[F+(j<<4)+6>>1]=~~((L-L)*+g[d+36>>2]+1.0)&65535|1;b[F+(j<<4)+8>>1]=~~(M+1.0)&65535|1;b[F+(j<<4)+10>>1]=~~(N+1.0)&65535|1}F=c[d+56>>2]|0;if((h|0)>(f|0)){B=a[d+60>>0]|0;A=f;do{if(!(B<<24>>24)){j=c[d+76>>2]|0;m=+g[j+(A<<6)>>2];u=+g[j+(A<<6)+4>>2];y=+g[j+(A<<6)+8>>2];p=+g[j+(A<<6)+12>>2];k=+g[j+(A<<6)+16>>2];x=+g[j+(A<<6)+20>>2];o=+g[j+(A<<6)+24>>2];t=+g[j+(A<<6)+28>>2];j=c[d+96>>2]|0;if(m<+g[j+(F<<6)>>2])g[j+(F<<6)>>2]=m;if(u<+g[j+(F<<6)+4>>2])g[j+(F<<6)+4>>2]=u;if(y<+g[j+(F<<6)+8>>2])g[j+(F<<6)+8>>2]=y;if(p<+g[j+(F<<6)+12>>2])g[j+(F<<6)+12>>2]=p;if(+g[j+(F<<6)+16>>2]<k)g[j+(F<<6)+16>>2]=k;if(+g[j+(F<<6)+20>>2]<x)g[j+(F<<6)+20>>2]=x;if(+g[j+(F<<6)+24>>2]<o)g[j+(F<<6)+24>>2]=o;if(+g[j+(F<<6)+28>>2]<t)g[j+(F<<6)+28>>2]=t}else{v=c[d+116>>2]|0;t=+g[d+36>>2];z=+g[d+40>>2];L=+g[d+44>>2];u=+g[d+4>>2];C=+g[d+8>>2];M=+g[d+12>>2];x=+g[d+4>>2];D=+g[d+8>>2];N=+g[d+12>>2];p=+g[d+36>>2];y=+g[d+40>>2];E=+g[d+44>>2];j=~~((+(e[v+(A<<4)>>1]|0)/t+u-x)*p)&65535&-2;n=~~((+(e[v+(A<<4)+2>>1]|0)/z+C-D)*y)&65535&-2;q=~~((+(e[v+(A<<4)+4>>1]|0)/L+M-N)*E)&65535&-2;r=~~(p*(+(e[v+(A<<4)+6>>1]|0)/t+u-x)+1.0)&65535|1;s=~~(y*(+(e[v+(A<<4)+8>>1]|0)/z+C-D)+1.0)&65535|1;v=~~(E*(+(e[v+(A<<4)+10>>1]|0)/L+M-N)+1.0)&65535|1;w=c[d+136>>2]|0;if((e[w+(F<<4)>>1]|0)>(j&65535))b[w+(F<<4)>>1]=j;if((e[w+(F<<4)+6>>1]|0)<(r&65535))b[w+(F<<4)+6>>1]=r;if((e[w+(F<<4)+2>>1]|0)>(n&65535))b[w+(F<<4)+2>>1]=n;if((e[w+(F<<4)+8>>1]|0)<(s&65535))b[w+(F<<4)+8>>1]=s;if((e[w+(F<<4)+4>>1]|0)>(q&65535))b[w+(F<<4)+4>>1]=q;if((e[w+(F<<4)+10>>1]|0)<(v&65535))b[w+(F<<4)+10>>1]=v}A=A+1|0}while((A|0)!=(h|0))}c[d+56>>2]=F+1;tc(d,f,i);A=c[d+56>>2]|0;tc(d,i,h);w=(c[d+56>>2]|0)-H|0;i=a[d+60>>0]|0;if(i<<24>>24!=0&(w|0)>128){s=c[d+136>>2]|0;r=c[s+(F+1<<4)+12>>2]|0;r=(r|0)>-1?1:0-r|0;v=c[s+(A<<4)+12>>2]|0;v=(v|0)>-1?1:0-v|0;if((r|0)<129){q=c[d+152>>2]|0;if((q|0)==(c[d+156>>2]|0)?(I=(q|0)==0?1:q<<1,(q|0)<(I|0)):0){if(!I){i=0;n=q}else{c[6897]=(c[6897]|0)+1;i=ec(I<<5|19)|0;if(!i)i=0;else{c[(i+4+15&-16)+-4>>2]=i;i=i+4+15&-16}n=c[d+152>>2]|0}if((n|0)>0){j=0;do{H=i+(j<<5)|0;h=(c[d+160>>2]|0)+(j<<5)|0;c[H>>2]=c[h>>2];c[H+4>>2]=c[h+4>>2];c[H+8>>2]=c[h+8>>2];c[H+12>>2]=c[h+12>>2];c[H+16>>2]=c[h+16>>2];c[H+20>>2]=c[h+20>>2];c[H+24>>2]=c[h+24>>2];c[H+28>>2]=c[h+28>>2];j=j+1|0}while((j|0)!=(n|0))}j=c[d+160>>2]|0;if(j|0){if(a[d+164>>0]|0){c[6898]=(c[6898]|0)+1;md(c[j+-4>>2]|0)}c[d+160>>2]=0}a[d+164>>0]=1;c[d+160>>2]=i;c[d+156>>2]=I;i=c[d+152>>2]|0}else i=q;c[d+152>>2]=i+1;I=(c[d+160>>2]|0)+(q<<5)|0;c[I>>2]=c[K+32>>2];c[I+4>>2]=c[K+32+4>>2];c[I+8>>2]=c[K+32+8>>2];c[I+12>>2]=c[K+32+12>>2];c[I+16>>2]=c[K+32+16>>2];c[I+20>>2]=c[K+32+20>>2];c[I+24>>2]=c[K+32+24>>2];c[I+28>>2]=c[K+32+28>>2];I=c[d+160>>2]|0;b[I+(q<<5)>>1]=b[s+(F+1<<4)>>1]|0;b[I+(q<<5)+2>>1]=b[s+(F+1<<4)+2>>1]|0;b[I+(q<<5)+4>>1]=b[s+(F+1<<4)+4>>1]|0;b[I+(q<<5)+6>>1]=b[s+(F+1<<4)+6>>1]|0;b[I+(q<<5)+8>>1]=b[s+(F+1<<4)+8>>1]|0;b[I+(q<<5)+10>>1]=b[s+(F+1<<4)+10>>1]|0;c[I+(q<<5)+12>>2]=F+1;c[I+(q<<5)+16>>2]=r}if((v|0)<129){q=c[d+152>>2]|0;if((q|0)==(c[d+156>>2]|0)?(J=(q|0)==0?1:q<<1,(q|0)<(J|0)):0){if(!J){i=0;n=q}else{c[6897]=(c[6897]|0)+1;i=ec(J<<5|19)|0;if(!i)i=0;else{c[(i+4+15&-16)+-4>>2]=i;i=i+4+15&-16}n=c[d+152>>2]|0}if((n|0)>0){j=0;do{I=i+(j<<5)|0;H=(c[d+160>>2]|0)+(j<<5)|0;c[I>>2]=c[H>>2];c[I+4>>2]=c[H+4>>2];c[I+8>>2]=c[H+8>>2];c[I+12>>2]=c[H+12>>2];c[I+16>>2]=c[H+16>>2];c[I+20>>2]=c[H+20>>2];c[I+24>>2]=c[H+24>>2];c[I+28>>2]=c[H+28>>2];j=j+1|0}while((j|0)!=(n|0))}j=c[d+160>>2]|0;if(j|0){if(a[d+164>>0]|0){c[6898]=(c[6898]|0)+1;md(c[j+-4>>2]|0)}c[d+160>>2]=0}a[d+164>>0]=1;c[d+160>>2]=i;c[d+156>>2]=J;i=c[d+152>>2]|0}else i=q;c[d+152>>2]=i+1;i=(c[d+160>>2]|0)+(q<<5)|0;c[i>>2]=c[K+32>>2];c[i+4>>2]=c[K+32+4>>2];c[i+8>>2]=c[K+32+8>>2];c[i+12>>2]=c[K+32+12>>2];c[i+16>>2]=c[K+32+16>>2];c[i+20>>2]=c[K+32+20>>2];c[i+24>>2]=c[K+32+24>>2];c[i+28>>2]=c[K+32+28>>2];i=c[d+160>>2]|0;b[i+(q<<5)>>1]=b[s+(A<<4)>>1]|0;b[i+(q<<5)+2>>1]=b[s+(A<<4)+2>>1]|0;b[i+(q<<5)+4>>1]=b[s+(A<<4)+4>>1]|0;b[i+(q<<5)+6>>1]=b[s+(A<<4)+6>>1]|0;b[i+(q<<5)+8>>1]=b[s+(A<<4)+8>>1]|0;b[i+(q<<5)+10>>1]=b[s+(A<<4)+10>>1]|0;c[i+(q<<5)+12>>2]=A;c[i+(q<<5)+16>>2]=v;i=d+152|0}else i=d+152|0;c[d+168>>2]=c[i>>2];i=a[d+60>>0]|0}if(!(i<<24>>24)){c[(c[d+96>>2]|0)+(G<<6)+32>>2]=w;l=K;return}else{c[(c[d+136>>2]|0)+(G<<4)+12>>2]=0-w;l=K;return}}function uc(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,h=0.0,i=0.0,j=0.0,k=0.0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0.0,u=0.0,v=0.0,w=0.0,x=0.0,y=0.0,z=0.0,A=0.0,B=0.0,C=0.0,D=0.0,E=0.0,F=0.0,G=0.0,H=0.0,I=0.0,J=0.0,K=0.0,L=0.0,M=0,N=0;s=l;l=l+208|0;if(sb[c[(c[a>>2]|0)+20>>2]&127](a)|0?(r=sb[c[(c[a>>2]|0)+20>>2]&127](a)|0,(sb[c[(c[r>>2]|0)+56>>2]&127](r)|0)&32768|0):0){r=sb[c[(c[a>>2]|0)+20>>2]&127](a)|0;Jb[c[(c[r>>2]|0)+64>>2]&7](r,b,.10000000149011612)}f=c[d+4>>2]|0;switch(f|0){case 31:{f=c[d+20>>2]|0;if((f|0)<=0){l=s;return}do{r=f;f=f+-1|0;q=c[d+28>>2]|0;D=+g[q+(f*80|0)>>2];A=+g[q+(f*80|0)+4>>2];x=+g[q+(f*80|0)+8>>2];C=+g[q+(f*80|0)+16>>2];z=+g[q+(f*80|0)+20>>2];v=+g[q+(f*80|0)+24>>2];B=+g[q+(f*80|0)+32>>2];y=+g[q+(f*80|0)+36>>2];t=+g[q+(f*80|0)+40>>2];L=+g[q+(f*80|0)+48>>2];K=+g[q+(f*80|0)+52>>2];k=+g[q+(f*80|0)+56>>2];q=c[q+(f*80|0)+64>>2]|0;p=c[(c[a>>2]|0)+28>>2]|0;J=+g[b>>2];I=+g[b+4>>2];H=+g[b+8>>2];G=+g[b+16>>2];F=+g[b+20>>2];E=+g[b+24>>2];w=+g[b+32>>2];u=+g[b+36>>2];h=+g[b+40>>2];i=L*J+K*I+k*H+ +g[b+48>>2];j=L*G+K*F+k*E+ +g[b+52>>2];k=L*w+K*u+k*h+ +g[b+56>>2];g[s+144>>2]=D*J+C*I+B*H;g[s+144+4>>2]=A*J+z*I+y*H;g[s+144+8>>2]=x*J+v*I+t*H;g[s+144+12>>2]=0.0;g[s+144+16>>2]=D*G+C*F+B*E;g[s+144+20>>2]=A*G+z*F+y*E;g[s+144+24>>2]=x*G+v*F+t*E;g[s+144+28>>2]=0.0;g[s+144+32>>2]=D*w+C*u+B*h;g[s+144+36>>2]=A*w+z*u+y*h;g[s+144+40>>2]=x*w+v*u+t*h;g[s+144+44>>2]=0.0;g[s+144+48>>2]=i;g[s+144+52>>2]=j;g[s+144+56>>2]=k;g[s+144+60>>2]=0.0;Pb[p&127](a,s+144|0,q,e)}while((r|0)>1);l=s;return}case 0:{c[s+144>>2]=c[d+32>>2];c[s+144+4>>2]=c[d+32+4>>2];c[s+144+8>>2]=c[d+32+8>>2];c[s+144+12>>2]=c[d+32+12>>2];J=+ib[c[(c[d>>2]|0)+48>>2]&15](d);K=+ib[c[(c[d>>2]|0)+48>>2]&15](d);L=+ib[c[(c[d>>2]|0)+48>>2]&15](d);J=J+ +g[s+144>>2];g[s+144>>2]=J;K=K+ +g[s+144+4>>2];g[s+144+4>>2]=K;L=L+ +g[s+144+8>>2];g[s+144+8>>2]=L;d=sb[c[(c[a>>2]|0)+20>>2]&127](a)|0;a=c[(c[d>>2]|0)+80>>2]|0;g[s+128>>2]=-J;g[s+128+4>>2]=-K;g[s+128+8>>2]=-L;g[s+128+12>>2]=0.0;Tb[a&31](d,s+128|0,s+144|0,b,e);l=s;return}case 8:{L=+ib[c[(c[d>>2]|0)+48>>2]&15](d);d=sb[c[(c[a>>2]|0)+20>>2]&127](a)|0;Hb[c[(c[d>>2]|0)+24>>2]&0](d,L,b,e);l=s;return}case 9:{f=c[d+96>>2]|0;if((f|0)<=0){l=s;return}do{r=f;f=f+-1|0;q=c[d+104>>2]|0;x=+g[q+(f<<4)>>2];y=+g[q+(f<<4)+4>>2];K=+g[q+(f<<4)+8>>2];q=sb[c[(c[a>>2]|0)+20>>2]&127](a)|0;p=c[(c[q>>2]|0)+24>>2]|0;L=+g[(c[d+124>>2]|0)+(f<<2)>>2];A=+g[b>>2];B=+g[b+4>>2];z=+g[b+8>>2];D=+g[b+16>>2];E=+g[b+20>>2];C=+g[b+24>>2];G=+g[b+32>>2];H=+g[b+36>>2];F=+g[b+40>>2];I=x*A+y*B+K*z+ +g[b+48>>2];J=x*D+y*E+K*C+ +g[b+52>>2];K=x*G+y*H+K*F+ +g[b+56>>2];g[s+144>>2]=A+B*0.0+z*0.0;g[s+144+4>>2]=A*0.0+B+z*0.0;g[s+144+8>>2]=z+(A*0.0+B*0.0);g[s+144+12>>2]=0.0;g[s+144+16>>2]=D+E*0.0+C*0.0;g[s+144+20>>2]=D*0.0+E+C*0.0;g[s+144+24>>2]=C+(D*0.0+E*0.0);g[s+144+28>>2]=0.0;g[s+144+32>>2]=G+H*0.0+F*0.0;g[s+144+36>>2]=G*0.0+H+F*0.0;g[s+144+40>>2]=F+(G*0.0+H*0.0);g[s+144+44>>2]=0.0;g[s+144+48>>2]=I;g[s+144+52>>2]=J;g[s+144+56>>2]=K;g[s+144+60>>2]=0.0;Hb[p&0](q,L,s+144|0,e)}while((r|0)>1);l=s;return}case 10:{r=c[d+56>>2]|0;K=+g[d+32+(((r+2|0)%3|0)<<2)>>2];L=+g[d+32+(r<<2)>>2];d=sb[c[(c[a>>2]|0)+20>>2]&127](a)|0;Fb[c[(c[d>>2]|0)+84>>2]&0](d,K,L,r,b,e);l=s;return}case 11:{K=+g[d+60>>2];L=+g[d+64>>2];d=c[d+72>>2]|0;a=sb[c[(c[a>>2]|0)+20>>2]&127](a)|0;Fb[c[(c[a>>2]|0)+92>>2]&0](a,K,L,d,b,e);l=s;return}case 13:{r=c[d+56>>2]|0;K=+ib[c[(c[d>>2]|0)+92>>2]&15](d);c[s+112>>2]=c[d+32>>2];c[s+112+4>>2]=c[d+32+4>>2];c[s+112+8>>2]=c[d+32+8>>2];c[s+112+12>>2]=c[d+32+12>>2];I=+ib[c[(c[d>>2]|0)+48>>2]&15](d);J=+ib[c[(c[d>>2]|0)+48>>2]&15](d);L=+ib[c[(c[d>>2]|0)+48>>2]&15](d);g[s+112>>2]=I+ +g[s+112>>2];g[s+112+4>>2]=J+ +g[s+112+4>>2];g[s+112+8>>2]=L+ +g[s+112+8>>2];L=+g[s+112+(r<<2)>>2];d=sb[c[(c[a>>2]|0)+20>>2]&127](a)|0;Fb[c[(c[d>>2]|0)+88>>2]&0](d,K,L,r,b,e);l=s;return}case 28:{L=+g[d+68>>2];a=sb[c[(c[a>>2]|0)+20>>2]&127](a)|0;Lb[c[(c[a>>2]|0)+96>>2]&0](a,d+52|0,L,b,e);l=s;return}default:{a:do if((f|0)<7){r=c[d+56>>2]|0;if(!r){if((sb[c[(c[d>>2]|0)+100>>2]&127](d)|0)<=0)break;f=0;while(1){Pb[c[(c[d>>2]|0)+104>>2]&127](d,f,s+144|0,s+128|0);L=+g[s+144>>2];y=+g[b>>2];J=+g[s+144+4>>2];z=+g[b+4>>2];H=+g[s+144+8>>2];A=+g[b+8>>2];C=+g[b+16>>2];D=+g[b+20>>2];E=+g[b+24>>2];G=+g[b+32>>2];I=+g[b+36>>2];K=+g[b+40>>2];x=+g[b+48>>2];B=+g[b+52>>2];F=+g[b+56>>2];g[s+16>>2]=L*y+J*z+H*A+x;g[s+16+4>>2]=L*C+J*D+H*E+B;g[s+16+8>>2]=L*G+J*I+H*K+F;g[s+16+12>>2]=0.0;H=+g[s+128>>2];J=+g[s+128+4>>2];L=+g[s+128+8>>2];g[s>>2]=x+(y*H+z*J+A*L);g[s+4>>2]=B+(C*H+D*J+E*L);g[s+8>>2]=F+(G*H+I*J+K*L);g[s+12>>2]=0.0;r=sb[c[(c[a>>2]|0)+20>>2]&127](a)|0;Pb[c[(c[r>>2]|0)+16>>2]&127](r,s+16|0,s,e);f=f+1|0;if((f|0)>=(sb[c[(c[d>>2]|0)+100>>2]&127](d)|0))break a}}if((c[r+28>>2]|0)>0){q=0;do{f=c[r+36>>2]|0;p=c[f+(q*36|0)+4>>2]|0;b:do if((p|0)>0){m=c[f+(q*36|0)+12>>2]|0;f=0;n=c[m+(p+-1<<2)>>2]|0;h=0.0;i=0.0;k=0.0;while(1){o=c[m+(f<<2)>>2]|0;m=c[r+16>>2]|0;h=h+ +g[m+(o<<4)>>2];i=i+ +g[m+(o<<4)+4>>2];k=k+ +g[m+(o<<4)+8>>2];m=sb[c[(c[a>>2]|0)+20>>2]&127](a)|0;M=c[(c[m>>2]|0)+16>>2]|0;N=c[r+16>>2]|0;L=+g[N+(n<<4)>>2];y=+g[b>>2];J=+g[N+(n<<4)+4>>2];z=+g[b+4>>2];H=+g[N+(n<<4)+8>>2];A=+g[b+8>>2];C=+g[b+16>>2];D=+g[b+20>>2];E=+g[b+24>>2];G=+g[b+32>>2];I=+g[b+36>>2];K=+g[b+40>>2];x=+g[b+48>>2];B=+g[b+52>>2];F=+g[b+56>>2];g[s+144>>2]=L*y+J*z+H*A+x;g[s+144+4>>2]=L*C+J*D+H*E+B;g[s+144+8>>2]=L*G+J*I+H*K+F;g[s+144+12>>2]=0.0;H=+g[N+(o<<4)>>2];J=+g[N+(o<<4)+4>>2];L=+g[N+(o<<4)+8>>2];g[s+128>>2]=x+(y*H+z*J+A*L);g[s+128+4>>2]=B+(C*H+D*J+E*L);g[s+128+8>>2]=F+(G*H+I*J+K*L);g[s+128+12>>2]=0.0;Pb[M&127](m,s+144|0,s+128|0,e);f=f+1|0;m=c[r+36>>2]|0;if((f|0)>=(c[m+(q*36|0)+4>>2]|0))break b;n=o;m=c[m+(q*36|0)+12>>2]|0}}else{h=0.0;i=0.0;k=0.0}while(0);j=1.0/+(p|0)*h;i=1.0/+(p|0)*i;h=1.0/+(p|0)*k;N=sb[c[(c[a>>2]|0)+20>>2]&127](a)|0;if((sb[c[(c[N>>2]|0)+56>>2]&127](N)|0)&16384|0){c[s+144>>2]=1065353216;c[s+144+4>>2]=1065353216;c[s+144+8>>2]=0;g[s+144+12>>2]=0.0;N=c[r+36>>2]|0;F=+g[N+(q*36|0)+20>>2];H=+g[N+(q*36|0)+24>>2];J=+g[N+(q*36|0)+28>>2];N=sb[c[(c[a>>2]|0)+20>>2]&127](a)|0;M=c[(c[N>>2]|0)+16>>2]|0;x=+g[b>>2];y=+g[b+4>>2];z=+g[b+8>>2];B=+g[b+16>>2];C=+g[b+20>>2];D=+g[b+24>>2];G=+g[b+32>>2];I=+g[b+36>>2];K=+g[b+40>>2];A=+g[b+48>>2];E=+g[b+52>>2];L=+g[b+56>>2];g[s+128>>2]=j*x+i*y+h*z+A;g[s+128+4>>2]=j*B+i*C+h*D+E;g[s+128+8>>2]=j*G+i*I+h*K+L;g[s+128+12>>2]=0.0;g[s+16>>2]=(j+F)*x+(i+H)*y+(h+J)*z+A;g[s+16+4>>2]=(j+F)*B+(i+H)*C+(h+J)*D+E;g[s+16+8>>2]=(j+F)*G+(i+H)*I+(h+J)*K+L;g[s+16+12>>2]=0.0;Pb[M&127](N,s+128|0,s+16|0,s+144|0)}q=q+1|0}while((q|0)<(c[r+28>>2]|0))}}while(0);f=c[d+4>>2]|0;if((f+-21|0)>>>0<9){c[s+144>>2]=1566444395;c[s+144+4>>2]=1566444395;c[s+144+8>>2]=1566444395;g[s+144+12>>2]=0.0;c[s+128>>2]=-581039253;c[s+128+4>>2]=-581039253;c[s+128+8>>2]=-581039253;g[s+128+12>>2]=0.0;f=sb[c[(c[a>>2]|0)+20>>2]&127](a)|0;c[s+16>>2]=7504;c[s+16+4>>2]=7528;c[s+16+8>>2]=f;c[s+16+12>>2]=c[e>>2];c[s+16+12+4>>2]=c[e+4>>2];c[s+16+12+8>>2]=c[e+8>>2];c[s+16+12+12>>2]=c[e+12>>2];c[s+16+28>>2]=c[b>>2];c[s+16+28+4>>2]=c[b+4>>2];c[s+16+28+8>>2]=c[b+8>>2];c[s+16+28+12>>2]=c[b+12>>2];c[s+16+44>>2]=c[b+16>>2];c[s+16+44+4>>2]=c[b+16+4>>2];c[s+16+44+8>>2]=c[b+16+8>>2];c[s+16+44+12>>2]=c[b+16+12>>2];c[s+16+60>>2]=c[b+32>>2];c[s+16+60+4>>2]=c[b+32+4>>2];c[s+16+60+8>>2]=c[b+32+8>>2];c[s+16+60+12>>2]=c[b+32+12>>2];c[s+16+76>>2]=c[b+48>>2];c[s+16+76+4>>2]=c[b+48+4>>2];c[s+16+76+8>>2]=c[b+48+8>>2];c[s+16+76+12>>2]=c[b+48+12>>2];Pb[c[(c[d>>2]|0)+64>>2]&127](d,s+16|0,s+128|0,s+144|0);f=c[d+4>>2]|0}if((f|0)!=3){l=s;return}c[s+144>>2]=1566444395;c[s+144+4>>2]=1566444395;c[s+144+8>>2]=1566444395;g[s+144+12>>2]=0.0;c[s+128>>2]=-581039253;c[s+128+4>>2]=-581039253;c[s+128+8>>2]=-581039253;g[s+128+12>>2]=0.0;N=sb[c[(c[a>>2]|0)+20>>2]&127](a)|0;c[s+16>>2]=7504;c[s+16+4>>2]=7528;c[s+16+8>>2]=N;c[s+16+12>>2]=c[e>>2];c[s+16+12+4>>2]=c[e+4>>2];c[s+16+12+8>>2]=c[e+8>>2];c[s+16+12+12>>2]=c[e+12>>2];c[s+16+28>>2]=c[b>>2];c[s+16+28+4>>2]=c[b+4>>2];c[s+16+28+8>>2]=c[b+8>>2];c[s+16+28+12>>2]=c[b+12>>2];c[s+16+44>>2]=c[b+16>>2];c[s+16+44+4>>2]=c[b+16+4>>2];c[s+16+44+8>>2]=c[b+16+8>>2];c[s+16+44+12>>2]=c[b+16+12>>2];c[s+16+60>>2]=c[b+32>>2];c[s+16+60+4>>2]=c[b+32+4>>2];c[s+16+60+8>>2]=c[b+32+8>>2];c[s+16+60+12>>2]=c[b+32+12>>2];c[s+16+76>>2]=c[b+48>>2];c[s+16+76+4>>2]=c[b+48+4>>2];c[s+16+76+8>>2]=c[b+48+8>>2];c[s+16+76+12>>2]=c[b+48+12>>2];N=c[d+96>>2]|0;Pb[c[(c[N>>2]|0)+8>>2]&127](N,s+16+4|0,s+128|0,s+144|0);l=s;return}}}function vc(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var h=0,i=0.0,j=0,k=0,m=0,n=0,o=0,p=0.0,q=0.0,r=0.0,s=0,t=0,u=0,v=0.0,w=0.0,x=0.0,y=0.0,z=0.0,A=0.0,B=0.0,C=0.0;u=l;l=l+48|0;A=1.0/+g[b+112>>2];B=1.0/+g[b+116>>2];C=1.0/+g[b+120>>2];v=+g[b+52>>2];w=A*+g[e>>2]+v;p=+g[b+56>>2];i=B*+g[e+4>>2]+p;r=+g[b+60>>2];q=C*+g[e+8>>2]+r;v=A*+g[f>>2]+v;p=B*+g[f+4>>2]+p;r=C*+g[f+8>>2]+r;C=+g[b+20>>2];w=w<C?C:w;B=+g[b+24>>2];i=i<B?B:i;A=+g[b+28>>2];q=q<A?A:q;z=+g[b+36>>2];w=z<w?z:w;y=+g[b+40>>2];i=y<i?y:i;x=+g[b+44>>2];q=x<q?x:q;v=v<C?C:v;p=p<B?B:p;r=r<A?A:r;v=z<v?z:v;p=y<p?y:p;r=x<r?x:r;n=~~((w<0.0?-.5:.5)+w)+-1|0;j=~~((v<0.0?-.5:.5)+v)+1|0;o=~~((i<0.0?-.5:.5)+i)+-1|0;k=~~((p<0.0?-.5:.5)+p)+1|0;h=~~((q<0.0?-.5:.5)+q)+-1|0;e=~~((r<0.0?-.5:.5)+r)+1|0;m=(c[b+68>>2]|0)+-1|0;f=(c[b+72>>2]|0)+-1|0;switch(c[b+108>>2]|0){case 0:{f=(e|0)<(f|0)?e:f;e=(h|0)>0?h:0;m=(k|0)<(m|0)?k:m;o=(o|0)>0?o:0;break}case 1:{f=(e|0)<(f|0)?e:f;e=(h|0)>0?h:0;m=(j|0)<(m|0)?j:m;o=(n|0)>0?n:0;break}case 2:{f=(k|0)<(f|0)?k:f;e=(o|0)>0?o:0;m=(j|0)<(m|0)?j:m;o=(n|0)>0?n:0;break}default:{e=0;o=0}}if((e|0)>=(f|0)){l=u;return}s=(o|0)<(m|0);do if(s){k=(e&1|0)==0;n=e+1|0;r=+(e|0);h=o;while(1){do if(!(a[b+104>>0]|0)){if(a[b+105>>0]|0?(h+e&1|0)==0:0){t=16;break}if(!(k&(a[b+106>>0]|0)!=0)){i=+lb[c[(c[b>>2]|0)+68>>2]&31](b,h,e);switch(c[b+108>>2]|0){case 0:{i=i-+g[b+52>>2];p=+(h|0)-+g[b+84>>2]*.5;q=r-+g[b+88>>2]*.5;g[u>>2]=i;g[u+4>>2]=p;g[u+8>>2]=q;g[u+12>>2]=0.0;break}case 1:{C=+(h|0)-+g[b+84>>2]*.5;p=i-+g[b+56>>2];q=r-+g[b+88>>2]*.5;g[u>>2]=C;g[u+4>>2]=p;g[u+8>>2]=q;g[u+12>>2]=0.0;i=C;break}case 2:{C=+(h|0)-+g[b+84>>2]*.5;p=r-+g[b+88>>2]*.5;q=i-+g[b+60>>2];g[u>>2]=C;g[u+4>>2]=p;g[u+8>>2]=q;g[u+12>>2]=0.0;i=C;break}default:{i=+g[u>>2];p=+g[u+4>>2];q=+g[u+8>>2]}}g[u>>2]=i*+g[b+112>>2];g[u+4>>2]=p*+g[b+116>>2];g[u+8>>2]=q*+g[b+120>>2];i=+lb[c[(c[b>>2]|0)+68>>2]&31](b,h,n);switch(c[b+108>>2]|0){case 0:{i=i-+g[b+52>>2];p=+(h|0)-+g[b+84>>2]*.5;q=+(n|0)-+g[b+88>>2]*.5;g[u+16>>2]=i;g[u+20>>2]=p;g[u+24>>2]=q;g[u+28>>2]=0.0;break}case 1:{C=+(h|0)-+g[b+84>>2]*.5;p=i-+g[b+56>>2];q=+(n|0)-+g[b+88>>2]*.5;g[u+16>>2]=C;g[u+20>>2]=p;g[u+24>>2]=q;g[u+28>>2]=0.0;i=C;break}case 2:{C=+(h|0)-+g[b+84>>2]*.5;p=+(n|0)-+g[b+88>>2]*.5;q=i-+g[b+60>>2];g[u+16>>2]=C;g[u+20>>2]=p;g[u+24>>2]=q;g[u+28>>2]=0.0;i=C;break}default:{i=+g[u+16>>2];p=+g[u+20>>2];q=+g[u+24>>2]}}g[u+16>>2]=i*+g[b+112>>2];g[u+20>>2]=p*+g[b+116>>2];g[u+24>>2]=q*+g[b+120>>2];j=h+1|0;i=+lb[c[(c[b>>2]|0)+68>>2]&31](b,j,e);switch(c[b+108>>2]|0){case 0:{i=i-+g[b+52>>2];p=+(j|0)-+g[b+84>>2]*.5;q=r-+g[b+88>>2]*.5;g[u+32>>2]=i;g[u+36>>2]=p;g[u+40>>2]=q;g[u+44>>2]=0.0;break}case 1:{C=+(j|0)-+g[b+84>>2]*.5;p=i-+g[b+56>>2];q=r-+g[b+88>>2]*.5;g[u+32>>2]=C;g[u+36>>2]=p;g[u+40>>2]=q;g[u+44>>2]=0.0;i=C;break}case 2:{C=+(j|0)-+g[b+84>>2]*.5;p=r-+g[b+88>>2]*.5;q=i-+g[b+60>>2];g[u+32>>2]=C;g[u+36>>2]=p;g[u+40>>2]=q;g[u+44>>2]=0.0;i=C;break}default:{i=+g[u+32>>2];p=+g[u+36>>2];q=+g[u+40>>2]}}g[u+32>>2]=i*+g[b+112>>2];g[u+36>>2]=p*+g[b+116>>2];g[u+40>>2]=q*+g[b+120>>2];Pb[c[(c[d>>2]|0)+8>>2]&127](d,u,h,e);i=+lb[c[(c[b>>2]|0)+68>>2]&31](b,j,e);switch(c[b+108>>2]|0){case 0:{i=i-+g[b+52>>2];p=+(j|0)-+g[b+84>>2]*.5;q=r-+g[b+88>>2]*.5;g[u>>2]=i;g[u+4>>2]=p;g[u+8>>2]=q;g[u+12>>2]=0.0;break}case 1:{C=+(j|0)-+g[b+84>>2]*.5;p=i-+g[b+56>>2];q=r-+g[b+88>>2]*.5;g[u>>2]=C;g[u+4>>2]=p;g[u+8>>2]=q;g[u+12>>2]=0.0;i=C;break}case 2:{C=+(j|0)-+g[b+84>>2]*.5;p=r-+g[b+88>>2]*.5;q=i-+g[b+60>>2];g[u>>2]=C;g[u+4>>2]=p;g[u+8>>2]=q;g[u+12>>2]=0.0;i=C;break}default:{i=+g[u>>2];p=+g[u+4>>2];q=+g[u+8>>2]}}g[u>>2]=i*+g[b+112>>2];g[u+4>>2]=p*+g[b+116>>2];g[u+8>>2]=q*+g[b+120>>2];i=+lb[c[(c[b>>2]|0)+68>>2]&31](b,j,n);switch(c[b+108>>2]|0){case 0:{i=i-+g[b+52>>2];p=+(j|0)-+g[b+84>>2]*.5;q=+(n|0)-+g[b+88>>2]*.5;g[u+32>>2]=i;g[u+36>>2]=p;g[u+40>>2]=q;g[u+44>>2]=0.0;break}case 1:{C=+(j|0)-+g[b+84>>2]*.5;p=i-+g[b+56>>2];q=+(n|0)-+g[b+88>>2]*.5;g[u+32>>2]=C;g[u+36>>2]=p;g[u+40>>2]=q;g[u+44>>2]=0.0;i=C;break}case 2:{C=+(j|0)-+g[b+84>>2]*.5;p=+(n|0)-+g[b+88>>2]*.5;q=i-+g[b+60>>2];g[u+32>>2]=C;g[u+36>>2]=p;g[u+40>>2]=q;g[u+44>>2]=0.0;i=C;break}default:{i=+g[u+32>>2];p=+g[u+36>>2];q=+g[u+40>>2]}}g[u+32>>2]=i*+g[b+112>>2];g[u+36>>2]=p*+g[b+116>>2];g[u+40>>2]=q*+g[b+120>>2];Pb[c[(c[d>>2]|0)+8>>2]&127](d,u,h,e);h=j}else t=16}else t=16;while(0);if((t|0)==16){t=0;i=+lb[c[(c[b>>2]|0)+68>>2]&31](b,h,e);switch(c[b+108>>2]|0){case 0:{i=i-+g[b+52>>2];p=+(h|0)-+g[b+84>>2]*.5;q=r-+g[b+88>>2]*.5;g[u>>2]=i;g[u+4>>2]=p;g[u+8>>2]=q;g[u+12>>2]=0.0;break}case 1:{C=+(h|0)-+g[b+84>>2]*.5;p=i-+g[b+56>>2];q=r-+g[b+88>>2]*.5;g[u>>2]=C;g[u+4>>2]=p;g[u+8>>2]=q;g[u+12>>2]=0.0;i=C;break}case 2:{C=+(h|0)-+g[b+84>>2]*.5;p=r-+g[b+88>>2]*.5;q=i-+g[b+60>>2];g[u>>2]=C;g[u+4>>2]=p;g[u+8>>2]=q;g[u+12>>2]=0.0;i=C;break}default:{i=+g[u>>2];p=+g[u+4>>2];q=+g[u+8>>2]}}g[u>>2]=i*+g[b+112>>2];g[u+4>>2]=p*+g[b+116>>2];g[u+8>>2]=q*+g[b+120>>2];i=+lb[c[(c[b>>2]|0)+68>>2]&31](b,h,n);switch(c[b+108>>2]|0){case 0:{i=i-+g[b+52>>2];p=+(h|0)-+g[b+84>>2]*.5;q=+(n|0)-+g[b+88>>2]*.5;g[u+16>>2]=i;g[u+20>>2]=p;g[u+24>>2]=q;g[u+28>>2]=0.0;break}case 1:{C=+(h|0)-+g[b+84>>2]*.5;p=i-+g[b+56>>2];q=+(n|0)-+g[b+88>>2]*.5;g[u+16>>2]=C;g[u+20>>2]=p;g[u+24>>2]=q;g[u+28>>2]=0.0;i=C;break}case 2:{C=+(h|0)-+g[b+84>>2]*.5;p=+(n|0)-+g[b+88>>2]*.5;q=i-+g[b+60>>2];g[u+16>>2]=C;g[u+20>>2]=p;g[u+24>>2]=q;g[u+28>>2]=0.0;i=C;break}default:{i=+g[u+16>>2];p=+g[u+20>>2];q=+g[u+24>>2]}}g[u+16>>2]=i*+g[b+112>>2];g[u+20>>2]=p*+g[b+116>>2];g[u+24>>2]=q*+g[b+120>>2];j=h+1|0;i=+lb[c[(c[b>>2]|0)+68>>2]&31](b,j,n);switch(c[b+108>>2]|0){case 0:{i=i-+g[b+52>>2];p=+(j|0)-+g[b+84>>2]*.5;q=+(n|0)-+g[b+88>>2]*.5;g[u+32>>2]=i;g[u+36>>2]=p;g[u+40>>2]=q;g[u+44>>2]=0.0;break}case 1:{C=+(j|0)-+g[b+84>>2]*.5;p=i-+g[b+56>>2];q=+(n|0)-+g[b+88>>2]*.5;g[u+32>>2]=C;g[u+36>>2]=p;g[u+40>>2]=q;g[u+44>>2]=0.0;i=C;break}case 2:{C=+(j|0)-+g[b+84>>2]*.5;p=+(n|0)-+g[b+88>>2]*.5;q=i-+g[b+60>>2];g[u+32>>2]=C;g[u+36>>2]=p;g[u+40>>2]=q;g[u+44>>2]=0.0;i=C;break}default:{i=+g[u+32>>2];p=+g[u+36>>2];q=+g[u+40>>2]}}g[u+32>>2]=i*+g[b+112>>2];g[u+36>>2]=p*+g[b+116>>2];g[u+40>>2]=q*+g[b+120>>2];Pb[c[(c[d>>2]|0)+8>>2]&127](d,u,h,e);i=+lb[c[(c[b>>2]|0)+68>>2]&31](b,j,n);switch(c[b+108>>2]|0){case 0:{i=i-+g[b+52>>2];p=+(j|0)-+g[b+84>>2]*.5;q=+(n|0)-+g[b+88>>2]*.5;g[u+16>>2]=i;g[u+20>>2]=p;g[u+24>>2]=q;g[u+28>>2]=0.0;break}case 1:{C=+(j|0)-+g[b+84>>2]*.5;p=i-+g[b+56>>2];q=+(n|0)-+g[b+88>>2]*.5;g[u+16>>2]=C;g[u+20>>2]=p;g[u+24>>2]=q;g[u+28>>2]=0.0;i=C;break}case 2:{C=+(j|0)-+g[b+84>>2]*.5;p=+(n|0)-+g[b+88>>2]*.5;q=i-+g[b+60>>2];g[u+16>>2]=C;g[u+20>>2]=p;g[u+24>>2]=q;g[u+28>>2]=0.0;i=C;break}default:{i=+g[u+16>>2];p=+g[u+20>>2];q=+g[u+24>>2]}}g[u+16>>2]=i*+g[b+112>>2];g[u+20>>2]=p*+g[b+116>>2];g[u+24>>2]=q*+g[b+120>>2];i=+lb[c[(c[b>>2]|0)+68>>2]&31](b,j,e);switch(c[b+108>>2]|0){case 0:{i=i-+g[b+52>>2];p=+(j|0)-+g[b+84>>2]*.5;q=r-+g[b+88>>2]*.5;g[u+32>>2]=i;g[u+36>>2]=p;g[u+40>>2]=q;g[u+44>>2]=0.0;break}case 1:{C=+(j|0)-+g[b+84>>2]*.5;p=i-+g[b+56>>2];q=r-+g[b+88>>2]*.5;g[u+32>>2]=C;g[u+36>>2]=p;g[u+40>>2]=q;g[u+44>>2]=0.0;i=C;break}case 2:{C=+(j|0)-+g[b+84>>2]*.5;p=r-+g[b+88>>2]*.5;q=i-+g[b+60>>2];g[u+32>>2]=C;g[u+36>>2]=p;g[u+40>>2]=q;g[u+44>>2]=0.0;i=C;break}default:{i=+g[u+32>>2];p=+g[u+36>>2];q=+g[u+40>>2]}}g[u+32>>2]=i*+g[b+112>>2];g[u+36>>2]=p*+g[b+116>>2];g[u+40>>2]=q*+g[b+120>>2];Pb[c[(c[d>>2]|0)+8>>2]&127](d,u,h,e);h=j}if((h|0)==(m|0)){e=n;break}}}else e=e+1|0;while((e|0)!=(f|0));l=u;return}function wc(b,d){b=b|0;d=+d;var e=0,f=0.0,h=0,i=0,j=0,k=0.0,m=0.0,n=0,o=0,p=0,q=0.0,r=0,s=0,t=0.0,u=0.0,v=0.0,w=0.0,x=0,y=0,z=0.0,A=0.0,C=0.0,D=0.0,E=0.0,F=0.0,G=0.0,H=0.0,I=0.0,J=0.0,K=0.0,L=0.0,M=0.0,N=0.0,O=0.0,P=0.0,Q=0.0,R=0.0;r=l;l=l+96|0;o=c[b+128>>2]|0;if(!o){l=r;return}e=c[b+8>>2]|0;if((e|0)<(o|0)){if((c[b+12>>2]|0)<(o|0)){c[6897]=(c[6897]|0)+1;h=ec((o<<4|3)+16|0)|0;if(!h)j=0;else{c[(h+4+15&-16)+-4>>2]=h;j=h+4+15&-16}i=c[b+8>>2]|0;if((i|0)>0){h=0;do{n=j+(h<<4)|0;s=(c[b+16>>2]|0)+(h<<4)|0;c[n>>2]=c[s>>2];c[n+4>>2]=c[s+4>>2];c[n+8>>2]=c[s+8>>2];c[n+12>>2]=c[s+12>>2];h=h+1|0}while((h|0)!=(i|0))}h=c[b+16>>2]|0;if(h|0){if(a[b+20>>0]|0){c[6898]=(c[6898]|0)+1;md(c[h+-4>>2]|0)}c[b+16>>2]=0}a[b+20>>0]=1;c[b+16>>2]=j;c[b+12>>2]=o;h=b+16|0}else h=b+16|0;do{s=(c[h>>2]|0)+(e<<4)|0;c[s>>2]=c[r+48>>2];c[s+4>>2]=c[r+48+4>>2];c[s+8>>2]=c[r+48+8>>2];c[s+12>>2]=c[r+48+12>>2];e=e+1|0}while((e|0)!=(o|0))}c[b+8>>2]=o;e=c[b+28>>2]|0;if((e|0)<(o|0)){if((c[b+32>>2]|0)<(o|0)){c[6897]=(c[6897]|0)+1;h=ec((o<<4|3)+16|0)|0;if(!h)j=0;else{c[(h+4+15&-16)+-4>>2]=h;j=h+4+15&-16}i=c[b+28>>2]|0;if((i|0)>0){h=0;do{s=j+(h<<4)|0;n=(c[b+36>>2]|0)+(h<<4)|0;c[s>>2]=c[n>>2];c[s+4>>2]=c[n+4>>2];c[s+8>>2]=c[n+8>>2];c[s+12>>2]=c[n+12>>2];h=h+1|0}while((h|0)!=(i|0))}h=c[b+36>>2]|0;if(h|0){if(a[b+40>>0]|0){c[6898]=(c[6898]|0)+1;md(c[h+-4>>2]|0)}c[b+36>>2]=0}a[b+40>>0]=1;c[b+36>>2]=j;c[b+32>>2]=o;h=b+36|0}else h=b+36|0;do{s=(c[h>>2]|0)+(e<<4)|0;c[s>>2]=c[r+48>>2];c[s+4>>2]=c[r+48+4>>2];c[s+8>>2]=c[r+48+8>>2];c[s+12>>2]=c[r+48+12>>2];e=e+1|0}while((e|0)!=(o|0))}c[b+28>>2]=o;n=c[b+48>>2]|0;if((n|0)<(o|0)){do if((c[b+52>>2]|0)<(o|0)){c[6897]=(c[6897]|0)+1;e=ec((o<<2|3)+16|0)|0;if(!e)e=0;else{c[(e+4+15&-16)+-4>>2]=e;e=e+4+15&-16}i=c[b+48>>2]|0;j=c[b+56>>2]|0;if((i|0)<=0){if(!j){a[b+60>>0]=1;c[b+56>>2]=e;c[b+52>>2]=o;h=o<<2;break}}else{h=0;do{c[e+(h<<2)>>2]=c[j+(h<<2)>>2];h=h+1|0}while((h|0)!=(i|0))}if(a[b+60>>0]|0){c[6898]=(c[6898]|0)+1;md(c[j+-4>>2]|0)}a[b+60>>0]=1;c[b+56>>2]=e;c[b+52>>2]=o;h=o<<2}else{h=o<<2;e=c[b+56>>2]|0}while(0);Xj(e+(n<<2)|0,0,h-(n<<2)|0)|0}c[b+48>>2]=o;n=c[b+68>>2]|0;if((n|0)<(o|0)){do if((c[b+72>>2]|0)<(o|0)){c[6897]=(c[6897]|0)+1;e=ec((o<<2|3)+16|0)|0;if(!e)e=0;else{c[(e+4+15&-16)+-4>>2]=e;e=e+4+15&-16}i=c[b+68>>2]|0;j=c[b+76>>2]|0;if((i|0)<=0){if(!j){a[b+80>>0]=1;c[b+76>>2]=e;c[b+72>>2]=o;h=o<<2;break}}else{h=0;do{c[e+(h<<2)>>2]=c[j+(h<<2)>>2];h=h+1|0}while((h|0)!=(i|0))}if(a[b+80>>0]|0){c[6898]=(c[6898]|0)+1;md(c[j+-4>>2]|0)}a[b+80>>0]=1;c[b+76>>2]=e;c[b+72>>2]=o;h=o<<2}else{h=o<<2;e=c[b+76>>2]|0}while(0);Xj(e+(n<<2)|0,0,h-(n<<2)|0)|0}c[b+68>>2]=o;e=c[b+128>>2]|0;if((e|0)<=0){l=r;return}i=c[b+76>>2]|0;j=c[b+56>>2]|0;h=0;do{g[i+(h<<2)>>2]=0.0;g[j+(h<<2)>>2]=0.0;h=h+1|0}while((h|0)!=(e|0));j=0;do{h=c[b+136>>2]|0;i=c[h+(j*284|0)+88>>2]|0;if(i){x=h+(j*284|0)+92|0;c[r+48>>2]=c[x>>2];c[r+48+4>>2]=c[x+4>>2];c[r+48+8>>2]=c[x+8>>2];c[r+48+12>>2]=c[x+12>>2];x=h+(j*284|0)+108|0;c[r+48+16>>2]=c[x>>2];c[r+48+16+4>>2]=c[x+4>>2];c[r+48+16+8>>2]=c[x+8>>2];c[r+48+16+12>>2]=c[x+12>>2];x=h+(j*284|0)+124|0;c[r+48+32>>2]=c[x>>2];c[r+48+32+4>>2]=c[x+4>>2];c[r+48+32+8>>2]=c[x+8>>2];c[r+48+32+12>>2]=c[x+12>>2];x=c[b+112>>2]|0;e=c[r+48+16+(x<<2)>>2]|0;y=c[r+48+32+(x<<2)>>2]|0;n=c[b+36>>2]|0;c[n+(j<<4)>>2]=c[r+48+(x<<2)>>2];c[n+(j<<4)+4>>2]=e;c[n+(j<<4)+8>>2]=y;g[n+(j<<4)+12>>2]=0.0;n=c[b+36>>2]|0;y=n+(j<<4)|0;z=+g[y>>2];e=h+(j*284|0)|0;f=+g[e>>2];x=n+(j<<4)+4|0;w=+g[x>>2];s=h+(j*284|0)+4|0;k=+g[s>>2];n=n+(j<<4)+8|0;t=+g[n>>2];o=h+(j*284|0)+8|0;v=+g[o>>2];m=z-f*(z*f+w*k+t*v);u=w-k*(z*f+w*k+t*v);v=t-v*(z*f+w*k+t*v);t=1.0/+B(+(v*v+(m*m+u*u)));g[y>>2]=m*t;g[x>>2]=u*t;g[n>>2]=v*t;k=+g[s>>2];w=+g[o>>2];f=+g[e>>2];e=c[b+16>>2]|0;g[e+(j<<4)>>2]=k*v*t-w*u*t;g[e+(j<<4)+4>>2]=w*m*t-v*t*f;g[e+(j<<4)+8>>2]=u*t*f-k*m*t;g[e+(j<<4)+12>>2]=0.0;e=c[b+16>>2]|0;o=e+(j<<4)|0;t=+g[o>>2];s=e+(j<<4)+4|0;m=+g[s>>2];e=e+(j<<4)+8|0;k=+g[e>>2];f=1.0/+B(+(t*t+m*m+k*k));g[o>>2]=t*f;g[s>>2]=m*f;g[e>>2]=k*f;e=c[b+108>>2]|0;s=c[b+36>>2]|0;f=+g[s+(j<<4)>>2];k=+g[s+(j<<4)+4>>2];m=+g[s+(j<<4)+8>>2];if(f*f+k*k+m*m>1.100000023841858)f=0.0;else{D=+g[h+(j*284|0)+16>>2];H=D-+g[e+52>>2];F=+g[h+(j*284|0)+20>>2];J=F-+g[e+56>>2];K=+g[h+(j*284|0)+24>>2];M=K-+g[e+60>>2];D=D-+g[i+52>>2];F=F-+g[i+56>>2];K=K-+g[i+60>>2];G=+g[e+392>>2];N=+g[e+396>>2];I=+g[e+388>>2];C=+g[i+392>>2];L=+g[i+396>>2];E=+g[i+388>>2];A=(m*J-k*M)*+g[e+4>>2]+(f*M-m*H)*+g[e+20>>2]+(k*H-f*J)*+g[e+36>>2];t=(m*J-k*M)*+g[e+8>>2]+(f*M-m*H)*+g[e+24>>2]+(k*H-f*J)*+g[e+40>>2];u=(m*J-k*M)*+g[e+12>>2]+(f*M-m*H)*+g[e+28>>2]+(k*H-f*J)*+g[e+44>>2];v=(F*-m-K*-k)*+g[i+4>>2]+(K*-f-D*-m)*+g[i+20>>2]+(D*-k-F*-f)*+g[i+36>>2];w=(F*-m-K*-k)*+g[i+8>>2]+(K*-f-D*-m)*+g[i+24>>2]+(D*-k-F*-f)*+g[i+40>>2];z=(F*-m-K*-k)*+g[i+12>>2]+(K*-f-D*-m)*+g[i+28>>2]+(D*-k-F*-f)*+g[i+44>>2];f=(f*(M*G-J*N+ +g[e+372>>2]-(K*C-F*L+ +g[i+372>>2]))+k*(+g[e+376>>2]+(H*N-M*I)-(+g[i+376>>2]+(D*L-K*E)))+m*(J*I-H*G+ +g[e+380>>2]-(F*E-D*C+ +g[i+380>>2])))*-.20000000298023224*(1.0/(+g[i+404>>2]+(+g[e+404>>2]+(A*A*+g[e+456>>2]+t*t*+g[e+460>>2]+u*u*+g[e+464>>2]))+(v*v*+g[i+456>>2]+w*w*+g[i+460>>2]+z*z*+g[i+464>>2])))}g[(c[b+76>>2]|0)+(j<<2)>>2]=f;e=c[b+128>>2]|0}j=j+1|0}while((j|0)<(e|0));if((e|0)<=0){l=r;return}h=0;n=0;i=c[b+136>>2]|0;while(1){e=c[i+(n*284|0)+88>>2]|0;if(e){f=+g[i+(n*284|0)+252>>2];if(f!=0.0){f=f*d;e=i}else{N=+g[i+(n*284|0)+256>>2];N=N==0.0?0.0:N;y=c[b+108>>2]|0;x=c[b+16>>2]|0;H=+g[i+(n*284|0)+16>>2];F=+g[i+(n*284|0)+20>>2];A=+g[i+(n*284|0)+24>>2];w=+g[x+(n<<4)>>2];E=+g[x+(n<<4)+4>>2];f=+g[x+(n<<4)+8>>2];P=H-+g[y+52>>2];Q=F-+g[y+56>>2];k=A-+g[y+60>>2];m=+g[y+324>>2]*(Q*f-k*E)+ +g[y+340>>2]*(k*w-P*f)+(P*E-Q*w)*+g[y+356>>2];R=(Q*f-k*E)*+g[y+328>>2]+(k*w-P*f)*+g[y+344>>2]+(P*E-Q*w)*+g[y+360>>2];O=(Q*f-k*E)*+g[y+332>>2]+(k*w-P*f)*+g[y+348>>2]+(P*E-Q*w)*+g[y+364>>2];L=H-+g[e+52>>2];J=F-+g[e+56>>2];D=A-+g[e+60>>2];v=(E*L-w*J)*+g[e+356>>2]+(+g[e+324>>2]*(f*J-E*D)+ +g[e+340>>2]*(w*D-f*L));t=(f*J-E*D)*+g[e+328>>2]+(w*D-f*L)*+g[e+344>>2]+(E*L-w*J)*+g[e+360>>2];u=(f*J-E*D)*+g[e+332>>2]+(w*D-f*L)*+g[e+348>>2]+(E*L-w*J)*+g[e+364>>2];H=H-+g[y+52>>2];F=F-+g[y+56>>2];A=A-+g[y+60>>2];I=+g[y+392>>2];z=+g[y+396>>2];G=+g[y+388>>2];M=+g[e+392>>2];C=+g[e+396>>2];K=+g[e+388>>2];f=-(1.0/(+g[y+404>>2]+(f*(Q*m-P*R)+(w*(k*R-Q*O)+E*(P*O-k*m)))+(+g[e+404>>2]+(f*(J*v-L*t)+(w*(D*t-J*u)+E*(L*u-D*v)))))*((A*I-F*z+ +g[y+372>>2]-(D*M-J*C+ +g[e+372>>2]))*w+(+g[y+376>>2]+(H*z-A*G)-(+g[e+376>>2]+(L*C-D*K)))*E+(F*G-H*I+ +g[y+380>>2]-(J*K-L*M+ +g[e+380>>2]))*f));f=N<f?N:f;f=f<-N?-N:f;e=c[b+136>>2]|0}y=(c[b+56>>2]|0)+(n<<2)|0;g[y>>2]=0.0;j=e+(n*284|0)+280|0;g[j>>2]=1.0;m=+g[i+(n*284|0)+276>>2]*d*+g[i+(n*284|0)+228>>2];g[y>>2]=f;f=f*.5;k=+g[(c[b+76>>2]|0)+(n<<2)>>2];if(f*f+k*k>m*m){R=m/+B(+(f*f+k*k));g[j>>2]=R*+g[j>>2];h=1}}else{g[(c[b+56>>2]|0)+(n<<2)>>2]=0.0;g[i+(n*284|0)+280>>2]=1.0;e=i}n=n+1|0;j=c[b+128>>2]|0;if((n|0)>=(j|0))break;else i=e}if(h&(j|0)>0){h=c[b+76>>2]|0;e=0;do{i=h+(e<<2)|0;if(+g[i>>2]!=0.0?(p=(c[b+136>>2]|0)+(e*284|0)+280|0,q=+g[p>>2],q<1.0):0){y=(c[b+56>>2]|0)+(e<<2)|0;g[y>>2]=q*+g[y>>2];g[i>>2]=+g[p>>2]*+g[i>>2]}e=e+1|0}while((e|0)!=(j|0))}if((j|0)<=0){l=r;return}h=0;do{i=c[b+136>>2]|0;e=c[b+108>>2]|0;j=i+(h*284|0)+16|0;k=+g[j>>2]-+g[e+52>>2];n=i+(h*284|0)+20|0;m=+g[n>>2]-+g[e+56>>2];o=i+(h*284|0)+24|0;d=+g[o>>2]-+g[e+60>>2];g[r+48>>2]=k;g[r+48+4>>2]=m;g[r+48+8>>2]=d;g[r+48+12>>2]=0.0;f=+g[(c[b+56>>2]|0)+(h<<2)>>2];if(f!=0.0){y=c[b+16>>2]|0;Q=f*+g[y+(h<<4)+4>>2];R=f*+g[y+(h<<4)+8>>2];g[r+32>>2]=f*+g[y+(h<<4)>>2];g[r+32+4>>2]=Q;g[r+32+8>>2]=R;g[r+32+12>>2]=0.0;kk(e,r+32|0,r+48|0)}f=+g[(c[b+76>>2]|0)+(h<<2)>>2];if(f!=0.0){y=c[(c[b+136>>2]|0)+(h*284|0)+88>>2]|0;Q=+g[n>>2]-+g[y+56>>2];P=+g[o>>2]-+g[y+60>>2];g[r+32>>2]=+g[j>>2]-+g[y+52>>2];g[r+32+4>>2]=Q;g[r+32+8>>2]=P;g[r+32+12>>2]=0.0;x=c[b+36>>2]|0;P=+g[x+(h<<4)>>2]*f;Q=f*+g[x+(h<<4)+4>>2];R=f*+g[x+(h<<4)+8>>2];g[r+16>>2]=P;g[r+16+4>>2]=Q;g[r+16+8>>2]=R;g[r+16+12>>2]=0.0;x=c[b+108>>2]|0;s=c[b+116>>2]|0;L=+g[x+4+(s<<2)>>2];M=+g[x+20+(s<<2)>>2];N=+g[x+36+(s<<2)>>2];O=(L*k+M*m+N*d)*(1.0-+g[i+(h*284|0)+244>>2]);g[r+48>>2]=k-L*O;g[r+48+4>>2]=m-M*O;g[r+48+8>>2]=d-N*O;kk(x,r+16|0,r+48|0);g[r>>2]=-P;g[r+4>>2]=-Q;g[r+8>>2]=-R;g[r+12>>2]=0.0;kk(y,r,r+32|0)}h=h+1|0}while((h|0)<(c[b+128>>2]|0));l=r;return}function xc(b){b=b|0;var d=0.0,e=0,f=0,h=0.0,i=0.0,k=0.0,m=0.0,n=0.0,o=0.0,p=0.0,q=0.0,r=0.0,s=0.0,t=0.0,u=0,v=0.0,w=0.0,x=0.0,y=0.0,z=0.0,C=0.0,D=0.0,E=0.0,F=0.0,G=0.0,H=0.0,I=0.0,J=0.0,K=0.0,L=0.0,M=0.0,N=0.0,O=0.0,P=0.0,Q=0.0,R=0.0;u=l;l=l+176|0;if(!(a[b+738>>0]|0)){l=u;return}g[b+36>>2]=0.0;g[b+744>>2]=0.0;if(!(a[b+736>>0]|0)){e=c[b+28>>2]|0;i=+g[b+600>>2];k=+g[b+604>>2];q=+g[b+608>>2];s=i*+g[e+20>>2]+k*+g[e+24>>2]+q*+g[e+28>>2]+ +g[e+56>>2];f=c[b+32>>2]|0;m=+g[b+664>>2];n=+g[b+668>>2];r=+g[b+672>>2];t=m*+g[f+20>>2]+n*+g[f+24>>2]+r*+g[f+28>>2]+ +g[f+56>>2];o=m*+g[f+36>>2]+n*+g[f+40>>2]+r*+g[f+44>>2]+ +g[f+60>>2];p=i*+g[e+4>>2]+k*+g[e+8>>2]+q*+g[e+12>>2]+ +g[e+52>>2];q=i*+g[e+36>>2]+k*+g[e+40>>2]+q*+g[e+44>>2]+ +g[e+60>>2];r=m*+g[f+4>>2]+n*+g[f+8>>2]+r*+g[f+12>>2]+ +g[f+52>>2];if((r-p)*(r-p)+(t-s)*(t-s)+(o-q)*(o-q)>1.1920928955078125e-07){h=1.0/+B(+((r-p)*(r-p)+(t-s)*(t-s)+(o-q)*(o-q)));g[u>>2]=(r-p)*h;g[u+4>>2]=(t-s)*h;g[u+8>>2]=(o-q)*h;c[u+12>>2]=0;i=(o-q)*h;d=(t-s)*h;h=(r-p)*h}else{c[u>>2]=1065353216;c[u+4>>2]=0;c[u+8>>2]=0;g[u+12>>2]=0.0;i=0.0;d=0.0;h=1.0}if(+A(+i)>.7071067690849304){w=i*i+d*d;v=1.0/+B(+w);i=-(i*v);k=d*v;n=-(h*k);m=h*i;d=w*v;h=k;k=0.0}else{v=h*h+d*d;m=1.0/+B(+v);k=-(d*m);w=h*m;n=i*k;m=v*m;d=-(i*w);h=0.0;i=w}g[u+16>>2]=k;g[u+20>>2]=i;g[u+24>>2]=h;g[u+32>>2]=d;g[u+36>>2]=n;g[u+40>>2]=m;e=c[b+28>>2]|0;c[u+128>>2]=c[e+4>>2];c[u+128+4>>2]=c[e+20>>2];c[u+128+8>>2]=c[e+36>>2];g[u+128+12>>2]=0.0;c[u+128+16>>2]=c[e+8>>2];c[u+128+20>>2]=c[e+24>>2];c[u+128+24>>2]=c[e+40>>2];g[u+128+28>>2]=0.0;c[u+128+32>>2]=c[e+12>>2];c[u+128+36>>2]=c[e+28>>2];c[u+128+40>>2]=c[e+44>>2];g[u+128+44>>2]=0.0;f=c[b+32>>2]|0;c[u+80>>2]=c[f+4>>2];c[u+80+4>>2]=c[f+20>>2];c[u+80+8>>2]=c[f+36>>2];g[u+80+12>>2]=0.0;c[u+80+16>>2]=c[f+8>>2];c[u+80+20>>2]=c[f+24>>2];c[u+80+24>>2]=c[f+40>>2];g[u+80+28>>2]=0.0;c[u+80+32>>2]=c[f+12>>2];c[u+80+36>>2]=c[f+28>>2];c[u+80+40>>2]=c[f+44>>2];g[u+80+44>>2]=0.0;w=s-+g[e+56>>2];v=q-+g[e+60>>2];g[u+64>>2]=p-+g[e+52>>2];g[u+64+4>>2]=w;g[u+64+8>>2]=v;g[u+64+12>>2]=0.0;v=t-+g[f+56>>2];w=o-+g[f+60>>2];g[u+48>>2]=r-+g[f+52>>2];g[u+48+4>>2]=v;g[u+48+8>>2]=w;g[u+48+12>>2]=0.0;jg(b+48|0,u+128|0,u+80|0,u+64|0,u+48|0,u,e+456|0,+g[e+404>>2],f+456|0,+g[f+404>>2]);f=c[b+28>>2]|0;c[u+128>>2]=c[f+4>>2];c[u+128+4>>2]=c[f+20>>2];c[u+128+8>>2]=c[f+36>>2];g[u+128+12>>2]=0.0;c[u+128+16>>2]=c[f+8>>2];c[u+128+20>>2]=c[f+24>>2];c[u+128+24>>2]=c[f+40>>2];g[u+128+28>>2]=0.0;c[u+128+32>>2]=c[f+12>>2];c[u+128+36>>2]=c[f+28>>2];c[u+128+40>>2]=c[f+44>>2];g[u+128+44>>2]=0.0;e=c[b+32>>2]|0;c[u+80>>2]=c[e+4>>2];c[u+80+4>>2]=c[e+20>>2];c[u+80+8>>2]=c[e+36>>2];g[u+80+12>>2]=0.0;c[u+80+16>>2]=c[e+8>>2];c[u+80+20>>2]=c[e+24>>2];c[u+80+24>>2]=c[e+40>>2];g[u+80+28>>2]=0.0;c[u+80+32>>2]=c[e+12>>2];c[u+80+36>>2]=c[e+28>>2];c[u+80+40>>2]=c[e+44>>2];g[u+80+44>>2]=0.0;w=s-+g[f+56>>2];v=q-+g[f+60>>2];g[u+64>>2]=p-+g[f+52>>2];g[u+64+4>>2]=w;g[u+64+8>>2]=v;g[u+64+12>>2]=0.0;v=t-+g[e+56>>2];w=o-+g[e+60>>2];g[u+48>>2]=r-+g[e+52>>2];g[u+48+4>>2]=v;g[u+48+8>>2]=w;g[u+48+12>>2]=0.0;jg(b+132|0,u+128|0,u+80|0,u+64|0,u+48|0,u+16|0,f+456|0,+g[f+404>>2],e+456|0,+g[e+404>>2]);e=c[b+28>>2]|0;c[u+128>>2]=c[e+4>>2];c[u+128+4>>2]=c[e+20>>2];c[u+128+8>>2]=c[e+36>>2];g[u+128+12>>2]=0.0;c[u+128+16>>2]=c[e+8>>2];c[u+128+20>>2]=c[e+24>>2];c[u+128+24>>2]=c[e+40>>2];g[u+128+28>>2]=0.0;c[u+128+32>>2]=c[e+12>>2];c[u+128+36>>2]=c[e+28>>2];c[u+128+40>>2]=c[e+44>>2];g[u+128+44>>2]=0.0;f=c[b+32>>2]|0;c[u+80>>2]=c[f+4>>2];c[u+80+4>>2]=c[f+20>>2];c[u+80+8>>2]=c[f+36>>2];g[u+80+12>>2]=0.0;c[u+80+16>>2]=c[f+8>>2];c[u+80+20>>2]=c[f+24>>2];c[u+80+24>>2]=c[f+40>>2];g[u+80+28>>2]=0.0;c[u+80+32>>2]=c[f+12>>2];c[u+80+36>>2]=c[f+28>>2];c[u+80+40>>2]=c[f+44>>2];g[u+80+44>>2]=0.0;w=s-+g[e+56>>2];v=q-+g[e+60>>2];g[u+64>>2]=p-+g[e+52>>2];g[u+64+4>>2]=w;g[u+64+8>>2]=v;g[u+64+12>>2]=0.0;v=t-+g[f+56>>2];w=o-+g[f+60>>2];g[u+48>>2]=r-+g[f+52>>2];g[u+48+4>>2]=v;g[u+48+8>>2]=w;g[u+48+12>>2]=0.0;jg(b+216|0,u+128|0,u+80|0,u+64|0,u+48|0,u+32|0,e+456|0,+g[e+404>>2],f+456|0,+g[f+404>>2])}e=c[b+560>>2]|0;f=c[b+576>>2]|0;q=+g[b+592>>2];if(+A(+q)>.7071067690849304){w=(c[j>>2]=f,+g[j>>2]);p=1.0/+B(+(q*q+w*w));o=(c[j>>2]=e,+g[j>>2]);d=o;h=w;i=o*-(q*p);k=(q*q+w*w)*p;m=0.0;n=p*w;o=-(p*w*o);p=-(q*p)}else{p=(c[j>>2]=e,+g[j>>2]);o=(c[j>>2]=f,+g[j>>2]);w=1.0/+B(+(p*p+o*o));d=p;h=o;i=(p*p+o*o)*w;k=-(q*w*p);m=-(w*o);n=0.0;o=q*-(w*o);p=w*p}e=c[b+28>>2]|0;R=+g[e+4>>2];L=+g[e+8>>2];E=+g[e+12>>2];I=m*R+p*L+n*E;Q=+g[e+20>>2];C=+g[e+24>>2];J=+g[e+28>>2];y=m*Q+p*C+n*J;P=+g[e+36>>2];r=+g[e+40>>2];G=+g[e+44>>2];N=m*P+p*r+n*G;F=k*R+o*L+i*E;H=k*Q+o*C+i*J;K=k*P+o*r+i*G;s=R*d+L*h+q*E;v=Q*d+C*h+q*J;h=P*d+r*h+q*G;f=c[b+32>>2]|0;z=+g[f+4>>2];x=+g[f+20>>2];i=+g[f+36>>2];o=+g[f+8>>2];p=+g[f+24>>2];t=+g[f+40>>2];m=+g[f+12>>2];q=+g[f+28>>2];M=+g[f+44>>2];c[b+300>>2]=0;c[b+300+4>>2]=0;c[b+300+8>>2]=0;c[b+300+12>>2]=0;g[b+316>>2]=I*R+y*Q+N*P;g[b+320>>2]=I*L+y*C+N*r;g[b+324>>2]=I*E+y*J+N*G;g[b+328>>2]=0.0;g[b+332>>2]=z*-I+x*-y+i*-N;g[b+336>>2]=o*-I+p*-y+t*-N;g[b+340>>2]=m*-I+q*-y+M*-N;g[b+344>>2]=0.0;k=(I*R+y*Q+N*P)*+g[e+456>>2];d=(I*L+y*C+N*r)*+g[e+460>>2];D=(I*E+y*J+N*G)*+g[e+464>>2];g[b+348>>2]=k;g[b+352>>2]=d;g[b+356>>2]=D;g[b+360>>2]=0.0;n=(z*-I+x*-y+i*-N)*+g[f+456>>2];w=(o*-I+p*-y+t*-N)*+g[f+460>>2];O=(m*-I+q*-y+M*-N)*+g[f+464>>2];g[b+364>>2]=n;g[b+368>>2]=w;g[b+372>>2]=O;g[b+376>>2]=0.0;g[b+380>>2]=(I*R+y*Q+N*P)*k+(I*L+y*C+N*r)*d+(I*E+y*J+N*G)*D+((z*-I+x*-y+i*-N)*n+(o*-I+p*-y+t*-N)*w+(m*-I+q*-y+M*-N)*O);O=+g[e+4>>2];N=+g[e+20>>2];M=+g[e+36>>2];q=+g[e+8>>2];m=+g[e+24>>2];y=+g[e+40>>2];I=+g[e+12>>2];w=+g[e+28>>2];t=+g[e+44>>2];p=+g[f+4>>2];o=+g[f+20>>2];n=+g[f+36>>2];i=+g[f+8>>2];x=+g[f+24>>2];z=+g[f+40>>2];D=+g[f+12>>2];G=+g[f+28>>2];J=+g[f+44>>2];c[b+384>>2]=0;c[b+384+4>>2]=0;c[b+384+8>>2]=0;c[b+384+12>>2]=0;g[b+400>>2]=F*O+H*N+K*M;g[b+404>>2]=F*q+H*m+K*y;g[b+408>>2]=F*I+H*w+K*t;g[b+412>>2]=0.0;g[b+416>>2]=p*-F+o*-H+n*-K;g[b+420>>2]=i*-F+x*-H+z*-K;g[b+424>>2]=D*-F+G*-H+J*-K;g[b+428>>2]=0.0;d=(F*O+H*N+K*M)*+g[e+456>>2];E=(F*q+H*m+K*y)*+g[e+460>>2];r=(F*I+H*w+K*t)*+g[e+464>>2];g[b+432>>2]=d;g[b+436>>2]=E;g[b+440>>2]=r;g[b+444>>2]=0.0;k=(p*-F+o*-H+n*-K)*+g[f+456>>2];C=(i*-F+x*-H+z*-K)*+g[f+460>>2];L=(D*-F+G*-H+J*-K)*+g[f+464>>2];g[b+448>>2]=k;g[b+452>>2]=C;g[b+456>>2]=L;g[b+460>>2]=0.0;g[b+464>>2]=(F*O+H*N+K*M)*d+(F*q+H*m+K*y)*E+(F*I+H*w+K*t)*r+((p*-F+o*-H+n*-K)*k+(i*-F+x*-H+z*-K)*C+(D*-F+G*-H+J*-K)*L);L=+g[e+4>>2];K=+g[e+20>>2];J=+g[e+36>>2];H=+g[e+8>>2];G=+g[e+24>>2];F=+g[e+40>>2];D=+g[e+12>>2];C=+g[e+28>>2];z=+g[e+44>>2];x=+g[f+4>>2];i=+g[f+20>>2];k=+g[f+36>>2];n=+g[f+8>>2];o=+g[f+24>>2];p=+g[f+40>>2];r=+g[f+12>>2];t=+g[f+28>>2];w=+g[f+44>>2];c[b+468>>2]=0;c[b+468+4>>2]=0;c[b+468+8>>2]=0;c[b+468+12>>2]=0;g[b+484>>2]=s*L+v*K+h*J;g[b+488>>2]=s*H+v*G+h*F;g[b+492>>2]=s*D+v*C+h*z;g[b+496>>2]=0.0;g[b+500>>2]=x*-s+i*-v+k*-h;g[b+504>>2]=n*-s+o*-v+p*-h;g[b+508>>2]=r*-s+t*-v+w*-h;g[b+512>>2]=0.0;I=(s*L+v*K+h*J)*+g[e+456>>2];E=(s*H+v*G+h*F)*+g[e+460>>2];y=(s*D+v*C+h*z)*+g[e+464>>2];g[b+516>>2]=I;g[b+520>>2]=E;g[b+524>>2]=y;g[b+528>>2]=0.0;m=(x*-s+i*-v+k*-h)*+g[f+456>>2];q=(n*-s+o*-v+p*-h)*+g[f+460>>2];d=(r*-s+t*-v+w*-h)*+g[f+464>>2];g[b+532>>2]=m;g[b+536>>2]=q;g[b+540>>2]=d;g[b+544>>2]=0.0;g[b+548>>2]=(s*L+v*K+h*J)*I+(s*H+v*G+h*F)*E+(s*D+v*C+h*z)*y+((x*-s+i*-v+k*-h)*m+(n*-s+o*-v+p*-h)*q+(r*-s+t*-v+w*-h)*d);g[b+724>>2]=0.0;d=+mi(b,e+4|0,f+4|0);g[b+728>>2]=d;g[b+708>>2]=0.0;g[b+712>>2]=0.0;a[b+716>>0]=0;h=+g[b+692>>2];do if(h>=0.0){d=(d-+g[b+688>>2])%6.2831854820251465;if(!(d<-3.1415927410125732)){if(d>3.1415927410125732)d=d+-6.2831854820251465}else d=d+6.2831854820251465;if(d<-h){a[b+716>>0]=1;g[b+708>>2]=-(h+d);g[b+712>>2]=1.0;break}if(d>h){a[b+716>>0]=1;g[b+708>>2]=h-d;g[b+712>>2]=-1.0}}while(0);e=c[b+28>>2]|0;N=+g[b+560>>2];O=+g[b+576>>2];R=+g[b+592>>2];P=N*+g[e+4>>2]+O*+g[e+8>>2]+R*+g[e+12>>2];Q=N*+g[e+20>>2]+O*+g[e+24>>2]+R*+g[e+28>>2];R=N*+g[e+36>>2]+O*+g[e+40>>2]+R*+g[e+44>>2];f=c[b+32>>2]|0;g[b+720>>2]=1.0/(P*(P*+g[e+324>>2]+Q*+g[e+340>>2]+R*+g[e+356>>2])+Q*(P*+g[e+328>>2]+Q*+g[e+344>>2]+R*+g[e+360>>2])+R*(P*+g[e+332>>2]+Q*+g[e+348>>2]+R*+g[e+364>>2])+(P*(P*+g[f+324>>2]+Q*+g[f+340>>2]+R*+g[f+356>>2])+Q*(P*+g[f+328>>2]+Q*+g[f+344>>2]+R*+g[f+360>>2])+R*(P*+g[f+332>>2]+Q*+g[f+348>>2]+R*+g[f+364>>2])));l=u;return}function yc(a,b,d){a=a|0;b=b|0;d=d|0;var e=0.0,f=0.0,h=0.0,i=0,k=0.0,m=0.0,n=0.0,o=0.0,p=0,q=0,r=0,s=0.0,t=0.0,u=0.0,v=0.0,w=0.0,x=0.0,y=0.0,z=0.0,A=0.0,C=0.0,D=0,E=0,F=0,G=0.0,H=0.0,I=0.0,J=0,K=0,L=0;K=l;l=l+112|0;c[a+348>>2]=a+220;c[a+352>>2]=a+252;c[a+356>>2]=a+284;c[a+360>>2]=a+316;c[a+364>>2]=4;c[a+368>>2]=0;c[a+376>>2]=0;F=c[b+4>>2]|0;c[a>>2]=c[b>>2];c[a+4>>2]=F;c[a+8>>2]=c[b+8>>2];c[a+8+4>>2]=c[b+8+4>>2];c[a+8+8>>2]=c[b+8+8>>2];c[a+8+12>>2]=c[b+8+12>>2];c[a+24>>2]=c[b+24>>2];c[a+24+4>>2]=c[b+24+4>>2];c[a+24+8>>2]=c[b+24+8>>2];c[a+24+12>>2]=c[b+24+12>>2];c[a+40>>2]=c[b+40>>2];c[a+40+4>>2]=c[b+40+4>>2];c[a+40+8>>2]=c[b+40+8>>2];c[a+40+12>>2]=c[b+40+12>>2];c[a+56>>2]=c[b+56>>2];c[a+56+4>>2]=c[b+56+4>>2];c[a+56+8>>2]=c[b+56+8>>2];c[a+56+12>>2]=c[b+56+12>>2];c[a+72>>2]=c[b+72>>2];c[a+72+4>>2]=c[b+72+4>>2];c[a+72+8>>2]=c[b+72+8>>2];c[a+72+12>>2]=c[b+72+12>>2];c[a+88>>2]=c[b+88>>2];c[a+88+4>>2]=c[b+88+4>>2];c[a+88+8>>2]=c[b+88+8>>2];c[a+88+12>>2]=c[b+88+12>>2];c[a+104>>2]=c[b+104>>2];c[a+104+4>>2]=c[b+104+4>>2];c[a+104+8>>2]=c[b+104+8>>2];c[a+104+12>>2]=c[b+104+12>>2];F=c[b+124>>2]|0;c[a+120>>2]=c[b+120>>2];c[a+124>>2]=F;g[a+144>>2]=0.0;c[a+180>>2]=0;c[a+128>>2]=c[d>>2];c[a+128+4>>2]=c[d+4>>2];c[a+128+8>>2]=c[d+8>>2];c[a+128+12>>2]=c[d+12>>2];e=+g[a+128>>2];f=+g[a+132>>2];h=+g[a+136>>2];if(e*e+f*f+h*h>0.0){g[a+164>>2]=0.0;c[a+364>>2]=3;c[a+148>>2]=a+316;c[a+180>>2]=1;Zg(a,-e,-f,-h,a+316|0);b=a+148|0;d=a+164|0}else{g[a+164>>2]=0.0;c[a+364>>2]=3;c[a+148>>2]=a+316;c[a+180>>2]=1;Zg(a,1.0,0.0,0.0,a+316|0);b=a+148|0;d=a+164|0}g[d>>2]=1.0;F=(c[b>>2]|0)+16|0;c[a+128>>2]=c[F>>2];c[a+128+4>>2]=c[F+4>>2];c[a+128+8>>2]=c[F+8>>2];c[a+128+12>>2]=c[F+12>>2];c[K+16+48>>2]=c[F>>2];c[K+16+48+4>>2]=c[F+4>>2];c[K+16+48+8>>2]=c[F+8>>2];c[K+16+48+12>>2]=c[F+12>>2];c[K+16+32>>2]=c[F>>2];c[K+16+32+4>>2]=c[F+4>>2];c[K+16+32+8>>2]=c[F+8>>2];c[K+16+32+12>>2]=c[F+12>>2];c[K+16+16>>2]=c[F>>2];c[K+16+16+4>>2]=c[F+4>>2];c[K+16+16+8>>2]=c[F+8>>2];c[K+16+16+12>>2]=c[F+12>>2];c[K+16>>2]=c[F>>2];c[K+16+4>>2]=c[F+4>>2];c[K+16+8>>2]=c[F+8>>2];c[K+16+12>>2]=c[F+12>>2];F=0;G=0.0;e=e*e+f*f+h*h;E=0;D=c[a+368>>2]|0;f=+g[a+128>>2];k=+g[a+132>>2];h=+g[a+136>>2];a:while(1){b=1-D|0;p=a+148+(D*36|0)|0;m=+B(+(f*f+k*k+h*h));if(m<9.999999747378752e-05){J=6;break}r=a+148+(D*36|0)+32|0;i=c[r>>2]|0;g[a+148+(D*36|0)+16+(i<<2)>>2]=0.0;d=(c[a+364>>2]|0)+-1|0;c[a+364>>2]=d;d=c[a+348+(d<<2)>>2]|0;c[a+148+(D*36|0)+(i<<2)>>2]=d;c[r>>2]=i+1;Zg(a,-f,-k,-h,d);d=c[r>>2]|0;i=c[a+148+(D*36|0)+(d+-1<<2)>>2]|0;f=+g[i+16>>2];h=+g[i+20>>2];k=+g[i+24>>2];z=f-+g[K+16>>2];A=h-+g[K+16+4>>2];C=k-+g[K+16+8>>2];if(z*z+A*A+C*C<9.999999747378752e-05){J=9;break}z=f-+g[K+16+16>>2];A=h-+g[K+16+20>>2];C=k-+g[K+16+24>>2];if(z*z+A*A+C*C<9.999999747378752e-05){J=9;break}z=f-+g[K+16+32>>2];A=h-+g[K+16+36>>2];C=k-+g[K+16+40>>2];if(z*z+A*A+C*C<9.999999747378752e-05){J=9;break}z=f-+g[K+16+48>>2];A=h-+g[K+16+52>>2];C=k-+g[K+16+56>>2];if(z*z+A*A+C*C<9.999999747378752e-05){J=9;break}E=E+1&3;q=K+16+(E<<4)|0;c[q>>2]=c[i+16>>2];c[q+4>>2]=c[i+16+4>>2];c[q+8>>2]=c[i+16+8>>2];c[q+12>>2]=c[i+16+12>>2];C=(+g[a+128>>2]*f+ +g[a+132>>2]*h+ +g[a+136>>2]*k)/m;G=C>G?C:G;if(m-G-m*9.999999747378752e-05<=0.0){J=10;break}c[K+80>>2]=0;b:do switch(d|0){case 2:{q=c[p>>2]|0;p=c[a+148+(D*36|0)+4>>2]|0;e=+g[p+16>>2];f=+g[q+16>>2];h=+g[p+20>>2];k=+g[q+20>>2];m=+g[p+24>>2];n=+g[q+24>>2];if(!((e-f)*(e-f)+(h-k)*(h-k)+(m-n)*(m-n)>0.0)){J=46;break a}o=-(f*(e-f)+k*(h-k)+n*(m-n))/((e-f)*(e-f)+(h-k)*(h-k)+(m-n)*(m-n));if(o>=1.0){g[K>>2]=0.0;g[K+4>>2]=1.0;c[K+80>>2]=2;e=e*e+h*h+m*m;break b}if(!(o<=0.0)){g[K+4>>2]=o;g[K>>2]=1.0-o;c[K+80>>2]=3;e=(n+(m-n)*o)*(n+(m-n)*o)+((f+(e-f)*o)*(f+(e-f)*o)+(k+(h-k)*o)*(k+(h-k)*o));break b}else{g[K>>2]=1.0;g[K+4>>2]=0.0;c[K+80>>2]=1;e=f*f+k*k+n*n;break b}}case 3:{e=+Kd((c[p>>2]|0)+16|0,(c[a+148+(D*36|0)+4>>2]|0)+16|0,(c[a+148+(D*36|0)+8>>2]|0)+16|0,K,K+80|0);break}case 4:{d=c[p>>2]|0;i=c[a+148+(D*36|0)+4>>2]|0;p=c[a+148+(D*36|0)+8>>2]|0;q=c[a+148+(D*36|0)+12>>2]|0;s=+g[d+16>>2];t=+g[q+16>>2];u=+g[d+20>>2];v=+g[q+20>>2];w=+g[d+24>>2];x=+g[q+24>>2];f=+g[i+16>>2];h=+g[i+20>>2];k=+g[i+24>>2];y=+g[p+16>>2];z=+g[p+20>>2];A=+g[p+24>>2];C=(s-t)*(h-v)*(A-x)+((u-v)*(k-x)*(y-t)+(w-x)*(f-t)*(z-v)-(s-t)*(k-x)*(z-v)-(u-v)*(f-t)*(A-x))-(w-x)*(h-v)*(y-t);if(!(C==C&0.0==0.0&C!=0.0&C*(w*((u-h)*(f-y)-(s-f)*(h-z))+(s*((w-k)*(h-z)-(u-h)*(k-A))+u*((s-f)*(k-A)-(w-k)*(f-y))))<=0.0)){J=46;break a}c[K+88>>2]=0;c[K+88+4>>2]=0;c[K+88+8>>2]=0;c[K+84>>2]=0;if(C*(((u-v)*(k-x)-(w-x)*(h-v))*t+v*((w-x)*(f-t)-(s-t)*(k-x))+((s-t)*(h-v)-(u-v)*(f-t))*x)>0.0){e=+Kd(d+16|0,i+16|0,q+16|0,K+88|0,K+84|0);L=c[K+84>>2]|0;c[K+80>>2]=L&2|L<<1&8|L&1;c[K>>2]=c[K+88>>2];c[K+4>>2]=c[K+88+4>>2];g[K+8>>2]=0.0;c[K+12>>2]=c[K+88+8>>2];m=+g[q+16>>2];n=+g[q+20>>2];o=+g[q+24>>2]}else{e=-1.0;m=t;n=v;o=x}if(C*(((h-v)*(A-x)-(k-x)*(z-v))*m+n*((k-x)*(y-t)-(A-x)*(f-t))+((z-v)*(f-t)-(h-v)*(y-t))*o)>0.0?(H=+Kd(i+16|0,p+16|0,q+16|0,K+88|0,K+84|0),e<0.0|H<e):0){c[K+80>>2]=c[K+84>>2]<<1&14;c[K+4>>2]=c[K+88>>2];c[K+8>>2]=c[K+88+4>>2];g[K>>2]=0.0;c[K+12>>2]=c[K+88+8>>2];e=H}if(C*(((z-v)*(w-x)-(A-x)*(u-v))*+g[q+16>>2]+ +g[q+20>>2]*((A-x)*(s-t)-(w-x)*(y-t))+((u-v)*(y-t)-(z-v)*(s-t))*+g[q+24>>2])>0.0?(I=+Kd(p+16|0,d+16|0,q+16|0,K+88|0,K+84|0),e<0.0|I<e):0){L=c[K+84>>2]|0;c[K+80>>2]=L>>>1&1|L<<1&8|L<<2&4;c[K+8>>2]=c[K+88>>2];c[K>>2]=c[K+88+4>>2];g[K+4>>2]=0.0;c[K+12>>2]=c[K+88+8>>2];e=I}if(e<0.0){c[K+80>>2]=15;s=+g[p+20>>2];A=+g[i+24>>2];z=+g[q+16>>2];n=+g[p+24>>2];y=+g[i+16>>2];t=+g[q+20>>2];o=+g[p+16>>2];x=+g[q+24>>2];v=+g[i+20>>2];g[K>>2]=(s*A*z+n*y*t-t*A*o-s*y*x+x*o*v-z*n*v)/C;e=+g[d+20>>2];u=+g[d+24>>2];w=+g[d+16>>2];g[K+4>>2]=(e*n*z+u*o*t-t*n*w-e*o*x+x*w*s-z*u*s)/C;g[K+8>>2]=(v*u*z+A*w*t-t*u*y-v*w*x+x*y*e-z*A*e)/C;g[K+12>>2]=1.0-((s*A*z+n*y*t-t*A*o-s*y*x+x*o*v-z*n*v)/C+(e*n*z+u*o*t-t*n*w-e*o*x+x*w*s-z*u*s)/C+(v*u*z+A*w*t-t*u*y-v*w*x+x*y*e-z*A*e)/C);e=0.0}break}default:{}}while(0);if(!(e>=0.0)){J=46;break}c[a+148+(b*36|0)+32>>2]=0;c[a+128>>2]=0;c[a+128+4>>2]=0;c[a+128+8>>2]=0;c[a+128+12>>2]=0;c[a+368>>2]=b;q=c[r>>2]|0;r=c[K+80>>2]|0;if(q){d=a+148+(D*36|0)|0;i=c[d>>2]|0;if(!(r&1)){L=c[a+364>>2]|0;c[a+364>>2]=L+1;c[a+348+(L<<2)>>2]=i;h=0.0;k=0.0;f=0.0}else{L=c[a+148+(b*36|0)+32>>2]|0;c[a+148+(b*36|0)+(L<<2)>>2]=i;p=c[K>>2]|0;c[a+148+(b*36|0)+32>>2]=L+1;c[a+148+(b*36|0)+16+(L<<2)>>2]=p;L=c[d>>2]|0;f=(c[j>>2]=p,+g[j>>2]);k=+g[L+20>>2]*f;h=+g[L+24>>2]*f;f=+g[L+16>>2]*f+ +g[a+128>>2];g[a+128>>2]=f;k=k+ +g[a+132>>2];g[a+132>>2]=k;h=h+ +g[a+136>>2];g[a+136>>2]=h}if((q|0)!=1){p=1;do{d=a+148+(D*36|0)+(p<<2)|0;i=c[d>>2]|0;if(!(r&1<<p)){L=c[a+364>>2]|0;c[a+364>>2]=L+1;c[a+348+(L<<2)>>2]=i}else{L=c[a+148+(b*36|0)+32>>2]|0;c[a+148+(b*36|0)+(L<<2)>>2]=i;i=c[K+(p<<2)>>2]|0;c[a+148+(b*36|0)+32>>2]=L+1;c[a+148+(b*36|0)+16+(L<<2)>>2]=i;L=c[d>>2]|0;f=(c[j>>2]=i,+g[j>>2]);k=+g[L+20>>2]*f;h=+g[L+24>>2]*f;f=+g[L+16>>2]*f+ +g[a+128>>2];g[a+128>>2]=f;k=k+ +g[a+132>>2];g[a+132>>2]=k;h=h+ +g[a+136>>2];g[a+136>>2]=h}p=p+1|0}while((p|0)!=(q|0))}}else{h=0.0;k=0.0;f=0.0}if((r|0)==15)c[a+376>>2]=1;F=F+1|0;if(F>>>0>=128){J=45;break}d=c[a+376>>2]|0;if(d|0)break;else D=b}if((J|0)==6){c[a+376>>2]=1;b=D;J=48}else if((J|0)==9){b=c[a+368>>2]|0;F=(c[a+148+(b*36|0)+32>>2]|0)+-1|0;c[a+148+(b*36|0)+32>>2]=F;F=c[a+148+(b*36|0)+(F<<2)>>2]|0;L=c[a+364>>2]|0;c[a+364>>2]=L+1;c[a+348+(L<<2)>>2]=F;J=48}else if((J|0)==10){b=c[a+368>>2]|0;F=(c[a+148+(b*36|0)+32>>2]|0)+-1|0;c[a+148+(b*36|0)+32>>2]=F;F=c[a+148+(b*36|0)+(F<<2)>>2]|0;L=c[a+364>>2]|0;c[a+364>>2]=L+1;c[a+348+(L<<2)>>2]=F;J=48}else if((J|0)==45){c[a+376>>2]=2;c[a+372>>2]=a+148+(b*36|0);L=2;l=K;return L|0}else if((J|0)==46){b=c[a+368>>2]|0;F=(c[a+148+(b*36|0)+32>>2]|0)+-1|0;c[a+148+(b*36|0)+32>>2]=F;F=c[a+148+(b*36|0)+(F<<2)>>2]|0;L=c[a+364>>2]|0;c[a+364>>2]=L+1;c[a+348+(L<<2)>>2]=F;J=48}if((J|0)==48)d=c[a+376>>2]|0;c[a+372>>2]=a+148+(b*36|0);switch(d|0){case 0:{G=+g[a+128>>2];H=+g[a+132>>2];I=+g[a+136>>2];g[a+144>>2]=+B(+(G*G+H*H+I*I));L=0;l=K;return L|0}case 1:{g[a+144>>2]=0.0;L=1;l=K;return L|0}default:{L=d;l=K;return L|0}}return 0}function zc(b,d,e,f,h){b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;var i=0,j=0,k=0,m=0,n=0.0,o=0.0,p=0.0,q=0.0,r=0.0,s=0.0,t=0,u=0,v=0,w=0,x=0.0,y=0.0,z=0.0,A=0.0,B=0.0,C=0.0,D=0.0,E=0.0,F=0.0,G=0.0,H=0.0,I=0.0,J=0.0,K=0.0,L=0.0,M=0.0,N=0.0,O=0.0;w=l;l=l+208|0;u=(a[b+68>>0]|0)!=0;t=u?e:d;u=u?d:e;v=c[t+4>>2]|0;if((c[v+72>>2]|0)!=(c[b+80>>2]|0)){j=c[b+52>>2]|0;if((j|0)>0){i=0;do{k=c[(c[b+60>>2]|0)+(i<<2)>>2]|0;if(k|0){Db[c[c[k>>2]>>2]&511](k);m=c[b+4>>2]|0;Ib[c[(c[m>>2]|0)+60>>2]&127](m,c[(c[b+60>>2]|0)+(i<<2)>>2]|0)}i=i+1|0}while((i|0)!=(j|0))}yg(b,d,e);c[b+80>>2]=c[v+72>>2]}d=c[b+52>>2]|0;if(!d){l=w;return}m=c[v+68>>2]|0;j=c[b+4>>2]|0;k=c[b+60>>2]|0;i=c[b+72>>2]|0;c[w+176>>2]=11716;c[w+176+4>>2]=t;c[w+176+8>>2]=u;c[w+176+12>>2]=j;c[w+176+16>>2]=f;c[w+176+20>>2]=h;c[w+176+24>>2]=k;c[w+176+28>>2]=i;i=c[b+32>>2]|0;if((i|0)<0){if((c[b+36>>2]|0)<0){d=c[b+40>>2]|0;if(d|0){if(a[b+44>>0]|0){c[6898]=(c[6898]|0)+1;md(c[d+-4>>2]|0)}c[b+40>>2]=0}a[b+44>>0]=1;c[b+40>>2]=0;c[b+36>>2]=0}do{c[(c[b+40>>2]|0)+(i<<2)>>2]=0;i=i+1|0}while((i|0)!=0);d=c[b+52>>2]|0}c[b+32>>2]=0;if((d|0)>0){k=0;do{i=c[(c[b+60>>2]|0)+(k<<2)>>2]|0;if(i){Ib[c[(c[i>>2]|0)+16>>2]&127](i,b+28|0);i=c[b+32>>2]|0;if((i|0)>0){j=0;do{e=c[(c[b+40>>2]|0)+(j<<2)>>2]|0;if(c[e+780>>2]|0){c[h+4>>2]=e;i=c[e+772>>2]|0;d=c[(c[h+8>>2]|0)+8>>2]|0;if((i|0)==(d|0))De(e,i+4|0,(c[(c[h+12>>2]|0)+8>>2]|0)+4|0);else De(e,(c[(c[h+12>>2]|0)+8>>2]|0)+4|0,d+4|0);c[h+4>>2]=0;i=c[b+32>>2]|0}j=j+1|0}while((j|0)<(i|0))}if((i|0)<0){if((c[b+36>>2]|0)<0){d=c[b+40>>2]|0;if(d|0){if(a[b+44>>0]|0){c[6898]=(c[6898]|0)+1;md(c[d+-4>>2]|0)}c[b+40>>2]=0}a[b+44>>0]=1;c[b+40>>2]=0;c[b+36>>2]=0}do{c[(c[b+40>>2]|0)+(i<<2)>>2]=0;i=i+1|0}while((i|0)!=0)}c[b+32>>2]=0;d=c[b+52>>2]|0}k=k+1|0}while((k|0)<(d|0))}if(!m){if((d|0)>0){i=0;do{Zd(w+176|0,c[(c[v+28>>2]|0)+(i*80|0)+64>>2]|0,i);i=i+1|0}while((i|0)<(d|0))}}else{k=c[t+12>>2]|0;F=+g[k>>2];E=+g[k+16>>2];D=+g[k+32>>2];C=+g[k+4>>2];B=+g[k+20>>2];A=+g[k+36>>2];r=+g[k+8>>2];p=+g[k+24>>2];n=+g[k+40>>2];z=-+g[k+48>>2];y=-+g[k+52>>2];x=-+g[k+56>>2];k=c[u+12>>2]|0;O=+g[k>>2];N=+g[k+16>>2];M=+g[k+32>>2];L=+g[k+4>>2];K=+g[k+20>>2];J=+g[k+36>>2];I=+g[k+8>>2];H=+g[k+24>>2];G=+g[k+40>>2];q=+g[k+48>>2];o=+g[k+52>>2];s=+g[k+56>>2];g[w+32>>2]=F*O+E*N+D*M;g[w+32+4>>2]=F*L+E*K+D*J;g[w+32+8>>2]=F*I+E*H+D*G;g[w+32+12>>2]=0.0;g[w+32+16>>2]=C*O+B*N+A*M;g[w+32+20>>2]=C*L+B*K+A*J;g[w+32+24>>2]=C*I+B*H+A*G;g[w+32+28>>2]=0.0;g[w+32+32>>2]=r*O+p*N+n*M;g[w+32+36>>2]=r*L+p*K+n*J;g[w+32+40>>2]=r*I+p*H+n*G;g[w+32+44>>2]=0.0;g[w+32+48>>2]=F*z+E*y+D*x+(F*q+E*o+D*s);g[w+32+52>>2]=C*z+B*y+A*x+(C*q+B*o+A*s);g[w+32+56>>2]=r*z+p*y+n*x+(r*q+p*o+n*s);g[w+32+60>>2]=0.0;k=c[u+4>>2]|0;Pb[c[(c[k>>2]|0)+8>>2]&127](k,w+32|0,w+112|0,w+96|0);s=+g[h+32>>2];n=+g[w+112>>2]-s;g[w+112>>2]=n;o=+g[w+112+4>>2]-s;g[w+112+4>>2]=o;p=+g[w+112+8>>2]-s;g[w+112+8>>2]=p;q=s+ +g[w+96>>2];g[w+96>>2]=q;r=s+ +g[w+96+4>>2];g[w+96+4>>2]=r;s=s+ +g[w+96+8>>2];g[w+96+8>>2]=s;k=c[m>>2]|0;if(k|0){i=c[b+12>>2]|0;d=c[b+16>>2]|0;if((i|0)<0){if((d|0)<0){d=c[b+20>>2]|0;if(d|0){if(a[b+24>>0]|0){c[6898]=(c[6898]|0)+1;md(c[d+-4>>2]|0)}c[b+20>>2]=0}a[b+24>>0]=1;c[b+20>>2]=0;c[b+16>>2]=0;d=0}do{c[(c[b+20>>2]|0)+(i<<2)>>2]=0;i=i+1|0}while((i|0)!=0)}c[b+12>>2]=0;if((d|0)<64){c[6897]=(c[6897]|0)+1;i=ec(275)|0;if(!i)e=0;else{c[(i+4+15&-16)+-4>>2]=i;e=i+4+15&-16}i=c[b+12>>2]|0;if((i|0)>0){d=0;do{c[e+(d<<2)>>2]=c[(c[b+20>>2]|0)+(d<<2)>>2];d=d+1|0}while((d|0)!=(i|0))}d=c[b+20>>2]|0;if(d){if(a[b+24>>0]|0){c[6898]=(c[6898]|0)+1;md(c[d+-4>>2]|0);i=c[b+12>>2]|0}c[b+20>>2]=0}a[b+24>>0]=1;c[b+20>>2]=e;c[b+16>>2]=64;d=64}else i=0;if((i|0)==(d|0)){j=d<<1;if((d|0)<(j|0)){c[6897]=(c[6897]|0)+1;i=ec((d<<3|3)+16|0)|0;if(!i)e=0;else{c[(i+4+15&-16)+-4>>2]=i;e=i+4+15&-16}i=c[b+12>>2]|0;if((i|0)>0){d=0;do{c[e+(d<<2)>>2]=c[(c[b+20>>2]|0)+(d<<2)>>2];d=d+1|0}while((d|0)!=(i|0))}d=c[b+20>>2]|0;if(d){if(a[b+24>>0]|0){c[6898]=(c[6898]|0)+1;md(c[d+-4>>2]|0);i=c[b+12>>2]|0}c[b+20>>2]=0}a[b+24>>0]=1;c[b+20>>2]=e;c[b+16>>2]=j}else i=d}c[(c[b+20>>2]|0)+(i<<2)>>2]=k;d=i+1|0;c[b+12>>2]=d;while(1){i=d+-1|0;e=(c[b+20>>2]|0)+(i<<2)|0;f=c[e>>2]|0;c[b+12>>2]=i;do if(((((+g[f>>2]<=q?+g[f+16>>2]>=n:0)?+g[f+4>>2]<=r:0)?+g[f+20>>2]>=o:0)?+g[f+8>>2]<=s:0)?+g[f+24>>2]>=p:0){if(!(c[f+40>>2]|0)){Ib[c[(c[w+176>>2]|0)+12>>2]&127](w+176|0,f);i=c[b+12>>2]|0;break}k=c[f+36>>2]|0;j=c[b+16>>2]|0;do if((i|0)==(j|0)){j=(i|0)==0?1:i<<1;if((d|0)>(j|0)){d=i;break}if(!j)e=0;else{c[6897]=(c[6897]|0)+1;i=ec((j<<2|3)+16|0)|0;if(!i)i=0;else{c[(i+4+15&-16)+-4>>2]=i;i=i+4+15&-16}e=i;i=c[b+12>>2]|0}if((i|0)>0){d=0;do{c[e+(d<<2)>>2]=c[(c[b+20>>2]|0)+(d<<2)>>2];d=d+1|0}while((d|0)!=(i|0))}d=c[b+20>>2]|0;if(d){if(a[b+24>>0]|0){c[6898]=(c[6898]|0)+1;md(c[d+-4>>2]|0);i=c[b+12>>2]|0}c[b+20>>2]=0}a[b+24>>0]=1;c[b+20>>2]=e;c[b+16>>2]=j;e=e+(i<<2)|0;d=i;i=j}else{d=i;i=j}while(0);c[e>>2]=k;d=d+1|0;c[b+12>>2]=d;k=c[f+40>>2]|0;do if((d|0)==(i|0)){j=(i|0)==0?1:i<<1;if((i|0)>=(j|0))break;if(!j)e=0;else{c[6897]=(c[6897]|0)+1;i=ec((j<<2|3)+16|0)|0;if(!i)i=0;else{c[(i+4+15&-16)+-4>>2]=i;i=i+4+15&-16}e=i;i=c[b+12>>2]|0}if((i|0)>0){d=0;do{c[e+(d<<2)>>2]=c[(c[b+20>>2]|0)+(d<<2)>>2];d=d+1|0}while((d|0)!=(i|0))}d=c[b+20>>2]|0;if(d){if(a[b+24>>0]|0){c[6898]=(c[6898]|0)+1;md(c[d+-4>>2]|0);i=c[b+12>>2]|0}c[b+20>>2]=0}a[b+24>>0]=1;c[b+20>>2]=e;c[b+16>>2]=j}else i=d;while(0);c[(c[b+20>>2]|0)+(i<<2)>>2]=k;i=i+1|0;c[b+12>>2]=i}while(0);if((i|0)>0)d=i;else break}}}e=c[b+52>>2]|0;i=c[b+32>>2]|0;if((i|0)<0){if((c[b+36>>2]|0)<0){d=c[b+40>>2]|0;if(d|0){if(a[b+44>>0]|0){c[6898]=(c[6898]|0)+1;md(c[d+-4>>2]|0)}c[b+40>>2]=0}a[b+44>>0]=1;c[b+40>>2]=0;c[b+36>>2]=0}do{c[(c[b+40>>2]|0)+(i<<2)>>2]=0;i=i+1|0}while((i|0)!=0)}c[b+32>>2]=0;if((e|0)>0){d=0;do{do if(c[(c[b+60>>2]|0)+(d<<2)>>2]|0){f=c[v+28>>2]|0;m=c[f+(d*80|0)+64>>2]|0;h=c[t+12>>2]|0;q=+g[h>>2];r=+g[h+4>>2];s=+g[h+8>>2];x=+g[h+16>>2];y=+g[h+20>>2];z=+g[h+24>>2];G=+g[h+32>>2];I=+g[h+36>>2];K=+g[h+40>>2];A=+g[f+(d*80|0)>>2];B=+g[f+(d*80|0)+16>>2];C=+g[f+(d*80|0)+32>>2];D=+g[f+(d*80|0)+4>>2];E=+g[f+(d*80|0)+20>>2];F=+g[f+(d*80|0)+36>>2];H=+g[f+(d*80|0)+8>>2];J=+g[f+(d*80|0)+24>>2];L=+g[f+(d*80|0)+40>>2];o=+g[f+(d*80|0)+48>>2];p=+g[f+(d*80|0)+52>>2];O=+g[f+(d*80|0)+56>>2];M=+g[h+48>>2]+(q*o+r*p+s*O);N=+g[h+52>>2]+(x*o+y*p+z*O);O=+g[h+56>>2]+(G*o+I*p+K*O);g[w+112>>2]=q*A+r*B+s*C;g[w+112+4>>2]=q*D+r*E+s*F;g[w+112+8>>2]=q*H+r*J+s*L;g[w+112+12>>2]=0.0;g[w+112+16>>2]=x*A+y*B+z*C;g[w+112+20>>2]=x*D+y*E+z*F;g[w+112+24>>2]=x*H+y*J+z*L;g[w+112+28>>2]=0.0;g[w+112+32>>2]=G*A+I*B+K*C;g[w+112+36>>2]=G*D+I*E+K*F;g[w+112+40>>2]=G*H+I*J+K*L;g[w+112+44>>2]=0.0;g[w+112+48>>2]=M;g[w+112+52>>2]=N;g[w+112+56>>2]=O;g[w+112+60>>2]=0.0;Pb[c[(c[m>>2]|0)+8>>2]&127](m,w+112|0,w+96|0,w+32|0);m=c[u+4>>2]|0;Pb[c[(c[m>>2]|0)+8>>2]&127](m,c[u+12>>2]|0,w+16|0,w);if(!(+g[w+96>>2]>+g[w>>2])?!(+g[w+32>>2]<+g[w+16>>2]):0)i=1;else i=0;if(!(!(+g[w+96+8>>2]>+g[w+8>>2])?!(+g[w+32+8>>2]<+g[w+16+8>>2]):0))i=0;if(!(+g[w+96+4>>2]>+g[w+4>>2])?!(+g[w+32+4>>2]<+g[w+16+4>>2]|i^1):0)break;m=c[(c[b+60>>2]|0)+(d<<2)>>2]|0;Db[c[c[m>>2]>>2]&511](m);m=c[b+4>>2]|0;Ib[c[(c[m>>2]|0)+60>>2]&127](m,c[(c[b+60>>2]|0)+(d<<2)>>2]|0);c[(c[b+60>>2]|0)+(d<<2)>>2]=0}while(0);d=d+1|0}while((d|0)<(e|0))}l=w;return}function Ac(b,d,e,f,h,i,j,k){b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;i=+i;j=+j;k=k|0;var m=0,n=0.0,o=0,p=0,q=0,r=0.0,s=0.0,t=0.0,u=0.0,v=0.0,w=0.0,x=0.0,y=0.0,z=0.0,A=0.0,B=0.0,C=0.0,D=0.0,E=0.0,F=0.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.0,Z=0.0,_=0.0,$=0.0,aa=0;X=l;l=l+16|0;m=c[h+4>>2]|0;if((m|0)<0){if((c[h+8>>2]|0)<0){o=c[h+12>>2]|0;if(o|0){if(a[h+16>>0]|0){c[6898]=(c[6898]|0)+1;md(c[o+-4>>2]|0)}c[h+12>>2]=0}a[h+16>>0]=1;c[h+12>>2]=0;c[h+8>>2]=0}do{W=(c[h+12>>2]|0)+(m<<4)|0;c[W>>2]=c[X>>2];c[W+4>>2]=c[X+4>>2];c[W+8>>2]=c[X+8>>2];c[W+12>>2]=c[X+12>>2];m=m+1|0}while((m|0)!=0)}c[h+4>>2]=0;q=c[f+4>>2]|0;if((c[h+8>>2]|0)<(q|0)){if(q){c[6897]=(c[6897]|0)+1;m=ec((q<<4|3)+16|0)|0;if(!m)m=0;else{c[(m+4+15&-16)+-4>>2]=m;m=m+4+15&-16}p=c[h+4>>2]|0;if((p|0)>0){o=0;do{W=m+(o<<4)|0;V=(c[h+12>>2]|0)+(o<<4)|0;c[W>>2]=c[V>>2];c[W+4>>2]=c[V+4>>2];c[W+8>>2]=c[V+8>>2];c[W+12>>2]=c[V+12>>2];o=o+1|0}while((o|0)!=(p|0));p=h+12|0}else p=h+12|0}else{m=0;p=h+12|0}o=c[p>>2]|0;if(o|0){if(a[h+16>>0]|0){c[6898]=(c[6898]|0)+1;md(c[o+-4>>2]|0)}c[p>>2]=0}a[h+16>>0]=1;c[p>>2]=m;c[h+8>>2]=q}p=c[d+28>>2]|0;if((p|0)<=0){l=X;return}W=c[d+36>>2]|0;y=+g[e>>2];x=+g[e+4>>2];u=+g[e+8>>2];w=+g[e+16>>2];t=+g[e+20>>2];s=+g[e+24>>2];v=+g[e+32>>2];r=+g[e+36>>2];n=+g[e+40>>2];A=+g[b>>2];B=+g[b+4>>2];C=+g[b+8>>2];V=-1;z=3402823466385288598117041.0e14;m=0;while(1){D=+g[W+(m*36|0)+20>>2];E=+g[W+(m*36|0)+24>>2];F=+g[W+(m*36|0)+28>>2];o=(D*y+E*x+F*u)*A+(D*w+E*t+F*s)*B+(D*v+E*r+F*n)*C<z;V=o?m:V;m=m+1|0;if((m|0)==(p|0))break;else z=o?(D*y+E*x+F*u)*A+(D*w+E*t+F*s)*B+(D*v+E*r+F*n)*C:z}if((V|0)<0){l=X;return}M=c[W+(V*36|0)+4>>2]|0;if((M|0)>0){N=W+(V*36|0)+12|0;O=W+(V*36|0)+20|0;P=W+(V*36|0)+24|0;Q=W+(V*36|0)+28|0;m=0;L=h;K=f;while(1){H=c[N>>2]|0;G=c[H+(m<<2)>>2]|0;f=c[d+16>>2]|0;J=m+1|0;H=c[H+(((J|0)==(M|0)?0:J)<<2)>>2]|0;Z=+g[f+(G<<4)>>2];_=Z-+g[f+(H<<4)>>2];Y=+g[f+(G<<4)+4>>2];$=Y-+g[f+(H<<4)+4>>2];z=+g[f+(G<<4)+8>>2];C=z-+g[f+(H<<4)+8>>2];A=_*y+$*x+C*u;B=_*w+$*t+C*s;C=_*v+$*r+C*n;$=+g[O>>2];_=+g[P>>2];F=+g[Q>>2];D=y*$+x*_+u*F;E=w*$+t*_+s*F;F=v*$+r*_+n*F;z=(Z*y+Y*x+z*u+ +g[e+48>>2])*-(B*F-C*E)+(Z*w+Y*t+z*s+ +g[e+52>>2])*-(C*D-A*F)+(Z*v+Y*r+z*n+ +g[e+56>>2])*-(A*E-B*D);H=K;f=L;m=c[H+4>>2]|0;if((m|0)>=2){p=c[H+12>>2]|0;r=+g[p+(m+-1<<4)>>2];s=+g[p+(m+-1<<4)+4>>2];t=+g[p+(m+-1<<4)+8>>2];o=0;n=r*-(B*F-C*E)+s*-(C*D-A*F)+t*-(A*E-B*D)-z;while(1){w=+g[p+(o<<4)>>2];x=+g[p+(o<<4)+4>>2];y=+g[p+(o<<4)+8>>2];G=c[p+(o<<4)+12>>2]|0;v=w*-(B*F-C*E)+x*-(C*D-A*F)+y*-(A*E-B*D)-z;do if(n<0.0)if(v<0.0){q=c[f+4>>2]|0;if((q|0)==(c[f+8>>2]|0)?(R=(q|0)==0?1:q<<1,(q|0)<(R|0)):0){if(!R)p=0;else{c[6897]=(c[6897]|0)+1;p=ec((R<<4|3)+16|0)|0;if(!p)p=0;else{c[(p+4+15&-16)+-4>>2]=p;p=p+4+15&-16}q=c[f+4>>2]|0}if((q|0)>0){h=0;do{I=p+(h<<4)|0;aa=(c[f+12>>2]|0)+(h<<4)|0;c[I>>2]=c[aa>>2];c[I+4>>2]=c[aa+4>>2];c[I+8>>2]=c[aa+8>>2];c[I+12>>2]=c[aa+12>>2];h=h+1|0}while((h|0)!=(q|0))}q=c[f+12>>2]|0;if(q|0){if(a[f+16>>0]|0){c[6898]=(c[6898]|0)+1;md(c[q+-4>>2]|0)}c[f+12>>2]=0}a[f+16>>0]=1;c[f+12>>2]=p;c[f+8>>2]=R;p=c[f+4>>2]|0}else p=q;I=c[f+12>>2]|0;g[I+(p<<4)>>2]=w;g[I+(p<<4)+4>>2]=x;g[I+(p<<4)+8>>2]=y;c[I+(p<<4)+12>>2]=G;I=97;break}else{n=n/(n-v);u=r+(w-r)*n;r=s+(x-s)*n;n=t+(y-t)*n;q=c[f+4>>2]|0;if((q|0)==(c[f+8>>2]|0)?(S=(q|0)==0?1:q<<1,(q|0)<(S|0)):0){if(!S)p=0;else{c[6897]=(c[6897]|0)+1;p=ec((S<<4|3)+16|0)|0;if(!p)p=0;else{c[(p+4+15&-16)+-4>>2]=p;p=p+4+15&-16}q=c[f+4>>2]|0}if((q|0)>0){h=0;do{aa=p+(h<<4)|0;I=(c[f+12>>2]|0)+(h<<4)|0;c[aa>>2]=c[I>>2];c[aa+4>>2]=c[I+4>>2];c[aa+8>>2]=c[I+8>>2];c[aa+12>>2]=c[I+12>>2];h=h+1|0}while((h|0)!=(q|0))}q=c[f+12>>2]|0;if(q|0){if(a[f+16>>0]|0){c[6898]=(c[6898]|0)+1;md(c[q+-4>>2]|0)}c[f+12>>2]=0}a[f+16>>0]=1;c[f+12>>2]=p;c[f+8>>2]=S;p=c[f+4>>2]|0}else p=q;I=c[f+12>>2]|0;g[I+(p<<4)>>2]=u;g[I+(p<<4)+4>>2]=r;g[I+(p<<4)+8>>2]=n;g[I+(p<<4)+12>>2]=0.0;I=97;break}else if(v<0.0){n=n/(n-v);u=r+(w-r)*n;r=s+(x-s)*n;n=t+(y-t)*n;q=c[f+4>>2]|0;if((q|0)==(c[f+8>>2]|0)?(T=(q|0)==0?1:q<<1,(q|0)<(T|0)):0){if(!T)p=0;else{c[6897]=(c[6897]|0)+1;p=ec((T<<4|3)+16|0)|0;if(!p)p=0;else{c[(p+4+15&-16)+-4>>2]=p;p=p+4+15&-16}q=c[f+4>>2]|0}if((q|0)>0){h=0;do{aa=p+(h<<4)|0;I=(c[f+12>>2]|0)+(h<<4)|0;c[aa>>2]=c[I>>2];c[aa+4>>2]=c[I+4>>2];c[aa+8>>2]=c[I+8>>2];c[aa+12>>2]=c[I+12>>2];h=h+1|0}while((h|0)!=(q|0))}q=c[f+12>>2]|0;if(q|0){if(a[f+16>>0]|0){c[6898]=(c[6898]|0)+1;md(c[q+-4>>2]|0)}c[f+12>>2]=0}a[f+16>>0]=1;c[f+12>>2]=p;c[f+8>>2]=T;p=c[f+4>>2]|0}else p=q;q=c[f+12>>2]|0;g[q+(p<<4)>>2]=u;g[q+(p<<4)+4>>2]=r;g[q+(p<<4)+8>>2]=n;g[q+(p<<4)+12>>2]=0.0;q=(c[f+4>>2]|0)+1|0;c[f+4>>2]=q;if((q|0)==(c[f+8>>2]|0)?(U=(q|0)==0?1:q<<1,(q|0)<(U|0)):0){if(!U)p=0;else{c[6897]=(c[6897]|0)+1;p=ec((U<<4|3)+16|0)|0;if(!p)p=0;else{c[(p+4+15&-16)+-4>>2]=p;p=p+4+15&-16}q=c[f+4>>2]|0}if((q|0)>0){h=0;do{aa=p+(h<<4)|0;I=(c[f+12>>2]|0)+(h<<4)|0;c[aa>>2]=c[I>>2];c[aa+4>>2]=c[I+4>>2];c[aa+8>>2]=c[I+8>>2];c[aa+12>>2]=c[I+12>>2];h=h+1|0}while((h|0)!=(q|0))}q=c[f+12>>2]|0;if(q|0){if(a[f+16>>0]|0){c[6898]=(c[6898]|0)+1;md(c[q+-4>>2]|0)}c[f+12>>2]=0}a[f+16>>0]=1;c[f+12>>2]=p;c[f+8>>2]=U;p=c[f+4>>2]|0}else p=q;I=c[f+12>>2]|0;g[I+(p<<4)>>2]=w;g[I+(p<<4)+4>>2]=x;g[I+(p<<4)+8>>2]=y;c[I+(p<<4)+12>>2]=G;I=97}while(0);if((I|0)==97){I=0;c[f+4>>2]=(c[f+4>>2]|0)+1}o=o+1|0;if((o|0)==(m|0))break;n=v;r=w;t=y;s=x;p=c[H+12>>2]|0}m=c[H+4>>2]|0}if((m|0)<0){if((c[H+8>>2]|0)<0){o=c[H+12>>2]|0;if(o|0){if(a[H+16>>0]|0){c[6898]=(c[6898]|0)+1;md(c[o+-4>>2]|0)}c[H+12>>2]=0}a[H+16>>0]=1;c[H+12>>2]=0;c[H+8>>2]=0}do{aa=(c[H+12>>2]|0)+(m<<4)|0;c[aa>>2]=c[X>>2];c[aa+4>>2]=c[X+4>>2];c[aa+8>>2]=c[X+8>>2];c[aa+12>>2]=c[X+12>>2];m=m+1|0}while((m|0)!=0)}c[H+4>>2]=0;if((J|0)==(M|0))break;aa=K;m=J;y=+g[e>>2];x=+g[e+4>>2];u=+g[e+8>>2];w=+g[e+16>>2];t=+g[e+20>>2];s=+g[e+24>>2];v=+g[e+32>>2];r=+g[e+36>>2];n=+g[e+40>>2];K=L;L=aa}p=O;o=P;m=Q;q=e+48|0;h=e+52|0;G=e+56|0;H=f+4|0;y=+g[e>>2];x=+g[e+4>>2];u=+g[e+8>>2];w=+g[e+16>>2];t=+g[e+20>>2];s=+g[e+24>>2];v=+g[e+32>>2];r=+g[e+36>>2];n=+g[e+40>>2]}else{p=W+(V*36|0)+20|0;o=W+(V*36|0)+24|0;m=W+(V*36|0)+28|0;q=e+48|0;h=e+52|0;G=e+56|0;H=f+4|0}Z=+g[p>>2];_=+g[o>>2];$=+g[m>>2];u=Z*y+_*x+$*u;t=Z*w+_*t+$*s;s=Z*v+_*r+$*n;r=+g[W+(V*36|0)+32>>2]-(u*+g[q>>2]+t*+g[h>>2]+s*+g[G>>2]);m=c[H>>2]|0;if((m|0)<=0){l=X;return}q=f+12|0;p=0;do{aa=c[q>>2]|0;o=aa+(p<<4)|0;n=r+(u*+g[o>>2]+t*+g[aa+(p<<4)+4>>2]+s*+g[aa+(p<<4)+8>>2]);n=n<=i?i:n;if(n<=j){c[X>>2]=c[o>>2];c[X+4>>2]=c[o+4>>2];c[X+8>>2]=c[o+8>>2];c[X+12>>2]=c[o+12>>2];Nb[c[(c[k>>2]|0)+16>>2]&15](k,b,X,n);m=c[H>>2]|0}p=p+1|0}while((p|0)<(m|0));l=X;return}function Bc(b,d){b=b|0;d=d|0;var e=0,f=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;u=l;l=l+16|0;j=c[b+228>>2]|0;i=c[b+196>>2]|0;if((i|0)<(j|0)){if((c[b+200>>2]|0)<(j|0)){if(!j){e=0;h=i}else{c[6897]=(c[6897]|0)+1;e=ec((j<<2|3)+16|0)|0;if(!e)e=0;else{c[(e+4+15&-16)+-4>>2]=e;e=e+4+15&-16}h=c[b+196>>2]|0}if((h|0)>0){f=0;do{c[e+(f<<2)>>2]=c[(c[b+204>>2]|0)+(f<<2)>>2];f=f+1|0}while((f|0)!=(h|0))}f=c[b+204>>2]|0;if(f|0){if(a[b+208>>0]|0){c[6898]=(c[6898]|0)+1;md(c[f+-4>>2]|0)}c[b+204>>2]=0}a[b+208>>0]=1;c[b+204>>2]=e;c[b+200>>2]=j;f=b+204|0}else f=b+204|0;e=i;do{c[(c[f>>2]|0)+(e<<2)>>2]=0;e=e+1|0}while((e|0)!=(j|0))}else f=b+204|0;c[b+196>>2]=j;e=0;while(1){if((e|0)>=(sb[c[(c[b>>2]|0)+104>>2]&127](b)|0))break;c[(c[f>>2]|0)+(e<<2)>>2]=c[(c[b+236>>2]|0)+(e<<2)>>2];e=e+1|0}e=c[b+196>>2]|0;if((e|0)>1)lg(b+192|0,0,e+-1|0);if(!(sb[c[(c[b>>2]|0)+104>>2]&127](b)|0))e=0;else e=c[f>>2]|0;h=c[b+212>>2]|0;s=c[b+196>>2]|0;t=sb[c[(c[b>>2]|0)+20>>2]&127](b)|0;c[h+4>>2]=d;c[h+12>>2]=e;c[h+16>>2]=s;c[h+20>>2]=t;e=c[h+32>>2]|0;if((e|0)<0){if((c[h+36>>2]|0)<0){f=c[h+40>>2]|0;if(f|0){if(a[h+44>>0]|0){c[6898]=(c[6898]|0)+1;md(c[f+-4>>2]|0)}c[h+40>>2]=0}a[h+44>>0]=1;c[h+40>>2]=0;c[h+36>>2]=0}do{c[(c[h+40>>2]|0)+(e<<2)>>2]=0;e=e+1|0}while((e|0)!=0)}c[h+32>>2]=0;e=c[h+52>>2]|0;if((e|0)<0){if((c[h+56>>2]|0)<0){f=c[h+60>>2]|0;if(f|0){if(a[h+64>>0]|0){c[6898]=(c[6898]|0)+1;md(c[f+-4>>2]|0)}c[h+60>>2]=0}a[h+64>>0]=1;c[h+60>>2]=0;c[h+56>>2]=0}do{c[(c[h+60>>2]|0)+(e<<2)>>2]=0;e=e+1|0}while((e|0)!=0)}c[h+52>>2]=0;e=c[h+72>>2]|0;if((e|0)<0){if((c[h+76>>2]|0)<0){f=c[h+80>>2]|0;if(f|0){if(a[h+84>>0]|0){c[6898]=(c[6898]|0)+1;md(c[f+-4>>2]|0)}c[h+80>>2]=0}a[h+84>>0]=1;c[h+80>>2]=0;c[h+76>>2]=0}do{c[(c[h+80>>2]|0)+(e<<2)>>2]=0;e=e+1|0}while((e|0)!=0)}c[h+72>>2]=0;t=c[b+216>>2]|0;e=c[(c[t>>2]|0)+8>>2]|0;q=c[b+8>>2]|0;s=c[b+24>>2]|0;s=sb[c[(c[s>>2]|0)+36>>2]&127](s)|0;Mb[e&127](t,q,s);s=c[b+220>>2]|0;q=c[b+24>>2]|0;t=c[b+212>>2]|0;e=c[s+28>>2]|0;if((e|0)<0){if((c[s+32>>2]|0)<0){f=c[s+36>>2]|0;if(f|0){if(a[s+40>>0]|0){c[6898]=(c[6898]|0)+1;md(c[f+-4>>2]|0)}c[s+36>>2]=0}a[s+40>>0]=1;c[s+36>>2]=0;c[s+32>>2]=0}do{c[(c[s+36>>2]|0)+(e<<2)>>2]=0;e=e+1|0}while((e|0)!=0)}c[s+28>>2]=0;j=c[s+8>>2]|0;if((j|0)>0){k=c[s+16>>2]|0;i=0;do{m=k+(i<<3)|0;e=c[m>>2]|0;if((e|0)!=(i|0)){c[m>>2]=c[k+(e<<3)>>2];e=c[k+(e<<3)>>2]|0;f=c[k+(e<<3)>>2]|0;if((e|0)!=(f|0)){h=k+(e<<3)|0;do{e=k+(f<<3)|0;c[h>>2]=c[e>>2];e=c[e>>2]|0;h=k+(e<<3)|0;f=c[h>>2]|0}while((e|0)!=(f|0))}}else e=i;c[m>>2]=e;i=i+1|0}while((i|0)!=(j|0));if((j|0)>1){Ei(s+4|0,0,j+-1|0);n=c[s+8>>2]|0}else n=j;if((n|0)>0){o=c[s+16>>2]|0;k=0;while(1){p=c[o+(k<<3)>>2]|0;e=k+1|0;a:do if((e|0)<(n|0)){f=k;h=e;while(1){if((c[o+(h<<3)>>2]|0)!=(p|0)){e=h;break a}e=h+1|0;if((e|0)<(n|0)){f=h;h=e}else{f=h;break}}}else f=k;while(0);b:do if((k|0)<=(f|0)){m=c[b+16>>2]|0;h=1;j=k;while(1){i=c[m+(c[o+(j<<3)+4>>2]<<2)>>2]|0;if((c[i+208>>2]|0)==(p|0)){i=c[i+220>>2]|0;h=(i|0)!=4&(h&(i|0)!=1)}if((j|0)<(f|0))j=j+1|0;else break}if(h){h=k;while(1){i=c[m+(c[o+(h<<3)+4>>2]<<2)>>2]|0;do if((c[i+208>>2]|0)==(p|0)){if((c[i+220>>2]&-2|0)==4)break;c[i+220>>2]=2}while(0);if((h|0)>=(f|0))break b;h=h+1|0}}else{h=k;while(1){i=c[m+(c[o+(h<<3)+4>>2]<<2)>>2]|0;do if((c[i+208>>2]|0)==(p|0)){if((c[i+220>>2]|0)!=2)break;c[i+220>>2]=3;g[i+224>>2]=0.0}while(0);if((h|0)>=(f|0))break b;h=h+1|0}}}while(0);if((e|0)<(n|0))k=e;else break}}}k=sb[c[(c[q>>2]|0)+36>>2]&127](q)|0;if((k|0)>0){j=0;do{m=ub[c[(c[q>>2]|0)+40>>2]&31](q,j)|0;h=c[m+772>>2]|0;i=c[m+776>>2]|0;if((h|0)!=0?(c[h+220>>2]|0)!=2:0){e=c[h+204>>2]|0;if(!(e&2))f=112;else f=107}else f=102;if(((f|0)==102?(f=0,i|0):0)?(c[i+220>>2]|0)!=2:0){e=c[h+204>>2]|0;if((e&2|0)!=0?(c[h+220>>2]|0)!=2:0)f=107;else f=112}if((f|0)==107)if((e&4|0)==0?(c[i+204>>2]&3|0)==0:0){if((c[i+220>>2]&-2|0)!=4)c[i+220>>2]=1;g[i+224>>2]=0.0;f=112}else f=112;if((f|0)==112){p=c[i+204>>2]|0;if(p&2|0?((p&4|e&3|0)==0?(c[i+220>>2]|0)!=2:0):0){if((c[h+220>>2]&-2|0)!=4)c[h+220>>2]=1;g[h+224>>2]=0.0}if(a[s+64>>0]|0?wb[c[(c[q>>2]|0)+28>>2]&63](q,h,i)|0:0){f=c[s+28>>2]|0;if((f|0)==(c[s+32>>2]|0)?(r=(f|0)==0?1:f<<1,(f|0)<(r|0)):0){if(!r)e=0;else{c[6897]=(c[6897]|0)+1;e=ec((r<<2|3)+16|0)|0;if(!e)e=0;else{c[(e+4+15&-16)+-4>>2]=e;e=e+4+15&-16}f=c[s+28>>2]|0}if((f|0)>0){h=0;do{c[e+(h<<2)>>2]=c[(c[s+36>>2]|0)+(h<<2)>>2];h=h+1|0}while((h|0)!=(f|0))}h=c[s+36>>2]|0;if(h){if(a[s+40>>0]|0){c[6898]=(c[6898]|0)+1;md(c[h+-4>>2]|0);f=c[s+28>>2]|0}c[s+36>>2]=0}a[s+40>>0]=1;c[s+36>>2]=e;c[s+32>>2]=r;e=f}else e=f;c[(c[s+36>>2]|0)+(e<<2)>>2]=m;c[s+28>>2]=e+1}}j=j+1|0}while((j|0)<(k|0));e=s+64|0}else e=s+64|0;r=c[s+8>>2]|0;if(!(a[e>>0]|0)){r=sb[c[(c[q>>2]|0)+44>>2]&127](q)|0;s=sb[c[(c[q>>2]|0)+36>>2]&127](q)|0;Ub[c[(c[t>>2]|0)+8>>2]&7](t,c[b+16>>2]|0,c[b+8>>2]|0,r,s,-1);t=c[b+212>>2]|0;Ag(t);t=c[b+216>>2]|0;s=c[t>>2]|0;s=s+16|0;s=c[s>>2]|0;b=b+72|0;b=c[b>>2]|0;Mb[s&127](t,d,b);l=u;return}q=c[s+28>>2]|0;if((q|0)>1)gg(s+24|0,0,q+-1|0);if((r|0)<=0){t=c[b+212>>2]|0;Ag(t);t=c[b+216>>2]|0;s=c[t>>2]|0;s=s+16|0;s=c[s>>2]|0;b=b+72|0;b=c[b>>2]|0;Mb[s&127](t,d,b);l=u;return}e=0;j=1;p=0;while(1){f=c[s+16>>2]|0;o=c[f+(e<<3)>>2]|0;c:do if((e|0)<(r|0)){n=1;k=c[s+48>>2]|0;h=c[s+52>>2]|0;while(1){m=c[(c[b+16>>2]|0)+(c[f+(e<<3)+4>>2]<<2)>>2]|0;if((k|0)==(h|0)){k=(h|0)==0?1:h<<1;if((h|0)<(k|0)){if(!k)f=0;else{c[6897]=(c[6897]|0)+1;f=ec((k<<2|3)+16|0)|0;if(!f)f=0;else{c[(f+4+15&-16)+-4>>2]=f;f=f+4+15&-16}h=c[s+48>>2]|0}if((h|0)>0){i=0;do{c[f+(i<<2)>>2]=c[(c[s+56>>2]|0)+(i<<2)>>2];i=i+1|0}while((i|0)!=(h|0))}i=c[s+56>>2]|0;if(i){if(a[s+60>>0]|0){c[6898]=(c[6898]|0)+1;md(c[i+-4>>2]|0);h=c[s+48>>2]|0}c[s+56>>2]=0}a[s+60>>0]=1;c[s+56>>2]=f;c[s+52>>2]=k;f=h;h=k}else f=h}else f=k;c[(c[s+56>>2]|0)+(f<<2)>>2]=m;k=f+1|0;c[s+48>>2]=k;i=c[m+220>>2]|0;i=n&((i|0)==5|(i|0)==2);e=e+1|0;if((e|0)>=(r|0)){n=e;break c}f=c[s+16>>2]|0;if((c[f+(e<<3)>>2]|0)!=(o|0)){n=e;break}else n=i}}else{n=e;i=1}while(0);if((p|0)<(q|0)){k=c[s+36>>2]|0;m=k+(p<<2)|0;f=c[m>>2]|0;e=c[(c[f+772>>2]|0)+208>>2]|0;if((e|0)<=-1)e=c[(c[f+776>>2]|0)+208>>2]|0;if((e|0)==(o|0)){e=p+1|0;d:do if((e|0)<(q|0))do{h=c[k+(e<<2)>>2]|0;f=c[(c[h+772>>2]|0)+208>>2]|0;if((f|0)<=-1)f=c[(c[h+776>>2]|0)+208>>2]|0;if((o|0)!=(f|0))break d;e=e+1|0}while((e|0)<(q|0));while(0);f=m;h=e-p|0;j=e}else{f=0;h=0}}else{f=0;h=0}if(!i)Ub[c[(c[t>>2]|0)+8>>2]&7](t,c[s+56>>2]|0,c[s+48>>2]|0,f,h,o);p=(h|0)==0?p:j;e=c[s+48>>2]|0;if((e|0)<0){if((c[s+52>>2]|0)<0){f=c[s+56>>2]|0;if(f|0){if(a[s+60>>0]|0){c[6898]=(c[6898]|0)+1;md(c[f+-4>>2]|0)}c[s+56>>2]=0}a[s+60>>0]=1;c[s+56>>2]=0;c[s+52>>2]=0}do{c[(c[s+56>>2]|0)+(e<<2)>>2]=0;e=e+1|0}while((e|0)!=0)}c[s+48>>2]=0;if((n|0)>=(r|0))break;else e=n}t=c[b+212>>2]|0;Ag(t);t=c[b+216>>2]|0;s=c[t>>2]|0;s=s+16|0;s=c[s>>2]|0;b=b+72|0;b=c[b>>2]|0;Mb[s&127](t,d,b);l=u;return}function Cc(a,b,d,e,f,h,i){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;i=i|0;var j=0,k=0.0,m=0,n=0.0,o=0,p=0.0,q=0,r=0,s=0.0,t=0.0,u=0.0,v=0.0,w=0.0,x=0,y=0.0,z=0,A=0.0,C=0.0,D=0.0,E=0.0,F=0.0,G=0.0,H=0.0,I=0.0,J=0.0,K=0.0,L=0.0,M=0.0,N=0.0,O=0.0,P=0.0,Q=0.0,R=0.0,S=0.0,T=0.0,U=0.0,V=0.0,W=0.0,X=0.0,Y=0.0,Z=0,_=0,$=0,aa=0,ba=0.0,ca=0.0,da=0.0,ea=0.0,fa=0.0,ga=0.0,ha=0.0,ia=0.0,ja=0.0,ka=0.0,la=0.0;aa=l;l=l+1312|0;$=c[b+12>>2]|0;C=+g[$>>2];W=+g[$+4>>2];Y=+g[$+8>>2];E=+g[$+16>>2];G=+g[$+20>>2];I=+g[$+24>>2];J=+g[$+32>>2];M=+g[$+36>>2];O=+g[$+40>>2];P=+g[$+48>>2];S=+g[$+52>>2];U=+g[$+56>>2];$=c[d+12>>2]|0;A=+g[$>>2];V=+g[$+4>>2];X=+g[$+8>>2];D=+g[$+16>>2];F=+g[$+20>>2];H=+g[$+24>>2];K=+g[$+32>>2];L=+g[$+36>>2];N=+g[$+40>>2];Q=+g[$+48>>2];R=+g[$+52>>2];T=+g[$+56>>2];g[aa+672+64>>2]=.009999999776482582;g[aa+600+64>>2]=.009999999776482582;Db[c[(c[e>>2]|0)+112>>2]&511](e);Db[c[(c[f>>2]|0)+112>>2]&511](f);if(!i){$=c[e>>2]|0;$=$+116|0;$=c[$>>2]|0;Db[$&511](e);$=c[f>>2]|0;$=$+116|0;$=c[$>>2]|0;Db[$&511](f);l=aa;return}Z=aa+1024+8|0;_=aa+744+8|0;$=aa+320+8|0;do{i=i+-1|0;z=c[h>>2]|0;c[a+24>>2]=z;c[a+32>>2]=c[h+4>>2];h=h+8|0;x=sb[c[(c[e>>2]|0)+84>>2]&127](e)|0;Mb[c[(c[x>>2]|0)+20>>2]&127](x,z,aa+672|0);z=c[a+32>>2]|0;x=sb[c[(c[f>>2]|0)+84>>2]&127](f)|0;Mb[c[(c[x>>2]|0)+20>>2]&127](x,z,aa+600|0);ia=+g[aa+672>>2];ha=+g[aa+672+4>>2];ga=+g[aa+672+8>>2];g[aa+672>>2]=P+(C*ia+W*ha+Y*ga);g[aa+672+4>>2]=S+(E*ia+G*ha+I*ga);g[aa+672+8>>2]=U+(J*ia+M*ha+O*ga);g[aa+672+12>>2]=0.0;ja=+g[aa+672+16>>2];ea=+g[aa+672+20>>2];fa=+g[aa+672+24>>2];g[aa+672+16>>2]=P+(C*ja+W*ea+Y*fa);g[aa+672+20>>2]=S+(E*ja+G*ea+I*fa);g[aa+672+24>>2]=U+(J*ja+M*ea+O*fa);g[aa+672+28>>2]=0.0;la=+g[aa+672+32>>2];ba=+g[aa+672+36>>2];p=+g[aa+672+40>>2];g[aa+672+32>>2]=P+(C*la+W*ba+Y*p);g[aa+672+36>>2]=S+(E*la+G*ba+I*p);g[aa+672+40>>2]=U+(J*la+M*ba+O*p);g[aa+672+44>>2]=0.0;k=+g[aa+600>>2];y=+g[aa+600+4>>2];w=+g[aa+600+8>>2];g[aa+600>>2]=Q+(A*k+V*y+X*w);g[aa+600+4>>2]=R+(D*k+F*y+H*w);g[aa+600+8>>2]=T+(K*k+L*y+N*w);g[aa+600+12>>2]=0.0;s=+g[aa+600+16>>2];n=+g[aa+600+20>>2];ca=+g[aa+600+24>>2];g[aa+600+16>>2]=Q+(A*s+V*n+X*ca);g[aa+600+20>>2]=R+(D*s+F*n+H*ca);g[aa+600+24>>2]=T+(K*s+L*n+N*ca);g[aa+600+28>>2]=0.0;t=+g[aa+600+32>>2];v=+g[aa+600+36>>2];u=+g[aa+600+40>>2];g[aa+600+32>>2]=Q+(A*t+V*v+X*u);g[aa+600+36>>2]=R+(D*t+F*v+H*u);g[aa+600+40>>2]=T+(K*t+L*v+N*u);g[aa+600+44>>2]=0.0;da=P+(C*ja+W*ea+Y*fa)-(P+(C*ia+W*ha+Y*ga));ka=S+(E*ja+G*ea+I*fa)-(S+(E*ia+G*ha+I*ga));fa=U+(J*ja+M*ea+O*fa)-(U+(J*ia+M*ha+O*ga));ea=P+(C*la+W*ba+Y*p)-(P+(C*ia+W*ha+Y*ga));ja=S+(E*la+G*ba+I*p)-(S+(E*ia+G*ha+I*ga));p=U+(J*la+M*ba+O*p)-(U+(J*ia+M*ha+O*ga));ba=1.0/+B(+((da*ja-ka*ea)*(da*ja-ka*ea)+((ka*p-fa*ja)*(ka*p-fa*ja)+(fa*ea-da*p)*(fa*ea-da*p))));g[aa+672+48>>2]=(ka*p-fa*ja)*ba;g[aa+672+52>>2]=(fa*ea-da*p)*ba;g[aa+672+56>>2]=(da*ja-ka*ea)*ba;g[aa+672+60>>2]=(U+(J*ia+M*ha+O*ga))*(da*ja-ka*ea)*ba+((P+(C*ia+W*ha+Y*ga))*(ka*p-fa*ja)*ba+(S+(E*ia+G*ha+I*ga))*(fa*ea-da*p)*ba);ba=Q+(A*s+V*n+X*ca)-(Q+(A*k+V*y+X*w));p=R+(D*s+F*n+H*ca)-(R+(D*k+F*y+H*w));ca=T+(K*s+L*n+N*ca)-(T+(K*k+L*y+N*w));n=Q+(A*t+V*v+X*u)-(Q+(A*k+V*y+X*w));s=R+(D*t+F*v+H*u)-(R+(D*k+F*y+H*w));u=T+(K*t+L*v+N*u)-(T+(K*k+L*y+N*w));v=1.0/+B(+((ba*s-p*n)*(ba*s-p*n)+((p*u-ca*s)*(p*u-ca*s)+(ca*n-ba*u)*(ca*n-ba*u))));t=(p*u-ca*s)*v;u=(ca*n-ba*u)*v;v=(ba*s-p*n)*v;w=(T+(K*k+L*y+N*w))*v+((Q+(A*k+V*y+X*w))*t+(R+(D*k+F*y+H*w))*u);g[aa+600+48>>2]=t;g[aa+600+52>>2]=u;g[aa+600+56>>2]=v;g[aa+600+60>>2]=w;y=+g[aa+672+64>>2]+ +g[aa+600+64>>2];k=+g[aa+672+48>>2];n=+g[aa+672+52>>2];p=+g[aa+672+56>>2];s=+g[aa+672+60>>2];a:do if(!((+g[aa+600>>2]*k+ +g[aa+600+4>>2]*n+ +g[aa+600+8>>2]*p-s-y>0.0?k*+g[aa+600+16>>2]+n*+g[aa+600+20>>2]+p*+g[aa+600+24>>2]-s-y>0.0:0)&k*+g[aa+600+32>>2]+n*+g[aa+600+36>>2]+p*+g[aa+600+40>>2]-s-y>0.0)?!((+g[aa+672>>2]*t+ +g[aa+672+4>>2]*u+ +g[aa+672+8>>2]*v-w-y>0.0?t*+g[aa+672+16>>2]+u*+g[aa+672+20>>2]+v*+g[aa+672+24>>2]-w-y>0.0:0)&t*+g[aa+672+32>>2]+u*+g[aa+672+36>>2]+v*+g[aa+672+40>>2]-w-y>0.0):0){c[Z>>2]=c[aa+672+48>>2];c[Z+4>>2]=c[aa+672+48+4>>2];c[Z+8>>2]=c[aa+672+48+8>>2];c[Z+12>>2]=c[aa+672+48+12>>2];r=Ld(aa+672|0,aa+600|0,aa)|0;do if(r|0){c[aa+1024+4>>2]=0;g[aa+1024>>2]=-1.0e3;if((r|0)<=0)break;t=+g[Z>>2];u=+g[aa+1024+12>>2];v=+g[aa+1024+16>>2];s=+g[aa+1024+20>>2];q=0;n=-1.0e3;m=0;k=-1.0e3;j=0;while(1){p=y-(+g[aa+(q<<4)>>2]*t+ +g[aa+(q<<4)+4>>2]*u+ +g[aa+(q<<4)+8>>2]*v-s);do if(p>=0.0){if(p>n){c[aa+256>>2]=q;z=1;k=p;m=1;n=p;break}o=m+1|0;if(p+1.1920928955078125e-07>=n){c[aa+256+(m<<2)>>2]=q;z=o;m=o}else z=j}else z=j;while(0);q=q+1|0;if((q|0)==(r|0))break;else j=z}c[aa+1024+4>>2]=z;g[aa+1024>>2]=k;if((m|0)>0){j=0;do{r=aa+(c[aa+256+(j<<2)>>2]<<4)|0;x=aa+1024+24+(j<<4)|0;c[x>>2]=c[r>>2];c[x+4>>2]=c[r+4>>2];c[x+8>>2]=c[r+8>>2];c[x+12>>2]=c[r+12>>2];j=j+1|0}while((j|0)!=(m|0))}if(z|0){g[Z>>2]=-t;g[aa+1024+12>>2]=-u;g[aa+1024+16>>2]=-v;c[_>>2]=c[aa+600+48>>2];c[_+4>>2]=c[aa+600+48+4>>2];c[_+8>>2]=c[aa+600+48+8>>2];c[_+12>>2]=c[aa+600+48+12>>2];r=Ld(aa+600|0,aa+672|0,aa)|0;do if(r|0){c[aa+744+4>>2]=0;g[aa+744>>2]=-1.0e3;if((r|0)<=0)break;t=+g[_>>2];u=+g[aa+744+12>>2];v=+g[aa+744+16>>2];w=+g[aa+744+20>>2];q=0;n=-1.0e3;m=0;p=-1.0e3;j=0;while(1){s=y-(+g[aa+(q<<4)>>2]*t+ +g[aa+(q<<4)+4>>2]*u+ +g[aa+(q<<4)+8>>2]*v-w);do if(s>=0.0){if(s>n){c[aa+256>>2]=q;x=1;p=s;m=1;n=s;break}o=m+1|0;if(s+1.1920928955078125e-07>=n){c[aa+256+(m<<2)>>2]=q;x=o;m=o}else x=j}else x=j;while(0);q=q+1|0;if((q|0)==(r|0))break;else j=x}c[aa+744+4>>2]=x;g[aa+744>>2]=p;if((m|0)>0){j=0;do{q=aa+(c[aa+256+(j<<2)>>2]<<4)|0;r=aa+744+24+(j<<4)|0;c[r>>2]=c[q>>2];c[r+4>>2]=c[q+4>>2];c[r+8>>2]=c[q+8>>2];c[r+12>>2]=c[q+12>>2];j=j+1|0}while((j|0)!=(m|0))}if(x|0){if(p<k){g[aa+320>>2]=p;c[$>>2]=c[_>>2];c[$+4>>2]=c[_+4>>2];c[$+8>>2]=c[_+8>>2];c[$+12>>2]=c[_+12>>2];c[aa+320+4>>2]=x;j=x;do{j=j+-1|0;r=aa+744+24+(j<<4)|0;z=aa+320+24+(j<<4)|0;c[z>>2]=c[r>>2];c[z+4>>2]=c[r+4>>2];c[z+8>>2]=c[r+8>>2];c[z+12>>2]=c[r+12>>2]}while((j|0)!=0);j=x;k=p}else{g[aa+320>>2]=k;c[$>>2]=c[Z>>2];c[$+4>>2]=c[Z+4>>2];c[$+8>>2]=c[Z+8>>2];c[$+12>>2]=c[Z+12>>2];c[aa+320+4>>2]=z;j=z;do{j=j+-1|0;r=aa+1024+24+(j<<4)|0;x=aa+320+24+(j<<4)|0;c[x>>2]=c[r>>2];c[x+4>>2]=c[r+4>>2];c[x+8>>2]=c[r+8>>2];c[x+12>>2]=c[r+12>>2]}while((j|0)!=0);j=z}if(!j)break a;while(1){m=j+-1|0;j=c[a+16>>2]|0;Mb[c[(c[j>>2]|0)+8>>2]&127](j,c[a+28>>2]|0,c[a+24>>2]|0);j=c[a+16>>2]|0;Mb[c[(c[j>>2]|0)+12>>2]&127](j,c[a+36>>2]|0,c[a+32>>2]|0);j=c[a+12>>2]|0;if(!j){j=c[a+4>>2]|0;j=wb[c[(c[j>>2]|0)+12>>2]&63](j,c[b+8>>2]|0,c[d+8>>2]|0)|0;c[a+12>>2]=j}z=c[a+16>>2]|0;c[z+4>>2]=j;Nb[c[(c[z>>2]|0)+16>>2]&15](z,aa+320+8|0,aa+320+24+(m<<4)|0,-k);if(!m)break a;j=m;k=+g[aa+320>>2]}}}while(0);break a}}while(0)}while(0)}while((i|0)!=0);$=c[e>>2]|0;$=$+116|0;$=c[$>>2]|0;Db[$&511](e);$=c[f>>2]|0;$=$+116|0;$=c[$>>2]|0;Db[$&511](f);l=aa;return}function Dc(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var h=0,i=0.0,j=0.0,k=0.0,m=0.0,n=0.0,o=0.0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0.0,x=0.0,y=0.0,z=0.0,A=0.0,C=0.0,D=0.0,E=0.0,F=0.0,G=0.0,H=0.0,I=0.0,J=0.0,K=0.0,L=0.0,M=0.0,N=0.0,O=0.0,P=0.0,Q=0.0,R=0.0,S=0,T=0;T=l;l=l+1104|0;c[T+1016+8>>2]=0;c[T+1016+12>>2]=-1;q=T+1016+28|0;c[T+1016>>2]=10156;c[T+1016+4>>2]=8;c[T+1016+16>>2]=1065353216;c[T+1016+20>>2]=1065353216;c[T+1016+24>>2]=1065353216;c[q>>2]=0;c[q+4>>2]=0;c[q+8>>2]=0;c[q+12>>2]=0;c[q+16>>2]=0;c[q+20>>2]=0;c[q+24>>2]=0;q=c[e+4>>2]|0;r=c[e+12>>2]|0;p=c[q+4>>2]|0;if((p|0)<20){c[T+368>>2]=7368;c[T+368+168>>2]=0;g[T+368+172>>2]=0.0;c[T+368+164>>2]=c[f+4>>2];g[T+308>>2]=9.999999747378752e-05;a[T+332>>0]=0;c[T+1072>>2]=11584;c[T+1072+4>>2]=T;c[T+1072+8>>2]=T+1016;c[T+1072+12>>2]=q;c[T+1e3>>2]=11316;c[T+1e3+4>>2]=T;c[T+1e3+8>>2]=T+1016;c[T+1e3+12>>2]=q;S=(c[f+20>>2]&8|0)==0?T+1072|0:T+1e3|0;if((zb[c[(c[S>>2]|0)+8>>2]&3](S,b,d,r,r,T+368|0)|0?(h=T+368+132|0,i=+g[h>>2],j=+g[T+368+136>>2],k=+g[T+368+140>>2],i*i+j*j+k*k>9.999999747378752e-05):0)?(m=+g[T+368+164>>2],m<+g[f+4>>2]):0){R=1.0/+B(+(i*i+j*j+k*k));g[h>>2]=i*R;g[T+368+136>>2]=j*R;g[T+368+140>>2]=k*R;c[T+880>>2]=c[e+8>>2];c[T+880+4>>2]=0;c[T+880+8>>2]=c[h>>2];c[T+880+8+4>>2]=c[h+4>>2];c[T+880+8+8>>2]=c[h+8>>2];c[T+880+8+12>>2]=c[h+12>>2];g[T+880+24>>2]=m;+lb[c[(c[f>>2]|0)+12>>2]&31](f,T+880|0,1)}l=T;return}if((p+-21|0)>>>0<9){G=+g[r>>2];H=+g[r+16>>2];m=+g[r+32>>2];I=+g[r+4>>2];J=+g[r+20>>2];n=+g[r+36>>2];N=+g[r+8>>2];P=+g[r+24>>2];R=+g[r+40>>2];K=-+g[r+48>>2];L=-+g[r+52>>2];M=-+g[r+56>>2];Q=+g[b+48>>2];O=+g[b+52>>2];k=+g[b+56>>2];i=G*K+H*L+m*M+(G*Q+H*O+m*k);j=I*K+J*L+n*M+(I*Q+J*O+n*k);k=N*K+P*L+R*M+(N*Q+P*O+R*k);g[T+1e3>>2]=i;g[T+1e3+4>>2]=j;g[T+1e3+8>>2]=k;g[T+1e3+12>>2]=0.0;O=+g[d+48>>2];Q=+g[d+52>>2];o=+g[d+56>>2];m=G*K+H*L+m*M+(G*O+H*Q+m*o);n=I*K+J*L+n*M+(I*O+J*Q+n*o);o=N*K+P*L+R*M+(N*O+P*Q+R*o);if((p|0)==21){h=c[e+8>>2]|0;S=c[f+20>>2]|0;c[T+880+4>>2]=c[T+1e3>>2];c[T+880+4+4>>2]=c[T+1e3+4>>2];c[T+880+4+8>>2]=c[T+1e3+8>>2];c[T+880+4+12>>2]=c[T+1e3+12>>2];g[T+880+20>>2]=m;g[T+880+24>>2]=n;g[T+880+28>>2]=o;g[T+880+32>>2]=0.0;c[T+880+36>>2]=S;g[T+880+40>>2]=1.0;c[T+880>>2]=7396;c[T+880+44>>2]=f;c[T+880+48>>2]=h;c[T+880+52>>2]=q;c[T+880+56>>2]=c[r>>2];c[T+880+56+4>>2]=c[r+4>>2];c[T+880+56+8>>2]=c[r+8>>2];c[T+880+56+12>>2]=c[r+12>>2];c[T+880+72>>2]=c[r+16>>2];c[T+880+72+4>>2]=c[r+16+4>>2];c[T+880+72+8>>2]=c[r+16+8>>2];c[T+880+72+12>>2]=c[r+16+12>>2];c[T+880+88>>2]=c[r+32>>2];c[T+880+88+4>>2]=c[r+32+4>>2];c[T+880+88+8>>2]=c[r+32+8>>2];c[T+880+88+12>>2]=c[r+32+12>>2];c[T+880+104>>2]=c[r+48>>2];c[T+880+104+4>>2]=c[r+48+4>>2];c[T+880+104+8>>2]=c[r+48+8>>2];c[T+880+104+12>>2]=c[r+48+12>>2];c[T+880+40>>2]=c[f+4>>2];h=c[q+52>>2]|0;c[T+1072>>2]=8448;c[T+1072+4>>2]=h;c[T+1072+8>>2]=T+880;h=c[q+56>>2]|0;c[T+368>>2]=0;c[T+368+4>>2]=0;c[T+368+8>>2]=0;c[T+368+12>>2]=0;c[T>>2]=0;c[T+4>>2]=0;c[T+8>>2]=0;c[T+12>>2]=0;if(!(a[h+60>>0]|0))ne(h,T+1072|0,T+1e3|0,m,n,o,T+368|0,T);else Wd(h,T+1072|0,T+1e3|0,m,n,o,T+368|0,T,c[h+56>>2]|0)}else{S=c[e+8>>2]|0;v=c[f+20>>2]|0;g[T+368+4>>2]=i;g[T+368+8>>2]=j;g[T+368+12>>2]=k;g[T+368+16>>2]=0.0;g[T+368+20>>2]=m;g[T+368+24>>2]=n;g[T+368+28>>2]=o;g[T+368+32>>2]=0.0;c[T+368+36>>2]=v;g[T+368+40>>2]=1.0;c[T+368>>2]=7420;c[T+368+44>>2]=f;c[T+368+48>>2]=S;c[T+368+52>>2]=q;c[T+368+56>>2]=c[r>>2];c[T+368+56+4>>2]=c[r+4>>2];c[T+368+56+8>>2]=c[r+8>>2];c[T+368+56+12>>2]=c[r+12>>2];c[T+368+72>>2]=c[r+16>>2];c[T+368+72+4>>2]=c[r+16+4>>2];c[T+368+72+8>>2]=c[r+16+8>>2];c[T+368+72+12>>2]=c[r+16+12>>2];c[T+368+88>>2]=c[r+32>>2];c[T+368+88+4>>2]=c[r+32+4>>2];c[T+368+88+8>>2]=c[r+32+8>>2];c[T+368+88+12>>2]=c[r+32+12>>2];c[T+368+104>>2]=c[r+48>>2];c[T+368+104+4>>2]=c[r+48+4>>2];c[T+368+104+8>>2]=c[r+48+8>>2];c[T+368+104+12>>2]=c[r+48+12>>2];c[T+368+40>>2]=c[f+4>>2];g[T>>2]=i;g[T+4>>2]=j;g[T+8>>2]=k;g[T+12>>2]=0.0;if(m<i)g[T>>2]=m;if(n<j)g[T+4>>2]=n;if(o<k)g[T+8>>2]=o;g[T+1072>>2]=i;g[T+1072+4>>2]=j;g[T+1072+8>>2]=k;g[T+1072+12>>2]=0.0;if(i<m)g[T+1072>>2]=m;if(j<n)g[T+1072+4>>2]=n;if(k<o)g[T+1072+8>>2]=o;Pb[c[(c[q>>2]|0)+64>>2]&127](q,T+368|0,T,T+1072|0)}l=T;return}if((p|0)!=31){l=T;return}h=c[q+68>>2]|0;v=c[e+8>>2]|0;c[T+1072>>2]=7444;c[T+1072+4>>2]=v;c[T+1072+8>>2]=q;c[T+1072+12>>2]=r;c[T+1072+16>>2]=b;c[T+1072+20>>2]=d;c[T+1072+24>>2]=f;if(!h){b=c[q+20>>2]|0;if((b|0)>0){h=0;do{of(T+1072|0,h);h=h+1|0}while((h|0)<(b|0))}}else{j=+g[r+48>>2];M=+g[b+48>>2]-j;k=+g[r+52>>2];N=+g[b+52>>2]-k;i=+g[r+56>>2];D=+g[b+56>>2]-i;E=+g[r>>2];F=+g[r+16>>2];G=+g[r+32>>2];H=+g[r+4>>2];I=+g[r+20>>2];J=+g[r+36>>2];K=+g[r+8>>2];L=+g[r+24>>2];C=+g[r+40>>2];j=+g[d+48>>2]-j;k=+g[d+52>>2]-k;i=+g[d+56>>2]-i;h=c[h>>2]|0;if(h|0){z=G*i+(F*k+j*E)-(M*E+N*F+D*G);A=J*i+(I*k+j*H)-(M*H+N*I+D*J);n=C*i+(L*k+j*K)-(M*K+N*L+D*C);o=1.0/+B(+(z*z+A*A+n*n));w=z*o==0.0?999999984306749440.0:1.0/(z*o);x=A*o==0.0?999999984306749440.0:1.0/(A*o);y=n*o==0.0?999999984306749440.0:1.0/(n*o);c[T+368>>2]=h;f=1;d=126;e=128;t=T+368|0;p=128;v=0;while(1){r=f+-1|0;q=t+(r<<2)|0;u=c[q>>2]|0;c[T>>2]=c[u>>2];c[T+4>>2]=c[u+4>>2];c[T+8>>2]=c[u+8>>2];c[T+12>>2]=c[u+12>>2];c[T+16>>2]=c[u+16>>2];c[T+16+4>>2]=c[u+16+4>>2];c[T+16+8>>2]=c[u+16+8>>2];c[T+16+12>>2]=c[u+16+12>>2];i=w*(+g[T+((w<0.0&1)<<4)>>2]-(M*E+N*F+D*G));j=w*(+g[T+(((w<0.0^1)&1)<<4)>>2]-(M*E+N*F+D*G));k=x*(+g[T+((x<0.0&1)<<4)+4>>2]-(M*H+N*I+D*J));m=x*(+g[T+(((x<0.0^1)&1)<<4)+4>>2]-(M*H+N*I+D*J));do if((!(k>j|i>m)?(P=k>i?k:i,O=m<j?m:j,Q=y*(+g[T+((y<0.0&1)<<4)+8>>2]-(M*K+N*L+D*C)),R=y*(+g[T+(((y<0.0^1)&1)<<4)+8>>2]-(M*K+N*L+D*C)),!(Q>O|P>R)):0)?((R<O?R:O)>0.0?(Q>P?Q:P)<n*n*o+(z*z*o+A*A*o):0):0){if(!(c[u+40>>2]|0)){Ib[c[(c[T+1072>>2]|0)+12>>2]&127](T+1072|0,u);f=r;q=d;h=t;b=v;break}if((r|0)>(d|0)){s=p<<1;if((p|0)<(s|0)){a:do if((e|0)<(s|0)){do if(p){c[6897]=(c[6897]|0)+1;h=ec((p<<3|3)+16|0)|0;if(!h)h=0;else{c[(h+4+15&-16)+-4>>2]=h;h=h+4+15&-16}if((p|0)<=0){S=44;break}b=0;do{c[h+(b<<2)>>2]=c[t+(b<<2)>>2];b=b+1|0}while((b|0)!=(p|0));if(!(v<<24>>24)){e=s;b=1;break a}}else{h=0;S=44}while(0);if((S|0)==44){S=0;if(v<<24>>24==0|(t|0)==0){e=s;b=1;break}}c[6898]=(c[6898]|0)+1;md(c[t+-4>>2]|0);e=s;b=1}else{h=t;b=v}while(0);Xj(h+(p<<2)|0,0,p<<2|0)|0;q=h+(r<<2)|0;p=e}else{p=e;h=t;b=v}d=s+-2|0;e=p;p=s}else{h=t;b=v}c[q>>2]=c[u+36>>2];c[h+(f<<2)>>2]=c[u+40>>2];f=f+1|0;q=d}else{f=r;q=d;h=t;b=v}while(0);if(!f)break;d=q;t=h;v=b}if(!(b<<24>>24==0|(h|0)==0)){c[6898]=(c[6898]|0)+1;md(c[h+-4>>2]|0)}}}l=T;return}function Ec(d,e,f,h){d=d|0;e=e|0;f=f|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0;c[d+168>>2]=c[d+152>>2];c[e>>2]=11604;c[e+52>>2]=287;a[e+60>>0]=0;a[e+80>>0]=1;c[e+76>>2]=0;c[e+68>>2]=0;c[e+72>>2]=0;a[e+100>>0]=1;c[e+96>>2]=0;c[e+88>>2]=0;c[e+92>>2]=0;a[e+120>>0]=1;c[e+116>>2]=0;c[e+108>>2]=0;c[e+112>>2]=0;a[e+140>>0]=1;c[e+136>>2]=0;c[e+128>>2]=0;c[e+132>>2]=0;c[e+144>>2]=0;a[e+164>>0]=1;c[e+160>>2]=0;c[e+152>>2]=0;c[e+156>>2]=0;c[e+168>>2]=0;c[e+4>>2]=-8388609;c[e+8>>2]=-8388609;c[e+12>>2]=-8388609;g[e+16>>2]=0.0;c[e+20>>2]=2139095039;c[e+24>>2]=2139095039;c[e+28>>2]=2139095039;g[e+32>>2]=0.0;f=c[d+56>>2]|0;if(h){c[e+56>>2]=xA(f|0)|0;a[e+4>>0]=a[d+4+3>>0]|0;a[e+5>>0]=a[d+4+2>>0]|0;a[e+6>>0]=a[d+4+1>>0]|0;a[e+7>>0]=a[d+4>>0]|0;a[e+8>>0]=a[d+8+3>>0]|0;a[e+9>>0]=a[d+8+2>>0]|0;a[e+10>>0]=a[d+8+1>>0]|0;a[e+11>>0]=a[d+8>>0]|0;a[e+12>>0]=a[d+12+3>>0]|0;a[e+13>>0]=a[d+12+2>>0]|0;a[e+14>>0]=a[d+12+1>>0]|0;a[e+15>>0]=a[d+12>>0]|0;a[e+16>>0]=a[d+16+3>>0]|0;a[e+17>>0]=a[d+16+2>>0]|0;a[e+18>>0]=a[d+16+1>>0]|0;a[e+19>>0]=a[d+16>>0]|0;a[e+20>>0]=a[d+20+3>>0]|0;a[e+21>>0]=a[d+20+2>>0]|0;a[e+22>>0]=a[d+20+1>>0]|0;a[e+23>>0]=a[d+20>>0]|0;a[e+24>>0]=a[d+24+3>>0]|0;a[e+25>>0]=a[d+24+2>>0]|0;a[e+26>>0]=a[d+24+1>>0]|0;a[e+27>>0]=a[d+24>>0]|0;a[e+28>>0]=a[d+28+3>>0]|0;a[e+29>>0]=a[d+28+2>>0]|0;a[e+30>>0]=a[d+28+1>>0]|0;a[e+31>>0]=a[d+28>>0]|0;a[e+32>>0]=a[d+32+3>>0]|0;a[e+33>>0]=a[d+32+2>>0]|0;a[e+34>>0]=a[d+32+1>>0]|0;a[e+35>>0]=a[d+32>>0]|0;a[e+36>>0]=a[d+36+3>>0]|0;a[e+37>>0]=a[d+36+2>>0]|0;a[e+38>>0]=a[d+36+1>>0]|0;a[e+39>>0]=a[d+36>>0]|0;a[e+40>>0]=a[d+40+3>>0]|0;a[e+41>>0]=a[d+40+2>>0]|0;a[e+42>>0]=a[d+40+1>>0]|0;a[e+43>>0]=a[d+40>>0]|0;a[e+44>>0]=a[d+44+3>>0]|0;a[e+45>>0]=a[d+44+2>>0]|0;a[e+46>>0]=a[d+44+1>>0]|0;a[e+47>>0]=a[d+44>>0]|0;a[e+48>>0]=a[d+48+3>>0]|0;a[e+49>>0]=a[d+48+2>>0]|0;a[e+50>>0]=a[d+48+1>>0]|0;a[e+51>>0]=a[d+48>>0]|0;c[e+144>>2]=xA(c[d+144>>2]|0)|0;f=xA(c[d+168>>2]|0)|0}else{c[e+56>>2]=f;c[e+4>>2]=c[d+4>>2];c[e+4+4>>2]=c[d+4+4>>2];c[e+4+8>>2]=c[d+4+8>>2];c[e+4+12>>2]=c[d+4+12>>2];c[e+20>>2]=c[d+20>>2];c[e+20+4>>2]=c[d+20+4>>2];c[e+20+8>>2]=c[d+20+8>>2];c[e+20+12>>2]=c[d+20+12>>2];c[e+36>>2]=c[d+36>>2];c[e+36+4>>2]=c[d+36+4>>2];c[e+36+8>>2]=c[d+36+8>>2];c[e+36+12>>2]=c[d+36+12>>2];c[e+144>>2]=c[d+144>>2];f=c[d+168>>2]|0}c[e+168>>2]=f;a[e+60>>0]=a[d+60>>0]|0;k=c[d+56>>2]|0;if(!(a[d+60>>0]|0)){f=c[e+96>>2]|0;if(f|0){if(a[e+100>>0]|0){c[6898]=(c[6898]|0)+1;md(c[f+-4>>2]|0)}c[e+96>>2]=0}a[e+100>>0]=0;c[e+96>>2]=e+172;c[e+88>>2]=k;c[e+92>>2]=k;if(h)if((k|0)>0){i=0;j=c[d+96>>2]|0;f=e+172|0;do{l=j+(i<<6)|0;n=f+(i<<6)|0;a[n>>0]=a[l+3>>0]|0;a[n+1>>0]=a[l+2>>0]|0;a[n+2>>0]=a[l+1>>0]|0;a[n+3>>0]=a[l>>0]|0;n=j+(i<<6)+4|0;l=f+(i<<6)+4|0;a[l>>0]=a[n+3>>0]|0;a[l+1>>0]=a[n+2>>0]|0;a[l+2>>0]=a[n+1>>0]|0;a[l+3>>0]=a[n>>0]|0;l=j+(i<<6)+8|0;n=f+(i<<6)+8|0;a[n>>0]=a[l+3>>0]|0;a[n+1>>0]=a[l+2>>0]|0;a[n+2>>0]=a[l+1>>0]|0;a[n+3>>0]=a[l>>0]|0;n=j+(i<<6)+12|0;f=f+(i<<6)+12|0;a[f>>0]=a[n+3>>0]|0;a[f+1>>0]=a[n+2>>0]|0;a[f+2>>0]=a[n+1>>0]|0;a[f+3>>0]=a[n>>0]|0;f=c[d+96>>2]|0;n=f+(i<<6)+16|0;l=c[e+96>>2]|0;m=l+(i<<6)+16|0;a[m>>0]=a[n+3>>0]|0;a[m+1>>0]=a[n+2>>0]|0;a[m+2>>0]=a[n+1>>0]|0;a[m+3>>0]=a[n>>0]|0;m=f+(i<<6)+20|0;n=l+(i<<6)+20|0;a[n>>0]=a[m+3>>0]|0;a[n+1>>0]=a[m+2>>0]|0;a[n+2>>0]=a[m+1>>0]|0;a[n+3>>0]=a[m>>0]|0;n=f+(i<<6)+24|0;m=l+(i<<6)+24|0;a[m>>0]=a[n+3>>0]|0;a[m+1>>0]=a[n+2>>0]|0;a[m+2>>0]=a[n+1>>0]|0;a[m+3>>0]=a[n>>0]|0;f=f+(i<<6)+28|0;l=l+(i<<6)+28|0;a[l>>0]=a[f+3>>0]|0;a[l+1>>0]=a[f+2>>0]|0;a[l+2>>0]=a[f+1>>0]|0;a[l+3>>0]=a[f>>0]|0;j=c[d+96>>2]|0;l=xA(c[j+(i<<6)+32>>2]|0)|0;f=c[e+96>>2]|0;c[f+(i<<6)+32>>2]=l;c[f+(i<<6)+36>>2]=xA(c[j+(i<<6)+36>>2]|0)|0;c[f+(i<<6)+40>>2]=xA(c[j+(i<<6)+40>>2]|0)|0;i=i+1|0}while((i|0)!=(k|0));i=29}else i=28;else if((k|0)>0){i=0;j=c[d+96>>2]|0;f=e+172|0;do{m=j+(i<<6)|0;n=f+(i<<6)|0;c[n>>2]=c[m>>2];c[n+4>>2]=c[m+4>>2];c[n+8>>2]=c[m+8>>2];c[n+12>>2]=c[m+12>>2];n=(c[d+96>>2]|0)+(i<<6)+16|0;f=(c[e+96>>2]|0)+(i<<6)+16|0;c[f>>2]=c[n>>2];c[f+4>>2]=c[n+4>>2];c[f+8>>2]=c[n+8>>2];c[f+12>>2]=c[n+12>>2];j=c[d+96>>2]|0;f=c[e+96>>2]|0;c[f+(i<<6)+32>>2]=c[j+(i<<6)+32>>2];c[f+(i<<6)+36>>2]=c[j+(i<<6)+36>>2];c[f+(i<<6)+40>>2]=c[j+(i<<6)+40>>2];i=i+1|0}while((i|0)!=(k|0));i=29}else i=28;if((i|0)==28){f=k<<6;i=32}else if((i|0)==29)if(f)if((a[e+100>>0]|0)==0|(f|0)==0){f=k<<6;i=32}else{c[6898]=(c[6898]|0)+1;md(c[f+-4>>2]|0);f=k<<6;i=32}else f=k<<6;if((i|0)==32)c[e+96>>2]=0;c[e+88>>2]=0;c[e+88+4>>2]=0;c[e+88+8>>2]=0;a[e+88+12>>0]=0}else{f=c[e+136>>2]|0;if(f|0){if(a[e+140>>0]|0){c[6898]=(c[6898]|0)+1;md(c[f+-4>>2]|0)}c[e+136>>2]=0}a[e+140>>0]=0;c[e+136>>2]=e+172;c[e+128>>2]=k;c[e+132>>2]=k;if(h){if((k|0)>0){i=c[d+136>>2]|0;f=0;do{b[e+172+(f<<4)>>1]=UF(b[i+(f<<4)>>1]|0)|0;b[e+172+(f<<4)+2>>1]=UF(b[i+(f<<4)+2>>1]|0)|0;b[e+172+(f<<4)+4>>1]=UF(b[i+(f<<4)+4>>1]|0)|0;b[e+172+(f<<4)+6>>1]=UF(b[i+(f<<4)+6>>1]|0)|0;b[e+172+(f<<4)+8>>1]=UF(b[i+(f<<4)+8>>1]|0)|0;b[e+172+(f<<4)+10>>1]=UF(b[i+(f<<4)+10>>1]|0)|0;c[e+172+(f<<4)+12>>2]=xA(c[i+(f<<4)+12>>2]|0)|0;f=f+1|0}while((f|0)!=(k|0))}}else if((k|0)>0){i=c[d+136>>2]|0;f=0;do{b[e+172+(f<<4)>>1]=b[i+(f<<4)>>1]|0;b[e+172+(f<<4)+2>>1]=b[i+(f<<4)+2>>1]|0;b[e+172+(f<<4)+4>>1]=b[i+(f<<4)+4>>1]|0;b[e+172+(f<<4)+6>>1]=b[i+(f<<4)+6>>1]|0;b[e+172+(f<<4)+8>>1]=b[i+(f<<4)+8>>1]|0;b[e+172+(f<<4)+10>>1]=b[i+(f<<4)+10>>1]|0;c[e+172+(f<<4)+12>>2]=c[i+(f<<4)+12>>2];f=f+1|0}while((f|0)!=(k|0))}c[e+128>>2]=0;c[e+128+4>>2]=0;c[e+128+8>>2]=0;a[e+128+12>>0]=0;f=k<<4}k=e+172+f|0;f=c[d+168>>2]|0;i=c[e+160>>2]|0;if(i|0){if(a[e+164>>0]|0){c[6898]=(c[6898]|0)+1;md(c[i+-4>>2]|0)}c[e+160>>2]=0}a[e+164>>0]=0;c[e+160>>2]=k;c[e+152>>2]=f;c[e+156>>2]=f;j=c[d+168>>2]|0;if(h){if((j|0)<=0){c[e>>2]=0;c[e+152>>2]=0;c[e+152+4>>2]=0;c[e+152+8>>2]=0;a[e+152+12>>0]=0;return 1}i=c[d+160>>2]|0;f=0;do{b[k+(f<<5)>>1]=UF(b[i+(f<<5)>>1]|0)|0;b[k+(f<<5)+2>>1]=UF(b[i+(f<<5)+2>>1]|0)|0;b[k+(f<<5)+4>>1]=UF(b[i+(f<<5)+4>>1]|0)|0;b[k+(f<<5)+6>>1]=UF(b[i+(f<<5)+6>>1]|0)|0;b[k+(f<<5)+8>>1]=UF(b[i+(f<<5)+8>>1]|0)|0;b[k+(f<<5)+10>>1]=UF(b[i+(f<<5)+10>>1]|0)|0;c[k+(f<<5)+12>>2]=xA(c[i+(f<<5)+12>>2]|0)|0;c[k+(f<<5)+16>>2]=xA(c[i+(f<<5)+16>>2]|0)|0;f=f+1|0}while((f|0)!=(j|0));c[e>>2]=0;c[e+152>>2]=0;c[e+152+4>>2]=0;c[e+152+8>>2]=0;a[e+152+12>>0]=0;return 1}else{if((j|0)<=0){c[e>>2]=0;c[e+152>>2]=0;c[e+152+4>>2]=0;c[e+152+8>>2]=0;a[e+152+12>>0]=0;return 1}i=c[d+160>>2]|0;f=0;do{b[k+(f<<5)>>1]=b[i+(f<<5)>>1]|0;b[k+(f<<5)+2>>1]=b[i+(f<<5)+2>>1]|0;b[k+(f<<5)+4>>1]=b[i+(f<<5)+4>>1]|0;b[k+(f<<5)+6>>1]=b[i+(f<<5)+6>>1]|0;b[k+(f<<5)+8>>1]=b[i+(f<<5)+8>>1]|0;b[k+(f<<5)+10>>1]=b[i+(f<<5)+10>>1]|0;c[k+(f<<5)+12>>2]=c[i+(f<<5)+12>>2];c[k+(f<<5)+16>>2]=c[i+(f<<5)+16>>2];c[k+(f<<5)+20>>2]=0;c[k+(f<<5)+24>>2]=0;c[k+(f<<5)+28>>2]=0;f=f+1|0}while((f|0)<(c[d+168>>2]|0));c[e>>2]=0;c[e+152>>2]=0;c[e+152+4>>2]=0;c[e+152+8>>2]=0;a[e+152+12>>0]=0;return 1}return 0}function Fc(b,d,e,f,h,i,j,k,m,n){b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;i=i|0;j=j|0;k=k|0;m=m|0;n=n|0;var o=0.0,p=0,q=0,r=0,s=0.0,t=0.0,u=0.0,v=0.0,w=0.0,x=0.0,y=0.0,z=0.0,A=0,B=0.0,C=0,D=0,E=0.0,F=0.0,G=0.0,H=0.0,I=0.0;C=l;l=l+4224|0;if(((c[e+4>>2]|0)+-17|0)>>>0<2)A=((c[f+4>>2]|0)+-17|0)>>>0<2;else A=0;b=0;do{qe();v=+g[22416+(b<<4)>>2];w=+g[22416+(b<<4)+4>>2];x=+g[22416+(b<<4)+8>>2];z=+g[h+4>>2]*-v+ +g[h+20>>2]*-w+ +g[h+36>>2]*-x;y=+g[h+8>>2]*-v+ +g[h+24>>2]*-w+ +g[h+40>>2]*-x;g[C+992+(b<<4)>>2]=+g[h>>2]*-v+ +g[h+16>>2]*-w+ +g[h+32>>2]*-x;g[C+992+(b<<4)+4>>2]=z;g[C+992+(b<<4)+8>>2]=y;g[C+992+(b<<4)+12>>2]=0.0;y=v*+g[i+4>>2]+w*+g[i+20>>2]+x*+g[i+36>>2];z=v*+g[i+8>>2]+w*+g[i+24>>2]+x*+g[i+40>>2];g[C+(b<<4)>>2]=v*+g[i>>2]+w*+g[i+16>>2]+x*+g[i+32>>2];g[C+(b<<4)+4>>2]=y;g[C+(b<<4)+8>>2]=z;g[C+(b<<4)+12>>2]=0.0;b=b+1|0}while((b|0)!=42);q=sb[c[(c[e>>2]|0)+84>>2]&127](e)|0;if((q|0)>0){b=0;p=42;while(1){Mb[c[(c[e>>2]|0)+88>>2]&127](e,b,C+4144|0);y=+g[C+4144>>2];z=+g[C+4144+4>>2];x=+g[C+4144+8>>2];w=y*+g[h+16>>2]+z*+g[h+20>>2]+x*+g[h+24>>2];v=y*+g[h+32>>2]+z*+g[h+36>>2]+x*+g[h+40>>2];g[C+4144>>2]=+g[h>>2]*y+ +g[h+4>>2]*z+ +g[h+8>>2]*x;g[C+4144+4>>2]=w;g[C+4144+8>>2]=v;g[C+4144+12>>2]=0.0;qe();r=22416+(p<<4)|0;c[r>>2]=c[C+4144>>2];c[r+4>>2]=c[C+4144+4>>2];c[r+8>>2]=c[C+4144+8>>2];c[r+12>>2]=c[C+4144+12>>2];v=+g[C+4144>>2];w=+g[C+4144+4>>2];x=+g[C+4144+8>>2];z=+g[h+4>>2]*-v+ +g[h+20>>2]*-w+ +g[h+36>>2]*-x;y=+g[h+8>>2]*-v+ +g[h+24>>2]*-w+ +g[h+40>>2]*-x;g[C+992+(p<<4)>>2]=+g[h>>2]*-v+ +g[h+16>>2]*-w+ +g[h+32>>2]*-x;g[C+992+(p<<4)+4>>2]=z;g[C+992+(p<<4)+8>>2]=y;g[C+992+(p<<4)+12>>2]=0.0;y=v*+g[i+4>>2]+w*+g[i+20>>2]+x*+g[i+36>>2];z=v*+g[i+8>>2]+w*+g[i+24>>2]+x*+g[i+40>>2];g[C+(p<<4)>>2]=v*+g[i>>2]+w*+g[i+16>>2]+x*+g[i+32>>2];g[C+(p<<4)+4>>2]=y;g[C+(p<<4)+8>>2]=z;g[C+(p<<4)+12>>2]=0.0;b=b+1|0;if((b|0)==(q|0))break;else p=p+1|0}p=q+42|0}else p=42;r=sb[c[(c[f>>2]|0)+84>>2]&127](f)|0;if((r|0)>0){b=0;q=p;while(1){Mb[c[(c[f>>2]|0)+88>>2]&127](f,b,C+4144|0);y=+g[C+4144>>2];z=+g[C+4144+4>>2];x=+g[C+4144+8>>2];w=y*+g[i+16>>2]+z*+g[i+20>>2]+x*+g[i+24>>2];v=y*+g[i+32>>2]+z*+g[i+36>>2]+x*+g[i+40>>2];g[C+4144>>2]=+g[i>>2]*y+ +g[i+4>>2]*z+ +g[i+8>>2]*x;g[C+4144+4>>2]=w;g[C+4144+8>>2]=v;g[C+4144+12>>2]=0.0;qe();D=22416+(q<<4)|0;c[D>>2]=c[C+4144>>2];c[D+4>>2]=c[C+4144+4>>2];c[D+8>>2]=c[C+4144+8>>2];c[D+12>>2]=c[C+4144+12>>2];v=+g[C+4144>>2];w=+g[C+4144+4>>2];x=+g[C+4144+8>>2];z=+g[h+4>>2]*-v+ +g[h+20>>2]*-w+ +g[h+36>>2]*-x;y=+g[h+8>>2]*-v+ +g[h+24>>2]*-w+ +g[h+40>>2]*-x;g[C+992+(q<<4)>>2]=+g[h>>2]*-v+ +g[h+16>>2]*-w+ +g[h+32>>2]*-x;g[C+992+(q<<4)+4>>2]=z;g[C+992+(q<<4)+8>>2]=y;g[C+992+(q<<4)+12>>2]=0.0;y=v*+g[i+4>>2]+w*+g[i+20>>2]+x*+g[i+36>>2];z=v*+g[i+8>>2]+w*+g[i+24>>2]+x*+g[i+40>>2];g[C+(q<<4)>>2]=v*+g[i>>2]+w*+g[i+16>>2]+x*+g[i+32>>2];g[C+(q<<4)+4>>2]=y;g[C+(q<<4)+8>>2]=z;g[C+(q<<4)+12>>2]=0.0;b=b+1|0;if((b|0)==(r|0))break;else q=q+1|0}p=r+p|0}Pb[c[(c[e>>2]|0)+76>>2]&127](e,C+992|0,C+2976|0,p);Pb[c[(c[f>>2]|0)+76>>2]&127](f,C,C+1984|0,p);if((p|0)>0){v=999999984306749440.0;b=0;y=0.0;o=0.0;x=0.0;s=0.0;while(1){qe();u=+g[22416+(b<<4)>>2];w=+g[22416+(b<<4)+4>>2];t=+g[22416+(b<<4)+12>>2];z=A?0.0:+g[22416+(b<<4)+8>>2];if(u*u+w*w+z*z>.01?(F=+g[C+2976+(b<<4)>>2],E=+g[C+2976+(b<<4)+4>>2],B=+g[C+2976+(b<<4)+8>>2],I=+g[C+1984+(b<<4)>>2],H=+g[C+1984+(b<<4)+4>>2],G=+g[C+1984+(b<<4)+8>>2],B=u*(I*+g[i>>2]+H*+g[i+4>>2]+G*+g[i+8>>2]+ +g[i+48>>2]-(F*+g[h>>2]+E*+g[h+4>>2]+B*+g[h+8>>2]+ +g[h+48>>2]))+w*(I*+g[i+16>>2]+H*+g[i+20>>2]+G*+g[i+24>>2]+ +g[i+52>>2]-(F*+g[h+16>>2]+E*+g[h+20>>2]+B*+g[h+24>>2]+ +g[h+52>>2]))+z*(A?0.0:I*+g[i+32>>2]+H*+g[i+36>>2]+G*+g[i+40>>2]+ +g[i+56>>2]-(F*+g[h+32>>2]+E*+g[h+36>>2]+B*+g[h+40>>2]+ +g[h+56>>2])),B<v):0){v=B;o=z}else{t=y;u=s;w=x}b=b+1|0;if((b|0)==(p|0)){x=o;break}else{y=t;x=w;s=u}}}else{v=999999984306749440.0;x=0.0;w=0.0;u=0.0;t=0.0}switch(c[e+4>>2]|0){case 4:case 5:case 10:case 11:case 13:case 1:case 0:case 8:break;default:+ib[c[(c[e>>2]|0)+48>>2]&15](e)}switch(c[f+4>>2]|0){case 4:case 5:case 10:case 11:case 13:case 1:case 0:case 8:break;default:+ib[c[(c[f>>2]|0)+48>>2]&15](f)}if(v<0.0){D=0;l=C;return D|0}switch(c[e+4>>2]|0){case 8:{o=+g[e+32>>2]*+g[e+16>>2];break}case 0:{o=+g[e+48>>2];break}case 1:{o=+g[e+48>>2];break}case 13:{o=+g[e+48>>2];break}case 11:{o=+g[e+48>>2];break}case 10:{o=+g[e+48>>2];break}case 4:case 5:{o=+g[e+48>>2];break}default:o=+ib[c[(c[e>>2]|0)+48>>2]&15](e)}b=c[f+4>>2]|0;switch(b|0){case 8:{s=+g[f+32>>2]*+g[f+16>>2];b=8;break}case 0:{s=+g[f+48>>2];b=0;break}case 1:{s=+g[f+48>>2];b=1;break}case 13:{s=+g[f+48>>2];b=13;break}case 11:{s=+g[f+48>>2];b=11;break}case 10:{s=+g[f+48>>2];b=10;break}case 4:case 5:{s=+g[f+48>>2];break}default:{s=+ib[c[(c[f>>2]|0)+48>>2]&15](f);b=c[f+4>>2]|0}}o=v+(o+s+.5);c[C+4144>>2]=11356;c[C+4144+4>>2]=0;c[C+4144+8>>2]=1065353216;c[C+4144+12>>2]=0;g[C+4144+16>>2]=0.0;c[C+4144+20>>2]=0;c[C+4144+24>>2]=d;c[C+4144+28>>2]=e;c[C+4144+32>>2]=f;c[C+4144+36>>2]=c[e+4>>2];c[C+4144+40>>2]=b;g[C+4144+44>>2]=+ib[c[(c[e>>2]|0)+48>>2]&15](e);g[C+4144+48>>2]=+ib[c[(c[f>>2]|0)+48>>2]&15](f);a[C+4144+52>>0]=0;c[C+4144+60>>2]=-1;c[C+4144+72>>2]=1;c[C+4144+76>>2]=1;G=u*o+ +g[h+48>>2];H=w*o+ +g[h+52>>2];I=x*o+ +g[h+56>>2];c[C+4012>>2]=c[h>>2];c[C+4012+4>>2]=c[h+4>>2];c[C+4012+8>>2]=c[h+8>>2];c[C+4012+12>>2]=c[h+12>>2];c[C+4012+16>>2]=c[h+16>>2];c[C+4012+16+4>>2]=c[h+16+4>>2];c[C+4012+16+8>>2]=c[h+16+8>>2];c[C+4012+16+12>>2]=c[h+16+12>>2];c[C+4012+32>>2]=c[h+32>>2];c[C+4012+32+4>>2]=c[h+32+4>>2];c[C+4012+32+8>>2]=c[h+32+8>>2];c[C+4012+32+12>>2]=c[h+32+12>>2];g[C+4012+48>>2]=G;g[C+4012+52>>2]=H;g[C+4012+56>>2]=I;g[C+4012+60>>2]=0.0;c[C+4012+64>>2]=c[i>>2];c[C+4012+64+4>>2]=c[i+4>>2];c[C+4012+64+8>>2]=c[i+8>>2];c[C+4012+64+12>>2]=c[i+12>>2];c[C+4012+80>>2]=c[i+16>>2];c[C+4012+80+4>>2]=c[i+16+4>>2];c[C+4012+80+8>>2]=c[i+16+8>>2];c[C+4012+80+12>>2]=c[i+16+12>>2];c[C+4012+96>>2]=c[i+32>>2];c[C+4012+96+4>>2]=c[i+32+4>>2];c[C+4012+96+8>>2]=c[i+32+8>>2];c[C+4012+96+12>>2]=c[i+32+12>>2];c[C+4012+112>>2]=c[i+48>>2];c[C+4012+112+4>>2]=c[i+48+4>>2];c[C+4012+112+8>>2]=c[i+48+8>>2];c[C+4012+112+12>>2]=c[i+48+12>>2];g[C+4012+128>>2]=999999984306749440.0;c[C+3968>>2]=11396;a[C+3968+40>>0]=0;g[C+4144+4>>2]=-u;g[C+4144+8>>2]=-w;g[C+4144+12>>2]=-x;g[C+4144+16>>2]=0.0;sc(C+4144|0,C+4012|0,C+3968|0,n,0);o=o-+g[C+3968+36>>2];b=a[C+3968+40>>0]|0;if(b<<24>>24){D=C+3968+20|0;H=+g[C+3968+24>>2]-w*o;I=+g[C+3968+28>>2]-x*o;g[k>>2]=+g[D>>2]-u*o;g[k+4>>2]=H;g[k+8>>2]=I;g[k+12>>2]=0.0;c[m>>2]=c[D>>2];c[m+4>>2]=c[D+4>>2];c[m+8>>2]=c[D+8>>2];c[m+12>>2]=c[D+12>>2];g[j>>2]=u;g[j+4>>2]=w;g[j+8>>2]=x;g[j+12>>2]=t}D=b<<24>>24!=0;l=C;return D|0}function Gc(b,d,e,f,h){b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;var i=0,j=0.0,k=0.0,m=0.0,n=0.0,o=0.0,p=0.0,q=0.0,r=0.0,s=0.0,t=0.0,u=0.0,v=0.0,w=0.0,x=0.0,y=0.0,z=0.0,C=0.0,F=0.0,G=0.0,H=0.0,I=0.0,J=0.0,K=0.0,L=0,M=0,N=0,O=0,P=0.0,Q=0.0,R=0.0,S=0.0,T=0.0,U=0.0,V=0.0,W=0.0,X=0.0,Y=0.0,Z=0.0,_=0.0,$=0.0,aa=0,ba=0,ca=0.0,da=0.0,ea=0.0,fa=0.0,ga=0.0,ha=0.0,ia=0.0,ja=0.0,ka=0.0,la=0.0,ma=0.0,na=0.0,oa=0.0;M=l;l=l+64|0;if(!(c[b+12>>2]|0)){l=M;return}O=(a[b+16>>0]|0)!=0;i=O?e:d;O=O?d:e;f=c[i+4>>2]|0;L=c[O+4>>2]|0;i=c[i+12>>2]|0;$=+g[i>>2];_=+g[i+16>>2];Z=+g[i+32>>2];Y=+g[i+4>>2];X=+g[i+20>>2];n=+g[i+36>>2];j=+g[i+8>>2];q=+g[i+24>>2];x=+g[i+40>>2];S=+g[i+48>>2];R=+g[i+52>>2];Q=+g[i+56>>2];aa=c[O+12>>2]|0;W=+g[aa>>2];V=+g[aa+16>>2];o=+g[aa+32>>2];U=+g[aa+4>>2];T=+g[aa+20>>2];p=+g[aa+36>>2];w=+g[aa+8>>2];u=+g[aa+24>>2];s=+g[aa+40>>2];P=-+g[aa+48>>2];H=-+g[aa+52>>2];I=-+g[aa+56>>2];J=+g[i>>2];K=+g[i+16>>2];G=+g[i+32>>2];C=+g[i+4>>2];z=+g[i+20>>2];y=+g[i+36>>2];v=+g[i+8>>2];t=+g[i+24>>2];r=+g[i+40>>2];i=c[(c[f>>2]|0)+64>>2]|0;m=-+g[L+52>>2];k=-+g[L+56>>2];F=-+g[L+60>>2];g[M+48>>2]=($*W+_*V+Z*o)*m+($*U+_*T+Z*p)*k+($*w+_*u+Z*s)*F;g[M+48+4>>2]=(Y*W+X*V+n*o)*m+(Y*U+X*T+n*p)*k+(Y*w+X*u+n*s)*F;g[M+48+8>>2]=(j*W+q*V+x*o)*m+(j*U+q*T+x*p)*k+(j*w+q*u+x*s)*F;g[M+48+12>>2]=0.0;Mb[i&127](M,f,M+48|0);F=+g[M>>2];x=+g[M+4>>2];q=+g[M+8>>2];j=+g[L+52>>2];k=+g[L+56>>2];m=+g[L+60>>2];n=m*(S*w+R*u+Q*s+(w*P+u*H+s*I)+((w*J+u*K+s*G)*F+(w*C+u*z+s*y)*x+(w*v+u*t+s*r)*q))+(j*(S*W+R*V+Q*o+(W*P+V*H+o*I)+((W*J+V*K+o*G)*F+(W*C+V*z+o*y)*x+(W*v+V*t+o*r)*q))+k*(S*U+R*T+Q*p+(U*P+T*H+p*I)+((U*J+T*K+p*G)*F+(U*C+T*z+p*y)*x+(U*v+T*t+p*r)*q)))-+g[L+68>>2];o=S*W+R*V+Q*o+(W*P+V*H+o*I)+((W*J+V*K+o*G)*F+(W*C+V*z+o*y)*x+(W*v+V*t+o*r)*q)-j*n;p=S*U+R*T+Q*p+(U*P+T*H+p*I)+((U*J+T*K+p*G)*F+(U*C+T*z+p*y)*x+(U*v+T*t+p*r)*q)-k*n;q=S*w+R*u+Q*s+(w*P+u*H+s*I)+((w*J+u*K+s*G)*F+(w*C+u*z+s*y)*x+(w*v+u*t+s*r)*q)-m*n;O=c[O+12>>2]|0;r=+g[O>>2];s=+g[O+4>>2];t=+g[O+8>>2];u=+g[O+16>>2];v=+g[O+20>>2];w=+g[O+24>>2];x=+g[O+32>>2];y=+g[O+36>>2];z=+g[O+40>>2];C=+g[O+48>>2];F=+g[O+52>>2];G=+g[O+56>>2];O=c[b+12>>2]|0;i=n<+g[O+784>>2];c[h+4>>2]=O;if(i){g[M+48>>2]=r*j+s*k+t*m;g[M+48+4>>2]=j*u+k*v+m*w;g[M+48+8>>2]=j*x+k*y+m*z;g[M+48+12>>2]=0.0;g[M+32>>2]=t*q+(r*o+s*p)+C;g[M+32+4>>2]=o*u+p*v+q*w+F;g[M+32+8>>2]=o*x+p*y+q*z+G;g[M+32+12>>2]=0.0;Nb[c[(c[h>>2]|0)+16>>2]&15](h,M+48|0,M+32|0,n)}if((c[f+4>>2]|0)<7?(c[(c[h+4>>2]|0)+780>>2]|0)<(c[b+24>>2]|0):0){j=+g[L+60>>2];if(+A(+j)>.7071067690849304){m=+g[L+56>>2];$=1.0/+B(+(j*j+m*m));k=0.0;m=m*$;j=-(j*$)}else{$=+g[L+52>>2];k=+g[L+56>>2];j=1.0/+B(+($*$+k*k));k=-(k*j);m=0.0;j=$*j}I=.019999999552965164/+ib[c[(c[f>>2]|0)+16>>2]&15](f);I=(I>.39269909262657166?.39269909262657166:I)*.5;H=+E(+I)/+B(+(k*k+j*j+m*m));K=k*H;J=j*H;H=m*H;I=+D(+I);f=c[b+20>>2]|0;if((f|0)>0){i=0;do{u=+g[L+52>>2];$=+g[L+56>>2];C=+g[L+60>>2];y=6.2831854820251465/+(f|0)*+(i|0)*.5;_=+E(+y)/+B(+(u*u+$*$+C*C));y=+D(+y);z=H*-($*_)+(K*y+I*-(u*_))-J*-(C*_);w=K*-(C*_)+(J*y+I*-($*_))-H*-(u*_);da=J*-(u*_)+(H*y+I*-(C*_))-K*-($*_);G=I*y-K*-(u*_)-J*-($*_)-H*-(C*_);ia=C*_*w+(u*_*G+y*z)-$*_*da;ha=u*_*da+(y*w+$*_*G)-C*_*z;la=$*_*z+(C*_*G+y*da)-u*_*w;da=y*G-u*_*z-$*_*w-C*_*da;O=(a[b+16>>0]|0)!=0;ba=O?e:d;O=O?d:e;f=c[ba+4>>2]|0;aa=c[O+4>>2]|0;ba=c[ba+12>>2]|0;_=+g[ba>>2];C=+g[ba+4>>2];w=+g[ba+8>>2];$=+g[ba+16>>2];z=+g[ba+20>>2];u=+g[ba+24>>2];G=+g[ba+32>>2];y=+g[ba+36>>2];s=+g[ba+40>>2];U=+g[ba+48>>2];V=+g[ba+52>>2];W=+g[ba+56>>2];ba=c[O+12>>2]|0;Q=+g[ba>>2];R=+g[ba+16>>2];o=+g[ba+32>>2];S=+g[ba+4>>2];T=+g[ba+20>>2];p=+g[ba+36>>2];v=+g[ba+8>>2];t=+g[ba+24>>2];r=+g[ba+40>>2];X=-+g[ba+48>>2];Y=-+g[ba+52>>2];Z=-+g[ba+56>>2];ga=ia*(2.0/(ia*ia+ha*ha+la*la+da*da));m=ha*(2.0/(ia*ia+ha*ha+la*la+da*da));ca=la*(2.0/(ia*ia+ha*ha+la*la+da*da));na=w*(ia*ca-da*m)+(C*(ia*m+da*ca)+_*(1.0-(ha*m+la*ca)));ka=w*(ha*ca+da*ga)+(_*(ia*m-da*ca)+C*(1.0-(ia*ga+la*ca)));j=_*(ia*ca+da*m)+C*(ha*ca-da*ga)+w*(1.0-(ia*ga+ha*m));ma=u*(ia*ca-da*m)+(z*(ia*m+da*ca)+$*(1.0-(ha*m+la*ca)));ja=u*(ha*ca+da*ga)+($*(ia*m-da*ca)+z*(1.0-(ia*ga+la*ca)));x=$*(ia*ca+da*m)+z*(ha*ca-da*ga)+u*(1.0-(ia*ga+ha*m));oa=s*(ia*ca-da*m)+(y*(ia*m+da*ca)+G*(1.0-(ha*m+la*ca)));la=s*(ha*ca+da*ga)+(G*(ia*m-da*ca)+y*(1.0-(ia*ga+la*ca)));m=G*(ia*ca+da*m)+y*(ha*ca-da*ga)+s*(1.0-(ia*ga+ha*m));ha=+g[ba>>2];ga=+g[ba+16>>2];ia=+g[ba+32>>2];da=+g[ba+4>>2];ca=+g[ba+20>>2];ea=+g[ba+36>>2];k=+g[ba+8>>2];q=+g[ba+24>>2];n=+g[ba+40>>2];ba=c[(c[f>>2]|0)+64>>2]|0;fa=-+g[aa+52>>2];P=-+g[aa+56>>2];F=-+g[aa+60>>2];g[M+32>>2]=(ia*oa+(ha*na+ga*ma))*fa+(ea*oa+(da*na+ca*ma))*P+(n*oa+(k*na+q*ma))*F;g[M+32+4>>2]=(ia*la+(ha*ka+ga*ja))*fa+(ea*la+(da*ka+ca*ja))*P+(n*la+(k*ka+q*ja))*F;g[M+32+8>>2]=(ia*m+(ha*j+ga*x))*fa+(ea*m+(da*j+ca*x))*P+(n*m+(k*j+q*x))*F;g[M+32+12>>2]=0.0;Mb[ba&127](M+48|0,f,M+32|0);F=+g[M+48>>2];x=+g[M+48+4>>2];q=+g[M+48+8>>2];j=+g[aa+52>>2];k=+g[aa+56>>2];m=+g[aa+60>>2];n=m*(U*v+V*t+W*r+(v*X+t*Y+r*Z)+((_*v+$*t+G*r)*F+(C*v+z*t+y*r)*x+(w*v+u*t+s*r)*q))+(j*(U*Q+V*R+W*o+(Q*X+R*Y+o*Z)+((_*Q+$*R+G*o)*F+(C*Q+z*R+y*o)*x+(w*Q+u*R+s*o)*q))+k*(U*S+V*T+W*p+(S*X+T*Y+p*Z)+((_*S+$*T+G*p)*F+(C*S+z*T+y*p)*x+(w*S+u*T+s*p)*q)))-+g[aa+68>>2];o=U*Q+V*R+W*o+(Q*X+R*Y+o*Z)+((_*Q+$*R+G*o)*F+(C*Q+z*R+y*o)*x+(w*Q+u*R+s*o)*q)-j*n;p=U*S+V*T+W*p+(S*X+T*Y+p*Z)+((_*S+$*T+G*p)*F+(C*S+z*T+y*p)*x+(w*S+u*T+s*p)*q)-k*n;q=U*v+V*t+W*r+(v*X+t*Y+r*Z)+((_*v+$*t+G*r)*F+(C*v+z*t+y*r)*x+(w*v+u*t+s*r)*q)-m*n;O=c[O+12>>2]|0;r=+g[O>>2];s=+g[O+4>>2];t=+g[O+8>>2];u=+g[O+16>>2];v=+g[O+20>>2];w=+g[O+24>>2];x=+g[O+32>>2];y=+g[O+36>>2];z=+g[O+40>>2];C=+g[O+48>>2];F=+g[O+52>>2];G=+g[O+56>>2];O=c[b+12>>2]|0;aa=n<+g[O+784>>2];c[h+4>>2]=O;if(aa){g[M+32>>2]=r*j+s*k+t*m;g[M+32+4>>2]=j*u+k*v+m*w;g[M+32+8>>2]=j*x+k*y+m*z;g[M+32+12>>2]=0.0;g[M+16>>2]=t*q+(r*o+s*p)+C;g[M+16+4>>2]=o*u+p*v+q*w+F;g[M+16+8>>2]=o*x+p*y+q*z+G;g[M+16+12>>2]=0.0;Nb[c[(c[h>>2]|0)+16>>2]&15](h,M+32|0,M+16|0,n)}i=i+1|0;f=c[b+20>>2]|0}while((i|0)<(f|0))}}do if((a[b+8>>0]|0?c[(c[b+12>>2]|0)+780>>2]|0:0)?(N=c[h+4>>2]|0,c[N+780>>2]|0):0){f=c[N+772>>2]|0;i=c[(c[h+8>>2]|0)+8>>2]|0;if((f|0)==(i|0)){De(N,f+4|0,(c[(c[h+12>>2]|0)+8>>2]|0)+4|0);break}else{De(N,(c[(c[h+12>>2]|0)+8>>2]|0)+4|0,i+4|0);break}}while(0);l=M;return}function Hc(){var a=0;a=ps(8)|0;c[6900]=a;Ya(a|0,0)|0;c[5852]=21680;c[5853]=0;c[5854]=0;c[5855]=0;c[5856]=0;c[5857]=0;c[5858]=0;c[5859]=0;c[5860]=0;Jq(23408);c[5861]=21680;c[5862]=0;c[5863]=0;c[5864]=0;c[5865]=0;c[5866]=0;c[5867]=0;c[5868]=0;c[5869]=0;Jq(23444);c[5870]=21680;c[5871]=0;c[5872]=0;c[5873]=0;c[5874]=0;c[5875]=0;c[5876]=0;c[5877]=0;c[5878]=0;Jq(23480);c[5879]=21680;c[5880]=0;c[5881]=0;c[5882]=0;c[5883]=0;c[5884]=0;c[5885]=0;c[5886]=0;c[5887]=0;Jq(23516);c[5888]=21680;c[5889]=0;c[5890]=0;c[5891]=0;c[5892]=0;c[5893]=0;c[5894]=0;c[5895]=0;c[5896]=0;Jq(23552);c[5897]=21680;c[5898]=0;c[5899]=0;c[5900]=0;c[5901]=0;c[5902]=0;c[5903]=0;c[5904]=0;c[5905]=0;Jq(23588);c[5906]=21680;c[5907]=0;c[5908]=0;c[5909]=0;c[5910]=0;c[5911]=0;c[5912]=0;c[5913]=0;c[5914]=0;Jq(23624);c[5915]=21680;c[5916]=0;c[5917]=0;c[5918]=0;c[5919]=0;c[5920]=0;c[5921]=0;c[5922]=0;c[5923]=0;Jq(23660);c[5924]=21680;c[5925]=0;c[5926]=0;c[5927]=0;c[5928]=0;c[5929]=0;c[5930]=0;c[5931]=0;c[5932]=0;Jq(23696);c[5933]=21680;c[5934]=0;c[5935]=0;c[5936]=0;c[5937]=0;c[5938]=0;c[5939]=0;c[5940]=0;c[5941]=0;Jq(23732);c[5942]=21680;c[5943]=0;c[5944]=0;c[5945]=0;c[5946]=0;c[5947]=0;c[5948]=0;c[5949]=0;c[5950]=0;Jq(23768);c[5951]=21680;c[5952]=0;c[5953]=0;c[5954]=0;c[5955]=0;c[5956]=0;c[5957]=0;c[5958]=0;c[5959]=0;Jq(23804);c[5960]=21680;c[5961]=0;c[5962]=0;c[5963]=0;c[5964]=0;c[5965]=0;c[5966]=0;c[5967]=0;c[5968]=0;Jq(23840);c[5969]=21680;c[5970]=0;c[5971]=0;c[5972]=0;c[5973]=0;c[5974]=0;c[5975]=0;c[5976]=0;c[5977]=0;Jq(23876);c[5978]=21680;c[5979]=0;c[5980]=0;c[5981]=0;c[5982]=0;c[5983]=0;c[5984]=0;c[5985]=0;c[5986]=0;Jq(23912);c[5987]=21680;c[5988]=0;c[5989]=0;c[5990]=0;c[5991]=0;c[5992]=0;c[5993]=0;c[5994]=0;c[5995]=0;Jq(23948);c[5996]=21680;c[5997]=0;c[5998]=0;c[5999]=0;c[6e3]=0;c[6001]=0;c[6002]=0;c[6003]=0;c[6004]=0;Jq(23984);c[6005]=21680;c[6006]=0;c[6007]=0;c[6008]=0;c[6009]=0;c[6010]=0;c[6011]=0;c[6012]=0;c[6013]=0;Jq(24020);c[6014]=21680;c[6015]=0;c[6016]=0;c[6017]=0;c[6018]=0;c[6019]=0;c[6020]=0;c[6021]=0;c[6022]=0;Jq(24056);c[6023]=21680;c[6024]=0;c[6025]=0;c[6026]=0;c[6027]=0;c[6028]=0;c[6029]=0;c[6030]=0;c[6031]=0;Jq(24092);c[6032]=21680;c[6033]=0;c[6034]=0;c[6035]=0;c[6036]=0;c[6037]=0;c[6038]=0;c[6039]=0;c[6040]=0;Jq(24128);c[6041]=21680;c[6042]=0;c[6043]=0;c[6044]=0;c[6045]=0;c[6046]=0;c[6047]=0;c[6048]=0;c[6049]=0;Jq(24164);c[6050]=21680;c[6051]=0;c[6052]=0;c[6053]=0;c[6054]=0;c[6055]=0;c[6056]=0;c[6057]=0;c[6058]=0;Jq(24200);c[6059]=21680;c[6060]=0;c[6061]=0;c[6062]=0;c[6063]=0;c[6064]=0;c[6065]=0;c[6066]=0;c[6067]=0;Jq(24236);c[6068]=21680;c[6069]=0;c[6070]=0;c[6071]=0;c[6072]=0;c[6073]=0;c[6074]=0;c[6075]=0;c[6076]=0;Jq(24272);c[6077]=21680;c[6078]=0;c[6079]=0;c[6080]=0;c[6081]=0;c[6082]=0;c[6083]=0;c[6084]=0;c[6085]=0;Jq(24308);c[6086]=21680;c[6087]=0;c[6088]=0;c[6089]=0;c[6090]=0;c[6091]=0;c[6092]=0;c[6093]=0;c[6094]=0;Jq(24344);c[6095]=21680;c[6096]=0;c[6097]=0;c[6098]=0;c[6099]=0;c[6100]=0;c[6101]=0;c[6102]=0;c[6103]=0;Jq(24380);c[6104]=21680;c[6105]=0;c[6106]=0;c[6107]=0;c[6108]=0;c[6109]=0;c[6110]=0;c[6111]=0;c[6112]=0;Jq(24416);c[6113]=21680;c[6114]=0;c[6115]=0;c[6116]=0;c[6117]=0;c[6118]=0;c[6119]=0;c[6120]=0;c[6121]=0;Jq(24452);c[6122]=21680;c[6123]=0;c[6124]=0;c[6125]=0;c[6126]=0;c[6127]=0;c[6128]=0;c[6129]=0;c[6130]=0;Jq(24488);c[6131]=21680;c[6132]=0;c[6133]=0;c[6134]=0;c[6135]=0;c[6136]=0;c[6137]=0;c[6138]=0;c[6139]=0;Jq(24524);c[6140]=21680;c[6141]=0;c[6142]=0;c[6143]=0;c[6144]=0;c[6145]=0;c[6146]=0;c[6147]=0;c[6148]=0;Jq(24560);c[6149]=21680;c[6150]=0;c[6151]=0;c[6152]=0;c[6153]=0;c[6154]=0;c[6155]=0;c[6156]=0;c[6157]=0;Jq(24596);c[6158]=21680;c[6159]=0;c[6160]=0;c[6161]=0;c[6162]=0;c[6163]=0;c[6164]=0;c[6165]=0;c[6166]=0;Jq(24632);c[6167]=21680;c[6168]=0;c[6169]=0;c[6170]=0;c[6171]=0;c[6172]=0;c[6173]=0;c[6174]=0;c[6175]=0;Jq(24668);c[6176]=21680;c[6177]=0;c[6178]=0;c[6179]=0;c[6180]=0;c[6181]=0;c[6182]=0;c[6183]=0;c[6184]=0;Jq(24704);c[6185]=21680;c[6186]=0;c[6187]=0;c[6188]=0;c[6189]=0;c[6190]=0;c[6191]=0;c[6192]=0;c[6193]=0;Jq(24740);c[6194]=21680;c[6195]=0;c[6196]=0;c[6197]=0;c[6198]=0;c[6199]=0;c[6200]=0;c[6201]=0;c[6202]=0;Jq(24776);c[6203]=21680;c[6204]=0;c[6205]=0;c[6206]=0;c[6207]=0;c[6208]=0;c[6209]=0;c[6210]=0;c[6211]=0;Jq(24812);c[6212]=21680;c[6213]=0;c[6214]=0;c[6215]=0;c[6216]=0;c[6217]=0;c[6218]=0;c[6219]=0;c[6220]=0;Jq(24848);c[6221]=21680;c[6222]=0;c[6223]=0;c[6224]=0;c[6225]=0;c[6226]=0;c[6227]=0;c[6228]=0;c[6229]=0;Jq(24884);c[6230]=21680;c[6231]=0;c[6232]=0;c[6233]=0;c[6234]=0;c[6235]=0;c[6236]=0;c[6237]=0;c[6238]=0;Jq(24920);c[6239]=21680;c[6240]=0;c[6241]=0;c[6242]=0;c[6243]=0;c[6244]=0;c[6245]=0;c[6246]=0;c[6247]=0;Jq(24956);c[6248]=21680;c[6249]=0;c[6250]=0;c[6251]=0;c[6252]=0;c[6253]=0;c[6254]=0;c[6255]=0;c[6256]=0;Jq(24992);c[6257]=21680;c[6258]=0;c[6259]=0;c[6260]=0;c[6261]=0;c[6262]=0;c[6263]=0;c[6264]=0;c[6265]=0;Jq(25028);c[6266]=21680;c[6267]=0;c[6268]=0;c[6269]=0;c[6270]=0;c[6271]=0;c[6272]=0;c[6273]=0;c[6274]=0;Jq(25064);c[6275]=21680;c[6276]=0;c[6277]=0;c[6278]=0;c[6279]=0;c[6280]=0;c[6281]=0;c[6282]=0;c[6283]=0;Jq(25100);c[6284]=21680;c[6285]=0;c[6286]=0;c[6287]=0;c[6288]=0;c[6289]=0;c[6290]=0;c[6291]=0;c[6292]=0;Jq(25136);c[6293]=21680;c[6294]=0;c[6295]=0;c[6296]=0;c[6297]=0;c[6298]=0;c[6299]=0;c[6300]=0;c[6301]=0;Jq(25172);c[6302]=21680;c[6303]=0;c[6304]=0;c[6305]=0;c[6306]=0;c[6307]=0;c[6308]=0;c[6309]=0;c[6310]=0;Jq(25208);c[6311]=21680;c[6312]=0;c[6313]=0;c[6314]=0;c[6315]=0;c[6316]=0;c[6317]=0;c[6318]=0;c[6319]=0;Jq(25244);c[6320]=21680;c[6321]=0;c[6322]=0;c[6323]=0;c[6324]=0;c[6325]=0;c[6326]=0;c[6327]=0;c[6328]=0;Jq(25280);c[6329]=21680;c[6330]=0;c[6331]=0;c[6332]=0;c[6333]=0;c[6334]=0;c[6335]=0;c[6336]=0;c[6337]=0;Jq(25316);c[6338]=21680;c[6339]=0;c[6340]=0;c[6341]=0;c[6342]=0;c[6343]=0;c[6344]=0;c[6345]=0;c[6346]=0;Jq(25352);c[6347]=21680;c[6348]=0;c[6349]=0;c[6350]=0;c[6351]=0;c[6352]=0;c[6353]=0;c[6354]=0;c[6355]=0;Jq(25388);c[6356]=21680;c[6357]=0;c[6358]=0;c[6359]=0;c[6360]=0;c[6361]=0;c[6362]=0;c[6363]=0;c[6364]=0;Jq(25424);c[6365]=21680;c[6366]=0;c[6367]=0;c[6368]=0;c[6369]=0;c[6370]=0;c[6371]=0;c[6372]=0;c[6373]=0;Jq(25460);c[6374]=21680;c[6375]=0;c[6376]=0;c[6377]=0;c[6378]=0;c[6379]=0;c[6380]=0;c[6381]=0;c[6382]=0;Jq(25496);c[6383]=21680;c[6384]=0;c[6385]=0;c[6386]=0;c[6387]=0;c[6388]=0;c[6389]=0;c[6390]=0;c[6391]=0;Jq(25532);c[6392]=21680;c[6393]=0;c[6394]=0;c[6395]=0;c[6396]=0;c[6397]=0;c[6398]=0;c[6399]=0;c[6400]=0;Jq(25568);c[6401]=21680;c[6402]=0;c[6403]=0;c[6404]=0;c[6405]=0;c[6406]=0;c[6407]=0;c[6408]=0;c[6409]=0;Jq(25604);c[6410]=21680;c[6411]=0;c[6412]=0;c[6413]=0;c[6414]=0;c[6415]=0;c[6416]=0;c[6417]=0;c[6418]=0;Jq(25640);c[6419]=21680;c[6420]=0;c[6421]=0;c[6422]=0;c[6423]=0;c[6424]=0;c[6425]=0;c[6426]=0;c[6427]=0;Jq(25676);return}
52function Yb(d,f){d=d|0;f=f|0;var h=0,i=0,k=0,m=0,n=0,o=0,p=0,q=0.0,r=0.0,s=0.0,t=0.0,u=0.0,v=0.0,w=0,x=0,y=0,z=0,C=0,D=0,E=0.0,F=0.0,G=0.0,H=0,I=0,J=0.0,K=0.0,L=0.0,M=0.0,N=0,O=0,P=0.0,Q=0.0,R=0.0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0;la=l;l=l+192|0;i=c[d+56>>2]|0;if(i|0?(Db[c[c[i>>2]>>2]&511](i),h=c[d+56>>2]|0,h|0):0){c[6898]=(c[6898]|0)+1;md(c[h+-4>>2]|0)}c[6897]=(c[6897]|0)+1;h=ec(151)|0;if(!h)h=0;else{c[(h+4+15&-16)+-4>>2]=h;h=h+4+15&-16}c[h>>2]=12072;a[h+20>>0]=1;c[h+16>>2]=0;c[h+8>>2]=0;c[h+12>>2]=0;a[h+40>>0]=1;c[h+36>>2]=0;c[h+28>>2]=0;c[h+32>>2]=0;a[h+60>>0]=1;c[h+56>>2]=0;c[h+48>>2]=0;c[h+52>>2]=0;c[d+56>>2]=h;n=0;o=0;ka=0;I=0;h=0;while(1){if((n|0)>=(sb[c[(c[d>>2]|0)+96>>2]&127](d)|0))break;do if((I|0)==(o|0)){i=(o|0)==0?1:o<<1;if((o|0)<(i|0)){if((i|0)!=0?(c[6897]=(c[6897]|0)+1,p=ec((i<<4|3)+16|0)|0,(p|0)!=0):0){c[(p+4+15&-16)+-4>>2]=p;k=p+4+15&-16}else k=0;if((o|0)<=0){if(!ka){m=k;h=k;k=o;break}}else{h=0;do{ja=k+(h<<4)|0;ia=ka+(h<<4)|0;c[ja>>2]=c[ia>>2];c[ja+4>>2]=c[ia+4>>2];c[ja+8>>2]=c[ia+8>>2];c[ja+12>>2]=c[ia+12>>2];h=h+1|0}while((h|0)!=(o|0))}c[6898]=(c[6898]|0)+1;md(c[ka+-4>>2]|0);m=k;h=k;k=o}else{i=o;m=ka;k=o}}else{i=o;m=ka;k=I}while(0);o=m+(I<<4)|0;c[o>>2]=c[la>>2];c[o+4>>2]=c[la+4>>2];c[o+8>>2]=c[la+8>>2];c[o+12>>2]=c[la+12>>2];Mb[c[(c[d>>2]|0)+108>>2]&127](d,n,o);n=n+1|0;o=i;ka=m;I=k+1|0}a[la+124+16>>0]=1;ja=la+124+12|0;c[ja>>2]=0;c[la+124+4>>2]=0;c[la+124+8>>2]=0;a[la+124+36>>0]=1;ia=la+124+32|0;c[ia>>2]=0;c[la+124+24>>2]=0;c[la+124+28>>2]=0;a[la+124+56>>0]=1;ha=la+124+52|0;c[ha>>2]=0;c[la+124+44>>2]=0;c[la+124+48>>2]=0;if(f){if((I|0)>0){H=0;i=0;k=0;m=0;while(1){h=H;H=H+1|0;a:do if((H|0)<(I|0)){C=ka+(h<<4)|0;D=ka+(h<<4)+4|0;z=ka+(h<<4)+8|0;n=H;h=m;while(1){y=n+1|0;b:do if((y|0)<(I|0)){w=ka+(n<<4)|0;x=ka+(n<<4)+4|0;f=ka+(n<<4)+8|0;m=y;while(1){q=+g[C>>2];J=+g[w>>2]-q;r=+g[D>>2];K=+g[x>>2]-r;s=+g[z>>2];F=+g[f>>2]-s;L=+g[ka+(m<<4)>>2]-q;M=+g[ka+(m<<4)+4>>2]-r;G=+g[ka+(m<<4)+8>>2]-s;E=(J*M-K*L)*(J*M-K*L)+((K*G-F*M)*(K*G-F*M)+(F*L-J*G)*(F*L-J*G));c:do if(E>9.999999747378752e-05){v=1.0/+B(+E);t=(K*G-F*M)*v;u=(F*L-J*G)*v;v=(J*M-K*L)*v;d:do if((h|0)>0){n=0;while(1){if(t*+g[k+(n<<4)>>2]+u*+g[k+(n<<4)+4>>2]+v*+g[k+(n<<4)+8>>2]>.9990000128746033)break d;n=n+1|0;if((n|0)>=(h|0)){fa=34;break}}}else fa=34;while(0);e:do if((fa|0)==34){fa=0;n=0;do{if(t*+g[ka+(n<<4)>>2]+u*+g[ka+(n<<4)+4>>2]+v*+g[ka+(n<<4)+8>>2]-(t*q+u*r+v*s)+-.009999999776482582>0.0)break e;n=n+1|0}while((n|0)<(I|0));do if((h|0)==(i|0)){p=(i|0)==0?1:i<<1;if((i|0)<(p|0)){do if(!p)o=0;else{c[6897]=(c[6897]|0)+1;n=ec((p<<4|3)+16|0)|0;if(!n){o=0;break}c[(n+4+15&-16)+-4>>2]=n;o=n+4+15&-16}while(0);if((i|0)<=0){if(!k){n=p;k=o;break}}else{n=0;do{ea=o+(n<<4)|0;da=k+(n<<4)|0;c[ea>>2]=c[da>>2];c[ea+4>>2]=c[da+4>>2];c[ea+8>>2]=c[da+8>>2];c[ea+12>>2]=c[da+12>>2];n=n+1|0}while((n|0)!=(i|0))}c[6898]=(c[6898]|0)+1;md(c[k+-4>>2]|0);n=p;k=o}else n=i}else{n=i;i=h}while(0);g[k+(i<<4)>>2]=t;g[k+(i<<4)+4>>2]=u;g[k+(i<<4)+8>>2]=v;g[k+(i<<4)+12>>2]=-(t*q+u*r+v*s);i=n;h=h+1|0}while(0);if(E>9.999999747378752e-05){r=1.0/+B(+E);t=-((K*G-F*M)*r);s=-((F*L-J*G)*r);r=-((J*M-K*L)*r);if((h|0)>0){n=0;do{if(+g[k+(n<<4)>>2]*t+ +g[k+(n<<4)+4>>2]*s+ +g[k+(n<<4)+8>>2]*r>.9990000128746033)break c;n=n+1|0}while((n|0)<(h|0))}q=+g[C>>2]*t+ +g[D>>2]*s+ +g[z>>2]*r;n=0;do{if(+g[ka+(n<<4)>>2]*t+ +g[ka+(n<<4)+4>>2]*s+ +g[ka+(n<<4)+8>>2]*r-q+-.009999999776482582>0.0)break c;n=n+1|0}while((n|0)<(I|0));do if((h|0)==(i|0)){p=(i|0)==0?1:i<<1;if((i|0)>=(p|0)){n=i;break}do if(!p)o=0;else{c[6897]=(c[6897]|0)+1;n=ec((p<<4|3)+16|0)|0;if(!n){o=0;break}c[(n+4+15&-16)+-4>>2]=n;o=n+4+15&-16}while(0);if((i|0)<=0){if(!k){n=p;k=o;break}}else{n=0;do{ea=o+(n<<4)|0;da=k+(n<<4)|0;c[ea>>2]=c[da>>2];c[ea+4>>2]=c[da+4>>2];c[ea+8>>2]=c[da+8>>2];c[ea+12>>2]=c[da+12>>2];n=n+1|0}while((n|0)!=(i|0))}c[6898]=(c[6898]|0)+1;md(c[k+-4>>2]|0);n=p;k=o}else{n=i;i=h}while(0);g[k+(i<<4)>>2]=t;g[k+(i<<4)+4>>2]=s;g[k+(i<<4)+8>>2]=r;g[k+(i<<4)+12>>2]=-q;i=n;h=h+1|0}}while(0);m=m+1|0;if((m|0)==(I|0))break b}}while(0);if((y|0)==(I|0))break a;n=y}}else h=m;while(0);if((H|0)==(I|0)){f=h;break}else m=h}if((f|0)>0){h=0;o=0;p=0;while(1){ea=k+(p<<4)|0;c[la>>2]=c[ea>>2];c[la+4>>2]=c[ea+4>>2];c[la+8>>2]=c[ea+8>>2];q=+g[k+(p<<4)+12>>2];q=q-+ib[c[(c[d>>2]|0)+48>>2]&15](d);do if((p|0)==(h|0)){n=(h|0)==0?1:h<<1;if((h|0)<(n|0)){if((n|0)!=0?(c[6897]=(c[6897]|0)+1,N=ec((n<<4|3)+16|0)|0,(N|0)!=0):0){c[(N+4+15&-16)+-4>>2]=N;m=N+4+15&-16}else m=0;if((h|0)<=0){if(!o)break}else{i=0;do{ea=m+(i<<4)|0;da=o+(i<<4)|0;c[ea>>2]=c[da>>2];c[ea+4>>2]=c[da+4>>2];c[ea+8>>2]=c[da+8>>2];c[ea+12>>2]=c[da+12>>2];i=i+1|0}while((i|0)!=(h|0))}c[6898]=(c[6898]|0)+1;md(c[o+-4>>2]|0)}else{n=h;m=o}}else{n=h;m=o;h=p}while(0);ea=m+(h<<4)|0;c[ea>>2]=c[la>>2];c[ea+4>>2]=c[la+4>>2];c[ea+8>>2]=c[la+8>>2];g[m+(h<<4)+12>>2]=q;p=p+1|0;if((p|0)<(f|0)){h=n;o=m}else break}N=0;o=0;n=0;i=0;h=0;do{I=N;N=N+1|0;f:do if((N|0)<(p|0)){f=N;while(1){H=f+1|0;g:do if((H|0)<(p|0)){z=m+(f<<4)+4|0;C=m+(f<<4)+8|0;D=m+(f<<4)|0;y=m+(f<<4)+12|0;f=H;while(1){t=+g[z>>2];q=+g[m+(f<<4)+8>>2];r=+g[C>>2];u=+g[m+(f<<4)+4>>2];v=+g[m+(f<<4)>>2];E=+g[D>>2];s=+g[m+(I<<4)+8>>2];F=+g[m+(I<<4)+4>>2];G=+g[m+(I<<4)>>2];h:do if((((u*E-t*v)*(u*E-t*v)+((t*q-r*u)*(t*q-r*u)+(r*v-q*E)*(r*v-q*E))>9.999999747378752e-05?(v*F-u*G)*(v*F-u*G)+((u*s-q*F)*(u*s-q*F)+(q*G-v*s)*(q*G-v*s))>9.999999747378752e-05:0)?(t*G-E*F)*(t*G-E*F)+((r*F-t*s)*(r*F-t*s)+(E*s-r*G)*(E*s-r*G))>9.999999747378752e-05:0)?(P=s*(u*E-t*v)+(F*(r*v-q*E)+(t*q-r*u)*G),+A(+P)>9.999999974752427e-07):0){Q=+g[m+(I<<4)+12>>2];R=+g[y>>2];M=+g[m+(f<<4)+12>>2];J=-1.0/P*((r*F-t*s)*M+((t*q-r*u)*Q+(u*s-q*F)*R));r=-1.0/P*((E*s-r*G)*M+((r*v-q*E)*Q+(q*G-v*s)*R));q=-1.0/P*((t*G-E*F)*M+((u*E-t*v)*Q+(v*F-u*G)*R));w=0;do{if(+g[m+(w<<4)+12>>2]+(J*+g[m+(w<<4)>>2]+r*+g[m+(w<<4)+4>>2]+q*+g[m+(w<<4)+8>>2])+-.009999999776482582>0.0)break h;w=w+1|0}while((w|0)<(p|0));do if((i|0)==(o|0)){x=(o|0)==0?1:o<<1;if((o|0)>=(x|0)){x=o;break}do if(!x)w=0;else{c[6897]=(c[6897]|0)+1;h=ec((x<<4|3)+16|0)|0;if(!h){w=0;break}c[(h+4+15&-16)+-4>>2]=h;w=h+4+15&-16}while(0);if((o|0)<=0){if(!n){n=w;h=w;break}}else{h=0;do{ea=w+(h<<4)|0;da=n+(h<<4)|0;c[ea>>2]=c[da>>2];c[ea+4>>2]=c[da+4>>2];c[ea+8>>2]=c[da+8>>2];c[ea+12>>2]=c[da+12>>2];h=h+1|0}while((h|0)!=(o|0))}c[6898]=(c[6898]|0)+1;md(c[n+-4>>2]|0);n=w;h=w}else{x=o;o=i}while(0);g[n+(o<<4)>>2]=J;g[n+(o<<4)+4>>2]=r;g[n+(o<<4)+8>>2]=q;g[n+(o<<4)+12>>2]=0.0;o=x;i=i+1|0}while(0);f=f+1|0;if((f|0)==(p|0))break g}}while(0);if((H|0)==(p|0))break f;f=H}}while(0)}while((N|0)!=(p|0))}else{n=0;m=0;i=0;h=0}}else{n=0;m=0;k=0;i=0;h=0}hc(la+124|0,h,i);if(n|0){c[6898]=(c[6898]|0)+1;md(c[n+-4>>2]|0)}if(m|0){c[6898]=(c[6898]|0)+1;md(c[m+-4>>2]|0)}if(k|0){c[6898]=(c[6898]|0)+1;md(c[k+-4>>2]|0)}}else hc(la+124|0,h,I);H=c[la+124+44>>2]|0;if((H|0)>0){c[6897]=(c[6897]|0)+1;h=ec((H<<4|3)+16|0)|0;if(!h)i=0;else{c[(h+4+15&-16)+-4>>2]=h;i=h+4+15&-16}h=0;do{ea=i+(h<<4)|0;c[ea>>2]=c[la>>2];c[ea+4>>2]=c[la+4>>2];c[ea+8>>2]=c[la+8>>2];c[ea+12>>2]=c[la+12>>2];h=h+1|0}while((h|0)!=(H|0));ea=i;ca=i}else{ea=0;ca=0}a[la+104+16>>0]=1;da=la+104+12|0;c[da>>2]=0;ba=la+104+4|0;c[ba>>2]=0;c[la+104+8>>2]=0;k=la;n=k+19|0;do{a[k>>0]=0;k=k+1|0}while((k|0)<(n|0));if((H|0)<0)bb();if(H|0){gf(la+104|0,H);i=c[da>>2]|0;h=0;do{a[i+(h*36|0)+16>>0]=1;k=i+(h*36|0)+4|0;c[k>>2]=0;c[k+4>>2]=0;c[k+8>>2]=0;k=i+(h*36|0)+20|0;m=la+3|0;n=k+16|0;do{a[k>>0]=a[m>>0]|0;k=k+1|0;m=m+1|0}while((k|0)<(n|0));h=h+1|0}while((h|0)!=(H|0))}c[ba>>2]=H;o=c[la+124+4>>2]|0;n=c[d+56>>2]|0;m=c[n+8>>2]|0;if((m|0)<(o|0)){if((c[n+12>>2]|0)<(o|0)){if(!o){h=0;k=m}else{c[6897]=(c[6897]|0)+1;h=ec((o<<4|3)+16|0)|0;if(!h)h=0;else{c[(h+4+15&-16)+-4>>2]=h;h=h+4+15&-16}k=c[n+8>>2]|0}if((k|0)>0){i=0;do{aa=h+(i<<4)|0;$=(c[n+16>>2]|0)+(i<<4)|0;c[aa>>2]=c[$>>2];c[aa+4>>2]=c[$+4>>2];c[aa+8>>2]=c[$+8>>2];c[aa+12>>2]=c[$+12>>2];i=i+1|0}while((i|0)!=(k|0))}i=c[n+16>>2]|0;if(i|0){if(a[n+20>>0]|0){c[6898]=(c[6898]|0)+1;md(c[i+-4>>2]|0)}c[n+16>>2]=0}a[n+20>>0]=1;c[n+16>>2]=h;c[n+12>>2]=o;i=n+16|0}else i=n+16|0;h=m;do{aa=(c[i>>2]|0)+(h<<4)|0;c[aa>>2]=c[la>>2];c[aa+4>>2]=c[la+4>>2];c[aa+8>>2]=c[la+8>>2];c[aa+12>>2]=c[la+12>>2];h=h+1|0}while((h|0)!=(o|0))}c[n+8>>2]=o;if((o|0)>0){h=0;do{$=(c[ja>>2]|0)+(h<<4)|0;aa=(c[(c[d+56>>2]|0)+16>>2]|0)+(h<<4)|0;c[aa>>2]=c[$>>2];c[aa+4>>2]=c[$+4>>2];c[aa+8>>2]=c[$+8>>2];c[aa+12>>2]=c[$+12>>2];h=h+1|0}while((h|0)!=(o|0))}if((H|0)>0){D=0;do{z=(c[ia>>2]|0)+((c[(c[ha>>2]|0)+(D<<2)>>2]|0)*12|0)|0;y=z;h=0;do{C=y+4|0;x=c[y+((c[C>>2]|0)*12|0)+8>>2]|0;f=c[da>>2]|0;w=f+(D*36|0)+4|0;i=c[w>>2]|0;p=f+(D*36|0)+8|0;if((i|0)==(c[p>>2]|0)?(O=(i|0)==0?1:i<<1,(i|0)<(O|0)):0){if(!O)o=0;else{c[6897]=(c[6897]|0)+1;i=ec((O<<2|3)+16|0)|0;if(!i)i=0;else{c[(i+4+15&-16)+-4>>2]=i;i=i+4+15&-16}o=i;i=c[w>>2]|0}n=f+(D*36|0)+12|0;m=c[n>>2]|0;if((i|0)<=0)if(!m)k=f+(D*36|0)+16|0;else fa=161;else{k=0;do{c[o+(k<<2)>>2]=c[m+(k<<2)>>2];k=k+1|0}while((k|0)!=(i|0));fa=161}if((fa|0)==161){fa=0;i=f+(D*36|0)+16|0;if(a[i>>0]|0){c[6898]=(c[6898]|0)+1;md(c[m+-4>>2]|0)}c[n>>2]=0;k=i;i=c[w>>2]|0}a[k>>0]=1;c[n>>2]=o;c[p>>2]=O}c[(c[f+(D*36|0)+12>>2]|0)+(i<<2)>>2]=x;c[w>>2]=(c[w>>2]|0)+1;$=c[y+8>>2]|0;aa=c[ja>>2]|0;s=+g[aa+($<<4)>>2]-+g[aa+(x<<4)>>2];t=+g[aa+($<<4)+4>>2]-+g[aa+(x<<4)+4>>2];q=+g[aa+($<<4)+8>>2]-+g[aa+(x<<4)+8>>2];r=1.0/+B(+(s*s+t*t+q*q));if((h|0)<2){g[la+(h<<4)>>2]=s*r;g[la+(h<<4)+4>>2]=t*r;g[la+(h<<4)+8>>2]=q*r;g[la+(h<<4)+12>>2]=0.0;h=h+1|0}aa=y+((c[C>>2]|0)*12|0)|0;y=aa+((c[aa>>2]|0)*12|0)|0}while((y|0)!=(z|0));if((h|0)==2){L=+g[la+4>>2];M=+g[la+24>>2];P=+g[la+8>>2];Q=+g[la+20>>2];K=+g[la+16>>2];J=+g[la>>2];$=ea+(D<<4)+4|0;aa=ea+(D<<4)+8|0;g[ea+(D<<4)+12>>2]=0.0;R=1.0/+B(+((Q*J-L*K)*(Q*J-L*K)+((L*M-P*Q)*(L*M-P*Q)+(P*K-M*J)*(P*K-M*J))));g[ea+(D<<4)>>2]=(L*M-P*Q)*R;g[$>>2]=(P*K-M*J)*R;g[aa>>2]=(Q*J-L*K)*R;n=c[da>>2]|0;g[n+(D*36|0)+20>>2]=(L*M-P*Q)*R;c[n+(D*36|0)+24>>2]=c[$>>2];c[n+(D*36|0)+28>>2]=c[aa>>2];g[n+(D*36|0)+32>>2]=1000000015047466219876688.0e6}else{n=ea+(D<<4)|0;c[n>>2]=0;c[n+4>>2]=0;c[n+8>>2]=0;c[n+12>>2]=0;n=c[da>>2]|0}i=c[n+(D*36|0)+4>>2]|0;if((i|0)>0){k=c[(c[d+56>>2]|0)+16>>2]|0;r=+g[ea+(D<<4)>>2];s=+g[ea+(D<<4)+4>>2];t=+g[ea+(D<<4)+8>>2];m=c[n+(D*36|0)+12>>2]|0;aa=c[m>>2]|0;q=+g[k+(aa<<4)>>2]*r+ +g[k+(aa<<4)+4>>2]*s+ +g[k+(aa<<4)+8>>2]*t;q=q<1000000015047466219876688.0e6?q:1000000015047466219876688.0e6;if((i|0)!=1){h=1;do{aa=c[m+(h<<2)>>2]|0;R=+g[k+(aa<<4)>>2]*r+ +g[k+(aa<<4)+4>>2]*s+ +g[k+(aa<<4)+8>>2]*t;q=q>R?R:q;h=h+1|0}while((h|0)<(i|0))}}else q=1000000015047466219876688.0e6;g[n+(D*36|0)+32>>2]=-q;D=D+1|0}while((D|0)!=(H|0))}i:do if((c[ba>>2]|0)>0){h=0;n=0;m=0;i=0;o=0;while(1){do if((o|0)==(h|0)){h=(o|0)==0;k=h?1:o<<1;if((o|0)<(k|0)){if((k|0)!=0?(c[6897]=(c[6897]|0)+1,S=ec((k<<2|3)+16|0)|0,(S|0)!=0):0){c[(S+4+15&-16)+-4>>2]=S;m=S+4+15&-16}else m=0;if(h){if(!n){h=1;n=m;aa=m;i=m;break}}else{h=0;do{c[m+(h<<2)>>2]=c[n+(h<<2)>>2];h=h+1|0}while((h|0)!=(o|0))}if(!i){h=k;n=m;aa=m;i=m}else{c[6898]=(c[6898]|0)+1;md(c[i+-4>>2]|0);h=k;n=m;aa=m;i=m}}else{h=o;aa=m}}else aa=m;while(0);c[n+(o<<2)>>2]=o;o=o+1|0;if((o|0)>=(c[ba>>2]|0))break;else m=aa}O=la+84+12|0;S=la+84+4|0;T=la+48+12|0;h=o;while(1){p=h+-1|0;k=c[n+(p<<2)>>2]|0;c[6897]=(c[6897]|0)+1;i=ec(23)|0;if(!i)o=0;else{c[(i+4+15&-16)+-4>>2]=i;o=i+4+15&-16}c[o>>2]=k;m=c[da>>2]|0;r=+g[m+(k*36|0)+20>>2];s=+g[m+(k*36|0)+24>>2];q=+g[m+(k*36|0)+28>>2];do if((h|0)>1){C=h+-2|0;f=1;i=o;z=1;h=p;p=o;w=o;while(1){x=c[n+(C<<2)>>2]|0;do if(r*+g[m+(x*36|0)+20>>2]+s*+g[m+(x*36|0)+24>>2]+q*+g[m+(x*36|0)+28>>2]>.9990000128746033){do if((z|0)==(f|0)){m=(f|0)==0?1:f<<1;if((f|0)>=(m|0)){y=p;break}do if(!m)o=0;else{c[6897]=(c[6897]|0)+1;k=ec((m<<2|3)+16|0)|0;if(!k){o=0;break}c[(k+4+15&-16)+-4>>2]=k;o=k+4+15&-16}while(0);if((f|0)>0){k=0;do{c[o+(k<<2)>>2]=c[i+(k<<2)>>2];k=k+1|0}while((k|0)!=(f|0));if(!w){f=m;i=o;y=o;w=o;break}}else if((i|0)==0|(w|0)==0){f=m;i=o;y=o;w=o;break}c[6898]=(c[6898]|0)+1;md(c[w+-4>>2]|0);f=m;i=o;y=o;w=o}else y=p;while(0);c[i+(z<<2)>>2]=x;z=z+1|0;j:do if((h|0)>0){k=0;while(1){if((c[n+(k<<2)>>2]|0)==(x|0))break j;k=k+1|0;if((k|0)>=(h|0)){k=h;break}}}else k=h;while(0);p=h+-1|0;m=n+(k<<2)|0;o=n+(p<<2)|0;if((h|0)<=(k|0)){m=f;N=y;k=w;break}h=c[m>>2]|0;c[m>>2]=c[o>>2];c[o>>2]=h;m=f;h=p;N=y;k=w}else{m=f;N=p;k=w}while(0);if((C|0)<=0)break;C=C+-1|0;f=m;p=N;m=c[da>>2]|0;w=k}if((z|0)<=1)if((z|0)==1){k=N;z=1;fa=359;break}else{k=N;break}a[la+84+16>>0]=1;c[O>>2]=0;c[S>>2]=0;c[la+84+8>>2]=0;D=0;k=0;q=0.0;r=0.0;s=0.0;do{y=c[i+(D<<2)>>2]|0;C=c[da>>2]|0;q=+g[C+(y*36|0)+20>>2]+q;r=+g[C+(y*36|0)+24>>2]+r;s=+g[C+(y*36|0)+28>>2]+s;m=c[C+(y*36|0)+4>>2]|0;if((m|0)>0){x=0;do{w=c[(c[C+(y*36|0)+12>>2]|0)+(x<<2)>>2]|0;$=(c[(c[d+56>>2]|0)+16>>2]|0)+(w<<4)|0;c[la>>2]=c[$>>2];c[la+4>>2]=c[$+4>>2];c[la+8>>2]=c[$+8>>2];c[la+12>>2]=c[$+12>>2];k:do if((k|0)>0){p=c[O>>2]|0;o=0;while(1){if((c[p+(o*24|0)+20>>2]|0)==(w|0))break k;o=o+1|0;if((o|0)>=(k|0)){fa=224;break}}}else fa=224;while(0);if((fa|0)==224){fa=0;c[la+48>>2]=c[la>>2];c[la+48+4>>2]=c[la+4>>2];c[la+48+8>>2]=c[la+8>>2];c[la+48+12>>2]=c[la+12>>2];do if((k|0)==(c[la+84+8>>2]|0)){f=(k|0)==0?1:k<<1;if((k|0)>=(f|0))break;if(!f)p=0;else{c[6897]=(c[6897]|0)+1;k=ec((f*24|3)+16|0)|0;if(!k)k=0;else{c[(k+4+15&-16)+-4>>2]=k;k=k+4+15&-16}p=k;k=c[S>>2]|0}o=c[O>>2]|0;if((k|0)<=0){if(o)fa=234}else{m=0;do{fa=p+(m*24|0)|0;$=o+(m*24|0)|0;c[fa>>2]=c[$>>2];c[fa+4>>2]=c[$+4>>2];c[fa+8>>2]=c[$+8>>2];c[fa+12>>2]=c[$+12>>2];c[fa+16>>2]=c[$+16>>2];c[fa+20>>2]=c[$+20>>2];m=m+1|0}while((m|0)!=(k|0));fa=234}if((fa|0)==234){fa=0;if(a[la+84+16>>0]|0){c[6898]=(c[6898]|0)+1;md(c[o+-4>>2]|0);k=c[S>>2]|0}c[O>>2]=0}a[la+84+16>>0]=1;c[O>>2]=p;c[la+84+8>>2]=f}while(0);m=c[O>>2]|0;$=m+(k*24|0)|0;c[$>>2]=c[la+48>>2];c[$+4>>2]=c[la+48+4>>2];c[$+8>>2]=c[la+48+8>>2];c[$+12>>2]=c[la+48+12>>2];c[$+16>>2]=c[la+48+16>>2];c[m+(k*24|0)+20>>2]=w;k=(c[S>>2]|0)+1|0;c[S>>2]=k;m=c[C+(y*36|0)+4>>2]|0}x=x+1|0}while((x|0)<(m|0))}D=D+1|0}while((D|0)!=(z|0));a[la+48+16>>0]=1;c[T>>2]=0;c[la+48+4>>2]=0;c[la+48+8>>2]=0;$=c[i>>2]|0;_=c[da>>2]|0;c[la+48+20>>2]=c[_+($*36|0)+20>>2];c[la+48+24>>2]=c[_+($*36|0)+24>>2];c[la+48+28>>2]=c[_+($*36|0)+28>>2];c[la+48+32>>2]=c[_+($*36|0)+32>>2];P=1.0/+B(+(q*q+r*r+s*s));R=q*P;Q=r*P;P=s*P;if(+A(+P)>.7071067690849304){M=1.0/+B(+(P*P+Q*Q));F=R*-(P*M);G=(P*P+Q*Q)*M;J=0.0;K=Q*M;L=-(R*Q*M);M=-(P*M)}else{M=1.0/+B(+(R*R+Q*Q));F=(R*R+Q*Q)*M;G=-(P*R*M);J=-(Q*M);K=0.0;L=P*-(Q*M);M=R*M}p=c[S>>2]|0;do if((p|0)<2)if((p|0)==1){m=0;p=0;x=0;f=1;while(1){y=c[O>>2]|0;do if((m|0)==(p|0)){w=(p|0)==0?1:p<<1;if((p|0)>=(w|0)){w=p;k=x;o=p;break}do if(!w)k=0;else{c[6897]=(c[6897]|0)+1;k=ec((w*24|3)+16|0)|0;if(!k){k=0;p=m;break}c[(k+4+15&-16)+-4>>2]=k;k=k+4+15&-16;p=m}while(0);if((p|0)<=0){if(x|0)fa=255}else{o=0;do{fa=k+(o*24|0)|0;$=x+(o*24|0)|0;c[fa>>2]=c[$>>2];c[fa+4>>2]=c[$+4>>2];c[fa+8>>2]=c[$+8>>2];c[fa+12>>2]=c[$+12>>2];c[fa+16>>2]=c[$+16>>2];c[fa+20>>2]=c[$+20>>2];o=o+1|0}while((o|0)!=(p|0));fa=255}if((fa|0)==255){fa=0;c[6898]=(c[6898]|0)+1;md(c[x+-4>>2]|0)}o=m;f=c[S>>2]|0}else{w=p;k=x;o=m}while(0);$=k+(o*24|0)|0;c[$>>2]=c[y>>2];c[$+4>>2]=c[y+4>>2];c[$+8>>2]=c[y+8>>2];c[$+12>>2]=c[y+12>>2];c[$+16>>2]=c[y+16>>2];c[$+20>>2]=c[y+20>>2];m=m+1|0;if((m|0)<(f|0)){p=w;x=k}else{fa=305;break}}}else{k=0;fa=346}else{o=c[O>>2]|0;k=0;do{m=o+(k*24|0)|0;if(J*+g[m>>2]+M*+g[o+(k*24|0)+4>>2]+K*+g[o+(k*24|0)+8>>2]<J*+g[o>>2]+M*+g[o+4>>2]+K*+g[o+8>>2]){c[la>>2]=c[o>>2];c[la+4>>2]=c[o+4>>2];c[la+8>>2]=c[o+8>>2];c[la+12>>2]=c[o+12>>2];c[la+16>>2]=c[o+16>>2];c[la+20>>2]=c[o+20>>2];c[o>>2]=c[m>>2];c[o+4>>2]=c[m+4>>2];c[o+8>>2]=c[m+8>>2];c[o+12>>2]=c[m+12>>2];c[o+16>>2]=c[m+16>>2];c[o+20>>2]=c[m+20>>2];fa=o+(k*24|0)|0;c[fa>>2]=c[la>>2];c[fa+4>>2]=c[la+4>>2];c[fa+8>>2]=c[la+8>>2];c[fa+12>>2]=c[la+12>>2];c[fa+16>>2]=c[la+16>>2];c[fa+20>>2]=c[la+20>>2]}k=k+1|0}while((k|0)<(p|0));g[o+16>>2]=-1000000015047466219876688.0e6;if((p|0)>1){E=+g[o+4>>2];u=+g[o>>2];v=+g[o+8>>2];k=1;do{r=+g[o+(k*24|0)>>2]-u;s=+g[o+(k*24|0)+4>>2]-E;q=+g[o+(k*24|0)+8>>2]-v;t=G*r+L*s+F*q;q=J*r+M*s+K*q;if(t*t+q*q<1.1920928955078125e-07)q=0.0;else{r=+A(+t);if(!(q>=0.0)){s=2.356194496154785;q=(q+r)/(r-q)}else{s=.7853981852531433;q=(q-r)/(q+r)}q=s-q*.7853981852531433;q=t<0.0?-q:q}g[o+(k*24|0)+16>>2]=q;k=k+1|0}while((k|0)!=(p|0))}c[la>>2]=c[o>>2];c[la+4>>2]=c[o+4>>2];c[la+8>>2]=c[o+8>>2];c[la+12>>2]=c[o+12>>2];Oe(la+84|0,la,1,p+-1|0);m=c[O>>2]|0;c[6897]=(c[6897]|0)+1;k=ec(43)|0;if(!k)o=0;else{c[(k+4+15&-16)+-4>>2]=k;o=k+4+15&-16}p=c[O>>2]|0;c[o>>2]=c[m>>2];c[o+4>>2]=c[m+4>>2];c[o+8>>2]=c[m+8>>2];c[o+12>>2]=c[m+12>>2];c[o+16>>2]=c[m+16>>2];c[o+20>>2]=c[m+20>>2];c[6897]=(c[6897]|0)+1;k=ec(67)|0;if(!k)k=0;else{c[(k+4+15&-16)+-4>>2]=k;k=k+4+15&-16}c[k>>2]=c[o>>2];c[k+4>>2]=c[o+4>>2];c[k+8>>2]=c[o+8>>2];c[k+12>>2]=c[o+12>>2];c[k+16>>2]=c[o+16>>2];c[k+20>>2]=c[o+20>>2];if(o|0){c[6898]=(c[6898]|0)+1;md(c[o+-4>>2]|0)}fa=k+24|0;c[fa>>2]=c[p+24>>2];c[fa+4>>2]=c[p+24+4>>2];c[fa+8>>2]=c[p+24+8>>2];c[fa+12>>2]=c[p+24+12>>2];c[fa+16>>2]=c[p+24+16>>2];c[fa+20>>2]=c[p+24+20>>2];if((c[S>>2]|0)==2){m=2;fa=305;break}y=2;m=2;f=2;o=2;while(1){l:do if((o|0)>1){fa=c[O>>2]|0;x=fa+(y*24|0)|0;q=+g[x>>2];r=+g[fa+(y*24|0)+4>>2];s=+g[fa+(y*24|0)+8>>2];while(1){fa=o+-2|0;p=o+-1|0;K=+g[k+(fa*24|0)>>2];L=K-+g[k+(p*24|0)>>2];G=+g[k+(fa*24|0)+4>>2];F=G-+g[k+(p*24|0)+4>>2];M=+g[k+(fa*24|0)+8>>2];J=M-+g[k+(p*24|0)+8>>2];if((L*(G-r)-F*(K-q))*P+(R*(F*(M-s)-J*(G-r))+Q*(J*(K-q)-L*(M-s)))>0.0)break;if((o|0)>2){m=p;o=p}else{w=x;m=p;o=f;fa=289;break l}}do if((o|0)==(f|0)){w=f<<1;if((f|0)>=(w|0)){w=f;o=f;break}c[6897]=(c[6897]|0)+1;o=ec((f*48|3)+16|0)|0;if(!o)p=0;else{c[(o+4+15&-16)+-4>>2]=o;p=o+4+15&-16}if((m|0)>0){o=0;do{fa=p+(o*24|0)|0;$=k+(o*24|0)|0;c[fa>>2]=c[$>>2];c[fa+4>>2]=c[$+4>>2];c[fa+8>>2]=c[$+8>>2];c[fa+12>>2]=c[$+12>>2];c[fa+16>>2]=c[$+16>>2];c[fa+20>>2]=c[$+20>>2];o=o+1|0}while((o|0)!=(m|0))}c[6898]=(c[6898]|0)+1;md(c[k+-4>>2]|0);k=p;o=m}else w=f;while(0);o=k+(o*24|0)|0;c[o>>2]=c[x>>2];c[o+4>>2]=c[x+4>>2];c[o+8>>2]=c[x+8>>2];c[o+12>>2]=c[x+12>>2];c[o+16>>2]=c[x+16>>2];c[o+20>>2]=c[x+20>>2];o=m+1|0;m=o;f=w;fa=287}else fa=287;while(0);do if((fa|0)==287){fa=0;if((o|0)!=1)break;w=(c[O>>2]|0)+(y*24|0)|0;o=f;fa=289}while(0);if((fa|0)==289){do if((o|0)==1){c[6897]=(c[6897]|0)+1;o=ec(67)|0;if(!o)p=0;else{c[(o+4+15&-16)+-4>>2]=o;p=o+4+15&-16}if((m|0)<=0){if(!k){f=2;k=p;o=m;break}}else{o=0;do{fa=p+(o*24|0)|0;$=k+(o*24|0)|0;c[fa>>2]=c[$>>2];c[fa+4>>2]=c[$+4>>2];c[fa+8>>2]=c[$+8>>2];c[fa+12>>2]=c[$+12>>2];c[fa+16>>2]=c[$+16>>2];c[fa+20>>2]=c[$+20>>2];o=o+1|0}while((o|0)!=(m|0))}c[6898]=(c[6898]|0)+1;md(c[k+-4>>2]|0);f=2;k=p;o=m}else{f=o;o=1}while(0);o=k+(o*24|0)|0;c[o>>2]=c[w>>2];c[o+4>>2]=c[w+4>>2];c[o+8>>2]=c[w+8>>2];c[o+12>>2]=c[w+12>>2];c[o+16>>2]=c[w+16>>2];c[o+20>>2]=c[w+20>>2];o=m+1|0;m=o}p=y+1|0;if((p|0)==(c[S>>2]|0))break;else y=p}if((m|0)>0)fa=305;else fa=307}while(0);if((fa|0)==305){fa=0;I=0;p=c[la+48+4>>2]|0;o=c[la+48+8>>2]|0;x=a[la+48+16>>0]|0;while(1){H=k+(I*24|0)+20|0;do if((p|0)==(o|0)){y=(o|0)==0?1:o<<1;if((o|0)>=(y|0)){D=x;p=o;break}do if(!y)w=0;else{c[6897]=(c[6897]|0)+1;p=ec((y<<2|3)+16|0)|0;if(!p){w=0;break}c[(p+4+15&-16)+-4>>2]=p;w=p+4+15&-16}while(0);f=c[T>>2]|0;if((o|0)<=0){if(f)fa=336}else{p=0;do{c[w+(p<<2)>>2]=c[f+(p<<2)>>2];p=p+1|0}while((p|0)!=(o|0));fa=336}if((fa|0)==336){fa=0;if(x<<24>>24){c[6898]=(c[6898]|0)+1;md(c[f+-4>>2]|0)}c[T>>2]=0;o=c[la+48+4>>2]|0}c[T>>2]=w;c[la+48+8>>2]=y;D=1;p=o;o=y}else D=x;while(0);c[(c[T>>2]|0)+(p<<2)>>2]=c[H>>2];p=p+1|0;c[la+48+4>>2]=p;C=c[S>>2]|0;m:do if((C|0)>0){y=c[O>>2]|0;w=c[H>>2]|0;f=0;while(1){x=y+(f*24|0)+20|0;f=f+1|0;if((c[x>>2]|0)==(w|0))break;if((f|0)>=(C|0))break m}c[x>>2]=-1}while(0);I=I+1|0;if((I|0)>=(m|0))break;else x=D}a[la+48+16>>0]=D;if((C|0)>0){p=C;fa=307}else fa=346}n:do if((fa|0)==307){fa=0;y=c[O>>2]|0;C=c[ba>>2]|0;D=c[da>>2]|0;H=(z|0)>0;if((C|0)>0){x=0;while(1){I=c[y+(x*24|0)+20>>2]|0;o:do if((I|0)!=-1){if(!H){o=0;while(1){f=c[D+(o*36|0)+4>>2]|0;if((f|0)>0){w=c[D+(o*36|0)+12>>2]|0;m=0;do{if((c[w+(m<<2)>>2]|0)==(I|0)){m=1;break n}m=m+1|0}while((m|0)<(f|0))}o=o+1|0;if((o|0)>=(C|0))break o}}w=0;do{m=0;while(1){if((c[i+(m<<2)>>2]|0)==(w|0))break;m=m+1|0;if((m|0)>=(z|0)){fa=321;break}}do if((fa|0)==321){fa=0;o=c[D+(w*36|0)+4>>2]|0;if((o|0)<=0)break;f=c[D+(w*36|0)+12>>2]|0;m=0;do{if((c[f+(m<<2)>>2]|0)==(I|0)){m=1;break n}m=m+1|0}while((m|0)<(o|0))}while(0);w=w+1|0}while((w|0)<(C|0))}while(0);x=x+1|0;if((x|0)>=(p|0)){fa=346;break}}}else fa=346}while(0);if((fa|0)==346){fa=0;Bg((c[d+56>>2]|0)+24|0,la+48|0);m=0}if(k|0){c[6898]=(c[6898]|0)+1;md(c[k+-4>>2]|0)}k=c[T>>2]|0;if(k|0){if(a[la+48+16>>0]|0){c[6898]=(c[6898]|0)+1;md(c[k+-4>>2]|0)}c[T>>2]=0}k=c[O>>2]|0;if(k|0){if(a[la+84+16>>0]|0){c[6898]=(c[6898]|0)+1;md(c[k+-4>>2]|0)}c[O>>2]=0}if(m&(z|0)>0){k=N;fa=359}else k=N}else{k=o;i=o;z=1;h=p;fa=359}while(0);if((fa|0)==359){fa=0;w=0;do{x=c[i+(w<<2)>>2]|0;y=c[da>>2]|0;a[la+16>>0]=1;c[la+12>>2]=0;c[la+4>>2]=0;c[la+8>>2]=0;f=c[y+(x*36|0)+4>>2]|0;if((f|0)>0){c[6897]=(c[6897]|0)+1;o=ec((f<<2|3)+16|0)|0;do if(!o){m=0;p=0}else{c[(o+4+15&-16)+-4>>2]=o;m=c[la+12>>2]|0;if((m|0)==0|(a[la+16>>0]|0)==0){m=o+4+15&-16;p=o+4+15&-16;break}c[6898]=(c[6898]|0)+1;md(c[m+-4>>2]|0);m=o+4+15&-16;p=o+4+15&-16}while(0);a[la+16>>0]=1;c[la+12>>2]=m;c[la+8>>2]=f;Xj(m|0,0,f<<2|0)|0;c[la+4>>2]=f;o=c[y+(x*36|0)+12>>2]|0;m=0;do{c[p+(m<<2)>>2]=c[o+(m<<2)>>2];m=m+1|0}while((m|0)!=(f|0));m=c[la+12>>2]|0}else{c[la+4>>2]=f;m=0}c[la+20>>2]=c[y+(x*36|0)+20>>2];c[la+20+4>>2]=c[y+(x*36|0)+20+4>>2];c[la+20+8>>2]=c[y+(x*36|0)+20+8>>2];c[la+20+12>>2]=c[y+(x*36|0)+20+12>>2];Bg((c[d+56>>2]|0)+24|0,la);if(m|0){if(a[la+16>>0]|0){c[6898]=(c[6898]|0)+1;md(c[m+-4>>2]|0)}c[la+12>>2]=0}w=w+1|0}while((w|0)<(z|0))}if(!((i|0)==0|(k|0)==0)){c[6898]=(c[6898]|0)+1;md(c[k+-4>>2]|0)}if(!h){$=n;break i}}}else{aa=0;$=0}while(0);_=c[d+56>>2]|0;c[_+64>>2]=0;c[_+64+4>>2]=0;c[_+64+8>>2]=0;c[_+64+12>>2]=0;h=c[_+28>>2]|0;if((h|0)>0){Z=0;w=0;i=0;k=0;I=0;D=0;p=0;m=0;H=0;f=0;n=0;z=0;y=0;x=0;o=0;while(1){C=c[_+36>>2]|0;Y=c[C+(Z*36|0)+4>>2]|0;if((Y|0)>0){X=Z&65535;W=Z|-65536;O=0;U=I;S=f;h=C;N=o;while(1){V=O+1|0;T=c[h+(Z*36|0)+12>>2]|0;f=c[T+(O<<2)>>2]&65535;O=c[T+(((V|0)==(Y|0)?0:V)<<2)>>2]&65535;T=O<<16>>16>f<<16>>16?f:O;d=O<<16>>16>f<<16>>16?O:f;o=O<<16>>16>f<<16>>16?f:O;f=O<<16>>16>f<<16>>16?O:f;O=S+-1|0;p:do if((((o&65535)<<16)+(f<<16>>16)&O)>>>0<U>>>0?(ga=c[k+((((o&65535)<<16)+(f<<16>>16)&O)<<2)>>2]|0,(ga|0)!=-1):0){h=ga;while(1){if(f<<16>>16==(b[i+(h<<2)>>1]|0)?o<<16>>16==(b[i+(h<<2)+2>>1]|0):0)break;h=c[m+(h<<2)>>2]|0;if((h|0)==-1){I=0;break p}}I=n+(h<<2)|0}else I=0;while(0);h=c[_+16>>2]|0;v=+g[h+(o<<16>>16<<4)>>2]-+g[h+(f<<16>>16<<4)>>2];E=+g[h+(o<<16>>16<<4)+4>>2]-+g[h+(f<<16>>16<<4)+4>>2];t=+g[h+(o<<16>>16<<4)+8>>2]-+g[h+(f<<16>>16<<4)+8>>2];u=1.0/+B(+(v*v+E*E+t*t));h=c[_+48>>2]|0;q:do if((h|0)>0){f=c[_+56>>2]|0;o=0;while(1){q=+g[f+(o<<4)>>2];r=+g[f+(o<<4)+4>>2];s=+g[f+(o<<4)+8>>2];do if(!(+A(+(q-v*u))>1.0e-06)){if(+A(+(r-E*u))>1.0e-06)break;if(!(+A(+(s-t*u))>1.0e-06))break q}while(0);do if(!(+A(+(v*u+q))>1.0e-06)){if(+A(+(E*u+r))>1.0e-06)break;if(!(+A(+(t*u+s))>1.0e-06))break q}while(0);o=o+1|0;if((o|0)>=(h|0)){fa=402;break}}}else fa=402;while(0);if((fa|0)==402){fa=0;do if((h|0)==(c[_+52>>2]|0)){C=(h|0)==0?1:h<<1;if((h|0)>=(C|0))break;if(!C)f=0;else{c[6897]=(c[6897]|0)+1;h=ec((C<<4|3)+16|0)|0;if(!h)h=0;else{c[(h+4+15&-16)+-4>>2]=h;h=h+4+15&-16}f=h;h=c[_+48>>2]|0}if((h|0)>0){o=0;do{ma=f+(o<<4)|0;na=(c[_+56>>2]|0)+(o<<4)|0;c[ma>>2]=c[na>>2];c[ma+4>>2]=c[na+4>>2];c[ma+8>>2]=c[na+8>>2];c[ma+12>>2]=c[na+12>>2];o=o+1|0}while((o|0)!=(h|0))}h=c[_+56>>2]|0;if(h|0){if(a[_+60>>0]|0){c[6898]=(c[6898]|0)+1;md(c[h+-4>>2]|0)}c[_+56>>2]=0}a[_+60>>0]=1;c[_+56>>2]=f;c[_+52>>2]=C;h=c[_+48>>2]|0}while(0);na=c[_+56>>2]|0;g[na+(h<<4)>>2]=v*u;g[na+(h<<4)+4>>2]=E*u;g[na+(h<<4)+8>>2]=t*u;g[na+(h<<4)+12>>2]=0.0;c[_+48>>2]=(c[_+48>>2]|0)+1}r:do if(!I){I=((T&65535)<<16)+(d<<16>>16)&O;s:do if(I>>>0<U>>>0){h=c[k+(I<<2)>>2]|0;if((h|0)==-1)break;while(1){if(d<<16>>16==(b[i+(h<<2)>>1]|0)?T<<16>>16==(b[i+(h<<2)+2>>1]|0):0)break;h=c[m+(h<<2)>>2]|0;if((h|0)==-1)break s}C=n+(h<<2)|0;b[C>>1]=W;b[C+2>>1]=W>>>16;C=U;f=S;h=z;o=N;break r}while(0);do if((H|0)==(S|0)){f=(H|0)==0?1:H<<1;if((H|0)>=(f|0)){f=H;break}do if(!f)o=0;else{c[6897]=(c[6897]|0)+1;h=ec((f<<2|3)+16|0)|0;if(!h){o=0;break}c[(h+4+15&-16)+-4>>2]=h;o=h+4+15&-16}while(0);if((H|0)<=0){if(!n){n=o;break}}else{h=0;do{na=o+(h<<2)|0;ma=n+(h<<2)|0;ma=e[ma>>1]|e[ma+2>>1]<<16;b[na>>1]=ma;b[na+2>>1]=ma>>>16;h=h+1|0}while((h|0)!=(H|0))}c[6898]=(c[6898]|0)+1;md(c[n+-4>>2]|0);n=o}else f=S;while(0);O=n+(H<<2)|0;b[O>>1]=W;b[O+2>>1]=W>>>16;O=H+1|0;do if((y|0)==(w|0)){w=(y|0)==0?1:y<<1;if((y|0)>=(w|0)){w=y;break}do if(!w)o=0;else{c[6897]=(c[6897]|0)+1;h=ec((w<<2|3)+16|0)|0;if(!h){o=0;break}c[(h+4+15&-16)+-4>>2]=h;o=h+4+15&-16}while(0);if((y|0)<=0){if(!i){i=o;break}}else{h=0;do{na=o+(h<<2)|0;ma=i+(h<<2)|0;ma=e[ma>>1]|e[ma+2>>1]<<16;b[na>>1]=ma;b[na+2>>1]=ma>>>16;h=h+1|0}while((h|0)!=(y|0))}c[6898]=(c[6898]|0)+1;md(c[i+-4>>2]|0);i=o}while(0);na=i+(y<<2)|0;b[na>>1]=(T&65535)<<16|d&65535;b[na+2>>1]=((T&65535)<<16|d&65535)>>>16;y=y+1|0;if((S|0)<(f|0)){do if((U|0)<(f|0)){do if((z|0)<(f|0)){do if(!f)o=0;else{c[6897]=(c[6897]|0)+1;h=ec((f<<2|3)+16|0)|0;if(!h){o=0;break}c[(h+4+15&-16)+-4>>2]=h;o=h+4+15&-16}while(0);if((U|0)<=0){if(!k){k=o;I=f;N=o;break}}else{h=0;do{c[o+(h<<2)>>2]=c[k+(h<<2)>>2];h=h+1|0}while((h|0)!=(U|0))}c[6898]=(c[6898]|0)+1;md(c[k+-4>>2]|0);k=o;I=f;N=o}else I=z;while(0);z=f<<2;Xj(k+(U<<2)|0,0,z-(U<<2)|0)|0;if((D|0)<(f|0)){do if((p|0)<(f|0)){do if(!f)o=0;else{c[6897]=(c[6897]|0)+1;h=ec((z|3)+16|0)|0;if(!h){o=0;break}c[(h+4+15&-16)+-4>>2]=h;o=h+4+15&-16}while(0);if((D|0)<=0){if(!m){p=f;m=o;h=o;break}}else{h=0;do{c[o+(h<<2)>>2]=c[m+(h<<2)>>2];h=h+1|0}while((h|0)!=(D|0))}c[6898]=(c[6898]|0)+1;md(c[m+-4>>2]|0);p=f;m=o;h=o}else h=x;while(0);Xj(m+(D<<2)|0,0,z-(D<<2)|0)|0;x=h}if((f|0)>0){Xj(N|0,-1,z|0)|0;Xj(x|0,-1,z|0)|0}if((U|0)<=0){C=f;D=f;h=I;o=N;break}o=f+-1|0;h=0;do{na=k+(((e[i+(h<<2)+2>>1]<<16)+(b[i+(h<<2)>>1]|0)&o)<<2)|0;c[m+(h<<2)>>2]=c[na>>2];c[na>>2]=h;h=h+1|0}while((h|0)!=(U|0));C=f;D=f;h=I;o=N}else{C=U;h=z;o=N}while(0);I=((T&65535)<<16)+(d<<16>>16)&f+-1}else{C=U;h=z;o=N}na=k+(I<<2)|0;c[m+(H<<2)>>2]=c[na>>2];c[na>>2]=H;H=O}else{b[I+2>>1]=X;C=U;f=S;h=z;o=N}while(0);if((V|0)>=(Y|0))break;O=V;U=C;S=f;z=h;h=c[_+36>>2]|0;N=o}z=h;h=c[_+28>>2]|0}else C=I;Z=Z+1|0;if((Z|0)>=(h|0))break;else I=C}if((h|0)>0){y=c[_+36>>2]|0;z=c[_+16>>2]|0;x=0;q=0.0;do{p=c[y+(x*36|0)+4>>2]|0;f=c[y+(x*36|0)+12>>2]|0;w=c[f>>2]|0;if((p|0)>=3){o=1;r=+g[_+64>>2];s=+g[_+68>>2];t=+g[_+72>>2];do{ma=c[f+(o<<2)>>2]|0;o=o+1|0;na=c[f+(((o|0)%(p|0)|0)<<2)>>2]|0;E=+g[z+(w<<4)>>2];F=+g[z+(ma<<4)>>2];J=+g[z+(w<<4)+4>>2];K=+g[z+(ma<<4)+4>>2];M=+g[z+(w<<4)+8>>2];P=+g[z+(ma<<4)+8>>2];G=+g[z+(na<<4)>>2];L=+g[z+(na<<4)+4>>2];Q=+g[z+(na<<4)+8>>2];R=+B(+(((E-F)*(J-L)-(J-K)*(E-G))*((E-F)*(J-L)-(J-K)*(E-G))+(((J-K)*(M-Q)-(M-P)*(J-L))*((J-K)*(M-Q)-(M-P)*(J-L))+((M-P)*(E-G)-(E-F)*(M-Q))*((M-P)*(E-G)-(E-F)*(M-Q)))))*.5;r=r+(E+F+G)*.3333333432674408*R;g[_+64>>2]=r;s=s+(J+K+L)*.3333333432674408*R;g[_+68>>2]=s;t=t+(M+P+Q)*.3333333432674408*R;g[_+72>>2]=t;q=q+R}while((o|0)!=(p+-1|0))}x=x+1|0}while((x|0)!=(h|0));o=_+64|0;f=i;p=k;i=1}else fa=380}else{i=0;k=0;m=0;n=0;fa=380}if((fa|0)==380){q=0.0;o=_+64|0;f=i;p=k;i=0}t=1.0/q;u=t*+g[o>>2];g[o>>2]=u;s=t*+g[_+68>>2];g[_+68>>2]=s;t=t*+g[_+72>>2];g[_+72>>2]=t;g[_+96>>2]=3402823466385288598117041.0e14;if(i){k=c[_+36>>2]|0;i=0;r=3402823466385288598117041.0e14;while(1){q=+A(+(+g[k+(i*36|0)+32>>2]+(u*+g[k+(i*36|0)+20>>2]+s*+g[k+(i*36|0)+24>>2]+t*+g[k+(i*36|0)+28>>2])));if(q<r)g[_+96>>2]=q;else q=r;i=i+1|0;if((i|0)==(h|0)){E=q;break}else r=q}}else E=3402823466385288598117041.0e14;i=c[_+8>>2]|0;if((i|0)>0){k=c[_+16>>2]|0;h=0;u=-3402823466385288598117041.0e14;v=-3402823466385288598117041.0e14;t=-3402823466385288598117041.0e14;s=3402823466385288598117041.0e14;r=3402823466385288598117041.0e14;q=3402823466385288598117041.0e14;do{R=+g[k+(h<<4)>>2];q=R<q?R:q;t=R>t?R:t;R=+g[k+(h<<4)+4>>2];r=R<r?R:r;v=R>v?R:v;R=+g[k+(h<<4)+8>>2];s=R<s?R:s;u=R>u?R:u;h=h+1|0}while((h|0)!=(i|0))}else{u=-3402823466385288598117041.0e14;v=-3402823466385288598117041.0e14;t=-3402823466385288598117041.0e14;s=3402823466385288598117041.0e14;r=3402823466385288598117041.0e14;q=3402823466385288598117041.0e14}g[_+100>>2]=q+t;g[_+104>>2]=r+v;g[_+108>>2]=s+u;g[_+112>>2]=0.0;R=t-q;r=v-r;q=u-s;g[_+116>>2]=R;g[_+120>>2]=r;g[_+124>>2]=q;g[_+128>>2]=0.0;s=E/1.7320507764816284;o=R<r?(r<q?2:1):R<q?2:0;q=(+g[_+116+(o<<2)>>2]*.5-s)*.0009765625;g[_+88>>2]=s;g[_+84>>2]=s;g[_+80>>2]=s;r=+g[_+116+(o<<2)>>2]*.5;g[_+80+(o<<2)>>2]=r;h=0;while(1){if(tg(_)|0){fa=493;break}r=r-q;g[_+80+(o<<2)>>2]=r;h=h+1|0;if(h>>>0>=1024){fa=492;break}}t:do if((fa|0)==492){g[_+88>>2]=s;g[_+84>>2]=s;g[_+80>>2]=s}else if((fa|0)==493){q=(+g[_+96>>2]-s)*.0009765625;h=0;k=c[_+80+((1<<(1<<o&3)&3)<<2)>>2]|0;while(1){i=c[_+80+((1<<o&3)<<2)>>2]|0;g[_+80+((1<<o&3)<<2)>>2]=q+(c[j>>2]=i,+g[j>>2]);r=q+ +g[_+80+((1<<(1<<o&3)&3)<<2)>>2];g[_+80+((1<<(1<<o&3)&3)<<2)>>2]=r;h=h+1|0;if(!(tg(_)|0))break;if(h>>>0>=1024)break t;else k=(g[j>>2]=r,c[j>>2]|0)}c[_+80+((1<<o&3)<<2)>>2]=i;c[_+80+((1<<(1<<o&3)&3)<<2)>>2]=k}while(0);if(f|0){c[6898]=(c[6898]|0)+1;md(c[f+-4>>2]|0)}if(n|0){c[6898]=(c[6898]|0)+1;md(c[n+-4>>2]|0)}if(m|0){c[6898]=(c[6898]|0)+1;md(c[m+-4>>2]|0)}if(p|0){c[6898]=(c[6898]|0)+1;md(c[p+-4>>2]|0)}if(!(($|0)==0|(aa|0)==0)){c[6898]=(c[6898]|0)+1;md(c[aa+-4>>2]|0)}o=c[ba>>2]|0;p=c[da>>2]|0;if((o|0)<=0){if(p|0)fa=515}else{h=0;do{k=p+(h*36|0)+4|0;m=p+(h*36|0)+12|0;n=c[m>>2]|0;i=p+(h*36|0)+16|0;if(n|0){if(a[i>>0]|0){c[6898]=(c[6898]|0)+1;md(c[n+-4>>2]|0)}c[m>>2]=0}a[i>>0]=1;c[m>>2]=0;c[k>>2]=0;c[p+(h*36|0)+8>>2]=0;h=h+1|0}while((h|0)!=(o|0));fa=515}if((fa|0)==515){if(a[la+104+16>>0]|0){c[6898]=(c[6898]|0)+1;md(c[p+-4>>2]|0)}c[da>>2]=0}if(!((ea|0)==0|(ca|0)==0)){c[6898]=(c[6898]|0)+1;md(c[ca+-4>>2]|0)}h=c[ha>>2]|0;if(h|0){if(a[la+124+56>>0]|0){c[6898]=(c[6898]|0)+1;md(c[h+-4>>2]|0)}c[ha>>2]=0}a[la+124+56>>0]=1;c[ha>>2]=0;c[la+124+44>>2]=0;c[la+124+48>>2]=0;h=c[ia>>2]|0;if(h|0){if(a[la+124+36>>0]|0){c[6898]=(c[6898]|0)+1;md(c[h+-4>>2]|0)}c[ia>>2]=0}a[la+124+36>>0]=1;c[ia>>2]=0;c[la+124+24>>2]=0;c[la+124+28>>2]=0;h=c[ja>>2]|0;if(h|0){if(a[la+124+16>>0]|0){c[6898]=(c[6898]|0)+1;md(c[h+-4>>2]|0)}c[ja>>2]=0}if(!ka){l=la;return 1}c[6898]=(c[6898]|0)+1;md(c[ka+-4>>2]|0);l=la;return 1}function Zb(b,d,e,f,h){b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;var i=0.0,j=0,k=0,m=0,n=0.0,o=0.0,p=0.0,q=0.0,r=0,s=0,t=0,u=0,v=0.0,w=0.0,x=0,y=0.0,z=0.0,C=0.0,F=0.0,G=0.0,H=0.0,I=0.0,J=0.0,K=0.0,L=0,M=0,N=0,O=0.0,P=0.0,Q=0.0,R=0,S=0.0,T=0.0,U=0.0,V=0.0,W=0,X=0.0,Y=0.0,Z=0.0,_=0.0,$=0.0,aa=0.0,ba=0.0,ca=0.0,da=0.0,ea=0.0,fa=0.0,ga=0.0,ha=0.0,ia=0,ja=0,ka=0,la=0.0,ma=0.0,na=0.0,oa=0.0,pa=0,qa=0,ra=0,sa=0;sa=l;l=l+1072|0;j=c[b+56>>2]|0;if(!j){j=c[b+4>>2]|0;j=wb[c[(c[j>>2]|0)+12>>2]&63](j,c[d+8>>2]|0,c[e+8>>2]|0)|0;c[b+56>>2]=j;a[b+52>>0]=1}c[h+4>>2]=j;qa=c[d+4>>2]|0;pa=c[e+4>>2]|0;a:do switch(c[qa+4>>2]|0){case 10:switch(c[pa+4>>2]|0){case 10:{oa=+g[j+784>>2];ra=c[qa+56>>2]|0;b=c[pa+56>>2]|0;i=+Af(sa+640|0,sa+624|0,+g[qa+32+(ra<<2)>>2],+g[qa+32+(((ra+2|0)%3|0)<<2)>>2],+g[pa+32+(b<<2)>>2],+g[pa+32+(((b+2|0)%3|0)<<2)>>2],ra,b,c[d+12>>2]|0,c[e+12>>2]|0,oa);if(i<oa)Nb[c[(c[h>>2]|0)+16>>2]&15](h,sa+640|0,sa+624|0,i);j=c[h+4>>2]|0;if(!(c[j+780>>2]|0)){l=sa;return}k=c[j+772>>2]|0;m=c[(c[h+8>>2]|0)+8>>2]|0;if((k|0)==(m|0)){De(j,k+4|0,(c[(c[h+12>>2]|0)+8>>2]|0)+4|0);l=sa;return}else{De(j,(c[(c[h+12>>2]|0)+8>>2]|0)+4|0,m+4|0);l=sa;return}}case 8:{oa=+g[j+784>>2];b=c[qa+56>>2]|0;i=+Af(sa+640|0,sa+624|0,+g[qa+32+(b<<2)>>2],+g[qa+32+(((b+2|0)%3|0)<<2)>>2],0.0,+g[pa+32>>2]*+g[pa+16>>2],b,1,c[d+12>>2]|0,c[e+12>>2]|0,oa);if(i<oa)Nb[c[(c[h>>2]|0)+16>>2]&15](h,sa+640|0,sa+624|0,i);j=c[h+4>>2]|0;if(!(c[j+780>>2]|0)){l=sa;return}k=c[j+772>>2]|0;m=c[(c[h+8>>2]|0)+8>>2]|0;if((k|0)==(m|0)){De(j,k+4|0,(c[(c[h+12>>2]|0)+8>>2]|0)+4|0);l=sa;return}else{De(j,(c[(c[h+12>>2]|0)+8>>2]|0)+4|0,m+4|0);l=sa;return}}default:{m=pa+4|0;break a}}case 8:{if((c[pa+4>>2]|0)==10){oa=+g[j+784>>2];b=c[pa+56>>2]|0;i=+Af(sa+640|0,sa+624|0,0.0,+g[qa+32>>2]*+g[qa+16>>2],+g[pa+32+(b<<2)>>2],+g[pa+32+(((b+2|0)%3|0)<<2)>>2],1,b,c[d+12>>2]|0,c[e+12>>2]|0,oa);if(i<oa)Nb[c[(c[h>>2]|0)+16>>2]&15](h,sa+640|0,sa+624|0,i);j=c[h+4>>2]|0;if(!(c[j+780>>2]|0)){l=sa;return}k=c[j+772>>2]|0;m=c[(c[h+8>>2]|0)+8>>2]|0;if((k|0)==(m|0)){De(j,k+4|0,(c[(c[h+12>>2]|0)+8>>2]|0)+4|0);l=sa;return}else{De(j,(c[(c[h+12>>2]|0)+8>>2]|0)+4|0,m+4|0);l=sa;return}}else m=pa+4|0;break}default:m=pa+4|0}while(0);g[sa+488+128>>2]=999999984306749440.0;g[sa+128+308>>2]=9.999999747378752e-05;a[sa+128+332>>0]=0;j=c[b+8>>2]|0;c[sa+48>>2]=11356;c[sa+48+4>>2]=0;c[sa+48+8>>2]=1065353216;c[sa+48+12>>2]=0;g[sa+48+16>>2]=0.0;c[sa+48+20>>2]=j;c[sa+48+24>>2]=sa+128;c[sa+48+28>>2]=qa;c[sa+48+32>>2]=pa;c[sa+48+36>>2]=c[qa+4>>2];c[sa+48+40>>2]=c[m>>2];g[sa+48+44>>2]=+ib[c[(c[qa>>2]|0)+48>>2]&15](qa);g[sa+48+48>>2]=+ib[c[(c[pa>>2]|0)+48>>2]&15](pa);a[sa+48+52>>0]=0;c[sa+48+60>>2]=-1;c[sa+48+72>>2]=1;c[sa+48+76>>2]=1;c[sa+48+28>>2]=qa;c[sa+48+32>>2]=pa;na=+ib[c[(c[qa>>2]|0)+48>>2]&15](qa);oa=+ib[c[(c[pa>>2]|0)+48>>2]&15](pa);oa=na+oa+ +g[(c[b+56>>2]|0)+784>>2]+ +g[h+32>>2];g[sa+488+128>>2]=oa*oa;j=c[d+12>>2]|0;c[sa+488>>2]=c[j>>2];c[sa+488+4>>2]=c[j+4>>2];c[sa+488+8>>2]=c[j+8>>2];c[sa+488+12>>2]=c[j+12>>2];r=sa+488+16|0;c[r>>2]=c[j+16>>2];c[r+4>>2]=c[j+16+4>>2];c[r+8>>2]=c[j+16+8>>2];c[r+12>>2]=c[j+16+12>>2];s=sa+488+32|0;c[s>>2]=c[j+32>>2];c[s+4>>2]=c[j+32+4>>2];c[s+8>>2]=c[j+32+8>>2];c[s+12>>2]=c[j+32+12>>2];t=sa+488+48|0;c[t>>2]=c[j+48>>2];c[t+4>>2]=c[j+48+4>>2];c[t+8>>2]=c[j+48+8>>2];c[t+12>>2]=c[j+48+12>>2];j=c[e+12>>2]|0;u=sa+488+64|0;c[u>>2]=c[j>>2];c[u+4>>2]=c[j+4>>2];c[u+8>>2]=c[j+8>>2];c[u+12>>2]=c[j+12>>2];x=sa+488+80|0;c[x>>2]=c[j+16>>2];c[x+4>>2]=c[j+16+4>>2];c[x+8>>2]=c[j+16+8>>2];c[x+12>>2]=c[j+16+12>>2];L=sa+488+96|0;c[L>>2]=c[j+32>>2];c[L+4>>2]=c[j+32+4>>2];c[L+8>>2]=c[j+32+8>>2];c[L+12>>2]=c[j+32+12>>2];M=sa+488+112|0;c[M>>2]=c[j+48>>2];c[M+4>>2]=c[j+48+4>>2];c[M+8>>2]=c[j+48+8>>2];c[M+12>>2]=c[j+48+12>>2];j=c[qa+4>>2]|0;if((j|0)<7?(k=c[m>>2]|0,(k|0)<7):0){c[sa+40>>2]=11932;if(!j){j=k;n=0.0}else{n=+ib[c[(c[qa>>2]|0)+48>>2]&15](qa);j=c[m>>2]|0}if(!j)i=0.0;else i=+ib[c[(c[pa>>2]|0)+48>>2]&15](pa);c[sa>>2]=11960;c[sa+4>>2]=h;g[sa+24>>2]=n;g[sa+28>>2]=i;a[sa+36>>0]=0;ia=c[qa+56>>2]|0;b:do if(ia|0){ja=c[pa+56>>2]|0;do if(!ja){if((c[m>>2]|0)!=1)break b;t=sa+1e3+16|0;a[t>>0]=1;u=sa+1e3+12|0;c[u>>2]=0;s=sa+1e3+4|0;c[s>>2]=0;r=sa+1e3+8|0;c[r>>2]=0;j=c[e+12>>2]|0;na=+g[pa+60>>2];oa=+g[pa+60+4>>2];o=+g[pa+60+8>>2];i=na*+g[j>>2]+oa*+g[j+4>>2]+o*+g[j+8>>2]+ +g[j+48>>2];n=na*+g[j+16>>2]+oa*+g[j+20>>2]+o*+g[j+24>>2]+ +g[j+52>>2];o=na*+g[j+32>>2]+oa*+g[j+36>>2]+o*+g[j+40>>2]+ +g[j+56>>2];c[6897]=(c[6897]|0)+1;j=ec(35)|0;if(!j)k=0;else{c[(j+4+15&-16)+-4>>2]=j;k=j+4+15&-16}j=c[u>>2]|0;if(!j)j=0;else{c[6898]=(c[6898]|0)+1;md(c[j+-4>>2]|0);j=c[s>>2]|0;c[u>>2]=0}a[t>>0]=1;c[u>>2]=k;c[r>>2]=1;g[k+(j<<4)>>2]=i;g[k+(j<<4)+4>>2]=n;g[k+(j<<4)+8>>2]=o;g[k+(j<<4)+12>>2]=0.0;j=(c[s>>2]|0)+1|0;c[s>>2]=j;ra=c[e+12>>2]|0;na=+g[pa+60+16>>2];oa=+g[pa+60+20>>2];o=+g[pa+60+24>>2];i=na*+g[ra>>2]+oa*+g[ra+4>>2]+o*+g[ra+8>>2]+ +g[ra+48>>2];n=na*+g[ra+16>>2]+oa*+g[ra+20>>2]+o*+g[ra+24>>2]+ +g[ra+52>>2];o=na*+g[ra+32>>2]+oa*+g[ra+36>>2]+o*+g[ra+40>>2]+ +g[ra+56>>2];if((j|0)==(c[r>>2]|0)?(N=(j|0)==0?1:j<<1,(j|0)<(N|0)):0){if(!N)m=0;else{c[6897]=(c[6897]|0)+1;j=ec((N<<4|3)+16|0)|0;if(!j)j=0;else{c[(j+4+15&-16)+-4>>2]=j;j=j+4+15&-16}m=j;j=c[s>>2]|0}if((j|0)>0){k=0;do{ra=m+(k<<4)|0;ka=(c[u>>2]|0)+(k<<4)|0;c[ra>>2]=c[ka>>2];c[ra+4>>2]=c[ka+4>>2];c[ra+8>>2]=c[ka+8>>2];c[ra+12>>2]=c[ka+12>>2];k=k+1|0}while((k|0)!=(j|0))}j=c[u>>2]|0;if(j|0){if(a[t>>0]|0){c[6898]=(c[6898]|0)+1;md(c[j+-4>>2]|0)}c[u>>2]=0}a[t>>0]=1;c[u>>2]=m;c[r>>2]=N;j=c[s>>2]|0}ra=c[u>>2]|0;g[ra+(j<<4)>>2]=i;g[ra+(j<<4)+4>>2]=n;g[ra+(j<<4)+8>>2]=o;g[ra+(j<<4)+12>>2]=0.0;j=(c[s>>2]|0)+1|0;c[s>>2]=j;ra=c[e+12>>2]|0;na=+g[pa+60+32>>2];oa=+g[pa+60+36>>2];o=+g[pa+60+40>>2];i=na*+g[ra>>2]+oa*+g[ra+4>>2]+o*+g[ra+8>>2]+ +g[ra+48>>2];n=na*+g[ra+16>>2]+oa*+g[ra+20>>2]+o*+g[ra+24>>2]+ +g[ra+52>>2];o=na*+g[ra+32>>2]+oa*+g[ra+36>>2]+o*+g[ra+40>>2]+ +g[ra+56>>2];if((j|0)==(c[r>>2]|0)?(R=(j|0)==0?1:j<<1,(j|0)<(R|0)):0){if(!R)m=0;else{c[6897]=(c[6897]|0)+1;j=ec((R<<4|3)+16|0)|0;if(!j)j=0;else{c[(j+4+15&-16)+-4>>2]=j;j=j+4+15&-16}m=j;j=c[s>>2]|0}if((j|0)>0){k=0;do{ra=m+(k<<4)|0;e=(c[u>>2]|0)+(k<<4)|0;c[ra>>2]=c[e>>2];c[ra+4>>2]=c[e+4>>2];c[ra+8>>2]=c[e+8>>2];c[ra+12>>2]=c[e+12>>2];k=k+1|0}while((k|0)!=(j|0))}j=c[u>>2]|0;if(j|0){if(a[t>>0]|0){c[6898]=(c[6898]|0)+1;md(c[j+-4>>2]|0)}c[u>>2]=0}a[t>>0]=1;c[u>>2]=m;c[r>>2]=R;j=c[s>>2]|0}ra=c[u>>2]|0;g[ra+(j<<4)>>2]=i;g[ra+(j<<4)+4>>2]=n;g[ra+(j<<4)+8>>2]=o;g[ra+(j<<4)+12>>2]=0.0;c[s>>2]=(c[s>>2]|0)+1;p=+g[(c[b+56>>2]|0)+784>>2];sc(sa+48|0,sa+488|0,sa+40|0,c[f+20>>2]|0,0);i=+g[sa+48+4>>2];n=+g[sa+48+8>>2];o=+g[sa+48+12>>2];if(i*i+n*n+o*o>1.1920928955078125e-07){oa=1.0/(i*i+n*n+o*o);g[sa+760>>2]=i*oa;g[sa+760+4>>2]=n*oa;g[sa+760+8>>2]=o*oa;g[sa+760+12>>2]=0.0;oa=+g[sa+48+56>>2];i=+ib[c[(c[qa>>2]|0)+48>>2]&15](qa);i=oa-i-+ib[c[(c[pa>>2]|0)+48>>2]&15](pa);j=c[b+36>>2]|0;if((j|0)<0){if((c[b+40>>2]|0)<0){k=c[b+44>>2]|0;if(k|0){if(a[b+48>>0]|0){c[6898]=(c[6898]|0)+1;md(c[k+-4>>2]|0)}c[b+44>>2]=0}a[b+48>>0]=1;c[b+44>>2]=0;c[b+40>>2]=0}do{ra=(c[b+44>>2]|0)+(j<<4)|0;c[ra>>2]=c[sa+744>>2];c[ra+4>>2]=c[sa+744+4>>2];c[ra+8>>2]=c[sa+744+8>>2];c[ra+12>>2]=c[sa+744+12>>2];j=j+1|0}while((j|0)!=0)}c[b+36>>2]=0;Ac(sa+760|0,c[qa+56>>2]|0,c[d+12>>2]|0,sa+1e3|0,b+32|0,i-p,p,h)}do if(a[b+52>>0]|0?(W=c[h+4>>2]|0,c[W+780>>2]|0):0){j=c[W+772>>2]|0;k=c[(c[h+8>>2]|0)+8>>2]|0;if((j|0)==(k|0)){De(W,j+4|0,(c[(c[h+12>>2]|0)+8>>2]|0)+4|0);break}else{De(W,(c[(c[h+12>>2]|0)+8>>2]|0)+4|0,k+4|0);break}}while(0);j=c[u>>2]|0;if(j|0){if(a[t>>0]|0){c[6898]=(c[6898]|0)+1;md(c[j+-4>>2]|0)}c[u>>2]=0}}else{oa=+g[(c[b+56>>2]|0)+784>>2];c:do if(!(a[f+24>>0]|0)){sc(sa+48|0,sa+488|0,sa,c[f+20>>2]|0,0);i=+g[sa+32>>2];if(i<0.0&(a[sa+36>>0]|0)!=0){n=+g[sa+8>>2];o=+g[sa+12>>2];p=+g[sa+16>>2];m=c[sa+20>>2]|0;ka=108}}else{u=c[d+12>>2]|0;x=c[e+12>>2]|0;c[6896]=(c[6896]|0)+1;da=+g[ia+64>>2];ea=+g[ia+68>>2];q=+g[u+4>>2];fa=+g[ia+72>>2];v=+g[u+8>>2];y=+g[u+16>>2];C=+g[u+20>>2];G=+g[u+24>>2];H=+g[u+32>>2];F=+g[u+36>>2];z=+g[u+40>>2];ga=+g[ja+64>>2];ha=+g[ja+68>>2];na=+g[ja+72>>2];la=da*+g[u>>2]+ea*q+fa*v+ +g[u+48>>2]-(ga*+g[x>>2]+ha*+g[x+4>>2]+na*+g[x+8>>2]+ +g[x+48>>2]);ma=da*y+ea*C+fa*G+ +g[u+52>>2]-(ga*+g[x+16>>2]+ha*+g[x+20>>2]+na*+g[x+24>>2]+ +g[x+52>>2]);na=da*H+ea*F+fa*z+ +g[u+56>>2]-(ga*+g[x+32>>2]+ha*+g[x+36>>2]+na*+g[x+40>>2]+ +g[x+56>>2]);m=c[ia+28>>2]|0;d:do if((m|0)>0){i=3402823466385288598117041.0e14;j=0;w=0.0;n=0.0;o=0.0;p=0.0;I=y;while(1){f=c[ia+36>>2]|0;fa=+g[f+(j*36|0)+20>>2];ga=+g[f+(j*36|0)+24>>2];ha=+g[f+(j*36|0)+28>>2];y=fa*+g[u>>2]+ga*q+ha*v;v=fa*I+ga*C+ha*G;q=fa*H+ga*F+ha*z;g[sa+656>>2]=y;g[sa+656+4>>2]=v;g[sa+656+8>>2]=q;g[sa+656+12>>2]=0.0;if(y*la+v*ma+q*na<0.0){g[sa+656>>2]=-y;g[sa+656+4>>2]=-v;g[sa+656+8>>2]=-q;G=-y;v=-v;q=-q}else G=y;c[6894]=(c[6894]|0)+1;if(Th(u,x,la,ma,na,G,v,q,ia,ja,i)|0){c[6895]=(c[6895]|0)+1;vg(ia,u,sa+656|0,sa+1e3|0,sa+760|0,sa+720|0,sa+704|0);vg(ja,x,sa+656|0,sa+744|0,sa+736|0,sa+688|0,sa+672|0);y=+g[sa+760>>2];z=+g[sa+744>>2];do if(y<z)k=0;else{C=+g[sa+736>>2];F=+g[sa+1e3>>2];if(C<F){k=0;break}k=1;w=y-z<C-F?y-z:C-F}while(0);if(!k)break;if(w<i){i=w;n=G;o=v;p=q}}j=j+1|0;if((j|0)>=(m|0))break d;q=+g[u+4>>2];v=+g[u+8>>2];I=+g[u+16>>2];C=+g[u+20>>2];G=+g[u+24>>2];H=+g[u+32>>2];F=+g[u+36>>2];z=+g[u+40>>2]}break c}else{i=3402823466385288598117041.0e14;n=0.0;o=0.0;p=0.0}while(0);m=c[ja+28>>2]|0;e:do if((m|0)>0){k=0;y=0.0;while(1){f=c[ja+36>>2]|0;ga=+g[f+(k*36|0)+20>>2];ha=+g[f+(k*36|0)+24>>2];w=+g[f+(k*36|0)+28>>2];q=ga*+g[x>>2]+ha*+g[x+4>>2]+w*+g[x+8>>2];v=ga*+g[x+16>>2]+ha*+g[x+20>>2]+w*+g[x+24>>2];w=ga*+g[x+32>>2]+ha*+g[x+36>>2]+w*+g[x+40>>2];g[sa+656>>2]=q;g[sa+656+4>>2]=v;g[sa+656+8>>2]=w;g[sa+656+12>>2]=0.0;if(q*la+v*ma+w*na<0.0){g[sa+656>>2]=-q;g[sa+656+4>>2]=-v;g[sa+656+8>>2]=-w;q=-q;v=-v;w=-w}c[6894]=(c[6894]|0)+1;if(Th(u,x,la,ma,na,q,v,w,ia,ja,i)|0){c[6895]=(c[6895]|0)+1;vg(ia,u,sa+656|0,sa+1e3|0,sa+760|0,sa+720|0,sa+704|0);vg(ja,x,sa+656|0,sa+744|0,sa+736|0,sa+688|0,sa+672|0);z=+g[sa+760>>2];C=+g[sa+744>>2];do if(z<C)j=0;else{F=+g[sa+736>>2];G=+g[sa+1e3>>2];if(F<G){j=0;break}j=1;y=z-C<F-G?z-C:F-G}while(0);if(!j)break;if(y<i){i=y;n=q;o=v;p=w}}k=k+1|0;if((k|0)>=(m|0))break e}break c}while(0);j=c[ia+48>>2]|0;f:do if((j|0)>0){t=0;k=-1;r=-1;w=0.0;C=0.0;K=0.0;z=0.0;J=0.0;y=0.0;I=0.0;F=0.0;G=0.0;H=0.0;v=0.0;q=0.0;S=0.0;V=0.0;U=0.0;T=0.0;Q=0.0;P=0.0;O=0.0;m=c[ja+48>>2]|0;g:while(1){f=c[ia+56>>2]|0;da=+g[f+(t<<4)>>2];ea=+g[f+(t<<4)+4>>2];ha=+g[f+(t<<4)+8>>2];fa=da*+g[u>>2]+ea*+g[u+4>>2]+ha*+g[u+8>>2];ga=da*+g[u+16>>2]+ea*+g[u+20>>2]+ha*+g[u+24>>2];ha=da*+g[u+32>>2]+ea*+g[u+36>>2]+ha*+g[u+40>>2];if((m|0)>0){s=0;ba=w;ea=n;da=o;ca=p;aa=F;$=G;_=H;Z=S;while(1){f=c[ja+56>>2]|0;G=+g[f+(s<<4)>>2];H=+g[f+(s<<4)+4>>2];Y=+g[f+(s<<4)+8>>2];S=G*+g[x>>2]+H*+g[x+4>>2]+Y*+g[x+8>>2];X=G*+g[x+16>>2]+H*+g[x+20>>2]+Y*+g[x+24>>2];Y=G*+g[x+32>>2]+H*+g[x+36>>2]+Y*+g[x+40>>2];g[sa+656>>2]=ga*Y-ha*X;g[sa+656+4>>2]=ha*S-fa*Y;g[sa+656+8>>2]=fa*X-ga*S;g[sa+656+12>>2]=0.0;do if(!(+A(+(ga*Y-ha*X))>1.0e-06)){if(+A(+(ha*S-fa*Y))>1.0e-06){ka=72;break}if(!(+A(+(fa*X-ga*S))>1.0e-06)){w=ba;n=ea;o=da;p=ca;S=Z;H=_;G=$;F=aa}else ka=72}else ka=72;while(0);do if((ka|0)==72){ka=0;p=1.0/+B(+((fa*X-ga*S)*(fa*X-ga*S)+((ga*Y-ha*X)*(ga*Y-ha*X)+(ha*S-fa*Y)*(ha*S-fa*Y))));n=(ga*Y-ha*X)*p;g[sa+656>>2]=n;o=(ha*S-fa*Y)*p;g[sa+656+4>>2]=o;p=(fa*X-ga*S)*p;g[sa+656+8>>2]=p;if(n*la+o*ma+na*p<0.0){g[sa+656>>2]=-n;g[sa+656+4>>2]=-o;g[sa+656+8>>2]=-p;n=-n;o=-o;p=-p}c[6894]=(c[6894]|0)+1;if(!(Th(u,x,la,ma,na,n,o,p,ia,ja,i)|0)){w=ba;n=ea;o=da;p=ca;S=Z;H=_;G=$;F=aa;break}c[6895]=(c[6895]|0)+1;vg(ia,u,sa+656|0,sa+1e3|0,sa+760|0,sa+720|0,sa+704|0);vg(ja,x,sa+656|0,sa+744|0,sa+736|0,sa+688|0,sa+672|0);w=+g[sa+760>>2];F=+g[sa+744>>2];do if(!(w<F)){G=+g[sa+736>>2];H=+g[sa+1e3>>2];if(G<H){j=0;w=ba;H=_;G=$;F=aa;break}if(w-F<G-H){j=1;w=w-F;T=+g[sa+688>>2];U=+g[sa+688+4>>2];V=+g[sa+688+8>>2];H=+g[sa+704>>2];G=+g[sa+704+4>>2];F=+g[sa+704+8>>2];break}else{j=1;w=G-H;T=+g[sa+672>>2];U=+g[sa+672+4>>2];V=+g[sa+672+8>>2];H=+g[sa+720>>2];G=+g[sa+720+4>>2];F=+g[sa+720+8>>2];break}}else{j=0;w=ba;H=_;G=$;F=aa}while(0);if(!j)break g;if(!(w<i)){n=ea;o=da;p=ca;S=Z;break}i=w;k=s;r=t;C=S;K=fa;z=X;J=ga;y=Y;I=ha;O=T;P=U;Q=V;S=H;q=G;v=F}while(0);s=s+1|0;m=c[ja+48>>2]|0;if((s|0)>=(m|0))break;else{ba=w;ea=n;da=o;ca=p;aa=F;$=G;_=H;Z=S}}j=c[ia+48>>2]|0}t=t+1|0;if((t|0)>=(j|0)){j=r;i=S;break f}}break c}else{k=-1;j=-1;v=0.0;q=0.0;i=0.0;Q=0.0;P=0.0;O=0.0;C=0.0;K=0.0;z=0.0;J=0.0;y=0.0;I=0.0}while(0);if((k|j|0)>-1){F=O-i;G=P-q;H=Q-v;v=C*K+z*J+y*I;w=F*K+G*J+H*I;i=F*C+G*z+H*y;do if(!(1.0-v*v==0.0))if((w-i*v)/(1.0-v*v)<-1000000015047466219876688.0e6)q=-1000000015047466219876688.0e6;else{if(!((w-i*v)/(1.0-v*v)>1000000015047466219876688.0e6)){q=(w-i*v)/(1.0-v*v);break}q=1000000015047466219876688.0e6}else q=0.0;while(0);i=v*q-i;do if(i<-1000000015047466219876688.0e6){if(w-v*1000000015047466219876688.0e6<-1000000015047466219876688.0e6){i=-1000000015047466219876688.0e6;q=-1000000015047466219876688.0e6;break}if(!(w-v*1000000015047466219876688.0e6>1000000015047466219876688.0e6)){i=-1000000015047466219876688.0e6;q=w-v*1000000015047466219876688.0e6;break}i=-1000000015047466219876688.0e6;q=1000000015047466219876688.0e6}else{if(!(i>1000000015047466219876688.0e6))break;if(w+v*1000000015047466219876688.0e6<-1000000015047466219876688.0e6){i=1000000015047466219876688.0e6;q=-1000000015047466219876688.0e6;break}if(!(w+v*1000000015047466219876688.0e6>1000000015047466219876688.0e6)){i=1000000015047466219876688.0e6;q=w+v*1000000015047466219876688.0e6;break}i=1000000015047466219876688.0e6;q=1000000015047466219876688.0e6}while(0);C=C*i;z=z*i;y=y*i;w=C+(F-K*q);v=z+(G-J*q);i=y+(H-I*q);g[sa+1e3>>2]=w;g[sa+1e3+4>>2]=v;g[sa+1e3+8>>2]=i;g[sa+1e3+12>>2]=0.0;if(i*i+(w*w+v*v)>1.1920928955078125e-07){q=+B(+(i*i+(w*w+v*v)));g[sa+1e3>>2]=w*(1.0/q);g[sa+1e3+4>>2]=v*(1.0/q);g[sa+1e3+8>>2]=i*(1.0/q);if(w*(1.0/q)*la+v*(1.0/q)*ma+i*(1.0/q)*na<0.0){g[sa+1e3>>2]=-(w*(1.0/q));g[sa+1e3+4>>2]=-(v*(1.0/q));g[sa+1e3+8>>2]=-(i*(1.0/q))}g[sa+760>>2]=O+C;g[sa+760+4>>2]=P+z;g[sa+760+8>>2]=Q+y;g[sa+760+12>>2]=0.0;Nb[c[(c[h>>2]|0)+16>>2]&15](h,sa+1e3|0,sa+760|0,-q)}}if(la*n+ma*o+na*p<0.0){i=-1000000015047466219876688.0e6;n=-n;o=-o;p=-p;m=0;ka=108}else{i=-1000000015047466219876688.0e6;m=0;ka=108}}while(0);if((ka|0)==108){j=c[b+16>>2]|0;if((j|0)<0){if((c[b+20>>2]|0)<0){k=c[b+24>>2]|0;if(k|0){if(a[b+28>>0]|0){c[6898]=(c[6898]|0)+1;md(c[k+-4>>2]|0)}c[b+24>>2]=0}a[b+28>>0]=1;c[b+24>>2]=0;c[b+20>>2]=0}do{ka=(c[b+24>>2]|0)+(j<<4)|0;c[ka>>2]=c[sa+1e3>>2];c[ka+4>>2]=c[sa+1e3+4>>2];c[ka+8>>2]=c[sa+1e3+8>>2];c[ka+12>>2]=c[sa+1e3+12>>2];j=j+1|0}while((j|0)!=0)}c[b+16>>2]=0;R=c[qa+56>>2]|0;N=c[pa+56>>2]|0;M=c[d+12>>2]|0;L=c[e+12>>2]|0;O=i-oa;I=1.0/+B(+(n*n+o*o+p*p));K=n*I;J=o*I;I=p*I;g[sa+1e3>>2]=K;g[sa+1e3+4>>2]=J;g[sa+1e3+8>>2]=I;c[sa+1e3+12>>2]=m;k=c[N+28>>2]|0;if((k|0)>0){m=c[N+36>>2]|0;n=+g[L>>2];o=+g[L+4>>2];p=+g[L+8>>2];q=+g[L+16>>2];v=+g[L+20>>2];w=+g[L+24>>2];y=+g[L+32>>2];z=+g[L+36>>2];C=+g[L+40>>2];i=-3402823466385288598117041.0e14;j=0;x=-1;while(1){F=+g[m+(j*36|0)+20>>2];G=+g[m+(j*36|0)+24>>2];H=+g[m+(j*36|0)+28>>2];r=K*(F*n+G*o+H*p)+J*(F*q+G*v+H*w)+I*(F*y+G*z+H*C)>i;x=r?j:x;j=j+1|0;if((j|0)==(k|0))break;else i=r?K*(F*n+G*o+H*p)+J*(F*q+G*v+H*w)+I*(F*y+G*z+H*C):i}}else x=-1;j=c[b+16>>2]|0;if((j|0)<0){if((c[b+20>>2]|0)<0){k=c[b+24>>2]|0;if(k|0){if(a[b+28>>0]|0){c[6898]=(c[6898]|0)+1;md(c[k+-4>>2]|0)}c[b+24>>2]=0}a[b+28>>0]=1;c[b+24>>2]=0;c[b+20>>2]=0}do{d=(c[b+24>>2]|0)+(j<<4)|0;c[d>>2]=c[sa+760>>2];c[d+4>>2]=c[sa+760+4>>2];c[d+8>>2]=c[sa+760+8>>2];c[d+12>>2]=c[sa+760+12>>2];j=j+1|0}while((j|0)!=0)}c[b+16>>2]=0;j=c[N+36>>2]|0;u=c[j+(x*36|0)+4>>2]|0;if((u|0)>0){t=j+(x*36|0)+12|0;s=0;j=0;do{d=c[(c[t>>2]|0)+(s<<2)>>2]|0;e=c[N+16>>2]|0;ma=+g[e+(d<<4)>>2];na=+g[e+(d<<4)+4>>2];o=+g[e+(d<<4)+8>>2];i=ma*+g[L>>2]+na*+g[L+4>>2]+o*+g[L+8>>2]+ +g[L+48>>2];n=ma*+g[L+16>>2]+na*+g[L+20>>2]+o*+g[L+24>>2]+ +g[L+52>>2];o=ma*+g[L+32>>2]+na*+g[L+36>>2]+o*+g[L+40>>2]+ +g[L+56>>2];do if((j|0)==(c[b+20>>2]|0)){r=(j|0)==0?1:j<<1;if((j|0)>=(r|0))break;if(!r)m=0;else{c[6897]=(c[6897]|0)+1;j=ec((r<<4|3)+16|0)|0;if(!j)j=0;else{c[(j+4+15&-16)+-4>>2]=j;j=j+4+15&-16}m=j;j=c[b+16>>2]|0}if((j|0)>0){k=0;do{d=m+(k<<4)|0;e=(c[b+24>>2]|0)+(k<<4)|0;c[d>>2]=c[e>>2];c[d+4>>2]=c[e+4>>2];c[d+8>>2]=c[e+8>>2];c[d+12>>2]=c[e+12>>2];k=k+1|0}while((k|0)!=(j|0))}j=c[b+24>>2]|0;if(j|0){if(a[b+28>>0]|0){c[6898]=(c[6898]|0)+1;md(c[j+-4>>2]|0)}c[b+24>>2]=0}a[b+28>>0]=1;c[b+24>>2]=m;c[b+20>>2]=r;j=c[b+16>>2]|0}while(0);d=c[b+24>>2]|0;g[d+(j<<4)>>2]=i;g[d+(j<<4)+4>>2]=n;g[d+(j<<4)+8>>2]=o;g[d+(j<<4)+12>>2]=0.0;j=(c[b+16>>2]|0)+1|0;c[b+16>>2]=j;s=s+1|0}while((s|0)!=(u|0))}if((x|0)>-1)Ac(sa+1e3|0,R,M,b+12|0,b+32|0,O,oa,h)}if(a[b+52>>0]|0?(ra=c[h+4>>2]|0,c[ra+780>>2]|0):0){j=c[ra+772>>2]|0;k=c[(c[h+8>>2]|0)+8>>2]|0;if((j|0)==(k|0)){De(ra,j+4|0,(c[(c[h+12>>2]|0)+8>>2]|0)+4|0);break}else{De(ra,(c[(c[h+12>>2]|0)+8>>2]|0)+4|0,k+4|0);break}}}while(0);l=sa;return}while(0)}sc(sa+48|0,sa+488|0,h,c[f+20>>2]|0,0);if((c[b+64>>2]|0?(c[(c[h+4>>2]|0)+780>>2]|0)<(c[b+68>>2]|0):0)?(I=+g[sa+48+4>>2],J=+g[sa+48+8>>2],K=+g[sa+48+12>>2],I*I+J*J+K*K>1.1920928955078125e-07):0){H=1.0/(I*I+J*J+K*K);if(+A(+(K*H))>.7071067690849304){o=1.0/+B(+(K*H*K*H+J*H*J*H));n=0.0;p=J*H*o;o=-(K*H*o)}else{o=1.0/+B(+(I*H*I*H+J*H*J*H));n=-(J*H*o);p=0.0;o=I*H*o}G=+ib[c[(c[qa>>2]|0)+16>>2]&15](qa);C=+ib[c[(c[pa>>2]|0)+16>>2]&15](pa);i=.019999999552965164/(G<C?G:C);if(G<C){c[sa+1e3>>2]=c[sa+488>>2];c[sa+1e3+4>>2]=c[sa+488+4>>2];c[sa+1e3+8>>2]=c[sa+488+8>>2];c[sa+1e3+12>>2]=c[sa+488+12>>2];c[sa+1e3+16>>2]=c[r>>2];c[sa+1e3+16+4>>2]=c[r+4>>2];c[sa+1e3+16+8>>2]=c[r+8>>2];c[sa+1e3+16+12>>2]=c[r+12>>2];c[sa+1e3+32>>2]=c[s>>2];c[sa+1e3+32+4>>2]=c[s+4>>2];c[sa+1e3+32+8>>2]=c[s+8>>2];c[sa+1e3+32+12>>2]=c[s+12>>2];c[sa+1e3+48>>2]=c[t>>2];c[sa+1e3+48+4>>2]=c[t+4>>2];c[sa+1e3+48+8>>2]=c[t+8>>2];c[sa+1e3+48+12>>2]=c[t+12>>2]}else{c[sa+1e3>>2]=c[u>>2];c[sa+1e3+4>>2]=c[u+4>>2];c[sa+1e3+8>>2]=c[u+8>>2];c[sa+1e3+12>>2]=c[u+12>>2];c[sa+1e3+16>>2]=c[x>>2];c[sa+1e3+16+4>>2]=c[x+4>>2];c[sa+1e3+16+8>>2]=c[x+8>>2];c[sa+1e3+16+12>>2]=c[x+12>>2];c[sa+1e3+32>>2]=c[L>>2];c[sa+1e3+32+4>>2]=c[L+4>>2];c[sa+1e3+32+8>>2]=c[L+8>>2];c[sa+1e3+32+12>>2]=c[L+12>>2];c[sa+1e3+48>>2]=c[M>>2];c[sa+1e3+48+4>>2]=c[M+4>>2];c[sa+1e3+48+8>>2]=c[M+8>>2];c[sa+1e3+48+12>>2]=c[M+12>>2]}j=c[b+64>>2]|0;if((j|0)>0){F=n*n+o*o+p*p;q=+B(+F);v=(i>.39269909262657166?.39269909262657166:i)*.5;q=+E(+v)/q;z=n*q;y=o*q;q=p*q;v=+D(+v);w=+B(+(K*H*K*H+(I*H*I*H+J*H*J*H)));k=0;do{if(F>1.1920928955078125e-07){p=6.2831854820251465/+(j|0)*+(k|0)*.5;o=+E(+p)/w;i=I*H*o;n=J*H*o;o=K*H*o;p=+D(+p);if(G<C){ha=o*(z*-o+(y*p+v*-n)-q*-i)+(i*(v*p-z*-i-y*-n-q*-o)+p*(q*-n+(z*p+v*-i)-y*-o))-n*(y*-i+(q*p+v*-o)-z*-n);ma=i*(y*-i+(q*p+v*-o)-z*-n)+(p*(z*-o+(y*p+v*-n)-q*-i)+n*(v*p-z*-i-y*-n-q*-o))-o*(q*-n+(z*p+v*-i)-y*-o);Y=n*(q*-n+(z*p+v*-i)-y*-o)+(o*(v*p-z*-i-y*-n-q*-o)+p*(y*-i+(q*p+v*-o)-z*-n))-i*(z*-o+(y*p+v*-n)-q*-i);fa=p*(v*p-z*-i-y*-n-q*-o)-i*(q*-n+(z*p+v*-i)-y*-o)-n*(z*-o+(y*p+v*-n)-q*-i)-o*(y*-i+(q*p+v*-o)-z*-n);la=ha*(2.0/(fa*fa+(Y*Y+(ha*ha+ma*ma))));na=ma*(2.0/(fa*fa+(Y*Y+(ha*ha+ma*ma))));ea=Y*(2.0/(fa*fa+(Y*Y+(ha*ha+ma*ma))));ra=c[d+12>>2]|0;Z=+g[ra>>2];_=+g[ra+16>>2];$=+g[ra+32>>2];aa=+g[ra+4>>2];ba=+g[ra+20>>2];ca=+g[ra+36>>2];da=+g[ra+8>>2];ga=+g[ra+24>>2];oa=+g[ra+40>>2];g[sa+488>>2]=(1.0-(ma*na+Y*ea))*Z+(ha*na-fa*ea)*_+(ha*ea+fa*na)*$;g[sa+488+4>>2]=(1.0-(ma*na+Y*ea))*aa+(ha*na-fa*ea)*ba+(ha*ea+fa*na)*ca;g[sa+488+8>>2]=(1.0-(ma*na+Y*ea))*da+(ha*na-fa*ea)*ga+(ha*ea+fa*na)*oa;g[sa+488+12>>2]=0.0;g[sa+488+16>>2]=(ha*na+fa*ea)*Z+(1.0-(ha*la+Y*ea))*_+(ma*ea-fa*la)*$;g[sa+488+20>>2]=(ha*na+fa*ea)*aa+(1.0-(ha*la+Y*ea))*ba+(ma*ea-fa*la)*ca;g[sa+488+24>>2]=(ha*na+fa*ea)*da+(1.0-(ha*la+Y*ea))*ga+(ma*ea-fa*la)*oa;g[sa+488+28>>2]=0.0;g[sa+488+32>>2]=(ha*ea-fa*na)*Z+(ma*ea+fa*la)*_+(1.0-(ha*la+ma*na))*$;g[sa+488+36>>2]=(ha*ea-fa*na)*aa+(ma*ea+fa*la)*ba+(1.0-(ha*la+ma*na))*ca;g[sa+488+40>>2]=(ha*ea-fa*na)*da+(ma*ea+fa*la)*ga+(1.0-(ha*la+ma*na))*oa;g[sa+488+44>>2]=0.0;ra=c[e+12>>2]|0;c[u>>2]=c[ra>>2];c[u+4>>2]=c[ra+4>>2];c[u+8>>2]=c[ra+8>>2];c[u+12>>2]=c[ra+12>>2];c[x>>2]=c[ra+16>>2];c[x+4>>2]=c[ra+16+4>>2];c[x+8>>2]=c[ra+16+8>>2];c[x+12>>2]=c[ra+16+12>>2];c[L>>2]=c[ra+32>>2];c[L+4>>2]=c[ra+32+4>>2];c[L+8>>2]=c[ra+32+8>>2];c[L+12>>2]=c[ra+32+12>>2];c[M>>2]=c[ra+48>>2];c[M+4>>2]=c[ra+48+4>>2];c[M+8>>2]=c[ra+48+8>>2];c[M+12>>2]=c[ra+48+12>>2]}else{ra=c[d+12>>2]|0;c[sa+488>>2]=c[ra>>2];c[sa+488+4>>2]=c[ra+4>>2];c[sa+488+8>>2]=c[ra+8>>2];c[sa+488+12>>2]=c[ra+12>>2];c[r>>2]=c[ra+16>>2];c[r+4>>2]=c[ra+16+4>>2];c[r+8>>2]=c[ra+16+8>>2];c[r+12>>2]=c[ra+16+12>>2];c[s>>2]=c[ra+32>>2];c[s+4>>2]=c[ra+32+4>>2];c[s+8>>2]=c[ra+32+8>>2];c[s+12>>2]=c[ra+32+12>>2];c[t>>2]=c[ra+48>>2];c[t+4>>2]=c[ra+48+4>>2];c[t+8>>2]=c[ra+48+8>>2];c[t+12>>2]=c[ra+48+12>>2];ha=o*(z*-o+(y*p+v*-n)-q*-i)+(i*(v*p-z*-i-y*-n-q*-o)+p*(q*-n+(z*p+v*-i)-y*-o))-n*(y*-i+(q*p+v*-o)-z*-n);ma=i*(y*-i+(q*p+v*-o)-z*-n)+(p*(z*-o+(y*p+v*-n)-q*-i)+n*(v*p-z*-i-y*-n-q*-o))-o*(q*-n+(z*p+v*-i)-y*-o);Y=n*(q*-n+(z*p+v*-i)-y*-o)+(o*(v*p-z*-i-y*-n-q*-o)+p*(y*-i+(q*p+v*-o)-z*-n))-i*(z*-o+(y*p+v*-n)-q*-i);fa=p*(v*p-z*-i-y*-n-q*-o)-i*(q*-n+(z*p+v*-i)-y*-o)-n*(z*-o+(y*p+v*-n)-q*-i)-o*(y*-i+(q*p+v*-o)-z*-n);la=ha*(2.0/(fa*fa+(Y*Y+(ha*ha+ma*ma))));na=ma*(2.0/(fa*fa+(Y*Y+(ha*ha+ma*ma))));ea=Y*(2.0/(fa*fa+(Y*Y+(ha*ha+ma*ma))));ra=c[e+12>>2]|0;Z=+g[ra>>2];_=+g[ra+16>>2];$=+g[ra+32>>2];aa=+g[ra+4>>2];ba=+g[ra+20>>2];ca=+g[ra+36>>2];da=+g[ra+8>>2];ga=+g[ra+24>>2];oa=+g[ra+40>>2];g[sa+488+64>>2]=(1.0-(ma*na+Y*ea))*Z+(ha*na-fa*ea)*_+(ha*ea+fa*na)*$;g[sa+488+68>>2]=(1.0-(ma*na+Y*ea))*aa+(ha*na-fa*ea)*ba+(ha*ea+fa*na)*ca;g[sa+488+72>>2]=(1.0-(ma*na+Y*ea))*da+(ha*na-fa*ea)*ga+(ha*ea+fa*na)*oa;g[sa+488+76>>2]=0.0;g[sa+488+80>>2]=(ha*na+fa*ea)*Z+(1.0-(ha*la+Y*ea))*_+(ma*ea-fa*la)*$;g[sa+488+84>>2]=(ha*na+fa*ea)*aa+(1.0-(ha*la+Y*ea))*ba+(ma*ea-fa*la)*ca;g[sa+488+88>>2]=(ha*na+fa*ea)*da+(1.0-(ha*la+Y*ea))*ga+(ma*ea-fa*la)*oa;g[sa+488+92>>2]=0.0;g[sa+488+96>>2]=(ha*ea-fa*na)*Z+(ma*ea+fa*la)*_+(1.0-(ha*la+ma*na))*$;g[sa+488+100>>2]=(ha*ea-fa*na)*aa+(ma*ea+fa*la)*ba+(1.0-(ha*la+ma*na))*ca;g[sa+488+104>>2]=(ha*ea-fa*na)*da+(ma*ea+fa*la)*ga+(1.0-(ha*la+ma*na))*oa;g[sa+488+108>>2]=0.0}j=c[f+20>>2]|0;g[sa+760+32>>2]=0.0;c[sa+760>>2]=11988;c[sa+760+36>>2]=h;c[sa+760+40>>2]=c[sa+488>>2];c[sa+760+40+4>>2]=c[sa+488+4>>2];c[sa+760+40+8>>2]=c[sa+488+8>>2];c[sa+760+40+12>>2]=c[sa+488+12>>2];c[sa+760+56>>2]=c[r>>2];c[sa+760+56+4>>2]=c[r+4>>2];c[sa+760+56+8>>2]=c[r+8>>2];c[sa+760+56+12>>2]=c[r+12>>2];c[sa+760+72>>2]=c[s>>2];c[sa+760+72+4>>2]=c[s+4>>2];c[sa+760+72+8>>2]=c[s+8>>2];c[sa+760+72+12>>2]=c[s+12>>2];c[sa+760+88>>2]=c[t>>2];c[sa+760+88+4>>2]=c[t+4>>2];c[sa+760+88+8>>2]=c[t+8>>2];c[sa+760+88+12>>2]=c[t+12>>2];c[sa+760+104>>2]=c[u>>2];c[sa+760+104+4>>2]=c[u+4>>2];c[sa+760+104+8>>2]=c[u+8>>2];c[sa+760+104+12>>2]=c[u+12>>2];c[sa+760+120>>2]=c[x>>2];c[sa+760+120+4>>2]=c[x+4>>2];c[sa+760+120+8>>2]=c[x+8>>2];c[sa+760+120+12>>2]=c[x+12>>2];c[sa+760+136>>2]=c[L>>2];c[sa+760+136+4>>2]=c[L+4>>2];c[sa+760+136+8>>2]=c[L+8>>2];c[sa+760+136+12>>2]=c[L+12>>2];c[sa+760+152>>2]=c[M>>2];c[sa+760+152+4>>2]=c[M+4>>2];c[sa+760+152+8>>2]=c[M+8>>2];c[sa+760+152+12>>2]=c[M+12>>2];c[sa+760+168>>2]=c[sa+1e3>>2];c[sa+760+168+4>>2]=c[sa+1e3+4>>2];c[sa+760+168+8>>2]=c[sa+1e3+8>>2];c[sa+760+168+12>>2]=c[sa+1e3+12>>2];c[sa+760+184>>2]=c[sa+1e3+16>>2];c[sa+760+184+4>>2]=c[sa+1e3+16+4>>2];c[sa+760+184+8>>2]=c[sa+1e3+16+8>>2];c[sa+760+184+12>>2]=c[sa+1e3+16+12>>2];c[sa+760+200>>2]=c[sa+1e3+32>>2];c[sa+760+200+4>>2]=c[sa+1e3+32+4>>2];c[sa+760+200+8>>2]=c[sa+1e3+32+8>>2];c[sa+760+200+12>>2]=c[sa+1e3+32+12>>2];c[sa+760+216>>2]=c[sa+1e3+48>>2];c[sa+760+216+4>>2]=c[sa+1e3+48+4>>2];c[sa+760+216+8>>2]=c[sa+1e3+48+8>>2];c[sa+760+216+12>>2]=c[sa+1e3+48+12>>2];a[sa+760+232>>0]=G<C&1;c[sa+760+236>>2]=j;sc(sa+48|0,sa+488|0,sa+760|0,j,0);j=c[b+64>>2]|0}k=k+1|0}while((k|0)<(j|0))}}if(!(a[b+52>>0]|0)){l=sa;return}j=c[h+4>>2]|0;if(!(c[j+780>>2]|0)){l=sa;return}k=c[j+772>>2]|0;m=c[(c[h+8>>2]|0)+8>>2]|0;if((k|0)==(m|0)){De(j,k+4|0,(c[(c[h+12>>2]|0)+8>>2]|0)+4|0);l=sa;return}else{De(j,(c[(c[h+12>>2]|0)+8>>2]|0)+4|0,m+4|0);l=sa;return}}function _b(b,d){b=b|0;d=d|0;var e=0.0,f=0.0,h=0.0,i=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0.0,s=0.0,t=0.0,u=0.0,v=0.0,w=0.0,x=0.0,y=0.0,z=0.0,A=0.0,B=0,C=0.0,F=0.0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0.0,O=0,P=0.0,Q=0.0,R=0.0,S=0.0,T=0.0,U=0.0,V=0.0,W=0.0,X=0.0,Y=0.0,Z=0.0;O=l;l=l+176|0;B=sb[c[(c[b>>2]|0)+20>>2]&127](b)|0;B=((sb[c[(c[B>>2]|0)+56>>2]&127](B)|0)&2048|0)!=0;M=sb[c[(c[b>>2]|0)+20>>2]&127](b)|0;M=((sb[c[(c[M>>2]|0)+56>>2]&127](M)|0)&4096|0)!=0;N=+g[d+40>>2];if(N<=0.0){l=O;return}switch(c[d+4>>2]|0){case 3:{c[O+112>>2]=1065353216;c[O+112+4>>2]=0;c[O+112+4+4>>2]=0;c[O+112+4+8>>2]=0;c[O+112+4+12>>2]=0;c[O+112+20>>2]=1065353216;c[O+112+24>>2]=0;c[O+112+24+4>>2]=0;c[O+112+24+8>>2]=0;c[O+112+24+12>>2]=0;c[O+112+40>>2]=1065353216;M=O+112+44|0;c[M>>2]=0;c[M+4>>2]=0;c[M+8>>2]=0;c[M+12>>2]=0;c[M+16>>2]=0;F=+g[d+300>>2];C=+g[d+304>>2];A=+g[d+308>>2];M=c[d+28>>2]|0;z=F*+g[M+20>>2]+C*+g[M+24>>2]+A*+g[M+28>>2]+ +g[M+56>>2];y=F*+g[M+36>>2]+C*+g[M+40>>2]+A*+g[M+44>>2]+ +g[M+60>>2];g[O+112+48>>2]=F*+g[M+4>>2]+C*+g[M+8>>2]+A*+g[M+12>>2]+ +g[M+52>>2];g[O+112+52>>2]=z;g[O+112+56>>2]=y;g[O+112+60>>2]=0.0;M=sb[c[(c[b>>2]|0)+20>>2]&127](b)|0;Jb[c[(c[M>>2]|0)+64>>2]&7](M,O+112|0,N);y=+g[d+316>>2];z=+g[d+320>>2];A=+g[d+324>>2];d=c[d+32>>2]|0;C=y*+g[d+20>>2]+z*+g[d+24>>2]+A*+g[d+28>>2]+ +g[d+56>>2];F=y*+g[d+36>>2]+z*+g[d+40>>2]+A*+g[d+44>>2]+ +g[d+60>>2];g[O+112+48>>2]=y*+g[d+4>>2]+z*+g[d+8>>2]+A*+g[d+12>>2]+ +g[d+52>>2];g[O+112+52>>2]=C;g[O+112+56>>2]=F;g[O+112+60>>2]=0.0;if(B){b=sb[c[(c[b>>2]|0)+20>>2]&127](b)|0;Jb[c[(c[b>>2]|0)+64>>2]&7](b,O+112|0,N)}l=O;return}case 4:{L=c[d+28>>2]|0;e=+g[d+552>>2];U=+g[L+4>>2];f=+g[d+552+16>>2];T=+g[L+8>>2];h=+g[d+552+32>>2];S=+g[L+12>>2];r=+g[d+552+4>>2];s=+g[d+552+20>>2];t=+g[d+552+36>>2];u=+g[d+552+8>>2];w=+g[d+552+24>>2];y=+g[d+552+40>>2];R=+g[L+20>>2];Q=+g[L+24>>2];P=+g[L+28>>2];v=+g[L+36>>2];x=+g[L+40>>2];z=+g[L+44>>2];W=+g[d+552+48>>2];V=+g[d+552+52>>2];F=+g[d+552+56>>2];A=+g[L+52>>2]+(U*W+T*V+S*F);C=R*W+Q*V+P*F+ +g[L+56>>2];F=v*W+x*V+z*F+ +g[L+60>>2];g[O+112>>2]=e*U+f*T+h*S;g[O+112+4>>2]=U*r+T*s+S*t;g[O+112+8>>2]=U*u+T*w+S*y;g[O+112+12>>2]=0.0;g[O+112+16>>2]=e*R+f*Q+h*P;g[O+112+20>>2]=r*R+s*Q+t*P;g[O+112+24>>2]=u*R+w*Q+y*P;g[O+112+28>>2]=0.0;g[O+112+32>>2]=e*v+f*x+h*z;g[O+112+36>>2]=r*v+s*x+t*z;g[O+112+40>>2]=u*v+w*x+y*z;g[O+112+44>>2]=0.0;g[O+112+48>>2]=A;g[O+112+52>>2]=C;g[O+112+56>>2]=F;g[O+112+60>>2]=0.0;if(B){L=sb[c[(c[b>>2]|0)+20>>2]&127](b)|0;Jb[c[(c[L>>2]|0)+64>>2]&7](L,O+112|0,N);L=c[d+32>>2]|0;w=+g[d+616>>2];h=+g[L+4>>2];x=+g[d+616+16>>2];r=+g[L+8>>2];y=+g[d+616+32>>2];s=+g[L+12>>2];z=+g[d+616+4>>2];A=+g[d+616+20>>2];C=+g[d+616+36>>2];F=+g[d+616+8>>2];Q=+g[d+616+24>>2];S=+g[d+616+40>>2];t=+g[L+20>>2];u=+g[L+24>>2];v=+g[L+28>>2];P=+g[L+36>>2];R=+g[L+40>>2];T=+g[L+44>>2];e=+g[d+616+48>>2];f=+g[d+616+52>>2];W=+g[d+616+56>>2];U=+g[L+52>>2]+(h*e+r*f+s*W);V=t*e+u*f+v*W+ +g[L+56>>2];W=P*e+R*f+T*W+ +g[L+60>>2];g[O+112>>2]=w*h+x*r+y*s;g[O+112+4>>2]=h*z+r*A+s*C;g[O+112+8>>2]=h*F+r*Q+s*S;g[O+112+12>>2]=0.0;g[O+112+16>>2]=w*t+x*u+y*v;g[O+112+20>>2]=z*t+A*u+C*v;g[O+112+24>>2]=F*t+Q*u+S*v;g[O+112+28>>2]=0.0;g[O+112+32>>2]=w*P+x*R+y*T;g[O+112+36>>2]=z*P+A*R+C*T;g[O+112+40>>2]=F*P+Q*R+S*T;g[O+112+44>>2]=0.0;g[O+112+48>>2]=U;g[O+112+52>>2]=V;g[O+112+56>>2]=W;g[O+112+60>>2]=0.0;L=sb[c[(c[b>>2]|0)+20>>2]&127](b)|0;Jb[c[(c[L>>2]|0)+64>>2]&7](L,O+112|0,N)}else{L=c[d+32>>2]|0;w=+g[d+616>>2];h=+g[L+4>>2];x=+g[d+616+16>>2];r=+g[L+8>>2];y=+g[d+616+32>>2];s=+g[L+12>>2];z=+g[d+616+4>>2];A=+g[d+616+20>>2];C=+g[d+616+36>>2];F=+g[d+616+8>>2];Q=+g[d+616+24>>2];S=+g[d+616+40>>2];t=+g[L+20>>2];u=+g[L+24>>2];v=+g[L+28>>2];P=+g[L+36>>2];R=+g[L+40>>2];T=+g[L+44>>2];e=+g[d+616+48>>2];f=+g[d+616+52>>2];W=+g[d+616+56>>2];U=+g[L+52>>2]+(h*e+r*f+s*W);V=t*e+u*f+v*W+ +g[L+56>>2];W=P*e+R*f+T*W+ +g[L+60>>2];g[O+112>>2]=w*h+x*r+y*s;g[O+112+4>>2]=h*z+r*A+s*C;g[O+112+8>>2]=h*F+r*Q+s*S;g[O+112+12>>2]=0.0;g[O+112+16>>2]=w*t+x*u+y*v;g[O+112+20>>2]=z*t+A*u+C*v;g[O+112+24>>2]=F*t+Q*u+S*v;g[O+112+28>>2]=0.0;g[O+112+32>>2]=w*P+x*R+y*T;g[O+112+36>>2]=z*P+A*R+C*T;g[O+112+40>>2]=F*P+Q*R+S*T;g[O+112+44>>2]=0.0;g[O+112+48>>2]=U;g[O+112+52>>2]=V;g[O+112+56>>2]=W;g[O+112+60>>2]=0.0}e=+g[d+688>>2];h=+g[d+688+4>>2];if(!((e-h)%6.2831854820251465<-3.1415927410125732))if((e-h)%6.2831854820251465>3.1415927410125732)f=(e-h)%6.2831854820251465+-6.2831854820251465;else f=(e-h)%6.2831854820251465;else f=(e-h)%6.2831854820251465+6.2831854820251465;if(!((e+h)%6.2831854820251465<-3.1415927410125732))if((e+h)%6.2831854820251465>3.1415927410125732)e=(e+h)%6.2831854820251465+-6.2831854820251465;else e=(e+h)%6.2831854820251465;else e=(e+h)%6.2831854820251465+6.2831854820251465;if(!(f==e)?M:0){c[O+96>>2]=c[O+112+8>>2];c[O+96+4>>2]=c[O+112+24>>2];c[O+96+8>>2]=c[O+112+40>>2];g[O+96+12>>2]=0.0;c[O+80>>2]=c[O+112>>2];c[O+80+4>>2]=c[O+112+16>>2];c[O+80+8>>2]=c[O+112+32>>2];g[O+80+12>>2]=0.0;b=sb[c[(c[b>>2]|0)+20>>2]&127](b)|0;d=c[(c[b>>2]|0)+68>>2]|0;c[O+64>>2]=0;c[O+64+4>>2]=0;c[O+64+8>>2]=0;c[O+64+12>>2]=0;Sb[d&0](b,O+112+48|0,O+96|0,O+80|0,N,N,h>0.0?f:0.0,h>0.0?e:6.2831854820251465,O+64|0,h>0.0,10.0)}l=O;return}case 5:{H=c[d+28>>2]|0;w=+g[d+300>>2];h=+g[H+4>>2];x=+g[d+300+16>>2];r=+g[H+8>>2];y=+g[d+300+32>>2];s=+g[H+12>>2];z=+g[d+300+4>>2];A=+g[d+300+20>>2];C=+g[d+300+36>>2];F=+g[d+300+8>>2];Q=+g[d+300+24>>2];S=+g[d+300+40>>2];t=+g[H+20>>2];u=+g[H+24>>2];v=+g[H+28>>2];P=+g[H+36>>2];R=+g[H+40>>2];T=+g[H+44>>2];e=+g[d+300+48>>2];f=+g[d+300+52>>2];W=+g[d+300+56>>2];U=+g[H+52>>2]+(h*e+r*f+s*W);V=t*e+u*f+v*W+ +g[H+56>>2];W=P*e+R*f+T*W+ +g[H+60>>2];g[O+112>>2]=w*h+x*r+y*s;H=O+112+4|0;g[H>>2]=h*z+r*A+s*C;J=O+112+8|0;g[J>>2]=h*F+r*Q+s*S;g[O+112+12>>2]=0.0;K=O+112+16|0;g[K>>2]=w*t+x*u+y*v;L=O+112+20|0;g[L>>2]=z*t+A*u+C*v;n=O+112+24|0;g[n>>2]=F*t+Q*u+S*v;g[O+112+28>>2]=0.0;o=O+112+32|0;g[o>>2]=w*P+x*R+y*T;p=O+112+36|0;g[p>>2]=z*P+A*R+C*T;q=O+112+40|0;g[q>>2]=F*P+Q*R+S*T;g[O+112+44>>2]=0.0;m=O+112+48|0;g[m>>2]=U;G=O+112+52|0;g[G>>2]=V;I=O+112+56|0;g[I>>2]=W;g[O+112+60>>2]=0.0;if(B){B=sb[c[(c[b>>2]|0)+20>>2]&127](b)|0;Jb[c[(c[B>>2]|0)+64>>2]&7](B,O+112|0,N);B=c[d+32>>2]|0;w=+g[d+364>>2];h=+g[B+4>>2];x=+g[d+364+16>>2];r=+g[B+8>>2];y=+g[d+364+32>>2];s=+g[B+12>>2];z=+g[d+364+4>>2];A=+g[d+364+20>>2];C=+g[d+364+36>>2];F=+g[d+364+8>>2];Q=+g[d+364+24>>2];S=+g[d+364+40>>2];t=+g[B+20>>2];u=+g[B+24>>2];v=+g[B+28>>2];P=+g[B+36>>2];R=+g[B+40>>2];T=+g[B+44>>2];e=+g[d+364+48>>2];f=+g[d+364+52>>2];W=+g[d+364+56>>2];U=+g[B+52>>2]+(h*e+r*f+s*W);V=t*e+u*f+v*W+ +g[B+56>>2];W=P*e+R*f+T*W+ +g[B+60>>2];g[O+112>>2]=w*h+x*r+y*s;g[H>>2]=h*z+r*A+s*C;g[J>>2]=h*F+r*Q+s*S;g[O+112+12>>2]=0.0;g[K>>2]=w*t+x*u+y*v;g[L>>2]=z*t+A*u+C*v;g[n>>2]=F*t+Q*u+S*v;g[O+112+28>>2]=0.0;g[o>>2]=w*P+x*R+y*T;g[p>>2]=z*P+A*R+C*T;g[q>>2]=F*P+Q*R+S*T;g[O+112+44>>2]=0.0;g[m>>2]=U;g[G>>2]=V;g[I>>2]=W;g[O+112+60>>2]=0.0;B=sb[c[(c[b>>2]|0)+20>>2]&127](b)|0;Jb[c[(c[B>>2]|0)+64>>2]&7](B,O+112|0,N)}else{B=c[d+32>>2]|0;w=+g[d+364>>2];h=+g[B+4>>2];x=+g[d+364+16>>2];r=+g[B+8>>2];y=+g[d+364+32>>2];s=+g[B+12>>2];z=+g[d+364+4>>2];A=+g[d+364+20>>2];C=+g[d+364+36>>2];F=+g[d+364+8>>2];Q=+g[d+364+24>>2];S=+g[d+364+40>>2];t=+g[B+20>>2];u=+g[B+24>>2];v=+g[B+28>>2];P=+g[B+36>>2];R=+g[B+40>>2];T=+g[B+44>>2];e=+g[d+364+48>>2];f=+g[d+364+52>>2];W=+g[d+364+56>>2];U=+g[B+52>>2]+(h*e+r*f+s*W);V=t*e+u*f+v*W+ +g[B+56>>2];W=P*e+R*f+T*W+ +g[B+60>>2];g[O+112>>2]=w*h+x*r+y*s;g[H>>2]=h*z+r*A+s*C;g[J>>2]=h*F+r*Q+s*S;g[O+112+12>>2]=0.0;g[K>>2]=w*t+x*u+y*v;g[L>>2]=z*t+A*u+C*v;g[n>>2]=F*t+Q*u+S*v;g[O+112+28>>2]=0.0;g[o>>2]=w*P+x*R+y*T;g[p>>2]=z*P+A*R+C*T;g[q>>2]=F*P+Q*R+S*T;g[O+112+44>>2]=0.0;g[m>>2]=U;g[G>>2]=V;g[I>>2]=W;g[O+112+60>>2]=0.0}if(M){Bj(O+96|0,d,6.0868353843688965,N);S=+g[O+96>>2];T=+g[O+96+4>>2];U=+g[O+96+8>>2];V=S*+g[K>>2]+T*+g[L>>2]+U*+g[n>>2]+ +g[G>>2];W=S*+g[o>>2]+T*+g[p>>2]+U*+g[q>>2]+ +g[I>>2];g[O+96>>2]=S*+g[O+112>>2]+T*+g[H>>2]+U*+g[J>>2]+ +g[m>>2];g[O+96+4>>2]=V;g[O+96+8>>2]=W;g[O+96+12>>2]=0.0;k=O+112+48|0;i=0;do{Bj(O+80|0,d,+(i|0)*6.283185005187988*.03125,N);S=+g[O+80>>2];T=+g[O+80+4>>2];U=+g[O+80+8>>2];V=S*+g[K>>2]+T*+g[L>>2]+U*+g[n>>2]+ +g[G>>2];W=S*+g[o>>2]+T*+g[p>>2]+U*+g[q>>2]+ +g[I>>2];g[O+80>>2]=S*+g[O+112>>2]+T*+g[H>>2]+U*+g[J>>2]+ +g[m>>2];g[O+80+4>>2]=V;g[O+80+8>>2]=W;g[O+80+12>>2]=0.0;M=sb[c[(c[b>>2]|0)+20>>2]&127](b)|0;B=c[(c[M>>2]|0)+16>>2]|0;c[O+64>>2]=0;c[O+64+4>>2]=0;c[O+64+8>>2]=0;c[O+64+12>>2]=0;Pb[B&127](M,O+96|0,O+80|0,O+64|0);if(!(i&3)){M=sb[c[(c[b>>2]|0)+20>>2]&127](b)|0;B=c[(c[M>>2]|0)+16>>2]|0;c[O+64>>2]=0;c[O+64+4>>2]=0;c[O+64+8>>2]=0;c[O+64+12>>2]=0;Pb[B&127](M,k,O+80|0,O+64|0)}c[O+96>>2]=c[O+80>>2];c[O+96+4>>2]=c[O+80+4>>2];c[O+96+8>>2]=c[O+80+8>>2];c[O+96+12>>2]=c[O+80+12>>2];i=i+1|0}while((i|0)!=32);C=+g[d+452>>2];F=+g[d+512>>2];i=c[d+32>>2]|0;if(+g[i+404>>2]>0.0){S=+g[d+364>>2];T=+g[i+4>>2];U=+g[d+364+16>>2];V=+g[i+8>>2];W=+g[d+364+32>>2];x=+g[i+12>>2];Q=+g[d+364+4>>2];R=+g[d+364+20>>2];w=+g[d+364+36>>2];X=+g[d+364+8>>2];P=+g[d+364+24>>2];v=+g[d+364+40>>2];Z=+g[i+20>>2];Y=+g[i+24>>2];u=+g[i+28>>2];t=+g[i+36>>2];s=+g[i+40>>2];r=+g[i+44>>2];f=+g[d+364+48>>2];e=+g[d+364+52>>2];A=+g[d+364+56>>2];y=r*A;z=Z*f+Y*e+u*A;A=T*f+V*e+x*A;e=t*f+s*e;f=X*t+P*s+v*r;h=Q*t+R*s+w*r;r=S*t+U*s+W*r;s=X*Z+P*Y+v*u;t=Q*Z+R*Y+w*u;u=S*Z+U*Y+W*u;v=T*X+V*P+x*v;w=T*Q+V*R+x*w;x=S*T+U*V+W*x}else{i=c[d+28>>2]|0;V=+g[d+300>>2];W=+g[i+4>>2];X=+g[d+300+16>>2];Y=+g[i+8>>2];Z=+g[d+300+32>>2];x=+g[i+12>>2];T=+g[d+300+4>>2];U=+g[d+300+20>>2];w=+g[d+300+36>>2];R=+g[d+300+8>>2];S=+g[d+300+24>>2];v=+g[d+300+40>>2];P=+g[i+20>>2];Q=+g[i+24>>2];u=+g[i+28>>2];t=+g[i+36>>2];s=+g[i+40>>2];r=+g[i+44>>2];f=+g[d+300+48>>2];e=+g[d+300+52>>2];A=+g[d+300+56>>2];y=r*A;z=P*f+Q*e+u*A;A=W*f+Y*e+x*A;e=t*f+s*e;f=R*t+S*s+v*r;h=T*t+U*s+w*r;r=V*t+X*s+Z*r;s=R*P+S*Q+v*u;t=T*P+U*Q+w*u;u=V*P+X*Q+Z*u;v=W*R+Y*S+x*v;w=W*T+Y*U+x*w;x=V*W+X*Y+Z*x}X=+g[i+52>>2]+A;Y=z+ +g[i+56>>2];Z=e+y+ +g[i+60>>2];g[O+112>>2]=x;g[H>>2]=w;g[J>>2]=v;g[O+112+12>>2]=0.0;g[K>>2]=u;g[L>>2]=t;g[n>>2]=s;g[O+112+28>>2]=0.0;g[o>>2]=r;g[p>>2]=h;g[q>>2]=f;g[O+112+44>>2]=0.0;g[m>>2]=X;g[G>>2]=Y;g[I>>2]=Z;g[O+112+60>>2]=0.0;c[O+80>>2]=c[k>>2];c[O+80+4>>2]=c[k+4>>2];c[O+80+8>>2]=c[k+8>>2];c[O+80+12>>2]=c[k+12>>2];g[O+64>>2]=x;g[O+64+4>>2]=u;g[O+64+8>>2]=r;g[O+64+12>>2]=0.0;g[O+48>>2]=w;g[O+48+4>>2]=t;g[O+48+8>>2]=h;g[O+48+12>>2]=0.0;b=sb[c[(c[b>>2]|0)+20>>2]&127](b)|0;d=c[(c[b>>2]|0)+68>>2]|0;c[O+32>>2]=0;c[O+32+4>>2]=0;c[O+32+8>>2]=0;c[O+32+12>>2]=0;Sb[d&0](b,O+80|0,O+64|0,O+48|0,N,N,-F-C,C-F,O+32|0,1,10.0)}l=O;return}case 6:case 9:{c[O+112>>2]=c[d+1064>>2];c[O+112+4>>2]=c[d+1064+4>>2];c[O+112+8>>2]=c[d+1064+8>>2];c[O+112+12>>2]=c[d+1064+12>>2];k=d+1064+16|0;m=O+112+16|0;c[m>>2]=c[k>>2];c[m+4>>2]=c[k+4>>2];c[m+8>>2]=c[k+8>>2];c[m+12>>2]=c[k+12>>2];n=d+1064+32|0;o=O+112+32|0;c[o>>2]=c[n>>2];c[o+4>>2]=c[n+4>>2];c[o+8>>2]=c[n+8>>2];c[o+12>>2]=c[n+12>>2];p=O+112+48|0;q=d+1064+48|0;c[p>>2]=c[q>>2];c[p+4>>2]=c[q+4>>2];c[p+8>>2]=c[q+8>>2];c[p+12>>2]=c[q+12>>2];if(B){L=sb[c[(c[b>>2]|0)+20>>2]&127](b)|0;Jb[c[(c[L>>2]|0)+64>>2]&7](L,O+112|0,N);c[O+112>>2]=c[d+1128>>2];c[O+112+4>>2]=c[d+1128+4>>2];c[O+112+8>>2]=c[d+1128+8>>2];c[O+112+12>>2]=c[d+1128+12>>2];c[m>>2]=c[d+1128+16>>2];c[m+4>>2]=c[d+1128+16+4>>2];c[m+8>>2]=c[d+1128+16+8>>2];c[m+12>>2]=c[d+1128+16+12>>2];c[o>>2]=c[d+1128+32>>2];c[o+4>>2]=c[d+1128+32+4>>2];c[o+8>>2]=c[d+1128+32+8>>2];c[o+12>>2]=c[d+1128+32+12>>2];c[p>>2]=c[d+1128+48>>2];c[p+4>>2]=c[d+1128+48+4>>2];c[p+8>>2]=c[d+1128+48+8>>2];c[p+12>>2]=c[d+1128+48+12>>2];L=sb[c[(c[b>>2]|0)+20>>2]&127](b)|0;Jb[c[(c[L>>2]|0)+64>>2]&7](L,O+112|0,N)}else{c[O+112>>2]=c[d+1128>>2];c[O+112+4>>2]=c[d+1128+4>>2];c[O+112+8>>2]=c[d+1128+8>>2];c[O+112+12>>2]=c[d+1128+12>>2];c[m>>2]=c[d+1128+16>>2];c[m+4>>2]=c[d+1128+16+4>>2];c[m+8>>2]=c[d+1128+16+8>>2];c[m+12>>2]=c[d+1128+16+12>>2];c[o>>2]=c[d+1128+32>>2];c[o+4>>2]=c[d+1128+32+4>>2];c[o+8>>2]=c[d+1128+32+8>>2];c[o+12>>2]=c[d+1128+32+12>>2];c[p>>2]=c[d+1128+48>>2];c[p+4>>2]=c[d+1128+48+4>>2];c[p+8>>2]=c[d+1128+48+8>>2];c[p+12>>2]=c[d+1128+48+12>>2]}if(M){c[O+112>>2]=c[d+1064>>2];c[O+112+4>>2]=c[d+1064+4>>2];c[O+112+8>>2]=c[d+1064+8>>2];c[O+112+12>>2]=c[d+1064+12>>2];c[m>>2]=c[k>>2];c[m+4>>2]=c[k+4>>2];c[m+8>>2]=c[k+8>>2];c[m+12>>2]=c[k+12>>2];c[o>>2]=c[n>>2];c[o+4>>2]=c[n+4>>2];c[o+8>>2]=c[n+8>>2];c[o+12>>2]=c[n+12>>2];c[p>>2]=c[q>>2];c[p+4>>2]=c[q+4>>2];c[p+8>>2]=c[q+8>>2];c[p+12>>2]=c[q+12>>2];i=d+1128+48|0;c[O+96>>2]=c[O+112+8>>2];c[O+96+4>>2]=c[O+112+24>>2];c[O+96+8>>2]=c[O+112+40>>2];g[O+96+12>>2]=0.0;c[O+80>>2]=c[O+112>>2];c[O+80+4>>2]=c[O+112+16>>2];c[O+80+8>>2]=c[O+112+32>>2];g[O+80+12>>2]=0.0;V=+g[d+932>>2];e=+g[d+932+4>>2];Y=+g[d+996>>2];X=+g[d+996+4>>2];L=sb[c[(c[b>>2]|0)+20>>2]&127](b)|0;M=c[(c[L>>2]|0)+72>>2]|0;c[O+64>>2]=0;c[O+64+4>>2]=0;c[O+64+8>>2]=0;c[O+64+12>>2]=0;Rb[M&0](L,i,O+96|0,O+80|0,N*.8999999761581421,V,e,Y,X,O+64|0,10.0,1);L=c[O+112+20>>2]|0;M=c[O+112+36>>2]|0;c[O+80>>2]=c[O+112+4>>2];c[O+80+4>>2]=L;c[O+80+8>>2]=M;g[O+80+12>>2]=0.0;X=+g[d+1196>>2];Y=+g[d+1200>>2];e=+D(+X);X=+E(+X);V=+D(+Y);Y=+E(+Y);W=+g[O+80>>2];Z=+g[O+80+4>>2];f=+g[O+80+8>>2];g[O+64>>2]=e*V*W+e*Y*Z-X*f;g[O+64+4>>2]=V*Z-Y*W;g[O+64+8>>2]=X*V*W+X*Y*Z+e*f;c[O+112>>2]=c[d+1128>>2];c[O+112+4>>2]=c[d+1128+4>>2];c[O+112+8>>2]=c[d+1128+8>>2];c[O+112+12>>2]=c[d+1128+12>>2];c[m>>2]=c[d+1128+16>>2];c[m+4>>2]=c[d+1128+16+4>>2];c[m+8>>2]=c[d+1128+16+8>>2];c[m+12>>2]=c[d+1128+16+12>>2];c[o>>2]=c[d+1128+32>>2];c[o+4>>2]=c[d+1128+32+4>>2];c[o+8>>2]=c[d+1128+32+8>>2];c[o+12>>2]=c[d+1128+32+12>>2];c[p>>2]=c[i>>2];c[p+4>>2]=c[i+4>>2];c[p+8>>2]=c[i+8>>2];c[p+12>>2]=c[i+12>>2];f=-+g[O+112+16>>2];e=-+g[O+112+32>>2];g[O+48>>2]=-+g[O+112>>2];g[O+48+4>>2]=f;g[O+48+8>>2]=e;g[O+48+12>>2]=0.0;e=+g[d+868>>2];f=+g[d+868+4>>2];if(!(e>f)){if(e<f){M=sb[c[(c[b>>2]|0)+20>>2]&127](b)|0;L=c[(c[M>>2]|0)+68>>2]|0;c[O+32>>2]=0;c[O+32+4>>2]=0;c[O+32+8>>2]=0;c[O+32+12>>2]=0;Sb[L&0](M,i,O+48|0,O+64|0,N,N,e,f,O+32|0,1,10.0)}}else{M=sb[c[(c[b>>2]|0)+20>>2]&127](b)|0;L=c[(c[M>>2]|0)+68>>2]|0;c[O+32>>2]=0;c[O+32+4>>2]=0;c[O+32+8>>2]=0;c[O+32+12>>2]=0;Sb[L&0](M,i,O+48|0,O+64|0,N,N,-3.1415927410125732,3.1415927410125732,O+32|0,0,10.0)}c[O+112>>2]=c[d+1064>>2];c[O+112+4>>2]=c[d+1064+4>>2];c[O+112+8>>2]=c[d+1064+8>>2];c[O+112+12>>2]=c[d+1064+12>>2];c[m>>2]=c[k>>2];c[m+4>>2]=c[k+4>>2];c[m+8>>2]=c[k+8>>2];c[m+12>>2]=c[k+12>>2];c[o>>2]=c[n>>2];c[o+4>>2]=c[n+4>>2];c[o+8>>2]=c[n+8>>2];c[o+12>>2]=c[n+12>>2];c[p>>2]=c[q>>2];c[p+4>>2]=c[q+4>>2];c[p+8>>2]=c[q+8>>2];c[p+12>>2]=c[q+12>>2];c[O+32>>2]=c[d+680>>2];c[O+32+4>>2]=c[d+680+4>>2];c[O+32+8>>2]=c[d+680+8>>2];c[O+32+12>>2]=c[d+680+12>>2];c[O+16>>2]=c[d+680+16>>2];c[O+16+4>>2]=c[d+680+16+4>>2];c[O+16+8>>2]=c[d+680+16+8>>2];c[O+16+12>>2]=c[d+680+16+12>>2];b=sb[c[(c[b>>2]|0)+20>>2]&127](b)|0;d=c[(c[b>>2]|0)+80>>2]|0;c[O>>2]=0;c[O+4>>2]=0;c[O+8>>2]=0;c[O+12>>2]=0;Tb[d&31](b,O+32|0,O+16|0,O+112|0,O)}l=O;return}case 12:{c[O+112>>2]=c[d+1236>>2];c[O+112+4>>2]=c[d+1236+4>>2];c[O+112+8>>2]=c[d+1236+8>>2];c[O+112+12>>2]=c[d+1236+12>>2];k=d+1236+16|0;m=O+112+16|0;c[m>>2]=c[k>>2];c[m+4>>2]=c[k+4>>2];c[m+8>>2]=c[k+8>>2];c[m+12>>2]=c[k+12>>2];n=d+1236+32|0;o=O+112+32|0;c[o>>2]=c[n>>2];c[o+4>>2]=c[n+4>>2];c[o+8>>2]=c[n+8>>2];c[o+12>>2]=c[n+12>>2];p=O+112+48|0;q=d+1236+48|0;c[p>>2]=c[q>>2];c[p+4>>2]=c[q+4>>2];c[p+8>>2]=c[q+8>>2];c[p+12>>2]=c[q+12>>2];if(B){L=sb[c[(c[b>>2]|0)+20>>2]&127](b)|0;Jb[c[(c[L>>2]|0)+64>>2]&7](L,O+112|0,N);c[O+112>>2]=c[d+1300>>2];c[O+112+4>>2]=c[d+1300+4>>2];c[O+112+8>>2]=c[d+1300+8>>2];c[O+112+12>>2]=c[d+1300+12>>2];c[m>>2]=c[d+1300+16>>2];c[m+4>>2]=c[d+1300+16+4>>2];c[m+8>>2]=c[d+1300+16+8>>2];c[m+12>>2]=c[d+1300+16+12>>2];c[o>>2]=c[d+1300+32>>2];c[o+4>>2]=c[d+1300+32+4>>2];c[o+8>>2]=c[d+1300+32+8>>2];c[o+12>>2]=c[d+1300+32+12>>2];c[p>>2]=c[d+1300+48>>2];c[p+4>>2]=c[d+1300+48+4>>2];c[p+8>>2]=c[d+1300+48+8>>2];c[p+12>>2]=c[d+1300+48+12>>2];L=sb[c[(c[b>>2]|0)+20>>2]&127](b)|0;Jb[c[(c[L>>2]|0)+64>>2]&7](L,O+112|0,N)}else{c[O+112>>2]=c[d+1300>>2];c[O+112+4>>2]=c[d+1300+4>>2];c[O+112+8>>2]=c[d+1300+8>>2];c[O+112+12>>2]=c[d+1300+12>>2];c[m>>2]=c[d+1300+16>>2];c[m+4>>2]=c[d+1300+16+4>>2];c[m+8>>2]=c[d+1300+16+8>>2];c[m+12>>2]=c[d+1300+16+12>>2];c[o>>2]=c[d+1300+32>>2];c[o+4>>2]=c[d+1300+32+4>>2];c[o+8>>2]=c[d+1300+32+8>>2];c[o+12>>2]=c[d+1300+32+12>>2];c[p>>2]=c[d+1300+48>>2];c[p+4>>2]=c[d+1300+48+4>>2];c[p+8>>2]=c[d+1300+48+8>>2];c[p+12>>2]=c[d+1300+48+12>>2]}if(M){c[O+112>>2]=c[d+1236>>2];c[O+112+4>>2]=c[d+1236+4>>2];c[O+112+8>>2]=c[d+1236+8>>2];c[O+112+12>>2]=c[d+1236+12>>2];c[m>>2]=c[k>>2];c[m+4>>2]=c[k+4>>2];c[m+8>>2]=c[k+8>>2];c[m+12>>2]=c[k+12>>2];c[o>>2]=c[n>>2];c[o+4>>2]=c[n+4>>2];c[o+8>>2]=c[n+8>>2];c[o+12>>2]=c[n+12>>2];c[p>>2]=c[q>>2];c[p+4>>2]=c[q+4>>2];c[p+8>>2]=c[q+8>>2];c[p+12>>2]=c[q+12>>2];i=d+1300+48|0;c[O+96>>2]=c[O+112+8>>2];c[O+96+4>>2]=c[O+112+24>>2];c[O+96+8>>2]=c[O+112+40>>2];g[O+96+12>>2]=0.0;c[O+80>>2]=c[O+112>>2];c[O+80+4>>2]=c[O+112+16>>2];c[O+80+8>>2]=c[O+112+32>>2];g[O+80+12>>2]=0.0;V=+g[d+1056>>2];e=+g[d+1060>>2];Y=+g[d+1144>>2];X=+g[d+1144+4>>2];K=sb[c[(c[b>>2]|0)+20>>2]&127](b)|0;L=c[(c[K>>2]|0)+72>>2]|0;c[O+64>>2]=0;c[O+64+4>>2]=0;c[O+64+8>>2]=0;c[O+64+12>>2]=0;Rb[L&0](K,i,O+96|0,O+80|0,N*.8999999761581421,V,e,Y,X,O+64|0,10.0,1);K=c[O+112+4>>2]|0;L=c[O+112+20>>2]|0;M=c[O+112+36>>2]|0;c[O+80>>2]=K;c[O+80+4>>2]=L;c[O+80+8>>2]=M;g[O+80+12>>2]=0.0;X=+g[d+1368>>2];Y=+g[d+1372>>2];e=+D(+X);X=+E(+X);V=+D(+Y);Y=+E(+Y);W=(c[j>>2]=K,+g[j>>2]);Z=(c[j>>2]=L,+g[j>>2]);f=(c[j>>2]=M,+g[j>>2]);g[O+64>>2]=e*V*W+e*Y*Z-X*f;g[O+64+4>>2]=V*Z-Y*W;g[O+64+8>>2]=X*V*W+X*Y*Z+e*f;c[O+112>>2]=c[d+1300>>2];c[O+112+4>>2]=c[d+1300+4>>2];c[O+112+8>>2]=c[d+1300+8>>2];c[O+112+12>>2]=c[d+1300+12>>2];c[m>>2]=c[d+1300+16>>2];c[m+4>>2]=c[d+1300+16+4>>2];c[m+8>>2]=c[d+1300+16+8>>2];c[m+12>>2]=c[d+1300+16+12>>2];c[o>>2]=c[d+1300+32>>2];c[o+4>>2]=c[d+1300+32+4>>2];c[o+8>>2]=c[d+1300+32+8>>2];c[o+12>>2]=c[d+1300+32+12>>2];c[p>>2]=c[i>>2];c[p+4>>2]=c[i+4>>2];c[p+8>>2]=c[i+8>>2];c[p+12>>2]=c[i+12>>2];f=-+g[O+112+16>>2];e=-+g[O+112+32>>2];g[O+48>>2]=-+g[O+112>>2];g[O+48+4>>2]=f;g[O+48+8>>2]=e;g[O+48+12>>2]=0.0;e=+g[d+968>>2];f=+g[d+968+4>>2];if(!(e>f)){if(e<f){M=sb[c[(c[b>>2]|0)+20>>2]&127](b)|0;L=c[(c[M>>2]|0)+68>>2]|0;c[O+32>>2]=0;c[O+32+4>>2]=0;c[O+32+8>>2]=0;c[O+32+12>>2]=0;Sb[L&0](M,i,O+48|0,O+64|0,N,N,e,f,O+32|0,1,10.0)}}else{M=sb[c[(c[b>>2]|0)+20>>2]&127](b)|0;L=c[(c[M>>2]|0)+68>>2]|0;c[O+32>>2]=0;c[O+32+4>>2]=0;c[O+32+8>>2]=0;c[O+32+12>>2]=0;Sb[L&0](M,i,O+48|0,O+64|0,N,N,-3.1415927410125732,3.1415927410125732,O+32|0,0,10.0)}c[O+112>>2]=c[d+1236>>2];c[O+112+4>>2]=c[d+1236+4>>2];c[O+112+8>>2]=c[d+1236+8>>2];c[O+112+12>>2]=c[d+1236+12>>2];c[m>>2]=c[k>>2];c[m+4>>2]=c[k+4>>2];c[m+8>>2]=c[k+8>>2];c[m+12>>2]=c[k+12>>2];c[o>>2]=c[n>>2];c[o+4>>2]=c[n+4>>2];c[o+8>>2]=c[n+8>>2];c[o+12>>2]=c[n+12>>2];c[p>>2]=c[q>>2];c[p+4>>2]=c[q+4>>2];c[p+8>>2]=c[q+8>>2];c[p+12>>2]=c[q+12>>2];c[O+32>>2]=c[d+680>>2];c[O+32+4>>2]=c[d+680+4>>2];c[O+32+8>>2]=c[d+680+8>>2];c[O+32+12>>2]=c[d+680+12>>2];c[O+16>>2]=c[d+680+16>>2];c[O+16+4>>2]=c[d+680+16+4>>2];c[O+16+8>>2]=c[d+680+16+8>>2];c[O+16+12>>2]=c[d+680+16+12>>2];b=sb[c[(c[b>>2]|0)+20>>2]&127](b)|0;d=c[(c[b>>2]|0)+80>>2]|0;c[O>>2]=0;c[O+4>>2]=0;c[O+8>>2]=0;c[O+12>>2]=0;Tb[d&31](b,O+32|0,O+16|0,O+112|0,O)}l=O;return}case 7:{c[O+112>>2]=c[d+824>>2];c[O+112+4>>2]=c[d+824+4>>2];c[O+112+8>>2]=c[d+824+8>>2];c[O+112+12>>2]=c[d+824+12>>2];i=O+112+16|0;c[i>>2]=c[d+824+16>>2];c[i+4>>2]=c[d+824+16+4>>2];c[i+8>>2]=c[d+824+16+8>>2];c[i+12>>2]=c[d+824+16+12>>2];k=O+112+32|0;c[k>>2]=c[d+824+32>>2];c[k+4>>2]=c[d+824+32+4>>2];c[k+8>>2]=c[d+824+32+8>>2];c[k+12>>2]=c[d+824+32+12>>2];m=O+112+48|0;c[m>>2]=c[d+824+48>>2];c[m+4>>2]=c[d+824+48+4>>2];c[m+8>>2]=c[d+824+48+8>>2];c[m+12>>2]=c[d+824+48+12>>2];if(B){L=sb[c[(c[b>>2]|0)+20>>2]&127](b)|0;Jb[c[(c[L>>2]|0)+64>>2]&7](L,O+112|0,N);c[O+112>>2]=c[d+888>>2];c[O+112+4>>2]=c[d+888+4>>2];c[O+112+8>>2]=c[d+888+8>>2];c[O+112+12>>2]=c[d+888+12>>2];c[i>>2]=c[d+888+16>>2];c[i+4>>2]=c[d+888+16+4>>2];c[i+8>>2]=c[d+888+16+8>>2];c[i+12>>2]=c[d+888+16+12>>2];c[k>>2]=c[d+888+32>>2];c[k+4>>2]=c[d+888+32+4>>2];c[k+8>>2]=c[d+888+32+8>>2];c[k+12>>2]=c[d+888+32+12>>2];c[m>>2]=c[d+888+48>>2];c[m+4>>2]=c[d+888+48+4>>2];c[m+8>>2]=c[d+888+48+8>>2];c[m+12>>2]=c[d+888+48+12>>2];L=sb[c[(c[b>>2]|0)+20>>2]&127](b)|0;Jb[c[(c[L>>2]|0)+64>>2]&7](L,O+112|0,N)}else{c[O+112>>2]=c[d+888>>2];c[O+112+4>>2]=c[d+888+4>>2];c[O+112+8>>2]=c[d+888+8>>2];c[O+112+12>>2]=c[d+888+12>>2];c[i>>2]=c[d+888+16>>2];c[i+4>>2]=c[d+888+16+4>>2];c[i+8>>2]=c[d+888+16+8>>2];c[i+12>>2]=c[d+888+16+12>>2];c[k>>2]=c[d+888+32>>2];c[k+4>>2]=c[d+888+32+4>>2];c[k+8>>2]=c[d+888+32+8>>2];c[k+12>>2]=c[d+888+32+12>>2];c[m>>2]=c[d+888+48>>2];c[m+4>>2]=c[d+888+48+4>>2];c[m+8>>2]=c[d+888+48+8>>2];c[m+12>>2]=c[d+888+48+12>>2]}if(M){G=(a[d+180>>0]|0)==0?d+888|0:d+824|0;H=c[G>>2]|0;K=c[G+4>>2]|0;I=c[G+16>>2]|0;L=c[G+20>>2]|0;J=c[G+32>>2]|0;M=c[G+36>>2]|0;C=+g[G+48>>2];R=+g[G+52>>2];V=+g[G+56>>2];Z=+g[d+184>>2];Q=(c[j>>2]=H,+g[j>>2]);P=(c[j>>2]=K,+g[j>>2])*0.0;F=+g[G+8>>2]*0.0;U=(c[j>>2]=I,+g[j>>2]);T=(c[j>>2]=L,+g[j>>2])*0.0;S=+g[G+24>>2]*0.0;Y=(c[j>>2]=J,+g[j>>2]);X=(c[j>>2]=M,+g[j>>2])*0.0;W=+g[G+40>>2]*0.0;g[O+96>>2]=C+(F+(P+Z*Q));g[O+96+4>>2]=R+(S+(T+Z*U));g[O+96+8>>2]=V+(W+(X+Z*Y));g[O+96+12>>2]=0.0;Z=+g[d+188>>2];g[O+80>>2]=C+(F+(P+Z*Q));g[O+80+4>>2]=R+(S+(T+Z*U));g[O+80+8>>2]=V+(W+(X+Z*Y));g[O+80+12>>2]=0.0;G=sb[c[(c[b>>2]|0)+20>>2]&127](b)|0;B=c[(c[G>>2]|0)+16>>2]|0;c[O+64>>2]=0;c[O+64+4>>2]=0;c[O+64+8>>2]=0;c[O+64+12>>2]=0;Pb[B&127](G,O+96|0,O+80|0,O+64|0);c[O+64>>2]=H;c[O+64+4>>2]=I;c[O+64+8>>2]=J;g[O+64+12>>2]=0.0;c[O+48>>2]=K;c[O+48+4>>2]=L;c[O+48+8>>2]=M;g[O+48+12>>2]=0.0;Y=+g[d+192>>2];Z=+g[d+196>>2];b=sb[c[(c[b>>2]|0)+20>>2]&127](b)|0;M=c[(c[b>>2]|0)+68>>2]|0;c[O+32>>2]=0;c[O+32+4>>2]=0;c[O+32+8>>2]=0;c[O+32+12>>2]=0;Sb[M&0](b,d+888+48|0,O+64|0,O+48|0,N,N,Y,Z,O+32|0,1,10.0)}l=O;return}default:{l=O;return}}}function $b(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var h=0,i=0,j=0,k=0.0,m=0,n=0,o=0,p=0.0,q=0.0,r=0.0,s=0.0,t=0.0,u=0.0,v=0.0,w=0.0,x=0.0,y=0.0,z=0.0,C=0,D=0.0,E=0.0,F=0.0,G=0.0,H=0.0,I=0.0,J=0.0,K=0.0,L=0.0,M=0.0,N=0.0,O=0.0,P=0.0,Q=0,R=0,S=0,T=0,U=0.0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0;ja=l;l=l+64|0;if((e|0)<=0){l=ja;return}$=ja+16+4|0;aa=ja+16+8|0;Y=0;do{ba=c[d+(Y<<2)>>2]|0;ca=c[ba+772>>2]|0;da=c[ba+776>>2]|0;ea=ud(b,ca,+g[f+12>>2])|0;fa=ud(b,da,+g[f+12>>2])|0;ga=c[b+16>>2]|0;O=+g[ga+(ea*244|0)+128>>2];P=+g[ga+(ea*244|0)+132>>2];U=+g[ga+(ea*244|0)+136>>2];if(!(O*O+P*P+U*U<1.4210854715202004e-14?(O=+g[ga+(fa*244|0)+128>>2],P=+g[ga+(fa*244|0)+132>>2],U=+g[ga+(fa*244|0)+136>>2],O*O+P*P+U*U<1.4210854715202004e-14):0))ia=5;if((ia|0)==5?(ia=0,ha=c[ba+780>>2]|0,(ha|0)>0):0){Z=0;h=ha;do{W=ba+4+(Z*192|0)|0;m=ba+4+(Z*192|0)+80|0;if(+g[m>>2]<=+g[ba+788>>2]){X=c[b+28>>2]|0;if((X|0)==(c[b+32>>2]|0)?(_=(X|0)==0?1:X<<1,(X|0)<(_|0)):0){if(!_){h=0;j=X}else{c[6897]=(c[6897]|0)+1;h=ec((_*152|3)+16|0)|0;if(!h)h=0;else{c[(h+4+15&-16)+-4>>2]=h;h=h+4+15&-16}j=c[b+28>>2]|0}if((j|0)>0){i=0;do{vh(h+(i*152|0)|0,(c[b+36>>2]|0)+(i*152|0)|0,152)|0;i=i+1|0}while((i|0)!=(j|0))}i=c[b+36>>2]|0;if(i|0){if(a[b+40>>0]|0){c[6898]=(c[6898]|0)+1;md(c[i+-4>>2]|0)}c[b+36>>2]=0}a[b+40>>0]=1;c[b+36>>2]=h;c[b+32>>2]=_;h=c[b+28>>2]|0}else h=X;c[b+28>>2]=h+1;V=c[b+36>>2]|0;c[V+(X*152|0)+144>>2]=ea;c[V+(X*152|0)+148>>2]=fa;c[V+(X*152|0)+132>>2]=W;y=+g[ba+4+(Z*192|0)+48>>2]-+g[ca+52>>2];z=+g[ba+4+(Z*192|0)+52>>2]-+g[ca+56>>2];x=+g[ba+4+(Z*192|0)+56>>2]-+g[ca+60>>2];g[ja+48>>2]=y;g[ja+48+4>>2]=z;g[ja+48+8>>2]=x;g[ja+48+12>>2]=0.0;F=+g[ba+4+(Z*192|0)+32>>2]-+g[da+52>>2];G=+g[ba+4+(Z*192|0)+36>>2]-+g[da+56>>2];D=+g[ba+4+(Z*192|0)+40>>2]-+g[da+60>>2];g[ja+32>>2]=F;g[ja+32+4>>2]=G;g[ja+32+8>>2]=D;g[ja+32+12>>2]=0.0;if(!(c[ga+(ea*244|0)+240>>2]|0)){k=0.0;q=0.0;s=0.0}else{U=+g[ga+(ea*244|0)+192>>2]+ +g[ga+(ea*244|0)+224>>2];s=+g[ga+(ea*244|0)+196>>2]+ +g[ga+(ea*244|0)+228>>2];q=+g[ga+(ea*244|0)+200>>2]+ +g[ga+(ea*244|0)+232>>2];k=+g[ga+(ea*244|0)+176>>2]+ +g[ga+(ea*244|0)+208>>2]+(x*s-z*q);q=+g[ga+(ea*244|0)+180>>2]+ +g[ga+(ea*244|0)+212>>2]+(y*q-x*U);s=+g[ga+(ea*244|0)+184>>2]+ +g[ga+(ea*244|0)+216>>2]+(z*U-y*s)}if(!(c[ga+(fa*244|0)+240>>2]|0)){p=0.0;r=0.0;t=0.0}else{U=+g[ga+(fa*244|0)+192>>2]+ +g[ga+(fa*244|0)+224>>2];t=+g[ga+(fa*244|0)+196>>2]+ +g[ga+(fa*244|0)+228>>2];r=+g[ga+(fa*244|0)+200>>2]+ +g[ga+(fa*244|0)+232>>2];p=+g[ga+(fa*244|0)+176>>2]+ +g[ga+(fa*244|0)+208>>2]+(D*t-G*r);r=+g[ga+(fa*244|0)+180>>2]+ +g[ga+(fa*244|0)+212>>2]+(F*r-D*U);t=+g[ga+(fa*244|0)+184>>2]+ +g[ga+(fa*244|0)+216>>2]+(G*U-F*t)}P=k-p;O=q-r;K=s-t;Q=ba+4+(Z*192|0)+64|0;L=+g[Q>>2];R=ba+4+(Z*192|0)+68|0;M=+g[R>>2];S=ba+4+(Z*192|0)+72|0;N=+g[S>>2];n=c[b+16>>2]|0;i=c[n+(ea*244|0)+240>>2]|0;j=c[n+(fa*244|0)+240>>2]|0;U=+g[f+28>>2];J=+g[f+12>>2];k=+g[f+40>>2];p=+g[f+36>>2];T=ba+4+(Z*192|0)+120|0;h=c[T>>2]|0;if(!(h&6))if(!(h&8))I=p;else{I=J*+g[ba+4+(Z*192|0)+144>>2];k=I+ +g[ba+4+(Z*192|0)+148>>2];k=k<1.1920928955078125e-07?1.1920928955078125e-07:k;I=I/k;k=1.0/k}else{k=(h&2|0)==0?k:+g[ba+4+(Z*192|0)+144>>2];if(!(h&4))I=p;else I=+g[ba+4+(Z*192|0)+148>>2]}H=1.0/J*k;if(i|0){k=((z*N-x*M)*+g[i+324>>2]+(x*L-N*y)*+g[i+328>>2]+(M*y-z*L)*+g[i+332>>2])*+g[i+604>>2];p=((z*N-x*M)*+g[i+340>>2]+(x*L-N*y)*+g[i+344>>2]+(M*y-z*L)*+g[i+348>>2])*+g[i+608>>2];q=((z*N-x*M)*+g[i+356>>2]+(x*L-N*y)*+g[i+360>>2]+(M*y-z*L)*+g[i+364>>2])*+g[i+612>>2]}else{k=0.0;p=0.0;q=0.0}g[V+(X*152|0)+64>>2]=k;g[V+(X*152|0)+68>>2]=p;g[V+(X*152|0)+72>>2]=q;g[V+(X*152|0)+76>>2]=0.0;u=+g[S>>2];v=+g[R>>2];w=+g[Q>>2];if(j|0){r=(+g[j+324>>2]*-(G*u-D*v)+ +g[j+328>>2]*-(D*w-u*F)+ +g[j+332>>2]*-(v*F-G*w))*+g[j+604>>2];s=(+g[j+340>>2]*-(G*u-D*v)+ +g[j+344>>2]*-(D*w-u*F)+ +g[j+348>>2]*-(v*F-G*w))*+g[j+608>>2];t=(+g[j+356>>2]*-(G*u-D*v)+ +g[j+360>>2]*-(D*w-u*F)+ +g[j+364>>2]*-(v*F-G*w))*+g[j+612>>2]}else{r=0.0;s=0.0;t=0.0}g[V+(X*152|0)+80>>2]=r;g[V+(X*152|0)+84>>2]=s;g[V+(X*152|0)+88>>2]=t;g[V+(X*152|0)+92>>2]=0.0;if(i|0)p=+g[i+404>>2]+((p*x-q*z)*+g[Q>>2]+(q*y-x*k)*+g[R>>2]+(z*k-p*y)*+g[S>>2]);else p=0.0;if(j|0){E=-r;k=-s;t=-t;k=+g[j+404>>2]+((D*k-G*t)*+g[Q>>2]+(F*t-D*E)*+g[R>>2]+(G*E-F*k)*+g[S>>2])}else k=0.0;g[V+(X*152|0)+108>>2]=U/(H+(p+k));if(i|0){c[V+(X*152|0)+16>>2]=c[Q>>2];c[V+(X*152|0)+16+4>>2]=c[Q+4>>2];c[V+(X*152|0)+16+8>>2]=c[Q+8>>2];c[V+(X*152|0)+16+12>>2]=c[Q+12>>2];g[V+(X*152|0)>>2]=z*N-x*M;g[V+(X*152|0)+4>>2]=x*L-N*y;g[V+(X*152|0)+8>>2]=M*y-z*L;g[V+(X*152|0)+12>>2]=0.0}else{c[V+(X*152|0)>>2]=0;c[V+(X*152|0)+4>>2]=0;c[V+(X*152|0)+8>>2]=0;c[V+(X*152|0)+12>>2]=0;c[V+(X*152|0)+16>>2]=0;c[V+(X*152|0)+20>>2]=0;c[V+(X*152|0)+24>>2]=0;c[V+(X*152|0)+28>>2]=0}if(j|0){t=-+g[R>>2];E=-+g[S>>2];g[V+(X*152|0)+48>>2]=-+g[Q>>2];g[V+(X*152|0)+52>>2]=t;g[V+(X*152|0)+56>>2]=E;g[V+(X*152|0)+60>>2]=0.0;g[V+(X*152|0)+32>>2]=-(G*u-D*v);g[V+(X*152|0)+36>>2]=-(D*w-u*F);g[V+(X*152|0)+40>>2]=-(v*F-G*w);g[V+(X*152|0)+44>>2]=0.0}else{c[V+(X*152|0)+32>>2]=0;c[V+(X*152|0)+32+4>>2]=0;c[V+(X*152|0)+32+8>>2]=0;c[V+(X*152|0)+32+12>>2]=0;c[V+(X*152|0)+32+16>>2]=0;c[V+(X*152|0)+32+20>>2]=0;c[V+(X*152|0)+32+24>>2]=0;c[V+(X*152|0)+32+28>>2]=0}E=+g[m>>2]+ +g[f+64>>2];if(i|0){r=+g[i+392>>2];s=+g[i+396>>2];w=+g[i+388>>2];t=r*x-s*z+ +g[i+372>>2];s=+g[i+376>>2]+(s*y-x*w);r=z*w-r*y+ +g[i+380>>2]}else{t=0.0;s=0.0;r=0.0}if(j|0){k=+g[j+392>>2];p=+g[j+396>>2];z=+g[j+388>>2];q=k*D-p*G+ +g[j+372>>2];p=+g[j+376>>2]+(p*F-D*z);k=G*z-k*F+ +g[j+380>>2]}else{q=0.0;p=0.0;k=0.0}D=(t-q)*+g[Q>>2]+(s-p)*+g[R>>2]+(r-k)*+g[S>>2];c[V+(X*152|0)+104>>2]=c[ba+4+(Z*192|0)+84>>2];h=+A(+D)<+g[f+96>>2];D=h?0.0:-(D*+g[ba+4+(Z*192|0)+96>>2]);D=D<=0.0?0.0:D;h=c[f+72>>2]|0;do if(!(h&4))g[V+(X*152|0)+100>>2]=0.0;else{k=+g[ba+4+(Z*192|0)+124>>2]*+g[f+68>>2];g[V+(X*152|0)+100>>2]=k;do if(i|0){if(!(c[n+(ea*244|0)+240>>2]|0))break;G=k*+g[V+(X*152|0)+20>>2]*+g[n+(ea*244|0)+132>>2]*+g[i+412>>2]*+g[n+(ea*244|0)+116>>2];F=k*+g[V+(X*152|0)+24>>2]*+g[n+(ea*244|0)+136>>2]*+g[i+416>>2]*+g[n+(ea*244|0)+120>>2];g[n+(ea*244|0)+64>>2]=+g[n+(ea*244|0)+112>>2]*k*+g[V+(X*152|0)+16>>2]*+g[n+(ea*244|0)+128>>2]*+g[i+408>>2]+ +g[n+(ea*244|0)+64>>2];g[n+(ea*244|0)+68>>2]=G+ +g[n+(ea*244|0)+68>>2];g[n+(ea*244|0)+72>>2]=F+ +g[n+(ea*244|0)+72>>2];F=k*+g[n+(ea*244|0)+100>>2]*+g[V+(X*152|0)+68>>2];G=k*+g[n+(ea*244|0)+104>>2]*+g[V+(X*152|0)+72>>2];g[n+(ea*244|0)+80>>2]=k*+g[n+(ea*244|0)+96>>2]*+g[V+(X*152|0)+64>>2]+ +g[n+(ea*244|0)+80>>2];g[n+(ea*244|0)+84>>2]=F+ +g[n+(ea*244|0)+84>>2];g[n+(ea*244|0)+88>>2]=G+ +g[n+(ea*244|0)+88>>2]}while(0);if(!j)break;k=+g[V+(X*152|0)+100>>2];if(!(c[n+(fa*244|0)+240>>2]|0))break;G=+g[V+(X*152|0)+88>>2];F=+g[V+(X*152|0)+84>>2];z=+g[V+(X*152|0)+80>>2];x=k*+g[V+(X*152|0)+52>>2]*+g[n+(fa*244|0)+132>>2]*+g[j+412>>2]*+g[n+(fa*244|0)+116>>2];y=k*+g[V+(X*152|0)+56>>2]*+g[n+(fa*244|0)+136>>2]*+g[j+416>>2]*+g[n+(fa*244|0)+120>>2];g[n+(fa*244|0)+64>>2]=+g[n+(fa*244|0)+112>>2]*k*+g[V+(X*152|0)+48>>2]*+g[n+(fa*244|0)+128>>2]*+g[j+408>>2]+ +g[n+(fa*244|0)+64>>2];g[n+(fa*244|0)+68>>2]=x+ +g[n+(fa*244|0)+68>>2];g[n+(fa*244|0)+72>>2]=y+ +g[n+(fa*244|0)+72>>2];F=F*+g[n+(fa*244|0)+100>>2]*-k;G=G*+g[n+(fa*244|0)+104>>2]*-k;g[n+(fa*244|0)+80>>2]=+g[n+(fa*244|0)+80>>2]-z*+g[n+(fa*244|0)+96>>2]*-k;g[n+(fa*244|0)+84>>2]=+g[n+(fa*244|0)+84>>2]-F;g[n+(fa*244|0)+88>>2]=+g[n+(fa*244|0)+88>>2]-G}while(0);g[V+(X*152|0)+96>>2]=0.0;if(!(c[n+(ea*244|0)+240>>2]|0)){k=0.0;p=0.0;q=0.0;r=0.0;s=0.0;t=0.0}else{k=+g[n+(ea*244|0)+208>>2];p=+g[n+(ea*244|0)+212>>2];q=+g[n+(ea*244|0)+216>>2];r=+g[n+(ea*244|0)+224>>2];s=+g[n+(ea*244|0)+228>>2];t=+g[n+(ea*244|0)+232>>2]}if(!(c[n+(fa*244|0)+240>>2]|0)){u=0.0;v=0.0;w=0.0;x=0.0;y=0.0;z=0.0}else{u=+g[n+(fa*244|0)+208>>2];v=+g[n+(fa*244|0)+212>>2];w=+g[n+(fa*244|0)+216>>2];x=+g[n+(fa*244|0)+224>>2];y=+g[n+(fa*244|0)+228>>2];z=+g[n+(fa*244|0)+232>>2]}k=D-((k+ +g[n+(ea*244|0)+176>>2])*+g[V+(X*152|0)+16>>2]+(p+ +g[n+(ea*244|0)+180>>2])*+g[V+(X*152|0)+20>>2]+(q+ +g[n+(ea*244|0)+184>>2])*+g[V+(X*152|0)+24>>2]+((r+ +g[n+(ea*244|0)+192>>2])*+g[V+(X*152|0)>>2]+(s+ +g[n+(ea*244|0)+196>>2])*+g[V+(X*152|0)+4>>2]+(t+ +g[n+(ea*244|0)+200>>2])*+g[V+(X*152|0)+8>>2])+((u+ +g[n+(fa*244|0)+176>>2])*+g[V+(X*152|0)+48>>2]+(v+ +g[n+(fa*244|0)+180>>2])*+g[V+(X*152|0)+52>>2]+(w+ +g[n+(fa*244|0)+184>>2])*+g[V+(X*152|0)+56>>2]+((x+ +g[n+(fa*244|0)+192>>2])*+g[V+(X*152|0)+32>>2]+(y+ +g[n+(fa*244|0)+196>>2])*+g[V+(X*152|0)+36>>2]+(z+ +g[n+(fa*244|0)+200>>2])*+g[V+(X*152|0)+40>>2])));if(E>0.0){p=k-1.0/J*E;k=0.0}else{p=k;k=-(1.0/J*I*E)}J=+g[V+(X*152|0)+108>>2];I=k*J;G=p*J;j=(c[f+52>>2]|0)==0?1:E>+g[f+56>>2];g[V+(X*152|0)+112>>2]=j?I+G:G;g[V+(X*152|0)+128>>2]=j?0.0:I;g[V+(X*152|0)+116>>2]=H*J;g[V+(X*152|0)+120>>2]=0.0;g[V+(X*152|0)+124>>2]=1.0e10;c[V+(X*152|0)+140>>2]=c[b+68>>2];j=ba+4+(Z*192|0)+88|0;if(+g[j>>2]>0.0){td(b,Q,ea,fa,X,+g[ba+4+(Z*192|0)+92>>2]);k=+g[S>>2];if(+A(+k)>.7071067690849304){I=+g[R>>2];J=1.0/+B(+(k*k+I*I));g[ja+16>>2]=0.0;g[$>>2]=-(k*J);g[aa>>2]=I*J;g[ja>>2]=(k*k+I*I)*J;H=+g[Q>>2];g[ja+4>>2]=-(H*I*J);u=H*-(k*J);p=0.0;q=-(k*J);r=I*J;s=(k*k+I*I)*J;k=-(H*I*J)}else{s=+g[Q>>2];I=+g[R>>2];J=1.0/+B(+(s*s+I*I));g[ja+16>>2]=-(I*J);g[$>>2]=s*J;g[aa>>2]=0.0;g[ja>>2]=-(k*s*J);g[ja+4>>2]=k*-(I*J);u=(s*s+I*I)*J;p=-(I*J);q=s*J;r=0.0;s=-(k*s*J);k=k*-(I*J)}t=1.0/+B(+(p*p+q*q+r*r));v=p*t;g[ja+16>>2]=v;w=q*t;g[$>>2]=w;t=r*t;g[aa>>2]=t;J=1.0/+B(+(u*u+(s*s+k*k)));q=s*J;g[ja>>2]=q;p=k*J;g[ja+4>>2]=p;k=u*J;g[ja+8>>2]=k;h=(c[ca+180>>2]&2|0)==0;if(h){r=v;s=w}else{y=+g[ca+4>>2];D=+g[ca+20>>2];F=+g[ca+36>>2];z=+g[ca+8>>2];E=+g[ca+24>>2];H=+g[ca+40>>2];r=+g[ca+12>>2];s=+g[ca+28>>2];J=+g[ca+44>>2];G=(v*y+w*D+t*F)*+g[ca+164>>2];I=(v*z+w*E+t*H)*+g[ca+168>>2];t=(v*r+w*s+t*J)*+g[ca+172>>2];g[ja+16>>2]=y*G+z*I+r*t;g[$>>2]=D*G+E*I+s*t;g[aa>>2]=F*G+H*I+J*t;g[ja+16+12>>2]=0.0;r=y*G+z*I+r*t;s=D*G+E*I+s*t;t=F*G+H*I+J*t}i=(c[da+180>>2]&2|0)==0;if(!i){w=+g[da+4>>2];z=+g[da+20>>2];F=+g[da+36>>2];x=+g[da+8>>2];D=+g[da+24>>2];H=+g[da+40>>2];y=+g[da+12>>2];E=+g[da+28>>2];J=+g[da+44>>2];G=(w*r+z*s+F*t)*+g[da+164>>2];I=(r*x+s*D+t*H)*+g[da+168>>2];t=(r*y+s*E+t*J)*+g[da+172>>2];g[ja+16>>2]=w*G+x*I+y*t;g[$>>2]=z*G+D*I+E*t;g[aa>>2]=F*G+H*I+J*t;g[ja+16+12>>2]=0.0;r=w*G+x*I+y*t;s=z*G+D*I+E*t;t=F*G+H*I+J*t}if(!h){w=+g[ca+4>>2];z=+g[ca+20>>2];F=+g[ca+36>>2];x=+g[ca+8>>2];D=+g[ca+24>>2];H=+g[ca+40>>2];y=+g[ca+12>>2];E=+g[ca+28>>2];J=+g[ca+44>>2];G=(q*w+p*z+k*F)*+g[ca+164>>2];I=(q*x+p*D+k*H)*+g[ca+168>>2];k=(q*y+p*E+k*J)*+g[ca+172>>2];g[ja>>2]=w*G+x*I+y*k;g[ja+4>>2]=z*G+D*I+E*k;g[ja+8>>2]=F*G+H*I+J*k;g[ja+12>>2]=0.0;q=w*G+x*I+y*k;p=z*G+D*I+E*k;k=F*G+H*I+J*k}if(!i){w=+g[da+4>>2];z=+g[da+20>>2];F=+g[da+36>>2];x=+g[da+8>>2];D=+g[da+24>>2];H=+g[da+40>>2];y=+g[da+12>>2];E=+g[da+28>>2];J=+g[da+44>>2];G=(w*q+z*p+F*k)*+g[da+164>>2];I=(q*x+p*D+k*H)*+g[da+168>>2];k=(q*y+p*E+k*J)*+g[da+172>>2];g[ja>>2]=w*G+x*I+y*k;g[ja+4>>2]=z*G+D*I+E*k;g[ja+8>>2]=F*G+H*I+J*k;g[ja+12>>2]=0.0;q=w*G+x*I+y*k;p=z*G+D*I+E*k;k=F*G+H*I+J*k}if(+B(+(r*r+s*s+t*t))>.001)td(b,ja+16|0,ea,fa,X,+g[j>>2]);if(+B(+(q*q+p*p+k*k))>.001)td(b,ja,ea,fa,X,+g[j>>2]);h=c[f+72>>2]|0}do if(!(h&32))ia=83;else{if(!(c[T>>2]&1)){ia=83;break}h=ba+4+(Z*192|0)+152|0;Pc(b,ba+4+(Z*192|0)+160|0,ea,fa,X,W,ja+48|0,ja+32|0,U,f,+g[ba+4+(Z*192|0)+136>>2],+g[h>>2]);if(!(c[f+72>>2]&16))break;Pc(b,ba+4+(Z*192|0)+176|0,ea,fa,X,W,ja+48|0,ja+32|0,U,f,+g[ba+4+(Z*192|0)+140>>2],+g[h>>2])}while(0);do if((ia|0)==83){ia=0;k=+g[Q>>2];v=+g[R>>2];u=+g[S>>2];p=P-(P*L+O*M+K*N)*k;s=O-(P*L+O*M+K*N)*v;r=K-(P*L+O*M+K*N)*u;C=ba+4+(Z*192|0)+160|0;g[ba+4+(Z*192|0)+160>>2]=p;h=ba+4+(Z*192|0)+164|0;g[h>>2]=s;n=ba+4+(Z*192|0)+168|0;g[n>>2]=r;o=ba+4+(Z*192|0)+172|0;g[o>>2]=0.0;if((c[f+72>>2]&64|0)==0?p*p+s*s+r*r>1.1920928955078125e-07:0){k=1.0/+B(+(p*p+s*s+r*r));g[C>>2]=p*k;g[h>>2]=s*k;g[n>>2]=r*k;if(!(c[ca+180>>2]&1)){q=p*k;p=s*k;k=r*k}else{G=+g[ca+4>>2];I=+g[ca+20>>2];L=+g[ca+36>>2];H=+g[ca+8>>2];J=+g[ca+24>>2];N=+g[ca+40>>2];q=+g[ca+12>>2];K=+g[ca+28>>2];P=+g[ca+44>>2];M=(p*k*G+s*k*I+r*k*L)*+g[ca+164>>2];O=(p*k*H+s*k*J+r*k*N)*+g[ca+168>>2];k=(p*k*q+s*k*K+r*k*P)*+g[ca+172>>2];g[C>>2]=G*M+H*O+q*k;g[h>>2]=I*M+J*O+K*k;g[n>>2]=L*M+N*O+P*k;g[o>>2]=0.0;q=G*M+H*O+q*k;p=I*M+J*O+K*k;k=L*M+N*O+P*k}if(c[da+180>>2]&1|0){E=+g[da+4>>2];H=+g[da+20>>2];K=+g[da+36>>2];F=+g[da+8>>2];I=+g[da+24>>2];M=+g[da+40>>2];G=+g[da+12>>2];J=+g[da+28>>2];O=+g[da+44>>2];L=(E*q+H*p+K*k)*+g[da+164>>2];N=(q*F+p*I+k*M)*+g[da+168>>2];P=(q*G+p*J+k*O)*+g[da+172>>2];g[C>>2]=E*L+F*N+G*P;g[h>>2]=H*L+I*N+J*P;g[n>>2]=K*L+M*N+O*P;g[o>>2]=0.0}Pc(b,C,ea,fa,X,W,ja+48|0,ja+32|0,U,f,0.0,0.0);if(!(c[f+72>>2]&16))break;O=+g[h>>2];q=+g[S>>2];L=+g[n>>2];M=+g[R>>2];P=+g[Q>>2];N=+g[C>>2];m=ba+4+(Z*192|0)+176|0;g[ba+4+(Z*192|0)+176>>2]=O*q-L*M;h=ba+4+(Z*192|0)+180|0;i=ba+4+(Z*192|0)+184|0;j=ba+4+(Z*192|0)+188|0;g[j>>2]=0.0;p=1.0/+B(+((O*q-L*M)*(O*q-L*M)+(L*P-q*N)*(L*P-q*N)+(M*N-O*P)*(M*N-O*P)));k=(O*q-L*M)*p;g[m>>2]=k;q=(L*P-q*N)*p;g[h>>2]=q;p=(M*N-O*P)*p;g[i>>2]=p;if(c[ca+180>>2]&1){F=+g[ca+4>>2];I=+g[ca+20>>2];L=+g[ca+36>>2];G=+g[ca+8>>2];J=+g[ca+24>>2];N=+g[ca+40>>2];H=+g[ca+12>>2];K=+g[ca+28>>2];P=+g[ca+44>>2];M=(k*F+q*I+p*L)*+g[ca+164>>2];O=(k*G+q*J+p*N)*+g[ca+168>>2];p=(k*H+q*K+p*P)*+g[ca+172>>2];g[m>>2]=F*M+G*O+H*p;g[h>>2]=I*M+J*O+K*p;g[i>>2]=L*M+N*O+P*p;g[j>>2]=0.0;k=F*M+G*O+H*p;q=I*M+J*O+K*p;p=L*M+N*O+P*p}if(c[da+180>>2]&1|0){E=+g[da+4>>2];H=+g[da+20>>2];K=+g[da+36>>2];F=+g[da+8>>2];I=+g[da+24>>2];M=+g[da+40>>2];G=+g[da+12>>2];J=+g[da+28>>2];O=+g[da+44>>2];L=(E*k+H*q+K*p)*+g[da+164>>2];N=(k*F+q*I+p*M)*+g[da+168>>2];P=(k*G+q*J+p*O)*+g[da+172>>2];g[m>>2]=E*L+F*N+G*P;g[h>>2]=H*L+I*N+J*P;g[i>>2]=K*L+M*N+O*P;g[j>>2]=0.0}Pc(b,m,ea,fa,X,W,ja+48|0,ja+32|0,U,f,0.0,0.0);break}m=ba+4+(Z*192|0)+176|0;if(+A(+u)>.7071067690849304){P=1.0/+B(+(v*v+u*u));g[C>>2]=0.0;g[h>>2]=-(u*P);g[n>>2]=v*P;s=-(k*v*P);t=k*-(u*P);r=(v*v+u*u)*P;q=0.0;p=-(u*P);k=v*P}else{p=1.0/+B(+(k*k+v*v));g[C>>2]=-(v*p);g[h>>2]=k*p;g[n>>2]=0.0;s=u*-(v*p);t=(k*k+v*v)*p;r=-(u*k*p);q=-(v*p);p=k*p;k=0.0}g[m>>2]=r;j=ba+4+(Z*192|0)+180|0;g[j>>2]=s;i=ba+4+(Z*192|0)+184|0;g[i>>2]=t;if(c[ca+180>>2]&1){F=+g[ca+4>>2];I=+g[ca+20>>2];L=+g[ca+36>>2];G=+g[ca+8>>2];J=+g[ca+24>>2];N=+g[ca+40>>2];H=+g[ca+12>>2];K=+g[ca+28>>2];P=+g[ca+44>>2];M=(F*q+I*p+L*k)*+g[ca+164>>2];O=(q*G+p*J+k*N)*+g[ca+168>>2];k=(q*H+p*K+k*P)*+g[ca+172>>2];g[C>>2]=F*M+G*O+H*k;g[h>>2]=I*M+J*O+K*k;g[n>>2]=L*M+N*O+P*k;g[o>>2]=0.0;q=F*M+G*O+H*k;p=I*M+J*O+K*k;k=L*M+N*O+P*k}if(c[da+180>>2]&1|0){E=+g[da+4>>2];H=+g[da+20>>2];K=+g[da+36>>2];F=+g[da+8>>2];I=+g[da+24>>2];M=+g[da+40>>2];G=+g[da+12>>2];J=+g[da+28>>2];O=+g[da+44>>2];L=(E*q+H*p+K*k)*+g[da+164>>2];N=(q*F+p*I+k*M)*+g[da+168>>2];P=(q*G+p*J+k*O)*+g[da+172>>2];g[C>>2]=E*L+F*N+G*P;g[h>>2]=H*L+I*N+J*P;g[n>>2]=K*L+M*N+O*P;g[o>>2]=0.0}Pc(b,C,ea,fa,X,W,ja+48|0,ja+32|0,U,f,0.0,0.0);h=c[f+72>>2]|0;if(h&16){if(c[ca+180>>2]&1|0){E=+g[ca+4>>2];z=+g[m>>2];H=+g[ca+20>>2];D=+g[j>>2];K=+g[ca+36>>2];P=+g[i>>2];F=+g[ca+8>>2];I=+g[ca+24>>2];M=+g[ca+40>>2];G=+g[ca+12>>2];J=+g[ca+28>>2];O=+g[ca+44>>2];L=(E*z+H*D+K*P)*+g[ca+164>>2];N=(z*F+D*I+P*M)*+g[ca+168>>2];P=(z*G+D*J+P*O)*+g[ca+172>>2];g[m>>2]=E*L+F*N+G*P;g[j>>2]=H*L+I*N+J*P;g[i>>2]=K*L+M*N+O*P;g[ba+4+(Z*192|0)+188>>2]=0.0}if(c[da+180>>2]&1|0){E=+g[da+4>>2];z=+g[m>>2];H=+g[da+20>>2];D=+g[j>>2];K=+g[da+36>>2];P=+g[i>>2];F=+g[da+8>>2];I=+g[da+24>>2];M=+g[da+40>>2];G=+g[da+12>>2];J=+g[da+28>>2];O=+g[da+44>>2];L=(E*z+H*D+K*P)*+g[da+164>>2];N=(z*F+D*I+P*M)*+g[da+168>>2];P=(z*G+D*J+P*O)*+g[da+172>>2];g[m>>2]=E*L+F*N+G*P;g[j>>2]=H*L+I*N+J*P;g[i>>2]=K*L+M*N+O*P;g[ba+4+(Z*192|0)+188>>2]=0.0}Pc(b,m,ea,fa,X,W,ja+48|0,ja+32|0,U,f,0.0,0.0);h=c[f+72>>2]|0}if((h&80|0)!=80)break;c[T>>2]=c[T>>2]|1}while(0);m=c[b+16>>2]|0;n=c[m+(ea*244|0)+240>>2]|0;o=c[m+(fa*244|0)+240>>2]|0;i=c[V+(X*152|0)+140>>2]|0;j=c[b+76>>2]|0;h=c[f+72>>2]|0;do if(!(h&4))g[j+(i*152|0)+100>>2]=0.0;else{k=+g[ba+4+(Z*192|0)+128>>2]*+g[f+68>>2];g[j+(i*152|0)+100>>2]=k;if(n|0){O=+g[n+404>>2];U=k*O*+g[j+(i*152|0)+20>>2]*+g[n+412>>2]*+g[m+(ea*244|0)+116>>2];P=k*O*+g[j+(i*152|0)+24>>2]*+g[n+416>>2]*+g[m+(ea*244|0)+120>>2];g[m+(ea*244|0)+64>>2]=k*O*+g[j+(i*152|0)+16>>2]*+g[n+408>>2]*+g[m+(ea*244|0)+112>>2]+ +g[m+(ea*244|0)+64>>2];g[m+(ea*244|0)+68>>2]=U+ +g[m+(ea*244|0)+68>>2];g[m+(ea*244|0)+72>>2]=P+ +g[m+(ea*244|0)+72>>2];P=k*+g[m+(ea*244|0)+100>>2]*+g[j+(i*152|0)+68>>2];U=k*+g[m+(ea*244|0)+104>>2]*+g[j+(i*152|0)+72>>2];g[m+(ea*244|0)+80>>2]=k*+g[m+(ea*244|0)+96>>2]*+g[j+(i*152|0)+64>>2]+ +g[m+(ea*244|0)+80>>2];g[m+(ea*244|0)+84>>2]=P+ +g[m+(ea*244|0)+84>>2];g[m+(ea*244|0)+88>>2]=U+ +g[m+(ea*244|0)+88>>2]}if(!o)break;K=+g[o+404>>2];N=+g[j+(i*152|0)+80>>2];P=+g[j+(i*152|0)+84>>2];U=+g[j+(i*152|0)+88>>2];O=+g[j+(i*152|0)+100>>2];L=+g[j+(i*152|0)+52>>2]*K*+g[o+412>>2]*O*+g[m+(fa*244|0)+116>>2];M=+g[j+(i*152|0)+56>>2]*K*+g[o+416>>2]*O*+g[m+(fa*244|0)+120>>2];g[m+(fa*244|0)+64>>2]=+g[j+(i*152|0)+48>>2]*K*+g[o+408>>2]*O*+g[m+(fa*244|0)+112>>2]+ +g[m+(fa*244|0)+64>>2];g[m+(fa*244|0)+68>>2]=L+ +g[m+(fa*244|0)+68>>2];g[m+(fa*244|0)+72>>2]=M+ +g[m+(fa*244|0)+72>>2];P=P*+g[m+(fa*244|0)+100>>2]*-O;U=U*+g[m+(fa*244|0)+104>>2]*-O;g[m+(fa*244|0)+80>>2]=+g[m+(fa*244|0)+80>>2]-N*+g[m+(fa*244|0)+96>>2]*-O;g[m+(fa*244|0)+84>>2]=+g[m+(fa*244|0)+84>>2]-P;g[m+(fa*244|0)+88>>2]=+g[m+(fa*244|0)+88>>2]-U}while(0);do if(h&16|0){if(!(h&4)){g[j+((i+1|0)*152|0)+100>>2]=0.0;break}k=+g[ba+4+(Z*192|0)+132>>2]*+g[f+68>>2];g[j+((i+1|0)*152|0)+100>>2]=k;if(n|0){O=+g[n+404>>2];U=k*O*+g[j+((i+1|0)*152|0)+20>>2]*+g[m+(ea*244|0)+116>>2];P=k*O*+g[j+((i+1|0)*152|0)+24>>2]*+g[m+(ea*244|0)+120>>2];g[m+(ea*244|0)+64>>2]=k*O*+g[j+((i+1|0)*152|0)+16>>2]*+g[m+(ea*244|0)+112>>2]+ +g[m+(ea*244|0)+64>>2];g[m+(ea*244|0)+68>>2]=U+ +g[m+(ea*244|0)+68>>2];g[m+(ea*244|0)+72>>2]=P+ +g[m+(ea*244|0)+72>>2];P=k*+g[m+(ea*244|0)+100>>2]*+g[j+((i+1|0)*152|0)+68>>2];U=k*+g[m+(ea*244|0)+104>>2]*+g[j+((i+1|0)*152|0)+72>>2];g[m+(ea*244|0)+80>>2]=k*+g[m+(ea*244|0)+96>>2]*+g[j+((i+1|0)*152|0)+64>>2]+ +g[m+(ea*244|0)+80>>2];g[m+(ea*244|0)+84>>2]=P+ +g[m+(ea*244|0)+84>>2];g[m+(ea*244|0)+88>>2]=U+ +g[m+(ea*244|0)+88>>2]}if(!o)break;K=+g[o+404>>2];N=+g[j+((i+1|0)*152|0)+80>>2];P=+g[j+((i+1|0)*152|0)+84>>2];U=+g[j+((i+1|0)*152|0)+88>>2];O=+g[j+((i+1|0)*152|0)+100>>2];L=+g[j+((i+1|0)*152|0)+52>>2]*K*O*+g[m+(fa*244|0)+116>>2];M=+g[j+((i+1|0)*152|0)+56>>2]*K*O*+g[m+(fa*244|0)+120>>2];g[m+(fa*244|0)+64>>2]=+g[j+((i+1|0)*152|0)+48>>2]*K*O*+g[m+(fa*244|0)+112>>2]+ +g[m+(fa*244|0)+64>>2];g[m+(fa*244|0)+68>>2]=L+ +g[m+(fa*244|0)+68>>2];g[m+(fa*244|0)+72>>2]=M+ +g[m+(fa*244|0)+72>>2];P=P*+g[m+(fa*244|0)+100>>2]*-O;U=U*+g[m+(fa*244|0)+104>>2]*-O;g[m+(fa*244|0)+80>>2]=+g[m+(fa*244|0)+80>>2]-N*+g[m+(fa*244|0)+96>>2]*-O;g[m+(fa*244|0)+84>>2]=+g[m+(fa*244|0)+84>>2]-P;g[m+(fa*244|0)+88>>2]=+g[m+(fa*244|0)+88>>2]-U}while(0);h=c[ba+780>>2]|0}Z=Z+1|0}while((Z|0)<(h|0))}Y=Y+1|0}while((Y|0)!=(e|0));l=ja;return}function ac(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=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,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,O=0,P=0,Q=0;L=l;l=l+144|0;switch(d-b|0){case 0:{c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;c[e+12>>2]=0;l=L;return}case 2:{j=c[(c[a+92>>2]|0)+(b<<2)>>2]|0;h=c[j+88>>2]|0;i=c[j+200>>2]|0;g=c[j+92>>2]|0;f=c[j+204>>2]|0;if((h|0)==(i|0)&(g|0)==(f|0))if((c[j+96>>2]|0)==(c[j+208>>2]|0)){c[j+8>>2]=0;c[j>>2]=j;c[j+4>>2]=j;c[e>>2]=j;c[e+4>>2]=j;c[e+8>>2]=j;c[e+12>>2]=j;l=L;return}else f=g;f=g-f|0;do if(f|h-i){c[j>>2]=j+112;c[j+4>>2]=j+112;c[j+112>>2]=j;c[j+116>>2]=j;K=(h-i|0)<0|(h-i|0)==0&(f|0)<0;c[e>>2]=K?j:j+112|0;c[e+4>>2]=K?j+112|0:j;if((f|0)<0|(h-i|0)<0&(f|0)==0){c[e+8>>2]=j;g=j;h=j+112|0;f=j+112|0;break}else{c[e+8>>2]=j+112;g=j;h=j+112|0;f=j;break}}else{h=(c[j+96>>2]|0)>(c[j+208>>2]|0);f=h?j+112|0:j;c[f>>2]=f;c[f+4>>2]=f;c[e>>2]=f;c[e+4>>2]=f;c[e+8>>2]=f;g=f;h=h?j:j+112|0}while(0);c[e+12>>2]=f;a=nf(a,g,h)|0;c[a>>2]=a;c[a+4>>2]=a;c[g+8>>2]=a;a=c[a+8>>2]|0;c[a>>2]=a;c[a+4>>2]=a;c[h+8>>2]=a;l=L;return}case 1:{a=c[(c[a+92>>2]|0)+(b<<2)>>2]|0;c[a+8>>2]=0;c[a>>2]=a;c[a+4>>2]=a;c[e>>2]=a;c[e+4>>2]=a;c[e+8>>2]=a;c[e+12>>2]=a;l=L;return}default:{n=((d-b|0)/2|0)+b|0;m=c[a+92>>2]|0;k=c[m+(n+-1<<2)>>2]|0;i=c[k+88>>2]|0;j=c[k+92>>2]|0;k=c[k+96>>2]|0;a:do if((n|0)<(d|0)){f=n;do{h=c[m+(f<<2)>>2]|0;if((c[h+88>>2]|0)!=(i|0))break a;if((c[h+92>>2]|0)!=(j|0))break a;if((c[h+96>>2]|0)!=(k|0))break a;f=f+1|0}while((f|0)<(d|0))}else f=n;while(0);ac(a,b,n,e);c[L+96>>2]=0;c[L+96+4>>2]=0;c[L+96+8>>2]=0;c[L+96+12>>2]=0;ac(a,f,d,L+96|0);j=c[L+96+4>>2]|0;b:do if(j|0){A=c[e+4>>2]|0;if(!A){c[e>>2]=c[L+96>>2];c[e+4>>2]=c[L+96+4>>2];c[e+8>>2]=c[L+96+8>>2];c[e+12>>2]=c[L+96+12>>2];break}c[a+100>>2]=(c[a+100>>2]|0)+-1;m=c[e+12>>2]|0;h=c[L+96+8>>2]|0;i=c[m+88>>2]|0;c:do if((i|0)==(c[h+88>>2]|0)?(g=c[m+92>>2]|0,(g|0)==(c[h+92>>2]|0)):0){k=c[h+4>>2]|0;if((k|0)==(h|0)){f=c[h+8>>2]|0;if(!f)f=i;else{h=c[f+12>>2]|0;f=c[h+88>>2]|0;g=c[h+92>>2]|0}k=h;d=f+1|0;n=m;o=c[h+96>>2]|0;G=m;break}i=c[h>>2]|0;c[k>>2]=i;c[i+4>>2]=k;if((h|0)==(c[L+96>>2]|0)){f=c[i+88>>2]|0;g=c[k+88>>2]|0;do if((f|0)<(g|0))f=i;else{if((f|0)==(g|0)?(c[i+92>>2]|0)<(c[k+92>>2]|0):0){f=i;break}f=k}while(0);c[L+96>>2]=f}if((h|0)==(j|0)){f=c[i+88>>2]|0;g=c[k+88>>2]|0;do if((f|0)<=(g|0)){if((f|0)==(g|0)?(c[i+92>>2]|0)>(c[k+92>>2]|0):0)break;c[L+96+4>>2]=k;i=k;I=39;break c}while(0);c[L+96+4>>2]=i;I=39}else{i=j;I=39}}else{i=j;I=39}while(0);if((I|0)==39){x=c[e>>2]|0;z=c[L+96>>2]|0;b=A;h=0;H=0;v=1;w=0;n=i;while(1){j=c[n+88>>2]|0;d=c[b+88>>2]|0;g=N(j-d|0,v)|0;d:do if((g|0)<=0){if((g|0)<0){u=(w|0)!=0;k=b;f=n;m=c[b+92>>2]|0;t=c[n+92>>2]|0;while(1){q=c[(u?f+4|0:f)>>2]|0;r=(q|0)==(f|0);s=f+88|0;while(1){b=k+88|0;p=t-m|0;if(!r?(B=c[q+88>>2]|0,C=N(B-j|0,v)|0,D=c[q+92>>2]|0,E=D-t|0,(E|0)>-1):0){if(!C)break;if((C|0)<0?(N(E,g)|0)<=(N(C,p)|0):0)break}o=c[(u?k+4|0:k)>>2]|0;if((o|0)==(k|0))break d;G=c[o+88>>2]|0;d=N(G-(c[b>>2]|0)|0,v)|0;n=c[o+92>>2]|0;m=n-m|0;j=c[s>>2]|0;b=N(j-G|0,v)|0;if(!((m|0)>0&(b|0)<0))break d;if(d|0){if((d|0)>=0)break d;if((N(m,g)|0)>=(N(d,p)|0))break d}k=o;g=b;m=n}f=q;g=N(B-(c[b>>2]|0)|0,v)|0;t=D;j=B}}f=c[b+92>>2]|0;m=(w|0)!=0;g=c[(m?b:b+4|0)>>2]|0;e:do if((g|0)!=(b|0))if(m){j=b;k=f;while(1){if((c[g+88>>2]|0)!=(d|0)){k=j;break e}G=k;k=c[g+92>>2]|0;if((k|0)>(G|0)){k=j;break e}f=c[g>>2]|0;if((f|0)==(b|0)){k=g;break}else{j=g;g=f}}}else{j=b;k=f;while(1){if((c[g+88>>2]|0)!=(d|0)){k=j;break e}G=k;k=c[g+92>>2]|0;if((k|0)>(G|0)){k=j;break e}f=c[g+4>>2]|0;if((f|0)==(b|0)){k=g;break}else{j=g;g=f}}}else k=b;while(0);f=c[n+92>>2]|0;j=c[(m?n+4|0:n)>>2]|0;if((j|0)!=(n|0))if(m){g=f;f=n;while(1){if((c[j+88>>2]|0)!=(d|0))break d;G=g;g=c[j+92>>2]|0;if((g|0)<(G|0))break d;f=c[j+4>>2]|0;if((f|0)==(n|0)){f=j;break}else{G=j;j=f;f=G}}}else{g=f;f=n;while(1){if((c[j+88>>2]|0)!=(d|0))break d;G=g;g=c[j+92>>2]|0;if((g|0)<(G|0))break d;f=c[j>>2]|0;if((f|0)==(n|0)){f=j;break}else{G=j;j=f;f=G}}}else f=n}else{r=(w|0)!=0;j=b;f=n;q=c[n+92>>2]|0;while(1){o=f+88|0;k=j;j=c[j+92>>2]|0;while(1){p=q-j|0;m=c[(r?k:k+4|0)>>2]|0;if((m|0)==(k|0))break;b=c[m+88>>2]|0;d=N(b-(c[k+88>>2]|0)|0,v)|0;n=c[m+92>>2]|0;j=n-j|0;if((j|0)>=1)break;if(d|0){if((d|0)>=0)break;if((N(j,g)|0)>(N(d,p)|0))break}g=N((c[o>>2]|0)-b|0,v)|0;k=m;j=n}n=c[(r?f:f+4|0)>>2]|0;if((n|0)==(f|0))break d;m=c[n+88>>2]|0;b=N(m-(c[o>>2]|0)|0,v)|0;d=c[n+92>>2]|0;j=d-q|0;m=N(m-(c[k+88>>2]|0)|0,v)|0;if(!((j|0)<0&(m|0)>0))break d;if(b|0){if((b|0)>=0)break d;if((N(j,g)|0)>=(N(b,p)|0))break d}g=m;j=k;f=n;q=d}}while(0);g=(w|0)==0;H=g?f:H;h=g?k:h;n=g?z:f;b=g?x:k;w=w+1|0;if((w|0)==2)break;else v=g?-1:v}c[b+4>>2]=n;c[n>>2]=b;c[h>>2]=H;c[H+4>>2]=h;if((c[z+88>>2]|0)<(c[x+88>>2]|0))c[e>>2]=z;if((c[i+88>>2]|0)>=(c[A+88>>2]|0))c[e+4>>2]=i;c[e+12>>2]=c[L+96+12>>2];g=h;k=H;m=H+88|0;v=c[m>>2]|0;q=c[h+88>>2]|0;j=H+92|0;w=c[j>>2]|0;x=c[h+92>>2]|0;i=H+96|0;z=c[i>>2]|0;r=c[h+96>>2]|0;A=((w-x|0)<0)<<31>>31;B=0-(v-q)|0;C=Xu(0,0,B|0,((B|0)<0)<<31>>31|0)|0;C=Pr(C|0,y|0,z-r|0,((z-r|0)<0)<<31>>31|0)|0;D=y;E=Pr(z-r|0,((z-r|0)<0)<<31>>31|0,w-x|0,A|0)|0;e=y;s=Pr(B|0,((B|0)<0)<<31>>31|0,v-q|0,((v-q|0)<0)<<31>>31|0)|0;G=y;F=Pr(w-x|0,A|0,w-x|0,A|0)|0;F=Xu(s|0,G|0,F|0,y|0)|0;G=y;s=c[h+8>>2]|0;c[L+120>>2]=0;if(!s)s=0;else{t=Xu(0,0,w-x|0,A|0)|0;u=y;p=s;f=0;do{n=c[p+12>>2]|0;b=c[n+88>>2]|0;d=c[n+92>>2]|0;n=c[n+96>>2]|0;O=Pr(d-x|0,((d-x|0)<0)<<31>>31|0,B|0,((B|0)<0)<<31>>31|0)|0;o=y;M=Pr(t|0,u|0,b-q|0,((b-q|0)<0)<<31>>31|0)|0;f:do if((O|0)==(M|0)&(o|0)==(y|0)?(M=Pr(C|0,D|0,b-q|0,((b-q|0)<0)<<31>>31|0)|0,o=y,O=Pr(E|0,e|0,d-x|0,((d-x|0)<0)<<31>>31|0)|0,o=iv(O|0,y|0,M|0,o|0)|0,M=y,O=Pr(F|0,G|0,n-r|0,((n-r|0)<0)<<31>>31|0)|0,O=iv(o|0,M|0,O|0,y|0)|0,M=y,(M|0)>0|(M|0)==0&O>>>0>0):0){do if(f|0){o=(c[f+4>>2]|0)==(p|0);if((c[f>>2]|0)!=(p|0))if(o)break;else break f;if(!o)break f;M=c[f+12>>2]|0;P=c[(c[p+8>>2]|0)+12>>2]|0;O=c[P+88>>2]|0;o=c[P+92>>2]|0;P=c[P+96>>2]|0;Q=(c[M+96>>2]|0)-P|0;o=(N(n-P|0,(c[M+92>>2]|0)-o|0)|0)-(N(Q,d-o|0)|0)|0;O=(N(Q,b-O|0)|0)-(N(n-P|0,(c[M+88>>2]|0)-O|0)|0)|0;o=Pr(o|0,((o|0)<0)<<31>>31|0,w-x|0,A|0)|0;M=y;O=Pr(O|0,((O|0)<0)<<31>>31|0,B|0,((B|0)<0)<<31>>31|0)|0;O=iv(o|0,M|0,O|0,y|0)|0;M=y;if((M|0)>0|(M|0)==0&O>>>0>0)break f}while(0);f=p}while(0);p=c[p>>2]|0}while((p|0)!=(s|0));c[L+120>>2]=f;s=f}p=c[H+8>>2]|0;c[L+72>>2]=0;if(!p)f=0;else{q=Xu(0,0,w-x|0,A|0)|0;r=y;o=p;f=0;do{n=c[o+12>>2]|0;b=c[n+88>>2]|0;d=c[n+92>>2]|0;n=c[n+96>>2]|0;O=Pr(d-w|0,((d-w|0)<0)<<31>>31|0,B|0,((B|0)<0)<<31>>31|0)|0;Q=y;P=Pr(q|0,r|0,b-v|0,((b-v|0)<0)<<31>>31|0)|0;do if((O|0)==(P|0)&(Q|0)==(y|0)?(P=Pr(C|0,D|0,b-v|0,((b-v|0)<0)<<31>>31|0)|0,O=y,Q=Pr(E|0,e|0,d-w|0,((d-w|0)<0)<<31>>31|0)|0,O=iv(Q|0,y|0,P|0,O|0)|0,P=y,Q=Pr(F|0,G|0,n-z|0,((n-z|0)<0)<<31>>31|0)|0,Q=iv(O|0,P|0,Q|0,y|0)|0,P=y,(P|0)>0|(P|0)==0&Q>>>0>0):0){if(f|0){if((c[f>>2]|0)!=(o|0))break;if((c[f+4>>2]|0)==(o|0)?(P=c[f+12>>2]|0,M=c[(c[o+8>>2]|0)+12>>2]|0,Q=c[M+88>>2]|0,O=c[M+92>>2]|0,M=c[M+96>>2]|0,u=(c[P+96>>2]|0)-M|0,O=(N(n-M|0,(c[P+92>>2]|0)-O|0)|0)-(N(u,d-O|0)|0)|0,Q=(N(u,b-Q|0)|0)-(N(n-M|0,(c[P+88>>2]|0)-Q|0)|0)|0,O=Pr(O|0,((O|0)<0)<<31>>31|0,w-x|0,A|0)|0,P=y,Q=Pr(Q|0,((Q|0)<0)<<31>>31|0,B|0,((B|0)<0)<<31>>31|0)|0,Q=iv(O|0,P|0,Q|0,y|0)|0,P=y,!((P|0)>0|(P|0)==0&Q>>>0>0)):0)break}f=o}while(0);o=c[o>>2]|0}while((o|0)!=(p|0));c[L+72>>2]=f}if((s|0)!=0|(f|0)!=0){fc(a,h,H,L+120|0,L+72|0);f=c[L+120>>2]|0;if(f){h=c[f+12>>2]|0;g=h}f=c[L+72>>2]|0;if(!f){f=h;h=H}else{Q=c[f+12>>2]|0;k=Q;m=Q+88|0;i=Q+96|0;j=Q+92|0;f=h;h=Q}}else{f=h;h=H}d=c[m>>2]|0;n=g;o=(c[i>>2]|0)+1|0;g=c[j>>2]|0;G=f}e=0;f=0;b=0;A=0;F=1;C=0;D=0;i=0;B=0;z=n;w=h;v=G;while(1){x=c[v+88>>2]|0;H=(c[w+88>>2]|0)-x|0;Q=c[v+92>>2]|0;E=(c[w+92>>2]|0)-Q|0;M=c[v+96>>2]|0;t=(c[w+96>>2]|0)-M|0;c[L+120>>2]=H;c[L+120+4>>2]=E;c[L+120+8>>2]=t;c[L+120+12>>2]=-1;x=d-x|0;Q=g-Q|0;M=o-M|0;u=(N(Q,t)|0)-(N(M,E)|0)|0;M=(N(M,H)|0)-(N(x,t)|0)|0;Q=(N(x,E)|0)-(N(Q,H)|0)|0;c[L+72>>2]=u;c[L+72+4>>2]=((u|0)<0)<<31>>31;c[L+72+8>>2]=M;c[L+72+8+4>>2]=((M|0)<0)<<31>>31;c[L+72+16>>2]=Q;c[L+72+16+4>>2]=((Q|0)<0)<<31>>31;x=Pr(Q|0,((Q|0)<0)<<31>>31|0,E|0,((E|0)<0)<<31>>31|0)|0;P=y;O=Pr(M|0,((M|0)<0)<<31>>31|0,t|0,((t|0)<0)<<31>>31|0)|0;O=Xu(x|0,P|0,O|0,y|0)|0;P=y;t=Pr(u|0,((u|0)<0)<<31>>31|0,t|0,((t|0)<0)<<31>>31|0)|0;x=y;Q=Pr(Q|0,((Q|0)<0)<<31>>31|0,H|0,((H|0)<0)<<31>>31|0)|0;Q=Xu(t|0,x|0,Q|0,y|0)|0;x=y;H=Pr(M|0,((M|0)<0)<<31>>31|0,H|0,((H|0)<0)<<31>>31|0)|0;M=y;E=Pr(u|0,((u|0)<0)<<31>>31|0,E|0,((E|0)<0)<<31>>31|0)|0;E=Xu(H|0,M|0,E|0,y|0)|0;c[L+48>>2]=O;c[L+48+4>>2]=P;c[L+48+8>>2]=Q;c[L+48+8+4>>2]=x;c[L+48+16>>2]=E;c[L+48+16+4>>2]=y;c[L+24>>2]=0;c[L+24+4>>2]=0;c[L+24+8>>2]=0;c[L+24+12>>2]=0;c[L+24+16>>2]=0;E=nd(a,0,v,L+120|0,L+72|0,L+48|0,L+24|0)|0;c[L>>2]=0;c[L+4>>2]=0;c[L+8>>2]=0;c[L+12>>2]=0;c[L+16>>2]=0;x=nd(a,1,w,L+120|0,L+72|0,L+48|0,L)|0;do if((E|0)!=0|(x|0)!=0){j=E|0?-1:1;do if((E|0)!=0&(x|0)!=0){u=c[L+24+16>>2]|0;j=c[L+16>>2]|0;if((u|0)!=(j|0)){p=u-j|0;break}if(!u)p=0;else{Q=c[L+24>>2]|0;s=c[L+24+4>>2]|0;n=c[L+8>>2]|0;O=c[L+8+4>>2]|0;m=Pr(n|0,0,Q|0,0)|0;j=y;Q=Pr(O|0,0,Q|0,0)|0;P=y;n=Pr(n|0,0,s|0,0)|0;p=y;s=Pr(O|0,0,s|0,0)|0;O=y;n=iv(Q|0,0,n|0,0)|0;Q=y;O=iv(P|0,0,s|0,O|0)|0;p=iv(O|0,y|0,p|0,0)|0;Q=iv(p|0,y|0,Q|0,0)|0;p=y;j=iv(0,n|0,m|0,j|0)|0;m=y;n=iv(Q|0,p|0,(m>>>0<n>>>0|(m|0)==(n|0)&j>>>0<0)&1|0,0)|0;p=y;Q=c[L+24+8>>2]|0;O=c[L+24+8+4>>2]|0;s=c[L>>2]|0;P=c[L+4>>2]|0;r=Pr(s|0,0,Q|0,0)|0;q=y;Q=Pr(P|0,0,Q|0,0)|0;M=y;s=Pr(s|0,0,O|0,0)|0;t=y;O=Pr(P|0,0,O|0,0)|0;P=y;s=iv(Q|0,0,s|0,0)|0;Q=y;P=iv(M|0,0,O|0,P|0)|0;t=iv(P|0,y|0,t|0,0)|0;Q=iv(t|0,y|0,Q|0,0)|0;t=y;q=iv(0,s|0,r|0,q|0)|0;r=y;s=iv(Q|0,t|0,(r>>>0<s>>>0|(r|0)==(s|0)&q>>>0<0)&1|0,0)|0;t=y;if(p>>>0<t>>>0|(p|0)==(t|0)&n>>>0<s>>>0)j=-1;else j=p>>>0>t>>>0|(p|0)==(t|0)&n>>>0>s>>>0?1:m>>>0<r>>>0|(m|0)==(r|0)&j>>>0<q>>>0?-1:(m>>>0>r>>>0|(m|0)==(r|0)&j>>>0>q>>>0)&1;p=N(j,u)|0}}else p=j;while(0);do if(!F)if((p|0)>-1)if((c[L+16>>2]|0)<0&((c[L+8>>2]|0)==0?(c[L+8+4>>2]|0)==0:0)){v=A;n=B;w=b;break}else{I=139;break}else if((c[L+24+16>>2]|0)<0&((c[L+24+8>>2]|0)==0?(c[L+24+8+4>>2]|0)==0:0)){v=A;n=B;w=b;break}else{I=139;break}else I=139;while(0);if((I|0)==139){I=0;m=nf(a,v,w)|0;if(!A)b=m;else c[A+4>>2]=m;c[m>>2]=A;j=c[m+8>>2]|0;if(!B)i=j;else c[B>>2]=j;c[j+4>>2]=B;v=m;n=j;w=b}c[L+116>>2]=E;c[L+112>>2]=x;if(!p){fc(a,z,k,L+116|0,L+112|0);j=c[L+112>>2]|0}else j=x;if((p|0)>-1&(j|0)!=0){b=(C|0)!=0;if(b?(J=c[C>>2]|0,(J|0)!=(x|0)):0){j=J;do{m=j;j=c[j>>2]|0;d=c[m+8>>2]|0;if((j|0)==(m|0))g=0;else{c[j+4>>2]=c[m+4>>2];c[c[m+4>>2]>>2]=j;g=j}c[(c[d+12>>2]|0)+8>>2]=g;g=c[d>>2]|0;if((g|0)==(d|0)){c[(c[m+12>>2]|0)+8>>2]=0;g=d+4|0}else{c[g+4>>2]=c[d+4>>2];c[c[d+4>>2]>>2]=g;c[(c[m+12>>2]|0)+8>>2]=g;g=d+4|0}c[m+4>>2]=0;c[m+4+4>>2]=0;c[m+4+8>>2]=0;c[m+4+12>>2]=0;c[m>>2]=c[a+56>>2];c[a+56>>2]=m;c[g>>2]=0;c[g+4>>2]=0;c[g+8>>2]=0;c[g+12>>2]=0;c[d>>2]=c[a+56>>2];c[a+56>>2]=d;c[a+116>>2]=(c[a+116>>2]|0)+-1}while((j|0)!=(x|0))}do if(n)if(b){c[C>>2]=i;c[i+4>>2]=C;c[n>>2]=x;c[x+4>>2]=n;g=D;i=0;break}else{g=c[x+4>>2]|0;c[g>>2]=i;c[i+4>>2]=g;c[n>>2]=x;c[x+4>>2]=n;g=i;i=0;break}else g=b?D:x;while(0);Q=k;k=c[L+112>>2]|0;s=c[k+8>>2]|0;q=g;A=0;k=c[k+12>>2]|0;j=c[Q+88>>2]|0;o=c[Q+96>>2]|0;g=c[Q+92>>2]|0}else{s=C;q=D;A=n;j=d}if((p|0)<1&(c[L+116>>2]|0)!=0){b=(e|0)!=0;if(b?(K=c[e+4>>2]|0,(K|0)!=(E|0)):0){j=K;do{d=j+4|0;m=j;j=c[d>>2]|0;g=c[m>>2]|0;n=c[m+8>>2]|0;if((g|0)==(m|0))g=0;else{c[g+4>>2]=j;c[c[d>>2]>>2]=g}c[(c[n+12>>2]|0)+8>>2]=g;g=c[n>>2]|0;if((g|0)==(n|0)){c[(c[m+12>>2]|0)+8>>2]=0;g=n+4|0}else{c[g+4>>2]=c[n+4>>2];c[c[n+4>>2]>>2]=g;c[(c[m+12>>2]|0)+8>>2]=g;g=n+4|0}c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;c[d+12>>2]=0;c[m>>2]=c[a+56>>2];c[a+56>>2]=m;c[g>>2]=0;c[g+4>>2]=0;c[g+8>>2]=0;c[g+12>>2]=0;c[n>>2]=c[a+56>>2];c[a+56>>2]=n;c[a+116>>2]=(c[a+116>>2]|0)+-1}while((j|0)!=(E|0))}do if(v)if(b){c[w>>2]=e;c[e+4>>2]=w;c[E>>2]=v;c[v+4>>2]=E;g=0;break}else{f=c[E>>2]|0;c[w>>2]=f;c[f+4>>2]=w;c[E>>2]=v;c[v+4>>2]=E;f=w;g=0;break}else{f=b?f:E;g=w}while(0);Q=z;z=c[L+116>>2]|0;r=c[z+8>>2]|0;v=0;w=g;x=c[Q+88>>2]|0;z=c[z+12>>2]|0;o=c[Q+96>>2]|0;g=c[Q+92>>2]|0}else{r=e;x=j}if((G|0)==(z|0)&(h|0)==(k|0)){if(r){p=r+4|0;j=c[p>>2]|0;if((j|0)!=(f|0))do{d=j+4|0;b=j;j=c[d>>2]|0;m=c[b>>2]|0;n=c[b+8>>2]|0;if((m|0)==(b|0))m=0;else{c[m+4>>2]=j;c[c[d>>2]>>2]=m}c[(c[n+12>>2]|0)+8>>2]=m;m=c[n>>2]|0;if((m|0)==(n|0)){c[(c[b+12>>2]|0)+8>>2]=0;m=n+4|0}else{c[m+4>>2]=c[n+4>>2];c[c[n+4>>2]>>2]=m;c[(c[b+12>>2]|0)+8>>2]=m;m=n+4|0}c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;c[d+12>>2]=0;c[b>>2]=c[a+56>>2];c[a+56>>2]=b;c[m>>2]=0;c[m+4>>2]=0;c[m+8>>2]=0;c[m+12>>2]=0;c[n>>2]=c[a+56>>2];c[a+56>>2]=n;c[a+116>>2]=(c[a+116>>2]|0)+-1}while((j|0)!=(f|0));if(v|0){c[w>>2]=r;c[p>>2]=w;c[f>>2]=v;c[v+4>>2]=f}}else{c[w>>2]=v;c[v+4>>2]=w;c[z+8>>2]=v}if(!s){c[A>>2]=i;c[i+4>>2]=A;c[h+8>>2]=A;u=0;t=F;s=0;n=v;p=A;b=w;m=k;d=x;j=z;break}j=c[s>>2]|0;if((j|0)!=(q|0))do{b=j;j=c[j>>2]|0;d=c[b+8>>2]|0;if((j|0)==(b|0))m=0;else{c[j+4>>2]=c[b+4>>2];c[c[b+4>>2]>>2]=j;m=j}c[(c[d+12>>2]|0)+8>>2]=m;m=c[d>>2]|0;if((m|0)==(d|0)){c[(c[b+12>>2]|0)+8>>2]=0;m=d+4|0}else{c[m+4>>2]=c[d+4>>2];c[c[d+4>>2]>>2]=m;c[(c[b+12>>2]|0)+8>>2]=m;m=d+4|0}c[b+4>>2]=0;c[b+4+4>>2]=0;c[b+4+8>>2]=0;c[b+4+12>>2]=0;c[b>>2]=c[a+56>>2];c[a+56>>2]=b;c[m>>2]=0;c[m+4>>2]=0;c[m+8>>2]=0;c[m+12>>2]=0;c[d>>2]=c[a+56>>2];c[a+56>>2]=d;c[a+116>>2]=(c[a+116>>2]|0)+-1}while((j|0)!=(q|0));if(!A){u=0;t=F;n=v;p=0;b=w;m=k;d=x;j=z}else{c[s>>2]=i;c[i+4>>2]=s;c[A>>2]=q;c[q+4>>2]=A;u=0;t=F;n=v;p=A;b=w;m=k;d=x;j=z}}else{u=1;t=0;n=v;p=A;b=w;m=k;d=x;j=z}}else{u=nf(a,v,w)|0;c[u>>2]=u;c[u+4>>2]=u;c[v+8>>2]=u;u=c[u+8>>2]|0;c[u>>2]=u;c[u+4>>2]=u;c[w+8>>2]=u;u=0;t=F;r=e;s=C;n=A;q=D;p=B;m=k;j=z}while(0);if(!u)break b;e=r;A=n;F=t;C=s;D=q;B=p;k=m;z=j;w=m;v=j}}while(0);l=L;return}}}function bc(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var h=0.0,i=0.0,k=0,m=0,n=0.0,o=0,p=0.0,q=0.0,r=0.0,s=0.0,t=0.0,u=0.0,v=0.0,w=0.0,x=0.0,y=0.0,z=0.0,C=0.0,D=0.0,E=0,F=0,G=0,H=0,I=0,K=0.0,L=0.0,M=0.0,O=0.0,P=0,Q=0,R=0,S=0,T=0.0,U=0.0,V=0.0,W=0.0,X=0.0,Y=0.0,Z=0.0,_=0.0,$=0.0,aa=0.0,ba=0,ca=0.0,da=0.0,ea=0.0,fa=0,ga=0.0,ha=0.0,ia=0.0,ja=0.0,ka=0.0,la=0.0,ma=0.0,na=0.0,oa=0.0,pa=0.0,qa=0.0,ra=0.0,sa=0.0,ta=0.0,ua=0.0,va=0.0,wa=0.0,xa=0.0,ya=0.0,za=0.0,Aa=0.0,Ba=0.0,Ca=0,Da=0,Ea=0;Ea=l;l=l+480|0;c[Ea+48>>2]=c[b>>2];c[Ea>>2]=c[b+64>>2];f=Ea+48+4|0;c[f>>2]=c[b+4>>2];c[Ea+4>>2]=c[b+68>>2];e=Ea+48+8|0;c[e>>2]=c[b+8>>2];c[Ea+8>>2]=c[b+72>>2];F=Ea+48+16|0;c[F>>2]=c[b+16>>2];c[Ea+16>>2]=c[b+80>>2];k=Ea+48+20|0;c[k>>2]=c[b+20>>2];c[Ea+20>>2]=c[b+84>>2];o=Ea+48+24|0;c[o>>2]=c[b+24>>2];c[Ea+24>>2]=c[b+88>>2];E=Ea+48+32|0;c[E>>2]=c[b+32>>2];c[Ea+32>>2]=c[b+96>>2];R=Ea+48+36|0;c[R>>2]=c[b+36>>2];c[Ea+36>>2]=c[b+100>>2];m=Ea+48+40|0;c[m>>2]=c[b+40>>2];c[Ea+40>>2]=c[b+104>>2];Da=c[a+4>>2]|0;ta=+g[Da+32>>2];ua=+g[Da+36>>2];xa=+g[Da+40>>2];va=+ib[c[(c[Da>>2]|0)+48>>2]&15](Da);wa=+ib[c[(c[Da>>2]|0)+48>>2]&15](Da);xa=(xa+ +ib[c[(c[Da>>2]|0)+48>>2]&15](Da))*2.0;Da=c[a+8>>2]|0;ya=+g[Da+32>>2];za=+g[Da+36>>2];W=+g[Da+40>>2];Aa=+ib[c[(c[Da>>2]|0)+48>>2]&15](Da);Ba=+ib[c[(c[Da>>2]|0)+48>>2]&15](Da);W=(W+ +ib[c[(c[Da>>2]|0)+48>>2]&15](Da))*2.0;ca=+g[b+112>>2]-+g[b+48>>2];da=+g[b+116>>2]-+g[b+52>>2];ea=+g[b+120>>2]-+g[b+56>>2];sa=+g[Ea+48>>2];pa=+g[F>>2];qa=+g[E>>2];ma=+g[f>>2];ka=+g[k>>2];la=+g[R>>2];L=+g[e>>2];D=+g[o>>2];K=+g[m>>2];g[Ea+468>>2]=(ta+va)*2.0*.5;g[Ea+468+4>>2]=(ua+wa)*2.0*.5;g[Ea+468+8>>2]=xa*.5;g[Ea+456>>2]=(ya+Aa)*2.0*.5;g[Ea+456+4>>2]=(za+Ba)*2.0*.5;g[Ea+456+8>>2]=W*.5;V=+g[Ea>>2];T=+g[Ea+16>>2];U=+g[Ea+32>>2];aa=+g[Ea+4>>2];_=+g[Ea+20>>2];$=+g[Ea+36>>2];ra=+g[Ea+8>>2];na=+g[Ea+24>>2];oa=+g[Ea+40>>2];M=+A(+(sa*V+pa*T+qa*U));X=+A(+(sa*aa+pa*_+qa*$));ga=+A(+(sa*ra+pa*na+qa*oa));O=+A(+(ma*V+ka*T+la*U));Y=+A(+(ma*aa+ka*_+la*$));ha=+A(+(ma*ra+ka*na+la*oa));ia=+A(+(L*V+D*T+K*U));ja=+A(+(L*aa+D*_+K*$));Z=+A(+(L*ra+D*na+K*oa));p=+A(+(ca*sa+da*pa+ea*qa))-((ta+va)*2.0*.5+(ya+Aa)*2.0*.5*M+(za+Ba)*2.0*.5*X+W*.5*ga);if(p>0.0){l=Ea;return}if(p>-3402823466385288598117041.0e14){G=Ea+48|0;a=1;H=ca*sa+da*pa+ea*qa<0.0&1}else{G=0;a=0;H=0;p=-3402823466385288598117041.0e14}h=+A(+(ca*ma+da*ka+ea*la))-((ua+wa)*2.0*.5+(ya+Aa)*2.0*.5*O+(za+Ba)*2.0*.5*Y+W*.5*ha);if(h>0.0){l=Ea;return}if(h>p){G=f;a=2;H=ca*ma+da*ka+ea*la<0.0&1;p=h}h=+A(+(ca*L+da*D+ea*K))-(xa*.5+(ya+Aa)*2.0*.5*ia+(za+Ba)*2.0*.5*ja+W*.5*Z);if(h>0.0){l=Ea;return}if(h>p){G=e;a=3;H=ca*L+da*D+ea*K<0.0&1;p=h}h=+A(+(ca*V+da*T+ea*U))-((ya+Aa)*2.0*.5+(xa*.5*ia+((ta+va)*2.0*.5*M+(ua+wa)*2.0*.5*O)));if(h>0.0){l=Ea;return}if(h>p){G=Ea;a=4;H=ca*V+da*T+ea*U<0.0&1;p=h}h=+A(+(ca*aa+da*_+ea*$))-((za+Ba)*2.0*.5+(xa*.5*ja+((ta+va)*2.0*.5*X+(ua+wa)*2.0*.5*Y)));if(h>0.0){l=Ea;return}if(h>p){G=Ea+4|0;a=5;H=ca*aa+da*_+ea*$<0.0&1;p=h}h=+A(+(ca*ra+da*na+ea*oa))-(W*.5+(xa*.5*Z+((ta+va)*2.0*.5*ga+(ua+wa)*2.0*.5*ha)));if(h>0.0){l=Ea;return}if(h>p){G=Ea+8|0;a=6;H=ca*ra+da*na+ea*oa<0.0&1;p=h}h=(ca*L+da*D+ea*K)*(ma*V+ka*T+la*U)-(ca*ma+da*ka+ea*la)*(L*V+D*T+K*U);i=+A(+h)-(W*.5*(X+9.999999747378752e-06)+((ua+wa)*2.0*.5*(ia+9.999999747378752e-06)+xa*.5*(O+9.999999747378752e-06)+(za+Ba)*2.0*.5*(ga+9.999999747378752e-06)));if(i>1.1920928955078125e-07){l=Ea;return}t=(L*V+D*T+K*U)*(L*V+D*T+K*U)+0.0;y=(ma*V+ka*T+la*U)*(ma*V+ka*T+la*U);q=+B(+(y+t));if(q>1.1920928955078125e-07?i/q*1.0499999523162842>p:0){G=0;a=7;H=h<0.0&1;p=i/q;n=0.0/q;i=-(L*V+D*T+K*U)/q;h=(ma*V+ka*T+la*U)/q}else{n=0.0;i=0.0;h=0.0}q=(ca*L+da*D+ea*K)*(ma*aa+ka*_+la*$)-(ca*ma+da*ka+ea*la)*(L*aa+D*_+K*$);r=+A(+q)-(W*.5*(M+9.999999747378752e-06)+((ua+wa)*2.0*.5*(ja+9.999999747378752e-06)+xa*.5*(Y+9.999999747378752e-06)+(ya+Aa)*2.0*.5*(ga+9.999999747378752e-06)));if(r>1.1920928955078125e-07){l=Ea;return}u=(L*aa+D*_+K*$)*(L*aa+D*_+K*$)+0.0;z=(ma*aa+ka*_+la*$)*(ma*aa+ka*_+la*$);s=+B(+(z+u));if(s>1.1920928955078125e-07?r/s*1.0499999523162842>p:0){G=0;a=8;H=q<0.0&1;p=r/s;n=0.0/s;i=-(L*aa+D*_+K*$)/s;h=(ma*aa+ka*_+la*$)/s}q=(ca*L+da*D+ea*K)*(ma*ra+ka*na+la*oa)-(ca*ma+da*ka+ea*la)*(L*ra+D*na+K*oa);r=+A(+q)-((za+Ba)*2.0*.5*(M+9.999999747378752e-06)+((ya+Aa)*2.0*.5*(X+9.999999747378752e-06)+((ua+wa)*2.0*.5*(Z+9.999999747378752e-06)+xa*.5*(ha+9.999999747378752e-06))));if(r>1.1920928955078125e-07){l=Ea;return}w=(L*ra+D*na+K*oa)*(L*ra+D*na+K*oa)+0.0;C=(ma*ra+ka*na+la*oa)*(ma*ra+ka*na+la*oa);s=+B(+(C+w));if(s>1.1920928955078125e-07?r/s*1.0499999523162842>p:0){G=0;a=9;H=q<0.0&1;p=r/s;n=0.0/s;i=-(L*ra+D*na+K*oa)/s;h=(ma*ra+ka*na+la*oa)/s}q=(ca*sa+da*pa+ea*qa)*(L*V+D*T+K*U)-(ca*L+da*D+ea*K)*(sa*V+pa*T+qa*U);r=+A(+q)-(W*.5*(Y+9.999999747378752e-06)+((ta+va)*2.0*.5*(ia+9.999999747378752e-06)+xa*.5*(M+9.999999747378752e-06)+(za+Ba)*2.0*.5*(ha+9.999999747378752e-06)));if(r>1.1920928955078125e-07){l=Ea;return}x=(sa*V+pa*T+qa*U)*(sa*V+pa*T+qa*U);s=+B(+(x+t));do if(s>1.1920928955078125e-07){if(!(r/s*1.0499999523162842>p))break;G=0;a=10;H=q<0.0&1;p=r/s;n=(L*V+D*T+K*U)/s;i=0.0/s;h=-(sa*V+pa*T+qa*U)/s}while(0);q=(ca*sa+da*pa+ea*qa)*(L*aa+D*_+K*$)-(ca*L+da*D+ea*K)*(sa*aa+pa*_+qa*$);r=+A(+q)-(W*.5*(O+9.999999747378752e-06)+((ta+va)*2.0*.5*(ja+9.999999747378752e-06)+xa*.5*(X+9.999999747378752e-06)+(ya+Aa)*2.0*.5*(ha+9.999999747378752e-06)));if(r>1.1920928955078125e-07){l=Ea;return}v=(sa*aa+pa*_+qa*$)*(sa*aa+pa*_+qa*$);s=+B(+(v+u));do if(s>1.1920928955078125e-07){if(!(r/s*1.0499999523162842>p))break;G=0;a=11;H=q<0.0&1;p=r/s;n=(L*aa+D*_+K*$)/s;i=0.0/s;h=-(sa*aa+pa*_+qa*$)/s}while(0);q=(ca*sa+da*pa+ea*qa)*(L*ra+D*na+K*oa)-(ca*L+da*D+ea*K)*(sa*ra+pa*na+qa*oa);r=+A(+q)-((za+Ba)*2.0*.5*(O+9.999999747378752e-06)+((ya+Aa)*2.0*.5*(Y+9.999999747378752e-06)+((ta+va)*2.0*.5*(Z+9.999999747378752e-06)+xa*.5*(ga+9.999999747378752e-06))));if(r>1.1920928955078125e-07){l=Ea;return}t=(sa*ra+pa*na+qa*oa)*(sa*ra+pa*na+qa*oa);s=+B(+(t+w));do if(s>1.1920928955078125e-07){if(!(r/s*1.0499999523162842>p))break;G=0;a=12;H=q<0.0&1;p=r/s;n=(L*ra+D*na+K*oa)/s;i=0.0/s;h=-(sa*ra+pa*na+qa*oa)/s}while(0);r=(ca*ma+da*ka+ea*la)*(sa*V+pa*T+qa*U)-(ca*sa+da*pa+ea*qa)*(ma*V+ka*T+la*U);q=+A(+r)-(W*.5*(ja+9.999999747378752e-06)+((ta+va)*2.0*.5*(O+9.999999747378752e-06)+(ua+wa)*2.0*.5*(M+9.999999747378752e-06)+(za+Ba)*2.0*.5*(Z+9.999999747378752e-06)));if(q>1.1920928955078125e-07){l=Ea;return}s=+B(+(y+x+0.0));do if(s>1.1920928955078125e-07){if(!(q/s*1.0499999523162842>p))break;G=0;a=13;H=r<0.0&1;p=q/s;n=-(ma*V+ka*T+la*U)/s;i=(sa*V+pa*T+qa*U)/s;h=0.0/s}while(0);s=(ca*ma+da*ka+ea*la)*(sa*aa+pa*_+qa*$)-(ca*sa+da*pa+ea*qa)*(ma*aa+ka*_+la*$);q=+A(+s)-(W*.5*(ia+9.999999747378752e-06)+((ta+va)*2.0*.5*(Y+9.999999747378752e-06)+(ua+wa)*2.0*.5*(X+9.999999747378752e-06)+(ya+Aa)*2.0*.5*(Z+9.999999747378752e-06)));if(q>1.1920928955078125e-07){l=Ea;return}r=+B(+(z+v+0.0));do if(r>1.1920928955078125e-07){if(!(q/r*1.0499999523162842>p))break;G=0;a=14;H=s<0.0&1;p=q/r;n=-(ma*aa+ka*_+la*$)/r;i=(sa*aa+pa*_+qa*$)/r;h=0.0/r}while(0);s=(ca*ma+da*ka+ea*la)*(sa*ra+pa*na+qa*oa)-(ca*sa+da*pa+ea*qa)*(ma*ra+ka*na+la*oa);q=+A(+s)-((za+Ba)*2.0*.5*(ia+9.999999747378752e-06)+((ya+Aa)*2.0*.5*(ja+9.999999747378752e-06)+((ta+va)*2.0*.5*(ha+9.999999747378752e-06)+(ua+wa)*2.0*.5*(ga+9.999999747378752e-06))));if(q>1.1920928955078125e-07){l=Ea;return}r=+B(+(C+t+0.0));do if(r>1.1920928955078125e-07){if(!(q/r*1.0499999523162842>p)){P=55;break}a=15;H=s<0.0&1;p=q/r;n=-(ma*ra+ka*na+la*oa)/r;i=(sa*ra+pa*na+qa*oa)/r;h=0.0/r;P=58}else P=55;while(0);do if((P|0)==55){if(!a){l=Ea;return}if(!G){P=58;break}Ca=c[G>>2]|0;I=c[G+16>>2]|0;Da=c[G+32>>2]|0;h=(c[j>>2]=Ca,+g[j>>2]);i=(c[j>>2]=I,+g[j>>2]);Q=a;O=p;a=Ca;G=I;I=Da;n=(c[j>>2]=Da,+g[j>>2])}while(0);if((P|0)==58){ra=sa*n+i*+g[f>>2]+h*+g[e>>2];I=(g[j>>2]=ra,c[j>>2]|0);sa=n*+g[F>>2]+i*+g[k>>2]+h*+g[o>>2];G=(g[j>>2]=sa,c[j>>2]|0);n=n*+g[E>>2]+i*+g[R>>2]+h*+g[m>>2];Q=a;O=p;a=I;I=(g[j>>2]=n,c[j>>2]|0);h=ra;i=sa}if(H){a=(g[j>>2]=-h,c[j>>2]|0);G=(g[j>>2]=-i,c[j>>2]|0);I=(g[j>>2]=-n,c[j>>2]|0)}if((Q|0)>6){M=(c[j>>2]=a,+g[j>>2]);L=(c[j>>2]=G,+g[j>>2]);K=(c[j>>2]=I,+g[j>>2]);u=+g[Ea+48>>2];w=+g[F>>2];q=+g[E>>2];h=(u*M+w*L+q*K>0.0?1.0:-1.0)*(ta+va)*2.0*.5;i=+g[f>>2];v=+g[k>>2];t=+g[R>>2];y=(i*M+v*L+t*K>0.0?1.0:-1.0)*(ua+wa)*2.0*.5;z=+g[e>>2];C=+g[o>>2];D=+g[m>>2];n=(z*M+C*L+D*K>0.0?1.0:-1.0)*xa*.5;z=+g[b+48>>2]+h*u+y*i+n*z;C=+g[b+52>>2]+h*w+y*v+n*C;D=+g[b+56>>2]+h*q+y*t+n*D;c[Ea+352>>2]=c[b+112>>2];c[Ea+352+4>>2]=c[b+112+4>>2];c[Ea+352+8>>2]=c[b+112+8>>2];n=+g[Ea>>2];t=+g[Ea+16>>2];y=+g[Ea+32>>2];q=(n*M+t*L+y*K>0.0?-1.0:1.0)*(ya+Aa)*2.0*.5;h=+g[Ea+4>>2];v=+g[Ea+20>>2];w=+g[Ea+36>>2];i=(h*M+v*L+w*K>0.0?-1.0:1.0)*(za+Ba)*2.0*.5;v=+g[Ea+352+4>>2]+q*t+i*v;w=+g[Ea+352+8>>2]+q*y+i*w;y=+g[Ea+8>>2];t=+g[Ea+24>>2];u=+g[Ea+40>>2];x=(y*M+t*L+u*K>0.0?-1.0:1.0)*+g[Ea+456+8>>2];y=+g[Ea+352>>2]+q*n+i*h+x*y;g[Ea+352>>2]=y;g[Ea+352+4>>2]=v+x*t;g[Ea+352+8>>2]=w+x*u;Da=Q+-7|0;h=+g[Ea+48+(((Da|0)/3|0)<<2)>>2];i=+g[Ea+48+(((Da|0)/3|0)+4<<2)>>2];n=+g[Ea+48+(((Da|0)/3|0)+8<<2)>>2];Da=Da+(N((Da|0)/3|0,-3)|0)|0;q=+g[Ea+(Da<<2)>>2];r=+g[Ea+(Da+4<<2)>>2];s=+g[Ea+(Da+8<<2)>>2];p=1.0-(h*q+i*r+n*s)*(h*q+i*r+n*s);if(!(p<=9.999999747378752e-05))h=(((y-z)*h+(v+x*t-C)*i+(w+x*u-D)*n)*(h*q+i*r+n*s)-((y-z)*q+(v+x*t-C)*r+(w+x*u-D)*s))*(1.0/p);else h=0.0;g[Ea+352>>2]=y+h*q;g[Ea+352+4>>2]=v+x*t+h*r;g[Ea+352+8>>2]=w+x*u+h*s;Da=c[(c[d>>2]|0)+16>>2]|0;g[Ea+320>>2]=-M;g[Ea+320+4>>2]=-L;g[Ea+320+8>>2]=-K;g[Ea+320+12>>2]=0.0;Nb[Da&15](d,Ea+320|0,Ea+352|0,O);l=Ea;return}Ca=(Q|0)<4;ga=(c[j>>2]=a,+g[j>>2]);if(Ca){da=(c[j>>2]=G,+g[j>>2]);P=Ea+456|0;ba=Ea+468|0;H=b+112|0;Da=b+48|0;F=Ea+16|0;E=Ea+32|0;fa=Ea;b=Ea+48|0;o=Ea+24|0;m=Ea+40|0;k=Ea+20|0;a=Ea+36|0;f=Ea+4|0;e=Ea+8|0;ca=ga;ea=(c[j>>2]=I,+g[j>>2])}else{da=-(c[j>>2]=G,+g[j>>2]);P=Ea+468|0;ba=Ea+456|0;H=b+48|0;Da=b+112|0;fa=Ea+48|0;b=Ea;a=R;ca=-ga;ea=-(c[j>>2]=I,+g[j>>2])}w=ca*+g[fa>>2]+da*+g[F>>2]+ea*+g[E>>2];g[Ea+440>>2]=w;x=ca*+g[f>>2]+da*+g[k>>2]+ea*+g[a>>2];g[Ea+440+4>>2]=x;y=ca*+g[e>>2]+da*+g[o>>2]+ea*+g[m>>2];g[Ea+440+8>>2]=y;w=+A(+w);x=+A(+x);y=+A(+y);e=x>w?(x>y?1:2):w>y?0:2;S=(x>w?x>y:w>y)?2:1;n=+g[P+(e<<2)>>2];h=+g[H>>2]-+g[Da>>2];i=n*+g[fa+(e<<2)>>2];if(+g[Ea+440+(e<<2)>>2]<0.0){aa=+g[H+8>>2]-+g[Da+8>>2]+n*+g[fa+((e|8)<<2)>>2];$=h+i;_=+g[H+4>>2]-+g[Da+4>>2]+n*+g[fa+((e|4)<<2)>>2]}else{aa=+g[H+8>>2]-+g[Da+8>>2]-n*+g[fa+((e|8)<<2)>>2];$=h-i;_=+g[H+4>>2]-+g[Da+4>>2]-n*+g[fa+((e|4)<<2)>>2]}Q=(Ca?-1:-4)+Q|0;switch(Q|0){case 0:{f=2;e=1;break}case 1:{f=2;e=0;break}default:{f=1;e=0}}R=b+(e<<2)|0;Y=+g[R>>2];W=+g[R+16>>2];X=+g[R+32>>2];Z=$*Y+_*W+aa*X;b=b+(f<<2)|0;O=+g[b>>2];z=+g[b+16>>2];C=+g[b+32>>2];V=$*O+_*z+aa*C;b=fa+((w>y&(x>w^1)&1)<<2)|0;U=+g[b>>2];L=+g[b+16>>2];M=+g[b+32>>2];R=fa+(S<<2)|0;T=+g[R>>2];D=+g[R+16>>2];K=+g[R+32>>2];v=+g[P+((w>y&(x>w^1)&1)<<2)>>2];u=+g[P+(S<<2)>>2];t=(Y*T+W*D+X*K)*u;u=(O*T+z*D+C*K)*u;r=Z-(Y*U+W*L+X*M)*v-t;s=V-(O*U+z*L+C*M)*v-u;h=Z-(Y*U+W*L+X*M)*v+t;g[Ea+416>>2]=h;n=V-(O*U+z*L+C*M)*v+u;p=Z+(Y*U+W*L+X*M)*v+t;q=V+(O*U+z*L+C*M)*v+u;t=Z+(Y*U+W*L+X*M)*v-t;u=V+(O*U+z*L+C*M)*v-u;F=c[ba+(e<<2)>>2]|0;H=c[ba+(f<<2)>>2]|0;v=(c[j>>2]=F,+g[j>>2]);do if(!(v>-r))if(v>-h){f=Ea+256|0;e=1;a=1;i=-h;P=78}else{f=Ea+256|0;e=0;i=-h;P=153}else{g[Ea+256>>2]=r;g[Ea+256+4>>2]=s;if(!(v>-h)){f=Ea+256+8|0;e=2;a=v>-h;i=-h;P=78;break}g[Ea+256+8>>2]=h;g[Ea+256+8+4>>2]=n;f=Ea+256+8|0;e=2;P=152}while(0);do if((P|0)==78){g[f+4>>2]=s+(-v-r)*((n-s)/(h-r));g[f>>2]=-v;f=f+8|0;if(!a){P=153;break}g[f>>2]=h;g[f+4>>2]=n;if(!(e+1&8)){e=e+1|0;P=152}else{e=e+1|0;P=102}}while(0);if((P|0)==152){h=+g[Ea+416>>2];f=f+8|0;i=-h;P=153}a:do if((P|0)==153){if(i<v^v>-p){g[f+4>>2]=n+(-v-h)*((q-n)/(p-h));g[f>>2]=-v;e=e+1|0;if(!(e&8))f=f+8|0;else{P=102;break}}if(v>-p){g[f>>2]=p;g[f+4>>2]=q;e=e+1|0;if(e&8|0){P=102;break}f=f+8|0;if(v>-p^v>-t){a=v>-t;P=159}else{a=v>-t;P=161}}else if(v>-p^v>-t){a=v>-t;P=159}else{a=v>-t;P=161}if((P|0)==159){g[f+4>>2]=q+(-v-p)*((u-q)/(t-p));g[f>>2]=-v;e=e+1|0;if(e&8|0){P=102;break}f=f+8|0;if(a)P=162;else P=163}else if((P|0)==161)if(a)P=162;else P=163;do if((P|0)==162){g[f>>2]=t;g[f+4>>2]=u;e=e+1|0;if(e&8|0){P=102;break a}if(a^v>-r){f=f+8|0;P=165}else P=167}else if((P|0)==163){if(v>-r){P=165;break}if((e|0)>0)P=167;else{e=0;P=79}}while(0);if((P|0)==165){g[f+4>>2]=u+(-v-t)*((s-u)/(r-t));g[f>>2]=-v;e=e+1|0;if(!(e&8))P=167;else{P=102;break}}b:do if((P|0)==167){a=Ea+352|0;E=Ea+256|0;f=0;while(1){h=+g[E>>2];if(h<v){g[a>>2]=h;c[a+4>>2]=c[E+4>>2];f=f+1|0;if(f&8|0){e=f;P=79;break b}a=a+8|0;h=+g[E>>2]}o=(e|0)>1;k=E;E=E+8|0;m=o?E:Ea+256|0;i=+g[m>>2];if(h<v^i<v){Ba=+g[k+4>>2];g[a+4>>2]=Ba+(v-h)*((+g[m+4>>2]-Ba)/(i-h));c[a>>2]=F;f=f+1|0;if(!(f&8))a=a+8|0;else{e=f;P=79;break b}}if(!o)break;else e=e+-1|0}if((f|0)<=0){e=0;P=79;break}p=(c[j>>2]=H,+g[j>>2]);a=Ea+256|0;E=Ea+352|0;e=0;while(1){k=E+4|0;h=+g[k>>2];if(p>-h){c[a>>2]=c[E>>2];c[a+4>>2]=c[k>>2];e=e+1|0;if(e&8|0)break b;h=+g[k>>2];a=a+8|0;n=-h}else n=-h;o=(f|0)>1;k=E;E=E+8|0;m=o?E:Ea+352|0;i=+g[m+4>>2];if(n<p^p>-i){Ba=+g[k>>2];g[a>>2]=Ba+(-p-h)*((+g[m>>2]-Ba)/(i-h));g[a+4>>2]=-p;e=e+1|0;if(!(e&8))a=a+8|0;else break b}if(!o)break;else f=f+-1|0}if((e|0)<=0){e=0;P=79;break}o=e;f=Ea+352|0;E=Ea+256|0;e=0;while(1){a=E+4|0;h=+g[a>>2];if(h<p){c[f>>2]=c[E>>2];c[f+4>>2]=c[a>>2];e=e+1|0;if(e&8|0){P=79;break b}f=f+8|0;h=+g[a>>2]}m=(o|0)>1;a=E;E=E+8|0;k=m?E:Ea+256|0;i=+g[k+4>>2];if(h<p^i<p){Ba=+g[a>>2];g[f>>2]=Ba+(p-h)*((+g[k>>2]-Ba)/(i-h));c[f+4>>2]=H;e=e+1|0;if(!(e&8))f=f+8|0;else{P=79;break b}}if(!m){P=79;break}else o=o+-1|0}}while(0);if((P|0)==79)vh(Ea+256|0,Ea+352|0,e<<3|0)|0;if((e|0)>=1)P=104}while(0);if((P|0)==102)P=104;if((P|0)==104){v=1.0/((Y*U+W*L+X*M)*(O*T+z*D+C*K)-(O*U+z*L+C*M)*(Y*T+W*D+X*K));u=+g[ba+(Q<<2)>>2];t=+g[b>>2];q=+g[R>>2];r=+g[fa+((w>y&(x>w^1)&1|4)<<2)>>2];s=+g[fa+((S|4)<<2)>>2];p=+g[fa+((w>y&(x>w^1)&1|8)<<2)>>2];n=+g[fa+((S|8)<<2)>>2];o=0;a=0;do{f=a<<1;h=+g[Ea+256+(f<<2)>>2];i=+g[Ea+256+((f|1)<<2)>>2];ya=(O*T+z*D+C*K)*v*(h-Z)-(Y*T+W*D+X*K)*v*(i-V);Ba=(Y*U+W*L+X*M)*v*(i-V)-(O*U+z*L+C*M)*v*(h-Z);f=o*3|0;za=$+ya*t+Ba*q;g[Ea+160+(f<<2)>>2]=za;Aa=_+ya*r+Ba*s;g[Ea+160+(f+1<<2)>>2]=Aa;Ba=aa+ya*p+Ba*n;g[Ea+160+(f+2<<2)>>2]=Ba;Ba=u-(ca*za+da*Aa+ea*Ba);g[Ea+128+(o<<2)>>2]=Ba;f=o<<1;if(Ba>=0.0){g[Ea+256+(f<<2)>>2]=h;g[Ea+256+((f|1)<<2)>>2]=i;o=o+1|0}a=a+1|0}while((a|0)!=(e|0));c:do if((o|0)>=1){E=(o|0)<4?o:4;F=(E|0)>1?E:1;if((o|0)<=(F|0))if(Ca){f=Da+4|0;a=Da+8|0;i=-(c[j>>2]=G,+g[j>>2]);h=-(c[j>>2]=I,+g[j>>2]);e=0;while(1){Ca=e*3|0;g[Ea+352>>2]=+g[Ea+160+(Ca<<2)>>2]+ +g[Da>>2];g[Ea+352+4>>2]=+g[Ea+160+(Ca+1<<2)>>2]+ +g[f>>2];g[Ea+352+8>>2]=+g[Ea+160+(Ca+2<<2)>>2]+ +g[a>>2];Ca=c[(c[d>>2]|0)+16>>2]|0;g[Ea+320>>2]=-ga;g[Ea+320+4>>2]=i;g[Ea+320+8>>2]=h;g[Ea+320+12>>2]=0.0;Nb[Ca&15](d,Ea+320|0,Ea+352|0,-+g[Ea+128+(e<<2)>>2]);e=e+1|0;if((e|0)==(o|0))break c}}else{f=Da+4|0;a=Da+8|0;i=(c[j>>2]=G,+g[j>>2]);h=(c[j>>2]=I,+g[j>>2]);e=0;while(1){Ca=e*3|0;Ba=+g[Ea+128+(e<<2)>>2];g[Ea+352>>2]=+g[Ea+160+(Ca<<2)>>2]+ +g[Da>>2]-Ba*ga;g[Ea+352+4>>2]=+g[Ea+160+(Ca+1<<2)>>2]+ +g[f>>2]-Ba*i;g[Ea+352+8>>2]=+g[Ea+160+(Ca+2<<2)>>2]+ +g[a>>2]-Ba*h;Ca=c[(c[d>>2]|0)+16>>2]|0;g[Ea+320>>2]=-ga;g[Ea+320+4>>2]=-i;g[Ea+320+8>>2]=-h;g[Ea+320+12>>2]=0.0;Nb[Ca&15](d,Ea+320|0,Ea+352|0,-Ba);e=e+1|0;if((e|0)==(o|0))break c}}d:do if((o|0)>1){h=+g[Ea+128>>2];e=0;f=1;while(1){i=+g[Ea+128+(f<<2)>>2];a=i>h;e=a?f:e;f=f+1|0;if((f|0)==(o|0))break;else h=a?i:h}switch(o|0){case 1:{f=1;a=Ea+96|0;k=Ea+96|0;P=120;break d}case 2:{h=(+g[Ea+256+4>>2]+ +g[Ea+256+12>>2])*.5;i=(+g[Ea+256>>2]+ +g[Ea+256+8>>2])*.5;f=2;a=Ea+96|0;k=Ea+96|0;P=124;break d}default:{}}a=o+-1|0;s=0.0;t=0.0;h=0.0;f=0;do{fa=f<<1;ya=+g[Ea+256+(fa<<2)>>2];za=+g[Ea+256+(fa+3<<2)>>2];Aa=+g[Ea+256+(fa+2<<2)>>2];Ba=+g[Ea+256+((fa|1)<<2)>>2];h=h+(ya*za-Aa*Ba);t=t+(ya+Aa)*(ya*za-Aa*Ba);s=s+(za+Ba)*(ya*za-Aa*Ba);f=f+1|0}while((f|0)!=(a|0));fa=o<<1;n=+g[Ea+256+(fa+-2<<2)>>2];p=+g[Ea+256+4>>2];q=+g[Ea+256>>2];r=+g[Ea+256+(fa+-1<<2)>>2];i=h+(n*p-q*r);fa=+A(+i)>1.1920928955078125e-07;i=fa?1.0/(i*3.0):999999984306749440.0;if((o|0)>0){h=(s+(p+r)*(n*p-q*r))*i;i=(t+(n+q)*(n*p-q*r))*i;a=Ea+96|0;k=Ea+96|0;m=Ea+352|0;P=127;break}m=e;e=Ea+96|0;f=0}else{e=0;f=o;a=Ea+96|0;k=Ea+96|0;P=120}while(0);if((P|0)==120){h=+g[Ea+256+4>>2];i=+g[Ea+256>>2];P=124}if((P|0)==124){o=f;m=Ea+352|0;P=127}if((P|0)==127){f=0;do{fa=f<<1;g[Ea+352+(f<<2)>>2]=+J(+(+g[Ea+256+((fa|1)<<2)>>2]-h),+(+g[Ea+256+(fa<<2)>>2]-i));f=f+1|0}while((f|0)!=(o|0));f=0;do{c[Ea+320+(f<<2)>>2]=1;f=f+1|0}while((f|0)!=(o|0));m=e;e=a;f=1}a=Ea+320+(m<<2)|0;c[a>>2]=0;c[e>>2]=m;e:do if((E|0)>1){p=+g[Ea+352+(m<<2)>>2];if(!f){e=1;f=Ea+96+4|0;while(1){c[f>>2]=m;c[a>>2]=0;e=e+1|0;if((e|0)==(F|0))break e;else f=f+4|0}}f=1;a=Ea+96+4|0;while(1){n=6.2831854820251465/+(F|0)*+(f|0)+p;n=n>3.1415927410125732?n+-6.2831854820251465:n;c[a>>2]=m;i=1.0e9;k=0;e=m;while(1){do if(!(c[Ea+320+(k<<2)>>2]|0))h=i;else{h=+A(+(+g[Ea+352+(k<<2)>>2]-n));h=h>3.1415927410125732?6.2831854820251465-h:h;if(!(h<i)){h=i;break}c[a>>2]=k;e=k}while(0);k=k+1|0;if((k|0)==(o|0))break;else i=h}c[Ea+320+(e<<2)>>2]=0;f=f+1|0;if((f|0)==(F|0))break;else a=a+4|0}}while(0);if((F|0)>0){f=Da+4|0;a=Da+8|0;i=(c[j>>2]=G,+g[j>>2]);h=(c[j>>2]=I,+g[j>>2]);if(Ca){e=0;do{Ca=c[Ea+96+(e<<2)>>2]|0;g[Ea+352>>2]=+g[Ea+160+(Ca*3<<2)>>2]+ +g[Da>>2];g[Ea+352+4>>2]=+g[Ea+160+((Ca*3|0)+1<<2)>>2]+ +g[f>>2];g[Ea+352+8>>2]=+g[Ea+160+((Ca*3|0)+2<<2)>>2]+ +g[a>>2];fa=c[(c[d>>2]|0)+16>>2]|0;g[Ea+320>>2]=-ga;g[Ea+320+4>>2]=-i;g[Ea+320+8>>2]=-h;g[Ea+320+12>>2]=0.0;Nb[fa&15](d,Ea+320|0,Ea+352|0,-+g[Ea+128+(Ca<<2)>>2]);e=e+1|0}while(e>>>0<F>>>0)}else{e=0;do{fa=c[Ea+96+(e<<2)>>2]|0;ya=+g[Ea+160+(fa*3<<2)>>2]+ +g[Da>>2];g[Ea+352>>2]=ya;za=+g[Ea+160+((fa*3|0)+1<<2)>>2]+ +g[f>>2];g[Ea+352+4>>2]=za;Aa=+g[Ea+160+((fa*3|0)+2<<2)>>2]+ +g[a>>2];g[Ea+352+8>>2]=Aa;Ca=c[(c[d>>2]|0)+16>>2]|0;g[Ea+320>>2]=-ga;g[Ea+320+4>>2]=-i;g[Ea+320+8>>2]=-h;g[Ea+320+12>>2]=0.0;Ba=+g[Ea+128+(fa<<2)>>2];g[Ea+424>>2]=ya-Ba*ga;g[Ea+424+4>>2]=za-Ba*i;g[Ea+424+8>>2]=Aa-Ba*h;g[Ea+424+12>>2]=0.0;Nb[Ca&15](d,Ea+320|0,Ea+424|0,-Ba);e=e+1|0}while(e>>>0<F>>>0)}}}while(0)}l=Ea;return}function cc(b,d,e,f){b=b|0;d=d|0;e=e|0;f=+f;var h=0,i=0.0,k=0.0,m=0.0,n=0.0,o=0.0,p=0,q=0,r=0,s=0.0,t=0.0,u=0.0,v=0.0,w=0,x=0.0,y=0,z=0.0,A=0.0,C=0.0,D=0.0,E=0.0,F=0.0,G=0.0,H=0.0,I=0.0,J=0.0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0.0,S=0.0,T=0.0,U=0.0,V=0.0,W=0.0,X=0.0,Y=0.0,Z=0.0,_=0.0,$=0.0,aa=0.0,ba=0.0;Q=l;l=l+448|0;if(!(a[b+527>>0]|0)){l=Q;return}K=c[b+28>>2]|0;D=+g[b+348>>2];C=+g[b+352>>2];J=+g[b+356>>2];E=+g[K+52>>2];F=D*+g[K+4>>2]+C*+g[K+8>>2]+J*+g[K+12>>2]+E;G=+g[K+56>>2];H=D*+g[K+20>>2]+C*+g[K+24>>2]+J*+g[K+28>>2]+G;I=+g[K+60>>2];J=D*+g[K+36>>2]+C*+g[K+40>>2]+J*+g[K+44>>2]+I;L=c[b+32>>2]|0;C=+g[b+412>>2];D=+g[b+416>>2];t=+g[b+420>>2];k=+g[L+52>>2];m=C*+g[L+4>>2]+D*+g[L+8>>2]+t*+g[L+12>>2]+k;n=+g[L+56>>2];o=C*+g[L+20>>2]+D*+g[L+24>>2]+t*+g[L+28>>2]+n;s=+g[L+60>>2];t=C*+g[L+36>>2]+D*+g[L+40>>2]+t*+g[L+44>>2]+s;if(!(a[b+524>>0]|0)){A=+g[d+192>>2]+ +g[d+80>>2];C=+g[d+196>>2]+ +g[d+84>>2];z=+g[d+200>>2]+ +g[d+88>>2];D=+g[e+192>>2]+ +g[e+80>>2];x=+g[e+196>>2]+ +g[e+84>>2];v=+g[e+200>>2]+ +g[e+88>>2];u=+g[d+176>>2]+ +g[d+64>>2]+((J-I)*C-(H-G)*z)-(+g[e+176>>2]+ +g[e+64>>2]+((t-s)*x-(o-n)*v));v=+g[d+180>>2]+ +g[d+68>>2]+((F-E)*z-(J-I)*A)-(+g[e+180>>2]+ +g[e+68>>2]+((m-k)*v-(t-s)*D));x=+g[d+184>>2]+ +g[d+72>>2]+((H-G)*A-(F-E)*C)-(+g[e+184>>2]+ +g[e+72>>2]+((o-n)*D-(m-k)*x));p=(c[d+240>>2]|0)==0;q=(c[e+240>>2]|0)==0;h=0;do{D=1.0/+g[b+48+(h*84|0)+80>>2];r=b+48+(h*84|0)|0;C=+g[r>>2];w=b+48+(h*84|0)+4|0;A=+g[w>>2];y=b+48+(h*84|0)+8|0;z=+g[y>>2];z=D*(((F-m)*C+(H-o)*A+(J-t)*z)*-.30000001192092896/f)-D*(u*C+v*A+x*z);g[b+36>>2]=+g[b+36>>2]+z;A=+g[y>>2];C=+g[w>>2];D=+g[r>>2];i=+g[K+404>>2];if(!p){T=((H-G)*A-(J-I)*C)*+g[K+356>>2]+((J-I)*D-(F-E)*A)*+g[K+360>>2]+((F-E)*C-(H-G)*D)*+g[K+364>>2];R=((H-G)*A-(J-I)*C)*+g[K+340>>2]+((J-I)*D-(F-E)*A)*+g[K+344>>2]+((F-E)*C-(H-G)*D)*+g[K+348>>2];S=((H-G)*A-(J-I)*C)*+g[K+324>>2]+((J-I)*D-(F-E)*A)*+g[K+328>>2]+((F-E)*C-(H-G)*D)*+g[K+332>>2];V=z*C*i*+g[d+116>>2];U=z*A*i*+g[d+120>>2];g[d+64>>2]=z*D*i*+g[d+112>>2]+ +g[d+64>>2];g[d+68>>2]=V+ +g[d+68>>2];g[d+72>>2]=U+ +g[d+72>>2];R=R*z*+g[d+100>>2];i=T*z*+g[d+104>>2];g[d+80>>2]=S*z*+g[d+96>>2]+ +g[d+80>>2];g[d+84>>2]=R+ +g[d+84>>2];g[d+88>>2]=i+ +g[d+88>>2]}i=+g[L+404>>2];if(!q){V=((o-n)*A-(t-s)*C)*+g[L+356>>2]+((t-s)*D-(m-k)*A)*+g[L+360>>2]+((m-k)*C-(o-n)*D)*+g[L+364>>2];U=((o-n)*A-(t-s)*C)*+g[L+340>>2]+((t-s)*D-(m-k)*A)*+g[L+344>>2]+((m-k)*C-(o-n)*D)*+g[L+348>>2];T=((o-n)*A-(t-s)*C)*+g[L+324>>2]+((t-s)*D-(m-k)*A)*+g[L+328>>2]+((m-k)*C-(o-n)*D)*+g[L+332>>2];R=i*+g[w>>2]*-z*+g[e+116>>2];S=i*+g[y>>2]*-z*+g[e+120>>2];g[e+64>>2]=+g[e+112>>2]*i*+g[r>>2]*-z+ +g[e+64>>2];g[e+68>>2]=R+ +g[e+68>>2];g[e+72>>2]=S+ +g[e+72>>2];U=U*+g[e+100>>2]*-z;V=V*+g[e+104>>2]*-z;g[e+80>>2]=T*+g[e+96>>2]*-z+ +g[e+80>>2];g[e+84>>2]=U+ +g[e+84>>2];g[e+88>>2]=V+ +g[e+88>>2]}h=h+1|0}while((h|0)!=3)}do if(!(a[b+552>>0]|0)){i=+g[b+440>>2];if(!(i>1.1920928955078125e-07)){h=d+192|0;K=d+80|0;p=d+196|0;L=d+84|0;q=d+200|0;M=d+88|0;r=e+192|0;N=e+80|0;w=e+196|0;O=e+84|0;y=e+200|0;P=e+88|0;break}u=+g[d+80>>2];v=+g[d+84>>2];x=+g[d+88>>2];k=+g[e+192>>2]+ +g[e+80>>2]-(+g[d+192>>2]+u);n=+g[e+196>>2]+ +g[e+84>>2]-(+g[d+196>>2]+v);s=+g[e+200>>2]+ +g[e+88>>2]-(+g[d+200>>2]+x);if(k*k+n*n+s*s>1.1920928955078125e-07){o=1.0/+B(+(k*k+n*n+s*s));z=+g[K+324>>2];A=+g[K+340>>2];C=+g[K+356>>2];D=+g[K+328>>2];E=+g[K+344>>2];F=+g[K+360>>2];G=+g[K+332>>2];H=+g[K+348>>2];t=+g[K+364>>2];i=i*(1.0/(k*o*(k*o*z+n*o*A+s*o*C)+n*o*(k*o*D+n*o*E+s*o*F)+s*o*(k*o*G+n*o*H+s*o*t)+(k*o*(k*o*+g[L+324>>2]+n*o*+g[L+340>>2]+s*o*+g[L+356>>2])+n*o*(k*o*+g[L+328>>2]+n*o*+g[L+344>>2]+s*o*+g[L+360>>2])+s*o*(k*o*+g[L+332>>2]+n*o*+g[L+348>>2]+s*o*+g[L+364>>2]))));o=+B(+(s*i*s*i+(k*i*k*i+n*i*n*i)));m=k*i*(1.0/o);k=n*i*(1.0/o);i=s*i*(1.0/o);if(c[d+240>>2]|0){V=o*0.0*+g[d+116>>2];U=o*0.0*+g[d+120>>2];g[d+64>>2]=o*0.0*+g[d+112>>2]+ +g[d+64>>2];g[d+68>>2]=V+ +g[d+68>>2];g[d+72>>2]=U+ +g[d+72>>2];U=(m*A+k*E+i*H)*o*+g[d+100>>2];V=(m*C+k*F+i*t)*o*+g[d+104>>2];g[d+80>>2]=u+(m*z+k*D+i*G)*o*+g[d+96>>2];g[d+84>>2]=v+U;g[d+88>>2]=x+V}if(c[e+240>>2]|0){V=m*+g[L+356>>2]+k*+g[L+360>>2]+i*+g[L+364>>2];U=m*+g[L+340>>2]+k*+g[L+344>>2]+i*+g[L+348>>2];T=m*+g[L+324>>2]+k*+g[L+328>>2]+i*+g[L+332>>2];R=o*-0.0*+g[e+116>>2];S=o*-0.0*+g[e+120>>2];g[e+64>>2]=o*-0.0*+g[e+112>>2]+ +g[e+64>>2];g[e+68>>2]=R+ +g[e+68>>2];g[e+72>>2]=S+ +g[e+72>>2];U=U*+g[e+100>>2]*-o;V=V*+g[e+104>>2]*-o;g[e+80>>2]=T*+g[e+96>>2]*-o+ +g[e+80>>2];g[e+84>>2]=U+ +g[e+84>>2];g[e+88>>2]=V+ +g[e+88>>2];h=d+192|0;K=d+80|0;p=d+196|0;L=d+84|0;q=d+200|0;M=d+88|0;r=e+192|0;N=e+80|0;w=e+196|0;O=e+84|0;y=e+200|0;P=e+88|0}else{h=d+192|0;K=d+80|0;p=d+196|0;L=d+84|0;q=d+200|0;M=d+88|0;r=e+192|0;N=e+80|0;w=e+196|0;O=e+84|0;y=e+200|0;P=e+88|0}}else{h=d+192|0;K=d+80|0;p=d+196|0;L=d+84|0;q=d+200|0;M=d+88|0;r=e+192|0;N=e+80|0;w=e+196|0;O=e+84|0;y=e+200|0;P=e+88|0}}else{c[Q+352>>2]=c[K+4>>2];c[Q+352+4>>2]=c[K+4+4>>2];c[Q+352+8>>2]=c[K+4+8>>2];c[Q+352+12>>2]=c[K+4+12>>2];c[Q+352+16>>2]=c[K+20>>2];c[Q+352+16+4>>2]=c[K+20+4>>2];c[Q+352+16+8>>2]=c[K+20+8>>2];c[Q+352+16+12>>2]=c[K+20+12>>2];c[Q+352+32>>2]=c[K+36>>2];c[Q+352+32+4>>2]=c[K+36+4>>2];c[Q+352+32+8>>2]=c[K+36+8>>2];c[Q+352+32+12>>2]=c[K+36+12>>2];c[Q+352+48>>2]=c[K+52>>2];c[Q+352+48+4>>2]=c[K+52+4>>2];c[Q+352+48+8>>2]=c[K+52+8>>2];c[Q+352+48+12>>2]=c[K+52+12>>2];c[Q+288>>2]=c[L+4>>2];c[Q+288+4>>2]=c[L+4+4>>2];c[Q+288+8>>2]=c[L+4+8>>2];c[Q+288+12>>2]=c[L+4+12>>2];c[Q+288+16>>2]=c[L+20>>2];c[Q+288+16+4>>2]=c[L+20+4>>2];c[Q+288+16+8>>2]=c[L+20+8>>2];c[Q+288+16+12>>2]=c[L+20+12>>2];c[Q+288+32>>2]=c[L+36>>2];c[Q+288+32+4>>2]=c[L+36+4>>2];c[Q+288+32+8>>2]=c[L+36+8>>2];c[Q+288+32+12>>2]=c[L+36+12>>2];c[Q+288+48>>2]=c[L+52>>2];c[Q+288+48+4>>2]=c[L+52+4>>2];c[Q+288+48+8>>2]=c[L+52+8>>2];c[Q+288+48+12>>2]=c[L+52+12>>2];T=+g[d+196>>2]+ +g[d+84>>2];u=+g[d+200>>2]+ +g[d+88>>2];g[Q+272>>2]=+g[d+192>>2]+ +g[d+80>>2];g[Q+272+4>>2]=T;g[Q+272+8>>2]=u;g[Q+272+12>>2]=0.0;u=+g[e+196>>2]+ +g[e+84>>2];T=+g[e+200>>2]+ +g[e+88>>2];g[Q+256>>2]=+g[e+192>>2]+ +g[e+80>>2];g[Q+256+4>>2]=u;g[Q+256+8>>2]=T;g[Q+256+12>>2]=0.0;c[Q+192>>2]=1065353216;O=Q+192+4|0;c[O>>2]=0;c[O+4>>2]=0;c[O+8>>2]=0;c[O+12>>2]=0;c[Q+192+20>>2]=1065353216;P=Q+192+24|0;c[P>>2]=0;c[P+4>>2]=0;c[P+8>>2]=0;c[P+12>>2]=0;c[Q+192+40>>2]=1065353216;M=Q+192+44|0;c[M>>2]=0;c[M+4>>2]=0;c[M+8>>2]=0;c[M+12>>2]=0;c[M+16>>2]=0;Ye(Q+352|0,0.0,0.0,0.0,Q+272|0,f,Q+192|0);c[Q+128>>2]=1065353216;M=Q+128+4|0;c[M>>2]=0;c[M+4>>2]=0;c[M+8>>2]=0;c[M+12>>2]=0;c[Q+128+20>>2]=1065353216;N=Q+128+24|0;c[N>>2]=0;c[N+4>>2]=0;c[N+8>>2]=0;c[N+12>>2]=0;c[Q+128+40>>2]=1065353216;L=Q+128+44|0;c[L>>2]=0;c[L+4>>2]=0;c[L+8>>2]=0;c[L+12>>2]=0;c[L+16>>2]=0;Ye(Q+288|0,0.0,0.0,0.0,Q+256|0,f,Q+128|0);T=+g[b+556>>2];u=+g[b+560>>2];U=+g[b+564>>2];v=+g[b+568>>2];H=T*(2.0/(T*T+u*u+U*U+v*v));C=u*(2.0/(T*T+u*u+U*U+v*v));I=U*(2.0/(T*T+u*u+U*U+v*v));X=+g[b+364>>2];W=+g[b+368>>2];_=+g[b+372>>2];k=_*(T*I-v*C)+(W*(T*C+v*I)+X*(1.0-(u*C+U*I)));m=_*(u*I+v*H)+(X*(T*C-v*I)+W*(1.0-(T*H+U*I)));n=X*(T*I+v*C)+W*(u*I-v*H)+_*(1.0-(T*H+u*C));i=+g[b+380>>2];G=+g[b+384>>2];D=+g[b+388>>2];o=(T*I-v*C)*D+(G*(T*C+v*I)+i*(1.0-(u*C+U*I)));s=(u*I+v*H)*D+(i*(T*C-v*I)+G*(1.0-(T*H+U*I)));t=i*(T*I+v*C)+G*(u*I-v*H)+D*(1.0-(T*H+u*C));R=+g[b+396>>2];E=+g[b+400>>2];A=+g[b+404>>2];S=(1.0-(u*C+U*I))*R+(T*C+v*I)*E+(T*I-v*C)*A;U=(T*C-v*I)*R+(1.0-(T*H+U*I))*E+(u*I+v*H)*A;C=(T*I+v*C)*R+(u*I-v*H)*E+(1.0-(T*H+u*C))*A;u=+g[b+300>>2];H=+g[b+316>>2];T=+g[b+332>>2];v=+g[b+304>>2];I=+g[b+320>>2];V=+g[b+336>>2];F=+g[b+308>>2];J=+g[b+324>>2];z=+g[b+340>>2];x=-+g[b+348>>2];ba=-+g[b+352>>2];Z=-+g[b+356>>2];_=X*0.0+W*0.0+_*0.0+ +g[b+412>>2]+(n*(F*x+J*ba+z*Z)+(k*(u*x+H*ba+T*Z)+m*(v*x+I*ba+V*Z)));D=i*0.0+G*0.0+D*0.0+ +g[b+416>>2]+(t*(F*x+J*ba+z*Z)+(o*(u*x+H*ba+T*Z)+s*(v*x+I*ba+V*Z)));Z=R*0.0+E*0.0+A*0.0+ +g[b+420>>2]+(C*(F*x+J*ba+z*Z)+(S*(u*x+H*ba+T*Z)+U*(v*x+I*ba+V*Z)));ba=+g[Q+128>>2];x=+g[M>>2];A=+g[Q+128+8>>2];E=+g[Q+128+16>>2];R=+g[Q+128+20>>2];G=+g[N>>2];i=+g[Q+128+32>>2];W=+g[Q+128+36>>2];X=+g[Q+128+40>>2];Y=A*Z+(ba*_+x*D)+ +g[Q+128+48>>2];$=E*_+D*R+Z*G+ +g[Q+128+52>>2];aa=_*i+D*W+Z*X+ +g[Q+128+56>>2];g[Q+64>>2]=(k*u+m*v+n*F)*ba+(o*u+s*v+t*F)*x+(S*u+U*v+C*F)*A;g[Q+64+4>>2]=(k*H+m*I+n*J)*ba+(o*H+s*I+t*J)*x+(S*H+U*I+C*J)*A;g[Q+64+8>>2]=(k*T+m*V+n*z)*ba+(o*T+s*V+t*z)*x+(S*T+U*V+C*z)*A;g[Q+64+12>>2]=0.0;g[Q+64+16>>2]=(k*u+m*v+n*F)*E+(o*u+s*v+t*F)*R+(S*u+U*v+C*F)*G;g[Q+64+20>>2]=(k*H+m*I+n*J)*E+(o*H+s*I+t*J)*R+(S*H+U*I+C*J)*G;g[Q+64+24>>2]=(k*T+m*V+n*z)*E+(o*T+s*V+t*z)*R+(S*T+U*V+C*z)*G;g[Q+64+28>>2]=0.0;g[Q+64+32>>2]=(k*u+m*v+n*F)*i+(o*u+s*v+t*F)*W+(S*u+U*v+C*F)*X;g[Q+64+36>>2]=(k*H+m*I+n*J)*i+(o*H+s*I+t*J)*W+(S*H+U*I+C*J)*X;g[Q+64+40>>2]=(k*T+m*V+n*z)*i+(o*T+s*V+t*z)*W+(S*T+U*V+C*z)*X;g[Q+64+44>>2]=0.0;g[Q+64+48>>2]=Y;g[Q+64+52>>2]=$;g[Q+64+56>>2]=aa;g[Q+64+60>>2]=0.0;aa=(S*u+U*v+C*F)*-Z+((k*u+m*v+n*F)*-_+(o*u+s*v+t*F)*-D);$=(S*H+U*I+C*J)*-Z+((k*H+m*I+n*J)*-_+(o*H+s*I+t*J)*-D);D=(S*T+U*V+C*z)*-Z+((k*T+m*V+n*z)*-_+(o*T+s*V+t*z)*-D);_=+g[Q+192>>2];Z=+g[O>>2];Y=+g[Q+192+8>>2];X=+g[Q+192+16>>2];W=+g[Q+192+20>>2];i=+g[P>>2];G=+g[Q+192+32>>2];R=+g[Q+192+36>>2];E=+g[Q+192+40>>2];A=aa*_+$*Z+D*Y+ +g[Q+192+48>>2];x=aa*X+$*W+D*i+ +g[Q+192+52>>2];D=aa*G+$*R+D*E+ +g[Q+192+56>>2];g[Q>>2]=(k*u+m*v+n*F)*_+(k*H+m*I+n*J)*Z+(k*T+m*V+n*z)*Y;g[Q+4>>2]=(o*u+s*v+t*F)*_+(o*H+s*I+t*J)*Z+(o*T+s*V+t*z)*Y;g[Q+8>>2]=(S*u+U*v+C*F)*_+(S*H+U*I+C*J)*Z+(S*T+U*V+C*z)*Y;g[Q+12>>2]=0.0;g[Q+16>>2]=(k*u+m*v+n*F)*X+(k*H+m*I+n*J)*W+(k*T+m*V+n*z)*i;g[Q+20>>2]=(o*u+s*v+t*F)*X+(o*H+s*I+t*J)*W+(o*T+s*V+t*z)*i;g[Q+24>>2]=(S*u+U*v+C*F)*X+(S*H+U*I+C*J)*W+(S*T+U*V+C*z)*i;g[Q+28>>2]=0.0;g[Q+32>>2]=(k*u+m*v+n*F)*G+(k*H+m*I+n*J)*R+(k*T+m*V+n*z)*E;g[Q+36>>2]=(o*u+s*v+t*F)*G+(o*H+s*I+t*J)*R+(o*T+s*V+t*z)*E;g[Q+40>>2]=(S*u+U*v+C*F)*G+(S*H+U*I+C*J)*R+(S*T+U*V+C*z)*E;g[Q+44>>2]=0.0;g[Q+48>>2]=A;g[Q+52>>2]=x;g[Q+56>>2]=D;g[Q+60>>2]=0.0;cf(Q+352|0,Q+64|0,Q+424|0,Q+416|0);D=+g[Q+416>>2];x=1.0/f*+g[Q+424>>2]*D;A=1.0/f*D*+g[Q+424+4>>2];D=1.0/f*D*+g[Q+424+8>>2];cf(Q+288|0,Q,Q+424|0,Q+416|0);E=+g[Q+416>>2];x=x-+g[Q+272>>2];A=A-+g[Q+272+4>>2];D=D-+g[Q+272+8>>2];z=1.0/f*+g[Q+424>>2]*E-+g[Q+256>>2];C=1.0/f*E*+g[Q+424+4>>2]-+g[Q+256+4>>2];E=1.0/f*E*+g[Q+424+8>>2]-+g[Q+256+8>>2];if(x*x+A*A+D*D>1.1920928955078125e-07){u=1.0/+B(+(x*x+A*A+D*D));P=c[b+28>>2]|0;o=x*u*(x*u*+g[P+324>>2]+A*u*+g[P+340>>2]+D*u*+g[P+356>>2])+A*u*(x*u*+g[P+328>>2]+A*u*+g[P+344>>2]+D*u*+g[P+360>>2])+D*u*(x*u*+g[P+332>>2]+A*u*+g[P+348>>2]+D*u*+g[P+364>>2]);k=x*u;n=A*u;u=D*u}else{o=0.0;k=0.0;n=0.0;u=0.0}if(z*z+C*C+E*E>1.1920928955078125e-07){t=1.0/+B(+(z*z+C*C+E*E));P=c[b+32>>2]|0;s=z*t*(z*t*+g[P+324>>2]+C*t*+g[P+340>>2]+E*t*+g[P+356>>2])+C*t*(z*t*+g[P+328>>2]+C*t*+g[P+344>>2]+E*t*+g[P+360>>2])+E*t*(z*t*+g[P+332>>2]+C*t*+g[P+348>>2]+E*t*+g[P+364>>2]);i=z*t;m=C*t;t=E*t}else{s=0.0;i=0.0;m=0.0;t=0.0}v=o*k+s*i;k=o*n+s*m;i=o*u+s*t;if(v*v+k*k+i*i>1.1920928955078125e-07){o=1.0/+B(+(v*v+k*k+i*i));h=c[b+28>>2]|0;m=v*o*(v*o*+g[h+324>>2]+k*o*+g[h+340>>2]+i*o*+g[h+356>>2])+k*o*(v*o*+g[h+328>>2]+k*o*+g[h+344>>2]+i*o*+g[h+360>>2])+i*o*(v*o*+g[h+332>>2]+k*o*+g[h+348>>2]+i*o*+g[h+364>>2]);p=c[b+32>>2]|0;o=v*o*(v*o*+g[p+324>>2]+k*o*+g[p+340>>2]+i*o*+g[p+356>>2])+k*o*(v*o*+g[p+328>>2]+k*o*+g[p+344>>2]+i*o*+g[p+360>>2])+i*o*(v*o*+g[p+332>>2]+k*o*+g[p+348>>2]+i*o*+g[p+364>>2]);z=(x*m-z*o)*(1.0/((m+o)*(m+o)));i=(A*m-C*o)*(1.0/((m+o)*(m+o)));o=(D*m-E*o)*(1.0/((m+o)*(m+o)));k=+g[b+572>>2];if(!(k>=0.0))k=z;else{t=(a[b+553>>0]|0)==0?k:k/m;k=+g[b+576>>2];n=+g[b+580>>2];m=+g[b+584>>2];s=+B(+((z+k)*(z+k)+(i+n)*(i+n)+(o+m)*(o+m)));if(s>t){u=n+(t*(i+n)*(1.0/s)-n);v=m+(t*(o+m)*(1.0/s)-m);x=k+(t*(z+k)*(1.0/s)-k);k=t*(z+k)*(1.0/s)-k;o=t*(o+m)*(1.0/s)-m;i=t*(i+n)*(1.0/s)-n}else{u=i+n;v=o+m;x=z+k;k=z}g[b+576>>2]=x;g[b+580>>2]=u;g[b+584>>2]=v}n=+B(+(k*k+i*i+o*o));m=k*(1.0/n);k=i*(1.0/n);i=o*(1.0/n);if(c[d+240>>2]|0){ba=m*+g[h+356>>2]+k*+g[h+360>>2]+i*+g[h+364>>2];aa=m*+g[h+340>>2]+k*+g[h+344>>2]+i*+g[h+348>>2];$=m*+g[h+324>>2]+k*+g[h+328>>2]+i*+g[h+332>>2];Z=n*0.0*+g[d+116>>2];_=n*0.0*+g[d+120>>2];g[d+64>>2]=n*0.0*+g[d+112>>2]+ +g[d+64>>2];g[d+68>>2]=Z+ +g[d+68>>2];g[d+72>>2]=_+ +g[d+72>>2];aa=aa*n*+g[d+100>>2];ba=ba*n*+g[d+104>>2];g[d+80>>2]=$*n*+g[d+96>>2]+ +g[d+80>>2];g[d+84>>2]=aa+ +g[d+84>>2];g[d+88>>2]=ba+ +g[d+88>>2]}if(c[e+240>>2]|0){ba=m*+g[p+356>>2]+k*+g[p+360>>2]+i*+g[p+364>>2];aa=m*+g[p+340>>2]+k*+g[p+344>>2]+i*+g[p+348>>2];$=m*+g[p+324>>2]+k*+g[p+328>>2]+i*+g[p+332>>2];Z=n*-0.0*+g[e+116>>2];_=n*-0.0*+g[e+120>>2];g[e+64>>2]=n*-0.0*+g[e+112>>2]+ +g[e+64>>2];g[e+68>>2]=Z+ +g[e+68>>2];g[e+72>>2]=_+ +g[e+72>>2];aa=aa*+g[e+100>>2]*-n;ba=ba*+g[e+104>>2]*-n;g[e+80>>2]=$*+g[e+96>>2]*-n+ +g[e+80>>2];g[e+84>>2]=aa+ +g[e+84>>2];g[e+88>>2]=ba+ +g[e+88>>2]}}h=d+192|0;K=d+80|0;p=d+196|0;L=d+84|0;q=d+200|0;M=d+88|0;r=e+192|0;N=e+80|0;w=e+196|0;O=e+84|0;y=e+200|0;P=e+88|0}while(0);z=+g[h>>2]+ +g[K>>2];x=+g[p>>2]+ +g[L>>2];v=+g[q>>2]+ +g[M>>2];u=+g[r>>2]+ +g[N>>2];t=+g[w>>2]+ +g[O>>2];s=+g[y>>2]+ +g[P>>2];if(a[b+526>>0]|0){k=+g[b+528>>2];i=k*+g[b+504>>2]*+g[b+432>>2]/f;m=+g[b+460>>2];n=+g[b+464>>2];o=+g[b+468>>2];if((u-z)*m+(t-x)*n+(s-v)*o>0.0)i=i+k*((u-z)*m+(t-x)*n+(s-v)*o)*+g[b+436>>2];aa=+g[b+516>>2];_=aa+i*+g[b+492>>2];g[Q+424>>2]=_;g[Q+416>>2]=0.0;h=c[(_>0.0?Q+424|0:Q+416|0)>>2]|0;c[b+516>>2]=h;aa=(c[j>>2]=h,+g[j>>2])-aa;_=+g[b+536>>2];$=+g[b+540>>2];i=+g[b+544>>2];k=m*aa-_*(m*aa*_+n*aa*$+o*aa*i);ba=n*aa-$*(m*aa*_+n*aa*$+o*aa*i);n=o*aa-i*(m*aa*_+n*aa*$+o*aa*i);i=+B(+(n*n+(k*k+ba*ba)));k=k*(1.0/i);m=ba*(1.0/i);n=n*(1.0/i);h=c[b+28>>2]|0;if(c[d+240>>2]|0){ba=k*+g[h+356>>2]+m*+g[h+360>>2]+n*+g[h+364>>2];aa=k*+g[h+340>>2]+m*+g[h+344>>2]+n*+g[h+348>>2];$=k*+g[h+324>>2]+m*+g[h+328>>2]+n*+g[h+332>>2];Z=i*0.0*+g[d+116>>2];_=i*0.0*+g[d+120>>2];g[d+64>>2]=i*0.0*+g[d+112>>2]+ +g[d+64>>2];g[d+68>>2]=Z+ +g[d+68>>2];g[d+72>>2]=_+ +g[d+72>>2];aa=aa*i*+g[d+100>>2];ba=ba*i*+g[d+104>>2];g[K>>2]=$*i*+g[d+96>>2]+ +g[K>>2];g[L>>2]=aa+ +g[L>>2];g[M>>2]=ba+ +g[M>>2]}h=c[b+32>>2]|0;if(c[e+240>>2]|0){ba=k*+g[h+356>>2]+m*+g[h+360>>2]+n*+g[h+364>>2];aa=k*+g[h+340>>2]+m*+g[h+344>>2]+n*+g[h+348>>2];$=k*+g[h+324>>2]+m*+g[h+328>>2]+n*+g[h+332>>2];Z=i*-0.0*+g[e+116>>2];_=i*-0.0*+g[e+120>>2];g[e+64>>2]=i*-0.0*+g[e+112>>2]+ +g[e+64>>2];g[e+68>>2]=Z+ +g[e+68>>2];g[e+72>>2]=_+ +g[e+72>>2];aa=aa*+g[e+100>>2]*-i;ba=ba*+g[e+104>>2]*-i;g[N>>2]=$*+g[e+96>>2]*-i+ +g[N>>2];g[O>>2]=aa+ +g[O>>2];g[P>>2]=ba+ +g[P>>2]}}if(!(a[b+525>>0]|0)){l=Q;return}o=+g[b+532>>2];n=o*+g[b+508>>2]*+g[b+432>>2]/f;m=+g[b+476>>2];k=+g[b+480>>2];i=+g[b+484>>2];if((u-z)*m+(t-x)*k+(s-v)*i>0.0)n=n+o*((u-z)*m+(t-x)*k+(s-v)*i)*+g[b+436>>2];ba=+g[b+520>>2];n=ba+n*+g[b+496>>2];g[Q+424>>2]=n;g[Q+416>>2]=0.0;h=c[(n>0.0?Q+424|0:Q+416|0)>>2]|0;c[b+520>>2]=h;n=(c[j>>2]=h,+g[j>>2])-ba;h=c[b+28>>2]|0;if(c[d+240>>2]|0){ba=m*+g[h+356>>2]+k*+g[h+360>>2]+i*+g[h+364>>2];aa=m*+g[h+340>>2]+k*+g[h+344>>2]+i*+g[h+348>>2];i=m*+g[h+324>>2]+k*+g[h+328>>2]+i*+g[h+332>>2];m=n*0.0*+g[d+116>>2];k=n*0.0*+g[d+120>>2];g[d+64>>2]=n*0.0*+g[d+112>>2]+ +g[d+64>>2];g[d+68>>2]=m+ +g[d+68>>2];g[d+72>>2]=k+ +g[d+72>>2];k=aa*n*+g[d+100>>2];m=ba*n*+g[d+104>>2];g[K>>2]=i*n*+g[d+96>>2]+ +g[K>>2];g[L>>2]=k+ +g[L>>2];g[M>>2]=m+ +g[M>>2];m=+g[b+476>>2];k=+g[b+480>>2];i=+g[b+484>>2]}h=c[b+32>>2]|0;if(!(c[e+240>>2]|0)){l=Q;return}ba=m*+g[h+356>>2]+k*+g[h+360>>2]+i*+g[h+364>>2];aa=m*+g[h+340>>2]+k*+g[h+344>>2]+i*+g[h+348>>2];$=m*+g[h+324>>2]+k*+g[h+328>>2]+i*+g[h+332>>2];Z=n*-0.0*+g[e+116>>2];_=n*-0.0*+g[e+120>>2];g[e+64>>2]=n*-0.0*+g[e+112>>2]+ +g[e+64>>2];g[e+68>>2]=Z+ +g[e+68>>2];g[e+72>>2]=_+ +g[e+72>>2];aa=aa*+g[e+100>>2]*-n;ba=ba*+g[e+104>>2]*-n;g[N>>2]=$*+g[e+96>>2]*-n+ +g[N>>2];g[O>>2]=aa+ +g[O>>2];g[P>>2]=ba+ +g[P>>2];l=Q;return}function dc(b,d,e,f,h,i,j,k,m){b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;i=i|0;j=j|0;k=k|0;m=m|0;var n=0,o=0,p=0,q=0.0,r=0,s=0.0,t=0.0,u=0.0,v=0.0,w=0.0,x=0.0,y=0.0,z=0.0,C=0.0,D=0.0,E=0.0,F=0.0,G=0.0,H=0.0,I=0.0,J=0.0,K=0.0,L=0.0,M=0.0,N=0.0,O=0.0,P=0.0,Q=0.0,R=0.0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0.0;_=l;l=l+256|0;c[b+188>>2]=-1;m=c[k+72>>2]|0;if((m|0)!=(c[b+224>>2]|0)){c[b+212>>2]=16;c[b+216>>2]=17;c[b+220>>2]=18;c[b+224>>2]=m}c[b+184>>2]=0;if((e|0)>0){m=0;do{c[(c[d+(m<<2)>>2]|0)+212>>2]=-1;m=m+1|0}while((m|0)!=(e|0))}m=c[b+12>>2]|0;if((m|0)>(e|0)){o=b+8|0;n=m}else{if((e+1|0)!=0?(c[6897]=(c[6897]|0)+1,n=ec(((e+1|0)*244|3)+16|0)|0,(n|0)!=0):0){c[(n+4+15&-16)+-4>>2]=n;o=n+4+15&-16}else o=0;n=c[b+8>>2]|0;if((n|0)>0){m=0;do{X=o+(m*244|0)|0;Y=c[b+16>>2]|0;W=Y+(m*244|0)|0;c[X>>2]=c[W>>2];c[X+4>>2]=c[W+4>>2];c[X+8>>2]=c[W+8>>2];c[X+12>>2]=c[W+12>>2];X=Y+(m*244|0)+16|0;W=o+(m*244|0)+16|0;c[W>>2]=c[X>>2];c[W+4>>2]=c[X+4>>2];c[W+8>>2]=c[X+8>>2];c[W+12>>2]=c[X+12>>2];W=Y+(m*244|0)+32|0;X=o+(m*244|0)+32|0;c[X>>2]=c[W>>2];c[X+4>>2]=c[W+4>>2];c[X+8>>2]=c[W+8>>2];c[X+12>>2]=c[W+12>>2];X=o+(m*244|0)+48|0;W=Y+(m*244|0)+48|0;c[X>>2]=c[W>>2];c[X+4>>2]=c[W+4>>2];c[X+8>>2]=c[W+8>>2];c[X+12>>2]=c[W+12>>2];vh(o+(m*244|0)+64|0,Y+(m*244|0)+64|0,180)|0;m=m+1|0}while((m|0)!=(n|0))}m=c[b+16>>2]|0;if(m|0){if(a[b+20>>0]|0){c[6898]=(c[6898]|0)+1;md(c[m+-4>>2]|0)}c[b+16>>2]=0}a[b+20>>0]=1;c[b+16>>2]=o;c[b+12>>2]=e+1;o=b+8|0;n=e+1|0}Xj(_|0,0,244)|0;m=c[o>>2]|0;if((m|0)<0){if((n|0)<0){n=c[b+16>>2]|0;if(n|0){if(a[b+20>>0]|0){c[6898]=(c[6898]|0)+1;md(c[n+-4>>2]|0)}c[b+16>>2]=0}a[b+20>>0]=1;c[b+16>>2]=0;c[b+12>>2]=0}do{Y=c[b+16>>2]|0;X=Y+(m*244|0)|0;c[X>>2]=c[_>>2];c[X+4>>2]=c[_+4>>2];c[X+8>>2]=c[_+8>>2];c[X+12>>2]=c[_+12>>2];X=Y+(m*244|0)+16|0;c[X>>2]=c[_+16>>2];c[X+4>>2]=c[_+16+4>>2];c[X+8>>2]=c[_+16+8>>2];c[X+12>>2]=c[_+16+12>>2];X=Y+(m*244|0)+32|0;c[X>>2]=c[_+32>>2];c[X+4>>2]=c[_+32+4>>2];c[X+8>>2]=c[_+32+8>>2];c[X+12>>2]=c[_+32+12>>2];X=Y+(m*244|0)+48|0;c[X>>2]=c[_+48>>2];c[X+4>>2]=c[_+48+4>>2];c[X+8>>2]=c[_+48+8>>2];c[X+12>>2]=c[_+48+12>>2];vh(Y+(m*244|0)+64|0,_+64|0,180)|0;m=m+1|0}while((m|0)!=0)}c[o>>2]=0;if((e|0)>0){n=0;do{p=d+(n<<2)|0;o=ud(b,c[p>>2]|0,+g[k+12>>2])|0;p=c[p>>2]|0;if(!((p|0)==0?1:(c[p+252>>2]&2|0)==0)?+g[p+404>>2]!=0.0:0){r=c[b+16>>2]|0;m=c[p+564>>2]|0;if(m&2){q=+g[k+84>>2];O=+g[p+456>>2];Q=+g[p+460>>2];s=+g[p+464>>2];I=+g[p+4>>2];O=O!=0.0?1.0/O:0.0;J=+g[p+8>>2];Q=Q!=0.0?1.0/Q:0.0;K=+g[p+12>>2];s=s!=0.0?1.0/s:0.0;L=+g[p+20>>2];M=+g[p+24>>2];N=+g[p+28>>2];P=+g[p+36>>2];R=+g[p+40>>2];v=+g[p+44>>2];w=+g[p+388>>2];x=+g[p+392>>2];u=+g[p+396>>2];y=(O*I*I+Q*J*J+s*K*K)*w+(O*I*L+Q*J*M+s*K*N)*x+(O*I*P+Q*J*R+s*K*v)*u;z=(O*L*I+Q*M*J+s*N*K)*w+(O*L*L+Q*M*M+s*N*N)*x+(O*L*P+Q*M*R+s*N*v)*u;v=(O*P*I+Q*R*J+s*v*K)*w+(O*P*L+Q*R*M+s*v*N)*x+(O*P*P+Q*R*R+s*v*v)*u;s=(w*z-x*y)*(w*z-x*y)+((x*v-u*z)*(x*v-u*z)+(u*y-w*v)*(u*y-w*v));if(s>q*q){q=1.0/+B(+s)*q;t=(x*v-u*z)*q;s=(u*y-w*v)*q;q=(w*z-x*y)*q}else{t=x*v-u*z;s=u*y-w*v;q=w*z-x*y}P=+g[k+12>>2];Q=(t*+g[p+328>>2]+s*+g[p+344>>2]+q*+g[p+360>>2])*P;R=P*(t*+g[p+332>>2]+s*+g[p+348>>2]+q*+g[p+364>>2]);g[r+(o*244|0)+224>>2]=+g[r+(o*244|0)+224>>2]-(t*+g[p+324>>2]+s*+g[p+340>>2]+q*+g[p+356>>2])*P;g[r+(o*244|0)+228>>2]=+g[r+(o*244|0)+228>>2]-Q;g[r+(o*244|0)+232>>2]=+g[r+(o*244|0)+232>>2]-R;m=c[p+564>>2]|0}if(m&4){J=+g[k+12>>2];u=+g[p+456>>2];P=+g[p+460>>2];N=+g[p+464>>2];G=+g[p+388>>2];z=+g[p+392>>2];R=+g[p+396>>2];M=+g[p+4>>2];u=u!=0.0?1.0/u:0.0;y=+g[p+8>>2];P=P!=0.0?1.0/P:0.0;C=+g[p+12>>2];N=N!=0.0?1.0/N:0.0;t=+g[p+20>>2];L=+g[p+24>>2];F=+g[p+28>>2];O=+g[p+36>>2];K=+g[p+40>>2];v=+g[p+44>>2];D=u*M*M+P*y*y+N*C*C;I=u*M*t+P*y*L+N*C*F;w=u*M*O+P*y*K+N*C*v;E=u*t*M+P*L*y+N*F*C;H=u*t*t+P*L*L+N*F*F;x=u*t*O+P*L*K+N*F*v;C=u*O*M+P*K*y+N*v*C;F=u*O*t+P*K*L+N*v*F;v=u*O*O+P*K*K+N*v*v;N=G*D+z*I+R*w+(z*(G*C+z*F+R*v)-R*(G*E+z*H+R*x))*J-(J*0.0+(G*D+z*I+R*w));K=G*E+z*H+R*x+(R*(G*D+z*I+R*w)-G*(G*C+z*F+R*v))*J-(J*0.0+(G*E+z*H+R*x));P=G*C+z*F+R*v+(G*(G*E+z*H+R*x)-z*(G*D+z*I+R*w))*J-(J*0.0+(G*C+z*F+R*v));O=I+(G*C+z*F+R*v+(z*F+(I*0.0+H*-R)))*J;u=w+(z*v+(w*0.0+x*-R)-(G*E+z*H+R*x))*J;L=E+(C*-G+(E*0.0+R*D)-(G*C+z*F+R*v))*J;t=x+(G*D+z*I+R*w+(v*-G+(x*0.0+R*w)))*J;y=C+(C*0.0+(D*-z+G*E)+(G*E+z*H+R*x))*J;M=F+(F*0.0+(I*-z+G*H)-(G*D+z*I+R*w))*J;q=(H+(F*-G+(H*0.0+R*I))*J)*(v+(v*0.0+(w*-z+G*x))*J)-M*t;s=M*u-O*(v+(v*0.0+(w*-z+G*x))*J);$=O*t-(H+(F*-G+(H*0.0+R*I))*J)*u;Q=y*$+((D+(z*C+(D*0.0+E*-R))*J)*q+L*s);m=+A(+Q)>1.1920928955078125e-07;Q=m?1.0/Q:Q;g[r+(o*244|0)+224>>2]=G-(P*$+(N*q+K*s))*Q-G+ +g[r+(o*244|0)+224>>2];g[r+(o*244|0)+228>>2]=z-(y*(t*N-u*K)+((D+(z*C+(D*0.0+E*-R))*J)*((v+(v*0.0+(w*-z+G*x))*J)*K-t*P)+L*(u*P-(v+(v*0.0+(w*-z+G*x))*J)*N)))*Q-z+ +g[r+(o*244|0)+228>>2];g[r+(o*244|0)+232>>2]=R-(y*(O*K-(H+(F*-G+(H*0.0+R*I))*J)*N)+((D+(z*C+(D*0.0+E*-R))*J)*((H+(F*-G+(H*0.0+R*I))*J)*P-M*K)+L*(M*N-O*P)))*Q-R+ +g[r+(o*244|0)+232>>2];m=c[p+564>>2]|0}if(m&8|0){O=+g[k+12>>2];z=+g[p+456>>2];C=+g[p+460>>2];w=+g[p+464>>2];J=+g[p+388>>2];K=+g[p+392>>2];$=+g[p+396>>2];Rg(p+4|0,_);R=+g[_>>2];L=+g[_+4>>2];M=+g[_+8>>2];D=+g[_+12>>2];F=M*(J*-M+K*D-$*-R)+(R*(-(J*-R)-K*-L-$*-M)+D*($*-L+J*D-K*-M))-L*(K*-R+$*D-J*-L);H=R*(K*-R+$*D-J*-L)+(L*(-(J*-R)-K*-L-$*-M)+D*(J*-M+K*D-$*-R))-M*($*-L+J*D-K*-M);D=L*($*-L+J*D-K*-M)+(M*(-(J*-R)-K*-L-$*-M)+D*(K*-R+$*D-J*-L))-R*(J*-M+K*D-$*-R);z=z!=0.0?1.0/z:0.0;I=D*0.0+(z*F+H*0.0);C=C!=0.0?1.0/C:0.0;G=D*0.0+(F*0.0+C*H);w=w!=0.0?1.0/w:0.0;E=w*D+(F*0.0+H*0.0);x=z+(H*0.0+(z*0.0+D*-0.0))*O;y=C+(F*-0.0+(C*0.0+D*0.0))*O;P=w+(w*0.0+(H*-0.0+F*0.0))*O;v=y*P-((H*-0.0+C*F+0.0-I)*O+0.0)*((D*0.0+0.0-w*F+I)*O+0.0);N=((H*-0.0+C*F+0.0-I)*O+0.0)*((w*H+(D*-0.0+0.0)-G)*O+0.0)-P*((H*0.0+(0.0-C*D)+E)*O+0.0);u=((H*0.0+(0.0-C*D)+E)*O+0.0)*((D*0.0+0.0-w*F+I)*O+0.0)-y*((w*H+(D*-0.0+0.0)-G)*O+0.0);Q=((F*0.0-z*H+0.0+G)*O+0.0)*u+(x*v+((F*-0.0+(z*D+0.0)-E)*O+0.0)*N);Y=+A(+Q)>1.1920928955078125e-07;Q=Y?1.0/Q:Q;N=F-((F*G-H*I)*O*u+((H*E-D*G)*O*v+(D*I-F*E)*O*N))*Q;P=H-(((F*0.0-z*H+0.0+G)*O+0.0)*(((D*0.0+0.0-w*F+I)*O+0.0)*(H*E-D*G)*O-((w*H+(D*-0.0+0.0)-G)*O+0.0)*(D*I-F*E)*O)+(x*(P*(D*I-F*E)*O-((D*0.0+0.0-w*F+I)*O+0.0)*(F*G-H*I)*O)+((F*-0.0+(z*D+0.0)-E)*O+0.0)*(((w*H+(D*-0.0+0.0)-G)*O+0.0)*(F*G-H*I)*O-P*(H*E-D*G)*O)))*Q;Q=D-(((F*0.0-z*H+0.0+G)*O+0.0)*(((H*0.0+(0.0-C*D)+E)*O+0.0)*(D*I-F*E)*O-y*(H*E-D*G)*O)+(x*(y*(F*G-H*I)*O-((H*-0.0+C*F+0.0-I)*O+0.0)*(D*I-F*E)*O)+((F*-0.0+(z*D+0.0)-E)*O+0.0)*(((H*-0.0+C*F+0.0-I)*O+0.0)*(H*E-D*G)*O-((H*0.0+(0.0-C*D)+E)*O+0.0)*(F*G-H*I)*O)))*Q;O=+g[_+12>>2];g[r+(o*244|0)+224>>2]=(M*N+O*P-R*Q)*-M+(O*(O*N+L*Q-M*P)+(-(R*N)-L*P-M*Q)*-R)-(O*Q+R*P-L*N)*-L-J+ +g[r+(o*244|0)+224>>2];g[r+(o*244|0)+228>>2]=(O*Q+R*P-L*N)*-R+(O*(M*N+O*P-R*Q)+(-(R*N)-L*P-M*Q)*-L)-(O*N+L*Q-M*P)*-M-K+ +g[r+(o*244|0)+228>>2];g[r+(o*244|0)+232>>2]=(O*N+L*Q-M*P)*-L+((-(R*N)-L*P-M*Q)*-M+O*(O*Q+R*P-L*N))-(M*N+O*P-R*Q)*-R-$+ +g[r+(o*244|0)+232>>2]}}n=n+1|0}while((n|0)!=(e|0))}if((j|0)>0){m=0;do{Y=c[i+(m<<2)>>2]|0;Db[c[(c[Y>>2]|0)+8>>2]&511](Y);g[Y+36>>2]=0.0;m=m+1|0}while((m|0)<(j|0))}n=c[b+168>>2]|0;if((n|0)<(j|0)?(c[b+172>>2]|0)<(j|0):0){if(!j)m=0;else{c[6897]=(c[6897]|0)+1;m=ec((j<<3|3)+16|0)|0;if(!m)m=0;else{c[(m+4+15&-16)+-4>>2]=m;m=m+4+15&-16}n=c[b+168>>2]|0}if((n|0)>0){o=0;do{W=(c[b+176>>2]|0)+(o<<3)|0;X=c[W+4>>2]|0;Y=m+(o<<3)|0;c[Y>>2]=c[W>>2];c[Y+4>>2]=X;o=o+1|0}while((o|0)!=(n|0))}n=c[b+176>>2]|0;if(n|0){if(a[b+180>>0]|0){c[6898]=(c[6898]|0)+1;md(c[n+-4>>2]|0)}c[b+176>>2]=0}a[b+180>>0]=1;c[b+176>>2]=m;c[b+172>>2]=j}c[b+168>>2]=j;if((j|0)>0){m=0;e=0;do{r=c[b+176>>2]|0;d=r+(e<<3)|0;p=i+(e<<2)|0;n=c[p>>2]|0;o=c[n+44>>2]|0;if(o){n=o+64|0;do{c[o>>2]=0;o=o+4|0}while((o|0)<(n|0));n=c[p>>2]|0}if(!(a[n+20>>0]|0)){c[d>>2]=0;c[r+(e<<3)+4>>2]=0;n=0}else{Ib[c[(c[n>>2]|0)+16>>2]&127](n,d);n=c[d>>2]|0}m=n+m|0;e=e+1|0}while((e|0)<(j|0));p=m}else p=0;n=c[b+48>>2]|0;if((n|0)<(p|0)?(c[b+52>>2]|0)<(p|0):0){if(!p)m=0;else{c[6897]=(c[6897]|0)+1;m=ec((p*152|3)+16|0)|0;if(!m)m=0;else{c[(m+4+15&-16)+-4>>2]=m;m=m+4+15&-16}n=c[b+48>>2]|0}if((n|0)>0){o=0;do{vh(m+(o*152|0)|0,(c[b+56>>2]|0)+(o*152|0)|0,152)|0;o=o+1|0}while((o|0)!=(n|0))}n=c[b+56>>2]|0;if(n|0){if(a[b+60>>0]|0){c[6898]=(c[6898]|0)+1;md(c[n+-4>>2]|0)}c[b+56>>2]=0}a[b+60>>0]=1;c[b+56>>2]=m;c[b+52>>2]=p}c[b+48>>2]=p;if((j|0)>0){X=0;Y=0;m=c[b+176>>2]|0;while(1){W=m+(Y<<3)|0;if(!(c[W>>2]|0))n=0;else{n=c[b+56>>2]|0;p=n+(X*152|0)|0;r=i+(Y<<2)|0;d=c[r>>2]|0;e=c[d+28>>2]|0;S=c[d+32>>2]|0;T=ud(b,e,+g[k+12>>2])|0;U=ud(b,S,+g[k+12>>2])|0;V=c[b+16>>2]|0;o=c[d+24>>2]|0;o=(o|0)>0?o:c[k+20>>2]|0;if((o|0)>(c[b+184>>2]|0))c[b+184>>2]=o;if((c[W>>2]|0)>0){m=0;do{Xj(p+(m*152|0)|0,0,152)|0;g[p+(m*152|0)+120>>2]=-3402823466385288598117041.0e14;g[p+(m*152|0)+124>>2]=3402823466385288598117041.0e14;g[p+(m*152|0)+100>>2]=0.0;g[p+(m*152|0)+96>>2]=0.0;c[p+(m*152|0)+144>>2]=T;c[p+(m*152|0)+148>>2]=U;c[p+(m*152|0)+136>>2]=o;m=m+1|0}while((m|0)<(c[W>>2]|0))}c[V+(T*244|0)+64>>2]=0;c[V+(T*244|0)+64+4>>2]=0;c[V+(T*244|0)+64+8>>2]=0;c[V+(T*244|0)+64+12>>2]=0;c[V+(T*244|0)+64+16>>2]=0;c[V+(T*244|0)+64+20>>2]=0;c[V+(T*244|0)+64+24>>2]=0;c[V+(T*244|0)+64+28>>2]=0;c[V+(T*244|0)+144>>2]=0;c[V+(T*244|0)+144+4>>2]=0;c[V+(T*244|0)+144+8>>2]=0;c[V+(T*244|0)+144+12>>2]=0;c[V+(T*244|0)+144+16>>2]=0;c[V+(T*244|0)+144+20>>2]=0;c[V+(T*244|0)+144+24>>2]=0;c[V+(T*244|0)+144+28>>2]=0;c[V+(U*244|0)+64>>2]=0;c[V+(U*244|0)+64+4>>2]=0;c[V+(U*244|0)+64+8>>2]=0;c[V+(U*244|0)+64+12>>2]=0;c[V+(U*244|0)+64+16>>2]=0;c[V+(U*244|0)+64+20>>2]=0;c[V+(U*244|0)+64+24>>2]=0;c[V+(U*244|0)+64+28>>2]=0;c[V+(U*244|0)+144>>2]=0;c[V+(U*244|0)+144+4>>2]=0;c[V+(U*244|0)+144+8>>2]=0;c[V+(U*244|0)+144+12>>2]=0;c[V+(U*244|0)+144+16>>2]=0;c[V+(U*244|0)+144+20>>2]=0;c[V+(U*244|0)+144+24>>2]=0;c[V+(U*244|0)+144+28>>2]=0;g[_>>2]=1.0/+g[k+12>>2];c[_+4>>2]=c[k+32>>2];c[_+8>>2]=n+(X*152|0)+16;c[_+12>>2]=p;c[_+16>>2]=n+(X*152|0)+48;c[_+20>>2]=n+(X*152|0)+32;c[_+24>>2]=38;c[_+28>>2]=n+(X*152|0)+112;o=n+(X*152|0)+116|0;c[o>>2]=c[k+40>>2];c[_+48>>2]=c[k+4>>2];c[_+32>>2]=o;c[_+36>>2]=n+(X*152|0)+120;c[_+40>>2]=n+(X*152|0)+124;c[_+44>>2]=c[k+20>>2];o=c[r>>2]|0;Ib[c[(c[o>>2]|0)+20>>2]&127](o,_);if((c[W>>2]|0)>0){n=0;do{m=p+(n*152|0)+124|0;q=+g[(c[r>>2]|0)+16>>2];if(+g[m>>2]>=q)g[m>>2]=q;m=p+(n*152|0)+120|0;if(+g[m>>2]<=-q)g[m>>2]=-q;c[p+(n*152|0)+132>>2]=d;o=p+(n*152|0)|0;m=c[d+28>>2]|0;q=+g[o>>2];s=+g[o+4>>2];t=+g[o+8>>2];v=(q*+g[m+340>>2]+s*+g[m+344>>2]+t*+g[m+348>>2])*+g[m+608>>2];u=(q*+g[m+356>>2]+s*+g[m+360>>2]+t*+g[m+364>>2])*+g[m+612>>2];o=p+(n*152|0)+64|0;g[o>>2]=(+g[m+324>>2]*q+ +g[m+328>>2]*s+ +g[m+332>>2]*t)*+g[m+604>>2];g[o+4>>2]=v;g[o+8>>2]=u;g[o+12>>2]=0.0;o=p+(n*152|0)+32|0;m=c[d+32>>2]|0;u=+g[o>>2];v=+g[o+4>>2];w=+g[o+8>>2];x=(u*+g[m+340>>2]+v*+g[m+344>>2]+w*+g[m+348>>2])*+g[m+608>>2];$=(u*+g[m+356>>2]+v*+g[m+360>>2]+w*+g[m+364>>2])*+g[m+612>>2];o=p+(n*152|0)+80|0;g[o>>2]=(+g[m+324>>2]*u+ +g[m+328>>2]*v+ +g[m+332>>2]*w)*+g[m+604>>2];g[o+4>>2]=x;g[o+8>>2]=$;g[o+12>>2]=0.0;o=p+(n*152|0)+16|0;$=+g[e+404>>2];x=+g[o>>2];y=+g[o+4>>2];z=+g[o+8>>2];o=p+(n*152|0)+48|0;F=+g[S+404>>2];C=+g[o>>2];D=+g[o+4>>2];E=+g[o+8>>2];F=x*$*x+y*$*y+z*$*z+(q*(q*+g[e+324>>2]+s*+g[e+328>>2]+t*+g[e+332>>2])+s*(q*+g[e+340>>2]+s*+g[e+344>>2]+t*+g[e+348>>2])+t*(q*+g[e+356>>2]+s*+g[e+360>>2]+t*+g[e+364>>2]))+(C*F*C+D*F*D+E*F*E)+(u*(u*+g[S+324>>2]+v*+g[S+328>>2]+w*+g[S+332>>2])+v*(u*+g[S+340>>2]+v*+g[S+344>>2]+w*+g[S+348>>2])+w*(u*+g[S+356>>2]+v*+g[S+360>>2]+w*+g[S+364>>2]));o=+A(+F)>1.1920928955078125e-07;F=o?1.0/F:0.0;g[p+(n*152|0)+108>>2]=F;if(!(c[V+(T*244|0)+240>>2]|0)){G=0.0;H=0.0;I=0.0;J=0.0;K=0.0;L=0.0}else{G=+g[V+(T*244|0)+208>>2];H=+g[V+(T*244|0)+212>>2];I=+g[V+(T*244|0)+216>>2];J=+g[V+(T*244|0)+224>>2];K=+g[V+(T*244|0)+228>>2];L=+g[V+(T*244|0)+232>>2]}if(!(c[V+(U*244|0)+240>>2]|0)){M=0.0;N=0.0;O=0.0;P=0.0;Q=0.0;R=0.0}else{M=+g[V+(U*244|0)+208>>2];N=+g[V+(U*244|0)+212>>2];O=+g[V+(U*244|0)+216>>2];P=+g[V+(U*244|0)+224>>2];Q=+g[V+(U*244|0)+228>>2];R=+g[V+(U*244|0)+232>>2]}o=p+(n*152|0)+112|0;g[o>>2]=F*+g[o>>2]+F*(0.0-+g[_+48>>2]*(x*(G+ +g[e+372>>2])+y*(H+ +g[e+376>>2])+z*(I+ +g[e+380>>2])+(q*(J+ +g[e+388>>2])+s*(K+ +g[e+392>>2])+t*(L+ +g[e+396>>2]))+(C*(M+ +g[S+372>>2])+D*(N+ +g[S+376>>2])+E*(O+ +g[S+380>>2])+(u*(P+ +g[S+388>>2])+v*(Q+ +g[S+392>>2])+w*(R+ +g[S+396>>2])))));g[p+(n*152|0)+100>>2]=0.0;n=n+1|0}while((n|0)<(c[W>>2]|0))}m=c[b+176>>2]|0;n=c[m+(Y<<3)>>2]|0}Y=Y+1|0;if((Y|0)>=(j|0))break;else X=n+X|0}}Pb[c[(c[b>>2]|0)+28>>2]&127](b,f,h,k);r=c[b+48>>2]|0;d=c[b+28>>2]|0;e=c[b+68>>2]|0;n=c[b+128>>2]|0;if((n|0)<(r|0)?(c[b+132>>2]|0)<(r|0):0){if(!r)m=0;else{c[6897]=(c[6897]|0)+1;m=ec((r<<2|3)+16|0)|0;if(!m)m=0;else{c[(m+4+15&-16)+-4>>2]=m;m=m+4+15&-16}n=c[b+128>>2]|0}p=c[b+136>>2]|0;if((n|0)<=0)if(!p)n=b+140|0;else Z=112;else{o=0;do{c[m+(o<<2)>>2]=c[p+(o<<2)>>2];o=o+1|0}while((o|0)!=(n|0));Z=112}if((Z|0)==112){if(a[b+140>>0]|0){c[6898]=(c[6898]|0)+1;md(c[p+-4>>2]|0)}c[b+136>>2]=0;n=b+140|0}a[n>>0]=1;c[b+136>>2]=m;c[b+132>>2]=r}c[b+128>>2]=r;if(!(c[k+72>>2]&16)){n=c[b+108>>2]|0;if((n|0)<(d|0)?(c[b+112>>2]|0)<(d|0):0){if(!d)m=0;else{c[6897]=(c[6897]|0)+1;m=ec((d<<2|3)+16|0)|0;if(!m)m=0;else{c[(m+4+15&-16)+-4>>2]=m;m=m+4+15&-16}n=c[b+108>>2]|0}p=c[b+116>>2]|0;if((n|0)<=0)if(!p)n=b+120|0;else Z=144;else{o=0;do{c[m+(o<<2)>>2]=c[p+(o<<2)>>2];o=o+1|0}while((o|0)!=(n|0));Z=144}if((Z|0)==144){if(a[b+120>>0]|0){c[6898]=(c[6898]|0)+1;md(c[p+-4>>2]|0)}c[b+116>>2]=0;n=b+120|0}a[n>>0]=1;c[b+116>>2]=m;c[b+112>>2]=d}c[b+108>>2]=d}else{n=c[b+108>>2]|0;if((n|0)<(d<<1|0)?(c[b+112>>2]|0)<(d<<1|0):0){if(!d)m=0;else{c[6897]=(c[6897]|0)+1;m=ec((d<<3|3)+16|0)|0;if(!m)m=0;else{c[(m+4+15&-16)+-4>>2]=m;m=m+4+15&-16}n=c[b+108>>2]|0}p=c[b+116>>2]|0;if((n|0)<=0)if(!p)n=b+120|0;else Z=128;else{o=0;do{c[m+(o<<2)>>2]=c[p+(o<<2)>>2];o=o+1|0}while((o|0)!=(n|0));Z=128}if((Z|0)==128){if(a[b+120>>0]|0){c[6898]=(c[6898]|0)+1;md(c[p+-4>>2]|0)}c[b+116>>2]=0;n=b+120|0}a[n>>0]=1;c[b+116>>2]=m;c[b+112>>2]=d<<1}c[b+108>>2]=d<<1}n=c[b+148>>2]|0;if((n|0)<(e|0)?(c[b+152>>2]|0)<(e|0):0){if(!e)m=0;else{c[6897]=(c[6897]|0)+1;m=ec((e<<2|3)+16|0)|0;if(!m)m=0;else{c[(m+4+15&-16)+-4>>2]=m;m=m+4+15&-16}n=c[b+148>>2]|0}p=c[b+156>>2]|0;if((n|0)<=0)if(!p)n=b+160|0;else Z=160;else{o=0;do{c[m+(o<<2)>>2]=c[p+(o<<2)>>2];o=o+1|0}while((o|0)!=(n|0));Z=160}if((Z|0)==160){if(a[b+160>>0]|0){c[6898]=(c[6898]|0)+1;md(c[p+-4>>2]|0)}c[b+156>>2]=0;n=b+160|0}a[n>>0]=1;c[b+156>>2]=m;c[b+152>>2]=e}c[b+148>>2]=e;if((r|0)>0){n=c[b+136>>2]|0;m=0;do{c[n+(m<<2)>>2]=m;m=m+1|0}while((m|0)!=(r|0))}if((d|0)>0){n=c[b+116>>2]|0;m=0;do{c[n+(m<<2)>>2]=m;m=m+1|0}while((m|0)!=(d|0))}if((e|0)<=0){l=_;return 0.0}n=c[b+156>>2]|0;m=0;do{c[n+(m<<2)>>2]=m;m=m+1|0}while((m|0)!=(e|0));l=_;return 0.0}function ec(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;w=l;l=l+16|0;do if(a>>>0<245){o=a>>>0<11?16:a+11&-8;m=c[6901]|0;if(m>>>(o>>>3)&3|0){a=27644+((m>>>(o>>>3)&1^1)+(o>>>3)<<1<<2)|0;b=c[a+8>>2]|0;d=c[b+8>>2]|0;if((d|0)==(a|0))c[6901]=m&~(1<<(m>>>(o>>>3)&1^1)+(o>>>3));else{c[d+12>>2]=a;c[a+8>>2]=d}v=(m>>>(o>>>3)&1^1)+(o>>>3)<<3;c[b+4>>2]=v|3;c[b+v+4>>2]=c[b+v+4>>2]|1;v=b+8|0;l=w;return v|0}n=c[6903]|0;if(o>>>0>n>>>0){if(m>>>(o>>>3)|0){a=m>>>(o>>>3)<<(o>>>3)&(2<<(o>>>3)|0-(2<<(o>>>3)));f=((a&0-a)+-1|0)>>>(((a&0-a)+-1|0)>>>12&16);e=f>>>(f>>>5&8)>>>(f>>>(f>>>5&8)>>>2&4);e=(f>>>5&8|((a&0-a)+-1|0)>>>12&16|f>>>(f>>>5&8)>>>2&4|e>>>1&2|e>>>(e>>>1&2)>>>1&1)+(e>>>(e>>>1&2)>>>(e>>>(e>>>1&2)>>>1&1))|0;f=c[27644+(e<<1<<2)+8>>2]|0;a=c[f+8>>2]|0;if((a|0)==(27644+(e<<1<<2)|0)){c[6901]=m&~(1<<e);a=m&~(1<<e)}else{c[a+12>>2]=27644+(e<<1<<2);c[27644+(e<<1<<2)+8>>2]=a;a=m}c[f+4>>2]=o|3;c[f+o+4>>2]=(e<<3)-o|1;c[f+(e<<3)>>2]=(e<<3)-o;if(n|0){d=c[6906]|0;if(!(a&1<<(n>>>3))){c[6901]=a|1<<(n>>>3);a=27644+(n>>>3<<1<<2)|0;b=27644+(n>>>3<<1<<2)+8|0}else{a=c[27644+(n>>>3<<1<<2)+8>>2]|0;b=27644+(n>>>3<<1<<2)+8|0}c[b>>2]=d;c[a+12>>2]=d;c[d+8>>2]=a;c[d+12>>2]=27644+(n>>>3<<1<<2)}c[6903]=(e<<3)-o;c[6906]=f+o;v=f+8|0;l=w;return v|0}h=c[6902]|0;if(h){b=((h&0-h)+-1|0)>>>(((h&0-h)+-1|0)>>>12&16);k=b>>>(b>>>5&8)>>>(b>>>(b>>>5&8)>>>2&4);k=c[27908+((b>>>5&8|((h&0-h)+-1|0)>>>12&16|b>>>(b>>>5&8)>>>2&4|k>>>1&2|k>>>(k>>>1&2)>>>1&1)+(k>>>(k>>>1&2)>>>(k>>>(k>>>1&2)>>>1&1))<<2)>>2]|0;b=k;j=k;k=(c[k+4>>2]&-8)-o|0;while(1){a=c[b+16>>2]|0;if(!a){a=c[b+20>>2]|0;if(!a)break}i=(c[a+4>>2]&-8)-o|0;f=i>>>0<k>>>0;b=a;j=f?a:j;k=f?i:k}i=j+o|0;if(i>>>0>j>>>0){f=c[j+24>>2]|0;a=c[j+12>>2]|0;do if((a|0)==(j|0)){b=j+20|0;a=c[b>>2]|0;if(!a){b=j+16|0;a=c[b>>2]|0;if(!a){b=0;break}}while(1){e=a+20|0;d=c[e>>2]|0;if(!d){e=a+16|0;d=c[e>>2]|0;if(!d)break;else{a=d;b=e}}else{a=d;b=e}}c[b>>2]=0;b=a}else{b=c[j+8>>2]|0;c[b+12>>2]=a;c[a+8>>2]=b;b=a}while(0);do if(f|0){a=c[j+28>>2]|0;if((j|0)==(c[27908+(a<<2)>>2]|0)){c[27908+(a<<2)>>2]=b;if(!b){c[6902]=h&~(1<<a);break}}else{c[((c[f+16>>2]|0)==(j|0)?f+16|0:f+20|0)>>2]=b;if(!b)break}c[b+24>>2]=f;a=c[j+16>>2]|0;if(a|0){c[b+16>>2]=a;c[a+24>>2]=b}a=c[j+20>>2]|0;if(a|0){c[b+20>>2]=a;c[a+24>>2]=b}}while(0);if(k>>>0<16){v=k+o|0;c[j+4>>2]=v|3;v=j+v+4|0;c[v>>2]=c[v>>2]|1}else{c[j+4>>2]=o|3;c[i+4>>2]=k|1;c[i+k>>2]=k;if(n|0){d=c[6906]|0;if(!(1<<(n>>>3)&m)){c[6901]=1<<(n>>>3)|m;a=27644+(n>>>3<<1<<2)|0;b=27644+(n>>>3<<1<<2)+8|0}else{a=c[27644+(n>>>3<<1<<2)+8>>2]|0;b=27644+(n>>>3<<1<<2)+8|0}c[b>>2]=d;c[a+12>>2]=d;c[d+8>>2]=a;c[d+12>>2]=27644+(n>>>3<<1<<2)}c[6903]=k;c[6906]=i}v=j+8|0;l=w;return v|0}}}}else if(a>>>0<=4294967231){o=a+11&-8;e=c[6902]|0;if(e){if((a+11|0)>>>8)if(o>>>0>16777215)j=31;else{j=(a+11|0)>>>8<<((((a+11|0)>>>8)+1048320|0)>>>16&8);j=14-((j+520192|0)>>>16&4|(((a+11|0)>>>8)+1048320|0)>>>16&8|((j<<((j+520192|0)>>>16&4))+245760|0)>>>16&2)+(j<<((j+520192|0)>>>16&4)<<(((j<<((j+520192|0)>>>16&4))+245760|0)>>>16&2)>>>15)|0;j=o>>>(j+7|0)&1|j<<1}else j=0;a=c[27908+(j<<2)>>2]|0;a:do if(!a){d=0;a=0;b=0-o|0;s=61}else{h=0;b=0-o|0;i=o<<((j|0)==31?0:25-(j>>>1)|0);d=0;while(1){f=(c[a+4>>2]&-8)-o|0;if(f>>>0<b>>>0)if(!f){f=a;b=0;d=a;s=65;break a}else{h=a;b=f}s=c[a+20>>2]|0;a=c[a+16+(i>>>31<<2)>>2]|0;d=(s|0)==0|(s|0)==(a|0)?d:s;if(!a){a=h;s=61;break}else i=i<<1}}while(0);if((s|0)==61){if((d|0)==0&(a|0)==0){a=2<<j;if(!((a|0-a)&e))break;m=((a|0-a)&e&0-((a|0-a)&e))+-1|0;n=m>>>(m>>>12&16)>>>(m>>>(m>>>12&16)>>>5&8);d=n>>>(n>>>2&4)>>>(n>>>(n>>>2&4)>>>1&2);a=0;d=c[27908+((m>>>(m>>>12&16)>>>5&8|m>>>12&16|n>>>2&4|n>>>(n>>>2&4)>>>1&2|d>>>1&1)+(d>>>(d>>>1&1))<<2)>>2]|0}if(!d){i=a;h=b}else{f=a;s=65}}if((s|0)==65)while(1){n=(c[d+4>>2]&-8)-o|0;a=n>>>0<b>>>0;b=a?n:b;f=a?d:f;a=c[d+16>>2]|0;if(!a)a=c[d+20>>2]|0;if(!a){i=f;h=b;break}else d=a}if(((i|0)!=0?h>>>0<((c[6903]|0)-o|0)>>>0:0)?(k=i+o|0,k>>>0>i>>>0):0){g=c[i+24>>2]|0;a=c[i+12>>2]|0;do if((a|0)==(i|0)){b=i+20|0;a=c[b>>2]|0;if(!a){b=i+16|0;a=c[b>>2]|0;if(!a){a=0;break}}while(1){f=a+20|0;d=c[f>>2]|0;if(!d){f=a+16|0;d=c[f>>2]|0;if(!d)break;else{a=d;b=f}}else{a=d;b=f}}c[b>>2]=0}else{v=c[i+8>>2]|0;c[v+12>>2]=a;c[a+8>>2]=v}while(0);do if(g){b=c[i+28>>2]|0;if((i|0)==(c[27908+(b<<2)>>2]|0)){c[27908+(b<<2)>>2]=a;if(!a){c[6902]=e&~(1<<b);e=e&~(1<<b);break}}else{c[((c[g+16>>2]|0)==(i|0)?g+16|0:g+20|0)>>2]=a;if(!a)break}c[a+24>>2]=g;b=c[i+16>>2]|0;if(b|0){c[a+16>>2]=b;c[b+24>>2]=a}b=c[i+20>>2]|0;if(b){c[a+20>>2]=b;c[b+24>>2]=a}}while(0);b:do if(h>>>0<16){v=h+o|0;c[i+4>>2]=v|3;v=i+v+4|0;c[v>>2]=c[v>>2]|1}else{c[i+4>>2]=o|3;c[k+4>>2]=h|1;c[k+h>>2]=h;d=h>>>3;if(h>>>0<256){a=c[6901]|0;if(!(a&1<<d)){c[6901]=a|1<<d;a=27644+(d<<1<<2)|0;b=27644+(d<<1<<2)+8|0}else{a=c[27644+(d<<1<<2)+8>>2]|0;b=27644+(d<<1<<2)+8|0}c[b>>2]=k;c[a+12>>2]=k;c[k+8>>2]=a;c[k+12>>2]=27644+(d<<1<<2);break}a=h>>>8;if(a)if(h>>>0>16777215)d=31;else{d=a<<((a+1048320|0)>>>16&8)<<(((a<<((a+1048320|0)>>>16&8))+520192|0)>>>16&4);d=14-(((a<<((a+1048320|0)>>>16&8))+520192|0)>>>16&4|(a+1048320|0)>>>16&8|(d+245760|0)>>>16&2)+(d<<((d+245760|0)>>>16&2)>>>15)|0;d=h>>>(d+7|0)&1|d<<1}else d=0;a=27908+(d<<2)|0;c[k+28>>2]=d;c[k+16+4>>2]=0;c[k+16>>2]=0;b=1<<d;if(!(e&b)){c[6902]=e|b;c[a>>2]=k;c[k+24>>2]=a;c[k+12>>2]=k;c[k+8>>2]=k;break}a=c[a>>2]|0;c:do if((c[a+4>>2]&-8|0)!=(h|0)){e=h<<((d|0)==31?0:25-(d>>>1)|0);while(1){d=a+16+(e>>>31<<2)|0;b=c[d>>2]|0;if(!b)break;if((c[b+4>>2]&-8|0)==(h|0)){a=b;break c}else{e=e<<1;a=b}}c[d>>2]=k;c[k+24>>2]=a;c[k+12>>2]=k;c[k+8>>2]=k;break b}while(0);u=a+8|0;v=c[u>>2]|0;c[v+12>>2]=k;c[u>>2]=k;c[k+8>>2]=v;c[k+12>>2]=a;c[k+24>>2]=0}while(0);v=i+8|0;l=w;return v|0}}}else o=-1;while(0);d=c[6903]|0;if(d>>>0>=o>>>0){a=d-o|0;b=c[6906]|0;if(a>>>0>15){v=b+o|0;c[6906]=v;c[6903]=a;c[v+4>>2]=a|1;c[b+d>>2]=a;c[b+4>>2]=o|3}else{c[6903]=0;c[6906]=0;c[b+4>>2]=d|3;c[b+d+4>>2]=c[b+d+4>>2]|1}v=b+8|0;l=w;return v|0}f=c[6904]|0;if(f>>>0>o>>>0){t=f-o|0;c[6904]=t;v=c[6907]|0;u=v+o|0;c[6907]=u;c[u+4>>2]=t|1;c[v+4>>2]=o|3;v=v+8|0;l=w;return v|0}if(!(c[7019]|0)){c[7021]=4096;c[7020]=4096;c[7022]=-1;c[7023]=-1;c[7024]=0;c[7012]=0;c[7019]=w&-16^1431655768;a=4096}else a=c[7021]|0;h=o+48|0;i=o+47|0;k=a+i|0;j=0-a|0;if((k&j)>>>0<=o>>>0){v=0;l=w;return v|0}a=c[7011]|0;if(a|0?(n=c[7009]|0,(n+(k&j)|0)>>>0<=n>>>0?1:(n+(k&j)|0)>>>0>a>>>0):0){v=0;l=w;return v|0}d:do if(!(c[7012]&4)){d=c[6907]|0;e:do if(d){b=28052;while(1){a=c[b>>2]|0;if(a>>>0<=d>>>0?(p=b+4|0,(a+(c[p>>2]|0)|0)>>>0>d>>>0):0)break;a=c[b+8>>2]|0;if(!a){s=128;break e}else b=a}if((k-f&j)>>>0<2147483647){a=go(k-f&j|0)|0;if((a|0)==((c[b>>2]|0)+(c[p>>2]|0)|0))if((a|0)==(-1|0))a=k-f&j;else{h=k-f&j;g=a;s=145;break d}else{e=a;d=k-f&j;s=136}}else a=0}else s=128;while(0);do if((s|0)==128){b=go(0)|0;if((b|0)!=(-1|0)?(r=c[7020]|0,r=((r+-1&b|0)==0?0:(r+-1+b&0-r)-b|0)+(k&j)|0,q=c[7009]|0,r>>>0>o>>>0&r>>>0<2147483647):0){p=c[7011]|0;if(p|0?(r+q|0)>>>0<=q>>>0|(r+q|0)>>>0>p>>>0:0){a=0;break}a=go(r|0)|0;if((a|0)==(b|0)){h=r;g=b;s=145;break d}else{e=a;d=r;s=136}}else a=0}while(0);do if((s|0)==136){b=0-d|0;if(!(h>>>0>d>>>0&(d>>>0<2147483647&(e|0)!=(-1|0))))if((e|0)==(-1|0)){a=0;break}else{h=d;g=e;s=145;break d}a=c[7021]|0;a=i-d+a&0-a;if(a>>>0>=2147483647){h=d;g=e;s=145;break d}if((go(a|0)|0)==(-1|0)){go(b|0)|0;a=0;break}else{h=a+d|0;g=e;s=145;break d}}while(0);c[7012]=c[7012]|4;s=143}else{a=0;s=143}while(0);if(((s|0)==143?(k&j)>>>0<2147483647:0)?(g=go(k&j|0)|0,t=go(0)|0,u=(t-g|0)>>>0>(o+40|0)>>>0,!((g|0)==(-1|0)|u^1|g>>>0<t>>>0&((g|0)!=(-1|0)&(t|0)!=(-1|0))^1)):0){h=u?t-g|0:a;s=145}if((s|0)==145){a=(c[7009]|0)+h|0;c[7009]=a;if(a>>>0>(c[7010]|0)>>>0)c[7010]=a;j=c[6907]|0;f:do if(j){a=28052;while(1){b=c[a>>2]|0;d=a+4|0;e=c[d>>2]|0;if((g|0)==(b+e|0)){s=154;break}f=c[a+8>>2]|0;if(!f)break;else a=f}if(((s|0)==154?(c[a+12>>2]&8|0)==0:0)?g>>>0>j>>>0&b>>>0<=j>>>0:0){c[d>>2]=e+h;v=(c[6904]|0)+h|0;u=(j+8&7|0)==0?0:0-(j+8)&7;c[6907]=j+u;c[6904]=v-u;c[j+u+4>>2]=v-u|1;c[j+v+4>>2]=40;c[6908]=c[7023];break}if(g>>>0<(c[6905]|0)>>>0)c[6905]=g;d=g+h|0;a=28052;while(1){if((c[a>>2]|0)==(d|0)){s=162;break}b=c[a+8>>2]|0;if(!b)break;else a=b}if((s|0)==162?(c[a+12>>2]&8|0)==0:0){c[a>>2]=g;m=a+4|0;c[m>>2]=(c[m>>2]|0)+h;m=g+8|0;m=g+((m&7|0)==0?0:0-m&7)|0;a=d+((d+8&7|0)==0?0:0-(d+8)&7)|0;k=m+o|0;i=a-m-o|0;c[m+4>>2]=o|3;g:do if((j|0)==(a|0)){v=(c[6904]|0)+i|0;c[6904]=v;c[6907]=k;c[k+4>>2]=v|1}else{if((c[6906]|0)==(a|0)){v=(c[6903]|0)+i|0;c[6903]=v;c[6906]=k;c[k+4>>2]=v|1;c[k+v>>2]=v;break}h=c[a+4>>2]|0;if((h&3|0)==1){h:do if(h>>>0<256){b=c[a+8>>2]|0;d=c[a+12>>2]|0;if((d|0)==(b|0)){c[6901]=c[6901]&~(1<<(h>>>3));break}else{c[b+12>>2]=d;c[d+8>>2]=b;break}}else{g=c[a+24>>2]|0;b=c[a+12>>2]|0;do if((b|0)==(a|0)){b=c[a+16+4>>2]|0;if(!b){b=c[a+16>>2]|0;if(!b){b=0;break}else d=a+16|0}else d=a+16+4|0;while(1){f=b+20|0;e=c[f>>2]|0;if(!e){f=b+16|0;e=c[f>>2]|0;if(!e)break;else{b=e;d=f}}else{b=e;d=f}}c[d>>2]=0}else{v=c[a+8>>2]|0;c[v+12>>2]=b;c[b+8>>2]=v}while(0);if(!g)break;d=c[a+28>>2]|0;do if((c[27908+(d<<2)>>2]|0)!=(a|0)){c[((c[g+16>>2]|0)==(a|0)?g+16|0:g+20|0)>>2]=b;if(!b)break h}else{c[27908+(d<<2)>>2]=b;if(b|0)break;c[6902]=c[6902]&~(1<<d);break h}while(0);c[b+24>>2]=g;d=c[a+16>>2]|0;if(d|0){c[b+16>>2]=d;c[d+24>>2]=b}d=c[a+16+4>>2]|0;if(!d)break;c[b+20>>2]=d;c[d+24>>2]=b}while(0);a=a+(h&-8)|0;f=(h&-8)+i|0}else f=i;d=a+4|0;c[d>>2]=c[d>>2]&-2;c[k+4>>2]=f|1;c[k+f>>2]=f;d=f>>>3;if(f>>>0<256){a=c[6901]|0;if(!(a&1<<d)){c[6901]=a|1<<d;a=27644+(d<<1<<2)|0;b=27644+(d<<1<<2)+8|0}else{a=c[27644+(d<<1<<2)+8>>2]|0;b=27644+(d<<1<<2)+8|0}c[b>>2]=k;c[a+12>>2]=k;c[k+8>>2]=a;c[k+12>>2]=27644+(d<<1<<2);break}a=f>>>8;do if(!a)e=0;else{if(f>>>0>16777215){e=31;break}e=a<<((a+1048320|0)>>>16&8)<<(((a<<((a+1048320|0)>>>16&8))+520192|0)>>>16&4);e=14-(((a<<((a+1048320|0)>>>16&8))+520192|0)>>>16&4|(a+1048320|0)>>>16&8|(e+245760|0)>>>16&2)+(e<<((e+245760|0)>>>16&2)>>>15)|0;e=f>>>(e+7|0)&1|e<<1}while(0);a=27908+(e<<2)|0;c[k+28>>2]=e;c[k+16+4>>2]=0;c[k+16>>2]=0;b=c[6902]|0;d=1<<e;if(!(b&d)){c[6902]=b|d;c[a>>2]=k;c[k+24>>2]=a;c[k+12>>2]=k;c[k+8>>2]=k;break}a=c[a>>2]|0;i:do if((c[a+4>>2]&-8|0)!=(f|0)){e=f<<((e|0)==31?0:25-(e>>>1)|0);while(1){d=a+16+(e>>>31<<2)|0;b=c[d>>2]|0;if(!b)break;if((c[b+4>>2]&-8|0)==(f|0)){a=b;break i}else{e=e<<1;a=b}}c[d>>2]=k;c[k+24>>2]=a;c[k+12>>2]=k;c[k+8>>2]=k;break g}while(0);u=a+8|0;v=c[u>>2]|0;c[v+12>>2]=k;c[u>>2]=k;c[k+8>>2]=v;c[k+12>>2]=a;c[k+24>>2]=0}while(0);v=m+8|0;l=w;return v|0}a=28052;while(1){b=c[a>>2]|0;if(b>>>0<=j>>>0?(v=b+(c[a+4>>2]|0)|0,v>>>0>j>>>0):0)break;a=c[a+8>>2]|0}f=v+-47+((v+-47+8&7|0)==0?0:0-(v+-47+8)&7)|0;f=f>>>0<(j+16|0)>>>0?j:f;a=h+-40|0;t=g+8|0;t=(t&7|0)==0?0:0-t&7;u=g+t|0;c[6907]=u;c[6904]=a-t;c[u+4>>2]=a-t|1;c[g+a+4>>2]=40;c[6908]=c[7023];c[f+4>>2]=27;c[f+8>>2]=c[7013];c[f+8+4>>2]=c[7014];c[f+8+8>>2]=c[7015];c[f+8+12>>2]=c[7016];c[7013]=g;c[7014]=h;c[7016]=0;c[7015]=f+8;a=f+24|0;do{u=a;a=a+4|0;c[a>>2]=7}while((u+8|0)>>>0<v>>>0);if((f|0)!=(j|0)){c[f+4>>2]=c[f+4>>2]&-2;c[j+4>>2]=f-j|1;c[f>>2]=f-j;if((f-j|0)>>>0<256){d=27644+((f-j|0)>>>3<<1<<2)|0;a=c[6901]|0;if(!(a&1<<((f-j|0)>>>3))){c[6901]=a|1<<((f-j|0)>>>3);a=d;b=d+8|0}else{a=c[d+8>>2]|0;b=d+8|0}c[b>>2]=j;c[a+12>>2]=j;c[j+8>>2]=a;c[j+12>>2]=d;break}if((f-j|0)>>>8)if((f-j|0)>>>0>16777215)e=31;else{e=(f-j|0)>>>8<<((((f-j|0)>>>8)+1048320|0)>>>16&8);e=14-((e+520192|0)>>>16&4|(((f-j|0)>>>8)+1048320|0)>>>16&8|((e<<((e+520192|0)>>>16&4))+245760|0)>>>16&2)+(e<<((e+520192|0)>>>16&4)<<(((e<<((e+520192|0)>>>16&4))+245760|0)>>>16&2)>>>15)|0;e=(f-j|0)>>>(e+7|0)&1|e<<1}else e=0;a=27908+(e<<2)|0;c[j+28>>2]=e;c[j+20>>2]=0;c[j+16>>2]=0;b=c[6902]|0;d=1<<e;if(!(b&d)){c[6902]=b|d;c[a>>2]=j;c[j+24>>2]=a;c[j+12>>2]=j;c[j+8>>2]=j;break}a=c[a>>2]|0;j:do if((c[a+4>>2]&-8|0)!=(f-j|0)){e=f-j<<((e|0)==31?0:25-(e>>>1)|0);while(1){d=a+16+(e>>>31<<2)|0;b=c[d>>2]|0;if(!b)break;if((c[b+4>>2]&-8|0)==(f-j|0)){a=b;break j}else{e=e<<1;a=b}}c[d>>2]=j;c[j+24>>2]=a;c[j+12>>2]=j;c[j+8>>2]=j;break f}while(0);u=a+8|0;v=c[u>>2]|0;c[v+12>>2]=j;c[u>>2]=j;c[j+8>>2]=v;c[j+12>>2]=a;c[j+24>>2]=0}}else{v=c[6905]|0;if((v|0)==0|g>>>0<v>>>0)c[6905]=g;c[7013]=g;c[7014]=h;c[7016]=0;c[6910]=c[7019];c[6909]=-1;c[6914]=27644;c[6913]=27644;c[6916]=27652;c[6915]=27652;c[6918]=27660;c[6917]=27660;c[6920]=27668;c[6919]=27668;c[6922]=27676;c[6921]=27676;c[6924]=27684;c[6923]=27684;c[6926]=27692;c[6925]=27692;c[6928]=27700;c[6927]=27700;c[6930]=27708;c[6929]=27708;c[6932]=27716;c[6931]=27716;c[6934]=27724;c[6933]=27724;c[6936]=27732;c[6935]=27732;c[6938]=27740;c[6937]=27740;c[6940]=27748;c[6939]=27748;c[6942]=27756;c[6941]=27756;c[6944]=27764;c[6943]=27764;c[6946]=27772;c[6945]=27772;c[6948]=27780;c[6947]=27780;c[6950]=27788;c[6949]=27788;c[6952]=27796;c[6951]=27796;c[6954]=27804;c[6953]=27804;c[6956]=27812;c[6955]=27812;c[6958]=27820;c[6957]=27820;c[6960]=27828;c[6959]=27828;c[6962]=27836;c[6961]=27836;c[6964]=27844;c[6963]=27844;c[6966]=27852;c[6965]=27852;c[6968]=27860;c[6967]=27860;c[6970]=27868;c[6969]=27868;c[6972]=27876;c[6971]=27876;c[6974]=27884;c[6973]=27884;c[6976]=27892;c[6975]=27892;v=h+-40|0;t=g+8|0;t=(t&7|0)==0?0:0-t&7;u=g+t|0;c[6907]=u;c[6904]=v-t;c[u+4>>2]=v-t|1;c[g+v+4>>2]=40;c[6908]=c[7023]}while(0);a=c[6904]|0;if(a>>>0>o>>>0){t=a-o|0;c[6904]=t;v=c[6907]|0;u=v+o|0;c[6907]=u;c[u+4>>2]=t|1;c[v+4>>2]=o|3;v=v+8|0;l=w;return v|0}}c[7041]=12;v=0;l=w;return v|0}function fc(a,b,d,e,f){a=a|0;b=b|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,s=0,t=0,u=0,v=0,w=0,x=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=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,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0;T=c[e>>2]|0;da=c[f>>2]|0;if(T|0)g=c[T+12>>2]|0;else g=b;h=c[g+88>>2]|0;j=c[g+92>>2]|0;l=c[g+96>>2]|0;if(!da)g=d;else g=c[da+12>>2]|0;s=c[g+88>>2]|0;q=c[g+92>>2]|0;k=c[g+96>>2]|0;X=c[b+88>>2]|0;ba=(c[d+88>>2]|0)-X|0;u=c[b+92>>2]|0;ca=(c[d+92>>2]|0)-u|0;i=c[b+96>>2]|0;U=(c[d+96>>2]|0)-i|0;W=c[(T|0?T:da)+12>>2]|0;Y=(c[W+88>>2]|0)-X|0;S=(c[W+92>>2]|0)-u|0;W=(c[W+96>>2]|0)-i|0;V=(N(S,U)|0)-(N(W,ca)|0)|0;W=(N(W,ba)|0)-(N(Y,U)|0)|0;S=(N(Y,ca)|0)-(N(S,ba)|0)|0;X=Pr(V|0,((V|0)<0)<<31>>31|0,X|0,((X|0)<0)<<31>>31|0)|0;Y=y;u=Pr(W|0,((W|0)<0)<<31>>31|0,u|0,((u|0)<0)<<31>>31|0)|0;t=y;i=Pr(S|0,((S|0)<0)<<31>>31|0,i|0,((i|0)<0)<<31>>31|0)|0;i=iv(X|0,Y|0,i|0,y|0)|0;t=iv(i|0,y|0,u|0,t|0)|0;u=y;i=Pr(S|0,((S|0)<0)<<31>>31|0,ca|0,((ca|0)<0)<<31>>31|0)|0;Y=y;X=Pr(W|0,((W|0)<0)<<31>>31|0,U|0,((U|0)<0)<<31>>31|0)|0;X=Xu(i|0,Y|0,X|0,y|0)|0;Y=y;i=Pr(V|0,((V|0)<0)<<31>>31|0,U|0,((U|0)<0)<<31>>31|0)|0;_=y;Z=Pr(S|0,((S|0)<0)<<31>>31|0,ba|0,((ba|0)<0)<<31>>31|0)|0;Z=Xu(i|0,_|0,Z|0,y|0)|0;_=y;i=Pr(W|0,((W|0)<0)<<31>>31|0,ba|0,((ba|0)<0)<<31>>31|0)|0;aa=y;$=Pr(V|0,((V|0)<0)<<31>>31|0,ca|0,((ca|0)<0)<<31>>31|0)|0;$=Xu(i|0,aa|0,$|0,y|0)|0;aa=y;i=Pr(X|0,Y|0,h|0,((h|0)<0)<<31>>31|0)|0;R=y;m=Pr(Z|0,_|0,j|0,((j|0)<0)<<31>>31|0)|0;R=iv(m|0,y|0,i|0,R|0)|0;i=y;m=Pr($|0,aa|0,l|0,((l|0)<0)<<31>>31|0)|0;m=iv(R|0,i|0,m|0,y|0)|0;i=y;if((T|0)!=0?(c[T+12>>2]|0)!=0:0){g=h;b=j;d=l;n=T;o=i;while(1){n=c[(c[n+8>>2]|0)+4>>2]|0;l=n+12|0;j=c[l>>2]|0;h=c[j+88>>2]|0;Q=Pr(h|0,((h|0)<0)<<31>>31|0,V|0,((V|0)<0)<<31>>31|0)|0;P=y;i=c[j+92>>2]|0;R=Pr(i|0,((i|0)<0)<<31>>31|0,W|0,((W|0)<0)<<31>>31|0)|0;P=iv(R|0,y|0,Q|0,P|0)|0;Q=y;j=c[j+96>>2]|0;R=Pr(j|0,((j|0)<0)<<31>>31|0,S|0,((S|0)<0)<<31>>31|0)|0;R=iv(P|0,Q|0,R|0,y|0)|0;Q=y;if((Q|0)<(u|0)|(Q|0)==(u|0)&R>>>0<t>>>0){j=m;i=o;break}if((c[n+20>>2]|0)==(c[a+100>>2]|0)){j=m;i=o;break}Q=Pr(X|0,Y|0,h|0,((h|0)<0)<<31>>31|0)|0;R=y;i=Pr(Z|0,_|0,i|0,((i|0)<0)<<31>>31|0)|0;R=iv(i|0,y|0,Q|0,R|0)|0;i=y;j=Pr($|0,aa|0,j|0,((j|0)<0)<<31>>31|0)|0;j=iv(R|0,i|0,j|0,y|0)|0;i=y;if(!((i|0)>(o|0)|(i|0)==(o|0)&j>>>0>m>>>0)){j=m;i=o;break}c[e>>2]=n;R=c[l>>2]|0;g=c[R+88>>2]|0;b=c[R+92>>2]|0;d=c[R+96>>2]|0;if(!R)break;else{o=i;m=j}}h=g;l=d;n=c[f>>2]|0}else{b=j;n=da;j=m}g=Pr(X|0,Y|0,s|0,((s|0)<0)<<31>>31|0)|0;R=y;d=Pr(Z|0,_|0,q|0,((q|0)<0)<<31>>31|0)|0;R=iv(d|0,y|0,g|0,R|0)|0;g=y;d=Pr($|0,aa|0,k|0,((k|0)<0)<<31>>31|0)|0;d=iv(R|0,g|0,d|0,y|0)|0;g=y;a:do if(n)if(!(c[n+12>>2]|0))p=n;else{p=n;while(1){r=c[c[p+8>>2]>>2]|0;o=c[r+12>>2]|0;m=c[o+88>>2]|0;Q=Pr(m|0,((m|0)<0)<<31>>31|0,V|0,((V|0)<0)<<31>>31|0)|0;P=y;n=c[o+92>>2]|0;R=Pr(n|0,((n|0)<0)<<31>>31|0,W|0,((W|0)<0)<<31>>31|0)|0;P=iv(R|0,y|0,Q|0,P|0)|0;Q=y;o=c[o+96>>2]|0;R=Pr(o|0,((o|0)<0)<<31>>31|0,S|0,((S|0)<0)<<31>>31|0)|0;R=iv(P|0,Q|0,R|0,y|0)|0;Q=y;if((Q|0)<(u|0)|(Q|0)==(u|0)&R>>>0<t>>>0)break a;if((c[r+20>>2]|0)==(c[a+100>>2]|0))break a;m=Pr(X|0,Y|0,m|0,((m|0)<0)<<31>>31|0)|0;R=y;n=Pr(Z|0,_|0,n|0,((n|0)<0)<<31>>31|0)|0;R=iv(n|0,y|0,m|0,R|0)|0;n=y;m=Pr($|0,aa|0,o|0,((o|0)<0)<<31>>31|0)|0;m=iv(R|0,n|0,m|0,y|0)|0;n=y;if(!((n|0)>(g|0)|(n|0)==(g|0)&m>>>0>d>>>0))break a;c[f>>2]=r;R=c[r+12>>2]|0;g=c[R+88>>2]|0;d=c[R+92>>2]|0;k=c[R+96>>2]|0;if(!R){s=g;q=d;p=r;d=m;g=n;break}else{s=g;q=d;p=r;g=n;d=m}}}else p=0;while(0);i=Xu(d|0,g|0,j|0,i|0)|0;d=y;if((d|0)>0|(d|0)==0&i>>>0>0){Q=Xu(0,0,S|0,((S|0)<0)<<31>>31|0)|0;R=y;K=s;g=h;L=q;j=b;M=k;m=l;o=i;n=d;while(1){P=g;J=c[e>>2]|0;b:while(1){O=(N(L-j|0,ca)|0)+(N(K-P|0,ba)|0)+(N(M-m|0,U)|0)|0;if(!J)break;if(!(c[J+12>>2]|0))break;F=c[(c[J>>2]|0)+8>>2]|0;if((c[F+20>>2]|0)<=(c[a+100>>2]|0))break;I=c[F+12>>2]|0;G=c[I+88>>2]|0;E=G-P|0;H=c[I+92>>2]|0;D=H-j|0;I=c[I+96>>2]|0;g=I-m|0;t=Pr(X|0,Y|0,E|0,((E|0)<0)<<31>>31|0)|0;C=y;r=Pr(Z|0,_|0,D|0,((D|0)<0)<<31>>31|0)|0;C=iv(r|0,y|0,t|0,C|0)|0;t=y;r=Pr($|0,aa|0,g|0,((g|0)<0)<<31>>31|0)|0;r=iv(C|0,t|0,r|0,y|0)|0;t=y;g=(N(D,ca)|0)+(N(E,ba)|0)+(N(g,U)|0)|0;do if((r|0)==0&(t|0)==0){if((g|0)>=0)break b}else{if((t|0)>=0)break b;if((g|0)>0){E=-1;v=g;u=((g|0)<0)<<31>>31}else{v=Xu(0,0,g|0,((g|0)<0)<<31>>31|0)|0;E=(g|0)!=0&1;v=g|0?v:0;u=g|0?y:0}A=Xu(0,0,r|0,t|0)|0;B=y;if((O|0)>0){g=1;r=-1;C=O;D=((O|0)<0)<<31>>31}else{C=Xu(0,0,O|0,((O|0)<0)<<31>>31|0)|0;g=((O|0)!=0)<<31>>31;r=(O|0)!=0&1;C=O|0?C:0;D=O|0?y:0}if((n|0)>0|(n|0)==0&o>>>0>0){r=o;t=n}else{t=(o|0)!=0|(n|0)!=0;z=Xu(0,0,o|0,n|0)|0;g=t?r:g;r=t?z:0;t=t?y:0}if((E|0)==(g|0)){if(!E)break;g=Pr(r|0,0,v|0,0)|0;w=y;ha=Pr(t|0,0,v|0,0)|0;ga=y;x=Pr(r|0,0,u|0,0)|0;z=y;fa=Pr(t|0,0,u|0,0)|0;v=y;x=iv(ha|0,0,x|0,0)|0;r=y;v=iv(ga|0,0,fa|0,v|0)|0;z=iv(v|0,y|0,z|0,0)|0;r=iv(z|0,y|0,r|0,0)|0;z=y;v=iv(0,x|0,g|0,w|0)|0;w=y;x=iv(r|0,z|0,(w>>>0<x>>>0|(w|0)==(x|0)&v>>>0<0)&1|0,0)|0;z=y;r=Pr(C|0,0,A|0,0)|0;g=y;fa=Pr(D|0,0,A|0,0)|0;A=y;t=Pr(C|0,0,B|0,0)|0;u=y;B=Pr(D|0,0,B|0,0)|0;C=y;t=iv(fa|0,0,t|0,0)|0;D=y;C=iv(A|0,0,B|0,C|0)|0;u=iv(C|0,y|0,u|0,0)|0;D=iv(u|0,y|0,D|0,0)|0;u=y;g=iv(0,t|0,r|0,g|0)|0;r=y;t=iv(D|0,u|0,(r>>>0<t>>>0|(r|0)==(t|0)&g>>>0<0)&1|0,0)|0;u=y;if(z>>>0<u>>>0|(z|0)==(u|0)&x>>>0<t>>>0)g=-1;else g=z>>>0>u>>>0|(z|0)==(u|0)&x>>>0>t>>>0?1:w>>>0<r>>>0|(w|0)==(r|0)&v>>>0<g>>>0?-1:(w>>>0>r>>>0|(w|0)==(r|0)&v>>>0>g>>>0)&1;g=N(g,E)|0}else g=E-g|0;if((g|0)<=-1)break b}while(0);n=K-G|0;j=L-H|0;o=M-I|0;n=Pr(X|0,Y|0,n|0,((n|0)<0)<<31>>31|0)|0;P=y;j=Pr(Z|0,_|0,j|0,((j|0)<0)<<31>>31|0)|0;P=iv(j|0,y|0,n|0,P|0)|0;n=y;o=Pr($|0,aa|0,o|0,((o|0)<0)<<31>>31|0)|0;o=iv(P|0,n|0,o|0,y|0)|0;n=(J|0)==(T|0)?0:F;c[e>>2]=n;P=G;j=H;m=I;J=n;n=y}g=c[f>>2]|0;if(!g){g=110;break}if(!(c[g+12>>2]|0)){g=110;break}F=c[c[g+8>>2]>>2]|0;if((c[F+20>>2]|0)<=(c[a+100>>2]|0)){g=110;break}u=c[F+12>>2]|0;w=c[u+88>>2]|0;t=w-K|0;v=c[u+92>>2]|0;r=v-L|0;u=c[u+96>>2]|0;g=u-M|0;ha=Pr(t|0,((t|0)<0)<<31>>31|0,V|0,((V|0)<0)<<31>>31|0)|0;fa=y;ga=Pr(r|0,((r|0)<0)<<31>>31|0,W|0,((W|0)<0)<<31>>31|0)|0;fa=iv(ga|0,y|0,ha|0,fa|0)|0;ha=y;ga=Pr(Q|0,R|0,g|0,((g|0)<0)<<31>>31|0)|0;if(!((fa|0)==(ga|0)&(ha|0)==(y|0))){g=110;break}z=Pr(X|0,Y|0,t|0,((t|0)<0)<<31>>31|0)|0;E=y;x=Pr(Z|0,_|0,r|0,((r|0)<0)<<31>>31|0)|0;E=iv(x|0,y|0,z|0,E|0)|0;z=y;x=Pr($|0,aa|0,g|0,((g|0)<0)<<31>>31|0)|0;x=iv(E|0,z|0,x|0,y|0)|0;z=y;g=(N(r,ca)|0)+(N(t,ba)|0)+(N(g,U)|0)|0;E=w-P|0;ga=v-j|0;D=u-m|0;E=Pr(X|0,Y|0,E|0,((E|0)<0)<<31>>31|0)|0;ha=y;ga=Pr(Z|0,_|0,ga|0,((ga|0)<0)<<31>>31|0)|0;ha=iv(ga|0,y|0,E|0,ha|0)|0;E=y;D=Pr($|0,aa|0,D|0,((D|0)<0)<<31>>31|0)|0;D=iv(ha|0,E|0,D|0,y|0)|0;E=y;if(!((E|0)>0|(E|0)==0&D>>>0>0)){g=110;break}if((x|0)==0&(z|0)==0){if((g|0)>=0){g=110;break}}else{if((z|0)>=0){g=110;break}if((g|0)>0){C=-1;u=g;t=((g|0)<0)<<31>>31}else{u=Xu(0,0,g|0,((g|0)<0)<<31>>31|0)|0;C=(g|0)!=0&1;u=g|0?u:0;t=g|0?y:0}z=Xu(0,0,x|0,z|0)|0;A=y;if((O|0)>0){g=1;r=-1;B=O;x=((O|0)<0)<<31>>31}else{B=Xu(0,0,O|0,((O|0)<0)<<31>>31|0)|0;g=((O|0)!=0)<<31>>31;r=(O|0)!=0&1;B=O|0?B:0;x=O|0?y:0}if(!((n|0)>0|(n|0)==0&o>>>0>0)){ha=(o|0)!=0|(n|0)!=0;o=Xu(0,0,o|0,n|0)|0;g=ha?r:g;o=ha?o:0;n=ha?y:0}if((C|0)==(g|0)){if(!C){g=110;break}ha=Pr(o|0,0,u|0,0)|0;g=y;r=Pr(n|0,0,u|0,0)|0;O=y;v=Pr(o|0,0,t|0,0)|0;w=y;u=Pr(n|0,0,t|0,0)|0;t=y;v=iv(r|0,0,v|0,0)|0;n=y;t=iv(O|0,0,u|0,t|0)|0;w=iv(t|0,y|0,w|0,0)|0;n=iv(w|0,y|0,n|0,0)|0;w=y;t=iv(0,v|0,ha|0,g|0)|0;u=y;v=iv(n|0,w|0,(u>>>0<v>>>0|(u|0)==(v|0)&t>>>0<0)&1|0,0)|0;w=y;n=Pr(B|0,0,z|0,0)|0;g=y;ha=Pr(x|0,0,z|0,0)|0;O=y;o=Pr(B|0,0,A|0,0)|0;r=y;fa=Pr(x|0,0,A|0,0)|0;ga=y;o=iv(ha|0,0,o|0,0)|0;ha=y;ga=iv(O|0,0,fa|0,ga|0)|0;r=iv(ga|0,y|0,r|0,0)|0;ha=iv(r|0,y|0,ha|0,0)|0;r=y;g=iv(0,o|0,n|0,g|0)|0;n=y;o=iv(ha|0,r|0,(n>>>0<o>>>0|(n|0)==(o|0)&g>>>0<0)&1|0,0)|0;r=y;if(w>>>0<r>>>0|(w|0)==(r|0)&v>>>0<o>>>0)g=-1;else g=w>>>0>r>>>0|(w|0)==(r|0)&v>>>0>o>>>0?1:u>>>0<n>>>0|(u|0)==(n|0)&t>>>0<g>>>0?-1:(u>>>0>n>>>0|(u|0)==(n|0)&t>>>0>g>>>0)&1;g=N(g,C)|0}else g=C-g|0;if((g|0)<=0){g=110;break}}c[f>>2]=F;M=c[F+12>>2]|0;K=c[M+88>>2]|0;g=P;L=c[M+92>>2]|0;M=c[M+96>>2]|0;o=D;n=E}if((g|0)==110)return}if((d|0)>=0)return;F=Xu(0,0,S|0,((S|0)<0)<<31>>31|0)|0;G=y;j=p;g=l;c:while(1){D=g;C=j;d:while(1){E=(N(q-b|0,ca)|0)+(N(s-h|0,ba)|0)+(N(k-D|0,U)|0)|0;do if((C|0?c[C+12>>2]|0:0)?(ea=c[(c[C+4>>2]|0)+8>>2]|0,(c[ea+20>>2]|0)>(c[a+100>>2]|0)):0){B=c[ea+12>>2]|0;z=c[B+88>>2]|0;ha=z-s|0;A=c[B+92>>2]|0;ga=A-q|0;B=c[B+96>>2]|0;g=B-k|0;l=Pr(X|0,Y|0,ha|0,((ha|0)<0)<<31>>31|0)|0;fa=y;j=Pr(Z|0,_|0,ga|0,((ga|0)<0)<<31>>31|0)|0;fa=iv(j|0,y|0,l|0,fa|0)|0;l=y;j=Pr($|0,aa|0,g|0,((g|0)<0)<<31>>31|0)|0;j=iv(fa|0,l|0,j|0,y|0)|0;l=y;g=(N(ga,ca)|0)+(N(ha,ba)|0)+(N(g,U)|0)|0;if((j|0)==0&(l|0)==0)if((g|0)>0)break d;else break;if((l|0)<0){if((g|0)>0){x=-1;n=g;m=((g|0)<0)<<31>>31}else{n=Xu(0,0,g|0,((g|0)<0)<<31>>31|0)|0;x=(g|0)!=0&1;n=g|0?n:0;m=g|0?y:0}t=Xu(0,0,j|0,l|0)|0;u=y;if((E|0)>0){g=1;j=-1;v=E;w=((E|0)<0)<<31>>31}else{v=Xu(0,0,E|0,((E|0)<0)<<31>>31|0)|0;g=((E|0)!=0)<<31>>31;j=(E|0)!=0&1;v=E|0?v:0;w=E|0?y:0}if((d|0)>0|(d|0)==0&i>>>0>0){j=i;l=d}else{l=(i|0)!=0|(d|0)!=0;ha=Xu(0,0,i|0,d|0)|0;g=l?j:g;j=l?ha:0;l=l?y:0}if((x|0)==(g|0)){if(!x)break d;g=Pr(j|0,0,n|0,0)|0;o=y;fa=Pr(l|0,0,n|0,0)|0;T=y;p=Pr(j|0,0,m|0,0)|0;r=y;ha=Pr(l|0,0,m|0,0)|0;n=y;p=iv(fa|0,0,p|0,0)|0;j=y;n=iv(T|0,0,ha|0,n|0)|0;r=iv(n|0,y|0,r|0,0)|0;j=iv(r|0,y|0,j|0,0)|0;r=y;n=iv(0,p|0,g|0,o|0)|0;o=y;p=iv(j|0,r|0,(o>>>0<p>>>0|(o|0)==(p|0)&n>>>0<0)&1|0,0)|0;r=y;j=Pr(v|0,0,t|0,0)|0;g=y;ha=Pr(w|0,0,t|0,0)|0;T=y;l=Pr(v|0,0,u|0,0)|0;m=y;fa=Pr(w|0,0,u|0,0)|0;ga=y;l=iv(ha|0,0,l|0,0)|0;ha=y;ga=iv(T|0,0,fa|0,ga|0)|0;m=iv(ga|0,y|0,m|0,0)|0;ha=iv(m|0,y|0,ha|0,0)|0;m=y;g=iv(0,l|0,j|0,g|0)|0;j=y;l=iv(ha|0,m|0,(j>>>0<l>>>0|(j|0)==(l|0)&g>>>0<0)&1|0,0)|0;m=y;if(r>>>0<m>>>0|(r|0)==(m|0)&p>>>0<l>>>0)g=-1;else g=r>>>0>m>>>0|(r|0)==(m|0)&p>>>0>l>>>0?1:o>>>0<j>>>0|(o|0)==(j|0)&n>>>0<g>>>0?-1:(o>>>0>j>>>0|(o|0)==(j|0)&n>>>0>g>>>0)&1;g=N(g,x)|0}else g=x-g|0;if((g|0)<1)break d}}while(0);g=c[e>>2]|0;if(!g){g=110;break c}if(!(c[g+12>>2]|0)){g=110;break c}w=c[(c[g+8>>2]|0)+4>>2]|0;if((c[w+20>>2]|0)<=(c[a+100>>2]|0)){g=110;break c}j=c[w+12>>2]|0;m=c[j+88>>2]|0;h=m-h|0;l=c[j+92>>2]|0;b=l-b|0;j=c[j+96>>2]|0;g=j-D|0;ha=Pr(h|0,((h|0)<0)<<31>>31|0,V|0,((V|0)<0)<<31>>31|0)|0;fa=y;ga=Pr(b|0,((b|0)<0)<<31>>31|0,W|0,((W|0)<0)<<31>>31|0)|0;fa=iv(ga|0,y|0,ha|0,fa|0)|0;ha=y;ga=Pr(F|0,G|0,g|0,((g|0)<0)<<31>>31|0)|0;if(!((fa|0)==(ga|0)&(ha|0)==(y|0))){g=110;break c}o=Pr(X|0,Y|0,h|0,((h|0)<0)<<31>>31|0)|0;v=y;n=Pr(Z|0,_|0,b|0,((b|0)<0)<<31>>31|0)|0;v=iv(n|0,y|0,o|0,v|0)|0;o=y;n=Pr($|0,aa|0,g|0,((g|0)<0)<<31>>31|0)|0;n=iv(v|0,o|0,n|0,y|0)|0;o=y;g=(N(b,ca)|0)+(N(h,ba)|0)+(N(g,U)|0)|0;v=s-m|0;ga=q-l|0;u=k-j|0;v=Pr(X|0,Y|0,v|0,((v|0)<0)<<31>>31|0)|0;ha=y;ga=Pr(Z|0,_|0,ga|0,((ga|0)<0)<<31>>31|0)|0;ha=iv(ga|0,y|0,v|0,ha|0)|0;v=y;u=Pr($|0,aa|0,u|0,((u|0)<0)<<31>>31|0)|0;u=iv(ha|0,v|0,u|0,y|0)|0;v=y;if((v|0)>=0){g=110;break c}if((n|0)==0&(o|0)==0){if((g|0)<=0){g=110;break c}}else{if((o|0)>=0){g=110;break c}if((g|0)>0){t=-1;j=g;h=((g|0)<0)<<31>>31}else{j=Xu(0,0,g|0,((g|0)<0)<<31>>31|0)|0;t=(g|0)!=0&1;j=g|0?j:0;h=g|0?y:0}p=Xu(0,0,n|0,o|0)|0;r=y;if((E|0)>0){b=1;n=E;o=((E|0)<0)<<31>>31;g=-1}else{n=Xu(0,0,E|0,((E|0)<0)<<31>>31|0)|0;b=((E|0)!=0)<<31>>31;n=E|0?n:0;o=E|0?y:0;g=(E|0)!=0&1}if(!((d|0)>0|(d|0)==0&i>>>0>0)){ha=(i|0)!=0|(d|0)!=0;i=Xu(0,0,i|0,d|0)|0;b=ha?g:b;i=ha?i:0;d=ha?y:0}if((t|0)==(b|0)){if(!t){g=110;break c}m=Pr(i|0,0,j|0,0)|0;l=y;b=Pr(d|0,0,j|0,0)|0;T=y;i=Pr(i|0,0,h|0,0)|0;j=y;ha=Pr(d|0,0,h|0,0)|0;g=y;i=iv(b|0,0,i|0,0)|0;b=y;g=iv(T|0,0,ha|0,g|0)|0;j=iv(g|0,y|0,j|0,0)|0;b=iv(j|0,y|0,b|0,0)|0;j=y;l=iv(0,i|0,m|0,l|0)|0;m=y;i=iv(b|0,j|0,(m>>>0<i>>>0|(m|0)==(i|0)&l>>>0<0)&1|0,0)|0;j=y;b=Pr(n|0,0,p|0,0)|0;g=y;ha=Pr(o|0,0,p|0,0)|0;T=y;d=Pr(n|0,0,r|0,0)|0;h=y;fa=Pr(o|0,0,r|0,0)|0;ga=y;d=iv(ha|0,0,d|0,0)|0;ha=y;ga=iv(T|0,0,fa|0,ga|0)|0;h=iv(ga|0,y|0,h|0,0)|0;ha=iv(h|0,y|0,ha|0,0)|0;h=y;g=iv(0,d|0,b|0,g|0)|0;b=y;d=iv(ha|0,h|0,(b>>>0<d>>>0|(b|0)==(d|0)&g>>>0<0)&1|0,0)|0;h=y;if(j>>>0<h>>>0|(j|0)==(h|0)&i>>>0<d>>>0)g=-1;else g=j>>>0>h>>>0|(j|0)==(h|0)&i>>>0>d>>>0?1:m>>>0<b>>>0|(m|0)==(b|0)&l>>>0<g>>>0?-1:(m>>>0>b>>>0|(m|0)==(b|0)&l>>>0>g>>>0)&1;g=N(g,t)|0}else g=t-b|0;if((g|0)>=0){g=110;break c}}c[e>>2]=w;D=c[w+12>>2]|0;h=c[D+88>>2]|0;b=c[D+92>>2]|0;D=c[D+96>>2]|0;C=c[f>>2]|0;d=v;i=u}j=z-h|0;q=A-b|0;i=B-D|0;j=Pr(X|0,Y|0,j|0,((j|0)<0)<<31>>31|0)|0;s=y;q=Pr(Z|0,_|0,q|0,((q|0)<0)<<31>>31|0)|0;s=iv(q|0,y|0,j|0,s|0)|0;j=y;i=Pr($|0,aa|0,i|0,((i|0)<0)<<31>>31|0)|0;i=iv(s|0,j|0,i|0,y|0)|0;j=(C|0)==(da|0)?0:ea;c[f>>2]=j;s=z;q=A;k=B;g=D;d=y}if((g|0)==110)return}function gc(b,d,e){b=b|0;d=d|0;e=+e;var f=0,h=0.0,i=0.0,j=0,k=0.0,m=0.0,n=0,o=0,p=0.0,q=0,r=0.0,s=0.0,t=0,u=0,v=0,w=0.0,x=0,y=0.0,z=0.0,F=0.0,G=0.0,H=0.0,I=0.0,J=0.0,K=0.0;x=l;l=l+544|0;h=+g[b+100>>2];k=+g[b+104>>2];i=+g[b+108>>2];if(h*h+k*k+i*i>0.0){y=+C(+(1.0-+g[b+244>>2]),+e);g[b+100>>2]=h*y;g[b+104>>2]=k*y;g[b+108>>2]=i*y;m=h*y*h*y+k*y*k*y+i*y*i*y;h=h*y;k=k*y;i=i*y}else m=h*h+k*k+i*i;if(m>0.0){q=c[b+8>>2]|0;c[x+472>>2]=c[q+4>>2];c[x+472+4>>2]=c[q+4+4>>2];c[x+472+8>>2]=c[q+4+8>>2];c[x+472+12>>2]=c[q+4+12>>2];f=x+472+16|0;c[f>>2]=c[q+20>>2];c[f+4>>2]=c[q+20+4>>2];c[f+8>>2]=c[q+20+8>>2];c[f+12>>2]=c[q+20+12>>2];n=x+472+32|0;c[n>>2]=c[q+36>>2];c[n+4>>2]=c[q+36+4>>2];c[n+8>>2]=c[q+36+8>>2];c[n+12>>2]=c[q+36+12>>2];o=x+472+48|0;c[o>>2]=c[q+52>>2];c[o+4>>2]=c[q+52+4>>2];c[o+8>>2]=c[q+52+8>>2];c[o+12>>2]=c[q+52+12>>2];K=+B(+m);I=h*(1.0/K);G=k*(1.0/K);y=i*(1.0/K);k=+E(+(K*e*.5))/+B(+(y*y+(I*I+G*G)));K=+D(+(K*e*.5));Rg(x+472|0,x+408|0);H=+g[x+408>>2];J=+g[x+408+12>>2];h=+g[x+408+8>>2];z=+g[x+408+4>>2];i=K*H+I*k*J+G*k*h-y*k*z;m=y*k*H+(G*k*J+K*z)-I*k*h;F=y*k*J+K*h+I*k*z-G*k*H;h=K*J-I*k*H-G*k*z-y*k*h;k=i*(2.0/(h*h+(F*F+(i*i+m*m))));y=m*(2.0/(h*h+(F*F+(i*i+m*m))));z=F*(2.0/(h*h+(F*F+(i*i+m*m))));g[x+472>>2]=1.0-(m*y+F*z);g[x+472+4>>2]=i*y-h*z;g[x+472+8>>2]=i*z+h*y;g[x+472+12>>2]=0.0;g[x+472+16>>2]=i*y+h*z;g[x+472+20>>2]=1.0-(i*k+F*z);g[x+472+24>>2]=m*z-h*k;g[x+472+28>>2]=0.0;g[x+472+32>>2]=i*z-h*y;g[x+472+36>>2]=m*z+h*k;g[x+472+40>>2]=1.0-(i*k+m*y);g[x+472+44>>2]=0.0;q=c[b+8>>2]|0;c[q+304>>2]=(c[q+304>>2]|0)+1;c[q+4>>2]=c[x+472>>2];c[q+4+4>>2]=c[x+472+4>>2];c[q+4+8>>2]=c[x+472+8>>2];c[q+4+12>>2]=c[x+472+12>>2];c[q+20>>2]=c[f>>2];c[q+20+4>>2]=c[f+4>>2];c[q+20+8>>2]=c[f+8>>2];c[q+20+12>>2]=c[f+12>>2];c[q+36>>2]=c[n>>2];c[q+36+4>>2]=c[n+4>>2];c[q+36+8>>2]=c[n+8>>2];c[q+36+12>>2]=c[n+12>>2];c[q+52>>2]=c[o>>2];c[q+52+4>>2]=c[o+4>>2];c[q+52+8>>2]=c[o+8>>2];c[q+52+12>>2]=c[o+12>>2];q=c[b+8>>2]|0;c[b+132>>2]=c[q+52>>2];c[b+132+4>>2]=c[q+52+4>>2];c[b+132+8>>2]=c[q+52+8>>2];c[b+132+12>>2]=c[q+52+12>>2];Yo(b+152|0,q+52|0,16)|0;Rg(q+4|0,x+408|0);c[b+168>>2]=c[x+408>>2];c[b+168+4>>2]=c[x+408+4>>2];c[b+168+8>>2]=c[x+408+8>>2];c[b+168+12>>2]=c[x+408+12>>2];c[b+184>>2]=c[b+168>>2];c[b+184+4>>2]=c[b+168+4>>2];c[b+184+8>>2]=c[b+168+8>>2];c[b+184+12>>2]=c[b+168+12>>2]}if((a[b+251>>0]|0)==0?+g[b+252>>2]<=0.0:0){l=x;return}a[b+248>>0]=(sb[c[(c[b>>2]|0)+48>>2]&127](b)|0)&1;h=+g[b+68>>2];i=+g[b+72>>2];k=+g[b+76>>2];m=+C(+(1.0-+g[b+240>>2]),+e);if(h*h+i*i+k*k>0.0){g[b+68>>2]=h*m;g[b+72>>2]=i*m;g[b+76>>2]=k*m}h=+g[b+20>>2]*m-+g[b+52>>2]*e;g[b+20>>2]=h;if(h>0.0?(p=+g[b+32>>2],h>p):0){g[b+20>>2]=p;h=p}if(h<0.0?(K=+A(+h),r=+A(+(+g[b+28>>2])),K>r):0){g[b+20>>2]=-r;h=-r}i=h*e;g[b+24>>2]=i;q=c[b+8>>2]|0;c[x>>2]=c[q+4>>2];c[x+4>>2]=c[q+4+4>>2];c[x+8>>2]=c[q+4+8>>2];c[x+12>>2]=c[q+4+12>>2];c[x+16>>2]=c[q+20>>2];c[x+16+4>>2]=c[q+20+4>>2];c[x+16+8>>2]=c[q+20+8>>2];c[x+16+12>>2]=c[q+20+12>>2];c[x+32>>2]=c[q+36>>2];c[x+32+4>>2]=c[q+36+4>>2];c[x+32+8>>2]=c[q+36+8>>2];c[x+32+12>>2]=c[q+36+12>>2];c[x+48>>2]=c[q+52>>2];c[x+48+4>>2]=c[q+52+4>>2];c[x+48+8>>2]=c[q+52+8>>2];c[x+48+12>>2]=c[q+52+12>>2];if(h<0.0)k=+g[b+60>>2];else k=0.0;c[x+472>>2]=1065353216;n=x+472+4|0;c[n>>2]=0;c[n+4>>2]=0;c[n+8>>2]=0;c[n+12>>2]=0;c[x+472+20>>2]=1065353216;o=x+472+24|0;c[o>>2]=0;c[o+4>>2]=0;c[o+8>>2]=0;c[o+12>>2]=0;c[x+472+40>>2]=1065353216;c[x+472+44>>2]=0;c[x+408>>2]=1065353216;q=x+408+4|0;c[q>>2]=0;c[q+4>>2]=0;c[q+8>>2]=0;c[q+12>>2]=0;c[x+408+20>>2]=1065353216;f=x+408+24|0;c[f>>2]=0;c[f+4>>2]=0;c[f+8>>2]=0;c[f+12>>2]=0;c[x+408+40>>2]=1065353216;c[x+408+44>>2]=0;c[x+472+48>>2]=c[b+132>>2];c[x+472+48+4>>2]=c[b+132+4>>2];c[x+472+48+8>>2]=c[b+132+8>>2];c[x+472+48+12>>2]=c[b+132+12>>2];I=+g[b+256>>2];J=+g[b+260>>2];K=+g[b+264>>2];r=i>0.0?i:0.0;G=k*J+ +g[b+136>>2]+r*+g[b+276>>2];y=k*K+ +g[b+140>>2]+r*+g[b+280>>2];g[b+152>>2]=k*I+ +g[b+132>>2]+ +g[b+272>>2]*r;g[b+156>>2]=G;g[b+160>>2]=y;g[b+164>>2]=0.0;c[b+132>>2]=c[b+152>>2];c[b+132+4>>2]=c[b+152+4>>2];c[b+132+8>>2]=c[b+152+8>>2];c[b+132+12>>2]=c[b+152+12>>2];c[x+408+48>>2]=c[b+152>>2];c[x+408+48+4>>2]=c[b+152+4>>2];c[x+408+48+8>>2]=c[b+152+8>>2];c[x+408+48+12>>2]=c[b+152+12>>2];y=+g[b+168>>2];G=+g[b+172>>2];r=+g[b+176>>2];F=+g[b+180>>2];p=y*(2.0/(y*y+G*G+r*r+F*F));z=G*(2.0/(y*y+G*G+r*r+F*F));H=r*(2.0/(y*y+G*G+r*r+F*F));g[x+472>>2]=1.0-(G*z+r*H);g[n>>2]=y*z-F*H;g[x+472+8>>2]=y*H+F*z;g[x+472+12>>2]=0.0;g[x+472+16>>2]=y*z+F*H;g[x+472+20>>2]=1.0-(y*p+r*H);g[o>>2]=G*H-F*p;g[x+472+28>>2]=0.0;g[x+472+32>>2]=y*H-F*z;g[x+472+36>>2]=G*H+F*p;g[x+472+40>>2]=1.0-(y*p+G*z);g[x+472+44>>2]=0.0;z=+g[b+184>>2];G=+g[b+188>>2];p=+g[b+192>>2];y=+g[b+196>>2];F=z*(2.0/(z*z+G*G+p*p+y*y));H=G*(2.0/(z*z+G*G+p*p+y*y));r=p*(2.0/(z*z+G*G+p*p+y*y));g[x+408>>2]=1.0-(G*H+p*r);g[q>>2]=z*H-y*r;g[x+408+8>>2]=z*r+y*H;g[x+408+12>>2]=0.0;g[x+408+16>>2]=z*H+y*r;g[x+408+20>>2]=1.0-(z*F+p*r);g[f>>2]=G*r-y*F;g[x+408+28>>2]=0.0;g[x+408+32>>2]=z*r-y*H;g[x+408+36>>2]=G*r+y*F;g[x+408+40>>2]=1.0-(z*F+G*H);g[x+408+44>>2]=0.0;f=c[b+8>>2]|0;q=c[b+48>>2]|0;g[x+296+4>>2]=1.0;o=x+296+16|0;c[x+296+80>>2]=0;c[o>>2]=0;c[o+4>>2]=0;c[o+8>>2]=0;c[o+12>>2]=0;c[o+16>>2]=0;c[o+20>>2]=0;c[o+24>>2]=0;c[o+28>>2]=0;c[x+296>>2]=5748;c[x+296+84>>2]=f;g[x+296+88>>2]=-I;g[x+296+92>>2]=-J;g[x+296+96>>2]=-K;g[x+296+100>>2]=0.0;c[x+296+104>>2]=q;q=c[f+188>>2]|0;c[x+296+8>>2]=c[q+4>>2];c[x+296+12>>2]=c[q+8>>2];if(!(a[b+250>>0]|0))Ad(d,c[b+12>>2]|0,x+472|0,x+408|0,x+296|0,+g[d+56>>2]);else bd(f,c[b+12>>2]|0,x+472|0,x+408|0,x+296|0,+g[d+56>>2]);if((+g[x+296+4>>2]<1.0?(j=c[b+8>>2]|0,(c[j+204>>2]&4|0)==0):0)?wb[c[(c[b>>2]|0)+56>>2]&63](b,j,c[x+296+80>>2]|0)|0:0){do if(+g[x+296+48>>2]*+g[b+256>>2]+ +g[x+296+52>>2]*+g[b+260>>2]+ +g[x+296+56>>2]*+g[b+264>>2]>0.0){h=+g[x+296+4>>2];g[b+148>>2]=k*h;if(!(a[b+288>>0]|0)){c[b+132>>2]=c[b+152>>2];c[b+132+4>>2]=c[b+152+4>>2];c[b+132+8>>2]=c[b+152+8>>2];c[b+132+12>>2]=c[b+152+12>>2];break}else{g[b+132>>2]=(1.0-h)*+g[b+132>>2]+h*+g[b+152>>2];g[b+136>>2]=(1.0-h)*+g[b+136>>2]+h*+g[b+156>>2];g[b+140>>2]=(1.0-h)*+g[b+140>>2]+h*+g[b+160>>2];break}}while(0);o=c[b+8>>2]|0;c[o+52>>2]=c[b+132>>2];c[o+52+4>>2]=c[b+132+4>>2];c[o+52+8>>2]=c[b+132+8>>2];c[o+52+12>>2]=c[b+132+12>>2];q=c[b+8>>2]|0;c[q+304>>2]=(c[q+304>>2]|0)+1;c[q+4>>2]=c[o+4>>2];c[q+4+4>>2]=c[o+4+4>>2];c[q+4+8>>2]=c[o+4+8>>2];c[q+4+12>>2]=c[o+4+12>>2];c[q+20>>2]=c[o+20>>2];c[q+20+4>>2]=c[o+20+4>>2];c[q+20+8>>2]=c[o+20+8>>2];c[q+20+12>>2]=c[o+20+12>>2];c[q+36>>2]=c[o+36>>2];c[q+36+4>>2]=c[o+36+4>>2];c[q+36+8>>2]=c[o+36+8>>2];c[q+36+12>>2]=c[o+36+12>>2];c[q+52>>2]=c[o+52>>2];c[q+52+4>>2]=c[o+52+4>>2];c[q+52+8>>2]=c[o+52+8>>2];c[q+52+12>>2]=c[o+52+12>>2];a[b+220>>0]=0;if((((Nd(b,d)|0?(a[b+220>>0]=1,Nd(b,d)|0):0)?(a[b+220>>0]=1,Nd(b,d)|0):0)?(a[b+220>>0]=1,Nd(b,d)|0):0)?(a[b+220>>0]=1,Nd(b,d)|0):0)a[b+220>>0]=1;q=(c[b+8>>2]|0)+52|0;c[b+152>>2]=c[q>>2];c[b+152+4>>2]=c[q+4>>2];c[b+152+8>>2]=c[q+8>>2];c[b+152+12>>2]=c[q+12>>2];Yo(b+132|0,q|0,16)|0;if(+g[b+24>>2]>0.0){g[b+24>>2]=0.0;g[b+20>>2]=0.0;c[b+148>>2]=c[b+60>>2]}}else{g[b+148>>2]=k;c[b+132>>2]=c[b+152>>2];c[b+132+4>>2]=c[b+152+4>>2];c[b+132+8>>2]=c[b+152+8>>2];c[b+132+12>>2]=c[b+152+12>>2]}if(!(a[b+251>>0]|0)){J=+g[b+252>>2];K=J>e?e:J;g[b+252>>2]=J-e;Sc(b,d,K*+g[b+68>>2],K*+g[b+72>>2],K*+g[b+76>>2])}else Sc(b,d,+g[b+68>>2],+g[b+72>>2],+g[b+76>>2]);c[x+280>>2]=c[b+152>>2];c[x+280+4>>2]=c[b+152+4>>2];c[x+280+8>>2]=c[b+152+8>>2];c[x+280+12>>2]=c[b+152+12>>2];K=+g[b+20>>2];h=(K<0.0?-K:0.0)*e;if(!(K>0.0)){do if(h>0.0?(s=+g[b+28>>2],h>s):0){if((a[b+248>>0]|0)==0?a[b+249>>0]|0:0)break;h=s}while(0);p=h+ +g[b+148>>2];k=+g[b+256>>2]*p;m=p*+g[b+260>>2];p=p*+g[b+264>>2];g[b+152>>2]=+g[b+152>>2]-k;g[b+156>>2]=+g[b+156>>2]-m;g[b+160>>2]=+g[b+160>>2]-p;f=c[b+8>>2]|0;o=c[b+48>>2]|0;q=x+172+4|0;g[q>>2]=1.0;n=x+172+16|0;c[x+172+80>>2]=0;c[n>>2]=0;c[n+4>>2]=0;c[n+8>>2]=0;c[n+12>>2]=0;c[n+16>>2]=0;c[n+20>>2]=0;c[n+24>>2]=0;c[n+28>>2]=0;c[x+172>>2]=5748;c[x+172+84>>2]=f;c[x+172+88>>2]=c[b+256>>2];c[x+172+88+4>>2]=c[b+256+4>>2];c[x+172+88+8>>2]=c[b+256+8>>2];c[x+172+88+12>>2]=c[b+256+12>>2];c[x+172+104>>2]=o;n=c[f+188>>2]|0;c[x+172+8>>2]=c[n+4>>2];c[x+172+12>>2]=c[n+8>>2];g[x+64+4>>2]=1.0;j=x+64+16|0;c[x+64+80>>2]=0;c[j>>2]=0;c[j+4>>2]=0;c[j+8>>2]=0;c[j+12>>2]=0;c[j+16>>2]=0;c[j+20>>2]=0;c[j+24>>2]=0;c[j+28>>2]=0;c[x+64>>2]=5748;c[x+64+84>>2]=f;c[x+64+88>>2]=c[b+256>>2];c[x+64+88+4>>2]=c[b+256+4>>2];c[x+64+88+8>>2]=c[b+256+8>>2];c[x+64+88+12>>2]=c[b+256+12>>2];c[x+64+104>>2]=o;c[x+64+8>>2]=c[n+4>>2];c[x+64+12>>2]=c[n+8>>2];n=x+408+24|0;o=x+296+44|0;f=0;while(1){c[x+408+12>>2]=0;c[x+408+12+4>>2]=0;c[x+408+20>>2]=1065353216;c[n>>2]=0;c[n+4>>2]=0;c[n+8>>2]=0;c[n+12>>2]=0;c[x+408+40>>2]=1065353216;c[x+408+44>>2]=0;c[x+296>>2]=1065353216;c[x+296+4>>2]=0;c[x+296+4+4>>2]=0;c[x+296+4+8>>2]=0;c[x+296+4+12>>2]=0;c[x+296+20>>2]=1065353216;c[x+296+24>>2]=0;c[x+296+24+4>>2]=0;c[x+296+24+8>>2]=0;c[x+296+24+12>>2]=0;c[x+296+40>>2]=1065353216;c[o>>2]=0;c[o+4>>2]=0;c[o+8>>2]=0;c[o+12>>2]=0;c[o+16>>2]=0;c[x+472+48>>2]=c[b+132>>2];c[x+472+48+4>>2]=c[b+132+4>>2];c[x+472+48+8>>2]=c[b+132+8>>2];c[x+472+48+12>>2]=c[b+132+12>>2];c[x+408+48>>2]=c[b+152>>2];c[x+408+48+4>>2]=c[b+152+4>>2];c[x+408+48+8>>2]=c[b+152+8>>2];c[x+408+48+12>>2]=c[b+152+12>>2];G=+g[b+168>>2];K=+g[b+172>>2];F=+g[b+176>>2];I=+g[b+180>>2];z=G*(2.0/(G*G+K*K+F*F+I*I));H=K*(2.0/(G*G+K*K+F*F+I*I));J=F*(2.0/(G*G+K*K+F*F+I*I));g[x+472>>2]=1.0-(K*H+F*J);g[x+472+4>>2]=G*H-I*J;g[x+472+8>>2]=G*J+I*H;g[x+472+12>>2]=0.0;g[x+472+16>>2]=G*H+I*J;g[x+472+20>>2]=1.0-(G*z+F*J);g[x+472+24>>2]=K*J-I*z;g[x+472+28>>2]=0.0;g[x+472+32>>2]=G*J-I*H;g[x+472+36>>2]=K*J+I*z;g[x+472+40>>2]=1.0-(G*z+K*H);g[x+472+44>>2]=0.0;H=+g[b+184>>2];K=+g[b+188>>2];z=+g[b+192>>2];G=+g[b+196>>2];I=H*(2.0/(H*H+K*K+z*z+G*G));J=K*(2.0/(H*H+K*K+z*z+G*G));F=z*(2.0/(H*H+K*K+z*z+G*G));g[x+408>>2]=1.0-(K*J+z*F);g[x+408+4>>2]=H*J-G*F;g[x+408+8>>2]=H*F+G*J;g[x+408+12>>2]=0.0;g[x+408+16>>2]=H*J+G*F;g[x+408+20>>2]=1.0-(H*I+z*F);g[n>>2]=K*F-G*I;g[x+408+28>>2]=0.0;g[x+408+32>>2]=H*F-G*J;g[x+408+36>>2]=K*F+G*I;g[x+408+40>>2]=1.0-(H*I+K*J);g[x+408+44>>2]=0.0;J=+g[b+156>>2]-m;K=+g[b+160>>2]-p;g[x+296+48>>2]=+g[b+152>>2]-k;g[x+296+52>>2]=J;g[x+296+56>>2]=K;g[x+296+60>>2]=0.0;if(!(a[b+250>>0]|0)){Ad(d,c[b+12>>2]|0,x+472|0,x+408|0,x+172|0,+g[d+56>>2]);if(!(+g[q>>2]<1.0)?(c[(c[b+8>>2]|0)+204>>2]&4|0)==0:0)Ad(d,c[b+12>>2]|0,x+472|0,x+296|0,x+64|0,+g[d+56>>2])}else{bd(c[b+8>>2]|0,c[b+12>>2]|0,x+472|0,x+408|0,x+172|0,+g[d+56>>2]);if(!(+g[q>>2]<1.0)?(t=c[b+8>>2]|0,(c[t+204>>2]&4|0)==0):0)bd(t,c[b+12>>2]|0,x+472|0,x+296|0,x+64|0,+g[d+56>>2])}i=+g[b+20>>2];i=(i<0.0?-i:0.0)*e;if(!(a[b+290>>0]|0))if(+g[x+64+4>>2]<1.0?(v=c[b+8>>2]|0,(c[v+204>>2]&4|0)==0):0)j=wb[c[(c[b>>2]|0)+56>>2]&63](b,v,c[x+64+80>>2]|0)|0;else j=0;else if((+g[q>>2]<1.0?1:+g[x+64+4>>2]<1.0)?(u=c[b+8>>2]|0,(c[u+204>>2]&4|0)==0):0)j=wb[c[(c[b>>2]|0)+56>>2]&63](b,u,c[x+172+80>>2]|0)|0;else j=0;if(+g[b+20>>2]<0.0)h=+g[b+60>>2];else h=0.0;if(f|(!(i>0.0)|!(i<h)|j^1))break;if((a[b+248>>0]|0)==0?a[b+249>>0]|0:0){f=0;break}c[b+152>>2]=c[x+280>>2];c[b+152+4>>2]=c[x+280+4>>2];c[b+152+8>>2]=c[x+280+8>>2];c[b+152+12>>2]=c[x+280+12>>2];p=h+ +g[b+148>>2];k=+g[b+256>>2]*p;m=p*+g[b+260>>2];p=p*+g[b+264>>2];g[b+152>>2]=+g[b+152>>2]-k;g[b+156>>2]=+g[b+156>>2]-m;g[b+160>>2]=+g[b+160>>2]-p;f=1}j=c[b+8>>2]|0;if(+g[q>>2]<1.0?(c[j+204>>2]&4|0)==0:0)if(f|(wb[c[(c[b>>2]|0)+56>>2]&63](b,j,c[x+172+80>>2]|0)|0))f=69;else f=75;else if(f)f=69;else f=75;if((f|0)==69){h=+g[b+136>>2];i=(h-+g[x+172+68>>2])*.5;do if(a[b+290>>0]|0)if(!(a[b+289>>0]|0)){g[b+132>>2]=(1.0-i)*+g[b+132>>2]+i*+g[b+152>>2];g[b+136>>2]=h*(1.0-i)+i*+g[b+156>>2];g[b+140>>2]=(1.0-i)*+g[b+140>>2]+i*+g[b+160>>2];f=b+289|0;break}else{K=+g[q>>2];g[b+132>>2]=(1.0-K)*+g[b+132>>2]+K*+g[b+152>>2];g[b+136>>2]=h*(1.0-K)+K*+g[b+156>>2];g[b+140>>2]=(1.0-K)*+g[b+140>>2]+K*+g[b+160>>2];f=b+289|0;break}else{K=+g[q>>2];g[b+132>>2]=(1.0-K)*+g[b+132>>2]+K*+g[b+152>>2];g[b+136>>2]=h*(1.0-K)+K*+g[b+156>>2];g[b+140>>2]=(1.0-K)*+g[b+140>>2]+K*+g[b+160>>2];f=b+289|0}while(0);a[f>>0]=0;g[b+20>>2]=0.0;g[b+24>>2]=0.0;a[b+249>>0]=0}else if((f|0)==75){a[b+289>>0]=1;do if(a[b+290>>0]|0?(K=+g[b+20>>2],w=+g[b+28>>2],(K<0.0?-K:0.0)*e>w):0){if((a[b+248>>0]|0)==0?a[b+249>>0]|0:0)break;H=m+ +g[b+156>>2];J=p+ +g[b+160>>2];G=w+ +g[b+148>>2];I=G*+g[b+260>>2];K=G*+g[b+264>>2];g[b+152>>2]=k+ +g[b+152>>2]-+g[b+256>>2]*G;g[b+156>>2]=H-I;g[b+160>>2]=J-K}while(0);c[b+132>>2]=c[b+152>>2];c[b+132+4>>2]=c[b+152+4>>2];c[b+132+8>>2]=c[b+152+8>>2];c[b+132+12>>2]=c[b+152+12>>2]}}c[x+48>>2]=c[b+132>>2];c[x+48+4>>2]=c[b+132+4>>2];c[x+48+8>>2]=c[b+132+8>>2];c[x+48+12>>2]=c[b+132+12>>2];v=c[b+8>>2]|0;c[v+304>>2]=(c[v+304>>2]|0)+1;c[v+4>>2]=c[x>>2];c[v+4+4>>2]=c[x+4>>2];c[v+4+8>>2]=c[x+8>>2];c[v+4+12>>2]=c[x+12>>2];c[v+20>>2]=c[x+16>>2];c[v+20+4>>2]=c[x+16+4>>2];c[v+20+8>>2]=c[x+16+8>>2];c[v+20+12>>2]=c[x+16+12>>2];c[v+36>>2]=c[x+32>>2];c[v+36+4>>2]=c[x+32+4>>2];c[v+36+8>>2]=c[x+32+8>>2];c[v+36+12>>2]=c[x+32+12>>2];c[v+52>>2]=c[x+48>>2];c[v+52+4>>2]=c[x+48+4>>2];c[v+52+8>>2]=c[x+48+8>>2];c[v+52+12>>2]=c[x+48+12>>2];a[b+220>>0]=0;a:do if(Nd(b,d)|0){f=0;while(1){a[b+220>>0]=1;if(f>>>0>3)break a;if(Nd(b,d)|0)f=f+1|0;else break}}while(0);l=x;return}function hc(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,h=0,i=0,k=0,m=0.0,n=0,o=0.0,p=0.0,q=0,r=0,s=0.0,t=0,u=0.0,v=0,w=0.0,x=0,y=0,z=0.0,A=0.0,B=0.0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0;J=l;l=l+176|0;if((e|0)<1){f=c[b+12>>2]|0;if(f|0){if(a[b+16>>0]|0){c[6898]=(c[6898]|0)+1;md(c[f+-4>>2]|0)}c[b+12>>2]=0}a[b+16>>0]=1;c[b+12>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;f=c[b+32>>2]|0;if(f|0){if(a[b+36>>0]|0){c[6898]=(c[6898]|0)+1;md(c[f+-4>>2]|0)}c[b+32>>2]=0}a[b+36>>0]=1;c[b+32>>2]=0;c[b+24>>2]=0;c[b+28>>2]=0;f=c[b+52>>2]|0;if(f|0){if(a[b+56>>0]|0){c[6898]=(c[6898]|0)+1;md(c[f+-4>>2]|0)}c[b+52>>2]=0}a[b+56>>0]=1;c[b+52>>2]=0;c[b+44>>2]=0;c[b+48>>2]=0;l=J;return}c[J+32>>2]=0;c[J+36>>2]=0;c[J+40>>2]=0;c[J+44>>2]=256;c[J+48>>2]=0;c[J+52>>2]=0;c[J+56>>2]=0;c[J+60>>2]=256;c[J+64>>2]=0;c[J+68>>2]=0;c[J+72>>2]=0;c[J+76>>2]=256;a[J+96>>0]=1;c[J+92>>2]=0;c[J+84>>2]=0;c[J+88>>2]=0;f=0;h=d;i=-246811958;r=1900671690;t=-246811958;v=1900671690;x=-246811958;y=1900671690;while(1){k=c[h>>2]|0;n=c[h+4>>2]|0;q=c[h+8>>2]|0;m=(c[j>>2]=k,+g[j>>2]);r=m<(c[j>>2]=r,+g[j>>2])?k:r;o=(c[j>>2]=n,+g[j>>2]);v=o<(c[j>>2]=v,+g[j>>2])?n:v;p=(c[j>>2]=q,+g[j>>2]);y=p<(c[j>>2]=y,+g[j>>2])?q:y;i=(c[j>>2]=i,+g[j>>2])<m?k:i;t=(c[j>>2]=t,+g[j>>2])<o?n:t;x=(c[j>>2]=x,+g[j>>2])<p?q:x;f=f+1|0;if((f|0)==(e|0))break;else h=h+16|0}w=(c[j>>2]=i,+g[j>>2]);u=(c[j>>2]=r,+g[j>>2]);s=(c[j>>2]=t,+g[j>>2]);p=(c[j>>2]=v,+g[j>>2]);o=(c[j>>2]=x,+g[j>>2]);m=(c[j>>2]=y,+g[j>>2]);h=w-u<s-p?(s-p<o-m?2:1):w-u<o-m?2:0;c[J+112>>2]=h;f=w-u<s-p?(w-u<o-m?0:2):s-p<o-m?1:2;if((f|0)==(h|0))f=((h+1|0)>>>0)%3|0;c[J+104>>2]=f;r=(h^3)-f|0;c[J+108>>2]=r;z=((r+1|0)%3|0|0)==(h|0)?(w-u)*9.788566967472434e-05:-((w-u)*9.788566967472434e-05);A=((r+1|0)%3|0|0)==(h|0)?(s-p)*9.788566967472434e-05:-((s-p)*9.788566967472434e-05);B=((r+1|0)%3|0|0)==(h|0)?(o-m)*9.788566967472434e-05:-((o-m)*9.788566967472434e-05);g[J>>2]=z;g[J+4>>2]=A;g[J+8>>2]=B;g[J+12>>2]=0.0;z=z!=0.0?1.0/z:z;A=A!=0.0?1.0/A:A;B=B!=0.0?1.0/B:B;g[J+16>>2]=(w+u)*.5;g[J+20>>2]=(s+p)*.5;g[J+24>>2]=(o+m)*.5;g[J+28>>2]=0.0;r=J+144+16|0;a[r>>0]=1;t=J+144+12|0;c[t>>2]=0;c[J+144+4>>2]=0;c[J+144+8>>2]=0;c[6897]=(c[6897]|0)+1;f=ec((e<<4|3)+16|0)|0;if(!f)h=0;else{c[(f+4+15&-16)+-4>>2]=f;h=f+4+15&-16}i=c[J+144+4>>2]|0;k=c[t>>2]|0;if((i|0)<=0){if(k|0)I=25}else{f=0;do{I=h+(f<<4)|0;G=k+(f<<4)|0;c[I>>2]=c[G>>2];c[I+4>>2]=c[G+4>>2];c[I+8>>2]=c[G+8>>2];c[I+12>>2]=c[G+12>>2];f=f+1|0}while((f|0)!=(i|0));I=25}if((I|0)==25){if(a[r>>0]|0){c[6898]=(c[6898]|0)+1;md(c[k+-4>>2]|0)}c[t>>2]=0}a[r>>0]=1;c[t>>2]=h;c[J+144+8>>2]=e;c[h>>2]=c[J+128>>2];c[h+4>>2]=c[J+128+4>>2];c[h+8>>2]=c[J+128+8>>2];c[h+12>>2]=c[J+128+12>>2];if((e|0)!=1){f=1;do{G=(c[t>>2]|0)+(f<<4)|0;c[G>>2]=c[J+128>>2];c[G+4>>2]=c[J+128+4>>2];c[G+8>>2]=c[J+128+8>>2];c[G+12>>2]=c[J+128+12>>2];f=f+1|0}while((f|0)!=(e|0))}c[J+144+4>>2]=e;i=J+128+(c[J+108>>2]<<2)|0;k=c[t>>2]|0;n=J+128+(c[J+112>>2]<<2)|0;q=J+128+(c[J+104>>2]<<2)|0;m=+g[J+16>>2];o=+g[J+20>>2];p=+g[J+24>>2];h=0;f=d;while(1){u=A*(+g[f+4>>2]-o);w=B*(+g[f+8>>2]-p);g[J+128>>2]=z*(+g[f>>2]-m);g[J+128+4>>2]=u;g[J+128+8>>2]=w;g[J+128+12>>2]=0.0;c[k+(h<<4)>>2]=~~+g[i>>2];c[k+(h<<4)+4>>2]=~~+g[n>>2];c[k+(h<<4)+8>>2]=~~+g[q>>2];c[k+(h<<4)+12>>2]=h;h=h+1|0;if((h|0)==(e|0))break;else f=f+16|0}if((e|0)>1)sg(J+144|0,0,e+-1|0);c[J+36>>2]=c[J+32>>2];c[J+40>>2]=0;c[J+44>>2]=e;f=c[J+84>>2]|0;if((f|0)<(e|0)){if((c[J+88>>2]|0)<(e|0)){if(!e){h=0;k=f}else{c[6897]=(c[6897]|0)+1;h=ec((e<<2|3)+16|0)|0;if(!h)h=0;else{c[(h+4+15&-16)+-4>>2]=h;h=h+4+15&-16}k=c[J+84>>2]|0}if((k|0)>0){i=0;do{c[h+(i<<2)>>2]=c[(c[J+92>>2]|0)+(i<<2)>>2];i=i+1|0}while((i|0)!=(k|0))}i=c[J+92>>2]|0;if(i|0){if(a[J+96>>0]|0){c[6898]=(c[6898]|0)+1;md(c[i+-4>>2]|0)}c[J+92>>2]=0}a[J+96>>0]=1;c[J+92>>2]=h;c[J+88>>2]=e}do{c[(c[J+92>>2]|0)+(f<<2)>>2]=0;f=f+1|0}while((f|0)!=(e|0))}c[J+84>>2]=e;n=0;do{f=c[J+40>>2]|0;if(!f){f=c[J+36>>2]|0;if(!f){c[6897]=(c[6897]|0)+1;f=ec(31)|0;if(!f)h=0;else{c[(f+4+15&-16)+-4>>2]=f;h=f+4+15&-16}f=c[J+44>>2]|0;c[h+4>>2]=f;i=h+8|0;c[i>>2]=0;c[6897]=(c[6897]|0)+1;f=ec((f*112|3)+16|0)|0;if(!f)f=0;else{c[(f+4+15&-16)+-4>>2]=f;f=f+4+15&-16}c[h>>2]=f;c[i>>2]=c[J+32>>2];c[J+32>>2]=h}else{c[J+36>>2]=c[f+8>>2];h=f}f=c[h>>2]|0;k=c[h+4>>2]|0;if((k|0)>0?(c[f>>2]=(k|0)!=1?f+112|0:0,(k|0)!=1):0){h=1;i=f+112|0;do{h=h+1|0;G=(h|0)<(k|0);F=i;i=i+112|0;c[F>>2]=G?i:0}while(G)}}c[J+40>>2]=c[f>>2];G=f+104|0;c[f>>2]=0;c[f+4>>2]=0;c[f+8>>2]=0;c[f+12>>2]=0;c[f+16>>2]=0;c[G>>2]=-1;c[f+8>>2]=0;E=(c[t>>2]|0)+(n<<4)|0;F=f+88|0;c[F>>2]=c[E>>2];c[F+4>>2]=c[E+4>>2];c[F+8>>2]=c[E+8>>2];c[F+12>>2]=c[E+12>>2];c[G>>2]=-1;c[(c[J+92>>2]|0)+(n<<2)>>2]=f;n=n+1|0}while((n|0)<(e|0));f=c[t>>2]|0;if(f|0){if(a[r>>0]|0){c[6898]=(c[6898]|0)+1;md(c[f+-4>>2]|0)}c[t>>2]=0}a[r>>0]=1;c[t>>2]=0;c[J+144+4>>2]=0;c[J+144+8>>2]=0;c[J+52>>2]=c[J+48>>2];c[J+56>>2]=0;c[J+60>>2]=e*6;c[J+116>>2]=0;c[J+120>>2]=0;c[J+100>>2]=-3;c[J+128>>2]=0;c[J+128+4>>2]=0;c[J+128+8>>2]=0;c[J+128+12>>2]=0;ac(J,0,e,J+128|0);c[J+124>>2]=c[J+128>>2];f=c[t>>2]|0;if(f|0){if(a[r>>0]|0){c[6898]=(c[6898]|0)+1;md(c[f+-4>>2]|0)}c[t>>2]=0}f=c[b+4>>2]|0;if((f|0)<0){if((c[b+8>>2]|0)<0){h=c[b+12>>2]|0;if(h|0){if(a[b+16>>0]|0){c[6898]=(c[6898]|0)+1;md(c[h+-4>>2]|0)}c[b+12>>2]=0}a[b+16>>0]=1;c[b+12>>2]=0;c[b+8>>2]=0}do{G=(c[b+12>>2]|0)+(f<<4)|0;c[G>>2]=c[J+144>>2];c[G+4>>2]=c[J+144+4>>2];c[G+8>>2]=c[J+144+8>>2];c[G+12>>2]=c[J+144+12>>2];f=f+1|0}while((f|0)!=0)}c[b+4>>2]=0;c[J+144>>2]=0;c[J+144+4>>2]=0;c[J+144+8>>2]=0;f=c[b+24>>2]|0;if((f|0)<0){if((c[b+28>>2]|0)<0){h=c[b+32>>2]|0;if(h|0){if(a[b+36>>0]|0){c[6898]=(c[6898]|0)+1;md(c[h+-4>>2]|0)}c[b+32>>2]=0}a[b+36>>0]=1;c[b+32>>2]=0;c[b+28>>2]=0}do{G=(c[b+32>>2]|0)+(f*12|0)|0;c[G>>2]=c[J+144>>2];c[G+4>>2]=c[J+144+4>>2];c[G+8>>2]=c[J+144+8>>2];f=f+1|0}while((f|0)!=0)}c[b+24>>2]=0;h=c[b+44>>2]|0;if((h|0)<0){f=c[b+52>>2]|0;if((c[b+48>>2]|0)<0){if(f|0?a[b+56>>0]|0:0){c[6898]=(c[6898]|0)+1;md(c[f+-4>>2]|0)}a[b+56>>0]=1;c[b+52>>2]=0;c[b+48>>2]=0;f=0}Xj(f+(h<<2)|0,0,N(h,-4)|0)|0}c[b+44>>2]=0;h=c[J+124>>2]|0;if((c[h+104>>2]|0)<0){c[h+104>>2]=0;c[6897]=(c[6897]|0)+1;f=ec(23)|0;if(!f)f=0;else{c[(f+4+15&-16)+-4>>2]=f;f=f+4+15&-16}c[f>>2]=h;G=0;q=1;r=f;t=1;i=f;x=f;while(1){if((c[h+100>>2]|0)>-1){g[J+144+(c[J+108>>2]<<2)>>2]=+(c[h+88>>2]|0);g[J+144+(c[J+112>>2]<<2)>>2]=+(c[h+92>>2]|0);m=+(c[h+96>>2]|0)}else{m=+lk(h+24|0);F=h+72|0;m=m/+lk(F);g[J+144+(c[J+108>>2]<<2)>>2]=m;m=+lk(h+40|0);m=m/+lk(F);g[J+144+(c[J+112>>2]<<2)>>2]=m;m=+lk(h+56|0);m=m/+lk(F)}g[J+144+(c[J+104>>2]<<2)>>2]=m;m=+g[J+144>>2]*+g[J>>2]+ +g[J+16>>2];o=+g[J+144+4>>2]*+g[J+4>>2]+ +g[J+20>>2];p=+g[J+144+8>>2]*+g[J+8>>2]+ +g[J+24>>2];k=c[b+4>>2]|0;if((k|0)==(c[b+8>>2]|0)?(H=(k|0)==0?1:k<<1,(k|0)<(H|0)):0){if(!H)f=0;else{c[6897]=(c[6897]|0)+1;f=ec((H<<4|3)+16|0)|0;if(!f)f=0;else{c[(f+4+15&-16)+-4>>2]=f;f=f+4+15&-16}k=c[b+4>>2]|0}if((k|0)>0){n=0;do{F=f+(n<<4)|0;E=(c[b+12>>2]|0)+(n<<4)|0;c[F>>2]=c[E>>2];c[F+4>>2]=c[E+4>>2];c[F+8>>2]=c[E+8>>2];c[F+12>>2]=c[E+12>>2];n=n+1|0}while((n|0)!=(k|0))}k=c[b+12>>2]|0;if(k|0){if(a[b+16>>0]|0){c[6898]=(c[6898]|0)+1;md(c[k+-4>>2]|0)}c[b+12>>2]=0}a[b+16>>0]=1;c[b+12>>2]=f;c[b+8>>2]=H;f=c[b+4>>2]|0}else f=k;F=c[b+12>>2]|0;g[F+(f<<4)>>2]=m;g[F+(f<<4)+4>>2]=o;g[F+(f<<4)+8>>2]=p;g[F+(f<<4)+12>>2]=0.0;c[b+4>>2]=(c[b+4>>2]|0)+1;F=c[h+8>>2]|0;if(!F){k=q;y=r;h=t}else{D=F;E=-1;f=-1;y=q;e=r;h=t;while(1){C=D+20|0;n=c[C>>2]|0;if((n|0)<0){d=c[b+24>>2]|0;c[J+144>>2]=0;c[J+144+4>>2]=0;c[J+144+8>>2]=0;do if((d|0)==(c[b+28>>2]|0)){r=(d|0)==0?1:d<<1;if((d|0)>=(r|0)){k=d;break}if(!r){k=0;q=d}else{c[6897]=(c[6897]|0)+1;k=ec((r*12|3)+16|0)|0;if(!k)k=0;else{c[(k+4+15&-16)+-4>>2]=k;k=k+4+15&-16}q=c[b+24>>2]|0}if((q|0)>0){n=0;do{v=k+(n*12|0)|0;t=(c[b+32>>2]|0)+(n*12|0)|0;c[v>>2]=c[t>>2];c[v+4>>2]=c[t+4>>2];c[v+8>>2]=c[t+8>>2];n=n+1|0}while((n|0)!=(q|0))}n=c[b+32>>2]|0;if(n|0){if(a[b+36>>0]|0){c[6898]=(c[6898]|0)+1;md(c[n+-4>>2]|0)}c[b+32>>2]=0}a[b+36>>0]=1;c[b+32>>2]=k;c[b+28>>2]=r;k=c[b+24>>2]|0}else k=d;while(0);k=(c[b+32>>2]|0)+(k*12|0)|0;c[k>>2]=c[J+144>>2];c[k+4>>2]=c[J+144+4>>2];c[k+8>>2]=c[J+144+8>>2];k=(c[b+24>>2]|0)+1|0;c[b+24>>2]=k;c[J+144>>2]=0;c[J+144+4>>2]=0;c[J+144+8>>2]=0;do if((k|0)==(c[b+28>>2]|0)){r=(k|0)==0?1:k<<1;if((k|0)>=(r|0))break;if(!r)q=0;else{c[6897]=(c[6897]|0)+1;k=ec((r*12|3)+16|0)|0;if(!k)k=0;else{c[(k+4+15&-16)+-4>>2]=k;k=k+4+15&-16}q=k;k=c[b+24>>2]|0}if((k|0)>0){n=0;do{v=q+(n*12|0)|0;t=(c[b+32>>2]|0)+(n*12|0)|0;c[v>>2]=c[t>>2];c[v+4>>2]=c[t+4>>2];c[v+8>>2]=c[t+8>>2];n=n+1|0}while((n|0)!=(k|0))}k=c[b+32>>2]|0;if(k|0){if(a[b+36>>0]|0){c[6898]=(c[6898]|0)+1;md(c[k+-4>>2]|0)}c[b+32>>2]=0}a[b+36>>0]=1;c[b+32>>2]=q;c[b+28>>2]=r;k=c[b+24>>2]|0}while(0);v=(c[b+32>>2]|0)+(k*12|0)|0;c[v>>2]=c[J+144>>2];c[v+4>>2]=c[J+144+4>>2];c[v+8>>2]=c[J+144+8>>2];c[b+24>>2]=(c[b+24>>2]|0)+1;v=c[b+32>>2]|0;c[C>>2]=d;c[(c[D+8>>2]|0)+20>>2]=d+1;c[v+(d*12|0)+4>>2]=1;c[v+((d+1|0)*12|0)+4>>2]=-1;t=c[D+12>>2]|0;k=c[t+104>>2]|0;if((k|0)<0){c[t+104>>2]=h;do if((h|0)==(y|0)){k=(y|0)==0?1:y<<1;if((y|0)>=(k|0)){k=y;n=e;r=x;break}do if(!k)q=0;else{c[6897]=(c[6897]|0)+1;n=ec((k<<2|3)+16|0)|0;if(!n){q=0;break}c[(n+4+15&-16)+-4>>2]=n;q=n+4+15&-16}while(0);if((y|0)>0){n=0;do{c[q+(n<<2)>>2]=c[e+(n<<2)>>2];n=n+1|0}while((n|0)!=(y|0));if(!i){n=q;r=q;i=q;break}}else if((e|0)==0|(i|0)==0){n=q;r=q;i=q;break}c[6898]=(c[6898]|0)+1;md(c[i+-4>>2]|0);n=q;r=q;i=q}else{k=y;n=e;r=x}while(0);c[n+(h<<2)>>2]=t;t=h;h=h+1|0;q=r}else{t=k;k=y;n=e;q=x}c[v+(d*12|0)+8>>2]=t;c[v+((d+1|0)*12|0)+8>>2]=G;r=n;n=c[C>>2]|0}else{k=y;r=e;q=x}if((E|0)>-1)c[(c[b+32>>2]|0)+(n*12|0)>>2]=E-n;else f=n;D=c[D>>2]|0;if((D|0)==(F|0))break;else{E=n;y=k;e=r;x=q}}c[(c[b+32>>2]|0)+(f*12|0)>>2]=n-f;y=r;x=q}f=G+1|0;if((f|0)>=(h|0))break;G=f;q=k;r=y;t=h;h=c[y+(f<<2)>>2]|0}t=0;while(1){v=c[(c[y+(t<<2)>>2]|0)+8>>2]|0;if(v|0){r=v;do{q=r+20|0;f=c[q>>2]|0;if((f|0)>-1){h=c[b+44>>2]|0;do if((h|0)==(c[b+48>>2]|0)){n=(h|0)==0?1:h<<1;if((h|0)>=(n|0))break;if(!n)f=0;else{c[6897]=(c[6897]|0)+1;f=ec((n<<2|3)+16|0)|0;if(!f)f=0;else{c[(f+4+15&-16)+-4>>2]=f;f=f+4+15&-16}h=c[b+44>>2]|0}k=c[b+52>>2]|0;if((h|0)<=0){if(k)I=186}else{i=0;do{c[f+(i<<2)>>2]=c[k+(i<<2)>>2];i=i+1|0}while((i|0)!=(h|0));I=186}if((I|0)==186){I=0;if(a[b+56>>0]|0){c[6898]=(c[6898]|0)+1;md(c[k+-4>>2]|0)}c[b+52>>2]=0;h=c[b+44>>2]|0}a[b+56>>0]=1;c[b+52>>2]=f;c[b+48>>2]=n;f=c[q>>2]|0}while(0);c[(c[b+52>>2]|0)+(h<<2)>>2]=f;c[b+44>>2]=(c[b+44>>2]|0)+1;f=r;do{c[f+20>>2]=-1;f=c[(c[f+8>>2]|0)+4>>2]|0}while((f|0)!=(r|0))}r=c[r>>2]|0}while((r|0)!=(v|0))}if((t|0)==(G|0))break;else t=t+1|0}if(!((y|0)==0|(x|0)==0)){c[6898]=(c[6898]|0)+1;md(c[x+-4>>2]|0)}}_h(J);l=J;return}
53function qt(a,b,c){a=a|0;b=b|0;c=c|0;if((c|0)<32){y=b>>>c;return a>>>c|(b&(1<<c)-1)<<32-c}y=0;return b>>>c-32|0}function rt(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;Pb[c[(c[a>>2]|0)+124>>2]&127](a,e,b,d);return}function st(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;c[a+112>>2]=b;c[a+116>>2]=d;c[a+120>>2]=e;return}function tt(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;xb[c[(c[a>>2]|0)+8>>2]&31](a,b,d,e)|0;return}function ut(a,b){a=a|0;b=b|0;sp(a,+g[b>>2],+g[b+4>>2],+g[b+8>>2]);return}function vt(a,b,d){a=a|0;b=b|0;d=+d;Jb[c[(c[a>>2]|0)+20>>2]&7](a,b,d);return}function wt(a,b,d){a=a|0;b=b|0;d=d|0;Pb[c[(c[a>>2]|0)+36>>2]&127](a,b,d<<16>>16,-1);return}function xt(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;Lr(a,b,d,e);c[a+12>>2]=c[f>>2];return}function yt(b,c,d,e){b=b|0;c=c|0;d=+d;e=+e;a[b+737>>0]=c&1;g[b+680>>2]=d;g[b+684>>2]=e;return}function zt(a,b,c,d,e,f){a=a|0;b=+b;c=+c;d=+d;e=+e;f=+f;Xm(a,b,c,d,e,f);return}function At(a){a=a|0;tj(a);if(!a)return;c[6898]=(c[6898]|0)+1;md(c[a+-4>>2]|0);return}function Bt(a,b,c,d,e,f,g){a=a|0;b=b|0;c=+c;d=+d;e=e|0;f=f|0;g=g|0;Fb[a&0](b|0,+c,+d,e|0,f|0,g|0)}function Ct(a,b){a=a|0;b=b|0;if(!b)b=0;else b=gi(c[b>>2]|0,c[b+4>>2]|0,a)|0;return ((b|0)==0?a:b)|0}function Dt(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return 1.0}function Et(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;R(19);return 0}function Ft(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;Pb[c[(c[a>>2]|0)+32>>2]&127](a,b,d,e);return}function Gt(b){b=b|0;return SB(a[b+291>>0]|0)|0}function Ht(a){a=a|0;fg(a);if(!a)return;c[6898]=(c[6898]|0)+1;md(c[a+-4>>2]|0);return}function It(a){a=a|0;if(!a){a=0;return a|0}a=Iq(a)|0;return a|0}function Jt(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;R(9);return 0.0}function Kt(a){a=a|0;var b=0;b=Or(172)|0;gq(b,a);return b|0}function Lt(a,b,d,e){a=a|0;b=b|0;d=+d;e=e|0;Kb[c[(c[a>>2]|0)+28>>2]&7](a,b,d,e);return}function Mt(a,b){a=a|0;b=b|0;gy(a,b);return}function Nt(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 yb[a&1](b|0,c|0,d|0,e|0,f|0)|0}function Ot(a,b){a=a|0;b=b|0;ee(a,b);return}function Pt(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;f=+f;g=+g;h=+h;i=i|0;j=j|0;k=+k;R(36)}function Qt(a,b){a=a|0;b=b|0;hg(c[a+108>>2]|0,b,1);return}function Rt(a,b){a=a|0;b=b|0;c[a+304>>2]=(c[a+304>>2]|0)+1;qq(a+4|0,b);return}function St(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 +ob[a&15](b|0,c|0,d|0,e|0,f|0)}function Tt(a,b){a=a|0;b=b|0;var c=0;c=Hr()|0;Bf(c,a,b);return c|0}function Ut(a,b){a=a|0;b=b|0;xp(a,+g[b>>2],+g[b+4>>2],+g[b+8>>2]);return}function Vt(a,b){a=a|0;b=+b;var c=0;c=l;l=l+16|0;g[c>>2]=1.0/b;vr(a,c)|0;l=c;return}function Wt(a,b){a=a|0;b=+b;return tb[c[(c[a>>2]|0)+52>>2]&1](a,b,1,.01666666753590107)|0}function Xt(a){a=a|0;var b=0;b=ps(8)|0;Nu(b,a);return b|0}function Yt(a,b,d){a=a|0;b=b|0;d=d|0;Mb[c[(c[a>>2]|0)+56>>2]&127](a,b,d);return}function Zt(a,b,d){a=a|0;b=b|0;d=+d;Jb[c[(c[a>>2]|0)+36>>2]&7](a,b,d);return}function _t(a){a=a|0;bj(a);if(!a)return;c[6898]=(c[6898]|0)+1;md(c[a+-4>>2]|0);return}function $t(a){a=a|0;xh(a);if(!a)return;c[6898]=(c[6898]|0)+1;md(c[a+-4>>2]|0);return}function au(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;R(41)}function bu(a){a=a|0;Ai(a);if(!a)return;c[6898]=(c[6898]|0)+1;md(c[a+-4>>2]|0);return}function cu(a,b,c,d,e){a=a|0;b=+b;c=+c;d=+d;e=+e;Xm(a,b,c,d,e,1.0);return}function du(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=+d;e=e|0;f=f|0;return +kb[a&3](b|0,c|0,+d,e|0,f|0)}function eu(a,b,c,d){a=a|0;b=b|0;c=+c;d=+d;yt(a,b,c,d);return}function fu(a){a=a|0;c[a>>2]=9864;if(!a)return;c[6898]=(c[6898]|0)+1;md(c[a+-4>>2]|0);return}function gu(a,b){a=a|0;b=b|0;return c[(TA(c[a+28>>2]|0,b)|0)+64>>2]|0}function hu(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;Tb[a&31](b|0,c|0,d|0,e|0,f|0)}function iu(a){a=a|0;if(!(c[a+12>>2]|0)){a=0;return a|0}a=c[a+20>>2]|0;return a|0}function ju(a){a=a|0;ul(a);if(!a)return;c[6898]=(c[6898]|0)+1;md(c[a+-4>>2]|0);return}function ku(a,b){a=a|0;b=b|0;var c=0;c=ps(64)|0;Bp(c,a,b);return c|0}function lu(a,b,c){a=a|0;b=b|0;c=c|0;gn(a,b,c);return}function mu(){var a=0;a=ps(24)|0;Is(a);return a|0}function nu(a,b,d){a=a|0;b=b|0;d=+d;Eb[c[(c[a>>2]|0)+16>>2]&31](a,d);return}function ou(a,b){a=a|0;b=b|0;Pb[c[(c[a>>2]|0)+36>>2]&127](a,b,2,-3);return}function pu(a,b,d){a=a|0;b=+b;d=d|0;Gb[c[(c[a>>2]|0)+32>>2]&15](a,b,d);return}function qu(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=+e;return}function ru(a){a=a|0;yh(a);if(!a)return;c[6898]=(c[6898]|0)+1;md(c[a+-4>>2]|0);return}function su(a){a=a|0;Ch(a);if(!a)return;c[6898]=(c[6898]|0)+1;md(c[a+-4>>2]|0);return}function tu(a,b,d){a=a|0;b=b|0;d=d|0;return +(+lb[c[(c[a>>2]|0)+32>>2]&31](a,b,d))}function uu(a){a=a|0;if(!a){a=0;return a|0}a=er(a)|0;return a|0}function vu(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=+f;Qb[a&1](b|0,c|0,d|0,e|0,+f)}function wu(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=+d;e=e|0;f=f|0;Lb[a&0](b|0,c|0,+d,e|0,f|0)}function xu(a,b){a=a|0;b=b|0;Tu(a+24|0,b);return}function yu(a){a=a|0;c[a>>2]=6284;if(!a)return;c[6898]=(c[6898]|0)+1;md(c[a+-4>>2]|0);return}function zu(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;R(8);return 0.0}function Au(a,b){a=a|0;b=b|0;ip(a,b);return}function Bu(a,b){a=a|0;b=b|0;Ib[c[(c[a>>2]|0)+16>>2]&127](a,b);return}function Cu(a,b){a=a|0;b=b|0;Ib[c[(c[a>>2]|0)+52>>2]&127](a,b);return}function Du(a,b){a=a|0;b=b|0;Tu(a+16|0,b);return}function Eu(a,b,d){a=a|0;b=b|0;d=+d;Jb[c[(c[a>>2]|0)+8>>2]&7](a,b,d);return}function Fu(a,b){a=a|0;b=b|0;bz(a,b);return}function Gu(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ec(a,b,c,d)|0;return 1}function Hu(a){a=a|0;var b=0;b=((c[a+56>>2]|0)+2|0)%3|0;return +(+g[(kH(a+32|0)|0)+(b<<2)>>2])}function Iu(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;_q(a,b,c,d,e);return}function Ju(a,b){a=a|0;b=b|0;lp(a,b);return}function Ku(a){a=a|0;var b=0;b=Hr()|0;Bf(b,a,1);return b|0}function Lu(a,b,d){a=a|0;b=+b;d=d|0;g[(c[a+136>>2]|0)+(d*284|0)+232>>2]=b;return}function Mu(a,b,d){a=a|0;b=+b;d=d|0;g[(c[a+136>>2]|0)+(d*284|0)+252>>2]=b;return}function Nu(a,b){a=a|0;b=b|0;OF(a);c[a>>2]=6648;c[a+4>>2]=b;return}function Ou(a,b){a=a|0;b=b|0;hq(a,b);return}function Pu(a,b){a=a|0;b=b|0;kq(a,b);return}function Qu(a,b){a=a|0;b=b|0;Pb[c[(c[a>>2]|0)+36>>2]&127](a,b,1,-1);return}function Ru(a){a=+a;var b=0;h[j>>3]=a;b=c[j>>2]|0;y=c[j+4>>2]|0;return b|0}function Su(a,b){a=a|0;b=+b;g[a+152>>2]=b;Db[c[(c[a>>2]|0)+72>>2]&511](a);return}function Tu(a,b){a=a|0;b=b|0;Do(a,b);return}function Uu(a){a=a|0;c[a>>2]=5192;c[a+4>>2]=1;c[a+8>>2]=-1;g[a+12>>2]=0.0;return}function Vu(a,b){a=a|0;b=b|0;if((c[a+220>>2]&-2|0)==4)return;c[a+220>>2]=b;return}function Wu(a){a=a|0;c[a>>2]=5240;g[a+4>>2]=1.0;c[a+8>>2]=1;c[a+12>>2]=-1;return}function Xu(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;d=b-d-(c>>>0>a>>>0|0)>>>0;return (y=d,a-c>>>0|0)|0}function Yu(a,b){a=a|0;b=b|0;zq(a,b);return}function Zu(a,b){a=a|0;b=b|0;Aq(a,b);return}function _u(a,b){a=a|0;b=b|0;Mb[c[(c[a>>2]|0)+56>>2]&127](a,b,0);return}function $u(a,b){a=a|0;b=+b;Mw(a,b);return}function av(a,b){a=a|0;b=b|0;return ub[c[(c[a>>2]|0)+40>>2]&31](a,b)|0}function bv(a,b){a=a|0;b=b|0;Ib[c[(c[a>>2]|0)+60>>2]&127](a,b);return}function cv(a,b,d){a=a|0;b=b|0;d=+d;Ib[c[(c[a>>2]|0)+12>>2]&127](a,b);return}function dv(a,b){a=a|0;b=b|0;Ib[c[(c[a>>2]|0)+92>>2]&127](a,b);return}function ev(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return xb[a&31](b|0,c|0,d|0,e|0)|0}function fv(a,b){a=a|0;b=b|0;return c[(lE(c[a+12>>2]|0,b)|0)>>2]|0}function gv(a,b){a=a|0;b=b|0;Ib[c[(c[a>>2]|0)+32>>2]&127](a,b);return}function hv(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;R(40)}function iv(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return (y=b+d+(a+c>>>0>>>0<a>>>0|0)>>>0,a+c>>>0|0)|0}function jv(a,b){a=a|0;b=b|0;Ib[c[(c[a>>2]|0)+40>>2]&127](a,b);return}function kv(a,b){a=a|0;b=b|0;return c[(lE(c[a+336>>2]|0,b)|0)>>2]|0}function lv(a,b,d){a=a|0;b=+b;d=d|0;g[(c[a+136>>2]|0)+(d*284|0)+256>>2]=b;return}function mv(a,b){a=a|0;b=b|0;Ib[c[(c[a>>2]|0)+84>>2]&127](a,b);return}function nv(a){a=a|0;var b=0;b=gs()|0;jf(b,a,0);return b|0}function ov(a,b,c,d){a=a|0;b=+b;c=+c;d=+d;Ll(a,b,c,d);return}function pv(a,b){a=a|0;b=b|0;Ib[c[(c[a>>2]|0)+28>>2]&127](a,b);return}function qv(a,b){a=a|0;b=b|0;Ib[c[(c[a>>2]|0)+44>>2]&127](a,b);return}function rv(a,b){a=a|0;b=b|0;xw(a+76|0,b);return}function sv(a,b){a=a|0;b=b|0;var d=0;d=l;l=l+16|0;c[d>>2]=b;Gj(a,d);nm();Ua()}function tv(a,b){a=a|0;b=+b;c[a+304>>2]=(c[a+304>>2]|0)+1;g[a+236>>2]=b;return}function uv(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return +nb[a&1](b|0,c|0,d|0,e|0)}function vv(a,b){a=a|0;b=b|0;Ib[c[(c[a>>2]|0)+72>>2]&127](a,b);return}function wv(a,b){a=a|0;b=b|0;xw(a+96|0,b);return}function xv(a,b){a=a|0;b=b|0;xw(a+68|0,b);return}function yv(a){a=a|0;var b=0;b=ps(284)|0;Li(b,a);return b|0}function zv(a,b){a=a|0;b=+b;g[a+44>>2]=b;g[a+48>>2]=+D(+b);return}function Av(a){a=a|0;if(!a)return;Db[c[(c[a>>2]|0)+4>>2]&511](a);return}function Bv(a,b){a=a|0;b=b|0;xw(a+88|0,b);return}function Cv(a,b){a=a|0;b=+b;return +(+ib[c[(c[a>>2]|0)+16>>2]&15](a)*b)}function Dv(a){a=a|0;Vt(a,+qz(+g[a>>2],+g[a+4>>2],+g[a+8>>2]));return}function Ev(a,b){a=a|0;b=b|0;Ib[c[(c[a>>2]|0)+12>>2]&127](a,b);return}function Fv(a,b){a=a|0;b=+b;c[a+304>>2]=(c[a+304>>2]|0)+1;g[a+232>>2]=b;return}function Gv(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;R(18);return 0}function Hv(a,b){a=a|0;b=b|0;pe(a,b);return}function Iv(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;R(7);return 0.0}function Jv(a,b,c){a=a|0;b=b|0;c=c|0;Ih(a,b,c);return}function Kv(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return}function Lv(a){a=a|0;var b=0;b=((kH(c[a+252>>2]|0)|0)&2|0)==0;return (b?0:a)|0}function Mv(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;Pb[a&127](b|0,c|0,d|0,e|0)}function Nv(a,b){a=a|0;b=b|0;return +(+g[(lE(c[a+12>>2]|0,b)|0)>>2])}function Ov(a,b){a=a|0;b=b|0;Ib[c[(c[a>>2]|0)+8>>2]&127](a,b);return}function Pv(a){a=a|0;return OD(c[a+204>>2]|0)|0}function Qv(a,b,c){a=a|0;b=b|0;c=c|0;kk(a,b,c);return}function Rv(a,b){a=a|0;b=b|0;Xe(a,b);return}function Sv(a,b){a=a|0;b=b|0;Ib[c[(c[a>>2]|0)+68>>2]&127](a,b);return}function Tv(b){b=b|0;a[b+16>>0]=1;c[b+12>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;return}function Uv(a,b){a=a|0;b=+b;c[a+304>>2]=(c[a+304>>2]|0)+1;g[a+228>>2]=b;return}function Vv(){var a=0;a=Hr()|0;Bf(a,1,1);return a|0}function Wv(a,b,c){a=a|0;b=+b;c=+c;Hw(a,b,c);return}function Xv(a,b){a=a|0;b=+b;Eb[c[(c[a>>2]|0)+20>>2]&31](a,b);return}function Yv(a,b,c,d){a=a|0;b=+b;c=+c;d=+d;Gk(a,b,c,d);return}function Zv(a,b){a=a|0;b=+b;Eb[c[(c[a>>2]|0)+16>>2]&31](a,b);return}function _v(a,b){a=a|0;b=b|0;return +(+g[(c[a+136>>2]|0)+(b*284|0)+232>>2])}function $v(){var a=0;a=ps(176)|0;me(a,0);return a|0}function aw(a,b){a=a|0;b=b|0;Ib[c[(c[a>>2]|0)+24>>2]&127](a,b);return}function bw(a,b){a=a|0;b=b|0;c[a+68>>2]=b;return}function cw(a,b,d){a=a|0;b=b|0;d=d|0;c[a+20>>2]=b;c[a+28>>2]=d;return}function dw(a,b,d){a=a|0;b=b|0;d=d|0;c[a+16>>2]=b;c[a+24>>2]=d;return}function ew(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return 0}function fw(a,b,c,d,e){a=a|0;b=b|0;c=+c;d=d|0;e=+e;return tb[a&1](b|0,+c,d|0,+e)|0}function gw(a,b,c){a=a|0;b=b|0;c=+c;Tl(a,b,c);return}function hw(a,b){a=a|0;b=b|0;Ib[c[(c[a>>2]|0)+64>>2]&127](a,b);return}function iw(a,b){a=a|0;b=b|0;Cy(a+116|0,b);return}function jw(a,b,c){a=a|0;b=b|0;c=c|0;il(a,b,c);return}function kw(a,b,c){a=a|0;b=b|0;c=+c;g[a+1340+(b<<2)>>2]=c;return}function lw(a,b){a=a|0;b=b|0;Cy(a+108|0,b);return}function mw(a){a=a|0;var b=0;b=kH(a+32|0)|0;return +(+g[b+(c[a+56>>2]<<2)>>2])}function nw(a,b,c){a=a|0;b=b|0;c=+c;fq(a,b,c);return}function ow(a,b){a=a|0;b=b|0;Rt(a,b);return}function pw(a,b){a=a|0;b=+b;g[a+32>>2]=b;g[a+36>>2]=b;return}function qw(a,b,c){a=a|0;b=b|0;c=+c;g[a+1364+(b<<2)>>2]=c;return}function rw(a,b){a=a|0;b=b|0;Td(a,b);return}function sw(a){a=+a;if(!(a>=0.0))a=+Fz(-a);else a=+Fz(a);return +(a*2.0)}function tw(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=+e;Nb[a&15](b|0,c|0,d|0,+e)}function uw(a){a=+a;var b=0;b=ss()|0;yl(b,a);return b|0}function vw(a,b){a=a|0;b=+b;g[a+136>>2]=b;return}function ww(a,b){a=a|0;b=+b;Zx(a,b);return}function xw(a,b){a=a|0;b=b|0;Oo(a,b);return}function yw(a){a=a|0;var b=0;b=(kH(c[a+252>>2]|0)|0)==4;return (b?a:0)|0}function zw(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=+d;e=e|0;Kb[a&7](b|0,c|0,+d,e|0)}function Aw(a,b,c,d,e){a=a|0;b=b|0;c=+c;d=d|0;e=e|0;Hb[a&0](b|0,+c,d|0,e|0)}function Bw(a,b){a=a|0;b=+b;g[a+132>>2]=b;return}function Cw(a,b){a=a|0;b=b|0;gB(a,b);return}function Dw(a,b){a=a|0;b=b|0;Rq(a,b);return}function Ew(a,b){a=a|0;b=b|0;Sq(a,b);return}function Fw(a,b){a=a|0;b=b|0;Rj(a,0,b);return}function Gw(a,b){a=a|0;b=b|0;c[a+24>>2]=b;return}function Hw(a,b,c){a=a|0;b=+b;c=+c;g[a+532>>2]=b;g[a+536>>2]=c;return}function Iw(a){a=a|0;if(!a)return;tD(a);hH(a);return}function Jw(){var a=0;a=gs()|0;jf(a,1,0);return a|0}function Kw(a,b){a=a|0;b=b|0;return rB(a,b)|0}function Lw(a){a=a|0;var b=0;b=l;l=l+16|0;Cb[a&3]();sv(22166,b)}function Mw(b,c){b=b|0;c=+c;g[b+572>>2]=c;a[b+553>>0]=1;return}function Nw(a,b){a=a|0;b=b|0;return c[(c[a+20>>2]|0)+(b<<2)>>2]|0}function Ow(a){a=a|0;return +(+yG(+g[a+16>>2]))}function Pw(a,b){a=a|0;b=+b;UA(a,b);return}function Qw(a){a=a|0;return sb[c[(c[a>>2]|0)+40>>2]&127](a)|0}function Rw(a){a=a|0;rs(a);Tv(a);return}function Sw(a){a=a|0;return +(+qz(+g[a>>2],+g[a+4>>2],+g[a+8>>2]))}function Tw(a,b){a=a|0;b=b|0;uB(a,b);return}function Uw(a,b){a=a|0;b=b|0;RA(a,b);return}function Vw(a,b){a=a|0;b=+b;Eb[c[(c[a>>2]|0)+44>>2]&31](a,b);return}function Ww(){var a=0;a=ps(4)|0;c[a>>2]=0;aD(a);return a|0}function Xw(a,b){a=a|0;b=b|0;Cp(a,b);return}function Yw(a){a=a|0;return kE(a)|0}function Zw(a,b){a=a|0;b=+b;g[a+140>>2]=b;return}function _w(a){a=a|0;return WE(+g[a+4>>2])|0}function $w(a){a=a|0;if(!a)return;c[6898]=(c[6898]|0)+1;md(c[a+-4>>2]|0);return}function ax(a,b){a=a|0;b=b|0;return (c[a+136>>2]|0)+(b*284|0)+92|0}function bx(a,b){a=a|0;b=b|0;return kv(a,b)|0}function cx(a,b,c,d,e,f){a=+a;b=+b;c=+c;d=+d;e=+e;f=+f;return +(a*d+b*e+c*f)}function dx(){var a=0;a=ps(24)|0;Pq(a);return a|0}function ex(a,b){a=a|0;b=b|0;Fp(a,b);return}function fx(a,b){a=a|0;b=+b;fB(a,b);return}function gx(a,b){a=a|0;b=+b;NB(a,b);return}function hx(a){a=a|0;Db[c[(c[a>>2]|0)+120>>2]&511](a);return}function ix(a){a=a|0;g[a>>2]=.30000001192092896;g[a+4>>2]=1.0;g[a+8>>2]=0.0;return}function jx(a,b){a=a|0;b=b|0;Pl(a,b);return}function kx(a){a=a|0;return DE(c[a+204>>2]|0)|0}function lx(a){a=a|0;return +(+yG(+g[a+536>>2]))}function mx(a,b){a=a|0;b=b|0;qq(a+4|0,b);return}function nx(a,b){a=a|0;b=b|0;Fw(b,a);return}function ox(a){a=a|0;Bq(a);hH(a);return}function px(a,b){a=a|0;b=b|0;Wa(2,a|0,b|0)|0;return}function qx(a,b){a=a|0;b=+b;TB(a,b);return}function rx(a,b){a=a|0;b=+b;Jy(a,b);return}function sx(a,b){a=a|0;b=+b;UB(a,b);return}function tx(a,b){a=a|0;b=+b;Ky(a,b);return}function ux(a,b){a=a|0;b=b|0;hs(a,b);return}function vx(a,b){a=a|0;b=b|0;Hp(a,b);return}function wx(a){a=a|0;return +(+yG(+g[a+532>>2]))}function xx(a){a=a|0;return +(+yG(+g[a+104>>2]))}function yx(a){a=a|0;return +(+sw(+g[a+12>>2]))}function zx(b,c){b=b|0;c=c|0;a[b+32>>0]=c&1;return}function Ax(a){a=a|0;return uE(c[a+8>>2]|0)|0}function Bx(a,b){a=a|0;b=b|0;Wa(1,a|0,b|0)|0;return}function Cx(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return wb[a&63](b|0,c|0,d|0)|0}function Dx(a){a=a|0;return NE(a)|0}function Ex(a,b){a=a|0;b=b|0;return +(+wm(a,b))}function Fx(a,b){a=a|0;b=b|0;Ih(a,b,1);return}function Gx(a,b){a=a|0;b=b|0;lB(a,b);return}function Hx(a,b){a=a|0;b=b|0;c[a+8>>2]=b<<16>>16;return}function Ix(a){a=a|0;if(!a)a=0;else a=(qi(a,5128)|0)!=0&1;return a|0}function Jx(a){a=a|0;Fq(a);hH(a);return}function Kx(a,b){a=a|0;b=+b;FD(a,b);return}function Lx(a,b){a=a|0;b=b|0;Jl(a,b);return}function Mx(a,b){a=a|0;b=+b;g[a+120>>2]=b;return}function Nx(a,b){a=a|0;b=b|0;Sz(a,b,+$C(b));return}function Ox(a,b){a=a|0;b=+b;g[a+64>>2]=b;return}function Px(a,b){a=a|0;b=b|0;MB(a,b);return}function Qx(a,b){a=a|0;b=b|0;Us(a,b);return}function Rx(a,b){a=a|0;b=b|0;tB(a,b);return}function Sx(a){a=a|0;return +(+yG(+g[a+272>>2]))}function Tx(a,b){a=a|0;b=+b;g[a+116>>2]=b;return}function Ux(a,b){a=a|0;b=+b;g[a+128>>2]=b;return}function Vx(a,b){a=a|0;b=b|0;sB(a,b);return}function Wx(a,b){a=a|0;b=+b;g[a+36>>2]=b;return}function Xx(a,b){a=a|0;b=b|0;c[a+12>>2]=b<<16>>16;return}function Yx(a,b){a=a|0;b=b|0;return c[(c[a+236>>2]|0)+(b<<2)>>2]|0}function Zx(b,c){b=b|0;c=+c;g[b+572>>2]=c;a[b+553>>0]=0;return}function _x(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return +lb[a&31](b|0,c|0,d|0)}function $x(a,b){a=a|0;b=+b;g[a+68>>2]=b;return}function ay(a,b){a=a|0;b=+b;tv(a,b);return}function by(b,c){b=b|0;c=c|0;a[b+124>>0]=c&1;return}function cy(){var a=0;a=ps(12)|0;ix(a);return a|0}function dy(a,b){a=a|0;b=b|0;c[a+16>>2]=b<<16>>16;return}function ey(a){a=a|0;return sb[c[(c[a>>2]|0)+48>>2]&127](a)|0}function fy(a){a=a|0;Uu(a);c[a>>2]=5168;return}function gy(b,c){b=b|0;c=c|0;a[b+291>>0]=c&1;return}function hy(a){a=a|0;return TE(c[a+204>>2]|0)|0}function iy(a){a=a|0;return +(+yG(+g[a+276>>2]))}function jy(a,b){a=a|0;b=b|0;return +(+Ie(a,b))}function ky(a){a=a|0;return +(+yG(+g[a+124>>2]))}function ly(){var a=0;a=ps(4)|0;HA(a);return a|0}function my(a){a=a|0;a=c[a+96>>2]|0;return ((a|0)==4?4:(a|0)==3?2:0)|0}function ny(a,b,c,d){a=a|0;b=b|0;c=c|0;d=+d;return}function oy(a,b){a=a|0;b=+b;g[a+52>>2]=b;return}function py(a,b){a=a|0;b=+b;AC(a,b);return}function qy(a,b){a=a|0;b=b|0;Rg(a,b);return}function ry(a,b){a=a|0;b=+b;qC(a,b);return}function sy(a){a=a|0;return sb[c[(c[a>>2]|0)+28>>2]&127](a)|0}function ty(a,b){a=a|0;b=b|0;return gu(a,b)|0}function uy(a,b){a=a|0;b=b|0;c[a+80>>2]=b;return}function vy(a,b,c,d){a=a|0;b=b|0;c=c|0;d=+d;return vb[a&7](b|0,c|0,+d)|0}function wy(a,b){a=a|0;b=+b;g[a+60>>2]=b;return}function xy(a,b){a=a|0;b=b|0;VB(a,b);return}function yy(a){a=a|0;return +(+yG(+g[a+236>>2]))}function zy(a){a=a|0;return +(+g[a+136>>2])}function Ay(a){a=a|0;return Yy(c[a+68>>2]|0)|0}function By(b){b=b|0;if((a[b>>0]|0)==1)b=0;else{a[b>>0]=1;b=1}return b|0}function Cy(a,b){a=a|0;b=b|0;Uo(a,b);return}function Dy(b,c){b=b|0;c=c|0;a[b+80>>0]=c&1;return}function Ey(a){a=a|0;return +(+g[a+132>>2])}function Fy(a,b){a=a|0;b=b|0;return (c[a+136>>2]|0)+(b*284|0)|0}function Gy(a,b){a=a|0;b=b|0;ZB(a,b);return}function Hy(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;R(39)}function Iy(a){a=a|0;return LB(a)|0}function Jy(a,b){a=a|0;b=+b;g[a+196>>2]=+as(b);return}function Ky(a,b){a=a|0;b=+b;g[a+192>>2]=+as(b);return}function Ly(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Mb[a&127](b|0,c|0,d|0)}function My(a,b){a=a|0;b=b|0;qq(a+92|0,b);return}function Ny(a,b){a=a|0;b=+b;g[a+104>>2]=b;return}function Oy(a){a=a|0;ni(a);hH(a);return}function Py(a,b){a=a|0;b=+b;g[a+268>>2]=b;return}function Qy(a,b){a=a|0;b=+b;Fv(a,b);return}function Ry(a){a=a|0;return +(+yG(+g[a+232>>2]))}function Sy(a){a=a|0;return +(+yG(+g[a+80>>2]))}function Ty(a,b){a=a|0;b=b|0;c[b+780>>2]=0;return}function Uy(a,b){a=a|0;b=b|0;wj(a,b);return}function Vy(){c[6536]=1065353216;c[6537]=0;c[6538]=0;g[6539]=0.0;return}function Wy(a,b){a=a|0;b=b|0;rC(a,b);return}function Xy(a){a=a|0;return +(+ib[c[(c[a>>2]|0)+48>>2]&15](a))}function Yy(a){a=a|0;return sb[c[(c[a>>2]|0)+36>>2]&127](a)|0}function Zy(a){a=a|0;var b=0;b=l;l=l+a|0;l=l+15&-16;return b|0}function _y(a,b){a=a|0;b=+b;g[a+92>>2]=b;return}function $y(a){a=a|0;return +(+g[a+140>>2])}function az(b){b=b|0;return (a[b+32>>0]&1)!=0|0}function bz(b,c){b=b|0;c=c|0;a[b+250>>0]=c&1;return}function cz(a,b,d){a=a|0;b=b|0;d=d|0;if(!(c[a>>2]&32))uj(b,d,a);return}function dz(a,b){a=a|0;b=+b;g[a+72>>2]=b;return}function ez(a,b){a=a|0;b=b|0;or(a,b);return}function fz(a,b){a=a|0;b=b|0;return Lv(b)|0}function gz(a){a=a|0;return +(+yG(+g[a+228>>2]))}function hz(a,b){a=a|0;b=+b;g[a+112>>2]=b;return}function iz(a,b){a=a|0;b=b|0;Rg(b,a);return}function jz(a,b){a=a|0;b=+b;g[a+56>>2]=b;return}function kz(a){a=a|0;return vF(a)|0}function lz(a){a=a|0;return wF(a)|0}function mz(a){a=a|0;return BF(a)|0}function nz(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;R(17);return 0}function oz(a,b){a=a|0;b=b|0;Uy(a,b);return}function pz(a,b){a=a|0;b=b|0;c[a+52>>2]=b&1;return}function qz(a,b,c){a=+a;b=+b;c=+c;return +(+$G(+Dz(a,b,c)))}function rz(a,b,c,d){a=a|0;b=b|0;c=+c;d=d|0;Gb[a&15](b|0,+c,d|0)}function sz(a,b){a=a|0;b=b|0;if(!a)a=0;else a=Kj(a,b)|0;return a|0}function tz(a,b){a=a|0;b=+b;g[a+220>>2]=b;return}function uz(a,b){a=a|0;b=+b;Uv(a,b);return}function vz(a){a=a|0;return PA(c[a+220>>2]|0)|0}function wz(a,b){a=a|0;b=+b;g[a+100>>2]=b;return}function xz(b){b=b|0;return (a[b+124>>0]&1)!=0|0}function yz(a,b){a=a|0;b=+b;g[a+28>>2]=b;return}function zz(b,c){b=b|0;c=c|0;a[b+24>>0]=c&1;return}function Az(b,c){b=b|0;c=c|0;a[b+288>>0]=c&1;return}function Bz(a,b,c,d){a=a|0;b=b|0;c=c|0;d=+d;Jb[a&7](b|0,c|0,+d)}function Cz(a,b){a=a|0;b=+b;g[a+224>>2]=b;return}function Dz(a,b,c){a=+a;b=+b;c=+c;return +(+cx(a,b,c,a,b,c))}function Ez(a){a=a|0;c[a>>2]=5416;JE(a+72|0);return}function Fz(a){a=+a;if(!(a<-1.0)){if(a>1.0)a=1.0}else a=-1.0;return +(+G(+a))}function Gz(a){a=a|0;return +(+g[a+120>>2])}function Hz(b,c){b=b|0;c=c|0;a[b+16>>0]=c&1;return}function Iz(a,b){a=a|0;b=b|0;c[a+20>>2]=b;return}function Jz(a){a=a|0;return CC(a)|0}function Kz(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=+d;e=e|0;f=f|0;R(4);return 0.0}function Lz(a,b){a=a|0;b=+b;g[a+204>>2]=b;return}function Mz(a,b){a=a|0;b=+b;g[a+208>>2]=b;return}function Nz(a){a=a|0;return +(+g[a+64>>2])}function Oz(a,b){a=a|0;b=+b;g[a+20>>2]=b;return}function Pz(a){a=a|0;return +(+g[a+116>>2])}function Qz(a){a=a|0;return +(+g[a+128>>2])}function Rz(a){a=a|0;return +(+g[a+36>>2])}function Sz(a,b,c){a=a|0;b=b|0;c=+c;Ym(a,b,1.0/c);return}function Tz(a){a=a|0;He(a);hH(a);return}function Uz(a){a=a|0;lD(a+4|0);c[a>>2]=0;return}function Vz(a,b){a=a|0;b=b|0;var c=0;c=xA(a|0)|0;return ((b|0)==0?a:c)|0}function Wz(a){a=a|0;return +(+g[a+68>>2])}function Xz(a){a=a|0;return c[a+60>>2]|0}function Yz(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return}function Zz(a,b){a=a|0;b=+b;g[a+216>>2]=b;return}function _z(b){b=b|0;return (a[b+80>>0]&1)!=0|0}function $z(a){a=a|0;if(!a)return;$w(a);return}function aA(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return we(a,b,c,d,0)|0}function bA(a,b){a=a|0;b=+b;g[a+248>>2]=b;return}function cA(b,c){b=b|0;c=c|0;a[b+260>>0]=c&1;return}function dA(a){a=a|0;return +(+g[a+52>>2])}function eA(a){a=a|0;dt(a);return}function fA(a){a=a|0;return PF(a)|0}function gA(b,c){b=b|0;c=c|0;a[b+25>>0]=c&1;return}function hA(a,b){a=a|0;b=b|0;c[a+72>>2]=b;return}function iA(a){a=a|0;bt(a,+$C(a))|0;return}function jA(a){a=a|0;return +(+RF(+g[a+12>>2]))}function kA(a,b){a=a|0;b=b|0;c[a+8>>2]=b;return}function lA(a){a=a|0;return +(+g[a+60>>2])}function mA(a){a=a|0;return MF(a)|0}function nA(a,b){a=a|0;b=b|0;c[a+220>>2]=b;return}function oA(a){a=a|0;return kH(c[a+84>>2]|0)|0}function pA(a,b){a=a|0;b=b|0;return +(+Kr(a,b))}function qA(a,b){a=a|0;b=+b;g[a+40>>2]=b;return}function rA(a){a=a|0;return c[a+8>>2]&65535|0}function sA(b,c){b=b|0;c=c|0;a[b+26>>0]=c&1;return}function tA(a,b){a=a|0;b=+b;g[a+32>>2]=b;return}function uA(b,c){b=b|0;c=c|0;a[b+84>>0]=c&1;return}function vA(a){a=a|0;Sh(a);hH(a);return}function wA(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;R(38)}function xA(a){a=a|0;return (a&255)<<24|(a>>8&255)<<16|(a>>16&255)<<8|a>>>24|0}function yA(a,b){a=a|0;b=b|0;RD(a,b);return}function zA(a){a=a|0;return SF(a)|0}function AA(a){a=a|0;return kH(c[a+88>>2]|0)|0}function BA(a){a=a|0;return QC(a)|0}function CA(a){a=a|0;return (c[a+108>>2]|0)+4|0}function DA(a){a=a|0;return kH(c[a+780>>2]|0)|0}function EA(a,b){a=a|0;b=b|0;c[a+4>>2]=b;return}function FA(a){a=a|0;return c[a+12>>2]&65535|0}function GA(a){a=a|0;return c[a+80>>2]|0}function HA(a){a=a|0;mF(a);c[a>>2]=5312;return}function IA(a,b,c){a=a|0;b=b|0;c=c|0;return ub[a&31](b|0,c|0)|0}function JA(a,b){a=a|0;b=+b;g[a+244>>2]=b;return}function KA(a,b){a=a|0;b=+b;g[a+240>>2]=b;return}function LA(a){a=a|0;return +(+g[a+104>>2])}function MA(a,b){a=a|0;b=b|0;return Ok(a,b)|0}function NA(a){a=a|0;return WF(a)|0}function OA(a){a=a|0;return c[a+16>>2]&65535|0}function PA(a){a=a|0;a=kH(a)|0;return (a|0)!=2&(a|0)!=5|0}function QA(a){a=a|0;nj(a);hH(a);return}function RA(b,c){b=b|0;c=c|0;a[b+524>>0]=c&1;return}function SA(a){a=a|0;c[a+4>>2]=(c[a+4>>2]|0)+-1;return}function TA(a,b){a=a|0;b=b|0;return a+(b*80|0)|0}function UA(a,b){a=a|0;b=+b;g[a+272>>2]=b;return}function VA(a,b){a=a|0;b=+b;g[a+212>>2]=b;return}function WA(a,b){a=a|0;b=+b;g[a+228>>2]=b;return}function XA(a){a=a|0;return +(+g[a+268>>2])}function YA(a,b){a=a|0;b=b|0;return Kn(a,b)|0}function ZA(a,b){a=a|0;b=b|0;return Jn(a,b)|0}function _A(a,b){a=a|0;b=b|0;return +(+uo(a,b))}function $A(a){a=a|0;return +(+mw(a))}function aB(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=+d;e=e|0;f=f|0;R(32)}function bB(a,b){a=a|0;b=+b;g[a+252>>2]=b;return}function cB(a){a=a|0;return +(+g[a+96>>2])}function dB(a){a=a|0;return (c[a+52>>2]|0)!=0|0}function eB(a){a=a|0;Uz(a);c[a+72>>2]=0;return}function fB(a,b){a=a|0;b=+b;g[a+276>>2]=b;return}function gB(a,b){a=a|0;b=b|0;c[a+84>>2]=b;return}function hB(a){a=a|0;return kH(c[a+188>>2]|0)|0}function iB(a){a=a|0;return +(+g[a+92>>2])}function jB(a){a=a|0;return kH(c[a+120>>2]|0)|0}function kB(b){b=b|0;return (a[b+24>>0]&1)!=0|0}function lB(b,c){b=b|0;c=c|0;a[b+552>>0]=c&1;return}function mB(a,b,c){a=a|0;b=b|0;c=c|0;return 0}function nB(a){a=a|0;return +(+g[a+72>>2])}function oB(a){a=a|0;return kH(c[a+220>>2]|0)|0}function pB(a){a=a|0;return +(+g[a+112>>2])}function qB(a){a=a|0;pj(a);hH(a);return}function rB(a,b){a=a|0;b=b|0;return a+4+(b*192|0)|0}function sB(b,c){b=b|0;c=c|0;a[b+736>>0]=c&1;return}function tB(a,b){a=a|0;b=b|0;c[a+204>>2]=b;return}function uB(a,b){a=a|0;b=b|0;c[a+88>>2]=b;return}function vB(a,b,c,d,e,f){a=a|0;b=+b;c=+c;d=d|0;e=e|0;f=f|0;R(23)}function wB(a,b){a=a|0;b=+b;g[a+232>>2]=b;return}function xB(a,b){a=a|0;b=+b;g[a+280>>2]=b;return}function yB(a,b){a=a|0;b=+b;g[a+236>>2]=b;return}function zB(a){a=a|0;return +(+g[a+272>>2])}function AB(a){a=a|0;return +(+g[a+56>>2])}function BB(a){a=a|0;return kH(c[a+192>>2]|0)|0}function CB(a){a=a|0;return kH(c[a+204>>2]|0)|0}function DB(a){a=a|0;return kH(c[a+108>>2]|0)|0}function EB(a){a=a|0;return kH(c[a+112>>2]|0)|0}function FB(a,b){a=a|0;b=+b;return bt(a,b)|0}function GB(a){a=a|0;return kH(c[a+776>>2]|0)|0}function HB(a){a=a|0;return kH(c[a+772>>2]|0)|0}function IB(b){b=b|0;return (a[b+16>>0]&1)!=0|0}function JB(a,b){a=a|0;b=b|0;c[a>>2]=b;return}function KB(a){a=a|0;if(a>>>0>4294963200){c[7041]=0-a;a=-1}return a|0}function LB(a){a=a|0;return kH(c[a+328>>2]|0)|0}function MB(b,c){b=b|0;c=c|0;a[b+21>>0]=c&1;return}function NB(a,b){a=a|0;b=+b;g[a+684>>2]=b;return}function OB(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;R(16);return 0}function PB(a){a=a|0;return kH(c[a+24>>2]|0)|0}function QB(a){a=a|0;return kH(c[a+68>>2]|0)|0}function RB(a){a=a|0;return +(+g[a+28>>2])}function SB(a){a=a|0;return (a&1)!=0|0}function TB(a,b){a=a|0;b=+b;g[a+188>>2]=b;return}function UB(a,b){a=a|0;b=+b;g[a+184>>2]=b;return}function VB(a,b){a=a|0;b=b|0;c[a+256>>2]=b;return}function WB(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;R(6);return 0.0}function XB(a){a=a|0;return +(+g[a+220>>2])}function YB(a){a=a|0;return +(+g[a+100>>2])}function ZB(b,c){b=b|0;c=c|0;a[b+737>>0]=c&1;return}function _B(a){a=a|0;SA(a);return}function $B(a,b){a=a|0;b=+b;g[a+256>>2]=b;return}function aC(a){a=a|0;return +(+g[a+224>>2])}function bC(a,b){a=a|0;b=b|0;return rr(a,b)|0}function cC(a,b){a=a|0;b=b|0;return qr(a,b)|0}function dC(a){a=a|0;return kH(c[a+256>>2]|0)|0}function eC(a){a=a|0;return kH(c[a+540>>2]|0)|0}function fC(a){a=a|0;return kH(c[a+116>>2]|0)|0}function gC(a){a=a|0;return +(+g[a+44>>2])}function hC(a){a=a|0;if(!a)return;hH(a);return}function iC(a){a=a|0;return (c[a+48>>2]|0)==1|0}function jC(a){a=a|0;qj(a);hH(a);return}function kC(a){a=a|0;Jj(a);hH(a);return}function lC(a,b){a=a|0;b=b|0;return (a|0)==(b|0)|0}function mC(a,b){a=a|0;b=b|0;if(!n){n=a;o=b}}function nC(b){b=b|0;return (a[b+260>>0]&1)!=0|0}function oC(b){b=b|0;return (a[b+25>>0]&1)!=0|0}function pC(a){a=a|0;return (c[a+96>>2]|0)+4|0}function qC(a,b){a=a|0;b=+b;g[a+440>>2]=b;return}function rC(a,b){a=a|0;b=b|0;c[a+264>>2]=b;return}function sC(a,b,c){a=a|0;b=b|0;c=c|0;Ib[a&127](b|0,c|0)}function tC(a,b,c){a=a|0;b=b|0;c=+c;return +jb[a&1](b|0,+c)}function uC(a,b,c,d,e){a=a|0;b=b|0;c=+c;d=d|0;e=e|0;R(2);return 0.0}function vC(a){a=a|0;return +(+g[a+276>>2])}function wC(a){a=a|0;return +(+g[a+208>>2])}function xC(a){a=a|0;return +(+g[a+20>>2])}function yC(a){a=a|0;return kH(c[a+264>>2]|0)|0}function zC(a){a=a|0;return +(+Hu(a))}function AC(a,b){a=a|0;b=+b;g[a+96>>2]=b;return}function BC(a){a=a|0;return kH(c[a+56>>2]|0)|0}function CC(a){a=a|0;return kH(c[a+20>>2]|0)|0}function DC(a){a=a|0;return +(+g[a+216>>2])}function EC(a,b){a=a|0;b=+b;EE(a,b);return}function FC(b){b=b|0;return (a[b+26>>0]&1)!=0|0}function GC(a){a=a|0;return c[a+20>>2]|0}function HC(b){b=b|0;return (a[b+84>>0]&1)!=0|0}function IC(a){a=a|0;return +(+g[a+32>>2]*+g[a+16>>2])}function JC(a){a=a|0;return +(+g[a+248>>2])}function KC(a){a=a|0;return eG(a)|0}function LC(a){a=a|0;return +(+g[a+8>>2])}function MC(a){a=a|0;return +(+g[a+204>>2])}function NC(a){a=a|0;dq(a);return}function OC(a){a=a|0;return kH(c[a+564>>2]|0)|0}function PC(a){a=a|0;Mn(a);return}function QC(a){a=a|0;return kH(c[a+128>>2]|0)|0}function RC(a,b,c){a=a|0;b=b|0;c=+c;return 0}function SC(a){a=a|0;return c[a+92>>2]|0}function TC(a){a=a|0;kD(a+4|0);return}function UC(a,b){a=a|0;b=+b;UE(a,b);return}function VC(a,b){a=a|0;b=+b;VE(a,b);return}function WC(a,b){a=a|0;b=+b;lF(a,b);return}function XC(a){a=a|0;return +(+g[a+12>>2])}function YC(a){a=a|0;return +(+g[a+40>>2])}function ZC(a){a=a|0;return kH(c[a>>2]|0)|0}function _C(a){a=a|0;return (c[a+52>>2]|0)+4|0}function $C(a){a=a|0;return +(+$G(+nE(a)))}function aD(a){a=a|0;$F(a);c[a>>2]=5640;return}function bD(a){a=a|0;return +(+g[a+32>>2])}function cD(a,b,c){a=a|0;b=b|0;c=+c;Eb[a&31](b|0,+c)}function dD(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;R(37)}function eD(a){a=a|0;return +(+g[(TG(a)|0)>>2])}function fD(a){a=a|0;return +(+g[(UG(a)|0)>>2])}function gD(a){a=a|0;return +(+g[(SG(a)|0)>>2])}function hD(a){a=a|0;return mG(a)|0}function iD(a){a=a|0;iA(a);return}function jD(a){a=a|0;return c[a+8>>2]|0}function kD(a){a=a|0;tD(a);return}function lD(a){a=a|0;DD(a);return}function mD(a){a=a|0;return c[a+216>>2]|0}function nD(a){a=a|0;return +(+g[a+244>>2])}function oD(a){a=a|0;return +(+g[a+240>>2])}function pD(a){a=a|0;return +(+nE(a))}function qD(a){a=a|0;return +(+g[a+4>>2])}function rD(a){a=a|0;return c[a+228>>2]|0}function sD(a){a=a|0;c[a+232>>2]=0;return}function tD(a){a=a|0;Rw(a);return}function uD(a,b,c){a=a|0;b=b|0;c=c|0;return}function vD(a,b){a=a|0;b=+b;g[a+76>>2]=b;return}function wD(a){a=a|0;return kH(c[a+4>>2]|0)|0}function xD(a){a=a|0;return +(+g[a+212>>2])}function yD(a){a=a|0;return +(+g[a+228>>2])}function zD(a){a=a|0;return UG(a)|0}function AD(a){a=a|0;return a+76|0}function BD(a){a=a|0;return c[a+24>>2]|0}function CD(a){a=a|0;return c[a+208>>2]|0}function DD(a){a=a|0;Tv(a);return}function ED(a){a=a|0;return c[a+16>>2]|0}function FD(a,b){a=a|0;b=+b;g[a+16>>2]=b;return}function GD(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=+e;R(34)}function HD(a,b,c,d,e){a=a|0;b=b|0;c=+c;d=d|0;e=e|0;R(29)}function ID(a){a=a|0;return +(+g[a+252>>2])}function JD(a){a=a|0;return +(+$C(a))}function KD(a){a=a|0;return c[a+4>>2]|0}function LD(a){a=a|0;return a+96|0}function MD(a){a=a|0;return a+116|0}function ND(){var a=0;a=c[7044]|0;c[7044]=a+0;return a|0}function OD(a){a=a|0;return (a&3|0)!=0|0}function PD(a){a=a|0;return ((a|0)==0?1:a<<1)|0}function QD(a,b){a=a|0;b=+b;g[a+48>>2]=b;return}function RD(a,b){a=a|0;b=b|0;c[a+564>>2]=b;return}function SD(a){a=a|0;return a+156|0}function TD(a){a=a|0;return c[a+88>>2]|0}function UD(a){a=a|0;return a+44|0}function VD(a){a=a|0;return a+88|0}function WD(a){a=a|0;return a+108|0}function XD(){var a=0;a=c[3074]|0;c[3074]=a+0;return a|0}function YD(a){a=a|0;return 644}function ZD(a){a=a|0;Eh(a);hH(a);return}function _D(a){a=a|0;Wh(a);hH(a);return}function $D(a){a=a|0;Qi(a);hH(a);return}function aE(a){a=a|0;return +(+g[a+232>>2])}function bE(a){a=a|0;return +(+g[a+280>>2])}function cE(a){a=a|0;return +(+g[a+236>>2])}function dE(a){a=a|0;return a+40|0}function eE(a){a=a|0;return a+60|0}function fE(a){a=a|0;return a+100|0}function gE(a){a=a|0;return 348}function hE(a){a=a|0;return c[a+12>>2]|0}function iE(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;R(15);return 0}function jE(a){a=a|0;Dv(a);return}function kE(a){a=a|0;return a+132|0}function lE(a,b){a=a|0;b=b|0;return a+(b<<2)|0}function mE(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;R(5);return 0.0}function nE(a){a=a|0;return +(+uo(a,a))}function oE(a){a=a|0;return (a?31-(Q(a^a-1)|0)|0:32)|0}function pE(a){a=a|0;return +(+g[a+256>>2])}function qE(a){a=a|0;return +(+g[(kH(a)|0)>>2])}function rE(a){a=a|0;return a+348|0}function sE(a){a=a|0;return +(+g[a>>2])}function tE(a){a=a|0;return c[a>>2]|0}function uE(a){a=a|0;return (a|0)!=0|0}function vE(b){b=b|0;a[b+52>>0]=1;return}function wE(a,b){a=a|0;b=b|0;return sb[a&127](b|0)|0}function xE(a){a=a|0;return a+24|0}function yE(a){a=a|0;La(a|0)|0;Ap()}function zE(a){a=a|0;return c[a+1304>>2]|0}function AE(a){a=a|0;return +(+g[a+152>>2])}function BE(a){a=a|0;return a+64|0}function CE(a){a=a|0;return c[a+332>>2]|0}function DE(a){a=a|0;return (a&2|0)!=0|0}function EE(a,b){a=a|0;b=+b;g[a+12>>2]=b;return}function FE(a){a=a|0;return a+172|0}function GE(a){a=a|0;return 252}function HE(a){a=a|0;return +(+g[a+48>>2])}function IE(a){a=a|0;return c[a+96>>2]|0}function JE(a){a=a|0;TC(a);return}function KE(a,b,c,d){a=a|0;b=+b;c=c|0;d=+d;R(11);return 0}function LE(a){a=a|0;return a+52|0}function ME(a){a=a|0;return 28}function NE(a){a=a|0;return a+148|0}function OE(a){a=a|0;return c[a+100>>2]|0}function PE(a){a=a|0;return c[a+72>>2]|0}function QE(a,b){a=a|0;b=b|0;return +ib[a&15](b|0)}function RE(a){a=a|0;return a+112|0}function SE(a){a=a|0;return 212}function TE(a){a=a|0;return (a&1|0)!=0|0}function UE(a,b){a=a|0;b=+b;g[a+8>>2]=b;return}function VE(a,b){a=a|0;b=+b;g[a+4>>2]=b;return}function WE(a){a=+a;return a<1.0|0}function XE(a,b){a=a|0;b=b|0;return 1}function YE(a){a=a|0;return c[a+300>>2]|0}function ZE(a,b){a=a|0;b=b|0;l=a;m=b}function _E(a){a=a|0;return a+188|0}function $E(a){a=a|0;return a+56|0}function aF(a){a=a|0;return a+160|0}function bF(a){a=a|0;return 204}function cF(a){a=a|0;return c[a+748>>2]|0}function dF(a,b){a=a|0;b=b|0;return}function eF(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;R(33)}function fF(a){a=a|0;return a+68|0}function gF(a){a=a|0;return a+36|0}function hF(a){a=a|0;return 64}function iF(a){a=a|0;return 220}function jF(a){a=a|0;return 264}function kF(a){a=a|0;return +(+g[a+76>>2])}function lF(a,b){a=a|0;b=+b;g[a>>2]=b;return}function mF(a){a=a|0;c[a>>2]=5340;return}function nF(a){a=a|0;c[a>>2]=9864;return}function oF(a){a=a|0;return a+16|0}function pF(a){a=a|0;return 52}function qF(a){a=a|0;return 68}function rF(a){a=a|0;return 84}function sF(a){a=a|0;return +(+g[a+16>>2])}function tF(a,b){a=a|0;b=b|0;return a+(b<<4)|0}function uF(a){a=a|0;return kH(a)|0}function vF(a){a=a|0;return a+316|0}function wF(a){a=a|0;return a+300|0}function xF(a,b){a=a|0;b=b|0;Db[a&511](b|0)}function yF(a,b,c,d){a=a|0;b=b|0;c=c|0;d=+d;R(31)}function zF(a,b,c,d){a=a|0;b=b|0;c=+c;d=d|0;R(28)}function AF(a,b,c,d){a=a|0;b=+b;c=c|0;d=d|0;R(25)}function BF(a){a=a|0;return a+32|0}function CF(a){a=a|0;return 24}function DF(a,b){a=a|0;b=b|0;return Ct(a,b)|0}function EF(a){a=a|0;return a+72|0}function FF(a){a=a|0;$w(a);return}function GF(a){a=a|0;hH(a+-4|0);return}function HF(a){a=a|0;Ch(a);return}function IF(a,b){a=a|0;b=b|0;return 0}function JF(a){a=a|0;return 496}function KF(a,b,c){a=a|0;b=b|0;c=c|0;R(14);return 0}function LF(a){a=a|0;return a+80|0}function MF(a){a=a|0;return a+388|0}function NF(a){a=a|0;return 60}function OF(a){a=a|0;c[a>>2]=5572;return}function PF(a){a=a|0;return a+28|0}function QF(a,b,c){a=a|0;b=b|0;c=c|0;R(3);return 0.0}function RF(a){a=+a;return +(+Fz(a)*2.0)}function SF(a){a=a|0;return a+372|0}function TF(a){a=a|0;c[a>>2]=6284;return}function UF(a){a=a|0;return (a&255)<<8|a>>8&255|0}function VF(a,b,c){a=a|0;b=b|0;c=+c;R(13);return 0}function WF(a){a=a|0;return a+92|0}function XF(a){a=a|0;return 25}function YF(a){a=a|0;return 18873}function ZF(a){a=a|0;return 18725}function _F(a){a=a|0;return 2}function $F(a){a=a|0;c[a>>2]=5392;return}function aG(){return Ds()|0}function bG(a,b){a=a|0;b=+b;return}function cG(a){a=a|0;return 19820}function dG(a){a=a|0;return 18040}function eG(a){a=a|0;return a+440|0}function fG(a,b,c){a=a|0;b=b|0;c=c|0;R(30)}function gG(a){a=a|0;return 19461}function hG(a){a=a|0;return 0}function iG(a,b){a=+a;b=b|0;return +(+Hl(a,b))}function jG(){return ps(64)|0}function kG(a){a=a|0;return 19230}function lG(a){a=a|0;return 19889}function mG(a){a=a|0;return a+48|0}function nG(a){a=a|0;return 18629}function oG(a){a=a|0;return 1}function pG(a,b,c){a=a|0;b=b|0;c=+c;R(27)}function qG(a,b,c){a=a|0;b=+b;c=c|0;R(24)}function rG(a){a=a|0;return 18844}function sG(a){a=a|0;return 18815}function tG(a){a=a|0;return 19631}function uG(a){a=a|0;return 3}function vG(a){a=a|0;return bm(a,28140)|0}function wG(a){a=a|0;return (a+-48|0)>>>0<10|0}function xG(a){a=a|0;return 19671}function yG(a){a=+a;return +a}function zG(a){a=a|0;return 18787}function AG(a){a=a|0;return 18486}function BG(a){a=a|0;return 18374}function CG(a){a=a|0;return 18347}function DG(a){a=a|0;return 18317}function EG(a){a=a|0;return 8}function FG(a){a=a|0;hH(a);return}function GG(a){a=+a;return +(a%6.2831854820251465)}function HG(a){a=a|0;return 19184}function IG(a,b){a=a|0;b=b|0;R(12);return 0}function JG(a){a=a|0;return 18565}function KG(a){a=a|0;return 18586}function LG(a){a=a|0;return 6}function MG(a){a=a|0;return 12}function NG(){return 4}function OG(a){a=a|0;return 18546}function PG(a){a=a|0;return 17865}function QG(a){a=a|0;bb()}function RG(a,b){a=a|0;b=+b;R(1);return 0.0}function SG(a){a=a|0;return a+12|0}function TG(a){a=a|0;return a+8|0}function UG(a){a=a|0;return a+4|0}function VG(a){a=a|0;Cb[a&3]()}function WG(){return 2}function XG(){return 1}function YG(){return 5}function ZG(){return 3}function _G(){Na()}function $G(a){a=+a;return +(+B(+a))}function aH(a){a=+a;return +(+A(+a))}function bH(a){a=+a;return +(+E(+a))}function cH(a){a=+a;return +(+D(+a))}function dH(a,b){a=a|0;b=b|0;R(26)}function eH(a){a=a|0;return}function fH(a,b){a=a|0;b=+b;R(22)}function gH(a){a=a|0;l=a}function hH(a){a=a|0;md(a);return}function iH(a){a=a|0;y=a}function jH(a){a=a|0;R(10);return 0}function kH(a){a=a|0;return a|0}function lH(a){a=a|0;R(0);return 0.0}function mH(){return y|0}function nH(){return l|0}function oH(a){a=a|0;R(21)}function pH(){return 0}function qH(){R(20)}
54
55// EMSCRIPTEN_END_FUNCS

Callers 15

RdFunction · 0.70
UdFunction · 0.70
XdFunction · 0.70
aeFunction · 0.70
leFunction · 0.70
meFunction · 0.70
ueFunction · 0.70
veFunction · 0.70
AeFunction · 0.70
EeFunction · 0.70
MeFunction · 0.70

Calls 1

goFunction · 0.70

Tested by

no test coverage detected