>>0)g=g+1|0;else break e}}}while(0);if((j|0)>0){d=0;do{c=Ab(c,a)|0;a=G()|0;d=d+1|0}while((d|0)!=(j|0))}}else{c=0;a=0}while(0);x=a;y=c;F(x|0);S=v;return y|0}function Fb(a){a=a|0;return (a|0)%2|0|0}function Gb(a,c,d){a=a|0;c=c|0;d=d|0;var g=0.0,h=0.0,i=0.0,j=0,k=0,l=0,m=0,n=0,o=0.0;n=S;S=S+64|0;k=n+24|0;l=n+48|0;m=n;if(c>>>0>15){m=4;S=n;return m|0}i=+e[a>>3];e[f>>3]=i;if(0==0?(b[f+4>>2]&2146435072|0)==2146435072:0){m=3;S=n;return m|0}g=+e[a+8>>3];e[f>>3]=g;if(0==0?(b[f+4>>2]&2146435072|0)==2146435072:0){m=3;S=n;return m|0}h=+s(+i);o=h*+s(+g);h=h*+t(+g);g=+t(+i);e[m>>3]=o;e[m+8>>3]=h;e[m+16>>3]=g;e[f>>3]=o;do if(!(0==0?(b[f+4>>2]&2146435072|0)==2146435072:0)?(e[f>>3]=g,a=b[f+4>>2]|0,e[f>>3]=h,!((0==0?(b[f+4>>2]&2146435072|0)==2146435072:0)|0==0&(a&2146435072|0)==2146435072)):0){b[k>>2]=b[m>>2];b[k+4>>2]=b[m+4>>2];b[k+8>>2]=b[m+8>>2];b[k+12>>2]=b[m+12>>2];b[k+16>>2]=b[m+16>>2];b[k+20>>2]=b[m+20>>2];$a(k,c,l);l=Eb(l,c)|0;m=G()|0;b[d>>2]=l;b[d+4>>2]=m;if((l|0)==0&(m|0)==0)H(27634,27225,1073,27248);else{j=0;break}}else j=2;while(0);m=j;S=n;return m|0}function Hb(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;o=d+4|0;p=td(a|0,c|0,52)|0;G()|0;p=p&15;n=td(a|0,c|0,45)|0;G()|0;e=(p|0)==0;if(!(ra(n&127)|0)){if(e){p=0;return p|0}if((b[o>>2]|0)==0?(b[d+8>>2]|0)==0:0)e=(b[d+12>>2]|0)!=0&1;else e=1}else if(e){p=1;return p|0}else e=1;n=d+8|0;m=d+12|0;l=1;d=b[o>>2]|0;h=b[n>>2]|0;g=b[m>>2]|0;while(1){f=d*3|0;i=h*3|0;k=g*3|0;if(!(l&1)){j=i+d|0;i=g+f|0;b[o>>2]=i;b[n>>2]=j;f=k+h|0;b[m>>2]=f;d=j-i|0;g=f-i|0;if((i|0)<0){b[n>>2]=d;b[m>>2]=g;b[o>>2]=0;i=0;f=g}else d=j;h=i-d|0;g=f-d|0;if((d|0)<0){b[o>>2]=h;b[m>>2]=g;b[n>>2]=0;i=h;f=0}else{g=f;f=d}d=i-g|0;h=f-g|0;if((g|0)<0){b[o>>2]=d;b[n>>2]=h;b[m>>2]=0;g=0}else{h=f;d=i}f=(h|0)<(d|0)?h:d;f=(g|0)<(f|0)?g:f;if((f|0)>0){g=g-f|0;h=h-f|0;d=d-f|0;b[o>>2]=d;b[n>>2]=h;b[m>>2]=g}}else{j=h+f|0;b[o>>2]=j;g=g+i|0;b[n>>2]=g;f=k+d|0;b[m>>2]=f;d=g-j|0;h=f-j|0;if((j|0)<0){b[n>>2]=d;b[m>>2]=h;b[o>>2]=0;i=0;f=h}else{d=g;i=j}h=i-d|0;g=f-d|0;if((d|0)<0){b[o>>2]=h;b[m>>2]=g;b[n>>2]=0;i=h;f=0}else{g=f;f=d}d=i-g|0;h=f-g|0;if((g|0)<0){b[o>>2]=d;b[n>>2]=h;b[m>>2]=0;g=0}else{h=f;d=i}f=(h|0)<(d|0)?h:d;f=(g|0)<(f|0)?g:f;if((f|0)>0){g=g-f|0;h=h-f|0;d=d-f|0;b[o>>2]=d;b[n>>2]=h;b[m>>2]=g}}f=td(a|0,c|0,(15-l|0)*3|0)|0;G()|0;f=f&7;if((f+-1|0)>>>0<6){j=b[22032+(f*12|0)+4>>2]|0;k=b[22032+(f*12|0)+8>>2]|0;i=(b[22032+(f*12|0)>>2]|0)+d|0;b[o>>2]=i;h=j+h|0;b[n>>2]=h;d=k+g|0;b[m>>2]=d;g=h-i|0;f=d-i|0;if((i|0)<0){b[n>>2]=g;b[m>>2]=f;b[o>>2]=0;i=0;d=f;h=g}f=i-h|0;g=d-h|0;if((h|0)<0){b[o>>2]=f;b[m>>2]=g;b[n>>2]=0;i=f;h=0}else g=d;d=i-g|0;f=h-g|0;if((g|0)<0){b[o>>2]=d;b[n>>2]=f;b[m>>2]=0;h=f;g=0}else d=i;f=(h|0)<(d|0)?h:d;f=(g|0)<(f|0)?g:f;if((f|0)>0){g=g-f|0;h=h-f|0;d=d-f|0;b[o>>2]=d;b[n>>2]=h;b[m>>2]=g}}if(l>>>0>>0)l=l+1|0;else break}return e|0}function Ib(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=S;S=S+16|0;m=p;n=td(a|0,c|0,45)|0;G()|0;n=n&127;if(n>>>0>121){b[d>>2]=0;b[d+4>>2]=0;b[d+8>>2]=0;b[d+12>>2]=0;o=5;S=p;return o|0}a:do if((ra(n)|0)!=0?(i=td(a|0,c|0,52)|0,G()|0,i=i&15,(i|0)!=0):0){e=1;b:while(1){o=td(a|0,c|0,(15-e|0)*3|0)|0;G()|0;switch(o&7){case 5:break b;case 0:break;default:{k=c;break a}}if(e>>>0>>0)e=e+1|0;else{k=c;break a}}h=1;e=c;while(1){c=(15-h|0)*3|0;f=ud(7,0,c|0)|0;f=a&~f;g=e&~(G()|0);e=td(a|0,e|0,c|0)|0;G()|0;switch(e&7){case 1:{e=3;break}case 3:{e=2;break}case 2:{e=6;break}case 6:{e=4;break}case 4:{e=5;break}case 5:{e=1;break}default:e=e&7}a=ud(e|0,0,c|0)|0;a=a|f;e=G()|0|g;if(h>>>0>>0)h=h+1|0;else{k=e;break a}}}else k=c;while(0);o=7696+(n*28|0)|0;b[d>>2]=b[o>>2];b[d+4>>2]=b[o+4>>2];b[d+8>>2]=b[o+8>>2];b[d+12>>2]=b[o+12>>2];if(!(Hb(a,k,d)|0)){o=0;S=p;return o|0}o=d+4|0;b[m>>2]=b[o>>2];b[m+4>>2]=b[o+4>>2];b[m+8>>2]=b[o+8>>2];j=td(a|0,k|0,52)|0;G()|0;l=j&15;if(!(j&1))f=l;else{g=b[o>>2]|0;i=d+8|0;f=b[i>>2]|0;j=d+12|0;c=b[j>>2]|0;e=(f*3|0)+g|0;g=c+(g*3|0)|0;b[o>>2]=g;b[i>>2]=e;f=(c*3|0)+f|0;b[j>>2]=f;c=e-g|0;h=f-g|0;if((g|0)<0){b[i>>2]=c;b[j>>2]=h;b[o>>2]=0;e=c;g=0;f=h}h=g-e|0;c=f-e|0;if((e|0)<0){b[o>>2]=h;b[j>>2]=c;b[i>>2]=0;e=0}else{c=f;h=g}g=h-c|0;f=e-c|0;if((c|0)<0){b[o>>2]=g;b[i>>2]=f;b[j>>2]=0;c=0}else{f=e;g=h}e=(f|0)<(g|0)?f:g;e=(c|0)<(e|0)?c:e;if((e|0)>0){b[o>>2]=g-e;b[i>>2]=f-e;b[j>>2]=c-e}f=l+1|0}if(!(ra(n)|0))e=0;else{c:do if(!l)e=0;else{c=1;while(1){e=td(a|0,k|0,(15-c|0)*3|0)|0;G()|0;e=e&7;if(e|0)break c;if(c>>>0>>0)c=c+1|0;else{e=0;break}}}while(0);e=(e|0)==4&1}if(!(eb(d,f,e,0)|0)){if((f|0)!=(l|0)){b[o>>2]=b[m>>2];b[o+4>>2]=b[m+4>>2];b[o+8>>2]=b[m+8>>2]}}else{if(ra(n)|0)do{}while((eb(d,f,0,0)|0)!=0);if((f|0)!=(l|0)){i=d+12|0;a=b[i>>2]|0;e=(b[o>>2]|0)-a|0;h=d+8|0;a=(b[h>>2]|0)-a|0;c=cd(+((e<<1)+a|0)*.14285714285714285)|0;b[o>>2]=c;e=cd(+((a*3|0)-e|0)*.14285714285714285)|0;b[h>>2]=e;b[i>>2]=0;a=e-c|0;f=0-c|0;if((c|0)<0){b[h>>2]=a;b[i>>2]=f;b[o>>2]=0;e=a;c=0}else f=0;g=c-e|0;a=f-e|0;if((e|0)<0){b[o>>2]=g;b[i>>2]=a;b[h>>2]=0;c=g;e=0}else a=f;g=c-a|0;f=e-a|0;if((a|0)<0){b[o>>2]=g;b[h>>2]=f;b[i>>2]=0;c=g;a=0}else f=e;e=(f|0)<(c|0)?f:c;e=(a|0)<(e|0)?a:e;if((e|0)>0){b[o>>2]=c-e;b[h>>2]=f-e;b[i>>2]=a-e}}}o=0;S=p;return o|0}function Jb(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,f=0,g=0,h=0,i=0.0,j=0.0;h=S;S=S+48|0;d=h+24|0;f=h;g=Ib(a,b,d)|0;if(!g){g=td(a|0,b|0,52)|0;G()|0;ab(d,g&15,f);j=+w(+(+e[f+16>>3]));i=+y(+(+e[f+8>>3]),+(+e[f>>3]));e[c>>3]=j;e[c+8>>3]=i;g=0;S=h;return g|0}else{S=h;return g|0}return 0}function Kb(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0;g=S;S=S+16|0;f=g;d=Ib(a,b,f)|0;if(d|0){f=d;S=g;return f|0}d=td(a|0,b|0,45)|0;G()|0;d=(ra(d&127)|0)==0;e=td(a|0,b|0,52)|0;G()|0;e=e&15;a:do if(!d){if(e|0){d=1;while(1){h=ud(7,0,(15-d|0)*3|0)|0;if(!((h&a|0)==0&((G()|0)&b|0)==0))break a;if(d>>>0>>0)d=d+1|0;else break}}cb(f,e,0,5,c);h=0;S=g;return h|0}while(0);gb(f,e,0,6,c);h=0;S=g;return h|0}function Lb(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,f=0,g=0;f=td(a|0,c|0,45)|0;G()|0;if(!(ra(f&127)|0)){f=2;b[d>>2]=f;return 0}f=td(a|0,c|0,52)|0;G()|0;f=f&15;if(!f){f=5;b[d>>2]=f;return 0}e=1;while(1){g=ud(7,0,(15-e|0)*3|0)|0;if(!((g&a|0)==0&((G()|0)&c|0)==0)){e=2;a=6;break}if(e>>>0>>0)e=e+1|0;else{e=5;a=6;break}}if((a|0)==6){b[d>>2]=e;return 0}return 0}function Mb(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;m=S;S=S+128|0;k=m+112|0;g=m+96|0;l=m;f=td(a|0,c|0,52)|0;G()|0;i=f&15;b[k>>2]=i;h=td(a|0,c|0,45)|0;G()|0;h=h&127;a:do if(ra(h)|0){if(i|0){e=1;while(1){j=ud(7,0,(15-e|0)*3|0)|0;if(!((j&a|0)==0&((G()|0)&c|0)==0)){f=0;break a}if(e>>>0>>0)e=e+1|0;else break}}if(!(f&1)){j=ud(i+1|0,0,52)|0;l=G()|0|c&-15728641;k=ud(7,0,(14-i|0)*3|0)|0;l=Mb((j|a)&~k,l&~(G()|0),d)|0;S=m;return l|0}else f=1}else f=0;while(0);e=Ib(a,c,g)|0;if(!e){if(f){db(g,k,l);j=5}else{hb(g,k,l);j=6}b:do if(ra(h)|0)if(!i)a=5;else{e=1;while(1){h=ud(7,0,(15-e|0)*3|0)|0;if(!((h&a|0)==0&((G()|0)&c|0)==0)){a=2;break b}if(e>>>0>>0)e=e+1|0;else{a=5;break}}}else a=2;while(0);Bd(d|0,-1,a<<2|0)|0;c:do if(f){g=0;while(1){h=l+(g<<4)|0;fb(h,b[k>>2]|0)|0;h=b[h>>2]|0;i=b[d>>2]|0;if((i|0)==-1|(i|0)==(h|0))e=d;else{f=0;do{f=f+1|0;if(f>>>0>=a>>>0){e=1;break c}e=d+(f<<2)|0;i=b[e>>2]|0}while(!((i|0)==-1|(i|0)==(h|0)))}b[e>>2]=h;g=g+1|0;if(g>>>0>=j>>>0){e=0;break}}}else{g=0;while(1){h=l+(g<<4)|0;eb(h,b[k>>2]|0,0,1)|0;h=b[h>>2]|0;i=b[d>>2]|0;if((i|0)==-1|(i|0)==(h|0))e=d;else{f=0;do{f=f+1|0;if(f>>>0>=a>>>0){e=1;break c}e=d+(f<<2)|0;i=b[e>>2]|0}while(!((i|0)==-1|(i|0)==(h|0)))}b[e>>2]=h;g=g+1|0;if(g>>>0>=j>>>0){e=0;break}}}while(0)}l=e;S=m;return l|0}function Nb(){return 12}function Ob(a,c){a=a|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;if(a>>>0>15){i=4;return i|0}ud(a|0,0,52)|0;i=G()|0|134225919;if(!a){d=0;e=0;do{if(ra(e)|0){ud(e|0,0,45)|0;h=i|(G()|0);a=c+(d<<3)|0;b[a>>2]=-1;b[a+4>>2]=h;d=d+1|0}e=e+1|0}while((e|0)!=122);d=0;return d|0}d=0;h=0;do{if(ra(h)|0){ud(h|0,0,45)|0;e=1;f=-1;g=i|(G()|0);while(1){j=ud(7,0,(15-e|0)*3|0)|0;f=f&~j;g=g&~(G()|0);if((e|0)==(a|0))break;else e=e+1|0}j=c+(d<<3)|0;b[j>>2]=f;b[j+4>>2]=g;d=d+1|0}h=h+1|0}while((h|0)!=122);d=0;return d|0}function Pb(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;t=S;S=S+16|0;r=t;s=td(a|0,c|0,52)|0;G()|0;s=s&15;if(d>>>0>15){s=4;S=t;return s|0}if((s|0)<(d|0)){s=12;S=t;return s|0}if((s|0)!=(d|0)){g=ud(d|0,0,52)|0;g=g|a;i=G()|0|c&-15728641;if((s|0)>(d|0)){j=d;do{q=ud(7,0,(14-j|0)*3|0)|0;j=j+1|0;g=q|g;i=G()|0|i}while((j|0)<(s|0));q=g}else q=g}else{q=a;i=c}p=td(q|0,i|0,45)|0;G()|0;a:do if(ra(p&127)|0){j=td(q|0,i|0,52)|0;G()|0;j=j&15;if(j|0){g=1;while(1){p=ud(7,0,(15-g|0)*3|0)|0;if(!((p&q|0)==0&((G()|0)&i|0)==0)){k=33;break a}if(g>>>0>>0)g=g+1|0;else break}}p=e;b[p>>2]=0;b[p+4>>2]=0;if((s|0)>(d|0)){p=c&-15728641;o=s;while(1){n=o;o=o+-1|0;if(o>>>0>15|(s|0)<(o|0)){k=19;break}if((s|0)!=(o|0)){g=ud(o|0,0,52)|0;g=g|a;j=G()|0|p;if((s|0)<(n|0))m=g;else{k=o;do{m=ud(7,0,(14-k|0)*3|0)|0;k=k+1|0;g=m|g;j=G()|0|j}while((k|0)<(s|0));m=g}}else{m=a;j=c}l=td(m|0,j|0,45)|0;G()|0;if(!(ra(l&127)|0))g=0;else{l=td(m|0,j|0,52)|0;G()|0;l=l&15;b:do if(!l)g=0;else{k=1;while(1){g=td(m|0,j|0,(15-k|0)*3|0)|0;G()|0;g=g&7;if(g|0)break b;if(k>>>0>>0)k=k+1|0;else{g=0;break}}}while(0);g=(g|0)==0&1}j=td(a|0,c|0,(15-n|0)*3|0)|0;G()|0;j=j&7;if((j|0)==7){f=5;k=42;break}g=(g|0)!=0;if((j|0)==1&g){f=5;k=42;break}m=j+(((j|0)!=0&g)<<31>>31)|0;if(m|0){k=s-n|0;k=pc(7,0,k,((k|0)<0)<<31>>31)|0;l=G()|0;if(g){g=pd(k|0,l|0,5,0)|0;g=jd(g|0,G()|0,-5,-1)|0;g=nd(g|0,G()|0,6,0)|0;g=jd(g|0,G()|0,1,0)|0;j=G()|0}else{g=k;j=l}n=m+-1|0;n=pd(k|0,l|0,n|0,((n|0)<0)<<31>>31|0)|0;n=jd(g|0,j|0,n|0,G()|0)|0;m=G()|0;l=e;l=jd(n|0,m|0,b[l>>2]|0,b[l+4>>2]|0)|0;m=G()|0;n=e;b[n>>2]=l;b[n+4>>2]=m}if((o|0)<=(d|0)){k=37;break}}if((k|0)==19)H(27634,27225,1407,27259);else if((k|0)==37){h=e;f=b[h+4>>2]|0;h=b[h>>2]|0;break}else if((k|0)==42){S=t;return f|0}}else{f=0;h=0}}else k=33;while(0);c:do if((k|0)==33){p=e;b[p>>2]=0;b[p+4>>2]=0;if((s|0)>(d|0)){g=s;while(1){f=td(a|0,c|0,(15-g|0)*3|0)|0;G()|0;f=f&7;if((f|0)==7){f=5;break}h=s-g|0;h=pc(7,0,h,((h|0)<0)<<31>>31)|0;f=pd(h|0,G()|0,f|0,0)|0;h=G()|0;p=e;h=jd(b[p>>2]|0,b[p+4>>2]|0,f|0,h|0)|0;f=G()|0;p=e;b[p>>2]=h;b[p+4>>2]=f;g=g+-1|0;if((g|0)<=(d|0))break c}S=t;return f|0}else{f=0;h=0}}while(0);if(qb(q,i,s,r)|0)H(27634,27225,1367,27274);s=r;r=b[s+4>>2]|0;if(((f|0)>-1|(f|0)==-1&h>>>0>4294967295)&((r|0)>(f|0)|((r|0)==(f|0)?(b[s>>2]|0)>>>0>h>>>0:0))){s=0;S=t;return s|0}else H(27634,27225,1447,27259);return 0}function Qb(a,c,d,e,f,g){a=a|0;c=c|0;d=d|0;e=e|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,q=0;m=S;S=S+16|0;h=m;if(f>>>0>15){g=4;S=m;return g|0}i=td(d|0,e|0,52)|0;G()|0;i=i&15;if((i|0)>(f|0)){g=12;S=m;return g|0}if(qb(d,e,f,h)|0)H(27634,27225,1367,27274);l=h;k=b[l+4>>2]|0;if(!(((c|0)>-1|(c|0)==-1&a>>>0>4294967295)&((k|0)>(c|0)|((k|0)==(c|0)?(b[l>>2]|0)>>>0>a>>>0:0)))){g=2;S=m;return g|0}l=f-i|0;f=ud(f|0,0,52)|0;j=G()|0|e&-15728641;k=g;b[k>>2]=f|d;b[k+4>>2]=j;k=td(d|0,e|0,45)|0;G()|0;a:do if(ra(k&127)|0){if(i|0){h=1;while(1){k=ud(7,0,(15-h|0)*3|0)|0;if(!((k&d|0)==0&((G()|0)&e|0)==0))break a;if(h>>>0>>0)h=h+1|0;else break}}if((l|0)<1){g=0;S=m;return g|0}k=i^15;e=-1;j=1;h=1;while(1){i=l-j|0;i=pc(7,0,i,((i|0)<0)<<31>>31)|0;d=G()|0;do if(h){h=pd(i|0,d|0,5,0)|0;h=jd(h|0,G()|0,-5,-1)|0;h=nd(h|0,G()|0,6,0)|0;f=G()|0;if((c|0)>(f|0)|(c|0)==(f|0)&a>>>0>h>>>0){c=jd(a|0,c|0,-1,-1)|0;c=kd(c|0,G()|0,h|0,f|0)|0;h=G()|0;n=g;p=b[n>>2]|0;n=b[n+4>>2]|0;q=(k+e|0)*3|0;o=ud(7,0,q|0)|0;n=n&~(G()|0);e=nd(c|0,h|0,i|0,d|0)|0;a=G()|0;f=jd(e|0,a|0,2,0)|0;q=ud(f|0,G()|0,q|0)|0;n=G()|0|n;f=g;b[f>>2]=q|p&~o;b[f+4>>2]=n;a=pd(e|0,a|0,i|0,d|0)|0;a=kd(c|0,h|0,a|0,G()|0)|0;h=0;c=G()|0;break}else{q=g;o=b[q>>2]|0;q=b[q+4>>2]|0;p=ud(7,0,(k+e|0)*3|0)|0;q=q&~(G()|0);h=g;b[h>>2]=o&~p;b[h+4>>2]=q;h=1;break}}else{o=g;f=b[o>>2]|0;o=b[o+4>>2]|0;e=(k+e|0)*3|0;n=ud(7,0,e|0)|0;o=o&~(G()|0);q=nd(a|0,c|0,i|0,d|0)|0;h=G()|0;e=ud(q|0,h|0,e|0)|0;o=G()|0|o;p=g;b[p>>2]=e|f&~n;b[p+4>>2]=o;h=pd(q|0,h|0,i|0,d|0)|0;a=kd(a|0,c|0,h|0,G()|0)|0;h=0;c=G()|0}while(0);if((l|0)>(j|0)){e=~j;j=j+1|0}else{c=0;break}}S=m;return c|0}while(0);if((l|0)<1){q=0;S=m;return q|0}f=i^15;h=1;while(1){p=l-h|0;p=pc(7,0,p,((p|0)<0)<<31>>31)|0;q=G()|0;j=g;d=b[j>>2]|0;j=b[j+4>>2]|0;i=(f-h|0)*3|0;e=ud(7,0,i|0)|0;j=j&~(G()|0);n=nd(a|0,c|0,p|0,q|0)|0;o=G()|0;i=ud(n|0,o|0,i|0)|0;j=G()|0|j;k=g;b[k>>2]=i|d&~e;b[k+4>>2]=j;q=pd(n|0,o|0,p|0,q|0)|0;a=kd(a|0,c|0,q|0,G()|0)|0;c=G()|0;if((l|0)<=(h|0)){c=0;break}else h=h+1|0}S=m;return c|0}function Rb(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0;f=td(c|0,d|0,52)|0;G()|0;f=f&15;if((c|0)==0&(d|0)==0|((e|0)>15|(f|0)>(e|0))){g=-1;c=-1;d=0;f=0}else{c=tb(c,d,f+1|0,e)|0;h=(G()|0)&-15728641;d=ud(e|0,0,52)|0;d=c|d;h=h|(G()|0);c=(rb(d,h)|0)==0;g=f;c=c?-1:e;f=h}h=a;b[h>>2]=d;b[h+4>>2]=f;b[a+8>>2]=g;b[a+12>>2]=c;return}function Sb(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var f=0,g=0;f=td(a|0,c|0,52)|0;G()|0;f=f&15;g=e+8|0;b[g>>2]=f;if((a|0)==0&(c|0)==0|((d|0)>15|(f|0)>(d|0))){d=e;b[d>>2]=0;b[d+4>>2]=0;b[g>>2]=-1;b[e+12>>2]=-1;return}a=tb(a,c,f+1|0,d)|0;g=(G()|0)&-15728641;f=ud(d|0,0,52)|0;f=a|f;g=g|(G()|0);a=e;b[a>>2]=f;b[a+4>>2]=g;a=e+12|0;if(!(rb(f,g)|0)){b[a>>2]=-1;return}else{b[a>>2]=d;return}}function Tb(a){a=a|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;d=a;c=b[d>>2]|0;d=b[d+4>>2]|0;if((c|0)==0&(d|0)==0)return;e=td(c|0,d|0,52)|0;G()|0;e=e&15;i=ud(1,0,(e^15)*3|0)|0;c=jd(i|0,G()|0,c|0,d|0)|0;d=G()|0;i=a;b[i>>2]=c;b[i+4>>2]=d;i=a+8|0;h=b[i>>2]|0;if((e|0)<(h|0))return;j=a+12|0;g=e;while(1){if((g|0)==(h|0)){e=5;break}k=(g|0)==(b[j>>2]|0);f=(15-g|0)*3|0;e=td(c|0,d|0,f|0)|0;G()|0;e=e&7;if(k&((e|0)==1&0==0)){e=7;break}if(!((e|0)==7&0==0)){e=10;break}k=ud(1,0,f|0)|0;c=jd(c|0,d|0,k|0,G()|0)|0;d=G()|0;k=a;b[k>>2]=c;b[k+4>>2]=d;if((g|0)>(h|0))g=g+-1|0;else{e=10;break}}if((e|0)==5){k=a;b[k>>2]=0;b[k+4>>2]=0;b[i>>2]=-1;b[j>>2]=-1;return}else if((e|0)==7){h=ud(1,0,f|0)|0;h=jd(c|0,d|0,h|0,G()|0)|0;i=G()|0;k=a;b[k>>2]=h;b[k+4>>2]=i;b[j>>2]=g+-1;return}else if((e|0)==10)return}function Ub(a){a=+a;var b=0.0;b=a<0.0?a+6.283185307179586:a;return +(!(a>=6.283185307179586)?b:b+-6.283185307179586)}function Vb(a,b){a=+a;b=b|0;switch(b|0){case 1:{a=a<0.0?a+6.283185307179586:a;break}case 2:{a=a>0.0?a+-6.283185307179586:a;break}default:{}}return +a}function Wb(a,b){a=a|0;b=b|0;var c=0.0,d=0.0,f=0.0,g=0.0;f=+e[b>>3];d=+e[a>>3];g=+t(+((f-d)*.5));c=+t(+((+e[b+8>>3]-+e[a+8>>3])*.5));c=g*g+c*(+s(+f)*+s(+d)*c);return +(+y(+(+r(+c)),+(+r(+(1.0-c))))*2.0)}function Xb(a,b){a=a|0;b=b|0;var c=0.0,d=0.0,f=0.0,g=0.0;f=+e[b>>3];d=+e[a>>3];g=+t(+((f-d)*.5));c=+t(+((+e[b+8>>3]-+e[a+8>>3])*.5));c=g*g+c*(+s(+f)*+s(+d)*c);return +(+y(+(+r(+c)),+(+r(+(1.0-c))))*2.0*6371.007180918475)}function Yb(a,b){a=a|0;b=b|0;var c=0.0,d=0.0,f=0.0,g=0.0;f=+e[b>>3];d=+e[a>>3];g=+t(+((f-d)*.5));c=+t(+((+e[b+8>>3]-+e[a+8>>3])*.5));c=g*g+c*(+s(+f)*+s(+d)*c);return +(+y(+(+r(+c)),+(+r(+(1.0-c))))*2.0*6371.007180918475*1.0e3)}function Zb(a,b){a=a|0;b=b|0;if(a>>>0>15){b=4;return b|0}e[b>>3]=+e[20624+(a<<3)>>3];b=0;return b|0}function _b(a,b){a=a|0;b=b|0;if(a>>>0>15){b=4;return b|0}e[b>>3]=+e[20752+(a<<3)>>3];b=0;return b|0}function $b(a,b){a=a|0;b=b|0;if(a>>>0>15){b=4;return b|0}e[b>>3]=+e[20880+(a<<3)>>3];b=0;return b|0}function ac(a,b){a=a|0;b=b|0;if(a>>>0>15){b=4;return b|0}e[b>>3]=+e[21008+(a<<3)>>3];b=0;return b|0}function bc(a,c){a=a|0;c=c|0;var d=0;if(a>>>0>15){c=4;return c|0}d=pc(7,0,a,((a|0)<0)<<31>>31)|0;d=pd(d|0,G()|0,120,0)|0;a=G()|0;b[c>>2]=d|2;b[c+4>>2]=a;c=0;return c|0}function cc(a,c,d){a=a|0;c=c|0;d=d|0;var f=0.0,g=0.0,h=0.0,i=0,j=0,k=0.0,l=0.0,m=0.0;j=S;S=S+176|0;i=j;a=Za(a,c,i)|0;if(a|0){i=a;S=j;return i|0}e[d>>3]=0.0;a=b[i>>2]|0;if((a|0)<=1){i=0;S=j;return i|0}c=a+-1|0;a=0;f=+e[i+8>>3];g=+e[i+16>>3];h=0.0;do{a=a+1|0;l=f;f=+e[i+8+(a<<4)>>3];m=+t(+((f-l)*.5));k=g;g=+e[i+8+(a<<4)+8>>3];k=+t(+((g-k)*.5));k=m*m+k*(+s(+f)*+s(+l)*k);h=h+ +y(+(+r(+k)),+(+r(+(1.0-k))))*2.0}while((a|0)<(c|0));e[d>>3]=h;i=0;S=j;return i|0}function dc(a,c,d){a=a|0;c=c|0;d=d|0;var f=0.0,g=0.0,h=0.0,i=0,j=0,k=0.0,l=0.0,m=0.0;j=S;S=S+176|0;i=j;a=Za(a,c,i)|0;if(a|0){i=a;h=+e[d>>3];h=h*6371.007180918475;e[d>>3]=h;S=j;return i|0}e[d>>3]=0.0;a=b[i>>2]|0;if((a|0)<=1){i=0;h=0.0;h=h*6371.007180918475;e[d>>3]=h;S=j;return i|0}c=a+-1|0;a=0;f=+e[i+8>>3];g=+e[i+16>>3];h=0.0;do{a=a+1|0;l=f;f=+e[i+8+(a<<4)>>3];m=+t(+((f-l)*.5));k=g;g=+e[i+8+(a<<4)+8>>3];k=+t(+((g-k)*.5));k=m*m+k*(+s(+l)*+s(+f)*k);h=h+ +y(+(+r(+k)),+(+r(+(1.0-k))))*2.0}while((a|0)!=(c|0));e[d>>3]=h;i=0;m=h;m=m*6371.007180918475;e[d>>3]=m;S=j;return i|0}function ec(a,c,d){a=a|0;c=c|0;d=d|0;var f=0.0,g=0.0,h=0.0,i=0,j=0,k=0.0,l=0.0,m=0.0;j=S;S=S+176|0;i=j;a=Za(a,c,i)|0;if(a|0){i=a;h=+e[d>>3];h=h*6371.007180918475;h=h*1.0e3;e[d>>3]=h;S=j;return i|0}e[d>>3]=0.0;a=b[i>>2]|0;if((a|0)<=1){i=0;h=0.0;h=h*6371.007180918475;h=h*1.0e3;e[d>>3]=h;S=j;return i|0}c=a+-1|0;a=0;f=+e[i+8>>3];g=+e[i+16>>3];h=0.0;do{a=a+1|0;l=f;f=+e[i+8+(a<<4)>>3];m=+t(+((f-l)*.5));k=g;g=+e[i+8+(a<<4)+8>>3];k=+t(+((g-k)*.5));k=m*m+k*(+s(+l)*+s(+f)*k);h=h+ +y(+(+r(+k)),+(+r(+(1.0-k))))*2.0}while((a|0)!=(c|0));e[d>>3]=h;i=0;m=h;m=m*6371.007180918475;m=m*1.0e3;e[d>>3]=m;S=j;return i|0}function fc(a){a=a|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0;if(!a)return;g=a+4|0;h=a+8|0;e=1;f=a;while(1){c=b[f>>2]|0;if(c|0)do{d=b[c>>2]|0;if(d|0)do{i=d;d=b[d+16>>2]|0;ed(i)}while((d|0)!=0);i=c;c=b[c+8>>2]|0;ed(i)}while((c|0)!=0);c=f;f=b[f+8>>2]|0;if(e){b[a>>2]=0;b[g>>2]=0;b[h>>2]=0}else ed(c);if(!f)break;else e=0}return}function gc(a,c){a=a|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;b[c>>2]=0;r=c+4|0;b[r>>2]=0;s=c+8|0;b[s>>2]=0;q=b[a>>2]|0;if((q|0)<=0){c=0;return c|0}p=a+4|0;a=c;o=0;a:while(1){if(o){d=fd(1,12)|0;if(!d){d=5;break}b[a+8>>2]=d;a=d}j=b[p>>2]|0;k=fd(1,12)|0;if(!k){a=13;d=37;break}n=a+4|0;e=b[n>>2]|0;b[((e|0)==0?a:e+8|0)>>2]=k;b[n>>2]=k;e=b[j+(o<<4)>>2]|0;if((e|0)<3){a=1;d=37;break}f=j+(o<<4)+4|0;g=k+4|0;d=0;h=0;do{i=h;h=dd(24)|0;if(!h){a=13;d=37;break a}Ad(h|0,(b[f>>2]|0)+(d<<4)|0,16)|0;b[h+16>>2]=0;if(!i)b[k>>2]=h;else b[i+16>>2]=h;b[g>>2]=h;d=d+1|0}while((d|0)<(e|0));m=b[j+(o<<4)+8>>2]|0;if((m|0)>0){l=j+(o<<4)+12|0;j=0;do{e=b[l>>2]|0;d=k;k=fd(1,12)|0;if(!k){a=13;d=37;break a}b[d+8>>2]=k;b[n>>2]=k;i=b[e+(j<<3)>>2]|0;if((i|0)<3){a=1;d=37;break a}e=e+(j<<3)+4|0;f=k+4|0;d=0;g=0;do{h=g;g=dd(24)|0;if(!g){a=13;d=37;break a}Ad(g|0,(b[e>>2]|0)+(d<<4)|0,16)|0;b[g+16>>2]=0;if(!h)b[k>>2]=g;else b[h+16>>2]=g;b[f>>2]=g;d=d+1|0}while((d|0)<(i|0));j=j+1|0}while((j|0)<(m|0))}o=o+1|0;if((o|0)>=(q|0)){a=0;d=50;break}}if((d|0)==5){if(!c){c=13;return c|0}e=1;f=c;while(1){a=b[f>>2]|0;if(a|0)do{d=b[a>>2]|0;if(d|0)do{q=d;d=b[d+16>>2]|0;ed(q)}while((d|0)!=0);q=a;a=b[a+8>>2]|0;ed(q)}while((a|0)!=0);a=f;f=b[f+8>>2]|0;if(e){b[c>>2]=0;b[r>>2]=0;b[s>>2]=0}else ed(a);if(!f){a=13;break}else e=0}return a|0}else if((d|0)==37){if(!c){c=a;return c|0}f=1;g=c;while(1){d=b[g>>2]|0;if(d|0)do{e=b[d>>2]|0;if(e|0)do{q=e;e=b[e+16>>2]|0;ed(q)}while((e|0)!=0);q=d;d=b[d+8>>2]|0;ed(q)}while((d|0)!=0);d=g;g=b[g+8>>2]|0;if(f){b[c>>2]=0;b[r>>2]=0;b[s>>2]=0}else ed(d);if(!g)break;else f=0}return a|0}else if((d|0)==50)return a|0;return 0}function hc(c,d,e,f,g){c=c|0;d=d|0;e=e|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,q=0,r=0,s=0,t=0,u=0;t=S;S=S+16|0;s=t;m=td(c|0,d|0,52)|0;G()|0;m=m&15;p=td(e|0,f|0,52)|0;G()|0;if((m|0)!=(p&15|0)){s=12;S=t;return s|0}k=td(c|0,d|0,45)|0;G()|0;k=k&127;l=td(e|0,f|0,45)|0;G()|0;l=l&127;if(k>>>0>121|l>>>0>121){s=5;S=t;return s|0}p=(k|0)!=(l|0);if(p){i=za(k,l)|0;if((i|0)==7){s=1;S=t;return s|0}j=za(l,k)|0;if((j|0)==7)H(27291,27315,164,27325);else{r=i;h=j}}else{r=0;h=0}n=ra(k)|0;o=ra(l)|0;b[s>>2]=0;b[s+4>>2]=0;b[s+8>>2]=0;b[s+12>>2]=0;do if(!r){Hb(e,f,s)|0;if((n|0)!=0&(o|0)!=0){if((l|0)!=(k|0))H(27398,27315,264,27325);i=zb(c,d)|0;h=zb(e,f)|0;if(!((i|0)==7|(h|0)==7))if(!(a[21968+(i*7|0)+h>>0]|0)){e=b[21136+(i*28|0)+(h<<2)>>2]|0;if((e|0)>0){m=s+4|0;f=s+8|0;n=s+12|0;l=0;j=b[m>>2]|0;i=b[f>>2]|0;h=b[n>>2]|0;do{r=i+j|0;q=(r|0)<0;c=q?r:0;i=h+i-c|0;d=(i|0)<0;k=d?i:0;j=h+j-c-k|0;c=(j|0)<0;h=c?0:j;j=c?j:0;i=(d?0:i)-j|0;j=(q?0:r)-k-j|0;k=(i|0)<(j|0)?i:j;k=(h|0)<(k|0)?h:k;if((k|0)>0){j=j-k|0;i=i-k|0;h=h-k|0}l=l+1|0}while((l|0)!=(e|0));b[m>>2]=j;b[f>>2]=i;b[n>>2]=h;q=77}else q=77}else h=1;else h=5}else q=77}else{l=b[4272+(k*28|0)+(r<<2)>>2]|0;i=(l|0)>0;a:do if(!o)if(i){k=0;j=e;i=f;while(1){j=Db(j,i)|0;i=G()|0;switch(h|0){case 1:{h=3;break}case 3:{h=2;break}case 2:{h=6;break}case 6:{h=4;break}case 4:{h=5;break}case 5:{h=1;break}default:{}}k=k+1|0;if((k|0)==(l|0)){l=h;k=j;j=i;break a}}}else{l=h;k=e;j=f}else if(i){k=0;j=e;i=f;while(1){j=Cb(j,i)|0;i=G()|0;switch(h|0){case 5:case 1:{h=3;break}case 3:{h=2;break}case 2:{h=6;break}case 6:{h=4;break}case 4:{h=5;break}default:{}}k=k+1|0;if((k|0)==(l|0)){l=h;k=j;j=i;break a}}}else{l=h;k=e;j=f}while(0);Hb(k,j,s)|0;if(!p)H(27340,27315,194,27325);i=(n|0)!=0;h=(o|0)!=0;if(i&h)H(27367,27315,195,27325);if(!i)if(h){h=zb(k,j)|0;if((h|0)==7){h=5;break}if(a[21968+(h*7|0)+l>>0]|0){h=1;break}p=0;o=b[21136+(l*28|0)+(h<<2)>>2]|0}else{p=0;o=0}else{h=zb(c,d)|0;if((h|0)==7){h=5;break}if(a[21968+(h*7|0)+r>>0]|0){h=1;break}o=b[21136+(h*28|0)+(r<<2)>>2]|0;p=o}if((p|o|0)>=0){if((o|0)>0){e=s+4|0;f=s+8|0;n=s+12|0;l=0;j=b[e>>2]|0;i=b[f>>2]|0;h=b[n>>2]|0;do{q=i+j|0;d=(q|0)<0;u=d?q:0;i=h+i-u|0;c=(i|0)<0;k=c?i:0;j=h+j-u-k|0;u=(j|0)<0;h=u?0:j;j=u?j:0;i=(c?0:i)-j|0;j=(d?0:q)-k-j|0;k=(i|0)<(j|0)?i:j;k=(h|0)<(k|0)?h:k;if((k|0)>0){j=j-k|0;i=i-k|0;h=h-k|0}l=l+1|0}while((l|0)!=(o|0));b[e>>2]=j;b[f>>2]=i;b[n>>2]=h}if((r+-1|0)>>>0<6){h=b[22032+(r*12|0)>>2]|0;j=b[22032+(r*12|0)+4>>2]|0;u=b[22032+(r*12|0)+8>>2]|0;i=(j|0)<(h|0)?j:h;i=(u|0)<(i|0)?u:i;i=(i|0)>0?i:0;h=h-i|0;j=j-i|0;i=u-i|0}else{h=0;j=0;i=0}if(m)while(1){k=h*3|0;l=j*3|0;e=i*3|0;if(!(Fb(m)|0)){q=k+i|0;d=(q|0)<0;u=l+h-(d?q:0)|0;h=(u|0)<0;j=e+j-(d?q:0)-(h?u:0)|0;i=(j|0)<0;r=i?0:j;k=(h?0:u)-(i?j:0)|0;j=(d?0:q)-(h?u:0)-(i?j:0)|0;i=(k|0)<(j|0)?k:j;i=(r|0)<(i|0)?r:i;u=(i|0)>0;h=u?i:0;k=k-(u?i:0)|0;i=r-(u?i:0)|0}else{d=k+j|0;c=(d|0)<0;u=l+i-(c?d:0)|0;q=(u|0)<0;j=h+e-(c?d:0)-(q?u:0)|0;i=(j|0)<0;r=i?0:j;k=(q?0:u)-(i?j:0)|0;j=(c?0:d)-(q?u:0)-(i?j:0)|0;i=(k|0)<(j|0)?k:j;i=(r|0)<(i|0)?r:i;u=(i|0)>0;h=u?i:0;k=k-(u?i:0)|0;i=r-(u?i:0)|0}h=j-h|0;if((m|0)>1){m=m+-1|0;j=k}else{j=k;break}}if((p|0)>0){k=0;do{d=h+j|0;c=(d|0)<0;u=j+i-(c?d:0)|0;q=(u|0)<0;r=h+i-(c?d:0)-(q?u:0)|0;h=(r|0)<0;i=h?0:r;j=(q?0:u)-(h?r:0)|0;r=(c?0:d)-(q?u:0)-(h?r:0)|0;h=(j|0)<(r|0)?j:r;h=(i|0)<(h|0)?i:h;u=(h|0)>0;i=i-(u?h:0)|0;j=j-(u?h:0)|0;h=r-(u?h:0)|0;k=k+1|0}while((k|0)!=(p|0))}e=s+4|0;m=s+8|0;r=b[m>>2]|0;f=s+12|0;u=b[f>>2]|0;k=(b[e>>2]|0)+h|0;b[e>>2]=k;j=r+j|0;b[m>>2]=j;h=u+i|0;b[f>>2]=h;i=j-k|0;if((k|0)<0){h=h-k|0;b[m>>2]=i;b[f>>2]=h;b[e>>2]=0;j=0}else{i=j;j=k}if((i|0)<0){j=j-i|0;b[e>>2]=j;h=h-i|0;b[f>>2]=h;b[m>>2]=0;i=0}l=j-h|0;k=i-h|0;if((h|0)<0){b[e>>2]=l;b[m>>2]=k;b[f>>2]=0;j=l;h=0}else k=i;i=(k|0)<(j|0)?k:j;i=(h|0)<(i|0)?h:i;if((i|0)>0){b[e>>2]=j-i;b[m>>2]=k-i;b[f>>2]=h-i;q=77}else q=77}else h=5}while(0);if((q|0)==77){h=s+4|0;b[g>>2]=b[h>>2];b[g+4>>2]=b[h+4>>2];b[g+8>>2]=b[h+8>>2];h=0}u=h;S=t;return u|0}function ic(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=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;g=td(a|0,c|0,52)|0;G()|0;g=g&15;v=td(a|0,c|0,45)|0;G()|0;v=v&127;if(v>>>0>121){e=5;return e|0}r=ra(v)|0;ud(g|0,0,52)|0;i=G()|0|134225919;h=e;b[h>>2]=-1;b[h+4>>2]=i;h=b[d>>2]|0;i=b[d+4>>2]|0;d=b[d+8>>2]|0;if(!g){c=(h|0)<0;s=c?h:0;u=i-s|0;r=(u|0)<0;s=(r?0-u|0:0)+(d-s)|0;d=(s|0)<0;f=d?0:s;s=d?s:0;d=(r?0:u)-s|0;s=(c?0:h)-(r?u:0)-s|0;u=(d|0)<(s|0)?d:s;u=(f|0)<(u|0)?f:u;u=(u|0)>0?u:0;f=f-u|0;d=d-u|0;a:do switch(s-u|0){case 0:switch(d|0){case 0:if(!f){f=0;break a}else{f=(f|0)==1?1:7;t=11;break a}case 1:if(!f){f=2;break a}else{f=(f|0)==1?3:7;t=11;break a}default:{e=1;return e|0}}case 1:switch(d|0){case 0:if(!f){f=4;break a}else{f=(f|0)==1?5:7;t=11;break a}case 1:{if(!f){f=6;break a}else f=1;return f|0}default:{e=1;return e|0}}default:{e=1;return e|0}}while(0);if((t|0)==11)if((f|0)==7){e=1;return e|0}f=ya(v,f)|0;if((f|0)==127){e=1;return e|0}u=ud(f|0,0,45)|0;v=G()|0;t=e;v=b[t+4>>2]&-1040385|v;b[e>>2]=b[t>>2]|u;b[e+4>>2]=v;e=0;return e|0}while(1){q=g;g=g+-1|0;p=h-d|0;o=i-d|0;j=p>>>0>715827881|o>>>0>715827881;if(!(Fb(q)|0)){if(j){k=(p|0)>0;if(k?(2147483647-p|0)<(p|0):(-2147483648-p|0)>(p|0)){f=1;t=107;break}j=p<<1;l=(o|0)>0;if(l?(2147483647-o|0)<(o|0):(-2147483648-o|0)>(o|0)){f=1;t=107;break}n=o<<1;if(l?(2147483647-n|0)<(o|0):(-2147483648-n|0)>(o|0)){f=1;t=107;break}if(k?(2147483647-j|0)<(o|0):(-2147483648-j|0)>(o|0)){f=1;t=107;break}k=o*3|0;if((o|0)>-1?(k|-2147483648|0)>=(p|0):(k^-2147483648|0)<(p|0)){f=1;t=107;break}}else{j=p<<1;k=o*3|0}m=cd(+(j+o|0)*.14285714285714285)|0;l=cd(+(k-p|0)*.14285714285714285)|0;k=(l|0)<(m|0);j=k?m:l;k=k?l:m;if((k|0)<0){if((k|0)==-2147483648?1:(j|0)>0?(2147483647-j|0)<(k|0):(-2147483648-j|0)>(k|0)){t=36;break}if((j|0)>-1?(j|-2147483648|0)>=(k|0):(j^-2147483648|0)<(k|0)){t=36;break}}n=(m|0)<0;o=l-(n?m:0)|0;y=(o|0)<0;z=(n?0-m|0:0)-(y?o:0)|0;p=(z|0)<0;n=(n?0:m)-(y?o:0)-(p?z:0)|0;o=(y?0:o)-(p?z:0)|0;z=p?0:z;p=(o|0)<(n|0)?o:n;p=(z|0)<(p|0)?z:p;y=(p|0)>0;n=n-(y?p:0)|0;o=o-(y?p:0)|0;p=z-(y?p:0)|0;y=(n*3|0)+p|0;z=(y|0)<0;w=(o*3|0)+n-(z?y:0)|0;j=(w|0)<0;m=(p*3|0)+o-(z?y:0)-(j?w:0)|0;l=(m|0)<0;x=l?0:m;k=(j?0:w)-(l?m:0)|0;m=(z?0:y)-(j?w:0)-(l?m:0)|0;l=(k|0)<(m|0)?k:m;l=(x|0)<(l|0)?x:l;w=(l|0)>0;j=w?l:0;k=k-(w?l:0)|0;l=x-(w?l:0)|0}else{if(j){l=(p|0)>0;m=2147483647-p|0;n=-2147483648-p|0;if(l?(m|0)<(p|0):(n|0)>(p|0)){f=1;t=107;break}z=p<<1;if(l?(2147483647-z|0)<(p|0):(-2147483648-z|0)>(p|0)){f=1;t=107;break}if((o|0)>0?(2147483647-o|0)<(o|0):(-2147483648-o|0)>(o|0)){f=1;t=107;break}j=p*3|0;k=o<<1;if((l?(m|0)<(k|0):(n|0)>(k|0))?1:(p|0)>-1?(j|-2147483648|0)>=(o|0):(j^-2147483648|0)<(o|0)){f=1;t=107;break}}else{j=p*3|0;k=o<<1}m=cd(+(j-o|0)*.14285714285714285)|0;l=cd(+(k+p|0)*.14285714285714285)|0;k=(l|0)<(m|0);j=k?m:l;k=k?l:m;if((k|0)<0){if((k|0)==-2147483648?1:(j|0)>0?(2147483647-j|0)<(k|0):(-2147483648-j|0)>(k|0)){t=24;break}if((j|0)>-1?(j|-2147483648|0)>=(k|0):(j^-2147483648|0)<(k|0)){t=24;break}}n=(m|0)<0;o=l-(n?m:0)|0;x=(o|0)<0;w=(n?0-m|0:0)-(x?o:0)|0;p=(w|0)<0;n=(n?0:m)-(x?o:0)-(p?w:0)|0;o=(x?0:o)-(p?w:0)|0;w=p?0:w;p=(o|0)<(n|0)?o:n;p=(w|0)<(p|0)?w:p;x=(p|0)>0;n=n-(x?p:0)|0;o=o-(x?p:0)|0;p=w-(x?p:0)|0;x=(n*3|0)+o|0;w=(x|0)<0;z=(o*3|0)+p-(w?x:0)|0;j=(z|0)<0;m=(p*3|0)+n-(w?x:0)-(j?z:0)|0;l=(m|0)<0;y=l?0:m;k=(j?0:z)-(l?m:0)|0;m=(w?0:x)-(j?z:0)-(l?m:0)|0;l=(k|0)<(m|0)?k:m;l=(y|0)<(l|0)?y:l;z=(l|0)>0;j=z?l:0;k=k-(z?l:0)|0;l=y-(z?l:0)|0}j=h+(j-m)|0;y=(j|0)<0;k=i-k-(y?j:0)|0;m=(k|0)<0;w=d-l+(y?0-j|0:0)+(m?0-k|0:0)|0;h=(w|0)<0;l=h?0:w;z=(m?0:k)-(h?w:0)|0;w=(y?0:j)-(m?k:0)-(h?w:0)|0;h=(z|0)<(w|0)?z:w;h=(l|0)<(h|0)?l:h;d=(h|0)>0;w=w-(d?h:0)|0;k=e;m=b[k>>2]|0;k=b[k+4>>2]|0;i=(15-q|0)*3|0;j=ud(7,0,i|0)|0;j=m&~j;k=k&~(G()|0);m=(w|0)<0;y=m?w:0;z=z-(d?h:0)-y|0;x=(z|0)<0;y=(x?0-z|0:0)+(l-(d?h:0)-y)|0;h=(y|0)<0;d=h?0:y;y=h?y:0;h=(x?0:z)-y|0;y=(m?0:w)-(x?z:0)-y|0;z=(h|0)<(y|0)?h:y;z=(d|0)<(z|0)?d:z;z=(z|0)>0?z:0;d=d-z|0;h=h-z|0;b:do switch(y-z|0){case 0:switch(h|0){case 0:{d=(d|0)==0?0:(d|0)==1?1:7;break b}case 1:{d=(d|0)==0?2:(d|0)==1?3:7;break b}default:{t=45;break b}}case 1:switch(h|0){case 0:{d=(d|0)==0?4:(d|0)==1?5:7;break b}case 1:if(!d){d=6;break b}else{t=45;break b}default:{t=45;break b}}default:t=45}while(0);if((t|0)==45){t=0;d=7}x=ud(d|0,0,i|0)|0;y=G()|0|k;z=e;b[z>>2]=x|j;b[z+4>>2]=y;if((q|0)<=1){t=47;break}else{h=n;i=o;d=p}}if((t|0)==24)H(27634,27425,416,27447);else if((t|0)==36)H(27634,27425,464,27461);else if((t|0)==47){if((n|0)>1|(o|0)>1|(p|0)>1){z=1;return z|0}w=(n|0)<0;y=w?n:0;z=o-y|0;x=(z|0)<0;y=(x?0-z|0:0)+(p-y)|0;g=(y|0)<0;d=g?0:y;y=g?y:0;g=(x?0:z)-y|0;y=(w?0:n)-(x?z:0)-y|0;z=(g|0)<(y|0)?g:y;z=(d|0)<(z|0)?d:z;z=(z|0)>0?z:0;d=d-z|0;g=g-z|0;c:do switch(y-z|0){case 0:switch(g|0){case 0:{g=(d|0)==0?0:(d|0)==1?1:7;break c}case 1:{g=(d|0)==0?2:(d|0)==1?3:7;break c}default:{t=55;break c}}case 1:switch(g|0){case 0:{g=(d|0)==0?4:(d|0)==1?5:7;break c}case 1:if(!d){g=6;break c}else{t=55;break c}default:{t=55;break c}}default:t=55}while(0);if((t|0)==55)g=7;i=ya(v,g)|0;if((i|0)==127)k=0;else k=ra(i)|0;d:do if(!g)if((r|0)!=0&(k|0)!=0){f=zb(a,c)|0;d=e;d=zb(b[d>>2]|0,b[d+4>>2]|0)|0;if((f|0)==7|(d|0)==7){z=5;return z|0}d=b[21344+(f*28|0)+(d<<2)>>2]|0;if((d|0)<0){z=5;return z|0}if(!d){f=i;t=105}else{h=e;f=0;g=b[h>>2]|0;h=b[h+4>>2]|0;do{g=Bb(g,h)|0;h=G()|0;z=e;b[z>>2]=g;b[z+4>>2]=h;f=f+1|0}while((f|0)<(d|0));f=i;t=104}}else{f=i;t=104}else{if(r){d=zb(a,c)|0;if((d|0)==7){z=5;return z|0}h=b[21344+(d*28|0)+(g<<2)>>2]|0;e:do if((h|0)>0){d=g;g=0;while(1){switch(d|0){case 1:{d=5;break}case 5:{d=4;break}case 4:{d=6;break}case 6:{d=2;break}case 2:{d=3;break}case 3:{d=1;break}default:{}}g=g+1|0;if((g|0)==(h|0))break e}}else d=g;while(0);if((d|0)==1){z=9;return z|0}g=ya(v,d)|0;if((g|0)==127)H(27476,27315,415,27506);if(!(ra(g)|0)){f=g;u=h;s=d}else H(27521,27315,416,27506)}else{f=i;u=0;s=g}j=b[4272+(v*28|0)+(s<<2)>>2]|0;if((j|0)<=-1)H(27552,27315,423,27506);if(!k){if((u|0)<0){z=5;return z|0}if(u|0){h=e;d=0;g=b[h>>2]|0;h=b[h+4>>2]|0;do{g=Bb(g,h)|0;h=G()|0;z=e;b[z>>2]=g;b[z+4>>2]=h;d=d+1|0}while((d|0)<(u|0))}if((j|0)<=0){t=104;break}h=e;d=0;g=b[h>>2]|0;h=b[h+4>>2]|0;while(1){g=Bb(g,h)|0;h=G()|0;z=e;b[z>>2]=g;b[z+4>>2]=h;d=d+1|0;if((d|0)==(j|0)){t=104;break d}}}i=za(f,v)|0;if((i|0)==7)H(27291,27315,432,27506);d=e;g=b[d>>2]|0;d=b[d+4>>2]|0;if((j|0)>0){h=0;do{g=Bb(g,d)|0;d=G()|0;z=e;b[z>>2]=g;b[z+4>>2]=d;h=h+1|0}while((h|0)!=(j|0))}d=zb(g,d)|0;if((d|0)==7)H(27634,27315,444,27506);g=sa(f)|0;g=b[(g?21760:21552)+(i*28|0)+(d<<2)>>2]|0;if((g|0)<0)H(27634,27315,458,27506);if(!g)t=104;else{i=e;d=0;h=b[i>>2]|0;i=b[i+4>>2]|0;do{h=Ab(h,i)|0;i=G()|0;z=e;b[z>>2]=h;b[z+4>>2]=i;d=d+1|0}while((d|0)<(g|0));t=104}}while(0);if((t|0)==104)if(k)t=105;if((t|0)==105){z=e;if((zb(b[z>>2]|0,b[z+4>>2]|0)|0)==1){z=9;return z|0}}y=e;w=b[y>>2]|0;y=b[y+4>>2]&-1040385;x=ud(f|0,0,45)|0;y=y|(G()|0);z=e;b[z>>2]=w|x;b[z+4>>2]=y;z=0;return z|0}else if((t|0)==107)return f|0;return 0}function jc(a,c,d,e,f,g){a=a|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0;i=S;S=S+16|0;h=i;if(f|0){h=15;S=i;return h|0}a=hc(a,c,d,e,h)|0;if(!a){f=b[h+4>>2]|0;a=b[h+8>>2]|0;b[g>>2]=(b[h>>2]|0)-a;b[g+4>>2]=f-a;a=0}h=a;S=i;return h|0}function kc(a,c,d,e,f){a=a|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0;m=S;S=S+16|0;l=m;if(e|0){l=15;S=m;return l|0}i=b[d>>2]|0;h=b[d+4>>2]|0;b[l>>2]=i;j=l+4|0;b[j>>2]=h;k=l+8|0;b[k>>2]=0;d=(h|0)<(i|0);e=d?i:h;d=d?h:i;if((d|0)<0)if(!((d|0)==-2147483648?1:(e|0)>0?(2147483647-e|0)<(d|0):(-2147483648-e|0)>(d|0))?!((e|0)>-1?(e|-2147483648|0)>=(d|0):(e^-2147483648|0)<(d|0)):0)g=5;else e=1;else g=5;if((g|0)==5){e=h-i|0;g=0-i|0;if((i|0)<0){b[j>>2]=e;b[k>>2]=g;b[l>>2]=0;i=0}else{e=h;g=0}h=i-e|0;d=g-e|0;if((e|0)<0){b[l>>2]=h;b[k>>2]=d;b[j>>2]=0;i=h;e=0}else d=g;h=i-d|0;g=e-d|0;if((d|0)<0){b[l>>2]=h;b[j>>2]=g;b[k>>2]=0;d=0}else{g=e;h=i}e=(g|0)<(h|0)?g:h;e=(d|0)<(e|0)?d:e;if((e|0)>0){b[l>>2]=h-e;b[j>>2]=g-e;b[k>>2]=d-e}e=ic(a,c,l,f)|0}l=e;S=m;return l|0}function lc(a,c,d,e,f){a=a|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0;j=S;S=S+32|0;h=j+12|0;i=j;g=hc(a,c,a,c,h)|0;if(g|0){i=g;S=j;return i|0}a=hc(a,c,d,e,i)|0;if(a|0){i=a;S=j;return i|0}a=(b[h>>2]|0)-(b[i>>2]|0)|0;k=(a|0)<0;e=k?0-a|0:0;d=e+((b[h+4>>2]|0)-(b[i+4>>2]|0))|0;c=(d|0)<0;e=(b[h+8>>2]|0)-(b[i+8>>2]|0)+e+(c?0-d|0:0)|0;g=(e|0)<0;h=g?0:e;e=g?e:0;g=(c?0:d)-e|0;e=(k?0:a)-(c?d:0)-e|0;i=(g|0)<(e|0)?g:e;i=(h|0)<(i|0)?h:i;i=(i|0)>0?i:0;h=h-i|0;g=g-i|0;i=e-i|0;i=(i|0)>-1?i:0-i|0;g=(g|0)>-1?g:0-g|0;h=(h|0)>-1?h:0-h|0;h=(g|0)>(h|0)?g:h;h=(i|0)>(h|0)?i:h;i=f;b[i>>2]=h;b[i+4>>2]=((h|0)<0)<<31>>31;i=0;S=j;return i|0}function mc(a,c,d,e,f){a=a|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0;h=S;S=S+16|0;g=h;a=lc(a,c,d,e,g)|0;if(a|0){g=a;S=h;return g|0}d=g;d=jd(b[d>>2]|0,b[d+4>>2]|0,1,0)|0;e=G()|0;g=f;b[g>>2]=d;b[g+4>>2]=e;g=0;S=h;return g|0}function nc(a,c,d,e,f){a=a|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0;j=S;S=S+16|0;g=j;h=lc(a,c,d,e,g)|0;if(h|0){f=h;S=j;return f|0}h=g;g=b[h>>2]|0;h=b[h+4>>2]|0;if((g|0)==0&(h|0)==0){b[f>>2]=a;b[f+4>>2]=c;f=0;S=j;return f|0}i=oc(a,c,d,e,g,h,f,0,0,1,0)|0;if(!i){f=0;S=j;return f|0}f=(oc(d,e,a,c,g,h,f,g,h,-1,-1)|0)==0;f=f?0:i;S=j;return f|0}function oc(a,c,d,e,f,g,h,i,j,k,l){a=a|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;l=l|0;var m=0,n=0,o=0.0,p=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,A=0,B=0,C=0,D=0,E=0.0;D=S;S=S+48|0;m=D+24|0;n=D+12|0;C=D;b[m>>2]=0;b[m+4>>2]=0;b[m+8>>2]=0;b[n>>2]=0;b[n+4>>2]=0;b[n+8>>2]=0;if(hc(a,c,a,c,m)|0)H(27634,27315,696,27575);if(hc(a,c,d,e,n)|0)H(27634,27315,701,27575);r=m+8|0;e=b[r>>2]|0;d=e-(b[m>>2]|0)|0;b[m>>2]=d;B=m+4|0;e=(b[B>>2]|0)-e|0;b[B>>2]=e;B=e+d|0;m=0-B|0;b[r>>2]=m;r=n+8|0;u=b[r>>2]|0;t=u-(b[n>>2]|0)|0;b[n>>2]=t;A=n+4|0;u=(b[A>>2]|0)-u|0;b[A>>2]=u;A=u+t|0;b[r>>2]=0-A;z=1.0/(+(f>>>0)+4294967296.0*+(g|0));x=z*+(t-d|0);y=z*+(u-e|0);z=z*+(B-A|0);b[C>>2]=d;A=C+4|0;b[A>>2]=e;B=C+8|0;b[B>>2]=m;if((g|0)<0){k=0;S=D;return k|0}w=+(d|0);v=+(e|0);s=+(m|0);t=0;u=0;while(1){p=+(t>>>0)+4294967296.0*+(u|0);E=x*p+w;o=y*p+v;p=z*p+s;e=~~+yd(+E);m=~~+yd(+o);d=~~+yd(+p);E=+q(+(+(e|0)-E));o=+q(+(+(m|0)-o));p=+q(+(+(d|0)-p));if(!(E>o&E>p)){n=0-e|0;if(o>p)m=n-d|0}else{n=d+m|0;e=0-n|0}b[A>>2]=m;b[C>>2]=n;b[B>>2]=0;d=e+m|0;if((e|0)>0){b[A>>2]=d;b[B>>2]=e;b[C>>2]=0;n=0}else{d=m;e=0}if((d|0)<0){m=n-d|0;b[C>>2]=m;e=e-d|0;b[B>>2]=e;b[A>>2]=0;n=m-e|0;d=0-e|0;if((e|0)<0){b[C>>2]=n;b[A>>2]=d;b[B>>2]=0;r=d;e=0}else{r=0;n=m}}else r=d;d=(r|0)<(n|0)?r:n;d=(e|0)<(d|0)?e:d;if((d|0)>0){b[C>>2]=n-d;b[A>>2]=r-d;b[B>>2]=e-d}d=pd(t|0,u|0,k|0,l|0)|0;d=jd(d|0,G()|0,i|0,j|0)|0;G()|0;d=ic(a,c,C,h+(d<<3)|0)|0;if(d|0){e=20;break}r=t;t=jd(t|0,u|0,1,0)|0;n=u;u=G()|0;if(!((n|0)<(g|0)|(n|0)==(g|0)&r>>>0>>0)){d=0;e=20;break}}if((e|0)==20){S=D;return d|0}return 0}function pc(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0;if((c|0)==0&(d|0)==0){e=0;f=1;F(e|0);return f|0}f=a;e=b;a=1;b=0;do{g=(c&1|0)==0&0==0;a=pd((g?1:f)|0,(g?0:e)|0,a|0,b|0)|0;b=G()|0;c=sd(c|0,d|0,1)|0;d=G()|0;f=pd(f|0,e|0,f|0,e|0)|0;e=G()|0}while(!((c|0)==0&(d|0)==0));F(b|0);return a|0}function qc(a,c,d,f){a=a|0;c=c|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0.0,l=0.0,m=0.0;j=S;S=S+16|0;h=j;i=td(a|0,c|0,52)|0;G()|0;i=i&15;do if(!i){g=td(a|0,c|0,45)|0;G()|0;g=g&127;if(g>>>0>121){i=5;S=j;return i|0}else{h=22128+(g<<5)|0;b[d>>2]=b[h>>2];b[d+4>>2]=b[h+4>>2];b[d+8>>2]=b[h+8>>2];b[d+12>>2]=b[h+12>>2];b[d+16>>2]=b[h+16>>2];b[d+20>>2]=b[h+20>>2];b[d+24>>2]=b[h+24>>2];b[d+28>>2]=b[h+28>>2];break}}else{g=Jb(a,c,h)|0;if(!g){l=+e[h>>3];k=1.0/+s(+l);m=+e[26032+(i<<3)>>3];e[d>>3]=l+m;e[d+8>>3]=l-m;l=+e[h+8>>3];k=m*k;e[d+16>>3]=k+l;e[d+24>>3]=l-k;break}i=g;S=j;return i|0}while(0);Ma(d,f?1.4:1.1);f=26160+(i<<3)|0;if((b[f>>2]|0)==(a|0)?(b[f+4>>2]|0)==(c|0):0)e[d>>3]=1.5707963267948966;i=26288+(i<<3)|0;if((b[i>>2]|0)==(a|0)?(b[i+4>>2]|0)==(c|0):0)e[d+8>>3]=-1.5707963267948966;if(!(+e[d>>3]==1.5707963267948966)?!(+e[d+8>>3]==-1.5707963267948966):0){i=0;S=j;return i|0}e[d+16>>3]=3.141592653589793;e[d+24>>3]=-3.141592653589793;i=0;S=j;return i|0}function rc(c,d,e,f){c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0;l=S;S=S+48|0;i=l+32|0;h=l+40|0;j=l;ob(i,0,0,0);k=b[i>>2]|0;i=b[i+4>>2]|0;do if(e>>>0<=15){g=yc(f)|0;if(g|0){f=j;b[f>>2]=0;b[f+4>>2]=0;b[j+8>>2]=g;b[j+12>>2]=-1;f=j+16|0;k=j+29|0;b[f>>2]=0;b[f+4>>2]=0;b[f+8>>2]=0;a[f+12>>0]=0;a[k>>0]=a[h>>0]|0;a[k+1>>0]=a[h+1>>0]|0;a[k+2>>0]=a[h+2>>0]|0;break}g=fd((b[d+8>>2]|0)+1|0,32)|0;if(!g){f=j;b[f>>2]=0;b[f+4>>2]=0;b[j+8>>2]=13;b[j+12>>2]=-1;f=j+16|0;k=j+29|0;b[f>>2]=0;b[f+4>>2]=0;b[f+8>>2]=0;a[f+12>>0]=0;a[k>>0]=a[h>>0]|0;a[k+1>>0]=a[h+1>>0]|0;a[k+2>>0]=a[h+2>>0]|0;break}else{zc(d,g);m=j;b[m>>2]=k;b[m+4>>2]=i;b[j+8>>2]=0;b[j+12>>2]=e;b[j+16>>2]=f;b[j+20>>2]=d;b[j+24>>2]=g;a[j+28>>0]=0;k=j+29|0;a[k>>0]=a[h>>0]|0;a[k+1>>0]=a[h+1>>0]|0;a[k+2>>0]=a[h+2>>0]|0;break}}else{k=j;b[k>>2]=0;b[k+4>>2]=0;b[j+8>>2]=4;b[j+12>>2]=-1;k=j+16|0;m=j+29|0;b[k>>2]=0;b[k+4>>2]=0;b[k+8>>2]=0;a[k+12>>0]=0;a[m>>0]=a[h>>0]|0;a[m+1>>0]=a[h+1>>0]|0;a[m+2>>0]=a[h+2>>0]|0}while(0);sc(j);b[c>>2]=b[j>>2];b[c+4>>2]=b[j+4>>2];b[c+8>>2]=b[j+8>>2];b[c+12>>2]=b[j+12>>2];b[c+16>>2]=b[j+16>>2];b[c+20>>2]=b[j+20>>2];b[c+24>>2]=b[j+24>>2];b[c+28>>2]=b[j+28>>2];S=l;return}function sc(c){c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;w=S;S=S+336|0;p=w+168|0;q=w;f=c;e=b[f>>2]|0;f=b[f+4>>2]|0;if((e|0)==0&(f|0)==0){S=w;return}d=c+28|0;if(!(a[d>>0]|0))a[d>>0]=1;else{e=tc(e,f)|0;f=G()|0}v=c+20|0;if(!(b[b[v>>2]>>2]|0)){d=c+24|0;e=b[d>>2]|0;if(e|0)ed(e);u=c;b[u>>2]=0;b[u+4>>2]=0;b[c+8>>2]=0;b[v>>2]=0;b[c+12>>2]=-1;b[c+16>>2]=0;b[d>>2]=0;S=w;return}u=c+16|0;d=b[u>>2]|0;g=d&15;a:do if(!((e|0)==0&(f|0)==0)){r=c+12|0;n=(g|0)==3;m=d&255;k=(g|1|0)==3;o=c+24|0;l=(g+-1|0)>>>0<3;i=(g|2|0)==3;j=q+8|0;b:while(1){h=td(e|0,f|0,52)|0;G()|0;h=h&15;if((h|0)==(b[r>>2]|0)){switch(m&15){case 0:case 2:case 3:{g=Jb(e,f,p)|0;if(g|0){s=15;break b}if(Ac(b[v>>2]|0,b[o>>2]|0,p)|0){s=19;break b}break}default:{}}if(k?(g=b[(b[v>>2]|0)+4>>2]|0,b[p>>2]=b[g>>2],b[p+4>>2]=b[g+4>>2],b[p+8>>2]=b[g+8>>2],b[p+12>>2]=b[g+12>>2],Fa(26896,p)|0):0){if(Gb(b[(b[v>>2]|0)+4>>2]|0,h,q)|0){s=25;break}g=q;if((b[g>>2]|0)==(e|0)?(b[g+4>>2]|0)==(f|0):0){s=29;break}}if(l){g=Kb(e,f,p)|0;if(g|0){s=32;break}if(qc(e,f,q,0)|0){s=36;break}if(i?Bc(b[v>>2]|0,b[o>>2]|0,p,q)|0:0){s=42;break}if(k?Dc(b[v>>2]|0,b[o>>2]|0,p,q)|0:0){s=42;break}}if(n){d=qc(e,f,p,1)|0;g=b[o>>2]|0;if(d|0){s=45;break}if(Ga(g,p)|0){Ja(q,p);if(Ia(p,b[o>>2]|0)|0){s=53;break}if(Ac(b[v>>2]|0,b[o>>2]|0,j)|0){s=53;break}if(Dc(b[v>>2]|0,b[o>>2]|0,q,p)|0){s=53;break}}}}do if((h|0)<(b[r>>2]|0)){d=qc(e,f,p,1)|0;g=b[o>>2]|0;if(d|0){s=58;break b}if(!(Ga(g,p)|0)){s=73;break}if(Ia(b[o>>2]|0,p)|0?(Ja(q,p),Bc(b[v>>2]|0,b[o>>2]|0,q,p)|0):0){s=65;break b}e=ub(e,f,h+1|0,q)|0;if(e|0){s=67;break b}f=q;e=b[f>>2]|0;f=b[f+4>>2]|0}else s=73;while(0);if((s|0)==73){s=0;e=tc(e,f)|0;f=G()|0}if((e|0)==0&(f|0)==0){t=o;break a}}switch(s|0){case 15:{d=b[o>>2]|0;if(d|0)ed(d);s=c;b[s>>2]=0;b[s+4>>2]=0;b[v>>2]=0;b[r>>2]=-1;b[u>>2]=0;b[o>>2]=0;b[c+8>>2]=g;s=20;break}case 19:{b[c>>2]=e;b[c+4>>2]=f;s=20;break}case 25:{H(27634,27600,470,27611);break}case 29:{b[c>>2]=e;b[c+4>>2]=f;S=w;return}case 32:{d=b[o>>2]|0;if(d|0)ed(d);t=c;b[t>>2]=0;b[t+4>>2]=0;b[v>>2]=0;b[r>>2]=-1;b[u>>2]=0;b[o>>2]=0;b[c+8>>2]=g;S=w;return}case 36:{H(27634,27600,493,27611);break}case 42:{b[c>>2]=e;b[c+4>>2]=f;S=w;return}case 45:{if(g|0)ed(g);s=c;b[s>>2]=0;b[s+4>>2]=0;b[v>>2]=0;b[r>>2]=-1;b[u>>2]=0;b[o>>2]=0;b[c+8>>2]=d;s=55;break}case 53:{b[c>>2]=e;b[c+4>>2]=f;s=55;break}case 58:{if(g|0)ed(g);s=c;b[s>>2]=0;b[s+4>>2]=0;b[v>>2]=0;b[r>>2]=-1;b[u>>2]=0;b[o>>2]=0;b[c+8>>2]=d;s=71;break}case 65:{b[c>>2]=e;b[c+4>>2]=f;s=71;break}case 67:{d=b[o>>2]|0;if(d|0)ed(d);t=c;b[t>>2]=0;b[t+4>>2]=0;b[v>>2]=0;b[r>>2]=-1;b[u>>2]=0;b[o>>2]=0;b[c+8>>2]=e;S=w;return}}if((s|0)==20){S=w;return}else if((s|0)==55){S=w;return}else if((s|0)==71){S=w;return}}else t=c+24|0;while(0);d=b[t>>2]|0;if(d|0)ed(d);s=c;b[s>>2]=0;b[s+4>>2]=0;b[c+8>>2]=0;b[v>>2]=0;b[c+12>>2]=-1;b[u>>2]=0;b[t>>2]=0;S=w;return}function tc(a,c){a=a|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;m=S;S=S+16|0;l=m;e=td(a|0,c|0,52)|0;G()|0;e=e&15;d=td(a|0,c|0,45)|0;G()|0;do if(e){while(1){d=ud(e+4095|0,0,52)|0;f=G()|0|c&-15728641;g=(15-e|0)*3|0;h=ud(7,0,g|0)|0;i=G()|0;d=d|a|h;f=f|i;j=td(a|0,c|0,g|0)|0;G()|0;j=j&7;e=e+-1|0;if(j>>>0<6)break;if(!e){k=4;break}else{c=f;a=d}}if((k|0)==4){d=td(d|0,f|0,45)|0;G()|0;break}l=(j|0)==0&(rb(d,f)|0)!=0;l=ud((l?2:1)+j|0,0,g|0)|0;k=G()|0|c&~i;l=l|a&~h;F(k|0);S=m;return l|0}while(0);d=d&127;if(d>>>0>120){k=0;l=0;F(k|0);S=m;return l|0}ob(l,0,d+1|0,0);k=b[l+4>>2]|0;l=b[l>>2]|0;F(k|0);S=m;return l|0}function uc(a,c,d,e,f,g){a=a|0;c=c|0;d=d|0;e=e|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,q=0,r=0;r=S;S=S+160|0;m=r+80|0;i=r+64|0;n=r+112|0;q=r;rc(m,a,c,d);k=m;Rb(i,b[k>>2]|0,b[k+4>>2]|0,c);k=i;j=b[k>>2]|0;k=b[k+4>>2]|0;h=b[m+8>>2]|0;o=n+4|0;b[o>>2]=b[m>>2];b[o+4>>2]=b[m+4>>2];b[o+8>>2]=b[m+8>>2];b[o+12>>2]=b[m+12>>2];b[o+16>>2]=b[m+16>>2];b[o+20>>2]=b[m+20>>2];b[o+24>>2]=b[m+24>>2];b[o+28>>2]=b[m+28>>2];o=q;b[o>>2]=j;b[o+4>>2]=k;o=q+8|0;b[o>>2]=h;a=q+12|0;c=n;d=a+36|0;do{b[a>>2]=b[c>>2];a=a+4|0;c=c+4|0}while((a|0)<(d|0));n=q+48|0;b[n>>2]=b[i>>2];b[n+4>>2]=b[i+4>>2];b[n+8>>2]=b[i+8>>2];b[n+12>>2]=b[i+12>>2];if((j|0)==0&(k|0)==0){q=h;S=r;return q|0}d=q+16|0;l=q+24|0;m=q+28|0;h=0;i=0;c=j;a=k;do{if(!((h|0)<(f|0)|(h|0)==(f|0)&i>>>0>>0)){p=4;break}k=i;i=jd(i|0,h|0,1,0)|0;h=G()|0;k=g+(k<<3)|0;b[k>>2]=c;b[k+4>>2]=a;Tb(n);a=n;c=b[a>>2]|0;a=b[a+4>>2]|0;if((c|0)==0&(a|0)==0){sc(d);c=d;a=b[c>>2]|0;c=b[c+4>>2]|0;if((a|0)==0&(c|0)==0){p=10;break}Sb(a,c,b[m>>2]|0,n);a=n;c=b[a>>2]|0;a=b[a+4>>2]|0}k=q;b[k>>2]=c;b[k+4>>2]=a}while(!((c|0)==0&(a|0)==0));if((p|0)==4){a=q+40|0;c=b[a>>2]|0;if(c|0)ed(c);p=q+16|0;b[p>>2]=0;b[p+4>>2]=0;b[l>>2]=0;b[q+36>>2]=0;b[m>>2]=-1;b[q+32>>2]=0;b[a>>2]=0;Sb(0,0,0,n);b[q>>2]=0;b[q+4>>2]=0;b[o>>2]=0;q=14;S=r;return q|0}else if((p|0)==10){b[q>>2]=0;b[q+4>>2]=0;b[o>>2]=b[l>>2]}q=b[o>>2]|0;S=r;return q|0}
+function vc(c,d,f,g){c=c|0;d=d|0;f=f|0;g=g|0;var h=0,i=0.0,j=0,k=0,l=0,m=0,n=0,o=0,p=0.0,r=0;o=S;S=S+48|0;l=o+32|0;k=o+40|0;m=o;if(!(b[c>>2]|0)){n=g;b[n>>2]=0;b[n+4>>2]=0;n=0;S=o;return n|0}ob(l,0,0,0);j=l;h=b[j>>2]|0;j=b[j+4>>2]|0;do if(d>>>0>15){n=m;b[n>>2]=0;b[n+4>>2]=0;b[m+8>>2]=4;b[m+12>>2]=-1;n=m+16|0;f=m+29|0;b[n>>2]=0;b[n+4>>2]=0;b[n+8>>2]=0;a[n+12>>0]=0;a[f>>0]=a[k>>0]|0;a[f+1>>0]=a[k+1>>0]|0;a[f+2>>0]=a[k+2>>0]|0;f=4;n=9}else{f=yc(f)|0;if(f|0){l=m;b[l>>2]=0;b[l+4>>2]=0;b[m+8>>2]=f;b[m+12>>2]=-1;l=m+16|0;n=m+29|0;b[l>>2]=0;b[l+4>>2]=0;b[l+8>>2]=0;a[l+12>>0]=0;a[n>>0]=a[k>>0]|0;a[n+1>>0]=a[k+1>>0]|0;a[n+2>>0]=a[k+2>>0]|0;n=9;break}f=fd((b[c+8>>2]|0)+1|0,32)|0;if(!f){n=m;b[n>>2]=0;b[n+4>>2]=0;b[m+8>>2]=13;b[m+12>>2]=-1;n=m+16|0;f=m+29|0;b[n>>2]=0;b[n+4>>2]=0;b[n+8>>2]=0;a[n+12>>0]=0;a[f>>0]=a[k>>0]|0;a[f+1>>0]=a[k+1>>0]|0;a[f+2>>0]=a[k+2>>0]|0;f=13;n=9;break}zc(c,f);r=m;b[r>>2]=h;b[r+4>>2]=j;j=m+8|0;b[j>>2]=0;b[m+12>>2]=d;b[m+20>>2]=c;b[m+24>>2]=f;a[m+28>>0]=0;h=m+29|0;a[h>>0]=a[k>>0]|0;a[h+1>>0]=a[k+1>>0]|0;a[h+2>>0]=a[k+2>>0]|0;b[m+16>>2]=3;p=+Ea(f);p=p*+Ca(f);i=+q(+(+e[f>>3]));i=p/+s(+(+xd(+i,+(+q(+(+e[f+8>>3]))))))*6371.007180918475*6371.007180918475;h=m+12|0;f=b[h>>2]|0;a:do if((f|0)>0)do{Zb(f+-1|0,l)|0;if(!(i/+e[l>>3]>10.0))break a;r=b[h>>2]|0;f=r+-1|0;b[h>>2]=f}while((r|0)>1);while(0);sc(m);h=g;b[h>>2]=0;b[h+4>>2]=0;h=m;f=b[h>>2]|0;h=b[h+4>>2]|0;if(!((f|0)==0&(h|0)==0))do{qb(f,h,d,l)|0;k=l;c=g;k=jd(b[c>>2]|0,b[c+4>>2]|0,b[k>>2]|0,b[k+4>>2]|0)|0;c=G()|0;r=g;b[r>>2]=k;b[r+4>>2]=c;sc(m);r=m;f=b[r>>2]|0;h=b[r+4>>2]|0}while(!((f|0)==0&(h|0)==0));f=b[j>>2]|0}while(0);r=f;S=o;return r|0}function wc(a,c,d){a=a|0;c=c|0;d=d|0;var f=0.0,g=0.0,h=0.0,i=0.0,j=0.0,k=0.0,l=0,m=0.0,n=0,o=0;if(!(Fa(c,d)|0)){o=0;return o|0}c=Da(c)|0;f=+e[d>>3];g=+e[d+8>>3];g=c&g<0.0?g+6.283185307179586:g;o=b[a>>2]|0;if((o|0)<=0){o=0;return o|0}n=b[a+4>>2]|0;if(c){c=0;m=g;d=-1;a=0;a:while(1){l=a;while(1){i=+e[n+(l<<4)>>3];g=+e[n+(l<<4)+8>>3];a=(d+2|0)%(o|0)|0;h=+e[n+(a<<4)>>3];j=+e[n+(a<<4)+8>>3];if(i>h){k=i;i=j}else{k=h;h=i;i=g;g=j}f=f==h|f==k?f+2.220446049250313e-16:f;if(!(fk))break;d=l+1|0;if((d|0)>=(o|0)){d=22;break a}else{a=l;l=d;d=a}}j=i<0.0?i+6.283185307179586:i;i=g<0.0?g+6.283185307179586:g;m=j==m|i==m?m+-2.220446049250313e-16:m;k=j+(i-j)*((f-h)/(k-h));if((k<0.0?k+6.283185307179586:k)>m)c=c^1;a=l+1|0;if((a|0)>=(o|0)){d=22;break}else d=l}if((d|0)==22)return c|0}else{c=0;m=g;d=-1;a=0;b:while(1){l=a;while(1){i=+e[n+(l<<4)>>3];g=+e[n+(l<<4)+8>>3];a=(d+2|0)%(o|0)|0;h=+e[n+(a<<4)>>3];j=+e[n+(a<<4)+8>>3];if(i>h){k=i;i=j}else{k=h;h=i;i=g;g=j}f=f==h|f==k?f+2.220446049250313e-16:f;if(!(fk))break;d=l+1|0;if((d|0)>=(o|0)){d=22;break b}else{a=l;l=d;d=a}}m=i==m|g==m?m+-2.220446049250313e-16:m;if(i+(g-i)*((f-h)/(k-h))>m)c=c^1;a=l+1|0;if((a|0)>=(o|0)){d=22;break}else d=l}if((d|0)==22)return c|0}return 0}function xc(a,c){a=a|0;c=c|0;var d=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,o=0,p=0,r=0,s=0,t=0,u=0,v=0;r=b[a>>2]|0;if(!r){b[c>>2]=0;b[c+4>>2]=0;b[c+8>>2]=0;b[c+12>>2]=0;b[c+16>>2]=0;b[c+20>>2]=0;b[c+24>>2]=0;b[c+28>>2]=0;return}s=c+8|0;e[s>>3]=1797693134862315708145274.0e284;t=c+24|0;e[t>>3]=1797693134862315708145274.0e284;e[c>>3]=-1797693134862315708145274.0e284;u=c+16|0;e[u>>3]=-1797693134862315708145274.0e284;if((r|0)<=0)return;o=b[a+4>>2]|0;l=1797693134862315708145274.0e284;m=-1797693134862315708145274.0e284;n=0;a=-1;h=1797693134862315708145274.0e284;i=1797693134862315708145274.0e284;k=-1797693134862315708145274.0e284;f=-1797693134862315708145274.0e284;p=0;while(1){d=+e[o+(p<<4)>>3];j=+e[o+(p<<4)+8>>3];a=a+2|0;g=+e[o+(((a|0)==(r|0)?0:a)<<4)+8>>3];if(d>3]=d;h=d}if(j>3]=j;i=j}if(d>k)e[c>>3]=d;else d=k;if(j>f){e[u>>3]=j;f=j}l=j>0.0&jm?j:m;n=n|+q(+(j-g))>3.141592653589793;a=p+1|0;if((a|0)==(r|0))break;else{v=p;k=d;p=a;a=v}}if(!n)return;e[u>>3]=m;e[t>>3]=l;return}function yc(a){a=a|0;return (a>>>0<4?0:15)|0}function zc(a,c){a=a|0;c=c|0;var d=0,f=0,g=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,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;r=b[a>>2]|0;if(r){s=c+8|0;e[s>>3]=1797693134862315708145274.0e284;t=c+24|0;e[t>>3]=1797693134862315708145274.0e284;e[c>>3]=-1797693134862315708145274.0e284;u=c+16|0;e[u>>3]=-1797693134862315708145274.0e284;if((r|0)>0){g=b[a+4>>2]|0;o=1797693134862315708145274.0e284;p=-1797693134862315708145274.0e284;f=0;d=-1;k=1797693134862315708145274.0e284;l=1797693134862315708145274.0e284;n=-1797693134862315708145274.0e284;i=-1797693134862315708145274.0e284;v=0;while(1){h=+e[g+(v<<4)>>3];m=+e[g+(v<<4)+8>>3];z=d+2|0;j=+e[g+(((z|0)==(r|0)?0:z)<<4)+8>>3];if(h>3]=h;k=h}if(m>3]=m;l=m}if(h>n)e[c>>3]=h;else h=n;if(m>i){e[u>>3]=m;i=m}o=m>0.0&mp?m:p;f=f|+q(+(m-j))>3.141592653589793;d=v+1|0;if((d|0)==(r|0))break;else{z=v;n=h;v=d;d=z}}if(f){e[u>>3]=p;e[t>>3]=o}}}else{b[c>>2]=0;b[c+4>>2]=0;b[c+8>>2]=0;b[c+12>>2]=0;b[c+16>>2]=0;b[c+20>>2]=0;b[c+24>>2]=0;b[c+28>>2]=0}z=a+8|0;d=b[z>>2]|0;if((d|0)<=0)return;y=a+12|0;x=0;do{g=b[y>>2]|0;f=x;x=x+1|0;t=c+(x<<5)|0;u=b[g+(f<<3)>>2]|0;if(u){v=c+(x<<5)+8|0;e[v>>3]=1797693134862315708145274.0e284;a=c+(x<<5)+24|0;e[a>>3]=1797693134862315708145274.0e284;e[t>>3]=-1797693134862315708145274.0e284;w=c+(x<<5)+16|0;e[w>>3]=-1797693134862315708145274.0e284;if((u|0)>0){r=b[g+(f<<3)+4>>2]|0;o=1797693134862315708145274.0e284;p=-1797693134862315708145274.0e284;g=0;f=-1;s=0;k=1797693134862315708145274.0e284;l=1797693134862315708145274.0e284;m=-1797693134862315708145274.0e284;i=-1797693134862315708145274.0e284;while(1){h=+e[r+(s<<4)>>3];n=+e[r+(s<<4)+8>>3];f=f+2|0;j=+e[r+(((f|0)==(u|0)?0:f)<<4)+8>>3];if(h>3]=h;k=h}if(n>3]=n;l=n}if(h>m)e[t>>3]=h;else h=m;if(n>i){e[w>>3]=n;i=n}o=n>0.0&np?n:p;g=g|+q(+(n-j))>3.141592653589793;f=s+1|0;if((f|0)==(u|0))break;else{A=s;s=f;m=h;f=A}}if(g){e[w>>3]=p;e[a>>3]=o}}}else{b[t>>2]=0;b[t+4>>2]=0;b[t+8>>2]=0;b[t+12>>2]=0;b[t+16>>2]=0;b[t+20>>2]=0;b[t+24>>2]=0;b[t+28>>2]=0;d=b[z>>2]|0}}while((x|0)<(d|0));return}function Ac(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,f=0,g=0;if(!(wc(a,c,d)|0)){f=0;return f|0}f=a+8|0;if((b[f>>2]|0)<=0){f=1;return f|0}e=a+12|0;a=0;while(1){g=a;a=a+1|0;if(wc((b[e>>2]|0)+(g<<3)|0,c+(a<<5)|0,d)|0){a=0;e=6;break}if((a|0)>=(b[f>>2]|0)){a=1;e=6;break}}if((e|0)==6)return a|0;return 0}function Bc(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0;k=S;S=S+16|0;i=k;h=d+8|0;if(!(wc(a,c,h)|0)){j=0;S=k;return j|0}j=a+8|0;a:do if((b[j>>2]|0)>0){g=a+12|0;f=0;while(1){l=f;f=f+1|0;if(wc((b[g>>2]|0)+(l<<3)|0,c+(f<<5)|0,h)|0){f=0;break}if((f|0)>=(b[j>>2]|0))break a}S=k;return f|0}while(0);if(Cc(a,c,d,e)|0){l=0;S=k;return l|0}b[i>>2]=b[d>>2];b[i+4>>2]=h;f=b[j>>2]|0;b:do if((f|0)>0){a=a+12|0;h=0;g=f;while(1){f=b[a>>2]|0;if((b[f+(h<<3)>>2]|0)>0){if(wc(i,e,b[f+(h<<3)+4>>2]|0)|0){f=0;break b}f=h+1|0;if(Cc((b[a>>2]|0)+(h<<3)|0,c+(f<<5)|0,d,e)|0){f=0;break b}g=b[j>>2]|0}else f=h+1|0;if((f|0)<(g|0))h=f;else{f=1;break}}}else f=1;while(0);l=f;S=k;return l|0}function Cc(a,c,d,f){a=a|0;c=c|0;d=d|0;f=f|0;var g=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,v=0,w=0.0,x=0.0,y=0,z=0,A=0;y=S;S=S+176|0;u=y+172|0;g=y+168|0;v=y;if(!(Ga(c,f)|0)){a=0;S=y;return a|0}Ha(c,f,u,g);zd(v|0,d|0,168)|0;if((b[d>>2]|0)>0){c=0;do{z=v+8+(c<<4)+8|0;t=+Vb(+e[z>>3],b[g>>2]|0);e[z>>3]=t;c=c+1|0}while((c|0)<(b[d>>2]|0))}r=+e[f>>3];s=+e[f+8>>3];t=+Vb(+e[f+16>>3],b[g>>2]|0);p=+Vb(+e[f+24>>3],b[g>>2]|0);a:do if((b[a>>2]|0)>0){f=a+4|0;g=b[v>>2]|0;if((g|0)<=0){c=0;while(1){c=c+1|0;if((c|0)>=(b[a>>2]|0)){c=0;break a}}}d=0;while(1){c=b[f>>2]|0;o=+e[c+(d<<4)>>3];q=+Vb(+e[c+(d<<4)+8>>3],b[u>>2]|0);c=b[f>>2]|0;d=d+1|0;z=(d|0)%(b[a>>2]|0)|0;h=+e[c+(z<<4)>>3];i=+Vb(+e[c+(z<<4)+8>>3],b[u>>2]|0);if(((!(o>=r)|!(h>=r)?!(o<=s)|!(h<=s):0)?!(q<=p)|!(i<=p):0)?!(q>=t)|!(i>=t):0){n=h-o;l=i-q;c=0;do{A=c;c=c+1|0;z=(c|0)==(g|0)?0:c;h=+e[v+8+(A<<4)+8>>3];i=+e[v+8+(z<<4)+8>>3]-h;j=+e[v+8+(A<<4)>>3];k=+e[v+8+(z<<4)>>3]-j;m=n*i-l*k;if((m!=0.0?(w=q-h,x=o-j,k=(w*k-i*x)/m,!(k<0.0|k>1.0)):0)?(m=(n*w-l*x)/m,m>=0.0&m<=1.0):0){c=1;break a}}while((c|0)<(g|0))}if((d|0)>=(b[a>>2]|0)){c=0;break}}}else c=0;while(0);A=c;S=y;return A|0}function Dc(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0;if(Cc(a,c,d,e)|0){g=1;return g|0}g=a+8|0;if((b[g>>2]|0)<=0){g=0;return g|0}f=a+12|0;a=0;while(1){h=a;a=a+1|0;if(Cc((b[f>>2]|0)+(h<<3)|0,c+(a<<5)|0,d,e)|0){a=1;f=6;break}if((a|0)>=(b[g>>2]|0)){a=0;f=6;break}}if((f|0)==6)return a|0;return 0}function Ec(){return 8}function Fc(){return 16}function Gc(){return 168}function Hc(){return 8}function Ic(){return 16}function Jc(){return 12}function Kc(){return 8}function Lc(a){a=a|0;return +(+((b[a>>2]|0)>>>0)+4294967296.0*+(b[a+4>>2]|0))}function Mc(a){a=a|0;var b=0.0,c=0.0;c=+e[a>>3];b=+e[a+8>>3];return +(+r(+(c*c+b*b)))}function Nc(a,b,c,d,f){a=a|0;b=b|0;c=c|0;d=d|0;f=f|0;var g=0.0,h=0.0,i=0.0,j=0.0,k=0.0,l=0.0,m=0.0,n=0.0;k=+e[a>>3];j=+e[b>>3]-k;i=+e[a+8>>3];h=+e[b+8>>3]-i;m=+e[c>>3];g=+e[d>>3]-m;n=+e[c+8>>3];l=+e[d+8>>3]-n;g=(g*(i-n)-(k-m)*l)/(j*l-h*g);e[f>>3]=k+j*g;e[f+8>>3]=i+h*g;return}function Oc(a,b){a=a|0;b=b|0;if(!(+q(+(+e[a>>3]-+e[b>>3]))<1.1920928955078125e-07)){b=0;return b|0}b=+q(+(+e[a+8>>3]-+e[b+8>>3]))<1.1920928955078125e-07;return b|0}function Pc(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,f=0,g=0;g=S;S=S+16|0;f=g;e=rb(a,c)|0;if((d+-1|0)>>>0>5){f=-1;S=g;return f|0}e=(e|0)!=0;if((d|0)==1&e){f=-1;S=g;return f|0}do if(!(Qc(a,c,f)|0))if(e){e=((b[26416+(d<<2)>>2]|0)+5-(b[f>>2]|0)|0)%5|0;break}else{e=((b[26448+(d<<2)>>2]|0)+6-(b[f>>2]|0)|0)%6|0;break}else e=-1;while(0);f=e;S=g;return f|0}function Qc(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;l=S;S=S+32|0;i=l+16|0;j=l;e=Ib(a,c,i)|0;if(e|0){d=e;S=l;return d|0}g=jb(a,c)|0;k=zb(a,c)|0;va(g,j);e=wa(g,b[i>>2]|0)|0;do if(ra(g)|0){do switch(g|0){case 4:{f=0;break}case 14:{f=1;break}case 24:{f=2;break}case 38:{f=3;break}case 49:{f=4;break}case 58:{f=5;break}case 63:{f=6;break}case 72:{f=7;break}case 83:{f=8;break}case 97:{f=9;break}case 107:{f=10;break}case 117:{f=11;break}default:H(27634,27636,75,27645)}while(0);h=b[26480+(f*24|0)+8>>2]|0;c=b[26480+(f*24|0)+16>>2]|0;a=b[i>>2]|0;if((a|0)!=(b[j>>2]|0)){j=sa(g)|0;a=b[i>>2]|0;if(j|(a|0)==(c|0))e=(e+1|0)%6|0}if((k|0)==3&(a|0)==(c|0)){e=(e+5|0)%6|0;break}if((k|0)==5&(a|0)==(h|0))e=(e+1|0)%6|0}while(0);b[d>>2]=e;d=0;S=l;return d|0}function Rc(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;u=S;S=S+32|0;t=u+24|0;r=u+20|0;p=u+8|0;o=u+16|0;n=u;j=(rb(a,c)|0)==0;j=j?6:5;l=td(a|0,c|0,52)|0;G()|0;l=l&15;if(j>>>0<=d>>>0){e=2;S=u;return e|0}m=(l|0)==0;if(!m?(q=ud(7,0,(l^15)*3|0)|0,(q&a|0)==0&((G()|0)&c|0)==0):0)f=d;else g=4;a:do if((g|0)==4){f=(rb(a,c)|0)!=0;if(((f?4:5)|0)<(d|0)){e=1;S=u;return e|0}if(Qc(a,c,t)|0){e=1;S=u;return e|0}g=(b[t>>2]|0)+d|0;if(f)f=26768+(((g|0)%5|0)<<2)|0;else f=26800+(((g|0)%6|0)<<2)|0;q=b[f>>2]|0;if((q|0)==7){e=1;S=u;return e|0}b[r>>2]=0;f=ea(a,c,q,r,p)|0;do if(!f){i=p;k=b[i>>2]|0;i=b[i+4>>2]|0;h=i>>>0>>0|(i|0)==(c|0)&k>>>0>>0;g=h?k:a;h=h?i:c;if(!m?(m=ud(7,0,(l^15)*3|0)|0,(k&m|0)==0&(i&(G()|0)|0)==0):0)f=d;else{i=(d+-1+j|0)%(j|0)|0;f=rb(a,c)|0;if((i|0)<0)H(27634,27636,248,27661);j=(f|0)!=0;if(((j?4:5)|0)<(i|0))H(27634,27636,248,27661);if(Qc(a,c,t)|0)H(27634,27636,248,27661);f=(b[t>>2]|0)+i|0;if(j)f=26768+(((f|0)%5|0)<<2)|0;else f=26800+(((f|0)%6|0)<<2)|0;i=b[f>>2]|0;if((i|0)==7)H(27634,27636,248,27661);b[o>>2]=0;f=ea(a,c,i,o,n)|0;if(f|0)break;k=n;j=b[k>>2]|0;k=b[k+4>>2]|0;do if(k>>>0>>0|(k|0)==(h|0)&j>>>0>>0){if(!(rb(j,k)|0))g=b[26864+((((b[o>>2]|0)+(b[26832+(i<<2)>>2]|0)|0)%6|0)<<2)>>2]|0;else g=ia(j,k,a,c)|0;f=rb(j,k)|0;if((g+-1|0)>>>0>5){f=-1;g=j;h=k;break}f=(f|0)!=0;if((g|0)==1&f){f=-1;g=j;h=k;break}do if(!(Qc(j,k,t)|0))if(f){f=((b[26416+(g<<2)>>2]|0)+5-(b[t>>2]|0)|0)%5|0;break}else{f=((b[26448+(g<<2)>>2]|0)+6-(b[t>>2]|0)|0)%6|0;break}else f=-1;while(0);g=j;h=k}else f=d;while(0);i=p;k=b[i>>2]|0;i=b[i+4>>2]|0}if((g|0)==(k|0)&(h|0)==(i|0)){j=(rb(k,i)|0)!=0;if(j)a=ia(k,i,a,c)|0;else a=b[26864+((((b[r>>2]|0)+(b[26832+(q<<2)>>2]|0)|0)%6|0)<<2)>>2]|0;f=rb(k,i)|0;if((a+-1|0)>>>0<=5?(s=(f|0)!=0,!((a|0)==1&s)):0)do if(!(Qc(k,i,t)|0))if(s){f=((b[26416+(a<<2)>>2]|0)+5-(b[t>>2]|0)|0)%5|0;break}else{f=((b[26448+(a<<2)>>2]|0)+6-(b[t>>2]|0)|0)%6|0;break}else f=-1;while(0);else f=-1;f=f+1|0;f=(f|0)==6|j&(f|0)==5?0:f}c=h;a=g;break a}while(0);e=f;S=u;return e|0}while(0);s=ud(f|0,0,56)|0;t=G()|0|c&-2130706433|536870912;b[e>>2]=s|a;b[e+4>>2]=t;e=0;S=u;return e|0}function Sc(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,f=0,g=0;g=(rb(a,c)|0)==0;e=Rc(a,c,0,d)|0;f=(e|0)==0;if(g){if(!f){g=e;return g|0}e=Rc(a,c,1,d+8|0)|0;if(e|0){g=e;return g|0}e=Rc(a,c,2,d+16|0)|0;if(e|0){g=e;return g|0}e=Rc(a,c,3,d+24|0)|0;if(e|0){g=e;return g|0}e=Rc(a,c,4,d+32|0)|0;if(!e)return Rc(a,c,5,d+40|0)|0;else{g=e;return g|0}}if(!f){g=e;return g|0}e=Rc(a,c,1,d+8|0)|0;if(e|0){g=e;return g|0}e=Rc(a,c,2,d+16|0)|0;if(e|0){g=e;return g|0}e=Rc(a,c,3,d+24|0)|0;if(e|0){g=e;return g|0}e=Rc(a,c,4,d+32|0)|0;if(e|0){g=e;return g|0}g=d+40|0;b[g>>2]=0;b[g+4>>2]=0;g=0;return g|0}function Tc(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;j=S;S=S+192|0;f=j;g=j+168|0;h=td(a|0,c|0,56)|0;G()|0;h=h&7;i=c&-2130706433|134217728;e=Ib(a,i,g)|0;if(e|0){i=e;S=j;return i|0}c=td(a|0,c|0,52)|0;G()|0;c=c&15;if(!(rb(a,i)|0))gb(g,c,h,1,f);else cb(g,c,h,1,f);i=f+8|0;b[d>>2]=b[i>>2];b[d+4>>2]=b[i+4>>2];b[d+8>>2]=b[i+8>>2];b[d+12>>2]=b[i+12>>2];i=0;S=j;return i|0}function Uc(a,c){a=a|0;c=c|0;var d=0,e=0,f=0,g=0;f=S;S=S+16|0;d=f;if(!(0==0&(c&2013265920|0)==536870912)){e=0;S=f;return e|0}e=c&-2130706433|134217728;if(!(mb(a,e)|0)){e=0;S=f;return e|0}g=td(a|0,c|0,56)|0;G()|0;g=(Rc(a,e,g&7,d)|0)==0;e=d;e=g&((b[e>>2]|0)==(a|0)?(b[e+4>>2]|0)==(c|0):0)&1;S=f;return e|0}function Vc(){return 27680}function Wc(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;m=S;S=S+208|0;j=m;k=m+192|0;h=A(d,c)|0;i=k;b[i>>2]=1;b[i+4>>2]=0;a:do if(h|0){i=0-d|0;b[j+4>>2]=d;b[j>>2]=d;f=2;c=d;g=d;while(1){c=c+d+g|0;b[j+(f<<2)>>2]=c;if(c>>>0>>0){n=g;f=f+1|0;g=c;c=n}else break}g=a+h+i|0;if(g>>>0>a>>>0){h=g;f=1;c=1;do{do if((c&3|0)!=3){c=f+-1|0;if((b[j+(c<<2)>>2]|0)>>>0<(h-a|0)>>>0)Xc(a,d,e,f,j);else Zc(a,d,e,k,f,0,j);if((f|0)==1){_c(k,1);f=0;break}else{_c(k,c);f=1;break}}else{Xc(a,d,e,f,j);Yc(k,2);f=f+2|0}while(0);c=b[k>>2]|1;b[k>>2]=c;a=a+d|0}while(a>>>0>>0)}else{f=1;c=1}Zc(a,d,e,k,f,0,j);g=k+4|0;while(1){if((f|0)==1&(c|0)==1)if(!(b[g>>2]|0))break a;else l=19;else if((f|0)<2)l=19;else{_c(k,2);n=f+-2|0;b[k>>2]=b[k>>2]^7;Yc(k,1);Zc(a+(0-(b[j+(n<<2)>>2]|0))+i|0,d,e,k,f+-1|0,1,j);_c(k,1);c=b[k>>2]|1;b[k>>2]=c;a=a+i|0;Zc(a,d,e,k,n,1,j);f=n}if((l|0)==19){l=0;c=$c(k)|0;Yc(k,c);a=a+i|0;f=c+f|0;c=b[k>>2]|0}}}while(0);S=m;return}function Xc(a,c,d,e,f){a=a|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0;m=S;S=S+240|0;l=m;b[l>>2]=a;a:do if((e|0)>1){k=0-c|0;i=a;g=e;e=1;h=a;while(1){i=i+k|0;j=g+-2|0;a=i+(0-(b[f+(j<<2)>>2]|0))|0;if((W[d&3](h,a)|0)>-1?(W[d&3](h,i)|0)>-1:0)break a;h=l+(e<<2)|0;if((W[d&3](a,i)|0)>-1){b[h>>2]=a;g=g+-1|0}else{b[h>>2]=i;a=i;g=j}e=e+1|0;if((g|0)<=1)break a;i=a;h=b[l>>2]|0}}else e=1;while(0);bd(c,l,e);S=m;return}function Yc(a,c){a=a|0;c=c|0;var d=0,e=0,f=0;f=a+4|0;if(c>>>0>31){e=b[f>>2]|0;b[a>>2]=e;b[f>>2]=0;c=c+-32|0;d=0}else{d=b[f>>2]|0;e=b[a>>2]|0}b[a>>2]=d<<32-c|e>>>c;b[f>>2]=d>>>c;return}function Zc(a,c,d,e,f,g,h){a=a|0;c=c|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,m=0,n=0,o=0,p=0;o=S;S=S+240|0;m=o+232|0;n=o;p=b[e>>2]|0;b[m>>2]=p;j=b[e+4>>2]|0;k=m+4|0;b[k>>2]=j;b[n>>2]=a;a:do if((p|0)!=1|(j|0)!=0?(l=0-c|0,i=a+(0-(b[h+(f<<2)>>2]|0))|0,(W[d&3](i,a)|0)>=1):0){e=1;g=(g|0)==0;j=i;while(1){if(g&(f|0)>1){g=a+l|0;i=b[h+(f+-2<<2)>>2]|0;if((W[d&3](g,j)|0)>-1){i=10;break a}if((W[d&3](g+(0-i)|0,j)|0)>-1){i=10;break a}}g=e+1|0;b[n+(e<<2)>>2]=j;p=$c(m)|0;Yc(m,p);f=p+f|0;if(!((b[m>>2]|0)!=1|(b[k>>2]|0)!=0)){e=g;a=j;i=10;break a}a=j+(0-(b[h+(f<<2)>>2]|0))|0;if((W[d&3](a,b[n>>2]|0)|0)<1){a=j;e=g;g=0;i=9;break}else{p=j;e=g;g=1;j=a;a=p}}}else{e=1;i=9}while(0);if((i|0)==9?(g|0)==0:0)i=10;if((i|0)==10){bd(c,n,e);Xc(a,c,d,f,h)}S=o;return}function _c(a,c){a=a|0;c=c|0;var d=0,e=0,f=0;f=a+4|0;if(c>>>0>31){e=b[a>>2]|0;b[f>>2]=e;b[a>>2]=0;c=c+-32|0;d=0}else{d=b[a>>2]|0;e=b[f>>2]|0}b[f>>2]=d>>>(32-c|0)|e<>2]=d<