as){aP=as}else{if(av>=ar){aP=av;break}aP=ar}}while(0);if(at>as){aQ=as;aR=aP;break}if(at>=ar){aQ=at;aR=aP;break}aQ=ar;aR=aP}else{do{if(av>ar){aS=ar}else{if(av>=as){aS=av;break}aS=as}}while(0);if(at>ar){aQ=ar;aR=aS;break}if(at>=as){aQ=at;aR=aS;break}aQ=as;aR=aS}}while(0);if(aR==aQ){if(aR==ar|aR==as){aT=ai;aU=au;break}}aq=+(c[64768+(ae*688&-1)>>2]|0);ax=+h[64776+(ae*688&-1)>>3];q=~~(aq+(aQ-ar)*ax+.5);al=~~(aq+(aR-ar)*ax+.5);ax=+(c[64768+(_*688&-1)>>2]|0);aq=+h[64776+(_*688&-1)>>3];am=~~(ax+(aO-ag)*aq+.5);if((ai|0)==(am|0)){if(aO==ag|aO==af){aT=ai;aU=au;break}}ay=c[k>>2]|0;do{if((ay|0)==153|(ay|0)==137|(ay|0)==169){ao=(c[S>>2]|0)+(V<<3)|0;f9(b,ao);aV=ai}else if((ay|0)==392){if(((c[9670]|0)-1|0)>>>0>=2){aV=ai;break}aV=~~(ax+(au-ag)*aq+.5)}else{aV=ai}}while(0);ay=c[I>>2]|0;do{if((ay|0)!=0){_=c[L>>2]|0;if((_|0)==0){break}ae=al-q|0;ao=am-aV|0;an=(ae|0)<0;ap=an?al:q;aF=(an?q-al|0:ae)+1|0;ae=(ao|0)<0;an=ae?am:aV;aW=(ae?aV-am|0:ao)+1|0;if((ay|0)==1|(ay|0)==4){aX=(c[R>>2]<<4&65520)+ay|0}else if((ay|0)==2|(ay|0)==5){aX=(c[g>>2]<<4&65520)+ay|0}else{aX=0}cI[_&63](aX,ap,an,aF,aW);if(!(hG(H)|0)){aT=ai;aU=au;break L14718}}}while(0);ay=c[(c[3524]|0)+172>>2]|0;if((ay|0)!=0){cM[ay&511](0)}cN[c[J>>2]&255](q,aV);cN[c[K>>2]&255](q,am);cN[c[K>>2]&255](al,am);cN[c[K>>2]&255](al,aV);cN[c[K>>2]&255](q,aV);ay=c[(c[3524]|0)+172>>2]|0;if((ay|0)!=0){cM[ay&511](1)}if((c[L>>2]|0)==0){aT=ai;aU=au;break}if((c[M>>2]|0)==0){aT=ai;aU=au;break}cM[c[N>>2]&511](c[O>>2]|0);if((a[P]&1)==0){aT=ai;aU=au;break}fn(Q,j);aT=ai;aU=au}else{aT=W;aU=U}}while(0);m=c[p>>2]|0;ay=V+1|0;aW=c[l>>2]|0;if((ay|0)<(aW|0)){T=c[m+(V<<6)>>2]|0;U=aU;V=ay;W=aT;d=m;X=aW}else{break}}i=e;return}function f0(b){b=b|0;var d=0,e=0,f=0,g=0,i=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;if((c[(c[3524]|0)+148>>2]|0)==0){f_(b);return}d=b+300|0;if(((c[d>>2]|0)-1|0)<=0){return}e=b+320|0;f=0;while(1){g=c[e>>2]|0;i=f+1|0;do{if((c[g+(f<<6)>>2]|0)!=2){if((c[g+(i<<6)>>2]|0)==2){break}j=+h[g+(f<<6)+8>>3];k=+h[g+(f<<6)+56>>3];l=+h[g+(f<<6)+16>>3];m=+h[g+(f<<6)+40>>3];n=+h[g+(i<<6)+8>>3];o=+h[g+(i<<6)+56>>3];p=+h[g+(i<<6)+16>>3];q=+h[g+(i<<6)+40>>3];if((a[30528]&1)==0){r=m-l;if(r*(q-p)<0.0){s=p-q;t=(n*r+j*s)/(r+s);s=m+(q-m)*(t-j)/(n-j);gh(j,k,l,m,t,t,s,s,b);gh(t,t,s,s,n,o,p,q,b);break}else{gh(j,k,l,m,n,o,p,q,b);break}}else{s=(p-l)/(n-j);t=(q-m)/(o-k);r=l-j*s;u=(m-k*t-r)/(s-t);t=r+s*u;if((j-u)*(u-n)>0.0){gh(j,k,l,m,u,u,t,t,b);gh(u,u,t,t,n,o,p,q,b);break}else{gh(j,k,l,m,n,o,p,q,b);break}}}}while(0);if((i|0)<((c[d>>2]|0)-1|0)){f=i}else{break}}return}function f1(a){a=a|0;var b=0,d=0,e=0,f=0.0,g=0,i=0,j=0,k=0,l=0,m=0.0,n=0,o=0.0,p=0.0,q=0,r=0.0,s=0.0,t=0.0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0.0,C=0,D=0.0,E=0,F=0,G=0,H=0.0,I=0,J=0,K=0.0,L=0.0,M=0.0,N=0,O=0;b=c[3524]|0;d=c[b+28>>2]|0;e=d>>>0<8;if(e){f=e?1.0:0.0}else{f=+(d>>>2|0)}d=a+300|0;if((c[d>>2]|0)<=0){return}e=a+320|0;g=a+316|0;i=b+56|0;j=b+60|0;b=a+12|0;k=0;do{l=c[e>>2]|0;do{if((c[l+(k<<6)>>2]|0)!=2){m=+h[l+(k<<6)+8>>3];n=c[200]|0;o=+h[64664+(n*688&-1)>>3];p=+h[64672+(n*688&-1)>>3];if(op){break}}else{if(m
o){break}}q=~~(+(c[64768+(n*688&-1)>>2]|0)+(m-o)*+h[64776+(n*688&-1)>>3]+.5);o=+h[l+(k<<6)+40>>3];m=+h[l+(k<<6)+32>>3];p=+h[l+(k<<6)+24>>3];r=+h[l+(k<<6)+16>>3];n=c[144]|0;s=+h[64664+(n*688&-1)>>3];t=+h[64672+(n*688&-1)>>3];do{if(s>2]|0;B=+h[64776+(n*688&-1)>>3];C=~~(+(x|0)+(o-s)*B+.5);if(y){D=B;E=x;F=C;w=10925}else{G=0;H=B;I=x;J=C;w=10926}}else if((w|0)==10922){w=0;B=t-s;C=c[64768+(n*688&-1)>>2]|0;K=+(C|0);if((o-t)*B<0.0){L=+h[64776+(n*688&-1)>>3];x=~~(K+(s-s)*L+.5);if(z){D=L;E=C;F=x;w=10925;break}else{G=1;H=L;I=C;J=x;w=10926;break}}else{L=+h[64776+(n*688&-1)>>3];x=~~(K+B*L+.5);if(z){D=L;E=C;F=x;w=10925;break}else{G=1;H=L;I=C;J=x;w=10926;break}}}}while(0);if((w|0)==10926){w=0;o=t-s;if((m-t)*o<0.0){M=s-s}else{M=o}n=~~(+(I|0)+M*H+.5);if((n|0)==(J|0)&G){break}else{N=n;O=J}}else if((w|0)==10925){w=0;N=~~(+(E|0)+(m-s)*D+.5);O=F}n=(c[g>>2]|0)+(k<<3)|0;f9(a,n);cN[c[i>>2]&255](q,N);cN[c[j>>2]&255](q,O);o=+(q>>>0>>>0);n=c[144]|0;cN[c[i>>2]&255](~~(o-f*+h[7077]),~~(+(c[64768+(n*688&-1)>>2]|0)+(r- +h[64664+(n*688&-1)>>3])*+h[64776+(n*688&-1)>>3]+.5));n=c[144]|0;cN[c[j>>2]&255](q,~~(+(c[64768+(n*688&-1)>>2]|0)+(r- +h[64664+(n*688&-1)>>3])*+h[64776+(n*688&-1)>>3]+.5));n=c[144]|0;cN[c[i>>2]&255](~~(o+f*+h[7077]),~~(+(c[64768+(n*688&-1)>>2]|0)+(p- +h[64664+(n*688&-1)>>3])*+h[64776+(n*688&-1)>>3]+.5));n=c[144]|0;cN[c[j>>2]&255](q,~~(+(c[64768+(n*688&-1)>>2]|0)+(p- +h[64664+(n*688&-1)>>3])*+h[64776+(n*688&-1)>>3]+.5));if((c[b>>2]|0)!=474){break}n=c[144]|0;x=~~(+(c[64768+(n*688&-1)>>2]|0)+(+h[(c[e>>2]|0)+(k<<6)+56>>3]- +h[64664+(n*688&-1)>>3])*+h[64776+(n*688&-1)>>3]+.5);cN[c[i>>2]&255](~~(o-f*+h[7077]),x);cN[c[j>>2]&255](~~(o+f*+h[7077]),x)}}while(0);k=k+1|0;}while((k|0)<(c[d>>2]|0));return}function f2(b){b=b|0;var d=0,e=0,f=0,g=0.0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0.0,I=0.0,J=0.0,K=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,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0.0,ab=0,ac=0,ad=0.0,ae=0,af=0,ag=0,ah=0.0,ai=0,aj=0,ak=0.0,al=0.0,am=0.0,an=0,ao=0,ap=0,aq=0.0,ar=0,as=0,at=0.0,au=0.0,av=0.0,aw=0.0,ax=0.0,ay=0.0,az=0.0,aA=0.0,aB=0.0,aC=0.0,aD=0.0,aE=0.0,aF=0.0,aG=0.0,aH=0,aI=0,aJ=0,aK=0,aL=0.0,aM=0.0,aN=0,aO=0,aP=0.0,aQ=0,aR=0,aS=0.0,aT=0,aU=0,aV=0,aW=0;d=c[3524]|0;e=c[d+28>>2]|0;f=e>>>0<8;if(f){g=f?1.0:0.0}else{g=+(e>>>2|0)}e=b+300|0;f=c[e>>2]|0;if((f|0)<=0){return}i=b+320|0;j=b+192|0;k=b+208|0;l=d+64|0;m=b+28|0;n=b+56|0;o=b+64|0;p=b+316|0;q=d+56|0;r=d+60|0;s=b+12|0;t=b+144|0;u=b+152|0;v=j|0;w=d+108|0;x=b+196|0;y=b+200|0;z=b+212|0;A=2;B=0;C=c[i>>2]|0;D=f;while(1){do{if((c[C+(B<<6)>>2]|0)==2){E=A;F=C;G=D}else{H=+h[C+(B<<6)+8>>3];f=c[200]|0;I=+h[64664+(f*688&-1)>>3];J=+h[64672+(f*688&-1)>>3];K=IJ){E=A;F=C;G=D;break}}else{if(HI){E=A;F=C;G=D;break}}L=+(c[64768+(f*688&-1)>>2]|0);M=+h[64776+(f*688&-1)>>3];f=~~(L+(H-I)*M+.5);N=+h[C+(B<<6)+40>>3];O=+h[C+(B<<6)+32>>3];P=+h[C+(B<<6)+24>>3];Q=+h[C+(B<<6)+16>>3];R=N>3];N=+h[64672+(R*688&-1)>>3];U=O>2]|0;aa=+h[64776+(R*688&-1)>>3];ab=~~(+(Y|0)+(S-O)*aa+.5);if(Z){ac=1;ad=aa;ae=Y;af=ab;X=10957}else{ag=1;ah=aa;ai=Y;aj=ab;X=10958}}else if((X|0)==10954){X=0;aa=N-O;ab=c[64768+(R*688&-1)>>2]|0;ak=+(ab|0);if((S-N)*aa<0.0){al=+h[64776+(R*688&-1)>>3];Y=~~(ak+(O-O)*al+.5);if(_){ac=0;ad=al;ae=ab;af=Y;X=10957;break}else{ag=0;ah=al;ai=ab;aj=Y;X=10958;break}}else{al=+h[64776+(R*688&-1)>>3];Y=~~(ak+aa*al+.5);if(_){ac=0;ad=al;ae=ab;af=Y;X=10957;break}else{ag=0;ah=al;ai=ab;aj=Y;X=10958;break}}}}while(0);if((X|0)==10958){X=0;S=N-O;if((T-N)*S<0.0){am=O-O}else{am=S}R=~~(+(ai|0)+am*ah+.5);if((R|0)==(aj|0)&(ag^1)){E=A;F=C;G=D;break}else{an=R;ao=0;ap=ag;aq=ah;ar=ai;as=aj}}else if((X|0)==10957){X=0;an=~~(+(ae|0)+(T-O)*ad+.5);ao=1;ap=ac;aq=ad;ar=ae;as=af}S=+h[C+(B<<6)+48>>3];do{if(S!=H){al=H*2.0-S;do{if(K){do{if(al>J){at=J}else{if(al>=I){at=al;break}at=I}}while(0);if(S>J){au=J;av=at;break}if(S>=I){au=S;av=at;break}au=I;av=at}else{do{if(al>I){aw=I}else{if(al>=J){aw=al;break}aw=J}}while(0);if(S>I){au=I;av=aw;break}if(S>=J){au=S;av=aw;break}au=J;av=aw}}while(0);ax=L+(au-I)*M+.5;ay=L+(av-I)*M+.5}else{if((c[s>>2]|0)==474){al=+h[7030];if((a[56232]&1)!=0&al>0.0){az=al*.5}else{az=.25}ax=L+(H-az-I)*M+.5;ay=L+(H+az-I)*M+.5;break}al=+h[7030];if(al<0.0){aa=+(f|0);ak=g*+h[7077];ax=aa-ak;ay=aa+ak;break}ak=al*-.5;R=(A|0)==2;do{if(R){aA=ak}else{if((a[56232]&1)!=0){aA=ak;break}aA=al*(+h[C+(B-1<<6)+8>>3]-H)*.5}}while(0);ak=-0.0-aA;do{if((B|0)<(D-1|0)){Y=B+1|0;if((c[C+(Y<<6)>>2]|0)==2){aB=ak;break}if((a[56232]&1)==0){aB=(+h[C+(Y<<6)+8>>3]-H)*al*.5;break}else{aB=al*.5;break}}else{aB=ak}}while(0);if(R){aC=-0.0-aB}else{aC=aA}ak=H+aC;al=H+aB;do{if(K){do{if(al>J){aD=J}else{if(al>=I){aD=al;break}aD=I}}while(0);if(ak>J){aE=J;aF=aD;break}if(ak>=I){aE=ak;aF=aD;break}aE=I;aF=aD}else{do{if(al>I){aG=I}else{if(al>=J){aG=al;break}aG=J}}while(0);if(ak>I){aE=I;aF=aG;break}if(ak>=J){aE=ak;aF=aG;break}aE=J;aF=aG}}while(0);ax=L+(aE-I)*M+.5;ay=L+(aF-I)*M+.5}}while(0);K=~~ax;R=~~ay;do{if((R-K&1|0)==0){aH=R;aI=f}else{Y=R+1|0;ab=(((f-K|0)>(Y-f|0))<<31>>31)+f|0;if((ab-K|0)>=(Y-ab|0)){aH=Y;aI=ab;break}aH=Y;aI=ab+1|0}}while(0);do{if(U){if(QN){aL=N}else{if(Q>=O){aL=Q;break}aL=O}}while(0);if(P>N){aM=N;aN=aK;aO=aJ;aP=aL;break}if(P>=O){aM=P;aN=aK;aO=aJ;aP=aL;break}aM=O;aN=aK;aO=aJ;aP=aL}else{if(QO){aS=O}else{if(Q>=N){aS=Q;break}aS=N}}while(0);if(P>O){aM=O;aN=aR;aO=aQ;aP=aS;break}if(P>=N){aM=P;aN=aR;aO=aQ;aP=aS;break}aM=N;aN=aR;aO=aQ;aP=aS}}while(0);N=+(ar|0);U=~~(N+(aP-O)*aq+.5);f=~~(N+(aM-O)*aq+.5);R=(U|0)<(f|0);ab=R?U:f;Y=R?f:U;U=(ab|0)==(Y|0)&((aO|aN)^1);f=c[k>>2]|0;if((f|0)==1){if((c[z>>2]|0)!=-3){X=11032}}else if((f|0)!=0){X=11032}do{if((X|0)==11032){X=0;cM[c[l>>2]&511](c[m>>2]|0);if((a[n]&1)==0){break}fn(o,d)}}while(0);f=(c[p>>2]|0)+(B<<3)|0;f9(b,f);do{if(!((c[(c[3524]|0)+108>>2]|0)==0|U)){f=c[v>>2]|0;if((f|0)==2|(f|0)==5){aT=(c[y>>2]<<4&65520)+f|0}else if((f|0)==1|(f|0)==4){aT=(c[x>>2]<<4&65520)+f|0}else{aT=0}if(!((aT|0)!=0|aP>aM)){break}if((aT|0)==0){aU=(c[s>>2]|0)==474?0:1601}else{aU=aT}cI[c[w>>2]&63](aU,K,ab,aH-K|0,Y-ab|0);f=c[v>>2]|0;if((f|0)==2|(f|0)==5){aV=y}else if((f|0)==1|(f|0)==4){aV=x}else{break}if((c[aV>>2]<<4&65520|0)==(-f|0)){break}hG(j)}}while(0);cN[c[q>>2]&255](aI,an);cN[c[r>>2]&255](aI,ab);cN[c[q>>2]&255](aI,Y);cN[c[r>>2]&255](aI,as);do{if(!U){f=c[(c[3524]|0)+172>>2]|0;if((f|0)!=0){cM[f&511](0)}f=c[144]|0;cN[c[q>>2]&255](K,~~(+(c[64768+(f*688&-1)>>2]|0)+(aP- +h[64664+(f*688&-1)>>3])*+h[64776+(f*688&-1)>>3]+.5));f=c[144]|0;cN[c[r>>2]&255](aH,~~(+(c[64768+(f*688&-1)>>2]|0)+(aP- +h[64664+(f*688&-1)>>3])*+h[64776+(f*688&-1)>>3]+.5));f=c[144]|0;cN[c[r>>2]&255](aH,~~(+(c[64768+(f*688&-1)>>2]|0)+(aM- +h[64664+(f*688&-1)>>3])*+h[64776+(f*688&-1)>>3]+.5));f=c[144]|0;cN[c[r>>2]&255](K,~~(+(c[64768+(f*688&-1)>>2]|0)+(aM- +h[64664+(f*688&-1)>>3])*+h[64776+(f*688&-1)>>3]+.5));f=c[144]|0;cN[c[r>>2]&255](K,~~(+(c[64768+(f*688&-1)>>2]|0)+(aP- +h[64664+(f*688&-1)>>3])*+h[64776+(f*688&-1)>>3]+.5));f=c[(c[3524]|0)+172>>2]|0;if((f|0)==0){break}cM[f&511](1)}}while(0);do{if((c[s>>2]|0)==474){O=+h[7077];if(O<0.0){aW=0;X=11056;break}aW=~~(+(aH-K|0)*.5-O*+((c[(c[3524]|0)+28>>2]|0)>>>0>>>0));X=11056}else{if((c[t>>2]|0)!=3){break}O=+h[u>>3];if(O<=0.0){aW=0;X=11056;break}aW=~~(+(aH-K|0)*(1.0-O)*.5);X=11056}}while(0);do{if((X|0)==11056){X=0;if(ap){cN[c[q>>2]&255](aW+K|0,as);cN[c[r>>2]&255](aH-aW|0,as)}if(!ao){break}cN[c[q>>2]&255](aW+K|0,an);cN[c[r>>2]&255](aH-aW|0,an)}}while(0);if((c[s>>2]|0)==474){U=c[144]|0;f=~~(+(c[64768+(U*688&-1)>>2]|0)+(+h[(c[i>>2]|0)+(B<<6)+56>>3]- +h[64664+(U*688&-1)>>3])*+h[64776+(U*688&-1)>>3]+.5);cN[c[q>>2]&255](K,f);cN[c[r>>2]&255](aH,f)}do{if(aP>aM){if((c[(c[3524]|0)+108>>2]|0)!=0){break}cN[c[q>>2]&255](aI,ab);cN[c[r>>2]&255](aI,Y);f=(aI+K|0)/2&-1;cN[c[q>>2]&255](f,ab);cN[c[r>>2]&255](f,Y);f=(aH+aI|0)/2&-1;cN[c[q>>2]&255](f,ab);cN[c[r>>2]&255](f,Y)}}while(0);Y=c[i>>2]|0;E=c[Y+(B<<6)>>2]|0;F=Y;G=c[e>>2]|0}}while(0);Y=B+1|0;if((Y|0)<(G|0)){A=E;B=Y;C=F;D=G}else{break}}return}function f3(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,w=0.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,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,ab=0.0,ac=0.0,ad=0.0,ae=0.0,af=0.0,ag=0.0,ah=0,ai=0.0,aj=0,ak=0.0,al=0,am=0,an=0.0,ao=0.0,ap=0,aq=0.0,ar=0.0,as=0.0,at=0.0,au=0,av=0,aw=0.0,ax=0.0,ay=0,az=0.0,aA=0.0,aB=0.0,aC=0,aD=0.0,aE=0.0,aF=0.0,aG=0.0,aH=0.0,aI=0.0,aJ=0.0,aK=0.0,aL=0.0,aM=0.0,aN=0.0,aO=0,aP=0,aQ=0.0,aR=0,aS=0,aT=0,aU=0,aV=0,aW=0,aX=0,aY=0,aZ=0,a_=0,a$=0,a0=0,a1=0,a2=0,a3=0,a4=0.0,a5=0.0,a6=0.0,a7=0.0,a8=0,a9=0,ba=0,bb=0,bc=0,bd=0,be=0,bf=0,bg=0,bh=0,bi=0,bj=0,bk=0,bl=0,bm=0,bn=0,bo=0,bp=0.0,bq=0.0,br=0.0,bs=0.0,bt=0,bu=0,bv=0,bw=0,bx=0,by=0,bz=0.0,bA=0.0,bB=0.0,bC=0.0,bD=0.0,bE=0.0,bF=0.0,bG=0.0,bH=0.0,bI=0.0,bJ=0.0,bK=0.0,bL=0.0,bM=0.0,bN=0.0,bO=0.0,bP=0.0,bQ=0.0,bR=0.0,bS=0.0,bT=0.0,bU=0.0,bV=0.0,bW=0.0,bX=0.0,bY=0.0,bZ=0.0,b_=0,b$=0,b0=0,b1=0.0,b2=0.0,b3=0,b4=0,b5=0.0,b6=0.0,b7=0,b8=0.0,b9=0,ca=0.0,cb=0;e=i;i=i+256|0;f=e|0;g=e+16|0;j=e+32|0;k=e+48|0;l=e+96|0;m=e+192|0;uE(j|0,-1|0,16);n=((c[b+8>>2]|0)-2|0)>>>0<2;if(n){o=c[b+260>>2]|0;p=o+12|0;q=o+8|0}else{p=b+320|0;q=b+300|0}o=c[p>>2]|0;p=c[q>>2]|0;q=c[b+228>>2]|0;if((p|0)<1){uh(-1,207376,(v=i,i=i+1|0,i=i+7>>3<<3,c[v>>2]=0,v)|0);i=e;return}if((p|0)<4){uh(-1,203152,(v=i,i=i+1|0,i=i+7>>3<<3,c[v>>2]=0,v)|0);i=e;return}r=c[200]|0;s=a[64788+(r*688&-1)|0]|0;t=(s&1)==0;L15142:do{if(n){do{if(t){u=c[144]|0;if((a[64788+(u*688&-1)|0]&1)!=0){break}if((a[64788+((c[34]|0)*688&-1)|0]&1)!=0){break}w=+h[64664+(r*688&-1)>>3];x=+h[91];y=+h[96];z=(+h[o+8>>3]-w)*x+y+-1.0;A=+h[64664+(u*688&-1)>>3];B=+h[21];C=+h[68];D=(+h[o+16>>3]-A)*B+C+-1.0;E=+h[5279];F=+h[2];G=+h[12];H=(+h[o+24>>3]-E)*F+G+-1.0;I=+h[403];J=+h[391];K=+h[395];L=+h[399];M=+h[404];N=+h[392];O=+h[396];Q=+h[400];R=+h[406];S=+h[394];T=+h[398];U=+h[402];V=R+z*S+D*T+H*U;W=V==0.0?1.0e-5:V;V=+(c[180]|0);u=c[186]|0;X=+(c[40]|0);Y=c[46]|0;$=p-1|0;ab=y+x*(+h[o+($<<6)+8>>3]-w)+-1.0;w=C+B*(+h[o+($<<6)+16>>3]-A)+-1.0;A=G+F*(+h[o+($<<6)+24>>3]-E)+-1.0;E=R+S*ab+T*w+U*A;U=E==0.0?1.0e-5:E;ac=+(~~(V*((I+J*ab+K*w+L*A)/U))+u|0);ad=+(~~(X*((M+N*ab+O*w+Q*A)/U))+Y|0);ae=+(~~((I+z*J+D*K+H*L)/W*V)+u|0);af=+(~~((M+z*N+D*O+H*Q)/W*X)+Y|0);break L15142}}while(0);uh(-1,198096,(v=i,i=i+1|0,i=i+7>>3<<3,c[v>>2]=0,v)|0);i=e;return}else{do{if(t){if((a[64788+((c[144]|0)*688&-1)|0]&1)!=0){break}Y=p-1|0;ac=+h[o+(Y<<6)+8>>3];ad=+h[o+(Y<<6)+16>>3];ae=+h[o+8>>3];af=+h[o+16>>3];break L15142}}while(0);Y=c[b+304>>2]|0;u=(a[64788+(Y*688&-1)|0]&1)==0;X=+h[o+8>>3];if(u){ag=X}else{ag=+Z(+(X*+h[64800+(Y*688&-1)>>3]))}$=c[b+308>>2]|0;ah=(a[64788+($*688&-1)|0]&1)==0;X=+h[o+16>>3];if(ah){ai=X}else{ai=+Z(+(X*+h[64800+($*688&-1)>>3]))}aj=p-1|0;X=+h[o+(aj<<6)+8>>3];if(u){ak=X}else{ak=+Z(+(X*+h[64800+(Y*688&-1)>>3]))}X=+h[o+(aj<<6)+16>>3];if(ah){ac=ak;ad=X;ae=ag;af=ai;break}ac=ak;ad=+Z(+(X*+h[64800+($*688&-1)>>3]));ae=ag;af=ai}}while(0);ai=af-ad;ag=ac-ae;L15166:do{if((p|0)>1){t=64664+(r*688&-1)|0;ak=+h[91];X=+h[96];$=c[144]|0;ah=64664+($*688&-1)|0;W=+h[21];Q=+h[68];H=+h[5279];O=+h[2];D=+h[12];N=+h[403];z=+h[391];M=+h[395];V=+h[399];L=+h[404];K=+h[392];J=+h[396];I=+h[400];U=+h[406];A=+h[394];w=+h[398];ab=+h[402];E=+(c[180]|0);aj=c[186]|0;T=+(c[40]|0);Y=c[46]|0;u=64788+($*688&-1)|0;$=b+304|0;al=b+308|0;S=ag;R=ai;F=-0.0-(ae*ai+af*ag);am=1;L15168:while(1){L15170:do{if(n){G=(+h[o+(am<<6)+8>>3]- +h[t>>3])*ak+X+-1.0;B=(+h[o+(am<<6)+16>>3]- +h[ah>>3])*W+Q+-1.0;C=(+h[o+(am<<6)+24>>3]-H)*O+D+-1.0;x=U+G*A+B*w+C*ab;y=x==0.0?1.0e-5:x;an=+(~~((N+G*z+B*M+C*V)/y*E)+aj|0);ao=+(~~((L+G*K+B*J+C*I)/y*T)+Y|0)}else{do{if((s&1)==0){if((a[u]&1)!=0){break}an=+h[o+(am<<6)+8>>3];ao=+h[o+(am<<6)+16>>3];break L15170}}while(0);ap=c[$>>2]|0;y=+h[o+(am<<6)+8>>3];if((a[64788+(ap*688&-1)|0]&1)==0){aq=y}else{aq=+Z(+(y*+h[64800+(ap*688&-1)>>3]))}ap=c[al>>2]|0;y=+h[o+(am<<6)+16>>3];if((a[64788+(ap*688&-1)|0]&1)==0){an=aq;ao=y;break}an=aq;ao=+Z(+(y*+h[64800+(ap*688&-1)>>3]))}}while(0);ap=F+(S*ao+R*an)<0.0;do{if((am|0)==1){if(!ap){ar=F;as=R;at=S;break}ar=-0.0-F;as=-0.0-R;at=-0.0-S}else{if(ap){break L15168}else{ar=F;as=R;at=S}}}while(0);ap=am+1|0;if((ap|0)<(p|0)){S=at;R=as;F=ar;am=ap}else{au=11111;break L15166}}if((am|0)==(p|0)){au=11111}else{av=am}}else{au=11111}}while(0);if((au|0)==11111){uh(-1,186832,(v=i,i=i+1|0,i=i+7>>3<<3,c[v>>2]=0,v)|0);av=p}s=(p|0)/(av|0)&-1;if(+(s|0)!=+(p|0)/+(av|0)){uh(-1,181552,(v=i,i=i+16|0,c[v>>2]=p,c[v+8>>2]=av,v)|0);i=e;return}c[j>>2]=0;r=av-1|0;c[j+4>>2]=r;c[j+12>>2]=p-1;al=p-av|0;c[j+8>>2]=al;L15195:do{if(n){$=c[200]|0;ar=(+h[o+(r<<6)+8>>3]- +h[64664+($*688&-1)>>3])*+h[91]+ +h[96]+-1.0;as=(+h[o+(r<<6)+16>>3]- +h[64664+((c[144]|0)*688&-1)>>3])*+h[21]+ +h[68]+-1.0;at=(+h[o+(r<<6)+24>>3]- +h[5279])*+h[2]+ +h[12]+-1.0;an=+h[406]+ar*+h[394]+as*+h[398]+at*+h[402];ao=an==0.0?1.0e-5:an;aw=+(~~((+h[403]+ar*+h[391]+as*+h[395]+at*+h[399])/ao*+(c[180]|0))+(c[186]|0)|0);ax=+(~~((+h[404]+ar*+h[392]+as*+h[396]+at*+h[400])/ao*+(c[40]|0))+(c[46]|0)|0);ay=$}else{$=c[200]|0;do{if((a[64788+($*688&-1)|0]&1)==0){if((a[64788+((c[144]|0)*688&-1)|0]&1)!=0){break}aw=+h[o+(r<<6)+8>>3];ax=+h[o+(r<<6)+16>>3];ay=$;break L15195}}while(0);am=c[b+304>>2]|0;ao=+h[o+(r<<6)+8>>3];if((a[64788+(am*688&-1)|0]&1)==0){az=ao}else{az=+Z(+(ao*+h[64800+(am*688&-1)>>3]))}am=c[b+308>>2]|0;ao=+h[o+(r<<6)+16>>3];if((a[64788+(am*688&-1)|0]&1)==0){aw=az;ax=ao;ay=$;break}aw=az;ax=+Z(+(ao*+h[64800+(am*688&-1)>>3]));ay=$}}while(0);az=+(r|0);ao=(aw-ae)/az;ae=(ax-af)/az;am=s-1|0;af=+(am|0);at=(ac-aw)/af;aw=(ad-ax)/af;if(d){ax=+(r<<1|0);ad=+(am<<1|0);am=b+304|0;d=b+308|0;u=b+23|0;Y=0;do{do{if((a[64788+(ay*688&-1)|0]&1)==0){if((a[64788+((c[144]|0)*688&-1)|0]&1)!=0){au=11127;break}aj=c[j+(Y<<2)>>2]|0;ac=+h[o+(aj<<6)+8>>3];as=+h[o+(aj<<6)+16>>3];aj=c[j+(((5-Y|0)%4&-1)<<2)>>2]|0;ah=c[j+(((Y+2|0)%4&-1)<<2)>>2]|0;aA=ac-(+h[o+(aj<<6)+8>>3]-ac)/ax-(+h[o+(ah<<6)+8>>3]-ac)/ad;aB=as-(+h[o+(aj<<6)+16>>3]-as)/ax-(+h[o+(ah<<6)+16>>3]-as)/ad;aC=c[am>>2]|0}else{au=11127}}while(0);if((au|0)==11127){au=0;$=c[am>>2]|0;ah=(a[64788+($*688&-1)|0]&1)==0;as=+h[o+(Y<<6)+8>>3];if(ah){aD=as}else{aD=+Z(+(as*+h[64800+($*688&-1)>>3]))}aj=c[d>>2]|0;t=(a[64788+(aj*688&-1)|0]&1)==0;ac=+h[o+(Y<<6)+16>>3];if(t){aE=ac}else{aE=+Z(+(ac*+h[64800+(aj*688&-1)>>3]))}ap=(5-Y|0)%4&-1;ar=+h[o+(ap<<6)+8>>3];if(ah){aF=as;aG=ar}else{an=+h[64800+($*688&-1)>>3];aq=+Z(+(ar*an));aF=+Z(+(as*an));aG=aq}aq=+h[o+(ap<<6)+16>>3];if(t){aH=ac;aI=aq}else{an=+h[64800+(aj*688&-1)>>3];ar=+Z(+(aq*an));aH=+Z(+(ac*an));aI=ar}ap=(Y+2|0)%4&-1;ar=+h[o+(ap<<6)+8>>3];if(ah){aJ=as;aK=ar}else{an=+h[64800+($*688&-1)>>3];aq=+Z(+(ar*an));aJ=+Z(+(as*an));aK=aq}aq=+h[o+(ap<<6)+16>>3];if(t){aL=ac;aM=aq}else{an=+h[64800+(aj*688&-1)>>3];as=+Z(+(aq*an));aL=+Z(+(ac*an));aM=as}aA=aD-(aG-aF)/ax-(aK-aJ)/ad;aB=aE-(aI-aH)/ax-(aM-aL)/ad;aC=$}L15235:do{if((aC|0)!=99){if(!(aA>-8.988465674311579e+307&aA<8.988465674311579e+307)){break}if((a[64788+(aC*688&-1)|0]&1)==0){aN=aA}else{if(aA<=0.0){break}as=+_(+aA);aN=as/+h[64800+(aC*688&-1)>>3]}if((a[u]&1)!=0|(aC|0)<0){break}$=64712+(aC*688&-1)|0;if(aN<+h[$>>3]){h[$>>3]=aN;aO=c[am>>2]|0}else{aO=aC}$=64664+(aO*688&-1)|0;do{if(aN<+h[$>>3]){if((c[64648+(aO*688&-1)>>2]&1|0)==0){break L15235}if((c[64728+(aO*688&-1)>>2]&1|0)==0){h[$>>3]=aN;break}as=+h[64736+(aO*688&-1)>>3];if(as>aN){h[$>>3]=as;break L15235}else{h[$>>3]=aN;break}}}while(0);$=c[am>>2]|0;aj=64720+($*688&-1)|0;if(aN>+h[aj>>3]){h[aj>>3]=aN;aP=c[am>>2]|0}else{aP=$}$=64672+(aP*688&-1)|0;if(aN<=+h[$>>3]){break}if((c[64648+(aP*688&-1)>>2]&2|0)==0){break}if((c[64732+(aP*688&-1)>>2]&2|0)==0){h[$>>3]=aN;break}as=+h[64760+(aP*688&-1)>>3];if(as>3]=as;break}else{h[$>>3]=aN;break}}}while(0);$=c[d>>2]|0;L15268:do{if(($|0)!=99){if(!(aB>-8.988465674311579e+307&aB<8.988465674311579e+307)){break}if((a[64788+($*688&-1)|0]&1)==0){aQ=aB}else{if(aB<=0.0){break}as=+_(+aB);aQ=as/+h[64800+($*688&-1)>>3]}if((a[u]&1)!=0|($|0)<0){break}aj=64712+($*688&-1)|0;if(aQ<+h[aj>>3]){h[aj>>3]=aQ;aR=c[d>>2]|0}else{aR=$}aj=64664+(aR*688&-1)|0;do{if(aQ<+h[aj>>3]){if((c[64648+(aR*688&-1)>>2]&1|0)==0){break L15268}if((c[64728+(aR*688&-1)>>2]&1|0)==0){h[aj>>3]=aQ;break}as=+h[64736+(aR*688&-1)>>3];if(as>aQ){h[aj>>3]=as;break L15268}else{h[aj>>3]=aQ;break}}}while(0);aj=c[d>>2]|0;t=64720+(aj*688&-1)|0;if(aQ>+h[t>>3]){h[t>>3]=aQ;aS=c[d>>2]|0}else{aS=aj}aj=64672+(aS*688&-1)|0;if(aQ<=+h[aj>>3]){break}if((c[64648+(aS*688&-1)>>2]&2|0)==0){break}if((c[64732+(aS*688&-1)>>2]&2|0)==0){h[aj>>3]=aQ;break}as=+h[64760+(aS*688&-1)>>3];if(as>3]=as;break}else{h[aj>>3]=aQ;break}}}while(0);Y=Y+1|0;}while((Y|0)<4);i=e;return}aQ=+P(+ao);aB=+P(+at);do{if(aQ>>0<2){if((c[(c[3524]|0)+144>>2]|0)!=0){break}i=e;return}}while(0);if(!d){aV=aU;aW=0;aX=aS;aY=ay;break}aV=(c[(c[3524]|0)+96>>2]&512|0)==0|aU;aW=1;aX=aS;aY=ay}}while(0);ay=(a[64788+(aY*688&-1)|0]&1)==0;if(ay){if((a[64788+((c[144]|0)*688&-1)|0]&1)==0){aZ=aV}else{au=11205}}else{au=11205}if((au|0)==11205){aZ=1}aV=c[64652+(aY*688&-1)>>2]|0;if((aV&1|0)==0){a_=64680+(aY*688&-1)|0}else{a_=64664+(aY*688&-1)|0}aN=+h[a_>>3];if((aV&2|0)==0){a$=64688+(aY*688&-1)|0}else{a$=64672+(aY*688&-1)|0}aA=+h[a$>>3];a$=c[144]|0;aV=c[64652+(a$*688&-1)>>2]|0;if((aV&1|0)==0){a0=64680+(a$*688&-1)|0}else{a0=64664+(a$*688&-1)|0}ad=+h[a0>>3];if((aV&2|0)==0){a1=64688+(a$*688&-1)|0}else{a1=64672+(a$*688&-1)|0}aL=+h[a1>>3];if(n){a1=c[34]|0;aV=c[64652+(a1*688&-1)>>2]|0;if((aV&1|0)==0){a2=64680+(a1*688&-1)|0}else{a2=64664+(a1*688&-1)|0}if((aV&2|0)==0){a3=64688+(a1*688&-1)|0}else{a3=64672+(a1*688&-1)|0}a4=+h[a3>>3];a5=+h[a2>>3]}else{a4=0.0;a5=0.0}do{if(aT){if((c[(c[3524]|0)+152>>2]|0)==0|aZ){break}if(n){a6=1.0;a7=1.0}else{a6=+h[64776+(aY*688&-1)>>3]>0.0?1.0:-1.0;a7=+h[64776+(a$*688&-1)>>3]>0.0?1.0:-1.0}if(aQ>aB){a2=aw*a7>0.0;a3=ao*a6>0.0;a1=aa(a2?s:1,av)-(a3?av:1)|0;aV=-av|0;a8=av;a9=a3?1:-1;ba=(a3?aV:av)+(a2?aV:av)|0;bb=a1;bc=aa(s,av)}else{a1=at*a6>0.0;aV=ae*a7>0.0;a2=aa(a1?1:s,av)-(aV?1:av)|0;a3=aa(s,av);a8=s;a9=a1?av:-av|0;ba=aa(a3,a1?-1:1)+(aV?-1:1)|0;bb=a2;bc=a3}if(aX){bd=bc*3&-1}else{bd=aW?bc<<2:bc}a3=bd<<3;a2=ut(a3)|0;do{if((a2|0)==0){gk();aV=ut(a3)|0;if((aV|0)!=0){be=aV;break}uf(-1,225296,(v=i,i=i+8|0,c[v>>2]=177456,v)|0)}else{be=a2}}while(0);a2=be;aM=+h[o+8>>3];ax=((aM- +h[o+(r<<6)+8>>3])/az+(aM- +h[o+(al<<6)+8>>3])/af)*.5;aM=+h[o+16>>3];aH=((aM- +h[o+(r<<6)+16>>3])/az+(aM- +h[o+(al<<6)+16>>3])/af)*.5;aM=+h[o+24>>3];aI=((aM- +h[o+(r<<6)+24>>3])/az+(aM- +h[o+(al<<6)+24>>3])/af)*.5;do{if((p|0)>0){a3=aN>3];aE=+h[o+(a_<<6)+16>>3];aJ=+h[o+(a_<<6)+24>>3];aK=aM-ax;aF=ax+aM;aM=aE-aH;aG=aH+aE;aE=aJ-aI;aD=aI+aJ;do{if(a3){if(!(aKaA)){au=11246;break}if(aFaA){au=11257}else{au=11246}}else{if(!(aKaN)){au=11246;break}if(aFaN){au=11257}else{au=11246}}}while(0);L15382:do{if((au|0)==11246){au=0;do{if(aS){if(!(aMaL)){break}if(aGaL){au=11257;break L15382}}else{if(!(aMad)){break}if(aGad){au=11257;break L15382}}}while(0);if(!n){au=11273;break}if(d){if(!(aEa4)){au=11273;break}if(aDa4){au=11257;break}else{au=11273;break}}else{if(!(aEa5)){au=11273;break}if(aDa5){au=11257;break}else{au=11273;break}}}}while(0);L15396:do{if((au|0)==11257){au=0;do{if(aKaF)){break}if(aAaF){bf=aP;bg=u;bh=aR;bi=aU;bj=a0;bk=a1;break L15396}}else{if(!(aNaK)){break}if(aAaK){bf=aP;bg=u;bh=aR;bi=aU;bj=a0;bk=a1;break L15396}}}while(0);do{if(aMaG)){break}if(aLaG){bf=aP;bg=u;bh=aR;bi=aU;bj=a0;bk=a1;break L15396}}else{if(!(adaM)){break}if(aLaM){bf=aP;bg=u;bh=aR;bi=aU;bj=a0;bk=a1;break L15396}}}while(0);if(!n){au=11273;break}if(aEaD)){au=11273;break}if(a4aD){bf=aP;bg=u;bh=aR;bi=aU;bj=a0;bk=a1;break}else{au=11273;break}}else{if(!(a5aE)){au=11273;break}if(a4aE){bf=aP;bg=u;bh=aR;bi=aU;bj=a0;bk=a1;break}else{au=11273;break}}}}while(0);do{if((au|0)==11273){au=0;if((aP|0)<0){bl=a_;bm=1;bn=1;bo=0}else{aO=((u|0)==0&1)+a0|0;aC=u+1|0;if((aO|0)!=1&(aC|0)>(a1|0)){au=11275;break L15375}else{bl=aP;bm=aC;bn=aO;bo=a1}}if(Y){aE=+h[o+(a_<<6)+32>>3];aD=+h[8341];do{if(aD>3]=bp;bf=bl;bg=bm;bh=a_;bi=aU+1|0;bj=bn;bk=bo;break}aD=+h[o+(a_<<6)+40>>3];aE=+h[8341];do{if(aE>3]=bq;aE=+h[o+(a_<<6)+48>>3];aD=+h[8341];do{if(aD>3]=br;aD=+h[o+(a_<<6)+56>>3];aE=+h[8341];do{if(aE>3]=bs;if(!aW){bf=bl;bg=bm;bh=a_;bi=aO;bj=bn;bk=bo;break}h[a2+(aO<<3)>>3]=+h[o+(a_<<6)+32>>3];bf=bl;bg=bm;bh=a_;bi=aU+4|0;bj=bn;bk=bo}}while(0);aO=a_+a9|0;j=aV-1|0;if((j|0)==0){if((bk|0)==0){bt=bg}else{if((bg|0)<1|(bg|0)==(bk|0)){bt=bk}else{au=11307;break}}bu=0;bv=aO+ba|0;bw=bt;bx=a8}else{bu=bg;bv=aO;bw=bk;bx=j}j=am+1|0;if((j|0)<(p|0)){aV=bx;a1=bw;a0=bj;a_=bv;aU=bi;aR=bh;u=bu;aP=bf;am=j}else{au=11310;break}}if((au|0)==11307){uh(-1,169296,(v=i,i=i+1|0,i=i+7>>3<<3,c[v>>2]=0,v)|0);i=e;return}else if((au|0)==11310){if(!((bw|0)>0&(bj|0)>0)){break}if(n){aE=+h[64664+((c[200]|0)*688&-1)>>3];aD=+h[91];aM=+h[96];aG=(+h[o+(bf<<6)+8>>3]-aE)*aD+aM+-1.0;aK=+h[64664+((c[144]|0)*688&-1)>>3];aF=+h[21];aJ=+h[68];as=(+h[o+(bf<<6)+16>>3]-aK)*aF+aJ+-1.0;an=+h[5279];ac=+h[2];aq=+h[12];ar=(+h[o+(bf<<6)+24>>3]-an)*ac+aq+-1.0;ag=+h[403];ai=+h[391];F=+h[395];R=+h[399];S=+h[404];T=+h[392];I=+h[396];J=+h[400];K=+h[406];L=+h[394];E=+h[398];V=+h[402];M=K+aG*L+as*E+ar*V;z=M==0.0?1.0e-5:M;M=+(c[180]|0);am=c[186]|0;N=+(c[40]|0);aP=c[46]|0;ab=+P(+(ao+at))*.5;c[k>>2]=~~(+(~~((ag+aG*ai+as*F+ar*R)/z*M)+am|0)-ab);w=+P(+(ae+aw))*.5;c[k+4>>2]=~~(w+ +(~~((S+aG*T+as*I+ar*J)/z*N)+aP|0));z=(+h[o+(bh<<6)+8>>3]-aE)*aD+aM+-1.0;ar=(+h[o+(bh<<6)+16>>3]-aK)*aF+aJ+-1.0;as=(+h[o+(bh<<6)+24>>3]-an)*ac+aq+-1.0;aG=K+z*L+ar*E+as*V;A=aG==0.0?1.0e-5:aG;c[k+12>>2]=~~(ab+ +(~~((ag+z*ai+ar*F+as*R)/A*M)+am|0));c[k+16>>2]=~~(+(~~((S+z*T+ar*I+as*J)/A*N)+aP|0)-w);w=(aN-aE)*aD+aM+-1.0;A=(ad-aK)*aF+aJ+-1.0;as=(a5-an)*ac+aq+-1.0;ar=K+w*L+A*E+as*V;z=ar==0.0?1.0e-5:ar;c[k+24>>2]=~~((ag+w*ai+A*F+as*R)/z*M)+am;c[k+28>>2]=~~((S+w*T+A*I+as*J)/z*N)+aP;z=(aA-aE)*aD+aM+-1.0;aM=(aL-aK)*aF+aJ+-1.0;aJ=(a4-an)*ac+aq+-1.0;aq=K+z*L+aM*E+aJ*V;V=aq==0.0?1.0e-5:aq;c[k+36>>2]=~~((ag+z*ai+aM*F+aJ*R)/V*M)+am;c[k+40>>2]=~~((S+z*T+aM*I+aJ*J)/V*N)+aP}else{aP=c[200]|0;N=+(c[64768+(aP*688&-1)>>2]|0);V=+h[o+(bf<<6)+8>>3];J=a6*+P(+ax);aJ=+h[64664+(aP*688&-1)>>3];I=+h[64776+(aP*688&-1)>>3];c[k>>2]=~~(N+I*(V-J-aJ)+.5);aP=c[144]|0;V=+(c[64768+(aP*688&-1)>>2]|0);aM=+h[o+(bf<<6)+16>>3];T=a7*+P(+aH);z=+h[64664+(aP*688&-1)>>3];S=+h[64776+(aP*688&-1)>>3];c[k+4>>2]=~~(V+S*(aM+T-z)+.5);c[k+12>>2]=~~(N+(J+ +h[o+(bh<<6)+8>>3]-aJ)*I+.5);c[k+16>>2]=~~(V+(+h[o+(bh<<6)+16>>3]-T-z)*S+.5);c[k+24>>2]=~~(N+(aN-aJ)*I+.5);c[k+28>>2]=~~(V+(aL-z)*S+.5);c[k+36>>2]=~~(N+(aA-aJ)*I+.5);c[k+40>>2]=~~(V+(ad-z)*S+.5)}cI[c[(c[3524]|0)+152>>2]&63](bw,bj,a2,k|0,q);break}else if((au|0)==11275){uh(-1,172960,(v=i,i=i+1|0,i=i+7>>3<<3,c[v>>2]=0,v)|0);i=e;return}}}while(0);uu(be);i=e;return}}while(0);if(ay){by=(a[64788+(a$*688&-1)|0]&1)!=0}else{by=1}if((c[(c[3524]|0)+148>>2]|0)==0){uf(-1,156360,(v=i,i=i+1|0,i=i+7>>3<<3,c[v>>2]=0,v)|0)}if(by){a$=c[b+304>>2]|0;ay=(a[64788+(a$*688&-1)|0]&1)==0;a7=+h[o+(r<<6)+8>>3];if(ay){a6=+h[o+8>>3];bz=a6;bA=a7;bB=a6}else{a6=+h[64800+(a$*688&-1)>>3];aw=+Z(+(a7*a6));a7=+h[o+8>>3];bz=+Z(+(a7*a6));bA=aw;bB=a7}be=c[b+308>>2]|0;q=(a[64788+(be*688&-1)|0]&1)==0;a7=+h[o+(r<<6)+16>>3];if(q){aw=+h[o+16>>3];bC=aw;bD=a7;bE=aw}else{aw=+h[64800+(be*688&-1)>>3];a6=+Z(+(a7*aw));a7=+h[o+16>>3];bC=+Z(+(a7*aw));bD=a6;bE=a7}k=c[b+312>>2]|0;bj=(a[64788+(k*688&-1)|0]&1)==0;a7=+h[o+(r<<6)+24>>3];if(bj){a6=+h[o+24>>3];bF=a6;bG=a7;bH=a6}else{a6=+h[64800+(k*688&-1)>>3];aw=+Z(+(a7*a6));a7=+h[o+24>>3];bF=+Z(+(a7*a6));bG=aw;bH=a7}a7=+h[o+(al<<6)+8>>3];if(ay){bI=bB;bJ=a7}else{aw=+h[64800+(a$*688&-1)>>3];a6=+Z(+(a7*aw));bI=+Z(+(bB*aw));bJ=a6}a6=+h[o+(al<<6)+16>>3];if(q){bK=bE;bL=a6}else{aw=+h[64800+(be*688&-1)>>3];bB=+Z(+(a6*aw));bK=+Z(+(bE*aw));bL=bB}bB=+h[o+(al<<6)+24>>3];if(bj){bM=bH;bN=bB}else{aw=+h[64800+(k*688&-1)>>3];bE=+Z(+(bB*aw));bM=+Z(+(bH*aw));bN=bE}bO=bA-bz;bP=bD-bC;bQ=bG-bF;bR=bJ-bI;bS=bL-bK;bT=bN-bM}else{bM=+h[o+8>>3];bN=+h[o+16>>3];bK=+h[o+24>>3];bO=+h[o+(r<<6)+8>>3]-bM;bP=+h[o+(r<<6)+16>>3]-bN;bQ=+h[o+(r<<6)+24>>3]-bK;bR=+h[o+(al<<6)+8>>3]-bM;bS=+h[o+(al<<6)+16>>3]-bN;bT=+h[o+(al<<6)+24>>3]-bK}bK=bO/az;bO=bP/az;bP=bQ/az;az=bR/af;bR=bS/af;bS=bT/af;af=(bK+az)*.5;bT=(bO+bR)*.5;bQ=(bP+bS)*.5;bN=(bK-az)*.5;bM=(bO-bR)*.5;bL=(bP-bS)*.5;if((s|0)<=0){i=e;return}al=b+304|0;r=o+8|0;k=b+308|0;bj=o+16|0;be=b+312|0;b=o+24|0;q=(av|0)>0;a$=l|0;ay=l+8|0;bw=l+16|0;bh=l+24|0;bf=l+32|0;bu=l+40|0;bi=l+48|0;bv=l+56|0;bx=l+64|0;p=l+72|0;bk=l+80|0;bg=l+88|0;a8=aN>2]|0;bI=+h[r>>3];if((a[64788+(aR*688&-1)|0]&1)==0){bU=bI}else{bU=+Z(+(bI*+h[64800+(aR*688&-1)>>3]))}bI=+(am|0);aR=c[k>>2]|0;bJ=+h[bj>>3];if((a[64788+(aR*688&-1)|0]&1)==0){bV=bJ}else{bV=+Z(+(bJ*+h[64800+(aR*688&-1)>>3]))}aR=c[be>>2]|0;bJ=+h[b>>3];if((a[64788+(aR*688&-1)|0]&1)==0){bW=bJ}else{bW=+Z(+(bJ*+h[64800+(aR*688&-1)>>3]))}bX=bS*bI+bW;bY=bR*bI+bV;bZ=az*bI+bU}else{bI=+(am|0);bX=bS*bI+ +h[b>>3];bY=bR*bI+ +h[bj>>3];bZ=az*bI+ +h[r>>3]}if(q){aR=u;aU=0;while(1){do{if(aW){bI=+h[o+(aR<<6)+32>>3];if(bI==0.0){break}if(bI>=128.0){au=11354;break}if((c[(c[3524]|0)+96>>2]&512|0)!=0){au=11354}}else{au=11354}}while(0);L15534:do{if((au|0)==11354){au=0;bI=+(aU|0);bJ=bZ+bK*bI;bF=bY+bO*bI;bG=bX+bP*bI;bI=af+bJ;h[a$>>3]=bI;h[ay>>3]=bT+bF;h[bw>>3]=bQ+bG;h[bh>>3]=bN+bJ;h[bf>>3]=bM+bF;h[bu>>3]=bL+bG;h[bi>>3]=bJ-af;h[bv>>3]=bF-bT;h[bx>>3]=bG-bQ;h[p>>3]=bJ-bN;h[bk>>3]=bF-bM;h[bg>>3]=bG-bL;a_=(c[5094]|0)!=0|a9;a0=0;a1=0;bG=bI;while(1){if(a8){if(bGaA){b_=a0}else{au=11358}}else{if(bGaN){b_=a0}else{au=11358}}do{if((au|0)==11358){au=0;bI=+h[l+(a1*24&-1)+8>>3];if(bt){if(bIaL){b_=a0;break}}else{if(bIad){b_=a0;break}}bI=+h[l+(a1*24&-1)+16>>3];if(ba){if(!(bI<=a4&bI>=a5|a_)){b_=a0;break}}else{if(!(bI<=a5&bI>=a4|a_)){b_=a0;break}}b_=a0+1|0}}while(0);aC=a1+1|0;if((aC|0)>=4){break}a0=b_;a1=aC;bG=+h[l+(aC*24&-1)>>3]}if((b_|0)<=0){break}c[bn>>2]=3;a1=(b_|0)<4;a0=0;do{do{if(n){bG=(+h[l+(a0*24&-1)>>3]- +h[64664+((c[200]|0)*688&-1)>>3])*+h[91]+ +h[96]+-1.0;bI=(+h[l+(a0*24&-1)+8>>3]- +h[64664+((c[144]|0)*688&-1)>>3])*+h[21]+ +h[68]+-1.0;bF=(+h[l+(a0*24&-1)+16>>3]- +h[5279])*+h[2]+ +h[12]+-1.0;bJ=+h[406]+bG*+h[394]+bI*+h[398]+bF*+h[402];bC=bJ==0.0?1.0e-5:bJ;a_=~~((+h[403]+bG*+h[391]+bI*+h[395]+bF*+h[399])/bC*+(c[180]|0))+(c[186]|0)|0;aC=~~((+h[404]+bG*+h[392]+bI*+h[396]+bF*+h[400])/bC*+(c[40]|0))+(c[46]|0)|0;c[m+(a0*12&-1)>>2]=a_;c[m+(a0*12&-1)+4>>2]=aC;b$=a_;b0=aC}else{aC=c[200]|0;bC=+(c[64768+(aC*688&-1)>>2]|0);if(!by){a_=~~(bC+(+h[l+(a0*24&-1)>>3]- +h[64664+(aC*688&-1)>>3])*+h[64776+(aC*688&-1)>>3]+.5);c[m+(a0*12&-1)>>2]=a_;aV=c[144]|0;d=~~(+(c[64768+(aV*688&-1)>>2]|0)+(+h[l+(a0*24&-1)+8>>3]- +h[64664+(aV*688&-1)>>3])*+h[64776+(aV*688&-1)>>3]+.5);c[m+(a0*12&-1)+4>>2]=d;b$=a_;b0=d;break}bF=+h[l+(a0*24&-1)>>3];if((a[64788+(aC*688&-1)|0]&1)==0){b1=bF}else{bI=+_(+bF);b1=bI/+h[64800+(aC*688&-1)>>3]}d=~~(bC+(b1- +h[64664+(aC*688&-1)>>3])*+h[64776+(aC*688&-1)>>3]+.5);c[m+(a0*12&-1)>>2]=d;aC=c[144]|0;bC=+(c[64768+(aC*688&-1)>>2]|0);bI=+h[l+(a0*24&-1)+8>>3];if((a[64788+(aC*688&-1)|0]&1)==0){b2=bI}else{bF=+_(+bI);b2=bF/+h[64800+(aC*688&-1)>>3]}a_=~~(bC+(b2- +h[64664+(aC*688&-1)>>3])*+h[64776+(aC*688&-1)>>3]+.5);c[m+(a0*12&-1)+4>>2]=a_;b$=d;b0=a_}}while(0);do{if(aT){if(!((c[(c[3524]|0)+108>>2]|0)!=0&a1)){break}a_=m+(a0*12&-1)|0;d=c[13542]|0;aC=c[d>>2]|0;if((b$|0)<(aC|0)){c[a_>>2]=aC;b3=aC}else{b3=b$}aC=c[d+4>>2]|0;if((b3|0)>(aC|0)){c[a_>>2]=aC}aC=m+(a0*12&-1)+4|0;a_=c[d+12>>2]|0;if((b0|0)>(a_|0)){c[aC>>2]=a_;b4=a_}else{b4=b0}a_=c[d+8>>2]|0;if((b4|0)>=(a_|0)){break}c[aC>>2]=a_}}while(0);a0=a0+1|0;}while((a0|0)<4);do{if(Y){if((c[o+(aR<<6)>>2]|0)==2){break L15534}a0=o+(aR<<6)+32|0;if((cg(+(+h[a0>>3]))|0)==0){break L15534}bC=+h[a0>>3];bF=+h[8341];do{if(bF>2]|0)==0){break}c[bm>>2]=5;h[bl>>3]=b5;c[bb>>2]=0;cM[c[a0>>2]&511](f)}else{bF=+h[o+(aR<<6)+40>>3];bC=+h[8341];do{if(bC>24==112&1|0);b7=a0;break}bI=(bF-bC)/(bG-bC);a0=a[20668]|0;if(a0<<24>>24==112){b6=bI;b7=112;break}b6=1.0-bI;b7=a0}else{a0=a[20668]|0;b6=+(a0<<24>>24!=112&1|0);b7=a0}}while(0);a0=~~(b6*255.0+.5);bF=+h[o+(aR<<6)+48>>3];do{if(bC>24==112&1|0);b9=b7;break}bG=(bF-bC)/(bI-bC);if(b7<<24>>24==112){b8=bG;b9=112;break}b8=1.0-bG;b9=b7}else{b8=+(b7<<24>>24!=112&1|0);b9=b7}}while(0);a1=~~(b8*255.0+.5);bF=+h[o+(aR<<6)+56>>3];do{if(bC>24==112&1|0);break}bI=(bF-bC)/(bG-bC);if(b9<<24>>24==112){ca=bI;break}ca=1.0-bI}else{ca=+(b9<<24>>24!=112&1|0)}}while(0);a_=(c[3524]|0)+144|0;if((c[a_>>2]|0)==0){break}c[aZ>>2]=3;c[a2>>2]=((a1<<8)+(a0<<16)|0)+~~(ca*255.0+.5);h[aP>>3]=0.0;cM[c[a_>>2]&511](g)}}while(0);do{if(aW){a_=~~(+h[o+(aR<<6)+32>>3]*100.0/255.0);if((a_|0)==0){break L15534}if((c[(c[3524]|0)+96>>2]&512|0)==0){break}c[bn>>2]=a_<<4|4}}while(0);a_=c[3524]|0;do{if(aT){aC=c[a_+108>>2]|0;if((aC|0)==0){break}d=c[bd>>2]|0;aV=c[bc>>2]|0;aS=c[aX>>2]|0;a3=c[aY>>2]|0;j=aV-d|0;aO=a3-aS|0;cI[aC&63](c[bn>>2]|0,(d|0)<(aV|0)?d:aV,(aS|0)<(a3|0)?aS:a3,(j|0)>-1?j:-j|0,(aO|0)>-1?aO:-aO|0);break L15534}}while(0);cN[c[a_+148>>2]&255](4,bo)}}while(0);aO=aU+1|0;if((aO|0)<(av|0)){aR=aR+1|0;aU=aO}else{break}}cb=av+u|0}else{cb=u}aU=am+1|0;if((aU|0)<(s|0)){am=aU;u=cb}else{break}}i=e;return}function f4(a,b){a=a|0;b=b|0;var d=0,e=0.0,f=0.0,g=0;d=c[(c[9732]|0)+320>>2]|0;e=+h[d+(c[a>>2]<<6)+8>>3];f=+h[d+(c[b>>2]<<6)+8>>3];if(ef&1;return g|0}function f5(a,b){a=a|0;b=b|0;var c=0.0,d=0.0,e=0;c=+h[a+16>>3];d=+h[b+16>>3];if(c>d){e=1;return e|0}e=(c>31;return e|0}function f6(b,d,e,f,g){b=b|0;d=+d;e=e|0;f=f|0;g=g|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0.0,v=0,w=0,x=0.0,y=0.0,z=0,A=0,B=0,C=0,D=0.0,E=0.0,F=0.0,G=0,H=0,I=0,J=0.0,K=0.0,L=0,M=0.0,N=0.0,O=0.0,P=0.0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0;j=i;i=i+96|0;k=f;f=i;i=i+56|0;uD(f,k,56);k=j|0;l=j+16|0;m=j+32|0;n=j+40|0;o=j+48|0;p=j+56|0;q=j+64|0;r=j+80|0;s=j+88|0;t=c[3524]|0;u=+(aa(c[t+24>>2]|0,c[1400]|0)|0);if((e|0)==0){v=65064+(b*688&-1)|0}else{v=65056+(b*688&-1)|0}w=~~(u*+h[v>>3]);v=c[200]|0;u=+(c[64768+(v*688&-1)>>2]|0);x=+h[64664+(v*688&-1)>>3];y=+h[64776+(v*688&-1)>>3];v=~~(u+(d-x)*y+.5);L15653:do{if((g|0)==0){z=e}else{A=(a[64788+(b*688&-1)|0]&1)==0;B=64800+(b*688&-1)|0;C=g;while(1){D=+h[C>>3];if(A){E=D}else{F=+_(+D);E=F/+h[B>>3]}G=~~(u+(E-x)*y+.5)-v|0;if((((G|0)>-1?G:-G|0)|0)<3){z=0;break L15653}G=c[C+16>>2]|0;if((G|0)==0){z=e;break}else{C=G}}}}while(0);e=c[f+4>>2]|0;if((e|0)>-3){g=t+168|0;cM[c[g>>2]&511](3);C=q;B=f+40|0;c[C>>2]=c[B>>2];c[C+4>>2]=c[B+4>>2];c[C+8>>2]=c[B+8>>2];c[C+12>>2]=c[B+12>>2];do{if((c[f>>2]|0)!=0){y=+h[f+24>>3];B=c[(c[3524]|0)+92>>2]|0;if(y<0.0){cK[B&63](+h[3817]);break}else{cK[B&63](y);break}}}while(0);cK[c[(c[3524]|0)+112>>2]&63](+h[f+16>>3]);B=c[(c[3524]|0)+64>>2]|0;if((e|0)<-5){cM[B&511](-2)}else{cM[B&511](e)}B=c[3524]|0;do{if((a[f+32|0]&1)==0){if((c[B+96>>2]&1024|0)!=0){break}c[q>>2]=1;c[q+4>>2]=e;H=11474}else{H=11474}}while(0);if((H|0)==11474){fn(q,B)}L15680:do{if(+h[3815]!=0.0){B=c[200]|0;q=c[64768+(B*688&-1)>>2]|0;y=+h[64664+(B*688&-1)>>3];x=+h[64776+(B*688&-1)>>3];B=~~(+(q|0)+(d-y)*x+.5);e=c[144]|0;f=c[64768+(e*688&-1)>>2]|0;E=+h[64664+(e*688&-1)>>3];u=+h[64776+(e*688&-1)>>3];e=~~(+(f|0)+(0.0-E)*u+.5);F=+h[4483];do{if(F=D){break}h[4483]=D}}while(0);C=2;A=B;G=e;F=0.0;D=d;I=q;J=y;K=x;L=f;M=E;N=u;while(1){O=D*.9950041652780258-F*.09983341664682815;P=F*.9950041652780258+D*.09983341664682815;Q=~~(+(I|0)+(O-J)*K+.5);R=~~(+(L|0)+(P-M)*N+.5);c[m>>2]=A;c[n>>2]=G;c[o>>2]=Q;c[p>>2]=R;S=c[3524]|0;if((fl(m,n,o,p)|0)!=0){cN[c[S+56>>2]&255](c[m>>2]|0,c[n>>2]|0);cN[c[S+60>>2]&255](c[o>>2]|0,c[p>>2]|0)}if((C|0)>=64){break L15680}S=c[200]|0;T=c[144]|0;C=C+1|0;A=Q;G=R;F=P;D=O;I=c[64768+(S*688&-1)>>2]|0;J=+h[64664+(S*688&-1)>>3];K=+h[64776+(S*688&-1)>>3];L=c[64768+(T*688&-1)>>2]|0;M=+h[64664+(T*688&-1)>>3];N=+h[64776+(T*688&-1)>>3]}}else{do{if((a[35184]&1)!=0&(v|0)<(c[9335]|0)&(v|0)>(c[9334]|0)){L=c[9337]|0;I=c[7940]|0;if((L|0)<=(I|0)){U=I;break}G=c[9336]|0;A=c[7941]|0;if((G|0)>=(A|0)){U=I;break}if((G|0)>(I|0)){cN[c[t+56>>2]&255](v,I);cN[c[t+60>>2]&255](v,c[9336]|0);V=c[9337]|0;W=c[7941]|0}else{V=L;W=A}if((V|0)>=(W|0)){break L15680}cN[c[t+56>>2]&255](v,V);cN[c[t+60>>2]&255](v,c[7941]|0);break L15680}else{U=c[7940]|0}}while(0);cN[c[t+56>>2]&255](v,U);cN[c[t+60>>2]&255](v,c[7941]|0)}}while(0);U=l;c[U>>2]=c[14084];c[U+4>>2]=c[56340>>2];c[U+8>>2]=c[56344>>2];c[U+12>>2]=c[56348>>2];U=c[14075]|0;do{if((c[14074]|0)!=0){d=+h[7040];V=c[(c[3524]|0)+92>>2]|0;if(d<0.0){cK[V&63](+h[3817]);break}else{cK[V&63](d);break}}}while(0);cK[c[(c[3524]|0)+112>>2]&63](+h[7039]);V=c[(c[3524]|0)+64>>2]|0;if((U|0)<-5){cM[V&511](-2)}else{cM[V&511](U)}V=c[3524]|0;do{if((a[56328]&1)==0){if((c[V+96>>2]&1024|0)!=0){break}c[l>>2]=1;c[l+4>>2]=U;H=11504}else{H=11504}}while(0);if((H|0)==11504){fn(l,V)}cM[c[g>>2]&511](4)}g=t+56|0;cN[c[g>>2]&255](v,c[1394]|0);V=t+60|0;cN[c[V>>2]&255](v,(c[1394]|0)+w|0);l=c[1396]|0;if((l|0)>-1){cN[c[g>>2]&255](v,l);cN[c[V>>2]&255](v,(c[1396]|0)-w|0)}if((z|0)==0){i=j;return}fN(64984+(b*688&-1)|0,r,s,99744);w=64928+(b*688&-1)|0;if((c[w>>2]|0)!=0){fn(w,t)}ln(~~+h[r>>3]+v|0,~~+h[s>>3]+(c[1392]|0)|0,z,c[1398]|0,c[1384]|0,c[6586]|0,c[64924+(b*688&-1)>>2]|0);b=k;c[b>>2]=c[14084];c[b+4>>2]=c[56340>>2];c[b+8>>2]=c[56344>>2];c[b+12>>2]=c[56348>>2];b=c[14075]|0;do{if((c[14074]|0)!=0){d=+h[7040];z=c[(c[3524]|0)+92>>2]|0;if(d<0.0){cK[z&63](+h[3817]);break}else{cK[z&63](d);break}}}while(0);cK[c[(c[3524]|0)+112>>2]&63](+h[7039]);z=c[(c[3524]|0)+64>>2]|0;if((b|0)<-5){cM[z&511](-2)}else{cM[z&511](b)}z=c[3524]|0;do{if((a[56328]&1)==0){if((c[z+96>>2]&1024|0)==0){c[k>>2]=1;c[k+4>>2]=b;break}else{i=j;return}}}while(0);fn(k,z);i=j;return}function f7(b,d,e,f,g){b=b|0;d=+d;e=e|0;f=f|0;g=g|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0.0,v=0,w=0,x=0.0,y=0.0,z=0,A=0,B=0,C=0,D=0.0,E=0.0,F=0.0,G=0,H=0,I=0.0,J=0.0,K=0,L=0,M=0,N=0;j=i;i=i+96|0;k=f;f=i;i=i+56|0;uD(f,k,56);k=j|0;l=j+16|0;m=j+32|0;n=j+40|0;o=j+48|0;p=j+56|0;q=j+64|0;r=j+80|0;s=j+88|0;t=c[3524]|0;u=+(aa(c[t+28>>2]|0,c[1400]|0)|0);if((e|0)==0){v=65064+(b*688&-1)|0}else{v=65056+(b*688&-1)|0}w=~~(u*+h[v>>3]);v=c[144]|0;u=+(c[64768+(v*688&-1)>>2]|0);x=+h[64664+(v*688&-1)>>3];y=+h[64776+(v*688&-1)>>3];v=~~(u+(d-x)*y+.5);L15753:do{if((g|0)==0){z=e}else{A=(a[64788+(b*688&-1)|0]&1)==0;B=64800+(b*688&-1)|0;C=g;while(1){D=+h[C>>3];if(A){E=D}else{F=+_(+D);E=F/+h[B>>3]}G=~~(u+(E-x)*y+.5)-v|0;if((((G|0)>-1?G:-G|0)|0)<3){z=0;break L15753}G=c[C+16>>2]|0;if((G|0)==0){z=e;break}else{C=G}}}}while(0);e=c[f+4>>2]|0;if((e|0)>-3){g=t+168|0;cM[c[g>>2]&511](3);C=q;B=f+40|0;c[C>>2]=c[B>>2];c[C+4>>2]=c[B+4>>2];c[C+8>>2]=c[B+8>>2];c[C+12>>2]=c[B+12>>2];do{if((c[f>>2]|0)!=0){y=+h[f+24>>3];B=c[(c[3524]|0)+92>>2]|0;if(y<0.0){cK[B&63](+h[3817]);break}else{cK[B&63](y);break}}}while(0);cK[c[(c[3524]|0)+112>>2]&63](+h[f+16>>3]);B=c[(c[3524]|0)+64>>2]|0;if((e|0)<-5){cM[B&511](-2)}else{cM[B&511](e)}B=c[3524]|0;do{if((a[f+32|0]&1)==0){if((c[B+96>>2]&1024|0)!=0){break}c[q>>2]=1;c[q+4>>2]=e;H=11546}else{H=11546}}while(0);if((H|0)==11546){fn(q,B)}L15780:do{if(+h[3815]!=0.0){y=+h[4483];do{if(y=x){break}h[4483]=x}}while(0);B=c[200]|0;q=c[64768+(B*688&-1)>>2]|0;y=+h[64664+(B*688&-1)>>3];x=+h[64776+(B*688&-1)>>3];B=~~(+(q|0)+(0.0-y)*x+.5);e=c[144]|0;f=c[64768+(e*688&-1)>>2]|0;E=+h[64664+(e*688&-1)>>3];u=+h[64776+(e*688&-1)>>3];e=~~(+(f|0)+(d-E)*u+.5);c[8490]=B;c[8488]=e;F=d;D=0.0;C=2;A=B;B=e;e=q;I=y;y=x;q=f;x=E;E=u;while(1){u=D*.9950041652780258-F*.09983341664682815;J=F*.9950041652780258+D*.09983341664682815;f=~~(+(e|0)+(u-I)*y+.5);G=~~(+(q|0)+(J-x)*E+.5);c[m>>2]=A;c[n>>2]=B;c[o>>2]=f;c[p>>2]=G;K=c[3524]|0;if((fl(m,n,o,p)|0)!=0){cN[c[K+56>>2]&255](c[m>>2]|0,c[n>>2]|0);cN[c[K+60>>2]&255](c[o>>2]|0,c[p>>2]|0)}c[8490]=f;c[8488]=G;if((C|0)>=64){break L15780}K=c[200]|0;L=c[144]|0;F=J;D=u;C=C+1|0;A=f;B=G;e=c[64768+(K*688&-1)>>2]|0;I=+h[64664+(K*688&-1)>>3];y=+h[64776+(K*688&-1)>>3];q=c[64768+(L*688&-1)>>2]|0;x=+h[64664+(L*688&-1)>>3];E=+h[64776+(L*688&-1)>>3]}}else{do{if((a[35184]&1)!=0&(v|0)<(c[9337]|0)&(v|0)>(c[9336]|0)){q=c[9334]|0;e=c[7939]|0;if((q|0)>=(e|0)){break}B=c[9335]|0;A=c[7938]|0;if((B|0)<=(A|0)){break}if((q|0)>(A|0)){cN[c[t+56>>2]&255](A,v);cN[c[t+60>>2]&255](c[9334]|0,v);M=c[9335]|0;N=c[7939]|0}else{M=B;N=e}if((M|0)>=(N|0)){break L15780}cN[c[t+56>>2]&255](M,v);cN[c[t+60>>2]&255](c[7939]|0,v);break L15780}}while(0);cN[c[t+56>>2]&255](c[7938]|0,v);cN[c[t+60>>2]&255](c[7939]|0,v)}}while(0);M=l;c[M>>2]=c[14084];c[M+4>>2]=c[56340>>2];c[M+8>>2]=c[56344>>2];c[M+12>>2]=c[56348>>2];M=c[14075]|0;do{if((c[14074]|0)!=0){d=+h[7040];N=c[(c[3524]|0)+92>>2]|0;if(d<0.0){cK[N&63](+h[3817]);break}else{cK[N&63](d);break}}}while(0);cK[c[(c[3524]|0)+112>>2]&63](+h[7039]);N=c[(c[3524]|0)+64>>2]|0;if((M|0)<-5){cM[N&511](-2)}else{cM[N&511](M)}N=c[3524]|0;do{if((a[56328]&1)==0){if((c[N+96>>2]&1024|0)!=0){break}c[l>>2]=1;c[l+4>>2]=M;H=11575}else{H=11575}}while(0);if((H|0)==11575){fn(l,N)}cM[c[g>>2]&511](4)}g=t+56|0;cN[c[g>>2]&255](c[1394]|0,v);N=t+60|0;cN[c[N>>2]&255]((c[1394]|0)+w|0,v);l=c[1396]|0;if((l|0)>-1){cN[c[g>>2]&255](l,v);cN[c[N>>2]&255]((c[1396]|0)-w|0,v)}if((z|0)==0){i=j;return}fN(64984+(b*688&-1)|0,r,s,94352);w=64928+(b*688&-1)|0;if((c[w>>2]|0)!=0){fn(w,t)}ln(~~+h[r>>3]+(c[1392]|0)|0,~~+h[s>>3]+v|0,z,c[1398]|0,c[1384]|0,c[6586]|0,c[64924+(b*688&-1)>>2]|0);b=k;c[b>>2]=c[14084];c[b+4>>2]=c[56340>>2];c[b+8>>2]=c[56344>>2];c[b+12>>2]=c[56348>>2];b=c[14075]|0;do{if((c[14074]|0)!=0){d=+h[7040];z=c[(c[3524]|0)+92>>2]|0;if(d<0.0){cK[z&63](+h[3817]);break}else{cK[z&63](d);break}}}while(0);cK[c[(c[3524]|0)+112>>2]&63](+h[7039]);z=c[(c[3524]|0)+64>>2]|0;if((b|0)<-5){cM[z&511](-2)}else{cM[z&511](b)}z=c[3524]|0;do{if((a[56328]&1)==0){if((c[z+96>>2]&1024|0)==0){c[k>>2]=1;c[k+4>>2]=b;break}else{i=j;return}}}while(0);fn(k,z);i=j;return}function f8(a){a=a|0;var b=0;if((a|0)==0){return}b=c[a+116>>2]|0;if((b|0)!=0){uu(b)}b=a+48|0;a=c[b>>2]|0;if((a|0)==0){return}else{f8(a);uu(c[b>>2]|0);c[b>>2]=0;return}}function f9(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,j=0,k=0,l=0,m=0,n=0,o=0.0,p=0.0,q=0.0,r=0.0,s=0.0,t=0,u=0,v=0,w=0;e=i;i=i+88|0;f=e|0;g=e+16|0;j=e+32|0;if((c[b+316>>2]|0)==0){k=0;i=e;return k|0}l=c[b+64>>2]|0;if(+h[b+72>>3]<0.0&(l|0)==3){m=(c[3524]|0)+144|0;if((c[m>>2]|0)==0){k=1;i=e;return k|0}n=~~+h[d>>3];c[g>>2]=3;c[g+4>>2]=n;h[g+8>>3]=0.0;cM[c[m>>2]&511](g);k=1;i=e;return k|0}if((l|0)==6){o=+h[d>>3];p=+h[8341];do{if(p>2]|0)==0){k=1;i=e;return k|0}c[f>>2]=5;h[f+8>>3]=r;c[f+4>>2]=0;cM[c[l>>2]&511](f);k=1;i=e;return k|0}if((c[b+28>>2]|0)!=-6){k=0;i=e;return k|0}b=~~+h[d>>3];d=43280;while(1){t=c[d>>2]|0;if((t|0)==0){u=11624;break}if((c[t+4>>2]|0)==(b|0)){u=11622;break}else{d=t|0}}do{if((u|0)==11624){d=c[8798]|0;f=(d|0)>0;l=b;L15891:while(1){g=43264;while(1){v=c[g>>2]|0;if((v|0)==0){break}if((c[v+4>>2]|0)==(l|0)){break L15891}else{g=v|0}}w=l-1|0;if(!((l|0)>(d|0)&f)){u=11634;break}l=((w|0)%(d|0)&-1)+1|0}if((u|0)==11634){c[j+4>>2]=w;c[j+40>>2]=1;c[j+44>>2]=w;c[j+8>>2]=w;break}d=j;f=v+8|0;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[d+16>>2]=c[f+16>>2];c[d+20>>2]=c[f+20>>2];c[d+24>>2]=c[f+24>>2];c[d+28>>2]=c[f+28>>2];c[d+32>>2]=c[f+32>>2];c[d+36>>2]=c[f+36>>2];c[d+40>>2]=c[f+40>>2];c[d+44>>2]=c[f+44>>2];c[d+48>>2]=c[f+48>>2];c[d+52>>2]=c[f+52>>2];if((c[(c[3524]|0)+96>>2]&1024|0)!=0){c[j+4>>2]=l;a[j+32|0]=0;break}if((a[j+32|0]&1)!=0){break}c[j+40>>2]=1;c[j+44>>2]=c[j+4>>2]}else if((u|0)==11622){f=j;d=t+8|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];c[f+16>>2]=c[d+16>>2];c[f+20>>2]=c[d+20>>2];c[f+24>>2]=c[d+24>>2];c[f+28>>2]=c[d+28>>2];c[f+32>>2]=c[d+32>>2];c[f+36>>2]=c[d+36>>2];c[f+40>>2]=c[d+40>>2];c[f+44>>2]=c[d+44>>2];c[f+48>>2]=c[d+48>>2];c[f+52>>2]=c[d+52>>2];if((a[j+32|0]&1)!=0){break}c[j+40>>2]=1;c[j+44>>2]=c[j+4>>2]}}while(0);fn(j+40|0,c[3524]|0);k=1;i=e;return k|0}function ga(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;e=i;do{if((b|0)!=0){if((a[b]|0)==0){break}f=(uA(b|0)|0)+2|0;g=ut(f)|0;do{if((g|0)==0){gk();h=ut(f)|0;if((h|0)!=0){j=h;break}uf(-1,225296,(v=i,i=i+8|0,c[v>>2]=87472,v)|0);return 0}else{j=g}}while(0);uB(j|0,b|0);g=j+(uA(j|0)|0)|0;w=10;a[g]=w&255;w=w>>8;a[g+1|0]=w&255;g=a8(j|0,10)|0;if((g|0)==0){k=0;l=0}else{f=j;h=0;m=0;n=g;while(1){a[n]=0;g=lp(f)|0;o=(g|0)>(h|0)?g:h;if((g|m|0)==0){if((a[b]|0)==10){p=11654}else{q=m}}else{p=11654}if((p|0)==11654){p=0;q=m+1|0}g=n+1|0;r=a8(g|0,10)|0;if((r|0)==0){k=o;l=q;break}else{f=g;h=o;m=q;n=r}}}if((d|0)!=0){c[d>>2]=l}uu(j);s=k;i=e;return s|0}}while(0);if((d|0)==0){s=0;i=e;return s|0}c[d>>2]=0;s=0;i=e;return s|0}function gb(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0.0,i=0.0,j=0.0,k=0.0,l=0.0,m=0.0,n=0.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.0,x=0.0,y=0,z=0.0,A=0.0,B=0.0,C=0.0,D=0.0,E=0.0;f=b-1|0;g=+h[a+(f<<6)+8>>3];i=+h[a+(f<<6)+16>>3];j=+h[a+(b<<6)+8>>3];k=+h[a+(b<<6)+16>>3];f=(c[a+(b<<6)>>2]|0)==0;l=f?j:g;m=f?k:i;n=f?g:j;j=f?i:k;f=n==-8.988465674311579e+307;b=j==-8.988465674311579e+307;if(f|b){h[d>>3]=l;h[e>>3]=m;if(!f){h[e>>3]=+h[64664+((c[144]|0)*688&-1)>>3];o=4;return o|0}if(b){o=5;return o|0}h[d>>3]=+h[64664+((c[200]|0)*688&-1)>>3];o=1;return o|0}do{if(m==j){h[e>>3]=m;b=l>3];do{if(b){if(!(kn)){p=11674;break}q=+h[64664+(f*688&-1)>>3];p=11677}else{if(!(kl)){p=11674;break}r=+h[64664+(f*688&-1)>>3];p=11678}}while(0);do{if((p|0)==11674){if(k==l){i=+h[64664+(f*688&-1)>>3];if(b){q=i;p=11677;break}else{r=i;p=11678;break}}h[d>>3]=k;o=2;return o|0}}while(0);if((p|0)==11677){if(qn){break}else{s=q}}else if((p|0)==11678){if(rl){break}else{s=r}}if(s==l){break}h[d>>3]=s;o=1;return o|0}else{if(l==n){h[d>>3]=l;b=m>3];do{if(b){if(!(kj)){p=11687;break}t=+h[64664+(f*688&-1)>>3];p=11690}else{if(!(km)){p=11687;break}u=+h[64664+(f*688&-1)>>3];p=11691}}while(0);do{if((p|0)==11687){if(k==m){i=+h[64664+(f*688&-1)>>3];if(b){t=i;p=11690;break}else{u=i;p=11691;break}}h[e>>3]=k;o=8;return o|0}}while(0);if((p|0)==11691){if(um){break}else{v=u}}else if((p|0)==11690){if(tj){break}else{v=t}}if(v==m){break}h[e>>3]=v;o=4;return o|0}b=m>3];do{if(b){if(!(kj)){p=11699;break}w=+h[64672+(f*688&-1)>>3];p=11705}else{if(!(km)){p=11699;break}x=+h[64672+(f*688&-1)>>3];p=11706}}while(0);if((p|0)==11699){do{if(k!=m&k!=j){i=l+(k-m)*((n-l)/(j-m));y=c[200]|0;g=+h[64664+(y*688&-1)>>3];z=+h[64672+(y*688&-1)>>3];if(gz){break}}else{if(ig){break}}h[d>>3]=i;h[e>>3]=+h[a>>3];o=4;return o|0}}while(0);i=+h[64672+(f*688&-1)>>3];if(b){w=i;p=11705}else{x=i;p=11706}}if((p|0)==11706){if(xm){A=x}else{B=x;p=11707}}else if((p|0)==11705){if(wj){A=w}else{B=w;p=11707}}do{if((p|0)==11707){a=64672+(f*688&-1)|0;if(!(B!=m&B!=j)){A=B;break}i=l+(B-m)*((n-l)/(j-m));y=c[200]|0;g=+h[64664+(y*688&-1)>>3];z=+h[64672+(y*688&-1)>>3];if(g